@mage-ui/components 1.0.88 → 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.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 +1 -6
- 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.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/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 +22 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.mjs","names":["Button","MantineButton"],"sources":["../../../../src/components/buttons/button/Button.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n type ButtonVariantProps,\n button,\n buttonInner,\n buttonLabel,\n buttonRoot,\n buttonSection,\n} from '@mage-ui/styled-system/recipes';\nimport { Button as MantineButton } from '@mantine/core';\n\nexport type ButtonProps = Omit<ComponentPropsWithoutRef<'button'>, 'style'> & {\n classNames?: {\n button?: string;\n root?: string;\n inner?: string;\n label?: string;\n section?: string;\n };\n startSlot?: ReactNode;\n endSlot?: ReactNode;\n children?: ReactNode;\n} & ButtonVariantProps;\n\nexport const Button = ({\n classNames,\n children,\n startSlot,\n endSlot,\n ...props\n}: ButtonProps) => {\n return (\n <MantineButton\n classNames={{\n inner: classNames?.inner ?? buttonInner(),\n label: classNames?.label ?? buttonLabel(),\n root: cx(\n classNames?.button ?? button(),\n classNames?.root ?? buttonRoot(),\n ),\n section: classNames?.section ?? buttonSection(),\n }}\n leftSection={startSlot}\n rightSection={endSlot}\n {...props}\n >\n {children}\n </MantineButton>\n );\n};\n"],"mappings":"4PA0BA,MAAaA,GAAU,CACrB,aACA,WACA,YACA,UACA,GAAG,KAGD,EAACC,
|
|
1
|
+
{"version":3,"file":"Button.mjs","names":["Button","MantineButton"],"sources":["../../../../src/components/buttons/button/Button.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n type ButtonVariantProps,\n button,\n buttonInner,\n buttonLabel,\n buttonRoot,\n buttonSection,\n} from '@mage-ui/styled-system/recipes';\nimport { Button as MantineButton } from '@mantine/core';\n\nexport type ButtonProps = Omit<ComponentPropsWithoutRef<'button'>, 'style'> & {\n classNames?: {\n button?: string;\n root?: string;\n inner?: string;\n label?: string;\n section?: string;\n };\n startSlot?: ReactNode;\n endSlot?: ReactNode;\n children?: ReactNode;\n} & ButtonVariantProps;\n\nexport const Button = ({\n classNames,\n children,\n startSlot,\n endSlot,\n ...props\n}: ButtonProps) => {\n return (\n <MantineButton\n classNames={{\n inner: classNames?.inner ?? buttonInner(),\n label: classNames?.label ?? buttonLabel(),\n root: cx(\n classNames?.button ?? button(),\n classNames?.root ?? buttonRoot(),\n ),\n section: classNames?.section ?? buttonSection(),\n }}\n leftSection={startSlot}\n rightSection={endSlot}\n {...props}\n >\n {children}\n </MantineButton>\n );\n};\n"],"mappings":"4PA0BA,MAAaA,GAAU,CACrB,aACA,WACA,YACA,UACA,GAAG,KAGD,EAACC,EAAD,CACE,WAAY,CACV,MAAO,GAAY,OAAS,GAAa,CACzC,MAAO,GAAY,OAAS,GAAa,CACzC,KAAM,EACJ,GAAY,QAAU,GAAQ,CAC9B,GAAY,MAAQ,GAAY,CACjC,CACD,QAAS,GAAY,SAAW,GAAe,CAChD,CACD,YAAa,EACb,aAAc,EACd,GAAI,EAEH,WACa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonAction.mjs","names":["MantineButton","VisuallyHidden"],"sources":["../../../../src/components/buttons/button-action/ButtonAction.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useRef, useState } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n buttonAction,\n buttonActionInner,\n buttonActionLabel,\n buttonActionLoader,\n buttonActionRoot,\n buttonActionSection,\n} from '@mage-ui/styled-system/recipes';\nimport { Button as MantineButton } from '@mantine/core';\nimport type { ButtonProps } from '@/components/buttons/button/Button';\nimport { VisuallyHidden } from '@/components/misc/visually-hidden/VisuallyHidden';\n\nimport { ButtonActionProvider } from './ButtonActionContext';\n\nexport type ButtonActionProps = Omit<ButtonProps, 'classNames'> & {\n classNames?: Omit<NonNullable<ButtonProps['classNames']>, 'button'> & {\n buttonAction?: string;\n loader?: string;\n };\n loader?: ReactNode;\n loading: boolean;\n loadingText?: string;\n successText?: string;\n successDuration?: number;\n};\n\ntype ButtonActionStatus = 'idle' | 'loading' | 'success' | 'error';\n\nconst useButtonActionState = ({\n loading,\n successText,\n successDuration = 2000,\n}: {\n loading: boolean;\n successText?: string;\n successDuration?: number;\n}): ButtonActionStatus => {\n const [showSuccess, setShowSuccess] = useState(false);\n const prevLoadingRef = useRef(loading);\n\n useEffect(() => {\n if (prevLoadingRef.current && !loading) {\n if (successText) {\n setShowSuccess(true);\n const timer = setTimeout(() => {\n setShowSuccess(false);\n }, successDuration);\n return () => clearTimeout(timer);\n }\n }\n prevLoadingRef.current = loading;\n }, [loading, successText, successDuration]);\n\n return loading ? 'loading' : showSuccess ? 'success' : 'idle';\n};\n\nexport const ButtonAction = ({\n classNames,\n startSlot,\n endSlot,\n children,\n loader,\n loading,\n loadingText,\n successText,\n successDuration,\n disabled,\n ...props\n}: ButtonActionProps) => {\n const status = useButtonActionState({\n loading,\n successText,\n successDuration,\n });\n\n const isLoading = status === 'loading';\n const isSuccess = status === 'success';\n\n const getLabelContent = () => {\n if (isLoading && loadingText) return loadingText;\n if (isSuccess && successText) return successText;\n return children;\n };\n\n const isDisabled = isLoading || isSuccess || disabled;\n\n return (\n <MantineButton\n classNames={{\n inner: classNames?.inner ?? buttonActionInner(),\n label: classNames?.label ?? buttonActionLabel(),\n root: cx(\n classNames?.buttonAction ?? buttonAction(),\n classNames?.root ?? buttonActionRoot(),\n ),\n loader: classNames?.loader ?? buttonActionLoader(),\n section: classNames?.section ?? buttonActionSection(),\n }}\n leftSection={startSlot}\n rightSection={endSlot}\n loading={isLoading}\n disabled={isDisabled}\n aria-busy={isDisabled}\n {...props}\n >\n {loader && (\n <ButtonActionProvider value={{ isLoading, isSuccess }}>\n {loader}\n </ButtonActionProvider>\n )}\n {getLabelContent()}\n\n <VisuallyHidden aria-live='polite'>{getLabelContent()}</VisuallyHidden>\n </MantineButton>\n );\n};\n"],"mappings":"wgBA+BA,MAAM,GAAwB,CAC5B,UACA,cACA,kBAAkB,OAKM,CACxB,GAAM,CAAC,EAAa,GAAkB,EAAS,GAAM,CAC/C,EAAiB,EAAO,EAAQ,CAetC,OAbA,MAAgB,CACd,GAAI,EAAe,SAAW,CAAC,GACzB,EAAa,CACf,EAAe,GAAK,CACpB,IAAM,EAAQ,eAAiB,CAC7B,EAAe,GAAM,EACpB,EAAgB,CACnB,UAAa,aAAa,EAAM,CAGpC,EAAe,QAAU,GACxB,CAAC,EAAS,EAAa,EAAgB,CAAC,CAEpC,EAAU,UAAY,EAAc,UAAY,QAG5C,GAAgB,CAC3B,aACA,YACA,UACA,WACA,SACA,UACA,cACA,cACA,kBACA,WACA,GAAG,KACoB,CACvB,IAAM,EAAS,EAAqB,CAClC,UACA,cACA,kBACD,CAAC,CAEI,EAAY,IAAW,UACvB,EAAY,IAAW,UAEvB,MACA,GAAa,EAAoB,EACjC,GAAa,EAAoB,EAC9B,EAGH,EAAa,GAAa,GAAa,EAE7C,OACE,EAACA,
|
|
1
|
+
{"version":3,"file":"ButtonAction.mjs","names":["MantineButton","VisuallyHidden"],"sources":["../../../../src/components/buttons/button-action/ButtonAction.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useRef, useState } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n buttonAction,\n buttonActionInner,\n buttonActionLabel,\n buttonActionLoader,\n buttonActionRoot,\n buttonActionSection,\n} from '@mage-ui/styled-system/recipes';\nimport { Button as MantineButton } from '@mantine/core';\nimport type { ButtonProps } from '@/components/buttons/button/Button';\nimport { VisuallyHidden } from '@/components/misc/visually-hidden/VisuallyHidden';\n\nimport { ButtonActionProvider } from './ButtonActionContext';\n\nexport type ButtonActionProps = Omit<ButtonProps, 'classNames'> & {\n classNames?: Omit<NonNullable<ButtonProps['classNames']>, 'button'> & {\n buttonAction?: string;\n loader?: string;\n };\n loader?: ReactNode;\n loading: boolean;\n loadingText?: string;\n successText?: string;\n successDuration?: number;\n};\n\ntype ButtonActionStatus = 'idle' | 'loading' | 'success' | 'error';\n\nconst useButtonActionState = ({\n loading,\n successText,\n successDuration = 2000,\n}: {\n loading: boolean;\n successText?: string;\n successDuration?: number;\n}): ButtonActionStatus => {\n const [showSuccess, setShowSuccess] = useState(false);\n const prevLoadingRef = useRef(loading);\n\n useEffect(() => {\n if (prevLoadingRef.current && !loading) {\n if (successText) {\n setShowSuccess(true);\n const timer = setTimeout(() => {\n setShowSuccess(false);\n }, successDuration);\n return () => clearTimeout(timer);\n }\n }\n prevLoadingRef.current = loading;\n }, [loading, successText, successDuration]);\n\n return loading ? 'loading' : showSuccess ? 'success' : 'idle';\n};\n\nexport const ButtonAction = ({\n classNames,\n startSlot,\n endSlot,\n children,\n loader,\n loading,\n loadingText,\n successText,\n successDuration,\n disabled,\n ...props\n}: ButtonActionProps) => {\n const status = useButtonActionState({\n loading,\n successText,\n successDuration,\n });\n\n const isLoading = status === 'loading';\n const isSuccess = status === 'success';\n\n const getLabelContent = () => {\n if (isLoading && loadingText) return loadingText;\n if (isSuccess && successText) return successText;\n return children;\n };\n\n const isDisabled = isLoading || isSuccess || disabled;\n\n return (\n <MantineButton\n classNames={{\n inner: classNames?.inner ?? buttonActionInner(),\n label: classNames?.label ?? buttonActionLabel(),\n root: cx(\n classNames?.buttonAction ?? buttonAction(),\n classNames?.root ?? buttonActionRoot(),\n ),\n loader: classNames?.loader ?? buttonActionLoader(),\n section: classNames?.section ?? buttonActionSection(),\n }}\n leftSection={startSlot}\n rightSection={endSlot}\n loading={isLoading}\n disabled={isDisabled}\n aria-busy={isDisabled}\n {...props}\n >\n {loader && (\n <ButtonActionProvider value={{ isLoading, isSuccess }}>\n {loader}\n </ButtonActionProvider>\n )}\n {getLabelContent()}\n\n <VisuallyHidden aria-live='polite'>{getLabelContent()}</VisuallyHidden>\n </MantineButton>\n );\n};\n"],"mappings":"wgBA+BA,MAAM,GAAwB,CAC5B,UACA,cACA,kBAAkB,OAKM,CACxB,GAAM,CAAC,EAAa,GAAkB,EAAS,GAAM,CAC/C,EAAiB,EAAO,EAAQ,CAetC,OAbA,MAAgB,CACd,GAAI,EAAe,SAAW,CAAC,GACzB,EAAa,CACf,EAAe,GAAK,CACpB,IAAM,EAAQ,eAAiB,CAC7B,EAAe,GAAM,EACpB,EAAgB,CACnB,UAAa,aAAa,EAAM,CAGpC,EAAe,QAAU,GACxB,CAAC,EAAS,EAAa,EAAgB,CAAC,CAEpC,EAAU,UAAY,EAAc,UAAY,QAG5C,GAAgB,CAC3B,aACA,YACA,UACA,WACA,SACA,UACA,cACA,cACA,kBACA,WACA,GAAG,KACoB,CACvB,IAAM,EAAS,EAAqB,CAClC,UACA,cACA,kBACD,CAAC,CAEI,EAAY,IAAW,UACvB,EAAY,IAAW,UAEvB,MACA,GAAa,EAAoB,EACjC,GAAa,EAAoB,EAC9B,EAGH,EAAa,GAAa,GAAa,EAE7C,OACE,EAACA,EAAD,CACE,WAAY,CACV,MAAO,GAAY,OAAS,GAAmB,CAC/C,MAAO,GAAY,OAAS,GAAmB,CAC/C,KAAM,EACJ,GAAY,cAAgB,GAAc,CAC1C,GAAY,MAAQ,GAAkB,CACvC,CACD,OAAQ,GAAY,QAAU,GAAoB,CAClD,QAAS,GAAY,SAAW,GAAqB,CACtD,CACD,YAAa,EACb,aAAc,EACd,QAAS,EACT,SAAU,EACV,YAAW,EACX,GAAI,WAhBN,CAkBG,GACC,EAAC,EAAD,CAAsB,MAAO,CAAE,YAAW,YAAW,UAClD,EACoB,CAAA,CAExB,GAAiB,CAElB,EAACC,EAAD,CAAgB,YAAU,kBAAU,GAAiB,CAAkB,CAAA,CACzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonActionContext.mjs","names":[],"sources":["../../../../src/components/buttons/button-action/ButtonActionContext.tsx"],"sourcesContent":["import { createContext, type ReactNode, useContext } from 'react';\n\nexport interface ButtonActionContextValue {\n isLoading: boolean;\n isSuccess: boolean;\n}\n\nconst ButtonActionContext = createContext<ButtonActionContextValue | null>(\n null,\n);\n\nexport const ButtonActionProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: ButtonActionContextValue;\n}) => {\n return (\n <ButtonActionContext.Provider value={value}>\n {children}\n </ButtonActionContext.Provider>\n );\n};\n\nexport const useButtonActionContext = (): ButtonActionContextValue => {\n const context = useContext(ButtonActionContext);\n if (!context) {\n return { isLoading: false, isSuccess: false };\n }\n return context;\n};\n"],"mappings":"8FAOA,MAAM,EAAsB,EAC1B,KACD,CAEY,GAAwB,CACnC,WACA,WAME,EAAC,EAAoB,
|
|
1
|
+
{"version":3,"file":"ButtonActionContext.mjs","names":[],"sources":["../../../../src/components/buttons/button-action/ButtonActionContext.tsx"],"sourcesContent":["import { createContext, type ReactNode, useContext } from 'react';\n\nexport interface ButtonActionContextValue {\n isLoading: boolean;\n isSuccess: boolean;\n}\n\nconst ButtonActionContext = createContext<ButtonActionContextValue | null>(\n null,\n);\n\nexport const ButtonActionProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: ButtonActionContextValue;\n}) => {\n return (\n <ButtonActionContext.Provider value={value}>\n {children}\n </ButtonActionContext.Provider>\n );\n};\n\nexport const useButtonActionContext = (): ButtonActionContextValue => {\n const context = useContext(ButtonActionContext);\n if (!context) {\n return { isLoading: false, isSuccess: false };\n }\n return context;\n};\n"],"mappings":"8FAOA,MAAM,EAAsB,EAC1B,KACD,CAEY,GAAwB,CACnC,WACA,WAME,EAAC,EAAoB,SAArB,CAAqC,QAClC,WAC4B,CAAA,CAItB,MACK,EAAW,EAAoB,EAEtC,CAAE,UAAW,GAAO,UAAW,GAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonLoader.mjs","names":[],"sources":["../../../../src/components/buttons/button-action/ButtonLoader.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { buttonActionLoader } from '@mage-ui/styled-system/recipes';\n\nimport { useButtonActionContext } from './ButtonActionContext';\n\nexport const ButtonLoader = ({\n className,\n ...props\n}: ComponentProps<'span'>) => {\n const { isLoading } = useButtonActionContext();\n\n return (\n <span\n className={cx(buttonActionLoader(), className)}\n data-loading={isLoading}\n aria-hidden='true'\n {...props}\n />\n );\n};\n"],"mappings":"+NAOA,MAAa,GAAgB,CAC3B,YACA,GAAG,KACyB,CAC5B,GAAM,CAAE,aAAc,GAAwB,CAE9C,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"ButtonLoader.mjs","names":[],"sources":["../../../../src/components/buttons/button-action/ButtonLoader.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { buttonActionLoader } from '@mage-ui/styled-system/recipes';\n\nimport { useButtonActionContext } from './ButtonActionContext';\n\nexport const ButtonLoader = ({\n className,\n ...props\n}: ComponentProps<'span'>) => {\n const { isLoading } = useButtonActionContext();\n\n return (\n <span\n className={cx(buttonActionLoader(), className)}\n data-loading={isLoading}\n aria-hidden='true'\n {...props}\n />\n );\n};\n"],"mappings":"+NAOA,MAAa,GAAgB,CAC3B,YACA,GAAG,KACyB,CAC5B,GAAM,CAAE,aAAc,GAAwB,CAE9C,OACE,EAAC,OAAD,CACE,UAAW,EAAG,GAAoB,CAAE,EAAU,CAC9C,eAAc,EACd,cAAY,OACZ,GAAI,EACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonIcon.mjs","names":["VisuallyHidden"],"sources":["../../../../src/components/buttons/button-icon/ButtonIcon.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n buttonIcon,\n buttonIconIcon,\n buttonIconIconRaw,\n buttonIconIconRawRoot,\n buttonIconRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { ActionIcon } from '@mantine/core';\nimport { IconRaw } from '@/components/data-display';\nimport { VisuallyHidden } from '@/components/misc';\n\nexport type ButtonIconProps = ComponentPropsWithoutRef<'button'> & {\n name: string;\n path: string;\n label: string;\n classNames?: {\n buttonIcon?: string;\n root?: string;\n icon?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n};\n\nexport const ButtonIcon = ({\n label,\n name,\n path,\n classNames,\n ...props\n}: ButtonIconProps) => {\n return (\n <ActionIcon\n classNames={{\n root: cx(\n classNames?.buttonIcon ?? buttonIcon(),\n classNames?.root ?? buttonIconRoot(),\n ),\n icon: classNames?.icon ?? buttonIconIcon(),\n }}\n {...props}\n >\n <IconRaw\n path={path}\n name={name}\n classNames={{\n iconRaw: classNames?.iconRaw?.iconRaw ?? buttonIconIconRaw(),\n root: classNames?.iconRaw?.root ?? buttonIconIconRawRoot(),\n }}\n />\n <VisuallyHidden>{label}</VisuallyHidden>\n </ActionIcon>\n );\n};\n"],"mappings":"0bA6BA,MAAa,GAAc,CACzB,QACA,OACA,OACA,aACA,GAAG,KAGD,EAAC,
|
|
1
|
+
{"version":3,"file":"ButtonIcon.mjs","names":["VisuallyHidden"],"sources":["../../../../src/components/buttons/button-icon/ButtonIcon.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n buttonIcon,\n buttonIconIcon,\n buttonIconIconRaw,\n buttonIconIconRawRoot,\n buttonIconRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { ActionIcon } from '@mantine/core';\nimport { IconRaw } from '@/components/data-display';\nimport { VisuallyHidden } from '@/components/misc';\n\nexport type ButtonIconProps = ComponentPropsWithoutRef<'button'> & {\n name: string;\n path: string;\n label: string;\n classNames?: {\n buttonIcon?: string;\n root?: string;\n icon?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n};\n\nexport const ButtonIcon = ({\n label,\n name,\n path,\n classNames,\n ...props\n}: ButtonIconProps) => {\n return (\n <ActionIcon\n classNames={{\n root: cx(\n classNames?.buttonIcon ?? buttonIcon(),\n classNames?.root ?? buttonIconRoot(),\n ),\n icon: classNames?.icon ?? buttonIconIcon(),\n }}\n {...props}\n >\n <IconRaw\n path={path}\n name={name}\n classNames={{\n iconRaw: classNames?.iconRaw?.iconRaw ?? buttonIconIconRaw(),\n root: classNames?.iconRaw?.root ?? buttonIconIconRawRoot(),\n }}\n />\n <VisuallyHidden>{label}</VisuallyHidden>\n </ActionIcon>\n );\n};\n"],"mappings":"0bA6BA,MAAa,GAAc,CACzB,QACA,OACA,OACA,aACA,GAAG,KAGD,EAAC,EAAD,CACE,WAAY,CACV,KAAM,EACJ,GAAY,YAAc,GAAY,CACtC,GAAY,MAAQ,GAAgB,CACrC,CACD,KAAM,GAAY,MAAQ,GAAgB,CAC3C,CACD,GAAI,WARN,CAUE,EAAC,EAAD,CACQ,OACA,OACN,WAAY,CACV,QAAS,GAAY,SAAS,SAAW,GAAmB,CAC5D,KAAM,GAAY,SAAS,MAAQ,GAAuB,CAC3D,CACD,CAAA,CACF,EAACA,EAAD,CAAA,SAAiB,EAAuB,CAAA,CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonIconVisual.mjs","names":["VisuallyHidden"],"sources":["../../../../src/components/buttons/button-icon-visual/ButtonIconVisual.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n buttonIconVisual,\n buttonIconVisualIcon,\n buttonIconVisualIconRaw,\n buttonIconVisualIconRawRoot,\n buttonIconVisualRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { ActionIcon } from '@mantine/core';\nimport { IconRaw } from '@/components/data-display';\nimport { VisuallyHidden } from '@/components/misc';\n\nexport type ButtonIconVisualProps = ComponentProps<'button'> & {\n classNames?: {\n buttonIconVisual?: string;\n root?: string;\n icon?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n name: string;\n label: string;\n path: string;\n};\n\nexport const ButtonIconVisual = ({\n classNames,\n label,\n name,\n path,\n disabled,\n}: ButtonIconVisualProps) => {\n return (\n <ActionIcon\n classNames={{\n root: cx(\n classNames?.buttonIconVisual ?? buttonIconVisual(),\n classNames?.root ?? buttonIconVisualRoot(),\n ),\n icon: classNames?.icon ?? buttonIconVisualIcon(),\n }}\n component='span'\n data-disabled={disabled}\n >\n <IconRaw\n path={path}\n name={name}\n classNames={{\n iconRaw: classNames?.iconRaw?.iconRaw ?? buttonIconVisualIconRaw(),\n root: classNames?.iconRaw?.root ?? buttonIconVisualIconRawRoot(),\n }}\n />\n <VisuallyHidden>{label}</VisuallyHidden>\n </ActionIcon>\n );\n};\n"],"mappings":"wdA6BA,MAAa,GAAoB,CAC/B,aACA,QACA,OACA,OACA,cAGE,EAAC,
|
|
1
|
+
{"version":3,"file":"ButtonIconVisual.mjs","names":["VisuallyHidden"],"sources":["../../../../src/components/buttons/button-icon-visual/ButtonIconVisual.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n buttonIconVisual,\n buttonIconVisualIcon,\n buttonIconVisualIconRaw,\n buttonIconVisualIconRawRoot,\n buttonIconVisualRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { ActionIcon } from '@mantine/core';\nimport { IconRaw } from '@/components/data-display';\nimport { VisuallyHidden } from '@/components/misc';\n\nexport type ButtonIconVisualProps = ComponentProps<'button'> & {\n classNames?: {\n buttonIconVisual?: string;\n root?: string;\n icon?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n name: string;\n label: string;\n path: string;\n};\n\nexport const ButtonIconVisual = ({\n classNames,\n label,\n name,\n path,\n disabled,\n}: ButtonIconVisualProps) => {\n return (\n <ActionIcon\n classNames={{\n root: cx(\n classNames?.buttonIconVisual ?? buttonIconVisual(),\n classNames?.root ?? buttonIconVisualRoot(),\n ),\n icon: classNames?.icon ?? buttonIconVisualIcon(),\n }}\n component='span'\n data-disabled={disabled}\n >\n <IconRaw\n path={path}\n name={name}\n classNames={{\n iconRaw: classNames?.iconRaw?.iconRaw ?? buttonIconVisualIconRaw(),\n root: classNames?.iconRaw?.root ?? buttonIconVisualIconRawRoot(),\n }}\n />\n <VisuallyHidden>{label}</VisuallyHidden>\n </ActionIcon>\n );\n};\n"],"mappings":"wdA6BA,MAAa,GAAoB,CAC/B,aACA,QACA,OACA,OACA,cAGE,EAAC,EAAD,CACE,WAAY,CACV,KAAM,EACJ,GAAY,kBAAoB,GAAkB,CAClD,GAAY,MAAQ,GAAsB,CAC3C,CACD,KAAM,GAAY,MAAQ,GAAsB,CACjD,CACD,UAAU,OACV,gBAAe,WATjB,CAWE,EAAC,EAAD,CACQ,OACA,OACN,WAAY,CACV,QAAS,GAAY,SAAS,SAAW,GAAyB,CAClE,KAAM,GAAY,SAAS,MAAQ,GAA6B,CACjE,CACD,CAAA,CACF,EAACA,EAAD,CAAA,SAAiB,EAAuB,CAAA,CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonVisual.mjs","names":["MantineButton"],"sources":["../../../../src/components/buttons/button-visual/ButtonVisual.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n buttonVisual,\n buttonVisualInner,\n buttonVisualLabel,\n buttonVisualRoot,\n buttonVisualSection,\n} from '@mage-ui/styled-system/recipes';\nimport { Button as MantineButton } from '@mantine/core';\n\nexport type ButtonVisualProps = {\n classNames?: {\n button?: string;\n root?: string;\n inner?: string;\n label?: string;\n section?: string;\n };\n startSlot?: ReactNode;\n endSlot?: ReactNode;\n disabled?: boolean;\n children?: ReactNode;\n};\n\nexport const ButtonVisual = ({\n classNames,\n startSlot,\n endSlot,\n children,\n disabled,\n}: ButtonVisualProps) => {\n return (\n <MantineButton\n classNames={{\n root: cx(\n classNames?.button ?? buttonVisual(),\n classNames?.root ?? buttonVisualRoot(),\n ),\n inner: classNames?.inner ?? buttonVisualInner(),\n label: classNames?.label ?? buttonVisualLabel(),\n section: classNames?.section ?? buttonVisualSection(),\n }}\n leftSection={startSlot}\n rightSection={endSlot}\n data-disabled={disabled}\n component='span'\n >\n {children}\n </MantineButton>\n );\n};\n"],"mappings":"0RA0BA,MAAa,GAAgB,CAC3B,aACA,YACA,UACA,WACA,cAGE,EAACA,
|
|
1
|
+
{"version":3,"file":"ButtonVisual.mjs","names":["MantineButton"],"sources":["../../../../src/components/buttons/button-visual/ButtonVisual.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n buttonVisual,\n buttonVisualInner,\n buttonVisualLabel,\n buttonVisualRoot,\n buttonVisualSection,\n} from '@mage-ui/styled-system/recipes';\nimport { Button as MantineButton } from '@mantine/core';\n\nexport type ButtonVisualProps = {\n classNames?: {\n button?: string;\n root?: string;\n inner?: string;\n label?: string;\n section?: string;\n };\n startSlot?: ReactNode;\n endSlot?: ReactNode;\n disabled?: boolean;\n children?: ReactNode;\n};\n\nexport const ButtonVisual = ({\n classNames,\n startSlot,\n endSlot,\n children,\n disabled,\n}: ButtonVisualProps) => {\n return (\n <MantineButton\n classNames={{\n root: cx(\n classNames?.button ?? buttonVisual(),\n classNames?.root ?? buttonVisualRoot(),\n ),\n inner: classNames?.inner ?? buttonVisualInner(),\n label: classNames?.label ?? buttonVisualLabel(),\n section: classNames?.section ?? buttonVisualSection(),\n }}\n leftSection={startSlot}\n rightSection={endSlot}\n data-disabled={disabled}\n component='span'\n >\n {children}\n </MantineButton>\n );\n};\n"],"mappings":"0RA0BA,MAAa,GAAgB,CAC3B,aACA,YACA,UACA,WACA,cAGE,EAACA,EAAD,CACE,WAAY,CACV,KAAM,EACJ,GAAY,QAAU,GAAc,CACpC,GAAY,MAAQ,GAAkB,CACvC,CACD,MAAO,GAAY,OAAS,GAAmB,CAC/C,MAAO,GAAY,OAAS,GAAmB,CAC/C,QAAS,GAAY,SAAW,GAAqB,CACtD,CACD,YAAa,EACb,aAAc,EACd,gBAAe,EACf,UAAU,OAET,WACa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarUpload.d.mts","names":[],"sources":["../../../../src/components/controls/avatar-upload/AvatarUpload.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AvatarUpload.d.mts","names":[],"sources":["../../../../src/components/controls/avatar-upload/AvatarUpload.tsx"],"mappings":";;;;;KAgBY,iBAAA;EACV,GAAA;EACA,QAAA,IAAY,IAAA,EAAM,IAAA;EAClB,KAAA;IACE,MAAA,GAAS,SAAA;IACT,IAAA,GAAO,SAAA;EAAA;EAET,SAAA;EACA,OAAA;EACA,IAAA;EACA,aAAA;EACA,UAAA;IACE,YAAA;IACA,IAAA;IACA,MAAA;IACA,KAAA;IACA,OAAA;IACA,QAAA;IACA,IAAA,GAAO,SAAA;IACP,KAAA;EAAA;AAAA;AAAA,cAIS,YAAA;EAAgB,GAAA,EAAA,OAAA;EAAA,QAAA;EAAA,KAAA;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,aAAA;EAAA;AAAA,GAY1B,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarUpload.mjs","names":[],"sources":["../../../../src/components/controls/avatar-upload/AvatarUpload.tsx"],"sourcesContent":["import { type ChangeEvent, type ReactNode, useState } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { visuallyHidden } from '@mage-ui/styled-system/patterns';\nimport {\n avatarUpload,\n avatarUploadAvatar,\n avatarUploadIcon,\n avatarUploadIconSlot,\n avatarUploadImage,\n avatarUploadOverlay,\n avatarUploadRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { Icon, type IconProps } from '@/components/data-display';\nimport { Tooltip } from '@/components/overlays';\n\nexport type AvatarUploadProps = {\n src?: string;\n onChange?: (file: File) => void;\n label?: {\n upload?: ReactNode;\n edit?: ReactNode;\n };\n avatarAlt?: string;\n inputId?: string;\n name?: string;\n tooltipOffset?: number;\n classNames?: {\n avatarUpload?: string;\n root?: string;\n avatar?: string;\n image?: string;\n overlay?: string;\n iconSlot?: string;\n icon?: IconProps['classNames'];\n label?: string;\n };\n};\n\nexport const AvatarUpload = ({\n src: initSrc,\n onChange,\n label = {\n upload: 'Upload',\n edit: 'Edit',\n },\n avatarAlt = 'Avatar',\n inputId,\n name,\n tooltipOffset = 0,\n classNames,\n}: AvatarUploadProps) => {\n const [previewSrc, setPreviewSrc] = useState<string | undefined>(undefined);\n\n const avatarSrc = previewSrc ?? initSrc;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const file = event.target.files?.[0];\n if (file) {\n const reader = new FileReader();\n reader.onload = () => setPreviewSrc(reader.result as string);\n reader.readAsDataURL(file);\n onChange?.(file);\n }\n };\n\n return (\n <label\n htmlFor={inputId}\n data-has-image={avatarSrc ? true : undefined}\n className={cx(\n classNames?.avatarUpload ?? avatarUpload(),\n classNames?.root ?? avatarUploadRoot(),\n 'group',\n )}\n >\n <Tooltip\n label={avatarSrc ? label?.edit : label?.upload}\n withArrow\n offset={tooltipOffset}\n >\n <div className={classNames?.avatar ?? avatarUploadAvatar()}>\n {avatarSrc && (\n <img\n src={avatarSrc}\n alt={avatarAlt}\n className={classNames?.image ?? avatarUploadImage()}\n />\n )}\n <div className={classNames?.overlay ?? avatarUploadOverlay()} />\n <div className={classNames?.iconSlot ?? avatarUploadIconSlot()}>\n <Icon\n name='avatar-upload-edit-04'\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.icon?.icon ?? avatarUploadIcon(),\n }}\n />\n </div>\n\n <input\n id={inputId}\n type='file'\n accept='image/*'\n className={visuallyHidden()}\n onChange={handleChange}\n name={name}\n />\n </div>\n </Tooltip>\n </label>\n );\n};\n"],"mappings":"2gBAuCA,MAAa,GAAgB,CAC3B,IAAK,EACL,WACA,QAAQ,CACN,OAAQ,SACR,KAAM,OACP,CACD,YAAY,SACZ,UACA,OACA,gBAAgB,EAChB,gBACuB,CACvB,GAAM,CAAC,EAAY,GAAiB,EAA6B,IAAA,GAAU,CAErE,EAAY,GAAc,EAE1B,EAAgB,GAAyC,CAC7D,IAAM,EAAO,EAAM,OAAO,QAAQ,GAClC,GAAI,EAAM,CACR,IAAM,EAAS,IAAI,WACnB,EAAO,WAAe,EAAc,EAAO,OAAiB,CAC5D,EAAO,cAAc,EAAK,CAC1B,IAAW,EAAK,GAIpB,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"AvatarUpload.mjs","names":[],"sources":["../../../../src/components/controls/avatar-upload/AvatarUpload.tsx"],"sourcesContent":["import { type ChangeEvent, type ReactNode, useState } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { visuallyHidden } from '@mage-ui/styled-system/patterns';\nimport {\n avatarUpload,\n avatarUploadAvatar,\n avatarUploadIcon,\n avatarUploadIconSlot,\n avatarUploadImage,\n avatarUploadOverlay,\n avatarUploadRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { Icon, type IconProps } from '@/components/data-display';\nimport { Tooltip } from '@/components/overlays';\n\nexport type AvatarUploadProps = {\n src?: string;\n onChange?: (file: File) => void;\n label?: {\n upload?: ReactNode;\n edit?: ReactNode;\n };\n avatarAlt?: string;\n inputId?: string;\n name?: string;\n tooltipOffset?: number;\n classNames?: {\n avatarUpload?: string;\n root?: string;\n avatar?: string;\n image?: string;\n overlay?: string;\n iconSlot?: string;\n icon?: IconProps['classNames'];\n label?: string;\n };\n};\n\nexport const AvatarUpload = ({\n src: initSrc,\n onChange,\n label = {\n upload: 'Upload',\n edit: 'Edit',\n },\n avatarAlt = 'Avatar',\n inputId,\n name,\n tooltipOffset = 0,\n classNames,\n}: AvatarUploadProps) => {\n const [previewSrc, setPreviewSrc] = useState<string | undefined>(undefined);\n\n const avatarSrc = previewSrc ?? initSrc;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const file = event.target.files?.[0];\n if (file) {\n const reader = new FileReader();\n reader.onload = () => setPreviewSrc(reader.result as string);\n reader.readAsDataURL(file);\n onChange?.(file);\n }\n };\n\n return (\n <label\n htmlFor={inputId}\n data-has-image={avatarSrc ? true : undefined}\n className={cx(\n classNames?.avatarUpload ?? avatarUpload(),\n classNames?.root ?? avatarUploadRoot(),\n 'group',\n )}\n >\n <Tooltip\n label={avatarSrc ? label?.edit : label?.upload}\n withArrow\n offset={tooltipOffset}\n >\n <div className={classNames?.avatar ?? avatarUploadAvatar()}>\n {avatarSrc && (\n <img\n src={avatarSrc}\n alt={avatarAlt}\n className={classNames?.image ?? avatarUploadImage()}\n />\n )}\n <div className={classNames?.overlay ?? avatarUploadOverlay()} />\n <div className={classNames?.iconSlot ?? avatarUploadIconSlot()}>\n <Icon\n name='avatar-upload-edit-04'\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.icon?.icon ?? avatarUploadIcon(),\n }}\n />\n </div>\n\n <input\n id={inputId}\n type='file'\n accept='image/*'\n className={visuallyHidden()}\n onChange={handleChange}\n name={name}\n />\n </div>\n </Tooltip>\n </label>\n );\n};\n"],"mappings":"2gBAuCA,MAAa,GAAgB,CAC3B,IAAK,EACL,WACA,QAAQ,CACN,OAAQ,SACR,KAAM,OACP,CACD,YAAY,SACZ,UACA,OACA,gBAAgB,EAChB,gBACuB,CACvB,GAAM,CAAC,EAAY,GAAiB,EAA6B,IAAA,GAAU,CAErE,EAAY,GAAc,EAE1B,EAAgB,GAAyC,CAC7D,IAAM,EAAO,EAAM,OAAO,QAAQ,GAClC,GAAI,EAAM,CACR,IAAM,EAAS,IAAI,WACnB,EAAO,WAAe,EAAc,EAAO,OAAiB,CAC5D,EAAO,cAAc,EAAK,CAC1B,IAAW,EAAK,GAIpB,OACE,EAAC,QAAD,CACE,QAAS,EACT,iBAAgB,EAAY,GAAO,IAAA,GACnC,UAAW,EACT,GAAY,cAAgB,GAAc,CAC1C,GAAY,MAAQ,GAAkB,CACtC,QACD,UAED,EAAC,EAAD,CACE,MAAO,EAAY,GAAO,KAAO,GAAO,OACxC,UAAA,GACA,OAAQ,WAER,EAAC,MAAD,CAAK,UAAW,GAAY,QAAU,GAAoB,UAA1D,CACG,GACC,EAAC,MAAD,CACE,IAAK,EACL,IAAK,EACL,UAAW,GAAY,OAAS,GAAmB,CACnD,CAAA,CAEJ,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAAqB,CAAI,CAAA,CAChE,EAAC,MAAD,CAAK,UAAW,GAAY,UAAY,GAAsB,UAC5D,EAAC,EAAD,CACE,KAAK,wBACL,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,MAAM,MAAQ,GAAkB,CACnD,CACD,CAAA,CACE,CAAA,CAEN,EAAC,QAAD,CACE,GAAI,EACJ,KAAK,OACL,OAAO,UACP,UAAW,GAAgB,CAC3B,SAAU,EACJ,OACN,CAAA,CACE,GACE,CAAA,CACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.mjs","names":["Checkbox","MantineCheckbox"],"sources":["../../../../src/components/controls/checkbox/Checkbox.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { visuallyHidden } from '@mage-ui/styled-system/patterns';\nimport {\n checkbox,\n checkboxBody,\n checkboxBodyError,\n checkboxDescription,\n checkboxError,\n checkboxIcon,\n checkboxInner,\n checkboxInput,\n checkboxLabel,\n checkboxLabelRequired,\n checkboxLabelWrapper,\n checkboxRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { Checkbox as MantineCheckbox } from '@mantine/core';\n\nimport { CheckboxGroup } from '../checkbox-group/CheckboxGroup';\n\nexport type CheckboxProps = Omit<\n ComponentProps<'input'>,\n 'size' | 'children'\n> & {\n indeterminate?: boolean;\n label?: ReactNode;\n error?: string;\n classNames?: {\n checkbox?: string;\n root?: string;\n input?: string;\n icon?: string;\n inner?: string;\n body?: string;\n bodyError?: string;\n labelWrapper?: string;\n labelRequired?: string;\n label?: string;\n description?: string;\n error?: string;\n };\n hiddenLabel?: boolean;\n};\n\nexport const Checkbox = ({\n classNames,\n label,\n hiddenLabel,\n error,\n required,\n ...props\n}: CheckboxProps): ReactNode => {\n const RequiredAsterisk = () =>\n required ? (\n <span className={classNames?.labelRequired ?? checkboxLabelRequired()}>\n {' '}\n *\n </span>\n ) : null;\n\n return (\n <MantineCheckbox\n classNames={{\n root: cx(\n classNames?.checkbox ?? checkbox(),\n classNames?.root ?? checkboxRoot(),\n ),\n input: cx(classNames?.input ?? checkboxInput(), 'peer'),\n icon: classNames?.icon ?? checkboxIcon(),\n inner: classNames?.inner ?? checkboxInner(),\n body: cx(\n classNames?.body ?? checkboxBody(),\n error && (classNames?.bodyError ?? checkboxBodyError()),\n ),\n labelWrapper: classNames?.labelWrapper ?? checkboxLabelWrapper(),\n label: cx(\n classNames?.label ?? checkboxLabel(),\n hiddenLabel && visuallyHidden(),\n ),\n description: classNames?.description ?? checkboxDescription(),\n error: classNames?.error ?? checkboxError(),\n }}\n label={\n <>\n {label}\n <RequiredAsterisk />\n </>\n }\n {...props}\n />\n );\n};\n\nCheckbox.displayName = 'Checkbox';\nCheckbox.Group = CheckboxGroup;\n"],"mappings":"+jBA8CA,MAAaA,GAAY,CACvB,aACA,QACA,cACA,QACA,WACA,GAAG,KAWD,EAACC,
|
|
1
|
+
{"version":3,"file":"Checkbox.mjs","names":["Checkbox","MantineCheckbox"],"sources":["../../../../src/components/controls/checkbox/Checkbox.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { visuallyHidden } from '@mage-ui/styled-system/patterns';\nimport {\n checkbox,\n checkboxBody,\n checkboxBodyError,\n checkboxDescription,\n checkboxError,\n checkboxIcon,\n checkboxInner,\n checkboxInput,\n checkboxLabel,\n checkboxLabelRequired,\n checkboxLabelWrapper,\n checkboxRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { Checkbox as MantineCheckbox } from '@mantine/core';\n\nimport { CheckboxGroup } from '../checkbox-group/CheckboxGroup';\n\nexport type CheckboxProps = Omit<\n ComponentProps<'input'>,\n 'size' | 'children'\n> & {\n indeterminate?: boolean;\n label?: ReactNode;\n error?: string;\n classNames?: {\n checkbox?: string;\n root?: string;\n input?: string;\n icon?: string;\n inner?: string;\n body?: string;\n bodyError?: string;\n labelWrapper?: string;\n labelRequired?: string;\n label?: string;\n description?: string;\n error?: string;\n };\n hiddenLabel?: boolean;\n};\n\nexport const Checkbox = ({\n classNames,\n label,\n hiddenLabel,\n error,\n required,\n ...props\n}: CheckboxProps): ReactNode => {\n const RequiredAsterisk = () =>\n required ? (\n <span className={classNames?.labelRequired ?? checkboxLabelRequired()}>\n {' '}\n *\n </span>\n ) : null;\n\n return (\n <MantineCheckbox\n classNames={{\n root: cx(\n classNames?.checkbox ?? checkbox(),\n classNames?.root ?? checkboxRoot(),\n ),\n input: cx(classNames?.input ?? checkboxInput(), 'peer'),\n icon: classNames?.icon ?? checkboxIcon(),\n inner: classNames?.inner ?? checkboxInner(),\n body: cx(\n classNames?.body ?? checkboxBody(),\n error && (classNames?.bodyError ?? checkboxBodyError()),\n ),\n labelWrapper: classNames?.labelWrapper ?? checkboxLabelWrapper(),\n label: cx(\n classNames?.label ?? checkboxLabel(),\n hiddenLabel && visuallyHidden(),\n ),\n description: classNames?.description ?? checkboxDescription(),\n error: classNames?.error ?? checkboxError(),\n }}\n label={\n <>\n {label}\n <RequiredAsterisk />\n </>\n }\n {...props}\n />\n );\n};\n\nCheckbox.displayName = 'Checkbox';\nCheckbox.Group = CheckboxGroup;\n"],"mappings":"+jBA8CA,MAAaA,GAAY,CACvB,aACA,QACA,cACA,QACA,WACA,GAAG,KAWD,EAACC,EAAD,CACE,WAAY,CACV,KAAM,EACJ,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CACnC,CACD,MAAO,EAAG,GAAY,OAAS,GAAe,CAAE,OAAO,CACvD,KAAM,GAAY,MAAQ,GAAc,CACxC,MAAO,GAAY,OAAS,GAAe,CAC3C,KAAM,EACJ,GAAY,MAAQ,GAAc,CAClC,IAAU,GAAY,WAAa,GAAmB,EACvD,CACD,aAAc,GAAY,cAAgB,GAAsB,CAChE,MAAO,EACL,GAAY,OAAS,GAAe,CACpC,GAAe,GAAgB,CAChC,CACD,YAAa,GAAY,aAAe,GAAqB,CAC7D,MAAO,GAAY,OAAS,GAAe,CAC5C,CACD,MACE,EAAA,EAAA,CAAA,SAAA,CACG,EACD,MAhCN,EACE,EAAC,OAAD,CAAM,UAAW,GAAY,eAAiB,GAAuB,UAArE,CACG,IAAI,IAEA,GACL,KA2BE,EAAoB,CAAA,CACnB,CAAA,CAAA,CAEL,GAAI,EACJ,CAAA,CAIN,EAAS,YAAc,WACvB,EAAS,MAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroup.mjs","names":["CheckboxMantine"],"sources":["../../../../src/components/controls/checkbox-group/CheckboxGroup.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n checkboxGroup,\n checkboxGroupDescription,\n checkboxGroupError,\n checkboxGroupGroup,\n checkboxGroupLabel,\n checkboxGroupRequired,\n checkboxGroupRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { Checkbox as CheckboxMantine } from '@mantine/core';\n\nexport type CheckboxGroupProps = {\n label?: ReactNode;\n error?: ReactNode;\n description?: ReactNode;\n children?: ReactNode;\n value?: string[];\n onChange?: (value: string[]) => void;\n withAsterisk?: boolean;\n required?: boolean;\n disabled?: boolean;\n classNames?: {\n checkboxGroup?: string;\n root?: string;\n label?: string;\n required?: string;\n description?: string;\n error?: string;\n list?: string;\n };\n};\n\nexport const CheckboxGroup = ({\n label,\n error,\n description,\n children,\n value,\n onChange,\n withAsterisk,\n required,\n disabled,\n classNames,\n}: CheckboxGroupProps): ReactNode => {\n return (\n <CheckboxMantine.Group\n classNames={{\n root: cx(\n classNames?.checkboxGroup ?? checkboxGroup(),\n classNames?.root ?? checkboxGroupRoot(),\n ),\n label: classNames?.label ?? checkboxGroupLabel(),\n required: classNames?.required ?? checkboxGroupRequired(),\n description: classNames?.description ?? checkboxGroupDescription(),\n error: classNames?.error ?? checkboxGroupError(),\n }}\n label={label}\n description={description}\n error={error}\n value={value}\n onChange={onChange}\n disabled={disabled}\n required={required}\n withAsterisk={withAsterisk}\n >\n <div className={classNames?.list ?? checkboxGroupGroup()}>{children}</div>\n </CheckboxMantine.Group>\n );\n};\n\nCheckboxGroup.displayName = 'Checkbox.Group';\n"],"mappings":"wVAmCA,MAAa,GAAiB,CAC5B,QACA,QACA,cACA,WACA,QACA,WACA,eACA,WACA,WACA,gBAGE,EAACA,EAAgB,
|
|
1
|
+
{"version":3,"file":"CheckboxGroup.mjs","names":["CheckboxMantine"],"sources":["../../../../src/components/controls/checkbox-group/CheckboxGroup.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n checkboxGroup,\n checkboxGroupDescription,\n checkboxGroupError,\n checkboxGroupGroup,\n checkboxGroupLabel,\n checkboxGroupRequired,\n checkboxGroupRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { Checkbox as CheckboxMantine } from '@mantine/core';\n\nexport type CheckboxGroupProps = {\n label?: ReactNode;\n error?: ReactNode;\n description?: ReactNode;\n children?: ReactNode;\n value?: string[];\n onChange?: (value: string[]) => void;\n withAsterisk?: boolean;\n required?: boolean;\n disabled?: boolean;\n classNames?: {\n checkboxGroup?: string;\n root?: string;\n label?: string;\n required?: string;\n description?: string;\n error?: string;\n list?: string;\n };\n};\n\nexport const CheckboxGroup = ({\n label,\n error,\n description,\n children,\n value,\n onChange,\n withAsterisk,\n required,\n disabled,\n classNames,\n}: CheckboxGroupProps): ReactNode => {\n return (\n <CheckboxMantine.Group\n classNames={{\n root: cx(\n classNames?.checkboxGroup ?? checkboxGroup(),\n classNames?.root ?? checkboxGroupRoot(),\n ),\n label: classNames?.label ?? checkboxGroupLabel(),\n required: classNames?.required ?? checkboxGroupRequired(),\n description: classNames?.description ?? checkboxGroupDescription(),\n error: classNames?.error ?? checkboxGroupError(),\n }}\n label={label}\n description={description}\n error={error}\n value={value}\n onChange={onChange}\n disabled={disabled}\n required={required}\n withAsterisk={withAsterisk}\n >\n <div className={classNames?.list ?? checkboxGroupGroup()}>{children}</div>\n </CheckboxMantine.Group>\n );\n};\n\nCheckboxGroup.displayName = 'Checkbox.Group';\n"],"mappings":"wVAmCA,MAAa,GAAiB,CAC5B,QACA,QACA,cACA,WACA,QACA,WACA,eACA,WACA,WACA,gBAGE,EAACA,EAAgB,MAAjB,CACE,WAAY,CACV,KAAM,EACJ,GAAY,eAAiB,GAAe,CAC5C,GAAY,MAAQ,GAAmB,CACxC,CACD,MAAO,GAAY,OAAS,GAAoB,CAChD,SAAU,GAAY,UAAY,GAAuB,CACzD,YAAa,GAAY,aAAe,GAA0B,CAClE,MAAO,GAAY,OAAS,GAAoB,CACjD,CACM,QACM,cACN,QACA,QACG,WACA,WACA,WACI,wBAEd,EAAC,MAAD,CAAK,UAAW,GAAY,MAAQ,GAAoB,CAAG,WAAe,CAAA,CACpD,CAAA,CAI5B,EAAc,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.mjs","names":[],"sources":["../../../../src/components/controls/date-picker/DatePicker.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n datePicker,\n datePickerArrow,\n datePickerButtonIcon,\n datePickerButtonIconRoot,\n datePickerCalendarHeader,\n datePickerCalendarHeaderControl,\n datePickerCalendarHeaderControlIcon,\n datePickerCalendarHeaderLevel,\n datePickerDatePickerRoot,\n datePickerDay,\n datePickerDescription,\n datePickerDropdown,\n datePickerError,\n datePickerIconIcon,\n datePickerIconIconRaw,\n datePickerIconIconRawRoot,\n datePickerIconRoot,\n datePickerInput,\n datePickerLabel,\n datePickerLevelsGroup,\n datePickerMonth,\n datePickerMonthCell,\n datePickerMonthRow,\n datePickerMonthsList,\n datePickerMonthsListCell,\n datePickerMonthsListControl,\n datePickerMonthsListRow,\n datePickerMonthTbody,\n datePickerMonthThead,\n datePickerOverlay,\n datePickerPlaceholder,\n datePickerPresetButton,\n datePickerPresetsList,\n datePickerRequired,\n datePickerRoot,\n datePickerSection,\n datePickerWeekday,\n datePickerWeekdaysRow,\n datePickerWeekNumber,\n datePickerWrapper,\n datePickerYearsList,\n datePickerYearsListCell,\n datePickerYearsListControl,\n datePickerYearsListRow,\n} from '@mage-ui/styled-system/recipes';\nimport { DatePickerInput, type DateValue } from '@mantine/dates';\nimport { Icon, type IconProps } from '@/components/data-display';\n\nexport type DatePickerProps = Omit<\n ComponentProps<'input'>,\n 'size' | 'value' | 'onChange'\n> & {\n label?: ReactNode;\n description?: ReactNode;\n error?: ReactNode;\n classNames?: DatePickerClassNames;\n value?: DateValue;\n onChange?: (date: Date | string | null) => void;\n locale?: string;\n valueFormat?: string;\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n minDate?: Date;\n maxDate?: Date;\n clearable?: boolean;\n};\n\nexport const DatePicker = ({\n classNames,\n name,\n label,\n placeholder,\n description,\n error,\n required,\n value,\n onChange,\n locale,\n valueFormat,\n firstDayOfWeek,\n minDate,\n maxDate,\n clearable,\n}: DatePickerProps): ReactNode => {\n return (\n <DatePickerInput\n name={name}\n label={label}\n placeholder={placeholder}\n description={description}\n error={error}\n withAsterisk={required}\n value={value}\n onChange={onChange}\n locale={locale}\n valueFormat={valueFormat}\n firstDayOfWeek={firstDayOfWeek}\n minDate={minDate}\n maxDate={maxDate}\n clearable={clearable}\n classNames={datePickerClassNames(classNames)}\n popoverProps={{\n classNames: popoverClassNames(classNames),\n }}\n leftSection={\n <Icon\n path='/icons/sprite-mage.svg'\n name='mage-date-picker-calendar'\n classNames={iconClassNames(classNames)}\n />\n }\n clearButtonProps={{\n className: buttonIconClassNames(),\n }}\n />\n );\n};\n\ntype DatePickerClassNames = InputClassNamesType &\n CalendarClassNamesType &\n CalendarHeaderClassNamesType &\n CalendarDayClassNamesType &\n CalendarWeekClassNamesType &\n CalendarMonthClassNamesType &\n CalendarMonthsListClassNamesType &\n CalendarYearsListClassNamesType &\n PopoverClassNamesType;\n\ntype InputClassNamesType = {\n datePicker?: string;\n root?: string;\n wrapper?: string;\n input?: string;\n label?: string;\n error?: string;\n description?: string;\n placeholder?: string;\n section?: string;\n required?: string;\n datePickerRoot?: string;\n};\n\nconst inputClassNames = (classNames?: InputClassNamesType) => {\n return {\n root: cx(\n classNames?.datePicker ?? datePicker(),\n classNames?.root ?? datePickerRoot(),\n ),\n wrapper: classNames?.wrapper ?? datePickerWrapper(),\n input: cx(classNames?.input ?? datePickerInput(), 'peer'),\n label: classNames?.label ?? datePickerLabel(),\n error: classNames?.error ?? datePickerError(),\n description: classNames?.description ?? datePickerDescription(),\n placeholder: classNames?.placeholder ?? datePickerPlaceholder(),\n section: cx(classNames?.section ?? datePickerSection(), 'group'),\n required: classNames?.required ?? datePickerRequired(),\n datePickerRoot: classNames?.datePickerRoot ?? datePickerDatePickerRoot(),\n };\n};\n\ntype IconClassNamesType = IconProps['classNames'];\n\nconst iconClassNames = (classNames?: IconClassNamesType) => {\n return {\n icon: classNames?.icon ?? datePickerIconIcon(),\n root: classNames?.root ?? datePickerIconRoot(),\n iconRaw: {\n iconRaw: classNames?.iconRaw?.iconRaw ?? datePickerIconIconRaw(),\n root: classNames?.iconRaw?.root ?? datePickerIconIconRawRoot(),\n },\n };\n};\n\ntype ButtonIconClassNamesType = {\n buttonIcon?: string;\n buttonIconRoot?: string;\n};\n\nconst buttonIconClassNames = (classNames?: ButtonIconClassNamesType) => {\n return cx(\n classNames?.buttonIcon ?? datePickerButtonIcon(),\n classNames?.buttonIconRoot ?? datePickerButtonIconRoot(),\n );\n};\n\ntype CalendarHeaderClassNamesType = {\n calendarHeaderControl?: string;\n calendarHeader?: string;\n calendarHeaderLevel?: string;\n calendarHeaderControlIcon?: string;\n};\n\nconst calendarHeaderClassNames = (\n classNames?: CalendarHeaderClassNamesType,\n) => {\n return {\n calendarHeader: classNames?.calendarHeader ?? datePickerCalendarHeader(),\n calendarHeaderControl:\n classNames?.calendarHeaderControl ?? datePickerCalendarHeaderControl(),\n calendarHeaderLevel:\n classNames?.calendarHeaderLevel ?? datePickerCalendarHeaderLevel(),\n calendarHeaderControlIcon:\n classNames?.calendarHeaderControlIcon ??\n datePickerCalendarHeaderControlIcon(),\n };\n};\n\ntype CalendarClassNamesType = {\n levelsGroup?: string;\n presetsList?: string;\n presetButton?: string;\n};\n\nconst calendarClassNames = (classNames?: CalendarClassNamesType) => {\n return {\n levelsGroup: classNames?.levelsGroup ?? datePickerLevelsGroup(),\n presetsList: classNames?.presetsList ?? datePickerPresetsList(),\n presetButton: classNames?.presetButton ?? datePickerPresetButton(),\n };\n};\n\ntype CalendarDayClassNamesType = {\n day?: string;\n};\n\nconst calendarDayClassNames = (classNames?: CalendarDayClassNamesType) => {\n return {\n day: classNames?.day ?? datePickerDay(),\n };\n};\n\ntype CalendarWeekClassNamesType = {\n weekDaysRow?: string;\n weekDay?: string;\n weekNumber?: string;\n};\n\nconst calendarWeekClassNames = (classNames?: CalendarWeekClassNamesType) => {\n return {\n weekdaysRow: classNames?.weekDaysRow ?? datePickerWeekdaysRow(),\n weekday: classNames?.weekDay ?? datePickerWeekday(),\n weekNumber: classNames?.weekNumber ?? datePickerWeekNumber(),\n };\n};\n\ntype CalendarMonthClassNamesType = {\n month?: string;\n monthRow?: string;\n monthCell?: string;\n monthThead?: string;\n monthTbody?: string;\n};\n\nconst calendarMonthClassNames = (classNames?: CalendarMonthClassNamesType) => {\n return {\n month: classNames?.month ?? datePickerMonth(),\n monthRow: classNames?.monthRow ?? datePickerMonthRow(),\n monthThead: classNames?.monthThead ?? datePickerMonthThead(),\n monthTbody: classNames?.monthTbody ?? datePickerMonthTbody(),\n monthCell: classNames?.monthCell ?? datePickerMonthCell(),\n };\n};\n\ntype CalendarMonthsListClassNamesType = {\n monthsList?: string;\n monthsListRow?: string;\n monthsListCell?: string;\n monthsListControl?: string;\n};\n\nconst calendarMonthsListClassNames = (\n classNames?: CalendarMonthsListClassNamesType,\n) => {\n return {\n monthsList: classNames?.monthsList ?? datePickerMonthsList(),\n monthsListRow: classNames?.monthsListRow ?? datePickerMonthsListRow(),\n monthsListCell: classNames?.monthsListCell ?? datePickerMonthsListCell(),\n monthsListControl:\n classNames?.monthsListControl ?? datePickerMonthsListControl(),\n };\n};\n\ntype CalendarYearsListClassNamesType = {\n yearsList?: string;\n yearsListRow?: string;\n yearsListCell?: string;\n yearsListControl?: string;\n};\n\nconst calendarYearsListClassNames = (\n classNames?: CalendarYearsListClassNamesType,\n) => {\n return {\n yearsList: classNames?.yearsList ?? datePickerYearsList(),\n yearsListRow: classNames?.yearsListRow ?? datePickerYearsListRow(),\n yearsListCell: classNames?.yearsListCell ?? datePickerYearsListCell(),\n yearsListControl:\n classNames?.yearsListControl ?? datePickerYearsListControl(),\n };\n};\n\ntype PopoverClassNamesType = {\n dropdown?: string;\n arrow?: string;\n overlay?: string;\n};\n\nconst popoverClassNames = (classNames?: PopoverClassNamesType) => {\n return {\n dropdown: classNames?.dropdown ?? datePickerDropdown(),\n arrow: classNames?.arrow ?? datePickerArrow(),\n overlay: classNames?.overlay ?? datePickerOverlay(),\n };\n};\n\nconst datePickerClassNames = (classNames?: DatePickerClassNames) => {\n return {\n ...inputClassNames(classNames),\n ...calendarClassNames(classNames),\n ...calendarHeaderClassNames(classNames),\n ...calendarDayClassNames(classNames),\n ...calendarWeekClassNames(classNames),\n ...calendarMonthClassNames(classNames),\n ...calendarMonthsListClassNames(classNames),\n ...calendarYearsListClassNames(classNames),\n };\n};\n"],"mappings":"y3CAsEA,MAAa,GAAc,CACzB,aACA,OACA,QACA,cACA,cACA,QACA,WACA,QACA,WACA,SACA,cACA,iBACA,UACA,UACA,eAGE,EAAC,EAAA,CACO,OACC,QACM,cACA,cACN,QACP,aAAc,EACP,QACG,WACF,SACK,cACG,iBACP,UACA,UACE,YACX,WAAY,GAAqB,EAAW,CAC5C,aAAc,CACZ,WAAY,GAAkB,EAAW,CAC1C,CACD,YACE,EAAC,EAAA,CACC,KAAK,yBACL,KAAK,4BACL,WAAY,EAAe,EAAW,EACtC,CAEJ,iBAAkB,CAChB,UAAW,GAAsB,CAClC,EACD,CA4BA,EAAmB,IAChB,CACL,KAAM,EACJ,GAAY,YAAc,GAAY,CACtC,GAAY,MAAQ,GAAgB,CACrC,CACD,QAAS,GAAY,SAAW,GAAmB,CACnD,MAAO,EAAG,GAAY,OAAS,GAAiB,CAAE,OAAO,CACzD,MAAO,GAAY,OAAS,GAAiB,CAC7C,MAAO,GAAY,OAAS,GAAiB,CAC7C,YAAa,GAAY,aAAe,GAAuB,CAC/D,YAAa,GAAY,aAAe,GAAuB,CAC/D,QAAS,EAAG,GAAY,SAAW,GAAmB,CAAE,QAAQ,CAChE,SAAU,GAAY,UAAY,GAAoB,CACtD,eAAgB,GAAY,gBAAkB,GAA0B,CACzE,EAKG,EAAkB,IACf,CACL,KAAM,GAAY,MAAQ,GAAoB,CAC9C,KAAM,GAAY,MAAQ,GAAoB,CAC9C,QAAS,CACP,QAAS,GAAY,SAAS,SAAW,GAAuB,CAChE,KAAM,GAAY,SAAS,MAAQ,GAA2B,CAC/D,CACF,EAQG,EAAwB,GACrB,EACL,GAAY,YAAc,GAAsB,CAChD,GAAY,gBAAkB,GAA0B,CACzD,CAUG,EACJ,IAEO,CACL,eAAgB,GAAY,gBAAkB,GAA0B,CACxE,sBACE,GAAY,uBAAyB,GAAiC,CACxE,oBACE,GAAY,qBAAuB,GAA+B,CACpE,0BACE,GAAY,2BACZ,GAAqC,CACxC,EASG,EAAsB,IACnB,CACL,YAAa,GAAY,aAAe,GAAuB,CAC/D,YAAa,GAAY,aAAe,GAAuB,CAC/D,aAAc,GAAY,cAAgB,GAAwB,CACnE,EAOG,EAAyB,IACtB,CACL,IAAK,GAAY,KAAO,GAAe,CACxC,EASG,GAA0B,IACvB,CACL,YAAa,GAAY,aAAe,GAAuB,CAC/D,QAAS,GAAY,SAAW,GAAmB,CACnD,WAAY,GAAY,YAAc,IAAsB,CAC7D,EAWG,GAA2B,IACxB,CACL,MAAO,GAAY,OAAS,GAAiB,CAC7C,SAAU,GAAY,UAAY,GAAoB,CACtD,WAAY,GAAY,YAAc,GAAsB,CAC5D,WAAY,GAAY,YAAc,GAAsB,CAC5D,UAAW,GAAY,WAAa,GAAqB,CAC1D,EAUG,GACJ,IAEO,CACL,WAAY,GAAY,YAAc,GAAsB,CAC5D,cAAe,GAAY,eAAiB,GAAyB,CACrE,eAAgB,GAAY,gBAAkB,GAA0B,CACxE,kBACE,GAAY,mBAAqB,GAA6B,CACjE,EAUG,GACJ,IAEO,CACL,UAAW,GAAY,WAAa,GAAqB,CACzD,aAAc,GAAY,cAAgB,GAAwB,CAClE,cAAe,GAAY,eAAiB,GAAyB,CACrE,iBACE,GAAY,kBAAoB,GAA4B,CAC/D,EASG,GAAqB,IAClB,CACL,SAAU,GAAY,UAAY,GAAoB,CACtD,MAAO,GAAY,OAAS,GAAiB,CAC7C,QAAS,GAAY,SAAW,GAAmB,CACpD,EAGG,GAAwB,IACrB,CACL,GAAG,EAAgB,EAAW,CAC9B,GAAG,EAAmB,EAAW,CACjC,GAAG,EAAyB,EAAW,CACvC,GAAG,EAAsB,EAAW,CACpC,GAAG,GAAuB,EAAW,CACrC,GAAG,GAAwB,EAAW,CACtC,GAAG,GAA6B,EAAW,CAC3C,GAAG,GAA4B,EAAW,CAC3C"}
|
|
1
|
+
{"version":3,"file":"DatePicker.mjs","names":[],"sources":["../../../../src/components/controls/date-picker/DatePicker.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n datePicker,\n datePickerArrow,\n datePickerButtonIcon,\n datePickerButtonIconRoot,\n datePickerCalendarHeader,\n datePickerCalendarHeaderControl,\n datePickerCalendarHeaderControlIcon,\n datePickerCalendarHeaderLevel,\n datePickerDatePickerRoot,\n datePickerDay,\n datePickerDescription,\n datePickerDropdown,\n datePickerError,\n datePickerIconIcon,\n datePickerIconIconRaw,\n datePickerIconIconRawRoot,\n datePickerIconRoot,\n datePickerInput,\n datePickerLabel,\n datePickerLevelsGroup,\n datePickerMonth,\n datePickerMonthCell,\n datePickerMonthRow,\n datePickerMonthsList,\n datePickerMonthsListCell,\n datePickerMonthsListControl,\n datePickerMonthsListRow,\n datePickerMonthTbody,\n datePickerMonthThead,\n datePickerOverlay,\n datePickerPlaceholder,\n datePickerPresetButton,\n datePickerPresetsList,\n datePickerRequired,\n datePickerRoot,\n datePickerSection,\n datePickerWeekday,\n datePickerWeekdaysRow,\n datePickerWeekNumber,\n datePickerWrapper,\n datePickerYearsList,\n datePickerYearsListCell,\n datePickerYearsListControl,\n datePickerYearsListRow,\n} from '@mage-ui/styled-system/recipes';\nimport { DatePickerInput, type DateValue } from '@mantine/dates';\nimport { Icon, type IconProps } from '@/components/data-display';\n\nexport type DatePickerProps = Omit<\n ComponentProps<'input'>,\n 'size' | 'value' | 'onChange'\n> & {\n label?: ReactNode;\n description?: ReactNode;\n error?: ReactNode;\n classNames?: DatePickerClassNames;\n value?: DateValue;\n onChange?: (date: Date | string | null) => void;\n locale?: string;\n valueFormat?: string;\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n minDate?: Date;\n maxDate?: Date;\n clearable?: boolean;\n};\n\nexport const DatePicker = ({\n classNames,\n name,\n label,\n placeholder,\n description,\n error,\n required,\n value,\n onChange,\n locale,\n valueFormat,\n firstDayOfWeek,\n minDate,\n maxDate,\n clearable,\n}: DatePickerProps): ReactNode => {\n return (\n <DatePickerInput\n name={name}\n label={label}\n placeholder={placeholder}\n description={description}\n error={error}\n withAsterisk={required}\n value={value}\n onChange={onChange}\n locale={locale}\n valueFormat={valueFormat}\n firstDayOfWeek={firstDayOfWeek}\n minDate={minDate}\n maxDate={maxDate}\n clearable={clearable}\n classNames={datePickerClassNames(classNames)}\n popoverProps={{\n classNames: popoverClassNames(classNames),\n }}\n leftSection={\n <Icon\n path='/icons/sprite-mage.svg'\n name='mage-date-picker-calendar'\n classNames={iconClassNames(classNames)}\n />\n }\n clearButtonProps={{\n className: buttonIconClassNames(),\n }}\n />\n );\n};\n\ntype DatePickerClassNames = InputClassNamesType &\n CalendarClassNamesType &\n CalendarHeaderClassNamesType &\n CalendarDayClassNamesType &\n CalendarWeekClassNamesType &\n CalendarMonthClassNamesType &\n CalendarMonthsListClassNamesType &\n CalendarYearsListClassNamesType &\n PopoverClassNamesType;\n\ntype InputClassNamesType = {\n datePicker?: string;\n root?: string;\n wrapper?: string;\n input?: string;\n label?: string;\n error?: string;\n description?: string;\n placeholder?: string;\n section?: string;\n required?: string;\n datePickerRoot?: string;\n};\n\nconst inputClassNames = (classNames?: InputClassNamesType) => {\n return {\n root: cx(\n classNames?.datePicker ?? datePicker(),\n classNames?.root ?? datePickerRoot(),\n ),\n wrapper: classNames?.wrapper ?? datePickerWrapper(),\n input: cx(classNames?.input ?? datePickerInput(), 'peer'),\n label: classNames?.label ?? datePickerLabel(),\n error: classNames?.error ?? datePickerError(),\n description: classNames?.description ?? datePickerDescription(),\n placeholder: classNames?.placeholder ?? datePickerPlaceholder(),\n section: cx(classNames?.section ?? datePickerSection(), 'group'),\n required: classNames?.required ?? datePickerRequired(),\n datePickerRoot: classNames?.datePickerRoot ?? datePickerDatePickerRoot(),\n };\n};\n\ntype IconClassNamesType = IconProps['classNames'];\n\nconst iconClassNames = (classNames?: IconClassNamesType) => {\n return {\n icon: classNames?.icon ?? datePickerIconIcon(),\n root: classNames?.root ?? datePickerIconRoot(),\n iconRaw: {\n iconRaw: classNames?.iconRaw?.iconRaw ?? datePickerIconIconRaw(),\n root: classNames?.iconRaw?.root ?? datePickerIconIconRawRoot(),\n },\n };\n};\n\ntype ButtonIconClassNamesType = {\n buttonIcon?: string;\n buttonIconRoot?: string;\n};\n\nconst buttonIconClassNames = (classNames?: ButtonIconClassNamesType) => {\n return cx(\n classNames?.buttonIcon ?? datePickerButtonIcon(),\n classNames?.buttonIconRoot ?? datePickerButtonIconRoot(),\n );\n};\n\ntype CalendarHeaderClassNamesType = {\n calendarHeaderControl?: string;\n calendarHeader?: string;\n calendarHeaderLevel?: string;\n calendarHeaderControlIcon?: string;\n};\n\nconst calendarHeaderClassNames = (\n classNames?: CalendarHeaderClassNamesType,\n) => {\n return {\n calendarHeader: classNames?.calendarHeader ?? datePickerCalendarHeader(),\n calendarHeaderControl:\n classNames?.calendarHeaderControl ?? datePickerCalendarHeaderControl(),\n calendarHeaderLevel:\n classNames?.calendarHeaderLevel ?? datePickerCalendarHeaderLevel(),\n calendarHeaderControlIcon:\n classNames?.calendarHeaderControlIcon ??\n datePickerCalendarHeaderControlIcon(),\n };\n};\n\ntype CalendarClassNamesType = {\n levelsGroup?: string;\n presetsList?: string;\n presetButton?: string;\n};\n\nconst calendarClassNames = (classNames?: CalendarClassNamesType) => {\n return {\n levelsGroup: classNames?.levelsGroup ?? datePickerLevelsGroup(),\n presetsList: classNames?.presetsList ?? datePickerPresetsList(),\n presetButton: classNames?.presetButton ?? datePickerPresetButton(),\n };\n};\n\ntype CalendarDayClassNamesType = {\n day?: string;\n};\n\nconst calendarDayClassNames = (classNames?: CalendarDayClassNamesType) => {\n return {\n day: classNames?.day ?? datePickerDay(),\n };\n};\n\ntype CalendarWeekClassNamesType = {\n weekDaysRow?: string;\n weekDay?: string;\n weekNumber?: string;\n};\n\nconst calendarWeekClassNames = (classNames?: CalendarWeekClassNamesType) => {\n return {\n weekdaysRow: classNames?.weekDaysRow ?? datePickerWeekdaysRow(),\n weekday: classNames?.weekDay ?? datePickerWeekday(),\n weekNumber: classNames?.weekNumber ?? datePickerWeekNumber(),\n };\n};\n\ntype CalendarMonthClassNamesType = {\n month?: string;\n monthRow?: string;\n monthCell?: string;\n monthThead?: string;\n monthTbody?: string;\n};\n\nconst calendarMonthClassNames = (classNames?: CalendarMonthClassNamesType) => {\n return {\n month: classNames?.month ?? datePickerMonth(),\n monthRow: classNames?.monthRow ?? datePickerMonthRow(),\n monthThead: classNames?.monthThead ?? datePickerMonthThead(),\n monthTbody: classNames?.monthTbody ?? datePickerMonthTbody(),\n monthCell: classNames?.monthCell ?? datePickerMonthCell(),\n };\n};\n\ntype CalendarMonthsListClassNamesType = {\n monthsList?: string;\n monthsListRow?: string;\n monthsListCell?: string;\n monthsListControl?: string;\n};\n\nconst calendarMonthsListClassNames = (\n classNames?: CalendarMonthsListClassNamesType,\n) => {\n return {\n monthsList: classNames?.monthsList ?? datePickerMonthsList(),\n monthsListRow: classNames?.monthsListRow ?? datePickerMonthsListRow(),\n monthsListCell: classNames?.monthsListCell ?? datePickerMonthsListCell(),\n monthsListControl:\n classNames?.monthsListControl ?? datePickerMonthsListControl(),\n };\n};\n\ntype CalendarYearsListClassNamesType = {\n yearsList?: string;\n yearsListRow?: string;\n yearsListCell?: string;\n yearsListControl?: string;\n};\n\nconst calendarYearsListClassNames = (\n classNames?: CalendarYearsListClassNamesType,\n) => {\n return {\n yearsList: classNames?.yearsList ?? datePickerYearsList(),\n yearsListRow: classNames?.yearsListRow ?? datePickerYearsListRow(),\n yearsListCell: classNames?.yearsListCell ?? datePickerYearsListCell(),\n yearsListControl:\n classNames?.yearsListControl ?? datePickerYearsListControl(),\n };\n};\n\ntype PopoverClassNamesType = {\n dropdown?: string;\n arrow?: string;\n overlay?: string;\n};\n\nconst popoverClassNames = (classNames?: PopoverClassNamesType) => {\n return {\n dropdown: classNames?.dropdown ?? datePickerDropdown(),\n arrow: classNames?.arrow ?? datePickerArrow(),\n overlay: classNames?.overlay ?? datePickerOverlay(),\n };\n};\n\nconst datePickerClassNames = (classNames?: DatePickerClassNames) => {\n return {\n ...inputClassNames(classNames),\n ...calendarClassNames(classNames),\n ...calendarHeaderClassNames(classNames),\n ...calendarDayClassNames(classNames),\n ...calendarWeekClassNames(classNames),\n ...calendarMonthClassNames(classNames),\n ...calendarMonthsListClassNames(classNames),\n ...calendarYearsListClassNames(classNames),\n };\n};\n"],"mappings":"y3CAsEA,MAAa,GAAc,CACzB,aACA,OACA,QACA,cACA,cACA,QACA,WACA,QACA,WACA,SACA,cACA,iBACA,UACA,UACA,eAGE,EAAC,EAAD,CACQ,OACC,QACM,cACA,cACN,QACP,aAAc,EACP,QACG,WACF,SACK,cACG,iBACP,UACA,UACE,YACX,WAAY,GAAqB,EAAW,CAC5C,aAAc,CACZ,WAAY,GAAkB,EAAW,CAC1C,CACD,YACE,EAAC,EAAD,CACE,KAAK,yBACL,KAAK,4BACL,WAAY,EAAe,EAAW,CACtC,CAAA,CAEJ,iBAAkB,CAChB,UAAW,GAAsB,CAClC,CACD,CAAA,CA4BA,EAAmB,IAChB,CACL,KAAM,EACJ,GAAY,YAAc,GAAY,CACtC,GAAY,MAAQ,GAAgB,CACrC,CACD,QAAS,GAAY,SAAW,GAAmB,CACnD,MAAO,EAAG,GAAY,OAAS,GAAiB,CAAE,OAAO,CACzD,MAAO,GAAY,OAAS,GAAiB,CAC7C,MAAO,GAAY,OAAS,GAAiB,CAC7C,YAAa,GAAY,aAAe,GAAuB,CAC/D,YAAa,GAAY,aAAe,GAAuB,CAC/D,QAAS,EAAG,GAAY,SAAW,GAAmB,CAAE,QAAQ,CAChE,SAAU,GAAY,UAAY,GAAoB,CACtD,eAAgB,GAAY,gBAAkB,GAA0B,CACzE,EAKG,EAAkB,IACf,CACL,KAAM,GAAY,MAAQ,GAAoB,CAC9C,KAAM,GAAY,MAAQ,GAAoB,CAC9C,QAAS,CACP,QAAS,GAAY,SAAS,SAAW,GAAuB,CAChE,KAAM,GAAY,SAAS,MAAQ,GAA2B,CAC/D,CACF,EAQG,EAAwB,GACrB,EACL,GAAY,YAAc,GAAsB,CAChD,GAAY,gBAAkB,GAA0B,CACzD,CAUG,EACJ,IAEO,CACL,eAAgB,GAAY,gBAAkB,GAA0B,CACxE,sBACE,GAAY,uBAAyB,GAAiC,CACxE,oBACE,GAAY,qBAAuB,GAA+B,CACpE,0BACE,GAAY,2BACZ,GAAqC,CACxC,EASG,EAAsB,IACnB,CACL,YAAa,GAAY,aAAe,GAAuB,CAC/D,YAAa,GAAY,aAAe,GAAuB,CAC/D,aAAc,GAAY,cAAgB,GAAwB,CACnE,EAOG,EAAyB,IACtB,CACL,IAAK,GAAY,KAAO,GAAe,CACxC,EASG,GAA0B,IACvB,CACL,YAAa,GAAY,aAAe,GAAuB,CAC/D,QAAS,GAAY,SAAW,GAAmB,CACnD,WAAY,GAAY,YAAc,IAAsB,CAC7D,EAWG,GAA2B,IACxB,CACL,MAAO,GAAY,OAAS,GAAiB,CAC7C,SAAU,GAAY,UAAY,GAAoB,CACtD,WAAY,GAAY,YAAc,GAAsB,CAC5D,WAAY,GAAY,YAAc,GAAsB,CAC5D,UAAW,GAAY,WAAa,GAAqB,CAC1D,EAUG,GACJ,IAEO,CACL,WAAY,GAAY,YAAc,GAAsB,CAC5D,cAAe,GAAY,eAAiB,GAAyB,CACrE,eAAgB,GAAY,gBAAkB,GAA0B,CACxE,kBACE,GAAY,mBAAqB,GAA6B,CACjE,EAUG,GACJ,IAEO,CACL,UAAW,GAAY,WAAa,GAAqB,CACzD,aAAc,GAAY,cAAgB,GAAwB,CAClE,cAAe,GAAY,eAAiB,GAAyB,CACrE,iBACE,GAAY,kBAAoB,GAA4B,CAC/D,EASG,GAAqB,IAClB,CACL,SAAU,GAAY,UAAY,GAAoB,CACtD,MAAO,GAAY,OAAS,GAAiB,CAC7C,QAAS,GAAY,SAAW,GAAmB,CACpD,EAGG,GAAwB,IACrB,CACL,GAAG,EAAgB,EAAW,CAC9B,GAAG,EAAmB,EAAW,CACjC,GAAG,EAAyB,EAAW,CACvC,GAAG,EAAsB,EAAW,CACpC,GAAG,GAAuB,EAAW,CACrC,GAAG,GAAwB,EAAW,CACtC,GAAG,GAA6B,EAAW,CAC3C,GAAG,GAA4B,EAAW,CAC3C"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { ScrollAreaAutosizeProps } from "../../misc/scroll-area-autosize/ScrollAreaAutosize.mjs";
|
|
2
|
-
import "../../misc/index.mjs";
|
|
3
2
|
import { DropdownValue } from "./DropdownContextProvider.mjs";
|
|
4
|
-
import "@mantine/core";
|
|
5
|
-
import "react/jsx-runtime";
|
|
6
3
|
import { ReactNode } from "react";
|
|
7
4
|
|
|
8
5
|
//#region src/components/controls/dropdown/Dropdown.d.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/Dropdown.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Dropdown.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/Dropdown.tsx"],"mappings":";;;;;KAoBK,cAAA;EAAA,CACF,GAAA;AAAA;AAAA,KAGS,aAAA;EACV,QAAA,EAAU,SAAA;EACV,YAAA;EACA,WAAA;EACA,UAAA;IACE,QAAA;IACA,IAAA;IACA,OAAA;IACA,MAAA;IACA,KAAA;IACA,MAAA;EAAA;EAEF,MAAA,EAAQ,SAAA;EACR,OAAA,EAAS,aAAA;EACT,eAAA,GAAkB,OAAA,CAChB,IAAA,CAAK,uBAAA;IAEL,UAAA,GAAa,IAAA,CACX,WAAA,CAAY,uBAAA;MAGZ,0BAAA;IAAA;EAAA;EAGJ,cAAA;EACA,YAAA;EACA,eAAA,GAAkB,SAAA;EAClB,YAAA,GAAe,aAAA;EACf,QAAA,IAAY,KAAA,EAAO,aAAA;AAAA,IACjB,cAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.mjs","names":["MantineCombobox"],"sources":["../../../../src/components/controls/dropdown/Dropdown.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dropdown,\n dropdownEmpty,\n dropdownOption,\n dropdownOptions,\n dropdownRoot,\n dropdownScrollAreaAutosize,\n} from '@mage-ui/styled-system/recipes';\nimport { Combobox as MantineCombobox } from '@mantine/core';\n\nimport { ScrollAreaAutosize, type ScrollAreaAutosizeProps } from '../../misc';\nimport {\n DropdownContextProvider,\n type DropdownValue,\n useDropdownContext,\n} from './DropdownContextProvider';\n\ntype DataAttributes = {\n [key: `data-${string}`]: string | number | boolean | undefined;\n};\n\nexport type DropdownProps = {\n children: ReactNode;\n withinPortal?: boolean;\n keepMounted?: boolean;\n classNames?: {\n dropdown?: string;\n root?: string;\n options?: string;\n option?: string;\n empty?: string;\n search?: string;\n };\n target: ReactNode;\n options: DropdownValue[];\n scrollAreaProps?: Partial<\n Omit<ScrollAreaAutosizeProps, 'children' | 'classNames'>\n > & {\n classNames?: Omit<\n NonNullable<ScrollAreaAutosizeProps['classNames']>,\n 'scrollArea'\n > & {\n dropdownScrollAreaAutosize?: string;\n };\n };\n dropdownHeight?: number | string;\n shouldFilter?: boolean;\n dropdownTopSlot?: ReactNode;\n defaultValue?: DropdownValue;\n onChange?: (value: DropdownValue) => void;\n} & DataAttributes;\n\nconst DropdownContent = ({\n children,\n classNames,\n target,\n scrollAreaProps,\n dropdownHeight = 192,\n dropdownTopSlot,\n ...props\n}: Omit<DropdownProps, 'options' | 'defaultValue' | 'onChange'>) => {\n const { store, setValue } = useDropdownContext();\n const dataAttributes = Object.fromEntries(\n Object.entries(props).filter(([key]) => key.startsWith('data-')),\n ) as DataAttributes;\n const comboboxProps = Object.fromEntries(\n Object.entries(props).filter(([key]) => !key.startsWith('data-')),\n );\n\n return (\n <MantineCombobox\n width='target'\n store={store}\n withinPortal={true}\n keepMounted={false}\n onOptionSubmit={(option) => {\n setValue(option);\n }}\n classNames={{\n dropdown: cx(\n classNames?.dropdown ?? dropdown(),\n classNames?.root ?? dropdownRoot(),\n ),\n options: classNames?.options ?? dropdownOptions(),\n option: classNames?.option ?? dropdownOption(),\n empty: classNames?.empty ?? dropdownEmpty(),\n search: classNames?.search,\n }}\n {...comboboxProps}\n >\n <MantineCombobox.Target>{target}</MantineCombobox.Target>\n <MantineCombobox.Dropdown {...dataAttributes}>\n {dropdownTopSlot && dropdownTopSlot}\n <ScrollAreaAutosize\n type='scroll'\n mah={dropdownHeight}\n classNames={{\n scrollArea:\n scrollAreaProps?.classNames?.dropdownScrollAreaAutosize ??\n dropdownScrollAreaAutosize(),\n }}\n {...scrollAreaProps}\n >\n {children}\n </ScrollAreaAutosize>\n </MantineCombobox.Dropdown>\n </MantineCombobox>\n );\n};\n\nexport function Dropdown({\n options,\n shouldFilter = true,\n defaultValue,\n onChange,\n ...props\n}: DropdownProps) {\n return (\n <DropdownContextProvider\n options={options}\n shouldFilter={shouldFilter}\n defaultValue={defaultValue}\n onChange={onChange}\n >\n <DropdownContent {...props} />\n </DropdownContextProvider>\n );\n}\n\nDropdown.Options = MantineCombobox.Options;\nDropdown.Options.displayName = 'Dropdown.Options';\nDropdown.Option = MantineCombobox.Option;\nDropdown.Option.displayName = 'Dropdown.Option';\nDropdown.Empty = MantineCombobox.Empty;\nDropdown.Empty.displayName = 'Dropdown.Empty';\nDropdown.Search = MantineCombobox.Search;\nDropdown.Search.displayName = 'Dropdown.Search';\nDropdown.EventsTarget = MantineCombobox.EventsTarget;\nDropdown.EventsTarget.displayName = 'Dropdown.EventsTarget';\n"],"mappings":"+eAuDA,MAAM,GAAmB,CACvB,WACA,aACA,SACA,kBACA,iBAAiB,IACjB,kBACA,GAAG,KAC+D,CAClE,GAAM,CAAE,QAAO,YAAa,GAAoB,CAC1C,EAAiB,OAAO,YAC5B,OAAO,QAAQ,EAAM,CAAC,QAAQ,CAAC,KAAS,EAAI,WAAW,QAAQ,CAAC,CACjE,CACK,EAAgB,OAAO,YAC3B,OAAO,QAAQ,EAAM,CAAC,QAAQ,CAAC,KAAS,CAAC,EAAI,WAAW,QAAQ,CAAC,CAClE,CAED,OACE,EAACA,
|
|
1
|
+
{"version":3,"file":"Dropdown.mjs","names":["MantineCombobox"],"sources":["../../../../src/components/controls/dropdown/Dropdown.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dropdown,\n dropdownEmpty,\n dropdownOption,\n dropdownOptions,\n dropdownRoot,\n dropdownScrollAreaAutosize,\n} from '@mage-ui/styled-system/recipes';\nimport { Combobox as MantineCombobox } from '@mantine/core';\n\nimport { ScrollAreaAutosize, type ScrollAreaAutosizeProps } from '../../misc';\nimport {\n DropdownContextProvider,\n type DropdownValue,\n useDropdownContext,\n} from './DropdownContextProvider';\n\ntype DataAttributes = {\n [key: `data-${string}`]: string | number | boolean | undefined;\n};\n\nexport type DropdownProps = {\n children: ReactNode;\n withinPortal?: boolean;\n keepMounted?: boolean;\n classNames?: {\n dropdown?: string;\n root?: string;\n options?: string;\n option?: string;\n empty?: string;\n search?: string;\n };\n target: ReactNode;\n options: DropdownValue[];\n scrollAreaProps?: Partial<\n Omit<ScrollAreaAutosizeProps, 'children' | 'classNames'>\n > & {\n classNames?: Omit<\n NonNullable<ScrollAreaAutosizeProps['classNames']>,\n 'scrollArea'\n > & {\n dropdownScrollAreaAutosize?: string;\n };\n };\n dropdownHeight?: number | string;\n shouldFilter?: boolean;\n dropdownTopSlot?: ReactNode;\n defaultValue?: DropdownValue;\n onChange?: (value: DropdownValue) => void;\n} & DataAttributes;\n\nconst DropdownContent = ({\n children,\n classNames,\n target,\n scrollAreaProps,\n dropdownHeight = 192,\n dropdownTopSlot,\n ...props\n}: Omit<DropdownProps, 'options' | 'defaultValue' | 'onChange'>) => {\n const { store, setValue } = useDropdownContext();\n const dataAttributes = Object.fromEntries(\n Object.entries(props).filter(([key]) => key.startsWith('data-')),\n ) as DataAttributes;\n const comboboxProps = Object.fromEntries(\n Object.entries(props).filter(([key]) => !key.startsWith('data-')),\n );\n\n return (\n <MantineCombobox\n width='target'\n store={store}\n withinPortal={true}\n keepMounted={false}\n onOptionSubmit={(option) => {\n setValue(option);\n }}\n classNames={{\n dropdown: cx(\n classNames?.dropdown ?? dropdown(),\n classNames?.root ?? dropdownRoot(),\n ),\n options: classNames?.options ?? dropdownOptions(),\n option: classNames?.option ?? dropdownOption(),\n empty: classNames?.empty ?? dropdownEmpty(),\n search: classNames?.search,\n }}\n {...comboboxProps}\n >\n <MantineCombobox.Target>{target}</MantineCombobox.Target>\n <MantineCombobox.Dropdown {...dataAttributes}>\n {dropdownTopSlot && dropdownTopSlot}\n <ScrollAreaAutosize\n type='scroll'\n mah={dropdownHeight}\n classNames={{\n scrollArea:\n scrollAreaProps?.classNames?.dropdownScrollAreaAutosize ??\n dropdownScrollAreaAutosize(),\n }}\n {...scrollAreaProps}\n >\n {children}\n </ScrollAreaAutosize>\n </MantineCombobox.Dropdown>\n </MantineCombobox>\n );\n};\n\nexport function Dropdown({\n options,\n shouldFilter = true,\n defaultValue,\n onChange,\n ...props\n}: DropdownProps) {\n return (\n <DropdownContextProvider\n options={options}\n shouldFilter={shouldFilter}\n defaultValue={defaultValue}\n onChange={onChange}\n >\n <DropdownContent {...props} />\n </DropdownContextProvider>\n );\n}\n\nDropdown.Options = MantineCombobox.Options;\nDropdown.Options.displayName = 'Dropdown.Options';\nDropdown.Option = MantineCombobox.Option;\nDropdown.Option.displayName = 'Dropdown.Option';\nDropdown.Empty = MantineCombobox.Empty;\nDropdown.Empty.displayName = 'Dropdown.Empty';\nDropdown.Search = MantineCombobox.Search;\nDropdown.Search.displayName = 'Dropdown.Search';\nDropdown.EventsTarget = MantineCombobox.EventsTarget;\nDropdown.EventsTarget.displayName = 'Dropdown.EventsTarget';\n"],"mappings":"+eAuDA,MAAM,GAAmB,CACvB,WACA,aACA,SACA,kBACA,iBAAiB,IACjB,kBACA,GAAG,KAC+D,CAClE,GAAM,CAAE,QAAO,YAAa,GAAoB,CAC1C,EAAiB,OAAO,YAC5B,OAAO,QAAQ,EAAM,CAAC,QAAQ,CAAC,KAAS,EAAI,WAAW,QAAQ,CAAC,CACjE,CACK,EAAgB,OAAO,YAC3B,OAAO,QAAQ,EAAM,CAAC,QAAQ,CAAC,KAAS,CAAC,EAAI,WAAW,QAAQ,CAAC,CAClE,CAED,OACE,EAACA,EAAD,CACE,MAAM,SACC,QACP,aAAc,GACd,YAAa,GACb,eAAiB,GAAW,CAC1B,EAAS,EAAO,EAElB,WAAY,CACV,SAAU,EACR,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CACnC,CACD,QAAS,GAAY,SAAW,GAAiB,CACjD,OAAQ,GAAY,QAAU,GAAgB,CAC9C,MAAO,GAAY,OAAS,GAAe,CAC3C,OAAQ,GAAY,OACrB,CACD,GAAI,WAlBN,CAoBE,EAACA,EAAgB,OAAjB,CAAA,SAAyB,EAAgC,CAAA,CACzD,EAACA,EAAgB,SAAjB,CAA0B,GAAI,WAA9B,CACG,GAAmB,EACpB,EAAC,EAAD,CACE,KAAK,SACL,IAAK,EACL,WAAY,CACV,WACE,GAAiB,YAAY,4BAC7B,GAA4B,CAC/B,CACD,GAAI,EAEH,WACkB,CAAA,CACI,GACX,IAItB,SAAgB,EAAS,CACvB,UACA,eAAe,GACf,eACA,WACA,GAAG,GACa,CAChB,OACE,EAAC,EAAD,CACW,UACK,eACA,eACJ,oBAEV,EAAC,EAAD,CAAiB,GAAI,EAAS,CAAA,CACN,CAAA,CAI9B,EAAS,QAAUA,EAAgB,QACnC,EAAS,QAAQ,YAAc,mBAC/B,EAAS,OAASA,EAAgB,OAClC,EAAS,OAAO,YAAc,kBAC9B,EAAS,MAAQA,EAAgB,MACjC,EAAS,MAAM,YAAc,iBAC7B,EAAS,OAASA,EAAgB,OAClC,EAAS,OAAO,YAAc,kBAC9B,EAAS,aAAeA,EAAgB,aACxC,EAAS,aAAa,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownChevron.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownChevron.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DropdownChevron.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownChevron.tsx"],"mappings":";KASY,oBAAA;EACV,WAAA;EACA,YAAA;EACA,IAAA;EACA,UAAA;IACE,OAAA;IACA,IAAA;IACA,IAAA;MACE,OAAA;MACA,IAAA;IAAA;IAEF,KAAA;MACE,OAAA;MACA,IAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownChevron.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownChevron.tsx"],"sourcesContent":["import {\n dropdownChevron,\n dropdownChevronIcon,\n dropdownChevronIconRoot,\n dropdownChevronRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { IconRaw } from '@/components/data-display/icons/icon-raw/IconRaw';\nimport { IconWrapped } from '@/components/data-display/icons/icon-wrapped/IconWrapped';\n\nexport type DropdownChevronProps = {\n chevronOpen?: string;\n chevronClose?: string;\n path?: string;\n classNames?: {\n chevron?: string;\n root?: string;\n open?: {\n iconRaw?: string;\n root?: string;\n };\n close?: {\n iconRaw?: string;\n root?: string;\n };\n };\n};\n\nexport const DropdownChevron = ({\n chevronOpen = 'mage-dropdown-chevron-down',\n chevronClose = 'mage-dropdown-chevron-up',\n path = '/icons/sprite-mage.svg',\n classNames,\n}: DropdownChevronProps) => {\n return (\n <IconWrapped\n classNames={{\n iconWrapped: classNames?.chevron ?? dropdownChevron(),\n root: classNames?.root ?? dropdownChevronRoot(),\n }}\n >\n <IconRaw\n path={path}\n name={chevronOpen}\n classNames={{\n iconRaw: classNames?.open?.iconRaw ?? dropdownChevronIcon(),\n root: classNames?.open?.root ?? dropdownChevronIconRoot(),\n }}\n />\n <IconRaw\n path={path}\n name={chevronClose || chevronOpen}\n data-scope='close'\n classNames={{\n iconRaw: classNames?.close?.iconRaw ?? dropdownChevronIcon(),\n root: classNames?.close?.root ?? dropdownChevronIconRoot(),\n }}\n />\n </IconWrapped>\n );\n};\n"],"mappings":"8VA2BA,MAAa,GAAmB,CAC9B,cAAc,6BACd,eAAe,2BACf,OAAO,yBACP,gBAGE,EAAC,
|
|
1
|
+
{"version":3,"file":"DropdownChevron.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownChevron.tsx"],"sourcesContent":["import {\n dropdownChevron,\n dropdownChevronIcon,\n dropdownChevronIconRoot,\n dropdownChevronRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { IconRaw } from '@/components/data-display/icons/icon-raw/IconRaw';\nimport { IconWrapped } from '@/components/data-display/icons/icon-wrapped/IconWrapped';\n\nexport type DropdownChevronProps = {\n chevronOpen?: string;\n chevronClose?: string;\n path?: string;\n classNames?: {\n chevron?: string;\n root?: string;\n open?: {\n iconRaw?: string;\n root?: string;\n };\n close?: {\n iconRaw?: string;\n root?: string;\n };\n };\n};\n\nexport const DropdownChevron = ({\n chevronOpen = 'mage-dropdown-chevron-down',\n chevronClose = 'mage-dropdown-chevron-up',\n path = '/icons/sprite-mage.svg',\n classNames,\n}: DropdownChevronProps) => {\n return (\n <IconWrapped\n classNames={{\n iconWrapped: classNames?.chevron ?? dropdownChevron(),\n root: classNames?.root ?? dropdownChevronRoot(),\n }}\n >\n <IconRaw\n path={path}\n name={chevronOpen}\n classNames={{\n iconRaw: classNames?.open?.iconRaw ?? dropdownChevronIcon(),\n root: classNames?.open?.root ?? dropdownChevronIconRoot(),\n }}\n />\n <IconRaw\n path={path}\n name={chevronClose || chevronOpen}\n data-scope='close'\n classNames={{\n iconRaw: classNames?.close?.iconRaw ?? dropdownChevronIcon(),\n root: classNames?.close?.root ?? dropdownChevronIconRoot(),\n }}\n />\n </IconWrapped>\n );\n};\n"],"mappings":"8VA2BA,MAAa,GAAmB,CAC9B,cAAc,6BACd,eAAe,2BACf,OAAO,yBACP,gBAGE,EAAC,EAAD,CACE,WAAY,CACV,YAAa,GAAY,SAAW,GAAiB,CACrD,KAAM,GAAY,MAAQ,GAAqB,CAChD,UAJH,CAME,EAAC,EAAD,CACQ,OACN,KAAM,EACN,WAAY,CACV,QAAS,GAAY,MAAM,SAAW,GAAqB,CAC3D,KAAM,GAAY,MAAM,MAAQ,GAAyB,CAC1D,CACD,CAAA,CACF,EAAC,EAAD,CACQ,OACN,KAAM,GAAgB,EACtB,aAAW,QACX,WAAY,CACV,QAAS,GAAY,OAAO,SAAW,GAAqB,CAC5D,KAAM,GAAY,OAAO,MAAQ,GAAyB,CAC3D,CACD,CAAA,CACU"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { ButtonIconProps } from "../../buttons/button-icon/ButtonIcon.mjs";
|
|
2
|
-
import "react/jsx-runtime";
|
|
3
|
-
|
|
4
2
|
//#region src/components/controls/dropdown/DropdownClearButton.d.ts
|
|
5
3
|
type DropdownClearButtonProps = Omit<ButtonIconProps, 'classNames' | 'label' | 'name' | 'path'> & {
|
|
6
4
|
classNames?: Omit<NonNullable<ButtonIconProps['classNames']>, 'buttonIcon'> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownClearButton.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownClearButton.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DropdownClearButton.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownClearButton.tsx"],"mappings":";;KAcY,wBAAA,GAA2B,IAAA,CACrC,eAAA;EAGA,UAAA,GAAa,IAAA,CACX,WAAA,CAAY,eAAA;IAGZ,WAAA;EAAA;EAEF,KAAA;EACA,IAAA;EACA,IAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownClearButton.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownClearButton.tsx"],"sourcesContent":["import {\n dropdownClearButton,\n dropdownClearButtonIcon,\n dropdownClearButtonIconRaw,\n dropdownClearButtonIconRawRoot,\n dropdownClearButtonRoot,\n} from '@mage-ui/styled-system/recipes';\nimport {\n ButtonIcon,\n type ButtonIconProps,\n} from '@/components/buttons/button-icon/ButtonIcon';\n\nimport { useDropdownContext } from './DropdownContextProvider';\n\nexport type DropdownClearButtonProps = Omit<\n ButtonIconProps,\n 'classNames' | 'label' | 'name' | 'path'\n> & {\n classNames?: Omit<\n NonNullable<ButtonIconProps['classNames']>,\n 'buttonIcon'\n > & {\n clearButton?: string;\n };\n label?: string;\n name?: string;\n path?: string;\n};\n\nexport const DropdownClearButton = ({\n classNames,\n label = 'Clear selection',\n name = 'mage-clear-button-x',\n path = '/icons/sprite-mage.svg',\n ...props\n}: DropdownClearButtonProps) => {\n const { setValue, setQuery } = useDropdownContext();\n\n return (\n <ButtonIcon\n label={label}\n name={name}\n path={path}\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n setValue(undefined);\n setQuery(undefined);\n }}\n classNames={{\n buttonIcon: classNames?.clearButton ?? dropdownClearButton(),\n root: classNames?.root ?? dropdownClearButtonRoot(),\n icon: classNames?.icon ?? dropdownClearButtonIcon(),\n iconRaw: {\n iconRaw: classNames?.iconRaw?.iconRaw ?? dropdownClearButtonIconRaw(),\n root: classNames?.iconRaw?.root ?? dropdownClearButtonIconRawRoot(),\n },\n }}\n {...props}\n />\n );\n};\n"],"mappings":"oXA6BA,MAAa,GAAuB,CAClC,aACA,QAAQ,kBACR,OAAO,sBACP,OAAO,yBACP,GAAG,KAC2B,CAC9B,GAAM,CAAE,WAAU,YAAa,GAAoB,CAEnD,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"DropdownClearButton.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownClearButton.tsx"],"sourcesContent":["import {\n dropdownClearButton,\n dropdownClearButtonIcon,\n dropdownClearButtonIconRaw,\n dropdownClearButtonIconRawRoot,\n dropdownClearButtonRoot,\n} from '@mage-ui/styled-system/recipes';\nimport {\n ButtonIcon,\n type ButtonIconProps,\n} from '@/components/buttons/button-icon/ButtonIcon';\n\nimport { useDropdownContext } from './DropdownContextProvider';\n\nexport type DropdownClearButtonProps = Omit<\n ButtonIconProps,\n 'classNames' | 'label' | 'name' | 'path'\n> & {\n classNames?: Omit<\n NonNullable<ButtonIconProps['classNames']>,\n 'buttonIcon'\n > & {\n clearButton?: string;\n };\n label?: string;\n name?: string;\n path?: string;\n};\n\nexport const DropdownClearButton = ({\n classNames,\n label = 'Clear selection',\n name = 'mage-clear-button-x',\n path = '/icons/sprite-mage.svg',\n ...props\n}: DropdownClearButtonProps) => {\n const { setValue, setQuery } = useDropdownContext();\n\n return (\n <ButtonIcon\n label={label}\n name={name}\n path={path}\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n setValue(undefined);\n setQuery(undefined);\n }}\n classNames={{\n buttonIcon: classNames?.clearButton ?? dropdownClearButton(),\n root: classNames?.root ?? dropdownClearButtonRoot(),\n icon: classNames?.icon ?? dropdownClearButtonIcon(),\n iconRaw: {\n iconRaw: classNames?.iconRaw?.iconRaw ?? dropdownClearButtonIconRaw(),\n root: classNames?.iconRaw?.root ?? dropdownClearButtonIconRawRoot(),\n },\n }}\n {...props}\n />\n );\n};\n"],"mappings":"oXA6BA,MAAa,GAAuB,CAClC,aACA,QAAQ,kBACR,OAAO,sBACP,OAAO,yBACP,GAAG,KAC2B,CAC9B,GAAM,CAAE,WAAU,YAAa,GAAoB,CAEnD,OACE,EAAC,EAAD,CACS,QACD,OACA,OACN,QAAU,GAAM,CACd,EAAE,iBAAiB,CACnB,EAAE,gBAAgB,CAClB,EAAS,IAAA,GAAU,CACnB,EAAS,IAAA,GAAU,EAErB,WAAY,CACV,WAAY,GAAY,aAAe,GAAqB,CAC5D,KAAM,GAAY,MAAQ,GAAyB,CACnD,KAAM,GAAY,MAAQ,GAAyB,CACnD,QAAS,CACP,QAAS,GAAY,SAAS,SAAW,GAA4B,CACrE,KAAM,GAAY,SAAS,MAAQ,GAAgC,CACpE,CACF,CACD,GAAI,EACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownContextProvider.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownContextProvider.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DropdownContextProvider.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownContextProvider.tsx"],"mappings":";;;KAKY,aAAA;EACV,EAAA;EACA,KAAA;EACA,MAAA,GAAS,SAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownContextProvider.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownContextProvider.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { createContext, useContext, useState } from 'react';\n\nimport { type ComboboxStore, useCombobox } from '@mantine/core';\n\nexport type DropdownValue = {\n id: string | number;\n value: string | number | undefined | null;\n render?: ReactNode;\n};\n\ntype DropdownContextType = {\n store: ComboboxStore;\n value: DropdownValue;\n setValue: (value: string | undefined) => void;\n query: string | undefined;\n setQuery: (query: string | undefined) => void;\n options: DropdownValue[];\n};\n\nconst DropdownContext = createContext<DropdownContextType>({\n store: {} as ComboboxStore,\n value: { id: '', value: '' },\n query: undefined,\n setValue: () => {},\n setQuery: () => {},\n options: [],\n});\n\nexport function useDropdownContext(): DropdownContextType {\n const ctx = useContext(DropdownContext);\n if (!ctx)\n throw new Error(\n 'useDropdownContext must be used within DropdownContextProvider',\n );\n return ctx;\n}\n\nexport function DropdownContextProvider({\n children,\n options,\n shouldFilter = true,\n defaultValue,\n onChange,\n}: {\n children: React.ReactNode;\n options: DropdownValue[];\n shouldFilter?: boolean;\n defaultValue?: DropdownValue;\n onChange?: (value: DropdownValue) => void;\n}) {\n const [query, setQuery] = useState<string | undefined>(undefined);\n\n const initialValue = defaultValue ?? { id: '', value: '' };\n\n const [value, setValue] = useState<DropdownValue>(initialValue);\n\n const store = useCombobox({\n scrollBehavior: 'smooth',\n onDropdownClose: () => store.resetSelectedOption(),\n });\n\n const filteredOptions =\n query && shouldFilter\n ? options.filter((item) =>\n item.value\n ?.toString()\n .toLowerCase()\n .trim()\n .includes(query?.toLowerCase().trim()),\n )\n : options;\n\n const handleValueChange = (value: string | undefined) => {\n const option = options.find((option) => option.value === value);\n\n let newValue: DropdownValue;\n if (value && !option) {\n newValue = { id: '', value: value };\n } else {\n newValue = option ?? { id: '', value: '' };\n }\n\n setValue(newValue);\n onChange?.(newValue);\n\n setQuery(undefined);\n store.closeDropdown();\n };\n\n return (\n <DropdownContext.Provider\n value={{\n store,\n value,\n setValue: handleValueChange,\n query,\n setQuery,\n options: filteredOptions,\n }}\n >\n {children}\n </DropdownContext.Provider>\n );\n}\n"],"mappings":"wJAoBA,MAAM,EAAkB,EAAmC,CACzD,MAAO,EAAE,CACT,MAAO,CAAE,GAAI,GAAI,MAAO,GAAI,CAC5B,MAAO,IAAA,GACP,aAAgB,GAChB,aAAgB,GAChB,QAAS,EAAE,CACZ,CAAC,CAEF,SAAgB,GAA0C,CACxD,IAAM,EAAM,EAAW,EAAgB,CACvC,GAAI,CAAC,EACH,MAAU,MACR,iEACD,CACH,OAAO,EAGT,SAAgB,EAAwB,CACtC,WACA,UACA,eAAe,GACf,eACA,YAOC,CACD,GAAM,CAAC,EAAO,GAAY,EAA6B,IAAA,GAAU,CAI3D,CAAC,EAAO,GAAY,EAFL,GAAgB,CAAE,GAAI,GAAI,MAAO,GAAI,CAEK,CAEzD,EAAQ,EAAY,CACxB,eAAgB,SAChB,oBAAuB,EAAM,qBAAqB,CACnD,CAAC,CAEI,EACJ,GAAS,EACL,EAAQ,OAAQ,GACd,EAAK,OACD,UAAU,CACX,aAAa,CACb,MAAM,CACN,SAAS,GAAO,aAAa,CAAC,MAAM,CAAC,CACzC,CACD,EAmBN,OACE,EAAC,EAAgB,
|
|
1
|
+
{"version":3,"file":"DropdownContextProvider.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownContextProvider.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { createContext, useContext, useState } from 'react';\n\nimport { type ComboboxStore, useCombobox } from '@mantine/core';\n\nexport type DropdownValue = {\n id: string | number;\n value: string | number | undefined | null;\n render?: ReactNode;\n};\n\ntype DropdownContextType = {\n store: ComboboxStore;\n value: DropdownValue;\n setValue: (value: string | undefined) => void;\n query: string | undefined;\n setQuery: (query: string | undefined) => void;\n options: DropdownValue[];\n};\n\nconst DropdownContext = createContext<DropdownContextType>({\n store: {} as ComboboxStore,\n value: { id: '', value: '' },\n query: undefined,\n setValue: () => {},\n setQuery: () => {},\n options: [],\n});\n\nexport function useDropdownContext(): DropdownContextType {\n const ctx = useContext(DropdownContext);\n if (!ctx)\n throw new Error(\n 'useDropdownContext must be used within DropdownContextProvider',\n );\n return ctx;\n}\n\nexport function DropdownContextProvider({\n children,\n options,\n shouldFilter = true,\n defaultValue,\n onChange,\n}: {\n children: React.ReactNode;\n options: DropdownValue[];\n shouldFilter?: boolean;\n defaultValue?: DropdownValue;\n onChange?: (value: DropdownValue) => void;\n}) {\n const [query, setQuery] = useState<string | undefined>(undefined);\n\n const initialValue = defaultValue ?? { id: '', value: '' };\n\n const [value, setValue] = useState<DropdownValue>(initialValue);\n\n const store = useCombobox({\n scrollBehavior: 'smooth',\n onDropdownClose: () => store.resetSelectedOption(),\n });\n\n const filteredOptions =\n query && shouldFilter\n ? options.filter((item) =>\n item.value\n ?.toString()\n .toLowerCase()\n .trim()\n .includes(query?.toLowerCase().trim()),\n )\n : options;\n\n const handleValueChange = (value: string | undefined) => {\n const option = options.find((option) => option.value === value);\n\n let newValue: DropdownValue;\n if (value && !option) {\n newValue = { id: '', value: value };\n } else {\n newValue = option ?? { id: '', value: '' };\n }\n\n setValue(newValue);\n onChange?.(newValue);\n\n setQuery(undefined);\n store.closeDropdown();\n };\n\n return (\n <DropdownContext.Provider\n value={{\n store,\n value,\n setValue: handleValueChange,\n query,\n setQuery,\n options: filteredOptions,\n }}\n >\n {children}\n </DropdownContext.Provider>\n );\n}\n"],"mappings":"wJAoBA,MAAM,EAAkB,EAAmC,CACzD,MAAO,EAAE,CACT,MAAO,CAAE,GAAI,GAAI,MAAO,GAAI,CAC5B,MAAO,IAAA,GACP,aAAgB,GAChB,aAAgB,GAChB,QAAS,EAAE,CACZ,CAAC,CAEF,SAAgB,GAA0C,CACxD,IAAM,EAAM,EAAW,EAAgB,CACvC,GAAI,CAAC,EACH,MAAU,MACR,iEACD,CACH,OAAO,EAGT,SAAgB,EAAwB,CACtC,WACA,UACA,eAAe,GACf,eACA,YAOC,CACD,GAAM,CAAC,EAAO,GAAY,EAA6B,IAAA,GAAU,CAI3D,CAAC,EAAO,GAAY,EAFL,GAAgB,CAAE,GAAI,GAAI,MAAO,GAAI,CAEK,CAEzD,EAAQ,EAAY,CACxB,eAAgB,SAChB,oBAAuB,EAAM,qBAAqB,CACnD,CAAC,CAEI,EACJ,GAAS,EACL,EAAQ,OAAQ,GACd,EAAK,OACD,UAAU,CACX,aAAa,CACb,MAAM,CACN,SAAS,GAAO,aAAa,CAAC,MAAM,CAAC,CACzC,CACD,EAmBN,OACE,EAAC,EAAgB,SAAjB,CACE,MAAO,CACL,QACA,QACA,SAtBqB,GAA8B,CACvD,IAAM,EAAS,EAAQ,KAAM,GAAW,EAAO,QAAU,EAAM,CAE3D,EACJ,AAGE,EAHE,GAAS,CAAC,EACD,CAAE,GAAI,GAAW,QAAO,CAExB,GAAU,CAAE,GAAI,GAAI,MAAO,GAAI,CAG5C,EAAS,EAAS,CAClB,IAAW,EAAS,CAEpB,EAAS,IAAA,GAAU,CACnB,EAAM,eAAe,EASjB,QACA,WACA,QAAS,EACV,CAEA,WACwB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownEndSlot.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownEndSlot.tsx"],"sourcesContent":["import type { DropdownChevronProps } from './DropdownChevron';\nimport { DropdownChevron } from './DropdownChevron';\nimport type { DropdownClearButtonProps } from './DropdownClearButton';\nimport { DropdownClearButton } from './DropdownClearButton';\n\nexport type DropdownEndSlotProps = {\n clearButtonProps?: DropdownClearButtonProps;\n chevronProps?: DropdownChevronProps;\n clearable?: boolean;\n showChevron?: boolean;\n};\n\nexport const DropdownEndSlot = ({\n clearable,\n showChevron,\n clearButtonProps,\n chevronProps,\n}: DropdownEndSlotProps) => {\n if (clearable) {\n return <DropdownClearButton {...clearButtonProps} />;\n }\n\n if (showChevron) {\n return <DropdownChevron {...chevronProps} />;\n }\n return;\n};\n"],"mappings":"gKAYA,MAAa,GAAmB,CAC9B,YACA,cACA,mBACA,kBAC0B,CAC1B,GAAI,EACF,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"DropdownEndSlot.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownEndSlot.tsx"],"sourcesContent":["import type { DropdownChevronProps } from './DropdownChevron';\nimport { DropdownChevron } from './DropdownChevron';\nimport type { DropdownClearButtonProps } from './DropdownClearButton';\nimport { DropdownClearButton } from './DropdownClearButton';\n\nexport type DropdownEndSlotProps = {\n clearButtonProps?: DropdownClearButtonProps;\n chevronProps?: DropdownChevronProps;\n clearable?: boolean;\n showChevron?: boolean;\n};\n\nexport const DropdownEndSlot = ({\n clearable,\n showChevron,\n clearButtonProps,\n chevronProps,\n}: DropdownEndSlotProps) => {\n if (clearable) {\n return <DropdownClearButton {...clearButtonProps} />;\n }\n\n if (showChevron) {\n return <DropdownChevron {...chevronProps} />;\n }\n return;\n};\n"],"mappings":"gKAYA,MAAa,GAAmB,CAC9B,YACA,cACA,mBACA,kBAC0B,CAC1B,GAAI,EACF,OAAO,EAAC,EAAD,CAAqB,GAAI,EAAoB,CAAA,CAGtD,GAAI,EACF,OAAO,EAAC,EAAD,CAAiB,GAAI,EAAgB,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { TextInputProps } from "../text-input/TextInput.mjs";
|
|
2
2
|
import { DropdownChevronProps } from "./DropdownChevron.mjs";
|
|
3
3
|
import { DropdownClearButtonProps } from "./DropdownClearButton.mjs";
|
|
4
|
-
import "react/jsx-runtime";
|
|
5
4
|
import { ReactNode } from "react";
|
|
6
5
|
|
|
7
6
|
//#region src/components/controls/dropdown/DropdownTargetTextInput.d.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownTargetTextInput.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownTargetTextInput.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DropdownTargetTextInput.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownTargetTextInput.tsx"],"mappings":";;;;;;KAoBY,4BAAA,GAA+B,IAAA,CACzC,cAAA;EAGA,UAAA,GAAa,IAAA,CAAK,WAAA,CAAY,cAAA;IAC5B,iBAAA;EAAA;EAEF,gBAAA,GAAmB,wBAAA;EACnB,YAAA,GAAe,oBAAA;EAEf,WAAA;EACA,SAAA;EACA,WAAA;EACA,SAAA,GAAY,SAAA;EACZ,YAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownTargetTextInput.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownTargetTextInput.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n dropdownTextInput,\n dropdownTextInputDescription,\n dropdownTextInputError,\n dropdownTextInputInput,\n dropdownTextInputLabel,\n dropdownTextInputRequired,\n dropdownTextInputRoot,\n dropdownTextInputSection,\n dropdownTextInputWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { TextInput, type TextInputProps } from '../text-input/TextInput';\nimport type { DropdownChevronProps } from './DropdownChevron';\nimport type { DropdownClearButtonProps } from './DropdownClearButton';\nimport { useDropdownContext } from './DropdownContextProvider';\nimport { DropdownEndSlot } from './DropdownEndSlot';\n\nexport type DropdownTargetTextInputProps = Omit<\n TextInputProps,\n 'classNames'\n> & {\n classNames?: Omit<NonNullable<TextInputProps['classNames']>, 'textInput'> & {\n dropdownTextInput?: string;\n };\n clearButtonProps?: DropdownClearButtonProps;\n chevronProps?: DropdownChevronProps;\n\n showChevron?: boolean;\n clearable?: boolean;\n closeOnBlur?: boolean;\n startSlot?: ReactNode;\n displayQuery?: boolean;\n};\n\nexport const DropdownTargetTextInput = ({\n classNames,\n clearable,\n showChevron,\n clearButtonProps,\n chevronProps,\n closeOnBlur = true,\n startSlot,\n displayQuery = true,\n ...props\n}: DropdownTargetTextInputProps) => {\n const { store, value, query, setQuery } = useDropdownContext();\n const displayedValue = displayQuery\n ? (query ?? value?.value ?? '')\n : (value?.value ?? '');\n const isClearable = clearable && displayedValue !== '';\n\n const style = {\n '--dropdown-text-input-right-section-pointer-events': isClearable\n ? 'auto'\n : 'none',\n } as React.CSSProperties;\n\n return (\n <TextInput\n readOnly={false}\n value={displayedValue}\n startSlot={startSlot}\n endSlot={\n <DropdownEndSlot\n clearable={isClearable}\n showChevron={showChevron}\n clearButtonProps={clearButtonProps}\n chevronProps={chevronProps}\n />\n }\n onFocus={(e) => {\n e.stopPropagation();\n e.preventDefault();\n store.openDropdown();\n }}\n onBlur={(e) => {\n e.stopPropagation();\n e.preventDefault();\n if (closeOnBlur) {\n store.closeDropdown();\n setQuery(undefined);\n }\n }}\n classNames={{\n textInput: classNames?.dropdownTextInput ?? dropdownTextInput(),\n root: classNames?.root ?? dropdownTextInputRoot(),\n label: classNames?.label ?? dropdownTextInputLabel(),\n description: classNames?.description ?? dropdownTextInputDescription(),\n error: classNames?.error ?? dropdownTextInputError(),\n wrapper: classNames?.wrapper ?? dropdownTextInputWrapper(),\n input: classNames?.input ?? dropdownTextInputInput(),\n section: classNames?.section ?? dropdownTextInputSection(),\n required: classNames?.required ?? dropdownTextInputRequired(),\n }}\n style={style}\n {...props}\n />\n );\n};\n"],"mappings":"0gBAqCA,MAAa,GAA2B,CACtC,aACA,YACA,cACA,mBACA,eACA,cAAc,GACd,YACA,eAAe,GACf,GAAG,KAC+B,CAClC,GAAM,CAAE,QAAO,QAAO,QAAO,YAAa,GAAoB,CACxD,EAAiB,EAClB,GAAS,GAAO,OAAS,GACzB,GAAO,OAAS,GACf,EAAc,GAAa,IAAmB,GAE9C,EAAQ,CACZ,qDAAsD,EAClD,OACA,OACL,CAED,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"DropdownTargetTextInput.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownTargetTextInput.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n dropdownTextInput,\n dropdownTextInputDescription,\n dropdownTextInputError,\n dropdownTextInputInput,\n dropdownTextInputLabel,\n dropdownTextInputRequired,\n dropdownTextInputRoot,\n dropdownTextInputSection,\n dropdownTextInputWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { TextInput, type TextInputProps } from '../text-input/TextInput';\nimport type { DropdownChevronProps } from './DropdownChevron';\nimport type { DropdownClearButtonProps } from './DropdownClearButton';\nimport { useDropdownContext } from './DropdownContextProvider';\nimport { DropdownEndSlot } from './DropdownEndSlot';\n\nexport type DropdownTargetTextInputProps = Omit<\n TextInputProps,\n 'classNames'\n> & {\n classNames?: Omit<NonNullable<TextInputProps['classNames']>, 'textInput'> & {\n dropdownTextInput?: string;\n };\n clearButtonProps?: DropdownClearButtonProps;\n chevronProps?: DropdownChevronProps;\n\n showChevron?: boolean;\n clearable?: boolean;\n closeOnBlur?: boolean;\n startSlot?: ReactNode;\n displayQuery?: boolean;\n};\n\nexport const DropdownTargetTextInput = ({\n classNames,\n clearable,\n showChevron,\n clearButtonProps,\n chevronProps,\n closeOnBlur = true,\n startSlot,\n displayQuery = true,\n ...props\n}: DropdownTargetTextInputProps) => {\n const { store, value, query, setQuery } = useDropdownContext();\n const displayedValue = displayQuery\n ? (query ?? value?.value ?? '')\n : (value?.value ?? '');\n const isClearable = clearable && displayedValue !== '';\n\n const style = {\n '--dropdown-text-input-right-section-pointer-events': isClearable\n ? 'auto'\n : 'none',\n } as React.CSSProperties;\n\n return (\n <TextInput\n readOnly={false}\n value={displayedValue}\n startSlot={startSlot}\n endSlot={\n <DropdownEndSlot\n clearable={isClearable}\n showChevron={showChevron}\n clearButtonProps={clearButtonProps}\n chevronProps={chevronProps}\n />\n }\n onFocus={(e) => {\n e.stopPropagation();\n e.preventDefault();\n store.openDropdown();\n }}\n onBlur={(e) => {\n e.stopPropagation();\n e.preventDefault();\n if (closeOnBlur) {\n store.closeDropdown();\n setQuery(undefined);\n }\n }}\n classNames={{\n textInput: classNames?.dropdownTextInput ?? dropdownTextInput(),\n root: classNames?.root ?? dropdownTextInputRoot(),\n label: classNames?.label ?? dropdownTextInputLabel(),\n description: classNames?.description ?? dropdownTextInputDescription(),\n error: classNames?.error ?? dropdownTextInputError(),\n wrapper: classNames?.wrapper ?? dropdownTextInputWrapper(),\n input: classNames?.input ?? dropdownTextInputInput(),\n section: classNames?.section ?? dropdownTextInputSection(),\n required: classNames?.required ?? dropdownTextInputRequired(),\n }}\n style={style}\n {...props}\n />\n );\n};\n"],"mappings":"0gBAqCA,MAAa,GAA2B,CACtC,aACA,YACA,cACA,mBACA,eACA,cAAc,GACd,YACA,eAAe,GACf,GAAG,KAC+B,CAClC,GAAM,CAAE,QAAO,QAAO,QAAO,YAAa,GAAoB,CACxD,EAAiB,EAClB,GAAS,GAAO,OAAS,GACzB,GAAO,OAAS,GACf,EAAc,GAAa,IAAmB,GAE9C,EAAQ,CACZ,qDAAsD,EAClD,OACA,OACL,CAED,OACE,EAAC,EAAD,CACE,SAAU,GACV,MAAO,EACI,YACX,QACE,EAAC,EAAD,CACE,UAAW,EACE,cACK,mBACJ,eACd,CAAA,CAEJ,QAAU,GAAM,CACd,EAAE,iBAAiB,CACnB,EAAE,gBAAgB,CAClB,EAAM,cAAc,EAEtB,OAAS,GAAM,CACb,EAAE,iBAAiB,CACnB,EAAE,gBAAgB,CACd,IACF,EAAM,eAAe,CACrB,EAAS,IAAA,GAAU,GAGvB,WAAY,CACV,UAAW,GAAY,mBAAqB,GAAmB,CAC/D,KAAM,GAAY,MAAQ,GAAuB,CACjD,MAAO,GAAY,OAAS,GAAwB,CACpD,YAAa,GAAY,aAAe,GAA8B,CACtE,MAAO,GAAY,OAAS,GAAwB,CACpD,QAAS,GAAY,SAAW,GAA0B,CAC1D,MAAO,GAAY,OAAS,GAAwB,CACpD,QAAS,GAAY,SAAW,GAA0B,CAC1D,SAAU,GAAY,UAAY,GAA2B,CAC9D,CACM,QACP,GAAI,EACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/autocomplete/Autocomplete.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport {\n autocomplete,\n autocompleteClearButton,\n autocompleteClearButtonIcon,\n autocompleteClearButtonIconRaw,\n autocompleteClearButtonIconRawRoot,\n autocompleteClearButtonRoot,\n autocompleteEmpty,\n autocompleteOption,\n autocompleteOptions,\n autocompleteRoot,\n autocompleteScrollAreaAutosize,\n autocompleteTextInput,\n autocompleteTextInputDescription,\n autocompleteTextInputError,\n autocompleteTextInputInput,\n autocompleteTextInputLabel,\n autocompleteTextInputRequired,\n autocompleteTextInputRoot,\n autocompleteTextInputSection,\n autocompleteTextInputWrapper,\n} from '@mage-ui/styled-system/recipes';\nimport { useDebouncedCallback } from '@mantine/hooks';\nimport { useQuery } from '@tanstack/react-query';\n\nimport type { ComboboxProps } from '../combobox/Combobox';\nimport { ComboboxOptions } from '../combobox/ComboboxOptions';\nimport type { ComboboxTargetProps } from '../combobox/ComboboxTarget';\nimport { Dropdown } from '../Dropdown';\nimport type { DropdownValue } from '../DropdownContextProvider';\nimport { AutocompleteTarget } from './AutocompleteTarget';\n\nexport type AutocompleteProps = Omit<\n ComboboxProps,\n 'options' | 'classNames'\n> & {\n name: string;\n url?: string;\n fetcher: (params: {\n url?: string;\n query: string;\n }) => Promise<DropdownValue[]>;\n threshold?: number;\n debounce?: number;\n query?: string;\n classNames?: Omit<NonNullable<ComboboxProps['classNames']>, 'target'> & {\n target?: ComboboxTargetProps['classNames'] & {\n clearButton?: NonNullable<\n ComboboxTargetProps['clearButtonProps']\n >['classNames'];\n };\n };\n};\n\nexport const Autocomplete = ({\n name,\n label,\n placeholder,\n creatable,\n url,\n fetcher,\n query = '',\n debounce = 500,\n threshold = 3,\n clearButtonText,\n createText,\n emptyText = 'No hay resultados',\n classNames,\n ...props\n}: AutocompleteProps) => {\n const [searchValue, setSearchValue] = useState(query);\n const [isTyping, setIsTyping] = useState(false);\n\n const { data, isFetching } = useQuery<DropdownValue[]>({\n queryKey: [name, url, searchValue],\n queryFn: () => {\n return fetcher({\n url,\n query: searchValue,\n });\n },\n initialData: [],\n enabled: searchValue.length >= threshold,\n });\n\n const debounced = useDebouncedCallback((value: string) => {\n setSearchValue(value);\n setIsTyping(false);\n }, debounce);\n\n const handleSearch = (value: string) => {\n setIsTyping(true);\n debounced(value);\n };\n\n const {\n creatable: creatableClassNames,\n empty: emptyClassNames,\n target: targetClassNames,\n scrollArea: scrollAreaClassNames,\n ...dropdownClassNames\n } = classNames || {};\n\n const { clearButton: clearButtonClassNames, ...restTargetClassNames } =\n targetClassNames || {};\n\n const targetProps = {\n placeholder,\n label,\n classNames: {\n dropdownTextInput:\n restTargetClassNames?.dropdownTextInput ?? autocompleteTextInput(),\n root: restTargetClassNames?.root ?? autocompleteTextInputRoot(),\n label: restTargetClassNames?.label ?? autocompleteTextInputLabel(),\n description:\n restTargetClassNames?.description ?? autocompleteTextInputDescription(),\n error: restTargetClassNames?.error ?? autocompleteTextInputError(),\n wrapper: restTargetClassNames?.wrapper ?? autocompleteTextInputWrapper(),\n input: restTargetClassNames?.input ?? autocompleteTextInputInput(),\n section: restTargetClassNames?.section ?? autocompleteTextInputSection(),\n required:\n restTargetClassNames?.required ?? autocompleteTextInputRequired(),\n },\n clearButtonProps: {\n label: clearButtonText,\n classNames: {\n clearButton:\n clearButtonClassNames?.clearButton ?? autocompleteClearButton(),\n root: clearButtonClassNames?.root ?? autocompleteClearButtonRoot(),\n icon: clearButtonClassNames?.icon ?? autocompleteClearButtonIcon(),\n iconRaw: {\n iconRaw:\n clearButtonClassNames?.iconRaw?.iconRaw ??\n autocompleteClearButtonIconRaw(),\n root:\n clearButtonClassNames?.iconRaw?.root ??\n autocompleteClearButtonIconRawRoot(),\n },\n },\n },\n };\n\n const emptyProps = {\n emptyText,\n classNames: {\n empty: emptyClassNames?.empty ?? autocompleteEmpty(),\n },\n };\n\n const creatableProps = {\n creatable: creatable ?? false,\n createText,\n classNames: creatableClassNames,\n };\n\n return (\n <Dropdown\n shouldFilter={false}\n classNames={{\n dropdown: dropdownClassNames?.dropdown ?? autocomplete(),\n root: dropdownClassNames?.root ?? autocompleteRoot(),\n options: dropdownClassNames?.options ?? autocompleteOptions(),\n option: dropdownClassNames?.option ?? autocompleteOption(),\n empty: emptyClassNames?.empty ?? autocompleteEmpty(),\n search: dropdownClassNames?.search,\n }}\n scrollAreaProps={{\n classNames: {\n dropdownScrollAreaAutosize:\n scrollAreaClassNames?.dropdownScrollAreaAutosize ??\n autocompleteScrollAreaAutosize(),\n },\n }}\n target={\n <AutocompleteTarget\n debounced={handleSearch}\n isLoading={isFetching || isTyping}\n threshold={threshold}\n showEmpty={emptyText !== undefined}\n {...targetProps}\n />\n }\n options={data}\n {...props}\n >\n <ComboboxOptions\n emptyProps={emptyProps}\n creatableProps={creatableProps}\n />\n </Dropdown>\n );\n};\n"],"mappings":"++BAwDA,MAAa,GAAgB,CAC3B,OACA,QACA,cACA,YACA,MACA,UACA,QAAQ,GACR,WAAW,IACX,YAAY,EACZ,kBACA,aACA,YAAY,oBACZ,aACA,GAAG,KACoB,CACvB,GAAM,CAAC,EAAa,GAAkB,EAAS,EAAM,CAC/C,CAAC,EAAU,GAAe,EAAS,GAAM,CAEzC,CAAE,OAAM,cAAe,EAA0B,CACrD,SAAU,CAAC,EAAM,EAAK,EAAY,CAClC,YACS,EAAQ,CACb,MACA,MAAO,EACR,CAAC,CAEJ,YAAa,EAAE,CACf,QAAS,EAAY,QAAU,EAChC,CAAC,CAEI,EAAY,EAAsB,GAAkB,CACxD,EAAe,EAAM,CACrB,EAAY,GAAM,EACjB,EAAS,CAEN,EAAgB,GAAkB,CACtC,EAAY,GAAK,CACjB,EAAU,EAAM,EAGZ,CACJ,UAAW,EACX,MAAO,EACP,OAAQ,EACR,WAAY,EACZ,GAAG,GACD,GAAc,EAAE,CAEd,CAAE,YAAa,EAAuB,GAAG,GAC7C,GAAoB,EAAE,CAElB,GAAc,CAClB,cACA,QACA,WAAY,CACV,kBACE,GAAsB,mBAAqB,GAAuB,CACpE,KAAM,GAAsB,MAAQ,GAA2B,CAC/D,MAAO,GAAsB,OAAS,GAA4B,CAClE,YACE,GAAsB,aAAe,IAAkC,CACzE,MAAO,GAAsB,OAAS,GAA4B,CAClE,QAAS,GAAsB,SAAW,GAA8B,CACxE,MAAO,GAAsB,OAAS,GAA4B,CAClE,QAAS,GAAsB,SAAW,GAA8B,CACxE,SACE,GAAsB,UAAY,GAA+B,CACpE,CACD,iBAAkB,CAChB,MAAO,EACP,WAAY,CACV,YACE,GAAuB,aAAe,GAAyB,CACjE,KAAM,GAAuB,MAAQ,GAA6B,CAClE,KAAM,GAAuB,MAAQ,GAA6B,CAClE,QAAS,CACP,QACE,GAAuB,SAAS,SAChC,GAAgC,CAClC,KACE,GAAuB,SAAS,MAChC,IAAoC,CACvC,CACF,CACF,CACF,CAEK,GAAa,CACjB,YACA,WAAY,CACV,MAAO,GAAiB,OAAS,GAAmB,CACrD,CACF,CAEK,GAAiB,CACrB,UAAW,GAAa,GACxB,aACA,WAAY,EACb,CAED,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"Autocomplete.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/autocomplete/Autocomplete.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport {\n autocomplete,\n autocompleteClearButton,\n autocompleteClearButtonIcon,\n autocompleteClearButtonIconRaw,\n autocompleteClearButtonIconRawRoot,\n autocompleteClearButtonRoot,\n autocompleteEmpty,\n autocompleteOption,\n autocompleteOptions,\n autocompleteRoot,\n autocompleteScrollAreaAutosize,\n autocompleteTextInput,\n autocompleteTextInputDescription,\n autocompleteTextInputError,\n autocompleteTextInputInput,\n autocompleteTextInputLabel,\n autocompleteTextInputRequired,\n autocompleteTextInputRoot,\n autocompleteTextInputSection,\n autocompleteTextInputWrapper,\n} from '@mage-ui/styled-system/recipes';\nimport { useDebouncedCallback } from '@mantine/hooks';\nimport { useQuery } from '@tanstack/react-query';\n\nimport type { ComboboxProps } from '../combobox/Combobox';\nimport { ComboboxOptions } from '../combobox/ComboboxOptions';\nimport type { ComboboxTargetProps } from '../combobox/ComboboxTarget';\nimport { Dropdown } from '../Dropdown';\nimport type { DropdownValue } from '../DropdownContextProvider';\nimport { AutocompleteTarget } from './AutocompleteTarget';\n\nexport type AutocompleteProps = Omit<\n ComboboxProps,\n 'options' | 'classNames'\n> & {\n name: string;\n url?: string;\n fetcher: (params: {\n url?: string;\n query: string;\n }) => Promise<DropdownValue[]>;\n threshold?: number;\n debounce?: number;\n query?: string;\n classNames?: Omit<NonNullable<ComboboxProps['classNames']>, 'target'> & {\n target?: ComboboxTargetProps['classNames'] & {\n clearButton?: NonNullable<\n ComboboxTargetProps['clearButtonProps']\n >['classNames'];\n };\n };\n};\n\nexport const Autocomplete = ({\n name,\n label,\n placeholder,\n creatable,\n url,\n fetcher,\n query = '',\n debounce = 500,\n threshold = 3,\n clearButtonText,\n createText,\n emptyText = 'No hay resultados',\n classNames,\n ...props\n}: AutocompleteProps) => {\n const [searchValue, setSearchValue] = useState(query);\n const [isTyping, setIsTyping] = useState(false);\n\n const { data, isFetching } = useQuery<DropdownValue[]>({\n queryKey: [name, url, searchValue],\n queryFn: () => {\n return fetcher({\n url,\n query: searchValue,\n });\n },\n initialData: [],\n enabled: searchValue.length >= threshold,\n });\n\n const debounced = useDebouncedCallback((value: string) => {\n setSearchValue(value);\n setIsTyping(false);\n }, debounce);\n\n const handleSearch = (value: string) => {\n setIsTyping(true);\n debounced(value);\n };\n\n const {\n creatable: creatableClassNames,\n empty: emptyClassNames,\n target: targetClassNames,\n scrollArea: scrollAreaClassNames,\n ...dropdownClassNames\n } = classNames || {};\n\n const { clearButton: clearButtonClassNames, ...restTargetClassNames } =\n targetClassNames || {};\n\n const targetProps = {\n placeholder,\n label,\n classNames: {\n dropdownTextInput:\n restTargetClassNames?.dropdownTextInput ?? autocompleteTextInput(),\n root: restTargetClassNames?.root ?? autocompleteTextInputRoot(),\n label: restTargetClassNames?.label ?? autocompleteTextInputLabel(),\n description:\n restTargetClassNames?.description ?? autocompleteTextInputDescription(),\n error: restTargetClassNames?.error ?? autocompleteTextInputError(),\n wrapper: restTargetClassNames?.wrapper ?? autocompleteTextInputWrapper(),\n input: restTargetClassNames?.input ?? autocompleteTextInputInput(),\n section: restTargetClassNames?.section ?? autocompleteTextInputSection(),\n required:\n restTargetClassNames?.required ?? autocompleteTextInputRequired(),\n },\n clearButtonProps: {\n label: clearButtonText,\n classNames: {\n clearButton:\n clearButtonClassNames?.clearButton ?? autocompleteClearButton(),\n root: clearButtonClassNames?.root ?? autocompleteClearButtonRoot(),\n icon: clearButtonClassNames?.icon ?? autocompleteClearButtonIcon(),\n iconRaw: {\n iconRaw:\n clearButtonClassNames?.iconRaw?.iconRaw ??\n autocompleteClearButtonIconRaw(),\n root:\n clearButtonClassNames?.iconRaw?.root ??\n autocompleteClearButtonIconRawRoot(),\n },\n },\n },\n };\n\n const emptyProps = {\n emptyText,\n classNames: {\n empty: emptyClassNames?.empty ?? autocompleteEmpty(),\n },\n };\n\n const creatableProps = {\n creatable: creatable ?? false,\n createText,\n classNames: creatableClassNames,\n };\n\n return (\n <Dropdown\n shouldFilter={false}\n classNames={{\n dropdown: dropdownClassNames?.dropdown ?? autocomplete(),\n root: dropdownClassNames?.root ?? autocompleteRoot(),\n options: dropdownClassNames?.options ?? autocompleteOptions(),\n option: dropdownClassNames?.option ?? autocompleteOption(),\n empty: emptyClassNames?.empty ?? autocompleteEmpty(),\n search: dropdownClassNames?.search,\n }}\n scrollAreaProps={{\n classNames: {\n dropdownScrollAreaAutosize:\n scrollAreaClassNames?.dropdownScrollAreaAutosize ??\n autocompleteScrollAreaAutosize(),\n },\n }}\n target={\n <AutocompleteTarget\n debounced={handleSearch}\n isLoading={isFetching || isTyping}\n threshold={threshold}\n showEmpty={emptyText !== undefined}\n {...targetProps}\n />\n }\n options={data}\n {...props}\n >\n <ComboboxOptions\n emptyProps={emptyProps}\n creatableProps={creatableProps}\n />\n </Dropdown>\n );\n};\n"],"mappings":"++BAwDA,MAAa,GAAgB,CAC3B,OACA,QACA,cACA,YACA,MACA,UACA,QAAQ,GACR,WAAW,IACX,YAAY,EACZ,kBACA,aACA,YAAY,oBACZ,aACA,GAAG,KACoB,CACvB,GAAM,CAAC,EAAa,GAAkB,EAAS,EAAM,CAC/C,CAAC,EAAU,GAAe,EAAS,GAAM,CAEzC,CAAE,OAAM,cAAe,EAA0B,CACrD,SAAU,CAAC,EAAM,EAAK,EAAY,CAClC,YACS,EAAQ,CACb,MACA,MAAO,EACR,CAAC,CAEJ,YAAa,EAAE,CACf,QAAS,EAAY,QAAU,EAChC,CAAC,CAEI,EAAY,EAAsB,GAAkB,CACxD,EAAe,EAAM,CACrB,EAAY,GAAM,EACjB,EAAS,CAEN,EAAgB,GAAkB,CACtC,EAAY,GAAK,CACjB,EAAU,EAAM,EAGZ,CACJ,UAAW,EACX,MAAO,EACP,OAAQ,EACR,WAAY,EACZ,GAAG,GACD,GAAc,EAAE,CAEd,CAAE,YAAa,EAAuB,GAAG,GAC7C,GAAoB,EAAE,CAElB,GAAc,CAClB,cACA,QACA,WAAY,CACV,kBACE,GAAsB,mBAAqB,GAAuB,CACpE,KAAM,GAAsB,MAAQ,GAA2B,CAC/D,MAAO,GAAsB,OAAS,GAA4B,CAClE,YACE,GAAsB,aAAe,IAAkC,CACzE,MAAO,GAAsB,OAAS,GAA4B,CAClE,QAAS,GAAsB,SAAW,GAA8B,CACxE,MAAO,GAAsB,OAAS,GAA4B,CAClE,QAAS,GAAsB,SAAW,GAA8B,CACxE,SACE,GAAsB,UAAY,GAA+B,CACpE,CACD,iBAAkB,CAChB,MAAO,EACP,WAAY,CACV,YACE,GAAuB,aAAe,GAAyB,CACjE,KAAM,GAAuB,MAAQ,GAA6B,CAClE,KAAM,GAAuB,MAAQ,GAA6B,CAClE,QAAS,CACP,QACE,GAAuB,SAAS,SAChC,GAAgC,CAClC,KACE,GAAuB,SAAS,MAChC,IAAoC,CACvC,CACF,CACF,CACF,CAEK,GAAa,CACjB,YACA,WAAY,CACV,MAAO,GAAiB,OAAS,GAAmB,CACrD,CACF,CAEK,GAAiB,CACrB,UAAW,GAAa,GACxB,aACA,WAAY,EACb,CAED,OACE,EAAC,EAAD,CACE,aAAc,GACd,WAAY,CACV,SAAU,GAAoB,UAAY,GAAc,CACxD,KAAM,GAAoB,MAAQ,GAAkB,CACpD,QAAS,GAAoB,SAAW,GAAqB,CAC7D,OAAQ,GAAoB,QAAU,GAAoB,CAC1D,MAAO,GAAiB,OAAS,GAAmB,CACpD,OAAQ,GAAoB,OAC7B,CACD,gBAAiB,CACf,WAAY,CACV,2BACE,GAAsB,4BACtB,GAAgC,CACnC,CACF,CACD,OACE,EAAC,EAAD,CACE,UAAW,EACX,UAAW,GAAc,EACd,YACX,UAAW,IAAc,IAAA,GACzB,GAAI,GACJ,CAAA,CAEJ,QAAS,EACT,GAAI,WAEJ,EAAC,EAAD,CACc,cACI,kBAChB,CAAA,CACO,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteLoader.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/autocomplete/AutocompleteLoader.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 const AutocompleteLoader = () => {\n return (\n <Loader\n type='dots'\n classNames={{ root: cx(loaderDot(), loaderDotRoot()) }}\n />\n );\n};\n"],"mappings":"6MAIA,MAAa,MAET,EAAC,
|
|
1
|
+
{"version":3,"file":"AutocompleteLoader.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/autocomplete/AutocompleteLoader.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 const AutocompleteLoader = () => {\n return (\n <Loader\n type='dots'\n classNames={{ root: cx(loaderDot(), loaderDotRoot()) }}\n />\n );\n};\n"],"mappings":"6MAIA,MAAa,MAET,EAAC,EAAD,CACE,KAAK,OACL,WAAY,CAAE,KAAM,EAAG,GAAW,CAAE,GAAe,CAAC,CAAE,CACtD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteTarget.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/autocomplete/AutocompleteTarget.tsx"],"sourcesContent":["import { useEffect, useEffectEvent, useRef } from 'react';\n\nimport {\n ComboboxTarget,\n type ComboboxTargetProps,\n} from '../combobox/ComboboxTarget';\nimport { useDropdownContext } from '../DropdownContextProvider';\nimport { AutocompleteLoader } from './AutocompleteLoader';\n\nexport type AutocompleteTargetProps = ComboboxTargetProps & {\n debounced: (value: string) => void;\n isLoading?: boolean;\n threshold?: number;\n showEmpty?: boolean;\n};\n\nexport const AutocompleteTarget = ({\n debounced,\n isLoading,\n threshold = 3,\n showEmpty,\n ...props\n}: AutocompleteTargetProps) => {\n const { store, setQuery, query } = useDropdownContext();\n const prevIsLoadingRef = useRef(isLoading);\n const isQueriable = query && query.length >= threshold;\n\n const handleDropdownState = useEffectEvent(() => {\n if (prevIsLoadingRef.current && !isLoading && showEmpty) {\n if (isQueriable) {\n store.openDropdown();\n }\n } else if (isLoading || !isQueriable) {\n store.closeDropdown();\n }\n });\n\n useEffect(() => {\n handleDropdownState();\n prevIsLoadingRef.current = isLoading;\n }, [isLoading, handleDropdownState]);\n\n return (\n <ComboboxTarget\n onFocus={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n setQuery(e.currentTarget?.value);\n debounced(e.currentTarget?.value);\n }}\n showChevron={false}\n clearable={true}\n {...(isLoading && isQueriable ? { endSlot: <AutocompleteLoader /> } : {})}\n {...props}\n />\n );\n};\n"],"mappings":"4SAgBA,MAAa,GAAsB,CACjC,YACA,YACA,YAAY,EACZ,YACA,GAAG,KAC0B,CAC7B,GAAM,CAAE,QAAO,WAAU,SAAU,GAAoB,CACjD,EAAmB,EAAO,EAAU,CACpC,EAAc,GAAS,EAAM,QAAU,EAEvC,EAAsB,MAAqB,CAC3C,EAAiB,SAAW,CAAC,GAAa,EACxC,GACF,EAAM,cAAc,EAEb,GAAa,CAAC,IACvB,EAAM,eAAe,EAEvB,CAOF,OALA,MAAgB,CACd,GAAqB,CACrB,EAAiB,QAAU,GAC1B,CAAC,EAAW,EAAoB,CAAC,CAGlC,EAAC,
|
|
1
|
+
{"version":3,"file":"AutocompleteTarget.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/autocomplete/AutocompleteTarget.tsx"],"sourcesContent":["import { useEffect, useEffectEvent, useRef } from 'react';\n\nimport {\n ComboboxTarget,\n type ComboboxTargetProps,\n} from '../combobox/ComboboxTarget';\nimport { useDropdownContext } from '../DropdownContextProvider';\nimport { AutocompleteLoader } from './AutocompleteLoader';\n\nexport type AutocompleteTargetProps = ComboboxTargetProps & {\n debounced: (value: string) => void;\n isLoading?: boolean;\n threshold?: number;\n showEmpty?: boolean;\n};\n\nexport const AutocompleteTarget = ({\n debounced,\n isLoading,\n threshold = 3,\n showEmpty,\n ...props\n}: AutocompleteTargetProps) => {\n const { store, setQuery, query } = useDropdownContext();\n const prevIsLoadingRef = useRef(isLoading);\n const isQueriable = query && query.length >= threshold;\n\n const handleDropdownState = useEffectEvent(() => {\n if (prevIsLoadingRef.current && !isLoading && showEmpty) {\n if (isQueriable) {\n store.openDropdown();\n }\n } else if (isLoading || !isQueriable) {\n store.closeDropdown();\n }\n });\n\n useEffect(() => {\n handleDropdownState();\n prevIsLoadingRef.current = isLoading;\n }, [isLoading, handleDropdownState]);\n\n return (\n <ComboboxTarget\n onFocus={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n setQuery(e.currentTarget?.value);\n debounced(e.currentTarget?.value);\n }}\n showChevron={false}\n clearable={true}\n {...(isLoading && isQueriable ? { endSlot: <AutocompleteLoader /> } : {})}\n {...props}\n />\n );\n};\n"],"mappings":"4SAgBA,MAAa,GAAsB,CACjC,YACA,YACA,YAAY,EACZ,YACA,GAAG,KAC0B,CAC7B,GAAM,CAAE,QAAO,WAAU,SAAU,GAAoB,CACjD,EAAmB,EAAO,EAAU,CACpC,EAAc,GAAS,EAAM,QAAU,EAEvC,EAAsB,MAAqB,CAC3C,EAAiB,SAAW,CAAC,GAAa,EACxC,GACF,EAAM,cAAc,EAEb,GAAa,CAAC,IACvB,EAAM,eAAe,EAEvB,CAOF,OALA,MAAgB,CACd,GAAqB,CACrB,EAAiB,QAAU,GAC1B,CAAC,EAAW,EAAoB,CAAC,CAGlC,EAAC,EAAD,CACE,QAAU,GAAM,CACd,EAAE,iBAAiB,CACnB,EAAE,gBAAgB,EAEpB,QAAU,GAAM,CACd,EAAE,iBAAiB,CACnB,EAAE,gBAAgB,EAEpB,SAAW,GAAM,CACf,EAAE,iBAAiB,CACnB,EAAE,gBAAgB,CAClB,EAAS,EAAE,eAAe,MAAM,CAChC,EAAU,EAAE,eAAe,MAAM,EAEnC,YAAa,GACb,UAAW,GACX,GAAK,GAAa,EAAc,CAAE,QAAS,EAAC,EAAD,EAAsB,CAAA,CAAE,CAAG,EAAE,CACxE,GAAI,EACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/combobox/Combobox.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n combobox,\n comboboxChevron,\n comboboxChevronIcon,\n comboboxChevronIconRoot,\n comboboxChevronRoot,\n comboboxClearButton,\n comboboxClearButtonIcon,\n comboboxClearButtonIconRaw,\n comboboxClearButtonIconRawRoot,\n comboboxClearButtonRoot,\n comboboxEmpty,\n comboboxOption,\n comboboxOptionCreateIcon,\n comboboxOptionCreateIconIconRaw,\n comboboxOptionCreateIconIconRawRoot,\n comboboxOptionCreateIconRoot,\n comboboxOptions,\n comboboxRoot,\n comboboxScrollAreaAutosize,\n comboboxTextInput,\n comboboxTextInputDescription,\n comboboxTextInputError,\n comboboxTextInputInput,\n comboboxTextInputLabel,\n comboboxTextInputRequired,\n comboboxTextInputRoot,\n comboboxTextInputSection,\n comboboxTextInputWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Dropdown, type DropdownProps } from '../Dropdown';\nimport type { ComboboxCreatableOptionProps } from './ComboboxCreatableOption';\nimport type { ComboboxEmptyOptionProps } from './ComboboxEmptyOption';\nimport { ComboboxOptions } from './ComboboxOptions';\nimport { ComboboxTarget, type ComboboxTargetProps } from './ComboboxTarget';\n\nexport type ComboboxProps = Omit<\n DropdownProps,\n 'classNames' | 'target' | 'children'\n> & {\n label?: string;\n placeholder?: string;\n creatable?: boolean;\n createText?: string;\n emptyText?: string;\n clearButtonText?: string;\n startSlot?: ReactNode;\n classNames?: DropdownProps['classNames'] & {\n creatable?: ComboboxCreatableOptionProps['classNames'];\n empty?: ComboboxEmptyOptionProps['classNames'];\n target?: ComboboxTargetProps['classNames'] & {\n clearButton?: NonNullable<\n ComboboxTargetProps['clearButtonProps']\n >['classNames'];\n chevron?: NonNullable<ComboboxTargetProps['chevronProps']>['classNames'];\n };\n scrollArea?: NonNullable<DropdownProps['scrollAreaProps']>['classNames'];\n };\n};\n\nexport const Combobox = ({\n label,\n placeholder,\n creatable,\n createText,\n clearButtonText,\n emptyText = 'No results',\n startSlot,\n classNames,\n ...props\n}: ComboboxProps) => {\n const {\n creatable: creatableClassNames,\n empty: emptyClassNames,\n target: targetClassNames,\n scrollArea: scrollAreaClassNames,\n ...dropdownClassNames\n } = classNames || {};\n\n const {\n clearButton: clearButtonClassNames,\n chevron: chevronClassNames,\n ...restTargetClassNames\n } = targetClassNames || {};\n\n const targetProps = {\n placeholder,\n label,\n startSlot,\n classNames: {\n dropdownTextInput:\n restTargetClassNames?.dropdownTextInput ?? comboboxTextInput(),\n root: restTargetClassNames?.root ?? comboboxTextInputRoot(),\n label: restTargetClassNames?.label ?? comboboxTextInputLabel(),\n description:\n restTargetClassNames?.description ?? comboboxTextInputDescription(),\n error: restTargetClassNames?.error ?? comboboxTextInputError(),\n wrapper: restTargetClassNames?.wrapper ?? comboboxTextInputWrapper(),\n input: restTargetClassNames?.input ?? comboboxTextInputInput(),\n section: restTargetClassNames?.section ?? comboboxTextInputSection(),\n required: restTargetClassNames?.required ?? comboboxTextInputRequired(),\n },\n clearButtonProps: {\n label: clearButtonText,\n classNames: {\n clearButton:\n clearButtonClassNames?.clearButton ?? comboboxClearButton(),\n root: clearButtonClassNames?.root ?? comboboxClearButtonRoot(),\n icon: clearButtonClassNames?.icon ?? comboboxClearButtonIcon(),\n iconRaw: {\n iconRaw:\n clearButtonClassNames?.iconRaw?.iconRaw ??\n comboboxClearButtonIconRaw(),\n root:\n clearButtonClassNames?.iconRaw?.root ??\n comboboxClearButtonIconRawRoot(),\n },\n },\n },\n chevronProps: {\n classNames: {\n chevron: chevronClassNames?.chevron ?? comboboxChevron(),\n root: chevronClassNames?.root ?? comboboxChevronRoot(),\n open: {\n iconRaw: chevronClassNames?.open?.iconRaw ?? comboboxChevronIcon(),\n root: chevronClassNames?.open?.root ?? comboboxChevronIconRoot(),\n },\n close: {\n iconRaw: chevronClassNames?.close?.iconRaw ?? comboboxChevronIcon(),\n root: chevronClassNames?.close?.root ?? comboboxChevronIconRoot(),\n },\n },\n },\n };\n\n const dropdownClassName = dropdownClassNames?.dropdown ?? combobox();\n const rootClassName = dropdownClassNames?.root ?? comboboxRoot();\n const optionsClassName = dropdownClassNames?.options ?? comboboxOptions();\n const optionClassName = dropdownClassNames?.option ?? comboboxOption();\n const emptyClassName = emptyClassNames?.empty ?? comboboxEmpty();\n const searchClassName = dropdownClassNames?.search;\n\n const emptyProps = {\n emptyText,\n classNames: {\n empty: emptyClassNames?.empty ?? emptyClassName,\n },\n };\n\n const creatableProps = {\n creatable: creatable ?? false,\n createText,\n classNames: {\n create: creatableClassNames?.create,\n createIcon: {\n createIcon:\n creatableClassNames?.createIcon?.createIcon ??\n comboboxOptionCreateIcon(),\n root:\n creatableClassNames?.createIcon?.root ??\n comboboxOptionCreateIconRoot(),\n iconRaw: {\n iconRaw:\n creatableClassNames?.createIcon?.iconRaw?.iconRaw ??\n comboboxOptionCreateIconIconRaw(),\n root:\n creatableClassNames?.createIcon?.iconRaw?.root ??\n comboboxOptionCreateIconIconRawRoot(),\n },\n },\n },\n };\n\n return (\n <Dropdown\n classNames={{\n dropdown: dropdownClassName,\n root: rootClassName,\n options: optionsClassName,\n option: optionClassName,\n empty: emptyClassName,\n search: searchClassName,\n }}\n scrollAreaProps={{\n classNames: {\n dropdownScrollAreaAutosize:\n scrollAreaClassNames?.dropdownScrollAreaAutosize ??\n comboboxScrollAreaAutosize(),\n },\n }}\n target={<ComboboxTarget {...targetProps} />}\n {...props}\n >\n <ComboboxOptions\n emptyProps={emptyProps}\n creatableProps={creatableProps}\n />\n </Dropdown>\n );\n};\n"],"mappings":"s/BA+DA,MAAa,GAAY,CACvB,QACA,cACA,YACA,aACA,kBACA,YAAY,aACZ,YACA,aACA,GAAG,KACgB,CACnB,GAAM,CACJ,UAAW,EACX,MAAO,EACP,OAAQ,EACR,WAAY,EACZ,GAAG,GACD,GAAc,EAAE,CAEd,CACJ,YAAa,EACb,QAAS,EACT,GAAG,GACD,GAAoB,EAAE,CAEpB,EAAc,CAClB,cACA,QACA,YACA,WAAY,CACV,kBACE,GAAsB,mBAAqB,GAAmB,CAChE,KAAM,GAAsB,MAAQ,GAAuB,CAC3D,MAAO,GAAsB,OAAS,GAAwB,CAC9D,YACE,GAAsB,aAAe,GAA8B,CACrE,MAAO,GAAsB,OAAS,GAAwB,CAC9D,QAAS,GAAsB,SAAW,GAA0B,CACpE,MAAO,GAAsB,OAAS,GAAwB,CAC9D,QAAS,GAAsB,SAAW,GAA0B,CACpE,SAAU,GAAsB,UAAY,GAA2B,CACxE,CACD,iBAAkB,CAChB,MAAO,EACP,WAAY,CACV,YACE,GAAuB,aAAe,GAAqB,CAC7D,KAAM,GAAuB,MAAQ,GAAyB,CAC9D,KAAM,GAAuB,MAAQ,GAAyB,CAC9D,QAAS,CACP,QACE,GAAuB,SAAS,SAChC,GAA4B,CAC9B,KACE,GAAuB,SAAS,MAChC,GAAgC,CACnC,CACF,CACF,CACD,aAAc,CACZ,WAAY,CACV,QAAS,GAAmB,SAAW,GAAiB,CACxD,KAAM,GAAmB,MAAQ,GAAqB,CACtD,KAAM,CACJ,QAAS,GAAmB,MAAM,SAAW,GAAqB,CAClE,KAAM,GAAmB,MAAM,MAAQ,GAAyB,CACjE,CACD,MAAO,CACL,QAAS,GAAmB,OAAO,SAAW,GAAqB,CACnE,KAAM,GAAmB,OAAO,MAAQ,GAAyB,CAClE,CACF,CACF,CACF,CAEK,EAAoB,GAAoB,UAAY,GAAU,CAC9D,EAAgB,GAAoB,MAAQ,GAAc,CAC1D,EAAmB,GAAoB,SAAW,GAAiB,CACnE,EAAkB,GAAoB,QAAU,GAAgB,CAChE,EAAiB,GAAiB,OAAS,GAAe,CAC1D,GAAkB,GAAoB,OAEtC,GAAa,CACjB,YACA,WAAY,CACV,MAAO,GAAiB,OAAS,EAClC,CACF,CAEK,GAAiB,CACrB,UAAW,GAAa,GACxB,aACA,WAAY,CACV,OAAQ,GAAqB,OAC7B,WAAY,CACV,WACE,GAAqB,YAAY,YACjC,GAA0B,CAC5B,KACE,GAAqB,YAAY,MACjC,GAA8B,CAChC,QAAS,CACP,QACE,GAAqB,YAAY,SAAS,SAC1C,GAAiC,CACnC,KACE,GAAqB,YAAY,SAAS,MAC1C,GAAqC,CACxC,CACF,CACF,CACF,CAED,OACE,EAAC,
|
|
1
|
+
{"version":3,"file":"Combobox.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/combobox/Combobox.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n combobox,\n comboboxChevron,\n comboboxChevronIcon,\n comboboxChevronIconRoot,\n comboboxChevronRoot,\n comboboxClearButton,\n comboboxClearButtonIcon,\n comboboxClearButtonIconRaw,\n comboboxClearButtonIconRawRoot,\n comboboxClearButtonRoot,\n comboboxEmpty,\n comboboxOption,\n comboboxOptionCreateIcon,\n comboboxOptionCreateIconIconRaw,\n comboboxOptionCreateIconIconRawRoot,\n comboboxOptionCreateIconRoot,\n comboboxOptions,\n comboboxRoot,\n comboboxScrollAreaAutosize,\n comboboxTextInput,\n comboboxTextInputDescription,\n comboboxTextInputError,\n comboboxTextInputInput,\n comboboxTextInputLabel,\n comboboxTextInputRequired,\n comboboxTextInputRoot,\n comboboxTextInputSection,\n comboboxTextInputWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Dropdown, type DropdownProps } from '../Dropdown';\nimport type { ComboboxCreatableOptionProps } from './ComboboxCreatableOption';\nimport type { ComboboxEmptyOptionProps } from './ComboboxEmptyOption';\nimport { ComboboxOptions } from './ComboboxOptions';\nimport { ComboboxTarget, type ComboboxTargetProps } from './ComboboxTarget';\n\nexport type ComboboxProps = Omit<\n DropdownProps,\n 'classNames' | 'target' | 'children'\n> & {\n label?: string;\n placeholder?: string;\n creatable?: boolean;\n createText?: string;\n emptyText?: string;\n clearButtonText?: string;\n startSlot?: ReactNode;\n classNames?: DropdownProps['classNames'] & {\n creatable?: ComboboxCreatableOptionProps['classNames'];\n empty?: ComboboxEmptyOptionProps['classNames'];\n target?: ComboboxTargetProps['classNames'] & {\n clearButton?: NonNullable<\n ComboboxTargetProps['clearButtonProps']\n >['classNames'];\n chevron?: NonNullable<ComboboxTargetProps['chevronProps']>['classNames'];\n };\n scrollArea?: NonNullable<DropdownProps['scrollAreaProps']>['classNames'];\n };\n};\n\nexport const Combobox = ({\n label,\n placeholder,\n creatable,\n createText,\n clearButtonText,\n emptyText = 'No results',\n startSlot,\n classNames,\n ...props\n}: ComboboxProps) => {\n const {\n creatable: creatableClassNames,\n empty: emptyClassNames,\n target: targetClassNames,\n scrollArea: scrollAreaClassNames,\n ...dropdownClassNames\n } = classNames || {};\n\n const {\n clearButton: clearButtonClassNames,\n chevron: chevronClassNames,\n ...restTargetClassNames\n } = targetClassNames || {};\n\n const targetProps = {\n placeholder,\n label,\n startSlot,\n classNames: {\n dropdownTextInput:\n restTargetClassNames?.dropdownTextInput ?? comboboxTextInput(),\n root: restTargetClassNames?.root ?? comboboxTextInputRoot(),\n label: restTargetClassNames?.label ?? comboboxTextInputLabel(),\n description:\n restTargetClassNames?.description ?? comboboxTextInputDescription(),\n error: restTargetClassNames?.error ?? comboboxTextInputError(),\n wrapper: restTargetClassNames?.wrapper ?? comboboxTextInputWrapper(),\n input: restTargetClassNames?.input ?? comboboxTextInputInput(),\n section: restTargetClassNames?.section ?? comboboxTextInputSection(),\n required: restTargetClassNames?.required ?? comboboxTextInputRequired(),\n },\n clearButtonProps: {\n label: clearButtonText,\n classNames: {\n clearButton:\n clearButtonClassNames?.clearButton ?? comboboxClearButton(),\n root: clearButtonClassNames?.root ?? comboboxClearButtonRoot(),\n icon: clearButtonClassNames?.icon ?? comboboxClearButtonIcon(),\n iconRaw: {\n iconRaw:\n clearButtonClassNames?.iconRaw?.iconRaw ??\n comboboxClearButtonIconRaw(),\n root:\n clearButtonClassNames?.iconRaw?.root ??\n comboboxClearButtonIconRawRoot(),\n },\n },\n },\n chevronProps: {\n classNames: {\n chevron: chevronClassNames?.chevron ?? comboboxChevron(),\n root: chevronClassNames?.root ?? comboboxChevronRoot(),\n open: {\n iconRaw: chevronClassNames?.open?.iconRaw ?? comboboxChevronIcon(),\n root: chevronClassNames?.open?.root ?? comboboxChevronIconRoot(),\n },\n close: {\n iconRaw: chevronClassNames?.close?.iconRaw ?? comboboxChevronIcon(),\n root: chevronClassNames?.close?.root ?? comboboxChevronIconRoot(),\n },\n },\n },\n };\n\n const dropdownClassName = dropdownClassNames?.dropdown ?? combobox();\n const rootClassName = dropdownClassNames?.root ?? comboboxRoot();\n const optionsClassName = dropdownClassNames?.options ?? comboboxOptions();\n const optionClassName = dropdownClassNames?.option ?? comboboxOption();\n const emptyClassName = emptyClassNames?.empty ?? comboboxEmpty();\n const searchClassName = dropdownClassNames?.search;\n\n const emptyProps = {\n emptyText,\n classNames: {\n empty: emptyClassNames?.empty ?? emptyClassName,\n },\n };\n\n const creatableProps = {\n creatable: creatable ?? false,\n createText,\n classNames: {\n create: creatableClassNames?.create,\n createIcon: {\n createIcon:\n creatableClassNames?.createIcon?.createIcon ??\n comboboxOptionCreateIcon(),\n root:\n creatableClassNames?.createIcon?.root ??\n comboboxOptionCreateIconRoot(),\n iconRaw: {\n iconRaw:\n creatableClassNames?.createIcon?.iconRaw?.iconRaw ??\n comboboxOptionCreateIconIconRaw(),\n root:\n creatableClassNames?.createIcon?.iconRaw?.root ??\n comboboxOptionCreateIconIconRawRoot(),\n },\n },\n },\n };\n\n return (\n <Dropdown\n classNames={{\n dropdown: dropdownClassName,\n root: rootClassName,\n options: optionsClassName,\n option: optionClassName,\n empty: emptyClassName,\n search: searchClassName,\n }}\n scrollAreaProps={{\n classNames: {\n dropdownScrollAreaAutosize:\n scrollAreaClassNames?.dropdownScrollAreaAutosize ??\n comboboxScrollAreaAutosize(),\n },\n }}\n target={<ComboboxTarget {...targetProps} />}\n {...props}\n >\n <ComboboxOptions\n emptyProps={emptyProps}\n creatableProps={creatableProps}\n />\n </Dropdown>\n );\n};\n"],"mappings":"s/BA+DA,MAAa,GAAY,CACvB,QACA,cACA,YACA,aACA,kBACA,YAAY,aACZ,YACA,aACA,GAAG,KACgB,CACnB,GAAM,CACJ,UAAW,EACX,MAAO,EACP,OAAQ,EACR,WAAY,EACZ,GAAG,GACD,GAAc,EAAE,CAEd,CACJ,YAAa,EACb,QAAS,EACT,GAAG,GACD,GAAoB,EAAE,CAEpB,EAAc,CAClB,cACA,QACA,YACA,WAAY,CACV,kBACE,GAAsB,mBAAqB,GAAmB,CAChE,KAAM,GAAsB,MAAQ,GAAuB,CAC3D,MAAO,GAAsB,OAAS,GAAwB,CAC9D,YACE,GAAsB,aAAe,GAA8B,CACrE,MAAO,GAAsB,OAAS,GAAwB,CAC9D,QAAS,GAAsB,SAAW,GAA0B,CACpE,MAAO,GAAsB,OAAS,GAAwB,CAC9D,QAAS,GAAsB,SAAW,GAA0B,CACpE,SAAU,GAAsB,UAAY,GAA2B,CACxE,CACD,iBAAkB,CAChB,MAAO,EACP,WAAY,CACV,YACE,GAAuB,aAAe,GAAqB,CAC7D,KAAM,GAAuB,MAAQ,GAAyB,CAC9D,KAAM,GAAuB,MAAQ,GAAyB,CAC9D,QAAS,CACP,QACE,GAAuB,SAAS,SAChC,GAA4B,CAC9B,KACE,GAAuB,SAAS,MAChC,GAAgC,CACnC,CACF,CACF,CACD,aAAc,CACZ,WAAY,CACV,QAAS,GAAmB,SAAW,GAAiB,CACxD,KAAM,GAAmB,MAAQ,GAAqB,CACtD,KAAM,CACJ,QAAS,GAAmB,MAAM,SAAW,GAAqB,CAClE,KAAM,GAAmB,MAAM,MAAQ,GAAyB,CACjE,CACD,MAAO,CACL,QAAS,GAAmB,OAAO,SAAW,GAAqB,CACnE,KAAM,GAAmB,OAAO,MAAQ,GAAyB,CAClE,CACF,CACF,CACF,CAEK,EAAoB,GAAoB,UAAY,GAAU,CAC9D,EAAgB,GAAoB,MAAQ,GAAc,CAC1D,EAAmB,GAAoB,SAAW,GAAiB,CACnE,EAAkB,GAAoB,QAAU,GAAgB,CAChE,EAAiB,GAAiB,OAAS,GAAe,CAC1D,GAAkB,GAAoB,OAEtC,GAAa,CACjB,YACA,WAAY,CACV,MAAO,GAAiB,OAAS,EAClC,CACF,CAEK,GAAiB,CACrB,UAAW,GAAa,GACxB,aACA,WAAY,CACV,OAAQ,GAAqB,OAC7B,WAAY,CACV,WACE,GAAqB,YAAY,YACjC,GAA0B,CAC5B,KACE,GAAqB,YAAY,MACjC,GAA8B,CAChC,QAAS,CACP,QACE,GAAqB,YAAY,SAAS,SAC1C,GAAiC,CACnC,KACE,GAAqB,YAAY,SAAS,MAC1C,GAAqC,CACxC,CACF,CACF,CACF,CAED,OACE,EAAC,EAAD,CACE,WAAY,CACV,SAAU,EACV,KAAM,EACN,QAAS,EACT,OAAQ,EACR,MAAO,EACP,OAAQ,GACT,CACD,gBAAiB,CACf,WAAY,CACV,2BACE,GAAsB,4BACtB,GAA4B,CAC/B,CACF,CACD,OAAQ,EAAC,GAAD,CAAgB,GAAI,EAAe,CAAA,CAC3C,GAAI,WAEJ,EAAC,EAAD,CACc,cACI,kBAChB,CAAA,CACO,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxCreatableOption.d.mts","names":[],"sources":["../../../../../src/components/controls/dropdown/combobox/ComboboxCreatableOption.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComboboxCreatableOption.d.mts","names":[],"sources":["../../../../../src/components/controls/dropdown/combobox/ComboboxCreatableOption.tsx"],"mappings":";KAcY,4BAAA;EACV,SAAA;EACA,UAAA;EACA,UAAA;IACE,MAAA;IACA,UAAA;MACE,UAAA;MACA,IAAA;MACA,OAAA;QACE,OAAA;QACA,IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxCreatableOption.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/combobox/ComboboxCreatableOption.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport {\n comboboxOptionCreate,\n comboboxOptionCreateCreate,\n comboboxOptionCreateIcon,\n comboboxOptionCreateIconIconRaw,\n comboboxOptionCreateIconIconRawRoot,\n comboboxOptionCreateIconRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { Icon } from '@/components/data-display';\n\nimport { Dropdown } from '../Dropdown';\nimport { useDropdownContext } from '../DropdownContextProvider';\n\nexport type ComboboxCreatableOptionProps = {\n creatable: boolean;\n createText?: string;\n classNames?: {\n create?: string;\n createIcon?: {\n createIcon?: string;\n root?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n };\n};\n\nexport const ComboboxCreatableOption = ({\n creatable,\n createText,\n classNames,\n}: ComboboxCreatableOptionProps) => {\n const { query, options } = useDropdownContext();\n\n if (!creatable || !query || query.trim().length === 0) {\n return null;\n }\n\n const isFound = options.some(\n (item) =>\n item.value?.toString().toLowerCase().trim() ===\n query?.toLowerCase().trim(),\n );\n\n if (isFound) {\n return null;\n }\n\n return (\n <Dropdown.Option\n value={query}\n onMouseDown={(e) => e.preventDefault()}\n classNames={{\n option: cx(\n classNames?.create ?? comboboxOptionCreate(),\n comboboxOptionCreateCreate(),\n ),\n }}\n >\n <Icon\n path='/icons/sprite-mage.svg'\n name='mage-combobox-plus'\n classNames={{\n icon:\n classNames?.createIcon?.createIcon ?? comboboxOptionCreateIcon(),\n root: classNames?.createIcon?.root ?? comboboxOptionCreateIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.createIcon?.iconRaw?.iconRaw ??\n comboboxOptionCreateIconIconRaw(),\n root:\n classNames?.createIcon?.iconRaw?.root ??\n comboboxOptionCreateIconIconRawRoot(),\n },\n }}\n />\n {createText ?? 'Create'} {`'${query}'`}\n </Dropdown.Option>\n );\n};\n"],"mappings":"sgBA8BA,MAAa,GAA2B,CACtC,YACA,aACA,gBACkC,CAClC,GAAM,CAAE,QAAO,WAAY,GAAoB,CAgB/C,MAdI,CAAC,GAAa,CAAC,GAAS,EAAM,MAAM,CAAC,SAAW,GAIpC,EAAQ,KACrB,GACC,EAAK,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,GAC3C,GAAO,aAAa,CAAC,MAAM,CAC9B,CAGQ,KAIP,EAAC,EAAS,
|
|
1
|
+
{"version":3,"file":"ComboboxCreatableOption.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/combobox/ComboboxCreatableOption.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport {\n comboboxOptionCreate,\n comboboxOptionCreateCreate,\n comboboxOptionCreateIcon,\n comboboxOptionCreateIconIconRaw,\n comboboxOptionCreateIconIconRawRoot,\n comboboxOptionCreateIconRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { Icon } from '@/components/data-display';\n\nimport { Dropdown } from '../Dropdown';\nimport { useDropdownContext } from '../DropdownContextProvider';\n\nexport type ComboboxCreatableOptionProps = {\n creatable: boolean;\n createText?: string;\n classNames?: {\n create?: string;\n createIcon?: {\n createIcon?: string;\n root?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n };\n};\n\nexport const ComboboxCreatableOption = ({\n creatable,\n createText,\n classNames,\n}: ComboboxCreatableOptionProps) => {\n const { query, options } = useDropdownContext();\n\n if (!creatable || !query || query.trim().length === 0) {\n return null;\n }\n\n const isFound = options.some(\n (item) =>\n item.value?.toString().toLowerCase().trim() ===\n query?.toLowerCase().trim(),\n );\n\n if (isFound) {\n return null;\n }\n\n return (\n <Dropdown.Option\n value={query}\n onMouseDown={(e) => e.preventDefault()}\n classNames={{\n option: cx(\n classNames?.create ?? comboboxOptionCreate(),\n comboboxOptionCreateCreate(),\n ),\n }}\n >\n <Icon\n path='/icons/sprite-mage.svg'\n name='mage-combobox-plus'\n classNames={{\n icon:\n classNames?.createIcon?.createIcon ?? comboboxOptionCreateIcon(),\n root: classNames?.createIcon?.root ?? comboboxOptionCreateIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.createIcon?.iconRaw?.iconRaw ??\n comboboxOptionCreateIconIconRaw(),\n root:\n classNames?.createIcon?.iconRaw?.root ??\n comboboxOptionCreateIconIconRawRoot(),\n },\n }}\n />\n {createText ?? 'Create'} {`'${query}'`}\n </Dropdown.Option>\n );\n};\n"],"mappings":"sgBA8BA,MAAa,GAA2B,CACtC,YACA,aACA,gBACkC,CAClC,GAAM,CAAE,QAAO,WAAY,GAAoB,CAgB/C,MAdI,CAAC,GAAa,CAAC,GAAS,EAAM,MAAM,CAAC,SAAW,GAIpC,EAAQ,KACrB,GACC,EAAK,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,GAC3C,GAAO,aAAa,CAAC,MAAM,CAC9B,CAGQ,KAIP,EAAC,EAAS,OAAV,CACE,MAAO,EACP,YAAc,GAAM,EAAE,gBAAgB,CACtC,WAAY,CACV,OAAQ,EACN,GAAY,QAAU,GAAsB,CAC5C,GAA4B,CAC7B,CACF,UARH,CAUE,EAAC,EAAD,CACE,KAAK,yBACL,KAAK,qBACL,WAAY,CACV,KACE,GAAY,YAAY,YAAc,GAA0B,CAClE,KAAM,GAAY,YAAY,MAAQ,GAA8B,CACpE,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAiC,CACnC,KACE,GAAY,YAAY,SAAS,MACjC,GAAqC,CACxC,CACF,CACD,CAAA,CACD,GAAc,SAAS,IAAE,IAAI,EAAM,GACpB"}
|