ics-ui-kit 0.1.0-alpha.69 → 0.1.0-alpha.70
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-5B6AgZpe.js.map +1 -1
- package/dist/Button-Dg89xRSi.js.map +1 -1
- package/dist/ButtonBase-e6qyv6mD.js.map +1 -1
- package/dist/CheckboxField-B6ojieD7.js.map +1 -1
- package/dist/Command-BdU_Xd4G.js +541 -0
- package/dist/Command-BdU_Xd4G.js.map +1 -0
- package/dist/ComponentVariantProvider-B0SFUaXB.js.map +1 -1
- package/dist/Description-BTPMlTT-.js.map +1 -1
- package/dist/{Dialog-Dthc9c-1.js → Dialog-BZlAHgql.js} +2 -2
- package/dist/Dialog-BZlAHgql.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-CSvS9f_a.js.map +1 -1
- package/dist/FieldLabel-BA0y5lhr.js.map +1 -1
- package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
- package/dist/{FormFooterTemplate-BPspyDbr.js → FormFooterTemplate-lzRFM4YB.js} +2 -2
- package/dist/FormFooterTemplate-lzRFM4YB.js.map +1 -0
- package/dist/{FormHeader--F6b2aRk.js → FormHeader-CaDuXhKz.js} +2 -2
- package/dist/FormHeader-CaDuXhKz.js.map +1 -0
- package/dist/FormStack-DvlFQQiP.js.map +1 -1
- package/dist/HintState-BxrCAWqq.js.map +1 -1
- package/dist/Icon-DH3ev9GK.js.map +1 -1
- package/dist/IconButton-DwkpNgn3.js.map +1 -1
- package/dist/IconTooltip-DhkXc8Uy.js.map +1 -1
- package/dist/Indicator-AqxHWPA9.js.map +1 -1
- package/dist/InputGroup-BvD9Igmt.js.map +1 -1
- package/dist/InputOTP-B2e1nfSO.js.map +1 -1
- package/dist/Loader-BpHiL6W-.js.map +1 -1
- package/dist/MenuItem-pvsONHlh.js.map +1 -1
- package/dist/{MenuItemShortcut-DK7VneTR.js → MenuItemShortcut-DgPol9Nz.js} +5 -5
- package/dist/MenuItemShortcut-DgPol9Nz.js.map +1 -0
- package/dist/MenuItemText-7uPl9P3z.js.map +1 -1
- package/dist/Overlay-tQGhsBQR.js.map +1 -1
- package/dist/Popover-Dvr7y0YY.js.map +1 -1
- package/dist/RichButton-DuPTenmS.js.map +1 -1
- package/dist/{ScrollArea-CV24Ghul.js → ScrollArea-DJCej3zL.js} +77 -77
- package/dist/ScrollArea-DJCej3zL.js.map +1 -0
- package/dist/ScrollShadowContainer-DzCLuHNJ.js +45 -0
- package/dist/ScrollShadowContainer-DzCLuHNJ.js.map +1 -0
- package/dist/{SearchSelectTag-BooNxTsf.js → SearchSelectTag-DFCX9zT1.js} +2 -2
- package/dist/SearchSelectTag-DFCX9zT1.js.map +1 -0
- package/dist/Select-d1VUmFM3.js.map +1 -1
- package/dist/Sheet-N4re9u9_.js.map +1 -1
- package/dist/Shortcut-D8L15_ed.js.map +1 -1
- package/dist/Skeleton-y6I-i9q5.js.map +1 -1
- package/dist/{Tag-CMxtdQP6.js → Tag-DdHXTyKF.js} +31 -31
- package/dist/Tag-DdHXTyKF.js.map +1 -0
- package/dist/Text-DeBE8AKl.js.map +1 -1
- package/dist/TextInput-Cj50ImXi.js.map +1 -1
- package/dist/TextOverflowTooltip-DlUgic5y.js.map +1 -1
- package/dist/Toggle-v_HT3Gm2.js.map +1 -1
- package/dist/Tooltip-C4rVuWr4.js.map +1 -1
- package/dist/TriggerButton-CfDObWP9.js.map +1 -1
- package/dist/blocks/auth/otp-form.js.map +1 -1
- package/dist/cn-dsXlqdJg.js.map +1 -1
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/avatar.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.map +1 -1
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/color-tile.js.map +1 -1
- package/dist/components/command/Command.d.ts +20 -1
- package/dist/components/command/Command.stories.d.ts +1 -0
- package/dist/components/command/index.d.ts +1 -1
- package/dist/components/command.js +10 -8
- package/dist/components/container.js.map +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/components/drawer-content/DrawerContent.d.ts +6 -0
- package/dist/components/drawer.js +86 -83
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/error-state.js.map +1 -1
- package/dist/components/file-upload.js.map +1 -1
- package/dist/components/form.js +2 -2
- package/dist/components/form.js.map +1 -1
- package/dist/components/image-placeholder.js.map +1 -1
- package/dist/components/image-preview.js.map +1 -1
- package/dist/components/image-uploader.js.map +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/menu-item/components/menu-item-shortcut/MenuItemShortcut.d.ts +2 -2
- package/dist/components/menu-item.js +1 -1
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/page-state.js.map +1 -1
- package/dist/components/portal-container.js.map +1 -1
- package/dist/components/progress-circle.js.map +1 -1
- package/dist/components/progress.js.map +1 -1
- package/dist/components/prose.js.map +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/scheduler.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea.d.ts +2 -0
- package/dist/components/scroll-area/ScrollArea.stories.d.ts +2 -1
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/scroll-shadow-container/ScrollShadowContainer.d.ts +15 -3
- package/dist/components/scroll-shadow-container/ScrollShadowContainer.stories.d.ts +12 -2
- package/dist/components/scroll-shadow-container/index.d.ts +1 -0
- package/dist/components/scroll-shadow-container.js +1 -1
- package/dist/components/search-select.js +2 -2
- package/dist/components/search-select.js.map +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/slider.js.map +1 -1
- package/dist/components/stepper.js.map +1 -1
- package/dist/components/switch.js.map +1 -1
- package/dist/components/system-state.js.map +1 -1
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag-input.js +1 -1
- package/dist/components/tag-input.js.map +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/timer.js.map +1 -1
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toolbar.js +1 -1
- package/dist/components/toolbar.js.map +1 -1
- package/dist/design-tokens.source.json +1 -0
- package/dist/index-0ioNhtNM.js.map +1 -1
- package/dist/index-437EL2iq.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-BpWB3aFK.js.map +1 -1
- package/dist/index-ByaXH_ih.js.map +1 -1
- package/dist/index-BzCriPiK.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-CQD-Njgt.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-DRo26PBK.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-DbzD_jvq.js.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/styles-scoped.css +6198 -6179
- package/dist/styles.css +5938 -5919
- package/dist/theme.css +329 -329
- package/dist/types/css.d.ts +4 -4
- package/dist/useBreakpoints-D8wKOvil.js.map +1 -1
- package/dist/useDebounce-BRah78CF.js.map +1 -1
- package/dist/useFileUpload-iDag0iqM.js.map +1 -1
- package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
- package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
- package/dist/usePortalContainer-ae6EzS08.js.map +1 -1
- package/dist/vendors/tanstack/react-table.js.map +1 -1
- package/dist/zod-BMNoK3aM.js.map +1 -1
- package/package.json +183 -183
- package/tailwind.preset.js +440 -442
- package/dist/Command-DuRpKGBu.js +0 -490
- package/dist/Command-DuRpKGBu.js.map +0 -1
- package/dist/Dialog-Dthc9c-1.js.map +0 -1
- package/dist/FormFooterTemplate-BPspyDbr.js.map +0 -1
- package/dist/FormHeader--F6b2aRk.js.map +0 -1
- package/dist/MenuItemShortcut-DK7VneTR.js.map +0 -1
- package/dist/ScrollArea-CV24Ghul.js.map +0 -1
- package/dist/ScrollShadowContainer-DdrnF8qU.js +0 -36
- package/dist/ScrollShadowContainer-DdrnF8qU.js.map +0 -1
- package/dist/SearchSelectTag-BooNxTsf.js.map +0 -1
- package/dist/Tag-CMxtdQP6.js.map +0 -1
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-5B6AgZpe.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 items-start rounded-xl border border-secondary-border bg-secondary-bg px-4 py-3 text-sm\",\n\t\t\"grid grid-cols-[auto_1fr_auto] 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 */\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,GAOYC,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;AC9DpB,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-5B6AgZpe.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 items-start rounded-xl border border-secondary-border bg-secondary-bg px-4 py-3 text-sm\",\r\n\t\t\"grid grid-cols-[auto_1fr_auto] 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\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,GAOYC,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;AC9DpB,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button-Dg89xRSi.js","sources":["../src/components/button/button/Button.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { ButtonBase, ButtonBaseProps, ButtonBaseVariants } from \"../button-base/ButtonBase\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\ntype ButtonVariants = Pick<ButtonBaseVariants, \"size\">;\n\nconst buttonStyles = tv({\n\tslots: {\n\t\tcontainer: \"flex items-center justify-center gap-2 overflow-hidden\",\n\t\ticon: \"h-4 w-4\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\txs: { icon: \"h-3 w-3\" },\n\t\t\tsm: { icon: \"h-3.5 w-3.5\" },\n\t\t\tmd: {},\n\t\t\tlg: {},\n\t\t\txl: { icon: \"h-5 w-5\", container: \"gap-3\" }\n\t\t}\n\t} satisfies VariantsConfig<ButtonVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ButtonProps = PropsWithChildren<\n\tButtonBaseProps &\n\t\tButtonVariants & {\n\t\t\tstartIcon?: React.ElementType;\n\t\t\tendIcon?: React.ElementType;\n\t\t\tcontainerClassName?: string;\n\t\t\ticonClassName?: string;\n\t\t}\n>;\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n\t({ startIcon: StartIcon, endIcon: EndIcon, size, children, iconClassName, containerClassName, ...props }, ref) => {\n\t\tconst styles = buttonStyles({ size });\n\n\t\tconst startIconEl = StartIcon && <StartIcon className={styles.icon({ className: iconClassName })} />;\n\t\tconst endIconEl = EndIcon && <EndIcon className={styles.icon({ className: iconClassName })} />;\n\n\t\treturn (\n\t\t\t<ButtonBase {...props} size={size} ref={ref}>\n\t\t\t\t<div className={styles.container({ className: containerClassName })}>\n\t\t\t\t\t{startIconEl}\n\t\t\t\t\t{children}\n\t\t\t\t\t{endIconEl}\n\t\t\t\t</div>\n\t\t\t</ButtonBase>\n\t\t);\n\t}\n);\n\nButton.displayName = \"Button\";\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;"}
|
|
1
|
+
{"version":3,"file":"Button-Dg89xRSi.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;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonBase-e6qyv6mD.js","sources":["../src/components/button/button-base/ButtonBase.tsx"],"sourcesContent":["import { VariantsConfig } from \"@/lib/utils/variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport React, { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nexport interface ButtonBaseVariants {\n\tvariant?: \"primary\" | \"secondary\" | \"outline\" | \"ghost\" | \"link\" | \"text\";\n\tstatus?: \"default\" | \"info\" | \"success\" | \"warning\" | \"error\";\n\tsize?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n}\n\nconst buttonBaseStyles = tv({\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-none disabled:pointer-events-none disabled:opacity-50\",\n\tvariants: {\n\t\tvariant: {\n\t\t\tprimary:\n\t\t\t\t\"bg-primary-accent text-primary-bg shadow-soft-base active:bg-primary-accent-hover lg:hover:bg-primary-accent-hover\",\n\t\t\tsecondary: \"bg-secondary-bg-hover active:bg-primary-bg-hover lg:hover:bg-primary-bg-hover\",\n\t\t\toutline:\n\t\t\t\t\"border border-solid border-secondary-border bg-secondary-bg shadow-soft-sm active:border-primary-border active:bg-secondary-bg-hover lg:hover:border-primary-border lg:hover:bg-secondary-bg-hover\",\n\t\t\tghost: \"bg-transparent active:bg-secondary-bg-hover lg:hover:bg-secondary-bg-hover\",\n\t\t\tlink: \"bg-transparent text-muted underline active:text-primary-fg lg:hover:text-primary-fg\",\n\t\t\ttext: \"bg-transparent text-muted active:text-primary-fg lg:hover:text-primary-fg\"\n\t\t},\n\t\tstatus: {\n\t\t\tdefault: \"\",\n\t\t\tinfo: \"text-status-info-fg\",\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},\n\t\tsize: {\n\t\t\txs: \"h-7 gap-2 px-2.5 py-1.5 text-xs\",\n\t\t\tsm: \"h-8 gap-2 px-3 py-2 text-xs\",\n\t\t\tmd: \"h-9 gap-2 px-4 py-2 text-sm\",\n\t\t\tlg: \"h-10 gap-2 px-5 py-2 text-sm\",\n\t\t\txl: \"h-11 gap-3 px-6 py-3 text-base\"\n\t\t}\n\t} satisfies VariantsConfig<ButtonBaseVariants>,\n\tdefaultVariants: {\n\t\tvariant: \"primary\",\n\t\tsize: \"md\",\n\t\tstatus: \"default\"\n\t},\n\tcompoundVariants: [\n\t\t/*\n\t\t * Statuses\n\t\t */\n\t\t// Primary\n\t\t{\n\t\t\tvariant: \"primary\",\n\t\t\tstatus: [\"info\", \"success\", \"warning\", \"error\"],\n\t\t\tclass: \"text-white active:text-white lg:hover:text-white\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"primary\",\n\t\t\tstatus: \"info\",\n\t\t\tclass: \"bg-status-info active:bg-status-info-hover lg:hover:bg-status-info-hover\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"primary\",\n\t\t\tstatus: \"success\",\n\t\t\tclass: \"bg-status-success active:bg-status-success-hover lg:hover:bg-status-success-hover\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"primary\",\n\t\t\tstatus: \"warning\",\n\t\t\tclass: \"bg-status-warning active:bg-status-warning-hover lg:hover:bg-status-warning-hover\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"primary\",\n\t\t\tstatus: \"error\",\n\t\t\tclass: \"bg-status-error active:bg-status-error-hover lg:hover:bg-status-error-hover\"\n\t\t},\n\t\t// Secondary\n\t\t{\n\t\t\tvariant: \"secondary\",\n\t\t\tstatus: \"info\",\n\t\t\tclass: \"bg-status-info-bg active:bg-status-info-bg-hover lg:hover:bg-status-info-bg-hover\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"secondary\",\n\t\t\tstatus: \"success\",\n\t\t\tclass: \"bg-status-success-bg active:bg-status-success-bg-hover lg:hover:bg-status-success-bg-hover\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"secondary\",\n\t\t\tstatus: \"warning\",\n\t\t\tclass: \"bg-status-warning-bg active:bg-status-warning-bg-hover lg:hover:bg-status-warning-bg-hover\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"secondary\",\n\t\t\tstatus: \"error\",\n\t\t\tclass: \"bg-status-error-bg active:bg-status-error-bg-hover lg:hover:bg-status-error-bg-hover\"\n\t\t},\n\t\t// Outline\n\t\t{\n\t\t\tvariant: \"outline\",\n\t\t\tstatus: \"info\",\n\t\t\tclass: \"border-status-info-secondary-border active:border-status-info-secondary-border active:bg-status-info-bg lg:hover:border-status-info-primary-border lg:hover:bg-status-info-bg\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"outline\",\n\t\t\tstatus: \"success\",\n\t\t\tclass: \"border-status-success-secondary-border active:border-status-success-secondary-border active:bg-status-success-bg lg:hover:border-status-success-primary-border lg:hover:bg-status-success-bg\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"outline\",\n\t\t\tstatus: \"warning\",\n\t\t\tclass: \"border-status-warning-secondary-border active:border-status-warning-secondary-border active:bg-status-warning-bg lg:hover:border-status-warning-primary-border lg:hover:bg-status-warning-bg\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"outline\",\n\t\t\tstatus: \"error\",\n\t\t\tclass: \"border-status-error-secondary-border active:border-status-error-secondary-border active:bg-status-error-bg lg:hover:border-status-error-primary-border lg:hover:bg-status-error-bg\"\n\t\t},\n\t\t// Ghost\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tstatus: \"info\",\n\t\t\tclass: \"text-status-info-fg active:bg-status-info-bg lg:hover:bg-status-info-bg\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tstatus: \"success\",\n\t\t\tclass: \"text-status-success-fg active:bg-status-success-bg lg:hover:bg-status-success-bg\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tstatus: \"warning\",\n\t\t\tclass: \"text-status-warning-fg active:bg-status-warning-bg lg:hover:bg-status-warning-bg\"\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tstatus: \"error\",\n\t\t\tclass: \"text-status-error-fg active:bg-status-error-bg lg:hover:bg-status-error-bg\"\n\t\t},\n\t\t// Text & Link\n\t\t{\n\t\t\tvariant: [\"text\", \"link\"],\n\t\t\tstatus: \"info\",\n\t\t\tclass: \"text-status-info-fg/70 active:text-status-info-fg lg:hover:text-status-info-fg\"\n\t\t},\n\t\t{\n\t\t\tvariant: [\"text\", \"link\"],\n\t\t\tstatus: \"success\",\n\t\t\tclass: \"text-status-success-fg/70 active:text-status-success-fg lg:hover:text-status-success-fg\"\n\t\t},\n\t\t{\n\t\t\tvariant: [\"text\", \"link\"],\n\t\t\tstatus: \"warning\",\n\t\t\tclass: \"text-status-warning-fg/70 active:text-status-warning-fg lg:hover:text-status-warning-fg\"\n\t\t},\n\t\t{\n\t\t\tvariant: [\"text\", \"link\"],\n\t\t\tstatus: \"error\",\n\t\t\tclass: \"text-status-error-fg/70 active:text-status-error-fg lg:hover:text-status-error-fg\"\n\t\t}\n\t]\n});\n\nexport type ButtonBaseProps = React.ButtonHTMLAttributes<HTMLButtonElement> &\n\tButtonBaseVariants & {\n\t\tasChild?: boolean;\n\t};\n\nexport const ButtonBase = React.forwardRef<HTMLButtonElement, PropsWithChildren<ButtonBaseProps>>(\n\t({ variant, size, children, status, className, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : \"button\";\n\t\treturn (\n\t\t\t<Comp className={buttonBaseStyles({ variant, size, status, className })} ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</Comp>\n\t\t);\n\t}\n);\n\nButtonBase.displayName = \"ButtonBase\";\n"],"names":["buttonBaseStyles","tv","ButtonBase","React","variant","size","children","status","className","asChild","props","ref","jsx","Slot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ButtonBase-e6qyv6mD.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-none 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 active:bg-primary-accent-hover lg:hover:bg-primary-accent-hover\",\r\n\t\t\tsecondary: \"bg-secondary-bg-hover active:bg-primary-bg-hover lg:hover: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 active:border-primary-border active:bg-secondary-bg-hover lg:hover:border-primary-border lg:hover:bg-secondary-bg-hover\",\r\n\t\t\tghost: \"bg-transparent active:bg-secondary-bg-hover lg:hover:bg-secondary-bg-hover\",\r\n\t\t\tlink: \"bg-transparent text-muted underline active:text-primary-fg lg:hover:text-primary-fg\",\r\n\t\t\ttext: \"bg-transparent text-muted active:text-primary-fg lg:hover: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 active:text-white lg:hover: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 active:bg-status-info-hover lg:hover: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 active:bg-status-success-hover lg:hover: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 active:bg-status-warning-hover lg:hover: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 active:bg-status-error-hover lg:hover: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 active:bg-status-info-bg-hover lg:hover: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 active:bg-status-success-bg-hover lg:hover: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 active:bg-status-warning-bg-hover lg:hover: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 active:bg-status-error-bg-hover lg:hover: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 active:border-status-info-secondary-border active:bg-status-info-bg lg:hover:border-status-info-primary-border lg:hover: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 active:border-status-success-secondary-border active:bg-status-success-bg lg:hover:border-status-success-primary-border lg:hover: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 active:border-status-warning-secondary-border active:bg-status-warning-bg lg:hover:border-status-warning-primary-border lg:hover: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 active:border-status-error-secondary-border active:bg-status-error-bg lg:hover:border-status-error-primary-border lg:hover: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 active:bg-status-info-bg lg:hover: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 active:bg-status-success-bg lg:hover: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 active:bg-status-warning-bg lg:hover: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 active:bg-status-error-bg lg:hover: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 active:text-status-info-fg lg:hover: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 active:text-status-success-fg lg:hover: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 active:text-status-warning-fg lg:hover: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 active:text-status-error-fg lg:hover: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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxField-B6ojieD7.js","sources":["../node_modules/.pnpm/@radix-ui+react-checkbox@1.3.3_@types+react-dom@18.3.6_@types+react@18.3.20__@types+rea_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 hover:shadow-soft-base\",\n\t\t\t\"focus-visible:border-secondary-border focus-visible:shadow-focus focus-visible:outline-none\",\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 data-[state=checked]:hover:shadow-soft-base\",\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 data-[state=indeterminate]:hover:shadow-soft-base\",\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\";\nimport { Checkbox, CheckboxProps } from \"../Checkbox\";\nimport { tv } from \"tailwind-variants\";\nimport React, { useId } from \"react\";\nimport { FieldLabel } from \"@/components/label\";\nimport { Description } from \"@/components/description\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nexport interface CheckboxFieldVariants {\n\toutline?: boolean;\n\talignment?: \"left\" | \"right\";\n\tdisabled?: boolean;\n\terror?: boolean;\n\twithDescription?: boolean;\n}\n\nconst checkboxFieldStyles = tv({\n\tslots: {\n\t\tcontainer: \"flex cursor-pointer items-center space-x-3\",\n\t\ttextContainer: \"flex flex-col gap-1\",\n\t\tlabelWrapper: \"flex h-4 items-center\",\n\t\tlabel: \"cursor-pointer\"\n\t},\n\tvariants: {\n\t\toutline: {\n\t\t\ttrue: {\n\t\t\t\tcontainer: \"rounded-lg border border-secondary-border p-3 px-4\"\n\t\t\t}\n\t\t},\n\t\talignment: {\n\t\t\tleft: {},\n\t\t\tright: {\n\t\t\t\tcontainer: \"flex-row-reverse space-x-reverse\"\n\t\t\t}\n\t\t},\n\t\tdisabled: {\n\t\t\ttrue: {\n\t\t\t\tcontainer: \"cursor-default\",\n\t\t\t\ttextContainer: \"opacity-50\",\n\t\t\t\tlabel: \"cursor-default text-primary-fg\"\n\t\t\t}\n\t\t},\n\t\terror: {\n\t\t\ttrue: {\n\t\t\t\tlabel: \"text-status-error\"\n\t\t\t}\n\t\t},\n\t\twithDescription: {\n\t\t\ttrue: { container: \"items-start\" }\n\t\t}\n\t} satisfies VariantsConfig<CheckboxFieldVariants>,\n\tdefaultVariants: {\n\t\talignment: \"left\"\n\t}\n});\n\nexport type CheckboxFieldProps = CheckboxProps &\n\tOmit<CheckboxFieldVariants, \"withDescription\"> & {\n\t\tlabel?: string;\n\t\tdescription?: string;\n\t};\n\nconst CheckboxField = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, CheckboxFieldProps>(\n\t({ className, id, label, alignment, disabled, error, outline, description, ...props }, ref) => {\n\t\tconst {\n\t\t\tcontainer,\n\t\t\ttextContainer,\n\t\t\tlabel: labelStyles,\n\t\t\tlabelWrapper\n\t\t} = checkboxFieldStyles({ alignment, disabled, error, outline, withDescription: !!description });\n\n\t\tconst generatedId = useId();\n\t\tconst checkboxId = id || `checkbox-${generatedId}`;\n\n\t\treturn (\n\t\t\t<label htmlFor={checkboxId} className={container({ class: className })}>\n\t\t\t\t<Checkbox disabled={disabled} id={checkboxId} {...props} ref={ref} />\n\t\t\t\t{(label || description) && (\n\t\t\t\t\t<div className={textContainer()}>\n\t\t\t\t\t\t{label && (\n\t\t\t\t\t\t\t<div className={labelWrapper()}>\n\t\t\t\t\t\t\t\t<FieldLabel htmlFor={checkboxId} className={labelStyles()}>\n\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t</FieldLabel>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{description && <Description size=\"xs\">{description}</Description>}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</label>\n\t\t);\n\t}\n);\n\nCheckboxField.displayName = \"CheckboxField\";\n\nexport { CheckboxField };\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]}
|
|
1
|
+
{"version":3,"file":"CheckboxField-B6ojieD7.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\";\r\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\r\nimport { Check, Minus } from \"lucide-react\";\r\nimport * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport interface CheckboxVariants {\r\n\tsize?: \"sm\" | \"md\";\r\n}\r\n\r\nexport const checkboxStyles = tv({\r\n\tslots: {\r\n\t\troot: [\r\n\t\t\t\"peer shrink-0 rounded-sm border border-primary-border bg-secondary-bg shadow-soft-sm\",\r\n\t\t\t\"flex items-center justify-center\",\r\n\t\t\t\"hover:border-muted hover:shadow-soft-base\",\r\n\t\t\t\"focus-visible:border-secondary-border focus-visible:shadow-focus focus-visible:outline-none\",\r\n\t\t\t\"disabled:cursor-not-allowed disabled:border-secondary-border disabled:bg-primary-bg disabled:shadow-soft-sm\",\r\n\t\t\t\"data-[state=checked]:border-primary-accent data-[state=checked]:bg-primary-accent data-[state=checked]:text-primary-bg\",\r\n\t\t\t\"data-[state=checked]:hover:border-primary-accent-hover data-[state=checked]:hover:bg-primary-accent-hover data-[state=checked]:hover:shadow-soft-base\",\r\n\t\t\t\"data-[state=checked]:focus-visible:shadow-focus\",\r\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\",\r\n\t\t\t\"data-[state=indeterminate]:border-primary-accent data-[state=indeterminate]:bg-primary-accent data-[state=indeterminate]:text-primary-bg\",\r\n\t\t\t\"data-[state=indeterminate]:hover:border-primary-accent-hover data-[state=indeterminate]:hover:bg-primary-accent-hover data-[state=indeterminate]:hover:shadow-soft-base\",\r\n\t\t\t\"data-[state=indeterminate]:focus-visible:shadow-focus\",\r\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\"\r\n\t\t],\r\n\t\ticon: \"\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: {\r\n\t\t\t\troot: \"size-3.5\",\r\n\t\t\t\ticon: \"size-3\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\troot: \"size-4\",\r\n\t\t\t\ticon: \"size-3.5\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<CheckboxVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type CheckboxProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & CheckboxVariants;\r\n\r\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, CheckboxProps>(\r\n\t({ className, size, ...props }, ref) => {\r\n\t\tconst styles = checkboxStyles({ size });\r\n\t\treturn (\r\n\t\t\t<CheckboxPrimitive.Root ref={ref} className={styles.root({ class: className })} {...props}>\r\n\t\t\t\t<CheckboxPrimitive.Indicator>\r\n\t\t\t\t\t{props.checked === \"indeterminate\" ? (\r\n\t\t\t\t\t\t<Minus className={styles.icon()} />\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<Check className={styles.icon()} />\r\n\t\t\t\t\t)}\r\n\t\t\t\t</CheckboxPrimitive.Indicator>\r\n\t\t\t</CheckboxPrimitive.Root>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\r\n\r\nexport { Checkbox };\r\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]}
|