admin-ui-starter-kit 0.6.9 → 0.7.1
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/.agents/skills/admin-ui-consumer-migration/SKILL.md +29 -1
- package/.agents/skills/admin-ui-consumer-migration/references/package-gap-surfaces.md +14 -0
- package/.agents/skills/admin-ui-consumer-migration/references/theme-overrides.md +172 -0
- package/.agents/skills/component-library-rules/SKILL.md +5 -4
- package/.agents/skills/component-library-rules/references/components/INDEX.json +23 -4
- package/.agents/skills/component-library-rules/references/components/INDEX.md +21 -2
- package/.agents/skills/component-library-rules/references/components/base__avatar.md +3 -3
- package/.agents/skills/component-library-rules/references/components/base__carousel.md +8 -5
- package/.agents/skills/component-library-rules/references/components/base__css-variables.md +1 -0
- package/.agents/skills/component-library-rules/references/components/base__currency.md +10 -11
- package/.agents/skills/component-library-rules/references/components/base__item.md +7 -7
- package/.agents/skills/component-library-rules/references/components/base__money-display.md +4 -0
- package/.agents/skills/component-library-rules/references/components/base__typography.md +3 -3
- package/.agents/skills/component-library-rules/references/components/composed__commerce-address-card.md +74 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-cart-summary.md +84 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-coupon-input.md +52 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-discount-stack.md +58 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-inventory-section.md +168 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-loyalty-points.md +60 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-order-status.md +62 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-payment-method.md +58 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-refund-status.md +58 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-seo-listing.md +106 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-shipment-tracking.md +65 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-subscription-summary.md +66 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-tax-breakdown.md +60 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-upcoming-booking.md +62 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce-voucher-entry.md +60 -0
- package/.agents/skills/component-library-rules/references/components/composed__commerce.md +29 -143
- package/.agents/skills/component-library-rules/references/components/features__products.md +18 -462
- package/.agents/skills/component-library-rules/references/components/features__products__actions.md +37 -0
- package/.agents/skills/component-library-rules/references/components/features__products__support-rail.md +73 -0
- package/.agents/skills/component-library-rules/references/components/features__products__variant-details.md +97 -0
- package/.agents/skills/component-library-rules/references/components/features__products__variant-management.md +269 -0
- package/.agents/skills/component-library-rules/references/components/layout__layout-auth.md +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +43 -1
- package/.agents/skills/component-library-rules/references/testing.md +1 -1
- package/.agents/skills/token-system/SKILL.md +4 -1
- package/AGENTS.md +4 -3
- package/COMPONENT_SELECTION.md +15 -0
- package/INTEGRATION.md +41 -2
- package/MIGRATION.md +7 -7
- package/README.md +7 -3
- package/dist/_shared/accordion-CSRRDWVZ.js +135 -0
- package/dist/_shared/accordion-CSRRDWVZ.js.map +1 -0
- package/dist/_shared/accordion-ClVkIaCy.cjs +2 -0
- package/dist/_shared/accordion-ClVkIaCy.cjs.map +1 -0
- package/dist/_shared/action-menu-8RN2_Jdr.js +96 -0
- package/dist/_shared/action-menu-8RN2_Jdr.js.map +1 -0
- package/dist/_shared/action-menu-Cx2xaBjN.cjs +2 -0
- package/dist/_shared/action-menu-Cx2xaBjN.cjs.map +1 -0
- package/dist/_shared/ai-artifact-BO0XGFHz.cjs +3 -0
- package/dist/_shared/ai-artifact-BO0XGFHz.cjs.map +1 -0
- package/dist/_shared/ai-artifact-CbsGR1t8.js +1099 -0
- package/dist/_shared/ai-artifact-CbsGR1t8.js.map +1 -0
- package/dist/_shared/auth-CwipRgNB.cjs +2 -0
- package/dist/_shared/auth-CwipRgNB.cjs.map +1 -0
- package/dist/_shared/auth-Wipu0Oa_.js +643 -0
- package/dist/_shared/auth-Wipu0Oa_.js.map +1 -0
- package/dist/_shared/badge-B0Ashqkn.cjs +2 -0
- package/dist/_shared/badge-B0Ashqkn.cjs.map +1 -0
- package/dist/_shared/badge-DOJpEtsa.js +110 -0
- package/dist/_shared/badge-DOJpEtsa.js.map +1 -0
- package/dist/_shared/breadcrumbs-C7PI8sxx.cjs +2 -0
- package/dist/_shared/breadcrumbs-C7PI8sxx.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-xNjbIrGc.js +105 -0
- package/dist/_shared/breadcrumbs-xNjbIrGc.js.map +1 -0
- package/dist/_shared/button-CB8e7fui.cjs +2 -0
- package/dist/_shared/button-CB8e7fui.cjs.map +1 -0
- package/dist/_shared/button-CNEMqDHK.js +192 -0
- package/dist/_shared/button-CNEMqDHK.js.map +1 -0
- package/dist/_shared/buttons-BCFKQuB5.js +137 -0
- package/dist/_shared/buttons-BCFKQuB5.js.map +1 -0
- package/dist/_shared/buttons-DHj5I2YL.cjs +2 -0
- package/dist/_shared/buttons-DHj5I2YL.cjs.map +1 -0
- package/dist/_shared/card-radio-group-DdubYUJ6.cjs +2 -0
- package/dist/_shared/card-radio-group-DdubYUJ6.cjs.map +1 -0
- package/dist/_shared/card-radio-group-Du6rzuoC.js +150 -0
- package/dist/_shared/card-radio-group-Du6rzuoC.js.map +1 -0
- package/dist/_shared/cards-B7voInTJ.js +430 -0
- package/dist/_shared/cards-B7voInTJ.js.map +1 -0
- package/dist/_shared/cards-DvE5gRFf.cjs +2 -0
- package/dist/_shared/cards-DvE5gRFf.cjs.map +1 -0
- package/dist/_shared/combobox-AbXh9ft4.cjs +2 -0
- package/dist/_shared/combobox-AbXh9ft4.cjs.map +1 -0
- package/dist/_shared/combobox-ImXiC1qy.js +957 -0
- package/dist/_shared/combobox-ImXiC1qy.js.map +1 -0
- package/dist/_shared/command-B-Yokco3.js +39 -0
- package/dist/_shared/command-B-Yokco3.js.map +1 -0
- package/dist/_shared/command-kcPx4TM_.cjs +2 -0
- package/dist/_shared/command-kcPx4TM_.cjs.map +1 -0
- package/dist/_shared/comments-BR5ENvoo.cjs +2 -0
- package/dist/_shared/comments-BR5ENvoo.cjs.map +1 -0
- package/dist/_shared/comments-a3l--GJ-.js +952 -0
- package/dist/_shared/comments-a3l--GJ-.js.map +1 -0
- package/dist/_shared/containers-CclPUW7j.cjs +2 -0
- package/dist/_shared/containers-CclPUW7j.cjs.map +1 -0
- package/dist/_shared/containers-GDaJ3SOV.js +101 -0
- package/dist/_shared/containers-GDaJ3SOV.js.map +1 -0
- package/dist/_shared/copyable-C0KJlRVr.js +38 -0
- package/dist/_shared/copyable-C0KJlRVr.js.map +1 -0
- package/dist/_shared/copyable-tJxsOyn-.cjs +2 -0
- package/dist/_shared/copyable-tJxsOyn-.cjs.map +1 -0
- package/dist/_shared/data-display-0uNuZSN7.js +1878 -0
- package/dist/_shared/data-display-0uNuZSN7.js.map +1 -0
- package/dist/_shared/data-display-DRa39LH8.cjs +2 -0
- package/dist/_shared/data-display-DRa39LH8.cjs.map +1 -0
- package/dist/_shared/date-picker-BaPDfs1p.js +1361 -0
- package/dist/_shared/date-picker-BaPDfs1p.js.map +1 -0
- package/dist/_shared/date-picker-DrkoZZdr.cjs +2 -0
- package/dist/_shared/date-picker-DrkoZZdr.cjs.map +1 -0
- package/dist/_shared/date-pickers-CT3aZpPn.cjs +2 -0
- package/dist/_shared/date-pickers-CT3aZpPn.cjs.map +1 -0
- package/dist/_shared/date-pickers-DRp0VM7k.js +329 -0
- package/dist/_shared/date-pickers-DRp0VM7k.js.map +1 -0
- package/dist/_shared/display-BHIs_Y_j.js +1006 -0
- package/dist/_shared/display-BHIs_Y_j.js.map +1 -0
- package/dist/_shared/display-DV7n0KA1.cjs +2 -0
- package/dist/_shared/display-DV7n0KA1.cjs.map +1 -0
- package/dist/_shared/dropdown-menu-5fFMhKo4.js +147 -0
- package/dist/_shared/dropdown-menu-5fFMhKo4.js.map +1 -0
- package/dist/_shared/dropdown-menu-B_SCGRL2.cjs +2 -0
- package/dist/_shared/dropdown-menu-B_SCGRL2.cjs.map +1 -0
- package/dist/_shared/form-sizing-VNEGzvM7.js +42 -0
- package/dist/_shared/form-sizing-VNEGzvM7.js.map +1 -0
- package/dist/_shared/form-sizing-lBFpJWv4.cjs +2 -0
- package/dist/_shared/form-sizing-lBFpJWv4.cjs.map +1 -0
- package/dist/_shared/forms-B7LYVbAy.cjs +2 -0
- package/dist/_shared/forms-B7LYVbAy.cjs.map +1 -0
- package/dist/_shared/forms-C5uZX_kQ.js +3534 -0
- package/dist/_shared/forms-C5uZX_kQ.js.map +1 -0
- package/dist/_shared/header-B4wGB6Ca.cjs +2 -0
- package/dist/_shared/header-B4wGB6Ca.cjs.map +1 -0
- package/dist/_shared/header-CWyOry0f.js +447 -0
- package/dist/_shared/header-CWyOry0f.js.map +1 -0
- package/dist/_shared/hooks-B4Cop5YI.cjs +2 -0
- package/dist/_shared/hooks-B4Cop5YI.cjs.map +1 -0
- package/dist/_shared/hooks-CFUZJW_S.js +95 -0
- package/dist/_shared/hooks-CFUZJW_S.js.map +1 -0
- package/dist/_shared/icon-size-CMNigtUu.js +15 -0
- package/dist/_shared/icon-size-CMNigtUu.js.map +1 -0
- package/dist/_shared/icon-size-D2NnYd0K.cjs +2 -0
- package/dist/_shared/icon-size-D2NnYd0K.cjs.map +1 -0
- package/dist/_shared/input-BEhrcsk7.js +182 -0
- package/dist/_shared/input-BEhrcsk7.js.map +1 -0
- package/dist/_shared/input-DGvh-izk.cjs +2 -0
- package/dist/_shared/input-DGvh-izk.cjs.map +1 -0
- package/dist/_shared/item-BG2iK1sy.cjs +2 -0
- package/dist/_shared/item-BG2iK1sy.cjs.map +1 -0
- package/dist/_shared/item-D75eGy8G.js +227 -0
- package/dist/_shared/item-D75eGy8G.js.map +1 -0
- package/dist/_shared/layout-DN8tzvlm.cjs +2 -0
- package/dist/_shared/layout-DN8tzvlm.cjs.map +1 -0
- package/dist/_shared/layout-DNrUkvzF.js +268 -0
- package/dist/_shared/layout-DNrUkvzF.js.map +1 -0
- package/dist/_shared/mentions-CWqC8Xds.js +506 -0
- package/dist/_shared/mentions-CWqC8Xds.js.map +1 -0
- package/dist/_shared/mentions-wtkrL2hX.cjs +2 -0
- package/dist/_shared/mentions-wtkrL2hX.cjs.map +1 -0
- package/dist/_shared/money-display-BabyaIWb.js +198 -0
- package/dist/_shared/money-display-BabyaIWb.js.map +1 -0
- package/dist/_shared/money-display-CrNRbByx.cjs +2 -0
- package/dist/_shared/money-display-CrNRbByx.cjs.map +1 -0
- package/dist/_shared/navigation-9DB-vtGI.js +436 -0
- package/dist/_shared/navigation-9DB-vtGI.js.map +1 -0
- package/dist/_shared/navigation-DAjFLSv5.cjs +2 -0
- package/dist/_shared/navigation-DAjFLSv5.cjs.map +1 -0
- package/dist/_shared/overlays-BK0J8zSv.cjs +2 -0
- package/dist/_shared/overlays-BK0J8zSv.cjs.map +1 -0
- package/dist/_shared/overlays-DKsXufDv.js +735 -0
- package/dist/_shared/overlays-DKsXufDv.js.map +1 -0
- package/dist/_shared/popover-menu-DXh14PIu.js +93 -0
- package/dist/_shared/popover-menu-DXh14PIu.js.map +1 -0
- package/dist/_shared/popover-menu-DkjPUZ4v.cjs +2 -0
- package/dist/_shared/popover-menu-DkjPUZ4v.cjs.map +1 -0
- package/dist/_shared/rich-text-editor-DjZTJzdm.cjs +2 -0
- package/dist/_shared/rich-text-editor-DjZTJzdm.cjs.map +1 -0
- package/dist/_shared/rich-text-editor-DloyZq46.js +620 -0
- package/dist/_shared/rich-text-editor-DloyZq46.js.map +1 -0
- package/dist/_shared/settings-AIgixHbB.cjs +2 -0
- package/dist/_shared/settings-AIgixHbB.cjs.map +1 -0
- package/dist/_shared/settings-D3KdypJk.js +143 -0
- package/dist/_shared/settings-D3KdypJk.js.map +1 -0
- package/dist/_shared/sidebar-BzBincq3.js +548 -0
- package/dist/_shared/sidebar-BzBincq3.js.map +1 -0
- package/dist/_shared/sidebar-D5NLbyow.cjs +2 -0
- package/dist/_shared/sidebar-D5NLbyow.cjs.map +1 -0
- package/dist/_shared/skeleton-Bc_qa5l_.js +256 -0
- package/dist/_shared/skeleton-Bc_qa5l_.js.map +1 -0
- package/dist/_shared/skeleton-Wq6G0Kya.cjs +2 -0
- package/dist/_shared/skeleton-Wq6G0Kya.cjs.map +1 -0
- package/dist/_shared/spinner-C-yoZUk-.cjs +2 -0
- package/dist/_shared/spinner-C-yoZUk-.cjs.map +1 -0
- package/dist/_shared/spinner-CDVWFN0N.js +67 -0
- package/dist/_shared/spinner-CDVWFN0N.js.map +1 -0
- package/dist/_shared/table-B70kyH2E.js +1377 -0
- package/dist/_shared/table-B70kyH2E.js.map +1 -0
- package/dist/_shared/table-DQA2m2F0.cjs +2 -0
- package/dist/_shared/table-DQA2m2F0.cjs.map +1 -0
- package/dist/_shared/textarea-Dx9yEZY2.js +118 -0
- package/dist/_shared/textarea-Dx9yEZY2.js.map +1 -0
- package/dist/_shared/textarea-rfnSeHHC.cjs +2 -0
- package/dist/_shared/textarea-rfnSeHHC.cjs.map +1 -0
- package/dist/_shared/typography-C_kCoR1d.js +204 -0
- package/dist/_shared/typography-C_kCoR1d.js.map +1 -0
- package/dist/_shared/typography-sXFd02zl.cjs +2 -0
- package/dist/_shared/typography-sXFd02zl.cjs.map +1 -0
- package/dist/_shared/workspace-Bw-k_HXQ.js +357 -0
- package/dist/_shared/workspace-Bw-k_HXQ.js.map +1 -0
- package/dist/_shared/workspace-CLUsYC5y.cjs +2 -0
- package/dist/_shared/workspace-CLUsYC5y.cjs.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +1 -1
- package/dist/components/base/carousel/carousel.d.ts.map +1 -1
- package/dist/components/base/carousel/index.cjs +1 -1
- package/dist/components/base/carousel/index.cjs.map +1 -1
- package/dist/components/base/carousel/index.js +98 -97
- package/dist/components/base/carousel/index.js.map +1 -1
- package/dist/components/base/combobox/components/combobox-dropdown.d.ts.map +1 -1
- package/dist/components/base/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/command/command.d.ts +1 -1
- package/dist/components/base/command/index.cjs +1 -1
- package/dist/components/base/command/index.js +1 -1
- package/dist/components/base/copyable/index.cjs +1 -1
- package/dist/components/base/copyable/index.js +1 -1
- package/dist/components/base/currency/index.cjs +1 -1
- package/dist/components/base/currency/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/alert.d.ts.map +1 -1
- package/dist/components/base/display/chart.cjs +1 -1
- package/dist/components/base/display/chart.js +1 -1
- package/dist/components/base/display/icon-size.d.ts +6 -0
- package/dist/components/base/display/icon-size.d.ts.map +1 -0
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.d.ts +1 -0
- package/dist/components/base/display/index.d.ts.map +1 -1
- package/dist/components/base/display/index.js +10 -9
- package/dist/components/base/display/throttle-alert.d.ts.map +1 -1
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.cjs.map +1 -1
- package/dist/components/base/event-calendar/index.js +4 -4
- package/dist/components/base/event-calendar/index.js.map +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +5 -5
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/item/item.d.ts.map +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.cjs.map +1 -1
- package/dist/components/base/map/index.js +3 -3
- package/dist/components/base/map/index.js.map +1 -1
- package/dist/components/base/map/map.d.ts +1 -1
- package/dist/components/base/map/map.d.ts.map +1 -1
- package/dist/components/base/navigation/dropdown-menu.d.ts +33 -1
- package/dist/components/base/navigation/dropdown-menu.d.ts.map +1 -1
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +4 -4
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/spinner/index.cjs +1 -1
- package/dist/components/base/spinner/index.js +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.cjs.map +1 -1
- package/dist/components/composed/admin/index.js +10 -11
- package/dist/components/composed/admin/index.js.map +1 -1
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.cjs.map +1 -1
- package/dist/components/composed/ai/index.js +8 -9
- package/dist/components/composed/ai/index.js.map +1 -1
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.cjs.map +1 -1
- package/dist/components/composed/analytics/index.js +4 -4
- package/dist/components/composed/analytics/index.js.map +1 -1
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.cjs.map +1 -1
- package/dist/components/composed/cards/index.js +13 -15
- package/dist/components/composed/cards/index.js.map +1 -1
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.cjs.map +1 -1
- package/dist/components/composed/commerce/index.d.ts +2 -0
- package/dist/components/composed/commerce/index.d.ts.map +1 -1
- package/dist/components/composed/commerce/index.js +1246 -382
- package/dist/components/composed/commerce/index.js.map +1 -1
- package/dist/components/composed/commerce/inventory-section/index.d.ts +3 -0
- package/dist/components/composed/commerce/inventory-section/index.d.ts.map +1 -0
- package/dist/components/composed/commerce/inventory-section/inventory-section.d.ts +6 -0
- package/dist/components/composed/commerce/inventory-section/inventory-section.d.ts.map +1 -0
- package/dist/components/composed/commerce/inventory-section/types.d.ts +85 -0
- package/dist/components/composed/commerce/inventory-section/types.d.ts.map +1 -0
- package/dist/components/composed/commerce/seo-listing/index.d.ts +4 -0
- package/dist/components/composed/commerce/seo-listing/index.d.ts.map +1 -0
- package/dist/components/composed/commerce/seo-listing/seo-listing-card.d.ts +6 -0
- package/dist/components/composed/commerce/seo-listing/seo-listing-card.d.ts.map +1 -0
- package/dist/components/composed/commerce/seo-listing/seo-listing-score.d.ts +6 -0
- package/dist/components/composed/commerce/seo-listing/seo-listing-score.d.ts.map +1 -0
- package/dist/components/composed/commerce/seo-listing/types.d.ts +68 -0
- package/dist/components/composed/commerce/seo-listing/types.d.ts.map +1 -0
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs.map +1 -1
- package/dist/components/composed/dark-surfaces/index.js +7 -7
- package/dist/components/composed/dark-surfaces/index.js.map +1 -1
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.cjs.map +1 -1
- package/dist/components/composed/navigation/index.js +5 -6
- package/dist/components/composed/navigation/index.js.map +1 -1
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +3 -3
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +3 -3
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +5 -5
- package/dist/components/features/ai-chat/index.cjs +1 -1
- package/dist/components/features/ai-chat/index.js +5 -5
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +4 -4
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/data-view/index.cjs +1 -1
- package/dist/components/features/data-view/index.js +2 -2
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +4 -4
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.cjs.map +1 -1
- package/dist/components/features/filters/index.js +64 -64
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/filters/partials/regular-filter-content.d.ts.map +1 -1
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.js +4 -4
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +3 -3
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.cjs.map +1 -1
- package/dist/components/features/media-library/index.js +230 -206
- package/dist/components/features/media-library/index.js.map +1 -1
- package/dist/components/features/media-library/media-library.d.ts.map +1 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
- package/dist/components/features/media-library/media-library.strings.d.ts.map +1 -1
- package/dist/components/features/media-library/partials/media-library-partials.d.ts.map +1 -1
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +1 -1
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.js +1 -1
- package/dist/components/features/products/components/index.d.ts +3 -0
- package/dist/components/features/products/components/index.d.ts.map +1 -1
- package/dist/components/features/products/components/product-options-matrix.d.ts +6 -0
- package/dist/components/features/products/components/product-options-matrix.d.ts.map +1 -0
- package/dist/components/features/products/components/product-variants-bulk-table.d.ts +6 -0
- package/dist/components/features/products/components/product-variants-bulk-table.d.ts.map +1 -0
- package/dist/components/features/products/components/product-variants-manager.d.ts +6 -0
- package/dist/components/features/products/components/product-variants-manager.d.ts.map +1 -0
- package/dist/components/features/products/index.cjs +1 -1
- package/dist/components/features/products/index.cjs.map +1 -1
- package/dist/components/features/products/index.js +1705 -511
- package/dist/components/features/products/index.js.map +1 -1
- package/dist/components/features/products/products.strings.d.ts +70 -0
- package/dist/components/features/products/products.strings.d.ts.map +1 -1
- package/dist/components/features/products/products.types.d.ts +163 -1
- package/dist/components/features/products/products.types.d.ts.map +1 -1
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.js +5 -5
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +8 -8
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.js +2 -2
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- package/dist/components/layout/containers/index.cjs +1 -1
- package/dist/components/layout/containers/index.d.ts +1 -0
- package/dist/components/layout/containers/index.d.ts.map +1 -1
- package/dist/components/layout/containers/index.js +2 -2
- package/dist/components/layout/containers/two-column-layout.d.ts +43 -0
- package/dist/components/layout/containers/two-column-layout.d.ts.map +1 -0
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/hooks/index.cjs +1 -1
- package/dist/components/layout/hooks/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +9 -9
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/page/page-content.d.ts +1 -1
- package/dist/components/layout/page/page-content.d.ts.map +1 -1
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +1 -1
- package/dist/components/typography/text-link.d.ts +3 -1
- package/dist/components/typography/text-link.d.ts.map +1 -1
- package/dist/components/typography/text.d.ts.map +1 -1
- package/dist/lib/ui-provider/types.d.ts +1 -1
- package/dist/lib/ui-provider/types.d.ts.map +1 -1
- package/dist/lib/utils.cjs +1 -1
- package/dist/lib/utils.cjs.map +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +1 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-D_z9eYQj.js +6 -0
- package/dist/showcase/assets/CompositeItem-BSVzIXzg.js +1 -0
- package/dist/showcase/assets/CompositeRoot-Ewl7bgm-.js +1 -0
- package/dist/showcase/assets/DialogTrigger-CD-DcY4b.js +1 -0
- package/dist/showcase/assets/LabelableContext-BdRVtvs6.js +1 -0
- package/dist/showcase/assets/MenuTrigger-B8Y7BUCN.js +1 -0
- package/dist/showcase/assets/PreviewLayout-CE0fmzoc.js +1 -0
- package/dist/showcase/assets/RadioGroup-Qaf-akL1.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-BQR87jzh.js +1 -0
- package/dist/showcase/assets/Separator-Cymh2jzU.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-P5BSzPlo.js +1 -0
- package/dist/showcase/assets/accordion-BGUvdQ5Z.js +171 -0
- package/dist/showcase/assets/accordion-variants-B56z6tQI.js +1 -0
- package/dist/showcase/assets/action-menu-C3DOQfP4.js +1 -0
- package/dist/showcase/assets/actions-DHG4zJRu.js +38 -0
- package/dist/showcase/assets/actions-IxPK0biY.js +310 -0
- package/dist/showcase/assets/activities-TK5Lr8Wb.js +500 -0
- package/dist/showcase/assets/activities-feed-card-tgQKimyh.js +1 -0
- package/dist/showcase/assets/admin-BQrDKNJa.js +140 -0
- package/dist/showcase/assets/ai-artifact-Cv7LTw1V.js +2 -0
- package/dist/showcase/assets/ai-chat-Dmg2Tqf1.js +568 -0
- package/dist/showcase/assets/ai-elements-BmokxSCy.js +387 -0
- package/dist/showcase/assets/ai-tool-call-6qESA6We.js +1 -0
- package/dist/showcase/assets/ai-xShhEkrM.js +207 -0
- package/dist/showcase/assets/alert--MONSwFW.js +1 -0
- package/dist/showcase/assets/alert-BuMNu_BZ.js +62 -0
- package/dist/showcase/assets/alert-z1RP5MhA.js +93 -0
- package/dist/showcase/assets/api-key-list-BhmXUJty.js +73 -0
- package/dist/showcase/assets/api-key-list-hPTN6gwa.js +1 -0
- package/dist/showcase/assets/app-sidebar-CY-XpIu6.js +1 -0
- package/dist/showcase/assets/arrow-down-D0XbhSDi.js +1 -0
- package/dist/showcase/assets/arrow-left-DBxsWbzL.js +1 -0
- package/dist/showcase/assets/arrow-right-Dk80zKWl.js +1 -0
- package/dist/showcase/assets/arrow-up-BiZ_VvpP.js +1 -0
- package/dist/showcase/assets/arrow-up-right-OdmPQEwY.js +1 -0
- package/dist/showcase/assets/avatar-BThv_quW.js +1 -0
- package/dist/showcase/assets/avatar-Bcy2snIC.js +67 -0
- package/dist/showcase/assets/avatar-Ca3to6dB.js +57 -0
- package/dist/showcase/assets/avatar-Dba0yVei.js +1 -0
- package/dist/showcase/assets/badge-A1w2eIaM.js +31 -0
- package/dist/showcase/assets/badge-check-DyqZ9Ff8.js +1 -0
- package/dist/showcase/assets/bell-DyqsYdKK.js +1 -0
- package/dist/showcase/assets/boolean-indicator-gaFjXuY1.js +1 -0
- package/dist/showcase/assets/bot-BGQvS_p9.js +1 -0
- package/dist/showcase/assets/box-BoFEAPr6.js +1 -0
- package/dist/showcase/assets/braces-D88Ve7g-.js +1 -0
- package/dist/showcase/assets/brain-hIv2TdLu.js +1 -0
- package/dist/showcase/assets/brand-CiWM8HzB.js +36 -0
- package/dist/showcase/assets/breadcrumb-DlHNoCer.js +1 -0
- package/dist/showcase/assets/breadcrumb-Dy-UbgK5.js +52 -0
- package/dist/showcase/assets/breadcrumbs-BoXmoDHt.js +1 -0
- package/dist/showcase/assets/briefcase-BeN7dk_G.js +1 -0
- package/dist/showcase/assets/building-2-ICycTKXZ.js +1 -0
- package/dist/showcase/assets/button-BADo_inb.js +44 -0
- package/dist/showcase/assets/button-group-BGkXY3HC.js +1 -0
- package/dist/showcase/assets/buttons-3z50eWMp.js +272 -0
- package/dist/showcase/assets/calendar-BAfoc476.js +1 -0
- package/dist/showcase/assets/calendar-DNxQUmlO.js +16 -0
- package/dist/showcase/assets/calendar-days-D86Fv-vG.js +1 -0
- package/dist/showcase/assets/calendar-pjS8iCZE.js +1 -0
- package/dist/showcase/assets/camera-DxWfctRe.js +1 -0
- package/dist/showcase/assets/card-BazLaDA9.js +188 -0
- package/dist/showcase/assets/card-F8Ona144.js +1 -0
- package/dist/showcase/assets/card-checkbox-group-DtK7aVPU.js +1 -0
- package/dist/showcase/assets/card-primitives-DzqLvy5f.js +1 -0
- package/dist/showcase/assets/card-radio-group-EjPkSg-w.js +1 -0
- package/dist/showcase/assets/cards--V2D7Sft.js +354 -0
- package/dist/showcase/assets/carousel-BNmTHQiN.js +452 -0
- package/dist/showcase/assets/cell-renderers-BdpeNGHs.js +1 -0
- package/dist/showcase/assets/chart-column-CJx3qWPs.js +1 -0
- package/dist/showcase/assets/chart-p7dUP6Mo.js +358 -0
- package/dist/showcase/assets/checkbox-BBxn_hxI.js +1 -0
- package/dist/showcase/assets/checkbox-BEyESyQ2.js +1 -0
- package/dist/showcase/assets/chevron-down-mjLUdP6b.js +1 -0
- package/dist/showcase/assets/chevron-left-DOofVtEd.js +1 -0
- package/dist/showcase/assets/chevron-up-BJk6z8Fg.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-C-9zUpl_.js +1 -0
- package/dist/showcase/assets/circle-OmLq29jq.js +1 -0
- package/dist/showcase/assets/circle-alert-DSpR2pdl.js +1 -0
- package/dist/showcase/assets/circle-check-BjuHEm7p.js +1 -0
- package/dist/showcase/assets/circle-check-big-BuYdgE3Q.js +1 -0
- package/dist/showcase/assets/circle-dot-DlYGMuaF.js +1 -0
- package/dist/showcase/assets/circle-question-mark-BlgRDDu3.js +1 -0
- package/dist/showcase/assets/circle-x-BavQ4wuc.js +1 -0
- package/dist/showcase/assets/clock-3-CzeN1Iwk.js +1 -0
- package/dist/showcase/assets/clock-CZYS08d1.js +1 -0
- package/dist/showcase/assets/code-xml-D4NwoTpD.js +1 -0
- package/dist/showcase/assets/collapsible-BtawbO_2.js +1 -0
- package/dist/showcase/assets/collapsible-CJXE3z1T.js +27 -0
- package/dist/showcase/assets/collapsible-ws3VKPg9.js +1 -0
- package/dist/showcase/assets/combobox-Btpk7-vH.js +685 -0
- package/dist/showcase/assets/command-CoiVI2_b.js +1 -0
- package/dist/showcase/assets/command-Dkn9XqF2.js +1 -0
- package/dist/showcase/assets/comment-composer-BNnVQo1O.js +1 -0
- package/dist/showcase/assets/comment-item-BiIgcrPQ.js +1 -0
- package/dist/showcase/assets/comments-CvzWz23L.js +357 -0
- package/dist/showcase/assets/commerce-CBHLQF8q.js +19 -0
- package/dist/showcase/assets/commerce-address-card-Bqm0FQkG.js +33 -0
- package/dist/showcase/assets/commerce-cart-summary-BtGCOEun.js +43 -0
- package/dist/showcase/assets/commerce-coupon-input-I3FY6pgV.js +11 -0
- package/dist/showcase/assets/commerce-discount-stack-CWqyobuL.js +17 -0
- package/dist/showcase/assets/commerce-inventory-section-rBtMNLTt.js +123 -0
- package/dist/showcase/assets/commerce-loyalty-points-ne7c2ObQ.js +19 -0
- package/dist/showcase/assets/commerce-order-status-eLtUC1iE.js +21 -0
- package/dist/showcase/assets/commerce-payment-method-B3yFyhpS.js +17 -0
- package/dist/showcase/assets/commerce-refund-status-C1pzTSus.js +17 -0
- package/dist/showcase/assets/commerce-seo-listing-CBk_c8ru.js +61 -0
- package/dist/showcase/assets/commerce-shipment-tracking-auiKGGyV.js +24 -0
- package/dist/showcase/assets/commerce-subscription-summary-BCX4WxbS.js +25 -0
- package/dist/showcase/assets/commerce-tax-breakdown-D4F5dOjL.js +19 -0
- package/dist/showcase/assets/commerce-upcoming-booking-qlWKp0kq.js +20 -0
- package/dist/showcase/assets/commerce-voucher-entry-CqCuoKHq.js +19 -0
- package/dist/showcase/assets/composite-DeYDU7hg.js +1 -0
- package/dist/showcase/assets/conditional-rendering-CFHxzngX.js +1 -0
- package/dist/showcase/assets/contact-card-CxVeuwp_.js +65 -0
- package/dist/showcase/assets/content-container-CJN01OtO.js +1 -0
- package/dist/showcase/assets/copyable-DajG-Sgx.js +1 -0
- package/dist/showcase/assets/copyable-zOzqOOBl.js +96 -0
- package/dist/showcase/assets/course-card-DO8z-KeM.js +77 -0
- package/dist/showcase/assets/cpu-C8IgjvoP.js +1 -0
- package/dist/showcase/assets/credit-card-XYEEHtzk.js +1 -0
- package/dist/showcase/assets/css-variables-BglvDaVO.js +1223 -0
- package/dist/showcase/assets/currency-Bso6kejw.js +148 -0
- package/dist/showcase/assets/dark-surfaces-5WTjzxYN.js +90 -0
- package/dist/showcase/assets/data-view-B7uRWXOO.js +4 -0
- package/dist/showcase/assets/data-view-C4bGuOlY.js +124 -0
- package/dist/showcase/assets/database-CZLgFKRy.js +1 -0
- package/dist/showcase/assets/date-block-BicWaKPj.js +1 -0
- package/dist/showcase/assets/date-block-yRFY8Ne5.js +1 -0
- package/dist/showcase/assets/date-picker-CskCoiwf.js +1 -0
- package/dist/showcase/assets/date-pickers-fcqdsvef.js +73 -0
- package/dist/showcase/assets/dense-info-Dg38xVsF.js +106 -0
- package/dist/showcase/assets/design-system-consistency-DFa3RNWm.js +264 -0
- package/dist/showcase/assets/dialog-C4fhqXD0.js +1 -0
- package/dist/showcase/assets/dialog-CN_gfVV2.js +1 -0
- package/dist/showcase/assets/dialog-CoJdLYZ8.js +1 -0
- package/dist/showcase/assets/display-utilities-DB0eXAdH.js +4 -0
- package/dist/showcase/assets/display-utilities.examples-ez3DfdgN.js +309 -0
- package/dist/showcase/assets/dist-5H2NtsLp.js +45 -0
- package/dist/showcase/assets/dist-SJMpFlRc.js +1 -0
- package/dist/showcase/assets/dollar-sign-LBLhl0Y2.js +1 -0
- package/dist/showcase/assets/download-BkOWnQEj.js +1 -0
- package/dist/showcase/assets/dropdown-menu-5yqchTEF.js +1 -0
- package/dist/showcase/assets/dropzone-CJHqIcHB.js +1 -0
- package/dist/showcase/assets/earth-BGrx2u2i.js +1 -0
- package/dist/showcase/assets/ellipsis-Dumpj4aE.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-h1O9pibc.js +1 -0
- package/dist/showcase/assets/empty-Cc8JP5--.js +1 -0
- package/dist/showcase/assets/empty-item-C-v-Akyi.js +49 -0
- package/dist/showcase/assets/empty-state-B7BQDoeL.js +1 -0
- package/dist/showcase/assets/empty-state-BSvZNFnQ.js +190 -0
- package/dist/showcase/assets/enhanced-activities-D7g7ZD9m.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-4Olgu--e.js +1 -0
- package/dist/showcase/assets/esm-CFFDcW-Z.js +2 -0
- package/dist/showcase/assets/event-calendar-vdFWcI49.js +138 -0
- package/dist/showcase/assets/event-log-BbHM_3Ko.js +330 -0
- package/dist/showcase/assets/example-BsDQngs7.js +1 -0
- package/dist/showcase/assets/external-link-BvVwsJxR.js +1 -0
- package/dist/showcase/assets/eye-CAeo-GNe.js +1 -0
- package/dist/showcase/assets/feature-announcement-7hZGrJd6.js +34 -0
- package/dist/showcase/assets/file-D4d3b9bx.js +1 -0
- package/dist/showcase/assets/file-text-C59ToXmU.js +1 -0
- package/dist/showcase/assets/filter-layout-BjoG6qxP.js +1 -0
- package/dist/showcase/assets/filters-CrE_UGbo.js +139 -0
- package/dist/showcase/assets/fixtures-ClOCQD2a.js +1 -0
- package/dist/showcase/assets/flag-CuF52WEl.js +1 -0
- package/dist/showcase/assets/folder-open-BLLtgh4E.js +1 -0
- package/dist/showcase/assets/form-field-D5kwgD4P.js +1 -0
- package/dist/showcase/assets/form-sizing-Bv0A0Oi0.js +1 -0
- package/dist/showcase/assets/format-LvvHefMj.js +1 -0
- package/dist/showcase/assets/forms-Ck6hPzLP.js +915 -0
- package/dist/showcase/assets/funnel-Bvp5cFZt.js +1 -0
- package/dist/showcase/assets/generic-Cownd_Wk.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-CPnjAO3K.js +1 -0
- package/dist/showcase/assets/gift-BCQpmV33.js +1 -0
- package/dist/showcase/assets/giftcard-cards-B_78Meny.js +85 -0
- package/dist/showcase/assets/git-branch-r0dDGCKy.js +1 -0
- package/dist/showcase/assets/global-search-DD9cGOt5.js +1 -0
- package/dist/showcase/assets/global-search-fTKzzx8k.js +215 -0
- package/dist/showcase/assets/globe-RF5bwiar.js +1 -0
- package/dist/showcase/assets/gradient-card-BDJes3UK.js +58 -0
- package/dist/showcase/assets/grip-vertical-qqe2NqfZ.js +1 -0
- package/dist/showcase/assets/hash-D9_KYvHs.js +1 -0
- package/dist/showcase/assets/header-XNCAB6Rs.js +1 -0
- package/dist/showcase/assets/header-notifications-BdWsVoN3.js +1 -0
- package/dist/showcase/assets/heart-C56rAanb.js +1 -0
- package/dist/showcase/assets/hooks-fDydjf6M.js +220 -0
- package/dist/showcase/assets/house-DbYM6er_.js +1 -0
- package/dist/showcase/assets/icon-badge-DWQE6dAm.js +37 -0
- package/dist/showcase/assets/icon-badge-ruuI6tt0.js +1 -0
- package/dist/showcase/assets/icon-size-BHn0d6Zp.js +1 -0
- package/dist/showcase/assets/image-DCpC2weW.js +1 -0
- package/dist/showcase/assets/inbox-cvR2MbZq.js +1 -0
- package/dist/showcase/assets/index-B4sKWDcN.js +10 -0
- package/dist/showcase/assets/index-Dy3INIq2.css +2 -0
- package/dist/showcase/assets/inertValue-DhXA8ytu.js +1 -0
- package/dist/showcase/assets/info-DXwnIz56.js +1 -0
- package/dist/showcase/assets/inline-stat-C9Syz6in.js +1 -0
- package/dist/showcase/assets/inline-stat-CDcWILUM.js +15 -0
- package/dist/showcase/assets/input-CLQIEOQ4.js +1 -0
- package/dist/showcase/assets/input-D70ed8oB.js +1 -0
- package/dist/showcase/assets/input-group-CMJ2yUuD.js +47 -0
- package/dist/showcase/assets/input-group-DwZov3Y6.js +1 -0
- package/dist/showcase/assets/inputs-DQWbPvC8.js +155 -0
- package/dist/showcase/assets/installation-B2BcSkJr.js +134 -0
- package/dist/showcase/assets/invoice-header-Ds4A6mLs.js +36 -0
- package/dist/showcase/assets/invoice-items-LFYeS0eR.js +36 -0
- package/dist/showcase/assets/invoice-mini-BMVm8x43.js +14 -0
- package/dist/showcase/assets/invoice-table-BVZ-PtSC.js +30 -0
- package/dist/showcase/assets/isSameDay-BYK9pmDX.js +1 -0
- package/dist/showcase/assets/isToday-B3-xb910.js +1 -0
- package/dist/showcase/assets/italic-CPSVPc63.js +1 -0
- package/dist/showcase/assets/item-KsGEgVjl.js +1 -0
- package/dist/showcase/assets/item-WOhHNpnr.js +1 -0
- package/dist/showcase/assets/item-avTNp1z7.js +140 -0
- package/dist/showcase/assets/kanban-DwVW3Lab.js +188 -0
- package/dist/showcase/assets/key-round-CNEqnMGG.js +1 -0
- package/dist/showcase/assets/label-BZzl85ev.js +1 -0
- package/dist/showcase/assets/languages-BWquWXSu.js +1 -0
- package/dist/showcase/assets/layers-hYbCFSpT.js +1 -0
- package/dist/showcase/assets/layout-app-shell-BRLO7lFp.js +608 -0
- package/dist/showcase/assets/layout-auth-ysobcsYs.js +790 -0
- package/dist/showcase/assets/layout-containers-BoVYkBOk.js +141 -0
- package/dist/showcase/assets/layout-header-BnkgzPgS.js +203 -0
- package/dist/showcase/assets/layout-page-CdzQQr2_.js +315 -0
- package/dist/showcase/assets/layout-primitives-BXP_nFQX.js +34 -0
- package/dist/showcase/assets/layout-sidebar-tPHppANn.js +224 -0
- package/dist/showcase/assets/layout-users-DgChX6ig.js +117 -0
- package/dist/showcase/assets/layout-workspace-u1kkLDCd.js +191 -0
- package/dist/showcase/assets/lib-VG1Lf4Lk.js +1 -0
- package/dist/showcase/assets/list-checks-CUXbiTmk.js +1 -0
- package/dist/showcase/assets/lock-BwI_fNQW.js +1 -0
- package/dist/showcase/assets/lock-keyhole-DKi16lNp.js +1 -0
- package/dist/showcase/assets/mail-BlH-8y33.js +1 -0
- package/dist/showcase/assets/mail-check-DrNT7RWT.js +1 -0
- package/dist/showcase/assets/map-BKztQq4-.js +124 -0
- package/dist/showcase/assets/map-pin-BwGJCGY8.js +1 -0
- package/dist/showcase/assets/media-library-CUI_IPkM.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-BIIRKRpU.js +1 -0
- package/dist/showcase/assets/mentions-CTkcQNFc.js +138 -0
- package/dist/showcase/assets/menus-DilZRggQ.js +171 -0
- package/dist/showcase/assets/message-square-Cjuladix.js +1 -0
- package/dist/showcase/assets/metadata-list-C6CF85o9.js +1 -0
- package/dist/showcase/assets/metadata-list-PqngP9QU.js +286 -0
- package/dist/showcase/assets/metric-C5Wrr90_.js +1 -0
- package/dist/showcase/assets/metric-bar-CIesI_gw.js +1 -0
- package/dist/showcase/assets/metric-grid-FlL7atag.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-DxTiaCTB.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-YabnSIOP.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-Buas8exV.js +50 -0
- package/dist/showcase/assets/metrics-comparison-Jx1WGPZL.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-C5cB95P9.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-D7r40gFm.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-CweMAqSm.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-UUa2fUGF.js +42 -0
- package/dist/showcase/assets/metrics-overview-eGnNPvwF.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-CEcX0zqZ.js +54 -0
- package/dist/showcase/assets/minus-CVVsGq91.js +1 -0
- package/dist/showcase/assets/money-display-Chu4t6MY.js +1 -0
- package/dist/showcase/assets/money-display-DNs6PXCm.js +3 -0
- package/dist/showcase/assets/month-year-picker-B0odiuhf.js +1 -0
- package/dist/showcase/assets/navigation-CQwt1f4b.js +90 -0
- package/dist/showcase/assets/navigation-KQxXtiL6.js +231 -0
- package/dist/showcase/assets/navigation-extras-2uJbGPhJ.js +43 -0
- package/dist/showcase/assets/notification-banner-Cx1Qm0ij.js +1 -0
- package/dist/showcase/assets/onboarding-checklist-CAHajXzP.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-gNULx5Wr.js +1 -0
- package/dist/showcase/assets/overlays-CaSVa-L2.js +159 -0
- package/dist/showcase/assets/overlays-zjTanrAP.js +408 -0
- package/dist/showcase/assets/overview-EZ_RMkeD.js +184 -0
- package/dist/showcase/assets/package-CqQQqj6Y.js +1 -0
- package/dist/showcase/assets/package-check-Nqr5Lv95.js +1 -0
- package/dist/showcase/assets/page-BTXFFFwT.js +1 -0
- package/dist/showcase/assets/page-action-button-NJqE-qP0.js +1 -0
- package/dist/showcase/assets/page-header-AFTuoGVw.js +1 -0
- package/dist/showcase/assets/pagination-B1Ewc7Co.js +1 -0
- package/dist/showcase/assets/pagination-DOdLcTiT.js +42 -0
- package/dist/showcase/assets/paperclip-D0oBI19t.js +1 -0
- package/dist/showcase/assets/password-input-C5MrNrHm.js +1 -0
- package/dist/showcase/assets/pencil-DdCEPDLe.js +1 -0
- package/dist/showcase/assets/phone-BdGmQ_eI.js +1 -0
- package/dist/showcase/assets/placeholder-pattern-BnyJukU0.js +1 -0
- package/dist/showcase/assets/plus-Dp_nZNjk.js +1 -0
- package/dist/showcase/assets/popover-BP4R2w67.js +1 -0
- package/dist/showcase/assets/popover-DfGXC2pN.js +1 -0
- package/dist/showcase/assets/popover-menu-DGkCA4YC.js +1 -0
- package/dist/showcase/assets/product-empty-state-CKylTX_h.js +1 -0
- package/dist/showcase/assets/product-option-action-menu-vqslODBe.js +1 -0
- package/dist/showcase/assets/product-rows-CWy63Dk5.js +1 -0
- package/dist/showcase/assets/product-structure-card-EJY038tP.js +1 -0
- package/dist/showcase/assets/product-variant-action-menu-CnRJscP3.js +1 -0
- package/dist/showcase/assets/products-jpCjHLbZ.js +61 -0
- package/dist/showcase/assets/progress-D19PRprP.js +1 -0
- package/dist/showcase/assets/progress-UbtWRfF2.js +18 -0
- package/dist/showcase/assets/progress-twHfoY8k.js +1 -0
- package/dist/showcase/assets/props-table-aynAz90t.js +1 -0
- package/dist/showcase/assets/props.generated-IUhT2lh_.json +42950 -0
- package/dist/showcase/assets/qr-code-ywR6kVzD.js +1 -0
- package/dist/showcase/assets/quote-BFMPQa3L.js +1 -0
- package/dist/showcase/assets/receipt-CcTseXcy.js +1 -0
- package/dist/showcase/assets/receipt-text-C9BMAbTL.js +1 -0
- package/dist/showcase/assets/refinement-guide-lotMKye4.js +189 -0
- package/dist/showcase/assets/refresh-cw-DpfoVhbc.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-mzTN-8j9.js +1 -0
- package/dist/showcase/assets/resource-CwHVDrOk.js +1 -0
- package/dist/showcase/assets/resource-kPziVtVy.js +139 -0
- package/dist/showcase/assets/resource-selector-card-xIysiHOg.js +43 -0
- package/dist/showcase/assets/rich-text-editor-Bi6stpAW.js +124 -0
- package/dist/showcase/assets/rich-text-editor-DggGI4Dj.js +143 -0
- package/dist/showcase/assets/rotate-ccw-Uau0Jm3_.js +1 -0
- package/dist/showcase/assets/route-Dj29lOBc.js +1 -0
- package/dist/showcase/assets/save-j-PKUm-B.js +1 -0
- package/dist/showcase/assets/schema-form-D4kfmM1o.js +327 -0
- package/dist/showcase/assets/scroll-area-CK1S6JpQ.js +1 -0
- package/dist/showcase/assets/scroll-area-Di7TDfFD.js +32 -0
- package/dist/showcase/assets/section-C_rLy6Zn.js +1 -0
- package/dist/showcase/assets/select-BRC14Sd3.js +1 -0
- package/dist/showcase/assets/select-J0hPSc5B.js +1 -0
- package/dist/showcase/assets/send-BnVbRsaN.js +1 -0
- package/dist/showcase/assets/separator-7gHhV7ed.js +1 -0
- package/dist/showcase/assets/separator-CjWigMul.js +1 -0
- package/dist/showcase/assets/separator-Dpo134G3.js +28 -0
- package/dist/showcase/assets/separator-JYQ5rY8E.js +1 -0
- package/dist/showcase/assets/settings-2-D06IRW2d.js +1 -0
- package/dist/showcase/assets/settings-YDwquOPS.js +1 -0
- package/dist/showcase/assets/sheet-O9T8bfRr.js +1 -0
- package/dist/showcase/assets/shield-Cebk5nXH.js +1 -0
- package/dist/showcase/assets/shield-alert-BldSpQ1t.js +1 -0
- package/dist/showcase/assets/shield-check-CNudpzdR.js +1 -0
- package/dist/showcase/assets/shopping-bag-BuHsmxnN.js +1 -0
- package/dist/showcase/assets/showcase-B1BPgzRP.js +132 -0
- package/dist/showcase/assets/sidebar-DPVgEwE0.js +1 -0
- package/dist/showcase/assets/sidebar.context-CYk51BQ5.js +1 -0
- package/dist/showcase/assets/skeleton-CrB6dGV4.js +29 -0
- package/dist/showcase/assets/skeleton-DMWrHdVi.js +1 -0
- package/dist/showcase/assets/skeleton-IBZSxxTq.js +1 -0
- package/dist/showcase/assets/skeleton-OK5SgmlA.js +1 -0
- package/dist/showcase/assets/slider-DMLIlQeO.js +1 -0
- package/dist/showcase/assets/smart-card-CwDYx0xj.js +1 -0
- package/dist/showcase/assets/sonner-Dpe1Nwfb.js +22 -0
- package/dist/showcase/assets/sortable.esm-BSC2lHxr.js +5 -0
- package/dist/showcase/assets/sparkles-BDnbTUMq.js +1 -0
- package/dist/showcase/assets/spinner-BZ0h-j9y.js +49 -0
- package/dist/showcase/assets/spinner-TNaSAQh7.js +30 -0
- package/dist/showcase/assets/spinner-k76a4i_M.js +1 -0
- package/dist/showcase/assets/square-pen-Cn-sFtCo.js +1 -0
- package/dist/showcase/assets/stacked-avatars-Ds8eV_Nx.js +1 -0
- package/dist/showcase/assets/star-BzQGhFDT.js +1 -0
- package/dist/showcase/assets/startOfDay-BfIUGWW-.js +1 -0
- package/dist/showcase/assets/styles-BleHZ-uX.js +1 -0
- package/dist/showcase/assets/suggestions-CsrJSY__.js +126 -0
- package/dist/showcase/assets/support-rail-C_fc_C1j.js +26 -0
- package/dist/showcase/assets/switch-BEfD8lic.js +1 -0
- package/dist/showcase/assets/switch-BOlIXIn9.js +1 -0
- package/dist/showcase/assets/switch-card-CCJ-MaRI.js +1 -0
- package/dist/showcase/assets/sync-vACCm2ND.js +124 -0
- package/dist/showcase/assets/table-CeZy8iT0.js +686 -0
- package/dist/showcase/assets/table-DPpHEvR_.js +1 -0
- package/dist/showcase/assets/table-actions-C9J5piiU.js +1 -0
- package/dist/showcase/assets/tabs-Ca6ldTWi.js +1 -0
- package/dist/showcase/assets/tabs-DGP5RvNm.js +19 -0
- package/dist/showcase/assets/tags-input-BOemEMZS.js +1 -0
- package/dist/showcase/assets/text-button-C8qZqcCy.js +1 -0
- package/dist/showcase/assets/text-link-BFYPeXTq.js +1 -0
- package/dist/showcase/assets/textarea-DcCHHuP-.js +1 -0
- package/dist/showcase/assets/textarea-RUqV9hNm.js +1 -0
- package/dist/showcase/assets/throttle-alert-Sf7FjTvh.js +1 -0
- package/dist/showcase/assets/timelines-nQ8shLIn.js +200 -0
- package/dist/showcase/assets/toggle-group-k5nqOfUW.js +1 -0
- package/dist/showcase/assets/toggles-E80ufOk5.js +71 -0
- package/dist/showcase/assets/toggles-group-vaJ63gg9.js +32 -0
- package/dist/showcase/assets/tooltip-DIvBe7hb.js +31 -0
- package/dist/showcase/assets/trash-2-C-6T17-B.js +1 -0
- package/dist/showcase/assets/trending-up-DRyRbFnA.js +1 -0
- package/dist/showcase/assets/truck-BE6OFjJs.js +1 -0
- package/dist/showcase/assets/typography-i6Zhj3TO.js +223 -0
- package/dist/showcase/assets/ui-badge-MBQsz2Mn.js +28 -0
- package/dist/showcase/assets/ui-card-jaEeRDe5.js +30 -0
- package/dist/showcase/assets/ui-table-CbmOEWVu.js +42 -0
- package/dist/showcase/assets/upload-tray-D4aE56cX.js +138 -0
- package/dist/showcase/assets/use-layout-link-DpqFiDf-.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-DSKQpAlQ.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-DL6IpVQS.js +1 -0
- package/dist/showcase/assets/useCompositeItem-jckozrpu.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-Ce0eZtsp.js +1 -0
- package/dist/showcase/assets/useLabelableId-Bs8clfkJ.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-KBhpVaur.js +1 -0
- package/dist/showcase/assets/useRender-Bn5cjIfs.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-D5Cl055z.js +1 -0
- package/dist/showcase/assets/useValueChanged-B-czUWmg.js +1 -0
- package/dist/showcase/assets/user-C7ORJkSr.js +1 -0
- package/dist/showcase/assets/user-plus-O410ITvy.js +1 -0
- package/dist/showcase/assets/users-BlcUaVEY.js +1 -0
- package/dist/showcase/assets/variant-details-BJ0OtpeL.js +50 -0
- package/dist/showcase/assets/variant-management-pTZ83MM_.js +209 -0
- package/dist/showcase/assets/vendor-profile-F2EP-AGx.js +37 -0
- package/dist/showcase/assets/video-fYZEPex_.js +1 -0
- package/dist/showcase/assets/visually-hidden-C1KAHG63.js +1 -0
- package/dist/showcase/assets/weight-input-_wl5mPGA.js +1 -0
- package/dist/showcase/assets/wrench-BzqNpztP.js +1 -0
- package/dist/showcase/assets/x-C5_SzMQM.js +1 -0
- package/dist/showcase/assets/zap-DdInHaAD.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/tokens/components.css +17 -2
- package/src/css/tokens/foundation.css +4 -2
- package/dist/_shared/accordion-8B4OFqiT.cjs +0 -2
- package/dist/_shared/accordion-8B4OFqiT.cjs.map +0 -1
- package/dist/_shared/accordion-DlpTSZ3p.js +0 -135
- package/dist/_shared/accordion-DlpTSZ3p.js.map +0 -1
- package/dist/_shared/action-menu-BYrYdpkR.cjs +0 -2
- package/dist/_shared/action-menu-BYrYdpkR.cjs.map +0 -1
- package/dist/_shared/action-menu-CYwMZX-b.js +0 -96
- package/dist/_shared/action-menu-CYwMZX-b.js.map +0 -1
- package/dist/_shared/ai-artifact-Cv8VBibf.cjs +0 -3
- package/dist/_shared/ai-artifact-Cv8VBibf.cjs.map +0 -1
- package/dist/_shared/ai-artifact-DwfXQuh4.js +0 -1099
- package/dist/_shared/ai-artifact-DwfXQuh4.js.map +0 -1
- package/dist/_shared/auth-Cz5ci18c.cjs +0 -2
- package/dist/_shared/auth-Cz5ci18c.cjs.map +0 -1
- package/dist/_shared/auth-DDWsgFUL.js +0 -643
- package/dist/_shared/auth-DDWsgFUL.js.map +0 -1
- package/dist/_shared/badge-C65rt1M9.cjs +0 -2
- package/dist/_shared/badge-C65rt1M9.cjs.map +0 -1
- package/dist/_shared/badge-r8ae66Vd.js +0 -110
- package/dist/_shared/badge-r8ae66Vd.js.map +0 -1
- package/dist/_shared/breadcrumbs-CuT0YIfo.js +0 -105
- package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +0 -1
- package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +0 -2
- package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +0 -1
- package/dist/_shared/button-Be2ayMxF.js +0 -192
- package/dist/_shared/button-Be2ayMxF.js.map +0 -1
- package/dist/_shared/button-CfQtOuBK.cjs +0 -2
- package/dist/_shared/button-CfQtOuBK.cjs.map +0 -1
- package/dist/_shared/buttons-DABiSx6N.cjs +0 -2
- package/dist/_shared/buttons-DABiSx6N.cjs.map +0 -1
- package/dist/_shared/buttons-DYQqQPpk.js +0 -137
- package/dist/_shared/buttons-DYQqQPpk.js.map +0 -1
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs +0 -2
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs.map +0 -1
- package/dist/_shared/card-radio-group-DRjmLN5s.js +0 -150
- package/dist/_shared/card-radio-group-DRjmLN5s.js.map +0 -1
- package/dist/_shared/cards-BJctT9KD.js +0 -428
- package/dist/_shared/cards-BJctT9KD.js.map +0 -1
- package/dist/_shared/cards-m03XN10f.cjs +0 -2
- package/dist/_shared/cards-m03XN10f.cjs.map +0 -1
- package/dist/_shared/combobox-BdBpeD3C.cjs +0 -2
- package/dist/_shared/combobox-BdBpeD3C.cjs.map +0 -1
- package/dist/_shared/combobox-D9tU_83-.js +0 -954
- package/dist/_shared/combobox-D9tU_83-.js.map +0 -1
- package/dist/_shared/command-BbJB0pjP.cjs +0 -2
- package/dist/_shared/command-BbJB0pjP.cjs.map +0 -1
- package/dist/_shared/command-IP2wy_HN.js +0 -39
- package/dist/_shared/command-IP2wy_HN.js.map +0 -1
- package/dist/_shared/comments-DAzpeuQq.cjs +0 -2
- package/dist/_shared/comments-DAzpeuQq.cjs.map +0 -1
- package/dist/_shared/comments-DzZaKP9x.js +0 -952
- package/dist/_shared/comments-DzZaKP9x.js.map +0 -1
- package/dist/_shared/containers-CB7zaAvN.cjs +0 -2
- package/dist/_shared/containers-CB7zaAvN.cjs.map +0 -1
- package/dist/_shared/containers-CLBmhGfs.js +0 -48
- package/dist/_shared/containers-CLBmhGfs.js.map +0 -1
- package/dist/_shared/copyable-BJYx2SlN.js +0 -38
- package/dist/_shared/copyable-BJYx2SlN.js.map +0 -1
- package/dist/_shared/copyable-DiDEjp8Z.cjs +0 -2
- package/dist/_shared/copyable-DiDEjp8Z.cjs.map +0 -1
- package/dist/_shared/data-display-DQUUEzCx.cjs +0 -2
- package/dist/_shared/data-display-DQUUEzCx.cjs.map +0 -1
- package/dist/_shared/data-display-LlvMEFTK.js +0 -1878
- package/dist/_shared/data-display-LlvMEFTK.js.map +0 -1
- package/dist/_shared/date-picker-CrC-lHyF.cjs +0 -2
- package/dist/_shared/date-picker-CrC-lHyF.cjs.map +0 -1
- package/dist/_shared/date-picker-DbYBek-b.js +0 -1361
- package/dist/_shared/date-picker-DbYBek-b.js.map +0 -1
- package/dist/_shared/date-pickers-9AU8YQK2.js +0 -329
- package/dist/_shared/date-pickers-9AU8YQK2.js.map +0 -1
- package/dist/_shared/date-pickers-DUEwCWig.cjs +0 -2
- package/dist/_shared/date-pickers-DUEwCWig.cjs.map +0 -1
- package/dist/_shared/display-BqoPOdof.cjs +0 -2
- package/dist/_shared/display-BqoPOdof.cjs.map +0 -1
- package/dist/_shared/display-CQoSwU74.js +0 -986
- package/dist/_shared/display-CQoSwU74.js.map +0 -1
- package/dist/_shared/dropdown-menu-CHQzQWUK.cjs +0 -2
- package/dist/_shared/dropdown-menu-CHQzQWUK.cjs.map +0 -1
- package/dist/_shared/dropdown-menu-CoWmrjYX.js +0 -147
- package/dist/_shared/dropdown-menu-CoWmrjYX.js.map +0 -1
- package/dist/_shared/form-sizing-DJus3nK3.cjs +0 -2
- package/dist/_shared/form-sizing-DJus3nK3.cjs.map +0 -1
- package/dist/_shared/form-sizing-DWjJsQSR.js +0 -42
- package/dist/_shared/form-sizing-DWjJsQSR.js.map +0 -1
- package/dist/_shared/forms-CNh-S9FK.cjs +0 -2
- package/dist/_shared/forms-CNh-S9FK.cjs.map +0 -1
- package/dist/_shared/forms-DIz3SCA9.js +0 -3534
- package/dist/_shared/forms-DIz3SCA9.js.map +0 -1
- package/dist/_shared/header-Bs61tQla.js +0 -447
- package/dist/_shared/header-Bs61tQla.js.map +0 -1
- package/dist/_shared/header-D01oOxna.cjs +0 -2
- package/dist/_shared/header-D01oOxna.cjs.map +0 -1
- package/dist/_shared/hooks-ACnpaIli.js +0 -95
- package/dist/_shared/hooks-ACnpaIli.js.map +0 -1
- package/dist/_shared/hooks-B7khuHkk.cjs +0 -2
- package/dist/_shared/hooks-B7khuHkk.cjs.map +0 -1
- package/dist/_shared/input-CzJzVyQ0.js +0 -182
- package/dist/_shared/input-CzJzVyQ0.js.map +0 -1
- package/dist/_shared/input-Dvvmn96E.cjs +0 -2
- package/dist/_shared/input-Dvvmn96E.cjs.map +0 -1
- package/dist/_shared/item-CVjjpHQd.js +0 -226
- package/dist/_shared/item-CVjjpHQd.js.map +0 -1
- package/dist/_shared/item-ChHblHhR.cjs +0 -2
- package/dist/_shared/item-ChHblHhR.cjs.map +0 -1
- package/dist/_shared/layout-CGi5w1mo.js +0 -268
- package/dist/_shared/layout-CGi5w1mo.js.map +0 -1
- package/dist/_shared/layout-ccVwjUG8.cjs +0 -2
- package/dist/_shared/layout-ccVwjUG8.cjs.map +0 -1
- package/dist/_shared/mentions-Cg_4vFxd.cjs +0 -2
- package/dist/_shared/mentions-Cg_4vFxd.cjs.map +0 -1
- package/dist/_shared/mentions-Ci9RFTfw.js +0 -506
- package/dist/_shared/mentions-Ci9RFTfw.js.map +0 -1
- package/dist/_shared/money-display-BFk9Gu21.cjs +0 -2
- package/dist/_shared/money-display-BFk9Gu21.cjs.map +0 -1
- package/dist/_shared/money-display-DpuLnsK2.js +0 -198
- package/dist/_shared/money-display-DpuLnsK2.js.map +0 -1
- package/dist/_shared/navigation-C1QN2-Vq.cjs +0 -2
- package/dist/_shared/navigation-C1QN2-Vq.cjs.map +0 -1
- package/dist/_shared/navigation-CMrLO8v5.js +0 -436
- package/dist/_shared/navigation-CMrLO8v5.js.map +0 -1
- package/dist/_shared/overlays-BJLczwpz.js +0 -735
- package/dist/_shared/overlays-BJLczwpz.js.map +0 -1
- package/dist/_shared/overlays-DbaPLT67.cjs +0 -2
- package/dist/_shared/overlays-DbaPLT67.cjs.map +0 -1
- package/dist/_shared/popover-menu-D_t6rCvN.cjs +0 -2
- package/dist/_shared/popover-menu-D_t6rCvN.cjs.map +0 -1
- package/dist/_shared/popover-menu-f2O6R_27.js +0 -93
- package/dist/_shared/popover-menu-f2O6R_27.js.map +0 -1
- package/dist/_shared/rich-text-editor-DmZHbsms.js +0 -620
- package/dist/_shared/rich-text-editor-DmZHbsms.js.map +0 -1
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs +0 -2
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs.map +0 -1
- package/dist/_shared/settings-CgtcSI8L.js +0 -143
- package/dist/_shared/settings-CgtcSI8L.js.map +0 -1
- package/dist/_shared/settings-csNmeT7b.cjs +0 -2
- package/dist/_shared/settings-csNmeT7b.cjs.map +0 -1
- package/dist/_shared/sidebar-DyGIcJd9.cjs +0 -2
- package/dist/_shared/sidebar-DyGIcJd9.cjs.map +0 -1
- package/dist/_shared/sidebar-OT-xIguQ.js +0 -548
- package/dist/_shared/sidebar-OT-xIguQ.js.map +0 -1
- package/dist/_shared/skeleton-DwF5VdMh.cjs +0 -2
- package/dist/_shared/skeleton-DwF5VdMh.cjs.map +0 -1
- package/dist/_shared/skeleton-yUXqeWzB.js +0 -256
- package/dist/_shared/skeleton-yUXqeWzB.js.map +0 -1
- package/dist/_shared/spinner-BDrUzfTo.cjs +0 -2
- package/dist/_shared/spinner-BDrUzfTo.cjs.map +0 -1
- package/dist/_shared/spinner-CuVZhJhN.js +0 -67
- package/dist/_shared/spinner-CuVZhJhN.js.map +0 -1
- package/dist/_shared/table-BVWemr79.cjs +0 -2
- package/dist/_shared/table-BVWemr79.cjs.map +0 -1
- package/dist/_shared/table-WYSjfQRr.js +0 -1377
- package/dist/_shared/table-WYSjfQRr.js.map +0 -1
- package/dist/_shared/textarea-C0iZwWdD.js +0 -118
- package/dist/_shared/textarea-C0iZwWdD.js.map +0 -1
- package/dist/_shared/textarea-bHFAtwYd.cjs +0 -2
- package/dist/_shared/textarea-bHFAtwYd.cjs.map +0 -1
- package/dist/_shared/typography-5bLhAYaK.js +0 -201
- package/dist/_shared/typography-5bLhAYaK.js.map +0 -1
- package/dist/_shared/typography-CWEobAJV.cjs +0 -2
- package/dist/_shared/typography-CWEobAJV.cjs.map +0 -1
- package/dist/_shared/workspace-BkwsqTrc.cjs +0 -2
- package/dist/_shared/workspace-BkwsqTrc.cjs.map +0 -1
- package/dist/_shared/workspace-DpU1YG1t.js +0 -357
- package/dist/_shared/workspace-DpU1YG1t.js.map +0 -1
- package/dist/showcase/assets/AreaChart-DxDBymDt.js +0 -6
- package/dist/showcase/assets/CompositeItem-owAA4Ah3.js +0 -1
- package/dist/showcase/assets/CompositeRoot-DzHTtLBs.js +0 -1
- package/dist/showcase/assets/DialogTrigger-OUBMI353.js +0 -1
- package/dist/showcase/assets/LabelableContext-Cd9Gf7TR.js +0 -1
- package/dist/showcase/assets/PreviewLayout-X_NxjYOV.js +0 -1
- package/dist/showcase/assets/RadioGroup-BzveyiIV.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-IZFF348L.js +0 -1
- package/dist/showcase/assets/Separator-CSYYEo-X.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-BYSKM0e8.js +0 -1
- package/dist/showcase/assets/accordion-B9VkLXiy.js +0 -171
- package/dist/showcase/assets/accordion-variants-g7lk5hEX.js +0 -1
- package/dist/showcase/assets/action-menu-CWIvuiLO.js +0 -1
- package/dist/showcase/assets/actions-BuwzXYEF.js +0 -310
- package/dist/showcase/assets/activities-BTBlr1G4.js +0 -500
- package/dist/showcase/assets/activities-feed-card-C5lcwUFk.js +0 -1
- package/dist/showcase/assets/admin-kbK6nUjx.js +0 -140
- package/dist/showcase/assets/ai-CKu9EGmA.js +0 -207
- package/dist/showcase/assets/ai-artifact-Bg1MFGeF.js +0 -2
- package/dist/showcase/assets/ai-chat-DEntRhJD.js +0 -568
- package/dist/showcase/assets/ai-elements-DyKRCWiS.js +0 -387
- package/dist/showcase/assets/ai-tool-call-DFrTelEX.js +0 -1
- package/dist/showcase/assets/alert-C0wSpBYn.js +0 -93
- package/dist/showcase/assets/alert-CZ4rgwPr.js +0 -62
- package/dist/showcase/assets/alert-WTKIdE4s.js +0 -1
- package/dist/showcase/assets/api-key-list-BnrUT9Uf.js +0 -1
- package/dist/showcase/assets/api-key-list-bQ6QzFhA.js +0 -73
- package/dist/showcase/assets/app-sidebar-B3veRbac.js +0 -1
- package/dist/showcase/assets/arrow-down-CEXJx115.js +0 -1
- package/dist/showcase/assets/arrow-left-Ca6ri5q0.js +0 -1
- package/dist/showcase/assets/arrow-right-a3STqWgx.js +0 -1
- package/dist/showcase/assets/arrow-up-CCU1MaGq.js +0 -1
- package/dist/showcase/assets/arrow-up-right-BDImqvM2.js +0 -1
- package/dist/showcase/assets/avatar-Bwgai0SK.js +0 -67
- package/dist/showcase/assets/avatar-DSmL52Us.js +0 -57
- package/dist/showcase/assets/avatar-kK9n1a25.js +0 -1
- package/dist/showcase/assets/avatar-nb7MgV_x.js +0 -1
- package/dist/showcase/assets/badge-CTGPRSXm.js +0 -31
- package/dist/showcase/assets/badge-check-zqoYYrVj.js +0 -1
- package/dist/showcase/assets/bell-D7HWGStL.js +0 -1
- package/dist/showcase/assets/boolean-indicator-CqwlV0cf.js +0 -1
- package/dist/showcase/assets/bot-Owx4SMiU.js +0 -1
- package/dist/showcase/assets/box-BeeoLlMd.js +0 -1
- package/dist/showcase/assets/braces-fzrExVIx.js +0 -1
- package/dist/showcase/assets/brain-Da2fsBjd.js +0 -1
- package/dist/showcase/assets/brand-Bo6uwdGf.js +0 -36
- package/dist/showcase/assets/breadcrumb-B-K-6dtd.js +0 -1
- package/dist/showcase/assets/breadcrumb-B6lR9Cq2.js +0 -52
- package/dist/showcase/assets/breadcrumbs-Bamog6P5.js +0 -1
- package/dist/showcase/assets/briefcase-DQjbh28E.js +0 -1
- package/dist/showcase/assets/building-2-DaQW5yJa.js +0 -1
- package/dist/showcase/assets/button-D3skvyQS.js +0 -44
- package/dist/showcase/assets/button-group-BYtbrhme.js +0 -1
- package/dist/showcase/assets/buttons-B3IkMmNQ.js +0 -272
- package/dist/showcase/assets/calendar-C4fCDK3O.js +0 -1
- package/dist/showcase/assets/calendar-CcwkVxCK.js +0 -16
- package/dist/showcase/assets/calendar-DBkwxV9H.js +0 -1
- package/dist/showcase/assets/calendar-days-BWed1W3Z.js +0 -1
- package/dist/showcase/assets/camera-BUoAyoZT.js +0 -1
- package/dist/showcase/assets/card-7DBPqWuv.js +0 -1
- package/dist/showcase/assets/card-ClwyNDHJ.js +0 -188
- package/dist/showcase/assets/card-primitives-BE1YpEQW.js +0 -1
- package/dist/showcase/assets/card-radio-group-1NMbocuG.js +0 -1
- package/dist/showcase/assets/cards-Bu8uaGSU.js +0 -354
- package/dist/showcase/assets/carousel-dTTRRSQg.js +0 -449
- package/dist/showcase/assets/cell-renderers-CcyBuUsC.js +0 -1
- package/dist/showcase/assets/chart-BSboeIO6.js +0 -358
- package/dist/showcase/assets/chart-column-CCzA6B9l.js +0 -1
- package/dist/showcase/assets/checkbox-CSdEPNT5.js +0 -1
- package/dist/showcase/assets/checkbox-CqNLi9Q3.js +0 -1
- package/dist/showcase/assets/chevron-down-C91gNQdT.js +0 -1
- package/dist/showcase/assets/chevron-left-SiAoYFSo.js +0 -1
- package/dist/showcase/assets/chevron-up-Beb1_ET_.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-DaST4VKL.js +0 -1
- package/dist/showcase/assets/circle-D9KiRp8C.js +0 -1
- package/dist/showcase/assets/circle-alert-BQkAwFkl.js +0 -1
- package/dist/showcase/assets/circle-check-big-CN5YOJqq.js +0 -1
- package/dist/showcase/assets/circle-check-dqmKTiDe.js +0 -1
- package/dist/showcase/assets/circle-dot-B7LPN_0V.js +0 -1
- package/dist/showcase/assets/circle-question-mark-yTRkQO3d.js +0 -1
- package/dist/showcase/assets/circle-x-CW2dFcX-.js +0 -1
- package/dist/showcase/assets/clock-3-CXJ_JotW.js +0 -1
- package/dist/showcase/assets/clock-DUqvfazQ.js +0 -1
- package/dist/showcase/assets/code-xml-BmdQDeID.js +0 -1
- package/dist/showcase/assets/collapsible-C-WYhJxn.js +0 -1
- package/dist/showcase/assets/collapsible-CL37AlCX.js +0 -27
- package/dist/showcase/assets/collapsible-uGO5Rj8q.js +0 -1
- package/dist/showcase/assets/combobox-CFh5kUzj.js +0 -685
- package/dist/showcase/assets/command-CtpLaHjh.js +0 -1
- package/dist/showcase/assets/command-DSlK-QAE.js +0 -1
- package/dist/showcase/assets/comment-composer-Rr_a5tZQ.js +0 -1
- package/dist/showcase/assets/comment-item-Dme2o2KI.js +0 -1
- package/dist/showcase/assets/comments-CW2nz465.js +0 -357
- package/dist/showcase/assets/commerce-bwcq6oPn.js +0 -267
- package/dist/showcase/assets/composite-DMIR0vmP.js +0 -1
- package/dist/showcase/assets/conditional-rendering-Bk6AC76c.js +0 -1
- package/dist/showcase/assets/contact-card-BCXS9tWq.js +0 -65
- package/dist/showcase/assets/content-container-b1dC2caJ.js +0 -1
- package/dist/showcase/assets/copyable-BIABx-Vv.js +0 -96
- package/dist/showcase/assets/copyable-Ic9wzVaj.js +0 -1
- package/dist/showcase/assets/course-card-Bo5P3TYv.js +0 -77
- package/dist/showcase/assets/cpu-_VqU6yRO.js +0 -1
- package/dist/showcase/assets/credit-card-BbxO8xLo.js +0 -1
- package/dist/showcase/assets/css-variables-zqpBgnS1.js +0 -1205
- package/dist/showcase/assets/currency-Cjvt4F0b.js +0 -149
- package/dist/showcase/assets/dark-surfaces-CLwERt1f.js +0 -90
- package/dist/showcase/assets/data-view-AtyUp7b-.js +0 -124
- package/dist/showcase/assets/data-view-cnEmgP1C.js +0 -4
- package/dist/showcase/assets/database-TbVXEw7v.js +0 -1
- package/dist/showcase/assets/date-block-CDHemKnP.js +0 -1
- package/dist/showcase/assets/date-block-COb89Y_-.js +0 -1
- package/dist/showcase/assets/date-picker-CK8llBIN.js +0 -1
- package/dist/showcase/assets/date-pickers-DFfDnW9w.js +0 -73
- package/dist/showcase/assets/dense-info-CaFVDE90.js +0 -106
- package/dist/showcase/assets/design-system-consistency-CeSMuTuu.js +0 -264
- package/dist/showcase/assets/dialog-CRQNEK2K.js +0 -1
- package/dist/showcase/assets/dialog-CsCLDb0G.js +0 -1
- package/dist/showcase/assets/dialog-Qh3EHEKq.js +0 -1
- package/dist/showcase/assets/display-utilities-rP3hb4FK.js +0 -4
- package/dist/showcase/assets/display-utilities.examples-BwbvHOcx.js +0 -309
- package/dist/showcase/assets/dist-CbqRct9s.js +0 -1
- package/dist/showcase/assets/dist-iivamCjp.js +0 -45
- package/dist/showcase/assets/dollar-sign-COaRmdJE.js +0 -1
- package/dist/showcase/assets/download-yCcb4rfH.js +0 -1
- package/dist/showcase/assets/dropdown-menu-KoFNw-fX.js +0 -1
- package/dist/showcase/assets/dropzone-DLguWnmu.js +0 -1
- package/dist/showcase/assets/earth-TDRqTA4S.js +0 -1
- package/dist/showcase/assets/ellipsis-Q_fBbRE9.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-Bh8t3Z1g.js +0 -1
- package/dist/showcase/assets/empty-DvmDTSAj.js +0 -1
- package/dist/showcase/assets/empty-item-C3HP5nuw.js +0 -49
- package/dist/showcase/assets/empty-state-Dcin4cOt.js +0 -190
- package/dist/showcase/assets/empty-state-IV_GTNEI.js +0 -1
- package/dist/showcase/assets/enhanced-activities-BLf2gpes.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-ClZcVnhv.js +0 -1
- package/dist/showcase/assets/esm-Cf6QQstQ.js +0 -2
- package/dist/showcase/assets/event-calendar-zrfI_3AM.js +0 -138
- package/dist/showcase/assets/event-log-D-_CViAw.js +0 -330
- package/dist/showcase/assets/example-6bZGEb3-.js +0 -1
- package/dist/showcase/assets/external-link-7ldgjHZM.js +0 -1
- package/dist/showcase/assets/eye-pXVkim6z.js +0 -1
- package/dist/showcase/assets/feature-announcement-CFcGj3ge.js +0 -34
- package/dist/showcase/assets/file-Bn9sAGaT.js +0 -1
- package/dist/showcase/assets/file-text-Cvxg6pjh.js +0 -1
- package/dist/showcase/assets/filter-layout-DqNRRzDU.js +0 -1
- package/dist/showcase/assets/filters-CQMI_T63.js +0 -139
- package/dist/showcase/assets/flag-vI_WJ-BU.js +0 -1
- package/dist/showcase/assets/folder-open-0AyKSRQS.js +0 -1
- package/dist/showcase/assets/form-field-BaBeXn7a.js +0 -1
- package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +0 -1
- package/dist/showcase/assets/format-DLLMyN-3.js +0 -1
- package/dist/showcase/assets/forms-gPD-Caru.js +0 -915
- package/dist/showcase/assets/funnel-Ca9nWMHm.js +0 -1
- package/dist/showcase/assets/generic-AAssz0h7.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-fbxSMOsb.js +0 -1
- package/dist/showcase/assets/gift-BC42Oxfz.js +0 -1
- package/dist/showcase/assets/giftcard-cards-CFKnYe0c.js +0 -85
- package/dist/showcase/assets/git-branch-B-nF8w-J.js +0 -1
- package/dist/showcase/assets/global-search-D6Gxw0G3.js +0 -1
- package/dist/showcase/assets/global-search-jsb_4idg.js +0 -215
- package/dist/showcase/assets/globe-C92uBSrO.js +0 -1
- package/dist/showcase/assets/gradient-card-D4ly60sD.js +0 -58
- package/dist/showcase/assets/hash-BShTbxlR.js +0 -1
- package/dist/showcase/assets/header-CSiNqg9Q.js +0 -1
- package/dist/showcase/assets/header-notifications-CpHeFPQF.js +0 -1
- package/dist/showcase/assets/heart-B3hXs7fr.js +0 -1
- package/dist/showcase/assets/hooks-CamAqFFh.js +0 -220
- package/dist/showcase/assets/house-4_CouE-Y.js +0 -1
- package/dist/showcase/assets/icon-badge-CePIZqWR.js +0 -1
- package/dist/showcase/assets/icon-badge-DSbvvnxh.js +0 -37
- package/dist/showcase/assets/image-BxbFIbVJ.js +0 -1
- package/dist/showcase/assets/inbox-BXab1SM6.js +0 -1
- package/dist/showcase/assets/index-BPUtPJjB.css +0 -2
- package/dist/showcase/assets/index-BjjNfnhP.js +0 -10
- package/dist/showcase/assets/inertValue-CZOzgsmF.js +0 -1
- package/dist/showcase/assets/info-DzqwCq93.js +0 -1
- package/dist/showcase/assets/inline-stat-D5ybpUh-.js +0 -15
- package/dist/showcase/assets/inline-stat-Dq34wv-6.js +0 -1
- package/dist/showcase/assets/input-C8OfUHCK.js +0 -1
- package/dist/showcase/assets/input-D34Ge3rh.js +0 -1
- package/dist/showcase/assets/input-group-BCPZ6Pwq.js +0 -1
- package/dist/showcase/assets/input-group-CySTANka.js +0 -47
- package/dist/showcase/assets/inputs-CnmHo_lj.js +0 -155
- package/dist/showcase/assets/installation-BPvseS46.js +0 -134
- package/dist/showcase/assets/invoice-header-C9JjJWQX.js +0 -36
- package/dist/showcase/assets/invoice-items-DB8tbCv9.js +0 -36
- package/dist/showcase/assets/invoice-mini-Q_PnimKL.js +0 -14
- package/dist/showcase/assets/invoice-table-CLDvpLib.js +0 -30
- package/dist/showcase/assets/isSameDay-D8bDebyL.js +0 -1
- package/dist/showcase/assets/isToday-XVjRuMtp.js +0 -1
- package/dist/showcase/assets/italic-Cm13b8qb.js +0 -1
- package/dist/showcase/assets/item-C07859JQ.js +0 -1
- package/dist/showcase/assets/item-LinnMxvu.js +0 -1
- package/dist/showcase/assets/item-i7ZUMs5t.js +0 -140
- package/dist/showcase/assets/kanban-CIMTpuN5.js +0 -188
- package/dist/showcase/assets/key-round-Bh7EzOyR.js +0 -1
- package/dist/showcase/assets/label-C3A4CjeG.js +0 -1
- package/dist/showcase/assets/languages-C37jhetw.js +0 -1
- package/dist/showcase/assets/layers-Lyr6p-Nt.js +0 -1
- package/dist/showcase/assets/layout-app-shell-BWAkl9gq.js +0 -608
- package/dist/showcase/assets/layout-auth-y1alnhc8.js +0 -790
- package/dist/showcase/assets/layout-containers-B6c-uvil.js +0 -101
- package/dist/showcase/assets/layout-header-DNhJHWNw.js +0 -203
- package/dist/showcase/assets/layout-page-CXU7CnQK.js +0 -315
- package/dist/showcase/assets/layout-primitives-StuFwfwh.js +0 -34
- package/dist/showcase/assets/layout-sidebar-D-QjnZPh.js +0 -224
- package/dist/showcase/assets/layout-users-D7KMzs3-.js +0 -117
- package/dist/showcase/assets/layout-workspace-Butr7CL5.js +0 -191
- package/dist/showcase/assets/lib-D5nOMXIt.js +0 -1
- package/dist/showcase/assets/list-checks-Cg9HZf4W.js +0 -1
- package/dist/showcase/assets/lock-Da21HhQx.js +0 -1
- package/dist/showcase/assets/lock-keyhole-DNTfa9e3.js +0 -1
- package/dist/showcase/assets/mail-Bamky-ti.js +0 -1
- package/dist/showcase/assets/mail-check-BfVYPC42.js +0 -1
- package/dist/showcase/assets/map-BTlWnRAQ.js +0 -124
- package/dist/showcase/assets/map-pin-BU2RBuvC.js +0 -1
- package/dist/showcase/assets/media-library-DJxgoGAF.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-CbXVAvbK.js +0 -1
- package/dist/showcase/assets/mentions-kMT-Z3qU.js +0 -138
- package/dist/showcase/assets/menus-bhp_n9PT.js +0 -171
- package/dist/showcase/assets/message-square-DC5Bb9Zs.js +0 -1
- package/dist/showcase/assets/metadata-list-DGr729EW.js +0 -286
- package/dist/showcase/assets/metadata-list-DyjhZi6d.js +0 -1
- package/dist/showcase/assets/metric-DRDok6Ci.js +0 -1
- package/dist/showcase/assets/metric-bar-DZsH4Q3U.js +0 -1
- package/dist/showcase/assets/metric-grid-BlFXTrid.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-oEihbEK8.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-BovaXHQX.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-CeX9Skmd.js +0 -50
- package/dist/showcase/assets/metrics-comparison-DFPSmREl.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-CXzfZwe_.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-DQJaNpYH.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-BIpv8CPU.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-EOCkRI5Z.js +0 -42
- package/dist/showcase/assets/metrics-overview-BD4s9H2T.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-t7asN5nA.js +0 -54
- package/dist/showcase/assets/minus-Dr1iTc_q.js +0 -1
- package/dist/showcase/assets/money-display-B5_VqQC0.js +0 -1
- package/dist/showcase/assets/money-display-bU2_cVGX.js +0 -1
- package/dist/showcase/assets/month-year-picker-DVRuYbLm.js +0 -1
- package/dist/showcase/assets/navigation-DBKvJoe-.js +0 -231
- package/dist/showcase/assets/navigation-DOhfmtgy.js +0 -90
- package/dist/showcase/assets/navigation-extras-BkO2TZP7.js +0 -43
- package/dist/showcase/assets/notification-banner-CE1Ei_ZT.js +0 -1
- package/dist/showcase/assets/onboarding-checklist-Bf0aoBoa.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-B2RXtyMP.js +0 -1
- package/dist/showcase/assets/overlays-4E_sUgkz.js +0 -408
- package/dist/showcase/assets/overlays-ulNl-Vhr.js +0 -159
- package/dist/showcase/assets/overview-CgymfIBq.js +0 -184
- package/dist/showcase/assets/package-CADuUP1u.js +0 -1
- package/dist/showcase/assets/package-check-O7MD6XE_.js +0 -1
- package/dist/showcase/assets/page-GB6OIgID.js +0 -1
- package/dist/showcase/assets/page-action-button-Dpprot7y.js +0 -1
- package/dist/showcase/assets/page-header-2VEUPx67.js +0 -1
- package/dist/showcase/assets/pagination-BBuRtAX9.js +0 -1
- package/dist/showcase/assets/pagination-C4mt4Q4l.js +0 -42
- package/dist/showcase/assets/paperclip-Cmyh3Bhf.js +0 -1
- package/dist/showcase/assets/password-input-CgZj1niQ.js +0 -1
- package/dist/showcase/assets/pencil-CtdXjogr.js +0 -1
- package/dist/showcase/assets/phone-CAFMH1vV.js +0 -1
- package/dist/showcase/assets/placeholder-pattern-DHKm-uYV.js +0 -1
- package/dist/showcase/assets/plus-CN2dzUxL.js +0 -1
- package/dist/showcase/assets/popover-DILNXLWy.js +0 -1
- package/dist/showcase/assets/popover-menu-Bp08xxOf.js +0 -1
- package/dist/showcase/assets/popover-o1EO2yVS.js +0 -1
- package/dist/showcase/assets/products-CCLAbHBN.js +0 -423
- package/dist/showcase/assets/progress-BGna-ZmU.js +0 -18
- package/dist/showcase/assets/progress-BSYlNLIJ.js +0 -1
- package/dist/showcase/assets/progress-CZVy3LGB.js +0 -1
- package/dist/showcase/assets/props-table-X9St7Q4m.js +0 -1
- package/dist/showcase/assets/props.generated-f_jHBhPb.json +0 -41753
- package/dist/showcase/assets/qr-code-CEmKf9xU.js +0 -1
- package/dist/showcase/assets/quote-IH6r-rlY.js +0 -1
- package/dist/showcase/assets/receipt-m9rOe5lY.js +0 -1
- package/dist/showcase/assets/receipt-text-C0TobatH.js +0 -1
- package/dist/showcase/assets/refinement-guide-t9T7iAS2.js +0 -189
- package/dist/showcase/assets/refresh-cw-Dy_Nc4jA.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-DR7LgQP5.js +0 -1
- package/dist/showcase/assets/resource-BcJ8O6uj.js +0 -1
- package/dist/showcase/assets/resource-_zDXez77.js +0 -139
- package/dist/showcase/assets/resource-selector-card-CCAEF-AT.js +0 -43
- package/dist/showcase/assets/rich-text-editor-BJG_ECJp.js +0 -143
- package/dist/showcase/assets/rich-text-editor-fbgVfyEH.js +0 -124
- package/dist/showcase/assets/rotate-ccw-CGuTkHQ3.js +0 -1
- package/dist/showcase/assets/route-C7EZ2Njy.js +0 -1
- package/dist/showcase/assets/save-fKrt-yFG.js +0 -1
- package/dist/showcase/assets/schema-form-k7TXeirD.js +0 -327
- package/dist/showcase/assets/scroll-area-CqNwdlI6.js +0 -32
- package/dist/showcase/assets/scroll-area-UVtlGOgx.js +0 -1
- package/dist/showcase/assets/section-DuBNJP4P.js +0 -1
- package/dist/showcase/assets/select-CINVEIWn.js +0 -1
- package/dist/showcase/assets/select-ZLaamXrm.js +0 -1
- package/dist/showcase/assets/send-DBvt_4jT.js +0 -1
- package/dist/showcase/assets/separator-BdBXRpc3.js +0 -28
- package/dist/showcase/assets/separator-CkJjJQWW.js +0 -1
- package/dist/showcase/assets/separator-CxOeStjL.js +0 -1
- package/dist/showcase/assets/separator-O-VQMSf_.js +0 -1
- package/dist/showcase/assets/settings-2-BWjMVlyS.js +0 -1
- package/dist/showcase/assets/settings-D9Z79UcG.js +0 -1
- package/dist/showcase/assets/sheet-CK9C6r7_.js +0 -1
- package/dist/showcase/assets/shield-BboB3Zlo.js +0 -1
- package/dist/showcase/assets/shield-alert-CAAobStl.js +0 -1
- package/dist/showcase/assets/shield-check-Rfyzz9bK.js +0 -1
- package/dist/showcase/assets/shopping-bag-5hLD82YW.js +0 -1
- package/dist/showcase/assets/showcase-DhOQXB5E.js +0 -132
- package/dist/showcase/assets/sidebar-ZTUACc0t.js +0 -1
- package/dist/showcase/assets/sidebar.context-BiNOpG5W.js +0 -1
- package/dist/showcase/assets/skeleton-BZUSoHbk.js +0 -1
- package/dist/showcase/assets/skeleton-BZkYzAdq.js +0 -1
- package/dist/showcase/assets/skeleton-CrOp8tx3.js +0 -29
- package/dist/showcase/assets/skeleton-P5GXAj4U.js +0 -1
- package/dist/showcase/assets/slider-zlE7nLrp.js +0 -1
- package/dist/showcase/assets/smart-card-OExZHSsj.js +0 -1
- package/dist/showcase/assets/sonner-eMphKM9E.js +0 -22
- package/dist/showcase/assets/sortable.esm-CM9VD5N4.js +0 -5
- package/dist/showcase/assets/sparkles-CIB5irID.js +0 -1
- package/dist/showcase/assets/spinner-11-kP-Ob.js +0 -1
- package/dist/showcase/assets/spinner-D4G5TFSm.js +0 -49
- package/dist/showcase/assets/spinner-DKGukuFV.js +0 -30
- package/dist/showcase/assets/square-pen-zflKy9oX.js +0 -1
- package/dist/showcase/assets/stacked-avatars-Cve1Y6GY.js +0 -1
- package/dist/showcase/assets/star-DleXDkCp.js +0 -1
- package/dist/showcase/assets/startOfDay-TDP2erzM.js +0 -1
- package/dist/showcase/assets/styles-BKlX_Ipc.js +0 -1
- package/dist/showcase/assets/suggestions-Dt2hm1NY.js +0 -126
- package/dist/showcase/assets/switch-DAPAgJbv.js +0 -1
- package/dist/showcase/assets/switch-fQpP2tJl.js +0 -1
- package/dist/showcase/assets/sync-BRcK160D.js +0 -124
- package/dist/showcase/assets/table-Dhmbe1yN.js +0 -686
- package/dist/showcase/assets/table-actions-GGrPOQcv.js +0 -1
- package/dist/showcase/assets/table-v0Eu5yZn.js +0 -1
- package/dist/showcase/assets/tabs-DmaXB1aF.js +0 -19
- package/dist/showcase/assets/tabs-vbNIJ-eo.js +0 -1
- package/dist/showcase/assets/tags-input-Bms_Q5CE.js +0 -1
- package/dist/showcase/assets/text-button-gvJCzaXS.js +0 -1
- package/dist/showcase/assets/text-link-DkByVX4d.js +0 -1
- package/dist/showcase/assets/textarea-B6Ho29y3.js +0 -1
- package/dist/showcase/assets/textarea-JCb0yhZ1.js +0 -1
- package/dist/showcase/assets/throttle-alert-CPU-u6Rs.js +0 -1
- package/dist/showcase/assets/timelines-Bw7mvAdx.js +0 -200
- package/dist/showcase/assets/toggle-group-jlIGX1zh.js +0 -1
- package/dist/showcase/assets/toggles-DV6V9vj-.js +0 -71
- package/dist/showcase/assets/toggles-group-C-Y3dG8q.js +0 -32
- package/dist/showcase/assets/tooltip-CDtPyNOv.js +0 -31
- package/dist/showcase/assets/trash-2-CXRm3lMl.js +0 -1
- package/dist/showcase/assets/trending-up-Bcyp9cw8.js +0 -1
- package/dist/showcase/assets/truck-DVgzuKLP.js +0 -1
- package/dist/showcase/assets/typography-BKPf4j85.js +0 -223
- package/dist/showcase/assets/ui-badge-D-Ud2MES.js +0 -28
- package/dist/showcase/assets/ui-card-gGqI2cfr.js +0 -30
- package/dist/showcase/assets/ui-table-Bqcab_kq.js +0 -42
- package/dist/showcase/assets/upload-tray-BFh6twLE.js +0 -138
- package/dist/showcase/assets/use-layout-link-e9jr981L.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-ByBTPUi3.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-Bx_-SRtw.js +0 -1
- package/dist/showcase/assets/useCompositeItem-Dmih9c3W.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-C0QJgAKb.js +0 -1
- package/dist/showcase/assets/useLabelableId-COfjI9qt.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-CRefmlni.js +0 -1
- package/dist/showcase/assets/useRender-Bgu76j1u.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-B2fPZeWf.js +0 -1
- package/dist/showcase/assets/useValueChanged-CNjJ-spo.js +0 -1
- package/dist/showcase/assets/user-CmkLnMh9.js +0 -1
- package/dist/showcase/assets/user-plus-3CGFNUf0.js +0 -1
- package/dist/showcase/assets/users-CuO8W7wn.js +0 -1
- package/dist/showcase/assets/vendor-profile-HLMsE22G.js +0 -37
- package/dist/showcase/assets/video-CoHnn0fp.js +0 -1
- package/dist/showcase/assets/visually-hidden-D5bPAL7Q.js +0 -1
- package/dist/showcase/assets/wrench-C93IxaGt.js +0 -1
- package/dist/showcase/assets/x-BJDvVLAz.js +0 -1
- package/dist/showcase/assets/zap-DYD_Ljkv.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"display-CQoSwU74.js","names":[],"sources":["../../src/components/base/forms/fields/decimal-input.tsx","../../src/components/base/forms/fields/currency-input.tsx","../../src/components/base/forms/fields/money-input.tsx","../../src/components/base/forms/form-field.tsx","../../src/components/base/display/notification-banner.tsx","../../src/components/base/display/placeholder-pattern.tsx","../../src/components/base/display/show-if.tsx","../../src/components/base/display/throttle-alert.tsx","../../src/components/base/display/visually-hidden.tsx","../../src/components/base/display/stacked-avatars.tsx","../../src/components/base/display/date-block.tsx","../../src/components/ui/collapsible.tsx","../../src/components/base/display/money-input.tsx","../../src/components/base/display/boolean-indicator.tsx","../../src/components/ui/empty.tsx","../../src/components/ui/progress.tsx","../../src/components/base/display/qr-code.tsx"],"sourcesContent":["/**\n * DecimalInput — text-based numeric input with decimal-place enforcement,\n * locale-friendly comma → dot normalisation, optional min/max clamping,\n * rounding mode (`round` / `floor` / `ceil` / `half-even`), and optional\n * stepper buttons when `step` is set.\n *\n * Wraps the base `Input` so all add-on / icon / clear / loading features\n * still work. Extra features layered on top:\n *\n * - `step` — when set, renders − / + stepper buttons that snap the value\n * to a multiple of `step` (anchored at `min` if provided, else 0).\n * - `roundingMode` — controls how stepper / blur normalisation rounds\n * half values; default `'round'` (round-half-up).\n * - `normalizeOnBlur` (default `true`) — pads the displayed value to the\n * full `decimalPlaces` count and clamps to `[min, max]` when the field\n * loses focus.\n *\n * The `value` prop is always a plain string (consumers parse it as needed)\n * so RHF / Inertia can treat it like any other input.\n */\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { Minus, Plus } from 'lucide-react';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\nimport { resolveFormControlSize } from '../form-sizing';\nimport { Input, type InputProps } from './input';\n\nexport type DecimalRoundingMode = 'round' | 'floor' | 'ceil' | 'half-even';\n\nexport interface DecimalInputStrings {\n\tdecrement: string;\n\tincrement: string;\n}\n\nexport const defaultDecimalInputStrings: DecimalInputStrings = {\n\tdecrement: 'Decrement',\n\tincrement: 'Increment',\n};\n\nexport interface DecimalInputProps extends Omit<InputProps, 'type' | 'inputMode' | 'strings'> {\n\tdecimalPlaces?: number;\n\tmin?: number;\n\tmax?: number;\n\tallowNegative?: boolean;\n\tallowEmpty?: boolean;\n\t/** When set, renders − / + steppers and snaps the value to multiples of `step`. */\n\tstep?: number;\n\t/** How to round when normalising on blur or stepping. Default `'round'`. */\n\troundingMode?: DecimalRoundingMode;\n\t/** Pad to full decimalPlaces and clamp to [min, max] on blur. Default `true`. */\n\tnormalizeOnBlur?: boolean;\n\t/** String overrides for stepper aria-labels. */\n\tstrings?: StringsProp<DecimalInputStrings>;\n}\n\nconst formatDecimalValue = (\n\tvalue: string,\n\tdecimalPlaces: number,\n\tallowNegative: boolean,\n): string => {\n\tif (!value) return '';\n\n\tlet formatted = value;\n\tformatted = formatted.replace(/,/g, '.');\n\n\tif (allowNegative) {\n\t\tformatted = formatted.replace(/[^\\d.-]/g, '');\n\t} else {\n\t\tformatted = formatted.replace(/[^\\d.]/g, '');\n\t}\n\n\tif (allowNegative && formatted.includes('-')) {\n\t\tconst hasLeadingMinus = formatted.startsWith('-');\n\t\tformatted = formatted.replace(/-/g, '');\n\t\tif (hasLeadingMinus) formatted = '-' + formatted;\n\t}\n\n\tconst parts = formatted.split('.');\n\tif (parts.length > 2) {\n\t\tformatted = parts[0] + '.' + parts.slice(1).join('');\n\t}\n\n\tif (parts.length === 2 && parts[1].length > decimalPlaces) {\n\t\tformatted = parts[0] + '.' + parts[1].substring(0, decimalPlaces);\n\t}\n\n\treturn formatted;\n};\n\nconst isWithinBounds = (value: string, min?: number, max?: number): boolean => {\n\tif (!value || value === '-') return true;\n\tconst numValue = parseFloat(value);\n\tif (Number.isNaN(numValue)) return true;\n\tif (min !== undefined && numValue < min) return false;\n\tif (max !== undefined && numValue > max) return false;\n\treturn true;\n};\n\nfunction applyRounding(value: number, decimals: number, mode: DecimalRoundingMode): number {\n\tconst factor = Math.pow(10, decimals);\n\tconst shifted = value * factor;\n\tswitch (mode) {\n\t\tcase 'floor':\n\t\t\treturn Math.floor(shifted) / factor;\n\t\tcase 'ceil':\n\t\t\treturn Math.ceil(shifted) / factor;\n\t\tcase 'half-even': {\n\t\t\tconst floor = Math.floor(shifted);\n\t\t\tconst diff = shifted - floor;\n\t\t\tif (diff > 0.5) return (floor + 1) / factor;\n\t\t\tif (diff < 0.5) return floor / factor;\n\t\t\treturn (floor % 2 === 0 ? floor : floor + 1) / factor;\n\t\t}\n\t\tcase 'round':\n\t\tdefault:\n\t\t\treturn Math.round(shifted) / factor;\n\t}\n}\n\nfunction clamp(n: number, min?: number, max?: number): number {\n\tlet next = n;\n\tif (min !== undefined) next = Math.max(min, next);\n\tif (max !== undefined) next = Math.min(max, next);\n\treturn next;\n}\n\nfunction snapToStep(\n\tcurrent: number,\n\tdelta: number,\n\tstep: number,\n\tmin?: number,\n\tmode: DecimalRoundingMode = 'round',\n): number {\n\tconst anchor = min ?? 0;\n\tconst stepsFromAnchor = (current - anchor) / step;\n\tconst rounded =\n\t\tmode === 'floor'\n\t\t\t? Math.floor(stepsFromAnchor)\n\t\t\t: mode === 'ceil'\n\t\t\t\t? Math.ceil(stepsFromAnchor)\n\t\t\t\t: Math.round(stepsFromAnchor);\n\tconst stepped = anchor + (rounded + delta) * step;\n\treturn Number(stepped.toFixed(12));\n}\n\nfunction fireChange(\n\ttarget: HTMLInputElement,\n\tvalue: string,\n\tonChange?: InputProps['onChange'],\n) {\n\t// Write the value to the DOM first so UNCONTROLLED inputs actually reflect\n\t// stepper clicks and blur-normalisation. (Previously this only called\n\t// onChange, so steppers were a no-op on uncontrolled fields.) Use the native\n\t// value setter so React's input value-tracker stays in sync for controlled\n\t// consumers, which then reconcile through their onChange + re-render.\n\tconst nativeSetter = Object.getOwnPropertyDescriptor(\n\t\twindow.HTMLInputElement.prototype,\n\t\t'value',\n\t)?.set;\n\tif (nativeSetter) nativeSetter.call(target, value);\n\telse target.value = value;\n\n\tif (!onChange) return;\n\tconst event = {\n\t\ttarget,\n\t\tcurrentTarget: target,\n\t\ttype: 'change',\n\t\tbubbles: false,\n\t\tcancelable: false,\n\t} as unknown as React.ChangeEvent<HTMLInputElement>;\n\tonChange(event);\n}\n\nconst STEPPER_SIZE_CLASS: Record<FormControlSize, string> = {\n\tsmall: 'w-control-small',\n\tdefault: 'w-control',\n};\n\nfunction DecimalInputImpl(\n\t{\n\t\tdecimalPlaces = 2,\n\t\tmin,\n\t\tmax,\n\t\tallowNegative = true,\n\t\tallowEmpty = true,\n\t\tstep,\n\t\troundingMode = 'round',\n\t\tnormalizeOnBlur = true,\n\t\tonChange,\n\t\tonBlur,\n\t\tplaceholder,\n\t\tclassName,\n\t\tvalue: controlledValue,\n\t\tdefaultValue,\n\t\tdisabled,\n\t\tsize: sizeProp,\n\t\tstrings: stringsProp,\n\t\t...props\n\t}: DecimalInputProps,\n\tforwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n\tconst { defaultControlSize } = useFormsConfig();\n\tconst size: FormControlSize = resolveFormControlSize(sizeProp, defaultControlSize);\n\tconst strings = useStrings(defaultDecimalInputStrings, stringsProp);\n\tconst validDecimalPlaces = Math.min(12, Math.max(0, decimalPlaces));\n\tconst inputRef = React.useRef<HTMLInputElement | null>(null);\n\n\tconst handleChange = useCallback(\n\t\t(e: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\tconst newValue = e.target.value;\n\n\t\t\tif (!newValue && allowEmpty) {\n\t\t\t\tonChange?.(e);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst formatted = formatDecimalValue(newValue, validDecimalPlaces, allowNegative);\n\t\t\tif (!isWithinBounds(formatted, min, max)) return;\n\n\t\t\tif (formatted !== newValue) {\n\t\t\t\tconst modifiedEvent = {\n\t\t\t\t\t...e,\n\t\t\t\t\ttarget: { ...e.target, value: formatted },\n\t\t\t\t\tcurrentTarget: { ...e.currentTarget, value: formatted },\n\t\t\t\t} as React.ChangeEvent<HTMLInputElement>;\n\t\t\t\tonChange?.(modifiedEvent);\n\t\t\t} else {\n\t\t\t\tonChange?.(e);\n\t\t\t}\n\t\t},\n\t\t[onChange, validDecimalPlaces, allowNegative, allowEmpty, min, max],\n\t);\n\n\tconst handleBlur = useCallback(\n\t\t(e: React.FocusEvent<HTMLInputElement>) => {\n\t\t\tonBlur?.(e);\n\t\t\tif (!normalizeOnBlur) return;\n\t\t\tconst raw = e.target.value;\n\t\t\tif (!raw && allowEmpty) return;\n\t\t\tconst num = Number.parseFloat(raw.replace(',', '.'));\n\t\t\tif (!Number.isFinite(num)) return;\n\t\t\tconst clamped = clamp(num, min, max);\n\t\t\tconst rounded = applyRounding(clamped, validDecimalPlaces, roundingMode);\n\t\t\tconst next = rounded.toFixed(validDecimalPlaces);\n\t\t\tif (next !== raw && inputRef.current) {\n\t\t\t\tfireChange(inputRef.current, next, onChange);\n\t\t\t}\n\t\t},\n\t\t[onBlur, onChange, normalizeOnBlur, allowEmpty, min, max, validDecimalPlaces, roundingMode],\n\t);\n\n\tconst adjust = useCallback(\n\t\t(delta: number) => {\n\t\t\tif (disabled || step === undefined) return;\n\t\t\tconst target = inputRef.current;\n\t\t\tif (!target) return;\n\t\t\tconst raw = target.value;\n\t\t\tconst current = Number.parseFloat(raw.replace(',', '.'));\n\t\t\tconst base = Number.isFinite(current) ? current : (min ?? 0);\n\t\t\tconst snapped = clamp(snapToStep(base, delta, step, min, roundingMode), min, max);\n\t\t\tconst next = applyRounding(snapped, validDecimalPlaces, roundingMode).toFixed(validDecimalPlaces);\n\t\t\tfireChange(target, next, onChange);\n\t\t},\n\t\t[disabled, step, min, max, roundingMode, validDecimalPlaces, onChange],\n\t);\n\n\tconst showSteppers = typeof step === 'number' && step > 0;\n\tconst placeholderResolved =\n\t\tplaceholder ?? (validDecimalPlaces > 0 ? `0.${'0'.repeat(validDecimalPlaces)}` : '0');\n\n\tif (showSteppers) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn('decimal-input--component', \n\t\t\t\t\t// Stepper segmented group — input + adjacent − / + buttons\n\t\t\t\t\t// share a single border radius so the group reads as one\n\t\t\t\t\t// control instead of three loose chips.\n\t\t\t\t\t'flex items-stretch overflow-hidden rounded-radius border border-input bg-transparent',\n\t\t\t\t\t'focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]',\n\t\t\t\t\tprops['aria-invalid'] && 'border-destructive ring-destructive/20',\n\t\t\t\t\tdisabled && 'opacity-50 cursor-not-allowed',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\taria-label={strings.decrement}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonClick={() => adjust(-1)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'inline-flex shrink-0 items-center justify-center border-r border-input text-muted-foreground transition-colors',\n\t\t\t\t\t\tSTEPPER_SIZE_CLASS[size],\n\t\t\t\t\t\t'hover:bg-muted hover:text-foreground',\n\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Minus className={size === 'small' ? 'size-icon-sm' : 'size-icon'} />\n\t\t\t\t</button>\n\t\t\t\t<Input\n\t\t\t\t\tsize={size}\n\t\t\t\t\tref={(node) => { inputRef.current = node; if (typeof forwardedRef === \"function\") forwardedRef(node); else if (forwardedRef) forwardedRef.current = node; }}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tinputMode={validDecimalPlaces > 0 ? 'decimal' : 'numeric'}\n\t\t\t\t\tplaceholder={placeholderResolved}\n\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\tvalue={controlledValue}\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'flex-1 tabular-nums text-center border-0 shadow-none rounded-none focus-visible:ring-0 focus-visible:border-0',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\taria-label={strings.increment}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonClick={() => adjust(1)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'inline-flex shrink-0 items-center justify-center border-l border-input text-muted-foreground transition-colors',\n\t\t\t\t\t\tSTEPPER_SIZE_CLASS[size],\n\t\t\t\t\t\t'hover:bg-muted hover:text-foreground',\n\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Plus className={size === 'small' ? 'size-icon-sm' : 'size-icon'} />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Input\n\t\t\tsize={size}\n\t\t\tref={(node) => { inputRef.current = node; if (typeof forwardedRef === \"function\") forwardedRef(node); else if (forwardedRef) forwardedRef.current = node; }}\n\t\t\ttype=\"text\"\n\t\t\tinputMode={validDecimalPlaces > 0 ? 'decimal' : 'numeric'}\n\t\t\tplaceholder={placeholderResolved}\n\t\t\tonChange={handleChange}\n\t\t\tonBlur={handleBlur}\n\t\t\tvalue={controlledValue}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={cn('tabular-nums text-end', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst DecimalInput = React.forwardRef<HTMLInputElement, DecimalInputProps>(DecimalInputImpl);\nDecimalInput.displayName = 'DecimalInput';\n\nexport { DecimalInput };\n","import { useState, useCallback, useEffect, useMemo, memo, forwardRef, type ForwardedRef } from 'react';\nimport * as baseui from '@/components/ui/select';\nimport { Label } from '@/components/typography';\nimport { useFormsConfig } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\nimport { formControlSizeClasses, resolveFormControlSize } from '../form-sizing';\nimport { DecimalInput, type DecimalInputProps } from './decimal-input';\n\nexport interface CurrencyOption {\n value: string;\n label: string;\n}\n\nexport interface CurrencyInputProps extends Omit<DecimalInputProps, 'label' | 'hint' | 'helperText' | 'error'> {\n /** Current currency value */\n currency?: string;\n\n /** Default currency if uncontrolled */\n defaultCurrency?: string;\n\n /** List of available currencies (simple strings or objects with value/label) */\n currencies?: (string | CurrencyOption)[];\n\n /** Callback when currency changes */\n onCurrencyChange?: (currency: string) => void;\n\n /** Position of currency dropdown */\n currencyPosition?: 'start' | 'end';\n\n /** Disable currency selection */\n disableCurrencySelector?: boolean;\n\n /** Placeholder for currency dropdown */\n currencyPlaceholder?: string;\n\n /** Width of the currency dropdown */\n currencyWidth?: string;\n\n /** Label for currency field (sub-label) */\n currencyLabel?: string;\n\n /** Error state for styling (passed from FormField) */\n invalid?: boolean;\n\n /** Called when the input is misconfigured (mismatched currency/defaultCurrency\n * while the selector is disabled, missing currency, etc.). The library\n * also DEV-logs the same message to the console. */\n onConfigError?: (\n message: string,\n details: { currency?: string; defaultCurrency?: string; disableCurrencySelector?: boolean },\n ) => void;\n}\n\n// Common currency symbols\nconst CURRENCY_SYMBOLS: Record<string, string> = {\n USD: '$',\n EUR: '€',\n GBP: '£',\n BGN: 'лв',\n JPY: '¥',\n CNY: '¥',\n CHF: 'CHF',\n CAD: 'C$',\n AUD: 'A$',\n};\n\nconst normalizeCurrencies = (currencies?: (string | CurrencyOption)[]): CurrencyOption[] => {\n if (!currencies || currencies.length === 0) return [];\n\n return currencies.map((currency) => {\n if (typeof currency === 'string') {\n const symbol = CURRENCY_SYMBOLS[currency] || currency;\n return {\n value: currency,\n label: `${symbol} ${currency}`,\n };\n }\n return currency;\n });\n};\n\nfunction CurrencyInputImpl(\n {\n currency: controlledCurrency,\n defaultCurrency,\n currencies,\n onCurrencyChange,\n currencyPosition = 'start',\n disableCurrencySelector = false,\n currencyPlaceholder,\n currencyWidth = 'w-28',\n currencyLabel,\n invalid,\n disabled,\n onConfigError,\n size: sizeProp,\n ...decimalInputProps\n }: CurrencyInputProps,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const { defaultControlSize } = useFormsConfig();\n const size = resolveFormControlSize(sizeProp, defaultControlSize);\n\n // Memoize normalized currencies\n const normalizedCurrencies = useMemo(() => normalizeCurrencies(currencies), [currencies]);\n\n // Internal state for uncontrolled currency\n const [internalCurrency, setInternalCurrency] = useState(\n defaultCurrency ?? normalizedCurrencies[0]?.value ?? ''\n );\n\n // Determine if currency is controlled\n const isCurrencyControlled = controlledCurrency !== undefined;\n const selectedCurrency = isCurrencyControlled ? controlledCurrency : internalCurrency;\n\n useEffect(() => {\n const details = { currency: controlledCurrency, defaultCurrency, disableCurrencySelector };\n if (\n disableCurrencySelector &&\n typeof controlledCurrency === 'string' &&\n typeof defaultCurrency === 'string' &&\n controlledCurrency.trim() !== '' &&\n defaultCurrency.trim() !== '' &&\n controlledCurrency !== defaultCurrency\n ) {\n const message = '[CurrencyInput] currency/defaultCurrency mismatch while selector is disabled.';\n if (import.meta.env?.DEV) {\n console.warn(message, { currency: controlledCurrency, defaultCurrency });\n }\n onConfigError?.(message, details);\n }\n\n if (\n disableCurrencySelector &&\n (typeof selectedCurrency !== 'string' || selectedCurrency.trim().length === 0)\n ) {\n const message = '[CurrencyInput] disableCurrencySelector is enabled but no currency is provided.';\n if (import.meta.env?.DEV) {\n console.warn(message);\n }\n onConfigError?.(message, details);\n }\n }, [controlledCurrency, defaultCurrency, disableCurrencySelector, onConfigError, selectedCurrency]);\n\n // Handle currency change\n const handleCurrencyChange = useCallback(\n (newCurrency: string | null) => {\n if (newCurrency === null) return;\n if (!isCurrencyControlled) {\n setInternalCurrency(newCurrency);\n }\n onCurrencyChange?.(newCurrency);\n },\n [isCurrencyControlled, onCurrencyChange]\n );\n\n // Memoize trigger class names. Size flows through `formControlSizeClasses[size]`\n // so the trigger height matches the inner DecimalInput when a consumer sets\n // `<UIProvider forms={{ defaultControlSize }}>`.\n const triggerClassName = useMemo(\n () =>\n cn(\n 'border-input bg-transparent !shadow-none',\n formControlSizeClasses[size],\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n currencyWidth,\n disabled && 'opacity-50 cursor-not-allowed'\n ),\n [size, currencyWidth, disabled]\n );\n\n // Currency selector component\n const currencySelector = (\n <div className=\"space-y-2\">\n {!!currencyLabel && <Label className=\"leading-6\">{currencyLabel}</Label>}\n <baseui.Select\n value={selectedCurrency}\n onValueChange={(value) => handleCurrencyChange(value)}\n disabled={disabled || disableCurrencySelector}\n >\n <baseui.SelectTrigger aria-invalid={invalid || undefined} className={triggerClassName}>\n <baseui.SelectValue placeholder={currencyPlaceholder ?? ''} />\n </baseui.SelectTrigger>\n <baseui.SelectContent>\n <baseui.SelectGroup>\n {normalizedCurrencies.map((curr) => (\n <baseui.SelectItem key={curr.value} value={curr.value}>\n {curr.label}\n </baseui.SelectItem>\n ))}\n </baseui.SelectGroup>\n </baseui.SelectContent>\n </baseui.Select>\n </div>\n );\n\n return (\n <div className={cn('currency-input--component', 'flex items-start gap-2')}>\n {currencyPosition === 'start' && currencySelector}\n\n <div className=\"flex-1\">\n <DecimalInput\n ref={forwardedRef}\n size={size}\n decimalPlaces={2}\n allowNegative={false}\n disabled={disabled}\n invalid={invalid}\n {...decimalInputProps}\n />\n </div>\n\n {currencyPosition === 'end' && currencySelector}\n </div>\n );\n}\n\n// forwardRef + memo: forward to the underlying decimal input so consumers\n// can focus/measure programmatically.\nexport const CurrencyInput = memo(forwardRef<HTMLInputElement, CurrencyInputProps>(CurrencyInputImpl));\nCurrencyInput.displayName = 'CurrencyInput';\n","/**\n * MoneyInput (forms/fields) — `CurrencyInput` preset with a small default\n * currency list for back-compat and a callback shape that matches the\n * library's `CurrencyCode` typing.\n *\n * For the richer `MoneyInputData`-shaped helper with migration warnings and\n * form-field chrome, use `@/components/base/display/money-input` instead.\n */\nimport { forwardRef, useCallback } from 'react';\n\nimport { CurrencyInput, type CurrencyInputProps } from './currency-input';\nimport type { CurrencyCode } from '@/lib/ui-provider';\n\nexport interface MoneyInputProps extends Omit<CurrencyInputProps, 'currency' | 'defaultCurrency' | 'currencies' | 'onCurrencyChange'> {\n /** Current currency value (ISO 4217 code, e.g. 'USD'). */\n currency?: CurrencyCode;\n /** Default currency if uncontrolled. */\n defaultCurrency?: CurrencyCode;\n /** Available currencies for the inline picker. Defaults to `['USD', 'EUR']`\n * — pass your own list or wire `useMoneyConfig` at the consumer site for\n * real production use. */\n currencies?: CurrencyCode[];\n /** Callback when the user changes the currency in the inline picker. */\n onCurrencyChange?: (currency: CurrencyCode) => void;\n}\n\nconst DEFAULT_CURRENCIES: CurrencyCode[] = ['USD', 'EUR'];\n\nexport const MoneyInput = forwardRef<HTMLInputElement, MoneyInputProps>(function MoneyInput(\n { currencies = DEFAULT_CURRENCIES, onCurrencyChange, currency, defaultCurrency, ...props },\n ref,\n) {\n const handleCurrencyChange = useCallback(\n (nextCurrency: string) => {\n onCurrencyChange?.(nextCurrency);\n },\n [onCurrencyChange]\n );\n\n return (\n <CurrencyInput className=\"money-input--component\"\n ref={ref}\n currencies={currencies}\n currency={currency}\n defaultCurrency={defaultCurrency}\n onCurrencyChange={handleCurrencyChange}\n {...props}\n />\n );\n});\n\nMoneyInput.displayName = 'MoneyInput';\n","/**\n * Unified Form Field Components\n * =============================\n *\n * Two components sharing the same visual structure for field chrome:\n *\n * 1. `FormField` - Pure presentation wrapper (label, hint, error, required indicator)\n * 2. `ControlledFormField` - FormField + react-hook-form Controller integration\n *\n * ## FormField\n * Use for custom components or non-controlled inputs.\n *\n * ```tsx\n * <FormField label={t('label')} error={error} required hint={t('hint')}>\n * <CustomAutocomplete value={value} onSelect={onSelect} />\n * </FormField>\n * ```\n *\n * ## ControlledFormField\n * Use with react-hook-form. Auto-merges backend (Inertia) + validation errors.\n *\n * ```tsx\n * <ControlledFormField\n * name=\"email\"\n * control={control}\n * error={getError}\n * label={t('fields.email.label')}\n * required\n * rules={{ required: true, pattern: /^\\\\S+@\\\\S+$/i }}\n * >\n * {(field, error, invalid) => (\n * <Input\n * placeholder={t('fields.email.placeholder')}\n * value={field.value ?? ''}\n * onChange={field.onChange}\n * onBlur={field.onBlur}\n * invalid={invalid}\n * />\n * )}\n * </ControlledFormField>\n * ```\n *\n * ## Render Function Parameters\n * - `field` - Controller props: value, onChange, onBlur, name, ref\n * - `error` - Merged error string (backend || validation) or undefined\n * - `invalid` - Boolean for input styling (border color, etc.)\n * - `fieldState` - Escape hatch: touched, dirty, isTouched, isDirty, etc.\n *\n * ## Error Priority\n * Backend errors (via `error` getter) take priority over validation errors.\n * This ensures server-side validation is authoritative.\n *\n * ## Chrome Props (shared by both components)\n * - `label` - Field label text\n * - `required` - Shows red asterisk after label\n * - `hint` - Secondary text shown below the field when there is no error\n * - `error` - Error message (red text below input)\n * - `helperText` - Helper text (shown when no error)\n * - `className` - Additional wrapper classes\n */\n\nimport * as React from 'react';\nimport { type ReactNode } from 'react';\nimport {\n\tController,\n\ttype Control,\n\ttype ControllerFieldState,\n\ttype ControllerRenderProps,\n\ttype FieldPath,\n\ttype FieldValues,\n\ttype RegisterOptions,\n} from 'react-hook-form';\n\nimport { Label, Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\ninterface FieldChromeProps {\n\tlabel?: string;\n\tisRequired?: boolean;\n\trequired?: boolean;\n\thint?: string;\n\terror?: string;\n\thelperText?: string;\n\tclassName?: string;\n}\n\ninterface FormFieldProps extends FieldChromeProps {\n\tchildren: ReactNode;\n\thtmlFor?: string;\n}\n\nexport function FormField({\n\tchildren,\n\tlabel,\n\tisRequired,\n\trequired,\n\thint,\n\terror,\n\thelperText,\n\thtmlFor,\n\tclassName,\n}: FormFieldProps) {\n\tconst hasError = Boolean(error);\n\tconst supportingText = error || helperText || (!hasError ? hint : undefined);\n\tconst showBottomText = Boolean(supportingText);\n\tconst resolvedRequired = isRequired ?? required;\n\tconst generatedId = React.useId();\n\tconst childId =\n\t\tReact.isValidElement(children)\n\t\t\t? (children.props as { id?: string }).id\n\t\t\t: undefined;\n\tconst resolvedHtmlFor = htmlFor ?? childId ?? (label && React.isValidElement(children) ? `form-field-${generatedId}` : undefined);\n\tconst resolvedChildren =\n\t\tresolvedHtmlFor && React.isValidElement(children) && !childId\n\t\t\t? React.cloneElement(children as React.ReactElement<{ id?: string }>, { id: resolvedHtmlFor })\n\t\t\t: children;\n\n\treturn (\n\t\t<div className={cn('form-field--component', 'space-y-1', className)}>\n\t\t\t{!!label && (\n\t\t\t\t<Label htmlFor={resolvedHtmlFor} className=\"flex items-center leading-6\">\n\t\t\t\t\t{label}\n\t\t\t\t\t{!!resolvedRequired && (\n\t\t\t\t\t\t<span className=\"ml-1 text-destructive\">*</span>\n\t\t\t\t\t)}\n\t\t\t\t</Label>\n\t\t\t)}\n\n\t\t\t{resolvedChildren}\n\n\t\t\t{!!showBottomText && (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"p\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\ttype={hasError ? 'error' : 'secondary'}\n\t\t\t\t\t{...(hasError ? { role: 'alert', 'aria-live': 'polite' } : {})}\n\t\t\t\t>\n\t\t\t\t\t{supportingText}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\ntype ErrorGetter<TName extends string> = (field: TName) => string | undefined;\n\ninterface ControlledFormFieldProps<\n\tTFieldValues extends FieldValues,\n\tTName extends FieldPath<TFieldValues>,\n> extends Omit<FieldChromeProps, 'error'> {\n\tname: TName;\n\tcontrol: Control<TFieldValues>;\n\trules?: RegisterOptions<TFieldValues, TName>;\n\terror?: ErrorGetter<TName>;\n\tchildren: (\n\t\tfield: ControllerRenderProps<TFieldValues, TName>,\n\t\terror: string | undefined,\n\t\tinvalid: boolean,\n\t\tfieldState: ControllerFieldState,\n\t) => ReactNode;\n}\n\nexport function ControlledFormField<\n\tTFieldValues extends FieldValues,\n\tTName extends FieldPath<TFieldValues>,\n>({\n\tname,\n\tcontrol,\n\trules,\n\terror: errorGetter,\n\tchildren,\n\t...chromeProps\n}: ControlledFormFieldProps<TFieldValues, TName>) {\n\treturn (\n\t\t<Controller\n\t\t\tname={name}\n\t\t\tcontrol={control}\n\t\t\trules={rules}\n\t\t\trender={({ field, fieldState }) => {\n\t\t\t\tconst validationError = fieldState.error?.message\n\t\t\t\t\t|| (fieldState.error ? (fieldState.error.type === 'required' ? (chromeProps.label ? `${chromeProps.label} is required` : 'This field is required') : 'Invalid value') : undefined);\n\t\t\t\tconst resolvedError = errorGetter?.(name) || validationError || undefined;\n\t\t\t\tconst invalid = Boolean(resolvedError);\n\n\t\t\t\treturn (\n\t\t\t\t\t<FormField {...chromeProps} error={resolvedError} htmlFor={name}>\n\t\t\t\t\t\t{children(field, resolvedError, invalid, fieldState)}\n\t\t\t\t\t</FormField>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nFormField.displayName = 'FormField';\nControlledFormField.displayName = 'ControlledFormField';\n","/**\n * NotificationBanner — full-width inline notification with type-specific\n * styling (info / success / error / warning). The icon sits in a soft circle\n * for clear hierarchy, the title (when present) reads at full strength, and\n * the message uses the muted secondary tone so the type colour highlights\n * without overwhelming. Optional dismiss button on the trailing edge.\n *\n * Use inside page bodies for non-blocking notices; reach for `Alert` when\n * the affordance is structural (e.g. inside a form), and Toast for transient\n * feedback.\n */\nimport { AlertTriangle, BadgeCheck, CircleAlert, Info, X } from 'lucide-react';\nimport React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { sanitizeHtml } from '@/lib/sanitize-html';\nimport { cn } from '@/lib/utils';\n\nexport type NotificationType = 'info' | 'success' | 'error' | 'warning';\n\nexport interface NotificationBannerProps {\n\ttype?: NotificationType;\n\tdismissible?: boolean;\n\ttitle?: string;\n\tmessage?: string;\n\tonDismiss?: () => void;\n\tchildren?: React.ReactNode;\n\tasHTML?: boolean;\n\tdismissAriaLabel?: string;\n\tclassName?: string;\n}\n\ninterface BannerTone {\n\twrapper: string;\n\ticonRing: string;\n\ticonColor: string;\n\ttitle: string;\n\tclose: string;\n}\n\nconst TONES: Record<NotificationType, BannerTone> = {\n\tinfo: {\n\t\twrapper: 'border-info/30 bg-info/5',\n\t\ticonRing: 'bg-info/15',\n\t\ticonColor: 'text-info',\n\t\ttitle: 'text-info',\n\t\tclose: 'text-info/70 hover:text-info hover:bg-info/10',\n\t},\n\tsuccess: {\n\t\twrapper: 'border-success/30 bg-success/5',\n\t\ticonRing: 'bg-success/15',\n\t\ticonColor: 'text-success',\n\t\ttitle: 'text-success',\n\t\tclose: 'text-success/70 hover:text-success hover:bg-success/10',\n\t},\n\terror: {\n\t\twrapper: 'border-destructive/30 bg-destructive/5',\n\t\ticonRing: 'bg-destructive/15',\n\t\ticonColor: 'text-destructive',\n\t\ttitle: 'text-destructive',\n\t\tclose: 'text-destructive/70 hover:text-destructive hover:bg-destructive/10',\n\t},\n\twarning: {\n\t\twrapper: 'border-warning/40 bg-warning/10',\n\t\ticonRing: 'bg-warning/20',\n\t\ticonColor: 'text-warning-foreground',\n\t\ttitle: 'text-warning-foreground',\n\t\tclose: 'text-warning-foreground/70 hover:text-warning-foreground hover:bg-warning/20',\n\t},\n};\n\nconst ICONS: Record<NotificationType, React.ElementType> = {\n\tinfo: Info,\n\tsuccess: BadgeCheck,\n\terror: CircleAlert,\n\twarning: AlertTriangle,\n};\n\nfunction SanitizedSpan({ html }: { html: string }) {\n\treturn React.createElement('span', { dangerouslySetInnerHTML: { __html: html } });\n}\n\nexport function NotificationBanner({\n\ttype = 'info',\n\tdismissible = false,\n\ttitle,\n\tmessage,\n\tonDismiss,\n\tchildren,\n\tasHTML = false,\n\tdismissAriaLabel = 'Dismiss notification',\n\tclassName,\n}: NotificationBannerProps) {\n\tconst tone = TONES[type];\n\tconst IconComponent = ICONS[type];\n\tconst sanitizedHtml = React.useMemo(\n\t\t() => sanitizeHtml(message ?? (typeof children === 'string' ? children : '')),\n\t\t[children, message],\n\t);\n\tconst hasTitle = !!title;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"status\"\n\t\t\tclassName={cn('notification-banner--component', \n\t\t\t\t'flex w-full items-start gap-3 rounded-lg border px-4 py-3',\n\t\t\t\t'animate-in fade-in-0 slide-in-from-bottom-1 duration-200',\n\t\t\t\ttone.wrapper,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'mt-0.5 inline-flex size-8 shrink-0 items-center justify-center rounded-full',\n\t\t\t\t\ttone.iconRing,\n\t\t\t\t\ttone.iconColor,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<IconComponent className=\"size-4\" />\n\t\t\t</span>\n\n\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t{hasTitle && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\tclassName=\"leading-snug text-foreground\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"div\"\n\t\t\t\t\ttype={hasTitle ? 'secondary' : 'main'}\n\t\t\t\t\tclassName={cn('break-words leading-snug', hasTitle && 'mt-0.5')}\n\t\t\t\t>\n\t\t\t\t\t{!!asHTML && <SanitizedSpan html={sanitizedHtml} />}\n\t\t\t\t\t{!asHTML && (message ?? children)}\n\t\t\t\t</Text>\n\t\t\t</div>\n\n\t\t\t{!!dismissible && (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\taria-label={dismissAriaLabel}\n\t\t\t\t\tonClick={onDismiss}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'-mr-1 inline-flex size-7 shrink-0 items-center justify-center rounded-md transition-colors',\n\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40',\n\t\t\t\t\t\ttone.close,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<X className=\"size-4\" />\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nNotificationBanner.displayName = 'NotificationBanner';\n\nexport default NotificationBanner;\n","/**\n * PlaceholderPattern — diagonal-stripe SVG fill suitable as a skeleton or\n * empty-region indicator. Uses a unique pattern id per instance so multiple\n * copies on the same page don't collide.\n */\nimport { useId } from 'react';\n\nimport { cn } from '@/lib/utils';\nexport interface PlaceholderPatternProps {\n\tclassName?: string;\n}\n\nexport function PlaceholderPattern({ className }: PlaceholderPatternProps) {\n\tconst patternId = useId();\n\n\treturn (\n\t\t<svg\n\t\t\tclassName={cn('placeholder-pattern--component', className)}\n\t\t\tfill=\"none\"\n\t\t\tstroke=\"currentColor\"\n\t\t\taria-hidden=\"true\"\n\t\t>\n\t\t\t<defs>\n\t\t\t\t<pattern\n\t\t\t\t\tid={patternId}\n\t\t\t\t\tx=\"0\"\n\t\t\t\t\ty=\"0\"\n\t\t\t\t\twidth=\"10\"\n\t\t\t\t\theight=\"10\"\n\t\t\t\t\tpatternUnits=\"userSpaceOnUse\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M-3 13 15-5M-5 5l18-18M-1 21 17 3\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstrokeWidth=\"0.75\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t/>\n\t\t\t\t</pattern>\n\t\t\t</defs>\n\t\t\t<rect\n\t\t\t\tstroke=\"none\"\n\t\t\t\tfill={`url(#${patternId})`}\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"100%\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n\nPlaceholderPattern.displayName = 'PlaceholderPattern';\n\n","/**\n * ShowIf — conditional render gate. Returns `children` when `when` is truthy,\n * otherwise the optional `fallback`. Useful for inline presentation logic\n * where a ternary would be noisier than a self-explanatory tag.\n */\nimport type { ReactNode } from 'react';\n\nexport type ShowIfProps = { when: boolean; children: ReactNode; fallback?: ReactNode };\n\nexport function ShowIf({ when, children, fallback = null }: ShowIfProps) {\n\tif (when) return children;\n\tif (fallback) return fallback;\n\treturn null;\n}\n\nShowIf.displayName = 'ShowIf';\n\nexport default ShowIf;\n\n","/**\n * ThrottleAlert — destructive alert for rate-limit / throttling errors.\n *\n * Single header icon, primary message, and a tight inline meta row showing\n * `attempts` and `remaining`. Use as a banner above a form when a request\n * has been blocked and the user must wait. Strings overridable for i18n.\n */\nimport { ShieldAlert, Clock, RotateCcw } from 'lucide-react';\n\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport interface ThrottleAlertStrings {\n\tmaxAttempts: string;\n\ttryAgainIn: string;\n}\n\nexport const defaultThrottleAlertStrings: ThrottleAlertStrings = {\n\tmaxAttempts: 'Max attempts',\n\ttryAgainIn: 'Try again in',\n};\n\nexport interface ThrottleAlertProps {\n\tmessage: string;\n\tattempts: number;\n\tremaining: string;\n\tclassName?: string;\n\tstrings?: StringsProp<ThrottleAlertStrings>;\n}\n\nexport function ThrottleAlert({\n\tmessage,\n\tattempts,\n\tremaining,\n\tclassName,\n\tstrings: stringsProp,\n}: ThrottleAlertProps) {\n\tconst strings = useStrings(defaultThrottleAlertStrings, stringsProp);\n\n\treturn (\n\t\t<div\n\t\t\trole=\"alert\"\n\t\t\tclassName={cn('throttle-alert--component', \n\t\t\t\t'flex items-start gap-3 rounded-lg border border-destructive/30 bg-destructive/5 px-4 py-3',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName=\"mt-0.5 inline-flex size-8 shrink-0 items-center justify-center rounded-full bg-destructive/15 text-destructive\"\n\t\t\t>\n\t\t\t\t<ShieldAlert className=\"size-4\" />\n\t\t\t</span>\n\t\t\t<div className=\"min-w-0 flex-1 space-y-1.5\">\n\t\t\t\t<Text weight=\"medium\" className=\"text-destructive leading-snug\">\n\t\t\t\t\t{message}\n\t\t\t\t</Text>\n\t\t\t\t<div className=\"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-destructive/80\">\n\t\t\t\t\t<span className=\"inline-flex items-center gap-1.5\">\n\t\t\t\t\t\t<RotateCcw className=\"size-3\" aria-hidden=\"true\" />\n\t\t\t\t\t\t<span>{strings.maxAttempts}</span>\n\t\t\t\t\t\t<span className=\"font-semibold tabular-nums text-destructive\">{attempts}</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"inline-flex items-center gap-1.5\">\n\t\t\t\t\t\t<Clock className=\"size-3\" aria-hidden=\"true\" />\n\t\t\t\t\t\t<span>{strings.tryAgainIn}</span>\n\t\t\t\t\t\t<span className=\"font-semibold tabular-nums text-destructive\">{remaining}</span>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nThrottleAlert.displayName = 'ThrottleAlert';\n","/**\n * VisuallyHidden — hides content from sighted users while keeping it readable\n * by assistive tech (screen readers, voice). Use to label icon-only buttons,\n * give context to status changes, or expose extra structure for AT users.\n */\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface VisuallyHiddenProps {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport function VisuallyHidden({ children, className }: VisuallyHiddenProps) {\n\treturn (\n\t\t<span\n\t\t\tclassName={cn('visually-hidden--component', \n\t\t\t\t'absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0',\n\t\t\t\t'[clip:rect(0,0,0,0)]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{children}\n\t\t</span>\n\t);\n}\n\nVisuallyHidden.displayName = 'VisuallyHidden';\n","/**\n * StackedAvatars — overlapping avatar group with optional `+N` overflow chip,\n * configurable size, and an optional semantic `tone` for fallbacks (initials)\n * when the consumer hasn't passed `imageUrl`.\n *\n * Wraps the shadcn AvatarGroup primitive with library-default sizes and a\n * deterministic tone picker so fallbacks stay stable without raw hue utilities.\n */\nimport * as React from 'react';\nimport {\n\tAvatar,\n\tAvatarFallback,\n\tAvatarGroup,\n\tAvatarGroupCount,\n\tAvatarImage,\n} from './avatar';\nimport { Text } from '@/components/typography';\nimport type { ComponentScale } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nexport type StackedAvatarsSize = ComponentScale;\nexport type StackedAvatarTone =\n\t| 'muted'\n\t| 'primary'\n\t| 'secondary'\n\t| 'info'\n\t| 'success'\n\t| 'warning'\n\t| 'destructive';\n\nexport interface StackedAvatarUser {\n\tid?: string;\n\tname: string;\n\timageUrl?: string;\n\t/** Optional semantic tone override for this user's fallback. Numeric values map to the token set. */\n\ttone?: StackedAvatarTone | number;\n}\n\nexport interface StackedAvatarsProps {\n\tusers: StackedAvatarUser[];\n\tmax?: number;\n\tsize?: StackedAvatarsSize;\n\tclassName?: string;\n\t/** Whether to render a `+N` count when `users.length > max`. Default `true`. */\n\tshowOverflow?: boolean;\n\t/** Provide custom overflow text (e.g. \"+12 more\"). Default `+N`. */\n\toverflowFormatter?: (overflow: number) => React.ReactNode;\n\t/** Extra class names applied to each avatar root. */\n\tavatarClassName?: string;\n}\n\nconst FALLBACK_TONES: StackedAvatarTone[] = [\n\t'muted',\n\t'primary',\n\t'secondary',\n\t'info',\n\t'success',\n];\n\nconst FALLBACK_TONE_CLASSNAMES: Record<StackedAvatarTone, string> = {\n\tmuted: 'bg-muted text-muted-foreground',\n\tprimary: 'bg-primary/10 text-primary',\n\tsecondary: 'bg-secondary text-secondary-foreground',\n\tinfo: 'bg-info/10 text-info',\n\tsuccess: 'bg-success/10 text-success',\n\twarning: 'bg-warning/15 text-warning',\n\tdestructive: 'bg-destructive/10 text-destructive',\n};\n\nfunction getInitials(name: string, compact = false): string {\n\tconst parts = name.trim().split(/\\s+/);\n\tif (parts.length === 0) return '?';\n\tif (compact) return parts[0].slice(0, 1).toUpperCase();\n\tif (parts.length === 1) return parts[0].slice(0, 2).toUpperCase();\n\treturn (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();\n}\n\nfunction pickFallbackTone(seed: string | number, override?: StackedAvatarTone | number) {\n\tif (typeof override === 'string') {\n\t\treturn override;\n\t}\n\tif (typeof override === 'number') {\n\t\treturn FALLBACK_TONES[Math.abs(override) % FALLBACK_TONES.length];\n\t}\n\tconst key = typeof seed === 'number' ? seed : Array.from(seed).reduce((s, c) => s + c.charCodeAt(0), 0);\n\treturn FALLBACK_TONES[key % FALLBACK_TONES.length];\n}\n\nfunction normalizeStackedAvatarsSize(size: StackedAvatarsSize | string | undefined): StackedAvatarsSize {\n\tif (size === 'small' || size === 'default') return size;\n\tif (size === 'xs' || size === 'sm') return 'small';\n\treturn 'default';\n}\n\nexport function StackedAvatars({\n\tusers,\n\tmax = 4,\n\tsize = 'default',\n\tclassName,\n\tshowOverflow = true,\n\toverflowFormatter,\n\tavatarClassName,\n}: StackedAvatarsProps) {\n\tconst visible = users.slice(0, max);\n\tconst overflow = Math.max(0, users.length - max);\n\tconst resolvedSize = normalizeStackedAvatarsSize(size);\n\n\treturn (\n\t\t<AvatarGroup className={cn('stacked-avatars--component', className)}>\n\t\t\t{visible.map((user, index) => {\n\t\t\t\tconst initials = getInitials(user.name, resolvedSize === 'small');\n\t\t\t\tconst fallbackTone = pickFallbackTone(user.id ?? user.name ?? index, user.tone);\n\t\t\t\treturn (\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\tkey={user.id ?? `${user.name}-${index}`}\n\t\t\t\t\t\tsize={resolvedSize}\n\t\t\t\t\t\tclassName={cn('ring-background', avatarClassName)}\n\t\t\t\t\t\ttitle={user.name}\n\t\t\t\t\t>\n\t\t\t\t\t\t{user.imageUrl ? (\n\t\t\t\t\t\t\t<AvatarImage src={user.imageUrl} alt={user.name} />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<AvatarFallback\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'font-semibold',\n\t\t\t\t\t\t\t\tFALLBACK_TONE_CLASSNAMES[fallbackTone],\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{initials}\n\t\t\t\t\t\t</AvatarFallback>\n\t\t\t\t\t</Avatar>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t{!!showOverflow && overflow > 0 && (\n\t\t\t\t<AvatarGroupCount>\n\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\">\n\t\t\t\t\t\t{overflowFormatter ? overflowFormatter(overflow) : `+${overflow}`}\n\t\t\t\t\t</Text>\n\t\t\t\t</AvatarGroupCount>\n\t\t\t)}\n\t\t</AvatarGroup>\n\t);\n}\n\nStackedAvatars.displayName = 'StackedAvatars';\n","/**\n * DateBlock — compact \"boxed\" date display showing weekday + day-of-month\n * + optional month and time. Built on `date-fns` so locales propagate\n * naturally (`enGB`, `bg`, …).\n *\n * Two layouts:\n * - `stacked` (default) — three lines: weekday / day / month\n * - `inline` — single row: weekday + day + month + optional time\n *\n * Time can render `inline` (right of the date), `below` (under the date\n * block), or `hidden`. Compact rooms (booking lists) typically use\n * `stacked` with `time=\"below\"`.\n */\nimport { format, type Locale } from 'date-fns';\n\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport type DateBlockLayout = 'stacked' | 'inline';\nexport type DateBlockTimePlacement = 'inline' | 'below' | 'hidden';\nexport type DateBlockTone = 'default' | 'muted' | 'primary' | 'inverse' | 'success' | 'warning' | 'destructive' | 'info';\n\nexport interface DateBlockStrings {\n\t/** Used by `inline` layout when month is hidden (e.g. \"Apr 30 · 14:00\"). */\n\tseparator: string;\n}\n\nexport const defaultDateBlockStrings: DateBlockStrings = {\n\tseparator: '·',\n};\n\nexport interface DateBlockProps {\n\t/** Date instance, ISO string, or unix timestamp. */\n\tdate: Date | string | number;\n\t/** ISO time string (`HH:mm`) or already-formatted time string. */\n\ttime?: string | null;\n\t/** date-fns `Locale` (e.g. `enGB`, `bg`). Defaults to user-agent. */\n\tlocale?: Locale;\n\t/** Layout. Default `stacked`. */\n\tlayout?: DateBlockLayout;\n\t/** Where to place the time. Default `inline` for `inline` layout, `below` for `stacked`. */\n\ttimePlacement?: DateBlockTimePlacement;\n\t/** Tone of the boxed block. Default `default` (card surface). */\n\ttone?: DateBlockTone;\n\t/** Whether to render a card-like box around the block. Default `true` for stacked, `false` for inline. */\n\tboxed?: boolean;\n\t/** Show month label. Default `true`. */\n\tshowMonth?: boolean;\n\t/** Custom format for the day-of-month token (date-fns format). Default `'d'`. */\n\tdayFormat?: string;\n\t/** Custom format for the weekday token. Default `'EEE'`. */\n\tweekdayFormat?: string;\n\t/** Custom format for the month token. Default `'MMM'`. */\n\tmonthFormat?: string;\n\tclassName?: string;\n\tstrings?: StringsProp<DateBlockStrings>;\n}\n\nconst toneClassMap: Record<DateBlockTone, { bg: string; text: string; border: string; accent: string; subtle: string }> = {\n\tdefault: { bg: 'bg-card', text: 'text-foreground', border: 'border-border', accent: 'text-foreground', subtle: 'text-muted-foreground' },\n\tinverse: { bg: 'bg-primary', text: 'text-background', border: 'border-primary', accent: 'text-background/80', subtle: 'text-background/65' },\n\tmuted: { bg: 'bg-muted/50', text: 'text-foreground', border: 'border-border', accent: 'text-foreground', subtle: 'text-muted-foreground' },\n\tprimary: { bg: 'bg-primary/10', text: 'text-foreground', border: 'border-primary/30', accent: 'text-primary', subtle: 'text-muted-foreground' },\n\tsuccess: { bg: 'bg-success/10', text: 'text-foreground', border: 'border-success/30', accent: 'text-success', subtle: 'text-muted-foreground' },\n\twarning: { bg: 'bg-warning/15', text: 'text-foreground', border: 'border-warning/40', accent: 'text-warning-foreground', subtle: 'text-muted-foreground' },\n\tdestructive: { bg: 'bg-destructive/10', text: 'text-foreground', border: 'border-destructive/30', accent: 'text-destructive', subtle: 'text-muted-foreground' },\n\tinfo: { bg: 'bg-info/10', text: 'text-foreground', border: 'border-info/30', accent: 'text-info', subtle: 'text-muted-foreground' },\n};\n\nfunction resolveDate(input: Date | string | number): Date {\n\tif (input instanceof Date) return input;\n\tconst d = typeof input === 'number' ? new Date(input) : new Date(input);\n\treturn d;\n}\n\nexport function DateBlock({\n\tdate,\n\ttime,\n\tlocale,\n\tlayout = 'stacked',\n\ttimePlacement,\n\ttone = 'default',\n\tboxed,\n\tshowMonth = true,\n\tdayFormat = 'd',\n\tweekdayFormat = 'EEE',\n\tmonthFormat = 'MMM',\n\tclassName,\n\tstrings: stringsProp,\n}: DateBlockProps) {\n\tconst resolved = resolveDate(date);\n\tconst strings = useStrings(defaultDateBlockStrings, stringsProp);\n\tconst tones = toneClassMap[tone];\n\tconst dateValid = !Number.isNaN(resolved.getTime());\n\n\tconst weekday = dateValid ? format(resolved, weekdayFormat, locale ? { locale } : undefined) : '';\n\tconst day = dateValid ? format(resolved, dayFormat, locale ? { locale } : undefined) : '';\n\tconst month = dateValid ? format(resolved, monthFormat, locale ? { locale } : undefined) : '';\n\n\tconst resolvedTimePlacement: DateBlockTimePlacement =\n\t\ttimePlacement ?? (layout === 'inline' ? 'inline' : 'below');\n\tconst useBox = boxed ?? layout === 'stacked';\n\n\tif (layout === 'inline') {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={cn('date-block--component', \n\t\t\t\t\t'inline-flex items-center gap-1.5 tabular-nums',\n\t\t\t\t\tuseBox && cn('rounded-md border px-2 py-1', tones.bg, tones.border),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className={cn(tones.accent, 'uppercase tracking-wide')}>\n\t\t\t\t\t{weekday}\n\t\t\t\t</Text>\n\t\t\t\t<Text weight=\"semibold\">{day}</Text>\n\t\t\t\t{!!showMonth && (\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t\t\t{month}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t{!!time && resolvedTimePlacement === 'inline' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Text size=\"xs\" type=\"discrete\" aria-hidden>\n\t\t\t\t\t\t\t{strings.separator}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">{time}</Text>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={cn('inline-flex flex-col items-center gap-0.5', className)}>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex flex-col items-center justify-center gap-1 tabular-nums',\n\t\t\t\t\tuseBox && cn('w-14 min-h-14 rounded-md border px-1.5 py-1.5', tones.bg, tones.border),\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\tstyle={{ lineHeight: 1 }}\n\t\t\t\t\tclassName={cn(tones.accent, 'uppercase tracking-wider')}\n\t\t\t\t>\n\t\t\t\t\t{weekday}\n\t\t\t\t</Text>\n\t\t\t\t<Text size=\"lg\" weight=\"bold\" style={{ lineHeight: 1 }} className={tones.text}>\n\t\t\t\t\t{day}\n\t\t\t\t</Text>\n\t\t\t\t{!!showMonth && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\tstyle={{ lineHeight: 1 }}\n\t\t\t\t\t\tclassName={cn(tones.subtle, 'uppercase tracking-wider')}\n\t\t\t\t\t>\n\t\t\t\t\t\t{month}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!!time && resolvedTimePlacement === 'below' && (\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"tabular-nums\">\n\t\t\t\t\t{time}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t\t{!!time && resolvedTimePlacement === 'inline' && (\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"tabular-nums\">\n\t\t\t\t\t{time}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nDateBlock.displayName = 'DateBlock';\n","import { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\"\nimport * as React from \"react\"\n\nimport { Slot } from \"@/components/ui/slot\"\n\nfunction Collapsible({ ...props }: CollapsiblePrimitive.Root.Props) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />\n}\n\nfunction CollapsibleTrigger({\n asChild = false,\n nativeButton,\n render,\n children,\n ...props\n}: CollapsiblePrimitive.Trigger.Props & { asChild?: boolean; nativeButton?: boolean }) {\n const slotRender = asChild ? <Slot /> : undefined\n const safeRender: CollapsiblePrimitive.Trigger.Props[\"render\"] = typeof render === \"function\"\n ? ((renderProps, state) => {\n const { nativeButton: _nativeButton, ...rest } = renderProps as Record<string, unknown>\n void _nativeButton\n return render(rest as typeof renderProps, state)\n })\n : render\n let inferredNativeButton = true\n if (asChild && React.isValidElement(children)) {\n if (typeof children.type === \"string\") {\n inferredNativeButton = children.type === \"button\"\n } else {\n const childProps = (children.props ?? {}) as Record<string, unknown>\n inferredNativeButton = !(\"href\" in childProps)\n }\n }\n const resolvedNativeButton = nativeButton ?? (asChild ? inferredNativeButton : true)\n return (\n <CollapsiblePrimitive.Trigger\n data-slot=\"collapsible-trigger\"\n render={slotRender ?? safeRender}\n nativeButton={resolvedNativeButton}\n {...props}\n >\n {children}\n </CollapsiblePrimitive.Trigger>\n )\n}\n\nfunction CollapsibleContent({ ...props }: CollapsiblePrimitive.Panel.Props) {\n return (\n <CollapsiblePrimitive.Panel data-slot=\"collapsible-content\" {...props} />\n )\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","import { AlertTriangle, Info } from 'lucide-react';\nimport { useCallback, useMemo, type ReactNode } from 'react';\n\nimport { MoneyInput as BaseMoneyInput, type MoneyInputProps as BaseMoneyInputProps } from '@/components/base/forms/fields/money-input';\nimport { FormField } from '@/components/base/forms/form-field';\nimport { Text } from '@/components/typography';\nimport { Alert, AlertDescription } from '@/components/base/display/alert';\nimport { cn } from '@/lib/utils';\nimport type { CurrencyCode } from '@/lib/ui-provider';\n\n/** Optional money payload for migration hints. Consumers map their domain\n * shape into this — `formatted` is the consumer's pre-rendered display\n * string for the alternate currency leg. */\nexport interface MoneyData {\n amount?: number | string | null;\n currency?: string | null;\n /** Optional original/record currency that triggered a migration warning. */\n recordCurrency?: string | null;\n /** Optional secondary leg the consumer formatted for display. */\n pair?: { formatted?: string | null } | null;\n}\n\nexport interface MoneyInputData {\n amount: number;\n currency: CurrencyCode;\n}\n\nexport interface MoneyInputProps extends Omit<BaseMoneyInputProps, 'invalid'> {\n /** Optional money payload for migration hints */\n money?: MoneyData | null;\n /** Display label */\n label?: string;\n /** Hint next to label */\n hint?: string;\n /** Helper text below input */\n helperText?: string;\n /** Error message */\n error?: string;\n /** Required indicator */\n required?: boolean;\n /** Invalid state override */\n invalid?: boolean;\n /** Optional change handler for combined data */\n onChangeData?: (data: MoneyInputData) => void;\n /** Record currency for migration detection */\n recordCurrency?: CurrencyCode;\n /** Show migration warning block */\n showMigrationWarning?: boolean;\n /** Custom migration warning message */\n migrationWarningMessage?: ReactNode;\n /** Show original currency hint */\n showOriginalHint?: boolean;\n}\n\nconst defaultEmptyFormatted = '—';\n\nconst resolveFormatted = (formatted: unknown): string =>\n typeof formatted === 'string' ? formatted.trim() : '';\n\nexport function MoneyInput({\n money,\n currency = 'EUR',\n onChangeData,\n recordCurrency: recordCurrencyProp,\n label,\n hint,\n helperText,\n error,\n required,\n invalid,\n showMigrationWarning = true,\n migrationWarningMessage,\n showOriginalHint = true,\n className,\n onChange,\n onCurrencyChange,\n ...props\n}: MoneyInputProps) {\n const recordCurrency = recordCurrencyProp ?? money?.recordCurrency ?? undefined;\n\n const willMigrate = useMemo(\n () => recordCurrency !== undefined && recordCurrency !== currency,\n [recordCurrency, currency],\n );\n\n const otherFormatted = useMemo(() => {\n if (!showOriginalHint) return '';\n return resolveFormatted(money?.pair?.formatted);\n }, [showOriginalHint, money?.pair?.formatted]);\n\n const showOriginalHintBlock = otherFormatted.length > 0 && !error;\n const showMigrationBlock = willMigrate && showMigrationWarning;\n\n const handleAmountChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e);\n const parsed = Number.parseFloat(e.target.value);\n const safeAmount = Number.isFinite(parsed) ? parsed : 0;\n onChangeData?.({ amount: safeAmount, currency });\n },\n [onChange, onChangeData, currency],\n );\n\n const handleCurrencyChange = useCallback(\n (nextCurrency: CurrencyCode) => {\n onCurrencyChange?.(nextCurrency);\n const parsedValue = Number.parseFloat(String(props.value ?? ''));\n const safeAmount = Number.isFinite(parsedValue) ? parsedValue : 0;\n onChangeData?.({ amount: safeAmount, currency: nextCurrency });\n },\n [onCurrencyChange, onChangeData, props.value],\n );\n\n const isInvalid = invalid ?? Boolean(error);\n\n const inputNode = (\n <BaseMoneyInput\n {...props}\n currency={currency}\n onChange={handleAmountChange}\n onCurrencyChange={handleCurrencyChange}\n invalid={isInvalid}\n />\n );\n\n const hasChrome = Boolean(label || hint || helperText || error || required);\n const renderedInput = hasChrome ? (\n <FormField\n label={label}\n hint={hint}\n helperText={helperText}\n error={error}\n required={required}\n >\n {inputNode}\n </FormField>\n ) : inputNode;\n\n return (\n <div className={cn('money-input--component', 'space-y-2', className)}>\n {renderedInput}\n\n {!!showOriginalHintBlock && (\n <div className=\"flex items-center gap-1.5 text-muted-foreground\">\n <Info className=\"h-3.5 w-3.5 shrink-0\" />\n <Text size=\"xs\" type=\"secondary\">\n {otherFormatted || defaultEmptyFormatted}\n </Text>\n </div>\n )}\n\n {!!showMigrationBlock && (\n <Alert className=\"border-warning/50 bg-warning/5 py-2\">\n <AlertTriangle className=\"h-4 w-4 text-warning\" />\n <AlertDescription className=\"text-warning-foreground text-xs\">\n {migrationWarningMessage ??\n `Currency will be converted from ${recordCurrency ?? ''} to ${currency}.`}\n </AlertDescription>\n </Alert>\n )}\n </div>\n );\n}\n\nMoneyInput.displayName = 'MoneyInput';\n","/**\n * BooleanIndicator — labelled yes/no chip showing the truth of a value with an\n * optional check/cross icon. Use for compact metadata grids where each row\n * answers a single boolean question. Strings overridable for i18n.\n */\nimport { CheckCircle2, XCircle } from 'lucide-react';\nimport React from 'react';\nimport { Badge, type ComposedBadgeVariant } from '@/components/base/badge';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport interface BooleanIndicatorStrings {\n\ttrue: string;\n\tfalse: string;\n}\n\nexport const defaultBooleanIndicatorStrings: BooleanIndicatorStrings = {\n\ttrue: 'Yes',\n\tfalse: 'No',\n};\n\nexport type BooleanIndicatorProps = {\n\tlabel: React.ReactNode;\n\tvalue?: boolean | null;\n\tshowIcon?: boolean;\n\ttrueVariant?: ComposedBadgeVariant;\n\tfalseVariant?: ComposedBadgeVariant;\n\tclassName?: string;\n\tbadgeClassName?: string;\n\tstrings?: StringsProp<BooleanIndicatorStrings>;\n\t/** @deprecated Use `strings.true` instead. */\n\ttrueLabel?: React.ReactNode;\n\t/** @deprecated Use `strings.false` instead. */\n\tfalseLabel?: React.ReactNode;\n};\n\nexport function BooleanIndicator({\n\tlabel,\n\tvalue = false,\n\ttrueLabel,\n\tfalseLabel,\n\tshowIcon = true,\n\ttrueVariant = 'success',\n\tfalseVariant = 'secondary',\n\tclassName,\n\tbadgeClassName,\n\tstrings: stringsProp,\n}: BooleanIndicatorProps) {\n\tconst strings = useStrings(defaultBooleanIndicatorStrings, stringsProp);\n\tconst isTrue = Boolean(value);\n\tconst Icon = isTrue ? CheckCircle2 : XCircle;\n\tconst badgeVariant = isTrue ? trueVariant : falseVariant;\n\tconst fallback = isTrue ? trueLabel : falseLabel;\n\tconst content = fallback ?? (isTrue ? strings.true : strings.false);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('boolean-indicator--component', \n\t\t\t\t'flex items-center justify-between gap-space-md rounded-radius border border-border/60 bg-muted/30 px-row-x py-row-y',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<Text size=\"inherit\" type=\"secondary\" className=\"text-xs uppercase tracking-wide\">\n\t\t\t\t{label}\n\t\t\t</Text>\n\t\t\t<Badge\n\t\t\t\tvariant={badgeVariant}\n\t\t\t\tclassName={cn('whitespace-nowrap', badgeClassName)}\n\t\t\t>\n\t\t\t\t{!!showIcon && <Icon className=\"size-icon\" />}\n\t\t\t\t{content}\n\t\t\t</Badge>\n\t\t</div>\n\t);\n}\n\nBooleanIndicator.displayName = 'BooleanIndicator';\n\nexport default BooleanIndicator;\n","import { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Empty({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n \"gap-4 rounded-lg border-dashed p-12 flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"gap-2 flex max-w-sm flex-col items-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst emptyMediaVariants = cva(\n \"mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction EmptyMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn(\"text-lg font-medium tracking-tight\", className)}\n {...props}\n />\n )\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n \"text-sm/relaxed text-muted-foreground [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n \"gap-4 text-sm flex w-full max-w-sm min-w-0 flex-col items-center text-balance\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n}\n","import { Progress as ProgressPrimitive } from \"@base-ui/react/progress\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Progress({\n className,\n children,\n value,\n ...props\n}: ProgressPrimitive.Root.Props) {\n return (\n <ProgressPrimitive.Root\n value={value}\n data-slot=\"progress\"\n className={cn(\"flex flex-wrap gap-3\", className)}\n {...props}\n >\n {children}\n <ProgressTrack>\n <ProgressIndicator />\n </ProgressTrack>\n </ProgressPrimitive.Root>\n )\n}\n\nfunction ProgressTrack({ className, ...props }: ProgressPrimitive.Track.Props) {\n return (\n <ProgressPrimitive.Track\n className={cn(\n \"bg-muted h-1.5 rounded-full relative flex w-full items-center overflow-x-hidden\",\n className\n )}\n data-slot=\"progress-track\"\n {...props}\n />\n )\n}\n\nfunction ProgressIndicator({\n className,\n ...props\n}: ProgressPrimitive.Indicator.Props) {\n return (\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className={cn(\"bg-primary h-full transition-all\", className)}\n {...props}\n />\n )\n}\n\nfunction ProgressLabel({ className, ...props }: ProgressPrimitive.Label.Props) {\n return (\n <ProgressPrimitive.Label\n className={cn(\"text-sm font-medium\", className)}\n data-slot=\"progress-label\"\n {...props}\n />\n )\n}\n\nfunction ProgressValue({ className, ...props }: ProgressPrimitive.Value.Props) {\n return (\n <ProgressPrimitive.Value\n className={cn(\"text-muted-foreground ml-auto text-sm tabular-nums\", className)}\n data-slot=\"progress-value\"\n {...props}\n />\n )\n}\n\nexport {\n Progress,\n ProgressTrack,\n ProgressIndicator,\n ProgressLabel,\n ProgressValue,\n}\n","import { formatHex, oklch } from 'culori';\nimport QR from 'qrcode';\nimport type { HTMLAttributes } from 'react';\nimport { useEffect, useState } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type QRCodeProps = HTMLAttributes<HTMLDivElement> & {\n\tdata: string;\n\tforeground?: string;\n\tbackground?: string;\n\trobustness?: 'L' | 'M' | 'Q' | 'H';\n};\n\nconst oklchRegex = /oklch\\\\(([.\\\\d-]+)\\\\s+([.\\\\d]+)\\\\s+([.\\\\d]+)\\\\)/;\n\nfunction getOklch(color: string, fallback: [number, number, number]) {\n\tconst oklchMatch = color.match(oklchRegex);\n\n\tif (!oklchMatch) {\n\t\treturn { l: fallback[0], c: fallback[1], h: fallback[2] };\n\t}\n\n\treturn {\n\t\tl: Number.parseFloat(oklchMatch[1]),\n\t\tc: Number.parseFloat(oklchMatch[2]),\n\t\th: Number.parseFloat(oklchMatch[3]),\n\t};\n}\n\nexport function QRCode({\n\tdata,\n\tforeground,\n\tbackground,\n\trobustness = 'M',\n\tclassName,\n\t...props\n}: QRCodeProps) {\n\tconst [svg, setSvg] = useState<string | null>(null);\n\n\tuseEffect(() => {\n\t\tconst generateQR = async () => {\n\t\t\ttry {\n\t\t\t\tconst text = String(data ?? '').trim();\n\t\t\t\tif (!text) {\n\t\t\t\t\tsetSvg(null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst styles = getComputedStyle(document.documentElement);\n\t\t\t\tconst foregroundColor =\n\t\t\t\t\tforeground ?? styles.getPropertyValue('--foreground');\n\t\t\t\tconst backgroundColor =\n\t\t\t\t\tbackground ?? styles.getPropertyValue('--background');\n\n\t\t\t\tconst foregroundOklch = getOklch(foregroundColor, [\n\t\t\t\t\t0.21, 0.006, 285.885,\n\t\t\t\t]);\n\t\t\t\tconst backgroundOklch = getOklch(backgroundColor, [0.985, 0, 0]);\n\n\t\t\t\tconst newSvg = await QR.toString(text, {\n\t\t\t\t\ttype: 'svg',\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tdark: formatHex(\n\t\t\t\t\t\t\toklch({ mode: 'oklch', ...foregroundOklch }),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tlight: formatHex(\n\t\t\t\t\t\t\toklch({ mode: 'oklch', ...backgroundOklch }),\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\twidth: 200,\n\t\t\t\t\terrorCorrectionLevel: robustness,\n\t\t\t\t\tmargin: 0,\n\t\t\t\t});\n\n\t\t\t\tsetSvg(newSvg);\n\t\t\t} catch {\n\t\t\t\t// QR generation failure (invalid data, oversized payload) — render falls\n\t\t\t\t// back to empty SVG; consumer can surface their own error from the parent.\n\t\t\t\tsetSvg('');\n\t\t\t}\n\t\t};\n\n\t\tvoid generateQR();\n\t}, [data, foreground, background, robustness]);\n\n\tif (!svg) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('qr-code--component', 'size-full', '[&_svg]:size-full', className)}\n\t\t\tdangerouslySetInnerHTML={{ __html: svg }}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default QRCode;\n\nQRCode.displayName = 'QRCode';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoCA,IAAa,KAAkD;CAC9D,WAAW;CACX,WAAW;AACZ,GAkBM,MACL,GACA,GACA,MACY;CACZ,IAAI,CAAC,GAAO,OAAO;CAEnB,IAAI,IAAY;CAShB,IARA,IAAY,EAAU,QAAQ,MAAM,GAAG,GAEvC,AAGC,IAHG,IACS,EAAU,QAAQ,YAAY,EAAE,IAEhC,EAAU,QAAQ,WAAW,EAAE,GAGxC,KAAiB,EAAU,SAAS,GAAG,GAAG;EAC7C,IAAM,IAAkB,EAAU,WAAW,GAAG;EAEhD,AADA,IAAY,EAAU,QAAQ,MAAM,EAAE,GAClC,MAAiB,IAAY,MAAM;CACxC;CAEA,IAAM,IAAQ,EAAU,MAAM,GAAG;CASjC,OARI,EAAM,SAAS,MAClB,IAAY,EAAM,KAAK,MAAM,EAAM,MAAM,CAAC,EAAE,KAAK,EAAE,IAGhD,EAAM,WAAW,KAAK,EAAM,GAAG,SAAS,MAC3C,IAAY,EAAM,KAAK,MAAM,EAAM,GAAG,UAAU,GAAG,CAAa,IAG1D;AACR,GAEM,MAAkB,GAAe,GAAc,MAA0B;CAC9E,IAAI,CAAC,KAAS,MAAU,KAAK,OAAO;CACpC,IAAM,IAAW,WAAW,CAAK;CAIjC,OAHI,OAAO,MAAM,CAAQ,IAAU,KAEnC,EADI,MAAQ,KAAA,KAAa,IAAW,KAChC,MAAQ,KAAA,KAAa,IAAW;AAErC;AAEA,SAAS,EAAc,GAAe,GAAkB,GAAmC;CAC1F,IAAM,IAAkB,MAAI,GACtB,IAAU,IAAQ;CACxB,QAAQ,GAAR;EACC,KAAK,SACJ,OAAO,KAAK,MAAM,CAAO,IAAI;EAC9B,KAAK,QACJ,OAAO,KAAK,KAAK,CAAO,IAAI;EAC7B,KAAK,aAAa;GACjB,IAAM,IAAQ,KAAK,MAAM,CAAO,GAC1B,IAAO,IAAU;GAGvB,OAFI,IAAO,MAAa,IAAQ,KAAK,IACjC,IAAO,KAAY,IAAQ,KACvB,IAAQ,KAAM,IAAI,IAAQ,IAAQ,KAAK;EAChD;EAEA,SACC,OAAO,KAAK,MAAM,CAAO,IAAI;CAC/B;AACD;AAEA,SAAS,EAAM,GAAW,GAAc,GAAsB;CAC7D,IAAI,IAAO;CAGX,OAFI,MAAQ,KAAA,MAAW,IAAO,KAAK,IAAI,GAAK,CAAI,IAC5C,MAAQ,KAAA,MAAW,IAAO,KAAK,IAAI,GAAK,CAAI,IACzC;AACR;AAEA,SAAS,GACR,GACA,GACA,GACA,GACA,IAA4B,SACnB;CACT,IAAM,IAAS,KAAO,GAChB,KAAmB,IAAU,KAAU,GAOvC,IAAU,MALf,MAAS,UACN,KAAK,MAAM,CAAe,IAC1B,MAAS,SACR,KAAK,KAAK,CAAe,IACzB,KAAK,MAAM,CAAe,KACK,KAAS;CAC7C,OAAO,OAAO,EAAQ,QAAQ,EAAE,CAAC;AAClC;AAEA,SAAS,GACR,GACA,GACA,GACC;CAMD,IAAM,IAAe,OAAO,yBAC3B,OAAO,iBAAiB,WACxB,OACD,GAAG;CACH,AAAI,IAAc,EAAa,KAAK,GAAQ,CAAK,IAC5C,EAAO,QAAQ,GAEf,KAQL,EAAS;EANR;EACA,eAAe;EACf,MAAM;EACN,SAAS;EACT,YAAY;CAEJ,CAAK;AACf;AAEA,IAAM,KAAsD;CAC3D,OAAO;CACP,SAAS;AACV;AAEA,SAAS,GACR,EACC,mBAAgB,GAChB,QACA,QACA,mBAAgB,IAChB,gBAAa,IACb,SACA,kBAAe,SACf,qBAAkB,IAClB,aACA,WACA,gBACA,cACA,OAAO,GACP,iBACA,aACA,MAAM,GACN,SAAS,GACT,GAAG,KAEJ,GACC;CACD,IAAM,EAAE,0BAAuB,EAAe,GACxC,IAAwB,EAAuB,GAAU,CAAkB,GAC3E,IAAU,EAAW,IAA4B,CAAW,GAC5D,IAAqB,KAAK,IAAI,IAAI,KAAK,IAAI,GAAG,CAAa,CAAC,GAC5D,IAAW,EAAM,OAAgC,IAAI,GAErD,IAAe,GACnB,MAA2C;EAC3C,IAAM,IAAW,EAAE,OAAO;EAE1B,IAAI,CAAC,KAAY,GAAY;GAC5B,IAAW,CAAC;GACZ;EACD;EAEA,IAAM,IAAY,GAAmB,GAAU,GAAoB,CAAa;EAC3E,OAAe,GAAW,GAAK,CAAG,GAEvC,IAAI,MAAc,GAAU;GAC3B,IAAM,IAAgB;IACrB,GAAG;IACH,QAAQ;KAAE,GAAG,EAAE;KAAQ,OAAO;IAAU;IACxC,eAAe;KAAE,GAAG,EAAE;KAAe,OAAO;IAAU;GACvD;GACA,IAAW,CAAa;EACzB,OACC,IAAW,CAAC;CAEd,GACA;EAAC;EAAU;EAAoB;EAAe;EAAY;EAAK;CAAG,CACnE,GAEM,IAAa,GACjB,MAA0C;EAE1C,IADA,IAAS,CAAC,GACN,CAAC,GAAiB;EACtB,IAAM,IAAM,EAAE,OAAO;EACrB,IAAI,CAAC,KAAO,GAAY;EACxB,IAAM,IAAM,OAAO,WAAW,EAAI,QAAQ,KAAK,GAAG,CAAC;EACnD,IAAI,CAAC,OAAO,SAAS,CAAG,GAAG;EAG3B,IAAM,IADU,EADA,EAAM,GAAK,GAAK,CACF,GAAS,GAAoB,CAC9C,EAAQ,QAAQ,CAAkB;EAC/C,AAAI,MAAS,KAAO,EAAS,WAC5B,GAAW,EAAS,SAAS,GAAM,CAAQ;CAE7C,GACA;EAAC;EAAQ;EAAU;EAAiB;EAAY;EAAK;EAAK;EAAoB;CAAY,CAC3F,GAEM,IAAS,GACb,MAAkB;EAClB,IAAI,KAAY,MAAS,KAAA,GAAW;EACpC,IAAM,IAAS,EAAS;EACxB,IAAI,CAAC,GAAQ;EACb,IAAM,IAAM,EAAO,OACb,IAAU,OAAO,WAAW,EAAI,QAAQ,KAAK,GAAG,CAAC;EAIvD,GAAW,GADE,EADG,EAAM,GADT,OAAO,SAAS,CAAO,IAAI,IAAW,KAAO,GACnB,GAAO,GAAM,GAAK,CAAY,GAAG,GAAK,CAClD,GAAS,GAAoB,CAAY,EAAE,QAAQ,CAC3D,GAAM,CAAQ;CAClC,GACA;EAAC;EAAU;EAAM;EAAK;EAAK;EAAc;EAAoB;CAAQ,CACtE,GAEM,IAAe,OAAO,KAAS,YAAY,IAAO,GAClD,IACL,MAAgB,IAAqB,IAAI,KAAK,IAAI,OAAO,CAAkB,MAAM;CAkElF,OAhEI,IAEF,kBAAC,OAAD;EACC,WAAW,EAAG,4BAIb,wFACA,8EACA,EAAM,mBAAmB,0CACzB,KAAY,+BACb;YATD;GAWC,kBAAC,UAAD;IACC,MAAK;IACL,UAAU;IACV,cAAY,EAAQ;IACV;IACV,eAAe,EAAO,EAAE;IACxB,WAAW,EACV,kHACA,GAAmB,IACnB,wCACA,iDACD;cAEA,kBAAC,IAAD,EAAO,WAAW,MAAS,UAAU,iBAAiB,YAAc,CAAA;GAC7D,CAAA;GACR,kBAAC,GAAD;IACO;IACN,MAAM,MAAS;KAA2B,AAAzB,EAAS,UAAU,GAAU,OAAO,KAAiB,aAAY,EAAa,CAAI,IAAY,MAAc,EAAa,UAAU;IAAM;IAC1J,MAAK;IACL,WAAW,IAAqB,IAAI,YAAY;IAChD,aAAa;IACb,UAAU;IACV,QAAQ;IACR,OAAO;IACO;IACJ;IACV,WAAW,EACV,iHACA,CACD;IACA,GAAI;GACJ,CAAA;GACD,kBAAC,UAAD;IACC,MAAK;IACL,UAAU;IACV,cAAY,EAAQ;IACV;IACV,eAAe,EAAO,CAAC;IACvB,WAAW,EACV,kHACA,GAAmB,IACnB,wCACA,iDACD;cAEA,kBAAC,IAAD,EAAM,WAAW,MAAS,UAAU,iBAAiB,YAAc,CAAA;GAC5D,CAAA;EACJ;MAKN,kBAAC,GAAD;EACO;EACN,MAAM,MAAS;GAA2B,AAAzB,EAAS,UAAU,GAAU,OAAO,KAAiB,aAAY,EAAa,CAAI,IAAY,MAAc,EAAa,UAAU;EAAM;EAC1J,MAAK;EACL,WAAW,IAAqB,IAAI,YAAY;EAChD,aAAa;EACb,UAAU;EACV,QAAQ;EACR,OAAO;EACO;EACJ;EACV,WAAW,EAAG,yBAAyB,CAAS;EAChD,GAAI;CACJ,CAAA;AAEH;AAEA,IAAM,IAAe,EAAM,WAAgD,EAAgB;AAC3F,EAAa,cAAc;;;AC7S3B,IAAM,KAA2C;CAC7C,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACT,GAEM,MAAuB,MACrB,CAAC,KAAc,EAAW,WAAW,IAAU,CAAC,IAE7C,EAAW,KAAK,MACf,OAAO,KAAa,WAEb;CACH,OAAO;CACP,OAAO,GAHI,GAAiB,MAAa,EAGxB,GAAG;AACxB,IAEG,CACV;AAGL,SAAS,GACL,EACI,UAAU,GACV,oBACA,eACA,qBACA,sBAAmB,SACnB,6BAA0B,IAC1B,wBACA,mBAAgB,QAChB,kBACA,YACA,aACA,kBACA,MAAM,GACN,GAAG,KAEP,GACF;CACE,IAAM,EAAE,0BAAuB,EAAe,GACxC,IAAO,EAAuB,GAAU,CAAkB,GAG1D,IAAuB,QAAc,GAAoB,CAAU,GAAG,CAAC,CAAU,CAAC,GAGlF,CAAC,GAAkB,KAAuB,EAC5C,KAAmB,EAAqB,IAAI,SAAS,EACzD,GAGM,IAAuB,MAAuB,KAAA,GAC9C,IAAmB,IAAuB,IAAqB;CAErE,QAAgB;EACZ,IAAM,IAAU;GAAE,UAAU;GAAoB;GAAiB;EAAwB;EAgBzF,AAdI,KACA,OAAO,KAAuB,YAC9B,OAAO,KAAoB,YAC3B,EAAmB,KAAK,MAAM,MAC9B,EAAgB,KAAK,MAAM,MAC3B,MAAuB,KAMvB,IAAgB,iFAAS,CAAO,GAIhC,MACC,OAAO,KAAqB,YAAY,EAAiB,KAAK,EAAE,WAAW,MAM5E,IAAgB,mFAAS,CAAO;CAExC,GAAG;EAAC;EAAoB;EAAiB;EAAyB;EAAe;CAAgB,CAAC;CAGlG,IAAM,IAAuB,GACxB,MAA+B;EACxB,MAAgB,SACf,KACD,EAAoB,CAAW,GAEnC,IAAmB,CAAW;CAClC,GACA,CAAC,GAAsB,CAAgB,CAC3C,GAKM,IAAmB,QAEjB,EACI,4CACA,EAAuB,IACvB,iFACA,0GACA,GACA,KAAY,+BAChB,GACJ;EAAC;EAAM;EAAe;CAAQ,CAClC,GAGM,IACF,kBAAC,OAAD;EAAK,WAAU;YAAf,CACK,CAAC,CAAC,KAAiB,kBAAC,GAAD;GAAO,WAAU;aAAa;EAAqB,CAAA,GACvE,kBAAC,GAAD;GACI,OAAO;GACP,gBAAgB,MAAU,EAAqB,CAAK;GACpD,UAAU,KAAY;aAH1B,CAKI,kBAAC,GAAD;IAAsB,gBAAc,KAAW,KAAA;IAAW,WAAW;cACjE,kBAAC,GAAD,EAAoB,aAAa,KAAuB,GAAK,CAAA;GAC3C,CAAA,GACtB,kBAAC,GAAD,EAAA,UACI,kBAAC,GAAD,EAAA,UACK,EAAqB,KAAK,MACvB,kBAAC,GAAD;IAAoC,OAAO,EAAK;cAC3C,EAAK;GACS,GAFK,EAAK,KAEV,CACtB,EACe,CAAA,EACF,CAAA,CACX;IACd;;CAGT,OACI,kBAAC,OAAD;EAAK,WAAW,EAAG,6BAA6B,wBAAwB;YAAxE;GACK,MAAqB,WAAW;GAEjC,kBAAC,OAAD;IAAK,WAAU;cACX,kBAAC,GAAD;KACI,KAAK;KACC;KACN,eAAe;KACf,eAAe;KACL;KACD;KACT,GAAI;IACP,CAAA;GACA,CAAA;GAEJ,MAAqB,SAAS;EAC9B;;AAEb;AAIA,IAAa,IAAgB,EAAK,EAAiD,EAAiB,CAAC;AACrG,EAAc,cAAc;;;ACnM5B,IAAM,KAAqC,CAAC,OAAO,KAAK,GAE3C,IAAa,EAA8C,SACpE,EAAE,gBAAa,IAAoB,qBAAkB,aAAU,oBAAiB,GAAG,KACnF,GACF;CAQE,OACI,kBAAC,GAAD;EAAe,WAAU;EAChB;EACO;EACF;EACO;EACjB,kBAbqB,GACxB,MAAyB;GACtB,IAAmB,CAAY;EACnC,GACA,CAAC,CAAgB,CASK;EAClB,GAAI;CACP,CAAA;AAET,CAAC;AAED,EAAW,cAAc;;;ACwCzB,SAAgB,EAAU,EACzB,aACA,UACA,eACA,aACA,SACA,UACA,eACA,YACA,gBACkB;CAClB,IAAM,IAAW,EAAQ,GACnB,IAAiB,KAAS,MAAgB,IAAkB,KAAA,IAAP,IACrD,IAAiB,EAAQ,GACzB,IAAmB,KAAc,GACjC,IAAc,EAAM,MAAM,GAC1B,IACL,EAAM,eAAe,CAAQ,IACzB,EAAS,MAA0B,KACpC,KAAA,GACE,IAAkB,KAAW,MAAY,KAAS,EAAM,eAAe,CAAQ,IAAI,cAAc,MAAgB,KAAA,IACjH,IACL,KAAmB,EAAM,eAAe,CAAQ,KAAK,CAAC,IACnD,EAAM,aAAa,GAAiD,EAAE,IAAI,EAAgB,CAAC,IAC3F;CAEJ,OACC,kBAAC,OAAD;EAAK,WAAW,EAAG,yBAAyB,aAAa,CAAS;YAAlE;GACE,CAAC,CAAC,KACF,kBAAC,GAAD;IAAO,SAAS;IAAiB,WAAU;cAA3C,CACE,GACA,CAAC,CAAC,KACF,kBAAC,QAAD;KAAM,WAAU;eAAwB;IAAO,CAAA,CAE1C;;GAGP;GAEA,CAAC,CAAC,KACF,kBAAC,GAAD;IACC,KAAI;IACJ,MAAK;IACL,MAAM,IAAW,UAAU;IAC3B,GAAK,IAAW;KAAE,MAAM;KAAS,aAAa;IAAS,IAAI,CAAC;cAE3D;GACI,CAAA;EAEH;;AAEP;AAoBA,SAAgB,GAGd,EACD,SACA,YACA,UACA,OAAO,GACP,aACA,GAAG,KAC8C;CACjD,OACC,kBAAC,IAAD;EACO;EACG;EACF;EACP,SAAS,EAAE,UAAO,oBAAiB;GAClC,IAAM,IAAkB,EAAW,OAAO,YACrC,EAAW,QAAS,EAAW,MAAM,SAAS,aAAc,EAAY,QAAQ,GAAG,EAAY,MAAM,gBAAgB,2BAA4B,kBAAmB,KAAA,IACnK,IAAgB,IAAc,CAAI,KAAK,KAAmB,KAAA,GAC1D,IAAU,EAAQ;GAExB,OACC,kBAAC,GAAD;IAAW,GAAI;IAAa,OAAO;IAAe,SAAS;cACzD,EAAS,GAAO,GAAe,GAAS,CAAU;GACzC,CAAA;EAEb;CACA,CAAA;AAEH;AAEA,EAAU,cAAc,aACxB,GAAoB,cAAc;;;AC1JlC,IAAM,KAA8C;CACnD,MAAM;EACL,SAAS;EACT,UAAU;EACV,WAAW;EACX,OAAO;EACP,OAAO;CACR;CACA,SAAS;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX,OAAO;EACP,OAAO;CACR;CACA,OAAO;EACN,SAAS;EACT,UAAU;EACV,WAAW;EACX,OAAO;EACP,OAAO;CACR;CACA,SAAS;EACR,SAAS;EACT,UAAU;EACV,WAAW;EACX,OAAO;EACP,OAAO;CACR;AACD,GAEM,KAAqD;CAC1D,MAAM;CACN,SAAS;CACT,OAAO;CACP,SAAS;AACV;AAEA,SAAS,GAAc,EAAE,WAA0B;CAClD,OAAO,EAAM,cAAc,QAAQ,EAAE,yBAAyB,EAAE,QAAQ,EAAK,EAAE,CAAC;AACjF;AAEA,SAAgB,GAAmB,EAClC,UAAO,QACP,iBAAc,IACd,UACA,YACA,cACA,aACA,YAAS,IACT,sBAAmB,wBACnB,gBAC2B;CAC3B,IAAM,IAAO,GAAM,IACb,IAAgB,GAAM,IACtB,IAAgB,EAAM,cACrB,EAAa,MAAY,OAAO,KAAa,WAAW,IAAW,GAAG,GAC5E,CAAC,GAAU,CAAO,CACnB,GACM,IAAW,CAAC,CAAC;CAEnB,OACC,kBAAC,OAAD;EACC,MAAK;EACL,WAAW,EAAG,kCACb,6DACA,4DACA,EAAK,SACL,CACD;YAPD;GASC,kBAAC,QAAD;IACC,eAAY;IACZ,WAAW,EACV,+EACA,EAAK,UACL,EAAK,SACN;cAEA,kBAAC,GAAD,EAAe,WAAU,SAAU,CAAA;GAC9B,CAAA;GAEN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,KACA,kBAAC,GAAD;KACC,KAAI;KACJ,QAAO;KACP,WAAU;eAET;IACI,CAAA,GAEP,kBAAC,GAAD;KACC,KAAI;KACJ,MAAM,IAAW,cAAc;KAC/B,WAAW,EAAG,4BAA4B,KAAY,QAAQ;eAH/D,CAKE,CAAC,CAAC,KAAU,kBAAC,IAAD,EAAe,MAAM,EAAgB,CAAA,GACjD,CAAC,MAAW,KAAW,EACnB;MACF;;GAEJ,CAAC,CAAC,KACF,kBAAC,GAAD;IACC,MAAK;IACL,SAAQ;IACR,aAAY;IACZ,MAAK;IACL,cAAY;IACZ,SAAS;IACT,WAAW,EACV,8FACA,8EACA,EAAK,KACN;cAEA,kBAAC,IAAD,EAAG,WAAU,SAAU,CAAA;GAChB,CAAA;EAEL;;AAEP;AAEA,GAAmB,cAAc;;;ACxJjC,SAAgB,GAAmB,EAAE,gBAAsC;CAC1E,IAAM,IAAY,EAAM;CAExB,OACC,kBAAC,OAAD;EACC,WAAW,EAAG,kCAAkC,CAAS;EACzD,MAAK;EACL,QAAO;EACP,eAAY;YAJb,CAMC,kBAAC,QAAD,EAAA,UACC,kBAAC,WAAD;GACC,IAAI;GACJ,GAAE;GACF,GAAE;GACF,OAAM;GACN,QAAO;GACP,cAAa;aAEb,kBAAC,QAAD;IACC,GAAE;IACF,QAAO;IACP,aAAY;IACZ,eAAc;IACd,cAAa;GACb,CAAA;EACO,CAAA,EACJ,CAAA,GACN,kBAAC,QAAD;GACC,QAAO;GACP,MAAM,QAAQ,EAAU;GACxB,OAAM;GACN,QAAO;EACP,CAAA,CACG;;AAEP;AAEA,GAAmB,cAAc;;;ACzCjC,SAAgB,GAAO,EAAE,SAAM,aAAU,cAAW,QAAqB;CAGxE,OAFI,IAAa,IACb,KACG;AACR;AAEA,GAAO,cAAc;;;ACGrB,IAAa,KAAoD;CAChE,aAAa;CACb,YAAY;AACb;AAUA,SAAgB,GAAc,EAC7B,YACA,aACA,cACA,cACA,SAAS,KACa;CACtB,IAAM,IAAU,EAAW,IAA6B,CAAW;CAEnE,OACC,kBAAC,OAAD;EACC,MAAK;EACL,WAAW,EAAG,6BACb,6FACA,CACD;YALD,CAOC,kBAAC,QAAD;GACC,eAAY;GACZ,WAAU;aAEV,kBAAC,IAAD,EAAa,WAAU,SAAU,CAAA;EAC5B,CAAA,GACN,kBAAC,OAAD;GAAK,WAAU;aAAf,CACC,kBAAC,GAAD;IAAM,QAAO;IAAS,WAAU;cAC9B;GACI,CAAA,GACN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACC,kBAAC,QAAD;KAAM,WAAU;eAAhB;MACC,kBAAC,IAAD;OAAW,WAAU;OAAS,eAAY;MAAQ,CAAA;MAClD,kBAAC,QAAD,EAAA,UAAO,EAAQ,YAAkB,CAAA;MACjC,kBAAC,QAAD;OAAM,WAAU;iBAA+C;MAAe,CAAA;KACzE;QACN,kBAAC,QAAD;KAAM,WAAU;eAAhB;MACC,kBAAC,IAAD;OAAO,WAAU;OAAS,eAAY;MAAQ,CAAA;MAC9C,kBAAC,QAAD,EAAA,UAAO,EAAQ,WAAiB,CAAA;MAChC,kBAAC,QAAD;OAAM,WAAU;iBAA+C;MAAgB,CAAA;KAC1E;MACF;KACD;IACD;;AAEP;AAEA,GAAc,cAAc;;;AC7D5B,SAAgB,GAAe,EAAE,aAAU,gBAAkC;CAC5E,OACC,kBAAC,QAAD;EACC,WAAW,EAAG,8BACb,2EACA,wBACA,CACD;EAEC;CACI,CAAA;AAER;AAEA,GAAe,cAAc;;;ACuB7B,IAAM,IAAsC;CAC3C;CACA;CACA;CACA;CACA;AACD,GAEM,KAA8D;CACnE,OAAO;CACP,SAAS;CACT,WAAW;CACX,MAAM;CACN,SAAS;CACT,SAAS;CACT,aAAa;AACd;AAEA,SAAS,GAAY,GAAc,IAAU,IAAe;CAC3D,IAAM,IAAQ,EAAK,KAAK,EAAE,MAAM,KAAK;CAIrC,OAHI,EAAM,WAAW,IAAU,MAC3B,IAAgB,EAAM,GAAG,MAAM,GAAG,CAAC,EAAE,YAAY,IACjD,EAAM,WAAW,IAAU,EAAM,GAAG,MAAM,GAAG,CAAC,EAAE,YAAY,KACxD,EAAM,GAAG,KAAK,EAAM,EAAM,SAAS,GAAG,IAAI,YAAY;AAC/D;AAEA,SAAS,GAAiB,GAAuB,GAAuC;CAQvF,OAPI,OAAO,KAAa,WAChB,IAEJ,OAAO,KAAa,WAChB,EAAe,KAAK,IAAI,CAAQ,IAAI,EAAe,UAGpD,GADK,OAAO,KAAS,WAAW,IAAO,MAAM,KAAK,CAAI,EAAE,QAAQ,GAAG,MAAM,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,KAC1E,EAAe;AAC5C;AAEA,SAAS,GAA4B,GAAmE;CAGvG,OAFI,MAAS,WAAW,MAAS,YAAkB,IAC/C,MAAS,QAAQ,MAAS,OAAa,UACpC;AACR;AAEA,SAAgB,GAAe,EAC9B,UACA,SAAM,GACN,UAAO,WACP,cACA,kBAAe,IACf,sBACA,sBACuB;CACvB,IAAM,IAAU,EAAM,MAAM,GAAG,CAAG,GAC5B,IAAW,KAAK,IAAI,GAAG,EAAM,SAAS,CAAG,GACzC,IAAe,GAA4B,CAAI;CAErD,OACC,kBAAC,GAAD;EAAa,WAAW,EAAG,8BAA8B,CAAS;YAAlE,CACE,EAAQ,KAAK,GAAM,MAAU;GAC7B,IAAM,IAAW,GAAY,EAAK,MAAM,MAAiB,OAAO,GAC1D,IAAe,GAAiB,EAAK,MAAM,EAAK,QAAQ,GAAO,EAAK,IAAI;GAC9E,OACC,kBAAC,GAAD;IAEC,MAAM;IACN,WAAW,EAAG,mBAAmB,CAAe;IAChD,OAAO,EAAK;cAJb,CAME,EAAK,WACL,kBAAC,GAAD;KAAa,KAAK,EAAK;KAAU,KAAK,EAAK;IAAO,CAAA,IAC/C,MACJ,kBAAC,GAAD;KACC,WAAW,EACV,iBACA,GAAyB,EAC1B;eAEC;IACc,CAAA,CACT;MAhBF,EAAK,MAAM,GAAG,EAAK,KAAK,GAAG,GAgBzB;EAEV,CAAC,GACA,CAAC,CAAC,KAAgB,IAAW,KAC7B,kBAAC,GAAD,EAAA,UACC,kBAAC,GAAD;GAAM,MAAK;GAAK,QAAO;aACrB,IAAoB,EAAkB,CAAQ,IAAI,IAAI;EAClD,CAAA,EACW,CAAA,CAEP;;AAEf;AAEA,GAAe,cAAc;;;ACpH7B,IAAa,KAA4C,EACxD,WAAW,IACZ,GA6BM,KAAoH;CACzH,SAAS;EAAE,IAAI;EAAW,MAAM;EAAmB,QAAQ;EAAiB,QAAQ;EAAmB,QAAQ;CAAwB;CACvI,SAAS;EAAE,IAAI;EAAc,MAAM;EAAmB,QAAQ;EAAkB,QAAQ;EAAsB,QAAQ;CAAqB;CAC3I,OAAO;EAAE,IAAI;EAAe,MAAM;EAAmB,QAAQ;EAAiB,QAAQ;EAAmB,QAAQ;CAAwB;CACzI,SAAS;EAAE,IAAI;EAAiB,MAAM;EAAmB,QAAQ;EAAqB,QAAQ;EAAgB,QAAQ;CAAwB;CAC9I,SAAS;EAAE,IAAI;EAAiB,MAAM;EAAmB,QAAQ;EAAqB,QAAQ;EAAgB,QAAQ;CAAwB;CAC9I,SAAS;EAAE,IAAI;EAAiB,MAAM;EAAmB,QAAQ;EAAqB,QAAQ;EAA2B,QAAQ;CAAwB;CACzJ,aAAa;EAAE,IAAI;EAAqB,MAAM;EAAmB,QAAQ;EAAyB,QAAQ;EAAoB,QAAQ;CAAwB;CAC9J,MAAM;EAAE,IAAI;EAAc,MAAM;EAAmB,QAAQ;EAAkB,QAAQ;EAAa,QAAQ;CAAwB;AACnI;AAEA,SAAS,GAAY,GAAqC;CAGzD,OAFI,aAAiB,OAAa,IACI,IAAI,KAAK,CAAK;AAErD;AAEA,SAAgB,GAAU,EACzB,SACA,SACA,WACA,YAAS,WACT,kBACA,UAAO,WACP,UACA,eAAY,IACZ,eAAY,KACZ,mBAAgB,OAChB,iBAAc,OACd,cACA,SAAS,KACS;CAClB,IAAM,IAAW,GAAY,CAAI,GAC3B,IAAU,EAAW,IAAyB,CAAW,GACzD,IAAQ,GAAa,IACrB,IAAY,CAAC,OAAO,MAAM,EAAS,QAAQ,CAAC,GAE5C,IAAU,IAAY,EAAO,GAAU,GAAe,IAAS,EAAE,UAAO,IAAI,KAAA,CAAS,IAAI,IACzF,IAAM,IAAY,EAAO,GAAU,GAAW,IAAS,EAAE,UAAO,IAAI,KAAA,CAAS,IAAI,IACjF,IAAQ,IAAY,EAAO,GAAU,GAAa,IAAS,EAAE,UAAO,IAAI,KAAA,CAAS,IAAI,IAErF,IACL,MAAkB,MAAW,WAAW,WAAW,UAC9C,IAAS,KAAS,MAAW;CAgCnC,OA9BI,MAAW,WAEb,kBAAC,QAAD;EACC,WAAW,EAAG,yBACb,iDACA,KAAU,EAAG,+BAA+B,EAAM,IAAI,EAAM,MAAM,GAClE,CACD;YALD;GAOC,kBAAC,GAAD;IAAM,MAAK;IAAK,QAAO;IAAW,WAAW,EAAG,EAAM,QAAQ,yBAAyB;cACrF;GACI,CAAA;GACN,kBAAC,GAAD;IAAM,QAAO;cAAY;GAAU,CAAA;GAClC,CAAC,CAAC,KACF,kBAAC,GAAD;IAAM,MAAK;IAAK,MAAK;IAAY,WAAU;cACzC;GACI,CAAA;GAEN,CAAC,CAAC,KAAQ,MAA0B,YACpC,kBAAA,GAAA,EAAA,UAAA,CACC,kBAAC,GAAD;IAAM,MAAK;IAAK,MAAK;IAAW,eAAA;cAC9B,EAAQ;GACJ,CAAA,GACN,kBAAC,GAAD;IAAM,MAAK;IAAK,MAAK;cAAa;GAAW,CAAA,CAC5C,EAAA,CAAA;EAEE;MAKP,kBAAC,OAAD;EAAK,WAAW,EAAG,6CAA6C,CAAS;YAAzE;GACC,kBAAC,OAAD;IACC,WAAW,EACV,gEACA,KAAU,EAAG,iDAAiD,EAAM,IAAI,EAAM,MAAM,CACrF;cAJD;KAMC,kBAAC,GAAD;MACC,MAAK;MACL,QAAO;MACP,OAAO,EAAE,YAAY,EAAE;MACvB,WAAW,EAAG,EAAM,QAAQ,0BAA0B;gBAErD;KACI,CAAA;KACN,kBAAC,GAAD;MAAM,MAAK;MAAK,QAAO;MAAO,OAAO,EAAE,YAAY,EAAE;MAAG,WAAW,EAAM;gBACvE;KACI,CAAA;KACL,CAAC,CAAC,KACF,kBAAC,GAAD;MACC,MAAK;MACL,OAAO,EAAE,YAAY,EAAE;MACvB,WAAW,EAAG,EAAM,QAAQ,0BAA0B;gBAErD;KACI,CAAA;IAEH;;GACJ,CAAC,CAAC,KAAQ,MAA0B,WACpC,kBAAC,GAAD;IAAM,MAAK;IAAK,MAAK;IAAY,WAAU;cACzC;GACI,CAAA;GAEN,CAAC,CAAC,KAAQ,MAA0B,YACpC,kBAAC,GAAD;IAAM,MAAK;IAAK,MAAK;IAAY,WAAU;cACzC;GACI,CAAA;EAEH;;AAEP;AAEA,GAAU,cAAc;;;AC5KxB,SAAS,GAAY,EAAE,GAAG,KAA0C;CAClE,OAAO,kBAAC,EAAqB,MAAtB;EAA2B,aAAU;EAAc,GAAI;CAAQ,CAAA;AACxE;AAEA,SAAS,GAAmB,EAC1B,aAAU,IACV,iBACA,WACA,aACA,GAAG,KACkF;CACrF,IAAM,IAAa,IAAU,kBAAC,GAAD,CAAO,CAAA,IAAI,KAAA,GAClC,IAA2D,OAAO,KAAW,eAC7E,GAAa,MAAU;EACzB,IAAM,EAAE,cAAc,GAAe,GAAG,MAAS;EAEjD,OAAO,EAAO,GAA4B,CAAK;CACjD,KACE,GACA,IAAuB;CAC3B,AAAI,KAAW,EAAM,eAAe,CAAQ,MAC1C,AAIE,IAJE,OAAO,EAAS,QAAS,WACJ,EAAS,SAAS,WAGlB,EAAE,WADL,EAAS,SAAS,CAAC;CAI3C,IAAM,IAAuB,MAAiB,IAAU,IAAuB;CAC/E,OACE,kBAAC,EAAqB,SAAtB;EACE,aAAU;EACV,QAAQ,KAAc;EACtB,cAAc;EACd,GAAI;EAEH;CAC2B,CAAA;AAElC;AAEA,SAAS,GAAmB,EAAE,GAAG,KAA2C;CAC1E,OACE,kBAAC,EAAqB,OAAtB;EAA4B,aAAU;EAAsB,GAAI;CAAQ,CAAA;AAE5E;;;ACIA,IAAM,KAAwB,KAExB,MAAoB,MACtB,OAAO,KAAc,WAAW,EAAU,KAAK,IAAI;AAEvD,SAAgB,GAAW,EACvB,UACA,cAAW,OACX,iBACA,gBAAgB,GAChB,UACA,SACA,eACA,UACA,aACA,YACA,0BAAuB,IACvB,4BACA,sBAAmB,IACnB,cACA,aACA,qBACA,GAAG,KACa;CAChB,IAAM,IAAiB,KAAsB,GAAO,kBAAkB,KAAA,GAEhE,IAAc,QACV,MAAmB,KAAA,KAAa,MAAmB,GACzD,CAAC,GAAgB,CAAQ,CAC7B,GAEM,IAAiB,QACd,IACE,GAAiB,GAAO,MAAM,SAAS,IADhB,IAE/B,CAAC,GAAkB,GAAO,MAAM,SAAS,CAAC,GAEvC,IAAwB,EAAe,SAAS,KAAK,CAAC,GACtD,IAAqB,KAAe,GAEpC,IAAqB,GACtB,MAA2C;EACxC,IAAW,CAAC;EACZ,IAAM,IAAS,OAAO,WAAW,EAAE,OAAO,KAAK;EAE/C,IAAe;GAAE,QADE,OAAO,SAAS,CAAM,IAAI,IAAS;GACjB;EAAS,CAAC;CACnD,GACA;EAAC;EAAU;EAAc;CAAQ,CACrC,GAEM,IAAuB,GACxB,MAA+B;EAC5B,IAAmB,CAAY;EAC/B,IAAM,IAAc,OAAO,WAAW,OAAO,EAAM,SAAS,EAAE,CAAC;EAE/D,IAAe;GAAE,QADE,OAAO,SAAS,CAAW,IAAI,IAAc;GAC3B,UAAU;EAAa,CAAC;CACjE,GACA;EAAC;EAAkB;EAAc,EAAM;CAAK,CAChD,GAEM,IAAY,KAAW,EAAQ,GAE/B,IACF,kBAAC,GAAD;EACI,GAAI;EACM;EACV,UAAU;EACV,kBAAkB;EAClB,SAAS;CACZ,CAAA,GAIC,IADoB,KAAS,KAAQ,KAAc,KAAS,IAE9D,kBAAC,GAAD;EACW;EACD;EACM;EACL;EACG;YAET;CACM,CAAA,IACX;CAEJ,OACI,kBAAC,OAAD;EAAK,WAAW,EAAG,0BAA0B,aAAa,CAAS;YAAnE;GACK;GAEA,CAAC,CAAC,KACC,kBAAC,OAAD;IAAK,WAAU;cAAf,CACI,kBAAC,IAAD,EAAM,WAAU,uBAAwB,CAAA,GACxC,kBAAC,GAAD;KAAM,MAAK;KAAK,MAAK;eAChB,KAAkB;IACjB,CAAA,CACL;;GAGR,CAAC,CAAC,KACC,kBAAC,GAAD;IAAO,WAAU;cAAjB,CACI,kBAAC,GAAD,EAAe,WAAU,uBAAwB,CAAA,GACjD,kBAAC,GAAD;KAAkB,WAAU;eACvB,KACG,mCAAmC,KAAkB,GAAG,MAAM,EAAS;IAC7D,CAAA,CACf;;EAEV;;AAEb;AAEA,GAAW,cAAc;;;ACnJzB,IAAa,KAA0D;CACtE,MAAM;CACN,OAAO;AACR;AAiBA,SAAgB,GAAiB,EAChC,UACA,WAAQ,IACR,cACA,eACA,cAAW,IACX,iBAAc,WACd,kBAAe,aACf,cACA,mBACA,SAAS,KACgB;CACzB,IAAM,IAAU,EAAW,IAAgC,CAAW,GAChE,IAAS,EAAQ,GACjB,IAAO,IAAS,IAAe,IAC/B,IAAe,IAAS,IAAc,GAEtC,KADW,IAAS,IAAY,OACT,IAAS,EAAQ,OAAO,EAAQ;CAE7D,OACC,kBAAC,OAAD;EACC,WAAW,EAAG,gCACb,uHACA,CACD;YAJD,CAMC,kBAAC,GAAD;GAAM,MAAK;GAAU,MAAK;GAAY,WAAU;aAC9C;EACI,CAAA,GACN,kBAAC,GAAD;GACC,SAAS;GACT,WAAW,EAAG,qBAAqB,CAAc;aAFlD,CAIE,CAAC,CAAC,KAAY,kBAAC,GAAD,EAAM,WAAU,YAAa,CAAA,GAC3C,CACK;IACH;;AAEP;AAEA,GAAiB,cAAc;;;ACzE/B,SAAS,GAAM,EAAE,cAAW,GAAG,KAAsC;CACnE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,gIACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,GAAY,EAAE,cAAW,GAAG,KAAsC;CACzE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,6CACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAM,KAAqB,GACzB,+FACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;CACR,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,SAAS,GAAW,EAClB,cACA,aAAU,WACV,GAAG,KACqE;CACxE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,gBAAc;EACd,WAAW,EAAG,GAAmB;GAAE;GAAS;EAAU,CAAC,CAAC;EACxD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,GAAW,EAAE,cAAW,GAAG,KAAsC;CACxE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,sCAAsC,CAAS;EAC7D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,GAAiB,EAAE,cAAW,GAAG,KAAoC;CAC5E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,2GACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,GAAa,EAAE,cAAW,GAAG,KAAsC;CAC1E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,iFACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;;;AC1FA,SAAS,GAAS,EAChB,cACA,aACA,UACA,GAAG,KAC4B;CAC/B,OACE,kBAAC,EAAkB,MAAnB;EACS;EACP,aAAU;EACV,WAAW,EAAG,wBAAwB,CAAS;EAC/C,GAAI;YAJN,CAMG,GACD,kBAAC,IAAD,EAAA,UACE,kBAAC,IAAD,CAAoB,CAAA,EACP,CAAA,CACO;;AAE5B;AAEA,SAAS,GAAc,EAAE,cAAW,GAAG,KAAwC;CAC7E,OACE,kBAAC,EAAkB,OAAnB;EACE,WAAW,EACT,mFACA,CACF;EACA,aAAU;EACV,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,GAAkB,EACzB,cACA,GAAG,KACiC;CACpC,OACE,kBAAC,EAAkB,WAAnB;EACE,aAAU;EACV,WAAW,EAAG,oCAAoC,CAAS;EAC3D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,GAAc,EAAE,cAAW,GAAG,KAAwC;CAC7E,OACE,kBAAC,EAAkB,OAAnB;EACE,WAAW,EAAG,uBAAuB,CAAS;EAC9C,aAAU;EACV,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,GAAc,EAAE,cAAW,GAAG,KAAwC;CAC7E,OACE,kBAAC,EAAkB,OAAnB;EACE,WAAW,EAAG,sDAAsD,CAAS;EAC7E,aAAU;EACV,GAAI;CACL,CAAA;AAEL;;;ACxDA,IAAM,KAAa;AAEnB,SAAS,GAAS,GAAe,GAAoC;CACpE,IAAM,IAAa,EAAM,MAAM,EAAU;CAMzC,OAJK,IAIE;EACN,GAAG,OAAO,WAAW,EAAW,EAAE;EAClC,GAAG,OAAO,WAAW,EAAW,EAAE;EAClC,GAAG,OAAO,WAAW,EAAW,EAAE;CACnC,IAPQ;EAAE,GAAG,EAAS;EAAI,GAAG,EAAS;EAAI,GAAG,EAAS;CAAG;AAQ1D;AAEA,SAAgB,EAAO,EACtB,SACA,eACA,eACA,gBAAa,KACb,cACA,GAAG,KACY;CACf,IAAM,CAAC,GAAK,KAAU,EAAwB,IAAI;CAoDlD,OAlDA,QAAgB;EA2Cf,aA1C+B;GAC9B,IAAI;IACH,IAAM,IAAO,OAAO,KAAQ,EAAE,EAAE,KAAK;IACrC,IAAI,CAAC,GAAM;KACV,EAAO,IAAI;KACX;IACD;IAEA,IAAM,IAAS,iBAAiB,SAAS,eAAe,GAClD,IACL,KAAc,EAAO,iBAAiB,cAAc,GAC/C,IACL,KAAc,EAAO,iBAAiB,cAAc,GAE/C,IAAkB,GAAS,GAAiB;KACjD;KAAM;KAAO;IACd,CAAC,GACK,IAAkB,GAAS,GAAiB;KAAC;KAAO;KAAG;IAAC,CAAC;IAiB/D,EAAO,MAfc,GAAG,SAAS,GAAM;KACtC,MAAM;KACN,OAAO;MACN,MAAM,EACL,EAAM;OAAE,MAAM;OAAS,GAAG;MAAgB,CAAC,CAC5C;MACA,OAAO,EACN,EAAM;OAAE,MAAM;OAAS,GAAG;MAAgB,CAAC,CAC5C;KACD;KACA,OAAO;KACP,sBAAsB;KACtB,QAAQ;IACT,CAAC,CAEY;GACd,QAAQ;IAGP,EAAO,EAAE;GACV;EACD,GAEgB;CACjB,GAAG;EAAC;EAAM;EAAY;EAAY;CAAU,CAAC,GAExC,IAKJ,kBAAC,OAAD;EACC,WAAW,EAAG,sBAAsB,aAAa,qBAAqB,CAAS;EAC/E,yBAAyB,EAAE,QAAQ,EAAI;EACvC,GAAI;CACJ,CAAA,IARM;AAUT;AAIA,EAAO,cAAc"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/utils.cjs");let n=require("react");n=e.t(n,1);let r=require("react/jsx-runtime"),i=require("lucide-react"),a=require("@base-ui/react/menu");function o({...e}){return(0,r.jsx)(a.Menu.Root,{"data-slot":`dropdown-menu`,...e})}function s({...e}){return(0,r.jsx)(a.Menu.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function c({...e}){return(0,r.jsx)(a.Menu.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function l({align:e=`start`,alignOffset:n=0,side:i=`bottom`,sideOffset:o=4,className:s,...c}){return(0,r.jsx)(a.Menu.Portal,{children:(0,r.jsx)(a.Menu.Positioner,{className:`isolate z-50 outline-none`,align:e,alignOffset:n,side:i,sideOffset:o,children:(0,r.jsx)(a.Menu.Popup,{"data-slot":`dropdown-menu-content`,className:t.cn(`dark z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95`,s),...c})})})}function u({...e}){return(0,r.jsx)(a.Menu.Group,{"data-slot":`dropdown-menu-group`,...e})}function d({className:e,inset:n,...i}){return(0,r.jsx)(a.Menu.GroupLabel,{"data-slot":`dropdown-menu-label`,"data-inset":n,className:t.cn(`px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8`,e),...i})}function f({className:e,inset:n,variant:i=`default`,...o}){return(0,r.jsx)(a.Menu.Item,{"data-slot":`dropdown-menu-item`,"data-inset":n,"data-variant":i,className:t.cn(`group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...o})}function p({className:e,inset:n,variant:i=`default`,...o}){return(0,r.jsx)(a.Menu.LinkItem,{"data-slot":`dropdown-menu-link-item`,"data-inset":n,"data-variant":i,className:t.cn(`group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...o})}function m({...e}){return(0,r.jsx)(a.Menu.SubmenuRoot,{"data-slot":`dropdown-menu-sub`,...e})}function h({className:e,inset:n,children:o,...s}){return(0,r.jsxs)(a.Menu.SubmenuTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":n,className:t.cn(`flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...s,children:[o,(0,r.jsx)(i.ChevronRightIcon,{className:`ml-auto`})]})}function g({align:e=`start`,alignOffset:n=-3,side:i=`right`,sideOffset:a=0,className:o,...s}){return(0,r.jsx)(l,{"data-slot":`dropdown-menu-sub-content`,className:t.cn(`dark w-auto min-w-[96px] rounded-md bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,o),align:e,alignOffset:n,side:i,sideOffset:a,...s})}function _({className:e,children:n,checked:o,inset:s,...c}){return(0,r.jsxs)(a.Menu.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,"data-inset":s,className:t.cn(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:o,...c,children:[(0,r.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-checkbox-item-indicator`,children:(0,r.jsx)(a.Menu.CheckboxItemIndicator,{children:(0,r.jsx)(i.CheckIcon,{})})}),n]})}function v({...e}){return(0,r.jsx)(a.Menu.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function y({className:e,children:n,inset:o,...s}){return(0,r.jsxs)(a.Menu.RadioItem,{"data-slot":`dropdown-menu-radio-item`,"data-inset":o,className:t.cn(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...s,children:[(0,r.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-radio-item-indicator`,children:(0,r.jsx)(a.Menu.RadioItemIndicator,{children:(0,r.jsx)(i.CheckIcon,{})})}),n]})}function b({className:e,...n}){return(0,r.jsx)(a.Menu.Separator,{"data-slot":`dropdown-menu-separator`,className:t.cn(`-mx-1 my-1 h-px bg-border`,e),...n})}function x({className:e,...n}){return(0,r.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:t.cn(`ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground`,e),...n})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return y}});
|
|
2
|
-
//# sourceMappingURL=dropdown-menu-CHQzQWUK.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu-CHQzQWUK.cjs","names":[],"sources":["../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Menu as MenuPrimitive } from \"@base-ui/react/menu\"\n\nimport { cn } from \"@/lib/utils\"\nimport { ChevronRightIcon, CheckIcon } from \"lucide-react\"\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n return <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) {\n return <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n}\n\nfunction DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) {\n return <MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />\n}\n\nfunction DropdownMenuContent({\n align = \"start\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n className,\n ...props\n}: MenuPrimitive.Popup.Props &\n Pick<\n MenuPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner\n className=\"isolate z-50 outline-none\"\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <MenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\"dark z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n return <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: MenuPrimitive.GroupLabel.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.GroupLabel\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: MenuPrimitive.Item.Props & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <MenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuLinkItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: MenuPrimitive.LinkItem.Props & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <MenuPrimitive.LinkItem\n data-slot=\"dropdown-menu-link-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n return <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </MenuPrimitive.SubmenuTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n align = \"start\",\n alignOffset = -3,\n side = \"right\",\n sideOffset = 0,\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n return (\n <DropdownMenuContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\"dark w-auto min-w-[96px] rounded-md bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: MenuPrimitive.CheckboxItem.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <MenuPrimitive.CheckboxItemIndicator>\n <CheckIcon\n />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n return (\n <MenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: MenuPrimitive.RadioItem.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <MenuPrimitive.RadioItemIndicator>\n <CheckIcon\n />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: MenuPrimitive.Separator.Props) {\n return (\n <MenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuLinkItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n"],"mappings":"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"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { cn as e } from "../lib/utils.js";
|
|
2
|
-
import "react";
|
|
3
|
-
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
4
|
-
import { CheckIcon as r, ChevronRightIcon as i } from "lucide-react";
|
|
5
|
-
import { Menu as a } from "@base-ui/react/menu";
|
|
6
|
-
//#region src/components/ui/dropdown-menu.tsx
|
|
7
|
-
function o({ ...e }) {
|
|
8
|
-
return /* @__PURE__ */ t(a.Root, {
|
|
9
|
-
"data-slot": "dropdown-menu",
|
|
10
|
-
...e
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
function s({ ...e }) {
|
|
14
|
-
return /* @__PURE__ */ t(a.Portal, {
|
|
15
|
-
"data-slot": "dropdown-menu-portal",
|
|
16
|
-
...e
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
function c({ ...e }) {
|
|
20
|
-
return /* @__PURE__ */ t(a.Trigger, {
|
|
21
|
-
"data-slot": "dropdown-menu-trigger",
|
|
22
|
-
...e
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
function l({ align: n = "start", alignOffset: r = 0, side: i = "bottom", sideOffset: o = 4, className: s, ...c }) {
|
|
26
|
-
return /* @__PURE__ */ t(a.Portal, { children: /* @__PURE__ */ t(a.Positioner, {
|
|
27
|
-
className: "isolate z-50 outline-none",
|
|
28
|
-
align: n,
|
|
29
|
-
alignOffset: r,
|
|
30
|
-
side: i,
|
|
31
|
-
sideOffset: o,
|
|
32
|
-
children: /* @__PURE__ */ t(a.Popup, {
|
|
33
|
-
"data-slot": "dropdown-menu-content",
|
|
34
|
-
className: e("dark z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95", s),
|
|
35
|
-
...c
|
|
36
|
-
})
|
|
37
|
-
}) });
|
|
38
|
-
}
|
|
39
|
-
function u({ ...e }) {
|
|
40
|
-
return /* @__PURE__ */ t(a.Group, {
|
|
41
|
-
"data-slot": "dropdown-menu-group",
|
|
42
|
-
...e
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
function d({ className: n, inset: r, ...i }) {
|
|
46
|
-
return /* @__PURE__ */ t(a.GroupLabel, {
|
|
47
|
-
"data-slot": "dropdown-menu-label",
|
|
48
|
-
"data-inset": r,
|
|
49
|
-
className: e("px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8", n),
|
|
50
|
-
...i
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
function f({ className: n, inset: r, variant: i = "default", ...o }) {
|
|
54
|
-
return /* @__PURE__ */ t(a.Item, {
|
|
55
|
-
"data-slot": "dropdown-menu-item",
|
|
56
|
-
"data-inset": r,
|
|
57
|
-
"data-variant": i,
|
|
58
|
-
className: e("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", n),
|
|
59
|
-
...o
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
function p({ className: n, inset: r, variant: i = "default", ...o }) {
|
|
63
|
-
return /* @__PURE__ */ t(a.LinkItem, {
|
|
64
|
-
"data-slot": "dropdown-menu-link-item",
|
|
65
|
-
"data-inset": r,
|
|
66
|
-
"data-variant": i,
|
|
67
|
-
className: e("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", n),
|
|
68
|
-
...o
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
function m({ ...e }) {
|
|
72
|
-
return /* @__PURE__ */ t(a.SubmenuRoot, {
|
|
73
|
-
"data-slot": "dropdown-menu-sub",
|
|
74
|
-
...e
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
function h({ className: r, inset: o, children: s, ...c }) {
|
|
78
|
-
return /* @__PURE__ */ n(a.SubmenuTrigger, {
|
|
79
|
-
"data-slot": "dropdown-menu-sub-trigger",
|
|
80
|
-
"data-inset": o,
|
|
81
|
-
className: e("flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", r),
|
|
82
|
-
...c,
|
|
83
|
-
children: [s, /* @__PURE__ */ t(i, { className: "ml-auto" })]
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
function g({ align: n = "start", alignOffset: r = -3, side: i = "right", sideOffset: a = 0, className: o, ...s }) {
|
|
87
|
-
return /* @__PURE__ */ t(l, {
|
|
88
|
-
"data-slot": "dropdown-menu-sub-content",
|
|
89
|
-
className: e("dark w-auto min-w-[96px] rounded-md bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", o),
|
|
90
|
-
align: n,
|
|
91
|
-
alignOffset: r,
|
|
92
|
-
side: i,
|
|
93
|
-
sideOffset: a,
|
|
94
|
-
...s
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
function _({ className: i, children: o, checked: s, inset: c, ...l }) {
|
|
98
|
-
return /* @__PURE__ */ n(a.CheckboxItem, {
|
|
99
|
-
"data-slot": "dropdown-menu-checkbox-item",
|
|
100
|
-
"data-inset": c,
|
|
101
|
-
className: e("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", i),
|
|
102
|
-
checked: s,
|
|
103
|
-
...l,
|
|
104
|
-
children: [/* @__PURE__ */ t("span", {
|
|
105
|
-
className: "pointer-events-none absolute right-2 flex items-center justify-center",
|
|
106
|
-
"data-slot": "dropdown-menu-checkbox-item-indicator",
|
|
107
|
-
children: /* @__PURE__ */ t(a.CheckboxItemIndicator, { children: /* @__PURE__ */ t(r, {}) })
|
|
108
|
-
}), o]
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
function v({ ...e }) {
|
|
112
|
-
return /* @__PURE__ */ t(a.RadioGroup, {
|
|
113
|
-
"data-slot": "dropdown-menu-radio-group",
|
|
114
|
-
...e
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
function y({ className: i, children: o, inset: s, ...c }) {
|
|
118
|
-
return /* @__PURE__ */ n(a.RadioItem, {
|
|
119
|
-
"data-slot": "dropdown-menu-radio-item",
|
|
120
|
-
"data-inset": s,
|
|
121
|
-
className: e("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", i),
|
|
122
|
-
...c,
|
|
123
|
-
children: [/* @__PURE__ */ t("span", {
|
|
124
|
-
className: "pointer-events-none absolute right-2 flex items-center justify-center",
|
|
125
|
-
"data-slot": "dropdown-menu-radio-item-indicator",
|
|
126
|
-
children: /* @__PURE__ */ t(a.RadioItemIndicator, { children: /* @__PURE__ */ t(r, {}) })
|
|
127
|
-
}), o]
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
function b({ className: n, ...r }) {
|
|
131
|
-
return /* @__PURE__ */ t(a.Separator, {
|
|
132
|
-
"data-slot": "dropdown-menu-separator",
|
|
133
|
-
className: e("-mx-1 my-1 h-px bg-border", n),
|
|
134
|
-
...r
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
function x({ className: n, ...r }) {
|
|
138
|
-
return /* @__PURE__ */ t("span", {
|
|
139
|
-
"data-slot": "dropdown-menu-shortcut",
|
|
140
|
-
className: e("ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground", n),
|
|
141
|
-
...r
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
//#endregion
|
|
145
|
-
export { f as a, s as c, b as d, x as f, c as g, h, u as i, v as l, g as m, _ as n, d as o, m as p, l as r, p as s, o as t, y as u };
|
|
146
|
-
|
|
147
|
-
//# sourceMappingURL=dropdown-menu-CoWmrjYX.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu-CoWmrjYX.js","names":[],"sources":["../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Menu as MenuPrimitive } from \"@base-ui/react/menu\"\n\nimport { cn } from \"@/lib/utils\"\nimport { ChevronRightIcon, CheckIcon } from \"lucide-react\"\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n return <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) {\n return <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n}\n\nfunction DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) {\n return <MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />\n}\n\nfunction DropdownMenuContent({\n align = \"start\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n className,\n ...props\n}: MenuPrimitive.Popup.Props &\n Pick<\n MenuPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner\n className=\"isolate z-50 outline-none\"\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <MenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\"dark z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n return <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: MenuPrimitive.GroupLabel.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.GroupLabel\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: MenuPrimitive.Item.Props & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <MenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuLinkItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: MenuPrimitive.LinkItem.Props & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <MenuPrimitive.LinkItem\n data-slot=\"dropdown-menu-link-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n return <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </MenuPrimitive.SubmenuTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n align = \"start\",\n alignOffset = -3,\n side = \"right\",\n sideOffset = 0,\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n return (\n <DropdownMenuContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\"dark w-auto min-w-[96px] rounded-md bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: MenuPrimitive.CheckboxItem.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <MenuPrimitive.CheckboxItemIndicator>\n <CheckIcon\n />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n return (\n <MenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: MenuPrimitive.RadioItem.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <MenuPrimitive.RadioItemIndicator>\n <CheckIcon\n />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: MenuPrimitive.Separator.Props) {\n return (\n <MenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuLinkItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={small:[`!h-control-sm`,`text-sm`].join(` `),default:[`!h-control`,`text-sm`].join(` `)},t={small:`px-control-sm py-space-xs`,default:`px-control py-space-xs`},n={small:`gap-space-sm`,default:`gap-space-md`},r={small:`size-icon-sm`,default:`size-icon`},i={small:`ps-control-icon-sm`,default:`ps-control-icon`},a={small:`pe-control-icon-sm`,default:`pe-control-icon`},o={small:`ps-control-addon-sm`,default:`ps-control-addon`},s={small:`pe-control-addon-sm`,default:`pe-control-addon`},c={small:`pe-control-count-sm`,default:`pe-control-count`},l={small:`min-h-control-sm`,default:`min-h-control`},u={small:[`min-h-textarea-sm`,`text-sm`].join(` `),default:[`min-h-textarea`,`text-sm`].join(` `)};function d(e,t){return e??t??`default`}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return e}});
|
|
2
|
-
//# sourceMappingURL=form-sizing-DJus3nK3.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-sizing-DJus3nK3.cjs","names":[],"sources":["../../src/components/base/forms/form-sizing.ts"],"sourcesContent":["import type { FormControlSize, FormLabelSize } from '@/lib/ui-provider';\n\n// Important height utilities let our resolved height win against shadcn primitives that\n// bake their own `data-[size=*]:h-{n}` defaults (Select, DatePicker\n// trigger via Button, etc.). Without `!`, the primitive's\n// attribute-selector specificity beats our class-selector and every\n// non-Input field renders 4px taller than Input.\nexport const formControlSizeClasses: Record<FormControlSize, string> = {\n\tsmall: [\n\t\t'!h-control-sm',\n\t\t'text-sm',\n\t].join(' '),\n\tdefault: [\n\t\t'!h-control',\n\t\t'text-sm',\n\t].join(' '),\n};\n\nexport const formControlPaddingClasses: Record<FormControlSize, string> = {\n\tsmall: 'px-control-sm py-space-xs',\n\tdefault: 'px-control py-space-xs',\n};\n\nexport const formControlInlineGapClasses: Record<FormControlSize, string> = {\n\tsmall: 'gap-space-sm',\n\tdefault: 'gap-space-md',\n};\n\nexport const formControlIconClasses: Record<FormControlSize, string> = {\n\tsmall: 'size-icon-sm',\n\tdefault: 'size-icon',\n};\n\nexport const formControlIconOffsetClasses: Record<FormControlSize, string> = {\n\tsmall: 'ps-control-icon-sm',\n\tdefault: 'ps-control-icon',\n};\n\nexport const formControlEndIconOffsetClasses: Record<FormControlSize, string> = {\n\tsmall: 'pe-control-icon-sm',\n\tdefault: 'pe-control-icon',\n};\n\nexport const formControlAddonOffsetClasses: Record<FormControlSize, string> = {\n\tsmall: 'ps-control-addon-sm',\n\tdefault: 'ps-control-addon',\n};\n\nexport const formControlEndAddonOffsetClasses: Record<FormControlSize, string> = {\n\tsmall: 'pe-control-addon-sm',\n\tdefault: 'pe-control-addon',\n};\n\nexport const formControlCountOffsetClasses: Record<FormControlSize, string> = {\n\tsmall: 'pe-control-count-sm',\n\tdefault: 'pe-control-count',\n};\n\n/**\n * Min-heights matching `formControlSizeClasses` so multi-line trigger\n * variants (e.g. `RichSelect` showing wrapped descriptions) can keep the\n * size's vertical rhythm without locking to a fixed `h-{n}`.\n */\nexport const formControlMinHeightClasses: Record<FormControlSize, string> = {\n\tsmall: 'min-h-control-sm',\n\tdefault: 'min-h-control',\n};\n\n/**\n * Canonical \"input-shaped trigger\" chrome — used by any control that\n * renders as a button-style trigger but visually has to read as a form\n * field (DatePicker, TimePicker, the inner Select inside composite\n * fields, etc.). Mirrors `Input`'s `border-input rounded-md\n * bg-transparent focus-visible:ring` chrome (no shadow — the library\n * is intentionally flat) plus the size-driven height + horizontal\n * padding.\n *\n * Kept here so the chrome lives in exactly one place — when we tweak\n * the canonical input look, every trigger picks it up.\n */\nexport function formFieldTriggerClasses(size: FormControlSize): string {\n\treturn [\n\t\t'flex w-full items-center justify-between',\n\t\t'rounded-radius border border-input bg-transparent text-left font-normal',\n\t\t'shadow-none transition-[color,box-shadow] outline-none',\n\t\tformControlSizeClasses[size],\n\t\tformControlPaddingClasses[size],\n\t\tformControlInlineGapClasses[size],\n\t\t'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n\t\t'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n\t\t'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n\t\t'hover:bg-transparent',\n\t].join(' ');\n}\n\nexport const formTextareaSizeClasses: Record<FormControlSize, string> = {\n\tsmall: [\n\t\t'min-h-textarea-sm',\n\t\t'text-sm',\n\t].join(' '),\n\tdefault: [\n\t\t'min-h-textarea',\n\t\t'text-sm',\n\t].join(' '),\n};\n\nexport const formLabelSizeClasses: Record<FormLabelSize, string> = {\n\tsmall: 'text-sm',\n\tdefault: 'text-sm',\n};\n\nexport function resolveFormControlSize(\n\tsizeProp: FormControlSize | undefined,\n\tdefaultControlSize: FormControlSize | undefined,\n): FormControlSize {\n\treturn sizeProp ?? defaultControlSize ?? 'default';\n}\n\nexport function resolveFormLabelSize(\n\tsizeProp: FormLabelSize | undefined,\n\tdefaultLabelSize: FormLabelSize | undefined,\n): FormLabelSize {\n\treturn sizeProp ?? defaultLabelSize ?? 'default';\n}\n"],"mappings":"AAOA,IAAa,EAA0D,CACtE,MAAO,CACN,gBACA,SACD,EAAE,KAAK,GAAG,EACV,QAAS,CACR,aACA,SACD,EAAE,KAAK,GAAG,CACX,EAEa,EAA6D,CACzE,MAAO,4BACP,QAAS,wBACV,EAEa,EAA+D,CAC3E,MAAO,eACP,QAAS,cACV,EAEa,EAA0D,CACtE,MAAO,eACP,QAAS,WACV,EAEa,EAAgE,CAC5E,MAAO,qBACP,QAAS,iBACV,EAEa,EAAmE,CAC/E,MAAO,qBACP,QAAS,iBACV,EAEa,EAAiE,CAC7E,MAAO,sBACP,QAAS,kBACV,EAEa,EAAoE,CAChF,MAAO,sBACP,QAAS,kBACV,EAEa,EAAiE,CAC7E,MAAO,sBACP,QAAS,kBACV,EAOa,EAA+D,CAC3E,MAAO,mBACP,QAAS,eACV,EA6Ba,EAA2D,CACvE,MAAO,CACN,oBACA,SACD,EAAE,KAAK,GAAG,EACV,QAAS,CACR,iBACA,SACD,EAAE,KAAK,GAAG,CACX,EAOA,SAAgB,EACf,EACA,EACkB,CAClB,OAAO,GAAY,GAAsB,SAC1C"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
//#region src/components/base/forms/form-sizing.ts
|
|
2
|
-
var e = {
|
|
3
|
-
small: ["!h-control-sm", "text-sm"].join(" "),
|
|
4
|
-
default: ["!h-control", "text-sm"].join(" ")
|
|
5
|
-
}, t = {
|
|
6
|
-
small: "px-control-sm py-space-xs",
|
|
7
|
-
default: "px-control py-space-xs"
|
|
8
|
-
}, n = {
|
|
9
|
-
small: "gap-space-sm",
|
|
10
|
-
default: "gap-space-md"
|
|
11
|
-
}, r = {
|
|
12
|
-
small: "size-icon-sm",
|
|
13
|
-
default: "size-icon"
|
|
14
|
-
}, i = {
|
|
15
|
-
small: "ps-control-icon-sm",
|
|
16
|
-
default: "ps-control-icon"
|
|
17
|
-
}, a = {
|
|
18
|
-
small: "pe-control-icon-sm",
|
|
19
|
-
default: "pe-control-icon"
|
|
20
|
-
}, o = {
|
|
21
|
-
small: "ps-control-addon-sm",
|
|
22
|
-
default: "ps-control-addon"
|
|
23
|
-
}, s = {
|
|
24
|
-
small: "pe-control-addon-sm",
|
|
25
|
-
default: "pe-control-addon"
|
|
26
|
-
}, c = {
|
|
27
|
-
small: "pe-control-count-sm",
|
|
28
|
-
default: "pe-control-count"
|
|
29
|
-
}, l = {
|
|
30
|
-
small: "min-h-control-sm",
|
|
31
|
-
default: "min-h-control"
|
|
32
|
-
}, u = {
|
|
33
|
-
small: ["min-h-textarea-sm", "text-sm"].join(" "),
|
|
34
|
-
default: ["min-h-textarea", "text-sm"].join(" ")
|
|
35
|
-
};
|
|
36
|
-
function d(e, t) {
|
|
37
|
-
return e ?? t ?? "default";
|
|
38
|
-
}
|
|
39
|
-
//#endregion
|
|
40
|
-
export { r as a, l as c, u as d, d as f, a as i, t as l, c as n, i as o, s as r, n as s, o as t, e as u };
|
|
41
|
-
|
|
42
|
-
//# sourceMappingURL=form-sizing-DWjJsQSR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-sizing-DWjJsQSR.js","names":[],"sources":["../../src/components/base/forms/form-sizing.ts"],"sourcesContent":["import type { FormControlSize, FormLabelSize } from '@/lib/ui-provider';\n\n// Important height utilities let our resolved height win against shadcn primitives that\n// bake their own `data-[size=*]:h-{n}` defaults (Select, DatePicker\n// trigger via Button, etc.). Without `!`, the primitive's\n// attribute-selector specificity beats our class-selector and every\n// non-Input field renders 4px taller than Input.\nexport const formControlSizeClasses: Record<FormControlSize, string> = {\n\tsmall: [\n\t\t'!h-control-sm',\n\t\t'text-sm',\n\t].join(' '),\n\tdefault: [\n\t\t'!h-control',\n\t\t'text-sm',\n\t].join(' '),\n};\n\nexport const formControlPaddingClasses: Record<FormControlSize, string> = {\n\tsmall: 'px-control-sm py-space-xs',\n\tdefault: 'px-control py-space-xs',\n};\n\nexport const formControlInlineGapClasses: Record<FormControlSize, string> = {\n\tsmall: 'gap-space-sm',\n\tdefault: 'gap-space-md',\n};\n\nexport const formControlIconClasses: Record<FormControlSize, string> = {\n\tsmall: 'size-icon-sm',\n\tdefault: 'size-icon',\n};\n\nexport const formControlIconOffsetClasses: Record<FormControlSize, string> = {\n\tsmall: 'ps-control-icon-sm',\n\tdefault: 'ps-control-icon',\n};\n\nexport const formControlEndIconOffsetClasses: Record<FormControlSize, string> = {\n\tsmall: 'pe-control-icon-sm',\n\tdefault: 'pe-control-icon',\n};\n\nexport const formControlAddonOffsetClasses: Record<FormControlSize, string> = {\n\tsmall: 'ps-control-addon-sm',\n\tdefault: 'ps-control-addon',\n};\n\nexport const formControlEndAddonOffsetClasses: Record<FormControlSize, string> = {\n\tsmall: 'pe-control-addon-sm',\n\tdefault: 'pe-control-addon',\n};\n\nexport const formControlCountOffsetClasses: Record<FormControlSize, string> = {\n\tsmall: 'pe-control-count-sm',\n\tdefault: 'pe-control-count',\n};\n\n/**\n * Min-heights matching `formControlSizeClasses` so multi-line trigger\n * variants (e.g. `RichSelect` showing wrapped descriptions) can keep the\n * size's vertical rhythm without locking to a fixed `h-{n}`.\n */\nexport const formControlMinHeightClasses: Record<FormControlSize, string> = {\n\tsmall: 'min-h-control-sm',\n\tdefault: 'min-h-control',\n};\n\n/**\n * Canonical \"input-shaped trigger\" chrome — used by any control that\n * renders as a button-style trigger but visually has to read as a form\n * field (DatePicker, TimePicker, the inner Select inside composite\n * fields, etc.). Mirrors `Input`'s `border-input rounded-md\n * bg-transparent focus-visible:ring` chrome (no shadow — the library\n * is intentionally flat) plus the size-driven height + horizontal\n * padding.\n *\n * Kept here so the chrome lives in exactly one place — when we tweak\n * the canonical input look, every trigger picks it up.\n */\nexport function formFieldTriggerClasses(size: FormControlSize): string {\n\treturn [\n\t\t'flex w-full items-center justify-between',\n\t\t'rounded-radius border border-input bg-transparent text-left font-normal',\n\t\t'shadow-none transition-[color,box-shadow] outline-none',\n\t\tformControlSizeClasses[size],\n\t\tformControlPaddingClasses[size],\n\t\tformControlInlineGapClasses[size],\n\t\t'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n\t\t'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n\t\t'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n\t\t'hover:bg-transparent',\n\t].join(' ');\n}\n\nexport const formTextareaSizeClasses: Record<FormControlSize, string> = {\n\tsmall: [\n\t\t'min-h-textarea-sm',\n\t\t'text-sm',\n\t].join(' '),\n\tdefault: [\n\t\t'min-h-textarea',\n\t\t'text-sm',\n\t].join(' '),\n};\n\nexport const formLabelSizeClasses: Record<FormLabelSize, string> = {\n\tsmall: 'text-sm',\n\tdefault: 'text-sm',\n};\n\nexport function resolveFormControlSize(\n\tsizeProp: FormControlSize | undefined,\n\tdefaultControlSize: FormControlSize | undefined,\n): FormControlSize {\n\treturn sizeProp ?? defaultControlSize ?? 'default';\n}\n\nexport function resolveFormLabelSize(\n\tsizeProp: FormLabelSize | undefined,\n\tdefaultLabelSize: FormLabelSize | undefined,\n): FormLabelSize {\n\treturn sizeProp ?? defaultLabelSize ?? 'default';\n}\n"],"mappings":";AAOA,IAAa,IAA0D;CACtE,OAAO,CACN,iBACA,SACD,EAAE,KAAK,GAAG;CACV,SAAS,CACR,cACA,SACD,EAAE,KAAK,GAAG;AACX,GAEa,IAA6D;CACzE,OAAO;CACP,SAAS;AACV,GAEa,IAA+D;CAC3E,OAAO;CACP,SAAS;AACV,GAEa,IAA0D;CACtE,OAAO;CACP,SAAS;AACV,GAEa,IAAgE;CAC5E,OAAO;CACP,SAAS;AACV,GAEa,IAAmE;CAC/E,OAAO;CACP,SAAS;AACV,GAEa,IAAiE;CAC7E,OAAO;CACP,SAAS;AACV,GAEa,IAAoE;CAChF,OAAO;CACP,SAAS;AACV,GAEa,IAAiE;CAC7E,OAAO;CACP,SAAS;AACV,GAOa,IAA+D;CAC3E,OAAO;CACP,SAAS;AACV,GA6Ba,IAA2D;CACvE,OAAO,CACN,qBACA,SACD,EAAE,KAAK,GAAG;CACV,SAAS,CACR,kBACA,SACD,EAAE,KAAK,GAAG;AACX;AAOA,SAAgB,EACf,GACA,GACkB;CAClB,OAAO,KAAY,KAAsB;AAC1C"}
|