@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-block.mjs","names":[],"sources":["../../../../src/client/storefront/blocks/link-block.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"../../ui/utils\"\nimport { colorThemeClasses, isThemeDark, type LinkBlockProps } from \"../types\"\n\n/* ─── Shared types ─── */\n\ntype VariantProps = LinkBlockProps & {\n dark: boolean\n themeClasses: string\n}\n\nconst headingStyle = { fontWeight: \"var(--enad-heading-weight)\", letterSpacing: \"var(--enad-heading-tracking)\", textTransform: \"var(--enad-heading-transform)\" } as unknown as React.CSSProperties\n\n/* ─── Shared link wrapper ─── */\n\nfunction OptionalLink({\n href,\n radiusClass,\n children,\n}: {\n href?: string\n radiusClass?: string\n children: React.ReactNode\n}) {\n if (!href) return children\n return (\n <a\n href={href}\n className={cn(\"block focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\", radiusClass)}\n >\n {children}\n </a>\n )\n}\n\n/* ─── Card variant ─── */\n\nfunction CardVariant({\n image,\n eyebrow,\n title,\n buttonLabel,\n buttonHref,\n dark,\n themeClasses,\n className,\n}: VariantProps) {\n const content = (\n <div\n className={cn(\n \"enad-interactive group overflow-hidden rounded-[var(--enad-card-radius)]\",\n \"shadow-[var(--enad-card-shadow)] transition-shadow duration-[var(--enad-motion-duration)] hover:shadow-[var(--enad-card-hover-shadow)]\",\n themeClasses || \"bg-background\",\n className,\n )}\n >\n {/* Image top */}\n {image?.src ? (\n <div className=\"overflow-hidden rounded-t-[var(--enad-image-radius)] bg-muted\">\n <img\n src={image.src}\n alt={image.alt ?? title ?? \"\"}\n loading=\"lazy\"\n className=\"aspect-[3/2] w-full object-cover transition-transform duration-[var(--enad-image-hover-duration)] group-hover:scale-[var(--enad-image-hover-scale)]\"\n />\n </div>\n ) : (\n <div className=\"aspect-[3/2] w-full bg-muted\" aria-hidden=\"true\" />\n )}\n\n {/* Text content below */}\n <div className=\"min-w-0 p-6\">\n {eyebrow && (\n <p className={cn(\"mb-1 text-sm uppercase tracking-widest\", dark ? \"text-white/70\" : \"text-muted-foreground\")}>\n {eyebrow}\n </p>\n )}\n {title && (\n <h3\n className={cn(\"line-clamp-2 text-xl font-heading\", dark ? \"text-white\" : \"text-foreground\")}\n style={headingStyle}\n >\n {title}\n </h3>\n )}\n {buttonLabel && (\n <span className={cn(\"mt-3 inline-block text-sm font-medium line-clamp-3\", dark ? \"text-white/80\" : \"text-foreground\")}>\n {buttonLabel}\n </span>\n )}\n </div>\n </div>\n )\n\n return (\n <OptionalLink href={buttonHref} radiusClass=\"rounded-[var(--enad-card-radius)]\">\n {content}\n </OptionalLink>\n )\n}\n\n/* ─── Text-only variant ─── */\n\nfunction TextOnlyVariant({\n eyebrow,\n title,\n buttonLabel,\n buttonHref,\n dark,\n themeClasses,\n className,\n}: VariantProps) {\n const content = (\n <div\n className={cn(\n \"enad-interactive group rounded-[var(--enad-card-radius)] border transition-colors duration-[var(--enad-motion-duration)]\",\n \"border-[length:var(--enad-border-width)] px-6 py-5\",\n dark\n ? \"border-white/20 hover:bg-white/10\"\n : \"border-border hover:bg-accent\",\n themeClasses,\n className,\n )}\n >\n {eyebrow && (\n <p className={cn(\"mb-1 text-sm uppercase tracking-widest\", dark ? \"text-white/70\" : \"text-muted-foreground\")}>\n {eyebrow}\n </p>\n )}\n {title && (\n <h3\n className={cn(\"truncate text-lg font-heading\", dark ? \"text-white\" : \"text-foreground\")}\n style={headingStyle}\n >\n {title}\n </h3>\n )}\n {buttonLabel && (\n <span className={cn(\"mt-2 inline-block text-sm font-medium\", dark ? \"text-white/80\" : \"text-muted-foreground\")}>\n {buttonLabel}\n </span>\n )}\n </div>\n )\n\n return (\n <OptionalLink href={buttonHref} radiusClass=\"rounded-[var(--enad-card-radius)]\">\n {content}\n </OptionalLink>\n )\n}\n\n/* ─── Overlay variant (default) ─── */\n\nfunction OverlayVariant({\n image,\n eyebrow,\n title,\n buttonLabel,\n buttonHref,\n className,\n}: VariantProps) {\n const content = (\n <div className={cn(\"enad-interactive group relative aspect-[3/4] overflow-hidden md:aspect-[2/1]\", className)}>\n {/* Background image */}\n {image?.src ? (\n <img\n src={image.src}\n alt={image.alt ?? title ?? \"\"}\n loading=\"lazy\"\n className=\"size-full object-cover transition-transform duration-[var(--enad-image-hover-duration)] group-hover:scale-[var(--enad-image-hover-scale)]\"\n />\n ) : (\n <div className=\"size-full bg-primary\" aria-hidden=\"true\" />\n )}\n\n {/* Gradient overlay */}\n <div\n className=\"absolute inset-0\"\n style={{ background: \"linear-gradient(to top, color-mix(in oklch, var(--enad-overlay-color) calc(var(--enad-overlay-from-opacity) * 100%), transparent), color-mix(in oklch, var(--enad-overlay-color) calc(var(--enad-overlay-to-opacity) * 100%), transparent))\" }}\n />\n\n {/* Text content */}\n <div className=\"absolute inset-x-0 bottom-0 min-w-0 p-6 md:p-8\">\n {eyebrow && (\n <p className=\"mb-1 text-sm uppercase tracking-widest text-white/70\">\n {eyebrow}\n </p>\n )}\n {title && (\n <h3 className=\"line-clamp-2 text-xl font-heading text-white md:text-2xl\" style={headingStyle}>\n {title}\n </h3>\n )}\n {buttonLabel && (\n <span className=\"mt-3 inline-block border-b border-white/50 pb-0.5 text-sm text-white transition-colors group-hover:border-white\">\n {buttonLabel}\n </span>\n )}\n </div>\n </div>\n )\n\n return <OptionalLink href={buttonHref}>{content}</OptionalLink>\n}\n\n/* ─── Main component (dispatcher) ─── */\n\nfunction LinkBlock(props: LinkBlockProps) {\n const dark = isThemeDark(props.colorTheme)\n const themeClasses = colorThemeClasses(props.colorTheme)\n const variantProps: VariantProps = { ...props, dark, themeClasses }\n\n switch (props.variant ?? \"overlay\") {\n case \"card\":\n return <CardVariant {...variantProps} />\n case \"text-only\":\n return <TextOnlyVariant {...variantProps} />\n default:\n return <OverlayVariant {...variantProps} />\n }\n}\n\nexport { LinkBlock, type LinkBlockProps }\n"],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/client/storefront/blocks/product-card-parts.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Root container for a composable product card.
|
|
7
|
+
* Provides group context for hover effects and overflow handling.
|
|
8
|
+
*/
|
|
9
|
+
declare function ProductCardRoot({
|
|
10
|
+
className,
|
|
11
|
+
...props
|
|
12
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
|
|
13
|
+
/**
|
|
14
|
+
* Container for the product image area.
|
|
15
|
+
* Use as a wrapper for ProductCardImage, ProductCardTag, and ProductCardFavoriteButton.
|
|
16
|
+
*/
|
|
17
|
+
declare function ProductCardImageArea({
|
|
18
|
+
className,
|
|
19
|
+
...props
|
|
20
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
|
|
21
|
+
/**
|
|
22
|
+
* Product image with lazy loading.
|
|
23
|
+
*/
|
|
24
|
+
declare function ProductCardImage({
|
|
25
|
+
className,
|
|
26
|
+
alt,
|
|
27
|
+
loading,
|
|
28
|
+
...props
|
|
29
|
+
}: React$1.ComponentProps<"img">): react_jsx_runtime0.JSX.Element;
|
|
30
|
+
/**
|
|
31
|
+
* Badge overlay for product status (Sale, New, etc.).
|
|
32
|
+
* Positioned absolutely within ProductCardImageArea by default.
|
|
33
|
+
*/
|
|
34
|
+
declare function ProductCardTag({
|
|
35
|
+
className,
|
|
36
|
+
...props
|
|
37
|
+
}: React$1.ComponentProps<"span">): react_jsx_runtime0.JSX.Element;
|
|
38
|
+
/**
|
|
39
|
+
* Favorite/wishlist toggle button.
|
|
40
|
+
* Stops event propagation by default (safe inside links).
|
|
41
|
+
*/
|
|
42
|
+
declare function ProductCardFavoriteButton({
|
|
43
|
+
className,
|
|
44
|
+
onClick,
|
|
45
|
+
...props
|
|
46
|
+
}: React$1.ComponentProps<"button">): react_jsx_runtime0.JSX.Element;
|
|
47
|
+
/**
|
|
48
|
+
* Container for product text content (title, subtitle, price).
|
|
49
|
+
*/
|
|
50
|
+
declare function ProductCardContent({
|
|
51
|
+
className,
|
|
52
|
+
...props
|
|
53
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
|
|
54
|
+
/**
|
|
55
|
+
* Product name / title.
|
|
56
|
+
*/
|
|
57
|
+
declare function ProductCardTitle({
|
|
58
|
+
className,
|
|
59
|
+
...props
|
|
60
|
+
}: React$1.ComponentProps<"p">): react_jsx_runtime0.JSX.Element;
|
|
61
|
+
/**
|
|
62
|
+
* Secondary text (category, brand, etc.).
|
|
63
|
+
*/
|
|
64
|
+
declare function ProductCardSubtitle({
|
|
65
|
+
className,
|
|
66
|
+
...props
|
|
67
|
+
}: React$1.ComponentProps<"p">): react_jsx_runtime0.JSX.Element;
|
|
68
|
+
/**
|
|
69
|
+
* Price display.
|
|
70
|
+
*/
|
|
71
|
+
declare function ProductCardPrice({
|
|
72
|
+
className,
|
|
73
|
+
...props
|
|
74
|
+
}: React$1.ComponentProps<"span">): react_jsx_runtime0.JSX.Element;
|
|
75
|
+
//#endregion
|
|
76
|
+
export { ProductCardContent, ProductCardFavoriteButton, ProductCardImage, ProductCardImageArea, ProductCardPrice, ProductCardRoot, ProductCardSubtitle, ProductCardTag, ProductCardTitle };
|
|
77
|
+
//# sourceMappingURL=product-card-parts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-card-parts.d.ts","names":[],"sources":["../../../../src/client/storefront/blocks/product-card-parts.tsx"],"mappings":";;;;;;;AAE+B;iBAStB,eAAA,CAAA;EAAkB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;;iBAiBpE,oBAAA,CAAA;EAAuB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAazE,gBAAA,CAAA;EACP,SAAA;EACA,GAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;;iBAgBrB,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;;AAnDA;;;iBAoEpE,yBAAA,CAAA;EACP,SAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,aAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAuBxB,kBAAA,CAAA;EAAqB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAavE,gBAAA,CAAA;EAAmB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAanE,mBAAA,CAAA;EAAsB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;AAxGG;;iBAqHzE,gBAAA,CAAA;EAAmB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../../ui/utils.mjs";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/client/storefront/blocks/product-card-parts.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Root container for a composable product card.
|
|
8
|
+
* Provides group context for hover effects and overflow handling.
|
|
9
|
+
*/
|
|
10
|
+
function ProductCardRoot({ className, ...props }) {
|
|
11
|
+
return /* @__PURE__ */ jsx("div", {
|
|
12
|
+
"data-slot": "product-card",
|
|
13
|
+
className: cn("enad-interactive group overflow-hidden rounded-[var(--enad-card-radius)]", className),
|
|
14
|
+
...props
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Container for the product image area.
|
|
19
|
+
* Use as a wrapper for ProductCardImage, ProductCardTag, and ProductCardFavoriteButton.
|
|
20
|
+
*/
|
|
21
|
+
function ProductCardImageArea({ className, ...props }) {
|
|
22
|
+
return /* @__PURE__ */ jsx("div", {
|
|
23
|
+
"data-slot": "product-card-image-area",
|
|
24
|
+
className: cn("relative bg-muted", className),
|
|
25
|
+
...props
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Product image with lazy loading.
|
|
30
|
+
*/
|
|
31
|
+
function ProductCardImage({ className, alt = "", loading = "lazy", ...props }) {
|
|
32
|
+
return /* @__PURE__ */ jsx("img", {
|
|
33
|
+
"data-slot": "product-card-image",
|
|
34
|
+
alt,
|
|
35
|
+
loading,
|
|
36
|
+
className: cn("size-full object-cover", className),
|
|
37
|
+
...props
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Badge overlay for product status (Sale, New, etc.).
|
|
42
|
+
* Positioned absolutely within ProductCardImageArea by default.
|
|
43
|
+
*/
|
|
44
|
+
function ProductCardTag({ className, ...props }) {
|
|
45
|
+
return /* @__PURE__ */ jsx("span", {
|
|
46
|
+
"data-slot": "product-card-tag",
|
|
47
|
+
className: cn("absolute start-3 top-3 rounded-[var(--enad-card-radius)] bg-background/90 px-2 py-0.5 text-xs font-medium text-foreground", className),
|
|
48
|
+
...props
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Favorite/wishlist toggle button.
|
|
53
|
+
* Stops event propagation by default (safe inside links).
|
|
54
|
+
*/
|
|
55
|
+
function ProductCardFavoriteButton({ className, onClick, ...props }) {
|
|
56
|
+
return /* @__PURE__ */ jsx("button", {
|
|
57
|
+
type: "button",
|
|
58
|
+
"data-slot": "product-card-favorite",
|
|
59
|
+
className: cn("rounded-full bg-background/80 p-1.5 text-foreground transition-colors hover:bg-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", className),
|
|
60
|
+
"aria-label": "Add to favorites",
|
|
61
|
+
onClick: (e) => {
|
|
62
|
+
e.preventDefault();
|
|
63
|
+
e.stopPropagation();
|
|
64
|
+
onClick?.(e);
|
|
65
|
+
},
|
|
66
|
+
...props
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Container for product text content (title, subtitle, price).
|
|
71
|
+
*/
|
|
72
|
+
function ProductCardContent({ className, ...props }) {
|
|
73
|
+
return /* @__PURE__ */ jsx("div", {
|
|
74
|
+
"data-slot": "product-card-content",
|
|
75
|
+
className: cn("flex min-w-0 flex-col gap-0.5 p-3", className),
|
|
76
|
+
...props
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Product name / title.
|
|
81
|
+
*/
|
|
82
|
+
function ProductCardTitle({ className, ...props }) {
|
|
83
|
+
return /* @__PURE__ */ jsx("p", {
|
|
84
|
+
"data-slot": "product-card-title",
|
|
85
|
+
className: cn("line-clamp-2 text-sm font-medium text-foreground", className),
|
|
86
|
+
...props
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Secondary text (category, brand, etc.).
|
|
91
|
+
*/
|
|
92
|
+
function ProductCardSubtitle({ className, ...props }) {
|
|
93
|
+
return /* @__PURE__ */ jsx("p", {
|
|
94
|
+
"data-slot": "product-card-subtitle",
|
|
95
|
+
className: cn("truncate text-sm text-muted-foreground", className),
|
|
96
|
+
...props
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Price display.
|
|
101
|
+
*/
|
|
102
|
+
function ProductCardPrice({ className, ...props }) {
|
|
103
|
+
return /* @__PURE__ */ jsx("span", {
|
|
104
|
+
"data-slot": "product-card-price",
|
|
105
|
+
className: cn("text-sm font-medium text-foreground", className),
|
|
106
|
+
...props
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
//#endregion
|
|
110
|
+
export { ProductCardContent, ProductCardFavoriteButton, ProductCardImage, ProductCardImageArea, ProductCardPrice, ProductCardRoot, ProductCardSubtitle, ProductCardTag, ProductCardTitle };
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=product-card-parts.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-card-parts.mjs","names":[],"sources":["../../../../src/client/storefront/blocks/product-card-parts.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"../../ui/utils\";\n\n/* ─── ProductCard compound sub-components ─── */\n\n/**\n * Root container for a composable product card.\n * Provides group context for hover effects and overflow handling.\n */\nfunction ProductCardRoot({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"product-card\"\n className={cn(\n \"enad-interactive group overflow-hidden rounded-[var(--enad-card-radius)]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Container for the product image area.\n * Use as a wrapper for ProductCardImage, ProductCardTag, and ProductCardFavoriteButton.\n */\nfunction ProductCardImageArea({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"product-card-image-area\"\n className={cn(\"relative bg-muted\", className)}\n {...props}\n />\n );\n}\n\n/**\n * Product image with lazy loading.\n */\nfunction ProductCardImage({\n className,\n alt = \"\",\n loading = \"lazy\",\n ...props\n}: React.ComponentProps<\"img\">) {\n return (\n <img\n data-slot=\"product-card-image\"\n alt={alt}\n loading={loading}\n className={cn(\"size-full object-cover\", className)}\n {...props}\n />\n );\n}\n\n/**\n * Badge overlay for product status (Sale, New, etc.).\n * Positioned absolutely within ProductCardImageArea by default.\n */\nfunction ProductCardTag({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"product-card-tag\"\n className={cn(\n \"absolute start-3 top-3 rounded-[var(--enad-card-radius)] bg-background/90 px-2 py-0.5 text-xs font-medium text-foreground\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Favorite/wishlist toggle button.\n * Stops event propagation by default (safe inside links).\n */\nfunction ProductCardFavoriteButton({\n className,\n onClick,\n ...props\n}: React.ComponentProps<\"button\">) {\n return (\n <button\n type=\"button\"\n data-slot=\"product-card-favorite\"\n className={cn(\n \"rounded-full bg-background/80 p-1.5 text-foreground transition-colors hover:bg-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n className,\n )}\n aria-label=\"Add to favorites\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n onClick?.(e);\n }}\n {...props}\n />\n );\n}\n\n/**\n * Container for product text content (title, subtitle, price).\n */\nfunction ProductCardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"product-card-content\"\n className={cn(\"flex min-w-0 flex-col gap-0.5 p-3\", className)}\n {...props}\n />\n );\n}\n\n/**\n * Product name / title.\n */\nfunction ProductCardTitle({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"product-card-title\"\n className={cn(\"line-clamp-2 text-sm font-medium text-foreground\", className)}\n {...props}\n />\n );\n}\n\n/**\n * Secondary text (category, brand, etc.).\n */\nfunction ProductCardSubtitle({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"product-card-subtitle\"\n className={cn(\"truncate text-sm text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\n/**\n * Price display.\n */\nfunction ProductCardPrice({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"product-card-price\"\n className={cn(\"text-sm font-medium text-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport {\n ProductCardRoot,\n ProductCardImageArea,\n ProductCardImage,\n ProductCardTag,\n ProductCardFavoriteButton,\n ProductCardContent,\n ProductCardTitle,\n ProductCardSubtitle,\n ProductCardPrice,\n};\n"],"mappings":";;;;;;;;;AAWA,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAsC;AAC7E,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,4EACA,UACD;EACD,GAAI;EACJ,CAAA;;;;;;AAQN,SAAS,qBAAqB,EAAE,WAAW,GAAG,SAAsC;AAClF,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,qBAAqB,UAAU;EAC7C,GAAI;EACJ,CAAA;;;;;AAON,SAAS,iBAAiB,EACxB,WACA,MAAM,IACN,UAAU,QACV,GAAG,SAC2B;AAC9B,QACE,oBAAC,OAAD;EACE,aAAU;EACL;EACI;EACT,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;EACJ,CAAA;;;;;;AAQN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAuC;AAC7E,QACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GACT,6HACA,UACD;EACD,GAAI;EACJ,CAAA;;;;;;AAQN,SAAS,0BAA0B,EACjC,WACA,SACA,GAAG,SAC8B;AACjC,QACE,oBAAC,UAAD;EACE,MAAK;EACL,aAAU;EACV,WAAW,GACT,qKACA,UACD;EACD,cAAW;EACX,UAAU,MAAM;AACd,KAAE,gBAAgB;AAClB,KAAE,iBAAiB;AACnB,aAAU,EAAE;;EAEd,GAAI;EACJ,CAAA;;;;;AAON,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAsC;AAChF,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,qCAAqC,UAAU;EAC7D,GAAI;EACJ,CAAA;;;;;AAON,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAoC;AAC5E,QACE,oBAAC,KAAD;EACE,aAAU;EACV,WAAW,GAAG,oDAAoD,UAAU;EAC5E,GAAI;EACJ,CAAA;;;;;AAON,SAAS,oBAAoB,EAAE,WAAW,GAAG,SAAoC;AAC/E,QACE,oBAAC,KAAD;EACE,aAAU;EACV,WAAW,GAAG,0CAA0C,UAAU;EAClE,GAAI;EACJ,CAAA;;;;;AAON,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAuC;AAC/E,QACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GAAG,uCAAuC,UAAU;EAC/D,GAAI;EACJ,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ProductCardProps } from "../types.js";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/client/storefront/blocks/product-card.d.ts
|
|
5
|
+
declare function ProductCard(props: ProductCardProps): react_jsx_runtime0.JSX.Element;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { ProductCard, type ProductCardProps };
|
|
8
|
+
//# sourceMappingURL=product-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-card.d.ts","names":[],"sources":["../../../../src/client/storefront/blocks/product-card.tsx"],"mappings":";;;;iBAoSS,WAAA,CAAY,KAAA,EAAO,gBAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useIcon } from "../../icons/icon-context.mjs";
|
|
3
|
+
import { cn } from "../../ui/utils.mjs";
|
|
4
|
+
import { useVariantDefault } from "../../ui-resolver/context.mjs";
|
|
5
|
+
import { SwipeableCarousel } from "../carousel/swipeable-carousel.mjs";
|
|
6
|
+
import { ProductCardContent, ProductCardFavoriteButton, ProductCardImage, ProductCardImageArea, ProductCardPrice, ProductCardRoot, ProductCardSubtitle, ProductCardTag, ProductCardTitle } from "./product-card-parts.mjs";
|
|
7
|
+
import "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
//#region src/client/storefront/blocks/product-card.tsx
|
|
10
|
+
function OptionalLink({ href, radiusClass, children }) {
|
|
11
|
+
if (!href) return children;
|
|
12
|
+
return /* @__PURE__ */ jsx("a", {
|
|
13
|
+
href,
|
|
14
|
+
className: cn("block focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", radiusClass),
|
|
15
|
+
children
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function FallbackImage() {
|
|
19
|
+
return /* @__PURE__ */ jsx(ProductCardImageArea, {
|
|
20
|
+
className: "aspect-[var(--enad-image-product-aspect)]",
|
|
21
|
+
"aria-hidden": "true"
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function GalleryImageArea({ imageElements, fallback, showPaginationDots }) {
|
|
25
|
+
if (imageElements.length > 1) return /* @__PURE__ */ jsx(SwipeableCarousel, {
|
|
26
|
+
items: imageElements,
|
|
27
|
+
showDots: showPaginationDots
|
|
28
|
+
});
|
|
29
|
+
if (imageElements.length === 1) return imageElements[0];
|
|
30
|
+
return fallback;
|
|
31
|
+
}
|
|
32
|
+
function HorizontalCard({ images = [], title, subtitle, price, tag, href, showFavorites = false, onFavoriteClick, className, HeartIcon }) {
|
|
33
|
+
return /* @__PURE__ */ jsx(OptionalLink, {
|
|
34
|
+
href,
|
|
35
|
+
children: /* @__PURE__ */ jsxs(ProductCardRoot, {
|
|
36
|
+
className: cn("flex shadow-[var(--enad-card-shadow)] transition-shadow duration-[var(--enad-motion-duration)] hover:shadow-[var(--enad-card-hover-shadow)]", className),
|
|
37
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
38
|
+
className: "relative w-1/3 shrink-0",
|
|
39
|
+
children: [images[0] ? /* @__PURE__ */ jsx(ProductCardImageArea, {
|
|
40
|
+
className: "aspect-[var(--enad-image-product-aspect)]",
|
|
41
|
+
children: /* @__PURE__ */ jsx(ProductCardImage, {
|
|
42
|
+
src: images[0].src,
|
|
43
|
+
alt: images[0].alt ?? title ?? "",
|
|
44
|
+
className: "transition-transform duration-[var(--enad-image-hover-duration)] group-hover:scale-[var(--enad-image-hover-scale)]"
|
|
45
|
+
})
|
|
46
|
+
}) : /* @__PURE__ */ jsx(FallbackImage, {}), tag && /* @__PURE__ */ jsx(ProductCardTag, {
|
|
47
|
+
className: "start-2 top-2",
|
|
48
|
+
children: tag
|
|
49
|
+
})]
|
|
50
|
+
}), /* @__PURE__ */ jsxs(ProductCardContent, {
|
|
51
|
+
className: "flex-1 justify-center gap-0 p-4 md:p-6",
|
|
52
|
+
children: [
|
|
53
|
+
title && /* @__PURE__ */ jsx(ProductCardTitle, {
|
|
54
|
+
className: "text-base",
|
|
55
|
+
children: title
|
|
56
|
+
}),
|
|
57
|
+
subtitle && /* @__PURE__ */ jsx(ProductCardSubtitle, {
|
|
58
|
+
className: "mt-1",
|
|
59
|
+
children: subtitle
|
|
60
|
+
}),
|
|
61
|
+
price && /* @__PURE__ */ jsx(ProductCardPrice, {
|
|
62
|
+
className: "mt-2 text-base",
|
|
63
|
+
children: price
|
|
64
|
+
}),
|
|
65
|
+
showFavorites && /* @__PURE__ */ jsx(ProductCardFavoriteButton, {
|
|
66
|
+
className: "mt-3 self-start bg-muted hover:bg-accent",
|
|
67
|
+
onClick: () => onFavoriteClick?.(),
|
|
68
|
+
children: /* @__PURE__ */ jsx(HeartIcon, { className: "size-4" })
|
|
69
|
+
})
|
|
70
|
+
]
|
|
71
|
+
})]
|
|
72
|
+
})
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function MinimalCard({ images = [], title, price, tag, href, showFavorites = false, onFavoriteClick, className, HeartIcon }) {
|
|
76
|
+
return /* @__PURE__ */ jsx(OptionalLink, {
|
|
77
|
+
href,
|
|
78
|
+
radiusClass: "rounded-[var(--enad-card-radius)]",
|
|
79
|
+
children: /* @__PURE__ */ jsxs(ProductCardRoot, {
|
|
80
|
+
className: cn("relative", className),
|
|
81
|
+
children: [
|
|
82
|
+
images[0] ? /* @__PURE__ */ jsx(ProductCardImageArea, {
|
|
83
|
+
className: "aspect-[var(--enad-image-product-aspect)]",
|
|
84
|
+
children: /* @__PURE__ */ jsx(ProductCardImage, {
|
|
85
|
+
src: images[0].src,
|
|
86
|
+
alt: images[0].alt ?? title ?? "",
|
|
87
|
+
className: "transition-transform duration-[var(--enad-image-hover-duration)] group-hover:scale-[var(--enad-image-hover-scale)]"
|
|
88
|
+
})
|
|
89
|
+
}) : /* @__PURE__ */ jsx(FallbackImage, {}),
|
|
90
|
+
tag && /* @__PURE__ */ jsx(ProductCardTag, {
|
|
91
|
+
className: "z-10",
|
|
92
|
+
children: tag
|
|
93
|
+
}),
|
|
94
|
+
showFavorites && /* @__PURE__ */ jsx(ProductCardFavoriteButton, {
|
|
95
|
+
className: "absolute end-3 top-3 z-10",
|
|
96
|
+
onClick: () => onFavoriteClick?.(),
|
|
97
|
+
children: /* @__PURE__ */ jsx(HeartIcon, { className: "size-4" })
|
|
98
|
+
}),
|
|
99
|
+
/* @__PURE__ */ jsxs("div", {
|
|
100
|
+
className: "absolute inset-x-0 bottom-0 min-w-0 translate-y-full p-4 transition-transform duration-[var(--enad-motion-duration)] group-hover:translate-y-0",
|
|
101
|
+
style: { background: "linear-gradient(to top, color-mix(in oklch, var(--enad-overlay-color) calc(var(--enad-overlay-from-opacity) * 100%), transparent), transparent)" },
|
|
102
|
+
children: [title && /* @__PURE__ */ jsx(ProductCardTitle, {
|
|
103
|
+
className: "text-white",
|
|
104
|
+
children: title
|
|
105
|
+
}), price && /* @__PURE__ */ jsx(ProductCardPrice, {
|
|
106
|
+
className: "mt-0.5 text-white/80",
|
|
107
|
+
children: price
|
|
108
|
+
})]
|
|
109
|
+
})
|
|
110
|
+
]
|
|
111
|
+
})
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
function ListCard({ images = [], title, subtitle, price, href, className }) {
|
|
115
|
+
return /* @__PURE__ */ jsx(OptionalLink, {
|
|
116
|
+
href,
|
|
117
|
+
children: /* @__PURE__ */ jsxs(ProductCardRoot, {
|
|
118
|
+
className: cn("flex shadow-none", className),
|
|
119
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
120
|
+
className: "w-32 shrink-0",
|
|
121
|
+
children: images[0] ? /* @__PURE__ */ jsx(ProductCardImageArea, {
|
|
122
|
+
className: "aspect-[var(--enad-image-product-aspect)]",
|
|
123
|
+
children: /* @__PURE__ */ jsx(ProductCardImage, {
|
|
124
|
+
src: images[0].src,
|
|
125
|
+
alt: images[0].alt ?? title ?? ""
|
|
126
|
+
})
|
|
127
|
+
}) : /* @__PURE__ */ jsx(FallbackImage, {})
|
|
128
|
+
}), /* @__PURE__ */ jsxs(ProductCardContent, {
|
|
129
|
+
className: "flex-1 justify-center p-4",
|
|
130
|
+
children: [
|
|
131
|
+
title && /* @__PURE__ */ jsx(ProductCardTitle, { children: title }),
|
|
132
|
+
subtitle && /* @__PURE__ */ jsx(ProductCardSubtitle, {
|
|
133
|
+
className: "mt-0.5",
|
|
134
|
+
children: subtitle
|
|
135
|
+
}),
|
|
136
|
+
price && /* @__PURE__ */ jsx(ProductCardPrice, {
|
|
137
|
+
className: "mt-1",
|
|
138
|
+
children: price
|
|
139
|
+
})
|
|
140
|
+
]
|
|
141
|
+
})]
|
|
142
|
+
})
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
function StrippedCard({ images = [], title, price, href, className }) {
|
|
146
|
+
return /* @__PURE__ */ jsx(OptionalLink, {
|
|
147
|
+
href,
|
|
148
|
+
children: /* @__PURE__ */ jsxs(ProductCardRoot, {
|
|
149
|
+
className: cn("rounded-none shadow-none", className),
|
|
150
|
+
children: [
|
|
151
|
+
/* @__PURE__ */ jsx("div", {
|
|
152
|
+
className: "relative overflow-hidden",
|
|
153
|
+
children: images[0] ? /* @__PURE__ */ jsx(ProductCardImageArea, {
|
|
154
|
+
className: "aspect-[var(--enad-image-product-aspect)]",
|
|
155
|
+
children: /* @__PURE__ */ jsx(ProductCardImage, {
|
|
156
|
+
src: images[0].src,
|
|
157
|
+
alt: images[0].alt ?? title ?? "",
|
|
158
|
+
className: "transition-transform duration-[var(--enad-image-hover-duration)] group-hover:scale-[var(--enad-image-hover-scale)]"
|
|
159
|
+
})
|
|
160
|
+
}) : /* @__PURE__ */ jsx(FallbackImage, {})
|
|
161
|
+
}),
|
|
162
|
+
title && /* @__PURE__ */ jsx(ProductCardTitle, {
|
|
163
|
+
className: "mt-2",
|
|
164
|
+
children: title
|
|
165
|
+
}),
|
|
166
|
+
price && /* @__PURE__ */ jsx(ProductCardPrice, {
|
|
167
|
+
className: "text-muted-foreground",
|
|
168
|
+
children: price
|
|
169
|
+
})
|
|
170
|
+
]
|
|
171
|
+
})
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
function GalleryCard({ images = [], title, subtitle, price, tag, href, showFavorites = false, showPaginationDots = true, onFavoriteClick, className, HeartIcon }) {
|
|
175
|
+
const imageElements = images.map((img, i) => /* @__PURE__ */ jsx(ProductCardImageArea, {
|
|
176
|
+
className: "aspect-[var(--enad-image-product-aspect)]",
|
|
177
|
+
children: /* @__PURE__ */ jsx(ProductCardImage, {
|
|
178
|
+
src: img.src,
|
|
179
|
+
alt: img.alt ?? title ?? ""
|
|
180
|
+
})
|
|
181
|
+
}, i));
|
|
182
|
+
return /* @__PURE__ */ jsx(OptionalLink, {
|
|
183
|
+
href,
|
|
184
|
+
children: /* @__PURE__ */ jsxs(ProductCardRoot, {
|
|
185
|
+
className: cn("shadow-none", className),
|
|
186
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
187
|
+
className: "relative",
|
|
188
|
+
children: [
|
|
189
|
+
/* @__PURE__ */ jsx(GalleryImageArea, {
|
|
190
|
+
imageElements,
|
|
191
|
+
fallback: /* @__PURE__ */ jsx(FallbackImage, {}),
|
|
192
|
+
showPaginationDots
|
|
193
|
+
}),
|
|
194
|
+
tag && /* @__PURE__ */ jsx(ProductCardTag, { children: tag }),
|
|
195
|
+
showFavorites && /* @__PURE__ */ jsx(ProductCardFavoriteButton, {
|
|
196
|
+
className: "absolute end-3 top-3",
|
|
197
|
+
onClick: () => onFavoriteClick?.(),
|
|
198
|
+
children: /* @__PURE__ */ jsx(HeartIcon, { className: "size-4" })
|
|
199
|
+
})
|
|
200
|
+
]
|
|
201
|
+
}), /* @__PURE__ */ jsxs(ProductCardContent, { children: [
|
|
202
|
+
title && /* @__PURE__ */ jsx(ProductCardTitle, { children: title }),
|
|
203
|
+
subtitle && /* @__PURE__ */ jsx(ProductCardSubtitle, { children: subtitle }),
|
|
204
|
+
price && /* @__PURE__ */ jsx(ProductCardPrice, { children: price })
|
|
205
|
+
] })]
|
|
206
|
+
})
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
function ProductCard(props) {
|
|
210
|
+
const cardDefault = useVariantDefault("productCard");
|
|
211
|
+
const HeartIcon = useIcon("heart");
|
|
212
|
+
const layout = props.layout ?? cardDefault ?? "gallery";
|
|
213
|
+
const layoutProps = {
|
|
214
|
+
...props,
|
|
215
|
+
HeartIcon
|
|
216
|
+
};
|
|
217
|
+
switch (layout) {
|
|
218
|
+
case "horizontal": return /* @__PURE__ */ jsx(HorizontalCard, { ...layoutProps });
|
|
219
|
+
case "minimal": return /* @__PURE__ */ jsx(MinimalCard, { ...layoutProps });
|
|
220
|
+
case "list": return /* @__PURE__ */ jsx(ListCard, { ...layoutProps });
|
|
221
|
+
case "stripped": return /* @__PURE__ */ jsx(StrippedCard, { ...layoutProps });
|
|
222
|
+
default: return /* @__PURE__ */ jsx(GalleryCard, { ...layoutProps });
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
//#endregion
|
|
226
|
+
export { ProductCard };
|
|
227
|
+
|
|
228
|
+
//# sourceMappingURL=product-card.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-card.mjs","names":[],"sources":["../../../../src/client/storefront/blocks/product-card.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { useIcon } from \"../../icons/icon-context\";\nimport { cn } from \"../../ui/utils\";\nimport { useVariantDefault } from \"../../ui-resolver/context\";\nimport { SwipeableCarousel } from \"../carousel/swipeable-carousel\";\nimport type { ProductCardProps } from \"../types\";\nimport {\n ProductCardContent,\n ProductCardFavoriteButton,\n ProductCardImage,\n ProductCardImageArea,\n ProductCardPrice,\n ProductCardRoot,\n ProductCardSubtitle,\n ProductCardTag,\n ProductCardTitle,\n} from \"./product-card-parts\";\n\n/* ─── Shared helpers ─── */\n\ntype CardLayoutProps = ProductCardProps & {\n HeartIcon: React.ComponentType<{ className?: string }>;\n};\n\nfunction OptionalLink({\n href,\n radiusClass,\n children,\n}: {\n href?: string;\n radiusClass?: string;\n children: React.ReactNode;\n}) {\n if (!href) return children;\n return (\n <a\n href={href}\n className={cn(\n \"block focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n radiusClass,\n )}\n >\n {children}\n </a>\n );\n}\n\nfunction FallbackImage() {\n return (\n <ProductCardImageArea\n className=\"aspect-[var(--enad-image-product-aspect)]\"\n aria-hidden=\"true\"\n />\n );\n}\n\n/* ─── Gallery image element helper ─── */\n\nfunction GalleryImageArea({\n imageElements,\n fallback,\n showPaginationDots,\n}: {\n imageElements: React.ReactNode[];\n fallback: React.ReactNode;\n showPaginationDots: boolean;\n}) {\n if (imageElements.length > 1) {\n return <SwipeableCarousel items={imageElements} showDots={showPaginationDots} />;\n }\n if (imageElements.length === 1) {\n return imageElements[0];\n }\n return fallback;\n}\n\n/* ─── Horizontal layout ─── */\n\nfunction HorizontalCard({\n images = [],\n title,\n subtitle,\n price,\n tag,\n href,\n showFavorites = false,\n onFavoriteClick,\n className,\n HeartIcon,\n}: CardLayoutProps) {\n const content = (\n <ProductCardRoot\n className={cn(\n \"flex shadow-[var(--enad-card-shadow)] transition-shadow duration-[var(--enad-motion-duration)] hover:shadow-[var(--enad-card-hover-shadow)]\",\n className,\n )}\n >\n <div className=\"relative w-1/3 shrink-0\">\n {images[0] ? (\n <ProductCardImageArea className=\"aspect-[var(--enad-image-product-aspect)]\">\n <ProductCardImage\n src={images[0].src}\n alt={images[0].alt ?? title ?? \"\"}\n className=\"transition-transform duration-[var(--enad-image-hover-duration)] group-hover:scale-[var(--enad-image-hover-scale)]\"\n />\n </ProductCardImageArea>\n ) : (\n <FallbackImage />\n )}\n {tag && <ProductCardTag className=\"start-2 top-2\">{tag}</ProductCardTag>}\n </div>\n <ProductCardContent className=\"flex-1 justify-center gap-0 p-4 md:p-6\">\n {title && <ProductCardTitle className=\"text-base\">{title}</ProductCardTitle>}\n {subtitle && <ProductCardSubtitle className=\"mt-1\">{subtitle}</ProductCardSubtitle>}\n {price && <ProductCardPrice className=\"mt-2 text-base\">{price}</ProductCardPrice>}\n {showFavorites && (\n <ProductCardFavoriteButton\n className=\"mt-3 self-start bg-muted hover:bg-accent\"\n onClick={() => onFavoriteClick?.()}\n >\n <HeartIcon className=\"size-4\" />\n </ProductCardFavoriteButton>\n )}\n </ProductCardContent>\n </ProductCardRoot>\n );\n return <OptionalLink href={href}>{content}</OptionalLink>;\n}\n\n/* ─── Minimal layout ─── */\n\nfunction MinimalCard({\n images = [],\n title,\n price,\n tag,\n href,\n showFavorites = false,\n onFavoriteClick,\n className,\n HeartIcon,\n}: CardLayoutProps) {\n const content = (\n <ProductCardRoot className={cn(\"relative\", className)}>\n {images[0] ? (\n <ProductCardImageArea className=\"aspect-[var(--enad-image-product-aspect)]\">\n <ProductCardImage\n src={images[0].src}\n alt={images[0].alt ?? title ?? \"\"}\n className=\"transition-transform duration-[var(--enad-image-hover-duration)] group-hover:scale-[var(--enad-image-hover-scale)]\"\n />\n </ProductCardImageArea>\n ) : (\n <FallbackImage />\n )}\n\n {tag && <ProductCardTag className=\"z-10\">{tag}</ProductCardTag>}\n\n {showFavorites && (\n <ProductCardFavoriteButton\n className=\"absolute end-3 top-3 z-10\"\n onClick={() => onFavoriteClick?.()}\n >\n <HeartIcon className=\"size-4\" />\n </ProductCardFavoriteButton>\n )}\n\n {/* Hover overlay with product info */}\n <div\n className=\"absolute inset-x-0 bottom-0 min-w-0 translate-y-full p-4 transition-transform duration-[var(--enad-motion-duration)] group-hover:translate-y-0\"\n style={{\n background:\n \"linear-gradient(to top, color-mix(in oklch, var(--enad-overlay-color) calc(var(--enad-overlay-from-opacity) * 100%), transparent), transparent)\",\n }}\n >\n {title && <ProductCardTitle className=\"text-white\">{title}</ProductCardTitle>}\n {price && <ProductCardPrice className=\"mt-0.5 text-white/80\">{price}</ProductCardPrice>}\n </div>\n </ProductCardRoot>\n );\n return (\n <OptionalLink href={href} radiusClass=\"rounded-[var(--enad-card-radius)]\">\n {content}\n </OptionalLink>\n );\n}\n\n/* ─── List layout ─── */\n\nfunction ListCard({ images = [], title, subtitle, price, href, className }: CardLayoutProps) {\n const content = (\n <ProductCardRoot className={cn(\"flex shadow-none\", className)}>\n <div className=\"w-32 shrink-0\">\n {images[0] ? (\n <ProductCardImageArea className=\"aspect-[var(--enad-image-product-aspect)]\">\n <ProductCardImage src={images[0].src} alt={images[0].alt ?? title ?? \"\"} />\n </ProductCardImageArea>\n ) : (\n <FallbackImage />\n )}\n </div>\n <ProductCardContent className=\"flex-1 justify-center p-4\">\n {title && <ProductCardTitle>{title}</ProductCardTitle>}\n {subtitle && <ProductCardSubtitle className=\"mt-0.5\">{subtitle}</ProductCardSubtitle>}\n {price && <ProductCardPrice className=\"mt-1\">{price}</ProductCardPrice>}\n </ProductCardContent>\n </ProductCardRoot>\n );\n return <OptionalLink href={href}>{content}</OptionalLink>;\n}\n\n/* ─── Stripped layout ─── */\n\nfunction StrippedCard({ images = [], title, price, href, className }: CardLayoutProps) {\n const content = (\n <ProductCardRoot className={cn(\"rounded-none shadow-none\", className)}>\n <div className=\"relative overflow-hidden\">\n {images[0] ? (\n <ProductCardImageArea className=\"aspect-[var(--enad-image-product-aspect)]\">\n <ProductCardImage\n src={images[0].src}\n alt={images[0].alt ?? title ?? \"\"}\n className=\"transition-transform duration-[var(--enad-image-hover-duration)] group-hover:scale-[var(--enad-image-hover-scale)]\"\n />\n </ProductCardImageArea>\n ) : (\n <FallbackImage />\n )}\n </div>\n {title && <ProductCardTitle className=\"mt-2\">{title}</ProductCardTitle>}\n {price && <ProductCardPrice className=\"text-muted-foreground\">{price}</ProductCardPrice>}\n </ProductCardRoot>\n );\n return <OptionalLink href={href}>{content}</OptionalLink>;\n}\n\n/* ─── Gallery layout (default) ─── */\n\nfunction GalleryCard({\n images = [],\n title,\n subtitle,\n price,\n tag,\n href,\n showFavorites = false,\n showPaginationDots = true,\n onFavoriteClick,\n className,\n HeartIcon,\n}: CardLayoutProps) {\n const imageElements = images.map((img, i) => (\n <ProductCardImageArea key={i} className=\"aspect-[var(--enad-image-product-aspect)]\">\n <ProductCardImage src={img.src} alt={img.alt ?? title ?? \"\"} />\n </ProductCardImageArea>\n ));\n\n const content = (\n <ProductCardRoot className={cn(\"shadow-none\", className)}>\n <div className=\"relative\">\n <GalleryImageArea\n imageElements={imageElements}\n fallback={<FallbackImage />}\n showPaginationDots={showPaginationDots}\n />\n\n {tag && <ProductCardTag>{tag}</ProductCardTag>}\n\n {showFavorites && (\n <ProductCardFavoriteButton\n className=\"absolute end-3 top-3\"\n onClick={() => onFavoriteClick?.()}\n >\n <HeartIcon className=\"size-4\" />\n </ProductCardFavoriteButton>\n )}\n </div>\n\n <ProductCardContent>\n {title && <ProductCardTitle>{title}</ProductCardTitle>}\n {subtitle && <ProductCardSubtitle>{subtitle}</ProductCardSubtitle>}\n {price && <ProductCardPrice>{price}</ProductCardPrice>}\n </ProductCardContent>\n </ProductCardRoot>\n );\n return <OptionalLink href={href}>{content}</OptionalLink>;\n}\n\n/* ─── Main component (dispatcher) ─── */\n\nfunction ProductCard(props: ProductCardProps) {\n const cardDefault = useVariantDefault(\"productCard\");\n const HeartIcon = useIcon(\"heart\");\n const layout = props.layout ?? cardDefault ?? \"gallery\";\n const layoutProps: CardLayoutProps = { ...props, HeartIcon };\n\n switch (layout) {\n case \"horizontal\":\n return <HorizontalCard {...layoutProps} />;\n case \"minimal\":\n return <MinimalCard {...layoutProps} />;\n case \"list\":\n return <ListCard {...layoutProps} />;\n case \"stripped\":\n return <StrippedCard {...layoutProps} />;\n default:\n return <GalleryCard {...layoutProps} />;\n }\n}\n\nexport { ProductCard, type ProductCardProps };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ProductImageProps } from "../types.js";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/client/storefront/blocks/product-image.d.ts
|
|
5
|
+
declare function ProductImage({
|
|
6
|
+
images,
|
|
7
|
+
aspectRatio,
|
|
8
|
+
showZoom,
|
|
9
|
+
arrows,
|
|
10
|
+
showDots,
|
|
11
|
+
showThumbnails,
|
|
12
|
+
className
|
|
13
|
+
}: ProductImageProps): react_jsx_runtime0.JSX.Element;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { ProductImage, type ProductImageProps };
|
|
16
|
+
//# sourceMappingURL=product-image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-image.d.ts","names":[],"sources":["../../../../src/client/storefront/blocks/product-image.tsx"],"mappings":";;;;iBAgBS,YAAA,CAAA;EACP,MAAA;EACA,WAAA;EACA,QAAA;EACA,MAAA;EACA,QAAA;EACA,cAAA;EACA;AAAA,GACC,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../../ui/utils.mjs";
|
|
3
|
+
import { SwipeableCarousel } from "../carousel/swipeable-carousel.mjs";
|
|
4
|
+
import * as React$1 from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/client/storefront/blocks/product-image.tsx
|
|
7
|
+
const aspectClasses = {
|
|
8
|
+
"1:1": "aspect-square",
|
|
9
|
+
"4:5": "aspect-[4/5]"
|
|
10
|
+
};
|
|
11
|
+
function getZoomLabel(zoomed) {
|
|
12
|
+
return zoomed ? "Zoom out" : "Zoom in";
|
|
13
|
+
}
|
|
14
|
+
function ProductImage({ images, aspectRatio = "4:5", showZoom = false, arrows = "outset", showDots = true, showThumbnails = false, className }) {
|
|
15
|
+
const [zoomed, setZoomed] = React$1.useState(false);
|
|
16
|
+
const [activeSlide, setActiveSlide] = React$1.useState(0);
|
|
17
|
+
const toggleZoom = () => {
|
|
18
|
+
if (showZoom) setZoomed((z) => !z);
|
|
19
|
+
};
|
|
20
|
+
const handleZoomKeyDown = (e) => {
|
|
21
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
22
|
+
e.preventDefault();
|
|
23
|
+
toggleZoom();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const imageElements = images.map((img, i) => /* @__PURE__ */ jsx("div", {
|
|
27
|
+
className: cn("relative overflow-hidden bg-muted", aspectClasses[aspectRatio], showZoom && (zoomed ? "cursor-zoom-out" : "cursor-zoom-in")),
|
|
28
|
+
...showZoom && {
|
|
29
|
+
role: "button",
|
|
30
|
+
tabIndex: 0,
|
|
31
|
+
"aria-label": getZoomLabel(zoomed),
|
|
32
|
+
onClick: toggleZoom,
|
|
33
|
+
onKeyDown: handleZoomKeyDown
|
|
34
|
+
},
|
|
35
|
+
children: /* @__PURE__ */ jsx("img", {
|
|
36
|
+
src: img.src,
|
|
37
|
+
alt: img.alt ?? "",
|
|
38
|
+
className: cn("size-full object-cover transition-transform duration-[var(--enad-image-hover-duration)]", zoomed && "scale-150")
|
|
39
|
+
})
|
|
40
|
+
}, i));
|
|
41
|
+
if (images.length === 0) return /* @__PURE__ */ jsx("div", { className: cn("bg-muted", aspectClasses[aspectRatio], className) });
|
|
42
|
+
if (images.length === 1) return /* @__PURE__ */ jsx("div", {
|
|
43
|
+
className,
|
|
44
|
+
children: imageElements[0]
|
|
45
|
+
});
|
|
46
|
+
const carousel = /* @__PURE__ */ jsx(SwipeableCarousel, {
|
|
47
|
+
items: imageElements,
|
|
48
|
+
arrows,
|
|
49
|
+
showDots,
|
|
50
|
+
activeSlide,
|
|
51
|
+
onSlideChange: setActiveSlide
|
|
52
|
+
});
|
|
53
|
+
if (showThumbnails && images.length > 1) return /* @__PURE__ */ jsxs("div", {
|
|
54
|
+
className: cn("flex gap-3", className),
|
|
55
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
56
|
+
className: "hidden md:flex flex-col gap-2 w-16 shrink-0",
|
|
57
|
+
children: images.map((img, i) => /* @__PURE__ */ jsx("button", {
|
|
58
|
+
type: "button",
|
|
59
|
+
"aria-label": `View image ${i + 1}`,
|
|
60
|
+
onClick: () => setActiveSlide(i),
|
|
61
|
+
className: cn("relative aspect-square overflow-hidden rounded-[var(--enad-card-radius)] border-2 transition", i === activeSlide ? "border-primary ring-1 ring-primary/30" : "border-transparent opacity-60 hover:opacity-100"),
|
|
62
|
+
children: /* @__PURE__ */ jsx("img", {
|
|
63
|
+
src: img.src,
|
|
64
|
+
alt: img.alt ?? "",
|
|
65
|
+
className: "size-full object-cover"
|
|
66
|
+
})
|
|
67
|
+
}, i))
|
|
68
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
69
|
+
className: "min-w-0 flex-1",
|
|
70
|
+
children: carousel
|
|
71
|
+
})]
|
|
72
|
+
});
|
|
73
|
+
return /* @__PURE__ */ jsx("div", {
|
|
74
|
+
className,
|
|
75
|
+
children: carousel
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
//#endregion
|
|
79
|
+
export { ProductImage };
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=product-image.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-image.mjs","names":["React"],"sources":["../../../../src/client/storefront/blocks/product-image.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"../../ui/utils\"\nimport { SwipeableCarousel } from \"../carousel/swipeable-carousel\"\nimport type { ProductImageProps } from \"../types\"\n\nconst aspectClasses: Record<string, string> = {\n \"1:1\": \"aspect-square\",\n \"4:5\": \"aspect-[4/5]\",\n}\n\nfunction getZoomLabel(zoomed: boolean): string {\n return zoomed ? \"Zoom out\" : \"Zoom in\"\n}\n\nfunction ProductImage({\n images,\n aspectRatio = \"4:5\",\n showZoom = false,\n arrows = \"outset\",\n showDots = true,\n showThumbnails = false,\n className,\n}: ProductImageProps) {\n const [zoomed, setZoomed] = React.useState(false)\n const [activeSlide, setActiveSlide] = React.useState(0)\n\n const toggleZoom = () => {\n if (showZoom) setZoomed((z) => !z)\n }\n\n const handleZoomKeyDown = (e: React.KeyboardEvent) => { if (e.key === \"Enter\" || e.key === \" \") { e.preventDefault(); toggleZoom() } }\n\n const imageElements = images.map((img, i) => (\n <div\n key={i}\n className={cn(\n \"relative overflow-hidden bg-muted\",\n aspectClasses[aspectRatio],\n showZoom && (zoomed ? \"cursor-zoom-out\" : \"cursor-zoom-in\"),\n )}\n {...(showZoom && {\n role: \"button\" as const,\n tabIndex: 0,\n \"aria-label\": getZoomLabel(zoomed),\n onClick: toggleZoom,\n onKeyDown: handleZoomKeyDown,\n })}\n >\n <img\n src={img.src}\n alt={img.alt ?? \"\"}\n className={cn(\n \"size-full object-cover transition-transform duration-[var(--enad-image-hover-duration)]\",\n zoomed && \"scale-150\",\n )}\n />\n </div>\n ))\n\n if (images.length === 0) {\n return (\n <div className={cn(\"bg-muted\", aspectClasses[aspectRatio], className)} />\n )\n }\n\n if (images.length === 1) {\n return <div className={className}>{imageElements[0]}</div>\n }\n\n const carousel = (\n <SwipeableCarousel\n items={imageElements}\n arrows={arrows}\n showDots={showDots}\n activeSlide={activeSlide}\n onSlideChange={setActiveSlide}\n />\n )\n\n if (showThumbnails && images.length > 1) {\n return (\n <div className={cn(\"flex gap-3\", className)}>\n <div className=\"hidden md:flex flex-col gap-2 w-16 shrink-0\">\n {images.map((img, i) => (\n <button\n key={i}\n type=\"button\"\n aria-label={`View image ${i + 1}`}\n onClick={() => setActiveSlide(i)}\n className={cn(\n \"relative aspect-square overflow-hidden rounded-[var(--enad-card-radius)] border-2 transition\",\n i === activeSlide\n ? \"border-primary ring-1 ring-primary/30\"\n : \"border-transparent opacity-60 hover:opacity-100\",\n )}\n >\n <img\n src={img.src}\n alt={img.alt ?? \"\"}\n className=\"size-full object-cover\"\n />\n </button>\n ))}\n </div>\n <div className=\"min-w-0 flex-1\">{carousel}</div>\n </div>\n )\n }\n\n return <div className={className}>{carousel}</div>\n}\n\nexport { ProductImage, type ProductImageProps }\n"],"mappings":";;;;;;AAOA,MAAM,gBAAwC;CAC5C,OAAO;CACP,OAAO;CACR;AAED,SAAS,aAAa,QAAyB;AAC7C,QAAO,SAAS,aAAa;;AAG/B,SAAS,aAAa,EACpB,QACA,cAAc,OACd,WAAW,OACX,SAAS,UACT,WAAW,MACX,iBAAiB,OACjB,aACoB;CACpB,MAAM,CAAC,QAAQ,aAAaA,QAAM,SAAS,MAAM;CACjD,MAAM,CAAC,aAAa,kBAAkBA,QAAM,SAAS,EAAE;CAEvD,MAAM,mBAAmB;AACvB,MAAI,SAAU,YAAW,MAAM,CAAC,EAAE;;CAGpC,MAAM,qBAAqB,MAA2B;AAAE,MAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AAAE,KAAE,gBAAgB;AAAE,eAAY;;;CAElI,MAAM,gBAAgB,OAAO,KAAK,KAAK,MACrC,oBAAC,OAAD;EAEE,WAAW,GACT,qCACA,cAAc,cACd,aAAa,SAAS,oBAAoB,kBAC3C;EACD,GAAK,YAAY;GACf,MAAM;GACN,UAAU;GACV,cAAc,aAAa,OAAO;GAClC,SAAS;GACT,WAAW;GACZ;YAED,oBAAC,OAAD;GACE,KAAK,IAAI;GACT,KAAK,IAAI,OAAO;GAChB,WAAW,GACT,2FACA,UAAU,YACX;GACD,CAAA;EACE,EAtBC,EAsBD,CACN;AAEF,KAAI,OAAO,WAAW,EACpB,QACE,oBAAC,OAAD,EAAK,WAAW,GAAG,YAAY,cAAc,cAAc,UAAU,EAAI,CAAA;AAI7E,KAAI,OAAO,WAAW,EACpB,QAAO,oBAAC,OAAD;EAAgB;YAAY,cAAc;EAAS,CAAA;CAG5D,MAAM,WACJ,oBAAC,mBAAD;EACE,OAAO;EACC;EACE;EACG;EACb,eAAe;EACf,CAAA;AAGJ,KAAI,kBAAkB,OAAO,SAAS,EACpC,QACE,qBAAC,OAAD;EAAK,WAAW,GAAG,cAAc,UAAU;YAA3C,CACE,oBAAC,OAAD;GAAK,WAAU;aACZ,OAAO,KAAK,KAAK,MAChB,oBAAC,UAAD;IAEE,MAAK;IACL,cAAY,cAAc,IAAI;IAC9B,eAAe,eAAe,EAAE;IAChC,WAAW,GACT,gGACA,MAAM,cACF,0CACA,kDACL;cAED,oBAAC,OAAD;KACE,KAAK,IAAI;KACT,KAAK,IAAI,OAAO;KAChB,WAAU;KACV,CAAA;IACK,EAhBF,EAgBE,CACT;GACE,CAAA,EACN,oBAAC,OAAD;GAAK,WAAU;aAAkB;GAAe,CAAA,CAC5C;;AAIV,QAAO,oBAAC,OAAD;EAAgB;YAAY;EAAe,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SpacerProps } from "../types.js";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/client/storefront/blocks/spacer.d.ts
|
|
5
|
+
declare function Spacer({
|
|
6
|
+
size
|
|
7
|
+
}: SpacerProps): react_jsx_runtime0.JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { Spacer, type SpacerProps };
|
|
10
|
+
//# sourceMappingURL=spacer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacer.d.ts","names":[],"sources":["../../../../src/client/storefront/blocks/spacer.tsx"],"mappings":";;;;iBAUS,MAAA,CAAA;EAAS;AAAA,GAAe,WAAA,GAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|