@gem-sdk/core 1.13.42 → 1.14.0-moon.210

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 (243) 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/contexts/AddonContext.js +1 -36
  13. package/dist/cjs/contexts/BuilderComponent.js +1 -34
  14. package/dist/cjs/contexts/BuilderContext.js +1 -35
  15. package/dist/cjs/contexts/BuilderPreviewContext.js +1 -370
  16. package/dist/cjs/contexts/CartLineContext.js +1 -29
  17. package/dist/cjs/contexts/CollectionContext.js +1 -38
  18. package/dist/cjs/contexts/ModalContext.js +1 -47
  19. package/dist/cjs/contexts/ProductContext.js +1 -149
  20. package/dist/cjs/contexts/ProductListContext.js +1 -32
  21. package/dist/cjs/contexts/SectionContext.js +1 -53
  22. package/dist/cjs/contexts/ShopContext.js +1 -70
  23. package/dist/cjs/graphql/fragments/analytic.generated.js +2 -6
  24. package/dist/cjs/graphql/fragments/collection-detail.generated.js +2 -6
  25. package/dist/cjs/graphql/fragments/collection-product.generated.js +2 -6
  26. package/dist/cjs/graphql/fragments/collection.generated.js +2 -6
  27. package/dist/cjs/graphql/fragments/custom-code.generated.js +2 -6
  28. package/dist/cjs/graphql/fragments/data-seo.generated.js +2 -6
  29. package/dist/cjs/graphql/fragments/media.generated.js +3 -6
  30. package/dist/cjs/graphql/fragments/product-little.generated.js +2 -6
  31. package/dist/cjs/graphql/fragments/product-option-value.generated.js +2 -6
  32. package/dist/cjs/graphql/fragments/product-option.generated.js +2 -6
  33. package/dist/cjs/graphql/fragments/product.generated.js +2 -6
  34. package/dist/cjs/graphql/fragments/published-custom-section.generated.js +2 -6
  35. package/dist/cjs/graphql/fragments/published-page-section.generated.js +2 -6
  36. package/dist/cjs/graphql/fragments/published-theme-page.generated.js +2 -6
  37. package/dist/cjs/graphql/fragments/published-theme-style.generated.js +2 -6
  38. package/dist/cjs/graphql/fragments/selected-option.generated.js +2 -6
  39. package/dist/cjs/graphql/fragments/variant.generated.js +2 -6
  40. package/dist/cjs/graphql/mutations/page-view-up.generated.js +3 -7
  41. package/dist/cjs/graphql/queries/collection-detail-filter.generated.js +2 -16
  42. package/dist/cjs/graphql/queries/collection.generated.js +2 -14
  43. package/dist/cjs/graphql/queries/collections.generated.js +2 -9
  44. package/dist/cjs/graphql/queries/preview-page.generated.js +2 -14
  45. package/dist/cjs/graphql/queries/product-little-detail.generated.js +2 -11
  46. package/dist/cjs/graphql/queries/product-medias.generated.js +2 -8
  47. package/dist/cjs/graphql/queries/product-variants.generated.js +2 -10
  48. package/dist/cjs/graphql/queries/products.generated.js +3 -17
  49. package/dist/cjs/graphql/queries/published-theme-pages.generated.js +2 -14
  50. package/dist/cjs/graphql/queries/store-property.generated.js +2 -6
  51. package/dist/cjs/helpers/GlobalEvent.js +1 -19
  52. package/dist/cjs/helpers/background.js +1 -109
  53. package/dist/cjs/helpers/borders.js +4 -183
  54. package/dist/cjs/helpers/clone-deep.js +1 -5
  55. package/dist/cjs/helpers/cls.js +1 -16
  56. package/dist/cjs/helpers/colors.js +1 -183
  57. package/dist/cjs/helpers/compose-advance-style.js +1 -188
  58. package/dist/cjs/helpers/constant.js +1 -23
  59. package/dist/cjs/helpers/convert.js +1 -7
  60. package/dist/cjs/helpers/css-variable.js +1 -7
  61. package/dist/cjs/helpers/email.js +1 -11
  62. package/dist/cjs/helpers/flatten-connection.js +1 -9
  63. package/dist/cjs/helpers/get-resonsive-value.js +1 -31
  64. package/dist/cjs/helpers/get-shortname.js +1 -92
  65. package/dist/cjs/helpers/is-browser.js +1 -9
  66. package/dist/cjs/helpers/is-defined.js +1 -7
  67. package/dist/cjs/helpers/is-empty-children.js +1 -12
  68. package/dist/cjs/helpers/is-safari.js +1 -9
  69. package/dist/cjs/helpers/layout.js +1 -59
  70. package/dist/cjs/helpers/load-script.js +1 -31
  71. package/dist/cjs/helpers/make-style.js +1 -128
  72. package/dist/cjs/helpers/normalize-builder-data.js +1 -23
  73. package/dist/cjs/helpers/prefetch-queries.js +1 -78
  74. package/dist/cjs/helpers/product.js +1 -45
  75. package/dist/cjs/helpers/queries/get-collection.js +1 -220
  76. package/dist/cjs/helpers/queries/get-collections.js +1 -21
  77. package/dist/cjs/helpers/queries/get-product-by-slug.js +1 -125
  78. package/dist/cjs/helpers/queries/get-product.js +1 -154
  79. package/dist/cjs/helpers/queries/get-products.js +1 -161
  80. package/dist/cjs/helpers/query.js +1 -29
  81. package/dist/cjs/helpers/radius.js +6 -134
  82. package/dist/cjs/helpers/render.js +1 -71
  83. package/dist/cjs/helpers/shadow.js +1 -56
  84. package/dist/cjs/helpers/size.js +4 -35
  85. package/dist/cjs/helpers/spacing.js +1 -43
  86. package/dist/cjs/helpers/tracking/fpixel.js +1 -28
  87. package/dist/cjs/helpers/tracking/gtag.js +1 -93
  88. package/dist/cjs/helpers/tracking/tiktokpixel.js +1 -17
  89. package/dist/cjs/helpers/typography.js +17 -105
  90. package/dist/cjs/helpers/variant.js +1 -8
  91. package/dist/cjs/hooks/cart/use-add-to-cart.js +1 -20
  92. package/dist/cjs/hooks/cart/use-cart-data.js +1 -28
  93. package/dist/cjs/hooks/cart/use-cart-discount-codes-update.js +1 -20
  94. package/dist/cjs/hooks/cart/use-cart-note-update.js +1 -20
  95. package/dist/cjs/hooks/cart/use-create-cart.js +1 -22
  96. package/dist/cjs/hooks/cart/use-remove-cart-item.js +1 -20
  97. package/dist/cjs/hooks/cart/use-update-cart-item.js +1 -20
  98. package/dist/cjs/hooks/shop/use-collection-query.js +1 -22
  99. package/dist/cjs/hooks/shop/use-collections-query.js +1 -17
  100. package/dist/cjs/hooks/shop/use-product-query.js +1 -22
  101. package/dist/cjs/hooks/shop/use-products-query.js +1 -22
  102. package/dist/cjs/hooks/shop.js +1 -126
  103. package/dist/cjs/hooks/use-current-device.js +1 -21
  104. package/dist/cjs/hooks/use-lazy-video.js +1 -15
  105. package/dist/cjs/hooks/useCartId.js +1 -44
  106. package/dist/cjs/hooks/useCartLine.js +1 -11
  107. package/dist/cjs/hooks/useCartUI.js +1 -48
  108. package/dist/cjs/hooks/useCollection.js +1 -9
  109. package/dist/cjs/hooks/useFetchHandle.js +1 -13
  110. package/dist/cjs/hooks/useFormatMoney.js +1 -58
  111. package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +1 -10
  112. package/dist/cjs/hooks/useLoadScript.js +1 -32
  113. package/dist/cjs/hooks/useMoney.js +1 -84
  114. package/dist/cjs/hooks/usePrevious.js +1 -19
  115. package/dist/cjs/hooks/useProduct.js +1 -124
  116. package/dist/cjs/hooks/useProductList.js +1 -21
  117. package/dist/cjs/hooks/useSuspenseFetch.js +1 -27
  118. package/dist/cjs/hooks/useSwatchesOptions.js +1 -41
  119. package/dist/cjs/index.js +1 -291
  120. package/dist/cjs/types/global-style.js +1 -14
  121. package/dist/cjs/types/shop.js +1 -2
  122. package/dist/esm/components/AddOn.js +1 -14
  123. package/dist/esm/components/ComponentWrapper.js +1 -24
  124. package/dist/esm/components/ComponentWrapperPreview.js +1 -68
  125. package/dist/esm/components/Empty.js +1 -3
  126. package/dist/esm/components/Render.js +1 -61
  127. package/dist/esm/components/Render.liquid.js +15 -153
  128. package/dist/esm/components/RenderBlock.js +1 -50
  129. package/dist/esm/components/RenderCustomCode.js +5 -0
  130. package/dist/esm/components/RenderPreview.js +1 -62
  131. package/dist/esm/components/RenderSection.js +1 -19
  132. package/dist/esm/components/constant.js +1 -37
  133. package/dist/esm/contexts/AddonContext.js +1 -32
  134. package/dist/esm/contexts/BuilderComponent.js +1 -31
  135. package/dist/esm/contexts/BuilderContext.js +1 -32
  136. package/dist/esm/contexts/BuilderPreviewContext.js +1 -367
  137. package/dist/esm/contexts/CartLineContext.js +1 -26
  138. package/dist/esm/contexts/CollectionContext.js +1 -35
  139. package/dist/esm/contexts/ModalContext.js +1 -44
  140. package/dist/esm/contexts/ProductContext.js +1 -146
  141. package/dist/esm/contexts/ProductListContext.js +1 -28
  142. package/dist/esm/contexts/SectionContext.js +1 -49
  143. package/dist/esm/contexts/ShopContext.js +1 -67
  144. package/dist/esm/graphql/fragments/analytic.generated.js +2 -4
  145. package/dist/esm/graphql/fragments/collection-detail.generated.js +2 -4
  146. package/dist/esm/graphql/fragments/collection-product.generated.js +2 -4
  147. package/dist/esm/graphql/fragments/collection.generated.js +2 -4
  148. package/dist/esm/graphql/fragments/custom-code.generated.js +2 -4
  149. package/dist/esm/graphql/fragments/data-seo.generated.js +2 -4
  150. package/dist/esm/graphql/fragments/media.generated.js +3 -4
  151. package/dist/esm/graphql/fragments/product-little.generated.js +2 -4
  152. package/dist/esm/graphql/fragments/product-option-value.generated.js +2 -4
  153. package/dist/esm/graphql/fragments/product-option.generated.js +2 -4
  154. package/dist/esm/graphql/fragments/product.generated.js +2 -4
  155. package/dist/esm/graphql/fragments/published-custom-section.generated.js +2 -4
  156. package/dist/esm/graphql/fragments/published-page-section.generated.js +2 -4
  157. package/dist/esm/graphql/fragments/published-theme-page.generated.js +2 -4
  158. package/dist/esm/graphql/fragments/published-theme-style.generated.js +2 -4
  159. package/dist/esm/graphql/fragments/selected-option.generated.js +2 -4
  160. package/dist/esm/graphql/fragments/variant.generated.js +2 -4
  161. package/dist/esm/graphql/mutations/page-view-up.generated.js +3 -5
  162. package/dist/esm/graphql/queries/collection-detail-filter.generated.js +10 -22
  163. package/dist/esm/graphql/queries/collection.generated.js +8 -18
  164. package/dist/esm/graphql/queries/collections.generated.js +3 -8
  165. package/dist/esm/graphql/queries/preview-page.generated.js +8 -18
  166. package/dist/esm/graphql/queries/product-little-detail.generated.js +5 -12
  167. package/dist/esm/graphql/queries/product-medias.generated.js +2 -6
  168. package/dist/esm/graphql/queries/product-variants.generated.js +4 -10
  169. package/dist/esm/graphql/queries/products.generated.js +9 -20
  170. package/dist/esm/graphql/queries/published-theme-pages.generated.js +8 -18
  171. package/dist/esm/graphql/queries/store-property.generated.js +2 -4
  172. package/dist/esm/helpers/GlobalEvent.js +1 -15
  173. package/dist/esm/helpers/background.js +1 -106
  174. package/dist/esm/helpers/borders.js +4 -175
  175. package/dist/esm/helpers/clone-deep.js +1 -3
  176. package/dist/esm/helpers/cls.js +1 -14
  177. package/dist/esm/helpers/colors.js +1 -168
  178. package/dist/esm/helpers/compose-advance-style.js +1 -185
  179. package/dist/esm/helpers/constant.js +1 -19
  180. package/dist/esm/helpers/convert.js +1 -4
  181. package/dist/esm/helpers/css-variable.js +1 -5
  182. package/dist/esm/helpers/email.js +1 -6
  183. package/dist/esm/helpers/flatten-connection.js +1 -7
  184. package/dist/esm/helpers/get-resonsive-value.js +1 -27
  185. package/dist/esm/helpers/get-shortname.js +1 -90
  186. package/dist/esm/helpers/is-browser.js +1 -5
  187. package/dist/esm/helpers/is-defined.js +1 -5
  188. package/dist/esm/helpers/is-empty-children.js +1 -7
  189. package/dist/esm/helpers/is-safari.js +1 -5
  190. package/dist/esm/helpers/layout.js +1 -54
  191. package/dist/esm/helpers/load-script.js +1 -29
  192. package/dist/esm/helpers/make-style.js +1 -117
  193. package/dist/esm/helpers/normalize-builder-data.js +1 -21
  194. package/dist/esm/helpers/prefetch-queries.js +1 -76
  195. package/dist/esm/helpers/product.js +1 -41
  196. package/dist/esm/helpers/queries/get-collection.js +1 -217
  197. package/dist/esm/helpers/queries/get-collections.js +1 -19
  198. package/dist/esm/helpers/queries/get-product-by-slug.js +1 -123
  199. package/dist/esm/helpers/queries/get-product.js +1 -150
  200. package/dist/esm/helpers/queries/get-products.js +1 -159
  201. package/dist/esm/helpers/query.js +1 -25
  202. package/dist/esm/helpers/radius.js +6 -127
  203. package/dist/esm/helpers/render.js +1 -64
  204. package/dist/esm/helpers/shadow.js +1 -51
  205. package/dist/esm/helpers/size.js +4 -31
  206. package/dist/esm/helpers/spacing.js +1 -40
  207. package/dist/esm/helpers/tracking/fpixel.js +1 -24
  208. package/dist/esm/helpers/tracking/gtag.js +1 -87
  209. package/dist/esm/helpers/tracking/tiktokpixel.js +1 -15
  210. package/dist/esm/helpers/typography.js +17 -96
  211. package/dist/esm/helpers/variant.js +1 -6
  212. package/dist/esm/hooks/cart/use-add-to-cart.js +1 -18
  213. package/dist/esm/hooks/cart/use-cart-data.js +1 -26
  214. package/dist/esm/hooks/cart/use-cart-discount-codes-update.js +1 -18
  215. package/dist/esm/hooks/cart/use-cart-note-update.js +1 -18
  216. package/dist/esm/hooks/cart/use-create-cart.js +1 -20
  217. package/dist/esm/hooks/cart/use-remove-cart-item.js +1 -18
  218. package/dist/esm/hooks/cart/use-update-cart-item.js +1 -18
  219. package/dist/esm/hooks/shop/use-collection-query.js +1 -20
  220. package/dist/esm/hooks/shop/use-collections-query.js +1 -15
  221. package/dist/esm/hooks/shop/use-product-query.js +1 -20
  222. package/dist/esm/hooks/shop/use-products-query.js +1 -20
  223. package/dist/esm/hooks/shop.js +1 -111
  224. package/dist/esm/hooks/use-current-device.js +1 -19
  225. package/dist/esm/hooks/use-lazy-video.js +1 -13
  226. package/dist/esm/hooks/useCartId.js +1 -40
  227. package/dist/esm/hooks/useCartLine.js +1 -7
  228. package/dist/esm/hooks/useCartUI.js +1 -44
  229. package/dist/esm/hooks/useCollection.js +1 -7
  230. package/dist/esm/hooks/useFetchHandle.js +1 -11
  231. package/dist/esm/hooks/useFormatMoney.js +1 -56
  232. package/dist/esm/hooks/useIsomorphicLayoutEffect.js +1 -6
  233. package/dist/esm/hooks/useLoadScript.js +1 -28
  234. package/dist/esm/hooks/useMoney.js +1 -80
  235. package/dist/esm/hooks/usePrevious.js +1 -17
  236. package/dist/esm/hooks/useProduct.js +1 -111
  237. package/dist/esm/hooks/useProductList.js +1 -16
  238. package/dist/esm/hooks/useSuspenseFetch.js +1 -23
  239. package/dist/esm/hooks/useSwatchesOptions.js +1 -37
  240. package/dist/esm/index.js +1 -92
  241. package/dist/esm/types/global-style.js +1 -11
  242. package/dist/types/index.d.ts +1092 -1016
  243. package/package.json +2 -2
@@ -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};