Version Description
- New Feature: (Tracking) Ability to add tracking number on orders list
Download this release
Release Info
Developer | aftership |
Plugin | AfterShip – WooCommerce Tracking |
Version | 1.15.0 |
Comparing to | |
See all releases |
Code changes from version 1.14.8 to 1.15.0
- .huskyrc +5 -0
- aftership-woocommerce-tracking.php +15 -2
- assets/css/admin.css +39 -0
- assets/{meta-box → frontend}/.gitignore +1 -1
- assets/{meta-box → frontend}/.prettierrc.json +0 -0
- assets/{meta-box → frontend}/README.md +0 -0
- assets/frontend/dist/metabox/index.js +1 -0
- assets/frontend/dist/metabox/style.css +1 -0
- assets/frontend/dist/orders/index.js +1 -0
- assets/frontend/dist/orders/style.css +1 -0
- assets/{meta-box → frontend}/index.html +0 -0
- assets/{meta-box → frontend}/inject.js +0 -0
- assets/{meta-box → frontend}/package.json +4 -2
- assets/{meta-box → frontend}/plugins/hotReloadShadowDomCss.js +0 -0
- assets/{meta-box → frontend}/src/components/Button/Button.module.scss +0 -0
- assets/{meta-box → frontend}/src/components/Button/Button.tsx +0 -0
- assets/{meta-box → frontend}/src/components/Button/index.ts +0 -0
- assets/{meta-box → frontend}/src/components/EditTrackingModal/EditTrackingModal.module.scss +0 -0
- assets/{meta-box → frontend}/src/components/EditTrackingModal/EditTrackingModal.tsx +8 -2
- assets/{meta-box → frontend}/src/components/EditTrackingModal/index.ts +0 -0
- assets/{meta-box → frontend}/src/components/Modal/Modal.module.scss +0 -0
- assets/{meta-box → frontend}/src/components/Modal/Modal.tsx +0 -0
- assets/{meta-box → frontend}/src/components/Modal/index.ts +0 -0
- assets/{meta-box → frontend}/src/components/Modal/x.svg +0 -0
- assets/{meta-box → frontend}/src/components/NumberInput/NumberInput.module.scss +0 -0
- assets/{meta-box → frontend}/src/components/NumberInput/NumberInput.tsx +0 -0
- assets/{meta-box → frontend}/src/components/NumberInput/images/caret-down-fill.svg +0 -0
- assets/{meta-box → frontend}/src/components/NumberInput/images/caret-up-fill.svg +0 -0
- assets/{meta-box → frontend}/src/components/NumberInput/index.ts +0 -0
- assets/{meta-box → frontend}/src/components/Spinner/Spinner.module.scss +0 -0
- assets/{meta-box → frontend}/src/components/Spinner/Spinner.tsx +0 -0
- assets/{meta-box → frontend}/src/components/Spinner/index.ts +0 -0
- assets/{meta-box/src/index.scss → frontend/src/global.scss} +0 -0
- assets/{meta-box/src/index.tsx → frontend/src/metabox.tsx} +4 -5
- assets/frontend/src/orders.tsx +28 -0
- assets/{meta-box/src/App.module.scss → frontend/src/pages/Metabox/Metabox.module.scss} +35 -10
- assets/frontend/src/pages/Metabox/Metabox.tsx +145 -0
- assets/frontend/src/pages/Metabox/index.ts +1 -0
- assets/frontend/src/pages/Orders/Orders.module.scss +0 -0
- assets/frontend/src/pages/Orders/Orders.tsx +101 -0
- assets/frontend/src/pages/Orders/index.ts +1 -0
- assets/{meta-box/src/storages/metaBox.ts → frontend/src/storages/tracking.ts} +17 -15
- assets/{meta-box → frontend}/src/typings/global.d.ts +0 -0
- assets/{meta-box → frontend}/src/typings/trackings.ts +0 -0
- assets/{meta-box → frontend}/src/utils/common.ts +1 -1
- assets/{meta-box → frontend}/tsconfig.json +0 -0
- assets/{meta-box/vite.config.ts → frontend/vite.config.metabox.ts} +4 -6
- assets/frontend/vite.config.orders.ts +23 -0
- assets/{meta-box → frontend}/yarn.lock +6 -6
- assets/images/truck-fast.svg +4 -0
- assets/js/order-status.js +40 -0
- assets/js/order-status.json +37 -0
- assets/js/setting.js +33 -0
- assets/meta-box/dist/index.js +0 -1
- assets/meta-box/dist/style.css +0 -1
- assets/meta-box/src/App.tsx +0 -108
- includes/api/aftership/v1/class-am-rest-settings-controller.php +7 -0
- includes/api/v4/class-aftership-api-settings.php +7 -0
- includes/class-aftership-actions.php +150 -1
- includes/class-aftership-settings.php +42 -0
- readme.txt +4 -1
.huskyrc
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"hooks": {
|
3 |
+
"pre-commit": "./vendor/bin/phpcbf ./"
|
4 |
+
}
|
5 |
+
}
|
aftership-woocommerce-tracking.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: AfterShip Tracking - All-In-One WooCommerce Order Tracking (Free plan available)
|
4 |
* Plugin URI: http://aftership.com/
|
5 |
* Description: Track orders in one place. shipment tracking, automated notifications, order lookup, branded tracking page, delivery day prediction
|
6 |
-
* Version: 1.
|
7 |
* Author: AfterShip
|
8 |
* Author URI: http://aftership.com
|
9 |
*
|
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
20 |
|
21 |
require_once( 'woo-includes/woo-functions.php' );
|
22 |
|
23 |
-
define( 'AFTERSHIP_VERSION', '1.
|
24 |
define( 'AFTERSHIP_PATH', dirname( __FILE__ ) );
|
25 |
define( 'AFTERSHIP_ASSETS_URL', plugins_url() . '/' . basename( AFTERSHIP_PATH ) );
|
26 |
|
@@ -134,6 +134,7 @@ if ( is_woocommerce_active() ) {
|
|
134 |
}
|
135 |
|
136 |
add_action( 'admin_print_styles', array( $this->actions, 'admin_styles' ) );
|
|
|
137 |
add_action( 'admin_enqueue_scripts', array( $this, 'automizely_aftership_add_admin_css' ) );
|
138 |
// Remove other plugins notice message for setting and landing page
|
139 |
add_action( 'admin_enqueue_scripts', array( $this, 'as_admin_remove_notice_style' ) );
|
@@ -166,6 +167,12 @@ if ( is_woocommerce_active() ) {
|
|
166 |
add_action( 'wp_ajax_aftership_get_order_trackings', array( $this->actions, 'get_order_detail' ) );
|
167 |
add_action( 'wp_ajax_aftership_get_settings', array( $this->actions, 'get_settings' ) );
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
$subs_version = class_exists( 'WC_Subscriptions' ) && ! empty( WC_Subscriptions::$version ) ? WC_Subscriptions::$version : null;
|
170 |
|
171 |
// Prevent data being copied to subscriptions.
|
@@ -236,6 +243,9 @@ if ( is_woocommerce_active() ) {
|
|
236 |
delete_option( 'automizely_aftership_plugin_actived' );
|
237 |
exit( wp_redirect( 'admin.php?page=automizely-aftership-index' ) );
|
238 |
}
|
|
|
|
|
|
|
239 |
}
|
240 |
|
241 |
/**
|
@@ -335,6 +345,9 @@ if ( is_woocommerce_active() ) {
|
|
335 |
}
|
336 |
|
337 |
add_option( 'automizely_aftership_plugin_actived', true );
|
|
|
|
|
|
|
338 |
}
|
339 |
|
340 |
|
3 |
* Plugin Name: AfterShip Tracking - All-In-One WooCommerce Order Tracking (Free plan available)
|
4 |
* Plugin URI: http://aftership.com/
|
5 |
* Description: Track orders in one place. shipment tracking, automated notifications, order lookup, branded tracking page, delivery day prediction
|
6 |
+
* Version: 1.15.0
|
7 |
* Author: AfterShip
|
8 |
* Author URI: http://aftership.com
|
9 |
*
|
20 |
|
21 |
require_once( 'woo-includes/woo-functions.php' );
|
22 |
|
23 |
+
define( 'AFTERSHIP_VERSION', '1.15.0' );
|
24 |
define( 'AFTERSHIP_PATH', dirname( __FILE__ ) );
|
25 |
define( 'AFTERSHIP_ASSETS_URL', plugins_url() . '/' . basename( AFTERSHIP_PATH ) );
|
26 |
|
134 |
}
|
135 |
|
136 |
add_action( 'admin_print_styles', array( $this->actions, 'admin_styles' ) );
|
137 |
+
add_action( 'admin_enqueue_scripts', array( $this->actions, 'load_orders_page_script' ) );
|
138 |
add_action( 'admin_enqueue_scripts', array( $this, 'automizely_aftership_add_admin_css' ) );
|
139 |
// Remove other plugins notice message for setting and landing page
|
140 |
add_action( 'admin_enqueue_scripts', array( $this, 'as_admin_remove_notice_style' ) );
|
167 |
add_action( 'wp_ajax_aftership_get_order_trackings', array( $this->actions, 'get_order_detail' ) );
|
168 |
add_action( 'wp_ajax_aftership_get_settings', array( $this->actions, 'get_settings' ) );
|
169 |
|
170 |
+
// Register Add Tracking Action for AfterShip
|
171 |
+
add_filter( 'woocommerce_admin_order_actions', array( $this->actions, 'add_aftership_tracking_actions_button' ), 100, 2 );
|
172 |
+
// Custom AfterShip Tracking column in admin orders list.
|
173 |
+
add_filter( 'manage_shop_order_posts_columns', array( $this->actions, 'shop_order_columns' ), 99 );
|
174 |
+
add_action( 'manage_shop_order_posts_custom_column', array( $this->actions, 'render_shop_order_columns' ) );
|
175 |
+
|
176 |
$subs_version = class_exists( 'WC_Subscriptions' ) && ! empty( WC_Subscriptions::$version ) ? WC_Subscriptions::$version : null;
|
177 |
|
178 |
// Prevent data being copied to subscriptions.
|
243 |
delete_option( 'automizely_aftership_plugin_actived' );
|
244 |
exit( wp_redirect( 'admin.php?page=automizely-aftership-index' ) );
|
245 |
}
|
246 |
+
|
247 |
+
// Set default value for show_orders_actions when upgrade aftership plugin
|
248 |
+
call_user_func( array( 'AfterShip_Actions', 'init_aftership_show_orders_actions' ) );
|
249 |
}
|
250 |
|
251 |
/**
|
345 |
}
|
346 |
|
347 |
add_option( 'automizely_aftership_plugin_actived', true );
|
348 |
+
|
349 |
+
// Set default value for show_orders_actions when active aftership plugin
|
350 |
+
call_user_func( array( 'AfterShip_Actions', 'init_aftership_show_orders_actions' ) );
|
351 |
}
|
352 |
|
353 |
|
assets/css/admin.css
CHANGED
@@ -124,3 +124,42 @@
|
|
124 |
#woocommerce-aftership .tracking-item-content:first-child {
|
125 |
margin-bottom: 4px;
|
126 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
#woocommerce-aftership .tracking-item-content:first-child {
|
125 |
margin-bottom: 4px;
|
126 |
}
|
127 |
+
.widefat .column-wc_actions a.aftership_add_inline_tracking.button::after {
|
128 |
+
content: ' ';
|
129 |
+
background-position: center;
|
130 |
+
background-repeat: no-repeat;
|
131 |
+
margin: 0;
|
132 |
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCA2NDAgNTEyIj48cGF0aCBmaWxsPSIjMjI3MWIxIiBkPSJNMTEyIDBDODUuNDkgMCA2NCAyMS40OSA2NCA0OFY5NkgxNkM3LjE2MyA5NiAwIDEwMy4yIDAgMTEyQzAgMTIwLjggNy4xNjMgMTI4IDE2IDEyOEgyNzJDMjgwLjggMTI4IDI4OCAxMzUuMiAyODggMTQ0QzI4OCAxNTIuOCAyODAuOCAxNjAgMjcyIDE2MEg0OEMzOS4xNiAxNjAgMzIgMTY3LjIgMzIgMTc2QzMyIDE4NC44IDM5LjE2IDE5MiA0OCAxOTJIMjQwQzI0OC44IDE5MiAyNTYgMTk5LjIgMjU2IDIwOEMyNTYgMjE2LjggMjQ4LjggMjI0IDI0MCAyMjRIMTZDNy4xNjMgMjI0IDAgMjMxLjIgMCAyNDBDMCAyNDguOCA3LjE2MyAyNTYgMTYgMjU2SDIwOEMyMTYuOCAyNTYgMjI0IDI2My4yIDIyNCAyNzJDMjI0IDI4MC44IDIxNi44IDI4OCAyMDggMjg4SDY0VjQxNkM2NCA0NjkgMTA2LjEgNTEyIDE2MCA1MTJDMjEzIDUxMiAyNTYgNDY5IDI1NiA0MTZIMzg0QzM4NCA0NjkgNDI2LjEgNTEyIDQ4MCA1MTJDNTMzIDUxMiA1NzYgNDY5IDU3NiA0MTZINjA4QzYyNS43IDQxNiA2NDAgNDAxLjcgNjQwIDM4NEM2NDAgMzY2LjMgNjI1LjcgMzUyIDYwOCAzNTJWMjM3LjNDNjA4IDIyMC4zIDYwMS4zIDIwNCA1ODkuMyAxOTJMNTEyIDExNC43QzQ5OS4xIDEwMi43IDQ4My43IDk2IDQ2Ni43IDk2SDQxNlY0OEM0MTYgMjEuNDkgMzk0LjUgMCAzNjggMEgxMTJ6TTU0NCAyMzcuM1YyNTZINDE2VjE2MEg0NjYuN0w1NDQgMjM3LjN6TTE2MCA0NjRDMTMzLjUgNDY0IDExMiA0NDIuNSAxMTIgNDE2QzExMiAzODkuNSAxMzMuNSAzNjggMTYwIDM2OEMxODYuNSAzNjggMjA4IDM4OS41IDIwOCA0MTZDMjA4IDQ0Mi41IDE4Ni41IDQ2NCAxNjAgNDY0ek01MjggNDE2QzUyOCA0NDIuNSA1MDYuNSA0NjQgNDgwIDQ2NEM0NTMuNSA0NjQgNDMyIDQ0Mi41IDQzMiA0MTZDNDMyIDM4OS41IDQ1My41IDM2OCA0ODAgMzY4QzUwNi41IDM2OCA1MjggMzg5LjUgNTI4IDQxNnoiLz48L3N2Zz4K');
|
133 |
+
}
|
134 |
+
.wcas-tracking-number-list li {
|
135 |
+
position: relative;
|
136 |
+
padding: 5px;
|
137 |
+
min-height: 50px;
|
138 |
+
box-sizing: border-box;
|
139 |
+
margin-bottom: 0;
|
140 |
+
}
|
141 |
+
.wcas-tracking-number-list li a:nth-child(2) {
|
142 |
+
display: block;
|
143 |
+
white-space: nowrap;
|
144 |
+
overflow: hidden;
|
145 |
+
text-overflow: ellipsis;
|
146 |
+
}
|
147 |
+
a.aftership_inline_tracking_delete{
|
148 |
+
display:none;
|
149 |
+
position: absolute;
|
150 |
+
top: 5px;
|
151 |
+
right: 5px;
|
152 |
+
font-size: 11px;
|
153 |
+
color: #a00;
|
154 |
+
}
|
155 |
+
a.aftership_inline_tracking_delete span.dashicons{
|
156 |
+
width: 16px;
|
157 |
+
height: 16px;
|
158 |
+
font-size: 16px;
|
159 |
+
}
|
160 |
+
.wcas-tracking-number-list li:hover a.aftership_inline_tracking_delete{
|
161 |
+
display:block;
|
162 |
+
}
|
163 |
+
ul.wcas-tracking-number-list {
|
164 |
+
margin: 0;
|
165 |
+
}
|
assets/{meta-box → frontend}/.gitignore
RENAMED
@@ -1,4 +1,4 @@
|
|
1 |
!package.json
|
2 |
!yarn.lock
|
3 |
node_modules
|
4 |
-
# dist
|
1 |
!package.json
|
2 |
!yarn.lock
|
3 |
node_modules
|
4 |
+
# dist/
|
assets/{meta-box → frontend}/.prettierrc.json
RENAMED
File without changes
|
assets/{meta-box → frontend}/README.md
RENAMED
File without changes
|
assets/frontend/dist/metabox/index.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
var jr=Object.defineProperty,Tr=Object.defineProperties;var Or=Object.getOwnPropertyDescriptors;var At=Object.getOwnPropertySymbols;var Mr=Object.prototype.hasOwnProperty,Er=Object.prototype.propertyIsEnumerable;var We=(Y,R,D)=>R in Y?jr(Y,R,{enumerable:!0,configurable:!0,writable:!0,value:D}):Y[R]=D,z=(Y,R)=>{for(var D in R||(R={}))Mr.call(R,D)&&We(Y,D,R[D]);if(At)for(var D of At(R))Er.call(R,D)&&We(Y,D,R[D]);return Y},H=(Y,R)=>Tr(Y,Or(R));var It=(Y,R,D)=>(We(Y,typeof R!="symbol"?R+"":R,D),D);var ie=(Y,R,D)=>new Promise(($e,X)=>{var K=M=>{try{ae(D.next(M))}catch(J){X(J)}},ue=M=>{try{ae(D.throw(M))}catch(J){X(J)}},ae=M=>M.done?$e(M.value):Promise.resolve(M.value).then(K,ue);ae((D=D.apply(Y,R)).next())});(function(){"use strict";const Y=(e,n)=>e===n,R=Symbol("solid-proxy"),D={equals:Y};let $e=Je;const X={},K=1,ue=2,ae={owned:null,cleanups:null,context:null,owner:null};var M=null;let J=null,P=null,fe=null,Z=null,ee=null,Te=0;function pe(e,n){n&&(M=n);const t=P,i=M,s=e.length===0?ae:{owned:null,cleanups:null,context:null,owner:i};M=s,P=null;let o;try{De(()=>o=e(()=>Le(s)),!0)}finally{P=t,M=i}return o}function te(e,n){n=n?Object.assign({},D,n):D;const t={value:e,observers:null,observerSlots:null,pending:X,comparator:n.equals||void 0};return[Qe.bind(t),i=>(typeof i=="function"&&(J&&J.running&&J.sources.has(t)?i=i(t.pending!==X?t.pending:t.tValue):i=i(t.pending!==X?t.pending:t.value)),Me(t,i))]}function G(e,n,t){const i=Ee(e,n,!1,K);we(i)}function Oe(e,n,t){$e=Ft;const i=Ee(e,n,!1,K);i.user=!0,ee&&ee.push(i)}function W(e,n,t){t=t?Object.assign({},D,t):D;const i=Ee(e,n,!0,0);return i.pending=X,i.observers=null,i.observerSlots=null,i.comparator=t.equals||void 0,we(i),Qe.bind(i)}function jt(e){if(fe)return e();let n;const t=fe=[];try{n=e()}finally{fe=null}return De(()=>{for(let i=0;i<t.length;i+=1){const s=t[i];if(s.pending!==X){const o=s.pending;s.pending=X,Me(s,o)}}},!1),n}function le(e){let n,t=P;return P=null,n=e(),P=t,n}function Tt(e){Oe(()=>le(e))}function Ot(e){return M===null||(M.cleanups===null?M.cleanups=[e]:M.cleanups.push(e)),e}function Mt(e){const n=W(e);return W(()=>Be(n()))}function Qe(){const e=J;if(this.sources&&(this.state||e)){const n=Z;Z=null,this.state===K||e?we(this):Fe(this),Z=n}if(P){const n=this.observers?this.observers.length:0;P.sources?(P.sources.push(this),P.sourceSlots.push(n)):(P.sources=[this],P.sourceSlots=[n]),this.observers?(this.observers.push(P),this.observerSlots.push(P.sources.length-1)):(this.observers=[P],this.observerSlots=[P.sources.length-1])}return this.value}function Me(e,n,t){if(e.comparator&&e.comparator(e.value,n))return n;if(fe)return e.pending===X&&fe.push(e),e.pending=n,n;let i=!1;return e.value=n,e.observers&&e.observers.length&&De(()=>{for(let s=0;s<e.observers.length;s+=1){const o=e.observers[s];i&&J.disposed.has(o),o.pure?Z.push(o):ee.push(o),o.observers&&(i&&!o.tState||!i&&!o.state)&&Xe(o),i||(o.state=K)}if(Z.length>1e6)throw Z=[],new Error},!1),n}function we(e){if(!e.fn)return;Le(e);const n=M,t=P,i=Te;P=M=e,Et(e,e.value,i),P=t,M=n}function Et(e,n,t){let i;try{i=e.fn(n)}catch(s){Ke(s)}(!e.updatedAt||e.updatedAt<=t)&&(e.observers&&e.observers.length?Me(e,i):e.value=i,e.updatedAt=t)}function Ee(e,n,t,i=K,s){const o={fn:e,state:i,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:n,owner:M,context:null,pure:t};return M===null||M!==ae&&(M.owned?M.owned.push(o):M.owned=[o]),o}function de(e){const n=J;if(e.state!==K)return e.state=0;if(e.suspense&&le(e.suspense.inFallback))return e.suspense.effects.push(e);const t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<Te);)(e.state||n)&&t.push(e);for(let i=t.length-1;i>=0;i--)if(e=t[i],e.state===K||n)we(e);else if(e.state===ue||n){const s=Z;Z=null,Fe(e),Z=s}}function De(e,n){if(Z)return e();let t=!1;n||(Z=[]),ee?t=!0:ee=[],Te++;try{e()}catch(i){Ke(i)}finally{Dt(t)}}function Dt(e){Z&&(Je(Z),Z=null),!e&&(ee.length?jt(()=>{$e(ee),ee=null}):ee=null)}function Je(e){for(let n=0;n<e.length;n++)de(e[n])}function Ft(e){let n,t=0;for(n=0;n<e.length;n++){const s=e[n];s.user?e[t++]=s:de(s)}const i=e.length;for(n=0;n<t;n++)de(e[n]);for(n=i;n<e.length;n++)de(e[n])}function Fe(e){e.state=0;const n=J;for(let t=0;t<e.sources.length;t+=1){const i=e.sources[t];i.sources&&(i.state===K||n?de(i):(i.state===ue||n)&&Fe(i))}}function Xe(e){const n=J;for(let t=0;t<e.observers.length;t+=1){const i=e.observers[t];(!i.state||n)&&(i.state=ue,i.pure?Z.push(i):ee.push(i),i.observers&&Xe(i))}}function Le(e){let n;if(e.sources)for(;e.sources.length;){const t=e.sources.pop(),i=e.sourceSlots.pop(),s=t.observers;if(s&&s.length){const o=s.pop(),m=t.observerSlots.pop();i<s.length&&(o.sourceSlots[m]=i,s[i]=o,t.observerSlots[i]=m)}}if(e.owned){for(n=0;n<e.owned.length;n++)Le(e.owned[n]);e.owned=null}if(e.cleanups){for(n=0;n<e.cleanups.length;n++)e.cleanups[n]();e.cleanups=null}e.state=0,e.context=null}function Ke(e){throw e}function Be(e){if(typeof e=="function"&&!e.length)return Be(e());if(Array.isArray(e)){const n=[];for(let t=0;t<e.length;t++){const i=Be(e[t]);Array.isArray(i)?n.push.apply(n,i):n.push(i)}return n}return e}const Lt=Symbol("fallback");function et(e){for(let n=0;n<e.length;n++)e[n]()}function Bt(e,n,t={}){let i=[],s=[],o=[],m=0,d=n.length>1?[]:null;return Ot(()=>et(o)),()=>{let w=e()||[],f,u;return le(()=>{let S=w.length,N,I,_,h,k,r,a,l,c;if(S===0)m!==0&&(et(o),o=[],i=[],s=[],m=0,d&&(d=[])),t.fallback&&(i=[Lt],s[0]=pe(g=>(o[0]=g,t.fallback())),m=1);else if(m===0){for(s=new Array(S),u=0;u<S;u++)i[u]=w[u],s[u]=pe(p);m=S}else{for(_=new Array(S),h=new Array(S),d&&(k=new Array(S)),r=0,a=Math.min(m,S);r<a&&i[r]===w[r];r++);for(a=m-1,l=S-1;a>=r&&l>=r&&i[a]===w[l];a--,l--)_[l]=s[a],h[l]=o[a],d&&(k[l]=d[a]);for(N=new Map,I=new Array(l+1),u=l;u>=r;u--)c=w[u],f=N.get(c),I[u]=f===void 0?-1:f,N.set(c,u);for(f=r;f<=a;f++)c=i[f],u=N.get(c),u!==void 0&&u!==-1?(_[u]=s[f],h[u]=o[f],d&&(k[u]=d[f]),u=I[u],N.set(c,u)):o[f]();for(u=r;u<S;u++)u in _?(s[u]=_[u],o[u]=h[u],d&&(d[u]=k[u],d[u](u))):s[u]=pe(p);s=s.slice(0,m=S),i=w.slice(0)}return s});function p(S){if(o[u]=S,d){const[N,I]=te(u);return d[u]=I,n(w[u],N)}return n(w[u])}}}function V(e,n){return le(()=>e(n))}function Se(){return!0}const Rt={get(e,n,t){return n===R?t:e.get(n)},has(e,n){return e.has(n)},set:Se,deleteProperty:Se,getOwnPropertyDescriptor(e,n){return{configurable:!0,enumerable:!0,get(){return e.get(n)},set:Se,deleteProperty:Se}},ownKeys(e){return e.keys()}};function Re(e){return typeof e=="function"?e():e}function Pt(...e){return new Proxy({get(n){for(let t=e.length-1;t>=0;t--){const i=Re(e[t])[n];if(i!==void 0)return i}},has(n){for(let t=e.length-1;t>=0;t--)if(n in Re(e[t]))return!0;return!1},keys(){const n=[];for(let t=0;t<e.length;t++)n.push(...Object.keys(Re(e[t])));return[...new Set(n)]}},Rt)}function ge(e){const n="fallback"in e&&{fallback:()=>e.fallback};return W(Bt(()=>e.each,e.children,n||void 0))}function Pe(e){let n=!1;const t=W(()=>e.when,void 0,{equals:(i,s)=>n?i===s:!i==!s});return W(()=>{const i=t();if(i){const s=e.children;return(n=typeof s=="function"&&s.length>0)?le(()=>s(i)):s}return e.fallback})}function Ut(e){let n=!1;const t=Mt(()=>e.children),i=W(()=>{let s=t();Array.isArray(s)||(s=[s]);for(let o=0;o<s.length;o++){const m=s[o].when;if(m)return[o,m,s[o]]}return[-1]},void 0,{equals:(s,o)=>s&&s[0]===o[0]&&(n?s[1]===o[1]:!s[1]==!o[1])&&s[2]===o[2]});return W(()=>{const[s,o,m]=i();if(s<0)return e.fallback;const d=m.children;return(n=typeof d=="function"&&d.length>0)?le(()=>d(o)):d})}function qt(e){return e}function tt(e,n,t){let i=t.length,s=n.length,o=i,m=0,d=0,w=n[s-1].nextSibling,f=null;for(;m<s||d<o;){if(n[m]===t[d]){m++,d++;continue}for(;n[s-1]===t[o-1];)s--,o--;if(s===m){const u=o<i?d?t[d-1].nextSibling:t[o-d]:w;for(;d<o;)e.insertBefore(t[d++],u)}else if(o===d)for(;m<s;)(!f||!f.has(n[m]))&&e.removeChild(n[m]),m++;else if(n[m]===t[o-1]&&t[d]===n[s-1]){const u=n[--s].nextSibling;e.insertBefore(t[d++],n[m++].nextSibling),e.insertBefore(t[--o],u),n[s]=t[o]}else{if(!f){f=new Map;let p=d;for(;p<o;)f.set(t[p],p++)}const u=f.get(n[m]);if(u!=null)if(d<u&&u<o){let p=m,S=1,N;for(;++p<s&&p<o&&!((N=f.get(n[p]))==null||N!==u+S);)S++;if(S>u-d){const I=n[m];for(;d<u;)e.insertBefore(t[d++],I)}else e.replaceChild(t[d++],n[m++])}else m++;else e.removeChild(n[m++])}}}const nt="_$DX_DELEGATE";function zt(e,n,t){let i;return pe(s=>{i=s,O(n,e(),n.firstChild?null:void 0,t)}),()=>{i(),n.textContent=""}}function Q(e,n,t){const i=document.createElement("template");i.innerHTML=e;let s=i.content.firstChild;return t&&(s=s.firstChild),s}function he(e,n=window.document){const t=n[nt]||(n[nt]=new Set);for(let i=0,s=e.length;i<s;i++){const o=e[i];t.has(o)||(t.add(o),n.addEventListener(o,Yt))}}function re(e,n,t){t==null?e.removeAttribute(n):e.setAttribute(n,t)}function Ue(e,n,t,i){i?Array.isArray(t)?(e[`$$${n}`]=t[0],e[`$$${n}Data`]=t[1]):e[`$$${n}`]=t:Array.isArray(t)?e.addEventListener(n,s=>t[0](t[1],s)):e.addEventListener(n,t)}function Ht(e,n,t={}){const i=Object.keys(n||{}),s=Object.keys(t);let o,m;for(o=0,m=s.length;o<m;o++){const d=s[o];!d||d==="undefined"||n[d]||(rt(e,d,!1),delete t[d])}for(o=0,m=i.length;o<m;o++){const d=i[o],w=!!n[d];!d||d==="undefined"||t[d]===w||!w||(rt(e,d,!0),t[d]=w)}return t}function Vt(e,n,t={}){const i=e.style;if(n==null||typeof n=="string")return i.cssText=n;typeof t=="string"&&(t={});let s,o;for(o in t)n[o]==null&&i.removeProperty(o),delete t[o];for(o in n)s=n[o],s!==t[o]&&(i.setProperty(o,s),t[o]=s);return t}function O(e,n,t,i){if(t!==void 0&&!i&&(i=[]),typeof n!="function")return Ce(e,n,i,t);G(s=>Ce(e,n(),s,t),i)}function rt(e,n,t){const i=n.trim().split(/\s+/);for(let s=0,o=i.length;s<o;s++)e.classList.toggle(i[s],t)}function Yt(e){const n=`$$${e.type}`;let t=e.composedPath&&e.composedPath()[0]||e.target;for(e.target!==t&&Object.defineProperty(e,"target",{configurable:!0,value:t}),Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t}});t!==null;){const i=t[n];if(i&&!t.disabled){const s=t[`${n}Data`];if(s!==void 0?i(s,e):i(e),e.cancelBubble)return}t=t.host&&t.host!==t&&t.host instanceof Node?t.host:t.parentNode}}function Ce(e,n,t,i,s){for(;typeof t=="function";)t=t();if(n===t)return t;const o=typeof n,m=i!==void 0;if(e=m&&t[0]&&t[0].parentNode||e,o==="string"||o==="number")if(o==="number"&&(n=n.toString()),m){let d=t[0];d&&d.nodeType===3?d.data=n:d=document.createTextNode(n),t=me(e,t,i,d)}else t!==""&&typeof t=="string"?t=e.firstChild.data=n:t=e.textContent=n;else if(n==null||o==="boolean")t=me(e,t,i);else{if(o==="function")return G(()=>{let d=n();for(;typeof d=="function";)d=d();t=Ce(e,d,t,i)}),()=>t;if(Array.isArray(n)){const d=[];if(qe(d,n,s))return G(()=>t=Ce(e,d,t,i,!0)),()=>t;if(d.length===0){if(t=me(e,t,i),m)return t}else Array.isArray(t)?t.length===0?it(e,d,i):tt(e,t,d):t==null||t===""?it(e,d):tt(e,m&&t||[e.firstChild],d);t=d}else if(n instanceof Node){if(Array.isArray(t)){if(m)return t=me(e,t,i,n);me(e,t,null,n)}else t==null||t===""||!e.firstChild?e.appendChild(n):e.replaceChild(n,e.firstChild);t=n}}return t}function qe(e,n,t){let i=!1;for(let s=0,o=n.length;s<o;s++){let m=n[s],d;if(m instanceof Node)e.push(m);else if(!(m==null||m===!0||m===!1))if(Array.isArray(m))i=qe(e,m)||i;else if((d=typeof m)==="string")e.push(document.createTextNode(m));else if(d==="function")if(t){for(;typeof m=="function";)m=m();i=qe(e,Array.isArray(m)?m:[m])||i}else e.push(m),i=!0;else e.push(document.createTextNode(m.toString()))}return i}function it(e,n,t){for(let i=0,s=n.length;i<s;i++)e.insertBefore(n[i],t)}function me(e,n,t,i){if(t===void 0)return e.textContent="";const s=i||document.createTextNode("");if(n.length){let o=!1;for(let m=n.length-1;m>=0;m--){const d=n[m];if(s!==d){const w=d.parentNode===e;!o&&!m?w?e.replaceChild(s,d):e.insertBefore(s,t):w&&e.removeChild(d)}else o=!0}}else e.insertBefore(s,t);return[s]}var st={button:"_button_1dv9o_1",primary:"_primary_1dv9o_18"};const Zt=Q("<button></button>"),at=e=>(()=>{const n=Zt.cloneNode(!0);return Ue(n,"click",e.onClick,!0),O(n,()=>e.children),G(t=>{const i={[st.button]:!0,[st.primary]:e.type==="primary"},s=e.disabled,o=e.style;return t._v$=Ht(n,i,t._v$),s!==t._v$2&&(n.disabled=t._v$2=s),t._v$3=Vt(n,o,t._v$3),t},{_v$:void 0,_v$2:void 0,_v$3:void 0}),n})();he(["click"]);var oe={root:"_root_nkd9j_1",loading:"_loading_nkd9j_5",tracking:"_tracking_nkd9j_19",title:"_title_nkd9j_23",content:"_content_nkd9j_38",number:"_number_nkd9j_45",item:"_item_nkd9j_65"},_e=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Gt(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var lt={exports:{}},ot={exports:{}};(function(e,n){(function(t,i){e.exports=i()})(_e,function(){var t=t||function(i,s){var o;if(typeof window!="undefined"&&window.crypto&&(o=window.crypto),typeof self!="undefined"&&self.crypto&&(o=self.crypto),typeof globalThis!="undefined"&&globalThis.crypto&&(o=globalThis.crypto),!o&&typeof window!="undefined"&&window.msCrypto&&(o=window.msCrypto),!o&&typeof _e!="undefined"&&_e.crypto&&(o=_e.crypto),!o&&typeof Gt=="function")try{o=require("crypto")}catch(r){}var m=function(){if(o){if(typeof o.getRandomValues=="function")try{return o.getRandomValues(new Uint32Array(1))[0]}catch(r){}if(typeof o.randomBytes=="function")try{return o.randomBytes(4).readInt32LE()}catch(r){}}throw new Error("Native crypto module could not be used to get secure random number.")},d=Object.create||function(){function r(){}return function(a){var l;return r.prototype=a,l=new r,r.prototype=null,l}}(),w={},f=w.lib={},u=f.Base=function(){return{extend:function(r){var a=d(this);return r&&a.mixIn(r),(!a.hasOwnProperty("init")||this.init===a.init)&&(a.init=function(){a.$super.init.apply(this,arguments)}),a.init.prototype=a,a.$super=this,a},create:function(){var r=this.extend();return r.init.apply(r,arguments),r},init:function(){},mixIn:function(r){for(var a in r)r.hasOwnProperty(a)&&(this[a]=r[a]);r.hasOwnProperty("toString")&&(this.toString=r.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),p=f.WordArray=u.extend({init:function(r,a){r=this.words=r||[],a!=s?this.sigBytes=a:this.sigBytes=r.length*4},toString:function(r){return(r||N).stringify(this)},concat:function(r){var a=this.words,l=r.words,c=this.sigBytes,g=r.sigBytes;if(this.clamp(),c%4)for(var x=0;x<g;x++){var C=l[x>>>2]>>>24-x%4*8&255;a[c+x>>>2]|=C<<24-(c+x)%4*8}else for(var T=0;T<g;T+=4)a[c+T>>>2]=l[T>>>2];return this.sigBytes+=g,this},clamp:function(){var r=this.words,a=this.sigBytes;r[a>>>2]&=4294967295<<32-a%4*8,r.length=i.ceil(a/4)},clone:function(){var r=u.clone.call(this);return r.words=this.words.slice(0),r},random:function(r){for(var a=[],l=0;l<r;l+=4)a.push(m());return new p.init(a,r)}}),S=w.enc={},N=S.Hex={stringify:function(r){for(var a=r.words,l=r.sigBytes,c=[],g=0;g<l;g++){var x=a[g>>>2]>>>24-g%4*8&255;c.push((x>>>4).toString(16)),c.push((x&15).toString(16))}return c.join("")},parse:function(r){for(var a=r.length,l=[],c=0;c<a;c+=2)l[c>>>3]|=parseInt(r.substr(c,2),16)<<24-c%8*4;return new p.init(l,a/2)}},I=S.Latin1={stringify:function(r){for(var a=r.words,l=r.sigBytes,c=[],g=0;g<l;g++){var x=a[g>>>2]>>>24-g%4*8&255;c.push(String.fromCharCode(x))}return c.join("")},parse:function(r){for(var a=r.length,l=[],c=0;c<a;c++)l[c>>>2]|=(r.charCodeAt(c)&255)<<24-c%4*8;return new p.init(l,a)}},_=S.Utf8={stringify:function(r){try{return decodeURIComponent(escape(I.stringify(r)))}catch(a){throw new Error("Malformed UTF-8 data")}},parse:function(r){return I.parse(unescape(encodeURIComponent(r)))}},h=f.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new p.init,this._nDataBytes=0},_append:function(r){typeof r=="string"&&(r=_.parse(r)),this._data.concat(r),this._nDataBytes+=r.sigBytes},_process:function(r){var a,l=this._data,c=l.words,g=l.sigBytes,x=this.blockSize,C=x*4,T=g/C;r?T=i.ceil(T):T=i.max((T|0)-this._minBufferSize,0);var A=T*x,F=i.min(A*4,g);if(A){for(var j=0;j<A;j+=x)this._doProcessBlock(c,j);a=c.splice(0,A),l.sigBytes-=F}return new p.init(a,F)},clone:function(){var r=u.clone.call(this);return r._data=this._data.clone(),r},_minBufferSize:0});f.Hasher=h.extend({cfg:u.extend(),init:function(r){this.cfg=this.cfg.extend(r),this.reset()},reset:function(){h.reset.call(this),this._doReset()},update:function(r){return this._append(r),this._process(),this},finalize:function(r){r&&this._append(r);var a=this._doFinalize();return a},blockSize:512/32,_createHelper:function(r){return function(a,l){return new r.init(l).finalize(a)}},_createHmacHelper:function(r){return function(a,l){return new k.HMAC.init(r,l).finalize(a)}}});var k=w.algo={};return w}(Math);return t})})(ot),function(e,n){(function(t,i){e.exports=i(ot.exports)})(_e,function(t){return function(i){var s=t,o=s.lib,m=o.WordArray,d=o.Hasher,w=s.algo,f=[];(function(){for(var _=0;_<64;_++)f[_]=i.abs(i.sin(_+1))*4294967296|0})();var u=w.MD5=d.extend({_doReset:function(){this._hash=new m.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(_,h){for(var k=0;k<16;k++){var r=h+k,a=_[r];_[r]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360}var l=this._hash.words,c=_[h+0],g=_[h+1],x=_[h+2],C=_[h+3],T=_[h+4],A=_[h+5],F=_[h+6],j=_[h+7],L=_[h+8],B=_[h+9],E=_[h+10],U=_[h+11],q=_[h+12],ne=_[h+13],Ie=_[h+14],je=_[h+15],v=l[0],y=l[1],b=l[2],$=l[3];v=p(v,y,b,$,c,7,f[0]),$=p($,v,y,b,g,12,f[1]),b=p(b,$,v,y,x,17,f[2]),y=p(y,b,$,v,C,22,f[3]),v=p(v,y,b,$,T,7,f[4]),$=p($,v,y,b,A,12,f[5]),b=p(b,$,v,y,F,17,f[6]),y=p(y,b,$,v,j,22,f[7]),v=p(v,y,b,$,L,7,f[8]),$=p($,v,y,b,B,12,f[9]),b=p(b,$,v,y,E,17,f[10]),y=p(y,b,$,v,U,22,f[11]),v=p(v,y,b,$,q,7,f[12]),$=p($,v,y,b,ne,12,f[13]),b=p(b,$,v,y,Ie,17,f[14]),y=p(y,b,$,v,je,22,f[15]),v=S(v,y,b,$,g,5,f[16]),$=S($,v,y,b,F,9,f[17]),b=S(b,$,v,y,U,14,f[18]),y=S(y,b,$,v,c,20,f[19]),v=S(v,y,b,$,A,5,f[20]),$=S($,v,y,b,E,9,f[21]),b=S(b,$,v,y,je,14,f[22]),y=S(y,b,$,v,T,20,f[23]),v=S(v,y,b,$,B,5,f[24]),$=S($,v,y,b,Ie,9,f[25]),b=S(b,$,v,y,C,14,f[26]),y=S(y,b,$,v,L,20,f[27]),v=S(v,y,b,$,ne,5,f[28]),$=S($,v,y,b,x,9,f[29]),b=S(b,$,v,y,j,14,f[30]),y=S(y,b,$,v,q,20,f[31]),v=N(v,y,b,$,A,4,f[32]),$=N($,v,y,b,L,11,f[33]),b=N(b,$,v,y,U,16,f[34]),y=N(y,b,$,v,Ie,23,f[35]),v=N(v,y,b,$,g,4,f[36]),$=N($,v,y,b,T,11,f[37]),b=N(b,$,v,y,j,16,f[38]),y=N(y,b,$,v,E,23,f[39]),v=N(v,y,b,$,ne,4,f[40]),$=N($,v,y,b,c,11,f[41]),b=N(b,$,v,y,C,16,f[42]),y=N(y,b,$,v,F,23,f[43]),v=N(v,y,b,$,B,4,f[44]),$=N($,v,y,b,q,11,f[45]),b=N(b,$,v,y,je,16,f[46]),y=N(y,b,$,v,x,23,f[47]),v=I(v,y,b,$,c,6,f[48]),$=I($,v,y,b,j,10,f[49]),b=I(b,$,v,y,Ie,15,f[50]),y=I(y,b,$,v,A,21,f[51]),v=I(v,y,b,$,q,6,f[52]),$=I($,v,y,b,C,10,f[53]),b=I(b,$,v,y,E,15,f[54]),y=I(y,b,$,v,g,21,f[55]),v=I(v,y,b,$,L,6,f[56]),$=I($,v,y,b,je,10,f[57]),b=I(b,$,v,y,F,15,f[58]),y=I(y,b,$,v,ne,21,f[59]),v=I(v,y,b,$,T,6,f[60]),$=I($,v,y,b,U,10,f[61]),b=I(b,$,v,y,x,15,f[62]),y=I(y,b,$,v,B,21,f[63]),l[0]=l[0]+v|0,l[1]=l[1]+y|0,l[2]=l[2]+b|0,l[3]=l[3]+$|0},_doFinalize:function(){var _=this._data,h=_.words,k=this._nDataBytes*8,r=_.sigBytes*8;h[r>>>5]|=128<<24-r%32;var a=i.floor(k/4294967296),l=k;h[(r+64>>>9<<4)+15]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360,h[(r+64>>>9<<4)+14]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,_.sigBytes=(h.length+1)*4,this._process();for(var c=this._hash,g=c.words,x=0;x<4;x++){var C=g[x];g[x]=(C<<8|C>>>24)&16711935|(C<<24|C>>>8)&4278255360}return c},clone:function(){var _=d.clone.call(this);return _._hash=this._hash.clone(),_}});function p(_,h,k,r,a,l,c){var g=_+(h&k|~h&r)+a+c;return(g<<l|g>>>32-l)+h}function S(_,h,k,r,a,l,c){var g=_+(h&r|k&~r)+a+c;return(g<<l|g>>>32-l)+h}function N(_,h,k,r,a,l,c){var g=_+(h^k^r)+a+c;return(g<<l|g>>>32-l)+h}function I(_,h,k,r,a,l,c){var g=_+(k^(h|~r))+a+c;return(g<<l|g>>>32-l)+h}s.MD5=d._createHelper(u),s.HmacMD5=d._createHmacHelper(u)}(Math),t.MD5})}(lt);var Wt=lt.exports,ve={},Qt=e=>encodeURIComponent(e).replace(/[!'()*]/g,n=>`%${n.charCodeAt(0).toString(16).toUpperCase()}`),ct="%[a-f0-9]{2}",ut=new RegExp(ct,"gi"),ft=new RegExp("("+ct+")+","gi");function ze(e,n){try{return decodeURIComponent(e.join(""))}catch(s){}if(e.length===1)return e;n=n||1;var t=e.slice(0,n),i=e.slice(n);return Array.prototype.concat.call([],ze(t),ze(i))}function Jt(e){try{return decodeURIComponent(e)}catch(i){for(var n=e.match(ut),t=1;t<n.length;t++)e=ze(n,t).join(""),n=e.match(ut);return e}}function Xt(e){for(var n={"%FE%FF":"\uFFFD\uFFFD","%FF%FE":"\uFFFD\uFFFD"},t=ft.exec(e);t;){try{n[t[0]]=decodeURIComponent(t[0])}catch(d){var i=Jt(t[0]);i!==t[0]&&(n[t[0]]=i)}t=ft.exec(e)}n["%C2"]="\uFFFD";for(var s=Object.keys(n),o=0;o<s.length;o++){var m=s[o];e=e.replace(new RegExp(m,"g"),n[m])}return e}var Kt=function(e){if(typeof e!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return e=e.replace(/\+/g," "),decodeURIComponent(e)}catch(n){return Xt(e)}},en=(e,n)=>{if(!(typeof e=="string"&&typeof n=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(n==="")return[e];const t=e.indexOf(n);return t===-1?[e]:[e.slice(0,t),e.slice(t+n.length)]},tn=function(e,n){for(var t={},i=Object.keys(e),s=Array.isArray(n),o=0;o<i.length;o++){var m=i[o],d=e[m];(s?n.indexOf(m)!==-1:n(m,d,e))&&(t[m]=d)}return t};(function(e){const n=Qt,t=Kt,i=en,s=tn,o=r=>r==null,m=Symbol("encodeFragmentIdentifier");function d(r){switch(r.arrayFormat){case"index":return a=>(l,c)=>{const g=l.length;return c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,[u(a,r),"[",g,"]"].join("")]:[...l,[u(a,r),"[",u(g,r),"]=",u(c,r)].join("")]};case"bracket":return a=>(l,c)=>c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,[u(a,r),"[]"].join("")]:[...l,[u(a,r),"[]=",u(c,r)].join("")];case"colon-list-separator":return a=>(l,c)=>c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,[u(a,r),":list="].join("")]:[...l,[u(a,r),":list=",u(c,r)].join("")];case"comma":case"separator":case"bracket-separator":{const a=r.arrayFormat==="bracket-separator"?"[]=":"=";return l=>(c,g)=>g===void 0||r.skipNull&&g===null||r.skipEmptyString&&g===""?c:(g=g===null?"":g,c.length===0?[[u(l,r),a,u(g,r)].join("")]:[[c,u(g,r)].join(r.arrayFormatSeparator)])}default:return a=>(l,c)=>c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,u(a,r)]:[...l,[u(a,r),"=",u(c,r)].join("")]}}function w(r){let a;switch(r.arrayFormat){case"index":return(l,c,g)=>{if(a=/\[(\d*)\]$/.exec(l),l=l.replace(/\[\d*\]$/,""),!a){g[l]=c;return}g[l]===void 0&&(g[l]={}),g[l][a[1]]=c};case"bracket":return(l,c,g)=>{if(a=/(\[\])$/.exec(l),l=l.replace(/\[\]$/,""),!a){g[l]=c;return}if(g[l]===void 0){g[l]=[c];return}g[l]=[].concat(g[l],c)};case"colon-list-separator":return(l,c,g)=>{if(a=/(:list)$/.exec(l),l=l.replace(/:list$/,""),!a){g[l]=c;return}if(g[l]===void 0){g[l]=[c];return}g[l]=[].concat(g[l],c)};case"comma":case"separator":return(l,c,g)=>{const x=typeof c=="string"&&c.includes(r.arrayFormatSeparator),C=typeof c=="string"&&!x&&p(c,r).includes(r.arrayFormatSeparator);c=C?p(c,r):c;const T=x||C?c.split(r.arrayFormatSeparator).map(A=>p(A,r)):c===null?c:p(c,r);g[l]=T};case"bracket-separator":return(l,c,g)=>{const x=/(\[\])$/.test(l);if(l=l.replace(/\[\]$/,""),!x){g[l]=c&&p(c,r);return}const C=c===null?[]:c.split(r.arrayFormatSeparator).map(T=>p(T,r));if(g[l]===void 0){g[l]=C;return}g[l]=[].concat(g[l],C)};default:return(l,c,g)=>{if(g[l]===void 0){g[l]=c;return}g[l]=[].concat(g[l],c)}}}function f(r){if(typeof r!="string"||r.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function u(r,a){return a.encode?a.strict?n(r):encodeURIComponent(r):r}function p(r,a){return a.decode?t(r):r}function S(r){return Array.isArray(r)?r.sort():typeof r=="object"?S(Object.keys(r)).sort((a,l)=>Number(a)-Number(l)).map(a=>r[a]):r}function N(r){const a=r.indexOf("#");return a!==-1&&(r=r.slice(0,a)),r}function I(r){let a="";const l=r.indexOf("#");return l!==-1&&(a=r.slice(l)),a}function _(r){r=N(r);const a=r.indexOf("?");return a===-1?"":r.slice(a+1)}function h(r,a){return a.parseNumbers&&!Number.isNaN(Number(r))&&typeof r=="string"&&r.trim()!==""?r=Number(r):a.parseBooleans&&r!==null&&(r.toLowerCase()==="true"||r.toLowerCase()==="false")&&(r=r.toLowerCase()==="true"),r}function k(r,a){a=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},a),f(a.arrayFormatSeparator);const l=w(a),c=Object.create(null);if(typeof r!="string"||(r=r.trim().replace(/^[?#&]/,""),!r))return c;for(const g of r.split("&")){if(g==="")continue;let[x,C]=i(a.decode?g.replace(/\+/g," "):g,"=");C=C===void 0?null:["comma","separator","bracket-separator"].includes(a.arrayFormat)?C:p(C,a),l(p(x,a),C,c)}for(const g of Object.keys(c)){const x=c[g];if(typeof x=="object"&&x!==null)for(const C of Object.keys(x))x[C]=h(x[C],a);else c[g]=h(x,a)}return a.sort===!1?c:(a.sort===!0?Object.keys(c).sort():Object.keys(c).sort(a.sort)).reduce((g,x)=>{const C=c[x];return Boolean(C)&&typeof C=="object"&&!Array.isArray(C)?g[x]=S(C):g[x]=C,g},Object.create(null))}e.extract=_,e.parse=k,e.stringify=(r,a)=>{if(!r)return"";a=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},a),f(a.arrayFormatSeparator);const l=C=>a.skipNull&&o(r[C])||a.skipEmptyString&&r[C]==="",c=d(a),g={};for(const C of Object.keys(r))l(C)||(g[C]=r[C]);const x=Object.keys(g);return a.sort!==!1&&x.sort(a.sort),x.map(C=>{const T=r[C];return T===void 0?"":T===null?u(C,a):Array.isArray(T)?T.length===0&&a.arrayFormat==="bracket-separator"?u(C,a)+"[]":T.reduce(c(C),[]).join("&"):u(C,a)+"="+u(T,a)}).filter(C=>C.length>0).join("&")},e.parseUrl=(r,a)=>{a=Object.assign({decode:!0},a);const[l,c]=i(r,"#");return Object.assign({url:l.split("?")[0]||"",query:k(_(r),a)},a&&a.parseFragmentIdentifier&&c?{fragmentIdentifier:p(c,a)}:{})},e.stringifyUrl=(r,a)=>{a=Object.assign({encode:!0,strict:!0,[m]:!0},a);const l=N(r.url).split("?")[0]||"",c=e.extract(r.url),g=e.parse(c,{sort:!1}),x=Object.assign(g,r.query);let C=e.stringify(x,a);C&&(C=`?${C}`);let T=I(r.url);return r.fragmentIdentifier&&(T=`#${a[m]?u(r.fragmentIdentifier,a):r.fragmentIdentifier}`),`${l}${C}${T}`},e.pick=(r,a,l)=>{l=Object.assign({parseFragmentIdentifier:!0,[m]:!1},l);const{url:c,query:g,fragmentIdentifier:x}=e.parseUrl(r,l);return e.stringifyUrl({url:c,query:s(g,a),fragmentIdentifier:x},l)},e.exclude=(r,a,l)=>{const c=Array.isArray(a)?g=>!a.includes(g):(g,x)=>!a(g,x);return e.pick(r,c,l)}})(ve);const[se,nn]=te([]),[dt,rn]=te([]),[He,gt]=te(new Map),[ht,sn]=te([]),[Ve,an]=te(""),[ln,on]=te(""),xe=window.woocommerce_admin_meta_boxes.ajax_url;function ye(e){return ie(this,null,function*(){var t;const n=((t=document.querySelector("#aftership_get_nonce"))==null?void 0:t.value)||"";yield fetch(ve.stringifyUrl({url:xe,query:{action:"aftership_get_order_trackings",security:n,order_id:e,t:Date.now()}})).then(i=>i.json()).then(i=>{const s=i.data,o=window.get_aftership_couriers(),m=new Map;s.trackings.forEach(d=>{if(m.has(d.slug))return;const w=o.find(f=>f.slug===d.slug);w&&m.set(d.slug,w)}),gt(d=>new Map([...d,...m])),nn(s.trackings),sn(s.line_items),on(s.number)})})}function cn(e,n){return ie(this,null,function*(){var w;const t=se().find(f=>f.tracking_id===n.tracking_id),i=se().findIndex(f=>f.tracking_id===n.tracking_id),s=new Date().toISOString().replace(/\.\d+(?=Z$)/,""),o=n.slug!==(t==null?void 0:t.slug)||n.tracking_number!==(t==null?void 0:t.tracking_number);let m=[...se()];t&&!o?m.splice(i,1,H(z({},n),{metrics:{created_at:t.metrics.created_at||s,updated_at:s}})):m=[...m.filter(f=>f.tracking_id!==n.tracking_id),H(z({},n),{tracking_id:Wt(`${n.slug}-${n.tracking_number}`).toString(),metrics:{created_at:s,updated_at:s}})];const d=((w=document.querySelector("#aftership_create_nonce"))==null?void 0:w.value)||"";yield fetch(ve.stringifyUrl({url:xe,query:{action:"aftership_save_order_tracking",security:d}}),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({order_id:e,trackings:m})})})}function un(e,n){return ie(this,null,function*(){var i;const t=((i=document.querySelector("#aftership_delete_nonce"))==null?void 0:i.value)||"";yield fetch(ve.stringifyUrl({url:xe,query:{action:"aftership_delete_order_tracking",security:t}}),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({order_id:e,tracking_id:n})})})}function fn(){return ie(this,null,function*(){yield fetch(ve.stringifyUrl({url:xe,query:{action:"aftership_get_settings",t:Date.now()}})).then(e=>e.json()).then(e=>{const n=e.data.couriers,t=new Map(He());n.forEach(i=>{t.set(i.slug,i)}),gt(i=>new Map([...i,...t])),rn(n),an(e.data.custom_domain)})})}var dn=typeof global=="object"&&global&&global.Object===Object&&global,gn=dn,hn=typeof self=="object"&&self&&self.Object===Object&&self,mn=gn||hn||Function("return this")(),_n=mn,vn=_n.Symbol,ce=vn,mt=Object.prototype,yn=mt.hasOwnProperty,bn=mt.toString,be=ce?ce.toStringTag:void 0;function $n(e){var n=yn.call(e,be),t=e[be];try{e[be]=void 0;var i=!0}catch(o){}var s=bn.call(e);return i&&(n?e[be]=t:delete e[be]),s}var pn=Object.prototype,wn=pn.toString;function Sn(e){return wn.call(e)}var Cn="[object Null]",xn="[object Undefined]",_t=ce?ce.toStringTag:void 0;function Nn(e){return e==null?e===void 0?xn:Cn:_t&&_t in Object(e)?$n(e):Sn(e)}function kn(e){return e!=null&&typeof e=="object"}var An="[object Symbol]";function In(e){return typeof e=="symbol"||kn(e)&&Nn(e)==An}function jn(e,n){for(var t=-1,i=e==null?0:e.length,s=Array(i);++t<i;)s[t]=n(e[t],t,e);return s}var Tn=Array.isArray,On=Tn,Mn=1/0,vt=ce?ce.prototype:void 0,yt=vt?vt.toString:void 0;function bt(e){if(typeof e=="string")return e;if(On(e))return jn(e,bt)+"";if(In(e))return yt?yt.call(e):"";var n=e+"";return n=="0"&&1/e==-Mn?"-0":n}function $t(e){return e==null?"":bt(e)}function En(e,n,t){var i=-1,s=e.length;n<0&&(n=-n>s?0:s+n),t=t>s?s:t,t<0&&(t+=s),s=n>t?0:t-n>>>0,n>>>=0;for(var o=Array(s);++i<s;)o[i]=e[i+n];return o}function Dn(e,n,t){var i=e.length;return t=t===void 0?i:t,!n&&t>=i?e:En(e,n,t)}var Fn="\\ud800-\\udfff",Ln="\\u0300-\\u036f",Bn="\\ufe20-\\ufe2f",Rn="\\u20d0-\\u20ff",Pn=Ln+Bn+Rn,Un="\\ufe0e\\ufe0f",qn="\\u200d",zn=RegExp("["+qn+Fn+Pn+Un+"]");function pt(e){return zn.test(e)}function Hn(e){return e.split("")}var wt="\\ud800-\\udfff",Vn="\\u0300-\\u036f",Yn="\\ufe20-\\ufe2f",Zn="\\u20d0-\\u20ff",Gn=Vn+Yn+Zn,Wn="\\ufe0e\\ufe0f",Qn="["+wt+"]",Ye="["+Gn+"]",Ze="\\ud83c[\\udffb-\\udfff]",Jn="(?:"+Ye+"|"+Ze+")",St="[^"+wt+"]",Ct="(?:\\ud83c[\\udde6-\\uddff]){2}",xt="[\\ud800-\\udbff][\\udc00-\\udfff]",Xn="\\u200d",Nt=Jn+"?",kt="["+Wn+"]?",Kn="(?:"+Xn+"(?:"+[St,Ct,xt].join("|")+")"+kt+Nt+")*",er=kt+Nt+Kn,tr="(?:"+[St+Ye+"?",Ye,Ct,xt,Qn].join("|")+")",nr=RegExp(Ze+"(?="+Ze+")|"+tr+er,"g");function rr(e){return e.match(nr)||[]}function ir(e){return pt(e)?rr(e):Hn(e)}function sr(e){return function(n){n=$t(n);var t=pt(n)?ir(n):void 0,i=t?t[0]:n.charAt(0),s=t?Dn(t,1).join(""):n.slice(1);return i[e]()+s}}var ar=sr("toUpperCase"),lr=ar;function or(e){return lr($t(e).toLowerCase())}var Ne={container:"_container_1s8av_1",backdrop:"_backdrop_1s8av_8",modal:"_modal_1s8av_15"},cr="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmkteCIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBmaWxsPSIjNjY2IiBkPSJNNC42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCA3LjI5M2wyLjY0Ni0yLjY0N2EuNS41IDAgMCAxIC43MDguNzA4TDguNzA3IDhsMi42NDcgMi42NDZhLjUuNSAwIDAgMS0uNzA4LjcwOEw4IDguNzA3bC0yLjY0NiAyLjY0N2EuNS41IDAgMCAxLS43MDgtLjcwOEw3LjI5MyA4IDQuNjQ2IDUuMzU0YS41LjUgMCAwIDEgMC0uNzA4eiIvPgo8L3N2Zz4=";const ur=Q('<div><div></div><section><header><h1></h1><div role="button"><img></div></header><article></article><footer></footer></section></div>');function fr(e){return Oe(()=>{e.visible?document.body.style.overflowY="hidden":document.body.style.overflowY="auto"}),V(Pe,{get when(){return e.visible},get children(){const n=ur.cloneNode(!0),t=n.firstChild,i=t.nextSibling,s=i.firstChild,o=s.firstChild,m=o.nextSibling,d=m.firstChild,w=s.nextSibling,f=w.nextSibling;return Ue(t,"click",e.onCancel,!0),O(o,()=>e.title),Ue(m,"click",e.onCancel,!0),re(d,"src",cr),O(w,()=>e.children),O(f,V(at,{get disabled(){return e.disabled},onClick:()=>e.onOk&&e.onOk(),type:"primary",get children(){return e.okText||"Ok"}})),G(u=>{const p=Ne.container,S=Ne.backdrop,N=Ne.modal,I=Ne.header;return p!==u._v$&&(n.className=u._v$=p),S!==u._v$2&&(t.className=u._v$2=S),N!==u._v$3&&(i.className=u._v$3=N),I!==u._v$4&&(s.className=u._v$4=I),u},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),n}})}he(["click"]);var Ge={root:"_root_b92ih_1",suffix:"_suffix_b92ih_25",action:"_action_b92ih_30"},dr="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktY2FyZXQtdXAtZmlsbCIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBmaWxsPSIjNWM1ZjYyIiBkPSJtNy4yNDcgNC44Ni00Ljc5NiA1LjQ4MWMtLjU2Ni42NDctLjEwNiAxLjY1OS43NTMgMS42NTloOS41OTJhMSAxIDAgMCAwIC43NTMtMS42NTlsLTQuNzk2LTUuNDhhMSAxIDAgMCAwLTEuNTA2IDB6Ii8+Cjwvc3ZnPg==",gr="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktY2FyZXQtZG93bi1maWxsIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgogIDxwYXRoIGZpbGw9IiM1YzVmNjIiIGQ9Ik03LjI0NyAxMS4xNCAyLjQ1MSA1LjY1OEMxLjg4NSA1LjAxMyAyLjM0NSA0IDMuMjA0IDRoOS41OTJhMSAxIDAgMCAxIC43NTMgMS42NTlsLTQuNzk2IDUuNDhhMSAxIDAgMCAxLTEuNTA2IDB6Ii8+Cjwvc3ZnPg==";const hr=Q("<div>of </div>"),mr=Q('<div><div><input type="number" inputmode="numeric"></div><div aria-hidden><div role="button" tabindex="-1"><img></div><div role="button" tabindex="-1"><img></div></div></div>');function _r(e){let n;const t=Pt({step:1},e);function i(w){return t.min!==void 0&&Number(w)<t.min}function s(w){return t.max!==void 0&&Number(w)>t.max}function o(w){!w||i(w)||s(w)||t.onChange(Number(w))}function m(w){if(w)if(i(w)){t.onChange(t.min),n.value=String(t.min);return}else if(s(w)){t.onChange(t.max),n.value=String(t.max);return}else t.onChange(Number(w));else n.value="",t.onChange(void 0)}function d(w){const f=t.value;let u;if(f===void 0)u=w>0?t.min:t.max,t.onChange(u||0);else{u=f+w*t.step;const p=String(u);if(i(p)||s(p))return}t.onChange(u)}return(()=>{const w=mr.cloneNode(!0),f=w.firstChild,u=f.firstChild,p=f.nextSibling,S=p.firstChild,N=S.firstChild,I=S.nextSibling,_=I.firstChild;return u.addEventListener("blur",h=>m(h.currentTarget.value)),u.$$input=h=>o(h.currentTarget.value),(h=>n=h)(u),O(w,V(Pe,{get when(){return t.max!==void 0},get children(){const h=hr.cloneNode(!0);return h.firstChild,h.$$click=()=>n.focus(),O(h,()=>t.max,null),G(()=>h.className=Ge.suffix),h}}),p),S.$$click=()=>d(1),re(N,"src",dr),I.$$click=()=>d(-1),re(_,"src",gr),G(h=>{const k=Ge.root,r=t.min,a=t.max,l=t.value,c=Ge.action;return k!==h._v$&&(w.className=h._v$=k),r!==h._v$2&&re(u,"min",h._v$2=r),a!==h._v$3&&re(u,"max",h._v$3=a),l!==h._v$4&&(u.value=h._v$4=l),c!==h._v$5&&(p.className=h._v$5=c),h},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0}),w})()}he(["input","click"]);var ke={modal:"_modal_128mo_1",empty:"_empty_128mo_7",items:"_items_128mo_13",input:"_input_128mo_34"};function vr(e){const n=new Map;return e.forEach(i=>{var s;(s=i.line_items)==null||s.forEach(o=>{n.has(Number(o.id))?n.set(Number(o.id),(n.get(Number(o.id))||0)+Number(o.quantity)):n.set(Number(o.id),Number(o.quantity))})}),ht().map(i=>{const s=n.get(i.id)||0;return{id:i.id,name:i.name,quantity:i.quantity-s}}).filter(i=>i.quantity>0)}const yr=Q("<table><thead><tr><th>Items</th><th>Qty.</th></tr></thead><tbody></tbody></table>"),br=Q('<div style="color: red;"></div>'),$r=Q('<div><hr><div><div><label>Courier:<select></select></label><a href="admin.php?page=aftership-setting-admin">Update carrier list</a></div><div><label>Tracking number:<input></label></div></div></div>'),pr=Q("<div>All items have been fulfilled</div>"),wr=Q("<tr><td></td><td></td></tr>"),Sr=Q("<option></option>"),Cr=Q("<div><label>:<input></label></div>"),Ae={tracking_id:"",tracking_number:"",slug:"",additional_fields:{account_number:"",key:"",postal_code:"",ship_date:"",destination_country:"",state:""},line_items:{}};function xr(e){const[n,t]=te(Ae),i=W(()=>n().slug||""),s=W(()=>{var h;return(((h=He().get(i()))==null?void 0:h.required_fields)||[]).map(k=>({key:k.replace(/^tracking_/,""),name:k.replace(/^tracking_/,"").split("_").map(or).join(" ")}))}),o=W(()=>e.value?se().filter(_=>{var h;return _.tracking_id!==((h=e.value)==null?void 0:h.tracking_id)}):se()),m=W(()=>o().length),d=W(()=>vr(o()));Oe(()=>{var k,r,a;const _=new Date().toISOString().split("T")[0],h=((k=e.value)==null?void 0:k.line_items)||[];e.value?e.value.line_items?t({tracking_id:e.value.tracking_id,slug:e.value.slug,tracking_number:e.value.tracking_number,additional_fields:H(z({},e.value.additional_fields),{ship_date:e.value.additional_fields.ship_date||_}),line_items:Object.fromEntries(h.map(l=>[Number(l.id),Number(l.quantity)]))}):m()?t({tracking_id:e.value.tracking_id,slug:e.value.slug,tracking_number:e.value.tracking_number,additional_fields:H(z({},e.value.additional_fields),{ship_date:e.value.additional_fields.ship_date||_}),line_items:Object.fromEntries(d().map(l=>[Number(l.id),0]))}):t({tracking_id:e.value.tracking_id,slug:e.value.slug,tracking_number:e.value.tracking_number,additional_fields:H(z({},e.value.additional_fields),{ship_date:e.value.additional_fields.ship_date||_}),line_items:Object.fromEntries(d().map(l=>[Number(l.id),Number(l.quantity)]))}):t(H(z({},Ae),{slug:((a=(r=dt())==null?void 0:r[0])==null?void 0:a.slug)||"",additional_fields:H(z({},Ae.additional_fields),{ship_date:_}),line_items:Object.fromEntries(d().map(l=>[Number(l.id),Number(l.quantity)]))}))});const w=()=>{t(_=>{const h=new Date().toISOString().split("T")[0];return H(z({},_),{additional_fields:H(z({},Ae.additional_fields),{ship_date:h})})})},f=W(()=>{let _=!0;const h={};return Object.entries(n().line_items||[]).some(([,r])=>!!r)||(_=!1),n().slug===""&&(_=!1,h.slug="Required"),n().tracking_number===""&&(_=!1),o().some(r=>r.slug===n().slug&&r.tracking_number===n().tracking_number)&&(_=!1,h.tracking_number="This shipment has already been added."),s().forEach(r=>{n().additional_fields[r.key]===""&&(_=!1,h.additional_fields=H(z({},h.additional_fields),{[r.key]:"Required"}))}),{isValid:_,errors:h}}),u=(_,h)=>{t(k=>H(z({},k),{line_items:H(z({},k.line_items),{[_]:h})}))},p=(_,h)=>{t(k=>H(z({},k),{[_]:h.trim()}))},S=(_,h)=>{t(k=>H(z({},k),{additional_fields:H(z({},k.additional_fields),{[_]:h.trim()})}))},N=()=>e.onOk(n()),I=W(()=>{var _;return`${((_=e.value)==null?void 0:_.tracking_id)?"Edit tracking":"Add tracking"} - order - #${e.orderId}`});return V(fr,{get title(){return I()},get visible(){return e.visible},get okText(){var _;return((_=e.value)==null?void 0:_.tracking_id)?"Save":"Add"},onOk:N,get onCancel(){return e.onCancel},get disabled(){return!f().isValid},get children(){const _=$r.cloneNode(!0),h=_.firstChild,k=h.nextSibling,r=k.firstChild,a=r.firstChild,l=a.firstChild,c=l.nextSibling,g=r.nextSibling,x=g.firstChild,C=x.firstChild,T=C.nextSibling;return O(_,V(Ut,{get fallback(){return(()=>{const A=pr.cloneNode(!0);return G(()=>A.className=ke.empty),A})()},get children(){return V(qt,{get when(){return d().length>0},get children(){const A=yr.cloneNode(!0),F=A.firstChild,j=F.nextSibling;return O(j,V(ge,{get each(){return d()},children:L=>(()=>{const B=wr.cloneNode(!0),E=B.firstChild,U=E.nextSibling;return O(E,()=>L.name),O(U,V(_r,{min:0,get max(){return L.quantity},step:1,get value(){var q;return((q=n().line_items)==null?void 0:q[L.id])||0},onChange:q=>u(L.id,q||0)})),B})()})),G(()=>A.className=ke.items),A}})}}),h),h.style.setProperty("margin","20px 0"),c.addEventListener("change",A=>{w(),p("slug",A.currentTarget.value)}),O(c,V(ge,{get each(){return dt()},children:A=>(()=>{const F=Sr.cloneNode(!0);return O(F,()=>A.name||A.other_name),G(()=>F.value=A.slug),F})()})),T.$$input=A=>p("tracking_number",A.currentTarget.value),O(g,V(Pe,{get when(){return f().errors.tracking_number},get children(){const A=br.cloneNode(!0);return O(A,()=>f().errors.tracking_number),A}}),null),O(k,V(ge,{get each(){return s()},children:A=>(()=>{const F=Cr.cloneNode(!0),j=F.firstChild,L=j.firstChild,B=L.nextSibling;return O(j,()=>A.name,L),B.$$input=E=>S(A.key,E.currentTarget.value),G(E=>{const U=A.key==="ship_date"?"date":"text",q=n().additional_fields[A.key];return U!==E._v$5&&re(B,"type",E._v$5=U),q!==E._v$6&&(B.value=E._v$6=q),E},{_v$5:void 0,_v$6:void 0}),F})()}),null),G(A=>{var E;const F=ke.modal,j=ke.input,L=(E=n())==null?void 0:E.slug,B=n().tracking_number;return F!==A._v$&&(_.className=A._v$=F),j!==A._v$2&&(k.className=A._v$2=j),L!==A._v$3&&(c.value=A._v$3=L),B!==A._v$4&&(T.value=A._v$4=B),A},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),_}})}he(["input"]);const Nr=Q("<div><div></div><div></div></div>"),kr=Q('<div><div><div>Shipment </div><div><a>Edit</a><a>Delete</a></div></div><div><div><div><strong> </strong></div><div><a target="_blank"></a></div></div></div></div>'),Ar=Q("<div><div></div><div> x </div></div>"),Ir=()=>{const[e,n]=te(!1),[t,i]=te(),s=window.woocommerce_admin_meta_boxes.post_id;Tt(()=>{ye(s),fn()});const o=u=>ie(this,null,function*(){const p=u.line_items||{};yield cn(s,H(z({},u),{line_items:Object.entries(p).map(([S,N])=>({id:Number(S),quantity:N})).filter(S=>S.quantity>0)})),n(!1),i(void 0),yield ye(s)}),m=()=>{n(!1),i(void 0)},d=u=>ie(this,null,function*(){yield un(s,u),yield ye(s)}),w=W(()=>{const u=new Map;return se().forEach(p=>{var N;const S=(N=p.line_items||[])==null?void 0:N.map(I=>{const _=ht().find(h=>I.id===h.id);return{name:(_==null?void 0:_.name)||String(I.id),quantity:I.quantity}});u.set(p.tracking_id,S)}),u}),f=u=>/^https?:\/\//.test(Ve())?`${Ve()}/${u.slug}/${u.tracking_number}`:`https://${Ve()}/${u.slug}/${u.tracking_number}`;return(()=>{const u=Nr.cloneNode(!0),p=u.firstChild,S=p.nextSibling;return O(p,V(ge,{get each(){return se()},children:(N,I)=>(()=>{const _=kr.cloneNode(!0),h=_.firstChild,k=h.firstChild;k.firstChild;const r=k.nextSibling,a=r.firstChild,l=a.nextSibling,c=h.nextSibling,g=c.firstChild,x=g.firstChild,C=x.firstChild,T=C.firstChild,A=x.nextSibling,F=A.firstChild;return O(k,()=>I()+1,null),a.$$click=()=>ie(this,null,function*(){yield ye(s),i(N),n(!0)}),l.$$click=()=>d(N.tracking_id),O(C,()=>{var j;return((j=He().get(N.slug))==null?void 0:j.name)||N.slug},T),O(F,()=>N.tracking_number),O(c,V(ge,{get each(){return w().get(N.tracking_id)||[]},children:j=>(()=>{const L=Ar.cloneNode(!0),B=L.firstChild,E=B.nextSibling;return E.firstChild,O(B,()=>j.name),O(E,()=>j.quantity,null),G(U=>{const q=oe.item,ne=j.name;return q!==U._v$7&&(L.className=U._v$7=q),ne!==U._v$8&&re(B,"title",U._v$8=ne),U},{_v$7:void 0,_v$8:void 0}),L})()}),null),G(j=>{const L=oe.tracking,B=oe.title,E=oe.content,U=oe.number,q=N.tracking_number,ne=f(N);return L!==j._v$&&(_.className=j._v$=L),B!==j._v$2&&(h.className=j._v$2=B),E!==j._v$3&&(c.className=j._v$3=E),U!==j._v$4&&(g.className=j._v$4=U),q!==j._v$5&&re(F,"title",j._v$5=q),ne!==j._v$6&&re(F,"href",j._v$6=ne),j},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0}),_})()})),S.style.setProperty("padding","12px"),O(S,V(at,{onClick:()=>ie(this,null,function*(){yield ye(s),n(!0)}),style:{width:"100%"},children:"Add Tracking Number"})),O(u,V(xr,{get visible(){return e()},get value(){return t()},onCancel:m,onOk:o,get orderId(){return ln()}}),null),G(()=>u.className=oe.root),u})()};he(["click"]);var ei="";customElements.define("aftership-meta-box",class extends HTMLElement{constructor(){super();It(this,"initialized",!1);this.attachShadow({mode:"open"})}connectedCallback(){if(!!this.shadowRoot&&!this.initialized){this.initialized=!0;{const n=document.currentScript,t=document.createElement("link");t.rel="stylesheet",t.href=n.src.replace(/\/index\.js\?/,"/style.css?"),this.shadowRoot.appendChild(t)}zt(()=>V(Ir,{}),this.shadowRoot)}}})})();
|
assets/frontend/dist/metabox/style.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
._button_1dv9o_1{border:1px solid #ccc;border-radius:3px;background-color:#f7f7f7;color:#555;font-size:13px;min-height:30px;padding:0 10px;cursor:pointer}._button_1dv9o_1[disabled]{color:#a7aaad!important;background:#f6f7f7!important;border-color:#dcdcde!important;cursor:not-allowed}._primary_1dv9o_18{border-color:#2271b1;background:#2271b1;color:#fff}._primary_1dv9o_18:hover{background:#135e96;border-color:#135e96}._root_nkd9j_1{position:relative}._loading_nkd9j_5{position:absolute;height:100%;width:100%;top:0;left:0;background:#fff;opacity:.6;pointer-events:none;display:flex;align-items:center;justify-content:center}._tracking_nkd9j_19{padding:16px 12px;border-bottom:1px solid #eeeeee}._tracking_nkd9j_19 ._title_nkd9j_23{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#5f5f5f}._tracking_nkd9j_19 ._title_nkd9j_23 a{font-size:12px}._tracking_nkd9j_19 ._title_nkd9j_23 a:nth-child(2){color:#a00;margin-left:12px}._content_nkd9j_38{background-color:#f6f6f6;padding:12px;font-size:14px;line-height:1.43}._number_nkd9j_45{margin-bottom:2px}._number_nkd9j_45>div:nth-child(1){flex-shrink:0;word-break:break-all}._number_nkd9j_45>div:nth-child(1) strong{font-weight:600;color:#3c434a}._number_nkd9j_45>div:nth-child(2){text-overflow:ellipsis;overflow:hidden;word-break:keep-all}._number_nkd9j_45>div:nth-child(2) a{text-decoration:none}._item_nkd9j_65{display:flex;flex-wrap:nowrap;color:#404040}._item_nkd9j_65 div:nth-child(1){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._item_nkd9j_65 div:nth-child(2){flex-shrink:0}._container_1s8av_1{position:fixed;top:0;right:0;z-index:99999}._backdrop_1s8av_8{width:100vw;height:100vh;background-color:#000;opacity:.7}._modal_1s8av_15{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;width:500px}._modal_1s8av_15 header{background:#fcfcfc;padding:1em 1.5em;border-bottom:1px solid #ddd}._modal_1s8av_15 header h1{margin:0;font-size:18px;font-weight:700;line-height:1.5em}._modal_1s8av_15 header div{position:absolute;top:0;right:0;width:54px;height:54px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-left:1px solid #ddd;color:#666}._modal_1s8av_15 header div:hover{background:#ddd;border-color:#ccc}._modal_1s8av_15 header img{height:32px;width:32px}._modal_1s8av_15 footer{padding:1em 1.5em;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px #0000001a;display:flex;justify-content:flex-end}._root_b92ih_1{display:flex;align-items:center;justify-content:space-between;border:1px solid #8c8f94;border-radius:4px;height:30px;overflow:hidden}._root_b92ih_1 input{line-height:26px;border:0;padding-left:8px}._root_b92ih_1 input:focus{outline:0}._root_b92ih_1 input[type=number]::-webkit-outer-spin-button,._root_b92ih_1 input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}._root_b92ih_1 input[type=number]{appearance:textfield}._root_b92ih_1 ._suffix_b92ih_25{color:#6c7075;margin-right:8px;cursor:default}._root_b92ih_1 ._action_b92ih_30{width:22px;padding:2px;height:100%;display:grid;row-gap:2px}._root_b92ih_1 ._action_b92ih_30 div{border-radius:2px;background-color:#e4e5e7;display:flex;align-items:center;justify-content:center;cursor:pointer}._root_b92ih_1 ._action_b92ih_30 div:hover{background-color:#c9cbcf}._root_b92ih_1 ._action_b92ih_30 div:active{background-color:#b3b5b9}._root_b92ih_1 ._action_b92ih_30 div img{width:10px;height:10px;user-select:none}._modal_128mo_1{padding:20px;max-height:70vh;overflow:auto}._empty_128mo_7{text-align:center;font-size:16px;color:#999c9f}._items_128mo_13{display:grid;text-align:left;grid-template-columns:1fr auto;column-gap:10px;row-gap:6px;align-items:center}._items_128mo_13 thead,._items_128mo_13 tbody,._items_128mo_13 tr{display:contents}._items_128mo_13 th:last-child,._items_128mo_13 td:last-child{text-align:right}._items_128mo_13 th{margin-bottom:8px}._input_128mo_34{color:#3c434a;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:10px}._input_128mo_34 label{display:flex;flex-direction:column}._input_128mo_34 a{font-size:12px;text-decoration-line:underline;margin-left:2px;width:fit-content}._input_128mo_34 label{margin-left:2px}._input_128mo_34 select{border:1px solid #8c8f94;border-radius:4px;min-height:30px;font-size:14px;line-height:28px;padding:0 8px}._input_128mo_34 input{border:1px solid #8c8f94;border-radius:4px;font-size:14px;line-height:28px;padding:0 8px}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:host{all:initial;font-family:inherit;font-size:inherit}*{box-sizing:border-box}a{cursor:pointer;color:#2271b1;transition:color .5s ease-in-out}a:hover{color:#135e96}
|
assets/frontend/dist/orders/index.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
var xr=Object.defineProperty,Nr=Object.defineProperties;var Ar=Object.getOwnPropertyDescriptors;var Ct=Object.getOwnPropertySymbols;var kr=Object.prototype.hasOwnProperty,Ir=Object.prototype.propertyIsEnumerable;var Ve=(U,E,T)=>E in U?xr(U,E,{enumerable:!0,configurable:!0,writable:!0,value:T}):U[E]=T,B=(U,E)=>{for(var T in E||(E={}))kr.call(E,T)&&Ve(U,T,E[T]);if(Ct)for(var T of Ct(E))Ir.call(E,T)&&Ve(U,T,E[T]);return U},R=(U,E)=>Nr(U,Ar(E));var xt=(U,E,T)=>(Ve(U,typeof E!="symbol"?E+"":E,T),T);var ne=(U,E,T)=>new Promise((me,X)=>{var K=O=>{try{re(T.next(O))}catch(Z){X(Z)}},le=O=>{try{re(T.throw(O))}catch(Z){X(Z)}},re=O=>O.done?me(O.value):Promise.resolve(O.value).then(K,le);re((T=T.apply(U,E)).next())});(function(){"use strict";const U=(e,n)=>e===n,E=Symbol("solid-proxy"),T={equals:U};let me=Ge;const X={},K=1,le=2,re={owned:null,cleanups:null,context:null,owner:null};var O=null;let Z=null,M=null,oe=null,H=null,ee=null,ke=0;function ye(e,n){n&&(O=n);const t=M,i=O,s=e.length===0?re:{owned:null,cleanups:null,context:null,owner:i};O=s,M=null;let o;try{Te(()=>o=e(()=>Me(s)),!0)}finally{M=t,O=i}return o}function Q(e,n){n=n?Object.assign({},T,n):T;const t={value:e,observers:null,observerSlots:null,pending:X,comparator:n.equals||void 0};return[Ze.bind(t),i=>(typeof i=="function"&&(Z&&Z.running&&Z.sources.has(t)?i=i(t.pending!==X?t.pending:t.tValue):i=i(t.pending!==X?t.pending:t.value)),je(t,i))]}function G(e,n,t){const i=Oe(e,n,!1,K);_e(i)}function Ie(e,n,t){me=Ot;const i=Oe(e,n,!1,K);i.user=!0,ee&&ee.push(i)}function z(e,n,t){t=t?Object.assign({},T,t):T;const i=Oe(e,n,!0,0);return i.pending=X,i.observers=null,i.observerSlots=null,i.comparator=t.equals||void 0,_e(i),Ze.bind(i)}function Nt(e){if(oe)return e();let n;const t=oe=[];try{n=e()}finally{oe=null}return Te(()=>{for(let i=0;i<t.length;i+=1){const s=t[i];if(s.pending!==X){const o=s.pending;s.pending=X,je(s,o)}}},!1),n}function ie(e){let n,t=M;return M=null,n=e(),M=t,n}function At(e){Ie(()=>ie(e))}function Ye(e){return O===null||(O.cleanups===null?O.cleanups=[e]:O.cleanups.push(e)),e}function kt(e){const n=z(e);return z(()=>De(n()))}function Ze(){const e=Z;if(this.sources&&(this.state||e)){const n=H;H=null,this.state===K||e?_e(this):Ee(this),H=n}if(M){const n=this.observers?this.observers.length:0;M.sources?(M.sources.push(this),M.sourceSlots.push(n)):(M.sources=[this],M.sourceSlots=[n]),this.observers?(this.observers.push(M),this.observerSlots.push(M.sources.length-1)):(this.observers=[M],this.observerSlots=[M.sources.length-1])}return this.value}function je(e,n,t){if(e.comparator&&e.comparator(e.value,n))return n;if(oe)return e.pending===X&&oe.push(e),e.pending=n,n;let i=!1;return e.value=n,e.observers&&e.observers.length&&Te(()=>{for(let s=0;s<e.observers.length;s+=1){const o=e.observers[s];i&&Z.disposed.has(o),o.pure?H.push(o):ee.push(o),o.observers&&(i&&!o.tState||!i&&!o.state)&&We(o),i||(o.state=K)}if(H.length>1e6)throw H=[],new Error},!1),n}function _e(e){if(!e.fn)return;Me(e);const n=O,t=M,i=ke;M=O=e,It(e,e.value,i),M=t,O=n}function It(e,n,t){let i;try{i=e.fn(n)}catch(s){Qe(s)}(!e.updatedAt||e.updatedAt<=t)&&(e.observers&&e.observers.length?je(e,i):e.value=i,e.updatedAt=t)}function Oe(e,n,t,i=K,s){const o={fn:e,state:i,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:n,owner:O,context:null,pure:t};return O===null||O!==re&&(O.owned?O.owned.push(o):O.owned=[o]),o}function ce(e){const n=Z;if(e.state!==K)return e.state=0;if(e.suspense&&ie(e.suspense.inFallback))return e.suspense.effects.push(e);const t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<ke);)(e.state||n)&&t.push(e);for(let i=t.length-1;i>=0;i--)if(e=t[i],e.state===K||n)_e(e);else if(e.state===le||n){const s=H;H=null,Ee(e),H=s}}function Te(e,n){if(H)return e();let t=!1;n||(H=[]),ee?t=!0:ee=[],ke++;try{e()}catch(i){Qe(i)}finally{jt(t)}}function jt(e){H&&(Ge(H),H=null),!e&&(ee.length?Nt(()=>{me(ee),ee=null}):ee=null)}function Ge(e){for(let n=0;n<e.length;n++)ce(e[n])}function Ot(e){let n,t=0;for(n=0;n<e.length;n++){const s=e[n];s.user?e[t++]=s:ce(s)}const i=e.length;for(n=0;n<t;n++)ce(e[n]);for(n=i;n<e.length;n++)ce(e[n])}function Ee(e){e.state=0;const n=Z;for(let t=0;t<e.sources.length;t+=1){const i=e.sources[t];i.sources&&(i.state===K||n?ce(i):(i.state===le||n)&&Ee(i))}}function We(e){const n=Z;for(let t=0;t<e.observers.length;t+=1){const i=e.observers[t];(!i.state||n)&&(i.state=le,i.pure?H.push(i):ee.push(i),i.observers&&We(i))}}function Me(e){let n;if(e.sources)for(;e.sources.length;){const t=e.sources.pop(),i=e.sourceSlots.pop(),s=t.observers;if(s&&s.length){const o=s.pop(),h=t.observerSlots.pop();i<s.length&&(o.sourceSlots[h]=i,s[i]=o,t.observerSlots[i]=h)}}if(e.owned){for(n=0;n<e.owned.length;n++)Me(e.owned[n]);e.owned=null}if(e.cleanups){for(n=0;n<e.cleanups.length;n++)e.cleanups[n]();e.cleanups=null}e.state=0,e.context=null}function Qe(e){throw e}function De(e){if(typeof e=="function"&&!e.length)return De(e());if(Array.isArray(e)){const n=[];for(let t=0;t<e.length;t++){const i=De(e[t]);Array.isArray(i)?n.push.apply(n,i):n.push(i)}return n}return e}const Tt=Symbol("fallback");function Je(e){for(let n=0;n<e.length;n++)e[n]()}function Et(e,n,t={}){let i=[],s=[],o=[],h=0,d=n.length>1?[]:null;return Ye(()=>Je(o)),()=>{let S=e()||[],u,f;return ie(()=>{let C=S.length,k,I,y,m,N,r,a,l,c;if(C===0)h!==0&&(Je(o),o=[],i=[],s=[],h=0,d&&(d=[])),t.fallback&&(i=[Tt],s[0]=ye(g=>(o[0]=g,t.fallback())),h=1);else if(h===0){for(s=new Array(C),f=0;f<C;f++)i[f]=S[f],s[f]=ye(w);h=C}else{for(y=new Array(C),m=new Array(C),d&&(N=new Array(C)),r=0,a=Math.min(h,C);r<a&&i[r]===S[r];r++);for(a=h-1,l=C-1;a>=r&&l>=r&&i[a]===S[l];a--,l--)y[l]=s[a],m[l]=o[a],d&&(N[l]=d[a]);for(k=new Map,I=new Array(l+1),f=l;f>=r;f--)c=S[f],u=k.get(c),I[f]=u===void 0?-1:u,k.set(c,f);for(u=r;u<=a;u++)c=i[u],f=k.get(c),f!==void 0&&f!==-1?(y[f]=s[u],m[f]=o[u],d&&(N[f]=d[u]),f=I[f],k.set(c,f)):o[u]();for(f=r;f<C;f++)f in y?(s[f]=y[f],o[f]=m[f],d&&(d[f]=N[f],d[f](f))):s[f]=ye(w);s=s.slice(0,h=C),i=S.slice(0)}return s});function w(C){if(o[f]=C,d){const[k,I]=Q(f);return d[f]=I,n(S[f],k)}return n(S[f])}}}function Y(e,n){return ie(()=>e(n))}function ve(){return!0}const Mt={get(e,n,t){return n===E?t:e.get(n)},has(e,n){return e.has(n)},set:ve,deleteProperty:ve,getOwnPropertyDescriptor(e,n){return{configurable:!0,enumerable:!0,get(){return e.get(n)},set:ve,deleteProperty:ve}},ownKeys(e){return e.keys()}};function Fe(e){return typeof e=="function"?e():e}function Dt(...e){return new Proxy({get(n){for(let t=e.length-1;t>=0;t--){const i=Fe(e[t])[n];if(i!==void 0)return i}},has(n){for(let t=e.length-1;t>=0;t--)if(n in Fe(e[t]))return!0;return!1},keys(){const n=[];for(let t=0;t<e.length;t++)n.push(...Object.keys(Fe(e[t])));return[...new Set(n)]}},Mt)}function Le(e){const n="fallback"in e&&{fallback:()=>e.fallback};return z(Et(()=>e.each,e.children,n||void 0))}function Be(e){let n=!1;const t=z(()=>e.when,void 0,{equals:(i,s)=>n?i===s:!i==!s});return z(()=>{const i=t();if(i){const s=e.children;return(n=typeof s=="function"&&s.length>0)?ie(()=>s(i)):s}return e.fallback})}function Ft(e){let n=!1;const t=kt(()=>e.children),i=z(()=>{let s=t();Array.isArray(s)||(s=[s]);for(let o=0;o<s.length;o++){const h=s[o].when;if(h)return[o,h,s[o]]}return[-1]},void 0,{equals:(s,o)=>s&&s[0]===o[0]&&(n?s[1]===o[1]:!s[1]==!o[1])&&s[2]===o[2]});return z(()=>{const[s,o,h]=i();if(s<0)return e.fallback;const d=h.children;return(n=typeof d=="function"&&d.length>0)?ie(()=>d(o)):d})}function Lt(e){return e}function Xe(e,n,t){let i=t.length,s=n.length,o=i,h=0,d=0,S=n[s-1].nextSibling,u=null;for(;h<s||d<o;){if(n[h]===t[d]){h++,d++;continue}for(;n[s-1]===t[o-1];)s--,o--;if(s===h){const f=o<i?d?t[d-1].nextSibling:t[o-d]:S;for(;d<o;)e.insertBefore(t[d++],f)}else if(o===d)for(;h<s;)(!u||!u.has(n[h]))&&e.removeChild(n[h]),h++;else if(n[h]===t[o-1]&&t[d]===n[s-1]){const f=n[--s].nextSibling;e.insertBefore(t[d++],n[h++].nextSibling),e.insertBefore(t[--o],f),n[s]=t[o]}else{if(!u){u=new Map;let w=d;for(;w<o;)u.set(t[w],w++)}const f=u.get(n[h]);if(f!=null)if(d<f&&f<o){let w=h,C=1,k;for(;++w<s&&w<o&&!((k=u.get(n[w]))==null||k!==f+C);)C++;if(C>f-d){const I=n[h];for(;d<f;)e.insertBefore(t[d++],I)}else e.replaceChild(t[d++],n[h++])}else h++;else e.removeChild(n[h++])}}}const Ke="_$DX_DELEGATE";function Bt(e,n,t){let i;return ye(s=>{i=s,L(n,e(),n.firstChild?null:void 0,t)}),()=>{i(),n.textContent=""}}function J(e,n,t){const i=document.createElement("template");i.innerHTML=e;let s=i.content.firstChild;return t&&(s=s.firstChild),s}function be(e,n=window.document){const t=n[Ke]||(n[Ke]=new Set);for(let i=0,s=e.length;i<s;i++){const o=e[i];t.has(o)||(t.add(o),n.addEventListener(o,Ut))}}function se(e,n,t){t==null?e.removeAttribute(n):e.setAttribute(n,t)}function Re(e,n,t,i){i?Array.isArray(t)?(e[`$$${n}`]=t[0],e[`$$${n}Data`]=t[1]):e[`$$${n}`]=t:Array.isArray(t)?e.addEventListener(n,s=>t[0](t[1],s)):e.addEventListener(n,t)}function Rt(e,n,t={}){const i=Object.keys(n||{}),s=Object.keys(t);let o,h;for(o=0,h=s.length;o<h;o++){const d=s[o];!d||d==="undefined"||n[d]||(et(e,d,!1),delete t[d])}for(o=0,h=i.length;o<h;o++){const d=i[o],S=!!n[d];!d||d==="undefined"||t[d]===S||!S||(et(e,d,!0),t[d]=S)}return t}function Pt(e,n,t={}){const i=e.style;if(n==null||typeof n=="string")return i.cssText=n;typeof t=="string"&&(t={});let s,o;for(o in t)n[o]==null&&i.removeProperty(o),delete t[o];for(o in n)s=n[o],s!==t[o]&&(i.setProperty(o,s),t[o]=s);return t}function L(e,n,t,i){if(t!==void 0&&!i&&(i=[]),typeof n!="function")return pe(e,n,i,t);G(s=>pe(e,n(),s,t),i)}function et(e,n,t){const i=n.trim().split(/\s+/);for(let s=0,o=i.length;s<o;s++)e.classList.toggle(i[s],t)}function Ut(e){const n=`$$${e.type}`;let t=e.composedPath&&e.composedPath()[0]||e.target;for(e.target!==t&&Object.defineProperty(e,"target",{configurable:!0,value:t}),Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t}});t!==null;){const i=t[n];if(i&&!t.disabled){const s=t[`${n}Data`];if(s!==void 0?i(s,e):i(e),e.cancelBubble)return}t=t.host&&t.host!==t&&t.host instanceof Node?t.host:t.parentNode}}function pe(e,n,t,i,s){for(;typeof t=="function";)t=t();if(n===t)return t;const o=typeof n,h=i!==void 0;if(e=h&&t[0]&&t[0].parentNode||e,o==="string"||o==="number")if(o==="number"&&(n=n.toString()),h){let d=t[0];d&&d.nodeType===3?d.data=n:d=document.createTextNode(n),t=ue(e,t,i,d)}else t!==""&&typeof t=="string"?t=e.firstChild.data=n:t=e.textContent=n;else if(n==null||o==="boolean")t=ue(e,t,i);else{if(o==="function")return G(()=>{let d=n();for(;typeof d=="function";)d=d();t=pe(e,d,t,i)}),()=>t;if(Array.isArray(n)){const d=[];if(Pe(d,n,s))return G(()=>t=pe(e,d,t,i,!0)),()=>t;if(d.length===0){if(t=ue(e,t,i),h)return t}else Array.isArray(t)?t.length===0?tt(e,d,i):Xe(e,t,d):t==null||t===""?tt(e,d):Xe(e,h&&t||[e.firstChild],d);t=d}else if(n instanceof Node){if(Array.isArray(t)){if(h)return t=ue(e,t,i,n);ue(e,t,null,n)}else t==null||t===""||!e.firstChild?e.appendChild(n):e.replaceChild(n,e.firstChild);t=n}}return t}function Pe(e,n,t){let i=!1;for(let s=0,o=n.length;s<o;s++){let h=n[s],d;if(h instanceof Node)e.push(h);else if(!(h==null||h===!0||h===!1))if(Array.isArray(h))i=Pe(e,h)||i;else if((d=typeof h)==="string")e.push(document.createTextNode(h));else if(d==="function")if(t){for(;typeof h=="function";)h=h();i=Pe(e,Array.isArray(h)?h:[h])||i}else e.push(h),i=!0;else e.push(document.createTextNode(h.toString()))}return i}function tt(e,n,t){for(let i=0,s=n.length;i<s;i++)e.insertBefore(n[i],t)}function ue(e,n,t,i){if(t===void 0)return e.textContent="";const s=i||document.createTextNode("");if(n.length){let o=!1;for(let h=n.length-1;h>=0;h--){const d=n[h];if(s!==d){const S=d.parentNode===e;!o&&!h?S?e.replaceChild(s,d):e.insertBefore(s,t):S&&e.removeChild(d)}else o=!0}}else e.insertBefore(s,t);return[s]}var jr="",fe=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Ht(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var nt={exports:{}},rt={exports:{}};(function(e,n){(function(t,i){e.exports=i()})(fe,function(){var t=t||function(i,s){var o;if(typeof window!="undefined"&&window.crypto&&(o=window.crypto),typeof self!="undefined"&&self.crypto&&(o=self.crypto),typeof globalThis!="undefined"&&globalThis.crypto&&(o=globalThis.crypto),!o&&typeof window!="undefined"&&window.msCrypto&&(o=window.msCrypto),!o&&typeof fe!="undefined"&&fe.crypto&&(o=fe.crypto),!o&&typeof Ht=="function")try{o=require("crypto")}catch(r){}var h=function(){if(o){if(typeof o.getRandomValues=="function")try{return o.getRandomValues(new Uint32Array(1))[0]}catch(r){}if(typeof o.randomBytes=="function")try{return o.randomBytes(4).readInt32LE()}catch(r){}}throw new Error("Native crypto module could not be used to get secure random number.")},d=Object.create||function(){function r(){}return function(a){var l;return r.prototype=a,l=new r,r.prototype=null,l}}(),S={},u=S.lib={},f=u.Base=function(){return{extend:function(r){var a=d(this);return r&&a.mixIn(r),(!a.hasOwnProperty("init")||this.init===a.init)&&(a.init=function(){a.$super.init.apply(this,arguments)}),a.init.prototype=a,a.$super=this,a},create:function(){var r=this.extend();return r.init.apply(r,arguments),r},init:function(){},mixIn:function(r){for(var a in r)r.hasOwnProperty(a)&&(this[a]=r[a]);r.hasOwnProperty("toString")&&(this.toString=r.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),w=u.WordArray=f.extend({init:function(r,a){r=this.words=r||[],a!=s?this.sigBytes=a:this.sigBytes=r.length*4},toString:function(r){return(r||k).stringify(this)},concat:function(r){var a=this.words,l=r.words,c=this.sigBytes,g=r.sigBytes;if(this.clamp(),c%4)for(var x=0;x<g;x++){var $=l[x>>>2]>>>24-x%4*8&255;a[c+x>>>2]|=$<<24-(c+x)%4*8}else for(var j=0;j<g;j+=4)a[c+j>>>2]=l[j>>>2];return this.sigBytes+=g,this},clamp:function(){var r=this.words,a=this.sigBytes;r[a>>>2]&=4294967295<<32-a%4*8,r.length=i.ceil(a/4)},clone:function(){var r=f.clone.call(this);return r.words=this.words.slice(0),r},random:function(r){for(var a=[],l=0;l<r;l+=4)a.push(h());return new w.init(a,r)}}),C=S.enc={},k=C.Hex={stringify:function(r){for(var a=r.words,l=r.sigBytes,c=[],g=0;g<l;g++){var x=a[g>>>2]>>>24-g%4*8&255;c.push((x>>>4).toString(16)),c.push((x&15).toString(16))}return c.join("")},parse:function(r){for(var a=r.length,l=[],c=0;c<a;c+=2)l[c>>>3]|=parseInt(r.substr(c,2),16)<<24-c%8*4;return new w.init(l,a/2)}},I=C.Latin1={stringify:function(r){for(var a=r.words,l=r.sigBytes,c=[],g=0;g<l;g++){var x=a[g>>>2]>>>24-g%4*8&255;c.push(String.fromCharCode(x))}return c.join("")},parse:function(r){for(var a=r.length,l=[],c=0;c<a;c++)l[c>>>2]|=(r.charCodeAt(c)&255)<<24-c%4*8;return new w.init(l,a)}},y=C.Utf8={stringify:function(r){try{return decodeURIComponent(escape(I.stringify(r)))}catch(a){throw new Error("Malformed UTF-8 data")}},parse:function(r){return I.parse(unescape(encodeURIComponent(r)))}},m=u.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new w.init,this._nDataBytes=0},_append:function(r){typeof r=="string"&&(r=y.parse(r)),this._data.concat(r),this._nDataBytes+=r.sigBytes},_process:function(r){var a,l=this._data,c=l.words,g=l.sigBytes,x=this.blockSize,$=x*4,j=g/$;r?j=i.ceil(j):j=i.max((j|0)-this._minBufferSize,0);var A=j*x,D=i.min(A*4,g);if(A){for(var P=0;P<A;P+=x)this._doProcessBlock(c,P);a=c.splice(0,A),l.sigBytes-=D}return new w.init(a,D)},clone:function(){var r=f.clone.call(this);return r._data=this._data.clone(),r},_minBufferSize:0});u.Hasher=m.extend({cfg:f.extend(),init:function(r){this.cfg=this.cfg.extend(r),this.reset()},reset:function(){m.reset.call(this),this._doReset()},update:function(r){return this._append(r),this._process(),this},finalize:function(r){r&&this._append(r);var a=this._doFinalize();return a},blockSize:512/32,_createHelper:function(r){return function(a,l){return new r.init(l).finalize(a)}},_createHmacHelper:function(r){return function(a,l){return new N.HMAC.init(r,l).finalize(a)}}});var N=S.algo={};return S}(Math);return t})})(rt),function(e,n){(function(t,i){e.exports=i(rt.exports)})(fe,function(t){return function(i){var s=t,o=s.lib,h=o.WordArray,d=o.Hasher,S=s.algo,u=[];(function(){for(var y=0;y<64;y++)u[y]=i.abs(i.sin(y+1))*4294967296|0})();var f=S.MD5=d.extend({_doReset:function(){this._hash=new h.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(y,m){for(var N=0;N<16;N++){var r=m+N,a=y[r];y[r]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360}var l=this._hash.words,c=y[m+0],g=y[m+1],x=y[m+2],$=y[m+3],j=y[m+4],A=y[m+5],D=y[m+6],P=y[m+7],q=y[m+8],V=y[m+9],F=y[m+10],te=y[m+11],W=y[m+12],xe=y[m+13],Ne=y[m+14],Ae=y[m+15],_=l[0],v=l[1],b=l[2],p=l[3];_=w(_,v,b,p,c,7,u[0]),p=w(p,_,v,b,g,12,u[1]),b=w(b,p,_,v,x,17,u[2]),v=w(v,b,p,_,$,22,u[3]),_=w(_,v,b,p,j,7,u[4]),p=w(p,_,v,b,A,12,u[5]),b=w(b,p,_,v,D,17,u[6]),v=w(v,b,p,_,P,22,u[7]),_=w(_,v,b,p,q,7,u[8]),p=w(p,_,v,b,V,12,u[9]),b=w(b,p,_,v,F,17,u[10]),v=w(v,b,p,_,te,22,u[11]),_=w(_,v,b,p,W,7,u[12]),p=w(p,_,v,b,xe,12,u[13]),b=w(b,p,_,v,Ne,17,u[14]),v=w(v,b,p,_,Ae,22,u[15]),_=C(_,v,b,p,g,5,u[16]),p=C(p,_,v,b,D,9,u[17]),b=C(b,p,_,v,te,14,u[18]),v=C(v,b,p,_,c,20,u[19]),_=C(_,v,b,p,A,5,u[20]),p=C(p,_,v,b,F,9,u[21]),b=C(b,p,_,v,Ae,14,u[22]),v=C(v,b,p,_,j,20,u[23]),_=C(_,v,b,p,V,5,u[24]),p=C(p,_,v,b,Ne,9,u[25]),b=C(b,p,_,v,$,14,u[26]),v=C(v,b,p,_,q,20,u[27]),_=C(_,v,b,p,xe,5,u[28]),p=C(p,_,v,b,x,9,u[29]),b=C(b,p,_,v,P,14,u[30]),v=C(v,b,p,_,W,20,u[31]),_=k(_,v,b,p,A,4,u[32]),p=k(p,_,v,b,q,11,u[33]),b=k(b,p,_,v,te,16,u[34]),v=k(v,b,p,_,Ne,23,u[35]),_=k(_,v,b,p,g,4,u[36]),p=k(p,_,v,b,j,11,u[37]),b=k(b,p,_,v,P,16,u[38]),v=k(v,b,p,_,F,23,u[39]),_=k(_,v,b,p,xe,4,u[40]),p=k(p,_,v,b,c,11,u[41]),b=k(b,p,_,v,$,16,u[42]),v=k(v,b,p,_,D,23,u[43]),_=k(_,v,b,p,V,4,u[44]),p=k(p,_,v,b,W,11,u[45]),b=k(b,p,_,v,Ae,16,u[46]),v=k(v,b,p,_,x,23,u[47]),_=I(_,v,b,p,c,6,u[48]),p=I(p,_,v,b,P,10,u[49]),b=I(b,p,_,v,Ne,15,u[50]),v=I(v,b,p,_,A,21,u[51]),_=I(_,v,b,p,W,6,u[52]),p=I(p,_,v,b,$,10,u[53]),b=I(b,p,_,v,F,15,u[54]),v=I(v,b,p,_,g,21,u[55]),_=I(_,v,b,p,q,6,u[56]),p=I(p,_,v,b,Ae,10,u[57]),b=I(b,p,_,v,D,15,u[58]),v=I(v,b,p,_,xe,21,u[59]),_=I(_,v,b,p,j,6,u[60]),p=I(p,_,v,b,te,10,u[61]),b=I(b,p,_,v,x,15,u[62]),v=I(v,b,p,_,V,21,u[63]),l[0]=l[0]+_|0,l[1]=l[1]+v|0,l[2]=l[2]+b|0,l[3]=l[3]+p|0},_doFinalize:function(){var y=this._data,m=y.words,N=this._nDataBytes*8,r=y.sigBytes*8;m[r>>>5]|=128<<24-r%32;var a=i.floor(N/4294967296),l=N;m[(r+64>>>9<<4)+15]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360,m[(r+64>>>9<<4)+14]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,y.sigBytes=(m.length+1)*4,this._process();for(var c=this._hash,g=c.words,x=0;x<4;x++){var $=g[x];g[x]=($<<8|$>>>24)&16711935|($<<24|$>>>8)&4278255360}return c},clone:function(){var y=d.clone.call(this);return y._hash=this._hash.clone(),y}});function w(y,m,N,r,a,l,c){var g=y+(m&N|~m&r)+a+c;return(g<<l|g>>>32-l)+m}function C(y,m,N,r,a,l,c){var g=y+(m&r|N&~r)+a+c;return(g<<l|g>>>32-l)+m}function k(y,m,N,r,a,l,c){var g=y+(m^N^r)+a+c;return(g<<l|g>>>32-l)+m}function I(y,m,N,r,a,l,c){var g=y+(N^(m|~r))+a+c;return(g<<l|g>>>32-l)+m}s.MD5=d._createHelper(f),s.HmacMD5=d._createHmacHelper(f)}(Math),t.MD5})}(nt);var qt=nt.exports,de={},zt=e=>encodeURIComponent(e).replace(/[!'()*]/g,n=>`%${n.charCodeAt(0).toString(16).toUpperCase()}`),it="%[a-f0-9]{2}",st=new RegExp(it,"gi"),at=new RegExp("("+it+")+","gi");function Ue(e,n){try{return decodeURIComponent(e.join(""))}catch(s){}if(e.length===1)return e;n=n||1;var t=e.slice(0,n),i=e.slice(n);return Array.prototype.concat.call([],Ue(t),Ue(i))}function Vt(e){try{return decodeURIComponent(e)}catch(i){for(var n=e.match(st),t=1;t<n.length;t++)e=Ue(n,t).join(""),n=e.match(st);return e}}function Yt(e){for(var n={"%FE%FF":"\uFFFD\uFFFD","%FF%FE":"\uFFFD\uFFFD"},t=at.exec(e);t;){try{n[t[0]]=decodeURIComponent(t[0])}catch(d){var i=Vt(t[0]);i!==t[0]&&(n[t[0]]=i)}t=at.exec(e)}n["%C2"]="\uFFFD";for(var s=Object.keys(n),o=0;o<s.length;o++){var h=s[o];e=e.replace(new RegExp(h,"g"),n[h])}return e}var Zt=function(e){if(typeof e!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return e=e.replace(/\+/g," "),decodeURIComponent(e)}catch(n){return Yt(e)}},Gt=(e,n)=>{if(!(typeof e=="string"&&typeof n=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(n==="")return[e];const t=e.indexOf(n);return t===-1?[e]:[e.slice(0,t),e.slice(t+n.length)]},Wt=function(e,n){for(var t={},i=Object.keys(e),s=Array.isArray(n),o=0;o<i.length;o++){var h=i[o],d=e[h];(s?n.indexOf(h)!==-1:n(h,d,e))&&(t[h]=d)}return t};(function(e){const n=zt,t=Zt,i=Gt,s=Wt,o=r=>r==null,h=Symbol("encodeFragmentIdentifier");function d(r){switch(r.arrayFormat){case"index":return a=>(l,c)=>{const g=l.length;return c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,[f(a,r),"[",g,"]"].join("")]:[...l,[f(a,r),"[",f(g,r),"]=",f(c,r)].join("")]};case"bracket":return a=>(l,c)=>c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,[f(a,r),"[]"].join("")]:[...l,[f(a,r),"[]=",f(c,r)].join("")];case"colon-list-separator":return a=>(l,c)=>c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,[f(a,r),":list="].join("")]:[...l,[f(a,r),":list=",f(c,r)].join("")];case"comma":case"separator":case"bracket-separator":{const a=r.arrayFormat==="bracket-separator"?"[]=":"=";return l=>(c,g)=>g===void 0||r.skipNull&&g===null||r.skipEmptyString&&g===""?c:(g=g===null?"":g,c.length===0?[[f(l,r),a,f(g,r)].join("")]:[[c,f(g,r)].join(r.arrayFormatSeparator)])}default:return a=>(l,c)=>c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,f(a,r)]:[...l,[f(a,r),"=",f(c,r)].join("")]}}function S(r){let a;switch(r.arrayFormat){case"index":return(l,c,g)=>{if(a=/\[(\d*)\]$/.exec(l),l=l.replace(/\[\d*\]$/,""),!a){g[l]=c;return}g[l]===void 0&&(g[l]={}),g[l][a[1]]=c};case"bracket":return(l,c,g)=>{if(a=/(\[\])$/.exec(l),l=l.replace(/\[\]$/,""),!a){g[l]=c;return}if(g[l]===void 0){g[l]=[c];return}g[l]=[].concat(g[l],c)};case"colon-list-separator":return(l,c,g)=>{if(a=/(:list)$/.exec(l),l=l.replace(/:list$/,""),!a){g[l]=c;return}if(g[l]===void 0){g[l]=[c];return}g[l]=[].concat(g[l],c)};case"comma":case"separator":return(l,c,g)=>{const x=typeof c=="string"&&c.includes(r.arrayFormatSeparator),$=typeof c=="string"&&!x&&w(c,r).includes(r.arrayFormatSeparator);c=$?w(c,r):c;const j=x||$?c.split(r.arrayFormatSeparator).map(A=>w(A,r)):c===null?c:w(c,r);g[l]=j};case"bracket-separator":return(l,c,g)=>{const x=/(\[\])$/.test(l);if(l=l.replace(/\[\]$/,""),!x){g[l]=c&&w(c,r);return}const $=c===null?[]:c.split(r.arrayFormatSeparator).map(j=>w(j,r));if(g[l]===void 0){g[l]=$;return}g[l]=[].concat(g[l],$)};default:return(l,c,g)=>{if(g[l]===void 0){g[l]=c;return}g[l]=[].concat(g[l],c)}}}function u(r){if(typeof r!="string"||r.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function f(r,a){return a.encode?a.strict?n(r):encodeURIComponent(r):r}function w(r,a){return a.decode?t(r):r}function C(r){return Array.isArray(r)?r.sort():typeof r=="object"?C(Object.keys(r)).sort((a,l)=>Number(a)-Number(l)).map(a=>r[a]):r}function k(r){const a=r.indexOf("#");return a!==-1&&(r=r.slice(0,a)),r}function I(r){let a="";const l=r.indexOf("#");return l!==-1&&(a=r.slice(l)),a}function y(r){r=k(r);const a=r.indexOf("?");return a===-1?"":r.slice(a+1)}function m(r,a){return a.parseNumbers&&!Number.isNaN(Number(r))&&typeof r=="string"&&r.trim()!==""?r=Number(r):a.parseBooleans&&r!==null&&(r.toLowerCase()==="true"||r.toLowerCase()==="false")&&(r=r.toLowerCase()==="true"),r}function N(r,a){a=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},a),u(a.arrayFormatSeparator);const l=S(a),c=Object.create(null);if(typeof r!="string"||(r=r.trim().replace(/^[?#&]/,""),!r))return c;for(const g of r.split("&")){if(g==="")continue;let[x,$]=i(a.decode?g.replace(/\+/g," "):g,"=");$=$===void 0?null:["comma","separator","bracket-separator"].includes(a.arrayFormat)?$:w($,a),l(w(x,a),$,c)}for(const g of Object.keys(c)){const x=c[g];if(typeof x=="object"&&x!==null)for(const $ of Object.keys(x))x[$]=m(x[$],a);else c[g]=m(x,a)}return a.sort===!1?c:(a.sort===!0?Object.keys(c).sort():Object.keys(c).sort(a.sort)).reduce((g,x)=>{const $=c[x];return Boolean($)&&typeof $=="object"&&!Array.isArray($)?g[x]=C($):g[x]=$,g},Object.create(null))}e.extract=y,e.parse=N,e.stringify=(r,a)=>{if(!r)return"";a=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},a),u(a.arrayFormatSeparator);const l=$=>a.skipNull&&o(r[$])||a.skipEmptyString&&r[$]==="",c=d(a),g={};for(const $ of Object.keys(r))l($)||(g[$]=r[$]);const x=Object.keys(g);return a.sort!==!1&&x.sort(a.sort),x.map($=>{const j=r[$];return j===void 0?"":j===null?f($,a):Array.isArray(j)?j.length===0&&a.arrayFormat==="bracket-separator"?f($,a)+"[]":j.reduce(c($),[]).join("&"):f($,a)+"="+f(j,a)}).filter($=>$.length>0).join("&")},e.parseUrl=(r,a)=>{a=Object.assign({decode:!0},a);const[l,c]=i(r,"#");return Object.assign({url:l.split("?")[0]||"",query:N(y(r),a)},a&&a.parseFragmentIdentifier&&c?{fragmentIdentifier:w(c,a)}:{})},e.stringifyUrl=(r,a)=>{a=Object.assign({encode:!0,strict:!0,[h]:!0},a);const l=k(r.url).split("?")[0]||"",c=e.extract(r.url),g=e.parse(c,{sort:!1}),x=Object.assign(g,r.query);let $=e.stringify(x,a);$&&($=`?${$}`);let j=I(r.url);return r.fragmentIdentifier&&(j=`#${a[h]?f(r.fragmentIdentifier,a):r.fragmentIdentifier}`),`${l}${$}${j}`},e.pick=(r,a,l)=>{l=Object.assign({parseFragmentIdentifier:!0,[h]:!1},l);const{url:c,query:g,fragmentIdentifier:x}=e.parseUrl(r,l);return e.stringifyUrl({url:c,query:s(g,a),fragmentIdentifier:x},l)},e.exclude=(r,a,l)=>{const c=Array.isArray(a)?g=>!a.includes(g):(g,x)=>!a(g,x);return e.pick(r,c,l)}})(de);const[ge,Qt]=Q([]),[lt,Jt]=Q([]),[ot,ct]=Q(new Map),[Xt,Kt]=Q([]),[Or,en]=Q(""),[tn,nn]=Q(""),we=window.woocommerce_admin_meta_boxes.ajax_url;function rn(e){return ne(this,null,function*(){var t;const n=((t=document.querySelector("#aftership_get_nonce"))==null?void 0:t.value)||"";yield fetch(de.stringifyUrl({url:we,query:{action:"aftership_get_order_trackings",security:n,order_id:e,t:Date.now()}})).then(i=>i.json()).then(i=>{const s=i.data,o=window.get_aftership_couriers(),h=new Map;s.trackings.forEach(d=>{if(h.has(d.slug))return;const S=o.find(u=>u.slug===d.slug);S&&h.set(d.slug,S)}),ct(d=>new Map([...d,...h])),Qt(s.trackings),Kt(s.line_items),nn(s.number)})})}function sn(e,n){return ne(this,null,function*(){var S;const t=ge().find(u=>u.tracking_id===n.tracking_id),i=ge().findIndex(u=>u.tracking_id===n.tracking_id),s=new Date().toISOString().replace(/\.\d+(?=Z$)/,""),o=n.slug!==(t==null?void 0:t.slug)||n.tracking_number!==(t==null?void 0:t.tracking_number);let h=[...ge()];t&&!o?h.splice(i,1,R(B({},n),{metrics:{created_at:t.metrics.created_at||s,updated_at:s}})):h=[...h.filter(u=>u.tracking_id!==n.tracking_id),R(B({},n),{tracking_id:qt(`${n.slug}-${n.tracking_number}`).toString(),metrics:{created_at:s,updated_at:s}})];const d=((S=document.querySelector("#aftership_create_nonce"))==null?void 0:S.value)||"";yield fetch(de.stringifyUrl({url:we,query:{action:"aftership_save_order_tracking",security:d}}),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({order_id:e,trackings:h})})})}function an(e,n){return ne(this,null,function*(){var i;const t=((i=document.querySelector("#aftership_delete_nonce"))==null?void 0:i.value)||"";yield fetch(de.stringifyUrl({url:we,query:{action:"aftership_delete_order_tracking",security:t}}),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({order_id:e,tracking_id:n})})})}function ln(){return ne(this,null,function*(){yield fetch(de.stringifyUrl({url:we,query:{action:"aftership_get_settings",t:Date.now()}})).then(e=>e.json()).then(e=>{const n=e.data.couriers,t=new Map(ot());n.forEach(i=>{t.set(i.slug,i)}),ct(i=>new Map([...i,...t])),Jt(n),en(e.data.custom_domain)})})}var on=typeof global=="object"&&global&&global.Object===Object&&global,cn=on,un=typeof self=="object"&&self&&self.Object===Object&&self,fn=cn||un||Function("return this")(),dn=fn,gn=dn.Symbol,ae=gn,ut=Object.prototype,hn=ut.hasOwnProperty,mn=ut.toString,he=ae?ae.toStringTag:void 0;function yn(e){var n=hn.call(e,he),t=e[he];try{e[he]=void 0;var i=!0}catch(o){}var s=mn.call(e);return i&&(n?e[he]=t:delete e[he]),s}var _n=Object.prototype,vn=_n.toString;function bn(e){return vn.call(e)}var pn="[object Null]",wn="[object Undefined]",ft=ae?ae.toStringTag:void 0;function Sn(e){return e==null?e===void 0?wn:pn:ft&&ft in Object(e)?yn(e):bn(e)}function $n(e){return e!=null&&typeof e=="object"}var Cn="[object Symbol]";function xn(e){return typeof e=="symbol"||$n(e)&&Sn(e)==Cn}function Nn(e,n){for(var t=-1,i=e==null?0:e.length,s=Array(i);++t<i;)s[t]=n(e[t],t,e);return s}var An=Array.isArray,kn=An,In=1/0,dt=ae?ae.prototype:void 0,gt=dt?dt.toString:void 0;function ht(e){if(typeof e=="string")return e;if(kn(e))return Nn(e,ht)+"";if(xn(e))return gt?gt.call(e):"";var n=e+"";return n=="0"&&1/e==-In?"-0":n}function mt(e){return e==null?"":ht(e)}function jn(e,n,t){var i=-1,s=e.length;n<0&&(n=-n>s?0:s+n),t=t>s?s:t,t<0&&(t+=s),s=n>t?0:t-n>>>0,n>>>=0;for(var o=Array(s);++i<s;)o[i]=e[i+n];return o}function On(e,n,t){var i=e.length;return t=t===void 0?i:t,!n&&t>=i?e:jn(e,n,t)}var Tn="\\ud800-\\udfff",En="\\u0300-\\u036f",Mn="\\ufe20-\\ufe2f",Dn="\\u20d0-\\u20ff",Fn=En+Mn+Dn,Ln="\\ufe0e\\ufe0f",Bn="\\u200d",Rn=RegExp("["+Bn+Tn+Fn+Ln+"]");function yt(e){return Rn.test(e)}function Pn(e){return e.split("")}var _t="\\ud800-\\udfff",Un="\\u0300-\\u036f",Hn="\\ufe20-\\ufe2f",qn="\\u20d0-\\u20ff",zn=Un+Hn+qn,Vn="\\ufe0e\\ufe0f",Yn="["+_t+"]",He="["+zn+"]",qe="\\ud83c[\\udffb-\\udfff]",Zn="(?:"+He+"|"+qe+")",vt="[^"+_t+"]",bt="(?:\\ud83c[\\udde6-\\uddff]){2}",pt="[\\ud800-\\udbff][\\udc00-\\udfff]",Gn="\\u200d",wt=Zn+"?",St="["+Vn+"]?",Wn="(?:"+Gn+"(?:"+[vt,bt,pt].join("|")+")"+St+wt+")*",Qn=St+wt+Wn,Jn="(?:"+[vt+He+"?",He,bt,pt,Yn].join("|")+")",Xn=RegExp(qe+"(?="+qe+")|"+Jn+Qn,"g");function Kn(e){return e.match(Xn)||[]}function er(e){return yt(e)?Kn(e):Pn(e)}function tr(e){return function(n){n=mt(n);var t=yt(n)?er(n):void 0,i=t?t[0]:n.charAt(0),s=t?On(t,1).join(""):n.slice(1);return i[e]()+s}}var nr=tr("toUpperCase"),rr=nr;function ir(e){return rr(mt(e).toLowerCase())}var $t={button:"_button_1dv9o_1",primary:"_primary_1dv9o_18"};const sr=J("<button></button>"),ar=e=>(()=>{const n=sr.cloneNode(!0);return Re(n,"click",e.onClick,!0),L(n,()=>e.children),G(t=>{const i={[$t.button]:!0,[$t.primary]:e.type==="primary"},s=e.disabled,o=e.style;return t._v$=Rt(n,i,t._v$),s!==t._v$2&&(n.disabled=t._v$2=s),t._v$3=Pt(n,o,t._v$3),t},{_v$:void 0,_v$2:void 0,_v$3:void 0}),n})();be(["click"]);var Se={container:"_container_1s8av_1",backdrop:"_backdrop_1s8av_8",modal:"_modal_1s8av_15"},lr="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmkteCIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBmaWxsPSIjNjY2IiBkPSJNNC42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCA3LjI5M2wyLjY0Ni0yLjY0N2EuNS41IDAgMCAxIC43MDguNzA4TDguNzA3IDhsMi42NDcgMi42NDZhLjUuNSAwIDAgMS0uNzA4LjcwOEw4IDguNzA3bC0yLjY0NiAyLjY0N2EuNS41IDAgMCAxLS43MDgtLjcwOEw3LjI5MyA4IDQuNjQ2IDUuMzU0YS41LjUgMCAwIDEgMC0uNzA4eiIvPgo8L3N2Zz4=";const or=J('<div><div></div><section><header><h1></h1><div role="button"><img></div></header><article></article><footer></footer></section></div>');function cr(e){return Ie(()=>{e.visible?document.body.style.overflowY="hidden":document.body.style.overflowY="auto"}),Y(Be,{get when(){return e.visible},get children(){const n=or.cloneNode(!0),t=n.firstChild,i=t.nextSibling,s=i.firstChild,o=s.firstChild,h=o.nextSibling,d=h.firstChild,S=s.nextSibling,u=S.nextSibling;return Re(t,"click",e.onCancel,!0),L(o,()=>e.title),Re(h,"click",e.onCancel,!0),se(d,"src",lr),L(S,()=>e.children),L(u,Y(ar,{get disabled(){return e.disabled},onClick:()=>e.onOk&&e.onOk(),type:"primary",get children(){return e.okText||"Ok"}})),G(f=>{const w=Se.container,C=Se.backdrop,k=Se.modal,I=Se.header;return w!==f._v$&&(n.className=f._v$=w),C!==f._v$2&&(t.className=f._v$2=C),k!==f._v$3&&(i.className=f._v$3=k),I!==f._v$4&&(s.className=f._v$4=I),f},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),n}})}be(["click"]);var ze={root:"_root_b92ih_1",suffix:"_suffix_b92ih_25",action:"_action_b92ih_30"},ur="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktY2FyZXQtdXAtZmlsbCIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBmaWxsPSIjNWM1ZjYyIiBkPSJtNy4yNDcgNC44Ni00Ljc5NiA1LjQ4MWMtLjU2Ni42NDctLjEwNiAxLjY1OS43NTMgMS42NTloOS41OTJhMSAxIDAgMCAwIC43NTMtMS42NTlsLTQuNzk2LTUuNDhhMSAxIDAgMCAwLTEuNTA2IDB6Ii8+Cjwvc3ZnPg==",fr="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktY2FyZXQtZG93bi1maWxsIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgogIDxwYXRoIGZpbGw9IiM1YzVmNjIiIGQ9Ik03LjI0NyAxMS4xNCAyLjQ1MSA1LjY1OEMxLjg4NSA1LjAxMyAyLjM0NSA0IDMuMjA0IDRoOS41OTJhMSAxIDAgMCAxIC43NTMgMS42NTlsLTQuNzk2IDUuNDhhMSAxIDAgMCAxLTEuNTA2IDB6Ii8+Cjwvc3ZnPg==";const dr=J("<div>of </div>"),gr=J('<div><div><input type="number" inputmode="numeric"></div><div aria-hidden><div role="button" tabindex="-1"><img></div><div role="button" tabindex="-1"><img></div></div></div>');function hr(e){let n;const t=Dt({step:1},e);function i(S){return t.min!==void 0&&Number(S)<t.min}function s(S){return t.max!==void 0&&Number(S)>t.max}function o(S){!S||i(S)||s(S)||t.onChange(Number(S))}function h(S){if(S)if(i(S)){t.onChange(t.min),n.value=String(t.min);return}else if(s(S)){t.onChange(t.max),n.value=String(t.max);return}else t.onChange(Number(S));else n.value="",t.onChange(void 0)}function d(S){const u=t.value;let f;if(u===void 0)f=S>0?t.min:t.max,t.onChange(f||0);else{f=u+S*t.step;const w=String(f);if(i(w)||s(w))return}t.onChange(f)}return(()=>{const S=gr.cloneNode(!0),u=S.firstChild,f=u.firstChild,w=u.nextSibling,C=w.firstChild,k=C.firstChild,I=C.nextSibling,y=I.firstChild;return f.addEventListener("blur",m=>h(m.currentTarget.value)),f.$$input=m=>o(m.currentTarget.value),(m=>n=m)(f),L(S,Y(Be,{get when(){return t.max!==void 0},get children(){const m=dr.cloneNode(!0);return m.firstChild,m.$$click=()=>n.focus(),L(m,()=>t.max,null),G(()=>m.className=ze.suffix),m}}),w),C.$$click=()=>d(1),se(k,"src",ur),I.$$click=()=>d(-1),se(y,"src",fr),G(m=>{const N=ze.root,r=t.min,a=t.max,l=t.value,c=ze.action;return N!==m._v$&&(S.className=m._v$=N),r!==m._v$2&&se(f,"min",m._v$2=r),a!==m._v$3&&se(f,"max",m._v$3=a),l!==m._v$4&&(f.value=m._v$4=l),c!==m._v$5&&(w.className=m._v$5=c),m},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0}),S})()}be(["input","click"]);var $e={modal:"_modal_128mo_1",empty:"_empty_128mo_7",items:"_items_128mo_13",input:"_input_128mo_34"};function mr(e){const n=new Map;return e.forEach(i=>{var s;(s=i.line_items)==null||s.forEach(o=>{n.has(Number(o.id))?n.set(Number(o.id),(n.get(Number(o.id))||0)+Number(o.quantity)):n.set(Number(o.id),Number(o.quantity))})}),Xt().map(i=>{const s=n.get(i.id)||0;return{id:i.id,name:i.name,quantity:i.quantity-s}}).filter(i=>i.quantity>0)}const yr=J("<table><thead><tr><th>Items</th><th>Qty.</th></tr></thead><tbody></tbody></table>"),_r=J('<div style="color: red;"></div>'),vr=J('<div><hr><div><div><label>Courier:<select></select></label><a href="admin.php?page=aftership-setting-admin">Update carrier list</a></div><div><label>Tracking number:<input></label></div></div></div>'),br=J("<div>All items have been fulfilled</div>"),pr=J("<tr><td></td><td></td></tr>"),wr=J("<option></option>"),Sr=J("<div><label>:<input></label></div>"),Ce={tracking_id:"",tracking_number:"",slug:"",additional_fields:{account_number:"",key:"",postal_code:"",ship_date:"",destination_country:"",state:""},line_items:{}};function $r(e){const[n,t]=Q(Ce),i=z(()=>n().slug||""),s=z(()=>{var m;return(((m=ot().get(i()))==null?void 0:m.required_fields)||[]).map(N=>({key:N.replace(/^tracking_/,""),name:N.replace(/^tracking_/,"").split("_").map(ir).join(" ")}))}),o=z(()=>e.value?ge().filter(y=>{var m;return y.tracking_id!==((m=e.value)==null?void 0:m.tracking_id)}):ge()),h=z(()=>o().length),d=z(()=>mr(o()));Ie(()=>{var N,r,a;const y=new Date().toISOString().split("T")[0],m=((N=e.value)==null?void 0:N.line_items)||[];e.value?e.value.line_items?t({tracking_id:e.value.tracking_id,slug:e.value.slug,tracking_number:e.value.tracking_number,additional_fields:R(B({},e.value.additional_fields),{ship_date:e.value.additional_fields.ship_date||y}),line_items:Object.fromEntries(m.map(l=>[Number(l.id),Number(l.quantity)]))}):h()?t({tracking_id:e.value.tracking_id,slug:e.value.slug,tracking_number:e.value.tracking_number,additional_fields:R(B({},e.value.additional_fields),{ship_date:e.value.additional_fields.ship_date||y}),line_items:Object.fromEntries(d().map(l=>[Number(l.id),0]))}):t({tracking_id:e.value.tracking_id,slug:e.value.slug,tracking_number:e.value.tracking_number,additional_fields:R(B({},e.value.additional_fields),{ship_date:e.value.additional_fields.ship_date||y}),line_items:Object.fromEntries(d().map(l=>[Number(l.id),Number(l.quantity)]))}):t(R(B({},Ce),{slug:((a=(r=lt())==null?void 0:r[0])==null?void 0:a.slug)||"",additional_fields:R(B({},Ce.additional_fields),{ship_date:y}),line_items:Object.fromEntries(d().map(l=>[Number(l.id),Number(l.quantity)]))}))});const S=()=>{t(y=>{const m=new Date().toISOString().split("T")[0];return R(B({},y),{additional_fields:R(B({},Ce.additional_fields),{ship_date:m})})})},u=z(()=>{let y=!0;const m={};return Object.entries(n().line_items||[]).some(([,r])=>!!r)||(y=!1),n().slug===""&&(y=!1,m.slug="Required"),n().tracking_number===""&&(y=!1),o().some(r=>r.slug===n().slug&&r.tracking_number===n().tracking_number)&&(y=!1,m.tracking_number="This shipment has already been added."),s().forEach(r=>{n().additional_fields[r.key]===""&&(y=!1,m.additional_fields=R(B({},m.additional_fields),{[r.key]:"Required"}))}),{isValid:y,errors:m}}),f=(y,m)=>{t(N=>R(B({},N),{line_items:R(B({},N.line_items),{[y]:m})}))},w=(y,m)=>{t(N=>R(B({},N),{[y]:m.trim()}))},C=(y,m)=>{t(N=>R(B({},N),{additional_fields:R(B({},N.additional_fields),{[y]:m.trim()})}))},k=()=>e.onOk(n()),I=z(()=>{var y;return`${((y=e.value)==null?void 0:y.tracking_id)?"Edit tracking":"Add tracking"} - order - #${e.orderId}`});return Y(cr,{get title(){return I()},get visible(){return e.visible},get okText(){var y;return((y=e.value)==null?void 0:y.tracking_id)?"Save":"Add"},onOk:k,get onCancel(){return e.onCancel},get disabled(){return!u().isValid},get children(){const y=vr.cloneNode(!0),m=y.firstChild,N=m.nextSibling,r=N.firstChild,a=r.firstChild,l=a.firstChild,c=l.nextSibling,g=r.nextSibling,x=g.firstChild,$=x.firstChild,j=$.nextSibling;return L(y,Y(Ft,{get fallback(){return(()=>{const A=br.cloneNode(!0);return G(()=>A.className=$e.empty),A})()},get children(){return Y(Lt,{get when(){return d().length>0},get children(){const A=yr.cloneNode(!0),D=A.firstChild,P=D.nextSibling;return L(P,Y(Le,{get each(){return d()},children:q=>(()=>{const V=pr.cloneNode(!0),F=V.firstChild,te=F.nextSibling;return L(F,()=>q.name),L(te,Y(hr,{min:0,get max(){return q.quantity},step:1,get value(){var W;return((W=n().line_items)==null?void 0:W[q.id])||0},onChange:W=>f(q.id,W||0)})),V})()})),G(()=>A.className=$e.items),A}})}}),m),m.style.setProperty("margin","20px 0"),c.addEventListener("change",A=>{S(),w("slug",A.currentTarget.value)}),L(c,Y(Le,{get each(){return lt()},children:A=>(()=>{const D=wr.cloneNode(!0);return L(D,()=>A.name||A.other_name),G(()=>D.value=A.slug),D})()})),j.$$input=A=>w("tracking_number",A.currentTarget.value),L(g,Y(Be,{get when(){return u().errors.tracking_number},get children(){const A=_r.cloneNode(!0);return L(A,()=>u().errors.tracking_number),A}}),null),L(N,Y(Le,{get each(){return s()},children:A=>(()=>{const D=Sr.cloneNode(!0),P=D.firstChild,q=P.firstChild,V=q.nextSibling;return L(P,()=>A.name,q),V.$$input=F=>C(A.key,F.currentTarget.value),G(F=>{const te=A.key==="ship_date"?"date":"text",W=n().additional_fields[A.key];return te!==F._v$5&&se(V,"type",F._v$5=te),W!==F._v$6&&(V.value=F._v$6=W),F},{_v$5:void 0,_v$6:void 0}),D})()}),null),G(A=>{var F;const D=$e.modal,P=$e.input,q=(F=n())==null?void 0:F.slug,V=n().tracking_number;return D!==A._v$&&(y.className=A._v$=D),P!==A._v$2&&(N.className=A._v$2=P),q!==A._v$3&&(c.value=A._v$3=q),V!==A._v$4&&(j.value=A._v$4=V),A},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),y}})}be(["input"]);const Cr=()=>{const[e,n]=Q(!1),[t,i]=Q(""),[s]=Q(),o=u=>ne(this,null,function*(){const f=u.target;if(!f||f.tagName!=="A"||!f.className.includes("aftership_add_inline_tracking"))return;u.preventDefault();const w=f.href.match(/#order-id-(\S+)$/);w&&(yield i(w[1]),yield rn(w[1]),n(!0))}),h=u=>ne(this,null,function*(){var C,k;const f=(C=u.target)==null?void 0:C.parentElement;if(!f||f.tagName!=="A"||!f.className.includes("aftership_inline_tracking_delete"))return;if(u.preventDefault(),window.confirm("Do you really want to delete tracking number?")){const I=f.dataset,y=u.composedPath();yield an(I.orderId,I.trackingId);for(let m of y)if(m instanceof HTMLElement&&m.tagName==="LI"&&((k=m.parentElement)==null?void 0:k.className.includes("wcas-tracking-number-list"))){m.remove();return}}});return At(()=>{ln(),window.addEventListener("click",o,!0),window.addEventListener("click",h)}),Ye(()=>{window.removeEventListener("click",o),window.removeEventListener("click",h)}),Y($r,{get value(){return s()},get visible(){return e()},onCancel:()=>{n(!1)},onOk:u=>ne(this,null,function*(){const f=u.line_items||{};yield sn(t(),R(B({},u),{line_items:Object.entries(f).map(([w,C])=>({id:Number(w),quantity:C})).filter(w=>w.quantity>0)})),window.location.reload()}),get orderId(){return tn()}})};customElements.define("aftership-orders-modal",class extends HTMLElement{constructor(){super();xt(this,"initialized",!1);this.attachShadow({mode:"open"})}connectedCallback(){if(!!this.shadowRoot&&!this.initialized){this.initialized=!0;{const n=document.currentScript,t=document.createElement("link");t.rel="stylesheet",t.href=n.src.replace(/\/index\.js\?/,"/style.css?"),this.shadowRoot.appendChild(t)}Bt(()=>Y(Cr,{}),this.shadowRoot)}}})})();
|
assets/frontend/dist/orders/style.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:host{all:initial;font-family:inherit;font-size:inherit}*{box-sizing:border-box}a{cursor:pointer;color:#2271b1;transition:color .5s ease-in-out}a:hover{color:#135e96}._button_1dv9o_1{border:1px solid #ccc;border-radius:3px;background-color:#f7f7f7;color:#555;font-size:13px;min-height:30px;padding:0 10px;cursor:pointer}._button_1dv9o_1[disabled]{color:#a7aaad!important;background:#f6f7f7!important;border-color:#dcdcde!important;cursor:not-allowed}._primary_1dv9o_18{border-color:#2271b1;background:#2271b1;color:#fff}._primary_1dv9o_18:hover{background:#135e96;border-color:#135e96}._container_1s8av_1{position:fixed;top:0;right:0;z-index:99999}._backdrop_1s8av_8{width:100vw;height:100vh;background-color:#000;opacity:.7}._modal_1s8av_15{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;width:500px}._modal_1s8av_15 header{background:#fcfcfc;padding:1em 1.5em;border-bottom:1px solid #ddd}._modal_1s8av_15 header h1{margin:0;font-size:18px;font-weight:700;line-height:1.5em}._modal_1s8av_15 header div{position:absolute;top:0;right:0;width:54px;height:54px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-left:1px solid #ddd;color:#666}._modal_1s8av_15 header div:hover{background:#ddd;border-color:#ccc}._modal_1s8av_15 header img{height:32px;width:32px}._modal_1s8av_15 footer{padding:1em 1.5em;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px #0000001a;display:flex;justify-content:flex-end}._root_b92ih_1{display:flex;align-items:center;justify-content:space-between;border:1px solid #8c8f94;border-radius:4px;height:30px;overflow:hidden}._root_b92ih_1 input{line-height:26px;border:0;padding-left:8px}._root_b92ih_1 input:focus{outline:0}._root_b92ih_1 input[type=number]::-webkit-outer-spin-button,._root_b92ih_1 input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}._root_b92ih_1 input[type=number]{appearance:textfield}._root_b92ih_1 ._suffix_b92ih_25{color:#6c7075;margin-right:8px;cursor:default}._root_b92ih_1 ._action_b92ih_30{width:22px;padding:2px;height:100%;display:grid;row-gap:2px}._root_b92ih_1 ._action_b92ih_30 div{border-radius:2px;background-color:#e4e5e7;display:flex;align-items:center;justify-content:center;cursor:pointer}._root_b92ih_1 ._action_b92ih_30 div:hover{background-color:#c9cbcf}._root_b92ih_1 ._action_b92ih_30 div:active{background-color:#b3b5b9}._root_b92ih_1 ._action_b92ih_30 div img{width:10px;height:10px;user-select:none}._modal_128mo_1{padding:20px;max-height:70vh;overflow:auto}._empty_128mo_7{text-align:center;font-size:16px;color:#999c9f}._items_128mo_13{display:grid;text-align:left;grid-template-columns:1fr auto;column-gap:10px;row-gap:6px;align-items:center}._items_128mo_13 thead,._items_128mo_13 tbody,._items_128mo_13 tr{display:contents}._items_128mo_13 th:last-child,._items_128mo_13 td:last-child{text-align:right}._items_128mo_13 th{margin-bottom:8px}._input_128mo_34{color:#3c434a;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:10px}._input_128mo_34 label{display:flex;flex-direction:column}._input_128mo_34 a{font-size:12px;text-decoration-line:underline;margin-left:2px;width:fit-content}._input_128mo_34 label{margin-left:2px}._input_128mo_34 select{border:1px solid #8c8f94;border-radius:4px;min-height:30px;font-size:14px;line-height:28px;padding:0 8px}._input_128mo_34 input{border:1px solid #8c8f94;border-radius:4px;font-size:14px;line-height:28px;padding:0 8px}
|
assets/{meta-box → frontend}/index.html
RENAMED
File without changes
|
assets/{meta-box → frontend}/inject.js
RENAMED
File without changes
|
assets/{meta-box → frontend}/package.json
RENAMED
@@ -3,8 +3,10 @@
|
|
3 |
"version": "0.0.0",
|
4 |
"description": "",
|
5 |
"scripts": {
|
6 |
-
"dev": "vite",
|
7 |
-
"
|
|
|
|
|
8 |
"serve": "vite preview"
|
9 |
},
|
10 |
"license": "MIT",
|
3 |
"version": "0.0.0",
|
4 |
"description": "",
|
5 |
"scripts": {
|
6 |
+
"dev:metabox": "vite -c vite.config.metabox.ts",
|
7 |
+
"dev:orders": "vite -c vite.config.orders.ts",
|
8 |
+
"build:metabox": "vite build -c vite.config.metabox.ts",
|
9 |
+
"build:orders": "vite build -c vite.config.orders.ts",
|
10 |
"serve": "vite preview"
|
11 |
},
|
12 |
"license": "MIT",
|
assets/{meta-box → frontend}/plugins/hotReloadShadowDomCss.js
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/Button/Button.module.scss
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/Button/Button.tsx
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/Button/index.ts
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/EditTrackingModal/EditTrackingModal.module.scss
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/EditTrackingModal/EditTrackingModal.tsx
RENAMED
@@ -1,4 +1,4 @@
|
|
1 |
-
import { selectedCouriers, trackings, courierMap } from '@src/storages/
|
2 |
import { Tracking, AdditionalFields } from '@src/typings/trackings';
|
3 |
import { createEffect, createMemo, createSignal, For, Show, Switch, Match } from 'solid-js';
|
4 |
import { capitalize } from 'lodash-es';
|
@@ -14,6 +14,7 @@ interface Props {
|
|
14 |
value?: Tracking;
|
15 |
onOk(v: FormValue): void;
|
16 |
onCancel(): void;
|
|
|
17 |
}
|
18 |
|
19 |
export interface FormValue {
|
@@ -205,9 +206,14 @@ export default function EditTrackingModal(props: Props) {
|
|
205 |
};
|
206 |
|
207 |
const handleOk = () => props.onOk(_val());
|
|
|
|
|
|
|
|
|
|
|
208 |
return (
|
209 |
<Modal
|
210 |
-
title={
|
211 |
visible={props.visible}
|
212 |
okText={props.value?.tracking_id ? 'Save' : 'Add'}
|
213 |
onOk={handleOk}
|
1 |
+
import { selectedCouriers, trackings, courierMap } from '@src/storages/tracking';
|
2 |
import { Tracking, AdditionalFields } from '@src/typings/trackings';
|
3 |
import { createEffect, createMemo, createSignal, For, Show, Switch, Match } from 'solid-js';
|
4 |
import { capitalize } from 'lodash-es';
|
14 |
value?: Tracking;
|
15 |
onOk(v: FormValue): void;
|
16 |
onCancel(): void;
|
17 |
+
orderId: string;
|
18 |
}
|
19 |
|
20 |
export interface FormValue {
|
206 |
};
|
207 |
|
208 |
const handleOk = () => props.onOk(_val());
|
209 |
+
|
210 |
+
const title = createMemo(
|
211 |
+
() =>
|
212 |
+
`${props.value?.tracking_id ? 'Edit tracking' : 'Add tracking'} - order - #${props.orderId}`
|
213 |
+
);
|
214 |
return (
|
215 |
<Modal
|
216 |
+
title={title()}
|
217 |
visible={props.visible}
|
218 |
okText={props.value?.tracking_id ? 'Save' : 'Add'}
|
219 |
onOk={handleOk}
|
assets/{meta-box → frontend}/src/components/EditTrackingModal/index.ts
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/Modal/Modal.module.scss
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/Modal/Modal.tsx
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/Modal/index.ts
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/Modal/x.svg
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/NumberInput/NumberInput.module.scss
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/NumberInput/NumberInput.tsx
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/NumberInput/images/caret-down-fill.svg
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/NumberInput/images/caret-up-fill.svg
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/NumberInput/index.ts
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/Spinner/Spinner.module.scss
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/Spinner/Spinner.tsx
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/components/Spinner/index.ts
RENAMED
File without changes
|
assets/{meta-box/src/index.scss → frontend/src/global.scss}
RENAMED
File without changes
|
assets/{meta-box/src/index.tsx → frontend/src/metabox.tsx}
RENAMED
@@ -1,8 +1,7 @@
|
|
1 |
import { render } from 'solid-js/web';
|
2 |
-
import
|
3 |
-
import './
|
4 |
|
5 |
-
console.log('src/index.js');
|
6 |
customElements.define(
|
7 |
'aftership-meta-box',
|
8 |
class Tracking extends HTMLElement {
|
@@ -14,7 +13,7 @@ customElements.define(
|
|
14 |
|
15 |
connectedCallback() {
|
16 |
if (!this.shadowRoot) return;
|
17 |
-
if(this.initialized) return;
|
18 |
this.initialized = true;
|
19 |
if (import.meta.env.MODE === 'production') {
|
20 |
const currentScript = document.currentScript as HTMLScriptElement;
|
@@ -23,7 +22,7 @@ customElements.define(
|
|
23 |
linkElm.href = currentScript.src.replace(/\/index\.js\?/, '/style.css?');
|
24 |
this.shadowRoot.appendChild(linkElm);
|
25 |
}
|
26 |
-
render(() => <
|
27 |
}
|
28 |
}
|
29 |
);
|
1 |
import { render } from 'solid-js/web';
|
2 |
+
import Metabox from './pages/Metabox';
|
3 |
+
import './global.scss';
|
4 |
|
|
|
5 |
customElements.define(
|
6 |
'aftership-meta-box',
|
7 |
class Tracking extends HTMLElement {
|
13 |
|
14 |
connectedCallback() {
|
15 |
if (!this.shadowRoot) return;
|
16 |
+
if (this.initialized) return;
|
17 |
this.initialized = true;
|
18 |
if (import.meta.env.MODE === 'production') {
|
19 |
const currentScript = document.currentScript as HTMLScriptElement;
|
22 |
linkElm.href = currentScript.src.replace(/\/index\.js\?/, '/style.css?');
|
23 |
this.shadowRoot.appendChild(linkElm);
|
24 |
}
|
25 |
+
render(() => <Metabox />, this.shadowRoot);
|
26 |
}
|
27 |
}
|
28 |
);
|
assets/frontend/src/orders.tsx
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { render } from 'solid-js/web';
|
2 |
+
import './global.scss';
|
3 |
+
import Orders from './pages/Orders';
|
4 |
+
|
5 |
+
customElements.define(
|
6 |
+
'aftership-orders-modal',
|
7 |
+
class Tracking extends HTMLElement {
|
8 |
+
private initialized = false;
|
9 |
+
constructor() {
|
10 |
+
super();
|
11 |
+
this.attachShadow({ mode: 'open' });
|
12 |
+
}
|
13 |
+
|
14 |
+
connectedCallback() {
|
15 |
+
if (!this.shadowRoot) return;
|
16 |
+
if (this.initialized) return;
|
17 |
+
this.initialized = true;
|
18 |
+
if (import.meta.env.MODE === 'production') {
|
19 |
+
const currentScript = document.currentScript as HTMLScriptElement;
|
20 |
+
const linkElm = document.createElement('link');
|
21 |
+
linkElm.rel = 'stylesheet';
|
22 |
+
linkElm.href = currentScript.src.replace(/\/index\.js\?/, '/style.css?');
|
23 |
+
this.shadowRoot.appendChild(linkElm);
|
24 |
+
}
|
25 |
+
render(() => <Orders />, this.shadowRoot);
|
26 |
+
}
|
27 |
+
}
|
28 |
+
);
|
assets/{meta-box/src/App.module.scss → frontend/src/pages/Metabox/Metabox.module.scss}
RENAMED
@@ -33,20 +33,45 @@
|
|
33 |
}
|
34 |
}
|
35 |
}
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
word-break: break-all;
|
42 |
-
display: flex;
|
43 |
-
flex-direction: column;
|
44 |
-
a {
|
45 |
-
text-decoration: none;
|
46 |
-
}
|
47 |
strong {
|
48 |
font-weight: 600;
|
49 |
color: #3c434a;
|
50 |
}
|
51 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
}
|
33 |
}
|
34 |
}
|
35 |
}
|
36 |
+
}
|
37 |
+
.content {
|
38 |
+
background-color: #f6f6f6;
|
39 |
+
padding: 12px;
|
40 |
+
font-size: 14px;
|
41 |
+
line-height: 1.43;
|
42 |
+
}
|
43 |
+
|
44 |
+
.number {
|
45 |
+
margin-bottom: 2px;
|
46 |
+
& > div:nth-child(1) {
|
47 |
+
flex-shrink: 0;
|
48 |
word-break: break-all;
|
|
|
|
|
|
|
|
|
|
|
49 |
strong {
|
50 |
font-weight: 600;
|
51 |
color: #3c434a;
|
52 |
}
|
53 |
}
|
54 |
+
& > div:nth-child(2) {
|
55 |
+
text-overflow: ellipsis;
|
56 |
+
overflow: hidden;
|
57 |
+
word-break: keep-all;
|
58 |
+
a {
|
59 |
+
text-decoration: none;
|
60 |
+
}
|
61 |
+
}
|
62 |
+
}
|
63 |
+
.item {
|
64 |
+
display: flex;
|
65 |
+
flex-wrap: nowrap;
|
66 |
+
color: #404040;
|
67 |
+
div {
|
68 |
+
&:nth-child(1) {
|
69 |
+
overflow: hidden;
|
70 |
+
text-overflow: ellipsis;
|
71 |
+
white-space: nowrap;
|
72 |
+
}
|
73 |
+
&:nth-child(2) {
|
74 |
+
flex-shrink: 0;
|
75 |
+
}
|
76 |
+
}
|
77 |
}
|
assets/frontend/src/pages/Metabox/Metabox.tsx
ADDED
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { Component, createMemo, createSignal, For, onMount } from 'solid-js';
|
2 |
+
import Button from '@src/components/Button';
|
3 |
+
import styles from './Metabox.module.scss';
|
4 |
+
import {
|
5 |
+
trackings,
|
6 |
+
courierMap,
|
7 |
+
fetchOrderTrackings,
|
8 |
+
deleteOrderTracking,
|
9 |
+
editOrderTracking,
|
10 |
+
fetchSelectedCouriers,
|
11 |
+
customDomain,
|
12 |
+
lineItems,
|
13 |
+
editingOrderNumber,
|
14 |
+
} from '@src/storages/tracking';
|
15 |
+
import EditTrackingModal, { FormValue } from '@src/components/EditTrackingModal';
|
16 |
+
import { Tracking } from '@src/typings/trackings';
|
17 |
+
|
18 |
+
const Metabox: Component = () => {
|
19 |
+
const [showModal, setShowModal] = createSignal(false);
|
20 |
+
const [editingTracking, setEditingTracking] = createSignal<Tracking>();
|
21 |
+
|
22 |
+
const orderId = window.woocommerce_admin_meta_boxes.post_id;
|
23 |
+
|
24 |
+
onMount(() => {
|
25 |
+
fetchOrderTrackings(orderId);
|
26 |
+
fetchSelectedCouriers();
|
27 |
+
});
|
28 |
+
|
29 |
+
const handleOk = async (values: FormValue) => {
|
30 |
+
const selectedItems = values.line_items || {};
|
31 |
+
await editOrderTracking(orderId, {
|
32 |
+
...values,
|
33 |
+
line_items: Object.entries(selectedItems)
|
34 |
+
.map(([id, quantity]) => ({
|
35 |
+
id: Number(id),
|
36 |
+
quantity,
|
37 |
+
}))
|
38 |
+
.filter((item) => item.quantity > 0),
|
39 |
+
});
|
40 |
+
setShowModal(false);
|
41 |
+
setEditingTracking(undefined);
|
42 |
+
await fetchOrderTrackings(orderId);
|
43 |
+
};
|
44 |
+
const handleCancel = () => {
|
45 |
+
setShowModal(false);
|
46 |
+
setEditingTracking(undefined);
|
47 |
+
};
|
48 |
+
const handleDelete = async (trackingId: string) => {
|
49 |
+
await deleteOrderTracking(orderId, trackingId);
|
50 |
+
await fetchOrderTrackings(orderId);
|
51 |
+
};
|
52 |
+
|
53 |
+
const lineItemsMap = createMemo(() => {
|
54 |
+
const lineItemsMap = new Map<string, { name: string; quantity: number }[]>();
|
55 |
+
trackings().forEach((tracking) => {
|
56 |
+
const arr = (tracking.line_items || [])?.map((tl) => {
|
57 |
+
const match = lineItems().find((l) => tl.id === l.id);
|
58 |
+
return {
|
59 |
+
name: match?.name || String(tl.id),
|
60 |
+
quantity: tl.quantity,
|
61 |
+
};
|
62 |
+
});
|
63 |
+
lineItemsMap.set(tracking.tracking_id, arr);
|
64 |
+
});
|
65 |
+
return lineItemsMap;
|
66 |
+
});
|
67 |
+
|
68 |
+
const formatTackingLink = (tracking: Tracking) => {
|
69 |
+
return /^https?:\/\//.test(customDomain())
|
70 |
+
? `${customDomain()}/${tracking.slug}/${tracking.tracking_number}`
|
71 |
+
: `https://${customDomain()}/${tracking.slug}/${tracking.tracking_number}`;
|
72 |
+
};
|
73 |
+
|
74 |
+
return (
|
75 |
+
<div className={styles.root}>
|
76 |
+
{/* trackings */}
|
77 |
+
<div>
|
78 |
+
<For each={trackings()}>
|
79 |
+
{(tracking, index) => (
|
80 |
+
<div className={styles.tracking}>
|
81 |
+
<div className={styles.title}>
|
82 |
+
<div>Shipment {index() + 1}</div>
|
83 |
+
<div>
|
84 |
+
<a
|
85 |
+
onClick={async () => {
|
86 |
+
// 💩 update data first, user maybe modify line_items
|
87 |
+
await fetchOrderTrackings(orderId);
|
88 |
+
setEditingTracking(tracking);
|
89 |
+
setShowModal(true);
|
90 |
+
}}>
|
91 |
+
Edit
|
92 |
+
</a>
|
93 |
+
<a onClick={() => handleDelete(tracking.tracking_id)}>Delete</a>
|
94 |
+
</div>
|
95 |
+
</div>
|
96 |
+
<div className={styles.content}>
|
97 |
+
<div className={styles.number}>
|
98 |
+
<div>
|
99 |
+
<strong>{courierMap().get(tracking.slug)?.name || tracking.slug} </strong>
|
100 |
+
</div>
|
101 |
+
<div>
|
102 |
+
<a
|
103 |
+
title={tracking.tracking_number}
|
104 |
+
href={formatTackingLink(tracking)}
|
105 |
+
target="_blank">
|
106 |
+
{tracking.tracking_number}
|
107 |
+
</a>
|
108 |
+
</div>
|
109 |
+
</div>
|
110 |
+
<For each={lineItemsMap().get(tracking.tracking_id) || []}>
|
111 |
+
{(item) => (
|
112 |
+
<div className={styles.item}>
|
113 |
+
<div title={item.name}>{item.name}</div>
|
114 |
+
<div> x {item.quantity}</div>
|
115 |
+
</div>
|
116 |
+
)}
|
117 |
+
</For>
|
118 |
+
</div>
|
119 |
+
</div>
|
120 |
+
)}
|
121 |
+
</For>
|
122 |
+
</div>
|
123 |
+
{/* add button */}
|
124 |
+
<div style={{ padding: '12px' }}>
|
125 |
+
<Button
|
126 |
+
onClick={async () => {
|
127 |
+
await fetchOrderTrackings(orderId);
|
128 |
+
setShowModal(true);
|
129 |
+
}}
|
130 |
+
style={{ width: '100%' }}>
|
131 |
+
Add Tracking Number
|
132 |
+
</Button>
|
133 |
+
</div>
|
134 |
+
<EditTrackingModal
|
135 |
+
visible={showModal()}
|
136 |
+
value={editingTracking()}
|
137 |
+
onCancel={handleCancel}
|
138 |
+
onOk={handleOk}
|
139 |
+
orderId={editingOrderNumber()}
|
140 |
+
/>
|
141 |
+
</div>
|
142 |
+
);
|
143 |
+
};
|
144 |
+
|
145 |
+
export default Metabox;
|
assets/frontend/src/pages/Metabox/index.ts
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
export { default } from './Metabox';
|
assets/frontend/src/pages/Orders/Orders.module.scss
ADDED
File without changes
|
assets/frontend/src/pages/Orders/Orders.tsx
ADDED
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { Component, createSignal, onCleanup, onMount } from 'solid-js';
|
2 |
+
import EditTrackingModal, { FormValue } from '@src/components/EditTrackingModal';
|
3 |
+
import {
|
4 |
+
fetchOrderTrackings,
|
5 |
+
fetchSelectedCouriers,
|
6 |
+
editOrderTracking,
|
7 |
+
deleteOrderTracking,
|
8 |
+
editingOrderNumber,
|
9 |
+
} from '@src/storages/tracking';
|
10 |
+
import { Tracking } from '@src/typings/trackings';
|
11 |
+
|
12 |
+
const Orders: Component = () => {
|
13 |
+
const [showModal, setShowModal] = createSignal(false);
|
14 |
+
const [orderId, setOrderId] = createSignal('');
|
15 |
+
const [editingTracking] = createSignal<Tracking>();
|
16 |
+
|
17 |
+
interface ClickMouseEvent extends MouseEvent {
|
18 |
+
path: HTMLElement[];
|
19 |
+
}
|
20 |
+
const handleAddTrackingClick = async (e: MouseEvent) => {
|
21 |
+
const target = e.target as HTMLAnchorElement | null;
|
22 |
+
if (!target) return;
|
23 |
+
if (target.tagName !== 'A' || !target.className.includes('aftership_add_inline_tracking')) {
|
24 |
+
return;
|
25 |
+
}
|
26 |
+
e.preventDefault();
|
27 |
+
const match = target.href.match(/#order-id-(\S+)$/);
|
28 |
+
if (match) {
|
29 |
+
await setOrderId(match[1]);
|
30 |
+
await fetchOrderTrackings(match[1]);
|
31 |
+
setShowModal(true);
|
32 |
+
}
|
33 |
+
};
|
34 |
+
const handleDeleteTrackingClick = async (e: MouseEvent) => {
|
35 |
+
const parentElement = (e.target as HTMLAnchorElement | null)?.parentElement;
|
36 |
+
if (!parentElement) return;
|
37 |
+
if (
|
38 |
+
parentElement.tagName !== 'A' ||
|
39 |
+
!parentElement.className.includes('aftership_inline_tracking_delete')
|
40 |
+
) {
|
41 |
+
return;
|
42 |
+
}
|
43 |
+
e.preventDefault();
|
44 |
+
const result = window.confirm('Do you really want to delete tracking number?');
|
45 |
+
if (result) {
|
46 |
+
const dataSet = parentElement.dataset as { orderId: string; trackingId: string };
|
47 |
+
const elPath = e.composedPath();
|
48 |
+
await deleteOrderTracking(dataSet.orderId, dataSet.trackingId);
|
49 |
+
for (let el of elPath) {
|
50 |
+
if (
|
51 |
+
el instanceof HTMLElement &&
|
52 |
+
el.tagName === 'LI' &&
|
53 |
+
el.parentElement?.className.includes('wcas-tracking-number-list')
|
54 |
+
) {
|
55 |
+
el.remove();
|
56 |
+
return;
|
57 |
+
}
|
58 |
+
}
|
59 |
+
}
|
60 |
+
};
|
61 |
+
|
62 |
+
onMount(() => {
|
63 |
+
fetchSelectedCouriers();
|
64 |
+
window.addEventListener('click', handleAddTrackingClick, true);
|
65 |
+
window.addEventListener('click', handleDeleteTrackingClick);
|
66 |
+
});
|
67 |
+
|
68 |
+
onCleanup(() => {
|
69 |
+
window.removeEventListener('click', handleAddTrackingClick);
|
70 |
+
window.removeEventListener('click', handleDeleteTrackingClick);
|
71 |
+
});
|
72 |
+
|
73 |
+
const handleOk = async (values: FormValue) => {
|
74 |
+
const selectedItems = values.line_items || {};
|
75 |
+
await editOrderTracking(orderId(), {
|
76 |
+
...values,
|
77 |
+
line_items: Object.entries(selectedItems)
|
78 |
+
.map(([id, quantity]) => ({
|
79 |
+
id: Number(id),
|
80 |
+
quantity,
|
81 |
+
}))
|
82 |
+
.filter((item) => item.quantity > 0),
|
83 |
+
});
|
84 |
+
window.location.reload();
|
85 |
+
};
|
86 |
+
const handleCancel = () => {
|
87 |
+
setShowModal(false);
|
88 |
+
};
|
89 |
+
|
90 |
+
return (
|
91 |
+
<EditTrackingModal
|
92 |
+
value={editingTracking()}
|
93 |
+
visible={showModal()}
|
94 |
+
onCancel={handleCancel}
|
95 |
+
onOk={handleOk}
|
96 |
+
orderId={editingOrderNumber()}
|
97 |
+
/>
|
98 |
+
);
|
99 |
+
};
|
100 |
+
|
101 |
+
export default Orders;
|
assets/frontend/src/pages/Orders/index.ts
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
export { default } from './Orders';
|
assets/{meta-box/src/storages/metaBox.ts → frontend/src/storages/tracking.ts}
RENAMED
@@ -8,6 +8,7 @@ interface GetTrackingsResponse {
|
|
8 |
data: {
|
9 |
line_items: LineItem[];
|
10 |
trackings: Tracking[];
|
|
|
11 |
};
|
12 |
}
|
13 |
|
@@ -23,17 +24,19 @@ export const [selectedCouriers, setSelectedCouriers] = createSignal<Courier[]>([
|
|
23 |
export const [courierMap, setCourierMap] = createSignal<Map<string, Courier>>(new Map());
|
24 |
export const [lineItems, setLineItems] = createSignal<LineItem[]>([]);
|
25 |
export const [customDomain, setCustomDomain] = createSignal<string>('');
|
26 |
-
export const [
|
27 |
|
28 |
-
|
|
|
|
|
29 |
const security = document.querySelector<HTMLInputElement>('#aftership_get_nonce')?.value || '';
|
30 |
await fetch(
|
31 |
stringifyUrl({
|
32 |
-
url:
|
33 |
query: {
|
34 |
action: 'aftership_get_order_trackings',
|
35 |
security: security,
|
36 |
-
order_id:
|
37 |
t: Date.now(),
|
38 |
},
|
39 |
})
|
@@ -51,6 +54,7 @@ export async function fetchTrackings() {
|
|
51 |
setCourierMap((prev) => new Map([...prev, ...nextCourierMap]));
|
52 |
setTrackings(data.trackings);
|
53 |
setLineItems(data.line_items);
|
|
|
54 |
});
|
55 |
}
|
56 |
|
@@ -60,7 +64,7 @@ interface SubmitData extends Omit<Tracking, 'tracking_id' | 'line_items' | 'metr
|
|
60 |
metrics?: Tracking['metrics'];
|
61 |
}
|
62 |
|
63 |
-
export async function
|
64 |
const oldTracking = trackings().find((t) => t.tracking_id === data.tracking_id);
|
65 |
const oldTrackingIndex = trackings().findIndex((t) => t.tracking_id === data.tracking_id);
|
66 |
const nowISOString = new Date().toISOString().replace(/\.\d+(?=Z$)/, '');
|
@@ -92,7 +96,7 @@ export async function editTracking(data: SubmitData) {
|
|
92 |
|
93 |
await fetch(
|
94 |
stringifyUrl({
|
95 |
-
url:
|
96 |
query: {
|
97 |
action: 'aftership_save_order_tracking',
|
98 |
security: security,
|
@@ -104,19 +108,18 @@ export async function editTracking(data: SubmitData) {
|
|
104 |
'Content-Type': 'application/json',
|
105 |
},
|
106 |
body: JSON.stringify({
|
107 |
-
order_id:
|
108 |
trackings: result,
|
109 |
}),
|
110 |
}
|
111 |
);
|
112 |
-
await fetchTrackings();
|
113 |
}
|
114 |
|
115 |
-
export async function
|
116 |
const security = document.querySelector<HTMLInputElement>('#aftership_delete_nonce')?.value || '';
|
117 |
await fetch(
|
118 |
stringifyUrl({
|
119 |
-
url:
|
120 |
query: {
|
121 |
action: 'aftership_delete_order_tracking',
|
122 |
security: security,
|
@@ -128,18 +131,17 @@ export async function deleteTracking(id: string) {
|
|
128 |
'Content-Type': 'application/json',
|
129 |
},
|
130 |
body: JSON.stringify({
|
131 |
-
order_id:
|
132 |
-
tracking_id:
|
133 |
}),
|
134 |
}
|
135 |
);
|
136 |
-
await fetchTrackings();
|
137 |
}
|
138 |
|
139 |
-
export async function
|
140 |
await fetch(
|
141 |
stringifyUrl({
|
142 |
-
url:
|
143 |
query: {
|
144 |
action: 'aftership_get_settings',
|
145 |
t: Date.now(),
|
8 |
data: {
|
9 |
line_items: LineItem[];
|
10 |
trackings: Tracking[];
|
11 |
+
number: string;
|
12 |
};
|
13 |
}
|
14 |
|
24 |
export const [courierMap, setCourierMap] = createSignal<Map<string, Courier>>(new Map());
|
25 |
export const [lineItems, setLineItems] = createSignal<LineItem[]>([]);
|
26 |
export const [customDomain, setCustomDomain] = createSignal<string>('');
|
27 |
+
export const [editingOrderNumber, setEditingOrderNumber] = createSignal<string>('');
|
28 |
|
29 |
+
const AJAX_URL = window.woocommerce_admin_meta_boxes.ajax_url;
|
30 |
+
|
31 |
+
export async function fetchOrderTrackings(orderId: string) {
|
32 |
const security = document.querySelector<HTMLInputElement>('#aftership_get_nonce')?.value || '';
|
33 |
await fetch(
|
34 |
stringifyUrl({
|
35 |
+
url: AJAX_URL,
|
36 |
query: {
|
37 |
action: 'aftership_get_order_trackings',
|
38 |
security: security,
|
39 |
+
order_id: orderId,
|
40 |
t: Date.now(),
|
41 |
},
|
42 |
})
|
54 |
setCourierMap((prev) => new Map([...prev, ...nextCourierMap]));
|
55 |
setTrackings(data.trackings);
|
56 |
setLineItems(data.line_items);
|
57 |
+
setEditingOrderNumber(data.number);
|
58 |
});
|
59 |
}
|
60 |
|
64 |
metrics?: Tracking['metrics'];
|
65 |
}
|
66 |
|
67 |
+
export async function editOrderTracking(orderId: string, data: SubmitData) {
|
68 |
const oldTracking = trackings().find((t) => t.tracking_id === data.tracking_id);
|
69 |
const oldTrackingIndex = trackings().findIndex((t) => t.tracking_id === data.tracking_id);
|
70 |
const nowISOString = new Date().toISOString().replace(/\.\d+(?=Z$)/, '');
|
96 |
|
97 |
await fetch(
|
98 |
stringifyUrl({
|
99 |
+
url: AJAX_URL,
|
100 |
query: {
|
101 |
action: 'aftership_save_order_tracking',
|
102 |
security: security,
|
108 |
'Content-Type': 'application/json',
|
109 |
},
|
110 |
body: JSON.stringify({
|
111 |
+
order_id: orderId,
|
112 |
trackings: result,
|
113 |
}),
|
114 |
}
|
115 |
);
|
|
|
116 |
}
|
117 |
|
118 |
+
export async function deleteOrderTracking(orderId: string, trackingId: string) {
|
119 |
const security = document.querySelector<HTMLInputElement>('#aftership_delete_nonce')?.value || '';
|
120 |
await fetch(
|
121 |
stringifyUrl({
|
122 |
+
url: AJAX_URL,
|
123 |
query: {
|
124 |
action: 'aftership_delete_order_tracking',
|
125 |
security: security,
|
131 |
'Content-Type': 'application/json',
|
132 |
},
|
133 |
body: JSON.stringify({
|
134 |
+
order_id: orderId,
|
135 |
+
tracking_id: trackingId,
|
136 |
}),
|
137 |
}
|
138 |
);
|
|
|
139 |
}
|
140 |
|
141 |
+
export async function fetchSelectedCouriers() {
|
142 |
await fetch(
|
143 |
stringifyUrl({
|
144 |
+
url: AJAX_URL,
|
145 |
query: {
|
146 |
action: 'aftership_get_settings',
|
147 |
t: Date.now(),
|
assets/{meta-box → frontend}/src/typings/global.d.ts
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/typings/trackings.ts
RENAMED
File without changes
|
assets/{meta-box → frontend}/src/utils/common.ts
RENAMED
@@ -1,4 +1,4 @@
|
|
1 |
-
import { lineItems } from '@src/storages/
|
2 |
import { Tracking } from '@src/typings/trackings';
|
3 |
|
4 |
export function calcUnfulfilledItems(trackings: Tracking[]) {
|
1 |
+
import { lineItems } from '@src/storages/tracking';
|
2 |
import { Tracking } from '@src/typings/trackings';
|
3 |
|
4 |
export function calcUnfulfilledItems(trackings: Tracking[]) {
|
assets/{meta-box → frontend}/tsconfig.json
RENAMED
File without changes
|
assets/{meta-box/vite.config.ts → frontend/vite.config.metabox.ts}
RENAMED
@@ -1,11 +1,11 @@
|
|
1 |
-
import { defineConfig
|
2 |
import path from 'path';
|
3 |
import solidPlugin from 'vite-plugin-solid';
|
4 |
// @ts-ignore
|
5 |
import MyExamplePlugin from './plugins/hotReloadShadowDomCss.js';
|
6 |
|
7 |
export default defineConfig({
|
8 |
-
base: '/wp-content/plugins/aftership-woocommerce-tracking/assets/
|
9 |
plugins: [solidPlugin(), MyExamplePlugin('aftership-meta-box')],
|
10 |
resolve: {
|
11 |
alias: {
|
@@ -13,12 +13,10 @@ export default defineConfig({
|
|
13 |
},
|
14 |
},
|
15 |
build: {
|
16 |
-
// target: 'esnext',
|
17 |
-
// polyfillDynamicImport: false,
|
18 |
target: 'es2015',
|
19 |
-
outDir: './dist',
|
20 |
lib: {
|
21 |
-
entry: 'src/
|
22 |
name: 'metabox',
|
23 |
fileName: (_format) => `index.js`,
|
24 |
formats: ['iife'],
|
1 |
+
import { defineConfig } from 'vite';
|
2 |
import path from 'path';
|
3 |
import solidPlugin from 'vite-plugin-solid';
|
4 |
// @ts-ignore
|
5 |
import MyExamplePlugin from './plugins/hotReloadShadowDomCss.js';
|
6 |
|
7 |
export default defineConfig({
|
8 |
+
base: '/wp-content/plugins/aftership-woocommerce-tracking/assets/frontend/',
|
9 |
plugins: [solidPlugin(), MyExamplePlugin('aftership-meta-box')],
|
10 |
resolve: {
|
11 |
alias: {
|
13 |
},
|
14 |
},
|
15 |
build: {
|
|
|
|
|
16 |
target: 'es2015',
|
17 |
+
outDir: './dist/metabox',
|
18 |
lib: {
|
19 |
+
entry: 'src/metabox.tsx',
|
20 |
name: 'metabox',
|
21 |
fileName: (_format) => `index.js`,
|
22 |
formats: ['iife'],
|
assets/frontend/vite.config.orders.ts
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { defineConfig } from 'vite';
|
2 |
+
import path from 'path';
|
3 |
+
import solidPlugin from 'vite-plugin-solid';
|
4 |
+
|
5 |
+
export default defineConfig({
|
6 |
+
base: '/wp-content/plugins/aftership-woocommerce-tracking/assets/frontend/',
|
7 |
+
plugins: [solidPlugin()],
|
8 |
+
resolve: {
|
9 |
+
alias: {
|
10 |
+
'@src': path.resolve(__dirname, './src'),
|
11 |
+
},
|
12 |
+
},
|
13 |
+
build: {
|
14 |
+
target: 'es2015',
|
15 |
+
outDir: './dist/orders',
|
16 |
+
lib: {
|
17 |
+
entry: 'src/orders.tsx',
|
18 |
+
name: 'orders',
|
19 |
+
fileName: (_format) => `index.js`,
|
20 |
+
formats: ['iife'],
|
21 |
+
},
|
22 |
+
},
|
23 |
+
});
|
assets/{meta-box → frontend}/yarn.lock
RENAMED
@@ -890,9 +890,9 @@ mimic-fn@^2.1.0:
|
|
890 |
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
891 |
|
892 |
minimist@^1.2.5:
|
893 |
-
version "1.2.
|
894 |
-
resolved "https://registry.
|
895 |
-
integrity sha512-
|
896 |
|
897 |
ms@2.1.2:
|
898 |
version "2.1.2"
|
@@ -900,9 +900,9 @@ ms@2.1.2:
|
|
900 |
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
901 |
|
902 |
nanoid@^3.1.30:
|
903 |
-
version "3.
|
904 |
-
resolved "https://registry.
|
905 |
-
integrity sha512-
|
906 |
|
907 |
node-releases@^2.0.1:
|
908 |
version "2.0.1"
|
890 |
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
891 |
|
892 |
minimist@^1.2.5:
|
893 |
+
version "1.2.6"
|
894 |
+
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
|
895 |
+
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
|
896 |
|
897 |
ms@2.1.2:
|
898 |
version "2.1.2"
|
900 |
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
901 |
|
902 |
nanoid@^3.1.30:
|
903 |
+
version "3.3.4"
|
904 |
+
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
|
905 |
+
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
|
906 |
|
907 |
node-releases@^2.0.1:
|
908 |
version "2.0.1"
|
assets/images/truck-fast.svg
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 640 512">
|
2 |
+
<path fill="#2271b1"
|
3 |
+
d="M112 0C85.49 0 64 21.49 64 48V96H16C7.163 96 0 103.2 0 112C0 120.8 7.163 128 16 128H272C280.8 128 288 135.2 288 144C288 152.8 280.8 160 272 160H48C39.16 160 32 167.2 32 176C32 184.8 39.16 192 48 192H240C248.8 192 256 199.2 256 208C256 216.8 248.8 224 240 224H16C7.163 224 0 231.2 0 240C0 248.8 7.163 256 16 256H208C216.8 256 224 263.2 224 272C224 280.8 216.8 288 208 288H64V416C64 469 106.1 512 160 512C213 512 256 469 256 416H384C384 469 426.1 512 480 512C533 512 576 469 576 416H608C625.7 416 640 401.7 640 384C640 366.3 625.7 352 608 352V237.3C608 220.3 601.3 204 589.3 192L512 114.7C499.1 102.7 483.7 96 466.7 96H416V48C416 21.49 394.5 0 368 0H112zM544 237.3V256H416V160H466.7L544 237.3zM160 464C133.5 464 112 442.5 112 416C112 389.5 133.5 368 160 368C186.5 368 208 389.5 208 416C208 442.5 186.5 464 160 464zM528 416C528 442.5 506.5 464 480 464C453.5 464 432 442.5 432 416C432 389.5 453.5 368 480 368C506.5 368 528 389.5 528 416z" />
|
4 |
+
</svg>
|
assets/js/order-status.js
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function get_aftership_show_order_status() {
|
2 |
+
var data = [
|
3 |
+
{
|
4 |
+
"status": "processing",
|
5 |
+
"name": "Processing",
|
6 |
+
"type": "default"
|
7 |
+
},
|
8 |
+
{
|
9 |
+
"status": "completed",
|
10 |
+
"name": "Completed",
|
11 |
+
"type": "default"
|
12 |
+
},
|
13 |
+
{
|
14 |
+
"status": "partial-shipped",
|
15 |
+
"name": "Partially Shipped",
|
16 |
+
"type": "default"
|
17 |
+
},
|
18 |
+
{
|
19 |
+
"status": "on-hold",
|
20 |
+
"name": "On Hold",
|
21 |
+
"type": "default"
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"status": "cancelled",
|
25 |
+
"name": "Cancelled",
|
26 |
+
"type": "default"
|
27 |
+
},
|
28 |
+
{
|
29 |
+
"status": "refunded",
|
30 |
+
"name": "Refunded",
|
31 |
+
"type": "default"
|
32 |
+
},
|
33 |
+
{
|
34 |
+
"status": "failed",
|
35 |
+
"name": "Failed",
|
36 |
+
"type": "default"
|
37 |
+
}
|
38 |
+
];
|
39 |
+
return data;
|
40 |
+
}
|
assets/js/order-status.json
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[
|
2 |
+
{
|
3 |
+
"status": "processing",
|
4 |
+
"name": "Processing",
|
5 |
+
"type": "default"
|
6 |
+
},
|
7 |
+
{
|
8 |
+
"status": "completed",
|
9 |
+
"name": "Completed",
|
10 |
+
"type": "default"
|
11 |
+
},
|
12 |
+
{
|
13 |
+
"status": "partial-shipped",
|
14 |
+
"name": "Partially Shipped",
|
15 |
+
"type": "default"
|
16 |
+
},
|
17 |
+
{
|
18 |
+
"status": "on-hold",
|
19 |
+
"name": "On Hold",
|
20 |
+
"type": "default"
|
21 |
+
},
|
22 |
+
{
|
23 |
+
"status": "cancelled",
|
24 |
+
"name": "Cancelled",
|
25 |
+
"type": "default"
|
26 |
+
},
|
27 |
+
{
|
28 |
+
"status": "refunded",
|
29 |
+
"name": "Refunded",
|
30 |
+
"type": "default"
|
31 |
+
},
|
32 |
+
{
|
33 |
+
"status": "failed",
|
34 |
+
"name": "Failed",
|
35 |
+
"type": "default"
|
36 |
+
}
|
37 |
+
]
|
assets/js/setting.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
jQuery(function () {
|
|
|
2 |
var aftership_couriers_select = jQuery('#aftership_couriers_select');
|
3 |
var aftership_couriers = jQuery('#aftership_couriers');
|
4 |
function set_aftership_tracking_provider(selected_couriers) {
|
@@ -29,4 +30,36 @@ jQuery(function () {
|
|
29 |
var couriers_select_array = (couriers_select) ? couriers_select.split(',') : [];
|
30 |
set_aftership_tracking_provider(couriers_select_array);
|
31 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
});
|
1 |
jQuery(function () {
|
2 |
+
// Couriers selection
|
3 |
var aftership_couriers_select = jQuery('#aftership_couriers_select');
|
4 |
var aftership_couriers = jQuery('#aftership_couriers');
|
5 |
function set_aftership_tracking_provider(selected_couriers) {
|
30 |
var couriers_select_array = (couriers_select) ? couriers_select.split(',') : [];
|
31 |
set_aftership_tracking_provider(couriers_select_array);
|
32 |
}
|
33 |
+
|
34 |
+
// Add Tracking Order action selection
|
35 |
+
var aftership_show_order_actions_select = jQuery('#aftership_show_order_actions_select');
|
36 |
+
var aftership_show_order_actions = jQuery('#aftership_show_order_actions');
|
37 |
+
function set_aftership_show_order_actions(selected_status) {
|
38 |
+
var show_order_status = get_aftership_show_order_status();
|
39 |
+
jQuery.each(show_order_status, function (key, status) {
|
40 |
+
var str = '<option ';
|
41 |
+
str += 'value="' + status['status'] + '" ';
|
42 |
+
if (selected_status.hasOwnProperty(status['status'])) {
|
43 |
+
str += 'selected="selected"';
|
44 |
+
}
|
45 |
+
str += '>' + status['name'] + '</option>';
|
46 |
+
aftership_show_order_actions_select.append(str);
|
47 |
+
});
|
48 |
+
|
49 |
+
aftership_show_order_actions_select.val(selected_status);
|
50 |
+
aftership_show_order_actions_select.chosen();
|
51 |
+
aftership_show_order_actions_select.trigger('chosen:updated');
|
52 |
+
}
|
53 |
+
|
54 |
+
aftership_show_order_actions_select.change(function () {
|
55 |
+
var order_actions_select = aftership_show_order_actions_select.val();
|
56 |
+
var value = (order_actions_select) ? order_actions_select.join(',') : '';
|
57 |
+
aftership_show_order_actions.val(value);
|
58 |
+
});
|
59 |
+
|
60 |
+
if (aftership_show_order_actions) {
|
61 |
+
var order_actions_select = aftership_show_order_actions.val();
|
62 |
+
var order_actions_select_array = (order_actions_select) ? order_actions_select.split(',') : [];
|
63 |
+
set_aftership_show_order_actions(order_actions_select_array);
|
64 |
+
}
|
65 |
});
|
assets/meta-box/dist/index.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
var Nr=Object.defineProperty,kr=Object.defineProperties;var Ar=Object.getOwnPropertyDescriptors;var Nt=Object.getOwnPropertySymbols;var Ir=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable;var Ge=(U,M,O)=>M in U?Nr(U,M,{enumerable:!0,configurable:!0,writable:!0,value:O}):U[M]=O,R=(U,M)=>{for(var O in M||(M={}))Ir.call(M,O)&&Ge(U,O,M[O]);if(Nt)for(var O of Nt(M))jr.call(M,O)&&Ge(U,O,M[O]);return U},P=(U,M)=>kr(U,Ar(M));var kt=(U,M,O)=>(Ge(U,typeof M!="symbol"?M+"":M,O),O);var te=(U,M,O)=>new Promise((_e,Q)=>{var J=T=>{try{re(O.next(T))}catch(G){Q(G)}},le=T=>{try{re(O.throw(T))}catch(G){Q(G)}},re=T=>T.done?_e(T.value):Promise.resolve(T.value).then(J,le);re((O=O.apply(U,M)).next())});(function(){"use strict";const U=(e,n)=>e===n,M=Symbol("solid-proxy"),O={equals:U};let _e=Qe;const Q={},J=1,le=2,re={owned:null,cleanups:null,context:null,owner:null};var T=null;let G=null,F=null,oe=null,q=null,K=null,je=0;function ye(e,n){n&&(T=n);const t=F,i=T,a=e.length===0?re:{owned:null,cleanups:null,context:null,owner:i};T=a,F=null;let o;try{Me(()=>o=e(()=>De(a)),!0)}finally{F=t,T=i}return o}function X(e,n){n=n?Object.assign({},O,n):O;const t={value:e,observers:null,observerSlots:null,pending:Q,comparator:n.equals||void 0};return[We.bind(t),i=>(typeof i=="function"&&(G&&G.running&&G.sources.has(t)?i=i(t.pending!==Q?t.pending:t.tValue):i=i(t.pending!==Q?t.pending:t.value)),Oe(t,i))]}function H(e,n,t){const i=Ee(e,n,!1,J);ve(i)}function Te(e,n,t){_e=Mt;const i=Ee(e,n,!1,J);i.user=!0,K&&K.push(i)}function Y(e,n,t){t=t?Object.assign({},O,t):O;const i=Ee(e,n,!0,0);return i.pending=Q,i.observers=null,i.observerSlots=null,i.comparator=t.equals||void 0,ve(i),We.bind(i)}function At(e){if(oe)return e();let n;const t=oe=[];try{n=e()}finally{oe=null}return Me(()=>{for(let i=0;i<t.length;i+=1){const a=t[i];if(a.pending!==Q){const o=a.pending;a.pending=Q,Oe(a,o)}}},!1),n}function ie(e){let n,t=F;return F=null,n=e(),F=t,n}function It(e){Te(()=>ie(e))}function jt(e){return T===null||(T.cleanups===null?T.cleanups=[e]:T.cleanups.push(e)),e}function Tt(e){const n=Y(e);return Y(()=>Le(n()))}function We(){const e=G;if(this.sources&&(this.state||e)){const n=q;q=null,this.state===J||e?ve(this):Fe(this),q=n}if(F){const n=this.observers?this.observers.length:0;F.sources?(F.sources.push(this),F.sourceSlots.push(n)):(F.sources=[this],F.sourceSlots=[n]),this.observers?(this.observers.push(F),this.observerSlots.push(F.sources.length-1)):(this.observers=[F],this.observerSlots=[F.sources.length-1])}return this.value}function Oe(e,n,t){if(e.comparator&&e.comparator(e.value,n))return n;if(oe)return e.pending===Q&&oe.push(e),e.pending=n,n;let i=!1;return e.value=n,e.observers&&e.observers.length&&Me(()=>{for(let a=0;a<e.observers.length;a+=1){const o=e.observers[a];i&&G.disposed.has(o),o.pure?q.push(o):K.push(o),o.observers&&(i&&!o.tState||!i&&!o.state)&&Je(o),i||(o.state=J)}if(q.length>1e6)throw q=[],new Error},!1),n}function ve(e){if(!e.fn)return;De(e);const n=T,t=F,i=je;F=T=e,Ot(e,e.value,i),F=t,T=n}function Ot(e,n,t){let i;try{i=e.fn(n)}catch(a){Ke(a)}(!e.updatedAt||e.updatedAt<=t)&&(e.observers&&e.observers.length?Oe(e,i):e.value=i,e.updatedAt=t)}function Ee(e,n,t,i=J,a){const o={fn:e,state:i,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:n,owner:T,context:null,pure:t};return T===null||T!==re&&(T.owned?T.owned.push(o):T.owned=[o]),o}function ce(e){const n=G;if(e.state!==J)return e.state=0;if(e.suspense&&ie(e.suspense.inFallback))return e.suspense.effects.push(e);const t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<je);)(e.state||n)&&t.push(e);for(let i=t.length-1;i>=0;i--)if(e=t[i],e.state===J||n)ve(e);else if(e.state===le||n){const a=q;q=null,Fe(e),q=a}}function Me(e,n){if(q)return e();let t=!1;n||(q=[]),K?t=!0:K=[],je++;try{e()}catch(i){Ke(i)}finally{Et(t)}}function Et(e){q&&(Qe(q),q=null),!e&&(K.length?At(()=>{_e(K),K=null}):K=null)}function Qe(e){for(let n=0;n<e.length;n++)ce(e[n])}function Mt(e){let n,t=0;for(n=0;n<e.length;n++){const a=e[n];a.user?e[t++]=a:ce(a)}const i=e.length;for(n=0;n<t;n++)ce(e[n]);for(n=i;n<e.length;n++)ce(e[n])}function Fe(e){e.state=0;const n=G;for(let t=0;t<e.sources.length;t+=1){const i=e.sources[t];i.sources&&(i.state===J||n?ce(i):(i.state===le||n)&&Fe(i))}}function Je(e){const n=G;for(let t=0;t<e.observers.length;t+=1){const i=e.observers[t];(!i.state||n)&&(i.state=le,i.pure?q.push(i):K.push(i),i.observers&&Je(i))}}function De(e){let n;if(e.sources)for(;e.sources.length;){const t=e.sources.pop(),i=e.sourceSlots.pop(),a=t.observers;if(a&&a.length){const o=a.pop(),h=t.observerSlots.pop();i<a.length&&(o.sourceSlots[h]=i,a[i]=o,t.observerSlots[i]=h)}}if(e.owned){for(n=0;n<e.owned.length;n++)De(e.owned[n]);e.owned=null}if(e.cleanups){for(n=0;n<e.cleanups.length;n++)e.cleanups[n]();e.cleanups=null}e.state=0,e.context=null}function Ke(e){throw e}function Le(e){if(typeof e=="function"&&!e.length)return Le(e());if(Array.isArray(e)){const n=[];for(let t=0;t<e.length;t++){const i=Le(e[t]);Array.isArray(i)?n.push.apply(n,i):n.push(i)}return n}return e}const Ft=Symbol("fallback");function Xe(e){for(let n=0;n<e.length;n++)e[n]()}function Dt(e,n,t={}){let i=[],a=[],o=[],h=0,u=n.length>1?[]:null;return jt(()=>Xe(o)),()=>{let S=e()||[],d,f;return ie(()=>{let k=S.length,I,w,p,m,A,r,s,l,c;if(k===0)h!==0&&(Xe(o),o=[],i=[],a=[],h=0,u&&(u=[])),t.fallback&&(i=[Ft],a[0]=ye(g=>(o[0]=g,t.fallback())),h=1);else if(h===0){for(a=new Array(k),f=0;f<k;f++)i[f]=S[f],a[f]=ye(N);h=k}else{for(p=new Array(k),m=new Array(k),u&&(A=new Array(k)),r=0,s=Math.min(h,k);r<s&&i[r]===S[r];r++);for(s=h-1,l=k-1;s>=r&&l>=r&&i[s]===S[l];s--,l--)p[l]=a[s],m[l]=o[s],u&&(A[l]=u[s]);for(I=new Map,w=new Array(l+1),f=l;f>=r;f--)c=S[f],d=I.get(c),w[f]=d===void 0?-1:d,I.set(c,f);for(d=r;d<=s;d++)c=i[d],f=I.get(c),f!==void 0&&f!==-1?(p[f]=a[d],m[f]=o[d],u&&(A[f]=u[d]),f=w[f],I.set(c,f)):o[d]();for(f=r;f<k;f++)f in p?(a[f]=p[f],o[f]=m[f],u&&(u[f]=A[f],u[f](f))):a[f]=ye(N);a=a.slice(0,h=k),i=S.slice(0)}return a});function N(k){if(o[f]=k,u){const[I,w]=X(f);return u[f]=w,n(S[f],I)}return n(S[f])}}}function z(e,n){return ie(()=>e(n))}function be(){return!0}const Lt={get(e,n,t){return n===M?t:e.get(n)},has(e,n){return e.has(n)},set:be,deleteProperty:be,getOwnPropertyDescriptor(e,n){return{configurable:!0,enumerable:!0,get(){return e.get(n)},set:be,deleteProperty:be}},ownKeys(e){return e.keys()}};function Be(e){return typeof e=="function"?e():e}function Bt(...e){return new Proxy({get(n){for(let t=e.length-1;t>=0;t--){const i=Be(e[t])[n];if(i!==void 0)return i}},has(n){for(let t=e.length-1;t>=0;t--)if(n in Be(e[t]))return!0;return!1},keys(){const n=[];for(let t=0;t<e.length;t++)n.push(...Object.keys(Be(e[t])));return[...new Set(n)]}},Lt)}function pe(e){const n="fallback"in e&&{fallback:()=>e.fallback};return Y(Dt(()=>e.each,e.children,n||void 0))}function Re(e){let n=!1;const t=Y(()=>e.when,void 0,{equals:(i,a)=>n?i===a:!i==!a});return Y(()=>{const i=t();if(i){const a=e.children;return(n=typeof a=="function"&&a.length>0)?ie(()=>a(i)):a}return e.fallback})}function Rt(e){let n=!1;const t=Tt(()=>e.children),i=Y(()=>{let a=t();Array.isArray(a)||(a=[a]);for(let o=0;o<a.length;o++){const h=a[o].when;if(h)return[o,h,a[o]]}return[-1]},void 0,{equals:(a,o)=>a&&a[0]===o[0]&&(n?a[1]===o[1]:!a[1]==!o[1])&&a[2]===o[2]});return Y(()=>{const[a,o,h]=i();if(a<0)return e.fallback;const u=h.children;return(n=typeof u=="function"&&u.length>0)?ie(()=>u(o)):u})}function Pt(e){return e}function et(e,n,t){let i=t.length,a=n.length,o=i,h=0,u=0,S=n[a-1].nextSibling,d=null;for(;h<a||u<o;){if(n[h]===t[u]){h++,u++;continue}for(;n[a-1]===t[o-1];)a--,o--;if(a===h){const f=o<i?u?t[u-1].nextSibling:t[o-u]:S;for(;u<o;)e.insertBefore(t[u++],f)}else if(o===u)for(;h<a;)(!d||!d.has(n[h]))&&e.removeChild(n[h]),h++;else if(n[h]===t[o-1]&&t[u]===n[a-1]){const f=n[--a].nextSibling;e.insertBefore(t[u++],n[h++].nextSibling),e.insertBefore(t[--o],f),n[a]=t[o]}else{if(!d){d=new Map;let N=u;for(;N<o;)d.set(t[N],N++)}const f=d.get(n[h]);if(f!=null)if(u<f&&f<o){let N=h,k=1,I;for(;++N<a&&N<o&&!((I=d.get(n[N]))==null||I!==f+k);)k++;if(k>f-u){const w=n[h];for(;u<f;)e.insertBefore(t[u++],w)}else e.replaceChild(t[u++],n[h++])}else h++;else e.removeChild(n[h++])}}}const tt="_$DX_DELEGATE";function Ut(e,n,t){let i;return ye(a=>{i=a,E(n,e(),n.firstChild?null:void 0,t)}),()=>{i(),n.textContent=""}}function Z(e,n,t){const i=document.createElement("template");i.innerHTML=e;let a=i.content.firstChild;return t&&(a=a.firstChild),a}function ue(e,n=window.document){const t=n[tt]||(n[tt]=new Set);for(let i=0,a=e.length;i<a;i++){const o=e[i];t.has(o)||(t.add(o),n.addEventListener(o,Ht))}}function ne(e,n,t){t==null?e.removeAttribute(n):e.setAttribute(n,t)}function Pe(e,n,t,i){i?Array.isArray(t)?(e[`$$${n}`]=t[0],e[`$$${n}Data`]=t[1]):e[`$$${n}`]=t:Array.isArray(t)?e.addEventListener(n,a=>t[0](t[1],a)):e.addEventListener(n,t)}function qt(e,n,t={}){const i=Object.keys(n||{}),a=Object.keys(t);let o,h;for(o=0,h=a.length;o<h;o++){const u=a[o];!u||u==="undefined"||n[u]||(nt(e,u,!1),delete t[u])}for(o=0,h=i.length;o<h;o++){const u=i[o],S=!!n[u];!u||u==="undefined"||t[u]===S||!S||(nt(e,u,!0),t[u]=S)}return t}function zt(e,n,t={}){const i=e.style;if(n==null||typeof n=="string")return i.cssText=n;typeof t=="string"&&(t={});let a,o;for(o in t)n[o]==null&&i.removeProperty(o),delete t[o];for(o in n)a=n[o],a!==t[o]&&(i.setProperty(o,a),t[o]=a);return t}function E(e,n,t,i){if(t!==void 0&&!i&&(i=[]),typeof n!="function")return we(e,n,i,t);H(a=>we(e,n(),a,t),i)}function nt(e,n,t){const i=n.trim().split(/\s+/);for(let a=0,o=i.length;a<o;a++)e.classList.toggle(i[a],t)}function Ht(e){const n=`$$${e.type}`;let t=e.composedPath&&e.composedPath()[0]||e.target;for(e.target!==t&&Object.defineProperty(e,"target",{configurable:!0,value:t}),Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t}});t!==null;){const i=t[n];if(i&&!t.disabled){const a=t[`${n}Data`];if(a!==void 0?i(a,e):i(e),e.cancelBubble)return}t=t.host&&t.host!==t&&t.host instanceof Node?t.host:t.parentNode}}function we(e,n,t,i,a){for(;typeof t=="function";)t=t();if(n===t)return t;const o=typeof n,h=i!==void 0;if(e=h&&t[0]&&t[0].parentNode||e,o==="string"||o==="number")if(o==="number"&&(n=n.toString()),h){let u=t[0];u&&u.nodeType===3?u.data=n:u=document.createTextNode(n),t=fe(e,t,i,u)}else t!==""&&typeof t=="string"?t=e.firstChild.data=n:t=e.textContent=n;else if(n==null||o==="boolean")t=fe(e,t,i);else{if(o==="function")return H(()=>{let u=n();for(;typeof u=="function";)u=u();t=we(e,u,t,i)}),()=>t;if(Array.isArray(n)){const u=[];if(Ue(u,n,a))return H(()=>t=we(e,u,t,i,!0)),()=>t;if(u.length===0){if(t=fe(e,t,i),h)return t}else Array.isArray(t)?t.length===0?rt(e,u,i):et(e,t,u):t==null||t===""?rt(e,u):et(e,h&&t||[e.firstChild],u);t=u}else if(n instanceof Node){if(Array.isArray(t)){if(h)return t=fe(e,t,i,n);fe(e,t,null,n)}else t==null||t===""||!e.firstChild?e.appendChild(n):e.replaceChild(n,e.firstChild);t=n}}return t}function Ue(e,n,t){let i=!1;for(let a=0,o=n.length;a<o;a++){let h=n[a],u;if(h instanceof Node)e.push(h);else if(!(h==null||h===!0||h===!1))if(Array.isArray(h))i=Ue(e,h)||i;else if((u=typeof h)==="string")e.push(document.createTextNode(h));else if(u==="function")if(t){for(;typeof h=="function";)h=h();i=Ue(e,Array.isArray(h)?h:[h])||i}else e.push(h),i=!0;else e.push(document.createTextNode(h.toString()))}return i}function rt(e,n,t){for(let i=0,a=n.length;i<a;i++)e.insertBefore(n[i],t)}function fe(e,n,t,i){if(t===void 0)return e.textContent="";const a=i||document.createTextNode("");if(n.length){let o=!1;for(let h=n.length-1;h>=0;h--){const u=n[h];if(a!==u){const S=u.parentNode===e;!o&&!h?S?e.replaceChild(a,u):e.insertBefore(a,t):S&&e.removeChild(u)}else o=!0}}else e.insertBefore(a,t);return[a]}var it={button:"_button_1dv9o_1",primary:"_primary_1dv9o_18"};const Vt=Z("<button></button>"),st=e=>(()=>{const n=Vt.cloneNode(!0);return Pe(n,"click",e.onClick,!0),E(n,()=>e.children),H(t=>{const i={[it.button]:!0,[it.primary]:e.type==="primary"},a=e.disabled,o=e.style;return t._v$=qt(n,i,t._v$),a!==t._v$2&&(n.disabled=t._v$2=a),t._v$3=zt(n,o,t._v$3),t},{_v$:void 0,_v$2:void 0,_v$3:void 0}),n})();ue(["click"]);var $e={root:"_root_1nuhb_1",loading:"_loading_1nuhb_5",tracking:"_tracking_1nuhb_19",title:"_title_1nuhb_23",content:"_content_1nuhb_37"},de=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Yt(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var at={exports:{}},lt={exports:{}};(function(e,n){(function(t,i){e.exports=i()})(de,function(){var t=t||function(i,a){var o;if(typeof window!="undefined"&&window.crypto&&(o=window.crypto),typeof self!="undefined"&&self.crypto&&(o=self.crypto),typeof globalThis!="undefined"&&globalThis.crypto&&(o=globalThis.crypto),!o&&typeof window!="undefined"&&window.msCrypto&&(o=window.msCrypto),!o&&typeof de!="undefined"&&de.crypto&&(o=de.crypto),!o&&typeof Yt=="function")try{o=require("crypto")}catch(r){}var h=function(){if(o){if(typeof o.getRandomValues=="function")try{return o.getRandomValues(new Uint32Array(1))[0]}catch(r){}if(typeof o.randomBytes=="function")try{return o.randomBytes(4).readInt32LE()}catch(r){}}throw new Error("Native crypto module could not be used to get secure random number.")},u=Object.create||function(){function r(){}return function(s){var l;return r.prototype=s,l=new r,r.prototype=null,l}}(),S={},d=S.lib={},f=d.Base=function(){return{extend:function(r){var s=u(this);return r&&s.mixIn(r),(!s.hasOwnProperty("init")||this.init===s.init)&&(s.init=function(){s.$super.init.apply(this,arguments)}),s.init.prototype=s,s.$super=this,s},create:function(){var r=this.extend();return r.init.apply(r,arguments),r},init:function(){},mixIn:function(r){for(var s in r)r.hasOwnProperty(s)&&(this[s]=r[s]);r.hasOwnProperty("toString")&&(this.toString=r.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),N=d.WordArray=f.extend({init:function(r,s){r=this.words=r||[],s!=a?this.sigBytes=s:this.sigBytes=r.length*4},toString:function(r){return(r||I).stringify(this)},concat:function(r){var s=this.words,l=r.words,c=this.sigBytes,g=r.sigBytes;if(this.clamp(),c%4)for(var $=0;$<g;$++){var C=l[$>>>2]>>>24-$%4*8&255;s[c+$>>>2]|=C<<24-(c+$)%4*8}else for(var x=0;x<g;x+=4)s[c+x>>>2]=l[x>>>2];return this.sigBytes+=g,this},clamp:function(){var r=this.words,s=this.sigBytes;r[s>>>2]&=4294967295<<32-s%4*8,r.length=i.ceil(s/4)},clone:function(){var r=f.clone.call(this);return r.words=this.words.slice(0),r},random:function(r){for(var s=[],l=0;l<r;l+=4)s.push(h());return new N.init(s,r)}}),k=S.enc={},I=k.Hex={stringify:function(r){for(var s=r.words,l=r.sigBytes,c=[],g=0;g<l;g++){var $=s[g>>>2]>>>24-g%4*8&255;c.push(($>>>4).toString(16)),c.push(($&15).toString(16))}return c.join("")},parse:function(r){for(var s=r.length,l=[],c=0;c<s;c+=2)l[c>>>3]|=parseInt(r.substr(c,2),16)<<24-c%8*4;return new N.init(l,s/2)}},w=k.Latin1={stringify:function(r){for(var s=r.words,l=r.sigBytes,c=[],g=0;g<l;g++){var $=s[g>>>2]>>>24-g%4*8&255;c.push(String.fromCharCode($))}return c.join("")},parse:function(r){for(var s=r.length,l=[],c=0;c<s;c++)l[c>>>2]|=(r.charCodeAt(c)&255)<<24-c%4*8;return new N.init(l,s)}},p=k.Utf8={stringify:function(r){try{return decodeURIComponent(escape(w.stringify(r)))}catch(s){throw new Error("Malformed UTF-8 data")}},parse:function(r){return w.parse(unescape(encodeURIComponent(r)))}},m=d.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new N.init,this._nDataBytes=0},_append:function(r){typeof r=="string"&&(r=p.parse(r)),this._data.concat(r),this._nDataBytes+=r.sigBytes},_process:function(r){var s,l=this._data,c=l.words,g=l.sigBytes,$=this.blockSize,C=$*4,x=g/C;r?x=i.ceil(x):x=i.max((x|0)-this._minBufferSize,0);var j=x*$,L=i.min(j*4,g);if(j){for(var D=0;D<j;D+=$)this._doProcessBlock(c,D);s=c.splice(0,j),l.sigBytes-=L}return new N.init(s,L)},clone:function(){var r=f.clone.call(this);return r._data=this._data.clone(),r},_minBufferSize:0});d.Hasher=m.extend({cfg:f.extend(),init:function(r){this.cfg=this.cfg.extend(r),this.reset()},reset:function(){m.reset.call(this),this._doReset()},update:function(r){return this._append(r),this._process(),this},finalize:function(r){r&&this._append(r);var s=this._doFinalize();return s},blockSize:512/32,_createHelper:function(r){return function(s,l){return new r.init(l).finalize(s)}},_createHmacHelper:function(r){return function(s,l){return new A.HMAC.init(r,l).finalize(s)}}});var A=S.algo={};return S}(Math);return t})})(lt),function(e,n){(function(t,i){e.exports=i(lt.exports)})(de,function(t){return function(i){var a=t,o=a.lib,h=o.WordArray,u=o.Hasher,S=a.algo,d=[];(function(){for(var p=0;p<64;p++)d[p]=i.abs(i.sin(p+1))*4294967296|0})();var f=S.MD5=u.extend({_doReset:function(){this._hash=new h.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,m){for(var A=0;A<16;A++){var r=m+A,s=p[r];p[r]=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360}var l=this._hash.words,c=p[m+0],g=p[m+1],$=p[m+2],C=p[m+3],x=p[m+4],j=p[m+5],L=p[m+6],D=p[m+7],V=p[m+8],B=p[m+9],ee=p[m+10],W=p[m+11],Ne=p[m+12],ke=p[m+13],Ae=p[m+14],Ie=p[m+15],_=l[0],y=l[1],v=l[2],b=l[3];_=N(_,y,v,b,c,7,d[0]),b=N(b,_,y,v,g,12,d[1]),v=N(v,b,_,y,$,17,d[2]),y=N(y,v,b,_,C,22,d[3]),_=N(_,y,v,b,x,7,d[4]),b=N(b,_,y,v,j,12,d[5]),v=N(v,b,_,y,L,17,d[6]),y=N(y,v,b,_,D,22,d[7]),_=N(_,y,v,b,V,7,d[8]),b=N(b,_,y,v,B,12,d[9]),v=N(v,b,_,y,ee,17,d[10]),y=N(y,v,b,_,W,22,d[11]),_=N(_,y,v,b,Ne,7,d[12]),b=N(b,_,y,v,ke,12,d[13]),v=N(v,b,_,y,Ae,17,d[14]),y=N(y,v,b,_,Ie,22,d[15]),_=k(_,y,v,b,g,5,d[16]),b=k(b,_,y,v,L,9,d[17]),v=k(v,b,_,y,W,14,d[18]),y=k(y,v,b,_,c,20,d[19]),_=k(_,y,v,b,j,5,d[20]),b=k(b,_,y,v,ee,9,d[21]),v=k(v,b,_,y,Ie,14,d[22]),y=k(y,v,b,_,x,20,d[23]),_=k(_,y,v,b,B,5,d[24]),b=k(b,_,y,v,Ae,9,d[25]),v=k(v,b,_,y,C,14,d[26]),y=k(y,v,b,_,V,20,d[27]),_=k(_,y,v,b,ke,5,d[28]),b=k(b,_,y,v,$,9,d[29]),v=k(v,b,_,y,D,14,d[30]),y=k(y,v,b,_,Ne,20,d[31]),_=I(_,y,v,b,j,4,d[32]),b=I(b,_,y,v,V,11,d[33]),v=I(v,b,_,y,W,16,d[34]),y=I(y,v,b,_,Ae,23,d[35]),_=I(_,y,v,b,g,4,d[36]),b=I(b,_,y,v,x,11,d[37]),v=I(v,b,_,y,D,16,d[38]),y=I(y,v,b,_,ee,23,d[39]),_=I(_,y,v,b,ke,4,d[40]),b=I(b,_,y,v,c,11,d[41]),v=I(v,b,_,y,C,16,d[42]),y=I(y,v,b,_,L,23,d[43]),_=I(_,y,v,b,B,4,d[44]),b=I(b,_,y,v,Ne,11,d[45]),v=I(v,b,_,y,Ie,16,d[46]),y=I(y,v,b,_,$,23,d[47]),_=w(_,y,v,b,c,6,d[48]),b=w(b,_,y,v,D,10,d[49]),v=w(v,b,_,y,Ae,15,d[50]),y=w(y,v,b,_,j,21,d[51]),_=w(_,y,v,b,Ne,6,d[52]),b=w(b,_,y,v,C,10,d[53]),v=w(v,b,_,y,ee,15,d[54]),y=w(y,v,b,_,g,21,d[55]),_=w(_,y,v,b,V,6,d[56]),b=w(b,_,y,v,Ie,10,d[57]),v=w(v,b,_,y,L,15,d[58]),y=w(y,v,b,_,ke,21,d[59]),_=w(_,y,v,b,x,6,d[60]),b=w(b,_,y,v,W,10,d[61]),v=w(v,b,_,y,$,15,d[62]),y=w(y,v,b,_,B,21,d[63]),l[0]=l[0]+_|0,l[1]=l[1]+y|0,l[2]=l[2]+v|0,l[3]=l[3]+b|0},_doFinalize:function(){var p=this._data,m=p.words,A=this._nDataBytes*8,r=p.sigBytes*8;m[r>>>5]|=128<<24-r%32;var s=i.floor(A/4294967296),l=A;m[(r+64>>>9<<4)+15]=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,m[(r+64>>>9<<4)+14]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,p.sigBytes=(m.length+1)*4,this._process();for(var c=this._hash,g=c.words,$=0;$<4;$++){var C=g[$];g[$]=(C<<8|C>>>24)&16711935|(C<<24|C>>>8)&4278255360}return c},clone:function(){var p=u.clone.call(this);return p._hash=this._hash.clone(),p}});function N(p,m,A,r,s,l,c){var g=p+(m&A|~m&r)+s+c;return(g<<l|g>>>32-l)+m}function k(p,m,A,r,s,l,c){var g=p+(m&r|A&~r)+s+c;return(g<<l|g>>>32-l)+m}function I(p,m,A,r,s,l,c){var g=p+(m^A^r)+s+c;return(g<<l|g>>>32-l)+m}function w(p,m,A,r,s,l,c){var g=p+(A^(m|~r))+s+c;return(g<<l|g>>>32-l)+m}a.MD5=u._createHelper(f),a.HmacMD5=u._createHmacHelper(f)}(Math),t.MD5})}(at);var Zt=at.exports,ge={},Gt=e=>encodeURIComponent(e).replace(/[!'()*]/g,n=>`%${n.charCodeAt(0).toString(16).toUpperCase()}`),ot="%[a-f0-9]{2}",ct=new RegExp(ot,"gi"),ut=new RegExp("("+ot+")+","gi");function qe(e,n){try{return decodeURIComponent(e.join(""))}catch(a){}if(e.length===1)return e;n=n||1;var t=e.slice(0,n),i=e.slice(n);return Array.prototype.concat.call([],qe(t),qe(i))}function Wt(e){try{return decodeURIComponent(e)}catch(i){for(var n=e.match(ct),t=1;t<n.length;t++)e=qe(n,t).join(""),n=e.match(ct);return e}}function Qt(e){for(var n={"%FE%FF":"\uFFFD\uFFFD","%FF%FE":"\uFFFD\uFFFD"},t=ut.exec(e);t;){try{n[t[0]]=decodeURIComponent(t[0])}catch(u){var i=Wt(t[0]);i!==t[0]&&(n[t[0]]=i)}t=ut.exec(e)}n["%C2"]="\uFFFD";for(var a=Object.keys(n),o=0;o<a.length;o++){var h=a[o];e=e.replace(new RegExp(h,"g"),n[h])}return e}var Jt=function(e){if(typeof e!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return e=e.replace(/\+/g," "),decodeURIComponent(e)}catch(n){return Qt(e)}},Kt=(e,n)=>{if(!(typeof e=="string"&&typeof n=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(n==="")return[e];const t=e.indexOf(n);return t===-1?[e]:[e.slice(0,t),e.slice(t+n.length)]},Xt=function(e,n){for(var t={},i=Object.keys(e),a=Array.isArray(n),o=0;o<i.length;o++){var h=i[o],u=e[h];(a?n.indexOf(h)!==-1:n(h,u,e))&&(t[h]=u)}return t};(function(e){const n=Gt,t=Jt,i=Kt,a=Xt,o=r=>r==null,h=Symbol("encodeFragmentIdentifier");function u(r){switch(r.arrayFormat){case"index":return s=>(l,c)=>{const g=l.length;return c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,[f(s,r),"[",g,"]"].join("")]:[...l,[f(s,r),"[",f(g,r),"]=",f(c,r)].join("")]};case"bracket":return s=>(l,c)=>c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,[f(s,r),"[]"].join("")]:[...l,[f(s,r),"[]=",f(c,r)].join("")];case"colon-list-separator":return s=>(l,c)=>c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,[f(s,r),":list="].join("")]:[...l,[f(s,r),":list=",f(c,r)].join("")];case"comma":case"separator":case"bracket-separator":{const s=r.arrayFormat==="bracket-separator"?"[]=":"=";return l=>(c,g)=>g===void 0||r.skipNull&&g===null||r.skipEmptyString&&g===""?c:(g=g===null?"":g,c.length===0?[[f(l,r),s,f(g,r)].join("")]:[[c,f(g,r)].join(r.arrayFormatSeparator)])}default:return s=>(l,c)=>c===void 0||r.skipNull&&c===null||r.skipEmptyString&&c===""?l:c===null?[...l,f(s,r)]:[...l,[f(s,r),"=",f(c,r)].join("")]}}function S(r){let s;switch(r.arrayFormat){case"index":return(l,c,g)=>{if(s=/\[(\d*)\]$/.exec(l),l=l.replace(/\[\d*\]$/,""),!s){g[l]=c;return}g[l]===void 0&&(g[l]={}),g[l][s[1]]=c};case"bracket":return(l,c,g)=>{if(s=/(\[\])$/.exec(l),l=l.replace(/\[\]$/,""),!s){g[l]=c;return}if(g[l]===void 0){g[l]=[c];return}g[l]=[].concat(g[l],c)};case"colon-list-separator":return(l,c,g)=>{if(s=/(:list)$/.exec(l),l=l.replace(/:list$/,""),!s){g[l]=c;return}if(g[l]===void 0){g[l]=[c];return}g[l]=[].concat(g[l],c)};case"comma":case"separator":return(l,c,g)=>{const $=typeof c=="string"&&c.includes(r.arrayFormatSeparator),C=typeof c=="string"&&!$&&N(c,r).includes(r.arrayFormatSeparator);c=C?N(c,r):c;const x=$||C?c.split(r.arrayFormatSeparator).map(j=>N(j,r)):c===null?c:N(c,r);g[l]=x};case"bracket-separator":return(l,c,g)=>{const $=/(\[\])$/.test(l);if(l=l.replace(/\[\]$/,""),!$){g[l]=c&&N(c,r);return}const C=c===null?[]:c.split(r.arrayFormatSeparator).map(x=>N(x,r));if(g[l]===void 0){g[l]=C;return}g[l]=[].concat(g[l],C)};default:return(l,c,g)=>{if(g[l]===void 0){g[l]=c;return}g[l]=[].concat(g[l],c)}}}function d(r){if(typeof r!="string"||r.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function f(r,s){return s.encode?s.strict?n(r):encodeURIComponent(r):r}function N(r,s){return s.decode?t(r):r}function k(r){return Array.isArray(r)?r.sort():typeof r=="object"?k(Object.keys(r)).sort((s,l)=>Number(s)-Number(l)).map(s=>r[s]):r}function I(r){const s=r.indexOf("#");return s!==-1&&(r=r.slice(0,s)),r}function w(r){let s="";const l=r.indexOf("#");return l!==-1&&(s=r.slice(l)),s}function p(r){r=I(r);const s=r.indexOf("?");return s===-1?"":r.slice(s+1)}function m(r,s){return s.parseNumbers&&!Number.isNaN(Number(r))&&typeof r=="string"&&r.trim()!==""?r=Number(r):s.parseBooleans&&r!==null&&(r.toLowerCase()==="true"||r.toLowerCase()==="false")&&(r=r.toLowerCase()==="true"),r}function A(r,s){s=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},s),d(s.arrayFormatSeparator);const l=S(s),c=Object.create(null);if(typeof r!="string"||(r=r.trim().replace(/^[?#&]/,""),!r))return c;for(const g of r.split("&")){if(g==="")continue;let[$,C]=i(s.decode?g.replace(/\+/g," "):g,"=");C=C===void 0?null:["comma","separator","bracket-separator"].includes(s.arrayFormat)?C:N(C,s),l(N($,s),C,c)}for(const g of Object.keys(c)){const $=c[g];if(typeof $=="object"&&$!==null)for(const C of Object.keys($))$[C]=m($[C],s);else c[g]=m($,s)}return s.sort===!1?c:(s.sort===!0?Object.keys(c).sort():Object.keys(c).sort(s.sort)).reduce((g,$)=>{const C=c[$];return Boolean(C)&&typeof C=="object"&&!Array.isArray(C)?g[$]=k(C):g[$]=C,g},Object.create(null))}e.extract=p,e.parse=A,e.stringify=(r,s)=>{if(!r)return"";s=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},s),d(s.arrayFormatSeparator);const l=C=>s.skipNull&&o(r[C])||s.skipEmptyString&&r[C]==="",c=u(s),g={};for(const C of Object.keys(r))l(C)||(g[C]=r[C]);const $=Object.keys(g);return s.sort!==!1&&$.sort(s.sort),$.map(C=>{const x=r[C];return x===void 0?"":x===null?f(C,s):Array.isArray(x)?x.length===0&&s.arrayFormat==="bracket-separator"?f(C,s)+"[]":x.reduce(c(C),[]).join("&"):f(C,s)+"="+f(x,s)}).filter(C=>C.length>0).join("&")},e.parseUrl=(r,s)=>{s=Object.assign({decode:!0},s);const[l,c]=i(r,"#");return Object.assign({url:l.split("?")[0]||"",query:A(p(r),s)},s&&s.parseFragmentIdentifier&&c?{fragmentIdentifier:N(c,s)}:{})},e.stringifyUrl=(r,s)=>{s=Object.assign({encode:!0,strict:!0,[h]:!0},s);const l=I(r.url).split("?")[0]||"",c=e.extract(r.url),g=e.parse(c,{sort:!1}),$=Object.assign(g,r.query);let C=e.stringify($,s);C&&(C=`?${C}`);let x=w(r.url);return r.fragmentIdentifier&&(x=`#${s[h]?f(r.fragmentIdentifier,s):r.fragmentIdentifier}`),`${l}${C}${x}`},e.pick=(r,s,l)=>{l=Object.assign({parseFragmentIdentifier:!0,[h]:!1},l);const{url:c,query:g,fragmentIdentifier:$}=e.parseUrl(r,l);return e.stringifyUrl({url:c,query:a(g,s),fragmentIdentifier:$},l)},e.exclude=(r,s,l)=>{const c=Array.isArray(s)?g=>!s.includes(g):(g,$)=>!s(g,$);return e.pick(r,c,l)}})(ge);const[se,en]=X([]),[ft,tn]=X([]),[ze,dt]=X(new Map),[nn,rn]=X([]),[He,sn]=X("");X("");function he(){return te(this,null,function*(){var n;const e=((n=document.querySelector("#aftership_get_nonce"))==null?void 0:n.value)||"";yield fetch(ge.stringifyUrl({url:window.woocommerce_admin_meta_boxes.ajax_url,query:{action:"aftership_get_order_trackings",security:e,order_id:window.woocommerce_admin_meta_boxes.post_id,t:Date.now()}})).then(t=>t.json()).then(t=>{const i=t.data,a=window.get_aftership_couriers(),o=new Map;i.trackings.forEach(h=>{if(o.has(h.slug))return;const u=a.find(S=>S.slug===h.slug);u&&o.set(h.slug,u)}),dt(h=>new Map([...h,...o])),en(i.trackings),rn(i.line_items)})})}function an(e){return te(this,null,function*(){var u;const n=se().find(S=>S.tracking_id===e.tracking_id),t=se().findIndex(S=>S.tracking_id===e.tracking_id),i=new Date().toISOString().replace(/\.\d+(?=Z$)/,""),a=e.slug!==(n==null?void 0:n.slug)||e.tracking_number!==(n==null?void 0:n.tracking_number);let o=[...se()];n&&!a?o.splice(t,1,P(R({},e),{metrics:{created_at:n.metrics.created_at||i,updated_at:i}})):o=[...o.filter(S=>S.tracking_id!==e.tracking_id),P(R({},e),{tracking_id:Zt(`${e.slug}-${e.tracking_number}`).toString(),metrics:{created_at:i,updated_at:i}})];const h=((u=document.querySelector("#aftership_create_nonce"))==null?void 0:u.value)||"";yield fetch(ge.stringifyUrl({url:window.woocommerce_admin_meta_boxes.ajax_url,query:{action:"aftership_save_order_tracking",security:h}}),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({order_id:window.woocommerce_admin_meta_boxes.post_id,trackings:o})}),yield he()})}function ln(e){return te(this,null,function*(){var t;const n=((t=document.querySelector("#aftership_delete_nonce"))==null?void 0:t.value)||"";yield fetch(ge.stringifyUrl({url:window.woocommerce_admin_meta_boxes.ajax_url,query:{action:"aftership_delete_order_tracking",security:n}}),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({order_id:window.woocommerce_admin_meta_boxes.post_id,tracking_id:e})}),yield he()})}function on(){return te(this,null,function*(){yield fetch(ge.stringifyUrl({url:window.woocommerce_admin_meta_boxes.ajax_url,query:{action:"aftership_get_settings",t:Date.now()}})).then(e=>e.json()).then(e=>{const n=e.data.couriers,t=new Map(ze());n.forEach(i=>{t.set(i.slug,i)}),dt(i=>new Map([...i,...t])),tn(n),sn(e.data.custom_domain)})})}var cn=typeof global=="object"&&global&&global.Object===Object&&global,un=cn,fn=typeof self=="object"&&self&&self.Object===Object&&self,dn=un||fn||Function("return this")(),gn=dn,hn=gn.Symbol,ae=hn,gt=Object.prototype,mn=gt.hasOwnProperty,_n=gt.toString,me=ae?ae.toStringTag:void 0;function yn(e){var n=mn.call(e,me),t=e[me];try{e[me]=void 0;var i=!0}catch(o){}var a=_n.call(e);return i&&(n?e[me]=t:delete e[me]),a}var vn=Object.prototype,bn=vn.toString;function pn(e){return bn.call(e)}var wn="[object Null]",$n="[object Undefined]",ht=ae?ae.toStringTag:void 0;function Sn(e){return e==null?e===void 0?$n:wn:ht&&ht in Object(e)?yn(e):pn(e)}function xn(e){return e!=null&&typeof e=="object"}var Cn="[object Symbol]";function Nn(e){return typeof e=="symbol"||xn(e)&&Sn(e)==Cn}function kn(e,n){for(var t=-1,i=e==null?0:e.length,a=Array(i);++t<i;)a[t]=n(e[t],t,e);return a}var An=Array.isArray,In=An,jn=1/0,mt=ae?ae.prototype:void 0,_t=mt?mt.toString:void 0;function yt(e){if(typeof e=="string")return e;if(In(e))return kn(e,yt)+"";if(Nn(e))return _t?_t.call(e):"";var n=e+"";return n=="0"&&1/e==-jn?"-0":n}function vt(e){return e==null?"":yt(e)}function Tn(e,n,t){var i=-1,a=e.length;n<0&&(n=-n>a?0:a+n),t=t>a?a:t,t<0&&(t+=a),a=n>t?0:t-n>>>0,n>>>=0;for(var o=Array(a);++i<a;)o[i]=e[i+n];return o}function On(e,n,t){var i=e.length;return t=t===void 0?i:t,!n&&t>=i?e:Tn(e,n,t)}var En="\\ud800-\\udfff",Mn="\\u0300-\\u036f",Fn="\\ufe20-\\ufe2f",Dn="\\u20d0-\\u20ff",Ln=Mn+Fn+Dn,Bn="\\ufe0e\\ufe0f",Rn="\\u200d",Pn=RegExp("["+Rn+En+Ln+Bn+"]");function bt(e){return Pn.test(e)}function Un(e){return e.split("")}var pt="\\ud800-\\udfff",qn="\\u0300-\\u036f",zn="\\ufe20-\\ufe2f",Hn="\\u20d0-\\u20ff",Vn=qn+zn+Hn,Yn="\\ufe0e\\ufe0f",Zn="["+pt+"]",Ve="["+Vn+"]",Ye="\\ud83c[\\udffb-\\udfff]",Gn="(?:"+Ve+"|"+Ye+")",wt="[^"+pt+"]",$t="(?:\\ud83c[\\udde6-\\uddff]){2}",St="[\\ud800-\\udbff][\\udc00-\\udfff]",Wn="\\u200d",xt=Gn+"?",Ct="["+Yn+"]?",Qn="(?:"+Wn+"(?:"+[wt,$t,St].join("|")+")"+Ct+xt+")*",Jn=Ct+xt+Qn,Kn="(?:"+[wt+Ve+"?",Ve,$t,St,Zn].join("|")+")",Xn=RegExp(Ye+"(?="+Ye+")|"+Kn+Jn,"g");function er(e){return e.match(Xn)||[]}function tr(e){return bt(e)?er(e):Un(e)}function nr(e){return function(n){n=vt(n);var t=bt(n)?tr(n):void 0,i=t?t[0]:n.charAt(0),a=t?On(t,1).join(""):n.slice(1);return i[e]()+a}}var rr=nr("toUpperCase"),ir=rr;function sr(e){return ir(vt(e).toLowerCase())}var Se={container:"_container_1s8av_1",backdrop:"_backdrop_1s8av_8",modal:"_modal_1s8av_15"},ar="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmkteCIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBmaWxsPSIjNjY2IiBkPSJNNC42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCA3LjI5M2wyLjY0Ni0yLjY0N2EuNS41IDAgMCAxIC43MDguNzA4TDguNzA3IDhsMi42NDcgMi42NDZhLjUuNSAwIDAgMS0uNzA4LjcwOEw4IDguNzA3bC0yLjY0NiAyLjY0N2EuNS41IDAgMCAxLS43MDgtLjcwOEw3LjI5MyA4IDQuNjQ2IDUuMzU0YS41LjUgMCAwIDEgMC0uNzA4eiIvPgo8L3N2Zz4=";const lr=Z('<div><div></div><section><header><h1></h1><div role="button"><img></div></header><article></article><footer></footer></section></div>');function or(e){return Te(()=>{e.visible?document.body.style.overflowY="hidden":document.body.style.overflowY="auto"}),z(Re,{get when(){return e.visible},get children(){const n=lr.cloneNode(!0),t=n.firstChild,i=t.nextSibling,a=i.firstChild,o=a.firstChild,h=o.nextSibling,u=h.firstChild,S=a.nextSibling,d=S.nextSibling;return Pe(t,"click",e.onCancel,!0),E(o,()=>e.title),Pe(h,"click",e.onCancel,!0),ne(u,"src",ar),E(S,()=>e.children),E(d,z(st,{get disabled(){return e.disabled},onClick:()=>e.onOk&&e.onOk(),type:"primary",get children(){return e.okText||"Ok"}})),H(f=>{const N=Se.container,k=Se.backdrop,I=Se.modal,w=Se.header;return N!==f._v$&&(n.className=f._v$=N),k!==f._v$2&&(t.className=f._v$2=k),I!==f._v$3&&(i.className=f._v$3=I),w!==f._v$4&&(a.className=f._v$4=w),f},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),n}})}ue(["click"]);var Ze={root:"_root_b92ih_1",suffix:"_suffix_b92ih_25",action:"_action_b92ih_30"},cr="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktY2FyZXQtdXAtZmlsbCIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBmaWxsPSIjNWM1ZjYyIiBkPSJtNy4yNDcgNC44Ni00Ljc5NiA1LjQ4MWMtLjU2Ni42NDctLjEwNiAxLjY1OS43NTMgMS42NTloOS41OTJhMSAxIDAgMCAwIC43NTMtMS42NTlsLTQuNzk2LTUuNDhhMSAxIDAgMCAwLTEuNTA2IDB6Ii8+Cjwvc3ZnPg==",ur="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktY2FyZXQtZG93bi1maWxsIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgogIDxwYXRoIGZpbGw9IiM1YzVmNjIiIGQ9Ik03LjI0NyAxMS4xNCAyLjQ1MSA1LjY1OEMxLjg4NSA1LjAxMyAyLjM0NSA0IDMuMjA0IDRoOS41OTJhMSAxIDAgMCAxIC43NTMgMS42NTlsLTQuNzk2IDUuNDhhMSAxIDAgMCAxLTEuNTA2IDB6Ii8+Cjwvc3ZnPg==";const fr=Z("<div>of </div>"),dr=Z('<div><div><input type="number" inputmode="numeric"></div><div aria-hidden><div role="button" tabindex="-1"><img></div><div role="button" tabindex="-1"><img></div></div></div>');function gr(e){let n;const t=Bt({step:1},e);function i(S){return t.min!==void 0&&Number(S)<t.min}function a(S){return t.max!==void 0&&Number(S)>t.max}function o(S){!S||i(S)||a(S)||t.onChange(Number(S))}function h(S){if(S)if(i(S)){t.onChange(t.min),n.value=String(t.min);return}else if(a(S)){t.onChange(t.max),n.value=String(t.max);return}else t.onChange(Number(S));else n.value="",t.onChange(void 0)}function u(S){const d=t.value;let f;if(d===void 0)f=S>0?t.min:t.max,t.onChange(f||0);else{f=d+S*t.step;const N=String(f);if(i(N)||a(N))return}t.onChange(f)}return(()=>{const S=dr.cloneNode(!0),d=S.firstChild,f=d.firstChild,N=d.nextSibling,k=N.firstChild,I=k.firstChild,w=k.nextSibling,p=w.firstChild;return f.addEventListener("blur",m=>h(m.currentTarget.value)),f.$$input=m=>o(m.currentTarget.value),(m=>n=m)(f),E(S,z(Re,{get when(){return t.max!==void 0},get children(){const m=fr.cloneNode(!0);return m.firstChild,m.$$click=()=>n.focus(),E(m,()=>t.max,null),H(()=>m.className=Ze.suffix),m}}),N),k.$$click=()=>u(1),ne(I,"src",cr),w.$$click=()=>u(-1),ne(p,"src",ur),H(m=>{const A=Ze.root,r=t.min,s=t.max,l=t.value,c=Ze.action;return A!==m._v$&&(S.className=m._v$=A),r!==m._v$2&&ne(f,"min",m._v$2=r),s!==m._v$3&&ne(f,"max",m._v$3=s),l!==m._v$4&&(f.value=m._v$4=l),c!==m._v$5&&(N.className=m._v$5=c),m},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0}),S})()}ue(["input","click"]);var xe={modal:"_modal_128mo_1",empty:"_empty_128mo_7",items:"_items_128mo_13",input:"_input_128mo_34"};function hr(e){const n=new Map;return e.forEach(i=>{var a;(a=i.line_items)==null||a.forEach(o=>{n.has(Number(o.id))?n.set(Number(o.id),(n.get(Number(o.id))||0)+Number(o.quantity)):n.set(Number(o.id),Number(o.quantity))})}),nn().map(i=>{const a=n.get(i.id)||0;return{id:i.id,name:i.name,quantity:i.quantity-a}}).filter(i=>i.quantity>0)}const mr=Z("<table><thead><tr><th>Items</th><th>Qty.</th></tr></thead><tbody></tbody></table>"),_r=Z('<div style="color: red;"></div>'),yr=Z('<div><hr><div><div><label>Courier:<select></select></label><a href="admin.php?page=aftership-setting-admin">Update carrier list</a></div><div><label>Tracking number:<input></label></div></div></div>'),vr=Z("<div>All items have been fulfilled</div>"),br=Z("<tr><td></td><td></td></tr>"),pr=Z("<option></option>"),wr=Z("<div><label>:<input></label></div>"),Ce={tracking_id:"",tracking_number:"",slug:"",additional_fields:{account_number:"",key:"",postal_code:"",ship_date:"",destination_country:"",state:""},line_items:{}};function $r(e){const[n,t]=X(Ce),i=Y(()=>n().slug||""),a=Y(()=>{var p;return(((p=ze().get(i()))==null?void 0:p.required_fields)||[]).map(m=>({key:m.replace(/^tracking_/,""),name:m.replace(/^tracking_/,"").split("_").map(sr).join(" ")}))}),o=Y(()=>e.value?se().filter(w=>{var p;return w.tracking_id!==((p=e.value)==null?void 0:p.tracking_id)}):se()),h=Y(()=>o().length),u=Y(()=>hr(o()));Te(()=>{var m,A,r;const w=new Date().toISOString().split("T")[0],p=((m=e.value)==null?void 0:m.line_items)||[];e.value?e.value.line_items?t({tracking_id:e.value.tracking_id,slug:e.value.slug,tracking_number:e.value.tracking_number,additional_fields:P(R({},e.value.additional_fields),{ship_date:e.value.additional_fields.ship_date||w}),line_items:Object.fromEntries(p.map(s=>[Number(s.id),Number(s.quantity)]))}):h()?t({tracking_id:e.value.tracking_id,slug:e.value.slug,tracking_number:e.value.tracking_number,additional_fields:P(R({},e.value.additional_fields),{ship_date:e.value.additional_fields.ship_date||w}),line_items:Object.fromEntries(u().map(s=>[Number(s.id),0]))}):t({tracking_id:e.value.tracking_id,slug:e.value.slug,tracking_number:e.value.tracking_number,additional_fields:P(R({},e.value.additional_fields),{ship_date:e.value.additional_fields.ship_date||w}),line_items:Object.fromEntries(u().map(s=>[Number(s.id),Number(s.quantity)]))}):t(P(R({},Ce),{slug:((r=(A=ft())==null?void 0:A[0])==null?void 0:r.slug)||"",additional_fields:P(R({},Ce.additional_fields),{ship_date:w}),line_items:Object.fromEntries(u().map(s=>[Number(s.id),Number(s.quantity)]))}))});const S=()=>{t(w=>{const p=new Date().toISOString().split("T")[0];return P(R({},w),{additional_fields:P(R({},Ce.additional_fields),{ship_date:p})})})},d=Y(()=>{let w=!0;const p={};return Object.entries(n().line_items||[]).some(([,A])=>!!A)||(w=!1),n().slug===""&&(w=!1,p.slug="Required"),n().tracking_number===""&&(w=!1),o().some(A=>A.slug===n().slug&&A.tracking_number===n().tracking_number)&&(w=!1,p.tracking_number="This shipment has already been added."),a().forEach(A=>{n().additional_fields[A.key]===""&&(w=!1,p.additional_fields=P(R({},p.additional_fields),{[A.key]:"Required"}))}),{isValid:w,errors:p}}),f=(w,p)=>{t(m=>P(R({},m),{line_items:P(R({},m.line_items),{[w]:p})}))},N=(w,p)=>{t(m=>P(R({},m),{[w]:p.trim()}))},k=(w,p)=>{t(m=>P(R({},m),{additional_fields:P(R({},m.additional_fields),{[w]:p.trim()})}))};return z(or,{get title(){var w;return((w=e.value)==null?void 0:w.tracking_id)?"Edit tracking":"Add tracking"},get visible(){return e.visible},get okText(){var w;return((w=e.value)==null?void 0:w.tracking_id)?"Save":"Add"},onOk:()=>e.onOk(n()),get onCancel(){return e.onCancel},get disabled(){return!d().isValid},get children(){const w=yr.cloneNode(!0),p=w.firstChild,m=p.nextSibling,A=m.firstChild,r=A.firstChild,s=r.firstChild,l=s.nextSibling,c=A.nextSibling,g=c.firstChild,$=g.firstChild,C=$.nextSibling;return E(w,z(Rt,{get fallback(){return(()=>{const x=vr.cloneNode(!0);return H(()=>x.className=xe.empty),x})()},get children(){return z(Pt,{get when(){return u().length>0},get children(){const x=mr.cloneNode(!0),j=x.firstChild,L=j.nextSibling;return E(L,z(pe,{get each(){return u()},children:D=>(()=>{const V=br.cloneNode(!0),B=V.firstChild,ee=B.nextSibling;return E(B,()=>D.name),E(ee,z(gr,{min:0,get max(){return D.quantity},step:1,get value(){var W;return((W=n().line_items)==null?void 0:W[D.id])||0},onChange:W=>f(D.id,W||0)})),V})()})),H(()=>x.className=xe.items),x}})}}),p),p.style.setProperty("margin","20px 0"),l.addEventListener("change",x=>{S(),N("slug",x.currentTarget.value)}),E(l,z(pe,{get each(){return ft()},children:x=>(()=>{const j=pr.cloneNode(!0);return E(j,()=>x.name||x.other_name),H(()=>j.value=x.slug),j})()})),C.$$input=x=>N("tracking_number",x.currentTarget.value),E(c,z(Re,{get when(){return d().errors.tracking_number},get children(){const x=_r.cloneNode(!0);return E(x,()=>d().errors.tracking_number),x}}),null),E(m,z(pe,{get each(){return a()},children:x=>(()=>{const j=wr.cloneNode(!0),L=j.firstChild,D=L.firstChild,V=D.nextSibling;return E(L,()=>x.name,D),V.$$input=B=>k(x.key,B.currentTarget.value),H(B=>{const ee=x.key==="ship_date"?"date":"text",W=n().additional_fields[x.key];return ee!==B._v$5&&ne(V,"type",B._v$5=ee),W!==B._v$6&&(V.value=B._v$6=W),B},{_v$5:void 0,_v$6:void 0}),j})()}),null),H(x=>{var B;const j=xe.modal,L=xe.input,D=(B=n())==null?void 0:B.slug,V=n().tracking_number;return j!==x._v$&&(w.className=x._v$=j),L!==x._v$2&&(m.className=x._v$2=L),D!==x._v$3&&(l.value=x._v$3=D),V!==x._v$4&&(C.value=x._v$4=V),x},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),w}})}ue(["input"]);const Sr=Z("<div><div></div><div></div></div>"),xr=Z('<div><div><div>Shipment </div><div><a>Edit</a><a>Delete</a></div></div><div><div><strong></strong></div><div><a target="_blank"></a></div></div></div>'),Cr=()=>{const[e,n]=X(!1),[t,i]=X();It(()=>{he(),on()});const a=u=>te(this,null,function*(){const S=u.line_items||{};yield an(P(R({},u),{line_items:Object.entries(S).map(([d,f])=>({id:Number(d),quantity:f})).filter(d=>d.quantity>0)})),n(!1),i(void 0)}),o=()=>{n(!1),i(void 0)},h=u=>/^https?:\/\//.test(He())?`${He()}/${u.slug}/${u.tracking_number}`:`https://${He()}/${u.slug}/${u.tracking_number}`;return(()=>{const u=Sr.cloneNode(!0),S=u.firstChild,d=S.nextSibling;return E(S,z(pe,{get each(){return se()},children:(f,N)=>(()=>{const k=xr.cloneNode(!0),I=k.firstChild,w=I.firstChild;w.firstChild;const p=w.nextSibling,m=p.firstChild,A=m.nextSibling,r=I.nextSibling,s=r.firstChild,l=s.firstChild,c=s.nextSibling,g=c.firstChild;return E(w,()=>N()+1,null),m.$$click=()=>te(this,null,function*(){yield he(),i(f),n(!0)}),A.$$click=()=>ln(f.tracking_id),E(l,()=>{var $;return(($=ze().get(f.slug))==null?void 0:$.name)||f.slug}),E(g,()=>f.tracking_number),H($=>{const C=$e.tracking,x=$e.title,j=$e.content,L=h(f);return C!==$._v$&&(k.className=$._v$=C),x!==$._v$2&&(I.className=$._v$2=x),j!==$._v$3&&(r.className=$._v$3=j),L!==$._v$4&&ne(g,"href",$._v$4=L),$},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),k})()})),d.style.setProperty("padding","12px"),E(d,z(st,{onClick:()=>te(this,null,function*(){yield he(),n(!0)}),style:{width:"100%"},children:"Add Tracking Number"})),E(u,z($r,{get visible(){return e()},get value(){return t()},onCancel:o,onOk:a}),null),H(()=>u.className=$e.root),u})()};ue(["click"]);var Gr="";console.log("src/index.js"),customElements.define("aftership-meta-box",class extends HTMLElement{constructor(){super();kt(this,"initialized",!1);this.attachShadow({mode:"open"})}connectedCallback(){if(!!this.shadowRoot&&!this.initialized){this.initialized=!0;{const n=document.currentScript,t=document.createElement("link");t.rel="stylesheet",t.href=n.src.replace(/\/index\.js\?/,"/style.css?"),this.shadowRoot.appendChild(t)}Ut(()=>z(Cr,{}),this.shadowRoot)}}})})();
|
|
assets/meta-box/dist/style.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
._button_1dv9o_1{border:1px solid #ccc;border-radius:3px;background-color:#f7f7f7;color:#555;font-size:13px;min-height:30px;padding:0 10px;cursor:pointer}._button_1dv9o_1[disabled]{color:#a7aaad!important;background:#f6f7f7!important;border-color:#dcdcde!important;cursor:not-allowed}._primary_1dv9o_18{border-color:#2271b1;background:#2271b1;color:#fff}._primary_1dv9o_18:hover{background:#135e96;border-color:#135e96}._root_1nuhb_1{position:relative}._loading_1nuhb_5{position:absolute;height:100%;width:100%;top:0;left:0;background:#fff;opacity:.6;pointer-events:none;display:flex;align-items:center;justify-content:center}._tracking_1nuhb_19{padding:16px 12px;border-bottom:1px solid #eeeeee}._tracking_1nuhb_19 ._title_1nuhb_23{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#5f5f5f}._tracking_1nuhb_19 ._title_1nuhb_23 a{font-size:12px}._tracking_1nuhb_19 ._title_1nuhb_23 a:nth-child(2){color:#a00;margin-left:12px}._tracking_1nuhb_19 ._content_1nuhb_37{background-color:#f6f6f6;padding:12px;font-size:14px;line-height:1.43;word-break:break-all;display:flex;flex-direction:column}._tracking_1nuhb_19 ._content_1nuhb_37 a{text-decoration:none}._tracking_1nuhb_19 ._content_1nuhb_37 strong{font-weight:600;color:#3c434a}._container_1s8av_1{position:fixed;top:0;right:0;z-index:99999}._backdrop_1s8av_8{width:100vw;height:100vh;background-color:#000;opacity:.7}._modal_1s8av_15{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;width:500px}._modal_1s8av_15 header{background:#fcfcfc;padding:1em 1.5em;border-bottom:1px solid #ddd}._modal_1s8av_15 header h1{margin:0;font-size:18px;font-weight:700;line-height:1.5em}._modal_1s8av_15 header div{position:absolute;top:0;right:0;width:54px;height:54px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-left:1px solid #ddd;color:#666}._modal_1s8av_15 header div:hover{background:#ddd;border-color:#ccc}._modal_1s8av_15 header img{height:32px;width:32px}._modal_1s8av_15 footer{padding:1em 1.5em;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px #0000001a;display:flex;justify-content:flex-end}._root_b92ih_1{display:flex;align-items:center;justify-content:space-between;border:1px solid #8c8f94;border-radius:4px;height:30px;overflow:hidden}._root_b92ih_1 input{line-height:26px;border:0;padding-left:8px}._root_b92ih_1 input:focus{outline:0}._root_b92ih_1 input[type=number]::-webkit-outer-spin-button,._root_b92ih_1 input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}._root_b92ih_1 input[type=number]{appearance:textfield}._root_b92ih_1 ._suffix_b92ih_25{color:#6c7075;margin-right:8px;cursor:default}._root_b92ih_1 ._action_b92ih_30{width:22px;padding:2px;height:100%;display:grid;row-gap:2px}._root_b92ih_1 ._action_b92ih_30 div{border-radius:2px;background-color:#e4e5e7;display:flex;align-items:center;justify-content:center;cursor:pointer}._root_b92ih_1 ._action_b92ih_30 div:hover{background-color:#c9cbcf}._root_b92ih_1 ._action_b92ih_30 div:active{background-color:#b3b5b9}._root_b92ih_1 ._action_b92ih_30 div img{width:10px;height:10px;user-select:none}._modal_128mo_1{padding:20px;max-height:70vh;overflow:auto}._empty_128mo_7{text-align:center;font-size:16px;color:#999c9f}._items_128mo_13{display:grid;text-align:left;grid-template-columns:1fr auto;column-gap:10px;row-gap:6px;align-items:center}._items_128mo_13 thead,._items_128mo_13 tbody,._items_128mo_13 tr{display:contents}._items_128mo_13 th:last-child,._items_128mo_13 td:last-child{text-align:right}._items_128mo_13 th{margin-bottom:8px}._input_128mo_34{color:#3c434a;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:10px}._input_128mo_34 label{display:flex;flex-direction:column}._input_128mo_34 a{font-size:12px;text-decoration-line:underline;margin-left:2px;width:fit-content}._input_128mo_34 label{margin-left:2px}._input_128mo_34 select{border:1px solid #8c8f94;border-radius:4px;min-height:30px;font-size:14px;line-height:28px;padding:0 8px}._input_128mo_34 input{border:1px solid #8c8f94;border-radius:4px;font-size:14px;line-height:28px;padding:0 8px}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:host{all:initial;font-family:inherit;font-size:inherit}*{box-sizing:border-box}a{cursor:pointer;color:#2271b1;transition:color .5s ease-in-out}a:hover{color:#135e96}
|
|
assets/meta-box/src/App.tsx
DELETED
@@ -1,108 +0,0 @@
|
|
1 |
-
import { Component, createSignal, For, onMount, createMemo, Show } from 'solid-js';
|
2 |
-
import Button from './components/Button';
|
3 |
-
import styles from './App.module.scss';
|
4 |
-
import {
|
5 |
-
trackings,
|
6 |
-
courierMap,
|
7 |
-
fetchTrackings,
|
8 |
-
deleteTracking,
|
9 |
-
editTracking,
|
10 |
-
getSelectedCouriers,
|
11 |
-
customDomain,
|
12 |
-
} from './storages/metaBox';
|
13 |
-
import EditTrackingModal, { FormValue } from './components/EditTrackingModal';
|
14 |
-
import { Tracking } from './typings/trackings';
|
15 |
-
import { calcUnfulfilledItems } from './utils/common';
|
16 |
-
|
17 |
-
const App: Component = () => {
|
18 |
-
const [showModal, setShowModal] = createSignal(false);
|
19 |
-
const [editingTracking, setEditingTracking] = createSignal<Tracking>();
|
20 |
-
|
21 |
-
onMount(() => {
|
22 |
-
fetchTrackings();
|
23 |
-
getSelectedCouriers();
|
24 |
-
});
|
25 |
-
|
26 |
-
const handleOk = async (values: FormValue) => {
|
27 |
-
const selectedItems = values.line_items || {};
|
28 |
-
await editTracking({
|
29 |
-
...values,
|
30 |
-
line_items: Object.entries(selectedItems)
|
31 |
-
.map(([id, quantity]) => ({
|
32 |
-
id: Number(id),
|
33 |
-
quantity,
|
34 |
-
}))
|
35 |
-
.filter((item) => item.quantity > 0),
|
36 |
-
});
|
37 |
-
setShowModal(false);
|
38 |
-
setEditingTracking(undefined);
|
39 |
-
};
|
40 |
-
const handleCancel = () => {
|
41 |
-
setShowModal(false);
|
42 |
-
setEditingTracking(undefined);
|
43 |
-
};
|
44 |
-
|
45 |
-
const formatTackingLink = (tracking: Tracking) => {
|
46 |
-
return /^https?:\/\//.test(customDomain())
|
47 |
-
? `${customDomain()}/${tracking.slug}/${tracking.tracking_number}`
|
48 |
-
: `https://${customDomain()}/${tracking.slug}/${tracking.tracking_number}`;
|
49 |
-
};
|
50 |
-
|
51 |
-
return (
|
52 |
-
<div className={styles.root}>
|
53 |
-
{/* trackings */}
|
54 |
-
<div>
|
55 |
-
<For each={trackings()}>
|
56 |
-
{(item, index) => (
|
57 |
-
<div className={styles.tracking}>
|
58 |
-
<div className={styles.title}>
|
59 |
-
<div>Shipment {index() + 1}</div>
|
60 |
-
<div>
|
61 |
-
<a
|
62 |
-
onClick={async () => {
|
63 |
-
// 💩 update data first, user maybe modify line_items
|
64 |
-
await fetchTrackings();
|
65 |
-
setEditingTracking(item);
|
66 |
-
setShowModal(true);
|
67 |
-
}}>
|
68 |
-
Edit
|
69 |
-
</a>
|
70 |
-
<a onClick={() => deleteTracking(item.tracking_id)}>Delete</a>
|
71 |
-
</div>
|
72 |
-
</div>
|
73 |
-
<div className={styles.content}>
|
74 |
-
<div>
|
75 |
-
<strong>{courierMap().get(item.slug)?.name || item.slug}</strong>
|
76 |
-
</div>
|
77 |
-
<div>
|
78 |
-
<a href={formatTackingLink(item)} target="_blank">
|
79 |
-
{item.tracking_number}
|
80 |
-
</a>
|
81 |
-
</div>
|
82 |
-
</div>
|
83 |
-
</div>
|
84 |
-
)}
|
85 |
-
</For>
|
86 |
-
</div>
|
87 |
-
{/* add button */}
|
88 |
-
<div style={{ padding: '12px' }}>
|
89 |
-
<Button
|
90 |
-
onClick={async () => {
|
91 |
-
await fetchTrackings();
|
92 |
-
setShowModal(true);
|
93 |
-
}}
|
94 |
-
style={{ width: '100%' }}>
|
95 |
-
Add Tracking Number
|
96 |
-
</Button>
|
97 |
-
</div>
|
98 |
-
<EditTrackingModal
|
99 |
-
visible={showModal()}
|
100 |
-
value={editingTracking()}
|
101 |
-
onCancel={handleCancel}
|
102 |
-
onOk={handleOk}
|
103 |
-
/>
|
104 |
-
</div>
|
105 |
-
);
|
106 |
-
};
|
107 |
-
|
108 |
-
export default App;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/api/aftership/v1/class-am-rest-settings-controller.php
CHANGED
@@ -99,6 +99,13 @@ if ( ! class_exists( 'AM_REST_Settings_Controller' ) ) {
|
|
99 |
$options['couriers'] = $data['couriers'];
|
100 |
}
|
101 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
if ( isset( $data['connected'] ) && in_array( $data['connected'], array( true, false ), true ) ) {
|
103 |
$options['connected'] = $data['connected'];
|
104 |
}
|
99 |
$options['couriers'] = $data['couriers'];
|
100 |
}
|
101 |
}
|
102 |
+
|
103 |
+
if ( isset( $data['show_orders_actions'] ) && $data['show_orders_actions'] ) {
|
104 |
+
if ( '' === $this->seek_option_value( $options, 'show_orders_actions' ) ) {
|
105 |
+
$options['show_orders_actions'] = $data['show_orders_actions'];
|
106 |
+
}
|
107 |
+
}
|
108 |
+
|
109 |
if ( isset( $data['connected'] ) && in_array( $data['connected'], array( true, false ), true ) ) {
|
110 |
$options['connected'] = $data['connected'];
|
111 |
}
|
includes/api/v4/class-aftership-api-settings.php
CHANGED
@@ -73,6 +73,7 @@ class AfterShip_API_V4_Settings extends AfterShip_API_Resource {
|
|
73 |
$custom_domain = isset( $options['custom_domain'] ) ? $options['custom_domain'] : '';
|
74 |
$couriers = isset( $options['couriers'] ) ? $options['couriers'] : '';
|
75 |
$use_tracking_button = isset( $options['use_track_button'] ) ? $options['use_track_button'] : '';
|
|
|
76 |
|
77 |
if ( isset( $data['custom_domain'] ) && $data['custom_domain'] ) {
|
78 |
if ( 'track.aftership.com' === $custom_domain || '' === $custom_domain ) {
|
@@ -86,6 +87,12 @@ class AfterShip_API_V4_Settings extends AfterShip_API_Resource {
|
|
86 |
}
|
87 |
}
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
// Notice: true -> '1', false -> ''
|
90 |
if ( isset( $data['connected'] ) && in_array( $data['connected'], array( '1', '' ) ) && in_array( boolval( $data['connected'] ), array( true, false ), true ) ) {
|
91 |
$options['connected'] = boolval( $data['connected'] );
|
73 |
$custom_domain = isset( $options['custom_domain'] ) ? $options['custom_domain'] : '';
|
74 |
$couriers = isset( $options['couriers'] ) ? $options['couriers'] : '';
|
75 |
$use_tracking_button = isset( $options['use_track_button'] ) ? $options['use_track_button'] : '';
|
76 |
+
$show_orders_actions = isset( $options['show_orders_actions'] ) ? $options['show_orders_actions'] : '';
|
77 |
|
78 |
if ( isset( $data['custom_domain'] ) && $data['custom_domain'] ) {
|
79 |
if ( 'track.aftership.com' === $custom_domain || '' === $custom_domain ) {
|
87 |
}
|
88 |
}
|
89 |
|
90 |
+
if ( isset( $data['show_orders_actions'] ) && $data['show_orders_actions'] ) {
|
91 |
+
if ( '' === $show_orders_actions ) {
|
92 |
+
$options['show_orders_actions'] = $data['show_orders_actions'];
|
93 |
+
}
|
94 |
+
}
|
95 |
+
|
96 |
// Notice: true -> '1', false -> ''
|
97 |
if ( isset( $data['connected'] ) && in_array( $data['connected'], array( '1', '' ) ) && in_array( boolval( $data['connected'] ), array( true, false ), true ) ) {
|
98 |
$options['connected'] = boolval( $data['connected'] );
|
includes/class-aftership-actions.php
CHANGED
@@ -54,6 +54,17 @@ class AfterShip_Actions {
|
|
54 |
load_plugin_textdomain( 'aftership', false, dirname( plugin_basename( $plugin_file ) ) . '/languages/' );
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
/**
|
58 |
* Load admin styles.
|
59 |
*/
|
@@ -62,6 +73,43 @@ class AfterShip_Actions {
|
|
62 |
wp_enqueue_style( 'aftership_styles', $plugin_url . '/assets/css/admin.css', array(), AFTERSHIP_VERSION );
|
63 |
}
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
/**
|
66 |
* Add the meta box for shipment info on the order page
|
67 |
*/
|
@@ -195,7 +243,7 @@ class AfterShip_Actions {
|
|
195 |
);
|
196 |
|
197 |
echo '<aftership-meta-box></aftership-meta-box>';
|
198 |
-
wp_enqueue_script( 'aftership-js-tracking-items', $GLOBALS['AfterShip']->plugin_url . '/assets/
|
199 |
}
|
200 |
|
201 |
/**
|
@@ -883,6 +931,103 @@ class AfterShip_Actions {
|
|
883 |
<?php
|
884 |
}
|
885 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
886 |
/**
|
887 |
* Order Tracking Get All Order Items AJAX
|
888 |
*
|
@@ -920,9 +1065,13 @@ class AfterShip_Actions {
|
|
920 |
// get exist order trackings
|
921 |
$order_tracking_items = $this->get_tracking_items( $order_id );
|
922 |
|
|
|
|
|
|
|
923 |
$order_trackings = array(
|
924 |
'line_items' => $order_line_items,
|
925 |
'trackings' => $order_tracking_items,
|
|
|
926 |
);
|
927 |
|
928 |
$this->format_aftership_tracking_output( 200, 'success', $order_trackings );
|
54 |
load_plugin_textdomain( 'aftership', false, dirname( plugin_basename( $plugin_file ) ) . '/languages/' );
|
55 |
}
|
56 |
|
57 |
+
/**
|
58 |
+
* Initial order actions for Add Tracking button
|
59 |
+
*/
|
60 |
+
public static function init_aftership_show_orders_actions() {
|
61 |
+
$init_aftership_options = get_option( 'aftership_option_name' ) ? get_option( 'aftership_option_name' ) : array();
|
62 |
+
if ( empty( $init_aftership_options['show_orders_actions'] ) ) {
|
63 |
+
$init_aftership_options['show_orders_actions'] = 'processing,completed,partial-shipped';
|
64 |
+
update_option( 'aftership_option_name', $init_aftership_options );
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
/**
|
69 |
* Load admin styles.
|
70 |
*/
|
73 |
wp_enqueue_style( 'aftership_styles', $plugin_url . '/assets/css/admin.css', array(), AFTERSHIP_VERSION );
|
74 |
}
|
75 |
|
76 |
+
/**
|
77 |
+
* Load aftership orders page script.
|
78 |
+
*/
|
79 |
+
public function load_orders_page_script( $hook ) {
|
80 |
+
if ( 'edit.php' !== $hook ) {
|
81 |
+
return;
|
82 |
+
}
|
83 |
+
woocommerce_wp_hidden_input(
|
84 |
+
array(
|
85 |
+
'id' => 'aftership_get_nonce',
|
86 |
+
'value' => wp_create_nonce( 'get-tracking-item' ),
|
87 |
+
)
|
88 |
+
);
|
89 |
+
woocommerce_wp_hidden_input(
|
90 |
+
array(
|
91 |
+
'id' => 'aftership_delete_nonce',
|
92 |
+
'value' => wp_create_nonce( 'delete-tracking-item' ),
|
93 |
+
)
|
94 |
+
);
|
95 |
+
woocommerce_wp_hidden_input(
|
96 |
+
array(
|
97 |
+
'id' => 'aftership_create_nonce',
|
98 |
+
'value' => wp_create_nonce( 'create-tracking-item' ),
|
99 |
+
)
|
100 |
+
);
|
101 |
+
echo '<aftership-orders-modal></aftership-orders-modal>';
|
102 |
+
|
103 |
+
$plugin_url = $GLOBALS['AfterShip']->plugin_url;
|
104 |
+
wp_enqueue_script(
|
105 |
+
'aftership-orders-page-script',
|
106 |
+
$plugin_url . '/assets/frontend/dist/orders/index.js',
|
107 |
+
array( 'wc-admin-order-meta-boxes' ),
|
108 |
+
AFTERSHIP_VERSION
|
109 |
+
);
|
110 |
+
}
|
111 |
+
|
112 |
+
|
113 |
/**
|
114 |
* Add the meta box for shipment info on the order page
|
115 |
*/
|
243 |
);
|
244 |
|
245 |
echo '<aftership-meta-box></aftership-meta-box>';
|
246 |
+
wp_enqueue_script( 'aftership-js-tracking-items', $GLOBALS['AfterShip']->plugin_url . '/assets/frontend/dist/metabox/index.js', array(), AFTERSHIP_VERSION );
|
247 |
}
|
248 |
|
249 |
/**
|
931 |
<?php
|
932 |
}
|
933 |
|
934 |
+
/*
|
935 |
+
* Add action button in order list to change order status from completed to delivered
|
936 |
+
*/
|
937 |
+
public function add_aftership_tracking_actions_button( $actions, $order ) {
|
938 |
+
$saved_options = get_option( 'aftership_option_name' ) ? get_option( 'aftership_option_name' ) : array();
|
939 |
+
$order_array = array();
|
940 |
+
|
941 |
+
if ( isset( $saved_options['show_orders_actions'] ) && $saved_options['show_orders_actions'] ) {
|
942 |
+
$as_show_orders_actions = explode( ',', $saved_options['show_orders_actions'] );
|
943 |
+
foreach ( $as_show_orders_actions as $order_status ) {
|
944 |
+
array_push( $order_array, $order_status );
|
945 |
+
}
|
946 |
+
}
|
947 |
+
|
948 |
+
if ( $order->get_shipping_method() != 'Local pickup' && $order->get_shipping_method() != 'Local Pickup' ) {
|
949 |
+
if ( $order->has_status( $order_array ) ) {
|
950 |
+
$actions['add_tracking_by_aftership'] = array(
|
951 |
+
'url' => '#order-id-' . $order->get_id(),
|
952 |
+
'name' => 'Add Tracking By AfterShip',
|
953 |
+
'action' => 'aftership_add_inline_tracking', // keep "view" class for a clean button CSS
|
954 |
+
);
|
955 |
+
}
|
956 |
+
}
|
957 |
+
|
958 |
+
return $actions;
|
959 |
+
}
|
960 |
+
|
961 |
+
/**
|
962 |
+
* Define shipment tracking column in admin orders list.
|
963 |
+
*
|
964 |
+
* @param array $columns Existing columns
|
965 |
+
*
|
966 |
+
* @return array Altered columns
|
967 |
+
*/
|
968 |
+
public function shop_order_columns( $columns ) {
|
969 |
+
$columns['woocommerce-automizely-aftership-tracking'] = 'AfterShip Tracking';
|
970 |
+
return $columns;
|
971 |
+
}
|
972 |
+
|
973 |
+
/**
|
974 |
+
* Render shipment tracking in custom column.
|
975 |
+
*
|
976 |
+
* @param string $column Current column
|
977 |
+
*/
|
978 |
+
public function render_shop_order_columns( $column ) {
|
979 |
+
global $post;
|
980 |
+
if ( 'woocommerce-automizely-aftership-tracking' === $column ) {
|
981 |
+
echo wp_kses_post( $this->get_automizely_aftership_tracking_column( $post->ID ) );
|
982 |
+
}
|
983 |
+
}
|
984 |
+
|
985 |
+
/**
|
986 |
+
* Get content for shipment tracking column.
|
987 |
+
*
|
988 |
+
* @param int $order_id Order ID
|
989 |
+
*
|
990 |
+
* @return string Column content to render
|
991 |
+
*/
|
992 |
+
public function get_automizely_aftership_tracking_column( $order_id ) {
|
993 |
+
ob_start();
|
994 |
+
|
995 |
+
$tracking_items = $this->get_tracking_items( $order_id );
|
996 |
+
|
997 |
+
if ( count( $tracking_items ) > 0 ) {
|
998 |
+
echo '<ul class="wcas-tracking-number-list">';
|
999 |
+
|
1000 |
+
foreach ( $tracking_items as $tracking_item ) {
|
1001 |
+
// 根据 slug,匹配显示的 courier name
|
1002 |
+
$provider_courier = $this->get_courier_by_slug( $tracking_item['slug'] );
|
1003 |
+
// 根据规则,生成 tracking link
|
1004 |
+
$aftership_tracking_link = $this->generate_tracking_page_link( $tracking_item );
|
1005 |
+
|
1006 |
+
printf(
|
1007 |
+
'<li>
|
1008 |
+
<div>
|
1009 |
+
<b>%s</b>
|
1010 |
+
</div>
|
1011 |
+
<a href="%s" title="%s" target="_blank" class=ft11>%s</a>
|
1012 |
+
<a href="#" class="aftership_inline_tracking_delete" data-tracking-id="%s" data-order-id="%s">
|
1013 |
+
<span class="dashicons dashicons-trash"></span>
|
1014 |
+
</a>
|
1015 |
+
</li>',
|
1016 |
+
esc_html( $provider_courier['name'] ),
|
1017 |
+
esc_url( $aftership_tracking_link ),
|
1018 |
+
esc_html( $tracking_item['tracking_number'] ),
|
1019 |
+
esc_html( $tracking_item['tracking_number'] ),
|
1020 |
+
esc_attr( $tracking_item['tracking_id'] ),
|
1021 |
+
esc_attr( $order_id )
|
1022 |
+
);
|
1023 |
+
}
|
1024 |
+
echo '</ul>';
|
1025 |
+
} else {
|
1026 |
+
echo '–';
|
1027 |
+
}
|
1028 |
+
return apply_filters( 'woocommerce_shipment_tracking_get_automizely_aftership_tracking_column', ob_get_clean(), $order_id, $tracking_items );
|
1029 |
+
}
|
1030 |
+
|
1031 |
/**
|
1032 |
* Order Tracking Get All Order Items AJAX
|
1033 |
*
|
1065 |
// get exist order trackings
|
1066 |
$order_tracking_items = $this->get_tracking_items( $order_id );
|
1067 |
|
1068 |
+
// get some fields form order
|
1069 |
+
$order = new WC_Order( $order_id );
|
1070 |
+
|
1071 |
$order_trackings = array(
|
1072 |
'line_items' => $order_line_items,
|
1073 |
'trackings' => $order_tracking_items,
|
1074 |
+
'number' => (string) $order->get_order_number(),
|
1075 |
);
|
1076 |
|
1077 |
$this->format_aftership_tracking_output( 200, 'success', $order_trackings );
|
includes/class-aftership-settings.php
CHANGED
@@ -35,6 +35,20 @@ class AfterShip_Settings {
|
|
35 |
*/
|
36 |
private $dom_aftership_connected = 'aftership_connected';
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
/**
|
39 |
* Start up
|
40 |
*/
|
@@ -61,6 +75,7 @@ class AfterShip_Settings {
|
|
61 |
wp_enqueue_script( 'aftership_styles_chosen_proto', $plugin_url . '/assets/plugin/chosen/chosen.proto.min.js', array(), AFTERSHIP_VERSION );
|
62 |
wp_enqueue_script( 'aftership_script_util', $plugin_url . '/assets/js/util.js', array(), AFTERSHIP_VERSION );
|
63 |
wp_enqueue_script( 'aftership_script_couriers', $plugin_url . '/assets/js/couriers.js', array(), AFTERSHIP_VERSION );
|
|
|
64 |
wp_enqueue_script( 'aftership_script_setting', $plugin_url . '/assets/js/setting.js', array(), AFTERSHIP_VERSION );
|
65 |
}
|
66 |
|
@@ -106,6 +121,14 @@ class AfterShip_Settings {
|
|
106 |
'aftership-setting-admin',
|
107 |
'aftership_setting_section_id'
|
108 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
}
|
110 |
|
111 |
/**
|
@@ -133,6 +156,10 @@ class AfterShip_Settings {
|
|
133 |
$new_input['connected'] = boolval( $input['connected'] );
|
134 |
}
|
135 |
|
|
|
|
|
|
|
|
|
136 |
return $new_input;
|
137 |
}
|
138 |
|
@@ -195,6 +222,21 @@ class AfterShip_Settings {
|
|
195 |
( isset( $this->options['use_track_button'] ) && true === $this->options['use_track_button'] ) ? 'checked="checked"' : ''
|
196 |
);
|
197 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
}
|
199 |
|
200 |
|
35 |
*/
|
36 |
private $dom_aftership_connected = 'aftership_connected';
|
37 |
|
38 |
+
/**
|
39 |
+
* show order actions when selected order status.
|
40 |
+
*
|
41 |
+
* @var string $dom_aftership_show_order_actions
|
42 |
+
*/
|
43 |
+
private $dom_id_show_order_actions_select = 'aftership_show_order_actions_select';
|
44 |
+
|
45 |
+
/**
|
46 |
+
* show order actions when selected order status.
|
47 |
+
*
|
48 |
+
* @var string $dom_aftership_show_order_actions
|
49 |
+
*/
|
50 |
+
private $dom_id_show_order_actions = 'aftership_show_order_actions';
|
51 |
+
|
52 |
/**
|
53 |
* Start up
|
54 |
*/
|
75 |
wp_enqueue_script( 'aftership_styles_chosen_proto', $plugin_url . '/assets/plugin/chosen/chosen.proto.min.js', array(), AFTERSHIP_VERSION );
|
76 |
wp_enqueue_script( 'aftership_script_util', $plugin_url . '/assets/js/util.js', array(), AFTERSHIP_VERSION );
|
77 |
wp_enqueue_script( 'aftership_script_couriers', $plugin_url . '/assets/js/couriers.js', array(), AFTERSHIP_VERSION );
|
78 |
+
wp_enqueue_script( 'aftership_script_show_order_actions', $plugin_url . '/assets/js/order-status.js', array(), AFTERSHIP_VERSION );
|
79 |
wp_enqueue_script( 'aftership_script_setting', $plugin_url . '/assets/js/setting.js', array(), AFTERSHIP_VERSION );
|
80 |
}
|
81 |
|
121 |
'aftership-setting-admin',
|
122 |
'aftership_setting_section_id'
|
123 |
);
|
124 |
+
|
125 |
+
add_settings_field(
|
126 |
+
$this->dom_id_show_order_actions,
|
127 |
+
'',
|
128 |
+
array( $this, 'show_order_actions_callback' ),
|
129 |
+
'aftership-setting-admin',
|
130 |
+
'aftership_setting_section_id'
|
131 |
+
);
|
132 |
}
|
133 |
|
134 |
/**
|
156 |
$new_input['connected'] = boolval( $input['connected'] );
|
157 |
}
|
158 |
|
159 |
+
if ( isset( $input['show_orders_actions'] ) ) {
|
160 |
+
$new_input['show_orders_actions'] = sanitize_text_field( $input['show_orders_actions'] );
|
161 |
+
}
|
162 |
+
|
163 |
return $new_input;
|
164 |
}
|
165 |
|
222 |
( isset( $this->options['use_track_button'] ) && true === $this->options['use_track_button'] ) ? 'checked="checked"' : ''
|
223 |
);
|
224 |
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Call this func before shown on pages.
|
228 |
+
*/
|
229 |
+
public function show_order_actions_callback() {
|
230 |
+
|
231 |
+
$show_orders_actions = array();
|
232 |
+
if ( isset( $this->options['show_orders_actions'] ) ) {
|
233 |
+
$show_orders_actions = explode( ',', $this->options['show_orders_actions'] );
|
234 |
+
}
|
235 |
+
echo '<div class="auto-as-admin-select-title">Add Tracking Order action</div>';
|
236 |
+
echo '<select data-placeholder="Please select order status" id="' . $this->dom_id_show_order_actions_select . '" multiple style="width:100%">';
|
237 |
+
echo '</select>';
|
238 |
+
echo '<input type="hidden" id="' . $this->dom_id_show_order_actions . '" name="aftership_option_name[show_orders_actions]" value="' . implode( ',', $show_orders_actions ) . '"/>';
|
239 |
+
}
|
240 |
}
|
241 |
|
242 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.aftership.com/
|
|
4 |
Tags: woocommerce shipping,woocommerce tracking,shipment tracking,order tracking, woocommerce,track order,dhl,ups,usps,fedex,shipping,tracking,order
|
5 |
Requires at least: 2.9
|
6 |
Tested up to: 6.0
|
7 |
-
Stable tag: 1.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -138,6 +138,9 @@ Tailor a dynamic branded tracking page. Upload promotional banner, logo, and fav
|
|
138 |
|
139 |
== Changelog ==
|
140 |
|
|
|
|
|
|
|
141 |
= 1.14.8 =
|
142 |
* Fix known issue
|
143 |
|
4 |
Tags: woocommerce shipping,woocommerce tracking,shipment tracking,order tracking, woocommerce,track order,dhl,ups,usps,fedex,shipping,tracking,order
|
5 |
Requires at least: 2.9
|
6 |
Tested up to: 6.0
|
7 |
+
Stable tag: 1.15.0
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
138 |
|
139 |
== Changelog ==
|
140 |
|
141 |
+
= 1.15.0 =
|
142 |
+
* New Feature: (Tracking) Ability to add tracking number on orders list
|
143 |
+
|
144 |
= 1.14.8 =
|
145 |
* Fix known issue
|
146 |
|