@thorprovider/blocks 4.1.0 → 4.3.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/dist/blocks/designs/address-book-advanced/block.d.ts +8 -0
- package/dist/blocks/designs/address-book-advanced/block.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/block.js +36 -0
- package/dist/blocks/designs/address-book-advanced/block.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/block.mjs +12 -0
- package/dist/blocks/designs/address-book-advanced/block.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-action-menu.d.ts +17 -0
- package/dist/blocks/designs/address-book-advanced/components/address-action-menu.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-action-menu.js +123 -0
- package/dist/blocks/designs/address-book-advanced/components/address-action-menu.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-action-menu.mjs +99 -0
- package/dist/blocks/designs/address-book-advanced/components/address-action-menu.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-header.d.ts +15 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-header.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-header.js +52 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-header.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-header.mjs +28 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-header.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-panel.d.ts +25 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-panel.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-panel.js +495 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-panel.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-panel.mjs +476 -0
- package/dist/blocks/designs/address-book-advanced/components/address-book-panel.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card-status.d.ts +12 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card-status.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card-status.js +47 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card-status.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card-status.mjs +23 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card-status.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card.d.ts +26 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card.js +274 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card.mjs +250 -0
- package/dist/blocks/designs/address-book-advanced/components/address-card.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.d.ts +15 -0
- package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.js +100 -0
- package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.mjs +76 -0
- package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-empty-state.d.ts +11 -0
- package/dist/blocks/designs/address-book-advanced/components/address-empty-state.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-empty-state.js +46 -0
- package/dist/blocks/designs/address-book-advanced/components/address-empty-state.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-empty-state.mjs +22 -0
- package/dist/blocks/designs/address-book-advanced/components/address-empty-state.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.d.ts +16 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.js +56 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.mjs +32 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form.d.ts +27 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form.js +699 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form.mjs +675 -0
- package/dist/blocks/designs/address-book-advanced/components/address-form.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-list.d.ts +26 -0
- package/dist/blocks/designs/address-book-advanced/components/address-list.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-list.js +78 -0
- package/dist/blocks/designs/address-book-advanced/components/address-list.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-list.mjs +54 -0
- package/dist/blocks/designs/address-book-advanced/components/address-list.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-pagination.d.ts +11 -0
- package/dist/blocks/designs/address-book-advanced/components/address-pagination.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-pagination.js +82 -0
- package/dist/blocks/designs/address-book-advanced/components/address-pagination.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-pagination.mjs +58 -0
- package/dist/blocks/designs/address-book-advanced/components/address-pagination.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-toolbar.d.ts +14 -0
- package/dist/blocks/designs/address-book-advanced/components/address-toolbar.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-toolbar.js +121 -0
- package/dist/blocks/designs/address-book-advanced/components/address-toolbar.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/address-toolbar.mjs +97 -0
- package/dist/blocks/designs/address-book-advanced/components/address-toolbar.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/modal-dialog.d.ts +16 -0
- package/dist/blocks/designs/address-book-advanced/components/modal-dialog.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/modal-dialog.js +71 -0
- package/dist/blocks/designs/address-book-advanced/components/modal-dialog.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/components/modal-dialog.mjs +47 -0
- package/dist/blocks/designs/address-book-advanced/components/modal-dialog.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/contract.d.ts +4128 -0
- package/dist/blocks/designs/address-book-advanced/contract.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/contract.js +582 -0
- package/dist/blocks/designs/address-book-advanced/contract.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/contract.mjs +557 -0
- package/dist/blocks/designs/address-book-advanced/contract.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/contracts.d.ts +205 -0
- package/dist/blocks/designs/address-book-advanced/contracts.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/contracts.js +38 -0
- package/dist/blocks/designs/address-book-advanced/contracts.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/contracts.mjs +14 -0
- package/dist/blocks/designs/address-book-advanced/contracts.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/countries.d.ts +13 -0
- package/dist/blocks/designs/address-book-advanced/countries.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/countries.js +64 -0
- package/dist/blocks/designs/address-book-advanced/countries.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/countries.mjs +36 -0
- package/dist/blocks/designs/address-book-advanced/countries.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/data.d.ts +3 -0
- package/dist/blocks/designs/address-book-advanced/data.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/data.js +17 -0
- package/dist/blocks/designs/address-book-advanced/data.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/data.mjs +1 -0
- package/dist/blocks/designs/address-book-advanced/data.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/helpers.d.ts +40 -0
- package/dist/blocks/designs/address-book-advanced/helpers.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/helpers.js +247 -0
- package/dist/blocks/designs/address-book-advanced/helpers.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/helpers.mjs +210 -0
- package/dist/blocks/designs/address-book-advanced/helpers.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/index.d.ts +3 -0
- package/dist/blocks/designs/address-book-advanced/index.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/index.js +36 -0
- package/dist/blocks/designs/address-book-advanced/index.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/index.mjs +6 -0
- package/dist/blocks/designs/address-book-advanced/index.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/surface-contract.d.ts +542 -0
- package/dist/blocks/designs/address-book-advanced/surface-contract.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/surface-contract.js +17 -0
- package/dist/blocks/designs/address-book-advanced/surface-contract.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/surface-contract.mjs +1 -0
- package/dist/blocks/designs/address-book-advanced/surface-contract.mjs.map +1 -0
- package/dist/blocks/designs/address-book-advanced/validation.d.ts +13 -0
- package/dist/blocks/designs/address-book-advanced/validation.d.ts.map +1 -0
- package/dist/blocks/designs/address-book-advanced/validation.js +84 -0
- package/dist/blocks/designs/address-book-advanced/validation.js.map +1 -0
- package/dist/blocks/designs/address-book-advanced/validation.mjs +59 -0
- package/dist/blocks/designs/address-book-advanced/validation.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/block.d.ts +4 -16
- package/dist/blocks/designs/checkout-commerce-v1/block.d.ts.map +1 -1
- package/dist/blocks/designs/checkout-commerce-v1/block.js +55 -2403
- package/dist/blocks/designs/checkout-commerce-v1/block.js.map +1 -1
- package/dist/blocks/designs/checkout-commerce-v1/block.mjs +56 -2404
- package/dist/blocks/designs/checkout-commerce-v1/block.mjs.map +1 -1
- package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.d.ts +34 -0
- package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.js +898 -0
- package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.mjs +874 -0
- package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.d.ts +3 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.js +94 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.mjs +70 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/types.d.ts +6 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/types.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/types.js +17 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/types.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/types.mjs +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/hosted/types.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/index.d.ts +5 -0
- package/dist/blocks/designs/checkout-commerce-v1/index.d.ts.map +1 -1
- package/dist/blocks/designs/checkout-commerce-v1/index.js +9 -0
- package/dist/blocks/designs/checkout-commerce-v1/index.js.map +1 -1
- package/dist/blocks/designs/checkout-commerce-v1/index.mjs +4 -0
- package/dist/blocks/designs/checkout-commerce-v1/index.mjs.map +1 -1
- package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.d.ts +11 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.js +73 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.mjs +49 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-form.d.ts +25 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-form.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-form.js +355 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-form.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-form.mjs +331 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/address-form.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.d.ts +24 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.js +203 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.mjs +179 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.d.ts +6 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.js +1359 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.mjs +1346 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.d.ts +15 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.js +288 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.mjs +272 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/format.d.ts +35 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/format.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/format.js +84 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/format.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/format.mjs +51 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/format.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/option-group.d.ts +17 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/option-group.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/option-group.js +86 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/option-group.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/option-group.mjs +62 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/option-group.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.d.ts +6 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.js +39 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.mjs +15 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.mjs.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/types.d.ts +370 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/types.d.ts.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/types.js +17 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/types.js.map +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/types.mjs +1 -0
- package/dist/blocks/designs/checkout-commerce-v1/view/types.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-overview/block.d.ts +5 -0
- package/dist/blocks/designs/customer-account-overview/block.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-overview/block.js +36 -0
- package/dist/blocks/designs/customer-account-overview/block.js.map +1 -0
- package/dist/blocks/designs/customer-account-overview/block.mjs +12 -0
- package/dist/blocks/designs/customer-account-overview/block.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-card.d.ts +12 -0
- package/dist/blocks/designs/customer-account-overview/components/account-card.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-card.js +57 -0
- package/dist/blocks/designs/customer-account-overview/components/account-card.js.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-card.mjs +33 -0
- package/dist/blocks/designs/customer-account-overview/components/account-card.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-icon.d.ts +17 -0
- package/dist/blocks/designs/customer-account-overview/components/account-icon.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-icon.js +122 -0
- package/dist/blocks/designs/customer-account-overview/components/account-icon.js.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-icon.mjs +97 -0
- package/dist/blocks/designs/customer-account-overview/components/account-icon.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-notice.d.ts +8 -0
- package/dist/blocks/designs/customer-account-overview/components/account-notice.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-notice.js +58 -0
- package/dist/blocks/designs/customer-account-overview/components/account-notice.js.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-notice.mjs +34 -0
- package/dist/blocks/designs/customer-account-overview/components/account-notice.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-overview.d.ts +11 -0
- package/dist/blocks/designs/customer-account-overview/components/account-overview.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-overview.js +64 -0
- package/dist/blocks/designs/customer-account-overview/components/account-overview.js.map +1 -0
- package/dist/blocks/designs/customer-account-overview/components/account-overview.mjs +40 -0
- package/dist/blocks/designs/customer-account-overview/components/account-overview.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-overview/contracts.d.ts +241 -0
- package/dist/blocks/designs/customer-account-overview/contracts.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-overview/contracts.js +29 -0
- package/dist/blocks/designs/customer-account-overview/contracts.js.map +1 -0
- package/dist/blocks/designs/customer-account-overview/contracts.mjs +5 -0
- package/dist/blocks/designs/customer-account-overview/contracts.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-overview/helpers.d.ts +7 -0
- package/dist/blocks/designs/customer-account-overview/helpers.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-overview/helpers.js +70 -0
- package/dist/blocks/designs/customer-account-overview/helpers.js.map +1 -0
- package/dist/blocks/designs/customer-account-overview/helpers.mjs +43 -0
- package/dist/blocks/designs/customer-account-overview/helpers.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-overview/index.d.ts +3 -0
- package/dist/blocks/designs/customer-account-overview/index.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-overview/index.js +36 -0
- package/dist/blocks/designs/customer-account-overview/index.js.map +1 -0
- package/dist/blocks/designs/customer-account-overview/index.mjs +6 -0
- package/dist/blocks/designs/customer-account-overview/index.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-overview/modules.d.ts +12 -0
- package/dist/blocks/designs/customer-account-overview/modules.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-overview/modules.js +50 -0
- package/dist/blocks/designs/customer-account-overview/modules.js.map +1 -0
- package/dist/blocks/designs/customer-account-overview/modules.mjs +23 -0
- package/dist/blocks/designs/customer-account-overview/modules.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/block.d.ts +5 -0
- package/dist/blocks/designs/customer-account-placeholder/block.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/block.js +36 -0
- package/dist/blocks/designs/customer-account-placeholder/block.js.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/block.mjs +12 -0
- package/dist/blocks/designs/customer-account-placeholder/block.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.d.ts +8 -0
- package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.js +46 -0
- package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.js.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.mjs +22 -0
- package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/contracts.d.ts +241 -0
- package/dist/blocks/designs/customer-account-placeholder/contracts.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/contracts.js +29 -0
- package/dist/blocks/designs/customer-account-placeholder/contracts.js.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/contracts.mjs +5 -0
- package/dist/blocks/designs/customer-account-placeholder/contracts.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/index.d.ts +3 -0
- package/dist/blocks/designs/customer-account-placeholder/index.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/index.js +36 -0
- package/dist/blocks/designs/customer-account-placeholder/index.js.map +1 -0
- package/dist/blocks/designs/customer-account-placeholder/index.mjs +6 -0
- package/dist/blocks/designs/customer-account-placeholder/index.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-v1/block.d.ts +5 -0
- package/dist/blocks/designs/customer-account-v1/block.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-v1/block.js +36 -0
- package/dist/blocks/designs/customer-account-v1/block.js.map +1 -0
- package/dist/blocks/designs/customer-account-v1/block.mjs +12 -0
- package/dist/blocks/designs/customer-account-v1/block.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-context-bar.d.ts +8 -0
- package/dist/blocks/designs/customer-account-v1/components/account-context-bar.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-context-bar.js +47 -0
- package/dist/blocks/designs/customer-account-v1/components/account-context-bar.js.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-context-bar.mjs +23 -0
- package/dist/blocks/designs/customer-account-v1/components/account-context-bar.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-header.d.ts +11 -0
- package/dist/blocks/designs/customer-account-v1/components/account-header.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-header.js +68 -0
- package/dist/blocks/designs/customer-account-v1/components/account-header.js.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-header.mjs +44 -0
- package/dist/blocks/designs/customer-account-v1/components/account-header.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-icon.d.ts +17 -0
- package/dist/blocks/designs/customer-account-v1/components/account-icon.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-icon.js +122 -0
- package/dist/blocks/designs/customer-account-v1/components/account-icon.js.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-icon.mjs +97 -0
- package/dist/blocks/designs/customer-account-v1/components/account-icon.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-shell.d.ts +11 -0
- package/dist/blocks/designs/customer-account-v1/components/account-shell.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-shell.js +128 -0
- package/dist/blocks/designs/customer-account-v1/components/account-shell.js.map +1 -0
- package/dist/blocks/designs/customer-account-v1/components/account-shell.mjs +104 -0
- package/dist/blocks/designs/customer-account-v1/components/account-shell.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-v1/contracts.d.ts +241 -0
- package/dist/blocks/designs/customer-account-v1/contracts.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-v1/contracts.js +29 -0
- package/dist/blocks/designs/customer-account-v1/contracts.js.map +1 -0
- package/dist/blocks/designs/customer-account-v1/contracts.mjs +5 -0
- package/dist/blocks/designs/customer-account-v1/contracts.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-v1/helpers.d.ts +7 -0
- package/dist/blocks/designs/customer-account-v1/helpers.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-v1/helpers.js +70 -0
- package/dist/blocks/designs/customer-account-v1/helpers.js.map +1 -0
- package/dist/blocks/designs/customer-account-v1/helpers.mjs +43 -0
- package/dist/blocks/designs/customer-account-v1/helpers.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-v1/index.d.ts +3 -0
- package/dist/blocks/designs/customer-account-v1/index.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-v1/index.js +36 -0
- package/dist/blocks/designs/customer-account-v1/index.js.map +1 -0
- package/dist/blocks/designs/customer-account-v1/index.mjs +6 -0
- package/dist/blocks/designs/customer-account-v1/index.mjs.map +1 -0
- package/dist/blocks/designs/customer-account-v1/modules.d.ts +12 -0
- package/dist/blocks/designs/customer-account-v1/modules.d.ts.map +1 -0
- package/dist/blocks/designs/customer-account-v1/modules.js +50 -0
- package/dist/blocks/designs/customer-account-v1/modules.js.map +1 -0
- package/dist/blocks/designs/customer-account-v1/modules.mjs +23 -0
- package/dist/blocks/designs/customer-account-v1/modules.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/block.d.ts +8 -0
- package/dist/blocks/designs/customer-favorites/block.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/block.js +36 -0
- package/dist/blocks/designs/customer-favorites/block.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/block.mjs +12 -0
- package/dist/blocks/designs/customer-favorites/block.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.d.ts +17 -0
- package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.js +94 -0
- package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.mjs +70 -0
- package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/cart-feedback.d.ts +21 -0
- package/dist/blocks/designs/customer-favorites/components/cart-feedback.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/cart-feedback.js +167 -0
- package/dist/blocks/designs/customer-favorites/components/cart-feedback.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/cart-feedback.mjs +143 -0
- package/dist/blocks/designs/customer-favorites/components/cart-feedback.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/confirm-dialog.d.ts +15 -0
- package/dist/blocks/designs/customer-favorites/components/confirm-dialog.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/confirm-dialog.js +67 -0
- package/dist/blocks/designs/customer-favorites/components/confirm-dialog.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/confirm-dialog.mjs +43 -0
- package/dist/blocks/designs/customer-favorites/components/confirm-dialog.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/customer-favorites.d.ts +23 -0
- package/dist/blocks/designs/customer-favorites/components/customer-favorites.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/customer-favorites.js +889 -0
- package/dist/blocks/designs/customer-favorites/components/customer-favorites.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/customer-favorites.mjs +874 -0
- package/dist/blocks/designs/customer-favorites/components/customer-favorites.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/dialog-frame.d.ts +15 -0
- package/dist/blocks/designs/customer-favorites/components/dialog-frame.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/dialog-frame.js +92 -0
- package/dist/blocks/designs/customer-favorites/components/dialog-frame.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/dialog-frame.mjs +68 -0
- package/dist/blocks/designs/customer-favorites/components/dialog-frame.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-button.d.ts +18 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-button.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-button.js +77 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-button.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-button.mjs +53 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-button.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.d.ts +17 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.js +142 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.mjs +118 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-product-card.d.ts +30 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-product-card.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-product-card.js +184 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-product-card.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-product-card.mjs +160 -0
- package/dist/blocks/designs/customer-favorites/components/favorite-product-card.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-header.d.ts +10 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-header.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-header.js +68 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-header.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-header.mjs +44 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-header.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-navigation.d.ts +19 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-navigation.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-navigation.js +90 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-navigation.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-navigation.mjs +66 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-navigation.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-status.d.ts +15 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-status.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-status.js +97 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-status.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-status.mjs +73 -0
- package/dist/blocks/designs/customer-favorites/components/favorites-status.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/list-dialog.d.ts +24 -0
- package/dist/blocks/designs/customer-favorites/components/list-dialog.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/list-dialog.js +124 -0
- package/dist/blocks/designs/customer-favorites/components/list-dialog.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/list-dialog.mjs +100 -0
- package/dist/blocks/designs/customer-favorites/components/list-dialog.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.d.ts +22 -0
- package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.js +82 -0
- package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.mjs +58 -0
- package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/organize-dialog.d.ts +21 -0
- package/dist/blocks/designs/customer-favorites/components/organize-dialog.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/organize-dialog.js +126 -0
- package/dist/blocks/designs/customer-favorites/components/organize-dialog.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/organize-dialog.mjs +102 -0
- package/dist/blocks/designs/customer-favorites/components/organize-dialog.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/quantity-stepper.d.ts +13 -0
- package/dist/blocks/designs/customer-favorites/components/quantity-stepper.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/quantity-stepper.js +80 -0
- package/dist/blocks/designs/customer-favorites/components/quantity-stepper.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/quantity-stepper.mjs +56 -0
- package/dist/blocks/designs/customer-favorites/components/quantity-stepper.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/variant-dialog.d.ts +12 -0
- package/dist/blocks/designs/customer-favorites/components/variant-dialog.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/variant-dialog.js +103 -0
- package/dist/blocks/designs/customer-favorites/components/variant-dialog.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/components/variant-dialog.mjs +79 -0
- package/dist/blocks/designs/customer-favorites/components/variant-dialog.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/contracts.d.ts +350 -0
- package/dist/blocks/designs/customer-favorites/contracts.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/contracts.js +44 -0
- package/dist/blocks/designs/customer-favorites/contracts.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/contracts.mjs +19 -0
- package/dist/blocks/designs/customer-favorites/contracts.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/engine.d.ts +78 -0
- package/dist/blocks/designs/customer-favorites/engine.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/engine.js +320 -0
- package/dist/blocks/designs/customer-favorites/engine.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/engine.mjs +282 -0
- package/dist/blocks/designs/customer-favorites/engine.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/index.d.ts +3 -0
- package/dist/blocks/designs/customer-favorites/index.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/index.js +36 -0
- package/dist/blocks/designs/customer-favorites/index.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/index.mjs +6 -0
- package/dist/blocks/designs/customer-favorites/index.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/permissions.d.ts +16 -0
- package/dist/blocks/designs/customer-favorites/permissions.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/permissions.js +40 -0
- package/dist/blocks/designs/customer-favorites/permissions.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/permissions.mjs +16 -0
- package/dist/blocks/designs/customer-favorites/permissions.mjs.map +1 -0
- package/dist/blocks/designs/customer-favorites/surface-contract.d.ts +346 -0
- package/dist/blocks/designs/customer-favorites/surface-contract.d.ts.map +1 -0
- package/dist/blocks/designs/customer-favorites/surface-contract.js +17 -0
- package/dist/blocks/designs/customer-favorites/surface-contract.js.map +1 -0
- package/dist/blocks/designs/customer-favorites/surface-contract.mjs +1 -0
- package/dist/blocks/designs/customer-favorites/surface-contract.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/block.d.ts +8 -0
- package/dist/blocks/designs/customer-profile/block.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/block.js +36 -0
- package/dist/blocks/designs/customer-profile/block.js.map +1 -0
- package/dist/blocks/designs/customer-profile/block.mjs +12 -0
- package/dist/blocks/designs/customer-profile/block.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/contact-section.d.ts +4 -0
- package/dist/blocks/designs/customer-profile/components/contact-section.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/contact-section.js +149 -0
- package/dist/blocks/designs/customer-profile/components/contact-section.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/contact-section.mjs +130 -0
- package/dist/blocks/designs/customer-profile/components/contact-section.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/custom-section.d.ts +4 -0
- package/dist/blocks/designs/customer-profile/components/custom-section.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/custom-section.js +112 -0
- package/dist/blocks/designs/customer-profile/components/custom-section.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/custom-section.mjs +93 -0
- package/dist/blocks/designs/customer-profile/components/custom-section.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/customer-profile.d.ts +10 -0
- package/dist/blocks/designs/customer-profile/components/customer-profile.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/customer-profile.js +326 -0
- package/dist/blocks/designs/customer-profile/components/customer-profile.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/customer-profile.mjs +302 -0
- package/dist/blocks/designs/customer-profile/components/customer-profile.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/fields.d.ts +62 -0
- package/dist/blocks/designs/customer-profile/components/fields.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/fields.js +255 -0
- package/dist/blocks/designs/customer-profile/components/fields.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/fields.mjs +225 -0
- package/dist/blocks/designs/customer-profile/components/fields.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/personal-section.d.ts +4 -0
- package/dist/blocks/designs/customer-profile/components/personal-section.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/personal-section.js +107 -0
- package/dist/blocks/designs/customer-profile/components/personal-section.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/personal-section.mjs +82 -0
- package/dist/blocks/designs/customer-profile/components/personal-section.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/preferences-section.d.ts +4 -0
- package/dist/blocks/designs/customer-profile/components/preferences-section.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/preferences-section.js +166 -0
- package/dist/blocks/designs/customer-profile/components/preferences-section.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/preferences-section.mjs +146 -0
- package/dist/blocks/designs/customer-profile/components/preferences-section.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/professional-section.d.ts +4 -0
- package/dist/blocks/designs/customer-profile/components/professional-section.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/professional-section.js +152 -0
- package/dist/blocks/designs/customer-profile/components/professional-section.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/professional-section.mjs +127 -0
- package/dist/blocks/designs/customer-profile/components/professional-section.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/profile-header.d.ts +11 -0
- package/dist/blocks/designs/customer-profile/components/profile-header.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/profile-header.js +64 -0
- package/dist/blocks/designs/customer-profile/components/profile-header.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/profile-header.mjs +40 -0
- package/dist/blocks/designs/customer-profile/components/profile-header.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/profile-section.d.ts +13 -0
- package/dist/blocks/designs/customer-profile/components/profile-section.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/profile-section.js +58 -0
- package/dist/blocks/designs/customer-profile/components/profile-section.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/profile-section.mjs +34 -0
- package/dist/blocks/designs/customer-profile/components/profile-section.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/profile-states.d.ts +13 -0
- package/dist/blocks/designs/customer-profile/components/profile-states.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/profile-states.js +75 -0
- package/dist/blocks/designs/customer-profile/components/profile-states.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/profile-states.mjs +49 -0
- package/dist/blocks/designs/customer-profile/components/profile-states.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/section-body.d.ts +5 -0
- package/dist/blocks/designs/customer-profile/components/section-body.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/section-body.js +64 -0
- package/dist/blocks/designs/customer-profile/components/section-body.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/section-body.mjs +39 -0
- package/dist/blocks/designs/customer-profile/components/section-body.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/components/types.d.ts +20 -0
- package/dist/blocks/designs/customer-profile/components/types.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/components/types.js +42 -0
- package/dist/blocks/designs/customer-profile/components/types.js.map +1 -0
- package/dist/blocks/designs/customer-profile/components/types.mjs +16 -0
- package/dist/blocks/designs/customer-profile/components/types.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/config.d.ts +21 -0
- package/dist/blocks/designs/customer-profile/config.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/config.js +119 -0
- package/dist/blocks/designs/customer-profile/config.js.map +1 -0
- package/dist/blocks/designs/customer-profile/config.mjs +91 -0
- package/dist/blocks/designs/customer-profile/config.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/contracts.d.ts +259 -0
- package/dist/blocks/designs/customer-profile/contracts.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/contracts.js +35 -0
- package/dist/blocks/designs/customer-profile/contracts.js.map +1 -0
- package/dist/blocks/designs/customer-profile/contracts.mjs +11 -0
- package/dist/blocks/designs/customer-profile/contracts.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/drafts.d.ts +16 -0
- package/dist/blocks/designs/customer-profile/drafts.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/drafts.js +220 -0
- package/dist/blocks/designs/customer-profile/drafts.js.map +1 -0
- package/dist/blocks/designs/customer-profile/drafts.mjs +194 -0
- package/dist/blocks/designs/customer-profile/drafts.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/format.d.ts +11 -0
- package/dist/blocks/designs/customer-profile/format.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/format.js +63 -0
- package/dist/blocks/designs/customer-profile/format.js.map +1 -0
- package/dist/blocks/designs/customer-profile/format.mjs +36 -0
- package/dist/blocks/designs/customer-profile/format.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/index.d.ts +3 -0
- package/dist/blocks/designs/customer-profile/index.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/index.js +36 -0
- package/dist/blocks/designs/customer-profile/index.js.map +1 -0
- package/dist/blocks/designs/customer-profile/index.mjs +6 -0
- package/dist/blocks/designs/customer-profile/index.mjs.map +1 -0
- package/dist/blocks/designs/customer-profile/validation.d.ts +10 -0
- package/dist/blocks/designs/customer-profile/validation.d.ts.map +1 -0
- package/dist/blocks/designs/customer-profile/validation.js +180 -0
- package/dist/blocks/designs/customer-profile/validation.js.map +1 -0
- package/dist/blocks/designs/customer-profile/validation.mjs +154 -0
- package/dist/blocks/designs/customer-profile/validation.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/block.d.ts +14 -0
- package/dist/blocks/designs/mega-menu-universal/block.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/block.js +44 -0
- package/dist/blocks/designs/mega-menu-universal/block.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/block.mjs +24 -0
- package/dist/blocks/designs/mega-menu-universal/block.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/category-parts.d.ts +43 -0
- package/dist/blocks/designs/mega-menu-universal/category-parts.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/category-parts.js +152 -0
- package/dist/blocks/designs/mega-menu-universal/category-parts.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/category-parts.mjs +122 -0
- package/dist/blocks/designs/mega-menu-universal/category-parts.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/config.d.ts +11 -0
- package/dist/blocks/designs/mega-menu-universal/config.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/config.js +94 -0
- package/dist/blocks/designs/mega-menu-universal/config.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/config.mjs +69 -0
- package/dist/blocks/designs/mega-menu-universal/config.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/contracts.d.ts +86 -0
- package/dist/blocks/designs/mega-menu-universal/contracts.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/contracts.js +17 -0
- package/dist/blocks/designs/mega-menu-universal/contracts.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/contracts.mjs +1 -0
- package/dist/blocks/designs/mega-menu-universal/contracts.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/desktop-panel.d.ts +12 -0
- package/dist/blocks/designs/mega-menu-universal/desktop-panel.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/desktop-panel.js +424 -0
- package/dist/blocks/designs/mega-menu-universal/desktop-panel.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/desktop-panel.mjs +408 -0
- package/dist/blocks/designs/mega-menu-universal/desktop-panel.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/drilldown.d.ts +21 -0
- package/dist/blocks/designs/mega-menu-universal/drilldown.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/drilldown.js +65 -0
- package/dist/blocks/designs/mega-menu-universal/drilldown.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/drilldown.mjs +38 -0
- package/dist/blocks/designs/mega-menu-universal/drilldown.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/icons.d.ts +11 -0
- package/dist/blocks/designs/mega-menu-universal/icons.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/icons.js +84 -0
- package/dist/blocks/designs/mega-menu-universal/icons.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/icons.mjs +55 -0
- package/dist/blocks/designs/mega-menu-universal/icons.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/index.d.ts +3 -0
- package/dist/blocks/designs/mega-menu-universal/index.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/index.js +36 -0
- package/dist/blocks/designs/mega-menu-universal/index.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/index.mjs +6 -0
- package/dist/blocks/designs/mega-menu-universal/index.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/intent.d.ts +56 -0
- package/dist/blocks/designs/mega-menu-universal/intent.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/intent.js +86 -0
- package/dist/blocks/designs/mega-menu-universal/intent.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/intent.mjs +58 -0
- package/dist/blocks/designs/mega-menu-universal/intent.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/labels.d.ts +9 -0
- package/dist/blocks/designs/mega-menu-universal/labels.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/labels.js +40 -0
- package/dist/blocks/designs/mega-menu-universal/labels.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/labels.mjs +15 -0
- package/dist/blocks/designs/mega-menu-universal/labels.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/menu.d.ts +17 -0
- package/dist/blocks/designs/mega-menu-universal/menu.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/menu.js +342 -0
- package/dist/blocks/designs/mega-menu-universal/menu.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/menu.mjs +325 -0
- package/dist/blocks/designs/mega-menu-universal/menu.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/mobile-menu.d.ts +12 -0
- package/dist/blocks/designs/mega-menu-universal/mobile-menu.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/mobile-menu.js +258 -0
- package/dist/blocks/designs/mega-menu-universal/mobile-menu.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/mobile-menu.mjs +234 -0
- package/dist/blocks/designs/mega-menu-universal/mobile-menu.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/presentation.d.ts +31 -0
- package/dist/blocks/designs/mega-menu-universal/presentation.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/presentation.js +73 -0
- package/dist/blocks/designs/mega-menu-universal/presentation.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/presentation.mjs +44 -0
- package/dist/blocks/designs/mega-menu-universal/presentation.mjs.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/taxonomy.d.ts +23 -0
- package/dist/blocks/designs/mega-menu-universal/taxonomy.d.ts.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/taxonomy.js +98 -0
- package/dist/blocks/designs/mega-menu-universal/taxonomy.js.map +1 -0
- package/dist/blocks/designs/mega-menu-universal/taxonomy.mjs +65 -0
- package/dist/blocks/designs/mega-menu-universal/taxonomy.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/block.d.ts +8 -0
- package/dist/blocks/designs/order-detail/block.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/block.js +36 -0
- package/dist/blocks/designs/order-detail/block.js.map +1 -0
- package/dist/blocks/designs/order-detail/block.mjs +12 -0
- package/dist/blocks/designs/order-detail/block.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/actions.d.ts +11 -0
- package/dist/blocks/designs/order-detail/components/actions.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/actions.js +64 -0
- package/dist/blocks/designs/order-detail/components/actions.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/actions.mjs +40 -0
- package/dist/blocks/designs/order-detail/components/actions.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/addresses.d.ts +8 -0
- package/dist/blocks/designs/order-detail/components/addresses.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/addresses.js +57 -0
- package/dist/blocks/designs/order-detail/components/addresses.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/addresses.mjs +33 -0
- package/dist/blocks/designs/order-detail/components/addresses.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/after-sales.d.ts +18 -0
- package/dist/blocks/designs/order-detail/components/after-sales.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/after-sales.js +213 -0
- package/dist/blocks/designs/order-detail/components/after-sales.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/after-sales.mjs +185 -0
- package/dist/blocks/designs/order-detail/components/after-sales.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/b2b.d.ts +12 -0
- package/dist/blocks/designs/order-detail/components/b2b.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/b2b.js +73 -0
- package/dist/blocks/designs/order-detail/components/b2b.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/b2b.mjs +49 -0
- package/dist/blocks/designs/order-detail/components/b2b.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/documents.d.ts +21 -0
- package/dist/blocks/designs/order-detail/components/documents.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/documents.js +88 -0
- package/dist/blocks/designs/order-detail/components/documents.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/documents.mjs +63 -0
- package/dist/blocks/designs/order-detail/components/documents.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/feedback.d.ts +19 -0
- package/dist/blocks/designs/order-detail/components/feedback.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/feedback.js +87 -0
- package/dist/blocks/designs/order-detail/components/feedback.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/feedback.mjs +59 -0
- package/dist/blocks/designs/order-detail/components/feedback.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/fulfilment.d.ts +36 -0
- package/dist/blocks/designs/order-detail/components/fulfilment.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/fulfilment.js +341 -0
- package/dist/blocks/designs/order-detail/components/fulfilment.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/fulfilment.mjs +315 -0
- package/dist/blocks/designs/order-detail/components/fulfilment.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/header.d.ts +19 -0
- package/dist/blocks/designs/order-detail/components/header.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/header.js +87 -0
- package/dist/blocks/designs/order-detail/components/header.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/header.mjs +68 -0
- package/dist/blocks/designs/order-detail/components/header.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/icons.d.ts +18 -0
- package/dist/blocks/designs/order-detail/components/icons.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/icons.js +153 -0
- package/dist/blocks/designs/order-detail/components/icons.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/icons.mjs +117 -0
- package/dist/blocks/designs/order-detail/components/icons.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/item-card.d.ts +24 -0
- package/dist/blocks/designs/order-detail/components/item-card.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/item-card.js +263 -0
- package/dist/blocks/designs/order-detail/components/item-card.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/item-card.mjs +244 -0
- package/dist/blocks/designs/order-detail/components/item-card.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/order-detail.d.ts +10 -0
- package/dist/blocks/designs/order-detail/components/order-detail.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/order-detail.js +362 -0
- package/dist/blocks/designs/order-detail/components/order-detail.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/order-detail.mjs +343 -0
- package/dist/blocks/designs/order-detail/components/order-detail.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/payments.d.ts +13 -0
- package/dist/blocks/designs/order-detail/components/payments.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/payments.js +87 -0
- package/dist/blocks/designs/order-detail/components/payments.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/payments.mjs +62 -0
- package/dist/blocks/designs/order-detail/components/payments.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/pricing.d.ts +12 -0
- package/dist/blocks/designs/order-detail/components/pricing.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/pricing.js +214 -0
- package/dist/blocks/designs/order-detail/components/pricing.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/pricing.mjs +195 -0
- package/dist/blocks/designs/order-detail/components/pricing.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/promotions.d.ts +24 -0
- package/dist/blocks/designs/order-detail/components/promotions.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/promotions.js +135 -0
- package/dist/blocks/designs/order-detail/components/promotions.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/promotions.mjs +109 -0
- package/dist/blocks/designs/order-detail/components/promotions.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/revisions.d.ts +11 -0
- package/dist/blocks/designs/order-detail/components/revisions.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/revisions.js +53 -0
- package/dist/blocks/designs/order-detail/components/revisions.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/revisions.mjs +29 -0
- package/dist/blocks/designs/order-detail/components/revisions.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/status-summary.d.ts +14 -0
- package/dist/blocks/designs/order-detail/components/status-summary.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/status-summary.js +71 -0
- package/dist/blocks/designs/order-detail/components/status-summary.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/status-summary.mjs +47 -0
- package/dist/blocks/designs/order-detail/components/status-summary.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/components/ui.d.ts +61 -0
- package/dist/blocks/designs/order-detail/components/ui.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/components/ui.js +220 -0
- package/dist/blocks/designs/order-detail/components/ui.js.map +1 -0
- package/dist/blocks/designs/order-detail/components/ui.mjs +188 -0
- package/dist/blocks/designs/order-detail/components/ui.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/contracts.d.ts +717 -0
- package/dist/blocks/designs/order-detail/contracts.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/contracts.js +88 -0
- package/dist/blocks/designs/order-detail/contracts.js.map +1 -0
- package/dist/blocks/designs/order-detail/contracts.mjs +61 -0
- package/dist/blocks/designs/order-detail/contracts.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/engine.d.ts +83 -0
- package/dist/blocks/designs/order-detail/engine.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/engine.js +470 -0
- package/dist/blocks/designs/order-detail/engine.js.map +1 -0
- package/dist/blocks/designs/order-detail/engine.mjs +418 -0
- package/dist/blocks/designs/order-detail/engine.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/index.d.ts +3 -0
- package/dist/blocks/designs/order-detail/index.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/index.js +36 -0
- package/dist/blocks/designs/order-detail/index.js.map +1 -0
- package/dist/blocks/designs/order-detail/index.mjs +6 -0
- package/dist/blocks/designs/order-detail/index.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/money.d.ts +27 -0
- package/dist/blocks/designs/order-detail/money.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/money.js +124 -0
- package/dist/blocks/designs/order-detail/money.js.map +1 -0
- package/dist/blocks/designs/order-detail/money.mjs +91 -0
- package/dist/blocks/designs/order-detail/money.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/presentation.d.ts +34 -0
- package/dist/blocks/designs/order-detail/presentation.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/presentation.js +112 -0
- package/dist/blocks/designs/order-detail/presentation.js.map +1 -0
- package/dist/blocks/designs/order-detail/presentation.mjs +93 -0
- package/dist/blocks/designs/order-detail/presentation.mjs.map +1 -0
- package/dist/blocks/designs/order-detail/promotions.d.ts +14 -0
- package/dist/blocks/designs/order-detail/promotions.d.ts.map +1 -0
- package/dist/blocks/designs/order-detail/promotions.js +152 -0
- package/dist/blocks/designs/order-detail/promotions.js.map +1 -0
- package/dist/blocks/designs/order-detail/promotions.mjs +125 -0
- package/dist/blocks/designs/order-detail/promotions.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/bulk-bar.d.ts +14 -0
- package/dist/blocks/designs/order-history/components/bulk-bar.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/bulk-bar.js +61 -0
- package/dist/blocks/designs/order-history/components/bulk-bar.js.map +1 -0
- package/dist/blocks/designs/order-history/components/bulk-bar.mjs +37 -0
- package/dist/blocks/designs/order-history/components/bulk-bar.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/controls.d.ts +25 -0
- package/dist/blocks/designs/order-history/components/controls.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/controls.js +168 -0
- package/dist/blocks/designs/order-history/components/controls.js.map +1 -0
- package/dist/blocks/designs/order-history/components/controls.mjs +144 -0
- package/dist/blocks/designs/order-history/components/controls.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/feedback.d.ts +30 -0
- package/dist/blocks/designs/order-history/components/feedback.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/feedback.js +107 -0
- package/dist/blocks/designs/order-history/components/feedback.js.map +1 -0
- package/dist/blocks/designs/order-history/components/feedback.mjs +79 -0
- package/dist/blocks/designs/order-history/components/feedback.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/header.d.ts +15 -0
- package/dist/blocks/designs/order-history/components/header.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/header.js +47 -0
- package/dist/blocks/designs/order-history/components/header.js.map +1 -0
- package/dist/blocks/designs/order-history/components/header.mjs +23 -0
- package/dist/blocks/designs/order-history/components/header.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/icons.d.ts +8 -0
- package/dist/blocks/designs/order-history/components/icons.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/icons.js +103 -0
- package/dist/blocks/designs/order-history/components/icons.js.map +1 -0
- package/dist/blocks/designs/order-history/components/icons.mjs +79 -0
- package/dist/blocks/designs/order-history/components/icons.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/order-actions.d.ts +17 -0
- package/dist/blocks/designs/order-history/components/order-actions.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/order-actions.js +100 -0
- package/dist/blocks/designs/order-history/components/order-actions.js.map +1 -0
- package/dist/blocks/designs/order-history/components/order-actions.mjs +75 -0
- package/dist/blocks/designs/order-history/components/order-actions.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/order-card.d.ts +18 -0
- package/dist/blocks/designs/order-history/components/order-card.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/order-card.js +183 -0
- package/dist/blocks/designs/order-history/components/order-card.js.map +1 -0
- package/dist/blocks/designs/order-history/components/order-card.mjs +159 -0
- package/dist/blocks/designs/order-history/components/order-card.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/order-history.d.ts +8 -0
- package/dist/blocks/designs/order-history/components/order-history.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/order-history.js +310 -0
- package/dist/blocks/designs/order-history/components/order-history.js.map +1 -0
- package/dist/blocks/designs/order-history/components/order-history.mjs +291 -0
- package/dist/blocks/designs/order-history/components/order-history.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/order-table.d.ts +23 -0
- package/dist/blocks/designs/order-history/components/order-table.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/order-table.js +221 -0
- package/dist/blocks/designs/order-history/components/order-table.js.map +1 -0
- package/dist/blocks/designs/order-history/components/order-table.mjs +197 -0
- package/dist/blocks/designs/order-history/components/order-table.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/pagination.d.ts +13 -0
- package/dist/blocks/designs/order-history/components/pagination.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/pagination.js +83 -0
- package/dist/blocks/designs/order-history/components/pagination.js.map +1 -0
- package/dist/blocks/designs/order-history/components/pagination.mjs +59 -0
- package/dist/blocks/designs/order-history/components/pagination.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/status-badge.d.ts +12 -0
- package/dist/blocks/designs/order-history/components/status-badge.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/status-badge.js +68 -0
- package/dist/blocks/designs/order-history/components/status-badge.js.map +1 -0
- package/dist/blocks/designs/order-history/components/status-badge.mjs +42 -0
- package/dist/blocks/designs/order-history/components/status-badge.mjs.map +1 -0
- package/dist/blocks/designs/order-history/components/toolbar-button.d.ts +13 -0
- package/dist/blocks/designs/order-history/components/toolbar-button.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/components/toolbar-button.js +56 -0
- package/dist/blocks/designs/order-history/components/toolbar-button.js.map +1 -0
- package/dist/blocks/designs/order-history/components/toolbar-button.mjs +32 -0
- package/dist/blocks/designs/order-history/components/toolbar-button.mjs.map +1 -0
- package/dist/blocks/designs/order-history/contracts.d.ts +295 -0
- package/dist/blocks/designs/order-history/contracts.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/contracts.js +102 -0
- package/dist/blocks/designs/order-history/contracts.js.map +1 -0
- package/dist/blocks/designs/order-history/contracts.mjs +70 -0
- package/dist/blocks/designs/order-history/contracts.mjs.map +1 -0
- package/dist/blocks/designs/order-history/engine.d.ts +57 -0
- package/dist/blocks/designs/order-history/engine.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/engine.js +289 -0
- package/dist/blocks/designs/order-history/engine.js.map +1 -0
- package/dist/blocks/designs/order-history/engine.mjs +251 -0
- package/dist/blocks/designs/order-history/engine.mjs.map +1 -0
- package/dist/blocks/designs/order-history/index.d.ts +13 -0
- package/dist/blocks/designs/order-history/index.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/index.js +36 -0
- package/dist/blocks/designs/order-history/index.js.map +1 -0
- package/dist/blocks/designs/order-history/index.mjs +12 -0
- package/dist/blocks/designs/order-history/index.mjs.map +1 -0
- package/dist/blocks/designs/order-history/money.d.ts +15 -0
- package/dist/blocks/designs/order-history/money.d.ts.map +1 -0
- package/dist/blocks/designs/order-history/money.js +97 -0
- package/dist/blocks/designs/order-history/money.js.map +1 -0
- package/dist/blocks/designs/order-history/money.mjs +69 -0
- package/dist/blocks/designs/order-history/money.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/analytics.d.ts +26 -0
- package/dist/blocks/designs/universal-banner/analytics.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/analytics.js +59 -0
- package/dist/blocks/designs/universal-banner/analytics.js.map +1 -0
- package/dist/blocks/designs/universal-banner/analytics.mjs +35 -0
- package/dist/blocks/designs/universal-banner/analytics.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/banner-block.d.ts +20 -0
- package/dist/blocks/designs/universal-banner/banner-block.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/banner-block.js +104 -0
- package/dist/blocks/designs/universal-banner/banner-block.js.map +1 -0
- package/dist/blocks/designs/universal-banner/banner-block.mjs +80 -0
- package/dist/blocks/designs/universal-banner/banner-block.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/banner.d.ts +22 -0
- package/dist/blocks/designs/universal-banner/banner.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/banner.js +190 -0
- package/dist/blocks/designs/universal-banner/banner.js.map +1 -0
- package/dist/blocks/designs/universal-banner/banner.mjs +166 -0
- package/dist/blocks/designs/universal-banner/banner.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/block.d.ts +15 -0
- package/dist/blocks/designs/universal-banner/block.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/block.js +48 -0
- package/dist/blocks/designs/universal-banner/block.js.map +1 -0
- package/dist/blocks/designs/universal-banner/block.mjs +28 -0
- package/dist/blocks/designs/universal-banner/block.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/carousel.d.ts +25 -0
- package/dist/blocks/designs/universal-banner/carousel.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/carousel.js +172 -0
- package/dist/blocks/designs/universal-banner/carousel.js.map +1 -0
- package/dist/blocks/designs/universal-banner/carousel.mjs +148 -0
- package/dist/blocks/designs/universal-banner/carousel.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/contracts.d.ts +190 -0
- package/dist/blocks/designs/universal-banner/contracts.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/contracts.js +451 -0
- package/dist/blocks/designs/universal-banner/contracts.js.map +1 -0
- package/dist/blocks/designs/universal-banner/contracts.mjs +418 -0
- package/dist/blocks/designs/universal-banner/contracts.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/format.d.ts +3 -0
- package/dist/blocks/designs/universal-banner/format.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/format.js +34 -0
- package/dist/blocks/designs/universal-banner/format.js.map +1 -0
- package/dist/blocks/designs/universal-banner/format.mjs +10 -0
- package/dist/blocks/designs/universal-banner/format.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/grid.d.ts +15 -0
- package/dist/blocks/designs/universal-banner/grid.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/grid.js +45 -0
- package/dist/blocks/designs/universal-banner/grid.js.map +1 -0
- package/dist/blocks/designs/universal-banner/grid.mjs +21 -0
- package/dist/blocks/designs/universal-banner/grid.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/index.d.ts +3 -0
- package/dist/blocks/designs/universal-banner/index.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/index.js +36 -0
- package/dist/blocks/designs/universal-banner/index.js.map +1 -0
- package/dist/blocks/designs/universal-banner/index.mjs +6 -0
- package/dist/blocks/designs/universal-banner/index.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/links.d.ts +33 -0
- package/dist/blocks/designs/universal-banner/links.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/links.js +109 -0
- package/dist/blocks/designs/universal-banner/links.js.map +1 -0
- package/dist/blocks/designs/universal-banner/links.mjs +80 -0
- package/dist/blocks/designs/universal-banner/links.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/media.d.ts +20 -0
- package/dist/blocks/designs/universal-banner/media.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/media.js +69 -0
- package/dist/blocks/designs/universal-banner/media.js.map +1 -0
- package/dist/blocks/designs/universal-banner/media.mjs +43 -0
- package/dist/blocks/designs/universal-banner/media.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/presets.d.ts +26 -0
- package/dist/blocks/designs/universal-banner/presets.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/presets.js +175 -0
- package/dist/blocks/designs/universal-banner/presets.js.map +1 -0
- package/dist/blocks/designs/universal-banner/presets.mjs +149 -0
- package/dist/blocks/designs/universal-banner/presets.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/resolve.d.ts +16 -0
- package/dist/blocks/designs/universal-banner/resolve.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/resolve.js +67 -0
- package/dist/blocks/designs/universal-banner/resolve.js.map +1 -0
- package/dist/blocks/designs/universal-banner/resolve.mjs +42 -0
- package/dist/blocks/designs/universal-banner/resolve.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/responsive.d.ts +33 -0
- package/dist/blocks/designs/universal-banner/responsive.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/responsive.js +481 -0
- package/dist/blocks/designs/universal-banner/responsive.js.map +1 -0
- package/dist/blocks/designs/universal-banner/responsive.mjs +447 -0
- package/dist/blocks/designs/universal-banner/responsive.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/schedule.d.ts +11 -0
- package/dist/blocks/designs/universal-banner/schedule.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/schedule.js +88 -0
- package/dist/blocks/designs/universal-banner/schedule.js.map +1 -0
- package/dist/blocks/designs/universal-banner/schedule.mjs +62 -0
- package/dist/blocks/designs/universal-banner/schedule.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/story-carousel.d.ts +20 -0
- package/dist/blocks/designs/universal-banner/story-carousel.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/story-carousel.js +85 -0
- package/dist/blocks/designs/universal-banner/story-carousel.js.map +1 -0
- package/dist/blocks/designs/universal-banner/story-carousel.mjs +61 -0
- package/dist/blocks/designs/universal-banner/story-carousel.mjs.map +1 -0
- package/dist/blocks/designs/universal-banner/use-container-width.d.ts +17 -0
- package/dist/blocks/designs/universal-banner/use-container-width.d.ts.map +1 -0
- package/dist/blocks/designs/universal-banner/use-container-width.js +59 -0
- package/dist/blocks/designs/universal-banner/use-container-width.js.map +1 -0
- package/dist/blocks/designs/universal-banner/use-container-width.mjs +35 -0
- package/dist/blocks/designs/universal-banner/use-container-width.mjs.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -0
- package/dist/index.mjs.map +1 -1
- package/dist/lib/contracts/checkout-commerce-v1.d.ts +15 -0
- package/dist/lib/contracts/checkout-commerce-v1.d.ts.map +1 -1
- package/dist/lib/contracts/checkout-commerce-v1.js +3 -0
- package/dist/lib/contracts/checkout-commerce-v1.js.map +1 -1
- package/dist/lib/contracts/checkout-commerce-v1.mjs +3 -0
- package/dist/lib/contracts/checkout-commerce-v1.mjs.map +1 -1
- package/dist/lib/contracts/mega-menu-universal.d.ts +376 -0
- package/dist/lib/contracts/mega-menu-universal.d.ts.map +1 -0
- package/dist/lib/contracts/mega-menu-universal.js +95 -0
- package/dist/lib/contracts/mega-menu-universal.js.map +1 -0
- package/dist/lib/contracts/mega-menu-universal.mjs +70 -0
- package/dist/lib/contracts/mega-menu-universal.mjs.map +1 -0
- package/dist/lib/contracts/universal-banner.d.ts +1793 -0
- package/dist/lib/contracts/universal-banner.d.ts.map +1 -0
- package/dist/lib/contracts/universal-banner.js +235 -0
- package/dist/lib/contracts/universal-banner.js.map +1 -0
- package/dist/lib/contracts/universal-banner.mjs +211 -0
- package/dist/lib/contracts/universal-banner.mjs.map +1 -0
- package/dist/lib/contracts.d.ts +59 -56
- package/dist/lib/contracts.d.ts.map +1 -1
- package/dist/lib/contracts.js +7 -1
- package/dist/lib/contracts.js.map +1 -1
- package/dist/lib/contracts.mjs +3 -0
- package/dist/lib/contracts.mjs.map +1 -1
- package/dist/lib/money.d.ts.map +1 -1
- package/dist/lib/money.js +1 -1
- package/dist/lib/money.js.map +1 -1
- package/dist/lib/money.mjs +1 -1
- package/dist/lib/money.mjs.map +1 -1
- package/dist/lib/validators/universal-banner.d.ts +4 -0
- package/dist/lib/validators/universal-banner.d.ts.map +1 -0
- package/dist/lib/validators/universal-banner.js +403 -0
- package/dist/lib/validators/universal-banner.js.map +1 -0
- package/dist/lib/validators/universal-banner.mjs +379 -0
- package/dist/lib/validators/universal-banner.mjs.map +1 -0
- package/dist/lib/validators.d.ts +13 -0
- package/dist/lib/validators.d.ts.map +1 -0
- package/dist/lib/validators.js +29 -0
- package/dist/lib/validators.js.map +1 -0
- package/dist/lib/validators.mjs +5 -0
- package/dist/lib/validators.mjs.map +1 -0
- package/dist/ports/address-book.d.ts +163 -0
- package/dist/ports/address-book.d.ts.map +1 -0
- package/dist/ports/address-book.js +17 -0
- package/dist/ports/address-book.js.map +1 -0
- package/dist/ports/address-book.mjs +1 -0
- package/dist/ports/address-book.mjs.map +1 -0
- package/dist/ports/customer-profile.d.ts +122 -0
- package/dist/ports/customer-profile.d.ts.map +1 -0
- package/dist/ports/customer-profile.js +17 -0
- package/dist/ports/customer-profile.js.map +1 -0
- package/dist/ports/customer-profile.mjs +1 -0
- package/dist/ports/customer-profile.mjs.map +1 -0
- package/dist/ports/errors.d.ts +7 -0
- package/dist/ports/errors.d.ts.map +1 -0
- package/dist/ports/errors.js +36 -0
- package/dist/ports/errors.js.map +1 -0
- package/dist/ports/errors.mjs +12 -0
- package/dist/ports/errors.mjs.map +1 -0
- package/dist/ports/favorites.d.ts +130 -0
- package/dist/ports/favorites.d.ts.map +1 -0
- package/dist/ports/favorites.js +17 -0
- package/dist/ports/favorites.js.map +1 -0
- package/dist/ports/favorites.mjs +1 -0
- package/dist/ports/favorites.mjs.map +1 -0
- package/dist/ports/fulfillment-evidence.d.ts +96 -0
- package/dist/ports/fulfillment-evidence.d.ts.map +1 -0
- package/dist/ports/fulfillment-evidence.js +17 -0
- package/dist/ports/fulfillment-evidence.js.map +1 -0
- package/dist/ports/fulfillment-evidence.mjs +1 -0
- package/dist/ports/fulfillment-evidence.mjs.map +1 -0
- package/dist/ports/help-and-support.d.ts +279 -0
- package/dist/ports/help-and-support.d.ts.map +1 -0
- package/dist/ports/help-and-support.js +17 -0
- package/dist/ports/help-and-support.js.map +1 -0
- package/dist/ports/help-and-support.mjs +1 -0
- package/dist/ports/help-and-support.mjs.map +1 -0
- package/dist/ports/index.d.ts +16 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +40 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/index.mjs +10 -0
- package/dist/ports/index.mjs.map +1 -0
- package/dist/ports/order-detail.d.ts +301 -0
- package/dist/ports/order-detail.d.ts.map +1 -0
- package/dist/ports/order-detail.js +17 -0
- package/dist/ports/order-detail.js.map +1 -0
- package/dist/ports/order-detail.mjs +1 -0
- package/dist/ports/order-detail.mjs.map +1 -0
- package/dist/ports/order-history.d.ts +128 -0
- package/dist/ports/order-history.d.ts.map +1 -0
- package/dist/ports/order-history.js +17 -0
- package/dist/ports/order-history.js.map +1 -0
- package/dist/ports/order-history.mjs +1 -0
- package/dist/ports/order-history.mjs.map +1 -0
- package/package.json +10 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/blocks/designs/mega-menu-universal/mobile-menu.tsx"],"sourcesContent":["'use client'\n\nimport { Button, cn } from '@thorprovider/blocks'\nimport { Fragment, useEffect, useId, useReducer, useRef, useState, type RefObject } from 'react'\n\nimport type { CategoryNode, MenuConfig, MenuLabels, MobilePattern } from './contracts'\nimport { EMPTY_DRILL, drillReducer, trailNodes } from './drilldown'\nimport { formatLabel } from './labels'\nimport { hasChildren, sortNodes } from './taxonomy'\nimport { BackIcon, ChevronIcon, CloseIcon } from './icons'\nimport { CategoryLink, CountText, hoverSurface, type NavigateHandler } from './category-parts'\n\nexport type MobileMenuProps = {\n categories: CategoryNode[]\n pattern: MobilePattern\n config: MenuConfig\n labels: MenuLabels\n onNavigate: NavigateHandler\n onClose: () => void\n}\n\nconst rowLink =\n 'min-w-0 flex-1 px-2 py-2.5 text-sm text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring'\n\n/**\n * Header order is back → close → title in the DOM so that Tab from the\n * programmatically focused level title lands on the first item, while the\n * visual order stays back → title → close (`order-*`).\n */\nfunction MobileHeader({\n title,\n labels,\n onBack,\n onClose,\n headingRef,\n}: {\n title: string\n labels: MenuLabels\n onBack?: () => void\n onClose: () => void\n headingRef?: RefObject<HTMLParagraphElement | null>\n}) {\n return (\n <div className=\"flex items-start gap-1 border-b border-border p-2\">\n {onBack ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onBack}\n aria-label={labels.back}\n className={cn('order-1 shrink-0 text-muted-foreground', hoverSurface)}\n >\n <BackIcon className=\"h-4 w-4 rtl:rotate-180\" />\n </Button>\n ) : null}\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onClose}\n aria-label={labels.close}\n className={cn('order-3 shrink-0 text-muted-foreground', hoverSurface)}\n >\n <CloseIcon className=\"h-4 w-4\" />\n </Button>\n <p\n ref={headingRef}\n tabIndex={-1}\n className=\"order-2 min-w-0 flex-1 break-words px-1 py-1.5 text-sm font-semibold text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n >\n {title}\n </p>\n </div>\n )\n}\n\nfunction DrillDownMenu({ categories, config, labels, onNavigate, onClose }: MobileMenuProps) {\n const [state, dispatch] = useReducer(drillReducer, EMPTY_DRILL)\n const trail = trailNodes(categories, state.trail)\n const current = trail.at(-1) ?? null\n const level = sortNodes(current ? current.children ?? [] : categories)\n const headingRef = useRef<HTMLParagraphElement>(null)\n const rowRefs = useRef(new Map<string, HTMLButtonElement | null>())\n const focusTarget = useRef<{ kind: 'heading' } | { kind: 'row'; id: string } | null>(null)\n\n useEffect(() => {\n const target = focusTarget.current\n if (!target) return\n focusTarget.current = null\n if (target.kind === 'heading') headingRef.current?.focus()\n else rowRefs.current.get(target.id)?.focus()\n }, [state.trail])\n\n const push = (node: CategoryNode) => {\n focusTarget.current = { kind: 'heading' }\n dispatch({ type: 'push', id: node.id })\n }\n\n const pop = () => {\n const leaving = state.trail.at(-1)\n if (leaving) focusTarget.current = { kind: 'row', id: leaving }\n dispatch({ type: 'pop' })\n }\n\n return (\n <div data-qa=\"mobile-menu\" className=\"rounded-lg border border-border bg-popover text-popover-foreground\">\n <MobileHeader\n title={current?.label ?? labels.menuTitle}\n labels={labels}\n onBack={trail.length > 0 ? pop : undefined}\n onClose={onClose}\n headingRef={headingRef}\n />\n {trail.length > 1 ? (\n <div className=\"flex flex-wrap items-center gap-0.5 border-b border-border px-2 py-1\">\n <Button\n type=\"button\"\n variant=\"link\"\n size=\"xs\"\n className=\"h-6 min-h-6 px-1 text-xs\"\n onClick={() => {\n focusTarget.current = { kind: 'heading' }\n dispatch({ type: 'reset' })\n }}\n >\n {labels.menuTitle}\n </Button>\n {trail.slice(0, -1).map((node, index) => (\n <Fragment key={node.id}>\n <span aria-hidden=\"true\" className=\"text-xs text-muted-foreground\">\n {labels.crumbSeparator}\n </span>\n <Button\n type=\"button\"\n variant=\"link\"\n size=\"xs\"\n className=\"h-6 min-h-6 px-1 text-xs\"\n onClick={() => {\n focusTarget.current = { kind: 'heading' }\n dispatch({ type: 'jump', index })\n }}\n >\n {node.label}\n </Button>\n </Fragment>\n ))}\n </div>\n ) : null}\n <ul\n className=\"max-h-96 space-y-0.5 overflow-y-auto p-2\"\n aria-label={\n current ? formatLabel(labels.panelLabel, { name: current.label }) : labels.rootLabel\n }\n >\n {current && config.showViewAll && current.href ? (\n <li className=\"border-b border-border pb-1\">\n <a\n href={current.href}\n onClick={() => onNavigate(current)}\n className=\"block rounded-md px-2 py-2 text-sm font-semibold text-primary underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n >\n {formatLabel(labels.viewAll, { name: current.label })}\n </a>\n </li>\n ) : null}\n {level.length === 0 ? (\n <li className=\"px-2 py-3 text-sm text-muted-foreground\">{labels.empty}</li>\n ) : null}\n {level.map((node) => (\n <li key={node.id} className=\"flex items-start gap-1\">\n <CategoryLink node={node} onNavigate={onNavigate} className={rowLink} />\n <CountText node={node} config={config} labels={labels} className=\"py-2.5\" />\n {hasChildren(node) ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n ref={(element) => {\n rowRefs.current.set(node.id, element)\n }}\n aria-label={formatLabel(labels.openSubmenu, { name: node.label })}\n onClick={() => push(node)}\n className={cn('shrink-0 text-muted-foreground', hoverSurface)}\n >\n <ChevronIcon className=\"h-4 w-4 -rotate-90 rtl:rotate-90\" />\n </Button>\n ) : null}\n </li>\n ))}\n </ul>\n </div>\n )\n}\n\nfunction AccordionNode({\n node,\n level,\n config,\n labels,\n onNavigate,\n}: {\n node: CategoryNode\n level: number\n config: MenuConfig\n labels: MenuLabels\n onNavigate: NavigateHandler\n}) {\n const [expanded, setExpanded] = useState(false)\n const contentId = useId()\n const expandable = hasChildren(node) && level < config.deepLevelLimit\n\n return (\n <li>\n <div className=\"flex items-start gap-1\">\n <CategoryLink node={node} onNavigate={onNavigate} className={rowLink} />\n <CountText node={node} config={config} labels={labels} className=\"py-2.5\" />\n {expandable ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-expanded={expanded}\n aria-controls={contentId}\n aria-label={formatLabel(labels.openSubmenu, { name: node.label })}\n onClick={() => setExpanded((current) => !current)}\n className={cn('shrink-0 text-muted-foreground', hoverSurface)}\n >\n <ChevronIcon\n className={cn(\n 'h-4 w-4 transition-transform motion-reduce:transition-none',\n expanded && 'rotate-180',\n )}\n />\n </Button>\n ) : null}\n </div>\n {expandable ? (\n <div id={contentId} hidden={!expanded} className=\"ms-2 border-s border-border ps-2\">\n {expanded ? (\n <ul className=\"space-y-0.5\">\n {sortNodes(node.children ?? []).map((child) => (\n <AccordionNode\n key={child.id}\n node={child}\n level={level + 1}\n config={config}\n labels={labels}\n onNavigate={onNavigate}\n />\n ))}\n </ul>\n ) : null}\n </div>\n ) : null}\n </li>\n )\n}\n\nfunction AccordionMenu({ categories, config, labels, onNavigate, onClose }: MobileMenuProps) {\n return (\n <div data-qa=\"mobile-menu\" className=\"rounded-lg border border-border bg-popover text-popover-foreground\">\n <MobileHeader title={labels.menuTitle} labels={labels} onClose={onClose} />\n <ul className=\"max-h-96 space-y-0.5 overflow-y-auto p-2\" aria-label={labels.rootLabel}>\n {sortNodes(categories).map((node) => (\n <AccordionNode\n key={node.id}\n node={node}\n level={1}\n config={config}\n labels={labels}\n onNavigate={onNavigate}\n />\n ))}\n </ul>\n </div>\n )\n}\n\nexport function MobileMenu(props: MobileMenuProps) {\n return props.pattern === 'accordion' ? <AccordionMenu {...props} /> : <DrillDownMenu {...props} />\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button, cn } from "@thorprovider/blocks";
|
|
4
|
+
import { Fragment, useEffect, useId, useReducer, useRef, useState } from "react";
|
|
5
|
+
import { EMPTY_DRILL, drillReducer, trailNodes } from "./drilldown.mjs";
|
|
6
|
+
import { formatLabel } from "./labels.mjs";
|
|
7
|
+
import { hasChildren, sortNodes } from "./taxonomy.mjs";
|
|
8
|
+
import { BackIcon, ChevronIcon, CloseIcon } from "./icons.mjs";
|
|
9
|
+
import { CategoryLink, CountText, hoverSurface } from "./category-parts.mjs";
|
|
10
|
+
const rowLink = "min-w-0 flex-1 px-2 py-2.5 text-sm text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring";
|
|
11
|
+
function MobileHeader({
|
|
12
|
+
title,
|
|
13
|
+
labels,
|
|
14
|
+
onBack,
|
|
15
|
+
onClose,
|
|
16
|
+
headingRef
|
|
17
|
+
}) {
|
|
18
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-1 border-b border-border p-2", children: [
|
|
19
|
+
onBack ? /* @__PURE__ */ jsx(
|
|
20
|
+
Button,
|
|
21
|
+
{
|
|
22
|
+
type: "button",
|
|
23
|
+
variant: "ghost",
|
|
24
|
+
size: "icon-sm",
|
|
25
|
+
onClick: onBack,
|
|
26
|
+
"aria-label": labels.back,
|
|
27
|
+
className: cn("order-1 shrink-0 text-muted-foreground", hoverSurface),
|
|
28
|
+
children: /* @__PURE__ */ jsx(BackIcon, { className: "h-4 w-4 rtl:rotate-180" })
|
|
29
|
+
}
|
|
30
|
+
) : null,
|
|
31
|
+
/* @__PURE__ */ jsx(
|
|
32
|
+
Button,
|
|
33
|
+
{
|
|
34
|
+
type: "button",
|
|
35
|
+
variant: "ghost",
|
|
36
|
+
size: "icon-sm",
|
|
37
|
+
onClick: onClose,
|
|
38
|
+
"aria-label": labels.close,
|
|
39
|
+
className: cn("order-3 shrink-0 text-muted-foreground", hoverSurface),
|
|
40
|
+
children: /* @__PURE__ */ jsx(CloseIcon, { className: "h-4 w-4" })
|
|
41
|
+
}
|
|
42
|
+
),
|
|
43
|
+
/* @__PURE__ */ jsx(
|
|
44
|
+
"p",
|
|
45
|
+
{
|
|
46
|
+
ref: headingRef,
|
|
47
|
+
tabIndex: -1,
|
|
48
|
+
className: "order-2 min-w-0 flex-1 break-words px-1 py-1.5 text-sm font-semibold text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
49
|
+
children: title
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
] });
|
|
53
|
+
}
|
|
54
|
+
function DrillDownMenu({ categories, config, labels, onNavigate, onClose }) {
|
|
55
|
+
const [state, dispatch] = useReducer(drillReducer, EMPTY_DRILL);
|
|
56
|
+
const trail = trailNodes(categories, state.trail);
|
|
57
|
+
const current = trail.at(-1) ?? null;
|
|
58
|
+
const level = sortNodes(current ? current.children ?? [] : categories);
|
|
59
|
+
const headingRef = useRef(null);
|
|
60
|
+
const rowRefs = useRef(/* @__PURE__ */ new Map());
|
|
61
|
+
const focusTarget = useRef(null);
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
const target = focusTarget.current;
|
|
64
|
+
if (!target) return;
|
|
65
|
+
focusTarget.current = null;
|
|
66
|
+
if (target.kind === "heading") headingRef.current?.focus();
|
|
67
|
+
else rowRefs.current.get(target.id)?.focus();
|
|
68
|
+
}, [state.trail]);
|
|
69
|
+
const push = (node) => {
|
|
70
|
+
focusTarget.current = { kind: "heading" };
|
|
71
|
+
dispatch({ type: "push", id: node.id });
|
|
72
|
+
};
|
|
73
|
+
const pop = () => {
|
|
74
|
+
const leaving = state.trail.at(-1);
|
|
75
|
+
if (leaving) focusTarget.current = { kind: "row", id: leaving };
|
|
76
|
+
dispatch({ type: "pop" });
|
|
77
|
+
};
|
|
78
|
+
return /* @__PURE__ */ jsxs("div", { "data-qa": "mobile-menu", className: "rounded-lg border border-border bg-popover text-popover-foreground", children: [
|
|
79
|
+
/* @__PURE__ */ jsx(
|
|
80
|
+
MobileHeader,
|
|
81
|
+
{
|
|
82
|
+
title: current?.label ?? labels.menuTitle,
|
|
83
|
+
labels,
|
|
84
|
+
onBack: trail.length > 0 ? pop : void 0,
|
|
85
|
+
onClose,
|
|
86
|
+
headingRef
|
|
87
|
+
}
|
|
88
|
+
),
|
|
89
|
+
trail.length > 1 ? /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-0.5 border-b border-border px-2 py-1", children: [
|
|
90
|
+
/* @__PURE__ */ jsx(
|
|
91
|
+
Button,
|
|
92
|
+
{
|
|
93
|
+
type: "button",
|
|
94
|
+
variant: "link",
|
|
95
|
+
size: "xs",
|
|
96
|
+
className: "h-6 min-h-6 px-1 text-xs",
|
|
97
|
+
onClick: () => {
|
|
98
|
+
focusTarget.current = { kind: "heading" };
|
|
99
|
+
dispatch({ type: "reset" });
|
|
100
|
+
},
|
|
101
|
+
children: labels.menuTitle
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
trail.slice(0, -1).map((node, index) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
105
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "text-xs text-muted-foreground", children: labels.crumbSeparator }),
|
|
106
|
+
/* @__PURE__ */ jsx(
|
|
107
|
+
Button,
|
|
108
|
+
{
|
|
109
|
+
type: "button",
|
|
110
|
+
variant: "link",
|
|
111
|
+
size: "xs",
|
|
112
|
+
className: "h-6 min-h-6 px-1 text-xs",
|
|
113
|
+
onClick: () => {
|
|
114
|
+
focusTarget.current = { kind: "heading" };
|
|
115
|
+
dispatch({ type: "jump", index });
|
|
116
|
+
},
|
|
117
|
+
children: node.label
|
|
118
|
+
}
|
|
119
|
+
)
|
|
120
|
+
] }, node.id))
|
|
121
|
+
] }) : null,
|
|
122
|
+
/* @__PURE__ */ jsxs(
|
|
123
|
+
"ul",
|
|
124
|
+
{
|
|
125
|
+
className: "max-h-96 space-y-0.5 overflow-y-auto p-2",
|
|
126
|
+
"aria-label": current ? formatLabel(labels.panelLabel, { name: current.label }) : labels.rootLabel,
|
|
127
|
+
children: [
|
|
128
|
+
current && config.showViewAll && current.href ? /* @__PURE__ */ jsx("li", { className: "border-b border-border pb-1", children: /* @__PURE__ */ jsx(
|
|
129
|
+
"a",
|
|
130
|
+
{
|
|
131
|
+
href: current.href,
|
|
132
|
+
onClick: () => onNavigate(current),
|
|
133
|
+
className: "block rounded-md px-2 py-2 text-sm font-semibold text-primary underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
134
|
+
children: formatLabel(labels.viewAll, { name: current.label })
|
|
135
|
+
}
|
|
136
|
+
) }) : null,
|
|
137
|
+
level.length === 0 ? /* @__PURE__ */ jsx("li", { className: "px-2 py-3 text-sm text-muted-foreground", children: labels.empty }) : null,
|
|
138
|
+
level.map((node) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-1", children: [
|
|
139
|
+
/* @__PURE__ */ jsx(CategoryLink, { node, onNavigate, className: rowLink }),
|
|
140
|
+
/* @__PURE__ */ jsx(CountText, { node, config, labels, className: "py-2.5" }),
|
|
141
|
+
hasChildren(node) ? /* @__PURE__ */ jsx(
|
|
142
|
+
Button,
|
|
143
|
+
{
|
|
144
|
+
type: "button",
|
|
145
|
+
variant: "ghost",
|
|
146
|
+
size: "icon-sm",
|
|
147
|
+
ref: (element) => {
|
|
148
|
+
rowRefs.current.set(node.id, element);
|
|
149
|
+
},
|
|
150
|
+
"aria-label": formatLabel(labels.openSubmenu, { name: node.label }),
|
|
151
|
+
onClick: () => push(node),
|
|
152
|
+
className: cn("shrink-0 text-muted-foreground", hoverSurface),
|
|
153
|
+
children: /* @__PURE__ */ jsx(ChevronIcon, { className: "h-4 w-4 -rotate-90 rtl:rotate-90" })
|
|
154
|
+
}
|
|
155
|
+
) : null
|
|
156
|
+
] }, node.id))
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
)
|
|
160
|
+
] });
|
|
161
|
+
}
|
|
162
|
+
function AccordionNode({
|
|
163
|
+
node,
|
|
164
|
+
level,
|
|
165
|
+
config,
|
|
166
|
+
labels,
|
|
167
|
+
onNavigate
|
|
168
|
+
}) {
|
|
169
|
+
const [expanded, setExpanded] = useState(false);
|
|
170
|
+
const contentId = useId();
|
|
171
|
+
const expandable = hasChildren(node) && level < config.deepLevelLimit;
|
|
172
|
+
return /* @__PURE__ */ jsxs("li", { children: [
|
|
173
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-1", children: [
|
|
174
|
+
/* @__PURE__ */ jsx(CategoryLink, { node, onNavigate, className: rowLink }),
|
|
175
|
+
/* @__PURE__ */ jsx(CountText, { node, config, labels, className: "py-2.5" }),
|
|
176
|
+
expandable ? /* @__PURE__ */ jsx(
|
|
177
|
+
Button,
|
|
178
|
+
{
|
|
179
|
+
type: "button",
|
|
180
|
+
variant: "ghost",
|
|
181
|
+
size: "icon-sm",
|
|
182
|
+
"aria-expanded": expanded,
|
|
183
|
+
"aria-controls": contentId,
|
|
184
|
+
"aria-label": formatLabel(labels.openSubmenu, { name: node.label }),
|
|
185
|
+
onClick: () => setExpanded((current) => !current),
|
|
186
|
+
className: cn("shrink-0 text-muted-foreground", hoverSurface),
|
|
187
|
+
children: /* @__PURE__ */ jsx(
|
|
188
|
+
ChevronIcon,
|
|
189
|
+
{
|
|
190
|
+
className: cn(
|
|
191
|
+
"h-4 w-4 transition-transform motion-reduce:transition-none",
|
|
192
|
+
expanded && "rotate-180"
|
|
193
|
+
)
|
|
194
|
+
}
|
|
195
|
+
)
|
|
196
|
+
}
|
|
197
|
+
) : null
|
|
198
|
+
] }),
|
|
199
|
+
expandable ? /* @__PURE__ */ jsx("div", { id: contentId, hidden: !expanded, className: "ms-2 border-s border-border ps-2", children: expanded ? /* @__PURE__ */ jsx("ul", { className: "space-y-0.5", children: sortNodes(node.children ?? []).map((child) => /* @__PURE__ */ jsx(
|
|
200
|
+
AccordionNode,
|
|
201
|
+
{
|
|
202
|
+
node: child,
|
|
203
|
+
level: level + 1,
|
|
204
|
+
config,
|
|
205
|
+
labels,
|
|
206
|
+
onNavigate
|
|
207
|
+
},
|
|
208
|
+
child.id
|
|
209
|
+
)) }) : null }) : null
|
|
210
|
+
] });
|
|
211
|
+
}
|
|
212
|
+
function AccordionMenu({ categories, config, labels, onNavigate, onClose }) {
|
|
213
|
+
return /* @__PURE__ */ jsxs("div", { "data-qa": "mobile-menu", className: "rounded-lg border border-border bg-popover text-popover-foreground", children: [
|
|
214
|
+
/* @__PURE__ */ jsx(MobileHeader, { title: labels.menuTitle, labels, onClose }),
|
|
215
|
+
/* @__PURE__ */ jsx("ul", { className: "max-h-96 space-y-0.5 overflow-y-auto p-2", "aria-label": labels.rootLabel, children: sortNodes(categories).map((node) => /* @__PURE__ */ jsx(
|
|
216
|
+
AccordionNode,
|
|
217
|
+
{
|
|
218
|
+
node,
|
|
219
|
+
level: 1,
|
|
220
|
+
config,
|
|
221
|
+
labels,
|
|
222
|
+
onNavigate
|
|
223
|
+
},
|
|
224
|
+
node.id
|
|
225
|
+
)) })
|
|
226
|
+
] });
|
|
227
|
+
}
|
|
228
|
+
function MobileMenu(props) {
|
|
229
|
+
return props.pattern === "accordion" ? /* @__PURE__ */ jsx(AccordionMenu, { ...props }) : /* @__PURE__ */ jsx(DrillDownMenu, { ...props });
|
|
230
|
+
}
|
|
231
|
+
export {
|
|
232
|
+
MobileMenu
|
|
233
|
+
};
|
|
234
|
+
//# sourceMappingURL=mobile-menu.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/blocks/designs/mega-menu-universal/mobile-menu.tsx"],"sourcesContent":["'use client'\n\nimport { Button, cn } from '@thorprovider/blocks'\nimport { Fragment, useEffect, useId, useReducer, useRef, useState, type RefObject } from 'react'\n\nimport type { CategoryNode, MenuConfig, MenuLabels, MobilePattern } from './contracts'\nimport { EMPTY_DRILL, drillReducer, trailNodes } from './drilldown'\nimport { formatLabel } from './labels'\nimport { hasChildren, sortNodes } from './taxonomy'\nimport { BackIcon, ChevronIcon, CloseIcon } from './icons'\nimport { CategoryLink, CountText, hoverSurface, type NavigateHandler } from './category-parts'\n\nexport type MobileMenuProps = {\n categories: CategoryNode[]\n pattern: MobilePattern\n config: MenuConfig\n labels: MenuLabels\n onNavigate: NavigateHandler\n onClose: () => void\n}\n\nconst rowLink =\n 'min-w-0 flex-1 px-2 py-2.5 text-sm text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring'\n\n/**\n * Header order is back → close → title in the DOM so that Tab from the\n * programmatically focused level title lands on the first item, while the\n * visual order stays back → title → close (`order-*`).\n */\nfunction MobileHeader({\n title,\n labels,\n onBack,\n onClose,\n headingRef,\n}: {\n title: string\n labels: MenuLabels\n onBack?: () => void\n onClose: () => void\n headingRef?: RefObject<HTMLParagraphElement | null>\n}) {\n return (\n <div className=\"flex items-start gap-1 border-b border-border p-2\">\n {onBack ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onBack}\n aria-label={labels.back}\n className={cn('order-1 shrink-0 text-muted-foreground', hoverSurface)}\n >\n <BackIcon className=\"h-4 w-4 rtl:rotate-180\" />\n </Button>\n ) : null}\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onClose}\n aria-label={labels.close}\n className={cn('order-3 shrink-0 text-muted-foreground', hoverSurface)}\n >\n <CloseIcon className=\"h-4 w-4\" />\n </Button>\n <p\n ref={headingRef}\n tabIndex={-1}\n className=\"order-2 min-w-0 flex-1 break-words px-1 py-1.5 text-sm font-semibold text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n >\n {title}\n </p>\n </div>\n )\n}\n\nfunction DrillDownMenu({ categories, config, labels, onNavigate, onClose }: MobileMenuProps) {\n const [state, dispatch] = useReducer(drillReducer, EMPTY_DRILL)\n const trail = trailNodes(categories, state.trail)\n const current = trail.at(-1) ?? null\n const level = sortNodes(current ? current.children ?? [] : categories)\n const headingRef = useRef<HTMLParagraphElement>(null)\n const rowRefs = useRef(new Map<string, HTMLButtonElement | null>())\n const focusTarget = useRef<{ kind: 'heading' } | { kind: 'row'; id: string } | null>(null)\n\n useEffect(() => {\n const target = focusTarget.current\n if (!target) return\n focusTarget.current = null\n if (target.kind === 'heading') headingRef.current?.focus()\n else rowRefs.current.get(target.id)?.focus()\n }, [state.trail])\n\n const push = (node: CategoryNode) => {\n focusTarget.current = { kind: 'heading' }\n dispatch({ type: 'push', id: node.id })\n }\n\n const pop = () => {\n const leaving = state.trail.at(-1)\n if (leaving) focusTarget.current = { kind: 'row', id: leaving }\n dispatch({ type: 'pop' })\n }\n\n return (\n <div data-qa=\"mobile-menu\" className=\"rounded-lg border border-border bg-popover text-popover-foreground\">\n <MobileHeader\n title={current?.label ?? labels.menuTitle}\n labels={labels}\n onBack={trail.length > 0 ? pop : undefined}\n onClose={onClose}\n headingRef={headingRef}\n />\n {trail.length > 1 ? (\n <div className=\"flex flex-wrap items-center gap-0.5 border-b border-border px-2 py-1\">\n <Button\n type=\"button\"\n variant=\"link\"\n size=\"xs\"\n className=\"h-6 min-h-6 px-1 text-xs\"\n onClick={() => {\n focusTarget.current = { kind: 'heading' }\n dispatch({ type: 'reset' })\n }}\n >\n {labels.menuTitle}\n </Button>\n {trail.slice(0, -1).map((node, index) => (\n <Fragment key={node.id}>\n <span aria-hidden=\"true\" className=\"text-xs text-muted-foreground\">\n {labels.crumbSeparator}\n </span>\n <Button\n type=\"button\"\n variant=\"link\"\n size=\"xs\"\n className=\"h-6 min-h-6 px-1 text-xs\"\n onClick={() => {\n focusTarget.current = { kind: 'heading' }\n dispatch({ type: 'jump', index })\n }}\n >\n {node.label}\n </Button>\n </Fragment>\n ))}\n </div>\n ) : null}\n <ul\n className=\"max-h-96 space-y-0.5 overflow-y-auto p-2\"\n aria-label={\n current ? formatLabel(labels.panelLabel, { name: current.label }) : labels.rootLabel\n }\n >\n {current && config.showViewAll && current.href ? (\n <li className=\"border-b border-border pb-1\">\n <a\n href={current.href}\n onClick={() => onNavigate(current)}\n className=\"block rounded-md px-2 py-2 text-sm font-semibold text-primary underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n >\n {formatLabel(labels.viewAll, { name: current.label })}\n </a>\n </li>\n ) : null}\n {level.length === 0 ? (\n <li className=\"px-2 py-3 text-sm text-muted-foreground\">{labels.empty}</li>\n ) : null}\n {level.map((node) => (\n <li key={node.id} className=\"flex items-start gap-1\">\n <CategoryLink node={node} onNavigate={onNavigate} className={rowLink} />\n <CountText node={node} config={config} labels={labels} className=\"py-2.5\" />\n {hasChildren(node) ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n ref={(element) => {\n rowRefs.current.set(node.id, element)\n }}\n aria-label={formatLabel(labels.openSubmenu, { name: node.label })}\n onClick={() => push(node)}\n className={cn('shrink-0 text-muted-foreground', hoverSurface)}\n >\n <ChevronIcon className=\"h-4 w-4 -rotate-90 rtl:rotate-90\" />\n </Button>\n ) : null}\n </li>\n ))}\n </ul>\n </div>\n )\n}\n\nfunction AccordionNode({\n node,\n level,\n config,\n labels,\n onNavigate,\n}: {\n node: CategoryNode\n level: number\n config: MenuConfig\n labels: MenuLabels\n onNavigate: NavigateHandler\n}) {\n const [expanded, setExpanded] = useState(false)\n const contentId = useId()\n const expandable = hasChildren(node) && level < config.deepLevelLimit\n\n return (\n <li>\n <div className=\"flex items-start gap-1\">\n <CategoryLink node={node} onNavigate={onNavigate} className={rowLink} />\n <CountText node={node} config={config} labels={labels} className=\"py-2.5\" />\n {expandable ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-expanded={expanded}\n aria-controls={contentId}\n aria-label={formatLabel(labels.openSubmenu, { name: node.label })}\n onClick={() => setExpanded((current) => !current)}\n className={cn('shrink-0 text-muted-foreground', hoverSurface)}\n >\n <ChevronIcon\n className={cn(\n 'h-4 w-4 transition-transform motion-reduce:transition-none',\n expanded && 'rotate-180',\n )}\n />\n </Button>\n ) : null}\n </div>\n {expandable ? (\n <div id={contentId} hidden={!expanded} className=\"ms-2 border-s border-border ps-2\">\n {expanded ? (\n <ul className=\"space-y-0.5\">\n {sortNodes(node.children ?? []).map((child) => (\n <AccordionNode\n key={child.id}\n node={child}\n level={level + 1}\n config={config}\n labels={labels}\n onNavigate={onNavigate}\n />\n ))}\n </ul>\n ) : null}\n </div>\n ) : null}\n </li>\n )\n}\n\nfunction AccordionMenu({ categories, config, labels, onNavigate, onClose }: MobileMenuProps) {\n return (\n <div data-qa=\"mobile-menu\" className=\"rounded-lg border border-border bg-popover text-popover-foreground\">\n <MobileHeader title={labels.menuTitle} labels={labels} onClose={onClose} />\n <ul className=\"max-h-96 space-y-0.5 overflow-y-auto p-2\" aria-label={labels.rootLabel}>\n {sortNodes(categories).map((node) => (\n <AccordionNode\n key={node.id}\n node={node}\n level={1}\n config={config}\n labels={labels}\n onNavigate={onNavigate}\n />\n ))}\n </ul>\n </div>\n )\n}\n\nexport function MobileMenu(props: MobileMenuProps) {\n return props.pattern === 'accordion' ? <AccordionMenu {...props} /> : <DrillDownMenu {...props} />\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CategoryNode, MenuConfig, PresentationReason, Promotion, ResolvedPresentation } from './contracts';
|
|
2
|
+
/** A catalog four levels deep reads better as a cascade than as columns. */
|
|
3
|
+
export declare const DEEP_DEPTH = 4;
|
|
4
|
+
/** A level with more than this many siblings needs its own flyout. */
|
|
5
|
+
export declare const WIDE_LEVEL = 12;
|
|
6
|
+
/** Promotions only earn a panel when there is enough catalog around them. */
|
|
7
|
+
export declare const PROMO_MIN_NODES = 12;
|
|
8
|
+
/** Images only earn the visual presentation when there is enough to browse. */
|
|
9
|
+
export declare const VISUAL_MIN_NODES = 8;
|
|
10
|
+
export type ColumnGroup = {
|
|
11
|
+
node: CategoryNode;
|
|
12
|
+
links: CategoryNode[];
|
|
13
|
+
overflow: CategoryNode[];
|
|
14
|
+
viewAll: boolean;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Picks one of the four presentations from the data and the configuration.
|
|
18
|
+
* A forced presentation always wins; `auto` follows the documented order:
|
|
19
|
+
* deep → wide → promotions → images → columns.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolvePresentation(categories: readonly CategoryNode[], config: MenuConfig, promotions?: readonly Promotion[]): {
|
|
22
|
+
presentation: ResolvedPresentation;
|
|
23
|
+
reason: PresentationReason;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Turns the children of the active category into columns: the child is the
|
|
27
|
+
* column title, its children are the links. Links past `maxLinksPerColumn`
|
|
28
|
+
* are reported as overflow so the panel can offer «Ver todo».
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildColumnGroups(node: CategoryNode | undefined, config: MenuConfig): ColumnGroup[];
|
|
31
|
+
//# sourceMappingURL=presentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../../../src/blocks/designs/mega-menu-universal/presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACrB,MAAM,aAAa,CAAA;AAGpB,4EAA4E;AAC5E,eAAO,MAAM,UAAU,IAAI,CAAA;AAC3B,sEAAsE;AACtE,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,6EAA6E;AAC7E,eAAO,MAAM,eAAe,KAAK,CAAA;AACjC,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,IAAI,CAAA;AAEjC,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,SAAS,YAAY,EAAE,EACnC,MAAM,EAAE,UAAU,EAClB,UAAU,GAAE,SAAS,SAAS,EAAO,GACpC;IAAE,YAAY,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAmBpE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,MAAM,EAAE,UAAU,GACjB,WAAW,EAAE,CAQf"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var presentation_exports = {};
|
|
20
|
+
__export(presentation_exports, {
|
|
21
|
+
DEEP_DEPTH: () => DEEP_DEPTH,
|
|
22
|
+
PROMO_MIN_NODES: () => PROMO_MIN_NODES,
|
|
23
|
+
VISUAL_MIN_NODES: () => VISUAL_MIN_NODES,
|
|
24
|
+
WIDE_LEVEL: () => WIDE_LEVEL,
|
|
25
|
+
buildColumnGroups: () => buildColumnGroups,
|
|
26
|
+
resolvePresentation: () => resolvePresentation
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(presentation_exports);
|
|
29
|
+
var import_taxonomy = require("./taxonomy.js");
|
|
30
|
+
const DEEP_DEPTH = 4;
|
|
31
|
+
const WIDE_LEVEL = 12;
|
|
32
|
+
const PROMO_MIN_NODES = 12;
|
|
33
|
+
const VISUAL_MIN_NODES = 8;
|
|
34
|
+
function hasAnyImage(nodes) {
|
|
35
|
+
return nodes.some((node) => Boolean(node.image) || hasAnyImage(node.children ?? []));
|
|
36
|
+
}
|
|
37
|
+
function resolvePresentation(categories, config, promotions = []) {
|
|
38
|
+
if (config.presentation !== "auto") {
|
|
39
|
+
return { presentation: config.presentation, reason: "forced" };
|
|
40
|
+
}
|
|
41
|
+
if (categories.length === 0) return { presentation: "columns", reason: "empty" };
|
|
42
|
+
const depth = (0, import_taxonomy.maxDepth)(categories);
|
|
43
|
+
const widest = (0, import_taxonomy.widestLevel)(categories);
|
|
44
|
+
const total = (0, import_taxonomy.countNodes)(categories);
|
|
45
|
+
if (depth >= DEEP_DEPTH) return { presentation: "cascade", reason: "deep" };
|
|
46
|
+
if (widest > WIDE_LEVEL) return { presentation: "cascade", reason: "wide" };
|
|
47
|
+
if (config.showPromotions && promotions.length > 0 && total >= PROMO_MIN_NODES) {
|
|
48
|
+
return { presentation: "hybrid", reason: "promotions" };
|
|
49
|
+
}
|
|
50
|
+
if (config.showImages && hasAnyImage(categories) && total >= VISUAL_MIN_NODES) {
|
|
51
|
+
return { presentation: "visual", reason: "images" };
|
|
52
|
+
}
|
|
53
|
+
return { presentation: "columns", reason: "compact" };
|
|
54
|
+
}
|
|
55
|
+
function buildColumnGroups(node, config) {
|
|
56
|
+
const children = (0, import_taxonomy.sortNodes)(node?.children ?? []).slice(0, config.maxColumns);
|
|
57
|
+
return children.map((child) => {
|
|
58
|
+
const links = (0, import_taxonomy.sortNodes)(child.children ?? []);
|
|
59
|
+
const shown = links.slice(0, config.maxLinksPerColumn);
|
|
60
|
+
const overflow = links.slice(config.maxLinksPerColumn);
|
|
61
|
+
return { node: child, links: shown, overflow, viewAll: overflow.length > 0 };
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
65
|
+
0 && (module.exports = {
|
|
66
|
+
DEEP_DEPTH,
|
|
67
|
+
PROMO_MIN_NODES,
|
|
68
|
+
VISUAL_MIN_NODES,
|
|
69
|
+
WIDE_LEVEL,
|
|
70
|
+
buildColumnGroups,
|
|
71
|
+
resolvePresentation
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=presentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/blocks/designs/mega-menu-universal/presentation.ts"],"sourcesContent":["import type {\n CategoryNode,\n MenuConfig,\n PresentationReason,\n Promotion,\n ResolvedPresentation,\n} from './contracts'\nimport { countNodes, maxDepth, sortNodes, widestLevel } from './taxonomy'\n\n/** A catalog four levels deep reads better as a cascade than as columns. */\nexport const DEEP_DEPTH = 4\n/** A level with more than this many siblings needs its own flyout. */\nexport const WIDE_LEVEL = 12\n/** Promotions only earn a panel when there is enough catalog around them. */\nexport const PROMO_MIN_NODES = 12\n/** Images only earn the visual presentation when there is enough to browse. */\nexport const VISUAL_MIN_NODES = 8\n\nexport type ColumnGroup = {\n node: CategoryNode\n links: CategoryNode[]\n overflow: CategoryNode[]\n viewAll: boolean\n}\n\nfunction hasAnyImage(nodes: readonly CategoryNode[]): boolean {\n return nodes.some((node) => Boolean(node.image) || hasAnyImage(node.children ?? []))\n}\n\n/**\n * Picks one of the four presentations from the data and the configuration.\n * A forced presentation always wins; `auto` follows the documented order:\n * deep → wide → promotions → images → columns.\n */\nexport function resolvePresentation(\n categories: readonly CategoryNode[],\n config: MenuConfig,\n promotions: readonly Promotion[] = [],\n): { presentation: ResolvedPresentation; reason: PresentationReason } {\n if (config.presentation !== 'auto') {\n return { presentation: config.presentation, reason: 'forced' }\n }\n if (categories.length === 0) return { presentation: 'columns', reason: 'empty' }\n\n const depth = maxDepth(categories)\n const widest = widestLevel(categories)\n const total = countNodes(categories)\n\n if (depth >= DEEP_DEPTH) return { presentation: 'cascade', reason: 'deep' }\n if (widest > WIDE_LEVEL) return { presentation: 'cascade', reason: 'wide' }\n if (config.showPromotions && promotions.length > 0 && total >= PROMO_MIN_NODES) {\n return { presentation: 'hybrid', reason: 'promotions' }\n }\n if (config.showImages && hasAnyImage(categories) && total >= VISUAL_MIN_NODES) {\n return { presentation: 'visual', reason: 'images' }\n }\n return { presentation: 'columns', reason: 'compact' }\n}\n\n/**\n * Turns the children of the active category into columns: the child is the\n * column title, its children are the links. Links past `maxLinksPerColumn`\n * are reported as overflow so the panel can offer «Ver todo».\n */\nexport function buildColumnGroups(\n node: CategoryNode | undefined,\n config: MenuConfig,\n): ColumnGroup[] {\n const children = sortNodes(node?.children ?? []).slice(0, config.maxColumns)\n return children.map((child) => {\n const links = sortNodes(child.children ?? [])\n const shown = links.slice(0, config.maxLinksPerColumn)\n const overflow = links.slice(config.maxLinksPerColumn)\n return { node: child, links: shown, overflow, viewAll: overflow.length > 0 }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAA6D;AAGtD,MAAM,aAAa;AAEnB,MAAM,aAAa;AAEnB,MAAM,kBAAkB;AAExB,MAAM,mBAAmB;AAShC,SAAS,YAAY,OAAyC;AAC5D,SAAO,MAAM,KAAK,CAAC,SAAS,QAAQ,KAAK,KAAK,KAAK,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC;AACrF;AAOO,SAAS,oBACd,YACA,QACA,aAAmC,CAAC,GACgC;AACpE,MAAI,OAAO,iBAAiB,QAAQ;AAClC,WAAO,EAAE,cAAc,OAAO,cAAc,QAAQ,SAAS;AAAA,EAC/D;AACA,MAAI,WAAW,WAAW,EAAG,QAAO,EAAE,cAAc,WAAW,QAAQ,QAAQ;AAE/E,QAAM,YAAQ,0BAAS,UAAU;AACjC,QAAM,aAAS,6BAAY,UAAU;AACrC,QAAM,YAAQ,4BAAW,UAAU;AAEnC,MAAI,SAAS,WAAY,QAAO,EAAE,cAAc,WAAW,QAAQ,OAAO;AAC1E,MAAI,SAAS,WAAY,QAAO,EAAE,cAAc,WAAW,QAAQ,OAAO;AAC1E,MAAI,OAAO,kBAAkB,WAAW,SAAS,KAAK,SAAS,iBAAiB;AAC9E,WAAO,EAAE,cAAc,UAAU,QAAQ,aAAa;AAAA,EACxD;AACA,MAAI,OAAO,cAAc,YAAY,UAAU,KAAK,SAAS,kBAAkB;AAC7E,WAAO,EAAE,cAAc,UAAU,QAAQ,SAAS;AAAA,EACpD;AACA,SAAO,EAAE,cAAc,WAAW,QAAQ,UAAU;AACtD;AAOO,SAAS,kBACd,MACA,QACe;AACf,QAAM,eAAW,2BAAU,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,UAAU;AAC3E,SAAO,SAAS,IAAI,CAAC,UAAU;AAC7B,UAAM,YAAQ,2BAAU,MAAM,YAAY,CAAC,CAAC;AAC5C,UAAM,QAAQ,MAAM,MAAM,GAAG,OAAO,iBAAiB;AACrD,UAAM,WAAW,MAAM,MAAM,OAAO,iBAAiB;AACrD,WAAO,EAAE,MAAM,OAAO,OAAO,OAAO,UAAU,SAAS,SAAS,SAAS,EAAE;AAAA,EAC7E,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { countNodes, maxDepth, sortNodes, widestLevel } from "./taxonomy.mjs";
|
|
2
|
+
const DEEP_DEPTH = 4;
|
|
3
|
+
const WIDE_LEVEL = 12;
|
|
4
|
+
const PROMO_MIN_NODES = 12;
|
|
5
|
+
const VISUAL_MIN_NODES = 8;
|
|
6
|
+
function hasAnyImage(nodes) {
|
|
7
|
+
return nodes.some((node) => Boolean(node.image) || hasAnyImage(node.children ?? []));
|
|
8
|
+
}
|
|
9
|
+
function resolvePresentation(categories, config, promotions = []) {
|
|
10
|
+
if (config.presentation !== "auto") {
|
|
11
|
+
return { presentation: config.presentation, reason: "forced" };
|
|
12
|
+
}
|
|
13
|
+
if (categories.length === 0) return { presentation: "columns", reason: "empty" };
|
|
14
|
+
const depth = maxDepth(categories);
|
|
15
|
+
const widest = widestLevel(categories);
|
|
16
|
+
const total = countNodes(categories);
|
|
17
|
+
if (depth >= DEEP_DEPTH) return { presentation: "cascade", reason: "deep" };
|
|
18
|
+
if (widest > WIDE_LEVEL) return { presentation: "cascade", reason: "wide" };
|
|
19
|
+
if (config.showPromotions && promotions.length > 0 && total >= PROMO_MIN_NODES) {
|
|
20
|
+
return { presentation: "hybrid", reason: "promotions" };
|
|
21
|
+
}
|
|
22
|
+
if (config.showImages && hasAnyImage(categories) && total >= VISUAL_MIN_NODES) {
|
|
23
|
+
return { presentation: "visual", reason: "images" };
|
|
24
|
+
}
|
|
25
|
+
return { presentation: "columns", reason: "compact" };
|
|
26
|
+
}
|
|
27
|
+
function buildColumnGroups(node, config) {
|
|
28
|
+
const children = sortNodes(node?.children ?? []).slice(0, config.maxColumns);
|
|
29
|
+
return children.map((child) => {
|
|
30
|
+
const links = sortNodes(child.children ?? []);
|
|
31
|
+
const shown = links.slice(0, config.maxLinksPerColumn);
|
|
32
|
+
const overflow = links.slice(config.maxLinksPerColumn);
|
|
33
|
+
return { node: child, links: shown, overflow, viewAll: overflow.length > 0 };
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
DEEP_DEPTH,
|
|
38
|
+
PROMO_MIN_NODES,
|
|
39
|
+
VISUAL_MIN_NODES,
|
|
40
|
+
WIDE_LEVEL,
|
|
41
|
+
buildColumnGroups,
|
|
42
|
+
resolvePresentation
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=presentation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/blocks/designs/mega-menu-universal/presentation.ts"],"sourcesContent":["import type {\n CategoryNode,\n MenuConfig,\n PresentationReason,\n Promotion,\n ResolvedPresentation,\n} from './contracts'\nimport { countNodes, maxDepth, sortNodes, widestLevel } from './taxonomy'\n\n/** A catalog four levels deep reads better as a cascade than as columns. */\nexport const DEEP_DEPTH = 4\n/** A level with more than this many siblings needs its own flyout. */\nexport const WIDE_LEVEL = 12\n/** Promotions only earn a panel when there is enough catalog around them. */\nexport const PROMO_MIN_NODES = 12\n/** Images only earn the visual presentation when there is enough to browse. */\nexport const VISUAL_MIN_NODES = 8\n\nexport type ColumnGroup = {\n node: CategoryNode\n links: CategoryNode[]\n overflow: CategoryNode[]\n viewAll: boolean\n}\n\nfunction hasAnyImage(nodes: readonly CategoryNode[]): boolean {\n return nodes.some((node) => Boolean(node.image) || hasAnyImage(node.children ?? []))\n}\n\n/**\n * Picks one of the four presentations from the data and the configuration.\n * A forced presentation always wins; `auto` follows the documented order:\n * deep → wide → promotions → images → columns.\n */\nexport function resolvePresentation(\n categories: readonly CategoryNode[],\n config: MenuConfig,\n promotions: readonly Promotion[] = [],\n): { presentation: ResolvedPresentation; reason: PresentationReason } {\n if (config.presentation !== 'auto') {\n return { presentation: config.presentation, reason: 'forced' }\n }\n if (categories.length === 0) return { presentation: 'columns', reason: 'empty' }\n\n const depth = maxDepth(categories)\n const widest = widestLevel(categories)\n const total = countNodes(categories)\n\n if (depth >= DEEP_DEPTH) return { presentation: 'cascade', reason: 'deep' }\n if (widest > WIDE_LEVEL) return { presentation: 'cascade', reason: 'wide' }\n if (config.showPromotions && promotions.length > 0 && total >= PROMO_MIN_NODES) {\n return { presentation: 'hybrid', reason: 'promotions' }\n }\n if (config.showImages && hasAnyImage(categories) && total >= VISUAL_MIN_NODES) {\n return { presentation: 'visual', reason: 'images' }\n }\n return { presentation: 'columns', reason: 'compact' }\n}\n\n/**\n * Turns the children of the active category into columns: the child is the\n * column title, its children are the links. Links past `maxLinksPerColumn`\n * are reported as overflow so the panel can offer «Ver todo».\n */\nexport function buildColumnGroups(\n node: CategoryNode | undefined,\n config: MenuConfig,\n): ColumnGroup[] {\n const children = sortNodes(node?.children ?? []).slice(0, config.maxColumns)\n return children.map((child) => {\n const links = sortNodes(child.children ?? [])\n const shown = links.slice(0, config.maxLinksPerColumn)\n const overflow = links.slice(config.maxLinksPerColumn)\n return { node: child, links: shown, overflow, viewAll: overflow.length > 0 }\n })\n}\n"],"mappings":"AAOA,SAAS,YAAY,UAAU,WAAW,mBAAmB;AAGtD,MAAM,aAAa;AAEnB,MAAM,aAAa;AAEnB,MAAM,kBAAkB;AAExB,MAAM,mBAAmB;AAShC,SAAS,YAAY,OAAyC;AAC5D,SAAO,MAAM,KAAK,CAAC,SAAS,QAAQ,KAAK,KAAK,KAAK,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC;AACrF;AAOO,SAAS,oBACd,YACA,QACA,aAAmC,CAAC,GACgC;AACpE,MAAI,OAAO,iBAAiB,QAAQ;AAClC,WAAO,EAAE,cAAc,OAAO,cAAc,QAAQ,SAAS;AAAA,EAC/D;AACA,MAAI,WAAW,WAAW,EAAG,QAAO,EAAE,cAAc,WAAW,QAAQ,QAAQ;AAE/E,QAAM,QAAQ,SAAS,UAAU;AACjC,QAAM,SAAS,YAAY,UAAU;AACrC,QAAM,QAAQ,WAAW,UAAU;AAEnC,MAAI,SAAS,WAAY,QAAO,EAAE,cAAc,WAAW,QAAQ,OAAO;AAC1E,MAAI,SAAS,WAAY,QAAO,EAAE,cAAc,WAAW,QAAQ,OAAO;AAC1E,MAAI,OAAO,kBAAkB,WAAW,SAAS,KAAK,SAAS,iBAAiB;AAC9E,WAAO,EAAE,cAAc,UAAU,QAAQ,aAAa;AAAA,EACxD;AACA,MAAI,OAAO,cAAc,YAAY,UAAU,KAAK,SAAS,kBAAkB;AAC7E,WAAO,EAAE,cAAc,UAAU,QAAQ,SAAS;AAAA,EACpD;AACA,SAAO,EAAE,cAAc,WAAW,QAAQ,UAAU;AACtD;AAOO,SAAS,kBACd,MACA,QACe;AACf,QAAM,WAAW,UAAU,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,UAAU;AAC3E,SAAO,SAAS,IAAI,CAAC,UAAU;AAC7B,UAAM,QAAQ,UAAU,MAAM,YAAY,CAAC,CAAC;AAC5C,UAAM,QAAQ,MAAM,MAAM,GAAG,OAAO,iBAAiB;AACrD,UAAM,WAAW,MAAM,MAAM,OAAO,iBAAiB;AACrD,WAAO,EAAE,MAAM,OAAO,OAAO,OAAO,UAAU,SAAS,SAAS,SAAS,EAAE;AAAA,EAC7E,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { CategoryNode } from './contracts';
|
|
2
|
+
/**
|
|
3
|
+
* Merchandising order. When no node declares `order`, the authored order is
|
|
4
|
+
* kept untouched (it is meaningful); otherwise ordered nodes lead, in order,
|
|
5
|
+
* and unordered ones keep their relative position after them.
|
|
6
|
+
*/
|
|
7
|
+
export declare function sortNodes(nodes: readonly CategoryNode[]): CategoryNode[];
|
|
8
|
+
/** Deepest level of the tree; a flat list is 1, an empty tree is 0. */
|
|
9
|
+
export declare function maxDepth(nodes: readonly CategoryNode[]): number;
|
|
10
|
+
/** Every node in the tree, including the roots. */
|
|
11
|
+
export declare function countNodes(nodes: readonly CategoryNode[]): number;
|
|
12
|
+
/** The largest number of siblings at any level. */
|
|
13
|
+
export declare function widestLevel(nodes: readonly CategoryNode[]): number;
|
|
14
|
+
/** Path from a root to the node with `id`; empty when the id is absent. */
|
|
15
|
+
export declare function findPath(nodes: readonly CategoryNode[], id: string): CategoryNode[];
|
|
16
|
+
export declare function findNode(nodes: readonly CategoryNode[], id: string): CategoryNode | undefined;
|
|
17
|
+
export declare function hasChildren(node?: CategoryNode): boolean;
|
|
18
|
+
/** True when the node has more children than the menu shows at once. */
|
|
19
|
+
export declare function needsViewAll(node: CategoryNode | undefined, limit: number): boolean;
|
|
20
|
+
export declare function sliceChildren(node: CategoryNode | undefined, limit: number): CategoryNode[];
|
|
21
|
+
/** Depth of a node inside the tree, counting roots as 1; 0 when absent. */
|
|
22
|
+
export declare function depthOf(nodes: readonly CategoryNode[], id: string): number;
|
|
23
|
+
//# sourceMappingURL=taxonomy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taxonomy.d.ts","sourceRoot":"","sources":["../../../../src/blocks/designs/mega-menu-universal/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,YAAY,EAAE,CAGxE;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAO/D;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAEjE;AAED,mDAAmD;AACnD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAQlE;AAED,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,EAAE,CAOnF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAO7F;AAED,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAExD;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAE3F;AAED,2EAA2E;AAC3E,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE1E"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var taxonomy_exports = {};
|
|
20
|
+
__export(taxonomy_exports, {
|
|
21
|
+
countNodes: () => countNodes,
|
|
22
|
+
depthOf: () => depthOf,
|
|
23
|
+
findNode: () => findNode,
|
|
24
|
+
findPath: () => findPath,
|
|
25
|
+
hasChildren: () => hasChildren,
|
|
26
|
+
maxDepth: () => maxDepth,
|
|
27
|
+
needsViewAll: () => needsViewAll,
|
|
28
|
+
sliceChildren: () => sliceChildren,
|
|
29
|
+
sortNodes: () => sortNodes,
|
|
30
|
+
widestLevel: () => widestLevel
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(taxonomy_exports);
|
|
33
|
+
function sortNodes(nodes) {
|
|
34
|
+
if (!nodes.some((node) => typeof node.order === "number")) return [...nodes];
|
|
35
|
+
return [...nodes].sort((a, b) => (a.order ?? Number.MAX_SAFE_INTEGER) - (b.order ?? Number.MAX_SAFE_INTEGER));
|
|
36
|
+
}
|
|
37
|
+
function maxDepth(nodes) {
|
|
38
|
+
let deepest = 0;
|
|
39
|
+
for (const node of nodes) {
|
|
40
|
+
const depth = 1 + maxDepth(node.children ?? []);
|
|
41
|
+
if (depth > deepest) deepest = depth;
|
|
42
|
+
}
|
|
43
|
+
return deepest;
|
|
44
|
+
}
|
|
45
|
+
function countNodes(nodes) {
|
|
46
|
+
return nodes.reduce((total, node) => total + 1 + countNodes(node.children ?? []), 0);
|
|
47
|
+
}
|
|
48
|
+
function widestLevel(nodes) {
|
|
49
|
+
if (nodes.length === 0) return 0;
|
|
50
|
+
let widest = nodes.length;
|
|
51
|
+
for (const node of nodes) {
|
|
52
|
+
const childWidth = widestLevel(node.children ?? []);
|
|
53
|
+
if (childWidth > widest) widest = childWidth;
|
|
54
|
+
}
|
|
55
|
+
return widest;
|
|
56
|
+
}
|
|
57
|
+
function findPath(nodes, id) {
|
|
58
|
+
for (const node of nodes) {
|
|
59
|
+
if (node.id === id) return [node];
|
|
60
|
+
const childPath = findPath(node.children ?? [], id);
|
|
61
|
+
if (childPath.length > 0) return [node, ...childPath];
|
|
62
|
+
}
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
function findNode(nodes, id) {
|
|
66
|
+
for (const node of nodes) {
|
|
67
|
+
if (node.id === id) return node;
|
|
68
|
+
const found = findNode(node.children ?? [], id);
|
|
69
|
+
if (found) return found;
|
|
70
|
+
}
|
|
71
|
+
return void 0;
|
|
72
|
+
}
|
|
73
|
+
function hasChildren(node) {
|
|
74
|
+
return (node?.children?.length ?? 0) > 0;
|
|
75
|
+
}
|
|
76
|
+
function needsViewAll(node, limit) {
|
|
77
|
+
return (node?.children?.length ?? 0) > limit;
|
|
78
|
+
}
|
|
79
|
+
function sliceChildren(node, limit) {
|
|
80
|
+
return sortNodes(node?.children ?? []).slice(0, Math.max(0, limit));
|
|
81
|
+
}
|
|
82
|
+
function depthOf(nodes, id) {
|
|
83
|
+
return findPath(nodes, id).length;
|
|
84
|
+
}
|
|
85
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
86
|
+
0 && (module.exports = {
|
|
87
|
+
countNodes,
|
|
88
|
+
depthOf,
|
|
89
|
+
findNode,
|
|
90
|
+
findPath,
|
|
91
|
+
hasChildren,
|
|
92
|
+
maxDepth,
|
|
93
|
+
needsViewAll,
|
|
94
|
+
sliceChildren,
|
|
95
|
+
sortNodes,
|
|
96
|
+
widestLevel
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=taxonomy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/blocks/designs/mega-menu-universal/taxonomy.ts"],"sourcesContent":["import type { CategoryNode } from './contracts'\n\n/**\n * Merchandising order. When no node declares `order`, the authored order is\n * kept untouched (it is meaningful); otherwise ordered nodes lead, in order,\n * and unordered ones keep their relative position after them.\n */\nexport function sortNodes(nodes: readonly CategoryNode[]): CategoryNode[] {\n if (!nodes.some((node) => typeof node.order === 'number')) return [...nodes]\n return [...nodes].sort((a, b) => (a.order ?? Number.MAX_SAFE_INTEGER) - (b.order ?? Number.MAX_SAFE_INTEGER))\n}\n\n/** Deepest level of the tree; a flat list is 1, an empty tree is 0. */\nexport function maxDepth(nodes: readonly CategoryNode[]): number {\n let deepest = 0\n for (const node of nodes) {\n const depth = 1 + maxDepth(node.children ?? [])\n if (depth > deepest) deepest = depth\n }\n return deepest\n}\n\n/** Every node in the tree, including the roots. */\nexport function countNodes(nodes: readonly CategoryNode[]): number {\n return nodes.reduce((total, node) => total + 1 + countNodes(node.children ?? []), 0)\n}\n\n/** The largest number of siblings at any level. */\nexport function widestLevel(nodes: readonly CategoryNode[]): number {\n if (nodes.length === 0) return 0\n let widest = nodes.length\n for (const node of nodes) {\n const childWidth = widestLevel(node.children ?? [])\n if (childWidth > widest) widest = childWidth\n }\n return widest\n}\n\n/** Path from a root to the node with `id`; empty when the id is absent. */\nexport function findPath(nodes: readonly CategoryNode[], id: string): CategoryNode[] {\n for (const node of nodes) {\n if (node.id === id) return [node]\n const childPath = findPath(node.children ?? [], id)\n if (childPath.length > 0) return [node, ...childPath]\n }\n return []\n}\n\nexport function findNode(nodes: readonly CategoryNode[], id: string): CategoryNode | undefined {\n for (const node of nodes) {\n if (node.id === id) return node\n const found = findNode(node.children ?? [], id)\n if (found) return found\n }\n return undefined\n}\n\nexport function hasChildren(node?: CategoryNode): boolean {\n return (node?.children?.length ?? 0) > 0\n}\n\n/** True when the node has more children than the menu shows at once. */\nexport function needsViewAll(node: CategoryNode | undefined, limit: number): boolean {\n return (node?.children?.length ?? 0) > limit\n}\n\nexport function sliceChildren(node: CategoryNode | undefined, limit: number): CategoryNode[] {\n return sortNodes(node?.children ?? []).slice(0, Math.max(0, limit))\n}\n\n/** Depth of a node inside the tree, counting roots as 1; 0 when absent. */\nexport function depthOf(nodes: readonly CategoryNode[], id: string): number {\n return findPath(nodes, id).length\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,SAAS,UAAU,OAAgD;AACxE,MAAI,CAAC,MAAM,KAAK,CAAC,SAAS,OAAO,KAAK,UAAU,QAAQ,EAAG,QAAO,CAAC,GAAG,KAAK;AAC3E,SAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,EAAE,SAAS,OAAO,qBAAqB,EAAE,SAAS,OAAO,iBAAiB;AAC9G;AAGO,SAAS,SAAS,OAAwC;AAC/D,MAAI,UAAU;AACd,aAAW,QAAQ,OAAO;AACxB,UAAM,QAAQ,IAAI,SAAS,KAAK,YAAY,CAAC,CAAC;AAC9C,QAAI,QAAQ,QAAS,WAAU;AAAA,EACjC;AACA,SAAO;AACT;AAGO,SAAS,WAAW,OAAwC;AACjE,SAAO,MAAM,OAAO,CAAC,OAAO,SAAS,QAAQ,IAAI,WAAW,KAAK,YAAY,CAAC,CAAC,GAAG,CAAC;AACrF;AAGO,SAAS,YAAY,OAAwC;AAClE,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,MAAI,SAAS,MAAM;AACnB,aAAW,QAAQ,OAAO;AACxB,UAAM,aAAa,YAAY,KAAK,YAAY,CAAC,CAAC;AAClD,QAAI,aAAa,OAAQ,UAAS;AAAA,EACpC;AACA,SAAO;AACT;AAGO,SAAS,SAAS,OAAgC,IAA4B;AACnF,aAAW,QAAQ,OAAO;AACxB,QAAI,KAAK,OAAO,GAAI,QAAO,CAAC,IAAI;AAChC,UAAM,YAAY,SAAS,KAAK,YAAY,CAAC,GAAG,EAAE;AAClD,QAAI,UAAU,SAAS,EAAG,QAAO,CAAC,MAAM,GAAG,SAAS;AAAA,EACtD;AACA,SAAO,CAAC;AACV;AAEO,SAAS,SAAS,OAAgC,IAAsC;AAC7F,aAAW,QAAQ,OAAO;AACxB,QAAI,KAAK,OAAO,GAAI,QAAO;AAC3B,UAAM,QAAQ,SAAS,KAAK,YAAY,CAAC,GAAG,EAAE;AAC9C,QAAI,MAAO,QAAO;AAAA,EACpB;AACA,SAAO;AACT;AAEO,SAAS,YAAY,MAA8B;AACxD,UAAQ,MAAM,UAAU,UAAU,KAAK;AACzC;AAGO,SAAS,aAAa,MAAgC,OAAwB;AACnF,UAAQ,MAAM,UAAU,UAAU,KAAK;AACzC;AAEO,SAAS,cAAc,MAAgC,OAA+B;AAC3F,SAAO,UAAU,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC;AACpE;AAGO,SAAS,QAAQ,OAAgC,IAAoB;AAC1E,SAAO,SAAS,OAAO,EAAE,EAAE;AAC7B;","names":[]}
|