@enadhq/enad-react-sdk 1.0.0 → 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.
- package/README.md +305 -0
- package/dist/client/_virtual/_rolldown/runtime.mjs +6 -0
- package/dist/client/adapters/index.d.ts +3 -0
- package/dist/client/adapters/index.mjs +3 -0
- package/dist/client/adapters/next-cookie-adapter.d.ts +18 -0
- package/dist/client/adapters/next-cookie-adapter.d.ts.map +1 -0
- package/dist/client/adapters/next-cookie-adapter.mjs +25 -0
- package/dist/client/adapters/next-cookie-adapter.mjs.map +1 -0
- package/dist/client/adapters/next-navigation-adapter.d.ts +9 -0
- package/dist/client/adapters/next-navigation-adapter.d.ts.map +1 -0
- package/dist/client/adapters/next-navigation-adapter.mjs +12 -0
- package/dist/client/adapters/next-navigation-adapter.mjs.map +1 -0
- package/dist/client/cart/adapters/brink.d.ts +33 -0
- package/dist/client/cart/adapters/brink.d.ts.map +1 -0
- package/dist/client/cart/adapters/brink.mjs +171 -0
- package/dist/client/cart/adapters/brink.mjs.map +1 -0
- package/dist/client/cart/adapters/index.d.ts +2 -0
- package/dist/client/cart/adapters/index.mjs +2 -0
- package/dist/client/cart/adapters/mock.d.ts +24 -0
- package/dist/client/cart/adapters/mock.d.ts.map +1 -0
- package/dist/client/cart/adapters/mock.mjs +92 -0
- package/dist/client/cart/adapters/mock.mjs.map +1 -0
- package/dist/client/cart/components/cart-drawer.d.ts +27 -0
- package/dist/client/cart/components/cart-drawer.d.ts.map +1 -0
- package/dist/client/cart/components/cart-drawer.mjs +277 -0
- package/dist/client/cart/components/cart-drawer.mjs.map +1 -0
- package/dist/client/cart/components/cart-trigger.d.ts +20 -0
- package/dist/client/cart/components/cart-trigger.d.ts.map +1 -0
- package/dist/client/cart/components/cart-trigger.mjs +27 -0
- package/dist/client/cart/components/cart-trigger.mjs.map +1 -0
- package/dist/client/cart/components/promo-code-input.d.ts +29 -0
- package/dist/client/cart/components/promo-code-input.d.ts.map +1 -0
- package/dist/client/cart/components/promo-code-input.mjs +81 -0
- package/dist/client/cart/components/promo-code-input.mjs.map +1 -0
- package/dist/client/cart/constants/session.d.ts +5 -0
- package/dist/client/cart/constants/session.d.ts.map +1 -0
- package/dist/client/cart/constants/session.mjs +6 -0
- package/dist/client/cart/constants/session.mjs.map +1 -0
- package/dist/client/cart/contexts/cart.d.ts +44 -0
- package/dist/client/cart/contexts/cart.d.ts.map +1 -0
- package/dist/client/cart/contexts/cart.mjs +37 -0
- package/dist/client/cart/contexts/cart.mjs.map +1 -0
- package/dist/client/cart/hooks/useCart.d.ts +32 -0
- package/dist/client/cart/hooks/useCart.d.ts.map +1 -0
- package/dist/client/cart/hooks/useCart.mjs +31 -0
- package/dist/client/cart/hooks/useCart.mjs.map +1 -0
- package/dist/client/cart/hooks/useCartActions.d.ts +30 -0
- package/dist/client/cart/hooks/useCartActions.d.ts.map +1 -0
- package/dist/client/cart/hooks/useCartActions.mjs +50 -0
- package/dist/client/cart/hooks/useCartActions.mjs.map +1 -0
- package/dist/client/cart/index.d.ts +8 -0
- package/dist/client/cart/index.mjs +7 -0
- package/dist/client/cart/queries/addToCartQueryFn.d.ts +14 -0
- package/dist/client/cart/queries/addToCartQueryFn.d.ts.map +1 -0
- package/dist/client/cart/queries/addToCartQueryFn.mjs +28 -0
- package/dist/client/cart/queries/addToCartQueryFn.mjs.map +1 -0
- package/dist/client/cart/queries/getCartQueryFn.d.ts +8 -0
- package/dist/client/cart/queries/getCartQueryFn.d.ts.map +1 -0
- package/dist/client/cart/queries/getCartQueryFn.mjs +37 -0
- package/dist/client/cart/queries/getCartQueryFn.mjs.map +1 -0
- package/dist/client/cart/queries/removeCartItemQueryFn.d.ts +12 -0
- package/dist/client/cart/queries/removeCartItemQueryFn.d.ts.map +1 -0
- package/dist/client/cart/queries/removeCartItemQueryFn.mjs +23 -0
- package/dist/client/cart/queries/removeCartItemQueryFn.mjs.map +1 -0
- package/dist/client/cart/queries/updateCartItemQueryFn.d.ts +14 -0
- package/dist/client/cart/queries/updateCartItemQueryFn.d.ts.map +1 -0
- package/dist/client/cart/queries/updateCartItemQueryFn.mjs +25 -0
- package/dist/client/cart/queries/updateCartItemQueryFn.mjs.map +1 -0
- package/dist/client/cart/types/adapter.d.ts +113 -0
- package/dist/client/cart/types/adapter.d.ts.map +1 -0
- package/dist/client/cart/types/adapter.mjs +13 -0
- package/dist/client/cart/types/adapter.mjs.map +1 -0
- package/dist/client/cart/types/cart.d.ts +55 -0
- package/dist/client/cart/types/cart.d.ts.map +1 -0
- package/dist/client/cart/types/cart.mjs +1 -0
- package/dist/client/cart/utils/session.d.ts +8 -0
- package/dist/client/cart/utils/session.d.ts.map +1 -0
- package/dist/client/cart/utils/session.mjs +19 -0
- package/dist/client/cart/utils/session.mjs.map +1 -0
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.d.ts +12 -0
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.d.ts.map +1 -0
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.mjs +18 -0
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.mjs.map +1 -0
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.d.ts +32 -0
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.d.ts.map +1 -0
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.mjs +70 -0
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.mjs.map +1 -0
- package/dist/client/global/auth/cookie-adapter.d.ts +33 -0
- package/dist/client/global/auth/cookie-adapter.d.ts.map +1 -0
- package/dist/client/global/auth/cookie-adapter.mjs +28 -0
- package/dist/client/global/auth/cookie-adapter.mjs.map +1 -0
- package/dist/client/global/auth/cookie-context.d.ts +21 -0
- package/dist/client/global/auth/cookie-context.d.ts.map +1 -0
- package/dist/client/global/auth/cookie-context.mjs +24 -0
- package/dist/client/global/auth/cookie-context.mjs.map +1 -0
- package/dist/client/global/auth/navigation-adapter.d.ts +9 -0
- package/dist/client/global/auth/navigation-adapter.d.ts.map +1 -0
- package/dist/client/global/auth/navigation-adapter.mjs +13 -0
- package/dist/client/global/auth/navigation-adapter.mjs.map +1 -0
- package/dist/client/global/auth/withAuth.d.ts +8 -0
- package/dist/client/global/auth/withAuth.d.ts.map +1 -0
- package/dist/client/global/auth/withAuth.mjs +29 -0
- package/dist/client/global/auth/withAuth.mjs.map +1 -0
- package/dist/client/global/components/error-boundary.d.ts +23 -0
- package/dist/client/global/components/error-boundary.d.ts.map +1 -0
- package/dist/client/global/components/error-boundary.mjs +40 -0
- package/dist/client/global/components/error-boundary.mjs.map +1 -0
- package/dist/client/global/config/index.d.ts +19 -0
- package/dist/client/global/config/index.d.ts.map +1 -0
- package/dist/client/global/config/index.mjs +15 -0
- package/dist/client/global/config/index.mjs.map +1 -0
- package/dist/client/global/constants/tags.d.ts +18 -0
- package/dist/client/global/constants/tags.d.ts.map +1 -0
- package/dist/client/global/constants/tags.mjs +19 -0
- package/dist/client/global/constants/tags.mjs.map +1 -0
- package/dist/client/global/contexts/locale.d.ts +14 -0
- package/dist/client/global/contexts/locale.d.ts.map +1 -0
- package/dist/client/global/contexts/locale.mjs +24 -0
- package/dist/client/global/contexts/locale.mjs.map +1 -0
- package/dist/client/global/index.d.ts +8 -0
- package/dist/client/global/index.mjs +7 -0
- package/dist/client/global/providers/enad-provider.d.ts +93 -0
- package/dist/client/global/providers/enad-provider.d.ts.map +1 -0
- package/dist/client/global/providers/enad-provider.mjs +74 -0
- package/dist/client/global/providers/enad-provider.mjs.map +1 -0
- package/dist/client/icons/adapters/carbon.d.ts +12 -0
- package/dist/client/icons/adapters/carbon.d.ts.map +1 -0
- package/dist/client/icons/adapters/carbon.mjs +62 -0
- package/dist/client/icons/adapters/carbon.mjs.map +1 -0
- package/dist/client/icons/adapters/hugeicons.d.ts +13 -0
- package/dist/client/icons/adapters/hugeicons.d.ts.map +1 -0
- package/dist/client/icons/adapters/hugeicons.mjs +66 -0
- package/dist/client/icons/adapters/hugeicons.mjs.map +1 -0
- package/dist/client/icons/adapters/lucide.d.ts +12 -0
- package/dist/client/icons/adapters/lucide.d.ts.map +1 -0
- package/dist/client/icons/adapters/lucide.mjs +62 -0
- package/dist/client/icons/adapters/lucide.mjs.map +1 -0
- package/dist/client/icons/adapters/phosphor.d.ts +14 -0
- package/dist/client/icons/adapters/phosphor.d.ts.map +1 -0
- package/dist/client/icons/adapters/phosphor.mjs +107 -0
- package/dist/client/icons/adapters/phosphor.mjs.map +1 -0
- package/dist/client/icons/icon-context.d.ts +24 -0
- package/dist/client/icons/icon-context.d.ts.map +1 -0
- package/dist/client/icons/icon-context.mjs +23 -0
- package/dist/client/icons/icon-context.mjs.map +1 -0
- package/dist/client/icons/index.d.ts +7 -0
- package/dist/client/icons/index.mjs +6 -0
- package/dist/client/icons/types.d.ts +63 -0
- package/dist/client/icons/types.d.ts.map +1 -0
- package/dist/client/icons/types.mjs +1 -0
- package/dist/client/motion/config.d.ts +33 -0
- package/dist/client/motion/config.d.ts.map +1 -0
- package/dist/client/motion/config.mjs +40 -0
- package/dist/client/motion/config.mjs.map +1 -0
- package/dist/client/motion/hover.d.ts +34 -0
- package/dist/client/motion/hover.d.ts.map +1 -0
- package/dist/client/motion/hover.mjs +45 -0
- package/dist/client/motion/hover.mjs.map +1 -0
- package/dist/client/motion/index.d.ts +4 -0
- package/dist/client/motion/index.mjs +4 -0
- package/dist/client/motion/stagger.d.ts +34 -0
- package/dist/client/motion/stagger.d.ts.map +1 -0
- package/dist/client/motion/stagger.mjs +43 -0
- package/dist/client/motion/stagger.mjs.map +1 -0
- package/dist/client/node_modules/.pnpm/@swc_helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.mjs +13 -0
- package/dist/client/node_modules/.pnpm/@swc_helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.mjs.map +1 -0
- package/dist/client/node_modules/.pnpm/@swc_helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.mjs +34 -0
- package/dist/client/node_modules/.pnpm/@swc_helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.mjs.map +1 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/client/search/actions/searchAction.d.ts +7 -0
- package/dist/client/search/actions/searchAction.d.ts.map +1 -0
- package/dist/client/search/actions/searchAction.mjs +17 -0
- package/dist/client/search/actions/searchAction.mjs.map +1 -0
- package/dist/client/search/components/search-bar.d.ts +16 -0
- package/dist/client/search/components/search-bar.d.ts.map +1 -0
- package/dist/client/search/components/search-bar.mjs +33 -0
- package/dist/client/search/components/search-bar.mjs.map +1 -0
- package/dist/client/search/hooks/useSearch.d.ts +20 -0
- package/dist/client/search/hooks/useSearch.d.ts.map +1 -0
- package/dist/client/search/hooks/useSearch.mjs +47 -0
- package/dist/client/search/hooks/useSearch.mjs.map +1 -0
- package/dist/client/search/index.d.ts +2 -0
- package/dist/client/search/index.mjs +2 -0
- package/dist/client/storefront/blocks/accordion-block.d.ts +12 -0
- package/dist/client/storefront/blocks/accordion-block.d.ts.map +1 -0
- package/dist/client/storefront/blocks/accordion-block.mjs +37 -0
- package/dist/client/storefront/blocks/accordion-block.mjs.map +1 -0
- package/dist/client/storefront/blocks/card-image-with-caption.d.ts +13 -0
- package/dist/client/storefront/blocks/card-image-with-caption.d.ts.map +1 -0
- package/dist/client/storefront/blocks/card-image-with-caption.mjs +30 -0
- package/dist/client/storefront/blocks/card-image-with-caption.mjs.map +1 -0
- package/dist/client/storefront/blocks/card-video.d.ts +15 -0
- package/dist/client/storefront/blocks/card-video.d.ts.map +1 -0
- package/dist/client/storefront/blocks/card-video.mjs +51 -0
- package/dist/client/storefront/blocks/card-video.mjs.map +1 -0
- package/dist/client/storefront/blocks/content-with-gallery.d.ts +17 -0
- package/dist/client/storefront/blocks/content-with-gallery.d.ts.map +1 -0
- package/dist/client/storefront/blocks/content-with-gallery.mjs +71 -0
- package/dist/client/storefront/blocks/content-with-gallery.mjs.map +1 -0
- package/dist/client/storefront/blocks/content-with-image-product-data.d.ts +18 -0
- package/dist/client/storefront/blocks/content-with-image-product-data.d.ts.map +1 -0
- package/dist/client/storefront/blocks/content-with-image-product-data.mjs +69 -0
- package/dist/client/storefront/blocks/content-with-image-product-data.mjs.map +1 -0
- package/dist/client/storefront/blocks/gallery-with-caption.d.ts +14 -0
- package/dist/client/storefront/blocks/gallery-with-caption.d.ts.map +1 -0
- package/dist/client/storefront/blocks/gallery-with-caption.mjs +29 -0
- package/dist/client/storefront/blocks/gallery-with-caption.mjs.map +1 -0
- package/dist/client/storefront/blocks/gallery-with-link-blocks.d.ts +12 -0
- package/dist/client/storefront/blocks/gallery-with-link-blocks.d.ts.map +1 -0
- package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs +31 -0
- package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs.map +1 -0
- package/dist/client/storefront/blocks/gallery.d.ts +13 -0
- package/dist/client/storefront/blocks/gallery.d.ts.map +1 -0
- package/dist/client/storefront/blocks/gallery.mjs +54 -0
- package/dist/client/storefront/blocks/gallery.mjs.map +1 -0
- package/dist/client/storefront/blocks/hero.d.ts +8 -0
- package/dist/client/storefront/blocks/hero.d.ts.map +1 -0
- package/dist/client/storefront/blocks/hero.mjs +265 -0
- package/dist/client/storefront/blocks/hero.mjs.map +1 -0
- package/dist/client/storefront/blocks/image-block.d.ts +13 -0
- package/dist/client/storefront/blocks/image-block.d.ts.map +1 -0
- package/dist/client/storefront/blocks/image-block.mjs +29 -0
- package/dist/client/storefront/blocks/image-block.mjs.map +1 -0
- package/dist/client/storefront/blocks/index.d.ts +22 -0
- package/dist/client/storefront/blocks/index.mjs +21 -0
- package/dist/client/storefront/blocks/link-block-small.d.ts +13 -0
- package/dist/client/storefront/blocks/link-block-small.d.ts.map +1 -0
- package/dist/client/storefront/blocks/link-block-small.mjs +34 -0
- package/dist/client/storefront/blocks/link-block-small.mjs.map +1 -0
- package/dist/client/storefront/blocks/link-block.d.ts +8 -0
- package/dist/client/storefront/blocks/link-block.d.ts.map +1 -0
- package/dist/client/storefront/blocks/link-block.mjs +139 -0
- package/dist/client/storefront/blocks/link-block.mjs.map +1 -0
- package/dist/client/storefront/blocks/product-card-parts.d.ts +77 -0
- package/dist/client/storefront/blocks/product-card-parts.d.ts.map +1 -0
- package/dist/client/storefront/blocks/product-card-parts.mjs +112 -0
- package/dist/client/storefront/blocks/product-card-parts.mjs.map +1 -0
- package/dist/client/storefront/blocks/product-card.d.ts +8 -0
- package/dist/client/storefront/blocks/product-card.d.ts.map +1 -0
- package/dist/client/storefront/blocks/product-card.mjs +228 -0
- package/dist/client/storefront/blocks/product-card.mjs.map +1 -0
- package/dist/client/storefront/blocks/product-image.d.ts +16 -0
- package/dist/client/storefront/blocks/product-image.d.ts.map +1 -0
- package/dist/client/storefront/blocks/product-image.mjs +81 -0
- package/dist/client/storefront/blocks/product-image.mjs.map +1 -0
- package/dist/client/storefront/blocks/spacer.d.ts +10 -0
- package/dist/client/storefront/blocks/spacer.d.ts.map +1 -0
- package/dist/client/storefront/blocks/spacer.mjs +19 -0
- package/dist/client/storefront/blocks/spacer.mjs.map +1 -0
- package/dist/client/storefront/blocks/text-content-with-image.d.ts +8 -0
- package/dist/client/storefront/blocks/text-content-with-image.d.ts.map +1 -0
- package/dist/client/storefront/blocks/text-content-with-image.mjs +218 -0
- package/dist/client/storefront/blocks/text-content-with-image.mjs.map +1 -0
- package/dist/client/storefront/blocks/text-content.d.ts +8 -0
- package/dist/client/storefront/blocks/text-content.d.ts.map +1 -0
- package/dist/client/storefront/blocks/text-content.mjs +165 -0
- package/dist/client/storefront/blocks/text-content.mjs.map +1 -0
- package/dist/client/storefront/blocks/truncated-text.d.ts +13 -0
- package/dist/client/storefront/blocks/truncated-text.d.ts.map +1 -0
- package/dist/client/storefront/blocks/truncated-text.mjs +42 -0
- package/dist/client/storefront/blocks/truncated-text.mjs.map +1 -0
- package/dist/client/storefront/blocks/variable-text-content.d.ts +11 -0
- package/dist/client/storefront/blocks/variable-text-content.d.ts.map +1 -0
- package/dist/client/storefront/blocks/variable-text-content.mjs +17 -0
- package/dist/client/storefront/blocks/variable-text-content.mjs.map +1 -0
- package/dist/client/storefront/carousel/index.d.ts +2 -0
- package/dist/client/storefront/carousel/index.mjs +2 -0
- package/dist/client/storefront/carousel/swipeable-carousel.d.ts +26 -0
- package/dist/client/storefront/carousel/swipeable-carousel.d.ts.map +1 -0
- package/dist/client/storefront/carousel/swipeable-carousel.mjs +50 -0
- package/dist/client/storefront/carousel/swipeable-carousel.mjs.map +1 -0
- package/dist/client/storefront/checkout/address-form.d.ts +48 -0
- package/dist/client/storefront/checkout/address-form.d.ts.map +1 -0
- package/dist/client/storefront/checkout/address-form.mjs +114 -0
- package/dist/client/storefront/checkout/address-form.mjs.map +1 -0
- package/dist/client/storefront/checkout/cart-summary.d.ts +61 -0
- package/dist/client/storefront/checkout/cart-summary.d.ts.map +1 -0
- package/dist/client/storefront/checkout/cart-summary.mjs +160 -0
- package/dist/client/storefront/checkout/cart-summary.mjs.map +1 -0
- package/dist/client/storefront/checkout/checkout-stepper.d.ts +22 -0
- package/dist/client/storefront/checkout/checkout-stepper.d.ts.map +1 -0
- package/dist/client/storefront/checkout/checkout-stepper.mjs +43 -0
- package/dist/client/storefront/checkout/checkout-stepper.mjs.map +1 -0
- package/dist/client/storefront/checkout/index.d.ts +8 -0
- package/dist/client/storefront/checkout/index.mjs +8 -0
- package/dist/client/storefront/checkout/order-confirmation.d.ts +21 -0
- package/dist/client/storefront/checkout/order-confirmation.d.ts.map +1 -0
- package/dist/client/storefront/checkout/order-confirmation.mjs +35 -0
- package/dist/client/storefront/checkout/order-confirmation.mjs.map +1 -0
- package/dist/client/storefront/checkout/order-summary.d.ts +48 -0
- package/dist/client/storefront/checkout/order-summary.d.ts.map +1 -0
- package/dist/client/storefront/checkout/order-summary.mjs +143 -0
- package/dist/client/storefront/checkout/order-summary.mjs.map +1 -0
- package/dist/client/storefront/checkout/payment-method-selector.d.ts +29 -0
- package/dist/client/storefront/checkout/payment-method-selector.d.ts.map +1 -0
- package/dist/client/storefront/checkout/payment-method-selector.mjs +49 -0
- package/dist/client/storefront/checkout/payment-method-selector.mjs.map +1 -0
- package/dist/client/storefront/checkout/shipping-method-selector.d.ts +37 -0
- package/dist/client/storefront/checkout/shipping-method-selector.d.ts.map +1 -0
- package/dist/client/storefront/checkout/shipping-method-selector.mjs +59 -0
- package/dist/client/storefront/checkout/shipping-method-selector.mjs.map +1 -0
- package/dist/client/storefront/components/address-field-group.d.ts +45 -0
- package/dist/client/storefront/components/address-field-group.d.ts.map +1 -0
- package/dist/client/storefront/components/address-field-group.mjs +64 -0
- package/dist/client/storefront/components/address-field-group.mjs.map +1 -0
- package/dist/client/storefront/components/badge.d.ts +17 -0
- package/dist/client/storefront/components/badge.d.ts.map +1 -0
- package/dist/client/storefront/components/badge.mjs +22 -0
- package/dist/client/storefront/components/badge.mjs.map +1 -0
- package/dist/client/storefront/components/country-redirect.d.ts +41 -0
- package/dist/client/storefront/components/country-redirect.d.ts.map +1 -0
- package/dist/client/storefront/components/country-redirect.mjs +97 -0
- package/dist/client/storefront/components/country-redirect.mjs.map +1 -0
- package/dist/client/storefront/components/empty-state.d.ts +49 -0
- package/dist/client/storefront/components/empty-state.d.ts.map +1 -0
- package/dist/client/storefront/components/empty-state.mjs +56 -0
- package/dist/client/storefront/components/empty-state.mjs.map +1 -0
- package/dist/client/storefront/components/image-lightbox.d.ts +25 -0
- package/dist/client/storefront/components/image-lightbox.d.ts.map +1 -0
- package/dist/client/storefront/components/image-lightbox.mjs +256 -0
- package/dist/client/storefront/components/image-lightbox.mjs.map +1 -0
- package/dist/client/storefront/components/infinite-scroll.d.ts +59 -0
- package/dist/client/storefront/components/infinite-scroll.d.ts.map +1 -0
- package/dist/client/storefront/components/infinite-scroll.mjs +81 -0
- package/dist/client/storefront/components/infinite-scroll.mjs.map +1 -0
- package/dist/client/storefront/components/language-selector.d.ts +16 -0
- package/dist/client/storefront/components/language-selector.d.ts.map +1 -0
- package/dist/client/storefront/components/language-selector.mjs +55 -0
- package/dist/client/storefront/components/language-selector.mjs.map +1 -0
- package/dist/client/storefront/components/newsletter-signup.d.ts +27 -0
- package/dist/client/storefront/components/newsletter-signup.d.ts.map +1 -0
- package/dist/client/storefront/components/newsletter-signup.mjs +87 -0
- package/dist/client/storefront/components/newsletter-signup.mjs.map +1 -0
- package/dist/client/storefront/components/price.d.ts +28 -0
- package/dist/client/storefront/components/price.d.ts.map +1 -0
- package/dist/client/storefront/components/price.mjs +47 -0
- package/dist/client/storefront/components/price.mjs.map +1 -0
- package/dist/client/storefront/components/product-recommendations.d.ts +31 -0
- package/dist/client/storefront/components/product-recommendations.d.ts.map +1 -0
- package/dist/client/storefront/components/product-recommendations.mjs +88 -0
- package/dist/client/storefront/components/product-recommendations.mjs.map +1 -0
- package/dist/client/storefront/components/product-tabs.d.ts +21 -0
- package/dist/client/storefront/components/product-tabs.d.ts.map +1 -0
- package/dist/client/storefront/components/product-tabs.mjs +56 -0
- package/dist/client/storefront/components/product-tabs.mjs.map +1 -0
- package/dist/client/storefront/components/quick-view.d.ts +39 -0
- package/dist/client/storefront/components/quick-view.d.ts.map +1 -0
- package/dist/client/storefront/components/quick-view.mjs +155 -0
- package/dist/client/storefront/components/quick-view.mjs.map +1 -0
- package/dist/client/storefront/components/review-summary.d.ts +28 -0
- package/dist/client/storefront/components/review-summary.d.ts.map +1 -0
- package/dist/client/storefront/components/review-summary.mjs +79 -0
- package/dist/client/storefront/components/review-summary.mjs.map +1 -0
- package/dist/client/storefront/components/search-autocomplete.d.ts +41 -0
- package/dist/client/storefront/components/search-autocomplete.d.ts.map +1 -0
- package/dist/client/storefront/components/search-autocomplete.mjs +167 -0
- package/dist/client/storefront/components/search-autocomplete.mjs.map +1 -0
- package/dist/client/storefront/components/section-nav.d.ts +30 -0
- package/dist/client/storefront/components/section-nav.d.ts.map +1 -0
- package/dist/client/storefront/components/section-nav.mjs +128 -0
- package/dist/client/storefront/components/section-nav.mjs.map +1 -0
- package/dist/client/storefront/components/share-button.d.ts +34 -0
- package/dist/client/storefront/components/share-button.d.ts.map +1 -0
- package/dist/client/storefront/components/share-button.mjs +77 -0
- package/dist/client/storefront/components/share-button.mjs.map +1 -0
- package/dist/client/storefront/components/skeleton.d.ts +30 -0
- package/dist/client/storefront/components/skeleton.d.ts.map +1 -0
- package/dist/client/storefront/components/skeleton.mjs +88 -0
- package/dist/client/storefront/components/skeleton.mjs.map +1 -0
- package/dist/client/storefront/components/star-rating.d.ts +28 -0
- package/dist/client/storefront/components/star-rating.d.ts.map +1 -0
- package/dist/client/storefront/components/star-rating.mjs +167 -0
- package/dist/client/storefront/components/star-rating.mjs.map +1 -0
- package/dist/client/storefront/components/testimonial.d.ts +38 -0
- package/dist/client/storefront/components/testimonial.d.ts.map +1 -0
- package/dist/client/storefront/components/testimonial.mjs +64 -0
- package/dist/client/storefront/components/testimonial.mjs.map +1 -0
- package/dist/client/storefront/components/trust-badges.d.ts +23 -0
- package/dist/client/storefront/components/trust-badges.d.ts.map +1 -0
- package/dist/client/storefront/components/trust-badges.mjs +30 -0
- package/dist/client/storefront/components/trust-badges.mjs.map +1 -0
- package/dist/client/storefront/components/variant-selector.d.ts +32 -0
- package/dist/client/storefront/components/variant-selector.d.ts.map +1 -0
- package/dist/client/storefront/components/variant-selector.mjs +43 -0
- package/dist/client/storefront/components/variant-selector.mjs.map +1 -0
- package/dist/client/storefront/components/wishlist-toggle.d.ts +25 -0
- package/dist/client/storefront/components/wishlist-toggle.d.ts.map +1 -0
- package/dist/client/storefront/components/wishlist-toggle.mjs +32 -0
- package/dist/client/storefront/components/wishlist-toggle.mjs.map +1 -0
- package/dist/client/storefront/filters/filter-chip.d.ts +20 -0
- package/dist/client/storefront/filters/filter-chip.d.ts.map +1 -0
- package/dist/client/storefront/filters/filter-chip.mjs +22 -0
- package/dist/client/storefront/filters/filter-chip.mjs.map +1 -0
- package/dist/client/storefront/filters/filter-group.d.ts +35 -0
- package/dist/client/storefront/filters/filter-group.d.ts.map +1 -0
- package/dist/client/storefront/filters/filter-group.mjs +93 -0
- package/dist/client/storefront/filters/filter-group.mjs.map +1 -0
- package/dist/client/storefront/filters/filter-panel.d.ts +38 -0
- package/dist/client/storefront/filters/filter-panel.d.ts.map +1 -0
- package/dist/client/storefront/filters/filter-panel.mjs +109 -0
- package/dist/client/storefront/filters/filter-panel.mjs.map +1 -0
- package/dist/client/storefront/filters/index.d.ts +6 -0
- package/dist/client/storefront/filters/index.mjs +6 -0
- package/dist/client/storefront/filters/sort-select.d.ts +23 -0
- package/dist/client/storefront/filters/sort-select.d.ts.map +1 -0
- package/dist/client/storefront/filters/sort-select.mjs +41 -0
- package/dist/client/storefront/filters/sort-select.mjs.map +1 -0
- package/dist/client/storefront/filters/toggle-list-view.d.ts +16 -0
- package/dist/client/storefront/filters/toggle-list-view.d.ts.map +1 -0
- package/dist/client/storefront/filters/toggle-list-view.mjs +36 -0
- package/dist/client/storefront/filters/toggle-list-view.mjs.map +1 -0
- package/dist/client/storefront/hooks/use-section-observer.d.ts +10 -0
- package/dist/client/storefront/hooks/use-section-observer.d.ts.map +1 -0
- package/dist/client/storefront/hooks/use-section-observer.mjs +55 -0
- package/dist/client/storefront/hooks/use-section-observer.mjs.map +1 -0
- package/dist/client/storefront/index.d.ts +19 -0
- package/dist/client/storefront/index.mjs +18 -0
- package/dist/client/storefront/layout/footer.d.ts +16 -0
- package/dist/client/storefront/layout/footer.d.ts.map +1 -0
- package/dist/client/storefront/layout/footer.mjs +64 -0
- package/dist/client/storefront/layout/footer.mjs.map +1 -0
- package/dist/client/storefront/layout/header.d.ts +20 -0
- package/dist/client/storefront/layout/header.d.ts.map +1 -0
- package/dist/client/storefront/layout/header.mjs +326 -0
- package/dist/client/storefront/layout/header.mjs.map +1 -0
- package/dist/client/storefront/layout/index.d.ts +6 -0
- package/dist/client/storefront/layout/index.mjs +5 -0
- package/dist/client/storefront/layout/mobile-menu-drawer.d.ts +14 -0
- package/dist/client/storefront/layout/mobile-menu-drawer.d.ts.map +1 -0
- package/dist/client/storefront/layout/mobile-menu-drawer.mjs +83 -0
- package/dist/client/storefront/layout/mobile-menu-drawer.mjs.map +1 -0
- package/dist/client/storefront/layout/promotion-bar.d.ts +13 -0
- package/dist/client/storefront/layout/promotion-bar.d.ts.map +1 -0
- package/dist/client/storefront/layout/promotion-bar.mjs +63 -0
- package/dist/client/storefront/layout/promotion-bar.mjs.map +1 -0
- package/dist/client/storefront/primitives/breadcrumbs.d.ts +20 -0
- package/dist/client/storefront/primitives/breadcrumbs.d.ts.map +1 -0
- package/dist/client/storefront/primitives/breadcrumbs.mjs +36 -0
- package/dist/client/storefront/primitives/breadcrumbs.mjs.map +1 -0
- package/dist/client/storefront/primitives/button.d.ts +25 -0
- package/dist/client/storefront/primitives/button.d.ts.map +1 -0
- package/dist/client/storefront/primitives/button.mjs +42 -0
- package/dist/client/storefront/primitives/button.mjs.map +1 -0
- package/dist/client/storefront/primitives/checkbox.d.ts +25 -0
- package/dist/client/storefront/primitives/checkbox.d.ts.map +1 -0
- package/dist/client/storefront/primitives/checkbox.mjs +39 -0
- package/dist/client/storefront/primitives/checkbox.mjs.map +1 -0
- package/dist/client/storefront/primitives/country-select.d.ts +15 -0
- package/dist/client/storefront/primitives/country-select.d.ts.map +1 -0
- package/dist/client/storefront/primitives/country-select.mjs +33 -0
- package/dist/client/storefront/primitives/country-select.mjs.map +1 -0
- package/dist/client/storefront/primitives/download-item.d.ts +18 -0
- package/dist/client/storefront/primitives/download-item.d.ts.map +1 -0
- package/dist/client/storefront/primitives/download-item.mjs +27 -0
- package/dist/client/storefront/primitives/download-item.mjs.map +1 -0
- package/dist/client/storefront/primitives/index.d.ts +11 -0
- package/dist/client/storefront/primitives/index.mjs +11 -0
- package/dist/client/storefront/primitives/input.d.ts +39 -0
- package/dist/client/storefront/primitives/input.d.ts.map +1 -0
- package/dist/client/storefront/primitives/input.mjs +87 -0
- package/dist/client/storefront/primitives/input.mjs.map +1 -0
- package/dist/client/storefront/primitives/pagination.d.ts +18 -0
- package/dist/client/storefront/primitives/pagination.d.ts.map +1 -0
- package/dist/client/storefront/primitives/pagination.mjs +59 -0
- package/dist/client/storefront/primitives/pagination.mjs.map +1 -0
- package/dist/client/storefront/primitives/password-input.d.ts +16 -0
- package/dist/client/storefront/primitives/password-input.d.ts.map +1 -0
- package/dist/client/storefront/primitives/password-input.mjs +21 -0
- package/dist/client/storefront/primitives/password-input.mjs.map +1 -0
- package/dist/client/storefront/primitives/quick-links.d.ts +18 -0
- package/dist/client/storefront/primitives/quick-links.d.ts.map +1 -0
- package/dist/client/storefront/primitives/quick-links.mjs +22 -0
- package/dist/client/storefront/primitives/quick-links.mjs.map +1 -0
- package/dist/client/storefront/primitives/select.d.ts +32 -0
- package/dist/client/storefront/primitives/select.d.ts.map +1 -0
- package/dist/client/storefront/primitives/select.mjs +49 -0
- package/dist/client/storefront/primitives/select.mjs.map +1 -0
- package/dist/client/storefront/primitives/text-link.d.ts +16 -0
- package/dist/client/storefront/primitives/text-link.d.ts.map +1 -0
- package/dist/client/storefront/primitives/text-link.mjs +20 -0
- package/dist/client/storefront/primitives/text-link.mjs.map +1 -0
- package/dist/client/storefront/product/color-swatch.d.ts +20 -0
- package/dist/client/storefront/product/color-swatch.d.ts.map +1 -0
- package/dist/client/storefront/product/color-swatch.mjs +23 -0
- package/dist/client/storefront/product/color-swatch.mjs.map +1 -0
- package/dist/client/storefront/product/index.d.ts +5 -0
- package/dist/client/storefront/product/index.mjs +5 -0
- package/dist/client/storefront/product/material-selector.d.ts +24 -0
- package/dist/client/storefront/product/material-selector.d.ts.map +1 -0
- package/dist/client/storefront/product/material-selector.mjs +35 -0
- package/dist/client/storefront/product/material-selector.mjs.map +1 -0
- package/dist/client/storefront/product/product-usp.d.ts +14 -0
- package/dist/client/storefront/product/product-usp.d.ts.map +1 -0
- package/dist/client/storefront/product/product-usp.mjs +19 -0
- package/dist/client/storefront/product/product-usp.mjs.map +1 -0
- package/dist/client/storefront/product/quantity-picker.d.ts +22 -0
- package/dist/client/storefront/product/quantity-picker.d.ts.map +1 -0
- package/dist/client/storefront/product/quantity-picker.mjs +47 -0
- package/dist/client/storefront/product/quantity-picker.mjs.map +1 -0
- package/dist/client/storefront/types.d.ts +287 -0
- package/dist/client/storefront/types.d.ts.map +1 -0
- package/dist/client/storefront/types.mjs +20 -0
- package/dist/client/storefront/types.mjs.map +1 -0
- package/dist/client/theme/apply.d.ts +21 -0
- package/dist/client/theme/apply.d.ts.map +1 -0
- package/dist/client/theme/apply.mjs +163 -0
- package/dist/client/theme/apply.mjs.map +1 -0
- package/dist/client/theme/cli.mjs +472 -0
- package/dist/client/theme/cli.mjs.map +1 -0
- package/dist/client/theme/codec.d.ts +31 -0
- package/dist/client/theme/codec.d.ts.map +1 -0
- package/dist/client/theme/codec.mjs +92 -0
- package/dist/client/theme/codec.mjs.map +1 -0
- package/dist/client/theme/defaults.d.ts +49 -0
- package/dist/client/theme/defaults.d.ts.map +1 -0
- package/dist/client/theme/defaults.mjs +94 -0
- package/dist/client/theme/defaults.mjs.map +1 -0
- package/dist/client/theme/index.d.ts +5 -0
- package/dist/client/theme/index.mjs +5 -0
- package/dist/client/theme/scan.d.ts +19 -0
- package/dist/client/theme/scan.d.ts.map +1 -0
- package/dist/client/theme/scan.mjs +28 -0
- package/dist/client/theme/scan.mjs.map +1 -0
- package/dist/client/ui/accordion.d.ts +29 -0
- package/dist/client/ui/accordion.d.ts.map +1 -0
- package/dist/client/ui/accordion.mjs +53 -0
- package/dist/client/ui/accordion.mjs.map +1 -0
- package/dist/client/ui/alert.d.ts +25 -0
- package/dist/client/ui/alert.d.ts.map +1 -0
- package/dist/client/ui/alert.mjs +39 -0
- package/dist/client/ui/alert.mjs.map +1 -0
- package/dist/client/ui/avatar.d.ts +20 -0
- package/dist/client/ui/avatar.d.ts.map +1 -0
- package/dist/client/ui/avatar.mjs +31 -0
- package/dist/client/ui/avatar.mjs.map +1 -0
- package/dist/client/ui/breadcrumb.d.ts +38 -0
- package/dist/client/ui/breadcrumb.d.ts.map +1 -0
- package/dist/client/ui/breadcrumb.mjs +70 -0
- package/dist/client/ui/breadcrumb.mjs.map +1 -0
- package/dist/client/ui/button.d.ts +22 -0
- package/dist/client/ui/button.d.ts.map +1 -0
- package/dist/client/ui/button.mjs +51 -0
- package/dist/client/ui/button.mjs.map +1 -0
- package/dist/client/ui/card.d.ts +35 -0
- package/dist/client/ui/card.d.ts.map +1 -0
- package/dist/client/ui/card.mjs +57 -0
- package/dist/client/ui/card.mjs.map +1 -0
- package/dist/client/ui/carousel.d.ts +48 -0
- package/dist/client/ui/carousel.d.ts.map +1 -0
- package/dist/client/ui/carousel.mjs +136 -0
- package/dist/client/ui/carousel.mjs.map +1 -0
- package/dist/client/ui/checkbox.d.ts +12 -0
- package/dist/client/ui/checkbox.d.ts.map +1 -0
- package/dist/client/ui/checkbox.mjs +24 -0
- package/dist/client/ui/checkbox.mjs.map +1 -0
- package/dist/client/ui/collapsible.d.ts +16 -0
- package/dist/client/ui/collapsible.d.ts.map +1 -0
- package/dist/client/ui/collapsible.mjs +26 -0
- package/dist/client/ui/collapsible.mjs.map +1 -0
- package/dist/client/ui/dialog.d.ts +45 -0
- package/dist/client/ui/dialog.d.ts.map +1 -0
- package/dist/client/ui/dialog.mjs +77 -0
- package/dist/client/ui/dialog.mjs.map +1 -0
- package/dist/client/ui/hover-card.d.ts +20 -0
- package/dist/client/ui/hover-card.d.ts.map +1 -0
- package/dist/client/ui/hover-card.mjs +31 -0
- package/dist/client/ui/hover-card.mjs.map +1 -0
- package/dist/client/ui/input.d.ts +18 -0
- package/dist/client/ui/input.d.ts.map +1 -0
- package/dist/client/ui/input.mjs +28 -0
- package/dist/client/ui/input.mjs.map +1 -0
- package/dist/client/ui/label.d.ts +12 -0
- package/dist/client/ui/label.d.ts.map +1 -0
- package/dist/client/ui/label.mjs +16 -0
- package/dist/client/ui/label.mjs.map +1 -0
- package/dist/client/ui/mid-truncate.d.ts +38 -0
- package/dist/client/ui/mid-truncate.d.ts.map +1 -0
- package/dist/client/ui/mid-truncate.mjs +52 -0
- package/dist/client/ui/mid-truncate.mjs.map +1 -0
- package/dist/client/ui/navigation-menu.d.ts +47 -0
- package/dist/client/ui/navigation-menu.d.ts.map +1 -0
- package/dist/client/ui/navigation-menu.mjs +83 -0
- package/dist/client/ui/navigation-menu.mjs.map +1 -0
- package/dist/client/ui/pagination.d.ts +41 -0
- package/dist/client/ui/pagination.d.ts.map +1 -0
- package/dist/client/ui/pagination.mjs +83 -0
- package/dist/client/ui/pagination.mjs.map +1 -0
- package/dist/client/ui/popover.d.ts +35 -0
- package/dist/client/ui/popover.d.ts.map +1 -0
- package/dist/client/ui/popover.mjs +58 -0
- package/dist/client/ui/popover.mjs.map +1 -0
- package/dist/client/ui/progress.d.ts +13 -0
- package/dist/client/ui/progress.d.ts.map +1 -0
- package/dist/client/ui/progress.mjs +23 -0
- package/dist/client/ui/progress.mjs.map +1 -0
- package/dist/client/ui/select.d.ts +53 -0
- package/dist/client/ui/select.d.ts.map +1 -0
- package/dist/client/ui/select.mjs +103 -0
- package/dist/client/ui/select.mjs.map +1 -0
- package/dist/client/ui/separator.d.ts +14 -0
- package/dist/client/ui/separator.d.ts.map +1 -0
- package/dist/client/ui/separator.mjs +18 -0
- package/dist/client/ui/separator.mjs.map +1 -0
- package/dist/client/ui/sheet.d.ts +45 -0
- package/dist/client/ui/sheet.d.ts.map +1 -0
- package/dist/client/ui/sheet.mjs +86 -0
- package/dist/client/ui/sheet.mjs.map +1 -0
- package/dist/client/ui/simple-select.d.ts +32 -0
- package/dist/client/ui/simple-select.d.ts.map +1 -0
- package/dist/client/ui/simple-select.mjs +128 -0
- package/dist/client/ui/simple-select.mjs.map +1 -0
- package/dist/client/ui/stepper.d.ts +38 -0
- package/dist/client/ui/stepper.d.ts.map +1 -0
- package/dist/client/ui/stepper.mjs +90 -0
- package/dist/client/ui/stepper.mjs.map +1 -0
- package/dist/client/ui/tabs.d.ts +24 -0
- package/dist/client/ui/tabs.d.ts.map +1 -0
- package/dist/client/ui/tabs.mjs +38 -0
- package/dist/client/ui/tabs.mjs.map +1 -0
- package/dist/client/ui/toggle-group.d.ts +27 -0
- package/dist/client/ui/toggle-group.d.ts.map +1 -0
- package/dist/client/ui/toggle-group.mjs +49 -0
- package/dist/client/ui/toggle-group.mjs.map +1 -0
- package/dist/client/ui/toggle.d.ts +20 -0
- package/dist/client/ui/toggle.d.ts.map +1 -0
- package/dist/client/ui/toggle.mjs +38 -0
- package/dist/client/ui/toggle.mjs.map +1 -0
- package/dist/client/ui/tooltip.d.ts +24 -0
- package/dist/client/ui/tooltip.d.ts.map +1 -0
- package/dist/client/ui/tooltip.mjs +38 -0
- package/dist/client/ui/tooltip.mjs.map +1 -0
- package/dist/client/ui/utils.d.ts +7 -0
- package/dist/client/ui/utils.d.ts.map +1 -0
- package/dist/client/ui/utils.mjs +10 -0
- package/dist/client/ui/utils.mjs.map +1 -0
- package/dist/client/ui-resolver/accordion.d.ts +15 -0
- package/dist/client/ui-resolver/accordion.d.ts.map +1 -0
- package/dist/client/ui-resolver/accordion.mjs +19 -0
- package/dist/client/ui-resolver/accordion.mjs.map +1 -0
- package/dist/client/ui-resolver/alert.d.ts +13 -0
- package/dist/client/ui-resolver/alert.d.ts.map +1 -0
- package/dist/client/ui-resolver/alert.mjs +17 -0
- package/dist/client/ui-resolver/alert.mjs.map +1 -0
- package/dist/client/ui-resolver/avatar.d.ts +13 -0
- package/dist/client/ui-resolver/avatar.d.ts.map +1 -0
- package/dist/client/ui-resolver/avatar.mjs +17 -0
- package/dist/client/ui-resolver/avatar.mjs.map +1 -0
- package/dist/client/ui-resolver/breadcrumb.d.ts +17 -0
- package/dist/client/ui-resolver/breadcrumb.d.ts.map +1 -0
- package/dist/client/ui-resolver/breadcrumb.mjs +21 -0
- package/dist/client/ui-resolver/breadcrumb.mjs.map +1 -0
- package/dist/client/ui-resolver/button.d.ts +11 -0
- package/dist/client/ui-resolver/button.d.ts.map +1 -0
- package/dist/client/ui-resolver/button.mjs +15 -0
- package/dist/client/ui-resolver/button.mjs.map +1 -0
- package/dist/client/ui-resolver/card.d.ts +17 -0
- package/dist/client/ui-resolver/card.d.ts.map +1 -0
- package/dist/client/ui-resolver/card.mjs +21 -0
- package/dist/client/ui-resolver/card.mjs.map +1 -0
- package/dist/client/ui-resolver/carousel.d.ts +16 -0
- package/dist/client/ui-resolver/carousel.d.ts.map +1 -0
- package/dist/client/ui-resolver/carousel.mjs +19 -0
- package/dist/client/ui-resolver/carousel.mjs.map +1 -0
- package/dist/client/ui-resolver/checkbox.d.ts +11 -0
- package/dist/client/ui-resolver/checkbox.d.ts.map +1 -0
- package/dist/client/ui-resolver/checkbox.mjs +15 -0
- package/dist/client/ui-resolver/checkbox.mjs.map +1 -0
- package/dist/client/ui-resolver/collapsible.d.ts +13 -0
- package/dist/client/ui-resolver/collapsible.d.ts.map +1 -0
- package/dist/client/ui-resolver/collapsible.mjs +17 -0
- package/dist/client/ui-resolver/collapsible.mjs.map +1 -0
- package/dist/client/ui-resolver/context.d.ts +38 -0
- package/dist/client/ui-resolver/context.d.ts.map +1 -0
- package/dist/client/ui-resolver/context.mjs +62 -0
- package/dist/client/ui-resolver/context.mjs.map +1 -0
- package/dist/client/ui-resolver/dialog.d.ts +20 -0
- package/dist/client/ui-resolver/dialog.d.ts.map +1 -0
- package/dist/client/ui-resolver/dialog.mjs +24 -0
- package/dist/client/ui-resolver/dialog.mjs.map +1 -0
- package/dist/client/ui-resolver/hover-card.d.ts +13 -0
- package/dist/client/ui-resolver/hover-card.d.ts.map +1 -0
- package/dist/client/ui-resolver/hover-card.mjs +17 -0
- package/dist/client/ui-resolver/hover-card.mjs.map +1 -0
- package/dist/client/ui-resolver/index.d.ts +29 -0
- package/dist/client/ui-resolver/index.mjs +29 -0
- package/dist/client/ui-resolver/input.d.ts +11 -0
- package/dist/client/ui-resolver/input.d.ts.map +1 -0
- package/dist/client/ui-resolver/input.mjs +15 -0
- package/dist/client/ui-resolver/input.mjs.map +1 -0
- package/dist/client/ui-resolver/label.d.ts +11 -0
- package/dist/client/ui-resolver/label.d.ts.map +1 -0
- package/dist/client/ui-resolver/label.mjs +15 -0
- package/dist/client/ui-resolver/label.mjs.map +1 -0
- package/dist/client/ui-resolver/navigation-menu.d.ts +20 -0
- package/dist/client/ui-resolver/navigation-menu.d.ts.map +1 -0
- package/dist/client/ui-resolver/navigation-menu.mjs +23 -0
- package/dist/client/ui-resolver/navigation-menu.mjs.map +1 -0
- package/dist/client/ui-resolver/pagination.d.ts +17 -0
- package/dist/client/ui-resolver/pagination.d.ts.map +1 -0
- package/dist/client/ui-resolver/pagination.mjs +21 -0
- package/dist/client/ui-resolver/pagination.mjs.map +1 -0
- package/dist/client/ui-resolver/popover.d.ts +14 -0
- package/dist/client/ui-resolver/popover.d.ts.map +1 -0
- package/dist/client/ui-resolver/popover.mjs +18 -0
- package/dist/client/ui-resolver/popover.mjs.map +1 -0
- package/dist/client/ui-resolver/progress.d.ts +11 -0
- package/dist/client/ui-resolver/progress.d.ts.map +1 -0
- package/dist/client/ui-resolver/progress.mjs +15 -0
- package/dist/client/ui-resolver/progress.mjs.map +1 -0
- package/dist/client/ui-resolver/select.d.ts +18 -0
- package/dist/client/ui-resolver/select.d.ts.map +1 -0
- package/dist/client/ui-resolver/select.mjs +22 -0
- package/dist/client/ui-resolver/select.mjs.map +1 -0
- package/dist/client/ui-resolver/separator.d.ts +11 -0
- package/dist/client/ui-resolver/separator.d.ts.map +1 -0
- package/dist/client/ui-resolver/separator.mjs +15 -0
- package/dist/client/ui-resolver/separator.mjs.map +1 -0
- package/dist/client/ui-resolver/sheet.d.ts +18 -0
- package/dist/client/ui-resolver/sheet.d.ts.map +1 -0
- package/dist/client/ui-resolver/sheet.mjs +22 -0
- package/dist/client/ui-resolver/sheet.mjs.map +1 -0
- package/dist/client/ui-resolver/stepper.d.ts +15 -0
- package/dist/client/ui-resolver/stepper.d.ts.map +1 -0
- package/dist/client/ui-resolver/stepper.mjs +19 -0
- package/dist/client/ui-resolver/stepper.mjs.map +1 -0
- package/dist/client/ui-resolver/tabs.d.ts +14 -0
- package/dist/client/ui-resolver/tabs.d.ts.map +1 -0
- package/dist/client/ui-resolver/tabs.mjs +18 -0
- package/dist/client/ui-resolver/tabs.mjs.map +1 -0
- package/dist/client/ui-resolver/toggle-group.d.ts +12 -0
- package/dist/client/ui-resolver/toggle-group.d.ts.map +1 -0
- package/dist/client/ui-resolver/toggle-group.mjs +16 -0
- package/dist/client/ui-resolver/toggle-group.mjs.map +1 -0
- package/dist/client/ui-resolver/toggle.d.ts +11 -0
- package/dist/client/ui-resolver/toggle.d.ts.map +1 -0
- package/dist/client/ui-resolver/toggle.mjs +15 -0
- package/dist/client/ui-resolver/toggle.mjs.map +1 -0
- package/dist/client/ui-resolver/tooltip.d.ts +14 -0
- package/dist/client/ui-resolver/tooltip.d.ts.map +1 -0
- package/dist/client/ui-resolver/tooltip.mjs +18 -0
- package/dist/client/ui-resolver/tooltip.mjs.map +1 -0
- package/dist/client/user/actions/createResetPasswordLinkAction.d.ts +16 -0
- package/dist/client/user/actions/createResetPasswordLinkAction.d.ts.map +1 -0
- package/dist/client/user/actions/createResetPasswordLinkAction.mjs +23 -0
- package/dist/client/user/actions/createResetPasswordLinkAction.mjs.map +1 -0
- package/dist/client/user/actions/getUserAction.d.ts +7 -0
- package/dist/client/user/actions/getUserAction.d.ts.map +1 -0
- package/dist/client/user/actions/getUserAction.mjs +21 -0
- package/dist/client/user/actions/getUserAction.mjs.map +1 -0
- package/dist/client/user/actions/logInUserAction.d.ts +17 -0
- package/dist/client/user/actions/logInUserAction.d.ts.map +1 -0
- package/dist/client/user/actions/logInUserAction.mjs +32 -0
- package/dist/client/user/actions/logInUserAction.mjs.map +1 -0
- package/dist/client/user/actions/logoutUserAction.d.ts +5 -0
- package/dist/client/user/actions/logoutUserAction.d.ts.map +1 -0
- package/dist/client/user/actions/logoutUserAction.mjs +10 -0
- package/dist/client/user/actions/logoutUserAction.mjs.map +1 -0
- package/dist/client/user/actions/registerOrganisationAction.d.ts +14 -0
- package/dist/client/user/actions/registerOrganisationAction.d.ts.map +1 -0
- package/dist/client/user/actions/registerOrganisationAction.mjs +14 -0
- package/dist/client/user/actions/registerOrganisationAction.mjs.map +1 -0
- package/dist/client/user/actions/registerUserAction.d.ts +20 -0
- package/dist/client/user/actions/registerUserAction.d.ts.map +1 -0
- package/dist/client/user/actions/registerUserAction.mjs +44 -0
- package/dist/client/user/actions/registerUserAction.mjs.map +1 -0
- package/dist/client/user/actions/registerUserWithoutRedirectAction.d.ts +46 -0
- package/dist/client/user/actions/registerUserWithoutRedirectAction.d.ts.map +1 -0
- package/dist/client/user/actions/registerUserWithoutRedirectAction.mjs +62 -0
- package/dist/client/user/actions/registerUserWithoutRedirectAction.mjs.map +1 -0
- package/dist/client/user/actions/updatePasswordAction.d.ts +23 -0
- package/dist/client/user/actions/updatePasswordAction.d.ts.map +1 -0
- package/dist/client/user/actions/updatePasswordAction.mjs +33 -0
- package/dist/client/user/actions/updatePasswordAction.mjs.map +1 -0
- package/dist/client/user/api/userRoute.d.ts +5 -0
- package/dist/client/user/api/userRoute.d.ts.map +1 -0
- package/dist/client/user/api/userRoute.mjs +65 -0
- package/dist/client/user/api/userRoute.mjs.map +1 -0
- package/dist/client/user/clients/enad.d.ts +8 -0
- package/dist/client/user/clients/enad.d.ts.map +1 -0
- package/dist/client/user/clients/enad.mjs +19 -0
- package/dist/client/user/clients/enad.mjs.map +1 -0
- package/dist/client/user/components/login-form.d.ts +26 -0
- package/dist/client/user/components/login-form.d.ts.map +1 -0
- package/dist/client/user/components/login-form.mjs +124 -0
- package/dist/client/user/components/login-form.mjs.map +1 -0
- package/dist/client/user/components/reset-password-form.d.ts +23 -0
- package/dist/client/user/components/reset-password-form.d.ts.map +1 -0
- package/dist/client/user/components/reset-password-form.mjs +96 -0
- package/dist/client/user/components/reset-password-form.mjs.map +1 -0
- package/dist/client/user/components/sign-out.d.ts +14 -0
- package/dist/client/user/components/sign-out.d.ts.map +1 -0
- package/dist/client/user/components/sign-out.mjs +21 -0
- package/dist/client/user/components/sign-out.mjs.map +1 -0
- package/dist/client/user/components/signup-form.d.ts +30 -0
- package/dist/client/user/components/signup-form.d.ts.map +1 -0
- package/dist/client/user/components/signup-form.mjs +173 -0
- package/dist/client/user/components/signup-form.mjs.map +1 -0
- package/dist/client/user/components/signup-organisation-form.d.ts +59 -0
- package/dist/client/user/components/signup-organisation-form.d.ts.map +1 -0
- package/dist/client/user/components/signup-organisation-form.mjs +659 -0
- package/dist/client/user/components/signup-organisation-form.mjs.map +1 -0
- package/dist/client/user/components/update-password-form.d.ts +20 -0
- package/dist/client/user/components/update-password-form.d.ts.map +1 -0
- package/dist/client/user/components/update-password-form.mjs +73 -0
- package/dist/client/user/components/update-password-form.mjs.map +1 -0
- package/dist/client/user/hooks/index.d.ts +2 -0
- package/dist/client/user/hooks/index.mjs +2 -0
- package/dist/client/user/hooks/useUser.d.ts +18 -0
- package/dist/client/user/hooks/useUser.d.ts.map +1 -0
- package/dist/client/user/hooks/useUser.mjs +35 -0
- package/dist/client/user/hooks/useUser.mjs.map +1 -0
- package/dist/client/user/index.d.ts +9 -0
- package/dist/client/user/index.mjs +8 -0
- package/dist/client/user/types/user.d.ts +204 -0
- package/dist/client/user/types/user.d.ts.map +1 -0
- package/dist/client/user/types/user.mjs +1 -0
- package/dist/client/user/utils/userCookieService.d.ts +16 -0
- package/dist/client/user/utils/userCookieService.d.ts.map +1 -0
- package/dist/client/user/utils/userCookieService.mjs +42 -0
- package/dist/client/user/utils/userCookieService.mjs.map +1 -0
- package/dist/client/wishlist/actions/addItemsToWishlistAction.d.ts +9 -0
- package/dist/client/wishlist/actions/addItemsToWishlistAction.d.ts.map +1 -0
- package/dist/client/wishlist/actions/addItemsToWishlistAction.mjs +15 -0
- package/dist/client/wishlist/actions/addItemsToWishlistAction.mjs.map +1 -0
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.d.ts +8 -0
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.d.ts.map +1 -0
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.mjs +15 -0
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.mjs.map +1 -0
- package/dist/client/wishlist/actions/createWishlistAction.d.ts +8 -0
- package/dist/client/wishlist/actions/createWishlistAction.d.ts.map +1 -0
- package/dist/client/wishlist/actions/createWishlistAction.mjs +15 -0
- package/dist/client/wishlist/actions/createWishlistAction.mjs.map +1 -0
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.d.ts +9 -0
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.d.ts.map +1 -0
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.mjs +15 -0
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.mjs.map +1 -0
- package/dist/client/wishlist/actions/deleteWishlistAction.d.ts +7 -0
- package/dist/client/wishlist/actions/deleteWishlistAction.d.ts.map +1 -0
- package/dist/client/wishlist/actions/deleteWishlistAction.mjs +15 -0
- package/dist/client/wishlist/actions/deleteWishlistAction.mjs.map +1 -0
- package/dist/client/wishlist/actions/getSharedWishlistAction.d.ts +8 -0
- package/dist/client/wishlist/actions/getSharedWishlistAction.d.ts.map +1 -0
- package/dist/client/wishlist/actions/getSharedWishlistAction.mjs +15 -0
- package/dist/client/wishlist/actions/getSharedWishlistAction.mjs.map +1 -0
- package/dist/client/wishlist/actions/getSpecificWishlistAction.d.ts +8 -0
- package/dist/client/wishlist/actions/getSpecificWishlistAction.d.ts.map +1 -0
- package/dist/client/wishlist/actions/getSpecificWishlistAction.mjs +15 -0
- package/dist/client/wishlist/actions/getSpecificWishlistAction.mjs.map +1 -0
- package/dist/client/wishlist/actions/getUserWishlists.d.ts +9 -0
- package/dist/client/wishlist/actions/getUserWishlists.d.ts.map +1 -0
- package/dist/client/wishlist/actions/getUserWishlists.mjs +23 -0
- package/dist/client/wishlist/actions/getUserWishlists.mjs.map +1 -0
- package/dist/client/wishlist/actions/revokeShareTokenAction.d.ts +7 -0
- package/dist/client/wishlist/actions/revokeShareTokenAction.d.ts.map +1 -0
- package/dist/client/wishlist/actions/revokeShareTokenAction.mjs +15 -0
- package/dist/client/wishlist/actions/revokeShareTokenAction.mjs.map +1 -0
- package/dist/client/wishlist/actions/updateWishlistAction.d.ts +8 -0
- package/dist/client/wishlist/actions/updateWishlistAction.d.ts.map +1 -0
- package/dist/client/wishlist/actions/updateWishlistAction.mjs +15 -0
- package/dist/client/wishlist/actions/updateWishlistAction.mjs.map +1 -0
- package/dist/client/wishlist/hooks/index.d.ts +2 -0
- package/dist/client/wishlist/hooks/index.mjs +2 -0
- package/dist/client/wishlist/hooks/useWishlist.d.ts +100 -0
- package/dist/client/wishlist/hooks/useWishlist.d.ts.map +1 -0
- package/dist/client/wishlist/hooks/useWishlist.mjs +100 -0
- package/dist/client/wishlist/hooks/useWishlist.mjs.map +1 -0
- package/dist/client/wishlist/hooks/useWishlistActions.d.ts +50 -0
- package/dist/client/wishlist/hooks/useWishlistActions.d.ts.map +1 -0
- package/dist/client/wishlist/hooks/useWishlistActions.mjs +93 -0
- package/dist/client/wishlist/hooks/useWishlistActions.mjs.map +1 -0
- package/dist/client/wishlist/index.d.ts +4 -0
- package/dist/client/wishlist/index.mjs +4 -0
- package/dist/client/wishlist/wishlist-drawer.d.ts +29 -0
- package/dist/client/wishlist/wishlist-drawer.d.ts.map +1 -0
- package/dist/client/wishlist/wishlist-drawer.mjs +187 -0
- package/dist/client/wishlist/wishlist-drawer.mjs.map +1 -0
- package/dist/styles.css +2 -0
- package/package.json +65 -34
package/README.md
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
# @enadhq/enad-react-sdk
|
|
2
|
+
|
|
3
|
+
Composable storefront UI components for building e-commerce experiences with React 19 and Next.js 16. Part of the [Enad](https://enad.io) unified commerce platform.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @enadhq/enad-react-sdk
|
|
9
|
+
# or
|
|
10
|
+
pnpm add @enadhq/enad-react-sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Peer dependencies
|
|
14
|
+
|
|
15
|
+
You need these in your project:
|
|
16
|
+
|
|
17
|
+
- `react` >= 19
|
|
18
|
+
- `react-dom` >= 19
|
|
19
|
+
- `next` >= 16
|
|
20
|
+
- `@tanstack/react-query` >= 5
|
|
21
|
+
|
|
22
|
+
## Setup
|
|
23
|
+
|
|
24
|
+
### 1. Import the stylesheet
|
|
25
|
+
|
|
26
|
+
Add the SDK stylesheet to your app's root layout:
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
import "@enadhq/enad-react-sdk/styles.css";
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 2. Wrap your app with `EnadProvider`
|
|
33
|
+
|
|
34
|
+
`EnadProvider` sets up React Query, the icon system, and the component resolver. Place it at the root of your component tree.
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
import { EnadProvider } from "@enadhq/enad-react-sdk/client/global";
|
|
38
|
+
|
|
39
|
+
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
40
|
+
return <EnadProvider>{children}</EnadProvider>;
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
#### Provider options
|
|
45
|
+
|
|
46
|
+
| Prop | Type | Default | Description |
|
|
47
|
+
| -------------------- | -------------------- | --------------- | -------------------------------------------------------------------------------------- |
|
|
48
|
+
| `cartAdapter` | `CartAdapter` | — | Cart backend adapter (see [Cart adapters](#cart-adapters) below) |
|
|
49
|
+
| `brink` | `BrinkConfig` | — | **Deprecated.** Use `cartAdapter` with `createBrinkCartAdapter()` instead |
|
|
50
|
+
| `icons` | `IconSlotMap` | `phosphorIcons` | Icon set to use. Ships with `phosphorIcons`, `lucideIcons`, and `hugeIcons` adapters |
|
|
51
|
+
| `componentSet` | `ComponentSet` | `"default"` | Base UI component set. Options: `"brutalist"`, `"editorial"`, `"organic"`, `"minimal"` |
|
|
52
|
+
| `componentOverrides` | `ComponentOverrides` | — | Override the component set for specific components |
|
|
53
|
+
|
|
54
|
+
#### Cart adapters
|
|
55
|
+
|
|
56
|
+
The SDK uses a pluggable adapter pattern for the cart backend. Pass any object that implements the `CartAdapter` interface. The Brink Commerce adapter ships as a separate entry point:
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
import { EnadProvider } from "@enadhq/enad-react-sdk/client/global";
|
|
60
|
+
import { createBrinkCartAdapter } from "@enadhq/enad-react-sdk/client/cart/brink-adapter";
|
|
61
|
+
|
|
62
|
+
const cartAdapter = createBrinkCartAdapter({
|
|
63
|
+
env: "production",
|
|
64
|
+
storeGroupId: "sg-123",
|
|
65
|
+
countryCode: "SE",
|
|
66
|
+
languageCode: "sv",
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
<EnadProvider cartAdapter={cartAdapter}>{children}</EnadProvider>;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
A mock adapter is also available for development and testing:
|
|
73
|
+
|
|
74
|
+
```tsx
|
|
75
|
+
import { createMockCartAdapter } from "@enadhq/enad-react-sdk/client/cart/mock-adapter";
|
|
76
|
+
|
|
77
|
+
const cartAdapter = createMockCartAdapter({ delay: 200 });
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
To write your own adapter for a different backend (Centra, Shopify, a custom API), implement the `CartAdapter` interface from `client/cart`:
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
import type { CartAdapter } from "@enadhq/enad-react-sdk/client/cart";
|
|
84
|
+
|
|
85
|
+
const myAdapter: CartAdapter = {
|
|
86
|
+
getCart: () => {
|
|
87
|
+
/* ... */
|
|
88
|
+
},
|
|
89
|
+
addItem: (productVariantId, quantity) => {
|
|
90
|
+
/* ... */
|
|
91
|
+
},
|
|
92
|
+
updateItem: (itemId, quantity) => {
|
|
93
|
+
/* ... */
|
|
94
|
+
},
|
|
95
|
+
removeItem: (itemId) => {
|
|
96
|
+
/* ... */
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
All adapter methods return a normalized `Cart` object. The adapter owns session management internally.
|
|
102
|
+
|
|
103
|
+
#### Switching icon sets
|
|
104
|
+
|
|
105
|
+
```tsx
|
|
106
|
+
import { EnadProvider } from "@enadhq/enad-react-sdk/client/global";
|
|
107
|
+
import { lucideIcons } from "@enadhq/enad-react-sdk/client/icons";
|
|
108
|
+
|
|
109
|
+
<EnadProvider icons={lucideIcons}>{children}</EnadProvider>;
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Package exports
|
|
113
|
+
|
|
114
|
+
The SDK is split into focused entry points for tree-shaking. Import from the specific module you need.
|
|
115
|
+
|
|
116
|
+
### `client/global`
|
|
117
|
+
|
|
118
|
+
Provider setup and top-level utilities.
|
|
119
|
+
|
|
120
|
+
```tsx
|
|
121
|
+
import { EnadProvider, ErrorBoundary } from "@enadhq/enad-react-sdk/client/global";
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### `client/storefront`
|
|
125
|
+
|
|
126
|
+
Storefront UI components: prices, badges, ratings, variant selectors, product tabs, navigation, newsletter signup, language/country selectors, and more.
|
|
127
|
+
|
|
128
|
+
```tsx
|
|
129
|
+
import {
|
|
130
|
+
Price,
|
|
131
|
+
Badge,
|
|
132
|
+
StarRating,
|
|
133
|
+
VariantSelector,
|
|
134
|
+
ProductTabs,
|
|
135
|
+
} from "@enadhq/enad-react-sdk/client/storefront";
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### `client/cart`
|
|
139
|
+
|
|
140
|
+
Cart components, hooks, adapter interface, and normalized types.
|
|
141
|
+
|
|
142
|
+
```tsx
|
|
143
|
+
import { CartDrawer, CartTrigger, useCart } from "@enadhq/enad-react-sdk/client/cart";
|
|
144
|
+
import type { CartAdapter, Cart, CartItem, Money } from "@enadhq/enad-react-sdk/client/cart";
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### `client/cart/brink-adapter`
|
|
148
|
+
|
|
149
|
+
Brink Commerce adapter. Separate entry point for tree-shaking.
|
|
150
|
+
|
|
151
|
+
```tsx
|
|
152
|
+
import { createBrinkCartAdapter } from "@enadhq/enad-react-sdk/client/cart/brink-adapter";
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### `client/cart/mock-adapter`
|
|
156
|
+
|
|
157
|
+
In-memory mock adapter for development and testing.
|
|
158
|
+
|
|
159
|
+
```tsx
|
|
160
|
+
import { createMockCartAdapter } from "@enadhq/enad-react-sdk/client/cart/mock-adapter";
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### `client/search`
|
|
164
|
+
|
|
165
|
+
Search functionality with the `useSearch` hook.
|
|
166
|
+
|
|
167
|
+
```tsx
|
|
168
|
+
import { useSearch } from "@enadhq/enad-react-sdk/client/search";
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### `client/icons`
|
|
172
|
+
|
|
173
|
+
Pluggable icon system with adapters for Phosphor, Lucide, and Hugeicons.
|
|
174
|
+
|
|
175
|
+
```tsx
|
|
176
|
+
import {
|
|
177
|
+
Icon,
|
|
178
|
+
useIcon,
|
|
179
|
+
phosphorIcons,
|
|
180
|
+
lucideIcons,
|
|
181
|
+
hugeIcons,
|
|
182
|
+
} from "@enadhq/enad-react-sdk/client/icons";
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### `client/theme`
|
|
186
|
+
|
|
187
|
+
Theme codec for encoding/decoding theme hashes, CSS generation, conflict scanning, and default token values.
|
|
188
|
+
|
|
189
|
+
```tsx
|
|
190
|
+
import {
|
|
191
|
+
encodeThemeHash,
|
|
192
|
+
decodeThemeHash,
|
|
193
|
+
generateThemeCSS,
|
|
194
|
+
SDK_DEFAULTS,
|
|
195
|
+
} from "@enadhq/enad-react-sdk/client/theme";
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
The package also ships an `enad-theme` CLI for theme operations:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
npx enad-theme --help
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### `client/user`
|
|
205
|
+
|
|
206
|
+
User account context and hooks.
|
|
207
|
+
|
|
208
|
+
### `client/wishlist`
|
|
209
|
+
|
|
210
|
+
Wishlist state management.
|
|
211
|
+
|
|
212
|
+
### `client/ui-interfaces`
|
|
213
|
+
|
|
214
|
+
TypeScript interfaces for the component system.
|
|
215
|
+
|
|
216
|
+
### `client/ui-resolver`
|
|
217
|
+
|
|
218
|
+
Component resolver that maps abstract component names to concrete implementations.
|
|
219
|
+
|
|
220
|
+
## Component overview
|
|
221
|
+
|
|
222
|
+
### Blocks
|
|
223
|
+
|
|
224
|
+
Content blocks for building storefront pages:
|
|
225
|
+
|
|
226
|
+
- `Hero`, `Gallery`, `GalleryWithCaption`, `GalleryWithLinkBlocks`
|
|
227
|
+
- `TextContent`, `VariableTextContent`, `TextContentWithImage`, `ContentWithImageProductData`
|
|
228
|
+
- `ProductCard`, `ProductImage`, `LinkBlock`, `LinkBlockSmall`
|
|
229
|
+
- `ImageBlock`, `CardImageWithCaption`, `CardVideo`
|
|
230
|
+
- `AccordionBlock`, `Spacer`, `TruncatedText`
|
|
231
|
+
|
|
232
|
+
### Primitives
|
|
233
|
+
|
|
234
|
+
Low-level UI elements that other components build on:
|
|
235
|
+
|
|
236
|
+
- `Button`, `Input`, `Select`, `Checkbox`
|
|
237
|
+
- `Breadcrumbs`, `Pagination`, `TextLink`
|
|
238
|
+
- `QuickLinks`, `DownloadItem`
|
|
239
|
+
|
|
240
|
+
### Product
|
|
241
|
+
|
|
242
|
+
Product-specific components:
|
|
243
|
+
|
|
244
|
+
- `ColorSwatch`, `MaterialSelector`, `QuantityPicker`, `ProductUSP`
|
|
245
|
+
|
|
246
|
+
### Carousel
|
|
247
|
+
|
|
248
|
+
- `SwipeableCarousel` — touch-friendly carousel built on Embla
|
|
249
|
+
|
|
250
|
+
### Layout
|
|
251
|
+
|
|
252
|
+
- `Header`, `Footer`, `PromotionBar`, `MobileMenuDrawer`
|
|
253
|
+
|
|
254
|
+
### Filters
|
|
255
|
+
|
|
256
|
+
- `FilterPanel`, `FilterGroup`, `FilterChip`, `SortSelect`, `ToggleListView`
|
|
257
|
+
|
|
258
|
+
### Checkout
|
|
259
|
+
|
|
260
|
+
Checkout flow components (in development).
|
|
261
|
+
|
|
262
|
+
## Theming
|
|
263
|
+
|
|
264
|
+
The SDK uses CSS custom properties for all visual tokens (colors, radii, spacing). You own your brand palette — the SDK owns the interaction quality and structural patterns.
|
|
265
|
+
|
|
266
|
+
Themes are applied through CSS variables. Use the `enad-theme` CLI or the `generateThemeCSS` function to produce a theme stylesheet from a configuration object.
|
|
267
|
+
|
|
268
|
+
Light and dark modes are both first-class. The SDK respects `prefers-color-scheme` and supports explicit mode toggling.
|
|
269
|
+
|
|
270
|
+
## Built with
|
|
271
|
+
|
|
272
|
+
- [Tailwind CSS v4](https://tailwindcss.com) — utility-first styling
|
|
273
|
+
- [Radix UI](https://radix-ui.com) — accessible primitives (dialogs, popovers, accordions)
|
|
274
|
+
- [Embla Carousel](https://www.embla-carousel.com) — lightweight carousel engine
|
|
275
|
+
- [React Query](https://tanstack.com/query) — data fetching and cache management
|
|
276
|
+
- [react-hook-form](https://react-hook-form.com) + [Zod](https://zod.dev) — form handling and validation
|
|
277
|
+
- [class-variance-authority](https://cva.style) — variant-driven component styles
|
|
278
|
+
|
|
279
|
+
## Development
|
|
280
|
+
|
|
281
|
+
From the monorepo root:
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
# Build the SDK (ESM via tsup, types via tsc, styles via tailwindcss)
|
|
285
|
+
pnpm build --filter=@enadhq/enad-react-sdk
|
|
286
|
+
|
|
287
|
+
# Watch mode — rebuilds on file changes
|
|
288
|
+
pnpm dev --filter=@enadhq/enad-react-sdk
|
|
289
|
+
|
|
290
|
+
# Type check
|
|
291
|
+
pnpm check-types --filter=@enadhq/enad-react-sdk
|
|
292
|
+
|
|
293
|
+
# Lint
|
|
294
|
+
pnpm lint --filter=@enadhq/enad-react-sdk
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
The build has three stages:
|
|
298
|
+
|
|
299
|
+
1. **tsup** — bundles TypeScript to ESM (`dist/*.mjs`)
|
|
300
|
+
2. **tsc** — generates declaration files (`dist/*.d.ts`)
|
|
301
|
+
3. **tailwindcss** — compiles `src/styles.css` to `dist/styles.css`
|
|
302
|
+
|
|
303
|
+
## License
|
|
304
|
+
|
|
305
|
+
MIT
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
//#region \0rolldown/runtime.js
|
|
3
|
+
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
4
|
+
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { __commonJSMin, __require };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CookieAdapter, CookieOptions } from "../global/auth/cookie-adapter.js";
|
|
2
|
+
|
|
3
|
+
//#region src/client/adapters/next-cookie-adapter.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* CookieAdapter implementation for Next.js.
|
|
6
|
+
* Wraps the `cookies()` function from `next/headers`.
|
|
7
|
+
*
|
|
8
|
+
* Each method call invokes `cookies()` to get the current request's
|
|
9
|
+
* cookie store, so the adapter is safe to reuse across requests.
|
|
10
|
+
*/
|
|
11
|
+
declare class NextCookieAdapter implements CookieAdapter {
|
|
12
|
+
get(name: string): Promise<string | undefined>;
|
|
13
|
+
set(name: string, value: string, options?: CookieOptions): Promise<void>;
|
|
14
|
+
delete(name: string): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { NextCookieAdapter };
|
|
18
|
+
//# sourceMappingURL=next-cookie-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"next-cookie-adapter.d.ts","names":[],"sources":["../../../src/client/adapters/next-cookie-adapter.ts"],"mappings":";;;;;AAUA;;;;;cAAa,iBAAA,YAA6B,aAAA;EAClC,GAAA,CAAI,IAAA,WAAe,OAAA;EAKnB,GAAA,CAAI,IAAA,UAAc,KAAA,UAAe,OAAA,GAAU,aAAA,GAAgB,OAAA;EAK3D,MAAA,CAAO,IAAA,WAAe,OAAA;AAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { require_headers } from "../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";
|
|
2
|
+
//#region src/client/adapters/next-cookie-adapter.ts
|
|
3
|
+
var import_headers = require_headers();
|
|
4
|
+
/**
|
|
5
|
+
* CookieAdapter implementation for Next.js.
|
|
6
|
+
* Wraps the `cookies()` function from `next/headers`.
|
|
7
|
+
*
|
|
8
|
+
* Each method call invokes `cookies()` to get the current request's
|
|
9
|
+
* cookie store, so the adapter is safe to reuse across requests.
|
|
10
|
+
*/
|
|
11
|
+
var NextCookieAdapter = class {
|
|
12
|
+
async get(name) {
|
|
13
|
+
return (await (0, import_headers.cookies)()).get(name)?.value;
|
|
14
|
+
}
|
|
15
|
+
async set(name, value, options) {
|
|
16
|
+
(await (0, import_headers.cookies)()).set(name, value, options);
|
|
17
|
+
}
|
|
18
|
+
async delete(name) {
|
|
19
|
+
(await (0, import_headers.cookies)()).delete(name);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { NextCookieAdapter };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=next-cookie-adapter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"next-cookie-adapter.mjs","names":[],"sources":["../../../src/client/adapters/next-cookie-adapter.ts"],"sourcesContent":["import { cookies } from \"next/headers\";\nimport type { CookieAdapter, CookieOptions } from \"../global/auth/cookie-adapter\";\n\n/**\n * CookieAdapter implementation for Next.js.\n * Wraps the `cookies()` function from `next/headers`.\n *\n * Each method call invokes `cookies()` to get the current request's\n * cookie store, so the adapter is safe to reuse across requests.\n */\nexport class NextCookieAdapter implements CookieAdapter {\n async get(name: string): Promise<string | undefined> {\n const store = await cookies();\n return store.get(name)?.value;\n }\n\n async set(name: string, value: string, options?: CookieOptions): Promise<void> {\n const store = await cookies();\n store.set(name, value, options);\n }\n\n async delete(name: string): Promise<void> {\n const store = await cookies();\n store.delete(name);\n }\n}\n"],"mappings":";;;;;;;;;;AAUA,IAAa,oBAAb,MAAwD;CACtD,MAAM,IAAI,MAA2C;AAEnD,UADc,OAAA,GAAA,eAAA,UAAe,EAChB,IAAI,KAAK,EAAE;;CAG1B,MAAM,IAAI,MAAc,OAAe,SAAwC;AAE7E,GADc,OAAA,GAAA,eAAA,UAAe,EACvB,IAAI,MAAM,OAAO,QAAQ;;CAGjC,MAAM,OAAO,MAA6B;AAExC,GADc,OAAA,GAAA,eAAA,UAAe,EACvB,OAAO,KAAK"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NavigationAdapter } from "../global/auth/navigation-adapter.js";
|
|
2
|
+
|
|
3
|
+
//#region src/client/adapters/next-navigation-adapter.d.ts
|
|
4
|
+
declare class NextNavigationAdapter implements NavigationAdapter {
|
|
5
|
+
redirect(url: string): never;
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { NextNavigationAdapter };
|
|
9
|
+
//# sourceMappingURL=next-navigation-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"next-navigation-adapter.d.ts","names":[],"sources":["../../../src/client/adapters/next-navigation-adapter.ts"],"mappings":";;;cAGa,qBAAA,YAAiC,iBAAA;EAC5C,QAAA,CAAS,GAAA;AAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { require_navigation } from "../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";
|
|
2
|
+
//#region src/client/adapters/next-navigation-adapter.ts
|
|
3
|
+
var import_navigation = require_navigation();
|
|
4
|
+
var NextNavigationAdapter = class {
|
|
5
|
+
redirect(url) {
|
|
6
|
+
(0, import_navigation.redirect)(url);
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
export { NextNavigationAdapter };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=next-navigation-adapter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"next-navigation-adapter.mjs","names":[],"sources":["../../../src/client/adapters/next-navigation-adapter.ts"],"sourcesContent":["import { redirect } from \"next/navigation\";\nimport type { NavigationAdapter } from \"../global/auth/navigation-adapter\";\n\nexport class NextNavigationAdapter implements NavigationAdapter {\n redirect(url: string): never {\n redirect(url);\n }\n}\n"],"mappings":";;;AAGA,IAAa,wBAAb,MAAgE;CAC9D,SAAS,KAAoB;AAC3B,GAAA,GAAA,kBAAA,UAAS,IAAI"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CartAdapter } from "../types/adapter.js";
|
|
2
|
+
|
|
3
|
+
//#region src/client/cart/adapters/brink.d.ts
|
|
4
|
+
interface BrinkCartAdapterConfig {
|
|
5
|
+
/** Brink environment identifier (used to build the API base URL). */
|
|
6
|
+
env: string;
|
|
7
|
+
/** Store group identifier. */
|
|
8
|
+
storeGroupId: string;
|
|
9
|
+
/** ISO 3166-1 alpha-2 country code. */
|
|
10
|
+
countryCode: string;
|
|
11
|
+
/** BCP 47 language code. */
|
|
12
|
+
languageCode: string;
|
|
13
|
+
/** Storage key for the session token. Defaults to "brink_cart_session". */
|
|
14
|
+
sessionKey?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a cart adapter for Brink Commerce.
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { createBrinkCartAdapter } from "@enadhq/enad-react-sdk/client/cart/brink-adapter"
|
|
21
|
+
*
|
|
22
|
+
* const adapter = createBrinkCartAdapter({
|
|
23
|
+
* env: "production",
|
|
24
|
+
* storeGroupId: "sg-123",
|
|
25
|
+
* countryCode: "SE",
|
|
26
|
+
* languageCode: "sv",
|
|
27
|
+
* })
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
declare function createBrinkCartAdapter(config: BrinkCartAdapterConfig): CartAdapter;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { BrinkCartAdapterConfig, createBrinkCartAdapter };
|
|
33
|
+
//# sourceMappingURL=brink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brink.d.ts","names":[],"sources":["../../../../src/client/cart/adapters/brink.ts"],"mappings":";;;UAOiB,sBAAA;;EAEf,GAAA;EAFqC;EAIrC,YAAA;EAJqC;EAMrC,WAAA;EAFA;EAIA,YAAA;EAAA;EAEA,UAAA;AAAA;;AA4JF;;;;;;;;;;;;;iBAAgB,sBAAA,CAAuB,MAAA,EAAQ,sBAAA,GAAyB,WAAA"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { CartAdapterError } from "../types/adapter.mjs";
|
|
2
|
+
//#region src/client/cart/adapters/brink.ts
|
|
3
|
+
function money(amount, currencyCode) {
|
|
4
|
+
return {
|
|
5
|
+
amount,
|
|
6
|
+
currencyCode
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
function mapItem(item, currencyCode) {
|
|
10
|
+
return {
|
|
11
|
+
id: item.id,
|
|
12
|
+
productVariantId: item.productVariantId,
|
|
13
|
+
sku: item.sku,
|
|
14
|
+
displayName: item.displayName,
|
|
15
|
+
unitPrice: money(item.salePriceAmount, currencyCode),
|
|
16
|
+
listPrice: item.originalPriceAmount != null ? money(item.originalPriceAmount, currencyCode) : void 0,
|
|
17
|
+
discount: item.discountAmount != null ? money(item.discountAmount, currencyCode) : void 0,
|
|
18
|
+
tax: item.taxAmount != null ? money(item.taxAmount, currencyCode) : void 0,
|
|
19
|
+
quantity: item.quantity,
|
|
20
|
+
imageUrl: item.imageUrl,
|
|
21
|
+
variantLabel: item.variantLabel,
|
|
22
|
+
productSlug: item.customAttributes?.productSlug,
|
|
23
|
+
backendMeta: item.customAttributes
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function mapCart(response) {
|
|
27
|
+
const { cart } = response;
|
|
28
|
+
const cc = cart.currencyCode;
|
|
29
|
+
return {
|
|
30
|
+
id: cart.id,
|
|
31
|
+
countryCode: cart.countryCode,
|
|
32
|
+
currencyCode: cc,
|
|
33
|
+
languageCode: cart.languageCode,
|
|
34
|
+
taxIncludedInPrice: cart.isTaxIncludedInPrice,
|
|
35
|
+
discountCodes: cart.discountCodes,
|
|
36
|
+
items: cart.items.map((item) => mapItem(item, cc)),
|
|
37
|
+
totals: {
|
|
38
|
+
subtotal: money(cart.totals.subTotal, cc),
|
|
39
|
+
tax: money(cart.totals.taxTotal, cc),
|
|
40
|
+
discount: money(cart.totals.discountTotal, cc),
|
|
41
|
+
total: money(cart.totals.grandTotal, cc)
|
|
42
|
+
},
|
|
43
|
+
createdAt: cart.created,
|
|
44
|
+
updatedAt: cart.updated,
|
|
45
|
+
backendMeta: {
|
|
46
|
+
revision: cart.revision,
|
|
47
|
+
storeGroupId: cart.storeGroupId,
|
|
48
|
+
sessionToken: response.token,
|
|
49
|
+
capabilities: response.capabilities
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function createSessionStore(key) {
|
|
54
|
+
return {
|
|
55
|
+
get() {
|
|
56
|
+
try {
|
|
57
|
+
return localStorage.getItem(key);
|
|
58
|
+
} catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
set(token) {
|
|
63
|
+
try {
|
|
64
|
+
localStorage.setItem(key, token);
|
|
65
|
+
} catch {}
|
|
66
|
+
},
|
|
67
|
+
clear() {
|
|
68
|
+
try {
|
|
69
|
+
localStorage.removeItem(key);
|
|
70
|
+
} catch {}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Create a cart adapter for Brink Commerce.
|
|
76
|
+
*
|
|
77
|
+
* ```ts
|
|
78
|
+
* import { createBrinkCartAdapter } from "@enadhq/enad-react-sdk/client/cart/brink-adapter"
|
|
79
|
+
*
|
|
80
|
+
* const adapter = createBrinkCartAdapter({
|
|
81
|
+
* env: "production",
|
|
82
|
+
* storeGroupId: "sg-123",
|
|
83
|
+
* countryCode: "SE",
|
|
84
|
+
* languageCode: "sv",
|
|
85
|
+
* })
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
function createBrinkCartAdapter(config) {
|
|
89
|
+
const { env, storeGroupId, countryCode, languageCode } = config;
|
|
90
|
+
const baseUrl = `https://shopper.eu-west-1.${env}.brinkcommerce.io`;
|
|
91
|
+
const session = createSessionStore(config.sessionKey ?? "brink_cart_session");
|
|
92
|
+
async function handleResponse(res) {
|
|
93
|
+
if (res.status === 401) {
|
|
94
|
+
session.clear();
|
|
95
|
+
throw new CartAdapterError("SESSION_EXPIRED", "Cart session has expired");
|
|
96
|
+
}
|
|
97
|
+
if (!res.ok) {
|
|
98
|
+
const text = await res.text().catch(() => "Unknown error");
|
|
99
|
+
throw new CartAdapterError("UNKNOWN", `Brink API error (${res.status}): ${text}`);
|
|
100
|
+
}
|
|
101
|
+
return res.json();
|
|
102
|
+
}
|
|
103
|
+
function authHeaders() {
|
|
104
|
+
const token = session.get();
|
|
105
|
+
if (!token) return { "Content-Type": "application/json" };
|
|
106
|
+
return {
|
|
107
|
+
Authorization: `Bearer ${token}`,
|
|
108
|
+
"Content-Type": "application/json"
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
async getCart() {
|
|
113
|
+
if (session.get()) {
|
|
114
|
+
const res = await fetch(`${baseUrl}/shopper/sessions`, {
|
|
115
|
+
headers: authHeaders(),
|
|
116
|
+
cache: "no-store"
|
|
117
|
+
});
|
|
118
|
+
if (res.ok) {
|
|
119
|
+
const data = await res.json();
|
|
120
|
+
session.set(data.token);
|
|
121
|
+
return mapCart(data);
|
|
122
|
+
}
|
|
123
|
+
session.clear();
|
|
124
|
+
}
|
|
125
|
+
const data = await handleResponse(await fetch(`${baseUrl}/shopper/sessions/start`, {
|
|
126
|
+
method: "POST",
|
|
127
|
+
headers: { "Content-Type": "application/json" },
|
|
128
|
+
body: JSON.stringify({
|
|
129
|
+
storeGroupId,
|
|
130
|
+
countryCode,
|
|
131
|
+
languageCode
|
|
132
|
+
})
|
|
133
|
+
}));
|
|
134
|
+
session.set(data.token);
|
|
135
|
+
return mapCart(data);
|
|
136
|
+
},
|
|
137
|
+
async addItem(productVariantId, quantity) {
|
|
138
|
+
const data = await handleResponse(await fetch(`${baseUrl}/shopper/sessions/items`, {
|
|
139
|
+
method: "POST",
|
|
140
|
+
headers: authHeaders(),
|
|
141
|
+
body: JSON.stringify({
|
|
142
|
+
productVariantId,
|
|
143
|
+
quantity
|
|
144
|
+
})
|
|
145
|
+
}));
|
|
146
|
+
session.set(data.token);
|
|
147
|
+
return mapCart(data);
|
|
148
|
+
},
|
|
149
|
+
async updateItem(itemId, quantity) {
|
|
150
|
+
const data = await handleResponse(await fetch(`${baseUrl}/shopper/sessions/items/${itemId}`, {
|
|
151
|
+
method: "PUT",
|
|
152
|
+
headers: authHeaders(),
|
|
153
|
+
body: JSON.stringify({ quantity })
|
|
154
|
+
}));
|
|
155
|
+
session.set(data.token);
|
|
156
|
+
return mapCart(data);
|
|
157
|
+
},
|
|
158
|
+
async removeItem(itemId) {
|
|
159
|
+
const data = await handleResponse(await fetch(`${baseUrl}/shopper/sessions/items/${itemId}`, {
|
|
160
|
+
method: "DELETE",
|
|
161
|
+
headers: authHeaders()
|
|
162
|
+
}));
|
|
163
|
+
session.set(data.token);
|
|
164
|
+
return mapCart(data);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
//#endregion
|
|
169
|
+
export { createBrinkCartAdapter };
|
|
170
|
+
|
|
171
|
+
//# sourceMappingURL=brink.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brink.mjs","names":[],"sources":["../../../../src/client/cart/adapters/brink.ts"],"sourcesContent":["import type { CartAdapter, Cart, CartItem, Money } from \"../types/adapter\";\nimport { CartAdapterError } from \"../types/adapter\";\n\n// ---------------------------------------------------------------------------\n// Config\n// ---------------------------------------------------------------------------\n\nexport interface BrinkCartAdapterConfig {\n /** Brink environment identifier (used to build the API base URL). */\n env: string;\n /** Store group identifier. */\n storeGroupId: string;\n /** ISO 3166-1 alpha-2 country code. */\n countryCode: string;\n /** BCP 47 language code. */\n languageCode: string;\n /** Storage key for the session token. Defaults to \"brink_cart_session\". */\n sessionKey?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Brink API response types (internal)\n// ---------------------------------------------------------------------------\n\ninterface BrinkCartItem {\n id: string;\n productVariantId: string;\n quantity: number;\n salePriceAmount: number;\n displayName: string;\n imageUrl?: string;\n customAttributes?: { productSlug?: string; [key: string]: unknown };\n originalPriceAmount?: number;\n discountAmount?: number;\n taxAmount?: number;\n variantLabel?: string;\n sku?: string;\n}\n\ninterface BrinkCart {\n id: string;\n storeGroupId: string;\n countryCode: string;\n currencyCode: string;\n languageCode: string;\n isTaxIncludedInPrice: boolean;\n discountCodes: string[];\n created: string;\n updated: string;\n discountAmount: number;\n revision: number;\n items: BrinkCartItem[];\n totals: {\n subTotal: number;\n taxTotal: number;\n discountTotal: number;\n grandTotal: number;\n };\n}\n\ninterface BrinkCartResponse {\n token: string;\n cart: BrinkCart;\n capabilities: {\n paymentProviders: { id: string; name: string }[];\n shippingProviders: { id: string; name: string }[];\n };\n}\n\n// ---------------------------------------------------------------------------\n// Mapping\n// ---------------------------------------------------------------------------\n\nfunction money(amount: number, currencyCode: string): Money {\n return { amount, currencyCode };\n}\n\nfunction mapItem(item: BrinkCartItem, currencyCode: string): CartItem {\n return {\n id: item.id,\n productVariantId: item.productVariantId,\n sku: item.sku,\n displayName: item.displayName,\n unitPrice: money(item.salePriceAmount, currencyCode),\n listPrice:\n item.originalPriceAmount != null ? money(item.originalPriceAmount, currencyCode) : undefined,\n discount: item.discountAmount != null ? money(item.discountAmount, currencyCode) : undefined,\n tax: item.taxAmount != null ? money(item.taxAmount, currencyCode) : undefined,\n quantity: item.quantity,\n imageUrl: item.imageUrl,\n variantLabel: item.variantLabel,\n productSlug: item.customAttributes?.productSlug,\n backendMeta: item.customAttributes,\n };\n}\n\nfunction mapCart(response: BrinkCartResponse): Cart {\n const { cart } = response;\n const cc = cart.currencyCode;\n\n return {\n id: cart.id,\n countryCode: cart.countryCode,\n currencyCode: cc,\n languageCode: cart.languageCode,\n taxIncludedInPrice: cart.isTaxIncludedInPrice,\n discountCodes: cart.discountCodes,\n items: cart.items.map((item) => mapItem(item, cc)),\n totals: {\n subtotal: money(cart.totals.subTotal, cc),\n tax: money(cart.totals.taxTotal, cc),\n discount: money(cart.totals.discountTotal, cc),\n total: money(cart.totals.grandTotal, cc),\n },\n createdAt: cart.created,\n updatedAt: cart.updated,\n backendMeta: {\n revision: cart.revision,\n storeGroupId: cart.storeGroupId,\n sessionToken: response.token,\n capabilities: response.capabilities,\n },\n };\n}\n\n// ---------------------------------------------------------------------------\n// Session helpers\n// ---------------------------------------------------------------------------\n\nfunction createSessionStore(key: string) {\n return {\n get(): string | null {\n try {\n return localStorage.getItem(key);\n } catch {\n return null;\n }\n },\n set(token: string) {\n try {\n localStorage.setItem(key, token);\n } catch {\n // localStorage unavailable (SSR, private browsing) — silently skip\n }\n },\n clear() {\n try {\n localStorage.removeItem(key);\n } catch {\n // noop\n }\n },\n };\n}\n\n// ---------------------------------------------------------------------------\n// Adapter factory\n// ---------------------------------------------------------------------------\n\n/**\n * Create a cart adapter for Brink Commerce.\n *\n * ```ts\n * import { createBrinkCartAdapter } from \"@enadhq/enad-react-sdk/client/cart/brink-adapter\"\n *\n * const adapter = createBrinkCartAdapter({\n * env: \"production\",\n * storeGroupId: \"sg-123\",\n * countryCode: \"SE\",\n * languageCode: \"sv\",\n * })\n * ```\n */\nexport function createBrinkCartAdapter(config: BrinkCartAdapterConfig): CartAdapter {\n const { env, storeGroupId, countryCode, languageCode } = config;\n const baseUrl = `https://shopper.eu-west-1.${env}.brinkcommerce.io`;\n const session = createSessionStore(config.sessionKey ?? \"brink_cart_session\");\n\n async function handleResponse(res: Response): Promise<BrinkCartResponse> {\n if (res.status === 401) {\n session.clear();\n throw new CartAdapterError(\"SESSION_EXPIRED\", \"Cart session has expired\");\n }\n if (!res.ok) {\n const text = await res.text().catch(() => \"Unknown error\");\n throw new CartAdapterError(\"UNKNOWN\", `Brink API error (${res.status}): ${text}`);\n }\n return res.json() as Promise<BrinkCartResponse>;\n }\n\n function authHeaders(): Record<string, string> {\n const token = session.get();\n if (!token) return { \"Content-Type\": \"application/json\" };\n return {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n }\n\n const adapter: CartAdapter = {\n async getCart(): Promise<Cart> {\n const existingToken = session.get();\n\n if (existingToken) {\n const res = await fetch(`${baseUrl}/shopper/sessions`, {\n headers: authHeaders(),\n cache: \"no-store\",\n });\n\n if (res.ok) {\n const data = (await res.json()) as BrinkCartResponse;\n session.set(data.token);\n return mapCart(data);\n }\n\n // Token expired or invalid — start fresh\n session.clear();\n }\n\n // No session — create one\n const res = await fetch(`${baseUrl}/shopper/sessions/start`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ storeGroupId, countryCode, languageCode }),\n });\n\n const data = await handleResponse(res);\n session.set(data.token);\n return mapCart(data);\n },\n\n async addItem(productVariantId: string, quantity: number): Promise<Cart> {\n const res = await fetch(`${baseUrl}/shopper/sessions/items`, {\n method: \"POST\",\n headers: authHeaders(),\n body: JSON.stringify({ productVariantId, quantity }),\n });\n\n const data = await handleResponse(res);\n session.set(data.token);\n return mapCart(data);\n },\n\n async updateItem(itemId: string, quantity: number): Promise<Cart> {\n const res = await fetch(`${baseUrl}/shopper/sessions/items/${itemId}`, {\n method: \"PUT\",\n headers: authHeaders(),\n body: JSON.stringify({ quantity }),\n });\n\n const data = await handleResponse(res);\n session.set(data.token);\n return mapCart(data);\n },\n\n async removeItem(itemId: string): Promise<Cart> {\n const res = await fetch(`${baseUrl}/shopper/sessions/items/${itemId}`, {\n method: \"DELETE\",\n headers: authHeaders(),\n });\n\n const data = await handleResponse(res);\n session.set(data.token);\n return mapCart(data);\n },\n };\n\n return adapter;\n}\n"],"mappings":";;AAyEA,SAAS,MAAM,QAAgB,cAA6B;AAC1D,QAAO;EAAE;EAAQ;EAAc;;AAGjC,SAAS,QAAQ,MAAqB,cAAgC;AACpE,QAAO;EACL,IAAI,KAAK;EACT,kBAAkB,KAAK;EACvB,KAAK,KAAK;EACV,aAAa,KAAK;EAClB,WAAW,MAAM,KAAK,iBAAiB,aAAa;EACpD,WACE,KAAK,uBAAuB,OAAO,MAAM,KAAK,qBAAqB,aAAa,GAAG,KAAA;EACrF,UAAU,KAAK,kBAAkB,OAAO,MAAM,KAAK,gBAAgB,aAAa,GAAG,KAAA;EACnF,KAAK,KAAK,aAAa,OAAO,MAAM,KAAK,WAAW,aAAa,GAAG,KAAA;EACpE,UAAU,KAAK;EACf,UAAU,KAAK;EACf,cAAc,KAAK;EACnB,aAAa,KAAK,kBAAkB;EACpC,aAAa,KAAK;EACnB;;AAGH,SAAS,QAAQ,UAAmC;CAClD,MAAM,EAAE,SAAS;CACjB,MAAM,KAAK,KAAK;AAEhB,QAAO;EACL,IAAI,KAAK;EACT,aAAa,KAAK;EAClB,cAAc;EACd,cAAc,KAAK;EACnB,oBAAoB,KAAK;EACzB,eAAe,KAAK;EACpB,OAAO,KAAK,MAAM,KAAK,SAAS,QAAQ,MAAM,GAAG,CAAC;EAClD,QAAQ;GACN,UAAU,MAAM,KAAK,OAAO,UAAU,GAAG;GACzC,KAAK,MAAM,KAAK,OAAO,UAAU,GAAG;GACpC,UAAU,MAAM,KAAK,OAAO,eAAe,GAAG;GAC9C,OAAO,MAAM,KAAK,OAAO,YAAY,GAAG;GACzC;EACD,WAAW,KAAK;EAChB,WAAW,KAAK;EAChB,aAAa;GACX,UAAU,KAAK;GACf,cAAc,KAAK;GACnB,cAAc,SAAS;GACvB,cAAc,SAAS;GACxB;EACF;;AAOH,SAAS,mBAAmB,KAAa;AACvC,QAAO;EACL,MAAqB;AACnB,OAAI;AACF,WAAO,aAAa,QAAQ,IAAI;WAC1B;AACN,WAAO;;;EAGX,IAAI,OAAe;AACjB,OAAI;AACF,iBAAa,QAAQ,KAAK,MAAM;WAC1B;;EAIV,QAAQ;AACN,OAAI;AACF,iBAAa,WAAW,IAAI;WACtB;;EAIX;;;;;;;;;;;;;;;;AAqBH,SAAgB,uBAAuB,QAA6C;CAClF,MAAM,EAAE,KAAK,cAAc,aAAa,iBAAiB;CACzD,MAAM,UAAU,6BAA6B,IAAI;CACjD,MAAM,UAAU,mBAAmB,OAAO,cAAc,qBAAqB;CAE7E,eAAe,eAAe,KAA2C;AACvE,MAAI,IAAI,WAAW,KAAK;AACtB,WAAQ,OAAO;AACf,SAAM,IAAI,iBAAiB,mBAAmB,2BAA2B;;AAE3E,MAAI,CAAC,IAAI,IAAI;GACX,MAAM,OAAO,MAAM,IAAI,MAAM,CAAC,YAAY,gBAAgB;AAC1D,SAAM,IAAI,iBAAiB,WAAW,oBAAoB,IAAI,OAAO,KAAK,OAAO;;AAEnF,SAAO,IAAI,MAAM;;CAGnB,SAAS,cAAsC;EAC7C,MAAM,QAAQ,QAAQ,KAAK;AAC3B,MAAI,CAAC,MAAO,QAAO,EAAE,gBAAgB,oBAAoB;AACzD,SAAO;GACL,eAAe,UAAU;GACzB,gBAAgB;GACjB;;AAuEH,QApE6B;EAC3B,MAAM,UAAyB;AAG7B,OAFsB,QAAQ,KAAK,EAEhB;IACjB,MAAM,MAAM,MAAM,MAAM,GAAG,QAAQ,oBAAoB;KACrD,SAAS,aAAa;KACtB,OAAO;KACR,CAAC;AAEF,QAAI,IAAI,IAAI;KACV,MAAM,OAAQ,MAAM,IAAI,MAAM;AAC9B,aAAQ,IAAI,KAAK,MAAM;AACvB,YAAO,QAAQ,KAAK;;AAItB,YAAQ,OAAO;;GAUjB,MAAM,OAAO,MAAM,eANP,MAAM,MAAM,GAAG,QAAQ,0BAA0B;IAC3D,QAAQ;IACR,SAAS,EAAE,gBAAgB,oBAAoB;IAC/C,MAAM,KAAK,UAAU;KAAE;KAAc;KAAa;KAAc,CAAC;IAClE,CAAC,CAEoC;AACtC,WAAQ,IAAI,KAAK,MAAM;AACvB,UAAO,QAAQ,KAAK;;EAGtB,MAAM,QAAQ,kBAA0B,UAAiC;GAOvE,MAAM,OAAO,MAAM,eANP,MAAM,MAAM,GAAG,QAAQ,0BAA0B;IAC3D,QAAQ;IACR,SAAS,aAAa;IACtB,MAAM,KAAK,UAAU;KAAE;KAAkB;KAAU,CAAC;IACrD,CAAC,CAEoC;AACtC,WAAQ,IAAI,KAAK,MAAM;AACvB,UAAO,QAAQ,KAAK;;EAGtB,MAAM,WAAW,QAAgB,UAAiC;GAOhE,MAAM,OAAO,MAAM,eANP,MAAM,MAAM,GAAG,QAAQ,0BAA0B,UAAU;IACrE,QAAQ;IACR,SAAS,aAAa;IACtB,MAAM,KAAK,UAAU,EAAE,UAAU,CAAC;IACnC,CAAC,CAEoC;AACtC,WAAQ,IAAI,KAAK,MAAM;AACvB,UAAO,QAAQ,KAAK;;EAGtB,MAAM,WAAW,QAA+B;GAM9C,MAAM,OAAO,MAAM,eALP,MAAM,MAAM,GAAG,QAAQ,0BAA0B,UAAU;IACrE,QAAQ;IACR,SAAS,aAAa;IACvB,CAAC,CAEoC;AACtC,WAAQ,IAAI,KAAK,MAAM;AACvB,UAAO,QAAQ,KAAK;;EAEvB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CartAdapter, CartItem } from "../types/adapter.js";
|
|
2
|
+
|
|
3
|
+
//#region src/client/cart/adapters/mock.d.ts
|
|
4
|
+
interface MockCartAdapterOptions {
|
|
5
|
+
/** Initial items to populate the cart with. */
|
|
6
|
+
initialItems?: CartItem[];
|
|
7
|
+
/** Currency code. Defaults to "USD". */
|
|
8
|
+
currencyCode?: string;
|
|
9
|
+
/** Simulated network delay in ms. Defaults to 0. */
|
|
10
|
+
delay?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* In-memory cart adapter for testing and development.
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { createMockCartAdapter } from "@enadhq/enad-react-sdk/client/cart/mock-adapter"
|
|
17
|
+
*
|
|
18
|
+
* const adapter = createMockCartAdapter({ delay: 200 })
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
declare function createMockCartAdapter(options?: MockCartAdapterOptions): CartAdapter;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { MockCartAdapterOptions, createMockCartAdapter };
|
|
24
|
+
//# sourceMappingURL=mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.d.ts","names":[],"sources":["../../../../src/client/cart/adapters/mock.ts"],"mappings":";;;UAoCiB,sBAAA;;EAEf,YAAA,GAAe,QAAA;EAFsB;EAIrC,YAAA;EAFuB;EAIvB,KAAA;AAAA;;;;;AAYF;;;;;iBAAgB,qBAAA,CAAsB,OAAA,GAAS,sBAAA,GAA8B,WAAA"}
|