admin-ui-starter-kit 0.6.7 → 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 +3 -2
- package/.agents/skills/component-library-rules/references/components/base__collapsible.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__conditional-rendering.md +39 -0
- 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__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__visually-hidden.md +39 -0
- package/.agents/skills/component-library-rules/references/components/layout__layout-page.md +2 -1
- 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.js +4 -4
- 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/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 +67 -67
- 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.js +8 -8
- 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 +12 -12
- 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.js +7 -7
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.cjs.map +1 -1
- package/dist/components/composed/commerce/index.js +9 -9
- package/dist/components/composed/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/resource-selector-card.d.ts.map +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.js +5 -5
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +3 -3
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +3 -3
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +5 -5
- package/dist/components/features/ai-chat/index.cjs +1 -1
- package/dist/components/features/ai-chat/index.js +5 -5
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +4 -4
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/data-view/index.cjs +1 -1
- package/dist/components/features/data-view/index.js +2 -2
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +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 +190 -190
- 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.js +4 -4
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +3 -3
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.js +10 -10
- 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.js +11 -11
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.js +5 -5
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +8 -8
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.js +2 -2
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- package/dist/components/layout/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 +1 -1
- package/src/css/tokens/primitives.css +1 -1
- package/src/css/tokens/states.css +3 -0
- package/dist/_shared/accordion-CxjH2WZG.js +0 -135
- package/dist/_shared/accordion-CxjH2WZG.js.map +0 -1
- package/dist/_shared/accordion-mTdJmy23.cjs +0 -2
- package/dist/_shared/accordion-mTdJmy23.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-CS2Pv-bu.js +0 -1099
- package/dist/_shared/ai-artifact-CS2Pv-bu.js.map +0 -1
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs +0 -3
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs.map +0 -1
- package/dist/_shared/alert-BisCSsOE.cjs +0 -2
- package/dist/_shared/alert-BisCSsOE.cjs.map +0 -1
- package/dist/_shared/alert-D23Q7I0W.js +0 -81
- package/dist/_shared/alert-D23Q7I0W.js.map +0 -1
- package/dist/_shared/auth-BV9Daibu.cjs +0 -2
- package/dist/_shared/auth-BV9Daibu.cjs.map +0 -1
- package/dist/_shared/auth-DACpcTnL.js +0 -643
- package/dist/_shared/auth-DACpcTnL.js.map +0 -1
- package/dist/_shared/badge-B4oBB5BJ.js +0 -110
- package/dist/_shared/badge-B4oBB5BJ.js.map +0 -1
- package/dist/_shared/badge-DvUA9Pr2.cjs +0 -2
- package/dist/_shared/badge-DvUA9Pr2.cjs.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-BL--IyPB.js +0 -150
- package/dist/_shared/card-radio-group-BL--IyPB.js.map +0 -1
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs +0 -2
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs.map +0 -1
- package/dist/_shared/cards-CMNXFo3Y.js +0 -354
- package/dist/_shared/cards-CMNXFo3Y.js.map +0 -1
- package/dist/_shared/cards-DQN9fcwo.cjs +0 -2
- package/dist/_shared/cards-DQN9fcwo.cjs.map +0 -1
- package/dist/_shared/combobox-D0avSXIB.cjs +0 -2
- package/dist/_shared/combobox-D0avSXIB.cjs.map +0 -1
- package/dist/_shared/combobox-Df0srISK.js +0 -954
- package/dist/_shared/combobox-Df0srISK.js.map +0 -1
- package/dist/_shared/command-B5BpMgBT.js +0 -39
- package/dist/_shared/command-B5BpMgBT.js.map +0 -1
- package/dist/_shared/command-en62SpQ7.cjs +0 -2
- package/dist/_shared/command-en62SpQ7.cjs.map +0 -1
- package/dist/_shared/comments-CfkortDW.js +0 -952
- package/dist/_shared/comments-CfkortDW.js.map +0 -1
- package/dist/_shared/comments-yVd7QMOu.cjs +0 -2
- package/dist/_shared/comments-yVd7QMOu.cjs.map +0 -1
- package/dist/_shared/copyable-Cn7tRGL5.js +0 -38
- package/dist/_shared/copyable-Cn7tRGL5.js.map +0 -1
- package/dist/_shared/copyable-CoKTxMSP.cjs +0 -2
- package/dist/_shared/copyable-CoKTxMSP.cjs.map +0 -1
- package/dist/_shared/data-display-BG7CD164.js +0 -1873
- package/dist/_shared/data-display-BG7CD164.js.map +0 -1
- package/dist/_shared/data-display-CXVoX3la.cjs +0 -2
- package/dist/_shared/data-display-CXVoX3la.cjs.map +0 -1
- package/dist/_shared/date-picker-Bf-nnyi-.js +0 -1361
- package/dist/_shared/date-picker-Bf-nnyi-.js.map +0 -1
- package/dist/_shared/date-picker-Cox4PAUt.cjs +0 -2
- package/dist/_shared/date-picker-Cox4PAUt.cjs.map +0 -1
- package/dist/_shared/date-pickers-DbN4q0dn.cjs +0 -2
- package/dist/_shared/date-pickers-DbN4q0dn.cjs.map +0 -1
- package/dist/_shared/date-pickers-DvrOCP-s.js +0 -329
- package/dist/_shared/date-pickers-DvrOCP-s.js.map +0 -1
- package/dist/_shared/display-BQijMo37.js +0 -986
- package/dist/_shared/display-BQijMo37.js.map +0 -1
- package/dist/_shared/display-C0ut-Lew.cjs +0 -2
- package/dist/_shared/display-C0ut-Lew.cjs.map +0 -1
- package/dist/_shared/forms-BjG7QIb1.cjs +0 -2
- package/dist/_shared/forms-BjG7QIb1.cjs.map +0 -1
- package/dist/_shared/forms-DljDdyXR.js +0 -3533
- package/dist/_shared/forms-DljDdyXR.js.map +0 -1
- package/dist/_shared/header-BpFJRINR.cjs +0 -2
- package/dist/_shared/header-BpFJRINR.cjs.map +0 -1
- package/dist/_shared/header-CKqQF4_r.js +0 -447
- package/dist/_shared/header-CKqQF4_r.js.map +0 -1
- package/dist/_shared/hooks-DcCkbP1F.js +0 -95
- package/dist/_shared/hooks-DcCkbP1F.js.map +0 -1
- package/dist/_shared/hooks-RkLytuGj.cjs +0 -2
- package/dist/_shared/hooks-RkLytuGj.cjs.map +0 -1
- package/dist/_shared/input-Cin0qpjj.js +0 -182
- package/dist/_shared/input-Cin0qpjj.js.map +0 -1
- package/dist/_shared/input-uuWeiagN.cjs +0 -2
- package/dist/_shared/input-uuWeiagN.cjs.map +0 -1
- package/dist/_shared/item-CIlSaQg8.js +0 -226
- package/dist/_shared/item-CIlSaQg8.js.map +0 -1
- package/dist/_shared/item-CSk9Y2qB.cjs +0 -2
- package/dist/_shared/item-CSk9Y2qB.cjs.map +0 -1
- package/dist/_shared/layout-Cun0HPL4.cjs +0 -2
- package/dist/_shared/layout-Cun0HPL4.cjs.map +0 -1
- package/dist/_shared/layout-HrU5gwH3.js +0 -261
- package/dist/_shared/layout-HrU5gwH3.js.map +0 -1
- package/dist/_shared/mentions-BqN82Fon.cjs +0 -2
- package/dist/_shared/mentions-BqN82Fon.cjs.map +0 -1
- package/dist/_shared/mentions-DV0FT1Th.js +0 -506
- package/dist/_shared/mentions-DV0FT1Th.js.map +0 -1
- package/dist/_shared/money-display-D5FCRhzB.cjs +0 -2
- package/dist/_shared/money-display-D5FCRhzB.cjs.map +0 -1
- package/dist/_shared/money-display-FcCAQDCz.js +0 -198
- package/dist/_shared/money-display-FcCAQDCz.js.map +0 -1
- package/dist/_shared/navigation-CI_Dd8jM.js +0 -436
- package/dist/_shared/navigation-CI_Dd8jM.js.map +0 -1
- package/dist/_shared/navigation-DUGhCPzJ.cjs +0 -2
- package/dist/_shared/navigation-DUGhCPzJ.cjs.map +0 -1
- package/dist/_shared/overlays-BRLemLSn.cjs +0 -2
- package/dist/_shared/overlays-BRLemLSn.cjs.map +0 -1
- package/dist/_shared/overlays-Bef7VNYY.js +0 -735
- package/dist/_shared/overlays-Bef7VNYY.js.map +0 -1
- package/dist/_shared/popover-menu-CAjhhTfX.js +0 -93
- package/dist/_shared/popover-menu-CAjhhTfX.js.map +0 -1
- package/dist/_shared/popover-menu-DlkRgOkR.cjs +0 -2
- package/dist/_shared/popover-menu-DlkRgOkR.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js +0 -620
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js.map +0 -1
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs +0 -2
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs.map +0 -1
- package/dist/_shared/settings-CNT4-6u8.cjs +0 -2
- package/dist/_shared/settings-CNT4-6u8.cjs.map +0 -1
- package/dist/_shared/settings-CRP6409J.js +0 -143
- package/dist/_shared/settings-CRP6409J.js.map +0 -1
- package/dist/_shared/sidebar-B0LcBrfI.cjs +0 -2
- package/dist/_shared/sidebar-B0LcBrfI.cjs.map +0 -1
- package/dist/_shared/sidebar-Bc6JsOTD.js +0 -548
- package/dist/_shared/sidebar-Bc6JsOTD.js.map +0 -1
- package/dist/_shared/spinner-CVG62sGs.js +0 -67
- package/dist/_shared/spinner-CVG62sGs.js.map +0 -1
- package/dist/_shared/spinner-VjdonFU2.cjs +0 -2
- package/dist/_shared/spinner-VjdonFU2.cjs.map +0 -1
- package/dist/_shared/table-_yujELN3.js +0 -1377
- package/dist/_shared/table-_yujELN3.js.map +0 -1
- package/dist/_shared/table-iV8H1AE0.cjs +0 -2
- package/dist/_shared/table-iV8H1AE0.cjs.map +0 -1
- package/dist/_shared/textarea-B4zbbqff.cjs +0 -2
- package/dist/_shared/textarea-B4zbbqff.cjs.map +0 -1
- package/dist/_shared/textarea-Dp0RU-rc.js +0 -118
- package/dist/_shared/textarea-Dp0RU-rc.js.map +0 -1
- package/dist/_shared/typography-DXvCmE8w.js +0 -201
- package/dist/_shared/typography-DXvCmE8w.js.map +0 -1
- package/dist/_shared/typography-pzCKaFOc.cjs +0 -2
- package/dist/_shared/typography-pzCKaFOc.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-C3U57t2a.cjs +0 -2
- package/dist/_shared/workspace-C3U57t2a.cjs.map +0 -1
- package/dist/_shared/workspace-Db--ow3r.js +0 -357
- package/dist/_shared/workspace-Db--ow3r.js.map +0 -1
- package/dist/showcase/assets/AreaChart-DtVzijR8.js +0 -6
- package/dist/showcase/assets/CompositeItem-SL6R0H3r.js +0 -1
- package/dist/showcase/assets/CompositeRoot-CTygKc2d.js +0 -1
- package/dist/showcase/assets/DialogTrigger-m2m9VdXk.js +0 -1
- package/dist/showcase/assets/LabelableContext-D6DcOg5I.js +0 -1
- package/dist/showcase/assets/PreviewLayout-CHW8F5uE.js +0 -1
- package/dist/showcase/assets/RadioGroup-BAOoU1eO.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-CrCCP65t.js +0 -1
- package/dist/showcase/assets/Separator-DMs71Vib.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-DWKxsCxT.js +0 -1
- package/dist/showcase/assets/accordion-Clw5XNXP.js +0 -171
- package/dist/showcase/assets/accordion-variants-jiwKaPjE.js +0 -1
- package/dist/showcase/assets/action-menu-CW8zR6Ne.js +0 -1
- package/dist/showcase/assets/actions-Cf7vl3u0.js +0 -310
- package/dist/showcase/assets/activities-CyI5sJuS.js +0 -500
- package/dist/showcase/assets/activities-feed-card-Gv-Y4BBq.js +0 -1
- package/dist/showcase/assets/admin-CQVbTxGD.js +0 -140
- package/dist/showcase/assets/ai-Bkp2BY_z.js +0 -207
- package/dist/showcase/assets/ai-artifact-Cf1vEdVD.js +0 -2
- package/dist/showcase/assets/ai-chat-Bs3x6cK3.js +0 -568
- package/dist/showcase/assets/ai-elements-VbMUV2-i.js +0 -387
- package/dist/showcase/assets/ai-tool-call-BQYg4QB_.js +0 -1
- package/dist/showcase/assets/alert-BUmpNcXV.js +0 -1
- package/dist/showcase/assets/alert-CWPNW7eb.js +0 -93
- package/dist/showcase/assets/alert-nUwhk3AB.js +0 -62
- package/dist/showcase/assets/api-key-list-B1qVywOP.js +0 -73
- package/dist/showcase/assets/api-key-list-BI2FGbzV.js +0 -1
- package/dist/showcase/assets/app-sidebar-B35a8HWK.js +0 -1
- package/dist/showcase/assets/arrow-down-C1w0M8tE.js +0 -1
- package/dist/showcase/assets/arrow-left-DtILDtAv.js +0 -1
- package/dist/showcase/assets/arrow-right-TnZMfDbP.js +0 -1
- package/dist/showcase/assets/arrow-up-BX-KDIDB.js +0 -1
- package/dist/showcase/assets/arrow-up-right-CrnWqXwJ.js +0 -1
- package/dist/showcase/assets/avatar-C5YI0roK.js +0 -67
- package/dist/showcase/assets/avatar-DsnH-Xmz.js +0 -1
- package/dist/showcase/assets/avatar-S4vMi7Be.js +0 -57
- package/dist/showcase/assets/avatar-q4wqX6yD.js +0 -1
- package/dist/showcase/assets/badge-DJacF8-J.js +0 -31
- package/dist/showcase/assets/badge-check-DDJtQHcD.js +0 -1
- package/dist/showcase/assets/bell-DiXXE8YI.js +0 -1
- package/dist/showcase/assets/bot-bONqc_7j.js +0 -1
- package/dist/showcase/assets/box-lhUq3Chj.js +0 -1
- package/dist/showcase/assets/braces-IKXiJgb3.js +0 -1
- package/dist/showcase/assets/brain-DcXlhbJZ.js +0 -1
- package/dist/showcase/assets/brand-CramZg2-.js +0 -36
- package/dist/showcase/assets/breadcrumb-BL7UjlLh.js +0 -1
- package/dist/showcase/assets/breadcrumb-CZRbcf09.js +0 -52
- package/dist/showcase/assets/breadcrumbs-DJzvSt_Z.js +0 -1
- package/dist/showcase/assets/briefcase-CQQ0m97G.js +0 -1
- package/dist/showcase/assets/building-2-BkQcv8WR.js +0 -1
- package/dist/showcase/assets/button-K7M0irWq.js +0 -44
- package/dist/showcase/assets/button-group-KCGa38c8.js +0 -1
- package/dist/showcase/assets/buttons-CvyBMRD6.js +0 -272
- package/dist/showcase/assets/calendar-BJHjhWQX.js +0 -1
- package/dist/showcase/assets/calendar-ChMVRsNC.js +0 -16
- package/dist/showcase/assets/calendar-days-BgkRJVxQ.js +0 -1
- package/dist/showcase/assets/calendar-xpHhfGnq.js +0 -1
- package/dist/showcase/assets/camera-C67freYi.js +0 -1
- package/dist/showcase/assets/card-CfOqXMVz.js +0 -188
- package/dist/showcase/assets/card-bLjedjT5.js +0 -1
- package/dist/showcase/assets/card-primitives-FUPmQCsu.js +0 -1
- package/dist/showcase/assets/card-radio-group-D_QNJ2Hm.js +0 -1
- package/dist/showcase/assets/cards-yHZa0kEf.js +0 -353
- package/dist/showcase/assets/carousel-DG1cKry4.js +0 -449
- package/dist/showcase/assets/cell-renderers-qfJ-7alN.js +0 -1
- package/dist/showcase/assets/chart-B_yVfbWJ.js +0 -358
- package/dist/showcase/assets/chart-column-CYrVWmMk.js +0 -1
- package/dist/showcase/assets/checkbox-NW6EcvtD.js +0 -1
- package/dist/showcase/assets/checkbox-pA_L1P-f.js +0 -1
- package/dist/showcase/assets/chevron-down-DLrHjdQ6.js +0 -1
- package/dist/showcase/assets/chevron-left-B_NQOEWI.js +0 -1
- package/dist/showcase/assets/chevron-up-6hst2jwR.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-C_pj9oOa.js +0 -1
- package/dist/showcase/assets/circle-Cw9qV72m.js +0 -1
- package/dist/showcase/assets/circle-alert-D3Vcma6L.js +0 -1
- package/dist/showcase/assets/circle-check-DdjJpGc9.js +0 -1
- package/dist/showcase/assets/circle-check-big-Dnq-jwtv.js +0 -1
- package/dist/showcase/assets/circle-dot-DN8DFgIP.js +0 -1
- package/dist/showcase/assets/circle-question-mark-Dzgiv4oS.js +0 -1
- package/dist/showcase/assets/circle-x-BzTSkndC.js +0 -1
- package/dist/showcase/assets/clock-3-CVwHXCmo.js +0 -1
- package/dist/showcase/assets/clock-BIJ9p953.js +0 -1
- package/dist/showcase/assets/code-xml-DrU5ziCA.js +0 -1
- package/dist/showcase/assets/collapsible-7rdCo71k.js +0 -27
- package/dist/showcase/assets/collapsible-DCcTSlEH.js +0 -1
- package/dist/showcase/assets/combobox-mx8o5sV1.js +0 -685
- package/dist/showcase/assets/command-CKJDGdA9.js +0 -1
- package/dist/showcase/assets/command-CzGLPzoO.js +0 -1
- package/dist/showcase/assets/comment-composer-CSoEIapl.js +0 -1
- package/dist/showcase/assets/comment-item-pjaH53iB.js +0 -1
- package/dist/showcase/assets/comments-_ccotzWA.js +0 -357
- package/dist/showcase/assets/commerce-BuiQiRsf.js +0 -267
- package/dist/showcase/assets/composite-Bghohd0p.js +0 -1
- package/dist/showcase/assets/contact-card-CqM2uz_w.js +0 -65
- package/dist/showcase/assets/content-container-fC4z98GI.js +0 -1
- package/dist/showcase/assets/copyable-BMQK8sID.js +0 -1
- package/dist/showcase/assets/copyable-DVR2FAa0.js +0 -96
- package/dist/showcase/assets/course-card-Cku2z18g.js +0 -77
- package/dist/showcase/assets/cpu-A072t3kq.js +0 -1
- package/dist/showcase/assets/credit-card-BGwhx9Zo.js +0 -1
- package/dist/showcase/assets/css-variables-BAW_VrGk.js +0 -1205
- package/dist/showcase/assets/currency-Da3C0Uzb.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BHYLEj80.js +0 -90
- package/dist/showcase/assets/data-view--EAYihh0.js +0 -124
- package/dist/showcase/assets/data-view-BAMwKzZO.js +0 -4
- package/dist/showcase/assets/database-C489WIbr.js +0 -1
- package/dist/showcase/assets/date-block-DuNaPSBU.js +0 -1
- package/dist/showcase/assets/date-picker-Dq-9L64y.js +0 -1
- package/dist/showcase/assets/date-pickers-D0ReMKc9.js +0 -73
- package/dist/showcase/assets/dense-info-CXwjqQB1.js +0 -106
- package/dist/showcase/assets/design-system-consistency-CGoKv0Vf.js +0 -264
- package/dist/showcase/assets/dialog-DIrJcAzq.js +0 -1
- package/dist/showcase/assets/dialog-O45UwQJs.js +0 -1
- package/dist/showcase/assets/display-utilities-VKOARJyC.js +0 -267
- package/dist/showcase/assets/dist-BavkTE-I.js +0 -1
- package/dist/showcase/assets/dist-DPxPKIgU.js +0 -45
- package/dist/showcase/assets/dollar-sign-CH2fcyek.js +0 -1
- package/dist/showcase/assets/download-whAw79X4.js +0 -1
- package/dist/showcase/assets/dropdown-menu-PVKwhWds.js +0 -1
- package/dist/showcase/assets/dropzone-B9sc8Mwa.js +0 -1
- package/dist/showcase/assets/earth-BpkE9LMh.js +0 -1
- package/dist/showcase/assets/ellipsis-CEVdIbhD.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-CBIvtUVz.js +0 -1
- package/dist/showcase/assets/empty-Dp1eCMIl.js +0 -1
- package/dist/showcase/assets/empty-item--dZz4VlJ.js +0 -49
- package/dist/showcase/assets/empty-state-ZOiE-hWY.js +0 -190
- package/dist/showcase/assets/empty-state-dsivN4CA.js +0 -1
- package/dist/showcase/assets/enhanced-activities-BpzUxaof.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-D71BOuiX.js +0 -1
- package/dist/showcase/assets/esm-DT-TXPCJ.js +0 -2
- package/dist/showcase/assets/event-calendar-aVpAFZFq.js +0 -138
- package/dist/showcase/assets/event-log-DVcvyQ-P.js +0 -330
- package/dist/showcase/assets/example-CzbL5xoH.js +0 -1
- package/dist/showcase/assets/external-link-BaLE1QE5.js +0 -1
- package/dist/showcase/assets/eye-Dq0mLKrs.js +0 -1
- package/dist/showcase/assets/feature-announcement-sWKBC2fs.js +0 -34
- package/dist/showcase/assets/file-CgW3NvCL.js +0 -1
- package/dist/showcase/assets/file-text-JGaJQ8Wd.js +0 -1
- package/dist/showcase/assets/filter-layout-jfahl8aJ.js +0 -1
- package/dist/showcase/assets/filters-D7zegZVD.js +0 -139
- package/dist/showcase/assets/flag-H6U1f4wd.js +0 -1
- package/dist/showcase/assets/folder-open-sT96wRxJ.js +0 -1
- package/dist/showcase/assets/form-field-CQuSWnj8.js +0 -1
- package/dist/showcase/assets/format-DGPJ5dDq.js +0 -1
- package/dist/showcase/assets/forms-CdDJkAFt.js +0 -915
- package/dist/showcase/assets/funnel-Bh56GDO0.js +0 -1
- package/dist/showcase/assets/generic-CqSABKHr.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-Cgw3-xUB.js +0 -1
- package/dist/showcase/assets/gift-ChVS2ovQ.js +0 -1
- package/dist/showcase/assets/giftcard-cards-CuaGn8-J.js +0 -85
- package/dist/showcase/assets/git-branch-86jQZnz4.js +0 -1
- package/dist/showcase/assets/global-search-C92CjOf8.js +0 -215
- package/dist/showcase/assets/global-search-DpVIWyO9.js +0 -1
- package/dist/showcase/assets/globe-DmGzYOlq.js +0 -1
- package/dist/showcase/assets/gradient-card-BUZzXFdZ.js +0 -58
- package/dist/showcase/assets/hash-pc6IIDge.js +0 -1
- package/dist/showcase/assets/header-DbM4l1Z6.js +0 -1
- package/dist/showcase/assets/header-notifications-CaymUd4n.js +0 -1
- package/dist/showcase/assets/heart-DtfPBlXq.js +0 -1
- package/dist/showcase/assets/hooks-JiLlGOJ-.js +0 -220
- package/dist/showcase/assets/house-CzNWewi5.js +0 -1
- package/dist/showcase/assets/icon-badge-G9Fp891n.js +0 -1
- package/dist/showcase/assets/icon-badge-e8N5BSYf.js +0 -37
- package/dist/showcase/assets/image-9IQW7agU.js +0 -1
- package/dist/showcase/assets/inbox-DU4YaGtc.js +0 -1
- package/dist/showcase/assets/index-CuXjv2p6.css +0 -2
- package/dist/showcase/assets/index-DN09-Vts.js +0 -10
- package/dist/showcase/assets/inertValue-kRQb7jwi.js +0 -1
- package/dist/showcase/assets/info-B9AXwUDF.js +0 -1
- package/dist/showcase/assets/inline-stat-BkLIKCvD.js +0 -1
- package/dist/showcase/assets/inline-stat-XqGHDQrK.js +0 -15
- package/dist/showcase/assets/input-BXHv6p9P.js +0 -1
- package/dist/showcase/assets/input-D_T9s_tn.js +0 -1
- package/dist/showcase/assets/input-group-Bs8dmhR6.js +0 -47
- package/dist/showcase/assets/input-group-CqkASeoV.js +0 -1
- package/dist/showcase/assets/inputs-DY7w_ssI.js +0 -155
- package/dist/showcase/assets/installation-Dg3FdGJ1.js +0 -134
- package/dist/showcase/assets/invoice-header-Ba-Y55Ag.js +0 -36
- package/dist/showcase/assets/invoice-items-CIJ8EfPg.js +0 -36
- package/dist/showcase/assets/invoice-mini-BISFvM7J.js +0 -14
- package/dist/showcase/assets/invoice-table-DcyVZTvl.js +0 -30
- package/dist/showcase/assets/isSameDay-av07hGac.js +0 -1
- package/dist/showcase/assets/isToday-GY5FlPL9.js +0 -1
- package/dist/showcase/assets/italic-Du0n76Xk.js +0 -1
- package/dist/showcase/assets/item-D8Lp4R-T.js +0 -139
- package/dist/showcase/assets/item-DTsZnSJG.js +0 -1
- package/dist/showcase/assets/item-Di7HZF5G.js +0 -1
- package/dist/showcase/assets/kanban-Dcminjsa.js +0 -188
- package/dist/showcase/assets/key-round-BBue3xKx.js +0 -1
- package/dist/showcase/assets/label-dkUEHYaz.js +0 -1
- package/dist/showcase/assets/languages-XxP8Uu82.js +0 -1
- package/dist/showcase/assets/layers-Bi_-RuHS.js +0 -1
- package/dist/showcase/assets/layout-app-shell-Cr6Ep0Zz.js +0 -608
- package/dist/showcase/assets/layout-auth-DffIslnp.js +0 -790
- package/dist/showcase/assets/layout-containers-BuSg6L6o.js +0 -101
- package/dist/showcase/assets/layout-header-DAxSUI18.js +0 -203
- package/dist/showcase/assets/layout-page-CVgVJHf1.js +0 -314
- package/dist/showcase/assets/layout-primitives-q8NXbEld.js +0 -34
- package/dist/showcase/assets/layout-sidebar-bB6AJaGs.js +0 -224
- package/dist/showcase/assets/layout-users-DG5u517t.js +0 -117
- package/dist/showcase/assets/layout-workspace-CKMDUM2b.js +0 -191
- package/dist/showcase/assets/lib-CaQvPpSJ.js +0 -1
- package/dist/showcase/assets/list-checks-Dhr60VvL.js +0 -1
- package/dist/showcase/assets/lock-CYVbyBpM.js +0 -1
- package/dist/showcase/assets/lock-keyhole-TUVID45I.js +0 -1
- package/dist/showcase/assets/mail-DfkwmVKE.js +0 -1
- package/dist/showcase/assets/mail-check-CnBhgH_h.js +0 -1
- package/dist/showcase/assets/map-Ck14_o-F.js +0 -124
- package/dist/showcase/assets/map-pin-Di7TUhai.js +0 -1
- package/dist/showcase/assets/media-library-CzM_to29.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-B1RHUfnH.js +0 -1
- package/dist/showcase/assets/mentions-CdaPXOLl.js +0 -138
- package/dist/showcase/assets/menus-DuqcLdg1.js +0 -171
- package/dist/showcase/assets/message-square-DuW3PrFI.js +0 -1
- package/dist/showcase/assets/metadata-list-CCRGSPaS.js +0 -286
- package/dist/showcase/assets/metadata-list-Drvz5mwy.js +0 -1
- package/dist/showcase/assets/metric-BSaXa3Z_.js +0 -1
- package/dist/showcase/assets/metric-bar-CM1Rmk8y.js +0 -1
- package/dist/showcase/assets/metric-grid-BBGxdYNJ.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-C_LrbPyT.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-ByvVltQV.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-CNGiVG1A.js +0 -50
- package/dist/showcase/assets/metrics-comparison-BLUvtt5N.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-CZWhn4_i.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-CcPm2_ON.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-CitG5Aea.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-CAsplRVI.js +0 -42
- package/dist/showcase/assets/metrics-overview-DSRwW-3j.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-BTdSpUV_.js +0 -54
- package/dist/showcase/assets/minus-BaXg6nPb.js +0 -1
- package/dist/showcase/assets/money-display-HegN6NVU.js +0 -1
- package/dist/showcase/assets/month-year-picker-DGSalGea.js +0 -1
- package/dist/showcase/assets/navigation-B9kcgNmJ.js +0 -90
- package/dist/showcase/assets/navigation-D4OJbw4T.js +0 -231
- package/dist/showcase/assets/navigation-extras-xm_wzPZr.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-CWuCJKDd.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-Dq-I4MUu.js +0 -1
- package/dist/showcase/assets/overlays-BHf9SZOh.js +0 -159
- package/dist/showcase/assets/overlays-DziL3nVU.js +0 -408
- package/dist/showcase/assets/overview-Cc69up8i.js +0 -184
- package/dist/showcase/assets/package-Bc-NuFnd.js +0 -1
- package/dist/showcase/assets/package-check-5LQwCfGh.js +0 -1
- package/dist/showcase/assets/page-B2o5HSfY.js +0 -1
- package/dist/showcase/assets/page-action-button-CfS6vsyC.js +0 -1
- package/dist/showcase/assets/page-header-W6quU5pO.js +0 -1
- package/dist/showcase/assets/pagination-Bfs7Zszm.js +0 -1
- package/dist/showcase/assets/pagination-DHs104ji.js +0 -42
- package/dist/showcase/assets/paperclip-CXeiMywc.js +0 -1
- package/dist/showcase/assets/password-input-C61t743N.js +0 -1
- package/dist/showcase/assets/pencil-C1TXsTfP.js +0 -1
- package/dist/showcase/assets/phone-Bh-68R_E.js +0 -1
- package/dist/showcase/assets/plus-CKBaO4jG.js +0 -1
- package/dist/showcase/assets/popover-C_7qLizt.js +0 -1
- package/dist/showcase/assets/popover-hgtHqd0h.js +0 -1
- package/dist/showcase/assets/popover-menu-DmYSBsji.js +0 -1
- package/dist/showcase/assets/products-DSvcQz-Q.js +0 -423
- package/dist/showcase/assets/progress-Chxeo8g4.js +0 -18
- package/dist/showcase/assets/progress-fYPoCyf-.js +0 -1
- package/dist/showcase/assets/props-table-izArO1Pv.js +0 -1
- package/dist/showcase/assets/props.generated-cO7HmIpY.json +0 -41578
- package/dist/showcase/assets/quote-wvfNu9t7.js +0 -1
- package/dist/showcase/assets/receipt-BlXBX4ZJ.js +0 -1
- package/dist/showcase/assets/receipt-text-stSsUTV5.js +0 -1
- package/dist/showcase/assets/refinement-guide-Bri81J9N.js +0 -189
- package/dist/showcase/assets/refresh-cw-tZzNDEGO.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-Cti97iX8.js +0 -1
- package/dist/showcase/assets/resource-B727CTVi.js +0 -139
- package/dist/showcase/assets/resource-DytT_quB.js +0 -1
- package/dist/showcase/assets/resource-selector-card-wNuW382N.js +0 -43
- package/dist/showcase/assets/rich-text-editor-DdK5YD0y.js +0 -143
- package/dist/showcase/assets/rich-text-editor-DqY2H6e0.js +0 -124
- package/dist/showcase/assets/rotate-ccw-Bp4aMDrI.js +0 -1
- package/dist/showcase/assets/route-D2owHMka.js +0 -1
- package/dist/showcase/assets/save-DjC_iy0t.js +0 -1
- package/dist/showcase/assets/schema-form-CQtLwGC1.js +0 -327
- package/dist/showcase/assets/scroll-area-BQlHFfkG.js +0 -32
- package/dist/showcase/assets/scroll-area-D3Rrt85s.js +0 -1
- package/dist/showcase/assets/section-DYfGx1Q5.js +0 -1
- package/dist/showcase/assets/select-BCJGhRpc.js +0 -1
- package/dist/showcase/assets/select-Cf5EigqA.js +0 -1
- package/dist/showcase/assets/send-86Vr11Ys.js +0 -1
- package/dist/showcase/assets/separator-BHjNVb5O.js +0 -1
- package/dist/showcase/assets/separator-BejjbTbO.js +0 -28
- package/dist/showcase/assets/settings-2-DNNVOsjP.js +0 -1
- package/dist/showcase/assets/settings-Bsi5BLx5.js +0 -1
- package/dist/showcase/assets/sheet-BazhMvfb.js +0 -1
- package/dist/showcase/assets/shield-alert-D-Jbocfj.js +0 -1
- package/dist/showcase/assets/shield-check-D9eDVcJ1.js +0 -1
- package/dist/showcase/assets/shield-xI2P9G5d.js +0 -1
- package/dist/showcase/assets/shopping-bag-DOGs3sez.js +0 -1
- package/dist/showcase/assets/showcase-s-5CuLAJ.js +0 -132
- package/dist/showcase/assets/sidebar-Rz44gw_a.js +0 -1
- package/dist/showcase/assets/sidebar.context-Bbcdo3o8.js +0 -1
- package/dist/showcase/assets/skeleton-CY8ieqD-.js +0 -1
- package/dist/showcase/assets/skeleton-CgoH6CPT.js +0 -29
- package/dist/showcase/assets/slider-okW2bgkG.js +0 -1
- package/dist/showcase/assets/smart-card-CVwEPwfI.js +0 -1
- package/dist/showcase/assets/sonner-CixCpxj2.js +0 -22
- package/dist/showcase/assets/sortable.esm-DKcVtGTb.js +0 -5
- package/dist/showcase/assets/sparkles-DDEVdtmy.js +0 -1
- package/dist/showcase/assets/spinner-BVGPoAEv.js +0 -49
- package/dist/showcase/assets/spinner-FURXSp1Q.js +0 -1
- package/dist/showcase/assets/spinner-u6TwJ3Ii.js +0 -30
- package/dist/showcase/assets/square-pen-DVXVT0cQ.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CKOQhAx4.js +0 -1
- package/dist/showcase/assets/star-B3ZPfxuz.js +0 -1
- package/dist/showcase/assets/startOfDay-LwMBRUSU.js +0 -1
- package/dist/showcase/assets/styles-UIKkojWJ.js +0 -1
- package/dist/showcase/assets/suggestions-DbrzKjbi.js +0 -126
- package/dist/showcase/assets/switch-CAw84QpS.js +0 -1
- package/dist/showcase/assets/switch-Cjt2MCgr.js +0 -1
- package/dist/showcase/assets/sync-DWbqfpBH.js +0 -124
- package/dist/showcase/assets/table-Bx5lo5FP.js +0 -686
- package/dist/showcase/assets/table-C2RQulDb.js +0 -1
- package/dist/showcase/assets/table-actions-Clo3WEfM.js +0 -1
- package/dist/showcase/assets/tabs-DRtlcg6b.js +0 -19
- package/dist/showcase/assets/tabs-wMPtvuT5.js +0 -1
- package/dist/showcase/assets/tags-input-D5FpWOWF.js +0 -1
- package/dist/showcase/assets/text-button-Cwh6D6qG.js +0 -1
- package/dist/showcase/assets/text-link-DI1uXdGl.js +0 -1
- package/dist/showcase/assets/textarea-CGbt4gBZ.js +0 -1
- package/dist/showcase/assets/textarea-JPgPLhyk.js +0 -1
- package/dist/showcase/assets/timelines-CkHN08n6.js +0 -200
- package/dist/showcase/assets/toggle-group-BpXkR9uD.js +0 -1
- package/dist/showcase/assets/toggles-DK9iCbki.js +0 -71
- package/dist/showcase/assets/toggles-group-DwzRj0f7.js +0 -32
- package/dist/showcase/assets/tooltip-PtP1suag.js +0 -31
- package/dist/showcase/assets/trash-2-BE4XUI2g.js +0 -1
- package/dist/showcase/assets/trending-up-ByxOf-nR.js +0 -1
- package/dist/showcase/assets/truck-RTOdcRV0.js +0 -1
- package/dist/showcase/assets/typography-BKLgHDxU.js +0 -223
- package/dist/showcase/assets/ui-badge-DIh_3Wmo.js +0 -28
- package/dist/showcase/assets/ui-card-BOdHnZwv.js +0 -30
- package/dist/showcase/assets/ui-table-BW4FCClv.js +0 -42
- package/dist/showcase/assets/upload-tray-CV9_5Lpa.js +0 -138
- package/dist/showcase/assets/use-layout-link-MyeE-CDj.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DSaog2w5.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-DSpPzrxG.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-DsuJtES0.js +0 -1
- package/dist/showcase/assets/useCompositeItem-lbAimLrR.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-pRXWGj4x.js +0 -1
- package/dist/showcase/assets/useLabelableId-IRM1zB5m.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-CHDcTj9f.js +0 -1
- package/dist/showcase/assets/useRender-Ogz5zjeJ.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-Du6btFNB.js +0 -1
- package/dist/showcase/assets/useValueChanged-CXpsR4fl.js +0 -1
- package/dist/showcase/assets/user-plus-CLj8AZe1.js +0 -1
- package/dist/showcase/assets/user-ymdT26JK.js +0 -1
- package/dist/showcase/assets/users-BGba2Xwv.js +0 -1
- package/dist/showcase/assets/vendor-profile-Ci6c9mFC.js +0 -37
- package/dist/showcase/assets/video-BcKa36-p.js +0 -1
- package/dist/showcase/assets/wrench-Cj2hRrih.js +0 -1
- package/dist/showcase/assets/x-iCqjAC2D.js +0 -1
- package/dist/showcase/assets/zap-H4bc_OhS.js +0 -1
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { o as e, p as t } from "./ui-provider-Dj6OSOZi.js";
|
|
2
|
-
import { cn as n } from "../lib/utils.js";
|
|
3
|
-
import { createElement as r, useMemo as i } from "react";
|
|
4
|
-
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
5
|
-
//#region src/lib/sanitize-html.ts
|
|
6
|
-
var s = {
|
|
7
|
-
"&": "&",
|
|
8
|
-
"<": "<",
|
|
9
|
-
">": ">",
|
|
10
|
-
"\"": """,
|
|
11
|
-
"'": "'"
|
|
12
|
-
};
|
|
13
|
-
function c(e) {
|
|
14
|
-
return e ? e.replace(/[&<>"']/g, (e) => s[e] ?? e) : "";
|
|
15
|
-
}
|
|
16
|
-
//#endregion
|
|
17
|
-
//#region src/components/typography/text.tsx
|
|
18
|
-
var l = {
|
|
19
|
-
inherit: "[font-size:inherit]",
|
|
20
|
-
xxs: "text-xs",
|
|
21
|
-
sm: "text-sm",
|
|
22
|
-
xs: "text-xs",
|
|
23
|
-
base: "text-base",
|
|
24
|
-
lg: "text-lg",
|
|
25
|
-
xl: "text-xl"
|
|
26
|
-
}, u = {
|
|
27
|
-
main: "text-foreground",
|
|
28
|
-
inverse: "text-background",
|
|
29
|
-
secondary: "text-muted-foreground",
|
|
30
|
-
discrete: "text-muted-foreground",
|
|
31
|
-
error: "text-destructive",
|
|
32
|
-
success: "text-success",
|
|
33
|
-
primary: "text-primary"
|
|
34
|
-
}, d = {
|
|
35
|
-
normal: "leading-normal",
|
|
36
|
-
relaxed: "leading-relaxed",
|
|
37
|
-
loose: "leading-loose",
|
|
38
|
-
tight: "leading-tight",
|
|
39
|
-
snug: "leading-snug",
|
|
40
|
-
none: "leading-none"
|
|
41
|
-
}, f = {
|
|
42
|
-
regular: "font-normal",
|
|
43
|
-
medium: "font-medium",
|
|
44
|
-
semibold: "font-semibold",
|
|
45
|
-
bold: "font-bold"
|
|
46
|
-
}, p = {
|
|
47
|
-
center: "text-center",
|
|
48
|
-
right: "text-right",
|
|
49
|
-
left: "text-left"
|
|
50
|
-
};
|
|
51
|
-
function m({ content: e, type: o = "main", size: s, align: m = "left", lineHeight: h = "normal", weight: g = "regular", className: _ = "", children: v, asHTML: y = !1, numeric: b = !1, tag: x = "p", ...S }) {
|
|
52
|
-
let { defaultTextSize: C } = t(), w = s ?? C ?? "sm", T = n(u[o], l[w], p[m], d[h], f[g], b && "font-mono tabular-nums", _), E = i(() => typeof e == "string" && e.length > 0 ? e : typeof v == "string" || typeof v == "number" ? String(v) : "", [v, e]);
|
|
53
|
-
return y ? r(x, {
|
|
54
|
-
className: T,
|
|
55
|
-
"data-typography": "text",
|
|
56
|
-
dangerouslySetInnerHTML: { __html: c(E) },
|
|
57
|
-
...S
|
|
58
|
-
}) : e && e.length > 0 ? /* @__PURE__ */ a(x, {
|
|
59
|
-
className: T,
|
|
60
|
-
"data-typography": "text",
|
|
61
|
-
...S,
|
|
62
|
-
children: e
|
|
63
|
-
}) : v == null ? null : /* @__PURE__ */ a(x, {
|
|
64
|
-
className: T,
|
|
65
|
-
"data-typography": "text",
|
|
66
|
-
...S,
|
|
67
|
-
children: v
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
m.displayName = "Text";
|
|
71
|
-
//#endregion
|
|
72
|
-
//#region src/components/typography/heading.tsx
|
|
73
|
-
var h = {
|
|
74
|
-
h1: "scroll-m-20 text-base font-semibold leading-snug text-balance",
|
|
75
|
-
h2: "scroll-m-20 text-base font-semibold leading-snug first:mt-0",
|
|
76
|
-
h3: "scroll-m-20 text-base font-semibold leading-snug",
|
|
77
|
-
h4: "scroll-m-20 text-base font-semibold leading-snug",
|
|
78
|
-
h5: "text-base font-semibold leading-snug",
|
|
79
|
-
h6: "text-base font-semibold leading-snug"
|
|
80
|
-
}, g = {
|
|
81
|
-
left: "text-left",
|
|
82
|
-
center: "text-center",
|
|
83
|
-
right: "text-right"
|
|
84
|
-
};
|
|
85
|
-
function _({ tag: e = "h3", className: t, children: r, subHeading: i, subHeadingClassName: s, subHeadingSize: c, containerClassName: l, align: u = "left", divider: d = !1, ...f }) {
|
|
86
|
-
let p = n("text-foreground antialiased", h[e], d && "border-b border-border pb-2", g[u], t);
|
|
87
|
-
return /* @__PURE__ */ o("div", {
|
|
88
|
-
className: n("space-y-1", g[u], l),
|
|
89
|
-
children: [!!r && /* @__PURE__ */ a(e, {
|
|
90
|
-
className: p,
|
|
91
|
-
"data-typography": "heading",
|
|
92
|
-
...f,
|
|
93
|
-
children: r
|
|
94
|
-
}), !!i && /* @__PURE__ */ a(m, {
|
|
95
|
-
size: c ?? "xs",
|
|
96
|
-
type: "secondary",
|
|
97
|
-
align: u,
|
|
98
|
-
className: s,
|
|
99
|
-
children: i
|
|
100
|
-
})]
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
_.displayName = "Heading";
|
|
104
|
-
//#endregion
|
|
105
|
-
//#region src/components/typography/label.tsx
|
|
106
|
-
var v = {
|
|
107
|
-
small: "text-sm",
|
|
108
|
-
default: "text-sm"
|
|
109
|
-
};
|
|
110
|
-
function y(e, t) {
|
|
111
|
-
return e ?? t ?? "default";
|
|
112
|
-
}
|
|
113
|
-
function b({ content: t, className: r = "", children: i, size: o, ...s }) {
|
|
114
|
-
let { defaultLabelSize: c } = e(), l = y(o, c);
|
|
115
|
-
return /* @__PURE__ */ a("label", {
|
|
116
|
-
...s,
|
|
117
|
-
"data-typography": "label",
|
|
118
|
-
className: n("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50", v[l], r),
|
|
119
|
-
children: i || t
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
b.displayName = "Label";
|
|
123
|
-
//#endregion
|
|
124
|
-
//#region src/components/typography/text-link.tsx
|
|
125
|
-
var x = {
|
|
126
|
-
inherit: "text-inherit",
|
|
127
|
-
sm: "text-sm",
|
|
128
|
-
xs: "text-xs",
|
|
129
|
-
base: "text-base",
|
|
130
|
-
lg: "text-lg",
|
|
131
|
-
xl: "text-xl"
|
|
132
|
-
}, S = {
|
|
133
|
-
main: "text-foreground",
|
|
134
|
-
inverse: "text-background",
|
|
135
|
-
secondary: "text-muted-foreground",
|
|
136
|
-
discrete: "text-muted-foreground",
|
|
137
|
-
error: "text-destructive",
|
|
138
|
-
success: "text-success",
|
|
139
|
-
primary: "text-primary"
|
|
140
|
-
}, C = {
|
|
141
|
-
normal: "leading-normal",
|
|
142
|
-
relaxed: "leading-relaxed",
|
|
143
|
-
loose: "leading-loose",
|
|
144
|
-
tight: "leading-tight",
|
|
145
|
-
snug: "leading-snug",
|
|
146
|
-
none: "leading-none"
|
|
147
|
-
}, w = {
|
|
148
|
-
regular: "font-normal",
|
|
149
|
-
medium: "font-medium",
|
|
150
|
-
semibold: "font-semibold",
|
|
151
|
-
bold: "font-bold"
|
|
152
|
-
}, T = {
|
|
153
|
-
center: "text-center",
|
|
154
|
-
right: "text-right",
|
|
155
|
-
left: "text-left"
|
|
156
|
-
};
|
|
157
|
-
function E({ type: e = "main", size: t = "sm", align: r = "left", lineHeight: i = "normal", weight: o = "regular", className: s = "", underline: c = !0, children: l, ...u }) {
|
|
158
|
-
return /* @__PURE__ */ a("a", {
|
|
159
|
-
className: n(S[e], x[t], T[r], C[i], w[o], c && "underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current! dark:decoration-neutral-500", s),
|
|
160
|
-
"data-typography": "link",
|
|
161
|
-
...u,
|
|
162
|
-
children: l
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
E.displayName = "TextLink";
|
|
166
|
-
//#endregion
|
|
167
|
-
//#region src/components/typography/typography.tsx
|
|
168
|
-
var D = {
|
|
169
|
-
primary: "bg-primary/10 text-primary ring-primary/20",
|
|
170
|
-
success: "bg-success/10 text-success ring-success/20",
|
|
171
|
-
error: "bg-destructive/10 text-destructive ring-destructive/20",
|
|
172
|
-
warning: "bg-warning/20 text-warning-foreground ring-warning/30 dark:text-warning"
|
|
173
|
-
}, O = {
|
|
174
|
-
primary: "decoration-primary",
|
|
175
|
-
success: "decoration-success",
|
|
176
|
-
error: "decoration-destructive",
|
|
177
|
-
warning: "decoration-warning"
|
|
178
|
-
};
|
|
179
|
-
function k({ content: e, variant: t = "primary" }) {
|
|
180
|
-
return /* @__PURE__ */ a("span", {
|
|
181
|
-
className: n("rounded-sm px-1.5 py-0.5 ring-1 ring-inset", D[t]),
|
|
182
|
-
children: e
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
function A({ content: e, variant: t = "primary" }) {
|
|
186
|
-
return /* @__PURE__ */ a("span", {
|
|
187
|
-
className: n("underline underline-offset-4 decoration-2", O[t]),
|
|
188
|
-
children: e
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
function j({ children: e, ...t }) {
|
|
192
|
-
return /* @__PURE__ */ a("p", {
|
|
193
|
-
className: "__html_content",
|
|
194
|
-
dangerouslySetInnerHTML: { __html: c(typeof e == "string" ? e : "") },
|
|
195
|
-
...t
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
//#endregion
|
|
199
|
-
export { b as a, c, E as i, k as n, _ as o, A as r, m as s, j as t };
|
|
200
|
-
|
|
201
|
-
//# sourceMappingURL=typography-DXvCmE8w.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typography-DXvCmE8w.js","names":[],"sources":["../../src/lib/sanitize-html.ts","../../src/components/typography/text.tsx","../../src/components/typography/heading.tsx","../../src/components/typography/label.tsx","../../src/components/typography/text-link.tsx","../../src/components/typography/typography.tsx"],"sourcesContent":["const ESCAPE: Record<string, string> = {\n\t'&': '&',\n\t'<': '<',\n\t'>': '>',\n\t'\"': '"',\n\t\"'\": ''',\n};\n\nexport function sanitizeHtml(input: string): string {\n\tif (!input) return '';\n\treturn input.replace(/[&<>\"']/g, (ch) => ESCAPE[ch] ?? ch);\n}\n\nexport default sanitizeHtml;\n","/**\n * Text — design-system text primitive. Use `size` (xxs–xl), `type` (main / inverse /\n * secondary / discrete / error / success / primary), `weight`, `align`, `lineHeight`, `tag`\n * (p / div / span). Supports `content` and `asHTML` (sanitised). Carries `data-typography=\"text\"`\n * as a styling hook for targeting text within a surface.\n */\nimport { createElement, useMemo } from 'react';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { useTypographyConfig, type TextSize } from '@/lib/ui-provider';\nimport { sanitizeHtml } from '@/lib/sanitize-html';\nimport { cn } from '@/lib/utils';\n\nconst sizes = {\n inherit: '[font-size:inherit]',\n xxs: 'text-xs',\n\tsm: 'text-sm',\n\txs: 'text-xs',\n\tbase: 'text-base',\n\tlg: 'text-lg',\n\txl: 'text-xl',\n};\n\nconst types = {\n\tmain: 'text-foreground',\n inverse: 'text-background',\n\tsecondary: 'text-muted-foreground',\n\tdiscrete: 'text-muted-foreground',\n\terror: 'text-destructive',\n\tsuccess: 'text-success',\n\tprimary: 'text-primary',\n};\n\nconst lineHeights = {\n\tnormal: 'leading-normal',\n\trelaxed: 'leading-relaxed',\n\tloose: 'leading-loose',\n\ttight: 'leading-tight',\n\tsnug: 'leading-snug',\n\tnone: 'leading-none',\n};\n\nconst weights = {\n\tregular: 'font-normal',\n\tmedium: 'font-medium',\n\tsemibold: 'font-semibold',\n\tbold: 'font-bold',\n};\n\nconst alignment = { center: 'text-center', right: 'text-right', left: 'text-left' };\n\nexport interface TextProps extends Omit<ComponentPropsWithoutRef<'p'>, 'children'> {\n\tcontent?: string;\n\ttype?: keyof typeof types;\n\tsize?: TextSize;\n\talign?: keyof typeof alignment;\n\tlineHeight?: keyof typeof lineHeights;\n\tinvert?: boolean;\n\tnumeric?: boolean;\n\tweight?: keyof typeof weights;\n\tchildren?: ReactNode;\n\ttag?: 'div' | 'p' | 'span';\n\tasHTML?: boolean;\n}\n\nexport function Text({\n\tcontent,\n\ttype = 'main',\n\tsize: sizeProp,\n\talign = 'left',\n\tlineHeight = 'normal',\n\tweight = 'regular',\n\tclassName = '',\n\tchildren,\n\tasHTML = false,\n\tnumeric = false,\n\ttag: Tag = 'p',\n\t...props\n}: TextProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\tconst textClassnames = cn(\n\t\ttypes[type],\n\t\tsizes[size],\n\t\talignment[align],\n\t\tlineHeights[lineHeight],\n\t\tweights[weight],\n\t\tnumeric && 'font-mono tabular-nums',\n\t\tclassName,\n\t);\n\n\tconst htmlSource = useMemo(() => {\n\t\tif (typeof content === 'string' && content.length > 0) {\n\t\t\treturn content;\n\t\t}\n\n\t\tif (typeof children === 'string' || typeof children === 'number') {\n\t\t\treturn String(children);\n\t\t}\n\n\t\treturn '';\n\t}, [children, content]);\n\n\tif (asHTML) {\n\t\tconst sanitized = sanitizeHtml(htmlSource);\n\t\treturn createElement(Tag, {\n\t\t\tclassName: textClassnames,\n\t\t\t'data-typography': 'text',\n\t\t\tdangerouslySetInnerHTML: { __html: sanitized },\n\t\t\t...props,\n\t\t});\n\t}\n\n\tif (content && content.length > 0) {\n\t\treturn (\n\t\t\t<Tag className={textClassnames} data-typography=\"text\" {...props}>\n\t\t\t\t{content}\n\t\t\t</Tag>\n\t\t);\n\t}\n\n\tif (children !== undefined && children !== null) {\n\t\treturn (\n\t\t\t<Tag className={textClassnames} data-typography=\"text\" {...props}>\n\t\t\t\t{children}\n\t\t\t</Tag>\n\t\t);\n\t}\n\n\treturn null;\n}\n\nText.displayName = 'Text';\n\nexport default Text;\n","/**\n * Heading — semantic h1–h6 with consistent sizing, optional `subHeading` (rendered as\n * a Text below), and alignment. Carries `data-typography=\"heading\"` as a styling hook.\n */\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { type TextSize } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nimport Text from './text';\n\ntype HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nconst headingVariants: Record<HeadingTag, string> = {\n\th1: 'scroll-m-20 text-base font-semibold leading-snug text-balance',\n\th2: 'scroll-m-20 text-base font-semibold leading-snug first:mt-0',\n\th3: 'scroll-m-20 text-base font-semibold leading-snug',\n\th4: 'scroll-m-20 text-base font-semibold leading-snug',\n\th5: 'text-base font-semibold leading-snug',\n\th6: 'text-base font-semibold leading-snug',\n};\n\nconst alignmentClasses = {\n\tleft: 'text-left',\n\tcenter: 'text-center',\n\tright: 'text-right',\n} as const;\n\nexport interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {\n\ttag?: HeadingTag;\n\tsubHeading?: ReactNode;\n\tsubHeadingClassName?: string;\n\tsubHeadingSize?: TextSize;\n\tcontainerClassName?: string;\n\talign?: 'left' | 'center' | 'right';\n\tdivider?: boolean;\n}\n\nfunction Heading({\n\ttag: Tag = 'h3',\n\tclassName,\n\tchildren,\n\tsubHeading,\n\tsubHeadingClassName,\n\tsubHeadingSize,\n\tcontainerClassName,\n\talign = 'left',\n\tdivider = false,\n\t...headingProps\n}: HeadingProps) {\n\tconst headingClasses = cn(\n\t\t'text-foreground antialiased',\n\t\theadingVariants[Tag],\n\t\tdivider && 'border-b border-border pb-2',\n\t\talignmentClasses[align],\n\t\tclassName,\n\t);\n\n\tconst wrapperClasses = cn(\n\t\t'space-y-1',\n\t\talignmentClasses[align],\n\t\tcontainerClassName,\n\t);\n\n\treturn (\n\t\t<div className={wrapperClasses}>\n\t\t\t{!!children && (\n\t\t\t\t<Tag className={headingClasses} data-typography=\"heading\" {...headingProps}>\n\t\t\t\t\t{children}\n\t\t\t\t</Tag>\n\t\t\t)}\n\n\t\t\t{!!subHeading && (\n\t\t\t\t<Text\n\t\t\t\t\tsize={subHeadingSize ?? 'xs'}\n\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\talign={align}\n\t\t\t\t\tclassName={subHeadingClassName}\n\t\t\t\t>\n\t\t\t\t\t{subHeading}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nHeading.displayName = 'Heading';\n\nexport default Heading;\n","/**\n * Label — design-system label primitive for form fields and discrete UI captions.\n * Carries `data-typography=\"label\"` as a styling hook for targeting labels\n * within a surface. Pair with form fields and any `peer` input pattern; the\n * built-in disabled styles propagate from sibling.\n */\nimport type { LabelHTMLAttributes, ReactNode } from 'react';\n\nimport { useFormsConfig, type FormLabelSize } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nconst labelSizeClasses: Record<FormLabelSize, string> = {\n\tsmall: 'text-sm',\n\tdefault: 'text-sm',\n};\n\nfunction resolveLabelSize(\n\tsizeProp: FormLabelSize | undefined,\n\tdefaultLabelSize: FormLabelSize | undefined,\n): FormLabelSize {\n\treturn sizeProp ?? defaultLabelSize ?? 'default';\n}\n\nexport type LabelProps = {\n\tcontent?: ReactNode;\n\tclassName?: string;\n\tsize?: FormLabelSize;\n} & LabelHTMLAttributes<HTMLLabelElement>;\n\nfunction Label({ content, className = '', children, size: sizeProp, ...props }: LabelProps) {\n\tconst { defaultLabelSize } = useFormsConfig();\n\tconst size = resolveLabelSize(sizeProp, defaultLabelSize);\n\n\treturn (\n\t\t<label\n\t\t\t{...props}\n\t\t\tdata-typography=\"label\"\n\t\t\tclassName={cn(\n\t\t\t\t'font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n\t\t\t\tlabelSizeClasses[size],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{children || content}\n\t\t</label>\n\t);\n}\n\nLabel.displayName = 'Label';\n\nexport default Label;\n","/**\n * TextLink — anchor variant of Text. Mirrors Text's `size`, `type`, `weight`,\n * `align`, and `lineHeight` props for consistency, with an optional `underline`\n * (default true). Carries `data-typography=\"link\"` as a styling hook.\n */\nimport type { AnchorHTMLAttributes } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst sizes = {\n\tinherit: 'text-inherit',\n\tsm: 'text-sm',\n\txs: 'text-xs',\n\tbase: 'text-base',\n\tlg: 'text-lg',\n\txl: 'text-xl',\n};\n\nconst types = {\n\tmain: 'text-foreground',\n\tinverse: 'text-background',\n\tsecondary: 'text-muted-foreground',\n\tdiscrete: 'text-muted-foreground',\n\terror: 'text-destructive',\n\tsuccess: 'text-success',\n\tprimary: 'text-primary',\n};\n\nconst lineHeights = {\n\tnormal: 'leading-normal',\n\trelaxed: 'leading-relaxed',\n\tloose: 'leading-loose',\n\ttight: 'leading-tight',\n\tsnug: 'leading-snug',\n\tnone: 'leading-none',\n};\n\nconst weights = {\n\tregular: 'font-normal',\n\tmedium: 'font-medium',\n\tsemibold: 'font-semibold',\n\tbold: 'font-bold',\n};\n\nconst alignment = { center: 'text-center', right: 'text-right', left: 'text-left' };\n\nexport interface TextLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'type'> {\n\ttype?: keyof typeof types;\n\tsize?: keyof typeof sizes;\n\talign?: keyof typeof alignment;\n\tlineHeight?: keyof typeof lineHeights;\n\tweight?: keyof typeof weights;\n\tclassName?: string;\n\tunderline?: boolean;\n}\n\nfunction TextLink({\n\ttype = 'main',\n\tsize = 'sm',\n\talign = 'left',\n\tlineHeight = 'normal',\n\tweight = 'regular',\n\tclassName = '',\n\tunderline = true,\n\tchildren,\n\t...linkProps\n}: TextLinkProps) {\n\tconst textClassnames = cn(\n\t\ttypes[type],\n\t\tsizes[size],\n\t\talignment[align],\n\t\tlineHeights[lineHeight],\n\t\tweights[weight],\n\t\tunderline &&\n\t\t\t'underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current! dark:decoration-neutral-500',\n\t\tclassName,\n\t);\n\n\treturn (\n\t\t<a className={textClassnames} data-typography=\"link\" {...linkProps}>\n\t\t\t{children}\n\t\t</a>\n\t);\n}\n\nTextLink.displayName = 'TextLink';\n\nexport default TextLink;\n","import type { ParamHTMLAttributes } from 'react';\n\nimport { sanitizeHtml } from '@/lib/sanitize-html';\nimport { cn } from '@/lib/utils';\n\nexport type Variants = 'primary' | 'success' | 'warning' | 'error';\n\nexport interface IVariant {\n\tvariant?: Variants;\n\tcontent: string;\n}\n\nconst highlightTypes = {\n\tprimary: 'bg-primary/10 text-primary ring-primary/20',\n\tsuccess: 'bg-success/10 text-success ring-success/20',\n\terror: 'bg-destructive/10 text-destructive ring-destructive/20',\n\twarning: 'bg-warning/20 text-warning-foreground ring-warning/30 dark:text-warning',\n};\n\nconst underlineTypes = {\n\tprimary: 'decoration-primary',\n\tsuccess: 'decoration-success',\n\terror: 'decoration-destructive',\n\twarning: 'decoration-warning',\n};\n\nexport function HighLight({ content, variant = 'primary' }: IVariant) {\n\tconst highlightClassNames = cn('rounded-sm px-1.5 py-0.5 ring-1 ring-inset', highlightTypes[variant]);\n\treturn <span className={highlightClassNames}>{content}</span>;\n};\n\nexport function Underline({ content, variant = 'primary' }: IVariant) {\n\tconst underlineClassNames = cn(\n\t\t'underline underline-offset-4 decoration-2',\n\t\tunderlineTypes[variant],\n\t);\n\treturn <span className={underlineClassNames}>{content}</span>;\n};\n\nexport function DangerousHTML({ children, ...props }: ParamHTMLAttributes<HTMLParagraphElement>) {\n\tconst sanitized = sanitizeHtml(typeof children === 'string' ? children : '');\n\treturn (\n\t\t<p\n\t\t\tclassName=\"__html_content\"\n\t\t\tdangerouslySetInnerHTML={{ __html: sanitized }}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("./ui-provider-DZWtUXf2.cjs"),t=require("../lib/utils.cjs");let n=require("react"),r=require("react/jsx-runtime");var i={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`};function a(e){return e?e.replace(/[&<>"']/g,e=>i[e]??e):``}var o={inherit:`[font-size:inherit]`,xxs:`text-xs`,sm:`text-sm`,xs:`text-xs`,base:`text-base`,lg:`text-lg`,xl:`text-xl`},s={main:`text-foreground`,inverse:`text-background`,secondary:`text-muted-foreground`,discrete:`text-muted-foreground`,error:`text-destructive`,success:`text-success`,primary:`text-primary`},c={normal:`leading-normal`,relaxed:`leading-relaxed`,loose:`leading-loose`,tight:`leading-tight`,snug:`leading-snug`,none:`leading-none`},l={regular:`font-normal`,medium:`font-medium`,semibold:`font-semibold`,bold:`font-bold`},u={center:`text-center`,right:`text-right`,left:`text-left`};function d({content:i,type:d=`main`,size:f,align:p=`left`,lineHeight:m=`normal`,weight:h=`regular`,className:g=``,children:_,asHTML:v=!1,numeric:y=!1,tag:b=`p`,...x}){let{defaultTextSize:S}=e.p(),C=f??S??`sm`,w=t.cn(s[d],o[C],u[p],c[m],l[h],y&&`font-mono tabular-nums`,g),T=(0,n.useMemo)(()=>typeof i==`string`&&i.length>0?i:typeof _==`string`||typeof _==`number`?String(_):``,[_,i]);return v?(0,n.createElement)(b,{className:w,"data-typography":`text`,dangerouslySetInnerHTML:{__html:a(T)},...x}):i&&i.length>0?(0,r.jsx)(b,{className:w,"data-typography":`text`,...x,children:i}):_==null?null:(0,r.jsx)(b,{className:w,"data-typography":`text`,...x,children:_})}d.displayName=`Text`;var f={h1:`scroll-m-20 text-base font-semibold leading-snug text-balance`,h2:`scroll-m-20 text-base font-semibold leading-snug first:mt-0`,h3:`scroll-m-20 text-base font-semibold leading-snug`,h4:`scroll-m-20 text-base font-semibold leading-snug`,h5:`text-base font-semibold leading-snug`,h6:`text-base font-semibold leading-snug`},p={left:`text-left`,center:`text-center`,right:`text-right`};function m({tag:e=`h3`,className:n,children:i,subHeading:a,subHeadingClassName:o,subHeadingSize:s,containerClassName:c,align:l=`left`,divider:u=!1,...m}){let h=t.cn(`text-foreground antialiased`,f[e],u&&`border-b border-border pb-2`,p[l],n);return(0,r.jsxs)(`div`,{className:t.cn(`space-y-1`,p[l],c),children:[!!i&&(0,r.jsx)(e,{className:h,"data-typography":`heading`,...m,children:i}),!!a&&(0,r.jsx)(d,{size:s??`xs`,type:`secondary`,align:l,className:o,children:a})]})}m.displayName=`Heading`;var h={small:`text-sm`,default:`text-sm`};function g(e,t){return e??t??`default`}function _({content:n,className:i=``,children:a,size:o,...s}){let{defaultLabelSize:c}=e.o(),l=g(o,c);return(0,r.jsx)(`label`,{...s,"data-typography":`label`,className:t.cn(`font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,h[l],i),children:a||n})}_.displayName=`Label`;var v={inherit:`text-inherit`,sm:`text-sm`,xs:`text-xs`,base:`text-base`,lg:`text-lg`,xl:`text-xl`},y={main:`text-foreground`,inverse:`text-background`,secondary:`text-muted-foreground`,discrete:`text-muted-foreground`,error:`text-destructive`,success:`text-success`,primary:`text-primary`},b={normal:`leading-normal`,relaxed:`leading-relaxed`,loose:`leading-loose`,tight:`leading-tight`,snug:`leading-snug`,none:`leading-none`},x={regular:`font-normal`,medium:`font-medium`,semibold:`font-semibold`,bold:`font-bold`},S={center:`text-center`,right:`text-right`,left:`text-left`};function C({type:e=`main`,size:n=`sm`,align:i=`left`,lineHeight:a=`normal`,weight:o=`regular`,className:s=``,underline:c=!0,children:l,...u}){return(0,r.jsx)(`a`,{className:t.cn(y[e],v[n],S[i],b[a],x[o],c&&`underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current! dark:decoration-neutral-500`,s),"data-typography":`link`,...u,children:l})}C.displayName=`TextLink`;var w={primary:`bg-primary/10 text-primary ring-primary/20`,success:`bg-success/10 text-success ring-success/20`,error:`bg-destructive/10 text-destructive ring-destructive/20`,warning:`bg-warning/20 text-warning-foreground ring-warning/30 dark:text-warning`},T={primary:`decoration-primary`,success:`decoration-success`,error:`decoration-destructive`,warning:`decoration-warning`};function E({content:e,variant:n=`primary`}){return(0,r.jsx)(`span`,{className:t.cn(`rounded-sm px-1.5 py-0.5 ring-1 ring-inset`,w[n]),children:e})}function D({content:e,variant:n=`primary`}){return(0,r.jsx)(`span`,{className:t.cn(`underline underline-offset-4 decoration-2`,T[n]),children:e})}function O({children:e,...t}){return(0,r.jsx)(`p`,{className:`__html_content`,dangerouslySetInnerHTML:{__html:a(typeof e==`string`?e:``)},...t})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return O}});
|
|
2
|
-
//# sourceMappingURL=typography-pzCKaFOc.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typography-pzCKaFOc.cjs","names":[],"sources":["../../src/lib/sanitize-html.ts","../../src/components/typography/text.tsx","../../src/components/typography/heading.tsx","../../src/components/typography/label.tsx","../../src/components/typography/text-link.tsx","../../src/components/typography/typography.tsx"],"sourcesContent":["const ESCAPE: Record<string, string> = {\n\t'&': '&',\n\t'<': '<',\n\t'>': '>',\n\t'\"': '"',\n\t\"'\": ''',\n};\n\nexport function sanitizeHtml(input: string): string {\n\tif (!input) return '';\n\treturn input.replace(/[&<>\"']/g, (ch) => ESCAPE[ch] ?? ch);\n}\n\nexport default sanitizeHtml;\n","/**\n * Text — design-system text primitive. Use `size` (xxs–xl), `type` (main / inverse /\n * secondary / discrete / error / success / primary), `weight`, `align`, `lineHeight`, `tag`\n * (p / div / span). Supports `content` and `asHTML` (sanitised). Carries `data-typography=\"text\"`\n * as a styling hook for targeting text within a surface.\n */\nimport { createElement, useMemo } from 'react';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { useTypographyConfig, type TextSize } from '@/lib/ui-provider';\nimport { sanitizeHtml } from '@/lib/sanitize-html';\nimport { cn } from '@/lib/utils';\n\nconst sizes = {\n inherit: '[font-size:inherit]',\n xxs: 'text-xs',\n\tsm: 'text-sm',\n\txs: 'text-xs',\n\tbase: 'text-base',\n\tlg: 'text-lg',\n\txl: 'text-xl',\n};\n\nconst types = {\n\tmain: 'text-foreground',\n inverse: 'text-background',\n\tsecondary: 'text-muted-foreground',\n\tdiscrete: 'text-muted-foreground',\n\terror: 'text-destructive',\n\tsuccess: 'text-success',\n\tprimary: 'text-primary',\n};\n\nconst lineHeights = {\n\tnormal: 'leading-normal',\n\trelaxed: 'leading-relaxed',\n\tloose: 'leading-loose',\n\ttight: 'leading-tight',\n\tsnug: 'leading-snug',\n\tnone: 'leading-none',\n};\n\nconst weights = {\n\tregular: 'font-normal',\n\tmedium: 'font-medium',\n\tsemibold: 'font-semibold',\n\tbold: 'font-bold',\n};\n\nconst alignment = { center: 'text-center', right: 'text-right', left: 'text-left' };\n\nexport interface TextProps extends Omit<ComponentPropsWithoutRef<'p'>, 'children'> {\n\tcontent?: string;\n\ttype?: keyof typeof types;\n\tsize?: TextSize;\n\talign?: keyof typeof alignment;\n\tlineHeight?: keyof typeof lineHeights;\n\tinvert?: boolean;\n\tnumeric?: boolean;\n\tweight?: keyof typeof weights;\n\tchildren?: ReactNode;\n\ttag?: 'div' | 'p' | 'span';\n\tasHTML?: boolean;\n}\n\nexport function Text({\n\tcontent,\n\ttype = 'main',\n\tsize: sizeProp,\n\talign = 'left',\n\tlineHeight = 'normal',\n\tweight = 'regular',\n\tclassName = '',\n\tchildren,\n\tasHTML = false,\n\tnumeric = false,\n\ttag: Tag = 'p',\n\t...props\n}: TextProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\tconst textClassnames = cn(\n\t\ttypes[type],\n\t\tsizes[size],\n\t\talignment[align],\n\t\tlineHeights[lineHeight],\n\t\tweights[weight],\n\t\tnumeric && 'font-mono tabular-nums',\n\t\tclassName,\n\t);\n\n\tconst htmlSource = useMemo(() => {\n\t\tif (typeof content === 'string' && content.length > 0) {\n\t\t\treturn content;\n\t\t}\n\n\t\tif (typeof children === 'string' || typeof children === 'number') {\n\t\t\treturn String(children);\n\t\t}\n\n\t\treturn '';\n\t}, [children, content]);\n\n\tif (asHTML) {\n\t\tconst sanitized = sanitizeHtml(htmlSource);\n\t\treturn createElement(Tag, {\n\t\t\tclassName: textClassnames,\n\t\t\t'data-typography': 'text',\n\t\t\tdangerouslySetInnerHTML: { __html: sanitized },\n\t\t\t...props,\n\t\t});\n\t}\n\n\tif (content && content.length > 0) {\n\t\treturn (\n\t\t\t<Tag className={textClassnames} data-typography=\"text\" {...props}>\n\t\t\t\t{content}\n\t\t\t</Tag>\n\t\t);\n\t}\n\n\tif (children !== undefined && children !== null) {\n\t\treturn (\n\t\t\t<Tag className={textClassnames} data-typography=\"text\" {...props}>\n\t\t\t\t{children}\n\t\t\t</Tag>\n\t\t);\n\t}\n\n\treturn null;\n}\n\nText.displayName = 'Text';\n\nexport default Text;\n","/**\n * Heading — semantic h1–h6 with consistent sizing, optional `subHeading` (rendered as\n * a Text below), and alignment. Carries `data-typography=\"heading\"` as a styling hook.\n */\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { type TextSize } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nimport Text from './text';\n\ntype HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nconst headingVariants: Record<HeadingTag, string> = {\n\th1: 'scroll-m-20 text-base font-semibold leading-snug text-balance',\n\th2: 'scroll-m-20 text-base font-semibold leading-snug first:mt-0',\n\th3: 'scroll-m-20 text-base font-semibold leading-snug',\n\th4: 'scroll-m-20 text-base font-semibold leading-snug',\n\th5: 'text-base font-semibold leading-snug',\n\th6: 'text-base font-semibold leading-snug',\n};\n\nconst alignmentClasses = {\n\tleft: 'text-left',\n\tcenter: 'text-center',\n\tright: 'text-right',\n} as const;\n\nexport interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {\n\ttag?: HeadingTag;\n\tsubHeading?: ReactNode;\n\tsubHeadingClassName?: string;\n\tsubHeadingSize?: TextSize;\n\tcontainerClassName?: string;\n\talign?: 'left' | 'center' | 'right';\n\tdivider?: boolean;\n}\n\nfunction Heading({\n\ttag: Tag = 'h3',\n\tclassName,\n\tchildren,\n\tsubHeading,\n\tsubHeadingClassName,\n\tsubHeadingSize,\n\tcontainerClassName,\n\talign = 'left',\n\tdivider = false,\n\t...headingProps\n}: HeadingProps) {\n\tconst headingClasses = cn(\n\t\t'text-foreground antialiased',\n\t\theadingVariants[Tag],\n\t\tdivider && 'border-b border-border pb-2',\n\t\talignmentClasses[align],\n\t\tclassName,\n\t);\n\n\tconst wrapperClasses = cn(\n\t\t'space-y-1',\n\t\talignmentClasses[align],\n\t\tcontainerClassName,\n\t);\n\n\treturn (\n\t\t<div className={wrapperClasses}>\n\t\t\t{!!children && (\n\t\t\t\t<Tag className={headingClasses} data-typography=\"heading\" {...headingProps}>\n\t\t\t\t\t{children}\n\t\t\t\t</Tag>\n\t\t\t)}\n\n\t\t\t{!!subHeading && (\n\t\t\t\t<Text\n\t\t\t\t\tsize={subHeadingSize ?? 'xs'}\n\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\talign={align}\n\t\t\t\t\tclassName={subHeadingClassName}\n\t\t\t\t>\n\t\t\t\t\t{subHeading}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nHeading.displayName = 'Heading';\n\nexport default Heading;\n","/**\n * Label — design-system label primitive for form fields and discrete UI captions.\n * Carries `data-typography=\"label\"` as a styling hook for targeting labels\n * within a surface. Pair with form fields and any `peer` input pattern; the\n * built-in disabled styles propagate from sibling.\n */\nimport type { LabelHTMLAttributes, ReactNode } from 'react';\n\nimport { useFormsConfig, type FormLabelSize } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nconst labelSizeClasses: Record<FormLabelSize, string> = {\n\tsmall: 'text-sm',\n\tdefault: 'text-sm',\n};\n\nfunction resolveLabelSize(\n\tsizeProp: FormLabelSize | undefined,\n\tdefaultLabelSize: FormLabelSize | undefined,\n): FormLabelSize {\n\treturn sizeProp ?? defaultLabelSize ?? 'default';\n}\n\nexport type LabelProps = {\n\tcontent?: ReactNode;\n\tclassName?: string;\n\tsize?: FormLabelSize;\n} & LabelHTMLAttributes<HTMLLabelElement>;\n\nfunction Label({ content, className = '', children, size: sizeProp, ...props }: LabelProps) {\n\tconst { defaultLabelSize } = useFormsConfig();\n\tconst size = resolveLabelSize(sizeProp, defaultLabelSize);\n\n\treturn (\n\t\t<label\n\t\t\t{...props}\n\t\t\tdata-typography=\"label\"\n\t\t\tclassName={cn(\n\t\t\t\t'font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n\t\t\t\tlabelSizeClasses[size],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{children || content}\n\t\t</label>\n\t);\n}\n\nLabel.displayName = 'Label';\n\nexport default Label;\n","/**\n * TextLink — anchor variant of Text. Mirrors Text's `size`, `type`, `weight`,\n * `align`, and `lineHeight` props for consistency, with an optional `underline`\n * (default true). Carries `data-typography=\"link\"` as a styling hook.\n */\nimport type { AnchorHTMLAttributes } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst sizes = {\n\tinherit: 'text-inherit',\n\tsm: 'text-sm',\n\txs: 'text-xs',\n\tbase: 'text-base',\n\tlg: 'text-lg',\n\txl: 'text-xl',\n};\n\nconst types = {\n\tmain: 'text-foreground',\n\tinverse: 'text-background',\n\tsecondary: 'text-muted-foreground',\n\tdiscrete: 'text-muted-foreground',\n\terror: 'text-destructive',\n\tsuccess: 'text-success',\n\tprimary: 'text-primary',\n};\n\nconst lineHeights = {\n\tnormal: 'leading-normal',\n\trelaxed: 'leading-relaxed',\n\tloose: 'leading-loose',\n\ttight: 'leading-tight',\n\tsnug: 'leading-snug',\n\tnone: 'leading-none',\n};\n\nconst weights = {\n\tregular: 'font-normal',\n\tmedium: 'font-medium',\n\tsemibold: 'font-semibold',\n\tbold: 'font-bold',\n};\n\nconst alignment = { center: 'text-center', right: 'text-right', left: 'text-left' };\n\nexport interface TextLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'type'> {\n\ttype?: keyof typeof types;\n\tsize?: keyof typeof sizes;\n\talign?: keyof typeof alignment;\n\tlineHeight?: keyof typeof lineHeights;\n\tweight?: keyof typeof weights;\n\tclassName?: string;\n\tunderline?: boolean;\n}\n\nfunction TextLink({\n\ttype = 'main',\n\tsize = 'sm',\n\talign = 'left',\n\tlineHeight = 'normal',\n\tweight = 'regular',\n\tclassName = '',\n\tunderline = true,\n\tchildren,\n\t...linkProps\n}: TextLinkProps) {\n\tconst textClassnames = cn(\n\t\ttypes[type],\n\t\tsizes[size],\n\t\talignment[align],\n\t\tlineHeights[lineHeight],\n\t\tweights[weight],\n\t\tunderline &&\n\t\t\t'underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current! dark:decoration-neutral-500',\n\t\tclassName,\n\t);\n\n\treturn (\n\t\t<a className={textClassnames} data-typography=\"link\" {...linkProps}>\n\t\t\t{children}\n\t\t</a>\n\t);\n}\n\nTextLink.displayName = 'TextLink';\n\nexport default TextLink;\n","import type { ParamHTMLAttributes } from 'react';\n\nimport { sanitizeHtml } from '@/lib/sanitize-html';\nimport { cn } from '@/lib/utils';\n\nexport type Variants = 'primary' | 'success' | 'warning' | 'error';\n\nexport interface IVariant {\n\tvariant?: Variants;\n\tcontent: string;\n}\n\nconst highlightTypes = {\n\tprimary: 'bg-primary/10 text-primary ring-primary/20',\n\tsuccess: 'bg-success/10 text-success ring-success/20',\n\terror: 'bg-destructive/10 text-destructive ring-destructive/20',\n\twarning: 'bg-warning/20 text-warning-foreground ring-warning/30 dark:text-warning',\n};\n\nconst underlineTypes = {\n\tprimary: 'decoration-primary',\n\tsuccess: 'decoration-success',\n\terror: 'decoration-destructive',\n\twarning: 'decoration-warning',\n};\n\nexport function HighLight({ content, variant = 'primary' }: IVariant) {\n\tconst highlightClassNames = cn('rounded-sm px-1.5 py-0.5 ring-1 ring-inset', highlightTypes[variant]);\n\treturn <span className={highlightClassNames}>{content}</span>;\n};\n\nexport function Underline({ content, variant = 'primary' }: IVariant) {\n\tconst underlineClassNames = cn(\n\t\t'underline underline-offset-4 decoration-2',\n\t\tunderlineTypes[variant],\n\t);\n\treturn <span className={underlineClassNames}>{content}</span>;\n};\n\nexport function DangerousHTML({ children, ...props }: ParamHTMLAttributes<HTMLParagraphElement>) {\n\tconst sanitized = sanitizeHtml(typeof children === 'string' ? children : '');\n\treturn (\n\t\t<p\n\t\t\tclassName=\"__html_content\"\n\t\t\tdangerouslySetInnerHTML={{ __html: sanitized }}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("../lib/strings.cjs");let t=require("react"),n=require("zustand"),r=require("date-fns"),i=require("react/jsx-runtime");var a={money:{defaultCurrency:`USD`,locale:`en-US`,dualPricingEnabled:!1,displayMode:`default_only`,dualPricingDisplay:`lines`,formatMode:`with_code`},dates:{weekStartsOn:1,format:`dd MMM yyyy`,locale:`en-US`,formatRelativeTime:e=>{if(!e)return``;try{return(0,r.formatDistanceToNow)((0,r.parseISO)(e),{addSuffix:!0})}catch{return e}}},comments:{composerPosition:`top`,maxAttachments:5,allowReactions:!0,allowReplies:!0,allowAttachments:!0},filters:{debounceMs:250,defaultPageSize:25},forms:{defaultControlSize:`default`,defaultLabelSize:`default`},table:{defaultSize:`small`},typography:{defaultTextSize:`sm`},item:{defaultSize:`default`,defaultVariant:`default`},button:{defaultButtonStyle:`solid`},card:{defaultPadding:`default`},toast:{duration:5e3,position:`top-right`},spinner:{defaultVariant:`default`},media:{resolveUrl:e=>e.url,resolveName:e=>e.name??e.key}},o=(0,n.create)(()=>a);function s(t){o.setState(n=>e.mergeStrings(n,t))}function c(){return o.getState()}function l({config:e,children:n}){let r=(0,t.useRef)(!1);return(0,t.useRef)(e),(0,t.useLayoutEffect)(()=>{r.current||=(e&&s(e),!0)},[e]),(0,i.jsx)(i.Fragment,{children:n})}var u=()=>o(e=>e.money),d=()=>o(e=>e.dates),f=()=>o(e=>e.comments),p=()=>o(e=>e.filters),m=()=>o(e=>e.forms),h=()=>o(e=>e.table),g=()=>o(e=>e.typography),_=()=>o(e=>e.item),v=()=>o(e=>e.button),y=()=>o(e=>e.card),b=()=>o(e=>e.toast),x=()=>o(e=>e.spinner),S=()=>o(e=>e.media);Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return x}});
|
|
2
|
-
//# sourceMappingURL=ui-provider-DZWtUXf2.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui-provider-DZWtUXf2.cjs","names":[],"sources":["../../src/lib/ui-provider/defaults.ts","../../src/lib/ui-provider/store.ts","../../src/lib/ui-provider/provider.tsx","../../src/lib/ui-provider/hooks.ts"],"sourcesContent":["/**\n * Hardcoded library-wide defaults.\n *\n * These are the values the store ships with — every component reading via\n * `useFooConfig()` gets these even when no `<UIProvider>` is mounted.\n *\n * The store is locked at app boot. Override defaults by mounting\n * `<UIProvider config={{...}}>` near the React root exactly once.\n * SSR/test entrypoints can call `applyUIConfig({...})` directly from\n * `./store` before mounting the React tree — never from a component.\n */\nimport { formatDistanceToNow, parseISO } from 'date-fns';\n\nimport type { ResolvedUIConfig } from './types';\n\nconst defaultFormatRelativeTime = (iso: string): string => {\n if (!iso) return '';\n try {\n return formatDistanceToNow(parseISO(iso), { addSuffix: true });\n } catch {\n return iso;\n }\n};\n\nexport const DEFAULT_UI_CONFIG: ResolvedUIConfig = {\n money: {\n defaultCurrency: 'USD',\n locale: 'en-US',\n dualPricingEnabled: false,\n displayMode: 'default_only',\n dualPricingDisplay: 'lines',\n formatMode: 'with_code',\n },\n dates: {\n weekStartsOn: 1,\n format: 'dd MMM yyyy',\n locale: 'en-US',\n formatRelativeTime: defaultFormatRelativeTime,\n },\n comments: {\n composerPosition: 'top',\n maxAttachments: 5,\n allowReactions: true,\n allowReplies: true,\n allowAttachments: true,\n },\n filters: {\n debounceMs: 250,\n defaultPageSize: 25,\n },\n forms: {\n defaultControlSize: 'default',\n defaultLabelSize: 'default',\n },\n table: {\n defaultSize: 'small',\n },\n typography: {\n defaultTextSize: 'sm',\n },\n item: {\n defaultSize: 'default',\n defaultVariant: 'default',\n },\n button: {\n defaultButtonStyle: 'solid',\n },\n card: {\n defaultPadding: 'default',\n },\n toast: {\n duration: 5000,\n position: 'top-right',\n },\n spinner: {\n defaultVariant: 'default',\n },\n media: {\n resolveUrl: (input) => input.url,\n resolveName: (input) => input.name ?? input.key,\n },\n};\n","/**\n * The single zustand store backing `<UIProvider>`.\n *\n * Why zustand and not React context:\n * - Slice-scoped re-renders: `useUIStore(s => s.money)` only re-renders\n * when the `money` slice changes; consumers of `dates` are untouched.\n * Plain context re-renders every consumer on any change.\n * - No nested providers — one store, many selectors.\n * - Internal `applyUIConfig` for SSR / bootstrap code that runs outside\n * the React tree. Not part of the public barrel.\n *\n * The store ships with the full `DEFAULT_UI_CONFIG` baked in, so any\n * component using a selector hook works correctly even when `<UIProvider>`\n * is not mounted.\n */\nimport { create } from 'zustand';\n\nimport { mergeStrings, type DeepPartial } from '@/lib/strings';\n\nimport { DEFAULT_UI_CONFIG } from './defaults';\nimport type { ResolvedUIConfig, UIConfig } from './types';\n\nexport const useUIStore = create<ResolvedUIConfig>(() => DEFAULT_UI_CONFIG);\n\n/**\n * Internal — applies a partial config into the store. Called exactly\n * once by `<UIProvider>` on first mount. NOT exported from the public\n * barrel: the contract is that the config is locked after app boot;\n * descendants read via selectors and never write.\n *\n * If you genuinely need to bootstrap config from outside React (SSR\n * server entry, tests), import this directly from `./store` — never\n * call it from a React component or render path.\n */\nexport function applyUIConfig(config: DeepPartial<UIConfig>): void {\n useUIStore.setState((state) =>\n mergeStrings(state, config as DeepPartial<ResolvedUIConfig>),\n );\n}\n\n/**\n * Read the current resolved config — read-only snapshot. Useful for\n * tests, debug panels, and one-off lookups outside React. Inside\n * components, use the slice selectors from `./hooks`.\n */\nexport function getUIConfig(): ResolvedUIConfig {\n return useUIStore.getState();\n}\n\n/**\n * Internal — reset the store to the built-in defaults. Used by tests\n * to isolate cases. NOT exported from the public barrel.\n */\nexport function resetUIConfig(): void {\n useUIStore.setState(DEFAULT_UI_CONFIG, /* replace */ true);\n}\n","/**\n * `<UIProvider>` — declarative wrapper that mirrors a config tree into the\n * single zustand store.\n *\n * Usage:\n *\n * <UIProvider config={{\n * money: { defaultCurrency: 'EUR', locale: 'en-GB' },\n * dates: { weekStartsOn: 1 },\n * comments: { maxAttachments: 3 },\n * }}>\n * <App />\n * </UIProvider>\n *\n * Notes:\n * - The provider is purely a side-effect bridge — it does NOT introduce\n * a React context, so there is no nesting tax for adding more slices.\n * - The first sync happens during render so SSR output reflects the\n * consumer's overrides on first paint, not just on hydration.\n * - On config-prop identity change, the new partial is deep-merged in.\n * The store keeps any defaults the consumer didn't override.\n */\nimport { useLayoutEffect, useRef, type ReactNode } from 'react';\n\nimport type { DeepPartial } from '@/lib/strings';\n\nimport { applyUIConfig } from './store';\nimport type { UIConfig } from './types';\n\nexport interface UIProviderProps {\n /** Partial override tree merged over `DEFAULT_UI_CONFIG`. */\n config?: DeepPartial<UIConfig>;\n children: ReactNode;\n}\n\n/**\n * `<UIProvider>` is mount-once. The `config` is read on first mount and\n * locked thereafter — descendant components read via selectors and\n * cannot mutate the store. If the `config` prop identity changes after\n * the initial mount, the new value is ignored and a dev warning fires:\n * library-wide defaults are not meant to be runtime-toggled, since that\n * would mid-render every consuming component across the tree.\n *\n * `applyUIConfig` runs in `useLayoutEffect` (synchronous after DOM\n * mutation, before paint) so the override applies on the first visible\n * frame without violating React's render-phase isolation. SSR consumers\n * that need overrides in server-rendered HTML should import\n * `applyUIConfig` directly from `./store` and call it once at module\n * load before the React tree mounts.\n */\nexport function UIProvider({ config, children }: UIProviderProps) {\n const appliedRef = useRef(false);\n const initialConfigRef = useRef<DeepPartial<UIConfig> | undefined>(config);\n\n useLayoutEffect(() => {\n if (appliedRef.current) {\n if (\n import.meta.env?.DEV &&\n initialConfigRef.current !== config\n ) {\n \n console.warn(\n '[UIProvider] `config` is mount-once. Subsequent ' +\n 'changes to the prop are ignored. Library-wide ' +\n 'defaults should be set at the app root and read ' +\n 'via selectors; per-mount overrides flow as props ' +\n 'on the consuming component.',\n );\n }\n return;\n }\n if (config) applyUIConfig(config);\n appliedRef.current = true;\n }, [config]);\n\n return <>{children}</>;\n}\n","/**\n * Slice selector hooks.\n *\n * Each hook reads exactly one slice from the store. Components that only\n * care about `money` will not re-render when `dates` changes, etc.\n *\n * Every selector returns a guaranteed-populated slice (the store is\n * initialized with `DEFAULT_UI_CONFIG`), so component code can write:\n *\n * const { defaultCurrency } = useMoneyConfig();\n * const currency = props.currency ?? defaultCurrency;\n *\n * — no need to chain optional-access through the slice.\n */\nimport { useUIStore } from './store';\nimport type {\n ButtonConfigSlice,\n CardConfigSlice,\n CommentsConfig,\n DatesConfig,\n FiltersConfig,\n FormsConfigSlice,\n ItemConfigSlice,\n MediaConfig,\n MoneyConfig,\n SpinnerConfigSlice,\n TableConfig,\n ToastConfig,\n TypographyConfigSlice,\n} from './types';\n\nexport const useMoneyConfig = (): MoneyConfig =>\n useUIStore((s) => s.money);\n\nexport const useDatesConfig = (): DatesConfig =>\n useUIStore((s) => s.dates);\n\nexport const useCommentsConfig = (): CommentsConfig =>\n useUIStore((s) => s.comments);\n\nexport const useFiltersConfig = (): FiltersConfig =>\n useUIStore((s) => s.filters);\n\nexport const useFormsConfig = (): FormsConfigSlice =>\n useUIStore((s) => s.forms);\n\nexport const useTableConfig = (): TableConfig =>\n useUIStore((s) => s.table);\n\nexport const useTypographyConfig = (): TypographyConfigSlice =>\n useUIStore((s) => s.typography);\n\nexport const useItemConfig = (): ItemConfigSlice =>\n useUIStore((s) => s.item);\n\nexport const useButtonConfig = (): ButtonConfigSlice =>\n useUIStore((s) => s.button);\n\nexport const useCardConfig = (): CardConfigSlice =>\n useUIStore((s) => s.card);\n\nexport const useToastConfig = (): ToastConfig =>\n useUIStore((s) => s.toast);\n\nexport const useSpinnerConfig = (): SpinnerConfigSlice =>\n useUIStore((s) => s.spinner);\n\nexport const useMediaConfig = (): MediaConfig =>\n useUIStore((s) => s.media);\n"],"mappings":"uIAwBA,IAAa,EAAsC,CAC/C,MAAO,CACH,gBAAiB,MACjB,OAAQ,QACR,mBAAoB,GACpB,YAAa,eACb,mBAAoB,QACpB,WAAY,WAChB,EACA,MAAO,CACH,aAAc,EACd,OAAQ,cACR,OAAQ,QACR,mBAtB2B,GAAwB,CACvD,GAAI,CAAC,EAAK,MAAO,GACjB,GAAI,CACA,OAAA,EAAA,EAAA,sBAAA,EAAA,EAAA,UAAoC,CAAG,EAAG,CAAE,UAAW,EAAK,CAAC,CACjE,MAAQ,CACJ,OAAO,CACX,CACJ,CAgBI,EACA,SAAU,CACN,iBAAkB,MAClB,eAAgB,EAChB,eAAgB,GAChB,aAAc,GACd,iBAAkB,EACtB,EACA,QAAS,CACL,WAAY,IACZ,gBAAiB,EACrB,EACA,MAAO,CACH,mBAAoB,UACpB,iBAAkB,SACtB,EACA,MAAO,CACH,YAAa,OACjB,EACA,WAAY,CACR,gBAAiB,IACrB,EACA,KAAM,CACF,YAAa,UACb,eAAgB,SACpB,EACA,OAAQ,CACJ,mBAAoB,OACxB,EACA,KAAM,CACF,eAAgB,SACpB,EACA,MAAO,CACH,SAAU,IACV,SAAU,WACd,EACA,QAAS,CACL,eAAgB,SACpB,EACA,MAAO,CACH,WAAa,GAAU,EAAM,IAC7B,YAAc,GAAU,EAAM,MAAQ,EAAM,GAChD,CACJ,EC3Da,GAAA,EAAA,EAAA,YAA4C,CAAiB,EAY1E,SAAgB,EAAc,EAAqC,CAC/D,EAAW,SAAU,GACjB,EAAA,aAAa,EAAO,CAAuC,CAC/D,CACJ,CAOA,SAAgB,GAAgC,CAC5C,OAAO,EAAW,SAAS,CAC/B,CCGA,SAAgB,EAAW,CAAE,SAAQ,YAA6B,CAC9D,IAAM,GAAA,EAAA,EAAA,QAAoB,EAAK,EAwB/B,OAvByB,EAAA,EAAA,QAA0C,CAAM,GAEzE,EAAA,EAAA,qBAAsB,CACd,AAiBJ,EAAW,WADP,GAAQ,EAAc,CAAM,EACX,GACzB,EAAG,CAAC,CAAM,CAAC,GAEJ,EAAA,EAAA,KAAA,EAAA,SAAA,CAAG,UAAW,CAAA,CACzB,CC7CA,IAAa,MACT,EAAY,GAAM,EAAE,KAAK,EAEhB,MACT,EAAY,GAAM,EAAE,KAAK,EAEhB,MACT,EAAY,GAAM,EAAE,QAAQ,EAEnB,MACT,EAAY,GAAM,EAAE,OAAO,EAElB,MACT,EAAY,GAAM,EAAE,KAAK,EAEhB,MACT,EAAY,GAAM,EAAE,KAAK,EAEhB,MACT,EAAY,GAAM,EAAE,UAAU,EAErB,MACT,EAAY,GAAM,EAAE,IAAI,EAEf,MACT,EAAY,GAAM,EAAE,MAAM,EAEjB,MACT,EAAY,GAAM,EAAE,IAAI,EAEf,MACT,EAAY,GAAM,EAAE,KAAK,EAEhB,MACT,EAAY,GAAM,EAAE,OAAO,EAElB,MACT,EAAY,GAAM,EAAE,KAAK"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { mergeStrings as e } from "../lib/strings.js";
|
|
2
|
-
import { useLayoutEffect as t, useRef as n } from "react";
|
|
3
|
-
import { create as r } from "zustand";
|
|
4
|
-
import { formatDistanceToNow as i, parseISO as a } from "date-fns";
|
|
5
|
-
import { Fragment as o, jsx as s } from "react/jsx-runtime";
|
|
6
|
-
var c = {
|
|
7
|
-
money: {
|
|
8
|
-
defaultCurrency: "USD",
|
|
9
|
-
locale: "en-US",
|
|
10
|
-
dualPricingEnabled: !1,
|
|
11
|
-
displayMode: "default_only",
|
|
12
|
-
dualPricingDisplay: "lines",
|
|
13
|
-
formatMode: "with_code"
|
|
14
|
-
},
|
|
15
|
-
dates: {
|
|
16
|
-
weekStartsOn: 1,
|
|
17
|
-
format: "dd MMM yyyy",
|
|
18
|
-
locale: "en-US",
|
|
19
|
-
formatRelativeTime: (e) => {
|
|
20
|
-
if (!e) return "";
|
|
21
|
-
try {
|
|
22
|
-
return i(a(e), { addSuffix: !0 });
|
|
23
|
-
} catch {
|
|
24
|
-
return e;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
comments: {
|
|
29
|
-
composerPosition: "top",
|
|
30
|
-
maxAttachments: 5,
|
|
31
|
-
allowReactions: !0,
|
|
32
|
-
allowReplies: !0,
|
|
33
|
-
allowAttachments: !0
|
|
34
|
-
},
|
|
35
|
-
filters: {
|
|
36
|
-
debounceMs: 250,
|
|
37
|
-
defaultPageSize: 25
|
|
38
|
-
},
|
|
39
|
-
forms: {
|
|
40
|
-
defaultControlSize: "default",
|
|
41
|
-
defaultLabelSize: "default"
|
|
42
|
-
},
|
|
43
|
-
table: { defaultSize: "small" },
|
|
44
|
-
typography: { defaultTextSize: "sm" },
|
|
45
|
-
item: {
|
|
46
|
-
defaultSize: "default",
|
|
47
|
-
defaultVariant: "default"
|
|
48
|
-
},
|
|
49
|
-
button: { defaultButtonStyle: "solid" },
|
|
50
|
-
card: { defaultPadding: "default" },
|
|
51
|
-
toast: {
|
|
52
|
-
duration: 5e3,
|
|
53
|
-
position: "top-right"
|
|
54
|
-
},
|
|
55
|
-
spinner: { defaultVariant: "default" },
|
|
56
|
-
media: {
|
|
57
|
-
resolveUrl: (e) => e.url,
|
|
58
|
-
resolveName: (e) => e.name ?? e.key
|
|
59
|
-
}
|
|
60
|
-
}, l = r(() => c);
|
|
61
|
-
function u(t) {
|
|
62
|
-
l.setState((n) => e(n, t));
|
|
63
|
-
}
|
|
64
|
-
function d() {
|
|
65
|
-
return l.getState();
|
|
66
|
-
}
|
|
67
|
-
//#endregion
|
|
68
|
-
//#region src/lib/ui-provider/provider.tsx
|
|
69
|
-
function f({ config: e, children: r }) {
|
|
70
|
-
let i = n(!1);
|
|
71
|
-
return n(e), t(() => {
|
|
72
|
-
i.current ||= (e && u(e), !0);
|
|
73
|
-
}, [e]), /* @__PURE__ */ s(o, { children: r });
|
|
74
|
-
}
|
|
75
|
-
//#endregion
|
|
76
|
-
//#region src/lib/ui-provider/hooks.ts
|
|
77
|
-
var p = () => l((e) => e.money), m = () => l((e) => e.dates), h = () => l((e) => e.comments), g = () => l((e) => e.filters), _ = () => l((e) => e.forms), v = () => l((e) => e.table), y = () => l((e) => e.typography), b = () => l((e) => e.item), x = () => l((e) => e.button), S = () => l((e) => e.card), C = () => l((e) => e.toast), w = () => l((e) => e.spinner), T = () => l((e) => e.media);
|
|
78
|
-
//#endregion
|
|
79
|
-
export { g as a, T as c, v as d, C as f, c as g, d as h, m as i, p as l, f as m, S as n, _ as o, y as p, h as r, b as s, x as t, w as u };
|
|
80
|
-
|
|
81
|
-
//# sourceMappingURL=ui-provider-Dj6OSOZi.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui-provider-Dj6OSOZi.js","names":[],"sources":["../../src/lib/ui-provider/defaults.ts","../../src/lib/ui-provider/store.ts","../../src/lib/ui-provider/provider.tsx","../../src/lib/ui-provider/hooks.ts"],"sourcesContent":["/**\n * Hardcoded library-wide defaults.\n *\n * These are the values the store ships with — every component reading via\n * `useFooConfig()` gets these even when no `<UIProvider>` is mounted.\n *\n * The store is locked at app boot. Override defaults by mounting\n * `<UIProvider config={{...}}>` near the React root exactly once.\n * SSR/test entrypoints can call `applyUIConfig({...})` directly from\n * `./store` before mounting the React tree — never from a component.\n */\nimport { formatDistanceToNow, parseISO } from 'date-fns';\n\nimport type { ResolvedUIConfig } from './types';\n\nconst defaultFormatRelativeTime = (iso: string): string => {\n if (!iso) return '';\n try {\n return formatDistanceToNow(parseISO(iso), { addSuffix: true });\n } catch {\n return iso;\n }\n};\n\nexport const DEFAULT_UI_CONFIG: ResolvedUIConfig = {\n money: {\n defaultCurrency: 'USD',\n locale: 'en-US',\n dualPricingEnabled: false,\n displayMode: 'default_only',\n dualPricingDisplay: 'lines',\n formatMode: 'with_code',\n },\n dates: {\n weekStartsOn: 1,\n format: 'dd MMM yyyy',\n locale: 'en-US',\n formatRelativeTime: defaultFormatRelativeTime,\n },\n comments: {\n composerPosition: 'top',\n maxAttachments: 5,\n allowReactions: true,\n allowReplies: true,\n allowAttachments: true,\n },\n filters: {\n debounceMs: 250,\n defaultPageSize: 25,\n },\n forms: {\n defaultControlSize: 'default',\n defaultLabelSize: 'default',\n },\n table: {\n defaultSize: 'small',\n },\n typography: {\n defaultTextSize: 'sm',\n },\n item: {\n defaultSize: 'default',\n defaultVariant: 'default',\n },\n button: {\n defaultButtonStyle: 'solid',\n },\n card: {\n defaultPadding: 'default',\n },\n toast: {\n duration: 5000,\n position: 'top-right',\n },\n spinner: {\n defaultVariant: 'default',\n },\n media: {\n resolveUrl: (input) => input.url,\n resolveName: (input) => input.name ?? input.key,\n },\n};\n","/**\n * The single zustand store backing `<UIProvider>`.\n *\n * Why zustand and not React context:\n * - Slice-scoped re-renders: `useUIStore(s => s.money)` only re-renders\n * when the `money` slice changes; consumers of `dates` are untouched.\n * Plain context re-renders every consumer on any change.\n * - No nested providers — one store, many selectors.\n * - Internal `applyUIConfig` for SSR / bootstrap code that runs outside\n * the React tree. Not part of the public barrel.\n *\n * The store ships with the full `DEFAULT_UI_CONFIG` baked in, so any\n * component using a selector hook works correctly even when `<UIProvider>`\n * is not mounted.\n */\nimport { create } from 'zustand';\n\nimport { mergeStrings, type DeepPartial } from '@/lib/strings';\n\nimport { DEFAULT_UI_CONFIG } from './defaults';\nimport type { ResolvedUIConfig, UIConfig } from './types';\n\nexport const useUIStore = create<ResolvedUIConfig>(() => DEFAULT_UI_CONFIG);\n\n/**\n * Internal — applies a partial config into the store. Called exactly\n * once by `<UIProvider>` on first mount. NOT exported from the public\n * barrel: the contract is that the config is locked after app boot;\n * descendants read via selectors and never write.\n *\n * If you genuinely need to bootstrap config from outside React (SSR\n * server entry, tests), import this directly from `./store` — never\n * call it from a React component or render path.\n */\nexport function applyUIConfig(config: DeepPartial<UIConfig>): void {\n useUIStore.setState((state) =>\n mergeStrings(state, config as DeepPartial<ResolvedUIConfig>),\n );\n}\n\n/**\n * Read the current resolved config — read-only snapshot. Useful for\n * tests, debug panels, and one-off lookups outside React. Inside\n * components, use the slice selectors from `./hooks`.\n */\nexport function getUIConfig(): ResolvedUIConfig {\n return useUIStore.getState();\n}\n\n/**\n * Internal — reset the store to the built-in defaults. Used by tests\n * to isolate cases. NOT exported from the public barrel.\n */\nexport function resetUIConfig(): void {\n useUIStore.setState(DEFAULT_UI_CONFIG, /* replace */ true);\n}\n","/**\n * `<UIProvider>` — declarative wrapper that mirrors a config tree into the\n * single zustand store.\n *\n * Usage:\n *\n * <UIProvider config={{\n * money: { defaultCurrency: 'EUR', locale: 'en-GB' },\n * dates: { weekStartsOn: 1 },\n * comments: { maxAttachments: 3 },\n * }}>\n * <App />\n * </UIProvider>\n *\n * Notes:\n * - The provider is purely a side-effect bridge — it does NOT introduce\n * a React context, so there is no nesting tax for adding more slices.\n * - The first sync happens during render so SSR output reflects the\n * consumer's overrides on first paint, not just on hydration.\n * - On config-prop identity change, the new partial is deep-merged in.\n * The store keeps any defaults the consumer didn't override.\n */\nimport { useLayoutEffect, useRef, type ReactNode } from 'react';\n\nimport type { DeepPartial } from '@/lib/strings';\n\nimport { applyUIConfig } from './store';\nimport type { UIConfig } from './types';\n\nexport interface UIProviderProps {\n /** Partial override tree merged over `DEFAULT_UI_CONFIG`. */\n config?: DeepPartial<UIConfig>;\n children: ReactNode;\n}\n\n/**\n * `<UIProvider>` is mount-once. The `config` is read on first mount and\n * locked thereafter — descendant components read via selectors and\n * cannot mutate the store. If the `config` prop identity changes after\n * the initial mount, the new value is ignored and a dev warning fires:\n * library-wide defaults are not meant to be runtime-toggled, since that\n * would mid-render every consuming component across the tree.\n *\n * `applyUIConfig` runs in `useLayoutEffect` (synchronous after DOM\n * mutation, before paint) so the override applies on the first visible\n * frame without violating React's render-phase isolation. SSR consumers\n * that need overrides in server-rendered HTML should import\n * `applyUIConfig` directly from `./store` and call it once at module\n * load before the React tree mounts.\n */\nexport function UIProvider({ config, children }: UIProviderProps) {\n const appliedRef = useRef(false);\n const initialConfigRef = useRef<DeepPartial<UIConfig> | undefined>(config);\n\n useLayoutEffect(() => {\n if (appliedRef.current) {\n if (\n import.meta.env?.DEV &&\n initialConfigRef.current !== config\n ) {\n \n console.warn(\n '[UIProvider] `config` is mount-once. Subsequent ' +\n 'changes to the prop are ignored. Library-wide ' +\n 'defaults should be set at the app root and read ' +\n 'via selectors; per-mount overrides flow as props ' +\n 'on the consuming component.',\n );\n }\n return;\n }\n if (config) applyUIConfig(config);\n appliedRef.current = true;\n }, [config]);\n\n return <>{children}</>;\n}\n","/**\n * Slice selector hooks.\n *\n * Each hook reads exactly one slice from the store. Components that only\n * care about `money` will not re-render when `dates` changes, etc.\n *\n * Every selector returns a guaranteed-populated slice (the store is\n * initialized with `DEFAULT_UI_CONFIG`), so component code can write:\n *\n * const { defaultCurrency } = useMoneyConfig();\n * const currency = props.currency ?? defaultCurrency;\n *\n * — no need to chain optional-access through the slice.\n */\nimport { useUIStore } from './store';\nimport type {\n ButtonConfigSlice,\n CardConfigSlice,\n CommentsConfig,\n DatesConfig,\n FiltersConfig,\n FormsConfigSlice,\n ItemConfigSlice,\n MediaConfig,\n MoneyConfig,\n SpinnerConfigSlice,\n TableConfig,\n ToastConfig,\n TypographyConfigSlice,\n} from './types';\n\nexport const useMoneyConfig = (): MoneyConfig =>\n useUIStore((s) => s.money);\n\nexport const useDatesConfig = (): DatesConfig =>\n useUIStore((s) => s.dates);\n\nexport const useCommentsConfig = (): CommentsConfig =>\n useUIStore((s) => s.comments);\n\nexport const useFiltersConfig = (): FiltersConfig =>\n useUIStore((s) => s.filters);\n\nexport const useFormsConfig = (): FormsConfigSlice =>\n useUIStore((s) => s.forms);\n\nexport const useTableConfig = (): TableConfig =>\n useUIStore((s) => s.table);\n\nexport const useTypographyConfig = (): TypographyConfigSlice =>\n useUIStore((s) => s.typography);\n\nexport const useItemConfig = (): ItemConfigSlice =>\n useUIStore((s) => s.item);\n\nexport const useButtonConfig = (): ButtonConfigSlice =>\n useUIStore((s) => s.button);\n\nexport const useCardConfig = (): CardConfigSlice =>\n useUIStore((s) => s.card);\n\nexport const useToastConfig = (): ToastConfig =>\n useUIStore((s) => s.toast);\n\nexport const useSpinnerConfig = (): SpinnerConfigSlice =>\n useUIStore((s) => s.spinner);\n\nexport const useMediaConfig = (): MediaConfig =>\n useUIStore((s) => s.media);\n"],"mappings":";;;;;AAwBA,IAAa,IAAsC;CAC/C,OAAO;EACH,iBAAiB;EACjB,QAAQ;EACR,oBAAoB;EACpB,aAAa;EACb,oBAAoB;EACpB,YAAY;CAChB;CACA,OAAO;EACH,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,qBAtB2B,MAAwB;GACvD,IAAI,CAAC,GAAK,OAAO;GACjB,IAAI;IACA,OAAO,EAAoB,EAAS,CAAG,GAAG,EAAE,WAAW,GAAK,CAAC;GACjE,QAAQ;IACJ,OAAO;GACX;EACJ;CAgBI;CACA,UAAU;EACN,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,cAAc;EACd,kBAAkB;CACtB;CACA,SAAS;EACL,YAAY;EACZ,iBAAiB;CACrB;CACA,OAAO;EACH,oBAAoB;EACpB,kBAAkB;CACtB;CACA,OAAO,EACH,aAAa,QACjB;CACA,YAAY,EACR,iBAAiB,KACrB;CACA,MAAM;EACF,aAAa;EACb,gBAAgB;CACpB;CACA,QAAQ,EACJ,oBAAoB,QACxB;CACA,MAAM,EACF,gBAAgB,UACpB;CACA,OAAO;EACH,UAAU;EACV,UAAU;CACd;CACA,SAAS,EACL,gBAAgB,UACpB;CACA,OAAO;EACH,aAAa,MAAU,EAAM;EAC7B,cAAc,MAAU,EAAM,QAAQ,EAAM;CAChD;AACJ,GC3Da,IAAa,QAA+B,CAAiB;AAY1E,SAAgB,EAAc,GAAqC;CAC/D,EAAW,UAAU,MACjB,EAAa,GAAO,CAAuC,CAC/D;AACJ;AAOA,SAAgB,IAAgC;CAC5C,OAAO,EAAW,SAAS;AAC/B;;;ACGA,SAAgB,EAAW,EAAE,WAAQ,eAA6B;CAC9D,IAAM,IAAa,EAAO,EAAK;CAwB/B,OAvByB,EAA0C,CAAM,GAEzE,QAAsB;EACd,AAiBJ,EAAW,aADP,KAAQ,EAAc,CAAM,GACX;CACzB,GAAG,CAAC,CAAM,CAAC,GAEJ,kBAAA,GAAA,EAAG,YAAW,CAAA;AACzB;;;AC7CA,IAAa,UACT,GAAY,MAAM,EAAE,KAAK,GAEhB,UACT,GAAY,MAAM,EAAE,KAAK,GAEhB,UACT,GAAY,MAAM,EAAE,QAAQ,GAEnB,UACT,GAAY,MAAM,EAAE,OAAO,GAElB,UACT,GAAY,MAAM,EAAE,KAAK,GAEhB,UACT,GAAY,MAAM,EAAE,KAAK,GAEhB,UACT,GAAY,MAAM,EAAE,UAAU,GAErB,UACT,GAAY,MAAM,EAAE,IAAI,GAEf,UACT,GAAY,MAAM,EAAE,MAAM,GAEjB,UACT,GAAY,MAAM,EAAE,IAAI,GAEf,UACT,GAAY,MAAM,EAAE,KAAK,GAEhB,UACT,GAAY,MAAM,EAAE,OAAO,GAElB,UACT,GAAY,MAAM,EAAE,KAAK"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/strings.cjs"),n=require("../lib/utils.cjs"),r=require("./button-BMiPFJIb.cjs"),i=require("./typography-pzCKaFOc.cjs"),a=require("./badge-DvUA9Pr2.cjs"),o=require("./display-C0ut-Lew.cjs"),s=require("./item-CSk9Y2qB.cjs"),c=require("./hooks-RkLytuGj.cjs");let l=require("react");l=e.t(l,1);let u=require("react/jsx-runtime"),d=require("lucide-react");var f={metadataLabel:`Record metadata`,actionsLabel:`Record actions`,secondaryActionsLabel:`Secondary actions`},p={ariaLabel:`Workspace navigation`,completionLabel:e=>`${e}% complete`,currentLabel:`Current`},m={ariaLabel:`Workspace locales`,activeLabel:`Active`,completionLabel:e=>`${e}% complete`},h={default:`[--workspace-content-max-width:58rem]`,wide:`[--workspace-content-max-width:86rem]`,full:`[--workspace-content-max-width:none]`},g={complete:d.Check,current:d.Circle,attention:d.CircleAlert,disabled:d.Circle,idle:d.Circle},_={complete:`text-success`,current:`text-primary`,attention:`text-warning`,disabled:`text-muted-foreground/40`,idle:`text-muted-foreground`};function v(e){return Number.isFinite(e)?Math.min(100,Math.max(0,Math.round(e))):0}function y({icon:e,className:t}){return e?l.isValidElement(e)?l.cloneElement(e,{className:n.cn(t,e.props.className)}):typeof e==`function`?(0,u.jsx)(e,{className:t,"aria-hidden":`true`}):null:null}function b(e,t){return e.disabled?`disabled`:e.status?e.status:e.warning?`attention`:t?`current`:e.completion!==void 0&&v(e.completion)>=100?`complete`:`idle`}var x=l.forwardRef(function({header:e,sidebar:t,rail:r,children:i,contentWidth:a=`wide`,className:o,headerClassName:s,bodyClassName:c,sidebarClassName:l,mainClassName:d,contentClassName:f,railClassName:p,ariaLabel:m,style:g,..._},v){let y=!!t,b=!!r;return(0,u.jsxs)(`div`,{ref:v,"aria-label":m,className:n.cn(`workspace-layout--component flex h-full min-h-0 w-full flex-col overflow-hidden rounded-md border border-border bg-background text-foreground`,`[--workspace-sidebar-width:16rem] [--workspace-rail-width:20rem]`,h[a],o),style:g,..._,children:[!!e&&(0,u.jsx)(`header`,{className:n.cn(`workspace-layout--header shrink-0 border-b border-border bg-background`,s),children:e}),(0,u.jsxs)(`div`,{className:n.cn(`workspace-layout--body grid min-h-0 flex-1 grid-cols-1 bg-muted/20`,y&&!b&&`min-[80rem]:grid-cols-[var(--workspace-sidebar-width)_minmax(0,1fr)]`,y&&b&&`min-[80rem]:grid-cols-[var(--workspace-sidebar-width)_minmax(0,1fr)] min-[96rem]:grid-cols-[var(--workspace-sidebar-width)_minmax(0,1fr)_var(--workspace-rail-width)]`,!y&&b&&`min-[96rem]:grid-cols-[minmax(0,1fr)_var(--workspace-rail-width)]`,c),children:[!!y&&(0,u.jsx)(`aside`,{className:n.cn(`workspace-layout--sidebar hidden min-h-0 border-r border-border bg-background min-[80rem]:block`,l),children:(0,u.jsx)(`div`,{className:`h-full overflow-y-auto overscroll-contain p-3`,children:t})}),(0,u.jsx)(`main`,{className:n.cn(`workspace-layout--main min-h-0 min-w-0 overflow-y-auto overscroll-contain`,d),children:(0,u.jsx)(`div`,{className:n.cn(`workspace-layout--content mx-auto flex min-h-full w-full max-w-[var(--workspace-content-max-width)] flex-col gap-4 p-4 min-[64rem]:p-5`,a===`full`&&`max-w-none`,f),children:i})}),!!b&&(0,u.jsx)(`aside`,{className:n.cn(`workspace-layout--rail hidden min-h-0 border-l border-border bg-background min-[96rem]:block`,p),children:(0,u.jsx)(`div`,{className:`h-full overflow-y-auto overscroll-contain p-3`,children:r})})]})]})});x.displayName=`WorkspaceLayout`;var S=l.forwardRef(function({title:e,description:r,badges:a,metadata:o,actions:s,secondaryActions:c,status:l,media:d,headerEnd:p,titleSlot:m,className:h,strings:g,..._},v){let y=t.useStrings(f,g),b=!!o?.length;return(0,u.jsxs)(`div`,{ref:v,className:n.cn(`workspace-record-header--component flex flex-col gap-4 px-4 py-4 min-[64rem]:flex-row min-[64rem]:items-start min-[64rem]:justify-between min-[64rem]:px-5`,h),..._,children:[(0,u.jsxs)(`div`,{className:`workspace-record-header--identity flex min-w-0 flex-1 gap-3`,children:[!!d&&(0,u.jsx)(`div`,{className:`workspace-record-header--media flex size-12 shrink-0 items-center justify-center overflow-hidden rounded-md border border-border bg-muted/40`,children:d}),(0,u.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,u.jsxs)(`div`,{className:`workspace-record-header--title-row flex min-w-0 flex-wrap items-center gap-2`,children:[m??(0,u.jsx)(i.o,{tag:`h4`,className:`leading-tight`,children:e}),!!a&&(0,u.jsx)(`div`,{className:`workspace-record-header--badges flex flex-wrap items-center gap-1.5`,children:a}),!!l&&(0,u.jsx)(`div`,{className:`workspace-record-header--status`,children:l})]}),!!r&&(0,u.jsx)(i.s,{size:`xs`,type:`secondary`,className:`workspace-record-header--description max-w-4xl leading-relaxed`,children:r}),!!b&&(0,u.jsx)(`div`,{"aria-label":y.metadataLabel,className:`workspace-record-header--metadata flex flex-wrap items-center gap-x-4 gap-y-1`,children:o.map((e,t)=>(0,u.jsxs)(`div`,{className:`flex items-baseline gap-1.5`,children:[(0,u.jsx)(i.s,{tag:`span`,size:`xs`,type:`secondary`,className:`uppercase`,children:e.label}),(0,u.jsx)(i.s,{tag:`span`,size:`xs`,weight:`medium`,className:`tabular-nums`,children:e.value})]},e.id??t))})]})]}),!!(s||c||p)&&(0,u.jsxs)(`div`,{className:`workspace-record-header--actions flex shrink-0 flex-wrap items-center gap-2 min-[64rem]:justify-end`,children:[!!c&&(0,u.jsx)(`div`,{"aria-label":y.secondaryActionsLabel,className:`flex flex-wrap items-center gap-1.5`,children:c}),!!s&&(0,u.jsx)(`div`,{"aria-label":y.actionsLabel,className:`flex flex-wrap items-center gap-1.5`,children:s}),!!p&&(0,u.jsx)(`div`,{className:`workspace-record-header--end`,children:p})]})]})});S.displayName=`WorkspaceRecordHeader`;var C=l.forwardRef(function({groups:e,activeId:r,onSelect:a,renderItem:d,footerSlot:f,renderLink:m,LinkComponent:h,className:x,strings:S,...C},w){let T=t.useStrings(p,S),E=c.d({renderLink:m,LinkComponent:h});return(0,u.jsxs)(`nav`,{ref:w,"aria-label":C[`aria-label`]??T.ariaLabel,className:n.cn(`workspace-nav--component flex h-full flex-col gap-4`,x),...C,children:[(0,u.jsx)(`div`,{className:`workspace-nav--groups flex min-h-0 flex-1 flex-col gap-4`,children:e.map(e=>(0,u.jsxs)(`div`,{className:`workspace-nav--group space-y-2`,children:[!!e.label&&(0,u.jsxs)(`div`,{className:`workspace-nav--group-header px-1`,children:[(0,u.jsx)(i.s,{size:`xs`,weight:`semibold`,type:`secondary`,className:`uppercase tracking-wide`,children:e.label}),!!e.description&&(0,u.jsx)(i.s,{size:`xs`,type:`secondary`,className:`mt-0.5 leading-snug`,children:e.description})]}),(0,u.jsx)(s.o,{className:`workspace-nav--items gap-1`,children:e.items.map((t,c)=>{let f=t.id===r,p=b(t,f),m=g[p],h=t.completion===void 0?void 0:v(t.completion),x=e=>{if(t.disabled){e.preventDefault();return}a?.(t)},S={active:f,group:e,index:c,onSelect:x};if(d)return(0,u.jsx)(l.Fragment,{children:d(t,S)},t.id);let C=(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(s.c,{variant:`icon`,className:n.cn(f&&`bg-primary/10 text-primary`),children:t.icon?(0,u.jsx)(y,{icon:t.icon,className:`size-4`}):(0,u.jsx)(m,{className:n.cn(`size-3.5`,_[p]),"aria-hidden":`true`})}),(0,u.jsxs)(s.r,{children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,u.jsx)(s.u,{children:t.label}),f&&(0,u.jsx)(`span`,{className:`sr-only`,children:T.currentLabel})]}),!!t.description&&(0,u.jsx)(s.i,{clamp:2,children:t.description}),h!==void 0&&(0,u.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-2`,children:[(0,u.jsx)(o.n,{value:h,className:`h-1.5 flex-1`}),(0,u.jsx)(i.s,{tag:`span`,size:`xs`,type:`secondary`,className:`tabular-nums`,children:T.completionLabel(h)})]})]}),!!t.badge&&(0,u.jsx)(s.n,{children:t.badge})]}),w=n.cn(`workspace-nav--item w-full border border-transparent px-2 py-2 text-left transition-colors`,f&&`border-primary/20 bg-primary/5`,t.warning&&!f&&`border-warning/30 bg-warning/5`,t.disabled&&`pointer-events-none opacity-50`);return t.href?(0,u.jsx)(s.t,{size:`default`,render:E({href:t.href,children:C,className:`block`,active:f,disabled:t.disabled,external:t.external,target:t.target,rel:t.rel,onClick:x}),className:w,children:C},t.id):(0,u.jsx)(s.t,{size:`default`,render:(0,u.jsx)(`button`,{type:`button`,onClick:x,disabled:t.disabled}),className:w,children:C},t.id)})})]},e.id))}),!!f&&(0,u.jsx)(`div`,{className:`workspace-nav--footer shrink-0 border-t border-border pt-3`,children:f})]})});C.displayName=`WorkspaceNav`;var w=l.forwardRef(function({locales:e,activeLocale:i,onLocaleChange:o,actions:s,status:c,className:l,strings:d,...f},p){let h=t.useStrings(m,d),g=e=>{e.disabled||o?.(e)};return(0,u.jsxs)(`div`,{ref:p,className:n.cn(`workspace-locale-strip--component flex flex-col gap-3 border-t border-border bg-muted/20 px-4 py-3 min-[64rem]:flex-row min-[64rem]:items-center min-[64rem]:justify-between min-[64rem]:px-5`,l),...f,children:[(0,u.jsx)(`div`,{className:`workspace-locale-strip--locales flex min-w-0 flex-wrap items-center gap-2`,role:`list`,"aria-label":h.ariaLabel,children:e.map(e=>{let t=e.id===i,o=e.completion===void 0?void 0:v(e.completion);return(0,u.jsx)(r.t,{type:`button`,variant:t?`primary`:`secondary`,buttonStyle:t?`solid`:`ghost`,onClick:()=>g(e),disabled:e.disabled,"aria-pressed":t,className:n.cn(`workspace-locale-strip--item h-auto min-h-8 justify-start px-2.5 py-1.5`),children:(0,u.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,u.jsx)(`span`,{className:`truncate`,children:e.label}),t&&(0,u.jsx)(`span`,{className:`sr-only`,children:h.activeLabel}),o!==void 0&&(0,u.jsx)(a.t,{variant:o>=100?`success`:`secondary`,className:`shrink-0`,children:h.completionLabel(o)}),!!e.status&&(0,u.jsx)(`span`,{className:`shrink-0`,children:e.status})]})},e.id)})}),!!(c||s)&&(0,u.jsxs)(`div`,{className:`workspace-locale-strip--actions flex shrink-0 flex-wrap items-center gap-2`,children:[!!c&&(0,u.jsx)(`div`,{className:`workspace-locale-strip--status`,children:c}),!!s&&(0,u.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:s})]})]})});w.displayName=`WorkspaceLocaleStrip`,Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return x}});
|
|
2
|
-
//# sourceMappingURL=workspace-C3U57t2a.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-C3U57t2a.cjs","names":[],"sources":["../../src/components/layout/workspace/workspace.strings.ts","../../src/components/layout/workspace/workspace.tsx"],"sourcesContent":["export interface WorkspaceRecordHeaderStrings {\n\tmetadataLabel: string;\n\tactionsLabel: string;\n\tsecondaryActionsLabel: string;\n}\n\nexport const defaultWorkspaceRecordHeaderStrings: WorkspaceRecordHeaderStrings = {\n\tmetadataLabel: 'Record metadata',\n\tactionsLabel: 'Record actions',\n\tsecondaryActionsLabel: 'Secondary actions',\n};\n\nexport interface WorkspaceNavStrings {\n\tariaLabel: string;\n\tcompletionLabel: (value: number) => string;\n\tcurrentLabel: string;\n}\n\nexport const defaultWorkspaceNavStrings: WorkspaceNavStrings = {\n\tariaLabel: 'Workspace navigation',\n\tcompletionLabel: (value) => `${value}% complete`,\n\tcurrentLabel: 'Current',\n};\n\nexport interface WorkspaceLocaleStripStrings {\n\tariaLabel: string;\n\tactiveLabel: string;\n\tcompletionLabel: (value: number) => string;\n}\n\nexport const defaultWorkspaceLocaleStripStrings: WorkspaceLocaleStripStrings = {\n\tariaLabel: 'Workspace locales',\n\tactiveLabel: 'Active',\n\tcompletionLabel: (value) => `${value}% complete`,\n};\n","import * as React from 'react';\nimport {\n\tCheck,\n\tCircle,\n\tCircleAlert,\n\ttype LucideIcon,\n\t} from 'lucide-react';\n\nimport { Badge } from '@/components/base/badge';\nimport { Button } from '@/components/base/buttons';\nimport { Progress,\n} from '@/components/base/display';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { Heading, Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../hooks';\nimport type { LayoutIconSource } from '../layout.types';\nimport {\n\tdefaultWorkspaceLocaleStripStrings,\n\tdefaultWorkspaceNavStrings,\n\tdefaultWorkspaceRecordHeaderStrings,\n} from './workspace.strings';\nimport type {\n\tWorkspaceContentWidth,\n\tWorkspaceLayoutProps,\n\tWorkspaceLocaleItem,\n\tWorkspaceLocaleStripProps,\n\tWorkspaceNavItem,\n\tWorkspaceNavItemStatus,\n\tWorkspaceNavProps,\n\tWorkspaceRecordHeaderProps,\n} from './workspace.types';\n\nconst CONTENT_WIDTH_CLASS: Record<WorkspaceContentWidth, string> = {\n\tdefault: '[--workspace-content-max-width:58rem]',\n\twide: '[--workspace-content-max-width:86rem]',\n\tfull: '[--workspace-content-max-width:none]',\n};\n\nconst STATUS_ICON: Record<WorkspaceNavItemStatus, LucideIcon> = {\n\tcomplete: Check,\n\tcurrent: Circle,\n\tattention: CircleAlert,\n\tdisabled: Circle,\n\tidle: Circle,\n};\n\nconst STATUS_CLASS: Record<WorkspaceNavItemStatus, string> = {\n\tcomplete: 'text-success',\n\tcurrent: 'text-primary',\n\tattention: 'text-warning',\n\tdisabled: 'text-muted-foreground/40',\n\tidle: 'text-muted-foreground',\n};\n\nfunction clampPercent(value: number): number {\n\tif (!Number.isFinite(value)) return 0;\n\treturn Math.min(100, Math.max(0, Math.round(value)));\n}\n\nfunction DynamicWorkspaceIcon({\n\ticon,\n\tclassName,\n}: {\n\ticon?: LayoutIconSource;\n\tclassName?: string;\n}) {\n\tif (!icon) return null;\n\tif (React.isValidElement(icon)) {\n\t\treturn React.cloneElement(icon as React.ReactElement<{ className?: string }>, {\n\t\t\tclassName: cn(className, (icon.props as { className?: string }).className),\n\t\t});\n\t}\n\tif (typeof icon === 'function') {\n\t\tconst Icon = icon as LucideIcon;\n\t\treturn <Icon className={className} aria-hidden=\"true\" />;\n\t}\n\treturn null;\n}\n\nfunction getStatus(item: WorkspaceNavItem, active: boolean): WorkspaceNavItemStatus {\n\tif (item.disabled) return 'disabled';\n\tif (item.status) return item.status;\n\tif (item.warning) return 'attention';\n\tif (active) return 'current';\n\tif (item.completion !== undefined && clampPercent(item.completion) >= 100) return 'complete';\n\treturn 'idle';\n}\n\nexport const WorkspaceLayout = React.forwardRef<HTMLDivElement, WorkspaceLayoutProps>(function WorkspaceLayout({\n\theader,\n\tsidebar,\n\trail,\n\tchildren,\n\tcontentWidth = 'wide',\n\tclassName,\n\theaderClassName,\n\tbodyClassName,\n\tsidebarClassName,\n\tmainClassName,\n\tcontentClassName,\n\trailClassName,\n\tariaLabel,\n\tstyle,\n\t...props\n}, ref) {\n\tconst hasSidebar = !!sidebar;\n\tconst hasRail = !!rail;\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\taria-label={ariaLabel}\n\t\t\tclassName={cn(\n\t\t\t\t'workspace-layout--component flex h-full min-h-0 w-full flex-col overflow-hidden rounded-md border border-border bg-background text-foreground',\n\t\t\t\t'[--workspace-sidebar-width:16rem] [--workspace-rail-width:20rem]',\n\t\t\t\tCONTENT_WIDTH_CLASS[contentWidth],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\t{...props}\n\t\t>\n\t\t\t{!!header && (\n\t\t\t\t<header className={cn('workspace-layout--header shrink-0 border-b border-border bg-background', headerClassName)}>\n\t\t\t\t\t{header}\n\t\t\t\t</header>\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'workspace-layout--body grid min-h-0 flex-1 grid-cols-1 bg-muted/20',\n\t\t\t\t\thasSidebar && !hasRail && 'min-[80rem]:grid-cols-[var(--workspace-sidebar-width)_minmax(0,1fr)]',\n\t\t\t\t\thasSidebar && hasRail && 'min-[80rem]:grid-cols-[var(--workspace-sidebar-width)_minmax(0,1fr)] min-[96rem]:grid-cols-[var(--workspace-sidebar-width)_minmax(0,1fr)_var(--workspace-rail-width)]',\n\t\t\t\t\t!hasSidebar && hasRail && 'min-[96rem]:grid-cols-[minmax(0,1fr)_var(--workspace-rail-width)]',\n\t\t\t\t\tbodyClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!!hasSidebar && (\n\t\t\t\t\t<aside\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'workspace-layout--sidebar hidden min-h-0 border-r border-border bg-background min-[80rem]:block',\n\t\t\t\t\t\t\tsidebarClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"h-full overflow-y-auto overscroll-contain p-3\">\n\t\t\t\t\t\t\t{sidebar}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</aside>\n\t\t\t\t)}\n\t\t\t\t<main className={cn('workspace-layout--main min-h-0 min-w-0 overflow-y-auto overscroll-contain', mainClassName)}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'workspace-layout--content mx-auto flex min-h-full w-full max-w-[var(--workspace-content-max-width)] flex-col gap-4 p-4 min-[64rem]:p-5',\n\t\t\t\t\t\t\tcontentWidth === 'full' && 'max-w-none',\n\t\t\t\t\t\t\tcontentClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</main>\n\t\t\t\t{!!hasRail && (\n\t\t\t\t\t<aside\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'workspace-layout--rail hidden min-h-0 border-l border-border bg-background min-[96rem]:block',\n\t\t\t\t\t\t\trailClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"h-full overflow-y-auto overscroll-contain p-3\">\n\t\t\t\t\t\t\t{rail}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</aside>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nWorkspaceLayout.displayName = 'WorkspaceLayout';\n\nexport const WorkspaceRecordHeader = React.forwardRef<HTMLDivElement, WorkspaceRecordHeaderProps>(function WorkspaceRecordHeader({\n\ttitle,\n\tdescription,\n\tbadges,\n\tmetadata,\n\tactions,\n\tsecondaryActions,\n\tstatus,\n\tmedia,\n\theaderEnd,\n\ttitleSlot,\n\tclassName,\n\tstrings: stringsProp,\n\t...props\n}, ref) {\n\tconst strings = useStrings(defaultWorkspaceRecordHeaderStrings, stringsProp);\n\tconst hasMetadata = !!metadata?.length;\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'workspace-record-header--component flex flex-col gap-4 px-4 py-4 min-[64rem]:flex-row min-[64rem]:items-start min-[64rem]:justify-between min-[64rem]:px-5',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className=\"workspace-record-header--identity flex min-w-0 flex-1 gap-3\">\n\t\t\t\t{!!media && (\n\t\t\t\t\t<div className=\"workspace-record-header--media flex size-12 shrink-0 items-center justify-center overflow-hidden rounded-md border border-border bg-muted/40\">\n\t\t\t\t\t\t{media}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<div className=\"min-w-0 flex-1 space-y-2\">\n\t\t\t\t\t<div className=\"workspace-record-header--title-row flex min-w-0 flex-wrap items-center gap-2\">\n\t\t\t\t\t\t{titleSlot ?? (\n\t\t\t\t\t\t\t<Heading tag=\"h4\" className=\"leading-tight\">\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!badges && <div className=\"workspace-record-header--badges flex flex-wrap items-center gap-1.5\">{badges}</div>}\n\t\t\t\t\t\t{!!status && <div className=\"workspace-record-header--status\">{status}</div>}\n\t\t\t\t\t</div>\n\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"workspace-record-header--description max-w-4xl leading-relaxed\">\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\t{!!hasMetadata && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\taria-label={strings.metadataLabel}\n\t\t\t\t\t\t\tclassName=\"workspace-record-header--metadata flex flex-wrap items-center gap-x-4 gap-y-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{metadata.map((item, index) => (\n\t\t\t\t\t\t\t\t<div key={item.id ?? index} className=\"flex items-baseline gap-1.5\">\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"uppercase\">\n\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t{item.value}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</div>\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</div>\n\t\t\t</div>\n\t\t\t{!!(actions || secondaryActions || headerEnd) && (\n\t\t\t\t<div className=\"workspace-record-header--actions flex shrink-0 flex-wrap items-center gap-2 min-[64rem]:justify-end\">\n\t\t\t\t\t{!!secondaryActions && (\n\t\t\t\t\t\t<div aria-label={strings.secondaryActionsLabel} className=\"flex flex-wrap items-center gap-1.5\">\n\t\t\t\t\t\t\t{secondaryActions}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!actions && (\n\t\t\t\t\t\t<div aria-label={strings.actionsLabel} className=\"flex flex-wrap items-center gap-1.5\">\n\t\t\t\t\t\t\t{actions}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!headerEnd && <div className=\"workspace-record-header--end\">{headerEnd}</div>}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n\nWorkspaceRecordHeader.displayName = 'WorkspaceRecordHeader';\n\nexport const WorkspaceNav = React.forwardRef<HTMLElement, WorkspaceNavProps>(function WorkspaceNav({\n\tgroups,\n\tactiveId,\n\tonSelect,\n\trenderItem,\n\tfooterSlot,\n\trenderLink,\n\tLinkComponent,\n\tclassName,\n\tstrings: stringsProp,\n\t...props\n}, ref) {\n\tconst strings = useStrings(defaultWorkspaceNavStrings, stringsProp);\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\n\treturn (\n\t\t<nav\n\t\t\tref={ref}\n\t\t\taria-label={props['aria-label'] ?? strings.ariaLabel}\n\t\t\tclassName={cn('workspace-nav--component flex h-full flex-col gap-4', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className=\"workspace-nav--groups flex min-h-0 flex-1 flex-col gap-4\">\n\t\t\t\t{groups.map((group) => (\n\t\t\t\t\t<div key={group.id} className=\"workspace-nav--group space-y-2\">\n\t\t\t\t\t\t{!!group.label && (\n\t\t\t\t\t\t\t<div className=\"workspace-nav--group-header px-1\">\n\t\t\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t\t\t\t\t\t{group.label}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t{!!group.description && (\n\t\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5 leading-snug\">\n\t\t\t\t\t\t\t\t\t\t{group.description}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<ItemGroup className=\"workspace-nav--items gap-1\">\n\t\t\t\t\t\t\t{group.items.map((item, index) => {\n\t\t\t\t\t\t\t\tconst active = item.id === activeId;\n\t\t\t\t\t\t\t\tconst status = getStatus(item, active);\n\t\t\t\t\t\t\t\tconst StatusIcon = STATUS_ICON[status];\n\t\t\t\t\t\t\t\tconst completion = item.completion === undefined ? undefined : clampPercent(item.completion);\n\t\t\t\t\t\t\t\tconst handleSelect = (event: React.MouseEvent<HTMLElement>) => {\n\t\t\t\t\t\t\t\t\tif (item.disabled) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonSelect?.(item);\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tconst context = { active, group, index, onSelect: handleSelect };\n\n\t\t\t\t\t\t\t\tif (renderItem) {\n\t\t\t\t\t\t\t\t\treturn <React.Fragment key={item.id}>{renderItem(item, context)}</React.Fragment>;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tconst rowContent = (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ItemMedia variant=\"icon\" className={cn(active && 'bg-primary/10 text-primary')}>\n\t\t\t\t\t\t\t\t\t\t\t{item.icon ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<DynamicWorkspaceIcon icon={item.icon} className=\"size-4\" />\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<StatusIcon className={cn('size-3.5', STATUS_CLASS[status])} aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t\t\t\t\t\t\t<ItemTitle>{item.label}</ItemTitle>\n\t\t\t\t\t\t\t\t\t\t\t\t{active && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"sr-only\">{strings.currentLabel}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t{!!item.description && <ItemDescription clamp={2}>{item.description}</ItemDescription>}\n\t\t\t\t\t\t\t\t\t\t\t{completion !== undefined && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"mt-1.5 flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Progress value={completion} className=\"h-1.5 flex-1\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{strings.completionLabel(completion)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t\t\t\t\t{!!item.badge && <ItemActions>{item.badge}</ItemActions>}\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tconst itemClassName = cn(\n\t\t\t\t\t\t\t\t\t'workspace-nav--item w-full border border-transparent px-2 py-2 text-left transition-colors',\n\t\t\t\t\t\t\t\t\tactive && 'border-primary/20 bg-primary/5',\n\t\t\t\t\t\t\t\t\titem.warning && !active && 'border-warning/30 bg-warning/5',\n\t\t\t\t\t\t\t\t\titem.disabled && 'pointer-events-none opacity-50',\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tif (item.href) {\n\t\t\t\t\t\t\t\t\tconst linkNode = resolvedRenderLink({\n\t\t\t\t\t\t\t\t\t\thref: item.href,\n\t\t\t\t\t\t\t\t\t\tchildren: rowContent,\n\t\t\t\t\t\t\t\t\t\tclassName: 'block',\n\t\t\t\t\t\t\t\t\t\tactive,\n\t\t\t\t\t\t\t\t\t\tdisabled: item.disabled,\n\t\t\t\t\t\t\t\t\t\texternal: item.external,\n\t\t\t\t\t\t\t\t\t\ttarget: item.target,\n\t\t\t\t\t\t\t\t\t\trel: item.rel,\n\t\t\t\t\t\t\t\t\t\tonClick: handleSelect as React.MouseEventHandler<HTMLAnchorElement>,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Item key={item.id} size=\"default\" render={linkNode as React.ReactElement} className={itemClassName}>\n\t\t\t\t\t\t\t\t\t\t\t{rowContent}\n\t\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\t\t\t\trender={<button type=\"button\" onClick={handleSelect} disabled={item.disabled} />}\n\t\t\t\t\t\t\t\t\t\tclassName={itemClassName}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{rowContent}\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t{!!footerSlot && <div className=\"workspace-nav--footer shrink-0 border-t border-border pt-3\">{footerSlot}</div>}\n\t\t</nav>\n\t);\n});\n\nWorkspaceNav.displayName = 'WorkspaceNav';\n\nexport const WorkspaceLocaleStrip = React.forwardRef<HTMLDivElement, WorkspaceLocaleStripProps>(function WorkspaceLocaleStrip({\n\tlocales,\n\tactiveLocale,\n\tonLocaleChange,\n\tactions,\n\tstatus,\n\tclassName,\n\tstrings: stringsProp,\n\t...props\n}, ref) {\n\tconst strings = useStrings(defaultWorkspaceLocaleStripStrings, stringsProp);\n\n\tconst handleLocaleClick = (locale: WorkspaceLocaleItem) => {\n\t\tif (locale.disabled) return;\n\t\tonLocaleChange?.(locale);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cn('workspace-locale-strip--component flex flex-col gap-3 border-t border-border bg-muted/20 px-4 py-3 min-[64rem]:flex-row min-[64rem]:items-center min-[64rem]:justify-between min-[64rem]:px-5', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className=\"workspace-locale-strip--locales flex min-w-0 flex-wrap items-center gap-2\" role=\"list\" aria-label={strings.ariaLabel}>\n\t\t\t\t{locales.map((locale) => {\n\t\t\t\t\tconst active = locale.id === activeLocale;\n\t\t\t\t\tconst completion = locale.completion === undefined ? undefined : clampPercent(locale.completion);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={locale.id}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tvariant={active ? 'primary' : 'secondary'}\n\t\t\t\t\t\t\tbuttonStyle={active ? 'solid' : 'ghost'}\n\t\t\t\t\t\t\tonClick={() => handleLocaleClick(locale)}\n\t\t\t\t\t\t\tdisabled={locale.disabled}\n\t\t\t\t\t\t\taria-pressed={active}\n\t\t\t\t\t\t\tclassName={cn('workspace-locale-strip--item h-auto min-h-8 justify-start px-2.5 py-1.5')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"flex min-w-0 items-center gap-2\">\n\t\t\t\t\t\t\t\t<span className=\"truncate\">{locale.label}</span>\n\t\t\t\t\t\t\t\t{active && <span className=\"sr-only\">{strings.activeLabel}</span>}\n\t\t\t\t\t\t\t\t{completion !== undefined && (\n\t\t\t\t\t\t\t\t\t<Badge variant={completion >= 100 ? 'success' : 'secondary'} className=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t\t{strings.completionLabel(completion)}\n\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{!!locale.status && <span className=\"shrink-0\">{locale.status}</span>}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t{!!(status || actions) && (\n\t\t\t\t<div className=\"workspace-locale-strip--actions flex shrink-0 flex-wrap items-center gap-2\">\n\t\t\t\t\t{!!status && <div className=\"workspace-locale-strip--status\">{status}</div>}\n\t\t\t\t\t{!!actions && <div className=\"flex flex-wrap items-center gap-1.5\">{actions}</div>}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n\nWorkspaceLocaleStrip.displayName = 'WorkspaceLocaleStrip';\n"],"mappings":"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"}
|