ics-ui-kit 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -36
- package/dist/AlertContext-CxjW1LVL.js.map +1 -1
- package/dist/AlertIcon-5B6AgZpe.js.map +1 -1
- package/dist/Button-Dg89xRSi.js.map +1 -1
- package/dist/ButtonBase-e6qyv6mD.js.map +1 -1
- package/dist/CheckboxField-cX09-eBX.js.map +1 -1
- package/dist/Command-DrFVm_8w.js +562 -0
- package/dist/Command-DrFVm_8w.js.map +1 -0
- package/dist/ComponentVariantProvider-brk0g-hm.js +9 -0
- package/dist/ComponentVariantProvider-brk0g-hm.js.map +1 -0
- package/dist/Description-BTPMlTT-.js.map +1 -1
- package/dist/{Dialog-ByiJIDhl.js → Dialog-Bs1B5Iu8.js} +2 -2
- package/dist/Dialog-Bs1B5Iu8.js.map +1 -0
- package/dist/Divider-DPW5ZhZ8.js.map +1 -1
- package/dist/EmptyState-DRKjscH-.js.map +1 -1
- package/dist/ErrorState-B26k67-z.js.map +1 -1
- package/dist/FeatureIcon-BGE0Orkc.js.map +1 -1
- package/dist/Field-BiIWtq9o.js.map +1 -1
- package/dist/FieldLabel-QJ4rJFOi.js.map +1 -1
- package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
- package/dist/FormFooterTemplate-DPB6Dkxn.js.map +1 -1
- package/dist/FormHeader--F6b2aRk.js.map +1 -1
- package/dist/FormStack-DO15vBgd.js.map +1 -1
- package/dist/HintState-BxrCAWqq.js.map +1 -1
- package/dist/Icon-DH3ev9GK.js.map +1 -1
- package/dist/IconButton-DwkpNgn3.js.map +1 -1
- package/dist/IconTooltip-CKJKGHbk.js.map +1 -1
- package/dist/Indicator-AqxHWPA9.js.map +1 -1
- package/dist/InputGroup-BvD9Igmt.js.map +1 -1
- package/dist/InputOTP-B2e1nfSO.js.map +1 -1
- package/dist/Loader-BpHiL6W-.js.map +1 -1
- package/dist/MenuItem-d19Ty84F.js +39 -0
- package/dist/MenuItem-d19Ty84F.js.map +1 -0
- package/dist/MenuItemShortcut-D1faeIXp.js +21 -0
- package/dist/MenuItemShortcut-D1faeIXp.js.map +1 -0
- package/dist/MenuItemText-CRpaPbvg.js +20 -0
- package/dist/MenuItemText-CRpaPbvg.js.map +1 -0
- package/dist/Overlay-CVt011mY.js +28 -0
- package/dist/Overlay-CVt011mY.js.map +1 -0
- package/dist/Popover-Dvr7y0YY.js.map +1 -1
- package/dist/RichButton-DuPTenmS.js.map +1 -1
- package/dist/ScrollArea-CuuTeDn3.js.map +1 -1
- package/dist/ScrollShadowContainer-DdrnF8qU.js.map +1 -1
- package/dist/SearchSelectTag-DFCX9zT1.js.map +1 -1
- package/dist/{Select-DRwv6-eZ.js → Select-B2WcoFf5.js} +2 -2
- package/dist/Select-B2WcoFf5.js.map +1 -0
- package/dist/{Sheet-rtwmzm2-.js → Sheet-zTMuP7C8.js} +2 -2
- package/dist/Sheet-zTMuP7C8.js.map +1 -0
- package/dist/Shortcut-D8L15_ed.js.map +1 -1
- package/dist/Skeleton-y6I-i9q5.js.map +1 -1
- package/dist/Tag-DdHXTyKF.js.map +1 -1
- package/dist/Text-DeBE8AKl.js.map +1 -1
- package/dist/TextInput-Cj50ImXi.js.map +1 -1
- package/dist/TextOverflowTooltip-DlUgic5y.js.map +1 -1
- package/dist/Toggle-v_HT3Gm2.js.map +1 -1
- package/dist/Tooltip-C4rVuWr4.js.map +1 -1
- package/dist/TriggerButton-CfDObWP9.js.map +1 -1
- package/dist/blocks/auth/otp-form.js.map +1 -1
- package/dist/cn-dsXlqdJg.js.map +1 -1
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/banner.js.map +1 -1
- package/dist/components/breadcrumb.js.map +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/color-tile.js.map +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/container.js.map +1 -1
- package/dist/components/counter.js.map +1 -1
- package/dist/components/dialog.js +2 -2
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/divider.js.map +1 -1
- package/dist/components/drawer.js +1 -1
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/dropdown/Dropdown.d.ts +1 -0
- package/dist/components/dropdown/Dropdown.stories.d.ts +1 -0
- package/dist/components/dropdown.js +603 -543
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/error-state.js.map +1 -1
- package/dist/components/file-upload.js.map +1 -1
- package/dist/components/form.js.map +1 -1
- package/dist/components/glass-toolbar/GlassToolbar.stories.d.ts +1 -0
- package/dist/components/glass-toolbar.js.map +1 -1
- package/dist/components/image-placeholder.js.map +1 -1
- package/dist/components/image-preview.js.map +1 -1
- package/dist/components/image-uploader.js.map +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/menu-item/MenuItem.d.ts +12 -5
- package/dist/components/menu-item/index.d.ts +1 -1
- package/dist/components/menu-item.js +91 -90
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/overlay.js +1 -1
- package/dist/components/page-state.js.map +1 -1
- package/dist/components/portal-container.js.map +1 -1
- package/dist/components/progress-circle.js.map +1 -1
- package/dist/components/progress.js.map +1 -1
- package/dist/components/prose.js.map +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/scheduler.js.map +1 -1
- package/dist/components/search-select.js +3 -3
- package/dist/components/search-select.js.map +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/sidebar.js +23 -23
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/slider.js.map +1 -1
- package/dist/components/stepper.js.map +1 -1
- package/dist/components/switch.js +47 -47
- package/dist/components/switch.js.map +1 -1
- package/dist/components/system-state.js.map +1 -1
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag-input.js +1 -1
- package/dist/components/tag-input.js.map +1 -1
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/timer.js.map +1 -1
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toolbar.js.map +1 -1
- package/dist/design-tokens.source.json +1 -0
- package/dist/formatBytes-C4QXq5lC.js.map +1 -1
- package/dist/index-0ioNhtNM.js.map +1 -1
- package/dist/index-437EL2iq.js.map +1 -1
- package/dist/index-BDrapWDv.js.map +1 -1
- package/dist/index-BGQepRFJ.js.map +1 -1
- package/dist/index-BVqs-uqP.js.map +1 -1
- package/dist/index-BZPx6jYI.js.map +1 -1
- package/dist/index-Bb23HztA.js.map +1 -1
- package/dist/index-BpWB3aFK.js.map +1 -1
- package/dist/index-ByaXH_ih.js.map +1 -1
- package/dist/index-BzCriPiK.js.map +1 -1
- package/dist/index-CCKe-Mpx.js.map +1 -1
- package/dist/index-CFaU3UXv.js.map +1 -1
- package/dist/index-CLuiUUQ8.js.map +1 -1
- package/dist/index-CQD-Njgt.js.map +1 -1
- package/dist/index-CmBeyp2d.js.map +1 -1
- package/dist/index-DFZozV_h.js.map +1 -1
- package/dist/index-DHsfW5Rj.js.map +1 -1
- package/dist/index-DHyZ_0Ut.js.map +1 -1
- package/dist/index-DLcqcWxM.js.map +1 -1
- package/dist/index-DRo26PBK.js.map +1 -1
- package/dist/index-DnnQs07z.js.map +1 -1
- package/dist/index-Uiy0Xwy2.js.map +1 -1
- package/dist/index-_ITz1IyW.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inputBaseStyles-DbzD_jvq.js.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/providers/component-variant-context/ComponentVariantProvider.d.ts +41 -4
- package/dist/providers/component-variant-context/index.d.ts +1 -1
- package/dist/providers/component-variant-context.js +4 -3
- package/dist/styles-scoped.css +6392 -6348
- package/dist/styles.css +6131 -6087
- package/dist/theme.css +362 -362
- package/dist/types/css.d.ts +4 -4
- package/dist/useBreakpoints-D8wKOvil.js.map +1 -1
- package/dist/useDebounce-BRah78CF.js.map +1 -1
- package/dist/useFileUpload-Bnl3P8mP.js.map +1 -1
- package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
- package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
- package/dist/usePortalContainer-ae6EzS08.js.map +1 -1
- package/dist/vendors/tanstack/react-table.js.map +1 -1
- package/dist/zod-BMNoK3aM.js.map +1 -1
- package/package.json +183 -183
- package/tailwind.preset.js +448 -448
- package/dist/Command-BhbfL5wm.js +0 -554
- package/dist/Command-BhbfL5wm.js.map +0 -1
- package/dist/ComponentVariantProvider-B0SFUaXB.js +0 -8
- package/dist/ComponentVariantProvider-B0SFUaXB.js.map +0 -1
- package/dist/Dialog-ByiJIDhl.js.map +0 -1
- package/dist/MenuItem-pvsONHlh.js +0 -32
- package/dist/MenuItem-pvsONHlh.js.map +0 -1
- package/dist/MenuItemShortcut-DgPol9Nz.js +0 -21
- package/dist/MenuItemShortcut-DgPol9Nz.js.map +0 -1
- package/dist/MenuItemText-7uPl9P3z.js +0 -20
- package/dist/MenuItemText-7uPl9P3z.js.map +0 -1
- package/dist/Overlay-2XMlxApi.js +0 -28
- package/dist/Overlay-2XMlxApi.js.map +0 -1
- package/dist/Select-DRwv6-eZ.js.map +0 -1
- package/dist/Sheet-rtwmzm2-.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-circle.js","sources":["../../src/components/progress-circle/ProgressCircle.tsx","../../src/components/progress-circle/components/progress-circle-description/ProgressCircleDescription.tsx","../../src/components/progress-circle/components/progress-circle-text/ProgressCircleTitle.tsx","../../src/components/progress-circle/components/progress-circle-icon-button/ProgressCircleIconButton.tsx","../../src/components/progress-circle/templates/ProgressCircleTemplate.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { tv, VariantProps } from \"tailwind-variants\";\n\nconst progressCircleVariants = tv({\n\tslots: {\n\t\tsvg: \"-rotate-90 transform\",\n\t\ttrack: \"fill-secondary-bg-hover\",\n\t\tindicator: \"fill-none stroke-current text-primary-accent transition-all duration-500 ease-out\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\txs: {\n\t\t\t\tsvg: \"h-10 w-10\"\n\t\t\t},\n\t\t\tsm: {\n\t\t\t\tsvg: \"h-[3.75rem] w-[3.75rem]\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tsvg: \"h-20 w-20\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\tsvg: \"h-[7.5rem] w-[7.5rem]\"\n\t\t\t},\n\t\t\txl: {\n\t\t\t\tsvg: \"h-[11.25rem] w-[11.25rem]\"\n\t\t\t}\n\t\t},\n\t\tisIndeterminate: {\n\t\t\ttrue: {\n\t\t\t\tindicator: \"origin-center animate-spin duration-1000\"\n\t\t\t}\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressCircleProps = VariantProps<typeof progressCircleVariants> &\n\tReact.HTMLAttributes<SVGSVGElement> & {\n\t\t/** Максимальное значение прогресса. По умолчанию 100 */\n\t\tmax?: number;\n\t\t/** Значение прогресса от 0 до max. Если не указано или null, считается равным 0 */\n\t\tvalue?: number | null;\n\t\t/** Индикатор неопределенного состояния прогресса */\n\t\tindeterminate?: boolean;\n\t\t/** Классы для индикатора */\n\t\tindicatorClassName?: string;\n\t};\n\nexport const ProgressCircle = React.forwardRef<SVGSVGElement, ProgressCircleProps>(\n\t({ size, max = 100, value, indeterminate = false, indicatorClassName }, ref) => {\n\t\tconst styles = progressCircleVariants({ size, isIndeterminate: indeterminate });\n\t\tconst currentValue = indeterminate ? null : (value ?? 0);\n\n\t\tconst radius = 84;\n\t\tconst circumference = 2 * Math.PI * radius;\n\n\t\tconst progressData = useMemo(() => {\n\t\t\tif (indeterminate) {\n\t\t\t\treturn {\n\t\t\t\t\tstrokeDasharray: `${circumference * 0.25} ${circumference * 0.75}`,\n\t\t\t\t\tstrokeDashoffset: 0,\n\t\t\t\t\tpercentage: 0\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst safeMax = max <= 0 ? 100 : max;\n\t\t\tconst safeValue = Math.max(0, Math.min(safeMax, currentValue ?? 0));\n\t\t\tconst percentage = (safeValue / safeMax) * 100;\n\t\t\tconst progress = (safeValue / safeMax) * circumference;\n\t\t\tconst dashOffset = circumference - progress;\n\n\t\t\treturn {\n\t\t\t\tstrokeDasharray: circumference,\n\t\t\t\tstrokeDashoffset: dashOffset,\n\t\t\t\tpercentage: Math.round(percentage)\n\t\t\t};\n\t\t}, [circumference, currentValue, max, indeterminate]);\n\n\t\treturn (\n\t\t\t<svg\n\t\t\t\tref={ref}\n\t\t\t\tclassName={styles.svg()}\n\t\t\t\tviewBox=\"0 0 180 180\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\taria-valuenow={indeterminate ? undefined : progressData.percentage}\n\t\t\t\taria-valuemin={0}\n\t\t\t\taria-valuemax={100}\n\t\t\t\tdata-slot=\"progress-circle\"\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\td=\"M180 90C180 139.706 139.706 180 90 180C40.2944 180 0 139.706 0 90C0 40.2944 40.2944 0 90 0C139.706 0 180 40.2944 180 90ZM11.997 90C11.997 133.08 46.9201 168.003 90 168.003C133.80 168.003 168.003 133.08 168.003 90C168.003 46.9201 133.08 11.997 90 11.997C46.9201 11.997 11.997 46.9201 11.997 90Z\"\n\t\t\t\t\tclassName={styles.track()}\n\t\t\t\t/>\n\n\t\t\t\t<circle\n\t\t\t\t\tclassName={styles.indicator({ className: indicatorClassName, isIndeterminate: indeterminate })}\n\t\t\t\t\tcx=\"90\"\n\t\t\t\t\tcy=\"90\"\n\t\t\t\t\tr=\"84\"\n\t\t\t\t\tstrokeWidth=\"12\"\n\t\t\t\t\tstrokeDasharray={progressData.strokeDasharray}\n\t\t\t\t\tstrokeDashoffset={progressData.strokeDashoffset}\n\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\tdata-slot=\"progress-circle-indicator\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t);\n\t}\n);\n\nProgressCircle.displayName = \"ProgressCircle\";\n","import React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nconst progressCircleDescriptionStyles = tv({\n\tbase: \"text-xs text-muted\"\n});\n\nexport type ProgressCircleDescriptionProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const ProgressCircleDescription = React.forwardRef<\n\tHTMLDivElement,\n\tPropsWithChildren<ProgressCircleDescriptionProps>\n>(({ className, children, ...props }, ref) => {\n\treturn (\n\t\t<span className={progressCircleDescriptionStyles({ className })} ref={ref} {...props}>\n\t\t\t{children}\n\t\t</span>\n\t);\n});\n\nProgressCircleDescription.displayName = \"ProgressCircleDescription\";\n","import React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport { tv, VariantProps } from \"tailwind-variants\";\n\nconst progressCircleTitleStyles = tv({\n\tbase: \"font-semibold text-primary-fg\",\n\tvariants: {\n\t\tsize: {\n\t\t\txs: \"text-[0.625rem] leading-4\",\n\t\t\tsm: \"text-sm\",\n\t\t\tmd: \"text-base\",\n\t\t\tlg: \"text-2xl\",\n\t\t\txl: \"text-4xl\"\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressCircleTitleProps = VariantProps<typeof progressCircleTitleStyles> &\n\tReact.HTMLAttributes<HTMLDivElement>;\n\nexport const ProgressCircleTitle = React.forwardRef<HTMLDivElement, PropsWithChildren<ProgressCircleTitleProps>>(\n\t({ className, size, children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<span className={progressCircleTitleStyles({ className, size })} ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t);\n\t}\n);\n\nProgressCircleTitle.displayName = \"ProgressCircleTitle\";\n","import { IconButton } from \"@/components/button\";\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\nimport React from \"react\";\nimport { tv, VariantProps } from \"tailwind-variants\";\n\nconst progressCircleIconButtonVariants = tv({\n\tslots: {\n\t\tbase: \"p-0.5 text-muted\",\n\t\ticon: \"h-full w-full\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\txs: {\n\t\t\t\tbase: \"h-4 w-4\"\n\t\t\t},\n\t\t\tsm: {\n\t\t\t\tbase: \"h-5 w-5\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tbase: \"h-[1.375rem] w-[1.375rem]\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\tbase: \"h-8 w-8\"\n\t\t\t},\n\t\t\txl: {\n\t\t\t\tbase: \"h-11 w-11\"\n\t\t\t}\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressCircleIconButtonProps = VariantProps<typeof progressCircleIconButtonVariants> & IconButtonProps;\n\nexport const ProgressCircleIconButton: React.FC<ProgressCircleIconButtonProps> = ({\n\tclassName,\n\tsize,\n\ticon,\n\t...props\n}) => {\n\tconst styles = progressCircleIconButtonVariants();\n\treturn (\n\t\t<IconButton\n\t\t\ticon={icon}\n\t\t\tvariant=\"text\"\n\t\t\tclassName={styles.base({ className, size })}\n\t\t\ticonClassName={styles.icon()}\n\t\t\tsize={size}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nProgressCircleIconButton.displayName = \"ProgressCircleIconButton\";\n","import { tv } from \"tailwind-variants\";\nimport { ProgressCircle } from \"../ProgressCircle\";\nimport { ProgressCircleDescription } from \"../components/progress-circle-description/ProgressCircleDescription\";\nimport { ProgressCircleTitle } from \"../components/progress-circle-text/ProgressCircleTitle\";\nimport { ProgressCircleIconButton } from \"../components/progress-circle-icon-button/ProgressCircleIconButton\";\nimport { RotateCw } from \"lucide-react\";\n\nconst progressCircleTemplateStyles = tv({\n\tslots: {\n\t\twrap: \"relative w-fit\",\n\t\theader: \"absolute inset-0 z-10 flex flex-col items-center justify-center\"\n\t}\n});\n\nexport type ProgressCircleTemplateProps = {\n\tsize?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\tvalue?: number;\n\tmax?: number;\n\tindeterminate?: boolean;\n\tdescription?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\tonRetry?: (e: React.MouseEvent<HTMLElement>) => void;\n};\n\nexport const ProgressCircleTemplate = (props: ProgressCircleTemplateProps) => {\n\tconst { size, value, max, indeterminate, description, title, onRetry } = props;\n\tconst shouldShowDescription = description && ![\"xs\", \"sm\"].includes(size as string);\n\tconst styles = progressCircleTemplateStyles({ size });\n\n\treturn (\n\t\t<div className={styles.wrap()}>\n\t\t\t<ProgressCircle value={value} max={max} indeterminate={indeterminate} size={size} />\n\t\t\t<div className={styles.header()}>\n\t\t\t\t{title && <ProgressCircleTitle size={size}>{title}</ProgressCircleTitle>}\n\t\t\t\t{onRetry && <ProgressCircleIconButton size={size} icon={RotateCw} onClick={onRetry} />}\n\t\t\t\t{shouldShowDescription && <ProgressCircleDescription>{description}</ProgressCircleDescription>}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nProgressCircleTemplate.displayName = \"ProgressCircleTemplate\";\n"],"names":["progressCircleVariants","tv","ProgressCircle","React","size","max","value","indeterminate","indicatorClassName","ref","styles","currentValue","circumference","progressData","useMemo","safeMax","safeValue","percentage","progress","dashOffset","jsxs","jsx","progressCircleDescriptionStyles","ProgressCircleDescription","className","children","props","progressCircleTitleStyles","ProgressCircleTitle","progressCircleIconButtonVariants","ProgressCircleIconButton","icon","IconButton","progressCircleTemplateStyles","ProgressCircleTemplate","description","title","onRetry","shouldShowDescription","RotateCw"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"progress-circle.js","sources":["../../src/components/progress-circle/ProgressCircle.tsx","../../src/components/progress-circle/components/progress-circle-description/ProgressCircleDescription.tsx","../../src/components/progress-circle/components/progress-circle-text/ProgressCircleTitle.tsx","../../src/components/progress-circle/components/progress-circle-icon-button/ProgressCircleIconButton.tsx","../../src/components/progress-circle/templates/ProgressCircleTemplate.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\n\r\nconst progressCircleVariants = tv({\r\n\tslots: {\r\n\t\tsvg: \"-rotate-90 transform\",\r\n\t\ttrack: \"fill-secondary-bg-hover\",\r\n\t\tindicator: \"fill-none stroke-current text-primary-accent transition-all duration-500 ease-out\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\txs: {\r\n\t\t\t\tsvg: \"h-10 w-10\"\r\n\t\t\t},\r\n\t\t\tsm: {\r\n\t\t\t\tsvg: \"h-[3.75rem] w-[3.75rem]\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tsvg: \"h-20 w-20\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\tsvg: \"h-[7.5rem] w-[7.5rem]\"\r\n\t\t\t},\r\n\t\t\txl: {\r\n\t\t\t\tsvg: \"h-[11.25rem] w-[11.25rem]\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tisIndeterminate: {\r\n\t\t\ttrue: {\r\n\t\t\t\tindicator: \"origin-center animate-spin duration-1000\"\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleProps = VariantProps<typeof progressCircleVariants> &\r\n\tReact.HTMLAttributes<SVGSVGElement> & {\r\n\t\t/** Максимальное значение прогресса. По умолчанию 100 */\r\n\t\tmax?: number;\r\n\t\t/** Значение прогресса от 0 до max. Если не указано или null, считается равным 0 */\r\n\t\tvalue?: number | null;\r\n\t\t/** Индикатор неопределенного состояния прогресса */\r\n\t\tindeterminate?: boolean;\r\n\t\t/** Классы для индикатора */\r\n\t\tindicatorClassName?: string;\r\n\t};\r\n\r\nexport const ProgressCircle = React.forwardRef<SVGSVGElement, ProgressCircleProps>(\r\n\t({ size, max = 100, value, indeterminate = false, indicatorClassName }, ref) => {\r\n\t\tconst styles = progressCircleVariants({ size, isIndeterminate: indeterminate });\r\n\t\tconst currentValue = indeterminate ? null : (value ?? 0);\r\n\r\n\t\tconst radius = 84;\r\n\t\tconst circumference = 2 * Math.PI * radius;\r\n\r\n\t\tconst progressData = useMemo(() => {\r\n\t\t\tif (indeterminate) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstrokeDasharray: `${circumference * 0.25} ${circumference * 0.75}`,\r\n\t\t\t\t\tstrokeDashoffset: 0,\r\n\t\t\t\t\tpercentage: 0\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tconst safeMax = max <= 0 ? 100 : max;\r\n\t\t\tconst safeValue = Math.max(0, Math.min(safeMax, currentValue ?? 0));\r\n\t\t\tconst percentage = (safeValue / safeMax) * 100;\r\n\t\t\tconst progress = (safeValue / safeMax) * circumference;\r\n\t\t\tconst dashOffset = circumference - progress;\r\n\r\n\t\t\treturn {\r\n\t\t\t\tstrokeDasharray: circumference,\r\n\t\t\t\tstrokeDashoffset: dashOffset,\r\n\t\t\t\tpercentage: Math.round(percentage)\r\n\t\t\t};\r\n\t\t}, [circumference, currentValue, max, indeterminate]);\r\n\r\n\t\treturn (\r\n\t\t\t<svg\r\n\t\t\t\tref={ref}\r\n\t\t\t\tclassName={styles.svg()}\r\n\t\t\t\tviewBox=\"0 0 180 180\"\r\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\t\taria-valuenow={indeterminate ? undefined : progressData.percentage}\r\n\t\t\t\taria-valuemin={0}\r\n\t\t\t\taria-valuemax={100}\r\n\t\t\t\tdata-slot=\"progress-circle\"\r\n\t\t\t>\r\n\t\t\t\t<path\r\n\t\t\t\t\td=\"M180 90C180 139.706 139.706 180 90 180C40.2944 180 0 139.706 0 90C0 40.2944 40.2944 0 90 0C139.706 0 180 40.2944 180 90ZM11.997 90C11.997 133.08 46.9201 168.003 90 168.003C133.80 168.003 168.003 133.08 168.003 90C168.003 46.9201 133.08 11.997 90 11.997C46.9201 11.997 11.997 46.9201 11.997 90Z\"\r\n\t\t\t\t\tclassName={styles.track()}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t<circle\r\n\t\t\t\t\tclassName={styles.indicator({ className: indicatorClassName, isIndeterminate: indeterminate })}\r\n\t\t\t\t\tcx=\"90\"\r\n\t\t\t\t\tcy=\"90\"\r\n\t\t\t\t\tr=\"84\"\r\n\t\t\t\t\tstrokeWidth=\"12\"\r\n\t\t\t\t\tstrokeDasharray={progressData.strokeDasharray}\r\n\t\t\t\t\tstrokeDashoffset={progressData.strokeDashoffset}\r\n\t\t\t\t\tstrokeLinecap=\"round\"\r\n\t\t\t\t\tdata-slot=\"progress-circle-indicator\"\r\n\t\t\t\t/>\r\n\t\t\t</svg>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nProgressCircle.displayName = \"ProgressCircle\";\r\n","import React from \"react\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst progressCircleDescriptionStyles = tv({\r\n\tbase: \"text-xs text-muted\"\r\n});\r\n\r\nexport type ProgressCircleDescriptionProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const ProgressCircleDescription = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tPropsWithChildren<ProgressCircleDescriptionProps>\r\n>(({ className, children, ...props }, ref) => {\r\n\treturn (\r\n\t\t<span className={progressCircleDescriptionStyles({ className })} ref={ref} {...props}>\r\n\t\t\t{children}\r\n\t\t</span>\r\n\t);\r\n});\r\n\r\nProgressCircleDescription.displayName = \"ProgressCircleDescription\";\r\n","import React from \"react\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\n\r\nconst progressCircleTitleStyles = tv({\r\n\tbase: \"font-semibold text-primary-fg\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\txs: \"text-[0.625rem] leading-4\",\r\n\t\t\tsm: \"text-sm\",\r\n\t\t\tmd: \"text-base\",\r\n\t\t\tlg: \"text-2xl\",\r\n\t\t\txl: \"text-4xl\"\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleTitleProps = VariantProps<typeof progressCircleTitleStyles> &\r\n\tReact.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const ProgressCircleTitle = React.forwardRef<HTMLDivElement, PropsWithChildren<ProgressCircleTitleProps>>(\r\n\t({ className, size, children, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<span className={progressCircleTitleStyles({ className, size })} ref={ref} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</span>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nProgressCircleTitle.displayName = \"ProgressCircleTitle\";\r\n","import { IconButton } from \"@/components/button\";\r\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\r\nimport React from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\n\r\nconst progressCircleIconButtonVariants = tv({\r\n\tslots: {\r\n\t\tbase: \"p-0.5 text-muted\",\r\n\t\ticon: \"h-full w-full\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\txs: {\r\n\t\t\t\tbase: \"h-4 w-4\"\r\n\t\t\t},\r\n\t\t\tsm: {\r\n\t\t\t\tbase: \"h-5 w-5\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tbase: \"h-[1.375rem] w-[1.375rem]\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\tbase: \"h-8 w-8\"\r\n\t\t\t},\r\n\t\t\txl: {\r\n\t\t\t\tbase: \"h-11 w-11\"\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleIconButtonProps = VariantProps<typeof progressCircleIconButtonVariants> & IconButtonProps;\r\n\r\nexport const ProgressCircleIconButton: React.FC<ProgressCircleIconButtonProps> = ({\r\n\tclassName,\r\n\tsize,\r\n\ticon,\r\n\t...props\r\n}) => {\r\n\tconst styles = progressCircleIconButtonVariants();\r\n\treturn (\r\n\t\t<IconButton\r\n\t\t\ticon={icon}\r\n\t\t\tvariant=\"text\"\r\n\t\t\tclassName={styles.base({ className, size })}\r\n\t\t\ticonClassName={styles.icon()}\r\n\t\t\tsize={size}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nProgressCircleIconButton.displayName = \"ProgressCircleIconButton\";\r\n","import { tv } from \"tailwind-variants\";\r\nimport { ProgressCircle } from \"../ProgressCircle\";\r\nimport { ProgressCircleDescription } from \"../components/progress-circle-description/ProgressCircleDescription\";\r\nimport { ProgressCircleTitle } from \"../components/progress-circle-text/ProgressCircleTitle\";\r\nimport { ProgressCircleIconButton } from \"../components/progress-circle-icon-button/ProgressCircleIconButton\";\r\nimport { RotateCw } from \"lucide-react\";\r\n\r\nconst progressCircleTemplateStyles = tv({\r\n\tslots: {\r\n\t\twrap: \"relative w-fit\",\r\n\t\theader: \"absolute inset-0 z-10 flex flex-col items-center justify-center\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleTemplateProps = {\r\n\tsize?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\r\n\tvalue?: number;\r\n\tmax?: number;\r\n\tindeterminate?: boolean;\r\n\tdescription?: React.ReactNode;\r\n\ttitle?: React.ReactNode;\r\n\tonRetry?: (e: React.MouseEvent<HTMLElement>) => void;\r\n};\r\n\r\nexport const ProgressCircleTemplate = (props: ProgressCircleTemplateProps) => {\r\n\tconst { size, value, max, indeterminate, description, title, onRetry } = props;\r\n\tconst shouldShowDescription = description && ![\"xs\", \"sm\"].includes(size as string);\r\n\tconst styles = progressCircleTemplateStyles({ size });\r\n\r\n\treturn (\r\n\t\t<div className={styles.wrap()}>\r\n\t\t\t<ProgressCircle value={value} max={max} indeterminate={indeterminate} size={size} />\r\n\t\t\t<div className={styles.header()}>\r\n\t\t\t\t{title && <ProgressCircleTitle size={size}>{title}</ProgressCircleTitle>}\r\n\t\t\t\t{onRetry && <ProgressCircleIconButton size={size} icon={RotateCw} onClick={onRetry} />}\r\n\t\t\t\t{shouldShowDescription && <ProgressCircleDescription>{description}</ProgressCircleDescription>}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nProgressCircleTemplate.displayName = \"ProgressCircleTemplate\";\r\n"],"names":["progressCircleVariants","tv","ProgressCircle","React","size","max","value","indeterminate","indicatorClassName","ref","styles","currentValue","circumference","progressData","useMemo","safeMax","safeValue","percentage","progress","dashOffset","jsxs","jsx","progressCircleDescriptionStyles","ProgressCircleDescription","className","children","props","progressCircleTitleStyles","ProgressCircleTitle","progressCircleIconButtonVariants","ProgressCircleIconButton","icon","IconButton","progressCircleTemplateStyles","ProgressCircleTemplate","description","title","onRetry","shouldShowDescription","RotateCw"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sources":["../../node_modules/.pnpm/@radix-ui+react-progress@1.1.8_@types+react-dom@18.3.6_@types+react@18.3.20__@types+rea_e450f4067159ea39a98f6a5a08a96bbb/node_modules/@radix-ui/react-progress/dist/index.mjs","../../src/components/progress/ProgressBarStyles.ts","../../src/components/progress/Progress.tsx","../../src/components/progress/components/progress-icon/ProgressIcon.tsx","../../src/components/progress/components/progress-icon-button/ProgressIconButton.tsx","../../src/components/progress/components/progress-text/ProgressText.tsx","../../src/components/progress/templates/ProgressBlockTemplate.tsx"],"sourcesContent":["\"use client\";\n\n// src/progress.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PROGRESS_NAME = \"Progress\";\nvar DEFAULT_MAX = 100;\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar Progress = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nProgress.displayName = PROGRESS_NAME;\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nProgressIndicator.displayName = INDICATOR_NAME;\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !isNaN(value) && value <= max && value >= 0;\n}\nfunction getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\nfunction getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\nvar Root = Progress;\nvar Indicator = ProgressIndicator;\nexport {\n Indicator,\n Progress,\n ProgressIndicator,\n Root,\n createProgressScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { VariantsConfig } from \"@/lib/utils/variants\";\nimport { tv } from \"tailwind-variants\";\n\nexport interface ProgressBarSizeVariants {\n\t/** Размер индикатора */\n\tsize?: \"sm\" | \"md\" | \"lg\";\n}\n\nexport interface ProgressBarVariants extends ProgressBarSizeVariants {\n\t/** Индикатор неопределенного состояния прогресса */\n\tindeterminate?: boolean;\n}\n\nexport const progressBarStyles = tv({\n\tslots: {\n\t\ttrack: \"relative w-full overflow-hidden rounded-full bg-secondary-bg-hover\",\n\t\tindicator: \"h-full bg-primary-accent transition-transform !duration-500\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: { track: \"h-1\" },\n\t\t\tmd: { track: \"h-1.5\" },\n\t\t\tlg: { track: \"h-3\" }\n\t\t},\n\t\tindeterminate: {\n\t\t\ttrue: {\n\t\t\t\tindicator: \"!duration-1500 absolute w-full origin-left animate-indeterminate-bar rounded-full\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<ProgressBarVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n","import * as React from \"react\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport { progressBarStyles, ProgressBarVariants } from \"./ProgressBarStyles\";\nimport { useMemo } from \"react\";\n\nexport type ProgressProps = React.ComponentProps<typeof ProgressPrimitive.Root> &\n\tProgressBarVariants & {\n\t\t/** Максимальное значение прогресса. По умолчанию 100 */\n\t\tmax?: number;\n\t\t/** Значение прогресса от 0 до max. Если не указано или null, считается равным 0 */\n\t\tvalue?: number | null;\n\t\t/** Классы для индикатора */\n\t\tindicatorClassName?: string;\n\t\t/** Функция для получения доступной текстовой метки, представляющей текущее значение в удобочитаемом формате. \n\tЕсли не указана, метка значения будет озвучена как числовое значение в процентах от максимального значения. */\n\t\tgetValueLabel?(value: number, max: number): string;\n\t};\n\nexport function Progress(props: ProgressProps) {\n\tconst { className, value, max = 100, size, indicatorClassName, indeterminate, ...rest } = props;\n\n\tconst styles = progressBarStyles({ size, indeterminate });\n\tconst currentValue = indeterminate ? null : (value ?? 0);\n\n\tconst indicatorStyle = useMemo(() => {\n\t\tif (indeterminate) return;\n\n\t\tconst safeMax = max <= 0 ? 100 : max;\n\t\tconst safeValue = Math.max(0, Math.min(safeMax, currentValue ?? 0));\n\t\tconst percentage = (safeValue / safeMax) * 100;\n\n\t\treturn { transform: `translateX(-${100 - percentage}%)` };\n\t}, [indeterminate, currentValue, max]);\n\n\treturn (\n\t\t<ProgressPrimitive.Root\n\t\t\tdata-slot=\"progress\"\n\t\t\tclassName={styles.track({ className })}\n\t\t\tvalue={currentValue}\n\t\t\tmax={max}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<ProgressPrimitive.Indicator\n\t\t\t\tdata-slot=\"progress-indicator\"\n\t\t\t\tclassName={styles.indicator({ className: indicatorClassName })}\n\t\t\t\tstyle={indicatorStyle}\n\t\t\t/>\n\t\t</ProgressPrimitive.Root>\n\t);\n}\n","import { Icon } from \"@/components/icon\";\nimport { IconProps } from \"@/components/icon/Icon\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\n\nconst progressIconVariants = tv({\n\tbase: \"text-secondary-fg\",\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"h-4 w-4\",\n\t\t\tmd: \"h-4 w-4\",\n\t\t\tlg: \"h-5 w-5\"\n\t\t}\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressIconProps = ProgressBarSizeVariants & IconProps;\n\nexport const ProgressIcon: React.FC<ProgressIconProps> = ({ className, size, icon, ...props }) => {\n\treturn <Icon icon={icon} className={progressIconVariants({ className, size })} {...props} />;\n};\n\nProgressIcon.displayName = \"ProgressIcon\";\n","import { IconButton } from \"@/components/button\";\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\n\nconst progressIconButtonVariants = tv({\n\tslots: {\n\t\tbase: \"h-auto p-0 text-muted\",\n\t\ticon: \"\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\ticon: \"h-4 w-4\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\ticon: \"h-5 w-5\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\ticon: \"h-[1.375rem] w-[1.375rem]\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressIconButtonProps = ProgressBarSizeVariants & IconButtonProps;\n\nexport const ProgressIconButton: React.FC<ProgressIconButtonProps> = ({\n\tclassName,\n\tsize,\n\ticon,\n\ticonClassName,\n\t...props\n}) => {\n\tconst styles = progressIconButtonVariants({ size });\n\treturn (\n\t\t<IconButton\n\t\t\ticon={icon}\n\t\t\tvariant=\"text\"\n\t\t\tclassName={styles.base({ className })}\n\t\t\ticonClassName={styles.icon({ className: iconClassName })}\n\t\t\tsize={size}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nProgressIconButton.displayName = \"ProgressIconButton\";\n","import React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst progressTextVariants = tv({\n\tbase: \"inline-block font-medium text-secondary-fg\",\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"text-xs\",\n\t\t\tmd: \"text-sm\",\n\t\t\tlg: \"text-base\"\n\t\t}\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressTextProps = ProgressBarSizeVariants & React.HTMLAttributes<HTMLDivElement>;\n\nexport const ProgressText = React.forwardRef<HTMLDivElement, PropsWithChildren<ProgressTextProps>>(\n\t({ className, size, children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<span className={progressTextVariants({ className, size })} ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t);\n\t}\n);\n\nProgressText.displayName = \"ProgressText\";\n","import { LucideIcon, RotateCw, X } from \"lucide-react\";\nimport { tv } from \"tailwind-variants\";\nimport { Progress } from \"../Progress\";\nimport { ProgressIconButton } from \"../components/progress-icon-button/ProgressIconButton\";\nimport { ProgressIcon } from \"../components/progress-icon/ProgressIcon\";\nimport { ProgressText } from \"../components/progress-text/ProgressText\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\nimport { ProgressBarSizeVariants } from \"../ProgressBarStyles\";\n\nconst progressBlockTemplateStyles = tv({\n\tslots: {\n\t\twrap: \"flex w-full flex-col\",\n\t\theader: \"flex items-center justify-between gap-2\",\n\t\ttitleWrapper: \"flex items-center\",\n\t\tactionsWrapper: \"flex items-center gap-2\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\twrap: \"gap-1\",\n\t\t\t\ttitleWrapper: \"gap-1\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\twrap: \"gap-1\",\n\t\t\t\ttitleWrapper: \"gap-1.5\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\twrap: \"gap-1.5\",\n\t\t\t\ttitleWrapper: \"gap-2\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressBlockTemplateProps = ProgressBarSizeVariants & {\n\tvalue?: number;\n\tmax?: number;\n\tindeterminate?: boolean;\n\ticon?: LucideIcon;\n\ttitle?: React.ReactNode;\n\tdescription?: React.ReactNode;\n\tonCancel?: (e: React.MouseEvent<HTMLElement>) => void;\n\tonRetry?: (e: React.MouseEvent<HTMLElement>) => void;\n};\n\nexport const ProgressBlockTemplate = (props: ProgressBlockTemplateProps) => {\n\tconst { size, value, max, indeterminate, icon, title, description, onCancel, onRetry } = props;\n\n\tconst styles = progressBlockTemplateStyles({ size });\n\n\treturn (\n\t\t<div className={styles.wrap()}>\n\t\t\t<div className={styles.header()}>\n\t\t\t\t<div className={styles.titleWrapper()}>\n\t\t\t\t\t{icon && <ProgressIcon size={size} icon={icon} />}\n\t\t\t\t\t{title && (\n\t\t\t\t\t\t<ProgressText size={size} className=\"mr-auto\">\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</ProgressText>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div className={styles.actionsWrapper()}>\n\t\t\t\t\t{description && <ProgressText size={size}>{description}</ProgressText>}\n\t\t\t\t\t{onRetry && (\n\t\t\t\t\t\t<ProgressIconButton\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\ticon={RotateCw}\n\t\t\t\t\t\t\tonClick={onRetry}\n\t\t\t\t\t\t\ticonClassName=\"p-0.5 stroke-[2.3px]\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{onCancel && <ProgressIconButton size={size} icon={X} onClick={onCancel} />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Progress value={value} max={max} indeterminate={indeterminate} size={size} />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nProgressBlockTemplate.displayName = \"ProgressBlockTemplate\";\n"],"names":["PROGRESS_NAME","DEFAULT_MAX","createProgressContext","createProgressScope","createContextScope","ProgressProvider","useProgressContext","Progress","React","props","forwardedRef","__scopeProgress","valueProp","maxProp","getValueLabel","defaultGetValueLabel","progressProps","isValidMaxNumber","getInvalidMaxError","max","isValidValueNumber","getInvalidValueError","value","valueLabel","isNumber","jsx","Primitive","getProgressState","INDICATOR_NAME","ProgressIndicator","indicatorProps","context","maxValue","propValue","componentName","Root","Indicator","progressBarStyles","tv","className","size","indicatorClassName","indeterminate","rest","styles","currentValue","indicatorStyle","useMemo","safeMax","ProgressPrimitive.Root","ProgressPrimitive.Indicator","progressIconVariants","ProgressIcon","icon","Icon","progressIconButtonVariants","ProgressIconButton","iconClassName","IconButton","progressTextVariants","ProgressText","children","ref","progressBlockTemplateStyles","ProgressBlockTemplate","title","description","onCancel","onRetry","jsxs","RotateCw","X"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"progress.js","sources":["../../node_modules/.pnpm/@radix-ui+react-progress@1._e450f4067159ea39a98f6a5a08a96bbb/node_modules/@radix-ui/react-progress/dist/index.mjs","../../src/components/progress/ProgressBarStyles.ts","../../src/components/progress/Progress.tsx","../../src/components/progress/components/progress-icon/ProgressIcon.tsx","../../src/components/progress/components/progress-icon-button/ProgressIconButton.tsx","../../src/components/progress/components/progress-text/ProgressText.tsx","../../src/components/progress/templates/ProgressBlockTemplate.tsx"],"sourcesContent":["\"use client\";\n\n// src/progress.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PROGRESS_NAME = \"Progress\";\nvar DEFAULT_MAX = 100;\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar Progress = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nProgress.displayName = PROGRESS_NAME;\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nProgressIndicator.displayName = INDICATOR_NAME;\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !isNaN(value) && value <= max && value >= 0;\n}\nfunction getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\nfunction getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\nvar Root = Progress;\nvar Indicator = ProgressIndicator;\nexport {\n Indicator,\n Progress,\n ProgressIndicator,\n Root,\n createProgressScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport interface ProgressBarSizeVariants {\r\n\t/** Размер индикатора */\r\n\tsize?: \"sm\" | \"md\" | \"lg\";\r\n}\r\n\r\nexport interface ProgressBarVariants extends ProgressBarSizeVariants {\r\n\t/** Индикатор неопределенного состояния прогресса */\r\n\tindeterminate?: boolean;\r\n}\r\n\r\nexport const progressBarStyles = tv({\r\n\tslots: {\r\n\t\ttrack: \"relative w-full overflow-hidden rounded-full bg-secondary-bg-hover\",\r\n\t\tindicator: \"h-full bg-primary-accent transition-transform !duration-500\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: { track: \"h-1\" },\r\n\t\t\tmd: { track: \"h-1.5\" },\r\n\t\t\tlg: { track: \"h-3\" }\r\n\t\t},\r\n\t\tindeterminate: {\r\n\t\t\ttrue: {\r\n\t\t\t\tindicator: \"!duration-1500 absolute w-full origin-left animate-indeterminate-bar rounded-full\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<ProgressBarVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n","import * as React from \"react\";\r\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\r\nimport { progressBarStyles, ProgressBarVariants } from \"./ProgressBarStyles\";\r\nimport { useMemo } from \"react\";\r\n\r\nexport type ProgressProps = React.ComponentProps<typeof ProgressPrimitive.Root> &\r\n\tProgressBarVariants & {\r\n\t\t/** Максимальное значение прогресса. По умолчанию 100 */\r\n\t\tmax?: number;\r\n\t\t/** Значение прогресса от 0 до max. Если не указано или null, считается равным 0 */\r\n\t\tvalue?: number | null;\r\n\t\t/** Классы для индикатора */\r\n\t\tindicatorClassName?: string;\r\n\t\t/** Функция для получения доступной текстовой метки, представляющей текущее значение в удобочитаемом формате. \r\n\tЕсли не указана, метка значения будет озвучена как числовое значение в процентах от максимального значения. */\r\n\t\tgetValueLabel?(value: number, max: number): string;\r\n\t};\r\n\r\nexport function Progress(props: ProgressProps) {\r\n\tconst { className, value, max = 100, size, indicatorClassName, indeterminate, ...rest } = props;\r\n\r\n\tconst styles = progressBarStyles({ size, indeterminate });\r\n\tconst currentValue = indeterminate ? null : (value ?? 0);\r\n\r\n\tconst indicatorStyle = useMemo(() => {\r\n\t\tif (indeterminate) return;\r\n\r\n\t\tconst safeMax = max <= 0 ? 100 : max;\r\n\t\tconst safeValue = Math.max(0, Math.min(safeMax, currentValue ?? 0));\r\n\t\tconst percentage = (safeValue / safeMax) * 100;\r\n\r\n\t\treturn { transform: `translateX(-${100 - percentage}%)` };\r\n\t}, [indeterminate, currentValue, max]);\r\n\r\n\treturn (\r\n\t\t<ProgressPrimitive.Root\r\n\t\t\tdata-slot=\"progress\"\r\n\t\t\tclassName={styles.track({ className })}\r\n\t\t\tvalue={currentValue}\r\n\t\t\tmax={max}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t<ProgressPrimitive.Indicator\r\n\t\t\t\tdata-slot=\"progress-indicator\"\r\n\t\t\t\tclassName={styles.indicator({ className: indicatorClassName })}\r\n\t\t\t\tstyle={indicatorStyle}\r\n\t\t\t/>\r\n\t\t</ProgressPrimitive.Root>\r\n\t);\r\n}\r\n","import { Icon } from \"@/components/icon\";\r\nimport { IconProps } from \"@/components/icon/Icon\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\r\n\r\nconst progressIconVariants = tv({\r\n\tbase: \"text-secondary-fg\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"h-4 w-4\",\r\n\t\t\tmd: \"h-4 w-4\",\r\n\t\t\tlg: \"h-5 w-5\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressIconProps = ProgressBarSizeVariants & IconProps;\r\n\r\nexport const ProgressIcon: React.FC<ProgressIconProps> = ({ className, size, icon, ...props }) => {\r\n\treturn <Icon icon={icon} className={progressIconVariants({ className, size })} {...props} />;\r\n};\r\n\r\nProgressIcon.displayName = \"ProgressIcon\";\r\n","import { IconButton } from \"@/components/button\";\r\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\r\n\r\nconst progressIconButtonVariants = tv({\r\n\tslots: {\r\n\t\tbase: \"h-auto p-0 text-muted\",\r\n\t\ticon: \"\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: {\r\n\t\t\t\ticon: \"h-4 w-4\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\ticon: \"h-5 w-5\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\ticon: \"h-[1.375rem] w-[1.375rem]\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressIconButtonProps = ProgressBarSizeVariants & IconButtonProps;\r\n\r\nexport const ProgressIconButton: React.FC<ProgressIconButtonProps> = ({\r\n\tclassName,\r\n\tsize,\r\n\ticon,\r\n\ticonClassName,\r\n\t...props\r\n}) => {\r\n\tconst styles = progressIconButtonVariants({ size });\r\n\treturn (\r\n\t\t<IconButton\r\n\t\t\ticon={icon}\r\n\t\t\tvariant=\"text\"\r\n\t\t\tclassName={styles.base({ className })}\r\n\t\t\ticonClassName={styles.icon({ className: iconClassName })}\r\n\t\t\tsize={size}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nProgressIconButton.displayName = \"ProgressIconButton\";\r\n","import React from \"react\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { ProgressBarSizeVariants } from \"../../ProgressBarStyles\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst progressTextVariants = tv({\r\n\tbase: \"inline-block font-medium text-secondary-fg\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"text-xs\",\r\n\t\t\tmd: \"text-sm\",\r\n\t\t\tlg: \"text-base\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressTextProps = ProgressBarSizeVariants & React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const ProgressText = React.forwardRef<HTMLDivElement, PropsWithChildren<ProgressTextProps>>(\r\n\t({ className, size, children, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<span className={progressTextVariants({ className, size })} ref={ref} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</span>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nProgressText.displayName = \"ProgressText\";\r\n","import { LucideIcon, RotateCw, X } from \"lucide-react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Progress } from \"../Progress\";\r\nimport { ProgressIconButton } from \"../components/progress-icon-button/ProgressIconButton\";\r\nimport { ProgressIcon } from \"../components/progress-icon/ProgressIcon\";\r\nimport { ProgressText } from \"../components/progress-text/ProgressText\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport { ProgressBarSizeVariants } from \"../ProgressBarStyles\";\r\n\r\nconst progressBlockTemplateStyles = tv({\r\n\tslots: {\r\n\t\twrap: \"flex w-full flex-col\",\r\n\t\theader: \"flex items-center justify-between gap-2\",\r\n\t\ttitleWrapper: \"flex items-center\",\r\n\t\tactionsWrapper: \"flex items-center gap-2\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: {\r\n\t\t\t\twrap: \"gap-1\",\r\n\t\t\t\ttitleWrapper: \"gap-1\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\twrap: \"gap-1\",\r\n\t\t\t\ttitleWrapper: \"gap-1.5\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\twrap: \"gap-1.5\",\r\n\t\t\t\ttitleWrapper: \"gap-2\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<ProgressBarSizeVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressBlockTemplateProps = ProgressBarSizeVariants & {\r\n\tvalue?: number;\r\n\tmax?: number;\r\n\tindeterminate?: boolean;\r\n\ticon?: LucideIcon;\r\n\ttitle?: React.ReactNode;\r\n\tdescription?: React.ReactNode;\r\n\tonCancel?: (e: React.MouseEvent<HTMLElement>) => void;\r\n\tonRetry?: (e: React.MouseEvent<HTMLElement>) => void;\r\n};\r\n\r\nexport const ProgressBlockTemplate = (props: ProgressBlockTemplateProps) => {\r\n\tconst { size, value, max, indeterminate, icon, title, description, onCancel, onRetry } = props;\r\n\r\n\tconst styles = progressBlockTemplateStyles({ size });\r\n\r\n\treturn (\r\n\t\t<div className={styles.wrap()}>\r\n\t\t\t<div className={styles.header()}>\r\n\t\t\t\t<div className={styles.titleWrapper()}>\r\n\t\t\t\t\t{icon && <ProgressIcon size={size} icon={icon} />}\r\n\t\t\t\t\t{title && (\r\n\t\t\t\t\t\t<ProgressText size={size} className=\"mr-auto\">\r\n\t\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\t</ProgressText>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div className={styles.actionsWrapper()}>\r\n\t\t\t\t\t{description && <ProgressText size={size}>{description}</ProgressText>}\r\n\t\t\t\t\t{onRetry && (\r\n\t\t\t\t\t\t<ProgressIconButton\r\n\t\t\t\t\t\t\tsize={size}\r\n\t\t\t\t\t\t\ticon={RotateCw}\r\n\t\t\t\t\t\t\tonClick={onRetry}\r\n\t\t\t\t\t\t\ticonClassName=\"p-0.5 stroke-[2.3px]\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{onCancel && <ProgressIconButton size={size} icon={X} onClick={onCancel} />}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div>\r\n\t\t\t\t<Progress value={value} max={max} indeterminate={indeterminate} size={size} />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nProgressBlockTemplate.displayName = \"ProgressBlockTemplate\";\r\n"],"names":["PROGRESS_NAME","DEFAULT_MAX","createProgressContext","createProgressScope","createContextScope","ProgressProvider","useProgressContext","Progress","React","props","forwardedRef","__scopeProgress","valueProp","maxProp","getValueLabel","defaultGetValueLabel","progressProps","isValidMaxNumber","getInvalidMaxError","max","isValidValueNumber","getInvalidValueError","value","valueLabel","isNumber","jsx","Primitive","getProgressState","INDICATOR_NAME","ProgressIndicator","indicatorProps","context","maxValue","propValue","componentName","Root","Indicator","progressBarStyles","tv","className","size","indicatorClassName","indeterminate","rest","styles","currentValue","indicatorStyle","useMemo","safeMax","ProgressPrimitive.Root","ProgressPrimitive.Indicator","progressIconVariants","ProgressIcon","icon","Icon","progressIconButtonVariants","ProgressIconButton","iconClassName","IconButton","progressTextVariants","ProgressText","children","ref","progressBlockTemplateStyles","ProgressBlockTemplate","title","description","onCancel","onRetry","jsxs","RotateCw","X"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prose.js","sources":["../../src/components/prose/Prose.tsx"],"sourcesContent":["import { PropsWithChildren } from \"react\";\nimport React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cn } from \"@/lib/utils\";\n\nexport type ProseProps = React.HTMLAttributes<HTMLDivElement> & {\n\tasChild?: boolean;\n};\n\nexport const Prose = React.forwardRef<HTMLDivElement, PropsWithChildren<ProseProps>>(\n\t({ className, children, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : \"div\";\n\n\t\treturn (\n\t\t\t<Comp className={cn(\"prose max-w-none\", className)} ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</Comp>\n\t\t);\n\t}\n);\n\nProse.displayName = \"Prose\";\n"],"names":["Prose","React","className","children","asChild","props","ref","jsx","Slot","cn"],"mappings":";;;;AASO,MAAMA,IAAQC,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,UAAAC,GAAU,SAAAC,IAAU,IAAO,GAAGC,EAAM,GAAGC,MAInD,gBAAAC,EAHYH,IAAUI,IAAO,OAGvB,EAAA,WAAWC,EAAG,oBAAoBP,CAAS,GAAG,KAAAI,GAAW,GAAGD,GAChE,UAAAF,EACF,CAAA;AAGH;AAEAH,EAAM,cAAc;"}
|
|
1
|
+
{"version":3,"file":"prose.js","sources":["../../src/components/prose/Prose.tsx"],"sourcesContent":["import { PropsWithChildren } from \"react\";\r\nimport React from \"react\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { cn } from \"@/lib/utils\";\r\n\r\nexport type ProseProps = React.HTMLAttributes<HTMLDivElement> & {\r\n\tasChild?: boolean;\r\n};\r\n\r\nexport const Prose = React.forwardRef<HTMLDivElement, PropsWithChildren<ProseProps>>(\r\n\t({ className, children, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : \"div\";\r\n\r\n\t\treturn (\r\n\t\t\t<Comp className={cn(\"prose max-w-none\", className)} ref={ref} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</Comp>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nProse.displayName = \"Prose\";\r\n"],"names":["Prose","React","className","children","asChild","props","ref","jsx","Slot","cn"],"mappings":";;;;AASO,MAAMA,IAAQC,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,UAAAC,GAAU,SAAAC,IAAU,IAAO,GAAGC,EAAM,GAAGC,MAInD,gBAAAC,EAHYH,IAAUI,IAAO,OAGvB,EAAA,WAAWC,EAAG,oBAAoBP,CAAS,GAAG,KAAAI,GAAW,GAAGD,GAChE,UAAAF,EACF,CAAA;AAGH;AAEAH,EAAM,cAAc;"}
|
|
@@ -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@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]}
|
|
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":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAASC,EAAiB,UAAU;AAAA,EACxC,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,SAAU,CAAA;AAC3D,CAAC;ACYD,IAAIC,IAAa,SACb,CAACC,GAAoBC,CAAgB,IAAIC,EAAmBH,CAAU,GACtE,CAACI,IAAeC,EAAe,IAAIJ,EAAmBD,CAAU,GAChEM,IAAQC,EAAM;AAAA,EAChB,CAACC,GAAOC,MAAiB;AACvB,UAAM;AAAA,MACJ,cAAAC;AAAA,MACA,MAAAC;AAAA,MACA,SAAAC,IAAU;AAAA,MACV,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,OAAAC,IAAQ;AAAA,MACR,SAAAC;AAAA,MACA,MAAAC;AAAA,MACA,GAAGC;AAAA,IACT,IAAQV,GACE,CAACW,GAAQC,CAAS,IAAIb,EAAM,SAAS,IAAI,GACzCc,IAAeC,EAAgBb,GAAc,CAACc,MAASH,EAAUG,CAAI,CAAC,GACtEC,IAAmCjB,EAAM,OAAO,EAAK,GACrDkB,IAAgBN,IAASF,KAAQ,CAAC,CAACE,EAAO,QAAQ,MAAM,IAAI;AAClE,WAAuB,gBAAAO,EAAKtB,IAAe,EAAE,OAAOM,GAAc,SAAAE,GAAS,UAAAE,GAAU,UAAU;AAAA,MAC7E,gBAAAa;AAAA,QACdC,EAAU;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,gBAAgBhB;AAAA,UAChB,cAAciB,EAASjB,CAAO;AAAA,UAC9B,iBAAiBE,IAAW,KAAK;AAAA,UACjC,UAAAA;AAAA,UACA,OAAAC;AAAA,UACA,GAAGG;AAAA,UACH,KAAKG;AAAA,UACL,SAASS,EAAqBtB,EAAM,SAAS,CAACuB,MAAU;AACtD,YAAKnB,KAASI,IAAW,GACrBS,MACFD,EAAiC,UAAUO,EAAM,qBAAsB,GAClEP,EAAiC,WAASO,EAAM,gBAAiB;AAAA,UAEzE,CAAA;AAAA,QACX;AAAA,MACO;AAAA,MACDN,KAAiC,gBAAAE;AAAA,QAC/BK;AAAA,QACA;AAAA,UACE,SAASb;AAAA,UACT,SAAS,CAACK,EAAiC;AAAA,UAC3C,MAAAb;AAAA,UACA,OAAAI;AAAA,UACA,SAAAH;AAAA,UACA,UAAAC;AAAA,UACA,UAAAC;AAAA,UACA,MAAAG;AAAA,UACA,OAAO,EAAE,WAAW,oBAAmB;AAAA,QACjD;AAAA,MACA;AAAA,IACA,GAAO;AAAA,EACP;AACA;AACAX,EAAM,cAAcN;AACpB,IAAIiC,IAAiB,kBACjBC,IAAiB3B,EAAM;AAAA,EACzB,CAACC,GAAOC,MAAiB;AACvB,UAAM,EAAE,cAAAC,GAAc,YAAAyB,GAAY,GAAGC,EAAgB,IAAG5B,GAClD6B,IAAUhC,GAAgB4B,GAAgBvB,CAAY;AAC5D,WAAuB,gBAAAiB,EAAIW,GAAU,EAAE,SAASH,KAAcE,EAAQ,SAAS,UAA0B,gBAAAV;AAAA,MACvGC,EAAU;AAAA,MACV;AAAA,QACE,cAAcC,EAASQ,EAAQ,OAAO;AAAA,QACtC,iBAAiBA,EAAQ,WAAW,KAAK;AAAA,QACzC,GAAGD;AAAA,QACH,KAAK3B;AAAA,MACb;AAAA,IACA,GAAO;AAAA,EACP;AACA;AACAyB,EAAe,cAAcD;AAC7B,IAAIM,KAAoB,oBACpBP,IAAmBzB,EAAM;AAAA,EAC3B,CAAC;AAAA,IACC,cAAAG;AAAA,IACA,SAAA8B;AAAA,IACA,SAAA5B;AAAA,IACA,SAAA6B,IAAU;AAAA,IACV,GAAGjC;AAAA,EACJ,GAAEC,MAAiB;AAClB,UAAMiC,IAAMnC,EAAM,OAAO,IAAI,GACvBc,IAAeC,EAAgBoB,GAAKjC,CAAY,GAChDkC,IAAcC,EAAYhC,CAAO,GACjCiC,IAAcC,EAAQN,CAAO;AACnC,WAAAjC,EAAM,UAAU,MAAM;AACpB,YAAMwC,IAAQL,EAAI;AAClB,UAAI,CAACK,EAAO;AACZ,YAAMC,IAAa,OAAO,iBAAiB,WAKrCC,IAJa,OAAO;AAAA,QACxBD;AAAA,QACA;AAAA,MACD,EAC6B;AAC9B,UAAIL,MAAgB/B,KAAWqC,GAAY;AACzC,cAAMlB,IAAQ,IAAI,MAAM,SAAS,EAAE,SAAAU,EAAO,CAAE;AAC5C,QAAAQ,EAAW,KAAKF,GAAOnC,CAAO,GAC9BmC,EAAM,cAAchB,CAAK;AAAA,MACjC;AAAA,IACK,GAAE,CAACY,GAAa/B,GAAS6B,CAAO,CAAC,GACX,gBAAAd;AAAA,MACrBC,EAAU;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,eAAe;AAAA,QACf,gBAAgBhB;AAAA,QAChB,GAAGJ;AAAA,QACH,UAAU;AAAA,QACV,KAAKa;AAAA,QACL,OAAO;AAAA,UACL,GAAGb,EAAM;AAAA,UACT,GAAGqC;AAAA,UACH,UAAU;AAAA,UACV,eAAe;AAAA,UACf,SAAS;AAAA,UACT,QAAQ;AAAA,QAClB;AAAA,MACA;AAAA,IACK;AAAA,EACL;AACA;AACAb,EAAiB,cAAcO;AAC/B,SAASV,EAASjB,GAAS;AACzB,SAAOA,IAAU,YAAY;AAC/B;AAIA,IAAIsC,KAAa,CAAC,WAAW,aAAa,aAAa,YAAY,GAC/DC,IAAmB,cACnB,CAACC,IAAyBC,EAAqB,IAAIC,EAAoBH,GAAkB;AAAA,EAC3FI;AAAA,EACArD;AACF,CAAC,GACGsD,IAA2BD,EAA6B,GACxDE,IAAgBvD,EAAkB,GAClC,CAACwD,IAAoBC,EAAoB,IAAIP,GAAwBD,CAAgB,GACrFS,IAAaC,EAAO;AAAA,EACtB,CAACrD,GAAOC,MAAiB;AACvB,UAAM;AAAA,MACJ,mBAAAqD;AAAA,MACA,MAAAnD;AAAA,MACA,cAAAoD;AAAA,MACA,OAAOC;AAAA,MACP,UAAAnD,IAAW;AAAA,MACX,UAAAC,IAAW;AAAA,MACX,aAAAmD;AAAA,MACA,KAAAC;AAAA,MACA,MAAAC,IAAO;AAAA,MACP,eAAAC;AAAA,MACA,GAAGC;AAAA,IACT,IAAQ7D,GACE8D,IAAwBd,EAAyBM,CAAiB,GAClES,IAAYC,EAAaN,CAAG,GAC5B,CAACnD,GAAO0D,CAAQ,IAAIC,EAAqB;AAAA,MAC7C,MAAMV;AAAA,MACN,aAAaD,KAAgB;AAAA,MAC7B,UAAUK;AAAA,MACV,QAAQjB;AAAA,IACd,CAAK;AACD,WAAuBwB,gBAAAA;AAAAA,MACrBjB;AAAA,MACA;AAAA,QACE,OAAOI;AAAA,QACP,MAAAnD;AAAA,QACA,UAAAE;AAAA,QACA,UAAAC;AAAA,QACA,OAAAC;AAAA,QACA,eAAe0D;AAAA,QACf,UAA0BE,gBAAAA;AAAAA,UACxBC;AAAAA,UACA;AAAA,YACE,SAAS;AAAA,YACT,GAAGN;AAAA,YACH,aAAAL;AAAA,YACA,KAAKM;AAAA,YACL,MAAAJ;AAAA,YACA,UAA0BQ,gBAAAA;AAAAA,cACxBE,EAAW;AAAA,cACX;AAAA,gBACE,MAAM;AAAA,gBACN,iBAAiBhE;AAAA,gBACjB,oBAAoBoD;AAAA,gBACpB,iBAAiBnD,IAAW,KAAK;AAAA,gBACjC,KAAKyD;AAAA,gBACL,GAAGF;AAAA,gBACH,KAAK5D;AAAA,cACrB;AAAA,YACA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACK;AAAA,EACL;AACA;AACAmD,EAAW,cAAcT;AACzB,IAAI2B,IAAY,kBACZC,IAAiBlB,EAAO;AAAA,EAC1B,CAACrD,GAAOC,MAAiB;AACvB,UAAM,EAAE,mBAAAqD,GAAmB,UAAAhD,GAAU,GAAGkE,EAAW,IAAGxE,GAChD6B,IAAUsB,GAAqBmB,GAAWhB,CAAiB,GAC3DmB,IAAa5C,EAAQ,YAAYvB,GACjCwD,IAAwBd,EAAyBM,CAAiB,GAClEoB,IAAazB,EAAcK,CAAiB,GAC5CpB,IAAMmB,EAAO,OAAO,IAAI,GACxBxC,IAAe8D,EAAiB1E,GAAciC,CAAG,GACjD9B,IAAUyB,EAAQ,UAAU2C,EAAU,OACtCI,IAAuBvB,EAAO,OAAO,EAAK;AAChDA,WAAAA,EAAO,UAAU,MAAM;AACrB,YAAMwB,IAAgB,CAACtD,MAAU;AAC/B,QAAImB,GAAW,SAASnB,EAAM,GAAG,MAC/BqD,EAAqB,UAAU;AAAA,MAElC,GACKE,IAAc,MAAMF,EAAqB,UAAU;AACzD,sBAAS,iBAAiB,WAAWC,CAAa,GAClD,SAAS,iBAAiB,SAASC,CAAW,GACvC,MAAM;AACX,iBAAS,oBAAoB,WAAWD,CAAa,GACrD,SAAS,oBAAoB,SAASC,CAAW;AAAA,MAClD;AAAA,IACF,GAAE,EAAE,GACkBX,gBAAAA;AAAAA,MACrBY;AAAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,GAAGjB;AAAA,QACH,WAAW,CAACW;AAAA,QACZ,QAAQrE;AAAA,QACR,UAA0B+D,gBAAAA;AAAAA,UACxBrE;AAAA,UACA;AAAA,YACE,UAAU2E;AAAA,YACV,UAAU5C,EAAQ;AAAA,YAClB,SAAAzB;AAAA,YACA,GAAGsE;AAAA,YACH,GAAGF;AAAA,YACH,MAAM3C,EAAQ;AAAA,YACd,KAAKhB;AAAA,YACL,SAAS,MAAMgB,EAAQ,cAAc2C,EAAU,KAAK;AAAA,YACpD,WAAWQ,EAAsB,CAACzD,MAAU;AAC1C,cAAIA,EAAM,QAAQ,WAASA,EAAM,eAAgB;AAAA,YAC/D,CAAa;AAAA,YACD,SAASyD,EAAsBR,EAAU,SAAS,MAAM;AACtD,cAAII,EAAqB,WAAS1C,EAAI,SAAS,MAAO;AAAA,YACvD,CAAA;AAAA,UACb;AAAA,QACA;AAAA,MACA;AAAA,IACK;AAAA,EACL;AACA;AACAqC,EAAe,cAAcD;AAC7B,IAAIW,KAAkB,uBAClBC,IAAsB7B,EAAO;AAAA,EAC/B,CAACrD,GAAOC,MAAiB;AACvB,UAAM,EAAE,mBAAAqD,GAAmB,GAAG1B,EAAc,IAAK5B,GAC3C0E,IAAazB,EAAcK,CAAiB;AAClD,WAAuBa,gBAAAA,EAAKzC,GAAgB,EAAE,GAAGgD,GAAY,GAAG9C,GAAgB,KAAK3B,GAAc;AAAA,EACvG;AACA;AACAiF,EAAoB,cAAcD;AAClC,IAAIE,IAAQ/B,GACRgC,IAAQb,GACRc,KAAYH;AC9RhB,MAAMI,KAAmBC,EAAG;AAAA,EAC3B,MAAM;AACP,CAAC,GAEYnC,KAAarD,EAAM;AAAA,EAC/B,CAAC,EAAE,WAAAyF,GAAW,GAAGxF,EAAA,GAASkC,MACjB,gBAAAf,EAAAsE,GAAA,EAAyB,WAAWH,GAAiB,EAAE,WAAAE,EAAA,CAAW,GAAI,GAAGxF,GAAO,KAAAkC,GAAU;AAEpG;AAEAkB,GAAW,cAAcqC,EAAyB;ACR3C,MAAMC,KAAuBH,EAAG;AAAA,EACtC,OAAO;AAAA,IACN,MAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,WAAW;AAAA,IACX,MAAM;AAAA,EAAA;AAER,CAAC,GAEYhB,KAAiBxE,EAAM;AAAA,EACnC,CAAC,EAAE,WAAAyF,GAAW,GAAGxF,EAAA,GAASkC,MAAQ;AACjC,UAAMyD,IAASD,GAAqB;AAEpC,WACE,gBAAAvE,EAAAyE,GAAA,EAAyB,KAAA1D,GAAU,WAAWyD,EAAO,KAAK,EAAE,WAAAH,EAAA,CAAW,GAAI,GAAGxF,GAC9E,UAAA,gBAAAmB,EAAC0E,IAAA,EAA8B,WAAWF,EAAO,aAChD,UAAC,gBAAAxE,EAAA2E,GAAA,EAAK,MAAMxG,GAAQ,WAAWqG,EAAO,KAAK,EAAA,CAAG,GAC/C,EACD,CAAA;AAAA,EAAA;AAGH;AACApB,GAAe,cAAcqB,EAAyB;","x_google_ignoreList":[0,1]}
|