admin-ui-starter-kit 0.6.6 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/component-library-rules/SKILL.md +2 -2
- package/.agents/skills/component-library-rules/references/components/INDEX.json +15 -1
- package/.agents/skills/component-library-rules/references/components/INDEX.md +15 -1
- package/.agents/skills/component-library-rules/references/components/base__boolean-indicator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__cards.md +7 -6
- package/.agents/skills/component-library-rules/references/components/base__carousel.md +4 -4
- package/.agents/skills/component-library-rules/references/components/base__collapsible.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__combobox.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__conditional-rendering.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__css-variables.md +2 -1
- package/.agents/skills/component-library-rules/references/components/base__date-block.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__dialog.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__display-utilities.md +59 -95
- package/.agents/skills/component-library-rules/references/components/base__event-calendar.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__item.md +4 -3
- package/.agents/skills/component-library-rules/references/components/base__money-display.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__notification-banner.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__placeholder-pattern.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__progress.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__qr-code.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__separator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__skeleton.md +55 -0
- package/.agents/skills/component-library-rules/references/components/base__throttle-alert.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__typography.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__visually-hidden.md +39 -0
- 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 +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-page.md +2 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-sidebar.md +2 -2
- package/.agents/skills/component-library-rules/references/ui-provider.md +2 -2
- package/dist/_shared/accordion-8B4OFqiT.cjs +2 -0
- package/dist/_shared/accordion-8B4OFqiT.cjs.map +1 -0
- package/dist/_shared/accordion-DlpTSZ3p.js +135 -0
- package/dist/_shared/accordion-DlpTSZ3p.js.map +1 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs +2 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs.map +1 -0
- package/dist/_shared/action-menu-CYwMZX-b.js +96 -0
- package/dist/_shared/action-menu-CYwMZX-b.js.map +1 -0
- package/dist/_shared/ai-artifact-BylloxGO.js +1099 -0
- package/dist/_shared/ai-artifact-BylloxGO.js.map +1 -0
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs +3 -0
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs.map +1 -0
- package/dist/_shared/auth-1Ht9Kevx.js +643 -0
- package/dist/_shared/auth-1Ht9Kevx.js.map +1 -0
- package/dist/_shared/auth-DTN6sFXM.cjs +2 -0
- package/dist/_shared/auth-DTN6sFXM.cjs.map +1 -0
- package/dist/_shared/badge-LSAgdmGt.cjs +2 -0
- package/dist/_shared/badge-LSAgdmGt.cjs.map +1 -0
- package/dist/_shared/badge-nZ2zbAV4.js +110 -0
- package/dist/_shared/badge-nZ2zbAV4.js.map +1 -0
- package/dist/_shared/button-Be2ayMxF.js +192 -0
- package/dist/_shared/button-Be2ayMxF.js.map +1 -0
- package/dist/_shared/button-CfQtOuBK.cjs +2 -0
- package/dist/_shared/button-CfQtOuBK.cjs.map +1 -0
- package/dist/_shared/buttons-DABiSx6N.cjs +2 -0
- package/dist/_shared/buttons-DABiSx6N.cjs.map +1 -0
- package/dist/_shared/buttons-DYQqQPpk.js +137 -0
- package/dist/_shared/buttons-DYQqQPpk.js.map +1 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs +2 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs.map +1 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js +150 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js.map +1 -0
- package/dist/_shared/cards-BJctT9KD.js +428 -0
- package/dist/_shared/cards-BJctT9KD.js.map +1 -0
- package/dist/_shared/cards-m03XN10f.cjs +2 -0
- package/dist/_shared/cards-m03XN10f.cjs.map +1 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs +2 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs.map +1 -0
- package/dist/_shared/combobox-D9tU_83-.js +954 -0
- package/dist/_shared/combobox-D9tU_83-.js.map +1 -0
- package/dist/_shared/command-BbJB0pjP.cjs +2 -0
- package/dist/_shared/command-BbJB0pjP.cjs.map +1 -0
- package/dist/_shared/command-IP2wy_HN.js +39 -0
- package/dist/_shared/command-IP2wy_HN.js.map +1 -0
- package/dist/_shared/comments-B_WKQUol.js +952 -0
- package/dist/_shared/comments-B_WKQUol.js.map +1 -0
- package/dist/_shared/comments-DMHMNObS.cjs +2 -0
- package/dist/_shared/comments-DMHMNObS.cjs.map +1 -0
- package/dist/_shared/copyable-BJYx2SlN.js +38 -0
- package/dist/_shared/copyable-BJYx2SlN.js.map +1 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs +2 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs.map +1 -0
- package/dist/_shared/data-display-4E_irfF2.js +1878 -0
- package/dist/_shared/data-display-4E_irfF2.js.map +1 -0
- package/dist/_shared/data-display-BPn-7qFO.cjs +2 -0
- package/dist/_shared/data-display-BPn-7qFO.cjs.map +1 -0
- package/dist/_shared/date-picker-CvqLnlxm.js +1361 -0
- package/dist/_shared/date-picker-CvqLnlxm.js.map +1 -0
- package/dist/_shared/date-picker-D83fCi2g.cjs +2 -0
- package/dist/_shared/date-picker-D83fCi2g.cjs.map +1 -0
- package/dist/_shared/date-pickers-C6ku2BPp.cjs +2 -0
- package/dist/_shared/date-pickers-C6ku2BPp.cjs.map +1 -0
- package/dist/_shared/date-pickers-RdbwIhdY.js +329 -0
- package/dist/_shared/date-pickers-RdbwIhdY.js.map +1 -0
- package/dist/_shared/display-DFVeSuWL.js +986 -0
- package/dist/_shared/display-DFVeSuWL.js.map +1 -0
- package/dist/_shared/display-Lr3xTd4a.cjs +2 -0
- package/dist/_shared/display-Lr3xTd4a.cjs.map +1 -0
- package/dist/_shared/forms-BA8Aa_fi.js +3534 -0
- package/dist/_shared/forms-BA8Aa_fi.js.map +1 -0
- package/dist/_shared/forms-CNjjdFcf.cjs +2 -0
- package/dist/_shared/forms-CNjjdFcf.cjs.map +1 -0
- package/dist/_shared/header-BEsz1_so.cjs +2 -0
- package/dist/_shared/header-BEsz1_so.cjs.map +1 -0
- package/dist/_shared/header-bJx8z6zT.js +447 -0
- package/dist/_shared/header-bJx8z6zT.js.map +1 -0
- package/dist/_shared/hooks-gRgVhyY2.js +95 -0
- package/dist/_shared/hooks-gRgVhyY2.js.map +1 -0
- package/dist/_shared/hooks-nFiRfUxX.cjs +2 -0
- package/dist/_shared/hooks-nFiRfUxX.cjs.map +1 -0
- package/dist/_shared/input-CzJzVyQ0.js +182 -0
- package/dist/_shared/input-CzJzVyQ0.js.map +1 -0
- package/dist/_shared/input-Dvvmn96E.cjs +2 -0
- package/dist/_shared/input-Dvvmn96E.cjs.map +1 -0
- package/dist/_shared/item-CVjjpHQd.js +226 -0
- package/dist/_shared/item-CVjjpHQd.js.map +1 -0
- package/dist/_shared/item-ChHblHhR.cjs +2 -0
- package/dist/_shared/item-ChHblHhR.cjs.map +1 -0
- package/dist/_shared/layout-C_dYiKtE.cjs +2 -0
- package/dist/_shared/layout-C_dYiKtE.cjs.map +1 -0
- package/dist/_shared/layout-nigj488k.js +268 -0
- package/dist/_shared/layout-nigj488k.js.map +1 -0
- package/dist/_shared/mentions-BE51BNeq.cjs +2 -0
- package/dist/_shared/mentions-BE51BNeq.cjs.map +1 -0
- package/dist/_shared/mentions-CBhP29St.js +506 -0
- package/dist/_shared/mentions-CBhP29St.js.map +1 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs +2 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs.map +1 -0
- package/dist/_shared/money-display-DpuLnsK2.js +198 -0
- package/dist/_shared/money-display-DpuLnsK2.js.map +1 -0
- package/dist/_shared/navigation-CWK_YQ5Y.js +436 -0
- package/dist/_shared/navigation-CWK_YQ5Y.js.map +1 -0
- package/dist/_shared/navigation-DTBMb7-M.cjs +2 -0
- package/dist/_shared/navigation-DTBMb7-M.cjs.map +1 -0
- package/dist/_shared/overlays-BJLczwpz.js +735 -0
- package/dist/_shared/overlays-BJLczwpz.js.map +1 -0
- package/dist/_shared/overlays-DbaPLT67.cjs +2 -0
- package/dist/_shared/overlays-DbaPLT67.cjs.map +1 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs +2 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs.map +1 -0
- package/dist/_shared/popover-menu-f2O6R_27.js +93 -0
- package/dist/_shared/popover-menu-f2O6R_27.js.map +1 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js +620 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js.map +1 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs +2 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs.map +1 -0
- package/dist/_shared/settings-D-HAOE3R.js +143 -0
- package/dist/_shared/settings-D-HAOE3R.js.map +1 -0
- package/dist/_shared/settings-DkL3bOk0.cjs +2 -0
- package/dist/_shared/settings-DkL3bOk0.cjs.map +1 -0
- package/dist/_shared/sidebar-BTyx7ipN.cjs +2 -0
- package/dist/_shared/sidebar-BTyx7ipN.cjs.map +1 -0
- package/dist/_shared/sidebar-DkBNualh.js +548 -0
- package/dist/_shared/sidebar-DkBNualh.js.map +1 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs +2 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs.map +1 -0
- package/dist/_shared/skeleton-yUXqeWzB.js +256 -0
- package/dist/_shared/skeleton-yUXqeWzB.js.map +1 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs +2 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs.map +1 -0
- package/dist/_shared/spinner-CuVZhJhN.js +67 -0
- package/dist/_shared/spinner-CuVZhJhN.js.map +1 -0
- package/dist/_shared/table-Cq0jkSm5.js +1377 -0
- package/dist/_shared/table-Cq0jkSm5.js.map +1 -0
- package/dist/_shared/table-GqTKCC8F.cjs +2 -0
- package/dist/_shared/table-GqTKCC8F.cjs.map +1 -0
- package/dist/_shared/textarea-C0iZwWdD.js +118 -0
- package/dist/_shared/textarea-C0iZwWdD.js.map +1 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs +2 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs.map +1 -0
- package/dist/_shared/typography-5bLhAYaK.js +201 -0
- package/dist/_shared/typography-5bLhAYaK.js.map +1 -0
- package/dist/_shared/typography-CWEobAJV.cjs +2 -0
- package/dist/_shared/typography-CWEobAJV.cjs.map +1 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs +2 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs.map +1 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js +89 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js.map +1 -0
- package/dist/_shared/workspace-5UId04M9.js +357 -0
- package/dist/_shared/workspace-5UId04M9.js.map +1 -0
- package/dist/_shared/workspace-BMws_rFf.cjs +2 -0
- package/dist/_shared/workspace-BMws_rFf.cjs.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/button.d.ts.map +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/buttons/tooltip-button.d.ts.map +1 -1
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +2 -2
- package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.types.d.ts +7 -3
- package/dist/components/base/cards/smart-card.types.d.ts.map +1 -1
- 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 +5 -5
- package/dist/components/base/display/skeleton.d.ts +52 -1
- package/dist/components/base/display/skeleton.d.ts.map +1 -1
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.cjs.map +1 -1
- package/dist/components/base/event-calendar/index.js +7 -7
- package/dist/components/base/event-calendar/index.js.map +1 -1
- package/dist/components/base/forms/fields/file-upload.d.ts.map +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +5 -5
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/item/item.d.ts.map +1 -1
- package/dist/components/base/item/item.types.d.ts +3 -0
- package/dist/components/base/item/item.types.d.ts.map +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 +2 -2
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/spinner/index.cjs +1 -1
- package/dist/components/base/spinner/index.js +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/base/table/table-header.d.ts.map +1 -1
- package/dist/components/base/toaster/index.cjs +1 -1
- package/dist/components/base/toaster/index.cjs.map +1 -1
- package/dist/components/base/toaster/index.js +82 -23
- package/dist/components/base/toaster/index.js.map +1 -1
- package/dist/components/base/toaster/toaster.d.ts +1 -1
- package/dist/components/base/toaster/toaster.d.ts.map +1 -1
- package/dist/components/composed/admin/api-key-list/api-key-list.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 +69 -69
- 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 +33 -33
- 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/dense-info-card/partials/dense-info-dashboard.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-financial.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-score.d.ts.map +1 -1
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -1
- package/dist/components/composed/data-display/resource-selector-card.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 +10 -10
- 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 +5 -5
- 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 +194 -194
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/filters/partials/filters-button.d.ts.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 +25 -25
- 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 +6 -6
- 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/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 +7 -7
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/page/page.types.d.ts +5 -0
- package/dist/components/layout/page/page.types.d.ts.map +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts.map +1 -1
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/ui-provider/defaults.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.cjs +1 -1
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/index.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.js +1 -1
- package/dist/lib/ui-provider/types.d.ts +14 -0
- package/dist/lib/ui-provider/types.d.ts.map +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-oKO7Ng_P.js +6 -0
- package/dist/showcase/assets/CompositeItem-CK7jBYU8.js +1 -0
- package/dist/showcase/assets/CompositeRoot-_AuToqhT.js +1 -0
- package/dist/showcase/assets/DialogTrigger-C44ZZXQ9.js +1 -0
- package/dist/showcase/assets/LabelableContext-DLVZlnur.js +1 -0
- package/dist/showcase/assets/PreviewLayout-Oik7TDHN.js +1 -0
- package/dist/showcase/assets/RadioGroup-DeYb8CGE.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-BZlE_Bil.js +1 -0
- package/dist/showcase/assets/Separator-uiIktHzk.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-CEzj5dKk.js +1 -0
- package/dist/showcase/assets/accordion-B_wg_YOp.js +171 -0
- package/dist/showcase/assets/accordion-variants-O6U7E38x.js +1 -0
- package/dist/showcase/assets/action-menu-D_wGvb_o.js +1 -0
- package/dist/showcase/assets/actions-u4Fl4zm1.js +310 -0
- package/dist/showcase/assets/activities-C6iITHzB.js +500 -0
- package/dist/showcase/assets/activities-feed-card-OpYs16UV.js +1 -0
- package/dist/showcase/assets/admin-Bq15E5Wd.js +140 -0
- package/dist/showcase/assets/ai-DcUzGTlb.js +207 -0
- package/dist/showcase/assets/ai-artifact-BUAu1_jV.js +2 -0
- package/dist/showcase/assets/ai-chat-C6OWWBqh.js +568 -0
- package/dist/showcase/assets/ai-elements-CCe4Aqj_.js +387 -0
- package/dist/showcase/assets/ai-tool-call-B_NF1ePn.js +1 -0
- package/dist/showcase/assets/alert-B4VWkFPE.js +1 -0
- package/dist/showcase/assets/alert-BDIqciKo.js +62 -0
- package/dist/showcase/assets/alert-jvCEGWe6.js +93 -0
- package/dist/showcase/assets/api-key-list-BH8mde9A.js +1 -0
- package/dist/showcase/assets/api-key-list-CA6O3hsc.js +73 -0
- package/dist/showcase/assets/app-sidebar-DsMTwSAB.js +1 -0
- package/dist/showcase/assets/arrow-down-BzPC0rON.js +1 -0
- package/dist/showcase/assets/arrow-left-DNehZvF-.js +1 -0
- package/dist/showcase/assets/arrow-right-CKIgWncF.js +1 -0
- package/dist/showcase/assets/arrow-up-YjujZi8v.js +1 -0
- package/dist/showcase/assets/arrow-up-right-KnVxFmw9.js +1 -0
- package/dist/showcase/assets/avatar-BBLri7tX.js +57 -0
- package/dist/showcase/assets/avatar-BeFx8JQd.js +1 -0
- package/dist/showcase/assets/avatar-CFWUZzaF.js +67 -0
- package/dist/showcase/assets/avatar-D6exHRSK.js +1 -0
- package/dist/showcase/assets/badge-check-BfY3RIjR.js +1 -0
- package/dist/showcase/assets/badge-jGj2HQsg.js +31 -0
- package/dist/showcase/assets/bell-CTDSIOv8.js +1 -0
- package/dist/showcase/assets/boolean-indicator-C1u7OFcR.js +1 -0
- package/dist/showcase/assets/bot-D-iqtYiQ.js +1 -0
- package/dist/showcase/assets/box-DxjjLEh2.js +1 -0
- package/dist/showcase/assets/braces-B6XLlZwJ.js +1 -0
- package/dist/showcase/assets/brain-BdNpswBH.js +1 -0
- package/dist/showcase/assets/brand-C6srYuIa.js +36 -0
- package/dist/showcase/assets/breadcrumb-BaeV7C4t.js +52 -0
- package/dist/showcase/assets/breadcrumb-jKu4EUFo.js +1 -0
- package/dist/showcase/assets/breadcrumbs-D7vYX_5y.js +1 -0
- package/dist/showcase/assets/briefcase-cs9wyoxL.js +1 -0
- package/dist/showcase/assets/building-2-rcMEYcbf.js +1 -0
- package/dist/showcase/assets/button-group-D1oXfasP.js +1 -0
- package/dist/showcase/assets/button-oBRwhAhs.js +44 -0
- package/dist/showcase/assets/buttons-D_SDu9w3.js +272 -0
- package/dist/showcase/assets/calendar-CGTiVckW.js +1 -0
- package/dist/showcase/assets/calendar-ChLkVME0.js +16 -0
- package/dist/showcase/assets/calendar-CjMPvWfI.js +1 -0
- package/dist/showcase/assets/calendar-days-CNom8Y38.js +1 -0
- package/dist/showcase/assets/camera-D0rjOOcs.js +1 -0
- package/dist/showcase/assets/card-CYz4UxYz.js +1 -0
- package/dist/showcase/assets/card-D9updr3B.js +188 -0
- package/dist/showcase/assets/card-primitives-BQ0hSEWX.js +1 -0
- package/dist/showcase/assets/card-radio-group-CrNG04Bl.js +1 -0
- package/dist/showcase/assets/cards-D4Lw-AI6.js +354 -0
- package/dist/showcase/assets/carousel-C6Mmapzw.js +449 -0
- package/dist/showcase/assets/cell-renderers-BF80Z3jW.js +1 -0
- package/dist/showcase/assets/chart-BHgMfUB5.js +358 -0
- package/dist/showcase/assets/chart-column-CE_VhlUz.js +1 -0
- package/dist/showcase/assets/checkbox-CDLT09vU.js +1 -0
- package/dist/showcase/assets/checkbox-Dj24Tegr.js +1 -0
- package/dist/showcase/assets/chevron-down-1GeJ4hOO.js +1 -0
- package/dist/showcase/assets/chevron-left-wqlWv2Qy.js +1 -0
- package/dist/showcase/assets/chevron-up-CZAm-2rZ.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-DgysGYWR.js +1 -0
- package/dist/showcase/assets/circle-C9Ooo8Lv.js +1 -0
- package/dist/showcase/assets/circle-alert-C6XBfkf2.js +1 -0
- package/dist/showcase/assets/circle-check-DvCYlVmL.js +1 -0
- package/dist/showcase/assets/circle-check-big-C8o9clAE.js +1 -0
- package/dist/showcase/assets/circle-dot-BoYf3vOR.js +1 -0
- package/dist/showcase/assets/circle-question-mark-DYPX0qe9.js +1 -0
- package/dist/showcase/assets/circle-x-GosnT0l7.js +1 -0
- package/dist/showcase/assets/clock-3-DklFhayq.js +1 -0
- package/dist/showcase/assets/clock-BvwTkk1w.js +1 -0
- package/dist/showcase/assets/code-xml-AGOwtN8Z.js +1 -0
- package/dist/showcase/assets/collapsible-CBkbr3ho.js +1 -0
- package/dist/showcase/assets/collapsible-CmY1SA28.js +27 -0
- package/dist/showcase/assets/collapsible-DfDnQ_t_.js +1 -0
- package/dist/showcase/assets/combobox-BsZQo7hF.js +685 -0
- package/dist/showcase/assets/command-B0Q84gg6.js +1 -0
- package/dist/showcase/assets/command-BtADdA65.js +1 -0
- package/dist/showcase/assets/comment-composer-BmBnkba9.js +1 -0
- package/dist/showcase/assets/comment-item-y5mTfSmU.js +1 -0
- package/dist/showcase/assets/comments-BuYiGPxI.js +357 -0
- package/dist/showcase/assets/commerce-21Ef_rsW.js +267 -0
- package/dist/showcase/assets/composite-fKT6fZFs.js +1 -0
- package/dist/showcase/assets/conditional-rendering-DsTG0sOE.js +1 -0
- package/dist/showcase/assets/contact-card-S8koA9Sr.js +65 -0
- package/dist/showcase/assets/content-container-B4gW5fmA.js +1 -0
- package/dist/showcase/assets/copyable-D2xL2rMm.js +96 -0
- package/dist/showcase/assets/copyable-gLrmPayI.js +1 -0
- package/dist/showcase/assets/course-card-B8eEvF7a.js +77 -0
- package/dist/showcase/assets/cpu-Cp1On3tr.js +1 -0
- package/dist/showcase/assets/credit-card-QbZMZB90.js +1 -0
- package/dist/showcase/assets/css-variables-BXICo9fV.js +1205 -0
- package/dist/showcase/assets/currency-D2MSLjLt.js +149 -0
- package/dist/showcase/assets/dark-surfaces-CJsxuvQU.js +90 -0
- package/dist/showcase/assets/data-view-syhKhdz9.js +124 -0
- package/dist/showcase/assets/data-view-znnAeb6b.js +4 -0
- package/dist/showcase/assets/database-isLkCvDd.js +1 -0
- package/dist/showcase/assets/date-block-BDn9lGVM.js +1 -0
- package/dist/showcase/assets/date-block-CqRL1xfo.js +1 -0
- package/dist/showcase/assets/date-picker-DNcmSgQk.js +1 -0
- package/dist/showcase/assets/date-pickers-3lQUDDS7.js +73 -0
- package/dist/showcase/assets/dense-info-CfvqiIpM.js +106 -0
- package/dist/showcase/assets/design-system-consistency-C3yRhKwF.js +264 -0
- package/dist/showcase/assets/dialog-DiAkrPHO.js +1 -0
- package/dist/showcase/assets/dialog-feUFM03m.js +1 -0
- package/dist/showcase/assets/dialog-ruVOqJnB.js +1 -0
- package/dist/showcase/assets/display-utilities-SPJxlrkp.js +4 -0
- package/dist/showcase/assets/display-utilities.examples-ByRydMl0.js +302 -0
- package/dist/showcase/assets/dist-C9DVZddl.js +45 -0
- package/dist/showcase/assets/dist-DNARKM_B.js +1 -0
- package/dist/showcase/assets/dollar-sign-CUDuWyun.js +1 -0
- package/dist/showcase/assets/download-CIbh9VUU.js +1 -0
- package/dist/showcase/assets/dropdown-menu-MoIAG0ES.js +1 -0
- package/dist/showcase/assets/dropzone-D0kHIUuh.js +1 -0
- package/dist/showcase/assets/earth-BpNTeF25.js +1 -0
- package/dist/showcase/assets/ellipsis-B9w0cuoH.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-DHbOsjTF.js +1 -0
- package/dist/showcase/assets/empty-DvYVgcNF.js +1 -0
- package/dist/showcase/assets/empty-item-oFM5kPCp.js +49 -0
- package/dist/showcase/assets/empty-state-DTq86muv.js +1 -0
- package/dist/showcase/assets/empty-state-De7XCht-.js +190 -0
- package/dist/showcase/assets/enhanced-activities--XHjx99M.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-CX_mTkei.js +1 -0
- package/dist/showcase/assets/esm-XXqBjGGF.js +2 -0
- package/dist/showcase/assets/event-calendar-zTiCWOF5.js +138 -0
- package/dist/showcase/assets/event-log-C_zSlY6y.js +330 -0
- package/dist/showcase/assets/example-Cv05rz75.js +1 -0
- package/dist/showcase/assets/external-link-DaR-AMyf.js +1 -0
- package/dist/showcase/assets/eye-CDSbB0kZ.js +1 -0
- package/dist/showcase/assets/feature-announcement-DJ26ZDVB.js +34 -0
- package/dist/showcase/assets/file-DPSK5cGC.js +1 -0
- package/dist/showcase/assets/file-text-BBWpAppG.js +1 -0
- package/dist/showcase/assets/filter-layout-CZRGcd6Z.js +1 -0
- package/dist/showcase/assets/filters-Bn7hYUeq.js +139 -0
- package/dist/showcase/assets/flag-BRs-GTCx.js +1 -0
- package/dist/showcase/assets/folder-open-DnFjlB3X.js +1 -0
- package/dist/showcase/assets/form-field-SW-Yp7H7.js +1 -0
- package/dist/showcase/assets/format-Bki5m7M3.js +1 -0
- package/dist/showcase/assets/forms-CAUL2gGq.js +915 -0
- package/dist/showcase/assets/funnel-D6g2Suhd.js +1 -0
- package/dist/showcase/assets/generic-CU6JNqKO.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-yqDwWA_y.js +1 -0
- package/dist/showcase/assets/gift-B2Qp9Vqt.js +1 -0
- package/dist/showcase/assets/giftcard-cards-Dk0DYoN2.js +85 -0
- package/dist/showcase/assets/git-branch-CPtvCNGc.js +1 -0
- package/dist/showcase/assets/global-search-D1ow01VA.js +1 -0
- package/dist/showcase/assets/global-search-DQR2AgDO.js +215 -0
- package/dist/showcase/assets/globe-BiZgUZFZ.js +1 -0
- package/dist/showcase/assets/gradient-card-D5isLy3_.js +58 -0
- package/dist/showcase/assets/hash-NJ5ohGOa.js +1 -0
- package/dist/showcase/assets/header-Df9uYSSH.js +1 -0
- package/dist/showcase/assets/header-notifications-sPR5NuON.js +1 -0
- package/dist/showcase/assets/heart-C4t7PVKW.js +1 -0
- package/dist/showcase/assets/hooks-0TKg0ZAK.js +220 -0
- package/dist/showcase/assets/house-CuLXFtjd.js +1 -0
- package/dist/showcase/assets/icon-badge-Cr6DD-_7.js +1 -0
- package/dist/showcase/assets/icon-badge-DMdMSSRL.js +37 -0
- package/dist/showcase/assets/image-DYjJaO0i.js +1 -0
- package/dist/showcase/assets/inbox-DGF8FgvV.js +1 -0
- package/dist/showcase/assets/index-ATou_nFA.js +10 -0
- package/dist/showcase/assets/index-C8U-r6l7.css +2 -0
- package/dist/showcase/assets/inertValue-CBi0sj8C.js +1 -0
- package/dist/showcase/assets/info-DLaTRPUT.js +1 -0
- package/dist/showcase/assets/inline-stat-DGpunTNF.js +1 -0
- package/dist/showcase/assets/inline-stat-rUaaOSmR.js +15 -0
- package/dist/showcase/assets/input-Cmrgo51H.js +1 -0
- package/dist/showcase/assets/input-CnmnWnGb.js +1 -0
- package/dist/showcase/assets/input-group-BwujFvXM.js +1 -0
- package/dist/showcase/assets/input-group-DvXgZtra.js +47 -0
- package/dist/showcase/assets/inputs-CjzW_R8z.js +155 -0
- package/dist/showcase/assets/installation-2dW-rmF2.js +134 -0
- package/dist/showcase/assets/invoice-header-DeWxMKCe.js +36 -0
- package/dist/showcase/assets/invoice-items-Dxb95w0e.js +36 -0
- package/dist/showcase/assets/invoice-mini-EMzCkmR7.js +14 -0
- package/dist/showcase/assets/invoice-table-ClWJaclJ.js +30 -0
- package/dist/showcase/assets/isSameDay-BNPzVySj.js +1 -0
- package/dist/showcase/assets/isToday-D6n7oLej.js +1 -0
- package/dist/showcase/assets/italic-B8w3dpYw.js +1 -0
- package/dist/showcase/assets/item-B8_dwOlT.js +1 -0
- package/dist/showcase/assets/item-Baq-Mmy2.js +1 -0
- package/dist/showcase/assets/item-BtMuqGwy.js +140 -0
- package/dist/showcase/assets/kanban-B-QxvKMg.js +188 -0
- package/dist/showcase/assets/key-round-CrBIyzIa.js +1 -0
- package/dist/showcase/assets/label-VWe_nbHh.js +1 -0
- package/dist/showcase/assets/languages-N0uGt5nC.js +1 -0
- package/dist/showcase/assets/layers-DEZvT5cX.js +1 -0
- package/dist/showcase/assets/layout-app-shell-T9UqKX2o.js +608 -0
- package/dist/showcase/assets/layout-auth-IVC4DuU3.js +790 -0
- package/dist/showcase/assets/layout-containers-naBpuH05.js +101 -0
- package/dist/showcase/assets/layout-header-9i_7ygKU.js +203 -0
- package/dist/showcase/assets/layout-page-CrEUiJpW.js +315 -0
- package/dist/showcase/assets/layout-primitives-DPrVHpu3.js +34 -0
- package/dist/showcase/assets/layout-sidebar-D7z6-kPu.js +224 -0
- package/dist/showcase/assets/layout-users-Cov9D84d.js +117 -0
- package/dist/showcase/assets/layout-workspace-Czlmi8gY.js +191 -0
- package/dist/showcase/assets/lib-DNMH46Rn.js +1 -0
- package/dist/showcase/assets/list-checks-DygDRIGi.js +1 -0
- package/dist/showcase/assets/lock-DqEahakB.js +1 -0
- package/dist/showcase/assets/lock-keyhole-CETEK3R0.js +1 -0
- package/dist/showcase/assets/mail-LKhBlrEc.js +1 -0
- package/dist/showcase/assets/mail-check-BOTjWQJf.js +1 -0
- package/dist/showcase/assets/map-0vJT2r8C.js +124 -0
- package/dist/showcase/assets/map-pin-D0qrpDJI.js +1 -0
- package/dist/showcase/assets/media-library-Bp99WaS9.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-mlV7LRvD.js +1 -0
- package/dist/showcase/assets/mentions-Cmd1zxOR.js +138 -0
- package/dist/showcase/assets/menus-CtjFPoDr.js +171 -0
- package/dist/showcase/assets/message-square-BXyvikcZ.js +1 -0
- package/dist/showcase/assets/metadata-list-DLUBcy7E.js +286 -0
- package/dist/showcase/assets/metadata-list-F3bWXtZB.js +1 -0
- package/dist/showcase/assets/metric-CXPRptlh.js +1 -0
- package/dist/showcase/assets/metric-bar-BY25WVZ0.js +1 -0
- package/dist/showcase/assets/metric-grid-DQtf9y6E.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-CXHpkj3U.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-BIuwiVrn.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-yx5lMGQf.js +50 -0
- package/dist/showcase/assets/metrics-comparison-BC_7jLXf.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-C_nhCljz.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-3oySQnoR.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-zS4-oiTO.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-UJkA2LNR.js +42 -0
- package/dist/showcase/assets/metrics-overview-DQFr22ol.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-DnBirxKV.js +54 -0
- package/dist/showcase/assets/minus-BOVQEx6C.js +1 -0
- package/dist/showcase/assets/money-display-DV7xlrNV.js +1 -0
- package/dist/showcase/assets/money-display-DxnM5--7.js +1 -0
- package/dist/showcase/assets/month-year-picker-BzRXCrQ7.js +1 -0
- package/dist/showcase/assets/navigation-ChJKLv4Y.js +90 -0
- package/dist/showcase/assets/navigation-D7VJsKrP.js +231 -0
- package/dist/showcase/assets/navigation-extras-BVc1xQuB.js +43 -0
- package/dist/showcase/assets/notification-banner-1ivcmPLe.js +1 -0
- package/dist/showcase/assets/onboarding-checklist-CbARgwpX.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-DlqMmyTx.js +1 -0
- package/dist/showcase/assets/overlays-DkWO50b8.js +159 -0
- package/dist/showcase/assets/overlays-KKZpxWjt.js +408 -0
- package/dist/showcase/assets/overview-BjQe-YZE.js +184 -0
- package/dist/showcase/assets/package-DhQRoFDo.js +1 -0
- package/dist/showcase/assets/package-check-CBgGiccG.js +1 -0
- package/dist/showcase/assets/page-BWTmyV5J.js +1 -0
- package/dist/showcase/assets/page-action-button-DV-YYRA4.js +1 -0
- package/dist/showcase/assets/page-header-Bmg4NU_P.js +1 -0
- package/dist/showcase/assets/pagination-ByQ_OXRU.js +1 -0
- package/dist/showcase/assets/pagination-Db5CuoBb.js +42 -0
- package/dist/showcase/assets/paperclip-BQNPUzG_.js +1 -0
- package/dist/showcase/assets/password-input-CPvjzM1f.js +1 -0
- package/dist/showcase/assets/pencil-DuBakHme.js +1 -0
- package/dist/showcase/assets/phone-t94LTB1m.js +1 -0
- package/dist/showcase/assets/placeholder-pattern-BNou2ep-.js +1 -0
- package/dist/showcase/assets/plus-BRcp6JhT.js +1 -0
- package/dist/showcase/assets/popover-CVuJP03o.js +1 -0
- package/dist/showcase/assets/popover-D_P2gTn8.js +1 -0
- package/dist/showcase/assets/popover-menu-DGY5jEk4.js +1 -0
- package/dist/showcase/assets/products-8sUfDMPU.js +423 -0
- package/dist/showcase/assets/progress-BrMvIZIz.js +1 -0
- package/dist/showcase/assets/progress-CSXZAavT.js +18 -0
- package/dist/showcase/assets/progress-Dvqpf_O0.js +1 -0
- package/dist/showcase/assets/props-table-BAfz1Zc6.js +1 -0
- package/dist/showcase/assets/props.generated-CuVoOKYT.json +41746 -0
- package/dist/showcase/assets/qr-code-C-CaHJQ2.js +1 -0
- package/dist/showcase/assets/quote-Ci80eS0u.js +1 -0
- package/dist/showcase/assets/receipt-jvwbPuE3.js +1 -0
- package/dist/showcase/assets/receipt-text-CT0GiMQm.js +1 -0
- package/dist/showcase/assets/refinement-guide-BnCQ9-6f.js +189 -0
- package/dist/showcase/assets/refresh-cw-CXDARnCe.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-DJanfUim.js +1 -0
- package/dist/showcase/assets/resource-Bir-z7ie.js +139 -0
- package/dist/showcase/assets/resource-D19qhfYP.js +1 -0
- package/dist/showcase/assets/resource-selector-card-BUbuu-QH.js +43 -0
- package/dist/showcase/assets/rich-text-editor-BCtz589M.js +124 -0
- package/dist/showcase/assets/rich-text-editor-uu9FmB8B.js +143 -0
- package/dist/showcase/assets/rotate-ccw-DEIVfiHA.js +1 -0
- package/dist/showcase/assets/route-B5vtDLsE.js +1 -0
- package/dist/showcase/assets/save-DQ4Up8ZB.js +1 -0
- package/dist/showcase/assets/schema-form-D7wbdl5u.js +327 -0
- package/dist/showcase/assets/scroll-area-B0QD6o1Y.js +32 -0
- package/dist/showcase/assets/scroll-area-BoZ1SrfI.js +1 -0
- package/dist/showcase/assets/section-BXsVHOsI.js +1 -0
- package/dist/showcase/assets/select-CW8SYsOY.js +1 -0
- package/dist/showcase/assets/select-DmRqLSoG.js +1 -0
- package/dist/showcase/assets/send-Dxs1-xSj.js +1 -0
- package/dist/showcase/assets/separator-BLOG_8oO.js +1 -0
- package/dist/showcase/assets/separator-DZC_uQU-.js +1 -0
- package/dist/showcase/assets/separator-OlLHRN7k.js +28 -0
- package/dist/showcase/assets/settings-2-BSpgytsy.js +1 -0
- package/dist/showcase/assets/settings-CCNP7XOu.js +1 -0
- package/dist/showcase/assets/sheet-DIfJjbgA.js +1 -0
- package/dist/showcase/assets/shield-D2gTWkwA.js +1 -0
- package/dist/showcase/assets/shield-alert-C-3oWpoe.js +1 -0
- package/dist/showcase/assets/shield-check-D11r1eJ8.js +1 -0
- package/dist/showcase/assets/shopping-bag-DAeaVQ5O.js +1 -0
- package/dist/showcase/assets/showcase-GdZcH6OR.js +132 -0
- package/dist/showcase/assets/sidebar-RBzHNuB7.js +1 -0
- package/dist/showcase/assets/sidebar.context-Dyw470Qp.js +1 -0
- package/dist/showcase/assets/skeleton-B7crngMw.js +1 -0
- package/dist/showcase/assets/skeleton-BwEVNdGJ.js +1 -0
- package/dist/showcase/assets/skeleton-DM73_ueB.js +1 -0
- package/dist/showcase/assets/skeleton-cHsWJOtO.js +29 -0
- package/dist/showcase/assets/slider-DRPnIs0S.js +1 -0
- package/dist/showcase/assets/smart-card-DER7dpD9.js +1 -0
- package/dist/showcase/assets/sonner-Go1YsPBH.js +22 -0
- package/dist/showcase/assets/sortable.esm-q6LdsxSr.js +5 -0
- package/dist/showcase/assets/sparkles-DqH40POl.js +1 -0
- package/dist/showcase/assets/spinner-C0YWWxyj.js +1 -0
- package/dist/showcase/assets/spinner-CpHNR13f.js +30 -0
- package/dist/showcase/assets/spinner-Dwvf24e9.js +49 -0
- package/dist/showcase/assets/square-pen-D-xHmIA0.js +1 -0
- package/dist/showcase/assets/stacked-avatars-C92NYKIa.js +1 -0
- package/dist/showcase/assets/star-dD4CAJ83.js +1 -0
- package/dist/showcase/assets/startOfDay-BXZshd4g.js +1 -0
- package/dist/showcase/assets/styles-BPJdkO_3.js +1 -0
- package/dist/showcase/assets/suggestions-CyhKme4Q.js +126 -0
- package/dist/showcase/assets/switch-C7DVTgQd.js +1 -0
- package/dist/showcase/assets/switch-LU6nljdS.js +1 -0
- package/dist/showcase/assets/sync-bERw1shm.js +124 -0
- package/dist/showcase/assets/table-BuIv4nqB.js +686 -0
- package/dist/showcase/assets/table-CDMDtBgJ.js +1 -0
- package/dist/showcase/assets/table-actions-DsK7d8Yb.js +1 -0
- package/dist/showcase/assets/tabs-BDryywGb.js +19 -0
- package/dist/showcase/assets/tabs-BNaZmM48.js +1 -0
- package/dist/showcase/assets/tags-input-CzE_5BJl.js +1 -0
- package/dist/showcase/assets/text-button-B1m5cpX_.js +1 -0
- package/dist/showcase/assets/text-link-CqjW10Ce.js +1 -0
- package/dist/showcase/assets/textarea-xJ3EE8R9.js +1 -0
- package/dist/showcase/assets/textarea-xOekToAG.js +1 -0
- package/dist/showcase/assets/throttle-alert-BH1HMiaI.js +1 -0
- package/dist/showcase/assets/timelines-DjWkuOz3.js +200 -0
- package/dist/showcase/assets/toggle-group-Css6pfUI.js +1 -0
- package/dist/showcase/assets/toggles-DhDrn3YH.js +71 -0
- package/dist/showcase/assets/toggles-group-e4xtKzkl.js +32 -0
- package/dist/showcase/assets/tooltip-DMvMUrGe.js +31 -0
- package/dist/showcase/assets/trash-2-zILxQmtX.js +1 -0
- package/dist/showcase/assets/trending-up-CRH278ig.js +1 -0
- package/dist/showcase/assets/truck-At9CEKg7.js +1 -0
- package/dist/showcase/assets/typography-B0ehvSV4.js +223 -0
- package/dist/showcase/assets/ui-badge-CyLWYf3f.js +28 -0
- package/dist/showcase/assets/ui-card-BPnLZmkJ.js +30 -0
- package/dist/showcase/assets/ui-table-C-zXhcOm.js +42 -0
- package/dist/showcase/assets/upload-tray-IyQJEM9n.js +138 -0
- package/dist/showcase/assets/use-layout-link-Cux4giQO.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-Bo0rTGvc.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-CzU-1LY3.js +1 -0
- package/dist/showcase/assets/useCompositeItem-CJFNnVql.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-BAuO9hue.js +1 -0
- package/dist/showcase/assets/useLabelableId-HuACs9ba.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-MEUfJuxN.js +1 -0
- package/dist/showcase/assets/useRender-B-6DpRfj.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-B-mRyUJJ.js +1 -0
- package/dist/showcase/assets/useValueChanged-CVn_Rfso.js +1 -0
- package/dist/showcase/assets/user-eelwPGBI.js +1 -0
- package/dist/showcase/assets/user-plus-DhswMZvb.js +1 -0
- package/dist/showcase/assets/users-BVMmaveS.js +1 -0
- package/dist/showcase/assets/vendor-profile-FHaiInTe.js +37 -0
- package/dist/showcase/assets/video-C42fxAyj.js +1 -0
- package/dist/showcase/assets/visually-hidden-BwzlEinj.js +1 -0
- package/dist/showcase/assets/wrench-EKI7PaKp.js +1 -0
- package/dist/showcase/assets/x--LIqlhum.js +1 -0
- package/dist/showcase/assets/zap-C1fX30vt.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/tokens/foundation.css +20 -6
- package/src/css/tokens/primitives.css +1 -1
- package/src/css/tokens/states.css +3 -0
- package/dist/_shared/accordion-BRj4TDQx.js +0 -135
- package/dist/_shared/accordion-BRj4TDQx.js.map +0 -1
- package/dist/_shared/accordion-DvlDjk29.cjs +0 -2
- package/dist/_shared/accordion-DvlDjk29.cjs.map +0 -1
- package/dist/_shared/action-menu-BrHF4nss.cjs +0 -2
- package/dist/_shared/action-menu-BrHF4nss.cjs.map +0 -1
- package/dist/_shared/action-menu-Crn22LKo.js +0 -96
- package/dist/_shared/action-menu-Crn22LKo.js.map +0 -1
- package/dist/_shared/ai-artifact-BHgd3agA.js +0 -1099
- package/dist/_shared/ai-artifact-BHgd3agA.js.map +0 -1
- package/dist/_shared/ai-artifact-BRM5cvGv.cjs +0 -3
- package/dist/_shared/ai-artifact-BRM5cvGv.cjs.map +0 -1
- package/dist/_shared/alert-CMVVt2Br.js +0 -81
- package/dist/_shared/alert-CMVVt2Br.js.map +0 -1
- package/dist/_shared/alert-Dmhtbmpg.cjs +0 -2
- package/dist/_shared/alert-Dmhtbmpg.cjs.map +0 -1
- package/dist/_shared/auth-DZW6NkJx.cjs +0 -2
- package/dist/_shared/auth-DZW6NkJx.cjs.map +0 -1
- package/dist/_shared/auth-Dh790NI_.js +0 -643
- package/dist/_shared/auth-Dh790NI_.js.map +0 -1
- package/dist/_shared/badge-B8xGFpfM.cjs +0 -2
- package/dist/_shared/badge-B8xGFpfM.cjs.map +0 -1
- package/dist/_shared/badge-BYNwSWh5.js +0 -110
- package/dist/_shared/badge-BYNwSWh5.js.map +0 -1
- package/dist/_shared/button-BMiPFJIb.cjs +0 -2
- package/dist/_shared/button-BMiPFJIb.cjs.map +0 -1
- package/dist/_shared/button-vv59_uS_.js +0 -189
- package/dist/_shared/button-vv59_uS_.js.map +0 -1
- package/dist/_shared/buttons-CvqIMv3I.js +0 -137
- package/dist/_shared/buttons-CvqIMv3I.js.map +0 -1
- package/dist/_shared/buttons-tCkWktN3.cjs +0 -2
- package/dist/_shared/buttons-tCkWktN3.cjs.map +0 -1
- package/dist/_shared/card-radio-group-Bhe8gAbH.js +0 -150
- package/dist/_shared/card-radio-group-Bhe8gAbH.js.map +0 -1
- package/dist/_shared/card-radio-group-CdG1zr8M.cjs +0 -2
- package/dist/_shared/card-radio-group-CdG1zr8M.cjs.map +0 -1
- package/dist/_shared/cards-Cu6p1Brd.cjs +0 -2
- package/dist/_shared/cards-Cu6p1Brd.cjs.map +0 -1
- package/dist/_shared/cards-cQ9lL6zy.js +0 -354
- package/dist/_shared/cards-cQ9lL6zy.js.map +0 -1
- package/dist/_shared/combobox-BGYjyXeN.cjs +0 -2
- package/dist/_shared/combobox-BGYjyXeN.cjs.map +0 -1
- package/dist/_shared/combobox-DTwomOBt.js +0 -954
- package/dist/_shared/combobox-DTwomOBt.js.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-C97vL5km.js +0 -952
- package/dist/_shared/comments-C97vL5km.js.map +0 -1
- package/dist/_shared/comments-DBe6dP-d.cjs +0 -2
- package/dist/_shared/comments-DBe6dP-d.cjs.map +0 -1
- package/dist/_shared/copyable-BgFdERqs.js +0 -38
- package/dist/_shared/copyable-BgFdERqs.js.map +0 -1
- package/dist/_shared/copyable-Ce8rmE-V.cjs +0 -2
- package/dist/_shared/copyable-Ce8rmE-V.cjs.map +0 -1
- package/dist/_shared/data-display-DUWxoDKq.js +0 -1873
- package/dist/_shared/data-display-DUWxoDKq.js.map +0 -1
- package/dist/_shared/data-display-o-rbMuIA.cjs +0 -2
- package/dist/_shared/data-display-o-rbMuIA.cjs.map +0 -1
- package/dist/_shared/date-picker-Cxx9jllA.js +0 -1361
- package/dist/_shared/date-picker-Cxx9jllA.js.map +0 -1
- package/dist/_shared/date-picker-DE5A8yqN.cjs +0 -2
- package/dist/_shared/date-picker-DE5A8yqN.cjs.map +0 -1
- package/dist/_shared/date-pickers-Dex1Mfye.cjs +0 -2
- package/dist/_shared/date-pickers-Dex1Mfye.cjs.map +0 -1
- package/dist/_shared/date-pickers-m0dpDcqH.js +0 -329
- package/dist/_shared/date-pickers-m0dpDcqH.js.map +0 -1
- package/dist/_shared/display-Bro3Kufg.js +0 -986
- package/dist/_shared/display-Bro3Kufg.js.map +0 -1
- package/dist/_shared/display-CRQjSjgB.cjs +0 -2
- package/dist/_shared/display-CRQjSjgB.cjs.map +0 -1
- package/dist/_shared/forms-D-SNQmtB.cjs +0 -2
- package/dist/_shared/forms-D-SNQmtB.cjs.map +0 -1
- package/dist/_shared/forms-p7cfzJwf.js +0 -3533
- package/dist/_shared/forms-p7cfzJwf.js.map +0 -1
- package/dist/_shared/header-8C71wVRp.js +0 -447
- package/dist/_shared/header-8C71wVRp.js.map +0 -1
- package/dist/_shared/header-CYgFCnjZ.cjs +0 -2
- package/dist/_shared/header-CYgFCnjZ.cjs.map +0 -1
- package/dist/_shared/hooks-Ci1LFWRG.js +0 -95
- package/dist/_shared/hooks-Ci1LFWRG.js.map +0 -1
- package/dist/_shared/hooks-Cjl7LJpn.cjs +0 -2
- package/dist/_shared/hooks-Cjl7LJpn.cjs.map +0 -1
- package/dist/_shared/input-BgcP6x4C.js +0 -182
- package/dist/_shared/input-BgcP6x4C.js.map +0 -1
- package/dist/_shared/input-DV3g7Fm5.cjs +0 -2
- package/dist/_shared/input-DV3g7Fm5.cjs.map +0 -1
- package/dist/_shared/item-D7GTzvhf.js +0 -226
- package/dist/_shared/item-D7GTzvhf.js.map +0 -1
- package/dist/_shared/item-DTrnHpfm.cjs +0 -2
- package/dist/_shared/item-DTrnHpfm.cjs.map +0 -1
- package/dist/_shared/layout-BExg7Vlx.js +0 -261
- package/dist/_shared/layout-BExg7Vlx.js.map +0 -1
- package/dist/_shared/layout-CKRD_goE.cjs +0 -2
- package/dist/_shared/layout-CKRD_goE.cjs.map +0 -1
- package/dist/_shared/mentions-BtGhYisA.js +0 -506
- package/dist/_shared/mentions-BtGhYisA.js.map +0 -1
- package/dist/_shared/mentions-CnVOuQJU.cjs +0 -2
- package/dist/_shared/mentions-CnVOuQJU.cjs.map +0 -1
- package/dist/_shared/money-display-BvVpRUs5.cjs +0 -2
- package/dist/_shared/money-display-BvVpRUs5.cjs.map +0 -1
- package/dist/_shared/money-display-D6Qtvyyv.js +0 -198
- package/dist/_shared/money-display-D6Qtvyyv.js.map +0 -1
- package/dist/_shared/navigation-C4dO1I82.cjs +0 -2
- package/dist/_shared/navigation-C4dO1I82.cjs.map +0 -1
- package/dist/_shared/navigation-Ct-LFlpY.js +0 -436
- package/dist/_shared/navigation-Ct-LFlpY.js.map +0 -1
- package/dist/_shared/overlays-ChyqXn0n.js +0 -735
- package/dist/_shared/overlays-ChyqXn0n.js.map +0 -1
- package/dist/_shared/overlays-Dn2bt3CL.cjs +0 -2
- package/dist/_shared/overlays-Dn2bt3CL.cjs.map +0 -1
- package/dist/_shared/popover-menu-17Dxn25O.js +0 -93
- package/dist/_shared/popover-menu-17Dxn25O.js.map +0 -1
- package/dist/_shared/popover-menu-DXVN0bvj.cjs +0 -2
- package/dist/_shared/popover-menu-DXVN0bvj.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-BRpcNkj1.js +0 -620
- package/dist/_shared/rich-text-editor-BRpcNkj1.js.map +0 -1
- package/dist/_shared/rich-text-editor-BXxGNbmI.cjs +0 -2
- package/dist/_shared/rich-text-editor-BXxGNbmI.cjs.map +0 -1
- package/dist/_shared/settings-CW9yzfQM.js +0 -143
- package/dist/_shared/settings-CW9yzfQM.js.map +0 -1
- package/dist/_shared/settings-cCPrw7si.cjs +0 -2
- package/dist/_shared/settings-cCPrw7si.cjs.map +0 -1
- package/dist/_shared/sidebar-Cq6J_I4l.cjs +0 -2
- package/dist/_shared/sidebar-Cq6J_I4l.cjs.map +0 -1
- package/dist/_shared/sidebar-DtF_ihE3.js +0 -548
- package/dist/_shared/sidebar-DtF_ihE3.js.map +0 -1
- package/dist/_shared/spinner-DY2de3Wt.cjs +0 -2
- package/dist/_shared/spinner-DY2de3Wt.cjs.map +0 -1
- package/dist/_shared/spinner-ZmIq_zsx.js +0 -67
- package/dist/_shared/spinner-ZmIq_zsx.js.map +0 -1
- package/dist/_shared/table-BBWc-wIw.js +0 -1377
- package/dist/_shared/table-BBWc-wIw.js.map +0 -1
- package/dist/_shared/table-DMDkdLzV.cjs +0 -2
- package/dist/_shared/table-DMDkdLzV.cjs.map +0 -1
- package/dist/_shared/textarea-C1TeJ7Vt.cjs +0 -2
- package/dist/_shared/textarea-C1TeJ7Vt.cjs.map +0 -1
- package/dist/_shared/textarea-CGRkgH5z.js +0 -118
- package/dist/_shared/textarea-CGRkgH5z.js.map +0 -1
- package/dist/_shared/typography-CzFVA1w1.js +0 -201
- package/dist/_shared/typography-CzFVA1w1.js.map +0 -1
- package/dist/_shared/typography-GtkgK9QX.cjs +0 -2
- package/dist/_shared/typography-GtkgK9QX.cjs.map +0 -1
- package/dist/_shared/ui-provider-DZWtUXf2.cjs +0 -2
- package/dist/_shared/ui-provider-DZWtUXf2.cjs.map +0 -1
- package/dist/_shared/ui-provider-Dj6OSOZi.js +0 -81
- package/dist/_shared/ui-provider-Dj6OSOZi.js.map +0 -1
- package/dist/_shared/workspace-BF5BtDhD.cjs +0 -2
- package/dist/_shared/workspace-BF5BtDhD.cjs.map +0 -1
- package/dist/_shared/workspace-IvsczduM.js +0 -357
- package/dist/_shared/workspace-IvsczduM.js.map +0 -1
- package/dist/showcase/assets/AreaChart-CsIm9z7Y.js +0 -6
- package/dist/showcase/assets/CompositeItem-D9zznn01.js +0 -1
- package/dist/showcase/assets/CompositeRoot-CvxtZ81W.js +0 -1
- package/dist/showcase/assets/DialogTrigger-C-osQGHu.js +0 -1
- package/dist/showcase/assets/LabelableContext-_EE-HBND.js +0 -1
- package/dist/showcase/assets/PreviewLayout-KdEsSl3b.js +0 -1
- package/dist/showcase/assets/RadioGroup-4jOeNTc1.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-CXTdUcaE.js +0 -1
- package/dist/showcase/assets/Separator-CHVXO6nj.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-CM5tQGGX.js +0 -1
- package/dist/showcase/assets/accordion-CA84bxb2.js +0 -171
- package/dist/showcase/assets/accordion-variants-DqWzAOO3.js +0 -1
- package/dist/showcase/assets/action-menu-D0q5z-Kq.js +0 -1
- package/dist/showcase/assets/actions-DnqxABJU.js +0 -310
- package/dist/showcase/assets/activities-BC9hoMy9.js +0 -500
- package/dist/showcase/assets/activities-feed-card-D6wGLpbH.js +0 -1
- package/dist/showcase/assets/admin-CMnMsugJ.js +0 -140
- package/dist/showcase/assets/ai-B6_sE9Zg.js +0 -207
- package/dist/showcase/assets/ai-artifact-BVvbsSJB.js +0 -2
- package/dist/showcase/assets/ai-chat-lcXeqJrA.js +0 -568
- package/dist/showcase/assets/ai-elements-B32o_UjE.js +0 -387
- package/dist/showcase/assets/ai-tool-call-BLrAioKz.js +0 -1
- package/dist/showcase/assets/alert-B1p1Grce.js +0 -62
- package/dist/showcase/assets/alert-BBiffYsY.js +0 -93
- package/dist/showcase/assets/alert-vH0nJ8J9.js +0 -1
- package/dist/showcase/assets/api-key-list-BrSc6V1y.js +0 -1
- package/dist/showcase/assets/api-key-list-CoKe_PaL.js +0 -73
- package/dist/showcase/assets/app-sidebar-R93lRPB4.js +0 -1
- package/dist/showcase/assets/arrow-down-xxVIADbv.js +0 -1
- package/dist/showcase/assets/arrow-left-DxnlnN8R.js +0 -1
- package/dist/showcase/assets/arrow-right-S5k93UPM.js +0 -1
- package/dist/showcase/assets/arrow-up-OlEVG7a-.js +0 -1
- package/dist/showcase/assets/arrow-up-right-j55bbl4b.js +0 -1
- package/dist/showcase/assets/avatar-BbiXvZq7.js +0 -67
- package/dist/showcase/assets/avatar-Bwpw-hQo.js +0 -57
- package/dist/showcase/assets/avatar-D0DKQ1lK.js +0 -1
- package/dist/showcase/assets/avatar-WyjSBov9.js +0 -1
- package/dist/showcase/assets/badge-BzLZQO3L.js +0 -31
- package/dist/showcase/assets/badge-check-TFWm1m3F.js +0 -1
- package/dist/showcase/assets/bell-CmuQlO_k.js +0 -1
- package/dist/showcase/assets/bot-Bu518AJB.js +0 -1
- package/dist/showcase/assets/box-D-wrSdOJ.js +0 -1
- package/dist/showcase/assets/braces-CgCdmdAl.js +0 -1
- package/dist/showcase/assets/brain-DkHdwgHO.js +0 -1
- package/dist/showcase/assets/brand-CpovnVoG.js +0 -36
- package/dist/showcase/assets/breadcrumb-BUc0WC5d.js +0 -1
- package/dist/showcase/assets/breadcrumb-Do_Dazt1.js +0 -52
- package/dist/showcase/assets/breadcrumbs-Bj21o2zm.js +0 -1
- package/dist/showcase/assets/briefcase-CQBh2kok.js +0 -1
- package/dist/showcase/assets/building-2-D07Ej6iR.js +0 -1
- package/dist/showcase/assets/button-CCZ4KEGQ.js +0 -44
- package/dist/showcase/assets/button-group-BTjeHOvz.js +0 -1
- package/dist/showcase/assets/buttons-D45Wwiwn.js +0 -272
- package/dist/showcase/assets/calendar-BsEWULmZ.js +0 -16
- package/dist/showcase/assets/calendar-CkPefzIO.js +0 -1
- package/dist/showcase/assets/calendar-DZlT3qTq.js +0 -1
- package/dist/showcase/assets/calendar-days-C9awTMru.js +0 -1
- package/dist/showcase/assets/camera-CQhMw-RD.js +0 -1
- package/dist/showcase/assets/card-CKrz_UHt.js +0 -1
- package/dist/showcase/assets/card-DZgZgjXO.js +0 -188
- package/dist/showcase/assets/card-primitives-CpkDLK3Y.js +0 -1
- package/dist/showcase/assets/card-radio-group-BjXwMI4v.js +0 -1
- package/dist/showcase/assets/cards-Cd24XZ9l.js +0 -353
- package/dist/showcase/assets/carousel-Doon04yO.js +0 -449
- package/dist/showcase/assets/cell-renderers-CTay3duH.js +0 -1
- package/dist/showcase/assets/chart-CkvbdpWw.js +0 -358
- package/dist/showcase/assets/chart-column-Dz57kUMl.js +0 -1
- package/dist/showcase/assets/checkbox-L-L4-wvA.js +0 -1
- package/dist/showcase/assets/checkbox-sP254E7e.js +0 -1
- package/dist/showcase/assets/chevron-down-CLc_a2Ua.js +0 -1
- package/dist/showcase/assets/chevron-left-CMRIGOJt.js +0 -1
- package/dist/showcase/assets/chevron-up-BDw6LdDZ.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-C519RKki.js +0 -1
- package/dist/showcase/assets/circle-B_tOHWTY.js +0 -1
- package/dist/showcase/assets/circle-alert-B56AFULT.js +0 -1
- package/dist/showcase/assets/circle-check-B4XZj4Ty.js +0 -1
- package/dist/showcase/assets/circle-check-big-C0iEkwPB.js +0 -1
- package/dist/showcase/assets/circle-dot-DPdJZkc6.js +0 -1
- package/dist/showcase/assets/circle-question-mark-LTetdrq6.js +0 -1
- package/dist/showcase/assets/circle-x-B4FwM-sI.js +0 -1
- package/dist/showcase/assets/clock-3-DZhjBuw8.js +0 -1
- package/dist/showcase/assets/clock-B9Fna2Q3.js +0 -1
- package/dist/showcase/assets/code-xml-B6Xb_vIg.js +0 -1
- package/dist/showcase/assets/collapsible-Bf7Oo37i.js +0 -27
- package/dist/showcase/assets/collapsible-BfLeooy8.js +0 -1
- package/dist/showcase/assets/combobox-4NYfJznY.js +0 -685
- package/dist/showcase/assets/command-7jRRucHf.js +0 -1
- package/dist/showcase/assets/command-D56CjgNc.js +0 -1
- package/dist/showcase/assets/comment-composer-BWeXIZfK.js +0 -1
- package/dist/showcase/assets/comment-item-ChkiK-ut.js +0 -1
- package/dist/showcase/assets/comments-YnEop7v3.js +0 -357
- package/dist/showcase/assets/commerce-7XxWJChs.js +0 -267
- package/dist/showcase/assets/composite-CHcyYCsk.js +0 -1
- package/dist/showcase/assets/contact-card-BXw-VuBm.js +0 -65
- package/dist/showcase/assets/content-container-C4uopCBg.js +0 -1
- package/dist/showcase/assets/copyable-CjVYEJ0P.js +0 -1
- package/dist/showcase/assets/copyable-Cz2jW7yL.js +0 -96
- package/dist/showcase/assets/course-card-CvK3dw9W.js +0 -77
- package/dist/showcase/assets/cpu-Vk5WgcC1.js +0 -1
- package/dist/showcase/assets/credit-card-CaigqZGk.js +0 -1
- package/dist/showcase/assets/css-variables-hLaBmeMt.js +0 -1190
- package/dist/showcase/assets/currency-yO1giHp1.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BPQnyk9a.js +0 -90
- package/dist/showcase/assets/data-view-CjjXn5VT.js +0 -124
- package/dist/showcase/assets/data-view-DF0n8uva.js +0 -4
- package/dist/showcase/assets/database-ChUBDe8E.js +0 -1
- package/dist/showcase/assets/date-block-DUg1Oyn4.js +0 -1
- package/dist/showcase/assets/date-picker-CoQPZa34.js +0 -1
- package/dist/showcase/assets/date-pickers-B-IUbyXw.js +0 -73
- package/dist/showcase/assets/dense-info-zVQSWqOU.js +0 -106
- package/dist/showcase/assets/design-system-consistency-Bnz_h3-6.js +0 -264
- package/dist/showcase/assets/dialog-BtilpgxJ.js +0 -1
- package/dist/showcase/assets/dialog-kf9WwmTC.js +0 -1
- package/dist/showcase/assets/display-utilities-BBzG5EPX.js +0 -267
- package/dist/showcase/assets/dist-9gFIhkw-.js +0 -45
- package/dist/showcase/assets/dist-CGpz_7Mu.js +0 -1
- package/dist/showcase/assets/dollar-sign-CWbYI3Pd.js +0 -1
- package/dist/showcase/assets/download-Bt_z-poH.js +0 -1
- package/dist/showcase/assets/dropdown-menu-C1_SYTHm.js +0 -1
- package/dist/showcase/assets/dropzone-D5BGVTnl.js +0 -1
- package/dist/showcase/assets/earth-sP5mIgG3.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-BD7kMOzj.js +0 -1
- package/dist/showcase/assets/ellipsis-yqIF49C8.js +0 -1
- package/dist/showcase/assets/empty-DIrJgtrh.js +0 -1
- package/dist/showcase/assets/empty-item-GgnZk2yf.js +0 -49
- package/dist/showcase/assets/empty-state-ZGKkJ6sf.js +0 -190
- package/dist/showcase/assets/empty-state-n_Fspzt-.js +0 -1
- package/dist/showcase/assets/enhanced-activities-CCw_hZnZ.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-bBF-ADDs.js +0 -1
- package/dist/showcase/assets/esm-CyFPn936.js +0 -2
- package/dist/showcase/assets/event-calendar-Czo7yBDx.js +0 -138
- package/dist/showcase/assets/event-log-DJ3B3nMV.js +0 -330
- package/dist/showcase/assets/example-eGsLGIcp.js +0 -1
- package/dist/showcase/assets/external-link-DPOQEVWH.js +0 -1
- package/dist/showcase/assets/eye-CN92NVL0.js +0 -1
- package/dist/showcase/assets/feature-announcement-BXkSW17e.js +0 -34
- package/dist/showcase/assets/file-CFHePlKG.js +0 -1
- package/dist/showcase/assets/file-text--WYCYQMw.js +0 -1
- package/dist/showcase/assets/filter-layout-B35gGmcO.js +0 -1
- package/dist/showcase/assets/filters-GDW_oiT3.js +0 -139
- package/dist/showcase/assets/flag-XsT9XFPr.js +0 -1
- package/dist/showcase/assets/folder-open-RtsQ8vxf.js +0 -1
- package/dist/showcase/assets/form-field-Bijd1Gex.js +0 -1
- package/dist/showcase/assets/format-Ckw4OM66.js +0 -1
- package/dist/showcase/assets/forms-00bU7LN8.js +0 -915
- package/dist/showcase/assets/funnel-qu25WlXD.js +0 -1
- package/dist/showcase/assets/generic-Bf82Wiol.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-BR4_m2HH.js +0 -1
- package/dist/showcase/assets/gift-D4GQoqzV.js +0 -1
- package/dist/showcase/assets/giftcard-cards-CMutwaAY.js +0 -85
- package/dist/showcase/assets/git-branch-B2QG2zRg.js +0 -1
- package/dist/showcase/assets/global-search-CRAB9TSF.js +0 -1
- package/dist/showcase/assets/global-search-DY0cKfhY.js +0 -215
- package/dist/showcase/assets/globe-BxZW28rG.js +0 -1
- package/dist/showcase/assets/gradient-card-CQGnXG8r.js +0 -58
- package/dist/showcase/assets/hash-CsRtIoKK.js +0 -1
- package/dist/showcase/assets/header-DzYOgZLP.js +0 -1
- package/dist/showcase/assets/header-notifications-D_CJPbvs.js +0 -1
- package/dist/showcase/assets/heart-B2YsYprq.js +0 -1
- package/dist/showcase/assets/hooks-BhUMA4Tb.js +0 -220
- package/dist/showcase/assets/house-HeRFNhI0.js +0 -1
- package/dist/showcase/assets/icon-badge-CpDkc-S0.js +0 -37
- package/dist/showcase/assets/icon-badge-eNEGgpAV.js +0 -1
- package/dist/showcase/assets/image-T88JyDag.js +0 -1
- package/dist/showcase/assets/inbox-DLrLLnTR.js +0 -1
- package/dist/showcase/assets/index-DDZl6kOS.js +0 -10
- package/dist/showcase/assets/index-nOkXemgw.css +0 -2
- package/dist/showcase/assets/inertValue-BajuuRy4.js +0 -1
- package/dist/showcase/assets/info-CNYfw2Yz.js +0 -1
- package/dist/showcase/assets/inline-stat-BN6yhDR5.js +0 -15
- package/dist/showcase/assets/inline-stat-Bqw3lVfk.js +0 -1
- package/dist/showcase/assets/input-C-9K6F0N.js +0 -1
- package/dist/showcase/assets/input-DaZzfkZV.js +0 -1
- package/dist/showcase/assets/input-group-DE-Xdhv4.js +0 -1
- package/dist/showcase/assets/input-group-DIQZnytn.js +0 -47
- package/dist/showcase/assets/inputs-Cl_JgSR4.js +0 -155
- package/dist/showcase/assets/installation-DdhD4Dkq.js +0 -134
- package/dist/showcase/assets/invoice-header-DOs2ACqQ.js +0 -36
- package/dist/showcase/assets/invoice-items-1EuA62mF.js +0 -36
- package/dist/showcase/assets/invoice-mini-vCrYEtWp.js +0 -14
- package/dist/showcase/assets/invoice-table--mDTs1Iz.js +0 -30
- package/dist/showcase/assets/isSameDay-BNB1yam4.js +0 -1
- package/dist/showcase/assets/isToday-BugOpGJC.js +0 -1
- package/dist/showcase/assets/italic-Ck4UD2ZT.js +0 -1
- package/dist/showcase/assets/item-BcesxqFS.js +0 -139
- package/dist/showcase/assets/item-BgPlwUMv.js +0 -1
- package/dist/showcase/assets/item-CB9k_rmo.js +0 -1
- package/dist/showcase/assets/kanban-cPuSVqWY.js +0 -188
- package/dist/showcase/assets/key-round-BmYjd5dk.js +0 -1
- package/dist/showcase/assets/label-BTIBJBqN.js +0 -1
- package/dist/showcase/assets/languages-he6FNXRs.js +0 -1
- package/dist/showcase/assets/layers-B_48DtOz.js +0 -1
- package/dist/showcase/assets/layout-app-shell-zwLv6jTP.js +0 -608
- package/dist/showcase/assets/layout-auth-2Zv5lr52.js +0 -790
- package/dist/showcase/assets/layout-containers-Dzw3xlKn.js +0 -101
- package/dist/showcase/assets/layout-header-TJ-WVmG3.js +0 -203
- package/dist/showcase/assets/layout-page-CIVQCKXK.js +0 -314
- package/dist/showcase/assets/layout-primitives-i_O81fzT.js +0 -34
- package/dist/showcase/assets/layout-sidebar-eH_pwBq_.js +0 -224
- package/dist/showcase/assets/layout-users-CWSaFBLj.js +0 -117
- package/dist/showcase/assets/layout-workspace-w3oe32GE.js +0 -191
- package/dist/showcase/assets/lib-CoS0xjP8.js +0 -1
- package/dist/showcase/assets/list-checks-DecRPpK3.js +0 -1
- package/dist/showcase/assets/lock-D9f8uXol.js +0 -1
- package/dist/showcase/assets/lock-keyhole-C20eixH6.js +0 -1
- package/dist/showcase/assets/mail-CVgP8Qlo.js +0 -1
- package/dist/showcase/assets/mail-check-mplTKcSH.js +0 -1
- package/dist/showcase/assets/map-B6OGeOup.js +0 -124
- package/dist/showcase/assets/map-pin-BZXSwrzT.js +0 -1
- package/dist/showcase/assets/media-library-DSlVIM1Q.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-CNAEeXgy.js +0 -1
- package/dist/showcase/assets/mentions-Cb3g4hDN.js +0 -138
- package/dist/showcase/assets/menus-CE0Hlj8N.js +0 -171
- package/dist/showcase/assets/message-square-HliU8vbW.js +0 -1
- package/dist/showcase/assets/metadata-list-CJ5v5Bvc.js +0 -286
- package/dist/showcase/assets/metadata-list-DY92-pw2.js +0 -1
- package/dist/showcase/assets/metric-DxMTjIvU.js +0 -1
- package/dist/showcase/assets/metric-bar-cW9nWCRl.js +0 -1
- package/dist/showcase/assets/metric-grid-CvfO52X1.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-BmjQdRus.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-BZqB5d1y.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-jAhlrQCI.js +0 -50
- package/dist/showcase/assets/metrics-comparison-DURZ6qEL.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-HhJDBguh.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-Dq5k-P6F.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-DXzhwa6z.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-C6O5b0wP.js +0 -42
- package/dist/showcase/assets/metrics-overview-Hv2mseb3.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-CW42vBCS.js +0 -54
- package/dist/showcase/assets/minus-BW62vCxf.js +0 -1
- package/dist/showcase/assets/money-display-CAdGk5Lr.js +0 -1
- package/dist/showcase/assets/month-year-picker-dHuvgz1E.js +0 -1
- package/dist/showcase/assets/navigation-C4uSLvbZ.js +0 -90
- package/dist/showcase/assets/navigation-SjsZrtIc.js +0 -231
- package/dist/showcase/assets/navigation-extras-CMVNVskk.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-C1jwRdMU.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-BYFLpl5w.js +0 -1
- package/dist/showcase/assets/overlays-0Y8MAz39.js +0 -159
- package/dist/showcase/assets/overlays-ClOnjahL.js +0 -408
- package/dist/showcase/assets/overview-B5ztGmTp.js +0 -184
- package/dist/showcase/assets/package-check-MeSw6bS4.js +0 -1
- package/dist/showcase/assets/package-vYJ0q0QM.js +0 -1
- package/dist/showcase/assets/page-4lMKtBQ7.js +0 -1
- package/dist/showcase/assets/page-action-button-C5-TGSzy.js +0 -1
- package/dist/showcase/assets/page-header-C_-KYryO.js +0 -1
- package/dist/showcase/assets/pagination-D3L3Iwus.js +0 -1
- package/dist/showcase/assets/pagination-dZXPxwHx.js +0 -42
- package/dist/showcase/assets/paperclip-BZhdPOw8.js +0 -1
- package/dist/showcase/assets/password-input-CDSMtGxt.js +0 -1
- package/dist/showcase/assets/pencil-DiYr3CZ9.js +0 -1
- package/dist/showcase/assets/phone-Dm5qzlG8.js +0 -1
- package/dist/showcase/assets/plus-pfGaA3St.js +0 -1
- package/dist/showcase/assets/popover-CjVWDO7C.js +0 -1
- package/dist/showcase/assets/popover-menu-JcZyGV3Y.js +0 -1
- package/dist/showcase/assets/popover-pZ4Jbp0s.js +0 -1
- package/dist/showcase/assets/products-C62MKtAR.js +0 -423
- package/dist/showcase/assets/progress-Btw-ZUaU.js +0 -18
- package/dist/showcase/assets/progress-DpB5LL6R.js +0 -1
- package/dist/showcase/assets/props-table-Bjc9IHmp.js +0 -1
- package/dist/showcase/assets/props.generated-cO7HmIpY.json +0 -41578
- package/dist/showcase/assets/quote-DcxVd1fj.js +0 -1
- package/dist/showcase/assets/receipt-BHns-S5Q.js +0 -1
- package/dist/showcase/assets/receipt-text-L0aYasyt.js +0 -1
- package/dist/showcase/assets/refinement-guide-BBOGBJ4I.js +0 -189
- package/dist/showcase/assets/refresh-cw-z6mlm0HI.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-hsarzg5A.js +0 -1
- package/dist/showcase/assets/resource-CIn_zKZ4.js +0 -139
- package/dist/showcase/assets/resource-DxktLgEK.js +0 -1
- package/dist/showcase/assets/resource-selector-card-dkcEQ6bl.js +0 -43
- package/dist/showcase/assets/rich-text-editor-Dd-rWisw.js +0 -124
- package/dist/showcase/assets/rich-text-editor-DvJMFj48.js +0 -143
- package/dist/showcase/assets/rotate-ccw-DEz6nb5P.js +0 -1
- package/dist/showcase/assets/route-BeXaXTk8.js +0 -1
- package/dist/showcase/assets/save-EE7Tc5OT.js +0 -1
- package/dist/showcase/assets/schema-form-RK9Zpz1E.js +0 -327
- package/dist/showcase/assets/scroll-area-BejQJ0Q1.js +0 -32
- package/dist/showcase/assets/scroll-area-DS8LJ7LG.js +0 -1
- package/dist/showcase/assets/section-Cv8i4DIx.js +0 -1
- package/dist/showcase/assets/select-Cuy3YKW9.js +0 -1
- package/dist/showcase/assets/select-qFy1jm91.js +0 -1
- package/dist/showcase/assets/send-CXv0ST9u.js +0 -1
- package/dist/showcase/assets/separator-CecGyBaV.js +0 -1
- package/dist/showcase/assets/separator-CqtFQXrk.js +0 -28
- package/dist/showcase/assets/settings-2-CCeMwMOj.js +0 -1
- package/dist/showcase/assets/settings-CXjN6wTC.js +0 -1
- package/dist/showcase/assets/sheet-Csyrmkqp.js +0 -1
- package/dist/showcase/assets/shield-DR0ZfAFA.js +0 -1
- package/dist/showcase/assets/shield-alert-Bp1iFJ2q.js +0 -1
- package/dist/showcase/assets/shield-check-ClL4B_Cd.js +0 -1
- package/dist/showcase/assets/shopping-bag-DnSmbPUX.js +0 -1
- package/dist/showcase/assets/showcase-CQKt5VGi.js +0 -132
- package/dist/showcase/assets/sidebar-CXy94md1.js +0 -1
- package/dist/showcase/assets/sidebar.context-C8gkOwJ5.js +0 -1
- package/dist/showcase/assets/skeleton-B8wC5P66.js +0 -29
- package/dist/showcase/assets/skeleton-DBlCLlBC.js +0 -1
- package/dist/showcase/assets/slider-BcjkNx6W.js +0 -1
- package/dist/showcase/assets/smart-card-Cg6rtWH9.js +0 -1
- package/dist/showcase/assets/sonner-ZGBQ13wS.js +0 -22
- package/dist/showcase/assets/sortable.esm-CGFWc-Cn.js +0 -5
- package/dist/showcase/assets/sparkles-q1-9JZqa.js +0 -1
- package/dist/showcase/assets/spinner-CKg8QLHu.js +0 -1
- package/dist/showcase/assets/spinner-D1Ao9j9T.js +0 -49
- package/dist/showcase/assets/spinner-oahLIkgb.js +0 -30
- package/dist/showcase/assets/square-pen-DZ3bQJia.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CKPtb3Hj.js +0 -1
- package/dist/showcase/assets/star-suetD-KI.js +0 -1
- package/dist/showcase/assets/startOfDay-OjIsUeiv.js +0 -1
- package/dist/showcase/assets/styles-1mYOoC2k.js +0 -1
- package/dist/showcase/assets/suggestions-DLYaI-In.js +0 -126
- package/dist/showcase/assets/switch-CTTrJNwo.js +0 -1
- package/dist/showcase/assets/switch-ChJWWmxN.js +0 -1
- package/dist/showcase/assets/sync-DsHYydvo.js +0 -124
- package/dist/showcase/assets/table-Ck2ptin2.js +0 -686
- package/dist/showcase/assets/table-DyJ9oADQ.js +0 -1
- package/dist/showcase/assets/table-actions-COU4zHfh.js +0 -1
- package/dist/showcase/assets/tabs-Bl_RHGIw.js +0 -1
- package/dist/showcase/assets/tabs-DS-4VSkb.js +0 -19
- package/dist/showcase/assets/tags-input-BlYzb5fF.js +0 -1
- package/dist/showcase/assets/text-button-OPdNs3fb.js +0 -1
- package/dist/showcase/assets/text-link-D27gqGeg.js +0 -1
- package/dist/showcase/assets/textarea-DpC7J5F-.js +0 -1
- package/dist/showcase/assets/textarea-JtXUjxvc.js +0 -1
- package/dist/showcase/assets/timelines-DQM-B4Xo.js +0 -200
- package/dist/showcase/assets/toggle-group-CMneKREH.js +0 -1
- package/dist/showcase/assets/toggles-CAXXgjO_.js +0 -71
- package/dist/showcase/assets/toggles-group-CHRqrpoM.js +0 -32
- package/dist/showcase/assets/tooltip-CwGZAioX.js +0 -31
- package/dist/showcase/assets/trash-2-BpMb9Zbb.js +0 -1
- package/dist/showcase/assets/trending-up-B1BzitCg.js +0 -1
- package/dist/showcase/assets/truck-CDSE5-HZ.js +0 -1
- package/dist/showcase/assets/typography-BoNJ1hRZ.js +0 -223
- package/dist/showcase/assets/ui-badge-Djh6NiB2.js +0 -28
- package/dist/showcase/assets/ui-card-QC_rl_H2.js +0 -30
- package/dist/showcase/assets/ui-table-qAGsc3qN.js +0 -42
- package/dist/showcase/assets/upload-tray-DKCJgW5u.js +0 -138
- package/dist/showcase/assets/use-layout-link-BPlsZ8Ys.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-526MebAC.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-CqySZiH9.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-DWX7LbGX.js +0 -1
- package/dist/showcase/assets/useCompositeItem-DGEBUXgE.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-B2nuNlc2.js +0 -1
- package/dist/showcase/assets/useLabelableId-DY4O1lpt.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-DxwujDvt.js +0 -1
- package/dist/showcase/assets/useRender-BPoNv-Lm.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-BnOSAjfy.js +0 -1
- package/dist/showcase/assets/useValueChanged-CXmDOWxx.js +0 -1
- package/dist/showcase/assets/user-BGchdtV_.js +0 -1
- package/dist/showcase/assets/user-plus-BifI_xVA.js +0 -1
- package/dist/showcase/assets/users-Cl5yYqdg.js +0 -1
- package/dist/showcase/assets/vendor-profile-BNW4FYna.js +0 -37
- package/dist/showcase/assets/video-BtQPixYN.js +0 -1
- package/dist/showcase/assets/wrench-CRalc5fG.js +0 -1
- package/dist/showcase/assets/x-D6hUY89S.js +0 -1
- package/dist/showcase/assets/zap-v_qbqeI5.js +0 -1
|
@@ -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\tsize=\"icon-small\"\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,17 @@
|
|
|
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-Be2ayMxF.js";
|
|
4
|
+
import { s as r } from "../../../_shared/typography-5bLhAYaK.js";
|
|
5
5
|
import { t as i } from "../../../_shared/icon-badge-dZQPvuas.js";
|
|
6
|
-
import { t as a } from "../../../_shared/badge-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { t as d } from "../../../_shared/input-BgcP6x4C.js";
|
|
6
|
+
import { t as a } from "../../../_shared/badge-nZ2zbAV4.js";
|
|
7
|
+
import { a as o, i as s, o as c, s as l, t as u } from "../../../_shared/cards-BJctT9KD.js";
|
|
8
|
+
import { t as d } from "../../../_shared/input-CzJzVyQ0.js";
|
|
10
9
|
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-
|
|
10
|
+
import { J as p } from "../../../_shared/forms-BA8Aa_fi.js";
|
|
11
|
+
import { D as m, _ as h, g, h as _ } from "../../../_shared/display-DFVeSuWL.js";
|
|
12
|
+
import { t as v } from "../../../_shared/copyable-BJYx2SlN.js";
|
|
13
|
+
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-CVjjpHQd.js";
|
|
14
|
+
import { n as E, t as D } from "../../../_shared/action-menu-CYwMZX-b.js";
|
|
16
15
|
import { forwardRef as O, useCallback as k, useMemo as ee, useState as A } from "react";
|
|
17
16
|
import { Fragment as j, jsx as M, jsxs as N } from "react/jsx-runtime";
|
|
18
17
|
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";
|
|
@@ -66,19 +65,19 @@ var W = {
|
|
|
66
65
|
};
|
|
67
66
|
//#endregion
|
|
68
67
|
//#region src/components/composed/admin/role-permission/role-permission.tsx
|
|
69
|
-
function K({ roleName: i, description:
|
|
68
|
+
function K({ roleName: i, description: o, memberCount: s, sections: c, onEdit: l, className: d, strings: f }) {
|
|
70
69
|
let p = e(G, f);
|
|
71
|
-
return /* @__PURE__ */ N(
|
|
70
|
+
return /* @__PURE__ */ N(u, {
|
|
72
71
|
title: i,
|
|
73
|
-
description:
|
|
74
|
-
headerEnd:
|
|
72
|
+
description: o,
|
|
73
|
+
headerEnd: s !== void 0 && /* @__PURE__ */ M(a, {
|
|
75
74
|
variant: "info",
|
|
76
|
-
children: p.formatMemberCount(
|
|
75
|
+
children: p.formatMemberCount(s)
|
|
77
76
|
}),
|
|
78
77
|
className: t("role-permission--component", d),
|
|
79
78
|
children: [/* @__PURE__ */ M("div", {
|
|
80
79
|
className: "mt-5 space-y-4",
|
|
81
|
-
children:
|
|
80
|
+
children: c.map((e) => /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M(r, {
|
|
82
81
|
size: "xs",
|
|
83
82
|
weight: "medium",
|
|
84
83
|
className: "uppercase tracking-wider text-muted-foreground",
|
|
@@ -94,12 +93,12 @@ function K({ roleName: i, description: s, memberCount: c, sections: l, onEdit: u
|
|
|
94
93
|
})]
|
|
95
94
|
}, e.label))
|
|
96
95
|
})] }, e.name))
|
|
97
|
-
}), !!
|
|
96
|
+
}), !!l && /* @__PURE__ */ M(n, {
|
|
98
97
|
variant: "secondary",
|
|
99
98
|
buttonStyle: "ghost",
|
|
100
99
|
icon: R,
|
|
101
100
|
className: "mt-5",
|
|
102
|
-
onClick:
|
|
101
|
+
onClick: l,
|
|
103
102
|
children: p.editRole
|
|
104
103
|
})]
|
|
105
104
|
});
|
|
@@ -140,7 +139,7 @@ function q({ conversations: e, className: n }) {
|
|
|
140
139
|
solid: !0,
|
|
141
140
|
size: "small",
|
|
142
141
|
children: /* @__PURE__ */ M(r, {
|
|
143
|
-
size: "
|
|
142
|
+
size: "xs",
|
|
144
143
|
weight: "bold",
|
|
145
144
|
className: "text-inherit tabular-nums",
|
|
146
145
|
children: e.unread
|
|
@@ -154,20 +153,20 @@ q.displayName = "RecentConversationRow";
|
|
|
154
153
|
//#endregion
|
|
155
154
|
//#region src/components/composed/admin/settings-toggle/settings-toggle.tsx
|
|
156
155
|
function J({ settings: e, values: n, onChange: r, className: i }) {
|
|
157
|
-
let [a,
|
|
156
|
+
let [a, o] = A(() => {
|
|
158
157
|
let t = {};
|
|
159
158
|
for (let n of e) t[n.key] = n.defaultValue ?? !1;
|
|
160
159
|
return t;
|
|
161
|
-
}),
|
|
162
|
-
|
|
160
|
+
}), s = r !== void 0, c = s && n ? n : a, l = (e, t) => {
|
|
161
|
+
s && r ? r(e, t) : o((n) => ({
|
|
163
162
|
...n,
|
|
164
163
|
[e]: t
|
|
165
164
|
}));
|
|
166
165
|
};
|
|
167
|
-
return /* @__PURE__ */ M(
|
|
166
|
+
return /* @__PURE__ */ M(u, {
|
|
168
167
|
className: t("settings-toggle--component", i),
|
|
169
168
|
children: /* @__PURE__ */ M(S, { children: e.map((e) => {
|
|
170
|
-
let t = e.icon, n =
|
|
169
|
+
let t = e.icon, n = c[e.key] ?? !1;
|
|
171
170
|
return /* @__PURE__ */ N(w, { children: [
|
|
172
171
|
/* @__PURE__ */ M(y, {
|
|
173
172
|
variant: "icon",
|
|
@@ -178,7 +177,7 @@ function J({ settings: e, values: n, onChange: r, className: i }) {
|
|
|
178
177
|
/* @__PURE__ */ M(x, { children: /* @__PURE__ */ M(p, {
|
|
179
178
|
"aria-label": e.name,
|
|
180
179
|
checked: n,
|
|
181
|
-
onCheckedChange: (t) =>
|
|
180
|
+
onCheckedChange: (t) => l(e.key, t)
|
|
182
181
|
}) })
|
|
183
182
|
] }, e.key);
|
|
184
183
|
}) })
|
|
@@ -187,9 +186,9 @@ function J({ settings: e, values: n, onChange: r, className: i }) {
|
|
|
187
186
|
J.displayName = "SettingsToggleRow";
|
|
188
187
|
//#endregion
|
|
189
188
|
//#region src/components/composed/admin/inventory-level/inventory-level.tsx
|
|
190
|
-
function Y({ productName: n, variant: i, stock:
|
|
191
|
-
let p = e(W, f), m = Math.round(
|
|
192
|
-
return /* @__PURE__ */ N(
|
|
189
|
+
function Y({ productName: n, variant: i, stock: o, reorderLevel: s, maxStock: c, lastRestocked: l, className: d, strings: f }) {
|
|
190
|
+
let p = e(W, f), m = Math.round(o / c * 100), h = o <= s, g = o <= s * .5, _ = g ? "error" : h ? "warning" : "success", v = g ? p.statusCritical : h ? p.statusLowStock : p.statusInStock;
|
|
191
|
+
return /* @__PURE__ */ N(u, {
|
|
193
192
|
className: t("inventory-level--component", d),
|
|
194
193
|
children: [
|
|
195
194
|
/* @__PURE__ */ N(w, {
|
|
@@ -207,10 +206,10 @@ function Y({ productName: n, variant: i, stock: s, reorderLevel: c, maxStock: l,
|
|
|
207
206
|
}) })]
|
|
208
207
|
}),
|
|
209
208
|
/* @__PURE__ */ M(r, {
|
|
210
|
-
size: "
|
|
209
|
+
size: "base",
|
|
211
210
|
weight: "semibold",
|
|
212
211
|
className: "tabular-nums tracking-tight",
|
|
213
|
-
children:
|
|
212
|
+
children: o
|
|
214
213
|
}),
|
|
215
214
|
/* @__PURE__ */ M(r, {
|
|
216
215
|
size: "xs",
|
|
@@ -237,16 +236,16 @@ function Y({ productName: n, variant: i, stock: s, reorderLevel: c, maxStock: l,
|
|
|
237
236
|
tag: "span",
|
|
238
237
|
weight: "medium",
|
|
239
238
|
className: "tabular-nums",
|
|
240
|
-
children:
|
|
239
|
+
children: s
|
|
241
240
|
})
|
|
242
241
|
]
|
|
243
|
-
}), !!
|
|
242
|
+
}), !!l && /* @__PURE__ */ N(r, {
|
|
244
243
|
size: "xs",
|
|
245
244
|
type: "secondary",
|
|
246
245
|
children: [
|
|
247
246
|
p.lastRestockedLabel,
|
|
248
247
|
": ",
|
|
249
|
-
|
|
248
|
+
l
|
|
250
249
|
]
|
|
251
250
|
})]
|
|
252
251
|
})]
|
|
@@ -267,11 +266,11 @@ var X = {
|
|
|
267
266
|
copyToastSuccess: "Copied to clipboard",
|
|
268
267
|
copyToastError: "Failed to copy",
|
|
269
268
|
emptyMessage: "No keys yet."
|
|
270
|
-
}, Z = O(function({ items: i, defaultOpen: a = !0, open:
|
|
271
|
-
let y = e(X, m), b =
|
|
272
|
-
b || S(e),
|
|
273
|
-
}, [b,
|
|
274
|
-
return /* @__PURE__ */ M(
|
|
269
|
+
}, Z = O(function({ items: i, defaultOpen: a = !0, open: o, onOpenChange: s, onAdd: c, onDelete: l, onCopy: d, title: f, className: p, strings: m }, v) {
|
|
270
|
+
let y = e(X, m), b = o !== void 0, [x, S] = A(a), C = b ? o : x, w = k((e) => {
|
|
271
|
+
b || S(e), s?.(e);
|
|
272
|
+
}, [b, s]);
|
|
273
|
+
return /* @__PURE__ */ M(u, {
|
|
275
274
|
ref: v,
|
|
276
275
|
className: t("api-key-list--component", p),
|
|
277
276
|
children: /* @__PURE__ */ N(_, {
|
|
@@ -296,10 +295,11 @@ var X = {
|
|
|
296
295
|
children: f ?? y.title
|
|
297
296
|
})]
|
|
298
297
|
})
|
|
299
|
-
}), !!
|
|
298
|
+
}), !!c && /* @__PURE__ */ M(n, {
|
|
300
299
|
variant: "secondary",
|
|
301
300
|
buttonStyle: "ghost",
|
|
302
|
-
|
|
301
|
+
size: "icon-small",
|
|
302
|
+
onClick: c,
|
|
303
303
|
"aria-label": y.addAria,
|
|
304
304
|
children: /* @__PURE__ */ M(z, { className: "size-4" })
|
|
305
305
|
})]
|
|
@@ -312,7 +312,7 @@ var X = {
|
|
|
312
312
|
className: "flex flex-col gap-2.5",
|
|
313
313
|
children: i.map((e) => /* @__PURE__ */ M(Q, {
|
|
314
314
|
item: e,
|
|
315
|
-
onDelete:
|
|
315
|
+
onDelete: l,
|
|
316
316
|
onCopy: d,
|
|
317
317
|
copyMenuLabel: y.copyMenuItem,
|
|
318
318
|
copiedMenuLabel: y.copiedMenuItem,
|
|
@@ -433,22 +433,22 @@ function te({ icon: e, title: n, description: r, primaryAction: a, secondaryActi
|
|
|
433
433
|
]
|
|
434
434
|
});
|
|
435
435
|
}
|
|
436
|
-
function ne({ title: e, description: n, actions: r, children: i, rows: a, padding:
|
|
437
|
-
return /* @__PURE__ */ N(
|
|
436
|
+
function ne({ title: e, description: n, actions: r, children: i, rows: a, padding: o = "default", surface: s = "card", className: c, contentClassName: l }) {
|
|
437
|
+
return /* @__PURE__ */ N(u, {
|
|
438
438
|
"data-component": "action-list",
|
|
439
439
|
"data-slot": "action-list",
|
|
440
440
|
title: e,
|
|
441
441
|
description: n,
|
|
442
442
|
headerAction: r,
|
|
443
|
-
padding:
|
|
444
|
-
surface:
|
|
445
|
-
className: t("action-list--component",
|
|
446
|
-
contentClassName: t("action-list--content grid gap-2",
|
|
443
|
+
padding: o,
|
|
444
|
+
surface: s,
|
|
445
|
+
className: t("action-list--component", c),
|
|
446
|
+
contentClassName: t("action-list--content grid gap-2", l),
|
|
447
447
|
children: [a?.map((e, t) => /* @__PURE__ */ M(te, { ...e }, t)), i]
|
|
448
448
|
});
|
|
449
449
|
}
|
|
450
|
-
function re({ title: e, description: n, confirmation: a, action:
|
|
451
|
-
return /* @__PURE__ */ N(
|
|
450
|
+
function re({ title: e, description: n, confirmation: a, action: o, icon: l = B, padding: d = "default", surface: f = "card", className: p }) {
|
|
451
|
+
return /* @__PURE__ */ N(u, {
|
|
452
452
|
"data-component": "sensitive-action-card",
|
|
453
453
|
"data-slot": "sensitive-action-card",
|
|
454
454
|
padding: d,
|
|
@@ -459,7 +459,7 @@ function re({ title: e, description: n, confirmation: a, action: s, icon: c = B,
|
|
|
459
459
|
className: "flex min-w-0 items-start gap-3",
|
|
460
460
|
children: [
|
|
461
461
|
/* @__PURE__ */ M(i, {
|
|
462
|
-
icon:
|
|
462
|
+
icon: l,
|
|
463
463
|
tone: "destructive",
|
|
464
464
|
shape: "square",
|
|
465
465
|
size: "default"
|
|
@@ -476,16 +476,16 @@ function re({ title: e, description: n, confirmation: a, action: s, icon: c = B,
|
|
|
476
476
|
children: n
|
|
477
477
|
})]
|
|
478
478
|
}),
|
|
479
|
-
!!
|
|
479
|
+
!!o && /* @__PURE__ */ M("div", {
|
|
480
480
|
className: "shrink-0",
|
|
481
|
-
children:
|
|
481
|
+
children: o
|
|
482
482
|
})
|
|
483
483
|
]
|
|
484
|
-
}), !!a && /* @__PURE__ */ M(
|
|
484
|
+
}), !!a && /* @__PURE__ */ M(s, {
|
|
485
485
|
variant: "destructive",
|
|
486
486
|
role: "note",
|
|
487
487
|
className: "sensitive-action-card--confirmation",
|
|
488
|
-
children: /* @__PURE__ */ M(
|
|
488
|
+
children: /* @__PURE__ */ M(c, { children: a })
|
|
489
489
|
})]
|
|
490
490
|
});
|
|
491
491
|
}
|
|
@@ -494,17 +494,17 @@ var ie = {
|
|
|
494
494
|
description: "Copy this value now. It may not be shown again.",
|
|
495
495
|
copySuccess: "Secret copied"
|
|
496
496
|
};
|
|
497
|
-
function ae({ value: n, displayValue: r, title: i, description: a, action:
|
|
497
|
+
function ae({ value: n, displayValue: r, title: i, description: a, action: u, className: d, strings: f }) {
|
|
498
498
|
let p = e(ie, f);
|
|
499
|
-
return /* @__PURE__ */ N(
|
|
499
|
+
return /* @__PURE__ */ N(s, {
|
|
500
500
|
"data-component": "copyable-secret-alert",
|
|
501
501
|
"data-slot": "copyable-secret-alert",
|
|
502
502
|
variant: "success",
|
|
503
503
|
className: t("copyable-secret-alert--component", d),
|
|
504
504
|
children: [
|
|
505
505
|
/* @__PURE__ */ M(I, { className: "size-4" }),
|
|
506
|
-
/* @__PURE__ */ M(
|
|
507
|
-
/* @__PURE__ */ M(
|
|
506
|
+
/* @__PURE__ */ M(l, { children: i ?? p.title }),
|
|
507
|
+
/* @__PURE__ */ M(c, { children: /* @__PURE__ */ N("span", {
|
|
508
508
|
className: "grid gap-2",
|
|
509
509
|
children: [/* @__PURE__ */ M("span", { children: a ?? p.description }), /* @__PURE__ */ M(v, {
|
|
510
510
|
value: n,
|
|
@@ -515,7 +515,7 @@ function ae({ value: n, displayValue: r, title: i, description: a, action: o, cl
|
|
|
515
515
|
successMessage: p.copySuccess
|
|
516
516
|
})]
|
|
517
517
|
}) }),
|
|
518
|
-
!!
|
|
518
|
+
!!u && /* @__PURE__ */ M(o, { children: u })
|
|
519
519
|
]
|
|
520
520
|
});
|
|
521
521
|
}
|
|
@@ -530,14 +530,14 @@ var oe = {
|
|
|
530
530
|
createdTitle: "Token created",
|
|
531
531
|
createdDescription: "Copy this token now. It will not be shown again."
|
|
532
532
|
};
|
|
533
|
-
function se({ tokens: i, abilities: a = [], createdToken:
|
|
534
|
-
let D = e(oe, E), O =
|
|
533
|
+
function se({ tokens: i, abilities: a = [], createdToken: o, name: s, defaultName: c = "", onNameChange: l, selectedAbilities: p, defaultSelectedAbilities: h = [], onSelectedAbilitiesChange: g, onCreateToken: _, onRevokeToken: v, onRevokeAllTokens: y, onAfterMutate: b, onError: x, isCreating: S = !1, isRevokingAll: C = !1, disabled: w = !1, className: T, strings: E }) {
|
|
534
|
+
let D = e(oe, E), O = s !== void 0, j = p !== void 0, [P, F] = A(c), [I, L] = A([...h]), [R, B] = A(null), H = O ? s : P, U = ee(() => j ? [...p] : I, [
|
|
535
535
|
I,
|
|
536
536
|
j,
|
|
537
537
|
p
|
|
538
538
|
]), W = S || R === "create", G = C || R === "revoke-all", K = k((e) => {
|
|
539
|
-
O || F(e),
|
|
540
|
-
}, [O,
|
|
539
|
+
O || F(e), l?.(e);
|
|
540
|
+
}, [O, l]), q = k((e) => {
|
|
541
541
|
j || L(e), g?.(e);
|
|
542
542
|
}, [j, g]), J = k((e, t) => {
|
|
543
543
|
q(t === !0 ? Array.from(new Set([...U, e])) : U.filter((t) => t !== e));
|
|
@@ -570,7 +570,7 @@ function se({ tokens: i, abilities: a = [], createdToken: s, name: c, defaultNam
|
|
|
570
570
|
}, [v, Y]), $ = k(() => {
|
|
571
571
|
y && Y("revoke-all", y);
|
|
572
572
|
}, [y, Y]);
|
|
573
|
-
return /* @__PURE__ */ N(
|
|
573
|
+
return /* @__PURE__ */ N(u, {
|
|
574
574
|
"data-component": "api-token-manager",
|
|
575
575
|
"data-slot": "api-token-manager",
|
|
576
576
|
title: D.title,
|
|
@@ -587,10 +587,10 @@ function se({ tokens: i, abilities: a = [], createdToken: s, name: c, defaultNam
|
|
|
587
587
|
className: t("api-token-manager--component", T),
|
|
588
588
|
contentClassName: "api-token-manager--content grid gap-4",
|
|
589
589
|
children: [
|
|
590
|
-
!!
|
|
591
|
-
value:
|
|
592
|
-
displayValue:
|
|
593
|
-
title:
|
|
590
|
+
!!o && /* @__PURE__ */ M(ae, {
|
|
591
|
+
value: o.value,
|
|
592
|
+
displayValue: o.displayValue,
|
|
593
|
+
title: o.name ?? D.createdTitle,
|
|
594
594
|
description: D.createdDescription
|
|
595
595
|
}),
|
|
596
596
|
/* @__PURE__ */ N("div", {
|