ics-ui-kit 0.1.19 → 1.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/README.md +36 -36
  2. package/dist/AlertContext-CxjW1LVL.js.map +1 -1
  3. package/dist/AlertIcon-BphnEYvV.js.map +1 -1
  4. package/dist/{Button-BZ3ON1Tj.js → Button-_qdP4hSf.js} +2 -2
  5. package/dist/Button-_qdP4hSf.js.map +1 -0
  6. package/dist/{ButtonBase-jgu7EolU.js → ButtonBase-CbWrYcx-.js} +2 -2
  7. package/dist/ButtonBase-CbWrYcx-.js.map +1 -0
  8. package/dist/{CheckboxField-limFbMk2.js → CheckboxField-Ca48ZYoX.js} +32 -32
  9. package/dist/CheckboxField-Ca48ZYoX.js.map +1 -0
  10. package/dist/Combination-DeIugdgY.js.map +1 -1
  11. package/dist/{Command-B7ZRyW8w.js → Command-CsW4aK7M.js} +8 -8
  12. package/dist/Command-CsW4aK7M.js.map +1 -0
  13. package/dist/ComponentVariantProvider-brk0g-hm.js.map +1 -1
  14. package/dist/Description-BTPMlTT-.js.map +1 -1
  15. package/dist/{Dialog-CdnsGyJD.js → Dialog-BT_775Iz.js} +4 -4
  16. package/dist/Dialog-BT_775Iz.js.map +1 -0
  17. package/dist/Divider-DPW5ZhZ8.js.map +1 -1
  18. package/dist/EmptyState-DRKjscH-.js.map +1 -1
  19. package/dist/ErrorState-B26k67-z.js.map +1 -1
  20. package/dist/FeatureIcon-BGE0Orkc.js.map +1 -1
  21. package/dist/{Field-CP_-li9L.js → Field-BRPdaQ8D.js} +2 -2
  22. package/dist/Field-BRPdaQ8D.js.map +1 -0
  23. package/dist/{FieldLabel-eyKmeWRn.js → FieldLabel-ic0eq9Un.js} +2 -2
  24. package/dist/FieldLabel-ic0eq9Un.js.map +1 -0
  25. package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
  26. package/dist/{FormFooterTemplate-DdNnLu2-.js → FormFooterTemplate-BIwnBQhL.js} +5 -5
  27. package/dist/FormFooterTemplate-BIwnBQhL.js.map +1 -0
  28. package/dist/{FormHeader--F6b2aRk.js → FormHeader-PE63OqG9.js} +3 -3
  29. package/dist/FormHeader-PE63OqG9.js.map +1 -0
  30. package/dist/{FormStack-Cc_ELdWL.js → FormStack-CxiZhx1n.js} +3 -3
  31. package/dist/FormStack-CxiZhx1n.js.map +1 -0
  32. package/dist/HintState-BxrCAWqq.js.map +1 -1
  33. package/dist/Icon-DH3ev9GK.js.map +1 -1
  34. package/dist/{IconButton-uGJ3cQtk.js → IconButton-DAg1oMwz.js} +2 -2
  35. package/dist/IconButton-DAg1oMwz.js.map +1 -0
  36. package/dist/{IconTooltip-RSxvnBgH.js → IconTooltip-CgbefRXG.js} +2 -2
  37. package/dist/IconTooltip-CgbefRXG.js.map +1 -0
  38. package/dist/Indicator-AqxHWPA9.js.map +1 -1
  39. package/dist/{InputGroup-AVAtosX_.js → InputGroup-CW55G5nE.js} +5 -5
  40. package/dist/InputGroup-CW55G5nE.js.map +1 -0
  41. package/dist/{InputOTP-B2e1nfSO.js → InputOTP-DkVh6bBz.js} +2 -2
  42. package/dist/InputOTP-DkVh6bBz.js.map +1 -0
  43. package/dist/Loader-BpHiL6W-.js.map +1 -1
  44. package/dist/{MenuItem-d19Ty84F.js → MenuItem-C51uFz3V.js} +11 -11
  45. package/dist/MenuItem-C51uFz3V.js.map +1 -0
  46. package/dist/MenuItemShortcut-D1faeIXp.js.map +1 -1
  47. package/dist/MenuItemText-CRpaPbvg.js.map +1 -1
  48. package/dist/{Overlay-CVt011mY.js → Overlay-E0UvxzIc.js} +2 -2
  49. package/dist/Overlay-E0UvxzIc.js.map +1 -0
  50. package/dist/{Popover-KjZXxxl3.js → Popover-Dz2eNsXh.js} +5 -5
  51. package/dist/Popover-Dz2eNsXh.js.map +1 -0
  52. package/dist/{RichButton-B1wjK7Bk.js → RichButton-Bt0yUShU.js} +2 -2
  53. package/dist/RichButton-Bt0yUShU.js.map +1 -0
  54. package/dist/ScrollArea-CuuTeDn3.js.map +1 -1
  55. package/dist/ScrollShadowContainer-DdrnF8qU.js.map +1 -1
  56. package/dist/{SearchSelectTag-CA7Ie3Nx.js → SearchSelectTag-Dp5_OvZp.js} +16 -16
  57. package/dist/SearchSelectTag-Dp5_OvZp.js.map +1 -0
  58. package/dist/{Select-D9juHX8o.js → Select-Bfbtj5zt.js} +7 -7
  59. package/dist/Select-Bfbtj5zt.js.map +1 -0
  60. package/dist/{Sheet-qTIXsqm0.js → Sheet-aLBPtE1k.js} +9 -9
  61. package/dist/Sheet-aLBPtE1k.js.map +1 -0
  62. package/dist/Shortcut-D8L15_ed.js.map +1 -1
  63. package/dist/Skeleton-y6I-i9q5.js.map +1 -1
  64. package/dist/{TableFillHandle-C_yvCTSl.js → TableFillHandle-CHHoUi6s.js} +7 -7
  65. package/dist/TableFillHandle-CHHoUi6s.js.map +1 -0
  66. package/dist/{Tag-DdHXTyKF.js → Tag-Cf6HftP-.js} +4 -4
  67. package/dist/Tag-Cf6HftP-.js.map +1 -0
  68. package/dist/Text-DeBE8AKl.js.map +1 -1
  69. package/dist/{TextInput-5BuZtWV6.js → TextInput-CoL8nOyt.js} +3 -3
  70. package/dist/TextInput-CoL8nOyt.js.map +1 -0
  71. package/dist/{TextOverflowTooltip-B1I5qwAT.js → TextOverflowTooltip-BaNPKqnO.js} +2 -2
  72. package/dist/{TextOverflowTooltip-B1I5qwAT.js.map → TextOverflowTooltip-BaNPKqnO.js.map} +1 -1
  73. package/dist/{Toggle-v_HT3Gm2.js → Toggle-CmalMf4O.js} +2 -2
  74. package/dist/Toggle-CmalMf4O.js.map +1 -0
  75. package/dist/{Tooltip-7Duaau0S.js → Tooltip-DOgKy50D.js} +3 -3
  76. package/dist/Tooltip-DOgKy50D.js.map +1 -0
  77. package/dist/{TriggerButton-Bakr8Boi.js → TriggerButton-CoAgB4lx.js} +2 -2
  78. package/dist/TriggerButton-CoAgB4lx.js.map +1 -0
  79. package/dist/blocks/auth/otp-form.js +4 -4
  80. package/dist/blocks/auth/otp-form.js.map +1 -1
  81. package/dist/cn-dsXlqdJg.js.map +1 -1
  82. package/dist/components/alert-dialog.js +3 -3
  83. package/dist/components/alert-dialog.js.map +1 -1
  84. package/dist/components/alert.js +1 -1
  85. package/dist/components/alert.js.map +1 -1
  86. package/dist/components/avatar.js.map +1 -1
  87. package/dist/components/background-pattern.js.map +1 -1
  88. package/dist/components/badge.js.map +1 -1
  89. package/dist/components/banner.js.map +1 -1
  90. package/dist/components/breadcrumb.js.map +1 -1
  91. package/dist/components/button.js +5 -5
  92. package/dist/components/button.js.map +1 -1
  93. package/dist/components/calendar.js +2 -2
  94. package/dist/components/calendar.js.map +1 -1
  95. package/dist/components/card.js +2 -2
  96. package/dist/components/card.js.map +1 -1
  97. package/dist/components/carousel.js +1 -1
  98. package/dist/components/carousel.js.map +1 -1
  99. package/dist/components/checkbox.js +1 -1
  100. package/dist/components/collapsible.js.map +1 -1
  101. package/dist/components/color-tile.js.map +1 -1
  102. package/dist/components/command.js +1 -1
  103. package/dist/components/container.js.map +1 -1
  104. package/dist/components/context-menu.js +6 -6
  105. package/dist/components/context-menu.js.map +1 -1
  106. package/dist/components/counter.js +1 -1
  107. package/dist/components/counter.js.map +1 -1
  108. package/dist/components/dialog.js +3 -3
  109. package/dist/components/dialog.js.map +1 -1
  110. package/dist/components/divider.js.map +1 -1
  111. package/dist/components/drawer.js +4 -4
  112. package/dist/components/drawer.js.map +1 -1
  113. package/dist/components/dropdown.js +9 -9
  114. package/dist/components/dropdown.js.map +1 -1
  115. package/dist/components/error-state.js +1 -1
  116. package/dist/components/error-state.js.map +1 -1
  117. package/dist/components/field.js +1 -1
  118. package/dist/components/file-upload.js +3 -3
  119. package/dist/components/file-upload.js.map +1 -1
  120. package/dist/components/form.js +5 -5
  121. package/dist/components/form.js.map +1 -1
  122. package/dist/components/glass-toolbar.js +6 -6
  123. package/dist/components/glass-toolbar.js.map +1 -1
  124. package/dist/components/icon-tooltip.js +1 -1
  125. package/dist/components/image-placeholder.js.map +1 -1
  126. package/dist/components/image-preview.js +2 -2
  127. package/dist/components/image-preview.js.map +1 -1
  128. package/dist/components/image-uploader.js +1 -1
  129. package/dist/components/image-uploader.js.map +1 -1
  130. package/dist/components/input-otp.js +1 -1
  131. package/dist/components/input.js +5 -5
  132. package/dist/components/input.js.map +1 -1
  133. package/dist/components/label.js +1 -1
  134. package/dist/components/menu-item.js +6 -6
  135. package/dist/components/menu-item.js.map +1 -1
  136. package/dist/components/overflow-tooltip.js +1 -1
  137. package/dist/components/overlay.js +1 -1
  138. package/dist/components/page-state.js +7 -7
  139. package/dist/components/page-state.js.map +1 -1
  140. package/dist/components/popover.js +1 -1
  141. package/dist/components/portal-container/usePortalContainer.d.ts +2 -1
  142. package/dist/components/portal-container.js +2 -2
  143. package/dist/components/portal-container.js.map +1 -1
  144. package/dist/components/progress-circle.js +1 -1
  145. package/dist/components/progress-circle.js.map +1 -1
  146. package/dist/components/progress.js +3 -3
  147. package/dist/components/progress.js.map +1 -1
  148. package/dist/components/prose.js.map +1 -1
  149. package/dist/components/radio-group.js +1 -1
  150. package/dist/components/radio-group.js.map +1 -1
  151. package/dist/components/resizable.js +1 -1
  152. package/dist/components/resizable.js.map +1 -1
  153. package/dist/components/scheduler.js +1 -1
  154. package/dist/components/scheduler.js.map +1 -1
  155. package/dist/components/search-select.js +4 -4
  156. package/dist/components/search-select.js.map +1 -1
  157. package/dist/components/select.js +1 -1
  158. package/dist/components/sheet.js +1 -1
  159. package/dist/components/sidebar.js +90 -90
  160. package/dist/components/sidebar.js.map +1 -1
  161. package/dist/components/slider.js +1 -1
  162. package/dist/components/slider.js.map +1 -1
  163. package/dist/components/stepper.js +1 -1
  164. package/dist/components/stepper.js.map +1 -1
  165. package/dist/components/switch.js +2 -2
  166. package/dist/components/switch.js.map +1 -1
  167. package/dist/components/system-state.js +1 -1
  168. package/dist/components/system-state.js.map +1 -1
  169. package/dist/components/table/editable/editableCell.d.ts +2 -2
  170. package/dist/components/table/editable.js +1 -1
  171. package/dist/components/table/tree.js +1 -1
  172. package/dist/components/table.js +2 -2
  173. package/dist/components/tabs.js +2 -2
  174. package/dist/components/tabs.js.map +1 -1
  175. package/dist/components/tag-input.js +5 -5
  176. package/dist/components/tag-input.js.map +1 -1
  177. package/dist/components/tag.js +1 -1
  178. package/dist/components/textarea.js +1 -1
  179. package/dist/components/textarea.js.map +1 -1
  180. package/dist/components/timer.js.map +1 -1
  181. package/dist/components/toast.js +6 -6
  182. package/dist/components/toast.js.map +1 -1
  183. package/dist/components/toggle-group.js +1 -1
  184. package/dist/components/toggle-group.js.map +1 -1
  185. package/dist/components/toggle.js +1 -1
  186. package/dist/components/toolbar.js +1 -1
  187. package/dist/components/toolbar.js.map +1 -1
  188. package/dist/components/tooltip.js +1 -1
  189. package/dist/design-tokens.source.json +1 -0
  190. package/dist/docs/tailwind-utilities/ScrollFade.stories.d.ts +28 -0
  191. package/dist/docs/tailwind-utilities/Shimmer.stories.d.ts +32 -0
  192. package/dist/floating-ui.react-dom-BwDfy92G.js.map +1 -1
  193. package/dist/font-smoothing.css +4 -0
  194. package/dist/formatBytes-C4QXq5lC.js.map +1 -1
  195. package/dist/index-0ioNhtNM.js.map +1 -1
  196. package/dist/index-1SnkxfPR.js.map +1 -1
  197. package/dist/index-437EL2iq.js.map +1 -1
  198. package/dist/index-BDrapWDv.js.map +1 -1
  199. package/dist/index-BGQepRFJ.js.map +1 -1
  200. package/dist/index-BVqs-uqP.js.map +1 -1
  201. package/dist/index-BZPx6jYI.js.map +1 -1
  202. package/dist/index-Bb23HztA.js.map +1 -1
  203. package/dist/index-BjtNfqNq.js.map +1 -1
  204. package/dist/index-BpWB3aFK.js.map +1 -1
  205. package/dist/index-ByaXH_ih.js.map +1 -1
  206. package/dist/index-CCKe-Mpx.js.map +1 -1
  207. package/dist/index-CFaU3UXv.js.map +1 -1
  208. package/dist/index-CLuiUUQ8.js.map +1 -1
  209. package/dist/index-CMxHunQ4.js.map +1 -1
  210. package/dist/index-CmBeyp2d.js.map +1 -1
  211. package/dist/index-DFZozV_h.js.map +1 -1
  212. package/dist/index-DHsfW5Rj.js.map +1 -1
  213. package/dist/index-DHyZ_0Ut.js.map +1 -1
  214. package/dist/index-DLcqcWxM.js.map +1 -1
  215. package/dist/index-DnnQs07z.js.map +1 -1
  216. package/dist/index-Uiy0Xwy2.js.map +1 -1
  217. package/dist/index-_ITz1IyW.js.map +1 -1
  218. package/dist/index.js.map +1 -1
  219. package/dist/{inputBaseStyles-BfZIWuQ6.js → inputBaseStyles-CZwQWSub.js} +7 -7
  220. package/dist/inputBaseStyles-CZwQWSub.js.map +1 -0
  221. package/dist/lib/utils.js.map +1 -1
  222. package/dist/opaqueCell-D95h1mFM.js.map +1 -1
  223. package/dist/styles.css +8929 -6459
  224. package/dist/tailwind.css +361 -0
  225. package/dist/theme.css +360 -360
  226. package/dist/{treeModel-BlJWP4sc.js → treeModel-CUO1A5s7.js} +11 -11
  227. package/dist/treeModel-CUO1A5s7.js.map +1 -0
  228. package/dist/types/css.d.ts +4 -4
  229. package/dist/useBreakpoints-DHvp74UL.js.map +1 -1
  230. package/dist/useDebounce-BRah78CF.js.map +1 -1
  231. package/dist/useFileUpload-Bnl3P8mP.js.map +1 -1
  232. package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
  233. package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
  234. package/dist/usePortalContainer-B1xla842.js +33 -0
  235. package/dist/usePortalContainer-B1xla842.js.map +1 -0
  236. package/dist/vendors/tanstack/react-table.js.map +1 -1
  237. package/dist/zod-BMNoK3aM.js.map +1 -1
  238. package/package.json +204 -207
  239. package/dist/Button-BZ3ON1Tj.js.map +0 -1
  240. package/dist/ButtonBase-jgu7EolU.js.map +0 -1
  241. package/dist/CheckboxField-limFbMk2.js.map +0 -1
  242. package/dist/Command-B7ZRyW8w.js.map +0 -1
  243. package/dist/Dialog-CdnsGyJD.js.map +0 -1
  244. package/dist/Field-CP_-li9L.js.map +0 -1
  245. package/dist/FieldLabel-eyKmeWRn.js.map +0 -1
  246. package/dist/FormFooterTemplate-DdNnLu2-.js.map +0 -1
  247. package/dist/FormHeader--F6b2aRk.js.map +0 -1
  248. package/dist/FormStack-Cc_ELdWL.js.map +0 -1
  249. package/dist/IconButton-uGJ3cQtk.js.map +0 -1
  250. package/dist/IconTooltip-RSxvnBgH.js.map +0 -1
  251. package/dist/InputGroup-AVAtosX_.js.map +0 -1
  252. package/dist/InputOTP-B2e1nfSO.js.map +0 -1
  253. package/dist/MenuItem-d19Ty84F.js.map +0 -1
  254. package/dist/Overlay-CVt011mY.js.map +0 -1
  255. package/dist/Popover-KjZXxxl3.js.map +0 -1
  256. package/dist/RichButton-B1wjK7Bk.js.map +0 -1
  257. package/dist/SearchSelectTag-CA7Ie3Nx.js.map +0 -1
  258. package/dist/Select-D9juHX8o.js.map +0 -1
  259. package/dist/Sheet-qTIXsqm0.js.map +0 -1
  260. package/dist/TableFillHandle-C_yvCTSl.js.map +0 -1
  261. package/dist/Tag-DdHXTyKF.js.map +0 -1
  262. package/dist/TextInput-5BuZtWV6.js.map +0 -1
  263. package/dist/Toggle-v_HT3Gm2.js.map +0 -1
  264. package/dist/Tooltip-7Duaau0S.js.map +0 -1
  265. package/dist/TriggerButton-Bakr8Boi.js.map +0 -1
  266. package/dist/inputBaseStyles-BfZIWuQ6.js.map +0 -1
  267. package/dist/lib/utils/styles.d.ts +0 -10
  268. package/dist/styles-scoped.css +0 -6605
  269. package/dist/styles-scoped.d.ts +0 -1
  270. package/dist/treeModel-BlJWP4sc.js.map +0 -1
  271. package/dist/usePortalContainer-BAIp0kSF.js +0 -44
  272. package/dist/usePortalContainer-BAIp0kSF.js.map +0 -1
  273. package/tailwind.preset.js +0 -452
@@ -1 +1 @@
1
- {"version":3,"file":"progress-circle.js","sources":["../../src/components/progress-circle/ProgressCircle.tsx","../../src/components/progress-circle/components/progress-circle-description/ProgressCircleDescription.tsx","../../src/components/progress-circle/components/progress-circle-text/ProgressCircleTitle.tsx","../../src/components/progress-circle/components/progress-circle-icon-button/ProgressCircleIconButton.tsx","../../src/components/progress-circle/templates/ProgressCircleTemplate.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { tv, VariantProps } from \"tailwind-variants\";\n\nconst progressCircleVariants = tv({\n\tslots: {\n\t\tsvg: \"-rotate-90 transform\",\n\t\ttrack: \"fill-secondary-bg-hover\",\n\t\tindicator: \"fill-none stroke-current text-primary-accent transition-all duration-500 ease-out\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\txs: {\n\t\t\t\tsvg: \"h-10 w-10\"\n\t\t\t},\n\t\t\tsm: {\n\t\t\t\tsvg: \"h-[3.75rem] w-[3.75rem]\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tsvg: \"h-20 w-20\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\tsvg: \"h-[7.5rem] w-[7.5rem]\"\n\t\t\t},\n\t\t\txl: {\n\t\t\t\tsvg: \"h-[11.25rem] w-[11.25rem]\"\n\t\t\t}\n\t\t},\n\t\tisIndeterminate: {\n\t\t\ttrue: {\n\t\t\t\tindicator: \"origin-center animate-spin duration-1000\"\n\t\t\t}\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressCircleProps = VariantProps<typeof progressCircleVariants> &\n\tReact.HTMLAttributes<SVGSVGElement> & {\n\t\t/** Максимальное значение прогресса. По умолчанию 100 */\n\t\tmax?: number;\n\t\t/** Значение прогресса от 0 до max. Если не указано или null, считается равным 0 */\n\t\tvalue?: number | null;\n\t\t/** Индикатор неопределенного состояния прогресса */\n\t\tindeterminate?: boolean;\n\t\t/** Классы для индикатора */\n\t\tindicatorClassName?: string;\n\t};\n\nexport const ProgressCircle = React.forwardRef<SVGSVGElement, ProgressCircleProps>(\n\t({ size, max = 100, value, indeterminate = false, indicatorClassName }, ref) => {\n\t\tconst styles = progressCircleVariants({ size, isIndeterminate: indeterminate });\n\t\tconst currentValue = indeterminate ? null : (value ?? 0);\n\n\t\tconst radius = 84;\n\t\tconst circumference = 2 * Math.PI * radius;\n\n\t\tconst progressData = useMemo(() => {\n\t\t\tif (indeterminate) {\n\t\t\t\treturn {\n\t\t\t\t\tstrokeDasharray: `${circumference * 0.25} ${circumference * 0.75}`,\n\t\t\t\t\tstrokeDashoffset: 0,\n\t\t\t\t\tpercentage: 0\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst safeMax = max <= 0 ? 100 : max;\n\t\t\tconst safeValue = Math.max(0, Math.min(safeMax, currentValue ?? 0));\n\t\t\tconst percentage = (safeValue / safeMax) * 100;\n\t\t\tconst progress = (safeValue / safeMax) * circumference;\n\t\t\tconst dashOffset = circumference - progress;\n\n\t\t\treturn {\n\t\t\t\tstrokeDasharray: circumference,\n\t\t\t\tstrokeDashoffset: dashOffset,\n\t\t\t\tpercentage: Math.round(percentage)\n\t\t\t};\n\t\t}, [circumference, currentValue, max, indeterminate]);\n\n\t\treturn (\n\t\t\t<svg\n\t\t\t\tref={ref}\n\t\t\t\tclassName={styles.svg()}\n\t\t\t\tviewBox=\"0 0 180 180\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\taria-valuenow={indeterminate ? undefined : progressData.percentage}\n\t\t\t\taria-valuemin={0}\n\t\t\t\taria-valuemax={100}\n\t\t\t\tdata-slot=\"progress-circle\"\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\td=\"M180 90C180 139.706 139.706 180 90 180C40.2944 180 0 139.706 0 90C0 40.2944 40.2944 0 90 0C139.706 0 180 40.2944 180 90ZM11.997 90C11.997 133.08 46.9201 168.003 90 168.003C133.80 168.003 168.003 133.08 168.003 90C168.003 46.9201 133.08 11.997 90 11.997C46.9201 11.997 11.997 46.9201 11.997 90Z\"\n\t\t\t\t\tclassName={styles.track()}\n\t\t\t\t/>\n\n\t\t\t\t<circle\n\t\t\t\t\tclassName={styles.indicator({ className: indicatorClassName, isIndeterminate: indeterminate })}\n\t\t\t\t\tcx=\"90\"\n\t\t\t\t\tcy=\"90\"\n\t\t\t\t\tr=\"84\"\n\t\t\t\t\tstrokeWidth=\"12\"\n\t\t\t\t\tstrokeDasharray={progressData.strokeDasharray}\n\t\t\t\t\tstrokeDashoffset={progressData.strokeDashoffset}\n\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\tdata-slot=\"progress-circle-indicator\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t);\n\t}\n);\n\nProgressCircle.displayName = \"ProgressCircle\";\n","import React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nconst progressCircleDescriptionStyles = tv({\n\tbase: \"text-xs text-muted\"\n});\n\nexport type ProgressCircleDescriptionProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const ProgressCircleDescription = React.forwardRef<\n\tHTMLDivElement,\n\tPropsWithChildren<ProgressCircleDescriptionProps>\n>(({ className, children, ...props }, ref) => {\n\treturn (\n\t\t<span className={progressCircleDescriptionStyles({ className })} ref={ref} {...props}>\n\t\t\t{children}\n\t\t</span>\n\t);\n});\n\nProgressCircleDescription.displayName = \"ProgressCircleDescription\";\n","import React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport { tv, VariantProps } from \"tailwind-variants\";\n\nconst progressCircleTitleStyles = tv({\n\tbase: \"font-semibold text-primary-fg\",\n\tvariants: {\n\t\tsize: {\n\t\t\txs: \"text-[0.625rem] leading-4\",\n\t\t\tsm: \"text-sm\",\n\t\t\tmd: \"text-base\",\n\t\t\tlg: \"text-2xl\",\n\t\t\txl: \"text-4xl\"\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressCircleTitleProps = VariantProps<typeof progressCircleTitleStyles> &\n\tReact.HTMLAttributes<HTMLDivElement>;\n\nexport const ProgressCircleTitle = React.forwardRef<HTMLDivElement, PropsWithChildren<ProgressCircleTitleProps>>(\n\t({ className, size, children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<span className={progressCircleTitleStyles({ className, size })} ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t);\n\t}\n);\n\nProgressCircleTitle.displayName = \"ProgressCircleTitle\";\n","import { IconButton } from \"@/components/button\";\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\nimport React from \"react\";\nimport { tv, VariantProps } from \"tailwind-variants\";\n\nconst progressCircleIconButtonVariants = tv({\n\tslots: {\n\t\tbase: \"p-0.5 text-muted\",\n\t\ticon: \"h-full w-full\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\txs: {\n\t\t\t\tbase: \"h-4 w-4\"\n\t\t\t},\n\t\t\tsm: {\n\t\t\t\tbase: \"h-5 w-5\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tbase: \"h-[1.375rem] w-[1.375rem]\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\tbase: \"h-8 w-8\"\n\t\t\t},\n\t\t\txl: {\n\t\t\t\tbase: \"h-11 w-11\"\n\t\t\t}\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressCircleIconButtonProps = VariantProps<typeof progressCircleIconButtonVariants> & IconButtonProps;\n\nexport const ProgressCircleIconButton: React.FC<ProgressCircleIconButtonProps> = ({\n\tclassName,\n\tsize,\n\ticon,\n\t...props\n}) => {\n\tconst styles = progressCircleIconButtonVariants();\n\treturn (\n\t\t<IconButton\n\t\t\ticon={icon}\n\t\t\tvariant=\"text\"\n\t\t\tclassName={styles.base({ className, size })}\n\t\t\ticonClassName={styles.icon()}\n\t\t\tsize={size}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nProgressCircleIconButton.displayName = \"ProgressCircleIconButton\";\n","import { tv } from \"tailwind-variants\";\nimport { ProgressCircle } from \"../ProgressCircle\";\nimport { ProgressCircleDescription } from \"../components/progress-circle-description/ProgressCircleDescription\";\nimport { ProgressCircleTitle } from \"../components/progress-circle-text/ProgressCircleTitle\";\nimport { ProgressCircleIconButton } from \"../components/progress-circle-icon-button/ProgressCircleIconButton\";\nimport { RotateCw } from \"lucide-react\";\n\nconst progressCircleTemplateStyles = tv({\n\tslots: {\n\t\twrap: \"relative w-fit\",\n\t\theader: \"absolute inset-0 z-10 flex flex-col items-center justify-center\"\n\t}\n});\n\nexport type ProgressCircleTemplateProps = {\n\tsize?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\tvalue?: number;\n\tmax?: number;\n\tindeterminate?: boolean;\n\tdescription?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\tonRetry?: (e: React.MouseEvent<HTMLElement>) => void;\n};\n\nexport const ProgressCircleTemplate = (props: ProgressCircleTemplateProps) => {\n\tconst { size, value, max, indeterminate, description, title, onRetry } = props;\n\tconst shouldShowDescription = description && ![\"xs\", \"sm\"].includes(size as string);\n\tconst styles = progressCircleTemplateStyles({ size });\n\n\treturn (\n\t\t<div className={styles.wrap()}>\n\t\t\t<ProgressCircle value={value} max={max} indeterminate={indeterminate} size={size} />\n\t\t\t<div className={styles.header()}>\n\t\t\t\t{title && <ProgressCircleTitle size={size}>{title}</ProgressCircleTitle>}\n\t\t\t\t{onRetry && <ProgressCircleIconButton size={size} icon={RotateCw} onClick={onRetry} />}\n\t\t\t\t{shouldShowDescription && <ProgressCircleDescription>{description}</ProgressCircleDescription>}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nProgressCircleTemplate.displayName = \"ProgressCircleTemplate\";\n"],"names":["progressCircleVariants","tv","ProgressCircle","React","size","max","value","indeterminate","indicatorClassName","ref","styles","currentValue","circumference","progressData","useMemo","safeMax","safeValue","percentage","progress","dashOffset","jsxs","jsx","progressCircleDescriptionStyles","ProgressCircleDescription","className","children","props","progressCircleTitleStyles","ProgressCircleTitle","progressCircleIconButtonVariants","ProgressCircleIconButton","icon","IconButton","progressCircleTemplateStyles","ProgressCircleTemplate","description","title","onRetry","shouldShowDescription","RotateCw"],"mappings":"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"}
1
+ {"version":3,"file":"progress-circle.js","sources":["../../src/components/progress-circle/ProgressCircle.tsx","../../src/components/progress-circle/components/progress-circle-description/ProgressCircleDescription.tsx","../../src/components/progress-circle/components/progress-circle-text/ProgressCircleTitle.tsx","../../src/components/progress-circle/components/progress-circle-icon-button/ProgressCircleIconButton.tsx","../../src/components/progress-circle/templates/ProgressCircleTemplate.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\n\r\nconst progressCircleVariants = tv({\r\n\tslots: {\r\n\t\tsvg: \"-rotate-90 transform\",\r\n\t\ttrack: \"fill-secondary-bg-hover\",\r\n\t\tindicator: \"fill-none stroke-current text-primary-accent transition-all duration-500 ease-out\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\txs: {\r\n\t\t\t\tsvg: \"h-10 w-10\"\r\n\t\t\t},\r\n\t\t\tsm: {\r\n\t\t\t\tsvg: \"h-[3.75rem] w-[3.75rem]\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tsvg: \"h-20 w-20\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\tsvg: \"h-[7.5rem] w-[7.5rem]\"\r\n\t\t\t},\r\n\t\t\txl: {\r\n\t\t\t\tsvg: \"h-[11.25rem] w-[11.25rem]\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tisIndeterminate: {\r\n\t\t\ttrue: {\r\n\t\t\t\tindicator: \"origin-center animate-spin duration-1000\"\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleProps = VariantProps<typeof progressCircleVariants> &\r\n\tReact.HTMLAttributes<SVGSVGElement> & {\r\n\t\t/** Максимальное значение прогресса. По умолчанию 100 */\r\n\t\tmax?: number;\r\n\t\t/** Значение прогресса от 0 до max. Если не указано или null, считается равным 0 */\r\n\t\tvalue?: number | null;\r\n\t\t/** Индикатор неопределенного состояния прогресса */\r\n\t\tindeterminate?: boolean;\r\n\t\t/** Классы для индикатора */\r\n\t\tindicatorClassName?: string;\r\n\t};\r\n\r\nexport const ProgressCircle = React.forwardRef<SVGSVGElement, ProgressCircleProps>(\r\n\t({ size, max = 100, value, indeterminate = false, indicatorClassName }, ref) => {\r\n\t\tconst styles = progressCircleVariants({ size, isIndeterminate: indeterminate });\r\n\t\tconst currentValue = indeterminate ? null : (value ?? 0);\r\n\r\n\t\tconst radius = 84;\r\n\t\tconst circumference = 2 * Math.PI * radius;\r\n\r\n\t\tconst progressData = useMemo(() => {\r\n\t\t\tif (indeterminate) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstrokeDasharray: `${circumference * 0.25} ${circumference * 0.75}`,\r\n\t\t\t\t\tstrokeDashoffset: 0,\r\n\t\t\t\t\tpercentage: 0\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tconst safeMax = max <= 0 ? 100 : max;\r\n\t\t\tconst safeValue = Math.max(0, Math.min(safeMax, currentValue ?? 0));\r\n\t\t\tconst percentage = (safeValue / safeMax) * 100;\r\n\t\t\tconst progress = (safeValue / safeMax) * circumference;\r\n\t\t\tconst dashOffset = circumference - progress;\r\n\r\n\t\t\treturn {\r\n\t\t\t\tstrokeDasharray: circumference,\r\n\t\t\t\tstrokeDashoffset: dashOffset,\r\n\t\t\t\tpercentage: Math.round(percentage)\r\n\t\t\t};\r\n\t\t}, [circumference, currentValue, max, indeterminate]);\r\n\r\n\t\treturn (\r\n\t\t\t<svg\r\n\t\t\t\tref={ref}\r\n\t\t\t\tclassName={styles.svg()}\r\n\t\t\t\tviewBox=\"0 0 180 180\"\r\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\t\taria-valuenow={indeterminate ? undefined : progressData.percentage}\r\n\t\t\t\taria-valuemin={0}\r\n\t\t\t\taria-valuemax={100}\r\n\t\t\t\tdata-slot=\"progress-circle\"\r\n\t\t\t>\r\n\t\t\t\t<path\r\n\t\t\t\t\td=\"M180 90C180 139.706 139.706 180 90 180C40.2944 180 0 139.706 0 90C0 40.2944 40.2944 0 90 0C139.706 0 180 40.2944 180 90ZM11.997 90C11.997 133.08 46.9201 168.003 90 168.003C133.80 168.003 168.003 133.08 168.003 90C168.003 46.9201 133.08 11.997 90 11.997C46.9201 11.997 11.997 46.9201 11.997 90Z\"\r\n\t\t\t\t\tclassName={styles.track()}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t<circle\r\n\t\t\t\t\tclassName={styles.indicator({ className: indicatorClassName, isIndeterminate: indeterminate })}\r\n\t\t\t\t\tcx=\"90\"\r\n\t\t\t\t\tcy=\"90\"\r\n\t\t\t\t\tr=\"84\"\r\n\t\t\t\t\tstrokeWidth=\"12\"\r\n\t\t\t\t\tstrokeDasharray={progressData.strokeDasharray}\r\n\t\t\t\t\tstrokeDashoffset={progressData.strokeDashoffset}\r\n\t\t\t\t\tstrokeLinecap=\"round\"\r\n\t\t\t\t\tdata-slot=\"progress-circle-indicator\"\r\n\t\t\t\t/>\r\n\t\t\t</svg>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nProgressCircle.displayName = \"ProgressCircle\";\r\n","import React from \"react\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst progressCircleDescriptionStyles = tv({\r\n\tbase: \"text-xs text-muted\"\r\n});\r\n\r\nexport type ProgressCircleDescriptionProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const ProgressCircleDescription = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tPropsWithChildren<ProgressCircleDescriptionProps>\r\n>(({ className, children, ...props }, ref) => {\r\n\treturn (\r\n\t\t<span className={progressCircleDescriptionStyles({ className })} ref={ref} {...props}>\r\n\t\t\t{children}\r\n\t\t</span>\r\n\t);\r\n});\r\n\r\nProgressCircleDescription.displayName = \"ProgressCircleDescription\";\r\n","import React from \"react\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\n\r\nconst progressCircleTitleStyles = tv({\r\n\tbase: \"font-semibold text-primary-fg\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\txs: \"text-[0.625rem] leading-4\",\r\n\t\t\tsm: \"text-sm\",\r\n\t\t\tmd: \"text-base\",\r\n\t\t\tlg: \"text-2xl\",\r\n\t\t\txl: \"text-4xl\"\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleTitleProps = VariantProps<typeof progressCircleTitleStyles> &\r\n\tReact.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const ProgressCircleTitle = React.forwardRef<HTMLDivElement, PropsWithChildren<ProgressCircleTitleProps>>(\r\n\t({ className, size, children, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<span className={progressCircleTitleStyles({ className, size })} ref={ref} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</span>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nProgressCircleTitle.displayName = \"ProgressCircleTitle\";\r\n","import { IconButton } from \"@/components/button\";\r\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\r\nimport React from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\n\r\nconst progressCircleIconButtonVariants = tv({\r\n\tslots: {\r\n\t\tbase: \"p-0.5 text-muted\",\r\n\t\ticon: \"h-full w-full\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\txs: {\r\n\t\t\t\tbase: \"h-4 w-4\"\r\n\t\t\t},\r\n\t\t\tsm: {\r\n\t\t\t\tbase: \"h-5 w-5\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tbase: \"h-[1.375rem] w-[1.375rem]\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\tbase: \"h-8 w-8\"\r\n\t\t\t},\r\n\t\t\txl: {\r\n\t\t\t\tbase: \"h-11 w-11\"\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleIconButtonProps = VariantProps<typeof progressCircleIconButtonVariants> & IconButtonProps;\r\n\r\nexport const ProgressCircleIconButton: React.FC<ProgressCircleIconButtonProps> = ({\r\n\tclassName,\r\n\tsize,\r\n\ticon,\r\n\t...props\r\n}) => {\r\n\tconst styles = progressCircleIconButtonVariants();\r\n\treturn (\r\n\t\t<IconButton\r\n\t\t\ticon={icon}\r\n\t\t\tvariant=\"text\"\r\n\t\t\tclassName={styles.base({ className, size })}\r\n\t\t\ticonClassName={styles.icon()}\r\n\t\t\tsize={size}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nProgressCircleIconButton.displayName = \"ProgressCircleIconButton\";\r\n","import { tv } from \"tailwind-variants\";\r\nimport { ProgressCircle } from \"../ProgressCircle\";\r\nimport { ProgressCircleDescription } from \"../components/progress-circle-description/ProgressCircleDescription\";\r\nimport { ProgressCircleTitle } from \"../components/progress-circle-text/ProgressCircleTitle\";\r\nimport { ProgressCircleIconButton } from \"../components/progress-circle-icon-button/ProgressCircleIconButton\";\r\nimport { RotateCw } from \"lucide-react\";\r\n\r\nconst progressCircleTemplateStyles = tv({\r\n\tslots: {\r\n\t\twrap: \"relative w-fit\",\r\n\t\theader: \"absolute inset-0 z-10 flex flex-col items-center justify-center\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleTemplateProps = {\r\n\tsize?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\r\n\tvalue?: number;\r\n\tmax?: number;\r\n\tindeterminate?: boolean;\r\n\tdescription?: React.ReactNode;\r\n\ttitle?: React.ReactNode;\r\n\tonRetry?: (e: React.MouseEvent<HTMLElement>) => void;\r\n};\r\n\r\nexport const ProgressCircleTemplate = (props: ProgressCircleTemplateProps) => {\r\n\tconst { size, value, max, indeterminate, description, title, onRetry } = props;\r\n\tconst shouldShowDescription = description && ![\"xs\", \"sm\"].includes(size as string);\r\n\tconst styles = progressCircleTemplateStyles({ size });\r\n\r\n\treturn (\r\n\t\t<div className={styles.wrap()}>\r\n\t\t\t<ProgressCircle value={value} max={max} indeterminate={indeterminate} size={size} />\r\n\t\t\t<div className={styles.header()}>\r\n\t\t\t\t{title && <ProgressCircleTitle size={size}>{title}</ProgressCircleTitle>}\r\n\t\t\t\t{onRetry && <ProgressCircleIconButton size={size} icon={RotateCw} onClick={onRetry} />}\r\n\t\t\t\t{shouldShowDescription && <ProgressCircleDescription>{description}</ProgressCircleDescription>}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nProgressCircleTemplate.displayName = \"ProgressCircleTemplate\";\r\n"],"names":["progressCircleVariants","tv","ProgressCircle","React","size","max","value","indeterminate","indicatorClassName","ref","styles","currentValue","circumference","progressData","useMemo","safeMax","safeValue","percentage","progress","dashOffset","jsxs","jsx","progressCircleDescriptionStyles","ProgressCircleDescription","className","children","props","progressCircleTitleStyles","ProgressCircleTitle","progressCircleIconButtonVariants","ProgressCircleIconButton","icon","IconButton","progressCircleTemplateStyles","ProgressCircleTemplate","description","title","onRetry","shouldShowDescription","RotateCw"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { c as M } from "../index-CmBeyp2d.js";
5
5
  import { P as y } from "../index-Bb23HztA.js";
6
6
  import { T as u } from "../index-BVqs-uqP.js";
7
7
  import { I as T } from "../Icon-DH3ev9GK.js";
8
- import { I as _ } from "../IconButton-uGJ3cQtk.js";
8
+ import { I as _ } from "../IconButton-DAg1oMwz.js";
9
9
  import { R as B } from "../rotate-cw-tYRlcg0g.js";
10
10
  import { X as S } from "../x-tDTt7hTQ.js";
11
11
  var x = "Progress", h = 100, [W, le] = M(x), [E, A] = W(x), I = w.forwardRef(
@@ -85,7 +85,7 @@ var O = I, X = k;
85
85
  const G = u({
86
86
  slots: {
87
87
  track: "relative w-full overflow-hidden rounded-full bg-secondary-bg-hover",
88
- indicator: "h-full bg-primary-accent transition-transform !duration-500"
88
+ indicator: "h-full bg-primary-accent transition-transform duration-500!"
89
89
  },
90
90
  variants: {
91
91
  size: {
@@ -95,7 +95,7 @@ const G = u({
95
95
  },
96
96
  indeterminate: {
97
97
  true: {
98
- indicator: "!duration-1500 absolute w-full origin-left animate-indeterminate-bar rounded-full"
98
+ indicator: "duration-1500! absolute w-full origin-left animate-indeterminate-bar rounded-full"
99
99
  }
100
100
  }
101
101
  },
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sources":["../../node_modules/.pnpm/@radix-ui+react-progress@1.1.8_@types+react-dom@18.3.6_@types+react@18.3.20__@types+rea_e450f4067159ea39a98f6a5a08a96bbb/node_modules/@radix-ui/react-progress/dist/index.mjs","../../src/components/progress/ProgressBarStyles.ts","../../src/components/progress/Progress.tsx","../../src/components/progress/components/progress-icon/ProgressIcon.tsx","../../src/components/progress/components/progress-icon-button/ProgressIconButton.tsx","../../src/components/progress/components/progress-text/ProgressText.tsx","../../src/components/progress/templates/ProgressBlockTemplate.tsx"],"sourcesContent":["\"use client\";\n\n// src/progress.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PROGRESS_NAME = \"Progress\";\nvar DEFAULT_MAX = 100;\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar Progress = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nProgress.displayName = PROGRESS_NAME;\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nProgressIndicator.displayName = INDICATOR_NAME;\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !isNaN(value) && value <= max && value >= 0;\n}\nfunction getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\nfunction getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\nvar Root = Progress;\nvar Indicator = ProgressIndicator;\nexport {\n Indicator,\n Progress,\n ProgressIndicator,\n Root,\n createProgressScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { VariantsConfig } from \"@/lib/utils/variants\";\nimport { tv } from \"tailwind-variants\";\n\nexport interface ProgressBarSizeVariants {\n\t/** Размер индикатора */\n\tsize?: \"sm\" | \"md\" | \"lg\";\n}\n\nexport interface ProgressBarVariants extends ProgressBarSizeVariants {\n\t/** Индикатор неопределенного состояния прогресса */\n\tindeterminate?: boolean;\n}\n\nexport const progressBarStyles = tv({\n\tslots: {\n\t\ttrack: \"relative w-full overflow-hidden rounded-full bg-secondary-bg-hover\",\n\t\tindicator: \"h-full bg-primary-accent transition-transform !duration-500\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: { track: \"h-1\" },\n\t\t\tmd: { track: \"h-1.5\" },\n\t\t\tlg: { track: \"h-3\" }\n\t\t},\n\t\tindeterminate: {\n\t\t\ttrue: {\n\t\t\t\tindicator: \"!duration-1500 absolute w-full origin-left animate-indeterminate-bar rounded-full\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<ProgressBarVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n","import * as React from \"react\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport { progressBarStyles, ProgressBarVariants } from \"./ProgressBarStyles\";\nimport { useMemo } from \"react\";\n\nexport type ProgressProps = React.ComponentProps<typeof ProgressPrimitive.Root> &\n\tProgressBarVariants & {\n\t\t/** Максимальное значение прогресса. По умолчанию 100 */\n\t\tmax?: number;\n\t\t/** Значение прогресса от 0 до max. Если не указано или null, считается равным 0 */\n\t\tvalue?: number | null;\n\t\t/** Классы для индикатора */\n\t\tindicatorClassName?: string;\n\t\t/** Функция для получения доступной текстовой метки, представляющей текущее значение в удобочитаемом формате. \n\tЕсли не указана, метка значения будет озвучена как числовое значение в процентах от максимального значения. */\n\t\tgetValueLabel?(value: number, max: number): string;\n\t};\n\nexport function Progress(props: ProgressProps) {\n\tconst { className, value, max = 100, size, indicatorClassName, indeterminate, ...rest } = props;\n\n\tconst styles = progressBarStyles({ size, indeterminate });\n\tconst currentValue = indeterminate ? null : (value ?? 0);\n\n\tconst indicatorStyle = useMemo(() => {\n\t\tif (indeterminate) return;\n\n\t\tconst safeMax = max <= 0 ? 100 : max;\n\t\tconst safeValue = Math.max(0, Math.min(safeMax, currentValue ?? 0));\n\t\tconst percentage = (safeValue / safeMax) * 100;\n\n\t\treturn { transform: `translateX(-${100 - percentage}%)` };\n\t}, [indeterminate, currentValue, max]);\n\n\treturn (\n\t\t<ProgressPrimitive.Root\n\t\t\tdata-slot=\"progress\"\n\t\t\tclassName={styles.track({ className })}\n\t\t\tvalue={currentValue}\n\t\t\tmax={max}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<ProgressPrimitive.Indicator\n\t\t\t\tdata-slot=\"progress-indicator\"\n\t\t\t\tclassName={styles.indicator({ className: indicatorClassName })}\n\t\t\t\tstyle={indicatorStyle}\n\t\t\t/>\n\t\t</ProgressPrimitive.Root>\n\t);\n}\n","import { Icon } from \"@/components/icon\";\nimport { IconProps } from \"@/components/icon/Icon\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\n\nconst progressIconVariants = tv({\n\tbase: \"text-secondary-fg\",\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"h-4 w-4\",\n\t\t\tmd: \"h-4 w-4\",\n\t\t\tlg: \"h-5 w-5\"\n\t\t}\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressIconProps = ProgressBarSizeVariants & IconProps;\n\nexport const ProgressIcon: React.FC<ProgressIconProps> = ({ className, size, icon, ...props }) => {\n\treturn <Icon icon={icon} className={progressIconVariants({ className, size })} {...props} />;\n};\n\nProgressIcon.displayName = \"ProgressIcon\";\n","import { IconButton } from \"@/components/button\";\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\n\nconst progressIconButtonVariants = tv({\n\tslots: {\n\t\tbase: \"h-auto p-0 text-muted\",\n\t\ticon: \"\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\ticon: \"h-4 w-4\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\ticon: \"h-5 w-5\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\ticon: \"h-[1.375rem] w-[1.375rem]\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressIconButtonProps = ProgressBarSizeVariants & IconButtonProps;\n\nexport const ProgressIconButton: React.FC<ProgressIconButtonProps> = ({\n\tclassName,\n\tsize,\n\ticon,\n\ticonClassName,\n\t...props\n}) => {\n\tconst styles = progressIconButtonVariants({ size });\n\treturn (\n\t\t<IconButton\n\t\t\ticon={icon}\n\t\t\tvariant=\"text\"\n\t\t\tclassName={styles.base({ className })}\n\t\t\ticonClassName={styles.icon({ className: iconClassName })}\n\t\t\tsize={size}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nProgressIconButton.displayName = \"ProgressIconButton\";\n","import React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst progressTextVariants = tv({\n\tbase: \"inline-block font-medium text-secondary-fg\",\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"text-xs\",\n\t\t\tmd: \"text-sm\",\n\t\t\tlg: \"text-base\"\n\t\t}\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressTextProps = ProgressBarSizeVariants & React.HTMLAttributes<HTMLDivElement>;\n\nexport const ProgressText = React.forwardRef<HTMLDivElement, PropsWithChildren<ProgressTextProps>>(\n\t({ className, size, children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<span className={progressTextVariants({ className, size })} ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t);\n\t}\n);\n\nProgressText.displayName = \"ProgressText\";\n","import { LucideIcon, RotateCw, X } from \"lucide-react\";\nimport { tv } from \"tailwind-variants\";\nimport { Progress } from \"../Progress\";\nimport { ProgressIconButton } from \"../components/progress-icon-button/ProgressIconButton\";\nimport { ProgressIcon } from \"../components/progress-icon/ProgressIcon\";\nimport { ProgressText } from \"../components/progress-text/ProgressText\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\nimport { ProgressBarSizeVariants } from \"../ProgressBarStyles\";\n\nconst progressBlockTemplateStyles = tv({\n\tslots: {\n\t\twrap: \"flex w-full flex-col\",\n\t\theader: \"flex items-center justify-between gap-2\",\n\t\ttitleWrapper: \"flex items-center\",\n\t\tactionsWrapper: \"flex items-center gap-2\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\twrap: \"gap-1\",\n\t\t\t\ttitleWrapper: \"gap-1\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\twrap: \"gap-1\",\n\t\t\t\ttitleWrapper: \"gap-1.5\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\twrap: \"gap-1.5\",\n\t\t\t\ttitleWrapper: \"gap-2\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressBlockTemplateProps = ProgressBarSizeVariants & {\n\tvalue?: number;\n\tmax?: number;\n\tindeterminate?: boolean;\n\ticon?: LucideIcon;\n\ttitle?: React.ReactNode;\n\tdescription?: React.ReactNode;\n\tonCancel?: (e: React.MouseEvent<HTMLElement>) => void;\n\tonRetry?: (e: React.MouseEvent<HTMLElement>) => void;\n};\n\nexport const ProgressBlockTemplate = (props: ProgressBlockTemplateProps) => {\n\tconst { size, value, max, indeterminate, icon, title, description, onCancel, onRetry } = props;\n\n\tconst styles = progressBlockTemplateStyles({ size });\n\n\treturn (\n\t\t<div className={styles.wrap()}>\n\t\t\t<div className={styles.header()}>\n\t\t\t\t<div className={styles.titleWrapper()}>\n\t\t\t\t\t{icon && <ProgressIcon size={size} icon={icon} />}\n\t\t\t\t\t{title && (\n\t\t\t\t\t\t<ProgressText size={size} className=\"mr-auto\">\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</ProgressText>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div className={styles.actionsWrapper()}>\n\t\t\t\t\t{description && <ProgressText size={size}>{description}</ProgressText>}\n\t\t\t\t\t{onRetry && (\n\t\t\t\t\t\t<ProgressIconButton\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\ticon={RotateCw}\n\t\t\t\t\t\t\tonClick={onRetry}\n\t\t\t\t\t\t\ticonClassName=\"p-0.5 stroke-[2.3px]\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{onCancel && <ProgressIconButton size={size} icon={X} onClick={onCancel} />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Progress value={value} max={max} indeterminate={indeterminate} size={size} />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nProgressBlockTemplate.displayName = \"ProgressBlockTemplate\";\n"],"names":["PROGRESS_NAME","DEFAULT_MAX","createProgressContext","createProgressScope","createContextScope","ProgressProvider","useProgressContext","Progress","React","props","forwardedRef","__scopeProgress","valueProp","maxProp","getValueLabel","defaultGetValueLabel","progressProps","isValidMaxNumber","getInvalidMaxError","max","isValidValueNumber","getInvalidValueError","value","valueLabel","isNumber","jsx","Primitive","getProgressState","INDICATOR_NAME","ProgressIndicator","indicatorProps","context","maxValue","propValue","componentName","Root","Indicator","progressBarStyles","tv","className","size","indicatorClassName","indeterminate","rest","styles","currentValue","indicatorStyle","useMemo","safeMax","ProgressPrimitive.Root","ProgressPrimitive.Indicator","progressIconVariants","ProgressIcon","icon","Icon","progressIconButtonVariants","ProgressIconButton","iconClassName","IconButton","progressTextVariants","ProgressText","children","ref","progressBlockTemplateStyles","ProgressBlockTemplate","title","description","onCancel","onRetry","jsxs","RotateCw","X"],"mappings":";;;;;;;;;;AAOA,IAAIA,IAAgB,YAChBC,IAAc,KACd,CAACC,GAAuBC,EAAmB,IAAIC,EAAmBJ,CAAa,GAC/E,CAACK,GAAkBC,CAAkB,IAAIJ,EAAsBF,CAAa,GAC5EO,IAAWC,EAAM;AAAA,EACnB,CAACC,GAAOC,MAAiB;AACvB,UAAM;AAAA,MACJ,iBAAAC;AAAA,MACA,OAAOC,IAAY;AAAA,MACnB,KAAKC;AAAA,MACL,eAAAC,IAAgBC;AAAA,MAChB,GAAGC;AAAA,IACT,IAAQP;AACJ,KAAKI,KAAWA,MAAY,MAAM,CAACI,EAAiBJ,CAAO,KACzD,QAAQ,MAAMK,EAAmB,GAAGL,CAAO,IAAI,UAAU,CAAC;AAE5D,UAAMM,IAAMF,EAAiBJ,CAAO,IAAIA,IAAUZ;AAClD,IAAIW,MAAc,QAAQ,CAACQ,EAAmBR,GAAWO,CAAG,KAC1D,QAAQ,MAAME,EAAqB,GAAGT,CAAS,IAAI,UAAU,CAAC;AAEhE,UAAMU,IAAQF,EAAmBR,GAAWO,CAAG,IAAIP,IAAY,MACzDW,IAAaC,EAASF,CAAK,IAAIR,EAAcQ,GAAOH,CAAG,IAAI;AACjE,WAAuB,gBAAAM,EAAIpB,GAAkB,EAAE,OAAOM,GAAiB,OAAAW,GAAO,KAAAH,GAAK,UAA0B,gBAAAM;AAAA,MAC3GC,EAAU;AAAA,MACV;AAAA,QACE,iBAAiBP;AAAA,QACjB,iBAAiB;AAAA,QACjB,iBAAiBK,EAASF,CAAK,IAAIA,IAAQ;AAAA,QAC3C,kBAAkBC;AAAA,QAClB,MAAM;AAAA,QACN,cAAcI,EAAiBL,GAAOH,CAAG;AAAA,QACzC,cAAcG,KAAS;AAAA,QACvB,YAAYH;AAAA,QACZ,GAAGH;AAAA,QACH,KAAKN;AAAA,MACb;AAAA,IACA,GAAO;AAAA,EACP;AACA;AACAH,EAAS,cAAcP;AACvB,IAAI4B,IAAiB,qBACjBC,IAAoBrB,EAAM;AAAA,EAC5B,CAACC,GAAOC,MAAiB;AACvB,UAAM,EAAE,iBAAAC,GAAiB,GAAGmB,EAAc,IAAKrB,GACzCsB,IAAUzB,EAAmBsB,GAAgBjB,CAAe;AAClE,WAAuB,gBAAAc;AAAA,MACrBC,EAAU;AAAA,MACV;AAAA,QACE,cAAcC,EAAiBI,EAAQ,OAAOA,EAAQ,GAAG;AAAA,QACzD,cAAcA,EAAQ,SAAS;AAAA,QAC/B,YAAYA,EAAQ;AAAA,QACpB,GAAGD;AAAA,QACH,KAAKpB;AAAA,MACb;AAAA,IACK;AAAA,EACL;AACA;AACAmB,EAAkB,cAAcD;AAChC,SAASb,EAAqBO,GAAOH,GAAK;AACxC,SAAO,GAAG,KAAK,MAAMG,IAAQH,IAAM,GAAG,CAAC;AACzC;AACA,SAASQ,EAAiBL,GAAOU,GAAU;AACzC,SAAOV,KAAS,OAAO,kBAAkBA,MAAUU,IAAW,aAAa;AAC7E;AACA,SAASR,EAASF,GAAO;AACvB,SAAO,OAAOA,KAAU;AAC1B;AACA,SAASL,EAAiBE,GAAK;AAC7B,SAAOK,EAASL,CAAG,KAAK,CAAC,MAAMA,CAAG,KAAKA,IAAM;AAC/C;AACA,SAASC,EAAmBE,GAAOH,GAAK;AACtC,SAAOK,EAASF,CAAK,KAAK,CAAC,MAAMA,CAAK,KAAKA,KAASH,KAAOG,KAAS;AACtE;AACA,SAASJ,EAAmBe,GAAWC,GAAe;AACpD,SAAO,mCAAmCD,CAAS,oBAAoBC,CAAa,yEAAyEjC,CAAW;AAC1K;AACA,SAASoB,EAAqBY,GAAWC,GAAe;AACtD,SAAO,qCAAqCD,CAAS,oBAAoBC,CAAa;AAAA;AAAA,gDAExCjC,CAAW;AAAA;AAAA;AAAA;AAI3D;AACA,IAAIkC,IAAO5B,GACP6B,IAAYP;AC/ET,MAAMQ,IAAoBC,EAAG;AAAA,EACnC,OAAO;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,EACZ;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,MACL,IAAI,EAAE,OAAO,MAAM;AAAA,MACnB,IAAI,EAAE,OAAO,QAAQ;AAAA,MACrB,IAAI,EAAE,OAAO,MAAM;AAAA,IACpB;AAAA,IACA,eAAe;AAAA,MACd,MAAM;AAAA,QACL,WAAW;AAAA,MAAA;AAAA,IACZ;AAAA,EAEF;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,EAAA;AAER,CAAC;ACfM,SAAS/B,EAASE,GAAsB;AACxC,QAAA,EAAE,WAAA8B,GAAW,OAAAjB,GAAO,KAAAH,IAAM,KAAK,MAAAqB,GAAM,oBAAAC,GAAoB,eAAAC,GAAe,GAAGC,EAAA,IAASlC,GAEpFmC,IAASP,EAAkB,EAAE,MAAAG,GAAM,eAAAE,GAAe,GAClDG,IAAeH,IAAgB,OAAQpB,KAAS,GAEhDwB,IAAiBC,EAAQ,MAAM;AACpC,QAAIL,EAAe;AAEb,UAAAM,IAAU7B,KAAO,IAAI,MAAMA;AAIjC,WAAO,EAAE,WAAW,eAAe,MAHjB,KAAK,IAAI,GAAG,KAAK,IAAI6B,GAASH,KAAgB,CAAC,CAAC,IAClCG,IAAW,GAEQ,KAAK;AAAA,EACtD,GAAA,CAACN,GAAeG,GAAc1B,CAAG,CAAC;AAGpC,SAAA,gBAAAM;AAAA,IAACwB;AAAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWL,EAAO,MAAM,EAAE,WAAAL,GAAW;AAAA,MACrC,OAAOM;AAAA,MACP,KAAA1B;AAAA,MACC,GAAGwB;AAAA,MAEJ,UAAA,gBAAAlB;AAAA,QAACyB;AAAAA,QAAA;AAAA,UACA,aAAU;AAAA,UACV,WAAWN,EAAO,UAAU,EAAE,WAAWH,GAAoB;AAAA,UAC7D,OAAOK;AAAA,QAAA;AAAA,MAAA;AAAA,IACR;AAAA,EACD;AAEF;AC1CA,MAAMK,IAAuBb,EAAG;AAAA,EAC/B,MAAM;AAAA,EACN,UAAU;AAAA,IACT,MAAM;AAAA,MACL,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EAEN;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,EAAA;AAER,CAAC,GAIYc,IAA4C,CAAC,EAAE,WAAAb,GAAW,MAAAC,GAAM,MAAAa,GAAM,GAAG5C,QAC9E,gBAAAgB,EAAC6B,GAAK,EAAA,MAAAD,GAAY,WAAWF,EAAqB,EAAE,WAAAZ,GAAW,MAAAC,EAAK,CAAC,GAAI,GAAG/B,EAAO,CAAA;AAG3F2C,EAAa,cAAc;ACpB3B,MAAMG,IAA6BjB,EAAG;AAAA,EACrC,OAAO;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,MACL,IAAI;AAAA,QACH,MAAM;AAAA,MACP;AAAA,MACA,IAAI;AAAA,QACH,MAAM;AAAA,MACP;AAAA,MACA,IAAI;AAAA,QACH,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,EAAA;AAER,CAAC,GAIYkB,IAAwD,CAAC;AAAA,EACrE,WAAAjB;AAAA,EACA,MAAAC;AAAA,EACA,MAAAa;AAAA,EACA,eAAAI;AAAA,EACA,GAAGhD;AACJ,MAAM;AACL,QAAMmC,IAASW,EAA2B,EAAE,MAAAf,GAAM;AAEjD,SAAA,gBAAAf;AAAA,IAACiC;AAAA,IAAA;AAAA,MACA,MAAAL;AAAA,MACA,SAAQ;AAAA,MACR,WAAWT,EAAO,KAAK,EAAE,WAAAL,GAAW;AAAA,MACpC,eAAeK,EAAO,KAAK,EAAE,WAAWa,GAAe;AAAA,MACvD,MAAAjB;AAAA,MACC,GAAG/B;AAAA,IAAA;AAAA,EACL;AAEF;AAEA+C,EAAmB,cAAc;AC9CjC,MAAMG,IAAuBrB,EAAG;AAAA,EAC/B,MAAM;AAAA,EACN,UAAU;AAAA,IACT,MAAM;AAAA,MACL,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EAEN;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,EAAA;AAER,CAAC,GAIYsB,IAAepD,EAAM;AAAA,EACjC,CAAC,EAAE,WAAA+B,GAAW,MAAAC,GAAM,UAAAqB,GAAU,GAAGpD,KAASqD,MAEvC,gBAAArC,EAAA,QAAA,EAAK,WAAWkC,EAAqB,EAAE,WAAApB,GAAW,MAAAC,EAAK,CAAC,GAAG,KAAAsB,GAAW,GAAGrD,GACxE,UAAAoD,EACF,CAAA;AAGH;AAEAD,EAAa,cAAc;ACvB3B,MAAMG,IAA8BzB,EAAG;AAAA,EACtC,OAAO;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,gBAAgB;AAAA,EACjB;AAAA,EACA,UAAU;AAAA,IACT,MAAM;AAAA,MACL,IAAI;AAAA,QACH,MAAM;AAAA,QACN,cAAc;AAAA,MACf;AAAA,MACA,IAAI;AAAA,QACH,MAAM;AAAA,QACN,cAAc;AAAA,MACf;AAAA,MACA,IAAI;AAAA,QACH,MAAM;AAAA,QACN,cAAc;AAAA,MAAA;AAAA,IACf;AAAA,EAEF;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,EAAA;AAER,CAAC,GAaY0B,IAAwB,CAACvD,MAAsC;AACrE,QAAA,EAAE,MAAA+B,GAAM,OAAAlB,GAAO,KAAAH,GAAK,eAAAuB,GAAe,MAAAW,GAAM,OAAAY,GAAO,aAAAC,GAAa,UAAAC,GAAU,SAAAC,EAAY,IAAA3D,GAEnFmC,IAASmB,EAA4B,EAAE,MAAAvB,GAAM;AAEnD,SACE,gBAAA6B,EAAA,OAAA,EAAI,WAAWzB,EAAO,KACtB,GAAA,UAAA;AAAA,IAAA,gBAAAyB,EAAC,OAAI,EAAA,WAAWzB,EAAO,OACtB,GAAA,UAAA;AAAA,MAAA,gBAAAyB,EAAC,OAAI,EAAA,WAAWzB,EAAO,aACrB,GAAA,UAAA;AAAA,QAAQS,KAAA,gBAAA5B,EAAC2B,GAAa,EAAA,MAAAZ,GAAY,MAAAa,EAAY,CAAA;AAAA,QAC9CY,KACC,gBAAAxC,EAAAmC,GAAA,EAAa,MAAApB,GAAY,WAAU,WAClC,UACFyB,EAAA,CAAA;AAAA,MAAA,GAEF;AAAA,MAEC,gBAAAI,EAAA,OAAA,EAAI,WAAWzB,EAAO,eACrB,GAAA,UAAA;AAAA,QAAesB,KAAA,gBAAAzC,EAACmC,GAAa,EAAA,MAAApB,GAAa,UAAY0B,GAAA;AAAA,QACtDE,KACA,gBAAA3C;AAAA,UAAC+B;AAAA,UAAA;AAAA,YACA,MAAAhB;AAAA,YACA,MAAM8B;AAAA,YACN,SAASF;AAAA,YACT,eAAc;AAAA,UAAA;AAAA,QACf;AAAA,QAEAD,KAAa,gBAAA1C,EAAA+B,GAAA,EAAmB,MAAAhB,GAAY,MAAM+B,GAAG,SAASJ,EAAU,CAAA;AAAA,MAAA,EAC1E,CAAA;AAAA,IAAA,GACD;AAAA,IACA,gBAAA1C,EAAC,SACA,UAAC,gBAAAA,EAAAlB,GAAA,EAAS,OAAAe,GAAc,KAAAH,GAAU,eAAAuB,GAA8B,MAAAF,EAAY,CAAA,EAC7E,CAAA;AAAA,EAAA,GACD;AAEF;AAEAwB,EAAsB,cAAc;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"progress.js","sources":["../../node_modules/.pnpm/@radix-ui+react-progress@1._e450f4067159ea39a98f6a5a08a96bbb/node_modules/@radix-ui/react-progress/dist/index.mjs","../../src/components/progress/ProgressBarStyles.ts","../../src/components/progress/Progress.tsx","../../src/components/progress/components/progress-icon/ProgressIcon.tsx","../../src/components/progress/components/progress-icon-button/ProgressIconButton.tsx","../../src/components/progress/components/progress-text/ProgressText.tsx","../../src/components/progress/templates/ProgressBlockTemplate.tsx"],"sourcesContent":["\"use client\";\n\n// src/progress.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PROGRESS_NAME = \"Progress\";\nvar DEFAULT_MAX = 100;\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar Progress = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nProgress.displayName = PROGRESS_NAME;\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nProgressIndicator.displayName = INDICATOR_NAME;\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !isNaN(value) && value <= max && value >= 0;\n}\nfunction getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\nfunction getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\nvar Root = Progress;\nvar Indicator = ProgressIndicator;\nexport {\n Indicator,\n Progress,\n ProgressIndicator,\n Root,\n createProgressScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport interface ProgressBarSizeVariants {\r\n\t/** Размер индикатора */\r\n\tsize?: \"sm\" | \"md\" | \"lg\";\r\n}\r\n\r\nexport interface ProgressBarVariants extends ProgressBarSizeVariants {\r\n\t/** Индикатор неопределенного состояния прогресса */\r\n\tindeterminate?: boolean;\r\n}\r\n\r\nexport const progressBarStyles = tv({\r\n\tslots: {\r\n\t\ttrack: \"relative w-full overflow-hidden rounded-full bg-secondary-bg-hover\",\r\n\t\tindicator: \"h-full bg-primary-accent transition-transform duration-500!\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: { track: \"h-1\" },\r\n\t\t\tmd: { track: \"h-1.5\" },\r\n\t\t\tlg: { track: \"h-3\" }\r\n\t\t},\r\n\t\tindeterminate: {\r\n\t\t\ttrue: {\r\n\t\t\t\tindicator: \"duration-1500! absolute w-full origin-left animate-indeterminate-bar rounded-full\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<ProgressBarVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n","import * as React from \"react\";\r\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\r\nimport { progressBarStyles, ProgressBarVariants } from \"./ProgressBarStyles\";\r\nimport { useMemo } from \"react\";\r\n\r\nexport type ProgressProps = React.ComponentProps<typeof ProgressPrimitive.Root> &\r\n\tProgressBarVariants & {\r\n\t\t/** Максимальное значение прогресса. По умолчанию 100 */\r\n\t\tmax?: number;\r\n\t\t/** Значение прогресса от 0 до max. Если не указано или null, считается равным 0 */\r\n\t\tvalue?: number | null;\r\n\t\t/** Классы для индикатора */\r\n\t\tindicatorClassName?: string;\r\n\t\t/** Функция для получения доступной текстовой метки, представляющей текущее значение в удобочитаемом формате. \r\n\tЕсли не указана, метка значения будет озвучена как числовое значение в процентах от максимального значения. */\r\n\t\tgetValueLabel?(value: number, max: number): string;\r\n\t};\r\n\r\nexport function Progress(props: ProgressProps) {\r\n\tconst { className, value, max = 100, size, indicatorClassName, indeterminate, ...rest } = props;\r\n\r\n\tconst styles = progressBarStyles({ size, indeterminate });\r\n\tconst currentValue = indeterminate ? null : (value ?? 0);\r\n\r\n\tconst indicatorStyle = useMemo(() => {\r\n\t\tif (indeterminate) return;\r\n\r\n\t\tconst safeMax = max <= 0 ? 100 : max;\r\n\t\tconst safeValue = Math.max(0, Math.min(safeMax, currentValue ?? 0));\r\n\t\tconst percentage = (safeValue / safeMax) * 100;\r\n\r\n\t\treturn { transform: `translateX(-${100 - percentage}%)` };\r\n\t}, [indeterminate, currentValue, max]);\r\n\r\n\treturn (\r\n\t\t<ProgressPrimitive.Root\r\n\t\t\tdata-slot=\"progress\"\r\n\t\t\tclassName={styles.track({ className })}\r\n\t\t\tvalue={currentValue}\r\n\t\t\tmax={max}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t<ProgressPrimitive.Indicator\r\n\t\t\t\tdata-slot=\"progress-indicator\"\r\n\t\t\t\tclassName={styles.indicator({ className: indicatorClassName })}\r\n\t\t\t\tstyle={indicatorStyle}\r\n\t\t\t/>\r\n\t\t</ProgressPrimitive.Root>\r\n\t);\r\n}\r\n","import { Icon } from \"@/components/icon\";\r\nimport { IconProps } from \"@/components/icon/Icon\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\r\n\r\nconst progressIconVariants = tv({\r\n\tbase: \"text-secondary-fg\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"h-4 w-4\",\r\n\t\t\tmd: \"h-4 w-4\",\r\n\t\t\tlg: \"h-5 w-5\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressIconProps = ProgressBarSizeVariants & IconProps;\r\n\r\nexport const ProgressIcon: React.FC<ProgressIconProps> = ({ className, size, icon, ...props }) => {\r\n\treturn <Icon icon={icon} className={progressIconVariants({ className, size })} {...props} />;\r\n};\r\n\r\nProgressIcon.displayName = \"ProgressIcon\";\r\n","import { IconButton } from \"@/components/button\";\r\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\r\n\r\nconst progressIconButtonVariants = tv({\r\n\tslots: {\r\n\t\tbase: \"h-auto p-0 text-muted\",\r\n\t\ticon: \"\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: {\r\n\t\t\t\ticon: \"h-4 w-4\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\ticon: \"h-5 w-5\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\ticon: \"h-[1.375rem] w-[1.375rem]\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressIconButtonProps = ProgressBarSizeVariants & IconButtonProps;\r\n\r\nexport const ProgressIconButton: React.FC<ProgressIconButtonProps> = ({\r\n\tclassName,\r\n\tsize,\r\n\ticon,\r\n\ticonClassName,\r\n\t...props\r\n}) => {\r\n\tconst styles = progressIconButtonVariants({ size });\r\n\treturn (\r\n\t\t<IconButton\r\n\t\t\ticon={icon}\r\n\t\t\tvariant=\"text\"\r\n\t\t\tclassName={styles.base({ className })}\r\n\t\t\ticonClassName={styles.icon({ className: iconClassName })}\r\n\t\t\tsize={size}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nProgressIconButton.displayName = \"ProgressIconButton\";\r\n","import React from \"react\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst progressTextVariants = tv({\r\n\tbase: \"inline-block font-medium text-secondary-fg\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"text-xs\",\r\n\t\t\tmd: \"text-sm\",\r\n\t\t\tlg: \"text-base\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressTextProps = ProgressBarSizeVariants & React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const ProgressText = React.forwardRef<HTMLDivElement, PropsWithChildren<ProgressTextProps>>(\r\n\t({ className, size, children, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<span className={progressTextVariants({ className, size })} ref={ref} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</span>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nProgressText.displayName = \"ProgressText\";\r\n","import { LucideIcon, RotateCw, X } from \"lucide-react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Progress } from \"../Progress\";\r\nimport { ProgressIconButton } from \"../components/progress-icon-button/ProgressIconButton\";\r\nimport { ProgressIcon } from \"../components/progress-icon/ProgressIcon\";\r\nimport { ProgressText } from \"../components/progress-text/ProgressText\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport { ProgressBarSizeVariants } from \"../ProgressBarStyles\";\r\n\r\nconst progressBlockTemplateStyles = tv({\r\n\tslots: {\r\n\t\twrap: \"flex w-full flex-col\",\r\n\t\theader: \"flex items-center justify-between gap-2\",\r\n\t\ttitleWrapper: \"flex items-center\",\r\n\t\tactionsWrapper: \"flex items-center gap-2\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: {\r\n\t\t\t\twrap: \"gap-1\",\r\n\t\t\t\ttitleWrapper: \"gap-1\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\twrap: \"gap-1\",\r\n\t\t\t\ttitleWrapper: \"gap-1.5\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\twrap: \"gap-1.5\",\r\n\t\t\t\ttitleWrapper: \"gap-2\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressBlockTemplateProps = ProgressBarSizeVariants & {\r\n\tvalue?: number;\r\n\tmax?: number;\r\n\tindeterminate?: boolean;\r\n\ticon?: LucideIcon;\r\n\ttitle?: React.ReactNode;\r\n\tdescription?: React.ReactNode;\r\n\tonCancel?: (e: React.MouseEvent<HTMLElement>) => void;\r\n\tonRetry?: (e: React.MouseEvent<HTMLElement>) => void;\r\n};\r\n\r\nexport const ProgressBlockTemplate = (props: ProgressBlockTemplateProps) => {\r\n\tconst { size, value, max, indeterminate, icon, title, description, onCancel, onRetry } = props;\r\n\r\n\tconst styles = progressBlockTemplateStyles({ size });\r\n\r\n\treturn (\r\n\t\t<div className={styles.wrap()}>\r\n\t\t\t<div className={styles.header()}>\r\n\t\t\t\t<div className={styles.titleWrapper()}>\r\n\t\t\t\t\t{icon && <ProgressIcon size={size} icon={icon} />}\r\n\t\t\t\t\t{title && (\r\n\t\t\t\t\t\t<ProgressText size={size} className=\"mr-auto\">\r\n\t\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\t</ProgressText>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div className={styles.actionsWrapper()}>\r\n\t\t\t\t\t{description && <ProgressText size={size}>{description}</ProgressText>}\r\n\t\t\t\t\t{onRetry && (\r\n\t\t\t\t\t\t<ProgressIconButton\r\n\t\t\t\t\t\t\tsize={size}\r\n\t\t\t\t\t\t\ticon={RotateCw}\r\n\t\t\t\t\t\t\tonClick={onRetry}\r\n\t\t\t\t\t\t\ticonClassName=\"p-0.5 stroke-[2.3px]\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{onCancel && <ProgressIconButton size={size} icon={X} onClick={onCancel} />}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div>\r\n\t\t\t\t<Progress value={value} max={max} indeterminate={indeterminate} size={size} />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nProgressBlockTemplate.displayName = \"ProgressBlockTemplate\";\r\n"],"names":["PROGRESS_NAME","DEFAULT_MAX","createProgressContext","createProgressScope","createContextScope","ProgressProvider","useProgressContext","Progress","React","props","forwardedRef","__scopeProgress","valueProp","maxProp","getValueLabel","defaultGetValueLabel","progressProps","isValidMaxNumber","getInvalidMaxError","max","isValidValueNumber","getInvalidValueError","value","valueLabel","isNumber","jsx","Primitive","getProgressState","INDICATOR_NAME","ProgressIndicator","indicatorProps","context","maxValue","propValue","componentName","Root","Indicator","progressBarStyles","tv","className","size","indicatorClassName","indeterminate","rest","styles","currentValue","indicatorStyle","useMemo","safeMax","ProgressPrimitive.Root","ProgressPrimitive.Indicator","progressIconVariants","ProgressIcon","icon","Icon","progressIconButtonVariants","ProgressIconButton","iconClassName","IconButton","progressTextVariants","ProgressText","children","ref","progressBlockTemplateStyles","ProgressBlockTemplate","title","description","onCancel","onRetry","jsxs","RotateCw","X"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"prose.js","sources":["../../src/components/prose/Prose.tsx"],"sourcesContent":["import { PropsWithChildren } from \"react\";\nimport React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cn } from \"@/lib/utils\";\n\nexport type ProseProps = React.HTMLAttributes<HTMLDivElement> & {\n\tasChild?: boolean;\n};\n\nexport const Prose = React.forwardRef<HTMLDivElement, PropsWithChildren<ProseProps>>(\n\t({ className, children, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : \"div\";\n\n\t\treturn (\n\t\t\t<Comp className={cn(\"prose max-w-none\", className)} ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</Comp>\n\t\t);\n\t}\n);\n\nProse.displayName = \"Prose\";\n"],"names":["Prose","React","className","children","asChild","props","ref","jsx","Slot","cn"],"mappings":";;;;AASO,MAAMA,IAAQC,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,UAAAC,GAAU,SAAAC,IAAU,IAAO,GAAGC,EAAM,GAAGC,MAInD,gBAAAC,EAHYH,IAAUI,IAAO,OAGvB,EAAA,WAAWC,EAAG,oBAAoBP,CAAS,GAAG,KAAAI,GAAW,GAAGD,GAChE,UAAAF,EACF,CAAA;AAGH;AAEAH,EAAM,cAAc;"}
1
+ {"version":3,"file":"prose.js","sources":["../../src/components/prose/Prose.tsx"],"sourcesContent":["import { PropsWithChildren } from \"react\";\r\nimport React from \"react\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { cn } from \"@/lib/utils\";\r\n\r\nexport type ProseProps = React.HTMLAttributes<HTMLDivElement> & {\r\n\tasChild?: boolean;\r\n};\r\n\r\nexport const Prose = React.forwardRef<HTMLDivElement, PropsWithChildren<ProseProps>>(\r\n\t({ className, children, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : \"div\";\r\n\r\n\t\treturn (\r\n\t\t\t<Comp className={cn(\"prose max-w-none\", 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\nProse.displayName = \"Prose\";\r\n"],"names":["Prose","React","className","children","asChild","props","ref","jsx","Slot","cn"],"mappings":";;;;AASO,MAAMA,IAAQC,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,UAAAC,GAAU,SAAAC,IAAU,IAAO,GAAGC,EAAM,GAAGC,MAInD,gBAAAC,EAHYH,IAAUI,IAAO,OAGvB,EAAA,WAAWC,EAAG,oBAAoBP,CAAS,GAAG,KAAAI,GAAW,GAAGD,GAChE,UAAAF,EACF,CAAA;AAGH;AAEAH,EAAM,cAAc;"}
@@ -241,7 +241,7 @@ const ue = G({
241
241
  item: [
242
242
  "aspect-square h-4 w-4 rounded-full border border-primary-border bg-secondary-bg shadow-soft-sm data-[state=checked]:border-primary-accent data-[state=checked]:bg-primary-accent",
243
243
  "hover:border-muted",
244
- "focus:outline-none focus-visible:shadow-focus",
244
+ "focus:outline-hidden focus-visible:shadow-focus",
245
245
  "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-primary-border"
246
246
  ],
247
247
  indicator: "flex items-center justify-center",
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","sources":["../../node_modules/.pnpm/@radix-ui+react-radio-group@1.3.8_@types+react-dom@18.3.6_@types+react@18.3.20__@types+_3817d711d0804cde943044a79473fe99/node_modules/@radix-ui/react-radio-group/dist/index.mjs","../../src/components/radio-group/RadioGroup.tsx","../../src/components/radio-group/components/RadioGroupItem.tsx"],"sourcesContent":["\"use client\";\n\n// src/radio-group.tsx\nimport * as React2 from \"react\";\nimport { composeEventHandlers as composeEventHandlers2 } from \"@radix-ui/primitive\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { Primitive as Primitive2 } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\n\n// src/radio.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar RADIO_NAME = \"Radio\";\nvar [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\nvar [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME);\nvar Radio = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRadio,\n name,\n checked = false,\n required,\n disabled,\n value = \"on\",\n onCheck,\n form,\n ...radioProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n return /* @__PURE__ */ jsxs(RadioProvider, { scope: __scopeRadio, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"radio\",\n \"aria-checked\": checked,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...radioProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n if (!checked) onCheck?.();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n RadioBubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nRadio.displayName = RADIO_NAME;\nvar INDICATOR_NAME = \"RadioIndicator\";\nvar RadioIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadio, forceMount, ...indicatorProps } = props;\n const context = useRadioContext(INDICATOR_NAME, __scopeRadio);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.checked, 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 }\n ) });\n }\n);\nRadioIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar RadioBubbleInput = React.forwardRef(\n ({\n __scopeRadio,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\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 if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"radio\",\n \"aria-hidden\": true,\n defaultChecked: checked,\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 }\n }\n );\n }\n);\nRadioBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\n\n// src/radio-group.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar RADIO_GROUP_NAME = \"RadioGroup\";\nvar [createRadioGroupContext, createRadioGroupScope] = createContextScope2(RADIO_GROUP_NAME, [\n createRovingFocusGroupScope,\n createRadioScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar useRadioScope = createRadioScope();\nvar [RadioGroupProvider, useRadioGroupContext] = createRadioGroupContext(RADIO_GROUP_NAME);\nvar RadioGroup = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRadioGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n disabled = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...groupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? null,\n onChange: onValueChange,\n caller: RADIO_GROUP_NAME\n });\n return /* @__PURE__ */ jsx2(\n RadioGroupProvider,\n {\n scope: __scopeRadioGroup,\n name,\n required,\n disabled,\n value,\n onValueChange: setValue,\n children: /* @__PURE__ */ jsx2(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ jsx2(\n Primitive2.div,\n {\n role: \"radiogroup\",\n \"aria-required\": required,\n \"aria-orientation\": orientation,\n \"data-disabled\": disabled ? \"\" : void 0,\n dir: direction,\n ...groupProps,\n ref: forwardedRef\n }\n )\n }\n )\n }\n );\n }\n);\nRadioGroup.displayName = RADIO_GROUP_NAME;\nvar ITEM_NAME = \"RadioGroupItem\";\nvar RadioGroupItem = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadioGroup, disabled, ...itemProps } = props;\n const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const radioScope = useRadioScope(__scopeRadioGroup);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = React2.useRef(false);\n React2.useEffect(() => {\n const handleKeyDown = (event) => {\n if (ARROW_KEYS.includes(event.key)) {\n isArrowKeyPressedRef.current = true;\n }\n };\n const handleKeyUp = () => isArrowKeyPressedRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown);\n document.addEventListener(\"keyup\", handleKeyUp);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n document.removeEventListener(\"keyup\", handleKeyUp);\n };\n }, []);\n return /* @__PURE__ */ jsx2(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !isDisabled,\n active: checked,\n children: /* @__PURE__ */ jsx2(\n Radio,\n {\n disabled: isDisabled,\n required: context.required,\n checked,\n ...radioScope,\n ...itemProps,\n name: context.name,\n ref: composedRefs,\n onCheck: () => context.onValueChange(itemProps.value),\n onKeyDown: composeEventHandlers2((event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onFocus: composeEventHandlers2(itemProps.onFocus, () => {\n if (isArrowKeyPressedRef.current) ref.current?.click();\n })\n }\n )\n }\n );\n }\n);\nRadioGroupItem.displayName = ITEM_NAME;\nvar INDICATOR_NAME2 = \"RadioGroupIndicator\";\nvar RadioGroupIndicator = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadioGroup, ...indicatorProps } = props;\n const radioScope = useRadioScope(__scopeRadioGroup);\n return /* @__PURE__ */ jsx2(RadioIndicator, { ...radioScope, ...indicatorProps, ref: forwardedRef });\n }\n);\nRadioGroupIndicator.displayName = INDICATOR_NAME2;\nvar Root2 = RadioGroup;\nvar Item2 = RadioGroupItem;\nvar Indicator = RadioGroupIndicator;\nexport {\n Indicator,\n Item2 as Item,\n RadioGroup,\n RadioGroupIndicator,\n RadioGroupItem,\n Root2 as Root,\n createRadioGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { tv } from \"tailwind-variants\";\n\nexport type RadioGroupProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>;\n\nconst radioGroupStyles = tv({\n\tbase: \"grid gap-2\"\n});\n\nexport const RadioGroup = React.forwardRef<React.ElementRef<typeof RadioGroupPrimitive.Root>, RadioGroupProps>(\n\t({ className, ...props }, ref) => {\n\t\treturn <RadioGroupPrimitive.Root className={radioGroupStyles({ className })} {...props} ref={ref} />;\n\t}\n);\n\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n","import { Icon } from \"@/components/icon\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { Circle } from \"lucide-react\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nexport type RadioGroupItemProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>;\n\nexport const radioGroupItemStyles = tv({\n\tslots: {\n\t\titem: [\n\t\t\t\"aspect-square h-4 w-4 rounded-full border border-primary-border bg-secondary-bg shadow-soft-sm data-[state=checked]:border-primary-accent data-[state=checked]:bg-primary-accent\",\n\t\t\t\"hover:border-muted\",\n\t\t\t\"focus:outline-none focus-visible:shadow-focus\",\n\t\t\t\"disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-primary-border\"\n\t\t],\n\t\tindicator: \"flex items-center justify-center\",\n\t\ticon: \"h-2 w-2 fill-secondary-bg\"\n\t}\n});\n\nexport const RadioGroupItem = React.forwardRef<React.ElementRef<typeof RadioGroupPrimitive.Item>, RadioGroupItemProps>(\n\t({ className, ...props }, ref) => {\n\t\tconst styles = radioGroupItemStyles();\n\n\t\treturn (\n\t\t\t<RadioGroupPrimitive.Item ref={ref} className={styles.item({ className })} {...props}>\n\t\t\t\t<RadioGroupPrimitive.Indicator className={styles.indicator()}>\n\t\t\t\t\t<Icon icon={Circle} className={styles.icon()} />\n\t\t\t\t</RadioGroupPrimitive.Indicator>\n\t\t\t</RadioGroupPrimitive.Item>\n\t\t);\n\t}\n);\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n"],"names":["RADIO_NAME","createRadioContext","createRadioScope","createContextScope","RadioProvider","useRadioContext","Radio","React","props","forwardedRef","__scopeRadio","name","checked","required","disabled","value","onCheck","form","radioProps","button","setButton","composedRefs","useComposedRefs","node","hasConsumerStoppedPropagationRef","isFormControl","jsxs","jsx","Primitive","getState","composeEventHandlers","event","RadioBubbleInput","INDICATOR_NAME","RadioIndicator","forceMount","indicatorProps","context","Presence","BUBBLE_INPUT_NAME","control","bubbles","ref","prevChecked","usePrevious","controlSize","useSize","input","inputProto","setChecked","ARROW_KEYS","RADIO_GROUP_NAME","createRadioGroupContext","createRadioGroupScope","createContextScope2","createRovingFocusGroupScope","useRovingFocusGroupScope","useRadioScope","RadioGroupProvider","useRadioGroupContext","RadioGroup","React2","__scopeRadioGroup","defaultValue","valueProp","orientation","dir","loop","onValueChange","groupProps","rovingFocusGroupScope","direction","useDirection","setValue","useControllableState","jsx2","RovingFocusGroup.Root","Primitive2","ITEM_NAME","RadioGroupItem","itemProps","isDisabled","radioScope","useComposedRefs2","isArrowKeyPressedRef","handleKeyDown","handleKeyUp","RovingFocusGroup.Item","composeEventHandlers2","INDICATOR_NAME2","RadioGroupIndicator","Root2","Item2","Indicator","radioGroupStyles","tv","className","RadioGroupPrimitive.Root","radioGroupItemStyles","styles","RadioGroupPrimitive.Item","RadioGroupPrimitive.Indicator","Icon","Circle"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"radio-group.js","sources":["../../node_modules/.pnpm/@radix-ui+react-radio-group_3817d711d0804cde943044a79473fe99/node_modules/@radix-ui/react-radio-group/dist/index.mjs","../../src/components/radio-group/RadioGroup.tsx","../../src/components/radio-group/components/RadioGroupItem.tsx"],"sourcesContent":["\"use client\";\n\n// src/radio-group.tsx\nimport * as React2 from \"react\";\nimport { composeEventHandlers as composeEventHandlers2 } from \"@radix-ui/primitive\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { Primitive as Primitive2 } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\n\n// src/radio.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar RADIO_NAME = \"Radio\";\nvar [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\nvar [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME);\nvar Radio = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRadio,\n name,\n checked = false,\n required,\n disabled,\n value = \"on\",\n onCheck,\n form,\n ...radioProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n return /* @__PURE__ */ jsxs(RadioProvider, { scope: __scopeRadio, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"radio\",\n \"aria-checked\": checked,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...radioProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n if (!checked) onCheck?.();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n RadioBubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nRadio.displayName = RADIO_NAME;\nvar INDICATOR_NAME = \"RadioIndicator\";\nvar RadioIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadio, forceMount, ...indicatorProps } = props;\n const context = useRadioContext(INDICATOR_NAME, __scopeRadio);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.checked, 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 }\n ) });\n }\n);\nRadioIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar RadioBubbleInput = React.forwardRef(\n ({\n __scopeRadio,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\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 if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"radio\",\n \"aria-hidden\": true,\n defaultChecked: checked,\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 }\n }\n );\n }\n);\nRadioBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\n\n// src/radio-group.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar RADIO_GROUP_NAME = \"RadioGroup\";\nvar [createRadioGroupContext, createRadioGroupScope] = createContextScope2(RADIO_GROUP_NAME, [\n createRovingFocusGroupScope,\n createRadioScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar useRadioScope = createRadioScope();\nvar [RadioGroupProvider, useRadioGroupContext] = createRadioGroupContext(RADIO_GROUP_NAME);\nvar RadioGroup = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRadioGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n disabled = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...groupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? null,\n onChange: onValueChange,\n caller: RADIO_GROUP_NAME\n });\n return /* @__PURE__ */ jsx2(\n RadioGroupProvider,\n {\n scope: __scopeRadioGroup,\n name,\n required,\n disabled,\n value,\n onValueChange: setValue,\n children: /* @__PURE__ */ jsx2(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ jsx2(\n Primitive2.div,\n {\n role: \"radiogroup\",\n \"aria-required\": required,\n \"aria-orientation\": orientation,\n \"data-disabled\": disabled ? \"\" : void 0,\n dir: direction,\n ...groupProps,\n ref: forwardedRef\n }\n )\n }\n )\n }\n );\n }\n);\nRadioGroup.displayName = RADIO_GROUP_NAME;\nvar ITEM_NAME = \"RadioGroupItem\";\nvar RadioGroupItem = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadioGroup, disabled, ...itemProps } = props;\n const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const radioScope = useRadioScope(__scopeRadioGroup);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = React2.useRef(false);\n React2.useEffect(() => {\n const handleKeyDown = (event) => {\n if (ARROW_KEYS.includes(event.key)) {\n isArrowKeyPressedRef.current = true;\n }\n };\n const handleKeyUp = () => isArrowKeyPressedRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown);\n document.addEventListener(\"keyup\", handleKeyUp);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n document.removeEventListener(\"keyup\", handleKeyUp);\n };\n }, []);\n return /* @__PURE__ */ jsx2(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !isDisabled,\n active: checked,\n children: /* @__PURE__ */ jsx2(\n Radio,\n {\n disabled: isDisabled,\n required: context.required,\n checked,\n ...radioScope,\n ...itemProps,\n name: context.name,\n ref: composedRefs,\n onCheck: () => context.onValueChange(itemProps.value),\n onKeyDown: composeEventHandlers2((event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onFocus: composeEventHandlers2(itemProps.onFocus, () => {\n if (isArrowKeyPressedRef.current) ref.current?.click();\n })\n }\n )\n }\n );\n }\n);\nRadioGroupItem.displayName = ITEM_NAME;\nvar INDICATOR_NAME2 = \"RadioGroupIndicator\";\nvar RadioGroupIndicator = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeRadioGroup, ...indicatorProps } = props;\n const radioScope = useRadioScope(__scopeRadioGroup);\n return /* @__PURE__ */ jsx2(RadioIndicator, { ...radioScope, ...indicatorProps, ref: forwardedRef });\n }\n);\nRadioGroupIndicator.displayName = INDICATOR_NAME2;\nvar Root2 = RadioGroup;\nvar Item2 = RadioGroupItem;\nvar Indicator = RadioGroupIndicator;\nexport {\n Indicator,\n Item2 as Item,\n RadioGroup,\n RadioGroupIndicator,\n RadioGroupItem,\n Root2 as Root,\n createRadioGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\r\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport type RadioGroupProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>;\r\n\r\nconst radioGroupStyles = tv({\r\n\tbase: \"grid gap-2\"\r\n});\r\n\r\nexport const RadioGroup = React.forwardRef<React.ElementRef<typeof RadioGroupPrimitive.Root>, RadioGroupProps>(\r\n\t({ className, ...props }, ref) => {\r\n\t\treturn <RadioGroupPrimitive.Root className={radioGroupStyles({ className })} {...props} ref={ref} />;\r\n\t}\r\n);\r\n\r\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\r\n","import { Icon } from \"@/components/icon\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { Circle } from \"lucide-react\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nexport type RadioGroupItemProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>;\n\nexport const radioGroupItemStyles = tv({\n\tslots: {\n\t\titem: [\n\t\t\t\"aspect-square h-4 w-4 rounded-full border border-primary-border bg-secondary-bg shadow-soft-sm data-[state=checked]:border-primary-accent data-[state=checked]:bg-primary-accent\",\n\t\t\t\"hover:border-muted\",\n\t\t\t\"focus:outline-hidden focus-visible:shadow-focus\",\n\t\t\t\"disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-primary-border\"\n\t\t],\n\t\tindicator: \"flex items-center justify-center\",\n\t\ticon: \"h-2 w-2 fill-secondary-bg\"\n\t}\n});\n\nexport const RadioGroupItem = React.forwardRef<React.ElementRef<typeof RadioGroupPrimitive.Item>, RadioGroupItemProps>(\n\t({ className, ...props }, ref) => {\n\t\tconst styles = radioGroupItemStyles();\n\n\t\treturn (\n\t\t\t<RadioGroupPrimitive.Item ref={ref} className={styles.item({ className })} {...props}>\n\t\t\t\t<RadioGroupPrimitive.Indicator className={styles.indicator()}>\n\t\t\t\t\t<Icon icon={Circle} className={styles.icon()} />\n\t\t\t\t</RadioGroupPrimitive.Indicator>\n\t\t\t</RadioGroupPrimitive.Item>\n\t\t);\n\t}\n);\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n"],"names":["RADIO_NAME","createRadioContext","createRadioScope","createContextScope","RadioProvider","useRadioContext","Radio","React","props","forwardedRef","__scopeRadio","name","checked","required","disabled","value","onCheck","form","radioProps","button","setButton","composedRefs","useComposedRefs","node","hasConsumerStoppedPropagationRef","isFormControl","jsxs","jsx","Primitive","getState","composeEventHandlers","event","RadioBubbleInput","INDICATOR_NAME","RadioIndicator","forceMount","indicatorProps","context","Presence","BUBBLE_INPUT_NAME","control","bubbles","ref","prevChecked","usePrevious","controlSize","useSize","input","inputProto","setChecked","ARROW_KEYS","RADIO_GROUP_NAME","createRadioGroupContext","createRadioGroupScope","createContextScope2","createRovingFocusGroupScope","useRovingFocusGroupScope","useRadioScope","RadioGroupProvider","useRadioGroupContext","RadioGroup","React2","__scopeRadioGroup","defaultValue","valueProp","orientation","dir","loop","onValueChange","groupProps","rovingFocusGroupScope","direction","useDirection","setValue","useControllableState","jsx2","RovingFocusGroup.Root","Primitive2","ITEM_NAME","RadioGroupItem","itemProps","isDisabled","radioScope","useComposedRefs2","isArrowKeyPressedRef","handleKeyDown","handleKeyUp","RovingFocusGroup.Item","composeEventHandlers2","INDICATOR_NAME2","RadioGroupIndicator","Root2","Item2","Indicator","radioGroupStyles","tv","className","RadioGroupPrimitive.Root","radioGroupItemStyles","styles","RadioGroupPrimitive.Item","RadioGroupPrimitive.Indicator","Icon","Circle"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1530,7 +1530,7 @@ const ct = Fe({
1530
1530
  wrapper: [
1531
1531
  "relative flex w-px items-center justify-center bg-secondary-border hover:bg-primary-border",
1532
1532
  "after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2",
1533
- "focus-visible:shadow-focus focus-visible:outline-none",
1533
+ "focus-visible:shadow-focus focus-visible:outline-hidden",
1534
1534
  "data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90"
1535
1535
  ],
1536
1536
  handle: "z-10 flex h-4 w-2.5 items-center justify-center rounded-sm border border-secondary-border bg-secondary-border hover:border-primary-border hover:bg-primary-border",