@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/user/components/signup-organisation-form.tsx"],"sourcesContent":["\"use client\"\n\nimport {\n type OrganisationBillingAddress,\n type OrganisationShippingAddress,\n type RegisterOrganisationRequest,\n} from \"@enadhq/enad-ts-sdk\"\nimport { zodResolver } from \"@hookform/resolvers/zod\"\nimport React, { useEffect, useRef, useState } from \"react\"\nimport { type FieldError, type UseFormReturn, useForm } from \"react-hook-form\"\nimport * as z from \"zod\"\nimport { registerOrganisationAction } from \"../actions/registerOrganisationAction\"\nimport { registerUserWithoutRedirectAction } from \"../actions/registerUserWithoutRedirectAction\"\nimport { StorefrontButton } from \"../../storefront/primitives/button\"\n\nconst addressSchema = z.object({\n street_address: z.string().min(1, \"Street address is required\"),\n house_number: z.string().optional(),\n city: z.string().min(1, \"City is required\"),\n postal_code: z.string().min(1, \"Postal code is required\"),\n country: z.string().min(1, \"Country is required\"),\n state_province: z.string().optional(),\n phone: z.string().optional(),\n co_address: z.string().optional(),\n name: z.string().optional(),\n is_default: z.boolean().default(true),\n shipping_type: z.string().default(\"standard\"),\n})\n\nconst userSchema = z\n .object({\n first_name: z.string().trim().min(1, \"First name is required\"),\n last_name: z.string().trim().min(1, \"Last name is required\"),\n email: z.string().email(\"Invalid email address\").min(1, \"Email is required\"),\n password: z\n .string()\n .min(10, \"Password must be at least 10 characters\")\n .regex(/\\d/, \"Password must contain a number\"),\n confirmPassword: z.string(),\n phone_number: z.string().optional(),\n language: z.string().default(\"SV\"),\n country_code: z.string().default(\"SE\"),\n market: z.string().default(\"SE\"),\n store_group: z.string().default(\"default\"),\n allow_email_notifications: z.boolean().default(false),\n allow_phone_notifications: z.boolean().default(false),\n allow_postal_notifications: z.boolean().default(false),\n })\n .refine((data) => data.password === data.confirmPassword, {\n message: \"Passwords do not match\",\n path: [\"confirmPassword\"],\n })\n\nconst organizationSchema = z.object({\n name: z.string().min(1, \"Organization name is required\"),\n organisation_number: z.string().min(1, \"Organization number is required\"),\n tax_id_vat_number: z.string().min(1, \"Tax ID/VAT number is required\"),\n contact_name: z.string().optional(),\n email: z.string().email(\"Invalid email address\").min(1, \"Email is required\"),\n invoice_email: z.string().email(\"Invalid email address\").optional(),\n phone: z.string().optional(),\n external_ref: z.string().optional(),\n attribute: z.string().optional(),\n credit_check: z.boolean().default(false),\n custom_fields: z.record(z.string(), z.any()).optional(),\n billing_address: z.array(addressSchema).min(1),\n})\n\nconst formSchema = z.object({\n user: userSchema,\n organization: organizationSchema,\n shipping_address: z.array(addressSchema).min(1),\n use_billing_as_shipping: z.boolean().default(false),\n terms_accepted: z.boolean().refine((val) => val === true, {\n message: \"You must accept the terms and conditions\",\n }),\n})\n\ntype FormData = z.infer<typeof formSchema>\n\nconst INPUT_BASE_CLASSES = `\n w-full px-4 py-2.5\n border border-(--enad-border-color)\n rounded-[var(--enad-input-radius)]\n focus:ring-2 focus:ring-(--enad-button-bg)\n focus:border-(--enad-button-bg)\n outline-none transition\n bg-(--enad-background)\n text-(--enad-text-primary-color)\n`\nconst LABEL_CLASSES = `block text-sm font-medium text-(--enad-text-primary-color) mb-1`\nconst ERROR_CLASSES = `text-(--enad-error-color) text-sm mt-1`\nconst SECTION_TITLE_CLASSES = `text-xl font-semibold mb-4 pb-2 border-b border-(--enad-border-color)`\n\nfunction ariaError(error: FieldError | undefined, id: string): string | undefined {\n return error ? id : undefined\n}\n\ninterface FormFieldProps {\n label: string\n required?: boolean\n errorId?: string\n error?: FieldError\n children: React.ReactNode\n}\n\nfunction FormField({ label, required, errorId, error, children }: FormFieldProps) {\n return (\n <div>\n <label className={LABEL_CLASSES}>\n {label}{required && <span className=\"text-(--enad-error-color)\"> *</span>}\n </label>\n {children}\n {error && (\n <p id={errorId} role=\"alert\" className={ERROR_CLASSES}>{error.message}</p>\n )}\n </div>\n )\n}\n\ninterface ConfirmationViewProps {\n title: string\n message: string\n}\n\nfunction ConfirmationView({ title, message }: ConfirmationViewProps) {\n return (\n <main className=\"flex items-center justify-center px-4\">\n <div className=\"w-full max-w-md bg-(--enad-surface) shadow-lg p-8 border border-(--enad-border-color) rounded-(--enad-card-radius)\">\n <h2 className=\"text-2xl font-semibold mb-2 text-center text-(--enad-text-primary-color)\">\n {title}\n </h2>\n <p className=\"text-sm text-center text-(--enad-text-muted-color)\">\n {message}\n </p>\n </div>\n </main>\n )\n}\n\ninterface ContactNameFieldsProps {\n form: UseFormReturn<FormData>\n firstNameLabel: string\n lastNameLabel: string\n}\n\nfunction ContactNameFields({ form, firstNameLabel, lastNameLabel }: ContactNameFieldsProps) {\n const errors = form.formState.errors\n return (\n <div className=\"grid md:grid-cols-2 gap-4\">\n <FormField label={firstNameLabel} required errorId=\"user-firstName-error\" error={errors.user?.first_name}>\n <input\n {...form.register(\"user.first_name\")}\n aria-describedby={ariaError(errors.user?.first_name, \"user-firstName-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"John\"\n />\n </FormField>\n <FormField label={lastNameLabel} required errorId=\"user-lastName-error\" error={errors.user?.last_name}>\n <input\n {...form.register(\"user.last_name\")}\n aria-describedby={ariaError(errors.user?.last_name, \"user-lastName-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"Doe\"\n />\n </FormField>\n </div>\n )\n}\n\ninterface ContactEmailPhoneFieldsProps {\n form: UseFormReturn<FormData>\n emailLabel: string\n phoneLabel: string\n}\n\nfunction ContactEmailPhoneFields({ form, emailLabel, phoneLabel }: ContactEmailPhoneFieldsProps) {\n const errors = form.formState.errors\n return (\n <div className=\"grid md:grid-cols-2 gap-4\">\n <FormField label={emailLabel} required errorId=\"user-email-error\" error={errors.user?.email}>\n <input\n type=\"email\"\n {...form.register(\"user.email\")}\n aria-describedby={ariaError(errors.user?.email, \"user-email-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"you@example.com\"\n />\n </FormField>\n <FormField label={phoneLabel} errorId=\"user-phone-error\" error={errors.user?.phone_number}>\n <input\n type=\"tel\"\n {...form.register(\"user.phone_number\")}\n aria-describedby={ariaError(errors.user?.phone_number, \"user-phone-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"+46 123 456 789\"\n />\n </FormField>\n </div>\n )\n}\n\ninterface ContactPasswordFieldsProps {\n form: UseFormReturn<FormData>\n passwordLabel: string\n confirmPasswordLabel: string\n showPassword: boolean\n showConfirmPassword: boolean\n onTogglePassword: () => void\n onToggleConfirmPassword: () => void\n}\n\nfunction ContactPasswordFields({\n form, passwordLabel, confirmPasswordLabel,\n showPassword, showConfirmPassword,\n onTogglePassword, onToggleConfirmPassword,\n}: ContactPasswordFieldsProps) {\n const errors = form.formState.errors\n return (\n <div className=\"grid md:grid-cols-2 gap-4\">\n <FormField label={passwordLabel} required errorId=\"user-password-error\" error={errors.user?.password}>\n <div className=\"relative\">\n <input\n type={showPassword ? \"text\" : \"password\"}\n {...form.register(\"user.password\")}\n aria-describedby={ariaError(errors.user?.password, \"user-password-error\")}\n className={`${INPUT_BASE_CLASSES} pr-10`}\n placeholder=\"••••••••\"\n />\n <button\n type=\"button\"\n onClick={onTogglePassword}\n className=\"absolute right-2 top-1/2 -translate-y-1/2 text-(--enad-text-muted-color)\"\n >\n {showPassword ? \"Hide\" : \"Show\"}\n </button>\n </div>\n </FormField>\n <FormField label={confirmPasswordLabel} required errorId=\"user-confirmPassword-error\" error={errors.user?.confirmPassword}>\n <div className=\"relative\">\n <input\n type={showConfirmPassword ? \"text\" : \"password\"}\n {...form.register(\"user.confirmPassword\")}\n aria-describedby={ariaError(errors.user?.confirmPassword, \"user-confirmPassword-error\")}\n className={`${INPUT_BASE_CLASSES} pr-10`}\n placeholder=\"••••••••\"\n />\n <button\n type=\"button\"\n onClick={onToggleConfirmPassword}\n className=\"absolute right-2 top-1/2 -translate-y-1/2 text-(--enad-text-muted-color)\"\n >\n {showConfirmPassword ? \"Hide\" : \"Show\"}\n </button>\n </div>\n </FormField>\n </div>\n )\n}\n\ninterface CommunicationPrefsFieldsProps {\n form: UseFormReturn<FormData>\n communicationPreferences: string\n emailNotifications: string\n smsNotifications: string\n postalNotifications: string\n}\n\nfunction CommunicationPrefsFields({\n form, communicationPreferences, emailNotifications, smsNotifications, postalNotifications,\n}: CommunicationPrefsFieldsProps) {\n return (\n <div className=\"space-y-2\">\n <p className=\"text-sm font-medium text-(--enad-text-primary-color)\">\n {communicationPreferences}\n </p>\n <div className=\"flex items-center gap-2\">\n <input type=\"checkbox\" {...form.register(\"user.allow_email_notifications\")} className=\"h-4 w-4\" />\n <label className=\"text-sm text-(--enad-text-primary-color)\">{emailNotifications}</label>\n </div>\n <div className=\"flex items-center gap-2\">\n <input type=\"checkbox\" {...form.register(\"user.allow_phone_notifications\")} className=\"h-4 w-4\" />\n <label className=\"text-sm text-(--enad-text-primary-color)\">{smsNotifications}</label>\n </div>\n <div className=\"flex items-center gap-2\">\n <input type=\"checkbox\" {...form.register(\"user.allow_postal_notifications\")} className=\"h-4 w-4\" />\n <label className=\"text-sm text-(--enad-text-primary-color)\">{postalNotifications}</label>\n </div>\n </div>\n )\n}\n\ninterface ContactPersonSectionProps {\n form: UseFormReturn<FormData>\n labels: {\n sectionTitle: string\n firstName: string\n lastName: string\n email: string\n phone: string\n password: string\n confirmPassword: string\n communicationPreferences: string\n emailNotifications: string\n smsNotifications: string\n postalNotifications: string\n }\n showPassword: boolean\n showConfirmPassword: boolean\n onTogglePassword: () => void\n onToggleConfirmPassword: () => void\n}\n\nfunction ContactPersonSection({\n form, labels,\n showPassword, showConfirmPassword,\n onTogglePassword, onToggleConfirmPassword,\n}: ContactPersonSectionProps) {\n return (\n <div className=\"space-y-4\">\n <h3 className={SECTION_TITLE_CLASSES}>{labels.sectionTitle}</h3>\n <ContactNameFields form={form} firstNameLabel={labels.firstName} lastNameLabel={labels.lastName} />\n <ContactEmailPhoneFields form={form} emailLabel={labels.email} phoneLabel={labels.phone} />\n <ContactPasswordFields\n form={form}\n passwordLabel={labels.password}\n confirmPasswordLabel={labels.confirmPassword}\n showPassword={showPassword}\n showConfirmPassword={showConfirmPassword}\n onTogglePassword={onTogglePassword}\n onToggleConfirmPassword={onToggleConfirmPassword}\n />\n <CommunicationPrefsFields\n form={form}\n communicationPreferences={labels.communicationPreferences}\n emailNotifications={labels.emailNotifications}\n smsNotifications={labels.smsNotifications}\n postalNotifications={labels.postalNotifications}\n />\n </div>\n )\n}\n\ninterface CompanyInfoSectionProps {\n form: UseFormReturn<FormData>\n labels: {\n sectionTitle: string\n companyName: string\n orgNumber: string\n vatNumber: string\n companyEmail: string\n companyPhone: string\n invoiceEmail: string\n contactName: string\n externalRef: string\n }\n}\n\nfunction CompanyIdentityFields({ form, labels }: { form: UseFormReturn<FormData>; labels: { companyName: string; orgNumber: string; vatNumber: string } }) {\n const errors = form.formState.errors\n return (\n <>\n <FormField label={labels.companyName} required errorId=\"org-name-error\" error={errors.organization?.name}>\n <input\n {...form.register(\"organization.name\")}\n aria-describedby={ariaError(errors.organization?.name, \"org-name-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"Company Name\"\n />\n </FormField>\n <div className=\"grid md:grid-cols-2 gap-4\">\n <FormField label={labels.orgNumber} required errorId=\"org-number-error\" error={errors.organization?.organisation_number}>\n <input\n {...form.register(\"organization.organisation_number\")}\n aria-describedby={ariaError(errors.organization?.organisation_number, \"org-number-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"1234567890\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n form.setValue(\"organization.organisation_number\", e.target.value.replace(/\\D/g, \"\"))\n }}\n />\n </FormField>\n <FormField label={labels.vatNumber} required errorId=\"org-vat-error\" error={errors.organization?.tax_id_vat_number}>\n <input\n {...form.register(\"organization.tax_id_vat_number\")}\n aria-describedby={ariaError(errors.organization?.tax_id_vat_number, \"org-vat-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"SE123456789001\"\n />\n </FormField>\n </div>\n </>\n )\n}\n\nfunction CompanyContactFields({ form, labels }: { form: UseFormReturn<FormData>; labels: { companyEmail: string; companyPhone: string; invoiceEmail: string } }) {\n const errors = form.formState.errors\n return (\n <>\n <div className=\"grid md:grid-cols-2 gap-4\">\n <FormField label={labels.companyEmail} required errorId=\"org-email-error\" error={errors.organization?.email}>\n <input\n type=\"email\"\n {...form.register(\"organization.email\")}\n aria-describedby={ariaError(errors.organization?.email, \"org-email-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"company@example.com\"\n />\n </FormField>\n <FormField label={labels.companyPhone} errorId=\"org-phone-error\" error={errors.organization?.phone}>\n <input\n type=\"tel\"\n {...form.register(\"organization.phone\")}\n aria-describedby={ariaError(errors.organization?.phone, \"org-phone-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"+46 123 456 789\"\n />\n </FormField>\n </div>\n <FormField label={labels.invoiceEmail} errorId=\"org-invoiceEmail-error\" error={errors.organization?.invoice_email}>\n <input\n type=\"email\"\n {...form.register(\"organization.invoice_email\")}\n aria-describedby={ariaError(errors.organization?.invoice_email, \"org-invoiceEmail-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"invoices@example.com\"\n />\n </FormField>\n </>\n )\n}\n\nfunction CompanyExtraFields({ form, labels }: { form: UseFormReturn<FormData>; labels: { contactName: string; externalRef: string } }) {\n const errors = form.formState.errors\n return (\n <div className=\"grid md:grid-cols-2 gap-4\">\n <FormField label={labels.contactName} errorId=\"org-contactName-error\" error={errors.organization?.contact_name}>\n <input\n {...form.register(\"organization.contact_name\")}\n aria-describedby={ariaError(errors.organization?.contact_name, \"org-contactName-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"Contact Person\"\n />\n </FormField>\n <FormField label={labels.externalRef} errorId=\"org-externalRef-error\" error={errors.organization?.external_ref}>\n <input\n {...form.register(\"organization.external_ref\")}\n aria-describedby={ariaError(errors.organization?.external_ref, \"org-externalRef-error\")}\n className={INPUT_BASE_CLASSES}\n placeholder=\"External Ref\"\n />\n </FormField>\n </div>\n )\n}\n\nfunction CompanyInfoSection({ form, labels }: CompanyInfoSectionProps) {\n return (\n <div className=\"space-y-4\">\n <h3 className={SECTION_TITLE_CLASSES}>{labels.sectionTitle}</h3>\n <CompanyIdentityFields form={form} labels={labels} />\n <CompanyContactFields form={form} labels={labels} />\n <CompanyExtraFields form={form} labels={labels} />\n </div>\n )\n}\n\ninterface AddressLabels {\n streetAddress: string\n houseNumber: string\n coAddress: string\n postalCode: string\n city: string\n country: string\n}\n\ninterface AddressFieldsProps {\n form: UseFormReturn<FormData>\n prefix: \"organization.billing_address.0\" | \"shipping_address.0\"\n idPrefix: string\n labels: AddressLabels\n}\n\nfunction AddressStreetRow({ form, prefix, idPrefix, labels, addressErrors }: AddressFieldsProps & { addressErrors: Record<string, FieldError> | undefined }) {\n return (\n <div className=\"grid md:grid-cols-2 gap-4\">\n <FormField label={labels.streetAddress} required errorId={`${idPrefix}-street-error`} error={addressErrors?.street_address}>\n <input\n {...form.register(`${prefix}.street_address`)}\n aria-describedby={ariaError(addressErrors?.street_address, `${idPrefix}-street-error`)}\n className={INPUT_BASE_CLASSES}\n placeholder=\"Street Address\"\n />\n </FormField>\n <div>\n <label className={LABEL_CLASSES}>{labels.houseNumber}</label>\n <input\n {...form.register(`${prefix}.house_number`)}\n className={INPUT_BASE_CLASSES}\n placeholder=\"123\"\n />\n </div>\n </div>\n )\n}\n\nfunction AddressPostalRow({ form, prefix, idPrefix, labels, addressErrors }: AddressFieldsProps & { addressErrors: Record<string, FieldError> | undefined }) {\n return (\n <div className=\"grid md:grid-cols-2 gap-4\">\n <div>\n <label className={LABEL_CLASSES}>{labels.coAddress}</label>\n <input\n {...form.register(`${prefix}.co_address`)}\n className={INPUT_BASE_CLASSES}\n placeholder=\"Co Address\"\n />\n </div>\n <FormField label={labels.postalCode} required errorId={`${idPrefix}-postal-error`} error={addressErrors?.postal_code}>\n <input\n {...form.register(`${prefix}.postal_code`)}\n aria-describedby={ariaError(addressErrors?.postal_code, `${idPrefix}-postal-error`)}\n className={INPUT_BASE_CLASSES}\n placeholder=\"12345\"\n />\n </FormField>\n </div>\n )\n}\n\nfunction AddressCityRow({ form, prefix, idPrefix, labels, addressErrors }: AddressFieldsProps & { addressErrors: Record<string, FieldError> | undefined }) {\n return (\n <div className=\"grid md:grid-cols-2 gap-4\">\n <FormField label={labels.city} required errorId={`${idPrefix}-city-error`} error={addressErrors?.city}>\n <input\n {...form.register(`${prefix}.city`)}\n aria-describedby={ariaError(addressErrors?.city, `${idPrefix}-city-error`)}\n className={INPUT_BASE_CLASSES}\n placeholder=\"City\"\n />\n </FormField>\n <FormField label={labels.country} required errorId={`${idPrefix}-country-error`} error={addressErrors?.country}>\n <select\n {...form.register(`${prefix}.country`)}\n aria-describedby={ariaError(addressErrors?.country, `${idPrefix}-country-error`)}\n className={INPUT_BASE_CLASSES}\n >\n <option value=\"SE\">Sweden</option>\n <option value=\"NO\">Norway</option>\n <option value=\"DK\">Denmark</option>\n <option value=\"FI\">Finland</option>\n </select>\n </FormField>\n </div>\n )\n}\n\nfunction AddressFields({ form, prefix, idPrefix, labels }: AddressFieldsProps) {\n const isBilling = prefix === \"organization.billing_address.0\"\n const addressErrors = isBilling\n ? form.formState.errors.organization?.billing_address?.[0]\n : form.formState.errors.shipping_address?.[0]\n const rowProps = { form, prefix, idPrefix, labels, addressErrors } as AddressFieldsProps & { addressErrors: Record<string, FieldError> | undefined }\n return (\n <>\n <AddressStreetRow {...rowProps} />\n <AddressPostalRow {...rowProps} />\n <AddressCityRow {...rowProps} />\n </>\n )\n}\n\nfunction BillingAddressSection({ form, labels }: { form: UseFormReturn<FormData>; labels: AddressLabels & { sectionTitle: string } }) {\n return (\n <div className=\"space-y-4\">\n <h3 className={SECTION_TITLE_CLASSES}>{labels.sectionTitle}</h3>\n <AddressFields\n form={form}\n prefix=\"organization.billing_address.0\"\n idPrefix=\"billing\"\n labels={labels}\n />\n </div>\n )\n}\n\nfunction ShippingAddressSection({ form, useBillingAsShipping, labels }: { form: UseFormReturn<FormData>; useBillingAsShipping: boolean; labels: AddressLabels & { sectionTitle: string; sameBillingAsShipping: string } }) {\n return (\n <div className=\"space-y-4\">\n <h3 className={SECTION_TITLE_CLASSES}>{labels.sectionTitle}</h3>\n <div className=\"flex items-center gap-2 mb-4\">\n <input\n type=\"checkbox\"\n {...form.register(\"use_billing_as_shipping\")}\n className=\"h-4 w-4\"\n />\n <label className=\"text-sm font-medium text-(--enad-text-primary-color)\">\n {labels.sameBillingAsShipping}\n </label>\n </div>\n {!useBillingAsShipping && (\n <AddressFields\n form={form}\n prefix=\"shipping_address.0\"\n idPrefix=\"shipping\"\n labels={labels}\n />\n )}\n </div>\n )\n}\n\nfunction useAutoFillEffects(form: UseFormReturn<FormData>) {\n const { watch, setValue } = form\n const useBillingAsShipping = watch(\"use_billing_as_shipping\")\n const billingAddress = watch(\"organization.billing_address.0\")\n const contactEmail = watch(\"user.email\")\n const contactPhone = watch(\"user.phone_number\")\n const orgNumber = watch(\"organization.organisation_number\")\n const invoiceCountry = watch(\"organization.billing_address.0.country\")\n\n const lastAutoOrgEmail = useRef<string | null>(null)\n const lastAutoInvoiceEmail = useRef<string | null>(null)\n const lastAutoOrgPhone = useRef<string | null>(null)\n const lastAutoVat = useRef<string | null>(null)\n\n useEffect(() => {\n if (useBillingAsShipping && billingAddress) {\n setValue(\"shipping_address.0\", billingAddress)\n }\n }, [useBillingAsShipping, billingAddress, setValue])\n\n useEffect(() => {\n if (!contactEmail) return\n const currentOrgEmail = form.getValues(\"organization.email\")\n if (!currentOrgEmail || currentOrgEmail === lastAutoOrgEmail.current) {\n setValue(\"organization.email\", contactEmail)\n lastAutoOrgEmail.current = contactEmail\n }\n const currentInvoiceEmail = form.getValues(\"organization.invoice_email\")\n if (!currentInvoiceEmail || currentInvoiceEmail === lastAutoInvoiceEmail.current) {\n setValue(\"organization.invoice_email\", contactEmail)\n lastAutoInvoiceEmail.current = contactEmail\n }\n }, [contactEmail, setValue, form])\n\n useEffect(() => {\n if (!contactPhone) return\n const currentOrgPhone = form.getValues(\"organization.phone\")\n if (!currentOrgPhone || currentOrgPhone === lastAutoOrgPhone.current) {\n setValue(\"organization.phone\", contactPhone)\n lastAutoOrgPhone.current = contactPhone\n }\n }, [contactPhone, setValue, form])\n\n useEffect(() => {\n const currentOrgNumber = form.getValues(\"organization.organisation_number\")\n const currentCountry = (form.getValues(\"organization.billing_address.0.country\") || \"\")\n .toString()\n .toUpperCase()\n const currentVat = form.getValues(\"organization.tax_id_vat_number\")\n if (!currentOrgNumber) {\n if (!currentVat || currentVat === lastAutoVat.current) {\n setValue(\"organization.tax_id_vat_number\", \"\")\n lastAutoVat.current = \"\"\n }\n return\n }\n const computedVat = currentCountry === \"SE\" ? `SE${currentOrgNumber}01` : currentOrgNumber\n if (!currentVat || currentVat === lastAutoVat.current) {\n setValue(\"organization.tax_id_vat_number\", computedVat)\n lastAutoVat.current = computedVat\n }\n }, [orgNumber, invoiceCountry, setValue, form])\n\n return { useBillingAsShipping }\n}\n\nconst DEFAULT_LABELS = {\n title: \"Create your organisation account\",\n subtitle: \"Sign up to get started\",\n submit: \"Sign Up\",\n signingUp: \"Signing up...\",\n contactPersonSection: \"Contact Person\",\n companyInfoSection: \"Company Information\",\n billingAddressSection: \"Billing Address\",\n shippingAddressSection: \"Shipping Address\",\n firstName: \"First Name\",\n lastName: \"Last Name\",\n email: \"Email\",\n phoneNumber: \"Phone Number\",\n password: \"Password\",\n confirmPassword: \"Confirm Password\",\n companyName: \"Company Name\",\n organisationNumber: \"Organisation Number\",\n taxIdVatNumber: \"Tax ID/VAT Number\",\n companyEmail: \"Company Email\",\n companyPhone: \"Company Phone\",\n invoiceEmail: \"Invoice Email\",\n contactName: \"Contact Name\",\n externalRef: \"External Reference\",\n streetAddress: \"Street Address\",\n houseNumber: \"House Number\",\n coAddress: \"Co Address\",\n postalCode: \"Postal Code\",\n city: \"City\",\n country: \"Country\",\n sameBillingAsShipping: \"Same address as billing address\",\n emailNotifications: \"Accept email notifications\",\n smsNotifications: \"Accept SMS notifications\",\n postalNotifications: \"Accept postal notifications\",\n communicationPreferences: \"Communication Preferences\",\n acceptTerms: \"I accept the\",\n termsLinkText: \"terms and conditions\",\n verifyEmailTitle: \"Verify your email\",\n verifyEmailMessage: \"Please check your email to verify your account.\",\n} as const\n\ntype ResolvedLabels = typeof DEFAULT_LABELS\n\nfunction resolveLabels(labels: NonNullable<SignupOrganisationFormProps[\"labels\"]>): ResolvedLabels {\n return { ...DEFAULT_LABELS, ...labels } as ResolvedLabels\n}\n\ninterface SignupOrganisationFormProps {\n labels?: {\n title?: string\n subtitle?: string\n submit?: string\n signingUp?: string\n contactPersonSection?: string\n companyInfoSection?: string\n billingAddressSection?: string\n shippingAddressSection?: string\n firstName?: string\n lastName?: string\n email?: string\n phoneNumber?: string\n password?: string\n confirmPassword?: string\n companyName?: string\n organisationNumber?: string\n taxIdVatNumber?: string\n companyEmail?: string\n companyPhone?: string\n invoiceEmail?: string\n contactName?: string\n externalRef?: string\n streetAddress?: string\n houseNumber?: string\n coAddress?: string\n postalCode?: string\n city?: string\n country?: string\n sameBillingAsShipping?: string\n emailNotifications?: string\n smsNotifications?: string\n postalNotifications?: string\n communicationPreferences?: string\n acceptTerms?: string\n termsLinkText?: string\n verifyEmailTitle?: string\n verifyEmailMessage?: string\n }\n extraLink?: {\n href: string\n text: string\n }\n successRedirect?: string\n organisationStatus?: \"active\" | \"pending\"\n defaultMarket?: string\n defaultLanguage?: string\n defaultCountry?: string\n defaultStoreGroup?: string\n}\n\nfunction buildDefaultValues(defaultLanguage: string, defaultMarket: string, defaultCountry: string, defaultStoreGroup: string): FormData {\n const emptyAddress = {\n street_address: \"\",\n house_number: \"\",\n city: \"\",\n postal_code: \"\",\n country: defaultCountry,\n state_province: \"\",\n phone: \"\",\n co_address: \"\",\n name: \"\",\n is_default: true as const,\n shipping_type: \"standard\",\n }\n return {\n user: {\n first_name: \"\",\n last_name: \"\",\n email: \"\",\n password: \"\",\n confirmPassword: \"\",\n phone_number: \"\",\n language: defaultLanguage,\n market: defaultMarket,\n country_code: defaultCountry,\n store_group: defaultStoreGroup,\n allow_email_notifications: false,\n allow_phone_notifications: false,\n allow_postal_notifications: false,\n },\n organization: {\n name: \"\",\n organisation_number: \"\",\n tax_id_vat_number: \"\",\n contact_name: \"\",\n email: \"\",\n invoice_email: \"\",\n phone: \"\",\n external_ref: \"\",\n attribute: \"\",\n credit_check: false,\n custom_fields: {},\n billing_address: [emptyAddress],\n },\n shipping_address: [{ ...emptyAddress }],\n use_billing_as_shipping: false,\n terms_accepted: false,\n }\n}\n\nasync function submitRegistration(\n values: FormData,\n organisationStatus: \"active\" | \"pending\",\n setErrors: (errors: Record<string, string[]>) => void,\n): Promise<boolean> {\n const userResult = await registerUserWithoutRedirectAction({\n firstName: values.user.first_name,\n lastName: values.user.last_name,\n email: values.user.email,\n password: values.user.password,\n phone_number: values.user.phone_number,\n language: values.user.language,\n country_code: values.user.country_code,\n market: values.user.market,\n store_group: values.user.store_group,\n allow_email_notifications: values.user.allow_email_notifications,\n allow_phone_notifications: values.user.allow_phone_notifications,\n allow_postal_notifications: values.user.allow_postal_notifications,\n status: organisationStatus,\n })\n if (userResult?.errors) {\n setErrors(userResult.errors)\n return false\n }\n const userId = userResult?.data.id\n if (!userId) {\n setErrors({ general: [\"User registration failed. Please try again.\"] })\n return false\n }\n const organisationData: RegisterOrganisationRequest = {\n billing_address: values.organization\n .billing_address as Partial<OrganisationBillingAddress>[],\n shipping_address: values.shipping_address as Partial<OrganisationShippingAddress>[],\n contact_name: values.organization.contact_name,\n credit_check: values.organization.credit_check,\n custom_fields: values.organization.custom_fields,\n email: values.organization.email.toLowerCase(),\n external_ref: values.organization.external_ref,\n invoice_email: values.organization.invoice_email?.toLowerCase(),\n name: values.organization.name,\n organisation_number: values.organization.organisation_number,\n phone: values.organization.phone,\n tax_id_vat_number: values.organization.tax_id_vat_number,\n user_id: userId,\n attribute_ids: values.organization.attribute ? [values.organization.attribute] : [],\n status: organisationStatus as \"active\" | \"pending\" | \"inactive\" | undefined,\n }\n const orgResult = await registerOrganisationAction(organisationData)\n if (orgResult?.error) {\n setErrors({ general: [orgResult.error] })\n return false\n }\n return true\n}\n\ninterface FormBodyProps {\n form: UseFormReturn<FormData>\n l: ResolvedLabels\n isPending: boolean\n showPassword: boolean\n showConfirmPassword: boolean\n setShowPassword: (v: boolean) => void\n setShowConfirmPassword: (v: boolean) => void\n useBillingAsShipping: boolean\n errors: Record<string, string[]>\n onSubmit: (values: FormData) => Promise<void>\n extraLink: { href: string; text: string }\n}\n\nfunction FormBody({\n form, l, isPending,\n showPassword, showConfirmPassword,\n setShowPassword, setShowConfirmPassword,\n useBillingAsShipping, errors, onSubmit, extraLink,\n}: FormBodyProps) {\n const addressLabels = {\n streetAddress: l.streetAddress,\n houseNumber: l.houseNumber,\n coAddress: l.coAddress,\n postalCode: l.postalCode,\n city: l.city,\n country: l.country,\n }\n return (\n <main className=\"flex items-center justify-center px-4 py-8\">\n <div className=\"w-full max-w-4xl bg-(--enad-surface) shadow-lg p-8 border border-(--enad-border-color) rounded-(--enad-card-radius)\">\n <h2 className=\"text-2xl font-semibold mb-2 text-center text-(--enad-text-primary-color)\">\n {l.title}\n </h2>\n <p className=\"text-sm mb-8 text-center text-(--enad-text-muted-color)\">{l.subtitle}</p>\n <form onSubmit={form.handleSubmit(onSubmit)} className=\"space-y-8\">\n <ContactPersonSection\n form={form}\n labels={{\n sectionTitle: l.contactPersonSection,\n firstName: l.firstName,\n lastName: l.lastName,\n email: l.email,\n phone: l.phoneNumber,\n password: l.password,\n confirmPassword: l.confirmPassword,\n communicationPreferences: l.communicationPreferences,\n emailNotifications: l.emailNotifications,\n smsNotifications: l.smsNotifications,\n postalNotifications: l.postalNotifications,\n }}\n showPassword={showPassword}\n showConfirmPassword={showConfirmPassword}\n onTogglePassword={() => setShowPassword(!showPassword)}\n onToggleConfirmPassword={() => setShowConfirmPassword(!showConfirmPassword)}\n />\n <CompanyInfoSection\n form={form}\n labels={{\n sectionTitle: l.companyInfoSection,\n companyName: l.companyName,\n orgNumber: l.organisationNumber,\n vatNumber: l.taxIdVatNumber,\n companyEmail: l.companyEmail,\n companyPhone: l.companyPhone,\n invoiceEmail: l.invoiceEmail,\n contactName: l.contactName,\n externalRef: l.externalRef,\n }}\n />\n <BillingAddressSection\n form={form}\n labels={{ sectionTitle: l.billingAddressSection, ...addressLabels }}\n />\n <ShippingAddressSection\n form={form}\n useBillingAsShipping={useBillingAsShipping}\n labels={{\n sectionTitle: l.shippingAddressSection,\n sameBillingAsShipping: l.sameBillingAsShipping,\n ...addressLabels,\n }}\n />\n <div className=\"flex items-center gap-2\">\n <input\n type=\"checkbox\"\n {...form.register(\"terms_accepted\")}\n aria-describedby={ariaError(form.formState.errors.terms_accepted, \"terms-error\")}\n className=\"h-4 w-4\"\n />\n <label className=\"text-sm text-(--enad-text-primary-color)\">\n {l.acceptTerms}{\" \"}\n <a\n href=\"/terms\"\n target=\"_blank\"\n className=\"text-(--enad-link-color) hover:text-(--enad-link-hover-color) hover:underline\"\n >\n {l.termsLinkText}\n </a>\n </label>\n </div>\n {form.formState.errors.terms_accepted && (\n <p id=\"terms-error\" role=\"alert\" className={ERROR_CLASSES}>{form.formState.errors.terms_accepted.message}</p>\n )}\n <StorefrontButton type=\"submit\" disabled={isPending} className=\"w-full\">\n {isPending ? l.signingUp : l.submit}\n </StorefrontButton>\n {errors.general && (\n <p role=\"alert\" className={ERROR_CLASSES + \" mt-2 text-center\"}>{errors.general.join(\", \")}</p>\n )}\n </form>\n {extraLink && (\n <p className=\"text-sm text-(--enad-text-muted-color) text-center mt-6\">\n <a\n href={extraLink.href}\n className=\"text-(--enad-link-color) hover:text-(--enad-link-hover-color) font-medium\"\n >\n {extraLink.text}\n </a>\n </p>\n )}\n </div>\n </main>\n )\n}\n\nexport const SignupOrganisationForm: React.FC<SignupOrganisationFormProps> = ({\n labels = {},\n extraLink = { href: \"/login\", text: \"Already have an account? Sign in\" },\n organisationStatus = \"active\",\n defaultMarket = \"SE\",\n defaultLanguage = \"SV\",\n defaultCountry = \"SE\",\n defaultStoreGroup = \"default\",\n}) => {\n const l = resolveLabels(labels)\n const [errors, setErrors] = useState<Record<string, string[]>>({})\n const [isPending, setIsPending] = useState(false)\n const [showPassword, setShowPassword] = useState(false)\n const [showConfirmPassword, setShowConfirmPassword] = useState(false)\n const [confirmMode, setConfirmMode] = useState(false)\n\n const form = useForm<FormData>({\n resolver: zodResolver(formSchema),\n defaultValues: buildDefaultValues(defaultLanguage, defaultMarket, defaultCountry, defaultStoreGroup),\n })\n\n const { useBillingAsShipping } = useAutoFillEffects(form)\n\n const onSubmit = async (values: FormData) => {\n setIsPending(true)\n setErrors({})\n try {\n const success = await submitRegistration(values, organisationStatus, setErrors)\n if (success) {\n setConfirmMode(true)\n }\n } catch (error) {\n console.error(\"Registration error:\", error)\n setErrors({ general: [\"Failed to register. Please try again.\"] })\n } finally {\n setIsPending(false)\n }\n }\n\n if (confirmMode) {\n return <ConfirmationView title={l.verifyEmailTitle} message={l.verifyEmailMessage} />\n }\n\n return (\n <FormBody\n form={form}\n l={l}\n isPending={isPending}\n showPassword={showPassword}\n showConfirmPassword={showConfirmPassword}\n setShowPassword={setShowPassword}\n setShowConfirmPassword={setShowConfirmPassword}\n useBillingAsShipping={useBillingAsShipping}\n errors={errors}\n onSubmit={onSubmit}\n extraLink={extraLink}\n />\n )\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"signup-organisation-form.mjs","names":[],"sources":["../../../../src/client/user/components/signup-organisation-form.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type OrganisationBillingAddress,\n type OrganisationShippingAddress,\n type RegisterOrganisationRequest,\n} from \"@enadhq/enad-ts-sdk\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { type FieldError, type UseFormReturn, useForm } from \"react-hook-form\";\nimport * as z from \"zod\";\nimport { registerOrganisationAction } from \"../actions/registerOrganisationAction\";\nimport { registerUserWithoutRedirectAction } from \"../actions/registerUserWithoutRedirectAction\";\nimport { StorefrontButton } from \"../../storefront/primitives/button\";\nimport { StorefrontInput } from \"../../storefront/primitives/input\";\nimport { StorefrontCheckbox } from \"../../storefront/primitives/checkbox\";\nimport { PasswordInput } from \"../../storefront/primitives/password-input\";\nimport { AddressFieldGroup } from \"../../storefront/components/address-field-group\";\n\nconst addressSchema = z.object({\n street_address: z.string().min(1, \"Street address is required\"),\n house_number: z.string().optional(),\n city: z.string().min(1, \"City is required\"),\n postal_code: z.string().min(1, \"Postal code is required\"),\n country: z.string().min(1, \"Country is required\"),\n state_province: z.string().optional(),\n phone: z.string().optional(),\n co_address: z.string().optional(),\n name: z.string().optional(),\n is_default: z.boolean(),\n shipping_type: z.string(),\n});\n\nconst userSchema = z\n .object({\n first_name: z.string().trim().min(1, \"First name is required\"),\n last_name: z.string().trim().min(1, \"Last name is required\"),\n email: z.string().email(\"Invalid email address\").min(1, \"Email is required\"),\n password: z\n .string()\n .min(10, \"Password must be at least 10 characters\")\n .regex(/\\d/, \"Password must contain a number\"),\n confirmPassword: z.string(),\n phone_number: z.string().optional(),\n language: z.string(),\n country_code: z.string(),\n market: z.string(),\n store_group: z.string(),\n allow_email_notifications: z.boolean(),\n allow_phone_notifications: z.boolean(),\n allow_postal_notifications: z.boolean(),\n })\n .refine((data) => data.password === data.confirmPassword, {\n message: \"Passwords do not match\",\n path: [\"confirmPassword\"],\n });\n\nconst organizationSchema = z.object({\n name: z.string().min(1, \"Organization name is required\"),\n organisation_number: z.string().min(1, \"Organization number is required\"),\n tax_id_vat_number: z.string().min(1, \"Tax ID/VAT number is required\"),\n contact_name: z.string().optional(),\n email: z.string().email(\"Invalid email address\").min(1, \"Email is required\"),\n invoice_email: z.string().email(\"Invalid email address\").optional(),\n phone: z.string().optional(),\n external_ref: z.string().optional(),\n attribute: z.string().optional(),\n credit_check: z.boolean(),\n custom_fields: z.record(z.string(), z.any()).optional(),\n billing_address: z.array(addressSchema).min(1),\n});\n\nconst formSchema = z.object({\n user: userSchema,\n organization: organizationSchema,\n shipping_address: z.array(addressSchema).min(1),\n use_billing_as_shipping: z.boolean(),\n terms_accepted: z.boolean().refine((val) => val === true, {\n message: \"You must accept the terms and conditions\",\n }),\n});\n\ntype FormData = z.infer<typeof formSchema>;\n\nconst SECTION_TITLE_CLASSES = `text-xl font-semibold mb-4 pb-2 border-b border-(--enad-border-color)`;\n\n// ─── Contact Person Section ──────────────────────────────────────────────────\n\ninterface ContactPersonSectionProps {\n form: UseFormReturn<FormData>;\n labels: {\n sectionTitle: string;\n firstName: string;\n lastName: string;\n email: string;\n phone: string;\n password: string;\n confirmPassword: string;\n communicationPreferences: string;\n emailNotifications: string;\n smsNotifications: string;\n postalNotifications: string;\n };\n}\n\nfunction ContactPersonSection({ form, labels }: ContactPersonSectionProps) {\n const errors = form.formState.errors;\n return (\n <div className=\"space-y-4\">\n <h3 className={SECTION_TITLE_CLASSES}>{labels.sectionTitle}</h3>\n <div className=\"grid md:grid-cols-2 gap-4\">\n <StorefrontInput\n label={labels.firstName}\n required\n error={errors.user?.first_name?.message}\n placeholder=\"John\"\n {...form.register(\"user.first_name\")}\n />\n <StorefrontInput\n label={labels.lastName}\n required\n error={errors.user?.last_name?.message}\n placeholder=\"Doe\"\n {...form.register(\"user.last_name\")}\n />\n </div>\n <div className=\"grid md:grid-cols-2 gap-4\">\n <StorefrontInput\n label={labels.email}\n required\n type=\"email\"\n error={errors.user?.email?.message}\n placeholder=\"you@example.com\"\n {...form.register(\"user.email\")}\n />\n <StorefrontInput\n label={labels.phone}\n type=\"tel\"\n error={errors.user?.phone_number?.message}\n placeholder=\"+46 123 456 789\"\n {...form.register(\"user.phone_number\")}\n />\n </div>\n <div className=\"grid md:grid-cols-2 gap-4\">\n <PasswordInput\n label={labels.password}\n required\n error={errors.user?.password?.message}\n placeholder=\"••••••••\"\n {...form.register(\"user.password\")}\n />\n <PasswordInput\n label={labels.confirmPassword}\n required\n error={errors.user?.confirmPassword?.message}\n placeholder=\"••••••••\"\n {...form.register(\"user.confirmPassword\")}\n />\n </div>\n <div className=\"space-y-2\">\n <p className=\"text-sm font-medium text-(--enad-text-primary-color)\">\n {labels.communicationPreferences}\n </p>\n <StorefrontCheckbox\n label={labels.emailNotifications}\n checked={form.watch(\"user.allow_email_notifications\")}\n onCheckedChange={(v) => form.setValue(\"user.allow_email_notifications\", v)}\n />\n <StorefrontCheckbox\n label={labels.smsNotifications}\n checked={form.watch(\"user.allow_phone_notifications\")}\n onCheckedChange={(v) => form.setValue(\"user.allow_phone_notifications\", v)}\n />\n <StorefrontCheckbox\n label={labels.postalNotifications}\n checked={form.watch(\"user.allow_postal_notifications\")}\n onCheckedChange={(v) => form.setValue(\"user.allow_postal_notifications\", v)}\n />\n </div>\n </div>\n );\n}\n\n// ─── Company Info Section ────────────────────────────────────────────────────\n\ninterface CompanyInfoSectionProps {\n form: UseFormReturn<FormData>;\n labels: {\n sectionTitle: string;\n companyName: string;\n orgNumber: string;\n vatNumber: string;\n companyEmail: string;\n companyPhone: string;\n invoiceEmail: string;\n contactName: string;\n externalRef: string;\n };\n}\n\nfunction CompanyInfoSection({ form, labels }: CompanyInfoSectionProps) {\n const errors = form.formState.errors;\n return (\n <div className=\"space-y-4\">\n <h3 className={SECTION_TITLE_CLASSES}>{labels.sectionTitle}</h3>\n <StorefrontInput\n label={labels.companyName}\n required\n error={errors.organization?.name?.message}\n placeholder=\"Company Name\"\n {...form.register(\"organization.name\")}\n />\n <div className=\"grid md:grid-cols-2 gap-4\">\n <StorefrontInput\n label={labels.orgNumber}\n required\n error={errors.organization?.organisation_number?.message}\n placeholder=\"1234567890\"\n {...form.register(\"organization.organisation_number\")}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n form.setValue(\"organization.organisation_number\", e.target.value.replace(/\\D/g, \"\"));\n }}\n />\n <StorefrontInput\n label={labels.vatNumber}\n required\n error={errors.organization?.tax_id_vat_number?.message}\n placeholder=\"SE123456789001\"\n {...form.register(\"organization.tax_id_vat_number\")}\n />\n </div>\n <div className=\"grid md:grid-cols-2 gap-4\">\n <StorefrontInput\n label={labels.companyEmail}\n required\n type=\"email\"\n error={errors.organization?.email?.message}\n placeholder=\"company@example.com\"\n {...form.register(\"organization.email\")}\n />\n <StorefrontInput\n label={labels.companyPhone}\n type=\"tel\"\n error={errors.organization?.phone?.message}\n placeholder=\"+46 123 456 789\"\n {...form.register(\"organization.phone\")}\n />\n </div>\n <StorefrontInput\n label={labels.invoiceEmail}\n type=\"email\"\n error={errors.organization?.invoice_email?.message}\n placeholder=\"invoices@example.com\"\n {...form.register(\"organization.invoice_email\")}\n />\n <div className=\"grid md:grid-cols-2 gap-4\">\n <StorefrontInput\n label={labels.contactName}\n error={errors.organization?.contact_name?.message}\n placeholder=\"Contact Person\"\n {...form.register(\"organization.contact_name\")}\n />\n <StorefrontInput\n label={labels.externalRef}\n error={errors.organization?.external_ref?.message}\n placeholder=\"External Ref\"\n {...form.register(\"organization.external_ref\")}\n />\n </div>\n </div>\n );\n}\n\n// ─── Address Sections ────────────────────────────────────────────────────────\n\ninterface AddressLabels {\n streetAddress: string;\n houseNumber: string;\n coAddress: string;\n postalCode: string;\n city: string;\n country: string;\n}\n\nfunction useAddressFields(\n form: UseFormReturn<FormData>,\n prefix: \"organization.billing_address.0\" | \"shipping_address.0\",\n) {\n const isBilling = prefix === \"organization.billing_address.0\";\n const addressErrors = isBilling\n ? form.formState.errors.organization?.billing_address?.[0]\n : form.formState.errors.shipping_address?.[0];\n\n return {\n fields: {\n streetAddress: form.register(`${prefix}.street_address`),\n houseNumber: form.register(`${prefix}.house_number`),\n coAddress: form.register(`${prefix}.co_address`),\n postalCode: form.register(`${prefix}.postal_code`),\n city: form.register(`${prefix}.city`),\n country: {\n value: form.watch(`${prefix}.country`) || \"SE\",\n onValueChange: (v: string) => form.setValue(`${prefix}.country`, v),\n },\n },\n errors: addressErrors\n ? {\n streetAddress: (addressErrors as Record<string, FieldError>).street_address?.message,\n postalCode: (addressErrors as Record<string, FieldError>).postal_code?.message,\n city: (addressErrors as Record<string, FieldError>).city?.message,\n country: (addressErrors as Record<string, FieldError>).country?.message,\n }\n : undefined,\n };\n}\n\nfunction BillingAddressSection({\n form,\n labels,\n}: {\n form: UseFormReturn<FormData>;\n labels: AddressLabels & { sectionTitle: string };\n}) {\n const { fields, errors } = useAddressFields(form, \"organization.billing_address.0\");\n return (\n <div className=\"space-y-4\">\n <h3 className={SECTION_TITLE_CLASSES}>{labels.sectionTitle}</h3>\n <AddressFieldGroup fields={fields} errors={errors} labels={labels} />\n </div>\n );\n}\n\nfunction ShippingAddressSection({\n form,\n useBillingAsShipping,\n labels,\n}: {\n form: UseFormReturn<FormData>;\n useBillingAsShipping: boolean;\n labels: AddressLabels & { sectionTitle: string; sameBillingAsShipping: string };\n}) {\n const { fields, errors } = useAddressFields(form, \"shipping_address.0\");\n return (\n <div className=\"space-y-4\">\n <h3 className={SECTION_TITLE_CLASSES}>{labels.sectionTitle}</h3>\n <StorefrontCheckbox\n label={labels.sameBillingAsShipping}\n checked={form.watch(\"use_billing_as_shipping\")}\n onCheckedChange={(v) => form.setValue(\"use_billing_as_shipping\", v)}\n />\n {!useBillingAsShipping && (\n <AddressFieldGroup fields={fields} errors={errors} labels={labels} />\n )}\n </div>\n );\n}\n\n// ─── Auto-fill effects ───────────────────────────────────────────────────────\n\nfunction useAutoFillEffects(form: UseFormReturn<FormData>) {\n const { watch, setValue } = form;\n const useBillingAsShipping = watch(\"use_billing_as_shipping\");\n const billingAddress = watch(\"organization.billing_address.0\");\n const contactEmail = watch(\"user.email\");\n const contactPhone = watch(\"user.phone_number\");\n const orgNumber = watch(\"organization.organisation_number\");\n const invoiceCountry = watch(\"organization.billing_address.0.country\");\n\n const lastAutoOrgEmail = useRef<string | null>(null);\n const lastAutoInvoiceEmail = useRef<string | null>(null);\n const lastAutoOrgPhone = useRef<string | null>(null);\n const lastAutoVat = useRef<string | null>(null);\n\n useEffect(() => {\n if (useBillingAsShipping && billingAddress) {\n setValue(\"shipping_address.0\", billingAddress);\n }\n }, [useBillingAsShipping, billingAddress, setValue]);\n\n useEffect(() => {\n if (!contactEmail) return;\n const currentOrgEmail = form.getValues(\"organization.email\");\n if (!currentOrgEmail || currentOrgEmail === lastAutoOrgEmail.current) {\n setValue(\"organization.email\", contactEmail);\n lastAutoOrgEmail.current = contactEmail;\n }\n const currentInvoiceEmail = form.getValues(\"organization.invoice_email\");\n if (!currentInvoiceEmail || currentInvoiceEmail === lastAutoInvoiceEmail.current) {\n setValue(\"organization.invoice_email\", contactEmail);\n lastAutoInvoiceEmail.current = contactEmail;\n }\n }, [contactEmail, setValue, form]);\n\n useEffect(() => {\n if (!contactPhone) return;\n const currentOrgPhone = form.getValues(\"organization.phone\");\n if (!currentOrgPhone || currentOrgPhone === lastAutoOrgPhone.current) {\n setValue(\"organization.phone\", contactPhone);\n lastAutoOrgPhone.current = contactPhone;\n }\n }, [contactPhone, setValue, form]);\n\n useEffect(() => {\n const currentOrgNumber = form.getValues(\"organization.organisation_number\");\n const currentCountry = (form.getValues(\"organization.billing_address.0.country\") || \"\")\n .toString()\n .toUpperCase();\n const currentVat = form.getValues(\"organization.tax_id_vat_number\");\n if (!currentOrgNumber) {\n if (!currentVat || currentVat === lastAutoVat.current) {\n setValue(\"organization.tax_id_vat_number\", \"\");\n lastAutoVat.current = \"\";\n }\n return;\n }\n const computedVat = currentCountry === \"SE\" ? `SE${currentOrgNumber}01` : currentOrgNumber;\n if (!currentVat || currentVat === lastAutoVat.current) {\n setValue(\"organization.tax_id_vat_number\", computedVat);\n lastAutoVat.current = computedVat;\n }\n }, [orgNumber, invoiceCountry, setValue, form]);\n\n return { useBillingAsShipping };\n}\n\n// ─── Labels / defaults ───────────────────────────────────────────────────────\n\nconst DEFAULT_LABELS = {\n title: \"Create your organisation account\",\n subtitle: \"Sign up to get started\",\n submit: \"Sign Up\",\n signingUp: \"Signing up...\",\n contactPersonSection: \"Contact Person\",\n companyInfoSection: \"Company Information\",\n billingAddressSection: \"Billing Address\",\n shippingAddressSection: \"Shipping Address\",\n firstName: \"First Name\",\n lastName: \"Last Name\",\n email: \"Email\",\n phoneNumber: \"Phone Number\",\n password: \"Password\",\n confirmPassword: \"Confirm Password\",\n companyName: \"Company Name\",\n organisationNumber: \"Organisation Number\",\n taxIdVatNumber: \"Tax ID/VAT Number\",\n companyEmail: \"Company Email\",\n companyPhone: \"Company Phone\",\n invoiceEmail: \"Invoice Email\",\n contactName: \"Contact Name\",\n externalRef: \"External Reference\",\n streetAddress: \"Street Address\",\n houseNumber: \"House Number\",\n coAddress: \"Co Address\",\n postalCode: \"Postal Code\",\n city: \"City\",\n country: \"Country\",\n sameBillingAsShipping: \"Same address as billing address\",\n emailNotifications: \"Accept email notifications\",\n smsNotifications: \"Accept SMS notifications\",\n postalNotifications: \"Accept postal notifications\",\n communicationPreferences: \"Communication Preferences\",\n acceptTerms: \"I accept the\",\n termsLinkText: \"terms and conditions\",\n verifyEmailTitle: \"Verify your email\",\n verifyEmailMessage: \"Please check your email to verify your account.\",\n} as const;\n\ntype ResolvedLabels = typeof DEFAULT_LABELS;\n\nfunction resolveLabels(labels: NonNullable<SignupOrganisationFormProps[\"labels\"]>): ResolvedLabels {\n return { ...DEFAULT_LABELS, ...labels } as ResolvedLabels;\n}\n\n// ─── Props ───────────────────────────────────────────────────────────────────\n\ninterface SignupOrganisationFormProps {\n labels?: {\n [K in keyof typeof DEFAULT_LABELS]?: string;\n };\n extraLink?: {\n href: string;\n text: string;\n };\n successRedirect?: string;\n organisationStatus?: \"active\" | \"pending\";\n defaultMarket?: string;\n defaultLanguage?: string;\n defaultCountry?: string;\n defaultStoreGroup?: string;\n}\n\nfunction buildDefaultValues(\n defaultLanguage: string,\n defaultMarket: string,\n defaultCountry: string,\n defaultStoreGroup: string,\n): FormData {\n const emptyAddress = {\n street_address: \"\",\n house_number: \"\",\n city: \"\",\n postal_code: \"\",\n country: defaultCountry,\n state_province: \"\",\n phone: \"\",\n co_address: \"\",\n name: \"\",\n is_default: true as const,\n shipping_type: \"standard\",\n };\n return {\n user: {\n first_name: \"\",\n last_name: \"\",\n email: \"\",\n password: \"\",\n confirmPassword: \"\",\n phone_number: \"\",\n language: defaultLanguage,\n market: defaultMarket,\n country_code: defaultCountry,\n store_group: defaultStoreGroup,\n allow_email_notifications: false,\n allow_phone_notifications: false,\n allow_postal_notifications: false,\n },\n organization: {\n name: \"\",\n organisation_number: \"\",\n tax_id_vat_number: \"\",\n contact_name: \"\",\n email: \"\",\n invoice_email: \"\",\n phone: \"\",\n external_ref: \"\",\n attribute: \"\",\n credit_check: false,\n custom_fields: {},\n billing_address: [emptyAddress],\n },\n shipping_address: [{ ...emptyAddress }],\n use_billing_as_shipping: false,\n terms_accepted: false,\n };\n}\n\n// ─── Registration logic ──────────────────────────────────────────────────────\n\nasync function submitRegistration(\n values: FormData,\n organisationStatus: \"active\" | \"pending\",\n setErrors: (errors: Record<string, string[]>) => void,\n): Promise<boolean> {\n const userResult = await registerUserWithoutRedirectAction({\n firstName: values.user.first_name,\n lastName: values.user.last_name,\n email: values.user.email,\n password: values.user.password,\n phone_number: values.user.phone_number,\n language: values.user.language,\n country_code: values.user.country_code,\n market: values.user.market,\n store_group: values.user.store_group,\n allow_email_notifications: values.user.allow_email_notifications,\n allow_phone_notifications: values.user.allow_phone_notifications,\n allow_postal_notifications: values.user.allow_postal_notifications,\n status: organisationStatus,\n });\n if (userResult?.errors) {\n setErrors(userResult.errors);\n return false;\n }\n const userId = userResult?.data.id;\n if (!userId) {\n setErrors({ general: [\"User registration failed. Please try again.\"] });\n return false;\n }\n const organisationData: RegisterOrganisationRequest = {\n billing_address: values.organization.billing_address as Partial<OrganisationBillingAddress>[],\n shipping_address: values.shipping_address as Partial<OrganisationShippingAddress>[],\n contact_name: values.organization.contact_name,\n credit_check: values.organization.credit_check,\n custom_fields: values.organization.custom_fields,\n email: values.organization.email.toLowerCase(),\n external_ref: values.organization.external_ref,\n invoice_email: values.organization.invoice_email?.toLowerCase(),\n name: values.organization.name,\n organisation_number: values.organization.organisation_number,\n phone: values.organization.phone,\n tax_id_vat_number: values.organization.tax_id_vat_number,\n user_id: userId,\n attribute_ids: values.organization.attribute ? [values.organization.attribute] : [],\n status: organisationStatus as \"active\" | \"pending\" | \"inactive\" | undefined,\n };\n const orgResult = await registerOrganisationAction(organisationData);\n if (orgResult?.error) {\n setErrors({ general: [orgResult.error] });\n return false;\n }\n return true;\n}\n\n// ─── Confirmation View ───────────────────────────────────────────────────────\n\nfunction ConfirmationView({ title, message }: { title: string; message: string }) {\n return (\n <main className=\"flex items-center justify-center px-4\">\n <div className=\"w-full max-w-md bg-(--enad-surface) shadow-lg p-8 border border-(--enad-border-color) rounded-(--enad-card-radius)\">\n <h2 className=\"text-2xl font-semibold mb-2 text-center text-(--enad-text-primary-color)\">\n {title}\n </h2>\n <p className=\"text-sm text-center text-(--enad-text-muted-color)\">{message}</p>\n </div>\n </main>\n );\n}\n\n// ─── Main Component ──────────────────────────────────────────────────────────\n\nexport const SignupOrganisationForm: React.FC<SignupOrganisationFormProps> = ({\n labels = {},\n extraLink = { href: \"/login\", text: \"Already have an account? Sign in\" },\n organisationStatus = \"active\",\n defaultMarket = \"SE\",\n defaultLanguage = \"SV\",\n defaultCountry = \"SE\",\n defaultStoreGroup = \"default\",\n}) => {\n const l = resolveLabels(labels);\n const [errors, setErrors] = useState<Record<string, string[]>>({});\n const [isPending, setIsPending] = useState(false);\n const [confirmMode, setConfirmMode] = useState(false);\n\n const form = useForm<FormData>({\n resolver: zodResolver(formSchema),\n defaultValues: buildDefaultValues(\n defaultLanguage,\n defaultMarket,\n defaultCountry,\n defaultStoreGroup,\n ),\n });\n\n const { useBillingAsShipping } = useAutoFillEffects(form);\n\n const onSubmit = async (values: FormData) => {\n setIsPending(true);\n setErrors({});\n try {\n const success = await submitRegistration(values, organisationStatus, setErrors);\n if (success) {\n setConfirmMode(true);\n }\n } catch (error) {\n console.error(\"Registration error:\", error);\n setErrors({ general: [\"Failed to register. Please try again.\"] });\n } finally {\n setIsPending(false);\n }\n };\n\n if (confirmMode) {\n return <ConfirmationView title={l.verifyEmailTitle} message={l.verifyEmailMessage} />;\n }\n\n const addressLabels = {\n streetAddress: l.streetAddress,\n houseNumber: l.houseNumber,\n coAddress: l.coAddress,\n postalCode: l.postalCode,\n city: l.city,\n country: l.country,\n };\n\n return (\n <main className=\"flex items-center justify-center px-4 py-8\">\n <div className=\"w-full max-w-4xl bg-(--enad-surface) shadow-lg p-8 border border-(--enad-border-color) rounded-(--enad-card-radius)\">\n <h2 className=\"text-2xl font-semibold mb-2 text-center text-(--enad-text-primary-color)\">\n {l.title}\n </h2>\n <p className=\"text-sm mb-8 text-center text-(--enad-text-muted-color)\">{l.subtitle}</p>\n <form onSubmit={form.handleSubmit(onSubmit)} className=\"space-y-8\">\n <ContactPersonSection\n form={form}\n labels={{\n sectionTitle: l.contactPersonSection,\n firstName: l.firstName,\n lastName: l.lastName,\n email: l.email,\n phone: l.phoneNumber,\n password: l.password,\n confirmPassword: l.confirmPassword,\n communicationPreferences: l.communicationPreferences,\n emailNotifications: l.emailNotifications,\n smsNotifications: l.smsNotifications,\n postalNotifications: l.postalNotifications,\n }}\n />\n <CompanyInfoSection\n form={form}\n labels={{\n sectionTitle: l.companyInfoSection,\n companyName: l.companyName,\n orgNumber: l.organisationNumber,\n vatNumber: l.taxIdVatNumber,\n companyEmail: l.companyEmail,\n companyPhone: l.companyPhone,\n invoiceEmail: l.invoiceEmail,\n contactName: l.contactName,\n externalRef: l.externalRef,\n }}\n />\n <BillingAddressSection\n form={form}\n labels={{ sectionTitle: l.billingAddressSection, ...addressLabels }}\n />\n <ShippingAddressSection\n form={form}\n useBillingAsShipping={useBillingAsShipping}\n labels={{\n sectionTitle: l.shippingAddressSection,\n sameBillingAsShipping: l.sameBillingAsShipping,\n ...addressLabels,\n }}\n />\n <StorefrontCheckbox\n label={\n <span>\n {l.acceptTerms}{\" \"}\n <a\n href=\"/terms\"\n target=\"_blank\"\n className=\"text-(--enad-link-color) hover:text-(--enad-link-hover-color) hover:underline\"\n >\n {l.termsLinkText}\n </a>\n </span>\n }\n checked={form.watch(\"terms_accepted\")}\n onCheckedChange={(v) => form.setValue(\"terms_accepted\", v)}\n error={form.formState.errors.terms_accepted?.message}\n />\n <StorefrontButton type=\"submit\" disabled={isPending} className=\"w-full\">\n {isPending ? l.signingUp : l.submit}\n </StorefrontButton>\n {errors.general && (\n <p role=\"alert\" className=\"text-(--enad-error-color) text-sm mt-2 text-center\">\n {errors.general.join(\", \")}\n </p>\n )}\n </form>\n {extraLink && (\n <p className=\"text-sm text-(--enad-text-muted-color) text-center mt-6\">\n <a\n href={extraLink.href}\n className=\"text-(--enad-link-color) hover:text-(--enad-link-hover-color) font-medium\"\n >\n {extraLink.text}\n </a>\n </p>\n )}\n </div>\n </main>\n );\n};\n"],"mappings":"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"}
@@ -1,17 +1,20 @@
1
1
  import React from "react";
2
+
3
+ //#region src/client/user/components/update-password-form.d.ts
2
4
  interface UpdatePasswordFormProps {
3
- token: string;
4
- labels?: {
5
- title?: string;
6
- subtitle?: string;
7
- password?: string;
8
- passwordPlaceholder?: string;
9
- submit?: string;
10
- updating?: string;
11
- };
12
- successRedirect?: string;
13
- className?: string;
5
+ token: string;
6
+ labels?: {
7
+ title?: string;
8
+ subtitle?: string;
9
+ password?: string;
10
+ passwordPlaceholder?: string;
11
+ submit?: string;
12
+ updating?: string;
13
+ };
14
+ successRedirect?: string;
15
+ className?: string;
14
16
  }
15
- export declare const UpdatePasswordForm: React.FC<UpdatePasswordFormProps>;
16
- export {};
17
+ declare const UpdatePasswordForm: React.FC<UpdatePasswordFormProps>;
18
+ //#endregion
19
+ export { UpdatePasswordForm };
17
20
  //# sourceMappingURL=update-password-form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-password-form.d.ts","sourceRoot":"","sources":["../../../../src/client/user/components/update-password-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAKvD,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAQD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA0EhE,CAAA"}
1
+ {"version":3,"file":"update-password-form.d.ts","names":[],"sources":["../../../../src/client/user/components/update-password-form.tsx"],"mappings":";;;UAOU,uBAAA;EACR,KAAA;EACA,MAAA;IACE,KAAA;IACA,QAAA;IACA,QAAA;IACA,mBAAA;IACA,MAAA;IACA,QAAA;EAAA;EAEF,eAAA;EACA,SAAA;AAAA;AAAA,cASW,kBAAA,EAAoB,KAAA,CAAM,EAAA,CAAG,uBAAA"}
@@ -1,60 +1,73 @@
1
1
  "use client";
2
- import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { StorefrontButton } from "../../storefront/primitives/button.mjs";
3
+ import { StorefrontInput } from "../../storefront/primitives/input.mjs";
4
+ import { updatePasswordAction } from "../actions/updatePasswordAction.mjs";
3
5
  import { useState } from "react";
4
- import { updatePasswordAction } from "../actions/updatePasswordAction";
5
- import { StorefrontInput } from "../../storefront/primitives/input";
6
- import { StorefrontButton } from "../../storefront/primitives/button";
7
- const UpdatePasswordForm = ({
8
- token,
9
- labels = {},
10
- successRedirect = "/login",
11
- className
12
- }) => {
13
- const {
14
- title = "Create new password",
15
- subtitle = "Enter a new password to update your account",
16
- password: passwordLabel = "Password",
17
- passwordPlaceholder = "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",
18
- submit = "Update Password",
19
- updating = "Updating..."
20
- } = labels;
21
- const [errors, setErrors] = useState({});
22
- const [isPending, setIsPending] = useState(false);
23
- const handleSubmit = async (e) => {
24
- e.preventDefault();
25
- setIsPending(true);
26
- setErrors({});
27
- const formData = new FormData(e.currentTarget);
28
- formData.set("token", token);
29
- const res = await updatePasswordAction(formData, { redirectPath: successRedirect });
30
- if (res?.errors) {
31
- setErrors(res.errors);
32
- }
33
- setIsPending(false);
34
- };
35
- return /* @__PURE__ */ jsx("main", { className: `flex items-center justify-center px-4 font-enad ${className ?? ""}`, children: /* @__PURE__ */ jsxs("div", { className: "w-full max-w-md bg-(--enad-surface) border border-(--enad-border-color) shadow-lg rounded-(--enad-card-radius) p-8", children: [
36
- /* @__PURE__ */ jsx("h2", { className: "text-2xl font-semibold text-(--enad-text-primary-color) mb-2 text-center", children: title }),
37
- /* @__PURE__ */ jsx("p", { className: "text-(--enad-text-muted-color) text-sm text-center mb-8", children: subtitle }),
38
- /* @__PURE__ */ jsxs("form", { onSubmit: handleSubmit, className: "space-y-5", children: [
39
- /* @__PURE__ */ jsx(
40
- StorefrontInput,
41
- {
42
- type: "password",
43
- id: "password",
44
- name: "password",
45
- required: true,
46
- label: passwordLabel,
47
- placeholder: passwordPlaceholder,
48
- error: errors.password?.join(", ")
49
- }
50
- ),
51
- /* @__PURE__ */ jsx(StorefrontButton, { type: "submit", disabled: isPending, className: "w-full", children: isPending ? updating : submit }),
52
- errors.general && /* @__PURE__ */ jsx("p", { role: "alert", className: "text-(--enad-error-color) text-sm mt-2 text-center", children: errors.general.join(", ") }),
53
- errors.token && /* @__PURE__ */ jsx("p", { role: "alert", className: "text-(--enad-error-color) text-sm mt-2 text-center", children: errors.token.join(", ") })
54
- ] })
55
- ] }) });
56
- };
57
- export {
58
- UpdatePasswordForm
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ //#region src/client/user/components/update-password-form.tsx
8
+ const UpdatePasswordForm = ({ token, labels = {}, successRedirect = "/login", className }) => {
9
+ const { title = "Create new password", subtitle = "Enter a new password to update your account", password: passwordLabel = "Password", passwordPlaceholder = "••••••••", submit = "Update Password", updating = "Updating..." } = labels;
10
+ const [errors, setErrors] = useState({});
11
+ const [isPending, setIsPending] = useState(false);
12
+ const handleSubmit = async (e) => {
13
+ e.preventDefault();
14
+ setIsPending(true);
15
+ setErrors({});
16
+ const formData = new FormData(e.currentTarget);
17
+ formData.set("token", token);
18
+ const res = await updatePasswordAction(formData, { redirectPath: successRedirect });
19
+ if (res?.errors) setErrors(res.errors);
20
+ setIsPending(false);
21
+ };
22
+ return /* @__PURE__ */ jsx("main", {
23
+ className: `flex items-center justify-center px-4 font-enad ${className ?? ""}`,
24
+ children: /* @__PURE__ */ jsxs("div", {
25
+ className: "w-full max-w-md bg-(--enad-surface) border border-(--enad-border-color) shadow-lg rounded-(--enad-card-radius) p-8",
26
+ children: [
27
+ /* @__PURE__ */ jsx("h2", {
28
+ className: "text-2xl font-semibold text-(--enad-text-primary-color) mb-2 text-center",
29
+ children: title
30
+ }),
31
+ /* @__PURE__ */ jsx("p", {
32
+ className: "text-(--enad-text-muted-color) text-sm text-center mb-8",
33
+ children: subtitle
34
+ }),
35
+ /* @__PURE__ */ jsxs("form", {
36
+ onSubmit: handleSubmit,
37
+ className: "space-y-5",
38
+ children: [
39
+ /* @__PURE__ */ jsx(StorefrontInput, {
40
+ type: "password",
41
+ id: "password",
42
+ name: "password",
43
+ required: true,
44
+ label: passwordLabel,
45
+ placeholder: passwordPlaceholder,
46
+ error: errors.password?.join(", ")
47
+ }),
48
+ /* @__PURE__ */ jsx(StorefrontButton, {
49
+ type: "submit",
50
+ disabled: isPending,
51
+ className: "w-full",
52
+ children: isPending ? updating : submit
53
+ }),
54
+ errors.general && /* @__PURE__ */ jsx("p", {
55
+ role: "alert",
56
+ className: "text-(--enad-error-color) text-sm mt-2 text-center",
57
+ children: errors.general.join(", ")
58
+ }),
59
+ errors.token && /* @__PURE__ */ jsx("p", {
60
+ role: "alert",
61
+ className: "text-(--enad-error-color) text-sm mt-2 text-center",
62
+ children: errors.token.join(", ")
63
+ })
64
+ ]
65
+ })
66
+ ]
67
+ })
68
+ });
59
69
  };
70
+ //#endregion
71
+ export { UpdatePasswordForm };
72
+
60
73
  //# sourceMappingURL=update-password-form.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/client/user/components/update-password-form.tsx"],"sourcesContent":["\"use client\"\n\nimport React, { useState, type FormEvent } from \"react\"\nimport { updatePasswordAction } from \"../actions/updatePasswordAction\"\nimport { StorefrontInput } from \"../../storefront/primitives/input\"\nimport { StorefrontButton } from \"../../storefront/primitives/button\"\n\ninterface UpdatePasswordFormProps {\n token: string\n labels?: {\n title?: string\n subtitle?: string\n password?: string\n passwordPlaceholder?: string\n submit?: string\n updating?: string\n }\n successRedirect?: string\n className?: string\n}\n\ninterface FormErrors {\n password?: string[]\n token?: string[]\n general?: string[]\n}\n\nexport const UpdatePasswordForm: React.FC<UpdatePasswordFormProps> = ({\n token,\n labels = {},\n successRedirect = \"/login\",\n className,\n}) => {\n const {\n title = \"Create new password\",\n subtitle = \"Enter a new password to update your account\",\n password: passwordLabel = \"Password\",\n passwordPlaceholder = \"••••••••\",\n submit = \"Update Password\",\n updating = \"Updating...\",\n } = labels\n\n const [errors, setErrors] = useState<FormErrors>({})\n const [isPending, setIsPending] = useState(false)\n\n const handleSubmit = async (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n setIsPending(true)\n setErrors({})\n\n const formData = new FormData(e.currentTarget)\n formData.set(\"token\", token)\n\n const res = await updatePasswordAction(formData, { redirectPath: successRedirect })\n\n if (res?.errors) {\n setErrors(res.errors)\n }\n\n setIsPending(false)\n }\n\n return (\n <main className={`flex items-center justify-center px-4 font-enad ${className ?? \"\"}`}>\n <div className=\"w-full max-w-md bg-(--enad-surface) border border-(--enad-border-color) shadow-lg rounded-(--enad-card-radius) p-8\">\n <h2 className=\"text-2xl font-semibold text-(--enad-text-primary-color) mb-2 text-center\">\n {title}\n </h2>\n <p className=\"text-(--enad-text-muted-color) text-sm text-center mb-8\">{subtitle}</p>\n\n <form onSubmit={handleSubmit} className=\"space-y-5\">\n <StorefrontInput\n type=\"password\"\n id=\"password\"\n name=\"password\"\n required\n label={passwordLabel}\n placeholder={passwordPlaceholder}\n error={errors.password?.join(\", \")}\n />\n\n {/* Submit */}\n <StorefrontButton type=\"submit\" disabled={isPending} className=\"w-full\">\n {isPending ? updating : submit}\n </StorefrontButton>\n\n {/* General errors */}\n {errors.general && (\n <p role=\"alert\" className=\"text-(--enad-error-color) text-sm mt-2 text-center\">\n {errors.general.join(\", \")}\n </p>\n )}\n {errors.token && (\n <p role=\"alert\" className=\"text-(--enad-error-color) text-sm mt-2 text-center\">\n {errors.token.join(\", \")}\n </p>\n )}\n </form>\n </div>\n </main>\n )\n}\n"],"mappings":";AAiEQ,cAKA,YALA;AA/DR,SAAgB,gBAAgC;AAChD,SAAS,4BAA4B;AACrC,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAsB1B,MAAM,qBAAwD,CAAC;AAAA,EACpE;AAAA,EACA,SAAS,CAAC;AAAA,EACV,kBAAkB;AAAA,EAClB;AACF,MAAM;AACJ,QAAM;AAAA,IACJ,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU,gBAAgB;AAAA,IAC1B,sBAAsB;AAAA,IACtB,SAAS;AAAA,IACT,WAAW;AAAA,EACb,IAAI;AAEJ,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAqB,CAAC,CAAC;AACnD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,QAAM,eAAe,OAAO,MAAkC;AAC5D,MAAE,eAAe;AACjB,iBAAa,IAAI;AACjB,cAAU,CAAC,CAAC;AAEZ,UAAM,WAAW,IAAI,SAAS,EAAE,aAAa;AAC7C,aAAS,IAAI,SAAS,KAAK;AAE3B,UAAM,MAAM,MAAM,qBAAqB,UAAU,EAAE,cAAc,gBAAgB,CAAC;AAElF,QAAI,KAAK,QAAQ;AACf,gBAAU,IAAI,MAAM;AAAA,IACtB;AAEA,iBAAa,KAAK;AAAA,EACpB;AAEA,SACE,oBAAC,UAAK,WAAW,mDAAmD,aAAa,EAAE,IACjF,+BAAC,SAAI,WAAU,sHACb;AAAA,wBAAC,QAAG,WAAU,4EACX,iBACH;AAAA,IACA,oBAAC,OAAE,WAAU,2DAA2D,oBAAS;AAAA,IAEjF,qBAAC,UAAK,UAAU,cAAc,WAAU,aACtC;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,IAAG;AAAA,UACH,MAAK;AAAA,UACL,UAAQ;AAAA,UACR,OAAO;AAAA,UACP,aAAa;AAAA,UACb,OAAO,OAAO,UAAU,KAAK,IAAI;AAAA;AAAA,MACnC;AAAA,MAGA,oBAAC,oBAAiB,MAAK,UAAS,UAAU,WAAW,WAAU,UAC5D,sBAAY,WAAW,QAC1B;AAAA,MAGC,OAAO,WACN,oBAAC,OAAE,MAAK,SAAQ,WAAU,sDACvB,iBAAO,QAAQ,KAAK,IAAI,GAC3B;AAAA,MAED,OAAO,SACN,oBAAC,OAAE,MAAK,SAAQ,WAAU,sDACvB,iBAAO,MAAM,KAAK,IAAI,GACzB;AAAA,OAEJ;AAAA,KACF,GACF;AAEJ;","names":[]}
1
+ {"version":3,"file":"update-password-form.mjs","names":[],"sources":["../../../../src/client/user/components/update-password-form.tsx"],"sourcesContent":["\"use client\"\n\nimport React, { useState, type FormEvent } from \"react\"\nimport { updatePasswordAction } from \"../actions/updatePasswordAction\"\nimport { StorefrontInput } from \"../../storefront/primitives/input\"\nimport { StorefrontButton } from \"../../storefront/primitives/button\"\n\ninterface UpdatePasswordFormProps {\n token: string\n labels?: {\n title?: string\n subtitle?: string\n password?: string\n passwordPlaceholder?: string\n submit?: string\n updating?: string\n }\n successRedirect?: string\n className?: string\n}\n\ninterface FormErrors {\n password?: string[]\n token?: string[]\n general?: string[]\n}\n\nexport const UpdatePasswordForm: React.FC<UpdatePasswordFormProps> = ({\n token,\n labels = {},\n successRedirect = \"/login\",\n className,\n}) => {\n const {\n title = \"Create new password\",\n subtitle = \"Enter a new password to update your account\",\n password: passwordLabel = \"Password\",\n passwordPlaceholder = \"••••••••\",\n submit = \"Update Password\",\n updating = \"Updating...\",\n } = labels\n\n const [errors, setErrors] = useState<FormErrors>({})\n const [isPending, setIsPending] = useState(false)\n\n const handleSubmit = async (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n setIsPending(true)\n setErrors({})\n\n const formData = new FormData(e.currentTarget)\n formData.set(\"token\", token)\n\n const res = await updatePasswordAction(formData, { redirectPath: successRedirect })\n\n if (res?.errors) {\n setErrors(res.errors)\n }\n\n setIsPending(false)\n }\n\n return (\n <main className={`flex items-center justify-center px-4 font-enad ${className ?? \"\"}`}>\n <div className=\"w-full max-w-md bg-(--enad-surface) border border-(--enad-border-color) shadow-lg rounded-(--enad-card-radius) p-8\">\n <h2 className=\"text-2xl font-semibold text-(--enad-text-primary-color) mb-2 text-center\">\n {title}\n </h2>\n <p className=\"text-(--enad-text-muted-color) text-sm text-center mb-8\">{subtitle}</p>\n\n <form onSubmit={handleSubmit} className=\"space-y-5\">\n <StorefrontInput\n type=\"password\"\n id=\"password\"\n name=\"password\"\n required\n label={passwordLabel}\n placeholder={passwordPlaceholder}\n error={errors.password?.join(\", \")}\n />\n\n {/* Submit */}\n <StorefrontButton type=\"submit\" disabled={isPending} className=\"w-full\">\n {isPending ? updating : submit}\n </StorefrontButton>\n\n {/* General errors */}\n {errors.general && (\n <p role=\"alert\" className=\"text-(--enad-error-color) text-sm mt-2 text-center\">\n {errors.general.join(\", \")}\n </p>\n )}\n {errors.token && (\n <p role=\"alert\" className=\"text-(--enad-error-color) text-sm mt-2 text-center\">\n {errors.token.join(\", \")}\n </p>\n )}\n </form>\n </div>\n </main>\n )\n}\n"],"mappings":";;;;;;;AA2BA,MAAa,sBAAyD,EACpE,OACA,SAAS,EAAE,EACX,kBAAkB,UAClB,gBACI;CACJ,MAAM,EACJ,QAAQ,uBACR,WAAW,+CACX,UAAU,gBAAgB,YAC1B,sBAAsB,YACtB,SAAS,mBACT,WAAW,kBACT;CAEJ,MAAM,CAAC,QAAQ,aAAa,SAAqB,EAAE,CAAC;CACpD,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;CAEjD,MAAM,eAAe,OAAO,MAAkC;AAC5D,IAAE,gBAAgB;AAClB,eAAa,KAAK;AAClB,YAAU,EAAE,CAAC;EAEb,MAAM,WAAW,IAAI,SAAS,EAAE,cAAc;AAC9C,WAAS,IAAI,SAAS,MAAM;EAE5B,MAAM,MAAM,MAAM,qBAAqB,UAAU,EAAE,cAAc,iBAAiB,CAAC;AAEnF,MAAI,KAAK,OACP,WAAU,IAAI,OAAO;AAGvB,eAAa,MAAM;;AAGrB,QACE,oBAAC,QAAD;EAAM,WAAW,mDAAmD,aAAa;YAC/E,qBAAC,OAAD;GAAK,WAAU;aAAf;IACE,oBAAC,MAAD;KAAI,WAAU;eACX;KACE,CAAA;IACL,oBAAC,KAAD;KAAG,WAAU;eAA2D;KAAa,CAAA;IAErF,qBAAC,QAAD;KAAM,UAAU;KAAc,WAAU;eAAxC;MACE,oBAAC,iBAAD;OACE,MAAK;OACL,IAAG;OACH,MAAK;OACL,UAAA;OACA,OAAO;OACP,aAAa;OACb,OAAO,OAAO,UAAU,KAAK,KAAK;OAClC,CAAA;MAGF,oBAAC,kBAAD;OAAkB,MAAK;OAAS,UAAU;OAAW,WAAU;iBAC5D,YAAY,WAAW;OACP,CAAA;MAGlB,OAAO,WACN,oBAAC,KAAD;OAAG,MAAK;OAAQ,WAAU;iBACvB,OAAO,QAAQ,KAAK,KAAK;OACxB,CAAA;MAEL,OAAO,SACN,oBAAC,KAAD;OAAG,MAAK;OAAQ,WAAU;iBACvB,OAAO,MAAM,KAAK,KAAK;OACtB,CAAA;MAED;;IACH;;EACD,CAAA"}
@@ -1,2 +1,2 @@
1
- export * from "./useUser";
2
- //# sourceMappingURL=index.d.ts.map
1
+ import { useUser } from "./useUser.js";
2
+ export { useUser };
@@ -1,2 +1,2 @@
1
- export * from "./useUser";
2
- //# sourceMappingURL=index.mjs.map
1
+ import { useUser } from "./useUser.mjs";
2
+ export { useUser };
@@ -1,12 +1,18 @@
1
+ import { EnadUser } from "../types/user.js";
2
+ import * as _tanstack_react_query0 from "@tanstack/react-query";
3
+
4
+ //#region src/client/user/hooks/useUser.d.ts
1
5
  /**
2
6
  * Hook to fetch the current authenticated user.
3
7
  * Relies on /api/user which handles token refresh automatically.
4
8
  */
5
- export declare const useUser: () => {
6
- user: import("..").EnadUser | null;
7
- userIsSignedIn: boolean;
8
- isLoading: boolean;
9
- isFetching: boolean;
10
- refreshUser: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("..").EnadUser, Error>>;
9
+ declare const useUser: () => {
10
+ user: EnadUser | null;
11
+ userIsSignedIn: boolean;
12
+ isLoading: boolean;
13
+ isFetching: boolean;
14
+ refreshUser: (options?: _tanstack_react_query0.RefetchOptions) => Promise<_tanstack_react_query0.QueryObserverResult<EnadUser, Error>>;
11
15
  };
16
+ //#endregion
17
+ export { useUser };
12
18
  //# sourceMappingURL=useUser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUser.d.ts","sourceRoot":"","sources":["../../../../src/client/user/hooks/useUser.tsx"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,OAAO;;;;;;CAyBnB,CAAA"}
1
+ {"version":3,"file":"useUser.d.ts","names":[],"sources":["../../../../src/client/user/hooks/useUser.tsx"],"mappings":";;;;;;;;cAUa,OAAA;QAyBZ,QAAA"}
@@ -1,32 +1,35 @@
1
1
  "use client";
2
- import { useQuery } from "@tanstack/react-query";
2
+ import { getUserAction } from "../actions/getUserAction.mjs";
3
3
  import { useEffect, useState } from "react";
4
- import { getUserAction } from "../actions/getUserAction";
4
+ import { useQuery } from "@tanstack/react-query";
5
+ //#region src/client/user/hooks/useUser.tsx
6
+ /**
7
+ * Hook to fetch the current authenticated user.
8
+ * Relies on /api/user which handles token refresh automatically.
9
+ */
5
10
  const useUser = () => {
6
- const [signedIn, setSignedIn] = useState(false);
7
- useEffect(() => {
8
- const isSignedIn = document.cookie.includes("user_sign_in=true");
9
- setSignedIn(isSignedIn);
10
- }, []);
11
- const userQuery = useQuery({
12
- queryKey: ["user"],
13
- queryFn: async () => {
14
- return getUserAction();
15
- },
16
- staleTime: 5 * 60 * 1e3,
17
- // Cache user for 5 minutes
18
- refetchOnMount: false,
19
- enabled: signedIn
20
- });
21
- return {
22
- user: userQuery.data ?? null,
23
- userIsSignedIn: Boolean(userQuery.data),
24
- isLoading: userQuery.isLoading,
25
- isFetching: userQuery.isFetching,
26
- refreshUser: userQuery.refetch
27
- };
28
- };
29
- export {
30
- useUser
11
+ const [signedIn, setSignedIn] = useState(false);
12
+ useEffect(() => {
13
+ setSignedIn(document.cookie.includes("user_sign_in=true"));
14
+ }, []);
15
+ const userQuery = useQuery({
16
+ queryKey: ["user"],
17
+ queryFn: async () => {
18
+ return getUserAction();
19
+ },
20
+ staleTime: 300 * 1e3,
21
+ refetchOnMount: false,
22
+ enabled: signedIn
23
+ });
24
+ return {
25
+ user: userQuery.data ?? null,
26
+ userIsSignedIn: Boolean(userQuery.data),
27
+ isLoading: userQuery.isLoading,
28
+ isFetching: userQuery.isFetching,
29
+ refreshUser: userQuery.refetch
30
+ };
31
31
  };
32
+ //#endregion
33
+ export { useUser };
34
+
32
35
  //# sourceMappingURL=useUser.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/client/user/hooks/useUser.tsx"],"sourcesContent":["\"use client\"\n\nimport { useQuery } from \"@tanstack/react-query\"\nimport { useEffect, useState } from \"react\"\nimport { getUserAction } from \"../actions/getUserAction\"\n\n/**\n * Hook to fetch the current authenticated user.\n * Relies on /api/user which handles token refresh automatically.\n */\nexport const useUser = () => {\n const [signedIn, setSignedIn] = useState(false)\n\n useEffect(() => {\n const isSignedIn = document.cookie.includes(\"user_sign_in=true\")\n setSignedIn(isSignedIn)\n }, [])\n\n const userQuery = useQuery({\n queryKey: [\"user\"],\n queryFn: async () => {\n return getUserAction()\n },\n staleTime: 5 * 60 * 1000, // Cache user for 5 minutes\n refetchOnMount: false,\n enabled: signedIn,\n })\n\n return {\n user: userQuery.data ?? null,\n userIsSignedIn: Boolean(userQuery.data),\n isLoading: userQuery.isLoading,\n isFetching: userQuery.isFetching,\n refreshUser: userQuery.refetch,\n }\n}\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,WAAW,gBAAgB;AACpC,SAAS,qBAAqB;AAMvB,MAAM,UAAU,MAAM;AAC3B,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAE9C,YAAU,MAAM;AACd,UAAM,aAAa,SAAS,OAAO,SAAS,mBAAmB;AAC/D,gBAAY,UAAU;AAAA,EACxB,GAAG,CAAC,CAAC;AAEL,QAAM,YAAY,SAAS;AAAA,IACzB,UAAU,CAAC,MAAM;AAAA,IACjB,SAAS,YAAY;AACnB,aAAO,cAAc;AAAA,IACvB;AAAA,IACA,WAAW,IAAI,KAAK;AAAA;AAAA,IACpB,gBAAgB;AAAA,IAChB,SAAS;AAAA,EACX,CAAC;AAED,SAAO;AAAA,IACL,MAAM,UAAU,QAAQ;AAAA,IACxB,gBAAgB,QAAQ,UAAU,IAAI;AAAA,IACtC,WAAW,UAAU;AAAA,IACrB,YAAY,UAAU;AAAA,IACtB,aAAa,UAAU;AAAA,EACzB;AACF;","names":[]}
1
+ {"version":3,"file":"useUser.mjs","names":[],"sources":["../../../../src/client/user/hooks/useUser.tsx"],"sourcesContent":["\"use client\"\n\nimport { useQuery } from \"@tanstack/react-query\"\nimport { useEffect, useState } from \"react\"\nimport { getUserAction } from \"../actions/getUserAction\"\n\n/**\n * Hook to fetch the current authenticated user.\n * Relies on /api/user which handles token refresh automatically.\n */\nexport const useUser = () => {\n const [signedIn, setSignedIn] = useState(false)\n\n useEffect(() => {\n const isSignedIn = document.cookie.includes(\"user_sign_in=true\")\n setSignedIn(isSignedIn)\n }, [])\n\n const userQuery = useQuery({\n queryKey: [\"user\"],\n queryFn: async () => {\n return getUserAction()\n },\n staleTime: 5 * 60 * 1000, // Cache user for 5 minutes\n refetchOnMount: false,\n enabled: signedIn,\n })\n\n return {\n user: userQuery.data ?? null,\n userIsSignedIn: Boolean(userQuery.data),\n isLoading: userQuery.isLoading,\n isFetching: userQuery.isFetching,\n refreshUser: userQuery.refetch,\n }\n}\n"],"mappings":";;;;;;;;;AAUA,MAAa,gBAAgB;CAC3B,MAAM,CAAC,UAAU,eAAe,SAAS,MAAM;AAE/C,iBAAgB;AAEd,cADmB,SAAS,OAAO,SAAS,oBAAoB,CACzC;IACtB,EAAE,CAAC;CAEN,MAAM,YAAY,SAAS;EACzB,UAAU,CAAC,OAAO;EAClB,SAAS,YAAY;AACnB,UAAO,eAAe;;EAExB,WAAW,MAAS;EACpB,gBAAgB;EAChB,SAAS;EACV,CAAC;AAEF,QAAO;EACL,MAAM,UAAU,QAAQ;EACxB,gBAAgB,QAAQ,UAAU,KAAK;EACvC,WAAW,UAAU;EACrB,YAAY,UAAU;EACtB,aAAa,UAAU;EACxB"}
@@ -1,9 +1,9 @@
1
- export { LoginForm } from "./components/login-form";
2
- export { SignupForm } from "./components/signup-form";
3
- export { SignupOrganisationForm } from "./components/signup-organisation-form";
4
- export { ResetPasswordForm } from "./components/reset-password-form";
5
- export { UpdatePasswordForm } from "./components/update-password-form";
6
- export { SignOut } from "./components/sign-out";
7
- export { useUser } from "./hooks/useUser";
8
- export type { EnadUser, EnadUserResponse, EnadSignupResponse, EnadLoginRequest, EnadSignupRequest, EnadUpdateUserRequest, EnadResetPasswordRequest, EnadOrganisation, EnadOrganisationByUser, EnadUserOrganisation, } from "./types/user";
9
- //# sourceMappingURL=index.d.ts.map
1
+ import { EnadLoginRequest, EnadOrganisation, EnadOrganisationByUser, EnadResetPasswordRequest, EnadSignupRequest, EnadSignupResponse, EnadUpdateUserRequest, EnadUser, EnadUserOrganisation, EnadUserResponse } from "./types/user.js";
2
+ import { LoginForm } from "./components/login-form.js";
3
+ import { ResetPasswordForm } from "./components/reset-password-form.js";
4
+ import { SignOut } from "./components/sign-out.js";
5
+ import { SignupForm } from "./components/signup-form.js";
6
+ import { SignupOrganisationForm } from "./components/signup-organisation-form.js";
7
+ import { UpdatePasswordForm } from "./components/update-password-form.js";
8
+ import { useUser } from "./hooks/useUser.js";
9
+ export { type EnadLoginRequest, type EnadOrganisation, type EnadOrganisationByUser, type EnadResetPasswordRequest, type EnadSignupRequest, type EnadSignupResponse, type EnadUpdateUserRequest, type EnadUser, type EnadUserOrganisation, type EnadUserResponse, LoginForm, ResetPasswordForm, SignOut, SignupForm, SignupOrganisationForm, UpdatePasswordForm, useUser };