@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,79 @@
1
+ import React from 'react';
2
+ import { ScrollArea } from '../../ScrollArea/ScrollArea.js';
3
+ import { Combobox } from '../Combobox.js';
4
+ import { defaultOptionsFilter } from './default-options-filter.js';
5
+ import { isEmptyComboboxData } from './is-empty-combobox-data.js';
6
+ import { isOptionsGroup } from './is-options-group.js';
7
+ import classes from './OptionsDropdown.module.css.js';
8
+ import { CheckIcon } from '../../Checkbox/CheckIcon.js';
9
+
10
+ function isValueChecked(value, optionValue) {
11
+ return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;
12
+ }
13
+ function Option({ data, withCheckIcon, value, checkIconPosition }) {
14
+ if (!isOptionsGroup(data)) {
15
+ const check = withCheckIcon && isValueChecked(value, data.value) && /* @__PURE__ */ React.createElement(CheckIcon, { className: classes.checkIcon });
16
+ return /* @__PURE__ */ React.createElement(
17
+ Combobox.Option,
18
+ {
19
+ value: data.value,
20
+ disabled: data.disabled,
21
+ className: classes.option,
22
+ "data-reverse": checkIconPosition === "right" || void 0,
23
+ "data-checked": isValueChecked(value, data.value) || void 0
24
+ },
25
+ checkIconPosition === "left" && check,
26
+ data.label,
27
+ checkIconPosition === "right" && check
28
+ );
29
+ }
30
+ const options = data.items.map((item) => /* @__PURE__ */ React.createElement(Option, { data: item, key: item.value }));
31
+ return /* @__PURE__ */ React.createElement(Combobox.Group, { label: data.group }, options);
32
+ }
33
+ function OptionsDropdown({
34
+ data,
35
+ hidden,
36
+ hiddenWhenEmpty,
37
+ filter,
38
+ search,
39
+ limit,
40
+ maxDropdownHeight,
41
+ withScrollArea = true,
42
+ filterOptions = true,
43
+ withCheckIcon = false,
44
+ value,
45
+ checkIconPosition,
46
+ nothingFoundMessage
47
+ }) {
48
+ const shouldFilter = typeof search === "string";
49
+ const filteredData = shouldFilter ? (filter || defaultOptionsFilter)({
50
+ options: data,
51
+ search: filterOptions ? search : "",
52
+ limit: limit != null ? limit : Infinity
53
+ }) : data;
54
+ const isEmpty = isEmptyComboboxData(filteredData);
55
+ const options = filteredData.map((item) => /* @__PURE__ */ React.createElement(
56
+ Option,
57
+ {
58
+ data: item,
59
+ key: isOptionsGroup(item) ? item.group : item.value,
60
+ withCheckIcon,
61
+ value,
62
+ checkIconPosition
63
+ }
64
+ ));
65
+ return /* @__PURE__ */ React.createElement(Combobox.Dropdown, { hidden: hidden || hiddenWhenEmpty && isEmpty }, /* @__PURE__ */ React.createElement(Combobox.Options, null, withScrollArea ? /* @__PURE__ */ React.createElement(
66
+ ScrollArea.Autosize,
67
+ {
68
+ mah: maxDropdownHeight != null ? maxDropdownHeight : 220,
69
+ type: "scroll",
70
+ scrollbarSize: "var(--combobox-padding)",
71
+ offsetScrollbars: "y",
72
+ className: classes.scrollArea
73
+ },
74
+ options
75
+ ) : options, isEmpty && nothingFoundMessage && /* @__PURE__ */ React.createElement(Combobox.Empty, null, nothingFoundMessage)));
76
+ }
77
+
78
+ export { OptionsDropdown };
79
+ //# sourceMappingURL=OptionsDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionsDropdown.js","sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { CheckIcon } from '../../Checkbox';\nimport { Combobox } from '../Combobox';\nimport { ComboboxItem, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport classes from './OptionsDropdown.module.css';\n\nexport type OptionsFilter = (input: FilterOptionsInput) => ComboboxParsedItem[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem[];\n}\n\nexport type OptionsData = (ComboboxItem | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem | OptionsGroup;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n}\n\nfunction isValueChecked(value: string | string[] | undefined | null, optionValue: string) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({ data, withCheckIcon, value, checkIconPosition }: OptionProps) {\n if (!isOptionsGroup(data)) {\n const check = withCheckIcon && isValueChecked(value, data.value) && (\n <CheckIcon className={classes.checkIcon} />\n );\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={classes.option}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={isValueChecked(value, data.value) || undefined}\n >\n {checkIconPosition === 'left' && check}\n {data.label}\n {checkIconPosition === 'right' && check}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => <Option data={item} key={item.value} />);\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n}: OptionsDropdownProps) {\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : item.value}\n withCheckIcon={withCheckIcon}\n value={value}\n checkIconPosition={checkIconPosition}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)}>\n <Combobox.Options>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--combobox-padding)\"\n offsetScrollbars=\"y\"\n className={classes.scrollArea}\n >\n {options}\n </ScrollArea.Autosize>\n ) : (\n options\n )}\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var classes = {"scrollArea":"mantine-3T31VvB","option":"mantine-wU7y-u6","checkIcon":"mantine-c9ncf6H"};
2
+
3
+ export default classes;
4
+ //# sourceMappingURL=OptionsDropdown.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionsDropdown.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,35 @@
1
+ import { isOptionsGroup } from './is-options-group.js';
2
+
3
+ function defaultOptionsFilter({
4
+ options,
5
+ search,
6
+ limit
7
+ }) {
8
+ const parsedSearch = search.trim().toLowerCase();
9
+ const result = [];
10
+ for (let i = 0; i < options.length; i += 1) {
11
+ const item = options[i];
12
+ if (result.length === limit) {
13
+ return result;
14
+ }
15
+ if (isOptionsGroup(item)) {
16
+ result.push({
17
+ group: item.group,
18
+ items: defaultOptionsFilter({
19
+ options: item.items,
20
+ search,
21
+ limit: limit - result.length
22
+ })
23
+ });
24
+ }
25
+ if (!isOptionsGroup(item)) {
26
+ if (item.label.toLowerCase().includes(parsedSearch)) {
27
+ result.push(item);
28
+ }
29
+ }
30
+ }
31
+ return result;
32
+ }
33
+
34
+ export { defaultOptionsFilter };
35
+ //# sourceMappingURL=default-options-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-options-filter.js","sources":["../../../../src/components/Combobox/OptionsDropdown/default-options-filter.ts"],"sourcesContent":["import { ComboboxItem, ComboboxParsedItem } from '../Combobox.types';\nimport { isOptionsGroup } from './is-options-group';\n\nexport interface FilterOptionsInput {\n options: ComboboxParsedItem[];\n search: string;\n limit: number;\n}\n\nexport function defaultOptionsFilter({\n options,\n search,\n limit,\n}: FilterOptionsInput): ComboboxParsedItem[] {\n const parsedSearch = search.trim().toLowerCase();\n const result: ComboboxParsedItem[] = [];\n\n for (let i = 0; i < options.length; i += 1) {\n const item = options[i];\n\n if (result.length === limit) {\n return result;\n }\n\n if (isOptionsGroup(item)) {\n result.push({\n group: item.group,\n items: defaultOptionsFilter({\n options: item.items,\n search,\n limit: limit - result.length,\n }) as ComboboxItem[],\n });\n }\n\n if (!isOptionsGroup(item)) {\n if (item.label.toLowerCase().includes(parsedSearch)) {\n result.push(item);\n }\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":";;AACO,SAAS,oBAAoB,CAAC;AACrC,EAAE,OAAO;AACT,EAAE,MAAM;AACR,EAAE,KAAK;AACP,CAAC,EAAE;AACH,EAAE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnD,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC9C,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE;AACjC,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;AAC9B,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,KAAK,EAAE,IAAI,CAAC,KAAK;AACzB,QAAQ,KAAK,EAAE,oBAAoB,CAAC;AACpC,UAAU,OAAO,EAAE,IAAI,CAAC,KAAK;AAC7B,UAAU,MAAM;AAChB,UAAU,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM;AACtC,SAAS,CAAC;AACV,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC/B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAC3D,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
@@ -0,0 +1,17 @@
1
+ function isEmptyComboboxData(data) {
2
+ if (data.length === 0) {
3
+ return true;
4
+ }
5
+ for (const item of data) {
6
+ if (!("group" in item)) {
7
+ return false;
8
+ }
9
+ if (item.items.length > 0) {
10
+ return false;
11
+ }
12
+ }
13
+ return true;
14
+ }
15
+
16
+ export { isEmptyComboboxData };
17
+ //# sourceMappingURL=is-empty-combobox-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-empty-combobox-data.js","sources":["../../../../src/components/Combobox/OptionsDropdown/is-empty-combobox-data.ts"],"sourcesContent":["import { ComboboxParsedItem, ComboboxParsedItemGroup } from '../Combobox.types';\n\nexport function isEmptyComboboxData(data: ComboboxParsedItem[]) {\n if (data.length === 0) {\n return true;\n }\n\n for (const item of data) {\n if (!('group' in item)) {\n return false;\n }\n\n if ((item as ComboboxParsedItemGroup).items.length > 0) {\n return false;\n }\n }\n\n return true;\n}\n"],"names":[],"mappings":"AAAO,SAAS,mBAAmB,CAAC,IAAI,EAAE;AAC1C,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;AAC3B,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,EAAE;AAC5B,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd;;;;"}
@@ -0,0 +1,6 @@
1
+ function isOptionsGroup(item) {
2
+ return "group" in item;
3
+ }
4
+
5
+ export { isOptionsGroup };
6
+ //# sourceMappingURL=is-options-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-options-group.js","sources":["../../../../src/components/Combobox/OptionsDropdown/is-options-group.ts"],"sourcesContent":["import { ComboboxParsedItem, ComboboxParsedItemGroup } from '../Combobox.types';\n\nexport function isOptionsGroup(item: ComboboxParsedItem): item is ComboboxParsedItemGroup {\n return 'group' in item;\n}\n"],"names":[],"mappings":"AAAO,SAAS,cAAc,CAAC,IAAI,EAAE;AACrC,EAAE,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB;;;;"}
@@ -0,0 +1,37 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ function getOptionsLockup(options) {
18
+ return options.reduce((acc, item) => {
19
+ if ("group" in item) {
20
+ return __spreadValues(__spreadValues({}, acc), getOptionsLockup(item.items));
21
+ }
22
+ acc[item.value] = item;
23
+ return acc;
24
+ }, {});
25
+ }
26
+ function getLabelsLockup(options) {
27
+ return options.reduce((acc, item) => {
28
+ if ("group" in item) {
29
+ return __spreadValues(__spreadValues({}, acc), getLabelsLockup(item.items));
30
+ }
31
+ acc[item.label] = item;
32
+ return acc;
33
+ }, {});
34
+ }
35
+
36
+ export { getLabelsLockup, getOptionsLockup };
37
+ //# sourceMappingURL=get-options-lockup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-options-lockup.js","sources":["../../../../src/components/Combobox/get-options-lockup/get-options-lockup.ts"],"sourcesContent":["import { ComboboxParsedItem, ComboboxItem } from '../Combobox.types';\n\nexport function getOptionsLockup(options: ComboboxParsedItem[]): Record<string, ComboboxItem> {\n return options.reduce<Record<string, ComboboxItem>>((acc, item) => {\n if ('group' in item) {\n return { ...acc, ...getOptionsLockup(item.items) };\n }\n\n acc[(item as any).value] = item;\n\n return acc;\n }, {});\n}\n\nexport function getLabelsLockup(options: ComboboxParsedItem[]): Record<string, string> {\n return options.reduce<Record<string, string>>((acc, item) => {\n if ('group' in item) {\n return { ...acc, ...getLabelsLockup(item.items) };\n }\n\n acc[(item as any).label] = item as any;\n\n return acc;\n }, {});\n}\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;AACK,SAAS,gBAAgB,CAAC,OAAO,EAAE;AAC1C,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACvC,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;AACzB,MAAM,OAAO,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC3B,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AACM,SAAS,eAAe,CAAC,OAAO,EAAE;AACzC,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACvC,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;AACzB,MAAM,OAAO,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAClF,KAAK;AACL,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC3B,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,EAAE,CAAC,CAAC;AACT;;;;"}
@@ -5,7 +5,7 @@ function parseItem(item) {
5
5
  if ("group" in item) {
6
6
  return {
7
7
  group: item.group,
8
- items: item.items.map(parseItem)
8
+ items: item.items.map((i) => parseItem(i))
9
9
  };
10
10
  }
11
11
  return item;
@@ -1 +1 @@
1
- {"version":3,"file":"get-parsed-combobox-data.js","sources":["../../../../src/components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.ts"],"sourcesContent":["import {\n ComboboxData,\n ComboboxParsedItem,\n ComboboxItem,\n ComboboxItemGroup,\n ComboboxParsedItemGroup,\n} from '../Combobox.types';\n\nfunction parseItem(\n item: string | ComboboxItem | ComboboxItemGroup\n): ComboboxItem | ComboboxParsedItemGroup {\n if (typeof item === 'string') {\n return { value: item, label: item };\n }\n\n if ('group' in item) {\n return {\n group: item.group,\n items: item.items.map(parseItem),\n };\n }\n\n return item;\n}\n\nexport function getParsedComboboxData(data: ComboboxData | undefined): ComboboxParsedItem[] {\n if (!data) {\n return [];\n }\n\n return data.map(parseItem);\n}\n"],"names":[],"mappings":"AAAA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,OAAO,IAAI,IAAI,EAAE;AACvB,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;AACtC,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACM,SAAS,qBAAqB,CAAC,IAAI,EAAE;AAC5C,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC7B;;;;"}
1
+ {"version":3,"file":"get-parsed-combobox-data.js","sources":["../../../../src/components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.ts"],"sourcesContent":["import {\n ComboboxData,\n ComboboxParsedItem,\n ComboboxItem,\n ComboboxItemGroup,\n ComboboxParsedItemGroup,\n} from '../Combobox.types';\n\nfunction parseItem(\n item: string | ComboboxItem | ComboboxItemGroup\n): ComboboxItem | ComboboxParsedItemGroup {\n if (typeof item === 'string') {\n return { value: item, label: item };\n }\n\n if ('group' in item) {\n return {\n group: item.group,\n items: item.items.map((i) => parseItem(i) as ComboboxItem),\n };\n }\n\n return item;\n}\n\nexport function getParsedComboboxData(data: ComboboxData | undefined): ComboboxParsedItem[] {\n if (!data) {\n return [];\n }\n\n return data.map(parseItem);\n}\n"],"names":[],"mappings":"AAAA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,OAAO,IAAI,IAAI,EAAE;AACvB,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK;AACvB,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;AACM,SAAS,qBAAqB,CAAC,IAAI,EAAE;AAC5C,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC7B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-virtualized-combobox.js","sources":["../../../../src/components/Combobox/use-combobox/use-virtualized-combobox.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { getPreviousIndex, getNextIndex, getFirstIndex } from './get-index/get-virtualized-index';\nimport { ComboboxStore } from './use-combobox';\n\ninterface UseComboboxOptions {\n /** Default value for `dropdownOpened`, `false` by default */\n defaultOpened?: boolean;\n\n /** Controlled `dropdownOpened` state */\n opened?: boolean;\n\n /** Called when `dropdownOpened` state changes */\n onOpenedChange?(opened: boolean): void;\n\n /** Called when dropdown closes */\n onDropdownClose?(): void;\n\n /** Called when dropdown opens */\n onDropdownOpen?(): void;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first), `true` by default */\n loop?: boolean;\n\n /** Function to determine whether the option is disabled */\n isOptionDisabled?(optionIndex: number): boolean;\n\n totalOptionsCount: number;\n\n getOptionId(index: number): string | null;\n\n selectedOptionIndex: number;\n\n setSelectedOptionIndex(index: number): void;\n\n activeOptionIndex?: number;\n\n onSelectedOptionSubmit(index: number): void;\n}\n\nexport function useVirtualizedCombobox(\n {\n defaultOpened,\n opened,\n onOpenedChange,\n onDropdownClose,\n onDropdownOpen,\n loop = true,\n totalOptionsCount,\n isOptionDisabled = () => false,\n getOptionId,\n selectedOptionIndex,\n setSelectedOptionIndex,\n activeOptionIndex,\n onSelectedOptionSubmit,\n }: UseComboboxOptions = {\n totalOptionsCount: 0,\n getOptionId: () => null,\n selectedOptionIndex: 1,\n setSelectedOptionIndex: () => {},\n onSelectedOptionSubmit: () => {},\n }\n): ComboboxStore {\n const [dropdownOpened, setDropdownOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange: onOpenedChange,\n });\n\n const listId = useRef<string | null>(null);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const targetRef = useRef<HTMLElement | null>(null);\n const focusSearchTimeout = useRef<number>(-1);\n const focusTargetTimeout = useRef<number>(-1);\n\n const openDropdown = () => {\n if (!dropdownOpened) {\n setDropdownOpened(true);\n onDropdownOpen?.();\n }\n };\n\n const closeDropdown = () => {\n if (dropdownOpened) {\n setDropdownOpened(false);\n onDropdownClose?.();\n }\n };\n\n const toggleDropdown = () => {\n if (dropdownOpened) {\n closeDropdown();\n } else {\n openDropdown();\n }\n };\n\n const selectOption = (index: number) => {\n const nextIndex = index >= totalOptionsCount ? 0 : index < 0 ? totalOptionsCount - 1 : index;\n setSelectedOptionIndex(nextIndex);\n return getOptionId(nextIndex);\n };\n\n const selectActiveOption = () => selectOption(activeOptionIndex ?? 0);\n\n const selectNextOption = () =>\n selectOption(\n getNextIndex({ currentIndex: selectedOptionIndex, isOptionDisabled, totalOptionsCount, loop })\n );\n\n const selectPreviousOption = () =>\n selectOption(\n getPreviousIndex({\n currentIndex: selectedOptionIndex,\n isOptionDisabled,\n totalOptionsCount,\n loop,\n })\n );\n\n const selectFirstOption = () =>\n selectOption(getFirstIndex({ isOptionDisabled, totalOptionsCount }));\n\n const resetSelectedOption = () => {\n setSelectedOptionIndex(-1);\n };\n\n const clickSelectedOption = () => {\n onSelectedOptionSubmit?.(selectedOptionIndex);\n };\n\n const setListId = (id: string) => {\n listId.current = id;\n };\n\n const focusSearchInput = () => {\n focusSearchTimeout.current = window.setTimeout(() => searchRef.current!.focus(), 0);\n };\n\n const focusTarget = () => {\n focusTargetTimeout.current = window.setTimeout(() => targetRef.current!.focus(), 0);\n };\n\n useEffect(\n () => () => {\n window.clearTimeout(focusSearchTimeout.current);\n window.clearTimeout(focusTargetTimeout.current);\n },\n []\n );\n\n return {\n dropdownOpened,\n openDropdown,\n closeDropdown,\n toggleDropdown,\n\n selectedOptionIndex,\n selectOption,\n selectFirstOption,\n selectActiveOption,\n selectNextOption,\n selectPreviousOption,\n resetSelectedOption,\n updateSelectedOptionIndex: () => {},\n\n listId: listId.current,\n setListId,\n clickSelectedOption,\n\n searchRef,\n focusSearchInput,\n\n targetRef,\n focusTarget,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-virtualized-combobox.js","sources":["../../../../src/components/Combobox/use-combobox/use-virtualized-combobox.ts"],"sourcesContent":["// WIP, not planned to be released in 7.0, maybe in 7.x\nimport { useEffect, useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { getPreviousIndex, getNextIndex, getFirstIndex } from './get-index/get-virtualized-index';\nimport { ComboboxStore } from './use-combobox';\n\ninterface UseComboboxOptions {\n /** Default value for `dropdownOpened`, `false` by default */\n defaultOpened?: boolean;\n\n /** Controlled `dropdownOpened` state */\n opened?: boolean;\n\n /** Called when `dropdownOpened` state changes */\n onOpenedChange?(opened: boolean): void;\n\n /** Called when dropdown closes */\n onDropdownClose?(): void;\n\n /** Called when dropdown opens */\n onDropdownOpen?(): void;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first), `true` by default */\n loop?: boolean;\n\n /** Function to determine whether the option is disabled */\n isOptionDisabled?(optionIndex: number): boolean;\n\n totalOptionsCount: number;\n\n getOptionId(index: number): string | null;\n\n selectedOptionIndex: number;\n\n setSelectedOptionIndex(index: number): void;\n\n activeOptionIndex?: number;\n\n onSelectedOptionSubmit(index: number): void;\n}\n\nexport function useVirtualizedCombobox(\n {\n defaultOpened,\n opened,\n onOpenedChange,\n onDropdownClose,\n onDropdownOpen,\n loop = true,\n totalOptionsCount,\n isOptionDisabled = () => false,\n getOptionId,\n selectedOptionIndex,\n setSelectedOptionIndex,\n activeOptionIndex,\n onSelectedOptionSubmit,\n }: UseComboboxOptions = {\n totalOptionsCount: 0,\n getOptionId: () => null,\n selectedOptionIndex: 1,\n setSelectedOptionIndex: () => {},\n onSelectedOptionSubmit: () => {},\n }\n): ComboboxStore {\n const [dropdownOpened, setDropdownOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange: onOpenedChange,\n });\n\n const listId = useRef<string | null>(null);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const targetRef = useRef<HTMLElement | null>(null);\n const focusSearchTimeout = useRef<number>(-1);\n const focusTargetTimeout = useRef<number>(-1);\n\n const openDropdown = () => {\n if (!dropdownOpened) {\n setDropdownOpened(true);\n onDropdownOpen?.();\n }\n };\n\n const closeDropdown = () => {\n if (dropdownOpened) {\n setDropdownOpened(false);\n onDropdownClose?.();\n }\n };\n\n const toggleDropdown = () => {\n if (dropdownOpened) {\n closeDropdown();\n } else {\n openDropdown();\n }\n };\n\n const selectOption = (index: number) => {\n const nextIndex = index >= totalOptionsCount ? 0 : index < 0 ? totalOptionsCount - 1 : index;\n setSelectedOptionIndex(nextIndex);\n return getOptionId(nextIndex);\n };\n\n const selectActiveOption = () => selectOption(activeOptionIndex ?? 0);\n\n const selectNextOption = () =>\n selectOption(\n getNextIndex({ currentIndex: selectedOptionIndex, isOptionDisabled, totalOptionsCount, loop })\n );\n\n const selectPreviousOption = () =>\n selectOption(\n getPreviousIndex({\n currentIndex: selectedOptionIndex,\n isOptionDisabled,\n totalOptionsCount,\n loop,\n })\n );\n\n const selectFirstOption = () =>\n selectOption(getFirstIndex({ isOptionDisabled, totalOptionsCount }));\n\n const resetSelectedOption = () => {\n setSelectedOptionIndex(-1);\n };\n\n const clickSelectedOption = () => {\n onSelectedOptionSubmit?.(selectedOptionIndex);\n };\n\n const setListId = (id: string) => {\n listId.current = id;\n };\n\n const focusSearchInput = () => {\n focusSearchTimeout.current = window.setTimeout(() => searchRef.current!.focus(), 0);\n };\n\n const focusTarget = () => {\n focusTargetTimeout.current = window.setTimeout(() => targetRef.current!.focus(), 0);\n };\n\n useEffect(\n () => () => {\n window.clearTimeout(focusSearchTimeout.current);\n window.clearTimeout(focusTargetTimeout.current);\n },\n []\n );\n\n return {\n dropdownOpened,\n openDropdown,\n closeDropdown,\n toggleDropdown,\n\n selectedOptionIndex,\n selectOption,\n selectFirstOption,\n selectActiveOption,\n selectNextOption,\n selectPreviousOption,\n resetSelectedOption,\n updateSelectedOptionIndex: () => {},\n\n listId: listId.current,\n setListId,\n clickSelectedOption,\n\n searchRef,\n focusSearchInput,\n\n targetRef,\n focusTarget,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputBase.js","sources":["../../../src/components/InputBase/InputBase.tsx"],"sourcesContent":["import React from 'react';\nimport { BoxProps, StylesApiProps, polymorphicFactory, PolymorphicFactory } from '../../core';\nimport { __InputStylesNames, __BaseInputProps, InputVariant, useInputProps, Input } from '../Input';\n\nexport interface InputBaseProps\n extends BoxProps,\n __BaseInputProps,\n StylesApiProps<InputBaseFactory> {\n __staticSelector?: string;\n\n /** Props passed to the root element (`Input.Wrapper` component) */\n wrapperProps?: Record<string, any>;\n\n /** Determines whether the input can have multiple lines, for example when `component=\"textarea\"`, `false` by default */\n multiline?: boolean;\n\n /** Determines whether `aria-` and other accessibility attributes should be added to the input, `true` by default */\n withAria?: boolean;\n}\n\nexport type InputBaseFactory = PolymorphicFactory<{\n props: InputBaseProps;\n defaultRef: HTMLInputElement;\n defaultComponent: 'input';\n stylesNames: __InputStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<InputBaseProps> = {\n size: 'sm',\n __staticSelector: 'InputBase',\n withAria: true,\n};\n\nexport const InputBase = polymorphicFactory<InputBaseFactory>((props, ref) => {\n const { inputProps, wrapperProps, ...others } = useInputProps('InputBase', defaultProps, props);\n return (\n <Input.Wrapper {...wrapperProps}>\n <Input {...inputProps} {...others} ref={ref} />\n </Input.Wrapper>\n );\n});\n\nInputBase.classes = { ...Input.classes, ...Input.Wrapper.classes };\nInputBase.displayName = '@mantine/core/InputBase';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputBase.js","sources":["../../../src/components/InputBase/InputBase.tsx"],"sourcesContent":["import React from 'react';\nimport { BoxProps, StylesApiProps, polymorphicFactory, PolymorphicFactory } from '../../core';\nimport { __InputStylesNames, __BaseInputProps, InputVariant, useInputProps, Input } from '../Input';\n\nexport interface InputBaseProps\n extends BoxProps,\n __BaseInputProps,\n StylesApiProps<InputBaseFactory> {\n __staticSelector?: string;\n __stylesApiProps?: Record<string, any>;\n\n /** Props passed to the root element (`Input.Wrapper` component) */\n wrapperProps?: Record<string, any>;\n\n /** Determines whether the input can have multiple lines, for example when `component=\"textarea\"`, `false` by default */\n multiline?: boolean;\n\n /** Determines whether `aria-` and other accessibility attributes should be added to the input, `true` by default */\n withAria?: boolean;\n}\n\nexport type InputBaseFactory = PolymorphicFactory<{\n props: InputBaseProps;\n defaultRef: HTMLInputElement;\n defaultComponent: 'input';\n stylesNames: __InputStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<InputBaseProps> = {\n size: 'sm',\n __staticSelector: 'InputBase',\n withAria: true,\n};\n\nexport const InputBase = polymorphicFactory<InputBaseFactory>((props, ref) => {\n const { inputProps, wrapperProps, ...others } = useInputProps('InputBase', defaultProps, props);\n return (\n <Input.Wrapper {...wrapperProps}>\n <Input {...inputProps} {...others} ref={ref} />\n </Input.Wrapper>\n );\n});\n\nInputBase.classes = { ...Input.classes, ...Input.Wrapper.classes };\nInputBase.displayName = '@mantine/core/InputBase';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,337 @@
1
+ import React from 'react';
2
+ import { useUncontrolled } from '@mantine/hooks';
3
+ import { filterPickedValues } from './filter-picked-values.js';
4
+ import { getParsedComboboxData } from '../Combobox/get-parsed-combobox-data/get-parsed-combobox-data.js';
5
+ import { getOptionsLockup } from '../Combobox/get-options-lockup/get-options-lockup.js';
6
+ import { useCombobox } from '../Combobox/use-combobox/use-combobox.js';
7
+ import { Pill } from '../Pill/Pill.js';
8
+ import { Combobox } from '../Combobox/Combobox.js';
9
+ import { PillsInput } from '../PillsInput/PillsInput.js';
10
+ import { OptionsDropdown } from '../Combobox/OptionsDropdown/OptionsDropdown.js';
11
+ import { InputBase } from '../InputBase/InputBase.js';
12
+ import { factory } from '../../core/factory/factory.js';
13
+ import { useProps } from '../../core/MantineProvider/use-props/use-props.js';
14
+ import { extractStyleProps } from '../../core/Box/style-props/extract-style-props/extract-style-props.js';
15
+ import { useStyles } from '../../core/styles-api/use-styles/use-styles.js';
16
+ import { useResolvedStylesApi } from '../../core/styles-api/use-resolved-styles-api/use-resolved-styles-api.js';
17
+
18
+ var __defProp = Object.defineProperty;
19
+ var __defProps = Object.defineProperties;
20
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
21
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
22
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
23
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
24
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
25
+ var __spreadValues = (a, b) => {
26
+ for (var prop in b || (b = {}))
27
+ if (__hasOwnProp.call(b, prop))
28
+ __defNormalProp(a, prop, b[prop]);
29
+ if (__getOwnPropSymbols)
30
+ for (var prop of __getOwnPropSymbols(b)) {
31
+ if (__propIsEnum.call(b, prop))
32
+ __defNormalProp(a, prop, b[prop]);
33
+ }
34
+ return a;
35
+ };
36
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
37
+ var __objRest = (source, exclude) => {
38
+ var target = {};
39
+ for (var prop in source)
40
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
41
+ target[prop] = source[prop];
42
+ if (source != null && __getOwnPropSymbols)
43
+ for (var prop of __getOwnPropSymbols(source)) {
44
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
45
+ target[prop] = source[prop];
46
+ }
47
+ return target;
48
+ };
49
+ const defaultProps = {
50
+ maxValues: Infinity,
51
+ size: "sm",
52
+ withCheckIcon: true,
53
+ checkIconPosition: "left"
54
+ };
55
+ const MultiSelect = factory((_props, ref) => {
56
+ const props = useProps("MultiSelect", defaultProps, _props);
57
+ const _a = props, {
58
+ classNames,
59
+ className,
60
+ style,
61
+ styles,
62
+ unstyled,
63
+ vars,
64
+ size,
65
+ value,
66
+ defaultValue,
67
+ onChange,
68
+ onKeyDown,
69
+ variant,
70
+ data,
71
+ dropdownOpened,
72
+ defaultDropdownOpened,
73
+ onDropdownOpen,
74
+ onDropdownClose,
75
+ selectFirstOptionOnChange,
76
+ onOptionSubmit,
77
+ comboboxProps,
78
+ filter,
79
+ limit,
80
+ withScrollArea,
81
+ maxDropdownHeight,
82
+ searchValue,
83
+ defaultSearchValue,
84
+ onSearchChange,
85
+ readOnly,
86
+ disabled,
87
+ onFocus,
88
+ onBlur,
89
+ onPaste,
90
+ radius,
91
+ rightSection,
92
+ rightSectionWidth,
93
+ rightSectionPointerEvents,
94
+ rightSectionProps,
95
+ leftSection,
96
+ leftSectionWidth,
97
+ leftSectionPointerEvents,
98
+ leftSectionProps,
99
+ inputContainer,
100
+ inputWrapperOrder,
101
+ withAsterisk,
102
+ labelProps,
103
+ descriptionProps,
104
+ errorProps,
105
+ wrapperProps,
106
+ description,
107
+ label,
108
+ error,
109
+ maxValues,
110
+ searchable,
111
+ nothingFoundMessage,
112
+ withCheckIcon,
113
+ checkIconPosition,
114
+ hidePickedOptions
115
+ } = _a, others = __objRest(_a, [
116
+ "classNames",
117
+ "className",
118
+ "style",
119
+ "styles",
120
+ "unstyled",
121
+ "vars",
122
+ "size",
123
+ "value",
124
+ "defaultValue",
125
+ "onChange",
126
+ "onKeyDown",
127
+ "variant",
128
+ "data",
129
+ "dropdownOpened",
130
+ "defaultDropdownOpened",
131
+ "onDropdownOpen",
132
+ "onDropdownClose",
133
+ "selectFirstOptionOnChange",
134
+ "onOptionSubmit",
135
+ "comboboxProps",
136
+ "filter",
137
+ "limit",
138
+ "withScrollArea",
139
+ "maxDropdownHeight",
140
+ "searchValue",
141
+ "defaultSearchValue",
142
+ "onSearchChange",
143
+ "readOnly",
144
+ "disabled",
145
+ "onFocus",
146
+ "onBlur",
147
+ "onPaste",
148
+ "radius",
149
+ "rightSection",
150
+ "rightSectionWidth",
151
+ "rightSectionPointerEvents",
152
+ "rightSectionProps",
153
+ "leftSection",
154
+ "leftSectionWidth",
155
+ "leftSectionPointerEvents",
156
+ "leftSectionProps",
157
+ "inputContainer",
158
+ "inputWrapperOrder",
159
+ "withAsterisk",
160
+ "labelProps",
161
+ "descriptionProps",
162
+ "errorProps",
163
+ "wrapperProps",
164
+ "description",
165
+ "label",
166
+ "error",
167
+ "maxValues",
168
+ "searchable",
169
+ "nothingFoundMessage",
170
+ "withCheckIcon",
171
+ "checkIconPosition",
172
+ "hidePickedOptions"
173
+ ]);
174
+ const parsedData = getParsedComboboxData(data);
175
+ const optionsLockup = getOptionsLockup(parsedData);
176
+ const combobox = useCombobox({
177
+ opened: dropdownOpened,
178
+ defaultOpened: defaultDropdownOpened,
179
+ onDropdownOpen,
180
+ onDropdownClose: () => {
181
+ onDropdownClose == null ? void 0 : onDropdownClose();
182
+ combobox.resetSelectedOption();
183
+ }
184
+ });
185
+ const {
186
+ styleProps,
187
+ rest: _b
188
+ } = extractStyleProps(others), _c = _b, rest = __objRest(_c, ["type"]);
189
+ const [_value, setValue] = useUncontrolled({
190
+ value,
191
+ defaultValue,
192
+ finalValue: [],
193
+ onChange
194
+ });
195
+ const [_searchValue, setSearchValue] = useUncontrolled({
196
+ value: searchValue,
197
+ defaultValue: defaultSearchValue,
198
+ finalValue: "",
199
+ onChange: onSearchChange
200
+ });
201
+ const getStyles = useStyles({
202
+ name: "MultiSelect",
203
+ classes: {},
204
+ props,
205
+ classNames,
206
+ styles,
207
+ unstyled
208
+ });
209
+ const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
210
+ props,
211
+ styles,
212
+ classNames
213
+ });
214
+ const handleInputKeydown = (event) => {
215
+ onKeyDown == null ? void 0 : onKeyDown(event);
216
+ if (event.key === "Backspace" && _searchValue.length === 0 && _value.length > 0) {
217
+ setValue(_value.slice(0, _value.length - 1));
218
+ }
219
+ };
220
+ const values = _value.map((item, index) => /* @__PURE__ */ React.createElement(
221
+ Pill,
222
+ __spreadValues({
223
+ key: `${item}-${index}`,
224
+ withRemoveButton: !readOnly,
225
+ onRemove: () => setValue(_value.filter((i) => item !== i))
226
+ }, getStyles("pill")),
227
+ item
228
+ ));
229
+ return /* @__PURE__ */ React.createElement(
230
+ Combobox,
231
+ __spreadValues({
232
+ store: combobox,
233
+ classNames: resolvedClassNames,
234
+ styles: resolvedStyles,
235
+ unstyled,
236
+ size,
237
+ __staticSelector: "MultiSelect",
238
+ onOptionSubmit: (val) => {
239
+ onOptionSubmit == null ? void 0 : onOptionSubmit(val);
240
+ setSearchValue("");
241
+ combobox.updateSelectedOptionIndex("selected");
242
+ if (_value.includes(optionsLockup[val].value)) {
243
+ setValue(_value.filter((v) => v !== optionsLockup[val].value));
244
+ } else if (_value.length < maxValues) {
245
+ setValue([..._value, optionsLockup[val].value]);
246
+ }
247
+ }
248
+ }, comboboxProps),
249
+ /* @__PURE__ */ React.createElement(Combobox.DropdownTarget, null, /* @__PURE__ */ React.createElement(
250
+ PillsInput,
251
+ __spreadProps(__spreadValues({}, styleProps), {
252
+ __staticSelector: "MultiSelect",
253
+ classNames: resolvedClassNames,
254
+ styles: resolvedStyles,
255
+ unstyled,
256
+ size,
257
+ className,
258
+ style,
259
+ variant,
260
+ disabled,
261
+ radius,
262
+ rightSection,
263
+ rightSectionWidth,
264
+ rightSectionPointerEvents,
265
+ rightSectionProps,
266
+ leftSection,
267
+ leftSectionWidth,
268
+ leftSectionPointerEvents,
269
+ leftSectionProps,
270
+ inputContainer,
271
+ inputWrapperOrder,
272
+ withAsterisk,
273
+ labelProps,
274
+ descriptionProps,
275
+ errorProps,
276
+ wrapperProps,
277
+ description,
278
+ label,
279
+ error,
280
+ multiline: true,
281
+ __stylesApiProps: __spreadProps(__spreadValues({}, props), { multiline: true }),
282
+ pointer: !searchable,
283
+ onClick: () => searchable ? combobox.openDropdown() : combobox.toggleDropdown()
284
+ }),
285
+ /* @__PURE__ */ React.createElement(Pill.Group, __spreadValues({ disabled }, getStyles("pillsList")), values, /* @__PURE__ */ React.createElement(Combobox.EventsTarget, null, /* @__PURE__ */ React.createElement(
286
+ PillsInput.Field,
287
+ __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, rest), {
288
+ ref
289
+ }), getStyles("inputField")), {
290
+ unstyled,
291
+ onFocus: (event) => {
292
+ onFocus == null ? void 0 : onFocus(event);
293
+ searchable && combobox.openDropdown();
294
+ },
295
+ onBlur: (event) => {
296
+ onBlur == null ? void 0 : onBlur(event);
297
+ combobox.closeDropdown();
298
+ searchable && combobox.closeDropdown();
299
+ setSearchValue("");
300
+ },
301
+ onKeyDown: handleInputKeydown,
302
+ value: _searchValue,
303
+ onChange: (event) => {
304
+ setSearchValue(event.currentTarget.value);
305
+ searchable && combobox.openDropdown();
306
+ },
307
+ disabled,
308
+ readOnly: readOnly || !searchable,
309
+ pointer: !searchable
310
+ })
311
+ )))
312
+ )),
313
+ /* @__PURE__ */ React.createElement(
314
+ OptionsDropdown,
315
+ {
316
+ data: hidePickedOptions ? filterPickedValues({ data: parsedData, value: _value }) : parsedData,
317
+ hidden: readOnly || disabled,
318
+ filter,
319
+ search: _searchValue,
320
+ limit,
321
+ hiddenWhenEmpty: hidePickedOptions || !nothingFoundMessage || !searchable && _searchValue.trim().length !== 0,
322
+ withScrollArea,
323
+ maxDropdownHeight,
324
+ filterOptions: searchable,
325
+ value: _value,
326
+ checkIconPosition,
327
+ withCheckIcon,
328
+ nothingFoundMessage
329
+ }
330
+ )
331
+ );
332
+ });
333
+ MultiSelect.classes = __spreadValues(__spreadValues({}, InputBase.classes), Combobox.classes);
334
+ MultiSelect.displayName = "@mantine/core/MultiSelect";
335
+
336
+ export { MultiSelect };
337
+ //# sourceMappingURL=MultiSelect.js.map