@gem-sdk/pages 1.36.6 → 2.0.0-dev.832

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.
Files changed (110) hide show
  1. package/dist/cjs/components/ErrorBoundary.js +1 -40
  2. package/dist/cjs/components/ErrorFallback.js +1 -26
  3. package/dist/cjs/components/FacebookPixel.js +3 -36
  4. package/dist/cjs/components/Footer.js +1 -125
  5. package/dist/cjs/components/FooterForPostPurchase.js +1 -0
  6. package/dist/cjs/components/GoogleAnalytic.js +5 -67
  7. package/dist/cjs/components/Header.js +1 -96
  8. package/dist/cjs/components/TikTokPixel.js +3 -19
  9. package/dist/cjs/components/builder/PopupManager.js +1 -62
  10. package/dist/cjs/components/builder/Toolbar.js +1 -883
  11. package/dist/cjs/components/builder/Toolbox.js +1 -384
  12. package/dist/cjs/components/builder/toolbar/Onboarding.js +1 -110
  13. package/dist/cjs/components/image-to-layout/AddSectionImageToLayout.js +1 -263
  14. package/dist/cjs/components/image-to-layout/DropElement.js +1 -164
  15. package/dist/cjs/components/image-to-layout/ImageToLayout.js +1 -41
  16. package/dist/cjs/index.js +1 -75
  17. package/dist/cjs/layouts/main.js +1 -30
  18. package/dist/cjs/libs/api/get-builder-props.js +1 -41
  19. package/dist/cjs/libs/api/get-collection-props.js +1 -68
  20. package/dist/cjs/libs/api/get-home-page-props-v2.js +1 -145
  21. package/dist/cjs/libs/api/get-home-page-props.js +1 -151
  22. package/dist/cjs/libs/api/get-post-purchase-props-preview.js +1 -0
  23. package/dist/cjs/libs/api/get-preview-props.js +1 -18
  24. package/dist/cjs/libs/api/get-product-props.js +1 -73
  25. package/dist/cjs/libs/api/get-static-page-props-preview.js +1 -150
  26. package/dist/cjs/libs/api/get-static-page-props-v2.js +1 -148
  27. package/dist/cjs/libs/api/get-static-page-props.js +1 -148
  28. package/dist/cjs/libs/custom-fonts.js +8 -0
  29. package/dist/cjs/libs/fetcher.js +1 -67
  30. package/dist/cjs/libs/get-layout.js +1 -13
  31. package/dist/cjs/libs/get-storefront-api.js +1 -12
  32. package/dist/cjs/libs/getStaticPaths.js +1 -10
  33. package/dist/cjs/libs/google-fonts.js +1 -81
  34. package/dist/cjs/libs/helpers/common.js +1 -27
  35. package/dist/cjs/libs/helpers/gen-css.js +1 -111
  36. package/dist/cjs/libs/helpers/gen-fonts.js +1 -68
  37. package/dist/cjs/libs/helpers/generate-manifres.js +1 -5
  38. package/dist/cjs/libs/helpers/get-fallback.js +1 -35
  39. package/dist/cjs/libs/helpers/normalize.js +1 -90
  40. package/dist/cjs/libs/helpers/parse-json.js +1 -16
  41. package/dist/cjs/libs/helpers/user-agent.js +1 -7
  42. package/dist/cjs/libs/hooks/use-tracking-view.js +1 -45
  43. package/dist/cjs/libs/hooks/usePagePreview.js +1 -0
  44. package/dist/cjs/libs/parse-html.js +1 -42
  45. package/dist/cjs/libs/shopify-cdn-with-google-fonts.js +1 -1845
  46. package/dist/cjs/pages/404.js +1 -43
  47. package/dist/cjs/pages/500.js +1 -74
  48. package/dist/cjs/pages/CollectionGlobalProvider.js +1 -59
  49. package/dist/cjs/pages/builder.js +1 -103
  50. package/dist/cjs/pages/collection-detail.js +1 -64
  51. package/dist/cjs/pages/preview.js +1 -26
  52. package/dist/cjs/pages/product-detail.js +1 -69
  53. package/dist/cjs/pages/static-v2.js +1 -84
  54. package/dist/cjs/pages/static.js +1 -75
  55. package/dist/esm/components/ErrorBoundary.js +1 -38
  56. package/dist/esm/components/ErrorFallback.js +1 -24
  57. package/dist/esm/components/FacebookPixel.js +3 -34
  58. package/dist/esm/components/Footer.js +1 -121
  59. package/dist/esm/components/FooterForPostPurchase.js +1 -0
  60. package/dist/esm/components/GoogleAnalytic.js +5 -65
  61. package/dist/esm/components/Header.js +1 -92
  62. package/dist/esm/components/TikTokPixel.js +3 -17
  63. package/dist/esm/components/builder/PopupManager.js +1 -58
  64. package/dist/esm/components/builder/Toolbar.js +1 -879
  65. package/dist/esm/components/builder/Toolbox.js +1 -380
  66. package/dist/esm/components/builder/toolbar/Onboarding.js +1 -106
  67. package/dist/esm/components/image-to-layout/AddSectionImageToLayout.js +1 -259
  68. package/dist/esm/components/image-to-layout/DropElement.js +1 -162
  69. package/dist/esm/components/image-to-layout/ImageToLayout.js +1 -37
  70. package/dist/esm/index.js +1 -33
  71. package/dist/esm/layouts/main.js +1 -26
  72. package/dist/esm/libs/api/get-builder-props.js +1 -39
  73. package/dist/esm/libs/api/get-collection-props.js +1 -66
  74. package/dist/esm/libs/api/get-home-page-props-v2.js +1 -143
  75. package/dist/esm/libs/api/get-home-page-props.js +1 -149
  76. package/dist/esm/libs/api/get-post-purchase-props-preview.js +1 -0
  77. package/dist/esm/libs/api/get-preview-props.js +1 -16
  78. package/dist/esm/libs/api/get-product-props.js +1 -71
  79. package/dist/esm/libs/api/get-static-page-props-preview.js +1 -148
  80. package/dist/esm/libs/api/get-static-page-props-v2.js +1 -146
  81. package/dist/esm/libs/api/get-static-page-props.js +1 -146
  82. package/dist/esm/libs/custom-fonts.js +8 -0
  83. package/dist/esm/libs/fetcher.js +1 -64
  84. package/dist/esm/libs/get-layout.js +1 -11
  85. package/dist/esm/libs/get-storefront-api.js +1 -10
  86. package/dist/esm/libs/getStaticPaths.js +1 -8
  87. package/dist/esm/libs/google-fonts.js +1 -75
  88. package/dist/esm/libs/helpers/common.js +1 -24
  89. package/dist/esm/libs/helpers/gen-css.js +1 -109
  90. package/dist/esm/libs/helpers/gen-fonts.js +1 -65
  91. package/dist/esm/libs/helpers/generate-manifres.js +1 -3
  92. package/dist/esm/libs/helpers/get-fallback.js +1 -33
  93. package/dist/esm/libs/helpers/normalize.js +1 -85
  94. package/dist/esm/libs/helpers/parse-json.js +1 -13
  95. package/dist/esm/libs/helpers/user-agent.js +1 -5
  96. package/dist/esm/libs/hooks/use-tracking-view.js +1 -43
  97. package/dist/esm/libs/hooks/usePagePreview.js +1 -0
  98. package/dist/esm/libs/parse-html.js +1 -40
  99. package/dist/esm/libs/shopify-cdn-with-google-fonts.js +1 -1843
  100. package/dist/esm/pages/404.js +1 -41
  101. package/dist/esm/pages/500.js +1 -72
  102. package/dist/esm/pages/CollectionGlobalProvider.js +1 -55
  103. package/dist/esm/pages/builder.js +1 -101
  104. package/dist/esm/pages/collection-detail.js +1 -60
  105. package/dist/esm/pages/preview.js +1 -24
  106. package/dist/esm/pages/product-detail.js +1 -65
  107. package/dist/esm/pages/static-v2.js +1 -82
  108. package/dist/esm/pages/static.js +1 -71
  109. package/dist/types/index.d.ts +29 -6
  110. package/package.json +5 -5
@@ -1,380 +1 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useMatchMutate, useShopStore, usePageStore, useBuilderPreviewStore, useSectionStore, useModalStore } from '@gem-sdk/core';
3
- import { memo, useMemo, useCallback, useEffect } from 'react';
4
- import { getStorefrontApi } from '../../libs/get-storefront-api.js';
5
- import { createFontUrl } from '../../libs/google-fonts.js';
6
- import { genCSS } from '../../libs/helpers/gen-css.js';
7
- import { getFontsFromDataBuilder } from '../../libs/helpers/gen-fonts.js';
8
- import { shopifyCdnWithGoogleFonts } from '../../libs/shopify-cdn-with-google-fonts.js';
9
-
10
- const globalStyleId = 'global-style';
11
- const Toolbox = ()=>{
12
- const matchMutate = useMatchMutate();
13
- const provider = useShopStore((s)=>s.provider);
14
- const changeStorefrontInfo = useShopStore((s)=>s.changeStorefrontInfo);
15
- const setDynamicProduct = usePageStore((s)=>s.setDynamicProduct);
16
- const setDynamicCollection = usePageStore((s)=>s.setDynamicCollection);
17
- const initState = useBuilderPreviewStore((s)=>s.initState);
18
- const state = useBuilderPreviewStore((s)=>s.state);
19
- const initNormalizeState = useBuilderPreviewStore((s)=>s.forceChangeState);
20
- const forceChangeItemProp = useBuilderPreviewStore((s)=>s.forceChangeItemProp);
21
- const changeItemPropByKey = useBuilderPreviewStore((s)=>s.changeItemPropByKey);
22
- const addItem = useBuilderPreviewStore((s)=>s.addItem);
23
- const moveItem = useBuilderPreviewStore((s)=>s.moveItem);
24
- const removeItem = useBuilderPreviewStore((s)=>s.removeItem);
25
- const addSection = useSectionStore((s)=>s.addSection);
26
- const changeSwatches = useShopStore((s)=>s.changeSwatches);
27
- const updateItemName = useBuilderPreviewStore((s)=>s.updateItemName);
28
- const updateItemAttribute = useBuilderPreviewStore((s)=>s.updateItemAttribute);
29
- const changeLayoutSettings = useShopStore((s)=>s.changeLayoutSettings);
30
- const changeCreateThemeSectionCount = useShopStore((s)=>s.changeCreateThemeSectionCount);
31
- const changeShopPlan = useShopStore((s)=>s.changeShopPlan);
32
- const clearModal = useModalStore((s)=>s.clearModal);
33
- const fonts = useMemo(()=>getFontsFromDataBuilder(state), [
34
- state
35
- ]);
36
- const setFontsToHead = (className, fonts)=>{
37
- // clear fonts
38
- if (!fonts?.length) {
39
- const googleFonts = document.querySelectorAll(`.${className}`);
40
- googleFonts.forEach((googleFont)=>{
41
- googleFont.remove();
42
- });
43
- return;
44
- }
45
- // clear fonts not use
46
- const googleFonts = document.querySelectorAll(`.${className}`);
47
- googleFonts.forEach((googleFont)=>{
48
- const fontName = googleFont.getAttribute('data-font');
49
- const variantName = googleFont.getAttribute('data-font-variant');
50
- if (!fontName || !variantName) {
51
- googleFont.remove();
52
- } else {
53
- const isUse = fonts.find((font)=>font.family == fontName && font.variants.includes(variantName));
54
- if (!isUse) {
55
- googleFont.remove();
56
- }
57
- }
58
- });
59
- // append new fonts
60
- for (const font of fonts){
61
- if (font.type !== 'custom') {
62
- if (font.variants?.length) {
63
- for (const variant of font.variants){
64
- const cloneFont = JSON.parse(JSON.stringify(font));
65
- cloneFont.variants = [
66
- variant
67
- ]; // set single variant. Fix error reload font when change href other variant
68
- const fontName = cloneFont.family;
69
- const variantName = variant;
70
- const url = createFontUrl([
71
- cloneFont
72
- ]);
73
- if (url) {
74
- const googleFont = document.querySelector(`.${className}[data-font="${fontName}"][data-font-variant="${variantName}"]`);
75
- if (googleFont) {
76
- continue;
77
- } else {
78
- const link = document.createElement('link');
79
- link.className = className;
80
- link.dataset.font = fontName;
81
- link.dataset.fontVariant = variantName;
82
- link.href = url;
83
- link.rel = 'stylesheet';
84
- document.head.appendChild(link);
85
- }
86
- }
87
- }
88
- }
89
- }
90
- }
91
- };
92
- // Revalidate all query with key match query/
93
- const onRevalidateQuery = useCallback(()=>{
94
- matchMutate(/query\//, {
95
- revalidate: true
96
- });
97
- }, [
98
- matchMutate
99
- ]);
100
- // Update shop info
101
- const onChangeShopInfo = useCallback((e)=>{
102
- const detail = e.detail;
103
- changeStorefrontInfo({
104
- url: detail.shopHandle ? getStorefrontApi(detail.shopHandle, provider) : undefined,
105
- token: detail.shopToken
106
- });
107
- }, [
108
- changeStorefrontInfo,
109
- provider
110
- ]);
111
- const onChangeGlobalStyle = useCallback((e)=>{
112
- const detail = e.detail;
113
- try {
114
- if (detail.data) {
115
- const themeStyle = genCSS(detail.data, detail.mobileOnly);
116
- const font = Object.entries(detail.data?.font).map(([, value])=>{
117
- return value;
118
- }).map((item)=>{
119
- if (item.type == 'custom') {
120
- const isGoogleFont = shopifyCdnWithGoogleFonts.find((ggFont)=>ggFont.family == item.family);
121
- if (isGoogleFont) {
122
- return isGoogleFont;
123
- }
124
- }
125
- return item;
126
- });
127
- const globalStyle = document.getElementById(globalStyleId);
128
- setFontsToHead('google-font-builder', font);
129
- if (globalStyle) {
130
- globalStyle.innerHTML = themeStyle;
131
- } else {
132
- const style = document.createElement('style');
133
- style.id = globalStyleId;
134
- style.innerHTML = themeStyle;
135
- document.head.appendChild(style);
136
- }
137
- }
138
- } catch {
139
- //
140
- }
141
- }, []);
142
- // Init builder data
143
- const onInitBuilder = useCallback((e)=>{
144
- clearModal();
145
- try {
146
- const detail = e.detail;
147
- if (detail.data) {
148
- if (detail.type === 'flat') {
149
- initNormalizeState(detail.data);
150
- } else {
151
- initState(detail.data);
152
- }
153
- }
154
- } catch {
155
- //
156
- }
157
- }, [
158
- initNormalizeState,
159
- initState,
160
- clearModal
161
- ]);
162
- // Add new entity
163
- const onAddEntity = useCallback((e)=>{
164
- try {
165
- const detail = e.detail;
166
- if (detail.entity) {
167
- addItem({
168
- data: detail.entity,
169
- id: detail.id,
170
- position: detail.position,
171
- type: detail.type ?? 'component'
172
- });
173
- if (detail?.type === 'section' && !Array.isArray(detail.entity)) {
174
- addSection(detail.entity.uid, detail.entity);
175
- }
176
- }
177
- } catch {
178
- //
179
- }
180
- }, [
181
- addItem,
182
- addSection
183
- ]);
184
- // Update props of entity
185
- const onUpdateEntityProp = useCallback((e)=>{
186
- try {
187
- const detail = e.detail;
188
- if (detail.uid && detail.propName) {
189
- changeItemPropByKey({
190
- id: detail.uid,
191
- key: detail.propName,
192
- data: detail.propValue,
193
- group: detail.group
194
- });
195
- }
196
- } catch {
197
- //
198
- }
199
- }, [
200
- changeItemPropByKey
201
- ]);
202
- // Update props of entity
203
- const onForceUpdateEntityProps = useCallback((e)=>{
204
- try {
205
- const detail = e.detail;
206
- if (detail.uid) {
207
- forceChangeItemProp(detail.uid, detail.data, detail.group);
208
- }
209
- } catch {
210
- //
211
- }
212
- }, [
213
- forceChangeItemProp
214
- ]);
215
- // Move entity
216
- const onMoveEntity = useCallback((e)=>{
217
- try {
218
- const detail = e.detail;
219
- if (detail.to && detail.uid) {
220
- moveItem(detail.uid, detail.to, Number(detail.position) ?? 0);
221
- }
222
- } catch {
223
- //
224
- }
225
- }, [
226
- moveItem
227
- ]);
228
- // Remove entity
229
- const onRemoveEntity = useCallback((e)=>{
230
- try {
231
- const detail = e.detail;
232
- if (detail.uid) {
233
- removeItem(detail.uid);
234
- }
235
- } catch {
236
- //
237
- }
238
- }, [
239
- removeItem
240
- ]);
241
- // Change Swatches Data
242
- const onChangeSwatchesData = useCallback((e)=>{
243
- const detail = e.detail;
244
- try {
245
- if (detail.data) {
246
- changeSwatches(detail.data);
247
- }
248
- } catch {
249
- //
250
- }
251
- }, [
252
- changeSwatches
253
- ]);
254
- const onChangeLayoutSettingData = useCallback((e)=>{
255
- const detail = e.detail;
256
- if (!detail) return;
257
- changeLayoutSettings(detail);
258
- }, [
259
- changeLayoutSettings
260
- ]);
261
- const onUpdateCreateThemeSectionCount = useCallback((e)=>{
262
- const count = e.detail;
263
- if (!count) return;
264
- changeCreateThemeSectionCount(count);
265
- }, [
266
- changeCreateThemeSectionCount
267
- ]);
268
- const onUpdateShopPlan = useCallback((e)=>{
269
- const shopPlan = e.detail;
270
- if (!shopPlan) return;
271
- changeShopPlan(shopPlan);
272
- }, [
273
- changeShopPlan
274
- ]);
275
- const onUpdateDynamicProduct = useCallback((e)=>{
276
- const product = e.detail;
277
- if (!product) return;
278
- setDynamicProduct(product);
279
- }, [
280
- setDynamicProduct
281
- ]);
282
- const onUpdateDynamicCollection = useCallback((e)=>{
283
- const collection = e.detail;
284
- if (!collection) return;
285
- setDynamicCollection(collection);
286
- }, [
287
- setDynamicCollection
288
- ]);
289
- useEffect(()=>{
290
- if (fonts) {
291
- setFontsToHead('google-font-element', fonts);
292
- }
293
- }, [
294
- fonts
295
- ]);
296
- const onUpdateItemName = useCallback((e)=>{
297
- const detail = e.detail;
298
- if (detail.uid) {
299
- updateItemName(detail.uid, detail.name || '');
300
- }
301
- }, [
302
- updateItemName
303
- ]);
304
- const onUpdateItemAttribute = useCallback((e)=>{
305
- const detail = e.detail;
306
- if (detail.uid) {
307
- updateItemAttribute(detail.uid, detail.value || '', detail.attr || '');
308
- }
309
- }, [
310
- updateItemAttribute
311
- ]);
312
- useEffect(()=>{
313
- if (fonts) {
314
- setFontsToHead('google-font-element', fonts);
315
- }
316
- }, [
317
- fonts
318
- ]);
319
- useEffect(()=>{
320
- window.addEventListener('update-shop-info', onChangeShopInfo);
321
- window.addEventListener('revalidate-query', onRevalidateQuery);
322
- window.addEventListener('init-builder', onInitBuilder);
323
- window.addEventListener('add-entity', onAddEntity);
324
- window.addEventListener('remove-entity', onRemoveEntity);
325
- window.addEventListener('move-entity', onMoveEntity);
326
- window.addEventListener('force-update-entity-props', onForceUpdateEntityProps);
327
- window.addEventListener('update-entity-prop', onUpdateEntityProp);
328
- window.addEventListener('set-global-style', onChangeGlobalStyle);
329
- window.addEventListener('update-global-swatches-data', onChangeSwatchesData);
330
- window.addEventListener('on-off-header-footer', onChangeLayoutSettingData);
331
- window.addEventListener('update-create-theme-section-count', onUpdateCreateThemeSectionCount);
332
- window.addEventListener('update-shop-plan', onUpdateShopPlan);
333
- window.addEventListener('set-dynamic-product', onUpdateDynamicProduct);
334
- window.addEventListener('set-dynamic-collection', onUpdateDynamicCollection);
335
- window.addEventListener('update-item-name', onUpdateItemName);
336
- window.addEventListener('update-item-attribute', onUpdateItemAttribute);
337
- return ()=>{
338
- window.removeEventListener('update-shop-info', onChangeShopInfo);
339
- window.removeEventListener('revalidate-query', onRevalidateQuery);
340
- window.removeEventListener('init-builder', onInitBuilder);
341
- window.removeEventListener('add-entity', onAddEntity);
342
- window.removeEventListener('remove-entity', onRemoveEntity);
343
- window.removeEventListener('move-entity', onMoveEntity);
344
- window.removeEventListener('update-entity-prop', onUpdateEntityProp);
345
- window.removeEventListener('set-global-style', onChangeGlobalStyle);
346
- window.removeEventListener('update-global-swatches-data', onChangeSwatchesData);
347
- window.removeEventListener('on-off-header-footer', onChangeLayoutSettingData);
348
- window.removeEventListener('update-create-theme-section-count', onUpdateCreateThemeSectionCount);
349
- window.removeEventListener('update-shop-plan', onUpdateShopPlan);
350
- window.removeEventListener('set-dynamic-product', onUpdateDynamicProduct);
351
- window.removeEventListener('set-dynamic-collection', onUpdateDynamicCollection);
352
- window.removeEventListener('update-item-name', onUpdateItemName);
353
- window.removeEventListener('update-item-attribute', onUpdateItemAttribute);
354
- };
355
- }, [
356
- onAddEntity,
357
- onUpdateShopPlan,
358
- onForceUpdateEntityProps,
359
- onUpdateEntityProp,
360
- onInitBuilder,
361
- onMoveEntity,
362
- onRemoveEntity,
363
- onChangeGlobalStyle,
364
- onChangeSwatchesData,
365
- onRevalidateQuery,
366
- onChangeShopInfo,
367
- onChangeLayoutSettingData,
368
- onUpdateCreateThemeSectionCount,
369
- onUpdateDynamicProduct,
370
- onUpdateDynamicCollection,
371
- onUpdateItemName,
372
- onUpdateItemAttribute
373
- ]);
374
- return /*#__PURE__*/ jsx("div", {
375
- className: "toolbox"
376
- });
377
- };
378
- var Toolbox$1 = /*#__PURE__*/ memo(Toolbox);
379
-
380
- export { Toolbox$1 as default };
1
+ import{jsx as e}from"react/jsx-runtime";import{useMatchMutate as t,useShopStore as n,usePageStore as o,useBuilderPreviewStore as i,useSectionStore as a,useModalStore as d}from"@gem-sdk/core";import{memo as r,useMemo as l,useCallback as s,useEffect as m}from"react";import{getStorefrontApi as c}from"../../libs/get-storefront-api.js";import{createFontUrl as p}from"../../libs/google-fonts.js";import{genCSS as u}from"../../libs/helpers/gen-css.js";import{getFontsFromDataBuilder as v}from"../../libs/helpers/gen-fonts.js";import{shopifyCdnWithGoogleFonts as w}from"../../libs/shopify-cdn-with-google-fonts.js";let globalStyleId="global-style",Toolbox=()=>{let r=t(),f=n(e=>e.provider),y=n(e=>e.changeStorefrontInfo),h=o(e=>e.setDynamicProduct),g=o(e=>e.setPostPurchaseProductOffers),E=o(e=>e.setSalePageProductId),L=o(e=>e.setDynamicCollection),b=i(e=>e.initState),S=i(e=>e.state),I=i(e=>e.forceChangeState),P=i(e=>e.forceChangeItemProp),N=i(e=>e.changeItemPropByKey),T=i(e=>e.addItem),j=i(e=>e.moveItem),x=i(e=>e.removeItem),A=a(e=>e.addSection),C=n(e=>e.changeSwatches),$=i(e=>e.updateItemName),q=i(e=>e.updateItemAttribute),k=n(e=>e.changeLayoutSettings),O=n(e=>e.changeCreateThemeSectionCount),H=n(e=>e.changeShopPlan),M=d(e=>e.clearModal),B=l(()=>v(S),[S]),D=(e,t)=>{if(!t?.length){let t=document.querySelectorAll(`.${e}`);t.forEach(e=>{e.remove()});return}let n=document.querySelectorAll(`.${e}`);for(let o of(n.forEach(e=>{let n=e.getAttribute("data-font"),o=e.getAttribute("data-font-variant");if(n&&o){let i=t.find(e=>e.family==n&&e.variants.includes(o));i||e.remove()}else e.remove()}),t))if("custom"!==o.type&&o.variants?.length)for(let t of o.variants){let n=JSON.parse(JSON.stringify(o));n.variants=[t];let i=n.family,a=p([n]);if(a){let n=document.querySelector(`.${e}[data-font="${i}"][data-font-variant="${t}"]`);if(n)continue;{let n=document.createElement("link");n.className=e,n.dataset.font=i,n.dataset.fontVariant=t,n.href=a,n.rel="stylesheet",document.head.appendChild(n)}}}},J=s(()=>{r(/query\//,{revalidate:!0})},[r]),V=s(e=>{let t=e.detail;y({url:t.shopHandle?c(t.shopHandle,f):void 0,token:t.shopToken})},[y,f]),K=s(e=>{let t=e.detail;try{if(t.data){let e=u(t.data,t.mobileOnly),n=Object.entries(t.data?.font).map(([,e])=>e).map(e=>{if("custom"==e.type){let t=w.find(t=>t.family==e.family);if(t)return t}return e}),o=document.getElementById(globalStyleId);if(D("google-font-builder",n),o)o.innerHTML=e;else{let t=document.createElement("style");t.id=globalStyleId,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[]),z=s(e=>{M();try{let t=e.detail;t.data&&("flat"===t.type?I(t.data):b(t.data))}catch{}},[I,b,M]),F=s(e=>{try{let t=e.detail;t.entity&&(T({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||A(t.entity.uid,t.entity))}catch{}},[T,A]),G=s(e=>{try{let t=e.detail;t.uid&&t.propName&&N({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[N]),Q=s(e=>{try{let t=e.detail;t.uid&&P(t.uid,t.data,t.group)}catch{}},[P]),R=s(e=>{try{let t=e.detail;t.to&&t.uid&&j(t.uid,t.to,Number(t.position)??0)}catch{}},[j]),U=s(e=>{try{let t=e.detail;t.uid&&x(t.uid)}catch{}},[x]),W=s(e=>{let t=e.detail;try{t.data&&C(t.data)}catch{}},[C]),X=s(e=>{let t=e.detail;t&&k(t)},[k]),Y=s(e=>{let t=e.detail;t&&O(t)},[O]),Z=s(e=>{let t=e.detail;t&&H(t)},[H]),_=s(e=>{let t=e.detail;t&&h(t)},[h]),ee=s(e=>{let t=e.detail;t&&L(t)},[L]);m(()=>{B&&D("google-font-element",B)},[B]);let et=s(e=>{let t=e.detail;t.uid&&$(t.uid,t.name||"")},[$]),en=s(e=>{let t=e.detail;t.uid&&q(t.uid,t.value||"",t.attr||"")},[q]),eo=s(e=>{let t=e.detail;t?.length&&g(t)},[g]),ei=s(e=>{let t=e.detail;t&&E(t)},[E]);return m(()=>{B&&D("google-font-element",B)},[B]),m(()=>(window.addEventListener("update-shop-info",V),window.addEventListener("revalidate-query",J),window.addEventListener("init-builder",z),window.addEventListener("add-entity",F),window.addEventListener("remove-entity",U),window.addEventListener("move-entity",R),window.addEventListener("force-update-entity-props",Q),window.addEventListener("update-entity-prop",G),window.addEventListener("set-global-style",K),window.addEventListener("update-global-swatches-data",W),window.addEventListener("on-off-header-footer",X),window.addEventListener("update-create-theme-section-count",Y),window.addEventListener("update-shop-plan",Z),window.addEventListener("set-dynamic-product",_),window.addEventListener("set-dynamic-collection",ee),window.addEventListener("update-item-name",et),window.addEventListener("update-item-attribute",en),window.addEventListener("set-product-offer",eo),window.addEventListener("update-sale-page-product-id",ei),()=>{window.removeEventListener("update-shop-info",V),window.removeEventListener("revalidate-query",J),window.removeEventListener("init-builder",z),window.removeEventListener("add-entity",F),window.removeEventListener("remove-entity",U),window.removeEventListener("move-entity",R),window.removeEventListener("update-entity-prop",G),window.removeEventListener("set-global-style",K),window.removeEventListener("update-global-swatches-data",W),window.removeEventListener("on-off-header-footer",X),window.removeEventListener("update-create-theme-section-count",Y),window.removeEventListener("update-shop-plan",Z),window.removeEventListener("set-dynamic-product",_),window.removeEventListener("set-dynamic-collection",ee),window.removeEventListener("update-item-name",et),window.removeEventListener("update-item-attribute",en),window.removeEventListener("set-product-offer",eo),window.removeEventListener("update-sale-page-product-id",ei)}),[F,Z,Q,G,z,R,U,K,W,J,V,X,Y,_,ee,et,en,eo,ei]),e("div",{className:"toolbox"})};var Toolbox$1=r(Toolbox);export{Toolbox$1 as default};
@@ -1,106 +1 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { memo } from 'react';
3
-
4
- const Onboarding = ({ enable, position, onCloseOnboarding })=>{
5
- const closeOnboarding = ()=>{
6
- onCloseOnboarding();
7
- };
8
- const videoSrc = 'https://ucarecdn.com/de5fd2eb-4525-45a7-ad13-53960dac225e/';
9
- const Video = ()=>{
10
- return /*#__PURE__*/ jsxs("video", {
11
- width: "100%",
12
- className: "gp-w-full",
13
- loop: true,
14
- muted: true,
15
- autoPlay: true,
16
- playsInline: true,
17
- children: [
18
- /*#__PURE__*/ jsx("source", {
19
- src: videoSrc,
20
- type: "video/mp4"
21
- }),
22
- "Sorry, your browser doesn‘t support embedded videos."
23
- ]
24
- });
25
- };
26
- const MemoVideo = /*#__PURE__*/ memo(Video);
27
- return /*#__PURE__*/ jsx("div", {
28
- "data-toolbar-onboarding": true,
29
- "data-toolbar-onboarding-position": position,
30
- children: enable && /*#__PURE__*/ jsxs(Fragment, {
31
- children: [
32
- /*#__PURE__*/ jsx("span", {
33
- "data-icon": true,
34
- "data-position": position,
35
- children: position === 'bottom' ? /*#__PURE__*/ jsx("svg", {
36
- width: "8",
37
- height: "4",
38
- viewBox: "0 0 8 4",
39
- fill: "none",
40
- xmlns: "http://www.w3.org/2000/svg",
41
- children: /*#__PURE__*/ jsx("path", {
42
- d: "M-1.74846e-07 4L4 -1.74846e-07L8 4L-1.74846e-07 4Z",
43
- fill: "white"
44
- })
45
- }) : /*#__PURE__*/ jsx("svg", {
46
- width: "8",
47
- height: "4",
48
- viewBox: "0 0 8 4",
49
- fill: "none",
50
- xmlns: "http://www.w3.org/2000/svg",
51
- children: /*#__PURE__*/ jsx("path", {
52
- d: "M8 3.33818e-07L4 4L4.76995e-08 7.15256e-07L8 3.33818e-07Z",
53
- fill: "white"
54
- })
55
- })
56
- }),
57
- /*#__PURE__*/ jsxs("div", {
58
- "data-onboarding-wrapper": true,
59
- children: [
60
- /*#__PURE__*/ jsx("button", {
61
- "data-close": true,
62
- type: "button",
63
- onClick: closeOnboarding,
64
- children: /*#__PURE__*/ jsxs("svg", {
65
- width: "32",
66
- height: "32",
67
- viewBox: "0 0 32 32",
68
- fill: "none",
69
- xmlns: "http://www.w3.org/2000/svg",
70
- children: [
71
- /*#__PURE__*/ jsx("path", {
72
- fillRule: "evenodd",
73
- clipRule: "evenodd",
74
- d: "M10.6464 10.6464C10.8417 10.4512 11.1583 10.4512 11.3536 10.6464L21.3536 20.6464C21.5488 20.8417 21.5488 21.1583 21.3536 21.3536C21.1583 21.5488 20.8417 21.5488 20.6464 21.3536L10.6464 11.3536C10.4512 11.1583 10.4512 10.8417 10.6464 10.6464Z",
75
- fill: "#212121"
76
- }),
77
- /*#__PURE__*/ jsx("path", {
78
- fillRule: "evenodd",
79
- clipRule: "evenodd",
80
- d: "M21.3536 10.6464C21.5488 10.8417 21.5488 11.1583 21.3536 11.3536L11.3536 21.3536C11.1583 21.5488 10.8417 21.5488 10.6464 21.3536C10.4512 21.1583 10.4512 20.8417 10.6464 20.6464L20.6464 10.6464C20.8417 10.4512 21.1583 10.4512 21.3536 10.6464Z",
81
- fill: "#212121"
82
- })
83
- ]
84
- })
85
- }),
86
- /*#__PURE__*/ jsx(MemoVideo, {}),
87
- /*#__PURE__*/ jsxs("div", {
88
- "data-content": true,
89
- children: [
90
- /*#__PURE__*/ jsx("h3", {
91
- children: "New way to select parent element"
92
- }),
93
- /*#__PURE__*/ jsx("p", {
94
- children: "Select parent from here in case you can‘t find yours at times."
95
- })
96
- ]
97
- })
98
- ]
99
- })
100
- ]
101
- })
102
- });
103
- };
104
- var Onboarding$1 = /*#__PURE__*/ memo(Onboarding);
105
-
106
- export { Onboarding$1 as default };
1
+ import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{memo as o}from"react";let Onboarding=({enable:d,position:n,onCloseOnboarding:l})=>{let r=()=>{l()},a=()=>t("video",{width:"100%",className:"gp-w-full",loop:!0,muted:!0,autoPlay:!0,playsInline:!0,children:[e("source",{src:"https://ucarecdn.com/de5fd2eb-4525-45a7-ad13-53960dac225e/",type:"video/mp4"}),"Sorry, your browser doesn‘t support embedded videos."]}),h=o(a);return e("div",{"data-toolbar-onboarding":!0,"data-toolbar-onboarding-position":n,children:d&&t(i,{children:[e("span",{"data-icon":!0,"data-position":n,children:"bottom"===n?e("svg",{width:"8",height:"4",viewBox:"0 0 8 4",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M-1.74846e-07 4L4 -1.74846e-07L8 4L-1.74846e-07 4Z",fill:"white"})}):e("svg",{width:"8",height:"4",viewBox:"0 0 8 4",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M8 3.33818e-07L4 4L4.76995e-08 7.15256e-07L8 3.33818e-07Z",fill:"white"})})}),t("div",{"data-onboarding-wrapper":!0,children:[e("button",{"data-close":!0,type:"button",onClick:r,children:t("svg",{width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.6464 10.6464C10.8417 10.4512 11.1583 10.4512 11.3536 10.6464L21.3536 20.6464C21.5488 20.8417 21.5488 21.1583 21.3536 21.3536C21.1583 21.5488 20.8417 21.5488 20.6464 21.3536L10.6464 11.3536C10.4512 11.1583 10.4512 10.8417 10.6464 10.6464Z",fill:"#212121"}),e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21.3536 10.6464C21.5488 10.8417 21.5488 11.1583 21.3536 11.3536L11.3536 21.3536C11.1583 21.5488 10.8417 21.5488 10.6464 21.3536C10.4512 21.1583 10.4512 20.8417 10.6464 20.6464L20.6464 10.6464C20.8417 10.4512 21.1583 10.4512 21.3536 10.6464Z",fill:"#212121"})]})}),e(h,{}),t("div",{"data-content":!0,children:[e("h3",{children:"New way to select parent element"}),e("p",{children:"Select parent from here in case you can‘t find yours at times."})]})]})]})})};var Onboarding$1=o(Onboarding);export{Onboarding$1 as default};