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
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { cn as e } from "../lib/utils.js";
|
|
2
|
-
import { t } from "./badge-BbUN6W7E.js";
|
|
3
|
-
import * as n from "react";
|
|
4
|
-
import { useCallback as r, useEffect as i, useMemo as a } from "react";
|
|
5
|
-
import { jsx as o } from "react/jsx-runtime";
|
|
6
|
-
//#region src/components/layout/layout.types.tsx
|
|
7
|
-
var s = ({ href: e, children: t, disabled: n, external: r, rel: i, target: a, ...s }) => !e || n ? /* @__PURE__ */ o("span", {
|
|
8
|
-
...s,
|
|
9
|
-
children: t
|
|
10
|
-
}) : /* @__PURE__ */ o("a", {
|
|
11
|
-
href: e,
|
|
12
|
-
target: a ?? (r ? "_blank" : void 0),
|
|
13
|
-
rel: i ?? (r ? "noopener noreferrer" : void 0),
|
|
14
|
-
...s,
|
|
15
|
-
children: t
|
|
16
|
-
}), c = ({ children: e, ...t }) => /* @__PURE__ */ o("a", {
|
|
17
|
-
...t,
|
|
18
|
-
children: e
|
|
19
|
-
});
|
|
20
|
-
function l({ renderLink: e, LinkComponent: t } = {}) {
|
|
21
|
-
return e || (t ? ({ active: e, disabled: n, external: r, children: i, ...a }) => n || !a.href ? /* @__PURE__ */ o("span", {
|
|
22
|
-
className: a.className,
|
|
23
|
-
children: i
|
|
24
|
-
}) : /* @__PURE__ */ o(t, {
|
|
25
|
-
...a,
|
|
26
|
-
children: i
|
|
27
|
-
}) : s);
|
|
28
|
-
}
|
|
29
|
-
//#endregion
|
|
30
|
-
//#region src/components/layout/hooks/use-layout-link.tsx
|
|
31
|
-
function u({ renderLink: e, LinkComponent: t } = {}) {
|
|
32
|
-
return a(() => l({
|
|
33
|
-
renderLink: e,
|
|
34
|
-
LinkComponent: t
|
|
35
|
-
}), [e, t]);
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
//#region src/components/layout/sidebar/sidebar.utils.tsx
|
|
39
|
-
function d(e) {
|
|
40
|
-
if (e.startsWith("#/")) return e.slice(1).split("?")[0]?.split("#")[0] || "/";
|
|
41
|
-
try {
|
|
42
|
-
return new URL(e, "http://local.invalid").pathname;
|
|
43
|
-
} catch {
|
|
44
|
-
return e;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
function f(e, t) {
|
|
48
|
-
let n = d(e);
|
|
49
|
-
return n === t || n.startsWith(t + "/") || n.startsWith(t + "?");
|
|
50
|
-
}
|
|
51
|
-
function p(e) {
|
|
52
|
-
return e.label ?? e.title ?? "";
|
|
53
|
-
}
|
|
54
|
-
function m(e, t) {
|
|
55
|
-
let n = p(e);
|
|
56
|
-
return e.handle ?? e.href ?? (typeof n == "string" || typeof n == "number" ? n : `nav-${t ?? 0}`);
|
|
57
|
-
}
|
|
58
|
-
function h({ value: n, size: r = "default" }) {
|
|
59
|
-
return /* @__PURE__ */ o(t, {
|
|
60
|
-
variant: "secondary",
|
|
61
|
-
className: e("ml-auto rounded-full tabular-nums text-sidebar-foreground", r === "small" ? "h-4 min-w-4 px-1.5" : "h-5 min-w-5 px-1.5"),
|
|
62
|
-
children: n
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
function g(e, t, n) {
|
|
66
|
-
return e && n && n[e] != null ? n[e] : t;
|
|
67
|
-
}
|
|
68
|
-
function _({ icon: t, iconMap: r = {}, size: i = 20, className: a = "size-4", ...s }) {
|
|
69
|
-
if (!t) return null;
|
|
70
|
-
if (typeof t == "string") {
|
|
71
|
-
let e = r[t];
|
|
72
|
-
return e ? /* @__PURE__ */ o(e, { className: a }) : null;
|
|
73
|
-
}
|
|
74
|
-
return n.isValidElement(t) ? n.cloneElement(t, {
|
|
75
|
-
className: e(a, t.props.className),
|
|
76
|
-
...s
|
|
77
|
-
}) : typeof t == "function" || typeof t == "object" && t && "$$typeof" in t ? /* @__PURE__ */ o(t, {
|
|
78
|
-
className: a,
|
|
79
|
-
width: i,
|
|
80
|
-
height: i,
|
|
81
|
-
...s
|
|
82
|
-
}) : null;
|
|
83
|
-
}
|
|
84
|
-
function v(e, t, n, r, i) {
|
|
85
|
-
return e({
|
|
86
|
-
href: t.href,
|
|
87
|
-
children: n,
|
|
88
|
-
className: r,
|
|
89
|
-
active: i,
|
|
90
|
-
disabled: t.disabled || !t.href,
|
|
91
|
-
external: t.external
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
//#endregion
|
|
95
|
-
//#region src/components/layout/hooks/use-active-path.ts
|
|
96
|
-
function y(e = "/") {
|
|
97
|
-
return r((t) => !!t && f(e, d(t)), [e]);
|
|
98
|
-
}
|
|
99
|
-
//#endregion
|
|
100
|
-
//#region src/components/layout/hooks/use-command-shortcut.ts
|
|
101
|
-
function b({ key: e, enabled: t = !0, onTrigger: n, preventDefault: r = !0 }) {
|
|
102
|
-
i(() => {
|
|
103
|
-
if (!t || !n || typeof document > "u") return;
|
|
104
|
-
let i = (t) => {
|
|
105
|
-
(t.metaKey || t.ctrlKey) && t.key.toLowerCase() === e.toLowerCase() && (r && t.preventDefault(), n());
|
|
106
|
-
};
|
|
107
|
-
return document.addEventListener("keydown", i), () => document.removeEventListener("keydown", i);
|
|
108
|
-
}, [
|
|
109
|
-
t,
|
|
110
|
-
e,
|
|
111
|
-
n,
|
|
112
|
-
r
|
|
113
|
-
]);
|
|
114
|
-
}
|
|
115
|
-
//#endregion
|
|
116
|
-
export { m as a, v as c, u as d, c as f, h as i, g as l, l as m, y as n, p as o, s as p, _ as r, f as s, b as t, d as u };
|
|
117
|
-
|
|
118
|
-
//# sourceMappingURL=hooks-CX-SICd4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-CX-SICd4.js","names":[],"sources":["../../src/components/layout/layout.types.tsx","../../src/components/layout/hooks/use-layout-link.tsx","../../src/components/layout/sidebar/sidebar.utils.tsx","../../src/components/layout/hooks/use-active-path.ts","../../src/components/layout/hooks/use-command-shortcut.ts"],"sourcesContent":[" \n/**\n * Shared layout types used across page, header, and sidebar.\n *\n * The layout layer is framework-agnostic by contract. It never imports a\n * router package. Navigation is delegated to the consumer through\n * `renderLink`, with a backwards-compatible `LinkComponent` bridge for older\n * call sites.\n */\nimport type { ComponentType, MouseEvent, ReactNode } from 'react';\n\nexport interface LayoutLinkRenderProps {\n\t/** Destination URL. When omitted, render non-interactive content. */\n\thref?: string;\n\tchildren: ReactNode;\n\tclassName?: string;\n\ttarget?: string;\n\trel?: string;\n\tonClick?: (event: MouseEvent<HTMLAnchorElement>) => void;\n\t'aria-label'?: string;\n\t/** Consumer hint for active styling; renderers may ignore it. */\n\tactive?: boolean;\n\t/** Consumer hint to render as muted/non-interactive. */\n\tdisabled?: boolean;\n\t/** Consumer hint for external-link behavior. */\n\texternal?: boolean;\n}\n\n/**\n * Primary navigation seam. Consumers can wire Inertia, Next, React Router,\n * TanStack Router, or a plain anchor without this package importing them.\n *\n * Example:\n * renderLink={({ href, children, className }) => (\n * <Link href={href ?? '#'} className={className}>{children}</Link>\n * )}\n */\nexport type LayoutLinkRenderer = (props: LayoutLinkRenderProps) => ReactNode;\n\n/** Backwards-compatible component style. Prefer `renderLink` for new code. */\nexport type LinkComponent = ComponentType<{\n\thref?: string;\n\tclassName?: string;\n\tchildren?: ReactNode;\n\ttarget?: string;\n\trel?: string;\n\tonClick?: (event: MouseEvent<HTMLAnchorElement>) => void;\n\t'aria-label'?: string;\n}>;\n\nexport interface LayoutNavigationAdapter {\n\t/** Preferred renderer for framework-native links. */\n\trenderLink?: LayoutLinkRenderer;\n\t/** Compatibility bridge for old call sites. Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\n/** Default link renderer — native anchor with disabled fallback. */\nexport const defaultRenderLink: LayoutLinkRenderer = ({\n\thref,\n\tchildren,\n\tdisabled,\n\texternal,\n\trel,\n\ttarget,\n\t...props\n}) => {\n\tif (!href || disabled) {\n\t\treturn <span {...props}>{children}</span>;\n\t}\n\n\tconst resolvedTarget = target ?? (external ? '_blank' : undefined);\n\tconst resolvedRel = rel ?? (external ? 'noopener noreferrer' : undefined);\n\n\treturn (\n\t\t<a href={href} target={resolvedTarget} rel={resolvedRel} {...props}>\n\t\t\t{children}\n\t\t</a>\n\t);\n};\n\nexport const DefaultLinkComponent: LinkComponent = ({ children, ...props }) => (\n\t<a {...props}>{children}</a>\n);\n\n/** Resolve the final renderer while preserving `LinkComponent` compatibility. */\nexport function resolveLayoutLinkRenderer({\n\trenderLink,\n\tLinkComponent,\n}: LayoutNavigationAdapter = {}): LayoutLinkRenderer {\n\tif (renderLink) return renderLink;\n\tif (LinkComponent) {\n\t\treturn ({ active, disabled, external, children, ...props }) => {\n\t\t\tvoid active;\n\t\t\tvoid external;\n\t\t\tif (disabled || !props.href) return <span className={props.className}>{children}</span>;\n\t\t\treturn <LinkComponent {...props}>{children}</LinkComponent>;\n\t\t};\n\t}\n\treturn defaultRenderLink;\n}\n\n/** Plain navigation item used by sidebar / breadcrumbs / page header. */\nexport interface NavLink {\n\tlabel: ReactNode;\n\thref?: string;\n\thandle?: string;\n\tbadge?: string | number;\n\tdisabled?: boolean;\n\texternal?: boolean;\n}\n\n/** Hierarchical navigation item — extends `NavLink` with optional children. */\nexport interface NavItem extends NavLink {\n\ticon?: LayoutIconSource;\n\tchildren?: NavItem[];\n\tgroup?: string;\n}\n\n/** Breadcrumb entry. The last item with no `href` renders as the current page. */\nexport interface BreadcrumbItem {\n\tlabel: ReactNode;\n\thref?: string;\n\thandle?: string;\n}\n\nexport type LayoutIconSource =\n\t| ComponentType<{ className?: string }>\n\t| ComponentType<React.SVGProps<SVGSVGElement>>\n\t| ReactNode\n\t| string;\n\nexport interface LayoutUser {\n\tname: string;\n\temail?: string;\n\tavatar?: string;\n\trole?: string;\n}\n\nexport interface ExternalLinkItem {\n\tlabel: ReactNode;\n\turl: string;\n\ticon?: ComponentType<{ className?: string }>;\n}\n","import { useMemo } from 'react';\n\nimport {\n\tresolveLayoutLinkRenderer,\n\ttype LayoutLinkRenderer,\n\ttype LayoutNavigationAdapter,\n} from '../layout.types';\n\nexport function useLayoutLinkRenderer({\n\trenderLink,\n\tLinkComponent,\n}: LayoutNavigationAdapter = {}): LayoutLinkRenderer {\n\treturn useMemo(\n\t\t() => resolveLayoutLinkRenderer({ renderLink, LinkComponent }),\n\t\t[renderLink, LinkComponent],\n\t);\n}\n"," \n/** Sidebar utilities — pure path helpers, labels, icon rendering, badge pill. */\nimport * as React from 'react';\n\nimport { Badge } from '@/components/base/badge';\nimport { cn } from '@/lib/utils';\n\nimport type { LayoutIconSource, LayoutLinkRenderer } from '../layout.types';\nimport type { SidebarNavItem } from './sidebar.types';\n\nexport function toPath(href: string): string {\n\tif (href.startsWith('#/')) {\n\t\treturn href.slice(1).split('?')[0]?.split('#')[0] || '/';\n\t}\n\n\ttry {\n\t\treturn new URL(href, 'http://local.invalid').pathname;\n\t} catch {\n\t\treturn href;\n\t}\n}\n\nexport function isPathMatch(currentUrl: string, path: string): boolean {\n\tconst currentPath = toPath(currentUrl);\n\treturn currentPath === path || currentPath.startsWith(path + '/') || currentPath.startsWith(path + '?');\n}\n\nexport function getNavLabel(item: Pick<SidebarNavItem, 'label' | 'title'>): React.ReactNode {\n\treturn item.label ?? item.title ?? '';\n}\n\nexport function getNavKey(item: SidebarNavItem, fallbackIndex?: number): React.Key {\n\tconst label = getNavLabel(item);\n\treturn item.handle ?? item.href ?? (typeof label === 'string' || typeof label === 'number' ? label : `nav-${fallbackIndex ?? 0}`);\n}\n\nexport function NavBadge({\n\tvalue,\n\tsize = 'default',\n}: {\n\tvalue: string | number;\n\tsize?: 'default' | 'small';\n}) {\n\treturn (\n\t\t<Badge\n\t\t\tvariant=\"secondary\"\n\t\t\tclassName={cn(\n\t\t\t\t'ml-auto rounded-full tabular-nums text-sidebar-foreground',\n\t\t\t\tsize === 'small' ? 'h-4 min-w-4 px-1.5' : 'h-5 min-w-5 px-1.5',\n\t\t\t)}\n\t\t>\n\t\t\t{value}\n\t\t</Badge>\n\t);\n}\n\nexport function resolveNavBadge(\n\thandle: string | undefined,\n\titemBadge: string | number | undefined,\n\tliveBadges: Record<string, string | number> | undefined,\n): string | number | undefined {\n\tif (handle && liveBadges && liveBadges[handle] != null) {\n\t\treturn liveBadges[handle];\n\t}\n\treturn itemBadge;\n}\n\nexport interface DynamicIconProps extends React.SVGProps<SVGSVGElement> {\n\ticon: LayoutIconSource;\n\ticonMap?: Record<string, React.ComponentType<{ className?: string }>>;\n\tsize?: number;\n\tclassName?: string;\n}\n\nexport function DynamicIcon({\n\ticon,\n\ticonMap = {},\n\tsize = 20,\n\tclassName = 'size-4',\n\t...props\n}: DynamicIconProps) {\n\tif (!icon) return null;\n\n\tif (typeof icon === 'string') {\n\t\tconst IconComponent = iconMap[icon];\n\t\treturn IconComponent ? <IconComponent className={className} /> : null;\n\t}\n\n\tif (React.isValidElement(icon)) {\n\t\treturn React.cloneElement(icon as React.ReactElement<React.SVGProps<SVGSVGElement>>, {\n\t\t\tclassName: cn(className, (icon.props as { className?: string }).className),\n\t\t\t...props,\n\t\t});\n\t}\n\n\tif (\n\t\ttypeof icon === 'function'\n\t\t|| (typeof icon === 'object' && icon !== null && '$$typeof' in icon)\n\t) {\n\t\tconst IconComponent = icon as React.ElementType<React.SVGProps<SVGSVGElement>>;\n\t\treturn <IconComponent className={className} width={size} height={size} {...props} />;\n\t}\n\n\treturn null;\n}\n\nexport function renderSidebarLink(\n\trenderLink: LayoutLinkRenderer,\n\titem: SidebarNavItem,\n\tchildren: React.ReactNode,\n\tclassName?: string,\n\tactive?: boolean,\n) {\n\treturn renderLink({\n\t\thref: item.href,\n\t\tchildren,\n\t\tclassName,\n\t\tactive,\n\t\tdisabled: item.disabled || !item.href,\n\t\texternal: item.external,\n\t});\n}\n","import { useCallback } from 'react';\n\nimport { isPathMatch, toPath } from '../sidebar/sidebar.utils';\n\nexport function useActivePath(currentUrl = '/') {\n\treturn useCallback(\n\t\t(href?: string) => !!href && isPathMatch(currentUrl, toPath(href)),\n\t\t[currentUrl],\n\t);\n}\n","import { useEffect } from 'react';\n\nexport interface UseCommandShortcutOptions {\n\tkey: string;\n\tenabled?: boolean;\n\tonTrigger?: () => void;\n\tpreventDefault?: boolean;\n}\n\nexport function useCommandShortcut({\n\tkey,\n\tenabled = true,\n\tonTrigger,\n\tpreventDefault = true,\n}: UseCommandShortcutOptions) {\n\tuseEffect(() => {\n\t\tif (!enabled || !onTrigger || typeof document === 'undefined') return;\n\n\t\tconst handler = (event: KeyboardEvent) => {\n\t\t\tif (!(event.metaKey || event.ctrlKey)) return;\n\t\t\tif (event.key.toLowerCase() !== key.toLowerCase()) return;\n\t\t\tif (preventDefault) event.preventDefault();\n\t\t\tonTrigger();\n\t\t};\n\n\t\tdocument.addEventListener('keydown', handler);\n\t\treturn () => document.removeEventListener('keydown', handler);\n\t}, [enabled, key, onTrigger, preventDefault]);\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
require(`./chunk-D3uCBrYO.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);var r={xs:{box:`size-6`,icon:`size-3`},sm:{box:`size-8`,icon:`size-3.5`},md:{box:`size-9`,icon:`size-4`},lg:{box:`size-12`,icon:`size-5`}},i={primary:`bg-primary/15 text-primary`,secondary:`bg-foreground/8 text-muted-foreground`,success:`bg-success/15 text-success`,warning:`bg-warning/20 text-warning-foreground`,destructive:`bg-destructive/12 text-destructive`,info:`bg-info/15 text-info`,muted:`bg-muted text-muted-foreground`},a={primary:`bg-primary text-primary-foreground`,secondary:`bg-secondary text-secondary-foreground`,success:`bg-success text-success-foreground`,warning:`bg-warning text-warning-foreground`,destructive:`bg-destructive text-destructive-foreground`,info:`bg-info text-info-foreground`,muted:`bg-foreground/70 text-background`};function o({icon:o,children:s,size:c=`md`,shape:l=`circle`,tone:u=`primary`,solid:d=!1,bordered:f=!1,className:p,...m}){let h=r[c],g=d?a[u]:i[u];return(0,n.jsx)(`span`,{"aria-hidden":!m[`aria-label`],className:e.cn(`icon-badge--component`,`inline-flex shrink-0 items-center justify-center`,l===`circle`?`rounded-full`:`rounded-md`,h.box,g,f&&`border border-border/60`,p),...m,children:o?(0,t.createElement)(o,{className:h.icon}):s})}o.displayName=`IconBadge`,Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
|
|
2
|
-
//# sourceMappingURL=icon-badge-DGKpbo9_.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-badge-DGKpbo9_.cjs","names":[],"sources":["../../src/components/base/display/icon-badge/icon-badge.tsx"],"sourcesContent":["/**\n * IconBadge — circular or square icon container with a tinted background.\n * Workhorse for \"row leading icon\" and \"feature illustration\" patterns —\n * coupon checks, conversation initials, search-result tones, AI-bot avatars.\n *\n * Tones reuse the shadcn semantic tokens, with the foreground colour picked\n * to read against a 10–15% background tint (e.g. `bg-success/15 text-success`).\n * For a fully-saturated mark (primary fill, inverse foreground), use\n * `tone=\"primary\"` and pass `solid`.\n */\nimport type { ComponentProps, ElementType, ReactNode } from 'react';\nimport { createElement } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type IconBadgeSize = 'xs' | 'sm' | 'md' | 'lg';\nexport type IconBadgeShape = 'circle' | 'square';\nexport type IconBadgeTone =\n\t| 'primary'\n\t| 'secondary'\n\t| 'success'\n\t| 'warning'\n\t| 'destructive'\n\t| 'info'\n\t| 'muted';\n\nexport interface IconBadgeProps extends Omit<ComponentProps<'span'>, 'children'> {\n\ticon?: ElementType;\n\tchildren?: ReactNode;\n\tsize?: IconBadgeSize;\n\tshape?: IconBadgeShape;\n\ttone?: IconBadgeTone;\n\t/** When true, fills the badge with the tone color and inverts the icon. */\n\tsolid?: boolean;\n\t/**\n\t * When true, renders a hairline `border-border/60` around the badge.\n\t * Useful for compact \"secret list\" / \"key list\" rows where the icon\n\t * needs a subtle outline against the surrounding card surface\n\t * (see `composed/admin/api-key-list`).\n\t */\n\tbordered?: boolean;\n}\n\nconst SIZE_MAP: Record<IconBadgeSize, { box: string; icon: string }> = {\n\txs: { box: 'size-6', icon: 'size-3' },\n\tsm: { box: 'size-8', icon: 'size-3.5' },\n\tmd: { box: 'size-9', icon: 'size-4' },\n\tlg: { box: 'size-12', icon: 'size-5' },\n};\n\nconst TONE_TINT: Record<IconBadgeTone, string> = {\n\tprimary: 'bg-primary/15 text-primary',\n\tsecondary: 'bg-foreground/8 text-muted-foreground',\n\tsuccess: 'bg-success/15 text-success',\n\twarning: 'bg-warning/20 text-warning-foreground',\n\tdestructive: 'bg-destructive/12 text-destructive',\n\tinfo: 'bg-info/15 text-info',\n\tmuted: 'bg-muted text-muted-foreground',\n};\n\nconst TONE_SOLID: Record<IconBadgeTone, string> = {\n\tprimary: 'bg-primary text-primary-foreground',\n\tsecondary: 'bg-secondary text-secondary-foreground',\n\tsuccess: 'bg-success text-success-foreground',\n\twarning: 'bg-warning text-warning-foreground',\n\tdestructive: 'bg-destructive text-destructive-foreground',\n\tinfo: 'bg-info text-info-foreground',\n\tmuted: 'bg-foreground/70 text-background',\n};\n\nexport function IconBadge({\n\ticon: Icon,\n\tchildren,\n\tsize = 'md',\n\tshape = 'circle',\n\ttone = 'primary',\n\tsolid = false,\n\tbordered = false,\n\tclassName,\n\t...props\n}: IconBadgeProps) {\n\tconst sizes = SIZE_MAP[size];\n\tconst tones = solid ? TONE_SOLID[tone] : TONE_TINT[tone];\n\n\treturn (\n\t\t<span\n\t\t\taria-hidden={!props['aria-label']}\n\t\t\tclassName={cn('icon-badge--component', \n\t\t\t\t'inline-flex shrink-0 items-center justify-center',\n\t\t\t\tshape === 'circle' ? 'rounded-full' : 'rounded-md',\n\t\t\t\tsizes.box,\n\t\t\t\ttones,\n\t\t\t\tbordered && 'border border-border/60',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{Icon ? createElement(Icon, { className: sizes.icon }) : children}\n\t\t</span>\n\t);\n}\n\nIconBadge.displayName = 'IconBadge';\n"],"mappings":"0HA2CA,IAAM,EAAiE,CACtE,GAAI,CAAE,IAAK,SAAU,KAAM,SAAU,CACrC,GAAI,CAAE,IAAK,SAAU,KAAM,WAAY,CACvC,GAAI,CAAE,IAAK,SAAU,KAAM,SAAU,CACrC,GAAI,CAAE,IAAK,UAAW,KAAM,SAAU,CACtC,CAEK,EAA2C,CAChD,QAAS,6BACT,UAAW,wCACX,QAAS,6BACT,QAAS,wCACT,YAAa,qCACb,KAAM,uBACN,MAAO,iCACP,CAEK,EAA4C,CACjD,QAAS,qCACT,UAAW,yCACX,QAAS,qCACT,QAAS,qCACT,YAAa,6CACb,KAAM,+BACN,MAAO,mCACP,CAED,SAAgB,EAAU,CACzB,KAAM,EACN,WACA,OAAO,KACP,QAAQ,SACR,OAAO,UACP,QAAQ,GACR,WAAW,GACX,YACA,GAAG,GACe,CAClB,IAAM,EAAQ,EAAS,GACjB,EAAQ,EAAQ,EAAW,GAAQ,EAAU,GAEnD,OACC,EAAA,EAAA,KAAC,OAAD,CACC,cAAa,CAAC,EAAM,cACpB,UAAW,EAAA,GAAG,wBACb,mDACA,IAAU,SAAW,eAAiB,aACtC,EAAM,IACN,EACA,GAAY,0BACZ,EACA,CACD,GAAI,WAEH,GAAA,EAAA,EAAA,eAAqB,EAAM,CAAE,UAAW,EAAM,KAAM,CAAC,CAAG,EACnD,CAAA,CAIT,EAAU,YAAc"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { cn as e } from "../lib/utils.js";
|
|
2
|
-
import { createElement as t } from "react";
|
|
3
|
-
import { jsx as n } from "react/jsx-runtime";
|
|
4
|
-
//#region src/components/base/display/icon-badge/icon-badge.tsx
|
|
5
|
-
var r = {
|
|
6
|
-
xs: {
|
|
7
|
-
box: "size-6",
|
|
8
|
-
icon: "size-3"
|
|
9
|
-
},
|
|
10
|
-
sm: {
|
|
11
|
-
box: "size-8",
|
|
12
|
-
icon: "size-3.5"
|
|
13
|
-
},
|
|
14
|
-
md: {
|
|
15
|
-
box: "size-9",
|
|
16
|
-
icon: "size-4"
|
|
17
|
-
},
|
|
18
|
-
lg: {
|
|
19
|
-
box: "size-12",
|
|
20
|
-
icon: "size-5"
|
|
21
|
-
}
|
|
22
|
-
}, i = {
|
|
23
|
-
primary: "bg-primary/15 text-primary",
|
|
24
|
-
secondary: "bg-foreground/8 text-muted-foreground",
|
|
25
|
-
success: "bg-success/15 text-success",
|
|
26
|
-
warning: "bg-warning/20 text-warning-foreground",
|
|
27
|
-
destructive: "bg-destructive/12 text-destructive",
|
|
28
|
-
info: "bg-info/15 text-info",
|
|
29
|
-
muted: "bg-muted text-muted-foreground"
|
|
30
|
-
}, a = {
|
|
31
|
-
primary: "bg-primary text-primary-foreground",
|
|
32
|
-
secondary: "bg-secondary text-secondary-foreground",
|
|
33
|
-
success: "bg-success text-success-foreground",
|
|
34
|
-
warning: "bg-warning text-warning-foreground",
|
|
35
|
-
destructive: "bg-destructive text-destructive-foreground",
|
|
36
|
-
info: "bg-info text-info-foreground",
|
|
37
|
-
muted: "bg-foreground/70 text-background"
|
|
38
|
-
};
|
|
39
|
-
function o({ icon: o, children: s, size: c = "md", shape: l = "circle", tone: u = "primary", solid: d = !1, bordered: f = !1, className: p, ...m }) {
|
|
40
|
-
let h = r[c], g = d ? a[u] : i[u];
|
|
41
|
-
return /* @__PURE__ */ n("span", {
|
|
42
|
-
"aria-hidden": !m["aria-label"],
|
|
43
|
-
className: e("icon-badge--component", "inline-flex shrink-0 items-center justify-center", l === "circle" ? "rounded-full" : "rounded-md", h.box, g, f && "border border-border/60", p),
|
|
44
|
-
...m,
|
|
45
|
-
children: o ? t(o, { className: h.icon }) : s
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
o.displayName = "IconBadge";
|
|
49
|
-
//#endregion
|
|
50
|
-
export { o as t };
|
|
51
|
-
|
|
52
|
-
//# sourceMappingURL=icon-badge-DoClA_9q.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-badge-DoClA_9q.js","names":[],"sources":["../../src/components/base/display/icon-badge/icon-badge.tsx"],"sourcesContent":["/**\n * IconBadge — circular or square icon container with a tinted background.\n * Workhorse for \"row leading icon\" and \"feature illustration\" patterns —\n * coupon checks, conversation initials, search-result tones, AI-bot avatars.\n *\n * Tones reuse the shadcn semantic tokens, with the foreground colour picked\n * to read against a 10–15% background tint (e.g. `bg-success/15 text-success`).\n * For a fully-saturated mark (primary fill, inverse foreground), use\n * `tone=\"primary\"` and pass `solid`.\n */\nimport type { ComponentProps, ElementType, ReactNode } from 'react';\nimport { createElement } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type IconBadgeSize = 'xs' | 'sm' | 'md' | 'lg';\nexport type IconBadgeShape = 'circle' | 'square';\nexport type IconBadgeTone =\n\t| 'primary'\n\t| 'secondary'\n\t| 'success'\n\t| 'warning'\n\t| 'destructive'\n\t| 'info'\n\t| 'muted';\n\nexport interface IconBadgeProps extends Omit<ComponentProps<'span'>, 'children'> {\n\ticon?: ElementType;\n\tchildren?: ReactNode;\n\tsize?: IconBadgeSize;\n\tshape?: IconBadgeShape;\n\ttone?: IconBadgeTone;\n\t/** When true, fills the badge with the tone color and inverts the icon. */\n\tsolid?: boolean;\n\t/**\n\t * When true, renders a hairline `border-border/60` around the badge.\n\t * Useful for compact \"secret list\" / \"key list\" rows where the icon\n\t * needs a subtle outline against the surrounding card surface\n\t * (see `composed/admin/api-key-list`).\n\t */\n\tbordered?: boolean;\n}\n\nconst SIZE_MAP: Record<IconBadgeSize, { box: string; icon: string }> = {\n\txs: { box: 'size-6', icon: 'size-3' },\n\tsm: { box: 'size-8', icon: 'size-3.5' },\n\tmd: { box: 'size-9', icon: 'size-4' },\n\tlg: { box: 'size-12', icon: 'size-5' },\n};\n\nconst TONE_TINT: Record<IconBadgeTone, string> = {\n\tprimary: 'bg-primary/15 text-primary',\n\tsecondary: 'bg-foreground/8 text-muted-foreground',\n\tsuccess: 'bg-success/15 text-success',\n\twarning: 'bg-warning/20 text-warning-foreground',\n\tdestructive: 'bg-destructive/12 text-destructive',\n\tinfo: 'bg-info/15 text-info',\n\tmuted: 'bg-muted text-muted-foreground',\n};\n\nconst TONE_SOLID: Record<IconBadgeTone, string> = {\n\tprimary: 'bg-primary text-primary-foreground',\n\tsecondary: 'bg-secondary text-secondary-foreground',\n\tsuccess: 'bg-success text-success-foreground',\n\twarning: 'bg-warning text-warning-foreground',\n\tdestructive: 'bg-destructive text-destructive-foreground',\n\tinfo: 'bg-info text-info-foreground',\n\tmuted: 'bg-foreground/70 text-background',\n};\n\nexport function IconBadge({\n\ticon: Icon,\n\tchildren,\n\tsize = 'md',\n\tshape = 'circle',\n\ttone = 'primary',\n\tsolid = false,\n\tbordered = false,\n\tclassName,\n\t...props\n}: IconBadgeProps) {\n\tconst sizes = SIZE_MAP[size];\n\tconst tones = solid ? TONE_SOLID[tone] : TONE_TINT[tone];\n\n\treturn (\n\t\t<span\n\t\t\taria-hidden={!props['aria-label']}\n\t\t\tclassName={cn('icon-badge--component', \n\t\t\t\t'inline-flex shrink-0 items-center justify-center',\n\t\t\t\tshape === 'circle' ? 'rounded-full' : 'rounded-md',\n\t\t\t\tsizes.box,\n\t\t\t\ttones,\n\t\t\t\tbordered && 'border border-border/60',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{Icon ? createElement(Icon, { className: sizes.icon }) : children}\n\t\t</span>\n\t);\n}\n\nIconBadge.displayName = 'IconBadge';\n"],"mappings":";;;;AA2CA,IAAM,IAAiE;CACtE,IAAI;EAAE,KAAK;EAAU,MAAM;EAAU;CACrC,IAAI;EAAE,KAAK;EAAU,MAAM;EAAY;CACvC,IAAI;EAAE,KAAK;EAAU,MAAM;EAAU;CACrC,IAAI;EAAE,KAAK;EAAW,MAAM;EAAU;CACtC,EAEK,IAA2C;CAChD,SAAS;CACT,WAAW;CACX,SAAS;CACT,SAAS;CACT,aAAa;CACb,MAAM;CACN,OAAO;CACP,EAEK,IAA4C;CACjD,SAAS;CACT,WAAW;CACX,SAAS;CACT,SAAS;CACT,aAAa;CACb,MAAM;CACN,OAAO;CACP;AAED,SAAgB,EAAU,EACzB,MAAM,GACN,aACA,UAAO,MACP,WAAQ,UACR,UAAO,WACP,WAAQ,IACR,cAAW,IACX,cACA,GAAG,KACe;CAClB,IAAM,IAAQ,EAAS,IACjB,IAAQ,IAAQ,EAAW,KAAQ,EAAU;AAEnD,QACC,kBAAC,QAAD;EACC,eAAa,CAAC,EAAM;EACpB,WAAW,EAAG,yBACb,oDACA,MAAU,WAAW,iBAAiB,cACtC,EAAM,KACN,GACA,KAAY,2BACZ,EACA;EACD,GAAI;YAEH,IAAO,EAAc,GAAM,EAAE,WAAW,EAAM,MAAM,CAAC,GAAG;EACnD,CAAA;;AAIT,EAAU,cAAc"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-D3uCBrYO.cjs`),t=require(`../lib/utils.cjs`);let n=require(`react`);n=e.t(n,1);let r=require(`react/jsx-runtime`),i=require(`@base-ui/react/input`);function a({className:e,type:n,...a}){return(0,r.jsx)(i.Input,{type:n,"data-slot":`input`,className:t.cn(`border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,e),...a})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
2
|
-
//# sourceMappingURL=input-BXt-YtVs.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-BXt-YtVs.cjs","names":[],"sources":["../../src/components/ui/input.tsx"],"sourcesContent":["import { Input as InputPrimitive } from \"@base-ui/react/input\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <InputPrimitive\n type={type}\n data-slot=\"input\"\n className={cn(\n \"border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n"],"mappings":"6KAKA,SAAS,EAAM,CAAE,YAAW,OAAM,GAAG,GAAwC,CAC3E,OACE,EAAA,EAAA,KAAC,EAAA,MAAD,CACQ,OACN,YAAU,QACV,UAAW,EAAA,GACT,8hBACA,EACD,CACD,GAAI,EACJ,CAAA"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { cn as e } from "../lib/utils.js";
|
|
2
|
-
import "react";
|
|
3
|
-
import { jsx as t } from "react/jsx-runtime";
|
|
4
|
-
import { Input as n } from "@base-ui/react/input";
|
|
5
|
-
//#region src/components/ui/input.tsx
|
|
6
|
-
function r({ className: r, type: i, ...a }) {
|
|
7
|
-
return /* @__PURE__ */ t(n, {
|
|
8
|
-
type: i,
|
|
9
|
-
"data-slot": "input",
|
|
10
|
-
className: e("border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", r),
|
|
11
|
-
...a
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
export { r as t };
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=input-Bx4LeLhn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-Bx4LeLhn.js","names":[],"sources":["../../src/components/ui/input.tsx"],"sourcesContent":["import { Input as InputPrimitive } from \"@base-ui/react/input\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <InputPrimitive\n type={type}\n data-slot=\"input\"\n className={cn(\n \"border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n"],"mappings":";;;;;AAKA,SAAS,EAAM,EAAE,cAAW,SAAM,GAAG,KAAwC;AAC3E,QACE,kBAAC,GAAD;EACQ;EACN,aAAU;EACV,WAAW,EACT,+hBACA,EACD;EACD,GAAI;EACJ,CAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-D3uCBrYO.cjs`),t=require(`../lib/strings.cjs`),n=require(`./ui-provider-uiQgATj1.cjs`),r=require(`../lib/utils.cjs`),i=require(`./text-DBnY6fcL.cjs`),a=require(`./form-sizing--bs_xPe2.cjs`);let o=require(`react`);o=e.t(o,1);let s=require(`react/jsx-runtime`),c=require(`lucide-react`);function l({controlledValue:e,defaultValue:t,maxLength:n,showCharacterCount:r,providedId:i,idPrefix:a=`field`,hasOnChange:s}){let c=(0,o.useId)(),l=i||`${a}${c}`,[u,d]=(0,o.useState)(t||``),f=e!==void 0,p=(f?e:u)??``,m=!!(s&&!f&&!t),h=p.length,g=n!==void 0,_=r===!1?!1:!!(r||g),v=p!==``,y=(0,o.useCallback)(e=>g&&e.length>n,[g,n]),b=(0,o.useCallback)(e=>y(e)?!1:(f||d(e),!0),[f,y]),x=(0,o.useCallback)(()=>{f||d(``)},[f]);return(0,o.useMemo)(()=>({id:l,value:p,isControlled:f,isReactHookForm:m,characterCount:h,hasCharacterLimit:g,showCount:_,hasValue:v,updateValue:b,clearValue:x,wouldExceedLimit:y}),[l,p,f,m,h,g,_,v,b,x,y])}var u={clear:`Clear input`},d=(e,t,n)=>{let r=e||``;return t&&r&&(r=t+r),n&&r&&(r+=n),r};function f({className:e,type:f=`text`,startIcon:p,endIcon:m,startAddon:h,endAddon:g,maxLength:_,showCharacterCount:v,clearable:y,onClear:b,isLoading:x,returnValueWithAddons:S,invalid:C,size:w,onChange:T,value:E,defaultValue:D,id:O,strings:k,...A},j){let M=(0,o.useRef)(null),N=t.useStrings(u,k),{defaultControlSize:P}=n.s(),F=a.i(w,P),I=(0,o.useCallback)(e=>{typeof j==`function`?j(e):j&&(j.current=e),M.current=e},[j]),{id:L,value:R,isReactHookForm:z,characterCount:B,hasCharacterLimit:V,showCount:H,hasValue:U,updateValue:W,clearValue:G,wouldExceedLimit:K}=l({controlledValue:E,defaultValue:D,maxLength:_,showCharacterCount:v,providedId:O,idPrefix:`input`,hasOnChange:T!==void 0}),q=!!y,J=!!x,Y=!!m,X=!!g,Z=f===`file`,Q=!!C,$=(0,o.useMemo)(()=>{let e=`px-3`,t=`px-3`;return p&&(e=`ps-9`),h&&(e=`ps-10`),m&&(t=`pe-9`),g&&(t=`pe-10`),(q&&U||J)&&(t=`pe-9`),H&&(t=`pe-14`),`${e} ${t}`},[p,h,m,g,q,U,J,H]),ee=(0,o.useCallback)(e=>{let t=e.target.value;if(!K(t)&&(W(t),T))if(S){let n=d(t,h,g);T({...e,target:{...e.target,value:n},currentTarget:{...e.currentTarget,value:n}})}else T(e)},[T,S,h,g,W,K]),te=(0,o.useCallback)(()=>{let e=S?d(``,h,g):``,t={target:{value:e},currentTarget:{value:e}};G(),T?.(t),b?.(),M.current?.focus()},[S,h,g,G,T,b]),ne=q&&U&&!H&&!J,re=J&&!H,ie=Y&&!q&&!H&&!J,ae=X&&!q&&!H&&!J;return(0,s.jsxs)(`div`,{className:r.cn(`input--component`,`relative`),children:[(0,s.jsx)(`input`,{ref:I,id:L,type:f,...!z&&{value:R},onChange:ee,maxLength:_,"aria-invalid":Q||void 0,disabled:A.disabled||x,className:r.cn(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground`,`border-input flex w-full min-w-0 rounded-md border py-1`,`transition-[color,box-shadow] outline-none`,`disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,a.n[F],`file:inline-flex file:h-7 file:border file:bg-transparent file:px-3 file:text-sm file:font-medium`,Z?`cursor-pointer bg-background text-foreground file:cursor-pointer file:rounded-md file:border-input file:bg-background file:text-foreground`:`bg-transparent`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 aria-invalid:border-destructive aria-invalid:text-destructive`,`aria-invalid:placeholder:text-destructive/40`,Z?`read-only:bg-background`:`read-only:bg-muted`,$,e),...A}),!!p&&(0,s.jsx)(`div`,{className:r.cn(`pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3`,A.disabled&&`opacity-50`,Q?`text-destructive`:`text-muted-foreground/80`),children:(0,s.jsx)(p,{size:16,"aria-hidden":`true`})}),!!h&&(0,s.jsx)(`span`,{className:r.cn(`pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-sm`,A.disabled&&`opacity-50`,Q?`text-destructive`:`text-muted-foreground`),children:h}),!!ie&&!!m&&(0,s.jsx)(`div`,{className:r.cn(`pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3`,A.disabled&&`opacity-50`,Q?`text-destructive`:`text-muted-foreground/80`),children:(0,s.jsx)(m,{size:16,"aria-hidden":`true`})}),!!ae&&(0,s.jsx)(`span`,{className:r.cn(`pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3 text-sm`,A.disabled&&`opacity-50`,Q?`text-destructive`:`text-muted-foreground`),children:g}),!!H&&(0,s.jsx)(`div`,{className:r.cn(`pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3 text-xs tabular-nums`,A.disabled&&`opacity-50`,Q?`text-destructive`:`text-muted-foreground`),"aria-live":`polite`,role:`status`,children:(0,s.jsxs)(i.t,{tag:`span`,size:`xs`,type:Q?`error`:`secondary`,children:[B,V?`/${_}`:``]})}),!!re&&(0,s.jsx)(`div`,{className:r.cn(`pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3`,Q?`text-destructive`:`text-muted-foreground/80`),children:(0,s.jsx)(c.Loader2Icon,{size:16,className:`animate-spin`,"aria-hidden":`true`})}),!!ne&&(0,s.jsx)(`button`,{type:`button`,className:`text-muted-foreground/80 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":N.clear,onClick:te,disabled:x,children:(0,s.jsx)(c.CircleXIcon,{size:16,"aria-hidden":`true`})})]})}var p=(0,o.memo)(o.forwardRef(f));p.displayName=`Input`,Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
|
|
2
|
-
//# sourceMappingURL=input-ChZGIhtS.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-ChZGIhtS.cjs","names":[],"sources":["../../src/components/base/forms/fields/hooks/use-form-field-state.ts","../../src/components/base/forms/fields/input.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, useId } from 'react';\n\nexport interface UseFormFieldStateOptions {\n /** Controlled value from parent */\n controlledValue?: string;\n /** Default value for uncontrolled mode */\n defaultValue?: string;\n /** Maximum character length */\n maxLength?: number;\n /** Whether to show character count */\n showCharacterCount?: boolean;\n /** Provided ID or auto-generate */\n providedId?: string;\n /** Prefix for auto-generated ID */\n idPrefix?: string;\n /** Whether onChange is provided (for react-hook-form detection) */\n hasOnChange?: boolean;\n}\n\nexport interface UseFormFieldStateReturn {\n /** Generated or provided ID */\n id: string;\n /** Current value (controlled or internal) */\n value: string;\n /** Whether component is in controlled mode */\n isControlled: boolean;\n /** Whether using react-hook-form (has onChange but no controlled value) */\n isReactHookForm: boolean;\n /** Current character count */\n characterCount: number;\n /** Whether a character limit is set */\n hasCharacterLimit: boolean;\n /** Whether to show character count UI */\n showCount: boolean;\n /** Whether the field has a value */\n hasValue: boolean;\n /** Update value - returns false if blocked by character limit */\n updateValue: (newValue: string) => boolean;\n /** Clear the value */\n clearValue: () => void;\n /** Check if a new value would exceed the character limit */\n wouldExceedLimit: (newValue: string) => boolean;\n}\n\n/**\n * Shared hook for managing form field state including:\n * - Controlled vs uncontrolled value handling\n * - Character counting and limits\n * - React Hook Form compatibility detection\n * - ID generation\n */\nexport function useFormFieldState({\n controlledValue,\n defaultValue,\n maxLength,\n showCharacterCount,\n providedId,\n idPrefix = 'field',\n hasOnChange,\n}: UseFormFieldStateOptions): UseFormFieldStateReturn {\n // Generate stable ID using React 18's useId (SSR-safe)\n const reactId = useId();\n const id = providedId || `${idPrefix}${reactId}`;\n\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState(defaultValue || '');\n\n // Determine control mode\n const isControlled = controlledValue !== undefined;\n\n // Normalize value (handle null from backend)\n const rawValue = isControlled ? controlledValue : internalValue;\n const value = rawValue ?? '';\n\n // React Hook Form detection: has onChange but no controlled value or defaultValue\n const isReactHookForm = Boolean(hasOnChange && !isControlled && !defaultValue);\n\n // Character counting\n const characterCount = value.length;\n const hasCharacterLimit = maxLength !== undefined;\n const showCount = showCharacterCount === false ? false : Boolean(showCharacterCount || hasCharacterLimit);\n const hasValue = value !== '';\n\n // Check if value would exceed limit\n const wouldExceedLimit = useCallback(\n (newValue: string) => {\n return hasCharacterLimit && newValue.length > maxLength;\n },\n [hasCharacterLimit, maxLength]\n );\n\n // Update value (respects character limit, updates internal state if uncontrolled)\n const updateValue = useCallback(\n (newValue: string): boolean => {\n if (wouldExceedLimit(newValue)) {\n return false;\n }\n if (!isControlled) {\n setInternalValue(newValue);\n }\n return true;\n },\n [isControlled, wouldExceedLimit]\n );\n\n // Clear value\n const clearValue = useCallback(() => {\n if (!isControlled) {\n setInternalValue('');\n }\n }, [isControlled]);\n\n return useMemo(\n () => ({\n id,\n value,\n isControlled,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n }),\n [\n id,\n value,\n isControlled,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n ]\n );\n}\n","import { CircleXIcon, Loader2Icon, type LucideIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { useRef, useCallback, useMemo, memo } from 'react';\nimport { Text } from '@/components/typography';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\nimport { formControlSizeClasses, resolveFormControlSize } from '../form-sizing';\nimport { useFormFieldState } from './hooks';\n\nexport interface InputStrings {\n clear: string;\n}\n\nexport const defaultInputStrings: InputStrings = {\n clear: 'Clear input',\n};\n\n/**\n * Helper function to get value with prefix/suffix\n */\nconst getValueWithAddons = (value: string, startAddon?: string, endAddon?: string): string => {\n let result = value || '';\n if (startAddon && result) result = startAddon + result;\n if (endAddon && result) result = result + endAddon;\n return result;\n};\n\nexport interface InputProps extends Omit<React.ComponentProps<'input'>, 'onChange' | 'size'> {\n // Icon props\n startIcon?: LucideIcon;\n endIcon?: LucideIcon;\n\n // Add-on props (visual prefix/suffix inside input)\n startAddon?: string;\n endAddon?: string;\n\n // Character limit\n maxLength?: number;\n showCharacterCount?: boolean;\n\n // Clear button\n clearable?: boolean;\n onClear?: () => void;\n\n // Loading state\n isLoading?: boolean;\n\n // Return value with addons in onChange\n returnValueWithAddons?: boolean;\n\n // Error state for styling (passed from FormField)\n invalid?: boolean;\n\n // Visual size\n size?: FormControlSize;\n\n // Value props\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n value?: string;\n defaultValue?: string;\n\n // String overrides (e.g. clear button aria-label)\n strings?: StringsProp<InputStrings>;\n}\n\nfunction InputImpl(\n\t{\n\t\tclassName,\n\t\ttype = 'text',\n\t\tstartIcon: StartIcon,\n\t\tendIcon: EndIcon,\n\t\tstartAddon,\n\t\tendAddon,\n\t\tmaxLength,\n\t\tshowCharacterCount,\n\t\tclearable,\n\t\tonClear,\n\t\tisLoading,\n\t\treturnValueWithAddons,\n\t\tinvalid,\n\t\tsize: sizeProp,\n\t\tonChange,\n\t\tvalue: controlledValue,\n\t\tdefaultValue,\n\t\tid: providedId,\n\t\tstrings: stringsProp,\n\t\t...props\n\t}: InputProps,\n\tforwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const inputRef = useRef<HTMLInputElement>(null);\n const strings = useStrings(defaultInputStrings, stringsProp);\n const { defaultControlSize } = useFormsConfig();\n const size = resolveFormControlSize(sizeProp, defaultControlSize);\n\n // Memoize ref callback to avoid recreation on every render\n const setRefs = useCallback(\n (node: HTMLInputElement | null) => {\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n inputRef.current = node;\n },\n [forwardedRef]\n );\n\n // Use shared form field state hook\n const {\n id,\n value: inputValue,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n } = useFormFieldState({\n controlledValue,\n defaultValue,\n maxLength,\n showCharacterCount,\n providedId,\n idPrefix: 'input',\n hasOnChange: onChange !== undefined,\n });\n\n // Derive display states (simple booleans, no need for useMemo)\n const isClearable = !!clearable;\n const isShowingLoading = !!isLoading;\n const hasEndIcon = !!EndIcon;\n const hasEndAddon = !!endAddon;\n const isFileInput = type === 'file';\n const hasError = !!invalid;\n\n // Memoize padding classes based on add-ons and icons\n // Addon padding sized so the value sits adjacent to the addon — `ps-3`\n // baseline + a measured space for addon text. Wider addons can override\n // via `className` (`ps-16` etc.) at the call site.\n const inputPaddingClasses = useMemo(() => {\n let paddingStart = 'px-3';\n let paddingEnd = 'px-3';\n\n if (StartIcon) paddingStart = 'ps-9';\n if (startAddon) paddingStart = 'ps-10';\n\n if (EndIcon) paddingEnd = 'pe-9';\n if (endAddon) paddingEnd = 'pe-10';\n if ((isClearable && hasValue) || isShowingLoading) paddingEnd = 'pe-9';\n if (showCount) paddingEnd = 'pe-14';\n\n return `${paddingStart} ${paddingEnd}`;\n }, [StartIcon, startAddon, EndIcon, endAddon, isClearable, hasValue, isShowingLoading, showCount]);\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n\n // Check character limit\n if (wouldExceedLimit(newValue)) {\n return;\n }\n\n // Update internal state if uncontrolled\n updateValue(newValue);\n\n // Call external onChange with modified event if addons are requested\n if (onChange) {\n if (returnValueWithAddons) {\n const valueWithAddons = getValueWithAddons(newValue, startAddon, endAddon);\n const modifiedEvent = {\n ...e,\n target: { ...e.target, value: valueWithAddons },\n currentTarget: { ...e.currentTarget, value: valueWithAddons },\n };\n onChange(modifiedEvent as React.ChangeEvent<HTMLInputElement>);\n } else {\n onChange(e);\n }\n }\n },\n [onChange, returnValueWithAddons, startAddon, endAddon, updateValue, wouldExceedLimit]\n );\n\n const handleClear = useCallback(() => {\n const clearValueWithAddons = returnValueWithAddons\n ? getValueWithAddons('', startAddon, endAddon)\n : '';\n const syntheticEvent = {\n target: { value: clearValueWithAddons },\n currentTarget: { value: clearValueWithAddons },\n } as React.ChangeEvent<HTMLInputElement>;\n\n // Clear internal state\n clearValue();\n\n // Notify parent\n onChange?.(syntheticEvent);\n\n // Execute optional onClear callback\n onClear?.();\n\n // Focus the input after clearing\n inputRef.current?.focus();\n }, [returnValueWithAddons, startAddon, endAddon, clearValue, onChange, onClear]);\n\n // Determine what to show in the end position (priority order)\n const showClearButton = isClearable && hasValue && !showCount && !isShowingLoading;\n const showLoadingSpinner = isShowingLoading && !showCount;\n const showEndIcon = hasEndIcon && !isClearable && !showCount && !isShowingLoading;\n const showEndAddon = hasEndAddon && !isClearable && !showCount && !isShowingLoading;\n\n return (\n <div className={cn('input--component', 'relative')}>\n <input\n ref={setRefs}\n id={id}\n type={type}\n {...(!isReactHookForm && { value: inputValue })}\n onChange={handleInputChange}\n maxLength={maxLength}\n aria-invalid={hasError || undefined}\n disabled={props.disabled || isLoading}\n className={cn(\n // Base styles\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground',\n 'border-input flex w-full min-w-0 rounded-md border py-1',\n 'transition-[color,box-shadow] outline-none',\n 'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n formControlSizeClasses[size],\n // File input styles\n 'file:inline-flex file:h-7 file:border file:bg-transparent file:px-3 file:text-sm file:font-medium',\n isFileInput\n ? 'cursor-pointer bg-background text-foreground file:cursor-pointer file:rounded-md file:border-input file:bg-background file:text-foreground'\n : 'bg-transparent',\n // Focus styles\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n // Invalid/error styles — destructive border, ring, value text\n 'aria-invalid:ring-destructive/20 aria-invalid:border-destructive aria-invalid:text-destructive',\n 'aria-invalid:placeholder:text-destructive/40',\n // Read-only styles\n isFileInput\n ? 'read-only:bg-background'\n : 'read-only:bg-muted',\n // Dynamic padding\n inputPaddingClasses,\n className\n )}\n {...props}\n />\n\n {/* Start Icon */}\n {!!StartIcon && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <StartIcon size={16} aria-hidden=\"true\" />\n </div>\n )}\n\n {/* Start Add-on */}\n {!!startAddon && (\n <span\n className={cn(\n 'pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-sm',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n >\n {startAddon}\n </span>\n )}\n\n {/* End Icon */}\n {!!showEndIcon && !!EndIcon && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <EndIcon size={16} aria-hidden=\"true\" />\n </div>\n )}\n\n {/* End Add-on */}\n {!!showEndAddon && (\n <span\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3 text-sm',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n >\n {endAddon}\n </span>\n )}\n\n {/* Character Count */}\n {!!showCount && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3 text-xs tabular-nums',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n aria-live=\"polite\"\n role=\"status\"\n >\n <Text tag=\"span\" size=\"xs\" type={hasError ? 'error' : 'secondary'}>\n {characterCount}\n {hasCharacterLimit ? `/${maxLength}` : ''}\n </Text>\n </div>\n )}\n\n {/* Loading Spinner */}\n {!!showLoadingSpinner && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <Loader2Icon size={16} className=\"animate-spin\" aria-hidden=\"true\" />\n </div>\n )}\n\n {/* Clear Button */}\n {!!showClearButton && (\n <button\n type=\"button\"\n className=\"text-muted-foreground/80 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label={strings.clear}\n onClick={handleClear}\n disabled={isLoading}\n >\n <CircleXIcon size={16} aria-hidden=\"true\" />\n </button>\n )}\n </div>\n );\n}\n\n// forwardRef + memo (needed for callers that require refs, e.g. segmented inputs)\nconst Input = memo(React.forwardRef<HTMLInputElement, InputProps>(InputImpl));\nInput.displayName = 'Input';\n\nexport { Input };\n"],"mappings":"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"}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { useStrings as e } from "../lib/strings.js";
|
|
2
|
-
import { s as t } from "./ui-provider-4qKSKMPd.js";
|
|
3
|
-
import { cn as n } from "../lib/utils.js";
|
|
4
|
-
import { t as r } from "./text-DIxMTECE.js";
|
|
5
|
-
import { i, n as a } from "./form-sizing-CkKcs5fi.js";
|
|
6
|
-
import * as o from "react";
|
|
7
|
-
import { memo as s, useCallback as c, useId as l, useMemo as u, useRef as d, useState as f } from "react";
|
|
8
|
-
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
9
|
-
import { CircleXIcon as h, Loader2Icon as g } from "lucide-react";
|
|
10
|
-
//#region src/components/base/forms/fields/hooks/use-form-field-state.ts
|
|
11
|
-
function _({ controlledValue: e, defaultValue: t, maxLength: n, showCharacterCount: r, providedId: i, idPrefix: a = "field", hasOnChange: o }) {
|
|
12
|
-
let s = l(), d = i || `${a}${s}`, [p, m] = f(t || ""), h = e !== void 0, g = (h ? e : p) ?? "", _ = !!(o && !h && !t), v = g.length, y = n !== void 0, b = r === !1 ? !1 : !!(r || y), x = g !== "", S = c((e) => y && e.length > n, [y, n]), C = c((e) => S(e) ? !1 : (h || m(e), !0), [h, S]), w = c(() => {
|
|
13
|
-
h || m("");
|
|
14
|
-
}, [h]);
|
|
15
|
-
return u(() => ({
|
|
16
|
-
id: d,
|
|
17
|
-
value: g,
|
|
18
|
-
isControlled: h,
|
|
19
|
-
isReactHookForm: _,
|
|
20
|
-
characterCount: v,
|
|
21
|
-
hasCharacterLimit: y,
|
|
22
|
-
showCount: b,
|
|
23
|
-
hasValue: x,
|
|
24
|
-
updateValue: C,
|
|
25
|
-
clearValue: w,
|
|
26
|
-
wouldExceedLimit: S
|
|
27
|
-
}), [
|
|
28
|
-
d,
|
|
29
|
-
g,
|
|
30
|
-
h,
|
|
31
|
-
_,
|
|
32
|
-
v,
|
|
33
|
-
y,
|
|
34
|
-
b,
|
|
35
|
-
x,
|
|
36
|
-
C,
|
|
37
|
-
w,
|
|
38
|
-
S
|
|
39
|
-
]);
|
|
40
|
-
}
|
|
41
|
-
//#endregion
|
|
42
|
-
//#region src/components/base/forms/fields/input.tsx
|
|
43
|
-
var v = { clear: "Clear input" }, y = (e, t, n) => {
|
|
44
|
-
let r = e || "";
|
|
45
|
-
return t && r && (r = t + r), n && r && (r += n), r;
|
|
46
|
-
};
|
|
47
|
-
function b({ className: o, type: s = "text", startIcon: l, endIcon: f, startAddon: b, endAddon: x, maxLength: S, showCharacterCount: C, clearable: w, onClear: T, isLoading: E, returnValueWithAddons: D, invalid: O, size: k, onChange: A, value: j, defaultValue: M, id: N, strings: P, ...F }, I) {
|
|
48
|
-
let L = d(null), R = e(v, P), { defaultControlSize: ee } = t(), te = i(k, ee), ne = c((e) => {
|
|
49
|
-
typeof I == "function" ? I(e) : I && (I.current = e), L.current = e;
|
|
50
|
-
}, [I]), { id: z, value: B, isReactHookForm: V, characterCount: H, hasCharacterLimit: U, showCount: W, hasValue: G, updateValue: K, clearValue: q, wouldExceedLimit: J } = _({
|
|
51
|
-
controlledValue: j,
|
|
52
|
-
defaultValue: M,
|
|
53
|
-
maxLength: S,
|
|
54
|
-
showCharacterCount: C,
|
|
55
|
-
providedId: N,
|
|
56
|
-
idPrefix: "input",
|
|
57
|
-
hasOnChange: A !== void 0
|
|
58
|
-
}), Y = !!w, X = !!E, re = !!f, ie = !!x, Z = s === "file", Q = !!O, ae = u(() => {
|
|
59
|
-
let e = "px-3", t = "px-3";
|
|
60
|
-
return l && (e = "ps-9"), b && (e = "ps-10"), f && (t = "pe-9"), x && (t = "pe-10"), (Y && G || X) && (t = "pe-9"), W && (t = "pe-14"), `${e} ${t}`;
|
|
61
|
-
}, [
|
|
62
|
-
l,
|
|
63
|
-
b,
|
|
64
|
-
f,
|
|
65
|
-
x,
|
|
66
|
-
Y,
|
|
67
|
-
G,
|
|
68
|
-
X,
|
|
69
|
-
W
|
|
70
|
-
]), oe = c((e) => {
|
|
71
|
-
let t = e.target.value;
|
|
72
|
-
if (!J(t) && (K(t), A)) if (D) {
|
|
73
|
-
let n = y(t, b, x);
|
|
74
|
-
A({
|
|
75
|
-
...e,
|
|
76
|
-
target: {
|
|
77
|
-
...e.target,
|
|
78
|
-
value: n
|
|
79
|
-
},
|
|
80
|
-
currentTarget: {
|
|
81
|
-
...e.currentTarget,
|
|
82
|
-
value: n
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
} else A(e);
|
|
86
|
-
}, [
|
|
87
|
-
A,
|
|
88
|
-
D,
|
|
89
|
-
b,
|
|
90
|
-
x,
|
|
91
|
-
K,
|
|
92
|
-
J
|
|
93
|
-
]), se = c(() => {
|
|
94
|
-
let e = D ? y("", b, x) : "", t = {
|
|
95
|
-
target: { value: e },
|
|
96
|
-
currentTarget: { value: e }
|
|
97
|
-
};
|
|
98
|
-
q(), A?.(t), T?.(), L.current?.focus();
|
|
99
|
-
}, [
|
|
100
|
-
D,
|
|
101
|
-
b,
|
|
102
|
-
x,
|
|
103
|
-
q,
|
|
104
|
-
A,
|
|
105
|
-
T
|
|
106
|
-
]), ce = Y && G && !W && !X, le = X && !W, $ = re && !Y && !W && !X, ue = ie && !Y && !W && !X;
|
|
107
|
-
return /* @__PURE__ */ m("div", {
|
|
108
|
-
className: n("input--component", "relative"),
|
|
109
|
-
children: [
|
|
110
|
-
/* @__PURE__ */ p("input", {
|
|
111
|
-
ref: ne,
|
|
112
|
-
id: z,
|
|
113
|
-
type: s,
|
|
114
|
-
...!V && { value: B },
|
|
115
|
-
onChange: oe,
|
|
116
|
-
maxLength: S,
|
|
117
|
-
"aria-invalid": Q || void 0,
|
|
118
|
-
disabled: F.disabled || E,
|
|
119
|
-
className: n("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground", "border-input flex w-full min-w-0 rounded-md border py-1", "transition-[color,box-shadow] outline-none", "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", a[te], "file:inline-flex file:h-7 file:border file:bg-transparent file:px-3 file:text-sm file:font-medium", Z ? "cursor-pointer bg-background text-foreground file:cursor-pointer file:rounded-md file:border-input file:bg-background file:text-foreground" : "bg-transparent", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 aria-invalid:border-destructive aria-invalid:text-destructive", "aria-invalid:placeholder:text-destructive/40", Z ? "read-only:bg-background" : "read-only:bg-muted", ae, o),
|
|
120
|
-
...F
|
|
121
|
-
}),
|
|
122
|
-
!!l && /* @__PURE__ */ p("div", {
|
|
123
|
-
className: n("pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3", F.disabled && "opacity-50", Q ? "text-destructive" : "text-muted-foreground/80"),
|
|
124
|
-
children: /* @__PURE__ */ p(l, {
|
|
125
|
-
size: 16,
|
|
126
|
-
"aria-hidden": "true"
|
|
127
|
-
})
|
|
128
|
-
}),
|
|
129
|
-
!!b && /* @__PURE__ */ p("span", {
|
|
130
|
-
className: n("pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-sm", F.disabled && "opacity-50", Q ? "text-destructive" : "text-muted-foreground"),
|
|
131
|
-
children: b
|
|
132
|
-
}),
|
|
133
|
-
!!$ && !!f && /* @__PURE__ */ p("div", {
|
|
134
|
-
className: n("pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3", F.disabled && "opacity-50", Q ? "text-destructive" : "text-muted-foreground/80"),
|
|
135
|
-
children: /* @__PURE__ */ p(f, {
|
|
136
|
-
size: 16,
|
|
137
|
-
"aria-hidden": "true"
|
|
138
|
-
})
|
|
139
|
-
}),
|
|
140
|
-
!!ue && /* @__PURE__ */ p("span", {
|
|
141
|
-
className: n("pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3 text-sm", F.disabled && "opacity-50", Q ? "text-destructive" : "text-muted-foreground"),
|
|
142
|
-
children: x
|
|
143
|
-
}),
|
|
144
|
-
!!W && /* @__PURE__ */ p("div", {
|
|
145
|
-
className: n("pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3 text-xs tabular-nums", F.disabled && "opacity-50", Q ? "text-destructive" : "text-muted-foreground"),
|
|
146
|
-
"aria-live": "polite",
|
|
147
|
-
role: "status",
|
|
148
|
-
children: /* @__PURE__ */ m(r, {
|
|
149
|
-
tag: "span",
|
|
150
|
-
size: "xs",
|
|
151
|
-
type: Q ? "error" : "secondary",
|
|
152
|
-
children: [H, U ? `/${S}` : ""]
|
|
153
|
-
})
|
|
154
|
-
}),
|
|
155
|
-
!!le && /* @__PURE__ */ p("div", {
|
|
156
|
-
className: n("pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3", Q ? "text-destructive" : "text-muted-foreground/80"),
|
|
157
|
-
children: /* @__PURE__ */ p(g, {
|
|
158
|
-
size: 16,
|
|
159
|
-
className: "animate-spin",
|
|
160
|
-
"aria-hidden": "true"
|
|
161
|
-
})
|
|
162
|
-
}),
|
|
163
|
-
!!ce && /* @__PURE__ */ p("button", {
|
|
164
|
-
type: "button",
|
|
165
|
-
className: "text-muted-foreground/80 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
166
|
-
"aria-label": R.clear,
|
|
167
|
-
onClick: se,
|
|
168
|
-
disabled: E,
|
|
169
|
-
children: /* @__PURE__ */ p(h, {
|
|
170
|
-
size: 16,
|
|
171
|
-
"aria-hidden": "true"
|
|
172
|
-
})
|
|
173
|
-
})
|
|
174
|
-
]
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
var x = s(o.forwardRef(b));
|
|
178
|
-
x.displayName = "Input";
|
|
179
|
-
//#endregion
|
|
180
|
-
export { _ as n, x as t };
|
|
181
|
-
|
|
182
|
-
//# sourceMappingURL=input-Cwv1-5jt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-Cwv1-5jt.js","names":[],"sources":["../../src/components/base/forms/fields/hooks/use-form-field-state.ts","../../src/components/base/forms/fields/input.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, useId } from 'react';\n\nexport interface UseFormFieldStateOptions {\n /** Controlled value from parent */\n controlledValue?: string;\n /** Default value for uncontrolled mode */\n defaultValue?: string;\n /** Maximum character length */\n maxLength?: number;\n /** Whether to show character count */\n showCharacterCount?: boolean;\n /** Provided ID or auto-generate */\n providedId?: string;\n /** Prefix for auto-generated ID */\n idPrefix?: string;\n /** Whether onChange is provided (for react-hook-form detection) */\n hasOnChange?: boolean;\n}\n\nexport interface UseFormFieldStateReturn {\n /** Generated or provided ID */\n id: string;\n /** Current value (controlled or internal) */\n value: string;\n /** Whether component is in controlled mode */\n isControlled: boolean;\n /** Whether using react-hook-form (has onChange but no controlled value) */\n isReactHookForm: boolean;\n /** Current character count */\n characterCount: number;\n /** Whether a character limit is set */\n hasCharacterLimit: boolean;\n /** Whether to show character count UI */\n showCount: boolean;\n /** Whether the field has a value */\n hasValue: boolean;\n /** Update value - returns false if blocked by character limit */\n updateValue: (newValue: string) => boolean;\n /** Clear the value */\n clearValue: () => void;\n /** Check if a new value would exceed the character limit */\n wouldExceedLimit: (newValue: string) => boolean;\n}\n\n/**\n * Shared hook for managing form field state including:\n * - Controlled vs uncontrolled value handling\n * - Character counting and limits\n * - React Hook Form compatibility detection\n * - ID generation\n */\nexport function useFormFieldState({\n controlledValue,\n defaultValue,\n maxLength,\n showCharacterCount,\n providedId,\n idPrefix = 'field',\n hasOnChange,\n}: UseFormFieldStateOptions): UseFormFieldStateReturn {\n // Generate stable ID using React 18's useId (SSR-safe)\n const reactId = useId();\n const id = providedId || `${idPrefix}${reactId}`;\n\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState(defaultValue || '');\n\n // Determine control mode\n const isControlled = controlledValue !== undefined;\n\n // Normalize value (handle null from backend)\n const rawValue = isControlled ? controlledValue : internalValue;\n const value = rawValue ?? '';\n\n // React Hook Form detection: has onChange but no controlled value or defaultValue\n const isReactHookForm = Boolean(hasOnChange && !isControlled && !defaultValue);\n\n // Character counting\n const characterCount = value.length;\n const hasCharacterLimit = maxLength !== undefined;\n const showCount = showCharacterCount === false ? false : Boolean(showCharacterCount || hasCharacterLimit);\n const hasValue = value !== '';\n\n // Check if value would exceed limit\n const wouldExceedLimit = useCallback(\n (newValue: string) => {\n return hasCharacterLimit && newValue.length > maxLength;\n },\n [hasCharacterLimit, maxLength]\n );\n\n // Update value (respects character limit, updates internal state if uncontrolled)\n const updateValue = useCallback(\n (newValue: string): boolean => {\n if (wouldExceedLimit(newValue)) {\n return false;\n }\n if (!isControlled) {\n setInternalValue(newValue);\n }\n return true;\n },\n [isControlled, wouldExceedLimit]\n );\n\n // Clear value\n const clearValue = useCallback(() => {\n if (!isControlled) {\n setInternalValue('');\n }\n }, [isControlled]);\n\n return useMemo(\n () => ({\n id,\n value,\n isControlled,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n }),\n [\n id,\n value,\n isControlled,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n ]\n );\n}\n","import { CircleXIcon, Loader2Icon, type LucideIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { useRef, useCallback, useMemo, memo } from 'react';\nimport { Text } from '@/components/typography';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\nimport { formControlSizeClasses, resolveFormControlSize } from '../form-sizing';\nimport { useFormFieldState } from './hooks';\n\nexport interface InputStrings {\n clear: string;\n}\n\nexport const defaultInputStrings: InputStrings = {\n clear: 'Clear input',\n};\n\n/**\n * Helper function to get value with prefix/suffix\n */\nconst getValueWithAddons = (value: string, startAddon?: string, endAddon?: string): string => {\n let result = value || '';\n if (startAddon && result) result = startAddon + result;\n if (endAddon && result) result = result + endAddon;\n return result;\n};\n\nexport interface InputProps extends Omit<React.ComponentProps<'input'>, 'onChange' | 'size'> {\n // Icon props\n startIcon?: LucideIcon;\n endIcon?: LucideIcon;\n\n // Add-on props (visual prefix/suffix inside input)\n startAddon?: string;\n endAddon?: string;\n\n // Character limit\n maxLength?: number;\n showCharacterCount?: boolean;\n\n // Clear button\n clearable?: boolean;\n onClear?: () => void;\n\n // Loading state\n isLoading?: boolean;\n\n // Return value with addons in onChange\n returnValueWithAddons?: boolean;\n\n // Error state for styling (passed from FormField)\n invalid?: boolean;\n\n // Visual size\n size?: FormControlSize;\n\n // Value props\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n value?: string;\n defaultValue?: string;\n\n // String overrides (e.g. clear button aria-label)\n strings?: StringsProp<InputStrings>;\n}\n\nfunction InputImpl(\n\t{\n\t\tclassName,\n\t\ttype = 'text',\n\t\tstartIcon: StartIcon,\n\t\tendIcon: EndIcon,\n\t\tstartAddon,\n\t\tendAddon,\n\t\tmaxLength,\n\t\tshowCharacterCount,\n\t\tclearable,\n\t\tonClear,\n\t\tisLoading,\n\t\treturnValueWithAddons,\n\t\tinvalid,\n\t\tsize: sizeProp,\n\t\tonChange,\n\t\tvalue: controlledValue,\n\t\tdefaultValue,\n\t\tid: providedId,\n\t\tstrings: stringsProp,\n\t\t...props\n\t}: InputProps,\n\tforwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const inputRef = useRef<HTMLInputElement>(null);\n const strings = useStrings(defaultInputStrings, stringsProp);\n const { defaultControlSize } = useFormsConfig();\n const size = resolveFormControlSize(sizeProp, defaultControlSize);\n\n // Memoize ref callback to avoid recreation on every render\n const setRefs = useCallback(\n (node: HTMLInputElement | null) => {\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n inputRef.current = node;\n },\n [forwardedRef]\n );\n\n // Use shared form field state hook\n const {\n id,\n value: inputValue,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n } = useFormFieldState({\n controlledValue,\n defaultValue,\n maxLength,\n showCharacterCount,\n providedId,\n idPrefix: 'input',\n hasOnChange: onChange !== undefined,\n });\n\n // Derive display states (simple booleans, no need for useMemo)\n const isClearable = !!clearable;\n const isShowingLoading = !!isLoading;\n const hasEndIcon = !!EndIcon;\n const hasEndAddon = !!endAddon;\n const isFileInput = type === 'file';\n const hasError = !!invalid;\n\n // Memoize padding classes based on add-ons and icons\n // Addon padding sized so the value sits adjacent to the addon — `ps-3`\n // baseline + a measured space for addon text. Wider addons can override\n // via `className` (`ps-16` etc.) at the call site.\n const inputPaddingClasses = useMemo(() => {\n let paddingStart = 'px-3';\n let paddingEnd = 'px-3';\n\n if (StartIcon) paddingStart = 'ps-9';\n if (startAddon) paddingStart = 'ps-10';\n\n if (EndIcon) paddingEnd = 'pe-9';\n if (endAddon) paddingEnd = 'pe-10';\n if ((isClearable && hasValue) || isShowingLoading) paddingEnd = 'pe-9';\n if (showCount) paddingEnd = 'pe-14';\n\n return `${paddingStart} ${paddingEnd}`;\n }, [StartIcon, startAddon, EndIcon, endAddon, isClearable, hasValue, isShowingLoading, showCount]);\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n\n // Check character limit\n if (wouldExceedLimit(newValue)) {\n return;\n }\n\n // Update internal state if uncontrolled\n updateValue(newValue);\n\n // Call external onChange with modified event if addons are requested\n if (onChange) {\n if (returnValueWithAddons) {\n const valueWithAddons = getValueWithAddons(newValue, startAddon, endAddon);\n const modifiedEvent = {\n ...e,\n target: { ...e.target, value: valueWithAddons },\n currentTarget: { ...e.currentTarget, value: valueWithAddons },\n };\n onChange(modifiedEvent as React.ChangeEvent<HTMLInputElement>);\n } else {\n onChange(e);\n }\n }\n },\n [onChange, returnValueWithAddons, startAddon, endAddon, updateValue, wouldExceedLimit]\n );\n\n const handleClear = useCallback(() => {\n const clearValueWithAddons = returnValueWithAddons\n ? getValueWithAddons('', startAddon, endAddon)\n : '';\n const syntheticEvent = {\n target: { value: clearValueWithAddons },\n currentTarget: { value: clearValueWithAddons },\n } as React.ChangeEvent<HTMLInputElement>;\n\n // Clear internal state\n clearValue();\n\n // Notify parent\n onChange?.(syntheticEvent);\n\n // Execute optional onClear callback\n onClear?.();\n\n // Focus the input after clearing\n inputRef.current?.focus();\n }, [returnValueWithAddons, startAddon, endAddon, clearValue, onChange, onClear]);\n\n // Determine what to show in the end position (priority order)\n const showClearButton = isClearable && hasValue && !showCount && !isShowingLoading;\n const showLoadingSpinner = isShowingLoading && !showCount;\n const showEndIcon = hasEndIcon && !isClearable && !showCount && !isShowingLoading;\n const showEndAddon = hasEndAddon && !isClearable && !showCount && !isShowingLoading;\n\n return (\n <div className={cn('input--component', 'relative')}>\n <input\n ref={setRefs}\n id={id}\n type={type}\n {...(!isReactHookForm && { value: inputValue })}\n onChange={handleInputChange}\n maxLength={maxLength}\n aria-invalid={hasError || undefined}\n disabled={props.disabled || isLoading}\n className={cn(\n // Base styles\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground',\n 'border-input flex w-full min-w-0 rounded-md border py-1',\n 'transition-[color,box-shadow] outline-none',\n 'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n formControlSizeClasses[size],\n // File input styles\n 'file:inline-flex file:h-7 file:border file:bg-transparent file:px-3 file:text-sm file:font-medium',\n isFileInput\n ? 'cursor-pointer bg-background text-foreground file:cursor-pointer file:rounded-md file:border-input file:bg-background file:text-foreground'\n : 'bg-transparent',\n // Focus styles\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n // Invalid/error styles — destructive border, ring, value text\n 'aria-invalid:ring-destructive/20 aria-invalid:border-destructive aria-invalid:text-destructive',\n 'aria-invalid:placeholder:text-destructive/40',\n // Read-only styles\n isFileInput\n ? 'read-only:bg-background'\n : 'read-only:bg-muted',\n // Dynamic padding\n inputPaddingClasses,\n className\n )}\n {...props}\n />\n\n {/* Start Icon */}\n {!!StartIcon && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <StartIcon size={16} aria-hidden=\"true\" />\n </div>\n )}\n\n {/* Start Add-on */}\n {!!startAddon && (\n <span\n className={cn(\n 'pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-sm',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n >\n {startAddon}\n </span>\n )}\n\n {/* End Icon */}\n {!!showEndIcon && !!EndIcon && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <EndIcon size={16} aria-hidden=\"true\" />\n </div>\n )}\n\n {/* End Add-on */}\n {!!showEndAddon && (\n <span\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3 text-sm',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n >\n {endAddon}\n </span>\n )}\n\n {/* Character Count */}\n {!!showCount && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3 text-xs tabular-nums',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n aria-live=\"polite\"\n role=\"status\"\n >\n <Text tag=\"span\" size=\"xs\" type={hasError ? 'error' : 'secondary'}>\n {characterCount}\n {hasCharacterLimit ? `/${maxLength}` : ''}\n </Text>\n </div>\n )}\n\n {/* Loading Spinner */}\n {!!showLoadingSpinner && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-3',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <Loader2Icon size={16} className=\"animate-spin\" aria-hidden=\"true\" />\n </div>\n )}\n\n {/* Clear Button */}\n {!!showClearButton && (\n <button\n type=\"button\"\n className=\"text-muted-foreground/80 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label={strings.clear}\n onClick={handleClear}\n disabled={isLoading}\n >\n <CircleXIcon size={16} aria-hidden=\"true\" />\n </button>\n )}\n </div>\n );\n}\n\n// forwardRef + memo (needed for callers that require refs, e.g. segmented inputs)\nconst Input = memo(React.forwardRef<HTMLInputElement, InputProps>(InputImpl));\nInput.displayName = 'Input';\n\nexport { Input };\n"],"mappings":"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"}
|