admin-ui-starter-kit 0.6.6 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/component-library-rules/SKILL.md +2 -2
- package/.agents/skills/component-library-rules/references/components/INDEX.json +15 -1
- package/.agents/skills/component-library-rules/references/components/INDEX.md +15 -1
- package/.agents/skills/component-library-rules/references/components/base__boolean-indicator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__cards.md +7 -6
- package/.agents/skills/component-library-rules/references/components/base__carousel.md +4 -4
- package/.agents/skills/component-library-rules/references/components/base__collapsible.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__combobox.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__conditional-rendering.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__css-variables.md +2 -1
- package/.agents/skills/component-library-rules/references/components/base__date-block.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__dialog.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__display-utilities.md +59 -95
- package/.agents/skills/component-library-rules/references/components/base__event-calendar.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__item.md +4 -3
- package/.agents/skills/component-library-rules/references/components/base__money-display.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__notification-banner.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__placeholder-pattern.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__progress.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__qr-code.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__separator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__skeleton.md +55 -0
- package/.agents/skills/component-library-rules/references/components/base__throttle-alert.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__typography.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__visually-hidden.md +39 -0
- package/.agents/skills/component-library-rules/references/components/composed__metadata-list.md +3 -3
- package/.agents/skills/component-library-rules/references/components/features__activities.md +1 -1
- package/.agents/skills/component-library-rules/references/components/features__enhanced-activities.md +6 -6
- package/.agents/skills/component-library-rules/references/components/features__metrics-overview.md +3 -3
- package/.agents/skills/component-library-rules/references/components/features__overlays.md +2 -2
- package/.agents/skills/component-library-rules/references/components/features__products.md +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-app-shell.md +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-page.md +2 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-sidebar.md +2 -2
- package/.agents/skills/component-library-rules/references/ui-provider.md +2 -2
- package/dist/_shared/accordion-8B4OFqiT.cjs +2 -0
- package/dist/_shared/accordion-8B4OFqiT.cjs.map +1 -0
- package/dist/_shared/accordion-DlpTSZ3p.js +135 -0
- package/dist/_shared/accordion-DlpTSZ3p.js.map +1 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs +2 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs.map +1 -0
- package/dist/_shared/action-menu-CYwMZX-b.js +96 -0
- package/dist/_shared/action-menu-CYwMZX-b.js.map +1 -0
- package/dist/_shared/ai-artifact-BylloxGO.js +1099 -0
- package/dist/_shared/ai-artifact-BylloxGO.js.map +1 -0
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs +3 -0
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs.map +1 -0
- package/dist/_shared/auth-1Ht9Kevx.js +643 -0
- package/dist/_shared/auth-1Ht9Kevx.js.map +1 -0
- package/dist/_shared/auth-DTN6sFXM.cjs +2 -0
- package/dist/_shared/auth-DTN6sFXM.cjs.map +1 -0
- package/dist/_shared/badge-LSAgdmGt.cjs +2 -0
- package/dist/_shared/badge-LSAgdmGt.cjs.map +1 -0
- package/dist/_shared/badge-nZ2zbAV4.js +110 -0
- package/dist/_shared/badge-nZ2zbAV4.js.map +1 -0
- package/dist/_shared/button-Be2ayMxF.js +192 -0
- package/dist/_shared/button-Be2ayMxF.js.map +1 -0
- package/dist/_shared/button-CfQtOuBK.cjs +2 -0
- package/dist/_shared/button-CfQtOuBK.cjs.map +1 -0
- package/dist/_shared/buttons-DABiSx6N.cjs +2 -0
- package/dist/_shared/buttons-DABiSx6N.cjs.map +1 -0
- package/dist/_shared/buttons-DYQqQPpk.js +137 -0
- package/dist/_shared/buttons-DYQqQPpk.js.map +1 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs +2 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs.map +1 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js +150 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js.map +1 -0
- package/dist/_shared/cards-BJctT9KD.js +428 -0
- package/dist/_shared/cards-BJctT9KD.js.map +1 -0
- package/dist/_shared/cards-m03XN10f.cjs +2 -0
- package/dist/_shared/cards-m03XN10f.cjs.map +1 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs +2 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs.map +1 -0
- package/dist/_shared/combobox-D9tU_83-.js +954 -0
- package/dist/_shared/combobox-D9tU_83-.js.map +1 -0
- package/dist/_shared/command-BbJB0pjP.cjs +2 -0
- package/dist/_shared/command-BbJB0pjP.cjs.map +1 -0
- package/dist/_shared/command-IP2wy_HN.js +39 -0
- package/dist/_shared/command-IP2wy_HN.js.map +1 -0
- package/dist/_shared/comments-B_WKQUol.js +952 -0
- package/dist/_shared/comments-B_WKQUol.js.map +1 -0
- package/dist/_shared/comments-DMHMNObS.cjs +2 -0
- package/dist/_shared/comments-DMHMNObS.cjs.map +1 -0
- package/dist/_shared/copyable-BJYx2SlN.js +38 -0
- package/dist/_shared/copyable-BJYx2SlN.js.map +1 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs +2 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs.map +1 -0
- package/dist/_shared/data-display-4E_irfF2.js +1878 -0
- package/dist/_shared/data-display-4E_irfF2.js.map +1 -0
- package/dist/_shared/data-display-BPn-7qFO.cjs +2 -0
- package/dist/_shared/data-display-BPn-7qFO.cjs.map +1 -0
- package/dist/_shared/date-picker-CvqLnlxm.js +1361 -0
- package/dist/_shared/date-picker-CvqLnlxm.js.map +1 -0
- package/dist/_shared/date-picker-D83fCi2g.cjs +2 -0
- package/dist/_shared/date-picker-D83fCi2g.cjs.map +1 -0
- package/dist/_shared/date-pickers-C6ku2BPp.cjs +2 -0
- package/dist/_shared/date-pickers-C6ku2BPp.cjs.map +1 -0
- package/dist/_shared/date-pickers-RdbwIhdY.js +329 -0
- package/dist/_shared/date-pickers-RdbwIhdY.js.map +1 -0
- package/dist/_shared/display-DFVeSuWL.js +986 -0
- package/dist/_shared/display-DFVeSuWL.js.map +1 -0
- package/dist/_shared/display-Lr3xTd4a.cjs +2 -0
- package/dist/_shared/display-Lr3xTd4a.cjs.map +1 -0
- package/dist/_shared/forms-BA8Aa_fi.js +3534 -0
- package/dist/_shared/forms-BA8Aa_fi.js.map +1 -0
- package/dist/_shared/forms-CNjjdFcf.cjs +2 -0
- package/dist/_shared/forms-CNjjdFcf.cjs.map +1 -0
- package/dist/_shared/header-BEsz1_so.cjs +2 -0
- package/dist/_shared/header-BEsz1_so.cjs.map +1 -0
- package/dist/_shared/header-bJx8z6zT.js +447 -0
- package/dist/_shared/header-bJx8z6zT.js.map +1 -0
- package/dist/_shared/hooks-gRgVhyY2.js +95 -0
- package/dist/_shared/hooks-gRgVhyY2.js.map +1 -0
- package/dist/_shared/hooks-nFiRfUxX.cjs +2 -0
- package/dist/_shared/hooks-nFiRfUxX.cjs.map +1 -0
- package/dist/_shared/input-CzJzVyQ0.js +182 -0
- package/dist/_shared/input-CzJzVyQ0.js.map +1 -0
- package/dist/_shared/input-Dvvmn96E.cjs +2 -0
- package/dist/_shared/input-Dvvmn96E.cjs.map +1 -0
- package/dist/_shared/item-CVjjpHQd.js +226 -0
- package/dist/_shared/item-CVjjpHQd.js.map +1 -0
- package/dist/_shared/item-ChHblHhR.cjs +2 -0
- package/dist/_shared/item-ChHblHhR.cjs.map +1 -0
- package/dist/_shared/layout-C_dYiKtE.cjs +2 -0
- package/dist/_shared/layout-C_dYiKtE.cjs.map +1 -0
- package/dist/_shared/layout-nigj488k.js +268 -0
- package/dist/_shared/layout-nigj488k.js.map +1 -0
- package/dist/_shared/mentions-BE51BNeq.cjs +2 -0
- package/dist/_shared/mentions-BE51BNeq.cjs.map +1 -0
- package/dist/_shared/mentions-CBhP29St.js +506 -0
- package/dist/_shared/mentions-CBhP29St.js.map +1 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs +2 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs.map +1 -0
- package/dist/_shared/money-display-DpuLnsK2.js +198 -0
- package/dist/_shared/money-display-DpuLnsK2.js.map +1 -0
- package/dist/_shared/navigation-CWK_YQ5Y.js +436 -0
- package/dist/_shared/navigation-CWK_YQ5Y.js.map +1 -0
- package/dist/_shared/navigation-DTBMb7-M.cjs +2 -0
- package/dist/_shared/navigation-DTBMb7-M.cjs.map +1 -0
- package/dist/_shared/overlays-BJLczwpz.js +735 -0
- package/dist/_shared/overlays-BJLczwpz.js.map +1 -0
- package/dist/_shared/overlays-DbaPLT67.cjs +2 -0
- package/dist/_shared/overlays-DbaPLT67.cjs.map +1 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs +2 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs.map +1 -0
- package/dist/_shared/popover-menu-f2O6R_27.js +93 -0
- package/dist/_shared/popover-menu-f2O6R_27.js.map +1 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js +620 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js.map +1 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs +2 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs.map +1 -0
- package/dist/_shared/settings-D-HAOE3R.js +143 -0
- package/dist/_shared/settings-D-HAOE3R.js.map +1 -0
- package/dist/_shared/settings-DkL3bOk0.cjs +2 -0
- package/dist/_shared/settings-DkL3bOk0.cjs.map +1 -0
- package/dist/_shared/sidebar-BTyx7ipN.cjs +2 -0
- package/dist/_shared/sidebar-BTyx7ipN.cjs.map +1 -0
- package/dist/_shared/sidebar-DkBNualh.js +548 -0
- package/dist/_shared/sidebar-DkBNualh.js.map +1 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs +2 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs.map +1 -0
- package/dist/_shared/skeleton-yUXqeWzB.js +256 -0
- package/dist/_shared/skeleton-yUXqeWzB.js.map +1 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs +2 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs.map +1 -0
- package/dist/_shared/spinner-CuVZhJhN.js +67 -0
- package/dist/_shared/spinner-CuVZhJhN.js.map +1 -0
- package/dist/_shared/table-Cq0jkSm5.js +1377 -0
- package/dist/_shared/table-Cq0jkSm5.js.map +1 -0
- package/dist/_shared/table-GqTKCC8F.cjs +2 -0
- package/dist/_shared/table-GqTKCC8F.cjs.map +1 -0
- package/dist/_shared/textarea-C0iZwWdD.js +118 -0
- package/dist/_shared/textarea-C0iZwWdD.js.map +1 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs +2 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs.map +1 -0
- package/dist/_shared/typography-5bLhAYaK.js +201 -0
- package/dist/_shared/typography-5bLhAYaK.js.map +1 -0
- package/dist/_shared/typography-CWEobAJV.cjs +2 -0
- package/dist/_shared/typography-CWEobAJV.cjs.map +1 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs +2 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs.map +1 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js +89 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js.map +1 -0
- package/dist/_shared/workspace-5UId04M9.js +357 -0
- package/dist/_shared/workspace-5UId04M9.js.map +1 -0
- package/dist/_shared/workspace-BMws_rFf.cjs +2 -0
- package/dist/_shared/workspace-BMws_rFf.cjs.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/button.d.ts.map +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/buttons/tooltip-button.d.ts.map +1 -1
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +2 -2
- package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.types.d.ts +7 -3
- package/dist/components/base/cards/smart-card.types.d.ts.map +1 -1
- package/dist/components/base/carousel/index.cjs +1 -1
- package/dist/components/base/carousel/index.js +1 -1
- package/dist/components/base/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/command/index.cjs +1 -1
- package/dist/components/base/command/index.js +1 -1
- package/dist/components/base/copyable/index.cjs +1 -1
- package/dist/components/base/copyable/index.js +1 -1
- package/dist/components/base/currency/index.cjs +1 -1
- package/dist/components/base/currency/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/chart.cjs +1 -1
- package/dist/components/base/display/chart.js +1 -1
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +5 -5
- package/dist/components/base/display/skeleton.d.ts +52 -1
- package/dist/components/base/display/skeleton.d.ts.map +1 -1
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.cjs.map +1 -1
- package/dist/components/base/event-calendar/index.js +7 -7
- package/dist/components/base/event-calendar/index.js.map +1 -1
- package/dist/components/base/forms/fields/file-upload.d.ts.map +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +5 -5
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/item/item.d.ts.map +1 -1
- package/dist/components/base/item/item.types.d.ts +3 -0
- package/dist/components/base/item/item.types.d.ts.map +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.js +2 -2
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +2 -2
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/spinner/index.cjs +1 -1
- package/dist/components/base/spinner/index.js +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/base/table/table-header.d.ts.map +1 -1
- package/dist/components/base/toaster/index.cjs +1 -1
- package/dist/components/base/toaster/index.cjs.map +1 -1
- package/dist/components/base/toaster/index.js +82 -23
- package/dist/components/base/toaster/index.js.map +1 -1
- package/dist/components/base/toaster/toaster.d.ts +1 -1
- package/dist/components/base/toaster/toaster.d.ts.map +1 -1
- package/dist/components/composed/admin/api-key-list/api-key-list.d.ts.map +1 -1
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.cjs.map +1 -1
- package/dist/components/composed/admin/index.js +69 -69
- package/dist/components/composed/admin/index.js.map +1 -1
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.cjs.map +1 -1
- package/dist/components/composed/ai/index.js +25 -25
- package/dist/components/composed/ai/index.js.map +1 -1
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.cjs.map +1 -1
- package/dist/components/composed/analytics/index.js +33 -33
- package/dist/components/composed/analytics/index.js.map +1 -1
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.cjs.map +1 -1
- package/dist/components/composed/cards/index.js +15 -15
- package/dist/components/composed/cards/index.js.map +1 -1
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.cjs.map +1 -1
- package/dist/components/composed/commerce/index.js +28 -28
- package/dist/components/composed/commerce/index.js.map +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.js +4 -4
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-dashboard.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-financial.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-score.d.ts.map +1 -1
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -1
- package/dist/components/composed/data-display/resource-selector-card.d.ts.map +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.cjs.map +1 -1
- package/dist/components/composed/navigation/index.js +15 -15
- package/dist/components/composed/navigation/index.js.map +1 -1
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +3 -3
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.cjs.map +1 -1
- package/dist/components/composed/timelines/index.js +10 -10
- package/dist/components/composed/timelines/index.js.map +1 -1
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.cjs.map +1 -1
- package/dist/components/features/activities/index.js +10 -10
- package/dist/components/features/activities/index.js.map +1 -1
- package/dist/components/features/ai-chat/index.cjs +2 -2
- package/dist/components/features/ai-chat/index.cjs.map +1 -1
- package/dist/components/features/ai-chat/index.js +8 -8
- package/dist/components/features/ai-chat/index.js.map +1 -1
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +4 -4
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/data-view/index.cjs +1 -1
- package/dist/components/features/data-view/index.cjs.map +1 -1
- package/dist/components/features/data-view/index.js +3 -3
- package/dist/components/features/data-view/index.js.map +1 -1
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +5 -5
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.cjs.map +1 -1
- package/dist/components/features/filters/index.js +194 -194
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/filters/partials/filters-button.d.ts.map +1 -1
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.cjs.map +1 -1
- package/dist/components/features/global-search/index.js +14 -14
- package/dist/components/features/global-search/index.js.map +1 -1
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +3 -3
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.cjs.map +1 -1
- package/dist/components/features/media-library/index.js +25 -25
- package/dist/components/features/media-library/index.js.map +1 -1
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +1 -1
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.js +1 -1
- package/dist/components/features/products/index.cjs +1 -1
- package/dist/components/features/products/index.cjs.map +1 -1
- package/dist/components/features/products/index.js +14 -14
- package/dist/components/features/products/index.js.map +1 -1
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.cjs.map +1 -1
- package/dist/components/features/resource/index.js +6 -6
- package/dist/components/features/resource/index.js.map +1 -1
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +8 -8
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.js +2 -2
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/hooks/index.cjs +1 -1
- package/dist/components/layout/hooks/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +7 -7
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/page/page.types.d.ts +5 -0
- package/dist/components/layout/page/page.types.d.ts.map +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts.map +1 -1
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/ui-provider/defaults.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.cjs +1 -1
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/index.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.js +1 -1
- package/dist/lib/ui-provider/types.d.ts +14 -0
- package/dist/lib/ui-provider/types.d.ts.map +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-oKO7Ng_P.js +6 -0
- package/dist/showcase/assets/CompositeItem-CK7jBYU8.js +1 -0
- package/dist/showcase/assets/CompositeRoot-_AuToqhT.js +1 -0
- package/dist/showcase/assets/DialogTrigger-C44ZZXQ9.js +1 -0
- package/dist/showcase/assets/LabelableContext-DLVZlnur.js +1 -0
- package/dist/showcase/assets/PreviewLayout-Oik7TDHN.js +1 -0
- package/dist/showcase/assets/RadioGroup-DeYb8CGE.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-BZlE_Bil.js +1 -0
- package/dist/showcase/assets/Separator-uiIktHzk.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-CEzj5dKk.js +1 -0
- package/dist/showcase/assets/accordion-B_wg_YOp.js +171 -0
- package/dist/showcase/assets/accordion-variants-O6U7E38x.js +1 -0
- package/dist/showcase/assets/action-menu-D_wGvb_o.js +1 -0
- package/dist/showcase/assets/actions-u4Fl4zm1.js +310 -0
- package/dist/showcase/assets/activities-C6iITHzB.js +500 -0
- package/dist/showcase/assets/activities-feed-card-OpYs16UV.js +1 -0
- package/dist/showcase/assets/admin-Bq15E5Wd.js +140 -0
- package/dist/showcase/assets/ai-DcUzGTlb.js +207 -0
- package/dist/showcase/assets/ai-artifact-BUAu1_jV.js +2 -0
- package/dist/showcase/assets/ai-chat-C6OWWBqh.js +568 -0
- package/dist/showcase/assets/ai-elements-CCe4Aqj_.js +387 -0
- package/dist/showcase/assets/ai-tool-call-B_NF1ePn.js +1 -0
- package/dist/showcase/assets/alert-B4VWkFPE.js +1 -0
- package/dist/showcase/assets/alert-BDIqciKo.js +62 -0
- package/dist/showcase/assets/alert-jvCEGWe6.js +93 -0
- package/dist/showcase/assets/api-key-list-BH8mde9A.js +1 -0
- package/dist/showcase/assets/api-key-list-CA6O3hsc.js +73 -0
- package/dist/showcase/assets/app-sidebar-DsMTwSAB.js +1 -0
- package/dist/showcase/assets/arrow-down-BzPC0rON.js +1 -0
- package/dist/showcase/assets/arrow-left-DNehZvF-.js +1 -0
- package/dist/showcase/assets/arrow-right-CKIgWncF.js +1 -0
- package/dist/showcase/assets/arrow-up-YjujZi8v.js +1 -0
- package/dist/showcase/assets/arrow-up-right-KnVxFmw9.js +1 -0
- package/dist/showcase/assets/avatar-BBLri7tX.js +57 -0
- package/dist/showcase/assets/avatar-BeFx8JQd.js +1 -0
- package/dist/showcase/assets/avatar-CFWUZzaF.js +67 -0
- package/dist/showcase/assets/avatar-D6exHRSK.js +1 -0
- package/dist/showcase/assets/badge-check-BfY3RIjR.js +1 -0
- package/dist/showcase/assets/badge-jGj2HQsg.js +31 -0
- package/dist/showcase/assets/bell-CTDSIOv8.js +1 -0
- package/dist/showcase/assets/boolean-indicator-C1u7OFcR.js +1 -0
- package/dist/showcase/assets/bot-D-iqtYiQ.js +1 -0
- package/dist/showcase/assets/box-DxjjLEh2.js +1 -0
- package/dist/showcase/assets/braces-B6XLlZwJ.js +1 -0
- package/dist/showcase/assets/brain-BdNpswBH.js +1 -0
- package/dist/showcase/assets/brand-C6srYuIa.js +36 -0
- package/dist/showcase/assets/breadcrumb-BaeV7C4t.js +52 -0
- package/dist/showcase/assets/breadcrumb-jKu4EUFo.js +1 -0
- package/dist/showcase/assets/breadcrumbs-D7vYX_5y.js +1 -0
- package/dist/showcase/assets/briefcase-cs9wyoxL.js +1 -0
- package/dist/showcase/assets/building-2-rcMEYcbf.js +1 -0
- package/dist/showcase/assets/button-group-D1oXfasP.js +1 -0
- package/dist/showcase/assets/button-oBRwhAhs.js +44 -0
- package/dist/showcase/assets/buttons-D_SDu9w3.js +272 -0
- package/dist/showcase/assets/calendar-CGTiVckW.js +1 -0
- package/dist/showcase/assets/calendar-ChLkVME0.js +16 -0
- package/dist/showcase/assets/calendar-CjMPvWfI.js +1 -0
- package/dist/showcase/assets/calendar-days-CNom8Y38.js +1 -0
- package/dist/showcase/assets/camera-D0rjOOcs.js +1 -0
- package/dist/showcase/assets/card-CYz4UxYz.js +1 -0
- package/dist/showcase/assets/card-D9updr3B.js +188 -0
- package/dist/showcase/assets/card-primitives-BQ0hSEWX.js +1 -0
- package/dist/showcase/assets/card-radio-group-CrNG04Bl.js +1 -0
- package/dist/showcase/assets/cards-D4Lw-AI6.js +354 -0
- package/dist/showcase/assets/carousel-C6Mmapzw.js +449 -0
- package/dist/showcase/assets/cell-renderers-BF80Z3jW.js +1 -0
- package/dist/showcase/assets/chart-BHgMfUB5.js +358 -0
- package/dist/showcase/assets/chart-column-CE_VhlUz.js +1 -0
- package/dist/showcase/assets/checkbox-CDLT09vU.js +1 -0
- package/dist/showcase/assets/checkbox-Dj24Tegr.js +1 -0
- package/dist/showcase/assets/chevron-down-1GeJ4hOO.js +1 -0
- package/dist/showcase/assets/chevron-left-wqlWv2Qy.js +1 -0
- package/dist/showcase/assets/chevron-up-CZAm-2rZ.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-DgysGYWR.js +1 -0
- package/dist/showcase/assets/circle-C9Ooo8Lv.js +1 -0
- package/dist/showcase/assets/circle-alert-C6XBfkf2.js +1 -0
- package/dist/showcase/assets/circle-check-DvCYlVmL.js +1 -0
- package/dist/showcase/assets/circle-check-big-C8o9clAE.js +1 -0
- package/dist/showcase/assets/circle-dot-BoYf3vOR.js +1 -0
- package/dist/showcase/assets/circle-question-mark-DYPX0qe9.js +1 -0
- package/dist/showcase/assets/circle-x-GosnT0l7.js +1 -0
- package/dist/showcase/assets/clock-3-DklFhayq.js +1 -0
- package/dist/showcase/assets/clock-BvwTkk1w.js +1 -0
- package/dist/showcase/assets/code-xml-AGOwtN8Z.js +1 -0
- package/dist/showcase/assets/collapsible-CBkbr3ho.js +1 -0
- package/dist/showcase/assets/collapsible-CmY1SA28.js +27 -0
- package/dist/showcase/assets/collapsible-DfDnQ_t_.js +1 -0
- package/dist/showcase/assets/combobox-BsZQo7hF.js +685 -0
- package/dist/showcase/assets/command-B0Q84gg6.js +1 -0
- package/dist/showcase/assets/command-BtADdA65.js +1 -0
- package/dist/showcase/assets/comment-composer-BmBnkba9.js +1 -0
- package/dist/showcase/assets/comment-item-y5mTfSmU.js +1 -0
- package/dist/showcase/assets/comments-BuYiGPxI.js +357 -0
- package/dist/showcase/assets/commerce-21Ef_rsW.js +267 -0
- package/dist/showcase/assets/composite-fKT6fZFs.js +1 -0
- package/dist/showcase/assets/conditional-rendering-DsTG0sOE.js +1 -0
- package/dist/showcase/assets/contact-card-S8koA9Sr.js +65 -0
- package/dist/showcase/assets/content-container-B4gW5fmA.js +1 -0
- package/dist/showcase/assets/copyable-D2xL2rMm.js +96 -0
- package/dist/showcase/assets/copyable-gLrmPayI.js +1 -0
- package/dist/showcase/assets/course-card-B8eEvF7a.js +77 -0
- package/dist/showcase/assets/cpu-Cp1On3tr.js +1 -0
- package/dist/showcase/assets/credit-card-QbZMZB90.js +1 -0
- package/dist/showcase/assets/css-variables-BXICo9fV.js +1205 -0
- package/dist/showcase/assets/currency-D2MSLjLt.js +149 -0
- package/dist/showcase/assets/dark-surfaces-CJsxuvQU.js +90 -0
- package/dist/showcase/assets/data-view-syhKhdz9.js +124 -0
- package/dist/showcase/assets/data-view-znnAeb6b.js +4 -0
- package/dist/showcase/assets/database-isLkCvDd.js +1 -0
- package/dist/showcase/assets/date-block-BDn9lGVM.js +1 -0
- package/dist/showcase/assets/date-block-CqRL1xfo.js +1 -0
- package/dist/showcase/assets/date-picker-DNcmSgQk.js +1 -0
- package/dist/showcase/assets/date-pickers-3lQUDDS7.js +73 -0
- package/dist/showcase/assets/dense-info-CfvqiIpM.js +106 -0
- package/dist/showcase/assets/design-system-consistency-C3yRhKwF.js +264 -0
- package/dist/showcase/assets/dialog-DiAkrPHO.js +1 -0
- package/dist/showcase/assets/dialog-feUFM03m.js +1 -0
- package/dist/showcase/assets/dialog-ruVOqJnB.js +1 -0
- package/dist/showcase/assets/display-utilities-SPJxlrkp.js +4 -0
- package/dist/showcase/assets/display-utilities.examples-ByRydMl0.js +302 -0
- package/dist/showcase/assets/dist-C9DVZddl.js +45 -0
- package/dist/showcase/assets/dist-DNARKM_B.js +1 -0
- package/dist/showcase/assets/dollar-sign-CUDuWyun.js +1 -0
- package/dist/showcase/assets/download-CIbh9VUU.js +1 -0
- package/dist/showcase/assets/dropdown-menu-MoIAG0ES.js +1 -0
- package/dist/showcase/assets/dropzone-D0kHIUuh.js +1 -0
- package/dist/showcase/assets/earth-BpNTeF25.js +1 -0
- package/dist/showcase/assets/ellipsis-B9w0cuoH.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-DHbOsjTF.js +1 -0
- package/dist/showcase/assets/empty-DvYVgcNF.js +1 -0
- package/dist/showcase/assets/empty-item-oFM5kPCp.js +49 -0
- package/dist/showcase/assets/empty-state-DTq86muv.js +1 -0
- package/dist/showcase/assets/empty-state-De7XCht-.js +190 -0
- package/dist/showcase/assets/enhanced-activities--XHjx99M.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-CX_mTkei.js +1 -0
- package/dist/showcase/assets/esm-XXqBjGGF.js +2 -0
- package/dist/showcase/assets/event-calendar-zTiCWOF5.js +138 -0
- package/dist/showcase/assets/event-log-C_zSlY6y.js +330 -0
- package/dist/showcase/assets/example-Cv05rz75.js +1 -0
- package/dist/showcase/assets/external-link-DaR-AMyf.js +1 -0
- package/dist/showcase/assets/eye-CDSbB0kZ.js +1 -0
- package/dist/showcase/assets/feature-announcement-DJ26ZDVB.js +34 -0
- package/dist/showcase/assets/file-DPSK5cGC.js +1 -0
- package/dist/showcase/assets/file-text-BBWpAppG.js +1 -0
- package/dist/showcase/assets/filter-layout-CZRGcd6Z.js +1 -0
- package/dist/showcase/assets/filters-Bn7hYUeq.js +139 -0
- package/dist/showcase/assets/flag-BRs-GTCx.js +1 -0
- package/dist/showcase/assets/folder-open-DnFjlB3X.js +1 -0
- package/dist/showcase/assets/form-field-SW-Yp7H7.js +1 -0
- package/dist/showcase/assets/format-Bki5m7M3.js +1 -0
- package/dist/showcase/assets/forms-CAUL2gGq.js +915 -0
- package/dist/showcase/assets/funnel-D6g2Suhd.js +1 -0
- package/dist/showcase/assets/generic-CU6JNqKO.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-yqDwWA_y.js +1 -0
- package/dist/showcase/assets/gift-B2Qp9Vqt.js +1 -0
- package/dist/showcase/assets/giftcard-cards-Dk0DYoN2.js +85 -0
- package/dist/showcase/assets/git-branch-CPtvCNGc.js +1 -0
- package/dist/showcase/assets/global-search-D1ow01VA.js +1 -0
- package/dist/showcase/assets/global-search-DQR2AgDO.js +215 -0
- package/dist/showcase/assets/globe-BiZgUZFZ.js +1 -0
- package/dist/showcase/assets/gradient-card-D5isLy3_.js +58 -0
- package/dist/showcase/assets/hash-NJ5ohGOa.js +1 -0
- package/dist/showcase/assets/header-Df9uYSSH.js +1 -0
- package/dist/showcase/assets/header-notifications-sPR5NuON.js +1 -0
- package/dist/showcase/assets/heart-C4t7PVKW.js +1 -0
- package/dist/showcase/assets/hooks-0TKg0ZAK.js +220 -0
- package/dist/showcase/assets/house-CuLXFtjd.js +1 -0
- package/dist/showcase/assets/icon-badge-Cr6DD-_7.js +1 -0
- package/dist/showcase/assets/icon-badge-DMdMSSRL.js +37 -0
- package/dist/showcase/assets/image-DYjJaO0i.js +1 -0
- package/dist/showcase/assets/inbox-DGF8FgvV.js +1 -0
- package/dist/showcase/assets/index-ATou_nFA.js +10 -0
- package/dist/showcase/assets/index-C8U-r6l7.css +2 -0
- package/dist/showcase/assets/inertValue-CBi0sj8C.js +1 -0
- package/dist/showcase/assets/info-DLaTRPUT.js +1 -0
- package/dist/showcase/assets/inline-stat-DGpunTNF.js +1 -0
- package/dist/showcase/assets/inline-stat-rUaaOSmR.js +15 -0
- package/dist/showcase/assets/input-Cmrgo51H.js +1 -0
- package/dist/showcase/assets/input-CnmnWnGb.js +1 -0
- package/dist/showcase/assets/input-group-BwujFvXM.js +1 -0
- package/dist/showcase/assets/input-group-DvXgZtra.js +47 -0
- package/dist/showcase/assets/inputs-CjzW_R8z.js +155 -0
- package/dist/showcase/assets/installation-2dW-rmF2.js +134 -0
- package/dist/showcase/assets/invoice-header-DeWxMKCe.js +36 -0
- package/dist/showcase/assets/invoice-items-Dxb95w0e.js +36 -0
- package/dist/showcase/assets/invoice-mini-EMzCkmR7.js +14 -0
- package/dist/showcase/assets/invoice-table-ClWJaclJ.js +30 -0
- package/dist/showcase/assets/isSameDay-BNPzVySj.js +1 -0
- package/dist/showcase/assets/isToday-D6n7oLej.js +1 -0
- package/dist/showcase/assets/italic-B8w3dpYw.js +1 -0
- package/dist/showcase/assets/item-B8_dwOlT.js +1 -0
- package/dist/showcase/assets/item-Baq-Mmy2.js +1 -0
- package/dist/showcase/assets/item-BtMuqGwy.js +140 -0
- package/dist/showcase/assets/kanban-B-QxvKMg.js +188 -0
- package/dist/showcase/assets/key-round-CrBIyzIa.js +1 -0
- package/dist/showcase/assets/label-VWe_nbHh.js +1 -0
- package/dist/showcase/assets/languages-N0uGt5nC.js +1 -0
- package/dist/showcase/assets/layers-DEZvT5cX.js +1 -0
- package/dist/showcase/assets/layout-app-shell-T9UqKX2o.js +608 -0
- package/dist/showcase/assets/layout-auth-IVC4DuU3.js +790 -0
- package/dist/showcase/assets/layout-containers-naBpuH05.js +101 -0
- package/dist/showcase/assets/layout-header-9i_7ygKU.js +203 -0
- package/dist/showcase/assets/layout-page-CrEUiJpW.js +315 -0
- package/dist/showcase/assets/layout-primitives-DPrVHpu3.js +34 -0
- package/dist/showcase/assets/layout-sidebar-D7z6-kPu.js +224 -0
- package/dist/showcase/assets/layout-users-Cov9D84d.js +117 -0
- package/dist/showcase/assets/layout-workspace-Czlmi8gY.js +191 -0
- package/dist/showcase/assets/lib-DNMH46Rn.js +1 -0
- package/dist/showcase/assets/list-checks-DygDRIGi.js +1 -0
- package/dist/showcase/assets/lock-DqEahakB.js +1 -0
- package/dist/showcase/assets/lock-keyhole-CETEK3R0.js +1 -0
- package/dist/showcase/assets/mail-LKhBlrEc.js +1 -0
- package/dist/showcase/assets/mail-check-BOTjWQJf.js +1 -0
- package/dist/showcase/assets/map-0vJT2r8C.js +124 -0
- package/dist/showcase/assets/map-pin-D0qrpDJI.js +1 -0
- package/dist/showcase/assets/media-library-Bp99WaS9.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-mlV7LRvD.js +1 -0
- package/dist/showcase/assets/mentions-Cmd1zxOR.js +138 -0
- package/dist/showcase/assets/menus-CtjFPoDr.js +171 -0
- package/dist/showcase/assets/message-square-BXyvikcZ.js +1 -0
- package/dist/showcase/assets/metadata-list-DLUBcy7E.js +286 -0
- package/dist/showcase/assets/metadata-list-F3bWXtZB.js +1 -0
- package/dist/showcase/assets/metric-CXPRptlh.js +1 -0
- package/dist/showcase/assets/metric-bar-BY25WVZ0.js +1 -0
- package/dist/showcase/assets/metric-grid-DQtf9y6E.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-CXHpkj3U.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-BIuwiVrn.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-yx5lMGQf.js +50 -0
- package/dist/showcase/assets/metrics-comparison-BC_7jLXf.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-C_nhCljz.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-3oySQnoR.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-zS4-oiTO.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-UJkA2LNR.js +42 -0
- package/dist/showcase/assets/metrics-overview-DQFr22ol.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-DnBirxKV.js +54 -0
- package/dist/showcase/assets/minus-BOVQEx6C.js +1 -0
- package/dist/showcase/assets/money-display-DV7xlrNV.js +1 -0
- package/dist/showcase/assets/money-display-DxnM5--7.js +1 -0
- package/dist/showcase/assets/month-year-picker-BzRXCrQ7.js +1 -0
- package/dist/showcase/assets/navigation-ChJKLv4Y.js +90 -0
- package/dist/showcase/assets/navigation-D7VJsKrP.js +231 -0
- package/dist/showcase/assets/navigation-extras-BVc1xQuB.js +43 -0
- package/dist/showcase/assets/notification-banner-1ivcmPLe.js +1 -0
- package/dist/showcase/assets/onboarding-checklist-CbARgwpX.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-DlqMmyTx.js +1 -0
- package/dist/showcase/assets/overlays-DkWO50b8.js +159 -0
- package/dist/showcase/assets/overlays-KKZpxWjt.js +408 -0
- package/dist/showcase/assets/overview-BjQe-YZE.js +184 -0
- package/dist/showcase/assets/package-DhQRoFDo.js +1 -0
- package/dist/showcase/assets/package-check-CBgGiccG.js +1 -0
- package/dist/showcase/assets/page-BWTmyV5J.js +1 -0
- package/dist/showcase/assets/page-action-button-DV-YYRA4.js +1 -0
- package/dist/showcase/assets/page-header-Bmg4NU_P.js +1 -0
- package/dist/showcase/assets/pagination-ByQ_OXRU.js +1 -0
- package/dist/showcase/assets/pagination-Db5CuoBb.js +42 -0
- package/dist/showcase/assets/paperclip-BQNPUzG_.js +1 -0
- package/dist/showcase/assets/password-input-CPvjzM1f.js +1 -0
- package/dist/showcase/assets/pencil-DuBakHme.js +1 -0
- package/dist/showcase/assets/phone-t94LTB1m.js +1 -0
- package/dist/showcase/assets/placeholder-pattern-BNou2ep-.js +1 -0
- package/dist/showcase/assets/plus-BRcp6JhT.js +1 -0
- package/dist/showcase/assets/popover-CVuJP03o.js +1 -0
- package/dist/showcase/assets/popover-D_P2gTn8.js +1 -0
- package/dist/showcase/assets/popover-menu-DGY5jEk4.js +1 -0
- package/dist/showcase/assets/products-8sUfDMPU.js +423 -0
- package/dist/showcase/assets/progress-BrMvIZIz.js +1 -0
- package/dist/showcase/assets/progress-CSXZAavT.js +18 -0
- package/dist/showcase/assets/progress-Dvqpf_O0.js +1 -0
- package/dist/showcase/assets/props-table-BAfz1Zc6.js +1 -0
- package/dist/showcase/assets/props.generated-CuVoOKYT.json +41746 -0
- package/dist/showcase/assets/qr-code-C-CaHJQ2.js +1 -0
- package/dist/showcase/assets/quote-Ci80eS0u.js +1 -0
- package/dist/showcase/assets/receipt-jvwbPuE3.js +1 -0
- package/dist/showcase/assets/receipt-text-CT0GiMQm.js +1 -0
- package/dist/showcase/assets/refinement-guide-BnCQ9-6f.js +189 -0
- package/dist/showcase/assets/refresh-cw-CXDARnCe.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-DJanfUim.js +1 -0
- package/dist/showcase/assets/resource-Bir-z7ie.js +139 -0
- package/dist/showcase/assets/resource-D19qhfYP.js +1 -0
- package/dist/showcase/assets/resource-selector-card-BUbuu-QH.js +43 -0
- package/dist/showcase/assets/rich-text-editor-BCtz589M.js +124 -0
- package/dist/showcase/assets/rich-text-editor-uu9FmB8B.js +143 -0
- package/dist/showcase/assets/rotate-ccw-DEIVfiHA.js +1 -0
- package/dist/showcase/assets/route-B5vtDLsE.js +1 -0
- package/dist/showcase/assets/save-DQ4Up8ZB.js +1 -0
- package/dist/showcase/assets/schema-form-D7wbdl5u.js +327 -0
- package/dist/showcase/assets/scroll-area-B0QD6o1Y.js +32 -0
- package/dist/showcase/assets/scroll-area-BoZ1SrfI.js +1 -0
- package/dist/showcase/assets/section-BXsVHOsI.js +1 -0
- package/dist/showcase/assets/select-CW8SYsOY.js +1 -0
- package/dist/showcase/assets/select-DmRqLSoG.js +1 -0
- package/dist/showcase/assets/send-Dxs1-xSj.js +1 -0
- package/dist/showcase/assets/separator-BLOG_8oO.js +1 -0
- package/dist/showcase/assets/separator-DZC_uQU-.js +1 -0
- package/dist/showcase/assets/separator-OlLHRN7k.js +28 -0
- package/dist/showcase/assets/settings-2-BSpgytsy.js +1 -0
- package/dist/showcase/assets/settings-CCNP7XOu.js +1 -0
- package/dist/showcase/assets/sheet-DIfJjbgA.js +1 -0
- package/dist/showcase/assets/shield-D2gTWkwA.js +1 -0
- package/dist/showcase/assets/shield-alert-C-3oWpoe.js +1 -0
- package/dist/showcase/assets/shield-check-D11r1eJ8.js +1 -0
- package/dist/showcase/assets/shopping-bag-DAeaVQ5O.js +1 -0
- package/dist/showcase/assets/showcase-GdZcH6OR.js +132 -0
- package/dist/showcase/assets/sidebar-RBzHNuB7.js +1 -0
- package/dist/showcase/assets/sidebar.context-Dyw470Qp.js +1 -0
- package/dist/showcase/assets/skeleton-B7crngMw.js +1 -0
- package/dist/showcase/assets/skeleton-BwEVNdGJ.js +1 -0
- package/dist/showcase/assets/skeleton-DM73_ueB.js +1 -0
- package/dist/showcase/assets/skeleton-cHsWJOtO.js +29 -0
- package/dist/showcase/assets/slider-DRPnIs0S.js +1 -0
- package/dist/showcase/assets/smart-card-DER7dpD9.js +1 -0
- package/dist/showcase/assets/sonner-Go1YsPBH.js +22 -0
- package/dist/showcase/assets/sortable.esm-q6LdsxSr.js +5 -0
- package/dist/showcase/assets/sparkles-DqH40POl.js +1 -0
- package/dist/showcase/assets/spinner-C0YWWxyj.js +1 -0
- package/dist/showcase/assets/spinner-CpHNR13f.js +30 -0
- package/dist/showcase/assets/spinner-Dwvf24e9.js +49 -0
- package/dist/showcase/assets/square-pen-D-xHmIA0.js +1 -0
- package/dist/showcase/assets/stacked-avatars-C92NYKIa.js +1 -0
- package/dist/showcase/assets/star-dD4CAJ83.js +1 -0
- package/dist/showcase/assets/startOfDay-BXZshd4g.js +1 -0
- package/dist/showcase/assets/styles-BPJdkO_3.js +1 -0
- package/dist/showcase/assets/suggestions-CyhKme4Q.js +126 -0
- package/dist/showcase/assets/switch-C7DVTgQd.js +1 -0
- package/dist/showcase/assets/switch-LU6nljdS.js +1 -0
- package/dist/showcase/assets/sync-bERw1shm.js +124 -0
- package/dist/showcase/assets/table-BuIv4nqB.js +686 -0
- package/dist/showcase/assets/table-CDMDtBgJ.js +1 -0
- package/dist/showcase/assets/table-actions-DsK7d8Yb.js +1 -0
- package/dist/showcase/assets/tabs-BDryywGb.js +19 -0
- package/dist/showcase/assets/tabs-BNaZmM48.js +1 -0
- package/dist/showcase/assets/tags-input-CzE_5BJl.js +1 -0
- package/dist/showcase/assets/text-button-B1m5cpX_.js +1 -0
- package/dist/showcase/assets/text-link-CqjW10Ce.js +1 -0
- package/dist/showcase/assets/textarea-xJ3EE8R9.js +1 -0
- package/dist/showcase/assets/textarea-xOekToAG.js +1 -0
- package/dist/showcase/assets/throttle-alert-BH1HMiaI.js +1 -0
- package/dist/showcase/assets/timelines-DjWkuOz3.js +200 -0
- package/dist/showcase/assets/toggle-group-Css6pfUI.js +1 -0
- package/dist/showcase/assets/toggles-DhDrn3YH.js +71 -0
- package/dist/showcase/assets/toggles-group-e4xtKzkl.js +32 -0
- package/dist/showcase/assets/tooltip-DMvMUrGe.js +31 -0
- package/dist/showcase/assets/trash-2-zILxQmtX.js +1 -0
- package/dist/showcase/assets/trending-up-CRH278ig.js +1 -0
- package/dist/showcase/assets/truck-At9CEKg7.js +1 -0
- package/dist/showcase/assets/typography-B0ehvSV4.js +223 -0
- package/dist/showcase/assets/ui-badge-CyLWYf3f.js +28 -0
- package/dist/showcase/assets/ui-card-BPnLZmkJ.js +30 -0
- package/dist/showcase/assets/ui-table-C-zXhcOm.js +42 -0
- package/dist/showcase/assets/upload-tray-IyQJEM9n.js +138 -0
- package/dist/showcase/assets/use-layout-link-Cux4giQO.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-Bo0rTGvc.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-CzU-1LY3.js +1 -0
- package/dist/showcase/assets/useCompositeItem-CJFNnVql.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-BAuO9hue.js +1 -0
- package/dist/showcase/assets/useLabelableId-HuACs9ba.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-MEUfJuxN.js +1 -0
- package/dist/showcase/assets/useRender-B-6DpRfj.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-B-mRyUJJ.js +1 -0
- package/dist/showcase/assets/useValueChanged-CVn_Rfso.js +1 -0
- package/dist/showcase/assets/user-eelwPGBI.js +1 -0
- package/dist/showcase/assets/user-plus-DhswMZvb.js +1 -0
- package/dist/showcase/assets/users-BVMmaveS.js +1 -0
- package/dist/showcase/assets/vendor-profile-FHaiInTe.js +37 -0
- package/dist/showcase/assets/video-C42fxAyj.js +1 -0
- package/dist/showcase/assets/visually-hidden-BwzlEinj.js +1 -0
- package/dist/showcase/assets/wrench-EKI7PaKp.js +1 -0
- package/dist/showcase/assets/x--LIqlhum.js +1 -0
- package/dist/showcase/assets/zap-C1fX30vt.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/tokens/foundation.css +20 -6
- package/src/css/tokens/primitives.css +1 -1
- package/src/css/tokens/states.css +3 -0
- package/dist/_shared/accordion-BRj4TDQx.js +0 -135
- package/dist/_shared/accordion-BRj4TDQx.js.map +0 -1
- package/dist/_shared/accordion-DvlDjk29.cjs +0 -2
- package/dist/_shared/accordion-DvlDjk29.cjs.map +0 -1
- package/dist/_shared/action-menu-BrHF4nss.cjs +0 -2
- package/dist/_shared/action-menu-BrHF4nss.cjs.map +0 -1
- package/dist/_shared/action-menu-Crn22LKo.js +0 -96
- package/dist/_shared/action-menu-Crn22LKo.js.map +0 -1
- package/dist/_shared/ai-artifact-BHgd3agA.js +0 -1099
- package/dist/_shared/ai-artifact-BHgd3agA.js.map +0 -1
- package/dist/_shared/ai-artifact-BRM5cvGv.cjs +0 -3
- package/dist/_shared/ai-artifact-BRM5cvGv.cjs.map +0 -1
- package/dist/_shared/alert-CMVVt2Br.js +0 -81
- package/dist/_shared/alert-CMVVt2Br.js.map +0 -1
- package/dist/_shared/alert-Dmhtbmpg.cjs +0 -2
- package/dist/_shared/alert-Dmhtbmpg.cjs.map +0 -1
- package/dist/_shared/auth-DZW6NkJx.cjs +0 -2
- package/dist/_shared/auth-DZW6NkJx.cjs.map +0 -1
- package/dist/_shared/auth-Dh790NI_.js +0 -643
- package/dist/_shared/auth-Dh790NI_.js.map +0 -1
- package/dist/_shared/badge-B8xGFpfM.cjs +0 -2
- package/dist/_shared/badge-B8xGFpfM.cjs.map +0 -1
- package/dist/_shared/badge-BYNwSWh5.js +0 -110
- package/dist/_shared/badge-BYNwSWh5.js.map +0 -1
- package/dist/_shared/button-BMiPFJIb.cjs +0 -2
- package/dist/_shared/button-BMiPFJIb.cjs.map +0 -1
- package/dist/_shared/button-vv59_uS_.js +0 -189
- package/dist/_shared/button-vv59_uS_.js.map +0 -1
- package/dist/_shared/buttons-CvqIMv3I.js +0 -137
- package/dist/_shared/buttons-CvqIMv3I.js.map +0 -1
- package/dist/_shared/buttons-tCkWktN3.cjs +0 -2
- package/dist/_shared/buttons-tCkWktN3.cjs.map +0 -1
- package/dist/_shared/card-radio-group-Bhe8gAbH.js +0 -150
- package/dist/_shared/card-radio-group-Bhe8gAbH.js.map +0 -1
- package/dist/_shared/card-radio-group-CdG1zr8M.cjs +0 -2
- package/dist/_shared/card-radio-group-CdG1zr8M.cjs.map +0 -1
- package/dist/_shared/cards-Cu6p1Brd.cjs +0 -2
- package/dist/_shared/cards-Cu6p1Brd.cjs.map +0 -1
- package/dist/_shared/cards-cQ9lL6zy.js +0 -354
- package/dist/_shared/cards-cQ9lL6zy.js.map +0 -1
- package/dist/_shared/combobox-BGYjyXeN.cjs +0 -2
- package/dist/_shared/combobox-BGYjyXeN.cjs.map +0 -1
- package/dist/_shared/combobox-DTwomOBt.js +0 -954
- package/dist/_shared/combobox-DTwomOBt.js.map +0 -1
- package/dist/_shared/command-ByedBajF.js +0 -39
- package/dist/_shared/command-ByedBajF.js.map +0 -1
- package/dist/_shared/command-EGR0nhGc.cjs +0 -2
- package/dist/_shared/command-EGR0nhGc.cjs.map +0 -1
- package/dist/_shared/comments-C97vL5km.js +0 -952
- package/dist/_shared/comments-C97vL5km.js.map +0 -1
- package/dist/_shared/comments-DBe6dP-d.cjs +0 -2
- package/dist/_shared/comments-DBe6dP-d.cjs.map +0 -1
- package/dist/_shared/copyable-BgFdERqs.js +0 -38
- package/dist/_shared/copyable-BgFdERqs.js.map +0 -1
- package/dist/_shared/copyable-Ce8rmE-V.cjs +0 -2
- package/dist/_shared/copyable-Ce8rmE-V.cjs.map +0 -1
- package/dist/_shared/data-display-DUWxoDKq.js +0 -1873
- package/dist/_shared/data-display-DUWxoDKq.js.map +0 -1
- package/dist/_shared/data-display-o-rbMuIA.cjs +0 -2
- package/dist/_shared/data-display-o-rbMuIA.cjs.map +0 -1
- package/dist/_shared/date-picker-Cxx9jllA.js +0 -1361
- package/dist/_shared/date-picker-Cxx9jllA.js.map +0 -1
- package/dist/_shared/date-picker-DE5A8yqN.cjs +0 -2
- package/dist/_shared/date-picker-DE5A8yqN.cjs.map +0 -1
- package/dist/_shared/date-pickers-Dex1Mfye.cjs +0 -2
- package/dist/_shared/date-pickers-Dex1Mfye.cjs.map +0 -1
- package/dist/_shared/date-pickers-m0dpDcqH.js +0 -329
- package/dist/_shared/date-pickers-m0dpDcqH.js.map +0 -1
- package/dist/_shared/display-Bro3Kufg.js +0 -986
- package/dist/_shared/display-Bro3Kufg.js.map +0 -1
- package/dist/_shared/display-CRQjSjgB.cjs +0 -2
- package/dist/_shared/display-CRQjSjgB.cjs.map +0 -1
- package/dist/_shared/forms-D-SNQmtB.cjs +0 -2
- package/dist/_shared/forms-D-SNQmtB.cjs.map +0 -1
- package/dist/_shared/forms-p7cfzJwf.js +0 -3533
- package/dist/_shared/forms-p7cfzJwf.js.map +0 -1
- package/dist/_shared/header-8C71wVRp.js +0 -447
- package/dist/_shared/header-8C71wVRp.js.map +0 -1
- package/dist/_shared/header-CYgFCnjZ.cjs +0 -2
- package/dist/_shared/header-CYgFCnjZ.cjs.map +0 -1
- package/dist/_shared/hooks-Ci1LFWRG.js +0 -95
- package/dist/_shared/hooks-Ci1LFWRG.js.map +0 -1
- package/dist/_shared/hooks-Cjl7LJpn.cjs +0 -2
- package/dist/_shared/hooks-Cjl7LJpn.cjs.map +0 -1
- package/dist/_shared/input-BgcP6x4C.js +0 -182
- package/dist/_shared/input-BgcP6x4C.js.map +0 -1
- package/dist/_shared/input-DV3g7Fm5.cjs +0 -2
- package/dist/_shared/input-DV3g7Fm5.cjs.map +0 -1
- package/dist/_shared/item-D7GTzvhf.js +0 -226
- package/dist/_shared/item-D7GTzvhf.js.map +0 -1
- package/dist/_shared/item-DTrnHpfm.cjs +0 -2
- package/dist/_shared/item-DTrnHpfm.cjs.map +0 -1
- package/dist/_shared/layout-BExg7Vlx.js +0 -261
- package/dist/_shared/layout-BExg7Vlx.js.map +0 -1
- package/dist/_shared/layout-CKRD_goE.cjs +0 -2
- package/dist/_shared/layout-CKRD_goE.cjs.map +0 -1
- package/dist/_shared/mentions-BtGhYisA.js +0 -506
- package/dist/_shared/mentions-BtGhYisA.js.map +0 -1
- package/dist/_shared/mentions-CnVOuQJU.cjs +0 -2
- package/dist/_shared/mentions-CnVOuQJU.cjs.map +0 -1
- package/dist/_shared/money-display-BvVpRUs5.cjs +0 -2
- package/dist/_shared/money-display-BvVpRUs5.cjs.map +0 -1
- package/dist/_shared/money-display-D6Qtvyyv.js +0 -198
- package/dist/_shared/money-display-D6Qtvyyv.js.map +0 -1
- package/dist/_shared/navigation-C4dO1I82.cjs +0 -2
- package/dist/_shared/navigation-C4dO1I82.cjs.map +0 -1
- package/dist/_shared/navigation-Ct-LFlpY.js +0 -436
- package/dist/_shared/navigation-Ct-LFlpY.js.map +0 -1
- package/dist/_shared/overlays-ChyqXn0n.js +0 -735
- package/dist/_shared/overlays-ChyqXn0n.js.map +0 -1
- package/dist/_shared/overlays-Dn2bt3CL.cjs +0 -2
- package/dist/_shared/overlays-Dn2bt3CL.cjs.map +0 -1
- package/dist/_shared/popover-menu-17Dxn25O.js +0 -93
- package/dist/_shared/popover-menu-17Dxn25O.js.map +0 -1
- package/dist/_shared/popover-menu-DXVN0bvj.cjs +0 -2
- package/dist/_shared/popover-menu-DXVN0bvj.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-BRpcNkj1.js +0 -620
- package/dist/_shared/rich-text-editor-BRpcNkj1.js.map +0 -1
- package/dist/_shared/rich-text-editor-BXxGNbmI.cjs +0 -2
- package/dist/_shared/rich-text-editor-BXxGNbmI.cjs.map +0 -1
- package/dist/_shared/settings-CW9yzfQM.js +0 -143
- package/dist/_shared/settings-CW9yzfQM.js.map +0 -1
- package/dist/_shared/settings-cCPrw7si.cjs +0 -2
- package/dist/_shared/settings-cCPrw7si.cjs.map +0 -1
- package/dist/_shared/sidebar-Cq6J_I4l.cjs +0 -2
- package/dist/_shared/sidebar-Cq6J_I4l.cjs.map +0 -1
- package/dist/_shared/sidebar-DtF_ihE3.js +0 -548
- package/dist/_shared/sidebar-DtF_ihE3.js.map +0 -1
- package/dist/_shared/spinner-DY2de3Wt.cjs +0 -2
- package/dist/_shared/spinner-DY2de3Wt.cjs.map +0 -1
- package/dist/_shared/spinner-ZmIq_zsx.js +0 -67
- package/dist/_shared/spinner-ZmIq_zsx.js.map +0 -1
- package/dist/_shared/table-BBWc-wIw.js +0 -1377
- package/dist/_shared/table-BBWc-wIw.js.map +0 -1
- package/dist/_shared/table-DMDkdLzV.cjs +0 -2
- package/dist/_shared/table-DMDkdLzV.cjs.map +0 -1
- package/dist/_shared/textarea-C1TeJ7Vt.cjs +0 -2
- package/dist/_shared/textarea-C1TeJ7Vt.cjs.map +0 -1
- package/dist/_shared/textarea-CGRkgH5z.js +0 -118
- package/dist/_shared/textarea-CGRkgH5z.js.map +0 -1
- package/dist/_shared/typography-CzFVA1w1.js +0 -201
- package/dist/_shared/typography-CzFVA1w1.js.map +0 -1
- package/dist/_shared/typography-GtkgK9QX.cjs +0 -2
- package/dist/_shared/typography-GtkgK9QX.cjs.map +0 -1
- package/dist/_shared/ui-provider-DZWtUXf2.cjs +0 -2
- package/dist/_shared/ui-provider-DZWtUXf2.cjs.map +0 -1
- package/dist/_shared/ui-provider-Dj6OSOZi.js +0 -81
- package/dist/_shared/ui-provider-Dj6OSOZi.js.map +0 -1
- package/dist/_shared/workspace-BF5BtDhD.cjs +0 -2
- package/dist/_shared/workspace-BF5BtDhD.cjs.map +0 -1
- package/dist/_shared/workspace-IvsczduM.js +0 -357
- package/dist/_shared/workspace-IvsczduM.js.map +0 -1
- package/dist/showcase/assets/AreaChart-CsIm9z7Y.js +0 -6
- package/dist/showcase/assets/CompositeItem-D9zznn01.js +0 -1
- package/dist/showcase/assets/CompositeRoot-CvxtZ81W.js +0 -1
- package/dist/showcase/assets/DialogTrigger-C-osQGHu.js +0 -1
- package/dist/showcase/assets/LabelableContext-_EE-HBND.js +0 -1
- package/dist/showcase/assets/PreviewLayout-KdEsSl3b.js +0 -1
- package/dist/showcase/assets/RadioGroup-4jOeNTc1.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-CXTdUcaE.js +0 -1
- package/dist/showcase/assets/Separator-CHVXO6nj.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-CM5tQGGX.js +0 -1
- package/dist/showcase/assets/accordion-CA84bxb2.js +0 -171
- package/dist/showcase/assets/accordion-variants-DqWzAOO3.js +0 -1
- package/dist/showcase/assets/action-menu-D0q5z-Kq.js +0 -1
- package/dist/showcase/assets/actions-DnqxABJU.js +0 -310
- package/dist/showcase/assets/activities-BC9hoMy9.js +0 -500
- package/dist/showcase/assets/activities-feed-card-D6wGLpbH.js +0 -1
- package/dist/showcase/assets/admin-CMnMsugJ.js +0 -140
- package/dist/showcase/assets/ai-B6_sE9Zg.js +0 -207
- package/dist/showcase/assets/ai-artifact-BVvbsSJB.js +0 -2
- package/dist/showcase/assets/ai-chat-lcXeqJrA.js +0 -568
- package/dist/showcase/assets/ai-elements-B32o_UjE.js +0 -387
- package/dist/showcase/assets/ai-tool-call-BLrAioKz.js +0 -1
- package/dist/showcase/assets/alert-B1p1Grce.js +0 -62
- package/dist/showcase/assets/alert-BBiffYsY.js +0 -93
- package/dist/showcase/assets/alert-vH0nJ8J9.js +0 -1
- package/dist/showcase/assets/api-key-list-BrSc6V1y.js +0 -1
- package/dist/showcase/assets/api-key-list-CoKe_PaL.js +0 -73
- package/dist/showcase/assets/app-sidebar-R93lRPB4.js +0 -1
- package/dist/showcase/assets/arrow-down-xxVIADbv.js +0 -1
- package/dist/showcase/assets/arrow-left-DxnlnN8R.js +0 -1
- package/dist/showcase/assets/arrow-right-S5k93UPM.js +0 -1
- package/dist/showcase/assets/arrow-up-OlEVG7a-.js +0 -1
- package/dist/showcase/assets/arrow-up-right-j55bbl4b.js +0 -1
- package/dist/showcase/assets/avatar-BbiXvZq7.js +0 -67
- package/dist/showcase/assets/avatar-Bwpw-hQo.js +0 -57
- package/dist/showcase/assets/avatar-D0DKQ1lK.js +0 -1
- package/dist/showcase/assets/avatar-WyjSBov9.js +0 -1
- package/dist/showcase/assets/badge-BzLZQO3L.js +0 -31
- package/dist/showcase/assets/badge-check-TFWm1m3F.js +0 -1
- package/dist/showcase/assets/bell-CmuQlO_k.js +0 -1
- package/dist/showcase/assets/bot-Bu518AJB.js +0 -1
- package/dist/showcase/assets/box-D-wrSdOJ.js +0 -1
- package/dist/showcase/assets/braces-CgCdmdAl.js +0 -1
- package/dist/showcase/assets/brain-DkHdwgHO.js +0 -1
- package/dist/showcase/assets/brand-CpovnVoG.js +0 -36
- package/dist/showcase/assets/breadcrumb-BUc0WC5d.js +0 -1
- package/dist/showcase/assets/breadcrumb-Do_Dazt1.js +0 -52
- package/dist/showcase/assets/breadcrumbs-Bj21o2zm.js +0 -1
- package/dist/showcase/assets/briefcase-CQBh2kok.js +0 -1
- package/dist/showcase/assets/building-2-D07Ej6iR.js +0 -1
- package/dist/showcase/assets/button-CCZ4KEGQ.js +0 -44
- package/dist/showcase/assets/button-group-BTjeHOvz.js +0 -1
- package/dist/showcase/assets/buttons-D45Wwiwn.js +0 -272
- package/dist/showcase/assets/calendar-BsEWULmZ.js +0 -16
- package/dist/showcase/assets/calendar-CkPefzIO.js +0 -1
- package/dist/showcase/assets/calendar-DZlT3qTq.js +0 -1
- package/dist/showcase/assets/calendar-days-C9awTMru.js +0 -1
- package/dist/showcase/assets/camera-CQhMw-RD.js +0 -1
- package/dist/showcase/assets/card-CKrz_UHt.js +0 -1
- package/dist/showcase/assets/card-DZgZgjXO.js +0 -188
- package/dist/showcase/assets/card-primitives-CpkDLK3Y.js +0 -1
- package/dist/showcase/assets/card-radio-group-BjXwMI4v.js +0 -1
- package/dist/showcase/assets/cards-Cd24XZ9l.js +0 -353
- package/dist/showcase/assets/carousel-Doon04yO.js +0 -449
- package/dist/showcase/assets/cell-renderers-CTay3duH.js +0 -1
- package/dist/showcase/assets/chart-CkvbdpWw.js +0 -358
- package/dist/showcase/assets/chart-column-Dz57kUMl.js +0 -1
- package/dist/showcase/assets/checkbox-L-L4-wvA.js +0 -1
- package/dist/showcase/assets/checkbox-sP254E7e.js +0 -1
- package/dist/showcase/assets/chevron-down-CLc_a2Ua.js +0 -1
- package/dist/showcase/assets/chevron-left-CMRIGOJt.js +0 -1
- package/dist/showcase/assets/chevron-up-BDw6LdDZ.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-C519RKki.js +0 -1
- package/dist/showcase/assets/circle-B_tOHWTY.js +0 -1
- package/dist/showcase/assets/circle-alert-B56AFULT.js +0 -1
- package/dist/showcase/assets/circle-check-B4XZj4Ty.js +0 -1
- package/dist/showcase/assets/circle-check-big-C0iEkwPB.js +0 -1
- package/dist/showcase/assets/circle-dot-DPdJZkc6.js +0 -1
- package/dist/showcase/assets/circle-question-mark-LTetdrq6.js +0 -1
- package/dist/showcase/assets/circle-x-B4FwM-sI.js +0 -1
- package/dist/showcase/assets/clock-3-DZhjBuw8.js +0 -1
- package/dist/showcase/assets/clock-B9Fna2Q3.js +0 -1
- package/dist/showcase/assets/code-xml-B6Xb_vIg.js +0 -1
- package/dist/showcase/assets/collapsible-Bf7Oo37i.js +0 -27
- package/dist/showcase/assets/collapsible-BfLeooy8.js +0 -1
- package/dist/showcase/assets/combobox-4NYfJznY.js +0 -685
- package/dist/showcase/assets/command-7jRRucHf.js +0 -1
- package/dist/showcase/assets/command-D56CjgNc.js +0 -1
- package/dist/showcase/assets/comment-composer-BWeXIZfK.js +0 -1
- package/dist/showcase/assets/comment-item-ChkiK-ut.js +0 -1
- package/dist/showcase/assets/comments-YnEop7v3.js +0 -357
- package/dist/showcase/assets/commerce-7XxWJChs.js +0 -267
- package/dist/showcase/assets/composite-CHcyYCsk.js +0 -1
- package/dist/showcase/assets/contact-card-BXw-VuBm.js +0 -65
- package/dist/showcase/assets/content-container-C4uopCBg.js +0 -1
- package/dist/showcase/assets/copyable-CjVYEJ0P.js +0 -1
- package/dist/showcase/assets/copyable-Cz2jW7yL.js +0 -96
- package/dist/showcase/assets/course-card-CvK3dw9W.js +0 -77
- package/dist/showcase/assets/cpu-Vk5WgcC1.js +0 -1
- package/dist/showcase/assets/credit-card-CaigqZGk.js +0 -1
- package/dist/showcase/assets/css-variables-hLaBmeMt.js +0 -1190
- package/dist/showcase/assets/currency-yO1giHp1.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BPQnyk9a.js +0 -90
- package/dist/showcase/assets/data-view-CjjXn5VT.js +0 -124
- package/dist/showcase/assets/data-view-DF0n8uva.js +0 -4
- package/dist/showcase/assets/database-ChUBDe8E.js +0 -1
- package/dist/showcase/assets/date-block-DUg1Oyn4.js +0 -1
- package/dist/showcase/assets/date-picker-CoQPZa34.js +0 -1
- package/dist/showcase/assets/date-pickers-B-IUbyXw.js +0 -73
- package/dist/showcase/assets/dense-info-zVQSWqOU.js +0 -106
- package/dist/showcase/assets/design-system-consistency-Bnz_h3-6.js +0 -264
- package/dist/showcase/assets/dialog-BtilpgxJ.js +0 -1
- package/dist/showcase/assets/dialog-kf9WwmTC.js +0 -1
- package/dist/showcase/assets/display-utilities-BBzG5EPX.js +0 -267
- package/dist/showcase/assets/dist-9gFIhkw-.js +0 -45
- package/dist/showcase/assets/dist-CGpz_7Mu.js +0 -1
- package/dist/showcase/assets/dollar-sign-CWbYI3Pd.js +0 -1
- package/dist/showcase/assets/download-Bt_z-poH.js +0 -1
- package/dist/showcase/assets/dropdown-menu-C1_SYTHm.js +0 -1
- package/dist/showcase/assets/dropzone-D5BGVTnl.js +0 -1
- package/dist/showcase/assets/earth-sP5mIgG3.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-BD7kMOzj.js +0 -1
- package/dist/showcase/assets/ellipsis-yqIF49C8.js +0 -1
- package/dist/showcase/assets/empty-DIrJgtrh.js +0 -1
- package/dist/showcase/assets/empty-item-GgnZk2yf.js +0 -49
- package/dist/showcase/assets/empty-state-ZGKkJ6sf.js +0 -190
- package/dist/showcase/assets/empty-state-n_Fspzt-.js +0 -1
- package/dist/showcase/assets/enhanced-activities-CCw_hZnZ.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-bBF-ADDs.js +0 -1
- package/dist/showcase/assets/esm-CyFPn936.js +0 -2
- package/dist/showcase/assets/event-calendar-Czo7yBDx.js +0 -138
- package/dist/showcase/assets/event-log-DJ3B3nMV.js +0 -330
- package/dist/showcase/assets/example-eGsLGIcp.js +0 -1
- package/dist/showcase/assets/external-link-DPOQEVWH.js +0 -1
- package/dist/showcase/assets/eye-CN92NVL0.js +0 -1
- package/dist/showcase/assets/feature-announcement-BXkSW17e.js +0 -34
- package/dist/showcase/assets/file-CFHePlKG.js +0 -1
- package/dist/showcase/assets/file-text--WYCYQMw.js +0 -1
- package/dist/showcase/assets/filter-layout-B35gGmcO.js +0 -1
- package/dist/showcase/assets/filters-GDW_oiT3.js +0 -139
- package/dist/showcase/assets/flag-XsT9XFPr.js +0 -1
- package/dist/showcase/assets/folder-open-RtsQ8vxf.js +0 -1
- package/dist/showcase/assets/form-field-Bijd1Gex.js +0 -1
- package/dist/showcase/assets/format-Ckw4OM66.js +0 -1
- package/dist/showcase/assets/forms-00bU7LN8.js +0 -915
- package/dist/showcase/assets/funnel-qu25WlXD.js +0 -1
- package/dist/showcase/assets/generic-Bf82Wiol.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-BR4_m2HH.js +0 -1
- package/dist/showcase/assets/gift-D4GQoqzV.js +0 -1
- package/dist/showcase/assets/giftcard-cards-CMutwaAY.js +0 -85
- package/dist/showcase/assets/git-branch-B2QG2zRg.js +0 -1
- package/dist/showcase/assets/global-search-CRAB9TSF.js +0 -1
- package/dist/showcase/assets/global-search-DY0cKfhY.js +0 -215
- package/dist/showcase/assets/globe-BxZW28rG.js +0 -1
- package/dist/showcase/assets/gradient-card-CQGnXG8r.js +0 -58
- package/dist/showcase/assets/hash-CsRtIoKK.js +0 -1
- package/dist/showcase/assets/header-DzYOgZLP.js +0 -1
- package/dist/showcase/assets/header-notifications-D_CJPbvs.js +0 -1
- package/dist/showcase/assets/heart-B2YsYprq.js +0 -1
- package/dist/showcase/assets/hooks-BhUMA4Tb.js +0 -220
- package/dist/showcase/assets/house-HeRFNhI0.js +0 -1
- package/dist/showcase/assets/icon-badge-CpDkc-S0.js +0 -37
- package/dist/showcase/assets/icon-badge-eNEGgpAV.js +0 -1
- package/dist/showcase/assets/image-T88JyDag.js +0 -1
- package/dist/showcase/assets/inbox-DLrLLnTR.js +0 -1
- package/dist/showcase/assets/index-DDZl6kOS.js +0 -10
- package/dist/showcase/assets/index-nOkXemgw.css +0 -2
- package/dist/showcase/assets/inertValue-BajuuRy4.js +0 -1
- package/dist/showcase/assets/info-CNYfw2Yz.js +0 -1
- package/dist/showcase/assets/inline-stat-BN6yhDR5.js +0 -15
- package/dist/showcase/assets/inline-stat-Bqw3lVfk.js +0 -1
- package/dist/showcase/assets/input-C-9K6F0N.js +0 -1
- package/dist/showcase/assets/input-DaZzfkZV.js +0 -1
- package/dist/showcase/assets/input-group-DE-Xdhv4.js +0 -1
- package/dist/showcase/assets/input-group-DIQZnytn.js +0 -47
- package/dist/showcase/assets/inputs-Cl_JgSR4.js +0 -155
- package/dist/showcase/assets/installation-DdhD4Dkq.js +0 -134
- package/dist/showcase/assets/invoice-header-DOs2ACqQ.js +0 -36
- package/dist/showcase/assets/invoice-items-1EuA62mF.js +0 -36
- package/dist/showcase/assets/invoice-mini-vCrYEtWp.js +0 -14
- package/dist/showcase/assets/invoice-table--mDTs1Iz.js +0 -30
- package/dist/showcase/assets/isSameDay-BNB1yam4.js +0 -1
- package/dist/showcase/assets/isToday-BugOpGJC.js +0 -1
- package/dist/showcase/assets/italic-Ck4UD2ZT.js +0 -1
- package/dist/showcase/assets/item-BcesxqFS.js +0 -139
- package/dist/showcase/assets/item-BgPlwUMv.js +0 -1
- package/dist/showcase/assets/item-CB9k_rmo.js +0 -1
- package/dist/showcase/assets/kanban-cPuSVqWY.js +0 -188
- package/dist/showcase/assets/key-round-BmYjd5dk.js +0 -1
- package/dist/showcase/assets/label-BTIBJBqN.js +0 -1
- package/dist/showcase/assets/languages-he6FNXRs.js +0 -1
- package/dist/showcase/assets/layers-B_48DtOz.js +0 -1
- package/dist/showcase/assets/layout-app-shell-zwLv6jTP.js +0 -608
- package/dist/showcase/assets/layout-auth-2Zv5lr52.js +0 -790
- package/dist/showcase/assets/layout-containers-Dzw3xlKn.js +0 -101
- package/dist/showcase/assets/layout-header-TJ-WVmG3.js +0 -203
- package/dist/showcase/assets/layout-page-CIVQCKXK.js +0 -314
- package/dist/showcase/assets/layout-primitives-i_O81fzT.js +0 -34
- package/dist/showcase/assets/layout-sidebar-eH_pwBq_.js +0 -224
- package/dist/showcase/assets/layout-users-CWSaFBLj.js +0 -117
- package/dist/showcase/assets/layout-workspace-w3oe32GE.js +0 -191
- package/dist/showcase/assets/lib-CoS0xjP8.js +0 -1
- package/dist/showcase/assets/list-checks-DecRPpK3.js +0 -1
- package/dist/showcase/assets/lock-D9f8uXol.js +0 -1
- package/dist/showcase/assets/lock-keyhole-C20eixH6.js +0 -1
- package/dist/showcase/assets/mail-CVgP8Qlo.js +0 -1
- package/dist/showcase/assets/mail-check-mplTKcSH.js +0 -1
- package/dist/showcase/assets/map-B6OGeOup.js +0 -124
- package/dist/showcase/assets/map-pin-BZXSwrzT.js +0 -1
- package/dist/showcase/assets/media-library-DSlVIM1Q.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-CNAEeXgy.js +0 -1
- package/dist/showcase/assets/mentions-Cb3g4hDN.js +0 -138
- package/dist/showcase/assets/menus-CE0Hlj8N.js +0 -171
- package/dist/showcase/assets/message-square-HliU8vbW.js +0 -1
- package/dist/showcase/assets/metadata-list-CJ5v5Bvc.js +0 -286
- package/dist/showcase/assets/metadata-list-DY92-pw2.js +0 -1
- package/dist/showcase/assets/metric-DxMTjIvU.js +0 -1
- package/dist/showcase/assets/metric-bar-cW9nWCRl.js +0 -1
- package/dist/showcase/assets/metric-grid-CvfO52X1.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-BmjQdRus.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-BZqB5d1y.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-jAhlrQCI.js +0 -50
- package/dist/showcase/assets/metrics-comparison-DURZ6qEL.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-HhJDBguh.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-Dq5k-P6F.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-DXzhwa6z.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-C6O5b0wP.js +0 -42
- package/dist/showcase/assets/metrics-overview-Hv2mseb3.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-CW42vBCS.js +0 -54
- package/dist/showcase/assets/minus-BW62vCxf.js +0 -1
- package/dist/showcase/assets/money-display-CAdGk5Lr.js +0 -1
- package/dist/showcase/assets/month-year-picker-dHuvgz1E.js +0 -1
- package/dist/showcase/assets/navigation-C4uSLvbZ.js +0 -90
- package/dist/showcase/assets/navigation-SjsZrtIc.js +0 -231
- package/dist/showcase/assets/navigation-extras-CMVNVskk.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-C1jwRdMU.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-BYFLpl5w.js +0 -1
- package/dist/showcase/assets/overlays-0Y8MAz39.js +0 -159
- package/dist/showcase/assets/overlays-ClOnjahL.js +0 -408
- package/dist/showcase/assets/overview-B5ztGmTp.js +0 -184
- package/dist/showcase/assets/package-check-MeSw6bS4.js +0 -1
- package/dist/showcase/assets/package-vYJ0q0QM.js +0 -1
- package/dist/showcase/assets/page-4lMKtBQ7.js +0 -1
- package/dist/showcase/assets/page-action-button-C5-TGSzy.js +0 -1
- package/dist/showcase/assets/page-header-C_-KYryO.js +0 -1
- package/dist/showcase/assets/pagination-D3L3Iwus.js +0 -1
- package/dist/showcase/assets/pagination-dZXPxwHx.js +0 -42
- package/dist/showcase/assets/paperclip-BZhdPOw8.js +0 -1
- package/dist/showcase/assets/password-input-CDSMtGxt.js +0 -1
- package/dist/showcase/assets/pencil-DiYr3CZ9.js +0 -1
- package/dist/showcase/assets/phone-Dm5qzlG8.js +0 -1
- package/dist/showcase/assets/plus-pfGaA3St.js +0 -1
- package/dist/showcase/assets/popover-CjVWDO7C.js +0 -1
- package/dist/showcase/assets/popover-menu-JcZyGV3Y.js +0 -1
- package/dist/showcase/assets/popover-pZ4Jbp0s.js +0 -1
- package/dist/showcase/assets/products-C62MKtAR.js +0 -423
- package/dist/showcase/assets/progress-Btw-ZUaU.js +0 -18
- package/dist/showcase/assets/progress-DpB5LL6R.js +0 -1
- package/dist/showcase/assets/props-table-Bjc9IHmp.js +0 -1
- package/dist/showcase/assets/props.generated-cO7HmIpY.json +0 -41578
- package/dist/showcase/assets/quote-DcxVd1fj.js +0 -1
- package/dist/showcase/assets/receipt-BHns-S5Q.js +0 -1
- package/dist/showcase/assets/receipt-text-L0aYasyt.js +0 -1
- package/dist/showcase/assets/refinement-guide-BBOGBJ4I.js +0 -189
- package/dist/showcase/assets/refresh-cw-z6mlm0HI.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-hsarzg5A.js +0 -1
- package/dist/showcase/assets/resource-CIn_zKZ4.js +0 -139
- package/dist/showcase/assets/resource-DxktLgEK.js +0 -1
- package/dist/showcase/assets/resource-selector-card-dkcEQ6bl.js +0 -43
- package/dist/showcase/assets/rich-text-editor-Dd-rWisw.js +0 -124
- package/dist/showcase/assets/rich-text-editor-DvJMFj48.js +0 -143
- package/dist/showcase/assets/rotate-ccw-DEz6nb5P.js +0 -1
- package/dist/showcase/assets/route-BeXaXTk8.js +0 -1
- package/dist/showcase/assets/save-EE7Tc5OT.js +0 -1
- package/dist/showcase/assets/schema-form-RK9Zpz1E.js +0 -327
- package/dist/showcase/assets/scroll-area-BejQJ0Q1.js +0 -32
- package/dist/showcase/assets/scroll-area-DS8LJ7LG.js +0 -1
- package/dist/showcase/assets/section-Cv8i4DIx.js +0 -1
- package/dist/showcase/assets/select-Cuy3YKW9.js +0 -1
- package/dist/showcase/assets/select-qFy1jm91.js +0 -1
- package/dist/showcase/assets/send-CXv0ST9u.js +0 -1
- package/dist/showcase/assets/separator-CecGyBaV.js +0 -1
- package/dist/showcase/assets/separator-CqtFQXrk.js +0 -28
- package/dist/showcase/assets/settings-2-CCeMwMOj.js +0 -1
- package/dist/showcase/assets/settings-CXjN6wTC.js +0 -1
- package/dist/showcase/assets/sheet-Csyrmkqp.js +0 -1
- package/dist/showcase/assets/shield-DR0ZfAFA.js +0 -1
- package/dist/showcase/assets/shield-alert-Bp1iFJ2q.js +0 -1
- package/dist/showcase/assets/shield-check-ClL4B_Cd.js +0 -1
- package/dist/showcase/assets/shopping-bag-DnSmbPUX.js +0 -1
- package/dist/showcase/assets/showcase-CQKt5VGi.js +0 -132
- package/dist/showcase/assets/sidebar-CXy94md1.js +0 -1
- package/dist/showcase/assets/sidebar.context-C8gkOwJ5.js +0 -1
- package/dist/showcase/assets/skeleton-B8wC5P66.js +0 -29
- package/dist/showcase/assets/skeleton-DBlCLlBC.js +0 -1
- package/dist/showcase/assets/slider-BcjkNx6W.js +0 -1
- package/dist/showcase/assets/smart-card-Cg6rtWH9.js +0 -1
- package/dist/showcase/assets/sonner-ZGBQ13wS.js +0 -22
- package/dist/showcase/assets/sortable.esm-CGFWc-Cn.js +0 -5
- package/dist/showcase/assets/sparkles-q1-9JZqa.js +0 -1
- package/dist/showcase/assets/spinner-CKg8QLHu.js +0 -1
- package/dist/showcase/assets/spinner-D1Ao9j9T.js +0 -49
- package/dist/showcase/assets/spinner-oahLIkgb.js +0 -30
- package/dist/showcase/assets/square-pen-DZ3bQJia.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CKPtb3Hj.js +0 -1
- package/dist/showcase/assets/star-suetD-KI.js +0 -1
- package/dist/showcase/assets/startOfDay-OjIsUeiv.js +0 -1
- package/dist/showcase/assets/styles-1mYOoC2k.js +0 -1
- package/dist/showcase/assets/suggestions-DLYaI-In.js +0 -126
- package/dist/showcase/assets/switch-CTTrJNwo.js +0 -1
- package/dist/showcase/assets/switch-ChJWWmxN.js +0 -1
- package/dist/showcase/assets/sync-DsHYydvo.js +0 -124
- package/dist/showcase/assets/table-Ck2ptin2.js +0 -686
- package/dist/showcase/assets/table-DyJ9oADQ.js +0 -1
- package/dist/showcase/assets/table-actions-COU4zHfh.js +0 -1
- package/dist/showcase/assets/tabs-Bl_RHGIw.js +0 -1
- package/dist/showcase/assets/tabs-DS-4VSkb.js +0 -19
- package/dist/showcase/assets/tags-input-BlYzb5fF.js +0 -1
- package/dist/showcase/assets/text-button-OPdNs3fb.js +0 -1
- package/dist/showcase/assets/text-link-D27gqGeg.js +0 -1
- package/dist/showcase/assets/textarea-DpC7J5F-.js +0 -1
- package/dist/showcase/assets/textarea-JtXUjxvc.js +0 -1
- package/dist/showcase/assets/timelines-DQM-B4Xo.js +0 -200
- package/dist/showcase/assets/toggle-group-CMneKREH.js +0 -1
- package/dist/showcase/assets/toggles-CAXXgjO_.js +0 -71
- package/dist/showcase/assets/toggles-group-CHRqrpoM.js +0 -32
- package/dist/showcase/assets/tooltip-CwGZAioX.js +0 -31
- package/dist/showcase/assets/trash-2-BpMb9Zbb.js +0 -1
- package/dist/showcase/assets/trending-up-B1BzitCg.js +0 -1
- package/dist/showcase/assets/truck-CDSE5-HZ.js +0 -1
- package/dist/showcase/assets/typography-BoNJ1hRZ.js +0 -223
- package/dist/showcase/assets/ui-badge-Djh6NiB2.js +0 -28
- package/dist/showcase/assets/ui-card-QC_rl_H2.js +0 -30
- package/dist/showcase/assets/ui-table-qAGsc3qN.js +0 -42
- package/dist/showcase/assets/upload-tray-DKCJgW5u.js +0 -138
- package/dist/showcase/assets/use-layout-link-BPlsZ8Ys.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-526MebAC.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-CqySZiH9.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-DWX7LbGX.js +0 -1
- package/dist/showcase/assets/useCompositeItem-DGEBUXgE.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-B2nuNlc2.js +0 -1
- package/dist/showcase/assets/useLabelableId-DY4O1lpt.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-DxwujDvt.js +0 -1
- package/dist/showcase/assets/useRender-BPoNv-Lm.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-BnOSAjfy.js +0 -1
- package/dist/showcase/assets/useValueChanged-CXmDOWxx.js +0 -1
- package/dist/showcase/assets/user-BGchdtV_.js +0 -1
- package/dist/showcase/assets/user-plus-BifI_xVA.js +0 -1
- package/dist/showcase/assets/users-Cl5yYqdg.js +0 -1
- package/dist/showcase/assets/vendor-profile-BNW4FYna.js +0 -37
- package/dist/showcase/assets/video-BtQPixYN.js +0 -1
- package/dist/showcase/assets/wrench-CRalc5fG.js +0 -1
- package/dist/showcase/assets/x-D6hUY89S.js +0 -1
- package/dist/showcase/assets/zap-v_qbqeI5.js +0 -1
|
@@ -1,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-xxs",
|
|
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-CzFVA1w1.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typography-CzFVA1w1.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-xxs',\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-xxs`,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-GtkgK9QX.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typography-GtkgK9QX.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-xxs',\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-GtkgK9QX.cjs"),a=require("./badge-B8xGFpfM.cjs"),o=require("./display-CRQjSjgB.cjs"),s=require("./item-DTrnHpfm.cjs"),c=require("./hooks-Cjl7LJpn.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:`xxs`,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:`xxs`,weight:`semibold`,type:`secondary`,className:`uppercase tracking-wide`,children:e.label}),!!e.description&&(0,u.jsx)(i.s,{size:`xxs`,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:`xxs`,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-BF5BtDhD.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-BF5BtDhD.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=\"xxs\" 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=\"xxs\" 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=\"xxs\" 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=\"xxs\" 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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"}
|