@occluze/tether 0.6.8 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -28
- package/dist/esm/astro.js +2 -2
- package/dist/esm/chunks/account-CXMA5RPZ.js +1 -0
- package/dist/esm/chunks/account-pages-IZO7FEOZ.js +1 -0
- package/dist/esm/chunks/analytics-PG5FPRDN.js +1 -0
- package/dist/esm/chunks/chunk-4HD4J5JC.js +1 -0
- package/dist/esm/chunks/chunk-6TFMLT4A.js +4 -0
- package/dist/esm/chunks/chunk-BBVUVPMO.js +1 -0
- package/dist/esm/chunks/chunk-E5YO6274.js +1 -0
- package/dist/esm/chunks/chunk-EW5SYO6L.js +1 -0
- package/dist/esm/chunks/chunk-HJY2JSNB.js +1 -0
- package/dist/esm/chunks/chunk-MQYB6BH4.js +1 -0
- package/dist/esm/chunks/chunk-N3V45JPS.js +1 -0
- package/dist/esm/chunks/chunk-RPMBCAGS.js +1 -0
- package/dist/esm/chunks/chunk-VFNHIGCS.js +1 -0
- package/dist/esm/chunks/chunk-WT7RGGJU.js +1 -0
- package/dist/esm/chunks/chunk-YN6LEBEN.js +1 -0
- package/dist/esm/chunks/chunk-Z6HS3H7K.js +1 -0
- package/dist/esm/chunks/diagnose-XCEBQKBO.js +14 -0
- package/dist/esm/chunks/extras-4HU3VSBQ.js +1 -0
- package/dist/esm/chunks/markets-ui-M4IQ62CT.js +1 -0
- package/dist/esm/chunks/search-A5DS2IOS.js +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/server.js +2 -2
- package/dist/presets/barba.esm.js +19 -23
- package/dist/tether.account-pages.js +332 -367
- package/dist/tether.account-pages.min.js +1 -1
- package/dist/tether.account.js +253 -492
- package/dist/tether.account.min.js +1 -1
- package/dist/tether.analytics.js +82 -89
- package/dist/tether.analytics.min.js +1 -1
- package/dist/tether.diagnose.js +52 -34
- package/dist/tether.diagnose.min.js +2 -2
- package/dist/tether.extras.js +42 -37
- package/dist/tether.extras.min.js +1 -1
- package/dist/tether.js +1361 -935
- package/dist/tether.markets.js +89 -91
- package/dist/tether.markets.min.js +1 -1
- package/dist/tether.min.js +0 -0
- package/dist/tether.min.js.map +4 -4
- package/dist/tether.search.js +60 -69
- package/dist/tether.search.min.js +1 -1
- package/dist/types/server/src/shared/account-orders.d.ts +44 -0
- package/dist/types/server/src/shared/account-routes.d.ts +153 -0
- package/dist/types/server/src/shared/api-versions.d.ts +13 -0
- package/dist/types/server/src/shared/cart-id.d.ts +2 -0
- package/dist/types/server/src/shared/error-message.d.ts +2 -0
- package/dist/types/server/src/shared/json.d.ts +25 -0
- package/dist/types/server/src/shared/market-codes.d.ts +16 -0
- package/dist/types/src/account/addresses-view.d.ts +5 -0
- package/dist/types/src/account/answers.d.ts +40 -0
- package/dist/types/src/account/markup.d.ts +19 -0
- package/dist/types/src/account/operations.d.ts +41 -0
- package/dist/types/src/account/order-lines.d.ts +13 -0
- package/dist/types/src/account/order-list.d.ts +12 -0
- package/dist/types/src/account/order-page.d.ts +6 -0
- package/dist/types/src/account/page-answers.d.ts +182 -0
- package/dist/types/src/account/page-events.d.ts +2 -0
- package/dist/types/src/account/server-client.d.ts +60 -0
- package/dist/types/src/account/subscriptions-view.d.ts +2 -0
- package/dist/types/src/account-api.d.ts +18 -0
- package/dist/types/src/account-marks.d.ts +15 -0
- package/dist/types/src/account-pages.d.ts +8 -0
- package/dist/types/src/account.d.ts +64 -0
- package/dist/types/src/amounts.d.ts +12 -0
- package/dist/types/src/analytics-shopify.d.ts +41 -0
- package/dist/types/src/analytics.d.ts +2 -0
- package/dist/types/src/api-version.d.ts +28 -0
- package/dist/types/src/astro.d.ts +42 -0
- package/dist/types/src/cart/cart-shape.d.ts +43 -0
- package/dist/types/src/cart/checkout.d.ts +16 -0
- package/dist/types/src/cart/drawer.d.ts +18 -0
- package/dist/types/src/cart/mutations.d.ts +85 -0
- package/dist/types/src/cart/render.d.ts +17 -0
- package/dist/types/src/cart/store.d.ts +185 -0
- package/dist/types/src/cart.d.ts +106 -0
- package/dist/types/src/client.d.ts +134 -0
- package/dist/types/src/collection.d.ts +25 -0
- package/dist/types/src/config-sections.d.ts +40 -0
- package/dist/types/src/config.d.ts +190 -0
- package/dist/types/src/controls/cart-controls.d.ts +2 -0
- package/dist/types/src/controls/discount.d.ts +2 -0
- package/dist/types/src/controls/extras.d.ts +5 -0
- package/dist/types/src/controls/navigation.d.ts +12 -0
- package/dist/types/src/diagnose-markup.d.ts +19 -0
- package/dist/types/src/diagnose.d.ts +60 -0
- package/dist/types/src/dom.d.ts +75 -0
- package/dist/types/src/extras.d.ts +21 -0
- package/dist/types/src/fragments.d.ts +158 -0
- package/dist/types/src/globals.d.ts +15 -0
- package/dist/types/src/images.d.ts +20 -0
- package/dist/types/src/index.d.ts +167 -0
- package/dist/types/src/initial.d.ts +56 -0
- package/dist/types/src/lazy.d.ts +28 -0
- package/dist/types/src/loader.d.ts +84 -0
- package/dist/types/src/market-codes.d.ts +6 -0
- package/dist/types/src/markets-ui.d.ts +32 -0
- package/dist/types/src/markets.d.ts +72 -0
- package/dist/types/src/markup.d.ts +131 -0
- package/dist/types/src/mounting.d.ts +46 -0
- package/dist/types/src/page-market.d.ts +27 -0
- package/dist/types/src/presets/barba.d.ts +56 -0
- package/dist/types/src/product-events.d.ts +2 -0
- package/dist/types/src/product-render.d.ts +17 -0
- package/dist/types/src/product-shape.d.ts +90 -0
- package/dist/types/src/product-state.d.ts +110 -0
- package/dist/types/src/product.d.ts +66 -0
- package/dist/types/src/repeaters.d.ts +16 -0
- package/dist/types/src/search.d.ts +33 -0
- package/dist/types/src/selling-plans.d.ts +64 -0
- package/dist/types/src/server.d.ts +88 -0
- package/dist/types/src/shopify-values.d.ts +46 -0
- package/dist/types/src/status.d.ts +33 -0
- package/dist/types/src/storage.d.ts +12 -0
- package/dist/types/src/store-html.d.ts +39 -0
- package/dist/types/src/storefront/catalog.d.ts +38 -0
- package/dist/types/src/storefront/json-ld.d.ts +20 -0
- package/dist/types/src/variant-render.d.ts +14 -0
- package/package.json +24 -24
- package/dist/esm/chunks/account-C3NP6HFB.js +0 -1
- package/dist/esm/chunks/account-pages-WLK374FO.js +0 -1
- package/dist/esm/chunks/analytics-G3SAWMNL.js +0 -1
- package/dist/esm/chunks/chunk-27PJJZGC.js +0 -1
- package/dist/esm/chunks/chunk-2FSXS55U.js +0 -1
- package/dist/esm/chunks/chunk-FCSWQDVV.js +0 -1
- package/dist/esm/chunks/chunk-FOMSMIAM.js +0 -1
- package/dist/esm/chunks/chunk-GZJTCLLW.js +0 -1
- package/dist/esm/chunks/chunk-HEQILZVR.js +0 -1
- package/dist/esm/chunks/chunk-JOOEXYF3.js +0 -4
- package/dist/esm/chunks/chunk-MPTQYLSM.js +0 -1
- package/dist/esm/chunks/chunk-NEHZ37TU.js +0 -3
- package/dist/esm/chunks/chunk-V74KGEJF.js +0 -1
- package/dist/esm/chunks/chunk-VT4CDUJJ.js +0 -1
- package/dist/esm/chunks/chunk-YJLWX2HK.js +0 -1
- package/dist/esm/chunks/diagnose-6VVGZNTY.js +0 -14
- package/dist/esm/chunks/extras-GJVRDFM3.js +0 -1
- package/dist/esm/chunks/markets-ui-UNB4PTA7.js +0 -1
- package/dist/esm/chunks/search-OU75RNQL.js +0 -1
- package/src/account/addresses-view.js +0 -92
- package/src/account/browser-session.js +0 -359
- package/src/account/markup.js +0 -48
- package/src/account/operations.js +0 -180
- package/src/account/order-lines.js +0 -96
- package/src/account/order-list.js +0 -91
- package/src/account/order-page.js +0 -192
- package/src/account/page-events.js +0 -288
- package/src/account/server-client.js +0 -172
- package/src/account/shared.js +0 -111
- package/src/account/shopify-auth.js +0 -150
- package/src/account/subscriptions-view.js +0 -158
- package/src/account-api.js +0 -118
- package/src/account-links.js +0 -35
- package/src/account-pages.js +0 -89
- package/src/account.js +0 -342
- package/src/amounts.js +0 -36
- package/src/analytics-shopify.js +0 -241
- package/src/analytics.js +0 -352
- package/src/api-version.js +0 -85
- package/src/astro.js +0 -266
- package/src/cart/checkout.js +0 -97
- package/src/cart/drawer.js +0 -138
- package/src/cart/mutations.js +0 -234
- package/src/cart/render.js +0 -294
- package/src/cart/store.js +0 -326
- package/src/cart.js +0 -391
- package/src/client.js +0 -267
- package/src/collection.js +0 -183
- package/src/config.js +0 -349
- package/src/controls/cart-controls.js +0 -155
- package/src/controls/discount.js +0 -96
- package/src/controls/extras.js +0 -63
- package/src/controls/navigation.js +0 -83
- package/src/diagnose-markup.js +0 -333
- package/src/diagnose.js +0 -295
- package/src/dom.js +0 -287
- package/src/extras.js +0 -145
- package/src/fragments.js +0 -237
- package/src/images.js +0 -104
- package/src/index.js +0 -353
- package/src/initial.js +0 -87
- package/src/lazy-iife.js +0 -116
- package/src/lazy.js +0 -39
- package/src/loader.js +0 -337
- package/src/market-codes.js +0 -35
- package/src/markets-ui.js +0 -204
- package/src/markets.js +0 -334
- package/src/markup.js +0 -64
- package/src/mounting.js +0 -277
- package/src/page-market.js +0 -116
- package/src/parts/account-pages.js +0 -6
- package/src/parts/account.js +0 -6
- package/src/parts/analytics.js +0 -6
- package/src/parts/diagnose.js +0 -6
- package/src/parts/extras.js +0 -6
- package/src/parts/markets.js +0 -6
- package/src/parts/search.js +0 -6
- package/src/presets/barba.js +0 -190
- package/src/product-events.js +0 -130
- package/src/product-render.js +0 -257
- package/src/product-state.js +0 -318
- package/src/product.js +0 -344
- package/src/repeaters.js +0 -173
- package/src/search.js +0 -323
- package/src/selling-plans.js +0 -154
- package/src/server.js +0 -215
- package/src/shopify-values.js +0 -89
- package/src/status.js +0 -126
- package/src/store-html.js +0 -0
- package/src/storefront/catalog.js +0 -199
- package/src/storefront/json-ld.js +0 -167
- package/src/variant-render.js +0 -165
- package/types/astro.d.ts +0 -28
- package/types/barba.d.ts +0 -16
- package/types/index.d.ts +0 -577
- package/types/server.d.ts +0 -182
package/dist/tether.extras.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
(() => {
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __export = (target, all) => {
|
|
@@ -6,7 +5,7 @@
|
|
|
6
5
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
7
6
|
};
|
|
8
7
|
|
|
9
|
-
// src/extras.
|
|
8
|
+
// src/extras.ts
|
|
10
9
|
var extras_exports = {};
|
|
11
10
|
__export(extras_exports, {
|
|
12
11
|
addGroup: () => addGroup,
|
|
@@ -14,28 +13,34 @@
|
|
|
14
13
|
writeVariantUrl: () => writeVariantUrl
|
|
15
14
|
});
|
|
16
15
|
|
|
17
|
-
// tether-core:config.
|
|
18
|
-
var m = window.Tether.__core["config.
|
|
19
|
-
var
|
|
16
|
+
// tether-core:config.ts
|
|
17
|
+
var m = window.Tether.__core["config.ts"];
|
|
18
|
+
var [cfg, isConfigured, log, MARKET_SOURCES, parseMarkets, reportError, warn] = m;
|
|
20
19
|
|
|
21
|
-
// tether-core:dom.
|
|
22
|
-
var m2 = window.Tether.__core["dom.
|
|
23
|
-
var
|
|
20
|
+
// tether-core:dom.ts
|
|
21
|
+
var m2 = window.Tether.__core["dom.ts"];
|
|
22
|
+
var [ANALYTICS_EVENTS, attr, attributesFromJson, emit, formatDate, formatMoney, get, has, hasTemplate, isOwnEvent, parseJSONAttr, productUrl, qsa, repeat, sel, setImage, setText, show] = m2;
|
|
24
23
|
|
|
25
|
-
// tether-core:product.
|
|
26
|
-
var m3 = window.Tether.__core["product.
|
|
27
|
-
var
|
|
24
|
+
// tether-core:product.ts
|
|
25
|
+
var m3 = window.Tether.__core["product.ts"];
|
|
26
|
+
var [scopes] = m3;
|
|
28
27
|
|
|
29
|
-
// tether-core:cart.
|
|
30
|
-
var m4 = window.Tether.__core["cart.
|
|
31
|
-
var
|
|
28
|
+
// tether-core:cart.ts
|
|
29
|
+
var m4 = window.Tether.__core["cart.ts"];
|
|
30
|
+
var [Cart] = m4;
|
|
32
31
|
|
|
33
|
-
//
|
|
32
|
+
// tether-core:page-market.ts
|
|
33
|
+
var m5 = window.Tether.__core["page-market.ts"];
|
|
34
|
+
var [setCountry] = m5;
|
|
35
|
+
|
|
36
|
+
// server/src/shared/json.ts
|
|
37
|
+
function isRecord(value) {
|
|
38
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// src/extras.ts
|
|
34
42
|
function groupAttributes(group, name) {
|
|
35
|
-
const extra =
|
|
36
|
-
/** @type {Parameters<typeof toAttributes>[0]} */
|
|
37
|
-
parseJSONAttr(group, "line-attributes")
|
|
38
|
-
);
|
|
43
|
+
const extra = attributesFromJson(parseJSONAttr(group, "line-attributes"));
|
|
39
44
|
return name ? [{ key: "_group", value: name }, ...extra] : extra;
|
|
40
45
|
}
|
|
41
46
|
async function addGroup(button) {
|
|
@@ -69,11 +74,8 @@
|
|
|
69
74
|
} catch {
|
|
70
75
|
return null;
|
|
71
76
|
}
|
|
72
|
-
if (
|
|
73
|
-
const { country, language, locale } =
|
|
74
|
-
/** @type {Record<string, unknown>} */
|
|
75
|
-
value
|
|
76
|
-
);
|
|
77
|
+
if (!isRecord(value)) return null;
|
|
78
|
+
const { country, language, locale } = value;
|
|
77
79
|
if (typeof country !== "string" || !country) return null;
|
|
78
80
|
return {
|
|
79
81
|
country,
|
|
@@ -90,13 +92,9 @@
|
|
|
90
92
|
}
|
|
91
93
|
if (event.key !== `${cfg.prefix}:market:${cfg.domain}` || !event.newValue) return;
|
|
92
94
|
const market = parseStoredMarket(event.newValue);
|
|
93
|
-
|
|
94
|
-
/** @type {Window & { Tether?: { setCountry: SetCountry } }} */
|
|
95
|
-
window
|
|
96
|
-
);
|
|
97
|
-
if (!market || !Tether2) return;
|
|
95
|
+
if (!market) return;
|
|
98
96
|
const options = { language: market.language, locale: market.locale, remember: false };
|
|
99
|
-
|
|
97
|
+
setCountry(market.country, options).catch((error) => {
|
|
100
98
|
reportError(error, "market from another tab");
|
|
101
99
|
});
|
|
102
100
|
}
|
|
@@ -122,11 +120,18 @@
|
|
|
122
120
|
replaceUrlIfAllowed(url);
|
|
123
121
|
}
|
|
124
122
|
|
|
125
|
-
// src/
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
)
|
|
130
|
-
|
|
131
|
-
|
|
123
|
+
// src/part-registry.ts
|
|
124
|
+
function isTetherInternals(value) {
|
|
125
|
+
return isRecord(value) && isRecord(value["__core"]) && isRecord(value["__parts"]);
|
|
126
|
+
}
|
|
127
|
+
function registerPart(name, part) {
|
|
128
|
+
const tether = Reflect.get(window, "Tether");
|
|
129
|
+
if (!isTetherInternals(tether)) {
|
|
130
|
+
throw new Error(`tether.${name}.js runs after the Tether script, which loads it, and needs its window.Tether`);
|
|
131
|
+
}
|
|
132
|
+
tether.__parts[name] = part;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// src/parts/extras.ts
|
|
136
|
+
registerPart("extras", extras_exports);
|
|
132
137
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(()=>{var N=Object.defineProperty;var A=(t,r)=>{for(var e in r)N(t,e,{get:r[e],enumerable:!0})};var m={};A(m,{addGroup:()=>I,onStorage:()=>$,writeVariantUrl:()=>q});var O=window.Tether.__core["config.ts"],[i,V,j,z,D,c,d]=O;var P=window.Tether.__core["dom.ts"],[W,Y,g,w,Z,v,h,y,B,H,k,Q,x,X,l,tt,rt,et]=P;var C=window.Tether.__core["product.ts"],[T]=C;var M=window.Tether.__core["cart.ts"],[f]=M;var R=window.Tether.__core["page-market.ts"],[_]=R;function u(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function U(t,r){let e=g(k(t,"line-attributes"));return r?[{key:"_group",value:r},...e]:e}async function I(t){let r=t.closest(l("group"));if(!r)return null;let e=h(r,"group"),n=U(r,e),o=x(r,l("product")).flatMap(a=>{let s=T.get(a);if(!s?.variant?.availableForSale||s.quantity<=0)return[];let p=s.getLine();return p?[{...p,attributes:[...p.attributes??[],...n]}]:[]});if(!o.length)return d("group-add: nothing selected"),null;try{let a=await f.add(o);return w("group-added",{group:e,lines:o},r),a}catch(a){return c(a,"group add"),null}}function L(t){let r;try{r=JSON.parse(t)}catch{return null}if(!u(r))return null;let{country:e,language:n,locale:o}=r;return typeof e!="string"||!e?null:{country:e,language:typeof n=="string"?n:null,locale:typeof o=="string"?o:void 0}}function $(t){if(t.key===i.storageKey||t.key===`${i.storageKey}:seen`){f.init().catch(n=>{c(n,"cart from another tab")});return}if(t.key!==`${i.prefix}:market:${i.domain}`||!t.newValue)return;let r=L(t.newValue);if(!r)return;let e={language:r.language,locale:r.locale,remember:!1};_(r.country,e).catch(n=>{c(n,"market from another tab")})}var b=new WeakMap,S=t=>t.split("/").pop()??t;function J(t){try{window.history.replaceState(window.history.state,"",t)}catch{}}function q(t,{variant:r,sellingPlanId:e}){let n=`${r.id}|${e??""}`,o=b.get(t);if(b.set(t,n),!o||o===n)return;let a=i.variantUrl&&document.querySelector(l("product"))===t;if(!y(t,"variant-url")&&!a)return;let s=new URL(window.location.href);s.searchParams.set("variant",S(r.id)),e?s.searchParams.set("selling_plan",S(e)):s.searchParams.delete("selling_plan"),J(s)}function F(t){return u(t)&&u(t.__core)&&u(t.__parts)}function E(t,r){let e=Reflect.get(window,"Tether");if(!F(e))throw new Error(`tether.${t}.js runs after the Tether script, which loads it, and needs its window.Tether`);e.__parts[t]=r}E("extras",m);})();
|