admin-ui-starter-kit 0.6.7 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/component-library-rules/SKILL.md +2 -2
- package/.agents/skills/component-library-rules/references/components/INDEX.json +15 -1
- package/.agents/skills/component-library-rules/references/components/INDEX.md +15 -1
- package/.agents/skills/component-library-rules/references/components/base__boolean-indicator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__cards.md +3 -2
- package/.agents/skills/component-library-rules/references/components/base__collapsible.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__conditional-rendering.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__date-block.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__dialog.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__display-utilities.md +59 -95
- package/.agents/skills/component-library-rules/references/components/base__item.md +4 -3
- package/.agents/skills/component-library-rules/references/components/base__money-display.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__notification-banner.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__placeholder-pattern.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__progress.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__qr-code.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__separator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__skeleton.md +55 -0
- package/.agents/skills/component-library-rules/references/components/base__throttle-alert.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__visually-hidden.md +39 -0
- package/.agents/skills/component-library-rules/references/components/layout__layout-page.md +2 -1
- package/.agents/skills/component-library-rules/references/ui-provider.md +2 -2
- package/dist/_shared/accordion-8B4OFqiT.cjs +2 -0
- package/dist/_shared/accordion-8B4OFqiT.cjs.map +1 -0
- package/dist/_shared/accordion-DlpTSZ3p.js +135 -0
- package/dist/_shared/accordion-DlpTSZ3p.js.map +1 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs +2 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs.map +1 -0
- package/dist/_shared/action-menu-CYwMZX-b.js +96 -0
- package/dist/_shared/action-menu-CYwMZX-b.js.map +1 -0
- package/dist/_shared/ai-artifact-BylloxGO.js +1099 -0
- package/dist/_shared/ai-artifact-BylloxGO.js.map +1 -0
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs +3 -0
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs.map +1 -0
- package/dist/_shared/auth-1Ht9Kevx.js +643 -0
- package/dist/_shared/auth-1Ht9Kevx.js.map +1 -0
- package/dist/_shared/auth-DTN6sFXM.cjs +2 -0
- package/dist/_shared/auth-DTN6sFXM.cjs.map +1 -0
- package/dist/_shared/badge-LSAgdmGt.cjs +2 -0
- package/dist/_shared/badge-LSAgdmGt.cjs.map +1 -0
- package/dist/_shared/badge-nZ2zbAV4.js +110 -0
- package/dist/_shared/badge-nZ2zbAV4.js.map +1 -0
- package/dist/_shared/button-Be2ayMxF.js +192 -0
- package/dist/_shared/button-Be2ayMxF.js.map +1 -0
- package/dist/_shared/button-CfQtOuBK.cjs +2 -0
- package/dist/_shared/button-CfQtOuBK.cjs.map +1 -0
- package/dist/_shared/buttons-DABiSx6N.cjs +2 -0
- package/dist/_shared/buttons-DABiSx6N.cjs.map +1 -0
- package/dist/_shared/buttons-DYQqQPpk.js +137 -0
- package/dist/_shared/buttons-DYQqQPpk.js.map +1 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs +2 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs.map +1 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js +150 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js.map +1 -0
- package/dist/_shared/cards-BJctT9KD.js +428 -0
- package/dist/_shared/cards-BJctT9KD.js.map +1 -0
- package/dist/_shared/cards-m03XN10f.cjs +2 -0
- package/dist/_shared/cards-m03XN10f.cjs.map +1 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs +2 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs.map +1 -0
- package/dist/_shared/combobox-D9tU_83-.js +954 -0
- package/dist/_shared/combobox-D9tU_83-.js.map +1 -0
- package/dist/_shared/command-BbJB0pjP.cjs +2 -0
- package/dist/_shared/command-BbJB0pjP.cjs.map +1 -0
- package/dist/_shared/command-IP2wy_HN.js +39 -0
- package/dist/_shared/command-IP2wy_HN.js.map +1 -0
- package/dist/_shared/comments-B_WKQUol.js +952 -0
- package/dist/_shared/comments-B_WKQUol.js.map +1 -0
- package/dist/_shared/comments-DMHMNObS.cjs +2 -0
- package/dist/_shared/comments-DMHMNObS.cjs.map +1 -0
- package/dist/_shared/copyable-BJYx2SlN.js +38 -0
- package/dist/_shared/copyable-BJYx2SlN.js.map +1 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs +2 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs.map +1 -0
- package/dist/_shared/data-display-4E_irfF2.js +1878 -0
- package/dist/_shared/data-display-4E_irfF2.js.map +1 -0
- package/dist/_shared/data-display-BPn-7qFO.cjs +2 -0
- package/dist/_shared/data-display-BPn-7qFO.cjs.map +1 -0
- package/dist/_shared/date-picker-CvqLnlxm.js +1361 -0
- package/dist/_shared/date-picker-CvqLnlxm.js.map +1 -0
- package/dist/_shared/date-picker-D83fCi2g.cjs +2 -0
- package/dist/_shared/date-picker-D83fCi2g.cjs.map +1 -0
- package/dist/_shared/date-pickers-C6ku2BPp.cjs +2 -0
- package/dist/_shared/date-pickers-C6ku2BPp.cjs.map +1 -0
- package/dist/_shared/date-pickers-RdbwIhdY.js +329 -0
- package/dist/_shared/date-pickers-RdbwIhdY.js.map +1 -0
- package/dist/_shared/display-DFVeSuWL.js +986 -0
- package/dist/_shared/display-DFVeSuWL.js.map +1 -0
- package/dist/_shared/display-Lr3xTd4a.cjs +2 -0
- package/dist/_shared/display-Lr3xTd4a.cjs.map +1 -0
- package/dist/_shared/forms-BA8Aa_fi.js +3534 -0
- package/dist/_shared/forms-BA8Aa_fi.js.map +1 -0
- package/dist/_shared/forms-CNjjdFcf.cjs +2 -0
- package/dist/_shared/forms-CNjjdFcf.cjs.map +1 -0
- package/dist/_shared/header-BEsz1_so.cjs +2 -0
- package/dist/_shared/header-BEsz1_so.cjs.map +1 -0
- package/dist/_shared/header-bJx8z6zT.js +447 -0
- package/dist/_shared/header-bJx8z6zT.js.map +1 -0
- package/dist/_shared/hooks-gRgVhyY2.js +95 -0
- package/dist/_shared/hooks-gRgVhyY2.js.map +1 -0
- package/dist/_shared/hooks-nFiRfUxX.cjs +2 -0
- package/dist/_shared/hooks-nFiRfUxX.cjs.map +1 -0
- package/dist/_shared/input-CzJzVyQ0.js +182 -0
- package/dist/_shared/input-CzJzVyQ0.js.map +1 -0
- package/dist/_shared/input-Dvvmn96E.cjs +2 -0
- package/dist/_shared/input-Dvvmn96E.cjs.map +1 -0
- package/dist/_shared/item-CVjjpHQd.js +226 -0
- package/dist/_shared/item-CVjjpHQd.js.map +1 -0
- package/dist/_shared/item-ChHblHhR.cjs +2 -0
- package/dist/_shared/item-ChHblHhR.cjs.map +1 -0
- package/dist/_shared/layout-C_dYiKtE.cjs +2 -0
- package/dist/_shared/layout-C_dYiKtE.cjs.map +1 -0
- package/dist/_shared/layout-nigj488k.js +268 -0
- package/dist/_shared/layout-nigj488k.js.map +1 -0
- package/dist/_shared/mentions-BE51BNeq.cjs +2 -0
- package/dist/_shared/mentions-BE51BNeq.cjs.map +1 -0
- package/dist/_shared/mentions-CBhP29St.js +506 -0
- package/dist/_shared/mentions-CBhP29St.js.map +1 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs +2 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs.map +1 -0
- package/dist/_shared/money-display-DpuLnsK2.js +198 -0
- package/dist/_shared/money-display-DpuLnsK2.js.map +1 -0
- package/dist/_shared/navigation-CWK_YQ5Y.js +436 -0
- package/dist/_shared/navigation-CWK_YQ5Y.js.map +1 -0
- package/dist/_shared/navigation-DTBMb7-M.cjs +2 -0
- package/dist/_shared/navigation-DTBMb7-M.cjs.map +1 -0
- package/dist/_shared/overlays-BJLczwpz.js +735 -0
- package/dist/_shared/overlays-BJLczwpz.js.map +1 -0
- package/dist/_shared/overlays-DbaPLT67.cjs +2 -0
- package/dist/_shared/overlays-DbaPLT67.cjs.map +1 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs +2 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs.map +1 -0
- package/dist/_shared/popover-menu-f2O6R_27.js +93 -0
- package/dist/_shared/popover-menu-f2O6R_27.js.map +1 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js +620 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js.map +1 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs +2 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs.map +1 -0
- package/dist/_shared/settings-D-HAOE3R.js +143 -0
- package/dist/_shared/settings-D-HAOE3R.js.map +1 -0
- package/dist/_shared/settings-DkL3bOk0.cjs +2 -0
- package/dist/_shared/settings-DkL3bOk0.cjs.map +1 -0
- package/dist/_shared/sidebar-BTyx7ipN.cjs +2 -0
- package/dist/_shared/sidebar-BTyx7ipN.cjs.map +1 -0
- package/dist/_shared/sidebar-DkBNualh.js +548 -0
- package/dist/_shared/sidebar-DkBNualh.js.map +1 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs +2 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs.map +1 -0
- package/dist/_shared/skeleton-yUXqeWzB.js +256 -0
- package/dist/_shared/skeleton-yUXqeWzB.js.map +1 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs +2 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs.map +1 -0
- package/dist/_shared/spinner-CuVZhJhN.js +67 -0
- package/dist/_shared/spinner-CuVZhJhN.js.map +1 -0
- package/dist/_shared/table-Cq0jkSm5.js +1377 -0
- package/dist/_shared/table-Cq0jkSm5.js.map +1 -0
- package/dist/_shared/table-GqTKCC8F.cjs +2 -0
- package/dist/_shared/table-GqTKCC8F.cjs.map +1 -0
- package/dist/_shared/textarea-C0iZwWdD.js +118 -0
- package/dist/_shared/textarea-C0iZwWdD.js.map +1 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs +2 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs.map +1 -0
- package/dist/_shared/typography-5bLhAYaK.js +201 -0
- package/dist/_shared/typography-5bLhAYaK.js.map +1 -0
- package/dist/_shared/typography-CWEobAJV.cjs +2 -0
- package/dist/_shared/typography-CWEobAJV.cjs.map +1 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs +2 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs.map +1 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js +89 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js.map +1 -0
- package/dist/_shared/workspace-5UId04M9.js +357 -0
- package/dist/_shared/workspace-5UId04M9.js.map +1 -0
- package/dist/_shared/workspace-BMws_rFf.cjs +2 -0
- package/dist/_shared/workspace-BMws_rFf.cjs.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/button.d.ts.map +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/buttons/tooltip-button.d.ts.map +1 -1
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +2 -2
- package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.types.d.ts +7 -3
- package/dist/components/base/cards/smart-card.types.d.ts.map +1 -1
- package/dist/components/base/carousel/index.cjs +1 -1
- package/dist/components/base/carousel/index.js +1 -1
- package/dist/components/base/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/command/index.cjs +1 -1
- package/dist/components/base/command/index.js +1 -1
- package/dist/components/base/copyable/index.cjs +1 -1
- package/dist/components/base/copyable/index.js +1 -1
- package/dist/components/base/currency/index.cjs +1 -1
- package/dist/components/base/currency/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/chart.cjs +1 -1
- package/dist/components/base/display/chart.js +1 -1
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +5 -5
- package/dist/components/base/display/skeleton.d.ts +52 -1
- package/dist/components/base/display/skeleton.d.ts.map +1 -1
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.js +4 -4
- package/dist/components/base/forms/fields/file-upload.d.ts.map +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +5 -5
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/item/item.d.ts.map +1 -1
- package/dist/components/base/item/item.types.d.ts +3 -0
- package/dist/components/base/item/item.types.d.ts.map +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.js +2 -2
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +2 -2
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/spinner/index.cjs +1 -1
- package/dist/components/base/spinner/index.js +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/base/toaster/index.cjs +1 -1
- package/dist/components/base/toaster/index.cjs.map +1 -1
- package/dist/components/base/toaster/index.js +82 -23
- package/dist/components/base/toaster/index.js.map +1 -1
- package/dist/components/base/toaster/toaster.d.ts +1 -1
- package/dist/components/base/toaster/toaster.d.ts.map +1 -1
- package/dist/components/composed/admin/api-key-list/api-key-list.d.ts.map +1 -1
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.cjs.map +1 -1
- package/dist/components/composed/admin/index.js +67 -67
- package/dist/components/composed/admin/index.js.map +1 -1
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.js +8 -8
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.cjs.map +1 -1
- package/dist/components/composed/analytics/index.js +12 -12
- package/dist/components/composed/analytics/index.js.map +1 -1
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.js +7 -7
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.cjs.map +1 -1
- package/dist/components/composed/commerce/index.js +9 -9
- package/dist/components/composed/commerce/index.js.map +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.js +4 -4
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-dashboard.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-financial.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-score.d.ts.map +1 -1
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/data-display/resource-selector-card.d.ts.map +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.js +5 -5
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +3 -3
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +3 -3
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +5 -5
- package/dist/components/features/ai-chat/index.cjs +1 -1
- package/dist/components/features/ai-chat/index.js +5 -5
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +4 -4
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/data-view/index.cjs +1 -1
- package/dist/components/features/data-view/index.js +2 -2
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +5 -5
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.cjs.map +1 -1
- package/dist/components/features/filters/index.js +190 -190
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/filters/partials/filters-button.d.ts.map +1 -1
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.js +4 -4
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +3 -3
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.js +10 -10
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +1 -1
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.js +1 -1
- package/dist/components/features/products/index.cjs +1 -1
- package/dist/components/features/products/index.js +11 -11
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.js +5 -5
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +8 -8
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.js +2 -2
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/hooks/index.cjs +1 -1
- package/dist/components/layout/hooks/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +7 -7
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/page/page.types.d.ts +5 -0
- package/dist/components/layout/page/page.types.d.ts.map +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts.map +1 -1
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/ui-provider/defaults.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.cjs +1 -1
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/index.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.js +1 -1
- package/dist/lib/ui-provider/types.d.ts +14 -0
- package/dist/lib/ui-provider/types.d.ts.map +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-oKO7Ng_P.js +6 -0
- package/dist/showcase/assets/CompositeItem-CK7jBYU8.js +1 -0
- package/dist/showcase/assets/CompositeRoot-_AuToqhT.js +1 -0
- package/dist/showcase/assets/DialogTrigger-C44ZZXQ9.js +1 -0
- package/dist/showcase/assets/LabelableContext-DLVZlnur.js +1 -0
- package/dist/showcase/assets/PreviewLayout-Oik7TDHN.js +1 -0
- package/dist/showcase/assets/RadioGroup-DeYb8CGE.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-BZlE_Bil.js +1 -0
- package/dist/showcase/assets/Separator-uiIktHzk.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-CEzj5dKk.js +1 -0
- package/dist/showcase/assets/accordion-B_wg_YOp.js +171 -0
- package/dist/showcase/assets/accordion-variants-O6U7E38x.js +1 -0
- package/dist/showcase/assets/action-menu-D_wGvb_o.js +1 -0
- package/dist/showcase/assets/actions-u4Fl4zm1.js +310 -0
- package/dist/showcase/assets/activities-C6iITHzB.js +500 -0
- package/dist/showcase/assets/activities-feed-card-OpYs16UV.js +1 -0
- package/dist/showcase/assets/admin-Bq15E5Wd.js +140 -0
- package/dist/showcase/assets/ai-DcUzGTlb.js +207 -0
- package/dist/showcase/assets/ai-artifact-BUAu1_jV.js +2 -0
- package/dist/showcase/assets/ai-chat-C6OWWBqh.js +568 -0
- package/dist/showcase/assets/ai-elements-CCe4Aqj_.js +387 -0
- package/dist/showcase/assets/ai-tool-call-B_NF1ePn.js +1 -0
- package/dist/showcase/assets/alert-B4VWkFPE.js +1 -0
- package/dist/showcase/assets/alert-BDIqciKo.js +62 -0
- package/dist/showcase/assets/alert-jvCEGWe6.js +93 -0
- package/dist/showcase/assets/api-key-list-BH8mde9A.js +1 -0
- package/dist/showcase/assets/api-key-list-CA6O3hsc.js +73 -0
- package/dist/showcase/assets/app-sidebar-DsMTwSAB.js +1 -0
- package/dist/showcase/assets/arrow-down-BzPC0rON.js +1 -0
- package/dist/showcase/assets/arrow-left-DNehZvF-.js +1 -0
- package/dist/showcase/assets/arrow-right-CKIgWncF.js +1 -0
- package/dist/showcase/assets/arrow-up-YjujZi8v.js +1 -0
- package/dist/showcase/assets/arrow-up-right-KnVxFmw9.js +1 -0
- package/dist/showcase/assets/avatar-BBLri7tX.js +57 -0
- package/dist/showcase/assets/avatar-BeFx8JQd.js +1 -0
- package/dist/showcase/assets/avatar-CFWUZzaF.js +67 -0
- package/dist/showcase/assets/avatar-D6exHRSK.js +1 -0
- package/dist/showcase/assets/badge-check-BfY3RIjR.js +1 -0
- package/dist/showcase/assets/badge-jGj2HQsg.js +31 -0
- package/dist/showcase/assets/bell-CTDSIOv8.js +1 -0
- package/dist/showcase/assets/boolean-indicator-C1u7OFcR.js +1 -0
- package/dist/showcase/assets/bot-D-iqtYiQ.js +1 -0
- package/dist/showcase/assets/box-DxjjLEh2.js +1 -0
- package/dist/showcase/assets/braces-B6XLlZwJ.js +1 -0
- package/dist/showcase/assets/brain-BdNpswBH.js +1 -0
- package/dist/showcase/assets/brand-C6srYuIa.js +36 -0
- package/dist/showcase/assets/breadcrumb-BaeV7C4t.js +52 -0
- package/dist/showcase/assets/breadcrumb-jKu4EUFo.js +1 -0
- package/dist/showcase/assets/breadcrumbs-D7vYX_5y.js +1 -0
- package/dist/showcase/assets/briefcase-cs9wyoxL.js +1 -0
- package/dist/showcase/assets/building-2-rcMEYcbf.js +1 -0
- package/dist/showcase/assets/button-group-D1oXfasP.js +1 -0
- package/dist/showcase/assets/button-oBRwhAhs.js +44 -0
- package/dist/showcase/assets/buttons-D_SDu9w3.js +272 -0
- package/dist/showcase/assets/calendar-CGTiVckW.js +1 -0
- package/dist/showcase/assets/calendar-ChLkVME0.js +16 -0
- package/dist/showcase/assets/calendar-CjMPvWfI.js +1 -0
- package/dist/showcase/assets/calendar-days-CNom8Y38.js +1 -0
- package/dist/showcase/assets/camera-D0rjOOcs.js +1 -0
- package/dist/showcase/assets/card-CYz4UxYz.js +1 -0
- package/dist/showcase/assets/card-D9updr3B.js +188 -0
- package/dist/showcase/assets/card-primitives-BQ0hSEWX.js +1 -0
- package/dist/showcase/assets/card-radio-group-CrNG04Bl.js +1 -0
- package/dist/showcase/assets/cards-D4Lw-AI6.js +354 -0
- package/dist/showcase/assets/carousel-C6Mmapzw.js +449 -0
- package/dist/showcase/assets/cell-renderers-BF80Z3jW.js +1 -0
- package/dist/showcase/assets/chart-BHgMfUB5.js +358 -0
- package/dist/showcase/assets/chart-column-CE_VhlUz.js +1 -0
- package/dist/showcase/assets/checkbox-CDLT09vU.js +1 -0
- package/dist/showcase/assets/checkbox-Dj24Tegr.js +1 -0
- package/dist/showcase/assets/chevron-down-1GeJ4hOO.js +1 -0
- package/dist/showcase/assets/chevron-left-wqlWv2Qy.js +1 -0
- package/dist/showcase/assets/chevron-up-CZAm-2rZ.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-DgysGYWR.js +1 -0
- package/dist/showcase/assets/circle-C9Ooo8Lv.js +1 -0
- package/dist/showcase/assets/circle-alert-C6XBfkf2.js +1 -0
- package/dist/showcase/assets/circle-check-DvCYlVmL.js +1 -0
- package/dist/showcase/assets/circle-check-big-C8o9clAE.js +1 -0
- package/dist/showcase/assets/circle-dot-BoYf3vOR.js +1 -0
- package/dist/showcase/assets/circle-question-mark-DYPX0qe9.js +1 -0
- package/dist/showcase/assets/circle-x-GosnT0l7.js +1 -0
- package/dist/showcase/assets/clock-3-DklFhayq.js +1 -0
- package/dist/showcase/assets/clock-BvwTkk1w.js +1 -0
- package/dist/showcase/assets/code-xml-AGOwtN8Z.js +1 -0
- package/dist/showcase/assets/collapsible-CBkbr3ho.js +1 -0
- package/dist/showcase/assets/collapsible-CmY1SA28.js +27 -0
- package/dist/showcase/assets/collapsible-DfDnQ_t_.js +1 -0
- package/dist/showcase/assets/combobox-BsZQo7hF.js +685 -0
- package/dist/showcase/assets/command-B0Q84gg6.js +1 -0
- package/dist/showcase/assets/command-BtADdA65.js +1 -0
- package/dist/showcase/assets/comment-composer-BmBnkba9.js +1 -0
- package/dist/showcase/assets/comment-item-y5mTfSmU.js +1 -0
- package/dist/showcase/assets/comments-BuYiGPxI.js +357 -0
- package/dist/showcase/assets/commerce-21Ef_rsW.js +267 -0
- package/dist/showcase/assets/composite-fKT6fZFs.js +1 -0
- package/dist/showcase/assets/conditional-rendering-DsTG0sOE.js +1 -0
- package/dist/showcase/assets/contact-card-S8koA9Sr.js +65 -0
- package/dist/showcase/assets/content-container-B4gW5fmA.js +1 -0
- package/dist/showcase/assets/copyable-D2xL2rMm.js +96 -0
- package/dist/showcase/assets/copyable-gLrmPayI.js +1 -0
- package/dist/showcase/assets/course-card-B8eEvF7a.js +77 -0
- package/dist/showcase/assets/cpu-Cp1On3tr.js +1 -0
- package/dist/showcase/assets/credit-card-QbZMZB90.js +1 -0
- package/dist/showcase/assets/css-variables-BXICo9fV.js +1205 -0
- package/dist/showcase/assets/currency-D2MSLjLt.js +149 -0
- package/dist/showcase/assets/dark-surfaces-CJsxuvQU.js +90 -0
- package/dist/showcase/assets/data-view-syhKhdz9.js +124 -0
- package/dist/showcase/assets/data-view-znnAeb6b.js +4 -0
- package/dist/showcase/assets/database-isLkCvDd.js +1 -0
- package/dist/showcase/assets/date-block-BDn9lGVM.js +1 -0
- package/dist/showcase/assets/date-block-CqRL1xfo.js +1 -0
- package/dist/showcase/assets/date-picker-DNcmSgQk.js +1 -0
- package/dist/showcase/assets/date-pickers-3lQUDDS7.js +73 -0
- package/dist/showcase/assets/dense-info-CfvqiIpM.js +106 -0
- package/dist/showcase/assets/design-system-consistency-C3yRhKwF.js +264 -0
- package/dist/showcase/assets/dialog-DiAkrPHO.js +1 -0
- package/dist/showcase/assets/dialog-feUFM03m.js +1 -0
- package/dist/showcase/assets/dialog-ruVOqJnB.js +1 -0
- package/dist/showcase/assets/display-utilities-SPJxlrkp.js +4 -0
- package/dist/showcase/assets/display-utilities.examples-ByRydMl0.js +302 -0
- package/dist/showcase/assets/dist-C9DVZddl.js +45 -0
- package/dist/showcase/assets/dist-DNARKM_B.js +1 -0
- package/dist/showcase/assets/dollar-sign-CUDuWyun.js +1 -0
- package/dist/showcase/assets/download-CIbh9VUU.js +1 -0
- package/dist/showcase/assets/dropdown-menu-MoIAG0ES.js +1 -0
- package/dist/showcase/assets/dropzone-D0kHIUuh.js +1 -0
- package/dist/showcase/assets/earth-BpNTeF25.js +1 -0
- package/dist/showcase/assets/ellipsis-B9w0cuoH.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-DHbOsjTF.js +1 -0
- package/dist/showcase/assets/empty-DvYVgcNF.js +1 -0
- package/dist/showcase/assets/empty-item-oFM5kPCp.js +49 -0
- package/dist/showcase/assets/empty-state-DTq86muv.js +1 -0
- package/dist/showcase/assets/empty-state-De7XCht-.js +190 -0
- package/dist/showcase/assets/enhanced-activities--XHjx99M.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-CX_mTkei.js +1 -0
- package/dist/showcase/assets/esm-XXqBjGGF.js +2 -0
- package/dist/showcase/assets/event-calendar-zTiCWOF5.js +138 -0
- package/dist/showcase/assets/event-log-C_zSlY6y.js +330 -0
- package/dist/showcase/assets/example-Cv05rz75.js +1 -0
- package/dist/showcase/assets/external-link-DaR-AMyf.js +1 -0
- package/dist/showcase/assets/eye-CDSbB0kZ.js +1 -0
- package/dist/showcase/assets/feature-announcement-DJ26ZDVB.js +34 -0
- package/dist/showcase/assets/file-DPSK5cGC.js +1 -0
- package/dist/showcase/assets/file-text-BBWpAppG.js +1 -0
- package/dist/showcase/assets/filter-layout-CZRGcd6Z.js +1 -0
- package/dist/showcase/assets/filters-Bn7hYUeq.js +139 -0
- package/dist/showcase/assets/flag-BRs-GTCx.js +1 -0
- package/dist/showcase/assets/folder-open-DnFjlB3X.js +1 -0
- package/dist/showcase/assets/form-field-SW-Yp7H7.js +1 -0
- package/dist/showcase/assets/format-Bki5m7M3.js +1 -0
- package/dist/showcase/assets/forms-CAUL2gGq.js +915 -0
- package/dist/showcase/assets/funnel-D6g2Suhd.js +1 -0
- package/dist/showcase/assets/generic-CU6JNqKO.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-yqDwWA_y.js +1 -0
- package/dist/showcase/assets/gift-B2Qp9Vqt.js +1 -0
- package/dist/showcase/assets/giftcard-cards-Dk0DYoN2.js +85 -0
- package/dist/showcase/assets/git-branch-CPtvCNGc.js +1 -0
- package/dist/showcase/assets/global-search-D1ow01VA.js +1 -0
- package/dist/showcase/assets/global-search-DQR2AgDO.js +215 -0
- package/dist/showcase/assets/globe-BiZgUZFZ.js +1 -0
- package/dist/showcase/assets/gradient-card-D5isLy3_.js +58 -0
- package/dist/showcase/assets/hash-NJ5ohGOa.js +1 -0
- package/dist/showcase/assets/header-Df9uYSSH.js +1 -0
- package/dist/showcase/assets/header-notifications-sPR5NuON.js +1 -0
- package/dist/showcase/assets/heart-C4t7PVKW.js +1 -0
- package/dist/showcase/assets/hooks-0TKg0ZAK.js +220 -0
- package/dist/showcase/assets/house-CuLXFtjd.js +1 -0
- package/dist/showcase/assets/icon-badge-Cr6DD-_7.js +1 -0
- package/dist/showcase/assets/icon-badge-DMdMSSRL.js +37 -0
- package/dist/showcase/assets/image-DYjJaO0i.js +1 -0
- package/dist/showcase/assets/inbox-DGF8FgvV.js +1 -0
- package/dist/showcase/assets/index-ATou_nFA.js +10 -0
- package/dist/showcase/assets/index-C8U-r6l7.css +2 -0
- package/dist/showcase/assets/inertValue-CBi0sj8C.js +1 -0
- package/dist/showcase/assets/info-DLaTRPUT.js +1 -0
- package/dist/showcase/assets/inline-stat-DGpunTNF.js +1 -0
- package/dist/showcase/assets/inline-stat-rUaaOSmR.js +15 -0
- package/dist/showcase/assets/input-Cmrgo51H.js +1 -0
- package/dist/showcase/assets/input-CnmnWnGb.js +1 -0
- package/dist/showcase/assets/input-group-BwujFvXM.js +1 -0
- package/dist/showcase/assets/input-group-DvXgZtra.js +47 -0
- package/dist/showcase/assets/inputs-CjzW_R8z.js +155 -0
- package/dist/showcase/assets/installation-2dW-rmF2.js +134 -0
- package/dist/showcase/assets/invoice-header-DeWxMKCe.js +36 -0
- package/dist/showcase/assets/invoice-items-Dxb95w0e.js +36 -0
- package/dist/showcase/assets/invoice-mini-EMzCkmR7.js +14 -0
- package/dist/showcase/assets/invoice-table-ClWJaclJ.js +30 -0
- package/dist/showcase/assets/isSameDay-BNPzVySj.js +1 -0
- package/dist/showcase/assets/isToday-D6n7oLej.js +1 -0
- package/dist/showcase/assets/italic-B8w3dpYw.js +1 -0
- package/dist/showcase/assets/item-B8_dwOlT.js +1 -0
- package/dist/showcase/assets/item-Baq-Mmy2.js +1 -0
- package/dist/showcase/assets/item-BtMuqGwy.js +140 -0
- package/dist/showcase/assets/kanban-B-QxvKMg.js +188 -0
- package/dist/showcase/assets/key-round-CrBIyzIa.js +1 -0
- package/dist/showcase/assets/label-VWe_nbHh.js +1 -0
- package/dist/showcase/assets/languages-N0uGt5nC.js +1 -0
- package/dist/showcase/assets/layers-DEZvT5cX.js +1 -0
- package/dist/showcase/assets/layout-app-shell-T9UqKX2o.js +608 -0
- package/dist/showcase/assets/layout-auth-IVC4DuU3.js +790 -0
- package/dist/showcase/assets/layout-containers-naBpuH05.js +101 -0
- package/dist/showcase/assets/layout-header-9i_7ygKU.js +203 -0
- package/dist/showcase/assets/layout-page-CrEUiJpW.js +315 -0
- package/dist/showcase/assets/layout-primitives-DPrVHpu3.js +34 -0
- package/dist/showcase/assets/layout-sidebar-D7z6-kPu.js +224 -0
- package/dist/showcase/assets/layout-users-Cov9D84d.js +117 -0
- package/dist/showcase/assets/layout-workspace-Czlmi8gY.js +191 -0
- package/dist/showcase/assets/lib-DNMH46Rn.js +1 -0
- package/dist/showcase/assets/list-checks-DygDRIGi.js +1 -0
- package/dist/showcase/assets/lock-DqEahakB.js +1 -0
- package/dist/showcase/assets/lock-keyhole-CETEK3R0.js +1 -0
- package/dist/showcase/assets/mail-LKhBlrEc.js +1 -0
- package/dist/showcase/assets/mail-check-BOTjWQJf.js +1 -0
- package/dist/showcase/assets/map-0vJT2r8C.js +124 -0
- package/dist/showcase/assets/map-pin-D0qrpDJI.js +1 -0
- package/dist/showcase/assets/media-library-Bp99WaS9.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-mlV7LRvD.js +1 -0
- package/dist/showcase/assets/mentions-Cmd1zxOR.js +138 -0
- package/dist/showcase/assets/menus-CtjFPoDr.js +171 -0
- package/dist/showcase/assets/message-square-BXyvikcZ.js +1 -0
- package/dist/showcase/assets/metadata-list-DLUBcy7E.js +286 -0
- package/dist/showcase/assets/metadata-list-F3bWXtZB.js +1 -0
- package/dist/showcase/assets/metric-CXPRptlh.js +1 -0
- package/dist/showcase/assets/metric-bar-BY25WVZ0.js +1 -0
- package/dist/showcase/assets/metric-grid-DQtf9y6E.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-CXHpkj3U.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-BIuwiVrn.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-yx5lMGQf.js +50 -0
- package/dist/showcase/assets/metrics-comparison-BC_7jLXf.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-C_nhCljz.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-3oySQnoR.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-zS4-oiTO.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-UJkA2LNR.js +42 -0
- package/dist/showcase/assets/metrics-overview-DQFr22ol.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-DnBirxKV.js +54 -0
- package/dist/showcase/assets/minus-BOVQEx6C.js +1 -0
- package/dist/showcase/assets/money-display-DV7xlrNV.js +1 -0
- package/dist/showcase/assets/money-display-DxnM5--7.js +1 -0
- package/dist/showcase/assets/month-year-picker-BzRXCrQ7.js +1 -0
- package/dist/showcase/assets/navigation-ChJKLv4Y.js +90 -0
- package/dist/showcase/assets/navigation-D7VJsKrP.js +231 -0
- package/dist/showcase/assets/navigation-extras-BVc1xQuB.js +43 -0
- package/dist/showcase/assets/notification-banner-1ivcmPLe.js +1 -0
- package/dist/showcase/assets/onboarding-checklist-CbARgwpX.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-DlqMmyTx.js +1 -0
- package/dist/showcase/assets/overlays-DkWO50b8.js +159 -0
- package/dist/showcase/assets/overlays-KKZpxWjt.js +408 -0
- package/dist/showcase/assets/overview-BjQe-YZE.js +184 -0
- package/dist/showcase/assets/package-DhQRoFDo.js +1 -0
- package/dist/showcase/assets/package-check-CBgGiccG.js +1 -0
- package/dist/showcase/assets/page-BWTmyV5J.js +1 -0
- package/dist/showcase/assets/page-action-button-DV-YYRA4.js +1 -0
- package/dist/showcase/assets/page-header-Bmg4NU_P.js +1 -0
- package/dist/showcase/assets/pagination-ByQ_OXRU.js +1 -0
- package/dist/showcase/assets/pagination-Db5CuoBb.js +42 -0
- package/dist/showcase/assets/paperclip-BQNPUzG_.js +1 -0
- package/dist/showcase/assets/password-input-CPvjzM1f.js +1 -0
- package/dist/showcase/assets/pencil-DuBakHme.js +1 -0
- package/dist/showcase/assets/phone-t94LTB1m.js +1 -0
- package/dist/showcase/assets/placeholder-pattern-BNou2ep-.js +1 -0
- package/dist/showcase/assets/plus-BRcp6JhT.js +1 -0
- package/dist/showcase/assets/popover-CVuJP03o.js +1 -0
- package/dist/showcase/assets/popover-D_P2gTn8.js +1 -0
- package/dist/showcase/assets/popover-menu-DGY5jEk4.js +1 -0
- package/dist/showcase/assets/products-8sUfDMPU.js +423 -0
- package/dist/showcase/assets/progress-BrMvIZIz.js +1 -0
- package/dist/showcase/assets/progress-CSXZAavT.js +18 -0
- package/dist/showcase/assets/progress-Dvqpf_O0.js +1 -0
- package/dist/showcase/assets/props-table-BAfz1Zc6.js +1 -0
- package/dist/showcase/assets/props.generated-CuVoOKYT.json +41746 -0
- package/dist/showcase/assets/qr-code-C-CaHJQ2.js +1 -0
- package/dist/showcase/assets/quote-Ci80eS0u.js +1 -0
- package/dist/showcase/assets/receipt-jvwbPuE3.js +1 -0
- package/dist/showcase/assets/receipt-text-CT0GiMQm.js +1 -0
- package/dist/showcase/assets/refinement-guide-BnCQ9-6f.js +189 -0
- package/dist/showcase/assets/refresh-cw-CXDARnCe.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-DJanfUim.js +1 -0
- package/dist/showcase/assets/resource-Bir-z7ie.js +139 -0
- package/dist/showcase/assets/resource-D19qhfYP.js +1 -0
- package/dist/showcase/assets/resource-selector-card-BUbuu-QH.js +43 -0
- package/dist/showcase/assets/rich-text-editor-BCtz589M.js +124 -0
- package/dist/showcase/assets/rich-text-editor-uu9FmB8B.js +143 -0
- package/dist/showcase/assets/rotate-ccw-DEIVfiHA.js +1 -0
- package/dist/showcase/assets/route-B5vtDLsE.js +1 -0
- package/dist/showcase/assets/save-DQ4Up8ZB.js +1 -0
- package/dist/showcase/assets/schema-form-D7wbdl5u.js +327 -0
- package/dist/showcase/assets/scroll-area-B0QD6o1Y.js +32 -0
- package/dist/showcase/assets/scroll-area-BoZ1SrfI.js +1 -0
- package/dist/showcase/assets/section-BXsVHOsI.js +1 -0
- package/dist/showcase/assets/select-CW8SYsOY.js +1 -0
- package/dist/showcase/assets/select-DmRqLSoG.js +1 -0
- package/dist/showcase/assets/send-Dxs1-xSj.js +1 -0
- package/dist/showcase/assets/separator-BLOG_8oO.js +1 -0
- package/dist/showcase/assets/separator-DZC_uQU-.js +1 -0
- package/dist/showcase/assets/separator-OlLHRN7k.js +28 -0
- package/dist/showcase/assets/settings-2-BSpgytsy.js +1 -0
- package/dist/showcase/assets/settings-CCNP7XOu.js +1 -0
- package/dist/showcase/assets/sheet-DIfJjbgA.js +1 -0
- package/dist/showcase/assets/shield-D2gTWkwA.js +1 -0
- package/dist/showcase/assets/shield-alert-C-3oWpoe.js +1 -0
- package/dist/showcase/assets/shield-check-D11r1eJ8.js +1 -0
- package/dist/showcase/assets/shopping-bag-DAeaVQ5O.js +1 -0
- package/dist/showcase/assets/showcase-GdZcH6OR.js +132 -0
- package/dist/showcase/assets/sidebar-RBzHNuB7.js +1 -0
- package/dist/showcase/assets/sidebar.context-Dyw470Qp.js +1 -0
- package/dist/showcase/assets/skeleton-B7crngMw.js +1 -0
- package/dist/showcase/assets/skeleton-BwEVNdGJ.js +1 -0
- package/dist/showcase/assets/skeleton-DM73_ueB.js +1 -0
- package/dist/showcase/assets/skeleton-cHsWJOtO.js +29 -0
- package/dist/showcase/assets/slider-DRPnIs0S.js +1 -0
- package/dist/showcase/assets/smart-card-DER7dpD9.js +1 -0
- package/dist/showcase/assets/sonner-Go1YsPBH.js +22 -0
- package/dist/showcase/assets/sortable.esm-q6LdsxSr.js +5 -0
- package/dist/showcase/assets/sparkles-DqH40POl.js +1 -0
- package/dist/showcase/assets/spinner-C0YWWxyj.js +1 -0
- package/dist/showcase/assets/spinner-CpHNR13f.js +30 -0
- package/dist/showcase/assets/spinner-Dwvf24e9.js +49 -0
- package/dist/showcase/assets/square-pen-D-xHmIA0.js +1 -0
- package/dist/showcase/assets/stacked-avatars-C92NYKIa.js +1 -0
- package/dist/showcase/assets/star-dD4CAJ83.js +1 -0
- package/dist/showcase/assets/startOfDay-BXZshd4g.js +1 -0
- package/dist/showcase/assets/styles-BPJdkO_3.js +1 -0
- package/dist/showcase/assets/suggestions-CyhKme4Q.js +126 -0
- package/dist/showcase/assets/switch-C7DVTgQd.js +1 -0
- package/dist/showcase/assets/switch-LU6nljdS.js +1 -0
- package/dist/showcase/assets/sync-bERw1shm.js +124 -0
- package/dist/showcase/assets/table-BuIv4nqB.js +686 -0
- package/dist/showcase/assets/table-CDMDtBgJ.js +1 -0
- package/dist/showcase/assets/table-actions-DsK7d8Yb.js +1 -0
- package/dist/showcase/assets/tabs-BDryywGb.js +19 -0
- package/dist/showcase/assets/tabs-BNaZmM48.js +1 -0
- package/dist/showcase/assets/tags-input-CzE_5BJl.js +1 -0
- package/dist/showcase/assets/text-button-B1m5cpX_.js +1 -0
- package/dist/showcase/assets/text-link-CqjW10Ce.js +1 -0
- package/dist/showcase/assets/textarea-xJ3EE8R9.js +1 -0
- package/dist/showcase/assets/textarea-xOekToAG.js +1 -0
- package/dist/showcase/assets/throttle-alert-BH1HMiaI.js +1 -0
- package/dist/showcase/assets/timelines-DjWkuOz3.js +200 -0
- package/dist/showcase/assets/toggle-group-Css6pfUI.js +1 -0
- package/dist/showcase/assets/toggles-DhDrn3YH.js +71 -0
- package/dist/showcase/assets/toggles-group-e4xtKzkl.js +32 -0
- package/dist/showcase/assets/tooltip-DMvMUrGe.js +31 -0
- package/dist/showcase/assets/trash-2-zILxQmtX.js +1 -0
- package/dist/showcase/assets/trending-up-CRH278ig.js +1 -0
- package/dist/showcase/assets/truck-At9CEKg7.js +1 -0
- package/dist/showcase/assets/typography-B0ehvSV4.js +223 -0
- package/dist/showcase/assets/ui-badge-CyLWYf3f.js +28 -0
- package/dist/showcase/assets/ui-card-BPnLZmkJ.js +30 -0
- package/dist/showcase/assets/ui-table-C-zXhcOm.js +42 -0
- package/dist/showcase/assets/upload-tray-IyQJEM9n.js +138 -0
- package/dist/showcase/assets/use-layout-link-Cux4giQO.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-Bo0rTGvc.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-CzU-1LY3.js +1 -0
- package/dist/showcase/assets/useCompositeItem-CJFNnVql.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-BAuO9hue.js +1 -0
- package/dist/showcase/assets/useLabelableId-HuACs9ba.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-MEUfJuxN.js +1 -0
- package/dist/showcase/assets/useRender-B-6DpRfj.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-B-mRyUJJ.js +1 -0
- package/dist/showcase/assets/useValueChanged-CVn_Rfso.js +1 -0
- package/dist/showcase/assets/user-eelwPGBI.js +1 -0
- package/dist/showcase/assets/user-plus-DhswMZvb.js +1 -0
- package/dist/showcase/assets/users-BVMmaveS.js +1 -0
- package/dist/showcase/assets/vendor-profile-FHaiInTe.js +37 -0
- package/dist/showcase/assets/video-C42fxAyj.js +1 -0
- package/dist/showcase/assets/visually-hidden-BwzlEinj.js +1 -0
- package/dist/showcase/assets/wrench-EKI7PaKp.js +1 -0
- package/dist/showcase/assets/x--LIqlhum.js +1 -0
- package/dist/showcase/assets/zap-C1fX30vt.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/tokens/foundation.css +1 -1
- package/src/css/tokens/primitives.css +1 -1
- package/src/css/tokens/states.css +3 -0
- package/dist/_shared/accordion-CxjH2WZG.js +0 -135
- package/dist/_shared/accordion-CxjH2WZG.js.map +0 -1
- package/dist/_shared/accordion-mTdJmy23.cjs +0 -2
- package/dist/_shared/accordion-mTdJmy23.cjs.map +0 -1
- package/dist/_shared/action-menu-BrHF4nss.cjs +0 -2
- package/dist/_shared/action-menu-BrHF4nss.cjs.map +0 -1
- package/dist/_shared/action-menu-Crn22LKo.js +0 -96
- package/dist/_shared/action-menu-Crn22LKo.js.map +0 -1
- package/dist/_shared/ai-artifact-CS2Pv-bu.js +0 -1099
- package/dist/_shared/ai-artifact-CS2Pv-bu.js.map +0 -1
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs +0 -3
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs.map +0 -1
- package/dist/_shared/alert-BisCSsOE.cjs +0 -2
- package/dist/_shared/alert-BisCSsOE.cjs.map +0 -1
- package/dist/_shared/alert-D23Q7I0W.js +0 -81
- package/dist/_shared/alert-D23Q7I0W.js.map +0 -1
- package/dist/_shared/auth-BV9Daibu.cjs +0 -2
- package/dist/_shared/auth-BV9Daibu.cjs.map +0 -1
- package/dist/_shared/auth-DACpcTnL.js +0 -643
- package/dist/_shared/auth-DACpcTnL.js.map +0 -1
- package/dist/_shared/badge-B4oBB5BJ.js +0 -110
- package/dist/_shared/badge-B4oBB5BJ.js.map +0 -1
- package/dist/_shared/badge-DvUA9Pr2.cjs +0 -2
- package/dist/_shared/badge-DvUA9Pr2.cjs.map +0 -1
- package/dist/_shared/button-BMiPFJIb.cjs +0 -2
- package/dist/_shared/button-BMiPFJIb.cjs.map +0 -1
- package/dist/_shared/button-vv59_uS_.js +0 -189
- package/dist/_shared/button-vv59_uS_.js.map +0 -1
- package/dist/_shared/buttons-CvqIMv3I.js +0 -137
- package/dist/_shared/buttons-CvqIMv3I.js.map +0 -1
- package/dist/_shared/buttons-tCkWktN3.cjs +0 -2
- package/dist/_shared/buttons-tCkWktN3.cjs.map +0 -1
- package/dist/_shared/card-radio-group-BL--IyPB.js +0 -150
- package/dist/_shared/card-radio-group-BL--IyPB.js.map +0 -1
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs +0 -2
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs.map +0 -1
- package/dist/_shared/cards-CMNXFo3Y.js +0 -354
- package/dist/_shared/cards-CMNXFo3Y.js.map +0 -1
- package/dist/_shared/cards-DQN9fcwo.cjs +0 -2
- package/dist/_shared/cards-DQN9fcwo.cjs.map +0 -1
- package/dist/_shared/combobox-D0avSXIB.cjs +0 -2
- package/dist/_shared/combobox-D0avSXIB.cjs.map +0 -1
- package/dist/_shared/combobox-Df0srISK.js +0 -954
- package/dist/_shared/combobox-Df0srISK.js.map +0 -1
- package/dist/_shared/command-B5BpMgBT.js +0 -39
- package/dist/_shared/command-B5BpMgBT.js.map +0 -1
- package/dist/_shared/command-en62SpQ7.cjs +0 -2
- package/dist/_shared/command-en62SpQ7.cjs.map +0 -1
- package/dist/_shared/comments-CfkortDW.js +0 -952
- package/dist/_shared/comments-CfkortDW.js.map +0 -1
- package/dist/_shared/comments-yVd7QMOu.cjs +0 -2
- package/dist/_shared/comments-yVd7QMOu.cjs.map +0 -1
- package/dist/_shared/copyable-Cn7tRGL5.js +0 -38
- package/dist/_shared/copyable-Cn7tRGL5.js.map +0 -1
- package/dist/_shared/copyable-CoKTxMSP.cjs +0 -2
- package/dist/_shared/copyable-CoKTxMSP.cjs.map +0 -1
- package/dist/_shared/data-display-BG7CD164.js +0 -1873
- package/dist/_shared/data-display-BG7CD164.js.map +0 -1
- package/dist/_shared/data-display-CXVoX3la.cjs +0 -2
- package/dist/_shared/data-display-CXVoX3la.cjs.map +0 -1
- package/dist/_shared/date-picker-Bf-nnyi-.js +0 -1361
- package/dist/_shared/date-picker-Bf-nnyi-.js.map +0 -1
- package/dist/_shared/date-picker-Cox4PAUt.cjs +0 -2
- package/dist/_shared/date-picker-Cox4PAUt.cjs.map +0 -1
- package/dist/_shared/date-pickers-DbN4q0dn.cjs +0 -2
- package/dist/_shared/date-pickers-DbN4q0dn.cjs.map +0 -1
- package/dist/_shared/date-pickers-DvrOCP-s.js +0 -329
- package/dist/_shared/date-pickers-DvrOCP-s.js.map +0 -1
- package/dist/_shared/display-BQijMo37.js +0 -986
- package/dist/_shared/display-BQijMo37.js.map +0 -1
- package/dist/_shared/display-C0ut-Lew.cjs +0 -2
- package/dist/_shared/display-C0ut-Lew.cjs.map +0 -1
- package/dist/_shared/forms-BjG7QIb1.cjs +0 -2
- package/dist/_shared/forms-BjG7QIb1.cjs.map +0 -1
- package/dist/_shared/forms-DljDdyXR.js +0 -3533
- package/dist/_shared/forms-DljDdyXR.js.map +0 -1
- package/dist/_shared/header-BpFJRINR.cjs +0 -2
- package/dist/_shared/header-BpFJRINR.cjs.map +0 -1
- package/dist/_shared/header-CKqQF4_r.js +0 -447
- package/dist/_shared/header-CKqQF4_r.js.map +0 -1
- package/dist/_shared/hooks-DcCkbP1F.js +0 -95
- package/dist/_shared/hooks-DcCkbP1F.js.map +0 -1
- package/dist/_shared/hooks-RkLytuGj.cjs +0 -2
- package/dist/_shared/hooks-RkLytuGj.cjs.map +0 -1
- package/dist/_shared/input-Cin0qpjj.js +0 -182
- package/dist/_shared/input-Cin0qpjj.js.map +0 -1
- package/dist/_shared/input-uuWeiagN.cjs +0 -2
- package/dist/_shared/input-uuWeiagN.cjs.map +0 -1
- package/dist/_shared/item-CIlSaQg8.js +0 -226
- package/dist/_shared/item-CIlSaQg8.js.map +0 -1
- package/dist/_shared/item-CSk9Y2qB.cjs +0 -2
- package/dist/_shared/item-CSk9Y2qB.cjs.map +0 -1
- package/dist/_shared/layout-Cun0HPL4.cjs +0 -2
- package/dist/_shared/layout-Cun0HPL4.cjs.map +0 -1
- package/dist/_shared/layout-HrU5gwH3.js +0 -261
- package/dist/_shared/layout-HrU5gwH3.js.map +0 -1
- package/dist/_shared/mentions-BqN82Fon.cjs +0 -2
- package/dist/_shared/mentions-BqN82Fon.cjs.map +0 -1
- package/dist/_shared/mentions-DV0FT1Th.js +0 -506
- package/dist/_shared/mentions-DV0FT1Th.js.map +0 -1
- package/dist/_shared/money-display-D5FCRhzB.cjs +0 -2
- package/dist/_shared/money-display-D5FCRhzB.cjs.map +0 -1
- package/dist/_shared/money-display-FcCAQDCz.js +0 -198
- package/dist/_shared/money-display-FcCAQDCz.js.map +0 -1
- package/dist/_shared/navigation-CI_Dd8jM.js +0 -436
- package/dist/_shared/navigation-CI_Dd8jM.js.map +0 -1
- package/dist/_shared/navigation-DUGhCPzJ.cjs +0 -2
- package/dist/_shared/navigation-DUGhCPzJ.cjs.map +0 -1
- package/dist/_shared/overlays-BRLemLSn.cjs +0 -2
- package/dist/_shared/overlays-BRLemLSn.cjs.map +0 -1
- package/dist/_shared/overlays-Bef7VNYY.js +0 -735
- package/dist/_shared/overlays-Bef7VNYY.js.map +0 -1
- package/dist/_shared/popover-menu-CAjhhTfX.js +0 -93
- package/dist/_shared/popover-menu-CAjhhTfX.js.map +0 -1
- package/dist/_shared/popover-menu-DlkRgOkR.cjs +0 -2
- package/dist/_shared/popover-menu-DlkRgOkR.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js +0 -620
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js.map +0 -1
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs +0 -2
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs.map +0 -1
- package/dist/_shared/settings-CNT4-6u8.cjs +0 -2
- package/dist/_shared/settings-CNT4-6u8.cjs.map +0 -1
- package/dist/_shared/settings-CRP6409J.js +0 -143
- package/dist/_shared/settings-CRP6409J.js.map +0 -1
- package/dist/_shared/sidebar-B0LcBrfI.cjs +0 -2
- package/dist/_shared/sidebar-B0LcBrfI.cjs.map +0 -1
- package/dist/_shared/sidebar-Bc6JsOTD.js +0 -548
- package/dist/_shared/sidebar-Bc6JsOTD.js.map +0 -1
- package/dist/_shared/spinner-CVG62sGs.js +0 -67
- package/dist/_shared/spinner-CVG62sGs.js.map +0 -1
- package/dist/_shared/spinner-VjdonFU2.cjs +0 -2
- package/dist/_shared/spinner-VjdonFU2.cjs.map +0 -1
- package/dist/_shared/table-_yujELN3.js +0 -1377
- package/dist/_shared/table-_yujELN3.js.map +0 -1
- package/dist/_shared/table-iV8H1AE0.cjs +0 -2
- package/dist/_shared/table-iV8H1AE0.cjs.map +0 -1
- package/dist/_shared/textarea-B4zbbqff.cjs +0 -2
- package/dist/_shared/textarea-B4zbbqff.cjs.map +0 -1
- package/dist/_shared/textarea-Dp0RU-rc.js +0 -118
- package/dist/_shared/textarea-Dp0RU-rc.js.map +0 -1
- package/dist/_shared/typography-DXvCmE8w.js +0 -201
- package/dist/_shared/typography-DXvCmE8w.js.map +0 -1
- package/dist/_shared/typography-pzCKaFOc.cjs +0 -2
- package/dist/_shared/typography-pzCKaFOc.cjs.map +0 -1
- package/dist/_shared/ui-provider-DZWtUXf2.cjs +0 -2
- package/dist/_shared/ui-provider-DZWtUXf2.cjs.map +0 -1
- package/dist/_shared/ui-provider-Dj6OSOZi.js +0 -81
- package/dist/_shared/ui-provider-Dj6OSOZi.js.map +0 -1
- package/dist/_shared/workspace-C3U57t2a.cjs +0 -2
- package/dist/_shared/workspace-C3U57t2a.cjs.map +0 -1
- package/dist/_shared/workspace-Db--ow3r.js +0 -357
- package/dist/_shared/workspace-Db--ow3r.js.map +0 -1
- package/dist/showcase/assets/AreaChart-DtVzijR8.js +0 -6
- package/dist/showcase/assets/CompositeItem-SL6R0H3r.js +0 -1
- package/dist/showcase/assets/CompositeRoot-CTygKc2d.js +0 -1
- package/dist/showcase/assets/DialogTrigger-m2m9VdXk.js +0 -1
- package/dist/showcase/assets/LabelableContext-D6DcOg5I.js +0 -1
- package/dist/showcase/assets/PreviewLayout-CHW8F5uE.js +0 -1
- package/dist/showcase/assets/RadioGroup-BAOoU1eO.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-CrCCP65t.js +0 -1
- package/dist/showcase/assets/Separator-DMs71Vib.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-DWKxsCxT.js +0 -1
- package/dist/showcase/assets/accordion-Clw5XNXP.js +0 -171
- package/dist/showcase/assets/accordion-variants-jiwKaPjE.js +0 -1
- package/dist/showcase/assets/action-menu-CW8zR6Ne.js +0 -1
- package/dist/showcase/assets/actions-Cf7vl3u0.js +0 -310
- package/dist/showcase/assets/activities-CyI5sJuS.js +0 -500
- package/dist/showcase/assets/activities-feed-card-Gv-Y4BBq.js +0 -1
- package/dist/showcase/assets/admin-CQVbTxGD.js +0 -140
- package/dist/showcase/assets/ai-Bkp2BY_z.js +0 -207
- package/dist/showcase/assets/ai-artifact-Cf1vEdVD.js +0 -2
- package/dist/showcase/assets/ai-chat-Bs3x6cK3.js +0 -568
- package/dist/showcase/assets/ai-elements-VbMUV2-i.js +0 -387
- package/dist/showcase/assets/ai-tool-call-BQYg4QB_.js +0 -1
- package/dist/showcase/assets/alert-BUmpNcXV.js +0 -1
- package/dist/showcase/assets/alert-CWPNW7eb.js +0 -93
- package/dist/showcase/assets/alert-nUwhk3AB.js +0 -62
- package/dist/showcase/assets/api-key-list-B1qVywOP.js +0 -73
- package/dist/showcase/assets/api-key-list-BI2FGbzV.js +0 -1
- package/dist/showcase/assets/app-sidebar-B35a8HWK.js +0 -1
- package/dist/showcase/assets/arrow-down-C1w0M8tE.js +0 -1
- package/dist/showcase/assets/arrow-left-DtILDtAv.js +0 -1
- package/dist/showcase/assets/arrow-right-TnZMfDbP.js +0 -1
- package/dist/showcase/assets/arrow-up-BX-KDIDB.js +0 -1
- package/dist/showcase/assets/arrow-up-right-CrnWqXwJ.js +0 -1
- package/dist/showcase/assets/avatar-C5YI0roK.js +0 -67
- package/dist/showcase/assets/avatar-DsnH-Xmz.js +0 -1
- package/dist/showcase/assets/avatar-S4vMi7Be.js +0 -57
- package/dist/showcase/assets/avatar-q4wqX6yD.js +0 -1
- package/dist/showcase/assets/badge-DJacF8-J.js +0 -31
- package/dist/showcase/assets/badge-check-DDJtQHcD.js +0 -1
- package/dist/showcase/assets/bell-DiXXE8YI.js +0 -1
- package/dist/showcase/assets/bot-bONqc_7j.js +0 -1
- package/dist/showcase/assets/box-lhUq3Chj.js +0 -1
- package/dist/showcase/assets/braces-IKXiJgb3.js +0 -1
- package/dist/showcase/assets/brain-DcXlhbJZ.js +0 -1
- package/dist/showcase/assets/brand-CramZg2-.js +0 -36
- package/dist/showcase/assets/breadcrumb-BL7UjlLh.js +0 -1
- package/dist/showcase/assets/breadcrumb-CZRbcf09.js +0 -52
- package/dist/showcase/assets/breadcrumbs-DJzvSt_Z.js +0 -1
- package/dist/showcase/assets/briefcase-CQQ0m97G.js +0 -1
- package/dist/showcase/assets/building-2-BkQcv8WR.js +0 -1
- package/dist/showcase/assets/button-K7M0irWq.js +0 -44
- package/dist/showcase/assets/button-group-KCGa38c8.js +0 -1
- package/dist/showcase/assets/buttons-CvyBMRD6.js +0 -272
- package/dist/showcase/assets/calendar-BJHjhWQX.js +0 -1
- package/dist/showcase/assets/calendar-ChMVRsNC.js +0 -16
- package/dist/showcase/assets/calendar-days-BgkRJVxQ.js +0 -1
- package/dist/showcase/assets/calendar-xpHhfGnq.js +0 -1
- package/dist/showcase/assets/camera-C67freYi.js +0 -1
- package/dist/showcase/assets/card-CfOqXMVz.js +0 -188
- package/dist/showcase/assets/card-bLjedjT5.js +0 -1
- package/dist/showcase/assets/card-primitives-FUPmQCsu.js +0 -1
- package/dist/showcase/assets/card-radio-group-D_QNJ2Hm.js +0 -1
- package/dist/showcase/assets/cards-yHZa0kEf.js +0 -353
- package/dist/showcase/assets/carousel-DG1cKry4.js +0 -449
- package/dist/showcase/assets/cell-renderers-qfJ-7alN.js +0 -1
- package/dist/showcase/assets/chart-B_yVfbWJ.js +0 -358
- package/dist/showcase/assets/chart-column-CYrVWmMk.js +0 -1
- package/dist/showcase/assets/checkbox-NW6EcvtD.js +0 -1
- package/dist/showcase/assets/checkbox-pA_L1P-f.js +0 -1
- package/dist/showcase/assets/chevron-down-DLrHjdQ6.js +0 -1
- package/dist/showcase/assets/chevron-left-B_NQOEWI.js +0 -1
- package/dist/showcase/assets/chevron-up-6hst2jwR.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-C_pj9oOa.js +0 -1
- package/dist/showcase/assets/circle-Cw9qV72m.js +0 -1
- package/dist/showcase/assets/circle-alert-D3Vcma6L.js +0 -1
- package/dist/showcase/assets/circle-check-DdjJpGc9.js +0 -1
- package/dist/showcase/assets/circle-check-big-Dnq-jwtv.js +0 -1
- package/dist/showcase/assets/circle-dot-DN8DFgIP.js +0 -1
- package/dist/showcase/assets/circle-question-mark-Dzgiv4oS.js +0 -1
- package/dist/showcase/assets/circle-x-BzTSkndC.js +0 -1
- package/dist/showcase/assets/clock-3-CVwHXCmo.js +0 -1
- package/dist/showcase/assets/clock-BIJ9p953.js +0 -1
- package/dist/showcase/assets/code-xml-DrU5ziCA.js +0 -1
- package/dist/showcase/assets/collapsible-7rdCo71k.js +0 -27
- package/dist/showcase/assets/collapsible-DCcTSlEH.js +0 -1
- package/dist/showcase/assets/combobox-mx8o5sV1.js +0 -685
- package/dist/showcase/assets/command-CKJDGdA9.js +0 -1
- package/dist/showcase/assets/command-CzGLPzoO.js +0 -1
- package/dist/showcase/assets/comment-composer-CSoEIapl.js +0 -1
- package/dist/showcase/assets/comment-item-pjaH53iB.js +0 -1
- package/dist/showcase/assets/comments-_ccotzWA.js +0 -357
- package/dist/showcase/assets/commerce-BuiQiRsf.js +0 -267
- package/dist/showcase/assets/composite-Bghohd0p.js +0 -1
- package/dist/showcase/assets/contact-card-CqM2uz_w.js +0 -65
- package/dist/showcase/assets/content-container-fC4z98GI.js +0 -1
- package/dist/showcase/assets/copyable-BMQK8sID.js +0 -1
- package/dist/showcase/assets/copyable-DVR2FAa0.js +0 -96
- package/dist/showcase/assets/course-card-Cku2z18g.js +0 -77
- package/dist/showcase/assets/cpu-A072t3kq.js +0 -1
- package/dist/showcase/assets/credit-card-BGwhx9Zo.js +0 -1
- package/dist/showcase/assets/css-variables-BAW_VrGk.js +0 -1205
- package/dist/showcase/assets/currency-Da3C0Uzb.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BHYLEj80.js +0 -90
- package/dist/showcase/assets/data-view--EAYihh0.js +0 -124
- package/dist/showcase/assets/data-view-BAMwKzZO.js +0 -4
- package/dist/showcase/assets/database-C489WIbr.js +0 -1
- package/dist/showcase/assets/date-block-DuNaPSBU.js +0 -1
- package/dist/showcase/assets/date-picker-Dq-9L64y.js +0 -1
- package/dist/showcase/assets/date-pickers-D0ReMKc9.js +0 -73
- package/dist/showcase/assets/dense-info-CXwjqQB1.js +0 -106
- package/dist/showcase/assets/design-system-consistency-CGoKv0Vf.js +0 -264
- package/dist/showcase/assets/dialog-DIrJcAzq.js +0 -1
- package/dist/showcase/assets/dialog-O45UwQJs.js +0 -1
- package/dist/showcase/assets/display-utilities-VKOARJyC.js +0 -267
- package/dist/showcase/assets/dist-BavkTE-I.js +0 -1
- package/dist/showcase/assets/dist-DPxPKIgU.js +0 -45
- package/dist/showcase/assets/dollar-sign-CH2fcyek.js +0 -1
- package/dist/showcase/assets/download-whAw79X4.js +0 -1
- package/dist/showcase/assets/dropdown-menu-PVKwhWds.js +0 -1
- package/dist/showcase/assets/dropzone-B9sc8Mwa.js +0 -1
- package/dist/showcase/assets/earth-BpkE9LMh.js +0 -1
- package/dist/showcase/assets/ellipsis-CEVdIbhD.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-CBIvtUVz.js +0 -1
- package/dist/showcase/assets/empty-Dp1eCMIl.js +0 -1
- package/dist/showcase/assets/empty-item--dZz4VlJ.js +0 -49
- package/dist/showcase/assets/empty-state-ZOiE-hWY.js +0 -190
- package/dist/showcase/assets/empty-state-dsivN4CA.js +0 -1
- package/dist/showcase/assets/enhanced-activities-BpzUxaof.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-D71BOuiX.js +0 -1
- package/dist/showcase/assets/esm-DT-TXPCJ.js +0 -2
- package/dist/showcase/assets/event-calendar-aVpAFZFq.js +0 -138
- package/dist/showcase/assets/event-log-DVcvyQ-P.js +0 -330
- package/dist/showcase/assets/example-CzbL5xoH.js +0 -1
- package/dist/showcase/assets/external-link-BaLE1QE5.js +0 -1
- package/dist/showcase/assets/eye-Dq0mLKrs.js +0 -1
- package/dist/showcase/assets/feature-announcement-sWKBC2fs.js +0 -34
- package/dist/showcase/assets/file-CgW3NvCL.js +0 -1
- package/dist/showcase/assets/file-text-JGaJQ8Wd.js +0 -1
- package/dist/showcase/assets/filter-layout-jfahl8aJ.js +0 -1
- package/dist/showcase/assets/filters-D7zegZVD.js +0 -139
- package/dist/showcase/assets/flag-H6U1f4wd.js +0 -1
- package/dist/showcase/assets/folder-open-sT96wRxJ.js +0 -1
- package/dist/showcase/assets/form-field-CQuSWnj8.js +0 -1
- package/dist/showcase/assets/format-DGPJ5dDq.js +0 -1
- package/dist/showcase/assets/forms-CdDJkAFt.js +0 -915
- package/dist/showcase/assets/funnel-Bh56GDO0.js +0 -1
- package/dist/showcase/assets/generic-CqSABKHr.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-Cgw3-xUB.js +0 -1
- package/dist/showcase/assets/gift-ChVS2ovQ.js +0 -1
- package/dist/showcase/assets/giftcard-cards-CuaGn8-J.js +0 -85
- package/dist/showcase/assets/git-branch-86jQZnz4.js +0 -1
- package/dist/showcase/assets/global-search-C92CjOf8.js +0 -215
- package/dist/showcase/assets/global-search-DpVIWyO9.js +0 -1
- package/dist/showcase/assets/globe-DmGzYOlq.js +0 -1
- package/dist/showcase/assets/gradient-card-BUZzXFdZ.js +0 -58
- package/dist/showcase/assets/hash-pc6IIDge.js +0 -1
- package/dist/showcase/assets/header-DbM4l1Z6.js +0 -1
- package/dist/showcase/assets/header-notifications-CaymUd4n.js +0 -1
- package/dist/showcase/assets/heart-DtfPBlXq.js +0 -1
- package/dist/showcase/assets/hooks-JiLlGOJ-.js +0 -220
- package/dist/showcase/assets/house-CzNWewi5.js +0 -1
- package/dist/showcase/assets/icon-badge-G9Fp891n.js +0 -1
- package/dist/showcase/assets/icon-badge-e8N5BSYf.js +0 -37
- package/dist/showcase/assets/image-9IQW7agU.js +0 -1
- package/dist/showcase/assets/inbox-DU4YaGtc.js +0 -1
- package/dist/showcase/assets/index-CuXjv2p6.css +0 -2
- package/dist/showcase/assets/index-DN09-Vts.js +0 -10
- package/dist/showcase/assets/inertValue-kRQb7jwi.js +0 -1
- package/dist/showcase/assets/info-B9AXwUDF.js +0 -1
- package/dist/showcase/assets/inline-stat-BkLIKCvD.js +0 -1
- package/dist/showcase/assets/inline-stat-XqGHDQrK.js +0 -15
- package/dist/showcase/assets/input-BXHv6p9P.js +0 -1
- package/dist/showcase/assets/input-D_T9s_tn.js +0 -1
- package/dist/showcase/assets/input-group-Bs8dmhR6.js +0 -47
- package/dist/showcase/assets/input-group-CqkASeoV.js +0 -1
- package/dist/showcase/assets/inputs-DY7w_ssI.js +0 -155
- package/dist/showcase/assets/installation-Dg3FdGJ1.js +0 -134
- package/dist/showcase/assets/invoice-header-Ba-Y55Ag.js +0 -36
- package/dist/showcase/assets/invoice-items-CIJ8EfPg.js +0 -36
- package/dist/showcase/assets/invoice-mini-BISFvM7J.js +0 -14
- package/dist/showcase/assets/invoice-table-DcyVZTvl.js +0 -30
- package/dist/showcase/assets/isSameDay-av07hGac.js +0 -1
- package/dist/showcase/assets/isToday-GY5FlPL9.js +0 -1
- package/dist/showcase/assets/italic-Du0n76Xk.js +0 -1
- package/dist/showcase/assets/item-D8Lp4R-T.js +0 -139
- package/dist/showcase/assets/item-DTsZnSJG.js +0 -1
- package/dist/showcase/assets/item-Di7HZF5G.js +0 -1
- package/dist/showcase/assets/kanban-Dcminjsa.js +0 -188
- package/dist/showcase/assets/key-round-BBue3xKx.js +0 -1
- package/dist/showcase/assets/label-dkUEHYaz.js +0 -1
- package/dist/showcase/assets/languages-XxP8Uu82.js +0 -1
- package/dist/showcase/assets/layers-Bi_-RuHS.js +0 -1
- package/dist/showcase/assets/layout-app-shell-Cr6Ep0Zz.js +0 -608
- package/dist/showcase/assets/layout-auth-DffIslnp.js +0 -790
- package/dist/showcase/assets/layout-containers-BuSg6L6o.js +0 -101
- package/dist/showcase/assets/layout-header-DAxSUI18.js +0 -203
- package/dist/showcase/assets/layout-page-CVgVJHf1.js +0 -314
- package/dist/showcase/assets/layout-primitives-q8NXbEld.js +0 -34
- package/dist/showcase/assets/layout-sidebar-bB6AJaGs.js +0 -224
- package/dist/showcase/assets/layout-users-DG5u517t.js +0 -117
- package/dist/showcase/assets/layout-workspace-CKMDUM2b.js +0 -191
- package/dist/showcase/assets/lib-CaQvPpSJ.js +0 -1
- package/dist/showcase/assets/list-checks-Dhr60VvL.js +0 -1
- package/dist/showcase/assets/lock-CYVbyBpM.js +0 -1
- package/dist/showcase/assets/lock-keyhole-TUVID45I.js +0 -1
- package/dist/showcase/assets/mail-DfkwmVKE.js +0 -1
- package/dist/showcase/assets/mail-check-CnBhgH_h.js +0 -1
- package/dist/showcase/assets/map-Ck14_o-F.js +0 -124
- package/dist/showcase/assets/map-pin-Di7TUhai.js +0 -1
- package/dist/showcase/assets/media-library-CzM_to29.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-B1RHUfnH.js +0 -1
- package/dist/showcase/assets/mentions-CdaPXOLl.js +0 -138
- package/dist/showcase/assets/menus-DuqcLdg1.js +0 -171
- package/dist/showcase/assets/message-square-DuW3PrFI.js +0 -1
- package/dist/showcase/assets/metadata-list-CCRGSPaS.js +0 -286
- package/dist/showcase/assets/metadata-list-Drvz5mwy.js +0 -1
- package/dist/showcase/assets/metric-BSaXa3Z_.js +0 -1
- package/dist/showcase/assets/metric-bar-CM1Rmk8y.js +0 -1
- package/dist/showcase/assets/metric-grid-BBGxdYNJ.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-C_LrbPyT.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-ByvVltQV.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-CNGiVG1A.js +0 -50
- package/dist/showcase/assets/metrics-comparison-BLUvtt5N.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-CZWhn4_i.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-CcPm2_ON.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-CitG5Aea.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-CAsplRVI.js +0 -42
- package/dist/showcase/assets/metrics-overview-DSRwW-3j.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-BTdSpUV_.js +0 -54
- package/dist/showcase/assets/minus-BaXg6nPb.js +0 -1
- package/dist/showcase/assets/money-display-HegN6NVU.js +0 -1
- package/dist/showcase/assets/month-year-picker-DGSalGea.js +0 -1
- package/dist/showcase/assets/navigation-B9kcgNmJ.js +0 -90
- package/dist/showcase/assets/navigation-D4OJbw4T.js +0 -231
- package/dist/showcase/assets/navigation-extras-xm_wzPZr.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-CWuCJKDd.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-Dq-I4MUu.js +0 -1
- package/dist/showcase/assets/overlays-BHf9SZOh.js +0 -159
- package/dist/showcase/assets/overlays-DziL3nVU.js +0 -408
- package/dist/showcase/assets/overview-Cc69up8i.js +0 -184
- package/dist/showcase/assets/package-Bc-NuFnd.js +0 -1
- package/dist/showcase/assets/package-check-5LQwCfGh.js +0 -1
- package/dist/showcase/assets/page-B2o5HSfY.js +0 -1
- package/dist/showcase/assets/page-action-button-CfS6vsyC.js +0 -1
- package/dist/showcase/assets/page-header-W6quU5pO.js +0 -1
- package/dist/showcase/assets/pagination-Bfs7Zszm.js +0 -1
- package/dist/showcase/assets/pagination-DHs104ji.js +0 -42
- package/dist/showcase/assets/paperclip-CXeiMywc.js +0 -1
- package/dist/showcase/assets/password-input-C61t743N.js +0 -1
- package/dist/showcase/assets/pencil-C1TXsTfP.js +0 -1
- package/dist/showcase/assets/phone-Bh-68R_E.js +0 -1
- package/dist/showcase/assets/plus-CKBaO4jG.js +0 -1
- package/dist/showcase/assets/popover-C_7qLizt.js +0 -1
- package/dist/showcase/assets/popover-hgtHqd0h.js +0 -1
- package/dist/showcase/assets/popover-menu-DmYSBsji.js +0 -1
- package/dist/showcase/assets/products-DSvcQz-Q.js +0 -423
- package/dist/showcase/assets/progress-Chxeo8g4.js +0 -18
- package/dist/showcase/assets/progress-fYPoCyf-.js +0 -1
- package/dist/showcase/assets/props-table-izArO1Pv.js +0 -1
- package/dist/showcase/assets/props.generated-cO7HmIpY.json +0 -41578
- package/dist/showcase/assets/quote-wvfNu9t7.js +0 -1
- package/dist/showcase/assets/receipt-BlXBX4ZJ.js +0 -1
- package/dist/showcase/assets/receipt-text-stSsUTV5.js +0 -1
- package/dist/showcase/assets/refinement-guide-Bri81J9N.js +0 -189
- package/dist/showcase/assets/refresh-cw-tZzNDEGO.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-Cti97iX8.js +0 -1
- package/dist/showcase/assets/resource-B727CTVi.js +0 -139
- package/dist/showcase/assets/resource-DytT_quB.js +0 -1
- package/dist/showcase/assets/resource-selector-card-wNuW382N.js +0 -43
- package/dist/showcase/assets/rich-text-editor-DdK5YD0y.js +0 -143
- package/dist/showcase/assets/rich-text-editor-DqY2H6e0.js +0 -124
- package/dist/showcase/assets/rotate-ccw-Bp4aMDrI.js +0 -1
- package/dist/showcase/assets/route-D2owHMka.js +0 -1
- package/dist/showcase/assets/save-DjC_iy0t.js +0 -1
- package/dist/showcase/assets/schema-form-CQtLwGC1.js +0 -327
- package/dist/showcase/assets/scroll-area-BQlHFfkG.js +0 -32
- package/dist/showcase/assets/scroll-area-D3Rrt85s.js +0 -1
- package/dist/showcase/assets/section-DYfGx1Q5.js +0 -1
- package/dist/showcase/assets/select-BCJGhRpc.js +0 -1
- package/dist/showcase/assets/select-Cf5EigqA.js +0 -1
- package/dist/showcase/assets/send-86Vr11Ys.js +0 -1
- package/dist/showcase/assets/separator-BHjNVb5O.js +0 -1
- package/dist/showcase/assets/separator-BejjbTbO.js +0 -28
- package/dist/showcase/assets/settings-2-DNNVOsjP.js +0 -1
- package/dist/showcase/assets/settings-Bsi5BLx5.js +0 -1
- package/dist/showcase/assets/sheet-BazhMvfb.js +0 -1
- package/dist/showcase/assets/shield-alert-D-Jbocfj.js +0 -1
- package/dist/showcase/assets/shield-check-D9eDVcJ1.js +0 -1
- package/dist/showcase/assets/shield-xI2P9G5d.js +0 -1
- package/dist/showcase/assets/shopping-bag-DOGs3sez.js +0 -1
- package/dist/showcase/assets/showcase-s-5CuLAJ.js +0 -132
- package/dist/showcase/assets/sidebar-Rz44gw_a.js +0 -1
- package/dist/showcase/assets/sidebar.context-Bbcdo3o8.js +0 -1
- package/dist/showcase/assets/skeleton-CY8ieqD-.js +0 -1
- package/dist/showcase/assets/skeleton-CgoH6CPT.js +0 -29
- package/dist/showcase/assets/slider-okW2bgkG.js +0 -1
- package/dist/showcase/assets/smart-card-CVwEPwfI.js +0 -1
- package/dist/showcase/assets/sonner-CixCpxj2.js +0 -22
- package/dist/showcase/assets/sortable.esm-DKcVtGTb.js +0 -5
- package/dist/showcase/assets/sparkles-DDEVdtmy.js +0 -1
- package/dist/showcase/assets/spinner-BVGPoAEv.js +0 -49
- package/dist/showcase/assets/spinner-FURXSp1Q.js +0 -1
- package/dist/showcase/assets/spinner-u6TwJ3Ii.js +0 -30
- package/dist/showcase/assets/square-pen-DVXVT0cQ.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CKOQhAx4.js +0 -1
- package/dist/showcase/assets/star-B3ZPfxuz.js +0 -1
- package/dist/showcase/assets/startOfDay-LwMBRUSU.js +0 -1
- package/dist/showcase/assets/styles-UIKkojWJ.js +0 -1
- package/dist/showcase/assets/suggestions-DbrzKjbi.js +0 -126
- package/dist/showcase/assets/switch-CAw84QpS.js +0 -1
- package/dist/showcase/assets/switch-Cjt2MCgr.js +0 -1
- package/dist/showcase/assets/sync-DWbqfpBH.js +0 -124
- package/dist/showcase/assets/table-Bx5lo5FP.js +0 -686
- package/dist/showcase/assets/table-C2RQulDb.js +0 -1
- package/dist/showcase/assets/table-actions-Clo3WEfM.js +0 -1
- package/dist/showcase/assets/tabs-DRtlcg6b.js +0 -19
- package/dist/showcase/assets/tabs-wMPtvuT5.js +0 -1
- package/dist/showcase/assets/tags-input-D5FpWOWF.js +0 -1
- package/dist/showcase/assets/text-button-Cwh6D6qG.js +0 -1
- package/dist/showcase/assets/text-link-DI1uXdGl.js +0 -1
- package/dist/showcase/assets/textarea-CGbt4gBZ.js +0 -1
- package/dist/showcase/assets/textarea-JPgPLhyk.js +0 -1
- package/dist/showcase/assets/timelines-CkHN08n6.js +0 -200
- package/dist/showcase/assets/toggle-group-BpXkR9uD.js +0 -1
- package/dist/showcase/assets/toggles-DK9iCbki.js +0 -71
- package/dist/showcase/assets/toggles-group-DwzRj0f7.js +0 -32
- package/dist/showcase/assets/tooltip-PtP1suag.js +0 -31
- package/dist/showcase/assets/trash-2-BE4XUI2g.js +0 -1
- package/dist/showcase/assets/trending-up-ByxOf-nR.js +0 -1
- package/dist/showcase/assets/truck-RTOdcRV0.js +0 -1
- package/dist/showcase/assets/typography-BKLgHDxU.js +0 -223
- package/dist/showcase/assets/ui-badge-DIh_3Wmo.js +0 -28
- package/dist/showcase/assets/ui-card-BOdHnZwv.js +0 -30
- package/dist/showcase/assets/ui-table-BW4FCClv.js +0 -42
- package/dist/showcase/assets/upload-tray-CV9_5Lpa.js +0 -138
- package/dist/showcase/assets/use-layout-link-MyeE-CDj.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DSaog2w5.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-DSpPzrxG.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-DsuJtES0.js +0 -1
- package/dist/showcase/assets/useCompositeItem-lbAimLrR.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-pRXWGj4x.js +0 -1
- package/dist/showcase/assets/useLabelableId-IRM1zB5m.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-CHDcTj9f.js +0 -1
- package/dist/showcase/assets/useRender-Ogz5zjeJ.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-Du6btFNB.js +0 -1
- package/dist/showcase/assets/useValueChanged-CXpsR4fl.js +0 -1
- package/dist/showcase/assets/user-plus-CLj8AZe1.js +0 -1
- package/dist/showcase/assets/user-ymdT26JK.js +0 -1
- package/dist/showcase/assets/users-BGba2Xwv.js +0 -1
- package/dist/showcase/assets/vendor-profile-Ci6c9mFC.js +0 -37
- package/dist/showcase/assets/video-BcKa36-p.js +0 -1
- package/dist/showcase/assets/wrench-Cj2hRrih.js +0 -1
- package/dist/showcase/assets/x-iCqjAC2D.js +0 -1
- package/dist/showcase/assets/zap-H4bc_OhS.js +0 -1
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { useStrings as e } from "../lib/strings.js";
|
|
2
|
+
import { o as t, t as n } from "./ui-provider-Dz2qXgZQ.js";
|
|
3
|
+
import { cn as r } from "../lib/utils.js";
|
|
4
|
+
import { t as i } from "./button-DlqryxqA.js";
|
|
5
|
+
import { i as a, n as o, t as s } from "./tooltip-CLr_sPX8.js";
|
|
6
|
+
import * as c from "react";
|
|
7
|
+
import { useEffect as l, useState as u } from "react";
|
|
8
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
9
|
+
import { Loader2 as p } from "lucide-react";
|
|
10
|
+
//#region src/components/base/buttons/base-button.tsx
|
|
11
|
+
var m = {
|
|
12
|
+
dark: {
|
|
13
|
+
solid: "bg-foreground text-background hover:bg-foreground/90",
|
|
14
|
+
outline: "border border-foreground/80 text-foreground hover:bg-foreground/8",
|
|
15
|
+
ghost: "text-foreground hover:bg-foreground/8"
|
|
16
|
+
},
|
|
17
|
+
primary: {
|
|
18
|
+
solid: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
19
|
+
outline: "border border-primary/70 text-primary hover:bg-primary/10",
|
|
20
|
+
ghost: "text-primary hover:bg-primary/10"
|
|
21
|
+
},
|
|
22
|
+
secondary: {
|
|
23
|
+
solid: "bg-foreground/8 text-foreground hover:bg-foreground/12",
|
|
24
|
+
outline: "border border-foreground/15 text-foreground hover:bg-foreground/8",
|
|
25
|
+
ghost: "text-foreground hover:bg-foreground/8"
|
|
26
|
+
},
|
|
27
|
+
light: {
|
|
28
|
+
solid: "bg-muted text-muted-foreground hover:bg-muted/80",
|
|
29
|
+
outline: "border border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground",
|
|
30
|
+
ghost: "text-muted-foreground hover:bg-accent hover:text-accent-foreground"
|
|
31
|
+
},
|
|
32
|
+
error: {
|
|
33
|
+
solid: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
34
|
+
outline: "border border-destructive/60 text-destructive hover:bg-destructive/10",
|
|
35
|
+
ghost: "text-destructive hover:bg-destructive/10"
|
|
36
|
+
},
|
|
37
|
+
warning: {
|
|
38
|
+
solid: "bg-warning text-warning-foreground hover:bg-warning/90",
|
|
39
|
+
outline: "border border-warning/70 text-warning-foreground hover:bg-warning/20",
|
|
40
|
+
ghost: "text-warning-foreground hover:bg-warning/20"
|
|
41
|
+
},
|
|
42
|
+
success: {
|
|
43
|
+
solid: "bg-success text-success-foreground hover:bg-success/90",
|
|
44
|
+
outline: "border border-success/60 text-success hover:bg-success/10",
|
|
45
|
+
ghost: "text-success hover:bg-success/10"
|
|
46
|
+
},
|
|
47
|
+
action: {
|
|
48
|
+
solid: "bg-info text-info-foreground hover:bg-info/90",
|
|
49
|
+
outline: "border border-info/60 text-info hover:bg-info/10",
|
|
50
|
+
ghost: "text-info hover:bg-info/10"
|
|
51
|
+
}
|
|
52
|
+
}, h = {
|
|
53
|
+
small: "h-control-sm gap-space-sm px-control-sm text-sm",
|
|
54
|
+
default: "h-control gap-space-md px-control text-sm",
|
|
55
|
+
icon: "size-control p-0 text-sm",
|
|
56
|
+
"icon-small": "size-control-sm p-0 text-sm"
|
|
57
|
+
}, g = {
|
|
58
|
+
small: "size-icon-sm",
|
|
59
|
+
default: "size-icon",
|
|
60
|
+
icon: "size-icon",
|
|
61
|
+
"icon-small": "size-icon-sm"
|
|
62
|
+
}, _ = {
|
|
63
|
+
small: "xs",
|
|
64
|
+
default: "default",
|
|
65
|
+
icon: "icon",
|
|
66
|
+
"icon-small": "icon-xs"
|
|
67
|
+
};
|
|
68
|
+
function v(e) {
|
|
69
|
+
return e === "small" || e === "default" || e === "icon" || e === "icon-small" ? e : e === "xs" ? "small" : e === "icon-xs" || e === "icon-sm" ? "icon-small" : e === "sm" || e === "lg" ? "default" : e === "icon-lg" ? "icon" : "default";
|
|
70
|
+
}
|
|
71
|
+
var y = {
|
|
72
|
+
small: "small",
|
|
73
|
+
default: "default"
|
|
74
|
+
}, b = c.forwardRef(({ variant: e = "primary", buttonStyle: a, size: o, fullWidth: s = !1, icon: c, iconPosition: l = "left", children: u, className: p, disabled: b, ...x }, S) => {
|
|
75
|
+
let { defaultButtonStyle: C } = n(), { defaultControlSize: w } = t(), T = a ?? C ?? "solid", E = v(o ?? y[w ?? "default"]), D = m[e] ?? m.secondary, O = D[T] ?? D.solid ?? m.secondary.solid;
|
|
76
|
+
return /* @__PURE__ */ f(i, {
|
|
77
|
+
ref: S,
|
|
78
|
+
variant: T === "outline" ? "outline" : T === "ghost" ? "ghost" : "default",
|
|
79
|
+
size: _[E],
|
|
80
|
+
className: r("base-button--component", O, "inline-flex items-center justify-center rounded-radius", h[E], s && "w-full", p),
|
|
81
|
+
disabled: b,
|
|
82
|
+
...x,
|
|
83
|
+
children: [
|
|
84
|
+
!!c && l === "left" && /* @__PURE__ */ d(c, {
|
|
85
|
+
className: g[E],
|
|
86
|
+
"aria-hidden": "true"
|
|
87
|
+
}),
|
|
88
|
+
u,
|
|
89
|
+
!!c && l === "right" && /* @__PURE__ */ d(c, {
|
|
90
|
+
className: g[E],
|
|
91
|
+
"aria-hidden": "true"
|
|
92
|
+
})
|
|
93
|
+
]
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
b.displayName = "BaseButton";
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/components/base/buttons/loader-button.tsx
|
|
99
|
+
var x = {
|
|
100
|
+
loading: "Loading...",
|
|
101
|
+
completed: "Completed"
|
|
102
|
+
}, S = c.forwardRef(({ loading: t = !1, handlesLoading: n, strings: i, loadingLabels: a, icon: o, iconPosition: s = "left", children: c, disabled: m, ...h }, g) => {
|
|
103
|
+
let _ = e(e(x, a), i), [v, y] = u(t), [, S] = u(!1);
|
|
104
|
+
l(() => {
|
|
105
|
+
t && y(!0);
|
|
106
|
+
}, [t]), l(() => {
|
|
107
|
+
n && t && y(!0);
|
|
108
|
+
}, [t, n]), l(() => {
|
|
109
|
+
let e;
|
|
110
|
+
return !t && v && (S(!0), e = setTimeout(() => {
|
|
111
|
+
y(!1), S(!1);
|
|
112
|
+
}, 300)), () => {
|
|
113
|
+
e && clearTimeout(e);
|
|
114
|
+
};
|
|
115
|
+
}, [t, v]);
|
|
116
|
+
let C = (e) => e === "small" || e === "icon-small" ? "size-icon-sm" : "size-icon";
|
|
117
|
+
return /* @__PURE__ */ f(b, {
|
|
118
|
+
className: "loader-button--component",
|
|
119
|
+
...h,
|
|
120
|
+
ref: g,
|
|
121
|
+
disabled: m || v,
|
|
122
|
+
children: [
|
|
123
|
+
!!v && /* @__PURE__ */ d(p, {
|
|
124
|
+
className: r("animate-spin mr-2", C(h.size)),
|
|
125
|
+
"aria-hidden": "true"
|
|
126
|
+
}),
|
|
127
|
+
!!o && s === "left" && !v && /* @__PURE__ */ d(o, {
|
|
128
|
+
className: r("opacity-60", C(h.size), c && "-ms-1 me-2"),
|
|
129
|
+
"aria-hidden": "true"
|
|
130
|
+
}),
|
|
131
|
+
/* @__PURE__ */ f("span", { children: [!!v && _.loading, !v && c] }),
|
|
132
|
+
!!o && s === "right" && !v && /* @__PURE__ */ d(o, {
|
|
133
|
+
className: r("opacity-60", C(h.size), c && "-me-1 ms-2"),
|
|
134
|
+
"aria-hidden": "true"
|
|
135
|
+
})
|
|
136
|
+
]
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
S.displayName = "LoaderButton";
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/components/base/buttons/tooltip-button.tsx
|
|
142
|
+
var C = c.forwardRef(({ withTooltip: e, children: t, ...n }, i) => /* @__PURE__ */ f(s, { children: [/* @__PURE__ */ d(a, { render: (a) => /* @__PURE__ */ d(b, {
|
|
143
|
+
...n,
|
|
144
|
+
...a,
|
|
145
|
+
"aria-label": n["aria-label"] ?? e,
|
|
146
|
+
ref: i,
|
|
147
|
+
className: r("tooltip-button--component", a.className, n.className),
|
|
148
|
+
children: t
|
|
149
|
+
}) }), /* @__PURE__ */ d(o, {
|
|
150
|
+
className: "px-2 py-1 text-sm",
|
|
151
|
+
children: e
|
|
152
|
+
})] }));
|
|
153
|
+
C.displayName = "TooltipButton";
|
|
154
|
+
//#endregion
|
|
155
|
+
//#region src/components/base/buttons/button.tsx
|
|
156
|
+
var w = c.forwardRef(({ href: e, withTooltip: t, loading: n, handlesLoading: i, ...c }, l) => {
|
|
157
|
+
let u = n !== void 0 || i ? t ? /* @__PURE__ */ f(s, { children: [/* @__PURE__ */ d(a, { render: (e) => /* @__PURE__ */ d(S, {
|
|
158
|
+
...c,
|
|
159
|
+
...e,
|
|
160
|
+
ref: l,
|
|
161
|
+
loading: n,
|
|
162
|
+
handlesLoading: i,
|
|
163
|
+
"aria-label": c["aria-label"] ?? t,
|
|
164
|
+
className: r("button--component", e.className, c.className),
|
|
165
|
+
children: c.children
|
|
166
|
+
}) }), /* @__PURE__ */ d(o, {
|
|
167
|
+
className: "px-2 py-1 text-sm",
|
|
168
|
+
children: t
|
|
169
|
+
})] }) : /* @__PURE__ */ d(S, {
|
|
170
|
+
ref: l,
|
|
171
|
+
loading: n,
|
|
172
|
+
handlesLoading: i,
|
|
173
|
+
...c
|
|
174
|
+
}) : t ? /* @__PURE__ */ d(C, {
|
|
175
|
+
ref: l,
|
|
176
|
+
withTooltip: t,
|
|
177
|
+
...c
|
|
178
|
+
}) : /* @__PURE__ */ d(b, {
|
|
179
|
+
ref: l,
|
|
180
|
+
...c
|
|
181
|
+
});
|
|
182
|
+
return e ? /* @__PURE__ */ d("a", {
|
|
183
|
+
href: e,
|
|
184
|
+
className: r("inline-flex", c.fullWidth && "w-full"),
|
|
185
|
+
children: u
|
|
186
|
+
}) : u;
|
|
187
|
+
});
|
|
188
|
+
w.displayName = "Button";
|
|
189
|
+
//#endregion
|
|
190
|
+
export { b as i, C as n, S as r, w as t };
|
|
191
|
+
|
|
192
|
+
//# sourceMappingURL=button-Be2ayMxF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-Be2ayMxF.js","names":[],"sources":["../../src/components/base/buttons/base-button.tsx","../../src/components/base/buttons/loader-button.tsx","../../src/components/base/buttons/tooltip-button.tsx","../../src/components/base/buttons/button.tsx"],"sourcesContent":["/**\n * BaseButton — foundational button. Wraps shadcn `Button` with a richer\n * variant × style × package scale (variants: dark / primary / secondary / error /\n * warning / success / light / action; styles: solid / outline / ghost), plus\n * optional left/right `icon` and `fullWidth`.\n */\nimport type { VariantProps } from 'class-variance-authority';\nimport type { LucideIcon } from 'lucide-react';\nimport * as React from 'react';\nimport {\n Button as PrimitiveButton,\n type buttonVariants\n} from '@/components/ui/button';\nimport {\n useButtonConfig,\n useFormsConfig,\n type ButtonSize as ConfiguredButtonSize,\n type ButtonStyle as ConfiguredButtonStyle,\n type FormControlSize,\n} from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nexport type ButtonVariant =\n | 'dark'\n | 'primary'\n | 'secondary'\n | 'error'\n | 'warning'\n | 'success'\n | 'light'\n | 'action';\nexport type ButtonStyle = ConfiguredButtonStyle;\nexport type ButtonSize = ConfiguredButtonSize;\nexport type IconPosition = 'left' | 'right';\n\nexport interface BaseButtonProps\n extends Omit<\n React.ComponentPropsWithoutRef<typeof PrimitiveButton>,\n 'children' | 'variant' | 'size'\n >,\n Omit<VariantProps<typeof buttonVariants>, 'variant' | 'size'> {\n variant?: ButtonVariant;\n buttonStyle?: ButtonStyle;\n size?: ButtonSize;\n fullWidth?: boolean;\n icon?: React.ElementType | LucideIcon;\n iconPosition?: IconPosition;\n children: React.ReactNode;\n}\n\nconst variantStyles: Record<ButtonVariant, Record<ButtonStyle, string>> = {\n dark: {\n solid: 'bg-foreground text-background hover:bg-foreground/90',\n outline: 'border border-foreground/80 text-foreground hover:bg-foreground/8',\n ghost: 'text-foreground hover:bg-foreground/8'\n },\n primary: {\n solid: 'bg-primary text-primary-foreground hover:bg-primary/90',\n outline: 'border border-primary/70 text-primary hover:bg-primary/10',\n ghost: 'text-primary hover:bg-primary/10'\n },\n secondary: {\n solid: 'bg-foreground/8 text-foreground hover:bg-foreground/12',\n outline: 'border border-foreground/15 text-foreground hover:bg-foreground/8',\n ghost: 'text-foreground hover:bg-foreground/8'\n },\n light: {\n solid: 'bg-muted text-muted-foreground hover:bg-muted/80',\n outline: 'border border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground',\n ghost: 'text-muted-foreground hover:bg-accent hover:text-accent-foreground'\n },\n error: {\n solid: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n outline: 'border border-destructive/60 text-destructive hover:bg-destructive/10',\n ghost: 'text-destructive hover:bg-destructive/10'\n },\n warning: {\n solid: 'bg-warning text-warning-foreground hover:bg-warning/90',\n outline: 'border border-warning/70 text-warning-foreground hover:bg-warning/20',\n ghost: 'text-warning-foreground hover:bg-warning/20'\n },\n success: {\n solid: 'bg-success text-success-foreground hover:bg-success/90',\n outline: 'border border-success/60 text-success hover:bg-success/10',\n ghost: 'text-success hover:bg-success/10'\n },\n action: {\n solid: 'bg-info text-info-foreground hover:bg-info/90',\n outline: 'border border-info/60 text-info hover:bg-info/10',\n ghost: 'text-info hover:bg-info/10'\n }\n};\n\nconst sizeStyles: Record<ButtonSize, string> = {\n small: 'h-control-sm gap-space-sm px-control-sm text-sm',\n default: 'h-control gap-space-md px-control text-sm',\n icon: 'size-control p-0 text-sm',\n 'icon-small': 'size-control-sm p-0 text-sm',\n};\n\nconst iconSizeStyles: Record<ButtonSize, string> = {\n small: 'size-icon-sm',\n default: 'size-icon',\n icon: 'size-icon',\n 'icon-small': 'size-icon-sm',\n};\n\nconst primitiveSizeByButtonSize: Record<ButtonSize, NonNullable<React.ComponentPropsWithoutRef<typeof PrimitiveButton>['size']>> = {\n small: 'xs',\n default: 'default',\n icon: 'icon',\n 'icon-small': 'icon-xs',\n};\n\nfunction normalizeButtonSize(size: ButtonSize | string | undefined): ButtonSize {\n if (size === 'small' || size === 'default' || size === 'icon' || size === 'icon-small') {\n return size;\n }\n if (size === 'xs') return 'small';\n if (size === 'icon-xs' || size === 'icon-sm') return 'icon-small';\n if (size === 'sm' || size === 'lg') return 'default';\n if (size === 'icon-lg') return 'icon';\n return 'default';\n}\n\nconst formControlSizeToButtonSize: Record<FormControlSize, ButtonSize> = {\n small: 'small',\n default: 'default',\n};\n\nconst BaseButton = React.forwardRef<HTMLButtonElement, BaseButtonProps>(\n (\n {\n variant = 'primary',\n buttonStyle,\n size: sizeProp,\n fullWidth = false,\n icon: Icon,\n iconPosition = 'left',\n children,\n className,\n disabled,\n ...props\n },\n ref\n ) => {\n const { defaultButtonStyle } = useButtonConfig();\n const { defaultControlSize } = useFormsConfig();\n const resolvedButtonStyle: ButtonStyle =\n buttonStyle ?? defaultButtonStyle ?? 'solid';\n const size = normalizeButtonSize(\n sizeProp ?? formControlSizeToButtonSize[defaultControlSize ?? 'default'],\n );\n const resolvedVariantStyles =\n variantStyles[variant] ?? variantStyles.secondary;\n const resolvedStyleClass =\n resolvedVariantStyles[resolvedButtonStyle] ??\n resolvedVariantStyles.solid ??\n variantStyles.secondary.solid;\n\n const primitiveVariant =\n resolvedButtonStyle === 'outline'\n ? 'outline'\n : resolvedButtonStyle === 'ghost'\n ? 'ghost'\n : 'default';\n\n return (\n <PrimitiveButton\n ref={ref}\n variant={primitiveVariant}\n size={primitiveSizeByButtonSize[size]}\n className={cn('base-button--component',\n resolvedStyleClass,\n 'inline-flex items-center justify-center rounded-radius',\n sizeStyles[size],\n fullWidth && 'w-full',\n className\n )}\n disabled={disabled}\n {...props}\n >\n {!!Icon && iconPosition === 'left' && (\n <Icon\n className={iconSizeStyles[size]}\n aria-hidden=\"true\"\n />\n )}\n {children}\n {!!Icon && iconPosition === 'right' && (\n <Icon\n className={iconSizeStyles[size]}\n aria-hidden=\"true\"\n />\n )}\n </PrimitiveButton>\n );\n }\n);\n\nBaseButton.displayName = 'BaseButton';\n\nexport { BaseButton };\n","import { Loader2 } from 'lucide-react';\nimport * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport { cn } from '@/lib/utils';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { BaseButton, type BaseButtonProps, type ButtonSize } from './base-button';\n\nexport interface LoaderButtonStrings {\n\tloading: string;\n\tcompleted: string;\n}\n\nexport const defaultLoaderButtonStrings: LoaderButtonStrings = {\n\tloading: 'Loading...',\n\tcompleted: 'Completed',\n};\n\n/** @deprecated Use `strings` instead. */\nexport interface LoadingLabels {\n\tloading?: string;\n\tcompleted?: string;\n}\n\nexport interface LoaderButtonProps extends BaseButtonProps {\n\tloading?: boolean;\n\thandlesLoading?: boolean;\n\tstrings?: StringsProp<LoaderButtonStrings>;\n\t/** @deprecated Use `strings` instead. */\n\tloadingLabels?: LoadingLabels;\n}\n\nconst LoaderButton = React.forwardRef<HTMLButtonElement, LoaderButtonProps>(\n\t(\n\t\t{\n\t\t\tloading = false,\n\t\t\thandlesLoading,\n\t\t\tstrings: stringsProp,\n\t\t\tloadingLabels,\n\t\t\ticon: Icon,\n\t\t\ticonPosition = 'left',\n\t\t\tchildren,\n\t\t\tdisabled,\n\t\t\t...props\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst compatibilityStrings = useStrings(defaultLoaderButtonStrings, loadingLabels);\n\t\tconst strings = useStrings(compatibilityStrings, stringsProp);\n\t\tconst [isLoading, setIsLoading] = useState(loading);\n\t\tconst [, setShowCompletedState] = useState(false);\n\n\t\tuseEffect(() => {\n\t\t\tif (loading) {\n\t\t\t\tsetIsLoading(true);\n\t\t\t}\n\t\t}, [loading]);\n\n\t\tuseEffect(() => {\n\t\t\tif (handlesLoading && loading) {\n\t\t\t\tsetIsLoading(true);\n\t\t\t}\n\t\t}, [loading, handlesLoading]);\n\n\t\tuseEffect(() => {\n\t\t\tlet timeoutId: ReturnType<typeof setTimeout>;\n\t\t\tif (!loading && isLoading) {\n\t\t\t\tsetShowCompletedState(true);\n\t\t\t\ttimeoutId = setTimeout(() => {\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\tsetShowCompletedState(false);\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (timeoutId) clearTimeout(timeoutId);\n\t\t\t};\n\t\t}, [loading, isLoading]);\n\n\t\tconst getIconClassName = (size?: ButtonSize) => {\n\t\t\tif (size === 'small' || size === 'icon-small') return 'size-icon-sm';\n\t\t\treturn 'size-icon';\n\t\t};\n\n\t\treturn (\n\t\t\t<BaseButton className=\"loader-button--component\"\n\t\t\t\t{...props}\n\t\t\t\tref={ref}\n\t\t\t\tdisabled={disabled || isLoading}\n\t\t\t>\n\t\t\t\t{!!isLoading && (\n <Loader2\n\t\t\t\t\t\tclassName={cn('animate-spin mr-2', getIconClassName(props.size))}\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t/>\n )}\n\t\t\t\t{!!Icon && iconPosition === 'left' && !isLoading && (\n <Icon\n\t\t\t\t\t\tclassName={cn('opacity-60', getIconClassName(props.size), children && '-ms-1 me-2')}\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t/>\n )}\n\t\t\t\t<span>\n\t\t\t\t\t{!!isLoading && strings.loading}\n\t\t\t\t\t{!isLoading && children}\n\t\t\t\t</span>\n\t\t\t\t{!!Icon && iconPosition === 'right' && !isLoading && (\n <Icon\n\t\t\t\t\t\tclassName={cn('opacity-60', getIconClassName(props.size), children && '-me-1 ms-2')}\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t/>\n )}\n\t\t\t</BaseButton>\n\t\t);\n\t},\n);\n\nLoaderButton.displayName = 'LoaderButton';\n\nexport { LoaderButton };\n","import * as React from 'react';\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipTrigger,\n} from '@/components/base/display/tooltip';\nimport { cn } from '@/lib/utils';\nimport { BaseButton, type BaseButtonProps } from './base-button';\n\nexport interface TooltipButtonProps extends BaseButtonProps {\n\twithTooltip: string;\n}\n\nconst TooltipButton = React.forwardRef<HTMLButtonElement, TooltipButtonProps>(\n\t({ withTooltip, children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<Tooltip>\n\t\t\t\t<TooltipTrigger\n\t\t\t\t\trender={(triggerProps) => (\n\t\t\t\t\t\t<BaseButton\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t\taria-label={props['aria-label'] ?? withTooltip}\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t// `render` merges props, but className needs manual merge.\n\n\t\t\t\t\t\t\tclassName={cn('tooltip-button--component', (triggerProps as { className?: string }).className, props.className)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</BaseButton>\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t\t<TooltipContent className=\"px-2 py-1 text-sm\">\n\t\t\t\t\t{withTooltip}\n\t\t\t\t</TooltipContent>\n\t\t\t</Tooltip>\n\t\t);\n\t},\n);\n\nTooltipButton.displayName = 'TooltipButton';\n\nexport { TooltipButton };\n","/**\n * Button — combo wrapper around BaseButton. Opts in to:\n * - `loading` / `handlesLoading` → wraps in LoaderButton\n * - `withTooltip` → wraps in TooltipButton\n * - `href` → renders an `<a>` around the button\n * Mix freely; only the relevant wrappers are added.\n */\nimport * as React from 'react';\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipTrigger,\n} from '@/components/base/display/tooltip';\nimport { cn } from '@/lib/utils';\nimport { BaseButton, type BaseButtonProps } from './base-button';\nimport { LoaderButton, type LoaderButtonProps } from './loader-button';\nimport { TooltipButton, type TooltipButtonProps } from './tooltip-button';\n\nexport type ButtonProps = BaseButtonProps &\n\tPartial<LoaderButtonProps & TooltipButtonProps> & {\n\t\thref?: string;\n\t};\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(({\n\thref,\n\twithTooltip,\n\tloading,\n\thandlesLoading,\n\t...props\n}, ref) => {\n\tconst inner = (() => {\n\t\tif (loading !== undefined || handlesLoading) {\n\t\t\tif (withTooltip) {\n\t\t\t\treturn (\n\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t<TooltipTrigger\n\t\t\t\t\t\t\trender={(triggerProps) => (\n\t\t\t\t\t\t\t\t<LoaderButton\n\t\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\t\t\thandlesLoading={handlesLoading}\n\t\t\t\t\t\t\t\t\taria-label={props['aria-label'] ?? withTooltip}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'button--component',\n\t\t\t\t\t\t\t\t\t\t(triggerProps as { className?: string }).className,\n\t\t\t\t\t\t\t\t\t\tprops.className,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t</LoaderButton>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TooltipContent className=\"px-2 py-1 text-sm\">\n\t\t\t\t\t\t\t{withTooltip}\n\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn <LoaderButton ref={ref} loading={loading} handlesLoading={handlesLoading} {...props} />;\n\t\t}\n\n\t\tif (withTooltip) {\n\t\t\treturn <TooltipButton ref={ref} withTooltip={withTooltip} {...props} />;\n\t\t}\n\n\t\treturn <BaseButton ref={ref} {...props} />;\n\t})();\n\n\tif (href) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={href}\n\t\t\t\tclassName={cn('inline-flex', props.fullWidth && 'w-full')}\n\t\t\t>\n\t\t\t\t{inner}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn inner;\n});\n\nButton.displayName = 'Button';\n\nexport { Button };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/strings.cjs"),n=require("./ui-provider-CrsJ_dGn.cjs"),r=require("../lib/utils.cjs"),i=require("./button-DEFoa7-c.cjs"),a=require("./tooltip-mvxZV_Lu.cjs");let o=require("react");o=e.t(o,1);let s=require("react/jsx-runtime"),c=require("lucide-react");var l={dark:{solid:`bg-foreground text-background hover:bg-foreground/90`,outline:`border border-foreground/80 text-foreground hover:bg-foreground/8`,ghost:`text-foreground hover:bg-foreground/8`},primary:{solid:`bg-primary text-primary-foreground hover:bg-primary/90`,outline:`border border-primary/70 text-primary hover:bg-primary/10`,ghost:`text-primary hover:bg-primary/10`},secondary:{solid:`bg-foreground/8 text-foreground hover:bg-foreground/12`,outline:`border border-foreground/15 text-foreground hover:bg-foreground/8`,ghost:`text-foreground hover:bg-foreground/8`},light:{solid:`bg-muted text-muted-foreground hover:bg-muted/80`,outline:`border border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground`,ghost:`text-muted-foreground hover:bg-accent hover:text-accent-foreground`},error:{solid:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,outline:`border border-destructive/60 text-destructive hover:bg-destructive/10`,ghost:`text-destructive hover:bg-destructive/10`},warning:{solid:`bg-warning text-warning-foreground hover:bg-warning/90`,outline:`border border-warning/70 text-warning-foreground hover:bg-warning/20`,ghost:`text-warning-foreground hover:bg-warning/20`},success:{solid:`bg-success text-success-foreground hover:bg-success/90`,outline:`border border-success/60 text-success hover:bg-success/10`,ghost:`text-success hover:bg-success/10`},action:{solid:`bg-info text-info-foreground hover:bg-info/90`,outline:`border border-info/60 text-info hover:bg-info/10`,ghost:`text-info hover:bg-info/10`}},u={small:`h-control-sm gap-space-sm px-control-sm text-sm`,default:`h-control gap-space-md px-control text-sm`,icon:`size-control p-0 text-sm`,"icon-small":`size-control-sm p-0 text-sm`},d={small:`size-icon-sm`,default:`size-icon`,icon:`size-icon`,"icon-small":`size-icon-sm`},f={small:`xs`,default:`default`,icon:`icon`,"icon-small":`icon-xs`};function p(e){return e===`small`||e==="default"||e===`icon`||e===`icon-small`?e:e===`xs`?`small`:e===`icon-xs`||e===`icon-sm`?`icon-small`:e===`sm`||e===`lg`?`default`:e===`icon-lg`?`icon`:`default`}var m={small:`small`,default:`default`},h=o.forwardRef(({variant:e=`primary`,buttonStyle:t,size:a,fullWidth:o=!1,icon:c,iconPosition:h=`left`,children:g,className:_,disabled:v,...y},b)=>{let{defaultButtonStyle:x}=n.t(),{defaultControlSize:S}=n.o(),C=t??x??`solid`,w=p(a??m[S??`default`]),T=l[e]??l.secondary,E=T[C]??T.solid??l.secondary.solid;return(0,s.jsxs)(i.t,{ref:b,variant:C===`outline`?`outline`:C===`ghost`?`ghost`:`default`,size:f[w],className:r.cn(`base-button--component`,E,`inline-flex items-center justify-center rounded-radius`,u[w],o&&`w-full`,_),disabled:v,...y,children:[!!c&&h===`left`&&(0,s.jsx)(c,{className:d[w],"aria-hidden":`true`}),g,!!c&&h===`right`&&(0,s.jsx)(c,{className:d[w],"aria-hidden":`true`})]})});h.displayName=`BaseButton`;var g={loading:`Loading...`,completed:`Completed`},_=o.forwardRef(({loading:e=!1,handlesLoading:n,strings:i,loadingLabels:a,icon:l,iconPosition:u=`left`,children:d,disabled:f,...p},m)=>{let _=t.useStrings(t.useStrings(g,a),i),[v,y]=(0,o.useState)(e),[,b]=(0,o.useState)(!1);(0,o.useEffect)(()=>{e&&y(!0)},[e]),(0,o.useEffect)(()=>{n&&e&&y(!0)},[e,n]),(0,o.useEffect)(()=>{let t;return!e&&v&&(b(!0),t=setTimeout(()=>{y(!1),b(!1)},300)),()=>{t&&clearTimeout(t)}},[e,v]);let x=e=>e===`small`||e===`icon-small`?`size-icon-sm`:`size-icon`;return(0,s.jsxs)(h,{className:`loader-button--component`,...p,ref:m,disabled:f||v,children:[!!v&&(0,s.jsx)(c.Loader2,{className:r.cn(`animate-spin mr-2`,x(p.size)),"aria-hidden":`true`}),!!l&&u===`left`&&!v&&(0,s.jsx)(l,{className:r.cn(`opacity-60`,x(p.size),d&&`-ms-1 me-2`),"aria-hidden":`true`}),(0,s.jsxs)(`span`,{children:[!!v&&_.loading,!v&&d]}),!!l&&u===`right`&&!v&&(0,s.jsx)(l,{className:r.cn(`opacity-60`,x(p.size),d&&`-me-1 ms-2`),"aria-hidden":`true`})]})});_.displayName=`LoaderButton`;var v=o.forwardRef(({withTooltip:e,children:t,...n},i)=>(0,s.jsxs)(a.t,{children:[(0,s.jsx)(a.i,{render:a=>(0,s.jsx)(h,{...n,...a,"aria-label":n[`aria-label`]??e,ref:i,className:r.cn(`tooltip-button--component`,a.className,n.className),children:t})}),(0,s.jsx)(a.n,{className:`px-2 py-1 text-sm`,children:e})]}));v.displayName=`TooltipButton`;var y=o.forwardRef(({href:e,withTooltip:t,loading:n,handlesLoading:i,...o},c)=>{let l=n!==void 0||i?t?(0,s.jsxs)(a.t,{children:[(0,s.jsx)(a.i,{render:e=>(0,s.jsx)(_,{...o,...e,ref:c,loading:n,handlesLoading:i,"aria-label":o[`aria-label`]??t,className:r.cn(`button--component`,e.className,o.className),children:o.children})}),(0,s.jsx)(a.n,{className:`px-2 py-1 text-sm`,children:t})]}):(0,s.jsx)(_,{ref:c,loading:n,handlesLoading:i,...o}):t?(0,s.jsx)(v,{ref:c,withTooltip:t,...o}):(0,s.jsx)(h,{ref:c,...o});return e?(0,s.jsx)(`a`,{href:e,className:r.cn(`inline-flex`,o.fullWidth&&`w-full`),children:l}):l});y.displayName=`Button`,Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return y}});
|
|
2
|
+
//# sourceMappingURL=button-CfQtOuBK.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-CfQtOuBK.cjs","names":[],"sources":["../../src/components/base/buttons/base-button.tsx","../../src/components/base/buttons/loader-button.tsx","../../src/components/base/buttons/tooltip-button.tsx","../../src/components/base/buttons/button.tsx"],"sourcesContent":["/**\n * BaseButton — foundational button. Wraps shadcn `Button` with a richer\n * variant × style × package scale (variants: dark / primary / secondary / error /\n * warning / success / light / action; styles: solid / outline / ghost), plus\n * optional left/right `icon` and `fullWidth`.\n */\nimport type { VariantProps } from 'class-variance-authority';\nimport type { LucideIcon } from 'lucide-react';\nimport * as React from 'react';\nimport {\n Button as PrimitiveButton,\n type buttonVariants\n} from '@/components/ui/button';\nimport {\n useButtonConfig,\n useFormsConfig,\n type ButtonSize as ConfiguredButtonSize,\n type ButtonStyle as ConfiguredButtonStyle,\n type FormControlSize,\n} from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nexport type ButtonVariant =\n | 'dark'\n | 'primary'\n | 'secondary'\n | 'error'\n | 'warning'\n | 'success'\n | 'light'\n | 'action';\nexport type ButtonStyle = ConfiguredButtonStyle;\nexport type ButtonSize = ConfiguredButtonSize;\nexport type IconPosition = 'left' | 'right';\n\nexport interface BaseButtonProps\n extends Omit<\n React.ComponentPropsWithoutRef<typeof PrimitiveButton>,\n 'children' | 'variant' | 'size'\n >,\n Omit<VariantProps<typeof buttonVariants>, 'variant' | 'size'> {\n variant?: ButtonVariant;\n buttonStyle?: ButtonStyle;\n size?: ButtonSize;\n fullWidth?: boolean;\n icon?: React.ElementType | LucideIcon;\n iconPosition?: IconPosition;\n children: React.ReactNode;\n}\n\nconst variantStyles: Record<ButtonVariant, Record<ButtonStyle, string>> = {\n dark: {\n solid: 'bg-foreground text-background hover:bg-foreground/90',\n outline: 'border border-foreground/80 text-foreground hover:bg-foreground/8',\n ghost: 'text-foreground hover:bg-foreground/8'\n },\n primary: {\n solid: 'bg-primary text-primary-foreground hover:bg-primary/90',\n outline: 'border border-primary/70 text-primary hover:bg-primary/10',\n ghost: 'text-primary hover:bg-primary/10'\n },\n secondary: {\n solid: 'bg-foreground/8 text-foreground hover:bg-foreground/12',\n outline: 'border border-foreground/15 text-foreground hover:bg-foreground/8',\n ghost: 'text-foreground hover:bg-foreground/8'\n },\n light: {\n solid: 'bg-muted text-muted-foreground hover:bg-muted/80',\n outline: 'border border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground',\n ghost: 'text-muted-foreground hover:bg-accent hover:text-accent-foreground'\n },\n error: {\n solid: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n outline: 'border border-destructive/60 text-destructive hover:bg-destructive/10',\n ghost: 'text-destructive hover:bg-destructive/10'\n },\n warning: {\n solid: 'bg-warning text-warning-foreground hover:bg-warning/90',\n outline: 'border border-warning/70 text-warning-foreground hover:bg-warning/20',\n ghost: 'text-warning-foreground hover:bg-warning/20'\n },\n success: {\n solid: 'bg-success text-success-foreground hover:bg-success/90',\n outline: 'border border-success/60 text-success hover:bg-success/10',\n ghost: 'text-success hover:bg-success/10'\n },\n action: {\n solid: 'bg-info text-info-foreground hover:bg-info/90',\n outline: 'border border-info/60 text-info hover:bg-info/10',\n ghost: 'text-info hover:bg-info/10'\n }\n};\n\nconst sizeStyles: Record<ButtonSize, string> = {\n small: 'h-control-sm gap-space-sm px-control-sm text-sm',\n default: 'h-control gap-space-md px-control text-sm',\n icon: 'size-control p-0 text-sm',\n 'icon-small': 'size-control-sm p-0 text-sm',\n};\n\nconst iconSizeStyles: Record<ButtonSize, string> = {\n small: 'size-icon-sm',\n default: 'size-icon',\n icon: 'size-icon',\n 'icon-small': 'size-icon-sm',\n};\n\nconst primitiveSizeByButtonSize: Record<ButtonSize, NonNullable<React.ComponentPropsWithoutRef<typeof PrimitiveButton>['size']>> = {\n small: 'xs',\n default: 'default',\n icon: 'icon',\n 'icon-small': 'icon-xs',\n};\n\nfunction normalizeButtonSize(size: ButtonSize | string | undefined): ButtonSize {\n if (size === 'small' || size === 'default' || size === 'icon' || size === 'icon-small') {\n return size;\n }\n if (size === 'xs') return 'small';\n if (size === 'icon-xs' || size === 'icon-sm') return 'icon-small';\n if (size === 'sm' || size === 'lg') return 'default';\n if (size === 'icon-lg') return 'icon';\n return 'default';\n}\n\nconst formControlSizeToButtonSize: Record<FormControlSize, ButtonSize> = {\n small: 'small',\n default: 'default',\n};\n\nconst BaseButton = React.forwardRef<HTMLButtonElement, BaseButtonProps>(\n (\n {\n variant = 'primary',\n buttonStyle,\n size: sizeProp,\n fullWidth = false,\n icon: Icon,\n iconPosition = 'left',\n children,\n className,\n disabled,\n ...props\n },\n ref\n ) => {\n const { defaultButtonStyle } = useButtonConfig();\n const { defaultControlSize } = useFormsConfig();\n const resolvedButtonStyle: ButtonStyle =\n buttonStyle ?? defaultButtonStyle ?? 'solid';\n const size = normalizeButtonSize(\n sizeProp ?? formControlSizeToButtonSize[defaultControlSize ?? 'default'],\n );\n const resolvedVariantStyles =\n variantStyles[variant] ?? variantStyles.secondary;\n const resolvedStyleClass =\n resolvedVariantStyles[resolvedButtonStyle] ??\n resolvedVariantStyles.solid ??\n variantStyles.secondary.solid;\n\n const primitiveVariant =\n resolvedButtonStyle === 'outline'\n ? 'outline'\n : resolvedButtonStyle === 'ghost'\n ? 'ghost'\n : 'default';\n\n return (\n <PrimitiveButton\n ref={ref}\n variant={primitiveVariant}\n size={primitiveSizeByButtonSize[size]}\n className={cn('base-button--component',\n resolvedStyleClass,\n 'inline-flex items-center justify-center rounded-radius',\n sizeStyles[size],\n fullWidth && 'w-full',\n className\n )}\n disabled={disabled}\n {...props}\n >\n {!!Icon && iconPosition === 'left' && (\n <Icon\n className={iconSizeStyles[size]}\n aria-hidden=\"true\"\n />\n )}\n {children}\n {!!Icon && iconPosition === 'right' && (\n <Icon\n className={iconSizeStyles[size]}\n aria-hidden=\"true\"\n />\n )}\n </PrimitiveButton>\n );\n }\n);\n\nBaseButton.displayName = 'BaseButton';\n\nexport { BaseButton };\n","import { Loader2 } from 'lucide-react';\nimport * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport { cn } from '@/lib/utils';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { BaseButton, type BaseButtonProps, type ButtonSize } from './base-button';\n\nexport interface LoaderButtonStrings {\n\tloading: string;\n\tcompleted: string;\n}\n\nexport const defaultLoaderButtonStrings: LoaderButtonStrings = {\n\tloading: 'Loading...',\n\tcompleted: 'Completed',\n};\n\n/** @deprecated Use `strings` instead. */\nexport interface LoadingLabels {\n\tloading?: string;\n\tcompleted?: string;\n}\n\nexport interface LoaderButtonProps extends BaseButtonProps {\n\tloading?: boolean;\n\thandlesLoading?: boolean;\n\tstrings?: StringsProp<LoaderButtonStrings>;\n\t/** @deprecated Use `strings` instead. */\n\tloadingLabels?: LoadingLabels;\n}\n\nconst LoaderButton = React.forwardRef<HTMLButtonElement, LoaderButtonProps>(\n\t(\n\t\t{\n\t\t\tloading = false,\n\t\t\thandlesLoading,\n\t\t\tstrings: stringsProp,\n\t\t\tloadingLabels,\n\t\t\ticon: Icon,\n\t\t\ticonPosition = 'left',\n\t\t\tchildren,\n\t\t\tdisabled,\n\t\t\t...props\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst compatibilityStrings = useStrings(defaultLoaderButtonStrings, loadingLabels);\n\t\tconst strings = useStrings(compatibilityStrings, stringsProp);\n\t\tconst [isLoading, setIsLoading] = useState(loading);\n\t\tconst [, setShowCompletedState] = useState(false);\n\n\t\tuseEffect(() => {\n\t\t\tif (loading) {\n\t\t\t\tsetIsLoading(true);\n\t\t\t}\n\t\t}, [loading]);\n\n\t\tuseEffect(() => {\n\t\t\tif (handlesLoading && loading) {\n\t\t\t\tsetIsLoading(true);\n\t\t\t}\n\t\t}, [loading, handlesLoading]);\n\n\t\tuseEffect(() => {\n\t\t\tlet timeoutId: ReturnType<typeof setTimeout>;\n\t\t\tif (!loading && isLoading) {\n\t\t\t\tsetShowCompletedState(true);\n\t\t\t\ttimeoutId = setTimeout(() => {\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\tsetShowCompletedState(false);\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (timeoutId) clearTimeout(timeoutId);\n\t\t\t};\n\t\t}, [loading, isLoading]);\n\n\t\tconst getIconClassName = (size?: ButtonSize) => {\n\t\t\tif (size === 'small' || size === 'icon-small') return 'size-icon-sm';\n\t\t\treturn 'size-icon';\n\t\t};\n\n\t\treturn (\n\t\t\t<BaseButton className=\"loader-button--component\"\n\t\t\t\t{...props}\n\t\t\t\tref={ref}\n\t\t\t\tdisabled={disabled || isLoading}\n\t\t\t>\n\t\t\t\t{!!isLoading && (\n <Loader2\n\t\t\t\t\t\tclassName={cn('animate-spin mr-2', getIconClassName(props.size))}\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t/>\n )}\n\t\t\t\t{!!Icon && iconPosition === 'left' && !isLoading && (\n <Icon\n\t\t\t\t\t\tclassName={cn('opacity-60', getIconClassName(props.size), children && '-ms-1 me-2')}\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t/>\n )}\n\t\t\t\t<span>\n\t\t\t\t\t{!!isLoading && strings.loading}\n\t\t\t\t\t{!isLoading && children}\n\t\t\t\t</span>\n\t\t\t\t{!!Icon && iconPosition === 'right' && !isLoading && (\n <Icon\n\t\t\t\t\t\tclassName={cn('opacity-60', getIconClassName(props.size), children && '-me-1 ms-2')}\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t/>\n )}\n\t\t\t</BaseButton>\n\t\t);\n\t},\n);\n\nLoaderButton.displayName = 'LoaderButton';\n\nexport { LoaderButton };\n","import * as React from 'react';\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipTrigger,\n} from '@/components/base/display/tooltip';\nimport { cn } from '@/lib/utils';\nimport { BaseButton, type BaseButtonProps } from './base-button';\n\nexport interface TooltipButtonProps extends BaseButtonProps {\n\twithTooltip: string;\n}\n\nconst TooltipButton = React.forwardRef<HTMLButtonElement, TooltipButtonProps>(\n\t({ withTooltip, children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<Tooltip>\n\t\t\t\t<TooltipTrigger\n\t\t\t\t\trender={(triggerProps) => (\n\t\t\t\t\t\t<BaseButton\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t\taria-label={props['aria-label'] ?? withTooltip}\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t// `render` merges props, but className needs manual merge.\n\n\t\t\t\t\t\t\tclassName={cn('tooltip-button--component', (triggerProps as { className?: string }).className, props.className)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</BaseButton>\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t\t<TooltipContent className=\"px-2 py-1 text-sm\">\n\t\t\t\t\t{withTooltip}\n\t\t\t\t</TooltipContent>\n\t\t\t</Tooltip>\n\t\t);\n\t},\n);\n\nTooltipButton.displayName = 'TooltipButton';\n\nexport { TooltipButton };\n","/**\n * Button — combo wrapper around BaseButton. Opts in to:\n * - `loading` / `handlesLoading` → wraps in LoaderButton\n * - `withTooltip` → wraps in TooltipButton\n * - `href` → renders an `<a>` around the button\n * Mix freely; only the relevant wrappers are added.\n */\nimport * as React from 'react';\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipTrigger,\n} from '@/components/base/display/tooltip';\nimport { cn } from '@/lib/utils';\nimport { BaseButton, type BaseButtonProps } from './base-button';\nimport { LoaderButton, type LoaderButtonProps } from './loader-button';\nimport { TooltipButton, type TooltipButtonProps } from './tooltip-button';\n\nexport type ButtonProps = BaseButtonProps &\n\tPartial<LoaderButtonProps & TooltipButtonProps> & {\n\t\thref?: string;\n\t};\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(({\n\thref,\n\twithTooltip,\n\tloading,\n\thandlesLoading,\n\t...props\n}, ref) => {\n\tconst inner = (() => {\n\t\tif (loading !== undefined || handlesLoading) {\n\t\t\tif (withTooltip) {\n\t\t\t\treturn (\n\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t<TooltipTrigger\n\t\t\t\t\t\t\trender={(triggerProps) => (\n\t\t\t\t\t\t\t\t<LoaderButton\n\t\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\t\t\thandlesLoading={handlesLoading}\n\t\t\t\t\t\t\t\t\taria-label={props['aria-label'] ?? withTooltip}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'button--component',\n\t\t\t\t\t\t\t\t\t\t(triggerProps as { className?: string }).className,\n\t\t\t\t\t\t\t\t\t\tprops.className,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t\t\t</LoaderButton>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TooltipContent className=\"px-2 py-1 text-sm\">\n\t\t\t\t\t\t\t{withTooltip}\n\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn <LoaderButton ref={ref} loading={loading} handlesLoading={handlesLoading} {...props} />;\n\t\t}\n\n\t\tif (withTooltip) {\n\t\t\treturn <TooltipButton ref={ref} withTooltip={withTooltip} {...props} />;\n\t\t}\n\n\t\treturn <BaseButton ref={ref} {...props} />;\n\t})();\n\n\tif (href) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={href}\n\t\t\t\tclassName={cn('inline-flex', props.fullWidth && 'w-full')}\n\t\t\t>\n\t\t\t\t{inner}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn inner;\n});\n\nButton.displayName = 'Button';\n\nexport { Button };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./chunk-CMqjfN_6.cjs"),t=require("./ui-provider-CrsJ_dGn.cjs"),n=require("../lib/utils.cjs"),r=require("./button-CfQtOuBK.cjs");let i=require("react");i=e.t(i,1);let a=require("react/jsx-runtime"),o=require("lucide-react");var s=()=>(0,a.jsxs)(`svg`,{"aria-hidden":`true`,className:`h-4 w-4`,width:`256`,height:`262`,viewBox:`0 0 256 262`,xmlns:`http://www.w3.org/2000/svg`,preserveAspectRatio:`xMidYMid`,children:[(0,a.jsx)(`path`,{d:`M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027`,fill:`#4285F4`}),(0,a.jsx)(`path`,{d:`M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1`,fill:`#34A853`}),(0,a.jsx)(`path`,{d:`M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782`,fill:`#FBBC05`}),(0,a.jsx)(`path`,{d:`M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251`,fill:`#EB4335`})]});function c({children:e,className:t,type:i=`button`,href:o,...c}){let l=(0,a.jsx)(r.i,{icon:s,iconPosition:`left`,fullWidth:!0,className:n.cn(`bg-foreground text-background ring-offset-background hover:bg-foreground/85 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,t),type:i,...c,children:e});return o?(0,a.jsx)(`a`,{href:o,className:n.cn(`google-button--component`,`inline-flex w-full`),children:l}):l}function l(e){let{resource:t,id:n,text:s,fullWidth:c,className:l,adminUrl:u}=e,d={...e};delete d.resource,delete d.id,delete d.text,delete d.fullWidth,delete d.className,delete d.adminUrl;let f=e.resource===`product_variants`?e.productId:null;return e.resource===`product_variants`&&delete d.productId,(0,a.jsx)(`a`,{href:(0,i.useMemo)(()=>{let e=(u??``).replace(/\/$/,``);return{orders:`${e}/orders/${n}`,products:`${e}/products/${n}`,product_variants:f?`${e}/products/${f}/variants/${n}`:`${e}/products/${n}`,customers:`${e}/customers/${n}`,draft_orders:`${e}/draft_orders/${n}`,collections:`${e}/collections/${n}`,discounts:`${e}/discounts/${n}`}[t]},[u,t,n,f]),target:`_blank`,rel:`noopener noreferrer`,className:`flex ${c?`w-full`:``}`,children:(0,a.jsx)(r.i,{...d,className:l,icon:o.ShoppingBag,iconPosition:`left`,children:s})})}l.displayName=`ShopifyButton`;var u={small:`small`,default:`default`},d={small:`small`,default:`default`},f={small:`text-sm h-auto px-0`,default:`text-sm h-auto px-0`},p=i.forwardRef(({className:e,type:i=`button`,size:o,disabled:s,...c},l)=>{let{defaultControlSize:p}=t.o(),m=o??d[p??`default`]??`default`;return(0,a.jsx)(r.i,{ref:l,type:i,variant:`primary`,buttonStyle:`ghost`,size:u[m],disabled:s,className:n.cn(`text-button--component`,`inline-flex items-center justify-center underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current`,`text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`disabled:pointer-events-none disabled:opacity-50`,f[m],e),...c})});p.displayName=`TextButton`;var m={small:`small`,default:`default`},h={small:`h-control-sm px-control-sm text-sm`,default:`h-control px-control text-sm`},g=i.forwardRef(({variant:e=`secondary`,size:t,className:i,...o},s)=>{let c=e===`error`?`error`:e,l=t??`small`;return(0,a.jsx)(r.i,{ref:s,variant:c,buttonStyle:`solid`,size:m[l],className:n.cn(`page-action-button--component`,h[l],`shadow-none`,i),...o})});g.displayName=`PageActionButton`,Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return g}});
|
|
2
|
+
//# sourceMappingURL=buttons-DABiSx6N.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buttons-DABiSx6N.cjs","names":[],"sources":["../../src/components/base/buttons/google-button.tsx","../../src/components/base/buttons/shopify-button.tsx","../../src/components/base/buttons/text-button.tsx","../../src/components/base/buttons/page-action-button.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\nimport { BaseButton, type BaseButtonProps } from './base-button';\n\ntype GoogleButtonProps = Omit<BaseButtonProps, 'icon' | 'iconPosition' | 'fullWidth'> & {\n\thref?: string;\n};\n\n// Google brand mark — colors are dictated by Google's brand guidelines and\n// must not be themed. Do not replace with semantic tokens.\nconst GoogleIcon = () => (\n\t<svg\n\t\taria-hidden=\"true\"\n\t\tclassName=\"h-4 w-4\"\n\t\twidth=\"256\"\n\t\theight=\"262\"\n\t\tviewBox=\"0 0 256 262\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tpreserveAspectRatio=\"xMidYMid\"\n\t>\n\t\t<path\n\t\t\td=\"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\"\n\t\t\tfill=\"#4285F4\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\"\n\t\t\tfill=\"#34A853\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782\"\n\t\t\tfill=\"#FBBC05\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\"\n\t\t\tfill=\"#EB4335\"\n\t\t/>\n\t</svg>\n);\n\nfunction GoogleButton({ children, className, type = 'button', href, ...props }: GoogleButtonProps) {\n\tconst button = (\n\t\t<BaseButton\n\t\t\ticon={GoogleIcon}\n\t\t\ticonPosition=\"left\"\n\t\t\tfullWidth\n\t\t\tclassName={cn(\n\t\t\t\t'bg-foreground text-background ring-offset-background hover:bg-foreground/85 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\ttype={type}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</BaseButton>\n\t);\n\n\tif (href) {\n\t\treturn (\n\t\t\t<a href={href} className={cn('google-button--component', 'inline-flex w-full')}>\n\t\t\t\t{button}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn button;\n}\n\nexport { GoogleButton };\n","import { useMemo } from 'react';\nimport { ShoppingBag } from 'lucide-react';\nimport { BaseButton, type BaseButtonProps } from './base-button';\n\ntype ShopifyResource =\n\t| 'orders'\n\t| 'products'\n\t| 'product_variants'\n\t| 'customers'\n\t| 'draft_orders'\n\t| 'collections'\n\t| 'discounts';\n\ntype ShopifyButtonProps =\n\t| (Omit<BaseButtonProps, 'children'> & {\n\t\t\tresource: Exclude<ShopifyResource, 'product_variants'>;\n\t\t\tid: string | number;\n\t\t\ttext: string;\n\t\t\tadminUrl?: string;\n\t\t})\n\t| (Omit<BaseButtonProps, 'children'> & {\n\t\t\tresource: 'product_variants';\n\t\t\tproductId: string | number;\n\t\t\tid: string | number;\n\t\t\ttext: string;\n\t\t\tadminUrl?: string;\n\t\t});\n\nexport function ShopifyButton(props: ShopifyButtonProps) {\n\tconst { resource, id, text, fullWidth, className, adminUrl } = props;\n\tconst buttonProps = { ...props };\n\tdelete (buttonProps as Partial<typeof props>).resource;\n\tdelete (buttonProps as Partial<typeof props>).id;\n\tdelete (buttonProps as Partial<typeof props>).text;\n\tdelete (buttonProps as Partial<typeof props>).fullWidth;\n\tdelete (buttonProps as Partial<typeof props>).className;\n\tdelete (buttonProps as { adminUrl?: string }).adminUrl;\n\n\tconst productId = props.resource === 'product_variants' ? props.productId : null;\n\tif (props.resource === 'product_variants') {\n\t\tdelete (buttonProps as { productId?: unknown }).productId;\n\t}\n\n\tconst href = useMemo(() => {\n\t\tconst base = (adminUrl ?? '').replace(/\\/$/, '');\n\t\tconst map: Record<ShopifyResource, string> = {\n\t\t\torders: `${base}/orders/${id}`,\n\t\t\tproducts: `${base}/products/${id}`,\n\t\t\tproduct_variants: productId ? `${base}/products/${productId}/variants/${id}` : `${base}/products/${id}`,\n\t\t\tcustomers: `${base}/customers/${id}`,\n\t\t\tdraft_orders: `${base}/draft_orders/${id}`,\n\t\t\tcollections: `${base}/collections/${id}`,\n\t\t\tdiscounts: `${base}/discounts/${id}`,\n\t\t};\n\t\treturn map[resource];\n\t}, [adminUrl, resource, id, productId]);\n\n\treturn (\n\t\t<a\n\t\t\thref={href}\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noopener noreferrer\"\n\t\t\tclassName={`flex ${fullWidth ? 'w-full' : ''}`}\n\t\t>\n\t\t\t<BaseButton\n\t\t\t\t{...buttonProps}\n\t\t\t\tclassName={className}\n\t\t\t\ticon={ShoppingBag}\n\t\t\t\ticonPosition=\"left\"\n\t\t\t>\n\t\t\t\t{text}\n\t\t\t</BaseButton>\n\t\t</a>\n\t);\n}\n\nexport default ShopifyButton;\n\nShopifyButton.displayName = 'ShopifyButton';\n","/**\n * TextButton — link-styled button (underline, primary tint, no padding).\n *\n * Wraps `BaseButton` with `variant=\"primary\" buttonStyle=\"ghost\"`. Routine\n * usage omits `size`; `default` and `small` are the only public scale overrides.\n */\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { BaseButton } from './base-button';\n\ntype TextButtonSize = 'small' | 'default';\n\nconst baseButtonSizeMap: Record<TextButtonSize, 'small' | 'default'> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nconst providerSizeMap: Record<FormControlSize, TextButtonSize> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nconst sizeClasses: Record<TextButtonSize, string> = {\n\tsmall: 'text-sm h-auto px-0',\n\tdefault: 'text-sm h-auto px-0',\n};\n\nexport type TextButtonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'> & {\n\tsize?: TextButtonSize;\n\tchildren: React.ReactNode;\n};\n\nexport const TextButton = React.forwardRef<HTMLButtonElement, TextButtonProps>(\n\t({ className, type = 'button', size, disabled, ...props }, ref) => {\n\t\tconst { defaultControlSize } = useFormsConfig();\n\t\tconst resolvedSize: TextButtonSize =\n\t\t\tsize ?? providerSizeMap[defaultControlSize ?? 'default'] ?? 'default';\n\t\treturn (\n\t\t\t<BaseButton\n\t\t\t\tref={ref}\n\t\t\t\ttype={type}\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\tsize={baseButtonSizeMap[resolvedSize]}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName={cn('text-button--component', \n\t\t\t\t\t'inline-flex items-center justify-center underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current',\n\t\t\t\t\t'text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\t\t'disabled:pointer-events-none disabled:opacity-50',\n\t\t\t\t\tsizeClasses[resolvedSize],\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nTextButton.displayName = 'TextButton';\n","import * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { BaseButton, type ButtonStyle, type ButtonVariant } from './base-button';\n\nexport type PageActionButtonVariant =\n\t| 'primary'\n\t| 'secondary'\n\t| 'error';\n\ntype PageActionButtonSize = 'small' | 'default';\nconst baseButtonSizeMap: Record<PageActionButtonSize, 'small' | 'default'> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nexport type PageActionButtonProps = Omit<\n\tReact.ComponentPropsWithoutRef<typeof BaseButton>,\n\t'variant' | 'buttonStyle' | 'size'\n> & {\n\tvariant?: PageActionButtonVariant;\n\tsize?: PageActionButtonSize;\n};\n\nconst sizeClasses: Record<PageActionButtonSize, string> = {\n\tsmall: 'h-control-sm px-control-sm text-sm',\n\tdefault: 'h-control px-control text-sm',\n};\n\nexport const PageActionButton = React.forwardRef<\n\tHTMLButtonElement,\n\tPageActionButtonProps\n>(({ variant = 'secondary', size, className, ...props }, ref) => {\n\tconst resolvedVariant: ButtonVariant = variant === 'error' ? 'error' : variant;\n\tconst resolvedStyle: ButtonStyle = 'solid';\n\tconst resolvedSize: PageActionButtonSize = size ?? 'small';\n\n\treturn (\n\t\t<BaseButton\n\t\t\tref={ref}\n\t\t\tvariant={resolvedVariant}\n\t\t\tbuttonStyle={resolvedStyle}\n\t\t\tsize={baseButtonSizeMap[resolvedSize]}\n\t\t\tclassName={cn('page-action-button--component', sizeClasses[resolvedSize], 'shadow-none', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nPageActionButton.displayName = 'PageActionButton';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { o as e } from "./ui-provider-Dz2qXgZQ.js";
|
|
2
|
+
import { cn as t } from "../lib/utils.js";
|
|
3
|
+
import { i as n } from "./button-Be2ayMxF.js";
|
|
4
|
+
import * as r from "react";
|
|
5
|
+
import { useMemo as i } from "react";
|
|
6
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
|
+
import { ShoppingBag as s } from "lucide-react";
|
|
8
|
+
//#region src/components/base/buttons/google-button.tsx
|
|
9
|
+
var c = () => /* @__PURE__ */ o("svg", {
|
|
10
|
+
"aria-hidden": "true",
|
|
11
|
+
className: "h-4 w-4",
|
|
12
|
+
width: "256",
|
|
13
|
+
height: "262",
|
|
14
|
+
viewBox: "0 0 256 262",
|
|
15
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
16
|
+
preserveAspectRatio: "xMidYMid",
|
|
17
|
+
children: [
|
|
18
|
+
/* @__PURE__ */ a("path", {
|
|
19
|
+
d: "M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027",
|
|
20
|
+
fill: "#4285F4"
|
|
21
|
+
}),
|
|
22
|
+
/* @__PURE__ */ a("path", {
|
|
23
|
+
d: "M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1",
|
|
24
|
+
fill: "#34A853"
|
|
25
|
+
}),
|
|
26
|
+
/* @__PURE__ */ a("path", {
|
|
27
|
+
d: "M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782",
|
|
28
|
+
fill: "#FBBC05"
|
|
29
|
+
}),
|
|
30
|
+
/* @__PURE__ */ a("path", {
|
|
31
|
+
d: "M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251",
|
|
32
|
+
fill: "#EB4335"
|
|
33
|
+
})
|
|
34
|
+
]
|
|
35
|
+
});
|
|
36
|
+
function l({ children: e, className: r, type: i = "button", href: o, ...s }) {
|
|
37
|
+
let l = /* @__PURE__ */ a(n, {
|
|
38
|
+
icon: c,
|
|
39
|
+
iconPosition: "left",
|
|
40
|
+
fullWidth: !0,
|
|
41
|
+
className: t("bg-foreground text-background ring-offset-background hover:bg-foreground/85 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", r),
|
|
42
|
+
type: i,
|
|
43
|
+
...s,
|
|
44
|
+
children: e
|
|
45
|
+
});
|
|
46
|
+
return o ? /* @__PURE__ */ a("a", {
|
|
47
|
+
href: o,
|
|
48
|
+
className: t("google-button--component", "inline-flex w-full"),
|
|
49
|
+
children: l
|
|
50
|
+
}) : l;
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/components/base/buttons/shopify-button.tsx
|
|
54
|
+
function u(e) {
|
|
55
|
+
let { resource: t, id: r, text: o, fullWidth: c, className: l, adminUrl: u } = e, d = { ...e };
|
|
56
|
+
delete d.resource, delete d.id, delete d.text, delete d.fullWidth, delete d.className, delete d.adminUrl;
|
|
57
|
+
let f = e.resource === "product_variants" ? e.productId : null;
|
|
58
|
+
return e.resource === "product_variants" && delete d.productId, /* @__PURE__ */ a("a", {
|
|
59
|
+
href: i(() => {
|
|
60
|
+
let e = (u ?? "").replace(/\/$/, "");
|
|
61
|
+
return {
|
|
62
|
+
orders: `${e}/orders/${r}`,
|
|
63
|
+
products: `${e}/products/${r}`,
|
|
64
|
+
product_variants: f ? `${e}/products/${f}/variants/${r}` : `${e}/products/${r}`,
|
|
65
|
+
customers: `${e}/customers/${r}`,
|
|
66
|
+
draft_orders: `${e}/draft_orders/${r}`,
|
|
67
|
+
collections: `${e}/collections/${r}`,
|
|
68
|
+
discounts: `${e}/discounts/${r}`
|
|
69
|
+
}[t];
|
|
70
|
+
}, [
|
|
71
|
+
u,
|
|
72
|
+
t,
|
|
73
|
+
r,
|
|
74
|
+
f
|
|
75
|
+
]),
|
|
76
|
+
target: "_blank",
|
|
77
|
+
rel: "noopener noreferrer",
|
|
78
|
+
className: `flex ${c ? "w-full" : ""}`,
|
|
79
|
+
children: /* @__PURE__ */ a(n, {
|
|
80
|
+
...d,
|
|
81
|
+
className: l,
|
|
82
|
+
icon: s,
|
|
83
|
+
iconPosition: "left",
|
|
84
|
+
children: o
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
u.displayName = "ShopifyButton";
|
|
89
|
+
//#endregion
|
|
90
|
+
//#region src/components/base/buttons/text-button.tsx
|
|
91
|
+
var d = {
|
|
92
|
+
small: "small",
|
|
93
|
+
default: "default"
|
|
94
|
+
}, f = {
|
|
95
|
+
small: "small",
|
|
96
|
+
default: "default"
|
|
97
|
+
}, p = {
|
|
98
|
+
small: "text-sm h-auto px-0",
|
|
99
|
+
default: "text-sm h-auto px-0"
|
|
100
|
+
}, m = r.forwardRef(({ className: r, type: i = "button", size: o, disabled: s, ...c }, l) => {
|
|
101
|
+
let { defaultControlSize: u } = e(), m = o ?? f[u ?? "default"] ?? "default";
|
|
102
|
+
return /* @__PURE__ */ a(n, {
|
|
103
|
+
ref: l,
|
|
104
|
+
type: i,
|
|
105
|
+
variant: "primary",
|
|
106
|
+
buttonStyle: "ghost",
|
|
107
|
+
size: d[m],
|
|
108
|
+
disabled: s,
|
|
109
|
+
className: t("text-button--component", "inline-flex items-center justify-center underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current", "text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", "disabled:pointer-events-none disabled:opacity-50", p[m], r),
|
|
110
|
+
...c
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
m.displayName = "TextButton";
|
|
114
|
+
//#endregion
|
|
115
|
+
//#region src/components/base/buttons/page-action-button.tsx
|
|
116
|
+
var h = {
|
|
117
|
+
small: "small",
|
|
118
|
+
default: "default"
|
|
119
|
+
}, g = {
|
|
120
|
+
small: "h-control-sm px-control-sm text-sm",
|
|
121
|
+
default: "h-control px-control text-sm"
|
|
122
|
+
}, _ = r.forwardRef(({ variant: e = "secondary", size: r, className: i, ...o }, s) => {
|
|
123
|
+
let c = e === "error" ? "error" : e, l = r ?? "small";
|
|
124
|
+
return /* @__PURE__ */ a(n, {
|
|
125
|
+
ref: s,
|
|
126
|
+
variant: c,
|
|
127
|
+
buttonStyle: "solid",
|
|
128
|
+
size: h[l],
|
|
129
|
+
className: t("page-action-button--component", g[l], "shadow-none", i),
|
|
130
|
+
...o
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
_.displayName = "PageActionButton";
|
|
134
|
+
//#endregion
|
|
135
|
+
export { l as i, m as n, u as r, _ as t };
|
|
136
|
+
|
|
137
|
+
//# sourceMappingURL=buttons-DYQqQPpk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buttons-DYQqQPpk.js","names":[],"sources":["../../src/components/base/buttons/google-button.tsx","../../src/components/base/buttons/shopify-button.tsx","../../src/components/base/buttons/text-button.tsx","../../src/components/base/buttons/page-action-button.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\nimport { BaseButton, type BaseButtonProps } from './base-button';\n\ntype GoogleButtonProps = Omit<BaseButtonProps, 'icon' | 'iconPosition' | 'fullWidth'> & {\n\thref?: string;\n};\n\n// Google brand mark — colors are dictated by Google's brand guidelines and\n// must not be themed. Do not replace with semantic tokens.\nconst GoogleIcon = () => (\n\t<svg\n\t\taria-hidden=\"true\"\n\t\tclassName=\"h-4 w-4\"\n\t\twidth=\"256\"\n\t\theight=\"262\"\n\t\tviewBox=\"0 0 256 262\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tpreserveAspectRatio=\"xMidYMid\"\n\t>\n\t\t<path\n\t\t\td=\"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\"\n\t\t\tfill=\"#4285F4\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\"\n\t\t\tfill=\"#34A853\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782\"\n\t\t\tfill=\"#FBBC05\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\"\n\t\t\tfill=\"#EB4335\"\n\t\t/>\n\t</svg>\n);\n\nfunction GoogleButton({ children, className, type = 'button', href, ...props }: GoogleButtonProps) {\n\tconst button = (\n\t\t<BaseButton\n\t\t\ticon={GoogleIcon}\n\t\t\ticonPosition=\"left\"\n\t\t\tfullWidth\n\t\t\tclassName={cn(\n\t\t\t\t'bg-foreground text-background ring-offset-background hover:bg-foreground/85 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\ttype={type}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</BaseButton>\n\t);\n\n\tif (href) {\n\t\treturn (\n\t\t\t<a href={href} className={cn('google-button--component', 'inline-flex w-full')}>\n\t\t\t\t{button}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn button;\n}\n\nexport { GoogleButton };\n","import { useMemo } from 'react';\nimport { ShoppingBag } from 'lucide-react';\nimport { BaseButton, type BaseButtonProps } from './base-button';\n\ntype ShopifyResource =\n\t| 'orders'\n\t| 'products'\n\t| 'product_variants'\n\t| 'customers'\n\t| 'draft_orders'\n\t| 'collections'\n\t| 'discounts';\n\ntype ShopifyButtonProps =\n\t| (Omit<BaseButtonProps, 'children'> & {\n\t\t\tresource: Exclude<ShopifyResource, 'product_variants'>;\n\t\t\tid: string | number;\n\t\t\ttext: string;\n\t\t\tadminUrl?: string;\n\t\t})\n\t| (Omit<BaseButtonProps, 'children'> & {\n\t\t\tresource: 'product_variants';\n\t\t\tproductId: string | number;\n\t\t\tid: string | number;\n\t\t\ttext: string;\n\t\t\tadminUrl?: string;\n\t\t});\n\nexport function ShopifyButton(props: ShopifyButtonProps) {\n\tconst { resource, id, text, fullWidth, className, adminUrl } = props;\n\tconst buttonProps = { ...props };\n\tdelete (buttonProps as Partial<typeof props>).resource;\n\tdelete (buttonProps as Partial<typeof props>).id;\n\tdelete (buttonProps as Partial<typeof props>).text;\n\tdelete (buttonProps as Partial<typeof props>).fullWidth;\n\tdelete (buttonProps as Partial<typeof props>).className;\n\tdelete (buttonProps as { adminUrl?: string }).adminUrl;\n\n\tconst productId = props.resource === 'product_variants' ? props.productId : null;\n\tif (props.resource === 'product_variants') {\n\t\tdelete (buttonProps as { productId?: unknown }).productId;\n\t}\n\n\tconst href = useMemo(() => {\n\t\tconst base = (adminUrl ?? '').replace(/\\/$/, '');\n\t\tconst map: Record<ShopifyResource, string> = {\n\t\t\torders: `${base}/orders/${id}`,\n\t\t\tproducts: `${base}/products/${id}`,\n\t\t\tproduct_variants: productId ? `${base}/products/${productId}/variants/${id}` : `${base}/products/${id}`,\n\t\t\tcustomers: `${base}/customers/${id}`,\n\t\t\tdraft_orders: `${base}/draft_orders/${id}`,\n\t\t\tcollections: `${base}/collections/${id}`,\n\t\t\tdiscounts: `${base}/discounts/${id}`,\n\t\t};\n\t\treturn map[resource];\n\t}, [adminUrl, resource, id, productId]);\n\n\treturn (\n\t\t<a\n\t\t\thref={href}\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noopener noreferrer\"\n\t\t\tclassName={`flex ${fullWidth ? 'w-full' : ''}`}\n\t\t>\n\t\t\t<BaseButton\n\t\t\t\t{...buttonProps}\n\t\t\t\tclassName={className}\n\t\t\t\ticon={ShoppingBag}\n\t\t\t\ticonPosition=\"left\"\n\t\t\t>\n\t\t\t\t{text}\n\t\t\t</BaseButton>\n\t\t</a>\n\t);\n}\n\nexport default ShopifyButton;\n\nShopifyButton.displayName = 'ShopifyButton';\n","/**\n * TextButton — link-styled button (underline, primary tint, no padding).\n *\n * Wraps `BaseButton` with `variant=\"primary\" buttonStyle=\"ghost\"`. Routine\n * usage omits `size`; `default` and `small` are the only public scale overrides.\n */\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { BaseButton } from './base-button';\n\ntype TextButtonSize = 'small' | 'default';\n\nconst baseButtonSizeMap: Record<TextButtonSize, 'small' | 'default'> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nconst providerSizeMap: Record<FormControlSize, TextButtonSize> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nconst sizeClasses: Record<TextButtonSize, string> = {\n\tsmall: 'text-sm h-auto px-0',\n\tdefault: 'text-sm h-auto px-0',\n};\n\nexport type TextButtonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'> & {\n\tsize?: TextButtonSize;\n\tchildren: React.ReactNode;\n};\n\nexport const TextButton = React.forwardRef<HTMLButtonElement, TextButtonProps>(\n\t({ className, type = 'button', size, disabled, ...props }, ref) => {\n\t\tconst { defaultControlSize } = useFormsConfig();\n\t\tconst resolvedSize: TextButtonSize =\n\t\t\tsize ?? providerSizeMap[defaultControlSize ?? 'default'] ?? 'default';\n\t\treturn (\n\t\t\t<BaseButton\n\t\t\t\tref={ref}\n\t\t\t\ttype={type}\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\tsize={baseButtonSizeMap[resolvedSize]}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName={cn('text-button--component', \n\t\t\t\t\t'inline-flex items-center justify-center underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current',\n\t\t\t\t\t'text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\t\t'disabled:pointer-events-none disabled:opacity-50',\n\t\t\t\t\tsizeClasses[resolvedSize],\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nTextButton.displayName = 'TextButton';\n","import * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { BaseButton, type ButtonStyle, type ButtonVariant } from './base-button';\n\nexport type PageActionButtonVariant =\n\t| 'primary'\n\t| 'secondary'\n\t| 'error';\n\ntype PageActionButtonSize = 'small' | 'default';\nconst baseButtonSizeMap: Record<PageActionButtonSize, 'small' | 'default'> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nexport type PageActionButtonProps = Omit<\n\tReact.ComponentPropsWithoutRef<typeof BaseButton>,\n\t'variant' | 'buttonStyle' | 'size'\n> & {\n\tvariant?: PageActionButtonVariant;\n\tsize?: PageActionButtonSize;\n};\n\nconst sizeClasses: Record<PageActionButtonSize, string> = {\n\tsmall: 'h-control-sm px-control-sm text-sm',\n\tdefault: 'h-control px-control text-sm',\n};\n\nexport const PageActionButton = React.forwardRef<\n\tHTMLButtonElement,\n\tPageActionButtonProps\n>(({ variant = 'secondary', size, className, ...props }, ref) => {\n\tconst resolvedVariant: ButtonVariant = variant === 'error' ? 'error' : variant;\n\tconst resolvedStyle: ButtonStyle = 'solid';\n\tconst resolvedSize: PageActionButtonSize = size ?? 'small';\n\n\treturn (\n\t\t<BaseButton\n\t\t\tref={ref}\n\t\t\tvariant={resolvedVariant}\n\t\t\tbuttonStyle={resolvedStyle}\n\t\t\tsize={baseButtonSizeMap[resolvedSize]}\n\t\t\tclassName={cn('page-action-button--component', sizeClasses[resolvedSize], 'shadow-none', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nPageActionButton.displayName = 'PageActionButton';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./ui-provider-CrsJ_dGn.cjs"),t=require("../lib/utils.cjs"),n=require("./typography-CWEobAJV.cjs"),r=require("./form-sizing-DJus3nK3.cjs");let i=require("react"),a=require("react/jsx-runtime"),o=require("lucide-react"),s=require("@base-ui/react/radio"),c=require("@base-ui/react/radio-group");var l={small:{padding:`p-3`,iconBox:`size-avatar-sm`,iconSize:`size-icon-sm`,gap:`gap-space-sm`},default:{padding:`p-4`,iconBox:`size-avatar`,iconSize:`size-icon`,gap:`gap-space-md`}},u={small:`h-control-sm px-control-sm text-sm`,default:`h-control px-control text-sm`},d={small:`px-row-x py-row-y-sm`,default:`px-row-x py-row-y`},f={1:`grid grid-cols-1 gap-2`,2:`grid grid-cols-1 gap-2 sm:grid-cols-2`,3:`grid grid-cols-1 gap-2 sm:grid-cols-2 md:grid-cols-3`,4:`grid grid-cols-1 gap-2 sm:grid-cols-2 md:grid-cols-4`};function p({options:s,value:c,defaultValue:u,onChange:d,name:p,columns:m=3,invalid:h,disabled:g,size:_,className:v}){let{defaultControlSize:y}=e.o(),b=r.f(_,y),x=c!==void 0,[S,C]=(0,i.useState)(u??[]),w=(0,i.useMemo)(()=>x?c??[]:S,[S,x,c]),T=l[b],E=(0,i.useCallback)(e=>{if(g||s.find(t=>t.value===e)?.disabled)return;let t=w.includes(e)?w.filter(t=>t!==e):[...w,e];x||C(t),d?.(t)},[g,s,w,x,d]);return(0,a.jsx)(`div`,{className:t.cn(`card-checkbox-group--component`,f[m],v),role:`group`,"aria-invalid":h||void 0,"aria-disabled":g||void 0,children:s.map(e=>{let r=e.icon,i=e.label??e.title,s=w.includes(e.value),c=g||e.disabled,l=!!p&&s;return(0,a.jsxs)(`div`,{className:`relative`,children:[(0,a.jsx)(`input`,{type:`hidden`,name:p?`${p}[]`:void 0,value:e.value,"aria-hidden":`true`,hidden:!0,disabled:!l}),(0,a.jsxs)(`button`,{type:`button`,"aria-pressed":s,"aria-invalid":h||void 0,onClick:()=>E(e.value),disabled:c,"data-selected":s,className:t.cn(`group relative flex w-full flex-col items-start text-start outline-none cursor-pointer`,`rounded-lg border bg-card transition-[color,box-shadow,background,border-color] duration-150`,`border-border hover:border-foreground/20 hover:bg-muted/30`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,`data-[selected=true]:border-primary data-[selected=true]:bg-primary/[0.04]`,T.padding,T.gap,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`,`disabled:cursor-not-allowed disabled:opacity-50`),children:[(0,a.jsx)(o.CircleCheck,{className:t.cn(`absolute top-2 right-2 size-4 text-primary-foreground fill-primary stroke-primary-foreground`,!s&&`hidden`)}),!!r&&(0,a.jsx)(`span`,{className:t.cn(`inline-flex items-center justify-center rounded-md bg-muted/50 text-muted-foreground group-hover:bg-muted`,`group-data-[selected=true]:bg-primary/10 group-data-[selected=true]:text-primary`,T.iconBox),children:(0,a.jsx)(r,{className:T.iconSize})}),(0,a.jsx)(n.s,{tag:`span`,weight:`medium`,children:i}),!!e.description&&(0,a.jsx)(n.s,{size:`xs`,type:`secondary`,children:e.description})]})]},e.value)})})}p.displayName=`CardCheckboxGroup`;var m={1:`grid grid-cols-1 gap-2`,2:`grid grid-cols-1 gap-2 sm:grid-cols-2`,3:`grid grid-cols-1 gap-2 sm:grid-cols-2 md:grid-cols-3`,4:`grid grid-cols-1 gap-2 sm:grid-cols-2 md:grid-cols-4`};function h({options:u,value:d,defaultValue:f,onChange:p,name:h,columns:g=3,invalid:_,disabled:v,size:y,className:b}){let{defaultControlSize:x}=e.o(),S=l[r.f(y,x)],C=(0,i.useMemo)(()=>t.cn(m[g],b),[g,b]);return(0,a.jsx)(c.RadioGroup,{value:d,defaultValue:f,onValueChange:e=>e&&p?.(e),name:h,disabled:v,"aria-invalid":_||void 0,className:t.cn(`card-radio-group--component`,C),children:u.map(e=>{let r=e.icon,i=e.label??e.title;return(0,a.jsxs)(s.Radio.Root,{value:e.value,disabled:v||e.disabled,"aria-invalid":_||void 0,className:t.cn(`relative group flex flex-col text-start outline-none cursor-pointer`,`rounded-lg border bg-card transition-[color,box-shadow,background,border-color] duration-150`,`border-border hover:border-foreground/20 hover:bg-muted/30`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,`data-[checked]:border-primary data-[checked]:bg-primary/[0.04]`,S.padding,S.gap,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`,`disabled:cursor-not-allowed disabled:opacity-50`),children:[(0,a.jsx)(s.Radio.Indicator,{render:(0,a.jsx)(o.CircleCheck,{className:`absolute top-2 right-2 size-4 text-primary-foreground fill-primary stroke-primary-foreground`})}),!!r&&(0,a.jsx)(`span`,{className:t.cn(`inline-flex items-center justify-center rounded-md bg-muted/50 text-muted-foreground group-hover:bg-muted`,`group-data-[checked]:bg-primary/10 group-data-[checked]:text-primary`,S.iconBox),children:(0,a.jsx)(r,{className:S.iconSize})}),(0,a.jsx)(n.s,{tag:`span`,weight:`semibold`,children:i}),!!e.description&&(0,a.jsx)(n.s,{size:`xs`,type:`secondary`,children:e.description})]},e.value)})})}var g=(0,i.memo)(h);g.displayName=`CardRadioGroup`,Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return g}});
|
|
2
|
+
//# sourceMappingURL=card-radio-group-DKhZhBFV.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-radio-group-DKhZhBFV.cjs","names":[],"sources":["../../src/components/base/forms/fields/choice-types.ts","../../src/components/base/forms/fields/card-checkbox-group.tsx","../../src/components/base/forms/fields/card-radio-group.tsx"],"sourcesContent":["/**\n * Shared types for choice-style form fields (CardRadio, CardCheckbox,\n * ListRadio, PillRadio). Each variant exports its own `Option` type that\n * extends `ChoiceOptionBase`, so consumers see one consistent option shape\n * across the family.\n *\n * Sizes follow the package component scale (`small | default`). CardRadio and\n * CardCheckbox additionally accept `size` to drive padding, icon size, and type\n * scale through shared form/display variables.\n */\nimport type { ComponentType, ReactNode } from 'react';\nimport type { ComponentScale } from '@/lib/ui-provider';\n\nexport type ChoiceSize = ComponentScale;\n\nexport interface ChoiceOptionBase<TValue extends string = string> {\n\tvalue: TValue;\n\tlabel: ReactNode;\n\tdescription?: ReactNode;\n\ticon?: ComponentType<{ className?: string }>;\n\tdisabled?: boolean;\n}\n\nexport interface ChoiceGroupBaseProps {\n\t/** Form field name (also used for hidden inputs and aria grouping). */\n\tname?: string;\n\t/** Disable the entire group. */\n\tdisabled?: boolean;\n\t/** Show error styling. */\n\tinvalid?: boolean;\n\t/** Density / control size. Defaults from `useFormsConfig().defaultControlSize`. */\n\tsize?: ChoiceSize;\n\tclassName?: string;\n}\n\n/**\n * Padding / icon-size token map shared across CardRadio + CardCheckbox so the\n * two variants line up visually when placed side-by-side.\n */\nexport const choiceCardSizeTokens: Record<\n\tChoiceSize,\n\t{ padding: string; iconBox: string; iconSize: string; gap: string }\n> = {\n\tsmall: { padding: 'p-3', iconBox: 'size-avatar-sm', iconSize: 'size-icon-sm', gap: 'gap-space-sm' },\n\tdefault: { padding: 'p-4', iconBox: 'size-avatar', iconSize: 'size-icon', gap: 'gap-space-md' },\n};\n\n/**\n * Pill height / horizontal padding tokens. Shared across PillRadioGroup\n * and any future toggle-bar variant so they stack cleanly.\n */\nexport const choicePillSizeTokens: Record<ChoiceSize, string> = {\n\tsmall: 'h-control-sm px-control-sm text-sm',\n\tdefault: 'h-control px-control text-sm',\n};\n\n/**\n * Row padding tokens for ListRadio and any future inline list variant.\n */\nexport const choiceListSizeTokens: Record<ChoiceSize, string> = {\n\tsmall: 'px-row-x py-row-y-sm',\n\tdefault: 'px-row-x py-row-y',\n};\n","/**\n * CardCheckboxGroup — multi-select group rendered as a grid of card-shaped\n * options with title, optional description, and optional leading icon.\n * Use for a small set of feature flags / preferences where each option\n * benefits from extra context that a flat checkbox list can't carry.\n *\n * Pairs with `CardRadioGroup` (single-select). Both share spacing tokens\n * from `./choice-types` so they line up when used side-by-side.\n */\nimport { CircleCheck, type LucideIcon } from 'lucide-react';\nimport { useState, useCallback, useMemo } from 'react';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\nimport { useFormsConfig } from '@/lib/ui-provider';\nimport { resolveFormControlSize } from '../form-sizing';\nimport {\n\tchoiceCardSizeTokens,\n\ttype ChoiceGroupBaseProps,\n\ttype ChoiceOptionBase,\n} from './choice-types';\n\nexport interface CardCheckboxOption extends Omit<ChoiceOptionBase, 'label'> {\n\tlabel?: ChoiceOptionBase['label'];\n\t/** @deprecated Use `label` instead. */\n\ttitle?: string;\n\ticon?: LucideIcon;\n}\n\nexport interface CardCheckboxGroupProps extends ChoiceGroupBaseProps {\n\toptions: CardCheckboxOption[];\n\tvalue?: string[];\n\tdefaultValue?: string[];\n\tonChange?: (values: string[]) => void;\n\tcolumns?: 1 | 2 | 3 | 4;\n}\n\nconst GRID_COLS: Record<NonNullable<CardCheckboxGroupProps['columns']>, string> = {\n\t1: 'grid grid-cols-1 gap-2',\n\t2: 'grid grid-cols-1 gap-2 sm:grid-cols-2',\n\t3: 'grid grid-cols-1 gap-2 sm:grid-cols-2 md:grid-cols-3',\n\t4: 'grid grid-cols-1 gap-2 sm:grid-cols-2 md:grid-cols-4',\n};\n\nexport function CardCheckboxGroup({\n\toptions,\n\tvalue,\n\tdefaultValue,\n\tonChange,\n\tname,\n\tcolumns = 3,\n\tinvalid,\n\tdisabled,\n\tsize: sizeProp,\n\tclassName,\n}: CardCheckboxGroupProps) {\n\tconst { defaultControlSize } = useFormsConfig();\n\tconst size = resolveFormControlSize(sizeProp, defaultControlSize);\n\n\tconst isControlled = value !== undefined;\n\tconst [internal, setInternal] = useState<string[]>(defaultValue ?? []);\n\tconst selected = useMemo(\n\t\t() => (isControlled ? value ?? [] : internal),\n\t\t[internal, isControlled, value],\n\t);\n\tconst tokens = choiceCardSizeTokens[size];\n\n\tconst toggle = useCallback(\n\t\t(val: string) => {\n\t\t\tif (disabled) return;\n\t\t\tif (options.find((o) => o.value === val)?.disabled) return;\n\t\t\tconst exists = selected.includes(val);\n\t\t\tconst next = exists ? selected.filter((v) => v !== val) : [...selected, val];\n\t\t\tif (!isControlled) setInternal(next);\n\t\t\tonChange?.(next);\n\t\t},\n\t\t[disabled, options, selected, isControlled, onChange],\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('card-checkbox-group--component', GRID_COLS[columns], className)}\n\t\t\trole=\"group\"\n\t\t\taria-invalid={invalid || undefined}\n\t\t\taria-disabled={disabled || undefined}\n\t\t>\n\t\t\t{options.map((option) => {\n\t\t\t\tconst Icon = option.icon;\n\t\t\t\tconst optionLabel = option.label ?? option.title;\n\t\t\t\tconst isSelected = selected.includes(option.value);\n\t\t\t\tconst isDisabled = disabled || option.disabled;\n\t\t\t\tconst shouldIncludeHidden = Boolean(name) && isSelected;\n\t\t\t\tconst nameAttr = name ? `${name}[]` : undefined;\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={option.value} className=\"relative\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\t\t\tname={nameAttr}\n\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden\n\t\t\t\t\t\t\tdisabled={!shouldIncludeHidden}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-pressed={isSelected}\n\t\t\t\t\t\t\taria-invalid={invalid || undefined}\n\t\t\t\t\t\t\tonClick={() => toggle(option.value)}\n\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\tdata-selected={isSelected}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'group relative flex w-full flex-col items-start text-start outline-none cursor-pointer',\n\t\t\t\t\t\t\t\t'rounded-lg border bg-card transition-[color,box-shadow,background,border-color] duration-150',\n\t\t\t\t\t\t\t\t'border-border hover:border-foreground/20 hover:bg-muted/30',\n\t\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50',\n\t\t\t\t\t\t\t\t'data-[selected=true]:border-primary data-[selected=true]:bg-primary/[0.04]',\n\t\t\t\t\t\t\t\ttokens.padding,\n\t\t\t\t\t\t\t\ttokens.gap,\n\t\t\t\t\t\t\t\t'aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20',\n\t\t\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CircleCheck\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'absolute top-2 right-2 size-4 text-primary-foreground fill-primary stroke-primary-foreground',\n\t\t\t\t\t\t\t\t\t!isSelected && 'hidden',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'inline-flex items-center justify-center rounded-md bg-muted/50 text-muted-foreground group-hover:bg-muted',\n\t\t\t\t\t\t\t\t\t\t'group-data-[selected=true]:bg-primary/10 group-data-[selected=true]:text-primary',\n\t\t\t\t\t\t\t\t\t\ttokens.iconBox,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon className={tokens.iconSize} />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"medium\">\n\t\t\t\t\t\t\t\t{optionLabel}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t{!!option.description && (\n\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t\t\t{option.description}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n\nCardCheckboxGroup.displayName = 'CardCheckboxGroup';\n","/**\n * CardRadioGroup — single-select radio group rendered as a grid of card-shaped\n * options with title, optional description, and optional leading icon. Built\n * on `@base-ui/react/radio` for accessibility (keyboard navigation, focus\n * management, native form participation).\n *\n * Pairs with `CardCheckboxGroup` (multi-select). Shares spacing tokens from\n * `./choice-types`.\n */\nimport { Radio as RadioPrimitive } from '@base-ui/react/radio';\nimport { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group';\nimport { CircleCheck, type LucideIcon } from 'lucide-react';\nimport { memo, useMemo } from 'react';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\nimport { useFormsConfig } from '@/lib/ui-provider';\nimport { resolveFormControlSize } from '../form-sizing';\nimport {\n\tchoiceCardSizeTokens,\n\ttype ChoiceGroupBaseProps,\n\ttype ChoiceOptionBase,\n} from './choice-types';\n\nexport interface CardRadioOption extends Omit<ChoiceOptionBase, 'label'> {\n\tlabel?: ChoiceOptionBase['label'];\n\t/** @deprecated Use `label` instead. */\n\ttitle?: string;\n\ticon?: LucideIcon;\n}\n\nexport interface CardRadioGroupProps extends ChoiceGroupBaseProps {\n\toptions: CardRadioOption[];\n\tvalue?: string;\n\tdefaultValue?: string;\n\tonChange?: (value: string) => void;\n\tcolumns?: 1 | 2 | 3 | 4;\n}\n\nconst GRID_COLS: Record<NonNullable<CardRadioGroupProps['columns']>, string> = {\n\t1: 'grid grid-cols-1 gap-2',\n\t2: 'grid grid-cols-1 gap-2 sm:grid-cols-2',\n\t3: 'grid grid-cols-1 gap-2 sm:grid-cols-2 md:grid-cols-3',\n\t4: 'grid grid-cols-1 gap-2 sm:grid-cols-2 md:grid-cols-4',\n};\n\nfunction CardRadioGroupImpl({\n\toptions,\n\tvalue,\n\tdefaultValue,\n\tonChange,\n\tname,\n\tcolumns = 3,\n\tinvalid,\n\tdisabled,\n\tsize: sizeProp,\n\tclassName,\n}: CardRadioGroupProps) {\n\tconst { defaultControlSize } = useFormsConfig();\n\tconst size = resolveFormControlSize(sizeProp, defaultControlSize);\n\n\tconst tokens = choiceCardSizeTokens[size];\n\tconst gridClassName = useMemo(() => cn(GRID_COLS[columns], className), [columns, className]);\n\n\treturn (\n\t\t<RadioGroupPrimitive\n\t\t\tvalue={value}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tonValueChange={(val) => val && onChange?.(val)}\n\t\t\tname={name}\n\t\t\tdisabled={disabled}\n\t\t\taria-invalid={invalid || undefined}\n\t\t\tclassName={cn('card-radio-group--component', gridClassName)}\n\t\t>\n\t\t\t{options.map((option) => {\n\t\t\t\tconst Icon = option.icon;\n\t\t\t\tconst optionLabel = option.label ?? option.title;\n\t\t\t\treturn (\n\t\t\t\t\t<RadioPrimitive.Root\n\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\tdisabled={disabled || option.disabled}\n\t\t\t\t\t\taria-invalid={invalid || undefined}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'relative group flex flex-col text-start outline-none cursor-pointer',\n\t\t\t\t\t\t\t'rounded-lg border bg-card transition-[color,box-shadow,background,border-color] duration-150',\n\t\t\t\t\t\t\t'border-border hover:border-foreground/20 hover:bg-muted/30',\n\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50',\n\t\t\t\t\t\t\t'data-[checked]:border-primary data-[checked]:bg-primary/[0.04]',\n\t\t\t\t\t\t\ttokens.padding,\n\t\t\t\t\t\t\ttokens.gap,\n\t\t\t\t\t\t\t'aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20',\n\t\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioPrimitive.Indicator\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<CircleCheck className=\"absolute top-2 right-2 size-4 text-primary-foreground fill-primary stroke-primary-foreground\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'inline-flex items-center justify-center rounded-md bg-muted/50 text-muted-foreground group-hover:bg-muted',\n\t\t\t\t\t\t\t\t\t'group-data-[checked]:bg-primary/10 group-data-[checked]:text-primary',\n\t\t\t\t\t\t\t\t\ttokens.iconBox,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon className={tokens.iconSize} />\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">\n\t\t\t\t\t\t\t{optionLabel}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t{!!option.description && (\n\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t\t{option.description}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</RadioPrimitive.Root>\n\t\t\t\t);\n\t\t\t})}\n\t\t</RadioGroupPrimitive>\n\t);\n}\n\nexport const CardRadioGroup = memo(CardRadioGroupImpl);\nCardRadioGroup.displayName = 'CardRadioGroup';\n"],"mappings":"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"}
|