@procore/core-react 11.6.0-rc.8 → 11.6.0

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 (160) hide show
  1. package/README.md +21 -0
  2. package/dist/Breadcrumbs/Breadcrumbs.d.ts +6 -3
  3. package/dist/Breadcrumbs/Breadcrumbs.js +40 -10
  4. package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
  5. package/dist/Breadcrumbs/Breadcrumbs.styles.d.ts +2 -1
  6. package/dist/Breadcrumbs/Breadcrumbs.styles.js +8 -4
  7. package/dist/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  8. package/dist/Breadcrumbs/Breadcrumbs.types.d.ts +19 -0
  9. package/dist/Breadcrumbs/Breadcrumbs.types.js +8 -1
  10. package/dist/Breadcrumbs/Breadcrumbs.types.js.map +1 -1
  11. package/dist/CheckboxGroup/CheckboxGroup.d.ts +12 -0
  12. package/dist/CheckboxGroup/CheckboxGroup.js +44 -0
  13. package/dist/CheckboxGroup/CheckboxGroup.js.map +1 -0
  14. package/dist/CheckboxGroup/CheckboxGroup.types.d.ts +12 -0
  15. package/dist/CheckboxGroup/CheckboxGroup.types.js +2 -0
  16. package/dist/CheckboxGroup/CheckboxGroup.types.js.map +1 -0
  17. package/dist/CheckboxGroup/index.d.ts +2 -0
  18. package/dist/CheckboxGroup/index.js +2 -0
  19. package/dist/CheckboxGroup/index.js.map +1 -0
  20. package/dist/EmptyState/EmptyState.d.ts +5 -3
  21. package/dist/EmptyState/EmptyState.js +3 -3
  22. package/dist/EmptyState/EmptyState.js.map +1 -1
  23. package/dist/FileSelect/GridSource/GridSource.styles.d.ts +4 -2
  24. package/dist/FileSelect/ThumbnailList/ThumbnailList.js +2 -1
  25. package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
  26. package/dist/Form/Form.js +7 -11
  27. package/dist/Form/Form.js.map +1 -1
  28. package/dist/Form/Form.styles.d.ts +1 -0
  29. package/dist/Form/Form.styles.js +3 -2
  30. package/dist/Form/Form.styles.js.map +1 -1
  31. package/dist/MenuImperative/MenuImperative.styles.js +2 -1
  32. package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
  33. package/dist/NextTile/NextTile.d.ts +35 -0
  34. package/dist/NextTile/NextTile.js +142 -0
  35. package/dist/NextTile/NextTile.js.map +1 -0
  36. package/dist/NextTile/NextTile.types.d.ts +55 -0
  37. package/dist/NextTile/NextTile.types.js +2 -0
  38. package/dist/NextTile/NextTile.types.js.map +1 -0
  39. package/dist/NumberInput/NumberInput.utils.js +3 -6
  40. package/dist/NumberInput/NumberInput.utils.js.map +1 -1
  41. package/dist/PageLayout/PageLayout.styles.d.ts +1 -1
  42. package/dist/Semantic/Semantic.styles.d.ts +2 -0
  43. package/dist/Semantic/Semantic.styles.js +5 -1
  44. package/dist/Semantic/Semantic.styles.js.map +1 -1
  45. package/dist/Spinner/Spinner.js +3 -2
  46. package/dist/Spinner/Spinner.js.map +1 -1
  47. package/dist/Spinner/Spinner.styles.d.ts +5 -2
  48. package/dist/Spinner/Spinner.styles.js +10 -4
  49. package/dist/Spinner/Spinner.styles.js.map +1 -1
  50. package/dist/SuperSelect/SuperSelect.constants.d.ts +2 -0
  51. package/dist/SuperSelect/SuperSelect.constants.js +3 -0
  52. package/dist/SuperSelect/SuperSelect.constants.js.map +1 -0
  53. package/dist/SuperSelect/SuperSelect.d.ts +3 -15
  54. package/dist/SuperSelect/SuperSelect.js +77 -21
  55. package/dist/SuperSelect/SuperSelect.js.map +1 -1
  56. package/dist/SuperSelect/SuperSelect.styles.d.ts +19 -0
  57. package/dist/SuperSelect/SuperSelect.styles.js +22 -2
  58. package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
  59. package/dist/SuperSelect/SuperSelect.types.d.ts +54 -40
  60. package/dist/SuperSelect/SuperSelect.types.js +1 -1
  61. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  62. package/dist/SuperSelect/SuperSelect.utils.d.ts +28 -0
  63. package/dist/SuperSelect/SuperSelect.utils.js +156 -0
  64. package/dist/SuperSelect/SuperSelect.utils.js.map +1 -0
  65. package/dist/SuperSelect/SuperSelectDraggableOptions.d.ts +18 -0
  66. package/dist/SuperSelect/SuperSelectDraggableOptions.js +61 -0
  67. package/dist/SuperSelect/SuperSelectDraggableOptions.js.map +1 -0
  68. package/dist/SuperSelect/useSuperSelect.d.ts +6 -20
  69. package/dist/SuperSelect/useSuperSelect.js +144 -65
  70. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  71. package/dist/SuperSelect/useVirtuosoResizeErrorFix.d.ts +1 -0
  72. package/dist/SuperSelect/useVirtuosoResizeErrorFix.js +21 -0
  73. package/dist/SuperSelect/useVirtuosoResizeErrorFix.js.map +1 -0
  74. package/dist/Tabs/Tabs.js +16 -9
  75. package/dist/Tabs/Tabs.js.map +1 -1
  76. package/dist/Tabs/Tabs.styles.d.ts +4 -2
  77. package/dist/Tabs/Tabs.styles.js +25 -9
  78. package/dist/Tabs/Tabs.styles.js.map +1 -1
  79. package/dist/TieredSelect/TieredSelect.styles.d.ts +1 -1
  80. package/dist/Tile/Tile.styles.d.ts +2 -1
  81. package/dist/Tile/Tile.styles.js +5 -4
  82. package/dist/Tile/Tile.styles.js.map +1 -1
  83. package/dist/_hooks/I18n.d.ts +3 -0
  84. package/dist/_locales/en.json +3 -0
  85. package/dist/_typedoc/Avatar/Avatar.types.json +17 -17
  86. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +22 -22
  87. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  88. package/dist/_typedoc/Banner/Banner.types.json +12 -12
  89. package/dist/_typedoc/Box/Box.types.json +68 -68
  90. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +37 -7
  91. package/dist/_typedoc/Button/Button.types.json +11 -11
  92. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  93. package/dist/_typedoc/Card/Card.types.json +6 -6
  94. package/dist/_typedoc/Checkbox/Checkbox.types.json +7 -7
  95. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  96. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  97. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  98. package/dist/_typedoc/DetailPage/DetailPage.types.json +4 -4
  99. package/dist/_typedoc/Dropdown/Dropdown.types.json +36 -36
  100. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  101. package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
  102. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  103. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  104. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  105. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  106. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  107. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  108. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  109. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  110. package/dist/_typedoc/Form/Form.types.json +694 -694
  111. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  112. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  113. package/dist/_typedoc/Input/Input.types.json +2 -2
  114. package/dist/_typedoc/Link/Link.types.json +4 -4
  115. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  116. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  117. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +71 -71
  118. package/dist/_typedoc/Modal/Modal.types.json +27 -27
  119. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  120. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  121. package/dist/_typedoc/NumberInput/NumberInput.types.json +43 -43
  122. package/dist/_typedoc/PageLayout/PageLayout.types.json +7 -7
  123. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  124. package/dist/_typedoc/Panel/Panel.types.json +27 -27
  125. package/dist/_typedoc/Pill/Pill.types.json +1 -1
  126. package/dist/_typedoc/PillSelect/PillSelect.types.json +46 -46
  127. package/dist/_typedoc/Popover/Popover.types.json +10 -10
  128. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +5 -5
  129. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  130. package/dist/_typedoc/Required/Required.types.json +5 -5
  131. package/dist/_typedoc/Search/Search.types.json +18 -18
  132. package/dist/_typedoc/Section/Section.types.json +14 -14
  133. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
  134. package/dist/_typedoc/Select/Select.types.json +31 -31
  135. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  136. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  137. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  138. package/dist/_typedoc/Table/Table.types.json +94 -94
  139. package/dist/_typedoc/Tabs/Tabs.types.json +15 -15
  140. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +10 -10
  141. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  142. package/dist/_typedoc/TextEditor/TextEditor.types.json +7 -7
  143. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +3 -3
  144. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +25 -25
  145. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  146. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  147. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  148. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  149. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +3 -3
  150. package/dist/_typedoc/Token/Token.types.json +4 -4
  151. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +8 -8
  152. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  153. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  154. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  155. package/dist/_typedoc/Typography/Typography.types.json +8 -8
  156. package/dist/_typedoc/_utils/types.json +3 -3
  157. package/dist/_utils/TinyMCE.js +1 -1
  158. package/dist/_utils/TinyMCE.js.map +1 -1
  159. package/dist/_utils/types.d.ts +1 -1
  160. package/package.json +8 -6
@@ -1,39 +1,52 @@
1
1
  import React from 'react';
2
+ import { DivAttributes } from '../_utils/types';
3
+ import { optgroupSymbol } from './SuperSelect.constants';
2
4
  import { useSuperSelect } from './useSuperSelect';
5
+ export interface SuperSelectComponents {
6
+ Label?: React.FC<{
7
+ selectApi: SuperSelectApi;
8
+ }>;
9
+ MenuItemLabel?: React.FC<{
10
+ selectApi: SuperSelectApi;
11
+ option: SuperSelectOption;
12
+ }>;
13
+ MenuGroupHeader?: React.FC<{
14
+ selectApi: SuperSelectApi;
15
+ group: {
16
+ id: string;
17
+ group: string;
18
+ label: string;
19
+ };
20
+ }>;
21
+ Token?: React.FC<{
22
+ selectApi: SuperSelectApi;
23
+ option: SuperSelectOption;
24
+ index: number;
25
+ focused: boolean;
26
+ }>;
27
+ }
3
28
  export interface SuperSelectProps {
4
29
  block?: boolean;
5
- components?: {
6
- Label?: React.FC<{
7
- selectApi: SuperSelectApi;
8
- }>;
9
- MenuItemLabel?: React.FC<{
10
- selectApi: SuperSelectApi;
11
- option: any;
12
- }>;
13
- Token?: React.FC<{
14
- selectApi: SuperSelectApi;
15
- option: any;
16
- index: number;
17
- focused: boolean;
18
- }>;
19
- };
30
+ draggable?: boolean;
31
+ sort?: boolean;
32
+ components?: SuperSelectComponents;
20
33
  defaultValue?: SuperSelectValue;
21
34
  disabled?: boolean;
22
- emptyMessage: string;
35
+ emptyMessage?: string;
23
36
  error?: boolean;
24
37
  footer?: React.ReactElement;
25
- getOptionGroup?: (option: any) => string;
26
- getOptionIsBatch?: (option: any) => boolean;
27
- getOptionIsDisabled?: (option: any) => boolean;
28
- getOptionLabel?: (option: any) => string;
29
- getOptionValue?: (option: any) => SuperSelectValuePrimitive;
38
+ getOptionGroup?: (option: SuperSelectOption) => string;
39
+ setOptionGroup?: (option: SuperSelectOption, group: string) => SuperSelectOption;
40
+ getOptionIsBatch?: (option: SuperSelectOption) => boolean;
41
+ getOptionIsDisabled?: (option: SuperSelectOption) => boolean;
42
+ getOptionLabel?: (option: SuperSelectOption) => string;
43
+ getOptionValue?: (option: SuperSelectOption) => SuperSelectValuePrimitive;
44
+ onManualSort?: (options: SuperSelectOption[]) => void;
30
45
  header?: React.ReactElement;
31
46
  loading?: boolean;
32
47
  multiple?: boolean;
33
- multipleOptions?: any[];
34
- multipleOptionsLabel?: string;
35
48
  onChange?: (value: SuperSelectValue) => void;
36
- options: Record<string, any>[];
49
+ options: SuperSelectOption[];
37
50
  placeholder?: string;
38
51
  search?: boolean;
39
52
  tabIndex?: number;
@@ -54,31 +67,21 @@ export declare type SuperSelectValuePrimitive = boolean | string | number;
54
67
  export declare type SuperSelectValue = SuperSelectValuePrimitive | Array<SuperSelectValuePrimitive> | null;
55
68
  export declare type SuperSelectOption = any;
56
69
  export interface SuperSelectConfig {
57
- components?: {
58
- Label?: React.FC<{
59
- selectApi: SuperSelectApi;
60
- }>;
61
- MenuItemLabel?: React.FC<{
62
- selectApi: SuperSelectApi;
63
- option: any;
64
- }>;
65
- Token?: React.FC<{
66
- selectApi: SuperSelectApi;
67
- option: any;
68
- index: number;
69
- focused: boolean;
70
- }>;
71
- };
70
+ components?: SuperSelectComponents;
71
+ draggable?: boolean;
72
+ sort?: boolean;
72
73
  defaultValue?: SuperSelectValue;
73
74
  disabled?: boolean;
74
75
  getOptionGroup?: (option: SuperSelectOption) => string;
76
+ setOptionGroup?: (option: SuperSelectOption, group: string) => SuperSelectOption;
75
77
  getOptionIsBatch?: (option: SuperSelectOption) => boolean;
76
78
  getOptionIsDisabled?: (option: SuperSelectOption) => boolean;
77
79
  getOptionLabel?: (option: SuperSelectOption) => string;
78
80
  getOptionValue?: (option: SuperSelectOption) => SuperSelectValuePrimitive;
81
+ onManualSort?: (options: SuperSelectOption[]) => void;
79
82
  multiple?: boolean;
80
83
  onChange?: (value: SuperSelectValue) => void;
81
- options?: Array<any>;
84
+ options?: SuperSelectOption[];
82
85
  search?: boolean;
83
86
  value?: SuperSelectValue;
84
87
  }
@@ -93,3 +96,14 @@ export interface SuperSelectReferenceProps {
93
96
  search?: boolean;
94
97
  tabIndex?: number;
95
98
  }
99
+ export interface SuperSelectOptgroup {
100
+ label: string;
101
+ id: string;
102
+ group: string;
103
+ [optgroupSymbol]: true;
104
+ }
105
+ export interface SuperSelectMenuItemProps extends DivAttributes {
106
+ isDragging?: boolean;
107
+ 'data-known-size'?: number;
108
+ 'data-index': number;
109
+ }
@@ -1,2 +1,2 @@
1
- export {};
1
+ import { optgroupSymbol } from './SuperSelect.constants';
2
2
  //# sourceMappingURL=SuperSelect.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuperSelect.types.js","sourceRoot":"","sources":["../../src/SuperSelect/SuperSelect.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"SuperSelect.types.js","sourceRoot":"","sources":["../../src/SuperSelect/SuperSelect.types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { SuperSelectConfig, SuperSelectOptgroup, SuperSelectOption } from './SuperSelect.types';
2
+ export declare const getGroupNameIsValid: (groupName: unknown) => boolean;
3
+ export declare const getOptionsSortingAlgorithm: ({ getOptionIsBatch, getOptionLabel, }: {
4
+ getOptionIsBatch: NonNullable<SuperSelectConfig['getOptionIsBatch']>;
5
+ getOptionLabel: NonNullable<SuperSelectConfig['getOptionLabel']>;
6
+ }) => (a: SuperSelectOption, b: SuperSelectOption) => number;
7
+ export declare const getBatchOptionFormatter: ({ value, multiple, getOptionIsBatch, getOptionValue, }: {
8
+ value: SuperSelectConfig['value'];
9
+ multiple: NonNullable<SuperSelectConfig['multiple']>;
10
+ getOptionIsBatch: NonNullable<SuperSelectConfig['getOptionIsBatch']>;
11
+ getOptionValue: NonNullable<SuperSelectConfig['getOptionValue']>;
12
+ }) => (option: SuperSelectOption) => any;
13
+ export declare const RESERVED_UNGROUPED_OPTGROUP_NAME = "RESERVED_UNGROUPED_OPTGROUP_NAME";
14
+ export declare const collectGroupsInOrderOfOccurrence: (opts: SuperSelectOption[], getOptionGroup: NonNullable<SuperSelectConfig['getOptionGroup']>) => {
15
+ groups: string[];
16
+ groupedOptions: Record<string, SuperSelectOption[]>;
17
+ };
18
+ export declare function reorder(options: SuperSelectOption[], startIndex: number, endIndex: number, getOptionGroup: (opt: SuperSelectOption) => string): {
19
+ nextOptions: any[];
20
+ prevGroup: string;
21
+ nextGroup: string;
22
+ };
23
+ export declare function isMultiple<T>(multiple: boolean, value: T | T[]): value is T[];
24
+ export declare const getOptionIsOptgroup: (item: SuperSelectOption) => boolean;
25
+ export declare const getOptgroupHeader: (groupName: string) => SuperSelectOptgroup;
26
+ export declare const sortOptgroups: (groupA: string, groupB: string) => number;
27
+ export declare function getIsAllOptionsUngrouped(groups: string[]): boolean;
28
+ export declare function getOptgroup(groupName: string, groupOptions: SuperSelectOption[]): any[];
@@ -0,0 +1,156 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
+ if (ar || !(i in from)) {
15
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
+ ar[i] = from[i];
17
+ }
18
+ }
19
+ return to.concat(ar || Array.prototype.slice.call(from));
20
+ };
21
+ import { optgroupSymbol } from './SuperSelect.constants';
22
+ export var getGroupNameIsValid = function (groupName) {
23
+ var isGroupDefined = ![undefined, null, ''].includes(groupName);
24
+ return isGroupDefined && typeof groupName === 'string' && groupName.length > 0;
25
+ };
26
+ export var getOptionsSortingAlgorithm = function (_a) {
27
+ var getOptionIsBatch = _a.getOptionIsBatch, getOptionLabel = _a.getOptionLabel;
28
+ return function (a, b) {
29
+ var isOptionBatch1 = getOptionIsBatch(a);
30
+ var isOptionBatch2 = getOptionIsBatch(b);
31
+ // move batched options up
32
+ if (isOptionBatch1 && isOptionBatch2) {
33
+ return compareStrings(getOptionLabel(a), getOptionLabel(b));
34
+ }
35
+ else if (isOptionBatch1) {
36
+ return -1;
37
+ }
38
+ else if (isOptionBatch2) {
39
+ return 1;
40
+ }
41
+ return compareStrings(getOptionLabel(a), getOptionLabel(b));
42
+ };
43
+ };
44
+ export var getBatchOptionFormatter = function (_a) {
45
+ var value = _a.value, multiple = _a.multiple, getOptionIsBatch = _a.getOptionIsBatch, getOptionValue = _a.getOptionValue;
46
+ return function (option) {
47
+ if (isMultiple(multiple, value) && getOptionIsBatch(option)) {
48
+ var val = getOptionValue(option);
49
+ var disabled = Array.isArray(val) && val.every(function (v) { return value.includes(v); });
50
+ return __assign(__assign({}, option), { disabled: disabled });
51
+ }
52
+ return option;
53
+ };
54
+ };
55
+ export var RESERVED_UNGROUPED_OPTGROUP_NAME = 'RESERVED_UNGROUPED_OPTGROUP_NAME';
56
+ export var collectGroupsInOrderOfOccurrence = function (opts, getOptionGroup) {
57
+ var output = opts.reduce(function (_a, option) {
58
+ var _b;
59
+ var groups = _a.groups, groupedOptions = _a.groupedOptions;
60
+ var groupName = getOptionGroup(option);
61
+ // if group name is invalid, consider the option ungrouped
62
+ var isGroupNameValid = getGroupNameIsValid(groupName);
63
+ var adjustedGroupName = isGroupNameValid
64
+ ? groupName
65
+ : RESERVED_UNGROUPED_OPTGROUP_NAME;
66
+ var groupOptions = (_b = groupedOptions[adjustedGroupName]) !== null && _b !== void 0 ? _b : [];
67
+ // push/assign for performance considerations
68
+ groupOptions.push(option);
69
+ groupedOptions[adjustedGroupName] = groupOptions;
70
+ return {
71
+ groups: groups.includes(adjustedGroupName)
72
+ ? groups
73
+ : __spreadArray(__spreadArray([], groups, true), [adjustedGroupName], false),
74
+ groupedOptions: groupedOptions,
75
+ };
76
+ }, {
77
+ groups: [],
78
+ groupedOptions: {},
79
+ });
80
+ // if ungrouped options were found, lift them to the top
81
+ if (output.groups.includes(RESERVED_UNGROUPED_OPTGROUP_NAME)) {
82
+ return {
83
+ groupedOptions: output.groupedOptions,
84
+ groups: __spreadArray([
85
+ RESERVED_UNGROUPED_OPTGROUP_NAME
86
+ ], output.groups.filter(function (group) { return group !== RESERVED_UNGROUPED_OPTGROUP_NAME; }), true),
87
+ };
88
+ }
89
+ return output;
90
+ };
91
+ function findParentOptgroup(list, index, getOptionGroup) {
92
+ for (var i = index; i >= 0; i--) {
93
+ var option = list[i];
94
+ var isOptgroup = getOptionIsOptgroup(option);
95
+ if (isOptgroup) {
96
+ return getOptionGroup(option);
97
+ }
98
+ }
99
+ // no parent optgroup was found, so the option is considered ungrouped
100
+ return RESERVED_UNGROUPED_OPTGROUP_NAME;
101
+ }
102
+ export function reorder(options, startIndex, endIndex, getOptionGroup) {
103
+ var nextOptions = __spreadArray([], options, true);
104
+ var removed = nextOptions.splice(startIndex, 1)[0];
105
+ nextOptions.splice(endIndex, 0, removed);
106
+ var prevGroup = findParentOptgroup(options, startIndex, getOptionGroup);
107
+ var nextGroup = findParentOptgroup(nextOptions, endIndex, getOptionGroup);
108
+ return { nextOptions: nextOptions, prevGroup: prevGroup, nextGroup: nextGroup };
109
+ }
110
+ function compareStrings(a, b) {
111
+ return a.localeCompare(b, undefined, { numeric: true, sensitivity: 'base' });
112
+ }
113
+ export function isMultiple(multiple, value) {
114
+ return multiple && Array.isArray(value);
115
+ }
116
+ export var getOptionIsOptgroup = function (item) {
117
+ return Boolean(item[optgroupSymbol]);
118
+ };
119
+ export var getOptgroupHeader = function (groupName) {
120
+ var _a, _b;
121
+ if (groupName === RESERVED_UNGROUPED_OPTGROUP_NAME) {
122
+ return _a = {},
123
+ _a[optgroupSymbol] = true,
124
+ _a.label = '',
125
+ _a.group = RESERVED_UNGROUPED_OPTGROUP_NAME,
126
+ _a.id = RESERVED_UNGROUPED_OPTGROUP_NAME,
127
+ _a;
128
+ }
129
+ return _b = {},
130
+ _b[optgroupSymbol] = true,
131
+ _b.label = groupName,
132
+ _b.group = groupName,
133
+ _b.id = groupName,
134
+ _b;
135
+ };
136
+ export var sortOptgroups = function (groupA, groupB) {
137
+ // always put ungrouped options on top
138
+ if (groupA === RESERVED_UNGROUPED_OPTGROUP_NAME) {
139
+ return -1;
140
+ }
141
+ if (groupB === RESERVED_UNGROUPED_OPTGROUP_NAME) {
142
+ return 1;
143
+ }
144
+ return compareStrings(groupA, groupB);
145
+ };
146
+ export function getIsAllOptionsUngrouped(groups) {
147
+ return groups.length === 1 && groups[0] === RESERVED_UNGROUPED_OPTGROUP_NAME;
148
+ }
149
+ export function getOptgroup(groupName, groupOptions) {
150
+ // ungrouped options should not have a group header
151
+ if (groupName === RESERVED_UNGROUPED_OPTGROUP_NAME) {
152
+ return groupOptions;
153
+ }
154
+ return __spreadArray([getOptgroupHeader(groupName)], groupOptions, true);
155
+ }
156
+ //# sourceMappingURL=SuperSelect.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuperSelect.utils.js","sourceRoot":"","sources":["../../src/SuperSelect/SuperSelect.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { SuperSelectApi, SuperSelectMenuItemProps, SuperSelectOption } from './SuperSelect.types';
3
+ export declare const InternalDragDropContext: React.Context<{
4
+ isDraggingOver: boolean;
5
+ }>;
6
+ export declare const SuperSelectDraggableOptions: ({ SuperSelectMenuItem, MenuItemLabelComponent, MenuGroupHeaderComponent, selectApi, onListHeightChange, }: {
7
+ SuperSelectMenuItem: React.FC<SuperSelectMenuItemProps>;
8
+ MenuItemLabelComponent: React.FC<{
9
+ option: SuperSelectOption;
10
+ selectApi: SuperSelectApi;
11
+ }>;
12
+ MenuGroupHeaderComponent: React.FC<{
13
+ group: SuperSelectOption;
14
+ selectApi: SuperSelectApi;
15
+ }>;
16
+ selectApi: SuperSelectApi;
17
+ onListHeightChange: (height: number) => void;
18
+ }) => JSX.Element;
@@ -0,0 +1,61 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { Grip } from '@procore/core-icons';
13
+ import React from 'react';
14
+ import { DragDropContext, Draggable, Droppable } from 'react-beautiful-dnd';
15
+ import { Virtuoso } from 'react-virtuoso';
16
+ import { StyledGrip } from '../MenuImperative/MenuImperative.styles';
17
+ import { colors } from '../_styles/colors';
18
+ import { draggableOptionIdSymbol } from './SuperSelect.constants';
19
+ import { StyledDraggableWrapper } from './SuperSelect.styles';
20
+ export var InternalDragDropContext = React.createContext({
21
+ isDraggingOver: false,
22
+ });
23
+ var InternalDragDropProvider = function (_a) {
24
+ var isDraggingOver = _a.isDraggingOver, children = _a.children;
25
+ var value = React.useMemo(function () {
26
+ return {
27
+ isDraggingOver: isDraggingOver,
28
+ };
29
+ }, [isDraggingOver]);
30
+ return (React.createElement(InternalDragDropContext.Provider, { value: value }, children));
31
+ };
32
+ export var SuperSelectDraggableOptions = function (_a) {
33
+ var SuperSelectMenuItem = _a.SuperSelectMenuItem, MenuItemLabelComponent = _a.MenuItemLabelComponent, MenuGroupHeaderComponent = _a.MenuGroupHeaderComponent, selectApi = _a.selectApi, onListHeightChange = _a.onListHeightChange;
34
+ var getDraggableItemContent = function (index, option) {
35
+ var disabled = selectApi.getOptionIsDisabled(option);
36
+ var isOptgroup = selectApi.getOptionIsOptgroup(option);
37
+ var optionId = isOptgroup ? option.id : option[draggableOptionIdSymbol];
38
+ return (React.createElement(Draggable, { draggableId: optionId, index: index, key: optionId, isDragDisabled: isOptgroup || disabled || Boolean(selectApi.searchValue) }, function (provided) {
39
+ return (React.createElement(StyledDraggableWrapper, __assign({ ref: provided.innerRef }, provided.draggableProps, provided.dragHandleProps),
40
+ !isOptgroup && (React.createElement(StyledGrip, null,
41
+ React.createElement(Grip, { color: colors.gray45 }))),
42
+ isOptgroup ? (React.createElement(MenuGroupHeaderComponent, { group: option, selectApi: selectApi })) : (React.createElement(MenuItemLabelComponent, { option: option, selectApi: selectApi }))));
43
+ }));
44
+ };
45
+ return (React.createElement(DragDropContext, { onDragEnd: selectApi.onDragEnd },
46
+ React.createElement(Droppable, { droppableId: "droppable", mode: "virtual", renderClone: function (provided, snapshot, dragged) {
47
+ var option = selectApi.options[dragged.source.index];
48
+ return (React.createElement(SuperSelectMenuItem, __assign({ isDragging: true, "data-index": dragged.source.index }, provided.draggableProps),
49
+ React.createElement(StyledGrip, null,
50
+ React.createElement(Grip, { color: colors.gray45 })),
51
+ React.createElement(MenuItemLabelComponent, { option: option, selectApi: selectApi })));
52
+ } }, function (provided, snapshot) {
53
+ return (React.createElement(InternalDragDropProvider, { isDraggingOver: snapshot.isDraggingOver },
54
+ React.createElement(Virtuoso, { role: "listbox", id: selectApi.overlayId, ref: selectApi.virtuoso, data: selectApi.options, components: {
55
+ Item: SuperSelectMenuItem,
56
+ }, scrollerRef: function (el) {
57
+ provided.innerRef(el);
58
+ }, itemContent: getDraggableItemContent, initialTopMostItemIndex: selectApi.selectedIndex >= 0 ? selectApi.selectedIndex : 0, totalListHeightChanged: onListHeightChange, tabIndex: -1 })));
59
+ })));
60
+ };
61
+ //# sourceMappingURL=SuperSelectDraggableOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuperSelectDraggableOptions.js","sourceRoot":"","sources":["../../src/SuperSelect/SuperSelectDraggableOptions.tsx"],"names":[],"mappings":"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"}
@@ -3,25 +3,11 @@ import React from 'react';
3
3
  import { VirtuosoHandle } from 'react-virtuoso';
4
4
  import { TypeaheadInputProps, TypeaheadProps } from '../Typeahead/Typeahead.types';
5
5
  import { SuperSelectConfig, SuperSelectOption, SuperSelectValue, SuperSelectValuePrimitive } from './SuperSelect.types';
6
- declare function getOptionIsOptgroup(item: any): boolean;
7
- export declare function useSuperSelect({ components, defaultValue, disabled, getOptionGroup, getOptionIsBatch, getOptionIsDisabled, getOptionLabel, getOptionValue, multiple, onChange, options: sourceOptions, search, value: value_, }: SuperSelectConfig): {
6
+ export declare function useSuperSelect({ components, draggable, defaultValue, disabled, getOptionGroup, setOptionGroup, getOptionIsBatch, getOptionIsDisabled, getOptionLabel, getOptionValue, onManualSort, multiple, onChange, options: sourceOptions, search, sort, value: value_, }: SuperSelectConfig): {
8
7
  activeMenuIndex: number | null;
9
8
  activeTokenIndex: number | null;
10
- components: {
11
- Label?: React.FC<{
12
- selectApi: any;
13
- }> | undefined;
14
- MenuItemLabel?: React.FC<{
15
- selectApi: any;
16
- option: any;
17
- }> | undefined;
18
- Token?: React.FC<{
19
- selectApi: any;
20
- option: any;
21
- index: number;
22
- focused: boolean;
23
- }> | undefined;
24
- } | undefined;
9
+ components: import("./SuperSelect.types").SuperSelectComponents | undefined;
10
+ draggable: boolean | undefined;
25
11
  floating: import("@floating-ui/react-dom-interactions").UseFloatingReturn<HTMLElement>;
26
12
  getClearProps: () => React.AriaAttributes & React.HTMLAttributes<HTMLElement>;
27
13
  getFloatingProps: (userProps?: any) => Record<string, unknown>;
@@ -30,14 +16,14 @@ export declare function useSuperSelect({ components, defaultValue, disabled, get
30
16
  getOptionGroup: (option: any) => string;
31
17
  getOptionIsBatch: (option: any) => boolean;
32
18
  getOptionIsDisabled: (option: any) => boolean;
33
- getOptionIsOptgroup: typeof getOptionIsOptgroup;
19
+ getOptionIsOptgroup: (item: any) => boolean;
34
20
  getOptionLabel: (option: any) => string;
35
21
  getOptionValue: (option: any) => SuperSelectValuePrimitive;
36
22
  getReferenceProps: (userProps?: any) => Record<string, unknown>;
37
23
  getTokenClearProps: (index: number) => React.AriaAttributes & React.SVGAttributes<SVGElement>;
38
24
  getTypeaheadProps: () => React.AriaAttributes & TypeaheadInputProps & TypeaheadProps;
39
25
  isEmpty: () => boolean;
40
- isSelected: (option: any) => boolean;
26
+ isSelected: (option: SuperSelectOption) => boolean;
41
27
  listId: string;
42
28
  maxHeight: number;
43
29
  multiple: boolean;
@@ -57,5 +43,5 @@ export declare function useSuperSelect({ components, defaultValue, disabled, get
57
43
  value: SuperSelectValue;
58
44
  virtuoso: React.RefObject<VirtuosoHandle>;
59
45
  width: number;
46
+ onDragEnd: (result: any) => void;
60
47
  };
61
- export {};