ics-ui-kit 1.0.0-alpha.3 → 1.0.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 CHANGED
@@ -1,36 +1,73 @@
1
1
  # ICS UI Kit
2
2
 
3
- Библиотека React компонентов для создания современных пользовательских интерфейсов.
3
+ Библиотека React-компонентов для создания пользовательских интерфейсов.
4
4
 
5
- ## 🚀 Установка
5
+ ## Установка
6
+
7
+ Руководство относится к **UI Kit 1.0 на Tailwind CSS 4**. Для установки стабильной ветки 1.x:
6
8
 
7
9
  ```bash
8
- npm install ics-ui-kit
10
+ npm install ics-ui-kit@^1.0.0
11
+ npm install -D tailwindcss@^4 @tailwindcss/vite@^4 tw-animate-css @tailwindcss/typography
12
+ ```
13
+
14
+ React и React DOM должны быть установлены в приложении. `tw-animate-css` и `@tailwindcss/typography` обязательны для сборки CSS, даже если вы не используете анимации или `Prose`. Для `Calendar` / `CalendarScroll` дополнительно установите `react-day-picker@^9`, а для компонентов формы, связанных с `react-hook-form`, — `react-hook-form@^7`.
15
+
16
+ Требования к браузерам: Safari 16.4+, Chrome 111+, Firefox 128+.
17
+
18
+ ## Подключение стилей
19
+
20
+ Пример для React-приложения с Vite: добавьте Tailwind в существующий список плагинов, сохранив остальные плагины проекта.
21
+
22
+ ```ts
23
+ // vite.config.ts
24
+ import { defineConfig } from "vite";
25
+ import react from "@vitejs/plugin-react-swc";
26
+ import tailwindcss from "@tailwindcss/vite";
27
+
28
+ export default defineConfig({
29
+ plugins: [react(), tailwindcss()]
30
+ });
31
+ ```
32
+
33
+ ```css
34
+ /* src/app.css */
35
+ @import "tailwindcss";
36
+ @import "ics-ui-kit/tailwind.css";
37
+ @source "../node_modules/ics-ui-kit/dist";
9
38
  ```
10
39
 
11
- ## 📖 Использование
40
+ Путь `@source` считается от CSS-файла: для другой структуры проекта скорректируйте его. Без этого Tailwind не сгенерирует классы из компонентов кита. Импортируйте CSS один раз в точке входа приложения:
41
+
42
+ ```ts
43
+ // src/main.tsx
44
+ import "./app.css";
45
+ ```
46
+
47
+ Кит поставляет токены, тему и базовый слой через `tailwind.css`; итоговые стили компонентов собирает Tailwind приложения. `styles.css`, `styles-scoped.css` и `tailwind.preset` удалены. Отдельный импорт `theme.css` для компонентов не требуется.
48
+
49
+ ## Использование
12
50
 
13
- ```jsx
14
- import { Button, Card, Modal } from 'ics-ui-kit';
15
- import 'ics-ui-kit/styles.css';
51
+ ```tsx
52
+ import { Button } from "ics-ui-kit/components/button";
53
+ import { Card } from "ics-ui-kit/components/card";
16
54
 
17
- function App() {
18
- return (
19
- <Card>
20
- <Button variant="primary">
21
- Нажми меня
22
- </Button>
23
- </Card>
24
- );
55
+ export function App() {
56
+ return (
57
+ <Card>
58
+ <Button>Нажми меня</Button>
59
+ </Card>
60
+ );
25
61
  }
26
62
  ```
27
63
 
28
- ## 🎨 Интеграция с Tailwind CSS
64
+ ## Переход с UI Kit 0.x
29
65
 
30
- Кит поддерживает два способа подключения стилей: готовый скомпилированный CSS (как в примере выше) и **Tailwind preset** с tree-shaking и возможностью расширять дизайн-токены. Подробности и инструкция по миграции: [docs/tailwind-integration.md](docs/tailwind-integration.md).
66
+ Пошаговое подключение, настройка PostCSS, темы, safelist и замены удалённых API описаны в [руководстве по интеграции и миграции](src/docs/tailwind-integration.mdx). Список несовместимых изменений — в [CHANGELOG.md](CHANGELOG.md).
31
67
 
32
68
  ## Ссылки
33
69
 
70
+ - **Примеры приложений**: [ics-ui-kit-examples](https://github.com/RomanKozelkov/ics-ui-kit-examples). Приложение устанавливает опубликованный npm-пакет; инструкция запуска и версия кита указаны в его README и `package.json`.
34
71
  - **Репозиторий**: [GitLab](https://gitlab.ics-it.ru/ics/ui-kit)
35
72
  - **NPM пакет**: [ics-ui-kit](https://www.npmjs.com/package/ics-ui-kit)
36
- - **Storybook**: [Демо версия](https://ui-kit.ics-it.ru)
73
+ - **Storybook**: [Опубликованная документация и примеры](https://ui-kit.ics-it.ru) — обновляются после успешного деплоя из `master`.
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxField-xDqHgXHh.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]}
1
+ {"version":3,"file":"CheckboxField-xDqHgXHh.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\",\r\n\t\t\t\"focus-visible:border-secondary-border focus-visible:shadow-focus focus-visible:outline-hidden\",\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\",\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\",\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]}