ics-ui-kit 0.1.12 → 0.1.14
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 → AlertIcon-BphnEYvV.js} +3 -3
- package/dist/AlertIcon-BphnEYvV.js.map +1 -0
- package/dist/Button-Dg89xRSi.js.map +1 -1
- package/dist/ButtonBase-e6qyv6mD.js.map +1 -1
- package/dist/{CheckboxField-cX09-eBX.js → CheckboxField-2zNFubvm.js} +2 -2
- package/dist/CheckboxField-2zNFubvm.js.map +1 -0
- package/dist/Combination-DeIugdgY.js +353 -0
- package/dist/Combination-DeIugdgY.js.map +1 -0
- package/dist/{Command-ClIm4U7r.js → Command-D5zgJ7-y.js} +3 -3
- package/dist/Command-D5zgJ7-y.js.map +1 -0
- package/dist/ComponentVariantProvider-brk0g-hm.js.map +1 -1
- package/dist/Description-BTPMlTT-.js.map +1 -1
- package/dist/{Dialog-Bs1B5Iu8.js → Dialog-CdnsGyJD.js} +3 -3
- package/dist/Dialog-CdnsGyJD.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-CP_-li9L.js +90 -0
- package/dist/Field-CP_-li9L.js.map +1 -0
- package/dist/{FieldLabel-QJ4rJFOi.js → FieldLabel-eyKmeWRn.js} +2 -2
- package/dist/FieldLabel-eyKmeWRn.js.map +1 -0
- package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
- package/dist/{FormFooterTemplate-DPB6Dkxn.js → FormFooterTemplate-Cfn5Nmge.js} +3 -3
- package/dist/FormFooterTemplate-Cfn5Nmge.js.map +1 -0
- package/dist/FormHeader--F6b2aRk.js.map +1 -1
- package/dist/{FormStack-DO15vBgd.js → FormStack-Cc_ELdWL.js} +3 -3
- package/dist/FormStack-Cc_ELdWL.js.map +1 -0
- 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 → IconTooltip-RSxvnBgH.js} +2 -2
- package/dist/IconTooltip-RSxvnBgH.js.map +1 -0
- 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.map +1 -1
- package/dist/MenuItemShortcut-D1faeIXp.js.map +1 -1
- package/dist/MenuItemText-CRpaPbvg.js.map +1 -1
- package/dist/Overlay-CVt011mY.js.map +1 -1
- package/dist/{Popover-CY_d3Ggn.js → Popover-CRVD7AtB.js} +20 -19
- package/dist/Popover-CRVD7AtB.js.map +1 -0
- 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 → SearchSelectTag-CA7Ie3Nx.js} +2 -2
- package/dist/SearchSelectTag-CA7Ie3Nx.js.map +1 -0
- package/dist/{Select-B2WcoFf5.js → Select-MLPTpIl5.js} +24 -23
- package/dist/Select-MLPTpIl5.js.map +1 -0
- package/dist/{Sheet-zTMuP7C8.js → Sheet-qTIXsqm0.js} +3 -3
- package/dist/Sheet-qTIXsqm0.js.map +1 -0
- package/dist/Shortcut-D8L15_ed.js.map +1 -1
- package/dist/Skeleton-y6I-i9q5.js.map +1 -1
- package/dist/TableFillHandle-C_yvCTSl.js +65 -0
- package/dist/TableFillHandle-C_yvCTSl.js.map +1 -0
- 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 → TextOverflowTooltip-B1I5qwAT.js} +2 -2
- package/dist/TextOverflowTooltip-B1I5qwAT.js.map +1 -0
- package/dist/Toggle-v_HT3Gm2.js.map +1 -1
- package/dist/{Tooltip-C4rVuWr4.js → Tooltip-7Duaau0S.js} +3 -3
- package/dist/Tooltip-7Duaau0S.js.map +1 -0
- package/dist/TriggerButton-CfDObWP9.js.map +1 -1
- package/dist/blocks/auth/otp-form.js +1 -1
- package/dist/blocks/auth/otp-form.js.map +1 -1
- package/dist/circle-BbEzypQJ.js +14 -0
- package/dist/circle-BbEzypQJ.js.map +1 -0
- package/dist/cn-dsXlqdJg.js.map +1 -1
- package/dist/components/alert/Alert.d.ts +4 -0
- package/dist/components/alert/Alert.stories.d.ts +1 -0
- package/dist/components/alert-dialog.js +3 -3
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.js +18 -18
- package/dist/components/alert.js.map +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/background-pattern.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 +1 -1
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/color-tile.js.map +1 -1
- package/dist/components/command/Command.stories.d.ts +1 -0
- package/dist/components/command.js +1 -1
- package/dist/components/container.js.map +1 -1
- package/dist/components/context-menu/ContextMenu.d.ts +27 -0
- package/dist/components/context-menu/ContextMenu.stories.d.ts +10 -0
- package/dist/components/context-menu/index.d.ts +1 -0
- package/dist/components/context-menu.d.ts +2 -0
- package/dist/components/context-menu.js +2675 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/counter.js.map +1 -1
- package/dist/components/dialog.js +3 -3
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/divider.js.map +1 -1
- package/dist/components/drawer.js +3 -3
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/dropdown.js +26 -25
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/error-state.js.map +1 -1
- package/dist/components/field/Field.d.ts +4 -0
- package/dist/components/field/Field.stories.d.ts +1 -0
- package/dist/components/field.js +1 -1
- package/dist/components/file-upload.js +2 -2
- package/dist/components/file-upload.js.map +1 -1
- package/dist/components/form.js +3 -3
- package/dist/components/form.js.map +1 -1
- package/dist/components/glass-toolbar.js.map +1 -1
- package/dist/components/icon-tooltip.js +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/label.js +1 -1
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/overflow-tooltip.js +1 -1
- package/dist/components/page-state.js.map +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/portal-container.js +2 -2
- 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 +63 -72
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/scheduler.js +1 -1
- package/dist/components/scheduler.js.map +1 -1
- package/dist/components/search-select.js +4 -4
- 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 +206 -212
- 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/Switch.d.ts +1 -1
- package/dist/components/switch.js +5 -2
- package/dist/components/switch.js.map +1 -1
- package/dist/components/system-state.js +1 -1
- package/dist/components/system-state.js.map +1 -1
- package/dist/components/table/Table.d.ts +109 -5
- package/dist/components/table/Table.stories.d.ts +285 -9
- package/dist/components/table/column-reorder/index.d.ts +1 -0
- package/dist/components/table/column-reorder/useColumnReorder.d.ts +82 -0
- package/dist/components/table/column-reorder.d.ts +2 -0
- package/dist/components/table/column-reorder.js +6 -0
- package/dist/components/table/column-reorder.js.map +1 -0
- package/dist/components/table/column-resize/columnAutoFit.d.ts +21 -0
- package/dist/components/table/column-resize/columnResizeSession.d.ts +9 -0
- package/dist/components/table/column-resize/index.d.ts +3 -0
- package/dist/components/table/column-resize/useColumnResize.d.ts +52 -0
- package/dist/components/table/column-resize.d.ts +2 -0
- package/dist/components/table/column-resize.js +7 -0
- package/dist/components/table/column-resize.js.map +1 -0
- package/dist/components/table/editable/TableFillHandle.d.ts +23 -0
- package/dist/components/table/editable/cellRange.d.ts +83 -0
- package/dist/components/table/editable/editableCell.d.ts +90 -0
- package/dist/components/table/editable/index.d.ts +3 -0
- package/dist/components/table/editable.d.ts +2 -0
- package/dist/components/table/editable.js +12 -0
- package/dist/components/table/editable.js.map +1 -0
- package/dist/components/table/index.d.ts +8 -1
- package/dist/components/table/opaqueCell.d.ts +47 -0
- package/dist/components/table/rowTint.d.ts +60 -0
- package/dist/components/table/sticky/index.d.ts +1 -0
- package/dist/components/table/sticky/stickyCell.d.ts +105 -0
- package/dist/components/table/sticky.d.ts +2 -0
- package/dist/components/table/sticky.js +22 -0
- package/dist/components/table/sticky.js.map +1 -0
- package/dist/components/table/tableStoryData.d.ts +84 -0
- package/dist/components/table/tableStoryParts.d.ts +72 -0
- package/dist/components/table/tree/TableTree.d.ts +106 -0
- package/dist/components/table/tree/index.d.ts +3 -0
- package/dist/components/table/tree/treeGeometry.d.ts +86 -0
- package/dist/components/table/tree/treeModel.d.ts +87 -0
- package/dist/components/table/tree.d.ts +2 -0
- package/dist/components/table/tree.js +19 -0
- package/dist/components/table/tree.js.map +1 -0
- package/dist/components/table.js +52 -79
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag-input.js +2 -2
- 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 +1 -2
- package/dist/components/toolbar.js.map +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/floating-ui.react-dom-BwDfy92G.js +1309 -0
- package/dist/floating-ui.react-dom-BwDfy92G.js.map +1 -0
- package/dist/formatBytes-C4QXq5lC.js.map +1 -1
- package/dist/hooks.js +1 -1
- package/dist/index-0ioNhtNM.js.map +1 -1
- package/dist/index-1SnkxfPR.js +230 -0
- package/dist/index-1SnkxfPR.js.map +1 -0
- 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-BjtNfqNq.js +333 -0
- package/dist/index-BjtNfqNq.js.map +1 -0
- package/dist/index-BpWB3aFK.js.map +1 -1
- package/dist/index-ByaXH_ih.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 → index-CMxHunQ4.js} +26 -25
- package/dist/index-CMxHunQ4.js.map +1 -0
- 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-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/dom.d.ts +72 -0
- package/dist/lib/utils/styles.d.ts +1 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/opaqueCell-SGaiyL54.js +31 -0
- package/dist/opaqueCell-SGaiyL54.js.map +1 -0
- package/dist/plus-BpxYPnAG.js +15 -0
- package/dist/plus-BpxYPnAG.js.map +1 -0
- package/dist/styles-scoped.css +6684 -6413
- package/dist/styles.css +6423 -6152
- package/dist/theme.css +364 -362
- package/dist/treeModel-BlPWVj4W.js +319 -0
- package/dist/treeModel-BlPWVj4W.js.map +1 -0
- package/dist/types/css.d.ts +4 -4
- package/dist/useBreakpoints-DHvp74UL.js +31 -0
- package/dist/useBreakpoints-DHvp74UL.js.map +1 -0
- package/dist/useColumnReorder-BxVZQ_Y5.js +119 -0
- package/dist/useColumnReorder-BxVZQ_Y5.js.map +1 -0
- package/dist/useColumnResize-wjfEyBBg.js +130 -0
- package/dist/useColumnResize-wjfEyBBg.js.map +1 -0
- 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-BAIp0kSF.js +44 -0
- package/dist/usePortalContainer-BAIp0kSF.js.map +1 -0
- package/dist/vendors/date-fns/index.d.ts +7 -14
- package/dist/vendors/date-fns/locale/en-US/index.d.ts +4 -0
- package/dist/vendors/date-fns/locale/ru/index.d.ts +4 -0
- package/dist/vendors/react-day-picker/index.d.ts +8 -17
- package/dist/vendors/react-hook-form/index.d.ts +8 -15
- package/dist/vendors/tanstack/react-table/index.d.ts +12 -0
- package/dist/vendors/tanstack/react-table.js.map +1 -1
- package/dist/vendors/zod/index.d.ts +8 -9
- package/dist/zod-BMNoK3aM.js.map +1 -1
- package/package.json +207 -205
- package/tailwind.preset.js +452 -448
- package/dist/AlertIcon-5B6AgZpe.js.map +0 -1
- package/dist/CheckboxField-cX09-eBX.js.map +0 -1
- package/dist/Command-ClIm4U7r.js.map +0 -1
- package/dist/Dialog-Bs1B5Iu8.js.map +0 -1
- package/dist/Field-BiIWtq9o.js +0 -86
- package/dist/Field-BiIWtq9o.js.map +0 -1
- package/dist/FieldLabel-QJ4rJFOi.js.map +0 -1
- package/dist/FormFooterTemplate-DPB6Dkxn.js.map +0 -1
- package/dist/FormStack-DO15vBgd.js.map +0 -1
- package/dist/IconTooltip-CKJKGHbk.js.map +0 -1
- package/dist/Popover-CY_d3Ggn.js.map +0 -1
- package/dist/SearchSelectTag-DFCX9zT1.js.map +0 -1
- package/dist/Select-B2WcoFf5.js.map +0 -1
- package/dist/Sheet-zTMuP7C8.js.map +0 -1
- package/dist/TextOverflowTooltip-DlUgic5y.js.map +0 -1
- package/dist/Tooltip-C4rVuWr4.js.map +0 -1
- package/dist/components/data-table/DataTable.stories.d.ts +0 -8
- package/dist/design-tokens.source.json +0 -1
- package/dist/index-BzCriPiK.js +0 -671
- package/dist/index-BzCriPiK.js.map +0 -1
- package/dist/index-CQD-Njgt.js.map +0 -1
- package/dist/index-DRo26PBK.js +0 -1525
- package/dist/index-DRo26PBK.js.map +0 -1
- package/dist/useBreakpoints-D8wKOvil.js +0 -103
- package/dist/useBreakpoints-D8wKOvil.js.map +0 -1
- package/dist/usePortalContainer-ae6EzS08.js +0 -39
- package/dist/usePortalContainer-ae6EzS08.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AlertIcon-5B6AgZpe.js","sources":["../src/components/alert/Alert.tsx","../src/components/alert/components/AlertDescription.tsx","../src/components/alert/components/AlertIcon.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { AlertContext } from \"./AlertContext\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface AlertVariants {\r\n\t/** Статус алерта */\r\n\tstatus?: \"success\" | \"warning\" | \"error\" | \"info\";\r\n\t/** Состояние фокуса */\r\n\tfocus?: \"low\" | \"medium\" | \"high\";\r\n}\r\n\r\nconst alertStyles = tv({\r\n\tbase: [\r\n\t\t\"group relative w-full items-start rounded-xl border border-secondary-border bg-secondary-bg px-4 py-3 text-sm\",\r\n\t\t\"grid grid-cols-[auto_1fr_auto] gap-y-1.5\"\r\n\t],\r\n\tvariants: {\r\n\t\tstatus: {\r\n\t\t\tsuccess: \"border-status-success-secondary-border bg-status-success-bg\",\r\n\t\t\twarning: \"border-status-warning-secondary-border bg-status-warning-bg\",\r\n\t\t\terror: \"border-status-error-secondary-border bg-status-error-bg\",\r\n\t\t\tinfo: \"border-status-info-secondary-border bg-status-info-bg\"\r\n\t\t},\r\n\t\tfocus: {\r\n\t\t\tlow: \"border-secondary-border bg-secondary-bg\",\r\n\t\t\tmedium: \"bg-secondary-bg\",\r\n\t\t\t// Не задаем bg, чтобы не переопределять status. Определяем в compoundVariants.\r\n\t\t\thigh: \"\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<AlertVariants>,\r\n\tcompoundVariants: [\r\n\t\t{\r\n\t\t\tstatus: undefined,\r\n\t\t\tfocus: \"high\",\r\n\t\t\tclass: \"bg-status-neutral-bg\"\r\n\t\t}\r\n\t],\r\n\tdefaultVariants: {\r\n\t\tfocus: \"low\"\r\n\t}\r\n});\r\n\r\nexport type AlertProps = React.HTMLAttributes<HTMLDivElement> & AlertVariants;\r\n\r\n/**\r\n * Компонент Alert для отображения уведомлений и сообщений\r\n */\r\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\r\n\t({ className, status, focus = \"low\", children, ...props }, ref) => {\r\n\t\tconst contextValue = React.useMemo(\r\n\t\t\t() => ({\r\n\t\t\t\tstatus,\r\n\t\t\t\tfocus\r\n\t\t\t}),\r\n\t\t\t[status, focus]\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t<AlertContext.Provider value={contextValue}>\r\n\t\t\t\t<div ref={ref} role=\"alert\" className={alertStyles({ status, focus, className })} {...props}>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</AlertContext.Provider>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nAlert.displayName = \"Alert\";\r\n","import { tv } from \"tailwind-variants\";\r\nimport React from \"react\";\r\nimport { useAlert } from \"../AlertContext\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport { AlertVariants } from \"../Alert\";\r\n\r\nconst alertDescriptionStyles = tv({\r\n\tbase: \"col-start-2 text-sm text-muted\",\r\n\tvariants: {\r\n\t\tstatus: {\r\n\t\t\tsuccess: \"text-status-success-fg\",\r\n\t\t\twarning: \"text-status-warning-fg\",\r\n\t\t\terror: \"text-status-error-fg\",\r\n\t\t\tinfo: \"text-status-info-fg\"\r\n\t\t},\r\n\t\tfocus: {\r\n\t\t\tlow: \"text-muted\",\r\n\t\t\tmedium: \"\",\r\n\t\t\thigh: \"\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<AlertVariants>,\r\n\tdefaultVariants: {\r\n\t\tfocus: \"low\"\r\n\t}\r\n});\r\n\r\nexport type AlertDescriptionProps = React.HTMLAttributes<HTMLParagraphElement> & AlertVariants;\r\n\r\n/**\r\n * Компонент AlertDescription для отображения описания алерта\r\n */\r\nexport const AlertDescription = React.forwardRef<HTMLParagraphElement, AlertDescriptionProps>(\r\n\t({ className, focus: focusProp, status: statusProp, ...props }, ref) => {\r\n\t\tconst { status, focus } = useAlert({ status: statusProp, focus: focusProp });\r\n\r\n\t\treturn <div ref={ref} className={alertDescriptionStyles({ className, focus, status })} {...props} />;\r\n\t}\r\n);\r\n\r\nAlertDescription.displayName = \"AlertDescription\";\r\n","import { Icon, IconProps } from \"@/components/icon/Icon\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { useAlert } from \"../AlertContext\";\r\nimport { AlertVariants } from \"../Alert\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\ntype AlertIconVariants = Omit<AlertVariants, \"focus\">;\r\n\r\nconst alertIconStyles = tv({\r\n\tbase: \"text-status-default mr-3 translate-y-0.5\",\r\n\tvariants: {\r\n\t\tstatus: {\r\n\t\t\tsuccess: \"text-status-success-hover\",\r\n\t\t\twarning: \"text-status-warning-hover\",\r\n\t\t\terror: \"text-status-error-hover\",\r\n\t\t\tinfo: \"text-status-info-hover\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<AlertIconVariants>\r\n});\r\n\r\nexport type AlertIconProps = IconProps & AlertIconVariants;\r\n\r\n/**\r\n * Компонент AlertIcon для отображения иконки алерта\r\n */\r\nexport const AlertIcon = React.forwardRef<SVGSVGElement, AlertIconProps>(\r\n\t({ className, status: statusProp, ...props }, ref) => {\r\n\t\tconst { status } = useAlert({ status: statusProp });\r\n\r\n\t\treturn <Icon ref={ref} className={alertIconStyles({ status, className })} {...props} />;\r\n\t}\r\n);\r\n\r\nAlertIcon.displayName = \"AlertIcon\";\r\n"],"names":["alertStyles","tv","Alert","React","className","status","focus","children","props","ref","contextValue","jsx","AlertContext","alertDescriptionStyles","AlertDescription","focusProp","statusProp","useAlert","alertIconStyles","AlertIcon","Icon"],"mappings":";;;;;;AAYA,MAAMA,IAAcC,EAAG;AAAA,EACtB,MAAM;AAAA,IACL;AAAA,IACA;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA;AAAA,MAER,MAAM;AAAA,IAAA;AAAA,EAER;AAAA,EACA,kBAAkB;AAAA,IACjB;AAAA,MACC,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,IAAA;AAAA,EAET;AAAA,EACA,iBAAiB;AAAA,IAChB,OAAO;AAAA,EAAA;AAET,CAAC,GAOYC,IAAQC,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,QAAAC,GAAQ,OAAAC,IAAQ,OAAO,UAAAC,GAAU,GAAGC,EAAM,GAAGC,MAAQ;AAClE,UAAMC,IAAeP,EAAM;AAAA,MAC1B,OAAO;AAAA,QACN,QAAAE;AAAA,QACA,OAAAC;AAAA,MAAA;AAAA,MAED,CAACD,GAAQC,CAAK;AAAA,IACf;AAGC,WAAA,gBAAAK,EAACC,EAAa,UAAb,EAAsB,OAAOF,GAC7B,UAAA,gBAAAC,EAAC,OAAI,EAAA,KAAAF,GAAU,MAAK,SAAQ,WAAWT,EAAY,EAAE,QAAAK,GAAQ,OAAAC,GAAO,WAAAF,EAAW,CAAA,GAAI,GAAGI,GACpF,UAAAD,EAAA,CACF,EACD,CAAA;AAAA,EAAA;AAGH;AAEAL,EAAM,cAAc;AC9DpB,MAAMW,IAAyBZ,EAAG;AAAA,EACjC,MAAM;AAAA,EACN,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA;AAAA,EAER;AAAA,EACA,iBAAiB;AAAA,IAChB,OAAO;AAAA,EAAA;AAET,CAAC,GAOYa,IAAmBX,EAAM;AAAA,EACrC,CAAC,EAAE,WAAAC,GAAW,OAAOW,GAAW,QAAQC,GAAY,GAAGR,EAAM,GAAGC,MAAQ;AACjE,UAAA,EAAE,QAAAJ,GAAQ,OAAAC,EAAA,IAAUW,EAAS,EAAE,QAAQD,GAAY,OAAOD,GAAW;AAE3E,WAAQ,gBAAAJ,EAAA,OAAA,EAAI,KAAAF,GAAU,WAAWI,EAAuB,EAAE,WAAAT,GAAW,OAAAE,GAAO,QAAAD,EAAO,CAAC,GAAI,GAAGG,EAAO,CAAA;AAAA,EAAA;AAEpG;AAEAM,EAAiB,cAAc;AC9B/B,MAAMI,IAAkBjB,EAAG;AAAA,EAC1B,MAAM;AAAA,EACN,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,EACP;AAEF,CAAC,GAOYkB,IAAYhB,EAAM;AAAA,EAC9B,CAAC,EAAE,WAAAC,GAAW,QAAQY,GAAY,GAAGR,KAASC,MAAQ;AACrD,UAAM,EAAE,QAAAJ,EAAO,IAAIY,EAAS,EAAE,QAAQD,GAAY;AAE3C,WAAA,gBAAAL,EAACS,GAAK,EAAA,KAAAX,GAAU,WAAWS,EAAgB,EAAE,QAAAb,GAAQ,WAAAD,EAAU,CAAC,GAAI,GAAGI,EAAO,CAAA;AAAA,EAAA;AAEvF;AAEAW,EAAU,cAAc;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxField-cX09-eBX.js","sources":["../node_modules/.pnpm/@radix-ui+react-checkbox@1._c3bf957356fa9b096a8972cab714fe1a/node_modules/@radix-ui/react-checkbox/dist/index.mjs","../src/components/checkbox/Checkbox.tsx","../src/components/checkbox/checkbox-field/CheckboxField.tsx"],"sourcesContent":["\"use client\";\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = React.useState(null);\n const [bubbleInput, setBubbleInput] = React.useState(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ jsx(\n CheckboxProviderImpl,\n {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n }\n );\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = React.forwardRef(\n ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n isFormControl,\n bubbleInput\n } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [control, setChecked]);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(onClick, (event) => {\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }\n);\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n return /* @__PURE__ */ jsx(\n CheckboxProvider,\n {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n CheckboxTrigger,\n {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n CheckboxBubbleInput,\n {\n __scopeCheckbox\n }\n )\n ] })\n }\n );\n }\n);\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n )\n }\n );\n }\n);\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = React.forwardRef(\n ({ __scopeCheckbox, ...props }, forwardedRef) => {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }\n);\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nexport {\n Checkbox,\n CheckboxIndicator,\n CheckboxIndicator as Indicator,\n Checkbox as Root,\n createCheckboxScope,\n CheckboxBubbleInput as unstable_BubbleInput,\n CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n CheckboxProvider as unstable_CheckboxProvider,\n CheckboxTrigger as unstable_CheckboxTrigger,\n CheckboxProvider as unstable_Provider,\n CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","import { VariantsConfig } from \"@/lib/utils/variants\";\r\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\r\nimport { Check, Minus } from \"lucide-react\";\r\nimport * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport interface CheckboxVariants {\r\n\tsize?: \"sm\" | \"md\";\r\n}\r\n\r\nexport const checkboxStyles = tv({\r\n\tslots: {\r\n\t\troot: [\r\n\t\t\t\"peer shrink-0 rounded-sm border border-primary-border bg-secondary-bg shadow-soft-sm\",\r\n\t\t\t\"flex items-center justify-center\",\r\n\t\t\t\"hover:border-muted hover:shadow-soft-base\",\r\n\t\t\t\"focus-visible:border-secondary-border focus-visible:shadow-focus focus-visible:outline-none\",\r\n\t\t\t\"disabled:cursor-not-allowed disabled:border-secondary-border disabled:bg-primary-bg disabled:shadow-soft-sm\",\r\n\t\t\t\"data-[state=checked]:border-primary-accent data-[state=checked]:bg-primary-accent data-[state=checked]:text-primary-bg\",\r\n\t\t\t\"data-[state=checked]:hover:border-primary-accent-hover data-[state=checked]:hover:bg-primary-accent-hover data-[state=checked]:hover:shadow-soft-base\",\r\n\t\t\t\"data-[state=checked]:focus-visible:shadow-focus\",\r\n\t\t\t\"data-[state=checked]:disabled:border-primary-accent data-[state=checked]:disabled:bg-primary-accent data-[state=checked]:disabled:opacity-50 data-[state=checked]:disabled:shadow-soft-sm\",\r\n\t\t\t\"data-[state=indeterminate]:border-primary-accent data-[state=indeterminate]:bg-primary-accent data-[state=indeterminate]:text-primary-bg\",\r\n\t\t\t\"data-[state=indeterminate]:hover:border-primary-accent-hover data-[state=indeterminate]:hover:bg-primary-accent-hover data-[state=indeterminate]:hover:shadow-soft-base\",\r\n\t\t\t\"data-[state=indeterminate]:focus-visible:shadow-focus\",\r\n\t\t\t\"data-[state=indeterminate]:disabled:border-primary-accent data-[state=indeterminate]:disabled:bg-primary-accent data-[state=indeterminate]:disabled:opacity-50 data-[state=indeterminate]:disabled:shadow-soft-sm\"\r\n\t\t],\r\n\t\ticon: \"\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: {\r\n\t\t\t\troot: \"size-3.5\",\r\n\t\t\t\ticon: \"size-3\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\troot: \"size-4\",\r\n\t\t\t\ticon: \"size-3.5\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<CheckboxVariants>,\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type CheckboxProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & CheckboxVariants;\r\n\r\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, CheckboxProps>(\r\n\t({ className, size, ...props }, ref) => {\r\n\t\tconst styles = checkboxStyles({ size });\r\n\t\treturn (\r\n\t\t\t<CheckboxPrimitive.Root ref={ref} className={styles.root({ class: className })} {...props}>\r\n\t\t\t\t<CheckboxPrimitive.Indicator>\r\n\t\t\t\t\t{props.checked === \"indeterminate\" ? (\r\n\t\t\t\t\t\t<Minus className={styles.icon()} />\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<Check className={styles.icon()} />\r\n\t\t\t\t\t)}\r\n\t\t\t\t</CheckboxPrimitive.Indicator>\r\n\t\t\t</CheckboxPrimitive.Root>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\r\n\r\nexport { Checkbox };\r\n","import * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\r\nimport { Checkbox, CheckboxProps } from \"../Checkbox\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport React, { useId } from \"react\";\r\nimport { FieldLabel } from \"@/components/label\";\r\nimport { Description } from \"@/components/description\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface CheckboxFieldVariants {\r\n\toutline?: boolean;\r\n\talignment?: \"left\" | \"right\";\r\n\tdisabled?: boolean;\r\n\terror?: boolean;\r\n\twithDescription?: boolean;\r\n}\r\n\r\nconst checkboxFieldStyles = tv({\r\n\tslots: {\r\n\t\tcontainer: \"flex cursor-pointer items-center space-x-3\",\r\n\t\ttextContainer: \"flex flex-col gap-1\",\r\n\t\tlabelWrapper: \"flex h-4 items-center\",\r\n\t\tlabel: \"cursor-pointer\"\r\n\t},\r\n\tvariants: {\r\n\t\toutline: {\r\n\t\t\ttrue: {\r\n\t\t\t\tcontainer: \"rounded-lg border border-secondary-border p-3 px-4\"\r\n\t\t\t}\r\n\t\t},\r\n\t\talignment: {\r\n\t\t\tleft: {},\r\n\t\t\tright: {\r\n\t\t\t\tcontainer: \"flex-row-reverse space-x-reverse\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tdisabled: {\r\n\t\t\ttrue: {\r\n\t\t\t\tcontainer: \"cursor-default\",\r\n\t\t\t\ttextContainer: \"opacity-50\",\r\n\t\t\t\tlabel: \"cursor-default text-primary-fg\"\r\n\t\t\t}\r\n\t\t},\r\n\t\terror: {\r\n\t\t\ttrue: {\r\n\t\t\t\tlabel: \"text-status-error\"\r\n\t\t\t}\r\n\t\t},\r\n\t\twithDescription: {\r\n\t\t\ttrue: { container: \"items-start\" }\r\n\t\t}\r\n\t} satisfies VariantsConfig<CheckboxFieldVariants>,\r\n\tdefaultVariants: {\r\n\t\talignment: \"left\"\r\n\t}\r\n});\r\n\r\nexport type CheckboxFieldProps = CheckboxProps &\r\n\tOmit<CheckboxFieldVariants, \"withDescription\"> & {\r\n\t\tlabel?: string;\r\n\t\tdescription?: string;\r\n\t};\r\n\r\nconst CheckboxField = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, CheckboxFieldProps>(\r\n\t({ className, id, label, alignment, disabled, error, outline, description, ...props }, ref) => {\r\n\t\tconst {\r\n\t\t\tcontainer,\r\n\t\t\ttextContainer,\r\n\t\t\tlabel: labelStyles,\r\n\t\t\tlabelWrapper\r\n\t\t} = checkboxFieldStyles({ alignment, disabled, error, outline, withDescription: !!description });\r\n\r\n\t\tconst generatedId = useId();\r\n\t\tconst checkboxId = id || `checkbox-${generatedId}`;\r\n\r\n\t\treturn (\r\n\t\t\t<label htmlFor={checkboxId} className={container({ class: className })}>\r\n\t\t\t\t<Checkbox disabled={disabled} id={checkboxId} {...props} ref={ref} />\r\n\t\t\t\t{(label || description) && (\r\n\t\t\t\t\t<div className={textContainer()}>\r\n\t\t\t\t\t\t{label && (\r\n\t\t\t\t\t\t\t<div className={labelWrapper()}>\r\n\t\t\t\t\t\t\t\t<FieldLabel htmlFor={checkboxId} className={labelStyles()}>\r\n\t\t\t\t\t\t\t\t\t{label}\r\n\t\t\t\t\t\t\t\t</FieldLabel>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{description && <Description size=\"xs\">{description}</Description>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</label>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nCheckboxField.displayName = \"CheckboxField\";\r\n\r\nexport { CheckboxField };\r\n"],"names":["CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","createContextScope","CheckboxProviderImpl","useCheckboxContext","CheckboxProvider","props","__scopeCheckbox","checkedProp","children","defaultChecked","disabled","form","name","onCheckedChange","required","value","internal_do_not_use_render","checked","setChecked","useControllableState","control","setControl","React","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","isFormControl","context","isIndeterminate","jsx","isFunction","TRIGGER_NAME","CheckboxTrigger","onKeyDown","onClick","checkboxProps","forwardedRef","composedRefs","useComposedRefs","initialCheckedStateRef","reset","Primitive","getState","composeEventHandlers","event","prevChecked","Checkbox","jsxs","Fragment","CheckboxBubbleInput","INDICATOR_NAME","CheckboxIndicator","forceMount","indicatorProps","Presence","BUBBLE_INPUT_NAME","usePrevious","controlSize","useSize","input","inputProto","bubbles","defaultCheckedRef","checkboxStyles","tv","className","size","ref","styles","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","Minus","Check","checkboxFieldStyles","CheckboxField","id","label","alignment","error","outline","description","container","textContainer","labelStyles","labelWrapper","generatedId","useId","checkboxId","FieldLabel","Description"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Command-ClIm4U7r.js","sources":["../node_modules/.pnpm/cmdk@1.1.1_@types+react-dom_e52941dcd4eb4b3a60339c5aac444699/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs","../node_modules/.pnpm/cmdk@1.1.1_@types+react-dom_e52941dcd4eb4b3a60339c5aac444699/node_modules/cmdk/dist/index.mjs","../src/components/command/Command.tsx"],"sourcesContent":["var U=1,Y=.9,H=.8,J=.17,p=.1,u=.999,$=.9999;var k=.99,m=/[\\\\\\/_+.#\"@\\[\\(\\{&]/,B=/[\\\\\\/_+.#\"@\\[\\(\\{&]/g,K=/[\\s-]/,X=/[\\s-]/g;function G(_,C,h,P,A,f,O){if(f===C.length)return A===_.length?U:k;var T=`${A},${f}`;if(O[T]!==void 0)return O[T];for(var L=P.charAt(f),c=h.indexOf(L,A),S=0,E,N,R,M;c>=0;)E=G(_,C,h,P,c+1,f+1,O),E>S&&(c===A?E*=U:m.test(_.charAt(c-1))?(E*=H,R=_.slice(A,c-1).match(B),R&&A>0&&(E*=Math.pow(u,R.length))):K.test(_.charAt(c-1))?(E*=Y,M=_.slice(A,c-1).match(X),M&&A>0&&(E*=Math.pow(u,M.length))):(E*=J,A>0&&(E*=Math.pow(u,c-A))),_.charAt(c)!==C.charAt(f)&&(E*=$)),(E<p&&h.charAt(c-1)===P.charAt(f+1)||P.charAt(f+1)===P.charAt(f)&&h.charAt(c-1)!==P.charAt(f))&&(N=G(_,C,h,P,c+1,f+2,O),N*p>E&&(E=N*p)),E>S&&(S=E),c=h.indexOf(L,c+1);return O[T]=S,S}function D(_){return _.toLowerCase().replace(X,\" \")}function W(_,C,h){return _=h&&h.length>0?`${_+\" \"+h.join(\" \")}`:_,G(_,C,D(_),D(C),0,0,{})}export{W as a};\n","\"use client\";import{a as ae}from\"./chunk-NZJY6EH4.mjs\";import*as w from\"@radix-ui/react-dialog\";import*as t from\"react\";import{Primitive as D}from\"@radix-ui/react-primitive\";import{useId as H}from\"@radix-ui/react-id\";import{composeRefs as G}from\"@radix-ui/react-compose-refs\";var N='[cmdk-group=\"\"]',Y='[cmdk-group-items=\"\"]',be='[cmdk-group-heading=\"\"]',le='[cmdk-item=\"\"]',ce=`${le}:not([aria-disabled=\"true\"])`,Z=\"cmdk-item-select\",T=\"data-value\",Re=(r,o,n)=>ae(r,o,n),ue=t.createContext(void 0),K=()=>t.useContext(ue),de=t.createContext(void 0),ee=()=>t.useContext(de),fe=t.createContext(void 0),me=t.forwardRef((r,o)=>{let n=L(()=>{var e,a;return{search:\"\",value:(a=(e=r.value)!=null?e:r.defaultValue)!=null?a:\"\",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),u=L(()=>new Set),c=L(()=>new Map),d=L(()=>new Map),f=L(()=>new Set),p=pe(r),{label:b,children:m,value:R,onValueChange:x,filter:C,shouldFilter:S,loop:A,disablePointerSelection:ge=!1,vimBindings:j=!0,...O}=r,$=H(),q=H(),_=H(),I=t.useRef(null),v=ke();k(()=>{if(R!==void 0){let e=R.trim();n.current.value=e,E.emit()}},[R]),k(()=>{v(6,ne)},[]);let E=t.useMemo(()=>({subscribe:e=>(f.current.add(e),()=>f.current.delete(e)),snapshot:()=>n.current,setState:(e,a,s)=>{var i,l,g,y;if(!Object.is(n.current[e],a)){if(n.current[e]=a,e===\"search\")J(),z(),v(1,W);else if(e===\"value\"){if(document.activeElement.hasAttribute(\"cmdk-input\")||document.activeElement.hasAttribute(\"cmdk-root\")){let h=document.getElementById(_);h?h.focus():(i=document.getElementById($))==null||i.focus()}if(v(7,()=>{var h;n.current.selectedItemId=(h=M())==null?void 0:h.id,E.emit()}),s||v(5,ne),((l=p.current)==null?void 0:l.value)!==void 0){let h=a!=null?a:\"\";(y=(g=p.current).onValueChange)==null||y.call(g,h);return}}E.emit()}},emit:()=>{f.current.forEach(e=>e())}}),[]),U=t.useMemo(()=>({value:(e,a,s)=>{var i;a!==((i=d.current.get(e))==null?void 0:i.value)&&(d.current.set(e,{value:a,keywords:s}),n.current.filtered.items.set(e,te(a,s)),v(2,()=>{z(),E.emit()}))},item:(e,a)=>(u.current.add(e),a&&(c.current.has(a)?c.current.get(a).add(e):c.current.set(a,new Set([e]))),v(3,()=>{J(),z(),n.current.value||W(),E.emit()}),()=>{d.current.delete(e),u.current.delete(e),n.current.filtered.items.delete(e);let s=M();v(4,()=>{J(),(s==null?void 0:s.getAttribute(\"id\"))===e&&W(),E.emit()})}),group:e=>(c.current.has(e)||c.current.set(e,new Set),()=>{d.current.delete(e),c.current.delete(e)}),filter:()=>p.current.shouldFilter,label:b||r[\"aria-label\"],getDisablePointerSelection:()=>p.current.disablePointerSelection,listId:$,inputId:_,labelId:q,listInnerRef:I}),[]);function te(e,a){var i,l;let s=(l=(i=p.current)==null?void 0:i.filter)!=null?l:Re;return e?s(e,n.current.search,a):0}function z(){if(!n.current.search||p.current.shouldFilter===!1)return;let e=n.current.filtered.items,a=[];n.current.filtered.groups.forEach(i=>{let l=c.current.get(i),g=0;l.forEach(y=>{let h=e.get(y);g=Math.max(h,g)}),a.push([i,g])});let s=I.current;V().sort((i,l)=>{var h,F;let g=i.getAttribute(\"id\"),y=l.getAttribute(\"id\");return((h=e.get(y))!=null?h:0)-((F=e.get(g))!=null?F:0)}).forEach(i=>{let l=i.closest(Y);l?l.appendChild(i.parentElement===l?i:i.closest(`${Y} > *`)):s.appendChild(i.parentElement===s?i:i.closest(`${Y} > *`))}),a.sort((i,l)=>l[1]-i[1]).forEach(i=>{var g;let l=(g=I.current)==null?void 0:g.querySelector(`${N}[${T}=\"${encodeURIComponent(i[0])}\"]`);l==null||l.parentElement.appendChild(l)})}function W(){let e=V().find(s=>s.getAttribute(\"aria-disabled\")!==\"true\"),a=e==null?void 0:e.getAttribute(T);E.setState(\"value\",a||void 0)}function J(){var a,s,i,l;if(!n.current.search||p.current.shouldFilter===!1){n.current.filtered.count=u.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let g of u.current){let y=(s=(a=d.current.get(g))==null?void 0:a.value)!=null?s:\"\",h=(l=(i=d.current.get(g))==null?void 0:i.keywords)!=null?l:[],F=te(y,h);n.current.filtered.items.set(g,F),F>0&&e++}for(let[g,y]of c.current)for(let h of y)if(n.current.filtered.items.get(h)>0){n.current.filtered.groups.add(g);break}n.current.filtered.count=e}function ne(){var a,s,i;let e=M();e&&(((a=e.parentElement)==null?void 0:a.firstChild)===e&&((i=(s=e.closest(N))==null?void 0:s.querySelector(be))==null||i.scrollIntoView({block:\"nearest\"})),e.scrollIntoView({block:\"nearest\"}))}function M(){var e;return(e=I.current)==null?void 0:e.querySelector(`${le}[aria-selected=\"true\"]`)}function V(){var e;return Array.from(((e=I.current)==null?void 0:e.querySelectorAll(ce))||[])}function X(e){let s=V()[e];s&&E.setState(\"value\",s.getAttribute(T))}function Q(e){var g;let a=M(),s=V(),i=s.findIndex(y=>y===a),l=s[i+e];(g=p.current)!=null&&g.loop&&(l=i+e<0?s[s.length-1]:i+e===s.length?s[0]:s[i+e]),l&&E.setState(\"value\",l.getAttribute(T))}function re(e){let a=M(),s=a==null?void 0:a.closest(N),i;for(;s&&!i;)s=e>0?we(s,N):De(s,N),i=s==null?void 0:s.querySelector(ce);i?E.setState(\"value\",i.getAttribute(T)):Q(e)}let oe=()=>X(V().length-1),ie=e=>{e.preventDefault(),e.metaKey?oe():e.altKey?re(1):Q(1)},se=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?re(-1):Q(-1)};return t.createElement(D.div,{ref:o,tabIndex:-1,...O,\"cmdk-root\":\"\",onKeyDown:e=>{var s;(s=O.onKeyDown)==null||s.call(O,e);let a=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||a))switch(e.key){case\"n\":case\"j\":{j&&e.ctrlKey&&ie(e);break}case\"ArrowDown\":{ie(e);break}case\"p\":case\"k\":{j&&e.ctrlKey&&se(e);break}case\"ArrowUp\":{se(e);break}case\"Home\":{e.preventDefault(),X(0);break}case\"End\":{e.preventDefault(),oe();break}case\"Enter\":{e.preventDefault();let i=M();if(i){let l=new Event(Z);i.dispatchEvent(l)}}}}},t.createElement(\"label\",{\"cmdk-label\":\"\",htmlFor:U.inputId,id:U.labelId,style:Te},b),B(r,e=>t.createElement(de.Provider,{value:E},t.createElement(ue.Provider,{value:U},e))))}),he=t.forwardRef((r,o)=>{var _,I;let n=H(),u=t.useRef(null),c=t.useContext(fe),d=K(),f=pe(r),p=(I=(_=f.current)==null?void 0:_.forceMount)!=null?I:c==null?void 0:c.forceMount;k(()=>{if(!p)return d.item(n,c==null?void 0:c.id)},[p]);let b=ve(n,u,[r.value,r.children,u],r.keywords),m=ee(),R=P(v=>v.value&&v.value===b.current),x=P(v=>p||d.filter()===!1?!0:v.search?v.filtered.items.get(n)>0:!0);t.useEffect(()=>{let v=u.current;if(!(!v||r.disabled))return v.addEventListener(Z,C),()=>v.removeEventListener(Z,C)},[x,r.onSelect,r.disabled]);function C(){var v,E;S(),(E=(v=f.current).onSelect)==null||E.call(v,b.current)}function S(){m.setState(\"value\",b.current,!0)}if(!x)return null;let{disabled:A,value:ge,onSelect:j,forceMount:O,keywords:$,...q}=r;return t.createElement(D.div,{ref:G(u,o),...q,id:n,\"cmdk-item\":\"\",role:\"option\",\"aria-disabled\":!!A,\"aria-selected\":!!R,\"data-disabled\":!!A,\"data-selected\":!!R,onPointerMove:A||d.getDisablePointerSelection()?void 0:S,onClick:A?void 0:C},r.children)}),Ee=t.forwardRef((r,o)=>{let{heading:n,children:u,forceMount:c,...d}=r,f=H(),p=t.useRef(null),b=t.useRef(null),m=H(),R=K(),x=P(S=>c||R.filter()===!1?!0:S.search?S.filtered.groups.has(f):!0);k(()=>R.group(f),[]),ve(f,p,[r.value,r.heading,b]);let C=t.useMemo(()=>({id:f,forceMount:c}),[c]);return t.createElement(D.div,{ref:G(p,o),...d,\"cmdk-group\":\"\",role:\"presentation\",hidden:x?void 0:!0},n&&t.createElement(\"div\",{ref:b,\"cmdk-group-heading\":\"\",\"aria-hidden\":!0,id:m},n),B(r,S=>t.createElement(\"div\",{\"cmdk-group-items\":\"\",role:\"group\",\"aria-labelledby\":n?m:void 0},t.createElement(fe.Provider,{value:C},S))))}),ye=t.forwardRef((r,o)=>{let{alwaysRender:n,...u}=r,c=t.useRef(null),d=P(f=>!f.search);return!n&&!d?null:t.createElement(D.div,{ref:G(c,o),...u,\"cmdk-separator\":\"\",role:\"separator\"})}),Se=t.forwardRef((r,o)=>{let{onValueChange:n,...u}=r,c=r.value!=null,d=ee(),f=P(m=>m.search),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{r.value!=null&&d.setState(\"search\",r.value)},[r.value]),t.createElement(D.input,{ref:o,...u,\"cmdk-input\":\"\",autoComplete:\"off\",autoCorrect:\"off\",spellCheck:!1,\"aria-autocomplete\":\"list\",role:\"combobox\",\"aria-expanded\":!0,\"aria-controls\":b.listId,\"aria-labelledby\":b.labelId,\"aria-activedescendant\":p,id:b.inputId,type:\"text\",value:c?r.value:f,onChange:m=>{c||d.setState(\"search\",m.target.value),n==null||n(m.target.value)}})}),Ce=t.forwardRef((r,o)=>{let{children:n,label:u=\"Suggestions\",...c}=r,d=t.useRef(null),f=t.useRef(null),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{if(f.current&&d.current){let m=f.current,R=d.current,x,C=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let S=m.offsetHeight;R.style.setProperty(\"--cmdk-list-height\",S.toFixed(1)+\"px\")})});return C.observe(m),()=>{cancelAnimationFrame(x),C.unobserve(m)}}},[]),t.createElement(D.div,{ref:G(d,o),...c,\"cmdk-list\":\"\",role:\"listbox\",tabIndex:-1,\"aria-activedescendant\":p,\"aria-label\":u,id:b.listId},B(r,m=>t.createElement(\"div\",{ref:G(f,b.listInnerRef),\"cmdk-list-sizer\":\"\"},m)))}),xe=t.forwardRef((r,o)=>{let{open:n,onOpenChange:u,overlayClassName:c,contentClassName:d,container:f,...p}=r;return t.createElement(w.Root,{open:n,onOpenChange:u},t.createElement(w.Portal,{container:f},t.createElement(w.Overlay,{\"cmdk-overlay\":\"\",className:c}),t.createElement(w.Content,{\"aria-label\":r.label,\"cmdk-dialog\":\"\",className:d},t.createElement(me,{ref:o,...p}))))}),Ie=t.forwardRef((r,o)=>P(u=>u.filtered.count===0)?t.createElement(D.div,{ref:o,...r,\"cmdk-empty\":\"\",role:\"presentation\"}):null),Pe=t.forwardRef((r,o)=>{let{progress:n,children:u,label:c=\"Loading...\",...d}=r;return t.createElement(D.div,{ref:o,...d,\"cmdk-loading\":\"\",role:\"progressbar\",\"aria-valuenow\":n,\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-label\":c},B(r,f=>t.createElement(\"div\",{\"aria-hidden\":!0},f)))}),_e=Object.assign(me,{List:Ce,Item:he,Input:Se,Group:Ee,Separator:ye,Dialog:xe,Empty:Ie,Loading:Pe});function we(r,o){let n=r.nextElementSibling;for(;n;){if(n.matches(o))return n;n=n.nextElementSibling}}function De(r,o){let n=r.previousElementSibling;for(;n;){if(n.matches(o))return n;n=n.previousElementSibling}}function pe(r){let o=t.useRef(r);return k(()=>{o.current=r}),o}var k=typeof window==\"undefined\"?t.useEffect:t.useLayoutEffect;function L(r){let o=t.useRef();return o.current===void 0&&(o.current=r()),o}function P(r){let o=ee(),n=()=>r(o.snapshot());return t.useSyncExternalStore(o.subscribe,n,n)}function ve(r,o,n,u=[]){let c=t.useRef(),d=K();return k(()=>{var b;let f=(()=>{var m;for(let R of n){if(typeof R==\"string\")return R.trim();if(typeof R==\"object\"&&\"current\"in R)return R.current?(m=R.current.textContent)==null?void 0:m.trim():c.current}})(),p=u.map(m=>m.trim());d.value(r,f,p),(b=o.current)==null||b.setAttribute(T,f),c.current=f}),c}var ke=()=>{let[r,o]=t.useState(),n=L(()=>new Map);return k(()=>{n.current.forEach(u=>u()),n.current=new Map},[r]),(u,c)=>{n.current.set(u,c),o({})}};function Me(r){let o=r.type;return typeof o==\"function\"?o(r.props):\"render\"in o?o.render(r.props):r}function B({asChild:r,children:o},n){return r&&t.isValidElement(o)?t.cloneElement(Me(o),{ref:o.ref},n(o.props.children)):n(o)}var Te={position:\"absolute\",width:\"1px\",height:\"1px\",padding:\"0\",margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\"};export{_e as Command,xe as CommandDialog,Ie as CommandEmpty,Ee as CommandGroup,Se as CommandInput,he as CommandItem,Ce as CommandList,Pe as CommandLoading,me as CommandRoot,ye as CommandSeparator,Re as defaultFilter,P as useCommandState};\n","import * as React from \"react\";\r\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\r\nimport { Command as CommandPrimitive } from \"cmdk\";\r\nimport { Search } from \"lucide-react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { MENU_ITEM_ANATOMY, menuItemStyles } from \"../menu-item\";\r\nimport { Icon } from \"../icon\";\r\nimport { narrowVariant, useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport { menuItemShortcutStyles } from \"../menu-item/components/menu-item-shortcut/MenuItemShortcut\";\r\nimport { menuItemTextStyles } from \"../menu-item/components/menu-item-text/MenuItemText\";\r\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from \"../dialog\";\r\nimport { ScrollShadowContainer } from \"../scroll-shadow-container\";\r\nimport { ScrollShadowContainerProps } from \"../scroll-shadow-container/ScrollShadowContainer\";\r\n\r\nconst commandStyles = tv({\r\n\tbase: \"flex h-full w-full flex-col overflow-hidden rounded-lg bg-secondary-bg text-primary-fg shadow-soft-md\",\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"border-inverse-border bg-inverse-primary-bg text-inverse-primary-fg shadow-hard-md\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst glassCommandStyles = tv({\r\n\tbase: \"backdrop-glass-regular flex h-full w-full flex-col overflow-hidden rounded-2xl bg-alpha-40 text-primary-fg shadow-glass-md\"\r\n});\r\n\r\nconst Command = React.forwardRef<\r\n\tReact.ElementRef<typeof CommandPrimitive>,\r\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive>\r\n>(({ className, ...props }, ref) => {\r\n\tconst { variant } = useComponentVariant();\r\n\tconst commandClassName =\r\n\t\tvariant === \"glass\" ? glassCommandStyles({ className }) : commandStyles({ className, theme: variant });\r\n\r\n\treturn <CommandPrimitive ref={ref} data-slot=\"command\" className={commandClassName} {...props} />;\r\n});\r\nCommand.displayName = CommandPrimitive.displayName;\r\n\r\nconst commandDialogStyles = tv({\r\n\tslots: {\r\n\t\tcontent: \"overflow-hidden border-none p-0 shadow-soft-2xl\",\r\n\t\tcommand: [\r\n\t\t\t\"rounded-xl\",\r\n\t\t\t\"[&_[cmdk-group-heading]]:px-3 [&_[cmdk-group-heading]]:font-normal [&_[cmdk-group-heading]]:text-muted\",\r\n\t\t\t\"[&_[cmdk-group]]:px-1\",\r\n\t\t\t\"[&_[cmdk-input-wrapper]_svg]:h-4 [&_[cmdk-input-wrapper]_svg]:w-4\",\r\n\t\t\t\"[&_[cmdk-input-wrapper]]:pl-4\",\r\n\t\t\t\"[&_[cmdk-group-items]]:p-1\",\r\n\t\t\t\"[&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-1.5\",\r\n\t\t\t\"[&_[cmdk-item]_svg]:h-4 [&_[cmdk-item]_svg]:w-4\"\r\n\t\t]\r\n\t},\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: {\r\n\t\t\t\tcommand: \"border-inverse-border\"\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst glassCommandDialogStyles = tv({\r\n\tslots: {\r\n\t\tcontent: \"backdrop-glass-regular overflow-hidden border-none bg-alpha-40 p-0 shadow-glass-md\",\r\n\t\tcommand: [\r\n\t\t\t\"rounded-xl\",\r\n\t\t\t\"[&_[cmdk-group-heading]]:px-3 [&_[cmdk-group-heading]]:font-normal [&_[cmdk-group-heading]]:text-muted\",\r\n\t\t\t\"[&_[cmdk-group]]:px-1\",\r\n\t\t\t\"[&_[cmdk-input-wrapper]_svg]:h-4 [&_[cmdk-input-wrapper]_svg]:w-4\",\r\n\t\t\t\"[&_[cmdk-input-wrapper]]:pl-4\",\r\n\t\t\t\"[&_[cmdk-group-items]]:p-1\",\r\n\t\t\t\"[&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-1.5\",\r\n\t\t\t\"[&_[cmdk-item]_svg]:h-4 [&_[cmdk-item]_svg]:w-4\"\r\n\t\t]\r\n\t}\r\n});\r\n\r\nconst CommandDialog = ({\r\n\ttitle = \"Command Palette\",\r\n\tdescription = \"Search for a command to run...\",\r\n\tchildren,\r\n\tclassName,\r\n\toverlayType,\r\n\toverlayBlur,\r\n\t...props\r\n}: DialogProps & {\r\n\ttitle?: string;\r\n\tdescription?: string;\r\n\tclassName?: string;\r\n\toverlayType?: React.ComponentProps<typeof DialogContent>[\"overlayType\"];\r\n\toverlayBlur?: React.ComponentProps<typeof DialogContent>[\"overlayBlur\"];\r\n}) => {\r\n\tconst { variant } = useComponentVariant();\r\n\tconst styles = variant === \"glass\" ? glassCommandDialogStyles() : commandDialogStyles();\r\n\treturn (\r\n\t\t<Dialog {...props}>\r\n\t\t\t<DialogHeader className=\"!sr-only\">\r\n\t\t\t\t<DialogTitle>{title}</DialogTitle>\r\n\t\t\t\t<DialogDescription>{description}</DialogDescription>\r\n\t\t\t</DialogHeader>\r\n\t\t\t<DialogContent\r\n\t\t\t\tclassName={styles.content({ className })}\r\n\t\t\t\toverlayType={overlayType}\r\n\t\t\t\toverlayBlur={overlayBlur}\r\n\t\t\t\tshowCloseButton={false}\r\n\t\t\t>\r\n\t\t\t\t<Command className={styles.command()}>{children}</Command>\r\n\t\t\t</DialogContent>\r\n\t\t</Dialog>\r\n\t);\r\n};\r\n\r\nconst commandInputStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex items-center border-b border-secondary-border pl-3 pr-2\",\r\n\t\tsearch: \"mr-2 h-4 w-4 shrink-0 text-muted\",\r\n\t\tinput: \"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted disabled:cursor-not-allowed disabled:opacity-50\"\r\n\t},\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: {\r\n\t\t\t\twrapper: \"border-inverse-border\",\r\n\t\t\t\tsearch: \"text-inverse-muted\",\r\n\t\t\t\tinput: \"placeholder:text-inverse-muted\"\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ntype CommandInputProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input> & {\r\n\twrapperClassName?: string;\r\n};\r\n\r\nconst glassCommandInputStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex items-center border-b border-primary-border pl-3 pr-2\",\r\n\t\tsearch: \"mr-2 h-4 w-4 shrink-0 text-muted\",\r\n\t\tinput: \"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted disabled:cursor-not-allowed disabled:opacity-50\"\r\n\t}\r\n});\r\n\r\nconst CommandInput = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Input>, CommandInputProps>(\r\n\t({ className, wrapperClassName, ...props }, ref) => {\r\n\t\tconst { variant } = useComponentVariant();\r\n\t\tconst styles = variant === \"glass\" ? glassCommandInputStyles() : commandInputStyles({ theme: variant });\r\n\r\n\t\treturn (\r\n\t\t\t<div\r\n\t\t\t\tclassName={styles.wrapper({ className: wrapperClassName })}\r\n\t\t\t\tdata-slot=\"command-input-wrapper\"\r\n\t\t\t\tcmdk-input-wrapper=\"\"\r\n\t\t\t>\r\n\t\t\t\t<Icon icon={Search} className={styles.search()} />\r\n\t\t\t\t<CommandPrimitive.Input\r\n\t\t\t\t\tref={ref}\r\n\t\t\t\t\tdata-slot=\"command-input\"\r\n\t\t\t\t\tclassName={styles.input({ className })}\r\n\t\t\t\t\t{...props}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nCommandInput.displayName = CommandPrimitive.Input.displayName;\r\n\r\nconst commandListStyles = tv({\r\n\tbase: \"max-h-[300px] overflow-y-auto overflow-x-hidden outline-none\"\r\n});\r\n\r\nconst CommandList = React.forwardRef<\r\n\tReact.ElementRef<typeof CommandPrimitive.List>,\r\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\r\n>(({ className, ...props }, ref) => (\r\n\t<CommandPrimitive.List ref={ref} data-slot=\"command-list\" className={commandListStyles({ className })} {...props} />\r\n));\r\n\r\nconst commandListContainerStyles = tv({\r\n\tbase: \"max-h-[300px] overflow-x-hidden outline-none\"\r\n});\r\n\r\nexport type CommandListScrollShadowProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> & {\r\n\tcontainerClassName?: string;\r\n\tshadowSize?: ScrollShadowContainerProps[\"shadowSize\"];\r\n};\r\n\r\nconst CommandListContainer = React.forwardRef<\r\n\tReact.ElementRef<typeof CommandPrimitive.List>,\r\n\tCommandListScrollShadowProps\r\n>(({ className, containerClassName, shadowSize, ...props }, ref) => (\r\n\t<ScrollShadowContainer\r\n\t\tclassName={commandListContainerStyles({ className: containerClassName })}\r\n\t\tdata-slot=\"command-list-scroll-shadow\"\r\n\t\tshadowSize={shadowSize}\r\n\t>\r\n\t\t<CommandPrimitive.List ref={ref} data-slot=\"command-list\" className={className} {...props} />\r\n\t</ScrollShadowContainer>\r\n));\r\n\r\nCommandList.displayName = CommandPrimitive.List.displayName;\r\nCommandListContainer.displayName = \"CommandListContainer\";\r\n\r\nconst commandEmptyStyles = tv({\r\n\textend: menuItemTextStyles,\r\n\tbase: \"flex items-center justify-center px-3 py-6 text-secondary-fg\"\r\n});\r\n\r\nconst CommandEmpty = React.forwardRef<\r\n\tReact.ElementRef<typeof CommandPrimitive.Empty>,\r\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\r\n>(({ className, ...props }, ref) => {\r\n\tconst { variant } = useComponentVariant();\r\n\tconst theme = narrowVariant(variant, [\"inverse\"]);\r\n\r\n\treturn (\r\n\t\t<CommandPrimitive.Empty\r\n\t\t\tref={ref}\r\n\t\t\tdata-slot=\"command-empty\"\r\n\t\t\tclassName={commandEmptyStyles({ className, theme })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\r\n\r\nconst commandGroupStyles = tv({\r\n\tbase: \"overflow-hidden p-1 text-primary-fg [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:text-muted\",\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"text-inverse-primary-fg [&_[cmdk-group-heading]]:text-inverse-muted\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst glassCommandGroupStyles = tv({\r\n\tbase: \"overflow-hidden p-2 text-primary-fg [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:text-muted\"\r\n});\r\n\r\nconst CommandGroup = React.forwardRef<\r\n\tReact.ElementRef<typeof CommandPrimitive.Group>,\r\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\r\n>(({ className, ...props }, ref) => {\r\n\tconst { variant } = useComponentVariant();\r\n\tconst groupClassName =\r\n\t\tvariant === \"glass\"\r\n\t\t\t? glassCommandGroupStyles({ className })\r\n\t\t\t: commandGroupStyles({ className, theme: variant });\r\n\r\n\treturn <CommandPrimitive.Group ref={ref} data-slot=\"command-group\" className={groupClassName} {...props} />;\r\n});\r\n\r\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\r\n\r\nconst commandSeparatorStyles = tv({\r\n\tbase: \"mx-1 h-px bg-secondary-border\",\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"bg-inverse-border\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst glassCommandSeparatorStyles = tv({\r\n\tbase: \"mx-1 h-px bg-primary-border\"\r\n});\r\n\r\nconst CommandSeparator = React.forwardRef<\r\n\tReact.ElementRef<typeof CommandPrimitive.Separator>,\r\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\r\n>(({ className, ...props }, ref) => {\r\n\tconst { variant } = useComponentVariant();\r\n\tconst separatorClassName =\r\n\t\tvariant === \"glass\"\r\n\t\t\t? glassCommandSeparatorStyles({ className })\r\n\t\t\t: commandSeparatorStyles({ className, theme: variant });\r\n\r\n\treturn (\r\n\t\t<CommandPrimitive.Separator ref={ref} data-slot=\"command-separator\" className={separatorClassName} {...props} />\r\n\t);\r\n});\r\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\r\n\r\nconst commandItemStyles = tv({\r\n\textend: menuItemStyles,\r\n\tbase: \"pr-2 data-[disabled=true]:pointer-events-none data-[selected=true]:bg-secondary-bg-hover data-[selected=true]:text-primary-fg data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\"\r\n});\r\n\r\nconst glassCommandItemStyles = tv({\r\n\tbase: [\r\n\t\t...MENU_ITEM_ANATOMY,\r\n\t\t\"rounded-lg bg-transparent pr-2 text-primary-fg\",\r\n\t\t\"hover:bg-secondary-border focus:bg-secondary-border\",\r\n\t\t\"[&:has([data-menu-item-action]:hover)]:bg-secondary-border\",\r\n\t\t\"data-[selected=true]:bg-secondary-border data-[selected=true]:text-primary-fg\",\r\n\t\t\"[&_svg]:pointer-events-none [&_svg]:shrink-0\"\r\n\t],\r\n\tvariants: {\r\n\t\tdisabled: {\r\n\t\t\ttrue: \"pointer-events-none opacity-50\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst CommandItem = React.forwardRef<\r\n\tReact.ElementRef<typeof CommandPrimitive.Item>,\r\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\r\n>(({ className, disabled, children, ...props }, ref) => {\r\n\tconst { variant } = useComponentVariant();\r\n\tconst itemClassName =\r\n\t\tvariant === \"glass\"\r\n\t\t\t? glassCommandItemStyles({ className, disabled })\r\n\t\t\t: commandItemStyles({ className, disabled, theme: variant });\r\n\r\n\treturn (\r\n\t\t<CommandPrimitive.Item\r\n\t\t\tdisabled={disabled}\r\n\t\t\tref={ref}\r\n\t\t\tdata-slot=\"command-item\"\r\n\t\t\tclassName={itemClassName}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</CommandPrimitive.Item>\r\n\t);\r\n});\r\n\r\nCommandItem.displayName = CommandPrimitive.Item.displayName;\r\n\r\nconst commandShortcutStyles = tv({\r\n\textend: menuItemShortcutStyles,\r\n\tbase: \"ml-auto text-xs tracking-widest\"\r\n});\r\n\r\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\r\n\tconst { variant } = useComponentVariant();\r\n\tconst theme = narrowVariant(variant, [\"inverse\"]);\r\n\r\n\treturn <span data-slot=\"command-shortcut\" className={commandShortcutStyles({ className, theme })} {...props} />;\r\n};\r\nCommandShortcut.displayName = \"CommandShortcut\";\r\n\r\nconst commandFooterStyles = tv({\r\n\tbase: \"flex items-center gap-1 border-t border-secondary-border bg-alpha-60 px-4 py-2.5 text-xs text-secondary-fg\",\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"border-inverse-border bg-alpha-high-60 text-inverse-secondary-fg\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst glassCommandFooterStyles = tv({\r\n\tbase: \"flex items-center gap-1 border-t border-primary-border bg-alpha-40 px-4 py-2.5 text-xs text-secondary-fg\"\r\n});\r\n\r\nconst CommandFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst { variant } = useComponentVariant();\r\n\t\tconst footerClassName =\r\n\t\t\tvariant === \"glass\"\r\n\t\t\t\t? glassCommandFooterStyles({ className })\r\n\t\t\t\t: commandFooterStyles({ className, theme: variant });\r\n\r\n\t\treturn <div ref={ref} data-slot=\"command-footer\" className={footerClassName} {...props} />;\r\n\t}\r\n);\r\nCommandFooter.displayName = \"CommandFooter\";\r\n\r\nexport {\r\n\tCommand,\r\n\tCommandDialog,\r\n\tCommandInput,\r\n\tCommandList,\r\n\tCommandListContainer,\r\n\tCommandEmpty,\r\n\tCommandGroup,\r\n\tCommandItem,\r\n\tCommandShortcut,\r\n\tCommandSeparator,\r\n\tCommandFooter\r\n};\r\n"],"names":["U","Y","H","J","p","u","$","k","m","B","K","X","G","_","C","h","P","A","f","O","T","L","c","S","E","N","R","M","D","W","be","le","ce","Z","Re","r","o","n","ae","ue","t","de","ee","fe","me","e","a","pe","b","x","ge","j","q","I","v","ke","ne","s","i","l","g","y","z","te","F","Q","re","we","De","oe","ie","se","Te","he","d","ve","Ee","ye","Se","Ce","xe","w.Root","w.Portal","w.Overlay","w.Content","Ie","Pe","_e","Me","commandStyles","tv","glassCommandStyles","Command","React","className","props","ref","variant","useComponentVariant","commandClassName","jsx","CommandPrimitive","commandDialogStyles","glassCommandDialogStyles","CommandDialog","title","description","children","overlayType","overlayBlur","styles","jsxs","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogContent","commandInputStyles","glassCommandInputStyles","CommandInput","wrapperClassName","Icon","Search","commandListStyles","CommandList","commandListContainerStyles","CommandListContainer","containerClassName","shadowSize","ScrollShadowContainer","commandEmptyStyles","menuItemTextStyles","CommandEmpty","theme","narrowVariant","commandGroupStyles","glassCommandGroupStyles","CommandGroup","groupClassName","commandSeparatorStyles","glassCommandSeparatorStyles","CommandSeparator","separatorClassName","commandItemStyles","menuItemStyles","glassCommandItemStyles","MENU_ITEM_ANATOMY","CommandItem","disabled","itemClassName","commandShortcutStyles","menuItemShortcutStyles","CommandShortcut","commandFooterStyles","glassCommandFooterStyles","CommandFooter","footerClassName"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog-Bs1B5Iu8.js","sources":["../src/components/dialog/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from \"@radix-ui/react-dialog\";\r\nimport { X } from \"lucide-react\";\r\nimport * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { FormBody } from \"../form/components/form-body/FormBody\";\r\nimport { FormFooter } from \"../form/components/form-footer/FormFooter\";\r\nimport { formDescriptionStyles, FormHeader, formTitleStyles } from \"../form/components/form-header/FormHeader\";\r\nimport { Icon } from \"../icon\";\r\nimport { overlayStyles, OverlayVariants } from \"../overlay/Overlay\";\r\nimport { usePortalContainer } from \"../portal-container\";\r\n\r\nconst Dialog = DialogPrimitive.Root;\r\nDialog.displayName = \"Dialog\";\r\n\r\nconst DialogTrigger = DialogPrimitive.Trigger;\r\nDialogTrigger.displayName = \"DialogTrigger\";\r\n\r\nconst DialogPortal = DialogPrimitive.Portal;\r\nDialogPortal.displayName = \"DialogPortal\";\r\n\r\nconst DialogTitle = React.forwardRef<\r\n\tReact.ElementRef<typeof DialogPrimitive.Title>,\r\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => {\r\n\tconst styles = formTitleStyles({ class: className });\r\n\treturn <DialogPrimitive.Title ref={ref} className={styles} {...props} />;\r\n});\r\nDialogTitle.displayName = \"DialogTitle\";\r\n\r\nconst DialogDescription = React.forwardRef<\r\n\tReact.ElementRef<typeof DialogPrimitive.Description>,\r\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => {\r\n\tconst styles = formDescriptionStyles({ class: className });\r\n\treturn <DialogPrimitive.Description ref={ref} className={styles} {...props} />;\r\n});\r\nDialogDescription.displayName = \"DialogDescription\";\r\n\r\nconst DialogHeader = FormHeader;\r\nDialogHeader.displayName = \"DialogHeader\";\r\n\r\nconst DialogBody = FormBody;\r\nDialogBody.displayName = \"DialogBody\";\r\n\r\nconst DialogFooter = FormFooter;\r\nDialogFooter.displayName = \"DialogFooter\";\r\n\r\nconst DialogClose = DialogPrimitive.Close;\r\nDialogClose.displayName = \"DialogClose\";\r\n\r\nconst dialogOverlayStyles = tv({ extend: overlayStyles });\r\n\r\ninterface DialogOverlayProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>, OverlayVariants {}\r\n\r\nconst DialogOverlay = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Overlay>, DialogOverlayProps>(\r\n\t({ className, blur, type, ...props }, ref) => (\r\n\t\t<DialogPrimitive.Overlay\r\n\t\t\tref={ref}\r\n\t\t\tclassName={dialogOverlayStyles({ class: className, blur, type })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t)\r\n);\r\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\r\n\r\nconst dialogContentStyles = tv({\r\n\tbase: [\r\n\t\t\"fixed left-[50%] top-[45%] z-50 max-h-[min(90vh,calc(100vh-44px))] w-full max-w-[min(480px,calc(100vw-32px))] translate-x-[-50%] translate-y-[-45%] lg:top-[35%] lg:max-h-[min(90vh,830px)] lg:max-w-[min(544px,calc(100vw-32px))] lg:translate-y-[-35%]\",\r\n\t\t\"flex flex-col gap-0 overflow-hidden rounded-xl border border-secondary-border bg-secondary-bg p-0 shadow-soft-lg\",\r\n\t\t\"duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]\"\r\n\t],\r\n\tslots: {\r\n\t\tcloseButton: \"absolute right-0 top-0 z-50 h-11 w-11 p-3.5 text-muted\",\r\n\t\tcloseIcon: \"h-4 w-4\"\r\n\t}\r\n});\r\n\r\ntype BackgroundProps = OverlayVariants;\r\n\r\nconst DialogContent = React.forwardRef<\r\n\tReact.ElementRef<typeof DialogPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\r\n\t\toverlayBlur?: BackgroundProps[\"blur\"];\r\n\t\toverlayType?: BackgroundProps[\"type\"];\r\n\t\tshowCloseButton?: boolean;\r\n\t\t/**\r\n\t\t * Контейнер для портала. Если не указан, используется хук usePortalContainer\r\n\t\t * для поиска PortalContainer\r\n\t\t */\r\n\t\tportalContainer?: HTMLElement;\r\n\t}\r\n>((props, ref) => {\r\n\tconst {\r\n\t\tclassName,\r\n\t\tchildren,\r\n\t\toverlayBlur,\r\n\t\toverlayType,\r\n\t\tshowCloseButton = true,\r\n\t\tportalContainer,\r\n\t\t...restProps\r\n\t} = props;\r\n\tconst styles = dialogContentStyles();\r\n\tconst container = usePortalContainer(portalContainer);\r\n\treturn (\r\n\t\t<DialogPrimitive.Portal container={container}>\r\n\t\t\t<DialogOverlay blur={overlayBlur} type={overlayType} />\r\n\t\t\t<DialogPrimitive.Content ref={ref} className={styles.base({ className })} {...restProps}>\r\n\t\t\t\t{children}\r\n\t\t\t\t{showCloseButton && (\r\n\t\t\t\t\t<DialogPrimitive.Close className={styles.closeButton()}>\r\n\t\t\t\t\t\t<Icon className={styles.closeIcon()} size=\"lg\" icon={X}></Icon>\r\n\t\t\t\t\t</DialogPrimitive.Close>\r\n\t\t\t\t)}\r\n\t\t\t</DialogPrimitive.Content>\r\n\t\t</DialogPrimitive.Portal>\r\n\t);\r\n});\r\nDialogContent.displayName = \"DialogContent\";\r\n\r\nexport {\r\n\tDialog,\r\n\tDialogBody,\r\n\tDialogClose,\r\n\tDialogContent,\r\n\tDialogDescription,\r\n\tDialogFooter,\r\n\tDialogHeader,\r\n\tDialogOverlay,\r\n\tDialogPortal,\r\n\tDialogTitle,\r\n\tDialogTrigger\r\n};\r\n\r\n/** @deprecated Используйте Dialog вместо Modal */\r\nexport const Modal = Dialog;\r\n/** @deprecated Используйте DialogBody вместо ModalBody */\r\nexport const ModalBody = DialogBody;\r\n/** @deprecated Используйте DialogClose вместо ModalClose */\r\nexport const ModalClose = DialogClose;\r\n/** @deprecated Используйте DialogContent вместо ModalContent */\r\nexport const ModalContent = DialogContent;\r\n/** @deprecated Используйте DialogDescription вместо ModalDescription */\r\nexport const ModalDescription = DialogDescription;\r\n/** @deprecated Используйте DialogFooter вместо ModalFooter */\r\nexport const ModalFooter = DialogFooter;\r\n/** @deprecated Используйте DialogHeader вместо ModalHeader */\r\nexport const ModalHeader = DialogHeader;\r\n/** @deprecated Используйте DialogOverlay вместо ModalOverlay */\r\nexport const ModalOverlay = DialogOverlay;\r\n/** @deprecated Используйте DialogPortal вместо ModalPortal */\r\nexport const ModalPortal = DialogPortal;\r\n/** @deprecated Используйте DialogTitle вместо ModalTitle */\r\nexport const ModalTitle = DialogTitle;\r\n/** @deprecated Используйте DialogTrigger вместо ModalTrigger */\r\nexport const ModalTrigger = DialogTrigger;\r\n"],"names":["Dialog","DialogPrimitive.Root","DialogTrigger","DialogPrimitive.Trigger","DialogPortal","DialogPrimitive.Portal","DialogTitle","React","className","props","ref","styles","formTitleStyles","jsx","DialogPrimitive.Title","DialogDescription","formDescriptionStyles","DialogPrimitive.Description","DialogHeader","FormHeader","DialogBody","FormBody","DialogFooter","FormFooter","DialogClose","DialogPrimitive.Close","dialogOverlayStyles","tv","overlayStyles","DialogOverlay","blur","type","DialogPrimitive.Overlay","dialogContentStyles","DialogContent","children","overlayBlur","overlayType","showCloseButton","portalContainer","restProps","container","usePortalContainer","jsxs","DialogPrimitive.Content","Icon","X","Modal","ModalBody","ModalClose","ModalContent","ModalDescription","ModalFooter","ModalHeader","ModalOverlay","ModalPortal","ModalTitle","ModalTrigger"],"mappings":";;;;;;;;;AAWA,MAAMA,IAASC;AACfD,EAAO,cAAc;AAErB,MAAME,IAAgBC;AACtBD,EAAc,cAAc;AAE5B,MAAME,IAAeC;AACrBD,EAAa,cAAc;AAErB,MAAAE,IAAcC,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAAQ;AACnC,QAAMC,IAASC,EAAgB,EAAE,OAAOJ,GAAW;AAC5C,SAAA,gBAAAK,EAACC,GAAA,EAAsB,KAAAJ,GAAU,WAAWC,GAAS,GAAGF,GAAO;AACvE,CAAC;AACDH,EAAY,cAAc;AAEpB,MAAAS,IAAoBR,EAAM,WAG9B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAAQ;AACnC,QAAMC,IAASK,EAAsB,EAAE,OAAOR,GAAW;AAClD,SAAA,gBAAAK,EAACI,GAAA,EAA4B,KAAAP,GAAU,WAAWC,GAAS,GAAGF,GAAO;AAC7E,CAAC;AACDM,EAAkB,cAAc;AAEhC,MAAMG,IAAeC;AACrBD,EAAa,cAAc;AAE3B,MAAME,IAAaC;AACnBD,EAAW,cAAc;AAEzB,MAAME,IAAeC;AACrBD,EAAa,cAAc;AAE3B,MAAME,IAAcC;AACpBD,EAAY,cAAc;AAE1B,MAAME,IAAsBC,EAAG,EAAE,QAAQC,GAAe,GAIlDC,IAAgBtB,EAAM;AAAA,EAC3B,CAAC,EAAE,WAAAC,GAAW,MAAAsB,GAAM,MAAAC,GAAM,GAAGtB,EAAA,GAASC,MACrC,gBAAAG;AAAA,IAACmB;AAAAA,IAAA;AAAA,MACA,KAAAtB;AAAA,MACA,WAAWgB,EAAoB,EAAE,OAAOlB,GAAW,MAAAsB,GAAM,MAAAC,GAAM;AAAA,MAC9D,GAAGtB;AAAA,IAAA;AAAA,EAAA;AAGP;AACAoB,EAAc,cAAcG,EAAwB;AAEpD,MAAMC,IAAsBN,EAAG;AAAA,EAC9B,MAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACA,OAAO;AAAA,IACN,aAAa;AAAA,IACb,WAAW;AAAA,EAAA;AAEb,CAAC,GAIKO,IAAgB3B,EAAM,WAY1B,CAACE,GAAOC,MAAQ;AACX,QAAA;AAAA,IACL,WAAAF;AAAA,IACA,UAAA2B;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,iBAAAC,IAAkB;AAAA,IAClB,iBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACA/B,GACEE,IAASsB,EAAoB,GAC7BQ,IAAYC,EAAmBH,CAAe;AACpD,SACE,gBAAAI,EAAAtC,GAAA,EAAuB,WAAAoC,GACvB,UAAA;AAAA,IAAA,gBAAA5B,EAACgB,GAAc,EAAA,MAAMO,GAAa,MAAMC,GAAa;AAAA,IACpD,gBAAAM,EAAAC,GAAA,EAAwB,KAAAlC,GAAU,WAAWC,EAAO,KAAK,EAAE,WAAAH,EAAW,CAAA,GAAI,GAAGgC,GAC5E,UAAA;AAAA,MAAAL;AAAA,MACAG,KACC,gBAAAzB,EAAAY,GAAA,EAAsB,WAAWd,EAAO,YAAY,GACpD,4BAACkC,GAAK,EAAA,WAAWlC,EAAO,UAAU,GAAG,MAAK,MAAK,MAAMmC,GAAG,EACzD,CAAA;AAAA,IAAA,EAEF,CAAA;AAAA,EAAA,GACD;AAEF,CAAC;AACDZ,EAAc,cAAc;AAiBrB,MAAMa,IAAQ/C,GAERgD,KAAY5B,GAEZ6B,KAAazB,GAEb0B,KAAehB,GAEfiB,KAAmBpC,GAEnBqC,KAAc9B,GAEd+B,KAAcnC,GAEdoC,KAAezB,GAEf0B,KAAcnD,GAEdoD,KAAalD,GAEbmD,KAAevD;"}
|
package/dist/Field-BiIWtq9o.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { jsxs as o, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import * as u from "react";
|
|
3
|
-
import { useId as y } from "react";
|
|
4
|
-
import { T as v } from "./index-BVqs-uqP.js";
|
|
5
|
-
import { F as W } from "./FieldLabel-QJ4rJFOi.js";
|
|
6
|
-
import { D as i } from "./Description-BTPMlTT-.js";
|
|
7
|
-
import { c as N } from "./createLucideIcon-DwBrHnj9.js";
|
|
8
|
-
/**
|
|
9
|
-
* @license lucide-react v0.460.0 - ISC
|
|
10
|
-
*
|
|
11
|
-
* This source code is licensed under the ISC license.
|
|
12
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
13
|
-
*/
|
|
14
|
-
const b = N("CircleHelp", [
|
|
15
|
-
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
16
|
-
["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
|
|
17
|
-
["path", { d: "M12 17h.01", key: "p32p05" }]
|
|
18
|
-
]), F = v({
|
|
19
|
-
slots: {
|
|
20
|
-
wrapper: "flex w-full space-y-0",
|
|
21
|
-
labelWrapper: "flex items-center gap-1",
|
|
22
|
-
controlWrapper: "flex w-full min-w-0 flex-1 flex-col",
|
|
23
|
-
error: "text-status-error"
|
|
24
|
-
},
|
|
25
|
-
variants: {
|
|
26
|
-
layout: {
|
|
27
|
-
horizontal: {
|
|
28
|
-
wrapper: "flex-row gap-4",
|
|
29
|
-
labelWrapper: "h-10 lg:h-9"
|
|
30
|
-
},
|
|
31
|
-
vertical: {
|
|
32
|
-
wrapper: "flex-col gap-2",
|
|
33
|
-
labelWrapper: "h-4"
|
|
34
|
-
},
|
|
35
|
-
responsive: {
|
|
36
|
-
wrapper: "flex-col gap-2 lg:flex-row lg:gap-4",
|
|
37
|
-
labelWrapper: "h-4 lg:h-9"
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
showGap: {
|
|
41
|
-
true: { controlWrapper: "gap-y-2" }
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
defaultVariants: {
|
|
45
|
-
layout: "horizontal"
|
|
46
|
-
}
|
|
47
|
-
}), z = u.forwardRef(
|
|
48
|
-
({
|
|
49
|
-
title: n,
|
|
50
|
-
description: e,
|
|
51
|
-
descriptionPlacement: p = "text",
|
|
52
|
-
control: f,
|
|
53
|
-
required: m,
|
|
54
|
-
error: r,
|
|
55
|
-
className: d,
|
|
56
|
-
labelClassName: h,
|
|
57
|
-
layout: x,
|
|
58
|
-
readonly: s
|
|
59
|
-
}, w) => {
|
|
60
|
-
const t = y(), c = e && p !== "icon", g = e && p === "icon", l = F({ layout: x, showGap: !!(c || r) });
|
|
61
|
-
return /* @__PURE__ */ o("div", { ref: w, className: l.wrapper({ className: d }), children: [
|
|
62
|
-
/* @__PURE__ */ a("div", { className: l.labelWrapper({ className: h }), children: /* @__PURE__ */ a(
|
|
63
|
-
W,
|
|
64
|
-
{
|
|
65
|
-
tooltip: e,
|
|
66
|
-
icon: g ? b : void 0,
|
|
67
|
-
required: !s && m,
|
|
68
|
-
htmlFor: t,
|
|
69
|
-
children: n
|
|
70
|
-
}
|
|
71
|
-
) }),
|
|
72
|
-
/* @__PURE__ */ o("div", { className: l.controlWrapper(), children: [
|
|
73
|
-
f({ readonly: s, id: t, error: r }),
|
|
74
|
-
/* @__PURE__ */ o("div", { className: "flex flex-col gap-0.5", children: [
|
|
75
|
-
c && /* @__PURE__ */ a(i, { size: "xs", children: e }),
|
|
76
|
-
r && /* @__PURE__ */ a(i, { size: "xs", className: l.error(), children: r })
|
|
77
|
-
] })
|
|
78
|
-
] })
|
|
79
|
-
] });
|
|
80
|
-
}
|
|
81
|
-
);
|
|
82
|
-
z.displayName = "Field";
|
|
83
|
-
export {
|
|
84
|
-
z as F
|
|
85
|
-
};
|
|
86
|
-
//# sourceMappingURL=Field-BiIWtq9o.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Field-BiIWtq9o.js","sources":["../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/circle-help.js","../src/components/field/Field.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 CircleHelp = createLucideIcon(\"CircleHelp\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\", key: \"1u773s\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n]);\n\nexport { CircleHelp as default };\n//# sourceMappingURL=circle-help.js.map\n","import * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { CircleHelp } from \"lucide-react\";\r\nimport { FieldLabel } from \"@/components/label\";\r\nimport { Description } from \"@/components/description\";\r\nimport { useId } from \"react\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport type FieldLayout = \"horizontal\" | \"vertical\" | \"responsive\";\r\n\r\nexport interface FieldVariants {\r\n\t/** Вариант расположения элементов поля */\r\n\tlayout?: FieldLayout;\r\n\tshowGap?: boolean;\r\n}\r\n\r\nconst fieldStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex w-full space-y-0\",\r\n\t\tlabelWrapper: \"flex items-center gap-1\",\r\n\t\tcontrolWrapper: \"flex w-full min-w-0 flex-1 flex-col\",\r\n\t\terror: \"text-status-error\"\r\n\t},\r\n\tvariants: {\r\n\t\tlayout: {\r\n\t\t\thorizontal: {\r\n\t\t\t\twrapper: \"flex-row gap-4\",\r\n\t\t\t\tlabelWrapper: \"h-10 lg:h-9\"\r\n\t\t\t},\r\n\t\t\tvertical: {\r\n\t\t\t\twrapper: \"flex-col gap-2\",\r\n\t\t\t\tlabelWrapper: \"h-4\"\r\n\t\t\t},\r\n\t\t\tresponsive: {\r\n\t\t\t\twrapper: \"flex-col gap-2 lg:flex-row lg:gap-4\",\r\n\t\t\t\tlabelWrapper: \"h-4 lg:h-9\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tshowGap: {\r\n\t\t\ttrue: { controlWrapper: \"gap-y-2\" }\r\n\t\t}\r\n\t} satisfies VariantsConfig<FieldVariants>,\r\n\tdefaultVariants: {\r\n\t\tlayout: \"horizontal\"\r\n\t}\r\n});\r\n\r\ntype DescriptionPlacement = \"text\" | \"icon\";\r\n\r\ntype ControlProps = {\r\n\t/** Режим только для чтения */\r\n\treadonly?: boolean;\r\n\t/** Идентификатор элемента. Используется для связи лейбла с элементом управления */\r\n\tid?: string;\r\n\t/** Текст сообщения об ошибке. При наличии делает поле невалидным */\r\n\terror?: string;\r\n};\r\n\r\nexport type FieldProps = Omit<FieldVariants, \"showGap\"> & {\r\n\t/** Заголовок поля */\r\n\ttitle: string;\r\n\t/** Описание поля */\r\n\tdescription?: React.ReactNode;\r\n\t/** Режим только для чтения */\r\n\treadonly?: boolean;\r\n\t/** Расположение описания */\r\n\tdescriptionPlacement?: DescriptionPlacement;\r\n\t/** Функция рендеринга контрола */\r\n\tcontrol: (props: ControlProps) => React.ReactNode;\r\n\t/** Обязательное поле */\r\n\trequired?: boolean;\r\n\t/** Текст ошибки */\r\n\terror?: string;\r\n\t/** Дополнительные классы для контейнера */\r\n\tclassName?: string;\r\n\t/** Дополнительные классы для лейбла */\r\n\tlabelClassName?: string;\r\n};\r\n\r\nexport const Field = React.forwardRef<HTMLDivElement, FieldProps>(\r\n\t(\r\n\t\t{\r\n\t\t\ttitle,\r\n\t\t\tdescription,\r\n\t\t\tdescriptionPlacement = \"text\",\r\n\t\t\tcontrol,\r\n\t\t\trequired,\r\n\t\t\terror,\r\n\t\t\tclassName,\r\n\t\t\tlabelClassName,\r\n\t\t\tlayout,\r\n\t\t\treadonly\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\tconst generatedId = useId();\r\n\t\tconst showTextDescription = description && descriptionPlacement !== \"icon\";\r\n\t\tconst showIconDescription = description && descriptionPlacement === \"icon\";\r\n\r\n\t\tconst styles = fieldStyles({ layout, showGap: !!(showTextDescription || error) });\r\n\r\n\t\treturn (\r\n\t\t\t<div ref={ref} className={styles.wrapper({ className })}>\r\n\t\t\t\t<div className={styles.labelWrapper({ className: labelClassName })}>\r\n\t\t\t\t\t<FieldLabel\r\n\t\t\t\t\t\ttooltip={description}\r\n\t\t\t\t\t\ticon={showIconDescription ? CircleHelp : void 0}\r\n\t\t\t\t\t\trequired={!readonly && required}\r\n\t\t\t\t\t\thtmlFor={generatedId}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t</FieldLabel>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div className={styles.controlWrapper()}>\r\n\t\t\t\t\t{control({ readonly, id: generatedId, error })}\r\n\t\t\t\t\t<div className=\"flex flex-col gap-0.5\">\r\n\t\t\t\t\t\t{showTextDescription && <Description size=\"xs\">{description}</Description>}\r\n\t\t\t\t\t\t{error && (\r\n\t\t\t\t\t\t\t<Description size=\"xs\" className={styles.error()}>\r\n\t\t\t\t\t\t\t\t{error}\r\n\t\t\t\t\t\t\t</Description>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nField.displayName = \"Field\";\r\n"],"names":["CircleHelp","createLucideIcon","fieldStyles","tv","Field","React","title","description","descriptionPlacement","control","required","error","className","labelClassName","layout","readonly","ref","generatedId","useId","showTextDescription","showIconDescription","styles","jsxs","jsx","FieldLabel","Description"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAaC,EAAiB,cAAc;AAAA,EAChD,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,UAAU;AAAA,EACzD,CAAC,QAAQ,EAAE,GAAG,wCAAwC,KAAK,SAAQ,CAAE;AAAA,EACrE,CAAC,QAAQ,EAAE,GAAG,cAAc,KAAK,SAAU,CAAA;AAC7C,CAAC,GCGKC,IAAcC,EAAG;AAAA,EACtB,OAAO;AAAA,IACN,SAAS;AAAA,IACT,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,OAAO;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,YAAY;AAAA,QACX,SAAS;AAAA,QACT,cAAc;AAAA,MACf;AAAA,MACA,UAAU;AAAA,QACT,SAAS;AAAA,QACT,cAAc;AAAA,MACf;AAAA,MACA,YAAY;AAAA,QACX,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,IAEhB;AAAA,IACA,SAAS;AAAA,MACR,MAAM,EAAE,gBAAgB,UAAU;AAAA,IAAA;AAAA,EAEpC;AAAA,EACA,iBAAiB;AAAA,IAChB,QAAQ;AAAA,EAAA;AAEV,CAAC,GAkCYC,IAAQC,EAAM;AAAA,EAC1B,CACC;AAAA,IACC,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,sBAAAC,IAAuB;AAAA,IACvB,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,KAEDC,MACI;AACJ,UAAMC,IAAcC,EAAM,GACpBC,IAAsBZ,KAAeC,MAAyB,QAC9DY,IAAsBb,KAAeC,MAAyB,QAE9Da,IAASnB,EAAY,EAAE,QAAAY,GAAQ,SAAS,CAAC,EAAEK,KAAuBR,IAAQ;AAG/E,WAAA,gBAAAW,EAAC,SAAI,KAAAN,GAAU,WAAWK,EAAO,QAAQ,EAAE,WAAAT,GAAW,GACrD,UAAA;AAAA,MAAC,gBAAAW,EAAA,OAAA,EAAI,WAAWF,EAAO,aAAa,EAAE,WAAWR,EAAA,CAAgB,GAChE,UAAA,gBAAAU;AAAA,QAACC;AAAA,QAAA;AAAA,UACA,SAASjB;AAAA,UACT,MAAMa,IAAsBpB,IAAa;AAAA,UACzC,UAAU,CAACe,KAAYL;AAAA,UACvB,SAASO;AAAA,UAER,UAAAX;AAAA,QAAA;AAAA,MAAA,GAEH;AAAA,MAEC,gBAAAgB,EAAA,OAAA,EAAI,WAAWD,EAAO,eACrB,GAAA,UAAA;AAAA,QAAAZ,EAAQ,EAAE,UAAAM,GAAU,IAAIE,GAAa,OAAAN,GAAO;AAAA,QAC7C,gBAAAW,EAAC,OAAI,EAAA,WAAU,yBACb,UAAA;AAAA,UAAAH,KAAwB,gBAAAI,EAAAE,GAAA,EAAY,MAAK,MAAM,UAAYlB,GAAA;AAAA,UAC3DI,uBACCc,GAAY,EAAA,MAAK,MAAK,WAAWJ,EAAO,SACvC,UACFV,EAAA,CAAA;AAAA,QAAA,EAEF,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA,GACD;AAAA,EAAA;AAGH;AAEAP,EAAM,cAAc;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldLabel-QJ4rJFOi.js","sources":["../node_modules/.pnpm/@radix-ui+react-label@2.1.8_06ea743dca7d9215da8e661312ca1eb5/node_modules/@radix-ui/react-label/dist/index.mjs","../src/components/label/Label.tsx","../src/components/label/field-label/components/RequiredIcon.tsx","../src/components/label/field-label/FieldLabel.tsx"],"sourcesContent":["\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import * as LabelPrimitive from \"@radix-ui/react-label\";\r\nimport * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst labelStyles = tv({\r\n\tbase: \"text-sm font-medium leading-none text-primary-fg peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\r\n});\r\n\r\nconst Label = React.forwardRef<\r\n\tReact.ElementRef<typeof LabelPrimitive.Root>,\r\n\tReact.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\r\n>(({ className, ...props }, ref) => (\r\n\t<LabelPrimitive.Root ref={ref} className={labelStyles({ className })} {...props} />\r\n));\r\nLabel.displayName = LabelPrimitive.Root.displayName;\r\n\r\nexport { Label };\r\n","import { tv } from \"tailwind-variants\";\r\n\r\nconst requiredIconStyles = tv({\r\n\tbase: \"stroke-status-error\"\r\n});\r\n\r\ninterface RequiredIconProps {\r\n\tclassName?: string;\r\n}\r\n\r\nexport function RequiredIcon({ className }: RequiredIconProps) {\r\n\treturn (\r\n\t\t<svg\r\n\t\t\tclassName={requiredIconStyles({ className })}\r\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\twidth=\"24\"\r\n\t\t\theight=\"24\"\r\n\t\t\tviewBox=\"0 0 24 24\"\r\n\t\t\tfill=\"none\"\r\n\t\t>\r\n\t\t\t<path\r\n\t\t\t\td=\"M12.0001 3V21M20 7.5L4 16.5M4 7.5L20 16.5\"\r\n\t\t\t\tstrokeWidth=\"3\"\r\n\t\t\t\tstrokeLinecap=\"round\"\r\n\t\t\t\tstrokeLinejoin=\"round\"\r\n\t\t\t/>\r\n\t\t</svg>\r\n\t);\r\n}\r\n","import React from \"react\";\r\nimport { Label } from \"../Label\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Icon } from \"@/components/icon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport { IconTooltip } from \"@/components/icon-tooltip/IconTooltip\";\r\nimport { RequiredIcon } from \"./components/RequiredIcon\";\r\n\r\nconst fieldLabelVariants = tv({\r\n\tslots: {\r\n\t\tbase: \"flex h-4 min-w-0 items-center gap-x-0.5 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\r\n\t\trequiredMark: \"h-2 w-2 self-start\",\r\n\t\ticon: \"ml-1 text-muted\"\r\n\t}\r\n});\r\n\r\ninterface FieldLabelProps extends React.ComponentPropsWithoutRef<typeof Label> {\r\n\tclassName?: string;\r\n\trequired?: boolean;\r\n\ticon?: LucideIcon;\r\n\ttooltip?: React.ReactNode;\r\n}\r\n\r\nexport const FieldLabel = React.forwardRef<React.ElementRef<typeof Label>, FieldLabelProps>(\r\n\t({ className, children, htmlFor, icon, tooltip, required, ...props }, ref) => {\r\n\t\tconst { base, requiredMark, icon: iconStyles } = fieldLabelVariants();\r\n\r\n\t\treturn (\r\n\t\t\t<Label ref={ref} className={base({ className })} htmlFor={htmlFor} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t\t{required && <RequiredIcon className={requiredMark()} />}\r\n\t\t\t\t{icon &&\r\n\t\t\t\t\t(tooltip ? (\r\n\t\t\t\t\t\t<IconTooltip content={tooltip} iconSize=\"sm\" icon={icon} iconClassName={iconStyles()} />\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<Icon size=\"sm\" icon={icon} className={iconStyles()} />\r\n\t\t\t\t\t))}\r\n\t\t\t</Label>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nFieldLabel.displayName = \"FieldLabel\";\r\n"],"names":["NAME","Label","React","props","forwardedRef","jsx","Primitive","event","Root","labelStyles","tv","className","ref","LabelPrimitive.Root","requiredIconStyles","RequiredIcon","fieldLabelVariants","FieldLabel","children","htmlFor","icon","tooltip","required","base","requiredMark","iconStyles","jsxs","IconTooltip","Icon"],"mappings":";;;;;;;AAMA,IAAIA,IAAO,SACPC,IAAQC,EAAM,WAAW,CAACC,GAAOC,MACZ,gBAAAC;AAAA,EACrBC,EAAU;AAAA,EACV;AAAA,IACE,GAAGH;AAAA,IACH,KAAKC;AAAA,IACL,aAAa,CAACG,MAAU;AAEtB,MADeA,EAAM,OACV,QAAQ,iCAAiC,MACpDJ,EAAM,cAAcI,CAAK,GACrB,CAACA,EAAM,oBAAoBA,EAAM,SAAS,KAAGA,EAAM,eAAgB;AAAA,IAC/E;AAAA,EACA;AACG,CACF;AACDN,EAAM,cAAcD;AACpB,IAAIQ,IAAOP;ACnBX,MAAMQ,IAAcC,EAAG;AAAA,EACtB,MAAM;AACP,CAAC,GAEKT,IAAQC,EAAM,WAGlB,CAAC,EAAE,WAAAS,GAAW,GAAGR,EAAM,GAAGS,MAC3B,gBAAAP,EAACQ,GAAA,EAAoB,KAAAD,GAAU,WAAWH,EAAY,EAAE,WAAAE,GAAW,GAAI,GAAGR,GAAO,CACjF;AACDF,EAAM,cAAcY,EAAoB;ACZxC,MAAMC,IAAqBJ,EAAG;AAAA,EAC7B,MAAM;AACP,CAAC;AAMe,SAAAK,EAAa,EAAE,WAAAJ,KAAgC;AAE7D,SAAA,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWS,EAAmB,EAAE,WAAAH,GAAW;AAAA,MAC3C,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MAEL,UAAA,gBAAAN;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,GAAE;AAAA,UACF,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB;AAAA,EACD;AAEF;ACpBA,MAAMW,IAAqBN,EAAG;AAAA,EAC7B,OAAO;AAAA,IACN,MAAM;AAAA,IACN,cAAc;AAAA,IACd,MAAM;AAAA,EAAA;AAER,CAAC,GASYO,IAAaf,EAAM;AAAA,EAC/B,CAAC,EAAE,WAAAS,GAAW,UAAAO,GAAU,SAAAC,GAAS,MAAAC,GAAM,SAAAC,GAAS,UAAAC,GAAU,GAAGnB,EAAM,GAAGS,MAAQ;AAC7E,UAAM,EAAE,MAAAW,GAAM,cAAAC,GAAc,MAAMC,EAAA,IAAeT,EAAmB;AAGnE,WAAA,gBAAAU,EAACzB,GAAM,EAAA,KAAAW,GAAU,WAAWW,EAAK,EAAE,WAAAZ,EAAW,CAAA,GAAG,SAAAQ,GAAmB,GAAGhB,GACrE,UAAA;AAAA,MAAAe;AAAA,MACAI,KAAY,gBAAAjB,EAACU,GAAa,EAAA,WAAWS,EAAgB,EAAA,CAAA;AAAA,MACrDJ,MACCC,IACC,gBAAAhB,EAAAsB,GAAA,EAAY,SAASN,GAAS,UAAS,MAAK,MAAAD,GAAY,eAAeK,KAAc,sBAErFG,GAAK,EAAA,MAAK,MAAK,MAAAR,GAAY,WAAWK,KAAc;AAAA,IAAA,GAExD;AAAA,EAAA;AAGH;AAEAR,EAAW,cAAc;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormFooterTemplate-DPB6Dkxn.js","sources":["../src/components/form/templates/header-template/FormHeaderTemplate.tsx","../src/components/form/templates/footer-template/FormFooterTemplate.tsx"],"sourcesContent":["import { FeatureIcon } from \"@/components/icon/feature-icon/FeatureIcon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport React, { HTMLAttributes, PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { FormDescription, FormHeader, FormTitle } from \"../../components/form-header/FormHeader\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface FormHeaderTemplateVariants {\r\n\talignment?: \"compact\" | \"left\" | \"center\";\r\n}\r\n\r\nconst formHeaderTemplateStyles = tv({\r\n\tslots: {\r\n\t\theader: \"flex items-start gap-4\",\r\n\t\tcontentWrapper: \"flex flex-col gap-px lg:gap-1.5\",\r\n\t\ticon: \"flex-shrink-0 rounded-lg ring-0\"\r\n\t},\r\n\tvariants: {\r\n\t\talignment: {\r\n\t\t\tcompact: {\r\n\t\t\t\theader: \"flex-row pr-9\"\r\n\t\t\t},\r\n\t\t\tleft: {\r\n\t\t\t\theader: \"flex-col gap-2 lg:gap-4\",\r\n\t\t\t\tcontentWrapper: \"gap-0.5 lg:gap-1\"\r\n\t\t\t},\r\n\t\t\tcenter: {\r\n\t\t\t\theader: \"flex-col items-center gap-2 text-center lg:gap-4\",\r\n\t\t\t\tcontentWrapper: \"gap-0.5 lg:gap-1\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<FormHeaderTemplateVariants>,\r\n\tdefaultVariants: {\r\n\t\talignment: \"compact\"\r\n\t}\r\n});\r\n\r\nexport type BaseHeaderTemplateProps = Omit<HTMLAttributes<HTMLDivElement>, \"title\"> &\r\n\tFormHeaderTemplateVariants & {\r\n\t\t/** Заголовок формы */\r\n\t\ttitle: React.ReactNode;\r\n\t\t/** Описание формы */\r\n\t\tdescription?: React.ReactNode;\r\n\t\t/** Иконка заголовка */\r\n\t\ticon?: LucideIcon;\r\n\t\t/** Кастомная иконка заголовка */\r\n\t\tcustomIcon?: React.ReactNode;\r\n\t};\r\n\r\nexport const BaseHeaderTemplate = React.forwardRef<HTMLDivElement, PropsWithChildren<BaseHeaderTemplateProps>>(\r\n\t({ className, icon: Icon, title, alignment, description, customIcon, ...props }, ref) => {\r\n\t\tconst { header, contentWrapper, icon } = formHeaderTemplateStyles({ alignment });\r\n\r\n\t\treturn (\r\n\t\t\t<FormHeader ref={ref} className={header({ class: className })} {...props}>\r\n\t\t\t\t{Icon && <FeatureIcon size=\"xl\" icon={Icon} className={icon()} />}\r\n\t\t\t\t{customIcon && customIcon}\r\n\t\t\t\t<div className={contentWrapper()}>\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\t{description}\r\n\t\t\t\t</div>\r\n\t\t\t</FormHeader>\r\n\t\t);\r\n\t}\r\n);\r\n\r\n/**\r\n * Темплейт заголовка формы. Содержит иконку, заголовок и описание.\r\n * Имеет различные варианты расположения элементов\r\n */\r\nexport const FormHeaderTemplate = React.forwardRef<HTMLDivElement, PropsWithChildren<BaseHeaderTemplateProps>>(\r\n\t({ title, description, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<BaseHeaderTemplate\r\n\t\t\t\ttitle={<FormTitle>{title}</FormTitle>}\r\n\t\t\t\tdescription={<FormDescription>{description}</FormDescription>}\r\n\t\t\t\tref={ref}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nFormHeaderTemplate.displayName = \"FormHeaderTemplate\";\r\n","import { Button, ButtonProps } from \"@/components/button/button/Button\";\r\nimport { CheckboxField, CheckboxFieldProps } from \"@/components/checkbox/checkbox-field/CheckboxField\";\r\nimport { useIsMobile } from \"@/hooks/useBreakpoints\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { FormFooter } from \"../../components/form-footer/FormFooter\";\r\n\r\nconst formFooterTemplateStyles = tv({\r\n\tslots: {\r\n\t\tcontainer: \"flex w-full flex-col gap-3 lg:flex-row\",\r\n\t\tstartBlock: \"flex items-center py-1 lg:py-2.5\",\r\n\t\tendBlock: \"ml-auto flex w-full flex-col gap-3 lg:w-auto lg:flex-row\"\r\n\t}\r\n});\r\n\r\nexport interface FormFooterTemplateProps {\r\n\t/** Дополнительные классы */\r\n\tclassName?: string;\r\n\t/** Текст для чекбокса */\r\n\tcheckboxLabel?: string;\r\n\t/** Пропсы для чекбокса */\r\n\tcheckboxProps?: CheckboxFieldProps;\r\n\t/** Основная кнопка */\r\n\tprimaryButton?: React.ReactNode;\r\n\t/** Пропсы для основной кнопки */\r\n\tprimaryButtonProps?: ButtonProps;\r\n\t/** Вторичная кнопка */\r\n\tsecondaryButton?: React.ReactNode;\r\n\t/** Пропсы для вторичной кнопки */\r\n\tsecondaryButtonProps?: ButtonProps;\r\n}\r\n\r\n/**\r\n * Темплейт футера формы. Содержит чекбокс и 2 кнопки, которыми можно управлять.\r\n * Адаптивен к размерам устройств\r\n */\r\nexport const FormFooterTemplate = React.forwardRef<HTMLDivElement, FormFooterTemplateProps>(\r\n\t(\r\n\t\t{\r\n\t\t\tclassName,\r\n\t\t\tprimaryButton,\r\n\t\t\tsecondaryButton,\r\n\t\t\tcheckboxLabel,\r\n\t\t\tcheckboxProps,\r\n\t\t\tprimaryButtonProps,\r\n\t\t\tsecondaryButtonProps\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\tconst isMobile = useIsMobile();\r\n\t\tconst { container, startBlock, endBlock } = formFooterTemplateStyles();\r\n\r\n\t\tif (isMobile) {\r\n\t\t\tprimaryButtonProps = { ...primaryButtonProps, size: \"xl\" };\r\n\t\t\tsecondaryButtonProps = { ...secondaryButtonProps, size: \"xl\" };\r\n\t\t}\r\n\t\tconst primaryButtonElement = primaryButton && (\r\n\t\t\t<Button key=\"primary-button\" variant=\"primary\" {...primaryButtonProps}>\r\n\t\t\t\t{primaryButton}\r\n\t\t\t</Button>\r\n\t\t);\r\n\r\n\t\tconst secondaryButtonElement = secondaryButton && (\r\n\t\t\t<Button key=\"secondary-button\" variant=\"outline\" {...secondaryButtonProps}>\r\n\t\t\t\t{secondaryButton}\r\n\t\t\t</Button>\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t<FormFooter className={className} ref={ref}>\r\n\t\t\t\t<div className={container()}>\r\n\t\t\t\t\t{checkboxLabel && (\r\n\t\t\t\t\t\t<div className={startBlock()}>\r\n\t\t\t\t\t\t\t<CheckboxField label={checkboxLabel} {...checkboxProps} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t<div className={endBlock()}>\r\n\t\t\t\t\t\t{isMobile\r\n\t\t\t\t\t\t\t? [primaryButtonElement, secondaryButtonElement]\r\n\t\t\t\t\t\t\t: [secondaryButtonElement, primaryButtonElement]}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</FormFooter>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nFormFooterTemplate.displayName = \"FormFooterTemplate\";\r\n"],"names":["formHeaderTemplateStyles","tv","BaseHeaderTemplate","React","className","Icon","title","alignment","description","customIcon","props","ref","header","contentWrapper","icon","jsxs","FormHeader","jsx","FeatureIcon","FormHeaderTemplate","FormTitle","FormDescription","formFooterTemplateStyles","FormFooterTemplate","primaryButton","secondaryButton","checkboxLabel","checkboxProps","primaryButtonProps","secondaryButtonProps","isMobile","useIsMobile","container","startBlock","endBlock","primaryButtonElement","Button","secondaryButtonElement","FormFooter","CheckboxField"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormStack-DO15vBgd.js","sources":["../src/components/form/Form.tsx","../src/components/form/components/form-field/FormField.tsx","../src/components/form/components/form-stack/FormStack.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport {\r\n\tController,\r\n\tFormProvider,\r\n\tuseFormContext,\r\n\ttype ControllerProps,\r\n\ttype FieldPath,\r\n\ttype FieldValues\r\n} from \"react-hook-form\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { FieldLabel } from \"../label/field-label/FieldLabel\";\r\n\r\nconst formStyle = tv({\r\n\tbase: \"rounded-md border border-secondary-border bg-secondary-bg\"\r\n});\r\n\r\n/**\r\n * Основной контейнер формы\r\n */\r\nconst Form = <T extends FieldValues>({\r\n\tclassName,\r\n\tasChild,\r\n\t...props\r\n}: React.ComponentProps<typeof FormProvider<T>> & {\r\n\t/** Дополнительные классы */\r\n\tclassName?: string;\r\n\t/** Использовать ли дочерний элемент как корневой */\r\n\tasChild?: boolean;\r\n}) => {\r\n\tconst Comp = asChild ? Slot : \"div\";\r\n\treturn (\r\n\t\t<Comp className={formStyle({ className })}>\r\n\t\t\t<FormProvider {...props} />\r\n\t\t</Comp>\r\n\t);\r\n};\r\n\r\ntype FormFieldContextValue<\r\n\tTFieldValues extends FieldValues = FieldValues,\r\n\tTName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\r\n> = {\r\n\tname: TName;\r\n};\r\n\r\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\r\n\r\n/**\r\n * Поле формы с валидацией\r\n */\r\n\r\nconst FormField = <\r\n\tTFieldValues extends FieldValues = FieldValues,\r\n\tTName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\r\n>({\r\n\t...props\r\n}: ControllerProps<TFieldValues, TName>) => {\r\n\treturn (\r\n\t\t<FormFieldContext.Provider value={{ name: props.name }}>\r\n\t\t\t<Controller {...props} />\r\n\t\t</FormFieldContext.Provider>\r\n\t);\r\n};\r\n\r\nconst useFormField = () => {\r\n\tconst fieldContext = React.useContext(FormFieldContext);\r\n\tconst itemContext = React.useContext(FormItemContext);\r\n\tconst { getFieldState, formState } = useFormContext();\r\n\r\n\tconst fieldState = getFieldState(fieldContext.name, formState);\r\n\r\n\tif (!fieldContext) {\r\n\t\tthrow new Error(\"useFormField should be used within <FormField>\");\r\n\t}\r\n\r\n\tconst { id } = itemContext;\r\n\r\n\treturn {\r\n\t\tid,\r\n\t\tname: fieldContext.name,\r\n\t\tformItemId: `${id}-form-item`,\r\n\t\tformDescriptionId: `${id}-form-item-description`,\r\n\t\tformMessageId: `${id}-form-item-message`,\r\n\t\t...fieldState\r\n\t};\r\n};\r\n\r\ntype FormItemContextValue = {\r\n\tid: string;\r\n};\r\n\r\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\r\n\r\nconst formItemStyle = tv({\r\n\tbase: \"space-y-2\"\r\n});\r\n\r\n/**\r\n * Контейнер для элементов формы\r\n */\r\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst id = React.useId();\r\n\r\n\t\treturn (\r\n\t\t\t<FormItemContext.Provider value={{ id }}>\r\n\t\t\t\t<div ref={ref} className={formItemStyle({ className })} {...props} />\r\n\t\t\t</FormItemContext.Provider>\r\n\t\t);\r\n\t}\r\n);\r\nFormItem.displayName = \"FormItem\";\r\n\r\ninterface FormLabelProps extends React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> {\r\n\t/** Обязательное ли поле */\r\n\trequired?: boolean;\r\n}\r\n\r\n/**\r\n * Лейбл для поля формы\r\n */\r\nconst FormLabel = React.forwardRef<React.ElementRef<typeof LabelPrimitive.Root>, FormLabelProps>(\r\n\t({ className, required, ...props }, ref) => {\r\n\t\tconst { formItemId } = useFormField();\r\n\r\n\t\treturn <FieldLabel required={required} ref={ref} className={className} htmlFor={formItemId} {...props} />;\r\n\t}\r\n);\r\nFormLabel.displayName = \"FormLabel\";\r\n\r\n/**\r\n * Контрол для поля формы\r\n */\r\nconst FormControl = React.forwardRef<React.ElementRef<typeof Slot>, React.ComponentPropsWithoutRef<typeof Slot>>(\r\n\t({ ...props }, ref) => {\r\n\t\tconst { error, formItemId, formDescriptionId, formMessageId } = useFormField();\r\n\r\n\t\treturn (\r\n\t\t\t<Slot\r\n\t\t\t\tref={ref}\r\n\t\t\t\tid={formItemId}\r\n\t\t\t\taria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\r\n\t\t\t\taria-invalid={!!error}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\nFormControl.displayName = \"FormControl\";\r\n\r\nconst formMessageStyle = tv({\r\n\tbase: \"text-[0.8rem] font-medium text-destructive\"\r\n});\r\n\r\n/**\r\n * Сообщение об ошибке\r\n */\r\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\r\n\t({ className, children, ...props }, ref) => {\r\n\t\tconst { error, formMessageId } = useFormField();\r\n\t\tconst body = error ? String(error?.message ?? \"\") : children;\r\n\r\n\t\tif (!body) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t<p ref={ref} id={formMessageId} className={formMessageStyle({ className })} {...props}>\r\n\t\t\t\t{body}\r\n\t\t\t</p>\r\n\t\t);\r\n\t}\r\n);\r\nFormMessage.displayName = \"FormMessage\";\r\n\r\nexport { useFormField, Form, FormItem, FormLabel, FormControl, FormMessage, FormField as FormFieldControl };\r\n","import * as React from \"react\";\r\nimport {\r\n\tuseFormContext,\r\n\ttype FieldPath,\r\n\ttype FieldValues,\r\n\ttype ControllerRenderProps,\r\n\ttype UseFormStateReturn,\r\n\ttype ControllerFieldState,\r\n\tPath\r\n} from \"react-hook-form\";\r\nimport { FormFieldControl, FormItem, FormControl } from \"../../Form\";\r\nimport { Field, FieldLayout } from \"@/components/field/Field\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst formFieldStyles = tv({\r\n\tslots: {\r\n\t\tlabel: \"w-44\"\r\n\t}\r\n});\r\n\r\nexport type FormFieldControlRenderer<TFieldValues extends FieldValues = FieldValues> = (props: {\r\n\tfield: ControllerRenderProps<TFieldValues, Path<TFieldValues>>;\r\n\tfieldState: ControllerFieldState;\r\n\tformState: UseFormStateReturn<TFieldValues>;\r\n\treadonly?: boolean;\r\n}) => React.ReactNode;\r\n\r\nexport interface FormFieldProps<\r\n\tTFieldValues extends FieldValues = FieldValues,\r\n\tTName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\r\n> {\r\n\t/** Имя поля формы */\r\n\tname: TName;\r\n\t/** Заголовок поля (лейбл) */\r\n\ttitle: string;\r\n\t/** Описание поля */\r\n\tdescription?: string;\r\n\t/** Функция рендеринга контрола */\r\n\tcontrol: FormFieldControlRenderer<TFieldValues>;\r\n\t/** Является ли поле обязательным */\r\n\trequired?: boolean;\r\n\t/** Дополнительные классы */\r\n\tclassName?: string;\r\n\t/** Классы для лейбла */\r\n\tlabelClassName?: string;\r\n\t/** Поле только для чтения */\r\n\treadonly?: boolean;\r\n\t/** Вариант расположения элементов поля */\r\n\tlayout?: FieldLayout;\r\n}\r\n\r\n/**\r\n * Компонент FormField объединяет несколько компонентов формы в один блок\r\n * для упрощения создания консистентных форм.\r\n *\r\n * ### Варианты раскладки (layout):\r\n *\r\n * - **responsive** (по умолчанию): адаптивная раскладка с mobile-first подходом.\r\n * На мобильных устройствах - вертикальный лейаут, на десктопе (от lg breakpoint) - горизонтальный.\r\n *\r\n * - **horizontal**: принудительно горизонтальная раскладка на всех экранах.\r\n * Лейбл располагается слева от поля ввода.\r\n *\r\n * - **vertical**: принудительно вертикальная раскладка на всех экранах.\r\n * Лейбл располагается над полем ввода.\r\n *\r\n * Компонент обеспечивает согласованное расположение элементов формы,\r\n * включая лейбл, поле ввода, подсказку и сообщение об ошибке.\r\n *\r\n * @example\r\n * <FormField\r\n * name=\"username\"\r\n * title=\"Имя пользователя\"\r\n * description=\"Ваше публичное имя пользователя\"\r\n * required\r\n * control={({ field }) => (\r\n * <TextInput\r\n * placeholder=\"Введите имя пользователя\"\r\n * startIcon={<Icon icon={User} />}\r\n * {...field}\r\n * />\r\n * )}\r\n * />\r\n */\r\n\r\nexport function FormField<\r\n\tTFieldValues extends FieldValues = FieldValues,\r\n\tTName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\r\n>({\r\n\tname,\r\n\ttitle,\r\n\tdescription,\r\n\tcontrol,\r\n\trequired,\r\n\tclassName,\r\n\tlabelClassName,\r\n\treadonly,\r\n\tlayout = \"responsive\"\r\n}: FormFieldProps<TFieldValues, TName>) {\r\n\tconst form = useFormContext<TFieldValues>();\r\n\tconst styles = formFieldStyles();\r\n\r\n\treturn (\r\n\t\t<FormFieldControl\r\n\t\t\tcontrol={form.control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, fieldState, formState }) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<FormItem>\r\n\t\t\t\t\t\t<Field\r\n\t\t\t\t\t\t\ttitle={title}\r\n\t\t\t\t\t\t\tdescription={description}\r\n\t\t\t\t\t\t\trequired={required}\r\n\t\t\t\t\t\t\terror={fieldState.error?.message}\r\n\t\t\t\t\t\t\tlabelClassName={styles.label({ className: labelClassName })}\r\n\t\t\t\t\t\t\tclassName={className}\r\n\t\t\t\t\t\t\treadonly={readonly}\r\n\t\t\t\t\t\t\tlayout={layout}\r\n\t\t\t\t\t\t\tcontrol={({ id, readonly }) => (\r\n\t\t\t\t\t\t\t\t<FormControl id={id}>{control({ field, fieldState, formState, readonly })}</FormControl>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormItem>\r\n\t\t\t\t);\r\n\t\t\t}}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst formStackStyles = tv({\r\n\tbase: \"space-y-5 lg:space-y-4\"\r\n});\r\n\r\n/** Оболочка для группы полей формы с внутренними отступами */\r\nexport const FormStack = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\r\n\t({ className, children, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<div ref={ref} className={formStackStyles({ className })} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nFormStack.displayName = \"FormStack\";\r\n"],"names":["formStyle","tv","Form","className","asChild","props","jsx","Slot","FormProvider","FormFieldContext","React","FormField","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","formItemStyle","FormItem","ref","FormLabel","required","formItemId","FieldLabel","FormControl","error","formDescriptionId","formMessageId","formMessageStyle","FormMessage","children","body","formFieldStyles","name","title","description","control","labelClassName","readonly","layout","form","styles","FormFieldControl","field","Field","formStackStyles","FormStack"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IconTooltip-CKJKGHbk.js","sources":["../src/components/icon-tooltip/IconTooltip.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { Icon } from \"@/components/icon/Icon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../tooltip/Tooltip\";\r\n\r\nexport interface IconTooltipProps {\r\n\tcontent: React.ReactNode;\r\n\ticon: LucideIcon;\r\n\ticonSize?: \"sm\" | \"md\" | \"lg\";\r\n\ticonClassName?: string;\r\n\tcontentClassName?: string;\r\n}\r\n\r\nexport const IconTooltip = ({ content, icon, iconClassName, iconSize = \"sm\", contentClassName }: IconTooltipProps) => {\r\n\treturn (\r\n\t\t<TooltipProvider>\r\n\t\t\t<Tooltip>\r\n\t\t\t\t<TooltipTrigger type=\"button\">\r\n\t\t\t\t\t<Icon size={iconSize} className={iconClassName} icon={icon} />\r\n\t\t\t\t</TooltipTrigger>\r\n\t\t\t\t<TooltipContent className={contentClassName}>{content}</TooltipContent>\r\n\t\t\t</Tooltip>\r\n\t\t</TooltipProvider>\r\n\t);\r\n};\r\n"],"names":["IconTooltip","content","icon","iconClassName","iconSize","contentClassName","jsx","TooltipProvider","jsxs","Tooltip","TooltipTrigger","Icon","TooltipContent"],"mappings":";;;AAaa,MAAAA,IAAc,CAAC,EAAE,SAAAC,GAAS,MAAAC,GAAM,eAAAC,GAAe,UAAAC,IAAW,MAAM,kBAAAC,QAE3E,gBAAAC,EAACC,GACA,EAAA,UAAA,gBAAAC,EAACC,GACA,EAAA,UAAA;AAAA,EAAC,gBAAAH,EAAAI,GAAA,EAAe,MAAK,UACpB,UAAC,gBAAAJ,EAAAK,GAAA,EAAK,MAAMP,GAAU,WAAWD,GAAe,MAAAD,EAAA,CAAY,EAC7D,CAAA;AAAA,EACC,gBAAAI,EAAAM,GAAA,EAAe,WAAWP,GAAmB,UAAQJ,EAAA,CAAA;AAAA,EAAA,CACvD,EACD,CAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Popover-CY_d3Ggn.js","sources":["../node_modules/.pnpm/@radix-ui+react-popover@1.1_3205396e68ca917639ebdf7a5c8fe165/node_modules/@radix-ui/react-popover/dist/index.mjs","../src/components/popover/Popover.tsx"],"sourcesContent":["\"use client\";\n\n// src/popover.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 { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\r\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport { usePortalContainer } from \"../portal-container\";\r\nimport { TriggerButton } from \"../button\";\r\nimport type { TriggerButtonProps } from \"../button/trigger-button/TriggerButton\";\r\n\r\nconst POPOVER_ANATOMY = [\r\n\t\"z-50 w-72 outline-none\",\r\n\t\"origin-[--radix-popover-content-transform-origin]\",\r\n\t\"data-[state=open]:animate-in data-[state=closed]:animate-out\",\r\n\t\"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n\t\"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\r\n\t\"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2\",\r\n\t\"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\"\r\n];\r\n\r\nconst popoverStyles = tv({\r\n\tbase: [\r\n\t\t...POPOVER_ANATOMY,\r\n\t\t\"rounded-lg border border-secondary-border bg-secondary-bg p-4 text-popover-foreground shadow-soft-md\"\r\n\t]\r\n});\r\n\r\nconst glassPopoverStyles = tv({\r\n\tbase: [\r\n\t\t...POPOVER_ANATOMY,\r\n\t\t\"backdrop-glass-regular rounded-2xl bg-alpha-40 p-2 text-popover-foreground shadow-glass-md\"\r\n\t]\r\n});\r\n\r\ntype PopoverContentProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {\r\n\t/**\r\n\t * Контейнер для портала. Если не указан, используется хук usePortalContainer\r\n\t * для поиска PortalContainer\r\n\t */\r\n\tportalContainer?: HTMLElement;\r\n};\r\n\r\n/**\r\n * Корневой компонент Popover, который оборачивает всю функциональность всплывающего окна.\r\n * Построен на основе Radix UI Popover primitive.\r\n */\r\nconst Popover = PopoverPrimitive.Root;\r\n\r\n/**\r\n * Элемент-триггер, который открывает всплывающее окно при клике.\r\n */\r\nconst PopoverTrigger = PopoverPrimitive.Trigger;\r\n\r\n/**\r\n * Элемент-якорь, относительно которого позиционируется всплывающее окно.\r\n */\r\nconst PopoverAnchor = PopoverPrimitive.Anchor;\r\n\r\n/**\r\n * Компонент содержимого всплывающего окна.\r\n */\r\nconst PopoverContent = React.forwardRef<React.ElementRef<typeof PopoverPrimitive.Content>, PopoverContentProps>(\r\n\t({ className, align = \"center\", sideOffset = 4, portalContainer, ...props }, ref) => {\r\n\t\tconst { variant } = useComponentVariant();\r\n\t\tconst container = usePortalContainer(portalContainer);\r\n\t\tconst contentClassName = variant === \"glass\" ? glassPopoverStyles({ className }) : popoverStyles({ className });\r\n\t\treturn (\r\n\t\t\t<PopoverPrimitive.Portal container={container}>\r\n\t\t\t\t<PopoverPrimitive.Content\r\n\t\t\t\t\t// Фикс скроллинга внутри Popover когда он находится в Dialog\r\n\t\t\t\t\t// RemoveScroll в Dialog блокирует прокрутку body, но может блокировать и вложенные элементы\r\n\t\t\t\t\t// stopPropagation предотвращает всплытие событий скроллинга к заблокированному body\r\n\t\t\t\t\t// https://github.com/radix-ui/primitives/issues/1159\r\n\t\t\t\t\tonWheel={(e) => {\r\n\t\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonTouchMove={(e) => {\r\n\t\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tref={ref}\r\n\t\t\t\t\talign={align}\r\n\t\t\t\t\tsideOffset={sideOffset}\r\n\t\t\t\t\tclassName={contentClassName}\r\n\t\t\t\t\t{...props}\r\n\t\t\t\t/>\r\n\t\t\t</PopoverPrimitive.Portal>\r\n\t\t);\r\n\t}\r\n);\r\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\r\n\r\n/**\r\n * Компонент-обертка для использования TriggerButton в качестве триггера поповера\r\n */\r\nconst PopoverTriggerButton = React.forwardRef<\r\n\tReact.ElementRef<typeof PopoverTrigger>,\r\n\tReact.ComponentPropsWithoutRef<typeof PopoverTrigger> & Omit<TriggerButtonProps, \"dataState\">\r\n>(({ children, ...props }, ref) => {\r\n\treturn (\r\n\t\t<PopoverTrigger asChild ref={ref}>\r\n\t\t\t<TriggerButton {...props}>{children}</TriggerButton>\r\n\t\t</PopoverTrigger>\r\n\t);\r\n});\r\n\r\nPopoverTriggerButton.displayName = \"PopoverTriggerButton\";\r\n\r\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverTriggerButton };\r\n"],"names":["POPOVER_NAME","createPopoverContext","createPopoverScope","createContextScope","createPopperScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","props","__scopePopover","children","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","React","hasCustomAnchor","setHasCustomAnchor","open","setOpen","useControllableState","jsx","PopperPrimitive.Root","useId","prevOpen","ANCHOR_NAME","PopoverAnchor","forwardedRef","anchorProps","context","onCustomAnchorAdd","onCustomAnchorRemove","PopperPrimitive.Anchor","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","useComposedRefs","trigger","Primitive","getState","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","PopoverPortal","forceMount","container","Presence","PortalPrimitive","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","Slot","createSlot","contentRef","composedRefs","isRightClickOutsideRef","content","hideOthers","RemoveScroll","PopoverContentImpl","event","originalEvent","ctrlLeftClick","isRightClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","target","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","useFocusGuards","FocusScope","DismissableLayer","PopperPrimitive.Content","CLOSE_NAME","PopoverClose","closeProps","ARROW_NAME","PopoverArrow","arrowProps","PopperPrimitive.Arrow","Root2","Anchor2","Trigger","Portal","Content2","POPOVER_ANATOMY","popoverStyles","tv","glassPopoverStyles","PopoverPrimitive.Root","PopoverPrimitive.Trigger","PopoverPrimitive.Anchor","className","align","sideOffset","portalContainer","ref","variant","useComponentVariant","usePortalContainer","contentClassName","PopoverPrimitive.Portal","PopoverPrimitive.Content","e","PopoverTriggerButton","TriggerButton"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SearchSelectTag-DFCX9zT1.js","sources":["../src/hooks/useControllableState.ts","../src/components/search-select/components/SearchSelectTag.tsx"],"sourcesContent":["import { useCallback, useState } from \"react\";\r\n\r\ntype UseControllableStateParams<T> = {\r\n\t/** Controlled значение */\r\n\tvalue?: T;\r\n\t/** Значение по умолчанию для uncontrolled режима */\r\n\tdefaultValue?: T;\r\n\t/** Callback при изменении значения */\r\n\tonChange?: (value: T) => void;\r\n};\r\n\r\n/**\r\n * Универсальный хук для управления controlled/uncontrolled состоянием.\r\n */\r\nexport function useControllableState<T>({ value, defaultValue, onChange }: UseControllableStateParams<T>) {\r\n\tconst [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\r\n\r\n\tconst isControlled = value !== undefined;\r\n\tconst actualValue = isControlled ? value : uncontrolledValue;\r\n\r\n\tconst setValue = useCallback(\r\n\t\t(nextValue: T | ((prevValue: T) => T)) => {\r\n\t\t\tconst resolvedValue =\r\n\t\t\t\ttypeof nextValue === \"function\" ? (nextValue as (prevValue: T) => T)(actualValue as T) : nextValue;\r\n\r\n\t\t\tif (!isControlled) {\r\n\t\t\t\tsetUncontrolledValue(resolvedValue);\r\n\t\t\t}\r\n\r\n\t\t\tonChange?.(resolvedValue);\r\n\t\t},\r\n\t\t[actualValue, isControlled, onChange]\r\n\t);\r\n\r\n\treturn [actualValue, setValue] as const;\r\n}\r\n","import { TagButton, TagClose, TagDivider, TagWrapper } from \"@/components/tag/Tag\";\r\nimport { useIsMobile } from \"@/hooks/useBreakpoints\";\r\nimport { PropsWithChildren, useMemo } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst searchSelectTagStyles = tv({\r\n\tbase: \"rounded-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary\",\r\n\tvariants: {\r\n\t\tselected: {\r\n\t\t\ttrue: \"group-focus-within/search-select-trigger:shadow-focus\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport interface SearchSelectTagProps {\r\n\tonLabelClick: (e: React.MouseEvent<HTMLElement>) => void;\r\n\tonClose: (e: React.MouseEvent<HTMLElement>) => void;\r\n\tonKeyDown?: (e: React.KeyboardEvent<HTMLDivElement>) => void;\r\n\treadonly?: boolean;\r\n\tisFocused?: boolean;\r\n\ttabIndex?: number;\r\n}\r\n\r\nexport const SearchSelectTag = (props: PropsWithChildren<SearchSelectTagProps>) => {\r\n\tconst {\r\n\t\tchildren,\r\n\t\tonLabelClick,\r\n\t\tonClose,\r\n\t\tonKeyDown,\r\n\t\treadonly = false,\r\n\t\tisFocused: selected = false,\r\n\t\ttabIndex\r\n\t} = props;\r\n\tconst hasClose = Boolean(onClose);\r\n\tconst isMobile = useIsMobile();\r\n\tconst size = useMemo(() => (isMobile ? \"lg\" : \"md\"), [isMobile]);\r\n\tconst styles = searchSelectTagStyles({ selected });\r\n\r\n\treturn (\r\n\t\t<TagWrapper size={size} className={styles} tabIndex={tabIndex} onKeyDown={onKeyDown}>\r\n\t\t\t<TagButton\r\n\t\t\t\tclassName=\"!shadow-none\"\r\n\t\t\t\tposition={hasClose && !readonly ? \"left\" : undefined}\r\n\t\t\t\tsize={size}\r\n\t\t\t\tonClick={onLabelClick}\r\n\t\t\t\tasChild\r\n\t\t\t>\r\n\t\t\t\t<span>{children}</span>\r\n\t\t\t</TagButton>\r\n\r\n\t\t\t{!readonly && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t<TagDivider />\r\n\t\t\t\t\t<TagClose className=\"!shadow-none\" size={size} onClick={onClose} tag=\"span\" />\r\n\t\t\t\t</>\r\n\t\t\t)}\r\n\t\t</TagWrapper>\r\n\t);\r\n};\r\n\r\nSearchSelectTag.displayName = \"SearchSelectTag\";\r\n"],"names":["useControllableState","value","defaultValue","onChange","uncontrolledValue","setUncontrolledValue","useState","isControlled","actualValue","setValue","useCallback","nextValue","resolvedValue","searchSelectTagStyles","tv","SearchSelectTag","props","children","onLabelClick","onClose","onKeyDown","readonly","selected","tabIndex","hasClose","isMobile","useIsMobile","size","useMemo","styles","TagWrapper","jsx","TagButton","jsxs","Fragment","TagDivider","TagClose"],"mappings":";;;;;AAcO,SAASA,EAAwB,EAAE,OAAAC,GAAO,cAAAC,GAAc,UAAAC,KAA2C;AACzG,QAAM,CAACC,GAAmBC,CAAoB,IAAIC,EAASJ,CAAY,GAEjEK,IAAeN,MAAU,QACzBO,IAAcD,IAAeN,IAAQG,GAErCK,IAAWC;AAAA,IAChB,CAACC,MAAyC;AACzC,YAAMC,IACL,OAAOD,KAAc,aAAcA,EAAkCH,CAAgB,IAAIG;AAE1F,MAAKJ,KACJF,EAAqBO,CAAa,GAGnCT,IAAWS,CAAa;AAAA,IACzB;AAAA,IACA,CAACJ,GAAaD,GAAcJ,CAAQ;AAAA,EACrC;AAEO,SAAA,CAACK,GAAaC,CAAQ;AAC9B;AC9BA,MAAMI,IAAwBC,EAAG;AAAA,EAChC,MAAM;AAAA,EACN,UAAU;AAAA,IACT,UAAU;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACP;AAEF,CAAC,GAWYC,IAAkB,CAACC,MAAmD;AAC5E,QAAA;AAAA,IACL,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,WAAWC,IAAW;AAAA,IACtB,UAAAC;AAAA,EAAA,IACGP,GACEQ,IAAW,EAAQL,GACnBM,IAAWC,EAAY,GACvBC,IAAOC,EAAQ,MAAOH,IAAW,OAAO,MAAO,CAACA,CAAQ,CAAC,GACzDI,IAAShB,EAAsB,EAAE,UAAAS,GAAU;AAEjD,2BACEQ,GAAW,EAAA,MAAAH,GAAY,WAAWE,GAAQ,UAAAN,GAAoB,WAAAH,GAC9D,UAAA;AAAA,IAAA,gBAAAW;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,WAAU;AAAA,QACV,UAAUR,KAAY,CAACH,IAAW,SAAS;AAAA,QAC3C,MAAAM;AAAA,QACA,SAAST;AAAA,QACT,SAAO;AAAA,QAEP,UAAA,gBAAAa,EAAC,UAAM,UAAAd,EAAS,CAAA;AAAA,MAAA;AAAA,IACjB;AAAA,IAEC,CAACI,KAEA,gBAAAY,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAH,EAACI,GAAW,EAAA;AAAA,MACZ,gBAAAJ,EAACK,KAAS,WAAU,gBAAe,MAAAT,GAAY,SAASR,GAAS,KAAI,OAAO,CAAA;AAAA,IAAA,EAC7E,CAAA;AAAA,EAAA,GAEF;AAEF;AAEAJ,EAAgB,cAAc;"}
|