ics-ui-kit 0.1.18 → 1.0.0-alpha.0
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/README.md +36 -36
- package/dist/AlertContext-CxjW1LVL.js.map +1 -1
- package/dist/AlertIcon-BphnEYvV.js.map +1 -1
- package/dist/{Button-Dg89xRSi.js → Button-_qdP4hSf.js} +2 -2
- package/dist/Button-_qdP4hSf.js.map +1 -0
- package/dist/ButtonBase-CbWrYcx-.js +158 -0
- package/dist/ButtonBase-CbWrYcx-.js.map +1 -0
- package/dist/{CheckboxField-limFbMk2.js → CheckboxField-Ca48ZYoX.js} +32 -32
- package/dist/CheckboxField-Ca48ZYoX.js.map +1 -0
- package/dist/Combination-DeIugdgY.js.map +1 -1
- package/dist/{Command-B7ZRyW8w.js → Command-CsW4aK7M.js} +8 -8
- package/dist/Command-CsW4aK7M.js.map +1 -0
- package/dist/ComponentVariantProvider-brk0g-hm.js.map +1 -1
- package/dist/Description-BTPMlTT-.js.map +1 -1
- package/dist/{Dialog-CdnsGyJD.js → Dialog-BT_775Iz.js} +4 -4
- package/dist/Dialog-BT_775Iz.js.map +1 -0
- package/dist/Divider-DPW5ZhZ8.js.map +1 -1
- package/dist/EmptyState-DRKjscH-.js.map +1 -1
- package/dist/ErrorState-B26k67-z.js.map +1 -1
- package/dist/FeatureIcon-BGE0Orkc.js.map +1 -1
- package/dist/{Field-CP_-li9L.js → Field-BRPdaQ8D.js} +2 -2
- package/dist/Field-BRPdaQ8D.js.map +1 -0
- package/dist/{FieldLabel-eyKmeWRn.js → FieldLabel-ic0eq9Un.js} +2 -2
- package/dist/FieldLabel-ic0eq9Un.js.map +1 -0
- package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
- package/dist/{FormFooterTemplate-BRrgrxAu.js → FormFooterTemplate-BIwnBQhL.js} +5 -5
- package/dist/FormFooterTemplate-BIwnBQhL.js.map +1 -0
- package/dist/{FormHeader--F6b2aRk.js → FormHeader-PE63OqG9.js} +3 -3
- package/dist/FormHeader-PE63OqG9.js.map +1 -0
- package/dist/{FormStack-Cc_ELdWL.js → FormStack-CxiZhx1n.js} +3 -3
- package/dist/FormStack-CxiZhx1n.js.map +1 -0
- package/dist/HintState-BxrCAWqq.js.map +1 -1
- package/dist/Icon-DH3ev9GK.js.map +1 -1
- package/dist/{IconButton-DwkpNgn3.js → IconButton-DAg1oMwz.js} +2 -2
- package/dist/IconButton-DAg1oMwz.js.map +1 -0
- package/dist/{IconTooltip-RSxvnBgH.js → IconTooltip-CgbefRXG.js} +2 -2
- package/dist/IconTooltip-CgbefRXG.js.map +1 -0
- package/dist/Indicator-AqxHWPA9.js.map +1 -1
- package/dist/{InputGroup-BcRWP-zL.js → InputGroup-CW55G5nE.js} +5 -5
- package/dist/InputGroup-CW55G5nE.js.map +1 -0
- package/dist/{InputOTP-B2e1nfSO.js → InputOTP-DkVh6bBz.js} +2 -2
- package/dist/InputOTP-DkVh6bBz.js.map +1 -0
- package/dist/Loader-BpHiL6W-.js.map +1 -1
- package/dist/{MenuItem-d19Ty84F.js → MenuItem-C51uFz3V.js} +11 -11
- package/dist/MenuItem-C51uFz3V.js.map +1 -0
- package/dist/MenuItemShortcut-D1faeIXp.js.map +1 -1
- package/dist/MenuItemText-CRpaPbvg.js.map +1 -1
- package/dist/{Overlay-CVt011mY.js → Overlay-E0UvxzIc.js} +2 -2
- package/dist/Overlay-E0UvxzIc.js.map +1 -0
- package/dist/{Popover-CRVD7AtB.js → Popover-Dz2eNsXh.js} +5 -5
- package/dist/Popover-Dz2eNsXh.js.map +1 -0
- package/dist/{RichButton-DuPTenmS.js → RichButton-Bt0yUShU.js} +2 -2
- package/dist/RichButton-Bt0yUShU.js.map +1 -0
- package/dist/ScrollArea-CuuTeDn3.js.map +1 -1
- package/dist/ScrollShadowContainer-DdrnF8qU.js.map +1 -1
- package/dist/{SearchSelectTag-CA7Ie3Nx.js → SearchSelectTag-Dp5_OvZp.js} +16 -16
- package/dist/SearchSelectTag-Dp5_OvZp.js.map +1 -0
- package/dist/{Select-D9juHX8o.js → Select-Bfbtj5zt.js} +7 -7
- package/dist/Select-Bfbtj5zt.js.map +1 -0
- package/dist/{Sheet-qTIXsqm0.js → Sheet-aLBPtE1k.js} +9 -9
- package/dist/Sheet-aLBPtE1k.js.map +1 -0
- package/dist/Shortcut-D8L15_ed.js.map +1 -1
- package/dist/Skeleton-y6I-i9q5.js.map +1 -1
- package/dist/{TableFillHandle-C_yvCTSl.js → TableFillHandle-CHHoUi6s.js} +7 -7
- package/dist/TableFillHandle-CHHoUi6s.js.map +1 -0
- package/dist/{Tag-DdHXTyKF.js → Tag-Cf6HftP-.js} +4 -4
- package/dist/Tag-Cf6HftP-.js.map +1 -0
- package/dist/Text-DeBE8AKl.js.map +1 -1
- package/dist/{TextInput-Db0ylY91.js → TextInput-CoL8nOyt.js} +3 -3
- package/dist/TextInput-CoL8nOyt.js.map +1 -0
- package/dist/{TextOverflowTooltip-B1I5qwAT.js → TextOverflowTooltip-BaNPKqnO.js} +2 -2
- package/dist/{TextOverflowTooltip-B1I5qwAT.js.map → TextOverflowTooltip-BaNPKqnO.js.map} +1 -1
- package/dist/{Toggle-v_HT3Gm2.js → Toggle-CmalMf4O.js} +2 -2
- package/dist/Toggle-CmalMf4O.js.map +1 -0
- package/dist/{Tooltip-7Duaau0S.js → Tooltip-DOgKy50D.js} +3 -3
- package/dist/Tooltip-DOgKy50D.js.map +1 -0
- package/dist/{TriggerButton-CfDObWP9.js → TriggerButton-CoAgB4lx.js} +2 -2
- package/dist/TriggerButton-CoAgB4lx.js.map +1 -0
- package/dist/blocks/auth/otp-form.js +4 -4
- package/dist/blocks/auth/otp-form.js.map +1 -1
- package/dist/cn-dsXlqdJg.js.map +1 -1
- package/dist/components/alert-dialog.js +3 -3
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/background-pattern.js.map +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/banner.js.map +1 -1
- package/dist/components/breadcrumb.js.map +1 -1
- package/dist/components/button.js +5 -5
- package/dist/components/button.js.map +1 -1
- package/dist/components/calendar.js +2 -2
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/card.js +2 -2
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel.js +1 -1
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/color-tile.js.map +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/container.js.map +1 -1
- package/dist/components/context-menu.js +6 -6
- package/dist/components/context-menu.js.map +1 -1
- package/dist/components/counter.js +1 -1
- package/dist/components/counter.js.map +1 -1
- package/dist/components/dialog.js +3 -3
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/divider.js.map +1 -1
- package/dist/components/drawer.js +4 -4
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/dropdown.js +9 -9
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/error-state.js +1 -1
- package/dist/components/error-state.js.map +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/file-upload.js +3 -3
- package/dist/components/file-upload.js.map +1 -1
- package/dist/components/form.js +5 -5
- package/dist/components/form.js.map +1 -1
- package/dist/components/glass-toolbar.js +6 -6
- package/dist/components/glass-toolbar.js.map +1 -1
- package/dist/components/icon-tooltip.js +1 -1
- package/dist/components/image-placeholder.js.map +1 -1
- package/dist/components/image-preview.js +2 -2
- package/dist/components/image-preview.js.map +1 -1
- package/dist/components/image-uploader.js +1 -1
- package/dist/components/image-uploader.js.map +1 -1
- package/dist/components/input-otp.js +1 -1
- package/dist/components/input.js +5 -5
- package/dist/components/input.js.map +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/menu-item.js +6 -6
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/overflow-tooltip.js +1 -1
- package/dist/components/overlay.js +1 -1
- package/dist/components/page-state.js +7 -7
- package/dist/components/page-state.js.map +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/portal-container/usePortalContainer.d.ts +2 -1
- package/dist/components/portal-container.js +2 -2
- package/dist/components/portal-container.js.map +1 -1
- package/dist/components/progress-circle.js +1 -1
- package/dist/components/progress-circle.js.map +1 -1
- package/dist/components/progress.js +3 -3
- package/dist/components/progress.js.map +1 -1
- package/dist/components/prose.js.map +1 -1
- package/dist/components/radio-group.js +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/resizable.js +1 -1
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/scheduler.js +1 -1
- package/dist/components/scheduler.js.map +1 -1
- package/dist/components/search-select.js +4 -4
- package/dist/components/search-select.js.map +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/sidebar.js +90 -90
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/slider.js +1 -1
- package/dist/components/slider.js.map +1 -1
- package/dist/components/stepper.js +1 -1
- package/dist/components/stepper.js.map +1 -1
- package/dist/components/switch.js +2 -2
- package/dist/components/switch.js.map +1 -1
- package/dist/components/system-state.js +1 -1
- package/dist/components/system-state.js.map +1 -1
- package/dist/components/table/editable/editableCell.d.ts +2 -2
- package/dist/components/table/editable.js +1 -1
- package/dist/components/table/tree.js +1 -1
- package/dist/components/table.js +2 -2
- package/dist/components/tabs.js +2 -2
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag-input.js +5 -5
- package/dist/components/tag-input.js.map +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/textarea.js +1 -1
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/timer.js.map +1 -1
- package/dist/components/toast.js +6 -6
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle.js +1 -1
- package/dist/components/toolbar.js +1 -1
- package/dist/components/toolbar.js.map +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/design-tokens.source.json +1 -0
- package/dist/docs/tailwind-utilities/ScrollFade.stories.d.ts +28 -0
- package/dist/docs/tailwind-utilities/Shimmer.stories.d.ts +32 -0
- package/dist/floating-ui.react-dom-BwDfy92G.js.map +1 -1
- package/dist/font-smoothing.css +4 -0
- package/dist/formatBytes-C4QXq5lC.js.map +1 -1
- package/dist/index-0ioNhtNM.js.map +1 -1
- package/dist/index-1SnkxfPR.js.map +1 -1
- package/dist/index-437EL2iq.js.map +1 -1
- package/dist/index-BDrapWDv.js.map +1 -1
- package/dist/index-BGQepRFJ.js.map +1 -1
- package/dist/index-BVqs-uqP.js.map +1 -1
- package/dist/index-BZPx6jYI.js.map +1 -1
- package/dist/index-Bb23HztA.js.map +1 -1
- package/dist/index-BjtNfqNq.js.map +1 -1
- package/dist/index-BpWB3aFK.js.map +1 -1
- package/dist/index-ByaXH_ih.js.map +1 -1
- package/dist/index-CCKe-Mpx.js.map +1 -1
- package/dist/index-CFaU3UXv.js.map +1 -1
- package/dist/index-CLuiUUQ8.js.map +1 -1
- package/dist/index-CMxHunQ4.js.map +1 -1
- package/dist/index-CmBeyp2d.js.map +1 -1
- package/dist/index-DFZozV_h.js.map +1 -1
- package/dist/index-DHsfW5Rj.js.map +1 -1
- package/dist/index-DHyZ_0Ut.js.map +1 -1
- package/dist/index-DLcqcWxM.js.map +1 -1
- package/dist/index-DnnQs07z.js.map +1 -1
- package/dist/index-Uiy0Xwy2.js.map +1 -1
- package/dist/index-_ITz1IyW.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/{inputBaseStyles-BfZIWuQ6.js → inputBaseStyles-CZwQWSub.js} +7 -7
- package/dist/inputBaseStyles-CZwQWSub.js.map +1 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/opaqueCell-D95h1mFM.js.map +1 -1
- package/dist/styles.css +8929 -6508
- package/dist/tailwind.css +361 -0
- package/dist/theme.css +360 -360
- package/dist/{treeModel-BlJWP4sc.js → treeModel-CUO1A5s7.js} +11 -11
- package/dist/treeModel-CUO1A5s7.js.map +1 -0
- package/dist/types/css.d.ts +4 -4
- package/dist/useBreakpoints-DHvp74UL.js.map +1 -1
- package/dist/useDebounce-BRah78CF.js.map +1 -1
- package/dist/useFileUpload-Bnl3P8mP.js.map +1 -1
- package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
- package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
- package/dist/usePortalContainer-B1xla842.js +33 -0
- package/dist/usePortalContainer-B1xla842.js.map +1 -0
- package/dist/vendors/tanstack/react-table.js.map +1 -1
- package/dist/zod-BMNoK3aM.js.map +1 -1
- package/package.json +204 -207
- package/dist/Button-Dg89xRSi.js.map +0 -1
- package/dist/ButtonBase-e6qyv6mD.js +0 -158
- package/dist/ButtonBase-e6qyv6mD.js.map +0 -1
- package/dist/CheckboxField-limFbMk2.js.map +0 -1
- package/dist/Command-B7ZRyW8w.js.map +0 -1
- package/dist/Dialog-CdnsGyJD.js.map +0 -1
- package/dist/Field-CP_-li9L.js.map +0 -1
- package/dist/FieldLabel-eyKmeWRn.js.map +0 -1
- package/dist/FormFooterTemplate-BRrgrxAu.js.map +0 -1
- package/dist/FormHeader--F6b2aRk.js.map +0 -1
- package/dist/FormStack-Cc_ELdWL.js.map +0 -1
- package/dist/IconButton-DwkpNgn3.js.map +0 -1
- package/dist/IconTooltip-RSxvnBgH.js.map +0 -1
- package/dist/InputGroup-BcRWP-zL.js.map +0 -1
- package/dist/InputOTP-B2e1nfSO.js.map +0 -1
- package/dist/MenuItem-d19Ty84F.js.map +0 -1
- package/dist/Overlay-CVt011mY.js.map +0 -1
- package/dist/Popover-CRVD7AtB.js.map +0 -1
- package/dist/RichButton-DuPTenmS.js.map +0 -1
- package/dist/SearchSelectTag-CA7Ie3Nx.js.map +0 -1
- package/dist/Select-D9juHX8o.js.map +0 -1
- package/dist/Sheet-qTIXsqm0.js.map +0 -1
- package/dist/TableFillHandle-C_yvCTSl.js.map +0 -1
- package/dist/Tag-DdHXTyKF.js.map +0 -1
- package/dist/TextInput-Db0ylY91.js.map +0 -1
- package/dist/Toggle-v_HT3Gm2.js.map +0 -1
- package/dist/Tooltip-7Duaau0S.js.map +0 -1
- package/dist/TriggerButton-CfDObWP9.js.map +0 -1
- package/dist/inputBaseStyles-BfZIWuQ6.js.map +0 -1
- package/dist/lib/utils/styles.d.ts +0 -10
- package/dist/styles-scoped.css +0 -6654
- package/dist/styles-scoped.d.ts +0 -1
- package/dist/treeModel-BlJWP4sc.js.map +0 -1
- package/dist/usePortalContainer-BAIp0kSF.js +0 -44
- package/dist/usePortalContainer-BAIp0kSF.js.map +0 -1
- package/tailwind.preset.js +0 -452
package/README.md
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
# ICS UI Kit
|
|
2
|
-
|
|
3
|
-
Библиотека React компонентов для создания современных пользовательских интерфейсов.
|
|
4
|
-
|
|
5
|
-
## 🚀 Установка
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install ics-ui-kit
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## 📖 Использование
|
|
12
|
-
|
|
13
|
-
```jsx
|
|
14
|
-
import { Button, Card, Modal } from 'ics-ui-kit';
|
|
15
|
-
import 'ics-ui-kit/styles.css';
|
|
16
|
-
|
|
17
|
-
function App() {
|
|
18
|
-
return (
|
|
19
|
-
<Card>
|
|
20
|
-
<Button variant="primary">
|
|
21
|
-
Нажми меня
|
|
22
|
-
</Button>
|
|
23
|
-
</Card>
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## 🎨 Интеграция с Tailwind CSS
|
|
29
|
-
|
|
30
|
-
Кит поддерживает два способа подключения стилей: готовый скомпилированный CSS (как в примере выше) и **Tailwind preset** с tree-shaking и возможностью расширять дизайн-токены. Подробности и инструкция по миграции: [docs/tailwind-integration.md](docs/tailwind-integration.md).
|
|
31
|
-
|
|
32
|
-
## Ссылки
|
|
33
|
-
|
|
34
|
-
- **Репозиторий**: [GitLab](https://gitlab.ics-it.ru/ics/ui-kit)
|
|
35
|
-
- **NPM пакет**: [ics-ui-kit](https://www.npmjs.com/package/ics-ui-kit)
|
|
36
|
-
- **Storybook**: [Демо версия](https://ui-kit.ics-it.ru)
|
|
1
|
+
# ICS UI Kit
|
|
2
|
+
|
|
3
|
+
Библиотека React компонентов для создания современных пользовательских интерфейсов.
|
|
4
|
+
|
|
5
|
+
## 🚀 Установка
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install ics-ui-kit
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 📖 Использование
|
|
12
|
+
|
|
13
|
+
```jsx
|
|
14
|
+
import { Button, Card, Modal } from 'ics-ui-kit';
|
|
15
|
+
import 'ics-ui-kit/styles.css';
|
|
16
|
+
|
|
17
|
+
function App() {
|
|
18
|
+
return (
|
|
19
|
+
<Card>
|
|
20
|
+
<Button variant="primary">
|
|
21
|
+
Нажми меня
|
|
22
|
+
</Button>
|
|
23
|
+
</Card>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 🎨 Интеграция с Tailwind CSS
|
|
29
|
+
|
|
30
|
+
Кит поддерживает два способа подключения стилей: готовый скомпилированный CSS (как в примере выше) и **Tailwind preset** с tree-shaking и возможностью расширять дизайн-токены. Подробности и инструкция по миграции: [docs/tailwind-integration.md](docs/tailwind-integration.md).
|
|
31
|
+
|
|
32
|
+
## Ссылки
|
|
33
|
+
|
|
34
|
+
- **Репозиторий**: [GitLab](https://gitlab.ics-it.ru/ics/ui-kit)
|
|
35
|
+
- **NPM пакет**: [ics-ui-kit](https://www.npmjs.com/package/ics-ui-kit)
|
|
36
|
+
- **Storybook**: [Демо версия](https://ui-kit.ics-it.ru)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertContext-CxjW1LVL.js","sources":["../src/components/alert/AlertContext.tsx"],"sourcesContent":["import React from \"react\";\nimport { AlertVariants } from \"./Alert\";\n\nexport const AlertContext = React.createContext<AlertVariants>({});\n\n/**\n * Хук для получения значений контекста Alert\n * Если переданы props, они имеют приоритет над значениями из контекста\n *\n * @example\n * ```tsx\n * const { status, focus } = useAlert({ status: props.status, focus: props.focus });\n * ```\n */\n\nexport const useAlert = (props?: AlertVariants) => {\n\tconst context = React.useContext(AlertContext);\n\n\treturn {\n\t\tstatus: props?.status ?? context.status,\n\t\tfocus: props?.focus ?? context.focus\n\t};\n};\n"],"names":["AlertContext","React","useAlert","props","context"],"mappings":";AAGO,MAAMA,IAAeC,EAAM,cAA6B,CAAE,CAAA,GAYpDC,IAAW,CAACC,MAA0B;AAC5C,QAAAC,IAAUH,EAAM,WAAWD,CAAY;AAEtC,SAAA;AAAA,IACN,QAAQG,GAAO,UAAUC,EAAQ;AAAA,IACjC,OAAOD,GAAO,SAASC,EAAQ;AAAA,EAChC;AACD;"}
|
|
1
|
+
{"version":3,"file":"AlertContext-CxjW1LVL.js","sources":["../src/components/alert/AlertContext.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { AlertVariants } from \"./Alert\";\r\n\r\nexport const AlertContext = React.createContext<AlertVariants>({});\r\n\r\n/**\r\n * Хук для получения значений контекста Alert\r\n * Если переданы props, они имеют приоритет над значениями из контекста\r\n *\r\n * @example\r\n * ```tsx\r\n * const { status, focus } = useAlert({ status: props.status, focus: props.focus });\r\n * ```\r\n */\r\n\r\nexport const useAlert = (props?: AlertVariants) => {\r\n\tconst context = React.useContext(AlertContext);\r\n\r\n\treturn {\r\n\t\tstatus: props?.status ?? context.status,\r\n\t\tfocus: props?.focus ?? context.focus\r\n\t};\r\n};\r\n"],"names":["AlertContext","React","useAlert","props","context"],"mappings":";AAGO,MAAMA,IAAeC,EAAM,cAA6B,CAAE,CAAA,GAYpDC,IAAW,CAACC,MAA0B;AAC5C,QAAAC,IAAUH,EAAM,WAAWD,CAAY;AAEtC,SAAA;AAAA,IACN,QAAQG,GAAO,UAAUC,EAAQ;AAAA,IACjC,OAAOD,GAAO,SAASC,EAAQ;AAAA,EAChC;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertIcon-BphnEYvV.js","sources":["../src/components/alert/Alert.tsx","../src/components/alert/components/AlertDescription.tsx","../src/components/alert/components/AlertIcon.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { AlertContext } from \"./AlertContext\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nexport interface AlertVariants {\n\t/** Статус алерта */\n\tstatus?: \"success\" | \"warning\" | \"error\" | \"info\";\n\t/** Состояние фокуса */\n\tfocus?: \"low\" | \"medium\" | \"high\";\n}\n\nconst alertStyles = tv({\n\tbase: [\n\t\t\"group relative w-full min-w-80 items-start rounded-xl border border-secondary-border bg-secondary-bg px-4 py-3 text-sm\",\n\t\t\"@container @sm:grid-cols-[auto_1fr_auto] grid grid-cols-[auto_1fr] gap-y-1.5\"\n\t],\n\tvariants: {\n\t\tstatus: {\n\t\t\tsuccess: \"border-status-success-secondary-border bg-status-success-bg\",\n\t\t\twarning: \"border-status-warning-secondary-border bg-status-warning-bg\",\n\t\t\terror: \"border-status-error-secondary-border bg-status-error-bg\",\n\t\t\tinfo: \"border-status-info-secondary-border bg-status-info-bg\"\n\t\t},\n\t\tfocus: {\n\t\t\tlow: \"border-secondary-border bg-secondary-bg\",\n\t\t\tmedium: \"bg-secondary-bg\",\n\t\t\t// Не задаем bg, чтобы не переопределять status. Определяем в compoundVariants.\n\t\t\thigh: \"\"\n\t\t}\n\t} satisfies VariantsConfig<AlertVariants>,\n\tcompoundVariants: [\n\t\t{\n\t\t\tstatus: undefined,\n\t\t\tfocus: \"high\",\n\t\t\tclass: \"bg-status-neutral-bg\"\n\t\t}\n\t],\n\tdefaultVariants: {\n\t\tfocus: \"low\"\n\t}\n});\n\nexport type AlertProps = React.HTMLAttributes<HTMLDivElement> & AlertVariants;\n\n/**\n * Компонент Alert для отображения уведомлений и сообщений\n *\n * Является container query контейнером: при ширине меньше `@sm` (384px) кнопка\n * переносится под заголовок и описание. Минимальная ширина — 320px (`min-w-80`);\n * снимается через `className=\"min-w-0\"`.\n */\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\n\t({ className, status, focus = \"low\", children, ...props }, ref) => {\n\t\tconst contextValue = React.useMemo(\n\t\t\t() => ({\n\t\t\t\tstatus,\n\t\t\t\tfocus\n\t\t\t}),\n\t\t\t[status, focus]\n\t\t);\n\n\t\treturn (\n\t\t\t<AlertContext.Provider value={contextValue}>\n\t\t\t\t<div ref={ref} role=\"alert\" className={alertStyles({ status, focus, className })} {...props}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</AlertContext.Provider>\n\t\t);\n\t}\n);\n\nAlert.displayName = \"Alert\";\n","import { tv } from \"tailwind-variants\";\nimport React from \"react\";\nimport { useAlert } from \"../AlertContext\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\nimport { AlertVariants } from \"../Alert\";\n\nconst alertDescriptionStyles = tv({\n\tbase: \"col-start-2 text-sm text-muted\",\n\tvariants: {\n\t\tstatus: {\n\t\t\tsuccess: \"text-status-success-fg\",\n\t\t\twarning: \"text-status-warning-fg\",\n\t\t\terror: \"text-status-error-fg\",\n\t\t\tinfo: \"text-status-info-fg\"\n\t\t},\n\t\tfocus: {\n\t\t\tlow: \"text-muted\",\n\t\t\tmedium: \"\",\n\t\t\thigh: \"\"\n\t\t}\n\t} satisfies VariantsConfig<AlertVariants>,\n\tdefaultVariants: {\n\t\tfocus: \"low\"\n\t}\n});\n\nexport type AlertDescriptionProps = React.HTMLAttributes<HTMLParagraphElement> & AlertVariants;\n\n/**\n * Компонент AlertDescription для отображения описания алерта\n */\nexport const AlertDescription = React.forwardRef<HTMLParagraphElement, AlertDescriptionProps>(\n\t({ className, focus: focusProp, status: statusProp, ...props }, ref) => {\n\t\tconst { status, focus } = useAlert({ status: statusProp, focus: focusProp });\n\n\t\treturn <div ref={ref} className={alertDescriptionStyles({ className, focus, status })} {...props} />;\n\t}\n);\n\nAlertDescription.displayName = \"AlertDescription\";\n","import { Icon, IconProps } from \"@/components/icon/Icon\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { useAlert } from \"../AlertContext\";\nimport { AlertVariants } from \"../Alert\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\ntype AlertIconVariants = Omit<AlertVariants, \"focus\">;\n\nconst alertIconStyles = tv({\n\tbase: \"text-status-default mr-3 translate-y-0.5\",\n\tvariants: {\n\t\tstatus: {\n\t\t\tsuccess: \"text-status-success-hover\",\n\t\t\twarning: \"text-status-warning-hover\",\n\t\t\terror: \"text-status-error-hover\",\n\t\t\tinfo: \"text-status-info-hover\"\n\t\t}\n\t} satisfies VariantsConfig<AlertIconVariants>\n});\n\nexport type AlertIconProps = IconProps & AlertIconVariants;\n\n/**\n * Компонент AlertIcon для отображения иконки алерта\n */\nexport const AlertIcon = React.forwardRef<SVGSVGElement, AlertIconProps>(\n\t({ className, status: statusProp, ...props }, ref) => {\n\t\tconst { status } = useAlert({ status: statusProp });\n\n\t\treturn <Icon ref={ref} className={alertIconStyles({ status, className })} {...props} />;\n\t}\n);\n\nAlertIcon.displayName = \"AlertIcon\";\n"],"names":["alertStyles","tv","Alert","React","className","status","focus","children","props","ref","contextValue","jsx","AlertContext","alertDescriptionStyles","AlertDescription","focusProp","statusProp","useAlert","alertIconStyles","AlertIcon","Icon"],"mappings":";;;;;;AAYA,MAAMA,IAAcC,EAAG;AAAA,EACtB,MAAM;AAAA,IACL;AAAA,IACA;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA;AAAA,MAER,MAAM;AAAA,IAAA;AAAA,EAER;AAAA,EACA,kBAAkB;AAAA,IACjB;AAAA,MACC,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,IAAA;AAAA,EAET;AAAA,EACA,iBAAiB;AAAA,IAChB,OAAO;AAAA,EAAA;AAET,CAAC,GAWYC,IAAQC,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,QAAAC,GAAQ,OAAAC,IAAQ,OAAO,UAAAC,GAAU,GAAGC,EAAM,GAAGC,MAAQ;AAClE,UAAMC,IAAeP,EAAM;AAAA,MAC1B,OAAO;AAAA,QACN,QAAAE;AAAA,QACA,OAAAC;AAAA,MAAA;AAAA,MAED,CAACD,GAAQC,CAAK;AAAA,IACf;AAGC,WAAA,gBAAAK,EAACC,EAAa,UAAb,EAAsB,OAAOF,GAC7B,UAAA,gBAAAC,EAAC,OAAI,EAAA,KAAAF,GAAU,MAAK,SAAQ,WAAWT,EAAY,EAAE,QAAAK,GAAQ,OAAAC,GAAO,WAAAF,EAAW,CAAA,GAAI,GAAGI,GACpF,UAAAD,EAAA,CACF,EACD,CAAA;AAAA,EAAA;AAGH;AAEAL,EAAM,cAAc;AClEpB,MAAMW,IAAyBZ,EAAG;AAAA,EACjC,MAAM;AAAA,EACN,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA;AAAA,EAER;AAAA,EACA,iBAAiB;AAAA,IAChB,OAAO;AAAA,EAAA;AAET,CAAC,GAOYa,IAAmBX,EAAM;AAAA,EACrC,CAAC,EAAE,WAAAC,GAAW,OAAOW,GAAW,QAAQC,GAAY,GAAGR,EAAM,GAAGC,MAAQ;AACjE,UAAA,EAAE,QAAAJ,GAAQ,OAAAC,EAAA,IAAUW,EAAS,EAAE,QAAQD,GAAY,OAAOD,GAAW;AAE3E,WAAQ,gBAAAJ,EAAA,OAAA,EAAI,KAAAF,GAAU,WAAWI,EAAuB,EAAE,WAAAT,GAAW,OAAAE,GAAO,QAAAD,EAAO,CAAC,GAAI,GAAGG,EAAO,CAAA;AAAA,EAAA;AAEpG;AAEAM,EAAiB,cAAc;AC9B/B,MAAMI,IAAkBjB,EAAG;AAAA,EAC1B,MAAM;AAAA,EACN,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,EACP;AAEF,CAAC,GAOYkB,IAAYhB,EAAM;AAAA,EAC9B,CAAC,EAAE,WAAAC,GAAW,QAAQY,GAAY,GAAGR,KAASC,MAAQ;AACrD,UAAM,EAAE,QAAAJ,EAAO,IAAIY,EAAS,EAAE,QAAQD,GAAY;AAE3C,WAAA,gBAAAL,EAACS,GAAK,EAAA,KAAAX,GAAU,WAAWS,EAAgB,EAAE,QAAAb,GAAQ,WAAAD,EAAU,CAAC,GAAI,GAAGI,EAAO,CAAA;AAAA,EAAA;AAEvF;AAEAW,EAAU,cAAc;"}
|
|
1
|
+
{"version":3,"file":"AlertIcon-BphnEYvV.js","sources":["../src/components/alert/Alert.tsx","../src/components/alert/components/AlertDescription.tsx","../src/components/alert/components/AlertIcon.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { AlertContext } from \"./AlertContext\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface AlertVariants {\r\n\t/** Статус алерта */\r\n\tstatus?: \"success\" | \"warning\" | \"error\" | \"info\";\r\n\t/** Состояние фокуса */\r\n\tfocus?: \"low\" | \"medium\" | \"high\";\r\n}\r\n\r\nconst alertStyles = tv({\r\n\tbase: [\r\n\t\t\"group relative w-full min-w-80 items-start rounded-xl border border-secondary-border bg-secondary-bg px-4 py-3 text-sm\",\r\n\t\t\"@container @sm:grid-cols-[auto_1fr_auto] grid grid-cols-[auto_1fr] gap-y-1.5\"\r\n\t],\r\n\tvariants: {\r\n\t\tstatus: {\r\n\t\t\tsuccess: \"border-status-success-secondary-border bg-status-success-bg\",\r\n\t\t\twarning: \"border-status-warning-secondary-border bg-status-warning-bg\",\r\n\t\t\terror: \"border-status-error-secondary-border bg-status-error-bg\",\r\n\t\t\tinfo: \"border-status-info-secondary-border bg-status-info-bg\"\r\n\t\t},\r\n\t\tfocus: {\r\n\t\t\tlow: \"border-secondary-border bg-secondary-bg\",\r\n\t\t\tmedium: \"bg-secondary-bg\",\r\n\t\t\t// Не задаем bg, чтобы не переопределять status. Определяем в compoundVariants.\r\n\t\t\thigh: \"\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<AlertVariants>,\r\n\tcompoundVariants: [\r\n\t\t{\r\n\t\t\tstatus: undefined,\r\n\t\t\tfocus: \"high\",\r\n\t\t\tclass: \"bg-status-neutral-bg\"\r\n\t\t}\r\n\t],\r\n\tdefaultVariants: {\r\n\t\tfocus: \"low\"\r\n\t}\r\n});\r\n\r\nexport type AlertProps = React.HTMLAttributes<HTMLDivElement> & AlertVariants;\r\n\r\n/**\r\n * Компонент Alert для отображения уведомлений и сообщений\r\n *\r\n * Является container query контейнером: при ширине меньше `@sm` (384px) кнопка\r\n * переносится под заголовок и описание. Минимальная ширина — 320px (`min-w-80`);\r\n * снимается через `className=\"min-w-0\"`.\r\n */\r\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\r\n\t({ className, status, focus = \"low\", children, ...props }, ref) => {\r\n\t\tconst contextValue = React.useMemo(\r\n\t\t\t() => ({\r\n\t\t\t\tstatus,\r\n\t\t\t\tfocus\r\n\t\t\t}),\r\n\t\t\t[status, focus]\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t<AlertContext.Provider value={contextValue}>\r\n\t\t\t\t<div ref={ref} role=\"alert\" className={alertStyles({ status, focus, className })} {...props}>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</AlertContext.Provider>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nAlert.displayName = \"Alert\";\r\n","import { tv } from \"tailwind-variants\";\r\nimport React from \"react\";\r\nimport { useAlert } from \"../AlertContext\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport { AlertVariants } from \"../Alert\";\r\n\r\nconst alertDescriptionStyles = tv({\r\n\tbase: \"col-start-2 text-sm text-muted\",\r\n\tvariants: {\r\n\t\tstatus: {\r\n\t\t\tsuccess: \"text-status-success-fg\",\r\n\t\t\twarning: \"text-status-warning-fg\",\r\n\t\t\terror: \"text-status-error-fg\",\r\n\t\t\tinfo: \"text-status-info-fg\"\r\n\t\t},\r\n\t\tfocus: {\r\n\t\t\tlow: \"text-muted\",\r\n\t\t\tmedium: \"\",\r\n\t\t\thigh: \"\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<AlertVariants>,\r\n\tdefaultVariants: {\r\n\t\tfocus: \"low\"\r\n\t}\r\n});\r\n\r\nexport type AlertDescriptionProps = React.HTMLAttributes<HTMLParagraphElement> & AlertVariants;\r\n\r\n/**\r\n * Компонент AlertDescription для отображения описания алерта\r\n */\r\nexport const AlertDescription = React.forwardRef<HTMLParagraphElement, AlertDescriptionProps>(\r\n\t({ className, focus: focusProp, status: statusProp, ...props }, ref) => {\r\n\t\tconst { status, focus } = useAlert({ status: statusProp, focus: focusProp });\r\n\r\n\t\treturn <div ref={ref} className={alertDescriptionStyles({ className, focus, status })} {...props} />;\r\n\t}\r\n);\r\n\r\nAlertDescription.displayName = \"AlertDescription\";\r\n","import { Icon, IconProps } from \"@/components/icon/Icon\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { useAlert } from \"../AlertContext\";\r\nimport { AlertVariants } from \"../Alert\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\ntype AlertIconVariants = Omit<AlertVariants, \"focus\">;\r\n\r\nconst alertIconStyles = tv({\r\n\tbase: \"text-status-default mr-3 translate-y-0.5\",\r\n\tvariants: {\r\n\t\tstatus: {\r\n\t\t\tsuccess: \"text-status-success-hover\",\r\n\t\t\twarning: \"text-status-warning-hover\",\r\n\t\t\terror: \"text-status-error-hover\",\r\n\t\t\tinfo: \"text-status-info-hover\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<AlertIconVariants>\r\n});\r\n\r\nexport type AlertIconProps = IconProps & AlertIconVariants;\r\n\r\n/**\r\n * Компонент AlertIcon для отображения иконки алерта\r\n */\r\nexport const AlertIcon = React.forwardRef<SVGSVGElement, AlertIconProps>(\r\n\t({ className, status: statusProp, ...props }, ref) => {\r\n\t\tconst { status } = useAlert({ status: statusProp });\r\n\r\n\t\treturn <Icon ref={ref} className={alertIconStyles({ status, className })} {...props} />;\r\n\t}\r\n);\r\n\r\nAlertIcon.displayName = \"AlertIcon\";\r\n"],"names":["alertStyles","tv","Alert","React","className","status","focus","children","props","ref","contextValue","jsx","AlertContext","alertDescriptionStyles","AlertDescription","focusProp","statusProp","useAlert","alertIconStyles","AlertIcon","Icon"],"mappings":";;;;;;AAYA,MAAMA,IAAcC,EAAG;AAAA,EACtB,MAAM;AAAA,IACL;AAAA,IACA;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA;AAAA,MAER,MAAM;AAAA,IAAA;AAAA,EAER;AAAA,EACA,kBAAkB;AAAA,IACjB;AAAA,MACC,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,IAAA;AAAA,EAET;AAAA,EACA,iBAAiB;AAAA,IAChB,OAAO;AAAA,EAAA;AAET,CAAC,GAWYC,IAAQC,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,QAAAC,GAAQ,OAAAC,IAAQ,OAAO,UAAAC,GAAU,GAAGC,EAAM,GAAGC,MAAQ;AAClE,UAAMC,IAAeP,EAAM;AAAA,MAC1B,OAAO;AAAA,QACN,QAAAE;AAAA,QACA,OAAAC;AAAA,MAAA;AAAA,MAED,CAACD,GAAQC,CAAK;AAAA,IACf;AAGC,WAAA,gBAAAK,EAACC,EAAa,UAAb,EAAsB,OAAOF,GAC7B,UAAA,gBAAAC,EAAC,OAAI,EAAA,KAAAF,GAAU,MAAK,SAAQ,WAAWT,EAAY,EAAE,QAAAK,GAAQ,OAAAC,GAAO,WAAAF,EAAW,CAAA,GAAI,GAAGI,GACpF,UAAAD,EAAA,CACF,EACD,CAAA;AAAA,EAAA;AAGH;AAEAL,EAAM,cAAc;AClEpB,MAAMW,IAAyBZ,EAAG;AAAA,EACjC,MAAM;AAAA,EACN,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA;AAAA,EAER;AAAA,EACA,iBAAiB;AAAA,IAChB,OAAO;AAAA,EAAA;AAET,CAAC,GAOYa,IAAmBX,EAAM;AAAA,EACrC,CAAC,EAAE,WAAAC,GAAW,OAAOW,GAAW,QAAQC,GAAY,GAAGR,EAAM,GAAGC,MAAQ;AACjE,UAAA,EAAE,QAAAJ,GAAQ,OAAAC,EAAA,IAAUW,EAAS,EAAE,QAAQD,GAAY,OAAOD,GAAW;AAE3E,WAAQ,gBAAAJ,EAAA,OAAA,EAAI,KAAAF,GAAU,WAAWI,EAAuB,EAAE,WAAAT,GAAW,OAAAE,GAAO,QAAAD,EAAO,CAAC,GAAI,GAAGG,EAAO,CAAA;AAAA,EAAA;AAEpG;AAEAM,EAAiB,cAAc;AC9B/B,MAAMI,IAAkBjB,EAAG;AAAA,EAC1B,MAAM;AAAA,EACN,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,EACP;AAEF,CAAC,GAOYkB,IAAYhB,EAAM;AAAA,EAC9B,CAAC,EAAE,WAAAC,GAAW,QAAQY,GAAY,GAAGR,KAASC,MAAQ;AACrD,UAAM,EAAE,QAAAJ,EAAO,IAAIY,EAAS,EAAE,QAAQD,GAAY;AAE3C,WAAA,gBAAAL,EAACS,GAAK,EAAA,KAAAX,GAAU,WAAWS,EAAgB,EAAE,QAAAb,GAAQ,WAAAD,EAAU,CAAC,GAAI,GAAGI,EAAO,CAAA;AAAA,EAAA;AAEvF;AAEAW,EAAU,cAAc;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as t, jsxs as f } from "react/jsx-runtime";
|
|
2
2
|
import p from "react";
|
|
3
3
|
import { T as u } from "./index-BVqs-uqP.js";
|
|
4
|
-
import { B as h } from "./ButtonBase-
|
|
4
|
+
import { B as h } from "./ButtonBase-CbWrYcx-.js";
|
|
5
5
|
const w = u({
|
|
6
6
|
slots: {
|
|
7
7
|
container: "flex items-center justify-center gap-2 overflow-hidden",
|
|
@@ -33,4 +33,4 @@ x.displayName = "Button";
|
|
|
33
33
|
export {
|
|
34
34
|
x as B
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=Button-
|
|
36
|
+
//# sourceMappingURL=Button-_qdP4hSf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button-_qdP4hSf.js","sources":["../src/components/button/button/Button.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { ButtonBase, ButtonBaseProps, ButtonBaseVariants } from \"../button-base/ButtonBase\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\ntype ButtonVariants = Pick<ButtonBaseVariants, \"size\">;\r\n\r\nconst buttonStyles = tv({\r\n\tslots: {\r\n\t\tcontainer: \"flex items-center justify-center gap-2 overflow-hidden\",\r\n\t\ticon: \"h-4 w-4\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\txs: { icon: \"h-3 w-3\" },\r\n\t\t\tsm: { icon: \"h-3.5 w-3.5\" },\r\n\t\t\tmd: {},\r\n\t\t\tlg: {},\r\n\t\t\txl: { icon: \"h-5 w-5\", container: \"gap-3\" }\r\n\t\t}\r\n\t} satisfies VariantsConfig<ButtonVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ButtonProps = PropsWithChildren<\r\n\tButtonBaseProps &\r\n\t\tButtonVariants & {\r\n\t\t\tstartIcon?: React.ElementType;\r\n\t\t\tendIcon?: React.ElementType;\r\n\t\t\tcontainerClassName?: string;\r\n\t\t\ticonClassName?: string;\r\n\t\t}\r\n>;\r\n\r\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n\t({ startIcon: StartIcon, endIcon: EndIcon, size, children, iconClassName, containerClassName, ...props }, ref) => {\r\n\t\tconst styles = buttonStyles({ size });\r\n\r\n\t\tconst startIconEl = StartIcon && <StartIcon className={styles.icon({ className: iconClassName })} />;\r\n\t\tconst endIconEl = EndIcon && <EndIcon className={styles.icon({ className: iconClassName })} />;\r\n\r\n\t\treturn (\r\n\t\t\t<ButtonBase {...props} size={size} ref={ref}>\r\n\t\t\t\t<div className={styles.container({ className: containerClassName })}>\r\n\t\t\t\t\t{startIconEl}\r\n\t\t\t\t\t{children}\r\n\t\t\t\t\t{endIconEl}\r\n\t\t\t\t</div>\r\n\t\t\t</ButtonBase>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nButton.displayName = \"Button\";\r\n"],"names":["buttonStyles","tv","Button","React","StartIcon","EndIcon","size","children","iconClassName","containerClassName","props","ref","styles","startIconEl","jsx","endIconEl","ButtonBase","jsxs"],"mappings":";;;;AAOA,MAAMA,IAAeC,EAAG;AAAA,EACvB,OAAO;AAAA,IACN,WAAW;AAAA,IACX,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,MACL,IAAI,EAAE,MAAM,UAAU;AAAA,MACtB,IAAI,EAAE,MAAM,cAAc;AAAA,MAC1B,IAAI,CAAC;AAAA,MACL,IAAI,CAAC;AAAA,MACL,IAAI,EAAE,MAAM,WAAW,WAAW,QAAQ;AAAA,IAAA;AAAA,EAE5C;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,EAAA;AAER,CAAC,GAYYC,IAASC,EAAM;AAAA,EAC3B,CAAC,EAAE,WAAWC,GAAW,SAASC,GAAS,MAAAC,GAAM,UAAAC,GAAU,eAAAC,GAAe,oBAAAC,GAAoB,GAAGC,EAAA,GAASC,MAAQ;AACjH,UAAMC,IAASZ,EAAa,EAAE,MAAAM,GAAM,GAE9BO,IAAcT,KAAa,gBAAAU,EAACV,GAAU,EAAA,WAAWQ,EAAO,KAAK,EAAE,WAAWJ,EAAc,CAAC,EAAG,CAAA,GAC5FO,IAAYV,KAAW,gBAAAS,EAACT,GAAQ,EAAA,WAAWO,EAAO,KAAK,EAAE,WAAWJ,EAAc,CAAC,EAAG,CAAA;AAE5F,WACE,gBAAAM,EAAAE,GAAA,EAAY,GAAGN,GAAO,MAAAJ,GAAY,KAAAK,GAClC,UAAA,gBAAAM,EAAC,OAAI,EAAA,WAAWL,EAAO,UAAU,EAAE,WAAWH,EAAA,CAAoB,GAChE,UAAA;AAAA,MAAAI;AAAA,MACAN;AAAA,MACAQ;AAAA,IAAA,EAAA,CACF,EACD,CAAA;AAAA,EAAA;AAGH;AAEAb,EAAO,cAAc;"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { jsx as g } from "react/jsx-runtime";
|
|
2
|
+
import { S as u } from "./index-BtQfgaSF.js";
|
|
3
|
+
import c from "react";
|
|
4
|
+
import { T as b } from "./index-BVqs-uqP.js";
|
|
5
|
+
const v = b({
|
|
6
|
+
base: "inline-flex cursor-pointer select-none items-center justify-center overflow-hidden rounded-lg font-medium text-primary-fg transition-all focus-visible:shadow-focus focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50",
|
|
7
|
+
variants: {
|
|
8
|
+
variant: {
|
|
9
|
+
primary: "bg-primary-accent text-primary-bg shadow-soft-base hover:bg-primary-accent-hover active:bg-primary-accent-hover",
|
|
10
|
+
secondary: "bg-secondary-bg-hover hover:bg-primary-bg-hover active:bg-primary-bg-hover",
|
|
11
|
+
outline: "border border-solid border-secondary-border bg-secondary-bg shadow-soft-sm hover:border-primary-border hover:bg-secondary-bg-hover active:border-primary-border active:bg-secondary-bg-hover",
|
|
12
|
+
ghost: "bg-transparent hover:bg-secondary-bg-hover active:bg-secondary-bg-hover",
|
|
13
|
+
link: "bg-transparent text-muted underline hover:text-primary-fg active:text-primary-fg",
|
|
14
|
+
text: "bg-transparent text-muted hover:text-primary-fg active:text-primary-fg"
|
|
15
|
+
},
|
|
16
|
+
status: {
|
|
17
|
+
default: "",
|
|
18
|
+
info: "text-status-info-fg",
|
|
19
|
+
success: "text-status-success-fg",
|
|
20
|
+
warning: "text-status-warning-fg",
|
|
21
|
+
error: "text-status-error-fg"
|
|
22
|
+
},
|
|
23
|
+
size: {
|
|
24
|
+
xs: "h-7 gap-2 px-2.5 py-1.5 text-xs",
|
|
25
|
+
sm: "h-8 gap-2 px-3 py-2 text-xs",
|
|
26
|
+
md: "h-9 gap-2 px-4 py-2 text-sm",
|
|
27
|
+
lg: "h-10 gap-2 px-5 py-2 text-sm",
|
|
28
|
+
xl: "h-11 gap-3 px-6 py-3 text-base"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
defaultVariants: {
|
|
32
|
+
variant: "primary",
|
|
33
|
+
size: "md",
|
|
34
|
+
status: "default"
|
|
35
|
+
},
|
|
36
|
+
compoundVariants: [
|
|
37
|
+
/*
|
|
38
|
+
* Statuses
|
|
39
|
+
*/
|
|
40
|
+
// Primary
|
|
41
|
+
{
|
|
42
|
+
variant: "primary",
|
|
43
|
+
status: ["info", "success", "warning", "error"],
|
|
44
|
+
class: "text-white hover:text-white active:text-white"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
variant: "primary",
|
|
48
|
+
status: "info",
|
|
49
|
+
class: "bg-status-info hover:bg-status-info-hover active:bg-status-info-hover"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
variant: "primary",
|
|
53
|
+
status: "success",
|
|
54
|
+
class: "bg-status-success hover:bg-status-success-hover active:bg-status-success-hover"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
variant: "primary",
|
|
58
|
+
status: "warning",
|
|
59
|
+
class: "bg-status-warning hover:bg-status-warning-hover active:bg-status-warning-hover"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
variant: "primary",
|
|
63
|
+
status: "error",
|
|
64
|
+
class: "bg-status-error hover:bg-status-error-hover active:bg-status-error-hover"
|
|
65
|
+
},
|
|
66
|
+
// Secondary
|
|
67
|
+
{
|
|
68
|
+
variant: "secondary",
|
|
69
|
+
status: "info",
|
|
70
|
+
class: "bg-status-info-bg hover:bg-status-info-bg-hover active:bg-status-info-bg-hover"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
variant: "secondary",
|
|
74
|
+
status: "success",
|
|
75
|
+
class: "bg-status-success-bg hover:bg-status-success-bg-hover active:bg-status-success-bg-hover"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
variant: "secondary",
|
|
79
|
+
status: "warning",
|
|
80
|
+
class: "bg-status-warning-bg hover:bg-status-warning-bg-hover active:bg-status-warning-bg-hover"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
variant: "secondary",
|
|
84
|
+
status: "error",
|
|
85
|
+
class: "bg-status-error-bg hover:bg-status-error-bg-hover active:bg-status-error-bg-hover"
|
|
86
|
+
},
|
|
87
|
+
// Outline
|
|
88
|
+
{
|
|
89
|
+
variant: "outline",
|
|
90
|
+
status: "info",
|
|
91
|
+
class: "border-status-info-secondary-border hover:border-status-info-primary-border hover:bg-status-info-bg active:border-status-info-secondary-border active:bg-status-info-bg"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
variant: "outline",
|
|
95
|
+
status: "success",
|
|
96
|
+
class: "border-status-success-secondary-border hover:border-status-success-primary-border hover:bg-status-success-bg active:border-status-success-secondary-border active:bg-status-success-bg"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
variant: "outline",
|
|
100
|
+
status: "warning",
|
|
101
|
+
class: "border-status-warning-secondary-border hover:border-status-warning-primary-border hover:bg-status-warning-bg active:border-status-warning-secondary-border active:bg-status-warning-bg"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
variant: "outline",
|
|
105
|
+
status: "error",
|
|
106
|
+
class: "border-status-error-secondary-border hover:border-status-error-primary-border hover:bg-status-error-bg active:border-status-error-secondary-border active:bg-status-error-bg"
|
|
107
|
+
},
|
|
108
|
+
// Ghost
|
|
109
|
+
{
|
|
110
|
+
variant: "ghost",
|
|
111
|
+
status: "info",
|
|
112
|
+
class: "text-status-info-fg hover:bg-status-info-bg active:bg-status-info-bg"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
variant: "ghost",
|
|
116
|
+
status: "success",
|
|
117
|
+
class: "text-status-success-fg hover:bg-status-success-bg active:bg-status-success-bg"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
variant: "ghost",
|
|
121
|
+
status: "warning",
|
|
122
|
+
class: "text-status-warning-fg hover:bg-status-warning-bg active:bg-status-warning-bg"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
variant: "ghost",
|
|
126
|
+
status: "error",
|
|
127
|
+
class: "text-status-error-fg hover:bg-status-error-bg active:bg-status-error-bg"
|
|
128
|
+
},
|
|
129
|
+
// Text & Link
|
|
130
|
+
{
|
|
131
|
+
variant: ["text", "link"],
|
|
132
|
+
status: "info",
|
|
133
|
+
class: "text-status-info-fg/70 hover:text-status-info-fg active:text-status-info-fg"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
variant: ["text", "link"],
|
|
137
|
+
status: "success",
|
|
138
|
+
class: "text-status-success-fg/70 hover:text-status-success-fg active:text-status-success-fg"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
variant: ["text", "link"],
|
|
142
|
+
status: "warning",
|
|
143
|
+
class: "text-status-warning-fg/70 hover:text-status-warning-fg active:text-status-warning-fg"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
variant: ["text", "link"],
|
|
147
|
+
status: "error",
|
|
148
|
+
class: "text-status-error-fg/70 hover:text-status-error-fg active:text-status-error-fg"
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
}), d = c.forwardRef(
|
|
152
|
+
({ variant: t, size: s, children: r, status: a, className: e, asChild: o = !1, ...i }, n) => /* @__PURE__ */ g(o ? u : "button", { className: v({ variant: t, size: s, status: a, className: e }), ref: n, ...i, children: r })
|
|
153
|
+
);
|
|
154
|
+
d.displayName = "ButtonBase";
|
|
155
|
+
export {
|
|
156
|
+
d as B
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=ButtonBase-CbWrYcx-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonBase-CbWrYcx-.js","sources":["../src/components/button/button-base/ButtonBase.tsx"],"sourcesContent":["import { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport React, { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport interface ButtonBaseVariants {\r\n\tvariant?: \"primary\" | \"secondary\" | \"outline\" | \"ghost\" | \"link\" | \"text\";\r\n\tstatus?: \"default\" | \"info\" | \"success\" | \"warning\" | \"error\";\r\n\tsize?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\r\n}\r\n\r\nconst buttonBaseStyles = tv({\r\n\tbase: \"inline-flex cursor-pointer select-none items-center justify-center overflow-hidden rounded-lg font-medium text-primary-fg transition-all focus-visible:shadow-focus focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\",\r\n\tvariants: {\r\n\t\tvariant: {\r\n\t\t\tprimary:\r\n\t\t\t\t\"bg-primary-accent text-primary-bg shadow-soft-base hover:bg-primary-accent-hover active:bg-primary-accent-hover\",\r\n\t\t\tsecondary: \"bg-secondary-bg-hover hover:bg-primary-bg-hover active:bg-primary-bg-hover\",\r\n\t\t\toutline:\r\n\t\t\t\t\"border border-solid border-secondary-border bg-secondary-bg shadow-soft-sm hover:border-primary-border hover:bg-secondary-bg-hover active:border-primary-border active:bg-secondary-bg-hover\",\r\n\t\t\tghost: \"bg-transparent hover:bg-secondary-bg-hover active:bg-secondary-bg-hover\",\r\n\t\t\tlink: \"bg-transparent text-muted underline hover:text-primary-fg active:text-primary-fg\",\r\n\t\t\ttext: \"bg-transparent text-muted hover:text-primary-fg active:text-primary-fg\"\r\n\t\t},\r\n\t\tstatus: {\r\n\t\t\tdefault: \"\",\r\n\t\t\tinfo: \"text-status-info-fg\",\r\n\t\t\tsuccess: \"text-status-success-fg\",\r\n\t\t\twarning: \"text-status-warning-fg\",\r\n\t\t\terror: \"text-status-error-fg\"\r\n\t\t},\r\n\t\tsize: {\r\n\t\t\txs: \"h-7 gap-2 px-2.5 py-1.5 text-xs\",\r\n\t\t\tsm: \"h-8 gap-2 px-3 py-2 text-xs\",\r\n\t\t\tmd: \"h-9 gap-2 px-4 py-2 text-sm\",\r\n\t\t\tlg: \"h-10 gap-2 px-5 py-2 text-sm\",\r\n\t\t\txl: \"h-11 gap-3 px-6 py-3 text-base\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<ButtonBaseVariants>,\r\n\tdefaultVariants: {\r\n\t\tvariant: \"primary\",\r\n\t\tsize: \"md\",\r\n\t\tstatus: \"default\"\r\n\t},\r\n\tcompoundVariants: [\r\n\t\t/*\r\n\t\t * Statuses\r\n\t\t */\r\n\t\t// Primary\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\tstatus: [\"info\", \"success\", \"warning\", \"error\"],\r\n\t\t\tclass: \"text-white hover:text-white active:text-white\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\tstatus: \"info\",\r\n\t\t\tclass: \"bg-status-info hover:bg-status-info-hover active:bg-status-info-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\tstatus: \"success\",\r\n\t\t\tclass: \"bg-status-success hover:bg-status-success-hover active:bg-status-success-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\tstatus: \"warning\",\r\n\t\t\tclass: \"bg-status-warning hover:bg-status-warning-hover active:bg-status-warning-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\tstatus: \"error\",\r\n\t\t\tclass: \"bg-status-error hover:bg-status-error-hover active:bg-status-error-hover\"\r\n\t\t},\r\n\t\t// Secondary\r\n\t\t{\r\n\t\t\tvariant: \"secondary\",\r\n\t\t\tstatus: \"info\",\r\n\t\t\tclass: \"bg-status-info-bg hover:bg-status-info-bg-hover active:bg-status-info-bg-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"secondary\",\r\n\t\t\tstatus: \"success\",\r\n\t\t\tclass: \"bg-status-success-bg hover:bg-status-success-bg-hover active:bg-status-success-bg-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"secondary\",\r\n\t\t\tstatus: \"warning\",\r\n\t\t\tclass: \"bg-status-warning-bg hover:bg-status-warning-bg-hover active:bg-status-warning-bg-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"secondary\",\r\n\t\t\tstatus: \"error\",\r\n\t\t\tclass: \"bg-status-error-bg hover:bg-status-error-bg-hover active:bg-status-error-bg-hover\"\r\n\t\t},\r\n\t\t// Outline\r\n\t\t{\r\n\t\t\tvariant: \"outline\",\r\n\t\t\tstatus: \"info\",\r\n\t\t\tclass: \"border-status-info-secondary-border hover:border-status-info-primary-border hover:bg-status-info-bg active:border-status-info-secondary-border active:bg-status-info-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"outline\",\r\n\t\t\tstatus: \"success\",\r\n\t\t\tclass: \"border-status-success-secondary-border hover:border-status-success-primary-border hover:bg-status-success-bg active:border-status-success-secondary-border active:bg-status-success-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"outline\",\r\n\t\t\tstatus: \"warning\",\r\n\t\t\tclass: \"border-status-warning-secondary-border hover:border-status-warning-primary-border hover:bg-status-warning-bg active:border-status-warning-secondary-border active:bg-status-warning-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"outline\",\r\n\t\t\tstatus: \"error\",\r\n\t\t\tclass: \"border-status-error-secondary-border hover:border-status-error-primary-border hover:bg-status-error-bg active:border-status-error-secondary-border active:bg-status-error-bg\"\r\n\t\t},\r\n\t\t// Ghost\r\n\t\t{\r\n\t\t\tvariant: \"ghost\",\r\n\t\t\tstatus: \"info\",\r\n\t\t\tclass: \"text-status-info-fg hover:bg-status-info-bg active:bg-status-info-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"ghost\",\r\n\t\t\tstatus: \"success\",\r\n\t\t\tclass: \"text-status-success-fg hover:bg-status-success-bg active:bg-status-success-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"ghost\",\r\n\t\t\tstatus: \"warning\",\r\n\t\t\tclass: \"text-status-warning-fg hover:bg-status-warning-bg active:bg-status-warning-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"ghost\",\r\n\t\t\tstatus: \"error\",\r\n\t\t\tclass: \"text-status-error-fg hover:bg-status-error-bg active:bg-status-error-bg\"\r\n\t\t},\r\n\t\t// Text & Link\r\n\t\t{\r\n\t\t\tvariant: [\"text\", \"link\"],\r\n\t\t\tstatus: \"info\",\r\n\t\t\tclass: \"text-status-info-fg/70 hover:text-status-info-fg active:text-status-info-fg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: [\"text\", \"link\"],\r\n\t\t\tstatus: \"success\",\r\n\t\t\tclass: \"text-status-success-fg/70 hover:text-status-success-fg active:text-status-success-fg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: [\"text\", \"link\"],\r\n\t\t\tstatus: \"warning\",\r\n\t\t\tclass: \"text-status-warning-fg/70 hover:text-status-warning-fg active:text-status-warning-fg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: [\"text\", \"link\"],\r\n\t\t\tstatus: \"error\",\r\n\t\t\tclass: \"text-status-error-fg/70 hover:text-status-error-fg active:text-status-error-fg\"\r\n\t\t}\r\n\t]\r\n});\r\n\r\nexport type ButtonBaseProps = React.ButtonHTMLAttributes<HTMLButtonElement> &\r\n\tButtonBaseVariants & {\r\n\t\tasChild?: boolean;\r\n\t};\r\n\r\nexport const ButtonBase = React.forwardRef<HTMLButtonElement, PropsWithChildren<ButtonBaseProps>>(\r\n\t({ variant, size, children, status, className, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : \"button\";\r\n\t\treturn (\r\n\t\t\t<Comp className={buttonBaseStyles({ variant, size, status, className })} ref={ref} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</Comp>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nButtonBase.displayName = \"ButtonBase\";\r\n"],"names":["buttonBaseStyles","tv","ButtonBase","React","variant","size","children","status","className","asChild","props","ref","jsx","Slot"],"mappings":"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"}
|
|
@@ -11,18 +11,18 @@ import { P as J } from "./index-BpWB3aFK.js";
|
|
|
11
11
|
import { T as z } from "./index-BVqs-uqP.js";
|
|
12
12
|
import { M as Q } from "./minus-BltQa7Q2.js";
|
|
13
13
|
import { C as Y } from "./check-CeyaOoZv.js";
|
|
14
|
-
import { F as Z } from "./FieldLabel-
|
|
14
|
+
import { F as Z } from "./FieldLabel-ic0eq9Un.js";
|
|
15
15
|
import { D as ee } from "./Description-BTPMlTT-.js";
|
|
16
16
|
var g = "Checkbox", [te, ge] = V(g), [re, N] = te(g);
|
|
17
17
|
function ae(t) {
|
|
18
18
|
const {
|
|
19
19
|
__scopeCheckbox: s,
|
|
20
20
|
checked: a,
|
|
21
|
-
children:
|
|
21
|
+
children: c,
|
|
22
22
|
defaultChecked: r,
|
|
23
23
|
disabled: e,
|
|
24
24
|
form: p,
|
|
25
|
-
name:
|
|
25
|
+
name: n,
|
|
26
26
|
onCheckedChange: d,
|
|
27
27
|
required: h,
|
|
28
28
|
value: k = "on",
|
|
@@ -42,7 +42,7 @@ function ae(t) {
|
|
|
42
42
|
setChecked: v,
|
|
43
43
|
control: C,
|
|
44
44
|
setControl: f,
|
|
45
|
-
name:
|
|
45
|
+
name: n,
|
|
46
46
|
form: p,
|
|
47
47
|
value: k,
|
|
48
48
|
hasConsumerStoppedPropagationRef: u,
|
|
@@ -57,16 +57,16 @@ function ae(t) {
|
|
|
57
57
|
{
|
|
58
58
|
scope: s,
|
|
59
59
|
...R,
|
|
60
|
-
children: oe(l) ? l(R) :
|
|
60
|
+
children: oe(l) ? l(R) : c
|
|
61
61
|
}
|
|
62
62
|
);
|
|
63
63
|
}
|
|
64
64
|
var B = "CheckboxTrigger", D = m.forwardRef(
|
|
65
|
-
({ __scopeCheckbox: t, onKeyDown: s, onClick: a, ...
|
|
65
|
+
({ __scopeCheckbox: t, onKeyDown: s, onClick: a, ...c }, r) => {
|
|
66
66
|
const {
|
|
67
67
|
control: e,
|
|
68
68
|
value: p,
|
|
69
|
-
disabled:
|
|
69
|
+
disabled: n,
|
|
70
70
|
checked: d,
|
|
71
71
|
required: h,
|
|
72
72
|
setControl: k,
|
|
@@ -89,10 +89,10 @@ var B = "CheckboxTrigger", D = m.forwardRef(
|
|
|
89
89
|
"aria-checked": x(d) ? "mixed" : d,
|
|
90
90
|
"aria-required": h,
|
|
91
91
|
"data-state": L(d),
|
|
92
|
-
"data-disabled":
|
|
93
|
-
disabled:
|
|
92
|
+
"data-disabled": n ? "" : void 0,
|
|
93
|
+
disabled: n,
|
|
94
94
|
value: p,
|
|
95
|
-
...
|
|
95
|
+
...c,
|
|
96
96
|
ref: f,
|
|
97
97
|
onKeyDown: S(s, (i) => {
|
|
98
98
|
i.key === "Enter" && i.preventDefault();
|
|
@@ -109,11 +109,11 @@ var P = m.forwardRef(
|
|
|
109
109
|
(t, s) => {
|
|
110
110
|
const {
|
|
111
111
|
__scopeCheckbox: a,
|
|
112
|
-
name:
|
|
112
|
+
name: c,
|
|
113
113
|
checked: r,
|
|
114
114
|
defaultChecked: e,
|
|
115
115
|
required: p,
|
|
116
|
-
disabled:
|
|
116
|
+
disabled: n,
|
|
117
117
|
value: d,
|
|
118
118
|
onCheckedChange: h,
|
|
119
119
|
form: k,
|
|
@@ -125,10 +125,10 @@ var P = m.forwardRef(
|
|
|
125
125
|
__scopeCheckbox: a,
|
|
126
126
|
checked: r,
|
|
127
127
|
defaultChecked: e,
|
|
128
|
-
disabled:
|
|
128
|
+
disabled: n,
|
|
129
129
|
required: p,
|
|
130
130
|
onCheckedChange: h,
|
|
131
|
-
name:
|
|
131
|
+
name: c,
|
|
132
132
|
form: k,
|
|
133
133
|
value: d,
|
|
134
134
|
internal_do_not_use_render: ({ isFormControl: b }) => /* @__PURE__ */ _(G, { children: [
|
|
@@ -154,11 +154,11 @@ var P = m.forwardRef(
|
|
|
154
154
|
P.displayName = g;
|
|
155
155
|
var M = "CheckboxIndicator", T = m.forwardRef(
|
|
156
156
|
(t, s) => {
|
|
157
|
-
const { __scopeCheckbox: a, forceMount:
|
|
157
|
+
const { __scopeCheckbox: a, forceMount: c, ...r } = t, e = N(M, a);
|
|
158
158
|
return /* @__PURE__ */ o(
|
|
159
159
|
J,
|
|
160
160
|
{
|
|
161
|
-
present:
|
|
161
|
+
present: c || x(e.checked) || e.checked === !0,
|
|
162
162
|
children: /* @__PURE__ */ o(
|
|
163
163
|
I.span,
|
|
164
164
|
{
|
|
@@ -177,18 +177,18 @@ T.displayName = M;
|
|
|
177
177
|
var q = "CheckboxBubbleInput", A = m.forwardRef(
|
|
178
178
|
({ __scopeCheckbox: t, ...s }, a) => {
|
|
179
179
|
const {
|
|
180
|
-
control:
|
|
180
|
+
control: c,
|
|
181
181
|
hasConsumerStoppedPropagationRef: r,
|
|
182
182
|
checked: e,
|
|
183
183
|
defaultChecked: p,
|
|
184
|
-
required:
|
|
184
|
+
required: n,
|
|
185
185
|
disabled: d,
|
|
186
186
|
name: h,
|
|
187
187
|
value: k,
|
|
188
188
|
form: l,
|
|
189
189
|
bubbleInput: b,
|
|
190
190
|
setBubbleInput: v
|
|
191
|
-
} = N(q, t), C = F(a, v), f = X(e), y = $(
|
|
191
|
+
} = N(q, t), C = F(a, v), f = X(e), y = $(c);
|
|
192
192
|
m.useEffect(() => {
|
|
193
193
|
const u = b;
|
|
194
194
|
if (!u) return;
|
|
@@ -208,7 +208,7 @@ var q = "CheckboxBubbleInput", A = m.forwardRef(
|
|
|
208
208
|
type: "checkbox",
|
|
209
209
|
"aria-hidden": !0,
|
|
210
210
|
defaultChecked: p ?? i.current,
|
|
211
|
-
required:
|
|
211
|
+
required: n,
|
|
212
212
|
disabled: d,
|
|
213
213
|
name: h,
|
|
214
214
|
value: k,
|
|
@@ -248,7 +248,7 @@ const se = z({
|
|
|
248
248
|
"peer shrink-0 rounded-sm border border-primary-border bg-secondary-bg shadow-soft-sm",
|
|
249
249
|
"flex items-center justify-center",
|
|
250
250
|
"hover:border-muted",
|
|
251
|
-
"focus-visible:border-secondary-border focus-visible:shadow-focus focus-visible:outline-
|
|
251
|
+
"focus-visible:border-secondary-border focus-visible:shadow-focus focus-visible:outline-hidden",
|
|
252
252
|
"disabled:cursor-not-allowed disabled:border-secondary-border disabled:bg-primary-bg disabled:shadow-soft-sm",
|
|
253
253
|
"data-[state=checked]:border-primary-accent data-[state=checked]:bg-primary-accent data-[state=checked]:text-primary-bg",
|
|
254
254
|
"data-[state=checked]:hover:border-primary-accent-hover data-[state=checked]:hover:bg-primary-accent-hover",
|
|
@@ -277,13 +277,13 @@ const se = z({
|
|
|
277
277
|
size: "md"
|
|
278
278
|
}
|
|
279
279
|
}), j = m.forwardRef(
|
|
280
|
-
({ className: t, size: s, ...a },
|
|
280
|
+
({ className: t, size: s, ...a }, c) => {
|
|
281
281
|
const r = se({ size: s });
|
|
282
|
-
return /* @__PURE__ */ o(P, { ref:
|
|
282
|
+
return /* @__PURE__ */ o(P, { ref: c, className: r.root({ class: t }), ...a, children: /* @__PURE__ */ o(T, { children: a.checked === "indeterminate" ? /* @__PURE__ */ o(Q, { className: r.icon() }) : /* @__PURE__ */ o(Y, { className: r.icon() }) }) });
|
|
283
283
|
}
|
|
284
284
|
);
|
|
285
285
|
j.displayName = P.displayName;
|
|
286
|
-
const
|
|
286
|
+
const ce = z({
|
|
287
287
|
slots: {
|
|
288
288
|
container: "flex cursor-pointer items-center space-x-3",
|
|
289
289
|
textContainer: "flex flex-col gap-1",
|
|
@@ -321,27 +321,27 @@ const ne = z({
|
|
|
321
321
|
defaultVariants: {
|
|
322
322
|
alignment: "left"
|
|
323
323
|
}
|
|
324
|
-
}),
|
|
325
|
-
({ className: t, id: s, label: a, alignment:
|
|
324
|
+
}), ne = K.forwardRef(
|
|
325
|
+
({ className: t, id: s, label: a, alignment: c, disabled: r, error: e, outline: p, description: n, ...d }, h) => {
|
|
326
326
|
const {
|
|
327
327
|
container: k,
|
|
328
328
|
textContainer: l,
|
|
329
329
|
label: b,
|
|
330
330
|
labelWrapper: v
|
|
331
|
-
} =
|
|
331
|
+
} = ce({ alignment: c, disabled: r, error: e, outline: p, withDescription: !!n }), C = U(), f = s || `checkbox-${C}`;
|
|
332
332
|
return /* @__PURE__ */ _("label", { htmlFor: f, className: k({ class: t }), children: [
|
|
333
333
|
/* @__PURE__ */ o(j, { disabled: r, id: f, ...d, ref: h }),
|
|
334
|
-
(a ||
|
|
334
|
+
(a || n) && /* @__PURE__ */ _("div", { className: l(), children: [
|
|
335
335
|
a && /* @__PURE__ */ o("div", { className: v(), children: /* @__PURE__ */ o(Z, { htmlFor: f, className: b(), children: a }) }),
|
|
336
|
-
|
|
336
|
+
n && /* @__PURE__ */ o(ee, { size: "xs", children: n })
|
|
337
337
|
] })
|
|
338
338
|
] });
|
|
339
339
|
}
|
|
340
340
|
);
|
|
341
|
-
|
|
341
|
+
ne.displayName = "CheckboxField";
|
|
342
342
|
export {
|
|
343
343
|
j as C,
|
|
344
|
-
|
|
344
|
+
ne as a,
|
|
345
345
|
se as c
|
|
346
346
|
};
|
|
347
|
-
//# sourceMappingURL=CheckboxField-
|
|
347
|
+
//# sourceMappingURL=CheckboxField-Ca48ZYoX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxField-Ca48ZYoX.js","sources":["../node_modules/.pnpm/@radix-ui+react-checkbox@1._c3bf957356fa9b096a8972cab714fe1a/node_modules/@radix-ui/react-checkbox/dist/index.mjs","../src/components/checkbox/Checkbox.tsx","../src/components/checkbox/checkbox-field/CheckboxField.tsx"],"sourcesContent":["\"use client\";\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = React.useState(null);\n const [bubbleInput, setBubbleInput] = React.useState(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ jsx(\n CheckboxProviderImpl,\n {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n }\n );\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = React.forwardRef(\n ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n isFormControl,\n bubbleInput\n } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [control, setChecked]);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(onClick, (event) => {\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }\n);\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n return /* @__PURE__ */ jsx(\n CheckboxProvider,\n {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n CheckboxTrigger,\n {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n CheckboxBubbleInput,\n {\n __scopeCheckbox\n }\n )\n ] })\n }\n );\n }\n);\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n )\n }\n );\n }\n);\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = React.forwardRef(\n ({ __scopeCheckbox, ...props }, forwardedRef) => {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }\n);\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nexport {\n Checkbox,\n CheckboxIndicator,\n CheckboxIndicator as Indicator,\n Checkbox as Root,\n createCheckboxScope,\n CheckboxBubbleInput as unstable_BubbleInput,\n CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n CheckboxProvider as unstable_CheckboxProvider,\n CheckboxTrigger as unstable_CheckboxTrigger,\n CheckboxProvider as unstable_Provider,\n CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","import { VariantsConfig } from \"@/lib/utils/variants\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check, Minus } from \"lucide-react\";\nimport * as React from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nexport interface CheckboxVariants {\n\tsize?: \"sm\" | \"md\";\n}\n\nexport const checkboxStyles = tv({\n\tslots: {\n\t\troot: [\n\t\t\t\"peer shrink-0 rounded-sm border border-primary-border bg-secondary-bg shadow-soft-sm\",\n\t\t\t\"flex items-center justify-center\",\n\t\t\t\"hover:border-muted\",\n\t\t\t\"focus-visible:border-secondary-border focus-visible:shadow-focus focus-visible:outline-hidden\",\n\t\t\t\"disabled:cursor-not-allowed disabled:border-secondary-border disabled:bg-primary-bg disabled:shadow-soft-sm\",\n\t\t\t\"data-[state=checked]:border-primary-accent data-[state=checked]:bg-primary-accent data-[state=checked]:text-primary-bg\",\n\t\t\t\"data-[state=checked]:hover:border-primary-accent-hover data-[state=checked]:hover:bg-primary-accent-hover\",\n\t\t\t\"data-[state=checked]:focus-visible:shadow-focus\",\n\t\t\t\"data-[state=checked]:disabled:border-primary-accent data-[state=checked]:disabled:bg-primary-accent data-[state=checked]:disabled:opacity-50 data-[state=checked]:disabled:shadow-soft-sm\",\n\t\t\t\"data-[state=indeterminate]:border-primary-accent data-[state=indeterminate]:bg-primary-accent data-[state=indeterminate]:text-primary-bg\",\n\t\t\t\"data-[state=indeterminate]:hover:border-primary-accent-hover data-[state=indeterminate]:hover:bg-primary-accent-hover\",\n\t\t\t\"data-[state=indeterminate]:focus-visible:shadow-focus\",\n\t\t\t\"data-[state=indeterminate]:disabled:border-primary-accent data-[state=indeterminate]:disabled:bg-primary-accent data-[state=indeterminate]:disabled:opacity-50 data-[state=indeterminate]:disabled:shadow-soft-sm\"\n\t\t],\n\t\ticon: \"\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\troot: \"size-3.5\",\n\t\t\t\ticon: \"size-3\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\troot: \"size-4\",\n\t\t\t\ticon: \"size-3.5\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<CheckboxVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type CheckboxProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & CheckboxVariants;\n\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, CheckboxProps>(\n\t({ className, size, ...props }, ref) => {\n\t\tconst styles = checkboxStyles({ size });\n\t\treturn (\n\t\t\t<CheckboxPrimitive.Root ref={ref} className={styles.root({ class: className })} {...props}>\n\t\t\t\t<CheckboxPrimitive.Indicator>\n\t\t\t\t\t{props.checked === \"indeterminate\" ? (\n\t\t\t\t\t\t<Minus className={styles.icon()} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Check className={styles.icon()} />\n\t\t\t\t\t)}\n\t\t\t\t</CheckboxPrimitive.Indicator>\n\t\t\t</CheckboxPrimitive.Root>\n\t\t);\n\t}\n);\n\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","import * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\r\nimport { Checkbox, CheckboxProps } from \"../Checkbox\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport React, { useId } from \"react\";\r\nimport { FieldLabel } from \"@/components/label\";\r\nimport { Description } from \"@/components/description\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface CheckboxFieldVariants {\r\n\toutline?: boolean;\r\n\talignment?: \"left\" | \"right\";\r\n\tdisabled?: boolean;\r\n\terror?: boolean;\r\n\twithDescription?: boolean;\r\n}\r\n\r\nconst checkboxFieldStyles = tv({\r\n\tslots: {\r\n\t\tcontainer: \"flex cursor-pointer items-center space-x-3\",\r\n\t\ttextContainer: \"flex flex-col gap-1\",\r\n\t\tlabelWrapper: \"flex h-4 items-center\",\r\n\t\tlabel: \"cursor-pointer\"\r\n\t},\r\n\tvariants: {\r\n\t\toutline: {\r\n\t\t\ttrue: {\r\n\t\t\t\tcontainer: \"rounded-lg border border-secondary-border p-3 px-4\"\r\n\t\t\t}\r\n\t\t},\r\n\t\talignment: {\r\n\t\t\tleft: {},\r\n\t\t\tright: {\r\n\t\t\t\tcontainer: \"flex-row-reverse space-x-reverse\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tdisabled: {\r\n\t\t\ttrue: {\r\n\t\t\t\tcontainer: \"cursor-default\",\r\n\t\t\t\ttextContainer: \"opacity-50\",\r\n\t\t\t\tlabel: \"cursor-default text-primary-fg\"\r\n\t\t\t}\r\n\t\t},\r\n\t\terror: {\r\n\t\t\ttrue: {\r\n\t\t\t\tlabel: \"text-status-error\"\r\n\t\t\t}\r\n\t\t},\r\n\t\twithDescription: {\r\n\t\t\ttrue: { container: \"items-start\" }\r\n\t\t}\r\n\t} satisfies VariantsConfig<CheckboxFieldVariants>,\r\n\tdefaultVariants: {\r\n\t\talignment: \"left\"\r\n\t}\r\n});\r\n\r\nexport type CheckboxFieldProps = CheckboxProps &\r\n\tOmit<CheckboxFieldVariants, \"withDescription\"> & {\r\n\t\tlabel?: string;\r\n\t\tdescription?: string;\r\n\t};\r\n\r\nconst CheckboxField = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, CheckboxFieldProps>(\r\n\t({ className, id, label, alignment, disabled, error, outline, description, ...props }, ref) => {\r\n\t\tconst {\r\n\t\t\tcontainer,\r\n\t\t\ttextContainer,\r\n\t\t\tlabel: labelStyles,\r\n\t\t\tlabelWrapper\r\n\t\t} = checkboxFieldStyles({ alignment, disabled, error, outline, withDescription: !!description });\r\n\r\n\t\tconst generatedId = useId();\r\n\t\tconst checkboxId = id || `checkbox-${generatedId}`;\r\n\r\n\t\treturn (\r\n\t\t\t<label htmlFor={checkboxId} className={container({ class: className })}>\r\n\t\t\t\t<Checkbox disabled={disabled} id={checkboxId} {...props} ref={ref} />\r\n\t\t\t\t{(label || description) && (\r\n\t\t\t\t\t<div className={textContainer()}>\r\n\t\t\t\t\t\t{label && (\r\n\t\t\t\t\t\t\t<div className={labelWrapper()}>\r\n\t\t\t\t\t\t\t\t<FieldLabel htmlFor={checkboxId} className={labelStyles()}>\r\n\t\t\t\t\t\t\t\t\t{label}\r\n\t\t\t\t\t\t\t\t</FieldLabel>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{description && <Description size=\"xs\">{description}</Description>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</label>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nCheckboxField.displayName = \"CheckboxField\";\r\n\r\nexport { CheckboxField };\r\n"],"names":["CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","createContextScope","CheckboxProviderImpl","useCheckboxContext","CheckboxProvider","props","__scopeCheckbox","checkedProp","children","defaultChecked","disabled","form","name","onCheckedChange","required","value","internal_do_not_use_render","checked","setChecked","useControllableState","control","setControl","React","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","isFormControl","context","isIndeterminate","jsx","isFunction","TRIGGER_NAME","CheckboxTrigger","onKeyDown","onClick","checkboxProps","forwardedRef","composedRefs","useComposedRefs","initialCheckedStateRef","reset","Primitive","getState","composeEventHandlers","event","prevChecked","Checkbox","jsxs","Fragment","CheckboxBubbleInput","INDICATOR_NAME","CheckboxIndicator","forceMount","indicatorProps","Presence","BUBBLE_INPUT_NAME","usePrevious","controlSize","useSize","input","inputProto","bubbles","defaultCheckedRef","checkboxStyles","tv","className","size","ref","styles","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","Minus","Check","checkboxFieldStyles","CheckboxField","id","label","alignment","error","outline","description","container","textContainer","labelStyles","labelWrapper","generatedId","useId","checkboxId","FieldLabel","Description"],"mappings":"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","x_google_ignoreList":[0]}
|