ics-ui-kit 0.1.2 → 0.1.3

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 (145) hide show
  1. package/README.md +36 -36
  2. package/dist/AlertContext-CxjW1LVL.js.map +1 -1
  3. package/dist/AlertIcon-5B6AgZpe.js.map +1 -1
  4. package/dist/Button-Dg89xRSi.js.map +1 -1
  5. package/dist/ButtonBase-e6qyv6mD.js.map +1 -1
  6. package/dist/CheckboxField-cX09-eBX.js.map +1 -1
  7. package/dist/Command-BhbfL5wm.js.map +1 -1
  8. package/dist/ComponentVariantProvider-B0SFUaXB.js.map +1 -1
  9. package/dist/Description-BTPMlTT-.js.map +1 -1
  10. package/dist/Dialog-ByiJIDhl.js.map +1 -1
  11. package/dist/Divider-DPW5ZhZ8.js.map +1 -1
  12. package/dist/EmptyState-DRKjscH-.js.map +1 -1
  13. package/dist/ErrorState-B26k67-z.js.map +1 -1
  14. package/dist/FeatureIcon-BGE0Orkc.js.map +1 -1
  15. package/dist/{Field-CKl59qUB.js → Field-BiIWtq9o.js} +13 -13
  16. package/dist/Field-BiIWtq9o.js.map +1 -0
  17. package/dist/FieldLabel-QJ4rJFOi.js.map +1 -1
  18. package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
  19. package/dist/FormFooterTemplate-DPB6Dkxn.js.map +1 -1
  20. package/dist/FormHeader--F6b2aRk.js.map +1 -1
  21. package/dist/{FormStack-B4QOuYgO.js → FormStack-DO15vBgd.js} +2 -2
  22. package/dist/FormStack-DO15vBgd.js.map +1 -0
  23. package/dist/HintState-BxrCAWqq.js.map +1 -1
  24. package/dist/Icon-DH3ev9GK.js.map +1 -1
  25. package/dist/IconButton-DwkpNgn3.js.map +1 -1
  26. package/dist/IconTooltip-CKJKGHbk.js.map +1 -1
  27. package/dist/Indicator-AqxHWPA9.js.map +1 -1
  28. package/dist/InputGroup-BvD9Igmt.js.map +1 -1
  29. package/dist/InputOTP-B2e1nfSO.js.map +1 -1
  30. package/dist/Loader-BpHiL6W-.js.map +1 -1
  31. package/dist/MenuItem-pvsONHlh.js.map +1 -1
  32. package/dist/MenuItemShortcut-DgPol9Nz.js.map +1 -1
  33. package/dist/MenuItemText-7uPl9P3z.js.map +1 -1
  34. package/dist/Overlay-2XMlxApi.js.map +1 -1
  35. package/dist/Popover-Dvr7y0YY.js.map +1 -1
  36. package/dist/RichButton-DuPTenmS.js.map +1 -1
  37. package/dist/ScrollArea-CuuTeDn3.js.map +1 -1
  38. package/dist/ScrollShadowContainer-DdrnF8qU.js.map +1 -1
  39. package/dist/SearchSelectTag-DFCX9zT1.js.map +1 -1
  40. package/dist/Select-DRwv6-eZ.js.map +1 -1
  41. package/dist/Sheet-rtwmzm2-.js.map +1 -1
  42. package/dist/Shortcut-D8L15_ed.js.map +1 -1
  43. package/dist/Skeleton-y6I-i9q5.js.map +1 -1
  44. package/dist/Tag-DdHXTyKF.js.map +1 -1
  45. package/dist/Text-DeBE8AKl.js.map +1 -1
  46. package/dist/TextInput-Cj50ImXi.js.map +1 -1
  47. package/dist/TextOverflowTooltip-DlUgic5y.js.map +1 -1
  48. package/dist/Toggle-v_HT3Gm2.js.map +1 -1
  49. package/dist/Tooltip-C4rVuWr4.js.map +1 -1
  50. package/dist/TriggerButton-CfDObWP9.js.map +1 -1
  51. package/dist/blocks/auth/otp-form.js +1 -1
  52. package/dist/blocks/auth/otp-form.js.map +1 -1
  53. package/dist/cn-dsXlqdJg.js.map +1 -1
  54. package/dist/components/alert-dialog.js.map +1 -1
  55. package/dist/components/alert.js.map +1 -1
  56. package/dist/components/avatar.js.map +1 -1
  57. package/dist/components/badge.js.map +1 -1
  58. package/dist/components/banner.js.map +1 -1
  59. package/dist/components/breadcrumb.js.map +1 -1
  60. package/dist/components/button.js.map +1 -1
  61. package/dist/components/calendar.js.map +1 -1
  62. package/dist/components/card.js.map +1 -1
  63. package/dist/components/carousel.js.map +1 -1
  64. package/dist/components/collapsible.js.map +1 -1
  65. package/dist/components/color-tile.js.map +1 -1
  66. package/dist/components/container.js.map +1 -1
  67. package/dist/components/counter.js.map +1 -1
  68. package/dist/components/dialog.js.map +1 -1
  69. package/dist/components/divider.js.map +1 -1
  70. package/dist/components/drawer.js.map +1 -1
  71. package/dist/components/dropdown.js.map +1 -1
  72. package/dist/components/error-state.js.map +1 -1
  73. package/dist/components/field.js +1 -1
  74. package/dist/components/file-upload.js.map +1 -1
  75. package/dist/components/form.js +2 -2
  76. package/dist/components/form.js.map +1 -1
  77. package/dist/components/image-placeholder.js.map +1 -1
  78. package/dist/components/image-preview.js.map +1 -1
  79. package/dist/components/image-uploader.js.map +1 -1
  80. package/dist/components/input.js.map +1 -1
  81. package/dist/components/menu-item.js.map +1 -1
  82. package/dist/components/page-state.js.map +1 -1
  83. package/dist/components/portal-container.js.map +1 -1
  84. package/dist/components/progress-circle.js.map +1 -1
  85. package/dist/components/progress.js.map +1 -1
  86. package/dist/components/prose.js.map +1 -1
  87. package/dist/components/radio-group.js.map +1 -1
  88. package/dist/components/resizable.js.map +1 -1
  89. package/dist/components/scheduler.js.map +1 -1
  90. package/dist/components/search-select.js.map +1 -1
  91. package/dist/components/sidebar.js.map +1 -1
  92. package/dist/components/slider.js.map +1 -1
  93. package/dist/components/stepper.js.map +1 -1
  94. package/dist/components/switch.js.map +1 -1
  95. package/dist/components/system-state.js.map +1 -1
  96. package/dist/components/table.js.map +1 -1
  97. package/dist/components/tabs.js.map +1 -1
  98. package/dist/components/tag-input.js.map +1 -1
  99. package/dist/components/textarea.js.map +1 -1
  100. package/dist/components/timer.js.map +1 -1
  101. package/dist/components/toast.js.map +1 -1
  102. package/dist/components/toggle-group.js.map +1 -1
  103. package/dist/components/toolbar.js.map +1 -1
  104. package/dist/index-0ioNhtNM.js.map +1 -1
  105. package/dist/index-437EL2iq.js.map +1 -1
  106. package/dist/index-BGQepRFJ.js.map +1 -1
  107. package/dist/index-BVqs-uqP.js.map +1 -1
  108. package/dist/index-BZPx6jYI.js.map +1 -1
  109. package/dist/index-Bb23HztA.js.map +1 -1
  110. package/dist/index-BpWB3aFK.js.map +1 -1
  111. package/dist/index-ByaXH_ih.js.map +1 -1
  112. package/dist/index-BzCriPiK.js.map +1 -1
  113. package/dist/index-CCKe-Mpx.js.map +1 -1
  114. package/dist/index-CFaU3UXv.js.map +1 -1
  115. package/dist/index-CLuiUUQ8.js.map +1 -1
  116. package/dist/index-CQD-Njgt.js.map +1 -1
  117. package/dist/index-CmBeyp2d.js.map +1 -1
  118. package/dist/index-DFZozV_h.js.map +1 -1
  119. package/dist/index-DHsfW5Rj.js.map +1 -1
  120. package/dist/index-DHyZ_0Ut.js.map +1 -1
  121. package/dist/index-DLcqcWxM.js.map +1 -1
  122. package/dist/index-DRo26PBK.js.map +1 -1
  123. package/dist/index-DnnQs07z.js.map +1 -1
  124. package/dist/index-Uiy0Xwy2.js.map +1 -1
  125. package/dist/index-_ITz1IyW.js.map +1 -1
  126. package/dist/index.js.map +1 -1
  127. package/dist/inputBaseStyles-DbzD_jvq.js.map +1 -1
  128. package/dist/lib/utils.js.map +1 -1
  129. package/dist/styles-scoped.css +6293 -6265
  130. package/dist/styles.css +6032 -6004
  131. package/dist/theme.css +356 -329
  132. package/dist/types/css.d.ts +4 -4
  133. package/dist/useBreakpoints-D8wKOvil.js.map +1 -1
  134. package/dist/useDebounce-BRah78CF.js.map +1 -1
  135. package/dist/useFileUpload-iDag0iqM.js.map +1 -1
  136. package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
  137. package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
  138. package/dist/usePortalContainer-ae6EzS08.js.map +1 -1
  139. package/dist/vendors/tanstack/react-table.js.map +1 -1
  140. package/dist/zod-BMNoK3aM.js.map +1 -1
  141. package/package.json +1 -1
  142. package/tailwind.preset.js +444 -444
  143. package/dist/Field-CKl59qUB.js.map +0 -1
  144. package/dist/FormStack-B4QOuYgO.js.map +0 -1
  145. package/dist/design-tokens.source.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","sources":["../../src/components/menu-item/MenuItemAction.tsx","../../src/components/menu-item/components/menu-item-button/MenuItemButton.tsx","../../src/components/menu-item/components/menu-item-icon/MenuItemIcon.tsx","../../src/components/menu-item/components/menu-item-icon-button/MenuItemIconButton.tsx","../../src/components/menu-item/components/menu-item-secondary-text/MenuItemSecondaryText.tsx","../../src/components/menu-item/templates/menu-item-action-template/MenuItemActionTemplate.tsx","../../src/components/menu-item/templates/menu-item-common-template/MenuItemCommonTemplate.tsx","../../src/components/menu-item/templates/menu-item-info-template/MenuItemInfoTemplate.tsx","../../src/components/menu-item/templates/menu-item-interactive-template/MenuItemInteractiveTemplate.tsx","../../src/components/menu-item/templates/menu-item-rich-template/MenuItemRichTemplate.tsx"],"sourcesContent":["import { tv } from \"tailwind-variants\";\r\nimport { MenuItem, MenuItemProps } from \"./MenuItem\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport React from \"react\";\r\n\r\nconst menuItemActionStyles = tv({\r\n\tbase: \"hover:cursor-pointer focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary\"\r\n});\r\n\r\nexport type MenuActionItemProps = MenuItemProps;\r\n\r\nexport const MenuItemAction = React.forwardRef<HTMLDivElement, PropsWithChildren<MenuActionItemProps>>(\r\n\t({ className, children, ...props }, ref) => (\r\n\t\t<MenuItem ref={ref} className={menuItemActionStyles({ className })} tabIndex={0} {...props}>\r\n\t\t\t{children}\r\n\t\t</MenuItem>\r\n\t)\r\n);\r\n\r\nMenuItemAction.displayName = \"MenuItemAction\";\r\n","import { Button } from \"@/components/button\";\r\nimport { ButtonProps } from \"@/components/button/button/Button\";\r\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\ntype MenuItemButtonProps = Omit<ButtonProps, \"variant\" | \"status\"> & {\r\n\tvariant?: \"outline\" | \"ghost\" | \"text\";\r\n};\r\n\r\nexport const menuItemButtonVariants = tv({\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"text-inverse-primary-fg\"\r\n\t\t},\r\n\t\tvariant: {\r\n\t\t\toutline: \"\",\r\n\t\t\tghost: \"\",\r\n\t\t\ttext: \"\",\r\n\t\t\tlink: \"\"\r\n\t\t}\r\n\t},\r\n\tcompoundVariants: [\r\n\t\t{\r\n\t\t\ttheme: \"inverse\",\r\n\t\t\tvariant: \"outline\",\r\n\t\t\tclass: \"border-inverse-border bg-inverse-primary-bg active:border-inverse-border active:bg-inverse-hover lg:hover:border-inverse-border lg:hover:bg-inverse-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\ttheme: \"inverse\",\r\n\t\t\tvariant: \"ghost\",\r\n\t\t\tclass: \"active:bg-inverse-hover lg:hover:bg-inverse-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\ttheme: \"inverse\",\r\n\t\t\tvariant: \"text\",\r\n\t\t\tclass: \"active:text-inverse-primary-fg lg:hover:text-inverse-primary-fg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\ttheme: \"inverse\",\r\n\t\t\tvariant: \"link\",\r\n\t\t\tclass: \"text-inverse-muted underline active:text-inverse-primary-fg lg:hover:text-inverse-primary-fg\"\r\n\t\t}\r\n\t]\r\n});\r\n\r\nconst menuItemButtonStyles = tv({\r\n\textend: menuItemButtonVariants,\r\n\tbase: \"h-6 rounded-sm py-1\"\r\n});\r\n\r\nexport const MenuItemButton = React.forwardRef<HTMLButtonElement, MenuItemButtonProps>(\r\n\t({ className, variant = \"ghost\", ...props }, ref) => {\r\n\t\tconst { variant: theme } = useComponentVariant();\r\n\r\n\t\treturn (\r\n\t\t\t<Button\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-menu-item-action\r\n\t\t\t\tsize=\"xs\"\r\n\t\t\t\tvariant={variant}\r\n\t\t\t\tclassName={menuItemButtonStyles({ className, theme, variant })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nMenuItemButton.displayName = \"MenuItemButton\";\r\n","import { Icon } from \"@/components/icon\";\r\nimport { IconProps } from \"@/components/icon/Icon\";\r\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst menuItemIconStyles = tv({\r\n\tbase: \"truncate text-sm text-primary-fg\",\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"text-inverse-primary-fg\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\ntype MenuItemIconProps = IconProps;\r\n\r\nexport const MenuItemIcon = ({ className, icon, ...props }: MenuItemIconProps) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\r\n\treturn <Icon icon={icon} className={menuItemIconStyles({ className, theme })} {...props} />;\r\n};\r\n\r\nMenuItemIcon.displayName = \"MenuItemIcon\";\r\n","import { IconButton } from \"@/components/button\";\r\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport React from \"react\";\r\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport { menuItemButtonVariants } from \"../menu-item-button/MenuItemButton\";\r\n\r\ntype MenuItemIconProps = Omit<IconButtonProps, \"variant\" | \"status\"> & {\r\n\tvariant?: \"outline\" | \"ghost\" | \"text\";\r\n};\r\n\r\nconst menuItemIconButtonStyles = tv({\r\n\textend: menuItemButtonVariants,\r\n\tbase: \"h-6 w-6 rounded-sm\"\r\n});\r\n\r\nexport const MenuItemIconButton = React.forwardRef<HTMLButtonElement, MenuItemIconProps>(\r\n\t({ className, icon, variant = \"ghost\", ...props }, ref) => {\r\n\t\tconst { variant: theme } = useComponentVariant();\r\n\r\n\t\treturn (\r\n\t\t\t<IconButton\r\n\t\t\t\tref={ref}\r\n\t\t\t\ticon={icon}\r\n\t\t\t\tdata-menu-item-action\r\n\t\t\t\tsize=\"xs\"\r\n\t\t\t\tvariant={variant}\r\n\t\t\t\tstatus=\"default\"\r\n\t\t\t\tclassName={menuItemIconButtonStyles({ className, theme, variant })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nMenuItemIconButton.displayName = \"MenuItemIconButton\";\r\n","import { useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport const menuItemSecondaryTextStyles = tv({\r\n\tbase: \"truncate text-xs text-muted\",\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"text-inverse-muted\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\ntype MenuItemTextProps = React.HTMLAttributes<HTMLSpanElement>;\r\n\r\nexport const MenuItemSecondaryText = ({ className, children, ...props }: MenuItemTextProps) => {\r\n\tconst { variant: theme } = useComponentVariant();\r\n\r\n\treturn (\r\n\t\t<span className={menuItemSecondaryTextStyles({ className, theme })} {...props}>\r\n\t\t\t{children}\r\n\t\t</span>\r\n\t);\r\n};\r\n\r\nMenuItemSecondaryText.displayName = \"MenuItemSecondaryText\";\r\n","import { PropsWithChildren } from \"react\";\r\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\r\nimport { MenuItemShortcut } from \"../../components/menu-item-shortcut/MenuItemShortcut\";\r\n\r\ntype MenuItemActionTemplateProps = {\r\n\ticon: LucideIcon;\r\n\ttext: string;\r\n\tshortcut?: string;\r\n};\r\n\r\nexport const MenuItemActionTemplate = ({ icon, text, shortcut }: PropsWithChildren<MenuItemActionTemplateProps>) => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<MenuItemIcon icon={icon} />\r\n\t\t\t<MenuItemText>{text}</MenuItemText>\r\n\t\t\t{shortcut && <MenuItemShortcut>{shortcut}</MenuItemShortcut>}\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nMenuItemActionTemplate.displayName = \"MenuItemActionTemplate\";\r\n","import { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\r\nimport { Icon } from \"@/components/icon\";\r\nimport { Check, LucideIcon } from \"lucide-react\";\r\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\r\nimport { cn } from \"@/lib/utils\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface MenuItemCommonTemplateVariants {\r\n\tisSelected?: boolean;\r\n}\r\n\r\nconst menuItemCommonTemplateStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex w-full flex-row items-center gap-2\",\r\n\t\tcontentWrapper: \"flex flex-row items-center gap-2\",\r\n\t\tcheck: \"invisible\",\r\n\t\trightIcon: \"ml-auto\"\r\n\t},\r\n\tvariants: {\r\n\t\tisSelected: {\r\n\t\t\ttrue: {\r\n\t\t\t\tcheck: \"visible\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<MenuItemCommonTemplateVariants>\r\n});\r\n\r\ntype MenuItemCommonTemplateProps = MenuItemCommonTemplateVariants & {\r\n\ttext: string;\r\n\ticon: LucideIcon;\r\n\tshowStartCheck?: boolean;\r\n\tshowEndCheck?: boolean;\r\n};\r\n\r\nexport const MenuItemCommonTemplate = ({\r\n\ticon,\r\n\ttext,\r\n\tisSelected,\r\n\tshowStartCheck = false,\r\n\tshowEndCheck = false\r\n}: PropsWithChildren<MenuItemCommonTemplateProps>) => {\r\n\tconst styles = menuItemCommonTemplateStyles();\r\n\r\n\treturn (\r\n\t\t<div className={styles.wrapper()}>\r\n\t\t\t{showStartCheck && <Icon icon={Check} className={styles.check({ isSelected })} />}\r\n\t\t\t<div className={styles.contentWrapper()}>\r\n\t\t\t\t<MenuItemIcon icon={icon} />\r\n\t\t\t\t<MenuItemText>{text}</MenuItemText>\r\n\t\t\t</div>\r\n\t\t\t{showEndCheck && <Icon icon={Check} className={cn(styles.rightIcon(), styles.check({ isSelected }))} />}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nMenuItemCommonTemplate.displayName = \"MenuItemCommonTemplate\";\r\n","import { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\r\nimport { MenuItemSecondaryText } from \"../../components/menu-item-secondary-text/MenuItemSecondaryText\";\r\nimport { Icon } from \"@/components/icon\";\r\nimport { Check } from \"lucide-react\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface MenuItemInfoTemplateVariants {\r\n\tisSelected?: boolean;\r\n}\r\n\r\nconst menuItemInfoTemplateStyles = tv({\r\n\tslots: {\r\n\t\tcheck: \"invisible\"\r\n\t},\r\n\tvariants: {\r\n\t\tisSelected: {\r\n\t\t\ttrue: {\r\n\t\t\t\tcheck: \"visible\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<MenuItemInfoTemplateVariants>\r\n});\r\n\r\ntype MenuItemInfoTemplateProps = MenuItemInfoTemplateVariants & {\r\n\ttext: string;\r\n\tdescription?: string;\r\n};\r\n\r\nexport const MenuItemInfoTemplate = ({\r\n\tdescription,\r\n\ttext,\r\n\tisSelected\r\n}: PropsWithChildren<MenuItemInfoTemplateProps>) => {\r\n\tconst styles = menuItemInfoTemplateStyles();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Icon icon={Check} className={styles.check({ isSelected })} />\r\n\t\t\t<MenuItemText>{text}</MenuItemText>\r\n\t\t\t{description && <MenuItemSecondaryText>{description}</MenuItemSecondaryText>}\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nMenuItemInfoTemplate.displayName = \"MenuItemInfoTemplate\";\r\n","import { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\r\nimport { Icon } from \"@/components/icon\";\r\nimport { Check, LucideIcon } from \"lucide-react\";\r\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\r\nimport { MenuItemIconButton } from \"../../components/menu-item-icon-button/MenuItemIconButton\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface MenuItemInteractiveTemplateVariants {\r\n\tisSelected?: boolean;\r\n}\r\n\r\nconst menuItemInteractiveTemplateStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex w-full flex-row items-center gap-2\",\r\n\t\tcontentWrapper: \"flex flex-row items-center gap-2\",\r\n\t\tcheck: \"invisible\",\r\n\t\tbutton: \"ml-auto\"\r\n\t},\r\n\tvariants: {\r\n\t\tisSelected: {\r\n\t\t\ttrue: {\r\n\t\t\t\tcheck: \"visible\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<MenuItemInteractiveTemplateVariants>\r\n});\r\n\r\ntype MenuItemInteractiveTemplateProps = MenuItemInteractiveTemplateVariants & {\r\n\ttext: string;\r\n\ticon: LucideIcon;\r\n\tbuttonIcon: LucideIcon;\r\n\tbuttonOnClick?: (e: React.MouseEvent) => void;\r\n};\r\n\r\nexport const MenuItemInteractiveTemplate = ({\r\n\ttext,\r\n\ticon,\r\n\tbuttonIcon,\r\n\tbuttonOnClick,\r\n\tisSelected\r\n}: PropsWithChildren<MenuItemInteractiveTemplateProps>) => {\r\n\tconst styles = menuItemInteractiveTemplateStyles();\r\n\r\n\treturn (\r\n\t\t<div className={styles.wrapper()}>\r\n\t\t\t<div className={styles.contentWrapper()}>\r\n\t\t\t\t<Icon icon={Check} className={styles.check({ isSelected })} />\r\n\t\t\t\t<MenuItemIcon icon={icon} />\r\n\t\t\t\t<MenuItemText>{text}</MenuItemText>\r\n\t\t\t</div>\r\n\t\t\t<MenuItemIconButton icon={buttonIcon} onClick={buttonOnClick} className={styles.button()} />\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nMenuItemInteractiveTemplate.displayName = \"MenuItemInteractiveTemplate\";\r\n","import { LucideIcon } from \"lucide-react\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport { FeatureIcon } from \"@/components/icon\";\r\nimport { richButtonStyles } from \"@/components/button/rich-button/RichButton\";\r\nimport { MenuItemSecondaryText } from \"../../components/menu-item-secondary-text/MenuItemSecondaryText\";\r\n\r\nexport type MenuItemRichTemplateProps = {\r\n\ttitle: string;\r\n\tdescription: string;\r\n\ticon: LucideIcon;\r\n};\r\n\r\nexport const MenuItemRichTemplate = ({ icon, description, title }: PropsWithChildren<MenuItemRichTemplateProps>) => {\r\n\tconst buttonStyles = richButtonStyles();\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<FeatureIcon icon={icon} size=\"sm\" className=\"bg-status-neutral-fg\" />\r\n\r\n\t\t\t<div className={buttonStyles.wrapper()}>\r\n\t\t\t\t<span className={buttonStyles.text()}>{title}</span>\r\n\t\t\t\t<MenuItemSecondaryText className={buttonStyles.description()}>{description}</MenuItemSecondaryText>\r\n\t\t\t</div>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nMenuItemRichTemplate.displayName = \"MenuItemRichTemplate\";\r\n"],"names":["menuItemActionStyles","tv","MenuItemAction","React","className","children","props","ref","jsx","MenuItem","menuItemButtonVariants","menuItemButtonStyles","MenuItemButton","variant","theme","useComponentVariant","Button","menuItemIconStyles","MenuItemIcon","icon","Icon","menuItemIconButtonStyles","MenuItemIconButton","IconButton","menuItemSecondaryTextStyles","MenuItemSecondaryText","MenuItemActionTemplate","text","shortcut","jsxs","Fragment","MenuItemText","MenuItemShortcut","menuItemCommonTemplateStyles","MenuItemCommonTemplate","isSelected","showStartCheck","showEndCheck","styles","Check","cn","menuItemInfoTemplateStyles","MenuItemInfoTemplate","description","menuItemInteractiveTemplateStyles","MenuItemInteractiveTemplate","buttonIcon","buttonOnClick","MenuItemRichTemplate","title","buttonStyles","richButtonStyles","FeatureIcon"],"mappings":";;;;;;;;;;;;;;;AAKA,MAAMA,IAAuBC,EAAG;AAAA,EAC/B,MAAM;AACP,CAAC,GAIYC,IAAiBC,EAAM;AAAA,EACnC,CAAC,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,EAAM,GAAGC,MAClC,gBAAAC,EAAAC,GAAA,EAAS,KAAAF,GAAU,WAAWP,EAAqB,EAAE,WAAAI,GAAW,GAAG,UAAU,GAAI,GAAGE,GACnF,UAAAD,EACF,CAAA;AAEF;AAEAH,EAAe,cAAc;ACTtB,MAAMQ,IAAyBT,EAAG;AAAA,EACxC,UAAU;AAAA,IACT,OAAO;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,IAAA;AAAA,EAER;AAAA,EACA,kBAAkB;AAAA,IACjB;AAAA,MACC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAAA,EACR;AAEF,CAAC,GAEKU,IAAuBV,EAAG;AAAA,EAC/B,QAAQS;AAAA,EACR,MAAM;AACP,CAAC,GAEYE,IAAiBT,EAAM;AAAA,EACnC,CAAC,EAAE,WAAAC,GAAW,SAAAS,IAAU,SAAS,GAAGP,KAASC,MAAQ;AACpD,UAAM,EAAE,SAASO,EAAM,IAAIC,EAAoB;AAG9C,WAAA,gBAAAP;AAAA,MAACQ;AAAA,MAAA;AAAA,QACA,KAAAT;AAAA,QACA,yBAAqB;AAAA,QACrB,MAAK;AAAA,QACL,SAAAM;AAAA,QACA,WAAWF,EAAqB,EAAE,WAAAP,GAAW,OAAAU,GAAO,SAAAD,GAAS;AAAA,QAC5D,GAAGP;AAAA,MAAA;AAAA,IACL;AAAA,EAAA;AAGH;AAEAM,EAAe,cAAc;AC/D7B,MAAMK,IAAqBhB,EAAG;AAAA,EAC7B,MAAM;AAAA,EACN,UAAU;AAAA,IACT,OAAO;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACV;AAEF,CAAC,GAIYiB,IAAe,CAAC,EAAE,WAAAd,GAAW,MAAAe,GAAM,GAAGb,QAA+B;AACjF,QAAM,EAAE,SAASQ,EAAM,IAAIC,EAAoB;AAExC,SAAA,gBAAAP,EAACY,GAAK,EAAA,MAAAD,GAAY,WAAWF,EAAmB,EAAE,WAAAb,GAAW,OAAAU,EAAM,CAAC,GAAI,GAAGR,EAAO,CAAA;AAC1F;AAEAY,EAAa,cAAc;ACX3B,MAAMG,IAA2BpB,EAAG;AAAA,EACnC,QAAQS;AAAA,EACR,MAAM;AACP,CAAC,GAEYY,IAAqBnB,EAAM;AAAA,EACvC,CAAC,EAAE,WAAAC,GAAW,MAAAe,GAAM,SAAAN,IAAU,SAAS,GAAGP,EAAM,GAAGC,MAAQ;AAC1D,UAAM,EAAE,SAASO,EAAM,IAAIC,EAAoB;AAG9C,WAAA,gBAAAP;AAAA,MAACe;AAAA,MAAA;AAAA,QACA,KAAAhB;AAAA,QACA,MAAAY;AAAA,QACA,yBAAqB;AAAA,QACrB,MAAK;AAAA,QACL,SAAAN;AAAA,QACA,QAAO;AAAA,QACP,WAAWQ,EAAyB,EAAE,WAAAjB,GAAW,OAAAU,GAAO,SAAAD,GAAS;AAAA,QAChE,GAAGP;AAAA,MAAA;AAAA,IACL;AAAA,EAAA;AAGH;AAEAgB,EAAmB,cAAc;AC/B1B,MAAME,IAA8BvB,EAAG;AAAA,EAC7C,MAAM;AAAA,EACN,UAAU;AAAA,IACT,OAAO;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACV;AAEF,CAAC,GAIYwB,IAAwB,CAAC,EAAE,WAAArB,GAAW,UAAAC,GAAU,GAAGC,QAA+B;AAC9F,QAAM,EAAE,SAASQ,EAAM,IAAIC,EAAoB;AAG9C,SAAA,gBAAAP,EAAC,QAAK,EAAA,WAAWgB,EAA4B,EAAE,WAAApB,GAAW,OAAAU,GAAO,GAAI,GAAGR,GACtE,UAAAD,EACF,CAAA;AAEF;AAEAoB,EAAsB,cAAc;ACb7B,MAAMC,IAAyB,CAAC,EAAE,MAAAP,GAAM,MAAAQ,GAAM,UAAAC,QAGlD,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,EAAA,gBAAAtB,EAACU,KAAa,MAAAC,GAAY;AAAA,EAC1B,gBAAAX,EAACuB,KAAc,UAAKJ,EAAA,CAAA;AAAA,EACnBC,KAAa,gBAAApB,EAAAwB,GAAA,EAAkB,UAASJ,EAAA,CAAA;AAAA,GAC1C;AAIFF,EAAuB,cAAc;ACTrC,MAAMO,IAA+BhC,EAAG;AAAA,EACvC,OAAO;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,WAAW;AAAA,EACZ;AAAA,EACA,UAAU;AAAA,IACT,YAAY;AAAA,MACX,MAAM;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IACR;AAAA,EACD;AAEF,CAAC,GASYiC,IAAyB,CAAC;AAAA,EACtC,MAAAf;AAAA,EACA,MAAAQ;AAAA,EACA,YAAAQ;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,cAAAC,IAAe;AAChB,MAAsD;AACrD,QAAMC,IAASL,EAA6B;AAE5C,SACE,gBAAAJ,EAAA,OAAA,EAAI,WAAWS,EAAO,QACrB,GAAA,UAAA;AAAA,IAAkBF,KAAA,gBAAA5B,EAACY,GAAK,EAAA,MAAMmB,GAAO,WAAWD,EAAO,MAAM,EAAE,YAAAH,EAAW,CAAC,EAAG,CAAA;AAAA,IAC9E,gBAAAN,EAAA,OAAA,EAAI,WAAWS,EAAO,eACtB,GAAA,UAAA;AAAA,MAAA,gBAAA9B,EAACU,KAAa,MAAAC,GAAY;AAAA,MAC1B,gBAAAX,EAACuB,KAAc,UAAKJ,EAAA,CAAA;AAAA,IAAA,GACrB;AAAA,IACCU,KAAiB,gBAAA7B,EAAAY,GAAA,EAAK,MAAMmB,GAAO,WAAWC,EAAGF,EAAO,UAAU,GAAGA,EAAO,MAAM,EAAE,YAAAH,EAAY,CAAA,CAAC,EAAG,CAAA;AAAA,EAAA,GACtG;AAEF;AAEAD,EAAuB,cAAc;AC7CrC,MAAMO,IAA6BxC,EAAG;AAAA,EACrC,OAAO;AAAA,IACN,OAAO;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACT,YAAY;AAAA,MACX,MAAM;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IACR;AAAA,EACD;AAEF,CAAC,GAOYyC,IAAuB,CAAC;AAAA,EACpC,aAAAC;AAAA,EACA,MAAAhB;AAAA,EACA,YAAAQ;AACD,MAAoD;AACnD,QAAMG,IAASG,EAA2B;AAE1C,SAEE,gBAAAZ,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAtB,EAAAY,GAAA,EAAK,MAAMmB,GAAO,WAAWD,EAAO,MAAM,EAAE,YAAAH,EAAY,CAAA,GAAG;AAAA,IAC5D,gBAAA3B,EAACuB,KAAc,UAAKJ,EAAA,CAAA;AAAA,IACnBgB,KAAgB,gBAAAnC,EAAAiB,GAAA,EAAuB,UAAYkB,EAAA,CAAA;AAAA,EAAA,GACrD;AAEF;AAEAD,EAAqB,cAAc;ACjCnC,MAAME,IAAoC3C,EAAG;AAAA,EAC5C,OAAO;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,QAAQ;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACT,YAAY;AAAA,MACX,MAAM;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IACR;AAAA,EACD;AAEF,CAAC,GASY4C,IAA8B,CAAC;AAAA,EAC3C,MAAAlB;AAAA,EACA,MAAAR;AAAA,EACA,YAAA2B;AAAA,EACA,eAAAC;AAAA,EACA,YAAAZ;AACD,MAA2D;AAC1D,QAAMG,IAASM,EAAkC;AAEjD,SACE,gBAAAf,EAAA,OAAA,EAAI,WAAWS,EAAO,QACtB,GAAA,UAAA;AAAA,IAAA,gBAAAT,EAAC,OAAI,EAAA,WAAWS,EAAO,eACtB,GAAA,UAAA;AAAA,MAAC,gBAAA9B,EAAAY,GAAA,EAAK,MAAMmB,GAAO,WAAWD,EAAO,MAAM,EAAE,YAAAH,EAAY,CAAA,GAAG;AAAA,MAC5D,gBAAA3B,EAACU,KAAa,MAAAC,GAAY;AAAA,MAC1B,gBAAAX,EAACuB,KAAc,UAAKJ,EAAA,CAAA;AAAA,IAAA,GACrB;AAAA,IACA,gBAAAnB,EAACc,KAAmB,MAAMwB,GAAY,SAASC,GAAe,WAAWT,EAAO,SAAU,CAAA;AAAA,EAAA,GAC3F;AAEF;AAEAO,EAA4B,cAAc;AC7CnC,MAAMG,IAAuB,CAAC,EAAE,MAAA7B,GAAM,aAAAwB,GAAa,OAAAM,QAA0D;AACnH,QAAMC,IAAeC,EAAiB;AACtC,SAEE,gBAAAtB,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAtB,EAAC4C,GAAY,EAAA,MAAAjC,GAAY,MAAK,MAAK,WAAU,wBAAuB;AAAA,IAEnE,gBAAAU,EAAA,OAAA,EAAI,WAAWqB,EAAa,QAC5B,GAAA,UAAA;AAAA,MAAA,gBAAA1C,EAAC,QAAK,EAAA,WAAW0C,EAAa,QAAS,UAAMD,GAAA;AAAA,wBAC5CxB,GAAsB,EAAA,WAAWyB,EAAa,eAAgB,UAAYP,EAAA,CAAA;AAAA,IAAA,EAC5E,CAAA;AAAA,EAAA,GACD;AAEF;AAEAK,EAAqB,cAAc;"}
1
+ {"version":3,"file":"menu-item.js","sources":["../../src/components/menu-item/MenuItemAction.tsx","../../src/components/menu-item/components/menu-item-button/MenuItemButton.tsx","../../src/components/menu-item/components/menu-item-icon/MenuItemIcon.tsx","../../src/components/menu-item/components/menu-item-icon-button/MenuItemIconButton.tsx","../../src/components/menu-item/components/menu-item-secondary-text/MenuItemSecondaryText.tsx","../../src/components/menu-item/templates/menu-item-action-template/MenuItemActionTemplate.tsx","../../src/components/menu-item/templates/menu-item-common-template/MenuItemCommonTemplate.tsx","../../src/components/menu-item/templates/menu-item-info-template/MenuItemInfoTemplate.tsx","../../src/components/menu-item/templates/menu-item-interactive-template/MenuItemInteractiveTemplate.tsx","../../src/components/menu-item/templates/menu-item-rich-template/MenuItemRichTemplate.tsx"],"sourcesContent":["import { tv } from \"tailwind-variants\";\nimport { MenuItem, MenuItemProps } from \"./MenuItem\";\nimport { PropsWithChildren } from \"react\";\nimport React from \"react\";\n\nconst menuItemActionStyles = tv({\n\tbase: \"hover:cursor-pointer focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary\"\n});\n\nexport type MenuActionItemProps = MenuItemProps;\n\nexport const MenuItemAction = React.forwardRef<HTMLDivElement, PropsWithChildren<MenuActionItemProps>>(\n\t({ className, children, ...props }, ref) => (\n\t\t<MenuItem ref={ref} className={menuItemActionStyles({ className })} tabIndex={0} {...props}>\n\t\t\t{children}\n\t\t</MenuItem>\n\t)\n);\n\nMenuItemAction.displayName = \"MenuItemAction\";\n","import { Button } from \"@/components/button\";\nimport { ButtonProps } from \"@/components/button/button/Button\";\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\n\ntype MenuItemButtonProps = Omit<ButtonProps, \"variant\" | \"status\"> & {\n\tvariant?: \"outline\" | \"ghost\" | \"text\";\n};\n\nexport const menuItemButtonVariants = tv({\n\tvariants: {\n\t\ttheme: {\n\t\t\tinverse: \"text-inverse-primary-fg\"\n\t\t},\n\t\tvariant: {\n\t\t\toutline: \"\",\n\t\t\tghost: \"\",\n\t\t\ttext: \"\",\n\t\t\tlink: \"\"\n\t\t}\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\ttheme: \"inverse\",\n\t\t\tvariant: \"outline\",\n\t\t\tclass: \"border-inverse-border bg-inverse-primary-bg active:border-inverse-border active:bg-inverse-hover lg:hover:border-inverse-border lg:hover:bg-inverse-hover\"\n\t\t},\n\t\t{\n\t\t\ttheme: \"inverse\",\n\t\t\tvariant: \"ghost\",\n\t\t\tclass: \"active:bg-inverse-hover lg:hover:bg-inverse-hover\"\n\t\t},\n\t\t{\n\t\t\ttheme: \"inverse\",\n\t\t\tvariant: \"text\",\n\t\t\tclass: \"active:text-inverse-primary-fg lg:hover:text-inverse-primary-fg\"\n\t\t},\n\t\t{\n\t\t\ttheme: \"inverse\",\n\t\t\tvariant: \"link\",\n\t\t\tclass: \"text-inverse-muted underline active:text-inverse-primary-fg lg:hover:text-inverse-primary-fg\"\n\t\t}\n\t]\n});\n\nconst menuItemButtonStyles = tv({\n\textend: menuItemButtonVariants,\n\tbase: \"h-6 rounded-sm py-1\"\n});\n\nexport const MenuItemButton = React.forwardRef<HTMLButtonElement, MenuItemButtonProps>(\n\t({ className, variant = \"ghost\", ...props }, ref) => {\n\t\tconst { variant: theme } = useComponentVariant();\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tdata-menu-item-action\n\t\t\t\tsize=\"xs\"\n\t\t\t\tvariant={variant}\n\t\t\t\tclassName={menuItemButtonStyles({ className, theme, variant })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nMenuItemButton.displayName = \"MenuItemButton\";\n","import { Icon } from \"@/components/icon\";\nimport { IconProps } from \"@/components/icon/Icon\";\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\nimport { tv } from \"tailwind-variants\";\n\nconst menuItemIconStyles = tv({\n\tbase: \"truncate text-sm text-primary-fg\",\n\tvariants: {\n\t\ttheme: {\n\t\t\tinverse: \"text-inverse-primary-fg\"\n\t\t}\n\t}\n});\n\ntype MenuItemIconProps = IconProps;\n\nexport const MenuItemIcon = ({ className, icon, ...props }: MenuItemIconProps) => {\n\tconst { variant: theme } = useComponentVariant();\n\n\treturn <Icon icon={icon} className={menuItemIconStyles({ className, theme })} {...props} />;\n};\n\nMenuItemIcon.displayName = \"MenuItemIcon\";\n","import { IconButton } from \"@/components/button\";\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\nimport { tv } from \"tailwind-variants\";\nimport React from \"react\";\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\nimport { menuItemButtonVariants } from \"../menu-item-button/MenuItemButton\";\n\ntype MenuItemIconProps = Omit<IconButtonProps, \"variant\" | \"status\"> & {\n\tvariant?: \"outline\" | \"ghost\" | \"text\";\n};\n\nconst menuItemIconButtonStyles = tv({\n\textend: menuItemButtonVariants,\n\tbase: \"h-6 w-6 rounded-sm\"\n});\n\nexport const MenuItemIconButton = React.forwardRef<HTMLButtonElement, MenuItemIconProps>(\n\t({ className, icon, variant = \"ghost\", ...props }, ref) => {\n\t\tconst { variant: theme } = useComponentVariant();\n\n\t\treturn (\n\t\t\t<IconButton\n\t\t\t\tref={ref}\n\t\t\t\ticon={icon}\n\t\t\t\tdata-menu-item-action\n\t\t\t\tsize=\"xs\"\n\t\t\t\tvariant={variant}\n\t\t\t\tstatus=\"default\"\n\t\t\t\tclassName={menuItemIconButtonStyles({ className, theme, variant })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nMenuItemIconButton.displayName = \"MenuItemIconButton\";\n","import { useComponentVariant } from \"@/providers/component-variant-context\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nexport const menuItemSecondaryTextStyles = tv({\n\tbase: \"truncate text-xs text-muted\",\n\tvariants: {\n\t\ttheme: {\n\t\t\tinverse: \"text-inverse-muted\"\n\t\t}\n\t}\n});\n\ntype MenuItemTextProps = React.HTMLAttributes<HTMLSpanElement>;\n\nexport const MenuItemSecondaryText = ({ className, children, ...props }: MenuItemTextProps) => {\n\tconst { variant: theme } = useComponentVariant();\n\n\treturn (\n\t\t<span className={menuItemSecondaryTextStyles({ className, theme })} {...props}>\n\t\t\t{children}\n\t\t</span>\n\t);\n};\n\nMenuItemSecondaryText.displayName = \"MenuItemSecondaryText\";\n","import { PropsWithChildren } from \"react\";\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\nimport { LucideIcon } from \"lucide-react\";\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\nimport { MenuItemShortcut } from \"../../components/menu-item-shortcut/MenuItemShortcut\";\n\ntype MenuItemActionTemplateProps = {\n\ticon: LucideIcon;\n\ttext: string;\n\tshortcut?: string;\n};\n\nexport const MenuItemActionTemplate = ({ icon, text, shortcut }: PropsWithChildren<MenuItemActionTemplateProps>) => {\n\treturn (\n\t\t<>\n\t\t\t<MenuItemIcon icon={icon} />\n\t\t\t<MenuItemText>{text}</MenuItemText>\n\t\t\t{shortcut && <MenuItemShortcut>{shortcut}</MenuItemShortcut>}\n\t\t</>\n\t);\n};\n\nMenuItemActionTemplate.displayName = \"MenuItemActionTemplate\";\n","import { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\nimport { Icon } from \"@/components/icon\";\nimport { Check, LucideIcon } from \"lucide-react\";\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\nimport { cn } from \"@/lib/utils\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nexport interface MenuItemCommonTemplateVariants {\n\tisSelected?: boolean;\n}\n\nconst menuItemCommonTemplateStyles = tv({\n\tslots: {\n\t\twrapper: \"flex w-full flex-row items-center gap-2\",\n\t\tcontentWrapper: \"flex flex-row items-center gap-2\",\n\t\tcheck: \"invisible\",\n\t\trightIcon: \"ml-auto\"\n\t},\n\tvariants: {\n\t\tisSelected: {\n\t\t\ttrue: {\n\t\t\t\tcheck: \"visible\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<MenuItemCommonTemplateVariants>\n});\n\ntype MenuItemCommonTemplateProps = MenuItemCommonTemplateVariants & {\n\ttext: string;\n\ticon: LucideIcon;\n\tshowStartCheck?: boolean;\n\tshowEndCheck?: boolean;\n};\n\nexport const MenuItemCommonTemplate = ({\n\ticon,\n\ttext,\n\tisSelected,\n\tshowStartCheck = false,\n\tshowEndCheck = false\n}: PropsWithChildren<MenuItemCommonTemplateProps>) => {\n\tconst styles = menuItemCommonTemplateStyles();\n\n\treturn (\n\t\t<div className={styles.wrapper()}>\n\t\t\t{showStartCheck && <Icon icon={Check} className={styles.check({ isSelected })} />}\n\t\t\t<div className={styles.contentWrapper()}>\n\t\t\t\t<MenuItemIcon icon={icon} />\n\t\t\t\t<MenuItemText>{text}</MenuItemText>\n\t\t\t</div>\n\t\t\t{showEndCheck && <Icon icon={Check} className={cn(styles.rightIcon(), styles.check({ isSelected }))} />}\n\t\t</div>\n\t);\n};\n\nMenuItemCommonTemplate.displayName = \"MenuItemCommonTemplate\";\n","import { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\nimport { MenuItemSecondaryText } from \"../../components/menu-item-secondary-text/MenuItemSecondaryText\";\nimport { Icon } from \"@/components/icon\";\nimport { Check } from \"lucide-react\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nexport interface MenuItemInfoTemplateVariants {\n\tisSelected?: boolean;\n}\n\nconst menuItemInfoTemplateStyles = tv({\n\tslots: {\n\t\tcheck: \"invisible\"\n\t},\n\tvariants: {\n\t\tisSelected: {\n\t\t\ttrue: {\n\t\t\t\tcheck: \"visible\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<MenuItemInfoTemplateVariants>\n});\n\ntype MenuItemInfoTemplateProps = MenuItemInfoTemplateVariants & {\n\ttext: string;\n\tdescription?: string;\n};\n\nexport const MenuItemInfoTemplate = ({\n\tdescription,\n\ttext,\n\tisSelected\n}: PropsWithChildren<MenuItemInfoTemplateProps>) => {\n\tconst styles = menuItemInfoTemplateStyles();\n\n\treturn (\n\t\t<>\n\t\t\t<Icon icon={Check} className={styles.check({ isSelected })} />\n\t\t\t<MenuItemText>{text}</MenuItemText>\n\t\t\t{description && <MenuItemSecondaryText>{description}</MenuItemSecondaryText>}\n\t\t</>\n\t);\n};\n\nMenuItemInfoTemplate.displayName = \"MenuItemInfoTemplate\";\n","import { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\nimport { Icon } from \"@/components/icon\";\nimport { Check, LucideIcon } from \"lucide-react\";\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\nimport { MenuItemIconButton } from \"../../components/menu-item-icon-button/MenuItemIconButton\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nexport interface MenuItemInteractiveTemplateVariants {\n\tisSelected?: boolean;\n}\n\nconst menuItemInteractiveTemplateStyles = tv({\n\tslots: {\n\t\twrapper: \"flex w-full flex-row items-center gap-2\",\n\t\tcontentWrapper: \"flex flex-row items-center gap-2\",\n\t\tcheck: \"invisible\",\n\t\tbutton: \"ml-auto\"\n\t},\n\tvariants: {\n\t\tisSelected: {\n\t\t\ttrue: {\n\t\t\t\tcheck: \"visible\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<MenuItemInteractiveTemplateVariants>\n});\n\ntype MenuItemInteractiveTemplateProps = MenuItemInteractiveTemplateVariants & {\n\ttext: string;\n\ticon: LucideIcon;\n\tbuttonIcon: LucideIcon;\n\tbuttonOnClick?: (e: React.MouseEvent) => void;\n};\n\nexport const MenuItemInteractiveTemplate = ({\n\ttext,\n\ticon,\n\tbuttonIcon,\n\tbuttonOnClick,\n\tisSelected\n}: PropsWithChildren<MenuItemInteractiveTemplateProps>) => {\n\tconst styles = menuItemInteractiveTemplateStyles();\n\n\treturn (\n\t\t<div className={styles.wrapper()}>\n\t\t\t<div className={styles.contentWrapper()}>\n\t\t\t\t<Icon icon={Check} className={styles.check({ isSelected })} />\n\t\t\t\t<MenuItemIcon icon={icon} />\n\t\t\t\t<MenuItemText>{text}</MenuItemText>\n\t\t\t</div>\n\t\t\t<MenuItemIconButton icon={buttonIcon} onClick={buttonOnClick} className={styles.button()} />\n\t\t</div>\n\t);\n};\n\nMenuItemInteractiveTemplate.displayName = \"MenuItemInteractiveTemplate\";\n","import { LucideIcon } from \"lucide-react\";\nimport { PropsWithChildren } from \"react\";\nimport { FeatureIcon } from \"@/components/icon\";\nimport { richButtonStyles } from \"@/components/button/rich-button/RichButton\";\nimport { MenuItemSecondaryText } from \"../../components/menu-item-secondary-text/MenuItemSecondaryText\";\n\nexport type MenuItemRichTemplateProps = {\n\ttitle: string;\n\tdescription: string;\n\ticon: LucideIcon;\n};\n\nexport const MenuItemRichTemplate = ({ icon, description, title }: PropsWithChildren<MenuItemRichTemplateProps>) => {\n\tconst buttonStyles = richButtonStyles();\n\treturn (\n\t\t<>\n\t\t\t<FeatureIcon icon={icon} size=\"sm\" className=\"bg-status-neutral-fg\" />\n\n\t\t\t<div className={buttonStyles.wrapper()}>\n\t\t\t\t<span className={buttonStyles.text()}>{title}</span>\n\t\t\t\t<MenuItemSecondaryText className={buttonStyles.description()}>{description}</MenuItemSecondaryText>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nMenuItemRichTemplate.displayName = \"MenuItemRichTemplate\";\n"],"names":["menuItemActionStyles","tv","MenuItemAction","React","className","children","props","ref","jsx","MenuItem","menuItemButtonVariants","menuItemButtonStyles","MenuItemButton","variant","theme","useComponentVariant","Button","menuItemIconStyles","MenuItemIcon","icon","Icon","menuItemIconButtonStyles","MenuItemIconButton","IconButton","menuItemSecondaryTextStyles","MenuItemSecondaryText","MenuItemActionTemplate","text","shortcut","jsxs","Fragment","MenuItemText","MenuItemShortcut","menuItemCommonTemplateStyles","MenuItemCommonTemplate","isSelected","showStartCheck","showEndCheck","styles","Check","cn","menuItemInfoTemplateStyles","MenuItemInfoTemplate","description","menuItemInteractiveTemplateStyles","MenuItemInteractiveTemplate","buttonIcon","buttonOnClick","MenuItemRichTemplate","title","buttonStyles","richButtonStyles","FeatureIcon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-state.js","sources":["../../src/components/page-state/context/PageStateContext.tsx","../../src/components/page-state/PageState.tsx","../../src/components/page-state/components/PageStateTitle.tsx","../../src/components/page-state/components/PageStateDescription.tsx","../../src/components/page-state/hooks/usePageStateButtonSize.tsx","../../src/components/page-state/components/PageStateCancel.tsx","../../src/components/page-state/components/PageStateAction.tsx","../../src/components/page-state/components/PageStateFeatureIcon.tsx","../../src/components/page-state/components/PageStateBoxSvg.tsx","../../src/components/page-state/components/PageStateFolderSvg.tsx","../../src/components/page-state/components/PageStateButtonGroup.tsx"],"sourcesContent":["import React, { createContext, useContext } from \"react\";\r\n\r\nexport type PageStateSize = \"sm\" | \"md\" | \"lg\";\r\n\r\nexport interface PageStateVariants {\r\n\tsize?: PageStateSize;\r\n}\r\n\r\nconst PageStateContext = createContext<PageStateVariants | undefined>(undefined);\r\n\r\ninterface PageStateProviderProps {\r\n\tsize: PageStateSize;\r\n\tchildren: React.ReactNode;\r\n}\r\n\r\nexport const PageStateProvider: React.FC<PageStateProviderProps> = ({ size, children }) => {\r\n\treturn <PageStateContext.Provider value={{ size }}>{children}</PageStateContext.Provider>;\r\n};\r\n\r\nexport const usePageStateContext = (): PageStateVariants => {\r\n\tconst context = useContext(PageStateContext);\r\n\tif (!context) {\r\n\t\tthrow new Error(\"usePageStateContext must be used within a PageStateProvider\");\r\n\t}\r\n\treturn context;\r\n};\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { PageStateProvider, PageStateSize } from \"./context/PageStateContext\";\r\n\r\nconst pageStateStyles = tv({\r\n\tbase: \"flex w-full flex-col items-center px-8\"\r\n});\r\n\r\nexport type PageStateProps = React.HTMLAttributes<HTMLDivElement> & {\r\n\tsize?: PageStateSize;\r\n};\r\n\r\nexport const PageState = React.forwardRef<HTMLDivElement, PageStateProps>(\r\n\t({ className, children, size = \"md\", ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<PageStateProvider size={size}>\r\n\t\t\t\t<div ref={ref} className={pageStateStyles({ className })} {...props}>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</PageStateProvider>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nPageState.displayName = \"PageState\";\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst pageStateTitleStyles = tv({\r\n\tbase: \"mt-5 font-semibold text-primary-fg\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"text-base\",\r\n\t\t\tmd: \"text-xl\",\r\n\t\t\tlg: \"text-2xl\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<PageStateVariants>\r\n});\r\n\r\nexport type PageStateTitleProps = React.HTMLAttributes<HTMLHeadingElement> &\r\n\tPageStateVariants & {\r\n\t\tasChild?: boolean;\r\n\t};\r\n\r\nexport const PageStateTitle = React.forwardRef<HTMLHeadingElement, PageStateTitleProps>(\r\n\t({ className, size: propSize, asChild = false, ...props }, ref) => {\r\n\t\tconst { size: contextSize } = usePageStateContext();\r\n\t\tconst size = propSize || contextSize;\r\n\r\n\t\tconst Comp = asChild ? Slot : \"h2\";\r\n\t\treturn <Comp ref={ref} className={pageStateTitleStyles({ className, size })} {...props} />;\r\n\t}\r\n);\r\n\r\nPageStateTitle.displayName = \"PageStateTitle\";\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst pageStateDescriptionStyles = tv({\r\n\tbase: \"mt-2.5 text-center text-muted\",\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<PageStateVariants>\r\n});\r\n\r\nexport type PageStateDescriptionProps = React.HTMLAttributes<HTMLDivElement> &\r\n\tPageStateVariants & {\r\n\t\tasChild?: boolean;\r\n\t};\r\n\r\nexport const PageStateDescription = React.forwardRef<HTMLDivElement, PageStateDescriptionProps>(\r\n\t({ className, size: propSize, asChild = false, children, ...props }, ref) => {\r\n\t\tconst { size: contextSize } = usePageStateContext();\r\n\t\tconst size = propSize || contextSize;\r\n\r\n\t\tconst Comp = asChild ? Slot : \"div\";\r\n\t\treturn (\r\n\t\t\t<Comp ref={ref} className={pageStateDescriptionStyles({ className, size })} {...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\nPageStateDescription.displayName = \"PageStateDescription\";\r\n","import { usePageStateContext } from \"../context/PageStateContext\";\r\n\r\ntype ButtonSize = \"md\" | \"lg\" | \"xl\";\r\n\r\nexport const usePageStateButtonSize = (): ButtonSize => {\r\n\tconst { size } = usePageStateContext();\r\n\r\n\tswitch (size) {\r\n\t\tcase \"sm\":\r\n\t\t\treturn \"md\";\r\n\t\tcase \"lg\":\r\n\t\t\treturn \"xl\";\r\n\t\tdefault:\r\n\t\t\treturn \"lg\";\r\n\t}\r\n};\r\n","import React from \"react\";\r\nimport { Button, ButtonProps } from \"@/components/button/button/Button\";\r\nimport { usePageStateButtonSize } from \"../hooks/usePageStateButtonSize\";\r\n\r\nexport const PageStateCancel = React.forwardRef<HTMLButtonElement, ButtonProps>(({ children, size, ...props }, ref) => {\r\n\tconst buttonSize = usePageStateButtonSize();\r\n\r\n\treturn (\r\n\t\t<Button ref={ref} variant=\"outline\" size={size || buttonSize} {...props}>\r\n\t\t\t{children}\r\n\t\t</Button>\r\n\t);\r\n});\r\n\r\nPageStateCancel.displayName = \"PageStateCancel\";\r\n","import React from \"react\";\r\nimport { Button, ButtonProps } from \"@/components/button/button/Button\";\r\nimport { usePageStateButtonSize } from \"../hooks/usePageStateButtonSize\";\r\n\r\nexport const PageStateAction = React.forwardRef<HTMLButtonElement, ButtonProps>(({ children, size, ...props }, ref) => {\r\n\tconst buttonSize = usePageStateButtonSize();\r\n\r\n\treturn (\r\n\t\t<Button ref={ref} variant=\"primary\" size={size || buttonSize} {...props}>\r\n\t\t\t{children}\r\n\t\t</Button>\r\n\t);\r\n});\r\n\r\nPageStateAction.displayName = \"PageStateAction\";\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { PageStateSize, PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\r\nimport { FeatureIcon } from \"@/components/icon\";\r\nimport { FeatureIconProps } from \"@/components/icon/feature-icon/FeatureIcon\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst pageStateFeatureIconStyles = tv({\r\n\tbase: \"rounded-full bg-alpha-high-80 p-3.5 text-secondary-bg backdrop-blur-sm\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"h-12 w-12\",\r\n\t\t\tmd: \"h-14 w-14 [&>svg]:size-[1.625rem]\",\r\n\t\t\tlg: \"h-14 w-14 [&>svg]:size-[1.625rem]\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<PageStateVariants>\r\n});\r\n\r\nexport type PageStateFeatureIconProps = Omit<FeatureIconProps, \"size\"> & { size?: PageStateSize } & PageStateVariants;\r\n\r\nexport const PageStateFeatureIcon: React.FC<PageStateFeatureIconProps> = ({\r\n\tclassName,\r\n\tsize: sizeProp,\r\n\ticon,\r\n\t...props\r\n}) => {\r\n\tconst { size } = usePageStateContext();\r\n\r\n\treturn (\r\n\t\t<FeatureIcon\r\n\t\t\ticon={icon}\r\n\t\t\tclassName={pageStateFeatureIconStyles({ className, size: sizeProp || size })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nPageStateFeatureIcon.displayName = \"PageStateFeatureIcon\";\r\n","import { tv } from \"tailwind-variants\";\r\nimport { usePageStateContext } from \"../context/PageStateContext\";\r\nimport { BoxSvg } from \"@/components/images/BoxSvg\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport { PageStateFeatureIcon } from \"./PageStateFeatureIcon\";\r\n\r\nconst pageStateBoxSvgStyles = tv({\r\n\tbase: \"relative\",\r\n\tslots: {\r\n\t\ticon: \"absolute\",\r\n\t\tsvg: \"h-[168px] w-[220px]\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: {\r\n\t\t\t\tsvg: \"h-[124px] w-[164px]\",\r\n\t\t\t\ticon: \"bottom-2 right-14\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tsvg: \"h-[140px] w-[168px]\",\r\n\t\t\t\ticon: \"bottom-2.5 right-[3.625rem]\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\ticon: \"bottom-4 right-20\"\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ninterface PageStateBoxSvgProps {\r\n\ticon?: LucideIcon;\r\n}\r\n\r\nexport const PageStateBoxSvg: React.FC<PageStateBoxSvgProps> = ({ icon }) => {\r\n\tconst { size } = usePageStateContext();\r\n\tconst styles = pageStateBoxSvgStyles({ size });\r\n\r\n\treturn (\r\n\t\t<div className={styles.base()}>\r\n\t\t\t<BoxSvg className={styles.svg()} />\r\n\t\t\t{icon && <PageStateFeatureIcon className={styles.icon()} icon={icon} />}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nPageStateBoxSvg.displayName = \"PageStateBoxSvg\";\r\n","import { tv } from \"tailwind-variants\";\r\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\r\nimport { FolderSvg } from \"@/components/images/FolderSvg\";\r\nimport { PageStateFeatureIcon } from \"./PageStateFeatureIcon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst pageStateFolderSvgStyles = tv({\r\n\tbase: \"relative flex items-center justify-center\",\r\n\tslots: {\r\n\t\ticon: \"absolute\",\r\n\t\tsvg: \"h-[160px] w-[220px]\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: {\r\n\t\t\t\tsvg: \"h-[110px] w-[164px]\",\r\n\t\t\t\ticon: \"bottom-0 right-[3.625rem]\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tsvg: \"h-[128px] w-[168px]\",\r\n\t\t\t\ticon: \"bottom-2 right-[3.625rem]\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\ticon: \"bottom-4 right-[5.125rem]\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<PageStateVariants>\r\n});\r\n\r\ninterface PageStateFolderSvgProps extends PageStateVariants {\r\n\ticon?: LucideIcon;\r\n}\r\n\r\nexport const PageStateFolderSvg: React.FC<PageStateFolderSvgProps> = ({ icon, size: sizeProp }) => {\r\n\tconst { size } = usePageStateContext();\r\n\tconst styles = pageStateFolderSvgStyles({ size: sizeProp || size });\r\n\r\n\treturn (\r\n\t\t<div className={styles.base()}>\r\n\t\t\t<FolderSvg className={styles.svg()} />\r\n\t\t\t{icon && <PageStateFeatureIcon className={styles.icon()} icon={icon} />}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nPageStateFolderSvg.displayName = \"PageStateFolderSvg\";\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst pageStateButtonGroupStyles = tv({\r\n\tbase: \"mt-8 flex w-full flex-row items-center justify-center gap-3\"\r\n});\r\n\r\nexport type PageStateButtonGroupProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const PageStateButtonGroup = React.forwardRef<HTMLDivElement, PageStateButtonGroupProps>(\r\n\t({ children, className, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<div ref={ref} className={pageStateButtonGroupStyles({ className })} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nPageStateButtonGroup.displayName = \"PageStateButtonGroup\";\r\n"],"names":["PageStateContext","createContext","PageStateProvider","size","children","jsx","usePageStateContext","context","useContext","pageStateStyles","tv","PageState","React","className","props","ref","pageStateTitleStyles","PageStateTitle","propSize","asChild","contextSize","Slot","pageStateDescriptionStyles","PageStateDescription","usePageStateButtonSize","PageStateCancel","buttonSize","Button","PageStateAction","pageStateFeatureIconStyles","PageStateFeatureIcon","sizeProp","icon","FeatureIcon","pageStateBoxSvgStyles","PageStateBoxSvg","styles","jsxs","BoxSvg","pageStateFolderSvgStyles","PageStateFolderSvg","FolderSvg","pageStateButtonGroupStyles","PageStateButtonGroup"],"mappings":"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"}
1
+ {"version":3,"file":"page-state.js","sources":["../../src/components/page-state/context/PageStateContext.tsx","../../src/components/page-state/PageState.tsx","../../src/components/page-state/components/PageStateTitle.tsx","../../src/components/page-state/components/PageStateDescription.tsx","../../src/components/page-state/hooks/usePageStateButtonSize.tsx","../../src/components/page-state/components/PageStateCancel.tsx","../../src/components/page-state/components/PageStateAction.tsx","../../src/components/page-state/components/PageStateFeatureIcon.tsx","../../src/components/page-state/components/PageStateBoxSvg.tsx","../../src/components/page-state/components/PageStateFolderSvg.tsx","../../src/components/page-state/components/PageStateButtonGroup.tsx"],"sourcesContent":["import React, { createContext, useContext } from \"react\";\n\nexport type PageStateSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface PageStateVariants {\n\tsize?: PageStateSize;\n}\n\nconst PageStateContext = createContext<PageStateVariants | undefined>(undefined);\n\ninterface PageStateProviderProps {\n\tsize: PageStateSize;\n\tchildren: React.ReactNode;\n}\n\nexport const PageStateProvider: React.FC<PageStateProviderProps> = ({ size, children }) => {\n\treturn <PageStateContext.Provider value={{ size }}>{children}</PageStateContext.Provider>;\n};\n\nexport const usePageStateContext = (): PageStateVariants => {\n\tconst context = useContext(PageStateContext);\n\tif (!context) {\n\t\tthrow new Error(\"usePageStateContext must be used within a PageStateProvider\");\n\t}\n\treturn context;\n};\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { PageStateProvider, PageStateSize } from \"./context/PageStateContext\";\n\nconst pageStateStyles = tv({\n\tbase: \"flex w-full flex-col items-center px-8\"\n});\n\nexport type PageStateProps = React.HTMLAttributes<HTMLDivElement> & {\n\tsize?: PageStateSize;\n};\n\nexport const PageState = React.forwardRef<HTMLDivElement, PageStateProps>(\n\t({ className, children, size = \"md\", ...props }, ref) => {\n\t\treturn (\n\t\t\t<PageStateProvider size={size}>\n\t\t\t\t<div ref={ref} className={pageStateStyles({ className })} {...props}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</PageStateProvider>\n\t\t);\n\t}\n);\n\nPageState.displayName = \"PageState\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst pageStateTitleStyles = tv({\n\tbase: \"mt-5 font-semibold text-primary-fg\",\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"text-base\",\n\t\t\tmd: \"text-xl\",\n\t\t\tlg: \"text-2xl\"\n\t\t}\n\t} satisfies VariantsConfig<PageStateVariants>\n});\n\nexport type PageStateTitleProps = React.HTMLAttributes<HTMLHeadingElement> &\n\tPageStateVariants & {\n\t\tasChild?: boolean;\n\t};\n\nexport const PageStateTitle = React.forwardRef<HTMLHeadingElement, PageStateTitleProps>(\n\t({ className, size: propSize, asChild = false, ...props }, ref) => {\n\t\tconst { size: contextSize } = usePageStateContext();\n\t\tconst size = propSize || contextSize;\n\n\t\tconst Comp = asChild ? Slot : \"h2\";\n\t\treturn <Comp ref={ref} className={pageStateTitleStyles({ className, size })} {...props} />;\n\t}\n);\n\nPageStateTitle.displayName = \"PageStateTitle\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst pageStateDescriptionStyles = tv({\n\tbase: \"mt-2.5 text-center text-muted\",\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<PageStateVariants>\n});\n\nexport type PageStateDescriptionProps = React.HTMLAttributes<HTMLDivElement> &\n\tPageStateVariants & {\n\t\tasChild?: boolean;\n\t};\n\nexport const PageStateDescription = React.forwardRef<HTMLDivElement, PageStateDescriptionProps>(\n\t({ className, size: propSize, asChild = false, children, ...props }, ref) => {\n\t\tconst { size: contextSize } = usePageStateContext();\n\t\tconst size = propSize || contextSize;\n\n\t\tconst Comp = asChild ? Slot : \"div\";\n\t\treturn (\n\t\t\t<Comp ref={ref} className={pageStateDescriptionStyles({ className, size })} {...props}>\n\t\t\t\t{children}\n\t\t\t</Comp>\n\t\t);\n\t}\n);\n\nPageStateDescription.displayName = \"PageStateDescription\";\n","import { usePageStateContext } from \"../context/PageStateContext\";\n\ntype ButtonSize = \"md\" | \"lg\" | \"xl\";\n\nexport const usePageStateButtonSize = (): ButtonSize => {\n\tconst { size } = usePageStateContext();\n\n\tswitch (size) {\n\t\tcase \"sm\":\n\t\t\treturn \"md\";\n\t\tcase \"lg\":\n\t\t\treturn \"xl\";\n\t\tdefault:\n\t\t\treturn \"lg\";\n\t}\n};\n","import React from \"react\";\nimport { Button, ButtonProps } from \"@/components/button/button/Button\";\nimport { usePageStateButtonSize } from \"../hooks/usePageStateButtonSize\";\n\nexport const PageStateCancel = React.forwardRef<HTMLButtonElement, ButtonProps>(({ children, size, ...props }, ref) => {\n\tconst buttonSize = usePageStateButtonSize();\n\n\treturn (\n\t\t<Button ref={ref} variant=\"outline\" size={size || buttonSize} {...props}>\n\t\t\t{children}\n\t\t</Button>\n\t);\n});\n\nPageStateCancel.displayName = \"PageStateCancel\";\n","import React from \"react\";\nimport { Button, ButtonProps } from \"@/components/button/button/Button\";\nimport { usePageStateButtonSize } from \"../hooks/usePageStateButtonSize\";\n\nexport const PageStateAction = React.forwardRef<HTMLButtonElement, ButtonProps>(({ children, size, ...props }, ref) => {\n\tconst buttonSize = usePageStateButtonSize();\n\n\treturn (\n\t\t<Button ref={ref} variant=\"primary\" size={size || buttonSize} {...props}>\n\t\t\t{children}\n\t\t</Button>\n\t);\n});\n\nPageStateAction.displayName = \"PageStateAction\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { PageStateSize, PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\nimport { FeatureIcon } from \"@/components/icon\";\nimport { FeatureIconProps } from \"@/components/icon/feature-icon/FeatureIcon\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst pageStateFeatureIconStyles = tv({\n\tbase: \"rounded-full bg-alpha-high-80 p-3.5 text-secondary-bg backdrop-blur-sm\",\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"h-12 w-12\",\n\t\t\tmd: \"h-14 w-14 [&>svg]:size-[1.625rem]\",\n\t\t\tlg: \"h-14 w-14 [&>svg]:size-[1.625rem]\"\n\t\t}\n\t} satisfies VariantsConfig<PageStateVariants>\n});\n\nexport type PageStateFeatureIconProps = Omit<FeatureIconProps, \"size\"> & { size?: PageStateSize } & PageStateVariants;\n\nexport const PageStateFeatureIcon: React.FC<PageStateFeatureIconProps> = ({\n\tclassName,\n\tsize: sizeProp,\n\ticon,\n\t...props\n}) => {\n\tconst { size } = usePageStateContext();\n\n\treturn (\n\t\t<FeatureIcon\n\t\t\ticon={icon}\n\t\t\tclassName={pageStateFeatureIconStyles({ className, size: sizeProp || size })}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nPageStateFeatureIcon.displayName = \"PageStateFeatureIcon\";\n","import { tv } from \"tailwind-variants\";\nimport { usePageStateContext } from \"../context/PageStateContext\";\nimport { BoxSvg } from \"@/components/images/BoxSvg\";\nimport { LucideIcon } from \"lucide-react\";\nimport { PageStateFeatureIcon } from \"./PageStateFeatureIcon\";\n\nconst pageStateBoxSvgStyles = tv({\n\tbase: \"relative\",\n\tslots: {\n\t\ticon: \"absolute\",\n\t\tsvg: \"h-[168px] w-[220px]\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\tsvg: \"h-[124px] w-[164px]\",\n\t\t\t\ticon: \"bottom-2 right-14\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tsvg: \"h-[140px] w-[168px]\",\n\t\t\t\ticon: \"bottom-2.5 right-[3.625rem]\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\ticon: \"bottom-4 right-20\"\n\t\t\t}\n\t\t}\n\t}\n});\n\ninterface PageStateBoxSvgProps {\n\ticon?: LucideIcon;\n}\n\nexport const PageStateBoxSvg: React.FC<PageStateBoxSvgProps> = ({ icon }) => {\n\tconst { size } = usePageStateContext();\n\tconst styles = pageStateBoxSvgStyles({ size });\n\n\treturn (\n\t\t<div className={styles.base()}>\n\t\t\t<BoxSvg className={styles.svg()} />\n\t\t\t{icon && <PageStateFeatureIcon className={styles.icon()} icon={icon} />}\n\t\t</div>\n\t);\n};\n\nPageStateBoxSvg.displayName = \"PageStateBoxSvg\";\n","import { tv } from \"tailwind-variants\";\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\nimport { FolderSvg } from \"@/components/images/FolderSvg\";\nimport { PageStateFeatureIcon } from \"./PageStateFeatureIcon\";\nimport { LucideIcon } from \"lucide-react\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst pageStateFolderSvgStyles = tv({\n\tbase: \"relative flex items-center justify-center\",\n\tslots: {\n\t\ticon: \"absolute\",\n\t\tsvg: \"h-[160px] w-[220px]\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\tsvg: \"h-[110px] w-[164px]\",\n\t\t\t\ticon: \"bottom-0 right-[3.625rem]\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tsvg: \"h-[128px] w-[168px]\",\n\t\t\t\ticon: \"bottom-2 right-[3.625rem]\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\ticon: \"bottom-4 right-[5.125rem]\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<PageStateVariants>\n});\n\ninterface PageStateFolderSvgProps extends PageStateVariants {\n\ticon?: LucideIcon;\n}\n\nexport const PageStateFolderSvg: React.FC<PageStateFolderSvgProps> = ({ icon, size: sizeProp }) => {\n\tconst { size } = usePageStateContext();\n\tconst styles = pageStateFolderSvgStyles({ size: sizeProp || size });\n\n\treturn (\n\t\t<div className={styles.base()}>\n\t\t\t<FolderSvg className={styles.svg()} />\n\t\t\t{icon && <PageStateFeatureIcon className={styles.icon()} icon={icon} />}\n\t\t</div>\n\t);\n};\n\nPageStateFolderSvg.displayName = \"PageStateFolderSvg\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nconst pageStateButtonGroupStyles = tv({\n\tbase: \"mt-8 flex w-full flex-row items-center justify-center gap-3\"\n});\n\nexport type PageStateButtonGroupProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const PageStateButtonGroup = React.forwardRef<HTMLDivElement, PageStateButtonGroupProps>(\n\t({ children, className, ...props }, ref) => {\n\t\treturn (\n\t\t\t<div ref={ref} className={pageStateButtonGroupStyles({ className })} {...props}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nPageStateButtonGroup.displayName = \"PageStateButtonGroup\";\n"],"names":["PageStateContext","createContext","PageStateProvider","size","children","jsx","usePageStateContext","context","useContext","pageStateStyles","tv","PageState","React","className","props","ref","pageStateTitleStyles","PageStateTitle","propSize","asChild","contextSize","Slot","pageStateDescriptionStyles","PageStateDescription","usePageStateButtonSize","PageStateCancel","buttonSize","Button","PageStateAction","pageStateFeatureIconStyles","PageStateFeatureIcon","sizeProp","icon","FeatureIcon","pageStateBoxSvgStyles","PageStateBoxSvg","styles","jsxs","BoxSvg","pageStateFolderSvgStyles","PageStateFolderSvg","FolderSvg","pageStateButtonGroupStyles","PageStateButtonGroup"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"portal-container.js","sources":["../../src/components/portal-container/PortalContainer.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cn } from \"@/lib/utils\";\r\nimport { portalContainerEvents } from \"./portalContainerEvents\";\r\n\r\n/**\r\n * Компонент-контейнер для портала с поддержкой изолированных стилей.\r\n *\r\n * Предоставляет обёртку с классом 'ui-kit' и data-атрибутом для плавающего контента\r\n * (Dialog, Dropdown, Select, Popover, Drawer, Tooltip, Sheet, AlertDialog).\r\n *\r\n * Следует использовать только если применяются изолированные стили.\r\n */\r\nexport const PortalContainer = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<\"div\">>(\r\n\t({ children, className, ...props }, ref) => {\r\n\t\tReact.useEffect(() => {\r\n\t\t\tportalContainerEvents.notify(true);\r\n\t\t\treturn () => portalContainerEvents.notify(false);\r\n\t\t}, []);\r\n\r\n\t\treturn (\r\n\t\t\t<div ref={ref} className={cn(\"ui-kit fixed left-0 top-0\", className)} data-portal-container {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nPortalContainer.displayName = \"PortalContainer\";\r\n"],"names":["PortalContainer","React","children","className","props","ref","portalContainerEvents","jsx","cn"],"mappings":";;;;;AAYO,MAAMA,IAAkBC,EAAM;AAAA,EACpC,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAASC,OACnCJ,EAAM,UAAU,OACfK,EAAsB,OAAO,EAAI,GAC1B,MAAMA,EAAsB,OAAO,EAAK,IAC7C,EAAE,GAGH,gBAAAC,EAAA,OAAA,EAAI,KAAAF,GAAU,WAAWG,EAAG,6BAA6BL,CAAS,GAAG,yBAAqB,IAAE,GAAGC,GAC9F,UAAAF,EACF,CAAA;AAGH;AAEAF,EAAgB,cAAc;"}
1
+ {"version":3,"file":"portal-container.js","sources":["../../src/components/portal-container/PortalContainer.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { portalContainerEvents } from \"./portalContainerEvents\";\n\n/**\n * Компонент-контейнер для портала с поддержкой изолированных стилей.\n *\n * Предоставляет обёртку с классом 'ui-kit' и data-атрибутом для плавающего контента\n * (Dialog, Dropdown, Select, Popover, Drawer, Tooltip, Sheet, AlertDialog).\n *\n * Следует использовать только если применяются изолированные стили.\n */\nexport const PortalContainer = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<\"div\">>(\n\t({ children, className, ...props }, ref) => {\n\t\tReact.useEffect(() => {\n\t\t\tportalContainerEvents.notify(true);\n\t\t\treturn () => portalContainerEvents.notify(false);\n\t\t}, []);\n\n\t\treturn (\n\t\t\t<div ref={ref} className={cn(\"ui-kit fixed left-0 top-0\", className)} data-portal-container {...props}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nPortalContainer.displayName = \"PortalContainer\";\n"],"names":["PortalContainer","React","children","className","props","ref","portalContainerEvents","jsx","cn"],"mappings":";;;;;AAYO,MAAMA,IAAkBC,EAAM;AAAA,EACpC,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAASC,OACnCJ,EAAM,UAAU,OACfK,EAAsB,OAAO,EAAI,GAC1B,MAAMA,EAAsB,OAAO,EAAK,IAC7C,EAAE,GAGH,gBAAAC,EAAA,OAAA,EAAI,KAAAF,GAAU,WAAWG,EAAG,6BAA6BL,CAAS,GAAG,yBAAqB,IAAE,GAAGC,GAC9F,UAAAF,EACF,CAAA;AAGH;AAEAF,EAAgB,cAAc;"}
@@ -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\";\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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"}
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 +1 @@
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
+ {"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":"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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\";\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;"}
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 +1 @@
1
- {"version":3,"file":"radio-group.js","sources":["../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/circle.js","../../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":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Circle = createLucideIcon(\"Circle\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]\n]);\n\nexport { Circle as default };\n//# sourceMappingURL=circle.js.map\n","\"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\";\r\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\r\nimport { Circle } from \"lucide-react\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport type RadioGroupItemProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>;\r\n\r\nexport const radioGroupItemStyles = tv({\r\n\tslots: {\r\n\t\titem: [\r\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\",\r\n\t\t\t\"hover:border-muted hover:shadow-soft-base\",\r\n\t\t\t\"focus:outline-none focus-visible:shadow-focus\",\r\n\t\t\t\"disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-primary-border\"\r\n\t\t],\r\n\t\tindicator: \"flex items-center justify-center\",\r\n\t\ticon: \"h-2 w-2 fill-secondary-bg\"\r\n\t}\r\n});\r\n\r\nexport const RadioGroupItem = React.forwardRef<React.ElementRef<typeof RadioGroupPrimitive.Item>, RadioGroupItemProps>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst styles = radioGroupItemStyles();\r\n\r\n\t\treturn (\r\n\t\t\t<RadioGroupPrimitive.Item ref={ref} className={styles.item({ className })} {...props}>\r\n\t\t\t\t<RadioGroupPrimitive.Indicator className={styles.indicator()}>\r\n\t\t\t\t\t<Icon icon={Circle} className={styles.icon()} />\r\n\t\t\t\t</RadioGroupPrimitive.Indicator>\r\n\t\t\t</RadioGroupPrimitive.Item>\r\n\t\t);\r\n\t}\r\n);\r\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\r\n"],"names":["Circle","createLucideIcon","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"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"radio-group.js","sources":["../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/circle.js","../../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":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Circle = createLucideIcon(\"Circle\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]\n]);\n\nexport { Circle as default };\n//# sourceMappingURL=circle.js.map\n","\"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 hover:shadow-soft-base\",\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":["Circle","createLucideIcon","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"],"mappings":"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","x_google_ignoreList":[0,1]}