@gem-sdk/core 1.13.42 → 1.14.0-dev.286

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 (249) hide show
  1. package/dist/cjs/components/AddOn.js +1 -18
  2. package/dist/cjs/components/ComponentWrapper.js +1 -28
  3. package/dist/cjs/components/ComponentWrapperPreview.js +1 -72
  4. package/dist/cjs/components/Empty.js +1 -7
  5. package/dist/cjs/components/Render.js +1 -65
  6. package/dist/cjs/components/Render.liquid.js +15 -158
  7. package/dist/cjs/components/RenderBlock.js +1 -54
  8. package/dist/cjs/components/RenderCustomCode.js +5 -0
  9. package/dist/cjs/components/RenderPreview.js +1 -66
  10. package/dist/cjs/components/RenderSection.js +1 -23
  11. package/dist/cjs/components/constant.js +1 -39
  12. package/dist/cjs/components/src/product/helpers/variant-presets.js +1 -0
  13. package/dist/cjs/contexts/AddonContext.js +1 -36
  14. package/dist/cjs/contexts/BuilderComponent.js +1 -34
  15. package/dist/cjs/contexts/BuilderContext.js +1 -35
  16. package/dist/cjs/contexts/BuilderPreviewContext.js +1 -370
  17. package/dist/cjs/contexts/CartLineContext.js +1 -29
  18. package/dist/cjs/contexts/CollectionContext.js +1 -38
  19. package/dist/cjs/contexts/ModalContext.js +1 -47
  20. package/dist/cjs/contexts/ProductContext.js +1 -149
  21. package/dist/cjs/contexts/ProductListContext.js +1 -32
  22. package/dist/cjs/contexts/SectionContext.js +1 -53
  23. package/dist/cjs/contexts/ShopContext.js +1 -70
  24. package/dist/cjs/graphql/fragments/analytic.generated.js +2 -6
  25. package/dist/cjs/graphql/fragments/collection-detail.generated.js +2 -6
  26. package/dist/cjs/graphql/fragments/collection-product.generated.js +2 -6
  27. package/dist/cjs/graphql/fragments/collection.generated.js +2 -6
  28. package/dist/cjs/graphql/fragments/custom-code.generated.js +2 -6
  29. package/dist/cjs/graphql/fragments/data-seo.generated.js +2 -6
  30. package/dist/cjs/graphql/fragments/media.generated.js +3 -6
  31. package/dist/cjs/graphql/fragments/product-little.generated.js +2 -6
  32. package/dist/cjs/graphql/fragments/product-option-value.generated.js +2 -6
  33. package/dist/cjs/graphql/fragments/product-option.generated.js +2 -6
  34. package/dist/cjs/graphql/fragments/product.generated.js +2 -6
  35. package/dist/cjs/graphql/fragments/published-custom-section.generated.js +2 -6
  36. package/dist/cjs/graphql/fragments/published-page-section.generated.js +2 -6
  37. package/dist/cjs/graphql/fragments/published-theme-page.generated.js +2 -6
  38. package/dist/cjs/graphql/fragments/published-theme-style.generated.js +2 -6
  39. package/dist/cjs/graphql/fragments/selected-option.generated.js +2 -6
  40. package/dist/cjs/graphql/fragments/variant.generated.js +2 -6
  41. package/dist/cjs/graphql/mutations/page-view-up.generated.js +3 -7
  42. package/dist/cjs/graphql/queries/collection-detail-filter.generated.js +2 -16
  43. package/dist/cjs/graphql/queries/collection.generated.js +2 -14
  44. package/dist/cjs/graphql/queries/collections.generated.js +2 -9
  45. package/dist/cjs/graphql/queries/preview-page.generated.js +2 -14
  46. package/dist/cjs/graphql/queries/product-little-detail.generated.js +2 -11
  47. package/dist/cjs/graphql/queries/product-medias.generated.js +2 -8
  48. package/dist/cjs/graphql/queries/product-value-label.generated.js +7 -0
  49. package/dist/cjs/graphql/queries/product-variants.generated.js +2 -10
  50. package/dist/cjs/graphql/queries/products.generated.js +3 -17
  51. package/dist/cjs/graphql/queries/published-theme-pages.generated.js +2 -14
  52. package/dist/cjs/graphql/queries/store-property.generated.js +2 -6
  53. package/dist/cjs/helpers/GlobalEvent.js +1 -19
  54. package/dist/cjs/helpers/background.js +1 -109
  55. package/dist/cjs/helpers/borders.js +4 -183
  56. package/dist/cjs/helpers/clone-deep.js +1 -5
  57. package/dist/cjs/helpers/cls.js +1 -16
  58. package/dist/cjs/helpers/colors.js +1 -183
  59. package/dist/cjs/helpers/compose-advance-style.js +1 -188
  60. package/dist/cjs/helpers/constant.js +1 -23
  61. package/dist/cjs/helpers/convert.js +1 -7
  62. package/dist/cjs/helpers/css-variable.js +1 -7
  63. package/dist/cjs/helpers/email.js +1 -11
  64. package/dist/cjs/helpers/flatten-connection.js +1 -9
  65. package/dist/cjs/helpers/get-resonsive-value.js +1 -31
  66. package/dist/cjs/helpers/get-shortname.js +1 -92
  67. package/dist/cjs/helpers/is-browser.js +1 -9
  68. package/dist/cjs/helpers/is-defined.js +1 -7
  69. package/dist/cjs/helpers/is-empty-children.js +1 -12
  70. package/dist/cjs/helpers/is-safari.js +1 -9
  71. package/dist/cjs/helpers/layout.js +1 -59
  72. package/dist/cjs/helpers/load-script.js +1 -31
  73. package/dist/cjs/helpers/make-style.js +1 -128
  74. package/dist/cjs/helpers/normalize-builder-data.js +1 -23
  75. package/dist/cjs/helpers/prefetch-queries.js +1 -78
  76. package/dist/cjs/helpers/product.js +1 -45
  77. package/dist/cjs/helpers/queries/get-collection.js +1 -220
  78. package/dist/cjs/helpers/queries/get-collections.js +1 -21
  79. package/dist/cjs/helpers/queries/get-product-by-slug.js +1 -125
  80. package/dist/cjs/helpers/queries/get-product.js +1 -154
  81. package/dist/cjs/helpers/queries/get-products.js +1 -161
  82. package/dist/cjs/helpers/query.js +1 -29
  83. package/dist/cjs/helpers/radius.js +6 -134
  84. package/dist/cjs/helpers/render.js +1 -71
  85. package/dist/cjs/helpers/shadow.js +1 -56
  86. package/dist/cjs/helpers/size.js +4 -35
  87. package/dist/cjs/helpers/spacing.js +1 -43
  88. package/dist/cjs/helpers/tracking/fpixel.js +1 -28
  89. package/dist/cjs/helpers/tracking/gtag.js +1 -93
  90. package/dist/cjs/helpers/tracking/tiktokpixel.js +1 -17
  91. package/dist/cjs/helpers/typography.js +17 -105
  92. package/dist/cjs/helpers/variant.js +1 -8
  93. package/dist/cjs/hooks/cart/use-add-to-cart.js +1 -20
  94. package/dist/cjs/hooks/cart/use-cart-data.js +1 -28
  95. package/dist/cjs/hooks/cart/use-cart-discount-codes-update.js +1 -20
  96. package/dist/cjs/hooks/cart/use-cart-note-update.js +1 -20
  97. package/dist/cjs/hooks/cart/use-create-cart.js +1 -22
  98. package/dist/cjs/hooks/cart/use-remove-cart-item.js +1 -20
  99. package/dist/cjs/hooks/cart/use-update-cart-item.js +1 -20
  100. package/dist/cjs/hooks/shop/use-collection-query.js +1 -22
  101. package/dist/cjs/hooks/shop/use-collections-query.js +1 -17
  102. package/dist/cjs/hooks/shop/use-product-query.js +1 -22
  103. package/dist/cjs/hooks/shop/use-products-query.js +1 -22
  104. package/dist/cjs/hooks/shop.js +1 -126
  105. package/dist/cjs/hooks/use-current-device.js +1 -21
  106. package/dist/cjs/hooks/use-lazy-video.js +1 -15
  107. package/dist/cjs/hooks/useCartId.js +1 -44
  108. package/dist/cjs/hooks/useCartLine.js +1 -11
  109. package/dist/cjs/hooks/useCartUI.js +1 -48
  110. package/dist/cjs/hooks/useCollection.js +1 -9
  111. package/dist/cjs/hooks/useFetchHandle.js +1 -13
  112. package/dist/cjs/hooks/useFormatMoney.js +1 -58
  113. package/dist/cjs/hooks/useInitialSwatchesOptions.js +1 -0
  114. package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +1 -10
  115. package/dist/cjs/hooks/useLoadScript.js +1 -32
  116. package/dist/cjs/hooks/useMoney.js +1 -84
  117. package/dist/cjs/hooks/usePrevious.js +1 -19
  118. package/dist/cjs/hooks/useProduct.js +1 -124
  119. package/dist/cjs/hooks/useProductList.js +1 -21
  120. package/dist/cjs/hooks/useSuspenseFetch.js +1 -27
  121. package/dist/cjs/hooks/useSwatchesOptions.js +1 -41
  122. package/dist/cjs/index.js +1 -291
  123. package/dist/cjs/types/global-style.js +1 -14
  124. package/dist/cjs/types/shop.js +1 -2
  125. package/dist/esm/components/AddOn.js +1 -14
  126. package/dist/esm/components/ComponentWrapper.js +1 -24
  127. package/dist/esm/components/ComponentWrapperPreview.js +1 -68
  128. package/dist/esm/components/Empty.js +1 -3
  129. package/dist/esm/components/Render.js +1 -61
  130. package/dist/esm/components/Render.liquid.js +15 -153
  131. package/dist/esm/components/RenderBlock.js +1 -50
  132. package/dist/esm/components/RenderCustomCode.js +5 -0
  133. package/dist/esm/components/RenderPreview.js +1 -62
  134. package/dist/esm/components/RenderSection.js +1 -19
  135. package/dist/esm/components/constant.js +1 -37
  136. package/dist/esm/components/src/product/helpers/variant-presets.js +1 -0
  137. package/dist/esm/contexts/AddonContext.js +1 -32
  138. package/dist/esm/contexts/BuilderComponent.js +1 -31
  139. package/dist/esm/contexts/BuilderContext.js +1 -32
  140. package/dist/esm/contexts/BuilderPreviewContext.js +1 -367
  141. package/dist/esm/contexts/CartLineContext.js +1 -26
  142. package/dist/esm/contexts/CollectionContext.js +1 -35
  143. package/dist/esm/contexts/ModalContext.js +1 -44
  144. package/dist/esm/contexts/ProductContext.js +1 -146
  145. package/dist/esm/contexts/ProductListContext.js +1 -28
  146. package/dist/esm/contexts/SectionContext.js +1 -49
  147. package/dist/esm/contexts/ShopContext.js +1 -67
  148. package/dist/esm/graphql/fragments/analytic.generated.js +2 -4
  149. package/dist/esm/graphql/fragments/collection-detail.generated.js +2 -4
  150. package/dist/esm/graphql/fragments/collection-product.generated.js +2 -4
  151. package/dist/esm/graphql/fragments/collection.generated.js +2 -4
  152. package/dist/esm/graphql/fragments/custom-code.generated.js +2 -4
  153. package/dist/esm/graphql/fragments/data-seo.generated.js +2 -4
  154. package/dist/esm/graphql/fragments/media.generated.js +3 -4
  155. package/dist/esm/graphql/fragments/product-little.generated.js +2 -4
  156. package/dist/esm/graphql/fragments/product-option-value.generated.js +2 -4
  157. package/dist/esm/graphql/fragments/product-option.generated.js +2 -4
  158. package/dist/esm/graphql/fragments/product.generated.js +2 -4
  159. package/dist/esm/graphql/fragments/published-custom-section.generated.js +2 -4
  160. package/dist/esm/graphql/fragments/published-page-section.generated.js +2 -4
  161. package/dist/esm/graphql/fragments/published-theme-page.generated.js +2 -4
  162. package/dist/esm/graphql/fragments/published-theme-style.generated.js +2 -4
  163. package/dist/esm/graphql/fragments/selected-option.generated.js +2 -4
  164. package/dist/esm/graphql/fragments/variant.generated.js +2 -4
  165. package/dist/esm/graphql/mutations/page-view-up.generated.js +3 -5
  166. package/dist/esm/graphql/queries/collection-detail-filter.generated.js +10 -22
  167. package/dist/esm/graphql/queries/collection.generated.js +8 -18
  168. package/dist/esm/graphql/queries/collections.generated.js +3 -8
  169. package/dist/esm/graphql/queries/preview-page.generated.js +8 -18
  170. package/dist/esm/graphql/queries/product-little-detail.generated.js +5 -12
  171. package/dist/esm/graphql/queries/product-medias.generated.js +2 -6
  172. package/dist/esm/graphql/queries/product-value-label.generated.js +7 -0
  173. package/dist/esm/graphql/queries/product-variants.generated.js +4 -10
  174. package/dist/esm/graphql/queries/products.generated.js +9 -20
  175. package/dist/esm/graphql/queries/published-theme-pages.generated.js +8 -18
  176. package/dist/esm/graphql/queries/store-property.generated.js +2 -4
  177. package/dist/esm/helpers/GlobalEvent.js +1 -15
  178. package/dist/esm/helpers/background.js +1 -106
  179. package/dist/esm/helpers/borders.js +4 -175
  180. package/dist/esm/helpers/clone-deep.js +1 -3
  181. package/dist/esm/helpers/cls.js +1 -14
  182. package/dist/esm/helpers/colors.js +1 -168
  183. package/dist/esm/helpers/compose-advance-style.js +1 -185
  184. package/dist/esm/helpers/constant.js +1 -19
  185. package/dist/esm/helpers/convert.js +1 -4
  186. package/dist/esm/helpers/css-variable.js +1 -5
  187. package/dist/esm/helpers/email.js +1 -6
  188. package/dist/esm/helpers/flatten-connection.js +1 -7
  189. package/dist/esm/helpers/get-resonsive-value.js +1 -27
  190. package/dist/esm/helpers/get-shortname.js +1 -90
  191. package/dist/esm/helpers/is-browser.js +1 -5
  192. package/dist/esm/helpers/is-defined.js +1 -5
  193. package/dist/esm/helpers/is-empty-children.js +1 -7
  194. package/dist/esm/helpers/is-safari.js +1 -5
  195. package/dist/esm/helpers/layout.js +1 -54
  196. package/dist/esm/helpers/load-script.js +1 -29
  197. package/dist/esm/helpers/make-style.js +1 -117
  198. package/dist/esm/helpers/normalize-builder-data.js +1 -21
  199. package/dist/esm/helpers/prefetch-queries.js +1 -76
  200. package/dist/esm/helpers/product.js +1 -41
  201. package/dist/esm/helpers/queries/get-collection.js +1 -217
  202. package/dist/esm/helpers/queries/get-collections.js +1 -19
  203. package/dist/esm/helpers/queries/get-product-by-slug.js +1 -123
  204. package/dist/esm/helpers/queries/get-product.js +1 -150
  205. package/dist/esm/helpers/queries/get-products.js +1 -159
  206. package/dist/esm/helpers/query.js +1 -25
  207. package/dist/esm/helpers/radius.js +6 -127
  208. package/dist/esm/helpers/render.js +1 -64
  209. package/dist/esm/helpers/shadow.js +1 -51
  210. package/dist/esm/helpers/size.js +4 -31
  211. package/dist/esm/helpers/spacing.js +1 -40
  212. package/dist/esm/helpers/tracking/fpixel.js +1 -24
  213. package/dist/esm/helpers/tracking/gtag.js +1 -87
  214. package/dist/esm/helpers/tracking/tiktokpixel.js +1 -15
  215. package/dist/esm/helpers/typography.js +17 -96
  216. package/dist/esm/helpers/variant.js +1 -6
  217. package/dist/esm/hooks/cart/use-add-to-cart.js +1 -18
  218. package/dist/esm/hooks/cart/use-cart-data.js +1 -26
  219. package/dist/esm/hooks/cart/use-cart-discount-codes-update.js +1 -18
  220. package/dist/esm/hooks/cart/use-cart-note-update.js +1 -18
  221. package/dist/esm/hooks/cart/use-create-cart.js +1 -20
  222. package/dist/esm/hooks/cart/use-remove-cart-item.js +1 -18
  223. package/dist/esm/hooks/cart/use-update-cart-item.js +1 -18
  224. package/dist/esm/hooks/shop/use-collection-query.js +1 -20
  225. package/dist/esm/hooks/shop/use-collections-query.js +1 -15
  226. package/dist/esm/hooks/shop/use-product-query.js +1 -20
  227. package/dist/esm/hooks/shop/use-products-query.js +1 -20
  228. package/dist/esm/hooks/shop.js +1 -111
  229. package/dist/esm/hooks/use-current-device.js +1 -19
  230. package/dist/esm/hooks/use-lazy-video.js +1 -13
  231. package/dist/esm/hooks/useCartId.js +1 -40
  232. package/dist/esm/hooks/useCartLine.js +1 -7
  233. package/dist/esm/hooks/useCartUI.js +1 -44
  234. package/dist/esm/hooks/useCollection.js +1 -7
  235. package/dist/esm/hooks/useFetchHandle.js +1 -11
  236. package/dist/esm/hooks/useFormatMoney.js +1 -56
  237. package/dist/esm/hooks/useInitialSwatchesOptions.js +1 -0
  238. package/dist/esm/hooks/useIsomorphicLayoutEffect.js +1 -6
  239. package/dist/esm/hooks/useLoadScript.js +1 -28
  240. package/dist/esm/hooks/useMoney.js +1 -80
  241. package/dist/esm/hooks/usePrevious.js +1 -17
  242. package/dist/esm/hooks/useProduct.js +1 -111
  243. package/dist/esm/hooks/useProductList.js +1 -16
  244. package/dist/esm/hooks/useSuspenseFetch.js +1 -23
  245. package/dist/esm/hooks/useSwatchesOptions.js +1 -37
  246. package/dist/esm/index.js +1 -92
  247. package/dist/esm/types/global-style.js +1 -11
  248. package/dist/types/index.d.ts +1228 -1031
  249. package/package.json +3 -3
@@ -1,23 +1,13 @@
1
- import { PublishedThemePageSelect } from '../fragments/published-theme-page.generated.js';
2
- import { PublishedPageSectionSelect } from '../fragments/published-page-section.generated.js';
3
- import { PublishedCustomSectionSelect } from '../fragments/published-custom-section.generated.js';
4
- import { DataSeoSelect } from '../fragments/data-seo.generated.js';
5
- import { PublishedThemeStyleSelect } from '../fragments/published-theme-style.generated.js';
6
- import { AnalyticSelect } from '../fragments/analytic.generated.js';
7
- import { CustomCodeSelect } from '../fragments/custom-code.generated.js';
8
-
9
- const PublishedThemePagesDocument = `
1
+ import{PublishedThemePageSelect as e}from"../fragments/published-theme-page.generated.js";import{PublishedPageSectionSelect as s}from"../fragments/published-page-section.generated.js";import{PublishedCustomSectionSelect as t}from"../fragments/published-custom-section.generated.js";import{DataSeoSelect as m}from"../fragments/data-seo.generated.js";import{PublishedThemeStyleSelect as r}from"../fragments/published-theme-style.generated.js";import{AnalyticSelect as g}from"../fragments/analytic.generated.js";import{CustomCodeSelect as a}from"../fragments/custom-code.generated.js";let PublishedThemePagesDocument=`
10
2
  query publishedThemePages($slug: String, $slugType: PublishedThemePageType!) {
11
3
  publishedThemePages(slug: $slug, slugType: $slugType) {
12
4
  ...PublishedThemePageSelect
13
5
  }
14
6
  }
15
- ${PublishedThemePageSelect}
16
- ${PublishedPageSectionSelect}
17
- ${PublishedCustomSectionSelect}
18
- ${DataSeoSelect}
19
- ${PublishedThemeStyleSelect}
20
- ${AnalyticSelect}
21
- ${CustomCodeSelect}`;
22
-
23
- export { PublishedThemePagesDocument };
7
+ ${e}
8
+ ${s}
9
+ ${t}
10
+ ${m}
11
+ ${r}
12
+ ${g}
13
+ ${a}`;export{PublishedThemePagesDocument};
@@ -1,4 +1,4 @@
1
- /* eslint-disable */ const StorePropertyDocument = `
1
+ let StorePropertyDocument=`
2
2
  query storeProperty {
3
3
  storeProperty {
4
4
  favicon
@@ -6,6 +6,4 @@
6
6
  primaryDomain
7
7
  }
8
8
  }
9
- `;
10
-
11
- export { StorePropertyDocument };
9
+ `;export{StorePropertyDocument};
@@ -1,15 +1 @@
1
- const globalEvent = {
2
- subscribe (callback) {
3
- document.addEventListener('onDispatch', (e)=>callback(e.detail));
4
- },
5
- dispatch (data) {
6
- document.dispatchEvent(new CustomEvent('onDispatch', {
7
- detail: data
8
- }));
9
- },
10
- remove (callback) {
11
- document.removeEventListener('onDispatch', callback);
12
- }
13
- };
14
-
15
- export { globalEvent as default };
1
+ let globalEvent={subscribe(e){document.addEventListener("onDispatch",t=>e(t.detail))},dispatch(e){document.dispatchEvent(new CustomEvent("onDispatch",{detail:e}))},remove(e){document.removeEventListener("onDispatch",e)}};export{globalEvent as default};
@@ -1,106 +1 @@
1
- import { isColor, getSingleColorVariable } from './colors.js';
2
- import { makeStyleResponsive } from './make-style.js';
3
-
4
- const getStyleBackgroundByDevice = (background, options)=>{
5
- if (!background) {
6
- return {};
7
- }
8
- return {
9
- ...getStyleBgColor(background),
10
- ...getStyleBgImage(background, options),
11
- ...getStyleBgPosition(background),
12
- ...getStyleBgSize(background),
13
- ...getStyleBgRepeat(background),
14
- ...getStyleBgAttachment(background)
15
- };
16
- };
17
- const getStyleBgColor = (background)=>{
18
- const bgColor = {
19
- desktop: getBgColorByDevice(background, 'desktop'),
20
- tablet: getBgColorByDevice(background, 'tablet'),
21
- mobile: getBgColorByDevice(background, 'mobile')
22
- };
23
- return makeStyleResponsive('bgc', bgColor);
24
- };
25
- const getBgColorByDevice = (background, device)=>{
26
- return getColor(background?.[device]?.color);
27
- };
28
- const getColor = (color)=>{
29
- if (!color) {
30
- return;
31
- }
32
- if (isColor(color?.toString())) {
33
- return color;
34
- }
35
- return `var(--g-c-${color})`;
36
- };
37
- const getStyleBgImage = (background, options)=>{
38
- const bgImage = {
39
- // desktop:
40
- // background.desktop?.type === 'color' ? 'none' : getBgImageByDevice(background, 'desktop'),
41
- // tablet: background.tablet?.type === 'color' ? 'none' : getBgImageByDevice(background, 'tablet'),
42
- // mobile: background.mobile?.type === 'color' ? 'none' : getBgImageByDevice(background, 'mobile'),
43
- desktop: getBgImageByDevice(background, 'desktop', options),
44
- tablet: getBgImageByDevice(background, 'tablet', options),
45
- mobile: getBgImageByDevice(background, 'mobile', options)
46
- };
47
- return makeStyleResponsive('bgi', bgImage);
48
- };
49
- const getBgImageByDevice = (background, device, options)=>{
50
- const backupFileKey = background?.[device]?.image?.backupFileKey;
51
- const imageByDevice = options?.liquid && backupFileKey && `{{ "${backupFileKey}" | asset_url }}` || background?.[device]?.image?.src;
52
- if (typeof imageByDevice === 'string') {
53
- return `url(${imageByDevice})`;
54
- }
55
- return;
56
- };
57
- const getStyleBgPosition = (background)=>{
58
- const bgPosition = {
59
- desktop: getBgPositionByDevice(background, 'desktop'),
60
- tablet: getBgPositionByDevice(background, 'tablet'),
61
- mobile: getBgPositionByDevice(background, 'mobile')
62
- };
63
- return makeStyleResponsive('bgp', bgPosition);
64
- };
65
- const getBgPositionByDevice = (background, device)=>{
66
- const positionByDevice = background?.[device]?.position;
67
- return positionByDevice && `${positionByDevice.x}% ${positionByDevice.y}%`;
68
- };
69
- const getStyleBgSize = (background)=>{
70
- const bgSize = {
71
- desktop: getBgSizeByDevice(background, 'desktop'),
72
- tablet: getBgSizeByDevice(background, 'tablet'),
73
- mobile: getBgSizeByDevice(background, 'mobile')
74
- };
75
- return makeStyleResponsive('bgs', bgSize);
76
- };
77
- const getBgSizeByDevice = (background, device)=>{
78
- return background?.[device]?.size;
79
- };
80
- const getStyleBgRepeat = (background)=>{
81
- const bgRepeat = {
82
- desktop: getBgRepeatByDevice(background, 'desktop'),
83
- tablet: getBgRepeatByDevice(background, 'tablet'),
84
- mobile: getBgRepeatByDevice(background, 'mobile')
85
- };
86
- return makeStyleResponsive('bgr', bgRepeat);
87
- };
88
- const getBgRepeatByDevice = (background, device)=>{
89
- return background?.[device]?.repeat;
90
- };
91
- const getStyleBgAttachment = (background)=>{
92
- const bgAttachment = {
93
- desktop: getBgAttachmentByDevice(background, 'desktop'),
94
- tablet: getBgAttachmentByDevice(background, 'tablet'),
95
- mobile: getBgAttachmentByDevice(background, 'mobile')
96
- };
97
- return makeStyleResponsive('bga', bgAttachment);
98
- };
99
- const getBgAttachmentByDevice = (background, device)=>{
100
- return background?.[device]?.attachment;
101
- };
102
- const composeBackgroundCss = (backgroundColor)=>{
103
- return `${backgroundColor ? `background-color: ${getSingleColorVariable(backgroundColor)} !important;` : undefined}`;
104
- };
105
-
106
- export { composeBackgroundCss, getStyleBackgroundByDevice };
1
+ import{isColor as e,getSingleColorVariable as t}from"./colors.js";import{makeStyleResponsive as g}from"./make-style.js";let getStyleBackgroundByDevice=(e,t)=>e?{...getStyleBgColor(e),...getStyleBgImage(e,t),...getStyleBgPosition(e),...getStyleBgSize(e),...getStyleBgRepeat(e),...getStyleBgAttachment(e)}:{},getStyleBgColor=e=>{let t={desktop:getBgColorByDevice(e,"desktop"),tablet:getBgColorByDevice(e,"tablet"),mobile:getBgColorByDevice(e,"mobile")};return g("bgc",t)},getBgColorByDevice=(e,t)=>getColor(e?.[t]?.color),getColor=t=>t?e(t?.toString())?t:`var(--g-c-${t})`:void 0,getStyleBgImage=(e,t)=>{let o={desktop:getBgImageByDevice(e,"desktop",t),tablet:getBgImageByDevice(e,"tablet",t),mobile:getBgImageByDevice(e,"mobile",t)};return g("bgi",o)},getBgImageByDevice=(e,t,g)=>{let o=e?.[t]?.image?.backupFileKey,i=g?.liquid&&o&&`{{ "${o}" | asset_url }}`||e?.[t]?.image?.src;if("string"==typeof i)return`url(${i})`},getStyleBgPosition=e=>{let t={desktop:getBgPositionByDevice(e,"desktop"),tablet:getBgPositionByDevice(e,"tablet"),mobile:getBgPositionByDevice(e,"mobile")};return g("bgp",t)},getBgPositionByDevice=(e,t)=>{let g=e?.[t]?.position;return g&&`${g.x}% ${g.y}%`},getStyleBgSize=e=>{let t={desktop:getBgSizeByDevice(e,"desktop"),tablet:getBgSizeByDevice(e,"tablet"),mobile:getBgSizeByDevice(e,"mobile")};return g("bgs",t)},getBgSizeByDevice=(e,t)=>e?.[t]?.size,getStyleBgRepeat=e=>{let t={desktop:getBgRepeatByDevice(e,"desktop"),tablet:getBgRepeatByDevice(e,"tablet"),mobile:getBgRepeatByDevice(e,"mobile")};return g("bgr",t)},getBgRepeatByDevice=(e,t)=>e?.[t]?.repeat,getStyleBgAttachment=e=>{let t={desktop:getBgAttachmentByDevice(e,"desktop"),tablet:getBgAttachmentByDevice(e,"tablet"),mobile:getBgAttachmentByDevice(e,"mobile")};return g("bga",t)},getBgAttachmentByDevice=(e,t)=>e?.[t]?.attachment,composeBackgroundCss=e=>`${e?`background-color: ${t(e)} !important;`:void 0}`;export{composeBackgroundCss,getStyleBackgroundByDevice};
@@ -1,175 +1,4 @@
1
- import { getSingleColorVariable, getGlobalColorStateResponsiveStyle, getGlobalColorStateStyle, getGlobalColorStateResponsiveClass, getGlobalColorStateClass, getGlobalColorStateResponsiveClassDynamicBtn, getGlobalColorStateClassDynamicBtn } from './colors.js';
2
- import { makeStyle, makeStyleResponsiveState, makeStyleState } from './make-style.js';
3
-
4
- const getBorderStyle = (value)=>{
5
- return makeStyle({
6
- b: value?.border,
7
- bc: getSingleColorVariable(value?.color),
8
- bw: value?.width
9
- });
10
- };
11
- const handleConvertBorderStyle = (value, type)=>{
12
- if (!value) return undefined;
13
- if ('desktop' in value || 'tablet' in value || 'mobile' in value) {
14
- const data = value;
15
- const newVal = {
16
- desktop: {
17
- normal: type === 'button' && data.desktop?.normal?.borderType === 'none' && !data.desktop?.normal?.isCustom ? 'solid' : data.desktop?.normal?.border,
18
- hover: type === 'button' && data.desktop?.hover?.borderType === 'none' && !data.desktop?.hover?.isCustom ? 'solid' : data.desktop?.hover?.border,
19
- focus: type === 'button' && data.desktop?.focus?.borderType === 'none' && !data.desktop?.focus?.isCustom ? 'solid' : data.desktop?.focus?.border
20
- },
21
- tablet: {
22
- normal: type === 'button' && data.tablet?.normal?.borderType === 'none' && !data.tablet?.normal?.isCustom ? 'solid' : data.tablet?.normal?.border,
23
- hover: type === 'button' && data.tablet?.hover?.borderType === 'none' && !data.tablet?.hover?.isCustom ? 'solid' : data.tablet?.hover?.border,
24
- focus: type === 'button' && data.tablet?.focus?.borderType === 'none' && !data.tablet?.focus?.isCustom ? 'solid' : data.tablet?.focus?.border
25
- },
26
- mobile: {
27
- normal: type === 'button' && data.mobile?.normal?.borderType === 'none' && !data.mobile?.normal?.isCustom ? 'solid' : data.mobile?.normal?.border,
28
- hover: type === 'button' && data.mobile?.hover?.borderType === 'none' && !data.mobile?.hover?.isCustom ? 'solid' : data.mobile?.hover?.border,
29
- focus: type === 'button' && data.mobile?.focus?.borderType === 'none' && !data.mobile?.focus?.isCustom ? 'solid' : data.mobile?.focus?.border
30
- }
31
- };
32
- return makeStyleResponsiveState('bs', newVal);
33
- }
34
- const data = value;
35
- const newVal = {
36
- normal: type === 'button' && data.normal?.borderType === 'none' && !data.normal?.isCustom ? 'solid' : data?.normal?.border,
37
- hover: type === 'button' && data.hover?.borderType === 'none' && !data.hover?.isCustom ? 'solid' : data?.hover?.border,
38
- focus: type === 'button' && data.focus?.borderType === 'none' && !data.focus?.isCustom ? 'solid' : data?.focus?.border
39
- };
40
- return makeStyleState('bs', newVal);
41
- };
42
- const handleConvertBorderWidth = (value, type)=>{
43
- if (!value) return undefined;
44
- if ('desktop' in value || 'tablet' in value || 'mobile' in value) {
45
- const data = value;
46
- const newVal = {
47
- desktop: {
48
- normal: type === 'button' && data.desktop?.normal?.borderType === 'none' && !data?.desktop?.normal?.isCustom ? '1px 1px 1px 1px' : data.desktop?.normal?.width,
49
- hover: type === 'button' && data.desktop?.hover?.borderType === 'none' && !data?.desktop?.normal?.isCustom ? '1px 1px 1px 1px' : data.desktop?.hover?.width,
50
- focus: type === 'button' && data.desktop?.focus?.borderType === 'none' && !data?.desktop?.normal?.isCustom ? '1px 1px 1px 1px' : data.desktop?.focus?.width
51
- },
52
- tablet: {
53
- normal: type === 'button' && data.tablet?.normal?.borderType === 'none' && !data?.tablet?.normal?.isCustom ? '1px 1px 1px 1px' : data.tablet?.normal?.width,
54
- hover: type === 'button' && data.tablet?.hover?.borderType === 'none' && !data?.tablet?.hover?.isCustom ? '1px 1px 1px 1px' : data.tablet?.hover?.width,
55
- focus: type === 'button' && data.tablet?.focus?.borderType === 'none' && !data?.tablet?.focus?.isCustom ? '1px 1px 1px 1px' : data.tablet?.focus?.width
56
- },
57
- mobile: {
58
- normal: type === 'button' && data.mobile?.normal?.borderType === 'none' && !data?.mobile?.normal?.isCustom ? '1px 1px 1px 1px' : data.mobile?.normal?.width,
59
- hover: type === 'button' && data.mobile?.hover?.borderType === 'none' && !data?.mobile?.hover?.isCustom ? '1px 1px 1px 1px' : data.mobile?.hover?.width,
60
- focus: type === 'button' && data.mobile?.focus?.borderType === 'none' && !data?.mobile?.focus?.isCustom ? '1px 1px 1px 1px' : data.mobile?.focus?.width
61
- }
62
- };
63
- return makeStyleResponsiveState('bw', newVal);
64
- }
65
- const data = value;
66
- const newVal = {
67
- normal: type === 'button' && data.normal?.borderType === 'none' && !data.normal?.isCustom ? '1px 1px 1px 1px' : data?.normal?.width,
68
- hover: type === 'button' && data.hover?.borderType === 'none' && !data.hover?.isCustom ? '1px 1px 1px 1px' : data?.hover?.width,
69
- focus: type === 'button' && data.focus?.borderType === 'none' && !data.focus?.isCustom ? '1px 1px 1px 1px' : data?.focus?.width
70
- };
71
- return makeStyleState('bw', newVal);
72
- };
73
- const handleConvertBorderColor = (value)=>{
74
- if (!value) return undefined;
75
- if ('desktop' in value || 'tablet' in value || 'mobile' in value) {
76
- const data = value;
77
- const newVal = {
78
- desktop: {
79
- normal: data.desktop?.normal?.color,
80
- hover: data.desktop?.hover?.color,
81
- focus: data.desktop?.focus?.color
82
- },
83
- tablet: {
84
- normal: data.tablet?.normal?.color,
85
- hover: data.tablet?.hover?.color,
86
- focus: data.tablet?.focus?.color
87
- },
88
- mobile: {
89
- normal: data.mobile?.normal?.color,
90
- hover: data.mobile?.hover?.color,
91
- focus: data.mobile?.focus?.color
92
- }
93
- };
94
- return getGlobalColorStateResponsiveStyle('bc', newVal);
95
- }
96
- const data = value;
97
- const newVal = {
98
- normal: data?.normal?.color,
99
- hover: data?.hover?.color,
100
- focus: data?.focus?.color
101
- };
102
- return getGlobalColorStateStyle('bc', newVal);
103
- };
104
- const handleConvertClassColor = (value)=>{
105
- if (!value) return undefined;
106
- if ('desktop' in value || 'tablet' in value || 'mobile' in value) {
107
- const data = value;
108
- const newVal = {
109
- desktop: {
110
- normal: data.desktop?.normal?.color,
111
- hover: data.desktop?.hover?.color,
112
- focus: data.desktop?.focus?.color
113
- },
114
- tablet: {
115
- normal: data.tablet?.normal?.color,
116
- hover: data.tablet?.hover?.color,
117
- focus: data.tablet?.focus?.color
118
- },
119
- mobile: {
120
- normal: data.mobile?.normal?.color,
121
- hover: data.mobile?.hover?.color,
122
- focus: data.mobile?.focus?.color
123
- }
124
- };
125
- return getGlobalColorStateResponsiveClass('border', newVal);
126
- }
127
- const data = value;
128
- const newVal = {
129
- normal: data?.normal?.color,
130
- hover: data?.hover?.color,
131
- focus: data?.focus?.color
132
- };
133
- return getGlobalColorStateClass('border', newVal);
134
- };
135
- const handleConvertClassColorDynamicBtn = (value)=>{
136
- if (!value) return undefined;
137
- if ('desktop' in value || 'tablet' in value || 'mobile' in value) {
138
- const data = value;
139
- const newVal = {
140
- desktop: {
141
- normal: data.desktop?.normal?.color,
142
- hover: data.desktop?.hover?.color,
143
- focus: data.desktop?.focus?.color
144
- },
145
- tablet: {
146
- normal: data.tablet?.normal?.color,
147
- hover: data.tablet?.hover?.color,
148
- focus: data.tablet?.focus?.color
149
- },
150
- mobile: {
151
- normal: data.mobile?.normal?.color,
152
- hover: data.mobile?.hover?.color,
153
- focus: data.mobile?.focus?.color
154
- }
155
- };
156
- return getGlobalColorStateResponsiveClassDynamicBtn('border', newVal);
157
- }
158
- const data = value;
159
- const newVal = {
160
- normal: data?.normal?.color,
161
- hover: data?.hover?.color,
162
- focus: data?.focus?.color
163
- };
164
- return getGlobalColorStateClassDynamicBtn('border', newVal);
165
- };
166
- const composeBorderCss = (borderV)=>{
167
- if (!borderV) return '';
168
- const { border, width, color } = borderV;
169
- return `${border ? `border-style: ${border};` : ''}
170
- ${width ? `border-width: ${width};` : ''}
171
- ${color ? `border-color: ${getSingleColorVariable(color)};` : ''}
172
- `;
173
- };
174
-
175
- export { composeBorderCss, getBorderStyle, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn };
1
+ import{getSingleColorVariable as o,getGlobalColorStateResponsiveStyle as e,getGlobalColorStateStyle as r,getGlobalColorStateResponsiveClass as t,getGlobalColorStateClass as l,getGlobalColorStateResponsiveClassDynamicBtn as n,getGlobalColorStateClassDynamicBtn as s}from"./colors.js";import{makeStyle as b,makeStyleResponsiveState as d,makeStyleState as m}from"./make-style.js";let getBorderStyle=e=>b({b:e?.border,bc:o(e?.color),bw:e?.width}),handleConvertBorderStyle=(o,e)=>{if(!o)return;if("desktop"in o||"tablet"in o||"mobile"in o){let r={desktop:{normal:"button"!==e||o.desktop?.normal?.borderType!=="none"||o.desktop?.normal?.isCustom?o.desktop?.normal?.border:"solid",hover:"button"!==e||o.desktop?.hover?.borderType!=="none"||o.desktop?.hover?.isCustom?o.desktop?.hover?.border:"solid",focus:"button"!==e||o.desktop?.focus?.borderType!=="none"||o.desktop?.focus?.isCustom?o.desktop?.focus?.border:"solid"},tablet:{normal:"button"!==e||o.tablet?.normal?.borderType!=="none"||o.tablet?.normal?.isCustom?o.tablet?.normal?.border:"solid",hover:"button"!==e||o.tablet?.hover?.borderType!=="none"||o.tablet?.hover?.isCustom?o.tablet?.hover?.border:"solid",focus:"button"!==e||o.tablet?.focus?.borderType!=="none"||o.tablet?.focus?.isCustom?o.tablet?.focus?.border:"solid"},mobile:{normal:"button"!==e||o.mobile?.normal?.borderType!=="none"||o.mobile?.normal?.isCustom?o.mobile?.normal?.border:"solid",hover:"button"!==e||o.mobile?.hover?.borderType!=="none"||o.mobile?.hover?.isCustom?o.mobile?.hover?.border:"solid",focus:"button"!==e||o.mobile?.focus?.borderType!=="none"||o.mobile?.focus?.isCustom?o.mobile?.focus?.border:"solid"}};return d("bs",r)}let r={normal:"button"!==e||o.normal?.borderType!=="none"||o.normal?.isCustom?o?.normal?.border:"solid",hover:"button"!==e||o.hover?.borderType!=="none"||o.hover?.isCustom?o?.hover?.border:"solid",focus:"button"!==e||o.focus?.borderType!=="none"||o.focus?.isCustom?o?.focus?.border:"solid"};return m("bs",r)},handleConvertBorderWidth=(o,e)=>{if(!o)return;if("desktop"in o||"tablet"in o||"mobile"in o){let r={desktop:{normal:"button"!==e||o.desktop?.normal?.borderType!=="none"||o?.desktop?.normal?.isCustom?o.desktop?.normal?.width:"1px 1px 1px 1px",hover:"button"!==e||o.desktop?.hover?.borderType!=="none"||o?.desktop?.normal?.isCustom?o.desktop?.hover?.width:"1px 1px 1px 1px",focus:"button"!==e||o.desktop?.focus?.borderType!=="none"||o?.desktop?.normal?.isCustom?o.desktop?.focus?.width:"1px 1px 1px 1px"},tablet:{normal:"button"!==e||o.tablet?.normal?.borderType!=="none"||o?.tablet?.normal?.isCustom?o.tablet?.normal?.width:"1px 1px 1px 1px",hover:"button"!==e||o.tablet?.hover?.borderType!=="none"||o?.tablet?.hover?.isCustom?o.tablet?.hover?.width:"1px 1px 1px 1px",focus:"button"!==e||o.tablet?.focus?.borderType!=="none"||o?.tablet?.focus?.isCustom?o.tablet?.focus?.width:"1px 1px 1px 1px"},mobile:{normal:"button"!==e||o.mobile?.normal?.borderType!=="none"||o?.mobile?.normal?.isCustom?o.mobile?.normal?.width:"1px 1px 1px 1px",hover:"button"!==e||o.mobile?.hover?.borderType!=="none"||o?.mobile?.hover?.isCustom?o.mobile?.hover?.width:"1px 1px 1px 1px",focus:"button"!==e||o.mobile?.focus?.borderType!=="none"||o?.mobile?.focus?.isCustom?o.mobile?.focus?.width:"1px 1px 1px 1px"}};return d("bw",r)}let r={normal:"button"!==e||o.normal?.borderType!=="none"||o.normal?.isCustom?o?.normal?.width:"1px 1px 1px 1px",hover:"button"!==e||o.hover?.borderType!=="none"||o.hover?.isCustom?o?.hover?.width:"1px 1px 1px 1px",focus:"button"!==e||o.focus?.borderType!=="none"||o.focus?.isCustom?o?.focus?.width:"1px 1px 1px 1px"};return m("bw",r)},handleConvertBorderColor=o=>{if(!o)return;if("desktop"in o||"tablet"in o||"mobile"in o){let r={desktop:{normal:o.desktop?.normal?.color,hover:o.desktop?.hover?.color,focus:o.desktop?.focus?.color},tablet:{normal:o.tablet?.normal?.color,hover:o.tablet?.hover?.color,focus:o.tablet?.focus?.color},mobile:{normal:o.mobile?.normal?.color,hover:o.mobile?.hover?.color,focus:o.mobile?.focus?.color}};return e("bc",r)}let t={normal:o?.normal?.color,hover:o?.hover?.color,focus:o?.focus?.color};return r("bc",t)},handleConvertClassColor=o=>{if(!o)return;if("desktop"in o||"tablet"in o||"mobile"in o){let e={desktop:{normal:o.desktop?.normal?.color,hover:o.desktop?.hover?.color,focus:o.desktop?.focus?.color},tablet:{normal:o.tablet?.normal?.color,hover:o.tablet?.hover?.color,focus:o.tablet?.focus?.color},mobile:{normal:o.mobile?.normal?.color,hover:o.mobile?.hover?.color,focus:o.mobile?.focus?.color}};return t("border",e)}let e={normal:o?.normal?.color,hover:o?.hover?.color,focus:o?.focus?.color};return l("border",e)},handleConvertClassColorDynamicBtn=o=>{if(!o)return;if("desktop"in o||"tablet"in o||"mobile"in o){let e={desktop:{normal:o.desktop?.normal?.color,hover:o.desktop?.hover?.color,focus:o.desktop?.focus?.color},tablet:{normal:o.tablet?.normal?.color,hover:o.tablet?.hover?.color,focus:o.tablet?.focus?.color},mobile:{normal:o.mobile?.normal?.color,hover:o.mobile?.hover?.color,focus:o.mobile?.focus?.color}};return n("border",e)}let e={normal:o?.normal?.color,hover:o?.hover?.color,focus:o?.focus?.color};return s("border",e)},composeBorderCss=e=>{if(!e)return"";let{border:r,width:t,color:l}=e;return`${r?`border-style: ${r};`:""}
2
+ ${t?`border-width: ${t};`:""}
3
+ ${l?`border-color: ${o(l)};`:""}
4
+ `};export{composeBorderCss,getBorderStyle,handleConvertBorderColor,handleConvertBorderStyle,handleConvertBorderWidth,handleConvertClassColor,handleConvertClassColorDynamicBtn};
@@ -1,3 +1 @@
1
- const cloneDeep = (data)=>JSON.parse(JSON.stringify(data));
2
-
3
- export { cloneDeep };
1
+ let cloneDeep=e=>JSON.parse(JSON.stringify(e));export{cloneDeep};
@@ -1,14 +1 @@
1
- function toVal(mix) {
2
- if (typeof mix === 'string') {
3
- return mix;
4
- } else if (typeof mix === 'object' && mix !== null) {
5
- return Object.keys(mix).filter((key)=>mix[key]).join(' ');
6
- } else {
7
- return false;
8
- }
9
- }
10
- function cls(...classes) {
11
- return classes.map(toVal).filter(Boolean).join(' ');
12
- }
13
-
14
- export { cls };
1
+ function toVal(t){return"string"==typeof t?t:"object"==typeof t&&null!==t&&Object.keys(t).filter(o=>t[o]).join(" ")}function cls(...t){return t.map(toVal).filter(Boolean).join(" ")}export{cls};
@@ -1,168 +1 @@
1
- import { isDefined } from './is-defined.js';
2
- import { stateMapping } from './constant.js';
3
-
4
- const getGlobalColorCSSProp = (color)=>{
5
- return getSingleColorVariable(color);
6
- };
7
- const getGlobalColorClass = (type, color)=>{
8
- if (typeof color !== 'string' || !color || color?.startsWith('#') || color?.startsWith('rgb') || color?.startsWith('hsl') || color?.startsWith('transparent')) return '';
9
- return `${type}-g-${color}`;
10
- };
11
- const getGlobalColorResponsiveClass = (type, data)=>{
12
- if (!data) return '';
13
- return Object.entries(data).map(([device, value])=>{
14
- const clName = getGlobalColorClass(type, value);
15
- if (!clName) return undefined;
16
- if (device === 'desktop') {
17
- return clName;
18
- } else {
19
- return `${device}:${clName}`;
20
- }
21
- }).filter(isDefined).join(' ');
22
- };
23
- const getGlobalColorStateClass = (type, data)=>{
24
- if (!data) return '';
25
- return Object.entries(data).map(([state, value])=>{
26
- const clName = getGlobalColorClass(type, value);
27
- if (!clName) return undefined;
28
- if (state === 'normal') {
29
- return clName;
30
- } else {
31
- return `${state}:${clName}`;
32
- }
33
- }).filter(isDefined).join(' ');
34
- };
35
- const getGlobalColorStateClassDynamicBtn = (type, data)=>{
36
- if (!data) return '';
37
- return Object.entries(data).map(([state, value])=>{
38
- const clName = getGlobalColorClass(type, value);
39
- if (!clName) return undefined;
40
- if (state === 'normal') {
41
- return String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${clName}`;
42
- } else {
43
- return String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${state}:${clName}`;
44
- }
45
- }).filter(isDefined).join(' ');
46
- };
47
- const getGlobalColorStateResponsiveClass = (type, data)=>{
48
- if (!data) return '';
49
- return Object.entries(data).map(([device, objectState])=>{
50
- if (device === 'desktop') {
51
- return Object.entries(objectState).map(([state, value])=>{
52
- const clName = getGlobalColorClass(type, value);
53
- if (!clName) return undefined;
54
- if (state === 'normal') {
55
- return clName;
56
- } else {
57
- return `${state}:${clName}`;
58
- }
59
- }).filter(isDefined).join(' ');
60
- } else {
61
- return Object.entries(objectState).map(([state, value])=>{
62
- const clName = getGlobalColorClass(type, value);
63
- if (!clName) return undefined;
64
- if (state === 'normal') {
65
- return `${device}:${clName}`;
66
- } else {
67
- return `${device}:${state}:${clName}`;
68
- }
69
- }).filter(isDefined).join(' ');
70
- }
71
- }).filter(Boolean).join(' ');
72
- };
73
- const getGlobalColorStateResponsiveClassDynamicBtn = (type, data)=>{
74
- if (!data) return '';
75
- return Object.entries(data).map(([device, objectState])=>{
76
- if (device === 'desktop') {
77
- return Object.entries(objectState).map(([state, value])=>{
78
- const clName = getGlobalColorClass(type, value);
79
- if (!clName) return undefined;
80
- if (state === 'normal') {
81
- return String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${clName}`;
82
- } else {
83
- return String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${state}:${clName}`;
84
- }
85
- }).filter(isDefined).join(' ');
86
- } else {
87
- return Object.entries(objectState).map(([state, value])=>{
88
- const clName = getGlobalColorClass(type, value);
89
- if (!clName) return undefined;
90
- if (state === 'normal') {
91
- return String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${device}:${clName}`;
92
- } else {
93
- return String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${device}:${state}:${clName}`;
94
- }
95
- }).filter(isDefined).join(' ');
96
- }
97
- }).filter(Boolean).join(' ');
98
- };
99
- const getGlobalColorResponsiveStyle = (type, data)=>{
100
- if (!data) return {};
101
- return Object.fromEntries(Object.entries(data).map(([device, value])=>{
102
- if (device === 'desktop') {
103
- return [
104
- `--${type}`,
105
- getSingleColorVariable(value)
106
- ];
107
- } else {
108
- return [
109
- `--${type}-${device}`,
110
- getSingleColorVariable(value)
111
- ];
112
- }
113
- }));
114
- };
115
- const getGlobalColorStateStyle = (type, data)=>{
116
- if (!data) return {};
117
- return Object.fromEntries(Object.entries(data).map(([state, value])=>{
118
- if (state === 'active') return [];
119
- return [
120
- `-${stateMapping?.[state]}-${type}`,
121
- getSingleColorVariable(value)
122
- ];
123
- }).filter(isDefined));
124
- };
125
- const getGlobalColorStateResponsiveStyle = (type, data)=>{
126
- if (!data) return {};
127
- return Object.entries(data).map(([device, objectState])=>{
128
- if (device === 'desktop') {
129
- return Object.fromEntries(Object.entries(objectState).map(([state, value])=>{
130
- if (state === 'active') return [];
131
- return [
132
- `-${stateMapping[state]}-${type}`,
133
- getSingleColorVariable(value)
134
- ];
135
- }).filter(isDefined));
136
- } else {
137
- return Object.fromEntries(Object.entries(objectState).map(([state, value])=>{
138
- if (state === 'active') return [];
139
- return [
140
- `-${stateMapping[state]}-${type}-${device}`,
141
- getSingleColorVariable(value)
142
- ];
143
- }).filter(isDefined));
144
- }
145
- }).reduce((acc, curr)=>({
146
- ...acc,
147
- ...curr
148
- }), {});
149
- };
150
- const getSingleColorVariable = (color)=>{
151
- if (!color) return undefined;
152
- if (isColor(color)) return color;
153
- return `var(--g-c-${color}, ${color})`;
154
- };
155
- function isColor(color) {
156
- return color?.startsWith('#') || color?.startsWith('rgb') || color?.startsWith('hsl') || color?.startsWith('transparent');
157
- }
158
- const getGlobalColorStyle = (data)=>{
159
- if (!data) return {};
160
- return {
161
- '--c': getSingleColorVariable(data)
162
- };
163
- };
164
- const composeTextColorCss = (color)=>{
165
- return `${color ? `color: ${getSingleColorVariable(color)} !important;` : ''}`;
166
- };
167
-
168
- export { composeTextColorCss, getGlobalColorCSSProp, getGlobalColorClass, getGlobalColorResponsiveClass, getGlobalColorResponsiveStyle, getGlobalColorStateClass, getGlobalColorStateClassDynamicBtn, getGlobalColorStateResponsiveClass, getGlobalColorStateResponsiveClassDynamicBtn, getGlobalColorStateResponsiveStyle, getGlobalColorStateStyle, getGlobalColorStyle, getSingleColorVariable, isColor };
1
+ import{isDefined as t}from"./is-defined.js";import{stateMapping as e}from"./constant.js";let getGlobalColorCSSProp=t=>getSingleColorVariable(t),getGlobalColorClass=(t,e)=>"string"!=typeof e||!e||e?.startsWith("#")||e?.startsWith("rgb")||e?.startsWith("hsl")||e?.startsWith("transparent")?"":`${t}-g-${e}`,getGlobalColorResponsiveClass=(e,o)=>o?Object.entries(o).map(([t,o])=>{let l=getGlobalColorClass(e,o);if(l)return"desktop"===t?l:`${t}:${l}`}).filter(t).join(" "):"",getGlobalColorStateClass=(e,o)=>o?Object.entries(o).map(([t,o])=>{let l=getGlobalColorClass(e,o);if(l)return"normal"===t?l:`${t}:${l}`}).filter(t).join(" "):"",getGlobalColorStateClassDynamicBtn=(e,o)=>o?Object.entries(o).map(([t,o])=>{let l=getGlobalColorClass(e,o);if(l)return"normal"===t?String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${l}`:String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${t}:${l}`}).filter(t).join(" "):"",getGlobalColorStateResponsiveClass=(e,o)=>o?Object.entries(o).map(([o,l])=>"desktop"===o?Object.entries(l).map(([t,o])=>{let l=getGlobalColorClass(e,o);if(l)return"normal"===t?l:`${t}:${l}`}).filter(t).join(" "):Object.entries(l).map(([t,l])=>{let r=getGlobalColorClass(e,l);if(r)return"normal"===t?`${o}:${r}`:`${o}:${t}:${r}`}).filter(t).join(" ")).filter(Boolean).join(" "):"",getGlobalColorStateResponsiveClassDynamicBtn=(e,o)=>o?Object.entries(o).map(([o,l])=>"desktop"===o?Object.entries(l).map(([t,o])=>{let l=getGlobalColorClass(e,o);if(l)return"normal"===t?String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${l}`:String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${t}:${l}`}).filter(t).join(" "):Object.entries(l).map(([t,l])=>{let r=getGlobalColorClass(e,l);if(r)return"normal"===t?String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${o}:${r}`:String.raw`[&_.shopify-payment-button\_\_button--unbranded]:${o}:${t}:${r}`}).filter(t).join(" ")).filter(Boolean).join(" "):"",getGlobalColorResponsiveStyle=(t,e)=>e?Object.fromEntries(Object.entries(e).map(([e,o])=>"desktop"===e?[`--${t}`,getSingleColorVariable(o)]:[`--${t}-${e}`,getSingleColorVariable(o)])):{},getGlobalColorStateStyle=(o,l)=>l?Object.fromEntries(Object.entries(l).map(([t,l])=>"active"===t?[]:[`-${e?.[t]}-${o}`,getSingleColorVariable(l)]).filter(t)):{},getGlobalColorStateResponsiveStyle=(o,l)=>l?Object.entries(l).map(([l,r])=>"desktop"===l?Object.fromEntries(Object.entries(r).map(([t,l])=>"active"===t?[]:[`-${e[t]}-${o}`,getSingleColorVariable(l)]).filter(t)):Object.fromEntries(Object.entries(r).map(([t,r])=>"active"===t?[]:[`-${e[t]}-${o}-${l}`,getSingleColorVariable(r)]).filter(t))).reduce((t,e)=>({...t,...e}),{}):{},getSingleColorVariable=t=>{if(t)return isColor(t)?t:`var(--g-c-${t}, ${t})`};function isColor(t){return t?.startsWith("#")||t?.startsWith("rgb")||t?.startsWith("hsl")||t?.startsWith("transparent")}let getGlobalColorStyle=t=>t?{"--c":getSingleColorVariable(t)}:{},composeTextColorCss=t=>`${t?`color: ${getSingleColorVariable(t)} !important;`:""}`;export{composeTextColorCss,getGlobalColorCSSProp,getGlobalColorClass,getGlobalColorResponsiveClass,getGlobalColorResponsiveStyle,getGlobalColorStateClass,getGlobalColorStateClassDynamicBtn,getGlobalColorStateResponsiveClass,getGlobalColorStateResponsiveClassDynamicBtn,getGlobalColorStateResponsiveStyle,getGlobalColorStateStyle,getGlobalColorStyle,getSingleColorVariable,isColor};