ics-ui-kit 0.1.11 → 0.1.13

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.
Files changed (219) hide show
  1. package/README.md +36 -36
  2. package/dist/AlertContext-CxjW1LVL.js.map +1 -1
  3. package/dist/AlertIcon-5B6AgZpe.js.map +1 -1
  4. package/dist/Button-Dg89xRSi.js.map +1 -1
  5. package/dist/ButtonBase-e6qyv6mD.js.map +1 -1
  6. package/dist/{CheckboxField-cX09-eBX.js → CheckboxField-2zNFubvm.js} +2 -2
  7. package/dist/CheckboxField-2zNFubvm.js.map +1 -0
  8. package/dist/Combination-DeIugdgY.js +353 -0
  9. package/dist/Combination-DeIugdgY.js.map +1 -0
  10. package/dist/{Command-ClIm4U7r.js → Command-D5zgJ7-y.js} +3 -3
  11. package/dist/Command-D5zgJ7-y.js.map +1 -0
  12. package/dist/ComponentVariantProvider-brk0g-hm.js.map +1 -1
  13. package/dist/Description-BTPMlTT-.js.map +1 -1
  14. package/dist/{Dialog-Bs1B5Iu8.js → Dialog-CdnsGyJD.js} +3 -3
  15. package/dist/Dialog-CdnsGyJD.js.map +1 -0
  16. package/dist/Divider-DPW5ZhZ8.js.map +1 -1
  17. package/dist/EmptyState-DRKjscH-.js.map +1 -1
  18. package/dist/ErrorState-B26k67-z.js.map +1 -1
  19. package/dist/FeatureIcon-BGE0Orkc.js.map +1 -1
  20. package/dist/{Field-BiIWtq9o.js → Field-COD9VbUX.js} +2 -2
  21. package/dist/Field-COD9VbUX.js.map +1 -0
  22. package/dist/{FieldLabel-QJ4rJFOi.js → FieldLabel-eyKmeWRn.js} +2 -2
  23. package/dist/FieldLabel-eyKmeWRn.js.map +1 -0
  24. package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
  25. package/dist/{FormFooterTemplate-DPB6Dkxn.js → FormFooterTemplate-ClTxqrIB.js} +2 -2
  26. package/dist/FormFooterTemplate-ClTxqrIB.js.map +1 -0
  27. package/dist/FormHeader--F6b2aRk.js.map +1 -1
  28. package/dist/{FormStack-DO15vBgd.js → FormStack-B3UBh9oF.js} +3 -3
  29. package/dist/FormStack-B3UBh9oF.js.map +1 -0
  30. package/dist/HintState-BxrCAWqq.js.map +1 -1
  31. package/dist/Icon-DH3ev9GK.js.map +1 -1
  32. package/dist/IconButton-DwkpNgn3.js.map +1 -1
  33. package/dist/{IconTooltip-CKJKGHbk.js → IconTooltip-RSxvnBgH.js} +2 -2
  34. package/dist/IconTooltip-RSxvnBgH.js.map +1 -0
  35. package/dist/Indicator-AqxHWPA9.js.map +1 -1
  36. package/dist/InputGroup-BvD9Igmt.js.map +1 -1
  37. package/dist/InputOTP-B2e1nfSO.js.map +1 -1
  38. package/dist/Loader-BpHiL6W-.js.map +1 -1
  39. package/dist/MenuItem-d19Ty84F.js.map +1 -1
  40. package/dist/MenuItemShortcut-D1faeIXp.js.map +1 -1
  41. package/dist/MenuItemText-CRpaPbvg.js.map +1 -1
  42. package/dist/Overlay-CVt011mY.js.map +1 -1
  43. package/dist/{Popover-CY_d3Ggn.js → Popover-CRVD7AtB.js} +20 -19
  44. package/dist/Popover-CRVD7AtB.js.map +1 -0
  45. package/dist/RichButton-DuPTenmS.js.map +1 -1
  46. package/dist/ScrollArea-CuuTeDn3.js.map +1 -1
  47. package/dist/ScrollShadowContainer-DdrnF8qU.js.map +1 -1
  48. package/dist/SearchSelectTag-DFCX9zT1.js.map +1 -1
  49. package/dist/{Select-B2WcoFf5.js → Select-MLPTpIl5.js} +24 -23
  50. package/dist/Select-MLPTpIl5.js.map +1 -0
  51. package/dist/{Sheet-zTMuP7C8.js → Sheet-qTIXsqm0.js} +3 -3
  52. package/dist/Sheet-qTIXsqm0.js.map +1 -0
  53. package/dist/Shortcut-D8L15_ed.js.map +1 -1
  54. package/dist/Skeleton-y6I-i9q5.js.map +1 -1
  55. package/dist/Tag-DdHXTyKF.js.map +1 -1
  56. package/dist/Text-DeBE8AKl.js.map +1 -1
  57. package/dist/TextInput-Cj50ImXi.js.map +1 -1
  58. package/dist/{TextOverflowTooltip-DlUgic5y.js → TextOverflowTooltip-B1I5qwAT.js} +2 -2
  59. package/dist/TextOverflowTooltip-B1I5qwAT.js.map +1 -0
  60. package/dist/Toggle-v_HT3Gm2.js.map +1 -1
  61. package/dist/{Tooltip-C4rVuWr4.js → Tooltip-7Duaau0S.js} +3 -3
  62. package/dist/Tooltip-7Duaau0S.js.map +1 -0
  63. package/dist/TriggerButton-CfDObWP9.js.map +1 -1
  64. package/dist/blocks/auth/otp-form.js +1 -1
  65. package/dist/blocks/auth/otp-form.js.map +1 -1
  66. package/dist/circle-BbEzypQJ.js +14 -0
  67. package/dist/circle-BbEzypQJ.js.map +1 -0
  68. package/dist/cn-dsXlqdJg.js.map +1 -1
  69. package/dist/components/alert-dialog.js +2 -2
  70. package/dist/components/alert-dialog.js.map +1 -1
  71. package/dist/components/alert.js.map +1 -1
  72. package/dist/components/avatar.js.map +1 -1
  73. package/dist/components/background-pattern.js.map +1 -1
  74. package/dist/components/badge.js.map +1 -1
  75. package/dist/components/banner.js.map +1 -1
  76. package/dist/components/breadcrumb.js.map +1 -1
  77. package/dist/components/button.js.map +1 -1
  78. package/dist/components/calendar.js.map +1 -1
  79. package/dist/components/card.js.map +1 -1
  80. package/dist/components/carousel.js.map +1 -1
  81. package/dist/components/checkbox.js +1 -1
  82. package/dist/components/collapsible.js.map +1 -1
  83. package/dist/components/color-tile.js.map +1 -1
  84. package/dist/components/command/Command.stories.d.ts +1 -0
  85. package/dist/components/command.js +1 -1
  86. package/dist/components/container.js.map +1 -1
  87. package/dist/components/context-menu/ContextMenu.d.ts +27 -0
  88. package/dist/components/context-menu/ContextMenu.stories.d.ts +10 -0
  89. package/dist/components/context-menu/index.d.ts +1 -0
  90. package/dist/components/context-menu.d.ts +2 -0
  91. package/dist/components/context-menu.js +2675 -0
  92. package/dist/components/context-menu.js.map +1 -0
  93. package/dist/components/counter.js.map +1 -1
  94. package/dist/components/dialog.js +3 -3
  95. package/dist/components/dialog.js.map +1 -1
  96. package/dist/components/divider.js.map +1 -1
  97. package/dist/components/drawer.js +3 -3
  98. package/dist/components/drawer.js.map +1 -1
  99. package/dist/components/dropdown.js +26 -25
  100. package/dist/components/dropdown.js.map +1 -1
  101. package/dist/components/error-state.js.map +1 -1
  102. package/dist/components/field.js +1 -1
  103. package/dist/components/file-upload.js +1 -1
  104. package/dist/components/file-upload.js.map +1 -1
  105. package/dist/components/form.js +3 -3
  106. package/dist/components/form.js.map +1 -1
  107. package/dist/components/glass-toolbar.js.map +1 -1
  108. package/dist/components/icon-tooltip.js +1 -1
  109. package/dist/components/image-placeholder.js.map +1 -1
  110. package/dist/components/image-preview.js.map +1 -1
  111. package/dist/components/image-uploader.js.map +1 -1
  112. package/dist/components/input.js.map +1 -1
  113. package/dist/components/label.js +1 -1
  114. package/dist/components/menu-item.js.map +1 -1
  115. package/dist/components/overflow-tooltip.js +1 -1
  116. package/dist/components/page-state.js.map +1 -1
  117. package/dist/components/popover.js +1 -1
  118. package/dist/components/portal-container.js +2 -2
  119. package/dist/components/portal-container.js.map +1 -1
  120. package/dist/components/progress-circle.js.map +1 -1
  121. package/dist/components/progress.js.map +1 -1
  122. package/dist/components/prose.js.map +1 -1
  123. package/dist/components/radio-group.js +63 -72
  124. package/dist/components/radio-group.js.map +1 -1
  125. package/dist/components/resizable.js.map +1 -1
  126. package/dist/components/scheduler.js +1 -1
  127. package/dist/components/scheduler.js.map +1 -1
  128. package/dist/components/search-select.js +3 -3
  129. package/dist/components/search-select.js.map +1 -1
  130. package/dist/components/select.js +1 -1
  131. package/dist/components/sheet.js +1 -1
  132. package/dist/components/sidebar.js +2 -2
  133. package/dist/components/sidebar.js.map +1 -1
  134. package/dist/components/slider.js.map +1 -1
  135. package/dist/components/stepper.js.map +1 -1
  136. package/dist/components/switch/Switch.d.ts +1 -1
  137. package/dist/components/switch.js +5 -2
  138. package/dist/components/switch.js.map +1 -1
  139. package/dist/components/system-state.js.map +1 -1
  140. package/dist/components/table.js +1 -1
  141. package/dist/components/table.js.map +1 -1
  142. package/dist/components/tabs.js.map +1 -1
  143. package/dist/components/tag-input.js +1 -1
  144. package/dist/components/tag-input.js.map +1 -1
  145. package/dist/components/textarea.js.map +1 -1
  146. package/dist/components/timer.js.map +1 -1
  147. package/dist/components/toast.js.map +1 -1
  148. package/dist/components/toggle-group.js.map +1 -1
  149. package/dist/components/toolbar.js.map +1 -1
  150. package/dist/components/tooltip.js +1 -1
  151. package/dist/floating-ui.react-dom-BwDfy92G.js +1309 -0
  152. package/dist/floating-ui.react-dom-BwDfy92G.js.map +1 -0
  153. package/dist/formatBytes-C4QXq5lC.js.map +1 -1
  154. package/dist/index-0ioNhtNM.js.map +1 -1
  155. package/dist/index-1SnkxfPR.js +230 -0
  156. package/dist/index-1SnkxfPR.js.map +1 -0
  157. package/dist/index-437EL2iq.js.map +1 -1
  158. package/dist/index-BDrapWDv.js.map +1 -1
  159. package/dist/index-BGQepRFJ.js.map +1 -1
  160. package/dist/index-BVqs-uqP.js.map +1 -1
  161. package/dist/index-BZPx6jYI.js.map +1 -1
  162. package/dist/index-Bb23HztA.js.map +1 -1
  163. package/dist/index-BjtNfqNq.js +333 -0
  164. package/dist/index-BjtNfqNq.js.map +1 -0
  165. package/dist/index-BpWB3aFK.js.map +1 -1
  166. package/dist/index-ByaXH_ih.js.map +1 -1
  167. package/dist/index-CCKe-Mpx.js.map +1 -1
  168. package/dist/index-CFaU3UXv.js.map +1 -1
  169. package/dist/index-CLuiUUQ8.js.map +1 -1
  170. package/dist/{index-CQD-Njgt.js → index-CMxHunQ4.js} +26 -25
  171. package/dist/index-CMxHunQ4.js.map +1 -0
  172. package/dist/index-CmBeyp2d.js.map +1 -1
  173. package/dist/index-DFZozV_h.js.map +1 -1
  174. package/dist/index-DHsfW5Rj.js.map +1 -1
  175. package/dist/index-DHyZ_0Ut.js.map +1 -1
  176. package/dist/index-DLcqcWxM.js.map +1 -1
  177. package/dist/index-DnnQs07z.js.map +1 -1
  178. package/dist/index-Uiy0Xwy2.js.map +1 -1
  179. package/dist/index-_ITz1IyW.js.map +1 -1
  180. package/dist/index.js.map +1 -1
  181. package/dist/inputBaseStyles-DbzD_jvq.js.map +1 -1
  182. package/dist/lib/utils/styles.d.ts +1 -0
  183. package/dist/lib/utils.js.map +1 -1
  184. package/dist/styles-scoped.css +6441 -6413
  185. package/dist/styles.css +6180 -6152
  186. package/dist/theme.css +362 -362
  187. package/dist/types/css.d.ts +4 -4
  188. package/dist/useBreakpoints-D8wKOvil.js.map +1 -1
  189. package/dist/useDebounce-BRah78CF.js.map +1 -1
  190. package/dist/useFileUpload-Bnl3P8mP.js.map +1 -1
  191. package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
  192. package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
  193. package/dist/usePortalContainer-BAIp0kSF.js +44 -0
  194. package/dist/usePortalContainer-BAIp0kSF.js.map +1 -0
  195. package/dist/vendors/tanstack/react-table.js.map +1 -1
  196. package/dist/zod-BMNoK3aM.js.map +1 -1
  197. package/package.json +206 -183
  198. package/tailwind.preset.js +448 -448
  199. package/dist/CheckboxField-cX09-eBX.js.map +0 -1
  200. package/dist/Command-ClIm4U7r.js.map +0 -1
  201. package/dist/Dialog-Bs1B5Iu8.js.map +0 -1
  202. package/dist/Field-BiIWtq9o.js.map +0 -1
  203. package/dist/FieldLabel-QJ4rJFOi.js.map +0 -1
  204. package/dist/FormFooterTemplate-DPB6Dkxn.js.map +0 -1
  205. package/dist/FormStack-DO15vBgd.js.map +0 -1
  206. package/dist/IconTooltip-CKJKGHbk.js.map +0 -1
  207. package/dist/Popover-CY_d3Ggn.js.map +0 -1
  208. package/dist/Select-B2WcoFf5.js.map +0 -1
  209. package/dist/Sheet-zTMuP7C8.js.map +0 -1
  210. package/dist/TextOverflowTooltip-DlUgic5y.js.map +0 -1
  211. package/dist/Tooltip-C4rVuWr4.js.map +0 -1
  212. package/dist/design-tokens.source.json +0 -1
  213. package/dist/index-BzCriPiK.js +0 -671
  214. package/dist/index-BzCriPiK.js.map +0 -1
  215. package/dist/index-CQD-Njgt.js.map +0 -1
  216. package/dist/index-DRo26PBK.js +0 -1525
  217. package/dist/index-DRo26PBK.js.map +0 -1
  218. package/dist/usePortalContainer-ae6EzS08.js +0 -39
  219. package/dist/usePortalContainer-ae6EzS08.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\";\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
+ {"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 +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\";\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
+ {"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 +1 @@
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
+ {"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 +1 @@
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
+ {"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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"}
@@ -11,7 +11,7 @@ import { P as J } from "./index-BpWB3aFK.js";
11
11
  import { T as z } from "./index-BVqs-uqP.js";
12
12
  import { M as Q } from "./minus-BltQa7Q2.js";
13
13
  import { C as Y } from "./check-CeyaOoZv.js";
14
- import { F as Z } from "./FieldLabel-QJ4rJFOi.js";
14
+ import { F as Z } from "./FieldLabel-eyKmeWRn.js";
15
15
  import { D as ee } from "./Description-BTPMlTT-.js";
16
16
  var g = "Checkbox", [te, ge] = V(g), [re, N] = te(g);
17
17
  function ae(t) {
@@ -344,4 +344,4 @@ export {
344
344
  ce as a,
345
345
  se as c
346
346
  };
347
- //# sourceMappingURL=CheckboxField-cX09-eBX.js.map
347
+ //# sourceMappingURL=CheckboxField-2zNFubvm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxField-2zNFubvm.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]}
@@ -0,0 +1,353 @@
1
+ import * as c from "react";
2
+ import { u as $ } from "./index-DLcqcWxM.js";
3
+ import { P as ee } from "./index-CFaU3UXv.js";
4
+ import { u as _ } from "./index-0ioNhtNM.js";
5
+ import { jsx as te } from "react/jsx-runtime";
6
+ import { c as re, _ as ne, u as ae, a as N, z as oe, f as ce, s as ue, b as le, R as se, e as ie } from "./index-BjtNfqNq.js";
7
+ var I = "focusScope.autoFocusOnMount", O = "focusScope.autoFocusOnUnmount", K = { bubbles: !1, cancelable: !0 }, fe = "FocusScope", de = c.forwardRef((e, t) => {
8
+ const {
9
+ loop: n = !1,
10
+ trapped: a = !1,
11
+ onMountAutoFocus: m,
12
+ onUnmountAutoFocus: h,
13
+ ...E
14
+ } = e, [o, S] = c.useState(null), b = _(m), g = _(h), y = c.useRef(null), p = $(t, (r) => S(r)), d = c.useRef({
15
+ paused: !1,
16
+ pause() {
17
+ this.paused = !0;
18
+ },
19
+ resume() {
20
+ this.paused = !1;
21
+ }
22
+ }).current;
23
+ c.useEffect(() => {
24
+ if (a) {
25
+ let r = function(s) {
26
+ if (d.paused || !o) return;
27
+ const i = s.target;
28
+ o.contains(i) ? y.current = i : w(y.current, { select: !0 });
29
+ }, u = function(s) {
30
+ if (d.paused || !o) return;
31
+ const i = s.relatedTarget;
32
+ i !== null && (o.contains(i) || w(y.current, { select: !0 }));
33
+ }, l = function(s) {
34
+ if (document.activeElement === document.body)
35
+ for (const f of s)
36
+ f.removedNodes.length > 0 && w(o);
37
+ };
38
+ document.addEventListener("focusin", r), document.addEventListener("focusout", u);
39
+ const v = new MutationObserver(l);
40
+ return o && v.observe(o, { childList: !0, subtree: !0 }), () => {
41
+ document.removeEventListener("focusin", r), document.removeEventListener("focusout", u), v.disconnect();
42
+ };
43
+ }
44
+ }, [a, o, d.paused]), c.useEffect(() => {
45
+ if (o) {
46
+ H.add(d);
47
+ const r = document.activeElement;
48
+ if (!o.contains(r)) {
49
+ const l = new CustomEvent(I, K);
50
+ o.addEventListener(I, b), o.dispatchEvent(l), l.defaultPrevented || (ve(Se(z(o)), { select: !0 }), document.activeElement === r && w(o));
51
+ }
52
+ return () => {
53
+ o.removeEventListener(I, b), setTimeout(() => {
54
+ const l = new CustomEvent(O, K);
55
+ o.addEventListener(O, g), o.dispatchEvent(l), l.defaultPrevented || w(r ?? document.body, { select: !0 }), o.removeEventListener(O, g), H.remove(d);
56
+ }, 0);
57
+ };
58
+ }
59
+ }, [o, b, g, d]);
60
+ const C = c.useCallback(
61
+ (r) => {
62
+ if (!n && !a || d.paused) return;
63
+ const u = r.key === "Tab" && !r.altKey && !r.ctrlKey && !r.metaKey, l = document.activeElement;
64
+ if (u && l) {
65
+ const v = r.currentTarget, [s, i] = me(v);
66
+ s && i ? !r.shiftKey && l === i ? (r.preventDefault(), n && w(s, { select: !0 })) : r.shiftKey && l === s && (r.preventDefault(), n && w(i, { select: !0 })) : l === v && r.preventDefault();
67
+ }
68
+ },
69
+ [n, a, d.paused]
70
+ );
71
+ return /* @__PURE__ */ te(ee.div, { tabIndex: -1, ...E, ref: p, onKeyDown: C });
72
+ });
73
+ de.displayName = fe;
74
+ function ve(e, { select: t = !1 } = {}) {
75
+ const n = document.activeElement;
76
+ for (const a of e)
77
+ if (w(a, { select: t }), document.activeElement !== n) return;
78
+ }
79
+ function me(e) {
80
+ const t = z(e), n = W(t, e), a = W(t.reverse(), e);
81
+ return [n, a];
82
+ }
83
+ function z(e) {
84
+ const t = [], n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
85
+ acceptNode: (a) => {
86
+ const m = a.tagName === "INPUT" && a.type === "hidden";
87
+ return a.disabled || a.hidden || m ? NodeFilter.FILTER_SKIP : a.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
88
+ }
89
+ });
90
+ for (; n.nextNode(); ) t.push(n.currentNode);
91
+ return t;
92
+ }
93
+ function W(e, t) {
94
+ for (const n of e)
95
+ if (!he(n, { upTo: t })) return n;
96
+ }
97
+ function he(e, { upTo: t }) {
98
+ if (getComputedStyle(e).visibility === "hidden") return !0;
99
+ for (; e; ) {
100
+ if (t !== void 0 && e === t) return !1;
101
+ if (getComputedStyle(e).display === "none") return !0;
102
+ e = e.parentElement;
103
+ }
104
+ return !1;
105
+ }
106
+ function Ee(e) {
107
+ return e instanceof HTMLInputElement && "select" in e;
108
+ }
109
+ function w(e, { select: t = !1 } = {}) {
110
+ if (e && e.focus) {
111
+ const n = document.activeElement;
112
+ e.focus({ preventScroll: !0 }), e !== n && Ee(e) && t && e.select();
113
+ }
114
+ }
115
+ var H = be();
116
+ function be() {
117
+ let e = [];
118
+ return {
119
+ add(t) {
120
+ const n = e[0];
121
+ t !== n && n?.pause(), e = X(e, t), e.unshift(t);
122
+ },
123
+ remove(t) {
124
+ e = X(e, t), e[0]?.resume();
125
+ }
126
+ };
127
+ }
128
+ function X(e, t) {
129
+ const n = [...e], a = n.indexOf(t);
130
+ return a !== -1 && n.splice(a, 1), n;
131
+ }
132
+ function Se(e) {
133
+ return e.filter((t) => t.tagName !== "A");
134
+ }
135
+ var B = 0;
136
+ function Ue() {
137
+ c.useEffect(() => {
138
+ const e = document.querySelectorAll("[data-radix-focus-guard]");
139
+ return document.body.insertAdjacentElement("afterbegin", e[0] ?? Y()), document.body.insertAdjacentElement("beforeend", e[1] ?? Y()), B++, () => {
140
+ B === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), B--;
141
+ };
142
+ }, []);
143
+ }
144
+ function Y() {
145
+ const e = document.createElement("span");
146
+ return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e;
147
+ }
148
+ var G = re(), D = function() {
149
+ }, A = c.forwardRef(function(e, t) {
150
+ var n = c.useRef(null), a = c.useState({
151
+ onScrollCapture: D,
152
+ onWheelCapture: D,
153
+ onTouchMoveCapture: D
154
+ }), m = a[0], h = a[1], E = e.forwardProps, o = e.children, S = e.className, b = e.removeScrollBar, g = e.enabled, y = e.shards, p = e.sideCar, d = e.noIsolation, C = e.inert, r = e.allowPinchZoom, u = e.as, l = u === void 0 ? "div" : u, v = e.gapMode, s = ne(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), i = p, f = ae([n, t]), R = N(N({}, s), m);
155
+ return c.createElement(
156
+ c.Fragment,
157
+ null,
158
+ g && c.createElement(i, { sideCar: G, removeScrollBar: b, shards: y, noIsolation: d, inert: C, setCallbacks: h, allowPinchZoom: !!r, lockRef: n, gapMode: v }),
159
+ E ? c.cloneElement(c.Children.only(o), N(N({}, R), { ref: f })) : c.createElement(l, N({}, R, { className: S, ref: f }), o)
160
+ );
161
+ });
162
+ A.defaultProps = {
163
+ enabled: !0,
164
+ removeScrollBar: !0,
165
+ inert: !1
166
+ };
167
+ A.classNames = {
168
+ fullWidth: ce,
169
+ zeroRight: oe
170
+ };
171
+ var x = !1;
172
+ if (typeof window < "u")
173
+ try {
174
+ var L = Object.defineProperty({}, "passive", {
175
+ get: function() {
176
+ return x = !0, !0;
177
+ }
178
+ });
179
+ window.addEventListener("test", L, L), window.removeEventListener("test", L, L);
180
+ } catch {
181
+ x = !1;
182
+ }
183
+ var F = x ? { passive: !1 } : !1, ge = function(e) {
184
+ return e.tagName === "TEXTAREA";
185
+ }, q = function(e, t) {
186
+ if (!(e instanceof Element))
187
+ return !1;
188
+ var n = window.getComputedStyle(e);
189
+ return (
190
+ // not-not-scrollable
191
+ n[t] !== "hidden" && // contains scroll inside self
192
+ !(n.overflowY === n.overflowX && !ge(e) && n[t] === "visible")
193
+ );
194
+ }, ye = function(e) {
195
+ return q(e, "overflowY");
196
+ }, Ce = function(e) {
197
+ return q(e, "overflowX");
198
+ }, V = function(e, t) {
199
+ var n = t.ownerDocument, a = t;
200
+ do {
201
+ typeof ShadowRoot < "u" && a instanceof ShadowRoot && (a = a.host);
202
+ var m = Q(e, a);
203
+ if (m) {
204
+ var h = J(e, a), E = h[1], o = h[2];
205
+ if (E > o)
206
+ return !0;
207
+ }
208
+ a = a.parentNode;
209
+ } while (a && a !== n.body);
210
+ return !1;
211
+ }, pe = function(e) {
212
+ var t = e.scrollTop, n = e.scrollHeight, a = e.clientHeight;
213
+ return [
214
+ t,
215
+ n,
216
+ a
217
+ ];
218
+ }, we = function(e) {
219
+ var t = e.scrollLeft, n = e.scrollWidth, a = e.clientWidth;
220
+ return [
221
+ t,
222
+ n,
223
+ a
224
+ ];
225
+ }, Q = function(e, t) {
226
+ return e === "v" ? ye(t) : Ce(t);
227
+ }, J = function(e, t) {
228
+ return e === "v" ? pe(t) : we(t);
229
+ }, Re = function(e, t) {
230
+ return e === "h" && t === "rtl" ? -1 : 1;
231
+ }, Fe = function(e, t, n, a, m) {
232
+ var h = Re(e, window.getComputedStyle(t).direction), E = h * a, o = n.target, S = t.contains(o), b = !1, g = E > 0, y = 0, p = 0;
233
+ do {
234
+ var d = J(e, o), C = d[0], r = d[1], u = d[2], l = r - u - h * C;
235
+ (C || l) && Q(e, o) && (y += l, p += C), o instanceof ShadowRoot ? o = o.host : o = o.parentNode;
236
+ } while (
237
+ // portaled content
238
+ !S && o !== document.body || // self content
239
+ S && (t.contains(o) || t === o)
240
+ );
241
+ return (g && Math.abs(y) < 1 || !g && Math.abs(p) < 1) && (b = !0), b;
242
+ }, M = function(e) {
243
+ return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0];
244
+ }, Z = function(e) {
245
+ return [e.deltaX, e.deltaY];
246
+ }, j = function(e) {
247
+ return e && "current" in e ? e.current : e;
248
+ }, Te = function(e, t) {
249
+ return e[0] === t[0] && e[1] === t[1];
250
+ }, Ne = function(e) {
251
+ return `
252
+ .block-interactivity-`.concat(e, ` {pointer-events: none;}
253
+ .allow-interactivity-`).concat(e, ` {pointer-events: all;}
254
+ `);
255
+ }, Pe = 0, T = [];
256
+ function ke(e) {
257
+ var t = c.useRef([]), n = c.useRef([0, 0]), a = c.useRef(), m = c.useState(Pe++)[0], h = c.useState(ue)[0], E = c.useRef(e);
258
+ c.useEffect(function() {
259
+ E.current = e;
260
+ }, [e]), c.useEffect(function() {
261
+ if (e.inert) {
262
+ document.body.classList.add("block-interactivity-".concat(m));
263
+ var r = le([e.lockRef.current], (e.shards || []).map(j), !0).filter(Boolean);
264
+ return r.forEach(function(u) {
265
+ return u.classList.add("allow-interactivity-".concat(m));
266
+ }), function() {
267
+ document.body.classList.remove("block-interactivity-".concat(m)), r.forEach(function(u) {
268
+ return u.classList.remove("allow-interactivity-".concat(m));
269
+ });
270
+ };
271
+ }
272
+ }, [e.inert, e.lockRef.current, e.shards]);
273
+ var o = c.useCallback(function(r, u) {
274
+ if ("touches" in r && r.touches.length === 2 || r.type === "wheel" && r.ctrlKey)
275
+ return !E.current.allowPinchZoom;
276
+ var l = M(r), v = n.current, s = "deltaX" in r ? r.deltaX : v[0] - l[0], i = "deltaY" in r ? r.deltaY : v[1] - l[1], f, R = r.target, P = Math.abs(s) > Math.abs(i) ? "h" : "v";
277
+ if ("touches" in r && P === "h" && R.type === "range")
278
+ return !1;
279
+ var k = V(P, R);
280
+ if (!k)
281
+ return !0;
282
+ if (k ? f = P : (f = P === "v" ? "h" : "v", k = V(P, R)), !k)
283
+ return !1;
284
+ if (!a.current && "changedTouches" in r && (s || i) && (a.current = f), !f)
285
+ return !0;
286
+ var U = a.current || f;
287
+ return Fe(U, u, r, U === "h" ? s : i);
288
+ }, []), S = c.useCallback(function(r) {
289
+ var u = r;
290
+ if (!(!T.length || T[T.length - 1] !== h)) {
291
+ var l = "deltaY" in u ? Z(u) : M(u), v = t.current.filter(function(f) {
292
+ return f.name === u.type && (f.target === u.target || u.target === f.shadowParent) && Te(f.delta, l);
293
+ })[0];
294
+ if (v && v.should) {
295
+ u.cancelable && u.preventDefault();
296
+ return;
297
+ }
298
+ if (!v) {
299
+ var s = (E.current.shards || []).map(j).filter(Boolean).filter(function(f) {
300
+ return f.contains(u.target);
301
+ }), i = s.length > 0 ? o(u, s[0]) : !E.current.noIsolation;
302
+ i && u.cancelable && u.preventDefault();
303
+ }
304
+ }
305
+ }, []), b = c.useCallback(function(r, u, l, v) {
306
+ var s = { name: r, delta: u, target: l, should: v, shadowParent: Le(l) };
307
+ t.current.push(s), setTimeout(function() {
308
+ t.current = t.current.filter(function(i) {
309
+ return i !== s;
310
+ });
311
+ }, 1);
312
+ }, []), g = c.useCallback(function(r) {
313
+ n.current = M(r), a.current = void 0;
314
+ }, []), y = c.useCallback(function(r) {
315
+ b(r.type, Z(r), r.target, o(r, e.lockRef.current));
316
+ }, []), p = c.useCallback(function(r) {
317
+ b(r.type, M(r), r.target, o(r, e.lockRef.current));
318
+ }, []);
319
+ c.useEffect(function() {
320
+ return T.push(h), e.setCallbacks({
321
+ onScrollCapture: y,
322
+ onWheelCapture: y,
323
+ onTouchMoveCapture: p
324
+ }), document.addEventListener("wheel", S, F), document.addEventListener("touchmove", S, F), document.addEventListener("touchstart", g, F), function() {
325
+ T = T.filter(function(r) {
326
+ return r !== h;
327
+ }), document.removeEventListener("wheel", S, F), document.removeEventListener("touchmove", S, F), document.removeEventListener("touchstart", g, F);
328
+ };
329
+ }, []);
330
+ var d = e.removeScrollBar, C = e.inert;
331
+ return c.createElement(
332
+ c.Fragment,
333
+ null,
334
+ C ? c.createElement(h, { styles: Ne(m) }) : null,
335
+ d ? c.createElement(se, { gapMode: e.gapMode }) : null
336
+ );
337
+ }
338
+ function Le(e) {
339
+ for (var t = null; e !== null; )
340
+ e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode;
341
+ return t;
342
+ }
343
+ const Me = ie(G, ke);
344
+ var Ae = c.forwardRef(function(e, t) {
345
+ return c.createElement(A, N({}, e, { ref: t, sideCar: Me }));
346
+ });
347
+ Ae.classNames = A.classNames;
348
+ export {
349
+ de as F,
350
+ Ae as R,
351
+ Ue as u
352
+ };
353
+ //# sourceMappingURL=Combination-DeIugdgY.js.map