admin-ui-starter-kit 0.1.0 → 0.1.2
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/component-library-rules/SKILL.md +24 -0
- package/.agents/skills/component-library-rules/references/components/base__metadata-list.md +2 -2
- package/.agents/skills/component-library-rules/references/import-paths.md +27 -0
- package/AGENTS.md +8 -3
- package/INTEGRATION.md +33 -2
- package/PUBLISHING.md +3 -1
- package/README.md +33 -6
- package/dist/_shared/accordion-CztqyaIN.js +130 -0
- package/dist/_shared/accordion-CztqyaIN.js.map +1 -0
- package/dist/_shared/accordion-D5uTCLCB.cjs +2 -0
- package/dist/_shared/accordion-D5uTCLCB.cjs.map +1 -0
- package/dist/_shared/action-menu-Yrj6VzFS.js +96 -0
- package/dist/_shared/action-menu-Yrj6VzFS.js.map +1 -0
- package/dist/_shared/action-menu-eVP8GGlv.cjs +2 -0
- package/dist/_shared/action-menu-eVP8GGlv.cjs.map +1 -0
- package/dist/_shared/ai-artifact-DaHXJTKg.cjs +3 -0
- package/dist/_shared/ai-artifact-DaHXJTKg.cjs.map +1 -0
- package/dist/_shared/ai-artifact-DyLn3JAs.js +1068 -0
- package/dist/_shared/ai-artifact-DyLn3JAs.js.map +1 -0
- package/dist/_shared/alert-BVw4Mq6H.js +48 -0
- package/dist/_shared/alert-BVw4Mq6H.js.map +1 -0
- package/dist/_shared/alert-DXSlR9ja.cjs +2 -0
- package/dist/_shared/alert-DXSlR9ja.cjs.map +1 -0
- package/dist/_shared/avatar-CpBz9pTv.js +52 -0
- package/dist/_shared/avatar-CpBz9pTv.js.map +1 -0
- package/dist/_shared/avatar-dg20YFFs.cjs +2 -0
- package/dist/_shared/avatar-dg20YFFs.cjs.map +1 -0
- package/dist/_shared/badge-BVCh_hfL.js +108 -0
- package/dist/_shared/badge-BVCh_hfL.js.map +1 -0
- package/dist/_shared/badge-C49SSz-6.cjs +2 -0
- package/dist/_shared/badge-C49SSz-6.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-Bo7j5Rhv.cjs +2 -0
- package/dist/_shared/breadcrumbs-Bo7j5Rhv.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-Dc93fqqE.js +111 -0
- package/dist/_shared/breadcrumbs-Dc93fqqE.js.map +1 -0
- package/dist/_shared/button-2xglT7yf.cjs +2 -0
- package/dist/_shared/button-2xglT7yf.cjs.map +1 -0
- package/dist/_shared/button-ChCkwoOD.js +176 -0
- package/dist/_shared/button-ChCkwoOD.js.map +1 -0
- package/dist/_shared/button-D0nF99a9.cjs +2 -0
- package/dist/_shared/button-D0nF99a9.cjs.map +1 -0
- package/dist/_shared/button-DBR4QI9E.js +46 -0
- package/dist/_shared/button-DBR4QI9E.js.map +1 -0
- package/dist/_shared/buttons-Bcnt1md_.js +143 -0
- package/dist/_shared/buttons-Bcnt1md_.js.map +1 -0
- package/dist/_shared/buttons-km9xqXJv.cjs +2 -0
- package/dist/_shared/buttons-km9xqXJv.cjs.map +1 -0
- package/dist/_shared/card-radio-group-BGH93O5-.js +158 -0
- package/dist/_shared/card-radio-group-BGH93O5-.js.map +1 -0
- package/dist/_shared/card-radio-group-Vq741uhL.cjs +2 -0
- package/dist/_shared/card-radio-group-Vq741uhL.cjs.map +1 -0
- package/dist/_shared/combobox-BgXAxjU2.js +746 -0
- package/dist/_shared/combobox-BgXAxjU2.js.map +1 -0
- package/dist/_shared/combobox-DuIyh3xJ.cjs +2 -0
- package/dist/_shared/combobox-DuIyh3xJ.cjs.map +1 -0
- package/dist/_shared/command-BbiijN61.js +39 -0
- package/dist/_shared/command-BbiijN61.js.map +1 -0
- package/dist/_shared/command-D7zTvyBJ.cjs +2 -0
- package/dist/_shared/command-D7zTvyBJ.cjs.map +1 -0
- package/dist/_shared/command-DGNtTI-V.cjs +2 -0
- package/dist/_shared/command-DGNtTI-V.cjs.map +1 -0
- package/dist/_shared/command-jKbwFRtS.js +123 -0
- package/dist/_shared/command-jKbwFRtS.js.map +1 -0
- package/dist/_shared/comments-CNUsdwGW.cjs +2 -0
- package/dist/_shared/comments-CNUsdwGW.cjs.map +1 -0
- package/dist/_shared/comments-CvmS7zG3.js +945 -0
- package/dist/_shared/comments-CvmS7zG3.js.map +1 -0
- package/dist/_shared/containers-BFDv7cCV.cjs +2 -0
- package/dist/_shared/containers-BFDv7cCV.cjs.map +1 -0
- package/dist/_shared/containers-C1-A_2PT.js +19 -0
- package/dist/_shared/containers-C1-A_2PT.js.map +1 -0
- package/dist/_shared/content-container-CwqFnaI0.cjs +2 -0
- package/dist/_shared/content-container-CwqFnaI0.cjs.map +1 -0
- package/dist/_shared/content-container-D_3JGBSc.js +33 -0
- package/dist/_shared/content-container-D_3JGBSc.js.map +1 -0
- package/dist/_shared/copyable-CHhCGMfW.js +38 -0
- package/dist/_shared/copyable-CHhCGMfW.js.map +1 -0
- package/dist/_shared/copyable-ndaiocYq.cjs +2 -0
- package/dist/_shared/copyable-ndaiocYq.cjs.map +1 -0
- package/dist/_shared/date-picker-B8O_qbik.js +1353 -0
- package/dist/_shared/date-picker-B8O_qbik.js.map +1 -0
- package/dist/_shared/date-picker-BnOjyuKS.cjs +2 -0
- package/dist/_shared/date-picker-BnOjyuKS.cjs.map +1 -0
- package/dist/_shared/date-pickers-Cas9cPlj.js +330 -0
- package/dist/_shared/date-pickers-Cas9cPlj.js.map +1 -0
- package/dist/_shared/date-pickers-Dk-G3RMy.cjs +2 -0
- package/dist/_shared/date-pickers-Dk-G3RMy.cjs.map +1 -0
- package/dist/_shared/dialog-67GmkMLC.js +101 -0
- package/dist/_shared/dialog-67GmkMLC.js.map +1 -0
- package/dist/_shared/dialog-BF_4uAhE.cjs +2 -0
- package/dist/_shared/dialog-BF_4uAhE.cjs.map +1 -0
- package/dist/_shared/display-B9xVWboG.cjs +8 -0
- package/dist/_shared/display-B9xVWboG.cjs.map +1 -0
- package/dist/_shared/display-BM_GxDAo.js +1237 -0
- package/dist/_shared/display-BM_GxDAo.js.map +1 -0
- package/dist/_shared/dropdown-menu-4nxEBMnd.js +147 -0
- package/dist/_shared/dropdown-menu-4nxEBMnd.js.map +1 -0
- package/dist/_shared/dropdown-menu-DZlWHqWS.cjs +2 -0
- package/dist/_shared/dropdown-menu-DZlWHqWS.cjs.map +1 -0
- package/dist/_shared/form-field-BQlki-8s.js +319 -0
- package/dist/_shared/form-field-BQlki-8s.js.map +1 -0
- package/dist/_shared/form-field-DzpwVS99.cjs +2 -0
- package/dist/_shared/form-field-DzpwVS99.cjs.map +1 -0
- package/dist/_shared/form-sizing-CcbB-OHF.js +21 -0
- package/dist/_shared/form-sizing-CcbB-OHF.js.map +1 -0
- package/dist/_shared/form-sizing-Cw12UeI6.cjs +2 -0
- package/dist/_shared/form-sizing-Cw12UeI6.cjs.map +1 -0
- package/dist/_shared/format-B2AdSQVn.cjs +2 -0
- package/dist/_shared/format-B2AdSQVn.cjs.map +1 -0
- package/dist/_shared/format-CP65h1vK.js +48 -0
- package/dist/_shared/format-CP65h1vK.js.map +1 -0
- package/dist/_shared/forms-B8aaNG44.cjs +2 -0
- package/dist/_shared/forms-B8aaNG44.cjs.map +1 -0
- package/dist/_shared/forms-BusuTZZ2.js +3374 -0
- package/dist/_shared/forms-BusuTZZ2.js.map +1 -0
- package/dist/_shared/header-DWfOUjFL.cjs +2 -0
- package/dist/_shared/header-DWfOUjFL.cjs.map +1 -0
- package/dist/_shared/header-KpdoLtP9.js +369 -0
- package/dist/_shared/header-KpdoLtP9.js.map +1 -0
- package/dist/_shared/heading-BprqyzDs.js +39 -0
- package/dist/_shared/heading-BprqyzDs.js.map +1 -0
- package/dist/_shared/heading-mZc_jan1.cjs +2 -0
- package/dist/_shared/heading-mZc_jan1.cjs.map +1 -0
- package/dist/_shared/hooks-C-uWoRq5.cjs +2 -0
- package/dist/_shared/hooks-C-uWoRq5.cjs.map +1 -0
- package/dist/_shared/hooks-D5HJtvvP.js +118 -0
- package/dist/_shared/hooks-D5HJtvvP.js.map +1 -0
- package/dist/_shared/icon-badge-BBqDyAUz.cjs +2 -0
- package/dist/_shared/icon-badge-BBqDyAUz.cjs.map +1 -0
- package/dist/_shared/icon-badge-Bi63T-bj.js +52 -0
- package/dist/_shared/icon-badge-Bi63T-bj.js.map +1 -0
- package/dist/_shared/input-B2YXTHqz.cjs +2 -0
- package/dist/_shared/input-B2YXTHqz.cjs.map +1 -0
- package/dist/_shared/input-BJb10xb9.cjs +2 -0
- package/dist/_shared/input-BJb10xb9.cjs.map +1 -0
- package/dist/_shared/input-CZxP5Xgj.js +17 -0
- package/dist/_shared/input-CZxP5Xgj.js.map +1 -0
- package/dist/_shared/input-DQahu2sm.js +182 -0
- package/dist/_shared/input-DQahu2sm.js.map +1 -0
- package/dist/_shared/item-Cu5JbZyZ.js +224 -0
- package/dist/_shared/item-Cu5JbZyZ.js.map +1 -0
- package/dist/_shared/item-Cx_7QZ2o.cjs +2 -0
- package/dist/_shared/item-Cx_7QZ2o.cjs.map +1 -0
- package/dist/_shared/mentions-CS3rIhze.js +493 -0
- package/dist/_shared/mentions-CS3rIhze.js.map +1 -0
- package/dist/_shared/mentions-D7gnP3Nf.cjs +2 -0
- package/dist/_shared/mentions-D7gnP3Nf.cjs.map +1 -0
- package/dist/_shared/metadata-CRsVWE8Y.cjs +2 -0
- package/dist/_shared/metadata-CRsVWE8Y.cjs.map +1 -0
- package/dist/_shared/metadata-CfG0FdFZ.js +236 -0
- package/dist/_shared/metadata-CfG0FdFZ.js.map +1 -0
- package/dist/_shared/money-display-Bd0rkjc9.js +198 -0
- package/dist/_shared/money-display-Bd0rkjc9.js.map +1 -0
- package/dist/_shared/money-display-DSFft9Mi.cjs +2 -0
- package/dist/_shared/money-display-DSFft9Mi.cjs.map +1 -0
- package/dist/_shared/navigation-Do9k5Xh1.js +420 -0
- package/dist/_shared/navigation-Do9k5Xh1.js.map +1 -0
- package/dist/_shared/navigation-QAAD3HJd.cjs +2 -0
- package/dist/_shared/navigation-QAAD3HJd.cjs.map +1 -0
- package/dist/_shared/overlays-B8AH8fNv.js +633 -0
- package/dist/_shared/overlays-B8AH8fNv.js.map +1 -0
- package/dist/_shared/overlays-DOcoRy8k.cjs +2 -0
- package/dist/_shared/overlays-DOcoRy8k.cjs.map +1 -0
- package/dist/_shared/page-BPCeKX9X.js +263 -0
- package/dist/_shared/page-BPCeKX9X.js.map +1 -0
- package/dist/_shared/page-DMM32sxi.cjs +2 -0
- package/dist/_shared/page-DMM32sxi.cjs.map +1 -0
- package/dist/_shared/popover-B1f_EUQS.cjs +2 -0
- package/dist/_shared/popover-B1f_EUQS.cjs.map +1 -0
- package/dist/_shared/popover-CgRGcFk9.js +83 -0
- package/dist/_shared/popover-CgRGcFk9.js.map +1 -0
- package/dist/_shared/popover-menu-BEKIT3LR.cjs +2 -0
- package/dist/_shared/popover-menu-BEKIT3LR.cjs.map +1 -0
- package/dist/_shared/popover-menu-BHdHLEVL.js +95 -0
- package/dist/_shared/popover-menu-BHdHLEVL.js.map +1 -0
- package/dist/_shared/rich-text-editor-0uoIoYXU.js +608 -0
- package/dist/_shared/rich-text-editor-0uoIoYXU.js.map +1 -0
- package/dist/_shared/rich-text-editor-wTiARGuB.cjs +2 -0
- package/dist/_shared/rich-text-editor-wTiARGuB.cjs.map +1 -0
- package/dist/_shared/scroll-area-Bo17wtZD.cjs +2 -0
- package/dist/_shared/scroll-area-Bo17wtZD.cjs.map +1 -0
- package/dist/_shared/scroll-area-Cj-hmB5D.js +41 -0
- package/dist/_shared/scroll-area-Cj-hmB5D.js.map +1 -0
- package/dist/_shared/select-07RRiTWc.js +85 -0
- package/dist/_shared/select-07RRiTWc.js.map +1 -0
- package/dist/_shared/select-BfiU7a4n.cjs +2 -0
- package/dist/_shared/select-BfiU7a4n.cjs.map +1 -0
- package/dist/_shared/separator-CN9zAJfs.cjs +2 -0
- package/dist/_shared/separator-CN9zAJfs.cjs.map +1 -0
- package/dist/_shared/separator-DR0uUMKa.js +16 -0
- package/dist/_shared/separator-DR0uUMKa.js.map +1 -0
- package/dist/_shared/sheet-B5FoGJAZ.cjs +2 -0
- package/dist/_shared/sheet-B5FoGJAZ.cjs.map +1 -0
- package/dist/_shared/sheet-cUI8cypP.js +100 -0
- package/dist/_shared/sheet-cUI8cypP.js.map +1 -0
- package/dist/_shared/sidebar-Bq7yKLrG.cjs +2 -0
- package/dist/_shared/sidebar-Bq7yKLrG.cjs.map +1 -0
- package/dist/_shared/sidebar-Da20tCUc.cjs +2 -0
- package/dist/_shared/sidebar-Da20tCUc.cjs.map +1 -0
- package/dist/_shared/sidebar-Q6TYE8Ux.js +371 -0
- package/dist/_shared/sidebar-Q6TYE8Ux.js.map +1 -0
- package/dist/_shared/sidebar-WmnQ55YY.js +537 -0
- package/dist/_shared/sidebar-WmnQ55YY.js.map +1 -0
- package/dist/_shared/skeleton-B3HWEc6G.js +14 -0
- package/dist/_shared/skeleton-B3HWEc6G.js.map +1 -0
- package/dist/_shared/skeleton-Cz_l8-fc.cjs +2 -0
- package/dist/_shared/skeleton-Cz_l8-fc.cjs.map +1 -0
- package/dist/_shared/slot-BgnZtKR5.js +18 -0
- package/dist/_shared/slot-BgnZtKR5.js.map +1 -0
- package/dist/_shared/slot-Dac1ipUC.cjs +2 -0
- package/dist/_shared/slot-Dac1ipUC.cjs.map +1 -0
- package/dist/_shared/smart-card-Bm_VxYUG.cjs +2 -0
- package/dist/_shared/smart-card-Bm_VxYUG.cjs.map +1 -0
- package/dist/_shared/smart-card-MT6JjkoI.js +360 -0
- package/dist/_shared/smart-card-MT6JjkoI.js.map +1 -0
- package/dist/_shared/spinner-BQjxJ_Kx.js +67 -0
- package/dist/_shared/spinner-BQjxJ_Kx.js.map +1 -0
- package/dist/_shared/spinner-Dvaa6GUm.cjs +2 -0
- package/dist/_shared/spinner-Dvaa6GUm.cjs.map +1 -0
- package/dist/_shared/switch-C0yyhsXZ.js +51 -0
- package/dist/_shared/switch-C0yyhsXZ.js.map +1 -0
- package/dist/_shared/switch-DozkSQNn.cjs +2 -0
- package/dist/_shared/switch-DozkSQNn.cjs.map +1 -0
- package/dist/_shared/textarea-Cgl-FPwu.js +119 -0
- package/dist/_shared/textarea-Cgl-FPwu.js.map +1 -0
- package/dist/_shared/textarea-D8wC0XlZ.cjs +2 -0
- package/dist/_shared/textarea-D8wC0XlZ.cjs.map +1 -0
- package/dist/_shared/tooltip-Cws4BiPT.js +49 -0
- package/dist/_shared/tooltip-Cws4BiPT.js.map +1 -0
- package/dist/_shared/tooltip-DyUi-Tac.cjs +2 -0
- package/dist/_shared/tooltip-DyUi-Tac.cjs.map +1 -0
- package/dist/_shared/typography-BW7iZBx7.cjs +2 -0
- package/dist/_shared/typography-BW7iZBx7.cjs.map +1 -0
- package/dist/_shared/typography-a3hydyvI.js +102 -0
- package/dist/_shared/typography-a3hydyvI.js.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/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/command/index.cjs +1 -1
- package/dist/components/base/command/index.js +2 -2
- 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/index.cjs +1 -1
- package/dist/components/base/display/index.js +12 -11
- package/dist/components/base/display/metadata/index.cjs +1 -0
- package/dist/components/base/display/metadata/index.js +2 -0
- 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/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +6 -6
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.js +3 -3
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +4 -4
- package/dist/components/base/popover/index.cjs +1 -1
- package/dist/components/base/popover/index.js +1 -1
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/sheet/index.cjs +1 -1
- package/dist/components/base/sheet/index.js +1 -1
- package/dist/components/base/sidebar/index.cjs +1 -1
- package/dist/components/base/sidebar/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 +7 -7
- 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 +12 -12
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.js +9 -9
- 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/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.cjs.map +1 -1
- package/dist/components/composed/cards/index.js +8 -8
- 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.js +9 -9
- 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 +6 -6
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.cjs.map +1 -1
- package/dist/components/composed/data-display/index.js +7 -7
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.js +4 -4
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +2 -2
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +2 -2
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +4 -4
- package/dist/components/features/ai-chat/index.cjs +1 -1
- package/dist/components/features/ai-chat/index.cjs.map +1 -1
- package/dist/components/features/ai-chat/index.js +6 -6
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +3 -3
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +3 -3
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.js +9 -9
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.js +2 -2
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +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/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- 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/containers/index.cjs +1 -1
- package/dist/components/layout/containers/index.js +2 -2
- 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 +6 -6
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/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/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +3 -2
- package/dist/showcase/assets/AreaChart-CJ57G5Ub.js +6 -0
- package/dist/showcase/assets/CSPContext-BA7DfnCI.js +1 -0
- package/dist/showcase/assets/CompositeItem-PwzgE4va.js +1 -0
- package/dist/showcase/assets/CompositeRoot-Du4CMlK7.js +1 -0
- package/dist/showcase/assets/DialogTrigger-FkENgwo6.js +1 -0
- package/dist/showcase/assets/FormContext-ChygLayp.js +1 -0
- package/dist/showcase/assets/PreviewLayout-z6vpJJGt.js +1 -0
- package/dist/showcase/assets/RadioGroup-CcDmbxOw.js +1 -0
- package/dist/showcase/assets/Separator-Dk4eN76U.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-D_KAA5hZ.js +1 -0
- package/dist/showcase/assets/accordion-dQszzfmw.js +172 -0
- package/dist/showcase/assets/accordion-variants-Dp4wxic-.js +1 -0
- package/dist/showcase/assets/action-menu-CBi2Eiy0.js +1 -0
- package/dist/showcase/assets/activities-DoXsgP4G.js +501 -0
- package/dist/showcase/assets/activities-feed-card-xz5FtkOm.js +1 -0
- package/dist/showcase/assets/admin-CxklUqAG.js +80 -0
- package/dist/showcase/assets/ai-artifact-DkhUdEbM.js +2 -0
- package/dist/showcase/assets/ai-chat-B6PuqkEu.js +568 -0
- package/dist/showcase/assets/ai-elements-D_rpj_ds.js +379 -0
- package/dist/showcase/assets/ai-new-CUPrAbOK.js +167 -0
- package/dist/showcase/assets/ai-tool-call-CEr-dGVx.js +1 -0
- package/dist/showcase/assets/ai-zxF_msJF.js +41 -0
- package/dist/showcase/assets/alert-771BE3Ny.js +59 -0
- package/dist/showcase/assets/alert-CG42DAlX.js +1 -0
- package/dist/showcase/assets/api-key-list-D6jUN7Fq.js +73 -0
- package/dist/showcase/assets/arrow-down-CUoXUyN1.js +1 -0
- package/dist/showcase/assets/arrow-left-Cdq69X6h.js +1 -0
- package/dist/showcase/assets/arrow-right-i25q9L2H.js +1 -0
- package/dist/showcase/assets/arrow-up-pnezegnF.js +1 -0
- package/dist/showcase/assets/arrow-up-right-CK3XnMah.js +1 -0
- package/dist/showcase/assets/avatar-LPmQqZQv.js +1 -0
- package/dist/showcase/assets/avatar-ZVFIQouy.js +57 -0
- package/dist/showcase/assets/badge-DK4bsgZC.js +28 -0
- package/dist/showcase/assets/badge-check-Cw5gkVcG.js +1 -0
- package/dist/showcase/assets/bell-BvJELoaV.js +1 -0
- package/dist/showcase/assets/bot-DRj6sdSR.js +1 -0
- package/dist/showcase/assets/box-BNND3M2m.js +1 -0
- package/dist/showcase/assets/brain-Cy3o-12l.js +1 -0
- package/dist/showcase/assets/brand-DvipEpFn.js +40 -0
- package/dist/showcase/assets/breadcrumb-B-LNuOyv.js +1 -0
- package/dist/showcase/assets/breadcrumb-Lzpc0yo4.js +52 -0
- package/dist/showcase/assets/breadcrumbs-DD6msKFZ.js +1 -0
- package/dist/showcase/assets/briefcase-LcAwoEmu.js +1 -0
- package/dist/showcase/assets/button-CuwcGzk1.js +44 -0
- package/dist/showcase/assets/button-group-CAImjDrl.js +1 -0
- package/dist/showcase/assets/buttons-DTjNHCMl.js +259 -0
- package/dist/showcase/assets/calendar-B1zW0q6I.js +1 -0
- package/dist/showcase/assets/calendar-Dlv72ytt.js +1 -0
- package/dist/showcase/assets/calendar-ls2A08Pn.js +16 -0
- package/dist/showcase/assets/card-BhtkM1BT.js +1 -0
- package/dist/showcase/assets/cards-BRpRXzGk.js +328 -0
- package/dist/showcase/assets/chart-column-BpQkEi1H.js +1 -0
- package/dist/showcase/assets/chevron-down-DyObdfSb.js +1 -0
- package/dist/showcase/assets/chevron-left-T7dHNxYM.js +1 -0
- package/dist/showcase/assets/chevron-right-D_EcqHpT.js +1 -0
- package/dist/showcase/assets/chevron-up-B38ivdGO.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-SdRARzoq.js +1 -0
- package/dist/showcase/assets/circle-BrCPAmDA.js +1 -0
- package/dist/showcase/assets/circle-alert-DdhzLPY_.js +1 -0
- package/dist/showcase/assets/circle-check-DlA6zidQ.js +1 -0
- package/dist/showcase/assets/circle-check-big-DFGJANQF.js +1 -0
- package/dist/showcase/assets/circle-dot-BKmnVUqM.js +1 -0
- package/dist/showcase/assets/circle-question-mark-BNREvgVC.js +1 -0
- package/dist/showcase/assets/circle-x-C45QjHEs.js +1 -0
- package/dist/showcase/assets/clock-D1nKQzQo.js +1 -0
- package/dist/showcase/assets/code-xml-B8N3GRSu.js +1 -0
- package/dist/showcase/assets/collapsible-4TfcWyNs.js +1 -0
- package/dist/showcase/assets/collapsible-CKbZtvTj.js +27 -0
- package/dist/showcase/assets/combobox-DTdGPaU0.js +622 -0
- package/dist/showcase/assets/command-DymTXwL1.js +1 -0
- package/dist/showcase/assets/command-ksVIHQKJ.js +45 -0
- package/dist/showcase/assets/comment-composer-DC9oS1Yy.js +1 -0
- package/dist/showcase/assets/comment-item-CAmKnJa7.js +1 -0
- package/dist/showcase/assets/comments-Benk-2mV.js +349 -0
- package/dist/showcase/assets/commerce-Qz-mq8mQ.js +78 -0
- package/dist/showcase/assets/commerce-extras-CQRc3Bna.js +179 -0
- package/dist/showcase/assets/composite-DBDXLPyz.js +1 -0
- package/dist/showcase/assets/contact-card-DkL2nI3r.js +65 -0
- package/dist/showcase/assets/content-container-mRm6oJEa.js +1 -0
- package/dist/showcase/assets/copyable-DmLlmwzy.js +96 -0
- package/dist/showcase/assets/course-card-CJJoeZj9.js +113 -0
- package/dist/showcase/assets/cpu-BXJnF2Xy.js +1 -0
- package/dist/showcase/assets/credit-card-BQK3KKb2.js +1 -0
- package/dist/showcase/assets/currency-DBPUh8ee.js +149 -0
- package/dist/showcase/assets/dark-surfaces-LpPuIeYy.js +90 -0
- package/dist/showcase/assets/database-BZerpzGE.js +1 -0
- package/dist/showcase/assets/date-block-iiHUpbNX.js +1 -0
- package/dist/showcase/assets/date-picker-BQeBGL7T.js +1 -0
- package/dist/showcase/assets/date-pickers-CKcUEMMF.js +110 -0
- package/dist/showcase/assets/dense-info-DATmxRU8.js +106 -0
- package/dist/showcase/assets/dialog-Bqu5KDYH.js +1 -0
- package/dist/showcase/assets/display-Bj7uPXD4.js +392 -0
- package/dist/showcase/assets/dist-QK7JxeYv.js +1 -0
- package/dist/showcase/assets/dollar-sign-DFZs6vfz.js +1 -0
- package/dist/showcase/assets/download-5oGw_WbW.js +1 -0
- package/dist/showcase/assets/dropdown-menu-1CJgYn0S.js +1 -0
- package/dist/showcase/assets/dropzone-Co1uhsDn.js +1 -0
- package/dist/showcase/assets/ellipsis-cKRcvuyL.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-B1RErEkj.js +1 -0
- package/dist/showcase/assets/empty-Y2-4nCBr.js +1 -0
- package/dist/showcase/assets/empty-item-USa6xcUv.js +49 -0
- package/dist/showcase/assets/empty-state-DfhZ9AT5.js +188 -0
- package/dist/showcase/assets/enhanced-activities-DmAPVUSu.js +359 -0
- package/dist/showcase/assets/esm-BeGQ_ZTM.js +2 -0
- package/dist/showcase/assets/event-calendar-D-jGrrZS.js +138 -0
- package/dist/showcase/assets/event-log-tA_i4eR9.js +326 -0
- package/dist/showcase/assets/example-6phCHGsN.js +1 -0
- package/dist/showcase/assets/external-link-BuVHkCy0.js +1 -0
- package/dist/showcase/assets/eye-DC5HfGm6.js +1 -0
- package/dist/showcase/assets/feature-announcement-DwvxLytd.js +34 -0
- package/dist/showcase/assets/file-D-xM4vLy.js +1 -0
- package/dist/showcase/assets/file-text-tmG5vNbr.js +1 -0
- package/dist/showcase/assets/filters-CrGRXmq6.js +78 -0
- package/dist/showcase/assets/flag-CWrEtkY5.js +1 -0
- package/dist/showcase/assets/folder-open-Br-x1pjP.js +1 -0
- package/dist/showcase/assets/form-sizing-Bb5hiM45.js +1 -0
- package/dist/showcase/assets/format-D_ETCyg4.js +1 -0
- package/dist/showcase/assets/forms-B_MkQ3rm.js +790 -0
- package/dist/showcase/assets/generic-CdmsyXV3.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-CZnCbCFP.js +1 -0
- package/dist/showcase/assets/gift-NkuklfU2.js +1 -0
- package/dist/showcase/assets/giftcard-cards-BAvevZ0i.js +85 -0
- package/dist/showcase/assets/git-branch-B_CBqPeO.js +1 -0
- package/dist/showcase/assets/global-search-D9teAbPe.js +90 -0
- package/dist/showcase/assets/globe-gzw45GU2.js +1 -0
- package/dist/showcase/assets/gradient-card-Xk2r7R5H.js +58 -0
- package/dist/showcase/assets/header-notifications-_aZCpE5A.js +1 -0
- package/dist/showcase/assets/heart-CEMKbRaZ.js +1 -0
- package/dist/showcase/assets/house-BlGXAcMH.js +1 -0
- package/dist/showcase/assets/icon-badge-z6N9reH_.js +1 -0
- package/dist/showcase/assets/image-B8mzmVBr.js +1 -0
- package/dist/showcase/assets/inbox-qdSnP4UV.js +1 -0
- package/dist/showcase/assets/index-B4ubXfly.js +10 -0
- package/dist/showcase/assets/inertValue-D5Q8cLku.js +1 -0
- package/dist/showcase/assets/info-DBvvNjc_.js +1 -0
- package/dist/showcase/assets/inline-stat-Bm1zVT8D.js +1 -0
- package/dist/showcase/assets/input-CBQR0aeX.js +1 -0
- package/dist/showcase/assets/input-OrUzpI55.js +1 -0
- package/dist/showcase/assets/input-group-DhqOen2N.js +47 -0
- package/dist/showcase/assets/input-group-l8xa5nUq.js +1 -0
- package/dist/showcase/assets/inputs-DbiJ0qy2.js +49 -0
- package/dist/showcase/assets/invoice-header-C6youIbL.js +36 -0
- package/dist/showcase/assets/invoice-items-g6dgryF-.js +36 -0
- package/dist/showcase/assets/invoice-mini-0iWhufpt.js +14 -0
- package/dist/showcase/assets/invoice-table-Bvdh3rRq.js +30 -0
- package/dist/showcase/assets/isSameDay-BpZEtJe8.js +1 -0
- package/dist/showcase/assets/isToday-F0CS28oK.js +1 -0
- package/dist/showcase/assets/italic-CJOEwjdc.js +1 -0
- package/dist/showcase/assets/item-BiMm1PPB.js +1 -0
- package/dist/showcase/assets/item-CN0cwdj_.js +1 -0
- package/dist/showcase/assets/item-DNqEUYLT.js +117 -0
- package/dist/showcase/assets/kanban-DxePEUiQ.js +175 -0
- package/dist/showcase/assets/label-Dx4WO-fg.js +1 -0
- package/dist/showcase/assets/layout-containers-DDl8rG8S.js +96 -0
- package/dist/showcase/assets/layout-header-Bu6IcDWu.js +170 -0
- package/dist/showcase/assets/layout-page-D-88Qnoy.js +122 -0
- package/dist/showcase/assets/layout-sidebar-Ctft10pk.js +224 -0
- package/dist/showcase/assets/layout-users-DtbZduBG.js +104 -0
- package/dist/showcase/assets/lib-D9BoOYUd.js +1 -0
- package/dist/showcase/assets/lock-CHurDI0n.js +1 -0
- package/dist/showcase/assets/mail-DZ1o1RLW.js +1 -0
- package/dist/showcase/assets/map-C8xiyT9X.js +124 -0
- package/dist/showcase/assets/map-pin-CAKaoYod.js +1 -0
- package/dist/showcase/assets/menus-C6mnp636.js +89 -0
- package/dist/showcase/assets/message-square-Zo5J_zU1.js +1 -0
- package/dist/showcase/assets/metadata-list-W83-UMhc.js +278 -0
- package/dist/showcase/assets/metric-BSvxidIX.js +1 -0
- package/dist/showcase/assets/metric-grid-Dtqx_3Lg.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-mtvcJ_M9.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-DQbyss7i.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-CEBu5Uw0.js +77 -0
- package/dist/showcase/assets/metrics-comparison-Bs-R6v4y.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-BKHWH8sM.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-BxVn0Y2p.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-DtACYEds.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-BkwUGOUR.js +42 -0
- package/dist/showcase/assets/metrics-overview-BAtrlzsI.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-iCRCNyHY.js +54 -0
- package/dist/showcase/assets/minus-C6eBW-2t.js +1 -0
- package/dist/showcase/assets/money-display-DjGRJ16l.js +1 -0
- package/dist/showcase/assets/month-year-picker-DTDebPqf.js +1 -0
- package/dist/showcase/assets/navigation-BrG8Chig.js +86 -0
- package/dist/showcase/assets/navigation-CfXQJbyM.js +230 -0
- package/dist/showcase/assets/navigation-extras-D_gzLlZ5.js +43 -0
- package/dist/showcase/assets/onboarding-checklist-1EerUwAo.js +119 -0
- package/dist/showcase/assets/overlays-2AB9-S1Z.js +88 -0
- package/dist/showcase/assets/overlays-CYt9o3Xq.js +393 -0
- package/dist/showcase/assets/package-BJMP-Fcr.js +1 -0
- package/dist/showcase/assets/page-action-button-BZxJ0X1j.js +1 -0
- package/dist/showcase/assets/page-header-B_rqHJhe.js +1 -0
- package/dist/showcase/assets/pagination-BHiQvvka.js +1 -0
- package/dist/showcase/assets/pagination-Dq0GruQd.js +42 -0
- package/dist/showcase/assets/paperclip-BMYKrUQo.js +1 -0
- package/dist/showcase/assets/pencil-BJ3VS_FO.js +1 -0
- package/dist/showcase/assets/phone-CsRIyvep.js +1 -0
- package/dist/showcase/assets/plus-D2JuXYLg.js +1 -0
- package/dist/showcase/assets/popover-DNT9755r.js +1 -0
- package/dist/showcase/assets/popover-KvGgcPNg.js +1 -0
- package/dist/showcase/assets/popover-menu-CJx30R65.js +1 -0
- package/dist/showcase/assets/progress-B7WuXcJR.js +1 -0
- package/dist/showcase/assets/progress-CweCSAUv.js +18 -0
- package/dist/showcase/assets/props-table-uDY4eIzt.js +1 -0
- package/dist/showcase/assets/quote-DAyyfzQd.js +1 -0
- package/dist/showcase/assets/receipt-C0mMZGbF.js +1 -0
- package/dist/showcase/assets/refresh-cw-X06JbXb-.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-Bks7UDko.js +1 -0
- package/dist/showcase/assets/rich-text-editor-QJsb-qIe.js +124 -0
- package/dist/showcase/assets/rich-text-editor-h07VBNI9.js +141 -0
- package/dist/showcase/assets/rotate-ccw-D84bdX_x.js +1 -0
- package/dist/showcase/assets/scroll-area-0rT06pXZ.js +1 -0
- package/dist/showcase/assets/scroll-area-YXwdzGpN.js +32 -0
- package/dist/showcase/assets/select-BoWQDtUf.js +1 -0
- package/dist/showcase/assets/send-DJsk3cr1.js +1 -0
- package/dist/showcase/assets/separator-CLSnRcJa.js +28 -0
- package/dist/showcase/assets/separator-DWv-twD-.js +1 -0
- package/dist/showcase/assets/settings-Cb2MsAmN.js +1 -0
- package/dist/showcase/assets/sheet-Dn1-MYus.js +1 -0
- package/dist/showcase/assets/shield-DwLjF5ch.js +1 -0
- package/dist/showcase/assets/shield-alert-D8i6gzMK.js +1 -0
- package/dist/showcase/assets/shield-check-D5YRSBIz.js +1 -0
- package/dist/showcase/assets/shopping-bag-BqlAP4vn.js +1 -0
- package/dist/showcase/assets/sidebar.context-BAp_pBEB.js +1 -0
- package/dist/showcase/assets/skeleton-CeNPp4hr.js +1 -0
- package/dist/showcase/assets/skeleton-QPsnM_NR.js +29 -0
- package/dist/showcase/assets/smart-card-BisUbLPt.js +1 -0
- package/dist/showcase/assets/sonner-B7GzbBK2.js +22 -0
- package/dist/showcase/assets/sortable.esm-BDcEOHT7.js +5 -0
- package/dist/showcase/assets/sparkles-CF9P5Tqh.js +1 -0
- package/dist/showcase/assets/spinner-BeamEyJd.js +49 -0
- package/dist/showcase/assets/spinner-DoYBfalR.js +1 -0
- package/dist/showcase/assets/spinner-UsLsOYzn.js +30 -0
- package/dist/showcase/assets/square-pen-BGTVdnt1.js +1 -0
- package/dist/showcase/assets/stacked-avatars-BWfVX1Ov.js +1 -0
- package/dist/showcase/assets/star-NsPNO9gR.js +1 -0
- package/dist/showcase/assets/startOfDay-zJBpxLuW.js +1 -0
- package/dist/showcase/assets/styles-DA7a7hVy.js +1 -0
- package/dist/showcase/assets/switch-C62S4U2o.js +1 -0
- package/dist/showcase/assets/switch-CYQcinJZ.js +1 -0
- package/dist/showcase/assets/table-w4IABkpa.js +1 -0
- package/dist/showcase/assets/table-xgB63UrY.js +390 -0
- package/dist/showcase/assets/tabs-BFTEaTXj.js +19 -0
- package/dist/showcase/assets/tabs-oMJn9Ujq.js +1 -0
- package/dist/showcase/assets/text-button-BgcutPuu.js +1 -0
- package/dist/showcase/assets/text-link-CS9thOWL.js +1 -0
- package/dist/showcase/assets/textarea-BOBx4EM6.js +1 -0
- package/dist/showcase/assets/textarea-CTzYZZqa.js +1 -0
- package/dist/showcase/assets/timelines-CK07mEBK.js +186 -0
- package/dist/showcase/assets/toggle-group-CSPdPT6G.js +1 -0
- package/dist/showcase/assets/toggles-DDSdl-gA.js +71 -0
- package/dist/showcase/assets/toggles-group-Y2BdKEFB.js +32 -0
- package/dist/showcase/assets/trash-2-C-FAptQP.js +1 -0
- package/dist/showcase/assets/trending-up-BmLhdF_w.js +1 -0
- package/dist/showcase/assets/truck-pZdUS_as.js +1 -0
- package/dist/showcase/assets/typography-CnBH2z7f.js +214 -0
- package/dist/showcase/assets/ui-badge-Cl6INRO5.js +28 -0
- package/dist/showcase/assets/ui-card-B5P-thNu.js +30 -0
- package/dist/showcase/assets/ui-table-B32RILKk.js +42 -0
- package/dist/showcase/assets/upload-tray-mu6bR2ZE.js +138 -0
- package/dist/showcase/assets/useAnchoredPopupScrollLock-CzDaXxmM.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-B0DZvDFu.js +1 -0
- package/dist/showcase/assets/useCompositeItem-BVIVLT9X.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-JEMeTFPx.js +1 -0
- package/dist/showcase/assets/useControlled-ZjqBfPCn.js +1 -0
- package/dist/showcase/assets/useLabelableId-D8CZq8Bm.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-CopGCf3q.js +1 -0
- package/dist/showcase/assets/useRender-zuKv6JQF.js +1 -0
- package/dist/showcase/assets/useRole-08KeyiD3.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-DEuz5CGe.js +1 -0
- package/dist/showcase/assets/useValueChanged-BxFi_qyj.js +1 -0
- package/dist/showcase/assets/user-Bgc2t2_e.js +1 -0
- package/dist/showcase/assets/user-plus-F_TfagnP.js +1 -0
- package/dist/showcase/assets/users-B7G4yTCR.js +1 -0
- package/dist/showcase/assets/vendor-profile-BTQmsKM6.js +37 -0
- package/dist/showcase/assets/wrench-BdzICmjR.js +1 -0
- package/dist/showcase/assets/x-B156Wr-5.js +1 -0
- package/dist/showcase/assets/zap-B3iByjNV.js +1 -0
- package/dist/showcase/index.html +1 -1
- package/package.json +254 -19
- package/dist/_shared/accordion-7rwpgJ1k.cjs +0 -2
- package/dist/_shared/accordion-7rwpgJ1k.cjs.map +0 -1
- package/dist/_shared/accordion-DcduCEIo.js +0 -130
- package/dist/_shared/accordion-DcduCEIo.js.map +0 -1
- package/dist/_shared/action-menu-D0u-q0q-.cjs +0 -2
- package/dist/_shared/action-menu-D0u-q0q-.cjs.map +0 -1
- package/dist/_shared/action-menu-DUBXdReV.js +0 -96
- package/dist/_shared/action-menu-DUBXdReV.js.map +0 -1
- package/dist/_shared/ai-artifact-C3R0god0.cjs +0 -3
- package/dist/_shared/ai-artifact-C3R0god0.cjs.map +0 -1
- package/dist/_shared/ai-artifact-DMjQv_Si.js +0 -1068
- package/dist/_shared/ai-artifact-DMjQv_Si.js.map +0 -1
- package/dist/_shared/alert-B2cuJGAA.cjs +0 -2
- package/dist/_shared/alert-B2cuJGAA.cjs.map +0 -1
- package/dist/_shared/alert-BKUmOI2e.js +0 -48
- package/dist/_shared/alert-BKUmOI2e.js.map +0 -1
- package/dist/_shared/avatar-BcYcRORH.cjs +0 -2
- package/dist/_shared/avatar-BcYcRORH.cjs.map +0 -1
- package/dist/_shared/avatar-CNzG6jSZ.js +0 -52
- package/dist/_shared/avatar-CNzG6jSZ.js.map +0 -1
- package/dist/_shared/badge-BbUN6W7E.js +0 -108
- package/dist/_shared/badge-BbUN6W7E.js.map +0 -1
- package/dist/_shared/badge-BjtDcU1M.cjs +0 -2
- package/dist/_shared/badge-BjtDcU1M.cjs.map +0 -1
- package/dist/_shared/breadcrumbs-DctwTld5.js +0 -111
- package/dist/_shared/breadcrumbs-DctwTld5.js.map +0 -1
- package/dist/_shared/breadcrumbs-m0-gCdNj.cjs +0 -2
- package/dist/_shared/breadcrumbs-m0-gCdNj.cjs.map +0 -1
- package/dist/_shared/button-BCABTFLE.js +0 -46
- package/dist/_shared/button-BCABTFLE.js.map +0 -1
- package/dist/_shared/button-Ck2qS42n.js +0 -176
- package/dist/_shared/button-Ck2qS42n.js.map +0 -1
- package/dist/_shared/button-DjJ-mDI1.cjs +0 -2
- package/dist/_shared/button-DjJ-mDI1.cjs.map +0 -1
- package/dist/_shared/button-DjacsNTg.cjs +0 -2
- package/dist/_shared/button-DjacsNTg.cjs.map +0 -1
- package/dist/_shared/buttons-BVnjQ-uE.js +0 -143
- package/dist/_shared/buttons-BVnjQ-uE.js.map +0 -1
- package/dist/_shared/buttons-BdY6igTr.cjs +0 -2
- package/dist/_shared/buttons-BdY6igTr.cjs.map +0 -1
- package/dist/_shared/card-radio-group--GP1xrz_.js +0 -158
- package/dist/_shared/card-radio-group--GP1xrz_.js.map +0 -1
- package/dist/_shared/card-radio-group-DnQsWozr.cjs +0 -2
- package/dist/_shared/card-radio-group-DnQsWozr.cjs.map +0 -1
- package/dist/_shared/combobox-DBrRE1Dr.cjs +0 -2
- package/dist/_shared/combobox-DBrRE1Dr.cjs.map +0 -1
- package/dist/_shared/combobox-DYztEJaw.js +0 -746
- package/dist/_shared/combobox-DYztEJaw.js.map +0 -1
- package/dist/_shared/command-COvgXQ8r.cjs +0 -2
- package/dist/_shared/command-COvgXQ8r.cjs.map +0 -1
- package/dist/_shared/command-CvZ6Emb8.js +0 -39
- package/dist/_shared/command-CvZ6Emb8.js.map +0 -1
- package/dist/_shared/command-DTFQIUVG.cjs +0 -2
- package/dist/_shared/command-DTFQIUVG.cjs.map +0 -1
- package/dist/_shared/command-Sq8XbHbA.js +0 -123
- package/dist/_shared/command-Sq8XbHbA.js.map +0 -1
- package/dist/_shared/comments-BOFU1GYY.js +0 -945
- package/dist/_shared/comments-BOFU1GYY.js.map +0 -1
- package/dist/_shared/comments-BbTYFzx6.cjs +0 -2
- package/dist/_shared/comments-BbTYFzx6.cjs.map +0 -1
- package/dist/_shared/containers-BthqdOhA.cjs +0 -2
- package/dist/_shared/containers-BthqdOhA.cjs.map +0 -1
- package/dist/_shared/containers-CD2xs1nk.js +0 -19
- package/dist/_shared/containers-CD2xs1nk.js.map +0 -1
- package/dist/_shared/content-container-CFfYbWoa.js +0 -33
- package/dist/_shared/content-container-CFfYbWoa.js.map +0 -1
- package/dist/_shared/content-container-CReiVugL.cjs +0 -2
- package/dist/_shared/content-container-CReiVugL.cjs.map +0 -1
- package/dist/_shared/copyable-CweQ72QI.cjs +0 -2
- package/dist/_shared/copyable-CweQ72QI.cjs.map +0 -1
- package/dist/_shared/copyable-JgsTp6ev.js +0 -38
- package/dist/_shared/copyable-JgsTp6ev.js.map +0 -1
- package/dist/_shared/date-picker-DI4b-SeE.cjs +0 -2
- package/dist/_shared/date-picker-DI4b-SeE.cjs.map +0 -1
- package/dist/_shared/date-picker-DTazvODY.js +0 -1352
- package/dist/_shared/date-picker-DTazvODY.js.map +0 -1
- package/dist/_shared/date-pickers-CLzuzmuc.cjs +0 -2
- package/dist/_shared/date-pickers-CLzuzmuc.cjs.map +0 -1
- package/dist/_shared/date-pickers-CWPxP3zy.js +0 -330
- package/dist/_shared/date-pickers-CWPxP3zy.js.map +0 -1
- package/dist/_shared/dialog-2MJmaj_d.js +0 -101
- package/dist/_shared/dialog-2MJmaj_d.js.map +0 -1
- package/dist/_shared/dialog-KKD0i1T8.cjs +0 -2
- package/dist/_shared/dialog-KKD0i1T8.cjs.map +0 -1
- package/dist/_shared/display-BCy1Ti7T.cjs +0 -8
- package/dist/_shared/display-BCy1Ti7T.cjs.map +0 -1
- package/dist/_shared/display-DUpkE2aS.js +0 -1462
- package/dist/_shared/display-DUpkE2aS.js.map +0 -1
- package/dist/_shared/dropdown-menu-BebBffUH.cjs +0 -2
- package/dist/_shared/dropdown-menu-BebBffUH.cjs.map +0 -1
- package/dist/_shared/dropdown-menu-xdGEynC8.js +0 -147
- package/dist/_shared/dropdown-menu-xdGEynC8.js.map +0 -1
- package/dist/_shared/form-field-rOj3cm6C.js +0 -319
- package/dist/_shared/form-field-rOj3cm6C.js.map +0 -1
- package/dist/_shared/form-field-rcyIIHjR.cjs +0 -2
- package/dist/_shared/form-field-rcyIIHjR.cjs.map +0 -1
- package/dist/_shared/form-sizing--bs_xPe2.cjs +0 -2
- package/dist/_shared/form-sizing--bs_xPe2.cjs.map +0 -1
- package/dist/_shared/form-sizing-CkKcs5fi.js +0 -21
- package/dist/_shared/form-sizing-CkKcs5fi.js.map +0 -1
- package/dist/_shared/format-BlVEsPyT.js +0 -48
- package/dist/_shared/format-BlVEsPyT.js.map +0 -1
- package/dist/_shared/format-DYVtSA2I.cjs +0 -2
- package/dist/_shared/format-DYVtSA2I.cjs.map +0 -1
- package/dist/_shared/forms-BAVsxxRk.js +0 -3374
- package/dist/_shared/forms-BAVsxxRk.js.map +0 -1
- package/dist/_shared/forms-DaZ3LsYc.cjs +0 -2
- package/dist/_shared/forms-DaZ3LsYc.cjs.map +0 -1
- package/dist/_shared/header-BtTMsQ5P.cjs +0 -2
- package/dist/_shared/header-BtTMsQ5P.cjs.map +0 -1
- package/dist/_shared/header-DpW4UWV6.js +0 -369
- package/dist/_shared/header-DpW4UWV6.js.map +0 -1
- package/dist/_shared/hooks-Bsm917yh.cjs +0 -2
- package/dist/_shared/hooks-Bsm917yh.cjs.map +0 -1
- package/dist/_shared/hooks-CX-SICd4.js +0 -118
- package/dist/_shared/hooks-CX-SICd4.js.map +0 -1
- package/dist/_shared/icon-badge-DGKpbo9_.cjs +0 -2
- package/dist/_shared/icon-badge-DGKpbo9_.cjs.map +0 -1
- package/dist/_shared/icon-badge-DoClA_9q.js +0 -52
- package/dist/_shared/icon-badge-DoClA_9q.js.map +0 -1
- package/dist/_shared/input-BXt-YtVs.cjs +0 -2
- package/dist/_shared/input-BXt-YtVs.cjs.map +0 -1
- package/dist/_shared/input-Bx4LeLhn.js +0 -17
- package/dist/_shared/input-Bx4LeLhn.js.map +0 -1
- package/dist/_shared/input-ChZGIhtS.cjs +0 -2
- package/dist/_shared/input-ChZGIhtS.cjs.map +0 -1
- package/dist/_shared/input-Cwv1-5jt.js +0 -182
- package/dist/_shared/input-Cwv1-5jt.js.map +0 -1
- package/dist/_shared/item-BmTYKzEb.js +0 -224
- package/dist/_shared/item-BmTYKzEb.js.map +0 -1
- package/dist/_shared/item-BtR-bz96.cjs +0 -2
- package/dist/_shared/item-BtR-bz96.cjs.map +0 -1
- package/dist/_shared/mentions-DVCjaO_z.cjs +0 -2
- package/dist/_shared/mentions-DVCjaO_z.cjs.map +0 -1
- package/dist/_shared/mentions-DzG8mX5H.js +0 -493
- package/dist/_shared/mentions-DzG8mX5H.js.map +0 -1
- package/dist/_shared/money-display-B5oxCs_0.cjs +0 -2
- package/dist/_shared/money-display-B5oxCs_0.cjs.map +0 -1
- package/dist/_shared/money-display-C0wI02ou.js +0 -198
- package/dist/_shared/money-display-C0wI02ou.js.map +0 -1
- package/dist/_shared/navigation-BA2nsTgU.cjs +0 -2
- package/dist/_shared/navigation-BA2nsTgU.cjs.map +0 -1
- package/dist/_shared/navigation-DHyaf-RZ.js +0 -420
- package/dist/_shared/navigation-DHyaf-RZ.js.map +0 -1
- package/dist/_shared/overlays-Kl6Gp6WR.js +0 -633
- package/dist/_shared/overlays-Kl6Gp6WR.js.map +0 -1
- package/dist/_shared/overlays-W6j-Pe1L.cjs +0 -2
- package/dist/_shared/overlays-W6j-Pe1L.cjs.map +0 -1
- package/dist/_shared/page-DROZhtWT.js +0 -263
- package/dist/_shared/page-DROZhtWT.js.map +0 -1
- package/dist/_shared/page-lh9Rcx_d.cjs +0 -2
- package/dist/_shared/page-lh9Rcx_d.cjs.map +0 -1
- package/dist/_shared/popover-BTEwjJZS.cjs +0 -2
- package/dist/_shared/popover-BTEwjJZS.cjs.map +0 -1
- package/dist/_shared/popover-CF9VWt-l.js +0 -83
- package/dist/_shared/popover-CF9VWt-l.js.map +0 -1
- package/dist/_shared/popover-menu-BYesl29w.js +0 -95
- package/dist/_shared/popover-menu-BYesl29w.js.map +0 -1
- package/dist/_shared/popover-menu-DF9sWz61.cjs +0 -2
- package/dist/_shared/popover-menu-DF9sWz61.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-UZghkgsh.cjs +0 -2
- package/dist/_shared/rich-text-editor-UZghkgsh.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-fUeuK-rY.js +0 -608
- package/dist/_shared/rich-text-editor-fUeuK-rY.js.map +0 -1
- package/dist/_shared/scroll-area-XJLcCczs.js +0 -41
- package/dist/_shared/scroll-area-XJLcCczs.js.map +0 -1
- package/dist/_shared/scroll-area-y8ZJoS97.cjs +0 -2
- package/dist/_shared/scroll-area-y8ZJoS97.cjs.map +0 -1
- package/dist/_shared/select-D8MYF4f7.js +0 -85
- package/dist/_shared/select-D8MYF4f7.js.map +0 -1
- package/dist/_shared/select-DxAiUfpM.cjs +0 -2
- package/dist/_shared/select-DxAiUfpM.cjs.map +0 -1
- package/dist/_shared/separator-BazqiQ9s.js +0 -16
- package/dist/_shared/separator-BazqiQ9s.js.map +0 -1
- package/dist/_shared/separator-DSkXMOXq.cjs +0 -2
- package/dist/_shared/separator-DSkXMOXq.cjs.map +0 -1
- package/dist/_shared/sheet-7iHOs-IU.js +0 -100
- package/dist/_shared/sheet-7iHOs-IU.js.map +0 -1
- package/dist/_shared/sheet-qKtoyxgi.cjs +0 -2
- package/dist/_shared/sheet-qKtoyxgi.cjs.map +0 -1
- package/dist/_shared/sidebar-CaTUJ3t-.js +0 -537
- package/dist/_shared/sidebar-CaTUJ3t-.js.map +0 -1
- package/dist/_shared/sidebar-DVjfsm-f.cjs +0 -2
- package/dist/_shared/sidebar-DVjfsm-f.cjs.map +0 -1
- package/dist/_shared/sidebar-aV5DVAVg.js +0 -371
- package/dist/_shared/sidebar-aV5DVAVg.js.map +0 -1
- package/dist/_shared/sidebar-mL0jSJ8u.cjs +0 -2
- package/dist/_shared/sidebar-mL0jSJ8u.cjs.map +0 -1
- package/dist/_shared/skeleton-Bwv_j9jJ.cjs +0 -2
- package/dist/_shared/skeleton-Bwv_j9jJ.cjs.map +0 -1
- package/dist/_shared/skeleton-DyKa-Ed-.js +0 -14
- package/dist/_shared/skeleton-DyKa-Ed-.js.map +0 -1
- package/dist/_shared/slot-ClIPTht1.cjs +0 -2
- package/dist/_shared/slot-ClIPTht1.cjs.map +0 -1
- package/dist/_shared/slot-CrS_VEVl.js +0 -18
- package/dist/_shared/slot-CrS_VEVl.js.map +0 -1
- package/dist/_shared/smart-card-Ddsjvf7r.cjs +0 -2
- package/dist/_shared/smart-card-Ddsjvf7r.cjs.map +0 -1
- package/dist/_shared/smart-card-hJ01usWt.js +0 -360
- package/dist/_shared/smart-card-hJ01usWt.js.map +0 -1
- package/dist/_shared/spinner-D-pcMBt1.js +0 -67
- package/dist/_shared/spinner-D-pcMBt1.js.map +0 -1
- package/dist/_shared/spinner-zbmhn0vE.cjs +0 -2
- package/dist/_shared/spinner-zbmhn0vE.cjs.map +0 -1
- package/dist/_shared/switch-C5J37LMI.cjs +0 -2
- package/dist/_shared/switch-C5J37LMI.cjs.map +0 -1
- package/dist/_shared/switch-ClGgHcEb.js +0 -51
- package/dist/_shared/switch-ClGgHcEb.js.map +0 -1
- package/dist/_shared/textarea-DeISZfHw.js +0 -119
- package/dist/_shared/textarea-DeISZfHw.js.map +0 -1
- package/dist/_shared/textarea-iR9txrty.cjs +0 -2
- package/dist/_shared/textarea-iR9txrty.cjs.map +0 -1
- package/dist/_shared/tooltip-CEqxHWxQ.js +0 -49
- package/dist/_shared/tooltip-CEqxHWxQ.js.map +0 -1
- package/dist/_shared/tooltip-DPv0LGr9.cjs +0 -2
- package/dist/_shared/tooltip-DPv0LGr9.cjs.map +0 -1
- package/dist/_shared/typography-BtPQBvSm.js +0 -135
- package/dist/_shared/typography-BtPQBvSm.js.map +0 -1
- package/dist/_shared/typography-DClleVWi.cjs +0 -2
- package/dist/_shared/typography-DClleVWi.cjs.map +0 -1
- package/dist/showcase/assets/AreaChart-D-RqNtqG.js +0 -6
- package/dist/showcase/assets/CSPContext-t69BXyB7.js +0 -1
- package/dist/showcase/assets/CompositeItem-DHNLgEeV.js +0 -1
- package/dist/showcase/assets/CompositeRoot-xq_0ZFev.js +0 -1
- package/dist/showcase/assets/DialogTrigger-Cl7n_3xX.js +0 -1
- package/dist/showcase/assets/FormContext-CXdwDz7F.js +0 -1
- package/dist/showcase/assets/PreviewLayout-BHemtKEf.js +0 -1
- package/dist/showcase/assets/RadioGroup-DXAt4VZN.js +0 -1
- package/dist/showcase/assets/Separator-C9vXwWmZ.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-iF4ctnIz.js +0 -1
- package/dist/showcase/assets/accordion-DzkNgNcB.js +0 -172
- package/dist/showcase/assets/accordion-variants-DP5-oxLe.js +0 -1
- package/dist/showcase/assets/action-menu-CyA2e9TF.js +0 -1
- package/dist/showcase/assets/activities-Dt-dO5ew.js +0 -501
- package/dist/showcase/assets/activities-feed-card-DZdFekXl.js +0 -1
- package/dist/showcase/assets/admin-C2SeJmE7.js +0 -80
- package/dist/showcase/assets/ai-Cwo0h_Xn.js +0 -41
- package/dist/showcase/assets/ai-artifact-3UJofyU5.js +0 -2
- package/dist/showcase/assets/ai-chat-CrFtG_Vg.js +0 -568
- package/dist/showcase/assets/ai-elements-iJ15Y7pS.js +0 -379
- package/dist/showcase/assets/ai-new-DuznZydd.js +0 -167
- package/dist/showcase/assets/ai-tool-call-CTcGGAQU.js +0 -1
- package/dist/showcase/assets/alert-CUGGckOX.js +0 -1
- package/dist/showcase/assets/alert-tWped3Sw.js +0 -59
- package/dist/showcase/assets/api-key-list-Q5LAqzMn.js +0 -73
- package/dist/showcase/assets/arrow-down-CfwCPcHL.js +0 -1
- package/dist/showcase/assets/arrow-left-BKx9qNX6.js +0 -1
- package/dist/showcase/assets/arrow-right-DlEpbqEk.js +0 -1
- package/dist/showcase/assets/arrow-up-BYQ4F9L1.js +0 -1
- package/dist/showcase/assets/arrow-up-right-C8r6vYfE.js +0 -1
- package/dist/showcase/assets/avatar-BuZ3zTbH.js +0 -57
- package/dist/showcase/assets/avatar-DR2mqPpY.js +0 -1
- package/dist/showcase/assets/badge-D1HLfP93.js +0 -28
- package/dist/showcase/assets/badge-check-oP2z_95u.js +0 -1
- package/dist/showcase/assets/bell-BTX2D-ES.js +0 -1
- package/dist/showcase/assets/bot-CKh5XgUG.js +0 -1
- package/dist/showcase/assets/box-F1uaZ6iw.js +0 -1
- package/dist/showcase/assets/brain-dD_ppLUa.js +0 -1
- package/dist/showcase/assets/brand-zisZOFKf.js +0 -40
- package/dist/showcase/assets/breadcrumb-C7vv0L8K.js +0 -52
- package/dist/showcase/assets/breadcrumb-fay5sLba.js +0 -1
- package/dist/showcase/assets/breadcrumbs-DklRXepp.js +0 -1
- package/dist/showcase/assets/briefcase-D9M4aNmi.js +0 -1
- package/dist/showcase/assets/button-DbhXfR1N.js +0 -44
- package/dist/showcase/assets/button-group-BpdhyMif.js +0 -1
- package/dist/showcase/assets/buttons-XexbmUtN.js +0 -259
- package/dist/showcase/assets/calendar-BADJgjpI.js +0 -16
- package/dist/showcase/assets/calendar-Djh3xLVx.js +0 -1
- package/dist/showcase/assets/calendar-dWZ2-0gU.js +0 -1
- package/dist/showcase/assets/card-BUSAPPkx.js +0 -1
- package/dist/showcase/assets/cards-DHBPe01w.js +0 -328
- package/dist/showcase/assets/chart-column-6l5wIZ0h.js +0 -1
- package/dist/showcase/assets/chevron-down-at2vrt1V.js +0 -1
- package/dist/showcase/assets/chevron-left-DIs3WYNO.js +0 -1
- package/dist/showcase/assets/chevron-right-BNy0Or0x.js +0 -1
- package/dist/showcase/assets/chevron-up-CX7619BJ.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-Be6eciau.js +0 -1
- package/dist/showcase/assets/circle-C0Yd1DDS.js +0 -1
- package/dist/showcase/assets/circle-alert-DfQp_X3_.js +0 -1
- package/dist/showcase/assets/circle-check-BkqQe1tv.js +0 -1
- package/dist/showcase/assets/circle-check-big-BXxHUhuc.js +0 -1
- package/dist/showcase/assets/circle-dot-HeRgxZxN.js +0 -1
- package/dist/showcase/assets/circle-question-mark-BgS4fb6N.js +0 -1
- package/dist/showcase/assets/circle-x-CMzwDsaf.js +0 -1
- package/dist/showcase/assets/clock-ynCzs_rR.js +0 -1
- package/dist/showcase/assets/code-xml-B8aVstrJ.js +0 -1
- package/dist/showcase/assets/collapsible-C8CKdiRn.js +0 -27
- package/dist/showcase/assets/collapsible-u43HxDHB.js +0 -1
- package/dist/showcase/assets/combobox-D-6ff0VG.js +0 -622
- package/dist/showcase/assets/command-BsHudlBe.js +0 -1
- package/dist/showcase/assets/command-DZqmBolX.js +0 -45
- package/dist/showcase/assets/comment-composer-OnxlkC5y.js +0 -1
- package/dist/showcase/assets/comment-item-DmZ1AJ2Y.js +0 -1
- package/dist/showcase/assets/comments-BjIVksjE.js +0 -349
- package/dist/showcase/assets/commerce-3T1GxvrA.js +0 -78
- package/dist/showcase/assets/commerce-extras-CYv_uRQR.js +0 -179
- package/dist/showcase/assets/composite-mol0-2zZ.js +0 -1
- package/dist/showcase/assets/contact-card-CWAANJqn.js +0 -65
- package/dist/showcase/assets/content-container-D3Phw6h8.js +0 -1
- package/dist/showcase/assets/copyable-BdzUH3U3.js +0 -96
- package/dist/showcase/assets/course-card-Cb6Y2vJ6.js +0 -113
- package/dist/showcase/assets/cpu-CRrekbGQ.js +0 -1
- package/dist/showcase/assets/credit-card--5vg7bQy.js +0 -1
- package/dist/showcase/assets/currency-VuqnKj_Y.js +0 -149
- package/dist/showcase/assets/dark-surfaces-DEyBimFz.js +0 -90
- package/dist/showcase/assets/database-Bnvw0wVV.js +0 -1
- package/dist/showcase/assets/date-block-IhoCVl_d.js +0 -1
- package/dist/showcase/assets/date-picker-DnJpsnaF.js +0 -1
- package/dist/showcase/assets/date-pickers-CEbieq-R.js +0 -110
- package/dist/showcase/assets/dense-info-B04QmrOd.js +0 -106
- package/dist/showcase/assets/dialog-DotEO3IO.js +0 -1
- package/dist/showcase/assets/display-hK7Dtm-B.js +0 -392
- package/dist/showcase/assets/dist-DQgGKvzA.js +0 -1
- package/dist/showcase/assets/dollar-sign-gJtl-XaL.js +0 -1
- package/dist/showcase/assets/download-CMrNgeil.js +0 -1
- package/dist/showcase/assets/dropdown-menu-Cqv6D7Sb.js +0 -1
- package/dist/showcase/assets/dropzone-v69fWHZJ.js +0 -1
- package/dist/showcase/assets/ellipsis-CgqPlt6Z.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-CiJqC0n2.js +0 -1
- package/dist/showcase/assets/empty-DYHzk-Gb.js +0 -1
- package/dist/showcase/assets/empty-item-CTwvC_3M.js +0 -49
- package/dist/showcase/assets/empty-state-eUgJ4h41.js +0 -188
- package/dist/showcase/assets/enhanced-activities-XU2u5gO6.js +0 -359
- package/dist/showcase/assets/esm-B7xAMXnv.js +0 -2
- package/dist/showcase/assets/event-calendar-D2rjpzq1.js +0 -138
- package/dist/showcase/assets/event-log-BxER62Ds.js +0 -326
- package/dist/showcase/assets/example-DPfw-R7_.js +0 -1
- package/dist/showcase/assets/external-link-DJNGkjZ0.js +0 -1
- package/dist/showcase/assets/eye-BQU3UqWi.js +0 -1
- package/dist/showcase/assets/feature-announcement-CjGQEODB.js +0 -34
- package/dist/showcase/assets/file-DBpbC8g-.js +0 -1
- package/dist/showcase/assets/file-text-DokBif5V.js +0 -1
- package/dist/showcase/assets/filters-DM2olMKy.js +0 -78
- package/dist/showcase/assets/flag-hAuZbHU1.js +0 -1
- package/dist/showcase/assets/folder-open-DqubQ0ts.js +0 -1
- package/dist/showcase/assets/form-sizing-CfbZF8Ja.js +0 -1
- package/dist/showcase/assets/format-gCABLair.js +0 -1
- package/dist/showcase/assets/forms-FsAT0C-I.js +0 -790
- package/dist/showcase/assets/generic-BUuo7j09.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-l8uxcPNL.js +0 -1
- package/dist/showcase/assets/gift-CS7Tg3kD.js +0 -1
- package/dist/showcase/assets/giftcard-cards-h1ffLs9F.js +0 -85
- package/dist/showcase/assets/git-branch-D4-6vv6t.js +0 -1
- package/dist/showcase/assets/global-search-BUyhhsQv.js +0 -90
- package/dist/showcase/assets/globe-CqLYhUfl.js +0 -1
- package/dist/showcase/assets/gradient-card-Bwr9OLIL.js +0 -58
- package/dist/showcase/assets/header-notifications-BWla1yhM.js +0 -1
- package/dist/showcase/assets/heart-DfZtXfIP.js +0 -1
- package/dist/showcase/assets/house-DhIReDt8.js +0 -1
- package/dist/showcase/assets/icon-badge-BgRFYZEc.js +0 -1
- package/dist/showcase/assets/image-D_eNEZWQ.js +0 -1
- package/dist/showcase/assets/inbox-5sFkO7gC.js +0 -1
- package/dist/showcase/assets/index-B-Z7p0So.js +0 -10
- package/dist/showcase/assets/inertValue-NU_Amr-x.js +0 -1
- package/dist/showcase/assets/info-DyB6KH3Z.js +0 -1
- package/dist/showcase/assets/inline-stat-D2aaM1Vt.js +0 -1
- package/dist/showcase/assets/input-BS64kyoq.js +0 -1
- package/dist/showcase/assets/input-DWLyniGt.js +0 -1
- package/dist/showcase/assets/input-group-BS8j5Eek.js +0 -47
- package/dist/showcase/assets/input-group-B_E_3EGS.js +0 -1
- package/dist/showcase/assets/inputs-DOQ2foig.js +0 -49
- package/dist/showcase/assets/invoice-header-C2-uQE_s.js +0 -36
- package/dist/showcase/assets/invoice-items-BUunRJqA.js +0 -36
- package/dist/showcase/assets/invoice-mini-BrLMrzN6.js +0 -14
- package/dist/showcase/assets/invoice-table-CaB9Z8jI.js +0 -30
- package/dist/showcase/assets/isSameDay-rwvIyLOL.js +0 -1
- package/dist/showcase/assets/isToday-CIAzBrb5.js +0 -1
- package/dist/showcase/assets/italic-B02a4PdD.js +0 -1
- package/dist/showcase/assets/item-C-0RObvI.js +0 -117
- package/dist/showcase/assets/item-CCu0Ufaq.js +0 -1
- package/dist/showcase/assets/item-DF4m_56j.js +0 -1
- package/dist/showcase/assets/kanban-BgW23a7P.js +0 -175
- package/dist/showcase/assets/label-MdV7pglj.js +0 -1
- package/dist/showcase/assets/layout-containers-nKVReEJB.js +0 -96
- package/dist/showcase/assets/layout-header-CKyxHHPC.js +0 -170
- package/dist/showcase/assets/layout-page-ClD2yMnK.js +0 -122
- package/dist/showcase/assets/layout-sidebar-jdQnYDiT.js +0 -224
- package/dist/showcase/assets/layout-users-Cv849xnU.js +0 -104
- package/dist/showcase/assets/lib-BHW4JERQ.js +0 -1
- package/dist/showcase/assets/lock-B8bfl9sZ.js +0 -1
- package/dist/showcase/assets/mail-DmOBTX4I.js +0 -1
- package/dist/showcase/assets/map-ButgRl8f.js +0 -124
- package/dist/showcase/assets/map-pin-o3egisLq.js +0 -1
- package/dist/showcase/assets/menus-DdXgYKVA.js +0 -89
- package/dist/showcase/assets/message-square-Bl6P4TA0.js +0 -1
- package/dist/showcase/assets/metadata-list-aXo96h_U.js +0 -278
- package/dist/showcase/assets/metric-BLHKuZtE.js +0 -1
- package/dist/showcase/assets/metric-grid-6Dpj5eV3.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-m389ipmG.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-B-1IUlHf.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-B8tvK_RB.js +0 -77
- package/dist/showcase/assets/metrics-comparison-DKJ7Js3F.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-BlRnJoI0.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-COI7f64X.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-LRfmKhsy.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-DmqIQVVR.js +0 -42
- package/dist/showcase/assets/metrics-overview-Dbf5RM2k.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-D5oevQvv.js +0 -54
- package/dist/showcase/assets/minus-D-jmUi0G.js +0 -1
- package/dist/showcase/assets/money-display-C__61373.js +0 -1
- package/dist/showcase/assets/month-year-picker-BfBQePUY.js +0 -1
- package/dist/showcase/assets/navigation-DUAe-sQV.js +0 -86
- package/dist/showcase/assets/navigation-extras-itSAf6QT.js +0 -43
- package/dist/showcase/assets/navigation-fAOvwIlP.js +0 -230
- package/dist/showcase/assets/onboarding-checklist-1gmzk3_J.js +0 -119
- package/dist/showcase/assets/overlays-BMTBOIEI.js +0 -88
- package/dist/showcase/assets/overlays-Lu16yJWM.js +0 -393
- package/dist/showcase/assets/package-BIa1hPVQ.js +0 -1
- package/dist/showcase/assets/page-action-button-C5NiQHnP.js +0 -1
- package/dist/showcase/assets/page-header-Cwf9DuhD.js +0 -1
- package/dist/showcase/assets/pagination-9iSNmdCx.js +0 -1
- package/dist/showcase/assets/pagination-MjniF-7j.js +0 -42
- package/dist/showcase/assets/paperclip-CaNLUOIA.js +0 -1
- package/dist/showcase/assets/pencil-DTLGPoc_.js +0 -1
- package/dist/showcase/assets/phone-XvU6LndA.js +0 -1
- package/dist/showcase/assets/plus-BDSCn8ol.js +0 -1
- package/dist/showcase/assets/popover-CvhuubS6.js +0 -1
- package/dist/showcase/assets/popover-DUQqLZN2.js +0 -1
- package/dist/showcase/assets/popover-menu-DVGBuFpL.js +0 -1
- package/dist/showcase/assets/progress-BQopCRpV.js +0 -1
- package/dist/showcase/assets/progress-CvSUR260.js +0 -18
- package/dist/showcase/assets/props-table-BzUnIcv-.js +0 -1
- package/dist/showcase/assets/quote-D55lkoXn.js +0 -1
- package/dist/showcase/assets/receipt-D3ilhl9U.js +0 -1
- package/dist/showcase/assets/refresh-cw-Csl2LQ4l.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-CM5i142y.js +0 -1
- package/dist/showcase/assets/rich-text-editor-Bz7jWvPv.js +0 -124
- package/dist/showcase/assets/rich-text-editor-DWKFpgNI.js +0 -141
- package/dist/showcase/assets/rotate-ccw-BnkpK7eq.js +0 -1
- package/dist/showcase/assets/scroll-area-BTVLd58j.js +0 -1
- package/dist/showcase/assets/scroll-area-CgFEDepJ.js +0 -32
- package/dist/showcase/assets/select-B7-tZDlG.js +0 -1
- package/dist/showcase/assets/send-BhjEdZ06.js +0 -1
- package/dist/showcase/assets/separator-CJayjKGP.js +0 -28
- package/dist/showcase/assets/separator-CZ_sPWQj.js +0 -1
- package/dist/showcase/assets/settings-Duj7gAZe.js +0 -1
- package/dist/showcase/assets/sheet-BMabZ_Gj.js +0 -1
- package/dist/showcase/assets/shield-C22sWOf4.js +0 -1
- package/dist/showcase/assets/shield-alert-DgZ6UO46.js +0 -1
- package/dist/showcase/assets/shield-check-jGSgmijm.js +0 -1
- package/dist/showcase/assets/shopping-bag-Cd09Ga6D.js +0 -1
- package/dist/showcase/assets/sidebar.context-CXTHS3vn.js +0 -1
- package/dist/showcase/assets/skeleton-Dmp4eC1A.js +0 -1
- package/dist/showcase/assets/skeleton-FLNbc7QP.js +0 -29
- package/dist/showcase/assets/smart-card-50WN9sCI.js +0 -1
- package/dist/showcase/assets/sonner-DR_DYpqb.js +0 -22
- package/dist/showcase/assets/sortable.esm-C_l8_Iqt.js +0 -5
- package/dist/showcase/assets/sparkles-C-fyahzv.js +0 -1
- package/dist/showcase/assets/spinner-B8jgVQNj.js +0 -30
- package/dist/showcase/assets/spinner-C4zPRpI0.js +0 -49
- package/dist/showcase/assets/spinner-DFjHsQlR.js +0 -1
- package/dist/showcase/assets/square-pen-Dp7lCfI3.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CTckbUiW.js +0 -1
- package/dist/showcase/assets/star-l00ivfkD.js +0 -1
- package/dist/showcase/assets/startOfDay-Xmododib.js +0 -1
- package/dist/showcase/assets/styles-zuwR0q1z.js +0 -1
- package/dist/showcase/assets/switch-D3LrIrTQ.js +0 -1
- package/dist/showcase/assets/switch-ylXVyh_N.js +0 -1
- package/dist/showcase/assets/table-Cn3-19zb.js +0 -1
- package/dist/showcase/assets/table-ao3IcAnF.js +0 -390
- package/dist/showcase/assets/tabs-CTLQKtiu.js +0 -19
- package/dist/showcase/assets/tabs-lc1fX94A.js +0 -1
- package/dist/showcase/assets/text-button-Fu8UY1A8.js +0 -1
- package/dist/showcase/assets/text-link--EyGasJN.js +0 -1
- package/dist/showcase/assets/textarea-BdhnlNrF.js +0 -1
- package/dist/showcase/assets/textarea-D1kG3a9B.js +0 -1
- package/dist/showcase/assets/timelines-DF3tNgyG.js +0 -186
- package/dist/showcase/assets/toggle-group-CfxuWsv9.js +0 -1
- package/dist/showcase/assets/toggles-CacdBPlV.js +0 -71
- package/dist/showcase/assets/toggles-group-CRhgTGmL.js +0 -32
- package/dist/showcase/assets/trash-2-B0_GprQM.js +0 -1
- package/dist/showcase/assets/trending-up-B202l1b6.js +0 -1
- package/dist/showcase/assets/truck-Bl1pNrHi.js +0 -1
- package/dist/showcase/assets/typography-DEtOxBlR.js +0 -214
- package/dist/showcase/assets/ui-badge-n4RA0J5b.js +0 -28
- package/dist/showcase/assets/ui-card-Ck-kzrTh.js +0 -30
- package/dist/showcase/assets/ui-table-gzOp82pf.js +0 -42
- package/dist/showcase/assets/upload-tray-VvKdTZSi.js +0 -138
- package/dist/showcase/assets/useAnchoredPopupScrollLock-Cu2ZwN7Z.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-C6_cdQ7B.js +0 -1
- package/dist/showcase/assets/useCompositeItem-BfUPqXoj.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-Cf2lpKB8.js +0 -1
- package/dist/showcase/assets/useControlled-C6q3nmcf.js +0 -1
- package/dist/showcase/assets/useLabelableId-CfPT16c1.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-CGeqRuuY.js +0 -1
- package/dist/showcase/assets/useRender-CoUlh0uZ.js +0 -1
- package/dist/showcase/assets/useRole-DSPUSyVX.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-BwZ1HD24.js +0 -1
- package/dist/showcase/assets/useValueChanged-Dej794I1.js +0 -1
- package/dist/showcase/assets/user-3L762Mec.js +0 -1
- package/dist/showcase/assets/user-plus-9WRYjS04.js +0 -1
- package/dist/showcase/assets/users-CxKZ7gt8.js +0 -1
- package/dist/showcase/assets/vendor-profile-BaCptdMF.js +0 -37
- package/dist/showcase/assets/wrench-Duh91tnW.js +0 -1
- package/dist/showcase/assets/x-t42iKYpL.js +0 -1
- package/dist/showcase/assets/zap-D0z3Tv_L.js +0 -1
|
@@ -763,18 +763,42 @@ Published package imports use exact subpaths, not broad aggregates:
|
|
|
763
763
|
|
|
764
764
|
- ✅ `admin-ui-starter-kit/typography`
|
|
765
765
|
- ✅ `admin-ui-starter-kit/base/item`
|
|
766
|
+
- ✅ `admin-ui-starter-kit/base/display/metadata`
|
|
766
767
|
- ✅ `admin-ui-starter-kit/composed/cards`
|
|
767
768
|
- ✅ `admin-ui-starter-kit/features/comments`
|
|
768
769
|
- ✅ `admin-ui-starter-kit/layout/page`
|
|
769
770
|
- ❌ `admin-ui-starter-kit/base`
|
|
770
771
|
- ❌ `admin-ui-starter-kit/composed`
|
|
771
772
|
- ❌ `admin-ui-starter-kit/features`
|
|
773
|
+
- ❌ `admin-ui-starter-kit/base/display/metadata/metadata-list`
|
|
772
774
|
|
|
773
775
|
The root package entrypoint (`admin-ui-starter-kit`) must stay optional-peer-free:
|
|
774
776
|
provider exports, strings helpers, and `cn` only. Do not re-export `Base`,
|
|
775
777
|
`Composed`, `Features`, or other broad namespaces from `src/index.ts`; those
|
|
776
778
|
would eagerly load optional peer packages in fresh consumer apps.
|
|
777
779
|
|
|
780
|
+
Most public package boundaries are first-level families. A nested subfamily is
|
|
781
|
+
public only when it has an explicit `package.json` export and
|
|
782
|
+
`vite.lib.config.ts` entry. Example: `MetadataList` is intentionally exported
|
|
783
|
+
from `admin-ui-starter-kit/base/display/metadata` so consumers do not need to
|
|
784
|
+
load the broader `base/display` barrel. Never document file-level paths such as
|
|
785
|
+
`admin-ui-starter-kit/base/display/metadata/metadata-list`.
|
|
786
|
+
|
|
787
|
+
The package `exports` map must list every public family as an exact key:
|
|
788
|
+
`./base/buttons`, `./features/comments`, `./layout/page`, etc. Do not use
|
|
789
|
+
wildcard exports such as `./base/*`, and do not use null wildcard blockers such
|
|
790
|
+
as `./base/*/*`; bundlers can treat those patterns inconsistently.
|
|
791
|
+
|
|
792
|
+
Base UI-backed triggers use Base UI's `render` prop, not Radix's `asChild`.
|
|
793
|
+
For dropdown menus, write:
|
|
794
|
+
|
|
795
|
+
```tsx
|
|
796
|
+
<DropdownMenuTrigger render={(props) => <Button {...props}>Open</Button>} />
|
|
797
|
+
```
|
|
798
|
+
|
|
799
|
+
Do not document `asChild` for `DropdownMenuTrigger`; it is not part of that
|
|
800
|
+
component's contract.
|
|
801
|
+
|
|
778
802
|
## 19. Strings file consolidation — per-feature, not per-partial
|
|
779
803
|
|
|
780
804
|
When several partials in the same feature share user-facing copy, consolidate into one `*.strings.ts` at the feature root with multiple exported interfaces — don't define `Strings` interfaces inline inside partial files.
|
|
@@ -22,7 +22,7 @@ imports:
|
|
|
22
22
|
- @/components/base/badge
|
|
23
23
|
- @/components/base/cards
|
|
24
24
|
- @/components/base/display/avatar
|
|
25
|
-
- @/components/base/display/metadata
|
|
25
|
+
- @/components/base/display/metadata
|
|
26
26
|
- @/components/typography
|
|
27
27
|
tags:
|
|
28
28
|
- base
|
|
@@ -68,8 +68,8 @@ import {
|
|
|
68
68
|
import { Avatar, AvatarFallback } from '@/components/base/display/avatar';
|
|
69
69
|
import { Badge } from '@/components/base/badge';
|
|
70
70
|
import { SmartCard } from '@/components/base/cards';
|
|
71
|
+
import { MetadataList, type MetadataListItem } from '@/components/base/display/metadata';
|
|
71
72
|
import { Text } from '@/components/typography';
|
|
72
|
-
import { MetadataList, type MetadataListItem } from '@/components/base/display/metadata/metadata-list';
|
|
73
73
|
|
|
74
74
|
// ─── Helpers ────────────────────────────────────────────────────────────
|
|
75
75
|
|
|
@@ -27,6 +27,7 @@ admin-ui-starter-kit # provider, strings helpers, cn only
|
|
|
27
27
|
admin-ui-starter-kit/ui-provider
|
|
28
28
|
admin-ui-starter-kit/typography
|
|
29
29
|
admin-ui-starter-kit/base/<family>
|
|
30
|
+
admin-ui-starter-kit/base/display/metadata
|
|
30
31
|
admin-ui-starter-kit/composed/<family>
|
|
31
32
|
admin-ui-starter-kit/features/<feature>
|
|
32
33
|
admin-ui-starter-kit/layout
|
|
@@ -40,6 +41,32 @@ Do not use or document broad `admin-ui-starter-kit/base`,
|
|
|
40
41
|
They are intentionally not exported so optional peers stay isolated to the exact
|
|
41
42
|
component family that needs them.
|
|
42
43
|
|
|
44
|
+
`package.json` must publish those component families as explicit exact keys,
|
|
45
|
+
not wildcard package exports. For example, publish `./base/buttons` and
|
|
46
|
+
`./features/comments`, not `./base/*` or `./features/*`. Do not use null
|
|
47
|
+
wildcard blockers such as `./base/*/*`; exact exports already keep undocumented
|
|
48
|
+
nested paths private and avoid bundler resolver drift.
|
|
49
|
+
|
|
50
|
+
Most public boundaries are first-level families. A nested subfamily is public
|
|
51
|
+
only when it has an explicit `package.json` export and `vite.lib.config.ts`
|
|
52
|
+
entry. Current intentional nested subfamily:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
admin-ui-starter-kit/base/display/metadata # MetadataList
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Examples of blocked package paths:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
admin-ui-starter-kit/base/navigation/dropdown-menu
|
|
62
|
+
admin-ui-starter-kit/features/comments/partials/comment-composer
|
|
63
|
+
admin-ui-starter-kit/base/display/metadata/metadata-list
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
If a component is not exported from its family index, add it to that family
|
|
67
|
+
index or add a deliberate exact subfamily export. Do not rely on declaration
|
|
68
|
+
files that happen to exist under `dist/`.
|
|
69
|
+
|
|
43
70
|
## Forbidden paths (these aliases are gone)
|
|
44
71
|
|
|
45
72
|
| ❌ Old | ✅ New |
|
package/AGENTS.md
CHANGED
|
@@ -109,14 +109,19 @@ Hard rules (full detail in the skill):
|
|
|
109
109
|
exports only optional-peer-free utilities/provider; `base`,
|
|
110
110
|
`composed`, and `features` aggregate entrypoints are intentionally
|
|
111
111
|
not public. Consumers import `admin-ui-starter-kit/base/item`,
|
|
112
|
-
`admin-ui-starter-kit/features/comments`, etc.
|
|
112
|
+
`admin-ui-starter-kit/features/comments`, etc. Nested subfamilies are
|
|
113
|
+
public only when explicitly exported, such as
|
|
114
|
+
`admin-ui-starter-kit/base/display/metadata` for `MetadataList`.
|
|
113
115
|
|
|
114
116
|
## Quick reference
|
|
115
117
|
|
|
116
118
|
- **Entry**: `src/preview/PreviewApp.tsx` (showcase) and the public
|
|
117
119
|
`package.json` `exports` map (`.`, `./ui-provider`,
|
|
118
|
-
`./typography`, `./base
|
|
119
|
-
`./
|
|
120
|
+
`./typography`, exact `./base/<family>`, exact
|
|
121
|
+
`./composed/<family>`, exact `./features/<feature>`, `./layout`,
|
|
122
|
+
exact `./layout/<family>`, `./lib/strings`, `./lib/utils`).
|
|
123
|
+
The exports map must use exact keys, not wildcard/null blocker
|
|
124
|
+
patterns.
|
|
120
125
|
- **`<UIProvider>`** (`@/lib/ui-provider`) — the **only** library-level
|
|
121
126
|
provider. Holds opinionated display defaults (`money.defaultCurrency`,
|
|
122
127
|
`dates.weekStartsOn`, `badge.defaultSize`, `card.defaultPadding`, …).
|
package/INTEGRATION.md
CHANGED
|
@@ -8,6 +8,9 @@ Use this when installing `admin-ui-starter-kit` into a React app.
|
|
|
8
8
|
npm install admin-ui-starter-kit react react-dom tailwindcss lucide-react
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
`lucide-react` is a v1 peer. If the host app still uses lucide v0, upgrade
|
|
12
|
+
lucide as part of the migration before adopting this package.
|
|
13
|
+
|
|
11
14
|
Install optional peers only for the entrypoints you import. For example,
|
|
12
15
|
`admin-ui-starter-kit/features/rich-text-editor` needs TipTap,
|
|
13
16
|
`admin-ui-starter-kit/base/table` needs TanStack Table, and
|
|
@@ -22,6 +25,7 @@ import { UIProvider } from 'admin-ui-starter-kit/ui-provider';
|
|
|
22
25
|
import { Text } from 'admin-ui-starter-kit/typography';
|
|
23
26
|
import { Button } from 'admin-ui-starter-kit/base/buttons';
|
|
24
27
|
import { Item, ItemContent, ItemMedia, ItemTitle } from 'admin-ui-starter-kit/base/item';
|
|
28
|
+
import { MetadataList } from 'admin-ui-starter-kit/base/display/metadata';
|
|
25
29
|
import { Comments } from 'admin-ui-starter-kit/features/comments';
|
|
26
30
|
import { PageHeader } from 'admin-ui-starter-kit/layout/page';
|
|
27
31
|
```
|
|
@@ -31,6 +35,15 @@ Do not import `admin-ui-starter-kit/base`,
|
|
|
31
35
|
Those broad aggregate entrypoints are intentionally not public because
|
|
32
36
|
they would force optional peers into apps that do not use them.
|
|
33
37
|
|
|
38
|
+
Only documented nested subfamily entrypoints are public. For example,
|
|
39
|
+
`MetadataList` is intentionally exported from
|
|
40
|
+
`admin-ui-starter-kit/base/display/metadata` so consumers do not need the
|
|
41
|
+
broader `base/display` barrel or its optional peers.
|
|
42
|
+
|
|
43
|
+
The package publishes exact export keys, not wildcard package exports. If an
|
|
44
|
+
import path is not documented or listed in `package.json` `exports`, treat it as
|
|
45
|
+
private even when a declaration file happens to exist under `dist/`.
|
|
46
|
+
|
|
34
47
|
The root entrypoint is intentionally small:
|
|
35
48
|
|
|
36
49
|
```tsx
|
|
@@ -80,7 +93,25 @@ For Next.js App Router or any React Server Components setup, import these
|
|
|
80
93
|
components from a client component file (`'use client'`). The package is
|
|
81
94
|
framework-neutral, but interactive UI still runs on the client.
|
|
82
95
|
|
|
83
|
-
## 5.
|
|
96
|
+
## 5. Compose Base UI triggers with `render`
|
|
97
|
+
|
|
98
|
+
Some shadcn-style primitives in this package are backed by Base UI. Dropdown
|
|
99
|
+
menus follow Base UI's `render` prop contract rather than Radix's `asChild`
|
|
100
|
+
contract:
|
|
101
|
+
|
|
102
|
+
```tsx
|
|
103
|
+
import { Button } from 'admin-ui-starter-kit/base/buttons';
|
|
104
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from 'admin-ui-starter-kit/base/navigation';
|
|
105
|
+
|
|
106
|
+
<DropdownMenu>
|
|
107
|
+
<DropdownMenuTrigger render={(props) => <Button {...props}>Open</Button>} />
|
|
108
|
+
<DropdownMenuContent />
|
|
109
|
+
</DropdownMenu>;
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Use `asChild` only on components that explicitly document it.
|
|
113
|
+
|
|
114
|
+
## 6. Keep local wrappers app-owned
|
|
84
115
|
|
|
85
116
|
If your app repeats the same routing/data wiring many times, create an app
|
|
86
117
|
wrapper in your codebase:
|
|
@@ -102,7 +133,7 @@ export function AppComments(props: Pick<CommentsProps, 'comments' | 'context'>)
|
|
|
102
133
|
Do not fork the package or add framework adapters inside it. Keep framework
|
|
103
134
|
wiring in the consuming app.
|
|
104
135
|
|
|
105
|
-
##
|
|
136
|
+
## 7. Verify a fresh install
|
|
106
137
|
|
|
107
138
|
For a quick smoke test:
|
|
108
139
|
|
package/PUBLISHING.md
CHANGED
|
@@ -112,7 +112,9 @@ You cannot delete or overwrite a published version. Always dry-run first.
|
|
|
112
112
|
| --- | --- |
|
|
113
113
|
| `npm publish` says "private package" | Remove `"private": true` from `package.json` |
|
|
114
114
|
| `npm publish` says "name not available" | Someone took the name; pick a new one |
|
|
115
|
-
| Consumers report "module not found" for `admin-ui-starter-kit/foo` | Add `./foo` to the `exports` map AND `vite.lib.config.ts
|
|
115
|
+
| Consumers report "module not found" for `admin-ui-starter-kit/foo` | Add an exact `./foo` entry to the `exports` map AND `vite.lib.config.ts`; rebuild and republish |
|
|
116
|
+
| Consumers report "module not found" for a nested component path | Only explicitly exported nested subfamilies are public. Add an exact `exports` entry plus `vite.lib.config.ts` entry, or document the first-level family import. Do not add wildcard or null-blocker exports. |
|
|
117
|
+
| Consumers must upgrade `lucide-react` | Expected for apps still on lucide v0; this package has a lucide v1 peer. |
|
|
116
118
|
| Published bundle has stale code | Confirm `prepublishOnly` ran; check `dist/` mtime; bump patch and republish |
|
|
117
119
|
| `peer dep warning: <pkg> not installed` for an optional peer | Verify the entry is in `peerDependenciesMeta.optional` block; consumer can ignore |
|
|
118
120
|
|
package/README.md
CHANGED
|
@@ -113,6 +113,9 @@ Always required:
|
|
|
113
113
|
npm install react react-dom tailwindcss lucide-react
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
+
`lucide-react` is intentionally a v1 peer. Apps still on lucide v0 should
|
|
117
|
+
plan that icon-package upgrade as part of adoption.
|
|
118
|
+
|
|
116
119
|
### 3. Optional peers — install only what you use
|
|
117
120
|
|
|
118
121
|
| Feature you import | Install peer |
|
|
@@ -272,21 +275,45 @@ import { Dialog, Drawer } from 'admin-ui-starter-kit/features/overlays';
|
|
|
272
275
|
import { useStrings } from 'admin-ui-starter-kit/lib/strings';
|
|
273
276
|
```
|
|
274
277
|
|
|
275
|
-
|
|
278
|
+
Use documented exact entrypoints only. `MetadataList` has its own public
|
|
279
|
+
subfamily entrypoint because the broader `base/display` barrel includes display
|
|
280
|
+
utilities with optional peers:
|
|
281
|
+
|
|
282
|
+
```tsx
|
|
283
|
+
import { MetadataList } from 'admin-ui-starter-kit/base/display/metadata';
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Safe public entrypoint shapes:
|
|
276
287
|
- `admin-ui-starter-kit` — provider, strings helpers, and `cn` only.
|
|
277
288
|
- `admin-ui-starter-kit/ui-provider`
|
|
278
289
|
- `admin-ui-starter-kit/typography`
|
|
279
|
-
- `admin-ui-starter-kit/base
|
|
280
|
-
- `admin-ui-starter-kit/
|
|
281
|
-
- `admin-ui-starter-kit/
|
|
282
|
-
- `admin-ui-starter-kit/
|
|
290
|
+
- `admin-ui-starter-kit/base/buttons`, `admin-ui-starter-kit/base/item`, etc.
|
|
291
|
+
- `admin-ui-starter-kit/base/display/metadata`
|
|
292
|
+
- `admin-ui-starter-kit/composed/cards`, `admin-ui-starter-kit/composed/analytics`, etc.
|
|
293
|
+
- `admin-ui-starter-kit/features/comments`, `admin-ui-starter-kit/features/filters`, etc.
|
|
294
|
+
- `admin-ui-starter-kit/layout` and exact layout families such as `admin-ui-starter-kit/layout/page`
|
|
283
295
|
- `admin-ui-starter-kit/lib/strings`
|
|
284
296
|
- `admin-ui-starter-kit/lib/utils`
|
|
285
297
|
|
|
286
298
|
Avoid broad component imports such as `admin-ui-starter-kit/base`,
|
|
287
299
|
`admin-ui-starter-kit/composed`, or `admin-ui-starter-kit/features`; they are
|
|
288
300
|
intentionally not exported. Use the exact family subpath so missing optional
|
|
289
|
-
peers fail only when you import the feature that needs them.
|
|
301
|
+
peers fail only when you import the feature that needs them. The package
|
|
302
|
+
`exports` map lists each public family as an exact key; wildcard exports and
|
|
303
|
+
null wildcard blockers are intentionally avoided because bundlers handle them
|
|
304
|
+
inconsistently.
|
|
305
|
+
|
|
306
|
+
Dropdown menus use Base UI's `render` prop for custom triggers, not Radix's
|
|
307
|
+
`asChild` prop:
|
|
308
|
+
|
|
309
|
+
```tsx
|
|
310
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from 'admin-ui-starter-kit/base/navigation';
|
|
311
|
+
|
|
312
|
+
<DropdownMenu>
|
|
313
|
+
<DropdownMenuTrigger render={(props) => <Button {...props}>Open</Button>} />
|
|
314
|
+
<DropdownMenuContent />
|
|
315
|
+
</DropdownMenu>
|
|
316
|
+
```
|
|
290
317
|
|
|
291
318
|
---
|
|
292
319
|
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { useStrings as e } from "../lib/strings.js";
|
|
2
|
+
import { cn as t } from "../lib/utils.js";
|
|
3
|
+
import { t as n } from "./text-DIxMTECE.js";
|
|
4
|
+
import { t as r } from "./icon-badge-Bi63T-bj.js";
|
|
5
|
+
import { forwardRef as i } from "react";
|
|
6
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
|
+
import { Accordion as s } from "@base-ui/react/accordion";
|
|
8
|
+
import { ChevronDownIcon as c, ChevronUpIcon as l } from "lucide-react";
|
|
9
|
+
//#region src/components/ui/accordion.tsx
|
|
10
|
+
function u({ className: e, ...n }) {
|
|
11
|
+
return /* @__PURE__ */ a(s.Root, {
|
|
12
|
+
"data-slot": "accordion",
|
|
13
|
+
className: t("flex w-full flex-col overflow-hidden rounded-2xl border", e),
|
|
14
|
+
...n
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function d({ className: e, ...n }) {
|
|
18
|
+
return /* @__PURE__ */ a(s.Item, {
|
|
19
|
+
"data-slot": "accordion-item",
|
|
20
|
+
className: t("not-last:border-b data-open:bg-muted/50", e),
|
|
21
|
+
...n
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function f({ className: e, children: n, ...r }) {
|
|
25
|
+
return /* @__PURE__ */ a(s.Header, {
|
|
26
|
+
className: "flex",
|
|
27
|
+
children: /* @__PURE__ */ o(s.Trigger, {
|
|
28
|
+
"data-slot": "accordion-trigger",
|
|
29
|
+
className: t("group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-4 text-left text-sm font-medium transition-all outline-none hover:underline aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", e),
|
|
30
|
+
...r,
|
|
31
|
+
children: [
|
|
32
|
+
n,
|
|
33
|
+
/* @__PURE__ */ a(c, {
|
|
34
|
+
"data-slot": "accordion-trigger-icon",
|
|
35
|
+
className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"
|
|
36
|
+
}),
|
|
37
|
+
/* @__PURE__ */ a(l, {
|
|
38
|
+
"data-slot": "accordion-trigger-icon",
|
|
39
|
+
className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"
|
|
40
|
+
})
|
|
41
|
+
]
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function p({ className: e, children: n, ...r }) {
|
|
46
|
+
return /* @__PURE__ */ a(s.Panel, {
|
|
47
|
+
"data-slot": "accordion-content",
|
|
48
|
+
className: "overflow-hidden px-4 text-sm data-open:animate-accordion-down data-closed:animate-accordion-up",
|
|
49
|
+
...r,
|
|
50
|
+
children: /* @__PURE__ */ a("div", {
|
|
51
|
+
className: t("h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", e),
|
|
52
|
+
children: n
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/components/base/accordion/accordion-variants.ts
|
|
58
|
+
var m = {
|
|
59
|
+
card: "space-y-2 border-0 rounded-none overflow-visible",
|
|
60
|
+
bordered: "rounded-lg border border-border bg-card overflow-hidden",
|
|
61
|
+
flat: "border-0 rounded-none bg-transparent overflow-visible"
|
|
62
|
+
}, h = {
|
|
63
|
+
card: "border border-border bg-card rounded-md data-open:bg-card",
|
|
64
|
+
bordered: "bg-transparent not-last:border-b border-border data-open:bg-muted/40",
|
|
65
|
+
flat: "border-0 bg-transparent data-open:bg-muted/30 rounded-md"
|
|
66
|
+
}, g = "gap-3 px-3 py-(--row-py) text-left hover:no-underline", _ = {
|
|
67
|
+
withMedallion: "pl-12 pr-3 pt-0",
|
|
68
|
+
withoutMedallion: "pl-3 pr-3 pt-0"
|
|
69
|
+
}, v = { regionAriaLabel: void 0 }, y = i(function({ items: r, multiple: i = !1, defaultValue: s, value: c, onValueChange: l, variant: y = "card", iconStyle: x = "medallion", className: S, itemClassName: C, triggerClassName: w, contentClassName: T, strings: E }, D) {
|
|
70
|
+
let O = e(v, E);
|
|
71
|
+
return /* @__PURE__ */ a(u, {
|
|
72
|
+
ref: D,
|
|
73
|
+
multiple: i,
|
|
74
|
+
defaultValue: s,
|
|
75
|
+
value: c,
|
|
76
|
+
onValueChange: l ? (e) => l(e) : void 0,
|
|
77
|
+
"aria-label": O.regionAriaLabel,
|
|
78
|
+
className: t("smart-accordion--component", m[y], S),
|
|
79
|
+
children: r.map((e) => /* @__PURE__ */ o(d, {
|
|
80
|
+
value: e.value,
|
|
81
|
+
className: t(h[y], C),
|
|
82
|
+
children: [/* @__PURE__ */ a(f, {
|
|
83
|
+
className: t(g, w),
|
|
84
|
+
disabled: e.disabled,
|
|
85
|
+
children: /* @__PURE__ */ o("div", {
|
|
86
|
+
className: "flex min-w-0 flex-1 items-center gap-3",
|
|
87
|
+
children: [
|
|
88
|
+
/* @__PURE__ */ a(b, {
|
|
89
|
+
iconStyle: x,
|
|
90
|
+
icon: e.icon
|
|
91
|
+
}),
|
|
92
|
+
/* @__PURE__ */ a(n, {
|
|
93
|
+
tag: "span",
|
|
94
|
+
weight: "semibold",
|
|
95
|
+
children: e.title
|
|
96
|
+
}),
|
|
97
|
+
!!e.badge && /* @__PURE__ */ a("span", {
|
|
98
|
+
className: "ml-1 inline-flex shrink-0",
|
|
99
|
+
children: e.badge
|
|
100
|
+
})
|
|
101
|
+
]
|
|
102
|
+
})
|
|
103
|
+
}), /* @__PURE__ */ a(p, {
|
|
104
|
+
className: t(x === "medallion" ? _.withMedallion : _.withoutMedallion, T),
|
|
105
|
+
children: /* @__PURE__ */ a(n, {
|
|
106
|
+
type: "secondary",
|
|
107
|
+
className: "leading-relaxed",
|
|
108
|
+
children: e.content
|
|
109
|
+
})
|
|
110
|
+
})]
|
|
111
|
+
}, e.value))
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
y.displayName = "SmartAccordion";
|
|
115
|
+
function b({ iconStyle: e, icon: t }) {
|
|
116
|
+
return e === "none" || !t ? null : e === "inline" ? /* @__PURE__ */ a("span", {
|
|
117
|
+
className: "inline-flex shrink-0 text-muted-foreground",
|
|
118
|
+
children: t
|
|
119
|
+
}) : /* @__PURE__ */ a(r, {
|
|
120
|
+
size: "sm",
|
|
121
|
+
tone: "muted",
|
|
122
|
+
shape: "circle",
|
|
123
|
+
"aria-hidden": "true",
|
|
124
|
+
children: t
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
//#endregion
|
|
128
|
+
export { m as a, d as c, h as i, f as l, v as n, u as o, _ as r, p as s, y as t };
|
|
129
|
+
|
|
130
|
+
//# sourceMappingURL=accordion-CztqyaIN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-CztqyaIN.js","names":[],"sources":["../../src/components/ui/accordion.tsx","../../src/components/base/accordion/accordion-variants.ts","../../src/components/base/accordion/accordion.strings.ts","../../src/components/base/accordion/smart-accordion.tsx"],"sourcesContent":["import { Accordion as AccordionPrimitive } from \"@base-ui/react/accordion\"\n\nimport { cn } from \"@/lib/utils\"\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nfunction Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn(\n \"flex w-full flex-col overflow-hidden rounded-2xl border\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"not-last:border-b data-open:bg-muted/50\", className)}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: AccordionPrimitive.Trigger.Props) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-4 text-left text-sm font-medium transition-all outline-none hover:underline aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\" />\n <ChevronUpIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionPrimitive.Panel.Props) {\n return (\n <AccordionPrimitive.Panel\n data-slot=\"accordion-content\"\n className=\"overflow-hidden px-4 text-sm data-open:animate-accordion-down data-closed:animate-accordion-up\"\n {...props}\n >\n <div\n className={cn(\n \"h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n className\n )}\n >\n {children}\n </div>\n </AccordionPrimitive.Panel>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n","/**\n * Shared accordion-shell variant classes — used by both `SmartAccordion`\n * and any composed surface that builds on `base/accordion` directly\n * (e.g. `composed/onboarding/checklist`).\n *\n * Exported because two consumers already keep it in lockstep; a third\n * one will copy this exact map. Centralising means a future tweak\n * (e.g. tighten `card` items to `border-border/70`) propagates.\n *\n * Padding tokens for trigger / content live alongside so the rhythm\n * is shared too:\n *\n * - Trigger: `gap-3 px-3 py-(--row-py)` — density-driven, `<UIProvider>`\n * override flows through.\n * - Content with leading medallion: `pl-12 pr-3 pt-0` — left padding\n * aligns body text under the title (medallion is `size-8` plus\n * `gap-3`, so 32 + 12 = pl-12).\n * - Content without medallion: `pl-3 pr-3 pt-0`.\n */\nexport type AccordionShellVariant = 'card' | 'bordered' | 'flat';\n\nexport const ACCORDION_ROOT_VARIANT_CLASS: Record<AccordionShellVariant, string> = {\n\tcard: 'space-y-2 border-0 rounded-none overflow-visible',\n\tbordered: 'rounded-lg border border-border bg-card overflow-hidden',\n\tflat: 'border-0 rounded-none bg-transparent overflow-visible',\n};\n\nexport const ACCORDION_ITEM_VARIANT_CLASS: Record<AccordionShellVariant, string> = {\n\tcard: 'border border-border bg-card rounded-md data-open:bg-card',\n\tbordered: 'bg-transparent not-last:border-b border-border data-open:bg-muted/40',\n\tflat: 'border-0 bg-transparent data-open:bg-muted/30 rounded-md',\n};\n\nexport const ACCORDION_TRIGGER_BASE =\n\t'gap-3 px-3 py-(--row-py) text-left hover:no-underline';\n\n/**\n * Content-padding presets keyed off the leading-icon width. Use\n * `withMedallion` when the trigger renders an `IconBadge size=\"sm\"`\n * (size-8 = 32px) plus `gap-3` (12px) so body text aligns under the\n * title.\n */\nexport const ACCORDION_CONTENT_PADDING = {\n\twithMedallion: 'pl-12 pr-3 pt-0',\n\twithoutMedallion: 'pl-3 pr-3 pt-0',\n} as const;\n","/**\n * Strings for `SmartAccordion`. There aren't many — Radix handles the\n * trigger ARIA states automatically, so the only library-owned copy is\n * the optional landmark label on the wrapping nav region. Consumers\n * override per-item `title` / `badge` / `content` directly via\n * `SmartAccordionItem` props (the strings live in the data, not here).\n */\nexport interface SmartAccordionStrings {\n\t/**\n\t * Sets `aria-label` on the wrapping element so screen readers can name\n\t * the accordion region. Optional — when absent, no aria-label is set.\n\t */\n\tregionAriaLabel?: string;\n}\n\nexport const defaultSmartAccordionStrings: SmartAccordionStrings = {\n\tregionAriaLabel: undefined,\n};\n","/**\n * SmartAccordion — the canonical \"icon + title + optional badge + body\"\n * accordion pattern, with three visual variants for the surface chrome\n * (`card` | `bordered` | `flat`) and three icon framings (`medallion` |\n * `inline` | `none`).\n *\n * Composes the wrapped `base/accordion` parts (rule 2 — composed-style\n * convenience built from re-exports, not the raw shadcn primitive).\n *\n * For richer rows (multi-line metadata, custom layouts), drop down to\n * the compound API:\n *\n * import { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n * from '@/components/base/accordion';\n */\nimport { forwardRef } from 'react';\n\nimport { IconBadge } from '@/components/base/display/icon-badge';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './accordion';\nimport {\n\tACCORDION_CONTENT_PADDING,\n\tACCORDION_ITEM_VARIANT_CLASS,\n\tACCORDION_ROOT_VARIANT_CLASS,\n\tACCORDION_TRIGGER_BASE,\n} from './accordion-variants';\nimport { defaultSmartAccordionStrings } from './accordion.strings';\nimport type {\n\tSmartAccordionIconStyle,\n\tSmartAccordionProps,\n} from './accordion.types';\n\nexport const SmartAccordion = forwardRef<HTMLDivElement, SmartAccordionProps>(function SmartAccordion({\n\titems,\n\tmultiple = false,\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tvariant = 'card',\n\ticonStyle = 'medallion',\n\tclassName,\n\titemClassName,\n\ttriggerClassName,\n\tcontentClassName,\n\tstrings: stringsProp,\n}, ref) {\n\tconst strings = useStrings(defaultSmartAccordionStrings, stringsProp);\n\treturn (\n\t\t<Accordion\n\t\t\tref={ref}\n\t\t\tmultiple={multiple}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tvalue={value}\n\t\t\tonValueChange={\n\t\t\t\tonValueChange\n\t\t\t\t\t? (next) => onValueChange(next as string[])\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-label={strings.regionAriaLabel}\n\t\t\tclassName={cn('smart-accordion--component', ACCORDION_ROOT_VARIANT_CLASS[variant], className)}\n\t\t>\n\t\t\t{items.map((item) => (\n\t\t\t\t<AccordionItem\n\t\t\t\t\tkey={item.value}\n\t\t\t\t\tvalue={item.value}\n\t\t\t\t\tclassName={cn(ACCORDION_ITEM_VARIANT_CLASS[variant], itemClassName)}\n\t\t\t\t>\n\t\t\t\t\t<AccordionTrigger\n\t\t\t\t\t\tclassName={cn(ACCORDION_TRIGGER_BASE, triggerClassName)}\n\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex min-w-0 flex-1 items-center gap-3\">\n\t\t\t\t\t\t\t<SmartAccordionIcon iconStyle={iconStyle} icon={item.icon} />\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">\n\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t<span className=\"ml-1 inline-flex shrink-0\">{item.badge}</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</AccordionTrigger>\n\t\t\t\t\t<AccordionContent\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\ticonStyle === 'medallion'\n\t\t\t\t\t\t\t\t? ACCORDION_CONTENT_PADDING.withMedallion\n\t\t\t\t\t\t\t\t: ACCORDION_CONTENT_PADDING.withoutMedallion,\n\t\t\t\t\t\t\tcontentClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text type=\"secondary\" className=\"leading-relaxed\">\n\t\t\t\t\t\t\t{item.content}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</AccordionContent>\n\t\t\t\t</AccordionItem>\n\t\t\t))}\n\t\t</Accordion>\n\t);\n});\n\nSmartAccordion.displayName = 'SmartAccordion';\n\nfunction SmartAccordionIcon({\n\ticonStyle,\n\ticon,\n}: {\n\ticonStyle: SmartAccordionIconStyle;\n\ticon?: React.ReactNode;\n}) {\n\tif (iconStyle === 'none' || !icon) return null;\n\tif (iconStyle === 'inline') {\n\t\treturn <span className=\"inline-flex shrink-0 text-muted-foreground\">{icon}</span>;\n\t}\n\treturn (\n\t\t<IconBadge size=\"sm\" tone=\"muted\" shape=\"circle\" aria-hidden=\"true\">\n\t\t\t{icon}\n\t\t</IconBadge>\n\t);\n}\n"],"mappings":";;;;;;;;;AAKA,SAAS,EAAU,EAAE,cAAW,GAAG,KAAwC;AACzE,QACE,kBAAC,EAAmB,MAApB;EACE,aAAU;EACV,WAAW,EACT,2DACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAc,EAAE,cAAW,GAAG,KAAwC;AAC7E,QACE,kBAAC,EAAmB,MAApB;EACE,aAAU;EACV,WAAW,EAAG,2CAA2C,EAAU;EACnE,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAiB,EACxB,cACA,aACA,GAAG,KACgC;AACnC,QACE,kBAAC,EAAmB,QAApB;EAA2B,WAAU;YACnC,kBAAC,EAAmB,SAApB;GACE,aAAU;GACV,WAAW,EACT,4YACA,EACD;GACD,GAAI;aANN;IAQG;IACD,kBAAC,GAAD;KAAiB,aAAU;KAAyB,WAAU;KAA8E,CAAA;IAC5I,kBAAC,GAAD;KAAe,aAAU;KAAyB,WAAU;KAAqF,CAAA;IACtH;;EACH,CAAA;;AAIhC,SAAS,EAAiB,EACxB,cACA,aACA,GAAG,KAC8B;AACjC,QACE,kBAAC,EAAmB,OAApB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,kBAAC,OAAD;GACE,WAAW,EACT,yLACA,EACD;GAEA;GACG,CAAA;EACmB,CAAA;;;;ACjD/B,IAAa,IAAsE;CAClF,MAAM;CACN,UAAU;CACV,MAAM;CACN,EAEY,IAAsE;CAClF,MAAM;CACN,UAAU;CACV,MAAM;CACN,EAEY,IACZ,yDAQY,IAA4B;CACxC,eAAe;CACf,kBAAkB;CAClB,EC9BY,IAAsD,EAClE,iBAAiB,KAAA,GACjB,ECkBY,IAAiB,EAAgD,SAAwB,EACrG,UACA,cAAW,IACX,iBACA,UACA,kBACA,aAAU,QACV,eAAY,aACZ,cACA,kBACA,qBACA,qBACA,SAAS,KACP,GAAK;CACP,IAAM,IAAU,EAAW,GAA8B,EAAY;AACrE,QACC,kBAAC,GAAD;EACM;EACK;EACI;EACP;EACP,eACC,KACI,MAAS,EAAc,EAAiB,GACzC,KAAA;EAEJ,cAAY,EAAQ;EACpB,WAAW,EAAG,8BAA8B,EAA6B,IAAU,EAAU;YAE5F,EAAM,KAAK,MACX,kBAAC,GAAD;GAEC,OAAO,EAAK;GACZ,WAAW,EAAG,EAA6B,IAAU,EAAc;aAHpE,CAKC,kBAAC,GAAD;IACC,WAAW,EAAG,GAAwB,EAAiB;IACvD,UAAU,EAAK;cAEf,kBAAC,OAAD;KAAK,WAAU;eAAf;MACC,kBAAC,GAAD;OAA+B;OAAW,MAAM,EAAK;OAAQ,CAAA;MAC7D,kBAAC,GAAD;OAAM,KAAI;OAAO,QAAO;iBACtB,EAAK;OACA,CAAA;MACN,CAAC,CAAC,EAAK,SACP,kBAAC,QAAD;OAAM,WAAU;iBAA6B,EAAK;OAAa,CAAA;MAE3D;;IACY,CAAA,EACnB,kBAAC,GAAD;IACC,WAAW,EACV,MAAc,cACX,EAA0B,gBAC1B,EAA0B,kBAC7B,EACA;cAED,kBAAC,GAAD;KAAM,MAAK;KAAY,WAAU;eAC/B,EAAK;KACA,CAAA;IACW,CAAA,CACJ;KA9BV,EAAK,MA8BK,CACf;EACS,CAAA;EAEZ;AAEF,EAAe,cAAc;AAE7B,SAAS,EAAmB,EAC3B,cACA,WAIE;AAKF,QAJI,MAAc,UAAU,CAAC,IAAa,OACtC,MAAc,WACV,kBAAC,QAAD;EAAM,WAAU;YAA8C;EAAY,CAAA,GAGjF,kBAAC,GAAD;EAAW,MAAK;EAAK,MAAK;EAAQ,OAAM;EAAS,eAAY;YAC3D;EACU,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require(`./chunk-D3uCBrYO.cjs`);const e=require(`../lib/strings.cjs`),t=require(`../lib/utils.cjs`),n=require(`./text-DBnY6fcL.cjs`),r=require(`./icon-badge-BBqDyAUz.cjs`);let i=require(`react`),a=require(`react/jsx-runtime`),o=require(`@base-ui/react/accordion`),s=require(`lucide-react`);function c({className:e,...n}){return(0,a.jsx)(o.Accordion.Root,{"data-slot":`accordion`,className:t.cn(`flex w-full flex-col overflow-hidden rounded-2xl border`,e),...n})}function l({className:e,...n}){return(0,a.jsx)(o.Accordion.Item,{"data-slot":`accordion-item`,className:t.cn(`not-last:border-b data-open:bg-muted/50`,e),...n})}function u({className:e,children:n,...r}){return(0,a.jsx)(o.Accordion.Header,{className:`flex`,children:(0,a.jsxs)(o.Accordion.Trigger,{"data-slot":`accordion-trigger`,className:t.cn(`group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-4 text-left text-sm font-medium transition-all outline-none hover:underline aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground`,e),...r,children:[n,(0,a.jsx)(s.ChevronDownIcon,{"data-slot":`accordion-trigger-icon`,className:`pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden`}),(0,a.jsx)(s.ChevronUpIcon,{"data-slot":`accordion-trigger-icon`,className:`pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline`})]})})}function d({className:e,children:n,...r}){return(0,a.jsx)(o.Accordion.Panel,{"data-slot":`accordion-content`,className:`overflow-hidden px-4 text-sm data-open:animate-accordion-down data-closed:animate-accordion-up`,...r,children:(0,a.jsx)(`div`,{className:t.cn(`h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4`,e),children:n})})}var f={card:`space-y-2 border-0 rounded-none overflow-visible`,bordered:`rounded-lg border border-border bg-card overflow-hidden`,flat:`border-0 rounded-none bg-transparent overflow-visible`},p={card:`border border-border bg-card rounded-md data-open:bg-card`,bordered:`bg-transparent not-last:border-b border-border data-open:bg-muted/40`,flat:`border-0 bg-transparent data-open:bg-muted/30 rounded-md`},m=`gap-3 px-3 py-(--row-py) text-left hover:no-underline`,h={withMedallion:`pl-12 pr-3 pt-0`,withoutMedallion:`pl-3 pr-3 pt-0`},g={regionAriaLabel:void 0},_=(0,i.forwardRef)(function({items:r,multiple:i=!1,defaultValue:o,value:s,onValueChange:_,variant:y=`card`,iconStyle:b=`medallion`,className:x,itemClassName:S,triggerClassName:C,contentClassName:w,strings:T},E){let D=e.useStrings(g,T);return(0,a.jsx)(c,{ref:E,multiple:i,defaultValue:o,value:s,onValueChange:_?e=>_(e):void 0,"aria-label":D.regionAriaLabel,className:t.cn(`smart-accordion--component`,f[y],x),children:r.map(e=>(0,a.jsxs)(l,{value:e.value,className:t.cn(p[y],S),children:[(0,a.jsx)(u,{className:t.cn(m,C),disabled:e.disabled,children:(0,a.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,a.jsx)(v,{iconStyle:b,icon:e.icon}),(0,a.jsx)(n.t,{tag:`span`,weight:`semibold`,children:e.title}),!!e.badge&&(0,a.jsx)(`span`,{className:`ml-1 inline-flex shrink-0`,children:e.badge})]})}),(0,a.jsx)(d,{className:t.cn(b===`medallion`?h.withMedallion:h.withoutMedallion,w),children:(0,a.jsx)(n.t,{type:`secondary`,className:`leading-relaxed`,children:e.content})})]},e.value))})});_.displayName=`SmartAccordion`;function v({iconStyle:e,icon:t}){return e===`none`||!t?null:e===`inline`?(0,a.jsx)(`span`,{className:`inline-flex shrink-0 text-muted-foreground`,children:t}):(0,a.jsx)(r.t,{size:`sm`,tone:`muted`,shape:`circle`,"aria-hidden":`true`,children:t})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return _}});
|
|
2
|
+
//# sourceMappingURL=accordion-D5uTCLCB.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-D5uTCLCB.cjs","names":[],"sources":["../../src/components/ui/accordion.tsx","../../src/components/base/accordion/accordion-variants.ts","../../src/components/base/accordion/accordion.strings.ts","../../src/components/base/accordion/smart-accordion.tsx"],"sourcesContent":["import { Accordion as AccordionPrimitive } from \"@base-ui/react/accordion\"\n\nimport { cn } from \"@/lib/utils\"\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nfunction Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn(\n \"flex w-full flex-col overflow-hidden rounded-2xl border\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"not-last:border-b data-open:bg-muted/50\", className)}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: AccordionPrimitive.Trigger.Props) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-4 text-left text-sm font-medium transition-all outline-none hover:underline aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\" />\n <ChevronUpIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionPrimitive.Panel.Props) {\n return (\n <AccordionPrimitive.Panel\n data-slot=\"accordion-content\"\n className=\"overflow-hidden px-4 text-sm data-open:animate-accordion-down data-closed:animate-accordion-up\"\n {...props}\n >\n <div\n className={cn(\n \"h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n className\n )}\n >\n {children}\n </div>\n </AccordionPrimitive.Panel>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n","/**\n * Shared accordion-shell variant classes — used by both `SmartAccordion`\n * and any composed surface that builds on `base/accordion` directly\n * (e.g. `composed/onboarding/checklist`).\n *\n * Exported because two consumers already keep it in lockstep; a third\n * one will copy this exact map. Centralising means a future tweak\n * (e.g. tighten `card` items to `border-border/70`) propagates.\n *\n * Padding tokens for trigger / content live alongside so the rhythm\n * is shared too:\n *\n * - Trigger: `gap-3 px-3 py-(--row-py)` — density-driven, `<UIProvider>`\n * override flows through.\n * - Content with leading medallion: `pl-12 pr-3 pt-0` — left padding\n * aligns body text under the title (medallion is `size-8` plus\n * `gap-3`, so 32 + 12 = pl-12).\n * - Content without medallion: `pl-3 pr-3 pt-0`.\n */\nexport type AccordionShellVariant = 'card' | 'bordered' | 'flat';\n\nexport const ACCORDION_ROOT_VARIANT_CLASS: Record<AccordionShellVariant, string> = {\n\tcard: 'space-y-2 border-0 rounded-none overflow-visible',\n\tbordered: 'rounded-lg border border-border bg-card overflow-hidden',\n\tflat: 'border-0 rounded-none bg-transparent overflow-visible',\n};\n\nexport const ACCORDION_ITEM_VARIANT_CLASS: Record<AccordionShellVariant, string> = {\n\tcard: 'border border-border bg-card rounded-md data-open:bg-card',\n\tbordered: 'bg-transparent not-last:border-b border-border data-open:bg-muted/40',\n\tflat: 'border-0 bg-transparent data-open:bg-muted/30 rounded-md',\n};\n\nexport const ACCORDION_TRIGGER_BASE =\n\t'gap-3 px-3 py-(--row-py) text-left hover:no-underline';\n\n/**\n * Content-padding presets keyed off the leading-icon width. Use\n * `withMedallion` when the trigger renders an `IconBadge size=\"sm\"`\n * (size-8 = 32px) plus `gap-3` (12px) so body text aligns under the\n * title.\n */\nexport const ACCORDION_CONTENT_PADDING = {\n\twithMedallion: 'pl-12 pr-3 pt-0',\n\twithoutMedallion: 'pl-3 pr-3 pt-0',\n} as const;\n","/**\n * Strings for `SmartAccordion`. There aren't many — Radix handles the\n * trigger ARIA states automatically, so the only library-owned copy is\n * the optional landmark label on the wrapping nav region. Consumers\n * override per-item `title` / `badge` / `content` directly via\n * `SmartAccordionItem` props (the strings live in the data, not here).\n */\nexport interface SmartAccordionStrings {\n\t/**\n\t * Sets `aria-label` on the wrapping element so screen readers can name\n\t * the accordion region. Optional — when absent, no aria-label is set.\n\t */\n\tregionAriaLabel?: string;\n}\n\nexport const defaultSmartAccordionStrings: SmartAccordionStrings = {\n\tregionAriaLabel: undefined,\n};\n","/**\n * SmartAccordion — the canonical \"icon + title + optional badge + body\"\n * accordion pattern, with three visual variants for the surface chrome\n * (`card` | `bordered` | `flat`) and three icon framings (`medallion` |\n * `inline` | `none`).\n *\n * Composes the wrapped `base/accordion` parts (rule 2 — composed-style\n * convenience built from re-exports, not the raw shadcn primitive).\n *\n * For richer rows (multi-line metadata, custom layouts), drop down to\n * the compound API:\n *\n * import { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n * from '@/components/base/accordion';\n */\nimport { forwardRef } from 'react';\n\nimport { IconBadge } from '@/components/base/display/icon-badge';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './accordion';\nimport {\n\tACCORDION_CONTENT_PADDING,\n\tACCORDION_ITEM_VARIANT_CLASS,\n\tACCORDION_ROOT_VARIANT_CLASS,\n\tACCORDION_TRIGGER_BASE,\n} from './accordion-variants';\nimport { defaultSmartAccordionStrings } from './accordion.strings';\nimport type {\n\tSmartAccordionIconStyle,\n\tSmartAccordionProps,\n} from './accordion.types';\n\nexport const SmartAccordion = forwardRef<HTMLDivElement, SmartAccordionProps>(function SmartAccordion({\n\titems,\n\tmultiple = false,\n\tdefaultValue,\n\tvalue,\n\tonValueChange,\n\tvariant = 'card',\n\ticonStyle = 'medallion',\n\tclassName,\n\titemClassName,\n\ttriggerClassName,\n\tcontentClassName,\n\tstrings: stringsProp,\n}, ref) {\n\tconst strings = useStrings(defaultSmartAccordionStrings, stringsProp);\n\treturn (\n\t\t<Accordion\n\t\t\tref={ref}\n\t\t\tmultiple={multiple}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tvalue={value}\n\t\t\tonValueChange={\n\t\t\t\tonValueChange\n\t\t\t\t\t? (next) => onValueChange(next as string[])\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-label={strings.regionAriaLabel}\n\t\t\tclassName={cn('smart-accordion--component', ACCORDION_ROOT_VARIANT_CLASS[variant], className)}\n\t\t>\n\t\t\t{items.map((item) => (\n\t\t\t\t<AccordionItem\n\t\t\t\t\tkey={item.value}\n\t\t\t\t\tvalue={item.value}\n\t\t\t\t\tclassName={cn(ACCORDION_ITEM_VARIANT_CLASS[variant], itemClassName)}\n\t\t\t\t>\n\t\t\t\t\t<AccordionTrigger\n\t\t\t\t\t\tclassName={cn(ACCORDION_TRIGGER_BASE, triggerClassName)}\n\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex min-w-0 flex-1 items-center gap-3\">\n\t\t\t\t\t\t\t<SmartAccordionIcon iconStyle={iconStyle} icon={item.icon} />\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">\n\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t<span className=\"ml-1 inline-flex shrink-0\">{item.badge}</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</AccordionTrigger>\n\t\t\t\t\t<AccordionContent\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\ticonStyle === 'medallion'\n\t\t\t\t\t\t\t\t? ACCORDION_CONTENT_PADDING.withMedallion\n\t\t\t\t\t\t\t\t: ACCORDION_CONTENT_PADDING.withoutMedallion,\n\t\t\t\t\t\t\tcontentClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text type=\"secondary\" className=\"leading-relaxed\">\n\t\t\t\t\t\t\t{item.content}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</AccordionContent>\n\t\t\t\t</AccordionItem>\n\t\t\t))}\n\t\t</Accordion>\n\t);\n});\n\nSmartAccordion.displayName = 'SmartAccordion';\n\nfunction SmartAccordionIcon({\n\ticonStyle,\n\ticon,\n}: {\n\ticonStyle: SmartAccordionIconStyle;\n\ticon?: React.ReactNode;\n}) {\n\tif (iconStyle === 'none' || !icon) return null;\n\tif (iconStyle === 'inline') {\n\t\treturn <span className=\"inline-flex shrink-0 text-muted-foreground\">{icon}</span>;\n\t}\n\treturn (\n\t\t<IconBadge size=\"sm\" tone=\"muted\" shape=\"circle\" aria-hidden=\"true\">\n\t\t\t{icon}\n\t\t</IconBadge>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { cn as e } from "../lib/utils.js";
|
|
2
|
+
import { t } from "./button-ChCkwoOD.js";
|
|
3
|
+
import { a as n, g as r, r as i, s as a, t as o } from "./dropdown-menu-4nxEBMnd.js";
|
|
4
|
+
import s from "react";
|
|
5
|
+
import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
6
|
+
import { MoreVertical as d } from "lucide-react";
|
|
7
|
+
//#region src/components/base/navigation/action-menu.tsx
|
|
8
|
+
var f = ({ label: n, icon: a = d, srText: f = "Open menu", buttonProps: p, align: m = "center", children: h, contentClassName: g = "", width: _ = "w-auto", closeOnSelect: v = !1, density: y = "default" }) => {
|
|
9
|
+
let [b, x] = s.useState(!1), S = s.useMemo(() => {
|
|
10
|
+
let e = s.Children.toArray(h).map((e) => {
|
|
11
|
+
if (!s.isValidElement(e) || e.type.displayName !== "MenuAction") return e;
|
|
12
|
+
let t = e, n = t.props.onClick;
|
|
13
|
+
return s.cloneElement(t, {
|
|
14
|
+
onClick: () => {
|
|
15
|
+
n && n(), v && x(!1);
|
|
16
|
+
},
|
|
17
|
+
density: t.props.density ?? y
|
|
18
|
+
});
|
|
19
|
+
}), t = e.filter((e) => s.isValidElement(e) ? e.props.variant !== "error" : !1), n = e.filter((e) => s.isValidElement(e) ? e.props.variant === "error" : !1);
|
|
20
|
+
return [...t, ...n];
|
|
21
|
+
}, [
|
|
22
|
+
h,
|
|
23
|
+
v,
|
|
24
|
+
y
|
|
25
|
+
]), C = {
|
|
26
|
+
variant: "secondary",
|
|
27
|
+
buttonStyle: "ghost",
|
|
28
|
+
size: "icon",
|
|
29
|
+
className: "h-8 w-8 p-0"
|
|
30
|
+
}, { variant: w = "secondary", buttonStyle: T = "ghost", size: E = "icon", className: D, ...O } = {
|
|
31
|
+
...C,
|
|
32
|
+
...p,
|
|
33
|
+
className: e(C.className, p?.className)
|
|
34
|
+
}, k = n ? /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(a, { className: "h-4 w-4 mr-2" }), n] }) : /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(a, { className: "h-4 w-4" }), /* @__PURE__ */ l("span", {
|
|
35
|
+
className: "sr-only",
|
|
36
|
+
children: f
|
|
37
|
+
})] });
|
|
38
|
+
return /* @__PURE__ */ u(o, {
|
|
39
|
+
open: b,
|
|
40
|
+
onOpenChange: x,
|
|
41
|
+
children: [/* @__PURE__ */ l(r, { render: (n) => /* @__PURE__ */ l(t, {
|
|
42
|
+
...O,
|
|
43
|
+
...n,
|
|
44
|
+
type: "button",
|
|
45
|
+
variant: w,
|
|
46
|
+
buttonStyle: T,
|
|
47
|
+
size: E,
|
|
48
|
+
className: e("action-menu--component", D, n.className),
|
|
49
|
+
children: k
|
|
50
|
+
}) }), /* @__PURE__ */ l(i, {
|
|
51
|
+
align: m,
|
|
52
|
+
className: e(_, "min-w-[140px] p-2", y === "table" && "text-xxs leading-4", g),
|
|
53
|
+
children: S
|
|
54
|
+
})]
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
f.displayName = "ActionMenu";
|
|
58
|
+
var p = s.forwardRef(({ onClick: t, href: r, prefetch: i, disabled: o = !1, icon: s, label: c, variant: d = "secondary", className: f = "", children: p, density: m = "default" }, h) => {
|
|
59
|
+
let g = r && !o, _ = g ? (t) => /* @__PURE__ */ l("a", {
|
|
60
|
+
...t,
|
|
61
|
+
href: r,
|
|
62
|
+
className: e(t.className)
|
|
63
|
+
}) : void 0;
|
|
64
|
+
return p ? g ? /* @__PURE__ */ l(a, {
|
|
65
|
+
href: r,
|
|
66
|
+
onClick: t,
|
|
67
|
+
render: _,
|
|
68
|
+
className: e("text-xs px-2 py-1.5 gap-1.5", m === "table" && "text-inherit leading-4", f),
|
|
69
|
+
children: p
|
|
70
|
+
}) : /* @__PURE__ */ l(n, {
|
|
71
|
+
ref: h,
|
|
72
|
+
disabled: o,
|
|
73
|
+
onClick: t,
|
|
74
|
+
className: e("text-xs px-2 py-1.5 gap-1.5", m === "table" && "text-inherit leading-4", f),
|
|
75
|
+
children: p
|
|
76
|
+
}) : g ? /* @__PURE__ */ u(a, {
|
|
77
|
+
href: r,
|
|
78
|
+
variant: d === "error" ? "destructive" : "default",
|
|
79
|
+
onClick: t,
|
|
80
|
+
render: _,
|
|
81
|
+
className: e("text-xs px-2 py-1.5 gap-1.5", m === "table" && "leading-4", f),
|
|
82
|
+
children: [!!s && /* @__PURE__ */ l(s, { className: "h-3.5 w-3.5" }), c]
|
|
83
|
+
}) : /* @__PURE__ */ u(n, {
|
|
84
|
+
ref: h,
|
|
85
|
+
disabled: o,
|
|
86
|
+
variant: d === "error" ? "destructive" : "default",
|
|
87
|
+
onClick: t,
|
|
88
|
+
className: e("text-xs px-2 py-1.5 gap-1.5", m === "table" && "leading-4", f),
|
|
89
|
+
children: [!!s && /* @__PURE__ */ l(s, { className: "h-3.5 w-3.5" }), c]
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
p.displayName = "MenuAction";
|
|
93
|
+
//#endregion
|
|
94
|
+
export { p as n, f as t };
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=action-menu-Yrj6VzFS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-menu-Yrj6VzFS.js","names":[],"sources":["../../src/components/base/navigation/action-menu.tsx"],"sourcesContent":["/**\n * ActionMenu — dropdown trigger + grouped menu items. Use `MenuAction`\n * children to define each menu entry; `variant=\"error\"` actions are\n * automatically grouped at the bottom for visual separation. Optional\n * `closeOnSelect` closes the menu after each selection. The `density=\"table\"`\n * variant tightens type and spacing for use inside DataTable rows.\n */\nimport type { LucideIcon } from 'lucide-react';\nimport { MoreVertical } from 'lucide-react';\nimport React, { type ReactElement } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuLinkItem,\n\tDropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\n\ntype ActionMenuButtonProps = Partial<React.ComponentPropsWithoutRef<typeof Button>>;\ntype ActionMenuDensity = 'default' | 'table';\n\nexport interface ActionMenuProps {\n\tlabel?: string;\n\ticon?: LucideIcon;\n\tsrText?: string;\n\tbuttonProps?: ActionMenuButtonProps;\n\talign?: 'center' | 'start' | 'end';\n\tchildren?: React.ReactNode;\n\tcontentClassName?: string;\n\twidth?: string;\n\tcloseOnSelect?: boolean;\n\tdensity?: ActionMenuDensity;\n}\n\nexport interface MenuActionProps {\n\tonClick?: () => void;\n\thref?: string;\n\tprefetch?: boolean;\n\tdisabled?: boolean;\n\ticon?: LucideIcon;\n\tlabel?: string;\n\tvariant?: 'primary' | 'secondary' | 'error';\n\tclassName?: string;\n\tchildren?: React.ReactNode;\n\tdensity?: ActionMenuDensity;\n}\n\nexport const ActionMenu = ({\n\tlabel,\n\ticon: IconComponent = MoreVertical,\n\tsrText = 'Open menu',\n\tbuttonProps,\n\talign = 'center',\n\tchildren,\n\tcontentClassName = '',\n\twidth = 'w-auto',\n\tcloseOnSelect = false,\n\tdensity = 'default',\n}: ActionMenuProps) => {\n\tconst [open, setOpen] = React.useState(false);\n\n\tconst processedChildren = React.useMemo(() => {\n\t\tconst childrenArray = React.Children.toArray(children);\n\n\t\tconst clonedChildren = childrenArray.map((child) => {\n\t\t\tif (!React.isValidElement(child)) return child;\n\n\t\t\tconst childType = child.type as React.ComponentType & { displayName?: string };\n\t\t\tif (childType.displayName !== 'MenuAction') return child;\n\n\t\t\tconst menuActionChild = child as React.ReactElement<MenuActionProps>;\n\t\t\tconst onClick = menuActionChild.props.onClick;\n\n\t\t\treturn React.cloneElement(menuActionChild, {\n\t\t\t\tonClick: () => {\n\t\t\t\t\tif (onClick) onClick();\n\t\t\t\t\tif (closeOnSelect) setOpen(false);\n\t\t\t\t},\n\t\t\t\tdensity: menuActionChild.props.density ?? density,\n\t\t\t});\n\t\t});\n\n\t\tconst standardActions = clonedChildren.filter((child): child is ReactElement<MenuActionProps> => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\treturn (child.props as MenuActionProps).variant !== 'error';\n\t\t});\n\n\t\tconst destructiveActions = clonedChildren.filter((child): child is ReactElement<MenuActionProps> => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\treturn (child.props as MenuActionProps).variant === 'error';\n\t\t});\n\n\t\treturn [...standardActions, ...destructiveActions];\n\t}, [children, closeOnSelect, density]);\n\n\tconst defaultButtonProps: ActionMenuButtonProps = {\n\t\tvariant: 'secondary',\n\t\tbuttonStyle: 'ghost',\n\t\tsize: 'icon',\n\t\tclassName: 'h-8 w-8 p-0',\n\t};\n\n\tconst mergedButtonProps = {\n\t\t...defaultButtonProps,\n\t\t...buttonProps,\n\t\tclassName: cn(defaultButtonProps.className, buttonProps?.className),\n\t};\n\n\tconst {\n\t\tvariant = 'secondary',\n\t\tbuttonStyle = 'ghost',\n\t\tsize = 'icon',\n\t\tclassName: triggerClassName,\n\t\t...triggerProps\n\t} = mergedButtonProps;\n\n\tconst buttonContent = label ? (\n\t\t<>\n\t\t\t<IconComponent className=\"h-4 w-4 mr-2\" />\n\t\t\t{label}\n\t\t</>\n\t) : (\n\t\t<>\n\t\t\t<IconComponent className=\"h-4 w-4\" />\n\t\t\t<span className=\"sr-only\">{srText}</span>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<DropdownMenu open={open} onOpenChange={setOpen}>\n\t\t\t<DropdownMenuTrigger\n\t\t\t\trender={(dropdownTriggerProps) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t{...dropdownTriggerProps}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\tbuttonStyle={buttonStyle}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'action-menu--component',\n\t\t\t\t\t\t\ttriggerClassName,\n\n\t\t\t\t\t\t\t(dropdownTriggerProps as { className?: string }).className,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{buttonContent}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<DropdownMenuContent\n\t\t\t\talign={align}\n\t\t\t\tclassName={cn(\n\t\t\t\t\twidth,\n\t\t\t\t\t'min-w-[140px] p-2',\n\t\t\t\t\tdensity === 'table' && 'text-xxs leading-4',\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{processedChildren}\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n};\n\nActionMenu.displayName = 'ActionMenu';\n\nexport const MenuAction = React.forwardRef<HTMLDivElement, MenuActionProps>(\n\t(\n\t\t{\n\t\t\tonClick,\n\t\t\thref,\n\t\t\tprefetch,\n\t\t\tdisabled = false,\n\t\t\ticon: IconComponent,\n\t\t\tlabel,\n\t\t\tvariant = 'secondary',\n\t\t\tclassName = '',\n\t\t\tchildren,\n\t\t\tdensity = 'default',\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst renderLink = href && !disabled;\n\t\tvoid prefetch;\n\t\tconst linkRenderer = renderLink\n\t\t\t? (renderProps: React.ComponentPropsWithoutRef<'a'>) => (\n\t\t\t\t\t<a\n\t\t\t\t\t\t{...renderProps}\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\tclassName={cn(renderProps.className)}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t: undefined;\n\n\t\tif (children) {\n\t\t\tif (renderLink) {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\trender={linkRenderer}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\t\tdensity === 'table' && 'text-inherit leading-4',\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</DropdownMenuLinkItem>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\tdensity === 'table' && 'text-inherit leading-4',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</DropdownMenuItem>\n\t\t\t);\n\t\t}\n\n\t\tif (renderLink) {\n\t\t\treturn (\n\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\thref={href}\n\t\t\t\t\tvariant={variant === 'error' ? 'destructive' : 'default'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\trender={linkRenderer}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\tdensity === 'table' && 'leading-4',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{!!IconComponent && <IconComponent className=\"h-3.5 w-3.5\" />}\n\t\t\t\t\t{label}\n\t\t\t\t</DropdownMenuLinkItem>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<DropdownMenuItem\n\t\t\t\tref={ref}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tvariant={variant === 'error' ? 'destructive' : 'default'}\n\t\t\t\tonClick={onClick}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\tdensity === 'table' && 'leading-4',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!!IconComponent && <IconComponent className=\"h-3.5 w-3.5\" />}\n\t\t\t\t{label}\n\t\t\t</DropdownMenuItem>\n\t\t);\n\t},\n);\n\nMenuAction.displayName = 'MenuAction';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./chunk-D3uCBrYO.cjs`),t=require(`../lib/utils.cjs`),n=require(`./button-D0nF99a9.cjs`),r=require(`./dropdown-menu-DZlWHqWS.cjs`);let i=require(`react`);i=e.t(i,1);let a=require(`react/jsx-runtime`),o=require(`lucide-react`);var s=({label:e,icon:s=o.MoreVertical,srText:c=`Open menu`,buttonProps:l,align:u=`center`,children:d,contentClassName:f=``,width:p=`w-auto`,closeOnSelect:m=!1,density:h=`default`})=>{let[g,_]=i.default.useState(!1),v=i.default.useMemo(()=>{let e=i.default.Children.toArray(d).map(e=>{if(!i.default.isValidElement(e)||e.type.displayName!==`MenuAction`)return e;let t=e,n=t.props.onClick;return i.default.cloneElement(t,{onClick:()=>{n&&n(),m&&_(!1)},density:t.props.density??h})}),t=e.filter(e=>i.default.isValidElement(e)?e.props.variant!==`error`:!1),n=e.filter(e=>i.default.isValidElement(e)?e.props.variant===`error`:!1);return[...t,...n]},[d,m,h]),y={variant:`secondary`,buttonStyle:`ghost`,size:`icon`,className:`h-8 w-8 p-0`},{variant:b=`secondary`,buttonStyle:x=`ghost`,size:S=`icon`,className:C,...w}={...y,...l,className:t.cn(y.className,l?.className)},T=e?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s,{className:`h-4 w-4 mr-2`}),e]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s,{className:`h-4 w-4`}),(0,a.jsx)(`span`,{className:`sr-only`,children:c})]});return(0,a.jsxs)(r.t,{open:g,onOpenChange:_,children:[(0,a.jsx)(r.g,{render:e=>(0,a.jsx)(n.t,{...w,...e,type:`button`,variant:b,buttonStyle:x,size:S,className:t.cn(`action-menu--component`,C,e.className),children:T})}),(0,a.jsx)(r.r,{align:u,className:t.cn(p,`min-w-[140px] p-2`,h===`table`&&`text-xxs leading-4`,f),children:v})]})};s.displayName=`ActionMenu`;var c=i.default.forwardRef(({onClick:e,href:n,prefetch:i,disabled:o=!1,icon:s,label:c,variant:l=`secondary`,className:u=``,children:d,density:f=`default`},p)=>{let m=n&&!o,h=m?e=>(0,a.jsx)(`a`,{...e,href:n,className:t.cn(e.className)}):void 0;return d?m?(0,a.jsx)(r.s,{href:n,onClick:e,render:h,className:t.cn(`text-xs px-2 py-1.5 gap-1.5`,f===`table`&&`text-inherit leading-4`,u),children:d}):(0,a.jsx)(r.a,{ref:p,disabled:o,onClick:e,className:t.cn(`text-xs px-2 py-1.5 gap-1.5`,f===`table`&&`text-inherit leading-4`,u),children:d}):m?(0,a.jsxs)(r.s,{href:n,variant:l===`error`?`destructive`:`default`,onClick:e,render:h,className:t.cn(`text-xs px-2 py-1.5 gap-1.5`,f===`table`&&`leading-4`,u),children:[!!s&&(0,a.jsx)(s,{className:`h-3.5 w-3.5`}),c]}):(0,a.jsxs)(r.a,{ref:p,disabled:o,variant:l===`error`?`destructive`:`default`,onClick:e,className:t.cn(`text-xs px-2 py-1.5 gap-1.5`,f===`table`&&`leading-4`,u),children:[!!s&&(0,a.jsx)(s,{className:`h-3.5 w-3.5`}),c]})});c.displayName=`MenuAction`,Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
2
|
+
//# sourceMappingURL=action-menu-eVP8GGlv.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-menu-eVP8GGlv.cjs","names":[],"sources":["../../src/components/base/navigation/action-menu.tsx"],"sourcesContent":["/**\n * ActionMenu — dropdown trigger + grouped menu items. Use `MenuAction`\n * children to define each menu entry; `variant=\"error\"` actions are\n * automatically grouped at the bottom for visual separation. Optional\n * `closeOnSelect` closes the menu after each selection. The `density=\"table\"`\n * variant tightens type and spacing for use inside DataTable rows.\n */\nimport type { LucideIcon } from 'lucide-react';\nimport { MoreVertical } from 'lucide-react';\nimport React, { type ReactElement } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuLinkItem,\n\tDropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\n\ntype ActionMenuButtonProps = Partial<React.ComponentPropsWithoutRef<typeof Button>>;\ntype ActionMenuDensity = 'default' | 'table';\n\nexport interface ActionMenuProps {\n\tlabel?: string;\n\ticon?: LucideIcon;\n\tsrText?: string;\n\tbuttonProps?: ActionMenuButtonProps;\n\talign?: 'center' | 'start' | 'end';\n\tchildren?: React.ReactNode;\n\tcontentClassName?: string;\n\twidth?: string;\n\tcloseOnSelect?: boolean;\n\tdensity?: ActionMenuDensity;\n}\n\nexport interface MenuActionProps {\n\tonClick?: () => void;\n\thref?: string;\n\tprefetch?: boolean;\n\tdisabled?: boolean;\n\ticon?: LucideIcon;\n\tlabel?: string;\n\tvariant?: 'primary' | 'secondary' | 'error';\n\tclassName?: string;\n\tchildren?: React.ReactNode;\n\tdensity?: ActionMenuDensity;\n}\n\nexport const ActionMenu = ({\n\tlabel,\n\ticon: IconComponent = MoreVertical,\n\tsrText = 'Open menu',\n\tbuttonProps,\n\talign = 'center',\n\tchildren,\n\tcontentClassName = '',\n\twidth = 'w-auto',\n\tcloseOnSelect = false,\n\tdensity = 'default',\n}: ActionMenuProps) => {\n\tconst [open, setOpen] = React.useState(false);\n\n\tconst processedChildren = React.useMemo(() => {\n\t\tconst childrenArray = React.Children.toArray(children);\n\n\t\tconst clonedChildren = childrenArray.map((child) => {\n\t\t\tif (!React.isValidElement(child)) return child;\n\n\t\t\tconst childType = child.type as React.ComponentType & { displayName?: string };\n\t\t\tif (childType.displayName !== 'MenuAction') return child;\n\n\t\t\tconst menuActionChild = child as React.ReactElement<MenuActionProps>;\n\t\t\tconst onClick = menuActionChild.props.onClick;\n\n\t\t\treturn React.cloneElement(menuActionChild, {\n\t\t\t\tonClick: () => {\n\t\t\t\t\tif (onClick) onClick();\n\t\t\t\t\tif (closeOnSelect) setOpen(false);\n\t\t\t\t},\n\t\t\t\tdensity: menuActionChild.props.density ?? density,\n\t\t\t});\n\t\t});\n\n\t\tconst standardActions = clonedChildren.filter((child): child is ReactElement<MenuActionProps> => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\treturn (child.props as MenuActionProps).variant !== 'error';\n\t\t});\n\n\t\tconst destructiveActions = clonedChildren.filter((child): child is ReactElement<MenuActionProps> => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\treturn (child.props as MenuActionProps).variant === 'error';\n\t\t});\n\n\t\treturn [...standardActions, ...destructiveActions];\n\t}, [children, closeOnSelect, density]);\n\n\tconst defaultButtonProps: ActionMenuButtonProps = {\n\t\tvariant: 'secondary',\n\t\tbuttonStyle: 'ghost',\n\t\tsize: 'icon',\n\t\tclassName: 'h-8 w-8 p-0',\n\t};\n\n\tconst mergedButtonProps = {\n\t\t...defaultButtonProps,\n\t\t...buttonProps,\n\t\tclassName: cn(defaultButtonProps.className, buttonProps?.className),\n\t};\n\n\tconst {\n\t\tvariant = 'secondary',\n\t\tbuttonStyle = 'ghost',\n\t\tsize = 'icon',\n\t\tclassName: triggerClassName,\n\t\t...triggerProps\n\t} = mergedButtonProps;\n\n\tconst buttonContent = label ? (\n\t\t<>\n\t\t\t<IconComponent className=\"h-4 w-4 mr-2\" />\n\t\t\t{label}\n\t\t</>\n\t) : (\n\t\t<>\n\t\t\t<IconComponent className=\"h-4 w-4\" />\n\t\t\t<span className=\"sr-only\">{srText}</span>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<DropdownMenu open={open} onOpenChange={setOpen}>\n\t\t\t<DropdownMenuTrigger\n\t\t\t\trender={(dropdownTriggerProps) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t{...dropdownTriggerProps}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\tbuttonStyle={buttonStyle}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'action-menu--component',\n\t\t\t\t\t\t\ttriggerClassName,\n\n\t\t\t\t\t\t\t(dropdownTriggerProps as { className?: string }).className,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{buttonContent}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<DropdownMenuContent\n\t\t\t\talign={align}\n\t\t\t\tclassName={cn(\n\t\t\t\t\twidth,\n\t\t\t\t\t'min-w-[140px] p-2',\n\t\t\t\t\tdensity === 'table' && 'text-xxs leading-4',\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{processedChildren}\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n};\n\nActionMenu.displayName = 'ActionMenu';\n\nexport const MenuAction = React.forwardRef<HTMLDivElement, MenuActionProps>(\n\t(\n\t\t{\n\t\t\tonClick,\n\t\t\thref,\n\t\t\tprefetch,\n\t\t\tdisabled = false,\n\t\t\ticon: IconComponent,\n\t\t\tlabel,\n\t\t\tvariant = 'secondary',\n\t\t\tclassName = '',\n\t\t\tchildren,\n\t\t\tdensity = 'default',\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst renderLink = href && !disabled;\n\t\tvoid prefetch;\n\t\tconst linkRenderer = renderLink\n\t\t\t? (renderProps: React.ComponentPropsWithoutRef<'a'>) => (\n\t\t\t\t\t<a\n\t\t\t\t\t\t{...renderProps}\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\tclassName={cn(renderProps.className)}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t: undefined;\n\n\t\tif (children) {\n\t\t\tif (renderLink) {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\trender={linkRenderer}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\t\tdensity === 'table' && 'text-inherit leading-4',\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</DropdownMenuLinkItem>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\tdensity === 'table' && 'text-inherit leading-4',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</DropdownMenuItem>\n\t\t\t);\n\t\t}\n\n\t\tif (renderLink) {\n\t\t\treturn (\n\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\thref={href}\n\t\t\t\t\tvariant={variant === 'error' ? 'destructive' : 'default'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\trender={linkRenderer}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\t\tdensity === 'table' && 'leading-4',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{!!IconComponent && <IconComponent className=\"h-3.5 w-3.5\" />}\n\t\t\t\t\t{label}\n\t\t\t\t</DropdownMenuLinkItem>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<DropdownMenuItem\n\t\t\t\tref={ref}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tvariant={variant === 'error' ? 'destructive' : 'default'}\n\t\t\t\tonClick={onClick}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'text-xs px-2 py-1.5 gap-1.5',\n\t\t\t\t\tdensity === 'table' && 'leading-4',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!!IconComponent && <IconComponent className=\"h-3.5 w-3.5\" />}\n\t\t\t\t{label}\n\t\t\t</DropdownMenuItem>\n\t\t);\n\t},\n);\n\nMenuAction.displayName = 'MenuAction';\n"],"mappings":"kPAkDA,IAAa,GAAc,CAC1B,QACA,KAAM,EAAgB,EAAA,aACtB,SAAS,YACT,cACA,QAAQ,SACR,WACA,mBAAmB,GACnB,QAAQ,SACR,gBAAgB,GAChB,UAAU,aACY,CACtB,GAAM,CAAC,EAAM,GAAW,EAAA,QAAM,SAAS,GAAM,CAEvC,EAAoB,EAAA,QAAM,YAAc,CAG7C,IAAM,EAFgB,EAAA,QAAM,SAAS,QAAQ,EAEtB,CAAc,IAAK,GAAU,CAInD,GAHI,CAAC,EAAA,QAAM,eAAe,EAAM,EAEd,EAAM,KACV,cAAgB,aAAc,OAAO,EAEnD,IAAM,EAAkB,EAClB,EAAU,EAAgB,MAAM,QAEtC,OAAO,EAAA,QAAM,aAAa,EAAiB,CAC1C,YAAe,CACV,GAAS,GAAS,CAClB,GAAe,EAAQ,GAAM,EAElC,QAAS,EAAgB,MAAM,SAAW,EAC1C,CAAC,EACD,CAEI,EAAkB,EAAe,OAAQ,GACzC,EAAA,QAAM,eAAe,EAAM,CACxB,EAAM,MAA0B,UAAY,QADX,GAExC,CAEI,EAAqB,EAAe,OAAQ,GAC5C,EAAA,QAAM,eAAe,EAAM,CACxB,EAAM,MAA0B,UAAY,QADX,GAExC,CAEF,MAAO,CAAC,GAAG,EAAiB,GAAG,EAAmB,EAChD,CAAC,EAAU,EAAe,EAAQ,CAAC,CAEhC,EAA4C,CACjD,QAAS,YACT,YAAa,QACb,KAAM,OACN,UAAW,cACX,CAQK,CACL,UAAU,YACV,cAAc,QACd,OAAO,OACP,UAAW,EACX,GAAG,GACA,CAXH,GAAG,EACH,GAAG,EACH,UAAW,EAAA,GAAG,EAAmB,UAAW,GAAa,UAAU,CAShE,CAEE,EAAgB,GACrB,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAD,CAAe,UAAU,eAAiB,CAAA,CACzC,EACC,CAAA,CAAA,EAEH,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAD,CAAe,UAAU,UAAY,CAAA,EACrC,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mBAAW,EAAc,CAAA,CACvC,CAAA,CAAA,CAGJ,OACC,EAAA,EAAA,MAAC,EAAA,EAAD,CAAoB,OAAM,aAAc,WAAxC,EACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,OAAS,IACR,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,GAAI,EACJ,GAAI,EACJ,KAAK,SACI,UACI,cACP,OACN,UAAW,EAAA,GACV,yBACA,EAEC,EAAgD,UACjD,UAEA,EACO,CAAA,CAET,CAAA,EACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACQ,QACP,UAAW,EAAA,GACV,EACA,oBACA,IAAY,SAAW,qBACvB,EACA,UAEA,EACoB,CAAA,CACR,IAIjB,EAAW,YAAc,aAEzB,IAAa,EAAa,EAAA,QAAM,YAE9B,CACC,UACA,OACA,WACA,WAAW,GACX,KAAM,EACN,QACA,UAAU,YACV,YAAY,GACZ,WACA,UAAU,WAEX,IACI,CACJ,IAAM,EAAa,GAAQ,CAAC,EAEtB,EAAe,EACjB,IACD,EAAA,EAAA,KAAC,IAAD,CACC,GAAI,EACE,OACN,UAAW,EAAA,GAAG,EAAY,UAAU,CACnC,CAAA,CAEF,IAAA,GAuDH,OArDI,EACC,GAEF,EAAA,EAAA,KAAC,EAAA,EAAD,CACO,OACG,UACT,OAAQ,EACR,UAAW,EAAA,GACV,8BACA,IAAY,SAAW,yBACvB,EACA,CAEA,WACqB,CAAA,EAKxB,EAAA,EAAA,KAAC,EAAA,EAAD,CACM,MACK,WACD,UACT,UAAW,EAAA,GACV,8BACA,IAAY,SAAW,yBACvB,EACA,CAEA,WACiB,CAAA,CAIjB,GAEF,EAAA,EAAA,MAAC,EAAA,EAAD,CACO,OACN,QAAS,IAAY,QAAU,cAAgB,UACtC,UACT,OAAQ,EACR,UAAW,EAAA,GACV,8BACA,IAAY,SAAW,YACvB,EACA,UATF,CAWE,CAAC,CAAC,IAAiB,EAAA,EAAA,KAAC,EAAD,CAAe,UAAU,cAAgB,CAAA,CAC5D,EACqB,IAKxB,EAAA,EAAA,MAAC,EAAA,EAAD,CACM,MACK,WACV,QAAS,IAAY,QAAU,cAAgB,UACtC,UACT,UAAW,EAAA,GACV,8BACA,IAAY,SAAW,YACvB,EACA,UATF,CAWE,CAAC,CAAC,IAAiB,EAAA,EAAA,KAAC,EAAD,CAAe,UAAU,cAAgB,CAAA,CAC5D,EACiB,IAGrB,CAED,EAAW,YAAc"}
|