@mantine/core 7.0.0-alpha.16 → 7.0.0-alpha.17

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 (131) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +201 -0
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -0
  3. package/cjs/components/Breadcrumbs/Breadcrumbs.js +1 -1
  4. package/cjs/components/Combobox/Combobox.context.js.map +1 -1
  5. package/cjs/components/Combobox/Combobox.js +10 -6
  6. package/cjs/components/Combobox/Combobox.js.map +1 -1
  7. package/cjs/components/Combobox/Combobox.module.css.js +1 -1
  8. package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.js +1 -1
  9. package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.js.map +1 -1
  10. package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.js +61 -0
  11. package/cjs/components/Combobox/ComboboxGroup/ComboboxGroup.js.map +1 -0
  12. package/cjs/components/Combobox/ComboboxOption/ComboboxOption.js +1 -1
  13. package/cjs/components/Combobox/ComboboxOption/ComboboxOption.js.map +1 -1
  14. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.js +87 -0
  15. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.js.map +1 -0
  16. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.module.css.js +8 -0
  17. package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.module.css.js.map +1 -0
  18. package/cjs/components/Combobox/OptionsDropdown/default-options-filter.js +39 -0
  19. package/cjs/components/Combobox/OptionsDropdown/default-options-filter.js.map +1 -0
  20. package/cjs/components/Combobox/OptionsDropdown/is-empty-combobox-data.js +21 -0
  21. package/cjs/components/Combobox/OptionsDropdown/is-empty-combobox-data.js.map +1 -0
  22. package/cjs/components/Combobox/OptionsDropdown/is-options-group.js +10 -0
  23. package/cjs/components/Combobox/OptionsDropdown/is-options-group.js.map +1 -0
  24. package/cjs/components/Combobox/get-options-lockup/get-options-lockup.js +42 -0
  25. package/cjs/components/Combobox/get-options-lockup/get-options-lockup.js.map +1 -0
  26. package/cjs/components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.js +1 -1
  27. package/cjs/components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.js.map +1 -1
  28. package/cjs/components/Combobox/use-combobox/use-virtualized-combobox.js.map +1 -1
  29. package/cjs/components/InputBase/InputBase.js.map +1 -1
  30. package/cjs/components/MultiSelect/MultiSelect.js +345 -0
  31. package/cjs/components/MultiSelect/MultiSelect.js.map +1 -0
  32. package/cjs/components/MultiSelect/filter-picked-values.js +26 -0
  33. package/cjs/components/MultiSelect/filter-picked-values.js.map +1 -0
  34. package/cjs/components/PillsInput/PillsInputField/PillsInputField.js +24 -2
  35. package/cjs/components/PillsInput/PillsInputField/PillsInputField.js.map +1 -1
  36. package/cjs/components/Popover/PopoverTarget/PopoverTarget.js +1 -1
  37. package/cjs/components/ScrollArea/ScrollArea.js +1 -1
  38. package/cjs/components/ScrollArea/ScrollArea.js.map +1 -1
  39. package/cjs/components/Select/Select.js +227 -0
  40. package/cjs/components/Select/Select.js.map +1 -0
  41. package/cjs/components/TagsInput/TagsInput.js +370 -0
  42. package/cjs/components/TagsInput/TagsInput.js.map +1 -0
  43. package/cjs/components/TagsInput/filter-picked-tags.js +26 -0
  44. package/cjs/components/TagsInput/filter-picked-tags.js.map +1 -0
  45. package/cjs/components/TagsInput/get-splitted-tags.js +23 -0
  46. package/cjs/components/TagsInput/get-splitted-tags.js.map +1 -0
  47. package/cjs/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.js +33 -0
  48. package/cjs/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.js.map +1 -0
  49. package/cjs/index.css +1464 -1387
  50. package/cjs/index.js +21 -0
  51. package/cjs/index.js.map +1 -1
  52. package/esm/components/Autocomplete/Autocomplete.js +193 -0
  53. package/esm/components/Autocomplete/Autocomplete.js.map +1 -0
  54. package/esm/components/Breadcrumbs/Breadcrumbs.js +1 -1
  55. package/esm/components/Combobox/Combobox.context.js.map +1 -1
  56. package/esm/components/Combobox/Combobox.js +10 -6
  57. package/esm/components/Combobox/Combobox.js.map +1 -1
  58. package/esm/components/Combobox/Combobox.module.css.js +1 -1
  59. package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.js +1 -1
  60. package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.js.map +1 -1
  61. package/esm/components/Combobox/ComboboxGroup/ComboboxGroup.js +53 -0
  62. package/esm/components/Combobox/ComboboxGroup/ComboboxGroup.js.map +1 -0
  63. package/esm/components/Combobox/ComboboxOption/ComboboxOption.js +1 -1
  64. package/esm/components/Combobox/ComboboxOption/ComboboxOption.js.map +1 -1
  65. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.js +79 -0
  66. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.js.map +1 -0
  67. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.module.css.js +4 -0
  68. package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.module.css.js.map +1 -0
  69. package/esm/components/Combobox/OptionsDropdown/default-options-filter.js +35 -0
  70. package/esm/components/Combobox/OptionsDropdown/default-options-filter.js.map +1 -0
  71. package/esm/components/Combobox/OptionsDropdown/is-empty-combobox-data.js +17 -0
  72. package/esm/components/Combobox/OptionsDropdown/is-empty-combobox-data.js.map +1 -0
  73. package/esm/components/Combobox/OptionsDropdown/is-options-group.js +6 -0
  74. package/esm/components/Combobox/OptionsDropdown/is-options-group.js.map +1 -0
  75. package/esm/components/Combobox/get-options-lockup/get-options-lockup.js +37 -0
  76. package/esm/components/Combobox/get-options-lockup/get-options-lockup.js.map +1 -0
  77. package/esm/components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.js +1 -1
  78. package/esm/components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.js.map +1 -1
  79. package/esm/components/Combobox/use-combobox/use-virtualized-combobox.js.map +1 -1
  80. package/esm/components/InputBase/InputBase.js.map +1 -1
  81. package/esm/components/MultiSelect/MultiSelect.js +337 -0
  82. package/esm/components/MultiSelect/MultiSelect.js.map +1 -0
  83. package/esm/components/MultiSelect/filter-picked-values.js +22 -0
  84. package/esm/components/MultiSelect/filter-picked-values.js.map +1 -0
  85. package/esm/components/PillsInput/PillsInputField/PillsInputField.js +24 -2
  86. package/esm/components/PillsInput/PillsInputField/PillsInputField.js.map +1 -1
  87. package/esm/components/Popover/PopoverTarget/PopoverTarget.js +1 -1
  88. package/esm/components/ScrollArea/ScrollArea.js +1 -1
  89. package/esm/components/ScrollArea/ScrollArea.js.map +1 -1
  90. package/esm/components/Select/Select.js +219 -0
  91. package/esm/components/Select/Select.js.map +1 -0
  92. package/esm/components/TagsInput/TagsInput.js +362 -0
  93. package/esm/components/TagsInput/TagsInput.js.map +1 -0
  94. package/esm/components/TagsInput/filter-picked-tags.js +22 -0
  95. package/esm/components/TagsInput/filter-picked-tags.js.map +1 -0
  96. package/esm/components/TagsInput/get-splitted-tags.js +19 -0
  97. package/esm/components/TagsInput/get-splitted-tags.js.map +1 -0
  98. package/esm/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.js +29 -0
  99. package/esm/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.js.map +1 -0
  100. package/esm/index.css +1464 -1387
  101. package/esm/index.js +10 -0
  102. package/esm/index.js.map +1 -1
  103. package/lib/components/Autocomplete/Autocomplete.d.ts +24 -0
  104. package/lib/components/Autocomplete/index.d.ts +2 -0
  105. package/lib/components/Combobox/Combobox.context.d.ts +1 -1
  106. package/lib/components/Combobox/Combobox.d.ts +12 -3
  107. package/lib/components/Combobox/Combobox.types.d.ts +31 -2
  108. package/lib/components/Combobox/ComboboxGroup/ComboboxGroup.d.ts +19 -0
  109. package/lib/components/Combobox/OptionsDropdown/OptionsDropdown.d.ts +25 -0
  110. package/lib/components/Combobox/OptionsDropdown/default-options-filter.d.ts +7 -0
  111. package/lib/components/Combobox/OptionsDropdown/is-empty-combobox-data.d.ts +2 -0
  112. package/lib/components/Combobox/OptionsDropdown/is-options-group.d.ts +2 -0
  113. package/lib/components/Combobox/get-options-lockup/get-options-lockup.d.ts +3 -0
  114. package/lib/components/Combobox/index.d.ts +8 -1
  115. package/lib/components/Input/use-input-props.d.ts +33 -33
  116. package/lib/components/InputBase/InputBase.d.ts +2 -1
  117. package/lib/components/MultiSelect/MultiSelect.d.ts +41 -0
  118. package/lib/components/MultiSelect/filter-picked-values.d.ts +7 -0
  119. package/lib/components/MultiSelect/index.d.ts +2 -0
  120. package/lib/components/PillsInput/PillsInputField/PillsInputField.d.ts +3 -7
  121. package/lib/components/ScrollArea/ScrollArea.d.ts +2 -2
  122. package/lib/components/Select/Select.d.ts +33 -0
  123. package/lib/components/Select/index.d.ts +2 -0
  124. package/lib/components/TagsInput/TagsInput.d.ts +36 -0
  125. package/lib/components/TagsInput/filter-picked-tags.d.ts +7 -0
  126. package/lib/components/TagsInput/get-splitted-tags.d.ts +9 -0
  127. package/lib/components/TagsInput/index.d.ts +2 -0
  128. package/lib/components/index.d.ts +4 -0
  129. package/lib/core/styles-api/index.d.ts +1 -0
  130. package/lib/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.d.ts +12 -0
  131. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelect.js","sources":["../../../src/components/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import React from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n extractStyleProps,\n useStyles,\n useResolvedStylesApi,\n} from '../../core';\nimport {\n Combobox,\n OptionsDropdown,\n useCombobox,\n getParsedComboboxData,\n getOptionsLockup,\n ComboboxLikeProps,\n ComboboxLikeStylesNames,\n} from '../Combobox';\nimport { __BaseInputProps, __InputStylesNames } from '../Input';\nimport { PillsInput } from '../PillsInput';\nimport { Pill } from '../Pill';\nimport { InputBase } from '../InputBase';\nimport { filterPickedValues } from './filter-picked-values';\n\nexport type MultiSelectStylesNames =\n | __InputStylesNames\n | ComboboxLikeStylesNames\n | 'pill'\n | 'pillsList'\n | 'inputField';\n\nexport interface MultiSelectProps\n extends BoxProps,\n __BaseInputProps,\n ComboboxLikeProps,\n StylesApiProps<MultiSelectFactory>,\n ElementProps<'input', 'size' | 'value' | 'defaultValue' | 'onChange'> {\n /** Controlled component value */\n value?: string[];\n\n /** Default value for uncontrolled component */\n defaultValue?: string[];\n\n /** Called whe value changes */\n onChange?(value: string[]): void;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?(value: string): void;\n\n /** Maximum number of values, `Infinity` by default */\n maxValues?: number;\n\n /** Determines whether the select should be searchable, `false` by default */\n searchable?: boolean;\n\n /** Message displayed when no option matched current search query, only applicable when `searchable` prop is set */\n nothingFoundMessage?: React.ReactNode;\n\n /** Determines whether check icon should be displayed near the selected option label, `true` by default */\n withCheckIcon?: boolean;\n\n /** Position of the check icon relative to the option label, `'left'` by default */\n checkIconPosition?: 'left' | 'right';\n\n /** Determines whether picked options should be removed from the options list, `false` by default */\n hidePickedOptions?: boolean;\n}\n\nexport type MultiSelectFactory = Factory<{\n props: MultiSelectProps;\n ref: HTMLInputElement;\n stylesNames: MultiSelectStylesNames;\n}>;\n\nconst defaultProps: Partial<MultiSelectProps> = {\n maxValues: Infinity,\n size: 'sm',\n withCheckIcon: true,\n checkIconPosition: 'left',\n};\n\nexport const MultiSelect = factory<MultiSelectFactory>((_props, ref) => {\n const props = useProps('MultiSelect', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n size,\n value,\n defaultValue,\n onChange,\n onKeyDown,\n variant,\n data,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose,\n selectFirstOptionOnChange,\n onOptionSubmit,\n comboboxProps,\n filter,\n limit,\n withScrollArea,\n maxDropdownHeight,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n readOnly,\n disabled,\n onFocus,\n onBlur,\n onPaste,\n radius,\n rightSection,\n rightSectionWidth,\n rightSectionPointerEvents,\n rightSectionProps,\n leftSection,\n leftSectionWidth,\n leftSectionPointerEvents,\n leftSectionProps,\n inputContainer,\n inputWrapperOrder,\n withAsterisk,\n labelProps,\n descriptionProps,\n errorProps,\n wrapperProps,\n description,\n label,\n error,\n maxValues,\n searchable,\n nothingFoundMessage,\n withCheckIcon,\n checkIconPosition,\n hidePickedOptions,\n ...others\n } = props;\n\n const parsedData = getParsedComboboxData(data);\n const optionsLockup = getOptionsLockup(parsedData);\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose: () => {\n onDropdownClose?.();\n combobox.resetSelectedOption();\n },\n });\n\n const {\n styleProps,\n rest: { type, ...rest },\n } = extractStyleProps(others);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange,\n });\n\n const [_searchValue, setSearchValue] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: '',\n onChange: onSearchChange,\n });\n\n const getStyles = useStyles<MultiSelectFactory>({\n name: 'MultiSelect',\n classes: {} as any,\n props,\n classNames,\n styles,\n unstyled,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<MultiSelectFactory>({\n props,\n styles,\n classNames,\n });\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n\n if (event.key === 'Backspace' && _searchValue.length === 0 && _value.length > 0) {\n setValue(_value.slice(0, _value.length - 1));\n }\n };\n\n const values = _value.map((item, index) => (\n <Pill\n key={`${item}-${index}`}\n withRemoveButton={!readOnly}\n onRemove={() => setValue(_value.filter((i) => item !== i))}\n {...getStyles('pill')}\n >\n {item}\n </Pill>\n ));\n\n return (\n <Combobox\n store={combobox}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n size={size}\n __staticSelector=\"MultiSelect\"\n onOptionSubmit={(val) => {\n onOptionSubmit?.(val);\n setSearchValue('');\n combobox.updateSelectedOptionIndex('selected');\n\n if (_value.includes(optionsLockup[val].value)) {\n setValue(_value.filter((v) => v !== optionsLockup[val].value));\n } else if (_value.length < maxValues!) {\n setValue([..._value, optionsLockup[val].value]);\n }\n }}\n {...comboboxProps}\n >\n <Combobox.DropdownTarget>\n <PillsInput\n {...styleProps}\n __staticSelector=\"MultiSelect\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n size={size}\n className={className}\n style={style}\n variant={variant}\n disabled={disabled}\n radius={radius}\n rightSection={rightSection}\n rightSectionWidth={rightSectionWidth}\n rightSectionPointerEvents={rightSectionPointerEvents}\n rightSectionProps={rightSectionProps}\n leftSection={leftSection}\n leftSectionWidth={leftSectionWidth}\n leftSectionPointerEvents={leftSectionPointerEvents}\n leftSectionProps={leftSectionProps}\n inputContainer={inputContainer}\n inputWrapperOrder={inputWrapperOrder}\n withAsterisk={withAsterisk}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n wrapperProps={wrapperProps}\n description={description}\n label={label}\n error={error}\n multiline\n __stylesApiProps={{ ...props, multiline: true }}\n pointer={!searchable}\n onClick={() => (searchable ? combobox.openDropdown() : combobox.toggleDropdown())}\n >\n <Pill.Group disabled={disabled} {...getStyles('pillsList')}>\n {values}\n <Combobox.EventsTarget>\n <PillsInput.Field\n {...rest}\n ref={ref}\n {...getStyles('inputField')}\n unstyled={unstyled}\n onFocus={(event) => {\n onFocus?.(event);\n searchable && combobox.openDropdown();\n }}\n onBlur={(event) => {\n onBlur?.(event);\n combobox.closeDropdown();\n searchable && combobox.closeDropdown();\n setSearchValue('');\n }}\n onKeyDown={handleInputKeydown}\n value={_searchValue}\n onChange={(event) => {\n setSearchValue(event.currentTarget.value);\n searchable && combobox.openDropdown();\n }}\n disabled={disabled}\n readOnly={readOnly || !searchable}\n pointer={!searchable}\n />\n </Combobox.EventsTarget>\n </Pill.Group>\n </PillsInput>\n </Combobox.DropdownTarget>\n\n <OptionsDropdown\n data={\n hidePickedOptions ? filterPickedValues({ data: parsedData, value: _value }) : parsedData\n }\n hidden={readOnly || disabled}\n filter={filter}\n search={_searchValue}\n limit={limit}\n hiddenWhenEmpty={\n hidePickedOptions ||\n !nothingFoundMessage ||\n (!searchable && _searchValue.trim().length !== 0)\n }\n withScrollArea={withScrollArea}\n maxDropdownHeight={maxDropdownHeight}\n filterOptions={searchable}\n value={_value}\n checkIconPosition={checkIconPosition}\n withCheckIcon={withCheckIcon}\n nothingFoundMessage={nothingFoundMessage}\n />\n </Combobox>\n );\n});\n\nMultiSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nMultiSelect.displayName = '@mantine/core/MultiSelect';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { isOptionsGroup } from '../Combobox/OptionsDropdown/is-options-group.js';
2
+
3
+ function filterPickedValues({ data, value }) {
4
+ const normalizedValue = value.map((item) => item.trim().toLowerCase());
5
+ const filtered = data.reduce((acc, item) => {
6
+ if (isOptionsGroup(item)) {
7
+ acc.push({
8
+ group: item.group,
9
+ items: item.items.filter(
10
+ (option) => normalizedValue.indexOf(option.label.toLowerCase().trim()) === -1
11
+ )
12
+ });
13
+ } else if (normalizedValue.indexOf(item.label.toLowerCase().trim()) === -1) {
14
+ acc.push(item);
15
+ }
16
+ return acc;
17
+ }, []);
18
+ return filtered;
19
+ }
20
+
21
+ export { filterPickedValues };
22
+ //# sourceMappingURL=filter-picked-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-picked-values.js","sources":["../../../src/components/MultiSelect/filter-picked-values.ts"],"sourcesContent":["import { ComboboxParsedItem, isOptionsGroup } from '../Combobox';\n\ninterface FilterPickedTagsInput {\n data: ComboboxParsedItem[];\n value: string[];\n}\n\nexport function filterPickedValues({ data, value }: FilterPickedTagsInput) {\n const normalizedValue = value.map((item) => item.trim().toLowerCase());\n\n const filtered = data.reduce<ComboboxParsedItem[]>((acc, item) => {\n if (isOptionsGroup(item)) {\n acc.push({\n group: item.group,\n items: item.items.filter(\n (option) => normalizedValue.indexOf(option.label.toLowerCase().trim()) === -1\n ),\n });\n } else if (normalizedValue.indexOf(item.label.toLowerCase().trim()) === -1) {\n acc.push(item);\n }\n\n return acc;\n }, []);\n\n return filtered;\n}\n"],"names":[],"mappings":";;AACO,SAAS,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;AACpD,EAAE,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACzE,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AAC9C,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;AAC9B,MAAM,GAAG,CAAC,IAAI,CAAC;AACf,QAAQ,KAAK,EAAE,IAAI,CAAC,KAAK;AACzB,QAAQ,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;AAChC,UAAU,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AACvF,SAAS;AACT,OAAO,CAAC,CAAC;AACT,KAAK,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;AAChF,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,OAAO,QAAQ,CAAC;AAClB;;;;"}
@@ -44,7 +44,29 @@ const defaultProps = {
44
44
  };
45
45
  const PillsInputField = factory((_props, ref) => {
46
46
  const props = useProps("PillsInputField", defaultProps, _props);
47
- const _a = props, { classNames, className, style, styles, unstyled, vars, type, disabled, id } = _a, others = __objRest(_a, ["classNames", "className", "style", "styles", "unstyled", "vars", "type", "disabled", "id"]);
47
+ const _a = props, {
48
+ classNames,
49
+ className,
50
+ style,
51
+ styles,
52
+ unstyled,
53
+ vars,
54
+ type,
55
+ disabled,
56
+ id,
57
+ pointer
58
+ } = _a, others = __objRest(_a, [
59
+ "classNames",
60
+ "className",
61
+ "style",
62
+ "styles",
63
+ "unstyled",
64
+ "vars",
65
+ "type",
66
+ "disabled",
67
+ "id",
68
+ "pointer"
69
+ ]);
48
70
  const ctx = usePillsInputContext();
49
71
  const inputWrapperCtx = useInputWrapperContext();
50
72
  const getStyles = useStyles({
@@ -65,7 +87,7 @@ const PillsInputField = factory((_props, ref) => {
65
87
  ref: useMergedRef(ref, ctx == null ? void 0 : ctx.fieldRef),
66
88
  "data-type": type,
67
89
  disabled: _disabled,
68
- mod: { disabled: _disabled }
90
+ mod: { disabled: _disabled, pointer }
69
91
  }, getStyles("root")), others), {
70
92
  id: (inputWrapperCtx == null ? void 0 : inputWrapperCtx.inputId) || id,
71
93
  "aria-invalid": ctx == null ? void 0 : ctx.hasError,
@@ -1 +1 @@
1
- {"version":3,"file":"PillsInputField.js","sources":["../../../../src/components/PillsInput/PillsInputField/PillsInputField.tsx"],"sourcesContent":["import React from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n Factory,\n MantineSize,\n} from '../../../core';\nimport { useInputWrapperContext } from '../../Input';\nimport { usePillsInputContext } from '../PillsInput.context';\nimport classes from './PillsInputField.module.css';\n\nexport type PillsInputFieldStylesNames = 'root';\n\nexport interface PillsInputFieldProps\n extends BoxProps,\n StylesApiProps<PillsInputFieldFactory>,\n ElementProps<'input', 'type'> {\n /** Controls input styles when focused. If `auto` the input is hidden when not focused. If `visible` the input will always remain visible. `'visible'` by default */\n type?: 'auto' | 'visible' | 'hidden';\n}\n\nexport type PillsInputFieldFactory = Factory<{\n props: PillsInputFieldProps;\n ref: HTMLInputElement;\n stylesNames: PillsInputFieldStylesNames;\n ctx: {\n size: MantineSize | (string & {});\n };\n}>;\n\nconst defaultProps: Partial<PillsInputFieldProps> = {\n type: 'visible',\n};\n\nexport const PillsInputField = factory<PillsInputFieldFactory>((_props, ref) => {\n const props = useProps('PillsInputField', defaultProps, _props);\n const { classNames, className, style, styles, unstyled, vars, type, disabled, id, ...others } =\n props;\n const ctx = usePillsInputContext();\n const inputWrapperCtx = useInputWrapperContext();\n\n const getStyles = useStyles<PillsInputFieldFactory>({\n name: 'PillsInputField',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const _disabled = disabled || ctx?.disabled;\n\n return (\n <Box\n component=\"input\"\n ref={useMergedRef(ref, ctx?.fieldRef)}\n data-type={type}\n disabled={_disabled}\n mod={{ disabled: _disabled }}\n {...getStyles('root')}\n {...others}\n id={inputWrapperCtx?.inputId || id}\n aria-invalid={ctx?.hasError}\n aria-describedby={inputWrapperCtx?.describedBy}\n />\n );\n});\n\nPillsInputField.classes = classes;\nPillsInputField.displayName = '@mantine/core/PillsInputField';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PillsInputField.js","sources":["../../../../src/components/PillsInput/PillsInputField/PillsInputField.tsx"],"sourcesContent":["import React from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n Factory,\n} from '../../../core';\nimport { useInputWrapperContext } from '../../Input';\nimport { usePillsInputContext } from '../PillsInput.context';\nimport classes from './PillsInputField.module.css';\n\nexport type PillsInputFieldStylesNames = 'root';\n\nexport interface PillsInputFieldProps\n extends BoxProps,\n StylesApiProps<PillsInputFieldFactory>,\n ElementProps<'input', 'type'> {\n /** Controls input styles when focused. If `auto` the input is hidden when not focused. If `visible` the input will always remain visible. `'visible'` by default */\n type?: 'auto' | 'visible' | 'hidden';\n\n /** If set, cursor is changed to pointer */\n pointer?: boolean;\n}\n\nexport type PillsInputFieldFactory = Factory<{\n props: PillsInputFieldProps;\n ref: HTMLInputElement;\n stylesNames: PillsInputFieldStylesNames;\n}>;\n\nconst defaultProps: Partial<PillsInputFieldProps> = {\n type: 'visible',\n};\n\nexport const PillsInputField = factory<PillsInputFieldFactory>((_props, ref) => {\n const props = useProps('PillsInputField', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n type,\n disabled,\n id,\n pointer,\n ...others\n } = props;\n const ctx = usePillsInputContext();\n const inputWrapperCtx = useInputWrapperContext();\n\n const getStyles = useStyles<PillsInputFieldFactory>({\n name: 'PillsInputField',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const _disabled = disabled || ctx?.disabled;\n\n return (\n <Box\n component=\"input\"\n ref={useMergedRef(ref, ctx?.fieldRef)}\n data-type={type}\n disabled={_disabled}\n mod={{ disabled: _disabled, pointer }}\n {...getStyles('root')}\n {...others}\n id={inputWrapperCtx?.inputId || id}\n aria-invalid={ctx?.hasError}\n aria-describedby={inputWrapperCtx?.describedBy}\n />\n );\n});\n\nPillsInputField.classes = classes;\nPillsInputField.displayName = '@mantine/core/PillsInputField';\n"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@ import { cloneElement } from 'react';
2
2
  import cx from 'clsx';
3
3
  import { useMergedRef } from '@mantine/hooks';
4
4
  import { usePopoverContext } from '../Popover.context.js';
5
+ import { isElement } from '../../../core/utils/is-element/is-element.js';
5
6
  import { factory } from '../../../core/factory/factory.js';
6
7
  import { useProps } from '../../../core/MantineProvider/use-props/use-props.js';
7
- import { isElement } from '../../../core/utils/is-element/is-element.js';
8
8
 
9
9
  var __defProp = Object.defineProperty;
10
10
  var __defProps = Object.defineProperties;
@@ -110,7 +110,7 @@ const ScrollArea = factory((_props, ref) => {
110
110
  ScrollAreaViewport,
111
111
  __spreadProps(__spreadValues(__spreadValues({}, viewportProps), getStyles("viewport")), {
112
112
  ref: viewportRef,
113
- "data-offset-scrollbars": offsetScrollbars || void 0,
113
+ "data-offset-scrollbars": offsetScrollbars === true ? "xy" : offsetScrollbars || void 0,
114
114
  onScroll: typeof onScrollPositionChange === "function" ? ({ currentTarget }) => onScrollPositionChange({
115
115
  x: currentTarget.scrollLeft,
116
116
  y: currentTarget.scrollTop
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollArea.js","sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n rem,\n createVarsResolver,\n Factory,\n} from '../../core';\nimport { ScrollAreaScrollbar } from './ScrollAreaScrollbar/ScrollAreaScrollbar';\nimport { ScrollAreaCorner } from './ScrollAreaCorner/ScrollAreaCorner';\nimport { ScrollAreaRoot } from './ScrollAreaRoot/ScrollAreaRoot';\nimport { ScrollAreaViewport } from './ScrollAreaViewport/ScrollAreaViewport';\nimport classes from './ScrollArea.module.css';\nimport { ScrollAreaThumb } from './ScrollAreaThumb/ScrollAreaThumb';\n\nexport type ScrollAreaStylesNames = 'root' | 'viewport' | 'scrollbar' | 'thumb' | 'corner';\nexport type ScrollAreaVariant = string;\nexport type ScrollAreaCssVariables = {\n root: '--scrollarea-scrollbar-size';\n};\n\nexport interface ScrollAreaProps\n extends BoxProps,\n StylesApiProps<ScrollAreaFactory>,\n ElementProps<'div'> {\n /** Scrollbar size, any valid CSS value for width/height, numbers are converted to rem, default value is 0.75rem */\n scrollbarSize?: number | string;\n\n /**\n * Defines scrollbars behavior, `hover` by default\n * - `hover` – scrollbars are visible when mouse is over the scroll area\n * - `scroll` – scrollbars are visible when the scroll area is scrolled\n * - `always` – scrollbars are always visible\n * - `never` – scrollbars are always hidden\n * - `auto` – similar to `overflow: auto` – scrollbars are always visible when the content is overflowing\n * */\n type?: 'auto' | 'always' | 'scroll' | 'hover' | 'never';\n\n /** Scroll hide delay in ms, applicable only when type is set to `hover` or `scroll`, `1000` by default */\n scrollHideDelay?: number;\n\n /** Determines whether scrollbars should be offset with padding, `false` by default */\n offsetScrollbars?: boolean;\n\n /** Assigns viewport element (scrollable container) ref */\n viewportRef?: React.ForwardedRef<HTMLDivElement>;\n\n /** Props passed down to the viewport element */\n viewportProps?: React.ComponentPropsWithRef<'div'>;\n\n /** Called with current position (`x` and `y` coordinates) when viewport is scrolled */\n onScrollPositionChange?(position: { x: number; y: number }): void;\n}\n\nexport interface ScrollAreaAutosizeProps extends ScrollAreaProps {}\n\nexport type ScrollAreaFactory = Factory<{\n props: ScrollAreaProps;\n ref: HTMLDivElement;\n stylesNames: ScrollAreaStylesNames;\n vars: ScrollAreaCssVariables;\n staticComponents: {\n Autosize: typeof ScrollAreaAutosize;\n };\n}>;\n\nconst defaultProps: Partial<ScrollAreaProps> = {\n scrollbarSize: 12,\n scrollHideDelay: 1000,\n type: 'hover',\n};\n\nconst varsResolver = createVarsResolver<ScrollAreaFactory>((_, { scrollbarSize }) => ({\n root: {\n '--scrollarea-scrollbar-size': rem(scrollbarSize),\n },\n}));\n\nexport const ScrollArea = factory<ScrollAreaFactory>((_props, ref) => {\n const props = useProps('ScrollArea', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n scrollbarSize,\n vars,\n type,\n scrollHideDelay,\n viewportProps,\n viewportRef,\n onScrollPositionChange,\n children,\n offsetScrollbars,\n ...others\n } = props;\n\n const [scrollbarHovered, setScrollbarHovered] = useState(false);\n\n const getStyles = useStyles<ScrollAreaFactory>({\n name: 'ScrollArea',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <ScrollAreaRoot\n type={type === 'never' ? 'always' : type}\n scrollHideDelay={scrollHideDelay}\n ref={ref}\n {...getStyles('root')}\n {...others}\n >\n <ScrollAreaViewport\n {...viewportProps}\n {...getStyles('viewport')}\n ref={viewportRef}\n data-offset-scrollbars={offsetScrollbars || undefined}\n onScroll={\n typeof onScrollPositionChange === 'function'\n ? ({ currentTarget }) =>\n onScrollPositionChange({\n x: currentTarget.scrollLeft,\n y: currentTarget.scrollTop,\n })\n : undefined\n }\n >\n {children}\n </ScrollAreaViewport>\n <ScrollAreaScrollbar\n {...getStyles('scrollbar')}\n orientation=\"horizontal\"\n data-hidden={type === 'never' || undefined}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <ScrollAreaThumb {...getStyles('thumb')} />\n </ScrollAreaScrollbar>\n <ScrollAreaScrollbar\n {...getStyles('scrollbar')}\n orientation=\"vertical\"\n data-hidden={type === 'never' || undefined}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <ScrollAreaThumb {...getStyles('thumb')} />\n </ScrollAreaScrollbar>\n <ScrollAreaCorner\n {...getStyles('corner')}\n data-hovered={scrollbarHovered || undefined}\n data-hidden={type === 'never' || undefined}\n />\n </ScrollAreaRoot>\n );\n});\n\nScrollArea.displayName = '@mantine/core/ScrollArea';\n\nexport const ScrollAreaAutosize = factory<ScrollAreaFactory>((props, ref) => {\n const {\n children,\n classNames,\n styles,\n scrollbarSize,\n scrollHideDelay,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n variant,\n viewportProps,\n style,\n vars,\n ...others\n } = useProps('ScrollAreaAutosize', defaultProps, props);\n\n return (\n <Box {...others} ref={ref} style={[{ display: 'flex' }, style]}>\n <Box style={{ display: 'flex', flexDirection: 'column', flex: 1 }}>\n <ScrollArea\n classNames={classNames}\n styles={styles}\n scrollHideDelay={scrollHideDelay}\n scrollbarSize={scrollbarSize}\n type={type}\n dir={dir}\n offsetScrollbars={offsetScrollbars}\n viewportRef={viewportRef}\n onScrollPositionChange={onScrollPositionChange}\n unstyled={unstyled}\n variant={variant}\n viewportProps={viewportProps}\n vars={vars}\n >\n {children}\n </ScrollArea>\n </Box>\n </Box>\n );\n});\n\nScrollArea.classes = classes;\nScrollAreaAutosize.displayName = '@mantine/core/ScrollAreaAutosize';\nScrollAreaAutosize.classes = classes;\nScrollArea.Autosize = ScrollAreaAutosize;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollArea.js","sources":["../../../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n rem,\n createVarsResolver,\n Factory,\n} from '../../core';\nimport { ScrollAreaScrollbar } from './ScrollAreaScrollbar/ScrollAreaScrollbar';\nimport { ScrollAreaCorner } from './ScrollAreaCorner/ScrollAreaCorner';\nimport { ScrollAreaRoot } from './ScrollAreaRoot/ScrollAreaRoot';\nimport { ScrollAreaViewport } from './ScrollAreaViewport/ScrollAreaViewport';\nimport classes from './ScrollArea.module.css';\nimport { ScrollAreaThumb } from './ScrollAreaThumb/ScrollAreaThumb';\n\nexport type ScrollAreaStylesNames = 'root' | 'viewport' | 'scrollbar' | 'thumb' | 'corner';\nexport type ScrollAreaVariant = string;\nexport type ScrollAreaCssVariables = {\n root: '--scrollarea-scrollbar-size';\n};\n\nexport interface ScrollAreaProps\n extends BoxProps,\n StylesApiProps<ScrollAreaFactory>,\n ElementProps<'div'> {\n /** Scrollbar size, any valid CSS value for width/height, numbers are converted to rem, default value is 0.75rem */\n scrollbarSize?: number | string;\n\n /**\n * Defines scrollbars behavior, `hover` by default\n * - `hover` – scrollbars are visible when mouse is over the scroll area\n * - `scroll` – scrollbars are visible when the scroll area is scrolled\n * - `always` – scrollbars are always visible\n * - `never` – scrollbars are always hidden\n * - `auto` – similar to `overflow: auto` – scrollbars are always visible when the content is overflowing\n * */\n type?: 'auto' | 'always' | 'scroll' | 'hover' | 'never';\n\n /** Scroll hide delay in ms, applicable only when type is set to `hover` or `scroll`, `1000` by default */\n scrollHideDelay?: number;\n\n /** Determines whether scrollbars should be offset with padding on given axis, `false` by default */\n offsetScrollbars?: boolean | 'x' | 'y';\n\n /** Assigns viewport element (scrollable container) ref */\n viewportRef?: React.ForwardedRef<HTMLDivElement>;\n\n /** Props passed down to the viewport element */\n viewportProps?: React.ComponentPropsWithRef<'div'>;\n\n /** Called with current position (`x` and `y` coordinates) when viewport is scrolled */\n onScrollPositionChange?(position: { x: number; y: number }): void;\n}\n\nexport interface ScrollAreaAutosizeProps extends ScrollAreaProps {}\n\nexport type ScrollAreaFactory = Factory<{\n props: ScrollAreaProps;\n ref: HTMLDivElement;\n stylesNames: ScrollAreaStylesNames;\n vars: ScrollAreaCssVariables;\n staticComponents: {\n Autosize: typeof ScrollAreaAutosize;\n };\n}>;\n\nconst defaultProps: Partial<ScrollAreaProps> = {\n scrollbarSize: 12,\n scrollHideDelay: 1000,\n type: 'hover',\n};\n\nconst varsResolver = createVarsResolver<ScrollAreaFactory>((_, { scrollbarSize }) => ({\n root: {\n '--scrollarea-scrollbar-size': rem(scrollbarSize),\n },\n}));\n\nexport const ScrollArea = factory<ScrollAreaFactory>((_props, ref) => {\n const props = useProps('ScrollArea', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n scrollbarSize,\n vars,\n type,\n scrollHideDelay,\n viewportProps,\n viewportRef,\n onScrollPositionChange,\n children,\n offsetScrollbars,\n ...others\n } = props;\n\n const [scrollbarHovered, setScrollbarHovered] = useState(false);\n\n const getStyles = useStyles<ScrollAreaFactory>({\n name: 'ScrollArea',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <ScrollAreaRoot\n type={type === 'never' ? 'always' : type}\n scrollHideDelay={scrollHideDelay}\n ref={ref}\n {...getStyles('root')}\n {...others}\n >\n <ScrollAreaViewport\n {...viewportProps}\n {...getStyles('viewport')}\n ref={viewportRef}\n data-offset-scrollbars={offsetScrollbars === true ? 'xy' : offsetScrollbars || undefined}\n onScroll={\n typeof onScrollPositionChange === 'function'\n ? ({ currentTarget }) =>\n onScrollPositionChange({\n x: currentTarget.scrollLeft,\n y: currentTarget.scrollTop,\n })\n : undefined\n }\n >\n {children}\n </ScrollAreaViewport>\n <ScrollAreaScrollbar\n {...getStyles('scrollbar')}\n orientation=\"horizontal\"\n data-hidden={type === 'never' || undefined}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <ScrollAreaThumb {...getStyles('thumb')} />\n </ScrollAreaScrollbar>\n <ScrollAreaScrollbar\n {...getStyles('scrollbar')}\n orientation=\"vertical\"\n data-hidden={type === 'never' || undefined}\n forceMount\n onMouseEnter={() => setScrollbarHovered(true)}\n onMouseLeave={() => setScrollbarHovered(false)}\n >\n <ScrollAreaThumb {...getStyles('thumb')} />\n </ScrollAreaScrollbar>\n <ScrollAreaCorner\n {...getStyles('corner')}\n data-hovered={scrollbarHovered || undefined}\n data-hidden={type === 'never' || undefined}\n />\n </ScrollAreaRoot>\n );\n});\n\nScrollArea.displayName = '@mantine/core/ScrollArea';\n\nexport const ScrollAreaAutosize = factory<ScrollAreaFactory>((props, ref) => {\n const {\n children,\n classNames,\n styles,\n scrollbarSize,\n scrollHideDelay,\n type,\n dir,\n offsetScrollbars,\n viewportRef,\n onScrollPositionChange,\n unstyled,\n variant,\n viewportProps,\n style,\n vars,\n ...others\n } = useProps('ScrollAreaAutosize', defaultProps, props);\n\n return (\n <Box {...others} ref={ref} style={[{ display: 'flex' }, style]}>\n <Box style={{ display: 'flex', flexDirection: 'column', flex: 1 }}>\n <ScrollArea\n classNames={classNames}\n styles={styles}\n scrollHideDelay={scrollHideDelay}\n scrollbarSize={scrollbarSize}\n type={type}\n dir={dir}\n offsetScrollbars={offsetScrollbars}\n viewportRef={viewportRef}\n onScrollPositionChange={onScrollPositionChange}\n unstyled={unstyled}\n variant={variant}\n viewportProps={viewportProps}\n vars={vars}\n >\n {children}\n </ScrollArea>\n </Box>\n </Box>\n );\n});\n\nScrollArea.classes = classes;\nScrollAreaAutosize.displayName = '@mantine/core/ScrollAreaAutosize';\nScrollAreaAutosize.classes = classes;\nScrollArea.Autosize = ScrollAreaAutosize;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,219 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { useUncontrolled } from '@mantine/hooks';
3
+ import { getParsedComboboxData } from '../Combobox/get-parsed-combobox-data/get-parsed-combobox-data.js';
4
+ import { getOptionsLockup } from '../Combobox/get-options-lockup/get-options-lockup.js';
5
+ import { useCombobox } from '../Combobox/use-combobox/use-combobox.js';
6
+ import { Combobox } from '../Combobox/Combobox.js';
7
+ import { InputBase } from '../InputBase/InputBase.js';
8
+ import { OptionsDropdown } from '../Combobox/OptionsDropdown/OptionsDropdown.js';
9
+ import { factory } from '../../core/factory/factory.js';
10
+ import { useProps } from '../../core/MantineProvider/use-props/use-props.js';
11
+ import { useResolvedStylesApi } from '../../core/styles-api/use-resolved-styles-api/use-resolved-styles-api.js';
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __defProps = Object.defineProperties;
15
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
16
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
17
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
18
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
19
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
20
+ var __spreadValues = (a, b) => {
21
+ for (var prop in b || (b = {}))
22
+ if (__hasOwnProp.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ if (__getOwnPropSymbols)
25
+ for (var prop of __getOwnPropSymbols(b)) {
26
+ if (__propIsEnum.call(b, prop))
27
+ __defNormalProp(a, prop, b[prop]);
28
+ }
29
+ return a;
30
+ };
31
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
32
+ var __objRest = (source, exclude) => {
33
+ var target = {};
34
+ for (var prop in source)
35
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
36
+ target[prop] = source[prop];
37
+ if (source != null && __getOwnPropSymbols)
38
+ for (var prop of __getOwnPropSymbols(source)) {
39
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
40
+ target[prop] = source[prop];
41
+ }
42
+ return target;
43
+ };
44
+ const defaultProps = {
45
+ searchable: false,
46
+ withCheckIcon: true,
47
+ checkIconPosition: "left"
48
+ };
49
+ const Select = factory((_props, ref) => {
50
+ const props = useProps("Select", defaultProps, _props);
51
+ const _a = props, {
52
+ classNames,
53
+ styles,
54
+ unstyled,
55
+ vars,
56
+ dropdownOpened,
57
+ defaultDropdownOpened,
58
+ onDropdownClose,
59
+ onDropdownOpen,
60
+ onFocus,
61
+ onBlur,
62
+ onClick,
63
+ onChange,
64
+ data,
65
+ value,
66
+ defaultValue,
67
+ selectFirstOptionOnChange,
68
+ onOptionSubmit,
69
+ comboboxProps,
70
+ readOnly,
71
+ disabled,
72
+ filter,
73
+ limit,
74
+ withScrollArea,
75
+ maxDropdownHeight,
76
+ size,
77
+ searchable,
78
+ rightSection,
79
+ checkIconPosition,
80
+ withCheckIcon,
81
+ nothingFoundMessage
82
+ } = _a, others = __objRest(_a, [
83
+ "classNames",
84
+ "styles",
85
+ "unstyled",
86
+ "vars",
87
+ "dropdownOpened",
88
+ "defaultDropdownOpened",
89
+ "onDropdownClose",
90
+ "onDropdownOpen",
91
+ "onFocus",
92
+ "onBlur",
93
+ "onClick",
94
+ "onChange",
95
+ "data",
96
+ "value",
97
+ "defaultValue",
98
+ "selectFirstOptionOnChange",
99
+ "onOptionSubmit",
100
+ "comboboxProps",
101
+ "readOnly",
102
+ "disabled",
103
+ "filter",
104
+ "limit",
105
+ "withScrollArea",
106
+ "maxDropdownHeight",
107
+ "size",
108
+ "searchable",
109
+ "rightSection",
110
+ "checkIconPosition",
111
+ "withCheckIcon",
112
+ "nothingFoundMessage"
113
+ ]);
114
+ const parsedData = getParsedComboboxData(data);
115
+ const optionsLockup = getOptionsLockup(parsedData);
116
+ const [_value, setValue] = useUncontrolled({
117
+ value,
118
+ defaultValue,
119
+ finalValue: null,
120
+ onChange
121
+ });
122
+ const selectedOption = _value ? optionsLockup[_value] : void 0;
123
+ const [search, setSearch] = useState(selectedOption ? selectedOption.label : "");
124
+ const combobox = useCombobox({
125
+ opened: dropdownOpened,
126
+ defaultOpened: defaultDropdownOpened,
127
+ onDropdownOpen,
128
+ onDropdownClose: () => {
129
+ onDropdownClose == null ? void 0 : onDropdownClose();
130
+ combobox.resetSelectedOption();
131
+ }
132
+ });
133
+ const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
134
+ props,
135
+ styles,
136
+ classNames
137
+ });
138
+ useEffect(() => {
139
+ if (selectFirstOptionOnChange) {
140
+ combobox.selectFirstOption();
141
+ }
142
+ }, [selectFirstOptionOnChange, _value]);
143
+ return /* @__PURE__ */ React.createElement(
144
+ Combobox,
145
+ __spreadValues({
146
+ store: combobox,
147
+ __staticSelector: "Select",
148
+ classNames: resolvedClassNames,
149
+ styles: resolvedStyles,
150
+ unstyled,
151
+ onOptionSubmit: (val) => {
152
+ onOptionSubmit == null ? void 0 : onOptionSubmit(val);
153
+ const nextValue = optionsLockup[val].value === _value ? null : optionsLockup[val].value;
154
+ setValue(nextValue);
155
+ setSearch(nextValue ? optionsLockup[val].label : "");
156
+ combobox.closeDropdown();
157
+ },
158
+ size
159
+ }, comboboxProps),
160
+ /* @__PURE__ */ React.createElement(Combobox.Target, { targetType: searchable ? "input" : "button" }, /* @__PURE__ */ React.createElement(
161
+ InputBase,
162
+ __spreadProps(__spreadValues({
163
+ ref,
164
+ rightSection: rightSection || /* @__PURE__ */ React.createElement(Combobox.Chevron, { size })
165
+ }, others), {
166
+ size,
167
+ __staticSelector: "Select",
168
+ disabled,
169
+ readOnly: readOnly || !searchable,
170
+ value: search,
171
+ onChange: (event) => {
172
+ setSearch(event.currentTarget.value);
173
+ combobox.openDropdown();
174
+ selectFirstOptionOnChange && combobox.selectFirstOption();
175
+ },
176
+ onFocus: (event) => {
177
+ searchable && combobox.openDropdown();
178
+ onFocus == null ? void 0 : onFocus(event);
179
+ },
180
+ onBlur: (event) => {
181
+ searchable && combobox.closeDropdown();
182
+ setSearch(_value ? optionsLockup[_value].label : "");
183
+ onBlur == null ? void 0 : onBlur(event);
184
+ },
185
+ onClick: (event) => {
186
+ searchable ? combobox.openDropdown() : combobox.toggleDropdown();
187
+ onClick == null ? void 0 : onClick(event);
188
+ },
189
+ classNames: resolvedClassNames,
190
+ styles: resolvedStyles,
191
+ unstyled,
192
+ pointer: !searchable
193
+ })
194
+ )),
195
+ /* @__PURE__ */ React.createElement(
196
+ OptionsDropdown,
197
+ {
198
+ data: parsedData,
199
+ hidden: readOnly || disabled,
200
+ filter,
201
+ search,
202
+ limit,
203
+ hiddenWhenEmpty: !searchable && !!nothingFoundMessage && search.trim().length !== 0,
204
+ withScrollArea,
205
+ maxDropdownHeight,
206
+ filterOptions: searchable && (selectedOption == null ? void 0 : selectedOption.label) !== search,
207
+ value: _value,
208
+ checkIconPosition,
209
+ withCheckIcon,
210
+ nothingFoundMessage
211
+ }
212
+ )
213
+ );
214
+ });
215
+ Select.classes = __spreadValues(__spreadValues({}, InputBase.classes), Combobox.classes);
216
+ Select.displayName = "@mantine/core/Select";
217
+
218
+ export { Select };
219
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n useResolvedStylesApi,\n} from '../../core';\nimport { InputBase } from '../InputBase';\nimport { __InputStylesNames, __BaseInputProps, InputVariant } from '../Input';\nimport {\n Combobox,\n OptionsDropdown,\n useCombobox,\n getParsedComboboxData,\n getOptionsLockup,\n ComboboxLikeProps,\n ComboboxLikeStylesNames,\n} from '../Combobox';\n\nexport type SelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames;\n\nexport interface SelectProps\n extends BoxProps,\n __BaseInputProps,\n ComboboxLikeProps,\n StylesApiProps<SelectFactory>,\n ElementProps<'input', 'onChange' | 'size' | 'value' | 'defaultValue'> {\n /** Controlled component value */\n value?: string | null;\n\n /** Uncontrolled component default value */\n defaultValue?: string | null;\n\n /** Called when value changes */\n onChange?(value: string | null): void;\n\n /** Determines whether the select should be searchable, `false` by default */\n searchable?: boolean;\n\n /** Determines whether check icon should be displayed near the selected option label, `true` by default */\n withCheckIcon?: boolean;\n\n /** Position of the check icon relative to the option label, `'left'` by default */\n checkIconPosition?: 'left' | 'right';\n\n /** Message displayed when no option matched current search query, only applicable when `searchable` prop is set */\n nothingFoundMessage?: React.ReactNode;\n}\n\nexport type SelectFactory = Factory<{\n props: SelectProps;\n ref: HTMLInputElement;\n stylesNames: SelectStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<SelectProps> = {\n searchable: false,\n withCheckIcon: true,\n checkIconPosition: 'left',\n};\n\nexport const Select = factory<SelectFactory>((_props, ref) => {\n const props = useProps('Select', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownClose,\n onDropdownOpen,\n onFocus,\n onBlur,\n onClick,\n onChange,\n data,\n value,\n defaultValue,\n selectFirstOptionOnChange,\n onOptionSubmit,\n comboboxProps,\n readOnly,\n disabled,\n filter,\n limit,\n withScrollArea,\n maxDropdownHeight,\n size,\n searchable,\n rightSection,\n checkIconPosition,\n withCheckIcon,\n nothingFoundMessage,\n ...others\n } = props;\n\n const parsedData = getParsedComboboxData(data);\n const optionsLockup = getOptionsLockup(parsedData);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedOption = _value ? optionsLockup[_value] : undefined;\n const [search, setSearch] = useState(selectedOption ? selectedOption.label : '');\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose: () => {\n onDropdownClose?.();\n combobox.resetSelectedOption();\n },\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<SelectFactory>({\n props,\n styles,\n classNames,\n });\n\n useEffect(() => {\n if (selectFirstOptionOnChange) {\n combobox.selectFirstOption();\n }\n }, [selectFirstOptionOnChange, _value]);\n\n return (\n <Combobox\n store={combobox}\n __staticSelector=\"Select\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n onOptionSubmit={(val) => {\n onOptionSubmit?.(val);\n const nextValue = optionsLockup[val].value === _value ? null : optionsLockup[val].value;\n setValue(nextValue);\n setSearch(nextValue ? optionsLockup[val].label : '');\n combobox.closeDropdown();\n }}\n size={size}\n {...comboboxProps}\n >\n <Combobox.Target targetType={searchable ? 'input' : 'button'}>\n <InputBase\n ref={ref}\n rightSection={rightSection || <Combobox.Chevron size={size} />}\n {...others}\n size={size}\n __staticSelector=\"Select\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={search}\n onChange={(event) => {\n setSearch(event.currentTarget.value);\n combobox.openDropdown();\n selectFirstOptionOnChange && combobox.selectFirstOption();\n }}\n onFocus={(event) => {\n searchable && combobox.openDropdown();\n onFocus?.(event);\n }}\n onBlur={(event) => {\n searchable && combobox.closeDropdown();\n setSearch(_value ? optionsLockup[_value].label : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n />\n </Combobox.Target>\n <OptionsDropdown\n data={parsedData}\n hidden={readOnly || disabled}\n filter={filter}\n search={search}\n limit={limit}\n hiddenWhenEmpty={!searchable && !!nothingFoundMessage && search.trim().length !== 0}\n withScrollArea={withScrollArea}\n maxDropdownHeight={maxDropdownHeight}\n filterOptions={searchable && selectedOption?.label !== search}\n value={_value}\n checkIconPosition={checkIconPosition}\n withCheckIcon={withCheckIcon}\n nothingFoundMessage={nothingFoundMessage}\n />\n </Combobox>\n );\n});\n\nSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nSelect.displayName = '@mantine/core/Select';\n"],"names":[],"mappings":"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"}