@mage-ui/components 1.0.87 → 1.0.89
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/dist/components/buttons/button/Button.mjs.map +1 -1
- package/dist/components/buttons/button-action/ButtonAction.mjs.map +1 -1
- package/dist/components/buttons/button-action/ButtonActionContext.mjs.map +1 -1
- package/dist/components/buttons/button-action/ButtonLoader.mjs.map +1 -1
- package/dist/components/buttons/button-icon/ButtonIcon.mjs.map +1 -1
- package/dist/components/buttons/button-icon-visual/ButtonIconVisual.mjs.map +1 -1
- package/dist/components/buttons/button-visual/ButtonVisual.mjs.map +1 -1
- package/dist/components/controls/avatar-upload/AvatarUpload.d.mts +0 -1
- package/dist/components/controls/avatar-upload/AvatarUpload.d.mts.map +1 -1
- package/dist/components/controls/avatar-upload/AvatarUpload.mjs +1 -1
- package/dist/components/controls/avatar-upload/AvatarUpload.mjs.map +1 -1
- package/dist/components/controls/checkbox/Checkbox.mjs.map +1 -1
- package/dist/components/controls/checkbox-group/CheckboxGroup.mjs.map +1 -1
- package/dist/components/controls/date-picker/DatePicker.mjs.map +1 -1
- package/dist/components/controls/dropdown/Dropdown.d.mts +0 -3
- package/dist/components/controls/dropdown/Dropdown.d.mts.map +1 -1
- package/dist/components/controls/dropdown/Dropdown.mjs.map +1 -1
- package/dist/components/controls/dropdown/DropdownChevron.d.mts +0 -2
- package/dist/components/controls/dropdown/DropdownChevron.d.mts.map +1 -1
- package/dist/components/controls/dropdown/DropdownChevron.mjs.map +1 -1
- package/dist/components/controls/dropdown/DropdownClearButton.d.mts +0 -2
- package/dist/components/controls/dropdown/DropdownClearButton.d.mts.map +1 -1
- package/dist/components/controls/dropdown/DropdownClearButton.mjs.map +1 -1
- package/dist/components/controls/dropdown/DropdownContextProvider.d.mts +0 -2
- package/dist/components/controls/dropdown/DropdownContextProvider.d.mts.map +1 -1
- package/dist/components/controls/dropdown/DropdownContextProvider.mjs.map +1 -1
- package/dist/components/controls/dropdown/DropdownEndSlot.mjs.map +1 -1
- package/dist/components/controls/dropdown/DropdownTargetTextInput.d.mts +0 -1
- package/dist/components/controls/dropdown/DropdownTargetTextInput.d.mts.map +1 -1
- package/dist/components/controls/dropdown/DropdownTargetTextInput.mjs.map +1 -1
- package/dist/components/controls/dropdown/autocomplete/Autocomplete.mjs.map +1 -1
- package/dist/components/controls/dropdown/autocomplete/AutocompleteLoader.mjs.map +1 -1
- package/dist/components/controls/dropdown/autocomplete/AutocompleteTarget.mjs.map +1 -1
- package/dist/components/controls/dropdown/combobox/Combobox.mjs.map +1 -1
- package/dist/components/controls/dropdown/combobox/ComboboxCreatableOption.d.mts +0 -2
- package/dist/components/controls/dropdown/combobox/ComboboxCreatableOption.d.mts.map +1 -1
- package/dist/components/controls/dropdown/combobox/ComboboxCreatableOption.mjs.map +1 -1
- package/dist/components/controls/dropdown/combobox/ComboboxEmptyOption.d.mts +0 -2
- package/dist/components/controls/dropdown/combobox/ComboboxEmptyOption.d.mts.map +1 -1
- package/dist/components/controls/dropdown/combobox/ComboboxEmptyOption.mjs.map +1 -1
- package/dist/components/controls/dropdown/combobox/ComboboxOptions.mjs.map +1 -1
- package/dist/components/controls/dropdown/combobox/ComboboxTarget.d.mts +0 -2
- package/dist/components/controls/dropdown/combobox/ComboboxTarget.d.mts.map +1 -1
- package/dist/components/controls/dropdown/combobox/ComboboxTarget.mjs.map +1 -1
- package/dist/components/controls/dropdown/select/Select.mjs.map +1 -1
- package/dist/components/controls/dropdown/select/SelectSearch.d.mts +0 -1
- package/dist/components/controls/dropdown/select/SelectSearch.d.mts.map +1 -1
- package/dist/components/controls/dropdown/select/SelectSearch.mjs.map +1 -1
- package/dist/components/controls/dropzone/Dropzone.d.mts +0 -1
- package/dist/components/controls/dropzone/Dropzone.d.mts.map +1 -1
- package/dist/components/controls/dropzone/Dropzone.mjs.map +1 -1
- package/dist/components/controls/dropzone-files/DropzoneFiles.d.mts +0 -2
- package/dist/components/controls/dropzone-files/DropzoneFiles.d.mts.map +1 -1
- package/dist/components/controls/dropzone-files/DropzoneFiles.mjs.map +1 -1
- package/dist/components/controls/file-input/BaseFileInput.d.mts +0 -1
- package/dist/components/controls/file-input/BaseFileInput.d.mts.map +1 -1
- package/dist/components/controls/file-input/BaseFileInput.mjs.map +1 -1
- package/dist/components/controls/file-input/FileInput.mjs.map +1 -1
- package/dist/components/controls/file-input/FileInputMultiple.mjs.map +1 -1
- package/dist/components/controls/password-input/PasswordInput.mjs.map +1 -1
- package/dist/components/controls/password-input/PasswordStrengthInput.d.mts +0 -1
- package/dist/components/controls/password-input/PasswordStrengthInput.d.mts.map +1 -1
- package/dist/components/controls/password-input/PasswordStrengthInput.mjs.map +1 -1
- package/dist/components/controls/radio/Radio.mjs.map +1 -1
- package/dist/components/controls/radio-group/RadioGroup.mjs.map +1 -1
- package/dist/components/controls/switch/Switch.d.mts +0 -1
- package/dist/components/controls/switch/Switch.d.mts.map +1 -1
- package/dist/components/controls/switch/Switch.mjs.map +1 -1
- package/dist/components/controls/switch-group/SwitchGroup.mjs.map +1 -1
- package/dist/components/controls/text-input/TextInput.mjs.map +1 -1
- package/dist/components/controls/textarea/Textarea.mjs.map +1 -1
- package/dist/components/data-display/assigned-user/AssignedUser.d.mts +0 -1
- package/dist/components/data-display/assigned-user/AssignedUser.d.mts.map +1 -1
- package/dist/components/data-display/assigned-user/AssignedUser.mjs.map +1 -1
- package/dist/components/data-display/avatar/Avatar.mjs.map +1 -1
- package/dist/components/data-display/badge/Badge.mjs.map +1 -1
- package/dist/components/data-display/calendar/Calendar.d.mts +11 -48
- package/dist/components/data-display/calendar/Calendar.d.mts.map +1 -1
- package/dist/components/data-display/calendar/Calendar.mjs +1 -1
- package/dist/components/data-display/calendar/Calendar.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTable.d.mts +0 -1
- package/dist/components/data-display/datatables/DataTable.d.mts.map +1 -1
- package/dist/components/data-display/datatables/DataTable.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableBody.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableBottomSlot.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableBulkBar.d.mts +0 -1
- package/dist/components/data-display/datatables/DataTableBulkBar.d.mts.map +1 -1
- package/dist/components/data-display/datatables/DataTableBulkBar.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableColumns.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableErrorState.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableHeader.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTablePageSize.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTablePagination.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableRootContainer.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableSkeleton.mjs +1 -1
- package/dist/components/data-display/datatables/DataTableSkeleton.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableSlotRow.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableTopSlot.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableViewport.mjs.map +1 -1
- package/dist/components/data-display/description-list/DescriptionList.mjs.map +1 -1
- package/dist/components/data-display/icons/icon/Icon.mjs.map +1 -1
- package/dist/components/data-display/icons/icon-raw/IconRaw.mjs.map +1 -1
- package/dist/components/data-display/icons/icon-svg/IconSvg.mjs.map +1 -1
- package/dist/components/data-display/icons/icon-wrapped/IconWrapped.mjs.map +1 -1
- package/dist/components/data-display/index.d.mts +1 -1
- package/dist/components/data-display/indicator/Indicator.mjs.map +1 -1
- package/dist/components/data-display/loader-dot/LoaderDot.mjs.map +1 -1
- package/dist/components/data-display/loader-oval/LoaderOval.mjs.map +1 -1
- package/dist/components/data-display/logos/logo-image/LogoImage.mjs.map +1 -1
- package/dist/components/data-display/logos/logo-svg/LogoSvg.mjs.map +1 -1
- package/dist/components/data-display/notification-banner/NotificationBanner.mjs.map +1 -1
- package/dist/components/data-display/removable-item/RemovableItem.d.mts +0 -1
- package/dist/components/data-display/removable-item/RemovableItem.d.mts.map +1 -1
- package/dist/components/data-display/removable-item/RemovableItem.mjs.map +1 -1
- package/dist/components/data-display/table/TableBody.mjs.map +1 -1
- package/dist/components/data-display/table/TableCaption.mjs.map +1 -1
- package/dist/components/data-display/table/TableCell.mjs.map +1 -1
- package/dist/components/data-display/table/TableFoot.mjs.map +1 -1
- package/dist/components/data-display/table/TableHead.mjs.map +1 -1
- package/dist/components/data-display/table/TableHeaderCell.mjs.map +1 -1
- package/dist/components/data-display/table/TableRoot.mjs.map +1 -1
- package/dist/components/data-display/table/TableRow.mjs.map +1 -1
- package/dist/components/data-display/table/TableScroll.mjs.map +1 -1
- package/dist/components/data-display/tag/Tag.d.mts +0 -1
- package/dist/components/data-display/tag/Tag.d.mts.map +1 -1
- package/dist/components/data-display/tag/Tag.mjs.map +1 -1
- package/dist/components/data-display/tag-group/TagGroup.mjs.map +1 -1
- package/dist/components/data-display/uploaded-file/UploadedFile.d.mts +0 -1
- package/dist/components/data-display/uploaded-file/UploadedFile.d.mts.map +1 -1
- package/dist/components/data-display/uploaded-file/UploadedFile.mjs.map +1 -1
- package/dist/components/data-display/uploaded-file/UploadedFileDetails.mjs.map +1 -1
- package/dist/components/data-display/uploaded-file/UploadedFileIcon.mjs.map +1 -1
- package/dist/components/forms/Form.d.mts +0 -1
- package/dist/components/forms/Form.d.mts.map +1 -1
- package/dist/components/forms/Form.mjs.map +1 -1
- package/dist/components/forms/FormBase.mjs.map +1 -1
- package/dist/components/forms/FormErrorBox.mjs.map +1 -1
- package/dist/components/forms/controls/FormCheckbox.d.mts +0 -2
- package/dist/components/forms/controls/FormCheckbox.d.mts.map +1 -1
- package/dist/components/forms/controls/FormCheckbox.mjs.map +1 -1
- package/dist/components/forms/controls/FormHidden.mjs.map +1 -1
- package/dist/components/forms/controls/FormPassword.d.mts +0 -2
- package/dist/components/forms/controls/FormPassword.d.mts.map +1 -1
- package/dist/components/forms/controls/FormPassword.mjs.map +1 -1
- package/dist/components/forms/controls/FormSubmit.d.mts +0 -3
- package/dist/components/forms/controls/FormSubmit.d.mts.map +1 -1
- package/dist/components/forms/controls/FormSubmit.mjs.map +1 -1
- package/dist/components/forms/controls/FormTextInput.mjs.map +1 -1
- package/dist/components/forms/controls/register-components.mjs.map +1 -1
- package/dist/components/forms/rules/zod.d.mts +0 -1
- package/dist/components/forms/rules/zod.d.mts.map +1 -1
- package/dist/components/index.d.mts +2 -10
- package/dist/components/layouts/card/Card.mjs.map +1 -1
- package/dist/components/layouts/fluid-grid/FluidGrid.mjs.map +1 -1
- package/dist/components/layouts/grid/Grid.mjs.map +1 -1
- package/dist/components/misc/horizontal-divider/HorizontalDivider.mjs.map +1 -1
- package/dist/components/misc/scroll-area/ScrollArea.mjs.map +1 -1
- package/dist/components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs.map +1 -1
- package/dist/components/misc/visually-hidden/VisuallyHidden.mjs.map +1 -1
- package/dist/components/navigations/breadcrumbs/Breadcrumbs.mjs.map +1 -1
- package/dist/components/navigations/breadcrumbs/BreadcrumbsBar.mjs.map +1 -1
- package/dist/components/navigations/menu/Menu.d.mts +0 -1
- package/dist/components/navigations/menu/Menu.d.mts.map +1 -1
- package/dist/components/navigations/menu/Menu.mjs.map +1 -1
- package/dist/components/navigations/pagination/Pagination.mjs.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/Sidebar.mjs.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarContext.mjs.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarNavGroup.mjs.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarNavItem.mjs.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButton.mjs.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButtonCollapsed.mjs.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.d.mts +0 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.d.mts.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.mjs.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarNavList.mjs.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarSubNavItem.d.mts +0 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarSubNavItem.d.mts.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarSubNavItem.mjs.map +1 -1
- package/dist/components/navigations/sidebars/sidebar/SidebarSubnav.mjs.map +1 -1
- package/dist/components/overlays/modal/features/ModalAlert.d.mts +0 -2
- package/dist/components/overlays/modal/features/ModalAlert.d.mts.map +1 -1
- package/dist/components/overlays/modal/features/ModalAlert.mjs.map +1 -1
- package/dist/components/overlays/modal/features/ModalConfirm.d.mts +0 -2
- package/dist/components/overlays/modal/features/ModalConfirm.d.mts.map +1 -1
- package/dist/components/overlays/modal/features/ModalConfirm.mjs.map +1 -1
- package/dist/components/overlays/modal/features/ModalDialog.d.mts +0 -2
- package/dist/components/overlays/modal/features/ModalDialog.d.mts.map +1 -1
- package/dist/components/overlays/modal/features/ModalDialog.mjs.map +1 -1
- package/dist/components/overlays/modal/index.mjs +1 -1
- package/dist/components/overlays/modal/index.mjs.map +1 -1
- package/dist/components/overlays/modal/modal-core.mjs.map +1 -1
- package/dist/components/overlays/modal/modal-primitives.mjs.map +1 -1
- package/dist/components/overlays/modal/modal-registry.mjs.map +1 -1
- package/dist/components/overlays/toast/toast.mjs.map +1 -1
- package/dist/components/overlays/tooltip/Tooltip.mjs.map +1 -1
- package/dist/index.d.mts +2 -4
- package/dist/index.mjs +1 -1
- package/dist/providers/MageUiProvider.d.mts +0 -1
- package/dist/providers/MageUiProvider.d.mts.map +1 -1
- package/dist/providers/MageUiProvider.mjs.map +1 -1
- package/package.json +21 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Indicator.mjs","names":[],"sources":["../../../../src/components/data-display/indicator/Indicator.tsx"],"sourcesContent":["import { type ComponentPropsWithRef, forwardRef } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { visuallyHidden } from '@mage-ui/styled-system/patterns';\nimport {\n indicator,\n indicatorLabel,\n indicatorRoot,\n} from '@mage-ui/styled-system/recipes';\n\ntype IndicatorPosition =\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'bottom-center'\n | 'center-start'\n | 'center-end'\n | 'center-center';\n\ntype Offset = {\n top?: string;\n bottom?: string;\n left?: string;\n right?: string;\n};\n\nexport type IndicatorProps = ComponentPropsWithRef<'div'> & {\n label?: string | number;\n ariaLabel?: string;\n disabled?: boolean;\n offset?: number;\n position?: IndicatorPosition;\n classNames?: {\n indicator?: string;\n root?: string;\n label?: string;\n };\n};\n\nconst calculateOffset = (position: string, offset: number) => {\n const offsetLabel = {} as Offset;\n if (position.includes('top') && offset) offsetLabel.top = `${offset}px`;\n if (position.includes('bottom') && offset) offsetLabel.bottom = `${offset}px`;\n if (position.includes('start') && offset) offsetLabel.left = `${offset}px`;\n if (position.includes('end') && offset) offsetLabel.right = `${offset}px`;\n return offsetLabel;\n};\n\nexport const Indicator = forwardRef<HTMLDivElement, IndicatorProps>(\n (\n {\n children,\n label = undefined,\n disabled = false,\n position = 'top-end',\n offset = 0,\n classNames,\n ariaLabel,\n },\n ref,\n ) => {\n return (\n <div\n className={cx(\n classNames?.indicator ?? indicator(),\n classNames?.root ?? indicatorRoot(),\n )}\n ref={ref}\n >\n {!disabled && (\n <>\n {ariaLabel && <span className={visuallyHidden()}>{ariaLabel}</span>}\n <span\n className={cx(indicatorLabel({ position }), classNames?.label)}\n style={calculateOffset(position, offset)}\n >\n {label}\n </span>\n </>\n )}\n {children}\n </div>\n );\n },\n);\n\nIndicator.displayName = 'Indicator';\n"],"mappings":"sTAyCA,MAAM,GAAmB,EAAkB,IAAmB,CAC5D,IAAM,EAAc,EAAE,CAKtB,OAJI,EAAS,SAAS,MAAM,EAAI,IAAQ,EAAY,IAAM,GAAG,EAAO,KAChE,EAAS,SAAS,SAAS,EAAI,IAAQ,EAAY,OAAS,GAAG,EAAO,KACtE,EAAS,SAAS,QAAQ,EAAI,IAAQ,EAAY,KAAO,GAAG,EAAO,KACnE,EAAS,SAAS,MAAM,EAAI,IAAQ,EAAY,MAAQ,GAAG,EAAO,KAC/D,GAGI,EAAY,GAErB,CACE,WACA,QAAQ,IAAA,GACR,WAAW,GACX,WAAW,UACX,SAAS,EACT,aACA,aAEF,IAGE,EAAC,
|
|
1
|
+
{"version":3,"file":"Indicator.mjs","names":[],"sources":["../../../../src/components/data-display/indicator/Indicator.tsx"],"sourcesContent":["import { type ComponentPropsWithRef, forwardRef } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { visuallyHidden } from '@mage-ui/styled-system/patterns';\nimport {\n indicator,\n indicatorLabel,\n indicatorRoot,\n} from '@mage-ui/styled-system/recipes';\n\ntype IndicatorPosition =\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'bottom-center'\n | 'center-start'\n | 'center-end'\n | 'center-center';\n\ntype Offset = {\n top?: string;\n bottom?: string;\n left?: string;\n right?: string;\n};\n\nexport type IndicatorProps = ComponentPropsWithRef<'div'> & {\n label?: string | number;\n ariaLabel?: string;\n disabled?: boolean;\n offset?: number;\n position?: IndicatorPosition;\n classNames?: {\n indicator?: string;\n root?: string;\n label?: string;\n };\n};\n\nconst calculateOffset = (position: string, offset: number) => {\n const offsetLabel = {} as Offset;\n if (position.includes('top') && offset) offsetLabel.top = `${offset}px`;\n if (position.includes('bottom') && offset) offsetLabel.bottom = `${offset}px`;\n if (position.includes('start') && offset) offsetLabel.left = `${offset}px`;\n if (position.includes('end') && offset) offsetLabel.right = `${offset}px`;\n return offsetLabel;\n};\n\nexport const Indicator = forwardRef<HTMLDivElement, IndicatorProps>(\n (\n {\n children,\n label = undefined,\n disabled = false,\n position = 'top-end',\n offset = 0,\n classNames,\n ariaLabel,\n },\n ref,\n ) => {\n return (\n <div\n className={cx(\n classNames?.indicator ?? indicator(),\n classNames?.root ?? indicatorRoot(),\n )}\n ref={ref}\n >\n {!disabled && (\n <>\n {ariaLabel && <span className={visuallyHidden()}>{ariaLabel}</span>}\n <span\n className={cx(indicatorLabel({ position }), classNames?.label)}\n style={calculateOffset(position, offset)}\n >\n {label}\n </span>\n </>\n )}\n {children}\n </div>\n );\n },\n);\n\nIndicator.displayName = 'Indicator';\n"],"mappings":"sTAyCA,MAAM,GAAmB,EAAkB,IAAmB,CAC5D,IAAM,EAAc,EAAE,CAKtB,OAJI,EAAS,SAAS,MAAM,EAAI,IAAQ,EAAY,IAAM,GAAG,EAAO,KAChE,EAAS,SAAS,SAAS,EAAI,IAAQ,EAAY,OAAS,GAAG,EAAO,KACtE,EAAS,SAAS,QAAQ,EAAI,IAAQ,EAAY,KAAO,GAAG,EAAO,KACnE,EAAS,SAAS,MAAM,EAAI,IAAQ,EAAY,MAAQ,GAAG,EAAO,KAC/D,GAGI,EAAY,GAErB,CACE,WACA,QAAQ,IAAA,GACR,WAAW,GACX,WAAW,UACX,SAAS,EACT,aACA,aAEF,IAGE,EAAC,MAAD,CACE,UAAW,EACT,GAAY,WAAa,GAAW,CACpC,GAAY,MAAQ,GAAe,CACpC,CACI,eALP,CAOG,CAAC,GACA,EAAA,EAAA,CAAA,SAAA,CACG,GAAa,EAAC,OAAD,CAAM,UAAW,GAAgB,UAAG,EAAiB,CAAA,CACnE,EAAC,OAAD,CACE,UAAW,EAAG,EAAe,CAAE,WAAU,CAAC,CAAE,GAAY,MAAM,CAC9D,MAAO,EAAgB,EAAU,EAAO,UAEvC,EACI,CAAA,CACN,CAAA,CAAA,CAEJ,EACG,GAGX,CAED,EAAU,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoaderDot.mjs","names":[],"sources":["../../../../src/components/data-display/loader-dot/LoaderDot.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { loaderDot, loaderDotRoot } from '@mage-ui/styled-system/recipes';\nimport { Loader } from '@mantine/core';\n\nexport type LoaderDotProps = {\n classNames?: {\n loader?: string;\n root?: string;\n };\n};\n\nexport const LoaderDot = ({ classNames }: LoaderDotProps) => {\n return (\n <Loader\n type='dots'\n classNames={{\n root: cx(\n classNames?.loader ?? loaderDot(),\n classNames?.root ?? loaderDotRoot(),\n ),\n }}\n />\n );\n};\n"],"mappings":"6MAWA,MAAa,GAAa,CAAE,gBAExB,EAAC,
|
|
1
|
+
{"version":3,"file":"LoaderDot.mjs","names":[],"sources":["../../../../src/components/data-display/loader-dot/LoaderDot.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { loaderDot, loaderDotRoot } from '@mage-ui/styled-system/recipes';\nimport { Loader } from '@mantine/core';\n\nexport type LoaderDotProps = {\n classNames?: {\n loader?: string;\n root?: string;\n };\n};\n\nexport const LoaderDot = ({ classNames }: LoaderDotProps) => {\n return (\n <Loader\n type='dots'\n classNames={{\n root: cx(\n classNames?.loader ?? loaderDot(),\n classNames?.root ?? loaderDotRoot(),\n ),\n }}\n />\n );\n};\n"],"mappings":"6MAWA,MAAa,GAAa,CAAE,gBAExB,EAAC,EAAD,CACE,KAAK,OACL,WAAY,CACV,KAAM,EACJ,GAAY,QAAU,GAAW,CACjC,GAAY,MAAQ,GAAe,CACpC,CACF,CACD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoaderOval.mjs","names":[],"sources":["../../../../src/components/data-display/loader-oval/LoaderOval.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { loaderOval, loaderOvalRoot } from '@mage-ui/styled-system/recipes';\nimport { Loader } from '@mantine/core';\n\nexport type LoaderOvalProps = {\n classNames?: {\n loader?: string;\n root?: string;\n };\n};\n\nexport const LoaderOval = ({ classNames }: LoaderOvalProps) => {\n return (\n <Loader\n type='oval'\n classNames={{\n root: cx(\n classNames?.loader ?? loaderOval(),\n classNames?.root ?? loaderOvalRoot(),\n ),\n }}\n />\n );\n};\n"],"mappings":"+MAWA,MAAa,GAAc,CAAE,gBAEzB,EAAC,
|
|
1
|
+
{"version":3,"file":"LoaderOval.mjs","names":[],"sources":["../../../../src/components/data-display/loader-oval/LoaderOval.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { loaderOval, loaderOvalRoot } from '@mage-ui/styled-system/recipes';\nimport { Loader } from '@mantine/core';\n\nexport type LoaderOvalProps = {\n classNames?: {\n loader?: string;\n root?: string;\n };\n};\n\nexport const LoaderOval = ({ classNames }: LoaderOvalProps) => {\n return (\n <Loader\n type='oval'\n classNames={{\n root: cx(\n classNames?.loader ?? loaderOval(),\n classNames?.root ?? loaderOvalRoot(),\n ),\n }}\n />\n );\n};\n"],"mappings":"+MAWA,MAAa,GAAc,CAAE,gBAEzB,EAAC,EAAD,CACE,KAAK,OACL,WAAY,CACV,KAAM,EACJ,GAAY,QAAU,GAAY,CAClC,GAAY,MAAQ,GAAgB,CACrC,CACF,CACD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogoImage.mjs","names":[],"sources":["../../../../../src/components/data-display/logos/logo-image/LogoImage.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n logoImage,\n logoImageImage,\n logoImageRoot,\n} from '@mage-ui/styled-system/recipes';\n\nexport type LogoImageProps = {\n href?: string;\n src: string;\n srcDark?: string;\n alt: string;\n ariaLabel?: string;\n theme?: 'light' | 'dark';\n width: number;\n height: number;\n classNames?: {\n logo?: string;\n root?: string;\n image?: string;\n };\n} & ComponentPropsWithRef<'a'>;\n\nexport const LogoImage = ({\n href = '/',\n src,\n srcDark,\n alt,\n ariaLabel,\n theme = 'light',\n width,\n height,\n classNames,\n ...props\n}: LogoImageProps): ReactNode => {\n const resolvedSrc = theme === 'dark' && srcDark ? srcDark : src; // que vingui de fora\n\n // TODO: possibilitat usar link next\n // TODO: next image\n // TODO: no té perquè tenir link\n return (\n <a\n href={href}\n aria-label={ariaLabel}\n className={cx(\n classNames?.logo ?? logoImage(),\n classNames?.root ?? logoImageRoot(),\n )}\n {...props}\n >\n <img\n src={resolvedSrc}\n alt={alt}\n width={width}\n height={height}\n loading='eager'\n className={classNames?.image ?? logoImageImage()}\n />\n </a>\n );\n};\n"],"mappings":"0LAyBA,MAAa,GAAa,CACxB,OAAO,IACP,MACA,UACA,MACA,YACA,QAAQ,QACR,QACA,SACA,aACA,GAAG,KAC4B,CAC/B,IAAM,EAAc,IAAU,QAAU,EAAU,EAAU,EAK5D,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"LogoImage.mjs","names":[],"sources":["../../../../../src/components/data-display/logos/logo-image/LogoImage.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n logoImage,\n logoImageImage,\n logoImageRoot,\n} from '@mage-ui/styled-system/recipes';\n\nexport type LogoImageProps = {\n href?: string;\n src: string;\n srcDark?: string;\n alt: string;\n ariaLabel?: string;\n theme?: 'light' | 'dark';\n width: number;\n height: number;\n classNames?: {\n logo?: string;\n root?: string;\n image?: string;\n };\n} & ComponentPropsWithRef<'a'>;\n\nexport const LogoImage = ({\n href = '/',\n src,\n srcDark,\n alt,\n ariaLabel,\n theme = 'light',\n width,\n height,\n classNames,\n ...props\n}: LogoImageProps): ReactNode => {\n const resolvedSrc = theme === 'dark' && srcDark ? srcDark : src; // que vingui de fora\n\n // TODO: possibilitat usar link next\n // TODO: next image\n // TODO: no té perquè tenir link\n return (\n <a\n href={href}\n aria-label={ariaLabel}\n className={cx(\n classNames?.logo ?? logoImage(),\n classNames?.root ?? logoImageRoot(),\n )}\n {...props}\n >\n <img\n src={resolvedSrc}\n alt={alt}\n width={width}\n height={height}\n loading='eager'\n className={classNames?.image ?? logoImageImage()}\n />\n </a>\n );\n};\n"],"mappings":"0LAyBA,MAAa,GAAa,CACxB,OAAO,IACP,MACA,UACA,MACA,YACA,QAAQ,QACR,QACA,SACA,aACA,GAAG,KAC4B,CAC/B,IAAM,EAAc,IAAU,QAAU,EAAU,EAAU,EAK5D,OACE,EAAC,IAAD,CACQ,OACN,aAAY,EACZ,UAAW,EACT,GAAY,MAAQ,GAAW,CAC/B,GAAY,MAAQ,GAAe,CACpC,CACD,GAAI,WAEJ,EAAC,MAAD,CACE,IAAK,EACA,MACE,QACC,SACR,QAAQ,QACR,UAAW,GAAY,OAAS,GAAgB,CAChD,CAAA,CACA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogoSvg.mjs","names":[],"sources":["../../../../../src/components/data-display/logos/logo-svg/LogoSvg.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n logoSvg,\n logoSvgRoot,\n logoSvgSvg,\n} from '@mage-ui/styled-system/recipes';\n\nexport type LogoSvgProps = {\n width?: number | string;\n height?: number | string;\n viewBox?: string;\n children: ReactNode;\n classNames?: {\n logo?: string;\n root?: string;\n svg?: string;\n };\n} & ComponentPropsWithRef<'a'>;\n\nexport const LogoSvg = ({\n width,\n height,\n viewBox,\n children,\n classNames,\n ...props\n}: LogoSvgProps): ReactNode => {\n return (\n <span\n className={cx(\n classNames?.logo ?? logoSvg(),\n classNames?.root ?? logoSvgRoot(),\n )}\n {...props}\n >\n <svg\n width={width}\n height={height}\n viewBox={viewBox}\n className={classNames?.svg ?? logoSvgSvg()}\n fill='none'\n aria-hidden='true'\n focusable='false'\n xmlns='http://www.w3.org/2000/svg'\n >\n {children}\n </svg>\n </span>\n );\n};\n"],"mappings":"kLAqBA,MAAa,GAAW,CACtB,QACA,SACA,UACA,WACA,aACA,GAAG,KAGD,EAAC,
|
|
1
|
+
{"version":3,"file":"LogoSvg.mjs","names":[],"sources":["../../../../../src/components/data-display/logos/logo-svg/LogoSvg.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n logoSvg,\n logoSvgRoot,\n logoSvgSvg,\n} from '@mage-ui/styled-system/recipes';\n\nexport type LogoSvgProps = {\n width?: number | string;\n height?: number | string;\n viewBox?: string;\n children: ReactNode;\n classNames?: {\n logo?: string;\n root?: string;\n svg?: string;\n };\n} & ComponentPropsWithRef<'a'>;\n\nexport const LogoSvg = ({\n width,\n height,\n viewBox,\n children,\n classNames,\n ...props\n}: LogoSvgProps): ReactNode => {\n return (\n <span\n className={cx(\n classNames?.logo ?? logoSvg(),\n classNames?.root ?? logoSvgRoot(),\n )}\n {...props}\n >\n <svg\n width={width}\n height={height}\n viewBox={viewBox}\n className={classNames?.svg ?? logoSvgSvg()}\n fill='none'\n aria-hidden='true'\n focusable='false'\n xmlns='http://www.w3.org/2000/svg'\n >\n {children}\n </svg>\n </span>\n );\n};\n"],"mappings":"kLAqBA,MAAa,GAAW,CACtB,QACA,SACA,UACA,WACA,aACA,GAAG,KAGD,EAAC,OAAD,CACE,UAAW,EACT,GAAY,MAAQ,GAAS,CAC7B,GAAY,MAAQ,GAAa,CAClC,CACD,GAAI,WAEJ,EAAC,MAAD,CACS,QACC,SACC,UACT,UAAW,GAAY,KAAO,GAAY,CAC1C,KAAK,OACL,cAAY,OACZ,UAAU,QACV,MAAM,6BAEL,WACG,CAAA,CACD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationBanner.mjs","names":[],"sources":["../../../../src/components/data-display/notification-banner/NotificationBanner.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n notificationBanner,\n notificationBannerContent,\n notificationBannerIcon,\n notificationBannerIconIconRaw,\n notificationBannerIconIconRawRoot,\n notificationBannerIconRoot,\n notificationBannerIconWrapped,\n notificationBannerIconWrappedRoot,\n notificationBannerRoot,\n notificationBannerSection,\n notificationBannerWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Icon, type IconProps } from '../icons/icon/Icon';\nimport {\n IconWrapped,\n type IconWrappedProps,\n} from '../icons/icon-wrapped/IconWrapped';\n\nexport type NotificationBannerIntent =\n | 'info'\n | 'success'\n | 'warning'\n | 'danger';\n\nconst INTENT_ICON_NAME_MAP: Record<NotificationBannerIntent, string> = {\n info: 'mage-notification-banner-info-circle',\n success: 'mage-notification-banner-check-circle',\n warning: 'mage-notification-banner-alert-triangle',\n // danger: 'mage-notification-banner-x-circle',\n danger: 'mage-notification-banner-alert-triangle',\n};\n\nexport type NotificationBannerProps = Omit<\n ComponentPropsWithoutRef<'div'>,\n 'className'\n> & {\n intent?: NotificationBannerIntent;\n startSlot?: ReactNode;\n children: ReactNode;\n classNames?: {\n notificationBanner?: string;\n root?: string;\n wrapper?: string;\n section?: string;\n content?: string;\n iconWrapped?: IconWrappedProps['classNames'];\n icon?: IconProps['classNames'];\n };\n};\n\nexport const NotificationBanner = ({\n intent = 'info',\n startSlot,\n children,\n classNames,\n ...props\n}: NotificationBannerProps): ReactNode => {\n const iconName = INTENT_ICON_NAME_MAP[intent];\n\n return (\n <div\n {...props}\n data-intent={intent}\n className={cx(\n classNames?.notificationBanner ?? notificationBanner(),\n classNames?.root ?? notificationBannerRoot(),\n )}\n >\n <div className={classNames?.wrapper ?? notificationBannerWrapper()}>\n <div className={classNames?.section ?? notificationBannerSection()}>\n {startSlot ? (\n startSlot\n ) : (\n <IconWrapped\n classNames={{\n iconWrapped:\n classNames?.iconWrapped?.iconWrapped ??\n notificationBannerIconWrapped(),\n root:\n classNames?.iconWrapped?.root ??\n notificationBannerIconWrappedRoot(),\n }}\n >\n <Icon\n name={iconName}\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.icon?.icon ?? notificationBannerIcon(),\n root: classNames?.icon?.root ?? notificationBannerIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.icon?.iconRaw?.iconRaw ??\n notificationBannerIconIconRaw(),\n root:\n classNames?.icon?.iconRaw?.root ??\n notificationBannerIconIconRawRoot(),\n },\n }}\n />\n </IconWrapped>\n )}\n </div>\n <div className={classNames?.content ?? notificationBannerContent()}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"imBA6BA,MAAM,EAAiE,CACrE,KAAM,uCACN,QAAS,wCACT,QAAS,0CAET,OAAQ,0CACT,CAoBY,GAAsB,CACjC,SAAS,OACT,YACA,WACA,aACA,GAAG,KACqC,CACxC,IAAM,EAAW,EAAqB,GAEtC,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"NotificationBanner.mjs","names":[],"sources":["../../../../src/components/data-display/notification-banner/NotificationBanner.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n notificationBanner,\n notificationBannerContent,\n notificationBannerIcon,\n notificationBannerIconIconRaw,\n notificationBannerIconIconRawRoot,\n notificationBannerIconRoot,\n notificationBannerIconWrapped,\n notificationBannerIconWrappedRoot,\n notificationBannerRoot,\n notificationBannerSection,\n notificationBannerWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Icon, type IconProps } from '../icons/icon/Icon';\nimport {\n IconWrapped,\n type IconWrappedProps,\n} from '../icons/icon-wrapped/IconWrapped';\n\nexport type NotificationBannerIntent =\n | 'info'\n | 'success'\n | 'warning'\n | 'danger';\n\nconst INTENT_ICON_NAME_MAP: Record<NotificationBannerIntent, string> = {\n info: 'mage-notification-banner-info-circle',\n success: 'mage-notification-banner-check-circle',\n warning: 'mage-notification-banner-alert-triangle',\n // danger: 'mage-notification-banner-x-circle',\n danger: 'mage-notification-banner-alert-triangle',\n};\n\nexport type NotificationBannerProps = Omit<\n ComponentPropsWithoutRef<'div'>,\n 'className'\n> & {\n intent?: NotificationBannerIntent;\n startSlot?: ReactNode;\n children: ReactNode;\n classNames?: {\n notificationBanner?: string;\n root?: string;\n wrapper?: string;\n section?: string;\n content?: string;\n iconWrapped?: IconWrappedProps['classNames'];\n icon?: IconProps['classNames'];\n };\n};\n\nexport const NotificationBanner = ({\n intent = 'info',\n startSlot,\n children,\n classNames,\n ...props\n}: NotificationBannerProps): ReactNode => {\n const iconName = INTENT_ICON_NAME_MAP[intent];\n\n return (\n <div\n {...props}\n data-intent={intent}\n className={cx(\n classNames?.notificationBanner ?? notificationBanner(),\n classNames?.root ?? notificationBannerRoot(),\n )}\n >\n <div className={classNames?.wrapper ?? notificationBannerWrapper()}>\n <div className={classNames?.section ?? notificationBannerSection()}>\n {startSlot ? (\n startSlot\n ) : (\n <IconWrapped\n classNames={{\n iconWrapped:\n classNames?.iconWrapped?.iconWrapped ??\n notificationBannerIconWrapped(),\n root:\n classNames?.iconWrapped?.root ??\n notificationBannerIconWrappedRoot(),\n }}\n >\n <Icon\n name={iconName}\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.icon?.icon ?? notificationBannerIcon(),\n root: classNames?.icon?.root ?? notificationBannerIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.icon?.iconRaw?.iconRaw ??\n notificationBannerIconIconRaw(),\n root:\n classNames?.icon?.iconRaw?.root ??\n notificationBannerIconIconRawRoot(),\n },\n }}\n />\n </IconWrapped>\n )}\n </div>\n <div className={classNames?.content ?? notificationBannerContent()}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"imBA6BA,MAAM,EAAiE,CACrE,KAAM,uCACN,QAAS,wCACT,QAAS,0CAET,OAAQ,0CACT,CAoBY,GAAsB,CACjC,SAAS,OACT,YACA,WACA,aACA,GAAG,KACqC,CACxC,IAAM,EAAW,EAAqB,GAEtC,OACE,EAAC,MAAD,CACE,GAAI,EACJ,cAAa,EACb,UAAW,EACT,GAAY,oBAAsB,GAAoB,CACtD,GAAY,MAAQ,GAAwB,CAC7C,UAED,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAA2B,UAAlE,CACE,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAA2B,UAC/D,GAGC,EAAC,EAAD,CACE,WAAY,CACV,YACE,GAAY,aAAa,aACzB,GAA+B,CACjC,KACE,GAAY,aAAa,MACzB,GAAmC,CACtC,UAED,EAAC,EAAD,CACE,KAAM,EACN,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,MAAM,MAAQ,GAAwB,CACxD,KAAM,GAAY,MAAM,MAAQ,GAA4B,CAC5D,QAAS,CACP,QACE,GAAY,MAAM,SAAS,SAC3B,GAA+B,CACjC,KACE,GAAY,MAAM,SAAS,MAC3B,GAAmC,CACtC,CACF,CACD,CAAA,CACU,CAAA,CAEZ,CAAA,CACN,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAA2B,CAC/D,WACG,CAAA,CACF,GACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemovableItem.d.mts","names":[],"sources":["../../../../src/components/data-display/removable-item/RemovableItem.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RemovableItem.d.mts","names":[],"sources":["../../../../src/components/data-display/removable-item/RemovableItem.tsx"],"mappings":";;;;;KAgBY,kBAAA;EACV,SAAA,GAAY,SAAA;EACZ,QAAA,EAAU,SAAA;EACV,QAAA;EACA,iBAAA;EACA,UAAA;IACE,SAAA;IACA,IAAA;IACA,OAAA;IACA,OAAA;IACA,UAAA,GAAa,eAAA;EAAA;AAAA;AAAA,cAIJ,aAAA;EAAiB,SAAA;EAAA,QAAA;EAAA,QAAA;EAAA,iBAAA;EAAA;AAAA,GAM3B,kBAAA,KAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemovableItem.mjs","names":[],"sources":["../../../../src/components/data-display/removable-item/RemovableItem.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n removableItem,\n removableItemButtonIcon,\n removableItemButtonIconIcon,\n removableItemButtonIconIconRaw,\n removableItemButtonIconIconRawRoot,\n removableItemButtonIconRoot,\n removableItemContent,\n removableItemRoot,\n removableItemSection,\n} from '@mage-ui/styled-system/recipes';\nimport { ButtonIcon, type ButtonIconProps } from '@/components/buttons';\n\nexport type RemovableItemProps = {\n startSlot?: ReactNode;\n children: ReactNode;\n onRemove: () => void;\n removeButtonLabel?: string;\n classNames?: {\n container?: string;\n root?: string;\n section?: string;\n content?: string;\n buttonIcon?: ButtonIconProps['classNames'];\n };\n};\n\nexport const RemovableItem = ({\n startSlot,\n children,\n onRemove,\n removeButtonLabel = 'Remove',\n classNames,\n}: RemovableItemProps) => {\n return (\n <div\n className={cx(\n classNames?.container ?? removableItem(),\n classNames?.root ?? removableItemRoot(),\n )}\n >\n {startSlot && (\n <div className={classNames?.section ?? removableItemSection()}>\n {startSlot}\n </div>\n )}\n\n <div className={classNames?.content ?? removableItemContent()}>\n {children}\n </div>\n\n <ButtonIcon\n label={removeButtonLabel}\n onClick={onRemove}\n path='/icons/sprite-mage.svg'\n name='mage-removable-item-button-x'\n classNames={{\n buttonIcon:\n classNames?.buttonIcon?.buttonIcon ?? removableItemButtonIcon(),\n root: classNames?.buttonIcon?.root ?? removableItemButtonIconRoot(),\n icon: classNames?.buttonIcon?.icon ?? removableItemButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n removableItemButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n removableItemButtonIconIconRawRoot(),\n },\n }}\n />\n </div>\n );\n};\n"],"mappings":"6dA8BA,MAAa,GAAiB,CAC5B,YACA,WACA,WACA,oBAAoB,SACpB,gBAGE,EAAC,
|
|
1
|
+
{"version":3,"file":"RemovableItem.mjs","names":[],"sources":["../../../../src/components/data-display/removable-item/RemovableItem.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n removableItem,\n removableItemButtonIcon,\n removableItemButtonIconIcon,\n removableItemButtonIconIconRaw,\n removableItemButtonIconIconRawRoot,\n removableItemButtonIconRoot,\n removableItemContent,\n removableItemRoot,\n removableItemSection,\n} from '@mage-ui/styled-system/recipes';\nimport { ButtonIcon, type ButtonIconProps } from '@/components/buttons';\n\nexport type RemovableItemProps = {\n startSlot?: ReactNode;\n children: ReactNode;\n onRemove: () => void;\n removeButtonLabel?: string;\n classNames?: {\n container?: string;\n root?: string;\n section?: string;\n content?: string;\n buttonIcon?: ButtonIconProps['classNames'];\n };\n};\n\nexport const RemovableItem = ({\n startSlot,\n children,\n onRemove,\n removeButtonLabel = 'Remove',\n classNames,\n}: RemovableItemProps) => {\n return (\n <div\n className={cx(\n classNames?.container ?? removableItem(),\n classNames?.root ?? removableItemRoot(),\n )}\n >\n {startSlot && (\n <div className={classNames?.section ?? removableItemSection()}>\n {startSlot}\n </div>\n )}\n\n <div className={classNames?.content ?? removableItemContent()}>\n {children}\n </div>\n\n <ButtonIcon\n label={removeButtonLabel}\n onClick={onRemove}\n path='/icons/sprite-mage.svg'\n name='mage-removable-item-button-x'\n classNames={{\n buttonIcon:\n classNames?.buttonIcon?.buttonIcon ?? removableItemButtonIcon(),\n root: classNames?.buttonIcon?.root ?? removableItemButtonIconRoot(),\n icon: classNames?.buttonIcon?.icon ?? removableItemButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n removableItemButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n removableItemButtonIconIconRawRoot(),\n },\n }}\n />\n </div>\n );\n};\n"],"mappings":"6dA8BA,MAAa,GAAiB,CAC5B,YACA,WACA,WACA,oBAAoB,SACpB,gBAGE,EAAC,MAAD,CACE,UAAW,EACT,GAAY,WAAa,GAAe,CACxC,GAAY,MAAQ,GAAmB,CACxC,UAJH,CAMG,GACC,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAAsB,UAC1D,EACG,CAAA,CAGR,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAAsB,CAC1D,WACG,CAAA,CAEN,EAAC,EAAD,CACE,MAAO,EACP,QAAS,EACT,KAAK,yBACL,KAAK,+BACL,WAAY,CACV,WACE,GAAY,YAAY,YAAc,GAAyB,CACjE,KAAM,GAAY,YAAY,MAAQ,GAA6B,CACnE,KAAM,GAAY,YAAY,MAAQ,GAA6B,CACnE,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAgC,CAClC,KACE,GAAY,YAAY,SAAS,MACjC,GAAoC,CACvC,CACF,CACD,CAAA,CACE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableBody.tsx"],"sourcesContent":["import {\n Children,\n type ComponentPropsWithoutRef,\n cloneElement,\n isValidElement,\n type ReactNode,\n} from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { Virtual, type VirtualItem } from '../../misc/virtual/Virtual';\nimport { useScrollableContext } from './TableContext';\nimport type { TableClassNames } from './TableRoot';\n\nconst SpacerRow = ({ height }: { height: number }): ReactNode => {\n if (height <= 0) return null;\n return (\n <tr aria-hidden>\n <td style={{ height }} />\n </tr>\n );\n};\n\nconst VirtualRow = ({ item }: { item: VirtualItem<ReactNode> }): ReactNode => {\n const child = item.row;\n if (!isValidElement(child)) return child;\n\n const existingRef = (child.props as Record<string, unknown>).ref as\n | React.Ref<Element>\n | undefined;\n\n return cloneElement(\n child as React.ReactElement<{ ref?: React.Ref<Element> }>,\n {\n ref: (node: Element | null) => {\n item.measureRef(node);\n if (typeof existingRef === 'function') {\n existingRef(node);\n } else if (existingRef) {\n existingRef.current = node;\n }\n },\n },\n );\n};\n\nexport type TableBodyProps = Omit<\n ComponentPropsWithoutRef<'tbody'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'tbody'>;\n};\n\nexport const TableBody = ({\n classNames,\n children,\n ...props\n}: TableBodyProps): ReactNode => {\n const scrollable = useScrollableContext();\n\n if (scrollable?.virtualized) {\n const childArray = Children.toArray(children);\n\n return (\n <MantineTable.Tbody className={classNames?.tbody} {...props}>\n <Virtual\n rows={childArray}\n estimateSize={scrollable.estimateSize}\n scrollRef={scrollable.viewportRef}\n overscan={scrollable.overscan}\n >\n {(items, padding) => (\n <>\n <SpacerRow height={padding.top} />\n {items.map((item) => (\n <VirtualRow key={item.key} item={item} />\n ))}\n <SpacerRow height={padding.bottom} />\n </>\n )}\n </Virtual>\n </MantineTable.Tbody>\n );\n }\n\n return (\n <MantineTable.Tbody className={classNames?.tbody} {...props}>\n {children}\n </MantineTable.Tbody>\n );\n};\n"],"mappings":"gSAcA,MAAM,GAAa,CAAE,YACf,GAAU,EAAU,KAEtB,EAAC,
|
|
1
|
+
{"version":3,"file":"TableBody.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableBody.tsx"],"sourcesContent":["import {\n Children,\n type ComponentPropsWithoutRef,\n cloneElement,\n isValidElement,\n type ReactNode,\n} from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { Virtual, type VirtualItem } from '../../misc/virtual/Virtual';\nimport { useScrollableContext } from './TableContext';\nimport type { TableClassNames } from './TableRoot';\n\nconst SpacerRow = ({ height }: { height: number }): ReactNode => {\n if (height <= 0) return null;\n return (\n <tr aria-hidden>\n <td style={{ height }} />\n </tr>\n );\n};\n\nconst VirtualRow = ({ item }: { item: VirtualItem<ReactNode> }): ReactNode => {\n const child = item.row;\n if (!isValidElement(child)) return child;\n\n const existingRef = (child.props as Record<string, unknown>).ref as\n | React.Ref<Element>\n | undefined;\n\n return cloneElement(\n child as React.ReactElement<{ ref?: React.Ref<Element> }>,\n {\n ref: (node: Element | null) => {\n item.measureRef(node);\n if (typeof existingRef === 'function') {\n existingRef(node);\n } else if (existingRef) {\n existingRef.current = node;\n }\n },\n },\n );\n};\n\nexport type TableBodyProps = Omit<\n ComponentPropsWithoutRef<'tbody'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'tbody'>;\n};\n\nexport const TableBody = ({\n classNames,\n children,\n ...props\n}: TableBodyProps): ReactNode => {\n const scrollable = useScrollableContext();\n\n if (scrollable?.virtualized) {\n const childArray = Children.toArray(children);\n\n return (\n <MantineTable.Tbody className={classNames?.tbody} {...props}>\n <Virtual\n rows={childArray}\n estimateSize={scrollable.estimateSize}\n scrollRef={scrollable.viewportRef}\n overscan={scrollable.overscan}\n >\n {(items, padding) => (\n <>\n <SpacerRow height={padding.top} />\n {items.map((item) => (\n <VirtualRow key={item.key} item={item} />\n ))}\n <SpacerRow height={padding.bottom} />\n </>\n )}\n </Virtual>\n </MantineTable.Tbody>\n );\n }\n\n return (\n <MantineTable.Tbody className={classNames?.tbody} {...props}>\n {children}\n </MantineTable.Tbody>\n );\n};\n"],"mappings":"gSAcA,MAAM,GAAa,CAAE,YACf,GAAU,EAAU,KAEtB,EAAC,KAAD,CAAI,cAAA,YACF,EAAC,KAAD,CAAI,MAAO,CAAE,SAAQ,CAAI,CAAA,CACtB,CAAA,CAIH,GAAc,CAAE,UAAwD,CAC5E,IAAM,EAAQ,EAAK,IACnB,GAAI,CAAC,EAAe,EAAM,CAAE,OAAO,EAEnC,IAAM,EAAe,EAAM,MAAkC,IAI7D,OAAO,EACL,EACA,CACE,IAAM,GAAyB,CAC7B,EAAK,WAAW,EAAK,CACjB,OAAO,GAAgB,WACzB,EAAY,EAAK,CACR,IACT,EAAY,QAAU,IAG3B,CACF,EAWU,GAAa,CACxB,aACA,WACA,GAAG,KAC4B,CAC/B,IAAM,EAAa,GAAsB,CAEzC,GAAI,GAAY,YAAa,CAC3B,IAAM,EAAa,EAAS,QAAQ,EAAS,CAE7C,OACE,EAACA,EAAa,MAAd,CAAoB,UAAW,GAAY,MAAO,GAAI,WACpD,EAAC,EAAD,CACE,KAAM,EACN,aAAc,EAAW,aACzB,UAAW,EAAW,YACtB,SAAU,EAAW,mBAEnB,EAAO,IACP,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,EAAD,CAAW,OAAQ,EAAQ,IAAO,CAAA,CACjC,EAAM,IAAK,GACV,EAAC,EAAD,CAAiC,OAAQ,CAAxB,EAAK,IAAmB,CACzC,CACF,EAAC,EAAD,CAAW,OAAQ,EAAQ,OAAU,CAAA,CACpC,CAAA,CAAA,CAEG,CAAA,CACS,CAAA,CAIzB,OACE,EAACA,EAAa,MAAd,CAAoB,UAAW,GAAY,MAAO,GAAI,EACnD,WACkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCaption.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableCaption.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableCaptionProps = Omit<\n ComponentPropsWithoutRef<'caption'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'caption'>;\n};\n\nexport const TableCaption = ({\n classNames,\n ...props\n}: TableCaptionProps): ReactNode => {\n return <MantineTable.Caption className={classNames?.caption} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAgB,CAC3B,aACA,GAAG,KAEI,EAACA,EAAa,
|
|
1
|
+
{"version":3,"file":"TableCaption.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableCaption.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableCaptionProps = Omit<\n ComponentPropsWithoutRef<'caption'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'caption'>;\n};\n\nexport const TableCaption = ({\n classNames,\n ...props\n}: TableCaptionProps): ReactNode => {\n return <MantineTable.Caption className={classNames?.caption} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAgB,CAC3B,aACA,GAAG,KAEI,EAACA,EAAa,QAAd,CAAsB,UAAW,GAAY,QAAS,GAAI,EAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCell.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableCell.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableCellProps = Omit<\n ComponentPropsWithoutRef<'td'>,\n 'className'\n> & {\n children?: ReactNode;\n classNames?: Pick<TableClassNames, 'td'>;\n};\n\nexport const TableCell = ({\n classNames,\n ...props\n}: TableCellProps): ReactNode => {\n return <MantineTable.Td className={classNames?.td} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAa,CACxB,aACA,GAAG,KAEI,EAACA,EAAa,
|
|
1
|
+
{"version":3,"file":"TableCell.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableCell.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableCellProps = Omit<\n ComponentPropsWithoutRef<'td'>,\n 'className'\n> & {\n children?: ReactNode;\n classNames?: Pick<TableClassNames, 'td'>;\n};\n\nexport const TableCell = ({\n classNames,\n ...props\n}: TableCellProps): ReactNode => {\n return <MantineTable.Td className={classNames?.td} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAa,CACxB,aACA,GAAG,KAEI,EAACA,EAAa,GAAd,CAAiB,UAAW,GAAY,GAAI,GAAI,EAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableFoot.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableFoot.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableFootProps = Omit<\n ComponentPropsWithoutRef<'tfoot'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'tfoot'>;\n};\n\nexport const TableFoot = ({\n classNames,\n ...props\n}: TableFootProps): ReactNode => {\n return <MantineTable.Tfoot className={classNames?.tfoot} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAa,CACxB,aACA,GAAG,KAEI,EAACA,EAAa,
|
|
1
|
+
{"version":3,"file":"TableFoot.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableFoot.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableFootProps = Omit<\n ComponentPropsWithoutRef<'tfoot'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'tfoot'>;\n};\n\nexport const TableFoot = ({\n classNames,\n ...props\n}: TableFootProps): ReactNode => {\n return <MantineTable.Tfoot className={classNames?.tfoot} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAa,CACxB,aACA,GAAG,KAEI,EAACA,EAAa,MAAd,CAAoB,UAAW,GAAY,MAAO,GAAI,EAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHead.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableHead.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ReactNode,\n useCallback,\n} from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { useScrollableContext } from './TableContext';\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableHeadProps = Omit<\n ComponentPropsWithoutRef<'thead'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n ref?: React.Ref<HTMLTableSectionElement>;\n classNames?: Pick<TableClassNames, 'thead'>;\n};\n\nexport const TableHead = ({\n classNames,\n ref,\n ...props\n}: TableHeadProps): ReactNode => {\n const scrollable = useScrollableContext();\n\n const theadRef = useCallback(\n (node: HTMLTableSectionElement | null) => {\n if (node) {\n scrollable?.setHeaderHeight(node.offsetHeight);\n }\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [scrollable, ref],\n );\n\n return (\n <MantineTable.Thead\n className={classNames?.thead}\n ref={scrollable ? theadRef : ref}\n {...props}\n />\n );\n};\n"],"mappings":"4KAoBA,MAAa,GAAa,CACxB,aACA,MACA,GAAG,KAC4B,CAC/B,IAAM,EAAa,GAAsB,CAEnC,EAAW,EACd,GAAyC,CACpC,GACF,GAAY,gBAAgB,EAAK,aAAa,CAE5C,OAAO,GAAQ,WACjB,EAAI,EAAK,CACA,IACT,EAAI,QAAU,IAGlB,CAAC,EAAY,EAAI,CAClB,CAED,OACE,EAACA,EAAa,
|
|
1
|
+
{"version":3,"file":"TableHead.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableHead.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ReactNode,\n useCallback,\n} from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { useScrollableContext } from './TableContext';\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableHeadProps = Omit<\n ComponentPropsWithoutRef<'thead'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n ref?: React.Ref<HTMLTableSectionElement>;\n classNames?: Pick<TableClassNames, 'thead'>;\n};\n\nexport const TableHead = ({\n classNames,\n ref,\n ...props\n}: TableHeadProps): ReactNode => {\n const scrollable = useScrollableContext();\n\n const theadRef = useCallback(\n (node: HTMLTableSectionElement | null) => {\n if (node) {\n scrollable?.setHeaderHeight(node.offsetHeight);\n }\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [scrollable, ref],\n );\n\n return (\n <MantineTable.Thead\n className={classNames?.thead}\n ref={scrollable ? theadRef : ref}\n {...props}\n />\n );\n};\n"],"mappings":"4KAoBA,MAAa,GAAa,CACxB,aACA,MACA,GAAG,KAC4B,CAC/B,IAAM,EAAa,GAAsB,CAEnC,EAAW,EACd,GAAyC,CACpC,GACF,GAAY,gBAAgB,EAAK,aAAa,CAE5C,OAAO,GAAQ,WACjB,EAAI,EAAK,CACA,IACT,EAAI,QAAU,IAGlB,CAAC,EAAY,EAAI,CAClB,CAED,OACE,EAACA,EAAa,MAAd,CACE,UAAW,GAAY,MACvB,IAAK,EAAa,EAAW,EAC7B,GAAI,EACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHeaderCell.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableHeaderCell.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableHeaderCellProps = Omit<\n ComponentPropsWithoutRef<'th'>,\n 'className'\n> & {\n children?: ReactNode;\n classNames?: Pick<TableClassNames, 'th'>;\n};\n\nexport const TableHeaderCell = ({\n classNames,\n ...props\n}: TableHeaderCellProps): ReactNode => {\n return <MantineTable.Th className={classNames?.th} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAmB,CAC9B,aACA,GAAG,KAEI,EAACA,EAAa,
|
|
1
|
+
{"version":3,"file":"TableHeaderCell.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableHeaderCell.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableHeaderCellProps = Omit<\n ComponentPropsWithoutRef<'th'>,\n 'className'\n> & {\n children?: ReactNode;\n classNames?: Pick<TableClassNames, 'th'>;\n};\n\nexport const TableHeaderCell = ({\n classNames,\n ...props\n}: TableHeaderCellProps): ReactNode => {\n return <MantineTable.Th className={classNames?.th} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAmB,CAC9B,aACA,GAAG,KAEI,EAACA,EAAa,GAAd,CAAiB,UAAW,GAAY,GAAI,GAAI,EAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRoot.mjs","names":["table","MantineTable","tableRecipe"],"sources":["../../../../src/components/data-display/table/TableRoot.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n tableCaption,\n table as tableRecipe,\n tableRoot,\n tableTbody,\n tableTd,\n tableTfoot,\n tableTh,\n tableThead,\n tableTr,\n} from '@mage-ui/styled-system/recipes';\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { type ScrollableTableConfig, TableScroll } from './TableScroll';\n\nexport type TableClassNames = {\n table?: string;\n root?: string;\n thead?: string;\n tbody?: string;\n tfoot?: string;\n tr?: string;\n th?: string;\n td?: string;\n caption?: string;\n};\n\nexport type TableProps = Omit<\n ComponentPropsWithoutRef<'table'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n layout?: 'auto' | 'fixed';\n captionSide?: 'top' | 'bottom';\n withTableBorder?: boolean;\n withColumnBorders?: boolean;\n withRowBorders?: boolean;\n striped?: boolean | 'odd' | 'even';\n highlightOnHover?: boolean;\n stickyHeader?: boolean;\n stickyHeaderOffset?: number | string;\n tabularNums?: boolean;\n classNames?: TableClassNames;\n scrollable?: ScrollableTableConfig;\n};\n\nexport const TableRoot = ({\n children,\n classNames,\n scrollable,\n ...tableProps\n}: TableProps): ReactNode => {\n const table = (\n <MantineTable\n withRowBorders\n data-scrollable={scrollable ? true : undefined}\n classNames={{\n table: cx(\n classNames?.table ?? tableRecipe(),\n classNames?.root ?? tableRoot(),\n ),\n thead: classNames?.thead ?? tableThead(),\n tbody: classNames?.tbody ?? tableTbody(),\n tfoot: classNames?.tfoot ?? tableTfoot(),\n tr: classNames?.tr ?? tableTr(),\n th: classNames?.th ?? tableTh(),\n td: classNames?.td ?? tableTd(),\n caption: classNames?.caption ?? tableCaption(),\n }}\n {...tableProps}\n >\n {children}\n </MantineTable>\n );\n\n if (scrollable) {\n return (\n <TableScroll\n scrollable={scrollable}\n stickyHeader={tableProps.stickyHeader}\n >\n {table}\n </TableScroll>\n );\n }\n\n return table;\n};\n"],"mappings":"6VAiDA,MAAa,GAAa,CACxB,WACA,aACA,aACA,GAAG,KACwB,CAC3B,IAAMA,EACJ,EAACC,
|
|
1
|
+
{"version":3,"file":"TableRoot.mjs","names":["table","MantineTable","tableRecipe"],"sources":["../../../../src/components/data-display/table/TableRoot.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n tableCaption,\n table as tableRecipe,\n tableRoot,\n tableTbody,\n tableTd,\n tableTfoot,\n tableTh,\n tableThead,\n tableTr,\n} from '@mage-ui/styled-system/recipes';\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { type ScrollableTableConfig, TableScroll } from './TableScroll';\n\nexport type TableClassNames = {\n table?: string;\n root?: string;\n thead?: string;\n tbody?: string;\n tfoot?: string;\n tr?: string;\n th?: string;\n td?: string;\n caption?: string;\n};\n\nexport type TableProps = Omit<\n ComponentPropsWithoutRef<'table'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n layout?: 'auto' | 'fixed';\n captionSide?: 'top' | 'bottom';\n withTableBorder?: boolean;\n withColumnBorders?: boolean;\n withRowBorders?: boolean;\n striped?: boolean | 'odd' | 'even';\n highlightOnHover?: boolean;\n stickyHeader?: boolean;\n stickyHeaderOffset?: number | string;\n tabularNums?: boolean;\n classNames?: TableClassNames;\n scrollable?: ScrollableTableConfig;\n};\n\nexport const TableRoot = ({\n children,\n classNames,\n scrollable,\n ...tableProps\n}: TableProps): ReactNode => {\n const table = (\n <MantineTable\n withRowBorders\n data-scrollable={scrollable ? true : undefined}\n classNames={{\n table: cx(\n classNames?.table ?? tableRecipe(),\n classNames?.root ?? tableRoot(),\n ),\n thead: classNames?.thead ?? tableThead(),\n tbody: classNames?.tbody ?? tableTbody(),\n tfoot: classNames?.tfoot ?? tableTfoot(),\n tr: classNames?.tr ?? tableTr(),\n th: classNames?.th ?? tableTh(),\n td: classNames?.td ?? tableTd(),\n caption: classNames?.caption ?? tableCaption(),\n }}\n {...tableProps}\n >\n {children}\n </MantineTable>\n );\n\n if (scrollable) {\n return (\n <TableScroll\n scrollable={scrollable}\n stickyHeader={tableProps.stickyHeader}\n >\n {table}\n </TableScroll>\n );\n }\n\n return table;\n};\n"],"mappings":"6VAiDA,MAAa,GAAa,CACxB,WACA,aACA,aACA,GAAG,KACwB,CAC3B,IAAMA,EACJ,EAACC,EAAD,CACE,eAAA,GACA,kBAAiB,EAAa,GAAO,IAAA,GACrC,WAAY,CACV,MAAO,EACL,GAAY,OAASC,GAAa,CAClC,GAAY,MAAQ,GAAW,CAChC,CACD,MAAO,GAAY,OAAS,GAAY,CACxC,MAAO,GAAY,OAAS,GAAY,CACxC,MAAO,GAAY,OAAS,GAAY,CACxC,GAAI,GAAY,IAAM,GAAS,CAC/B,GAAI,GAAY,IAAM,GAAS,CAC/B,GAAI,GAAY,IAAM,GAAS,CAC/B,QAAS,GAAY,SAAW,GAAc,CAC/C,CACD,GAAI,EAEH,WACY,CAAA,CAcjB,OAXI,EAEA,EAAC,EAAD,CACc,aACZ,aAAc,EAAW,sBAExBF,EACW,CAAA,CAIXA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableRow.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableRowProps = Omit<\n ComponentPropsWithoutRef<'tr'>,\n 'className'\n> & {\n children: ReactNode;\n ref?: React.Ref<HTMLTableRowElement>;\n classNames?: Pick<TableClassNames, 'tr'>;\n};\n\nexport const TableRow = ({\n classNames,\n ...props\n}: TableRowProps): ReactNode => {\n return <MantineTable.Tr className={classNames?.tr} {...props} />;\n};\n"],"mappings":"8EAeA,MAAa,GAAY,CACvB,aACA,GAAG,KAEI,EAACA,EAAa,
|
|
1
|
+
{"version":3,"file":"TableRow.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableRow.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableRowProps = Omit<\n ComponentPropsWithoutRef<'tr'>,\n 'className'\n> & {\n children: ReactNode;\n ref?: React.Ref<HTMLTableRowElement>;\n classNames?: Pick<TableClassNames, 'tr'>;\n};\n\nexport const TableRow = ({\n classNames,\n ...props\n}: TableRowProps): ReactNode => {\n return <MantineTable.Tr className={classNames?.tr} {...props} />;\n};\n"],"mappings":"8EAeA,MAAa,GAAY,CACvB,aACA,GAAG,KAEI,EAACA,EAAa,GAAd,CAAiB,UAAW,GAAY,GAAI,GAAI,EAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableScroll.mjs","names":["tableScrollRecipe"],"sources":["../../../../src/components/data-display/table/TableScroll.tsx"],"sourcesContent":["import { type ReactNode, useMemo, useRef, useState } from 'react';\n\nimport {\n tableScrollContent,\n tableScrollCorner,\n tableScroll as tableScrollRecipe,\n tableScrollRoot,\n tableScrollScrollbar,\n tableScrollThumb,\n tableScrollViewport,\n} from '@mage-ui/styled-system/recipes';\n\nimport {\n ScrollArea,\n type ScrollAreaClassNames,\n type ScrollAreaProps,\n} from '../../misc/scroll-area/ScrollArea';\nimport { ScrollableContext } from './TableContext';\n\nexport type ScrollableTableConfig = {\n maxHeight?: number | string;\n minWidth?: number | string;\n estimateSize?: number;\n overscan?: number;\n virtualized?: boolean;\n scrollAreaProps?: Omit<ScrollAreaProps, 'children' | 'viewportRef' | 'style'>;\n};\n\ntype TableScrollProps = {\n children: ReactNode;\n scrollable: ScrollableTableConfig;\n stickyHeader?: boolean;\n};\n\nexport const TableScroll = ({\n children,\n scrollable,\n stickyHeader,\n}: TableScrollProps): ReactNode => {\n const viewportRef = useRef<HTMLDivElement>(null);\n const [headerHeight, setHeaderHeight] = useState(0);\n\n const {\n maxHeight,\n minWidth,\n estimateSize,\n overscan,\n virtualized,\n scrollAreaProps,\n } = scrollable;\n\n const style = {\n ...(maxHeight && {\n '--scrollarea-viewport-max-height':\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n }),\n ...(minWidth && {\n '--scrollable-table-min-width':\n typeof minWidth === 'number' ? `${minWidth}px` : minWidth,\n }),\n ...(stickyHeader && {\n '--scrollarea-scrollbar-vertical-top': `${headerHeight}px`,\n }),\n } as React.CSSProperties;\n\n const classNames: ScrollAreaClassNames = {\n scrollArea: scrollAreaProps?.classNames?.scrollArea ?? tableScrollRecipe(),\n root: scrollAreaProps?.classNames?.root ?? tableScrollRoot(),\n viewport: scrollAreaProps?.classNames?.viewport ?? tableScrollViewport(),\n content: scrollAreaProps?.classNames?.content ?? tableScrollContent(),\n scrollbar: scrollAreaProps?.classNames?.scrollbar ?? tableScrollScrollbar(),\n thumb: scrollAreaProps?.classNames?.thumb ?? tableScrollThumb(),\n corner: scrollAreaProps?.classNames?.corner ?? tableScrollCorner(),\n };\n\n const contextValue = useMemo(\n () => ({\n viewportRef,\n estimateSize: estimateSize ?? 40,\n overscan,\n stickyHeader,\n setHeaderHeight,\n virtualized,\n }),\n [estimateSize, overscan, stickyHeader, virtualized],\n );\n\n return (\n <ScrollableContext.Provider value={contextValue}>\n <ScrollArea\n scrollbars='xy'\n type='hover'\n offsetScrollbars={false}\n data-sticky-header={stickyHeader || undefined}\n viewportRef={viewportRef}\n classNames={classNames}\n style={style}\n {...scrollAreaProps}\n >\n {children}\n </ScrollArea>\n </ScrollableContext.Provider>\n );\n};\n"],"mappings":"saAkCA,MAAa,GAAe,CAC1B,WACA,aACA,kBACiC,CACjC,IAAM,EAAc,EAAuB,KAAK,CAC1C,CAAC,EAAc,GAAmB,EAAS,EAAE,CAE7C,CACJ,YACA,WACA,eACA,WACA,cACA,mBACE,EAEE,EAAQ,CACZ,GAAI,GAAa,CACf,mCACE,OAAO,GAAc,SAAW,GAAG,EAAU,IAAM,EACtD,CACD,GAAI,GAAY,CACd,+BACE,OAAO,GAAa,SAAW,GAAG,EAAS,IAAM,EACpD,CACD,GAAI,GAAgB,CAClB,sCAAuC,GAAG,EAAa,IACxD,CACF,CAEK,EAAmC,CACvC,WAAY,GAAiB,YAAY,YAAcA,GAAmB,CAC1E,KAAM,GAAiB,YAAY,MAAQ,GAAiB,CAC5D,SAAU,GAAiB,YAAY,UAAY,GAAqB,CACxE,QAAS,GAAiB,YAAY,SAAW,GAAoB,CACrE,UAAW,GAAiB,YAAY,WAAa,GAAsB,CAC3E,MAAO,GAAiB,YAAY,OAAS,GAAkB,CAC/D,OAAQ,GAAiB,YAAY,QAAU,GAAmB,CACnE,CAEK,EAAe,OACZ,CACL,cACA,aAAc,GAAgB,GAC9B,WACA,eACA,kBACA,cACD,EACD,CAAC,EAAc,EAAU,EAAc,EAAY,CACpD,CAED,OACE,EAAC,EAAkB,
|
|
1
|
+
{"version":3,"file":"TableScroll.mjs","names":["tableScrollRecipe"],"sources":["../../../../src/components/data-display/table/TableScroll.tsx"],"sourcesContent":["import { type ReactNode, useMemo, useRef, useState } from 'react';\n\nimport {\n tableScrollContent,\n tableScrollCorner,\n tableScroll as tableScrollRecipe,\n tableScrollRoot,\n tableScrollScrollbar,\n tableScrollThumb,\n tableScrollViewport,\n} from '@mage-ui/styled-system/recipes';\n\nimport {\n ScrollArea,\n type ScrollAreaClassNames,\n type ScrollAreaProps,\n} from '../../misc/scroll-area/ScrollArea';\nimport { ScrollableContext } from './TableContext';\n\nexport type ScrollableTableConfig = {\n maxHeight?: number | string;\n minWidth?: number | string;\n estimateSize?: number;\n overscan?: number;\n virtualized?: boolean;\n scrollAreaProps?: Omit<ScrollAreaProps, 'children' | 'viewportRef' | 'style'>;\n};\n\ntype TableScrollProps = {\n children: ReactNode;\n scrollable: ScrollableTableConfig;\n stickyHeader?: boolean;\n};\n\nexport const TableScroll = ({\n children,\n scrollable,\n stickyHeader,\n}: TableScrollProps): ReactNode => {\n const viewportRef = useRef<HTMLDivElement>(null);\n const [headerHeight, setHeaderHeight] = useState(0);\n\n const {\n maxHeight,\n minWidth,\n estimateSize,\n overscan,\n virtualized,\n scrollAreaProps,\n } = scrollable;\n\n const style = {\n ...(maxHeight && {\n '--scrollarea-viewport-max-height':\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n }),\n ...(minWidth && {\n '--scrollable-table-min-width':\n typeof minWidth === 'number' ? `${minWidth}px` : minWidth,\n }),\n ...(stickyHeader && {\n '--scrollarea-scrollbar-vertical-top': `${headerHeight}px`,\n }),\n } as React.CSSProperties;\n\n const classNames: ScrollAreaClassNames = {\n scrollArea: scrollAreaProps?.classNames?.scrollArea ?? tableScrollRecipe(),\n root: scrollAreaProps?.classNames?.root ?? tableScrollRoot(),\n viewport: scrollAreaProps?.classNames?.viewport ?? tableScrollViewport(),\n content: scrollAreaProps?.classNames?.content ?? tableScrollContent(),\n scrollbar: scrollAreaProps?.classNames?.scrollbar ?? tableScrollScrollbar(),\n thumb: scrollAreaProps?.classNames?.thumb ?? tableScrollThumb(),\n corner: scrollAreaProps?.classNames?.corner ?? tableScrollCorner(),\n };\n\n const contextValue = useMemo(\n () => ({\n viewportRef,\n estimateSize: estimateSize ?? 40,\n overscan,\n stickyHeader,\n setHeaderHeight,\n virtualized,\n }),\n [estimateSize, overscan, stickyHeader, virtualized],\n );\n\n return (\n <ScrollableContext.Provider value={contextValue}>\n <ScrollArea\n scrollbars='xy'\n type='hover'\n offsetScrollbars={false}\n data-sticky-header={stickyHeader || undefined}\n viewportRef={viewportRef}\n classNames={classNames}\n style={style}\n {...scrollAreaProps}\n >\n {children}\n </ScrollArea>\n </ScrollableContext.Provider>\n );\n};\n"],"mappings":"saAkCA,MAAa,GAAe,CAC1B,WACA,aACA,kBACiC,CACjC,IAAM,EAAc,EAAuB,KAAK,CAC1C,CAAC,EAAc,GAAmB,EAAS,EAAE,CAE7C,CACJ,YACA,WACA,eACA,WACA,cACA,mBACE,EAEE,EAAQ,CACZ,GAAI,GAAa,CACf,mCACE,OAAO,GAAc,SAAW,GAAG,EAAU,IAAM,EACtD,CACD,GAAI,GAAY,CACd,+BACE,OAAO,GAAa,SAAW,GAAG,EAAS,IAAM,EACpD,CACD,GAAI,GAAgB,CAClB,sCAAuC,GAAG,EAAa,IACxD,CACF,CAEK,EAAmC,CACvC,WAAY,GAAiB,YAAY,YAAcA,GAAmB,CAC1E,KAAM,GAAiB,YAAY,MAAQ,GAAiB,CAC5D,SAAU,GAAiB,YAAY,UAAY,GAAqB,CACxE,QAAS,GAAiB,YAAY,SAAW,GAAoB,CACrE,UAAW,GAAiB,YAAY,WAAa,GAAsB,CAC3E,MAAO,GAAiB,YAAY,OAAS,GAAkB,CAC/D,OAAQ,GAAiB,YAAY,QAAU,GAAmB,CACnE,CAEK,EAAe,OACZ,CACL,cACA,aAAc,GAAgB,GAC9B,WACA,eACA,kBACA,cACD,EACD,CAAC,EAAc,EAAU,EAAc,EAAY,CACpD,CAED,OACE,EAAC,EAAkB,SAAnB,CAA4B,MAAO,WACjC,EAAC,EAAD,CACE,WAAW,KACX,KAAK,QACL,iBAAkB,GAClB,qBAAoB,GAAgB,IAAA,GACvB,cACD,aACL,QACP,GAAI,EAEH,WACU,CAAA,CACc,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.d.mts","names":[],"sources":["../../../../src/components/data-display/tag/Tag.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tag.d.mts","names":[],"sources":["../../../../src/components/data-display/tag/Tag.tsx"],"mappings":";;;;;KAgBY,QAAA,GAAW,IAAA,CAAK,UAAA;EAC1B,KAAA;EACA,QAAA;EACA,UAAA,GAAa,UAAA;IACX,UAAA;MACE,UAAA;MACA,IAAA;MACA,IAAA;MACA,OAAA;QACE,OAAA;QACA,IAAA;MAAA;IAAA;EAAA;AAAA;AAAA,cAMK,GAAA;EAAA;;;;;KAAkD,QAAA,GAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.mjs","names":[],"sources":["../../../../src/components/data-display/tag/Tag.tsx"],"sourcesContent":["import {\n tag,\n tagButtonIcon,\n tagButtonIconIcon,\n tagButtonIconIconRaw,\n tagButtonIconIconRawRoot,\n tagButtonIconRoot,\n tagLabel,\n tagRoot,\n tagSection,\n} from '@mage-ui/styled-system/recipes';\nimport { ButtonIcon } from '@/components/buttons';\n\nimport { Badge, type BadgeProps } from '../badge/Badge';\nimport { TagGroup } from '../tag-group/TagGroup';\n\nexport type TagProps = Omit<BadgeProps, 'classNames'> & {\n label: string;\n onRemove?: () => void;\n classNames?: BadgeProps['classNames'] & {\n buttonIcon?: {\n buttonIcon?: string;\n root?: string;\n icon?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n };\n};\n\nexport const Tag = ({ label, onRemove, classNames, children }: TagProps) => {\n return (\n <Badge\n endSlot={\n <ButtonIcon\n path='/icons/sprite-mage.svg'\n label={label}\n name='mage-tag-x'\n onClick={(e) => {\n e.stopPropagation();\n onRemove?.();\n }}\n classNames={{\n buttonIcon: classNames?.buttonIcon?.buttonIcon ?? tagButtonIcon(),\n root: classNames?.buttonIcon?.root ?? tagButtonIconRoot(),\n icon: classNames?.buttonIcon?.icon ?? tagButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n tagButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n tagButtonIconIconRawRoot(),\n },\n }}\n />\n }\n classNames={{\n badge: classNames?.badge ?? tag(),\n root: classNames?.root ?? tagRoot(),\n section: classNames?.section ?? tagSection(),\n label: classNames?.label ?? tagLabel(),\n }}\n >\n {children}\n </Badge>\n );\n};\n\nTag.Group = TagGroup;\n"],"mappings":"uaAgCA,MAAa,GAAO,CAAE,QAAO,WAAU,aAAY,cAE/C,EAAC,
|
|
1
|
+
{"version":3,"file":"Tag.mjs","names":[],"sources":["../../../../src/components/data-display/tag/Tag.tsx"],"sourcesContent":["import {\n tag,\n tagButtonIcon,\n tagButtonIconIcon,\n tagButtonIconIconRaw,\n tagButtonIconIconRawRoot,\n tagButtonIconRoot,\n tagLabel,\n tagRoot,\n tagSection,\n} from '@mage-ui/styled-system/recipes';\nimport { ButtonIcon } from '@/components/buttons';\n\nimport { Badge, type BadgeProps } from '../badge/Badge';\nimport { TagGroup } from '../tag-group/TagGroup';\n\nexport type TagProps = Omit<BadgeProps, 'classNames'> & {\n label: string;\n onRemove?: () => void;\n classNames?: BadgeProps['classNames'] & {\n buttonIcon?: {\n buttonIcon?: string;\n root?: string;\n icon?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n };\n};\n\nexport const Tag = ({ label, onRemove, classNames, children }: TagProps) => {\n return (\n <Badge\n endSlot={\n <ButtonIcon\n path='/icons/sprite-mage.svg'\n label={label}\n name='mage-tag-x'\n onClick={(e) => {\n e.stopPropagation();\n onRemove?.();\n }}\n classNames={{\n buttonIcon: classNames?.buttonIcon?.buttonIcon ?? tagButtonIcon(),\n root: classNames?.buttonIcon?.root ?? tagButtonIconRoot(),\n icon: classNames?.buttonIcon?.icon ?? tagButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n tagButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n tagButtonIconIconRawRoot(),\n },\n }}\n />\n }\n classNames={{\n badge: classNames?.badge ?? tag(),\n root: classNames?.root ?? tagRoot(),\n section: classNames?.section ?? tagSection(),\n label: classNames?.label ?? tagLabel(),\n }}\n >\n {children}\n </Badge>\n );\n};\n\nTag.Group = TagGroup;\n"],"mappings":"uaAgCA,MAAa,GAAO,CAAE,QAAO,WAAU,aAAY,cAE/C,EAAC,EAAD,CACE,QACE,EAAC,EAAD,CACE,KAAK,yBACE,QACP,KAAK,aACL,QAAU,GAAM,CACd,EAAE,iBAAiB,CACnB,KAAY,EAEd,WAAY,CACV,WAAY,GAAY,YAAY,YAAc,GAAe,CACjE,KAAM,GAAY,YAAY,MAAQ,GAAmB,CACzD,KAAM,GAAY,YAAY,MAAQ,GAAmB,CACzD,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAsB,CACxB,KACE,GAAY,YAAY,SAAS,MACjC,GAA0B,CAC7B,CACF,CACD,CAAA,CAEJ,WAAY,CACV,MAAO,GAAY,OAAS,GAAK,CACjC,KAAM,GAAY,MAAQ,GAAS,CACnC,QAAS,GAAY,SAAW,GAAY,CAC5C,MAAO,GAAY,OAAS,GAAU,CACvC,CAEA,WACK,CAAA,CAIZ,EAAI,MAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagGroup.mjs","names":[],"sources":["../../../../src/components/data-display/tag-group/TagGroup.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { tagGroup, tagGroupRoot } from '@mage-ui/styled-system/recipes';\n\nexport type TagGroupProps = {\n children: React.ReactNode;\n classNames?: {\n tagGroup?: string;\n root?: string;\n };\n};\n\nexport const TagGroup = ({ children, classNames }: TagGroupProps) => {\n return (\n <div\n className={cx(\n classNames?.tagGroup ?? tagGroup(),\n classNames?.root ?? tagGroupRoot(),\n )}\n >\n {children}\n </div>\n );\n};\n"],"mappings":"oKAWA,MAAa,GAAY,CAAE,WAAU,gBAEjC,EAAC,
|
|
1
|
+
{"version":3,"file":"TagGroup.mjs","names":[],"sources":["../../../../src/components/data-display/tag-group/TagGroup.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { tagGroup, tagGroupRoot } from '@mage-ui/styled-system/recipes';\n\nexport type TagGroupProps = {\n children: React.ReactNode;\n classNames?: {\n tagGroup?: string;\n root?: string;\n };\n};\n\nexport const TagGroup = ({ children, classNames }: TagGroupProps) => {\n return (\n <div\n className={cx(\n classNames?.tagGroup ?? tagGroup(),\n classNames?.root ?? tagGroupRoot(),\n )}\n >\n {children}\n </div>\n );\n};\n"],"mappings":"oKAWA,MAAa,GAAY,CAAE,WAAU,gBAEjC,EAAC,MAAD,CACE,UAAW,EACT,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CACnC,CAEA,WACG,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { IconProps } from "../icons/icon/Icon.mjs";
|
|
2
2
|
import { IconWrappedProps } from "../icons/icon-wrapped/IconWrapped.mjs";
|
|
3
3
|
import { RemovableItemProps } from "../removable-item/RemovableItem.mjs";
|
|
4
|
-
import "../index.mjs";
|
|
5
4
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
6
5
|
import { ReactNode } from "react";
|
|
7
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadedFile.d.mts","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFile.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"UploadedFile.d.mts","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFile.tsx"],"mappings":";;;;;;;KAyBY,iBAAA;EACV,gBAAA;EACA,QAAA,GAAW,SAAA;EACX,QAAA;EACA,GAAA;EACA,QAAA,EAAU,SAAA;EACV,QAAA;EACA,UAAA;IACE,YAAA;IACA,IAAA;IACA,OAAA;IACA,OAAA;IACA,OAAA;IACA,QAAA;IACA,QAAA;IACA,gBAAA,GAAmB,gBAAA;IACnB,SAAA,GAAY,SAAA;IACZ,aAAA,GAAgB,kBAAA;IAChB,UAAA,GAAa,WAAA,CAAY,kBAAA;EAAA;AAAA;AAAA,cAIhB,YAAA;EAAgB,gBAAA;EAAA,QAAA;EAAA,QAAA;EAAA,GAAA;EAAA,QAAA;EAAA,QAAA;EAAA;AAAA,GAQ1B,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadedFile.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFile.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n uploadedFile,\n uploadedFileButtonIcon,\n uploadedFileButtonIconIcon,\n uploadedFileButtonIconIconRaw,\n uploadedFileButtonIconIconRawRoot,\n uploadedFileButtonIconRoot,\n uploadedFileContent,\n uploadedFileDetails,\n uploadedFileLink,\n uploadedFileName,\n uploadedFileRoot,\n uploadedFileSection,\n} from '@mage-ui/styled-system/recipes';\nimport {\n type IconProps,\n type IconWrappedProps,\n RemovableItem,\n type RemovableItemProps,\n} from '@/components/data-display';\n\nimport { UploadedFileIcon } from './UploadedFileIcon';\n\nexport type UploadedFileProps = {\n clearButtonLabel?: string;\n fileName?: ReactNode;\n fileType?: string;\n url?: string;\n children: ReactNode;\n onRemove: () => void;\n classNames?: {\n uploadedFile?: string;\n root?: string;\n section?: string;\n content?: string;\n details?: string;\n fileLink?: string;\n fileName?: string;\n startIconWrapped?: IconWrappedProps['classNames'];\n startIcon?: IconProps['classNames'];\n removableItem?: RemovableItemProps['classNames'];\n buttonIcon?: NonNullable<RemovableItemProps['classNames']>['buttonIcon'];\n };\n};\n\nexport const UploadedFile = ({\n clearButtonLabel = 'Remove file',\n fileName,\n fileType,\n url,\n children,\n onRemove,\n classNames,\n}: UploadedFileProps) => {\n return (\n <RemovableItem\n startSlot={\n <UploadedFileIcon\n fileType={fileType}\n fileName={typeof fileName === 'string' ? fileName : undefined}\n classNames={{\n startIconWrapped: classNames?.startIconWrapped,\n startIcon: classNames?.startIcon,\n }}\n />\n }\n onRemove={onRemove}\n removeButtonLabel={clearButtonLabel}\n classNames={{\n container:\n classNames?.removableItem?.container ??\n classNames?.uploadedFile ??\n uploadedFile(),\n root:\n classNames?.removableItem?.root ??\n classNames?.root ??\n uploadedFileRoot(),\n section:\n classNames?.removableItem?.section ??\n classNames?.section ??\n uploadedFileSection(),\n content:\n classNames?.removableItem?.content ??\n classNames?.content ??\n uploadedFileContent(),\n buttonIcon: {\n buttonIcon:\n classNames?.buttonIcon?.buttonIcon ??\n classNames?.removableItem?.buttonIcon?.buttonIcon ??\n uploadedFileButtonIcon(),\n root:\n classNames?.buttonIcon?.root ??\n classNames?.removableItem?.buttonIcon?.root ??\n uploadedFileButtonIconRoot(),\n icon:\n classNames?.buttonIcon?.icon ??\n classNames?.removableItem?.buttonIcon?.icon ??\n uploadedFileButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n classNames?.removableItem?.buttonIcon?.iconRaw?.iconRaw ??\n uploadedFileButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n classNames?.removableItem?.buttonIcon?.iconRaw?.root ??\n uploadedFileButtonIconIconRawRoot(),\n },\n },\n }}\n >\n {/* TODO: comentar link */}\n {url ? (\n <a\n href={url}\n target='_blank'\n rel='noopener noreferrer'\n download\n className={classNames?.fileLink ?? uploadedFileLink()}\n >\n {fileName}\n </a>\n ) : (\n <span className={classNames?.fileName ?? uploadedFileName()}>\n {fileName}\n </span>\n )}\n\n <div className={classNames?.details ?? uploadedFileDetails()}>\n {children}\n </div>\n </RemovableItem>\n );\n};\n"],"mappings":"iiBA+CA,MAAa,GAAgB,CAC3B,mBAAmB,cACnB,WACA,WACA,MACA,WACA,WACA,gBAGE,EAAC,
|
|
1
|
+
{"version":3,"file":"UploadedFile.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFile.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n uploadedFile,\n uploadedFileButtonIcon,\n uploadedFileButtonIconIcon,\n uploadedFileButtonIconIconRaw,\n uploadedFileButtonIconIconRawRoot,\n uploadedFileButtonIconRoot,\n uploadedFileContent,\n uploadedFileDetails,\n uploadedFileLink,\n uploadedFileName,\n uploadedFileRoot,\n uploadedFileSection,\n} from '@mage-ui/styled-system/recipes';\nimport {\n type IconProps,\n type IconWrappedProps,\n RemovableItem,\n type RemovableItemProps,\n} from '@/components/data-display';\n\nimport { UploadedFileIcon } from './UploadedFileIcon';\n\nexport type UploadedFileProps = {\n clearButtonLabel?: string;\n fileName?: ReactNode;\n fileType?: string;\n url?: string;\n children: ReactNode;\n onRemove: () => void;\n classNames?: {\n uploadedFile?: string;\n root?: string;\n section?: string;\n content?: string;\n details?: string;\n fileLink?: string;\n fileName?: string;\n startIconWrapped?: IconWrappedProps['classNames'];\n startIcon?: IconProps['classNames'];\n removableItem?: RemovableItemProps['classNames'];\n buttonIcon?: NonNullable<RemovableItemProps['classNames']>['buttonIcon'];\n };\n};\n\nexport const UploadedFile = ({\n clearButtonLabel = 'Remove file',\n fileName,\n fileType,\n url,\n children,\n onRemove,\n classNames,\n}: UploadedFileProps) => {\n return (\n <RemovableItem\n startSlot={\n <UploadedFileIcon\n fileType={fileType}\n fileName={typeof fileName === 'string' ? fileName : undefined}\n classNames={{\n startIconWrapped: classNames?.startIconWrapped,\n startIcon: classNames?.startIcon,\n }}\n />\n }\n onRemove={onRemove}\n removeButtonLabel={clearButtonLabel}\n classNames={{\n container:\n classNames?.removableItem?.container ??\n classNames?.uploadedFile ??\n uploadedFile(),\n root:\n classNames?.removableItem?.root ??\n classNames?.root ??\n uploadedFileRoot(),\n section:\n classNames?.removableItem?.section ??\n classNames?.section ??\n uploadedFileSection(),\n content:\n classNames?.removableItem?.content ??\n classNames?.content ??\n uploadedFileContent(),\n buttonIcon: {\n buttonIcon:\n classNames?.buttonIcon?.buttonIcon ??\n classNames?.removableItem?.buttonIcon?.buttonIcon ??\n uploadedFileButtonIcon(),\n root:\n classNames?.buttonIcon?.root ??\n classNames?.removableItem?.buttonIcon?.root ??\n uploadedFileButtonIconRoot(),\n icon:\n classNames?.buttonIcon?.icon ??\n classNames?.removableItem?.buttonIcon?.icon ??\n uploadedFileButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n classNames?.removableItem?.buttonIcon?.iconRaw?.iconRaw ??\n uploadedFileButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n classNames?.removableItem?.buttonIcon?.iconRaw?.root ??\n uploadedFileButtonIconIconRawRoot(),\n },\n },\n }}\n >\n {/* TODO: comentar link */}\n {url ? (\n <a\n href={url}\n target='_blank'\n rel='noopener noreferrer'\n download\n className={classNames?.fileLink ?? uploadedFileLink()}\n >\n {fileName}\n </a>\n ) : (\n <span className={classNames?.fileName ?? uploadedFileName()}>\n {fileName}\n </span>\n )}\n\n <div className={classNames?.details ?? uploadedFileDetails()}>\n {children}\n </div>\n </RemovableItem>\n );\n};\n"],"mappings":"iiBA+CA,MAAa,GAAgB,CAC3B,mBAAmB,cACnB,WACA,WACA,MACA,WACA,WACA,gBAGE,EAAC,EAAD,CACE,UACE,EAAC,EAAD,CACY,WACV,SAAU,OAAO,GAAa,SAAW,EAAW,IAAA,GACpD,WAAY,CACV,iBAAkB,GAAY,iBAC9B,UAAW,GAAY,UACxB,CACD,CAAA,CAEM,WACV,kBAAmB,EACnB,WAAY,CACV,UACE,GAAY,eAAe,WAC3B,GAAY,cACZ,GAAc,CAChB,KACE,GAAY,eAAe,MAC3B,GAAY,MACZ,GAAkB,CACpB,QACE,GAAY,eAAe,SAC3B,GAAY,SACZ,GAAqB,CACvB,QACE,GAAY,eAAe,SAC3B,GAAY,SACZ,GAAqB,CACvB,WAAY,CACV,WACE,GAAY,YAAY,YACxB,GAAY,eAAe,YAAY,YACvC,GAAwB,CAC1B,KACE,GAAY,YAAY,MACxB,GAAY,eAAe,YAAY,MACvC,GAA4B,CAC9B,KACE,GAAY,YAAY,MACxB,GAAY,eAAe,YAAY,MACvC,GAA4B,CAC9B,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAY,eAAe,YAAY,SAAS,SAChD,GAA+B,CACjC,KACE,GAAY,YAAY,SAAS,MACjC,GAAY,eAAe,YAAY,SAAS,MAChD,GAAmC,CACtC,CACF,CACF,UAtDH,CAyDG,EACC,EAAC,IAAD,CACE,KAAM,EACN,OAAO,SACP,IAAI,sBACJ,SAAA,GACA,UAAW,GAAY,UAAY,GAAkB,UAEpD,EACC,CAAA,CAEJ,EAAC,OAAD,CAAM,UAAW,GAAY,UAAY,GAAkB,UACxD,EACI,CAAA,CAGT,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAAqB,CACzD,WACG,CAAA,CACQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadedFileDetails.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFileDetails.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n uploadedFileDate,\n uploadedFileSize,\n uploadedFileType,\n} from '@mage-ui/styled-system/recipes';\n\nexport type UploadedFileDetailsProps = {\n fileSize?: ReactNode;\n fileDate?: ReactNode;\n fileType?: ReactNode;\n classNames?: {\n fileSize?: string;\n fileDate?: string;\n fileType?: string;\n };\n};\n\nexport const UploadedFileDetails = ({\n fileSize,\n fileDate,\n fileType,\n classNames,\n}: UploadedFileDetailsProps) => {\n return (\n <>\n {fileSize && (\n <span className={classNames?.fileSize ?? uploadedFileSize()}>\n {fileSize}\n </span>\n )}\n {fileDate && (\n <span className={classNames?.fileDate ?? uploadedFileDate()}>\n {fileDate}\n </span>\n )}\n {fileType && (\n <span className={classNames?.fileType ?? uploadedFileType()}>\n {fileType}\n </span>\n )}\n </>\n );\n};\n"],"mappings":"8KAmBA,MAAa,GAAuB,CAClC,WACA,WACA,WACA,gBAGE,EAAA,EAAA,CAAA,SAAA,CACG,GACC,EAAC,
|
|
1
|
+
{"version":3,"file":"UploadedFileDetails.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFileDetails.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n uploadedFileDate,\n uploadedFileSize,\n uploadedFileType,\n} from '@mage-ui/styled-system/recipes';\n\nexport type UploadedFileDetailsProps = {\n fileSize?: ReactNode;\n fileDate?: ReactNode;\n fileType?: ReactNode;\n classNames?: {\n fileSize?: string;\n fileDate?: string;\n fileType?: string;\n };\n};\n\nexport const UploadedFileDetails = ({\n fileSize,\n fileDate,\n fileType,\n classNames,\n}: UploadedFileDetailsProps) => {\n return (\n <>\n {fileSize && (\n <span className={classNames?.fileSize ?? uploadedFileSize()}>\n {fileSize}\n </span>\n )}\n {fileDate && (\n <span className={classNames?.fileDate ?? uploadedFileDate()}>\n {fileDate}\n </span>\n )}\n {fileType && (\n <span className={classNames?.fileType ?? uploadedFileType()}>\n {fileType}\n </span>\n )}\n </>\n );\n};\n"],"mappings":"8KAmBA,MAAa,GAAuB,CAClC,WACA,WACA,WACA,gBAGE,EAAA,EAAA,CAAA,SAAA,CACG,GACC,EAAC,OAAD,CAAM,UAAW,GAAY,UAAY,GAAkB,UACxD,EACI,CAAA,CAER,GACC,EAAC,OAAD,CAAM,UAAW,GAAY,UAAY,GAAkB,UACxD,EACI,CAAA,CAER,GACC,EAAC,OAAD,CAAM,UAAW,GAAY,UAAY,GAAkB,UACxD,EACI,CAAA,CAER,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadedFileIcon.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFileIcon.tsx"],"sourcesContent":["import {\n uploadedFileStartIcon,\n uploadedFileStartIconIconRaw,\n uploadedFileStartIconIconRawRoot,\n uploadedFileStartIconRoot,\n uploadedFileStartIconWrapped,\n uploadedFileStartIconWrappedRoot,\n} from '@mage-ui/styled-system/recipes';\nimport {\n Icon,\n type IconProps,\n IconWrapped,\n type IconWrappedProps,\n} from '@/components/data-display';\n\ntype FileIconType =\n | 'image'\n | 'video'\n | 'audio'\n | 'text'\n | 'pdf'\n | 'archive'\n | 'default';\n\nconst MIME_ICON_MAP: Array<{\n match: (mime: string) => boolean;\n type: FileIconType;\n}> = [\n { match: (m) => m.startsWith('image/'), type: 'image' },\n { match: (m) => m.startsWith('video/'), type: 'video' },\n { match: (m) => m.startsWith('audio/'), type: 'audio' },\n { match: (m) => m === 'application/pdf', type: 'pdf' },\n { match: (m) => m.startsWith('text/'), type: 'text' },\n {\n match: (m) =>\n [\n 'application/zip',\n 'application/x-zip-compressed',\n 'application/x-rar-compressed',\n 'application/x-7z-compressed',\n ].includes(m),\n type: 'archive',\n },\n];\n\nconst EXTENSION_ICON_MAP: Record<string, FileIconType> = {\n png: 'image',\n jpg: 'image',\n jpeg: 'image',\n webp: 'image',\n gif: 'image',\n mp4: 'video',\n mov: 'video',\n webm: 'video',\n mp3: 'audio',\n wav: 'audio',\n txt: 'text',\n md: 'text',\n csv: 'text',\n pdf: 'pdf',\n zip: 'archive',\n rar: 'archive',\n '7z': 'archive',\n};\n\nconst ICON_NAME_MAP: Record<FileIconType, string> = {\n image: 'mage-uploaded-file-image',\n video: 'mage-uploaded-file-video',\n audio: 'mage-uploaded-file-audio',\n text: 'mage-uploaded-file-text',\n pdf: 'mage-uploaded-file-pdf',\n archive: 'mage-uploaded-file-archive',\n default: 'mage-uploaded-file-attachment',\n};\n\nconst resolveIconName = (fileType?: string, fileName?: string): string => {\n if (fileType) {\n const match = MIME_ICON_MAP.find(({ match }) => match(fileType));\n if (match) return ICON_NAME_MAP[match.type];\n }\n\n if (fileName) {\n const ext = fileName.split('.').pop()?.toLowerCase();\n if (ext && EXTENSION_ICON_MAP[ext]) {\n return ICON_NAME_MAP[EXTENSION_ICON_MAP[ext]];\n }\n }\n\n return ICON_NAME_MAP.default;\n};\n\nexport type UploadedFileIconProps = {\n fileType?: string;\n fileName?: string;\n classNames?: {\n startIconWrapped?: IconWrappedProps['classNames'];\n startIcon?: IconProps['classNames'];\n };\n};\n\nexport const UploadedFileIcon = ({\n fileType,\n fileName,\n classNames,\n}: UploadedFileIconProps) => {\n const iconName = resolveIconName(fileType, fileName);\n\n return (\n <IconWrapped\n classNames={{\n iconWrapped:\n classNames?.startIconWrapped?.iconWrapped ??\n uploadedFileStartIconWrapped(),\n root:\n classNames?.startIconWrapped?.root ??\n uploadedFileStartIconWrappedRoot(),\n }}\n >\n <Icon\n name={iconName}\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.startIcon?.icon ?? uploadedFileStartIcon(),\n root: classNames?.startIcon?.root ?? uploadedFileStartIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.startIcon?.iconRaw?.iconRaw ??\n uploadedFileStartIconIconRaw(),\n root:\n classNames?.startIcon?.iconRaw?.root ??\n uploadedFileStartIconIconRawRoot(),\n },\n }}\n />\n </IconWrapped>\n );\n};\n"],"mappings":"gZAwBA,MAAM,EAGD,CACH,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,IAAM,kBAAmB,KAAM,MAAO,CACtD,CAAE,MAAQ,GAAM,EAAE,WAAW,QAAQ,CAAE,KAAM,OAAQ,CACrD,CACE,MAAQ,GACN,CACE,kBACA,+BACA,+BACA,8BACD,CAAC,SAAS,EAAE,CACf,KAAM,UACP,CACF,CAEK,EAAmD,CACvD,IAAK,QACL,IAAK,QACL,KAAM,QACN,KAAM,QACN,IAAK,QACL,IAAK,QACL,IAAK,QACL,KAAM,QACN,IAAK,QACL,IAAK,QACL,IAAK,OACL,GAAI,OACJ,IAAK,OACL,IAAK,MACL,IAAK,UACL,IAAK,UACL,KAAM,UACP,CAEK,EAA8C,CAClD,MAAO,2BACP,MAAO,2BACP,MAAO,2BACP,KAAM,0BACN,IAAK,yBACL,QAAS,6BACT,QAAS,gCACV,CAEK,GAAmB,EAAmB,IAA8B,CACxE,GAAI,EAAU,CACZ,IAAM,EAAQ,EAAc,MAAM,CAAE,WAAY,EAAM,EAAS,CAAC,CAChE,GAAI,EAAO,OAAO,EAAc,EAAM,MAGxC,GAAI,EAAU,CACZ,IAAM,EAAM,EAAS,MAAM,IAAI,CAAC,KAAK,EAAE,aAAa,CACpD,GAAI,GAAO,EAAmB,GAC5B,OAAO,EAAc,EAAmB,IAI5C,OAAO,EAAc,SAYV,GAAoB,CAC/B,WACA,WACA,gBAC2B,CAC3B,IAAM,EAAW,EAAgB,EAAU,EAAS,CAEpD,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"UploadedFileIcon.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFileIcon.tsx"],"sourcesContent":["import {\n uploadedFileStartIcon,\n uploadedFileStartIconIconRaw,\n uploadedFileStartIconIconRawRoot,\n uploadedFileStartIconRoot,\n uploadedFileStartIconWrapped,\n uploadedFileStartIconWrappedRoot,\n} from '@mage-ui/styled-system/recipes';\nimport {\n Icon,\n type IconProps,\n IconWrapped,\n type IconWrappedProps,\n} from '@/components/data-display';\n\ntype FileIconType =\n | 'image'\n | 'video'\n | 'audio'\n | 'text'\n | 'pdf'\n | 'archive'\n | 'default';\n\nconst MIME_ICON_MAP: Array<{\n match: (mime: string) => boolean;\n type: FileIconType;\n}> = [\n { match: (m) => m.startsWith('image/'), type: 'image' },\n { match: (m) => m.startsWith('video/'), type: 'video' },\n { match: (m) => m.startsWith('audio/'), type: 'audio' },\n { match: (m) => m === 'application/pdf', type: 'pdf' },\n { match: (m) => m.startsWith('text/'), type: 'text' },\n {\n match: (m) =>\n [\n 'application/zip',\n 'application/x-zip-compressed',\n 'application/x-rar-compressed',\n 'application/x-7z-compressed',\n ].includes(m),\n type: 'archive',\n },\n];\n\nconst EXTENSION_ICON_MAP: Record<string, FileIconType> = {\n png: 'image',\n jpg: 'image',\n jpeg: 'image',\n webp: 'image',\n gif: 'image',\n mp4: 'video',\n mov: 'video',\n webm: 'video',\n mp3: 'audio',\n wav: 'audio',\n txt: 'text',\n md: 'text',\n csv: 'text',\n pdf: 'pdf',\n zip: 'archive',\n rar: 'archive',\n '7z': 'archive',\n};\n\nconst ICON_NAME_MAP: Record<FileIconType, string> = {\n image: 'mage-uploaded-file-image',\n video: 'mage-uploaded-file-video',\n audio: 'mage-uploaded-file-audio',\n text: 'mage-uploaded-file-text',\n pdf: 'mage-uploaded-file-pdf',\n archive: 'mage-uploaded-file-archive',\n default: 'mage-uploaded-file-attachment',\n};\n\nconst resolveIconName = (fileType?: string, fileName?: string): string => {\n if (fileType) {\n const match = MIME_ICON_MAP.find(({ match }) => match(fileType));\n if (match) return ICON_NAME_MAP[match.type];\n }\n\n if (fileName) {\n const ext = fileName.split('.').pop()?.toLowerCase();\n if (ext && EXTENSION_ICON_MAP[ext]) {\n return ICON_NAME_MAP[EXTENSION_ICON_MAP[ext]];\n }\n }\n\n return ICON_NAME_MAP.default;\n};\n\nexport type UploadedFileIconProps = {\n fileType?: string;\n fileName?: string;\n classNames?: {\n startIconWrapped?: IconWrappedProps['classNames'];\n startIcon?: IconProps['classNames'];\n };\n};\n\nexport const UploadedFileIcon = ({\n fileType,\n fileName,\n classNames,\n}: UploadedFileIconProps) => {\n const iconName = resolveIconName(fileType, fileName);\n\n return (\n <IconWrapped\n classNames={{\n iconWrapped:\n classNames?.startIconWrapped?.iconWrapped ??\n uploadedFileStartIconWrapped(),\n root:\n classNames?.startIconWrapped?.root ??\n uploadedFileStartIconWrappedRoot(),\n }}\n >\n <Icon\n name={iconName}\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.startIcon?.icon ?? uploadedFileStartIcon(),\n root: classNames?.startIcon?.root ?? uploadedFileStartIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.startIcon?.iconRaw?.iconRaw ??\n uploadedFileStartIconIconRaw(),\n root:\n classNames?.startIcon?.iconRaw?.root ??\n uploadedFileStartIconIconRawRoot(),\n },\n }}\n />\n </IconWrapped>\n );\n};\n"],"mappings":"gZAwBA,MAAM,EAGD,CACH,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,IAAM,kBAAmB,KAAM,MAAO,CACtD,CAAE,MAAQ,GAAM,EAAE,WAAW,QAAQ,CAAE,KAAM,OAAQ,CACrD,CACE,MAAQ,GACN,CACE,kBACA,+BACA,+BACA,8BACD,CAAC,SAAS,EAAE,CACf,KAAM,UACP,CACF,CAEK,EAAmD,CACvD,IAAK,QACL,IAAK,QACL,KAAM,QACN,KAAM,QACN,IAAK,QACL,IAAK,QACL,IAAK,QACL,KAAM,QACN,IAAK,QACL,IAAK,QACL,IAAK,OACL,GAAI,OACJ,IAAK,OACL,IAAK,MACL,IAAK,UACL,IAAK,UACL,KAAM,UACP,CAEK,EAA8C,CAClD,MAAO,2BACP,MAAO,2BACP,MAAO,2BACP,KAAM,0BACN,IAAK,yBACL,QAAS,6BACT,QAAS,gCACV,CAEK,GAAmB,EAAmB,IAA8B,CACxE,GAAI,EAAU,CACZ,IAAM,EAAQ,EAAc,MAAM,CAAE,WAAY,EAAM,EAAS,CAAC,CAChE,GAAI,EAAO,OAAO,EAAc,EAAM,MAGxC,GAAI,EAAU,CACZ,IAAM,EAAM,EAAS,MAAM,IAAI,CAAC,KAAK,EAAE,aAAa,CACpD,GAAI,GAAO,EAAmB,GAC5B,OAAO,EAAc,EAAmB,IAI5C,OAAO,EAAc,SAYV,GAAoB,CAC/B,WACA,WACA,gBAC2B,CAC3B,IAAM,EAAW,EAAgB,EAAU,EAAS,CAEpD,OACE,EAAC,EAAD,CACE,WAAY,CACV,YACE,GAAY,kBAAkB,aAC9B,GAA8B,CAChC,KACE,GAAY,kBAAkB,MAC9B,GAAkC,CACrC,UAED,EAAC,EAAD,CACE,KAAM,EACN,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,WAAW,MAAQ,GAAuB,CAC5D,KAAM,GAAY,WAAW,MAAQ,GAA2B,CAChE,QAAS,CACP,QACE,GAAY,WAAW,SAAS,SAChC,GAA8B,CAChC,KACE,GAAY,WAAW,SAAS,MAChC,GAAkC,CACrC,CACF,CACD,CAAA,CACU,CAAA"}
|
|
@@ -2,7 +2,6 @@ import { TextInputProps } from "../controls/text-input/TextInput.mjs";
|
|
|
2
2
|
import { FormSubmitProps } from "./controls/FormSubmit.mjs";
|
|
3
3
|
import { FormCheckboxProps } from "./controls/FormCheckbox.mjs";
|
|
4
4
|
import { FormPasswordProps } from "./controls/FormPassword.mjs";
|
|
5
|
-
import "../index.mjs";
|
|
6
5
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
7
6
|
import React, { ReactNode } from "react";
|
|
8
7
|
import { FieldValues, UseFormSetError } from "react-hook-form";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.d.mts","names":[],"sources":["../../../src/components/forms/Form.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Form.d.mts","names":[],"sources":["../../../src/components/forms/Form.tsx"],"mappings":";;;;;;;;;;KAeK,YAAA;EACH,IAAA;EACA,OAAA;EACA,MAAA;EACA,GAAA;AAAA;AAAA,KAGU,SAAA,WAAoB,WAAA;EAC9B,QAAA,GAAW,MAAA;IAAU,IAAA,EAAM,CAAA;EAAA,MAAQ,OAAA;EACnC,aAAA,IAAiB,QAAA,EAAU,YAAA;EAC3B,eAAA,IAAmB,MAAA;IACjB,OAAA;IACA,QAAA,EAAU,eAAA,CAAgB,CAAA;IAC1B,MAAA;EAAA;EAEF,aAAA;EACA,QAAA,EAAU,SAAA;EACV,MAAA,GAAS,SAAA,CAAU,MAAA,SAAe,UAAA;EAClC,CAAA,IACE,GAAA,UACA,QAAA,GAAW,MAAA,kBACX,QAAA,uBACY,KAAA,CAAM,SAAA;EACpB,UAAA;IACE,IAAA;IACA,IAAA;EAAA;AAAA;AAAA,cAYS,IAAA;EAAA,WAAkB,WAAA;IAAW,QAAA;IAAA,aAAA;IAAA,eAAA;IAAA,aAAA;IAAA,QAAA;IAAA,MAAA;IAAA,CAAA;IAAA;EAAA,GASvC,SAAA,CAAU,CAAA,IAAE,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.mjs","names":[],"sources":["../../../src/components/forms/Form.tsx"],"sourcesContent":["import type React from 'react';\nimport type { ReactNode } from 'react';\nimport type { FieldValues, UseFormSetError } from 'react-hook-form';\nimport type { ZodObject, ZodTypeAny } from 'zod';\n\nimport { form, formRoot } from '@mage-ui/styled-system/recipes';\n\nimport { FormCheckbox } from './controls/FormCheckbox';\nimport { FormHidden } from './controls/FormHidden';\nimport { FormPassword } from './controls/FormPassword';\nimport { FormSubmit } from './controls/FormSubmit';\nimport { FormTextInput } from './controls/FormTextInput';\nimport { FormBase } from './FormBase';\nimport { FormErrorBox } from './FormErrorBox';\n\ntype FormResponse = {\n body?: object;\n details?: string;\n status?: number;\n url?: string;\n};\n\nexport type FormProps<T extends FieldValues> = {\n $fetcher: (params: { data: T }) => Promise<unknown>;\n onValidSubmit?: (response: FormResponse) => void;\n onInvalidSubmit?: (params: {\n message: string;\n setError: UseFormSetError<T>;\n status: number;\n }) => void;\n invalidStatus?: number[];\n children: ReactNode;\n schema?: ZodObject<Record<string, ZodTypeAny>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\ntype FormError = {\n statusCode: number;\n message: string;\n cause?: {\n issues: Record<string, string>;\n };\n};\n\nexport const Form = <T extends FieldValues>({\n $fetcher,\n onValidSubmit,\n onInvalidSubmit,\n invalidStatus = [],\n children,\n schema,\n t,\n classNames,\n}: FormProps<T>) => {\n const onSubmit = async ({\n data,\n setError,\n }: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => {\n await $fetcher({ data: data as T })\n .then((response) => {\n const res = response as FormError & FormResponse;\n if (res?.statusCode && res.statusCode >= 400) {\n throw res;\n }\n\n onValidSubmit?.((response || {}) as FormResponse);\n })\n .catch((error: FormError) => {\n switch (error.statusCode) {\n case 400:\n case 422: {\n if (error.cause?.issues) {\n Object.keys(error.cause.issues).forEach((key) => {\n setError(key, {\n type: 'server',\n message: error.cause?.issues?.[key],\n });\n });\n }\n setError('root.serverError', {\n type: 'server',\n message: error?.message ?? 'Something went wrong',\n });\n break;\n }\n default:\n if (invalidStatus.includes(error.statusCode)) {\n onInvalidSubmit?.({\n message: error.message,\n setError: setError as UseFormSetError<T>,\n status: error.statusCode,\n });\n break;\n }\n throw error;\n }\n });\n };\n\n return (\n <FormBase\n onSubmit={onSubmit}\n schema={schema}\n errorBox={FormErrorBox}\n t={t}\n classNames={{\n form: classNames?.form ?? form(),\n root: classNames?.root ?? formRoot(),\n }}\n >\n {children}\n </FormBase>\n );\n};\n\nForm.displayName = 'Form';\nForm.TextInput = FormTextInput;\nForm.Submit = FormSubmit;\nForm.Hidden = FormHidden;\nForm.Checkbox = FormCheckbox;\nForm.Password = FormPassword;\n"],"mappings":"yeAoDA,MAAa,GAA+B,CAC1C,WACA,gBACA,kBACA,gBAAgB,EAAE,CAClB,WACA,SACA,IACA,gBAmDE,EAAC,
|
|
1
|
+
{"version":3,"file":"Form.mjs","names":[],"sources":["../../../src/components/forms/Form.tsx"],"sourcesContent":["import type React from 'react';\nimport type { ReactNode } from 'react';\nimport type { FieldValues, UseFormSetError } from 'react-hook-form';\nimport type { ZodObject, ZodTypeAny } from 'zod';\n\nimport { form, formRoot } from '@mage-ui/styled-system/recipes';\n\nimport { FormCheckbox } from './controls/FormCheckbox';\nimport { FormHidden } from './controls/FormHidden';\nimport { FormPassword } from './controls/FormPassword';\nimport { FormSubmit } from './controls/FormSubmit';\nimport { FormTextInput } from './controls/FormTextInput';\nimport { FormBase } from './FormBase';\nimport { FormErrorBox } from './FormErrorBox';\n\ntype FormResponse = {\n body?: object;\n details?: string;\n status?: number;\n url?: string;\n};\n\nexport type FormProps<T extends FieldValues> = {\n $fetcher: (params: { data: T }) => Promise<unknown>;\n onValidSubmit?: (response: FormResponse) => void;\n onInvalidSubmit?: (params: {\n message: string;\n setError: UseFormSetError<T>;\n status: number;\n }) => void;\n invalidStatus?: number[];\n children: ReactNode;\n schema?: ZodObject<Record<string, ZodTypeAny>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\ntype FormError = {\n statusCode: number;\n message: string;\n cause?: {\n issues: Record<string, string>;\n };\n};\n\nexport const Form = <T extends FieldValues>({\n $fetcher,\n onValidSubmit,\n onInvalidSubmit,\n invalidStatus = [],\n children,\n schema,\n t,\n classNames,\n}: FormProps<T>) => {\n const onSubmit = async ({\n data,\n setError,\n }: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => {\n await $fetcher({ data: data as T })\n .then((response) => {\n const res = response as FormError & FormResponse;\n if (res?.statusCode && res.statusCode >= 400) {\n throw res;\n }\n\n onValidSubmit?.((response || {}) as FormResponse);\n })\n .catch((error: FormError) => {\n switch (error.statusCode) {\n case 400:\n case 422: {\n if (error.cause?.issues) {\n Object.keys(error.cause.issues).forEach((key) => {\n setError(key, {\n type: 'server',\n message: error.cause?.issues?.[key],\n });\n });\n }\n setError('root.serverError', {\n type: 'server',\n message: error?.message ?? 'Something went wrong',\n });\n break;\n }\n default:\n if (invalidStatus.includes(error.statusCode)) {\n onInvalidSubmit?.({\n message: error.message,\n setError: setError as UseFormSetError<T>,\n status: error.statusCode,\n });\n break;\n }\n throw error;\n }\n });\n };\n\n return (\n <FormBase\n onSubmit={onSubmit}\n schema={schema}\n errorBox={FormErrorBox}\n t={t}\n classNames={{\n form: classNames?.form ?? form(),\n root: classNames?.root ?? formRoot(),\n }}\n >\n {children}\n </FormBase>\n );\n};\n\nForm.displayName = 'Form';\nForm.TextInput = FormTextInput;\nForm.Submit = FormSubmit;\nForm.Hidden = FormHidden;\nForm.Checkbox = FormCheckbox;\nForm.Password = FormPassword;\n"],"mappings":"yeAoDA,MAAa,GAA+B,CAC1C,WACA,gBACA,kBACA,gBAAgB,EAAE,CAClB,WACA,SACA,IACA,gBAmDE,EAAC,EAAD,CACY,SAlDG,MAAO,CACtB,OACA,cAII,CACJ,MAAM,EAAS,CAAQ,OAAW,CAAC,CAChC,KAAM,GAAa,CAClB,IAAM,EAAM,EACZ,GAAI,GAAK,YAAc,EAAI,YAAc,IACvC,MAAM,EAGR,IAAiB,GAAY,EAAE,CAAkB,EACjD,CACD,MAAO,GAAqB,CAC3B,OAAQ,EAAM,WAAd,CACE,IAAK,KACL,IAAK,KACC,EAAM,OAAO,QACf,OAAO,KAAK,EAAM,MAAM,OAAO,CAAC,QAAS,GAAQ,CAC/C,EAAS,EAAK,CACZ,KAAM,SACN,QAAS,EAAM,OAAO,SAAS,GAChC,CAAC,EACF,CAEJ,EAAS,mBAAoB,CAC3B,KAAM,SACN,QAAS,GAAO,SAAW,uBAC5B,CAAC,CACF,MAEF,QACE,GAAI,EAAc,SAAS,EAAM,WAAW,CAAE,CAC5C,IAAkB,CAChB,QAAS,EAAM,QACL,WACV,OAAQ,EAAM,WACf,CAAC,CACF,MAEF,MAAM,IAEV,EAMM,SACR,SAAU,EACP,IACH,WAAY,CACV,KAAM,GAAY,MAAQ,GAAM,CAChC,KAAM,GAAY,MAAQ,GAAU,CACrC,CAEA,WACQ,CAAA,CAIf,EAAK,YAAc,OACnB,EAAK,UAAY,EACjB,EAAK,OAAS,EACd,EAAK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,SAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBase.mjs","names":["z"],"sources":["../../../src/components/forms/FormBase.tsx"],"sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { useEffect } from 'react';\nimport type {\n DeepPartialSkipArrayKey,\n FieldErrors,\n FieldValues,\n UseFormSetError,\n} from 'react-hook-form';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport * as z from 'zod';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { cx } from '@mage-ui/styled-system/css';\n\nimport { controls } from './controls';\nimport { RegisteredFormChildren } from './controls/register-components';\nimport { extractFormRules } from './rules/extract-form-rules';\n\ntype FormProps = {\n children: React.ReactNode;\n schema?: z.ZodObject<Record<string, z.ZodTypeAny>>;\n errorBox: React.ComponentType<{ errors: FieldErrors }>;\n onWatch?: (values: DeepPartialSkipArrayKey<FieldValues>) => void;\n onSubmit: (args: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => void | Promise<void>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n mode?: 'onBlur' | 'onChange' | 'onSubmit' | 'onTouched' | 'all';\n reValidateMode?: 'onBlur' | 'onChange' | 'onSubmit';\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\nexport const FormBase = ({\n errorBox: ErrorBox,\n onWatch,\n onSubmit,\n children,\n schema = z.object({}),\n t,\n mode = 'onSubmit',\n reValidateMode = 'onChange',\n classNames,\n}: FormProps) => {\n const rules = (\n schema\n ? schema.and(extractFormRules(children, controls) as z.ZodTypeAny)\n : (extractFormRules(children, controls) as z.ZodTypeAny)\n ) as z.ZodType<FieldValues, FieldValues>;\n\n const form = useForm({\n shouldFocusError: true,\n resolver: zodResolver(rules),\n mode,\n reValidateMode,\n });\n\n const {\n register,\n handleSubmit,\n setError,\n formState: { errors },\n watch,\n } = form;\n\n useEffect(() => {\n const { unsubscribe } = watch((values) => {\n onWatch?.(values);\n });\n return () => unsubscribe();\n }, [watch, onWatch]);\n\n return (\n <FormProvider {...form} {...({ t } as Record<string, unknown>)}>\n <ErrorBox errors={errors} />\n <form\n onSubmit={handleSubmit((data) => onSubmit({ data, setError }))}\n className={cx(classNames?.form, classNames?.root)}\n >\n <RegisteredFormChildren\n register={register}\n componentTypes={controls}\n errors={errors}\n t={t}\n >\n {children}\n </RegisteredFormChildren>\n </form>\n </FormProvider>\n );\n};\n"],"mappings":"udA0CA,MAAa,GAAY,CACvB,SAAU,EACV,UACA,WACA,WACA,SAASA,EAAE,OAAO,EAAE,CAAC,CACrB,IACA,OAAO,WACP,iBAAiB,WACjB,gBACe,CAOf,IAAM,EAAO,EAAQ,CACnB,iBAAkB,GAClB,SAAU,EAPV,EACI,EAAO,IAAI,EAAiB,EAAU,EAAS,CAAiB,CAC/D,EAAiB,EAAU,EAAS,CAKb,CAC5B,OACA,iBACD,CAAC,CAEI,CACJ,WACA,eACA,WACA,UAAW,CAAE,UACb,SACE,EASJ,OAPA,MAAgB,CACd,GAAM,CAAE,eAAgB,EAAO,GAAW,CACxC,IAAU,EAAO,EACjB,CACF,UAAa,GAAa,EACzB,CAAC,EAAO,EAAQ,CAAC,CAGlB,EAAC,
|
|
1
|
+
{"version":3,"file":"FormBase.mjs","names":["z"],"sources":["../../../src/components/forms/FormBase.tsx"],"sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { useEffect } from 'react';\nimport type {\n DeepPartialSkipArrayKey,\n FieldErrors,\n FieldValues,\n UseFormSetError,\n} from 'react-hook-form';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport * as z from 'zod';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { cx } from '@mage-ui/styled-system/css';\n\nimport { controls } from './controls';\nimport { RegisteredFormChildren } from './controls/register-components';\nimport { extractFormRules } from './rules/extract-form-rules';\n\ntype FormProps = {\n children: React.ReactNode;\n schema?: z.ZodObject<Record<string, z.ZodTypeAny>>;\n errorBox: React.ComponentType<{ errors: FieldErrors }>;\n onWatch?: (values: DeepPartialSkipArrayKey<FieldValues>) => void;\n onSubmit: (args: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => void | Promise<void>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n mode?: 'onBlur' | 'onChange' | 'onSubmit' | 'onTouched' | 'all';\n reValidateMode?: 'onBlur' | 'onChange' | 'onSubmit';\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\nexport const FormBase = ({\n errorBox: ErrorBox,\n onWatch,\n onSubmit,\n children,\n schema = z.object({}),\n t,\n mode = 'onSubmit',\n reValidateMode = 'onChange',\n classNames,\n}: FormProps) => {\n const rules = (\n schema\n ? schema.and(extractFormRules(children, controls) as z.ZodTypeAny)\n : (extractFormRules(children, controls) as z.ZodTypeAny)\n ) as z.ZodType<FieldValues, FieldValues>;\n\n const form = useForm({\n shouldFocusError: true,\n resolver: zodResolver(rules),\n mode,\n reValidateMode,\n });\n\n const {\n register,\n handleSubmit,\n setError,\n formState: { errors },\n watch,\n } = form;\n\n useEffect(() => {\n const { unsubscribe } = watch((values) => {\n onWatch?.(values);\n });\n return () => unsubscribe();\n }, [watch, onWatch]);\n\n return (\n <FormProvider {...form} {...({ t } as Record<string, unknown>)}>\n <ErrorBox errors={errors} />\n <form\n onSubmit={handleSubmit((data) => onSubmit({ data, setError }))}\n className={cx(classNames?.form, classNames?.root)}\n >\n <RegisteredFormChildren\n register={register}\n componentTypes={controls}\n errors={errors}\n t={t}\n >\n {children}\n </RegisteredFormChildren>\n </form>\n </FormProvider>\n );\n};\n"],"mappings":"udA0CA,MAAa,GAAY,CACvB,SAAU,EACV,UACA,WACA,WACA,SAASA,EAAE,OAAO,EAAE,CAAC,CACrB,IACA,OAAO,WACP,iBAAiB,WACjB,gBACe,CAOf,IAAM,EAAO,EAAQ,CACnB,iBAAkB,GAClB,SAAU,EAPV,EACI,EAAO,IAAI,EAAiB,EAAU,EAAS,CAAiB,CAC/D,EAAiB,EAAU,EAAS,CAKb,CAC5B,OACA,iBACD,CAAC,CAEI,CACJ,WACA,eACA,WACA,UAAW,CAAE,UACb,SACE,EASJ,OAPA,MAAgB,CACd,GAAM,CAAE,eAAgB,EAAO,GAAW,CACxC,IAAU,EAAO,EACjB,CACF,UAAa,GAAa,EACzB,CAAC,EAAO,EAAQ,CAAC,CAGlB,EAAC,EAAD,CAAc,GAAI,EAAa,aAA/B,CACE,EAAC,EAAD,CAAkB,SAAU,CAAA,CAC5B,EAAC,OAAD,CACE,SAAU,EAAc,GAAS,EAAS,CAAE,OAAM,WAAU,CAAC,CAAC,CAC9D,UAAW,EAAG,GAAY,KAAM,GAAY,KAAK,UAEjD,EAAC,EAAD,CACY,WACV,eAAgB,EACR,SACL,IAEF,WACsB,CAAA,CACpB,CAAA,CACM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormErrorBox.mjs","names":[],"sources":["../../../src/components/forms/FormErrorBox.tsx"],"sourcesContent":["import type { FieldErrors } from 'react-hook-form';\n\nimport { NotificationBanner } from '../data-display';\n\nexport const FormErrorBox = ({ errors }: { errors: FieldErrors }) =>\n errors.root?.serverError && (\n <NotificationBanner intent='danger' role='alert' aria-live='assertive'>\n {errors.root.serverError.message}\n </NotificationBanner>\n );\n"],"mappings":"wIAIA,MAAa,GAAgB,CAAE,YAC7B,EAAO,MAAM,aACX,EAAC,
|
|
1
|
+
{"version":3,"file":"FormErrorBox.mjs","names":[],"sources":["../../../src/components/forms/FormErrorBox.tsx"],"sourcesContent":["import type { FieldErrors } from 'react-hook-form';\n\nimport { NotificationBanner } from '../data-display';\n\nexport const FormErrorBox = ({ errors }: { errors: FieldErrors }) =>\n errors.root?.serverError && (\n <NotificationBanner intent='danger' role='alert' aria-live='assertive'>\n {errors.root.serverError.message}\n </NotificationBanner>\n );\n"],"mappings":"wIAIA,MAAa,GAAgB,CAAE,YAC7B,EAAO,MAAM,aACX,EAAC,EAAD,CAAoB,OAAO,SAAS,KAAK,QAAQ,YAAU,qBACxD,EAAO,KAAK,YAAY,QACN,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormCheckbox.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormCheckbox.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormCheckbox.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormCheckbox.tsx"],"mappings":";;KAOY,iBAAA,GAAoB,aAAA;EAC9B,KAAA;EACA,KAAA;EACA,YAAA;EACA,IAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormCheckbox.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormCheckbox.tsx"],"sourcesContent":["import { Controller } from 'react-hook-form';\n\nimport {\n Checkbox,\n type CheckboxProps,\n} from '@/components/controls/checkbox/Checkbox';\n\nexport type FormCheckboxProps = CheckboxProps & {\n $rule?: string;\n error?: string;\n isSubmitting?: boolean;\n name: string;\n};\n\nexport const FormCheckbox = ({\n $rule,\n isSubmitting,\n name,\n ...props\n}: FormCheckboxProps) => {\n return (\n <Controller\n name={name}\n render={({ field: { value, ...fieldProps } }) => {\n const mergedProps = {\n disabled: isSubmitting,\n value,\n ...props,\n ...fieldProps,\n };\n return <Checkbox {...mergedProps} />;\n }}\n />\n );\n};\n\nFormCheckbox.displayName = 'Form.Checkbox';\n"],"mappings":"qJAcA,MAAa,GAAgB,CAC3B,QACA,eACA,OACA,GAAG,KAGD,EAAC,
|
|
1
|
+
{"version":3,"file":"FormCheckbox.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormCheckbox.tsx"],"sourcesContent":["import { Controller } from 'react-hook-form';\n\nimport {\n Checkbox,\n type CheckboxProps,\n} from '@/components/controls/checkbox/Checkbox';\n\nexport type FormCheckboxProps = CheckboxProps & {\n $rule?: string;\n error?: string;\n isSubmitting?: boolean;\n name: string;\n};\n\nexport const FormCheckbox = ({\n $rule,\n isSubmitting,\n name,\n ...props\n}: FormCheckboxProps) => {\n return (\n <Controller\n name={name}\n render={({ field: { value, ...fieldProps } }) => {\n const mergedProps = {\n disabled: isSubmitting,\n value,\n ...props,\n ...fieldProps,\n };\n return <Checkbox {...mergedProps} />;\n }}\n />\n );\n};\n\nFormCheckbox.displayName = 'Form.Checkbox';\n"],"mappings":"qJAcA,MAAa,GAAgB,CAC3B,QACA,eACA,OACA,GAAG,KAGD,EAAC,EAAD,CACQ,OACN,QAAS,CAAE,MAAO,CAAE,QAAO,GAAG,MAOrB,EAAC,EAAD,CALL,SAAU,EACV,QACA,GAAG,EACH,GAAG,EAE+B,CAAA,CAEtC,CAAA,CAIN,EAAa,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormHidden.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormHidden.tsx"],"sourcesContent":["import type React from 'react';\n\nexport const FormHidden = ({\n name,\n value,\n ...props\n}: {\n name?: string;\n value?: string;\n defaultValue?: string;\n} & React.InputHTMLAttributes<HTMLInputElement>) => {\n return <input type='hidden' name={name} value={value} {...props} />;\n};\n\nFormHidden.displayName = 'Form.Hidden';\n"],"mappings":"wCAEA,MAAa,GAAc,CACzB,OACA,QACA,GAAG,KAMI,EAAC,
|
|
1
|
+
{"version":3,"file":"FormHidden.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormHidden.tsx"],"sourcesContent":["import type React from 'react';\n\nexport const FormHidden = ({\n name,\n value,\n ...props\n}: {\n name?: string;\n value?: string;\n defaultValue?: string;\n} & React.InputHTMLAttributes<HTMLInputElement>) => {\n return <input type='hidden' name={name} value={value} {...props} />;\n};\n\nFormHidden.displayName = 'Form.Hidden';\n"],"mappings":"wCAEA,MAAa,GAAc,CACzB,OACA,QACA,GAAG,KAMI,EAAC,QAAD,CAAO,KAAK,SAAe,OAAa,QAAO,GAAI,EAAS,CAAA,CAGrE,EAAW,YAAc"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { PasswordInputProps } from "../../controls/password-input/PasswordInput.mjs";
|
|
2
2
|
import { PasswordSegment } from "../../controls/password-input/PasswordStrengthInput.mjs";
|
|
3
3
|
import { PasswordRuleDefinition } from "../../controls/password-input/usePasswordRules.mjs";
|
|
4
|
-
import "react/jsx-runtime";
|
|
5
|
-
|
|
6
4
|
//#region src/components/forms/controls/FormPassword.d.ts
|
|
7
5
|
type FormPasswordProps = PasswordInputProps & {
|
|
8
6
|
$rule?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormPassword.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormPassword.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormPassword.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormPassword.tsx"],"mappings":";;;;KAeY,iBAAA,GAAoB,kBAAA;EAC9B,KAAA;EACA,YAAA;EACA,WAAA;EACA,KAAA;EACA,IAAA;EACA,KAAA,GAAQ,sBAAA;EACR,QAAA,GAAW,eAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormPassword.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormPassword.tsx"],"sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\n\nimport {\n PasswordInput,\n type PasswordInputProps,\n} from '@/components/controls/password-input/PasswordInput';\nimport {\n type PasswordSegment,\n PasswordStrengthInput,\n} from '@/components/controls/password-input/PasswordStrengthInput';\nimport {\n type PasswordRuleDefinition,\n usePasswordRules,\n} from '@/components/controls/password-input/usePasswordRules';\n\nexport type FormPasswordProps = PasswordInputProps & {\n $rule?: string;\n isSubmitting?: boolean;\n strengthBar?: boolean;\n value?: string;\n name: string;\n rules?: PasswordRuleDefinition[];\n segments?: PasswordSegment[];\n};\n\nexport const FormPassword = ({\n $rule,\n isSubmitting = false,\n strengthBar = false,\n value,\n name,\n rules,\n ...props\n}: FormPasswordProps) => {\n const { t } = useFormContext() as unknown as {\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string;\n };\n\n return (\n <Controller\n name={name}\n defaultValue={value || ''}\n render={({ field: { value, ...fieldProps } }) => {\n const computedRules = usePasswordRules(value || '', rules || [], t);\n\n const mergedProps = {\n disabled: isSubmitting,\n value,\n ...props,\n ...fieldProps,\n };\n\n if (strengthBar) {\n return (\n <PasswordStrengthInput\n segments={[]}\n rules={computedRules}\n {...mergedProps}\n />\n );\n }\n return <PasswordInput {...mergedProps} />;\n }}\n />\n );\n};\n\nFormPassword.displayName = 'Form.Password';\n"],"mappings":"+WAyBA,MAAa,GAAgB,CAC3B,QACA,eAAe,GACf,cAAc,GACd,QACA,OACA,QACA,GAAG,KACoB,CACvB,GAAM,CAAE,KAAM,GAAgB,CAQ9B,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"FormPassword.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormPassword.tsx"],"sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\n\nimport {\n PasswordInput,\n type PasswordInputProps,\n} from '@/components/controls/password-input/PasswordInput';\nimport {\n type PasswordSegment,\n PasswordStrengthInput,\n} from '@/components/controls/password-input/PasswordStrengthInput';\nimport {\n type PasswordRuleDefinition,\n usePasswordRules,\n} from '@/components/controls/password-input/usePasswordRules';\n\nexport type FormPasswordProps = PasswordInputProps & {\n $rule?: string;\n isSubmitting?: boolean;\n strengthBar?: boolean;\n value?: string;\n name: string;\n rules?: PasswordRuleDefinition[];\n segments?: PasswordSegment[];\n};\n\nexport const FormPassword = ({\n $rule,\n isSubmitting = false,\n strengthBar = false,\n value,\n name,\n rules,\n ...props\n}: FormPasswordProps) => {\n const { t } = useFormContext() as unknown as {\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string;\n };\n\n return (\n <Controller\n name={name}\n defaultValue={value || ''}\n render={({ field: { value, ...fieldProps } }) => {\n const computedRules = usePasswordRules(value || '', rules || [], t);\n\n const mergedProps = {\n disabled: isSubmitting,\n value,\n ...props,\n ...fieldProps,\n };\n\n if (strengthBar) {\n return (\n <PasswordStrengthInput\n segments={[]}\n rules={computedRules}\n {...mergedProps}\n />\n );\n }\n return <PasswordInput {...mergedProps} />;\n }}\n />\n );\n};\n\nFormPassword.displayName = 'Form.Password';\n"],"mappings":"+WAyBA,MAAa,GAAgB,CAC3B,QACA,eAAe,GACf,cAAc,GACd,QACA,OACA,QACA,GAAG,KACoB,CACvB,GAAM,CAAE,KAAM,GAAgB,CAQ9B,OACE,EAAC,EAAD,CACQ,OACN,aAAc,GAAS,GACvB,QAAS,CAAE,MAAO,CAAE,QAAO,GAAG,MAAmB,CAC/C,IAAM,EAAgB,EAAiB,GAAS,GAAI,GAAS,EAAE,CAAE,EAAE,CAE7D,EAAc,CAClB,SAAU,EACV,QACA,GAAG,EACH,GAAG,EACJ,CAWD,OATI,EAEA,EAAC,EAAD,CACE,SAAU,EAAE,CACZ,MAAO,EACP,GAAI,EACJ,CAAA,CAGC,EAAC,EAAD,CAAe,GAAI,EAAe,CAAA,EAE3C,CAAA,EAIN,EAAa,YAAc"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { ButtonActionProps } from "../../buttons/button-action/ButtonAction.mjs";
|
|
2
|
-
import "../../buttons/index.mjs";
|
|
3
|
-
import "react/jsx-runtime";
|
|
4
|
-
|
|
5
2
|
//#region src/components/forms/controls/FormSubmit.d.ts
|
|
6
3
|
type FormSubmitProps = Omit<ButtonActionProps, 'loading'> & {};
|
|
7
4
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormSubmit.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormSubmit.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormSubmit.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormSubmit.tsx"],"mappings":";;KAIY,eAAA,GAAkB,IAAA,CAAK,iBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormSubmit.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormSubmit.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form';\n\nimport { ButtonAction, type ButtonActionProps } from '@/components/buttons';\n\nexport type FormSubmitProps = Omit<ButtonActionProps, 'loading'> & {};\n\nexport const FormSubmit = ({\n children,\n successText,\n ...props\n}: FormSubmitProps) => {\n const {\n formState: { isSubmitSuccessful, isSubmitting },\n } = useFormContext();\n\n return (\n <ButtonAction\n type='submit'\n loading={isSubmitting}\n successText={isSubmitSuccessful ? successText : undefined}\n {...props}\n >\n {children}\n </ButtonAction>\n );\n};\n\nFormSubmit.displayName = 'Form.Submit';\n"],"mappings":"qKAMA,MAAa,GAAc,CACzB,WACA,cACA,GAAG,KACkB,CACrB,GAAM,CACJ,UAAW,CAAE,qBAAoB,iBAC/B,GAAgB,CAEpB,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"FormSubmit.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormSubmit.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form';\n\nimport { ButtonAction, type ButtonActionProps } from '@/components/buttons';\n\nexport type FormSubmitProps = Omit<ButtonActionProps, 'loading'> & {};\n\nexport const FormSubmit = ({\n children,\n successText,\n ...props\n}: FormSubmitProps) => {\n const {\n formState: { isSubmitSuccessful, isSubmitting },\n } = useFormContext();\n\n return (\n <ButtonAction\n type='submit'\n loading={isSubmitting}\n successText={isSubmitSuccessful ? successText : undefined}\n {...props}\n >\n {children}\n </ButtonAction>\n );\n};\n\nFormSubmit.displayName = 'Form.Submit';\n"],"mappings":"qKAMA,MAAa,GAAc,CACzB,WACA,cACA,GAAG,KACkB,CACrB,GAAM,CACJ,UAAW,CAAE,qBAAoB,iBAC/B,GAAgB,CAEpB,OACE,EAAC,EAAD,CACE,KAAK,SACL,QAAS,EACT,YAAa,EAAqB,EAAc,IAAA,GAChD,GAAI,EAEH,WACY,CAAA,EAInB,EAAW,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormTextInput.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormTextInput.tsx"],"sourcesContent":["import {\n TextInput,\n type TextInputProps,\n} from '@/components/controls/text-input/TextInput';\n\nexport const FormTextInput = ({\n $rule,\n isSubmitting,\n ...props\n}: {\n $rule?: string;\n isSubmitting?: boolean;\n name: string;\n} & TextInputProps) => {\n return <TextInput disabled={isSubmitting} type='text' {...props} />;\n};\n\nFormTextInput.displayName = 'Form.TextInput';\n"],"mappings":"4GAKA,MAAa,GAAiB,CAC5B,QACA,eACA,GAAG,KAMI,EAAC,
|
|
1
|
+
{"version":3,"file":"FormTextInput.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormTextInput.tsx"],"sourcesContent":["import {\n TextInput,\n type TextInputProps,\n} from '@/components/controls/text-input/TextInput';\n\nexport const FormTextInput = ({\n $rule,\n isSubmitting,\n ...props\n}: {\n $rule?: string;\n isSubmitting?: boolean;\n name: string;\n} & TextInputProps) => {\n return <TextInput disabled={isSubmitting} type='text' {...props} />;\n};\n\nFormTextInput.displayName = 'Form.TextInput';\n"],"mappings":"4GAKA,MAAa,GAAiB,CAC5B,QACA,eACA,GAAG,KAMI,EAAC,EAAD,CAAW,SAAU,EAAc,KAAK,OAAO,GAAI,EAAS,CAAA,CAGrE,EAAc,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-components.mjs","names":[],"sources":["../../../../src/components/forms/controls/register-components.tsx"],"sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { Children, cloneElement, isValidElement } from 'react';\nimport type { FieldErrors, UseFormRegister } from 'react-hook-form';\n\ninterface TranslationMessage {\n key: string;\n bindings: Record<string, string>;\n fallback: string;\n}\n\nconst parseAndTranslate = (\n message: string | undefined,\n fieldName: string,\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode,\n): string | undefined => {\n if (!message) return undefined;\n\n try {\n const parsed: TranslationMessage = JSON.parse(message);\n const bindings = { ...parsed.bindings, attribute: fieldName };\n const result = t\n ? t(parsed.key, bindings, parsed.fallback)\n : parsed.fallback;\n return String(result).replace(/{attribute}/g, fieldName);\n } catch {\n return message.replace(/{attribute}/g, fieldName);\n }\n};\n\ninterface RegisteredFormChildrenProps {\n children: React.ReactNode;\n register: UseFormRegister<Record<string, unknown>>;\n componentTypes: React.ComponentType[];\n errors?: FieldErrors<Record<string, unknown>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n}\n\nexport const RegisteredFormChildren = ({\n children,\n register,\n componentTypes,\n errors = {},\n t,\n}: RegisteredFormChildrenProps): React.ReactNode => {\n const processChildren = (nodes: React.ReactNode): React.ReactNode => {\n return Children.map(nodes, (child) => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const childProps = child.props as {\n name?: string;\n children?: React.ReactNode;\n };\n\n if (\n componentTypes.some((type: React.ComponentType) => child.type === type)\n ) {\n const errorMessage = errors[childProps.name ?? '']?.message?.toString();\n const translatedError = childProps.name\n ? parseAndTranslate(errorMessage, childProps.name, t)\n : undefined;\n\n return cloneElement(child, {\n ...(childProps.name && {\n ...register(childProps.name),\n error: translatedError,\n }),\n } as Partial<typeof child.props>);\n }\n\n if (childProps.children) {\n return cloneElement(child, {\n children: processChildren(childProps.children),\n } as Partial<typeof child.props>);\n }\n\n return child;\n });\n };\n\n return <>{processChildren(children)}</>;\n};\n"],"mappings":"0IAYA,MAAM,GACJ,EACA,EACA,IAKuB,CAClB,KAEL,GAAI,CACF,IAAM,EAA6B,KAAK,MAAM,EAAQ,CAChD,EAAW,CAAE,GAAG,EAAO,SAAU,UAAW,EAAW,CACvD,EAAS,EACX,EAAE,EAAO,IAAK,EAAU,EAAO,SAAS,CACxC,EAAO,SACX,OAAO,OAAO,EAAO,CAAC,QAAQ,eAAgB,EAAU,MAClD,CACN,OAAO,EAAQ,QAAQ,eAAgB,EAAU,GAgBxC,GAA0B,CACrC,WACA,WACA,iBACA,SAAS,EAAE,CACX,OACkD,CAClD,IAAM,EAAmB,GAChB,EAAS,IAAI,EAAQ,GAAU,CACpC,GAAI,CAAC,EAAe,EAAM,CACxB,OAAO,EAGT,IAAM,EAAa,EAAM,MAKzB,GACE,EAAe,KAAM,GAA8B,EAAM,OAAS,EAAK,CACvE,CACA,IAAM,EAAe,EAAO,EAAW,MAAQ,KAAK,SAAS,UAAU,CACjE,EAAkB,EAAW,KAC/B,EAAkB,EAAc,EAAW,KAAM,EAAE,CACnD,IAAA,GAEJ,OAAO,EAAa,EAAO,CACzB,GAAI,EAAW,MAAQ,CACrB,GAAG,EAAS,EAAW,KAAK,CAC5B,MAAO,EACR,CACF,CAAgC,CASnC,OANI,EAAW,SACN,EAAa,EAAO,CACzB,SAAU,EAAgB,EAAW,SAAS,CAC/C,CAAgC,CAG5B,GACP,CAGJ,OAAO,EAAA,EAAA,CAAA,SAAG,EAAgB,EAAS,CAAA
|
|
1
|
+
{"version":3,"file":"register-components.mjs","names":[],"sources":["../../../../src/components/forms/controls/register-components.tsx"],"sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { Children, cloneElement, isValidElement } from 'react';\nimport type { FieldErrors, UseFormRegister } from 'react-hook-form';\n\ninterface TranslationMessage {\n key: string;\n bindings: Record<string, string>;\n fallback: string;\n}\n\nconst parseAndTranslate = (\n message: string | undefined,\n fieldName: string,\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode,\n): string | undefined => {\n if (!message) return undefined;\n\n try {\n const parsed: TranslationMessage = JSON.parse(message);\n const bindings = { ...parsed.bindings, attribute: fieldName };\n const result = t\n ? t(parsed.key, bindings, parsed.fallback)\n : parsed.fallback;\n return String(result).replace(/{attribute}/g, fieldName);\n } catch {\n return message.replace(/{attribute}/g, fieldName);\n }\n};\n\ninterface RegisteredFormChildrenProps {\n children: React.ReactNode;\n register: UseFormRegister<Record<string, unknown>>;\n componentTypes: React.ComponentType[];\n errors?: FieldErrors<Record<string, unknown>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n}\n\nexport const RegisteredFormChildren = ({\n children,\n register,\n componentTypes,\n errors = {},\n t,\n}: RegisteredFormChildrenProps): React.ReactNode => {\n const processChildren = (nodes: React.ReactNode): React.ReactNode => {\n return Children.map(nodes, (child) => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const childProps = child.props as {\n name?: string;\n children?: React.ReactNode;\n };\n\n if (\n componentTypes.some((type: React.ComponentType) => child.type === type)\n ) {\n const errorMessage = errors[childProps.name ?? '']?.message?.toString();\n const translatedError = childProps.name\n ? parseAndTranslate(errorMessage, childProps.name, t)\n : undefined;\n\n return cloneElement(child, {\n ...(childProps.name && {\n ...register(childProps.name),\n error: translatedError,\n }),\n } as Partial<typeof child.props>);\n }\n\n if (childProps.children) {\n return cloneElement(child, {\n children: processChildren(childProps.children),\n } as Partial<typeof child.props>);\n }\n\n return child;\n });\n };\n\n return <>{processChildren(children)}</>;\n};\n"],"mappings":"0IAYA,MAAM,GACJ,EACA,EACA,IAKuB,CAClB,KAEL,GAAI,CACF,IAAM,EAA6B,KAAK,MAAM,EAAQ,CAChD,EAAW,CAAE,GAAG,EAAO,SAAU,UAAW,EAAW,CACvD,EAAS,EACX,EAAE,EAAO,IAAK,EAAU,EAAO,SAAS,CACxC,EAAO,SACX,OAAO,OAAO,EAAO,CAAC,QAAQ,eAAgB,EAAU,MAClD,CACN,OAAO,EAAQ,QAAQ,eAAgB,EAAU,GAgBxC,GAA0B,CACrC,WACA,WACA,iBACA,SAAS,EAAE,CACX,OACkD,CAClD,IAAM,EAAmB,GAChB,EAAS,IAAI,EAAQ,GAAU,CACpC,GAAI,CAAC,EAAe,EAAM,CACxB,OAAO,EAGT,IAAM,EAAa,EAAM,MAKzB,GACE,EAAe,KAAM,GAA8B,EAAM,OAAS,EAAK,CACvE,CACA,IAAM,EAAe,EAAO,EAAW,MAAQ,KAAK,SAAS,UAAU,CACjE,EAAkB,EAAW,KAC/B,EAAkB,EAAc,EAAW,KAAM,EAAE,CACnD,IAAA,GAEJ,OAAO,EAAa,EAAO,CACzB,GAAI,EAAW,MAAQ,CACrB,GAAG,EAAS,EAAW,KAAK,CAC5B,MAAO,EACR,CACF,CAAgC,CASnC,OANI,EAAW,SACN,EAAa,EAAO,CACzB,SAAU,EAAgB,EAAW,SAAS,CAC/C,CAAgC,CAG5B,GACP,CAGJ,OAAO,EAAA,EAAA,CAAA,SAAG,EAAgB,EAAS,CAAI,CAAA"}
|