@mantine/core 5.1.4 → 5.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/cjs/AppShell/HorizontalSection/HorizontalSection.styles.js +6 -4
  2. package/cjs/AppShell/HorizontalSection/HorizontalSection.styles.js.map +1 -1
  3. package/cjs/AppShell/VerticalSection/VerticalSection.js +1 -1
  4. package/cjs/AppShell/VerticalSection/VerticalSection.js.map +1 -1
  5. package/cjs/AppShell/VerticalSection/VerticalSection.styles.js.map +1 -1
  6. package/cjs/Box/use-sx/get-system-styles/get-system-styles.js +6 -6
  7. package/cjs/Box/use-sx/get-system-styles/get-system-styles.js.map +1 -1
  8. package/cjs/Button/ButtonGroup/ButtonGroup.styles.js +6 -0
  9. package/cjs/Button/ButtonGroup/ButtonGroup.styles.js.map +1 -1
  10. package/cjs/Collapse/use-collapse.js +1 -1
  11. package/cjs/Collapse/use-collapse.js.map +1 -1
  12. package/cjs/Floating/FloatingArrow/get-arrow-position-styles.js +4 -4
  13. package/cjs/Floating/FloatingArrow/get-arrow-position-styles.js.map +1 -1
  14. package/cjs/HoverCard/HoverCardTarget/HoverCardTarget.js +35 -5
  15. package/cjs/HoverCard/HoverCardTarget/HoverCardTarget.js.map +1 -1
  16. package/cjs/Menu/MenuTarget/MenuTarget.js +35 -5
  17. package/cjs/Menu/MenuTarget/MenuTarget.js.map +1 -1
  18. package/cjs/Modal/Modal.styles.js +4 -2
  19. package/cjs/Modal/Modal.styles.js.map +1 -1
  20. package/cjs/MultiSelect/MultiSelect.js +9 -7
  21. package/cjs/MultiSelect/MultiSelect.js.map +1 -1
  22. package/cjs/MultiSelect/MultiSelect.styles.js +23 -5
  23. package/cjs/MultiSelect/MultiSelect.styles.js.map +1 -1
  24. package/cjs/NumberInput/NumberInput.js +4 -0
  25. package/cjs/NumberInput/NumberInput.js.map +1 -1
  26. package/cjs/Popover/PopoverTarget/PopoverTarget.js +19 -9
  27. package/cjs/Popover/PopoverTarget/PopoverTarget.js.map +1 -1
  28. package/cjs/Select/Select.js +6 -4
  29. package/cjs/Select/Select.js.map +1 -1
  30. package/cjs/Select/SelectItems/SelectItems.js +4 -4
  31. package/cjs/Select/SelectItems/SelectItems.js.map +1 -1
  32. package/cjs/Stepper/Step/Step.js +10 -4
  33. package/cjs/Stepper/Step/Step.js.map +1 -1
  34. package/cjs/Stepper/Step/Step.styles.js +34 -10
  35. package/cjs/Stepper/Step/Step.styles.js.map +1 -1
  36. package/cjs/Stepper/Stepper.js +1 -1
  37. package/cjs/Stepper/Stepper.js.map +1 -1
  38. package/cjs/Tooltip/Tooltip.js +18 -8
  39. package/cjs/Tooltip/Tooltip.js.map +1 -1
  40. package/esm/AppShell/HorizontalSection/HorizontalSection.styles.js +6 -4
  41. package/esm/AppShell/HorizontalSection/HorizontalSection.styles.js.map +1 -1
  42. package/esm/AppShell/VerticalSection/VerticalSection.js +1 -1
  43. package/esm/AppShell/VerticalSection/VerticalSection.js.map +1 -1
  44. package/esm/AppShell/VerticalSection/VerticalSection.styles.js.map +1 -1
  45. package/esm/Box/use-sx/get-system-styles/get-system-styles.js +6 -6
  46. package/esm/Box/use-sx/get-system-styles/get-system-styles.js.map +1 -1
  47. package/esm/Button/ButtonGroup/ButtonGroup.styles.js +6 -0
  48. package/esm/Button/ButtonGroup/ButtonGroup.styles.js.map +1 -1
  49. package/esm/Collapse/use-collapse.js +2 -2
  50. package/esm/Collapse/use-collapse.js.map +1 -1
  51. package/esm/Floating/FloatingArrow/get-arrow-position-styles.js +4 -4
  52. package/esm/Floating/FloatingArrow/get-arrow-position-styles.js.map +1 -1
  53. package/esm/HoverCard/HoverCardTarget/HoverCardTarget.js +36 -6
  54. package/esm/HoverCard/HoverCardTarget/HoverCardTarget.js.map +1 -1
  55. package/esm/Menu/MenuTarget/MenuTarget.js +36 -6
  56. package/esm/Menu/MenuTarget/MenuTarget.js.map +1 -1
  57. package/esm/Modal/Modal.styles.js +4 -2
  58. package/esm/Modal/Modal.styles.js.map +1 -1
  59. package/esm/MultiSelect/MultiSelect.js +9 -7
  60. package/esm/MultiSelect/MultiSelect.js.map +1 -1
  61. package/esm/MultiSelect/MultiSelect.styles.js +23 -5
  62. package/esm/MultiSelect/MultiSelect.styles.js.map +1 -1
  63. package/esm/NumberInput/NumberInput.js +4 -0
  64. package/esm/NumberInput/NumberInput.js.map +1 -1
  65. package/esm/Popover/PopoverTarget/PopoverTarget.js +20 -10
  66. package/esm/Popover/PopoverTarget/PopoverTarget.js.map +1 -1
  67. package/esm/Select/Select.js +6 -4
  68. package/esm/Select/Select.js.map +1 -1
  69. package/esm/Select/SelectItems/SelectItems.js +4 -4
  70. package/esm/Select/SelectItems/SelectItems.js.map +1 -1
  71. package/esm/Stepper/Step/Step.js +10 -4
  72. package/esm/Stepper/Step/Step.js.map +1 -1
  73. package/esm/Stepper/Step/Step.styles.js +34 -10
  74. package/esm/Stepper/Step/Step.styles.js.map +1 -1
  75. package/esm/Stepper/Stepper.js +1 -1
  76. package/esm/Stepper/Stepper.js.map +1 -1
  77. package/esm/Tooltip/Tooltip.js +19 -9
  78. package/esm/Tooltip/Tooltip.js.map +1 -1
  79. package/lib/AppShell/HorizontalSection/HorizontalSection.styles.d.ts.map +1 -1
  80. package/lib/AppShell/VerticalSection/VerticalSection.styles.d.ts +1 -1
  81. package/lib/AppShell/VerticalSection/VerticalSection.styles.d.ts.map +1 -1
  82. package/lib/Button/ButtonGroup/ButtonGroup.styles.d.ts.map +1 -1
  83. package/lib/HoverCard/HoverCard.d.ts +1 -2
  84. package/lib/HoverCard/HoverCard.d.ts.map +1 -1
  85. package/lib/HoverCard/HoverCardTarget/HoverCardTarget.d.ts +2 -5
  86. package/lib/HoverCard/HoverCardTarget/HoverCardTarget.d.ts.map +1 -1
  87. package/lib/Menu/Menu.d.ts +1 -2
  88. package/lib/Menu/Menu.d.ts.map +1 -1
  89. package/lib/Menu/MenuTarget/MenuTarget.d.ts +1 -4
  90. package/lib/Menu/MenuTarget/MenuTarget.d.ts.map +1 -1
  91. package/lib/Modal/Modal.styles.d.ts.map +1 -1
  92. package/lib/MultiSelect/MultiSelect.d.ts +1 -1
  93. package/lib/MultiSelect/MultiSelect.d.ts.map +1 -1
  94. package/lib/NumberInput/NumberInput.d.ts.map +1 -1
  95. package/lib/Popover/Popover.d.ts +1 -2
  96. package/lib/Popover/Popover.d.ts.map +1 -1
  97. package/lib/Popover/PopoverTarget/PopoverTarget.d.ts +1 -4
  98. package/lib/Popover/PopoverTarget/PopoverTarget.d.ts.map +1 -1
  99. package/lib/Select/Select.d.ts +1 -1
  100. package/lib/Select/Select.d.ts.map +1 -1
  101. package/lib/Select/SelectItems/SelectItems.d.ts.map +1 -1
  102. package/lib/Select/SelectPopover/SelectPopover.d.ts +1 -1
  103. package/lib/Stepper/Step/Step.d.ts +2 -0
  104. package/lib/Stepper/Step/Step.d.ts.map +1 -1
  105. package/lib/Stepper/Step/Step.styles.d.ts +3 -2
  106. package/lib/Stepper/Step/Step.styles.d.ts.map +1 -1
  107. package/lib/Tooltip/Tooltip.d.ts +5 -7
  108. package/lib/Tooltip/Tooltip.d.ts.map +1 -1
  109. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../src/Select/Select.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, useDidUpdate, useScrollIntoView } from '@mantine/hooks';\nimport { DefaultProps, MantineSize, MantineShadow, getDefaultZIndex } from '@mantine/styles';\nimport { groupOptions } from '@mantine/utils';\nimport { SelectScrollArea } from './SelectScrollArea/SelectScrollArea';\nimport { Input, useInputProps } from '../Input';\nimport { MantineTransition } from '../Transition';\nimport { DefaultItem } from './DefaultItem/DefaultItem';\nimport { getSelectRightSectionProps } from './SelectRightSection/get-select-right-section-props';\nimport { SelectItems } from './SelectItems/SelectItems';\nimport { SelectPopover } from './SelectPopover/SelectPopover';\nimport { SelectItem, BaseSelectStylesNames, BaseSelectProps } from './types';\nimport { filterData } from './filter-data/filter-data';\nimport useStyles from './Select.styles';\n\nexport interface SelectSharedProps<Item, Value> {\n /** Select data used to renderer items in dropdown */\n data: (string | Item)[];\n\n /** Controlled input value */\n value?: Value;\n\n /** Uncontrolled input defaultValue */\n defaultValue?: Value;\n\n /** Controlled input onChange handler */\n onChange?(value: Value): void;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, item: Item): boolean;\n\n /** Input size */\n size?: MantineSize;\n\n /** Dropdown body appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown body transition duration */\n transitionDuration?: number;\n\n /** Dropdown body transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or any value to set box-shadow */\n shadow?: MantineShadow;\n\n /** Initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Change item renderer */\n itemComponent?: React.FC<any>;\n\n /** Called when dropdown is opened */\n onDropdownOpen?(): void;\n\n /** Called when dropdown is closed */\n onDropdownClose?(): void;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Limit amount of items displayed at a time for searchable select */\n limit?: number;\n\n /** Nothing found label */\n nothingFound?: React.ReactNode;\n\n /** Dropdown z-index */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Dropdown positioning behavior */\n dropdownPosition?: 'bottom' | 'top' | 'flip';\n\n /** Whether to switch item order and keyboard navigation on dropdown position flip */\n switchDirectionOnFlip?: boolean;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n}\n\nexport interface SelectProps\n extends DefaultProps<BaseSelectStylesNames>,\n BaseSelectProps,\n SelectSharedProps<SelectItem, string | null> {\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Set to true to enable search */\n searchable?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Called each time search value changes */\n onSearchChange?(query: string): void;\n\n /** Allow creatable option */\n creatable?: boolean;\n\n /** Function to get create Label */\n getCreateLabel?(query: string): React.ReactNode;\n\n /** Function to determine if create label should be displayed */\n shouldCreate?(query: string, data: SelectItem[]): boolean;\n\n /** Called when create option is selected */\n onCreate?(query: string): SelectItem | string;\n\n /** Change dropdown component, can be used to add native scrollbars */\n dropdownComponent?: any;\n\n /** Select highlighted item on blur */\n selectOnBlur?: boolean;\n\n /** Allow deselecting items on click */\n allowDeselect?: boolean;\n\n /** Should data be filtered when search value exactly matches selected item */\n filterDataOnExactSearchMatch?: boolean;\n\n /** Set the clear button tab index to disabled or default after input field */\n clearButtonTabIndex?: -1 | 0;\n}\n\nexport function defaultFilter(value: string, item: SelectItem) {\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nexport function defaultShouldCreate(query: string, data: SelectItem[]) {\n return !!query && !data.some((item) => item.label.toLowerCase() === query.toLowerCase());\n}\n\nconst defaultProps: Partial<SelectProps> = {\n required: false,\n size: 'sm',\n shadow: 'sm',\n itemComponent: DefaultItem,\n transition: 'fade',\n transitionDuration: 0,\n initiallyOpened: false,\n filter: defaultFilter,\n maxDropdownHeight: 220,\n searchable: false,\n clearable: false,\n limit: Infinity,\n disabled: false,\n creatable: false,\n shouldCreate: defaultShouldCreate,\n selectOnBlur: false,\n switchDirectionOnFlip: false,\n filterDataOnExactSearchMatch: false,\n zIndex: getDefaultZIndex('popover'),\n clearButtonTabIndex: 0,\n positionDependencies: [],\n dropdownPosition: 'flip',\n};\n\nexport const Select = forwardRef<HTMLInputElement, SelectProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n shadow,\n data,\n value,\n defaultValue,\n onChange,\n itemComponent,\n onKeyDown,\n onBlur,\n onFocus,\n transition,\n transitionDuration,\n initiallyOpened,\n transitionTimingFunction,\n unstyled,\n classNames,\n styles,\n filter,\n maxDropdownHeight,\n searchable,\n clearable,\n nothingFound,\n clearButtonLabel,\n limit,\n disabled,\n onSearchChange,\n rightSection,\n rightSectionWidth,\n creatable,\n getCreateLabel,\n shouldCreate,\n selectOnBlur,\n onCreate,\n dropdownComponent,\n onDropdownClose,\n onDropdownOpen,\n withinPortal,\n switchDirectionOnFlip,\n zIndex,\n name,\n dropdownPosition,\n allowDeselect,\n placeholder,\n filterDataOnExactSearchMatch,\n clearButtonTabIndex,\n form,\n positionDependencies,\n readOnly,\n ...others\n } = useInputProps('Select', defaultProps, props);\n\n const { classes, cx, theme } = useStyles();\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const inputRef = useRef<HTMLInputElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const [direction, setDirection] = useState<React.CSSProperties['flexDirection']>('column');\n const isColumn = direction === 'column';\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n const isDeselectable = allowDeselect === undefined ? clearable : allowDeselect;\n\n const setDropdownOpened = (opened: boolean) => {\n if (dropdownOpened !== opened) {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === 'function' && handler();\n }\n };\n\n const isCreatable = creatable && typeof getCreateLabel === 'function';\n let createLabel = null;\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const sortedData = groupOptions({ data: formattedData });\n\n const [_value, handleChange, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedValue = sortedData.find((item) => item.value === _value);\n const [inputValue, setInputValue] = useState(selectedValue?.label || '');\n\n const handleSearchChange = (val: string) => {\n setInputValue(val);\n if (searchable && typeof onSearchChange === 'function') {\n onSearchChange(val);\n }\n };\n\n const handleClear = () => {\n if (!readOnly) {\n handleChange(null);\n if (!controlled) {\n handleSearchChange('');\n }\n inputRef.current?.focus();\n }\n };\n\n useEffect(() => {\n const newSelectedValue = sortedData.find((item) => item.value === _value);\n\n if (newSelectedValue) {\n handleSearchChange(newSelectedValue.label);\n } else if (!isCreatable || !_value) {\n handleSearchChange('');\n }\n }, [_value]);\n\n useEffect(() => {\n if (selectedValue && (!searchable || !dropdownOpened)) {\n handleSearchChange(selectedValue.label);\n }\n }, [selectedValue?.label]);\n\n const handleItemSelect = (item: SelectItem) => {\n if (!readOnly) {\n if (isDeselectable && selectedValue?.value === item.value) {\n handleChange(null);\n setDropdownOpened(false);\n } else {\n if (item.creatable && typeof onCreate === 'function') {\n const createdItem = onCreate(item.value);\n if (typeof createdItem === 'string') {\n handleChange(createdItem);\n } else {\n handleChange(createdItem.value);\n }\n } else {\n handleChange(item.value);\n }\n\n if (!controlled) {\n handleSearchChange(item.label);\n }\n\n setHovered(-1);\n setDropdownOpened(false);\n inputRef.current.focus();\n }\n }\n };\n\n const filteredData = filterData({\n data: sortedData,\n searchable,\n limit,\n searchValue: inputValue,\n filter,\n filterDataOnExactSearchMatch,\n value: _value,\n });\n\n if (isCreatable && shouldCreate(inputValue, filteredData)) {\n createLabel = getCreateLabel(inputValue);\n filteredData.push({ label: inputValue, value: inputValue, creatable: true });\n }\n\n const getNextIndex = (\n index: number,\n nextItem: (index: number) => number,\n compareFn: (index: number) => boolean\n ) => {\n let i = index;\n while (compareFn(i)) {\n i = nextItem(i);\n if (!filteredData[i].disabled) return i;\n }\n return index;\n };\n\n useDidUpdate(() => {\n setHovered(-1);\n }, [inputValue]);\n\n const selectedItemIndex = _value ? filteredData.findIndex((el) => el.value === _value) : 0;\n\n const handlePrevious = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index - 1,\n (index) => index > 0\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'start' : 'end' });\n return nextIndex;\n });\n };\n\n const handleNext = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n return nextIndex;\n });\n };\n\n const scrollSelectedItemIntoView = () =>\n window.setTimeout(() => {\n targetRef.current = itemsRefs.current[filteredData[selectedItemIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }, 0);\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n\n switch (event.key) {\n case 'ArrowUp': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handlePrevious() : handleNext();\n }\n\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handleNext() : handlePrevious();\n }\n\n break;\n }\n\n case 'Home': {\n if (!searchable) {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n\n const firstItemIndex = filteredData.findIndex((item) => !item.disabled);\n setHovered(firstItemIndex);\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }\n break;\n }\n\n case 'End': {\n if (!searchable) {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n\n const lastItemIndex = filteredData.map((item) => !!item.disabled).lastIndexOf(false);\n setHovered(lastItemIndex);\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }\n break;\n }\n\n case 'Escape': {\n event.preventDefault();\n setDropdownOpened(false);\n setHovered(-1);\n break;\n }\n\n case ' ': {\n if (!searchable) {\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n\n break;\n }\n\n case 'Enter': {\n if (!searchable) {\n event.preventDefault();\n }\n\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n }\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n const selected = sortedData.find((item) => item.value === _value);\n if (selectOnBlur && filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n }\n handleSearchChange(selected?.label || '');\n setDropdownOpened(false);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (searchable) {\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!readOnly) {\n handleSearchChange(event.currentTarget.value);\n\n if (clearable && event.currentTarget.value === '') {\n handleChange(null);\n }\n\n setHovered(-1);\n setDropdownOpened(true);\n }\n };\n\n const handleInputClick = () => {\n if (!readOnly) {\n let dropdownOpen = true;\n\n if (!searchable) {\n dropdownOpen = !dropdownOpened;\n }\n\n setDropdownOpened(dropdownOpen);\n\n if (_value && dropdownOpen) {\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n };\n\n const shouldShowDropdown =\n !readOnly && (filteredData.length > 0 ? dropdownOpened : dropdownOpened && !!nothingFound);\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"Select\">\n <SelectPopover\n opened={shouldShowDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n shadow=\"sm\"\n withinPortal={withinPortal}\n __staticSelector=\"Select\"\n onDirectionChange={setDirection}\n switchDirectionOnFlip={switchDirectionOnFlip}\n zIndex={zIndex}\n dropdownPosition={dropdownPosition}\n positionDependencies={positionDependencies}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n >\n <SelectPopover.Target>\n <div\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={shouldShowDropdown ? `${inputProps.id}-items` : null}\n aria-controls={inputProps.id}\n aria-expanded={shouldShowDropdown}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <input type=\"hidden\" name={name} value={_value || ''} form={form} disabled={disabled} />\n\n <Input<'input'>\n autoComplete=\"off\"\n type=\"search\"\n {...inputProps}\n {...others}\n ref={useMergedRef(ref, inputRef)}\n onKeyDown={handleInputKeydown}\n __staticSelector=\"Select\"\n value={inputValue}\n placeholder={placeholder}\n onChange={handleInputChange}\n aria-autocomplete=\"list\"\n aria-controls={shouldShowDropdown ? `${inputProps.id}-items` : null}\n aria-activedescendant={hovered >= 0 ? `${inputProps.id}-${hovered}` : null}\n onClick={handleInputClick}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n readOnly={!searchable || readOnly}\n disabled={disabled}\n data-mantine-stop-propagation={shouldShowDropdown}\n name={null}\n classNames={{\n ...classNames,\n input: cx({ [classes.input]: !searchable }, (classNames as any)?.input),\n }}\n {...getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n size: inputProps.size,\n shouldClear: clearable && !!selectedValue,\n clearButtonLabel,\n onClear: handleClear,\n error: wrapperProps.error,\n clearButtonTabIndex,\n disabled,\n readOnly,\n })}\n />\n </div>\n </SelectPopover.Target>\n\n <SelectPopover.Dropdown\n component={dropdownComponent || SelectScrollArea}\n maxHeight={maxDropdownHeight}\n direction={direction}\n id={inputProps.id}\n innerRef={scrollableRef}\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n isItemSelected={(val) => val === _value}\n uuid={inputProps.id}\n __staticSelector=\"Select\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={inputProps.size}\n nothingFound={nothingFound}\n creatable={isCreatable && !!createLabel}\n createLabel={createLabel}\n aria-label={wrapperProps.label}\n unstyled={unstyled}\n />\n </SelectPopover.Dropdown>\n </SelectPopover>\n </Input.Wrapper>\n );\n});\n\nSelect.displayName = '@mantine/core/Select';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAaK,SAAS,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;AAC3C,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AACM,SAAS,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE;AACjD,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3F,CAAC;AACD,MAAM,YAAY,GAAG;AACrB,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,aAAa,EAAE,WAAW;AAC5B,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,kBAAkB,EAAE,CAAC;AACvB,EAAE,eAAe,EAAE,KAAK;AACxB,EAAE,MAAM,EAAE,aAAa;AACvB,EAAE,iBAAiB,EAAE,GAAG;AACxB,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,KAAK,EAAE,QAAQ;AACjB,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,YAAY,EAAE,mBAAmB;AACnC,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,qBAAqB,EAAE,KAAK;AAC9B,EAAE,4BAA4B,EAAE,KAAK;AACrC,EAAE,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;AACrC,EAAE,mBAAmB,EAAE,CAAC;AACxB,EAAE,oBAAoB,EAAE,EAAE;AAC1B,EAAE,gBAAgB,EAAE,MAAM;AAC1B,CAAC,CAAC;AACU,MAAC,MAAM,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACjD,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC3D,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,eAAe;AACnB,IAAI,wBAAwB;AAC5B,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,SAAS;AACb,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,iBAAiB;AACrB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,qBAAqB;AACzB,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,gBAAgB;AACpB,IAAI,aAAa;AACjB,IAAI,WAAW;AACf,IAAI,4BAA4B;AAChC,IAAI,mBAAmB;AACvB,IAAI,IAAI;AACR,IAAI,oBAAoB;AACxB,IAAI,QAAQ;AACZ,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,eAAe;AACnB,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,oBAAoB;AACxB,IAAI,iBAAiB;AACrB,IAAI,0BAA0B;AAC9B,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,mBAAmB;AACvB,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,WAAW;AACf,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,mBAAmB;AACvB,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,uBAAuB;AAC3B,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,kBAAkB;AACtB,IAAI,eAAe;AACnB,IAAI,aAAa;AACjB,IAAI,8BAA8B;AAClC,IAAI,qBAAqB;AACzB,IAAI,MAAM;AACV,IAAI,sBAAsB;AAC1B,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC;AAC7C,EAAE,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AACzE,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD,EAAE,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ,CAAC;AAC1C,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;AACzE,IAAI,QAAQ,EAAE,CAAC;AACf,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,cAAc,GAAG,aAAa,KAAK,KAAK,CAAC,GAAG,SAAS,GAAG,aAAa,CAAC;AAC9E,EAAE,MAAM,iBAAiB,GAAG,CAAC,MAAM,KAAK;AACxC,IAAI,IAAI,cAAc,KAAK,MAAM,EAAE;AACnC,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACjC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,eAAe,CAAC;AAChE,MAAM,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC;AACjD,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,SAAS,IAAI,OAAO,cAAc,KAAK,UAAU,CAAC;AACxE,EAAE,IAAI,WAAW,GAAG,IAAI,CAAC;AACzB,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3G,EAAE,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AAC3D,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC;AAC7D,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;AACzE,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;AAC7G,EAAE,MAAM,kBAAkB,GAAG,CAAC,GAAG,KAAK;AACtC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;AACvB,IAAI,IAAI,UAAU,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;AAC5D,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;AAC1B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,IAAI,CAAC,UAAU,EAAE;AACvB,QAAQ,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC/B,OAAO;AACP,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AAC9D,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;AAC9E,IAAI,IAAI,gBAAgB,EAAE;AAC1B,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjD,KAAK,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE;AACxC,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC7B,KAAK;AACL,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,aAAa,KAAK,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,EAAE;AAC3D,MAAM,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9C,KAAK;AACL,GAAG,EAAE,CAAC,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,EAAE,MAAM,gBAAgB,GAAG,CAAC,IAAI,KAAK;AACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,IAAI,cAAc,IAAI,CAAC,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE;AACnG,QAAQ,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,QAAQ,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,OAAO,MAAM;AACb,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC9D,UAAU,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnD,UAAU,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AAC/C,YAAY,YAAY,CAAC,WAAW,CAAC,CAAC;AACtC,WAAW,MAAM;AACjB,YAAY,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,WAAW;AACX,SAAS,MAAM;AACf,UAAU,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,SAAS;AACT,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,SAAS;AACT,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,QAAQ,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAQ,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACjC,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,UAAU,CAAC;AAClC,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,UAAU;AACd,IAAI,KAAK;AACT,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,MAAM;AACV,IAAI,4BAA4B;AAChC,IAAI,KAAK,EAAE,MAAM;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,WAAW,IAAI,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE;AAC7D,IAAI,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AAC7C,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjF,GAAG;AACH,EAAE,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,KAAK;AACvD,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC;AAClB,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE;AACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtB,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ;AACnC,QAAQ,OAAO,CAAC,CAAC;AACjB,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,YAAY,CAAC,MAAM;AACrB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACnB,EAAE,MAAM,iBAAiB,GAAG,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7F,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,UAAU,CAAC,CAAC,OAAO,KAAK;AAC5B,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC;AAC1F,MAAM,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1G,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC;AAChE,MAAM,OAAO,SAAS,CAAC;AACvB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,UAAU,CAAC,CAAC,OAAO,KAAK;AAC5B,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChH,MAAM,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1G,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;AAChE,MAAM,OAAO,SAAS,CAAC;AACvB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,0BAA0B,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM;AACnE,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,iBAAiB,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAChH,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;AAC9D,GAAG,EAAE,CAAC,CAAC,CAAC;AACR,EAAE,MAAM,kBAAkB,GAAG,CAAC,KAAK,KAAK;AACxC,IAAI,OAAO,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AACxD,IAAI,QAAQ,KAAK,CAAC,GAAG;AACrB,MAAM,KAAK,SAAS,EAAE;AACtB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,IAAI,CAAC,cAAc,EAAE;AAC7B,UAAU,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxC,UAAU,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,UAAU,0BAA0B,EAAE,CAAC;AACvC,SAAS,MAAM;AACf,UAAU,QAAQ,GAAG,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;AACrD,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,WAAW,EAAE;AACxB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,IAAI,CAAC,cAAc,EAAE;AAC7B,UAAU,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxC,UAAU,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAClC,UAAU,0BAA0B,EAAE,CAAC;AACvC,SAAS,MAAM;AACf,UAAU,QAAQ,GAAG,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC;AACrD,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,MAAM,EAAE;AACnB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,UAAU,IAAI,CAAC,cAAc,EAAE;AAC/B,YAAY,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACpC,WAAW;AACX,UAAU,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClF,UAAU,UAAU,CAAC,cAAc,CAAC,CAAC;AACrC,UAAU,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;AACpE,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,KAAK,EAAE;AAClB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,UAAU,IAAI,CAAC,cAAc,EAAE;AAC/B,YAAY,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACpC,WAAW;AACX,UAAU,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC/F,UAAU,UAAU,CAAC,aAAa,CAAC,CAAC;AACpC,UAAU,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;AACpE,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,QAAQ,EAAE;AACrB,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,GAAG,EAAE;AAChB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE;AACvD,YAAY,KAAK,CAAC,cAAc,EAAE,CAAC;AACnC,YAAY,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,WAAW,MAAM;AACjB,YAAY,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACpC,YAAY,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAC1C,YAAY,0BAA0B,EAAE,CAAC;AACzC,WAAW;AACX,SAAS;AACT,QAAQ,MAAM;AACd,OAAO;AACP,MAAM,KAAK,OAAO,EAAE;AACpB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,SAAS;AACT,QAAQ,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE;AACrD,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AACjC,UAAU,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAClD,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;AACtE,IAAI,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE;AACjE,MAAM,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,KAAK;AACL,IAAI,kBAAkB,CAAC,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;AAC3E,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9B,MAAM,0BAA0B,EAAE,CAAC;AACnC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAG,CAAC,KAAK,KAAK;AACvC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpD,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,EAAE;AACzD,QAAQ,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,OAAO;AACP,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,MAAM;AACjC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,IAAI,YAAY,GAAG,IAAI,CAAC;AAC9B,MAAM,IAAI,CAAC,UAAU,EAAE;AACvB,QAAQ,YAAY,GAAG,CAAC,cAAc,CAAC;AACvC,OAAO;AACP,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACtC,MAAM,IAAI,MAAM,IAAI,YAAY,EAAE;AAClC,QAAQ,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACtC,QAAQ,0BAA0B,EAAE,CAAC;AACrC,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,cAAc,GAAG,cAAc,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;AACxH,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE;AAC5G,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;AACzD,IAAI,MAAM,EAAE,kBAAkB;AAC9B,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,YAAY;AAChB,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,iBAAiB,EAAE,YAAY;AACnC,IAAI,qBAAqB;AACzB,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChH,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,eAAe,EAAE,SAAS;AAC9B,IAAI,WAAW,EAAE,kBAAkB,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI;AACrE,IAAI,eAAe,EAAE,UAAU,CAAC,EAAE;AAClC,IAAI,eAAe,EAAE,kBAAkB;AACvC,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AACtC,IAAI,QAAQ,EAAE,CAAC,CAAC;AAChB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAClD,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI;AACR,IAAI,KAAK,EAAE,MAAM,IAAI,EAAE;AACvB,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC;AAC5G,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE;AAC3B,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;AACpC,IAAI,SAAS,EAAE,kBAAkB;AACjC,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,WAAW;AACf,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,mBAAmB,EAAE,MAAM;AAC/B,IAAI,eAAe,EAAE,kBAAkB,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI;AACzE,IAAI,uBAAuB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;AAChF,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,MAAM,EAAE,eAAe;AAC3B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,QAAQ,EAAE,CAAC,UAAU,IAAI,QAAQ;AACrC,IAAI,QAAQ;AACZ,IAAI,+BAA+B,EAAE,kBAAkB;AACvD,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;AAC9D,MAAM,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,UAAU,EAAE,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AACjG,KAAK,CAAC;AACN,GAAG,CAAC,EAAE,0BAA0B,CAAC;AACjC,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,IAAI,WAAW,EAAE,SAAS,IAAI,CAAC,CAAC,aAAa;AAC7C,IAAI,gBAAgB;AACpB,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,KAAK,EAAE,YAAY,CAAC,KAAK;AAC7B,IAAI,mBAAmB;AACvB,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE;AACtE,IAAI,SAAS,EAAE,iBAAiB,IAAI,gBAAgB;AACpD,IAAI,SAAS,EAAE,iBAAiB;AAChC,IAAI,SAAS;AACb,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE;AACrB,IAAI,QAAQ,EAAE,aAAa;AAC3B,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AACtD,IAAI,IAAI,EAAE,YAAY;AACtB,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,cAAc,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,MAAM;AAC3C,IAAI,IAAI,EAAE,UAAU,CAAC,EAAE;AACvB,IAAI,gBAAgB,EAAE,QAAQ;AAC9B,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,IAAI,YAAY;AAChB,IAAI,SAAS,EAAE,WAAW,IAAI,CAAC,CAAC,WAAW;AAC3C,IAAI,WAAW;AACf,IAAI,YAAY,EAAE,YAAY,CAAC,KAAK;AACpC,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,EAAE;AACH,MAAM,CAAC,WAAW,GAAG,sBAAsB;;;;"}
1
+ {"version":3,"file":"Select.js","sources":["../../src/Select/Select.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, useDidUpdate, useScrollIntoView } from '@mantine/hooks';\nimport { DefaultProps, MantineSize, MantineShadow, getDefaultZIndex } from '@mantine/styles';\nimport { groupOptions } from '@mantine/utils';\nimport { SelectScrollArea } from './SelectScrollArea/SelectScrollArea';\nimport { Input, useInputProps } from '../Input';\nimport { MantineTransition } from '../Transition';\nimport { DefaultItem } from './DefaultItem/DefaultItem';\nimport { getSelectRightSectionProps } from './SelectRightSection/get-select-right-section-props';\nimport { SelectItems } from './SelectItems/SelectItems';\nimport { SelectPopover } from './SelectPopover/SelectPopover';\nimport { SelectItem, BaseSelectStylesNames, BaseSelectProps } from './types';\nimport { filterData } from './filter-data/filter-data';\nimport useStyles from './Select.styles';\n\nexport interface SelectSharedProps<Item, Value> {\n /** Select data used to renderer items in dropdown */\n data: (string | Item)[];\n\n /** Controlled input value */\n value?: Value;\n\n /** Uncontrolled input defaultValue */\n defaultValue?: Value;\n\n /** Controlled input onChange handler */\n onChange?(value: Value): void;\n\n /** Function based on which items in dropdown are filtered */\n filter?(value: string, item: Item): boolean;\n\n /** Input size */\n size?: MantineSize;\n\n /** Dropdown body appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown body transition duration */\n transitionDuration?: number;\n\n /** Dropdown body transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or any value to set box-shadow */\n shadow?: MantineShadow;\n\n /** Initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Change item renderer */\n itemComponent?: React.FC<any>;\n\n /** Called when dropdown is opened */\n onDropdownOpen?(): void;\n\n /** Called when dropdown is closed */\n onDropdownClose?(): void;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Limit amount of items displayed at a time for searchable select */\n limit?: number;\n\n /** Nothing found label */\n nothingFound?: React.ReactNode;\n\n /** Dropdown z-index */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Dropdown positioning behavior */\n dropdownPosition?: 'bottom' | 'top' | 'flip';\n\n /** Whether to switch item order and keyboard navigation on dropdown position flip */\n switchDirectionOnFlip?: boolean;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n}\n\nexport interface SelectProps\n extends DefaultProps<BaseSelectStylesNames>,\n BaseSelectProps,\n SelectSharedProps<SelectItem, string | null> {\n /** Maximum dropdown height in px */\n maxDropdownHeight?: number;\n\n /** Set to true to enable search */\n searchable?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Called each time search value changes */\n onSearchChange?(query: string): void;\n\n /** Allow creatable option */\n creatable?: boolean;\n\n /** Function to get create Label */\n getCreateLabel?(query: string): React.ReactNode;\n\n /** Function to determine if create label should be displayed */\n shouldCreate?(query: string, data: SelectItem[]): boolean;\n\n /** Called when create option is selected */\n onCreate?(query: string): SelectItem | string | null | undefined;\n\n /** Change dropdown component, can be used to add native scrollbars */\n dropdownComponent?: any;\n\n /** Select highlighted item on blur */\n selectOnBlur?: boolean;\n\n /** Allow deselecting items on click */\n allowDeselect?: boolean;\n\n /** Should data be filtered when search value exactly matches selected item */\n filterDataOnExactSearchMatch?: boolean;\n\n /** Set the clear button tab index to disabled or default after input field */\n clearButtonTabIndex?: -1 | 0;\n}\n\nexport function defaultFilter(value: string, item: SelectItem) {\n return item.label.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nexport function defaultShouldCreate(query: string, data: SelectItem[]) {\n return !!query && !data.some((item) => item.label.toLowerCase() === query.toLowerCase());\n}\n\nconst defaultProps: Partial<SelectProps> = {\n required: false,\n size: 'sm',\n shadow: 'sm',\n itemComponent: DefaultItem,\n transition: 'fade',\n transitionDuration: 0,\n initiallyOpened: false,\n filter: defaultFilter,\n maxDropdownHeight: 220,\n searchable: false,\n clearable: false,\n limit: Infinity,\n disabled: false,\n creatable: false,\n shouldCreate: defaultShouldCreate,\n selectOnBlur: false,\n switchDirectionOnFlip: false,\n filterDataOnExactSearchMatch: false,\n zIndex: getDefaultZIndex('popover'),\n clearButtonTabIndex: 0,\n positionDependencies: [],\n dropdownPosition: 'flip',\n};\n\nexport const Select = forwardRef<HTMLInputElement, SelectProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n shadow,\n data,\n value,\n defaultValue,\n onChange,\n itemComponent,\n onKeyDown,\n onBlur,\n onFocus,\n transition,\n transitionDuration,\n initiallyOpened,\n transitionTimingFunction,\n unstyled,\n classNames,\n styles,\n filter,\n maxDropdownHeight,\n searchable,\n clearable,\n nothingFound,\n clearButtonLabel,\n limit,\n disabled,\n onSearchChange,\n rightSection,\n rightSectionWidth,\n creatable,\n getCreateLabel,\n shouldCreate,\n selectOnBlur,\n onCreate,\n dropdownComponent,\n onDropdownClose,\n onDropdownOpen,\n withinPortal,\n switchDirectionOnFlip,\n zIndex,\n name,\n dropdownPosition,\n allowDeselect,\n placeholder,\n filterDataOnExactSearchMatch,\n clearButtonTabIndex,\n form,\n positionDependencies,\n readOnly,\n ...others\n } = useInputProps('Select', defaultProps, props);\n\n const { classes, cx, theme } = useStyles();\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const inputRef = useRef<HTMLInputElement>();\n const itemsRefs = useRef<Record<string, HTMLDivElement>>({});\n const [direction, setDirection] = useState<React.CSSProperties['flexDirection']>('column');\n const isColumn = direction === 'column';\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n const isDeselectable = allowDeselect === undefined ? clearable : allowDeselect;\n\n const setDropdownOpened = (opened: boolean) => {\n if (dropdownOpened !== opened) {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === 'function' && handler();\n }\n };\n\n const isCreatable = creatable && typeof getCreateLabel === 'function';\n let createLabel = null;\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const sortedData = groupOptions({ data: formattedData });\n\n const [_value, handleChange, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedValue = sortedData.find((item) => item.value === _value);\n const [inputValue, setInputValue] = useState(selectedValue?.label || '');\n\n const handleSearchChange = (val: string) => {\n setInputValue(val);\n if (searchable && typeof onSearchChange === 'function') {\n onSearchChange(val);\n }\n };\n\n const handleClear = () => {\n if (!readOnly) {\n handleChange(null);\n if (!controlled) {\n handleSearchChange('');\n }\n inputRef.current?.focus();\n }\n };\n\n useEffect(() => {\n const newSelectedValue = sortedData.find((item) => item.value === _value);\n\n if (newSelectedValue) {\n handleSearchChange(newSelectedValue.label);\n } else if (!isCreatable || !_value) {\n handleSearchChange('');\n }\n }, [_value]);\n\n useEffect(() => {\n if (selectedValue && (!searchable || !dropdownOpened)) {\n handleSearchChange(selectedValue.label);\n }\n }, [selectedValue?.label]);\n\n const handleItemSelect = (item: SelectItem) => {\n if (!readOnly) {\n if (isDeselectable && selectedValue?.value === item.value) {\n handleChange(null);\n setDropdownOpened(false);\n } else {\n if (item.creatable && typeof onCreate === 'function') {\n const createdItem = onCreate(item.value);\n if (typeof createdItem !== 'undefined' && createdItem !== null) {\n if (typeof createdItem === 'string') {\n handleChange(createdItem);\n } else {\n handleChange(createdItem.value);\n }\n }\n } else {\n handleChange(item.value);\n }\n\n if (!controlled) {\n handleSearchChange(item.label);\n }\n\n setHovered(-1);\n setDropdownOpened(false);\n inputRef.current.focus();\n }\n }\n };\n\n const filteredData = filterData({\n data: sortedData,\n searchable,\n limit,\n searchValue: inputValue,\n filter,\n filterDataOnExactSearchMatch,\n value: _value,\n });\n\n if (isCreatable && shouldCreate(inputValue, filteredData)) {\n createLabel = getCreateLabel(inputValue);\n filteredData.push({ label: inputValue, value: inputValue, creatable: true });\n }\n\n const getNextIndex = (\n index: number,\n nextItem: (index: number) => number,\n compareFn: (index: number) => boolean\n ) => {\n let i = index;\n while (compareFn(i)) {\n i = nextItem(i);\n if (!filteredData[i].disabled) return i;\n }\n return index;\n };\n\n useDidUpdate(() => {\n setHovered(-1);\n }, [inputValue]);\n\n const selectedItemIndex = _value ? filteredData.findIndex((el) => el.value === _value) : 0;\n\n const handlePrevious = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index - 1,\n (index) => index > 0\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'start' : 'end' });\n return nextIndex;\n });\n };\n\n const handleNext = () => {\n setHovered((current) => {\n const nextIndex = getNextIndex(\n current,\n (index) => index + 1,\n (index) => index < filteredData.length - 1\n );\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n return nextIndex;\n });\n };\n\n const scrollSelectedItemIntoView = () =>\n window.setTimeout(() => {\n targetRef.current = itemsRefs.current[filteredData[selectedItemIndex]?.value];\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }, 0);\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n\n switch (event.key) {\n case 'ArrowUp': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handlePrevious() : handleNext();\n }\n\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setHovered(selectedItemIndex);\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n } else {\n isColumn ? handleNext() : handlePrevious();\n }\n\n break;\n }\n\n case 'Home': {\n if (!searchable) {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n\n const firstItemIndex = filteredData.findIndex((item) => !item.disabled);\n setHovered(firstItemIndex);\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }\n break;\n }\n\n case 'End': {\n if (!searchable) {\n event.preventDefault();\n\n if (!dropdownOpened) {\n setDropdownOpened(true);\n }\n\n const lastItemIndex = filteredData.map((item) => !!item.disabled).lastIndexOf(false);\n setHovered(lastItemIndex);\n scrollIntoView({ alignment: isColumn ? 'end' : 'start' });\n }\n break;\n }\n\n case 'Escape': {\n event.preventDefault();\n setDropdownOpened(false);\n setHovered(-1);\n break;\n }\n\n case ' ': {\n if (!searchable) {\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n } else {\n setDropdownOpened(true);\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n\n break;\n }\n\n case 'Enter': {\n if (!searchable) {\n event.preventDefault();\n }\n\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleItemSelect(filteredData[hovered]);\n }\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n const selected = sortedData.find((item) => item.value === _value);\n if (selectOnBlur && filteredData[hovered] && dropdownOpened) {\n handleItemSelect(filteredData[hovered]);\n }\n handleSearchChange(selected?.label || '');\n setDropdownOpened(false);\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (searchable) {\n setDropdownOpened(true);\n scrollSelectedItemIntoView();\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!readOnly) {\n handleSearchChange(event.currentTarget.value);\n\n if (clearable && event.currentTarget.value === '') {\n handleChange(null);\n }\n\n setHovered(-1);\n setDropdownOpened(true);\n }\n };\n\n const handleInputClick = () => {\n if (!readOnly) {\n let dropdownOpen = true;\n\n if (!searchable) {\n dropdownOpen = !dropdownOpened;\n }\n\n setDropdownOpened(dropdownOpen);\n\n if (_value && dropdownOpen) {\n setHovered(selectedItemIndex);\n scrollSelectedItemIntoView();\n }\n }\n };\n\n const shouldShowDropdown =\n !readOnly && (filteredData.length > 0 ? dropdownOpened : dropdownOpened && !!nothingFound);\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"Select\">\n <SelectPopover\n opened={shouldShowDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n shadow=\"sm\"\n withinPortal={withinPortal}\n __staticSelector=\"Select\"\n onDirectionChange={setDirection}\n switchDirectionOnFlip={switchDirectionOnFlip}\n zIndex={zIndex}\n dropdownPosition={dropdownPosition}\n positionDependencies={positionDependencies}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n >\n <SelectPopover.Target>\n <div\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={shouldShowDropdown ? `${inputProps.id}-items` : null}\n aria-controls={inputProps.id}\n aria-expanded={shouldShowDropdown}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <input type=\"hidden\" name={name} value={_value || ''} form={form} disabled={disabled} />\n\n <Input<'input'>\n autoComplete=\"off\"\n type=\"search\"\n {...inputProps}\n {...others}\n ref={useMergedRef(ref, inputRef)}\n onKeyDown={handleInputKeydown}\n __staticSelector=\"Select\"\n value={inputValue}\n placeholder={placeholder}\n onChange={handleInputChange}\n aria-autocomplete=\"list\"\n aria-controls={shouldShowDropdown ? `${inputProps.id}-items` : null}\n aria-activedescendant={hovered >= 0 ? `${inputProps.id}-${hovered}` : null}\n onClick={handleInputClick}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n readOnly={!searchable || readOnly}\n disabled={disabled}\n data-mantine-stop-propagation={shouldShowDropdown}\n name={null}\n classNames={{\n ...classNames,\n input: cx({ [classes.input]: !searchable }, (classNames as any)?.input),\n }}\n {...getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n size: inputProps.size,\n shouldClear: clearable && !!selectedValue,\n clearButtonLabel,\n onClear: handleClear,\n error: wrapperProps.error,\n clearButtonTabIndex,\n disabled,\n readOnly,\n })}\n />\n </div>\n </SelectPopover.Target>\n\n <SelectPopover.Dropdown\n component={dropdownComponent || SelectScrollArea}\n maxHeight={maxDropdownHeight}\n direction={direction}\n id={inputProps.id}\n innerRef={scrollableRef}\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n isItemSelected={(val) => val === _value}\n uuid={inputProps.id}\n __staticSelector=\"Select\"\n onItemHover={setHovered}\n onItemSelect={handleItemSelect}\n itemsRefs={itemsRefs}\n itemComponent={itemComponent}\n size={inputProps.size}\n nothingFound={nothingFound}\n creatable={isCreatable && !!createLabel}\n createLabel={createLabel}\n aria-label={wrapperProps.label}\n unstyled={unstyled}\n />\n </SelectPopover.Dropdown>\n </SelectPopover>\n </Input.Wrapper>\n );\n});\n\nSelect.displayName = '@mantine/core/Select';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { randomId } from '@mantine/hooks';
2
3
  import { Text } from '../../Text/Text.js';
3
4
  import { Divider } from '../../Divider/Divider.js';
4
5
  import useStyles from './SelectItems.styles.js';
@@ -89,11 +90,9 @@ function SelectItems({
89
90
  });
90
91
  if (creatable) {
91
92
  const creatableDataItem = data[creatableDataIndex];
92
- const selected = typeof isItemSelected === "function" ? isItemSelected(data[creatableDataIndex].value) : false;
93
93
  unGroupedItems.push(/* @__PURE__ */ React.createElement("div", {
94
- key: creatableDataItem.value,
94
+ key: randomId(),
95
95
  className: classes.item,
96
- "data-selected": selected || void 0,
97
96
  "data-hovered": hovered === creatableDataIndex || void 0,
98
97
  onMouseEnter: () => onItemHover(creatableDataIndex),
99
98
  onMouseDown: (event) => {
@@ -110,7 +109,8 @@ function SelectItems({
110
109
  }
111
110
  if (groupedItems.length > 0 && unGroupedItems.length > 0) {
112
111
  unGroupedItems.unshift(/* @__PURE__ */ React.createElement("div", {
113
- className: classes.separator
112
+ className: classes.separator,
113
+ key: "empty-group-separator"
114
114
  }, /* @__PURE__ */ React.createElement(Divider, null)));
115
115
  }
116
116
  return groupedItems.length > 0 || unGroupedItems.length > 0 ? /* @__PURE__ */ React.createElement(React.Fragment, null, groupedItems, unGroupedItems) : /* @__PURE__ */ React.createElement(Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectItems.js","sources":["../../../src/Select/SelectItems/SelectItems.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/styles';\nimport { Text } from '../../Text/Text';\nimport { Divider } from '../../Divider/Divider';\nimport { SelectItem } from '../types';\nimport useStyles from './SelectItems.styles';\n\nexport type SelectItemsStylesNames = Selectors<typeof useStyles>;\n\nexport interface SelectItemsProps extends DefaultProps<SelectItemsStylesNames> {\n data: SelectItem[];\n hovered: number;\n __staticSelector: string;\n isItemSelected?(itemValue: string): boolean;\n uuid: string;\n itemsRefs?: React.MutableRefObject<Record<string, HTMLDivElement>>;\n onItemHover(index: number): void;\n onItemSelect(item: SelectItem): void;\n size: MantineSize;\n itemComponent: React.FC<any>;\n nothingFound?: React.ReactNode;\n creatable?: boolean;\n createLabel?: React.ReactNode;\n}\n\nexport function SelectItems({\n data,\n hovered,\n classNames,\n styles,\n isItemSelected,\n uuid,\n __staticSelector,\n onItemHover,\n onItemSelect,\n itemsRefs,\n itemComponent: Item,\n size,\n nothingFound,\n creatable,\n createLabel,\n unstyled,\n}: SelectItemsProps) {\n const { classes } = useStyles({ size }, { classNames, styles, unstyled, name: __staticSelector });\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n let creatableDataIndex = null;\n\n const constructItemComponent = (item: SelectItem, index: number) => {\n const selected = typeof isItemSelected === 'function' ? isItemSelected(item.value) : false;\n return (\n <Item\n key={item.value}\n className={classes.item}\n data-disabled={item.disabled || undefined}\n data-hovered={(!item.disabled && hovered === index) || undefined}\n data-selected={(!item.disabled && selected) || undefined}\n onMouseEnter={() => onItemHover(index)}\n id={`${uuid}-${index}`}\n role=\"option\"\n data-ignore-outside-clicks\n tabIndex={-1}\n aria-selected={hovered === index}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[item.value] = node;\n }\n }}\n onMouseDown={\n !item.disabled\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(item);\n }\n : null\n }\n disabled={item.disabled}\n {...item}\n />\n );\n };\n\n let groupName = null;\n data.forEach((item, index) => {\n if (item.creatable) {\n creatableDataIndex = index;\n } else if (!item.group) {\n unGroupedItems.push(constructItemComponent(item, index));\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={`__mantine-divider-${index}`}>\n <Divider classNames={{ label: classes.separatorLabel }} label={item.group} />\n </div>\n );\n }\n groupedItems.push(constructItemComponent(item, index));\n }\n });\n\n if (creatable) {\n const creatableDataItem = data[creatableDataIndex];\n const selected =\n typeof isItemSelected === 'function' ? isItemSelected(data[creatableDataIndex].value) : false;\n unGroupedItems.push(\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n key={creatableDataItem.value}\n className={classes.item}\n data-selected={selected || undefined}\n data-hovered={hovered === creatableDataIndex || undefined}\n onMouseEnter={() => onItemHover(creatableDataIndex)}\n onMouseDown={(event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(creatableDataItem);\n }}\n tabIndex={-1}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[creatableDataItem.value] = node;\n }\n }}\n >\n {createLabel}\n </div>\n );\n }\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator}>\n <Divider />\n </div>\n );\n }\n\n return groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text size={size} unstyled={unstyled} className={classes.nothingFound}>\n {nothingFound}\n </Text>\n );\n}\n\nSelectItems.displayName = '@mantine/core/SelectItems';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectItems.js","sources":["../../../src/Select/SelectItems/SelectItems.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/styles';\nimport { randomId } from '@mantine/hooks';\nimport { Text } from '../../Text/Text';\nimport { Divider } from '../../Divider/Divider';\nimport { SelectItem } from '../types';\nimport useStyles from './SelectItems.styles';\n\nexport type SelectItemsStylesNames = Selectors<typeof useStyles>;\n\nexport interface SelectItemsProps extends DefaultProps<SelectItemsStylesNames> {\n data: SelectItem[];\n hovered: number;\n __staticSelector: string;\n isItemSelected?(itemValue: string): boolean;\n uuid: string;\n itemsRefs?: React.MutableRefObject<Record<string, HTMLDivElement>>;\n onItemHover(index: number): void;\n onItemSelect(item: SelectItem): void;\n size: MantineSize;\n itemComponent: React.FC<any>;\n nothingFound?: React.ReactNode;\n creatable?: boolean;\n createLabel?: React.ReactNode;\n}\n\nexport function SelectItems({\n data,\n hovered,\n classNames,\n styles,\n isItemSelected,\n uuid,\n __staticSelector,\n onItemHover,\n onItemSelect,\n itemsRefs,\n itemComponent: Item,\n size,\n nothingFound,\n creatable,\n createLabel,\n unstyled,\n}: SelectItemsProps) {\n const { classes } = useStyles({ size }, { classNames, styles, unstyled, name: __staticSelector });\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n let creatableDataIndex = null;\n\n const constructItemComponent = (item: SelectItem, index: number) => {\n const selected = typeof isItemSelected === 'function' ? isItemSelected(item.value) : false;\n return (\n <Item\n key={item.value}\n className={classes.item}\n data-disabled={item.disabled || undefined}\n data-hovered={(!item.disabled && hovered === index) || undefined}\n data-selected={(!item.disabled && selected) || undefined}\n onMouseEnter={() => onItemHover(index)}\n id={`${uuid}-${index}`}\n role=\"option\"\n data-ignore-outside-clicks\n tabIndex={-1}\n aria-selected={hovered === index}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[item.value] = node;\n }\n }}\n onMouseDown={\n !item.disabled\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(item);\n }\n : null\n }\n disabled={item.disabled}\n {...item}\n />\n );\n };\n\n let groupName = null;\n data.forEach((item, index) => {\n if (item.creatable) {\n creatableDataIndex = index;\n } else if (!item.group) {\n unGroupedItems.push(constructItemComponent(item, index));\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={`__mantine-divider-${index}`}>\n <Divider classNames={{ label: classes.separatorLabel }} label={item.group} />\n </div>\n );\n }\n groupedItems.push(constructItemComponent(item, index));\n }\n });\n\n if (creatable) {\n const creatableDataItem = data[creatableDataIndex];\n unGroupedItems.push(\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n key={randomId()}\n className={classes.item}\n data-hovered={hovered === creatableDataIndex || undefined}\n onMouseEnter={() => onItemHover(creatableDataIndex)}\n onMouseDown={(event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(creatableDataItem);\n }}\n tabIndex={-1}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[creatableDataItem.value] = node;\n }\n }}\n >\n {createLabel}\n </div>\n );\n }\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator} key=\"empty-group-separator\">\n <Divider />\n </div>\n );\n }\n\n return groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text size={size} unstyled={unstyled} className={classes.nothingFound}>\n {nothingFound}\n </Text>\n );\n}\n\nSelectItems.displayName = '@mantine/core/SelectItems';\n"],"names":[],"mappings":"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"}
@@ -62,7 +62,8 @@ const Step = forwardRef((_a, ref) => {
62
62
  __staticSelector = "Step",
63
63
  classNames,
64
64
  styles,
65
- unstyled
65
+ unstyled,
66
+ orientation
66
67
  } = _b, others = __objRest(_b, [
67
68
  "className",
68
69
  "state",
@@ -83,9 +84,10 @@ const Step = forwardRef((_a, ref) => {
83
84
  "__staticSelector",
84
85
  "classNames",
85
86
  "styles",
86
- "unstyled"
87
+ "unstyled",
88
+ "orientation"
87
89
  ]);
88
- const { classes, cx, theme } = useStyles({ color, iconSize, size, radius, allowStepClick, iconPosition }, { name: __staticSelector, classNames, styles, unstyled });
90
+ const { classes, cx, theme } = useStyles({ color, iconSize, size, radius, allowStepClick, iconPosition, orientation }, { name: __staticSelector, classNames, styles, unstyled });
89
91
  const _iconSize = theme.fn.size({ size, sizes: defaultIconSizes });
90
92
  const _icon = state === "stepCompleted" ? null : state === "stepProgress" ? progressIcon : icon;
91
93
  const dataAttributes = {
@@ -118,7 +120,11 @@ const Step = forwardRef((_a, ref) => {
118
120
  }))), state !== "stepCompleted" ? loading ? /* @__PURE__ */ React.createElement(Loader, {
119
121
  size: _iconSize,
120
122
  color
121
- }) : _icon || icon : null)), (label || description) && /* @__PURE__ */ React.createElement("div", {
123
+ }) : _icon || icon : null), orientation === "vertical" && /* @__PURE__ */ React.createElement("div", {
124
+ className: cx(classes.verticalSeparator, {
125
+ [classes.verticalSeparatorActive]: state === "stepCompleted"
126
+ })
127
+ })), (label || description) && /* @__PURE__ */ React.createElement("div", {
122
128
  className: classes.stepBody
123
129
  }, label && /* @__PURE__ */ React.createElement(Text, {
124
130
  className: classes.stepLabel
@@ -1 +1 @@
1
- {"version":3,"file":"Step.js","sources":["../../../src/Stepper/Step/Step.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineColor,\n Selectors,\n MantineSize,\n MantineNumberSize,\n} from '@mantine/styles';\nimport { Text } from '../../Text';\nimport { Loader } from '../../Loader';\nimport { CheckboxIcon } from '../../Checkbox';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { Transition } from '../../Transition';\nimport useStyles from './Step.styles';\n\nexport type StepStylesNames = Selectors<typeof useStyles>;\n\nexport interface StepProps\n extends DefaultProps<StepStylesNames>,\n React.ComponentPropsWithoutRef<'button'> {\n /** Step state, controlled by Steps component */\n state?: 'stepInactive' | 'stepProgress' | 'stepCompleted';\n\n /** Step color from theme.colors */\n color?: MantineColor;\n\n /** Should icon be displayed */\n withIcon?: boolean;\n\n /** Step icon, defaults to step index + 1 when rendered within Stepper */\n icon?: React.ReactNode;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode;\n\n /** Step label, render after icon */\n label?: React.ReactNode;\n\n /** Step description */\n description?: React.ReactNode;\n\n /** Icon wrapper size in px */\n iconSize?: number;\n\n /** Icon position relative to step body */\n iconPosition?: 'right' | 'left';\n\n /** Component size */\n size?: MantineSize;\n\n /** Radius from theme.radius, or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Indicates loading state on step */\n loading?: boolean;\n\n /** Set to false to disable clicks on step */\n allowStepClick?: boolean;\n\n /** Should step selection be allowed */\n allowStepSelect?: boolean;\n\n /** Static selector base */\n __staticSelector?: string;\n}\n\nconst defaultIconSizes = {\n xs: 16,\n sm: 18,\n md: 20,\n lg: 22,\n xl: 24,\n};\n\nexport const Step = forwardRef<HTMLButtonElement, StepProps>(\n (\n {\n className,\n state,\n color,\n icon,\n completedIcon,\n progressIcon,\n label,\n description,\n withIcon = true,\n iconSize,\n size = 'md',\n radius = 'xl',\n loading,\n allowStepClick = true,\n allowStepSelect,\n iconPosition = 'left',\n __staticSelector = 'Step',\n classNames,\n styles,\n unstyled,\n ...others\n }: StepProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { color, iconSize, size, radius, allowStepClick, iconPosition },\n { name: __staticSelector, classNames, styles, unstyled }\n );\n\n const _iconSize = theme.fn.size({ size, sizes: defaultIconSizes });\n const _icon = state === 'stepCompleted' ? null : state === 'stepProgress' ? progressIcon : icon;\n const dataAttributes = {\n 'data-progress': state === 'stepProgress' || undefined,\n 'data-completed': state === 'stepCompleted' || undefined,\n };\n\n return (\n <UnstyledButton\n className={cx(classes.step, className)}\n tabIndex={allowStepClick ? 0 : -1}\n ref={ref}\n {...dataAttributes}\n {...others}\n >\n {withIcon && (\n <div className={classes.stepWrapper}>\n <div className={classes.stepIcon} {...dataAttributes}>\n <Transition mounted={state === 'stepCompleted'} transition=\"pop\" duration={200}>\n {(transitionStyles) => (\n <div className={classes.stepCompletedIcon} style={transitionStyles}>\n {loading ? (\n <Loader color=\"#fff\" size={_iconSize} className={classes.stepLoader} />\n ) : (\n completedIcon || (\n <CheckboxIcon indeterminate={false} width={_iconSize} height={_iconSize} />\n )\n )}\n </div>\n )}\n </Transition>\n\n {state !== 'stepCompleted' ? (\n loading ? (\n <Loader size={_iconSize} color={color} />\n ) : (\n _icon || icon\n )\n ) : null}\n </div>\n </div>\n )}\n\n {(label || description) && (\n <div className={classes.stepBody}>\n {label && <Text className={classes.stepLabel}>{label}</Text>}\n {description && (\n <Text className={classes.stepDescription} color=\"dimmed\">\n {description}\n </Text>\n )}\n </div>\n )}\n </UnstyledButton>\n );\n }\n);\n\nStep.displayName = '@mantine/core/Step';\n"],"names":[],"mappings":";;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAQF,MAAM,gBAAgB,GAAG;AACzB,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACU,MAAC,IAAI,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AAC5C,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,QAAQ,GAAG,IAAI;AACnB,IAAI,QAAQ;AACZ,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,OAAO;AACX,IAAI,cAAc,GAAG,IAAI;AACzB,IAAI,eAAe;AACnB,IAAI,YAAY,GAAG,MAAM;AACzB,IAAI,gBAAgB,GAAG,MAAM;AAC7B,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,aAAa;AACjB,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,iBAAiB;AACrB,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtK,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACrE,EAAE,MAAM,KAAK,GAAG,KAAK,KAAK,eAAe,GAAG,IAAI,GAAG,KAAK,KAAK,cAAc,GAAG,YAAY,GAAG,IAAI,CAAC;AAClG,EAAE,MAAM,cAAc,GAAG;AACzB,IAAI,eAAe,EAAE,KAAK,KAAK,cAAc,IAAI,KAAK,CAAC;AACvD,IAAI,gBAAgB,EAAE,KAAK,KAAK,eAAe,IAAI,KAAK,CAAC;AACzD,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC;AAC3F,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,QAAQ,EAAE,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI,GAAG;AACP,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACtF,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW;AAClC,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC;AAC/D,IAAI,SAAS,EAAE,OAAO,CAAC,QAAQ;AAC/B,GAAG,EAAE,cAAc,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AACtE,IAAI,OAAO,EAAE,KAAK,KAAK,eAAe;AACtC,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,QAAQ,EAAE,GAAG;AACjB,GAAG,EAAE,CAAC,gBAAgB,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACtE,IAAI,SAAS,EAAE,OAAO,CAAC,iBAAiB;AACxC,IAAI,KAAK,EAAE,gBAAgB;AAC3B,GAAG,EAAE,OAAO,mBAAmB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC3D,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,SAAS,EAAE,OAAO,CAAC,UAAU;AACjC,GAAG,CAAC,GAAG,aAAa,oBAAoB,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;AAC1E,IAAI,aAAa,EAAE,KAAK;AACxB,IAAI,KAAK,EAAE,SAAS;AACpB,IAAI,MAAM,EAAE,SAAS;AACrB,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,eAAe,GAAG,OAAO,mBAAmB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC1F,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,KAAK;AACT,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,WAAW,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpG,IAAI,SAAS,EAAE,OAAO,CAAC,QAAQ;AAC/B,GAAG,EAAE,KAAK,oBAAoB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACxD,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,GAAG,EAAE,KAAK,CAAC,EAAE,WAAW,oBAAoB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACtE,IAAI,SAAS,EAAE,OAAO,CAAC,eAAe;AACtC,IAAI,KAAK,EAAE,QAAQ;AACnB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,EAAE;AACH,IAAI,CAAC,WAAW,GAAG,oBAAoB;;;;"}
1
+ {"version":3,"file":"Step.js","sources":["../../../src/Stepper/Step/Step.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineColor,\n Selectors,\n MantineSize,\n MantineNumberSize,\n} from '@mantine/styles';\nimport { Text } from '../../Text';\nimport { Loader } from '../../Loader';\nimport { CheckboxIcon } from '../../Checkbox';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { Transition } from '../../Transition';\nimport useStyles from './Step.styles';\n\nexport type StepStylesNames = Selectors<typeof useStyles>;\n\nexport interface StepProps\n extends DefaultProps<StepStylesNames>,\n React.ComponentPropsWithoutRef<'button'> {\n /** Step state, controlled by Steps component */\n state?: 'stepInactive' | 'stepProgress' | 'stepCompleted';\n\n /** Step color from theme.colors */\n color?: MantineColor;\n\n /** Should icon be displayed */\n withIcon?: boolean;\n\n /** Step icon, defaults to step index + 1 when rendered within Stepper */\n icon?: React.ReactNode;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode;\n\n /** Step label, render after icon */\n label?: React.ReactNode;\n\n /** Step description */\n description?: React.ReactNode;\n\n /** Icon wrapper size in px */\n iconSize?: number;\n\n /** Icon position relative to step body */\n iconPosition?: 'right' | 'left';\n\n /** Component size */\n size?: MantineSize;\n\n /** Radius from theme.radius, or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Indicates loading state on step */\n loading?: boolean;\n\n /** Set to false to disable clicks on step */\n allowStepClick?: boolean;\n\n /** Should step selection be allowed */\n allowStepSelect?: boolean;\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n}\n\nconst defaultIconSizes = {\n xs: 16,\n sm: 18,\n md: 20,\n lg: 22,\n xl: 24,\n};\n\nexport const Step = forwardRef<HTMLButtonElement, StepProps>(\n (\n {\n className,\n state,\n color,\n icon,\n completedIcon,\n progressIcon,\n label,\n description,\n withIcon = true,\n iconSize,\n size = 'md',\n radius = 'xl',\n loading,\n allowStepClick = true,\n allowStepSelect,\n iconPosition = 'left',\n __staticSelector = 'Step',\n classNames,\n styles,\n unstyled,\n orientation,\n ...others\n }: StepProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { color, iconSize, size, radius, allowStepClick, iconPosition, orientation },\n { name: __staticSelector, classNames, styles, unstyled }\n );\n\n const _iconSize = theme.fn.size({ size, sizes: defaultIconSizes });\n const _icon = state === 'stepCompleted' ? null : state === 'stepProgress' ? progressIcon : icon;\n const dataAttributes = {\n 'data-progress': state === 'stepProgress' || undefined,\n 'data-completed': state === 'stepCompleted' || undefined,\n };\n\n return (\n <UnstyledButton\n className={cx(classes.step, className)}\n tabIndex={allowStepClick ? 0 : -1}\n ref={ref}\n {...dataAttributes}\n {...others}\n >\n {withIcon && (\n <div className={classes.stepWrapper}>\n <div className={classes.stepIcon} {...dataAttributes}>\n <Transition mounted={state === 'stepCompleted'} transition=\"pop\" duration={200}>\n {(transitionStyles) => (\n <div className={classes.stepCompletedIcon} style={transitionStyles}>\n {loading ? (\n <Loader color=\"#fff\" size={_iconSize} className={classes.stepLoader} />\n ) : (\n completedIcon || (\n <CheckboxIcon indeterminate={false} width={_iconSize} height={_iconSize} />\n )\n )}\n </div>\n )}\n </Transition>\n\n {state !== 'stepCompleted' ? (\n loading ? (\n <Loader size={_iconSize} color={color} />\n ) : (\n _icon || icon\n )\n ) : null}\n </div>\n {orientation === 'vertical' && (\n <div\n className={cx(classes.verticalSeparator, {\n [classes.verticalSeparatorActive]: state === 'stepCompleted',\n })}\n />\n )}\n </div>\n )}\n\n {(label || description) && (\n <div className={classes.stepBody}>\n {label && <Text className={classes.stepLabel}>{label}</Text>}\n {description && (\n <Text className={classes.stepDescription} color=\"dimmed\">\n {description}\n </Text>\n )}\n </div>\n )}\n </UnstyledButton>\n );\n }\n);\n\nStep.displayName = '@mantine/core/Step';\n"],"names":[],"mappings":"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"}
@@ -26,25 +26,47 @@ const iconSizes = {
26
26
  lg: 48,
27
27
  xl: 52
28
28
  };
29
- var useStyles = createStyles((theme, { color, iconSize, size, radius, allowStepClick, iconPosition }) => {
29
+ var useStyles = createStyles((theme, { color, iconSize, size, radius, allowStepClick, iconPosition, orientation }) => {
30
30
  const _iconSize = iconSize || theme.fn.size({ size, sizes: iconSizes });
31
31
  const iconMargin = size === "xl" || size === "lg" ? theme.spacing.md : theme.spacing.sm;
32
32
  const _radius = theme.fn.size({ size: radius, sizes: theme.radius });
33
33
  const colors = theme.fn.variant({ variant: "filled", color });
34
34
  const separatorDistanceFromIcon = theme.spacing.xs / 2;
35
+ const verticalOrientationStyles = {
36
+ step: {
37
+ justifyContent: "flex-start",
38
+ minHeight: `${_iconSize + theme.spacing.xl + separatorDistanceFromIcon}px`,
39
+ marginTop: `${separatorDistanceFromIcon}px`,
40
+ overflow: "hidden",
41
+ "&:first-of-type": {
42
+ marginTop: 0
43
+ },
44
+ "&:last-of-type": {
45
+ minHeight: "auto"
46
+ }
47
+ }
48
+ };
35
49
  return {
36
50
  stepLoader: {},
37
- step: {
51
+ step: __spreadValues({
38
52
  display: "flex",
39
53
  flexDirection: iconPosition === "left" ? "row" : "row-reverse",
40
- cursor: allowStepClick ? "pointer" : "default",
54
+ cursor: allowStepClick ? "pointer" : "default"
55
+ }, orientation === "vertical" ? verticalOrientationStyles.step : {
41
56
  alignItems: "center"
42
- },
57
+ }),
43
58
  stepWrapper: {
44
- position: "relative",
45
- overflow: "hidden",
46
- flexShrink: 0,
47
- marginBottom: separatorDistanceFromIcon
59
+ position: "relative"
60
+ },
61
+ verticalSeparator: {
62
+ top: `${_iconSize + separatorDistanceFromIcon}px`,
63
+ left: `${_iconSize / 2}px`,
64
+ height: "100vh",
65
+ position: "absolute",
66
+ borderLeft: `2px solid ${theme.colorScheme === "dark" ? theme.colors.dark[5] : theme.colors.gray[1]}`
67
+ },
68
+ verticalSeparatorActive: {
69
+ borderColor: theme.fn.variant({ variant: "filled", color }).background
48
70
  },
49
71
  stepIcon: {
50
72
  boxSizing: "border-box",
@@ -77,12 +99,14 @@ var useStyles = createStyles((theme, { color, iconSize, size, radius, allowStepC
77
99
  justifyContent: "center",
78
100
  color: theme.white
79
101
  }),
80
- stepBody: {
102
+ stepBody: __spreadValues({
81
103
  display: "flex",
82
104
  flexDirection: "column",
83
105
  marginLeft: iconPosition === "left" ? iconMargin : void 0,
84
106
  marginRight: iconPosition === "right" ? iconMargin : void 0
85
- },
107
+ }, orientation === "vertical" ? {
108
+ marginTop: _iconSize > theme.fn.size({ size, sizes: theme.fontSizes }) * 4 ? _iconSize / 4 : _iconSize / 12
109
+ } : null),
86
110
  stepLabel: {
87
111
  textAlign: iconPosition,
88
112
  fontWeight: 500,
@@ -1 +1 @@
1
- {"version":3,"file":"Step.styles.js","sources":["../../../src/Stepper/Step/Step.styles.ts"],"sourcesContent":["import { createStyles, MantineColor, MantineNumberSize, MantineSize } from '@mantine/styles';\n\nexport interface StepStylesParams {\n color: MantineColor;\n iconSize: number;\n size: MantineSize;\n radius: MantineNumberSize;\n allowStepClick: boolean;\n iconPosition: 'right' | 'left';\n}\n\nexport const iconSizes = {\n xs: 34,\n sm: 36,\n md: 42,\n lg: 48,\n xl: 52,\n};\n\nexport default createStyles(\n (theme, { color, iconSize, size, radius, allowStepClick, iconPosition }: StepStylesParams) => {\n const _iconSize = iconSize || theme.fn.size({ size, sizes: iconSizes });\n const iconMargin = size === 'xl' || size === 'lg' ? theme.spacing.md : theme.spacing.sm;\n const _radius = theme.fn.size({ size: radius, sizes: theme.radius });\n const colors = theme.fn.variant({ variant: 'filled', color });\n const separatorDistanceFromIcon = theme.spacing.xs / 2;\n\n return {\n stepLoader: {},\n\n step: {\n display: 'flex',\n flexDirection: iconPosition === 'left' ? 'row' : 'row-reverse',\n cursor: allowStepClick ? 'pointer' : 'default',\n alignItems: 'center',\n },\n\n stepWrapper: {\n position: 'relative',\n overflow: 'hidden',\n flexShrink: 0,\n marginBottom: separatorDistanceFromIcon,\n },\n\n stepIcon: {\n boxSizing: 'border-box',\n height: _iconSize,\n width: _iconSize,\n minWidth: _iconSize,\n borderRadius: _radius,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1],\n border: `2px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1]\n }`,\n transition: 'background-color 150ms ease, border-color 150ms ease',\n position: 'relative',\n fontWeight: 700,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[1] : theme.colors.gray[7],\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n\n '&[data-progress]': {\n borderColor: colors.background,\n },\n\n '&[data-completed]': {\n backgroundColor: colors.background,\n borderColor: colors.background,\n color: theme.white,\n },\n },\n\n stepCompletedIcon: {\n ...theme.fn.cover(),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: theme.white,\n },\n\n stepBody: {\n display: 'flex',\n flexDirection: 'column',\n marginLeft: iconPosition === 'left' ? iconMargin : undefined,\n marginRight: iconPosition === 'right' ? iconMargin : undefined,\n },\n\n stepLabel: {\n textAlign: iconPosition,\n fontWeight: 500,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n lineHeight: 1,\n },\n\n stepDescription: {\n textAlign: iconPosition,\n marginTop: theme.fn.size({ size, sizes: theme.spacing }) / 3,\n marginBottom: theme.fn.size({ size, sizes: theme.spacing }) / 3,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }) - 2,\n lineHeight: 1,\n },\n };\n }\n);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Step.styles.js","sources":["../../../src/Stepper/Step/Step.styles.ts"],"sourcesContent":["import { createStyles, MantineColor, MantineNumberSize, MantineSize } from '@mantine/styles';\n\nexport interface StepStylesParams {\n color: MantineColor;\n iconSize: number;\n size: MantineSize;\n radius: MantineNumberSize;\n allowStepClick: boolean;\n iconPosition: 'right' | 'left';\n orientation: 'vertical' | 'horizontal';\n}\n\nexport const iconSizes = {\n xs: 34,\n sm: 36,\n md: 42,\n lg: 48,\n xl: 52,\n};\n\nexport default createStyles(\n (\n theme,\n { color, iconSize, size, radius, allowStepClick, iconPosition, orientation }: StepStylesParams\n ) => {\n const _iconSize = iconSize || theme.fn.size({ size, sizes: iconSizes });\n const iconMargin = size === 'xl' || size === 'lg' ? theme.spacing.md : theme.spacing.sm;\n const _radius = theme.fn.size({ size: radius, sizes: theme.radius });\n const colors = theme.fn.variant({ variant: 'filled', color });\n const separatorDistanceFromIcon = theme.spacing.xs / 2;\n\n const verticalOrientationStyles = {\n step: {\n justifyContent: 'flex-start',\n minHeight: `${_iconSize + theme.spacing.xl + separatorDistanceFromIcon}px`,\n marginTop: `${separatorDistanceFromIcon}px`,\n overflow: 'hidden',\n\n '&:first-of-type': {\n marginTop: 0,\n },\n\n '&:last-of-type': {\n minHeight: 'auto',\n },\n },\n } as const;\n\n return {\n stepLoader: {},\n\n step: {\n display: 'flex',\n flexDirection: iconPosition === 'left' ? 'row' : 'row-reverse',\n cursor: allowStepClick ? 'pointer' : 'default',\n ...(orientation === 'vertical'\n ? verticalOrientationStyles.step\n : {\n alignItems: 'center',\n }),\n },\n\n stepWrapper: {\n position: 'relative',\n },\n\n verticalSeparator: {\n top: `${_iconSize + separatorDistanceFromIcon}px`,\n left: `${_iconSize / 2}px`,\n height: '100vh',\n position: 'absolute',\n borderLeft: `2px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1]\n }`,\n },\n\n verticalSeparatorActive: {\n borderColor: theme.fn.variant({ variant: 'filled', color }).background,\n },\n\n stepIcon: {\n boxSizing: 'border-box',\n height: _iconSize,\n width: _iconSize,\n minWidth: _iconSize,\n borderRadius: _radius,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1],\n border: `2px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1]\n }`,\n transition: 'background-color 150ms ease, border-color 150ms ease',\n position: 'relative',\n fontWeight: 700,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[1] : theme.colors.gray[7],\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n\n '&[data-progress]': {\n borderColor: colors.background,\n },\n\n '&[data-completed]': {\n backgroundColor: colors.background,\n borderColor: colors.background,\n color: theme.white,\n },\n },\n\n stepCompletedIcon: {\n ...theme.fn.cover(),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: theme.white,\n },\n\n stepBody: {\n display: 'flex',\n flexDirection: 'column',\n marginLeft: iconPosition === 'left' ? iconMargin : undefined,\n marginRight: iconPosition === 'right' ? iconMargin : undefined,\n\n ...(orientation === 'vertical'\n ? {\n marginTop:\n _iconSize > theme.fn.size({ size, sizes: theme.fontSizes }) * 4\n ? _iconSize / 4\n : _iconSize / 12,\n }\n : null),\n },\n\n stepLabel: {\n textAlign: iconPosition,\n fontWeight: 500,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n lineHeight: 1,\n },\n\n stepDescription: {\n textAlign: iconPosition,\n marginTop: theme.fn.size({ size, sizes: theme.spacing }) / 3,\n marginBottom: theme.fn.size({ size, sizes: theme.spacing }) / 3,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }) - 2,\n lineHeight: 1,\n },\n };\n }\n);\n"],"names":[],"mappings":"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"}
@@ -104,7 +104,7 @@ const Stepper = forwardRef((props, ref) => {
104
104
  orientation,
105
105
  unstyled
106
106
  }));
107
- if (index !== _children.length - 1) {
107
+ if (orientation === "horizontal" && index !== _children.length - 1) {
108
108
  acc.push(/* @__PURE__ */ React.createElement("div", {
109
109
  className: cx(classes.separator, { [classes.separatorActive]: index < active }),
110
110
  key: `separator-${index}`
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.js","sources":["../../src/Stepper/Stepper.tsx"],"sourcesContent":["import React, { forwardRef, Children, cloneElement } from 'react';\nimport {\n MantineColor,\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { Box } from '../Box';\nimport { Step, StepStylesNames } from './Step/Step';\nimport { StepCompleted } from './StepCompleted/StepCompleted';\nimport useStyles from './Stepper.styles';\n\nexport type StepperStylesNames = Selectors<typeof useStyles> | StepStylesNames;\n\nexport interface StepperProps\n extends DefaultProps<StepperStylesNames>,\n React.ComponentPropsWithRef<'div'> {\n /** <Stepper.Step /> components only */\n children: React.ReactNode;\n\n /** Called when step is clicked */\n onStepClick?(stepIndex: number): void;\n\n /** Active step index */\n active: number;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode;\n\n /** Active and progress Step colors from theme.colors */\n color?: MantineColor;\n\n /** Step icon size in px */\n iconSize?: number;\n\n /** Content padding-top from theme.spacing or number to set value in px */\n contentPadding?: MantineNumberSize;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n\n /** Icon position relative to step body */\n iconPosition?: 'right' | 'left';\n\n /** Component size */\n size?: MantineSize;\n\n /** Radius from theme.radius, or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Breakpoint at which orientation will change from horizontal to vertical */\n breakpoint?: MantineNumberSize;\n}\n\ntype StepperComponent = ForwardRefWithStaticComponents<\n StepperProps,\n {\n Step: typeof Step;\n Completed: typeof StepCompleted;\n }\n>;\n\nconst defaultProps: Partial<StepperProps> = {\n contentPadding: 'md',\n size: 'md',\n radius: 'xl',\n orientation: 'horizontal',\n iconPosition: 'left',\n};\n\nexport const Stepper: StepperComponent = forwardRef<HTMLDivElement, StepperProps>((props, ref) => {\n const {\n className,\n children,\n onStepClick,\n active,\n completedIcon,\n progressIcon,\n color,\n iconSize,\n contentPadding,\n size,\n radius,\n orientation,\n breakpoint,\n iconPosition,\n classNames,\n styles,\n unstyled,\n ...others\n } = useComponentDefaultProps('Stepper', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { contentPadding, color, orientation, iconPosition, size, iconSize, breakpoint },\n { classNames, styles, unstyled, name: 'Stepper' }\n );\n\n const convertedChildren = Children.toArray(children) as React.ReactElement[];\n const _children = convertedChildren.filter((child) => child.type !== StepCompleted);\n const completedStep = convertedChildren.find((item) => item.type === StepCompleted);\n\n const items = _children.reduce<React.ReactElement[]>((acc, item, index) => {\n const shouldAllowSelect =\n typeof item.props.allowStepSelect === 'boolean'\n ? item.props.allowStepSelect\n : typeof onStepClick === 'function';\n\n acc.push(\n cloneElement(item, {\n __staticSelector: 'Stepper',\n icon: item.props.icon || index + 1,\n key: index,\n state:\n active === index ? 'stepProgress' : active > index ? 'stepCompleted' : 'stepInactive',\n onClick: () => shouldAllowSelect && typeof onStepClick === 'function' && onStepClick(index),\n allowStepClick: shouldAllowSelect && typeof onStepClick === 'function',\n completedIcon: item.props.completedIcon || completedIcon,\n progressIcon: item.props.progressIcon || progressIcon,\n color: item.props.color || color,\n iconSize,\n size,\n radius,\n classNames,\n styles,\n iconPosition: item.props.iconPosition || iconPosition,\n orientation,\n unstyled,\n })\n );\n\n if (index !== _children.length - 1) {\n acc.push(\n <div\n className={cx(classes.separator, { [classes.separatorActive]: index < active })}\n key={`separator-${index}`}\n />\n );\n }\n\n return acc;\n }, []);\n\n const stepContent = _children[active]?.props?.children;\n const completedContent = completedStep?.props?.children;\n const content = active > _children.length - 1 ? completedContent : stepContent;\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <div className={classes.steps}>{items}</div>\n {content && <div className={classes.content}>{content}</div>}\n </Box>\n );\n}) as any;\n\nStepper.Step = Step;\nStepper.Completed = StepCompleted;\nStepper.displayName = '@mantine/core/Stepper';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Stepper.js","sources":["../../src/Stepper/Stepper.tsx"],"sourcesContent":["import React, { forwardRef, Children, cloneElement } from 'react';\nimport {\n MantineColor,\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { Box } from '../Box';\nimport { Step, StepStylesNames } from './Step/Step';\nimport { StepCompleted } from './StepCompleted/StepCompleted';\nimport useStyles from './Stepper.styles';\n\nexport type StepperStylesNames = Selectors<typeof useStyles> | StepStylesNames;\n\nexport interface StepperProps\n extends DefaultProps<StepperStylesNames>,\n React.ComponentPropsWithRef<'div'> {\n /** <Stepper.Step /> components only */\n children: React.ReactNode;\n\n /** Called when step is clicked */\n onStepClick?(stepIndex: number): void;\n\n /** Active step index */\n active: number;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode;\n\n /** Active and progress Step colors from theme.colors */\n color?: MantineColor;\n\n /** Step icon size in px */\n iconSize?: number;\n\n /** Content padding-top from theme.spacing or number to set value in px */\n contentPadding?: MantineNumberSize;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n\n /** Icon position relative to step body */\n iconPosition?: 'right' | 'left';\n\n /** Component size */\n size?: MantineSize;\n\n /** Radius from theme.radius, or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Breakpoint at which orientation will change from horizontal to vertical */\n breakpoint?: MantineNumberSize;\n}\n\ntype StepperComponent = ForwardRefWithStaticComponents<\n StepperProps,\n {\n Step: typeof Step;\n Completed: typeof StepCompleted;\n }\n>;\n\nconst defaultProps: Partial<StepperProps> = {\n contentPadding: 'md',\n size: 'md',\n radius: 'xl',\n orientation: 'horizontal',\n iconPosition: 'left',\n};\n\nexport const Stepper: StepperComponent = forwardRef<HTMLDivElement, StepperProps>((props, ref) => {\n const {\n className,\n children,\n onStepClick,\n active,\n completedIcon,\n progressIcon,\n color,\n iconSize,\n contentPadding,\n size,\n radius,\n orientation,\n breakpoint,\n iconPosition,\n classNames,\n styles,\n unstyled,\n ...others\n } = useComponentDefaultProps('Stepper', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { contentPadding, color, orientation, iconPosition, size, iconSize, breakpoint },\n { classNames, styles, unstyled, name: 'Stepper' }\n );\n\n const convertedChildren = Children.toArray(children) as React.ReactElement[];\n const _children = convertedChildren.filter((child) => child.type !== StepCompleted);\n const completedStep = convertedChildren.find((item) => item.type === StepCompleted);\n\n const items = _children.reduce<React.ReactElement[]>((acc, item, index) => {\n const shouldAllowSelect =\n typeof item.props.allowStepSelect === 'boolean'\n ? item.props.allowStepSelect\n : typeof onStepClick === 'function';\n\n acc.push(\n cloneElement(item, {\n __staticSelector: 'Stepper',\n icon: item.props.icon || index + 1,\n key: index,\n state:\n active === index ? 'stepProgress' : active > index ? 'stepCompleted' : 'stepInactive',\n onClick: () => shouldAllowSelect && typeof onStepClick === 'function' && onStepClick(index),\n allowStepClick: shouldAllowSelect && typeof onStepClick === 'function',\n completedIcon: item.props.completedIcon || completedIcon,\n progressIcon: item.props.progressIcon || progressIcon,\n color: item.props.color || color,\n iconSize,\n size,\n radius,\n classNames,\n styles,\n iconPosition: item.props.iconPosition || iconPosition,\n orientation,\n unstyled,\n })\n );\n\n if (orientation === 'horizontal' && index !== _children.length - 1) {\n acc.push(\n <div\n className={cx(classes.separator, { [classes.separatorActive]: index < active })}\n key={`separator-${index}`}\n />\n );\n }\n\n return acc;\n }, []);\n\n const stepContent = _children[active]?.props?.children;\n const completedContent = completedStep?.props?.children;\n const content = active > _children.length - 1 ? completedContent : stepContent;\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <div className={classes.steps}>{items}</div>\n {content && <div className={classes.content}>{content}</div>}\n </Box>\n );\n}) as any;\n\nStepper.Step = Step;\nStepper.Completed = StepCompleted;\nStepper.displayName = '@mantine/core/Stepper';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React, { cloneElement } from 'react';
1
+ import React, { forwardRef, cloneElement } from 'react';
2
2
  import { isElement } from '@mantine/utils';
3
3
  import { useMergedRef } from '@mantine/hooks';
4
4
  import { getDefaultZIndex, useComponentDefaultProps } from '@mantine/styles';
@@ -58,7 +58,7 @@ const defaultProps = {
58
58
  zIndex: getDefaultZIndex("popover"),
59
59
  positionDependencies: []
60
60
  };
61
- function Tooltip(props) {
61
+ const _Tooltip = forwardRef((props, ref) => {
62
62
  const _a = useComponentDefaultProps("Tooltip", defaultProps, props), {
63
63
  children,
64
64
  position,
@@ -87,7 +87,10 @@ function Tooltip(props) {
87
87
  events,
88
88
  zIndex,
89
89
  disabled,
90
- positionDependencies
90
+ positionDependencies,
91
+ onClick,
92
+ onMouseEnter,
93
+ onMouseLeave
91
94
  } = _a, others = __objRest(_a, [
92
95
  "children",
93
96
  "position",
@@ -116,7 +119,10 @@ function Tooltip(props) {
116
119
  "events",
117
120
  "zIndex",
118
121
  "disabled",
119
- "positionDependencies"
122
+ "positionDependencies",
123
+ "onClick",
124
+ "onMouseEnter",
125
+ "onMouseLeave"
120
126
  ]);
121
127
  const { classes, cx, theme } = useStyles({ radius, color, width, multiline }, { name: "Tooltip", classNames, styles, unstyled });
122
128
  const tooltip = useTooltip({
@@ -132,7 +138,7 @@ function Tooltip(props) {
132
138
  if (!isElement(children)) {
133
139
  throw new Error(TOOLTIP_ERRORS.children);
134
140
  }
135
- const targetRef = useMergedRef(tooltip.reference, children.ref);
141
+ const targetRef = useMergedRef(tooltip.reference, children.ref, ref);
136
142
  return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(OptionalPortal, {
137
143
  withinPortal
138
144
  }, /* @__PURE__ */ React.createElement(Transition, {
@@ -158,13 +164,17 @@ function Tooltip(props) {
158
164
  className: classes.arrow
159
165
  }));
160
166
  })), cloneElement(children, tooltip.getReferenceProps(__spreadValues({
167
+ onClick,
168
+ onMouseEnter,
169
+ onMouseLeave,
161
170
  [refProp]: targetRef,
162
171
  className: cx(className, children.props.className)
163
172
  }, children.props))));
164
- }
165
- Tooltip.Group = TooltipGroup;
166
- Tooltip.Floating = TooltipFloating;
167
- Tooltip.displayName = "@mantine/core/Tooltip";
173
+ });
174
+ _Tooltip.Group = TooltipGroup;
175
+ _Tooltip.Floating = TooltipFloating;
176
+ _Tooltip.displayName = "@mantine/core/Tooltip";
177
+ const Tooltip = _Tooltip;
168
178
 
169
179
  export { Tooltip };
170
180
  //# sourceMappingURL=Tooltip.js.map