admin-ui-starter-kit 0.6.5 → 0.6.7
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/references/components/base__cards.md +7 -8
- package/.agents/skills/component-library-rules/references/components/base__carousel.md +4 -4
- package/.agents/skills/component-library-rules/references/components/base__combobox.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__css-variables.md +2 -1
- package/.agents/skills/component-library-rules/references/components/base__event-calendar.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__table.md +32 -11
- package/.agents/skills/component-library-rules/references/components/base__typography.md +1 -1
- package/.agents/skills/component-library-rules/references/components/composed__metadata-list.md +3 -3
- package/.agents/skills/component-library-rules/references/components/features__activities.md +1 -1
- package/.agents/skills/component-library-rules/references/components/features__enhanced-activities.md +6 -6
- package/.agents/skills/component-library-rules/references/components/features__metrics-overview.md +3 -3
- package/.agents/skills/component-library-rules/references/components/features__overlays.md +2 -2
- package/.agents/skills/component-library-rules/references/components/features__products.md +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-app-shell.md +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +3 -3
- package/.agents/skills/component-library-rules/references/components/layout__layout-sidebar.md +2 -2
- package/dist/_shared/accordion-CxjH2WZG.js +135 -0
- package/dist/_shared/accordion-CxjH2WZG.js.map +1 -0
- package/dist/_shared/accordion-mTdJmy23.cjs +2 -0
- package/dist/_shared/accordion-mTdJmy23.cjs.map +1 -0
- package/dist/_shared/action-menu-BrHF4nss.cjs +2 -0
- package/dist/_shared/action-menu-BrHF4nss.cjs.map +1 -0
- package/dist/_shared/action-menu-Crn22LKo.js +96 -0
- package/dist/_shared/action-menu-Crn22LKo.js.map +1 -0
- package/dist/_shared/ai-artifact-CS2Pv-bu.js +1099 -0
- package/dist/_shared/ai-artifact-CS2Pv-bu.js.map +1 -0
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs +3 -0
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs.map +1 -0
- package/dist/_shared/alert-BisCSsOE.cjs +2 -0
- package/dist/_shared/alert-BisCSsOE.cjs.map +1 -0
- package/dist/_shared/alert-D23Q7I0W.js +81 -0
- package/dist/_shared/alert-D23Q7I0W.js.map +1 -0
- package/dist/_shared/app-shell-BZQJfTkf.cjs +2 -0
- package/dist/_shared/app-shell-BZQJfTkf.cjs.map +1 -0
- package/dist/_shared/app-shell-Da6GHxTZ.js +69 -0
- package/dist/_shared/app-shell-Da6GHxTZ.js.map +1 -0
- package/dist/_shared/auth-BV9Daibu.cjs +2 -0
- package/dist/_shared/auth-BV9Daibu.cjs.map +1 -0
- package/dist/_shared/auth-DACpcTnL.js +643 -0
- package/dist/_shared/auth-DACpcTnL.js.map +1 -0
- package/dist/_shared/badge-B4oBB5BJ.js +110 -0
- package/dist/_shared/badge-B4oBB5BJ.js.map +1 -0
- package/dist/_shared/badge-DvUA9Pr2.cjs +2 -0
- package/dist/_shared/badge-DvUA9Pr2.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-CuT0YIfo.js +105 -0
- package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +1 -0
- package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +2 -0
- package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +1 -0
- package/dist/_shared/button-BMiPFJIb.cjs +2 -0
- package/dist/_shared/button-BMiPFJIb.cjs.map +1 -0
- package/dist/_shared/button-vv59_uS_.js +189 -0
- package/dist/_shared/button-vv59_uS_.js.map +1 -0
- package/dist/_shared/buttons-CvqIMv3I.js +137 -0
- package/dist/_shared/buttons-CvqIMv3I.js.map +1 -0
- package/dist/_shared/buttons-tCkWktN3.cjs +2 -0
- package/dist/_shared/buttons-tCkWktN3.cjs.map +1 -0
- package/dist/_shared/card-radio-group-BL--IyPB.js +150 -0
- package/dist/_shared/card-radio-group-BL--IyPB.js.map +1 -0
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs +2 -0
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs.map +1 -0
- package/dist/_shared/cards-CMNXFo3Y.js +354 -0
- package/dist/_shared/cards-CMNXFo3Y.js.map +1 -0
- package/dist/_shared/cards-DQN9fcwo.cjs +2 -0
- package/dist/_shared/cards-DQN9fcwo.cjs.map +1 -0
- package/dist/_shared/combobox-D0avSXIB.cjs +2 -0
- package/dist/_shared/combobox-D0avSXIB.cjs.map +1 -0
- package/dist/_shared/combobox-Df0srISK.js +954 -0
- package/dist/_shared/combobox-Df0srISK.js.map +1 -0
- package/dist/_shared/command-B5BpMgBT.js +39 -0
- package/dist/_shared/command-B5BpMgBT.js.map +1 -0
- package/dist/_shared/command-en62SpQ7.cjs +2 -0
- package/dist/_shared/command-en62SpQ7.cjs.map +1 -0
- package/dist/_shared/comments-CfkortDW.js +952 -0
- package/dist/_shared/comments-CfkortDW.js.map +1 -0
- package/dist/_shared/comments-yVd7QMOu.cjs +2 -0
- package/dist/_shared/comments-yVd7QMOu.cjs.map +1 -0
- package/dist/_shared/copyable-Cn7tRGL5.js +38 -0
- package/dist/_shared/copyable-Cn7tRGL5.js.map +1 -0
- package/dist/_shared/copyable-CoKTxMSP.cjs +2 -0
- package/dist/_shared/copyable-CoKTxMSP.cjs.map +1 -0
- package/dist/_shared/data-display-BG7CD164.js +1873 -0
- package/dist/_shared/data-display-BG7CD164.js.map +1 -0
- package/dist/_shared/data-display-CXVoX3la.cjs +2 -0
- package/dist/_shared/data-display-CXVoX3la.cjs.map +1 -0
- package/dist/_shared/date-picker-Bf-nnyi-.js +1361 -0
- package/dist/_shared/date-picker-Bf-nnyi-.js.map +1 -0
- package/dist/_shared/date-picker-Cox4PAUt.cjs +2 -0
- package/dist/_shared/date-picker-Cox4PAUt.cjs.map +1 -0
- package/dist/_shared/date-pickers-DbN4q0dn.cjs +2 -0
- package/dist/_shared/date-pickers-DbN4q0dn.cjs.map +1 -0
- package/dist/_shared/date-pickers-DvrOCP-s.js +329 -0
- package/dist/_shared/date-pickers-DvrOCP-s.js.map +1 -0
- package/dist/_shared/display-BQijMo37.js +986 -0
- package/dist/_shared/display-BQijMo37.js.map +1 -0
- package/dist/_shared/display-C0ut-Lew.cjs +2 -0
- package/dist/_shared/display-C0ut-Lew.cjs.map +1 -0
- package/dist/_shared/form-sizing-DJus3nK3.cjs +2 -0
- package/dist/_shared/form-sizing-DJus3nK3.cjs.map +1 -0
- package/dist/_shared/form-sizing-DWjJsQSR.js +42 -0
- package/dist/_shared/form-sizing-DWjJsQSR.js.map +1 -0
- package/dist/_shared/forms-BjG7QIb1.cjs +2 -0
- package/dist/_shared/forms-BjG7QIb1.cjs.map +1 -0
- package/dist/_shared/forms-DljDdyXR.js +3533 -0
- package/dist/_shared/forms-DljDdyXR.js.map +1 -0
- package/dist/_shared/header-BpFJRINR.cjs +2 -0
- package/dist/_shared/header-BpFJRINR.cjs.map +1 -0
- package/dist/_shared/header-CKqQF4_r.js +447 -0
- package/dist/_shared/header-CKqQF4_r.js.map +1 -0
- package/dist/_shared/hooks-DcCkbP1F.js +95 -0
- package/dist/_shared/hooks-DcCkbP1F.js.map +1 -0
- package/dist/_shared/hooks-RkLytuGj.cjs +2 -0
- package/dist/_shared/hooks-RkLytuGj.cjs.map +1 -0
- package/dist/_shared/input-Cin0qpjj.js +182 -0
- package/dist/_shared/input-Cin0qpjj.js.map +1 -0
- package/dist/_shared/input-uuWeiagN.cjs +2 -0
- package/dist/_shared/input-uuWeiagN.cjs.map +1 -0
- package/dist/_shared/item-CIlSaQg8.js +226 -0
- package/dist/_shared/item-CIlSaQg8.js.map +1 -0
- package/dist/_shared/item-CSk9Y2qB.cjs +2 -0
- package/dist/_shared/item-CSk9Y2qB.cjs.map +1 -0
- package/dist/_shared/layout-Cun0HPL4.cjs +2 -0
- package/dist/_shared/layout-Cun0HPL4.cjs.map +1 -0
- package/dist/_shared/layout-HrU5gwH3.js +261 -0
- package/dist/_shared/layout-HrU5gwH3.js.map +1 -0
- package/dist/_shared/mentions-BqN82Fon.cjs +2 -0
- package/dist/_shared/mentions-BqN82Fon.cjs.map +1 -0
- package/dist/_shared/mentions-DV0FT1Th.js +506 -0
- package/dist/_shared/mentions-DV0FT1Th.js.map +1 -0
- package/dist/_shared/money-display-D5FCRhzB.cjs +2 -0
- package/dist/_shared/money-display-D5FCRhzB.cjs.map +1 -0
- package/dist/_shared/money-display-FcCAQDCz.js +198 -0
- package/dist/_shared/money-display-FcCAQDCz.js.map +1 -0
- package/dist/_shared/navigation-CI_Dd8jM.js +436 -0
- package/dist/_shared/navigation-CI_Dd8jM.js.map +1 -0
- package/dist/_shared/navigation-DUGhCPzJ.cjs +2 -0
- package/dist/_shared/navigation-DUGhCPzJ.cjs.map +1 -0
- package/dist/_shared/overlays-BRLemLSn.cjs +2 -0
- package/dist/_shared/overlays-BRLemLSn.cjs.map +1 -0
- package/dist/_shared/overlays-Bef7VNYY.js +735 -0
- package/dist/_shared/overlays-Bef7VNYY.js.map +1 -0
- package/dist/_shared/popover-menu-CAjhhTfX.js +93 -0
- package/dist/_shared/popover-menu-CAjhhTfX.js.map +1 -0
- package/dist/_shared/popover-menu-DlkRgOkR.cjs +2 -0
- package/dist/_shared/popover-menu-DlkRgOkR.cjs.map +1 -0
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js +620 -0
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js.map +1 -0
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs +2 -0
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs.map +1 -0
- package/dist/_shared/settings-CNT4-6u8.cjs +2 -0
- package/dist/_shared/settings-CNT4-6u8.cjs.map +1 -0
- package/dist/_shared/settings-CRP6409J.js +143 -0
- package/dist/_shared/settings-CRP6409J.js.map +1 -0
- package/dist/_shared/sidebar-B0LcBrfI.cjs +2 -0
- package/dist/_shared/sidebar-B0LcBrfI.cjs.map +1 -0
- package/dist/_shared/sidebar-Bc6JsOTD.js +548 -0
- package/dist/_shared/sidebar-Bc6JsOTD.js.map +1 -0
- package/dist/_shared/spinner-CVG62sGs.js +67 -0
- package/dist/_shared/spinner-CVG62sGs.js.map +1 -0
- package/dist/_shared/spinner-VjdonFU2.cjs +2 -0
- package/dist/_shared/spinner-VjdonFU2.cjs.map +1 -0
- package/dist/_shared/table-_yujELN3.js +1377 -0
- package/dist/_shared/table-_yujELN3.js.map +1 -0
- package/dist/_shared/table-iV8H1AE0.cjs +2 -0
- package/dist/_shared/table-iV8H1AE0.cjs.map +1 -0
- package/dist/_shared/textarea-B4zbbqff.cjs +2 -0
- package/dist/_shared/textarea-B4zbbqff.cjs.map +1 -0
- package/dist/_shared/textarea-Dp0RU-rc.js +118 -0
- package/dist/_shared/textarea-Dp0RU-rc.js.map +1 -0
- package/dist/_shared/typography-DXvCmE8w.js +201 -0
- package/dist/_shared/typography-DXvCmE8w.js.map +1 -0
- package/dist/_shared/typography-pzCKaFOc.cjs +2 -0
- package/dist/_shared/typography-pzCKaFOc.cjs.map +1 -0
- package/dist/_shared/workspace-C3U57t2a.cjs +2 -0
- package/dist/_shared/workspace-C3U57t2a.cjs.map +1 -0
- package/dist/_shared/workspace-Db--ow3r.js +357 -0
- package/dist/_shared/workspace-Db--ow3r.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/badge.d.ts.map +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/cards/smart-card.types.d.ts +3 -3
- package/dist/components/base/carousel/index.cjs +1 -1
- package/dist/components/base/carousel/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 +1 -1
- package/dist/components/base/copyable/index.cjs +1 -1
- package/dist/components/base/copyable/index.js +1 -1
- package/dist/components/base/currency/index.cjs +1 -1
- package/dist/components/base/currency/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/chart.cjs +1 -1
- package/dist/components/base/display/chart.js +1 -1
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +3 -3
- 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 +6 -6
- package/dist/components/base/event-calendar/index.js.map +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +5 -5
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.js +2 -2
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +3 -3
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/spinner/index.cjs +1 -1
- package/dist/components/base/spinner/index.js +1 -1
- package/dist/components/base/table/data-table.d.ts.map +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/base/table/table-header.d.ts.map +1 -1
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.cjs.map +1 -1
- package/dist/components/composed/admin/index.js +13 -13
- package/dist/components/composed/admin/index.js.map +1 -1
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.cjs.map +1 -1
- package/dist/components/composed/ai/index.js +25 -25
- package/dist/components/composed/ai/index.js.map +1 -1
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.cjs.map +1 -1
- package/dist/components/composed/analytics/index.js +26 -26
- package/dist/components/composed/analytics/index.js.map +1 -1
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.cjs.map +1 -1
- package/dist/components/composed/cards/index.js +15 -15
- package/dist/components/composed/cards/index.js.map +1 -1
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.cjs.map +1 -1
- package/dist/components/composed/commerce/index.js +28 -28
- package/dist/components/composed/commerce/index.js.map +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.js +4 -4
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.cjs.map +1 -1
- package/dist/components/composed/navigation/index.js +15 -15
- package/dist/components/composed/navigation/index.js.map +1 -1
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +3 -3
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.cjs.map +1 -1
- package/dist/components/composed/timelines/index.js +10 -10
- package/dist/components/composed/timelines/index.js.map +1 -1
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.cjs.map +1 -1
- package/dist/components/features/activities/index.js +9 -9
- package/dist/components/features/activities/index.js.map +1 -1
- package/dist/components/features/ai-chat/index.cjs +2 -2
- package/dist/components/features/ai-chat/index.cjs.map +1 -1
- package/dist/components/features/ai-chat/index.js +8 -8
- package/dist/components/features/ai-chat/index.js.map +1 -1
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +4 -4
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/data-view/index.cjs +1 -1
- package/dist/components/features/data-view/index.cjs.map +1 -1
- package/dist/components/features/data-view/index.js +3 -3
- package/dist/components/features/data-view/index.js.map +1 -1
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +4 -4
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.cjs.map +1 -1
- package/dist/components/features/filters/index.js +11 -11
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.cjs.map +1 -1
- package/dist/components/features/global-search/index.js +14 -14
- package/dist/components/features/global-search/index.js.map +1 -1
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +3 -3
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.cjs.map +1 -1
- package/dist/components/features/media-library/index.js +23 -23
- package/dist/components/features/media-library/index.js.map +1 -1
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +1 -1
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.js +1 -1
- package/dist/components/features/products/index.cjs +1 -1
- package/dist/components/features/products/index.cjs.map +1 -1
- package/dist/components/features/products/index.js +14 -14
- package/dist/components/features/products/index.js.map +1 -1
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.cjs.map +1 -1
- package/dist/components/features/resource/index.js +5 -5
- package/dist/components/features/resource/index.js.map +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/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +8 -8
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.js +2 -2
- package/dist/components/layout/app-shell/index.cjs +1 -1
- package/dist/components/layout/app-shell/index.js +1 -1
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- 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 +8 -8
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-DtVzijR8.js +6 -0
- package/dist/showcase/assets/CompositeItem-SL6R0H3r.js +1 -0
- package/dist/showcase/assets/CompositeRoot-CTygKc2d.js +1 -0
- package/dist/showcase/assets/DialogTrigger-m2m9VdXk.js +1 -0
- package/dist/showcase/assets/LabelableContext-D6DcOg5I.js +1 -0
- package/dist/showcase/assets/PreviewLayout-CHW8F5uE.js +1 -0
- package/dist/showcase/assets/RadioGroup-BAOoU1eO.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-CrCCP65t.js +1 -0
- package/dist/showcase/assets/Separator-DMs71Vib.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-DWKxsCxT.js +1 -0
- package/dist/showcase/assets/accordion-Clw5XNXP.js +171 -0
- package/dist/showcase/assets/accordion-variants-jiwKaPjE.js +1 -0
- package/dist/showcase/assets/action-menu-CW8zR6Ne.js +1 -0
- package/dist/showcase/assets/actions-Cf7vl3u0.js +310 -0
- package/dist/showcase/assets/activities-CyI5sJuS.js +500 -0
- package/dist/showcase/assets/activities-feed-card-Gv-Y4BBq.js +1 -0
- package/dist/showcase/assets/admin-CQVbTxGD.js +140 -0
- package/dist/showcase/assets/ai-Bkp2BY_z.js +207 -0
- package/dist/showcase/assets/ai-artifact-Cf1vEdVD.js +2 -0
- package/dist/showcase/assets/ai-chat-Bs3x6cK3.js +568 -0
- package/dist/showcase/assets/ai-elements-VbMUV2-i.js +387 -0
- package/dist/showcase/assets/ai-tool-call-BQYg4QB_.js +1 -0
- package/dist/showcase/assets/alert-BUmpNcXV.js +1 -0
- package/dist/showcase/assets/alert-CWPNW7eb.js +93 -0
- package/dist/showcase/assets/alert-nUwhk3AB.js +62 -0
- package/dist/showcase/assets/api-key-list-B1qVywOP.js +73 -0
- package/dist/showcase/assets/api-key-list-BI2FGbzV.js +1 -0
- package/dist/showcase/assets/app-sidebar-B35a8HWK.js +1 -0
- package/dist/showcase/assets/arrow-down-C1w0M8tE.js +1 -0
- package/dist/showcase/assets/arrow-left-DtILDtAv.js +1 -0
- package/dist/showcase/assets/arrow-right-TnZMfDbP.js +1 -0
- package/dist/showcase/assets/arrow-up-BX-KDIDB.js +1 -0
- package/dist/showcase/assets/arrow-up-right-CrnWqXwJ.js +1 -0
- package/dist/showcase/assets/avatar-C5YI0roK.js +67 -0
- package/dist/showcase/assets/avatar-DsnH-Xmz.js +1 -0
- package/dist/showcase/assets/avatar-S4vMi7Be.js +57 -0
- package/dist/showcase/assets/avatar-q4wqX6yD.js +1 -0
- package/dist/showcase/assets/badge-DJacF8-J.js +31 -0
- package/dist/showcase/assets/badge-check-DDJtQHcD.js +1 -0
- package/dist/showcase/assets/bell-DiXXE8YI.js +1 -0
- package/dist/showcase/assets/bot-bONqc_7j.js +1 -0
- package/dist/showcase/assets/box-lhUq3Chj.js +1 -0
- package/dist/showcase/assets/braces-IKXiJgb3.js +1 -0
- package/dist/showcase/assets/brain-DcXlhbJZ.js +1 -0
- package/dist/showcase/assets/brand-CramZg2-.js +36 -0
- package/dist/showcase/assets/breadcrumb-BL7UjlLh.js +1 -0
- package/dist/showcase/assets/breadcrumb-CZRbcf09.js +52 -0
- package/dist/showcase/assets/breadcrumbs-DJzvSt_Z.js +1 -0
- package/dist/showcase/assets/briefcase-CQQ0m97G.js +1 -0
- package/dist/showcase/assets/building-2-BkQcv8WR.js +1 -0
- package/dist/showcase/assets/button-K7M0irWq.js +44 -0
- package/dist/showcase/assets/button-group-KCGa38c8.js +1 -0
- package/dist/showcase/assets/buttons-CvyBMRD6.js +272 -0
- package/dist/showcase/assets/calendar-BJHjhWQX.js +1 -0
- package/dist/showcase/assets/calendar-ChMVRsNC.js +16 -0
- package/dist/showcase/assets/calendar-days-BgkRJVxQ.js +1 -0
- package/dist/showcase/assets/calendar-xpHhfGnq.js +1 -0
- package/dist/showcase/assets/camera-C67freYi.js +1 -0
- package/dist/showcase/assets/card-CfOqXMVz.js +188 -0
- package/dist/showcase/assets/card-bLjedjT5.js +1 -0
- package/dist/showcase/assets/card-primitives-FUPmQCsu.js +1 -0
- package/dist/showcase/assets/card-radio-group-D_QNJ2Hm.js +1 -0
- package/dist/showcase/assets/cards-yHZa0kEf.js +353 -0
- package/dist/showcase/assets/carousel-DG1cKry4.js +449 -0
- package/dist/showcase/assets/cell-renderers-qfJ-7alN.js +1 -0
- package/dist/showcase/assets/chart-B_yVfbWJ.js +358 -0
- package/dist/showcase/assets/chart-column-CYrVWmMk.js +1 -0
- package/dist/showcase/assets/checkbox-NW6EcvtD.js +1 -0
- package/dist/showcase/assets/checkbox-pA_L1P-f.js +1 -0
- package/dist/showcase/assets/chevron-down-DLrHjdQ6.js +1 -0
- package/dist/showcase/assets/chevron-left-B_NQOEWI.js +1 -0
- package/dist/showcase/assets/chevron-up-6hst2jwR.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-C_pj9oOa.js +1 -0
- package/dist/showcase/assets/circle-Cw9qV72m.js +1 -0
- package/dist/showcase/assets/circle-alert-D3Vcma6L.js +1 -0
- package/dist/showcase/assets/circle-check-DdjJpGc9.js +1 -0
- package/dist/showcase/assets/circle-check-big-Dnq-jwtv.js +1 -0
- package/dist/showcase/assets/circle-dot-DN8DFgIP.js +1 -0
- package/dist/showcase/assets/circle-question-mark-Dzgiv4oS.js +1 -0
- package/dist/showcase/assets/circle-x-BzTSkndC.js +1 -0
- package/dist/showcase/assets/clock-3-CVwHXCmo.js +1 -0
- package/dist/showcase/assets/clock-BIJ9p953.js +1 -0
- package/dist/showcase/assets/code-xml-DrU5ziCA.js +1 -0
- package/dist/showcase/assets/collapsible-7rdCo71k.js +27 -0
- package/dist/showcase/assets/collapsible-DCcTSlEH.js +1 -0
- package/dist/showcase/assets/combobox-mx8o5sV1.js +685 -0
- package/dist/showcase/assets/command-CKJDGdA9.js +1 -0
- package/dist/showcase/assets/command-CzGLPzoO.js +1 -0
- package/dist/showcase/assets/comment-composer-CSoEIapl.js +1 -0
- package/dist/showcase/assets/comment-item-pjaH53iB.js +1 -0
- package/dist/showcase/assets/comments-_ccotzWA.js +357 -0
- package/dist/showcase/assets/commerce-BuiQiRsf.js +267 -0
- package/dist/showcase/assets/composite-Bghohd0p.js +1 -0
- package/dist/showcase/assets/contact-card-CqM2uz_w.js +65 -0
- package/dist/showcase/assets/content-container-fC4z98GI.js +1 -0
- package/dist/showcase/assets/copyable-BMQK8sID.js +1 -0
- package/dist/showcase/assets/copyable-DVR2FAa0.js +96 -0
- package/dist/showcase/assets/course-card-Cku2z18g.js +77 -0
- package/dist/showcase/assets/cpu-A072t3kq.js +1 -0
- package/dist/showcase/assets/credit-card-BGwhx9Zo.js +1 -0
- package/dist/showcase/assets/css-variables-BAW_VrGk.js +1205 -0
- package/dist/showcase/assets/currency-Da3C0Uzb.js +149 -0
- package/dist/showcase/assets/dark-surfaces-BHYLEj80.js +90 -0
- package/dist/showcase/assets/data-view--EAYihh0.js +124 -0
- package/dist/showcase/assets/data-view-BAMwKzZO.js +4 -0
- package/dist/showcase/assets/database-C489WIbr.js +1 -0
- package/dist/showcase/assets/date-block-DuNaPSBU.js +1 -0
- package/dist/showcase/assets/date-picker-Dq-9L64y.js +1 -0
- package/dist/showcase/assets/date-pickers-D0ReMKc9.js +73 -0
- package/dist/showcase/assets/dense-info-CXwjqQB1.js +106 -0
- package/dist/showcase/assets/design-system-consistency-CGoKv0Vf.js +264 -0
- package/dist/showcase/assets/dialog-DIrJcAzq.js +1 -0
- package/dist/showcase/assets/dialog-O45UwQJs.js +1 -0
- package/dist/showcase/assets/display-utilities-VKOARJyC.js +267 -0
- package/dist/showcase/assets/dist-BavkTE-I.js +1 -0
- package/dist/showcase/assets/dist-DPxPKIgU.js +45 -0
- package/dist/showcase/assets/dollar-sign-CH2fcyek.js +1 -0
- package/dist/showcase/assets/download-whAw79X4.js +1 -0
- package/dist/showcase/assets/dropdown-menu-PVKwhWds.js +1 -0
- package/dist/showcase/assets/dropzone-B9sc8Mwa.js +1 -0
- package/dist/showcase/assets/earth-BpkE9LMh.js +1 -0
- package/dist/showcase/assets/ellipsis-CEVdIbhD.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-CBIvtUVz.js +1 -0
- package/dist/showcase/assets/empty-Dp1eCMIl.js +1 -0
- package/dist/showcase/assets/empty-item--dZz4VlJ.js +49 -0
- package/dist/showcase/assets/empty-state-ZOiE-hWY.js +190 -0
- package/dist/showcase/assets/empty-state-dsivN4CA.js +1 -0
- package/dist/showcase/assets/enhanced-activities-BpzUxaof.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-D71BOuiX.js +1 -0
- package/dist/showcase/assets/esm-DT-TXPCJ.js +2 -0
- package/dist/showcase/assets/event-calendar-aVpAFZFq.js +138 -0
- package/dist/showcase/assets/event-log-DVcvyQ-P.js +330 -0
- package/dist/showcase/assets/example-CzbL5xoH.js +1 -0
- package/dist/showcase/assets/external-link-BaLE1QE5.js +1 -0
- package/dist/showcase/assets/eye-Dq0mLKrs.js +1 -0
- package/dist/showcase/assets/feature-announcement-sWKBC2fs.js +34 -0
- package/dist/showcase/assets/file-CgW3NvCL.js +1 -0
- package/dist/showcase/assets/file-text-JGaJQ8Wd.js +1 -0
- package/dist/showcase/assets/filter-layout-jfahl8aJ.js +1 -0
- package/dist/showcase/assets/filters-D7zegZVD.js +139 -0
- package/dist/showcase/assets/flag-H6U1f4wd.js +1 -0
- package/dist/showcase/assets/folder-open-sT96wRxJ.js +1 -0
- package/dist/showcase/assets/form-field-CQuSWnj8.js +1 -0
- package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +1 -0
- package/dist/showcase/assets/format-DGPJ5dDq.js +1 -0
- package/dist/showcase/assets/forms-CdDJkAFt.js +915 -0
- package/dist/showcase/assets/funnel-Bh56GDO0.js +1 -0
- package/dist/showcase/assets/generic-CqSABKHr.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-Cgw3-xUB.js +1 -0
- package/dist/showcase/assets/gift-ChVS2ovQ.js +1 -0
- package/dist/showcase/assets/giftcard-cards-CuaGn8-J.js +85 -0
- package/dist/showcase/assets/git-branch-86jQZnz4.js +1 -0
- package/dist/showcase/assets/global-search-C92CjOf8.js +215 -0
- package/dist/showcase/assets/global-search-DpVIWyO9.js +1 -0
- package/dist/showcase/assets/globe-DmGzYOlq.js +1 -0
- package/dist/showcase/assets/gradient-card-BUZzXFdZ.js +58 -0
- package/dist/showcase/assets/hash-pc6IIDge.js +1 -0
- package/dist/showcase/assets/header-DbM4l1Z6.js +1 -0
- package/dist/showcase/assets/header-notifications-CaymUd4n.js +1 -0
- package/dist/showcase/assets/heart-DtfPBlXq.js +1 -0
- package/dist/showcase/assets/hooks-JiLlGOJ-.js +220 -0
- package/dist/showcase/assets/house-CzNWewi5.js +1 -0
- package/dist/showcase/assets/icon-badge-G9Fp891n.js +1 -0
- package/dist/showcase/assets/icon-badge-e8N5BSYf.js +37 -0
- package/dist/showcase/assets/image-9IQW7agU.js +1 -0
- package/dist/showcase/assets/inbox-DU4YaGtc.js +1 -0
- package/dist/showcase/assets/index-CuXjv2p6.css +2 -0
- package/dist/showcase/assets/index-DN09-Vts.js +10 -0
- package/dist/showcase/assets/inertValue-kRQb7jwi.js +1 -0
- package/dist/showcase/assets/info-B9AXwUDF.js +1 -0
- package/dist/showcase/assets/inline-stat-BkLIKCvD.js +1 -0
- package/dist/showcase/assets/inline-stat-XqGHDQrK.js +15 -0
- package/dist/showcase/assets/input-BXHv6p9P.js +1 -0
- package/dist/showcase/assets/input-D_T9s_tn.js +1 -0
- package/dist/showcase/assets/input-group-Bs8dmhR6.js +47 -0
- package/dist/showcase/assets/input-group-CqkASeoV.js +1 -0
- package/dist/showcase/assets/inputs-DY7w_ssI.js +155 -0
- package/dist/showcase/assets/installation-Dg3FdGJ1.js +134 -0
- package/dist/showcase/assets/invoice-header-Ba-Y55Ag.js +36 -0
- package/dist/showcase/assets/invoice-items-CIJ8EfPg.js +36 -0
- package/dist/showcase/assets/invoice-mini-BISFvM7J.js +14 -0
- package/dist/showcase/assets/invoice-table-DcyVZTvl.js +30 -0
- package/dist/showcase/assets/isSameDay-av07hGac.js +1 -0
- package/dist/showcase/assets/isToday-GY5FlPL9.js +1 -0
- package/dist/showcase/assets/italic-Du0n76Xk.js +1 -0
- package/dist/showcase/assets/item-D8Lp4R-T.js +139 -0
- package/dist/showcase/assets/item-DTsZnSJG.js +1 -0
- package/dist/showcase/assets/item-Di7HZF5G.js +1 -0
- package/dist/showcase/assets/kanban-Dcminjsa.js +188 -0
- package/dist/showcase/assets/key-round-BBue3xKx.js +1 -0
- package/dist/showcase/assets/label-dkUEHYaz.js +1 -0
- package/dist/showcase/assets/languages-XxP8Uu82.js +1 -0
- package/dist/showcase/assets/layers-Bi_-RuHS.js +1 -0
- package/dist/showcase/assets/layout-app-shell-Cr6Ep0Zz.js +608 -0
- package/dist/showcase/assets/layout-auth-DffIslnp.js +790 -0
- package/dist/showcase/assets/layout-containers-BuSg6L6o.js +101 -0
- package/dist/showcase/assets/layout-header-DAxSUI18.js +203 -0
- package/dist/showcase/assets/layout-page-CVgVJHf1.js +314 -0
- package/dist/showcase/assets/layout-primitives-q8NXbEld.js +34 -0
- package/dist/showcase/assets/layout-sidebar-bB6AJaGs.js +224 -0
- package/dist/showcase/assets/layout-users-DG5u517t.js +117 -0
- package/dist/showcase/assets/layout-workspace-CKMDUM2b.js +191 -0
- package/dist/showcase/assets/lib-CaQvPpSJ.js +1 -0
- package/dist/showcase/assets/list-checks-Dhr60VvL.js +1 -0
- package/dist/showcase/assets/lock-CYVbyBpM.js +1 -0
- package/dist/showcase/assets/lock-keyhole-TUVID45I.js +1 -0
- package/dist/showcase/assets/mail-DfkwmVKE.js +1 -0
- package/dist/showcase/assets/mail-check-CnBhgH_h.js +1 -0
- package/dist/showcase/assets/map-Ck14_o-F.js +124 -0
- package/dist/showcase/assets/map-pin-Di7TUhai.js +1 -0
- package/dist/showcase/assets/media-library-CzM_to29.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-B1RHUfnH.js +1 -0
- package/dist/showcase/assets/mentions-CdaPXOLl.js +138 -0
- package/dist/showcase/assets/menus-DuqcLdg1.js +171 -0
- package/dist/showcase/assets/message-square-DuW3PrFI.js +1 -0
- package/dist/showcase/assets/metadata-list-CCRGSPaS.js +286 -0
- package/dist/showcase/assets/metadata-list-Drvz5mwy.js +1 -0
- package/dist/showcase/assets/metric-BSaXa3Z_.js +1 -0
- package/dist/showcase/assets/metric-bar-CM1Rmk8y.js +1 -0
- package/dist/showcase/assets/metric-grid-BBGxdYNJ.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-C_LrbPyT.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-ByvVltQV.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-CNGiVG1A.js +50 -0
- package/dist/showcase/assets/metrics-comparison-BLUvtt5N.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-CZWhn4_i.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-CcPm2_ON.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-CitG5Aea.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-CAsplRVI.js +42 -0
- package/dist/showcase/assets/metrics-overview-DSRwW-3j.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-BTdSpUV_.js +54 -0
- package/dist/showcase/assets/minus-BaXg6nPb.js +1 -0
- package/dist/showcase/assets/money-display-HegN6NVU.js +1 -0
- package/dist/showcase/assets/month-year-picker-DGSalGea.js +1 -0
- package/dist/showcase/assets/navigation-B9kcgNmJ.js +90 -0
- package/dist/showcase/assets/navigation-D4OJbw4T.js +231 -0
- package/dist/showcase/assets/navigation-extras-xm_wzPZr.js +43 -0
- package/dist/showcase/assets/onboarding-checklist-CWuCJKDd.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-Dq-I4MUu.js +1 -0
- package/dist/showcase/assets/overlays-BHf9SZOh.js +159 -0
- package/dist/showcase/assets/overlays-DziL3nVU.js +408 -0
- package/dist/showcase/assets/overview-Cc69up8i.js +184 -0
- package/dist/showcase/assets/package-Bc-NuFnd.js +1 -0
- package/dist/showcase/assets/package-check-5LQwCfGh.js +1 -0
- package/dist/showcase/assets/page-B2o5HSfY.js +1 -0
- package/dist/showcase/assets/page-action-button-CfS6vsyC.js +1 -0
- package/dist/showcase/assets/page-header-W6quU5pO.js +1 -0
- package/dist/showcase/assets/pagination-Bfs7Zszm.js +1 -0
- package/dist/showcase/assets/pagination-DHs104ji.js +42 -0
- package/dist/showcase/assets/paperclip-CXeiMywc.js +1 -0
- package/dist/showcase/assets/password-input-C61t743N.js +1 -0
- package/dist/showcase/assets/pencil-C1TXsTfP.js +1 -0
- package/dist/showcase/assets/phone-Bh-68R_E.js +1 -0
- package/dist/showcase/assets/plus-CKBaO4jG.js +1 -0
- package/dist/showcase/assets/popover-C_7qLizt.js +1 -0
- package/dist/showcase/assets/popover-hgtHqd0h.js +1 -0
- package/dist/showcase/assets/popover-menu-DmYSBsji.js +1 -0
- package/dist/showcase/assets/products-DSvcQz-Q.js +423 -0
- package/dist/showcase/assets/progress-Chxeo8g4.js +18 -0
- package/dist/showcase/assets/progress-fYPoCyf-.js +1 -0
- package/dist/showcase/assets/props-table-izArO1Pv.js +1 -0
- package/dist/showcase/assets/quote-wvfNu9t7.js +1 -0
- package/dist/showcase/assets/receipt-BlXBX4ZJ.js +1 -0
- package/dist/showcase/assets/receipt-text-stSsUTV5.js +1 -0
- package/dist/showcase/assets/refinement-guide-Bri81J9N.js +189 -0
- package/dist/showcase/assets/refresh-cw-tZzNDEGO.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-Cti97iX8.js +1 -0
- package/dist/showcase/assets/resource-B727CTVi.js +139 -0
- package/dist/showcase/assets/resource-DytT_quB.js +1 -0
- package/dist/showcase/assets/resource-selector-card-wNuW382N.js +43 -0
- package/dist/showcase/assets/rich-text-editor-DdK5YD0y.js +143 -0
- package/dist/showcase/assets/rich-text-editor-DqY2H6e0.js +124 -0
- package/dist/showcase/assets/rotate-ccw-Bp4aMDrI.js +1 -0
- package/dist/showcase/assets/route-D2owHMka.js +1 -0
- package/dist/showcase/assets/save-DjC_iy0t.js +1 -0
- package/dist/showcase/assets/schema-form-CQtLwGC1.js +327 -0
- package/dist/showcase/assets/scroll-area-BQlHFfkG.js +32 -0
- package/dist/showcase/assets/scroll-area-D3Rrt85s.js +1 -0
- package/dist/showcase/assets/section-DYfGx1Q5.js +1 -0
- package/dist/showcase/assets/select-BCJGhRpc.js +1 -0
- package/dist/showcase/assets/select-Cf5EigqA.js +1 -0
- package/dist/showcase/assets/send-86Vr11Ys.js +1 -0
- package/dist/showcase/assets/separator-BHjNVb5O.js +1 -0
- package/dist/showcase/assets/separator-BejjbTbO.js +28 -0
- package/dist/showcase/assets/settings-2-DNNVOsjP.js +1 -0
- package/dist/showcase/assets/settings-Bsi5BLx5.js +1 -0
- package/dist/showcase/assets/sheet-BazhMvfb.js +1 -0
- package/dist/showcase/assets/shield-alert-D-Jbocfj.js +1 -0
- package/dist/showcase/assets/shield-check-D9eDVcJ1.js +1 -0
- package/dist/showcase/assets/shield-xI2P9G5d.js +1 -0
- package/dist/showcase/assets/shopping-bag-DOGs3sez.js +1 -0
- package/dist/showcase/assets/showcase-s-5CuLAJ.js +132 -0
- package/dist/showcase/assets/sidebar-Rz44gw_a.js +1 -0
- package/dist/showcase/assets/sidebar.context-Bbcdo3o8.js +1 -0
- package/dist/showcase/assets/skeleton-CY8ieqD-.js +1 -0
- package/dist/showcase/assets/skeleton-CgoH6CPT.js +29 -0
- package/dist/showcase/assets/slider-okW2bgkG.js +1 -0
- package/dist/showcase/assets/smart-card-CVwEPwfI.js +1 -0
- package/dist/showcase/assets/sonner-CixCpxj2.js +22 -0
- package/dist/showcase/assets/sortable.esm-DKcVtGTb.js +5 -0
- package/dist/showcase/assets/sparkles-DDEVdtmy.js +1 -0
- package/dist/showcase/assets/spinner-BVGPoAEv.js +49 -0
- package/dist/showcase/assets/spinner-FURXSp1Q.js +1 -0
- package/dist/showcase/assets/spinner-u6TwJ3Ii.js +30 -0
- package/dist/showcase/assets/square-pen-DVXVT0cQ.js +1 -0
- package/dist/showcase/assets/stacked-avatars-CKOQhAx4.js +1 -0
- package/dist/showcase/assets/star-B3ZPfxuz.js +1 -0
- package/dist/showcase/assets/startOfDay-LwMBRUSU.js +1 -0
- package/dist/showcase/assets/styles-UIKkojWJ.js +1 -0
- package/dist/showcase/assets/suggestions-DbrzKjbi.js +126 -0
- package/dist/showcase/assets/switch-CAw84QpS.js +1 -0
- package/dist/showcase/assets/switch-Cjt2MCgr.js +1 -0
- package/dist/showcase/assets/sync-DWbqfpBH.js +124 -0
- package/dist/showcase/assets/table-Bx5lo5FP.js +686 -0
- package/dist/showcase/assets/table-C2RQulDb.js +1 -0
- package/dist/showcase/assets/table-actions-Clo3WEfM.js +1 -0
- package/dist/showcase/assets/tabs-DRtlcg6b.js +19 -0
- package/dist/showcase/assets/tabs-wMPtvuT5.js +1 -0
- package/dist/showcase/assets/tags-input-D5FpWOWF.js +1 -0
- package/dist/showcase/assets/text-button-Cwh6D6qG.js +1 -0
- package/dist/showcase/assets/text-link-DI1uXdGl.js +1 -0
- package/dist/showcase/assets/textarea-CGbt4gBZ.js +1 -0
- package/dist/showcase/assets/textarea-JPgPLhyk.js +1 -0
- package/dist/showcase/assets/timelines-CkHN08n6.js +200 -0
- package/dist/showcase/assets/toggle-group-BpXkR9uD.js +1 -0
- package/dist/showcase/assets/toggles-DK9iCbki.js +71 -0
- package/dist/showcase/assets/toggles-group-DwzRj0f7.js +32 -0
- package/dist/showcase/assets/tooltip-PtP1suag.js +31 -0
- package/dist/showcase/assets/trash-2-BE4XUI2g.js +1 -0
- package/dist/showcase/assets/trending-up-ByxOf-nR.js +1 -0
- package/dist/showcase/assets/truck-RTOdcRV0.js +1 -0
- package/dist/showcase/assets/typography-BKLgHDxU.js +223 -0
- package/dist/showcase/assets/ui-badge-DIh_3Wmo.js +28 -0
- package/dist/showcase/assets/ui-card-BOdHnZwv.js +30 -0
- package/dist/showcase/assets/ui-table-BW4FCClv.js +42 -0
- package/dist/showcase/assets/upload-tray-CV9_5Lpa.js +138 -0
- package/dist/showcase/assets/use-layout-link-MyeE-CDj.js +1 -0
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DSaog2w5.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-DSpPzrxG.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-DsuJtES0.js +1 -0
- package/dist/showcase/assets/useCompositeItem-lbAimLrR.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-pRXWGj4x.js +1 -0
- package/dist/showcase/assets/useLabelableId-IRM1zB5m.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-CHDcTj9f.js +1 -0
- package/dist/showcase/assets/useRender-Ogz5zjeJ.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-Du6btFNB.js +1 -0
- package/dist/showcase/assets/useValueChanged-CXpsR4fl.js +1 -0
- package/dist/showcase/assets/user-plus-CLj8AZe1.js +1 -0
- package/dist/showcase/assets/user-ymdT26JK.js +1 -0
- package/dist/showcase/assets/users-BGba2Xwv.js +1 -0
- package/dist/showcase/assets/vendor-profile-Ci6c9mFC.js +37 -0
- package/dist/showcase/assets/video-BcKa36-p.js +1 -0
- package/dist/showcase/assets/wrench-Cj2hRrih.js +1 -0
- package/dist/showcase/assets/x-iCqjAC2D.js +1 -0
- package/dist/showcase/assets/zap-H4bc_OhS.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/themes/shadcn.default.css +6 -6
- package/src/css/tokens/foundation.css +23 -9
- package/dist/_shared/accordion-B9EjlZLY.js +0 -135
- package/dist/_shared/accordion-B9EjlZLY.js.map +0 -1
- package/dist/_shared/accordion-IFDIc0E7.cjs +0 -2
- package/dist/_shared/accordion-IFDIc0E7.cjs.map +0 -1
- package/dist/_shared/action-menu-B6yFRDz1.cjs +0 -2
- package/dist/_shared/action-menu-B6yFRDz1.cjs.map +0 -1
- package/dist/_shared/action-menu-CNS-fwQr.js +0 -96
- package/dist/_shared/action-menu-CNS-fwQr.js.map +0 -1
- package/dist/_shared/ai-artifact-B3qhuiKC.js +0 -1099
- package/dist/_shared/ai-artifact-B3qhuiKC.js.map +0 -1
- package/dist/_shared/ai-artifact-Dtr0bnVq.cjs +0 -3
- package/dist/_shared/ai-artifact-Dtr0bnVq.cjs.map +0 -1
- package/dist/_shared/alert-V0V36Sny.cjs +0 -2
- package/dist/_shared/alert-V0V36Sny.cjs.map +0 -1
- package/dist/_shared/alert-m-4s0Hqq.js +0 -81
- package/dist/_shared/alert-m-4s0Hqq.js.map +0 -1
- package/dist/_shared/app-shell-D3eGUtL-.js +0 -69
- package/dist/_shared/app-shell-D3eGUtL-.js.map +0 -1
- package/dist/_shared/app-shell-QJHARDMB.cjs +0 -2
- package/dist/_shared/app-shell-QJHARDMB.cjs.map +0 -1
- package/dist/_shared/auth-BZY91F5_.cjs +0 -2
- package/dist/_shared/auth-BZY91F5_.cjs.map +0 -1
- package/dist/_shared/auth-DcotjEbY.js +0 -643
- package/dist/_shared/auth-DcotjEbY.js.map +0 -1
- package/dist/_shared/badge-BeSKxX1u.cjs +0 -2
- package/dist/_shared/badge-BeSKxX1u.cjs.map +0 -1
- package/dist/_shared/badge-a2Z3K5aQ.js +0 -110
- package/dist/_shared/badge-a2Z3K5aQ.js.map +0 -1
- package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs +0 -2
- package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs.map +0 -1
- package/dist/_shared/breadcrumbs-B57Unsoe.js +0 -105
- package/dist/_shared/breadcrumbs-B57Unsoe.js.map +0 -1
- package/dist/_shared/button-Bd5bEIiB.cjs +0 -2
- package/dist/_shared/button-Bd5bEIiB.cjs.map +0 -1
- package/dist/_shared/button-DHksjMvc.js +0 -189
- package/dist/_shared/button-DHksjMvc.js.map +0 -1
- package/dist/_shared/buttons-Bek9F7qK.cjs +0 -2
- package/dist/_shared/buttons-Bek9F7qK.cjs.map +0 -1
- package/dist/_shared/buttons-DcynMPnE.js +0 -137
- package/dist/_shared/buttons-DcynMPnE.js.map +0 -1
- package/dist/_shared/card-radio-group-C2p_iBal.cjs +0 -2
- package/dist/_shared/card-radio-group-C2p_iBal.cjs.map +0 -1
- package/dist/_shared/card-radio-group-Fdi1Cz1j.js +0 -150
- package/dist/_shared/card-radio-group-Fdi1Cz1j.js.map +0 -1
- package/dist/_shared/cards-C1ythc0Q.js +0 -354
- package/dist/_shared/cards-C1ythc0Q.js.map +0 -1
- package/dist/_shared/cards-GSYfJ-oX.cjs +0 -2
- package/dist/_shared/cards-GSYfJ-oX.cjs.map +0 -1
- package/dist/_shared/combobox-BIe72dV3.js +0 -954
- package/dist/_shared/combobox-BIe72dV3.js.map +0 -1
- package/dist/_shared/combobox-CJiFDoTi.cjs +0 -2
- package/dist/_shared/combobox-CJiFDoTi.cjs.map +0 -1
- package/dist/_shared/command-ByedBajF.js +0 -39
- package/dist/_shared/command-ByedBajF.js.map +0 -1
- package/dist/_shared/command-EGR0nhGc.cjs +0 -2
- package/dist/_shared/command-EGR0nhGc.cjs.map +0 -1
- package/dist/_shared/comments-CmljtbAW.js +0 -952
- package/dist/_shared/comments-CmljtbAW.js.map +0 -1
- package/dist/_shared/comments-ColUq7eh.cjs +0 -2
- package/dist/_shared/comments-ColUq7eh.cjs.map +0 -1
- package/dist/_shared/copyable-Dopk9pEJ.js +0 -38
- package/dist/_shared/copyable-Dopk9pEJ.js.map +0 -1
- package/dist/_shared/copyable-rQwxsTJ3.cjs +0 -2
- package/dist/_shared/copyable-rQwxsTJ3.cjs.map +0 -1
- package/dist/_shared/data-display-BTsCY7A5.js +0 -1873
- package/dist/_shared/data-display-BTsCY7A5.js.map +0 -1
- package/dist/_shared/data-display-BdGQMXit.cjs +0 -2
- package/dist/_shared/data-display-BdGQMXit.cjs.map +0 -1
- package/dist/_shared/date-picker-BiUgIkjP.cjs +0 -2
- package/dist/_shared/date-picker-BiUgIkjP.cjs.map +0 -1
- package/dist/_shared/date-picker-DFkLiveH.js +0 -1361
- package/dist/_shared/date-picker-DFkLiveH.js.map +0 -1
- package/dist/_shared/date-pickers-C86tVD8e.cjs +0 -2
- package/dist/_shared/date-pickers-C86tVD8e.cjs.map +0 -1
- package/dist/_shared/date-pickers-D4oxOOHE.js +0 -329
- package/dist/_shared/date-pickers-D4oxOOHE.js.map +0 -1
- package/dist/_shared/display-B0wLVN8t.js +0 -986
- package/dist/_shared/display-B0wLVN8t.js.map +0 -1
- package/dist/_shared/display-Bin2vVex.cjs +0 -2
- package/dist/_shared/display-Bin2vVex.cjs.map +0 -1
- package/dist/_shared/form-sizing-C51oI3Di.js +0 -42
- package/dist/_shared/form-sizing-C51oI3Di.js.map +0 -1
- package/dist/_shared/form-sizing-Co53Drri.cjs +0 -2
- package/dist/_shared/form-sizing-Co53Drri.cjs.map +0 -1
- package/dist/_shared/forms-CEE1te78.cjs +0 -2
- package/dist/_shared/forms-CEE1te78.cjs.map +0 -1
- package/dist/_shared/forms-CQoGvG7q.js +0 -3533
- package/dist/_shared/forms-CQoGvG7q.js.map +0 -1
- package/dist/_shared/header-B9IPDQRW.js +0 -447
- package/dist/_shared/header-B9IPDQRW.js.map +0 -1
- package/dist/_shared/header-C_1x4-rd.cjs +0 -2
- package/dist/_shared/header-C_1x4-rd.cjs.map +0 -1
- package/dist/_shared/hooks---vunGQ6.js +0 -95
- package/dist/_shared/hooks---vunGQ6.js.map +0 -1
- package/dist/_shared/hooks-CjVzmgvY.cjs +0 -2
- package/dist/_shared/hooks-CjVzmgvY.cjs.map +0 -1
- package/dist/_shared/input-CB6hxh-5.cjs +0 -2
- package/dist/_shared/input-CB6hxh-5.cjs.map +0 -1
- package/dist/_shared/input-CfnHBT--.js +0 -182
- package/dist/_shared/input-CfnHBT--.js.map +0 -1
- package/dist/_shared/item-Xs-fgzaT.js +0 -226
- package/dist/_shared/item-Xs-fgzaT.js.map +0 -1
- package/dist/_shared/item-eUP9Rtmg.cjs +0 -2
- package/dist/_shared/item-eUP9Rtmg.cjs.map +0 -1
- package/dist/_shared/layout-BXrQqUKq.js +0 -262
- package/dist/_shared/layout-BXrQqUKq.js.map +0 -1
- package/dist/_shared/layout-DWicdsPI.cjs +0 -2
- package/dist/_shared/layout-DWicdsPI.cjs.map +0 -1
- package/dist/_shared/mentions-BahbwDwU.js +0 -506
- package/dist/_shared/mentions-BahbwDwU.js.map +0 -1
- package/dist/_shared/mentions-aHalksbt.cjs +0 -2
- package/dist/_shared/mentions-aHalksbt.cjs.map +0 -1
- package/dist/_shared/money-display-BLPNMmiT.cjs +0 -2
- package/dist/_shared/money-display-BLPNMmiT.cjs.map +0 -1
- package/dist/_shared/money-display-D_-Cb8-9.js +0 -198
- package/dist/_shared/money-display-D_-Cb8-9.js.map +0 -1
- package/dist/_shared/navigation-BcYAwgzo.js +0 -436
- package/dist/_shared/navigation-BcYAwgzo.js.map +0 -1
- package/dist/_shared/navigation-DAB7uuBj.cjs +0 -2
- package/dist/_shared/navigation-DAB7uuBj.cjs.map +0 -1
- package/dist/_shared/overlays-DW8OIK5R.js +0 -735
- package/dist/_shared/overlays-DW8OIK5R.js.map +0 -1
- package/dist/_shared/overlays-Du65iCkx.cjs +0 -2
- package/dist/_shared/overlays-Du65iCkx.cjs.map +0 -1
- package/dist/_shared/popover-menu-qxBZlTck.js +0 -93
- package/dist/_shared/popover-menu-qxBZlTck.js.map +0 -1
- package/dist/_shared/popover-menu-z9QTjl4o.cjs +0 -2
- package/dist/_shared/popover-menu-z9QTjl4o.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-DeIiIDn7.cjs +0 -2
- package/dist/_shared/rich-text-editor-DeIiIDn7.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-VIBlL0x3.js +0 -620
- package/dist/_shared/rich-text-editor-VIBlL0x3.js.map +0 -1
- package/dist/_shared/settings-Bfr6PgSi.cjs +0 -2
- package/dist/_shared/settings-Bfr6PgSi.cjs.map +0 -1
- package/dist/_shared/settings-CrPaYr4A.js +0 -143
- package/dist/_shared/settings-CrPaYr4A.js.map +0 -1
- package/dist/_shared/sidebar-CDOLD8fN.js +0 -548
- package/dist/_shared/sidebar-CDOLD8fN.js.map +0 -1
- package/dist/_shared/sidebar-DcsxeNml.cjs +0 -2
- package/dist/_shared/sidebar-DcsxeNml.cjs.map +0 -1
- package/dist/_shared/spinner-D35zNriU.cjs +0 -2
- package/dist/_shared/spinner-D35zNriU.cjs.map +0 -1
- package/dist/_shared/spinner-DMC2IIml.js +0 -67
- package/dist/_shared/spinner-DMC2IIml.js.map +0 -1
- package/dist/_shared/table-B_pqCQxC.js +0 -1377
- package/dist/_shared/table-B_pqCQxC.js.map +0 -1
- package/dist/_shared/table-CGVOXtdv.cjs +0 -2
- package/dist/_shared/table-CGVOXtdv.cjs.map +0 -1
- package/dist/_shared/textarea-B24qgdmd.cjs +0 -2
- package/dist/_shared/textarea-B24qgdmd.cjs.map +0 -1
- package/dist/_shared/textarea-ChLRmmVU.js +0 -118
- package/dist/_shared/textarea-ChLRmmVU.js.map +0 -1
- package/dist/_shared/typography-CO9uwZhF.cjs +0 -2
- package/dist/_shared/typography-CO9uwZhF.cjs.map +0 -1
- package/dist/_shared/typography-DE0NGEIE.js +0 -201
- package/dist/_shared/typography-DE0NGEIE.js.map +0 -1
- package/dist/_shared/workspace-C1twu23r.cjs +0 -2
- package/dist/_shared/workspace-C1twu23r.cjs.map +0 -1
- package/dist/_shared/workspace-CkOZLdcN.js +0 -357
- package/dist/_shared/workspace-CkOZLdcN.js.map +0 -1
- package/dist/showcase/assets/AreaChart-WJREayr9.js +0 -6
- package/dist/showcase/assets/CompositeItem-CY3XmFuI.js +0 -1
- package/dist/showcase/assets/CompositeRoot-BPMF0t1F.js +0 -1
- package/dist/showcase/assets/DialogTrigger-BzaF3YN8.js +0 -1
- package/dist/showcase/assets/LabelableContext-LKvvFFnV.js +0 -1
- package/dist/showcase/assets/PreviewLayout-B0n7l00P.js +0 -1
- package/dist/showcase/assets/RadioGroup-VBtGFETg.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-BimGwdGs.js +0 -1
- package/dist/showcase/assets/Separator-BfKe0YiY.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-Cscyv1PN.js +0 -1
- package/dist/showcase/assets/accordion-BEN0VkL4.js +0 -171
- package/dist/showcase/assets/accordion-variants-QFG3H38z.js +0 -1
- package/dist/showcase/assets/action-menu-Bfw1tFqM.js +0 -1
- package/dist/showcase/assets/actions-CFpHs5IC.js +0 -310
- package/dist/showcase/assets/activities-CDxlaghU.js +0 -500
- package/dist/showcase/assets/activities-feed-card-BO1kcjRK.js +0 -1
- package/dist/showcase/assets/admin-DFpHXeuv.js +0 -140
- package/dist/showcase/assets/ai-DyO6VqQP.js +0 -207
- package/dist/showcase/assets/ai-artifact-MVA3ikv6.js +0 -2
- package/dist/showcase/assets/ai-chat-D-xcp6Jf.js +0 -568
- package/dist/showcase/assets/ai-elements-DlFqIOYp.js +0 -387
- package/dist/showcase/assets/ai-tool-call-DedG9TdK.js +0 -1
- package/dist/showcase/assets/alert-CmRK2lOe.js +0 -1
- package/dist/showcase/assets/alert-DCIVryEp.js +0 -62
- package/dist/showcase/assets/alert-DDP3Ktic.js +0 -93
- package/dist/showcase/assets/api-key-list-CWa997YX.js +0 -1
- package/dist/showcase/assets/api-key-list-mTPebHF3.js +0 -73
- package/dist/showcase/assets/app-sidebar-Cnfk9z5K.js +0 -1
- package/dist/showcase/assets/arrow-down-CCYWFimd.js +0 -1
- package/dist/showcase/assets/arrow-left-CrYjfZJ0.js +0 -1
- package/dist/showcase/assets/arrow-right-eLxbBrdm.js +0 -1
- package/dist/showcase/assets/arrow-up-kA33fcPv.js +0 -1
- package/dist/showcase/assets/arrow-up-right-BSWGQVDB.js +0 -1
- package/dist/showcase/assets/avatar-BDGhB3aA.js +0 -57
- package/dist/showcase/assets/avatar-CLBQvnYG.js +0 -1
- package/dist/showcase/assets/avatar-WUMW3Qjo.js +0 -1
- package/dist/showcase/assets/avatar-cKSNuTzf.js +0 -67
- package/dist/showcase/assets/badge--mqVg8Ry.js +0 -31
- package/dist/showcase/assets/badge-check-D7YjWqnm.js +0 -1
- package/dist/showcase/assets/bell-6YyocFK6.js +0 -1
- package/dist/showcase/assets/bot-BC4pGAB3.js +0 -1
- package/dist/showcase/assets/box-CPGIu4Nv.js +0 -1
- package/dist/showcase/assets/braces-9jywZtTA.js +0 -1
- package/dist/showcase/assets/brain-wf_S427C.js +0 -1
- package/dist/showcase/assets/brand-78lhbKSW.js +0 -36
- package/dist/showcase/assets/breadcrumb-6XHObtqO.js +0 -1
- package/dist/showcase/assets/breadcrumb-BVrrS53_.js +0 -52
- package/dist/showcase/assets/breadcrumbs-BwC3Iaae.js +0 -1
- package/dist/showcase/assets/briefcase-BViWYew9.js +0 -1
- package/dist/showcase/assets/building-2-CwR3gV1I.js +0 -1
- package/dist/showcase/assets/button-BWwsy37B.js +0 -44
- package/dist/showcase/assets/button-group-BTiMRQIO.js +0 -1
- package/dist/showcase/assets/buttons-D9pH8hPs.js +0 -272
- package/dist/showcase/assets/calendar-Bzl2i1lu.js +0 -1
- package/dist/showcase/assets/calendar-CNMlC7Fn.js +0 -16
- package/dist/showcase/assets/calendar-D5NdEmaD.js +0 -1
- package/dist/showcase/assets/calendar-days-j8QDBUc5.js +0 -1
- package/dist/showcase/assets/camera-Cwb84N8a.js +0 -1
- package/dist/showcase/assets/card-CX3vQ2Te.js +0 -1
- package/dist/showcase/assets/card-FLJkfdKP.js +0 -188
- package/dist/showcase/assets/card-primitives-C2s13Uvp.js +0 -1
- package/dist/showcase/assets/card-radio-group-BP27dErL.js +0 -1
- package/dist/showcase/assets/cards-DcdxRM9W.js +0 -354
- package/dist/showcase/assets/carousel-CTKyiHD2.js +0 -449
- package/dist/showcase/assets/cell-renderers-ouSypXTE.js +0 -1
- package/dist/showcase/assets/chart-CMsMyCah.js +0 -358
- package/dist/showcase/assets/chart-column-BrwpEFzy.js +0 -1
- package/dist/showcase/assets/checkbox-4qgEfnjv.js +0 -1
- package/dist/showcase/assets/checkbox-ratLYBAF.js +0 -1
- package/dist/showcase/assets/chevron-down-BInaIfd1.js +0 -1
- package/dist/showcase/assets/chevron-left-Bjy3FJ_M.js +0 -1
- package/dist/showcase/assets/chevron-up-Ufl6UEyV.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-CrOH-P5z.js +0 -1
- package/dist/showcase/assets/circle-G0dEx2Ay.js +0 -1
- package/dist/showcase/assets/circle-alert-CiibDCe8.js +0 -1
- package/dist/showcase/assets/circle-check-Bqm54c03.js +0 -1
- package/dist/showcase/assets/circle-check-big-BfiY_qy_.js +0 -1
- package/dist/showcase/assets/circle-dot-VNm7CEgH.js +0 -1
- package/dist/showcase/assets/circle-question-mark-mM7PKy4G.js +0 -1
- package/dist/showcase/assets/circle-x-2tzzp_vB.js +0 -1
- package/dist/showcase/assets/clock-3-CfdZnMP2.js +0 -1
- package/dist/showcase/assets/clock-ByB7C11p.js +0 -1
- package/dist/showcase/assets/code-xml-D2fN-BaU.js +0 -1
- package/dist/showcase/assets/collapsible-B2lI_uVI.js +0 -1
- package/dist/showcase/assets/collapsible-Bs5YFx-M.js +0 -27
- package/dist/showcase/assets/combobox-BqNSwFaM.js +0 -685
- package/dist/showcase/assets/command-Dcbh_YP-.js +0 -1
- package/dist/showcase/assets/command-Mb30xkwq.js +0 -1
- package/dist/showcase/assets/comment-composer-DqTw0zIM.js +0 -1
- package/dist/showcase/assets/comment-item-DbQAZ3yP.js +0 -1
- package/dist/showcase/assets/comments-CGMOOi7k.js +0 -357
- package/dist/showcase/assets/commerce-bVpLHwpS.js +0 -267
- package/dist/showcase/assets/composite-CTpmYme_.js +0 -1
- package/dist/showcase/assets/contact-card-nuS10UKK.js +0 -65
- package/dist/showcase/assets/content-container-NexBp0FV.js +0 -1
- package/dist/showcase/assets/copyable-CNltkC2A.js +0 -1
- package/dist/showcase/assets/copyable-qr6--oJx.js +0 -96
- package/dist/showcase/assets/course-card-0kkl37FX.js +0 -77
- package/dist/showcase/assets/cpu-DSD9h0l5.js +0 -1
- package/dist/showcase/assets/credit-card-CN0E6FU8.js +0 -1
- package/dist/showcase/assets/css-variables-CzmmLWxt.js +0 -1190
- package/dist/showcase/assets/currency-BtofP745.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BU7kfTIi.js +0 -90
- package/dist/showcase/assets/data-view-3W7_KBli.js +0 -124
- package/dist/showcase/assets/data-view-snL5QtHe.js +0 -4
- package/dist/showcase/assets/database-BarEYzaF.js +0 -1
- package/dist/showcase/assets/date-block-dTt9Rcfd.js +0 -1
- package/dist/showcase/assets/date-picker-BKzZeQGc.js +0 -1
- package/dist/showcase/assets/date-pickers-CYERVYRo.js +0 -73
- package/dist/showcase/assets/dense-info-hnKZfRnQ.js +0 -106
- package/dist/showcase/assets/design-system-consistency-D6qngflS.js +0 -264
- package/dist/showcase/assets/dialog-mO0FpHmT.js +0 -1
- package/dist/showcase/assets/dialog-xbuhPXmf.js +0 -1
- package/dist/showcase/assets/display-utilities-C4IflxoK.js +0 -267
- package/dist/showcase/assets/dist-BFChHTWK.js +0 -45
- package/dist/showcase/assets/dist-BkVfs5PY.js +0 -1
- package/dist/showcase/assets/dollar-sign-BES-Y4q8.js +0 -1
- package/dist/showcase/assets/download-CuEg-4DT.js +0 -1
- package/dist/showcase/assets/dropdown-menu-C4Fcfk9z.js +0 -1
- package/dist/showcase/assets/dropzone-CrJ_k9fJ.js +0 -1
- package/dist/showcase/assets/earth-Cmx-Axig.js +0 -1
- package/dist/showcase/assets/ellipsis-Co7iTzp_.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-DMYJFiqQ.js +0 -1
- package/dist/showcase/assets/empty-Dw4ozyll.js +0 -1
- package/dist/showcase/assets/empty-item-DQwAsl0J.js +0 -49
- package/dist/showcase/assets/empty-state-BKvbnAy1.js +0 -1
- package/dist/showcase/assets/empty-state-Dv6f2fmP.js +0 -190
- package/dist/showcase/assets/enhanced-activities-Ctmivg46.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-D0AsPZ-b.js +0 -1
- package/dist/showcase/assets/esm-oZ6qcNoa.js +0 -2
- package/dist/showcase/assets/event-calendar-ChXdeehr.js +0 -138
- package/dist/showcase/assets/event-log-DeOCb2tT.js +0 -330
- package/dist/showcase/assets/example-CDvNeHNP.js +0 -1
- package/dist/showcase/assets/external-link-BaiCqIx3.js +0 -1
- package/dist/showcase/assets/eye-zG-fqYfd.js +0 -1
- package/dist/showcase/assets/feature-announcement-C2XGWNgI.js +0 -34
- package/dist/showcase/assets/file-sAbDfDuO.js +0 -1
- package/dist/showcase/assets/file-text-Boa9IOND.js +0 -1
- package/dist/showcase/assets/filter-layout-tZmZz-2B.js +0 -1
- package/dist/showcase/assets/filters-D8gEkDAE.js +0 -139
- package/dist/showcase/assets/flag-Cu20rcE4.js +0 -1
- package/dist/showcase/assets/folder-open-Cuk6KKLi.js +0 -1
- package/dist/showcase/assets/form-field-D8sL8tat.js +0 -1
- package/dist/showcase/assets/form-sizing-C3UG5WKC.js +0 -1
- package/dist/showcase/assets/format-CaRklI--.js +0 -1
- package/dist/showcase/assets/forms-CNk2oX65.js +0 -915
- package/dist/showcase/assets/funnel-B2kBprKZ.js +0 -1
- package/dist/showcase/assets/generic-oWYKMvId.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-GjucWEcD.js +0 -1
- package/dist/showcase/assets/gift-C_D_-5GL.js +0 -1
- package/dist/showcase/assets/giftcard-cards-B4DDGzdi.js +0 -85
- package/dist/showcase/assets/git-branch-DlTTLnjW.js +0 -1
- package/dist/showcase/assets/global-search-BjHAfaqS.js +0 -215
- package/dist/showcase/assets/global-search-hKQWHfrf.js +0 -1
- package/dist/showcase/assets/globe-D-gH7XQ2.js +0 -1
- package/dist/showcase/assets/gradient-card-jVxEisUP.js +0 -58
- package/dist/showcase/assets/hash-DySqEhph.js +0 -1
- package/dist/showcase/assets/header-B8hHkAVl.js +0 -1
- package/dist/showcase/assets/header-notifications-s180jNb1.js +0 -1
- package/dist/showcase/assets/heart-DDFCk8Tb.js +0 -1
- package/dist/showcase/assets/hooks-0A_FzYrt.js +0 -220
- package/dist/showcase/assets/house-BqE1X-Wf.js +0 -1
- package/dist/showcase/assets/icon-badge-CyiMjD7j.js +0 -37
- package/dist/showcase/assets/icon-badge-fJVhEHym.js +0 -1
- package/dist/showcase/assets/image-DCtwKHqe.js +0 -1
- package/dist/showcase/assets/inbox-DZA-pAGB.js +0 -1
- package/dist/showcase/assets/index-B37z19z3.js +0 -10
- package/dist/showcase/assets/index-CIsKgiSF.css +0 -2
- package/dist/showcase/assets/inertValue-SPYMBsOM.js +0 -1
- package/dist/showcase/assets/info-DrfDr3GT.js +0 -1
- package/dist/showcase/assets/inline-stat-BVJNx4xR.js +0 -1
- package/dist/showcase/assets/inline-stat-C3cWbSUK.js +0 -15
- package/dist/showcase/assets/input-CKTTGrnR.js +0 -1
- package/dist/showcase/assets/input-UHuWYPMF.js +0 -1
- package/dist/showcase/assets/input-group-BR_lU__a.js +0 -1
- package/dist/showcase/assets/input-group-iZaLbsTP.js +0 -47
- package/dist/showcase/assets/inputs-C7j8Xivm.js +0 -155
- package/dist/showcase/assets/installation-DYnTwaPR.js +0 -134
- package/dist/showcase/assets/invoice-header-D_0KvXQe.js +0 -36
- package/dist/showcase/assets/invoice-items-jcNb-sST.js +0 -36
- package/dist/showcase/assets/invoice-mini-DrZAbjPq.js +0 -14
- package/dist/showcase/assets/invoice-table-DlAw0U4U.js +0 -30
- package/dist/showcase/assets/isSameDay-Cl6v_syG.js +0 -1
- package/dist/showcase/assets/isToday-BBoFjSnJ.js +0 -1
- package/dist/showcase/assets/italic-j2U8krYa.js +0 -1
- package/dist/showcase/assets/item-B2WoC1SD.js +0 -139
- package/dist/showcase/assets/item-BMJ5hfT5.js +0 -1
- package/dist/showcase/assets/item-C_5-EHNK.js +0 -1
- package/dist/showcase/assets/kanban-Cv64Szxq.js +0 -188
- package/dist/showcase/assets/key-round-CORDYqE2.js +0 -1
- package/dist/showcase/assets/label-B0UjYqfw.js +0 -1
- package/dist/showcase/assets/languages-Njdo5y8i.js +0 -1
- package/dist/showcase/assets/layers-Dyew-8IP.js +0 -1
- package/dist/showcase/assets/layout-app-shell-DEZt0d84.js +0 -608
- package/dist/showcase/assets/layout-auth-BT84haSd.js +0 -790
- package/dist/showcase/assets/layout-containers-D6SP4vRB.js +0 -101
- package/dist/showcase/assets/layout-header-kLYjJnHz.js +0 -203
- package/dist/showcase/assets/layout-page-CmS4d8jw.js +0 -314
- package/dist/showcase/assets/layout-primitives-BW858Ymj.js +0 -34
- package/dist/showcase/assets/layout-sidebar-eIDEoyzV.js +0 -224
- package/dist/showcase/assets/layout-users-HyZHQIov.js +0 -117
- package/dist/showcase/assets/layout-workspace-BrDwVUvn.js +0 -191
- package/dist/showcase/assets/lib-Dhty05ZR.js +0 -1
- package/dist/showcase/assets/list-checks-CcWjdDq8.js +0 -1
- package/dist/showcase/assets/lock-CwH3bXx5.js +0 -1
- package/dist/showcase/assets/lock-keyhole-BdBxeIkW.js +0 -1
- package/dist/showcase/assets/mail-Cn94c8yp.js +0 -1
- package/dist/showcase/assets/mail-check-D-q_vPxD.js +0 -1
- package/dist/showcase/assets/map-BfUZMScw.js +0 -124
- package/dist/showcase/assets/map-pin-BZB9GUXP.js +0 -1
- package/dist/showcase/assets/media-library-DguE2q94.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-CyGplHOl.js +0 -1
- package/dist/showcase/assets/mentions-lmr_XmfN.js +0 -138
- package/dist/showcase/assets/menus-D0qYbzKk.js +0 -171
- package/dist/showcase/assets/message-square-7VpiUwcS.js +0 -1
- package/dist/showcase/assets/metadata-list-B8O2ljIS.js +0 -1
- package/dist/showcase/assets/metadata-list-BcYg9Ru3.js +0 -286
- package/dist/showcase/assets/metric-HzQnjCpO.js +0 -1
- package/dist/showcase/assets/metric-bar-Fr1TDnSu.js +0 -1
- package/dist/showcase/assets/metric-grid-CM-P894v.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-DqYH_U8e.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-DKRLzyXq.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-qMbAYBbk.js +0 -50
- package/dist/showcase/assets/metrics-comparison-GSWVebL_.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-Fj5QZoO3.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-BuyhiYDl.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-xNn4bjZc.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-W_ZYCffp.js +0 -42
- package/dist/showcase/assets/metrics-overview-D-km110k.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-odVtufFY.js +0 -54
- package/dist/showcase/assets/minus-DZsXg5PW.js +0 -1
- package/dist/showcase/assets/money-display-C7Hp2pT3.js +0 -1
- package/dist/showcase/assets/month-year-picker-Dnr4J0mO.js +0 -1
- package/dist/showcase/assets/navigation-0nrtBP5O.js +0 -90
- package/dist/showcase/assets/navigation-BaWNq9oa.js +0 -231
- package/dist/showcase/assets/navigation-extras-B22W1Vkk.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-BFj7rmdZ.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-D_rltswa.js +0 -1
- package/dist/showcase/assets/overlays-CNfiB-zF.js +0 -408
- package/dist/showcase/assets/overlays-CuxuFGC8.js +0 -159
- package/dist/showcase/assets/overview-CBmdAWO6.js +0 -184
- package/dist/showcase/assets/package-BwwfLMWb.js +0 -1
- package/dist/showcase/assets/package-check-BepTKJLy.js +0 -1
- package/dist/showcase/assets/page-_JDFUWqe.js +0 -1
- package/dist/showcase/assets/page-action-button-Cf34I-B2.js +0 -1
- package/dist/showcase/assets/page-header-pdHFvyTo.js +0 -1
- package/dist/showcase/assets/pagination-Db1WJvjK.js +0 -42
- package/dist/showcase/assets/pagination-s8_MGk9D.js +0 -1
- package/dist/showcase/assets/paperclip-B9HQ47_2.js +0 -1
- package/dist/showcase/assets/password-input-D-eZWMGX.js +0 -1
- package/dist/showcase/assets/pencil-Dm53P6Db.js +0 -1
- package/dist/showcase/assets/phone-a4Ja9xAp.js +0 -1
- package/dist/showcase/assets/plus-DbOlx2x0.js +0 -1
- package/dist/showcase/assets/popover-B8qrRgt3.js +0 -1
- package/dist/showcase/assets/popover-Bm5wETUP.js +0 -1
- package/dist/showcase/assets/popover-menu-EH4P-BuI.js +0 -1
- package/dist/showcase/assets/products-n6VBSMDh.js +0 -423
- package/dist/showcase/assets/progress-D9r6PSCF.js +0 -1
- package/dist/showcase/assets/progress-DVnMcpeq.js +0 -18
- package/dist/showcase/assets/props-table-udnF7Z46.js +0 -1
- package/dist/showcase/assets/quote-qVQF4JC7.js +0 -1
- package/dist/showcase/assets/receipt-DaC4l-Mr.js +0 -1
- package/dist/showcase/assets/receipt-text-BnwhWHdU.js +0 -1
- package/dist/showcase/assets/refinement-guide-zBbAE-vw.js +0 -189
- package/dist/showcase/assets/refresh-cw-CX6ghqEe.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-Cjbd_80A.js +0 -1
- package/dist/showcase/assets/resource-D1fXD_Pt.js +0 -139
- package/dist/showcase/assets/resource-i2YV9aHL.js +0 -1
- package/dist/showcase/assets/resource-selector-card-CdQEPr9U.js +0 -43
- package/dist/showcase/assets/rich-text-editor-DJ2i03XV.js +0 -143
- package/dist/showcase/assets/rich-text-editor-Wh8r117d.js +0 -124
- package/dist/showcase/assets/rotate-ccw-2_FhUcdG.js +0 -1
- package/dist/showcase/assets/route-EGSdKgEp.js +0 -1
- package/dist/showcase/assets/save-nXKvyYEx.js +0 -1
- package/dist/showcase/assets/schema-form-D_9UkVBe.js +0 -327
- package/dist/showcase/assets/scroll-area-CB7X4JqZ.js +0 -1
- package/dist/showcase/assets/scroll-area-DCHN9iYj.js +0 -32
- package/dist/showcase/assets/section-C2ovQgbv.js +0 -1
- package/dist/showcase/assets/select-BTOraQSw.js +0 -1
- package/dist/showcase/assets/select-CE0BbUs7.js +0 -1
- package/dist/showcase/assets/send-CI0r12bX.js +0 -1
- package/dist/showcase/assets/separator-CmGfh7lI.js +0 -1
- package/dist/showcase/assets/separator-PhQTNRIB.js +0 -28
- package/dist/showcase/assets/settings-2-qkVb0lyz.js +0 -1
- package/dist/showcase/assets/settings-YXjlZ9zs.js +0 -1
- package/dist/showcase/assets/sheet-CFDUB2H1.js +0 -1
- package/dist/showcase/assets/shield-Dr_UeG6H.js +0 -1
- package/dist/showcase/assets/shield-alert-7rAVXg-K.js +0 -1
- package/dist/showcase/assets/shield-check-BbzHL-nM.js +0 -1
- package/dist/showcase/assets/shopping-bag-DeprN0fB.js +0 -1
- package/dist/showcase/assets/showcase-BU6Fvpg_.js +0 -132
- package/dist/showcase/assets/sidebar-CudnhnWN.js +0 -1
- package/dist/showcase/assets/sidebar.context-CZaDhRhh.js +0 -1
- package/dist/showcase/assets/skeleton-DD6VPVrv.js +0 -1
- package/dist/showcase/assets/skeleton-Dc5LvW7E.js +0 -29
- package/dist/showcase/assets/slider-BxvP9nxk.js +0 -1
- package/dist/showcase/assets/smart-card-B0Llbpiy.js +0 -1
- package/dist/showcase/assets/sonner-mszFoDWT.js +0 -22
- package/dist/showcase/assets/sortable.esm-J5bJPtH9.js +0 -5
- package/dist/showcase/assets/sparkles-CQSdl3Gw.js +0 -1
- package/dist/showcase/assets/spinner-BSxBn2qs.js +0 -49
- package/dist/showcase/assets/spinner-DJxoGJtq.js +0 -30
- package/dist/showcase/assets/spinner-DihTCcve.js +0 -1
- package/dist/showcase/assets/square-pen-CGMSA_p6.js +0 -1
- package/dist/showcase/assets/stacked-avatars-Ct8B4doW.js +0 -1
- package/dist/showcase/assets/star-DFlmmJdh.js +0 -1
- package/dist/showcase/assets/startOfDay-BedffeNt.js +0 -1
- package/dist/showcase/assets/styles-jR6uS97D.js +0 -1
- package/dist/showcase/assets/suggestions-DnjJ-U9n.js +0 -126
- package/dist/showcase/assets/switch-Dkojf4Yd.js +0 -1
- package/dist/showcase/assets/switch-bTb6CSLr.js +0 -1
- package/dist/showcase/assets/sync-rk8eFwoJ.js +0 -124
- package/dist/showcase/assets/table-4qIerTVI.js +0 -686
- package/dist/showcase/assets/table-BjMmmYd7.js +0 -1
- package/dist/showcase/assets/table-actions-DqofOI1V.js +0 -1
- package/dist/showcase/assets/tabs-BV6mMsfk.js +0 -19
- package/dist/showcase/assets/tabs-u2fkHRw8.js +0 -1
- package/dist/showcase/assets/tags-input-Cu_UwlwT.js +0 -1
- package/dist/showcase/assets/text-button-Fyy21evq.js +0 -1
- package/dist/showcase/assets/text-link-WRyY3ZZo.js +0 -1
- package/dist/showcase/assets/textarea-BbCxWNzV.js +0 -1
- package/dist/showcase/assets/textarea-CtD7JQsv.js +0 -1
- package/dist/showcase/assets/timelines-BBPQpCFX.js +0 -200
- package/dist/showcase/assets/toggle-group-B8mQ6wer.js +0 -1
- package/dist/showcase/assets/toggles-CCClWVXZ.js +0 -71
- package/dist/showcase/assets/toggles-group-DgCilPMo.js +0 -32
- package/dist/showcase/assets/tooltip-ClJCWWTI.js +0 -31
- package/dist/showcase/assets/trash-2-Cs7y4-K-.js +0 -1
- package/dist/showcase/assets/trending-up-spYhMxs6.js +0 -1
- package/dist/showcase/assets/truck-DENWgqxK.js +0 -1
- package/dist/showcase/assets/typography-DMmYNFQj.js +0 -223
- package/dist/showcase/assets/ui-badge-BJEtsa7X.js +0 -28
- package/dist/showcase/assets/ui-card-CrPKoi3P.js +0 -30
- package/dist/showcase/assets/ui-table-2HhDwPcu.js +0 -42
- package/dist/showcase/assets/upload-tray-CUZAErkI.js +0 -138
- package/dist/showcase/assets/use-layout-link-Co3GiFmb.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DgIA0IXg.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-CDdoyQgg.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-BT0RSjGM.js +0 -1
- package/dist/showcase/assets/useCompositeItem-DFghnuRZ.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-vXyRoJ2x.js +0 -1
- package/dist/showcase/assets/useLabelableId-D__l5sQX.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-bZIaLWfE.js +0 -1
- package/dist/showcase/assets/useRender-BV0akLbc.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-dYriJrQP.js +0 -1
- package/dist/showcase/assets/useValueChanged-Dg0AWST0.js +0 -1
- package/dist/showcase/assets/user-B9eCi5Vl.js +0 -1
- package/dist/showcase/assets/user-plus-Uo4IAY7e.js +0 -1
- package/dist/showcase/assets/users-DLep-WjV.js +0 -1
- package/dist/showcase/assets/vendor-profile-BbcE51Pa.js +0 -37
- package/dist/showcase/assets/video-BasdlaQE.js +0 -1
- package/dist/showcase/assets/wrench-BYUVe1-z.js +0 -1
- package/dist/showcase/assets/x-Bx9ayVXr.js +0 -1
- package/dist/showcase/assets/zap-Mgu5HEtF.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as e, C as t, D as n, E as r, F as i, M as a, N as o, O as s, P as c, S as l, T as u, _ as d, a as f, b as p, c as m, d as h, f as g, g as _, h as v, i as y, j as b, k as x, l as S, m as C, n as w, o as T, p as E, r as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "../../../_shared/table-
|
|
1
|
+
import { A as e, C as t, D as n, E as r, F as i, M as a, N as o, O as s, P as c, S as l, T as u, _ as d, a as f, b as p, c as m, d as h, f as g, g as _, h as v, i as y, j as b, k as x, l as S, m as C, n as w, o as T, p as E, r as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "../../../_shared/table-_yujELN3.js";
|
|
2
2
|
export { f as AvatarCell, C as CellValue, p as ColumnVisibilityToggle, T as CurrencyCell, d as DataTable, a as DataTableActions, l as DataTableBody, _ as DataTableFilterBar, N as DataTableHeader, v as DataTablePagination, P as DataTableToolbar, O as DateCell, m as DateMetaCell, k as DensityToggle, S as IdentityCell, o as Pagination, A as ResourceCell, h as StatusCell, g as StatusClusterCell, E as TableLink, t as addSelectionColumn, M as createHeaderSelectionCheckbox, u as createRowSelectionCheckbox, c as defaultDataTableStrings, r as getCellClassName, w as getDataTableScrollContainer, n as getRowClassName, s as getSelectedRowsData, x as handleColumnVisibilityChange, e as handleRowSelectionChange, b as handleSortingChange, i as mergeDataTableStrings, D as useDataTableScrollState, j as useDataTableSize, y as usePersistentDensity };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-header.d.ts","sourceRoot":"","sources":["../../../../src/components/base/table/table-header.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,wBAAgB,eAAe,CAAC,KAAK,EACpC,EACC,KAAK,EACL,cAAsB,EACtB,YAAoB,EACpB,eAAoB,EACpB,aAAkB,EAClB,iBAAyB,EACzB,YAAY,EACZ,KAAa,EACb,iBAAyB,GACzB,EAAE,oBAAoB,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"table-header.d.ts","sourceRoot":"","sources":["../../../../src/components/base/table/table-header.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,wBAAgB,eAAe,CAAC,KAAK,EACpC,EACC,KAAK,EACL,cAAsB,EACtB,YAAoB,EACpB,eAAoB,EACpB,aAAkB,EAClB,iBAAyB,EACzB,YAAY,EACZ,KAAa,EACb,iBAAyB,GACzB,EAAE,oBAAoB,CAAC,KAAK,CAAC,qBAiM9B;yBA5Me,eAAe"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/button-Bd5bEIiB.cjs"),r=require("../../../_shared/typography-CO9uwZhF.cjs"),i=require("../../../_shared/icon-badge-CU6ZkcER.cjs"),a=require("../../../_shared/badge-BeSKxX1u.cjs"),o=require("../../../_shared/cards-GSYfJ-oX.cjs"),s=require("../../../_shared/alert-V0V36Sny.cjs"),c=require("../../../_shared/input-CB6hxh-5.cjs"),l=require("../../../_shared/checkbox-ECGg8wjW.cjs"),u=require("../../../_shared/forms-CEE1te78.cjs"),d=require("../../../_shared/display-Bin2vVex.cjs"),f=require("../../../_shared/copyable-rQwxsTJ3.cjs"),p=require("../../../_shared/item-eUP9Rtmg.cjs"),m=require("../../../_shared/action-menu-B6yFRDz1.cjs");let h=require("react"),g=require("react/jsx-runtime"),_=require("lucide-react"),v=require("sonner");function y({members:e,className:n}){return(0,g.jsx)(p.o,{className:t.cn(`team-member--component`,n),children:e.map(e=>(0,g.jsxs)(p.t,{children:[(0,g.jsx)(p.c,{children:(0,g.jsx)(i.t,{tone:`primary`,solid:!0,size:`default`,children:(0,g.jsx)(r.s,{size:`xs`,weight:`semibold`,className:`text-inherit`,children:e.initials})})}),(0,g.jsxs)(p.r,{children:[(0,g.jsx)(p.u,{children:e.name}),(0,g.jsx)(p.i,{clamp:1,children:e.role})]}),(0,g.jsxs)(p.n,{children:[(0,g.jsx)(a.t,{variant:`secondary`,children:e.dept}),(0,g.jsx)(r.s,{size:`xs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:e.active})]})]},e.name))})}y.displayName=`TeamMemberRow`;var b={statusInStock:`In Stock`,statusLowStock:`Low Stock`,statusCritical:`Critical`,variantLabel:`Variant`,unitsAvailable:`units available`,reorderAtLabel:`Reorder at`,lastRestockedLabel:`Last restocked`},x={editRole:`Edit Role`,formatMemberCount:e=>`${e} members`};function S({roleName:i,description:s,memberCount:c,sections:l,onEdit:u,className:d,strings:f}){let p=e.useStrings(x,f);return(0,g.jsxs)(o.t,{title:i,description:s,headerEnd:c!==void 0&&(0,g.jsx)(a.t,{variant:`info`,children:p.formatMemberCount(c)}),className:t.cn(`role-permission--component`,d),children:[(0,g.jsx)(`div`,{className:`mt-5 space-y-4`,children:l.map(e=>(0,g.jsxs)(`div`,{children:[(0,g.jsx)(r.s,{size:`xs`,weight:`medium`,className:`uppercase tracking-wider text-muted-foreground`,children:e.name}),(0,g.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:e.permissions.map(e=>(0,g.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,g.jsx)(`span`,{className:t.cn(`size-2.5 rounded-full`,e.active?`bg-success`:`bg-muted`)}),(0,g.jsx)(r.s,{size:`xs`,className:e.active?`text-foreground`:`text-muted-foreground`,children:e.label})]},e.label))})]},e.name))}),!!u&&(0,g.jsx)(n.t,{variant:`secondary`,buttonStyle:`ghost`,icon:_.Pencil,className:`mt-5`,onClick:u,children:p.editRole})]})}S.displayName=`RolePermissionCard`;function C({conversations:e,className:n}){return(0,g.jsx)(p.o,{className:t.cn(`conversation-row--component`,n),children:e.map(e=>(0,g.jsxs)(p.t,{className:`cursor-pointer`,children:[(0,g.jsx)(p.c,{children:(0,g.jsx)(i.t,{tone:`primary`,size:`default`,children:(0,g.jsx)(r.s,{size:`xs`,weight:`semibold`,className:`text-inherit`,children:e.initials})})}),(0,g.jsxs)(p.r,{children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,g.jsx)(p.u,{children:e.name}),(0,g.jsx)(r.s,{size:`xs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:e.time})]}),(0,g.jsx)(p.i,{clamp:1,children:e.preview})]}),!!e.unread&&(0,g.jsx)(p.n,{children:(0,g.jsx)(i.t,{tone:`primary`,solid:!0,size:`small`,children:(0,g.jsx)(r.s,{size:`xxs`,weight:`bold`,className:`text-inherit tabular-nums`,children:e.unread})})})]},e.name))})}C.displayName=`RecentConversationRow`;function w({settings:e,values:n,onChange:r,className:i}){let[a,s]=(0,h.useState)(()=>{let t={};for(let n of e)t[n.key]=n.defaultValue??!1;return t}),c=r!==void 0,l=c&&n?n:a,d=(e,t)=>{c&&r?r(e,t):s(n=>({...n,[e]:t}))};return(0,g.jsx)(o.t,{className:t.cn(`settings-toggle--component`,i),children:(0,g.jsx)(p.o,{children:e.map(e=>{let t=e.icon,n=l[e.key]??!1;return(0,g.jsxs)(p.t,{children:[(0,g.jsx)(p.c,{variant:`icon`,className:`bg-muted text-muted-foreground rounded-full size-9`,children:(0,g.jsx)(t,{})}),(0,g.jsxs)(p.r,{children:[(0,g.jsx)(p.u,{children:e.name}),(0,g.jsx)(p.i,{children:e.desc})]}),(0,g.jsx)(p.n,{children:(0,g.jsx)(u.J,{"aria-label":e.name,checked:n,onCheckedChange:t=>d(e.key,t)})})]},e.key)})})})}w.displayName=`SettingsToggleRow`;function T({productName:n,variant:i,stock:s,reorderLevel:c,maxStock:l,lastRestocked:u,className:d,strings:f}){let m=e.useStrings(b,f),h=Math.round(s/l*100),_=s<=c,v=s<=c*.5,y=v?`error`:_?`warning`:`success`,x=v?m.statusCritical:_?m.statusLowStock:m.statusInStock;return(0,g.jsxs)(o.t,{className:t.cn(`inventory-level--component`,d),children:[(0,g.jsxs)(p.t,{size:`small`,children:[(0,g.jsxs)(p.r,{children:[(0,g.jsx)(p.u,{children:n}),!!i&&(0,g.jsxs)(p.i,{clamp:1,children:[m.variantLabel,`: `,i]})]}),(0,g.jsx)(p.n,{children:(0,g.jsx)(a.t,{variant:y,children:x})})]}),(0,g.jsx)(r.s,{size:`xl`,weight:`semibold`,className:`tabular-nums tracking-tight`,children:s}),(0,g.jsx)(r.s,{size:`xs`,type:`secondary`,children:m.unitsAvailable}),(0,g.jsxs)(`div`,{className:`mt-4 space-y-2`,children:[(0,g.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,g.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all`,v?`bg-destructive`:_?`bg-warning`:`bg-success`),style:{width:`${h}%`}})}),(0,g.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,g.jsxs)(r.s,{size:`xs`,type:`secondary`,children:[m.reorderAtLabel,`: `,(0,g.jsx)(r.s,{tag:`span`,weight:`medium`,className:`tabular-nums`,children:c})]}),!!u&&(0,g.jsxs)(r.s,{size:`xs`,type:`secondary`,children:[m.lastRestockedLabel,`: `,u]})]})]})]})}T.displayName=`InventoryLevelCard`;var E={title:`API keys`,addAria:`Add API key`,rowMenuAria:`Key actions`,copyMenuItem:`Copy key`,copiedMenuItem:`Copied`,deleteMenuItem:`Delete`,copyToastSuccess:`Copied to clipboard`,copyToastError:`Failed to copy`,emptyMessage:`No keys yet.`},D=(0,h.forwardRef)(function({items:i,defaultOpen:a=!0,open:s,onOpenChange:c,onAdd:l,onDelete:u,onCopy:f,title:p,className:m,strings:v},y){let b=e.useStrings(E,v),x=s!==void 0,[S,C]=(0,h.useState)(a),w=x?s:S,T=(0,h.useCallback)(e=>{x||C(e),c?.(e)},[x,c]);return(0,g.jsx)(o.t,{ref:y,className:t.cn(`api-key-list--component`,m),children:(0,g.jsxs)(d.h,{open:w,onOpenChange:T,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(d._,{asChild:!0,children:(0,g.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`default`,className:`h-auto flex-1 justify-start gap-2 rounded-sm px-0 py-0 text-left`,children:[(0,g.jsx)(_.ChevronRight,{"aria-hidden":`true`,className:t.cn(`size-4 text-muted-foreground transition-transform`,w&&`rotate-90`)}),(0,g.jsx)(r.s,{tag:`span`,weight:`semibold`,children:p??b.title})]})}),!!l&&(0,g.jsx)(n.t,{variant:`secondary`,buttonStyle:`ghost`,onClick:l,"aria-label":b.addAria,children:(0,g.jsx)(_.Plus,{className:`size-4`})})]}),(0,g.jsx)(d.g,{className:`pt-3`,children:i.length===0?(0,g.jsx)(r.s,{type:`secondary`,children:b.emptyMessage}):(0,g.jsx)(`div`,{className:`flex flex-col gap-2.5`,children:i.map(e=>(0,g.jsx)(O,{item:e,onDelete:u,onCopy:f,copyMenuLabel:b.copyMenuItem,copiedMenuLabel:b.copiedMenuItem,deleteMenuLabel:b.deleteMenuItem,rowMenuAria:b.rowMenuAria,copyToastSuccess:b.copyToastSuccess,copyToastError:b.copyToastError},e.id))})})]})})});D.displayName=`ApiKeyList`;function O({item:e,onDelete:t,onCopy:n,copyMenuLabel:a,copiedMenuLabel:o,deleteMenuLabel:s,rowMenuAria:c,copyToastSuccess:l,copyToastError:u}){let[d,f]=(0,h.useState)(!1),y=(0,h.useCallback)(async()=>{try{await navigator.clipboard.writeText(e.value),f(!0),setTimeout(()=>f(!1),1500),v.toast.success(l),n?.(e.id,e)}catch{v.toast.error(u)}},[e,n,l,u]),b=e.displayValue??e.value;return(0,g.jsxs)(p.t,{size:`small`,"data-slot":`api-key-row`,className:`flex-nowrap`,children:[(0,g.jsx)(p.c,{variant:`icon`,children:(0,g.jsx)(i.t,{size:`small`,shape:`square`,tone:`muted`,bordered:!0,className:`text-success`,children:e.icon??(0,g.jsx)(_.Lock,{className:`size-3.5`})})}),(0,g.jsxs)(p.r,{className:`min-w-0 flex-row items-center gap-2.5`,children:[(0,g.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,className:`w-20 shrink-0 truncate sm:w-24`,children:e.name}),(0,g.jsx)(`span`,{className:`min-w-0 flex-1 truncate rounded-sm bg-muted px-2 py-1 font-mono text-xs`,children:b})]}),(0,g.jsx)(p.n,{className:`shrink-0`,children:(0,g.jsxs)(m.t,{srText:c,align:`end`,closeOnSelect:!0,buttonProps:{buttonStyle:`ghost`,variant:`secondary`},children:[(0,g.jsx)(m.n,{label:d?o:a,icon:_.Copy,onClick:()=>{y()},disabled:e.disabled}),!!t&&(0,g.jsx)(m.n,{label:s,icon:_.Trash2,variant:`error`,disabled:e.disabled,onClick:()=>t(e.id,e)})]})})]})}O.displayName=`ApiKeyRow`;function k(e,t){if(!e)return null;let{label:r,icon:i,variant:a=t,...o}=e;return(0,g.jsxs)(n.t,{...o,variant:a,children:[!!i&&(0,g.jsx)(i,{className:`size-4`}),r]})}function A({icon:e,title:n,description:r,primaryAction:a,secondaryAction:o,actions:s,disabled:c=!1,className:l}){return(0,g.jsxs)(p.t,{"data-component":`action-row`,"data-slot":`action-row`,className:t.cn(`action-row--component`,c&&`opacity-60`,l),children:[!!e&&(0,g.jsx)(p.c,{variant:`icon`,children:(0,g.jsx)(i.t,{icon:e,tone:`muted`,shape:`square`,size:`default`})}),(0,g.jsxs)(p.r,{children:[(0,g.jsx)(p.u,{children:n}),!!r&&(0,g.jsx)(p.i,{children:r})]}),(0,g.jsx)(p.n,{className:`flex-wrap justify-end`,children:s??(0,g.jsxs)(g.Fragment,{children:[k(o,`secondary`),k(a,`primary`)]})})]})}function j({title:e,description:n,actions:r,children:i,rows:a,padding:s=`default`,surface:c=`card`,className:l,contentClassName:u}){return(0,g.jsxs)(o.t,{"data-component":`action-list`,"data-slot":`action-list`,title:e,description:n,headerAction:r,padding:s,surface:c,className:t.cn(`action-list--component`,l),contentClassName:t.cn(`action-list--content grid gap-2`,u),children:[a?.map((e,t)=>(0,g.jsx)(A,{...e},t)),i]})}function M({title:e,description:n,confirmation:a,action:c,icon:l=_.ShieldAlert,padding:u=`default`,surface:d=`card`,className:f}){return(0,g.jsxs)(o.t,{"data-component":`sensitive-action-card`,"data-slot":`sensitive-action-card`,padding:u,surface:d,className:t.cn(`sensitive-action-card--component border-destructive/30`,f),contentClassName:`sensitive-action-card--content grid gap-3`,children:[(0,g.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,g.jsx)(i.t,{icon:l,tone:`destructive`,shape:`square`,size:`default`}),(0,g.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,g.jsx)(r.s,{weight:`semibold`,children:e}),!!n&&(0,g.jsx)(r.s,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:n})]}),!!c&&(0,g.jsx)(`div`,{className:`shrink-0`,children:c})]}),!!a&&(0,g.jsx)(s.t,{variant:`destructive`,role:`note`,className:`sensitive-action-card--confirmation`,children:(0,g.jsx)(s.r,{children:a})})]})}var N={title:`Secret created`,description:`Copy this value now. It may not be shown again.`,copySuccess:`Secret copied`};function P({value:n,displayValue:r,title:i,description:a,action:o,className:c,strings:l}){let u=e.useStrings(N,l);return(0,g.jsxs)(s.t,{"data-component":`copyable-secret-alert`,"data-slot":`copyable-secret-alert`,variant:`success`,className:t.cn(`copyable-secret-alert--component`,c),children:[(0,g.jsx)(_.KeyRound,{className:`size-4`}),(0,g.jsx)(s.i,{children:i??u.title}),(0,g.jsx)(s.r,{children:(0,g.jsxs)(`span`,{className:`grid gap-2`,children:[(0,g.jsx)(`span`,{children:a??u.description}),(0,g.jsx)(f.t,{value:n,displayValue:r??n,mono:!0,truncate:!0,className:`copyable-secret-alert--value max-w-full rounded-md bg-background px-2 py-1`,successMessage:u.copySuccess})]})}),!!o&&(0,g.jsx)(s.n,{children:o})]})}var F={title:`API tokens`,description:`Create and revoke access tokens.`,nameLabel:`Token name`,namePlaceholder:`Production deploy key`,abilitiesLabel:`Abilities`,create:`Create token`,revokeAll:`Revoke all`,createdTitle:`Token created`,createdDescription:`Copy this token now. It will not be shown again.`};function I({tokens:i,abilities:a=[],createdToken:s,name:u,defaultName:f=``,onNameChange:p,selectedAbilities:m,defaultSelectedAbilities:v=[],onSelectedAbilitiesChange:y,onCreateToken:b,onRevokeToken:x,onRevokeAllTokens:S,onAfterMutate:C,onError:w,isCreating:T=!1,isRevokingAll:E=!1,disabled:O=!1,className:k,strings:A}){let j=e.useStrings(F,A),M=u!==void 0,N=m!==void 0,[I,L]=(0,h.useState)(f),[R,z]=(0,h.useState)([...v]),[B,V]=(0,h.useState)(null),H=M?u:I,U=(0,h.useMemo)(()=>N?[...m]:R,[R,N,m]),W=T||B===`create`,G=E||B===`revoke-all`,K=(0,h.useCallback)(e=>{M||L(e),p?.(e)},[M,p]),q=(0,h.useCallback)(e=>{N||z(e),y?.(e)},[N,y]),J=(0,h.useCallback)((e,t)=>{q(t===!0?Array.from(new Set([...U,e])):U.filter(t=>t!==e))},[U,q]),Y=(0,h.useCallback)(async(e,t,n)=>{V(e);try{await t(),C?.({type:e,payload:n})}catch(t){w?.(t,{phase:e})}finally{V(null)}},[C,w]),X=(0,h.useCallback)(()=>{if(!b)return;let e={name:H,abilities:U};Y(`create`,()=>b(e),e)},[b,U,H,Y]),Z=(0,h.useCallback)((e,t)=>{x&&Y(`revoke`,()=>x(e,t),t)},[x,Y]),Q=(0,h.useCallback)(()=>{S&&Y(`revoke-all`,S)},[S,Y]);return(0,g.jsxs)(o.t,{"data-component":`api-token-manager`,"data-slot":`api-token-manager`,title:j.title,description:j.description,headerAction:S?(0,g.jsxs)(n.t,{type:`button`,variant:`error`,buttonStyle:`outline`,loading:G,disabled:O||i.length===0,onClick:Q,children:[(0,g.jsx)(_.Trash2,{className:`size-4`}),j.revokeAll]}):void 0,className:t.cn(`api-token-manager--component`,k),contentClassName:`api-token-manager--content grid gap-4`,children:[!!s&&(0,g.jsx)(P,{value:s.value,displayValue:s.displayValue,title:s.name??j.createdTitle,description:j.createdDescription}),(0,g.jsxs)(`div`,{className:`api-token-manager--form grid gap-3 rounded-lg border border-border/70 bg-muted/20 p-3`,children:[(0,g.jsx)(d.D,{label:j.nameLabel,children:(0,g.jsx)(c.t,{value:H,placeholder:j.namePlaceholder,onChange:e=>K(e.currentTarget.value),disabled:O||W})}),a.length>0&&(0,g.jsxs)(`div`,{className:`api-token-manager--abilities grid gap-2`,children:[(0,g.jsx)(r.s,{size:`xs`,weight:`semibold`,children:j.abilitiesLabel}),(0,g.jsx)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:a.map(e=>(0,g.jsxs)(`label`,{className:`flex min-w-0 items-start gap-2 rounded-md border border-border/70 bg-background px-3 py-2`,children:[(0,g.jsx)(l.t,{checked:U.includes(e.id),disabled:O||W||e.disabled,onCheckedChange:t=>J(e.id,t)}),(0,g.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,g.jsx)(r.s,{tag:`span`,weight:`medium`,children:e.label}),!!e.description&&(0,g.jsx)(r.s,{tag:`span`,size:`xs`,type:`secondary`,children:e.description})]})]},e.id))})]}),(0,g.jsx)(`div`,{className:`flex justify-end`,children:(0,g.jsxs)(n.t,{type:`button`,variant:`primary`,loading:W,disabled:O||!b||H.trim().length===0,onClick:X,children:[(0,g.jsx)(_.Plus,{className:`size-4`}),j.create]})})]}),(0,g.jsx)(D,{items:i,onDelete:x?Z:void 0})]})}I.displayName=`ApiTokenManager`,exports.ActionList=j,exports.ActionRow=A,exports.ApiKeyList=D,exports.ApiTokenManager=I,exports.CopyableSecretAlert=P,exports.InventoryLevelCard=T,exports.RecentConversationRow=C,exports.RolePermissionCard=S,exports.SensitiveActionCard=M,exports.SettingsToggleRow=w,exports.TeamMemberRow=y,exports.defaultApiKeyListStrings=E,exports.defaultApiTokenManagerStrings=F,exports.defaultCopyableSecretAlertStrings=N;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/button-BMiPFJIb.cjs"),r=require("../../../_shared/typography-pzCKaFOc.cjs"),i=require("../../../_shared/icon-badge-CU6ZkcER.cjs"),a=require("../../../_shared/badge-DvUA9Pr2.cjs"),o=require("../../../_shared/cards-DQN9fcwo.cjs"),s=require("../../../_shared/alert-BisCSsOE.cjs"),c=require("../../../_shared/input-uuWeiagN.cjs"),l=require("../../../_shared/checkbox-ECGg8wjW.cjs"),u=require("../../../_shared/forms-BjG7QIb1.cjs"),d=require("../../../_shared/display-C0ut-Lew.cjs"),f=require("../../../_shared/copyable-CoKTxMSP.cjs"),p=require("../../../_shared/item-CSk9Y2qB.cjs"),m=require("../../../_shared/action-menu-BrHF4nss.cjs");let h=require("react"),g=require("react/jsx-runtime"),_=require("lucide-react"),v=require("sonner");function y({members:e,className:n}){return(0,g.jsx)(p.o,{className:t.cn(`team-member--component`,n),children:e.map(e=>(0,g.jsxs)(p.t,{children:[(0,g.jsx)(p.c,{children:(0,g.jsx)(i.t,{tone:`primary`,solid:!0,size:`default`,children:(0,g.jsx)(r.s,{size:`xs`,weight:`semibold`,className:`text-inherit`,children:e.initials})})}),(0,g.jsxs)(p.r,{children:[(0,g.jsx)(p.u,{children:e.name}),(0,g.jsx)(p.i,{clamp:1,children:e.role})]}),(0,g.jsxs)(p.n,{children:[(0,g.jsx)(a.t,{variant:`secondary`,children:e.dept}),(0,g.jsx)(r.s,{size:`xs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:e.active})]})]},e.name))})}y.displayName=`TeamMemberRow`;var b={statusInStock:`In Stock`,statusLowStock:`Low Stock`,statusCritical:`Critical`,variantLabel:`Variant`,unitsAvailable:`units available`,reorderAtLabel:`Reorder at`,lastRestockedLabel:`Last restocked`},x={editRole:`Edit Role`,formatMemberCount:e=>`${e} members`};function S({roleName:i,description:s,memberCount:c,sections:l,onEdit:u,className:d,strings:f}){let p=e.useStrings(x,f);return(0,g.jsxs)(o.t,{title:i,description:s,headerEnd:c!==void 0&&(0,g.jsx)(a.t,{variant:`info`,children:p.formatMemberCount(c)}),className:t.cn(`role-permission--component`,d),children:[(0,g.jsx)(`div`,{className:`mt-5 space-y-4`,children:l.map(e=>(0,g.jsxs)(`div`,{children:[(0,g.jsx)(r.s,{size:`xs`,weight:`medium`,className:`uppercase tracking-wider text-muted-foreground`,children:e.name}),(0,g.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:e.permissions.map(e=>(0,g.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,g.jsx)(`span`,{className:t.cn(`size-2.5 rounded-full`,e.active?`bg-success`:`bg-muted`)}),(0,g.jsx)(r.s,{size:`xs`,className:e.active?`text-foreground`:`text-muted-foreground`,children:e.label})]},e.label))})]},e.name))}),!!u&&(0,g.jsx)(n.t,{variant:`secondary`,buttonStyle:`ghost`,icon:_.Pencil,className:`mt-5`,onClick:u,children:p.editRole})]})}S.displayName=`RolePermissionCard`;function C({conversations:e,className:n}){return(0,g.jsx)(p.o,{className:t.cn(`conversation-row--component`,n),children:e.map(e=>(0,g.jsxs)(p.t,{className:`cursor-pointer`,children:[(0,g.jsx)(p.c,{children:(0,g.jsx)(i.t,{tone:`primary`,size:`default`,children:(0,g.jsx)(r.s,{size:`xs`,weight:`semibold`,className:`text-inherit`,children:e.initials})})}),(0,g.jsxs)(p.r,{children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,g.jsx)(p.u,{children:e.name}),(0,g.jsx)(r.s,{size:`xs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:e.time})]}),(0,g.jsx)(p.i,{clamp:1,children:e.preview})]}),!!e.unread&&(0,g.jsx)(p.n,{children:(0,g.jsx)(i.t,{tone:`primary`,solid:!0,size:`small`,children:(0,g.jsx)(r.s,{size:`xs`,weight:`bold`,className:`text-inherit tabular-nums`,children:e.unread})})})]},e.name))})}C.displayName=`RecentConversationRow`;function w({settings:e,values:n,onChange:r,className:i}){let[a,s]=(0,h.useState)(()=>{let t={};for(let n of e)t[n.key]=n.defaultValue??!1;return t}),c=r!==void 0,l=c&&n?n:a,d=(e,t)=>{c&&r?r(e,t):s(n=>({...n,[e]:t}))};return(0,g.jsx)(o.t,{className:t.cn(`settings-toggle--component`,i),children:(0,g.jsx)(p.o,{children:e.map(e=>{let t=e.icon,n=l[e.key]??!1;return(0,g.jsxs)(p.t,{children:[(0,g.jsx)(p.c,{variant:`icon`,className:`bg-muted text-muted-foreground rounded-full size-9`,children:(0,g.jsx)(t,{})}),(0,g.jsxs)(p.r,{children:[(0,g.jsx)(p.u,{children:e.name}),(0,g.jsx)(p.i,{children:e.desc})]}),(0,g.jsx)(p.n,{children:(0,g.jsx)(u.J,{"aria-label":e.name,checked:n,onCheckedChange:t=>d(e.key,t)})})]},e.key)})})})}w.displayName=`SettingsToggleRow`;function T({productName:n,variant:i,stock:s,reorderLevel:c,maxStock:l,lastRestocked:u,className:d,strings:f}){let m=e.useStrings(b,f),h=Math.round(s/l*100),_=s<=c,v=s<=c*.5,y=v?`error`:_?`warning`:`success`,x=v?m.statusCritical:_?m.statusLowStock:m.statusInStock;return(0,g.jsxs)(o.t,{className:t.cn(`inventory-level--component`,d),children:[(0,g.jsxs)(p.t,{size:`small`,children:[(0,g.jsxs)(p.r,{children:[(0,g.jsx)(p.u,{children:n}),!!i&&(0,g.jsxs)(p.i,{clamp:1,children:[m.variantLabel,`: `,i]})]}),(0,g.jsx)(p.n,{children:(0,g.jsx)(a.t,{variant:y,children:x})})]}),(0,g.jsx)(r.s,{size:`base`,weight:`semibold`,className:`tabular-nums tracking-tight`,children:s}),(0,g.jsx)(r.s,{size:`xs`,type:`secondary`,children:m.unitsAvailable}),(0,g.jsxs)(`div`,{className:`mt-4 space-y-2`,children:[(0,g.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,g.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all`,v?`bg-destructive`:_?`bg-warning`:`bg-success`),style:{width:`${h}%`}})}),(0,g.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,g.jsxs)(r.s,{size:`xs`,type:`secondary`,children:[m.reorderAtLabel,`: `,(0,g.jsx)(r.s,{tag:`span`,weight:`medium`,className:`tabular-nums`,children:c})]}),!!u&&(0,g.jsxs)(r.s,{size:`xs`,type:`secondary`,children:[m.lastRestockedLabel,`: `,u]})]})]})]})}T.displayName=`InventoryLevelCard`;var E={title:`API keys`,addAria:`Add API key`,rowMenuAria:`Key actions`,copyMenuItem:`Copy key`,copiedMenuItem:`Copied`,deleteMenuItem:`Delete`,copyToastSuccess:`Copied to clipboard`,copyToastError:`Failed to copy`,emptyMessage:`No keys yet.`},D=(0,h.forwardRef)(function({items:i,defaultOpen:a=!0,open:s,onOpenChange:c,onAdd:l,onDelete:u,onCopy:f,title:p,className:m,strings:v},y){let b=e.useStrings(E,v),x=s!==void 0,[S,C]=(0,h.useState)(a),w=x?s:S,T=(0,h.useCallback)(e=>{x||C(e),c?.(e)},[x,c]);return(0,g.jsx)(o.t,{ref:y,className:t.cn(`api-key-list--component`,m),children:(0,g.jsxs)(d.h,{open:w,onOpenChange:T,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(d._,{asChild:!0,children:(0,g.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`default`,className:`h-auto flex-1 justify-start gap-2 rounded-sm px-0 py-0 text-left`,children:[(0,g.jsx)(_.ChevronRight,{"aria-hidden":`true`,className:t.cn(`size-4 text-muted-foreground transition-transform`,w&&`rotate-90`)}),(0,g.jsx)(r.s,{tag:`span`,weight:`semibold`,children:p??b.title})]})}),!!l&&(0,g.jsx)(n.t,{variant:`secondary`,buttonStyle:`ghost`,onClick:l,"aria-label":b.addAria,children:(0,g.jsx)(_.Plus,{className:`size-4`})})]}),(0,g.jsx)(d.g,{className:`pt-3`,children:i.length===0?(0,g.jsx)(r.s,{type:`secondary`,children:b.emptyMessage}):(0,g.jsx)(`div`,{className:`flex flex-col gap-2.5`,children:i.map(e=>(0,g.jsx)(O,{item:e,onDelete:u,onCopy:f,copyMenuLabel:b.copyMenuItem,copiedMenuLabel:b.copiedMenuItem,deleteMenuLabel:b.deleteMenuItem,rowMenuAria:b.rowMenuAria,copyToastSuccess:b.copyToastSuccess,copyToastError:b.copyToastError},e.id))})})]})})});D.displayName=`ApiKeyList`;function O({item:e,onDelete:t,onCopy:n,copyMenuLabel:a,copiedMenuLabel:o,deleteMenuLabel:s,rowMenuAria:c,copyToastSuccess:l,copyToastError:u}){let[d,f]=(0,h.useState)(!1),y=(0,h.useCallback)(async()=>{try{await navigator.clipboard.writeText(e.value),f(!0),setTimeout(()=>f(!1),1500),v.toast.success(l),n?.(e.id,e)}catch{v.toast.error(u)}},[e,n,l,u]),b=e.displayValue??e.value;return(0,g.jsxs)(p.t,{size:`small`,"data-slot":`api-key-row`,className:`flex-nowrap`,children:[(0,g.jsx)(p.c,{variant:`icon`,children:(0,g.jsx)(i.t,{size:`small`,shape:`square`,tone:`muted`,bordered:!0,className:`text-success`,children:e.icon??(0,g.jsx)(_.Lock,{className:`size-3.5`})})}),(0,g.jsxs)(p.r,{className:`min-w-0 flex-row items-center gap-2.5`,children:[(0,g.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,className:`w-20 shrink-0 truncate sm:w-24`,children:e.name}),(0,g.jsx)(`span`,{className:`min-w-0 flex-1 truncate rounded-sm bg-muted px-2 py-1 font-mono text-xs`,children:b})]}),(0,g.jsx)(p.n,{className:`shrink-0`,children:(0,g.jsxs)(m.t,{srText:c,align:`end`,closeOnSelect:!0,buttonProps:{buttonStyle:`ghost`,variant:`secondary`},children:[(0,g.jsx)(m.n,{label:d?o:a,icon:_.Copy,onClick:()=>{y()},disabled:e.disabled}),!!t&&(0,g.jsx)(m.n,{label:s,icon:_.Trash2,variant:`error`,disabled:e.disabled,onClick:()=>t(e.id,e)})]})})]})}O.displayName=`ApiKeyRow`;function k(e,t){if(!e)return null;let{label:r,icon:i,variant:a=t,...o}=e;return(0,g.jsxs)(n.t,{...o,variant:a,children:[!!i&&(0,g.jsx)(i,{className:`size-4`}),r]})}function A({icon:e,title:n,description:r,primaryAction:a,secondaryAction:o,actions:s,disabled:c=!1,className:l}){return(0,g.jsxs)(p.t,{"data-component":`action-row`,"data-slot":`action-row`,className:t.cn(`action-row--component`,c&&`opacity-60`,l),children:[!!e&&(0,g.jsx)(p.c,{variant:`icon`,children:(0,g.jsx)(i.t,{icon:e,tone:`muted`,shape:`square`,size:`default`})}),(0,g.jsxs)(p.r,{children:[(0,g.jsx)(p.u,{children:n}),!!r&&(0,g.jsx)(p.i,{children:r})]}),(0,g.jsx)(p.n,{className:`flex-wrap justify-end`,children:s??(0,g.jsxs)(g.Fragment,{children:[k(o,`secondary`),k(a,`primary`)]})})]})}function j({title:e,description:n,actions:r,children:i,rows:a,padding:s=`default`,surface:c=`card`,className:l,contentClassName:u}){return(0,g.jsxs)(o.t,{"data-component":`action-list`,"data-slot":`action-list`,title:e,description:n,headerAction:r,padding:s,surface:c,className:t.cn(`action-list--component`,l),contentClassName:t.cn(`action-list--content grid gap-2`,u),children:[a?.map((e,t)=>(0,g.jsx)(A,{...e},t)),i]})}function M({title:e,description:n,confirmation:a,action:c,icon:l=_.ShieldAlert,padding:u=`default`,surface:d=`card`,className:f}){return(0,g.jsxs)(o.t,{"data-component":`sensitive-action-card`,"data-slot":`sensitive-action-card`,padding:u,surface:d,className:t.cn(`sensitive-action-card--component border-destructive/30`,f),contentClassName:`sensitive-action-card--content grid gap-3`,children:[(0,g.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,g.jsx)(i.t,{icon:l,tone:`destructive`,shape:`square`,size:`default`}),(0,g.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,g.jsx)(r.s,{weight:`semibold`,children:e}),!!n&&(0,g.jsx)(r.s,{size:`xs`,type:`secondary`,className:`mt-0.5`,children:n})]}),!!c&&(0,g.jsx)(`div`,{className:`shrink-0`,children:c})]}),!!a&&(0,g.jsx)(s.t,{variant:`destructive`,role:`note`,className:`sensitive-action-card--confirmation`,children:(0,g.jsx)(s.r,{children:a})})]})}var N={title:`Secret created`,description:`Copy this value now. It may not be shown again.`,copySuccess:`Secret copied`};function P({value:n,displayValue:r,title:i,description:a,action:o,className:c,strings:l}){let u=e.useStrings(N,l);return(0,g.jsxs)(s.t,{"data-component":`copyable-secret-alert`,"data-slot":`copyable-secret-alert`,variant:`success`,className:t.cn(`copyable-secret-alert--component`,c),children:[(0,g.jsx)(_.KeyRound,{className:`size-4`}),(0,g.jsx)(s.i,{children:i??u.title}),(0,g.jsx)(s.r,{children:(0,g.jsxs)(`span`,{className:`grid gap-2`,children:[(0,g.jsx)(`span`,{children:a??u.description}),(0,g.jsx)(f.t,{value:n,displayValue:r??n,mono:!0,truncate:!0,className:`copyable-secret-alert--value max-w-full rounded-md bg-background px-2 py-1`,successMessage:u.copySuccess})]})}),!!o&&(0,g.jsx)(s.n,{children:o})]})}var F={title:`API tokens`,description:`Create and revoke access tokens.`,nameLabel:`Token name`,namePlaceholder:`Production deploy key`,abilitiesLabel:`Abilities`,create:`Create token`,revokeAll:`Revoke all`,createdTitle:`Token created`,createdDescription:`Copy this token now. It will not be shown again.`};function I({tokens:i,abilities:a=[],createdToken:s,name:u,defaultName:f=``,onNameChange:p,selectedAbilities:m,defaultSelectedAbilities:v=[],onSelectedAbilitiesChange:y,onCreateToken:b,onRevokeToken:x,onRevokeAllTokens:S,onAfterMutate:C,onError:w,isCreating:T=!1,isRevokingAll:E=!1,disabled:O=!1,className:k,strings:A}){let j=e.useStrings(F,A),M=u!==void 0,N=m!==void 0,[I,L]=(0,h.useState)(f),[R,z]=(0,h.useState)([...v]),[B,V]=(0,h.useState)(null),H=M?u:I,U=(0,h.useMemo)(()=>N?[...m]:R,[R,N,m]),W=T||B===`create`,G=E||B===`revoke-all`,K=(0,h.useCallback)(e=>{M||L(e),p?.(e)},[M,p]),q=(0,h.useCallback)(e=>{N||z(e),y?.(e)},[N,y]),J=(0,h.useCallback)((e,t)=>{q(t===!0?Array.from(new Set([...U,e])):U.filter(t=>t!==e))},[U,q]),Y=(0,h.useCallback)(async(e,t,n)=>{V(e);try{await t(),C?.({type:e,payload:n})}catch(t){w?.(t,{phase:e})}finally{V(null)}},[C,w]),X=(0,h.useCallback)(()=>{if(!b)return;let e={name:H,abilities:U};Y(`create`,()=>b(e),e)},[b,U,H,Y]),Z=(0,h.useCallback)((e,t)=>{x&&Y(`revoke`,()=>x(e,t),t)},[x,Y]),Q=(0,h.useCallback)(()=>{S&&Y(`revoke-all`,S)},[S,Y]);return(0,g.jsxs)(o.t,{"data-component":`api-token-manager`,"data-slot":`api-token-manager`,title:j.title,description:j.description,headerAction:S?(0,g.jsxs)(n.t,{type:`button`,variant:`error`,buttonStyle:`outline`,loading:G,disabled:O||i.length===0,onClick:Q,children:[(0,g.jsx)(_.Trash2,{className:`size-4`}),j.revokeAll]}):void 0,className:t.cn(`api-token-manager--component`,k),contentClassName:`api-token-manager--content grid gap-4`,children:[!!s&&(0,g.jsx)(P,{value:s.value,displayValue:s.displayValue,title:s.name??j.createdTitle,description:j.createdDescription}),(0,g.jsxs)(`div`,{className:`api-token-manager--form grid gap-3 rounded-lg border border-border/70 bg-muted/20 p-3`,children:[(0,g.jsx)(d.D,{label:j.nameLabel,children:(0,g.jsx)(c.t,{value:H,placeholder:j.namePlaceholder,onChange:e=>K(e.currentTarget.value),disabled:O||W})}),a.length>0&&(0,g.jsxs)(`div`,{className:`api-token-manager--abilities grid gap-2`,children:[(0,g.jsx)(r.s,{size:`xs`,weight:`semibold`,children:j.abilitiesLabel}),(0,g.jsx)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:a.map(e=>(0,g.jsxs)(`label`,{className:`flex min-w-0 items-start gap-2 rounded-md border border-border/70 bg-background px-3 py-2`,children:[(0,g.jsx)(l.t,{checked:U.includes(e.id),disabled:O||W||e.disabled,onCheckedChange:t=>J(e.id,t)}),(0,g.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,g.jsx)(r.s,{tag:`span`,weight:`medium`,children:e.label}),!!e.description&&(0,g.jsx)(r.s,{tag:`span`,size:`xs`,type:`secondary`,children:e.description})]})]},e.id))})]}),(0,g.jsx)(`div`,{className:`flex justify-end`,children:(0,g.jsxs)(n.t,{type:`button`,variant:`primary`,loading:W,disabled:O||!b||H.trim().length===0,onClick:X,children:[(0,g.jsx)(_.Plus,{className:`size-4`}),j.create]})})]}),(0,g.jsx)(D,{items:i,onDelete:x?Z:void 0})]})}I.displayName=`ApiTokenManager`,exports.ActionList=j,exports.ActionRow=A,exports.ApiKeyList=D,exports.ApiTokenManager=I,exports.CopyableSecretAlert=P,exports.InventoryLevelCard=T,exports.RecentConversationRow=C,exports.RolePermissionCard=S,exports.SensitiveActionCard=M,exports.SettingsToggleRow=w,exports.TeamMemberRow=y,exports.defaultApiKeyListStrings=E,exports.defaultApiTokenManagerStrings=F,exports.defaultCopyableSecretAlertStrings=N;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/components/composed/admin/team-member/team-member.tsx","../../../../src/components/composed/admin/admin.strings.ts","../../../../src/components/composed/admin/role-permission/role-permission.tsx","../../../../src/components/composed/admin/conversation-row/conversation-row.tsx","../../../../src/components/composed/admin/settings-toggle/settings-toggle.tsx","../../../../src/components/composed/admin/inventory-level/inventory-level.tsx","../../../../src/components/composed/admin/api-key-list/api-key-list.strings.ts","../../../../src/components/composed/admin/api-key-list/api-key-list.tsx","../../../../src/components/composed/admin/action-surfaces/index.tsx"],"sourcesContent":["import { Badge } from '@/components/base/badge/badge';\nimport { IconBadge } from '@/components/base/display';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\n\nimport type { TeamMemberRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function TeamMemberRow({ members, className }: TeamMemberRowProps) {\n return (\n <ItemGroup className={cn('team-member--component', className)}>\n {members.map((m) => (\n <Item key={m.name}>\n <ItemMedia>\n <IconBadge tone=\"primary\" solid size=\"default\">\n <Text size=\"xs\" weight=\"semibold\" className=\"text-inherit\">\n {m.initials}\n </Text>\n </IconBadge>\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{m.name}</ItemTitle>\n <ItemDescription clamp={1}>{m.role}</ItemDescription>\n </ItemContent>\n <ItemActions>\n <Badge variant=\"secondary\">{m.dept}</Badge>\n <Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n {m.active}\n </Text>\n </ItemActions>\n </Item>\n ))}\n </ItemGroup>\n );\n}\n\nTeamMemberRow.displayName = 'TeamMemberRow';\n","/**\n * Default user-facing strings for the `composed/admin` family.\n *\n * Consumers wire backend i18n at the call site:\n *\n * <InventoryLevelCard strings={{ statusInStock: t('inv.in_stock') }} … />\n */\n\nexport interface InventoryLevelCardStrings {\n\t/** Status pill label when stock > reorderLevel. */\n\tstatusInStock: string;\n\t/** Status pill label when stock <= reorderLevel and > critical. */\n\tstatusLowStock: string;\n\t/** Status pill label when stock is at or below the critical threshold. */\n\tstatusCritical: string;\n\t/** Inline label preceding the variant value (e.g. \"Variant: Large\"). */\n\tvariantLabel: string;\n\t/** Caption below the stock total (e.g. \"units available\"). */\n\tunitsAvailable: string;\n\t/** Inline label preceding the reorder level (e.g. \"Reorder at:\"). */\n\treorderAtLabel: string;\n\t/** Inline label preceding the last-restocked date (e.g. \"Last restocked:\"). */\n\tlastRestockedLabel: string;\n}\n\nexport const defaultInventoryLevelCardStrings: InventoryLevelCardStrings = {\n\tstatusInStock: 'In Stock',\n\tstatusLowStock: 'Low Stock',\n\tstatusCritical: 'Critical',\n\tvariantLabel: 'Variant',\n\tunitsAvailable: 'units available',\n\treorderAtLabel: 'Reorder at',\n\tlastRestockedLabel: 'Last restocked',\n};\n\nexport interface RolePermissionCardStrings {\n\t/** Edit-role button label. */\n\teditRole: string;\n\t/** Format string for the member-count badge. Receives the count. */\n\tformatMemberCount: (count: number) => string;\n}\n\nexport const defaultRolePermissionCardStrings: RolePermissionCardStrings = {\n\teditRole: 'Edit Role',\n\tformatMemberCount: (count) => `${count} members`,\n};\n","/**\n * RolePermissionCard — admin surface for a role with description, member\n * count badge, grouped permission states (success dot vs muted), and an\n * optional Edit button.\n *\n * Strings overridable via `strings` prop. `strings.formatMemberCount` is a\n * function so consumers can localise pluralisation rules.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\nimport { Pencil } from 'lucide-react';\n\nimport { defaultRolePermissionCardStrings } from '../admin.strings';\nimport type { RolePermissionCardProps } from './types';\n\nexport function RolePermissionCard({\n roleName,\n description,\n memberCount,\n sections,\n onEdit,\n className,\n strings: stringsProp,\n}: RolePermissionCardProps) {\n const strings = useStrings(defaultRolePermissionCardStrings, stringsProp);\n return (\n <SmartCard\n title={roleName}\n description={description}\n headerEnd={memberCount !== undefined && <Badge variant=\"info\">{strings.formatMemberCount(memberCount)}</Badge>}\n className={cn('role-permission--component', className)}\n >\n <div className=\"mt-5 space-y-4\">\n {sections.map((section) => (\n <div key={section.name}>\n <Text size=\"xs\" weight=\"medium\" className=\"uppercase tracking-wider text-muted-foreground\">\n {section.name}\n </Text>\n <div className=\"mt-2 flex flex-wrap gap-2\">\n {section.permissions.map((perm) => (\n <div key={perm.label} className=\"flex items-center gap-1.5\">\n <span className={cn('size-2.5 rounded-full', perm.active ? 'bg-success' : 'bg-muted')} />\n <Text size=\"xs\" className={perm.active ? 'text-foreground' : 'text-muted-foreground'}>\n {perm.label}\n </Text>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n\n {!!onEdit && (\n <Button variant=\"secondary\" buttonStyle=\"ghost\" icon={Pencil} className=\"mt-5\" onClick={onEdit}>\n {strings.editRole}\n </Button>\n )}\n </SmartCard>\n );\n}\n\nRolePermissionCard.displayName = 'RolePermissionCard';\n","import { IconBadge } from '@/components/base/display';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\n\nimport type { RecentConversationRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function RecentConversationRow({ conversations, className }: RecentConversationRowProps) {\n return (\n <ItemGroup className={cn('conversation-row--component', className)}>\n {conversations.map((c) => (\n <Item key={c.name} className=\"cursor-pointer\">\n <ItemMedia>\n <IconBadge tone=\"primary\" size=\"default\">\n <Text size=\"xs\" weight=\"semibold\" className=\"text-inherit\">\n {c.initials}\n </Text>\n </IconBadge>\n </ItemMedia>\n <ItemContent>\n <div className=\"flex items-center justify-between gap-2\">\n <ItemTitle>{c.name}</ItemTitle>\n <Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n {c.time}\n </Text>\n </div>\n <ItemDescription clamp={1}>{c.preview}</ItemDescription>\n </ItemContent>\n {!!c.unread && (\n <ItemActions>\n <IconBadge tone=\"primary\" solid size=\"small\">\n <Text size=\"xxs\" weight=\"bold\" className=\"text-inherit tabular-nums\">\n {c.unread}\n </Text>\n </IconBadge>\n </ItemActions>\n )}\n </Item>\n ))}\n </ItemGroup>\n );\n}\n\nRecentConversationRow.displayName = 'RecentConversationRow';\n","/**\n * SettingsToggleRow — vertically-stacked list of settings with icon, name,\n * description, and a `<Switch>` per row. Controlled when `values`/`onChange`\n * are passed; otherwise self-managed via local state.\n */\nimport { useState } from 'react';\n\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { ToggleSwitch } from '@/components/base/forms/fields/switch';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\n\nimport type { SettingsToggleRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function SettingsToggleRow({ settings, values, onChange, className }: SettingsToggleRowProps) {\n const [internalValues, setInternalValues] = useState<Record<string, boolean>>(() => {\n const defaults: Record<string, boolean> = {};\n for (const s of settings) {\n defaults[s.key] = s.defaultValue ?? false;\n }\n return defaults;\n });\n\n const isControlled = onChange !== undefined;\n const resolvedValues = isControlled && values ? values : internalValues;\n\n const handleToggle = (key: string, next: boolean) => {\n if (isControlled && onChange) {\n onChange(key, next);\n } else {\n setInternalValues((prev) => ({ ...prev, [key]: next }));\n }\n };\n\n return (\n <SmartCard className={cn('settings-toggle--component', className)}>\n <ItemGroup>\n {settings.map((s) => {\n const Icon = s.icon;\n const checked = resolvedValues[s.key] ?? false;\n return (\n <Item key={s.key}>\n <ItemMedia variant=\"icon\" className=\"bg-muted text-muted-foreground rounded-full size-9\">\n <Icon />\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{s.name}</ItemTitle>\n <ItemDescription>{s.desc}</ItemDescription>\n </ItemContent>\n <ItemActions>\n <ToggleSwitch\n aria-label={s.name}\n checked={checked}\n onCheckedChange={(next) => handleToggle(s.key, next)}\n />\n </ItemActions>\n </Item>\n );\n })}\n </ItemGroup>\n </SmartCard>\n );\n}\n\nSettingsToggleRow.displayName = 'SettingsToggleRow';\n","/**\n * InventoryLevelCard — single-product inventory snapshot with stock total,\n * reorder threshold, and a status pill (Critical / Low Stock / In Stock).\n *\n * Status thresholds are computed from `stock`, `reorderLevel`, and the\n * critical threshold (50% of `reorderLevel`). Status pill labels flow via\n * the `strings` prop so consumers can localise without forking the file.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultInventoryLevelCardStrings } from '../admin.strings';\nimport type { InventoryLevelCardProps } from './types';\n\nexport function InventoryLevelCard({\n productName,\n variant,\n stock,\n reorderLevel,\n maxStock,\n lastRestocked,\n className,\n strings: stringsProp,\n}: InventoryLevelCardProps) {\n const strings = useStrings(defaultInventoryLevelCardStrings, stringsProp);\n const pct = Math.round((stock / maxStock) * 100);\n const isLow = stock <= reorderLevel;\n const isCritical = stock <= reorderLevel * 0.5;\n\n const badgeVariant = isCritical ? 'error' : isLow ? 'warning' : 'success';\n const badgeLabel = isCritical\n ? strings.statusCritical\n : isLow\n ? strings.statusLowStock\n : strings.statusInStock;\n\n return (\n <SmartCard className={cn('inventory-level--component', className)}>\n <Item size=\"small\">\n <ItemContent>\n <ItemTitle>{productName}</ItemTitle>\n {!!variant && (\n <ItemDescription clamp={1}>\n {strings.variantLabel}: {variant}\n </ItemDescription>\n )}\n </ItemContent>\n <ItemActions>\n <Badge variant={badgeVariant}>{badgeLabel}</Badge>\n </ItemActions>\n </Item>\n\n <Text size=\"xl\" weight=\"semibold\" className=\"tabular-nums tracking-tight\">{stock}</Text>\n <Text size=\"xs\" type=\"secondary\">\n {strings.unitsAvailable}\n </Text>\n\n <div className=\"mt-4 space-y-2\">\n <div className=\"h-1.5 overflow-hidden rounded-full bg-muted\">\n <div\n className={cn(\n 'h-full rounded-full transition-all',\n isCritical ? 'bg-destructive' : isLow ? 'bg-warning' : 'bg-success',\n )}\n style={{ width: `${pct}%` }}\n />\n </div>\n <div className=\"flex items-center justify-between\">\n <Text size=\"xs\" type=\"secondary\">\n {strings.reorderAtLabel}: <Text tag=\"span\" weight=\"medium\" className=\"tabular-nums\">{reorderLevel}</Text>\n </Text>\n {!!lastRestocked && (\n <Text size=\"xs\" type=\"secondary\">\n {strings.lastRestockedLabel}: {lastRestocked}\n </Text>\n )}\n </div>\n </div>\n </SmartCard>\n );\n}\n\nInventoryLevelCard.displayName = 'InventoryLevelCard';\n","/**\n * Strings for `<ApiKeyList>`. English defaults; deep-merge-overridable.\n */\nexport interface ApiKeyListStrings {\n\ttitle: string;\n\taddAria: string;\n\trowMenuAria: string;\n\tcopyMenuItem: string;\n\tcopiedMenuItem: string;\n\tdeleteMenuItem: string;\n\tcopyToastSuccess: string;\n\tcopyToastError: string;\n\temptyMessage: string;\n}\n\nexport const defaultApiKeyListStrings: ApiKeyListStrings = {\n\ttitle: 'API keys',\n\taddAria: 'Add API key',\n\trowMenuAria: 'Key actions',\n\tcopyMenuItem: 'Copy key',\n\tcopiedMenuItem: 'Copied',\n\tdeleteMenuItem: 'Delete',\n\tcopyToastSuccess: 'Copied to clipboard',\n\tcopyToastError: 'Failed to copy',\n\temptyMessage: 'No keys yet.',\n};\n","/**\n * ApiKeyList — collapsible section listing API keys / credentials with a\n * per-row dropdown menu (Copy / Delete) and an optional add-new action\n * in the header. Generic enough to use for any \"named secret list\":\n * service tokens, webhook URLs, deployment hooks, …\n *\n * Composes:\n * - `base/display/collapsible` (the shadcn-wrapped collapsible shell)\n * - `base/cards/SmartCard` (the surface chrome)\n * - `base/buttons`, `base/badge` (header actions, status pills)\n * - `base/navigation/ActionMenu` (per-row dropdown)\n * - `base/copyable/Copyable` (copy-to-clipboard with toast)\n *\n * Framework-agnostic — every action is callback-driven; the library\n * doesn't fetch, navigate, or render delete confirmations.\n */\nimport { ChevronRight, Copy, Lock, Plus, Trash2 } from 'lucide-react';\nimport { forwardRef, useCallback, useState } from 'react';\nimport { toast } from 'sonner';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards';\nimport {\n\tCollapsible,\n\tCollapsibleContent,\n\tCollapsibleTrigger,\n} from '@/components/base/display/collapsible';\nimport { IconBadge } from '@/components/base/display/icon-badge';\nimport { Item, ItemActions, ItemContent, ItemMedia } from '@/components/base/item';\nimport { ActionMenu, MenuAction } from '@/components/base/navigation/action-menu';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultApiKeyListStrings } from './api-key-list.strings';\nimport type { ApiKeyListItem, ApiKeyListProps } from './api-key-list.types';\n\nexport const ApiKeyList = forwardRef<HTMLDivElement, ApiKeyListProps>(function ApiKeyList({\n\titems,\n\tdefaultOpen = true,\n\topen,\n\tonOpenChange,\n\tonAdd,\n\tonDelete,\n\tonCopy,\n\ttitle,\n\tclassName,\n\tstrings: stringsProp,\n}, ref) {\n\tconst strings = useStrings(defaultApiKeyListStrings, stringsProp);\n\tconst isControlled = open !== undefined;\n\tconst [internalOpen, setInternalOpen] = useState(defaultOpen);\n\tconst expanded = isControlled ? open : internalOpen;\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (!isControlled) setInternalOpen(next);\n\t\t\tonOpenChange?.(next);\n\t\t},\n\t\t[isControlled, onOpenChange],\n\t);\n\n\treturn (\n\t\t<SmartCard ref={ref} className={cn('api-key-list--component', className)}>\n\t\t\t<Collapsible open={expanded} onOpenChange={handleOpenChange}>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<CollapsibleTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\tclassName=\"h-auto flex-1 justify-start gap-2 rounded-sm px-0 py-0 text-left\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronRight\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'size-4 text-muted-foreground transition-transform',\n\t\t\t\t\t\t\t\t\texpanded && 'rotate-90',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">\n\t\t\t\t\t\t\t\t{title ?? strings.title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</CollapsibleTrigger>\n\t\t\t\t\t{!!onAdd && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\tonClick={onAdd}\n\t\t\t\t\t\t\taria-label={strings.addAria}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Plus className=\"size-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<CollapsibleContent className=\"pt-3\">\n\t\t\t\t\t{items.length === 0 ? (\n\t\t\t\t\t\t<Text type=\"secondary\">\n\t\t\t\t\t\t\t{strings.emptyMessage}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"flex flex-col gap-2.5\">\n\t\t\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t\t\t<ApiKeyRow\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\tonDelete={onDelete}\n\t\t\t\t\t\t\t\t\tonCopy={onCopy}\n\t\t\t\t\t\t\t\t\tcopyMenuLabel={strings.copyMenuItem}\n\t\t\t\t\t\t\t\t\tcopiedMenuLabel={strings.copiedMenuItem}\n\t\t\t\t\t\t\t\t\tdeleteMenuLabel={strings.deleteMenuItem}\n\t\t\t\t\t\t\t\t\trowMenuAria={strings.rowMenuAria}\n\t\t\t\t\t\t\t\t\tcopyToastSuccess={strings.copyToastSuccess}\n\t\t\t\t\t\t\t\t\tcopyToastError={strings.copyToastError}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</CollapsibleContent>\n\t\t\t</Collapsible>\n\t\t</SmartCard>\n\t);\n});\n\nApiKeyList.displayName = 'ApiKeyList';\n\ninterface ApiKeyRowProps {\n\titem: ApiKeyListItem;\n\tonDelete?: ApiKeyListProps['onDelete'];\n\tonCopy?: ApiKeyListProps['onCopy'];\n\tcopyMenuLabel: string;\n\tcopiedMenuLabel: string;\n\tdeleteMenuLabel: string;\n\trowMenuAria: string;\n\tcopyToastSuccess: string;\n\tcopyToastError: string;\n}\n\nfunction ApiKeyRow({\n\titem,\n\tonDelete,\n\tonCopy,\n\tcopyMenuLabel,\n\tcopiedMenuLabel,\n\tdeleteMenuLabel,\n\trowMenuAria,\n\tcopyToastSuccess,\n\tcopyToastError,\n}: ApiKeyRowProps) {\n\tconst [copied, setCopied] = useState(false);\n\n\tconst handleCopy = useCallback(async () => {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(item.value);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 1500);\n\t\t\ttoast.success(copyToastSuccess);\n\t\t\tonCopy?.(item.id, item);\n\t\t} catch (err) {\n\t\t\ttoast.error(copyToastError);\n\t\t\tif (import.meta.env?.DEV) {\n\t\t\t\tconsole.warn('[ApiKeyList] copy failed', err);\n\t\t\t}\n\t\t}\n\t}, [item, onCopy, copyToastSuccess, copyToastError]);\n\n\tconst display = item.displayValue ?? item.value;\n\n\treturn (\n\t\t<Item size=\"small\" data-slot=\"api-key-row\" className=\"flex-nowrap\">\n\t\t\t<ItemMedia variant=\"icon\">\n\t\t\t\t<IconBadge\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tshape=\"square\"\n\t\t\t\t\ttone=\"muted\"\n\t\t\t\t\tbordered\n\t\t\t\t\tclassName=\"text-success\"\n\t\t\t\t>\n\t\t\t\t\t{item.icon ?? <Lock className=\"size-3.5\" />}\n\t\t\t\t</IconBadge>\n\t\t\t</ItemMedia>\n\t\t\t<ItemContent className=\"min-w-0 flex-row items-center gap-2.5\">\n\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className=\"w-20 shrink-0 truncate sm:w-24\">\n\t\t\t\t\t{item.name}\n\t\t\t\t</Text>\n\t\t\t\t<span className=\"min-w-0 flex-1 truncate rounded-sm bg-muted px-2 py-1 font-mono text-xs\">\n\t\t\t\t\t{display}\n\t\t\t\t</span>\n\t\t\t</ItemContent>\n\t\t\t<ItemActions className=\"shrink-0\">\n\t\t\t\t<ActionMenu\n\t\t\t\t\tsrText={rowMenuAria}\n\t\t\t\t\talign=\"end\"\n\t\t\t\t\tcloseOnSelect\n\t\t\t\t\tbuttonProps={{ buttonStyle: 'ghost', variant: 'secondary' }}\n\t\t\t\t>\n\t\t\t\t\t<MenuAction\n\t\t\t\t\t\tlabel={copied ? copiedMenuLabel : copyMenuLabel}\n\t\t\t\t\t\ticon={Copy}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tvoid handleCopy();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t/>\n\t\t\t\t\t{!!onDelete && (\n\t\t\t\t\t\t<MenuAction\n\t\t\t\t\t\t\tlabel={deleteMenuLabel}\n\t\t\t\t\t\t\ticon={Trash2}\n\t\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t\t\tonClick={() => onDelete(item.id, item)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</ActionMenu>\n\t\t\t</ItemActions>\n\t\t</Item>\n\t);\n}\n\nApiKeyRow.displayName = 'ApiKeyRow';\n","import {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\ttype ReactNode } from 'react';\nimport { KeyRound,\n\tPlus,\n\tShieldAlert,\n\tTrash2,\n\ttype LucideIcon } from 'lucide-react';\n\nimport { Button,\n\ttype ButtonProps } from '@/components/base/buttons';\nimport { SmartCard,\n\ttype CardPadding,\n\ttype SmartCardSurface } from '@/components/base/cards';\nimport { Copyable } from '@/components/base/copyable';\nimport {\n\tAlert,\n\tAlertAction,\n\tAlertDescription,\n\tAlertTitle,\n\tIconBadge,\n} from '@/components/base/display';\nimport { Checkbox, FormField, Input } from '@/components/base/forms';\nimport { Item, ItemActions, ItemContent, ItemDescription, ItemMedia, ItemTitle } from '@/components/base/item';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { ApiKeyList, type ApiKeyListItem } from '../api-key-list';\n\nexport interface ActionRowAction extends Omit<ButtonProps, 'children'> {\n\tlabel: ReactNode;\n\ticon?: LucideIcon;\n}\n\nexport interface ActionRowProps {\n\ticon?: LucideIcon;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tprimaryAction?: ActionRowAction;\n\tsecondaryAction?: ActionRowAction;\n\tactions?: ReactNode;\n\tdisabled?: boolean;\n\tclassName?: string;\n}\n\nfunction renderAction(action: ActionRowAction | undefined, fallbackVariant: ButtonProps['variant']) {\n\tif (!action) return null;\n\tconst { label, icon: Icon, variant = fallbackVariant, ...buttonProps } = action;\n\n\treturn (\n\t\t<Button {...buttonProps} variant={variant}>\n\t\t\t{!!Icon && <Icon className=\"size-4\" />}\n\t\t\t{label}\n\t\t</Button>\n\t);\n}\n\nexport function ActionRow({\n\ticon: Icon,\n\ttitle,\n\tdescription,\n\tprimaryAction,\n\tsecondaryAction,\n\tactions,\n\tdisabled = false,\n\tclassName,\n}: ActionRowProps) {\n\treturn (\n\t\t<Item\n\t\t\tdata-component=\"action-row\"\n\t\t\tdata-slot=\"action-row\"\n\t\t\tclassName={cn('action-row--component', disabled && 'opacity-60', className)}\n\t\t>\n\t\t\t{!!Icon && (\n\t\t\t\t<ItemMedia variant=\"icon\">\n\t\t\t\t\t<IconBadge icon={Icon} tone=\"muted\" shape=\"square\" size=\"default\" />\n\t\t\t\t</ItemMedia>\n\t\t\t)}\n\t\t\t<ItemContent>\n\t\t\t\t<ItemTitle>{title}</ItemTitle>\n\t\t\t\t{!!description && <ItemDescription>{description}</ItemDescription>}\n\t\t\t</ItemContent>\n\t\t\t<ItemActions className=\"flex-wrap justify-end\">\n\t\t\t\t{actions ?? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{renderAction(secondaryAction, 'secondary')}\n\t\t\t\t\t\t{renderAction(primaryAction, 'primary')}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</ItemActions>\n\t\t</Item>\n\t);\n}\n\nexport interface ActionListProps {\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\tactions?: ReactNode;\n\tchildren?: ReactNode;\n\trows?: readonly ActionRowProps[];\n\tpadding?: CardPadding;\n\tsurface?: SmartCardSurface;\n\tclassName?: string;\n\tcontentClassName?: string;\n}\n\nexport function ActionList({\n\ttitle,\n\tdescription,\n\tactions,\n\tchildren,\n\trows,\n\tpadding = 'default',\n\tsurface = 'card',\n\tclassName,\n\tcontentClassName,\n}: ActionListProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"action-list\"\n\t\t\tdata-slot=\"action-list\"\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\theaderAction={actions}\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn('action-list--component', className)}\n\t\t\tcontentClassName={cn('action-list--content grid gap-2', contentClassName)}\n\t\t>\n\t\t\t{rows?.map((row, index) => (\n\t\t\t\t<ActionRow key={index} {...row} />\n\t\t\t))}\n\t\t\t{children}\n\t\t</SmartCard>\n\t);\n}\n\nexport interface SensitiveActionCardProps {\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tconfirmation?: ReactNode;\n\taction?: ReactNode;\n\ticon?: LucideIcon;\n\tpadding?: CardPadding;\n\tsurface?: SmartCardSurface;\n\tclassName?: string;\n}\n\nexport function SensitiveActionCard({\n\ttitle,\n\tdescription,\n\tconfirmation,\n\taction,\n\ticon: Icon = ShieldAlert,\n\tpadding = 'default',\n\tsurface = 'card',\n\tclassName,\n}: SensitiveActionCardProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"sensitive-action-card\"\n\t\t\tdata-slot=\"sensitive-action-card\"\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn('sensitive-action-card--component border-destructive/30', className)}\n\t\t\tcontentClassName=\"sensitive-action-card--content grid gap-3\"\n\t\t>\n\t\t\t<div className=\"flex min-w-0 items-start gap-3\">\n\t\t\t\t<IconBadge icon={Icon} tone=\"destructive\" shape=\"square\" size=\"default\" />\n\t\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t\t<Text weight=\"semibold\">{title}</Text>\n\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{!!action && <div className=\"shrink-0\">{action}</div>}\n\t\t\t</div>\n\t\t\t{!!confirmation && (\n\t\t\t\t<Alert variant=\"destructive\" role=\"note\" className=\"sensitive-action-card--confirmation\">\n\t\t\t\t\t<AlertDescription>{confirmation}</AlertDescription>\n\t\t\t\t</Alert>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nexport interface CopyableSecretAlertStrings {\n\ttitle: string;\n\tdescription: string;\n\tcopySuccess: string;\n}\n\nexport const defaultCopyableSecretAlertStrings: CopyableSecretAlertStrings = {\n\ttitle: 'Secret created',\n\tdescription: 'Copy this value now. It may not be shown again.',\n\tcopySuccess: 'Secret copied',\n};\n\nexport interface CopyableSecretAlertProps {\n\tvalue: string;\n\tdisplayValue?: ReactNode;\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\taction?: ReactNode;\n\tclassName?: string;\n\tstrings?: StringsProp<CopyableSecretAlertStrings>;\n}\n\nexport function CopyableSecretAlert({\n\tvalue,\n\tdisplayValue,\n\ttitle,\n\tdescription,\n\taction,\n\tclassName,\n\tstrings: stringsProp,\n}: CopyableSecretAlertProps) {\n\tconst strings = useStrings(defaultCopyableSecretAlertStrings, stringsProp);\n\n\treturn (\n\t\t<Alert\n\t\t\tdata-component=\"copyable-secret-alert\"\n\t\t\tdata-slot=\"copyable-secret-alert\"\n\t\t\tvariant=\"success\"\n\t\t\tclassName={cn('copyable-secret-alert--component', className)}\n\t\t>\n\t\t\t<KeyRound className=\"size-4\" />\n\t\t\t<AlertTitle>{title ?? strings.title}</AlertTitle>\n\t\t\t<AlertDescription>\n\t\t\t\t<span className=\"grid gap-2\">\n\t\t\t\t\t<span>{description ?? strings.description}</span>\n\t\t\t\t\t<Copyable\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisplayValue={displayValue ?? value}\n\t\t\t\t\t\tmono\n\t\t\t\t\t\ttruncate\n\t\t\t\t\t\tclassName=\"copyable-secret-alert--value max-w-full rounded-md bg-background px-2 py-1\"\n\t\t\t\t\t\tsuccessMessage={strings.copySuccess}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t</AlertDescription>\n\t\t\t{!!action && <AlertAction>{action}</AlertAction>}\n\t\t</Alert>\n\t);\n}\n\nexport interface ApiTokenAbility {\n\tid: string;\n\tlabel: ReactNode;\n\tdescription?: ReactNode;\n\tdisabled?: boolean;\n}\n\nexport interface ApiTokenCreatedToken {\n\tvalue: string;\n\tdisplayValue?: ReactNode;\n\tname?: ReactNode;\n}\n\nexport interface ApiTokenCreateValues {\n\tname: string;\n\tabilities: string[];\n}\n\nexport interface ApiTokenManagerStrings {\n\ttitle: string;\n\tdescription: string;\n\tnameLabel: string;\n\tnamePlaceholder: string;\n\tabilitiesLabel: string;\n\tcreate: string;\n\trevokeAll: string;\n\tcreatedTitle: string;\n\tcreatedDescription: string;\n}\n\nexport const defaultApiTokenManagerStrings: ApiTokenManagerStrings = {\n\ttitle: 'API tokens',\n\tdescription: 'Create and revoke access tokens.',\n\tnameLabel: 'Token name',\n\tnamePlaceholder: 'Production deploy key',\n\tabilitiesLabel: 'Abilities',\n\tcreate: 'Create token',\n\trevokeAll: 'Revoke all',\n\tcreatedTitle: 'Token created',\n\tcreatedDescription: 'Copy this token now. It will not be shown again.',\n};\n\nexport interface ApiTokenManagerProps {\n\ttokens: ApiKeyListItem[];\n\tabilities?: readonly ApiTokenAbility[];\n\tcreatedToken?: ApiTokenCreatedToken | null;\n\tname?: string;\n\tdefaultName?: string;\n\tonNameChange?: (name: string) => void;\n\tselectedAbilities?: readonly string[];\n\tdefaultSelectedAbilities?: readonly string[];\n\tonSelectedAbilitiesChange?: (abilities: string[]) => void;\n\tonCreateToken?: (values: ApiTokenCreateValues) => void | Promise<void>;\n\tonRevokeToken?: (id: string, token: ApiKeyListItem) => void | Promise<void>;\n\tonRevokeAllTokens?: () => void | Promise<void>;\n\tonAfterMutate?: (event: { type: 'create' | 'revoke' | 'revoke-all'; payload?: unknown }) => void;\n\tonError?: (error: unknown, context: { phase: 'create' | 'revoke' | 'revoke-all' }) => void;\n\tisCreating?: boolean;\n\tisRevokingAll?: boolean;\n\tdisabled?: boolean;\n\tclassName?: string;\n\tstrings?: StringsProp<ApiTokenManagerStrings>;\n}\n\nexport function ApiTokenManager({\n\ttokens,\n\tabilities = [],\n\tcreatedToken,\n\tname,\n\tdefaultName = '',\n\tonNameChange,\n\tselectedAbilities,\n\tdefaultSelectedAbilities = [],\n\tonSelectedAbilitiesChange,\n\tonCreateToken,\n\tonRevokeToken,\n\tonRevokeAllTokens,\n\tonAfterMutate,\n\tonError,\n\tisCreating = false,\n\tisRevokingAll = false,\n\tdisabled = false,\n\tclassName,\n\tstrings: stringsProp,\n}: ApiTokenManagerProps) {\n\tconst strings = useStrings(defaultApiTokenManagerStrings, stringsProp);\n\tconst isNameControlled = name !== undefined;\n\tconst isAbilitiesControlled = selectedAbilities !== undefined;\n\tconst [internalName, setInternalName] = useState(defaultName);\n\tconst [internalAbilities, setInternalAbilities] = useState<string[]>([...defaultSelectedAbilities]);\n\tconst [pendingPhase, setPendingPhase] = useState<'create' | 'revoke' | 'revoke-all' | null>(null);\n\tconst resolvedName = isNameControlled ? name : internalName;\n\tconst resolvedAbilities = useMemo(\n\t\t() => isAbilitiesControlled ? [...selectedAbilities] : internalAbilities,\n\t\t[internalAbilities, isAbilitiesControlled, selectedAbilities],\n\t);\n\tconst creating = isCreating || pendingPhase === 'create';\n\tconst revokingAll = isRevokingAll || pendingPhase === 'revoke-all';\n\n\tconst setName = useCallback(\n\t\t(nextName: string) => {\n\t\t\tif (!isNameControlled) setInternalName(nextName);\n\t\t\tonNameChange?.(nextName);\n\t\t},\n\t\t[isNameControlled, onNameChange],\n\t);\n\n\tconst setAbilities = useCallback(\n\t\t(nextAbilities: string[]) => {\n\t\t\tif (!isAbilitiesControlled) setInternalAbilities(nextAbilities);\n\t\t\tonSelectedAbilitiesChange?.(nextAbilities);\n\t\t},\n\t\t[isAbilitiesControlled, onSelectedAbilitiesChange],\n\t);\n\n\tconst toggleAbility = useCallback(\n\t\t(abilityId: string, checked: boolean | 'indeterminate') => {\n\t\t\tconst nextChecked = checked === true;\n\t\t\tconst next = nextChecked\n\t\t\t\t? Array.from(new Set([...resolvedAbilities, abilityId]))\n\t\t\t\t: resolvedAbilities.filter((id) => id !== abilityId);\n\t\t\tsetAbilities(next);\n\t\t},\n\t\t[resolvedAbilities, setAbilities],\n\t);\n\n\tconst runMutation = useCallback(\n\t\tasync (\n\t\t\tphase: 'create' | 'revoke' | 'revoke-all',\n\t\t\ttask: () => void | Promise<void>,\n\t\t\tpayload?: unknown,\n\t\t) => {\n\t\t\tsetPendingPhase(phase);\n\t\t\ttry {\n\t\t\t\tawait task();\n\t\t\t\tonAfterMutate?.({ type: phase, payload });\n\t\t\t} catch (error) {\n\t\t\t\tif (import.meta.env?.DEV) {\n\t\t\t\t\tconsole.warn(`[ApiTokenManager] ${phase} failed`, error);\n\t\t\t\t}\n\t\t\t\tonError?.(error, { phase });\n\t\t\t} finally {\n\t\t\t\tsetPendingPhase(null);\n\t\t\t}\n\t\t},\n\t\t[onAfterMutate, onError],\n\t);\n\n\tconst handleCreate = useCallback(() => {\n\t\tif (!onCreateToken) return;\n\t\tconst values = { name: resolvedName, abilities: resolvedAbilities };\n\t\tvoid runMutation('create', () => onCreateToken(values), values);\n\t}, [onCreateToken, resolvedAbilities, resolvedName, runMutation]);\n\n\tconst handleRevoke = useCallback(\n\t\t(id: string, token: ApiKeyListItem) => {\n\t\t\tif (!onRevokeToken) return;\n\t\t\tvoid runMutation('revoke', () => onRevokeToken(id, token), token);\n\t\t},\n\t\t[onRevokeToken, runMutation],\n\t);\n\n\tconst handleRevokeAll = useCallback(() => {\n\t\tif (!onRevokeAllTokens) return;\n\t\tvoid runMutation('revoke-all', onRevokeAllTokens);\n\t}, [onRevokeAllTokens, runMutation]);\n\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"api-token-manager\"\n\t\t\tdata-slot=\"api-token-manager\"\n\t\t\ttitle={strings.title}\n\t\t\tdescription={strings.description}\n\t\t\theaderAction={onRevokeAllTokens ? (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\tloading={revokingAll}\n\t\t\t\t\tdisabled={disabled || tokens.length === 0}\n\t\t\t\t\tonClick={handleRevokeAll}\n\t\t\t\t>\n\t\t\t\t\t<Trash2 className=\"size-4\" />\n\t\t\t\t\t{strings.revokeAll}\n\t\t\t\t</Button>\n\t\t\t) : undefined}\n\t\t\tclassName={cn('api-token-manager--component', className)}\n\t\t\tcontentClassName=\"api-token-manager--content grid gap-4\"\n\t\t>\n\t\t\t{!!createdToken && (\n\t\t\t\t<CopyableSecretAlert\n\t\t\t\t\tvalue={createdToken.value}\n\t\t\t\t\tdisplayValue={createdToken.displayValue}\n\t\t\t\t\ttitle={createdToken.name ?? strings.createdTitle}\n\t\t\t\t\tdescription={strings.createdDescription}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<div className=\"api-token-manager--form grid gap-3 rounded-lg border border-border/70 bg-muted/20 p-3\">\n\t\t\t\t<FormField label={strings.nameLabel}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={resolvedName}\n\t\t\t\t\t\tplaceholder={strings.namePlaceholder}\n\t\t\t\t\t\tonChange={(event) => setName(event.currentTarget.value)}\n\t\t\t\t\t\tdisabled={disabled || creating}\n\t\t\t\t\t/>\n\t\t\t\t</FormField>\n\n\t\t\t\t{abilities.length > 0 && (\n\t\t\t\t\t<div className=\"api-token-manager--abilities grid gap-2\">\n\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\">{strings.abilitiesLabel}</Text>\n\t\t\t\t\t\t<div className=\"grid gap-2 sm:grid-cols-2\">\n\t\t\t\t\t\t\t{abilities.map((ability) => {\n\t\t\t\t\t\t\t\tconst checked = resolvedAbilities.includes(ability.id);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tkey={ability.id}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex min-w-0 items-start gap-2 rounded-md border border-border/70 bg-background px-3 py-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled || creating || ability.disabled}\n\t\t\t\t\t\t\t\t\t\t\tonCheckedChange={(next) => toggleAbility(ability.id, next)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span className=\"grid min-w-0 gap-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"medium\">{ability.label}</Text>\n\t\t\t\t\t\t\t\t\t\t\t{!!ability.description && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">{ability.description}</Text>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"flex justify-end\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tloading={creating}\n\t\t\t\t\t\tdisabled={disabled || !onCreateToken || resolvedName.trim().length === 0}\n\t\t\t\t\t\tonClick={handleCreate}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Plus className=\"size-4\" />\n\t\t\t\t\t\t{strings.create}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<ApiKeyList\n\t\t\t\titems={tokens}\n\t\t\t\tonDelete={onRevokeToken ? handleRevoke : undefined}\n\t\t\t/>\n\t\t</SmartCard>\n\t);\n}\n\nApiTokenManager.displayName = 'ApiTokenManager';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/components/composed/admin/team-member/team-member.tsx","../../../../src/components/composed/admin/admin.strings.ts","../../../../src/components/composed/admin/role-permission/role-permission.tsx","../../../../src/components/composed/admin/conversation-row/conversation-row.tsx","../../../../src/components/composed/admin/settings-toggle/settings-toggle.tsx","../../../../src/components/composed/admin/inventory-level/inventory-level.tsx","../../../../src/components/composed/admin/api-key-list/api-key-list.strings.ts","../../../../src/components/composed/admin/api-key-list/api-key-list.tsx","../../../../src/components/composed/admin/action-surfaces/index.tsx"],"sourcesContent":["import { Badge } from '@/components/base/badge/badge';\nimport { IconBadge } from '@/components/base/display';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\n\nimport type { TeamMemberRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function TeamMemberRow({ members, className }: TeamMemberRowProps) {\n return (\n <ItemGroup className={cn('team-member--component', className)}>\n {members.map((m) => (\n <Item key={m.name}>\n <ItemMedia>\n <IconBadge tone=\"primary\" solid size=\"default\">\n <Text size=\"xs\" weight=\"semibold\" className=\"text-inherit\">\n {m.initials}\n </Text>\n </IconBadge>\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{m.name}</ItemTitle>\n <ItemDescription clamp={1}>{m.role}</ItemDescription>\n </ItemContent>\n <ItemActions>\n <Badge variant=\"secondary\">{m.dept}</Badge>\n <Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n {m.active}\n </Text>\n </ItemActions>\n </Item>\n ))}\n </ItemGroup>\n );\n}\n\nTeamMemberRow.displayName = 'TeamMemberRow';\n","/**\n * Default user-facing strings for the `composed/admin` family.\n *\n * Consumers wire backend i18n at the call site:\n *\n * <InventoryLevelCard strings={{ statusInStock: t('inv.in_stock') }} … />\n */\n\nexport interface InventoryLevelCardStrings {\n\t/** Status pill label when stock > reorderLevel. */\n\tstatusInStock: string;\n\t/** Status pill label when stock <= reorderLevel and > critical. */\n\tstatusLowStock: string;\n\t/** Status pill label when stock is at or below the critical threshold. */\n\tstatusCritical: string;\n\t/** Inline label preceding the variant value (e.g. \"Variant: Large\"). */\n\tvariantLabel: string;\n\t/** Caption below the stock total (e.g. \"units available\"). */\n\tunitsAvailable: string;\n\t/** Inline label preceding the reorder level (e.g. \"Reorder at:\"). */\n\treorderAtLabel: string;\n\t/** Inline label preceding the last-restocked date (e.g. \"Last restocked:\"). */\n\tlastRestockedLabel: string;\n}\n\nexport const defaultInventoryLevelCardStrings: InventoryLevelCardStrings = {\n\tstatusInStock: 'In Stock',\n\tstatusLowStock: 'Low Stock',\n\tstatusCritical: 'Critical',\n\tvariantLabel: 'Variant',\n\tunitsAvailable: 'units available',\n\treorderAtLabel: 'Reorder at',\n\tlastRestockedLabel: 'Last restocked',\n};\n\nexport interface RolePermissionCardStrings {\n\t/** Edit-role button label. */\n\teditRole: string;\n\t/** Format string for the member-count badge. Receives the count. */\n\tformatMemberCount: (count: number) => string;\n}\n\nexport const defaultRolePermissionCardStrings: RolePermissionCardStrings = {\n\teditRole: 'Edit Role',\n\tformatMemberCount: (count) => `${count} members`,\n};\n","/**\n * RolePermissionCard — admin surface for a role with description, member\n * count badge, grouped permission states (success dot vs muted), and an\n * optional Edit button.\n *\n * Strings overridable via `strings` prop. `strings.formatMemberCount` is a\n * function so consumers can localise pluralisation rules.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\nimport { Pencil } from 'lucide-react';\n\nimport { defaultRolePermissionCardStrings } from '../admin.strings';\nimport type { RolePermissionCardProps } from './types';\n\nexport function RolePermissionCard({\n roleName,\n description,\n memberCount,\n sections,\n onEdit,\n className,\n strings: stringsProp,\n}: RolePermissionCardProps) {\n const strings = useStrings(defaultRolePermissionCardStrings, stringsProp);\n return (\n <SmartCard\n title={roleName}\n description={description}\n headerEnd={memberCount !== undefined && <Badge variant=\"info\">{strings.formatMemberCount(memberCount)}</Badge>}\n className={cn('role-permission--component', className)}\n >\n <div className=\"mt-5 space-y-4\">\n {sections.map((section) => (\n <div key={section.name}>\n <Text size=\"xs\" weight=\"medium\" className=\"uppercase tracking-wider text-muted-foreground\">\n {section.name}\n </Text>\n <div className=\"mt-2 flex flex-wrap gap-2\">\n {section.permissions.map((perm) => (\n <div key={perm.label} className=\"flex items-center gap-1.5\">\n <span className={cn('size-2.5 rounded-full', perm.active ? 'bg-success' : 'bg-muted')} />\n <Text size=\"xs\" className={perm.active ? 'text-foreground' : 'text-muted-foreground'}>\n {perm.label}\n </Text>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n\n {!!onEdit && (\n <Button variant=\"secondary\" buttonStyle=\"ghost\" icon={Pencil} className=\"mt-5\" onClick={onEdit}>\n {strings.editRole}\n </Button>\n )}\n </SmartCard>\n );\n}\n\nRolePermissionCard.displayName = 'RolePermissionCard';\n","import { IconBadge } from '@/components/base/display';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\n\nimport type { RecentConversationRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function RecentConversationRow({ conversations, className }: RecentConversationRowProps) {\n return (\n <ItemGroup className={cn('conversation-row--component', className)}>\n {conversations.map((c) => (\n <Item key={c.name} className=\"cursor-pointer\">\n <ItemMedia>\n <IconBadge tone=\"primary\" size=\"default\">\n <Text size=\"xs\" weight=\"semibold\" className=\"text-inherit\">\n {c.initials}\n </Text>\n </IconBadge>\n </ItemMedia>\n <ItemContent>\n <div className=\"flex items-center justify-between gap-2\">\n <ItemTitle>{c.name}</ItemTitle>\n <Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n {c.time}\n </Text>\n </div>\n <ItemDescription clamp={1}>{c.preview}</ItemDescription>\n </ItemContent>\n {!!c.unread && (\n <ItemActions>\n <IconBadge tone=\"primary\" solid size=\"small\">\n <Text size=\"xs\" weight=\"bold\" className=\"text-inherit tabular-nums\">\n {c.unread}\n </Text>\n </IconBadge>\n </ItemActions>\n )}\n </Item>\n ))}\n </ItemGroup>\n );\n}\n\nRecentConversationRow.displayName = 'RecentConversationRow';\n","/**\n * SettingsToggleRow — vertically-stacked list of settings with icon, name,\n * description, and a `<Switch>` per row. Controlled when `values`/`onChange`\n * are passed; otherwise self-managed via local state.\n */\nimport { useState } from 'react';\n\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { ToggleSwitch } from '@/components/base/forms/fields/switch';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\n\nimport type { SettingsToggleRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function SettingsToggleRow({ settings, values, onChange, className }: SettingsToggleRowProps) {\n const [internalValues, setInternalValues] = useState<Record<string, boolean>>(() => {\n const defaults: Record<string, boolean> = {};\n for (const s of settings) {\n defaults[s.key] = s.defaultValue ?? false;\n }\n return defaults;\n });\n\n const isControlled = onChange !== undefined;\n const resolvedValues = isControlled && values ? values : internalValues;\n\n const handleToggle = (key: string, next: boolean) => {\n if (isControlled && onChange) {\n onChange(key, next);\n } else {\n setInternalValues((prev) => ({ ...prev, [key]: next }));\n }\n };\n\n return (\n <SmartCard className={cn('settings-toggle--component', className)}>\n <ItemGroup>\n {settings.map((s) => {\n const Icon = s.icon;\n const checked = resolvedValues[s.key] ?? false;\n return (\n <Item key={s.key}>\n <ItemMedia variant=\"icon\" className=\"bg-muted text-muted-foreground rounded-full size-9\">\n <Icon />\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{s.name}</ItemTitle>\n <ItemDescription>{s.desc}</ItemDescription>\n </ItemContent>\n <ItemActions>\n <ToggleSwitch\n aria-label={s.name}\n checked={checked}\n onCheckedChange={(next) => handleToggle(s.key, next)}\n />\n </ItemActions>\n </Item>\n );\n })}\n </ItemGroup>\n </SmartCard>\n );\n}\n\nSettingsToggleRow.displayName = 'SettingsToggleRow';\n","/**\n * InventoryLevelCard — single-product inventory snapshot with stock total,\n * reorder threshold, and a status pill (Critical / Low Stock / In Stock).\n *\n * Status thresholds are computed from `stock`, `reorderLevel`, and the\n * critical threshold (50% of `reorderLevel`). Status pill labels flow via\n * the `strings` prop so consumers can localise without forking the file.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultInventoryLevelCardStrings } from '../admin.strings';\nimport type { InventoryLevelCardProps } from './types';\n\nexport function InventoryLevelCard({\n productName,\n variant,\n stock,\n reorderLevel,\n maxStock,\n lastRestocked,\n className,\n strings: stringsProp,\n}: InventoryLevelCardProps) {\n const strings = useStrings(defaultInventoryLevelCardStrings, stringsProp);\n const pct = Math.round((stock / maxStock) * 100);\n const isLow = stock <= reorderLevel;\n const isCritical = stock <= reorderLevel * 0.5;\n\n const badgeVariant = isCritical ? 'error' : isLow ? 'warning' : 'success';\n const badgeLabel = isCritical\n ? strings.statusCritical\n : isLow\n ? strings.statusLowStock\n : strings.statusInStock;\n\n return (\n <SmartCard className={cn('inventory-level--component', className)}>\n <Item size=\"small\">\n <ItemContent>\n <ItemTitle>{productName}</ItemTitle>\n {!!variant && (\n <ItemDescription clamp={1}>\n {strings.variantLabel}: {variant}\n </ItemDescription>\n )}\n </ItemContent>\n <ItemActions>\n <Badge variant={badgeVariant}>{badgeLabel}</Badge>\n </ItemActions>\n </Item>\n\n <Text size=\"base\" weight=\"semibold\" className=\"tabular-nums tracking-tight\">{stock}</Text>\n <Text size=\"xs\" type=\"secondary\">\n {strings.unitsAvailable}\n </Text>\n\n <div className=\"mt-4 space-y-2\">\n <div className=\"h-1.5 overflow-hidden rounded-full bg-muted\">\n <div\n className={cn(\n 'h-full rounded-full transition-all',\n isCritical ? 'bg-destructive' : isLow ? 'bg-warning' : 'bg-success',\n )}\n style={{ width: `${pct}%` }}\n />\n </div>\n <div className=\"flex items-center justify-between\">\n <Text size=\"xs\" type=\"secondary\">\n {strings.reorderAtLabel}: <Text tag=\"span\" weight=\"medium\" className=\"tabular-nums\">{reorderLevel}</Text>\n </Text>\n {!!lastRestocked && (\n <Text size=\"xs\" type=\"secondary\">\n {strings.lastRestockedLabel}: {lastRestocked}\n </Text>\n )}\n </div>\n </div>\n </SmartCard>\n );\n}\n\nInventoryLevelCard.displayName = 'InventoryLevelCard';\n","/**\n * Strings for `<ApiKeyList>`. English defaults; deep-merge-overridable.\n */\nexport interface ApiKeyListStrings {\n\ttitle: string;\n\taddAria: string;\n\trowMenuAria: string;\n\tcopyMenuItem: string;\n\tcopiedMenuItem: string;\n\tdeleteMenuItem: string;\n\tcopyToastSuccess: string;\n\tcopyToastError: string;\n\temptyMessage: string;\n}\n\nexport const defaultApiKeyListStrings: ApiKeyListStrings = {\n\ttitle: 'API keys',\n\taddAria: 'Add API key',\n\trowMenuAria: 'Key actions',\n\tcopyMenuItem: 'Copy key',\n\tcopiedMenuItem: 'Copied',\n\tdeleteMenuItem: 'Delete',\n\tcopyToastSuccess: 'Copied to clipboard',\n\tcopyToastError: 'Failed to copy',\n\temptyMessage: 'No keys yet.',\n};\n","/**\n * ApiKeyList — collapsible section listing API keys / credentials with a\n * per-row dropdown menu (Copy / Delete) and an optional add-new action\n * in the header. Generic enough to use for any \"named secret list\":\n * service tokens, webhook URLs, deployment hooks, …\n *\n * Composes:\n * - `base/display/collapsible` (the shadcn-wrapped collapsible shell)\n * - `base/cards/SmartCard` (the surface chrome)\n * - `base/buttons`, `base/badge` (header actions, status pills)\n * - `base/navigation/ActionMenu` (per-row dropdown)\n * - `base/copyable/Copyable` (copy-to-clipboard with toast)\n *\n * Framework-agnostic — every action is callback-driven; the library\n * doesn't fetch, navigate, or render delete confirmations.\n */\nimport { ChevronRight, Copy, Lock, Plus, Trash2 } from 'lucide-react';\nimport { forwardRef, useCallback, useState } from 'react';\nimport { toast } from 'sonner';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards';\nimport {\n\tCollapsible,\n\tCollapsibleContent,\n\tCollapsibleTrigger,\n} from '@/components/base/display/collapsible';\nimport { IconBadge } from '@/components/base/display/icon-badge';\nimport { Item, ItemActions, ItemContent, ItemMedia } from '@/components/base/item';\nimport { ActionMenu, MenuAction } from '@/components/base/navigation/action-menu';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultApiKeyListStrings } from './api-key-list.strings';\nimport type { ApiKeyListItem, ApiKeyListProps } from './api-key-list.types';\n\nexport const ApiKeyList = forwardRef<HTMLDivElement, ApiKeyListProps>(function ApiKeyList({\n\titems,\n\tdefaultOpen = true,\n\topen,\n\tonOpenChange,\n\tonAdd,\n\tonDelete,\n\tonCopy,\n\ttitle,\n\tclassName,\n\tstrings: stringsProp,\n}, ref) {\n\tconst strings = useStrings(defaultApiKeyListStrings, stringsProp);\n\tconst isControlled = open !== undefined;\n\tconst [internalOpen, setInternalOpen] = useState(defaultOpen);\n\tconst expanded = isControlled ? open : internalOpen;\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (!isControlled) setInternalOpen(next);\n\t\t\tonOpenChange?.(next);\n\t\t},\n\t\t[isControlled, onOpenChange],\n\t);\n\n\treturn (\n\t\t<SmartCard ref={ref} className={cn('api-key-list--component', className)}>\n\t\t\t<Collapsible open={expanded} onOpenChange={handleOpenChange}>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<CollapsibleTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\tclassName=\"h-auto flex-1 justify-start gap-2 rounded-sm px-0 py-0 text-left\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronRight\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'size-4 text-muted-foreground transition-transform',\n\t\t\t\t\t\t\t\t\texpanded && 'rotate-90',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">\n\t\t\t\t\t\t\t\t{title ?? strings.title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</CollapsibleTrigger>\n\t\t\t\t\t{!!onAdd && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\tonClick={onAdd}\n\t\t\t\t\t\t\taria-label={strings.addAria}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Plus className=\"size-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<CollapsibleContent className=\"pt-3\">\n\t\t\t\t\t{items.length === 0 ? (\n\t\t\t\t\t\t<Text type=\"secondary\">\n\t\t\t\t\t\t\t{strings.emptyMessage}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"flex flex-col gap-2.5\">\n\t\t\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t\t\t<ApiKeyRow\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\tonDelete={onDelete}\n\t\t\t\t\t\t\t\t\tonCopy={onCopy}\n\t\t\t\t\t\t\t\t\tcopyMenuLabel={strings.copyMenuItem}\n\t\t\t\t\t\t\t\t\tcopiedMenuLabel={strings.copiedMenuItem}\n\t\t\t\t\t\t\t\t\tdeleteMenuLabel={strings.deleteMenuItem}\n\t\t\t\t\t\t\t\t\trowMenuAria={strings.rowMenuAria}\n\t\t\t\t\t\t\t\t\tcopyToastSuccess={strings.copyToastSuccess}\n\t\t\t\t\t\t\t\t\tcopyToastError={strings.copyToastError}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</CollapsibleContent>\n\t\t\t</Collapsible>\n\t\t</SmartCard>\n\t);\n});\n\nApiKeyList.displayName = 'ApiKeyList';\n\ninterface ApiKeyRowProps {\n\titem: ApiKeyListItem;\n\tonDelete?: ApiKeyListProps['onDelete'];\n\tonCopy?: ApiKeyListProps['onCopy'];\n\tcopyMenuLabel: string;\n\tcopiedMenuLabel: string;\n\tdeleteMenuLabel: string;\n\trowMenuAria: string;\n\tcopyToastSuccess: string;\n\tcopyToastError: string;\n}\n\nfunction ApiKeyRow({\n\titem,\n\tonDelete,\n\tonCopy,\n\tcopyMenuLabel,\n\tcopiedMenuLabel,\n\tdeleteMenuLabel,\n\trowMenuAria,\n\tcopyToastSuccess,\n\tcopyToastError,\n}: ApiKeyRowProps) {\n\tconst [copied, setCopied] = useState(false);\n\n\tconst handleCopy = useCallback(async () => {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(item.value);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 1500);\n\t\t\ttoast.success(copyToastSuccess);\n\t\t\tonCopy?.(item.id, item);\n\t\t} catch (err) {\n\t\t\ttoast.error(copyToastError);\n\t\t\tif (import.meta.env?.DEV) {\n\t\t\t\tconsole.warn('[ApiKeyList] copy failed', err);\n\t\t\t}\n\t\t}\n\t}, [item, onCopy, copyToastSuccess, copyToastError]);\n\n\tconst display = item.displayValue ?? item.value;\n\n\treturn (\n\t\t<Item size=\"small\" data-slot=\"api-key-row\" className=\"flex-nowrap\">\n\t\t\t<ItemMedia variant=\"icon\">\n\t\t\t\t<IconBadge\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tshape=\"square\"\n\t\t\t\t\ttone=\"muted\"\n\t\t\t\t\tbordered\n\t\t\t\t\tclassName=\"text-success\"\n\t\t\t\t>\n\t\t\t\t\t{item.icon ?? <Lock className=\"size-3.5\" />}\n\t\t\t\t</IconBadge>\n\t\t\t</ItemMedia>\n\t\t\t<ItemContent className=\"min-w-0 flex-row items-center gap-2.5\">\n\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className=\"w-20 shrink-0 truncate sm:w-24\">\n\t\t\t\t\t{item.name}\n\t\t\t\t</Text>\n\t\t\t\t<span className=\"min-w-0 flex-1 truncate rounded-sm bg-muted px-2 py-1 font-mono text-xs\">\n\t\t\t\t\t{display}\n\t\t\t\t</span>\n\t\t\t</ItemContent>\n\t\t\t<ItemActions className=\"shrink-0\">\n\t\t\t\t<ActionMenu\n\t\t\t\t\tsrText={rowMenuAria}\n\t\t\t\t\talign=\"end\"\n\t\t\t\t\tcloseOnSelect\n\t\t\t\t\tbuttonProps={{ buttonStyle: 'ghost', variant: 'secondary' }}\n\t\t\t\t>\n\t\t\t\t\t<MenuAction\n\t\t\t\t\t\tlabel={copied ? copiedMenuLabel : copyMenuLabel}\n\t\t\t\t\t\ticon={Copy}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tvoid handleCopy();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t/>\n\t\t\t\t\t{!!onDelete && (\n\t\t\t\t\t\t<MenuAction\n\t\t\t\t\t\t\tlabel={deleteMenuLabel}\n\t\t\t\t\t\t\ticon={Trash2}\n\t\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t\t\tonClick={() => onDelete(item.id, item)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</ActionMenu>\n\t\t\t</ItemActions>\n\t\t</Item>\n\t);\n}\n\nApiKeyRow.displayName = 'ApiKeyRow';\n","import {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\ttype ReactNode } from 'react';\nimport { KeyRound,\n\tPlus,\n\tShieldAlert,\n\tTrash2,\n\ttype LucideIcon } from 'lucide-react';\n\nimport { Button,\n\ttype ButtonProps } from '@/components/base/buttons';\nimport { SmartCard,\n\ttype CardPadding,\n\ttype SmartCardSurface } from '@/components/base/cards';\nimport { Copyable } from '@/components/base/copyable';\nimport {\n\tAlert,\n\tAlertAction,\n\tAlertDescription,\n\tAlertTitle,\n\tIconBadge,\n} from '@/components/base/display';\nimport { Checkbox, FormField, Input } from '@/components/base/forms';\nimport { Item, ItemActions, ItemContent, ItemDescription, ItemMedia, ItemTitle } from '@/components/base/item';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { ApiKeyList, type ApiKeyListItem } from '../api-key-list';\n\nexport interface ActionRowAction extends Omit<ButtonProps, 'children'> {\n\tlabel: ReactNode;\n\ticon?: LucideIcon;\n}\n\nexport interface ActionRowProps {\n\ticon?: LucideIcon;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tprimaryAction?: ActionRowAction;\n\tsecondaryAction?: ActionRowAction;\n\tactions?: ReactNode;\n\tdisabled?: boolean;\n\tclassName?: string;\n}\n\nfunction renderAction(action: ActionRowAction | undefined, fallbackVariant: ButtonProps['variant']) {\n\tif (!action) return null;\n\tconst { label, icon: Icon, variant = fallbackVariant, ...buttonProps } = action;\n\n\treturn (\n\t\t<Button {...buttonProps} variant={variant}>\n\t\t\t{!!Icon && <Icon className=\"size-4\" />}\n\t\t\t{label}\n\t\t</Button>\n\t);\n}\n\nexport function ActionRow({\n\ticon: Icon,\n\ttitle,\n\tdescription,\n\tprimaryAction,\n\tsecondaryAction,\n\tactions,\n\tdisabled = false,\n\tclassName,\n}: ActionRowProps) {\n\treturn (\n\t\t<Item\n\t\t\tdata-component=\"action-row\"\n\t\t\tdata-slot=\"action-row\"\n\t\t\tclassName={cn('action-row--component', disabled && 'opacity-60', className)}\n\t\t>\n\t\t\t{!!Icon && (\n\t\t\t\t<ItemMedia variant=\"icon\">\n\t\t\t\t\t<IconBadge icon={Icon} tone=\"muted\" shape=\"square\" size=\"default\" />\n\t\t\t\t</ItemMedia>\n\t\t\t)}\n\t\t\t<ItemContent>\n\t\t\t\t<ItemTitle>{title}</ItemTitle>\n\t\t\t\t{!!description && <ItemDescription>{description}</ItemDescription>}\n\t\t\t</ItemContent>\n\t\t\t<ItemActions className=\"flex-wrap justify-end\">\n\t\t\t\t{actions ?? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{renderAction(secondaryAction, 'secondary')}\n\t\t\t\t\t\t{renderAction(primaryAction, 'primary')}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</ItemActions>\n\t\t</Item>\n\t);\n}\n\nexport interface ActionListProps {\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\tactions?: ReactNode;\n\tchildren?: ReactNode;\n\trows?: readonly ActionRowProps[];\n\tpadding?: CardPadding;\n\tsurface?: SmartCardSurface;\n\tclassName?: string;\n\tcontentClassName?: string;\n}\n\nexport function ActionList({\n\ttitle,\n\tdescription,\n\tactions,\n\tchildren,\n\trows,\n\tpadding = 'default',\n\tsurface = 'card',\n\tclassName,\n\tcontentClassName,\n}: ActionListProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"action-list\"\n\t\t\tdata-slot=\"action-list\"\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\theaderAction={actions}\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn('action-list--component', className)}\n\t\t\tcontentClassName={cn('action-list--content grid gap-2', contentClassName)}\n\t\t>\n\t\t\t{rows?.map((row, index) => (\n\t\t\t\t<ActionRow key={index} {...row} />\n\t\t\t))}\n\t\t\t{children}\n\t\t</SmartCard>\n\t);\n}\n\nexport interface SensitiveActionCardProps {\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tconfirmation?: ReactNode;\n\taction?: ReactNode;\n\ticon?: LucideIcon;\n\tpadding?: CardPadding;\n\tsurface?: SmartCardSurface;\n\tclassName?: string;\n}\n\nexport function SensitiveActionCard({\n\ttitle,\n\tdescription,\n\tconfirmation,\n\taction,\n\ticon: Icon = ShieldAlert,\n\tpadding = 'default',\n\tsurface = 'card',\n\tclassName,\n}: SensitiveActionCardProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"sensitive-action-card\"\n\t\t\tdata-slot=\"sensitive-action-card\"\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn('sensitive-action-card--component border-destructive/30', className)}\n\t\t\tcontentClassName=\"sensitive-action-card--content grid gap-3\"\n\t\t>\n\t\t\t<div className=\"flex min-w-0 items-start gap-3\">\n\t\t\t\t<IconBadge icon={Icon} tone=\"destructive\" shape=\"square\" size=\"default\" />\n\t\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t\t<Text weight=\"semibold\">{title}</Text>\n\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{!!action && <div className=\"shrink-0\">{action}</div>}\n\t\t\t</div>\n\t\t\t{!!confirmation && (\n\t\t\t\t<Alert variant=\"destructive\" role=\"note\" className=\"sensitive-action-card--confirmation\">\n\t\t\t\t\t<AlertDescription>{confirmation}</AlertDescription>\n\t\t\t\t</Alert>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nexport interface CopyableSecretAlertStrings {\n\ttitle: string;\n\tdescription: string;\n\tcopySuccess: string;\n}\n\nexport const defaultCopyableSecretAlertStrings: CopyableSecretAlertStrings = {\n\ttitle: 'Secret created',\n\tdescription: 'Copy this value now. It may not be shown again.',\n\tcopySuccess: 'Secret copied',\n};\n\nexport interface CopyableSecretAlertProps {\n\tvalue: string;\n\tdisplayValue?: ReactNode;\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\taction?: ReactNode;\n\tclassName?: string;\n\tstrings?: StringsProp<CopyableSecretAlertStrings>;\n}\n\nexport function CopyableSecretAlert({\n\tvalue,\n\tdisplayValue,\n\ttitle,\n\tdescription,\n\taction,\n\tclassName,\n\tstrings: stringsProp,\n}: CopyableSecretAlertProps) {\n\tconst strings = useStrings(defaultCopyableSecretAlertStrings, stringsProp);\n\n\treturn (\n\t\t<Alert\n\t\t\tdata-component=\"copyable-secret-alert\"\n\t\t\tdata-slot=\"copyable-secret-alert\"\n\t\t\tvariant=\"success\"\n\t\t\tclassName={cn('copyable-secret-alert--component', className)}\n\t\t>\n\t\t\t<KeyRound className=\"size-4\" />\n\t\t\t<AlertTitle>{title ?? strings.title}</AlertTitle>\n\t\t\t<AlertDescription>\n\t\t\t\t<span className=\"grid gap-2\">\n\t\t\t\t\t<span>{description ?? strings.description}</span>\n\t\t\t\t\t<Copyable\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisplayValue={displayValue ?? value}\n\t\t\t\t\t\tmono\n\t\t\t\t\t\ttruncate\n\t\t\t\t\t\tclassName=\"copyable-secret-alert--value max-w-full rounded-md bg-background px-2 py-1\"\n\t\t\t\t\t\tsuccessMessage={strings.copySuccess}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t</AlertDescription>\n\t\t\t{!!action && <AlertAction>{action}</AlertAction>}\n\t\t</Alert>\n\t);\n}\n\nexport interface ApiTokenAbility {\n\tid: string;\n\tlabel: ReactNode;\n\tdescription?: ReactNode;\n\tdisabled?: boolean;\n}\n\nexport interface ApiTokenCreatedToken {\n\tvalue: string;\n\tdisplayValue?: ReactNode;\n\tname?: ReactNode;\n}\n\nexport interface ApiTokenCreateValues {\n\tname: string;\n\tabilities: string[];\n}\n\nexport interface ApiTokenManagerStrings {\n\ttitle: string;\n\tdescription: string;\n\tnameLabel: string;\n\tnamePlaceholder: string;\n\tabilitiesLabel: string;\n\tcreate: string;\n\trevokeAll: string;\n\tcreatedTitle: string;\n\tcreatedDescription: string;\n}\n\nexport const defaultApiTokenManagerStrings: ApiTokenManagerStrings = {\n\ttitle: 'API tokens',\n\tdescription: 'Create and revoke access tokens.',\n\tnameLabel: 'Token name',\n\tnamePlaceholder: 'Production deploy key',\n\tabilitiesLabel: 'Abilities',\n\tcreate: 'Create token',\n\trevokeAll: 'Revoke all',\n\tcreatedTitle: 'Token created',\n\tcreatedDescription: 'Copy this token now. It will not be shown again.',\n};\n\nexport interface ApiTokenManagerProps {\n\ttokens: ApiKeyListItem[];\n\tabilities?: readonly ApiTokenAbility[];\n\tcreatedToken?: ApiTokenCreatedToken | null;\n\tname?: string;\n\tdefaultName?: string;\n\tonNameChange?: (name: string) => void;\n\tselectedAbilities?: readonly string[];\n\tdefaultSelectedAbilities?: readonly string[];\n\tonSelectedAbilitiesChange?: (abilities: string[]) => void;\n\tonCreateToken?: (values: ApiTokenCreateValues) => void | Promise<void>;\n\tonRevokeToken?: (id: string, token: ApiKeyListItem) => void | Promise<void>;\n\tonRevokeAllTokens?: () => void | Promise<void>;\n\tonAfterMutate?: (event: { type: 'create' | 'revoke' | 'revoke-all'; payload?: unknown }) => void;\n\tonError?: (error: unknown, context: { phase: 'create' | 'revoke' | 'revoke-all' }) => void;\n\tisCreating?: boolean;\n\tisRevokingAll?: boolean;\n\tdisabled?: boolean;\n\tclassName?: string;\n\tstrings?: StringsProp<ApiTokenManagerStrings>;\n}\n\nexport function ApiTokenManager({\n\ttokens,\n\tabilities = [],\n\tcreatedToken,\n\tname,\n\tdefaultName = '',\n\tonNameChange,\n\tselectedAbilities,\n\tdefaultSelectedAbilities = [],\n\tonSelectedAbilitiesChange,\n\tonCreateToken,\n\tonRevokeToken,\n\tonRevokeAllTokens,\n\tonAfterMutate,\n\tonError,\n\tisCreating = false,\n\tisRevokingAll = false,\n\tdisabled = false,\n\tclassName,\n\tstrings: stringsProp,\n}: ApiTokenManagerProps) {\n\tconst strings = useStrings(defaultApiTokenManagerStrings, stringsProp);\n\tconst isNameControlled = name !== undefined;\n\tconst isAbilitiesControlled = selectedAbilities !== undefined;\n\tconst [internalName, setInternalName] = useState(defaultName);\n\tconst [internalAbilities, setInternalAbilities] = useState<string[]>([...defaultSelectedAbilities]);\n\tconst [pendingPhase, setPendingPhase] = useState<'create' | 'revoke' | 'revoke-all' | null>(null);\n\tconst resolvedName = isNameControlled ? name : internalName;\n\tconst resolvedAbilities = useMemo(\n\t\t() => isAbilitiesControlled ? [...selectedAbilities] : internalAbilities,\n\t\t[internalAbilities, isAbilitiesControlled, selectedAbilities],\n\t);\n\tconst creating = isCreating || pendingPhase === 'create';\n\tconst revokingAll = isRevokingAll || pendingPhase === 'revoke-all';\n\n\tconst setName = useCallback(\n\t\t(nextName: string) => {\n\t\t\tif (!isNameControlled) setInternalName(nextName);\n\t\t\tonNameChange?.(nextName);\n\t\t},\n\t\t[isNameControlled, onNameChange],\n\t);\n\n\tconst setAbilities = useCallback(\n\t\t(nextAbilities: string[]) => {\n\t\t\tif (!isAbilitiesControlled) setInternalAbilities(nextAbilities);\n\t\t\tonSelectedAbilitiesChange?.(nextAbilities);\n\t\t},\n\t\t[isAbilitiesControlled, onSelectedAbilitiesChange],\n\t);\n\n\tconst toggleAbility = useCallback(\n\t\t(abilityId: string, checked: boolean | 'indeterminate') => {\n\t\t\tconst nextChecked = checked === true;\n\t\t\tconst next = nextChecked\n\t\t\t\t? Array.from(new Set([...resolvedAbilities, abilityId]))\n\t\t\t\t: resolvedAbilities.filter((id) => id !== abilityId);\n\t\t\tsetAbilities(next);\n\t\t},\n\t\t[resolvedAbilities, setAbilities],\n\t);\n\n\tconst runMutation = useCallback(\n\t\tasync (\n\t\t\tphase: 'create' | 'revoke' | 'revoke-all',\n\t\t\ttask: () => void | Promise<void>,\n\t\t\tpayload?: unknown,\n\t\t) => {\n\t\t\tsetPendingPhase(phase);\n\t\t\ttry {\n\t\t\t\tawait task();\n\t\t\t\tonAfterMutate?.({ type: phase, payload });\n\t\t\t} catch (error) {\n\t\t\t\tif (import.meta.env?.DEV) {\n\t\t\t\t\tconsole.warn(`[ApiTokenManager] ${phase} failed`, error);\n\t\t\t\t}\n\t\t\t\tonError?.(error, { phase });\n\t\t\t} finally {\n\t\t\t\tsetPendingPhase(null);\n\t\t\t}\n\t\t},\n\t\t[onAfterMutate, onError],\n\t);\n\n\tconst handleCreate = useCallback(() => {\n\t\tif (!onCreateToken) return;\n\t\tconst values = { name: resolvedName, abilities: resolvedAbilities };\n\t\tvoid runMutation('create', () => onCreateToken(values), values);\n\t}, [onCreateToken, resolvedAbilities, resolvedName, runMutation]);\n\n\tconst handleRevoke = useCallback(\n\t\t(id: string, token: ApiKeyListItem) => {\n\t\t\tif (!onRevokeToken) return;\n\t\t\tvoid runMutation('revoke', () => onRevokeToken(id, token), token);\n\t\t},\n\t\t[onRevokeToken, runMutation],\n\t);\n\n\tconst handleRevokeAll = useCallback(() => {\n\t\tif (!onRevokeAllTokens) return;\n\t\tvoid runMutation('revoke-all', onRevokeAllTokens);\n\t}, [onRevokeAllTokens, runMutation]);\n\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"api-token-manager\"\n\t\t\tdata-slot=\"api-token-manager\"\n\t\t\ttitle={strings.title}\n\t\t\tdescription={strings.description}\n\t\t\theaderAction={onRevokeAllTokens ? (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\tloading={revokingAll}\n\t\t\t\t\tdisabled={disabled || tokens.length === 0}\n\t\t\t\t\tonClick={handleRevokeAll}\n\t\t\t\t>\n\t\t\t\t\t<Trash2 className=\"size-4\" />\n\t\t\t\t\t{strings.revokeAll}\n\t\t\t\t</Button>\n\t\t\t) : undefined}\n\t\t\tclassName={cn('api-token-manager--component', className)}\n\t\t\tcontentClassName=\"api-token-manager--content grid gap-4\"\n\t\t>\n\t\t\t{!!createdToken && (\n\t\t\t\t<CopyableSecretAlert\n\t\t\t\t\tvalue={createdToken.value}\n\t\t\t\t\tdisplayValue={createdToken.displayValue}\n\t\t\t\t\ttitle={createdToken.name ?? strings.createdTitle}\n\t\t\t\t\tdescription={strings.createdDescription}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<div className=\"api-token-manager--form grid gap-3 rounded-lg border border-border/70 bg-muted/20 p-3\">\n\t\t\t\t<FormField label={strings.nameLabel}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={resolvedName}\n\t\t\t\t\t\tplaceholder={strings.namePlaceholder}\n\t\t\t\t\t\tonChange={(event) => setName(event.currentTarget.value)}\n\t\t\t\t\t\tdisabled={disabled || creating}\n\t\t\t\t\t/>\n\t\t\t\t</FormField>\n\n\t\t\t\t{abilities.length > 0 && (\n\t\t\t\t\t<div className=\"api-token-manager--abilities grid gap-2\">\n\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\">{strings.abilitiesLabel}</Text>\n\t\t\t\t\t\t<div className=\"grid gap-2 sm:grid-cols-2\">\n\t\t\t\t\t\t\t{abilities.map((ability) => {\n\t\t\t\t\t\t\t\tconst checked = resolvedAbilities.includes(ability.id);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tkey={ability.id}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex min-w-0 items-start gap-2 rounded-md border border-border/70 bg-background px-3 py-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled || creating || ability.disabled}\n\t\t\t\t\t\t\t\t\t\t\tonCheckedChange={(next) => toggleAbility(ability.id, next)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span className=\"grid min-w-0 gap-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"medium\">{ability.label}</Text>\n\t\t\t\t\t\t\t\t\t\t\t{!!ability.description && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">{ability.description}</Text>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"flex justify-end\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tloading={creating}\n\t\t\t\t\t\tdisabled={disabled || !onCreateToken || resolvedName.trim().length === 0}\n\t\t\t\t\t\tonClick={handleCreate}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Plus className=\"size-4\" />\n\t\t\t\t\t\t{strings.create}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<ApiKeyList\n\t\t\t\titems={tokens}\n\t\t\t\tonDelete={onRevokeToken ? handleRevoke : undefined}\n\t\t\t/>\n\t\t</SmartCard>\n\t);\n}\n\nApiTokenManager.displayName = 'ApiTokenManager';\n"],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { useStrings as e } from "../../../lib/strings.js";
|
|
2
2
|
import { cn as t } from "../../../lib/utils.js";
|
|
3
|
-
import { t as n } from "../../../_shared/button-
|
|
4
|
-
import { s as r } from "../../../_shared/typography-
|
|
3
|
+
import { t as n } from "../../../_shared/button-vv59_uS_.js";
|
|
4
|
+
import { s as r } from "../../../_shared/typography-DXvCmE8w.js";
|
|
5
5
|
import { t as i } from "../../../_shared/icon-badge-dZQPvuas.js";
|
|
6
|
-
import { t as a } from "../../../_shared/badge-
|
|
7
|
-
import { t as o } from "../../../_shared/cards-
|
|
8
|
-
import { i as s, n as c, r as l, t as u } from "../../../_shared/alert-
|
|
9
|
-
import { t as d } from "../../../_shared/input-
|
|
6
|
+
import { t as a } from "../../../_shared/badge-B4oBB5BJ.js";
|
|
7
|
+
import { t as o } from "../../../_shared/cards-CMNXFo3Y.js";
|
|
8
|
+
import { i as s, n as c, r as l, t as u } from "../../../_shared/alert-D23Q7I0W.js";
|
|
9
|
+
import { t as d } from "../../../_shared/input-Cin0qpjj.js";
|
|
10
10
|
import { t as f } from "../../../_shared/checkbox-Cbh5x6ad.js";
|
|
11
|
-
import { J as p } from "../../../_shared/forms-
|
|
12
|
-
import { D as m, _ as h, g, h as _ } from "../../../_shared/display-
|
|
13
|
-
import { t as v } from "../../../_shared/copyable-
|
|
14
|
-
import { c as y, i as b, n as x, o as S, r as C, t as w, u as T } from "../../../_shared/item-
|
|
15
|
-
import { n as E, t as D } from "../../../_shared/action-menu-
|
|
11
|
+
import { J as p } from "../../../_shared/forms-DljDdyXR.js";
|
|
12
|
+
import { D as m, _ as h, g, h as _ } from "../../../_shared/display-BQijMo37.js";
|
|
13
|
+
import { t as v } from "../../../_shared/copyable-Cn7tRGL5.js";
|
|
14
|
+
import { c as y, i as b, n as x, o as S, r as C, t as w, u as T } from "../../../_shared/item-CIlSaQg8.js";
|
|
15
|
+
import { n as E, t as D } from "../../../_shared/action-menu-Crn22LKo.js";
|
|
16
16
|
import { forwardRef as O, useCallback as k, useMemo as ee, useState as A } from "react";
|
|
17
17
|
import { Fragment as j, jsx as M, jsxs as N } from "react/jsx-runtime";
|
|
18
18
|
import { ChevronRight as P, Copy as F, KeyRound as I, Lock as L, Pencil as R, Plus as z, ShieldAlert as B, Trash2 as V } from "lucide-react";
|
|
@@ -140,7 +140,7 @@ function q({ conversations: e, className: n }) {
|
|
|
140
140
|
solid: !0,
|
|
141
141
|
size: "small",
|
|
142
142
|
children: /* @__PURE__ */ M(r, {
|
|
143
|
-
size: "
|
|
143
|
+
size: "xs",
|
|
144
144
|
weight: "bold",
|
|
145
145
|
className: "text-inherit tabular-nums",
|
|
146
146
|
children: e.unread
|
|
@@ -207,7 +207,7 @@ function Y({ productName: n, variant: i, stock: s, reorderLevel: c, maxStock: l,
|
|
|
207
207
|
}) })]
|
|
208
208
|
}),
|
|
209
209
|
/* @__PURE__ */ M(r, {
|
|
210
|
-
size: "
|
|
210
|
+
size: "base",
|
|
211
211
|
weight: "semibold",
|
|
212
212
|
className: "tabular-nums tracking-tight",
|
|
213
213
|
children: s
|