@enadhq/enad-react-sdk 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -25
- 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 +17 -13
- package/dist/client/cart/adapters/brink.d.ts.map +1 -1
- package/dist/client/cart/adapters/brink.mjs +160 -143
- package/dist/client/cart/adapters/brink.mjs.map +1 -1
- package/dist/client/cart/adapters/index.d.ts +2 -3
- package/dist/client/cart/adapters/index.mjs +2 -5
- package/dist/client/cart/adapters/mock.d.ts +13 -9
- package/dist/client/cart/adapters/mock.d.ts.map +1 -1
- package/dist/client/cart/adapters/mock.mjs +82 -66
- package/dist/client/cart/adapters/mock.mjs.map +1 -1
- package/dist/client/cart/components/cart-drawer.d.ts +25 -15
- package/dist/client/cart/components/cart-drawer.d.ts.map +1 -1
- package/dist/client/cart/components/cart-drawer.mjs +261 -295
- package/dist/client/cart/components/cart-drawer.mjs.map +1 -1
- package/dist/client/cart/components/cart-trigger.d.ts +18 -8
- package/dist/client/cart/components/cart-trigger.d.ts.map +1 -1
- package/dist/client/cart/components/cart-trigger.mjs +23 -30
- package/dist/client/cart/components/cart-trigger.mjs.map +1 -1
- package/dist/client/cart/components/promo-code-input.d.ts +27 -14
- package/dist/client/cart/components/promo-code-input.d.ts.map +1 -1
- package/dist/client/cart/components/promo-code-input.mjs +77 -88
- package/dist/client/cart/components/promo-code-input.mjs.map +1 -1
- package/dist/client/cart/constants/session.d.ts +4 -1
- package/dist/client/cart/constants/session.d.ts.map +1 -1
- package/dist/client/cart/constants/session.mjs +4 -3
- package/dist/client/cart/constants/session.mjs.map +1 -1
- package/dist/client/cart/contexts/cart.d.ts +19 -11
- package/dist/client/cart/contexts/cart.d.ts.map +1 -1
- package/dist/client/cart/contexts/cart.mjs +30 -13
- package/dist/client/cart/contexts/cart.mjs.map +1 -1
- package/dist/client/cart/hooks/useCart.d.ts +25 -19
- package/dist/client/cart/hooks/useCart.d.ts.map +1 -1
- package/dist/client/cart/hooks/useCart.mjs +27 -21
- package/dist/client/cart/hooks/useCart.mjs.map +1 -1
- package/dist/client/cart/hooks/useCartActions.d.ts +21 -16
- package/dist/client/cart/hooks/useCartActions.d.ts.map +1 -1
- package/dist/client/cart/hooks/useCartActions.mjs +46 -45
- package/dist/client/cart/hooks/useCartActions.mjs.map +1 -1
- package/dist/client/cart/index.d.ts +8 -12
- package/dist/client/cart/index.mjs +7 -16
- package/dist/client/cart/queries/addToCartQueryFn.d.ts +12 -5
- package/dist/client/cart/queries/addToCartQueryFn.d.ts.map +1 -1
- package/dist/client/cart/queries/addToCartQueryFn.mjs +25 -24
- package/dist/client/cart/queries/addToCartQueryFn.mjs.map +1 -1
- package/dist/client/cart/queries/getCartQueryFn.d.ts +7 -3
- package/dist/client/cart/queries/getCartQueryFn.d.ts.map +1 -1
- package/dist/client/cart/queries/getCartQueryFn.mjs +34 -31
- package/dist/client/cart/queries/getCartQueryFn.mjs.map +1 -1
- package/dist/client/cart/queries/removeCartItemQueryFn.d.ts +10 -4
- package/dist/client/cart/queries/removeCartItemQueryFn.d.ts.map +1 -1
- package/dist/client/cart/queries/removeCartItemQueryFn.mjs +20 -21
- package/dist/client/cart/queries/removeCartItemQueryFn.mjs.map +1 -1
- package/dist/client/cart/queries/updateCartItemQueryFn.d.ts +12 -5
- package/dist/client/cart/queries/updateCartItemQueryFn.d.ts.map +1 -1
- package/dist/client/cart/queries/updateCartItemQueryFn.mjs +22 -24
- package/dist/client/cart/queries/updateCartItemQueryFn.mjs.map +1 -1
- package/dist/client/cart/types/adapter.d.ts +90 -87
- package/dist/client/cart/types/adapter.d.ts.map +1 -1
- package/dist/client/cart/types/adapter.mjs +11 -10
- package/dist/client/cart/types/adapter.mjs.map +1 -1
- package/dist/client/cart/types/cart.d.ts +51 -48
- package/dist/client/cart/types/cart.d.ts.map +1 -1
- package/dist/client/cart/types/cart.mjs +1 -1
- package/dist/client/cart/utils/session.d.ts +7 -4
- package/dist/client/cart/utils/session.d.ts.map +1 -1
- package/dist/client/cart/utils/session.mjs +10 -12
- package/dist/client/cart/utils/session.mjs.map +1 -1
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.d.ts +9 -4
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.d.ts.map +1 -1
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.mjs +16 -23
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.mjs.map +1 -1
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.d.ts +26 -14
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.d.ts.map +1 -1
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.mjs +65 -74
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.mjs.map +1 -1
- 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 +5 -2
- package/dist/client/global/auth/withAuth.d.ts.map +1 -1
- package/dist/client/global/auth/withAuth.mjs +26 -22
- package/dist/client/global/auth/withAuth.mjs.map +1 -1
- package/dist/client/global/components/error-boundary.d.ts +18 -13
- package/dist/client/global/components/error-boundary.d.ts.map +1 -1
- package/dist/client/global/components/error-boundary.mjs +37 -38
- package/dist/client/global/components/error-boundary.mjs.map +1 -1
- package/dist/client/global/config/index.d.ts +12 -10
- package/dist/client/global/config/index.d.ts.map +1 -1
- package/dist/client/global/config/index.mjs +12 -31
- package/dist/client/global/config/index.mjs.map +1 -1
- package/dist/client/global/constants/tags.d.ts +16 -13
- package/dist/client/global/constants/tags.d.ts.map +1 -1
- package/dist/client/global/constants/tags.mjs +16 -15
- package/dist/client/global/constants/tags.mjs.map +1 -1
- 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 -6
- package/dist/client/global/index.mjs +7 -7
- package/dist/client/global/providers/enad-provider.d.ts +85 -40
- package/dist/client/global/providers/enad-provider.d.ts.map +1 -1
- package/dist/client/global/providers/enad-provider.mjs +68 -34
- package/dist/client/global/providers/enad-provider.mjs.map +1 -1
- 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 +11 -7
- package/dist/client/icons/adapters/hugeicons.d.ts.map +1 -1
- package/dist/client/icons/adapters/hugeicons.mjs +59 -110
- package/dist/client/icons/adapters/hugeicons.mjs.map +1 -1
- package/dist/client/icons/adapters/lucide.d.ts +10 -6
- package/dist/client/icons/adapters/lucide.d.ts.map +1 -1
- package/dist/client/icons/adapters/lucide.mjs +57 -103
- package/dist/client/icons/adapters/lucide.mjs.map +1 -1
- package/dist/client/icons/adapters/phosphor.d.ts +11 -8
- package/dist/client/icons/adapters/phosphor.d.ts.map +1 -1
- package/dist/client/icons/adapters/phosphor.mjs +64 -65
- package/dist/client/icons/adapters/phosphor.mjs.map +1 -1
- package/dist/client/icons/icon-context.d.ts +20 -9
- package/dist/client/icons/icon-context.d.ts.map +1 -1
- package/dist/client/icons/icon-context.mjs +13 -17
- package/dist/client/icons/icon-context.mjs.map +1 -1
- package/dist/client/icons/index.d.ts +7 -9
- package/dist/client/icons/index.mjs +6 -16
- package/dist/client/icons/types.d.ts +48 -45
- package/dist/client/icons/types.d.ts.map +1 -1
- package/dist/client/icons/types.mjs +1 -1
- package/dist/client/motion/config.d.ts +21 -30
- package/dist/client/motion/config.d.ts.map +1 -1
- package/dist/client/motion/config.mjs +33 -37
- package/dist/client/motion/config.mjs.map +1 -1
- package/dist/client/motion/hover.d.ts +7 -9
- package/dist/client/motion/hover.d.ts.map +1 -1
- package/dist/client/motion/hover.mjs +40 -14
- package/dist/client/motion/hover.mjs.map +1 -1
- package/dist/client/motion/index.d.ts +4 -4
- package/dist/client/motion/index.mjs +4 -13
- package/dist/client/motion/stagger.d.ts +7 -9
- package/dist/client/motion/stagger.d.ts.map +1 -1
- package/dist/client/motion/stagger.mjs +38 -12
- package/dist/client/motion/stagger.mjs.map +1 -1
- 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 +6 -1
- package/dist/client/search/actions/searchAction.d.ts.map +1 -1
- package/dist/client/search/actions/searchAction.mjs +14 -15
- package/dist/client/search/actions/searchAction.mjs.map +1 -1
- package/dist/client/search/components/search-bar.d.ts +13 -5
- package/dist/client/search/components/search-bar.d.ts.map +1 -1
- package/dist/client/search/components/search-bar.mjs +28 -29
- package/dist/client/search/components/search-bar.mjs.map +1 -1
- package/dist/client/search/hooks/useSearch.d.ts +15 -9
- package/dist/client/search/hooks/useSearch.d.ts.map +1 -1
- package/dist/client/search/hooks/useSearch.mjs +41 -31
- package/dist/client/search/hooks/useSearch.mjs.map +1 -1
- package/dist/client/search/index.d.ts +2 -2
- package/dist/client/search/index.mjs +2 -5
- package/dist/client/storefront/blocks/accordion-block.d.ts +10 -2
- package/dist/client/storefront/blocks/accordion-block.d.ts.map +1 -1
- package/dist/client/storefront/blocks/accordion-block.mjs +30 -36
- package/dist/client/storefront/blocks/accordion-block.mjs.map +1 -1
- package/dist/client/storefront/blocks/card-image-with-caption.d.ts +11 -2
- package/dist/client/storefront/blocks/card-image-with-caption.d.ts.map +1 -1
- package/dist/client/storefront/blocks/card-image-with-caption.mjs +27 -24
- package/dist/client/storefront/blocks/card-image-with-caption.mjs.map +1 -1
- package/dist/client/storefront/blocks/card-video.d.ts +13 -2
- package/dist/client/storefront/blocks/card-video.d.ts.map +1 -1
- package/dist/client/storefront/blocks/card-video.mjs +46 -38
- package/dist/client/storefront/blocks/card-video.mjs.map +1 -1
- package/dist/client/storefront/blocks/content-with-gallery.d.ts +15 -2
- package/dist/client/storefront/blocks/content-with-gallery.d.ts.map +1 -1
- package/dist/client/storefront/blocks/content-with-gallery.mjs +67 -44
- package/dist/client/storefront/blocks/content-with-gallery.mjs.map +1 -1
- package/dist/client/storefront/blocks/content-with-image-product-data.d.ts +16 -2
- package/dist/client/storefront/blocks/content-with-image-product-data.d.ts.map +1 -1
- package/dist/client/storefront/blocks/content-with-image-product-data.mjs +65 -41
- package/dist/client/storefront/blocks/content-with-image-product-data.mjs.map +1 -1
- package/dist/client/storefront/blocks/gallery-with-caption.d.ts +12 -2
- package/dist/client/storefront/blocks/gallery-with-caption.d.ts.map +1 -1
- package/dist/client/storefront/blocks/gallery-with-caption.mjs +26 -33
- package/dist/client/storefront/blocks/gallery-with-caption.mjs.map +1 -1
- package/dist/client/storefront/blocks/gallery-with-link-blocks.d.ts +10 -2
- package/dist/client/storefront/blocks/gallery-with-link-blocks.d.ts.map +1 -1
- package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs +28 -21
- package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs.map +1 -1
- package/dist/client/storefront/blocks/gallery.d.ts +11 -2
- package/dist/client/storefront/blocks/gallery.d.ts.map +1 -1
- package/dist/client/storefront/blocks/gallery.mjs +50 -43
- package/dist/client/storefront/blocks/gallery.mjs.map +1 -1
- package/dist/client/storefront/blocks/hero.d.ts +6 -2
- package/dist/client/storefront/blocks/hero.d.ts.map +1 -1
- package/dist/client/storefront/blocks/hero.mjs +234 -326
- package/dist/client/storefront/blocks/hero.mjs.map +1 -1
- package/dist/client/storefront/blocks/image-block.d.ts +11 -2
- package/dist/client/storefront/blocks/image-block.d.ts.map +1 -1
- package/dist/client/storefront/blocks/image-block.mjs +24 -24
- package/dist/client/storefront/blocks/image-block.mjs.map +1 -1
- package/dist/client/storefront/blocks/index.d.ts +22 -20
- package/dist/client/storefront/blocks/index.mjs +21 -41
- package/dist/client/storefront/blocks/link-block-small.d.ts +11 -2
- package/dist/client/storefront/blocks/link-block-small.d.ts.map +1 -1
- package/dist/client/storefront/blocks/link-block-small.mjs +31 -32
- package/dist/client/storefront/blocks/link-block-small.mjs.map +1 -1
- package/dist/client/storefront/blocks/link-block.d.ts +6 -2
- package/dist/client/storefront/blocks/link-block.d.ts.map +1 -1
- package/dist/client/storefront/blocks/link-block.mjs +131 -142
- package/dist/client/storefront/blocks/link-block.mjs.map +1 -1
- 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 +6 -2
- package/dist/client/storefront/blocks/product-card.d.ts.map +1 -1
- package/dist/client/storefront/blocks/product-card.mjs +214 -214
- package/dist/client/storefront/blocks/product-card.mjs.map +1 -1
- package/dist/client/storefront/blocks/product-image.d.ts +14 -2
- package/dist/client/storefront/blocks/product-image.d.ts.map +1 -1
- package/dist/client/storefront/blocks/product-image.mjs +73 -101
- package/dist/client/storefront/blocks/product-image.mjs.map +1 -1
- package/dist/client/storefront/blocks/spacer.d.ts +8 -2
- package/dist/client/storefront/blocks/spacer.d.ts.map +1 -1
- package/dist/client/storefront/blocks/spacer.mjs +13 -8
- package/dist/client/storefront/blocks/spacer.mjs.map +1 -1
- package/dist/client/storefront/blocks/text-content-with-image.d.ts +6 -2
- package/dist/client/storefront/blocks/text-content-with-image.d.ts.map +1 -1
- package/dist/client/storefront/blocks/text-content-with-image.mjs +205 -212
- package/dist/client/storefront/blocks/text-content-with-image.mjs.map +1 -1
- package/dist/client/storefront/blocks/text-content.d.ts +6 -2
- package/dist/client/storefront/blocks/text-content.d.ts.map +1 -1
- package/dist/client/storefront/blocks/text-content.mjs +156 -141
- package/dist/client/storefront/blocks/text-content.mjs.map +1 -1
- package/dist/client/storefront/blocks/truncated-text.d.ts +11 -2
- package/dist/client/storefront/blocks/truncated-text.d.ts.map +1 -1
- package/dist/client/storefront/blocks/truncated-text.mjs +37 -31
- package/dist/client/storefront/blocks/truncated-text.mjs.map +1 -1
- package/dist/client/storefront/blocks/variable-text-content.d.ts +9 -2
- package/dist/client/storefront/blocks/variable-text-content.d.ts.map +1 -1
- package/dist/client/storefront/blocks/variable-text-content.mjs +13 -11
- package/dist/client/storefront/blocks/variable-text-content.mjs.map +1 -1
- package/dist/client/storefront/carousel/index.d.ts +2 -2
- package/dist/client/storefront/carousel/index.mjs +2 -5
- package/dist/client/storefront/carousel/swipeable-carousel.d.ts +22 -10
- package/dist/client/storefront/carousel/swipeable-carousel.d.ts.map +1 -1
- package/dist/client/storefront/carousel/swipeable-carousel.mjs +46 -76
- package/dist/client/storefront/carousel/swipeable-carousel.mjs.map +1 -1
- package/dist/client/storefront/checkout/address-form.d.ts +45 -28
- package/dist/client/storefront/checkout/address-form.d.ts.map +1 -1
- package/dist/client/storefront/checkout/address-form.mjs +110 -120
- package/dist/client/storefront/checkout/address-form.mjs.map +1 -1
- package/dist/client/storefront/checkout/cart-summary.d.ts +58 -37
- package/dist/client/storefront/checkout/cart-summary.d.ts.map +1 -1
- package/dist/client/storefront/checkout/cart-summary.mjs +156 -146
- package/dist/client/storefront/checkout/cart-summary.mjs.map +1 -1
- package/dist/client/storefront/checkout/checkout-stepper.d.ts +19 -10
- package/dist/client/storefront/checkout/checkout-stepper.d.ts.map +1 -1
- package/dist/client/storefront/checkout/checkout-stepper.mjs +38 -53
- package/dist/client/storefront/checkout/checkout-stepper.mjs.map +1 -1
- package/dist/client/storefront/checkout/index.d.ts +8 -15
- package/dist/client/storefront/checkout/index.mjs +8 -17
- package/dist/client/storefront/checkout/order-confirmation.d.ts +19 -8
- package/dist/client/storefront/checkout/order-confirmation.d.ts.map +1 -1
- package/dist/client/storefront/checkout/order-confirmation.mjs +31 -23
- package/dist/client/storefront/checkout/order-confirmation.mjs.map +1 -1
- package/dist/client/storefront/checkout/order-summary.d.ts +46 -27
- package/dist/client/storefront/checkout/order-summary.d.ts.map +1 -1
- package/dist/client/storefront/checkout/order-summary.mjs +138 -101
- package/dist/client/storefront/checkout/order-summary.mjs.map +1 -1
- package/dist/client/storefront/checkout/payment-method-selector.d.ts +26 -15
- package/dist/client/storefront/checkout/payment-method-selector.d.ts.map +1 -1
- package/dist/client/storefront/checkout/payment-method-selector.mjs +45 -57
- package/dist/client/storefront/checkout/payment-method-selector.mjs.map +1 -1
- package/dist/client/storefront/checkout/shipping-method-selector.d.ts +34 -20
- package/dist/client/storefront/checkout/shipping-method-selector.d.ts.map +1 -1
- package/dist/client/storefront/checkout/shipping-method-selector.mjs +55 -73
- package/dist/client/storefront/checkout/shipping-method-selector.mjs.map +1 -1
- 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 +15 -6
- package/dist/client/storefront/components/badge.d.ts.map +1 -1
- package/dist/client/storefront/components/badge.mjs +17 -23
- package/dist/client/storefront/components/badge.mjs.map +1 -1
- package/dist/client/storefront/components/country-redirect.d.ts +38 -27
- package/dist/client/storefront/components/country-redirect.d.ts.map +1 -1
- package/dist/client/storefront/components/country-redirect.mjs +88 -112
- package/dist/client/storefront/components/country-redirect.mjs.map +1 -1
- package/dist/client/storefront/components/empty-state.d.ts +44 -33
- package/dist/client/storefront/components/empty-state.d.ts.map +1 -1
- package/dist/client/storefront/components/empty-state.mjs +51 -50
- package/dist/client/storefront/components/empty-state.mjs.map +1 -1
- package/dist/client/storefront/components/image-lightbox.d.ts +23 -11
- package/dist/client/storefront/components/image-lightbox.d.ts.map +1 -1
- package/dist/client/storefront/components/image-lightbox.mjs +251 -270
- package/dist/client/storefront/components/image-lightbox.mjs.map +1 -1
- package/dist/client/storefront/components/infinite-scroll.d.ts +55 -33
- package/dist/client/storefront/components/infinite-scroll.d.ts.map +1 -1
- package/dist/client/storefront/components/infinite-scroll.mjs +76 -78
- package/dist/client/storefront/components/infinite-scroll.mjs.map +1 -1
- package/dist/client/storefront/components/language-selector.d.ts +15 -4
- package/dist/client/storefront/components/language-selector.d.ts.map +1 -1
- package/dist/client/storefront/components/language-selector.mjs +50 -53
- package/dist/client/storefront/components/language-selector.mjs.map +1 -1
- package/dist/client/storefront/components/newsletter-signup.d.ts +25 -12
- package/dist/client/storefront/components/newsletter-signup.d.ts.map +1 -1
- package/dist/client/storefront/components/newsletter-signup.mjs +83 -77
- package/dist/client/storefront/components/newsletter-signup.mjs.map +1 -1
- package/dist/client/storefront/components/price.d.ts +26 -12
- package/dist/client/storefront/components/price.d.ts.map +1 -1
- package/dist/client/storefront/components/price.mjs +42 -41
- package/dist/client/storefront/components/price.mjs.map +1 -1
- package/dist/client/storefront/components/product-recommendations.d.ts +29 -16
- package/dist/client/storefront/components/product-recommendations.d.ts.map +1 -1
- package/dist/client/storefront/components/product-recommendations.mjs +84 -104
- package/dist/client/storefront/components/product-recommendations.mjs.map +1 -1
- package/dist/client/storefront/components/product-tabs.d.ts +18 -9
- package/dist/client/storefront/components/product-tabs.d.ts.map +1 -1
- package/dist/client/storefront/components/product-tabs.mjs +51 -59
- package/dist/client/storefront/components/product-tabs.mjs.map +1 -1
- package/dist/client/storefront/components/quick-view.d.ts +36 -22
- package/dist/client/storefront/components/quick-view.d.ts.map +1 -1
- package/dist/client/storefront/components/quick-view.mjs +148 -142
- package/dist/client/storefront/components/quick-view.mjs.map +1 -1
- package/dist/client/storefront/components/review-summary.d.ts +25 -14
- package/dist/client/storefront/components/review-summary.d.ts.map +1 -1
- package/dist/client/storefront/components/review-summary.mjs +75 -62
- package/dist/client/storefront/components/review-summary.mjs.map +1 -1
- package/dist/client/storefront/components/search-autocomplete.d.ts +38 -22
- package/dist/client/storefront/components/search-autocomplete.d.ts.map +1 -1
- package/dist/client/storefront/components/search-autocomplete.mjs +163 -179
- package/dist/client/storefront/components/search-autocomplete.mjs.map +1 -1
- package/dist/client/storefront/components/section-nav.d.ts +25 -15
- package/dist/client/storefront/components/section-nav.d.ts.map +1 -1
- package/dist/client/storefront/components/section-nav.mjs +124 -171
- package/dist/client/storefront/components/section-nav.mjs.map +1 -1
- package/dist/client/storefront/components/share-button.d.ts +32 -17
- package/dist/client/storefront/components/share-button.d.ts.map +1 -1
- package/dist/client/storefront/components/share-button.mjs +73 -91
- package/dist/client/storefront/components/share-button.mjs.map +1 -1
- package/dist/client/storefront/components/skeleton.d.ts +28 -10
- package/dist/client/storefront/components/skeleton.d.ts.map +1 -1
- package/dist/client/storefront/components/skeleton.mjs +74 -56
- package/dist/client/storefront/components/skeleton.mjs.map +1 -1
- package/dist/client/storefront/components/star-rating.d.ts +26 -11
- package/dist/client/storefront/components/star-rating.d.ts.map +1 -1
- package/dist/client/storefront/components/star-rating.mjs +154 -227
- package/dist/client/storefront/components/star-rating.mjs.map +1 -1
- package/dist/client/storefront/components/testimonial.d.ts +35 -17
- package/dist/client/storefront/components/testimonial.d.ts.map +1 -1
- package/dist/client/storefront/components/testimonial.mjs +57 -46
- package/dist/client/storefront/components/testimonial.mjs.map +1 -1
- package/dist/client/storefront/components/trust-badges.d.ts +20 -11
- package/dist/client/storefront/components/trust-badges.d.ts.map +1 -1
- package/dist/client/storefront/components/trust-badges.mjs +26 -21
- package/dist/client/storefront/components/trust-badges.mjs.map +1 -1
- package/dist/client/storefront/components/variant-selector.d.ts +28 -17
- package/dist/client/storefront/components/variant-selector.d.ts.map +1 -1
- package/dist/client/storefront/components/variant-selector.mjs +33 -31
- package/dist/client/storefront/components/variant-selector.mjs.map +1 -1
- package/dist/client/storefront/components/wishlist-toggle.d.ts +23 -10
- package/dist/client/storefront/components/wishlist-toggle.d.ts.map +1 -1
- package/dist/client/storefront/components/wishlist-toggle.mjs +28 -54
- package/dist/client/storefront/components/wishlist-toggle.mjs.map +1 -1
- package/dist/client/storefront/filters/filter-chip.d.ts +16 -6
- package/dist/client/storefront/filters/filter-chip.d.ts.map +1 -1
- package/dist/client/storefront/filters/filter-chip.mjs +17 -25
- package/dist/client/storefront/filters/filter-chip.mjs.map +1 -1
- package/dist/client/storefront/filters/filter-group.d.ts +29 -16
- package/dist/client/storefront/filters/filter-group.d.ts.map +1 -1
- package/dist/client/storefront/filters/filter-group.mjs +89 -98
- package/dist/client/storefront/filters/filter-group.mjs.map +1 -1
- package/dist/client/storefront/filters/filter-panel.d.ts +32 -19
- package/dist/client/storefront/filters/filter-panel.d.ts.map +1 -1
- package/dist/client/storefront/filters/filter-panel.mjs +104 -105
- package/dist/client/storefront/filters/filter-panel.mjs.map +1 -1
- package/dist/client/storefront/filters/index.d.ts +6 -6
- package/dist/client/storefront/filters/index.mjs +6 -13
- package/dist/client/storefront/filters/sort-select.d.ts +19 -8
- package/dist/client/storefront/filters/sort-select.d.ts.map +1 -1
- package/dist/client/storefront/filters/sort-select.mjs +35 -28
- package/dist/client/storefront/filters/sort-select.mjs.map +1 -1
- package/dist/client/storefront/filters/toggle-list-view.d.ts +12 -4
- package/dist/client/storefront/filters/toggle-list-view.d.ts.map +1 -1
- package/dist/client/storefront/filters/toggle-list-view.mjs +31 -25
- package/dist/client/storefront/filters/toggle-list-view.mjs.map +1 -1
- package/dist/client/storefront/hooks/use-section-observer.d.ts +3 -5
- package/dist/client/storefront/hooks/use-section-observer.d.ts.map +1 -1
- package/dist/client/storefront/hooks/use-section-observer.mjs +50 -41
- package/dist/client/storefront/hooks/use-section-observer.mjs.map +1 -1
- package/dist/client/storefront/index.d.ts +19 -24
- package/dist/client/storefront/index.mjs +18 -26
- package/dist/client/storefront/layout/footer.d.ts +14 -2
- package/dist/client/storefront/layout/footer.d.ts.map +1 -1
- package/dist/client/storefront/layout/footer.mjs +60 -52
- package/dist/client/storefront/layout/footer.mjs.map +1 -1
- package/dist/client/storefront/layout/header.d.ts +18 -2
- package/dist/client/storefront/layout/header.d.ts.map +1 -1
- package/dist/client/storefront/layout/header.mjs +300 -341
- package/dist/client/storefront/layout/header.mjs.map +1 -1
- package/dist/client/storefront/layout/index.d.ts +6 -5
- package/dist/client/storefront/layout/index.mjs +5 -11
- package/dist/client/storefront/layout/mobile-menu-drawer.d.ts +12 -2
- package/dist/client/storefront/layout/mobile-menu-drawer.d.ts.map +1 -1
- package/dist/client/storefront/layout/mobile-menu-drawer.mjs +78 -88
- package/dist/client/storefront/layout/mobile-menu-drawer.mjs.map +1 -1
- package/dist/client/storefront/layout/promotion-bar.d.ts +11 -2
- package/dist/client/storefront/layout/promotion-bar.d.ts.map +1 -1
- package/dist/client/storefront/layout/promotion-bar.mjs +59 -75
- package/dist/client/storefront/layout/promotion-bar.mjs.map +1 -1
- package/dist/client/storefront/primitives/breadcrumbs.d.ts +15 -7
- package/dist/client/storefront/primitives/breadcrumbs.d.ts.map +1 -1
- package/dist/client/storefront/primitives/breadcrumbs.mjs +30 -31
- package/dist/client/storefront/primitives/breadcrumbs.mjs.map +1 -1
- package/dist/client/storefront/primitives/button.d.ts +22 -9
- package/dist/client/storefront/primitives/button.d.ts.map +1 -1
- package/dist/client/storefront/primitives/button.mjs +36 -45
- package/dist/client/storefront/primitives/button.mjs.map +1 -1
- package/dist/client/storefront/primitives/checkbox.d.ts +21 -6
- package/dist/client/storefront/primitives/checkbox.d.ts.map +1 -1
- package/dist/client/storefront/primitives/checkbox.mjs +35 -19
- package/dist/client/storefront/primitives/checkbox.mjs.map +1 -1
- 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 +14 -5
- package/dist/client/storefront/primitives/download-item.d.ts.map +1 -1
- package/dist/client/storefront/primitives/download-item.mjs +23 -24
- package/dist/client/storefront/primitives/download-item.mjs.map +1 -1
- package/dist/client/storefront/primitives/index.d.ts +11 -10
- package/dist/client/storefront/primitives/index.mjs +11 -21
- package/dist/client/storefront/primitives/input.d.ts +36 -15
- package/dist/client/storefront/primitives/input.d.ts.map +1 -1
- package/dist/client/storefront/primitives/input.mjs +81 -112
- package/dist/client/storefront/primitives/input.mjs.map +1 -1
- package/dist/client/storefront/primitives/pagination.d.ts +14 -5
- package/dist/client/storefront/primitives/pagination.d.ts.map +1 -1
- package/dist/client/storefront/primitives/pagination.mjs +53 -80
- package/dist/client/storefront/primitives/pagination.mjs.map +1 -1
- 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 +13 -6
- package/dist/client/storefront/primitives/quick-links.d.ts.map +1 -1
- package/dist/client/storefront/primitives/quick-links.mjs +18 -13
- package/dist/client/storefront/primitives/quick-links.mjs.map +1 -1
- package/dist/client/storefront/primitives/select.d.ts +27 -11
- package/dist/client/storefront/primitives/select.d.ts.map +1 -1
- package/dist/client/storefront/primitives/select.mjs +45 -31
- package/dist/client/storefront/primitives/select.mjs.map +1 -1
- package/dist/client/storefront/primitives/text-link.d.ts +13 -4
- package/dist/client/storefront/primitives/text-link.d.ts.map +1 -1
- package/dist/client/storefront/primitives/text-link.mjs +16 -6
- package/dist/client/storefront/primitives/text-link.mjs.map +1 -1
- package/dist/client/storefront/product/color-swatch.d.ts +16 -6
- package/dist/client/storefront/product/color-swatch.d.ts.map +1 -1
- package/dist/client/storefront/product/color-swatch.mjs +18 -27
- package/dist/client/storefront/product/color-swatch.mjs.map +1 -1
- package/dist/client/storefront/product/index.d.ts +5 -5
- package/dist/client/storefront/product/index.mjs +5 -11
- package/dist/client/storefront/product/material-selector.d.ts +19 -10
- package/dist/client/storefront/product/material-selector.d.ts.map +1 -1
- package/dist/client/storefront/product/material-selector.mjs +30 -30
- package/dist/client/storefront/product/material-selector.mjs.map +1 -1
- package/dist/client/storefront/product/product-usp.d.ts +10 -3
- package/dist/client/storefront/product/product-usp.d.ts.map +1 -1
- package/dist/client/storefront/product/product-usp.mjs +15 -10
- package/dist/client/storefront/product/product-usp.mjs.map +1 -1
- package/dist/client/storefront/product/quantity-picker.d.ts +18 -6
- package/dist/client/storefront/product/quantity-picker.d.ts.map +1 -1
- package/dist/client/storefront/product/quantity-picker.mjs +43 -52
- package/dist/client/storefront/product/quantity-picker.mjs.map +1 -1
- package/dist/client/storefront/types.d.ts +255 -252
- package/dist/client/storefront/types.d.ts.map +1 -1
- package/dist/client/storefront/types.mjs +13 -13
- package/dist/client/storefront/types.mjs.map +1 -1
- package/dist/client/theme/apply.d.ts +11 -7
- package/dist/client/theme/apply.d.ts.map +1 -1
- package/dist/client/theme/apply.mjs +148 -118
- package/dist/client/theme/apply.mjs.map +1 -1
- package/dist/client/theme/cli.mjs +422 -403
- package/dist/client/theme/cli.mjs.map +1 -1
- package/dist/client/theme/codec.d.ts +8 -5
- package/dist/client/theme/codec.d.ts.map +1 -1
- package/dist/client/theme/codec.mjs +80 -76
- package/dist/client/theme/codec.mjs.map +1 -1
- package/dist/client/theme/defaults.d.ts +41 -56
- package/dist/client/theme/defaults.d.ts.map +1 -1
- package/dist/client/theme/defaults.mjs +89 -153
- package/dist/client/theme/defaults.mjs.map +1 -1
- package/dist/client/theme/index.d.ts +5 -8
- package/dist/client/theme/index.mjs +5 -20
- package/dist/client/theme/scan.d.ts +11 -8
- package/dist/client/theme/scan.d.ts.map +1 -1
- package/dist/client/theme/scan.mjs +25 -22
- package/dist/client/theme/scan.mjs.map +1 -1
- package/dist/client/ui/accordion.d.ts +28 -7
- package/dist/client/ui/accordion.d.ts.map +1 -1
- package/dist/client/ui/accordion.mjs +47 -60
- package/dist/client/ui/accordion.mjs.map +1 -1
- 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 +37 -11
- package/dist/client/ui/breadcrumb.d.ts.map +1 -1
- package/dist/client/ui/breadcrumb.mjs +56 -90
- package/dist/client/ui/breadcrumb.mjs.map +1 -1
- package/dist/client/ui/button.d.ts +19 -8
- package/dist/client/ui/button.d.ts.map +1 -1
- package/dist/client/ui/button.mjs +46 -52
- package/dist/client/ui/button.mjs.map +1 -1
- package/dist/client/ui/card.d.ts +34 -9
- package/dist/client/ui/card.d.ts.map +1 -1
- package/dist/client/ui/card.mjs +41 -75
- package/dist/client/ui/card.mjs.map +1 -1
- package/dist/client/ui/carousel.d.ts +41 -13
- package/dist/client/ui/carousel.d.ts.map +1 -1
- package/dist/client/ui/carousel.mjs +123 -189
- package/dist/client/ui/carousel.mjs.map +1 -1
- package/dist/client/ui/checkbox.d.ts +10 -3
- package/dist/client/ui/checkbox.d.ts.map +1 -1
- package/dist/client/ui/checkbox.mjs +20 -30
- package/dist/client/ui/checkbox.mjs.map +1 -1
- package/dist/client/ui/collapsible.d.ts +15 -5
- package/dist/client/ui/collapsible.d.ts.map +1 -1
- package/dist/client/ui/collapsible.mjs +20 -30
- package/dist/client/ui/collapsible.mjs.map +1 -1
- 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 +17 -3
- package/dist/client/ui/input.d.ts.map +1 -1
- package/dist/client/ui/input.mjs +25 -19
- package/dist/client/ui/input.mjs.map +1 -1
- package/dist/client/ui/label.d.ts +10 -3
- package/dist/client/ui/label.d.ts.map +1 -1
- package/dist/client/ui/label.mjs +13 -20
- package/dist/client/ui/label.mjs.map +1 -1
- package/dist/client/ui/mid-truncate.d.ts +21 -10
- package/dist/client/ui/mid-truncate.d.ts.map +1 -1
- package/dist/client/ui/mid-truncate.mjs +49 -22
- package/dist/client/ui/mid-truncate.mjs.map +1 -1
- package/dist/client/ui/navigation-menu.d.ts +46 -14
- package/dist/client/ui/navigation-menu.d.ts.map +1 -1
- package/dist/client/ui/navigation-menu.mjs +72 -161
- package/dist/client/ui/navigation-menu.mjs.map +1 -1
- package/dist/client/ui/pagination.d.ts +39 -12
- package/dist/client/ui/pagination.d.ts.map +1 -1
- package/dist/client/ui/pagination.mjs +72 -113
- package/dist/client/ui/pagination.mjs.map +1 -1
- package/dist/client/ui/popover.d.ts +34 -10
- package/dist/client/ui/popover.d.ts.map +1 -1
- package/dist/client/ui/popover.mjs +46 -70
- package/dist/client/ui/popover.mjs.map +1 -1
- 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 +52 -15
- package/dist/client/ui/select.d.ts.map +1 -1
- package/dist/client/ui/select.mjs +91 -171
- package/dist/client/ui/select.mjs.map +1 -1
- package/dist/client/ui/separator.d.ts +12 -3
- package/dist/client/ui/separator.d.ts.map +1 -1
- package/dist/client/ui/separator.mjs +15 -24
- package/dist/client/ui/separator.mjs.map +1 -1
- package/dist/client/ui/sheet.d.ts +44 -14
- package/dist/client/ui/sheet.d.ts.map +1 -1
- package/dist/client/ui/sheet.mjs +70 -114
- package/dist/client/ui/sheet.mjs.map +1 -1
- 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 +25 -8
- package/dist/client/ui/toggle-group.d.ts.map +1 -1
- package/dist/client/ui/toggle-group.mjs +44 -64
- package/dist/client/ui/toggle-group.mjs.map +1 -1
- package/dist/client/ui/toggle.d.ts +17 -7
- package/dist/client/ui/toggle.d.ts.map +1 -1
- package/dist/client/ui/toggle.mjs +34 -40
- package/dist/client/ui/toggle.mjs.map +1 -1
- 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 +6 -2
- package/dist/client/ui/utils.d.ts.map +1 -1
- package/dist/client/ui/utils.mjs +5 -4
- package/dist/client/ui/utils.mjs.map +1 -1
- package/dist/client/ui-resolver/accordion.d.ts +14 -10
- package/dist/client/ui-resolver/accordion.d.ts.map +1 -1
- package/dist/client/ui-resolver/accordion.mjs +15 -31
- package/dist/client/ui-resolver/accordion.mjs.map +1 -1
- 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 +16 -13
- package/dist/client/ui-resolver/breadcrumb.d.ts.map +1 -1
- package/dist/client/ui-resolver/breadcrumb.mjs +17 -49
- package/dist/client/ui-resolver/breadcrumb.mjs.map +1 -1
- package/dist/client/ui-resolver/button.d.ts +10 -11
- package/dist/client/ui-resolver/button.d.ts.map +1 -1
- package/dist/client/ui-resolver/button.mjs +11 -21
- package/dist/client/ui-resolver/button.mjs.map +1 -1
- package/dist/client/ui-resolver/card.d.ts +16 -13
- package/dist/client/ui-resolver/card.d.ts.map +1 -1
- package/dist/client/ui-resolver/card.mjs +17 -49
- package/dist/client/ui-resolver/card.mjs.map +1 -1
- package/dist/client/ui-resolver/carousel.d.ts +15 -12
- package/dist/client/ui-resolver/carousel.d.ts.map +1 -1
- package/dist/client/ui-resolver/carousel.mjs +15 -37
- package/dist/client/ui-resolver/carousel.mjs.map +1 -1
- package/dist/client/ui-resolver/checkbox.d.ts +9 -6
- package/dist/client/ui-resolver/checkbox.d.ts.map +1 -1
- package/dist/client/ui-resolver/checkbox.mjs +11 -13
- package/dist/client/ui-resolver/checkbox.mjs.map +1 -1
- package/dist/client/ui-resolver/collapsible.d.ts +12 -9
- package/dist/client/ui-resolver/collapsible.d.ts.map +1 -1
- package/dist/client/ui-resolver/collapsible.mjs +13 -25
- package/dist/client/ui-resolver/collapsible.mjs.map +1 -1
- package/dist/client/ui-resolver/context.d.ts +37 -9
- package/dist/client/ui-resolver/context.d.ts.map +1 -1
- package/dist/client/ui-resolver/context.mjs +54 -20
- package/dist/client/ui-resolver/context.mjs.map +1 -1
- 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 -19
- package/dist/client/ui-resolver/index.mjs +29 -156
- package/dist/client/ui-resolver/input.d.ts +9 -6
- package/dist/client/ui-resolver/input.d.ts.map +1 -1
- package/dist/client/ui-resolver/input.mjs +11 -13
- package/dist/client/ui-resolver/input.mjs.map +1 -1
- package/dist/client/ui-resolver/label.d.ts +9 -6
- package/dist/client/ui-resolver/label.d.ts.map +1 -1
- package/dist/client/ui-resolver/label.mjs +11 -13
- package/dist/client/ui-resolver/label.mjs.map +1 -1
- package/dist/client/ui-resolver/navigation-menu.d.ts +19 -15
- package/dist/client/ui-resolver/navigation-menu.d.ts.map +1 -1
- package/dist/client/ui-resolver/navigation-menu.mjs +20 -61
- package/dist/client/ui-resolver/navigation-menu.mjs.map +1 -1
- package/dist/client/ui-resolver/pagination.d.ts +16 -13
- package/dist/client/ui-resolver/pagination.d.ts.map +1 -1
- package/dist/client/ui-resolver/pagination.mjs +17 -49
- package/dist/client/ui-resolver/pagination.mjs.map +1 -1
- package/dist/client/ui-resolver/popover.d.ts +13 -10
- package/dist/client/ui-resolver/popover.d.ts.map +1 -1
- package/dist/client/ui-resolver/popover.mjs +14 -31
- package/dist/client/ui-resolver/popover.mjs.map +1 -1
- 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 +17 -14
- package/dist/client/ui-resolver/select.d.ts.map +1 -1
- package/dist/client/ui-resolver/select.mjs +19 -56
- package/dist/client/ui-resolver/select.mjs.map +1 -1
- package/dist/client/ui-resolver/separator.d.ts +9 -6
- package/dist/client/ui-resolver/separator.d.ts.map +1 -1
- package/dist/client/ui-resolver/separator.mjs +11 -13
- package/dist/client/ui-resolver/separator.mjs.map +1 -1
- package/dist/client/ui-resolver/sheet.d.ts +17 -14
- package/dist/client/ui-resolver/sheet.d.ts.map +1 -1
- package/dist/client/ui-resolver/sheet.mjs +19 -56
- package/dist/client/ui-resolver/sheet.mjs.map +1 -1
- 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 +10 -7
- package/dist/client/ui-resolver/toggle-group.d.ts.map +1 -1
- package/dist/client/ui-resolver/toggle-group.mjs +12 -19
- package/dist/client/ui-resolver/toggle-group.mjs.map +1 -1
- package/dist/client/ui-resolver/toggle.d.ts +10 -11
- package/dist/client/ui-resolver/toggle.d.ts.map +1 -1
- package/dist/client/ui-resolver/toggle.mjs +11 -21
- package/dist/client/ui-resolver/toggle.mjs.map +1 -1
- 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 +12 -10
- package/dist/client/user/actions/createResetPasswordLinkAction.d.ts.map +1 -1
- package/dist/client/user/actions/createResetPasswordLinkAction.mjs +19 -26
- package/dist/client/user/actions/createResetPasswordLinkAction.mjs.map +1 -1
- package/dist/client/user/actions/getUserAction.d.ts +6 -2
- package/dist/client/user/actions/getUserAction.d.ts.map +1 -1
- package/dist/client/user/actions/getUserAction.mjs +17 -15
- package/dist/client/user/actions/getUserAction.mjs.map +1 -1
- package/dist/client/user/actions/logInUserAction.d.ts +13 -11
- package/dist/client/user/actions/logInUserAction.d.ts.map +1 -1
- package/dist/client/user/actions/logInUserAction.mjs +26 -28
- package/dist/client/user/actions/logInUserAction.mjs.map +1 -1
- package/dist/client/user/actions/logoutUserAction.d.ts +4 -1
- package/dist/client/user/actions/logoutUserAction.d.ts.map +1 -1
- package/dist/client/user/actions/logoutUserAction.mjs +7 -7
- package/dist/client/user/actions/logoutUserAction.mjs.map +1 -1
- package/dist/client/user/actions/registerOrganisationAction.d.ts +11 -6
- package/dist/client/user/actions/registerOrganisationAction.d.ts.map +1 -1
- package/dist/client/user/actions/registerOrganisationAction.mjs +11 -15
- package/dist/client/user/actions/registerOrganisationAction.mjs.map +1 -1
- package/dist/client/user/actions/registerUserAction.d.ts +16 -14
- package/dist/client/user/actions/registerUserAction.d.ts.map +1 -1
- package/dist/client/user/actions/registerUserAction.mjs +38 -36
- package/dist/client/user/actions/registerUserAction.mjs.map +1 -1
- package/dist/client/user/actions/registerUserWithoutRedirectAction.d.ts +41 -36
- package/dist/client/user/actions/registerUserWithoutRedirectAction.d.ts.map +1 -1
- package/dist/client/user/actions/registerUserWithoutRedirectAction.mjs +56 -52
- package/dist/client/user/actions/registerUserWithoutRedirectAction.mjs.map +1 -1
- package/dist/client/user/actions/updatePasswordAction.d.ts +18 -16
- package/dist/client/user/actions/updatePasswordAction.d.ts.map +1 -1
- package/dist/client/user/actions/updatePasswordAction.mjs +27 -31
- package/dist/client/user/actions/updatePasswordAction.mjs.map +1 -1
- package/dist/client/user/api/userRoute.d.ts +4 -6
- package/dist/client/user/api/userRoute.d.ts.map +1 -1
- package/dist/client/user/api/userRoute.mjs +57 -57
- package/dist/client/user/api/userRoute.mjs.map +1 -1
- package/dist/client/user/clients/enad.d.ts +6 -2
- package/dist/client/user/clients/enad.d.ts.map +1 -1
- package/dist/client/user/clients/enad.mjs +13 -13
- package/dist/client/user/clients/enad.mjs.map +1 -1
- package/dist/client/user/components/login-form.d.ts +22 -19
- package/dist/client/user/components/login-form.d.ts.map +1 -1
- package/dist/client/user/components/login-form.mjs +117 -110
- package/dist/client/user/components/login-form.mjs.map +1 -1
- package/dist/client/user/components/reset-password-form.d.ts +19 -16
- package/dist/client/user/components/reset-password-form.d.ts.map +1 -1
- package/dist/client/user/components/reset-password-form.mjs +91 -88
- package/dist/client/user/components/reset-password-form.mjs.map +1 -1
- package/dist/client/user/components/sign-out.d.ts +11 -5
- package/dist/client/user/components/sign-out.d.ts.map +1 -1
- package/dist/client/user/components/sign-out.mjs +15 -20
- package/dist/client/user/components/sign-out.mjs.map +1 -1
- package/dist/client/user/components/signup-form.d.ts +26 -23
- package/dist/client/user/components/signup-form.d.ts.map +1 -1
- package/dist/client/user/components/signup-form.mjs +165 -180
- package/dist/client/user/components/signup-form.mjs.map +1 -1
- package/dist/client/user/components/signup-organisation-form.d.ts +55 -51
- package/dist/client/user/components/signup-organisation-form.d.ts.map +1 -1
- package/dist/client/user/components/signup-organisation-form.mjs +625 -830
- package/dist/client/user/components/signup-organisation-form.mjs.map +1 -1
- package/dist/client/user/components/update-password-form.d.ts +16 -13
- package/dist/client/user/components/update-password-form.d.ts.map +1 -1
- package/dist/client/user/components/update-password-form.mjs +69 -56
- package/dist/client/user/components/update-password-form.mjs.map +1 -1
- package/dist/client/user/hooks/index.d.ts +2 -2
- package/dist/client/user/hooks/index.mjs +2 -2
- package/dist/client/user/hooks/useUser.d.ts +12 -6
- package/dist/client/user/hooks/useUser.d.ts.map +1 -1
- package/dist/client/user/hooks/useUser.mjs +30 -27
- package/dist/client/user/hooks/useUser.mjs.map +1 -1
- package/dist/client/user/index.d.ts +9 -9
- package/dist/client/user/index.mjs +8 -17
- package/dist/client/user/types/user.d.ts +193 -190
- package/dist/client/user/types/user.d.ts.map +1 -1
- package/dist/client/user/types/user.mjs +1 -1
- package/dist/client/user/utils/userCookieService.d.ts +14 -17
- package/dist/client/user/utils/userCookieService.d.ts.map +1 -1
- package/dist/client/user/utils/userCookieService.mjs +37 -46
- package/dist/client/user/utils/userCookieService.mjs.map +1 -1
- package/dist/client/wishlist/actions/addItemsToWishlistAction.d.ts +7 -3
- package/dist/client/wishlist/actions/addItemsToWishlistAction.d.ts.map +1 -1
- package/dist/client/wishlist/actions/addItemsToWishlistAction.mjs +11 -16
- package/dist/client/wishlist/actions/addItemsToWishlistAction.mjs.map +1 -1
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.d.ts +7 -2
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.d.ts.map +1 -1
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.mjs +11 -16
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.mjs.map +1 -1
- package/dist/client/wishlist/actions/createWishlistAction.d.ts +7 -2
- package/dist/client/wishlist/actions/createWishlistAction.d.ts.map +1 -1
- package/dist/client/wishlist/actions/createWishlistAction.mjs +11 -12
- package/dist/client/wishlist/actions/createWishlistAction.mjs.map +1 -1
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.d.ts +7 -3
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.d.ts.map +1 -1
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.mjs +11 -16
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.mjs.map +1 -1
- package/dist/client/wishlist/actions/deleteWishlistAction.d.ts +5 -2
- package/dist/client/wishlist/actions/deleteWishlistAction.d.ts.map +1 -1
- package/dist/client/wishlist/actions/deleteWishlistAction.mjs +11 -12
- package/dist/client/wishlist/actions/deleteWishlistAction.mjs.map +1 -1
- package/dist/client/wishlist/actions/getSharedWishlistAction.d.ts +7 -2
- package/dist/client/wishlist/actions/getSharedWishlistAction.d.ts.map +1 -1
- package/dist/client/wishlist/actions/getSharedWishlistAction.mjs +11 -16
- package/dist/client/wishlist/actions/getSharedWishlistAction.mjs.map +1 -1
- package/dist/client/wishlist/actions/getSpecificWishlistAction.d.ts +7 -2
- package/dist/client/wishlist/actions/getSpecificWishlistAction.d.ts.map +1 -1
- package/dist/client/wishlist/actions/getSpecificWishlistAction.mjs +11 -16
- package/dist/client/wishlist/actions/getSpecificWishlistAction.mjs.map +1 -1
- package/dist/client/wishlist/actions/getUserWishlists.d.ts +8 -3
- package/dist/client/wishlist/actions/getUserWishlists.d.ts.map +1 -1
- package/dist/client/wishlist/actions/getUserWishlists.mjs +19 -21
- package/dist/client/wishlist/actions/getUserWishlists.mjs.map +1 -1
- package/dist/client/wishlist/actions/revokeShareTokenAction.d.ts +5 -2
- package/dist/client/wishlist/actions/revokeShareTokenAction.d.ts.map +1 -1
- package/dist/client/wishlist/actions/revokeShareTokenAction.mjs +11 -16
- package/dist/client/wishlist/actions/revokeShareTokenAction.mjs.map +1 -1
- package/dist/client/wishlist/actions/updateWishlistAction.d.ts +7 -2
- package/dist/client/wishlist/actions/updateWishlistAction.d.ts.map +1 -1
- package/dist/client/wishlist/actions/updateWishlistAction.mjs +11 -16
- package/dist/client/wishlist/actions/updateWishlistAction.mjs.map +1 -1
- package/dist/client/wishlist/hooks/index.d.ts +2 -2
- package/dist/client/wishlist/hooks/index.mjs +2 -2
- package/dist/client/wishlist/hooks/useWishlist.d.ts +78 -73
- package/dist/client/wishlist/hooks/useWishlist.d.ts.map +1 -1
- package/dist/client/wishlist/hooks/useWishlist.mjs +95 -71
- package/dist/client/wishlist/hooks/useWishlist.mjs.map +1 -1
- package/dist/client/wishlist/hooks/useWishlistActions.d.ts +45 -39
- package/dist/client/wishlist/hooks/useWishlistActions.d.ts.map +1 -1
- package/dist/client/wishlist/hooks/useWishlistActions.mjs +88 -96
- package/dist/client/wishlist/hooks/useWishlistActions.mjs.map +1 -1
- package/dist/client/wishlist/index.d.ts +4 -5
- package/dist/client/wishlist/index.mjs +4 -9
- package/dist/client/wishlist/wishlist-drawer.d.ts +27 -15
- package/dist/client/wishlist/wishlist-drawer.d.ts.map +1 -1
- package/dist/client/wishlist/wishlist-drawer.mjs +175 -187
- package/dist/client/wishlist/wishlist-drawer.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +20 -11
- package/dist/client/cart/adapters/index.d.ts.map +0 -1
- package/dist/client/cart/adapters/index.mjs.map +0 -1
- package/dist/client/cart/index.d.ts.map +0 -1
- package/dist/client/cart/index.mjs.map +0 -1
- package/dist/client/cart/types/cart.mjs.map +0 -1
- package/dist/client/global/index.d.ts.map +0 -1
- package/dist/client/global/index.mjs.map +0 -1
- package/dist/client/icons/index.d.ts.map +0 -1
- package/dist/client/icons/index.mjs.map +0 -1
- package/dist/client/icons/types.mjs.map +0 -1
- package/dist/client/motion/index.d.ts.map +0 -1
- package/dist/client/motion/index.mjs.map +0 -1
- package/dist/client/search/index.d.ts.map +0 -1
- package/dist/client/search/index.mjs.map +0 -1
- package/dist/client/storefront/blocks/index.d.ts.map +0 -1
- package/dist/client/storefront/blocks/index.mjs.map +0 -1
- package/dist/client/storefront/carousel/index.d.ts.map +0 -1
- package/dist/client/storefront/carousel/index.mjs.map +0 -1
- package/dist/client/storefront/checkout/index.d.ts.map +0 -1
- package/dist/client/storefront/checkout/index.mjs.map +0 -1
- package/dist/client/storefront/filters/index.d.ts.map +0 -1
- package/dist/client/storefront/filters/index.mjs.map +0 -1
- package/dist/client/storefront/index.d.ts.map +0 -1
- package/dist/client/storefront/index.mjs.map +0 -1
- package/dist/client/storefront/layout/index.d.ts.map +0 -1
- package/dist/client/storefront/layout/index.mjs.map +0 -1
- package/dist/client/storefront/primitives/index.d.ts.map +0 -1
- package/dist/client/storefront/primitives/index.mjs.map +0 -1
- package/dist/client/storefront/product/index.d.ts.map +0 -1
- package/dist/client/storefront/product/index.mjs.map +0 -1
- package/dist/client/theme/cli.d.ts +0 -2
- package/dist/client/theme/cli.d.ts.map +0 -1
- package/dist/client/theme/index.d.ts.map +0 -1
- package/dist/client/theme/index.mjs.map +0 -1
- package/dist/client/ui-interfaces/accordion.d.ts +0 -8
- package/dist/client/ui-interfaces/accordion.d.ts.map +0 -1
- package/dist/client/ui-interfaces/accordion.mjs +0 -72
- package/dist/client/ui-interfaces/accordion.mjs.map +0 -1
- package/dist/client/ui-interfaces/breadcrumb.d.ts +0 -12
- package/dist/client/ui-interfaces/breadcrumb.d.ts.map +0 -1
- package/dist/client/ui-interfaces/breadcrumb.mjs +0 -97
- package/dist/client/ui-interfaces/breadcrumb.mjs.map +0 -1
- package/dist/client/ui-interfaces/button.d.ts +0 -11
- package/dist/client/ui-interfaces/button.d.ts.map +0 -1
- package/dist/client/ui-interfaces/button.mjs +0 -57
- package/dist/client/ui-interfaces/button.mjs.map +0 -1
- package/dist/client/ui-interfaces/card.d.ts +0 -10
- package/dist/client/ui-interfaces/card.d.ts.map +0 -1
- package/dist/client/ui-interfaces/card.mjs +0 -78
- package/dist/client/ui-interfaces/card.mjs.map +0 -1
- package/dist/client/ui-interfaces/carousel.d.ts +0 -20
- package/dist/client/ui-interfaces/carousel.d.ts.map +0 -1
- package/dist/client/ui-interfaces/carousel.mjs +0 -188
- package/dist/client/ui-interfaces/carousel.mjs.map +0 -1
- package/dist/client/ui-interfaces/checkbox.d.ts +0 -5
- package/dist/client/ui-interfaces/checkbox.d.ts.map +0 -1
- package/dist/client/ui-interfaces/checkbox.mjs +0 -30
- package/dist/client/ui-interfaces/checkbox.mjs.map +0 -1
- package/dist/client/ui-interfaces/collapsible.d.ts +0 -7
- package/dist/client/ui-interfaces/collapsible.d.ts.map +0 -1
- package/dist/client/ui-interfaces/collapsible.mjs +0 -42
- package/dist/client/ui-interfaces/collapsible.mjs.map +0 -1
- package/dist/client/ui-interfaces/index.d.ts +0 -18
- package/dist/client/ui-interfaces/index.d.ts.map +0 -1
- package/dist/client/ui-interfaces/index.mjs +0 -18
- package/dist/client/ui-interfaces/index.mjs.map +0 -1
- package/dist/client/ui-interfaces/input.d.ts +0 -7
- package/dist/client/ui-interfaces/input.d.ts.map +0 -1
- package/dist/client/ui-interfaces/input.mjs +0 -39
- package/dist/client/ui-interfaces/input.mjs.map +0 -1
- package/dist/client/ui-interfaces/label.d.ts +0 -5
- package/dist/client/ui-interfaces/label.d.ts.map +0 -1
- package/dist/client/ui-interfaces/label.mjs +0 -23
- package/dist/client/ui-interfaces/label.mjs.map +0 -1
- package/dist/client/ui-interfaces/navigation-menu.d.ts +0 -15
- package/dist/client/ui-interfaces/navigation-menu.d.ts.map +0 -1
- package/dist/client/ui-interfaces/navigation-menu.mjs +0 -163
- package/dist/client/ui-interfaces/navigation-menu.mjs.map +0 -1
- package/dist/client/ui-interfaces/pagination.d.ts +0 -14
- package/dist/client/ui-interfaces/pagination.d.ts.map +0 -1
- package/dist/client/ui-interfaces/pagination.mjs +0 -103
- package/dist/client/ui-interfaces/pagination.mjs.map +0 -1
- package/dist/client/ui-interfaces/popover.d.ts +0 -8
- package/dist/client/ui-interfaces/popover.d.ts.map +0 -1
- package/dist/client/ui-interfaces/popover.mjs +0 -50
- package/dist/client/ui-interfaces/popover.mjs.map +0 -1
- package/dist/client/ui-interfaces/select.d.ts +0 -16
- package/dist/client/ui-interfaces/select.d.ts.map +0 -1
- package/dist/client/ui-interfaces/select.mjs +0 -159
- package/dist/client/ui-interfaces/select.mjs.map +0 -1
- package/dist/client/ui-interfaces/separator.d.ts +0 -5
- package/dist/client/ui-interfaces/separator.d.ts.map +0 -1
- package/dist/client/ui-interfaces/separator.mjs +0 -28
- package/dist/client/ui-interfaces/separator.mjs.map +0 -1
- package/dist/client/ui-interfaces/sheet.d.ts +0 -14
- package/dist/client/ui-interfaces/sheet.d.ts.map +0 -1
- package/dist/client/ui-interfaces/sheet.mjs +0 -140
- package/dist/client/ui-interfaces/sheet.mjs.map +0 -1
- package/dist/client/ui-interfaces/toggle-group.d.ts +0 -10
- package/dist/client/ui-interfaces/toggle-group.d.ts.map +0 -1
- package/dist/client/ui-interfaces/toggle-group.mjs +0 -67
- package/dist/client/ui-interfaces/toggle-group.mjs.map +0 -1
- package/dist/client/ui-interfaces/toggle.d.ts +0 -10
- package/dist/client/ui-interfaces/toggle.d.ts.map +0 -1
- package/dist/client/ui-interfaces/toggle.mjs +0 -45
- package/dist/client/ui-interfaces/toggle.mjs.map +0 -1
- package/dist/client/ui-resolver/index.d.ts.map +0 -1
- package/dist/client/ui-resolver/index.mjs.map +0 -1
- package/dist/client/user/hooks/index.d.ts.map +0 -1
- package/dist/client/user/hooks/index.mjs.map +0 -1
- package/dist/client/user/index.d.ts.map +0 -1
- package/dist/client/user/index.mjs.map +0 -1
- package/dist/client/user/types/user.mjs.map +0 -1
- package/dist/client/wishlist/hooks/index.d.ts.map +0 -1
- package/dist/client/wishlist/hooks/index.mjs.map +0 -1
- package/dist/client/wishlist/index.d.ts.map +0 -1
- package/dist/client/wishlist/index.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/theme/cli.ts","../../../src/client/theme/codec.ts","../../../src/client/theme/defaults.ts","../../../src/client/theme/apply.ts","../../../src/client/theme/scan.ts"],"sourcesContent":["import { readFileSync, writeFileSync, readdirSync, statSync } from 'node:fs';\nimport { resolve, join } from 'node:path';\nimport { argv, exit, stderr, stdout } from 'node:process';\n\nimport { decodeThemeHash } from './codec';\nimport { applyThemeBlock, generateThemeCSS, MARKER_START } from './apply';\nimport { scanConflicts } from './scan';\n\ninterface ParsedArgs {\n command: string;\n hash: string;\n target: string;\n colorSpace: 'hsl' | 'oklch';\n scanDir: string;\n dryRun: boolean;\n}\n\nfunction printUsage() {\n stderr.write(`\nUsage: enad-theme apply <hash> [options]\n\nOptions:\n --target <file> Target CSS file (default: src/globals.css)\n --color-space <cs> Color space: hsl | oklch (default: hsl)\n --scan <dir> Directory to scan for conflicts (default: src)\n --dry-run Print CSS to stdout without writing\n --help Show this help message\n\nExamples:\n enad-theme apply 1k5YWJj...\n enad-theme apply 1k5YWJj... --target app/globals.css --color-space oklch\n enad-theme apply 1k5YWJj... --dry-run\n`);\n}\n\nfunction parseArgs(args: string[]): ParsedArgs | null {\n if (args.length === 0 || args.includes('--help')) {\n printUsage();\n exit(0);\n }\n\n const command = args[0]!;\n if (command !== 'apply') {\n stderr.write(`Unknown command: ${command}\\nRun enad-theme --help for usage.\\n`);\n exit(1);\n }\n\n const hash = args[1];\n if (!hash) {\n stderr.write('Error: missing theme hash argument.\\n');\n exit(1);\n }\n\n let target = 'src/globals.css';\n let colorSpace: 'hsl' | 'oklch' = 'hsl';\n let scanDir = 'src';\n let dryRun = false;\n\n for (let i = 2; i < args.length; i++) {\n switch (args[i]) {\n case '--target':\n target = args[++i] ?? target;\n break;\n case '--color-space':\n colorSpace = (args[++i] as 'hsl' | 'oklch') ?? colorSpace;\n break;\n case '--scan':\n scanDir = args[++i] ?? scanDir;\n break;\n case '--dry-run':\n dryRun = true;\n break;\n }\n }\n\n return { command, hash, target, colorSpace, scanDir, dryRun };\n}\n\nfunction readExistingFile(targetPath: string): string {\n try {\n return readFileSync(targetPath, 'utf-8');\n } catch {\n // File doesn't exist yet, we'll create it\n return '';\n }\n}\n\nfunction writeOutput(targetPath: string, target: string, existing: string, css: string) {\n const updated = applyThemeBlock(existing, css);\n writeFileSync(targetPath, updated, 'utf-8');\n\n const isUpdate = existing.includes(MARKER_START);\n stderr.write(\n isUpdate\n ? `Updated theme block in ${target}\\n`\n : `Wrote theme block to ${target}\\n`,\n );\n}\n\nfunction scanForConflicts(scanDir: string, targetPath: string, css: string) {\n // Extract variable names from the generated CSS\n const varPattern = /^\\s*(--[\\w-]+)\\s*:/gm;\n const variables: string[] = [];\n let match: RegExpExecArray | null;\n while ((match = varPattern.exec(css)) !== null) {\n variables.push(match[1]!);\n }\n\n if (variables.length === 0) return;\n\n // Simple recursive CSS file scan\n const cssFiles: Array<{ path: string; content: string }> = [];\n\n function walk(dir: string) {\n try {\n for (const entry of readdirSync(dir)) {\n const full = join(dir, entry);\n try {\n const stat = statSync(full);\n if (stat.isDirectory() && !entry.startsWith('.') && entry !== 'node_modules') {\n walk(full);\n } else if (stat.isFile() && full.endsWith('.css') && resolve(full) !== targetPath) {\n cssFiles.push({ path: full, content: readFileSync(full, 'utf-8') });\n }\n } catch {\n // Skip inaccessible files\n }\n }\n } catch {\n // Skip inaccessible directories\n }\n }\n\n walk(resolve(scanDir));\n\n const warnings = scanConflicts(cssFiles, variables);\n if (warnings.length > 0) {\n stderr.write(`\\nConflicting declarations found:\\n`);\n for (const w of warnings) {\n stderr.write(` ${w.file}:${w.line} ${w.variable}: ${w.existingValue}\\n`);\n }\n stderr.write(`\\nThese existing declarations may override or conflict with the theme.\\n`);\n }\n}\n\nfunction main() {\n const parsed = parseArgs(argv.slice(2));\n if (!parsed) return;\n\n const { hash, target, colorSpace, scanDir, dryRun } = parsed;\n\n // Decode\n const decoded = decodeThemeHash(hash);\n if (Object.keys(decoded).length === 0) {\n stderr.write('Error: failed to decode theme hash. Check that the hash is valid.\\n');\n exit(1);\n }\n\n // Generate CSS\n const css = generateThemeCSS(decoded, { colorSpace });\n\n if (dryRun) {\n stdout.write(css + '\\n');\n exit(0);\n }\n\n // Write to target file\n const targetPath = resolve(target);\n const existing = readExistingFile(targetPath);\n writeOutput(targetPath, target, existing, css);\n\n scanForConflicts(scanDir, targetPath, css);\n}\n\nmain();\n","import { decode as msgpackDecode, encode as msgpackEncode } from \"@msgpack/msgpack\";\n\n/**\n * Loose bag of theme values. The decoder returns whatever keys are present;\n * the consumer merges onto its own defaults. This keeps the format\n * forward/backward compatible: new keys are silently ignored by old decoders,\n * and removed keys are filled from defaults by the consumer.\n */\nexport type ThemeHash = Record<string, unknown>;\n\n// Current format version. Prepended as a single ASCII char before the base64url payload.\nconst FORMAT_VERSION = \"1\";\n\n// ---------------------------------------------------------------------------\n// Short key mapping\n// ---------------------------------------------------------------------------\n\n/** Short key -> full key */\nexport const KEY_MAP: Record<string, string> = {\n c: \"colorize\",\n i: \"intensity\",\n d: \"delight\",\n r: \"radius\",\n bf: \"fontBody\",\n hf: \"fontHeading\",\n ic: \"iconSet\",\n cs: \"colorSpace\",\n dm: \"darkMode\",\n lc: \"lightColors\",\n dc: \"darkColors\",\n br: \"buttonRadius\",\n cr: \"cardRadius\",\n ir: \"inputRadius\",\n mr: \"imageRadius\",\n sp: \"shadowPreset\",\n sc: \"shadowColor\",\n hw: \"headingWeight\",\n ht: \"headingTracking\",\n bw: \"bodyWeight\",\n hx: \"headingTransform\",\n bdr: \"borderWidth\",\n oc: \"overlayColor\",\n of: \"overlayFromOpacity\",\n ot: \"overlayToOpacity\",\n hs: \"imageHoverScale\",\n hd: \"imageHoverDuration\",\n v: \"variants\",\n xs: \"componentSet\",\n};\n\n/** Full key -> short key (inverse of KEY_MAP) */\nexport const KEY_MAP_REVERSE: Record<string, string> = Object.fromEntries(\n Object.entries(KEY_MAP).map(([short, full]) => [full, short]),\n);\n\n// ---------------------------------------------------------------------------\n// Base64url helpers (RFC 4648 §5, no padding)\n// ---------------------------------------------------------------------------\n\nfunction toBase64url(buf: Uint8Array): string {\n let binary = \"\";\n for (let i = 0; i < buf.length; i++) {\n binary += String.fromCharCode(buf[i]!);\n }\n return btoa(binary).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n}\n\nfunction fromBase64url(str: string): Uint8Array {\n const base64 = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64 + \"=\".repeat((4 - (base64.length % 4)) % 4);\n const binary = atob(padded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\n\n// ---------------------------------------------------------------------------\n// Encode / Decode\n// ---------------------------------------------------------------------------\n\n/**\n * Encode a theme state diff into a portable hash string.\n *\n * The input should only contain non-default values. The encoder maps\n * full keys to short keys, packs with MessagePack, and encodes as\n * `<version><base64url>`.\n */\nexport function encodeThemeHash(diff: ThemeHash): string {\n const compact: Record<string, unknown> = {};\n for (const [fullKey, value] of Object.entries(diff)) {\n const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;\n compact[shortKey] = value;\n }\n const packed = msgpackEncode(compact);\n return FORMAT_VERSION + toBase64url(packed);\n}\n\n/**\n * Decode a hash string back into a key-value bag with full key names.\n *\n * Returns partial data -- the consumer is responsible for merging onto\n * its own defaults. Unknown keys are preserved for forward compatibility.\n * Returns an empty object on invalid input (never throws).\n */\nexport function decodeThemeHash(hash: string): ThemeHash {\n try {\n if (!hash || hash.length < 2) return {};\n\n const version = hash[0];\n if (version !== FORMAT_VERSION) return {};\n\n const payload = hash.slice(1);\n const bytes = fromBase64url(payload);\n const compact = msgpackDecode(bytes) as Record<string, unknown>;\n\n if (typeof compact !== \"object\" || compact === null) return {};\n\n const result: ThemeHash = {};\n for (const [key, value] of Object.entries(compact)) {\n const fullKey = KEY_MAP[key] ?? key;\n result[fullKey] = value;\n }\n return result;\n } catch {\n return {};\n }\n}\n","/**\n * SDK default color tokens. These are the canonical defaults used by\n * the theme codec to compute diffs (only non-default values are encoded).\n */\nexport const SDK_DEFAULTS = {\n light: {\n \"--background\": \"#ffffff\",\n \"--foreground\": \"#111827\",\n \"--card\": \"#ffffff\",\n \"--card-foreground\": \"#111827\",\n \"--popover\": \"#ffffff\",\n \"--popover-foreground\": \"#111827\",\n \"--primary\": \"#2563eb\",\n \"--primary-foreground\": \"#ffffff\",\n \"--secondary\": \"#f1f5f9\",\n \"--secondary-foreground\": \"#0f172a\",\n \"--muted\": \"#f3f4f6\",\n \"--muted-foreground\": \"#636b78\",\n \"--accent\": \"#dbeafe\",\n \"--accent-foreground\": \"#1e3a8a\",\n \"--accent-muted\": \"#eff6ff\",\n \"--accent-muted-foreground\": \"#1e40af\",\n \"--destructive\": \"#dc2626\",\n \"--destructive-foreground\": \"#ffffff\",\n \"--border\": \"#e5e7eb\",\n \"--input\": \"#e5e7eb\",\n \"--ring\": \"#2563eb\",\n } as Record<string, string>,\n dark: {\n \"--background\": \"#111827\",\n \"--foreground\": \"#f9fafb\",\n \"--card\": \"#1f2937\",\n \"--card-foreground\": \"#f9fafb\",\n \"--popover\": \"#1f2937\",\n \"--popover-foreground\": \"#f9fafb\",\n \"--primary\": \"#2563eb\",\n \"--primary-foreground\": \"#ffffff\",\n \"--secondary\": \"#1e293b\",\n \"--secondary-foreground\": \"#e2e8f0\",\n \"--muted\": \"#374151\",\n \"--muted-foreground\": \"#b0b8c4\",\n \"--accent\": \"#1e3a5f\",\n \"--accent-foreground\": \"#bfdbfe\",\n \"--accent-muted\": \"#172554\",\n \"--accent-muted-foreground\": \"#93c5fd\",\n \"--destructive\": \"#dc2626\",\n \"--destructive-foreground\": \"#ffffff\",\n \"--border\": \"#374151\",\n \"--input\": \"#374151\",\n \"--ring\": \"#2563eb\",\n } as Record<string, string>,\n};\n\n/** Default values for design tokens (non-color). */\nexport const TOKEN_DEFAULTS = {\n colorize: 50,\n intensity: 50,\n delight: 50,\n radius: 0.75,\n fontBody: \"Inter\",\n fontHeading: \"Inter\",\n iconSet: \"Phosphor\",\n colorSpace: \"hsl\",\n darkMode: false,\n componentSet: \"default\" as \"default\" | \"mono\",\n\n // Shape\n buttonRadius: \"9999px\",\n cardRadius: \"var(--radius)\",\n inputRadius: \"var(--radius)\",\n imageRadius: \"0px\",\n\n // Depth\n shadowPreset: \"none\",\n shadowColor: \"oklch(0 0 0 / 0.1)\",\n\n // Typography\n headingWeight: \"600\",\n headingTracking: \"0em\",\n bodyWeight: \"400\",\n headingTransform: \"none\",\n\n // Border\n borderWidth: \"1px\",\n\n // Overlay\n overlayColor: \"black\",\n overlayFromOpacity: \"0.5\",\n overlayToOpacity: \"0\",\n\n // Motion\n imageHoverScale: \"1.05\",\n imageHoverDuration: \"300ms\",\n\n // Variants\n variants: {\n hero: \"overlay\",\n linkBlock: \"overlay\",\n productCard: \"gallery\",\n contentWithImage: \"side-by-side\",\n gallery: \"grid\",\n textContent: \"default\",\n },\n} as const;\n\n/** Mono preset overrides. Merge onto TOKEN_DEFAULTS when componentSet is \"mono\". */\nexport const MONO_TOKEN_OVERRIDES = {\n componentSet: \"mono\" as const,\n radius: 0.5,\n fontBody: \"Lexend\",\n fontHeading: \"Lexend\",\n colorSpace: \"oklch\",\n buttonRadius: \"8px\",\n cardRadius: \"12px\",\n inputRadius: \"8px\",\n shadowPreset: \"subtle\",\n shadowColor: \"rgba(0, 0, 0, 0.1)\",\n} as const;\n\n/** Mono color defaults (oklch, zero-chroma monochromatic palette). */\nexport const MONO_SDK_DEFAULTS = {\n light: {\n \"--background\": \"oklch(0.99 0 0)\",\n \"--foreground\": \"oklch(0.145 0 0)\",\n \"--card\": \"oklch(1 0 0)\",\n \"--card-foreground\": \"oklch(0.145 0 0)\",\n \"--popover\": \"oklch(1 0 0)\",\n \"--popover-foreground\": \"oklch(0.145 0 0)\",\n \"--primary\": \"oklch(0.205 0 0)\",\n \"--primary-foreground\": \"oklch(0.985 0 0)\",\n \"--secondary\": \"oklch(0.92 0 0)\",\n \"--secondary-foreground\": \"oklch(0.205 0 0)\",\n \"--muted\": \"oklch(0.97 0 0)\",\n \"--muted-foreground\": \"oklch(0.556 0 0)\",\n \"--accent\": \"oklch(0.95 0 0)\",\n \"--accent-foreground\": \"oklch(0.205 0 0)\",\n \"--accent-muted\": \"oklch(0.97 0 0)\",\n \"--accent-muted-foreground\": \"oklch(0.205 0 0)\",\n \"--destructive\": \"oklch(0.5 0.25 30)\",\n \"--destructive-foreground\": \"oklch(0.985 0 0)\",\n \"--border\": \"oklch(0.922 0 0)\",\n \"--input\": \"oklch(0.922 0 0)\",\n \"--ring\": \"oklch(0.708 0 0)\",\n } as Record<string, string>,\n dark: {\n \"--background\": \"oklch(0.17 0 0)\",\n \"--foreground\": \"oklch(0.985 0 0)\",\n \"--card\": \"oklch(0.145 0 0)\",\n \"--card-foreground\": \"oklch(0.985 0 0)\",\n \"--popover\": \"oklch(0.145 0 0)\",\n \"--popover-foreground\": \"oklch(0.985 0 0)\",\n \"--primary\": \"oklch(0.922 0 0)\",\n \"--primary-foreground\": \"oklch(0.205 0 0)\",\n \"--secondary\": \"oklch(0.25 0 0)\",\n \"--secondary-foreground\": \"oklch(0.985 0 0)\",\n \"--muted\": \"oklch(0.19 0 0)\",\n \"--muted-foreground\": \"oklch(0.65 0 0)\",\n \"--accent\": \"oklch(0.22 0 0)\",\n \"--accent-foreground\": \"oklch(0.98 0 0)\",\n \"--accent-muted\": \"oklch(0.22 0 0)\",\n \"--accent-muted-foreground\": \"oklch(0.98 0 0)\",\n \"--destructive\": \"oklch(0.35 0.25 30)\",\n \"--destructive-foreground\": \"oklch(0.985 0 0)\",\n \"--border\": \"oklch(1 0 0 / 10%)\",\n \"--input\": \"oklch(1 0 0 / 15%)\",\n \"--ring\": \"oklch(0.556 0 0)\",\n } as Record<string, string>,\n};\n","import type { ThemeHash } from './codec';\nimport { SDK_DEFAULTS, TOKEN_DEFAULTS } from './defaults';\n\nexport interface GenerateOptions {\n colorSpace?: 'hsl' | 'oklch';\n}\n\nfunction buildLightColorDiffs(hash: ThemeHash): string[] {\n const lightOverrides = (hash.lightColors ?? {}) as Record<string, string>;\n const diffs: string[] = [];\n for (const [token, value] of Object.entries(lightOverrides)) {\n if (value !== SDK_DEFAULTS.light[token]) {\n diffs.push(` ${token}: ${value};`);\n }\n }\n return diffs;\n}\n\nfunction buildBaseTokenDiffs(hash: ThemeHash): string[] {\n const diffs: string[] = [];\n\n const radius = hash.radius as number | undefined;\n if (radius != null && radius !== 0.75) {\n diffs.push(` --radius: ${radius}rem;`);\n }\n\n const fontBody = hash.fontBody as string | undefined;\n if (fontBody && fontBody !== 'Inter') {\n diffs.push(` --font-sans: \"${fontBody}\", sans-serif;`);\n }\n\n const fontHeading = hash.fontHeading as string | undefined;\n if (fontHeading && fontHeading !== fontBody && fontHeading !== 'Inter') {\n diffs.push(` --font-heading: \"${fontHeading}\", sans-serif;`);\n }\n\n return diffs;\n}\n\nfunction buildDarkColorDiffs(hash: ThemeHash): string[] {\n const darkOverrides = (hash.darkColors ?? {}) as Record<string, string>;\n const diffs: string[] = [];\n for (const [token, value] of Object.entries(darkOverrides)) {\n if (value !== SDK_DEFAULTS.dark[token]) {\n diffs.push(` ${token}: ${value};`);\n }\n }\n return diffs;\n}\n\nfunction buildTokenSections(hash: ThemeHash): string[] {\n const lines: string[] = [];\n\n const tokenSections: Array<{ comment: string; entries: Array<[string, string, string]> }> = [\n {\n comment: 'Shape',\n entries: [\n ['--enad-button-radius', hash.buttonRadius as string, TOKEN_DEFAULTS.buttonRadius],\n ['--enad-card-radius', hash.cardRadius as string, TOKEN_DEFAULTS.cardRadius],\n ['--enad-input-radius', hash.inputRadius as string, TOKEN_DEFAULTS.inputRadius],\n ['--enad-image-radius', hash.imageRadius as string, TOKEN_DEFAULTS.imageRadius],\n ],\n },\n {\n comment: 'Depth',\n entries: [\n ['--enad-shadow-color', hash.shadowColor as string, TOKEN_DEFAULTS.shadowColor],\n ],\n },\n {\n comment: 'Typography',\n entries: [\n ['--enad-heading-weight', hash.headingWeight as string, TOKEN_DEFAULTS.headingWeight],\n ['--enad-heading-tracking', hash.headingTracking as string, TOKEN_DEFAULTS.headingTracking],\n ['--enad-body-weight', hash.bodyWeight as string, TOKEN_DEFAULTS.bodyWeight],\n ['--enad-heading-transform', hash.headingTransform as string, TOKEN_DEFAULTS.headingTransform],\n ],\n },\n {\n comment: 'Borders',\n entries: [\n ['--enad-border-width', hash.borderWidth as string, TOKEN_DEFAULTS.borderWidth],\n ],\n },\n {\n comment: 'Overlay',\n entries: [\n ['--enad-overlay-color', hash.overlayColor as string, TOKEN_DEFAULTS.overlayColor],\n ['--enad-overlay-from-opacity', hash.overlayFromOpacity as string, TOKEN_DEFAULTS.overlayFromOpacity],\n ['--enad-overlay-to-opacity', hash.overlayToOpacity as string, TOKEN_DEFAULTS.overlayToOpacity],\n ],\n },\n {\n comment: 'Motion',\n entries: [\n ['--enad-image-hover-scale', hash.imageHoverScale as string, TOKEN_DEFAULTS.imageHoverScale],\n ['--enad-image-hover-duration', hash.imageHoverDuration as string, TOKEN_DEFAULTS.imageHoverDuration],\n ],\n },\n ];\n\n for (const section of tokenSections) {\n const sectionLines: string[] = [];\n for (const [varName, value, defaultValue] of section.entries) {\n if (value != null && value !== defaultValue) {\n sectionLines.push(` ${varName}: ${value};`);\n }\n }\n if (sectionLines.length > 0) {\n lines.push('', `/* ${section.comment} */`, ':root {', ...sectionLines, '}');\n }\n }\n\n return lines;\n}\n\n/**\n * Generate CSS variable declarations from a decoded theme hash.\n * Merges the hash onto SDK defaults and only emits values that differ.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function generateThemeCSS(hash: ThemeHash, _options: GenerateOptions = {}): string {\n const lines: string[] = ['/* Generated by enad-theme */'];\n\n // --- Light color diffs + base tokens ---\n const lightDiffs = [...buildLightColorDiffs(hash), ...buildBaseTokenDiffs(hash)];\n if (lightDiffs.length > 0) {\n lines.push('', ':root {', ...lightDiffs, '}');\n }\n\n // --- Dark color diffs ---\n const darkDiffs = buildDarkColorDiffs(hash);\n if (darkDiffs.length > 0) {\n lines.push('', '.dark {', ...darkDiffs, '}');\n }\n\n // --- Token sections ---\n lines.push(...buildTokenSections(hash));\n\n return lines.join('\\n');\n}\n\n// Sentinel markers for idempotent file writes\nexport const MARKER_START = '/* === enad-theme:start === */';\nexport const MARKER_END = '/* === enad-theme:end === */';\n\n/**\n * Insert or replace a theme block in a CSS file's content.\n * Returns the updated file content.\n */\nexport function applyThemeBlock(fileContent: string, cssBlock: string): string {\n const startIdx = fileContent.indexOf(MARKER_START);\n const endIdx = fileContent.indexOf(MARKER_END);\n\n const block = `${MARKER_START}\\n${cssBlock}\\n${MARKER_END}`;\n\n if (startIdx !== -1 && endIdx !== -1) {\n return fileContent.slice(0, startIdx) + block + fileContent.slice(endIdx + MARKER_END.length);\n }\n\n // Append with a blank line separator\n const separator = fileContent.length > 0 && !fileContent.endsWith('\\n') ? '\\n' : '';\n return fileContent + separator + '\\n' + block + '\\n';\n}\n","export interface ConflictWarning {\n file: string;\n line: number;\n variable: string;\n existingValue: string;\n}\n\n/**\n * Scan CSS file contents for existing declarations of the given custom properties.\n * Uses simple regex matching -- no CSS parser needed since custom property\n * declarations have unambiguous syntax.\n */\nexport function scanConflicts(\n files: Array<{ path: string; content: string }>,\n variables: string[],\n): ConflictWarning[] {\n if (variables.length === 0) return [];\n\n const warnings: ConflictWarning[] = [];\n // Match lines like ` --variable-name: value;` or `--variable-name: value`\n const varSet = new Set(variables);\n\n for (const file of files) {\n const lines = file.content.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i]!;\n const match = line.match(/^\\s*(--[\\w-]+)\\s*:\\s*(.+?)\\s*;?\\s*$/);\n if (match && varSet.has(match[1]!)) {\n warnings.push({\n file: file.path,\n line: i + 1,\n variable: match[1]!,\n existingValue: match[2]!,\n });\n }\n }\n }\n\n return warnings;\n}\n"],"mappings":";;;AAAA,SAAS,cAAc,eAAe,aAAa,gBAAgB;AACnE,SAAS,SAAS,YAAY;AAC9B,SAAS,MAAM,MAAM,QAAQ,cAAc;;;ACF3C,SAAS,UAAU,eAAe,UAAU,qBAAqB;AAWjE,IAAM,iBAAiB;AAOhB,IAAM,UAAkC;AAAA,EAC7C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AACN;AAGO,IAAM,kBAA0C,OAAO;AAAA,EAC5D,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAC9D;AAcA,SAAS,cAAc,KAAyB;AAC9C,QAAM,SAAS,IAAI,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG;AACvD,QAAM,SAAS,SAAS,IAAI,QAAQ,IAAK,OAAO,SAAS,KAAM,CAAC;AAChE,QAAM,SAAS,KAAK,MAAM;AAC1B,QAAM,QAAQ,IAAI,WAAW,OAAO,MAAM;AAC1C,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,UAAM,CAAC,IAAI,OAAO,WAAW,CAAC;AAAA,EAChC;AACA,SAAO;AACT;AA8BO,SAAS,gBAAgB,MAAyB;AACvD,MAAI;AACF,QAAI,CAAC,QAAQ,KAAK,SAAS,EAAG,QAAO,CAAC;AAEtC,UAAM,UAAU,KAAK,CAAC;AACtB,QAAI,YAAY,eAAgB,QAAO,CAAC;AAExC,UAAM,UAAU,KAAK,MAAM,CAAC;AAC5B,UAAM,QAAQ,cAAc,OAAO;AACnC,UAAM,UAAU,cAAc,KAAK;AAEnC,QAAI,OAAO,YAAY,YAAY,YAAY,KAAM,QAAO,CAAC;AAE7D,UAAM,SAAoB,CAAC;AAC3B,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,YAAM,UAAU,QAAQ,GAAG,KAAK;AAChC,aAAO,OAAO,IAAI;AAAA,IACpB;AACA,WAAO;AAAA,EACT,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;;;AC5HO,IAAM,eAAe;AAAA,EAC1B,OAAO;AAAA,IACL,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,aAAa;AAAA,IACb,wBAAwB;AAAA,IACxB,aAAa;AAAA,IACb,wBAAwB;AAAA,IACxB,eAAe;AAAA,IACf,0BAA0B;AAAA,IAC1B,WAAW;AAAA,IACX,sBAAsB;AAAA,IACtB,YAAY;AAAA,IACZ,uBAAuB;AAAA,IACvB,kBAAkB;AAAA,IAClB,6BAA6B;AAAA,IAC7B,iBAAiB;AAAA,IACjB,4BAA4B;AAAA,IAC5B,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,UAAU;AAAA,EACZ;AAAA,EACA,MAAM;AAAA,IACJ,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,aAAa;AAAA,IACb,wBAAwB;AAAA,IACxB,aAAa;AAAA,IACb,wBAAwB;AAAA,IACxB,eAAe;AAAA,IACf,0BAA0B;AAAA,IAC1B,WAAW;AAAA,IACX,sBAAsB;AAAA,IACtB,YAAY;AAAA,IACZ,uBAAuB;AAAA,IACvB,kBAAkB;AAAA,IAClB,6BAA6B;AAAA,IAC7B,iBAAiB;AAAA,IACjB,4BAA4B;AAAA,IAC5B,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,UAAU;AAAA,EACZ;AACF;AAGO,IAAM,iBAAiB;AAAA,EAC5B,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA;AAAA,EAGd,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA;AAAA,EAGb,cAAc;AAAA,EACd,aAAa;AAAA;AAAA,EAGb,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,kBAAkB;AAAA;AAAA,EAGlB,aAAa;AAAA;AAAA,EAGb,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,kBAAkB;AAAA;AAAA,EAGlB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA;AAAA,EAGpB,UAAU;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,IACX,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,SAAS;AAAA,IACT,aAAa;AAAA,EACf;AACF;;;AChGA,SAAS,qBAAqB,MAA2B;AACvD,QAAM,iBAAkB,KAAK,eAAe,CAAC;AAC7C,QAAM,QAAkB,CAAC;AACzB,aAAW,CAAC,OAAO,KAAK,KAAK,OAAO,QAAQ,cAAc,GAAG;AAC3D,QAAI,UAAU,aAAa,MAAM,KAAK,GAAG;AACvC,YAAM,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,IACpC;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,oBAAoB,MAA2B;AACtD,QAAM,QAAkB,CAAC;AAEzB,QAAM,SAAS,KAAK;AACpB,MAAI,UAAU,QAAQ,WAAW,MAAM;AACrC,UAAM,KAAK,eAAe,MAAM,MAAM;AAAA,EACxC;AAEA,QAAM,WAAW,KAAK;AACtB,MAAI,YAAY,aAAa,SAAS;AACpC,UAAM,KAAK,mBAAmB,QAAQ,gBAAgB;AAAA,EACxD;AAEA,QAAM,cAAc,KAAK;AACzB,MAAI,eAAe,gBAAgB,YAAY,gBAAgB,SAAS;AACtE,UAAM,KAAK,sBAAsB,WAAW,gBAAgB;AAAA,EAC9D;AAEA,SAAO;AACT;AAEA,SAAS,oBAAoB,MAA2B;AACtD,QAAM,gBAAiB,KAAK,cAAc,CAAC;AAC3C,QAAM,QAAkB,CAAC;AACzB,aAAW,CAAC,OAAO,KAAK,KAAK,OAAO,QAAQ,aAAa,GAAG;AAC1D,QAAI,UAAU,aAAa,KAAK,KAAK,GAAG;AACtC,YAAM,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,IACpC;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,mBAAmB,MAA2B;AACrD,QAAM,QAAkB,CAAC;AAEzB,QAAM,gBAAsF;AAAA,IAC1F;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,wBAAwB,KAAK,cAAwB,eAAe,YAAY;AAAA,QACjF,CAAC,sBAAsB,KAAK,YAAsB,eAAe,UAAU;AAAA,QAC3E,CAAC,uBAAuB,KAAK,aAAuB,eAAe,WAAW;AAAA,QAC9E,CAAC,uBAAuB,KAAK,aAAuB,eAAe,WAAW;AAAA,MAChF;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,uBAAuB,KAAK,aAAuB,eAAe,WAAW;AAAA,MAChF;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,yBAAyB,KAAK,eAAyB,eAAe,aAAa;AAAA,QACpF,CAAC,2BAA2B,KAAK,iBAA2B,eAAe,eAAe;AAAA,QAC1F,CAAC,sBAAsB,KAAK,YAAsB,eAAe,UAAU;AAAA,QAC3E,CAAC,4BAA4B,KAAK,kBAA4B,eAAe,gBAAgB;AAAA,MAC/F;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,uBAAuB,KAAK,aAAuB,eAAe,WAAW;AAAA,MAChF;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,wBAAwB,KAAK,cAAwB,eAAe,YAAY;AAAA,QACjF,CAAC,+BAA+B,KAAK,oBAA8B,eAAe,kBAAkB;AAAA,QACpG,CAAC,6BAA6B,KAAK,kBAA4B,eAAe,gBAAgB;AAAA,MAChG;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,QACP,CAAC,4BAA4B,KAAK,iBAA2B,eAAe,eAAe;AAAA,QAC3F,CAAC,+BAA+B,KAAK,oBAA8B,eAAe,kBAAkB;AAAA,MACtG;AAAA,IACF;AAAA,EACF;AAEA,aAAW,WAAW,eAAe;AACnC,UAAM,eAAyB,CAAC;AAChC,eAAW,CAAC,SAAS,OAAO,YAAY,KAAK,QAAQ,SAAS;AAC5D,UAAI,SAAS,QAAQ,UAAU,cAAc;AAC3C,qBAAa,KAAK,KAAK,OAAO,KAAK,KAAK,GAAG;AAAA,MAC7C;AAAA,IACF;AACA,QAAI,aAAa,SAAS,GAAG;AAC3B,YAAM,KAAK,IAAI,MAAM,QAAQ,OAAO,OAAO,WAAW,GAAG,cAAc,GAAG;AAAA,IAC5E;AAAA,EACF;AAEA,SAAO;AACT;AAOO,SAAS,iBAAiB,MAAiB,WAA4B,CAAC,GAAW;AACxF,QAAM,QAAkB,CAAC,+BAA+B;AAGxD,QAAM,aAAa,CAAC,GAAG,qBAAqB,IAAI,GAAG,GAAG,oBAAoB,IAAI,CAAC;AAC/E,MAAI,WAAW,SAAS,GAAG;AACzB,UAAM,KAAK,IAAI,WAAW,GAAG,YAAY,GAAG;AAAA,EAC9C;AAGA,QAAM,YAAY,oBAAoB,IAAI;AAC1C,MAAI,UAAU,SAAS,GAAG;AACxB,UAAM,KAAK,IAAI,WAAW,GAAG,WAAW,GAAG;AAAA,EAC7C;AAGA,QAAM,KAAK,GAAG,mBAAmB,IAAI,CAAC;AAEtC,SAAO,MAAM,KAAK,IAAI;AACxB;AAGO,IAAM,eAAe;AACrB,IAAM,aAAa;AAMnB,SAAS,gBAAgB,aAAqB,UAA0B;AAC7E,QAAM,WAAW,YAAY,QAAQ,YAAY;AACjD,QAAM,SAAS,YAAY,QAAQ,UAAU;AAE7C,QAAM,QAAQ,GAAG,YAAY;AAAA,EAAK,QAAQ;AAAA,EAAK,UAAU;AAEzD,MAAI,aAAa,MAAM,WAAW,IAAI;AACpC,WAAO,YAAY,MAAM,GAAG,QAAQ,IAAI,QAAQ,YAAY,MAAM,SAAS,WAAW,MAAM;AAAA,EAC9F;AAGA,QAAM,YAAY,YAAY,SAAS,KAAK,CAAC,YAAY,SAAS,IAAI,IAAI,OAAO;AACjF,SAAO,cAAc,YAAY,OAAO,QAAQ;AAClD;;;ACvJO,SAAS,cACd,OACA,WACmB;AACnB,MAAI,UAAU,WAAW,EAAG,QAAO,CAAC;AAEpC,QAAM,WAA8B,CAAC;AAErC,QAAM,SAAS,IAAI,IAAI,SAAS;AAEhC,aAAW,QAAQ,OAAO;AACxB,UAAM,QAAQ,KAAK,QAAQ,MAAM,IAAI;AACrC,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,KAAK,MAAM,qCAAqC;AAC9D,UAAI,SAAS,OAAO,IAAI,MAAM,CAAC,CAAE,GAAG;AAClC,iBAAS,KAAK;AAAA,UACZ,MAAM,KAAK;AAAA,UACX,MAAM,IAAI;AAAA,UACV,UAAU,MAAM,CAAC;AAAA,UACjB,eAAe,MAAM,CAAC;AAAA,QACxB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;;;AJtBA,SAAS,aAAa;AACpB,SAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAcd;AACD;AAEA,SAAS,UAAU,MAAmC;AACpD,MAAI,KAAK,WAAW,KAAK,KAAK,SAAS,QAAQ,GAAG;AAChD,eAAW;AACX,SAAK,CAAC;AAAA,EACR;AAEA,QAAM,UAAU,KAAK,CAAC;AACtB,MAAI,YAAY,SAAS;AACvB,WAAO,MAAM,oBAAoB,OAAO;AAAA;AAAA,CAAsC;AAC9E,SAAK,CAAC;AAAA,EACR;AAEA,QAAM,OAAO,KAAK,CAAC;AACnB,MAAI,CAAC,MAAM;AACT,WAAO,MAAM,uCAAuC;AACpD,SAAK,CAAC;AAAA,EACR;AAEA,MAAI,SAAS;AACb,MAAI,aAA8B;AAClC,MAAI,UAAU;AACd,MAAI,SAAS;AAEb,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAQ,KAAK,CAAC,GAAG;AAAA,MACf,KAAK;AACH,iBAAS,KAAK,EAAE,CAAC,KAAK;AACtB;AAAA,MACF,KAAK;AACH,qBAAc,KAAK,EAAE,CAAC,KAAyB;AAC/C;AAAA,MACF,KAAK;AACH,kBAAU,KAAK,EAAE,CAAC,KAAK;AACvB;AAAA,MACF,KAAK;AACH,iBAAS;AACT;AAAA,IACJ;AAAA,EACF;AAEA,SAAO,EAAE,SAAS,MAAM,QAAQ,YAAY,SAAS,OAAO;AAC9D;AAEA,SAAS,iBAAiB,YAA4B;AACpD,MAAI;AACF,WAAO,aAAa,YAAY,OAAO;AAAA,EACzC,QAAQ;AAEN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,YAAY,YAAoB,QAAgB,UAAkB,KAAa;AACtF,QAAM,UAAU,gBAAgB,UAAU,GAAG;AAC7C,gBAAc,YAAY,SAAS,OAAO;AAE1C,QAAM,WAAW,SAAS,SAAS,YAAY;AAC/C,SAAO;AAAA,IACL,WACI,0BAA0B,MAAM;AAAA,IAChC,wBAAwB,MAAM;AAAA;AAAA,EACpC;AACF;AAEA,SAAS,iBAAiB,SAAiB,YAAoB,KAAa;AAE1E,QAAM,aAAa;AACnB,QAAM,YAAsB,CAAC;AAC7B,MAAI;AACJ,UAAQ,QAAQ,WAAW,KAAK,GAAG,OAAO,MAAM;AAC9C,cAAU,KAAK,MAAM,CAAC,CAAE;AAAA,EAC1B;AAEA,MAAI,UAAU,WAAW,EAAG;AAG5B,QAAM,WAAqD,CAAC;AAE5D,WAAS,KAAK,KAAa;AACzB,QAAI;AACF,iBAAW,SAAS,YAAY,GAAG,GAAG;AACpC,cAAM,OAAO,KAAK,KAAK,KAAK;AAC5B,YAAI;AACF,gBAAM,OAAO,SAAS,IAAI;AAC1B,cAAI,KAAK,YAAY,KAAK,CAAC,MAAM,WAAW,GAAG,KAAK,UAAU,gBAAgB;AAC5E,iBAAK,IAAI;AAAA,UACX,WAAW,KAAK,OAAO,KAAK,KAAK,SAAS,MAAM,KAAK,QAAQ,IAAI,MAAM,YAAY;AACjF,qBAAS,KAAK,EAAE,MAAM,MAAM,SAAS,aAAa,MAAM,OAAO,EAAE,CAAC;AAAA,UACpE;AAAA,QACF,QAAQ;AAAA,QAER;AAAA,MACF;AAAA,IACF,QAAQ;AAAA,IAER;AAAA,EACF;AAEA,OAAK,QAAQ,OAAO,CAAC;AAErB,QAAM,WAAW,cAAc,UAAU,SAAS;AAClD,MAAI,SAAS,SAAS,GAAG;AACvB,WAAO,MAAM;AAAA;AAAA,CAAqC;AAClD,eAAW,KAAK,UAAU;AACxB,aAAO,MAAM,KAAK,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,EAAE,QAAQ,KAAK,EAAE,aAAa;AAAA,CAAI;AAAA,IAC3E;AACA,WAAO,MAAM;AAAA;AAAA,CAA0E;AAAA,EACzF;AACF;AAEA,SAAS,OAAO;AACd,QAAM,SAAS,UAAU,KAAK,MAAM,CAAC,CAAC;AACtC,MAAI,CAAC,OAAQ;AAEb,QAAM,EAAE,MAAM,QAAQ,YAAY,SAAS,OAAO,IAAI;AAGtD,QAAM,UAAU,gBAAgB,IAAI;AACpC,MAAI,OAAO,KAAK,OAAO,EAAE,WAAW,GAAG;AACrC,WAAO,MAAM,qEAAqE;AAClF,SAAK,CAAC;AAAA,EACR;AAGA,QAAM,MAAM,iBAAiB,SAAS,EAAE,WAAW,CAAC;AAEpD,MAAI,QAAQ;AACV,WAAO,MAAM,MAAM,IAAI;AACvB,SAAK,CAAC;AAAA,EACR;AAGA,QAAM,aAAa,QAAQ,MAAM;AACjC,QAAM,WAAW,iBAAiB,UAAU;AAC5C,cAAY,YAAY,QAAQ,UAAU,GAAG;AAE7C,mBAAiB,SAAS,YAAY,GAAG;AAC3C;AAEA,KAAK;","names":[]}
|
|
1
|
+
{"version":3,"file":"cli.mjs","names":["msgpackDecode"],"sources":["../../../src/client/theme/codec.ts","../../../src/client/theme/defaults.ts","../../../src/client/theme/apply.ts","../../../src/client/theme/scan.ts","../../../src/client/theme/cli.ts"],"sourcesContent":["import { decode as msgpackDecode, encode as msgpackEncode } from \"@msgpack/msgpack\";\n\n/**\n * Loose bag of theme values. The decoder returns whatever keys are present;\n * the consumer merges onto its own defaults. This keeps the format\n * forward/backward compatible: new keys are silently ignored by old decoders,\n * and removed keys are filled from defaults by the consumer.\n */\nexport type ThemeHash = Record<string, unknown>;\n\n// Current format version. Prepended as a single ASCII char before the base64url payload.\nconst FORMAT_VERSION = \"1\";\n\n// ---------------------------------------------------------------------------\n// Short key mapping\n// ---------------------------------------------------------------------------\n\n/** Short key -> full key */\nexport const KEY_MAP: Record<string, string> = {\n c: \"colorize\",\n i: \"intensity\",\n d: \"delight\",\n r: \"radius\",\n bf: \"fontBody\",\n hf: \"fontHeading\",\n ic: \"iconSet\",\n cs: \"colorSpace\",\n dm: \"darkMode\",\n lc: \"lightColors\",\n dc: \"darkColors\",\n br: \"buttonRadius\",\n cr: \"cardRadius\",\n ir: \"inputRadius\",\n mr: \"imageRadius\",\n sp: \"shadowPreset\",\n sc: \"shadowColor\",\n hw: \"headingWeight\",\n ht: \"headingTracking\",\n bw: \"bodyWeight\",\n hx: \"headingTransform\",\n bdr: \"borderWidth\",\n oc: \"overlayColor\",\n of: \"overlayFromOpacity\",\n ot: \"overlayToOpacity\",\n hs: \"imageHoverScale\",\n hd: \"imageHoverDuration\",\n v: \"variants\",\n xs: \"componentSet\",\n};\n\n/** Full key -> short key (inverse of KEY_MAP) */\nexport const KEY_MAP_REVERSE: Record<string, string> = Object.fromEntries(\n Object.entries(KEY_MAP).map(([short, full]) => [full, short]),\n);\n\n// ---------------------------------------------------------------------------\n// Base64url helpers (RFC 4648 §5, no padding)\n// ---------------------------------------------------------------------------\n\nfunction toBase64url(buf: Uint8Array): string {\n let binary = \"\";\n for (let i = 0; i < buf.length; i++) {\n binary += String.fromCharCode(buf[i]!);\n }\n return btoa(binary).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n}\n\nfunction fromBase64url(str: string): Uint8Array {\n const base64 = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64 + \"=\".repeat((4 - (base64.length % 4)) % 4);\n const binary = atob(padded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\n\n// ---------------------------------------------------------------------------\n// Encode / Decode\n// ---------------------------------------------------------------------------\n\n/**\n * Encode a theme state diff into a portable hash string.\n *\n * The input should only contain non-default values. The encoder maps\n * full keys to short keys, packs with MessagePack, and encodes as\n * `<version><base64url>`.\n */\nexport function encodeThemeHash(diff: ThemeHash): string {\n const compact: Record<string, unknown> = {};\n for (const [fullKey, value] of Object.entries(diff)) {\n const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;\n compact[shortKey] = value;\n }\n const packed = msgpackEncode(compact);\n return FORMAT_VERSION + toBase64url(packed);\n}\n\n/**\n * Decode a hash string back into a key-value bag with full key names.\n *\n * Returns partial data -- the consumer is responsible for merging onto\n * its own defaults. Unknown keys are preserved for forward compatibility.\n * Returns an empty object on invalid input (never throws).\n */\nexport function decodeThemeHash(hash: string): ThemeHash {\n try {\n if (!hash || hash.length < 2) return {};\n\n const version = hash[0];\n if (version !== FORMAT_VERSION) return {};\n\n const payload = hash.slice(1);\n const bytes = fromBase64url(payload);\n const compact = msgpackDecode(bytes) as Record<string, unknown>;\n\n if (typeof compact !== \"object\" || compact === null) return {};\n\n const result: ThemeHash = {};\n for (const [key, value] of Object.entries(compact)) {\n const fullKey = KEY_MAP[key] ?? key;\n result[fullKey] = value;\n }\n return result;\n } catch {\n return {};\n }\n}\n","/**\n * SDK default color tokens. These are the canonical defaults used by\n * the theme codec to compute diffs (only non-default values are encoded).\n */\nexport const SDK_DEFAULTS = {\n light: {\n \"--background\": \"#ffffff\",\n \"--foreground\": \"#111827\",\n \"--card\": \"#ffffff\",\n \"--card-foreground\": \"#111827\",\n \"--popover\": \"#ffffff\",\n \"--popover-foreground\": \"#111827\",\n \"--primary\": \"#2563eb\",\n \"--primary-foreground\": \"#ffffff\",\n \"--secondary\": \"#f1f5f9\",\n \"--secondary-foreground\": \"#0f172a\",\n \"--muted\": \"#f3f4f6\",\n \"--muted-foreground\": \"#636b78\",\n \"--accent\": \"#dbeafe\",\n \"--accent-foreground\": \"#1e3a8a\",\n \"--accent-muted\": \"#eff6ff\",\n \"--accent-muted-foreground\": \"#1e40af\",\n \"--destructive\": \"#dc2626\",\n \"--destructive-foreground\": \"#ffffff\",\n \"--border\": \"#e5e7eb\",\n \"--input\": \"#e5e7eb\",\n \"--ring\": \"#2563eb\",\n } as Record<string, string>,\n dark: {\n \"--background\": \"#111827\",\n \"--foreground\": \"#f9fafb\",\n \"--card\": \"#1f2937\",\n \"--card-foreground\": \"#f9fafb\",\n \"--popover\": \"#1f2937\",\n \"--popover-foreground\": \"#f9fafb\",\n \"--primary\": \"#2563eb\",\n \"--primary-foreground\": \"#ffffff\",\n \"--secondary\": \"#1e293b\",\n \"--secondary-foreground\": \"#e2e8f0\",\n \"--muted\": \"#374151\",\n \"--muted-foreground\": \"#b0b8c4\",\n \"--accent\": \"#1e3a5f\",\n \"--accent-foreground\": \"#bfdbfe\",\n \"--accent-muted\": \"#172554\",\n \"--accent-muted-foreground\": \"#93c5fd\",\n \"--destructive\": \"#dc2626\",\n \"--destructive-foreground\": \"#ffffff\",\n \"--border\": \"#374151\",\n \"--input\": \"#374151\",\n \"--ring\": \"#2563eb\",\n } as Record<string, string>,\n};\n\n/** Default values for design tokens (non-color). */\nexport const TOKEN_DEFAULTS = {\n colorize: 50,\n intensity: 50,\n delight: 50,\n radius: 0.75,\n fontBody: \"Inter\",\n fontHeading: \"Inter\",\n iconSet: \"Phosphor\",\n colorSpace: \"hsl\",\n darkMode: false,\n componentSet: \"default\" as const,\n\n // Shape\n buttonRadius: \"9999px\",\n cardRadius: \"var(--radius)\",\n inputRadius: \"var(--radius)\",\n imageRadius: \"0px\",\n\n // Depth\n shadowPreset: \"none\",\n shadowColor: \"oklch(0 0 0 / 0.1)\",\n\n // Typography\n headingWeight: \"600\",\n headingTracking: \"0em\",\n bodyWeight: \"400\",\n headingTransform: \"none\",\n\n // Border\n borderWidth: \"1px\",\n\n // Overlay\n overlayColor: \"black\",\n overlayFromOpacity: \"0.5\",\n overlayToOpacity: \"0\",\n\n // Motion\n imageHoverScale: \"1.05\",\n imageHoverDuration: \"300ms\",\n\n // Variants\n variants: {\n hero: \"overlay\",\n linkBlock: \"overlay\",\n productCard: \"gallery\",\n contentWithImage: \"side-by-side\",\n gallery: \"grid\",\n textContent: \"default\",\n },\n} as const;\n","import type { ThemeHash } from './codec';\nimport { SDK_DEFAULTS, TOKEN_DEFAULTS } from './defaults';\n\nexport interface GenerateOptions {\n colorSpace?: 'hsl' | 'oklch';\n}\n\nfunction buildLightColorDiffs(hash: ThemeHash): string[] {\n const lightOverrides = (hash.lightColors ?? {}) as Record<string, string>;\n const diffs: string[] = [];\n for (const [token, value] of Object.entries(lightOverrides)) {\n if (value !== SDK_DEFAULTS.light[token]) {\n diffs.push(` ${token}: ${value};`);\n }\n }\n return diffs;\n}\n\nfunction buildBaseTokenDiffs(hash: ThemeHash): string[] {\n const diffs: string[] = [];\n\n const radius = hash.radius as number | undefined;\n if (radius != null && radius !== 0.75) {\n diffs.push(` --radius: ${radius}rem;`);\n }\n\n const fontBody = hash.fontBody as string | undefined;\n if (fontBody && fontBody !== 'Inter') {\n diffs.push(` --font-sans: \"${fontBody}\", sans-serif;`);\n }\n\n const fontHeading = hash.fontHeading as string | undefined;\n if (fontHeading && fontHeading !== fontBody && fontHeading !== 'Inter') {\n diffs.push(` --font-heading: \"${fontHeading}\", sans-serif;`);\n }\n\n return diffs;\n}\n\nfunction buildDarkColorDiffs(hash: ThemeHash): string[] {\n const darkOverrides = (hash.darkColors ?? {}) as Record<string, string>;\n const diffs: string[] = [];\n for (const [token, value] of Object.entries(darkOverrides)) {\n if (value !== SDK_DEFAULTS.dark[token]) {\n diffs.push(` ${token}: ${value};`);\n }\n }\n return diffs;\n}\n\nfunction buildTokenSections(hash: ThemeHash): string[] {\n const lines: string[] = [];\n\n const tokenSections: Array<{ comment: string; entries: Array<[string, string, string]> }> = [\n {\n comment: 'Shape',\n entries: [\n ['--enad-button-radius', hash.buttonRadius as string, TOKEN_DEFAULTS.buttonRadius],\n ['--enad-card-radius', hash.cardRadius as string, TOKEN_DEFAULTS.cardRadius],\n ['--enad-input-radius', hash.inputRadius as string, TOKEN_DEFAULTS.inputRadius],\n ['--enad-image-radius', hash.imageRadius as string, TOKEN_DEFAULTS.imageRadius],\n ],\n },\n {\n comment: 'Depth',\n entries: [\n ['--enad-shadow-color', hash.shadowColor as string, TOKEN_DEFAULTS.shadowColor],\n ],\n },\n {\n comment: 'Typography',\n entries: [\n ['--enad-heading-weight', hash.headingWeight as string, TOKEN_DEFAULTS.headingWeight],\n ['--enad-heading-tracking', hash.headingTracking as string, TOKEN_DEFAULTS.headingTracking],\n ['--enad-body-weight', hash.bodyWeight as string, TOKEN_DEFAULTS.bodyWeight],\n ['--enad-heading-transform', hash.headingTransform as string, TOKEN_DEFAULTS.headingTransform],\n ],\n },\n {\n comment: 'Borders',\n entries: [\n ['--enad-border-width', hash.borderWidth as string, TOKEN_DEFAULTS.borderWidth],\n ],\n },\n {\n comment: 'Overlay',\n entries: [\n ['--enad-overlay-color', hash.overlayColor as string, TOKEN_DEFAULTS.overlayColor],\n ['--enad-overlay-from-opacity', hash.overlayFromOpacity as string, TOKEN_DEFAULTS.overlayFromOpacity],\n ['--enad-overlay-to-opacity', hash.overlayToOpacity as string, TOKEN_DEFAULTS.overlayToOpacity],\n ],\n },\n {\n comment: 'Motion',\n entries: [\n ['--enad-image-hover-scale', hash.imageHoverScale as string, TOKEN_DEFAULTS.imageHoverScale],\n ['--enad-image-hover-duration', hash.imageHoverDuration as string, TOKEN_DEFAULTS.imageHoverDuration],\n ],\n },\n ];\n\n for (const section of tokenSections) {\n const sectionLines: string[] = [];\n for (const [varName, value, defaultValue] of section.entries) {\n if (value != null && value !== defaultValue) {\n sectionLines.push(` ${varName}: ${value};`);\n }\n }\n if (sectionLines.length > 0) {\n lines.push('', `/* ${section.comment} */`, ':root {', ...sectionLines, '}');\n }\n }\n\n return lines;\n}\n\n/**\n * Generate CSS variable declarations from a decoded theme hash.\n * Merges the hash onto SDK defaults and only emits values that differ.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function generateThemeCSS(hash: ThemeHash, _options: GenerateOptions = {}): string {\n const lines: string[] = ['/* Generated by enad-theme */'];\n\n // --- Light color diffs + base tokens ---\n const lightDiffs = [...buildLightColorDiffs(hash), ...buildBaseTokenDiffs(hash)];\n if (lightDiffs.length > 0) {\n lines.push('', ':root {', ...lightDiffs, '}');\n }\n\n // --- Dark color diffs ---\n const darkDiffs = buildDarkColorDiffs(hash);\n if (darkDiffs.length > 0) {\n lines.push('', '.dark {', ...darkDiffs, '}');\n }\n\n // --- Token sections ---\n lines.push(...buildTokenSections(hash));\n\n return lines.join('\\n');\n}\n\n// Sentinel markers for idempotent file writes\nexport const MARKER_START = '/* === enad-theme:start === */';\nexport const MARKER_END = '/* === enad-theme:end === */';\n\n/**\n * Insert or replace a theme block in a CSS file's content.\n * Returns the updated file content.\n */\nexport function applyThemeBlock(fileContent: string, cssBlock: string): string {\n const startIdx = fileContent.indexOf(MARKER_START);\n const endIdx = fileContent.indexOf(MARKER_END);\n\n const block = `${MARKER_START}\\n${cssBlock}\\n${MARKER_END}`;\n\n if (startIdx !== -1 && endIdx !== -1) {\n return fileContent.slice(0, startIdx) + block + fileContent.slice(endIdx + MARKER_END.length);\n }\n\n // Append with a blank line separator\n const separator = fileContent.length > 0 && !fileContent.endsWith('\\n') ? '\\n' : '';\n return fileContent + separator + '\\n' + block + '\\n';\n}\n","export interface ConflictWarning {\n file: string;\n line: number;\n variable: string;\n existingValue: string;\n}\n\n/**\n * Scan CSS file contents for existing declarations of the given custom properties.\n * Uses simple regex matching -- no CSS parser needed since custom property\n * declarations have unambiguous syntax.\n */\nexport function scanConflicts(\n files: Array<{ path: string; content: string }>,\n variables: string[],\n): ConflictWarning[] {\n if (variables.length === 0) return [];\n\n const warnings: ConflictWarning[] = [];\n // Match lines like ` --variable-name: value;` or `--variable-name: value`\n const varSet = new Set(variables);\n\n for (const file of files) {\n const lines = file.content.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i]!;\n const match = line.match(/^\\s*(--[\\w-]+)\\s*:\\s*(.+?)\\s*;?\\s*$/);\n if (match && varSet.has(match[1]!)) {\n warnings.push({\n file: file.path,\n line: i + 1,\n variable: match[1]!,\n existingValue: match[2]!,\n });\n }\n }\n }\n\n return warnings;\n}\n","import { readFileSync, writeFileSync, readdirSync, statSync } from 'node:fs';\nimport { resolve, join } from 'node:path';\nimport { argv, exit, stderr, stdout } from 'node:process';\n\nimport { decodeThemeHash } from './codec';\nimport { applyThemeBlock, generateThemeCSS, MARKER_START } from './apply';\nimport { scanConflicts } from './scan';\n\ninterface ParsedArgs {\n command: string;\n hash: string;\n target: string;\n colorSpace: 'hsl' | 'oklch';\n scanDir: string;\n dryRun: boolean;\n}\n\nfunction printUsage() {\n stderr.write(`\nUsage: enad-theme apply <hash> [options]\n\nOptions:\n --target <file> Target CSS file (default: src/globals.css)\n --color-space <cs> Color space: hsl | oklch (default: hsl)\n --scan <dir> Directory to scan for conflicts (default: src)\n --dry-run Print CSS to stdout without writing\n --help Show this help message\n\nExamples:\n enad-theme apply 1k5YWJj...\n enad-theme apply 1k5YWJj... --target app/globals.css --color-space oklch\n enad-theme apply 1k5YWJj... --dry-run\n`);\n}\n\nfunction parseArgs(args: string[]): ParsedArgs | null {\n if (args.length === 0 || args.includes('--help')) {\n printUsage();\n exit(0);\n }\n\n const command = args[0]!;\n if (command !== 'apply') {\n stderr.write(`Unknown command: ${command}\\nRun enad-theme --help for usage.\\n`);\n exit(1);\n }\n\n const hash = args[1];\n if (!hash) {\n stderr.write('Error: missing theme hash argument.\\n');\n exit(1);\n }\n\n let target = 'src/globals.css';\n let colorSpace: 'hsl' | 'oklch' = 'hsl';\n let scanDir = 'src';\n let dryRun = false;\n\n for (let i = 2; i < args.length; i++) {\n switch (args[i]) {\n case '--target':\n target = args[++i] ?? target;\n break;\n case '--color-space':\n colorSpace = (args[++i] as 'hsl' | 'oklch') ?? colorSpace;\n break;\n case '--scan':\n scanDir = args[++i] ?? scanDir;\n break;\n case '--dry-run':\n dryRun = true;\n break;\n }\n }\n\n return { command, hash, target, colorSpace, scanDir, dryRun };\n}\n\nfunction readExistingFile(targetPath: string): string {\n try {\n return readFileSync(targetPath, 'utf-8');\n } catch {\n // File doesn't exist yet, we'll create it\n return '';\n }\n}\n\nfunction writeOutput(targetPath: string, target: string, existing: string, css: string) {\n const updated = applyThemeBlock(existing, css);\n writeFileSync(targetPath, updated, 'utf-8');\n\n const isUpdate = existing.includes(MARKER_START);\n stderr.write(\n isUpdate\n ? `Updated theme block in ${target}\\n`\n : `Wrote theme block to ${target}\\n`,\n );\n}\n\nfunction scanForConflicts(scanDir: string, targetPath: string, css: string) {\n // Extract variable names from the generated CSS\n const varPattern = /^\\s*(--[\\w-]+)\\s*:/gm;\n const variables: string[] = [];\n let match: RegExpExecArray | null;\n while ((match = varPattern.exec(css)) !== null) {\n variables.push(match[1]!);\n }\n\n if (variables.length === 0) return;\n\n // Simple recursive CSS file scan\n const cssFiles: Array<{ path: string; content: string }> = [];\n\n function walk(dir: string) {\n try {\n for (const entry of readdirSync(dir)) {\n const full = join(dir, entry);\n try {\n const stat = statSync(full);\n if (stat.isDirectory() && !entry.startsWith('.') && entry !== 'node_modules') {\n walk(full);\n } else if (stat.isFile() && full.endsWith('.css') && resolve(full) !== targetPath) {\n cssFiles.push({ path: full, content: readFileSync(full, 'utf-8') });\n }\n } catch {\n // Skip inaccessible files\n }\n }\n } catch {\n // Skip inaccessible directories\n }\n }\n\n walk(resolve(scanDir));\n\n const warnings = scanConflicts(cssFiles, variables);\n if (warnings.length > 0) {\n stderr.write(`\\nConflicting declarations found:\\n`);\n for (const w of warnings) {\n stderr.write(` ${w.file}:${w.line} ${w.variable}: ${w.existingValue}\\n`);\n }\n stderr.write(`\\nThese existing declarations may override or conflict with the theme.\\n`);\n }\n}\n\nfunction main() {\n const parsed = parseArgs(argv.slice(2));\n if (!parsed) return;\n\n const { hash, target, colorSpace, scanDir, dryRun } = parsed;\n\n // Decode\n const decoded = decodeThemeHash(hash);\n if (Object.keys(decoded).length === 0) {\n stderr.write('Error: failed to decode theme hash. Check that the hash is valid.\\n');\n exit(1);\n }\n\n // Generate CSS\n const css = generateThemeCSS(decoded, { colorSpace });\n\n if (dryRun) {\n stdout.write(css + '\\n');\n exit(0);\n }\n\n // Write to target file\n const targetPath = resolve(target);\n const existing = readExistingFile(targetPath);\n writeOutput(targetPath, target, existing, css);\n\n scanForConflicts(scanDir, targetPath, css);\n}\n\nmain();\n"],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
//#region src/client/theme/codec.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* Loose bag of theme values. The decoder returns whatever keys are present;
|
|
3
4
|
* the consumer merges onto its own defaults. This keeps the format
|
|
4
5
|
* forward/backward compatible: new keys are silently ignored by old decoders,
|
|
5
6
|
* and removed keys are filled from defaults by the consumer.
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
|
+
type ThemeHash = Record<string, unknown>;
|
|
8
9
|
/** Short key -> full key */
|
|
9
|
-
|
|
10
|
+
declare const KEY_MAP: Record<string, string>;
|
|
10
11
|
/** Full key -> short key (inverse of KEY_MAP) */
|
|
11
|
-
|
|
12
|
+
declare const KEY_MAP_REVERSE: Record<string, string>;
|
|
12
13
|
/**
|
|
13
14
|
* Encode a theme state diff into a portable hash string.
|
|
14
15
|
*
|
|
@@ -16,7 +17,7 @@ export declare const KEY_MAP_REVERSE: Record<string, string>;
|
|
|
16
17
|
* full keys to short keys, packs with MessagePack, and encodes as
|
|
17
18
|
* `<version><base64url>`.
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
|
+
declare function encodeThemeHash(diff: ThemeHash): string;
|
|
20
21
|
/**
|
|
21
22
|
* Decode a hash string back into a key-value bag with full key names.
|
|
22
23
|
*
|
|
@@ -24,5 +25,7 @@ export declare function encodeThemeHash(diff: ThemeHash): string;
|
|
|
24
25
|
* its own defaults. Unknown keys are preserved for forward compatibility.
|
|
25
26
|
* Returns an empty object on invalid input (never throws).
|
|
26
27
|
*/
|
|
27
|
-
|
|
28
|
+
declare function decodeThemeHash(hash: string): ThemeHash;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { KEY_MAP, KEY_MAP_REVERSE, ThemeHash, decodeThemeHash, encodeThemeHash };
|
|
28
31
|
//# sourceMappingURL=codec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.ts","
|
|
1
|
+
{"version":3,"file":"codec.d.ts","names":[],"sources":["../../../src/client/theme/codec.ts"],"mappings":";;AAQA;;;;;KAAY,SAAA,GAAY,MAAA;;cAUX,OAAA,EAAS,MAAA;;cAiCT,eAAA,EAAiB,MAAA;AAA9B;;;;;AAsCA;;AAtCA,iBAsCgB,eAAA,CAAgB,IAAA,EAAM,SAAA;;;AAiBtC;;;;;iBAAgB,eAAA,CAAgB,IAAA,WAAe,SAAA"}
|
|
@@ -1,88 +1,92 @@
|
|
|
1
|
-
import { decode
|
|
1
|
+
import { decode, encode } from "@msgpack/msgpack";
|
|
2
|
+
//#region src/client/theme/codec.ts
|
|
2
3
|
const FORMAT_VERSION = "1";
|
|
4
|
+
/** Short key -> full key */
|
|
3
5
|
const KEY_MAP = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
6
|
+
c: "colorize",
|
|
7
|
+
i: "intensity",
|
|
8
|
+
d: "delight",
|
|
9
|
+
r: "radius",
|
|
10
|
+
bf: "fontBody",
|
|
11
|
+
hf: "fontHeading",
|
|
12
|
+
ic: "iconSet",
|
|
13
|
+
cs: "colorSpace",
|
|
14
|
+
dm: "darkMode",
|
|
15
|
+
lc: "lightColors",
|
|
16
|
+
dc: "darkColors",
|
|
17
|
+
br: "buttonRadius",
|
|
18
|
+
cr: "cardRadius",
|
|
19
|
+
ir: "inputRadius",
|
|
20
|
+
mr: "imageRadius",
|
|
21
|
+
sp: "shadowPreset",
|
|
22
|
+
sc: "shadowColor",
|
|
23
|
+
hw: "headingWeight",
|
|
24
|
+
ht: "headingTracking",
|
|
25
|
+
bw: "bodyWeight",
|
|
26
|
+
hx: "headingTransform",
|
|
27
|
+
bdr: "borderWidth",
|
|
28
|
+
oc: "overlayColor",
|
|
29
|
+
of: "overlayFromOpacity",
|
|
30
|
+
ot: "overlayToOpacity",
|
|
31
|
+
hs: "imageHoverScale",
|
|
32
|
+
hd: "imageHoverDuration",
|
|
33
|
+
v: "variants",
|
|
34
|
+
xs: "componentSet"
|
|
33
35
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
);
|
|
36
|
+
/** Full key -> short key (inverse of KEY_MAP) */
|
|
37
|
+
const KEY_MAP_REVERSE = Object.fromEntries(Object.entries(KEY_MAP).map(([short, full]) => [full, short]));
|
|
37
38
|
function toBase64url(buf) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
39
|
+
let binary = "";
|
|
40
|
+
for (let i = 0; i < buf.length; i++) binary += String.fromCharCode(buf[i]);
|
|
41
|
+
return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
43
42
|
}
|
|
44
43
|
function fromBase64url(str) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
return bytes;
|
|
44
|
+
const base64 = str.replace(/-/g, "+").replace(/_/g, "/");
|
|
45
|
+
const padded = base64 + "=".repeat((4 - base64.length % 4) % 4);
|
|
46
|
+
const binary = atob(padded);
|
|
47
|
+
const bytes = new Uint8Array(binary.length);
|
|
48
|
+
for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
|
|
49
|
+
return bytes;
|
|
53
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Encode a theme state diff into a portable hash string.
|
|
53
|
+
*
|
|
54
|
+
* The input should only contain non-default values. The encoder maps
|
|
55
|
+
* full keys to short keys, packs with MessagePack, and encodes as
|
|
56
|
+
* `<version><base64url>`.
|
|
57
|
+
*/
|
|
54
58
|
function encodeThemeHash(diff) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return FORMAT_VERSION + toBase64url(packed);
|
|
59
|
+
const compact = {};
|
|
60
|
+
for (const [fullKey, value] of Object.entries(diff)) {
|
|
61
|
+
const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;
|
|
62
|
+
compact[shortKey] = value;
|
|
63
|
+
}
|
|
64
|
+
return FORMAT_VERSION + toBase64url(encode(compact));
|
|
62
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Decode a hash string back into a key-value bag with full key names.
|
|
68
|
+
*
|
|
69
|
+
* Returns partial data -- the consumer is responsible for merging onto
|
|
70
|
+
* its own defaults. Unknown keys are preserved for forward compatibility.
|
|
71
|
+
* Returns an empty object on invalid input (never throws).
|
|
72
|
+
*/
|
|
63
73
|
function decodeThemeHash(hash) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
} catch {
|
|
79
|
-
return {};
|
|
80
|
-
}
|
|
74
|
+
try {
|
|
75
|
+
if (!hash || hash.length < 2) return {};
|
|
76
|
+
if (hash[0] !== FORMAT_VERSION) return {};
|
|
77
|
+
const compact = decode(fromBase64url(hash.slice(1)));
|
|
78
|
+
if (typeof compact !== "object" || compact === null) return {};
|
|
79
|
+
const result = {};
|
|
80
|
+
for (const [key, value] of Object.entries(compact)) {
|
|
81
|
+
const fullKey = KEY_MAP[key] ?? key;
|
|
82
|
+
result[fullKey] = value;
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
} catch {
|
|
86
|
+
return {};
|
|
87
|
+
}
|
|
81
88
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
decodeThemeHash,
|
|
86
|
-
encodeThemeHash
|
|
87
|
-
};
|
|
89
|
+
//#endregion
|
|
90
|
+
export { KEY_MAP, KEY_MAP_REVERSE, decodeThemeHash, encodeThemeHash };
|
|
91
|
+
|
|
88
92
|
//# sourceMappingURL=codec.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/theme/codec.ts"],"sourcesContent":["import { decode as msgpackDecode, encode as msgpackEncode } from \"@msgpack/msgpack\";\n\n/**\n * Loose bag of theme values. The decoder returns whatever keys are present;\n * the consumer merges onto its own defaults. This keeps the format\n * forward/backward compatible: new keys are silently ignored by old decoders,\n * and removed keys are filled from defaults by the consumer.\n */\nexport type ThemeHash = Record<string, unknown>;\n\n// Current format version. Prepended as a single ASCII char before the base64url payload.\nconst FORMAT_VERSION = \"1\";\n\n// ---------------------------------------------------------------------------\n// Short key mapping\n// ---------------------------------------------------------------------------\n\n/** Short key -> full key */\nexport const KEY_MAP: Record<string, string> = {\n c: \"colorize\",\n i: \"intensity\",\n d: \"delight\",\n r: \"radius\",\n bf: \"fontBody\",\n hf: \"fontHeading\",\n ic: \"iconSet\",\n cs: \"colorSpace\",\n dm: \"darkMode\",\n lc: \"lightColors\",\n dc: \"darkColors\",\n br: \"buttonRadius\",\n cr: \"cardRadius\",\n ir: \"inputRadius\",\n mr: \"imageRadius\",\n sp: \"shadowPreset\",\n sc: \"shadowColor\",\n hw: \"headingWeight\",\n ht: \"headingTracking\",\n bw: \"bodyWeight\",\n hx: \"headingTransform\",\n bdr: \"borderWidth\",\n oc: \"overlayColor\",\n of: \"overlayFromOpacity\",\n ot: \"overlayToOpacity\",\n hs: \"imageHoverScale\",\n hd: \"imageHoverDuration\",\n v: \"variants\",\n xs: \"componentSet\",\n};\n\n/** Full key -> short key (inverse of KEY_MAP) */\nexport const KEY_MAP_REVERSE: Record<string, string> = Object.fromEntries(\n Object.entries(KEY_MAP).map(([short, full]) => [full, short]),\n);\n\n// ---------------------------------------------------------------------------\n// Base64url helpers (RFC 4648 §5, no padding)\n// ---------------------------------------------------------------------------\n\nfunction toBase64url(buf: Uint8Array): string {\n let binary = \"\";\n for (let i = 0; i < buf.length; i++) {\n binary += String.fromCharCode(buf[i]!);\n }\n return btoa(binary).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n}\n\nfunction fromBase64url(str: string): Uint8Array {\n const base64 = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64 + \"=\".repeat((4 - (base64.length % 4)) % 4);\n const binary = atob(padded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\n\n// ---------------------------------------------------------------------------\n// Encode / Decode\n// ---------------------------------------------------------------------------\n\n/**\n * Encode a theme state diff into a portable hash string.\n *\n * The input should only contain non-default values. The encoder maps\n * full keys to short keys, packs with MessagePack, and encodes as\n * `<version><base64url>`.\n */\nexport function encodeThemeHash(diff: ThemeHash): string {\n const compact: Record<string, unknown> = {};\n for (const [fullKey, value] of Object.entries(diff)) {\n const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;\n compact[shortKey] = value;\n }\n const packed = msgpackEncode(compact);\n return FORMAT_VERSION + toBase64url(packed);\n}\n\n/**\n * Decode a hash string back into a key-value bag with full key names.\n *\n * Returns partial data -- the consumer is responsible for merging onto\n * its own defaults. Unknown keys are preserved for forward compatibility.\n * Returns an empty object on invalid input (never throws).\n */\nexport function decodeThemeHash(hash: string): ThemeHash {\n try {\n if (!hash || hash.length < 2) return {};\n\n const version = hash[0];\n if (version !== FORMAT_VERSION) return {};\n\n const payload = hash.slice(1);\n const bytes = fromBase64url(payload);\n const compact = msgpackDecode(bytes) as Record<string, unknown>;\n\n if (typeof compact !== \"object\" || compact === null) return {};\n\n const result: ThemeHash = {};\n for (const [key, value] of Object.entries(compact)) {\n const fullKey = KEY_MAP[key] ?? key;\n result[fullKey] = value;\n }\n return result;\n } catch {\n return {};\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"codec.mjs","names":["msgpackEncode","msgpackDecode"],"sources":["../../../src/client/theme/codec.ts"],"sourcesContent":["import { decode as msgpackDecode, encode as msgpackEncode } from \"@msgpack/msgpack\";\n\n/**\n * Loose bag of theme values. The decoder returns whatever keys are present;\n * the consumer merges onto its own defaults. This keeps the format\n * forward/backward compatible: new keys are silently ignored by old decoders,\n * and removed keys are filled from defaults by the consumer.\n */\nexport type ThemeHash = Record<string, unknown>;\n\n// Current format version. Prepended as a single ASCII char before the base64url payload.\nconst FORMAT_VERSION = \"1\";\n\n// ---------------------------------------------------------------------------\n// Short key mapping\n// ---------------------------------------------------------------------------\n\n/** Short key -> full key */\nexport const KEY_MAP: Record<string, string> = {\n c: \"colorize\",\n i: \"intensity\",\n d: \"delight\",\n r: \"radius\",\n bf: \"fontBody\",\n hf: \"fontHeading\",\n ic: \"iconSet\",\n cs: \"colorSpace\",\n dm: \"darkMode\",\n lc: \"lightColors\",\n dc: \"darkColors\",\n br: \"buttonRadius\",\n cr: \"cardRadius\",\n ir: \"inputRadius\",\n mr: \"imageRadius\",\n sp: \"shadowPreset\",\n sc: \"shadowColor\",\n hw: \"headingWeight\",\n ht: \"headingTracking\",\n bw: \"bodyWeight\",\n hx: \"headingTransform\",\n bdr: \"borderWidth\",\n oc: \"overlayColor\",\n of: \"overlayFromOpacity\",\n ot: \"overlayToOpacity\",\n hs: \"imageHoverScale\",\n hd: \"imageHoverDuration\",\n v: \"variants\",\n xs: \"componentSet\",\n};\n\n/** Full key -> short key (inverse of KEY_MAP) */\nexport const KEY_MAP_REVERSE: Record<string, string> = Object.fromEntries(\n Object.entries(KEY_MAP).map(([short, full]) => [full, short]),\n);\n\n// ---------------------------------------------------------------------------\n// Base64url helpers (RFC 4648 §5, no padding)\n// ---------------------------------------------------------------------------\n\nfunction toBase64url(buf: Uint8Array): string {\n let binary = \"\";\n for (let i = 0; i < buf.length; i++) {\n binary += String.fromCharCode(buf[i]!);\n }\n return btoa(binary).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n}\n\nfunction fromBase64url(str: string): Uint8Array {\n const base64 = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64 + \"=\".repeat((4 - (base64.length % 4)) % 4);\n const binary = atob(padded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\n\n// ---------------------------------------------------------------------------\n// Encode / Decode\n// ---------------------------------------------------------------------------\n\n/**\n * Encode a theme state diff into a portable hash string.\n *\n * The input should only contain non-default values. The encoder maps\n * full keys to short keys, packs with MessagePack, and encodes as\n * `<version><base64url>`.\n */\nexport function encodeThemeHash(diff: ThemeHash): string {\n const compact: Record<string, unknown> = {};\n for (const [fullKey, value] of Object.entries(diff)) {\n const shortKey = KEY_MAP_REVERSE[fullKey] ?? fullKey;\n compact[shortKey] = value;\n }\n const packed = msgpackEncode(compact);\n return FORMAT_VERSION + toBase64url(packed);\n}\n\n/**\n * Decode a hash string back into a key-value bag with full key names.\n *\n * Returns partial data -- the consumer is responsible for merging onto\n * its own defaults. Unknown keys are preserved for forward compatibility.\n * Returns an empty object on invalid input (never throws).\n */\nexport function decodeThemeHash(hash: string): ThemeHash {\n try {\n if (!hash || hash.length < 2) return {};\n\n const version = hash[0];\n if (version !== FORMAT_VERSION) return {};\n\n const payload = hash.slice(1);\n const bytes = fromBase64url(payload);\n const compact = msgpackDecode(bytes) as Record<string, unknown>;\n\n if (typeof compact !== \"object\" || compact === null) return {};\n\n const result: ThemeHash = {};\n for (const [key, value] of Object.entries(compact)) {\n const fullKey = KEY_MAP[key] ?? key;\n result[fullKey] = value;\n }\n return result;\n } catch {\n return {};\n }\n}\n"],"mappings":";;AAWA,MAAM,iBAAiB;;AAOvB,MAAa,UAAkC;CAC7C,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,GAAG;CACH,IAAI;CACL;;AAGD,MAAa,kBAA0C,OAAO,YAC5D,OAAO,QAAQ,QAAQ,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,MAAM,MAAM,CAAC,CAC9D;AAMD,SAAS,YAAY,KAAyB;CAC5C,IAAI,SAAS;AACb,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,IAC9B,WAAU,OAAO,aAAa,IAAI,GAAI;AAExC,QAAO,KAAK,OAAO,CAAC,QAAQ,OAAO,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,QAAQ,OAAO,GAAG;;AAGhF,SAAS,cAAc,KAAyB;CAC9C,MAAM,SAAS,IAAI,QAAQ,MAAM,IAAI,CAAC,QAAQ,MAAM,IAAI;CACxD,MAAM,SAAS,SAAS,IAAI,QAAQ,IAAK,OAAO,SAAS,KAAM,EAAE;CACjE,MAAM,SAAS,KAAK,OAAO;CAC3B,MAAM,QAAQ,IAAI,WAAW,OAAO,OAAO;AAC3C,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,IACjC,OAAM,KAAK,OAAO,WAAW,EAAE;AAEjC,QAAO;;;;;;;;;AAcT,SAAgB,gBAAgB,MAAyB;CACvD,MAAM,UAAmC,EAAE;AAC3C,MAAK,MAAM,CAAC,SAAS,UAAU,OAAO,QAAQ,KAAK,EAAE;EACnD,MAAM,WAAW,gBAAgB,YAAY;AAC7C,UAAQ,YAAY;;AAGtB,QAAO,iBAAiB,YADTA,OAAc,QAAQ,CACM;;;;;;;;;AAU7C,SAAgB,gBAAgB,MAAyB;AACvD,KAAI;AACF,MAAI,CAAC,QAAQ,KAAK,SAAS,EAAG,QAAO,EAAE;AAGvC,MADgB,KAAK,OACL,eAAgB,QAAO,EAAE;EAIzC,MAAM,UAAUC,OADF,cADE,KAAK,MAAM,EAAE,CACO,CACA;AAEpC,MAAI,OAAO,YAAY,YAAY,YAAY,KAAM,QAAO,EAAE;EAE9D,MAAM,SAAoB,EAAE;AAC5B,OAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAQ,EAAE;GAClD,MAAM,UAAU,QAAQ,QAAQ;AAChC,UAAO,WAAW;;AAEpB,SAAO;SACD;AACN,SAAO,EAAE"}
|
|
@@ -1,64 +1,49 @@
|
|
|
1
|
+
//#region src/client/theme/defaults.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* SDK default color tokens. These are the canonical defaults used by
|
|
3
4
|
* the theme codec to compute diffs (only non-default values are encoded).
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
declare const SDK_DEFAULTS: {
|
|
7
|
+
light: Record<string, string>;
|
|
8
|
+
dark: Record<string, string>;
|
|
8
9
|
};
|
|
9
10
|
/** Default values for design tokens (non-color). */
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
46
|
-
/** Mono preset overrides. Merge onto TOKEN_DEFAULTS when componentSet is "mono". */
|
|
47
|
-
export declare const MONO_TOKEN_OVERRIDES: {
|
|
48
|
-
readonly componentSet: "mono";
|
|
49
|
-
readonly radius: 0.5;
|
|
50
|
-
readonly fontBody: "Lexend";
|
|
51
|
-
readonly fontHeading: "Lexend";
|
|
52
|
-
readonly colorSpace: "oklch";
|
|
53
|
-
readonly buttonRadius: "8px";
|
|
54
|
-
readonly cardRadius: "12px";
|
|
55
|
-
readonly inputRadius: "8px";
|
|
56
|
-
readonly shadowPreset: "subtle";
|
|
57
|
-
readonly shadowColor: "rgba(0, 0, 0, 0.1)";
|
|
58
|
-
};
|
|
59
|
-
/** Mono color defaults (oklch, zero-chroma monochromatic palette). */
|
|
60
|
-
export declare const MONO_SDK_DEFAULTS: {
|
|
61
|
-
light: Record<string, string>;
|
|
62
|
-
dark: Record<string, string>;
|
|
11
|
+
declare const TOKEN_DEFAULTS: {
|
|
12
|
+
readonly colorize: 50;
|
|
13
|
+
readonly intensity: 50;
|
|
14
|
+
readonly delight: 50;
|
|
15
|
+
readonly radius: 0.75;
|
|
16
|
+
readonly fontBody: "Inter";
|
|
17
|
+
readonly fontHeading: "Inter";
|
|
18
|
+
readonly iconSet: "Phosphor";
|
|
19
|
+
readonly colorSpace: "hsl";
|
|
20
|
+
readonly darkMode: false;
|
|
21
|
+
readonly componentSet: "default";
|
|
22
|
+
readonly buttonRadius: "9999px";
|
|
23
|
+
readonly cardRadius: "var(--radius)";
|
|
24
|
+
readonly inputRadius: "var(--radius)";
|
|
25
|
+
readonly imageRadius: "0px";
|
|
26
|
+
readonly shadowPreset: "none";
|
|
27
|
+
readonly shadowColor: "oklch(0 0 0 / 0.1)";
|
|
28
|
+
readonly headingWeight: "600";
|
|
29
|
+
readonly headingTracking: "0em";
|
|
30
|
+
readonly bodyWeight: "400";
|
|
31
|
+
readonly headingTransform: "none";
|
|
32
|
+
readonly borderWidth: "1px";
|
|
33
|
+
readonly overlayColor: "black";
|
|
34
|
+
readonly overlayFromOpacity: "0.5";
|
|
35
|
+
readonly overlayToOpacity: "0";
|
|
36
|
+
readonly imageHoverScale: "1.05";
|
|
37
|
+
readonly imageHoverDuration: "300ms";
|
|
38
|
+
readonly variants: {
|
|
39
|
+
readonly hero: "overlay";
|
|
40
|
+
readonly linkBlock: "overlay";
|
|
41
|
+
readonly productCard: "gallery";
|
|
42
|
+
readonly contentWithImage: "side-by-side";
|
|
43
|
+
readonly gallery: "grid";
|
|
44
|
+
readonly textContent: "default";
|
|
45
|
+
};
|
|
63
46
|
};
|
|
47
|
+
//#endregion
|
|
48
|
+
export { SDK_DEFAULTS, TOKEN_DEFAULTS };
|
|
64
49
|
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","names":[],"sources":["../../../src/client/theme/defaults.ts"],"mappings":";;AAIA;;;cAAa,YAAA;SAuBN,MAAA;QAuBA,MAAA;AAAA;;cAIM,cAAA;EAAA"}
|