@enadhq/enad-react-sdk 1.0.2 → 1.1.0

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 (1098) hide show
  1. package/README.md +42 -25
  2. package/dist/client/_virtual/_rolldown/runtime.mjs +6 -0
  3. package/dist/client/adapters/index.d.ts +3 -0
  4. package/dist/client/adapters/index.mjs +3 -0
  5. package/dist/client/adapters/next-cookie-adapter.d.ts +18 -0
  6. package/dist/client/adapters/next-cookie-adapter.d.ts.map +1 -0
  7. package/dist/client/adapters/next-cookie-adapter.mjs +25 -0
  8. package/dist/client/adapters/next-cookie-adapter.mjs.map +1 -0
  9. package/dist/client/adapters/next-navigation-adapter.d.ts +9 -0
  10. package/dist/client/adapters/next-navigation-adapter.d.ts.map +1 -0
  11. package/dist/client/adapters/next-navigation-adapter.mjs +12 -0
  12. package/dist/client/adapters/next-navigation-adapter.mjs.map +1 -0
  13. package/dist/client/cart/adapters/brink.d.ts +17 -13
  14. package/dist/client/cart/adapters/brink.d.ts.map +1 -1
  15. package/dist/client/cart/adapters/brink.mjs +160 -143
  16. package/dist/client/cart/adapters/brink.mjs.map +1 -1
  17. package/dist/client/cart/adapters/index.d.ts +2 -3
  18. package/dist/client/cart/adapters/index.mjs +2 -5
  19. package/dist/client/cart/adapters/mock.d.ts +13 -9
  20. package/dist/client/cart/adapters/mock.d.ts.map +1 -1
  21. package/dist/client/cart/adapters/mock.mjs +82 -66
  22. package/dist/client/cart/adapters/mock.mjs.map +1 -1
  23. package/dist/client/cart/components/cart-drawer.d.ts +25 -15
  24. package/dist/client/cart/components/cart-drawer.d.ts.map +1 -1
  25. package/dist/client/cart/components/cart-drawer.mjs +261 -295
  26. package/dist/client/cart/components/cart-drawer.mjs.map +1 -1
  27. package/dist/client/cart/components/cart-trigger.d.ts +18 -8
  28. package/dist/client/cart/components/cart-trigger.d.ts.map +1 -1
  29. package/dist/client/cart/components/cart-trigger.mjs +23 -30
  30. package/dist/client/cart/components/cart-trigger.mjs.map +1 -1
  31. package/dist/client/cart/components/promo-code-input.d.ts +27 -14
  32. package/dist/client/cart/components/promo-code-input.d.ts.map +1 -1
  33. package/dist/client/cart/components/promo-code-input.mjs +77 -88
  34. package/dist/client/cart/components/promo-code-input.mjs.map +1 -1
  35. package/dist/client/cart/constants/session.d.ts +4 -1
  36. package/dist/client/cart/constants/session.d.ts.map +1 -1
  37. package/dist/client/cart/constants/session.mjs +4 -3
  38. package/dist/client/cart/constants/session.mjs.map +1 -1
  39. package/dist/client/cart/contexts/cart.d.ts +19 -11
  40. package/dist/client/cart/contexts/cart.d.ts.map +1 -1
  41. package/dist/client/cart/contexts/cart.mjs +30 -13
  42. package/dist/client/cart/contexts/cart.mjs.map +1 -1
  43. package/dist/client/cart/hooks/useCart.d.ts +25 -19
  44. package/dist/client/cart/hooks/useCart.d.ts.map +1 -1
  45. package/dist/client/cart/hooks/useCart.mjs +27 -21
  46. package/dist/client/cart/hooks/useCart.mjs.map +1 -1
  47. package/dist/client/cart/hooks/useCartActions.d.ts +21 -16
  48. package/dist/client/cart/hooks/useCartActions.d.ts.map +1 -1
  49. package/dist/client/cart/hooks/useCartActions.mjs +46 -45
  50. package/dist/client/cart/hooks/useCartActions.mjs.map +1 -1
  51. package/dist/client/cart/index.d.ts +8 -12
  52. package/dist/client/cart/index.mjs +7 -16
  53. package/dist/client/cart/queries/addToCartQueryFn.d.ts +12 -5
  54. package/dist/client/cart/queries/addToCartQueryFn.d.ts.map +1 -1
  55. package/dist/client/cart/queries/addToCartQueryFn.mjs +25 -24
  56. package/dist/client/cart/queries/addToCartQueryFn.mjs.map +1 -1
  57. package/dist/client/cart/queries/getCartQueryFn.d.ts +7 -3
  58. package/dist/client/cart/queries/getCartQueryFn.d.ts.map +1 -1
  59. package/dist/client/cart/queries/getCartQueryFn.mjs +34 -31
  60. package/dist/client/cart/queries/getCartQueryFn.mjs.map +1 -1
  61. package/dist/client/cart/queries/removeCartItemQueryFn.d.ts +10 -4
  62. package/dist/client/cart/queries/removeCartItemQueryFn.d.ts.map +1 -1
  63. package/dist/client/cart/queries/removeCartItemQueryFn.mjs +20 -21
  64. package/dist/client/cart/queries/removeCartItemQueryFn.mjs.map +1 -1
  65. package/dist/client/cart/queries/updateCartItemQueryFn.d.ts +12 -5
  66. package/dist/client/cart/queries/updateCartItemQueryFn.d.ts.map +1 -1
  67. package/dist/client/cart/queries/updateCartItemQueryFn.mjs +22 -24
  68. package/dist/client/cart/queries/updateCartItemQueryFn.mjs.map +1 -1
  69. package/dist/client/cart/types/adapter.d.ts +90 -87
  70. package/dist/client/cart/types/adapter.d.ts.map +1 -1
  71. package/dist/client/cart/types/adapter.mjs +11 -10
  72. package/dist/client/cart/types/adapter.mjs.map +1 -1
  73. package/dist/client/cart/types/cart.d.ts +51 -48
  74. package/dist/client/cart/types/cart.d.ts.map +1 -1
  75. package/dist/client/cart/types/cart.mjs +1 -1
  76. package/dist/client/cart/utils/session.d.ts +7 -4
  77. package/dist/client/cart/utils/session.d.ts.map +1 -1
  78. package/dist/client/cart/utils/session.mjs +10 -12
  79. package/dist/client/cart/utils/session.mjs.map +1 -1
  80. package/dist/client/cms/storyblok/preview/registerStoryblokBridge.d.ts +9 -4
  81. package/dist/client/cms/storyblok/preview/registerStoryblokBridge.d.ts.map +1 -1
  82. package/dist/client/cms/storyblok/preview/registerStoryblokBridge.mjs +16 -23
  83. package/dist/client/cms/storyblok/preview/registerStoryblokBridge.mjs.map +1 -1
  84. package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.d.ts +26 -14
  85. package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.d.ts.map +1 -1
  86. package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.mjs +65 -74
  87. package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.mjs.map +1 -1
  88. package/dist/client/global/auth/cookie-adapter.d.ts +33 -0
  89. package/dist/client/global/auth/cookie-adapter.d.ts.map +1 -0
  90. package/dist/client/global/auth/cookie-adapter.mjs +28 -0
  91. package/dist/client/global/auth/cookie-adapter.mjs.map +1 -0
  92. package/dist/client/global/auth/cookie-context.d.ts +21 -0
  93. package/dist/client/global/auth/cookie-context.d.ts.map +1 -0
  94. package/dist/client/global/auth/cookie-context.mjs +24 -0
  95. package/dist/client/global/auth/cookie-context.mjs.map +1 -0
  96. package/dist/client/global/auth/navigation-adapter.d.ts +9 -0
  97. package/dist/client/global/auth/navigation-adapter.d.ts.map +1 -0
  98. package/dist/client/global/auth/navigation-adapter.mjs +13 -0
  99. package/dist/client/global/auth/navigation-adapter.mjs.map +1 -0
  100. package/dist/client/global/auth/withAuth.d.ts +5 -2
  101. package/dist/client/global/auth/withAuth.d.ts.map +1 -1
  102. package/dist/client/global/auth/withAuth.mjs +26 -22
  103. package/dist/client/global/auth/withAuth.mjs.map +1 -1
  104. package/dist/client/global/components/error-boundary.d.ts +18 -13
  105. package/dist/client/global/components/error-boundary.d.ts.map +1 -1
  106. package/dist/client/global/components/error-boundary.mjs +37 -38
  107. package/dist/client/global/components/error-boundary.mjs.map +1 -1
  108. package/dist/client/global/config/index.d.ts +12 -10
  109. package/dist/client/global/config/index.d.ts.map +1 -1
  110. package/dist/client/global/config/index.mjs +12 -31
  111. package/dist/client/global/config/index.mjs.map +1 -1
  112. package/dist/client/global/constants/tags.d.ts +16 -13
  113. package/dist/client/global/constants/tags.d.ts.map +1 -1
  114. package/dist/client/global/constants/tags.mjs +16 -15
  115. package/dist/client/global/constants/tags.mjs.map +1 -1
  116. package/dist/client/global/contexts/locale.d.ts +14 -0
  117. package/dist/client/global/contexts/locale.d.ts.map +1 -0
  118. package/dist/client/global/contexts/locale.mjs +24 -0
  119. package/dist/client/global/contexts/locale.mjs.map +1 -0
  120. package/dist/client/global/index.d.ts +8 -6
  121. package/dist/client/global/index.mjs +7 -7
  122. package/dist/client/global/providers/enad-provider.d.ts +85 -40
  123. package/dist/client/global/providers/enad-provider.d.ts.map +1 -1
  124. package/dist/client/global/providers/enad-provider.mjs +68 -34
  125. package/dist/client/global/providers/enad-provider.mjs.map +1 -1
  126. package/dist/client/icons/adapters/carbon.d.ts +12 -0
  127. package/dist/client/icons/adapters/carbon.d.ts.map +1 -0
  128. package/dist/client/icons/adapters/carbon.mjs +62 -0
  129. package/dist/client/icons/adapters/carbon.mjs.map +1 -0
  130. package/dist/client/icons/adapters/hugeicons.d.ts +11 -7
  131. package/dist/client/icons/adapters/hugeicons.d.ts.map +1 -1
  132. package/dist/client/icons/adapters/hugeicons.mjs +59 -110
  133. package/dist/client/icons/adapters/hugeicons.mjs.map +1 -1
  134. package/dist/client/icons/adapters/lucide.d.ts +10 -6
  135. package/dist/client/icons/adapters/lucide.d.ts.map +1 -1
  136. package/dist/client/icons/adapters/lucide.mjs +57 -103
  137. package/dist/client/icons/adapters/lucide.mjs.map +1 -1
  138. package/dist/client/icons/adapters/phosphor.d.ts +11 -8
  139. package/dist/client/icons/adapters/phosphor.d.ts.map +1 -1
  140. package/dist/client/icons/adapters/phosphor.mjs +64 -65
  141. package/dist/client/icons/adapters/phosphor.mjs.map +1 -1
  142. package/dist/client/icons/icon-context.d.ts +20 -9
  143. package/dist/client/icons/icon-context.d.ts.map +1 -1
  144. package/dist/client/icons/icon-context.mjs +13 -17
  145. package/dist/client/icons/icon-context.mjs.map +1 -1
  146. package/dist/client/icons/index.d.ts +7 -9
  147. package/dist/client/icons/index.mjs +6 -16
  148. package/dist/client/icons/types.d.ts +48 -45
  149. package/dist/client/icons/types.d.ts.map +1 -1
  150. package/dist/client/icons/types.mjs +1 -1
  151. package/dist/client/motion/config.d.ts +21 -30
  152. package/dist/client/motion/config.d.ts.map +1 -1
  153. package/dist/client/motion/config.mjs +33 -37
  154. package/dist/client/motion/config.mjs.map +1 -1
  155. package/dist/client/motion/hover.d.ts +7 -9
  156. package/dist/client/motion/hover.d.ts.map +1 -1
  157. package/dist/client/motion/hover.mjs +40 -14
  158. package/dist/client/motion/hover.mjs.map +1 -1
  159. package/dist/client/motion/index.d.ts +4 -4
  160. package/dist/client/motion/index.mjs +4 -13
  161. package/dist/client/motion/stagger.d.ts +7 -9
  162. package/dist/client/motion/stagger.d.ts.map +1 -1
  163. package/dist/client/motion/stagger.mjs +38 -12
  164. package/dist/client/motion/stagger.mjs.map +1 -1
  165. package/dist/client/node_modules/.pnpm/@swc_helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.mjs +13 -0
  166. package/dist/client/node_modules/.pnpm/@swc_helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.mjs.map +1 -0
  167. package/dist/client/node_modules/.pnpm/@swc_helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.mjs +34 -0
  168. package/dist/client/node_modules/.pnpm/@swc_helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.mjs.map +1 -0
  169. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/app-router-headers.mjs +105 -0
  170. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/app-router-headers.mjs.map +1 -0
  171. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/forbidden.mjs +48 -0
  172. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/forbidden.mjs.map +1 -0
  173. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/hooks-server-context.mjs +39 -0
  174. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/hooks-server-context.mjs.map +1 -0
  175. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.mjs +62 -0
  176. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.mjs.map +1 -0
  177. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/is-next-router-error.mjs +28 -0
  178. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/is-next-router-error.mjs.map +1 -0
  179. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/navigation.mjs +156 -0
  180. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/navigation.mjs.map +1 -0
  181. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/navigation.react-server.mjs +71 -0
  182. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/navigation.react-server.mjs.map +1 -0
  183. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/not-found.mjs +45 -0
  184. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/not-found.mjs.map +1 -0
  185. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/readonly-url-search-params.mjs +44 -0
  186. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/readonly-url-search-params.mjs.map +1 -0
  187. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-error.mjs +49 -0
  188. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-error.mjs.map +1 -0
  189. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-status-code.mjs +27 -0
  190. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-status-code.mjs.map +1 -0
  191. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect.mjs +83 -0
  192. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect.mjs.map +1 -0
  193. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/static-generation-bailout.mjs +39 -0
  194. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/static-generation-bailout.mjs.map +1 -0
  195. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unauthorized.mjs +49 -0
  196. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unauthorized.mjs.map +1 -0
  197. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unrecognized-action-error.mjs +38 -0
  198. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unrecognized-action-error.mjs.map +1 -0
  199. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unstable-rethrow.browser.mjs +29 -0
  200. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unstable-rethrow.browser.mjs.map +1 -0
  201. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unstable-rethrow.mjs +30 -0
  202. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unstable-rethrow.mjs.map +1 -0
  203. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unstable-rethrow.server.mjs +37 -0
  204. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unstable-rethrow.server.mjs.map +1 -0
  205. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/@edge-runtime/cookies/index.mjs +310 -0
  206. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/@edge-runtime/cookies/index.mjs.map +1 -0
  207. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/framework/boundary-constants.mjs +34 -0
  208. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/framework/boundary-constants.mjs.map +1 -0
  209. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/scheduler.mjs +47 -0
  210. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/scheduler.mjs.map +1 -0
  211. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/action-async-storage-instance.mjs +18 -0
  212. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/action-async-storage-instance.mjs.map +1 -0
  213. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/action-async-storage.external.mjs +18 -0
  214. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/action-async-storage.external.mjs.map +1 -0
  215. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.mjs +18 -0
  216. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.mjs.map +1 -0
  217. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.mjs +18 -0
  218. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.mjs.map +1 -0
  219. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/async-local-storage.mjs +65 -0
  220. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/async-local-storage.mjs.map +1 -0
  221. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-rendering.mjs +506 -0
  222. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-rendering.mjs.map +1 -0
  223. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/staged-rendering.mjs +86 -0
  224. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/staged-rendering.mjs.map +1 -0
  225. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage-instance.mjs +18 -0
  226. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage-instance.mjs.map +1 -0
  227. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage.external.mjs +18 -0
  228. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage.external.mjs.map +1 -0
  229. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.mjs +18 -0
  230. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.mjs.map +1 -0
  231. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.mjs +186 -0
  232. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.mjs.map +1 -0
  233. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.mjs +66 -0
  234. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.mjs.map +1 -0
  235. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/dynamic-rendering-utils.mjs +66 -0
  236. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/dynamic-rendering-utils.mjs.map +1 -0
  237. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/router-utils/is-postpone.mjs +20 -0
  238. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/router-utils/is-postpone.mjs.map +1 -0
  239. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/cookies.mjs +185 -0
  240. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/cookies.mjs.map +1 -0
  241. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/draft-mode.mjs +169 -0
  242. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/draft-mode.mjs.map +1 -0
  243. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/headers.mjs +184 -0
  244. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/headers.mjs.map +1 -0
  245. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/utils.mjs +52 -0
  246. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/utils.mjs.map +1 -0
  247. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/headers.mjs +138 -0
  248. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/headers.mjs.map +1 -0
  249. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.mjs +32 -0
  250. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.mjs.map +1 -0
  251. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.mjs +165 -0
  252. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.mjs.map +1 -0
  253. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/cookies.mjs +29 -0
  254. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/cookies.mjs.map +1 -0
  255. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.mjs +47 -0
  256. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.mjs.map +1 -0
  257. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.mjs +52 -0
  258. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.mjs.map +1 -0
  259. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.mjs +22 -0
  260. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.mjs.map +1 -0
  261. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.mjs +34 -0
  262. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.mjs.map +1 -0
  263. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/promise-with-resolvers.mjs +29 -0
  264. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/promise-with-resolvers.mjs.map +1 -0
  265. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/segment.mjs +79 -0
  266. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/segment.mjs.map +1 -0
  267. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.mjs +32 -0
  268. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.mjs.map +1 -0
  269. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/headers.mjs +15 -0
  270. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/headers.mjs.map +1 -0
  271. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/navigation.mjs +11 -0
  272. package/dist/client/node_modules/.pnpm/next@16.0.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/navigation.mjs.map +1 -0
  273. package/dist/client/search/actions/searchAction.d.ts +6 -1
  274. package/dist/client/search/actions/searchAction.d.ts.map +1 -1
  275. package/dist/client/search/actions/searchAction.mjs +14 -15
  276. package/dist/client/search/actions/searchAction.mjs.map +1 -1
  277. package/dist/client/search/components/search-bar.d.ts +13 -5
  278. package/dist/client/search/components/search-bar.d.ts.map +1 -1
  279. package/dist/client/search/components/search-bar.mjs +28 -29
  280. package/dist/client/search/components/search-bar.mjs.map +1 -1
  281. package/dist/client/search/hooks/useSearch.d.ts +15 -9
  282. package/dist/client/search/hooks/useSearch.d.ts.map +1 -1
  283. package/dist/client/search/hooks/useSearch.mjs +41 -31
  284. package/dist/client/search/hooks/useSearch.mjs.map +1 -1
  285. package/dist/client/search/index.d.ts +2 -2
  286. package/dist/client/search/index.mjs +2 -5
  287. package/dist/client/storefront/blocks/accordion-block.d.ts +10 -2
  288. package/dist/client/storefront/blocks/accordion-block.d.ts.map +1 -1
  289. package/dist/client/storefront/blocks/accordion-block.mjs +30 -36
  290. package/dist/client/storefront/blocks/accordion-block.mjs.map +1 -1
  291. package/dist/client/storefront/blocks/card-image-with-caption.d.ts +11 -2
  292. package/dist/client/storefront/blocks/card-image-with-caption.d.ts.map +1 -1
  293. package/dist/client/storefront/blocks/card-image-with-caption.mjs +27 -24
  294. package/dist/client/storefront/blocks/card-image-with-caption.mjs.map +1 -1
  295. package/dist/client/storefront/blocks/card-video.d.ts +13 -2
  296. package/dist/client/storefront/blocks/card-video.d.ts.map +1 -1
  297. package/dist/client/storefront/blocks/card-video.mjs +46 -38
  298. package/dist/client/storefront/blocks/card-video.mjs.map +1 -1
  299. package/dist/client/storefront/blocks/content-with-gallery.d.ts +15 -2
  300. package/dist/client/storefront/blocks/content-with-gallery.d.ts.map +1 -1
  301. package/dist/client/storefront/blocks/content-with-gallery.mjs +67 -44
  302. package/dist/client/storefront/blocks/content-with-gallery.mjs.map +1 -1
  303. package/dist/client/storefront/blocks/content-with-image-product-data.d.ts +16 -2
  304. package/dist/client/storefront/blocks/content-with-image-product-data.d.ts.map +1 -1
  305. package/dist/client/storefront/blocks/content-with-image-product-data.mjs +65 -41
  306. package/dist/client/storefront/blocks/content-with-image-product-data.mjs.map +1 -1
  307. package/dist/client/storefront/blocks/gallery-with-caption.d.ts +12 -2
  308. package/dist/client/storefront/blocks/gallery-with-caption.d.ts.map +1 -1
  309. package/dist/client/storefront/blocks/gallery-with-caption.mjs +26 -33
  310. package/dist/client/storefront/blocks/gallery-with-caption.mjs.map +1 -1
  311. package/dist/client/storefront/blocks/gallery-with-link-blocks.d.ts +10 -2
  312. package/dist/client/storefront/blocks/gallery-with-link-blocks.d.ts.map +1 -1
  313. package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs +28 -21
  314. package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs.map +1 -1
  315. package/dist/client/storefront/blocks/gallery.d.ts +11 -2
  316. package/dist/client/storefront/blocks/gallery.d.ts.map +1 -1
  317. package/dist/client/storefront/blocks/gallery.mjs +50 -43
  318. package/dist/client/storefront/blocks/gallery.mjs.map +1 -1
  319. package/dist/client/storefront/blocks/hero.d.ts +6 -2
  320. package/dist/client/storefront/blocks/hero.d.ts.map +1 -1
  321. package/dist/client/storefront/blocks/hero.mjs +234 -326
  322. package/dist/client/storefront/blocks/hero.mjs.map +1 -1
  323. package/dist/client/storefront/blocks/image-block.d.ts +11 -2
  324. package/dist/client/storefront/blocks/image-block.d.ts.map +1 -1
  325. package/dist/client/storefront/blocks/image-block.mjs +24 -24
  326. package/dist/client/storefront/blocks/image-block.mjs.map +1 -1
  327. package/dist/client/storefront/blocks/index.d.ts +22 -20
  328. package/dist/client/storefront/blocks/index.mjs +21 -41
  329. package/dist/client/storefront/blocks/link-block-small.d.ts +11 -2
  330. package/dist/client/storefront/blocks/link-block-small.d.ts.map +1 -1
  331. package/dist/client/storefront/blocks/link-block-small.mjs +31 -32
  332. package/dist/client/storefront/blocks/link-block-small.mjs.map +1 -1
  333. package/dist/client/storefront/blocks/link-block.d.ts +6 -2
  334. package/dist/client/storefront/blocks/link-block.d.ts.map +1 -1
  335. package/dist/client/storefront/blocks/link-block.mjs +131 -142
  336. package/dist/client/storefront/blocks/link-block.mjs.map +1 -1
  337. package/dist/client/storefront/blocks/product-card-parts.d.ts +77 -0
  338. package/dist/client/storefront/blocks/product-card-parts.d.ts.map +1 -0
  339. package/dist/client/storefront/blocks/product-card-parts.mjs +112 -0
  340. package/dist/client/storefront/blocks/product-card-parts.mjs.map +1 -0
  341. package/dist/client/storefront/blocks/product-card.d.ts +6 -2
  342. package/dist/client/storefront/blocks/product-card.d.ts.map +1 -1
  343. package/dist/client/storefront/blocks/product-card.mjs +214 -214
  344. package/dist/client/storefront/blocks/product-card.mjs.map +1 -1
  345. package/dist/client/storefront/blocks/product-image.d.ts +14 -2
  346. package/dist/client/storefront/blocks/product-image.d.ts.map +1 -1
  347. package/dist/client/storefront/blocks/product-image.mjs +73 -101
  348. package/dist/client/storefront/blocks/product-image.mjs.map +1 -1
  349. package/dist/client/storefront/blocks/spacer.d.ts +8 -2
  350. package/dist/client/storefront/blocks/spacer.d.ts.map +1 -1
  351. package/dist/client/storefront/blocks/spacer.mjs +13 -8
  352. package/dist/client/storefront/blocks/spacer.mjs.map +1 -1
  353. package/dist/client/storefront/blocks/text-content-with-image.d.ts +6 -2
  354. package/dist/client/storefront/blocks/text-content-with-image.d.ts.map +1 -1
  355. package/dist/client/storefront/blocks/text-content-with-image.mjs +205 -212
  356. package/dist/client/storefront/blocks/text-content-with-image.mjs.map +1 -1
  357. package/dist/client/storefront/blocks/text-content.d.ts +6 -2
  358. package/dist/client/storefront/blocks/text-content.d.ts.map +1 -1
  359. package/dist/client/storefront/blocks/text-content.mjs +156 -141
  360. package/dist/client/storefront/blocks/text-content.mjs.map +1 -1
  361. package/dist/client/storefront/blocks/truncated-text.d.ts +11 -2
  362. package/dist/client/storefront/blocks/truncated-text.d.ts.map +1 -1
  363. package/dist/client/storefront/blocks/truncated-text.mjs +37 -31
  364. package/dist/client/storefront/blocks/truncated-text.mjs.map +1 -1
  365. package/dist/client/storefront/blocks/variable-text-content.d.ts +9 -2
  366. package/dist/client/storefront/blocks/variable-text-content.d.ts.map +1 -1
  367. package/dist/client/storefront/blocks/variable-text-content.mjs +13 -11
  368. package/dist/client/storefront/blocks/variable-text-content.mjs.map +1 -1
  369. package/dist/client/storefront/carousel/index.d.ts +2 -2
  370. package/dist/client/storefront/carousel/index.mjs +2 -5
  371. package/dist/client/storefront/carousel/swipeable-carousel.d.ts +22 -10
  372. package/dist/client/storefront/carousel/swipeable-carousel.d.ts.map +1 -1
  373. package/dist/client/storefront/carousel/swipeable-carousel.mjs +46 -76
  374. package/dist/client/storefront/carousel/swipeable-carousel.mjs.map +1 -1
  375. package/dist/client/storefront/checkout/address-form.d.ts +45 -28
  376. package/dist/client/storefront/checkout/address-form.d.ts.map +1 -1
  377. package/dist/client/storefront/checkout/address-form.mjs +110 -120
  378. package/dist/client/storefront/checkout/address-form.mjs.map +1 -1
  379. package/dist/client/storefront/checkout/cart-summary.d.ts +58 -37
  380. package/dist/client/storefront/checkout/cart-summary.d.ts.map +1 -1
  381. package/dist/client/storefront/checkout/cart-summary.mjs +156 -146
  382. package/dist/client/storefront/checkout/cart-summary.mjs.map +1 -1
  383. package/dist/client/storefront/checkout/checkout-stepper.d.ts +19 -10
  384. package/dist/client/storefront/checkout/checkout-stepper.d.ts.map +1 -1
  385. package/dist/client/storefront/checkout/checkout-stepper.mjs +38 -53
  386. package/dist/client/storefront/checkout/checkout-stepper.mjs.map +1 -1
  387. package/dist/client/storefront/checkout/index.d.ts +8 -15
  388. package/dist/client/storefront/checkout/index.mjs +8 -17
  389. package/dist/client/storefront/checkout/order-confirmation.d.ts +19 -8
  390. package/dist/client/storefront/checkout/order-confirmation.d.ts.map +1 -1
  391. package/dist/client/storefront/checkout/order-confirmation.mjs +31 -23
  392. package/dist/client/storefront/checkout/order-confirmation.mjs.map +1 -1
  393. package/dist/client/storefront/checkout/order-summary.d.ts +46 -27
  394. package/dist/client/storefront/checkout/order-summary.d.ts.map +1 -1
  395. package/dist/client/storefront/checkout/order-summary.mjs +138 -101
  396. package/dist/client/storefront/checkout/order-summary.mjs.map +1 -1
  397. package/dist/client/storefront/checkout/payment-method-selector.d.ts +26 -15
  398. package/dist/client/storefront/checkout/payment-method-selector.d.ts.map +1 -1
  399. package/dist/client/storefront/checkout/payment-method-selector.mjs +45 -57
  400. package/dist/client/storefront/checkout/payment-method-selector.mjs.map +1 -1
  401. package/dist/client/storefront/checkout/shipping-method-selector.d.ts +34 -20
  402. package/dist/client/storefront/checkout/shipping-method-selector.d.ts.map +1 -1
  403. package/dist/client/storefront/checkout/shipping-method-selector.mjs +55 -73
  404. package/dist/client/storefront/checkout/shipping-method-selector.mjs.map +1 -1
  405. package/dist/client/storefront/components/address-field-group.d.ts +45 -0
  406. package/dist/client/storefront/components/address-field-group.d.ts.map +1 -0
  407. package/dist/client/storefront/components/address-field-group.mjs +64 -0
  408. package/dist/client/storefront/components/address-field-group.mjs.map +1 -0
  409. package/dist/client/storefront/components/badge.d.ts +15 -6
  410. package/dist/client/storefront/components/badge.d.ts.map +1 -1
  411. package/dist/client/storefront/components/badge.mjs +17 -23
  412. package/dist/client/storefront/components/badge.mjs.map +1 -1
  413. package/dist/client/storefront/components/country-redirect.d.ts +38 -27
  414. package/dist/client/storefront/components/country-redirect.d.ts.map +1 -1
  415. package/dist/client/storefront/components/country-redirect.mjs +88 -112
  416. package/dist/client/storefront/components/country-redirect.mjs.map +1 -1
  417. package/dist/client/storefront/components/empty-state.d.ts +44 -33
  418. package/dist/client/storefront/components/empty-state.d.ts.map +1 -1
  419. package/dist/client/storefront/components/empty-state.mjs +51 -50
  420. package/dist/client/storefront/components/empty-state.mjs.map +1 -1
  421. package/dist/client/storefront/components/image-lightbox.d.ts +23 -11
  422. package/dist/client/storefront/components/image-lightbox.d.ts.map +1 -1
  423. package/dist/client/storefront/components/image-lightbox.mjs +251 -270
  424. package/dist/client/storefront/components/image-lightbox.mjs.map +1 -1
  425. package/dist/client/storefront/components/infinite-scroll.d.ts +55 -33
  426. package/dist/client/storefront/components/infinite-scroll.d.ts.map +1 -1
  427. package/dist/client/storefront/components/infinite-scroll.mjs +76 -78
  428. package/dist/client/storefront/components/infinite-scroll.mjs.map +1 -1
  429. package/dist/client/storefront/components/language-selector.d.ts +15 -4
  430. package/dist/client/storefront/components/language-selector.d.ts.map +1 -1
  431. package/dist/client/storefront/components/language-selector.mjs +50 -53
  432. package/dist/client/storefront/components/language-selector.mjs.map +1 -1
  433. package/dist/client/storefront/components/newsletter-signup.d.ts +25 -12
  434. package/dist/client/storefront/components/newsletter-signup.d.ts.map +1 -1
  435. package/dist/client/storefront/components/newsletter-signup.mjs +83 -77
  436. package/dist/client/storefront/components/newsletter-signup.mjs.map +1 -1
  437. package/dist/client/storefront/components/price.d.ts +26 -12
  438. package/dist/client/storefront/components/price.d.ts.map +1 -1
  439. package/dist/client/storefront/components/price.mjs +42 -41
  440. package/dist/client/storefront/components/price.mjs.map +1 -1
  441. package/dist/client/storefront/components/product-recommendations.d.ts +29 -16
  442. package/dist/client/storefront/components/product-recommendations.d.ts.map +1 -1
  443. package/dist/client/storefront/components/product-recommendations.mjs +84 -104
  444. package/dist/client/storefront/components/product-recommendations.mjs.map +1 -1
  445. package/dist/client/storefront/components/product-tabs.d.ts +18 -9
  446. package/dist/client/storefront/components/product-tabs.d.ts.map +1 -1
  447. package/dist/client/storefront/components/product-tabs.mjs +51 -59
  448. package/dist/client/storefront/components/product-tabs.mjs.map +1 -1
  449. package/dist/client/storefront/components/quick-view.d.ts +36 -22
  450. package/dist/client/storefront/components/quick-view.d.ts.map +1 -1
  451. package/dist/client/storefront/components/quick-view.mjs +148 -142
  452. package/dist/client/storefront/components/quick-view.mjs.map +1 -1
  453. package/dist/client/storefront/components/review-summary.d.ts +25 -14
  454. package/dist/client/storefront/components/review-summary.d.ts.map +1 -1
  455. package/dist/client/storefront/components/review-summary.mjs +75 -62
  456. package/dist/client/storefront/components/review-summary.mjs.map +1 -1
  457. package/dist/client/storefront/components/search-autocomplete.d.ts +38 -22
  458. package/dist/client/storefront/components/search-autocomplete.d.ts.map +1 -1
  459. package/dist/client/storefront/components/search-autocomplete.mjs +163 -179
  460. package/dist/client/storefront/components/search-autocomplete.mjs.map +1 -1
  461. package/dist/client/storefront/components/section-nav.d.ts +25 -15
  462. package/dist/client/storefront/components/section-nav.d.ts.map +1 -1
  463. package/dist/client/storefront/components/section-nav.mjs +124 -171
  464. package/dist/client/storefront/components/section-nav.mjs.map +1 -1
  465. package/dist/client/storefront/components/share-button.d.ts +32 -17
  466. package/dist/client/storefront/components/share-button.d.ts.map +1 -1
  467. package/dist/client/storefront/components/share-button.mjs +73 -91
  468. package/dist/client/storefront/components/share-button.mjs.map +1 -1
  469. package/dist/client/storefront/components/skeleton.d.ts +28 -10
  470. package/dist/client/storefront/components/skeleton.d.ts.map +1 -1
  471. package/dist/client/storefront/components/skeleton.mjs +74 -56
  472. package/dist/client/storefront/components/skeleton.mjs.map +1 -1
  473. package/dist/client/storefront/components/star-rating.d.ts +26 -11
  474. package/dist/client/storefront/components/star-rating.d.ts.map +1 -1
  475. package/dist/client/storefront/components/star-rating.mjs +154 -227
  476. package/dist/client/storefront/components/star-rating.mjs.map +1 -1
  477. package/dist/client/storefront/components/testimonial.d.ts +35 -17
  478. package/dist/client/storefront/components/testimonial.d.ts.map +1 -1
  479. package/dist/client/storefront/components/testimonial.mjs +57 -46
  480. package/dist/client/storefront/components/testimonial.mjs.map +1 -1
  481. package/dist/client/storefront/components/trust-badges.d.ts +20 -11
  482. package/dist/client/storefront/components/trust-badges.d.ts.map +1 -1
  483. package/dist/client/storefront/components/trust-badges.mjs +26 -21
  484. package/dist/client/storefront/components/trust-badges.mjs.map +1 -1
  485. package/dist/client/storefront/components/variant-selector.d.ts +28 -17
  486. package/dist/client/storefront/components/variant-selector.d.ts.map +1 -1
  487. package/dist/client/storefront/components/variant-selector.mjs +33 -31
  488. package/dist/client/storefront/components/variant-selector.mjs.map +1 -1
  489. package/dist/client/storefront/components/wishlist-toggle.d.ts +23 -10
  490. package/dist/client/storefront/components/wishlist-toggle.d.ts.map +1 -1
  491. package/dist/client/storefront/components/wishlist-toggle.mjs +28 -54
  492. package/dist/client/storefront/components/wishlist-toggle.mjs.map +1 -1
  493. package/dist/client/storefront/filters/filter-chip.d.ts +16 -6
  494. package/dist/client/storefront/filters/filter-chip.d.ts.map +1 -1
  495. package/dist/client/storefront/filters/filter-chip.mjs +17 -25
  496. package/dist/client/storefront/filters/filter-chip.mjs.map +1 -1
  497. package/dist/client/storefront/filters/filter-group.d.ts +29 -16
  498. package/dist/client/storefront/filters/filter-group.d.ts.map +1 -1
  499. package/dist/client/storefront/filters/filter-group.mjs +89 -98
  500. package/dist/client/storefront/filters/filter-group.mjs.map +1 -1
  501. package/dist/client/storefront/filters/filter-panel.d.ts +32 -19
  502. package/dist/client/storefront/filters/filter-panel.d.ts.map +1 -1
  503. package/dist/client/storefront/filters/filter-panel.mjs +104 -105
  504. package/dist/client/storefront/filters/filter-panel.mjs.map +1 -1
  505. package/dist/client/storefront/filters/index.d.ts +6 -6
  506. package/dist/client/storefront/filters/index.mjs +6 -13
  507. package/dist/client/storefront/filters/sort-select.d.ts +19 -8
  508. package/dist/client/storefront/filters/sort-select.d.ts.map +1 -1
  509. package/dist/client/storefront/filters/sort-select.mjs +35 -28
  510. package/dist/client/storefront/filters/sort-select.mjs.map +1 -1
  511. package/dist/client/storefront/filters/toggle-list-view.d.ts +12 -4
  512. package/dist/client/storefront/filters/toggle-list-view.d.ts.map +1 -1
  513. package/dist/client/storefront/filters/toggle-list-view.mjs +31 -25
  514. package/dist/client/storefront/filters/toggle-list-view.mjs.map +1 -1
  515. package/dist/client/storefront/hooks/use-section-observer.d.ts +3 -5
  516. package/dist/client/storefront/hooks/use-section-observer.d.ts.map +1 -1
  517. package/dist/client/storefront/hooks/use-section-observer.mjs +50 -41
  518. package/dist/client/storefront/hooks/use-section-observer.mjs.map +1 -1
  519. package/dist/client/storefront/index.d.ts +19 -24
  520. package/dist/client/storefront/index.mjs +18 -26
  521. package/dist/client/storefront/layout/footer.d.ts +14 -2
  522. package/dist/client/storefront/layout/footer.d.ts.map +1 -1
  523. package/dist/client/storefront/layout/footer.mjs +60 -52
  524. package/dist/client/storefront/layout/footer.mjs.map +1 -1
  525. package/dist/client/storefront/layout/header.d.ts +18 -2
  526. package/dist/client/storefront/layout/header.d.ts.map +1 -1
  527. package/dist/client/storefront/layout/header.mjs +300 -341
  528. package/dist/client/storefront/layout/header.mjs.map +1 -1
  529. package/dist/client/storefront/layout/index.d.ts +6 -5
  530. package/dist/client/storefront/layout/index.mjs +5 -11
  531. package/dist/client/storefront/layout/mobile-menu-drawer.d.ts +12 -2
  532. package/dist/client/storefront/layout/mobile-menu-drawer.d.ts.map +1 -1
  533. package/dist/client/storefront/layout/mobile-menu-drawer.mjs +78 -88
  534. package/dist/client/storefront/layout/mobile-menu-drawer.mjs.map +1 -1
  535. package/dist/client/storefront/layout/promotion-bar.d.ts +11 -2
  536. package/dist/client/storefront/layout/promotion-bar.d.ts.map +1 -1
  537. package/dist/client/storefront/layout/promotion-bar.mjs +59 -75
  538. package/dist/client/storefront/layout/promotion-bar.mjs.map +1 -1
  539. package/dist/client/storefront/primitives/breadcrumbs.d.ts +15 -7
  540. package/dist/client/storefront/primitives/breadcrumbs.d.ts.map +1 -1
  541. package/dist/client/storefront/primitives/breadcrumbs.mjs +30 -31
  542. package/dist/client/storefront/primitives/breadcrumbs.mjs.map +1 -1
  543. package/dist/client/storefront/primitives/button.d.ts +22 -9
  544. package/dist/client/storefront/primitives/button.d.ts.map +1 -1
  545. package/dist/client/storefront/primitives/button.mjs +36 -45
  546. package/dist/client/storefront/primitives/button.mjs.map +1 -1
  547. package/dist/client/storefront/primitives/checkbox.d.ts +21 -6
  548. package/dist/client/storefront/primitives/checkbox.d.ts.map +1 -1
  549. package/dist/client/storefront/primitives/checkbox.mjs +35 -19
  550. package/dist/client/storefront/primitives/checkbox.mjs.map +1 -1
  551. package/dist/client/storefront/primitives/country-select.d.ts +15 -0
  552. package/dist/client/storefront/primitives/country-select.d.ts.map +1 -0
  553. package/dist/client/storefront/primitives/country-select.mjs +33 -0
  554. package/dist/client/storefront/primitives/country-select.mjs.map +1 -0
  555. package/dist/client/storefront/primitives/download-item.d.ts +14 -5
  556. package/dist/client/storefront/primitives/download-item.d.ts.map +1 -1
  557. package/dist/client/storefront/primitives/download-item.mjs +23 -24
  558. package/dist/client/storefront/primitives/download-item.mjs.map +1 -1
  559. package/dist/client/storefront/primitives/index.d.ts +11 -10
  560. package/dist/client/storefront/primitives/index.mjs +11 -21
  561. package/dist/client/storefront/primitives/input.d.ts +36 -15
  562. package/dist/client/storefront/primitives/input.d.ts.map +1 -1
  563. package/dist/client/storefront/primitives/input.mjs +81 -112
  564. package/dist/client/storefront/primitives/input.mjs.map +1 -1
  565. package/dist/client/storefront/primitives/pagination.d.ts +14 -5
  566. package/dist/client/storefront/primitives/pagination.d.ts.map +1 -1
  567. package/dist/client/storefront/primitives/pagination.mjs +53 -80
  568. package/dist/client/storefront/primitives/pagination.mjs.map +1 -1
  569. package/dist/client/storefront/primitives/password-input.d.ts +16 -0
  570. package/dist/client/storefront/primitives/password-input.d.ts.map +1 -0
  571. package/dist/client/storefront/primitives/password-input.mjs +21 -0
  572. package/dist/client/storefront/primitives/password-input.mjs.map +1 -0
  573. package/dist/client/storefront/primitives/quick-links.d.ts +13 -6
  574. package/dist/client/storefront/primitives/quick-links.d.ts.map +1 -1
  575. package/dist/client/storefront/primitives/quick-links.mjs +18 -13
  576. package/dist/client/storefront/primitives/quick-links.mjs.map +1 -1
  577. package/dist/client/storefront/primitives/select.d.ts +27 -11
  578. package/dist/client/storefront/primitives/select.d.ts.map +1 -1
  579. package/dist/client/storefront/primitives/select.mjs +45 -31
  580. package/dist/client/storefront/primitives/select.mjs.map +1 -1
  581. package/dist/client/storefront/primitives/text-link.d.ts +13 -4
  582. package/dist/client/storefront/primitives/text-link.d.ts.map +1 -1
  583. package/dist/client/storefront/primitives/text-link.mjs +16 -6
  584. package/dist/client/storefront/primitives/text-link.mjs.map +1 -1
  585. package/dist/client/storefront/product/color-swatch.d.ts +16 -6
  586. package/dist/client/storefront/product/color-swatch.d.ts.map +1 -1
  587. package/dist/client/storefront/product/color-swatch.mjs +18 -27
  588. package/dist/client/storefront/product/color-swatch.mjs.map +1 -1
  589. package/dist/client/storefront/product/index.d.ts +5 -5
  590. package/dist/client/storefront/product/index.mjs +5 -11
  591. package/dist/client/storefront/product/material-selector.d.ts +19 -10
  592. package/dist/client/storefront/product/material-selector.d.ts.map +1 -1
  593. package/dist/client/storefront/product/material-selector.mjs +30 -30
  594. package/dist/client/storefront/product/material-selector.mjs.map +1 -1
  595. package/dist/client/storefront/product/product-usp.d.ts +10 -3
  596. package/dist/client/storefront/product/product-usp.d.ts.map +1 -1
  597. package/dist/client/storefront/product/product-usp.mjs +15 -10
  598. package/dist/client/storefront/product/product-usp.mjs.map +1 -1
  599. package/dist/client/storefront/product/quantity-picker.d.ts +18 -6
  600. package/dist/client/storefront/product/quantity-picker.d.ts.map +1 -1
  601. package/dist/client/storefront/product/quantity-picker.mjs +43 -52
  602. package/dist/client/storefront/product/quantity-picker.mjs.map +1 -1
  603. package/dist/client/storefront/types.d.ts +255 -252
  604. package/dist/client/storefront/types.d.ts.map +1 -1
  605. package/dist/client/storefront/types.mjs +13 -13
  606. package/dist/client/storefront/types.mjs.map +1 -1
  607. package/dist/client/theme/apply.d.ts +11 -7
  608. package/dist/client/theme/apply.d.ts.map +1 -1
  609. package/dist/client/theme/apply.mjs +148 -118
  610. package/dist/client/theme/apply.mjs.map +1 -1
  611. package/dist/client/theme/cli.mjs +422 -403
  612. package/dist/client/theme/cli.mjs.map +1 -1
  613. package/dist/client/theme/codec.d.ts +8 -5
  614. package/dist/client/theme/codec.d.ts.map +1 -1
  615. package/dist/client/theme/codec.mjs +80 -76
  616. package/dist/client/theme/codec.mjs.map +1 -1
  617. package/dist/client/theme/defaults.d.ts +41 -56
  618. package/dist/client/theme/defaults.d.ts.map +1 -1
  619. package/dist/client/theme/defaults.mjs +89 -153
  620. package/dist/client/theme/defaults.mjs.map +1 -1
  621. package/dist/client/theme/index.d.ts +5 -8
  622. package/dist/client/theme/index.mjs +5 -20
  623. package/dist/client/theme/scan.d.ts +11 -8
  624. package/dist/client/theme/scan.d.ts.map +1 -1
  625. package/dist/client/theme/scan.mjs +25 -22
  626. package/dist/client/theme/scan.mjs.map +1 -1
  627. package/dist/client/ui/accordion.d.ts +28 -7
  628. package/dist/client/ui/accordion.d.ts.map +1 -1
  629. package/dist/client/ui/accordion.mjs +47 -60
  630. package/dist/client/ui/accordion.mjs.map +1 -1
  631. package/dist/client/ui/alert.d.ts +25 -0
  632. package/dist/client/ui/alert.d.ts.map +1 -0
  633. package/dist/client/ui/alert.mjs +39 -0
  634. package/dist/client/ui/alert.mjs.map +1 -0
  635. package/dist/client/ui/avatar.d.ts +20 -0
  636. package/dist/client/ui/avatar.d.ts.map +1 -0
  637. package/dist/client/ui/avatar.mjs +31 -0
  638. package/dist/client/ui/avatar.mjs.map +1 -0
  639. package/dist/client/ui/breadcrumb.d.ts +37 -11
  640. package/dist/client/ui/breadcrumb.d.ts.map +1 -1
  641. package/dist/client/ui/breadcrumb.mjs +56 -90
  642. package/dist/client/ui/breadcrumb.mjs.map +1 -1
  643. package/dist/client/ui/button.d.ts +19 -8
  644. package/dist/client/ui/button.d.ts.map +1 -1
  645. package/dist/client/ui/button.mjs +46 -52
  646. package/dist/client/ui/button.mjs.map +1 -1
  647. package/dist/client/ui/card.d.ts +34 -9
  648. package/dist/client/ui/card.d.ts.map +1 -1
  649. package/dist/client/ui/card.mjs +41 -75
  650. package/dist/client/ui/card.mjs.map +1 -1
  651. package/dist/client/ui/carousel.d.ts +41 -13
  652. package/dist/client/ui/carousel.d.ts.map +1 -1
  653. package/dist/client/ui/carousel.mjs +123 -189
  654. package/dist/client/ui/carousel.mjs.map +1 -1
  655. package/dist/client/ui/checkbox.d.ts +10 -3
  656. package/dist/client/ui/checkbox.d.ts.map +1 -1
  657. package/dist/client/ui/checkbox.mjs +20 -30
  658. package/dist/client/ui/checkbox.mjs.map +1 -1
  659. package/dist/client/ui/collapsible.d.ts +15 -5
  660. package/dist/client/ui/collapsible.d.ts.map +1 -1
  661. package/dist/client/ui/collapsible.mjs +20 -30
  662. package/dist/client/ui/collapsible.mjs.map +1 -1
  663. package/dist/client/ui/dialog.d.ts +45 -0
  664. package/dist/client/ui/dialog.d.ts.map +1 -0
  665. package/dist/client/ui/dialog.mjs +77 -0
  666. package/dist/client/ui/dialog.mjs.map +1 -0
  667. package/dist/client/ui/hover-card.d.ts +20 -0
  668. package/dist/client/ui/hover-card.d.ts.map +1 -0
  669. package/dist/client/ui/hover-card.mjs +31 -0
  670. package/dist/client/ui/hover-card.mjs.map +1 -0
  671. package/dist/client/ui/input.d.ts +17 -3
  672. package/dist/client/ui/input.d.ts.map +1 -1
  673. package/dist/client/ui/input.mjs +25 -19
  674. package/dist/client/ui/input.mjs.map +1 -1
  675. package/dist/client/ui/label.d.ts +10 -3
  676. package/dist/client/ui/label.d.ts.map +1 -1
  677. package/dist/client/ui/label.mjs +13 -20
  678. package/dist/client/ui/label.mjs.map +1 -1
  679. package/dist/client/ui/mid-truncate.d.ts +21 -10
  680. package/dist/client/ui/mid-truncate.d.ts.map +1 -1
  681. package/dist/client/ui/mid-truncate.mjs +49 -22
  682. package/dist/client/ui/mid-truncate.mjs.map +1 -1
  683. package/dist/client/ui/navigation-menu.d.ts +46 -14
  684. package/dist/client/ui/navigation-menu.d.ts.map +1 -1
  685. package/dist/client/ui/navigation-menu.mjs +72 -161
  686. package/dist/client/ui/navigation-menu.mjs.map +1 -1
  687. package/dist/client/ui/pagination.d.ts +39 -12
  688. package/dist/client/ui/pagination.d.ts.map +1 -1
  689. package/dist/client/ui/pagination.mjs +72 -113
  690. package/dist/client/ui/pagination.mjs.map +1 -1
  691. package/dist/client/ui/popover.d.ts +34 -10
  692. package/dist/client/ui/popover.d.ts.map +1 -1
  693. package/dist/client/ui/popover.mjs +46 -70
  694. package/dist/client/ui/popover.mjs.map +1 -1
  695. package/dist/client/ui/progress.d.ts +13 -0
  696. package/dist/client/ui/progress.d.ts.map +1 -0
  697. package/dist/client/ui/progress.mjs +23 -0
  698. package/dist/client/ui/progress.mjs.map +1 -0
  699. package/dist/client/ui/select.d.ts +52 -15
  700. package/dist/client/ui/select.d.ts.map +1 -1
  701. package/dist/client/ui/select.mjs +91 -171
  702. package/dist/client/ui/select.mjs.map +1 -1
  703. package/dist/client/ui/separator.d.ts +12 -3
  704. package/dist/client/ui/separator.d.ts.map +1 -1
  705. package/dist/client/ui/separator.mjs +15 -24
  706. package/dist/client/ui/separator.mjs.map +1 -1
  707. package/dist/client/ui/sheet.d.ts +44 -14
  708. package/dist/client/ui/sheet.d.ts.map +1 -1
  709. package/dist/client/ui/sheet.mjs +70 -114
  710. package/dist/client/ui/sheet.mjs.map +1 -1
  711. package/dist/client/ui/simple-select.d.ts +32 -0
  712. package/dist/client/ui/simple-select.d.ts.map +1 -0
  713. package/dist/client/ui/simple-select.mjs +128 -0
  714. package/dist/client/ui/simple-select.mjs.map +1 -0
  715. package/dist/client/ui/stepper.d.ts +38 -0
  716. package/dist/client/ui/stepper.d.ts.map +1 -0
  717. package/dist/client/ui/stepper.mjs +90 -0
  718. package/dist/client/ui/stepper.mjs.map +1 -0
  719. package/dist/client/ui/tabs.d.ts +24 -0
  720. package/dist/client/ui/tabs.d.ts.map +1 -0
  721. package/dist/client/ui/tabs.mjs +38 -0
  722. package/dist/client/ui/tabs.mjs.map +1 -0
  723. package/dist/client/ui/toggle-group.d.ts +25 -8
  724. package/dist/client/ui/toggle-group.d.ts.map +1 -1
  725. package/dist/client/ui/toggle-group.mjs +44 -64
  726. package/dist/client/ui/toggle-group.mjs.map +1 -1
  727. package/dist/client/ui/toggle.d.ts +17 -7
  728. package/dist/client/ui/toggle.d.ts.map +1 -1
  729. package/dist/client/ui/toggle.mjs +34 -40
  730. package/dist/client/ui/toggle.mjs.map +1 -1
  731. package/dist/client/ui/tooltip.d.ts +24 -0
  732. package/dist/client/ui/tooltip.d.ts.map +1 -0
  733. package/dist/client/ui/tooltip.mjs +38 -0
  734. package/dist/client/ui/tooltip.mjs.map +1 -0
  735. package/dist/client/ui/utils.d.ts +6 -2
  736. package/dist/client/ui/utils.d.ts.map +1 -1
  737. package/dist/client/ui/utils.mjs +5 -4
  738. package/dist/client/ui/utils.mjs.map +1 -1
  739. package/dist/client/ui-resolver/accordion.d.ts +14 -10
  740. package/dist/client/ui-resolver/accordion.d.ts.map +1 -1
  741. package/dist/client/ui-resolver/accordion.mjs +15 -31
  742. package/dist/client/ui-resolver/accordion.mjs.map +1 -1
  743. package/dist/client/ui-resolver/alert.d.ts +13 -0
  744. package/dist/client/ui-resolver/alert.d.ts.map +1 -0
  745. package/dist/client/ui-resolver/alert.mjs +17 -0
  746. package/dist/client/ui-resolver/alert.mjs.map +1 -0
  747. package/dist/client/ui-resolver/avatar.d.ts +13 -0
  748. package/dist/client/ui-resolver/avatar.d.ts.map +1 -0
  749. package/dist/client/ui-resolver/avatar.mjs +17 -0
  750. package/dist/client/ui-resolver/avatar.mjs.map +1 -0
  751. package/dist/client/ui-resolver/breadcrumb.d.ts +16 -13
  752. package/dist/client/ui-resolver/breadcrumb.d.ts.map +1 -1
  753. package/dist/client/ui-resolver/breadcrumb.mjs +17 -49
  754. package/dist/client/ui-resolver/breadcrumb.mjs.map +1 -1
  755. package/dist/client/ui-resolver/button.d.ts +10 -11
  756. package/dist/client/ui-resolver/button.d.ts.map +1 -1
  757. package/dist/client/ui-resolver/button.mjs +11 -21
  758. package/dist/client/ui-resolver/button.mjs.map +1 -1
  759. package/dist/client/ui-resolver/card.d.ts +16 -13
  760. package/dist/client/ui-resolver/card.d.ts.map +1 -1
  761. package/dist/client/ui-resolver/card.mjs +17 -49
  762. package/dist/client/ui-resolver/card.mjs.map +1 -1
  763. package/dist/client/ui-resolver/carousel.d.ts +15 -12
  764. package/dist/client/ui-resolver/carousel.d.ts.map +1 -1
  765. package/dist/client/ui-resolver/carousel.mjs +15 -37
  766. package/dist/client/ui-resolver/carousel.mjs.map +1 -1
  767. package/dist/client/ui-resolver/checkbox.d.ts +9 -6
  768. package/dist/client/ui-resolver/checkbox.d.ts.map +1 -1
  769. package/dist/client/ui-resolver/checkbox.mjs +11 -13
  770. package/dist/client/ui-resolver/checkbox.mjs.map +1 -1
  771. package/dist/client/ui-resolver/collapsible.d.ts +12 -9
  772. package/dist/client/ui-resolver/collapsible.d.ts.map +1 -1
  773. package/dist/client/ui-resolver/collapsible.mjs +13 -25
  774. package/dist/client/ui-resolver/collapsible.mjs.map +1 -1
  775. package/dist/client/ui-resolver/context.d.ts +37 -9
  776. package/dist/client/ui-resolver/context.d.ts.map +1 -1
  777. package/dist/client/ui-resolver/context.mjs +54 -20
  778. package/dist/client/ui-resolver/context.mjs.map +1 -1
  779. package/dist/client/ui-resolver/dialog.d.ts +20 -0
  780. package/dist/client/ui-resolver/dialog.d.ts.map +1 -0
  781. package/dist/client/ui-resolver/dialog.mjs +24 -0
  782. package/dist/client/ui-resolver/dialog.mjs.map +1 -0
  783. package/dist/client/ui-resolver/hover-card.d.ts +13 -0
  784. package/dist/client/ui-resolver/hover-card.d.ts.map +1 -0
  785. package/dist/client/ui-resolver/hover-card.mjs +17 -0
  786. package/dist/client/ui-resolver/hover-card.mjs.map +1 -0
  787. package/dist/client/ui-resolver/index.d.ts +29 -19
  788. package/dist/client/ui-resolver/index.mjs +29 -156
  789. package/dist/client/ui-resolver/input.d.ts +9 -6
  790. package/dist/client/ui-resolver/input.d.ts.map +1 -1
  791. package/dist/client/ui-resolver/input.mjs +11 -13
  792. package/dist/client/ui-resolver/input.mjs.map +1 -1
  793. package/dist/client/ui-resolver/label.d.ts +9 -6
  794. package/dist/client/ui-resolver/label.d.ts.map +1 -1
  795. package/dist/client/ui-resolver/label.mjs +11 -13
  796. package/dist/client/ui-resolver/label.mjs.map +1 -1
  797. package/dist/client/ui-resolver/navigation-menu.d.ts +19 -15
  798. package/dist/client/ui-resolver/navigation-menu.d.ts.map +1 -1
  799. package/dist/client/ui-resolver/navigation-menu.mjs +20 -61
  800. package/dist/client/ui-resolver/navigation-menu.mjs.map +1 -1
  801. package/dist/client/ui-resolver/pagination.d.ts +16 -13
  802. package/dist/client/ui-resolver/pagination.d.ts.map +1 -1
  803. package/dist/client/ui-resolver/pagination.mjs +17 -49
  804. package/dist/client/ui-resolver/pagination.mjs.map +1 -1
  805. package/dist/client/ui-resolver/popover.d.ts +13 -10
  806. package/dist/client/ui-resolver/popover.d.ts.map +1 -1
  807. package/dist/client/ui-resolver/popover.mjs +14 -31
  808. package/dist/client/ui-resolver/popover.mjs.map +1 -1
  809. package/dist/client/ui-resolver/progress.d.ts +11 -0
  810. package/dist/client/ui-resolver/progress.d.ts.map +1 -0
  811. package/dist/client/ui-resolver/progress.mjs +15 -0
  812. package/dist/client/ui-resolver/progress.mjs.map +1 -0
  813. package/dist/client/ui-resolver/select.d.ts +17 -14
  814. package/dist/client/ui-resolver/select.d.ts.map +1 -1
  815. package/dist/client/ui-resolver/select.mjs +19 -56
  816. package/dist/client/ui-resolver/select.mjs.map +1 -1
  817. package/dist/client/ui-resolver/separator.d.ts +9 -6
  818. package/dist/client/ui-resolver/separator.d.ts.map +1 -1
  819. package/dist/client/ui-resolver/separator.mjs +11 -13
  820. package/dist/client/ui-resolver/separator.mjs.map +1 -1
  821. package/dist/client/ui-resolver/sheet.d.ts +17 -14
  822. package/dist/client/ui-resolver/sheet.d.ts.map +1 -1
  823. package/dist/client/ui-resolver/sheet.mjs +19 -56
  824. package/dist/client/ui-resolver/sheet.mjs.map +1 -1
  825. package/dist/client/ui-resolver/stepper.d.ts +15 -0
  826. package/dist/client/ui-resolver/stepper.d.ts.map +1 -0
  827. package/dist/client/ui-resolver/stepper.mjs +19 -0
  828. package/dist/client/ui-resolver/stepper.mjs.map +1 -0
  829. package/dist/client/ui-resolver/tabs.d.ts +14 -0
  830. package/dist/client/ui-resolver/tabs.d.ts.map +1 -0
  831. package/dist/client/ui-resolver/tabs.mjs +18 -0
  832. package/dist/client/ui-resolver/tabs.mjs.map +1 -0
  833. package/dist/client/ui-resolver/toggle-group.d.ts +10 -7
  834. package/dist/client/ui-resolver/toggle-group.d.ts.map +1 -1
  835. package/dist/client/ui-resolver/toggle-group.mjs +12 -19
  836. package/dist/client/ui-resolver/toggle-group.mjs.map +1 -1
  837. package/dist/client/ui-resolver/toggle.d.ts +10 -11
  838. package/dist/client/ui-resolver/toggle.d.ts.map +1 -1
  839. package/dist/client/ui-resolver/toggle.mjs +11 -21
  840. package/dist/client/ui-resolver/toggle.mjs.map +1 -1
  841. package/dist/client/ui-resolver/tooltip.d.ts +14 -0
  842. package/dist/client/ui-resolver/tooltip.d.ts.map +1 -0
  843. package/dist/client/ui-resolver/tooltip.mjs +18 -0
  844. package/dist/client/ui-resolver/tooltip.mjs.map +1 -0
  845. package/dist/client/user/actions/createResetPasswordLinkAction.d.ts +12 -10
  846. package/dist/client/user/actions/createResetPasswordLinkAction.d.ts.map +1 -1
  847. package/dist/client/user/actions/createResetPasswordLinkAction.mjs +19 -26
  848. package/dist/client/user/actions/createResetPasswordLinkAction.mjs.map +1 -1
  849. package/dist/client/user/actions/getUserAction.d.ts +6 -2
  850. package/dist/client/user/actions/getUserAction.d.ts.map +1 -1
  851. package/dist/client/user/actions/getUserAction.mjs +17 -15
  852. package/dist/client/user/actions/getUserAction.mjs.map +1 -1
  853. package/dist/client/user/actions/logInUserAction.d.ts +13 -11
  854. package/dist/client/user/actions/logInUserAction.d.ts.map +1 -1
  855. package/dist/client/user/actions/logInUserAction.mjs +26 -28
  856. package/dist/client/user/actions/logInUserAction.mjs.map +1 -1
  857. package/dist/client/user/actions/logoutUserAction.d.ts +4 -1
  858. package/dist/client/user/actions/logoutUserAction.d.ts.map +1 -1
  859. package/dist/client/user/actions/logoutUserAction.mjs +7 -7
  860. package/dist/client/user/actions/logoutUserAction.mjs.map +1 -1
  861. package/dist/client/user/actions/registerOrganisationAction.d.ts +11 -6
  862. package/dist/client/user/actions/registerOrganisationAction.d.ts.map +1 -1
  863. package/dist/client/user/actions/registerOrganisationAction.mjs +11 -15
  864. package/dist/client/user/actions/registerOrganisationAction.mjs.map +1 -1
  865. package/dist/client/user/actions/registerUserAction.d.ts +16 -14
  866. package/dist/client/user/actions/registerUserAction.d.ts.map +1 -1
  867. package/dist/client/user/actions/registerUserAction.mjs +38 -36
  868. package/dist/client/user/actions/registerUserAction.mjs.map +1 -1
  869. package/dist/client/user/actions/registerUserWithoutRedirectAction.d.ts +41 -36
  870. package/dist/client/user/actions/registerUserWithoutRedirectAction.d.ts.map +1 -1
  871. package/dist/client/user/actions/registerUserWithoutRedirectAction.mjs +56 -52
  872. package/dist/client/user/actions/registerUserWithoutRedirectAction.mjs.map +1 -1
  873. package/dist/client/user/actions/updatePasswordAction.d.ts +18 -16
  874. package/dist/client/user/actions/updatePasswordAction.d.ts.map +1 -1
  875. package/dist/client/user/actions/updatePasswordAction.mjs +27 -31
  876. package/dist/client/user/actions/updatePasswordAction.mjs.map +1 -1
  877. package/dist/client/user/api/userRoute.d.ts +4 -6
  878. package/dist/client/user/api/userRoute.d.ts.map +1 -1
  879. package/dist/client/user/api/userRoute.mjs +57 -57
  880. package/dist/client/user/api/userRoute.mjs.map +1 -1
  881. package/dist/client/user/clients/enad.d.ts +6 -2
  882. package/dist/client/user/clients/enad.d.ts.map +1 -1
  883. package/dist/client/user/clients/enad.mjs +13 -13
  884. package/dist/client/user/clients/enad.mjs.map +1 -1
  885. package/dist/client/user/components/login-form.d.ts +22 -19
  886. package/dist/client/user/components/login-form.d.ts.map +1 -1
  887. package/dist/client/user/components/login-form.mjs +117 -110
  888. package/dist/client/user/components/login-form.mjs.map +1 -1
  889. package/dist/client/user/components/reset-password-form.d.ts +19 -16
  890. package/dist/client/user/components/reset-password-form.d.ts.map +1 -1
  891. package/dist/client/user/components/reset-password-form.mjs +91 -88
  892. package/dist/client/user/components/reset-password-form.mjs.map +1 -1
  893. package/dist/client/user/components/sign-out.d.ts +11 -5
  894. package/dist/client/user/components/sign-out.d.ts.map +1 -1
  895. package/dist/client/user/components/sign-out.mjs +15 -20
  896. package/dist/client/user/components/sign-out.mjs.map +1 -1
  897. package/dist/client/user/components/signup-form.d.ts +26 -23
  898. package/dist/client/user/components/signup-form.d.ts.map +1 -1
  899. package/dist/client/user/components/signup-form.mjs +165 -180
  900. package/dist/client/user/components/signup-form.mjs.map +1 -1
  901. package/dist/client/user/components/signup-organisation-form.d.ts +55 -51
  902. package/dist/client/user/components/signup-organisation-form.d.ts.map +1 -1
  903. package/dist/client/user/components/signup-organisation-form.mjs +625 -830
  904. package/dist/client/user/components/signup-organisation-form.mjs.map +1 -1
  905. package/dist/client/user/components/update-password-form.d.ts +16 -13
  906. package/dist/client/user/components/update-password-form.d.ts.map +1 -1
  907. package/dist/client/user/components/update-password-form.mjs +69 -56
  908. package/dist/client/user/components/update-password-form.mjs.map +1 -1
  909. package/dist/client/user/hooks/index.d.ts +2 -2
  910. package/dist/client/user/hooks/index.mjs +2 -2
  911. package/dist/client/user/hooks/useUser.d.ts +12 -6
  912. package/dist/client/user/hooks/useUser.d.ts.map +1 -1
  913. package/dist/client/user/hooks/useUser.mjs +30 -27
  914. package/dist/client/user/hooks/useUser.mjs.map +1 -1
  915. package/dist/client/user/index.d.ts +9 -9
  916. package/dist/client/user/index.mjs +8 -17
  917. package/dist/client/user/types/user.d.ts +193 -190
  918. package/dist/client/user/types/user.d.ts.map +1 -1
  919. package/dist/client/user/types/user.mjs +1 -1
  920. package/dist/client/user/utils/userCookieService.d.ts +14 -17
  921. package/dist/client/user/utils/userCookieService.d.ts.map +1 -1
  922. package/dist/client/user/utils/userCookieService.mjs +37 -46
  923. package/dist/client/user/utils/userCookieService.mjs.map +1 -1
  924. package/dist/client/wishlist/actions/addItemsToWishlistAction.d.ts +7 -3
  925. package/dist/client/wishlist/actions/addItemsToWishlistAction.d.ts.map +1 -1
  926. package/dist/client/wishlist/actions/addItemsToWishlistAction.mjs +11 -16
  927. package/dist/client/wishlist/actions/addItemsToWishlistAction.mjs.map +1 -1
  928. package/dist/client/wishlist/actions/createOrGetShareTokenAction.d.ts +7 -2
  929. package/dist/client/wishlist/actions/createOrGetShareTokenAction.d.ts.map +1 -1
  930. package/dist/client/wishlist/actions/createOrGetShareTokenAction.mjs +11 -16
  931. package/dist/client/wishlist/actions/createOrGetShareTokenAction.mjs.map +1 -1
  932. package/dist/client/wishlist/actions/createWishlistAction.d.ts +7 -2
  933. package/dist/client/wishlist/actions/createWishlistAction.d.ts.map +1 -1
  934. package/dist/client/wishlist/actions/createWishlistAction.mjs +11 -12
  935. package/dist/client/wishlist/actions/createWishlistAction.mjs.map +1 -1
  936. package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.d.ts +7 -3
  937. package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.d.ts.map +1 -1
  938. package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.mjs +11 -16
  939. package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.mjs.map +1 -1
  940. package/dist/client/wishlist/actions/deleteWishlistAction.d.ts +5 -2
  941. package/dist/client/wishlist/actions/deleteWishlistAction.d.ts.map +1 -1
  942. package/dist/client/wishlist/actions/deleteWishlistAction.mjs +11 -12
  943. package/dist/client/wishlist/actions/deleteWishlistAction.mjs.map +1 -1
  944. package/dist/client/wishlist/actions/getSharedWishlistAction.d.ts +7 -2
  945. package/dist/client/wishlist/actions/getSharedWishlistAction.d.ts.map +1 -1
  946. package/dist/client/wishlist/actions/getSharedWishlistAction.mjs +11 -16
  947. package/dist/client/wishlist/actions/getSharedWishlistAction.mjs.map +1 -1
  948. package/dist/client/wishlist/actions/getSpecificWishlistAction.d.ts +7 -2
  949. package/dist/client/wishlist/actions/getSpecificWishlistAction.d.ts.map +1 -1
  950. package/dist/client/wishlist/actions/getSpecificWishlistAction.mjs +11 -16
  951. package/dist/client/wishlist/actions/getSpecificWishlistAction.mjs.map +1 -1
  952. package/dist/client/wishlist/actions/getUserWishlists.d.ts +8 -3
  953. package/dist/client/wishlist/actions/getUserWishlists.d.ts.map +1 -1
  954. package/dist/client/wishlist/actions/getUserWishlists.mjs +19 -21
  955. package/dist/client/wishlist/actions/getUserWishlists.mjs.map +1 -1
  956. package/dist/client/wishlist/actions/revokeShareTokenAction.d.ts +5 -2
  957. package/dist/client/wishlist/actions/revokeShareTokenAction.d.ts.map +1 -1
  958. package/dist/client/wishlist/actions/revokeShareTokenAction.mjs +11 -16
  959. package/dist/client/wishlist/actions/revokeShareTokenAction.mjs.map +1 -1
  960. package/dist/client/wishlist/actions/updateWishlistAction.d.ts +7 -2
  961. package/dist/client/wishlist/actions/updateWishlistAction.d.ts.map +1 -1
  962. package/dist/client/wishlist/actions/updateWishlistAction.mjs +11 -16
  963. package/dist/client/wishlist/actions/updateWishlistAction.mjs.map +1 -1
  964. package/dist/client/wishlist/hooks/index.d.ts +2 -2
  965. package/dist/client/wishlist/hooks/index.mjs +2 -2
  966. package/dist/client/wishlist/hooks/useWishlist.d.ts +78 -73
  967. package/dist/client/wishlist/hooks/useWishlist.d.ts.map +1 -1
  968. package/dist/client/wishlist/hooks/useWishlist.mjs +95 -71
  969. package/dist/client/wishlist/hooks/useWishlist.mjs.map +1 -1
  970. package/dist/client/wishlist/hooks/useWishlistActions.d.ts +45 -39
  971. package/dist/client/wishlist/hooks/useWishlistActions.d.ts.map +1 -1
  972. package/dist/client/wishlist/hooks/useWishlistActions.mjs +88 -96
  973. package/dist/client/wishlist/hooks/useWishlistActions.mjs.map +1 -1
  974. package/dist/client/wishlist/index.d.ts +4 -5
  975. package/dist/client/wishlist/index.mjs +4 -9
  976. package/dist/client/wishlist/wishlist-drawer.d.ts +27 -15
  977. package/dist/client/wishlist/wishlist-drawer.d.ts.map +1 -1
  978. package/dist/client/wishlist/wishlist-drawer.mjs +175 -187
  979. package/dist/client/wishlist/wishlist-drawer.mjs.map +1 -1
  980. package/dist/styles.css +1 -1
  981. package/package.json +20 -11
  982. package/dist/client/cart/adapters/index.d.ts.map +0 -1
  983. package/dist/client/cart/adapters/index.mjs.map +0 -1
  984. package/dist/client/cart/index.d.ts.map +0 -1
  985. package/dist/client/cart/index.mjs.map +0 -1
  986. package/dist/client/cart/types/cart.mjs.map +0 -1
  987. package/dist/client/global/index.d.ts.map +0 -1
  988. package/dist/client/global/index.mjs.map +0 -1
  989. package/dist/client/icons/index.d.ts.map +0 -1
  990. package/dist/client/icons/index.mjs.map +0 -1
  991. package/dist/client/icons/types.mjs.map +0 -1
  992. package/dist/client/motion/index.d.ts.map +0 -1
  993. package/dist/client/motion/index.mjs.map +0 -1
  994. package/dist/client/search/index.d.ts.map +0 -1
  995. package/dist/client/search/index.mjs.map +0 -1
  996. package/dist/client/storefront/blocks/index.d.ts.map +0 -1
  997. package/dist/client/storefront/blocks/index.mjs.map +0 -1
  998. package/dist/client/storefront/carousel/index.d.ts.map +0 -1
  999. package/dist/client/storefront/carousel/index.mjs.map +0 -1
  1000. package/dist/client/storefront/checkout/index.d.ts.map +0 -1
  1001. package/dist/client/storefront/checkout/index.mjs.map +0 -1
  1002. package/dist/client/storefront/filters/index.d.ts.map +0 -1
  1003. package/dist/client/storefront/filters/index.mjs.map +0 -1
  1004. package/dist/client/storefront/index.d.ts.map +0 -1
  1005. package/dist/client/storefront/index.mjs.map +0 -1
  1006. package/dist/client/storefront/layout/index.d.ts.map +0 -1
  1007. package/dist/client/storefront/layout/index.mjs.map +0 -1
  1008. package/dist/client/storefront/primitives/index.d.ts.map +0 -1
  1009. package/dist/client/storefront/primitives/index.mjs.map +0 -1
  1010. package/dist/client/storefront/product/index.d.ts.map +0 -1
  1011. package/dist/client/storefront/product/index.mjs.map +0 -1
  1012. package/dist/client/theme/cli.d.ts +0 -2
  1013. package/dist/client/theme/cli.d.ts.map +0 -1
  1014. package/dist/client/theme/index.d.ts.map +0 -1
  1015. package/dist/client/theme/index.mjs.map +0 -1
  1016. package/dist/client/ui-interfaces/accordion.d.ts +0 -8
  1017. package/dist/client/ui-interfaces/accordion.d.ts.map +0 -1
  1018. package/dist/client/ui-interfaces/accordion.mjs +0 -72
  1019. package/dist/client/ui-interfaces/accordion.mjs.map +0 -1
  1020. package/dist/client/ui-interfaces/breadcrumb.d.ts +0 -12
  1021. package/dist/client/ui-interfaces/breadcrumb.d.ts.map +0 -1
  1022. package/dist/client/ui-interfaces/breadcrumb.mjs +0 -97
  1023. package/dist/client/ui-interfaces/breadcrumb.mjs.map +0 -1
  1024. package/dist/client/ui-interfaces/button.d.ts +0 -11
  1025. package/dist/client/ui-interfaces/button.d.ts.map +0 -1
  1026. package/dist/client/ui-interfaces/button.mjs +0 -57
  1027. package/dist/client/ui-interfaces/button.mjs.map +0 -1
  1028. package/dist/client/ui-interfaces/card.d.ts +0 -10
  1029. package/dist/client/ui-interfaces/card.d.ts.map +0 -1
  1030. package/dist/client/ui-interfaces/card.mjs +0 -78
  1031. package/dist/client/ui-interfaces/card.mjs.map +0 -1
  1032. package/dist/client/ui-interfaces/carousel.d.ts +0 -20
  1033. package/dist/client/ui-interfaces/carousel.d.ts.map +0 -1
  1034. package/dist/client/ui-interfaces/carousel.mjs +0 -188
  1035. package/dist/client/ui-interfaces/carousel.mjs.map +0 -1
  1036. package/dist/client/ui-interfaces/checkbox.d.ts +0 -5
  1037. package/dist/client/ui-interfaces/checkbox.d.ts.map +0 -1
  1038. package/dist/client/ui-interfaces/checkbox.mjs +0 -30
  1039. package/dist/client/ui-interfaces/checkbox.mjs.map +0 -1
  1040. package/dist/client/ui-interfaces/collapsible.d.ts +0 -7
  1041. package/dist/client/ui-interfaces/collapsible.d.ts.map +0 -1
  1042. package/dist/client/ui-interfaces/collapsible.mjs +0 -42
  1043. package/dist/client/ui-interfaces/collapsible.mjs.map +0 -1
  1044. package/dist/client/ui-interfaces/index.d.ts +0 -18
  1045. package/dist/client/ui-interfaces/index.d.ts.map +0 -1
  1046. package/dist/client/ui-interfaces/index.mjs +0 -18
  1047. package/dist/client/ui-interfaces/index.mjs.map +0 -1
  1048. package/dist/client/ui-interfaces/input.d.ts +0 -7
  1049. package/dist/client/ui-interfaces/input.d.ts.map +0 -1
  1050. package/dist/client/ui-interfaces/input.mjs +0 -39
  1051. package/dist/client/ui-interfaces/input.mjs.map +0 -1
  1052. package/dist/client/ui-interfaces/label.d.ts +0 -5
  1053. package/dist/client/ui-interfaces/label.d.ts.map +0 -1
  1054. package/dist/client/ui-interfaces/label.mjs +0 -23
  1055. package/dist/client/ui-interfaces/label.mjs.map +0 -1
  1056. package/dist/client/ui-interfaces/navigation-menu.d.ts +0 -15
  1057. package/dist/client/ui-interfaces/navigation-menu.d.ts.map +0 -1
  1058. package/dist/client/ui-interfaces/navigation-menu.mjs +0 -163
  1059. package/dist/client/ui-interfaces/navigation-menu.mjs.map +0 -1
  1060. package/dist/client/ui-interfaces/pagination.d.ts +0 -14
  1061. package/dist/client/ui-interfaces/pagination.d.ts.map +0 -1
  1062. package/dist/client/ui-interfaces/pagination.mjs +0 -103
  1063. package/dist/client/ui-interfaces/pagination.mjs.map +0 -1
  1064. package/dist/client/ui-interfaces/popover.d.ts +0 -8
  1065. package/dist/client/ui-interfaces/popover.d.ts.map +0 -1
  1066. package/dist/client/ui-interfaces/popover.mjs +0 -50
  1067. package/dist/client/ui-interfaces/popover.mjs.map +0 -1
  1068. package/dist/client/ui-interfaces/select.d.ts +0 -16
  1069. package/dist/client/ui-interfaces/select.d.ts.map +0 -1
  1070. package/dist/client/ui-interfaces/select.mjs +0 -159
  1071. package/dist/client/ui-interfaces/select.mjs.map +0 -1
  1072. package/dist/client/ui-interfaces/separator.d.ts +0 -5
  1073. package/dist/client/ui-interfaces/separator.d.ts.map +0 -1
  1074. package/dist/client/ui-interfaces/separator.mjs +0 -28
  1075. package/dist/client/ui-interfaces/separator.mjs.map +0 -1
  1076. package/dist/client/ui-interfaces/sheet.d.ts +0 -14
  1077. package/dist/client/ui-interfaces/sheet.d.ts.map +0 -1
  1078. package/dist/client/ui-interfaces/sheet.mjs +0 -140
  1079. package/dist/client/ui-interfaces/sheet.mjs.map +0 -1
  1080. package/dist/client/ui-interfaces/toggle-group.d.ts +0 -10
  1081. package/dist/client/ui-interfaces/toggle-group.d.ts.map +0 -1
  1082. package/dist/client/ui-interfaces/toggle-group.mjs +0 -67
  1083. package/dist/client/ui-interfaces/toggle-group.mjs.map +0 -1
  1084. package/dist/client/ui-interfaces/toggle.d.ts +0 -10
  1085. package/dist/client/ui-interfaces/toggle.d.ts.map +0 -1
  1086. package/dist/client/ui-interfaces/toggle.mjs +0 -45
  1087. package/dist/client/ui-interfaces/toggle.mjs.map +0 -1
  1088. package/dist/client/ui-resolver/index.d.ts.map +0 -1
  1089. package/dist/client/ui-resolver/index.mjs.map +0 -1
  1090. package/dist/client/user/hooks/index.d.ts.map +0 -1
  1091. package/dist/client/user/hooks/index.mjs.map +0 -1
  1092. package/dist/client/user/index.d.ts.map +0 -1
  1093. package/dist/client/user/index.mjs.map +0 -1
  1094. package/dist/client/user/types/user.mjs.map +0 -1
  1095. package/dist/client/wishlist/hooks/index.d.ts.map +0 -1
  1096. package/dist/client/wishlist/hooks/index.mjs.map +0 -1
  1097. package/dist/client/wishlist/index.d.ts.map +0 -1
  1098. package/dist/client/wishlist/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/client/theme/cli.ts","../../../src/client/theme/codec.ts","../../../src/client/theme/defaults.ts","../../../src/client/theme/apply.ts","../../../src/client/theme/scan.ts"],"sourcesContent":["import { readFileSync, writeFileSync, readdirSync, statSync } from 'node:fs';\nimport { resolve, join } from 'node:path';\nimport { argv, exit, stderr, stdout } from 'node:process';\n\nimport { decodeThemeHash } from './codec';\nimport { applyThemeBlock, generateThemeCSS, MARKER_START } from './apply';\nimport { scanConflicts } from './scan';\n\ninterface ParsedArgs {\n command: string;\n hash: string;\n target: string;\n colorSpace: 'hsl' | 'oklch';\n scanDir: string;\n dryRun: boolean;\n}\n\nfunction printUsage() {\n stderr.write(`\nUsage: enad-theme apply <hash> [options]\n\nOptions:\n --target <file> Target CSS file (default: src/globals.css)\n --color-space <cs> Color space: hsl | oklch (default: hsl)\n --scan <dir> Directory to scan for conflicts (default: src)\n --dry-run Print CSS to stdout without writing\n --help Show this help message\n\nExamples:\n enad-theme apply 1k5YWJj...\n enad-theme apply 1k5YWJj... --target app/globals.css --color-space oklch\n enad-theme apply 1k5YWJj... --dry-run\n`);\n}\n\nfunction parseArgs(args: string[]): ParsedArgs | null {\n if (args.length === 0 || args.includes('--help')) {\n printUsage();\n exit(0);\n }\n\n const command = args[0]!;\n if (command !== 'apply') {\n stderr.write(`Unknown command: ${command}\\nRun enad-theme --help for usage.\\n`);\n exit(1);\n }\n\n const hash = args[1];\n if (!hash) {\n stderr.write('Error: missing theme hash argument.\\n');\n exit(1);\n }\n\n let target = 'src/globals.css';\n let colorSpace: 'hsl' | 'oklch' = 'hsl';\n let scanDir = 'src';\n let dryRun = false;\n\n for (let i = 2; i < args.length; i++) {\n switch (args[i]) {\n case '--target':\n target = args[++i] ?? target;\n break;\n case '--color-space':\n colorSpace = (args[++i] as 'hsl' | 'oklch') ?? colorSpace;\n break;\n case '--scan':\n scanDir = args[++i] ?? scanDir;\n break;\n case '--dry-run':\n dryRun = true;\n break;\n }\n }\n\n return { command, hash, target, colorSpace, scanDir, dryRun };\n}\n\nfunction readExistingFile(targetPath: string): string {\n try {\n return readFileSync(targetPath, 'utf-8');\n } catch {\n // File doesn't exist yet, we'll create it\n return '';\n }\n}\n\nfunction writeOutput(targetPath: string, target: string, existing: string, css: string) {\n const updated = applyThemeBlock(existing, css);\n writeFileSync(targetPath, updated, 'utf-8');\n\n const isUpdate = existing.includes(MARKER_START);\n stderr.write(\n isUpdate\n ? `Updated theme block in ${target}\\n`\n : `Wrote theme block to ${target}\\n`,\n );\n}\n\nfunction scanForConflicts(scanDir: string, targetPath: string, css: string) {\n // Extract variable names from the generated CSS\n const varPattern = /^\\s*(--[\\w-]+)\\s*:/gm;\n const variables: string[] = [];\n let match: RegExpExecArray | null;\n while ((match = varPattern.exec(css)) !== null) {\n variables.push(match[1]!);\n }\n\n if (variables.length === 0) return;\n\n // Simple recursive CSS file scan\n const cssFiles: Array<{ path: string; content: string }> = [];\n\n function walk(dir: string) {\n try {\n for (const entry of readdirSync(dir)) {\n const full = join(dir, entry);\n try {\n const stat = statSync(full);\n if (stat.isDirectory() && !entry.startsWith('.') && entry !== 'node_modules') {\n walk(full);\n } else if (stat.isFile() && full.endsWith('.css') && resolve(full) !== targetPath) {\n cssFiles.push({ path: full, content: readFileSync(full, 'utf-8') });\n }\n } catch {\n // Skip inaccessible files\n }\n }\n } catch {\n // Skip inaccessible directories\n }\n }\n\n walk(resolve(scanDir));\n\n const warnings = scanConflicts(cssFiles, variables);\n if (warnings.length > 0) {\n stderr.write(`\\nConflicting declarations found:\\n`);\n for (const w of warnings) {\n stderr.write(` ${w.file}:${w.line} ${w.variable}: ${w.existingValue}\\n`);\n }\n stderr.write(`\\nThese existing declarations may override or conflict with the theme.\\n`);\n }\n}\n\nfunction main() {\n const parsed = parseArgs(argv.slice(2));\n if (!parsed) return;\n\n const { hash, target, colorSpace, scanDir, dryRun } = parsed;\n\n // Decode\n const decoded = decodeThemeHash(hash);\n if (Object.keys(decoded).length === 0) {\n stderr.write('Error: failed to decode theme hash. Check that the hash is valid.\\n');\n exit(1);\n }\n\n // Generate CSS\n const css = generateThemeCSS(decoded, { colorSpace });\n\n if (dryRun) {\n stdout.write(css + '\\n');\n exit(0);\n }\n\n // Write to target file\n const targetPath = resolve(target);\n const existing = readExistingFile(targetPath);\n writeOutput(targetPath, target, existing, css);\n\n scanForConflicts(scanDir, targetPath, css);\n}\n\nmain();\n","import { decode as msgpackDecode, encode as msgpackEncode } from \"@msgpack/msgpack\";\n\n/**\n * Loose bag of theme values. The decoder returns whatever keys are present;\n * the consumer merges onto its own defaults. This keeps the format\n * forward/backward compatible: new keys are silently ignored by old decoders,\n * and removed keys are filled from defaults by the consumer.\n */\nexport type ThemeHash = Record<string, unknown>;\n\n// Current format version. Prepended as a single ASCII char before the base64url payload.\nconst FORMAT_VERSION = \"1\";\n\n// ---------------------------------------------------------------------------\n// Short key mapping\n// ---------------------------------------------------------------------------\n\n/** Short key -> full key */\nexport const KEY_MAP: Record<string, string> = {\n c: \"colorize\",\n i: \"intensity\",\n d: \"delight\",\n r: \"radius\",\n bf: \"fontBody\",\n hf: \"fontHeading\",\n ic: \"iconSet\",\n cs: \"colorSpace\",\n dm: \"darkMode\",\n lc: \"lightColors\",\n dc: \"darkColors\",\n br: \"buttonRadius\",\n cr: \"cardRadius\",\n ir: \"inputRadius\",\n mr: \"imageRadius\",\n sp: \"shadowPreset\",\n sc: \"shadowColor\",\n hw: \"headingWeight\",\n ht: \"headingTracking\",\n bw: \"bodyWeight\",\n hx: \"headingTransform\",\n bdr: \"borderWidth\",\n oc: \"overlayColor\",\n of: \"overlayFromOpacity\",\n ot: \"overlayToOpacity\",\n hs: \"imageHoverScale\",\n hd: \"imageHoverDuration\",\n v: \"variants\",\n xs: \"componentSet\",\n};\n\n/** Full key -> short key (inverse of KEY_MAP) */\nexport const KEY_MAP_REVERSE: Record<string, string> = Object.fromEntries(\n Object.entries(KEY_MAP).map(([short, full]) => [full, short]),\n);\n\n// ---------------------------------------------------------------------------\n// Base64url helpers (RFC 4648 §5, no padding)\n// ---------------------------------------------------------------------------\n\nfunction toBase64url(buf: Uint8Array): string {\n let binary = \"\";\n for (let i = 0; i < buf.length; i++) {\n binary += String.fromCharCode(buf[i]!);\n }\n return btoa(binary).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n}\n\nfunction fromBase64url(str: string): Uint8Array {\n const base64 = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64 + \"=\".repeat((4 - (base64.length % 4)) % 4);\n const binary = atob(padded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\n\n// ---------------------------------------------------------------------------\n// Encode / Decode\n// ---------------------------------------------------------------------------\n\n/**\n * Encode a theme state diff into a portable hash string.\n *\n * The input should only contain non-default values. The encoder maps\n * full keys to short keys, packs with MessagePack, and encodes as\n * `<version><base64url>`.\n */\nexport function encodeThemeHash(diff: ThemeHash): string {\n const compact: Record<string, unknown> = {};\n for (const [fullKey, value] of Object.entries(diff)) {\n const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;\n compact[shortKey] = value;\n }\n const packed = msgpackEncode(compact);\n return FORMAT_VERSION + toBase64url(packed);\n}\n\n/**\n * Decode a hash string back into a key-value bag with full key names.\n *\n * Returns partial data -- the consumer is responsible for merging onto\n * its own defaults. Unknown keys are preserved for forward compatibility.\n * Returns an empty object on invalid input (never throws).\n */\nexport function decodeThemeHash(hash: string): ThemeHash {\n try {\n if (!hash || hash.length < 2) return {};\n\n const version = hash[0];\n if (version !== FORMAT_VERSION) return {};\n\n const payload = hash.slice(1);\n const bytes = fromBase64url(payload);\n const compact = msgpackDecode(bytes) as Record<string, unknown>;\n\n if (typeof compact !== \"object\" || compact === null) return {};\n\n const result: ThemeHash = {};\n for (const [key, value] of Object.entries(compact)) {\n const fullKey = KEY_MAP[key] ?? key;\n result[fullKey] = value;\n }\n return result;\n } catch {\n return {};\n }\n}\n","/**\n * SDK default color tokens. These are the canonical defaults used by\n * the theme codec to compute diffs (only non-default values are encoded).\n */\nexport const SDK_DEFAULTS = {\n light: {\n \"--background\": \"#ffffff\",\n \"--foreground\": \"#111827\",\n \"--card\": \"#ffffff\",\n \"--card-foreground\": \"#111827\",\n \"--popover\": \"#ffffff\",\n \"--popover-foreground\": \"#111827\",\n \"--primary\": \"#2563eb\",\n \"--primary-foreground\": \"#ffffff\",\n \"--secondary\": \"#f1f5f9\",\n \"--secondary-foreground\": \"#0f172a\",\n \"--muted\": \"#f3f4f6\",\n \"--muted-foreground\": \"#636b78\",\n \"--accent\": \"#dbeafe\",\n \"--accent-foreground\": \"#1e3a8a\",\n \"--accent-muted\": \"#eff6ff\",\n \"--accent-muted-foreground\": \"#1e40af\",\n \"--destructive\": \"#dc2626\",\n \"--destructive-foreground\": \"#ffffff\",\n \"--border\": \"#e5e7eb\",\n \"--input\": \"#e5e7eb\",\n \"--ring\": \"#2563eb\",\n } as Record<string, string>,\n dark: {\n \"--background\": \"#111827\",\n \"--foreground\": \"#f9fafb\",\n \"--card\": \"#1f2937\",\n \"--card-foreground\": \"#f9fafb\",\n \"--popover\": \"#1f2937\",\n \"--popover-foreground\": \"#f9fafb\",\n \"--primary\": \"#2563eb\",\n \"--primary-foreground\": \"#ffffff\",\n \"--secondary\": \"#1e293b\",\n \"--secondary-foreground\": \"#e2e8f0\",\n \"--muted\": \"#374151\",\n \"--muted-foreground\": \"#b0b8c4\",\n \"--accent\": \"#1e3a5f\",\n \"--accent-foreground\": \"#bfdbfe\",\n \"--accent-muted\": \"#172554\",\n \"--accent-muted-foreground\": \"#93c5fd\",\n \"--destructive\": \"#dc2626\",\n \"--destructive-foreground\": \"#ffffff\",\n \"--border\": \"#374151\",\n \"--input\": \"#374151\",\n \"--ring\": \"#2563eb\",\n } as Record<string, string>,\n};\n\n/** Default values for design tokens (non-color). */\nexport const TOKEN_DEFAULTS = {\n colorize: 50,\n intensity: 50,\n delight: 50,\n radius: 0.75,\n fontBody: \"Inter\",\n fontHeading: \"Inter\",\n iconSet: \"Phosphor\",\n colorSpace: \"hsl\",\n darkMode: false,\n componentSet: \"default\" as \"default\" | \"mono\",\n\n // Shape\n buttonRadius: \"9999px\",\n cardRadius: \"var(--radius)\",\n inputRadius: \"var(--radius)\",\n imageRadius: \"0px\",\n\n // Depth\n shadowPreset: \"none\",\n shadowColor: \"oklch(0 0 0 / 0.1)\",\n\n // Typography\n headingWeight: \"600\",\n headingTracking: \"0em\",\n bodyWeight: \"400\",\n headingTransform: \"none\",\n\n // Border\n borderWidth: \"1px\",\n\n // Overlay\n overlayColor: \"black\",\n overlayFromOpacity: \"0.5\",\n overlayToOpacity: \"0\",\n\n // Motion\n imageHoverScale: \"1.05\",\n imageHoverDuration: \"300ms\",\n\n // Variants\n variants: {\n hero: \"overlay\",\n linkBlock: \"overlay\",\n productCard: \"gallery\",\n contentWithImage: \"side-by-side\",\n gallery: \"grid\",\n textContent: \"default\",\n },\n} as const;\n\n/** Mono preset overrides. Merge onto TOKEN_DEFAULTS when componentSet is \"mono\". */\nexport const MONO_TOKEN_OVERRIDES = {\n componentSet: \"mono\" as const,\n radius: 0.5,\n fontBody: \"Lexend\",\n fontHeading: \"Lexend\",\n colorSpace: \"oklch\",\n buttonRadius: \"8px\",\n cardRadius: \"12px\",\n inputRadius: \"8px\",\n shadowPreset: \"subtle\",\n shadowColor: \"rgba(0, 0, 0, 0.1)\",\n} as const;\n\n/** Mono color defaults (oklch, zero-chroma monochromatic palette). */\nexport const MONO_SDK_DEFAULTS = {\n light: {\n \"--background\": \"oklch(0.99 0 0)\",\n \"--foreground\": \"oklch(0.145 0 0)\",\n \"--card\": \"oklch(1 0 0)\",\n \"--card-foreground\": \"oklch(0.145 0 0)\",\n \"--popover\": \"oklch(1 0 0)\",\n \"--popover-foreground\": \"oklch(0.145 0 0)\",\n \"--primary\": \"oklch(0.205 0 0)\",\n \"--primary-foreground\": \"oklch(0.985 0 0)\",\n \"--secondary\": \"oklch(0.92 0 0)\",\n \"--secondary-foreground\": \"oklch(0.205 0 0)\",\n \"--muted\": \"oklch(0.97 0 0)\",\n \"--muted-foreground\": \"oklch(0.556 0 0)\",\n \"--accent\": \"oklch(0.95 0 0)\",\n \"--accent-foreground\": \"oklch(0.205 0 0)\",\n \"--accent-muted\": \"oklch(0.97 0 0)\",\n \"--accent-muted-foreground\": \"oklch(0.205 0 0)\",\n \"--destructive\": \"oklch(0.5 0.25 30)\",\n \"--destructive-foreground\": \"oklch(0.985 0 0)\",\n \"--border\": \"oklch(0.922 0 0)\",\n \"--input\": \"oklch(0.922 0 0)\",\n \"--ring\": \"oklch(0.708 0 0)\",\n } as Record<string, string>,\n dark: {\n \"--background\": \"oklch(0.17 0 0)\",\n \"--foreground\": \"oklch(0.985 0 0)\",\n \"--card\": \"oklch(0.145 0 0)\",\n \"--card-foreground\": \"oklch(0.985 0 0)\",\n \"--popover\": \"oklch(0.145 0 0)\",\n \"--popover-foreground\": \"oklch(0.985 0 0)\",\n \"--primary\": \"oklch(0.922 0 0)\",\n \"--primary-foreground\": \"oklch(0.205 0 0)\",\n \"--secondary\": \"oklch(0.25 0 0)\",\n \"--secondary-foreground\": \"oklch(0.985 0 0)\",\n \"--muted\": \"oklch(0.19 0 0)\",\n \"--muted-foreground\": \"oklch(0.65 0 0)\",\n \"--accent\": \"oklch(0.22 0 0)\",\n \"--accent-foreground\": \"oklch(0.98 0 0)\",\n \"--accent-muted\": \"oklch(0.22 0 0)\",\n \"--accent-muted-foreground\": \"oklch(0.98 0 0)\",\n \"--destructive\": \"oklch(0.35 0.25 30)\",\n \"--destructive-foreground\": \"oklch(0.985 0 0)\",\n \"--border\": \"oklch(1 0 0 / 10%)\",\n \"--input\": \"oklch(1 0 0 / 15%)\",\n \"--ring\": \"oklch(0.556 0 0)\",\n } as Record<string, string>,\n};\n","import type { ThemeHash } from './codec';\nimport { SDK_DEFAULTS, TOKEN_DEFAULTS } from './defaults';\n\nexport interface GenerateOptions {\n colorSpace?: 'hsl' | 'oklch';\n}\n\nfunction buildLightColorDiffs(hash: ThemeHash): string[] {\n const lightOverrides = (hash.lightColors ?? {}) as Record<string, string>;\n const diffs: string[] = [];\n for (const [token, value] of Object.entries(lightOverrides)) {\n if (value !== SDK_DEFAULTS.light[token]) {\n diffs.push(` ${token}: ${value};`);\n }\n }\n return diffs;\n}\n\nfunction buildBaseTokenDiffs(hash: ThemeHash): string[] {\n const diffs: string[] = [];\n\n const radius = hash.radius as number | undefined;\n if (radius != null && radius !== 0.75) {\n diffs.push(` --radius: ${radius}rem;`);\n }\n\n const fontBody = hash.fontBody as string | undefined;\n if (fontBody && fontBody !== 'Inter') {\n diffs.push(` --font-sans: \"${fontBody}\", sans-serif;`);\n }\n\n const fontHeading = hash.fontHeading as string | undefined;\n if (fontHeading && fontHeading !== fontBody && fontHeading !== 'Inter') {\n diffs.push(` --font-heading: \"${fontHeading}\", sans-serif;`);\n }\n\n return diffs;\n}\n\nfunction buildDarkColorDiffs(hash: ThemeHash): string[] {\n const darkOverrides = (hash.darkColors ?? {}) as Record<string, string>;\n const diffs: string[] = [];\n for (const [token, value] of Object.entries(darkOverrides)) {\n if (value !== SDK_DEFAULTS.dark[token]) {\n diffs.push(` ${token}: ${value};`);\n }\n }\n return diffs;\n}\n\nfunction buildTokenSections(hash: ThemeHash): string[] {\n const lines: string[] = [];\n\n const tokenSections: Array<{ comment: string; entries: Array<[string, string, string]> }> = [\n {\n comment: 'Shape',\n entries: [\n ['--enad-button-radius', hash.buttonRadius as string, TOKEN_DEFAULTS.buttonRadius],\n ['--enad-card-radius', hash.cardRadius as string, TOKEN_DEFAULTS.cardRadius],\n ['--enad-input-radius', hash.inputRadius as string, TOKEN_DEFAULTS.inputRadius],\n ['--enad-image-radius', hash.imageRadius as string, TOKEN_DEFAULTS.imageRadius],\n ],\n },\n {\n comment: 'Depth',\n entries: [\n ['--enad-shadow-color', hash.shadowColor as string, TOKEN_DEFAULTS.shadowColor],\n ],\n },\n {\n comment: 'Typography',\n entries: [\n ['--enad-heading-weight', hash.headingWeight as string, TOKEN_DEFAULTS.headingWeight],\n ['--enad-heading-tracking', hash.headingTracking as string, TOKEN_DEFAULTS.headingTracking],\n ['--enad-body-weight', hash.bodyWeight as string, TOKEN_DEFAULTS.bodyWeight],\n ['--enad-heading-transform', hash.headingTransform as string, TOKEN_DEFAULTS.headingTransform],\n ],\n },\n {\n comment: 'Borders',\n entries: [\n ['--enad-border-width', hash.borderWidth as string, TOKEN_DEFAULTS.borderWidth],\n ],\n },\n {\n comment: 'Overlay',\n entries: [\n ['--enad-overlay-color', hash.overlayColor as string, TOKEN_DEFAULTS.overlayColor],\n ['--enad-overlay-from-opacity', hash.overlayFromOpacity as string, TOKEN_DEFAULTS.overlayFromOpacity],\n ['--enad-overlay-to-opacity', hash.overlayToOpacity as string, TOKEN_DEFAULTS.overlayToOpacity],\n ],\n },\n {\n comment: 'Motion',\n entries: [\n ['--enad-image-hover-scale', hash.imageHoverScale as string, TOKEN_DEFAULTS.imageHoverScale],\n ['--enad-image-hover-duration', hash.imageHoverDuration as string, TOKEN_DEFAULTS.imageHoverDuration],\n ],\n },\n ];\n\n for (const section of tokenSections) {\n const sectionLines: string[] = [];\n for (const [varName, value, defaultValue] of section.entries) {\n if (value != null && value !== defaultValue) {\n sectionLines.push(` ${varName}: ${value};`);\n }\n }\n if (sectionLines.length > 0) {\n lines.push('', `/* ${section.comment} */`, ':root {', ...sectionLines, '}');\n }\n }\n\n return lines;\n}\n\n/**\n * Generate CSS variable declarations from a decoded theme hash.\n * Merges the hash onto SDK defaults and only emits values that differ.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function generateThemeCSS(hash: ThemeHash, _options: GenerateOptions = {}): string {\n const lines: string[] = ['/* Generated by enad-theme */'];\n\n // --- Light color diffs + base tokens ---\n const lightDiffs = [...buildLightColorDiffs(hash), ...buildBaseTokenDiffs(hash)];\n if (lightDiffs.length > 0) {\n lines.push('', ':root {', ...lightDiffs, '}');\n }\n\n // --- Dark color diffs ---\n const darkDiffs = buildDarkColorDiffs(hash);\n if (darkDiffs.length > 0) {\n lines.push('', '.dark {', ...darkDiffs, '}');\n }\n\n // --- Token sections ---\n lines.push(...buildTokenSections(hash));\n\n return lines.join('\\n');\n}\n\n// Sentinel markers for idempotent file writes\nexport const MARKER_START = '/* === enad-theme:start === */';\nexport const MARKER_END = '/* === enad-theme:end === */';\n\n/**\n * Insert or replace a theme block in a CSS file's content.\n * Returns the updated file content.\n */\nexport function applyThemeBlock(fileContent: string, cssBlock: string): string {\n const startIdx = fileContent.indexOf(MARKER_START);\n const endIdx = fileContent.indexOf(MARKER_END);\n\n const block = `${MARKER_START}\\n${cssBlock}\\n${MARKER_END}`;\n\n if (startIdx !== -1 && endIdx !== -1) {\n return fileContent.slice(0, startIdx) + block + fileContent.slice(endIdx + MARKER_END.length);\n }\n\n // Append with a blank line separator\n const separator = fileContent.length > 0 && !fileContent.endsWith('\\n') ? '\\n' : '';\n return fileContent + separator + '\\n' + block + '\\n';\n}\n","export interface ConflictWarning {\n file: string;\n line: number;\n variable: string;\n existingValue: string;\n}\n\n/**\n * Scan CSS file contents for existing declarations of the given custom properties.\n * Uses simple regex matching -- no CSS parser needed since custom property\n * declarations have unambiguous syntax.\n */\nexport function scanConflicts(\n files: Array<{ path: string; content: string }>,\n variables: string[],\n): ConflictWarning[] {\n if (variables.length === 0) return [];\n\n const warnings: ConflictWarning[] = [];\n // Match lines like ` --variable-name: value;` or `--variable-name: value`\n const varSet = new Set(variables);\n\n for (const file of files) {\n const lines = file.content.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i]!;\n const match = line.match(/^\\s*(--[\\w-]+)\\s*:\\s*(.+?)\\s*;?\\s*$/);\n if (match && varSet.has(match[1]!)) {\n warnings.push({\n file: file.path,\n line: i + 1,\n variable: match[1]!,\n existingValue: match[2]!,\n });\n }\n }\n }\n\n return warnings;\n}\n"],"mappings":";;;AAAA,SAAS,cAAc,eAAe,aAAa,gBAAgB;AACnE,SAAS,SAAS,YAAY;AAC9B,SAAS,MAAM,MAAM,QAAQ,cAAc;;;ACF3C,SAAS,UAAU,eAAe,UAAU,qBAAqB;AAWjE,IAAM,iBAAiB;AAOhB,IAAM,UAAkC;AAAA,EAC7C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AACN;AAGO,IAAM,kBAA0C,OAAO;AAAA,EAC5D,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAC9D;AAcA,SAAS,cAAc,KAAyB;AAC9C,QAAM,SAAS,IAAI,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG;AACvD,QAAM,SAAS,SAAS,IAAI,QAAQ,IAAK,OAAO,SAAS,KAAM,CAAC;AAChE,QAAM,SAAS,KAAK,MAAM;AAC1B,QAAM,QAAQ,IAAI,WAAW,OAAO,MAAM;AAC1C,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,UAAM,CAAC,IAAI,OAAO,WAAW,CAAC;AAAA,EAChC;AACA,SAAO;AACT;AA8BO,SAAS,gBAAgB,MAAyB;AACvD,MAAI;AACF,QAAI,CAAC,QAAQ,KAAK,SAAS,EAAG,QAAO,CAAC;AAEtC,UAAM,UAAU,KAAK,CAAC;AACtB,QAAI,YAAY,eAAgB,QAAO,CAAC;AAExC,UAAM,UAAU,KAAK,MAAM,CAAC;AAC5B,UAAM,QAAQ,cAAc,OAAO;AACnC,UAAM,UAAU,cAAc,KAAK;AAEnC,QAAI,OAAO,YAAY,YAAY,YAAY,KAAM,QAAO,CAAC;AAE7D,UAAM,SAAoB,CAAC;AAC3B,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,YAAM,UAAU,QAAQ,GAAG,KAAK;AAChC,aAAO,OAAO,IAAI;AAAA,IACpB;AACA,WAAO;AAAA,EACT,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;;;AC5HO,IAAM,eAAe;AAAA,EAC1B,OAAO;AAAA,IACL,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,aAAa;AAAA,IACb,wBAAwB;AAAA,IACxB,aAAa;AAAA,IACb,wBAAwB;AAAA,IACxB,eAAe;AAAA,IACf,0BAA0B;AAAA,IAC1B,WAAW;AAAA,IACX,sBAAsB;AAAA,IACtB,YAAY;AAAA,IACZ,uBAAuB;AAAA,IACvB,kBAAkB;AAAA,IAClB,6BAA6B;AAAA,IAC7B,iBAAiB;AAAA,IACjB,4BAA4B;AAAA,IAC5B,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,UAAU;AAAA,EACZ;AAAA,EACA,MAAM;AAAA,IACJ,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,aAAa;AAAA,IACb,wBAAwB;AAAA,IACxB,aAAa;AAAA,IACb,wBAAwB;AAAA,IACxB,eAAe;AAAA,IACf,0BAA0B;AAAA,IAC1B,WAAW;AAAA,IACX,sBAAsB;AAAA,IACtB,YAAY;AAAA,IACZ,uBAAuB;AAAA,IACvB,kBAAkB;AAAA,IAClB,6BAA6B;AAAA,IAC7B,iBAAiB;AAAA,IACjB,4BAA4B;AAAA,IAC5B,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,UAAU;AAAA,EACZ;AACF;AAGO,IAAM,iBAAiB;AAAA,EAC5B,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA;AAAA,EAGd,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA;AAAA,EAGb,cAAc;AAAA,EACd,aAAa;AAAA;AAAA,EAGb,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,kBAAkB;AAAA;AAAA,EAGlB,aAAa;AAAA;AAAA,EAGb,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,kBAAkB;AAAA;AAAA,EAGlB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA;AAAA,EAGpB,UAAU;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,IACX,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,SAAS;AAAA,IACT,aAAa;AAAA,EACf;AACF;;;AChGA,SAAS,qBAAqB,MAA2B;AACvD,QAAM,iBAAkB,KAAK,eAAe,CAAC;AAC7C,QAAM,QAAkB,CAAC;AACzB,aAAW,CAAC,OAAO,KAAK,KAAK,OAAO,QAAQ,cAAc,GAAG;AAC3D,QAAI,UAAU,aAAa,MAAM,KAAK,GAAG;AACvC,YAAM,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,IACpC;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,oBAAoB,MAA2B;AACtD,QAAM,QAAkB,CAAC;AAEzB,QAAM,SAAS,KAAK;AACpB,MAAI,UAAU,QAAQ,WAAW,MAAM;AACrC,UAAM,KAAK,eAAe,MAAM,MAAM;AAAA,EACxC;AAEA,QAAM,WAAW,KAAK;AACtB,MAAI,YAAY,aAAa,SAAS;AACpC,UAAM,KAAK,mBAAmB,QAAQ,gBAAgB;AAAA,EACxD;AAEA,QAAM,cAAc,KAAK;AACzB,MAAI,eAAe,gBAAgB,YAAY,gBAAgB,SAAS;AACtE,UAAM,KAAK,sBAAsB,WAAW,gBAAgB;AAAA,EAC9D;AAEA,SAAO;AACT;AAEA,SAAS,oBAAoB,MAA2B;AACtD,QAAM,gBAAiB,KAAK,cAAc,CAAC;AAC3C,QAAM,QAAkB,CAAC;AACzB,aAAW,CAAC,OAAO,KAAK,KAAK,OAAO,QAAQ,aAAa,GAAG;AAC1D,QAAI,UAAU,aAAa,KAAK,KAAK,GAAG;AACtC,YAAM,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,IACpC;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,mBAAmB,MAA2B;AACrD,QAAM,QAAkB,CAAC;AAEzB,QAAM,gBAAsF;AAAA,IAC1F;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,wBAAwB,KAAK,cAAwB,eAAe,YAAY;AAAA,QACjF,CAAC,sBAAsB,KAAK,YAAsB,eAAe,UAAU;AAAA,QAC3E,CAAC,uBAAuB,KAAK,aAAuB,eAAe,WAAW;AAAA,QAC9E,CAAC,uBAAuB,KAAK,aAAuB,eAAe,WAAW;AAAA,MAChF;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,uBAAuB,KAAK,aAAuB,eAAe,WAAW;AAAA,MAChF;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,yBAAyB,KAAK,eAAyB,eAAe,aAAa;AAAA,QACpF,CAAC,2BAA2B,KAAK,iBAA2B,eAAe,eAAe;AAAA,QAC1F,CAAC,sBAAsB,KAAK,YAAsB,eAAe,UAAU;AAAA,QAC3E,CAAC,4BAA4B,KAAK,kBAA4B,eAAe,gBAAgB;AAAA,MAC/F;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,uBAAuB,KAAK,aAAuB,eAAe,WAAW;AAAA,MAChF;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,wBAAwB,KAAK,cAAwB,eAAe,YAAY;AAAA,QACjF,CAAC,+BAA+B,KAAK,oBAA8B,eAAe,kBAAkB;AAAA,QACpG,CAAC,6BAA6B,KAAK,kBAA4B,eAAe,gBAAgB;AAAA,MAChG;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,4BAA4B,KAAK,iBAA2B,eAAe,eAAe;AAAA,QAC3F,CAAC,+BAA+B,KAAK,oBAA8B,eAAe,kBAAkB;AAAA,MACtG;AAAA,IACF;AAAA,EACF;AAEA,aAAW,WAAW,eAAe;AACnC,UAAM,eAAyB,CAAC;AAChC,eAAW,CAAC,SAAS,OAAO,YAAY,KAAK,QAAQ,SAAS;AAC5D,UAAI,SAAS,QAAQ,UAAU,cAAc;AAC3C,qBAAa,KAAK,KAAK,OAAO,KAAK,KAAK,GAAG;AAAA,MAC7C;AAAA,IACF;AACA,QAAI,aAAa,SAAS,GAAG;AAC3B,YAAM,KAAK,IAAI,MAAM,QAAQ,OAAO,OAAO,WAAW,GAAG,cAAc,GAAG;AAAA,IAC5E;AAAA,EACF;AAEA,SAAO;AACT;AAOO,SAAS,iBAAiB,MAAiB,WAA4B,CAAC,GAAW;AACxF,QAAM,QAAkB,CAAC,+BAA+B;AAGxD,QAAM,aAAa,CAAC,GAAG,qBAAqB,IAAI,GAAG,GAAG,oBAAoB,IAAI,CAAC;AAC/E,MAAI,WAAW,SAAS,GAAG;AACzB,UAAM,KAAK,IAAI,WAAW,GAAG,YAAY,GAAG;AAAA,EAC9C;AAGA,QAAM,YAAY,oBAAoB,IAAI;AAC1C,MAAI,UAAU,SAAS,GAAG;AACxB,UAAM,KAAK,IAAI,WAAW,GAAG,WAAW,GAAG;AAAA,EAC7C;AAGA,QAAM,KAAK,GAAG,mBAAmB,IAAI,CAAC;AAEtC,SAAO,MAAM,KAAK,IAAI;AACxB;AAGO,IAAM,eAAe;AACrB,IAAM,aAAa;AAMnB,SAAS,gBAAgB,aAAqB,UAA0B;AAC7E,QAAM,WAAW,YAAY,QAAQ,YAAY;AACjD,QAAM,SAAS,YAAY,QAAQ,UAAU;AAE7C,QAAM,QAAQ,GAAG,YAAY;AAAA,EAAK,QAAQ;AAAA,EAAK,UAAU;AAEzD,MAAI,aAAa,MAAM,WAAW,IAAI;AACpC,WAAO,YAAY,MAAM,GAAG,QAAQ,IAAI,QAAQ,YAAY,MAAM,SAAS,WAAW,MAAM;AAAA,EAC9F;AAGA,QAAM,YAAY,YAAY,SAAS,KAAK,CAAC,YAAY,SAAS,IAAI,IAAI,OAAO;AACjF,SAAO,cAAc,YAAY,OAAO,QAAQ;AAClD;;;ACvJO,SAAS,cACd,OACA,WACmB;AACnB,MAAI,UAAU,WAAW,EAAG,QAAO,CAAC;AAEpC,QAAM,WAA8B,CAAC;AAErC,QAAM,SAAS,IAAI,IAAI,SAAS;AAEhC,aAAW,QAAQ,OAAO;AACxB,UAAM,QAAQ,KAAK,QAAQ,MAAM,IAAI;AACrC,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,KAAK,MAAM,qCAAqC;AAC9D,UAAI,SAAS,OAAO,IAAI,MAAM,CAAC,CAAE,GAAG;AAClC,iBAAS,KAAK;AAAA,UACZ,MAAM,KAAK;AAAA,UACX,MAAM,IAAI;AAAA,UACV,UAAU,MAAM,CAAC;AAAA,UACjB,eAAe,MAAM,CAAC;AAAA,QACxB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;;;AJtBA,SAAS,aAAa;AACpB,SAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAcd;AACD;AAEA,SAAS,UAAU,MAAmC;AACpD,MAAI,KAAK,WAAW,KAAK,KAAK,SAAS,QAAQ,GAAG;AAChD,eAAW;AACX,SAAK,CAAC;AAAA,EACR;AAEA,QAAM,UAAU,KAAK,CAAC;AACtB,MAAI,YAAY,SAAS;AACvB,WAAO,MAAM,oBAAoB,OAAO;AAAA;AAAA,CAAsC;AAC9E,SAAK,CAAC;AAAA,EACR;AAEA,QAAM,OAAO,KAAK,CAAC;AACnB,MAAI,CAAC,MAAM;AACT,WAAO,MAAM,uCAAuC;AACpD,SAAK,CAAC;AAAA,EACR;AAEA,MAAI,SAAS;AACb,MAAI,aAA8B;AAClC,MAAI,UAAU;AACd,MAAI,SAAS;AAEb,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAQ,KAAK,CAAC,GAAG;AAAA,MACf,KAAK;AACH,iBAAS,KAAK,EAAE,CAAC,KAAK;AACtB;AAAA,MACF,KAAK;AACH,qBAAc,KAAK,EAAE,CAAC,KAAyB;AAC/C;AAAA,MACF,KAAK;AACH,kBAAU,KAAK,EAAE,CAAC,KAAK;AACvB;AAAA,MACF,KAAK;AACH,iBAAS;AACT;AAAA,IACJ;AAAA,EACF;AAEA,SAAO,EAAE,SAAS,MAAM,QAAQ,YAAY,SAAS,OAAO;AAC9D;AAEA,SAAS,iBAAiB,YAA4B;AACpD,MAAI;AACF,WAAO,aAAa,YAAY,OAAO;AAAA,EACzC,QAAQ;AAEN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,YAAY,YAAoB,QAAgB,UAAkB,KAAa;AACtF,QAAM,UAAU,gBAAgB,UAAU,GAAG;AAC7C,gBAAc,YAAY,SAAS,OAAO;AAE1C,QAAM,WAAW,SAAS,SAAS,YAAY;AAC/C,SAAO;AAAA,IACL,WACI,0BAA0B,MAAM;AAAA,IAChC,wBAAwB,MAAM;AAAA;AAAA,EACpC;AACF;AAEA,SAAS,iBAAiB,SAAiB,YAAoB,KAAa;AAE1E,QAAM,aAAa;AACnB,QAAM,YAAsB,CAAC;AAC7B,MAAI;AACJ,UAAQ,QAAQ,WAAW,KAAK,GAAG,OAAO,MAAM;AAC9C,cAAU,KAAK,MAAM,CAAC,CAAE;AAAA,EAC1B;AAEA,MAAI,UAAU,WAAW,EAAG;AAG5B,QAAM,WAAqD,CAAC;AAE5D,WAAS,KAAK,KAAa;AACzB,QAAI;AACF,iBAAW,SAAS,YAAY,GAAG,GAAG;AACpC,cAAM,OAAO,KAAK,KAAK,KAAK;AAC5B,YAAI;AACF,gBAAM,OAAO,SAAS,IAAI;AAC1B,cAAI,KAAK,YAAY,KAAK,CAAC,MAAM,WAAW,GAAG,KAAK,UAAU,gBAAgB;AAC5E,iBAAK,IAAI;AAAA,UACX,WAAW,KAAK,OAAO,KAAK,KAAK,SAAS,MAAM,KAAK,QAAQ,IAAI,MAAM,YAAY;AACjF,qBAAS,KAAK,EAAE,MAAM,MAAM,SAAS,aAAa,MAAM,OAAO,EAAE,CAAC;AAAA,UACpE;AAAA,QACF,QAAQ;AAAA,QAER;AAAA,MACF;AAAA,IACF,QAAQ;AAAA,IAER;AAAA,EACF;AAEA,OAAK,QAAQ,OAAO,CAAC;AAErB,QAAM,WAAW,cAAc,UAAU,SAAS;AAClD,MAAI,SAAS,SAAS,GAAG;AACvB,WAAO,MAAM;AAAA;AAAA,CAAqC;AAClD,eAAW,KAAK,UAAU;AACxB,aAAO,MAAM,KAAK,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,EAAE,QAAQ,KAAK,EAAE,aAAa;AAAA,CAAI;AAAA,IAC3E;AACA,WAAO,MAAM;AAAA;AAAA,CAA0E;AAAA,EACzF;AACF;AAEA,SAAS,OAAO;AACd,QAAM,SAAS,UAAU,KAAK,MAAM,CAAC,CAAC;AACtC,MAAI,CAAC,OAAQ;AAEb,QAAM,EAAE,MAAM,QAAQ,YAAY,SAAS,OAAO,IAAI;AAGtD,QAAM,UAAU,gBAAgB,IAAI;AACpC,MAAI,OAAO,KAAK,OAAO,EAAE,WAAW,GAAG;AACrC,WAAO,MAAM,qEAAqE;AAClF,SAAK,CAAC;AAAA,EACR;AAGA,QAAM,MAAM,iBAAiB,SAAS,EAAE,WAAW,CAAC;AAEpD,MAAI,QAAQ;AACV,WAAO,MAAM,MAAM,IAAI;AACvB,SAAK,CAAC;AAAA,EACR;AAGA,QAAM,aAAa,QAAQ,MAAM;AACjC,QAAM,WAAW,iBAAiB,UAAU;AAC5C,cAAY,YAAY,QAAQ,UAAU,GAAG;AAE7C,mBAAiB,SAAS,YAAY,GAAG;AAC3C;AAEA,KAAK;","names":[]}
1
+ {"version":3,"file":"cli.mjs","names":["msgpackDecode"],"sources":["../../../src/client/theme/codec.ts","../../../src/client/theme/defaults.ts","../../../src/client/theme/apply.ts","../../../src/client/theme/scan.ts","../../../src/client/theme/cli.ts"],"sourcesContent":["import { decode as msgpackDecode, encode as msgpackEncode } from \"@msgpack/msgpack\";\n\n/**\n * Loose bag of theme values. The decoder returns whatever keys are present;\n * the consumer merges onto its own defaults. This keeps the format\n * forward/backward compatible: new keys are silently ignored by old decoders,\n * and removed keys are filled from defaults by the consumer.\n */\nexport type ThemeHash = Record<string, unknown>;\n\n// Current format version. Prepended as a single ASCII char before the base64url payload.\nconst FORMAT_VERSION = \"1\";\n\n// ---------------------------------------------------------------------------\n// Short key mapping\n// ---------------------------------------------------------------------------\n\n/** Short key -> full key */\nexport const KEY_MAP: Record<string, string> = {\n c: \"colorize\",\n i: \"intensity\",\n d: \"delight\",\n r: \"radius\",\n bf: \"fontBody\",\n hf: \"fontHeading\",\n ic: \"iconSet\",\n cs: \"colorSpace\",\n dm: \"darkMode\",\n lc: \"lightColors\",\n dc: \"darkColors\",\n br: \"buttonRadius\",\n cr: \"cardRadius\",\n ir: \"inputRadius\",\n mr: \"imageRadius\",\n sp: \"shadowPreset\",\n sc: \"shadowColor\",\n hw: \"headingWeight\",\n ht: \"headingTracking\",\n bw: \"bodyWeight\",\n hx: \"headingTransform\",\n bdr: \"borderWidth\",\n oc: \"overlayColor\",\n of: \"overlayFromOpacity\",\n ot: \"overlayToOpacity\",\n hs: \"imageHoverScale\",\n hd: \"imageHoverDuration\",\n v: \"variants\",\n xs: \"componentSet\",\n};\n\n/** Full key -> short key (inverse of KEY_MAP) */\nexport const KEY_MAP_REVERSE: Record<string, string> = Object.fromEntries(\n Object.entries(KEY_MAP).map(([short, full]) => [full, short]),\n);\n\n// ---------------------------------------------------------------------------\n// Base64url helpers (RFC 4648 §5, no padding)\n// ---------------------------------------------------------------------------\n\nfunction toBase64url(buf: Uint8Array): string {\n let binary = \"\";\n for (let i = 0; i < buf.length; i++) {\n binary += String.fromCharCode(buf[i]!);\n }\n return btoa(binary).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n}\n\nfunction fromBase64url(str: string): Uint8Array {\n const base64 = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64 + \"=\".repeat((4 - (base64.length % 4)) % 4);\n const binary = atob(padded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\n\n// ---------------------------------------------------------------------------\n// Encode / Decode\n// ---------------------------------------------------------------------------\n\n/**\n * Encode a theme state diff into a portable hash string.\n *\n * The input should only contain non-default values. The encoder maps\n * full keys to short keys, packs with MessagePack, and encodes as\n * `<version><base64url>`.\n */\nexport function encodeThemeHash(diff: ThemeHash): string {\n const compact: Record<string, unknown> = {};\n for (const [fullKey, value] of Object.entries(diff)) {\n const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;\n compact[shortKey] = value;\n }\n const packed = msgpackEncode(compact);\n return FORMAT_VERSION + toBase64url(packed);\n}\n\n/**\n * Decode a hash string back into a key-value bag with full key names.\n *\n * Returns partial data -- the consumer is responsible for merging onto\n * its own defaults. Unknown keys are preserved for forward compatibility.\n * Returns an empty object on invalid input (never throws).\n */\nexport function decodeThemeHash(hash: string): ThemeHash {\n try {\n if (!hash || hash.length < 2) return {};\n\n const version = hash[0];\n if (version !== FORMAT_VERSION) return {};\n\n const payload = hash.slice(1);\n const bytes = fromBase64url(payload);\n const compact = msgpackDecode(bytes) as Record<string, unknown>;\n\n if (typeof compact !== \"object\" || compact === null) return {};\n\n const result: ThemeHash = {};\n for (const [key, value] of Object.entries(compact)) {\n const fullKey = KEY_MAP[key] ?? key;\n result[fullKey] = value;\n }\n return result;\n } catch {\n return {};\n }\n}\n","/**\n * SDK default color tokens. These are the canonical defaults used by\n * the theme codec to compute diffs (only non-default values are encoded).\n */\nexport const SDK_DEFAULTS = {\n light: {\n \"--background\": \"#ffffff\",\n \"--foreground\": \"#111827\",\n \"--card\": \"#ffffff\",\n \"--card-foreground\": \"#111827\",\n \"--popover\": \"#ffffff\",\n \"--popover-foreground\": \"#111827\",\n \"--primary\": \"#2563eb\",\n \"--primary-foreground\": \"#ffffff\",\n \"--secondary\": \"#f1f5f9\",\n \"--secondary-foreground\": \"#0f172a\",\n \"--muted\": \"#f3f4f6\",\n \"--muted-foreground\": \"#636b78\",\n \"--accent\": \"#dbeafe\",\n \"--accent-foreground\": \"#1e3a8a\",\n \"--accent-muted\": \"#eff6ff\",\n \"--accent-muted-foreground\": \"#1e40af\",\n \"--destructive\": \"#dc2626\",\n \"--destructive-foreground\": \"#ffffff\",\n \"--border\": \"#e5e7eb\",\n \"--input\": \"#e5e7eb\",\n \"--ring\": \"#2563eb\",\n } as Record<string, string>,\n dark: {\n \"--background\": \"#111827\",\n \"--foreground\": \"#f9fafb\",\n \"--card\": \"#1f2937\",\n \"--card-foreground\": \"#f9fafb\",\n \"--popover\": \"#1f2937\",\n \"--popover-foreground\": \"#f9fafb\",\n \"--primary\": \"#2563eb\",\n \"--primary-foreground\": \"#ffffff\",\n \"--secondary\": \"#1e293b\",\n \"--secondary-foreground\": \"#e2e8f0\",\n \"--muted\": \"#374151\",\n \"--muted-foreground\": \"#b0b8c4\",\n \"--accent\": \"#1e3a5f\",\n \"--accent-foreground\": \"#bfdbfe\",\n \"--accent-muted\": \"#172554\",\n \"--accent-muted-foreground\": \"#93c5fd\",\n \"--destructive\": \"#dc2626\",\n \"--destructive-foreground\": \"#ffffff\",\n \"--border\": \"#374151\",\n \"--input\": \"#374151\",\n \"--ring\": \"#2563eb\",\n } as Record<string, string>,\n};\n\n/** Default values for design tokens (non-color). */\nexport const TOKEN_DEFAULTS = {\n colorize: 50,\n intensity: 50,\n delight: 50,\n radius: 0.75,\n fontBody: \"Inter\",\n fontHeading: \"Inter\",\n iconSet: \"Phosphor\",\n colorSpace: \"hsl\",\n darkMode: false,\n componentSet: \"default\" as const,\n\n // Shape\n buttonRadius: \"9999px\",\n cardRadius: \"var(--radius)\",\n inputRadius: \"var(--radius)\",\n imageRadius: \"0px\",\n\n // Depth\n shadowPreset: \"none\",\n shadowColor: \"oklch(0 0 0 / 0.1)\",\n\n // Typography\n headingWeight: \"600\",\n headingTracking: \"0em\",\n bodyWeight: \"400\",\n headingTransform: \"none\",\n\n // Border\n borderWidth: \"1px\",\n\n // Overlay\n overlayColor: \"black\",\n overlayFromOpacity: \"0.5\",\n overlayToOpacity: \"0\",\n\n // Motion\n imageHoverScale: \"1.05\",\n imageHoverDuration: \"300ms\",\n\n // Variants\n variants: {\n hero: \"overlay\",\n linkBlock: \"overlay\",\n productCard: \"gallery\",\n contentWithImage: \"side-by-side\",\n gallery: \"grid\",\n textContent: \"default\",\n },\n} as const;\n","import type { ThemeHash } from './codec';\nimport { SDK_DEFAULTS, TOKEN_DEFAULTS } from './defaults';\n\nexport interface GenerateOptions {\n colorSpace?: 'hsl' | 'oklch';\n}\n\nfunction buildLightColorDiffs(hash: ThemeHash): string[] {\n const lightOverrides = (hash.lightColors ?? {}) as Record<string, string>;\n const diffs: string[] = [];\n for (const [token, value] of Object.entries(lightOverrides)) {\n if (value !== SDK_DEFAULTS.light[token]) {\n diffs.push(` ${token}: ${value};`);\n }\n }\n return diffs;\n}\n\nfunction buildBaseTokenDiffs(hash: ThemeHash): string[] {\n const diffs: string[] = [];\n\n const radius = hash.radius as number | undefined;\n if (radius != null && radius !== 0.75) {\n diffs.push(` --radius: ${radius}rem;`);\n }\n\n const fontBody = hash.fontBody as string | undefined;\n if (fontBody && fontBody !== 'Inter') {\n diffs.push(` --font-sans: \"${fontBody}\", sans-serif;`);\n }\n\n const fontHeading = hash.fontHeading as string | undefined;\n if (fontHeading && fontHeading !== fontBody && fontHeading !== 'Inter') {\n diffs.push(` --font-heading: \"${fontHeading}\", sans-serif;`);\n }\n\n return diffs;\n}\n\nfunction buildDarkColorDiffs(hash: ThemeHash): string[] {\n const darkOverrides = (hash.darkColors ?? {}) as Record<string, string>;\n const diffs: string[] = [];\n for (const [token, value] of Object.entries(darkOverrides)) {\n if (value !== SDK_DEFAULTS.dark[token]) {\n diffs.push(` ${token}: ${value};`);\n }\n }\n return diffs;\n}\n\nfunction buildTokenSections(hash: ThemeHash): string[] {\n const lines: string[] = [];\n\n const tokenSections: Array<{ comment: string; entries: Array<[string, string, string]> }> = [\n {\n comment: 'Shape',\n entries: [\n ['--enad-button-radius', hash.buttonRadius as string, TOKEN_DEFAULTS.buttonRadius],\n ['--enad-card-radius', hash.cardRadius as string, TOKEN_DEFAULTS.cardRadius],\n ['--enad-input-radius', hash.inputRadius as string, TOKEN_DEFAULTS.inputRadius],\n ['--enad-image-radius', hash.imageRadius as string, TOKEN_DEFAULTS.imageRadius],\n ],\n },\n {\n comment: 'Depth',\n entries: [\n ['--enad-shadow-color', hash.shadowColor as string, TOKEN_DEFAULTS.shadowColor],\n ],\n },\n {\n comment: 'Typography',\n entries: [\n ['--enad-heading-weight', hash.headingWeight as string, TOKEN_DEFAULTS.headingWeight],\n ['--enad-heading-tracking', hash.headingTracking as string, TOKEN_DEFAULTS.headingTracking],\n ['--enad-body-weight', hash.bodyWeight as string, TOKEN_DEFAULTS.bodyWeight],\n ['--enad-heading-transform', hash.headingTransform as string, TOKEN_DEFAULTS.headingTransform],\n ],\n },\n {\n comment: 'Borders',\n entries: [\n ['--enad-border-width', hash.borderWidth as string, TOKEN_DEFAULTS.borderWidth],\n ],\n },\n {\n comment: 'Overlay',\n entries: [\n ['--enad-overlay-color', hash.overlayColor as string, TOKEN_DEFAULTS.overlayColor],\n ['--enad-overlay-from-opacity', hash.overlayFromOpacity as string, TOKEN_DEFAULTS.overlayFromOpacity],\n ['--enad-overlay-to-opacity', hash.overlayToOpacity as string, TOKEN_DEFAULTS.overlayToOpacity],\n ],\n },\n {\n comment: 'Motion',\n entries: [\n ['--enad-image-hover-scale', hash.imageHoverScale as string, TOKEN_DEFAULTS.imageHoverScale],\n ['--enad-image-hover-duration', hash.imageHoverDuration as string, TOKEN_DEFAULTS.imageHoverDuration],\n ],\n },\n ];\n\n for (const section of tokenSections) {\n const sectionLines: string[] = [];\n for (const [varName, value, defaultValue] of section.entries) {\n if (value != null && value !== defaultValue) {\n sectionLines.push(` ${varName}: ${value};`);\n }\n }\n if (sectionLines.length > 0) {\n lines.push('', `/* ${section.comment} */`, ':root {', ...sectionLines, '}');\n }\n }\n\n return lines;\n}\n\n/**\n * Generate CSS variable declarations from a decoded theme hash.\n * Merges the hash onto SDK defaults and only emits values that differ.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function generateThemeCSS(hash: ThemeHash, _options: GenerateOptions = {}): string {\n const lines: string[] = ['/* Generated by enad-theme */'];\n\n // --- Light color diffs + base tokens ---\n const lightDiffs = [...buildLightColorDiffs(hash), ...buildBaseTokenDiffs(hash)];\n if (lightDiffs.length > 0) {\n lines.push('', ':root {', ...lightDiffs, '}');\n }\n\n // --- Dark color diffs ---\n const darkDiffs = buildDarkColorDiffs(hash);\n if (darkDiffs.length > 0) {\n lines.push('', '.dark {', ...darkDiffs, '}');\n }\n\n // --- Token sections ---\n lines.push(...buildTokenSections(hash));\n\n return lines.join('\\n');\n}\n\n// Sentinel markers for idempotent file writes\nexport const MARKER_START = '/* === enad-theme:start === */';\nexport const MARKER_END = '/* === enad-theme:end === */';\n\n/**\n * Insert or replace a theme block in a CSS file's content.\n * Returns the updated file content.\n */\nexport function applyThemeBlock(fileContent: string, cssBlock: string): string {\n const startIdx = fileContent.indexOf(MARKER_START);\n const endIdx = fileContent.indexOf(MARKER_END);\n\n const block = `${MARKER_START}\\n${cssBlock}\\n${MARKER_END}`;\n\n if (startIdx !== -1 && endIdx !== -1) {\n return fileContent.slice(0, startIdx) + block + fileContent.slice(endIdx + MARKER_END.length);\n }\n\n // Append with a blank line separator\n const separator = fileContent.length > 0 && !fileContent.endsWith('\\n') ? '\\n' : '';\n return fileContent + separator + '\\n' + block + '\\n';\n}\n","export interface ConflictWarning {\n file: string;\n line: number;\n variable: string;\n existingValue: string;\n}\n\n/**\n * Scan CSS file contents for existing declarations of the given custom properties.\n * Uses simple regex matching -- no CSS parser needed since custom property\n * declarations have unambiguous syntax.\n */\nexport function scanConflicts(\n files: Array<{ path: string; content: string }>,\n variables: string[],\n): ConflictWarning[] {\n if (variables.length === 0) return [];\n\n const warnings: ConflictWarning[] = [];\n // Match lines like ` --variable-name: value;` or `--variable-name: value`\n const varSet = new Set(variables);\n\n for (const file of files) {\n const lines = file.content.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i]!;\n const match = line.match(/^\\s*(--[\\w-]+)\\s*:\\s*(.+?)\\s*;?\\s*$/);\n if (match && varSet.has(match[1]!)) {\n warnings.push({\n file: file.path,\n line: i + 1,\n variable: match[1]!,\n existingValue: match[2]!,\n });\n }\n }\n }\n\n return warnings;\n}\n","import { readFileSync, writeFileSync, readdirSync, statSync } from 'node:fs';\nimport { resolve, join } from 'node:path';\nimport { argv, exit, stderr, stdout } from 'node:process';\n\nimport { decodeThemeHash } from './codec';\nimport { applyThemeBlock, generateThemeCSS, MARKER_START } from './apply';\nimport { scanConflicts } from './scan';\n\ninterface ParsedArgs {\n command: string;\n hash: string;\n target: string;\n colorSpace: 'hsl' | 'oklch';\n scanDir: string;\n dryRun: boolean;\n}\n\nfunction printUsage() {\n stderr.write(`\nUsage: enad-theme apply <hash> [options]\n\nOptions:\n --target <file> Target CSS file (default: src/globals.css)\n --color-space <cs> Color space: hsl | oklch (default: hsl)\n --scan <dir> Directory to scan for conflicts (default: src)\n --dry-run Print CSS to stdout without writing\n --help Show this help message\n\nExamples:\n enad-theme apply 1k5YWJj...\n enad-theme apply 1k5YWJj... --target app/globals.css --color-space oklch\n enad-theme apply 1k5YWJj... --dry-run\n`);\n}\n\nfunction parseArgs(args: string[]): ParsedArgs | null {\n if (args.length === 0 || args.includes('--help')) {\n printUsage();\n exit(0);\n }\n\n const command = args[0]!;\n if (command !== 'apply') {\n stderr.write(`Unknown command: ${command}\\nRun enad-theme --help for usage.\\n`);\n exit(1);\n }\n\n const hash = args[1];\n if (!hash) {\n stderr.write('Error: missing theme hash argument.\\n');\n exit(1);\n }\n\n let target = 'src/globals.css';\n let colorSpace: 'hsl' | 'oklch' = 'hsl';\n let scanDir = 'src';\n let dryRun = false;\n\n for (let i = 2; i < args.length; i++) {\n switch (args[i]) {\n case '--target':\n target = args[++i] ?? target;\n break;\n case '--color-space':\n colorSpace = (args[++i] as 'hsl' | 'oklch') ?? colorSpace;\n break;\n case '--scan':\n scanDir = args[++i] ?? scanDir;\n break;\n case '--dry-run':\n dryRun = true;\n break;\n }\n }\n\n return { command, hash, target, colorSpace, scanDir, dryRun };\n}\n\nfunction readExistingFile(targetPath: string): string {\n try {\n return readFileSync(targetPath, 'utf-8');\n } catch {\n // File doesn't exist yet, we'll create it\n return '';\n }\n}\n\nfunction writeOutput(targetPath: string, target: string, existing: string, css: string) {\n const updated = applyThemeBlock(existing, css);\n writeFileSync(targetPath, updated, 'utf-8');\n\n const isUpdate = existing.includes(MARKER_START);\n stderr.write(\n isUpdate\n ? `Updated theme block in ${target}\\n`\n : `Wrote theme block to ${target}\\n`,\n );\n}\n\nfunction scanForConflicts(scanDir: string, targetPath: string, css: string) {\n // Extract variable names from the generated CSS\n const varPattern = /^\\s*(--[\\w-]+)\\s*:/gm;\n const variables: string[] = [];\n let match: RegExpExecArray | null;\n while ((match = varPattern.exec(css)) !== null) {\n variables.push(match[1]!);\n }\n\n if (variables.length === 0) return;\n\n // Simple recursive CSS file scan\n const cssFiles: Array<{ path: string; content: string }> = [];\n\n function walk(dir: string) {\n try {\n for (const entry of readdirSync(dir)) {\n const full = join(dir, entry);\n try {\n const stat = statSync(full);\n if (stat.isDirectory() && !entry.startsWith('.') && entry !== 'node_modules') {\n walk(full);\n } else if (stat.isFile() && full.endsWith('.css') && resolve(full) !== targetPath) {\n cssFiles.push({ path: full, content: readFileSync(full, 'utf-8') });\n }\n } catch {\n // Skip inaccessible files\n }\n }\n } catch {\n // Skip inaccessible directories\n }\n }\n\n walk(resolve(scanDir));\n\n const warnings = scanConflicts(cssFiles, variables);\n if (warnings.length > 0) {\n stderr.write(`\\nConflicting declarations found:\\n`);\n for (const w of warnings) {\n stderr.write(` ${w.file}:${w.line} ${w.variable}: ${w.existingValue}\\n`);\n }\n stderr.write(`\\nThese existing declarations may override or conflict with the theme.\\n`);\n }\n}\n\nfunction main() {\n const parsed = parseArgs(argv.slice(2));\n if (!parsed) return;\n\n const { hash, target, colorSpace, scanDir, dryRun } = parsed;\n\n // Decode\n const decoded = decodeThemeHash(hash);\n if (Object.keys(decoded).length === 0) {\n stderr.write('Error: failed to decode theme hash. Check that the hash is valid.\\n');\n exit(1);\n }\n\n // Generate CSS\n const css = generateThemeCSS(decoded, { colorSpace });\n\n if (dryRun) {\n stdout.write(css + '\\n');\n exit(0);\n }\n\n // Write to target file\n const targetPath = resolve(target);\n const existing = readExistingFile(targetPath);\n writeOutput(targetPath, target, existing, css);\n\n scanForConflicts(scanDir, targetPath, css);\n}\n\nmain();\n"],"mappings":"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"}
@@ -1,14 +1,15 @@
1
+ //#region src/client/theme/codec.d.ts
1
2
  /**
2
3
  * Loose bag of theme values. The decoder returns whatever keys are present;
3
4
  * the consumer merges onto its own defaults. This keeps the format
4
5
  * forward/backward compatible: new keys are silently ignored by old decoders,
5
6
  * and removed keys are filled from defaults by the consumer.
6
7
  */
7
- export type ThemeHash = Record<string, unknown>;
8
+ type ThemeHash = Record<string, unknown>;
8
9
  /** Short key -> full key */
9
- export declare const KEY_MAP: Record<string, string>;
10
+ declare const KEY_MAP: Record<string, string>;
10
11
  /** Full key -> short key (inverse of KEY_MAP) */
11
- export declare const KEY_MAP_REVERSE: Record<string, string>;
12
+ declare const KEY_MAP_REVERSE: Record<string, string>;
12
13
  /**
13
14
  * Encode a theme state diff into a portable hash string.
14
15
  *
@@ -16,7 +17,7 @@ export declare const KEY_MAP_REVERSE: Record<string, string>;
16
17
  * full keys to short keys, packs with MessagePack, and encodes as
17
18
  * `<version><base64url>`.
18
19
  */
19
- export declare function encodeThemeHash(diff: ThemeHash): string;
20
+ declare function encodeThemeHash(diff: ThemeHash): string;
20
21
  /**
21
22
  * Decode a hash string back into a key-value bag with full key names.
22
23
  *
@@ -24,5 +25,7 @@ export declare function encodeThemeHash(diff: ThemeHash): string;
24
25
  * its own defaults. Unknown keys are preserved for forward compatibility.
25
26
  * Returns an empty object on invalid input (never throws).
26
27
  */
27
- export declare function decodeThemeHash(hash: string): ThemeHash;
28
+ declare function decodeThemeHash(hash: string): ThemeHash;
29
+ //#endregion
30
+ export { KEY_MAP, KEY_MAP_REVERSE, ThemeHash, decodeThemeHash, encodeThemeHash };
28
31
  //# sourceMappingURL=codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../src/client/theme/codec.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAShD,4BAA4B;AAC5B,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8B1C,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAElD,CAAC;AA6BF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAQvD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAsBvD"}
1
+ {"version":3,"file":"codec.d.ts","names":[],"sources":["../../../src/client/theme/codec.ts"],"mappings":";;AAQA;;;;;KAAY,SAAA,GAAY,MAAA;;cAUX,OAAA,EAAS,MAAA;;cAiCT,eAAA,EAAiB,MAAA;AAA9B;;;;;AAsCA;;AAtCA,iBAsCgB,eAAA,CAAgB,IAAA,EAAM,SAAA;;;AAiBtC;;;;;iBAAgB,eAAA,CAAgB,IAAA,WAAe,SAAA"}
@@ -1,88 +1,92 @@
1
- import { decode as msgpackDecode, encode as msgpackEncode } from "@msgpack/msgpack";
1
+ import { decode, encode } from "@msgpack/msgpack";
2
+ //#region src/client/theme/codec.ts
2
3
  const FORMAT_VERSION = "1";
4
+ /** Short key -> full key */
3
5
  const KEY_MAP = {
4
- c: "colorize",
5
- i: "intensity",
6
- d: "delight",
7
- r: "radius",
8
- bf: "fontBody",
9
- hf: "fontHeading",
10
- ic: "iconSet",
11
- cs: "colorSpace",
12
- dm: "darkMode",
13
- lc: "lightColors",
14
- dc: "darkColors",
15
- br: "buttonRadius",
16
- cr: "cardRadius",
17
- ir: "inputRadius",
18
- mr: "imageRadius",
19
- sp: "shadowPreset",
20
- sc: "shadowColor",
21
- hw: "headingWeight",
22
- ht: "headingTracking",
23
- bw: "bodyWeight",
24
- hx: "headingTransform",
25
- bdr: "borderWidth",
26
- oc: "overlayColor",
27
- of: "overlayFromOpacity",
28
- ot: "overlayToOpacity",
29
- hs: "imageHoverScale",
30
- hd: "imageHoverDuration",
31
- v: "variants",
32
- xs: "componentSet"
6
+ c: "colorize",
7
+ i: "intensity",
8
+ d: "delight",
9
+ r: "radius",
10
+ bf: "fontBody",
11
+ hf: "fontHeading",
12
+ ic: "iconSet",
13
+ cs: "colorSpace",
14
+ dm: "darkMode",
15
+ lc: "lightColors",
16
+ dc: "darkColors",
17
+ br: "buttonRadius",
18
+ cr: "cardRadius",
19
+ ir: "inputRadius",
20
+ mr: "imageRadius",
21
+ sp: "shadowPreset",
22
+ sc: "shadowColor",
23
+ hw: "headingWeight",
24
+ ht: "headingTracking",
25
+ bw: "bodyWeight",
26
+ hx: "headingTransform",
27
+ bdr: "borderWidth",
28
+ oc: "overlayColor",
29
+ of: "overlayFromOpacity",
30
+ ot: "overlayToOpacity",
31
+ hs: "imageHoverScale",
32
+ hd: "imageHoverDuration",
33
+ v: "variants",
34
+ xs: "componentSet"
33
35
  };
34
- const KEY_MAP_REVERSE = Object.fromEntries(
35
- Object.entries(KEY_MAP).map(([short, full]) => [full, short])
36
- );
36
+ /** Full key -> short key (inverse of KEY_MAP) */
37
+ const KEY_MAP_REVERSE = Object.fromEntries(Object.entries(KEY_MAP).map(([short, full]) => [full, short]));
37
38
  function toBase64url(buf) {
38
- let binary = "";
39
- for (let i = 0; i < buf.length; i++) {
40
- binary += String.fromCharCode(buf[i]);
41
- }
42
- return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
39
+ let binary = "";
40
+ for (let i = 0; i < buf.length; i++) binary += String.fromCharCode(buf[i]);
41
+ return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
43
42
  }
44
43
  function fromBase64url(str) {
45
- const base64 = str.replace(/-/g, "+").replace(/_/g, "/");
46
- const padded = base64 + "=".repeat((4 - base64.length % 4) % 4);
47
- const binary = atob(padded);
48
- const bytes = new Uint8Array(binary.length);
49
- for (let i = 0; i < binary.length; i++) {
50
- bytes[i] = binary.charCodeAt(i);
51
- }
52
- return bytes;
44
+ const base64 = str.replace(/-/g, "+").replace(/_/g, "/");
45
+ const padded = base64 + "=".repeat((4 - base64.length % 4) % 4);
46
+ const binary = atob(padded);
47
+ const bytes = new Uint8Array(binary.length);
48
+ for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
49
+ return bytes;
53
50
  }
51
+ /**
52
+ * Encode a theme state diff into a portable hash string.
53
+ *
54
+ * The input should only contain non-default values. The encoder maps
55
+ * full keys to short keys, packs with MessagePack, and encodes as
56
+ * `<version><base64url>`.
57
+ */
54
58
  function encodeThemeHash(diff) {
55
- const compact = {};
56
- for (const [fullKey, value] of Object.entries(diff)) {
57
- const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;
58
- compact[shortKey] = value;
59
- }
60
- const packed = msgpackEncode(compact);
61
- return FORMAT_VERSION + toBase64url(packed);
59
+ const compact = {};
60
+ for (const [fullKey, value] of Object.entries(diff)) {
61
+ const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;
62
+ compact[shortKey] = value;
63
+ }
64
+ return FORMAT_VERSION + toBase64url(encode(compact));
62
65
  }
66
+ /**
67
+ * Decode a hash string back into a key-value bag with full key names.
68
+ *
69
+ * Returns partial data -- the consumer is responsible for merging onto
70
+ * its own defaults. Unknown keys are preserved for forward compatibility.
71
+ * Returns an empty object on invalid input (never throws).
72
+ */
63
73
  function decodeThemeHash(hash) {
64
- try {
65
- if (!hash || hash.length < 2) return {};
66
- const version = hash[0];
67
- if (version !== FORMAT_VERSION) return {};
68
- const payload = hash.slice(1);
69
- const bytes = fromBase64url(payload);
70
- const compact = msgpackDecode(bytes);
71
- if (typeof compact !== "object" || compact === null) return {};
72
- const result = {};
73
- for (const [key, value] of Object.entries(compact)) {
74
- const fullKey = KEY_MAP[key] ?? key;
75
- result[fullKey] = value;
76
- }
77
- return result;
78
- } catch {
79
- return {};
80
- }
74
+ try {
75
+ if (!hash || hash.length < 2) return {};
76
+ if (hash[0] !== FORMAT_VERSION) return {};
77
+ const compact = decode(fromBase64url(hash.slice(1)));
78
+ if (typeof compact !== "object" || compact === null) return {};
79
+ const result = {};
80
+ for (const [key, value] of Object.entries(compact)) {
81
+ const fullKey = KEY_MAP[key] ?? key;
82
+ result[fullKey] = value;
83
+ }
84
+ return result;
85
+ } catch {
86
+ return {};
87
+ }
81
88
  }
82
- export {
83
- KEY_MAP,
84
- KEY_MAP_REVERSE,
85
- decodeThemeHash,
86
- encodeThemeHash
87
- };
89
+ //#endregion
90
+ export { KEY_MAP, KEY_MAP_REVERSE, decodeThemeHash, encodeThemeHash };
91
+
88
92
  //# sourceMappingURL=codec.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/client/theme/codec.ts"],"sourcesContent":["import { decode as msgpackDecode, encode as msgpackEncode } from \"@msgpack/msgpack\";\n\n/**\n * Loose bag of theme values. The decoder returns whatever keys are present;\n * the consumer merges onto its own defaults. This keeps the format\n * forward/backward compatible: new keys are silently ignored by old decoders,\n * and removed keys are filled from defaults by the consumer.\n */\nexport type ThemeHash = Record<string, unknown>;\n\n// Current format version. Prepended as a single ASCII char before the base64url payload.\nconst FORMAT_VERSION = \"1\";\n\n// ---------------------------------------------------------------------------\n// Short key mapping\n// ---------------------------------------------------------------------------\n\n/** Short key -> full key */\nexport const KEY_MAP: Record<string, string> = {\n c: \"colorize\",\n i: \"intensity\",\n d: \"delight\",\n r: \"radius\",\n bf: \"fontBody\",\n hf: \"fontHeading\",\n ic: \"iconSet\",\n cs: \"colorSpace\",\n dm: \"darkMode\",\n lc: \"lightColors\",\n dc: \"darkColors\",\n br: \"buttonRadius\",\n cr: \"cardRadius\",\n ir: \"inputRadius\",\n mr: \"imageRadius\",\n sp: \"shadowPreset\",\n sc: \"shadowColor\",\n hw: \"headingWeight\",\n ht: \"headingTracking\",\n bw: \"bodyWeight\",\n hx: \"headingTransform\",\n bdr: \"borderWidth\",\n oc: \"overlayColor\",\n of: \"overlayFromOpacity\",\n ot: \"overlayToOpacity\",\n hs: \"imageHoverScale\",\n hd: \"imageHoverDuration\",\n v: \"variants\",\n xs: \"componentSet\",\n};\n\n/** Full key -> short key (inverse of KEY_MAP) */\nexport const KEY_MAP_REVERSE: Record<string, string> = Object.fromEntries(\n Object.entries(KEY_MAP).map(([short, full]) => [full, short]),\n);\n\n// ---------------------------------------------------------------------------\n// Base64url helpers (RFC 4648 §5, no padding)\n// ---------------------------------------------------------------------------\n\nfunction toBase64url(buf: Uint8Array): string {\n let binary = \"\";\n for (let i = 0; i < buf.length; i++) {\n binary += String.fromCharCode(buf[i]!);\n }\n return btoa(binary).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n}\n\nfunction fromBase64url(str: string): Uint8Array {\n const base64 = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64 + \"=\".repeat((4 - (base64.length % 4)) % 4);\n const binary = atob(padded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\n\n// ---------------------------------------------------------------------------\n// Encode / Decode\n// ---------------------------------------------------------------------------\n\n/**\n * Encode a theme state diff into a portable hash string.\n *\n * The input should only contain non-default values. The encoder maps\n * full keys to short keys, packs with MessagePack, and encodes as\n * `<version><base64url>`.\n */\nexport function encodeThemeHash(diff: ThemeHash): string {\n const compact: Record<string, unknown> = {};\n for (const [fullKey, value] of Object.entries(diff)) {\n const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;\n compact[shortKey] = value;\n }\n const packed = msgpackEncode(compact);\n return FORMAT_VERSION + toBase64url(packed);\n}\n\n/**\n * Decode a hash string back into a key-value bag with full key names.\n *\n * Returns partial data -- the consumer is responsible for merging onto\n * its own defaults. Unknown keys are preserved for forward compatibility.\n * Returns an empty object on invalid input (never throws).\n */\nexport function decodeThemeHash(hash: string): ThemeHash {\n try {\n if (!hash || hash.length < 2) return {};\n\n const version = hash[0];\n if (version !== FORMAT_VERSION) return {};\n\n const payload = hash.slice(1);\n const bytes = fromBase64url(payload);\n const compact = msgpackDecode(bytes) as Record<string, unknown>;\n\n if (typeof compact !== \"object\" || compact === null) return {};\n\n const result: ThemeHash = {};\n for (const [key, value] of Object.entries(compact)) {\n const fullKey = KEY_MAP[key] ?? key;\n result[fullKey] = value;\n }\n return result;\n } catch {\n return {};\n }\n}\n"],"mappings":"AAAA,SAAS,UAAU,eAAe,UAAU,qBAAqB;AAWjE,MAAM,iBAAiB;AAOhB,MAAM,UAAkC;AAAA,EAC7C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AACN;AAGO,MAAM,kBAA0C,OAAO;AAAA,EAC5D,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAC9D;AAMA,SAAS,YAAY,KAAyB;AAC5C,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,cAAU,OAAO,aAAa,IAAI,CAAC,CAAE;AAAA,EACvC;AACA,SAAO,KAAK,MAAM,EAAE,QAAQ,OAAO,GAAG,EAAE,QAAQ,OAAO,GAAG,EAAE,QAAQ,OAAO,EAAE;AAC/E;AAEA,SAAS,cAAc,KAAyB;AAC9C,QAAM,SAAS,IAAI,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG;AACvD,QAAM,SAAS,SAAS,IAAI,QAAQ,IAAK,OAAO,SAAS,KAAM,CAAC;AAChE,QAAM,SAAS,KAAK,MAAM;AAC1B,QAAM,QAAQ,IAAI,WAAW,OAAO,MAAM;AAC1C,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,UAAM,CAAC,IAAI,OAAO,WAAW,CAAC;AAAA,EAChC;AACA,SAAO;AACT;AAaO,SAAS,gBAAgB,MAAyB;AACvD,QAAM,UAAmC,CAAC;AAC1C,aAAW,CAAC,SAAS,KAAK,KAAK,OAAO,QAAQ,IAAI,GAAG;AACnD,UAAM,WAAW,gBAAgB,OAAO,KAAK;AAC7C,YAAQ,QAAQ,IAAI;AAAA,EACtB;AACA,QAAM,SAAS,cAAc,OAAO;AACpC,SAAO,iBAAiB,YAAY,MAAM;AAC5C;AASO,SAAS,gBAAgB,MAAyB;AACvD,MAAI;AACF,QAAI,CAAC,QAAQ,KAAK,SAAS,EAAG,QAAO,CAAC;AAEtC,UAAM,UAAU,KAAK,CAAC;AACtB,QAAI,YAAY,eAAgB,QAAO,CAAC;AAExC,UAAM,UAAU,KAAK,MAAM,CAAC;AAC5B,UAAM,QAAQ,cAAc,OAAO;AACnC,UAAM,UAAU,cAAc,KAAK;AAEnC,QAAI,OAAO,YAAY,YAAY,YAAY,KAAM,QAAO,CAAC;AAE7D,UAAM,SAAoB,CAAC;AAC3B,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,YAAM,UAAU,QAAQ,GAAG,KAAK;AAChC,aAAO,OAAO,IAAI;AAAA,IACpB;AACA,WAAO;AAAA,EACT,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;","names":[]}
1
+ {"version":3,"file":"codec.mjs","names":["msgpackEncode","msgpackDecode"],"sources":["../../../src/client/theme/codec.ts"],"sourcesContent":["import { decode as msgpackDecode, encode as msgpackEncode } from \"@msgpack/msgpack\";\n\n/**\n * Loose bag of theme values. The decoder returns whatever keys are present;\n * the consumer merges onto its own defaults. This keeps the format\n * forward/backward compatible: new keys are silently ignored by old decoders,\n * and removed keys are filled from defaults by the consumer.\n */\nexport type ThemeHash = Record<string, unknown>;\n\n// Current format version. Prepended as a single ASCII char before the base64url payload.\nconst FORMAT_VERSION = \"1\";\n\n// ---------------------------------------------------------------------------\n// Short key mapping\n// ---------------------------------------------------------------------------\n\n/** Short key -> full key */\nexport const KEY_MAP: Record<string, string> = {\n c: \"colorize\",\n i: \"intensity\",\n d: \"delight\",\n r: \"radius\",\n bf: \"fontBody\",\n hf: \"fontHeading\",\n ic: \"iconSet\",\n cs: \"colorSpace\",\n dm: \"darkMode\",\n lc: \"lightColors\",\n dc: \"darkColors\",\n br: \"buttonRadius\",\n cr: \"cardRadius\",\n ir: \"inputRadius\",\n mr: \"imageRadius\",\n sp: \"shadowPreset\",\n sc: \"shadowColor\",\n hw: \"headingWeight\",\n ht: \"headingTracking\",\n bw: \"bodyWeight\",\n hx: \"headingTransform\",\n bdr: \"borderWidth\",\n oc: \"overlayColor\",\n of: \"overlayFromOpacity\",\n ot: \"overlayToOpacity\",\n hs: \"imageHoverScale\",\n hd: \"imageHoverDuration\",\n v: \"variants\",\n xs: \"componentSet\",\n};\n\n/** Full key -> short key (inverse of KEY_MAP) */\nexport const KEY_MAP_REVERSE: Record<string, string> = Object.fromEntries(\n Object.entries(KEY_MAP).map(([short, full]) => [full, short]),\n);\n\n// ---------------------------------------------------------------------------\n// Base64url helpers (RFC 4648 §5, no padding)\n// ---------------------------------------------------------------------------\n\nfunction toBase64url(buf: Uint8Array): string {\n let binary = \"\";\n for (let i = 0; i < buf.length; i++) {\n binary += String.fromCharCode(buf[i]!);\n }\n return btoa(binary).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n}\n\nfunction fromBase64url(str: string): Uint8Array {\n const base64 = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64 + \"=\".repeat((4 - (base64.length % 4)) % 4);\n const binary = atob(padded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\n\n// ---------------------------------------------------------------------------\n// Encode / Decode\n// ---------------------------------------------------------------------------\n\n/**\n * Encode a theme state diff into a portable hash string.\n *\n * The input should only contain non-default values. The encoder maps\n * full keys to short keys, packs with MessagePack, and encodes as\n * `<version><base64url>`.\n */\nexport function encodeThemeHash(diff: ThemeHash): string {\n const compact: Record<string, unknown> = {};\n for (const [fullKey, value] of Object.entries(diff)) {\n const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;\n compact[shortKey] = value;\n }\n const packed = msgpackEncode(compact);\n return FORMAT_VERSION + toBase64url(packed);\n}\n\n/**\n * Decode a hash string back into a key-value bag with full key names.\n *\n * Returns partial data -- the consumer is responsible for merging onto\n * its own defaults. Unknown keys are preserved for forward compatibility.\n * Returns an empty object on invalid input (never throws).\n */\nexport function decodeThemeHash(hash: string): ThemeHash {\n try {\n if (!hash || hash.length < 2) return {};\n\n const version = hash[0];\n if (version !== FORMAT_VERSION) return {};\n\n const payload = hash.slice(1);\n const bytes = fromBase64url(payload);\n const compact = msgpackDecode(bytes) as Record<string, unknown>;\n\n if (typeof compact !== \"object\" || compact === null) return {};\n\n const result: ThemeHash = {};\n for (const [key, value] of Object.entries(compact)) {\n const fullKey = KEY_MAP[key] ?? key;\n result[fullKey] = value;\n }\n return result;\n } catch {\n return {};\n }\n}\n"],"mappings":";;AAWA,MAAM,iBAAiB;;AAOvB,MAAa,UAAkC;CAC7C,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,GAAG;CACH,IAAI;CACL;;AAGD,MAAa,kBAA0C,OAAO,YAC5D,OAAO,QAAQ,QAAQ,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,MAAM,MAAM,CAAC,CAC9D;AAMD,SAAS,YAAY,KAAyB;CAC5C,IAAI,SAAS;AACb,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,IAC9B,WAAU,OAAO,aAAa,IAAI,GAAI;AAExC,QAAO,KAAK,OAAO,CAAC,QAAQ,OAAO,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,QAAQ,OAAO,GAAG;;AAGhF,SAAS,cAAc,KAAyB;CAC9C,MAAM,SAAS,IAAI,QAAQ,MAAM,IAAI,CAAC,QAAQ,MAAM,IAAI;CACxD,MAAM,SAAS,SAAS,IAAI,QAAQ,IAAK,OAAO,SAAS,KAAM,EAAE;CACjE,MAAM,SAAS,KAAK,OAAO;CAC3B,MAAM,QAAQ,IAAI,WAAW,OAAO,OAAO;AAC3C,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,IACjC,OAAM,KAAK,OAAO,WAAW,EAAE;AAEjC,QAAO;;;;;;;;;AAcT,SAAgB,gBAAgB,MAAyB;CACvD,MAAM,UAAmC,EAAE;AAC3C,MAAK,MAAM,CAAC,SAAS,UAAU,OAAO,QAAQ,KAAK,EAAE;EACnD,MAAM,WAAW,gBAAgB,YAAY;AAC7C,UAAQ,YAAY;;AAGtB,QAAO,iBAAiB,YADTA,OAAc,QAAQ,CACM;;;;;;;;;AAU7C,SAAgB,gBAAgB,MAAyB;AACvD,KAAI;AACF,MAAI,CAAC,QAAQ,KAAK,SAAS,EAAG,QAAO,EAAE;AAGvC,MADgB,KAAK,OACL,eAAgB,QAAO,EAAE;EAIzC,MAAM,UAAUC,OADF,cADE,KAAK,MAAM,EAAE,CACO,CACA;AAEpC,MAAI,OAAO,YAAY,YAAY,YAAY,KAAM,QAAO,EAAE;EAE9D,MAAM,SAAoB,EAAE;AAC5B,OAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAQ,EAAE;GAClD,MAAM,UAAU,QAAQ,QAAQ;AAChC,UAAO,WAAW;;AAEpB,SAAO;SACD;AACN,SAAO,EAAE"}
@@ -1,64 +1,49 @@
1
+ //#region src/client/theme/defaults.d.ts
1
2
  /**
2
3
  * SDK default color tokens. These are the canonical defaults used by
3
4
  * the theme codec to compute diffs (only non-default values are encoded).
4
5
  */
5
- export declare const SDK_DEFAULTS: {
6
- light: Record<string, string>;
7
- dark: Record<string, string>;
6
+ declare const SDK_DEFAULTS: {
7
+ light: Record<string, string>;
8
+ dark: Record<string, string>;
8
9
  };
9
10
  /** Default values for design tokens (non-color). */
10
- export declare const TOKEN_DEFAULTS: {
11
- readonly colorize: 50;
12
- readonly intensity: 50;
13
- readonly delight: 50;
14
- readonly radius: 0.75;
15
- readonly fontBody: "Inter";
16
- readonly fontHeading: "Inter";
17
- readonly iconSet: "Phosphor";
18
- readonly colorSpace: "hsl";
19
- readonly darkMode: false;
20
- readonly componentSet: "default" | "mono";
21
- readonly buttonRadius: "9999px";
22
- readonly cardRadius: "var(--radius)";
23
- readonly inputRadius: "var(--radius)";
24
- readonly imageRadius: "0px";
25
- readonly shadowPreset: "none";
26
- readonly shadowColor: "oklch(0 0 0 / 0.1)";
27
- readonly headingWeight: "600";
28
- readonly headingTracking: "0em";
29
- readonly bodyWeight: "400";
30
- readonly headingTransform: "none";
31
- readonly borderWidth: "1px";
32
- readonly overlayColor: "black";
33
- readonly overlayFromOpacity: "0.5";
34
- readonly overlayToOpacity: "0";
35
- readonly imageHoverScale: "1.05";
36
- readonly imageHoverDuration: "300ms";
37
- readonly variants: {
38
- readonly hero: "overlay";
39
- readonly linkBlock: "overlay";
40
- readonly productCard: "gallery";
41
- readonly contentWithImage: "side-by-side";
42
- readonly gallery: "grid";
43
- readonly textContent: "default";
44
- };
45
- };
46
- /** Mono preset overrides. Merge onto TOKEN_DEFAULTS when componentSet is "mono". */
47
- export declare const MONO_TOKEN_OVERRIDES: {
48
- readonly componentSet: "mono";
49
- readonly radius: 0.5;
50
- readonly fontBody: "Lexend";
51
- readonly fontHeading: "Lexend";
52
- readonly colorSpace: "oklch";
53
- readonly buttonRadius: "8px";
54
- readonly cardRadius: "12px";
55
- readonly inputRadius: "8px";
56
- readonly shadowPreset: "subtle";
57
- readonly shadowColor: "rgba(0, 0, 0, 0.1)";
58
- };
59
- /** Mono color defaults (oklch, zero-chroma monochromatic palette). */
60
- export declare const MONO_SDK_DEFAULTS: {
61
- light: Record<string, string>;
62
- dark: Record<string, string>;
11
+ declare const TOKEN_DEFAULTS: {
12
+ readonly colorize: 50;
13
+ readonly intensity: 50;
14
+ readonly delight: 50;
15
+ readonly radius: 0.75;
16
+ readonly fontBody: "Inter";
17
+ readonly fontHeading: "Inter";
18
+ readonly iconSet: "Phosphor";
19
+ readonly colorSpace: "hsl";
20
+ readonly darkMode: false;
21
+ readonly componentSet: "default";
22
+ readonly buttonRadius: "9999px";
23
+ readonly cardRadius: "var(--radius)";
24
+ readonly inputRadius: "var(--radius)";
25
+ readonly imageRadius: "0px";
26
+ readonly shadowPreset: "none";
27
+ readonly shadowColor: "oklch(0 0 0 / 0.1)";
28
+ readonly headingWeight: "600";
29
+ readonly headingTracking: "0em";
30
+ readonly bodyWeight: "400";
31
+ readonly headingTransform: "none";
32
+ readonly borderWidth: "1px";
33
+ readonly overlayColor: "black";
34
+ readonly overlayFromOpacity: "0.5";
35
+ readonly overlayToOpacity: "0";
36
+ readonly imageHoverScale: "1.05";
37
+ readonly imageHoverDuration: "300ms";
38
+ readonly variants: {
39
+ readonly hero: "overlay";
40
+ readonly linkBlock: "overlay";
41
+ readonly productCard: "gallery";
42
+ readonly contentWithImage: "side-by-side";
43
+ readonly gallery: "grid";
44
+ readonly textContent: "default";
45
+ };
63
46
  };
47
+ //#endregion
48
+ export { SDK_DEFAULTS, TOKEN_DEFAULTS };
64
49
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/client/theme/defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,YAAY;WAuBlB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;UAuBtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,cAAc;;;;;;;;;;2BAUE,SAAS,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;CAuCrC,CAAC;AAEX,oFAAoF;AACpF,eAAO,MAAM,oBAAoB;;;;;;;;;;;CAWvB,CAAC;AAEX,sEAAsE;AACtE,eAAO,MAAM,iBAAiB;WAuBvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;UAuBtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","names":[],"sources":["../../../src/client/theme/defaults.ts"],"mappings":";;AAIA;;;cAAa,YAAA;SAuBN,MAAA;QAuBA,MAAA;AAAA;;cAIM,cAAA;EAAA"}