@procore/core-react 12.24.0 → 12.25.1

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 (242) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  5. package/dist/Badge/Badge.styles.js +2 -2
  6. package/dist/BadgePill/BadgePill.styles.js +4 -4
  7. package/dist/Banner/Banner.styles.js +10 -10
  8. package/dist/Banner/index.d.ts +1 -1
  9. package/dist/Banner/index.js.map +1 -1
  10. package/dist/Box/Box.styles.js +1 -1
  11. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  12. package/dist/Button/Button.styles.js +5 -5
  13. package/dist/Calendar/Calendar.styles.js +8 -8
  14. package/dist/Card/Card.styles.js +1 -1
  15. package/dist/Checkbox/Checkbox.styles.js +6 -6
  16. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  17. package/dist/ContactItem/ContactItem.styles.js +5 -5
  18. package/dist/Content/Content.styles.js +2 -2
  19. package/dist/DateInput/DateInput.styles.js +6 -6
  20. package/dist/DetailPage/DetailPage.d.ts +1 -1
  21. package/dist/DetailPage/DetailPage.styles.js +7 -7
  22. package/dist/Dropdown/Dropdown.styles.js +3 -3
  23. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  24. package/dist/Dropzone/Dropzone.js +1 -1
  25. package/dist/Dropzone/Dropzone.styles.js +9 -9
  26. package/dist/EmptyState/EmptyState.styles.js +6 -6
  27. package/dist/Field/Field.styles.js +3 -3
  28. package/dist/FileList/FileList.styles.js +4 -4
  29. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  30. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  31. package/dist/FileSelect/FileSelect.styles.js +2 -2
  32. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  33. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  34. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  35. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  36. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  37. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.d.ts +7 -7
  38. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  39. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  40. package/dist/FileToken/FileToken.styles.js +4 -4
  41. package/dist/FilterToken/FilterToken.styles.js +5 -5
  42. package/dist/FlexList/FlexList.styles.js +1 -1
  43. package/dist/Form/Form.styles.js +14 -14
  44. package/dist/Form/StyledFormikForm.styles.js +2 -2
  45. package/dist/Form/index.d.ts +1 -1
  46. package/dist/Form/index.js.map +1 -1
  47. package/dist/Form/stories/util.js +3 -0
  48. package/dist/Form/stories/util.js.map +1 -1
  49. package/dist/GhostPlaceholder/GhostPlaceholder.js +9 -0
  50. package/dist/GhostPlaceholder/GhostPlaceholder.js.map +1 -1
  51. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  52. package/dist/Grid/Grid.styles.js +2 -2
  53. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  54. package/dist/Input/Input.styles.js +1 -1
  55. package/dist/Link/Link.styles.js +1 -1
  56. package/dist/ListPage/ListPage.styles.js +8 -8
  57. package/dist/Loader/Loader.styles.js +2 -2
  58. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  59. package/dist/Modal/Modal.d.ts +1 -1
  60. package/dist/Modal/Modal.js +1 -0
  61. package/dist/Modal/Modal.js.map +1 -1
  62. package/dist/Modal/Modal.styles.js +13 -13
  63. package/dist/Modal/storyHelpers.d.ts +1 -0
  64. package/dist/Modal/storyHelpers.js +160 -85
  65. package/dist/Modal/storyHelpers.js.map +1 -1
  66. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  67. package/dist/NextMenu/NextMenu.styles.js +3 -3
  68. package/dist/NextTile/NextTile.js +29 -4
  69. package/dist/NextTile/NextTile.js.map +1 -1
  70. package/dist/NextTile/NextTile.types.d.ts +15 -0
  71. package/dist/NextTile/NextTile.types.js.map +1 -1
  72. package/dist/NextTile/index.d.ts +2 -0
  73. package/dist/NextTile/index.js +2 -0
  74. package/dist/NextTile/index.js.map +1 -0
  75. package/dist/Notation/Notation.js +1 -1
  76. package/dist/NumberInput/NumberInput.js +5 -2
  77. package/dist/NumberInput/NumberInput.js.map +1 -1
  78. package/dist/NumberInput/NumberInput.styles.js +7 -7
  79. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  80. package/dist/PageLayout/PageLayout.styles.js +16 -16
  81. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  82. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  83. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.d.ts +1 -1
  84. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  85. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  86. package/dist/Pagination/Pagination.styles.js +5 -5
  87. package/dist/Pagination/PaginationSelect.js +1 -0
  88. package/dist/Pagination/PaginationSelect.js.map +1 -1
  89. package/dist/Panel/Panel.styles.js +11 -11
  90. package/dist/Pill/Pill.styles.js +2 -2
  91. package/dist/PillSelect/PillSelect.styles.js +4 -4
  92. package/dist/Popover/Popover.styles.js +2 -2
  93. package/dist/Portal/Portal.styles.js +1 -1
  94. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  95. package/dist/RadioButton/RadioButton.styles.js +3 -3
  96. package/dist/Required/Required.styles.js +3 -3
  97. package/dist/Search/Search.styles.js +5 -5
  98. package/dist/Section/Section.styles.js +7 -7
  99. package/dist/SegmentedController/SegmentedController.d.ts +5 -0
  100. package/dist/SegmentedController/SegmentedController.js +49 -30
  101. package/dist/SegmentedController/SegmentedController.js.map +1 -1
  102. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  103. package/dist/Select/Select.styles.js +7 -7
  104. package/dist/Semantic/Semantic.styles.js +9 -9
  105. package/dist/SettingsPage/SettingsPage.d.ts +1 -1
  106. package/dist/Slider/Slider.styles.js +5 -5
  107. package/dist/Spinner/Spinner.styles.js +7 -7
  108. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  109. package/dist/SuperSelect/SuperSelect.components.d.ts +3 -1
  110. package/dist/SuperSelect/SuperSelect.components.js +5 -1
  111. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  112. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  113. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  114. package/dist/SuperSelect/SuperSelect.types.d.ts +2 -0
  115. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  116. package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
  117. package/dist/SuperSelect/useSuperSelect.js +28 -1
  118. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  119. package/dist/Switch/Switch.styles.js +4 -4
  120. package/dist/Table/Table.styles.d.ts +2 -2
  121. package/dist/Table/Table.styles.js +28 -28
  122. package/dist/Table/index.d.ts +1 -1
  123. package/dist/Table/index.js.map +1 -1
  124. package/dist/TableShelf/TableShelf.styles.js +5 -5
  125. package/dist/Tabs/Tabs.styles.js +15 -15
  126. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  127. package/dist/TextArea/TextArea.styles.js +4 -4
  128. package/dist/TextArea/TextArea.styles.js.map +1 -1
  129. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  130. package/dist/TextEditorOutput/index.d.ts +1 -0
  131. package/dist/TextEditorOutput/index.js.map +1 -1
  132. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  133. package/dist/Thumbnail/index.d.ts +1 -1
  134. package/dist/Thumbnail/index.js.map +1 -1
  135. package/dist/ThumbnailGrid/ThumbnailGrid.styles.d.ts +7 -7
  136. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  137. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  138. package/dist/Tile/Tile.styles.d.ts +1 -0
  139. package/dist/Tile/Tile.styles.js +19 -12
  140. package/dist/Tile/Tile.styles.js.map +1 -1
  141. package/dist/Tile/index.d.ts +1 -1
  142. package/dist/Tile/index.js.map +1 -1
  143. package/dist/Title/Title.styles.js +7 -7
  144. package/dist/Toast/Toast.styles.js +3 -3
  145. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  146. package/dist/Token/Token.styles.js +4 -4
  147. package/dist/Token/Token.styles.js.map +1 -1
  148. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  149. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  150. package/dist/Tooltip/Tooltip.styles.js +2 -2
  151. package/dist/Tree/Tree.styles.js +9 -9
  152. package/dist/Typeahead/Typeahead.styles.js +3 -3
  153. package/dist/Typography/Typography.styles.js +1 -1
  154. package/dist/Typography/Typography.table.story.js +2 -2
  155. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  156. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  157. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  158. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  159. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  160. package/dist/_typedoc/Box/Box.types.json +68 -68
  161. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  162. package/dist/_typedoc/Button/Button.types.json +13 -13
  163. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  164. package/dist/_typedoc/Card/Card.types.json +6 -6
  165. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  166. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  167. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  168. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  169. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  170. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  171. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
  172. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  173. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  174. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  175. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  176. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  177. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  178. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  179. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  180. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  181. package/dist/_typedoc/Form/Form.types.json +741 -741
  182. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  183. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  184. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  185. package/dist/_typedoc/Input/Input.types.json +2 -2
  186. package/dist/_typedoc/Link/Link.types.json +4 -4
  187. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  188. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  189. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  190. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  191. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  192. package/dist/_typedoc/NextTile/NextTile.types.json +363 -0
  193. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  194. package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
  195. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +32 -32
  196. package/dist/_typedoc/PageLayout/PageLayout.types.json +29 -29
  197. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  198. package/dist/_typedoc/Panel/Panel.types.json +28 -28
  199. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  200. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  201. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  202. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  203. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  204. package/dist/_typedoc/Required/Required.types.json +5 -5
  205. package/dist/_typedoc/Search/Search.types.json +18 -18
  206. package/dist/_typedoc/Section/Section.types.json +15 -15
  207. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  208. package/dist/_typedoc/Select/Select.types.json +60 -60
  209. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  210. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  211. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  212. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +12 -12
  213. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  214. package/dist/_typedoc/Table/Table.types.json +101 -101
  215. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  216. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  217. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  218. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  219. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  220. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  221. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  222. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  223. package/dist/_typedoc/Tile/Tile.types.json +8 -263
  224. package/dist/_typedoc/Title/Title.types.json +1 -1
  225. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  226. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  227. package/dist/_typedoc/Token/Token.types.json +4 -4
  228. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  229. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  230. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  231. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  232. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  233. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  234. package/dist/_typedoc/_utils/types.json +3 -3
  235. package/dist/_utils/propsTypedoc.d.ts +1 -0
  236. package/dist/_utils/propsTypedoc.js.map +1 -1
  237. package/dist/_utils/types.d.ts +35 -0
  238. package/dist/_utils/types.js.map +1 -1
  239. package/dist/index.d.ts +3 -1
  240. package/dist/index.js +1 -0
  241. package/dist/index.js.map +1 -1
  242. package/package.json +2 -2
@@ -22,40 +22,40 @@ var styledSelectButtonDefaultWidth = 248;
22
22
  export var extendedSelectMenuWidth = 360;
23
23
  export var PillSelectOptionWrapper = /*#__PURE__*/styled.div.withConfig({
24
24
  displayName: "PillSelectOptionWrapper",
25
- componentId: "core-12_24_0__sc-1uf5708-0"
25
+ componentId: "core-12_25_1__sc-1uf5708-0"
26
26
  })(["display:flex;align-items:center;justify-content:space-between;padding:", "px ", "px;"], spacing.xs, spacing.lg);
27
27
  export var PillSelectLabel = /*#__PURE__*/styled(Pill).withConfig({
28
28
  displayName: "PillSelectLabel",
29
- componentId: "core-12_24_0__sc-1uf5708-1"
29
+ componentId: "core-12_25_1__sc-1uf5708-1"
30
30
  })(["", ""], getEllipsis);
31
31
  export var PillSelectLabelWrapper = /*#__PURE__*/styled.div.withConfig({
32
32
  displayName: "PillSelectLabelWrapper",
33
- componentId: "core-12_24_0__sc-1uf5708-2"
33
+ componentId: "core-12_25_1__sc-1uf5708-2"
34
34
  })(["display:flex;max-width:100%;pointer-events:auto;", ""], function (_ref) {
35
35
  var disabled = _ref.disabled;
36
36
  return disabled && css(["pointer-events:none;"]);
37
37
  });
38
38
  export var StyledCheckboxContainer = /*#__PURE__*/styled.div.withConfig({
39
39
  displayName: "StyledCheckboxContainer",
40
- componentId: "core-12_24_0__sc-1uf5708-3"
40
+ componentId: "core-12_25_1__sc-1uf5708-3"
41
41
  })(["padding-left:", "px;"], spacing.lg);
42
42
  export var StyledCheckmarkContainer = /*#__PURE__*/styled.div.withConfig({
43
43
  displayName: "StyledCheckmarkContainer",
44
- componentId: "core-12_24_0__sc-1uf5708-4"
44
+ componentId: "core-12_25_1__sc-1uf5708-4"
45
45
  })(["align-items:center;color:", ";display:inline-flex;flex-shrink:0;padding:0 ", "px 0 ", "px;"], colors.blue50, spacing.lg, spacing.sm);
46
46
 
47
47
  // Do not merge with StyledMenu, needed for max-height working in IE
48
48
  export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
49
49
  displayName: "StyledWrapper",
50
- componentId: "core-12_24_0__sc-1uf5708-5"
50
+ componentId: "core-12_25_1__sc-1uf5708-5"
51
51
  })(["display:flex;max-height:inherit;min-width:inherit;outline:none;width:inherit;"]);
52
52
  export var StyledMenu = /*#__PURE__*/styled.div.withConfig({
53
53
  displayName: "StyledMenu",
54
- componentId: "core-12_24_0__sc-1uf5708-6"
54
+ componentId: "core-12_25_1__sc-1uf5708-6"
55
55
  })(["display:flex;flex-direction:column;outline:0;width:100%;"]);
56
56
  export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
57
57
  displayName: "StyledOptions",
58
- componentId: "core-12_24_0__sc-1uf5708-7"
58
+ componentId: "core-12_25_1__sc-1uf5708-7"
59
59
  })(["flex-basis:auto;flex-grow:1;flex-shrink:1;min-height:", "px;", ";padding:", "px 0;position:relative;overflow:hidden;&:focus{", " margin:-1px;}"], optionMinHeight, function (_ref2) {
60
60
  var _ref2$$scrollable = _ref2.$scrollable,
61
61
  $scrollable = _ref2$$scrollable === void 0 ? true : _ref2$$scrollable;
@@ -63,53 +63,53 @@ export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
63
63
  }, spacing.sm, getFocus());
64
64
  export var StyledItemContent = /*#__PURE__*/styled.div.withConfig({
65
65
  displayName: "StyledItemContent",
66
- componentId: "core-12_24_0__sc-1uf5708-8"
66
+ componentId: "core-12_25_1__sc-1uf5708-8"
67
67
  })(["display:flex;flex-direction:row;align-items:center;"]);
68
68
  export var StyledOptionGroupLabel = /*#__PURE__*/styled.div.withConfig({
69
69
  displayName: "StyledOptionGroupLabel",
70
- componentId: "core-12_24_0__sc-1uf5708-9"
70
+ componentId: "core-12_25_1__sc-1uf5708-9"
71
71
  })(["padding:", "px 0 ", "px ", "px;"], spacing.md, spacing.xs, spacing.lg);
72
72
  export var StyledItemLabel = /*#__PURE__*/styled.div.withConfig({
73
73
  displayName: "StyledItemLabel",
74
- componentId: "core-12_24_0__sc-1uf5708-10"
74
+ componentId: "core-12_25_1__sc-1uf5708-10"
75
75
  })(["", ""], function (_ref3) {
76
76
  var $draggable = _ref3.$draggable;
77
77
  return css(["padding:", "px ", "px;overflow-wrap:anywhere;"], spacing.xs, $draggable ? 0 : spacing.lg);
78
78
  });
79
79
  export var StyledDraggableWrapper = /*#__PURE__*/styled.div.withConfig({
80
80
  displayName: "StyledDraggableWrapper",
81
- componentId: "core-12_24_0__sc-1uf5708-11"
81
+ componentId: "core-12_25_1__sc-1uf5708-11"
82
82
  })(["display:flex;width:100%;align-items:center;"]);
83
83
  export var StyledGrip = /*#__PURE__*/styled.div.withConfig({
84
84
  displayName: "StyledGrip",
85
- componentId: "core-12_24_0__sc-1uf5708-12"
85
+ componentId: "core-12_25_1__sc-1uf5708-12"
86
86
  })(["padding:0 2px;height:24px;visibility:hidden;"]);
87
87
  export var StyledFooter = /*#__PURE__*/styled(Box).withConfig({
88
88
  displayName: "StyledFooter",
89
- componentId: "core-12_24_0__sc-1uf5708-13"
89
+ componentId: "core-12_25_1__sc-1uf5708-13"
90
90
  })(["border-top:1px solid ", ";"], colors.gray85);
91
91
  export var StyledHeader = /*#__PURE__*/styled.div.withConfig({
92
92
  displayName: "StyledHeader",
93
- componentId: "core-12_24_0__sc-1uf5708-14"
93
+ componentId: "core-12_25_1__sc-1uf5708-14"
94
94
  })([""]);
95
95
  export var StyledEmptyMessage = /*#__PURE__*/styled.div.withConfig({
96
96
  displayName: "StyledEmptyMessage",
97
- componentId: "core-12_24_0__sc-1uf5708-15"
97
+ componentId: "core-12_25_1__sc-1uf5708-15"
98
98
  })(["", ";padding:", "px ", "px;color:", ";"], getTypographyIntent('body'), spacing.md, spacing.lg, colors.gray45);
99
99
  export var StyledSearchContainer = /*#__PURE__*/styled.div.withConfig({
100
100
  displayName: "StyledSearchContainer",
101
- componentId: "core-12_24_0__sc-1uf5708-16"
101
+ componentId: "core-12_25_1__sc-1uf5708-16"
102
102
  })(["padding:", "px ", "px ", "px;", " > *{pointer-events:none;}"], spacing.lg, spacing.lg, spacing.sm, StyledButton);
103
103
  export var StyledGroup = /*#__PURE__*/styled.div.withConfig({
104
104
  displayName: "StyledGroup",
105
- componentId: "core-12_24_0__sc-1uf5708-17"
105
+ componentId: "core-12_25_1__sc-1uf5708-17"
106
106
  })(["", " color:", ";cursor:", ";font-weight:", ";padding:", "px ", "px;&:not(:first-child){padding-top:", "px;}&&{padding:0;}", "{padding:", "px ", " px;}&:not(:first-child){", "{padding-top:", " px;}}"], getTypographyIntent('body'), colors.gray15, function (_ref4) {
107
107
  var $clickable = _ref4.$clickable;
108
108
  return $clickable ? 'pointer' : 'default';
109
109
  }, typographyWeights.semibold, spacing.xs, spacing.lg, spacing.md + spacing.xs, StyledOptionGroupLabel, spacing.xs, spacing.lg, StyledOptionGroupLabel, spacing.md + spacing.xs);
110
110
  export var StyledItem = /*#__PURE__*/styled.div.withConfig({
111
111
  displayName: "StyledItem",
112
- componentId: "core-12_24_0__sc-1uf5708-18"
112
+ componentId: "core-12_25_1__sc-1uf5708-18"
113
113
  })(["", ";align-items:center;cursor:pointer;list-style-type:none;display:flex;padding:0;", " ", " ", " a{color:", ";display:block;margin:-", "px -", "px;padding:", "px ", "px;text-decoration:none;&:hover{color:", ";text-decoration:none;}}&[data-highlighted='true']{background-color:", ";}", " &:hover,&:active{", "{visibility:visible;}}", "{color:inherit;cursor:pointer;}", " ", " ", ""], getTypographyIntent('body'), function (_ref5) {
114
114
  var $emptyMinHeight = _ref5.$emptyMinHeight;
115
115
  return css(["&:empty{min-height:", "px;}"], $emptyMinHeight);
@@ -147,50 +147,50 @@ export var StyledItem = /*#__PURE__*/styled.div.withConfig({
147
147
  });
148
148
  export var StyledDroppable = /*#__PURE__*/styled.div.withConfig({
149
149
  displayName: "StyledDroppable",
150
- componentId: "core-12_24_0__sc-1uf5708-19"
150
+ componentId: "core-12_25_1__sc-1uf5708-19"
151
151
  })(["", ",", "{padding-left:28px;}"], StyledGroup, StyledItem);
152
152
  export var StyledSelectMenu = /*#__PURE__*/styled(Card).withConfig({
153
153
  displayName: "StyledSelectMenu",
154
- componentId: "core-12_24_0__sc-1uf5708-20"
154
+ componentId: "core-12_25_1__sc-1uf5708-20"
155
155
  })(["display:flex;max-height:40vh;max-width:", "px;min-width:inherit;"], styledSelectButtonDefaultWidth);
156
156
  export var StyledLabel = /*#__PURE__*/styled.div.withConfig({
157
157
  displayName: "StyledLabel",
158
- componentId: "core-12_24_0__sc-1uf5708-21"
158
+ componentId: "core-12_25_1__sc-1uf5708-21"
159
159
  })(["", " flex-grow:1;margin-right:", "px;outline:none;pointer-events:", ";user-select:none;"], getEllipsis(), spacing.sm, function (_ref10) {
160
160
  var $hoverable = _ref10.$hoverable;
161
161
  return $hoverable ? 'initial' : 'none';
162
162
  });
163
163
  export var StyledIndicators = /*#__PURE__*/styled.div.withConfig({
164
164
  displayName: "StyledIndicators",
165
- componentId: "core-12_24_0__sc-1uf5708-22"
165
+ componentId: "core-12_25_1__sc-1uf5708-22"
166
166
  })(["align-items:center;align-self:flex-start;display:flex;height:34px;justify-content:flex-end;margin-left:", "px;min-width:40px;width:40px;"], spacing.xs);
167
167
  export var StyledClearIcon = /*#__PURE__*/styled(Button).withConfig({
168
168
  displayName: "StyledClearIcon",
169
- componentId: "core-12_24_0__sc-1uf5708-23"
169
+ componentId: "core-12_25_1__sc-1uf5708-23"
170
170
  })([""]);
171
171
  export var StyledSpinner = /*#__PURE__*/styled.div.withConfig({
172
172
  displayName: "StyledSpinner",
173
- componentId: "core-12_24_0__sc-1uf5708-24"
173
+ componentId: "core-12_25_1__sc-1uf5708-24"
174
174
  })(["align-items:center;display:flex;flex:0 0 auto;justify-content:center;line-height:0;"]);
175
175
  export var StyledArrowContainer = /*#__PURE__*/styled.div.withConfig({
176
176
  displayName: "StyledArrowContainer",
177
- componentId: "core-12_24_0__sc-1uf5708-25"
177
+ componentId: "core-12_25_1__sc-1uf5708-25"
178
178
  })(["align-items:center;display:inline-flex;height:16px;justify-content:flex-end;margin-left:", "px;width:8px;"], spacing.sm);
179
179
  export var StyledArrow = /*#__PURE__*/styled.span.withConfig({
180
180
  displayName: "StyledArrow",
181
- componentId: "core-12_24_0__sc-1uf5708-26"
181
+ componentId: "core-12_25_1__sc-1uf5708-26"
182
182
  })(["display:inline-flex;svg{fill:", ";}"], colors.gray45);
183
183
  export var StyledArrowOutline = /*#__PURE__*/styled.polygon.withConfig({
184
184
  displayName: "StyledArrowOutline",
185
- componentId: "core-12_24_0__sc-1uf5708-27"
185
+ componentId: "core-12_25_1__sc-1uf5708-27"
186
186
  })([""]);
187
187
  export var StyledArrowFill = /*#__PURE__*/styled.polygon.withConfig({
188
188
  displayName: "StyledArrowFill",
189
- componentId: "core-12_24_0__sc-1uf5708-28"
189
+ componentId: "core-12_25_1__sc-1uf5708-28"
190
190
  })([""]);
191
191
  export var StyledTrigger = /*#__PURE__*/styled.div.withConfig({
192
192
  displayName: "StyledTrigger",
193
- componentId: "core-12_24_0__sc-1uf5708-29"
193
+ componentId: "core-12_25_1__sc-1uf5708-29"
194
194
  })(["", " align-items:center;background-color:", ";border-color:", ";border-radius:", "px;border-style:solid;border-width:1px;color:", ";cursor:pointer;display:inline-flex;height:36px;min-height:36px;outline:none;padding:0 ", "px;position:relative;white-space:nowrap;width:", ";&::placeholder{border-color:", ";}&:hover,&:active,&[data-qa=", "]{background-color:", ";border-color:", ";color:", ";}&:focus,&[data-qa=", "]{", " ", "{stroke:", ";}}", " ", " ", " ", " ", " ", " ", "}"], getTypographyIntent('body'), colors.white, colors.gray70, borderRadius.md, colors.gray15, spacing.md, function (_ref11) {
195
195
  var $block = _ref11.$block;
196
196
  return $block ? '100%' : "".concat(styledSelectButtonDefaultWidth, "px");
@@ -225,31 +225,31 @@ export var StyledTrigger = /*#__PURE__*/styled.div.withConfig({
225
225
  });
226
226
  export var StyledOverlay = /*#__PURE__*/styled(Card).withConfig({
227
227
  displayName: "StyledOverlay",
228
- componentId: "core-12_24_0__sc-1uf5708-30"
228
+ componentId: "core-12_25_1__sc-1uf5708-30"
229
229
  })(["display:flex;flex-direction:column;"]);
230
230
  export var StyledVirtuoso = /*#__PURE__*/styled(Virtuoso).withConfig({
231
231
  displayName: "StyledVirtuoso",
232
- componentId: "core-12_24_0__sc-1uf5708-31"
232
+ componentId: "core-12_25_1__sc-1uf5708-31"
233
233
  })(["flex:1 1 auto;"]);
234
234
  export var StyledEllipses = /*#__PURE__*/styled.div.withConfig({
235
235
  displayName: "StyledEllipses",
236
- componentId: "core-12_24_0__sc-1uf5708-32"
236
+ componentId: "core-12_25_1__sc-1uf5708-32"
237
237
  })(["", " display:inline-flex;> div{display:inline-flex;width:100%;}"], getEllipsis());
238
238
  export var StyledMultiValueContainer = /*#__PURE__*/styled.div.withConfig({
239
239
  displayName: "StyledMultiValueContainer",
240
- componentId: "core-12_24_0__sc-1uf5708-33"
240
+ componentId: "core-12_25_1__sc-1uf5708-33"
241
241
  })(["display:flex;flex-wrap:wrap;margin-bottom:2px;margin-right:", "px;margin-top:2px;min-width:0;width:100%;"], spacing.xs);
242
242
  export var StyledMultiValue = /*#__PURE__*/styled.div.withConfig({
243
243
  displayName: "StyledMultiValue",
244
- componentId: "core-12_24_0__sc-1uf5708-34"
244
+ componentId: "core-12_25_1__sc-1uf5708-34"
245
245
  })(["margin-bottom:2px;margin-right:", "px;margin-top:2px;flex:0 1 auto;> div{max-width:178px;width:100%;}"], spacing.xs);
246
246
  export var StyledMultiInputContainer = /*#__PURE__*/styled.div.withConfig({
247
247
  displayName: "StyledMultiInputContainer",
248
- componentId: "core-12_24_0__sc-1uf5708-35"
248
+ componentId: "core-12_25_1__sc-1uf5708-35"
249
249
  })(["margin-bottom:2px;margin-right:", "px;margin-top:2px;flex:1;max-width:100%;min-width:24px;"], spacing.xs);
250
250
  export var StyledMultiInput = /*#__PURE__*/styled.input.withConfig({
251
251
  displayName: "StyledMultiInput",
252
- componentId: "core-12_24_0__sc-1uf5708-36"
252
+ componentId: "core-12_25_1__sc-1uf5708-36"
253
253
  })(["background-color:transparent;border-width:0;font-family:inherit;padding:0;height:24px;width:100%;", " ", " &::-ms-clear{display:none;}&:focus{box-shadow:none;outline:none;}&::placeholder{color:", ";}"], getTypographyIntent('body'), function (_ref19) {
254
254
  var $isNavigatingTokens = _ref19.$isNavigatingTokens;
255
255
  return $isNavigatingTokens && css(["color:transparent;"]);
@@ -47,6 +47,7 @@ export interface SuperSelectConfig {
47
47
  getOptionIsBatch?: (option: SuperSelectOption) => boolean;
48
48
  getOptionIsDisabled?: (option: SuperSelectOption) => boolean;
49
49
  getOptionLabel?: (option: SuperSelectOption) => string;
50
+ getOptionPartiallySelected?: (option: SuperSelectOption) => boolean;
50
51
  getOptionValue?: (option: SuperSelectOption) => SuperSelectValuePrimitive;
51
52
  header?: React.ReactElement;
52
53
  loading?: boolean;
@@ -131,6 +132,7 @@ export interface SuperSelectApi {
131
132
  option: {
132
133
  group: (option: SuperSelectOption) => string;
133
134
  isBatch: (option: SuperSelectOption) => boolean;
135
+ isPartiallySelected: (option: SuperSelectOption) => boolean;
134
136
  isSelected: (option: SuperSelectOption) => boolean;
135
137
  isDisabled: (option: SuperSelectOption) => boolean;
136
138
  isOptgroup: (option: SuperSelectOption) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"SuperSelect.types.js","names":[],"sources":["../../src/SuperSelect/SuperSelect.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { VirtuosoHandle } from 'react-virtuoso'\nimport type { DivAttributes } from '../_utils/types'\nimport type * as defaultComponents from './SuperSelect.components'\nimport type { isOptgroupSymbol } from './SuperSelect.constants'\n\nexport interface TokenNavigationProps {\n activeIndex?: number | null\n enabled?: boolean\n onChange?: (value: SuperSelectValue) => void\n onNavigate?: (index: number | null) => void\n value?: SuperSelectValue\n}\n\nexport interface KeyboardSelectionProps {\n enabled?: boolean\n onSelect?: () => void\n}\n\nexport type SuperSelectValuePrimitive = boolean | string | number\n\nexport type SuperSelectValue =\n | SuperSelectValuePrimitive\n | Array<SuperSelectValuePrimitive>\n | null\n\nexport type SuperSelectOption = any\n\nexport type SuperSelectPreset = '' | 'pill' | 'filter' | 'contacts'\n\nexport type SuperSelectResult = {\n destination?: { index: number } | null\n source: { index: number }\n}\n\nexport interface SuperSelectPresetProps {\n filter?: {\n filterName?: string\n }\n pill?: {}\n contacts?: {}\n ''?: {}\n}\n\nexport interface SuperSelectConfig {\n block?: boolean\n components?: Partial<typeof defaultComponents>\n defaultValue?: SuperSelectValue\n disabled?: boolean\n draggable?: boolean\n emptyMessage?: string\n error?: boolean\n footer?: React.ReactElement\n getOptionGroup?: (option: SuperSelectOption) => string\n getOptionIsBatch?: (option: SuperSelectOption) => boolean\n getOptionIsDisabled?: (option: SuperSelectOption) => boolean\n getOptionLabel?: (option: SuperSelectOption) => string\n getOptionValue?: (option: SuperSelectOption) => SuperSelectValuePrimitive\n header?: React.ReactElement\n loading?: boolean\n multiple?: boolean\n onChange?: (value: SuperSelectValue) => void\n onManualSort?: (options: SuperSelectOption[]) => void\n onScrollBottom?: () => void\n onOpenChange?: (open: boolean) => void\n options?: SuperSelectOption[]\n placeholder?: string\n preset?: SuperSelectPreset\n presetProps?: SuperSelectPresetProps\n search?: boolean\n selectionStyle?: 'highlight' | 'checkbox' | 'checkmark'\n setOptionGroup?: (\n option: SuperSelectOption,\n group: string\n ) => SuperSelectOption\n sort?: boolean\n tabIndex?: number\n value?: SuperSelectValue\n overlayMatchesTriggerWidth?: boolean\n 'aria-label'?: string\n}\n\nexport type SuperSelectProps = SuperSelectConfig\n\nexport interface SuperSelectApi {\n config: {\n block: boolean\n disabled: boolean\n draggable: boolean\n emptyMessage: string\n error?: boolean\n footer?: React.ReactElement\n header?: React.ReactElement\n placeholder?: string\n preset: SuperSelectPreset\n presetProps?: any\n selectionStyle: 'highlight' | 'token' | 'checkbox' | 'checkmark'\n tabIndex: number\n loading: boolean\n multiple: boolean\n }\n components: typeof defaultComponents\n state: {\n activeMenuIndex: number | null\n activeTokenIndex: number | null\n isEmpty: () => boolean\n listContainerHeight: number\n listId: string\n maxHeight: number\n onDragEnd: (result: SuperSelectResult) => void\n onSelect: (option: SuperSelectOption) => void\n open: boolean\n options: SuperSelectOption[]\n overlayId: string\n searchValue: string\n selectedIndex: number | null\n selectedLabel: string\n selectedOption: SuperSelectOption | null\n setOpen: (open: boolean) => void\n setPointer: any\n setSearchValue: ((value: string) => void) & { cancel: () => void }\n sourceOptions: SuperSelectOption[]\n value: SuperSelectValue\n width: number\n }\n props: {\n clear: () => Record<string, any>\n emptyMessage: () => Record<string, any>\n footer: () => Record<string, any>\n header: () => Record<string, any>\n item: (...args: any[]) => Record<string, any>\n label: () => Record<string, any>\n menu: () => Record<string, any>\n multiInput: () => Record<string, any>\n overlay: () => Record<string, any>\n search: () => Record<string, any>\n searchContainer: () => Record<string, any>\n tokenClear: (index: number) => Record<string, any>\n trigger: () => Record<string, any>\n virtuoso: () => Record<string, any>\n }\n option: {\n group: (option: SuperSelectOption) => string\n isBatch: (option: SuperSelectOption) => boolean\n isSelected: (option: SuperSelectOption) => boolean\n isDisabled: (option: SuperSelectOption) => boolean\n isOptgroup: (option: SuperSelectOption) => boolean\n label: (option: SuperSelectOption) => string\n value: (option: SuperSelectOption) => SuperSelectValuePrimitive\n }\n refs: {\n floating: any\n navigationList: any\n virtuoso: React.RefObject<VirtuosoHandle>\n }\n}\n\nexport interface SuperSelectTriggerProps {\n block?: boolean\n disabled?: boolean\n error?: boolean\n loading?: boolean\n placeholder?: string\n search?: boolean\n tabIndex?: number\n}\n\nexport interface SuperSelectOptgroup {\n label: string\n id: string\n [isOptgroupSymbol]: true\n}\n\nexport interface SuperSelectMenuItemProps extends DivAttributes {\n isDragging?: boolean\n // data attributes are passed by Virtuoso\n 'data-known-size'?: number\n 'data-index': number\n}\n"],"mappings":""}
1
+ {"version":3,"file":"SuperSelect.types.js","names":[],"sources":["../../src/SuperSelect/SuperSelect.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { VirtuosoHandle } from 'react-virtuoso'\nimport type { DivAttributes } from '../_utils/types'\nimport type * as defaultComponents from './SuperSelect.components'\nimport type { isOptgroupSymbol } from './SuperSelect.constants'\n\nexport interface TokenNavigationProps {\n activeIndex?: number | null\n enabled?: boolean\n onChange?: (value: SuperSelectValue) => void\n onNavigate?: (index: number | null) => void\n value?: SuperSelectValue\n}\n\nexport interface KeyboardSelectionProps {\n enabled?: boolean\n onSelect?: () => void\n}\n\nexport type SuperSelectValuePrimitive = boolean | string | number\n\nexport type SuperSelectValue =\n | SuperSelectValuePrimitive\n | Array<SuperSelectValuePrimitive>\n | null\n\nexport type SuperSelectOption = any\n\nexport type SuperSelectPreset = '' | 'pill' | 'filter' | 'contacts'\n\nexport type SuperSelectResult = {\n destination?: { index: number } | null\n source: { index: number }\n}\n\nexport interface SuperSelectPresetProps {\n filter?: {\n filterName?: string\n }\n pill?: {}\n contacts?: {}\n ''?: {}\n}\n\nexport interface SuperSelectConfig {\n block?: boolean\n components?: Partial<typeof defaultComponents>\n defaultValue?: SuperSelectValue\n disabled?: boolean\n draggable?: boolean\n emptyMessage?: string\n error?: boolean\n footer?: React.ReactElement\n getOptionGroup?: (option: SuperSelectOption) => string\n getOptionIsBatch?: (option: SuperSelectOption) => boolean\n getOptionIsDisabled?: (option: SuperSelectOption) => boolean\n getOptionLabel?: (option: SuperSelectOption) => string\n getOptionPartiallySelected?: (option: SuperSelectOption) => boolean\n getOptionValue?: (option: SuperSelectOption) => SuperSelectValuePrimitive\n header?: React.ReactElement\n loading?: boolean\n multiple?: boolean\n onChange?: (value: SuperSelectValue) => void\n onManualSort?: (options: SuperSelectOption[]) => void\n onScrollBottom?: () => void\n onOpenChange?: (open: boolean) => void\n options?: SuperSelectOption[]\n placeholder?: string\n preset?: SuperSelectPreset\n presetProps?: SuperSelectPresetProps\n search?: boolean\n selectionStyle?: 'highlight' | 'checkbox' | 'checkmark'\n setOptionGroup?: (\n option: SuperSelectOption,\n group: string\n ) => SuperSelectOption\n sort?: boolean\n tabIndex?: number\n value?: SuperSelectValue\n overlayMatchesTriggerWidth?: boolean\n 'aria-label'?: string\n}\n\nexport type SuperSelectProps = SuperSelectConfig\n\nexport interface SuperSelectApi {\n config: {\n block: boolean\n disabled: boolean\n draggable: boolean\n emptyMessage: string\n error?: boolean\n footer?: React.ReactElement\n header?: React.ReactElement\n placeholder?: string\n preset: SuperSelectPreset\n presetProps?: any\n selectionStyle: 'highlight' | 'token' | 'checkbox' | 'checkmark'\n tabIndex: number\n loading: boolean\n multiple: boolean\n }\n components: typeof defaultComponents\n state: {\n activeMenuIndex: number | null\n activeTokenIndex: number | null\n isEmpty: () => boolean\n listContainerHeight: number\n listId: string\n maxHeight: number\n onDragEnd: (result: SuperSelectResult) => void\n onSelect: (option: SuperSelectOption) => void\n open: boolean\n options: SuperSelectOption[]\n overlayId: string\n searchValue: string\n selectedIndex: number | null\n selectedLabel: string\n selectedOption: SuperSelectOption | null\n setOpen: (open: boolean) => void\n setPointer: any\n setSearchValue: ((value: string) => void) & { cancel: () => void }\n sourceOptions: SuperSelectOption[]\n value: SuperSelectValue\n width: number\n }\n props: {\n clear: () => Record<string, any>\n emptyMessage: () => Record<string, any>\n footer: () => Record<string, any>\n header: () => Record<string, any>\n item: (...args: any[]) => Record<string, any>\n label: () => Record<string, any>\n menu: () => Record<string, any>\n multiInput: () => Record<string, any>\n overlay: () => Record<string, any>\n search: () => Record<string, any>\n searchContainer: () => Record<string, any>\n tokenClear: (index: number) => Record<string, any>\n trigger: () => Record<string, any>\n virtuoso: () => Record<string, any>\n }\n option: {\n group: (option: SuperSelectOption) => string\n isBatch: (option: SuperSelectOption) => boolean\n isPartiallySelected: (option: SuperSelectOption) => boolean\n isSelected: (option: SuperSelectOption) => boolean\n isDisabled: (option: SuperSelectOption) => boolean\n isOptgroup: (option: SuperSelectOption) => boolean\n label: (option: SuperSelectOption) => string\n value: (option: SuperSelectOption) => SuperSelectValuePrimitive\n }\n refs: {\n floating: any\n navigationList: any\n virtuoso: React.RefObject<VirtuosoHandle>\n }\n}\n\nexport interface SuperSelectTriggerProps {\n block?: boolean\n disabled?: boolean\n error?: boolean\n loading?: boolean\n placeholder?: string\n search?: boolean\n tabIndex?: number\n}\n\nexport interface SuperSelectOptgroup {\n label: string\n id: string\n [isOptgroupSymbol]: true\n}\n\nexport interface SuperSelectMenuItemProps extends DivAttributes {\n isDragging?: boolean\n // data attributes are passed by Virtuoso\n 'data-known-size'?: number\n 'data-index': number\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import type { SuperSelectApi, SuperSelectConfig } from './SuperSelect.types';
3
- export declare function useSuperSelect({ block, components: customComponents, defaultValue, disabled, draggable, emptyMessage, error, footer, getOptionGroup, getOptionIsBatch, getOptionIsDisabled, getOptionLabel, getOptionValue, onScrollBottom, onOpenChange, header, loading, multiple, onChange, onManualSort, options: sourceOptions, placeholder, preset, presetProps, search, selectionStyle, setOptionGroup, sort, tabIndex, value: value_, overlayMatchesTriggerWidth, 'aria-label': ariaLabel, }: SuperSelectConfig): SuperSelectApi;
3
+ export declare function useSuperSelect({ block, components: customComponents, defaultValue, disabled, draggable, emptyMessage, error, footer, getOptionGroup, getOptionIsBatch, getOptionIsDisabled, getOptionLabel, getOptionPartiallySelected, getOptionValue, onScrollBottom, onOpenChange, header, loading, multiple, onChange, onManualSort, options: sourceOptions, placeholder, preset, presetProps, search, selectionStyle, setOptionGroup, sort, tabIndex, value: value_, overlayMatchesTriggerWidth, 'aria-label': ariaLabel, }: SuperSelectConfig): SuperSelectApi;
4
4
  export declare const SuperSelectContext: React.Context<SuperSelectApi | null>;
5
5
  export declare function useSuperSelectContext(): SuperSelectApi;
@@ -152,6 +152,7 @@ export function useSuperSelect(_ref3) {
152
152
  getOptionIsDisabled = _ref3$getOptionIsDisa === void 0 ? defaultGetOptionIsDisabled : _ref3$getOptionIsDisa,
153
153
  _ref3$getOptionLabel = _ref3.getOptionLabel,
154
154
  getOptionLabel = _ref3$getOptionLabel === void 0 ? defaultGetOptionLabel : _ref3$getOptionLabel,
155
+ getOptionPartiallySelected = _ref3.getOptionPartiallySelected,
155
156
  _ref3$getOptionValue = _ref3.getOptionValue,
156
157
  getOptionValue = _ref3$getOptionValue === void 0 ? defaultGetOptionValue : _ref3$getOptionValue,
157
158
  _ref3$onScrollBottom = _ref3.onScrollBottom,
@@ -419,7 +420,32 @@ export function useSuperSelect(_ref3) {
419
420
  }
420
421
  }
421
422
  function getOptionIsSelected(option) {
422
- return Array.isArray(value) ? value.includes(getOptionValue(option)) : value === getOptionValue(option);
423
+ if (Array.isArray(value)) {
424
+ var optionValues = getOptionValue(option);
425
+ if (Array.isArray(optionValues)) {
426
+ return optionValues.every(function (v) {
427
+ return value.includes(v);
428
+ });
429
+ }
430
+ return value.includes(optionValues);
431
+ }
432
+ return value === getOptionValue(option);
433
+ }
434
+ function defaultGetOptionIsPartiallySelected(option) {
435
+ if (selectionStyle !== 'checkbox') {
436
+ return false;
437
+ }
438
+ if (Array.isArray(value)) {
439
+ var optionValues = getOptionValue(option);
440
+ if (Array.isArray(optionValues)) {
441
+ return optionValues.some(function (v) {
442
+ return value.includes(v);
443
+ }) && !optionValues.every(function (v) {
444
+ return value.includes(v);
445
+ });
446
+ }
447
+ }
448
+ return false;
423
449
  }
424
450
  function isEmpty() {
425
451
  return Array.isArray(value) ? value.length === 0 : value === null;
@@ -823,6 +849,7 @@ export function useSuperSelect(_ref3) {
823
849
  option: {
824
850
  group: getOptionGroup,
825
851
  isBatch: getOptionIsBatch,
852
+ isPartiallySelected: getOptionPartiallySelected !== null && getOptionPartiallySelected !== void 0 ? getOptionPartiallySelected : defaultGetOptionIsPartiallySelected,
826
853
  isSelected: getOptionIsSelected,
827
854
  isDisabled: getOptionIsDisabled,
828
855
  isOptgroup: getOptionIsOptgroup,
@@ -1 +1 @@
1
- {"version":3,"file":"useSuperSelect.js","names":["autoUpdate","flip","offset","size","useClick","useDismiss","useFloating","useInteractions","useListNavigation","useId","debounce","uniq","React","ulid","useI18nContext","useZIndexContext","spacing","defaultComponents","draggableOptionIdSymbol","extendedSelectMenuWidth","collectGroupsInOrderOfOccurrence","createOptgroup","getBatchOptionFormatter","getIsAllOptionsUngrouped","getOptionIsOptgroup","getOptionsSortingAlgorithm","isMultiple","removeEmptyOptGroups","reorder","sortOptgroups","listContainerVerticalPadding","sm","noop","defaultGetOptionValue","option","value","defaultGetOptionIsBatch","Array","isArray","defaultGetOptionIsDisabled","_option$disabled","disabled","defaultGetOptionGroup","_option$group","group","defaultSetOptionGroup","_objectSpread","defaultGetOptionLabel","_option$label","label","stringContains","str1","str2","toLowerCase","includes","useTokenNavigation","context","_ref","arguments","length","undefined","_ref$enabled","enabled","_ref$value","_ref$activeIndex","activeIndex","_ref$onNavigate","onNavigate","_ref$onChange","onChange","reference","onKeyDown","e","key","Math","max","repeat","nextVal","filter","_","i","useKeyboardSelection","_ref2","_ref2$enabled","_ref2$onSelect","onSelect","floating","useSuperSelect","_ref3","_ref3$block","block","customComponents","components","defaultValue","_ref3$disabled","_ref3$draggable","draggable","_ref3$emptyMessage","emptyMessage","error","footer","_ref3$getOptionGroup","getOptionGroup","_ref3$getOptionIsBatc","getOptionIsBatch","_ref3$getOptionIsDisa","getOptionIsDisabled","_ref3$getOptionLabel","getOptionLabel","_ref3$getOptionValue","getOptionValue","_ref3$onScrollBottom","onScrollBottom","_ref3$onOpenChange","onOpenChange","header","_ref3$loading","loading","_ref3$multiple","multiple","onManualSort","_ref3$options","options","sourceOptions","placeholder","_ref3$preset","preset","presetProps","_ref3$search","search","_ref3$selectionStyle","selectionStyle","_ref3$setOptionGroup","setOptionGroup","_ref3$sort","sort","_ref3$tabIndex","tabIndex","value_","_ref3$overlayMatchesT","overlayMatchesTriggerWidth","ariaLabel","useEffect","isUsingDefaultGetter","isUsingDefaultSetter","console","warn","i18n","initialValue","_React$useState","useState","_React$useState2","_slicedToArray","val","setVal","setValue","v","navigationList","useRef","virtuoso","searchRef","overlayId","listId","_React$useState3","_React$useState4","open","setOpen","_React$useState5","_React$useState6","pointer","setPointer","_React$useState7","_React$useState8","width","setWidth","_React$useState9","_React$useState0","maxHeight","setMaxHeight","_React$useState1","_React$useState10","listHeight","setListHeight","_React$useState11","_React$useState12","searchHeight","setSearchHeight","_React$useState13","_React$useState14","footerHeight","setFooterHeight","listContainerHeight","min","_React$useState15","_React$useState16","searchValue","setSearchValue_","setSearchValue","_React$useState17","_React$useState18","activeMenuIndex","setActiveMenuIndex","_React$useState19","_React$useState20","activeTokenIndex","setActiveTokenIndex","sortOptions","useMemo","formatBatchOption","enforceOptionsSortingOrder","useCallback","groupAndSort","opts","_collectGroupsInOrder","groups","groupedOptions","Object","entries","_ref4","_ref5","_ref6","groupA","_ref7","groupB","flatMap","_ref8","_ref9","groupName","groupOptions","deriveOptionsSortingOrder","_collectGroupsInOrder2","groupAndSortAlgorithm","queried","opt","_toConsumableArray","map","_React$useState21","_React$useState22","draggableOptions","setDraggableOptions","_defineProperty","queriedDraggableOptions","groupIndices","reduce","acc","push","selectedIndex","findIndex","isSelectableOption","selectedOption","find","selectedLabel","o","getFirstSelectableOptionIndex","optionValue","concat","onKeyboardSelect","getOptionIsSelected","isEmpty","boundWidthRef","current","whileElementsMounted","_len","args","_key","apply","animationFrame","strategy","middleware","_ref0","rects","mainAxis","crossAxis","_ref1","availableHeight","elements","getBoundingClientRect","padding","_useZIndexContext","zIndex","_useInteractions","keyboardHandlers","disabledIndices","listRef","loop","virtual","$block","$disabled","$error","$hasClearIcon","$loading","$multiple","$open","$placeholder","role","id","onPointerMove","style","position","left","x","top","y","getReferenceProps","getFloatingProps","getItemProps","getLabelProps","$hoverable","getMultiInputProps","ref","_floating$refs$floati","preventDefault","stopPropagation","refs","focus","currentTarget","opacity","getMultiValueProps","index","onClick","getSearchContainerProps","el","_el$clientHeight","clientHeight","getSearchProps","t","getHeaderProps","getFooterProps","_el$clientHeight2","getEmptyMessageProps","getClearProps","getMenuProps","scrollable","height","getVirtuosoProps","atBottomStateChange","atBottom","data","Item","initialTopMostItemIndex","flex","totalListHeightChanged","onDragEnd","result","destination","source","startIndex","destinationIndex","_reorder","nextOptions","prevGroup","nextGroup","adjustedOptions","setTimeout","fill","useLayoutEffect","_virtuoso$current","scrollIntoView","config","state","props","clear","item","menu","multiInput","overlay","searchContainer","tokenClear","trigger","isBatch","isSelected","isDisabled","isOptgroup","SuperSelectContext","createContext","useSuperSelectContext","ctx","useContext","Error"],"sources":["../../src/SuperSelect/useSuperSelect.ts"],"sourcesContent":["import type { ElementProps, FloatingContext } from '@floating-ui/react'\nimport {\n autoUpdate,\n flip,\n offset,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useListNavigation,\n} from '@floating-ui/react'\nimport { useId } from '@react-aria/utils'\nimport debounce from 'lodash.debounce'\nimport uniq from 'lodash.uniq'\nimport React from 'react'\nimport type { VirtuosoHandle, VirtuosoProps } from 'react-virtuoso'\nimport { ulid } from 'ulid'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { spacing } from '../_styles/spacing'\nimport * as defaultComponents from './SuperSelect.components'\nimport { draggableOptionIdSymbol } from './SuperSelect.constants'\nimport { extendedSelectMenuWidth } from './SuperSelect.styles'\nimport type {\n KeyboardSelectionProps,\n SuperSelectApi,\n SuperSelectConfig,\n SuperSelectOption,\n SuperSelectResult,\n SuperSelectValue,\n SuperSelectValuePrimitive,\n TokenNavigationProps,\n} from './SuperSelect.types'\nimport {\n collectGroupsInOrderOfOccurrence,\n createOptgroup,\n getBatchOptionFormatter,\n getIsAllOptionsUngrouped,\n getOptionIsOptgroup,\n getOptionsSortingAlgorithm,\n isMultiple,\n removeEmptyOptGroups,\n reorder,\n sortOptgroups,\n} from './SuperSelect.utils'\n\nconst listContainerVerticalPadding = spacing.sm * 2\n\nfunction noop() {}\n\nfunction defaultGetOptionValue(option: SuperSelectOption) {\n return option?.value\n}\n\nfunction defaultGetOptionIsBatch(option: SuperSelectOption): boolean {\n return Array.isArray(option?.value)\n}\n\nfunction defaultGetOptionIsDisabled(option: SuperSelectOption): boolean {\n return option?.disabled ?? false\n}\n\nfunction defaultGetOptionGroup(option: SuperSelectOption): string {\n return option?.group ?? ''\n}\n\nfunction defaultSetOptionGroup(\n option: SuperSelectOption,\n group: string\n): SuperSelectOption {\n return {\n ...option,\n group,\n }\n}\n\nfunction defaultGetOptionLabel(option: SuperSelectOption): string {\n return option?.label ?? ''\n}\n\nfunction stringContains(str1: string, str2: string) {\n return str1.toLowerCase().includes(str2.toLowerCase())\n}\n\nfunction useTokenNavigation(\n context: FloatingContext<HTMLElement>,\n {\n enabled = true,\n value = [],\n activeIndex = null,\n onNavigate = noop,\n onChange = noop,\n }: TokenNavigationProps = {}\n): ElementProps {\n return {\n reference: {\n onKeyDown(e) {\n if (!enabled || !Array.isArray(value)) {\n return\n }\n\n if (e.key === 'ArrowLeft') {\n if (activeIndex !== null) {\n onNavigate(Math.max(0, activeIndex - 1))\n } else if (value.length > 0) {\n onNavigate(value.length - 1)\n }\n } else if (e.key === 'ArrowRight') {\n if (activeIndex !== null) {\n if (activeIndex === value.length - 1) {\n onNavigate(null)\n } else {\n onNavigate(activeIndex + 1)\n }\n }\n } else if (e.key === 'Backspace') {\n if (!e.repeat) {\n if (activeIndex !== null) {\n const nextVal = value.filter((_, i) => i !== activeIndex)\n\n onChange(nextVal)\n\n if (activeIndex >= nextVal.length) {\n onNavigate(null)\n }\n } else if (value.length > 0) {\n onChange(value.filter((_, i) => i !== value.length - 1))\n }\n }\n }\n },\n },\n }\n}\n\nfunction useKeyboardSelection(\n context: FloatingContext<HTMLElement>,\n { enabled = true, onSelect = () => {} }: KeyboardSelectionProps = {}\n): ElementProps {\n function onKeyDown(e: React.KeyboardEvent) {\n if (!enabled) {\n return\n }\n\n if (e.key === 'Enter') {\n onSelect()\n }\n }\n\n return {\n reference: {\n onKeyDown,\n },\n floating: {\n onKeyDown,\n },\n }\n}\n\nexport function useSuperSelect({\n block = false,\n components: customComponents,\n defaultValue,\n disabled = false,\n draggable = false,\n emptyMessage = 'No results',\n error,\n footer,\n getOptionGroup = defaultGetOptionGroup,\n getOptionIsBatch = defaultGetOptionIsBatch,\n getOptionIsDisabled = defaultGetOptionIsDisabled,\n getOptionLabel = defaultGetOptionLabel,\n getOptionValue = defaultGetOptionValue,\n onScrollBottom = noop,\n onOpenChange = noop,\n header,\n loading = false,\n multiple = false,\n onChange,\n onManualSort,\n options: sourceOptions = [],\n placeholder,\n preset = '',\n presetProps,\n search = true,\n selectionStyle = 'highlight',\n setOptionGroup = defaultSetOptionGroup,\n sort = true,\n tabIndex = 0,\n value: value_,\n overlayMatchesTriggerWidth = true,\n 'aria-label': ariaLabel,\n}: SuperSelectConfig): SuperSelectApi {\n React.useEffect(() => {\n if (!draggable) {\n return\n }\n\n const isUsingDefaultGetter = getOptionGroup === defaultGetOptionGroup\n const isUsingDefaultSetter = setOptionGroup === defaultSetOptionGroup\n\n if (\n (isUsingDefaultGetter && !isUsingDefaultSetter) ||\n (!isUsingDefaultGetter && isUsingDefaultSetter)\n ) {\n console.warn(\n `SuperSelect: Using potentially conflicting \"getOptionGroup\" and \"setOptionGroup\" implementations.\n Group reassignment after drag-and-drop operation might be broken.`\n )\n }\n }, [draggable, getOptionGroup, setOptionGroup])\n\n const i18n = useI18nContext()\n\n const initialValue = defaultValue ?? (multiple ? [] : null)\n const [val, setVal] = React.useState<SuperSelectValue>(initialValue)\n const value = value_ !== undefined ? value_ : val\n function setValue(v: SuperSelectValue) {\n if (!value_) {\n setVal(v)\n }\n\n if (onChange) {\n onChange(v)\n }\n }\n\n const navigationList = React.useRef<Array<HTMLElement | null>>([])\n const virtuoso = React.useRef<VirtuosoHandle>(null)\n const searchRef = React.useRef<HTMLInputElement>(null)\n\n const overlayId = useId() // TODO use React 18 useId\n const listId = useId() // TODO use React 18 useId\n\n const [open, setOpen] = React.useState(false)\n const [pointer, setPointer] = React.useState(false)\n const [width, setWidth] = React.useState(248)\n const [maxHeight, setMaxHeight] = React.useState(248)\n const [listHeight, setListHeight] = React.useState(0)\n const [searchHeight, setSearchHeight] = React.useState(0)\n const [footerHeight, setFooterHeight] = React.useState(0)\n const listContainerHeight = Math.min(\n maxHeight - searchHeight - footerHeight + listContainerVerticalPadding,\n listHeight + listContainerVerticalPadding\n )\n const [searchValue, setSearchValue_] = React.useState('')\n const setSearchValue = debounce(setSearchValue_, 250) // TODO use React 18 useDeferredValue\n\n const [activeMenuIndex, setActiveMenuIndex] = React.useState<number | null>(\n null\n )\n const [activeTokenIndex, setActiveTokenIndex] = React.useState<number | null>(\n null\n )\n\n const components = {\n ...defaultComponents,\n ...(customComponents || {}),\n }\n\n // TODO #memogetters: consider having getOption... getter functions memoized by consumers\n // Until then, exclude these callbacks from effect and memo dependencies\n const sortOptions = React.useMemo(\n () => getOptionsSortingAlgorithm({ getOptionIsBatch, getOptionLabel }),\n // skip `getOptionIsBatch` and `getOptionLabel`\n []\n )\n\n const formatBatchOption = React.useMemo(\n () =>\n getBatchOptionFormatter({\n value,\n multiple,\n getOptionIsBatch,\n getOptionValue,\n }),\n // skip `getOptionIsBatch` and `getOptionValue`, refer to TODO #memogetters\n [value, multiple]\n )\n\n // collect groups, sort them and populate them with options, and sort the options inside the groups\n const enforceOptionsSortingOrder = React.useCallback(\n function groupAndSort(opts: SuperSelectOption[]) {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts.sort(sortOptions)\n }\n\n return Object.entries(groupedOptions)\n .sort(([groupA], [groupB]) => sortOptgroups(groupA, groupB))\n .flatMap(([groupName, groupOptions]) =>\n createOptgroup(groupName, groupOptions.sort(sortOptions))\n )\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n [sortOptions]\n )\n\n // collect groups and populate them with options\n const deriveOptionsSortingOrder = React.useCallback(\n (opts: SuperSelectOption[]) => {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts\n }\n\n // display optgroups in the order of occurrence, as they are considered pre-sorted\n return groups.flatMap((group) => {\n const groupOptions = groupedOptions[group]\n\n return createOptgroup(group, groupOptions)\n })\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n []\n )\n\n const groupAndSortAlgorithm = React.useMemo(\n () => (sort ? enforceOptionsSortingOrder : deriveOptionsSortingOrder),\n [sort, enforceOptionsSortingOrder, deriveOptionsSortingOrder]\n )\n\n const options = React.useMemo(\n () => {\n const queried = searchValue\n ? sourceOptions.filter((opt) =>\n stringContains(getOptionLabel(opt), searchValue)\n )\n : [...sourceOptions] // make a copy of source options to prevent the mutation when sorting\n\n return groupAndSortAlgorithm(queried).map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [groupAndSortAlgorithm, formatBatchOption, searchValue, sourceOptions]\n )\n\n const [draggableOptions, setDraggableOptions] = React.useState<\n SuperSelectOption[]\n >([])\n\n React.useEffect(\n () => {\n if (!draggable) {\n return\n }\n // make a copy of source options to prevent the mutation when sorting\n const opts = groupAndSortAlgorithm(\n sourceOptions.map((opt) => ({\n ...opt,\n [draggableOptionIdSymbol]: ulid(),\n }))\n )\n setDraggableOptions(opts)\n },\n // in draggable mode, sourceOptions must be memoized, othewise reorder will not work\n [draggable, sourceOptions, groupAndSortAlgorithm]\n )\n\n const queriedDraggableOptions = React.useMemo(\n () => {\n if (!draggable) {\n return []\n }\n\n const queried = searchValue\n ? removeEmptyOptGroups(\n draggableOptions.filter((opt) => {\n if (!getOptionIsOptgroup(opt)) {\n return stringContains(getOptionLabel(opt), searchValue)\n }\n return true\n })\n )\n : draggableOptions\n\n return queried.map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [draggable, draggableOptions, searchValue, formatBatchOption]\n )\n\n const groupIndices = React.useMemo(() => {\n return options.reduce((acc, opt, i) => {\n if (getOptionIsOptgroup(opt)) {\n acc.push(i)\n }\n return acc\n }, [] as number[])\n }, [options])\n\n const selectedIndex = React.useMemo(() => {\n return options.findIndex(\n (option) => isSelectableOption(option) && getOptionValue(option) === value\n )\n }, [options, value])\n\n const selectedOption = React.useMemo(() => {\n const val = Array.isArray(value) ? value[0] : value\n return options.find((option) => getOptionValue(option) === val)\n }, [options, value])\n\n const selectedLabel = React.useMemo(() => {\n return selectedOption ? getOptionLabel(selectedOption) : ''\n }, [selectedOption])\n\n function isSelectableOption(o: SuperSelectOption) {\n return !getOptionIsOptgroup(o) && !getOptionIsDisabled(o)\n }\n\n function getFirstSelectableOptionIndex() {\n return options.findIndex(isSelectableOption)\n }\n\n function onSelect(option: SuperSelectOption) {\n if (getOptionIsDisabled(option)) {\n return\n }\n\n const optionValue = getOptionValue(option)\n\n if (isMultiple(multiple, value)) {\n if (Array.isArray(optionValue)) {\n setValue(uniq([...value, ...optionValue]))\n } else {\n setValue(\n value.includes(optionValue)\n ? value.filter(\n (val: SuperSelectValuePrimitive) => val !== optionValue\n )\n : [...value, optionValue]\n )\n }\n } else {\n setValue(optionValue)\n }\n }\n\n function onKeyboardSelect() {\n if (activeMenuIndex !== null) {\n const option = options[activeMenuIndex]\n\n if (option) {\n onSelect(option)\n }\n }\n }\n\n function getOptionIsSelected(option: SuperSelectOption) {\n return Array.isArray(value)\n ? value.includes(getOptionValue(option))\n : value === getOptionValue(option)\n }\n\n function isEmpty() {\n return Array.isArray(value) ? value.length === 0 : value === null\n }\n\n const boundWidthRef = React.useRef(open)\n\n React.useEffect(() => {\n boundWidthRef.current = open\n }, [open])\n\n const floating = useFloating<HTMLElement>({\n open,\n onOpenChange: (open) => {\n setOpen(open)\n onOpenChange(open)\n },\n whileElementsMounted: (...args) =>\n /* { animationFrame: true } is used to fix ResizeObserver issue with @floating-ui/react */\n autoUpdate(...args, { animationFrame: true }),\n strategy: 'fixed',\n middleware: [\n offset(({ rects }) => {\n return {\n mainAxis: 2,\n crossAxis: overlayMatchesTriggerWidth\n ? 0\n : (rects.floating.width - rects.reference.width) / 2,\n }\n }),\n flip(),\n size({\n apply({ availableHeight, elements }) {\n if (boundWidthRef.current) {\n boundWidthRef.current = false\n setWidth(\n overlayMatchesTriggerWidth\n ? elements.reference.getBoundingClientRect().width\n : extendedSelectMenuWidth\n )\n }\n setMaxHeight(availableHeight)\n },\n padding: 10,\n }),\n ],\n })\n\n const { value: zIndex } = useZIndexContext()\n\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions(\n [\n useClick(floating.context, {\n enabled: !disabled,\n keyboardHandlers: false,\n }),\n useDismiss(floating.context, {\n enabled: !disabled,\n }),\n useListNavigation(floating.context, {\n activeIndex: activeMenuIndex,\n disabledIndices: groupIndices,\n enabled: !disabled,\n listRef: navigationList,\n loop: true,\n onNavigate: (i) => setActiveMenuIndex(() => i),\n selectedIndex,\n virtual: true,\n }),\n useTokenNavigation(floating.context, {\n activeIndex: activeTokenIndex,\n enabled: !disabled && multiple && searchValue === '',\n onChange: setValue,\n onNavigate: (i) => setActiveTokenIndex(() => i),\n value,\n }),\n useKeyboardSelection(floating.context, {\n enabled: !disabled,\n onSelect: onKeyboardSelect,\n }),\n {\n reference: {\n $block: block,\n $disabled: disabled,\n $error: error,\n $hasClearIcon: !disabled && !loading,\n $loading: loading,\n $multiple: multiple,\n $open: open,\n $placeholder: !selectedLabel,\n 'aria-controls': search ? overlayId : listId,\n 'aria-expanded': open,\n 'aria-haspopup': search ? 'dialog' : 'listbox',\n ...(ariaLabel && { 'aria-label': ariaLabel }),\n onKeyDown() {\n setPointer(false)\n },\n role: 'combobox',\n search,\n tabIndex: disabled ? -1 : tabIndex,\n } as any, // TODO fix type\n floating: {\n role: search ? 'dialog' : 'none',\n id: overlayId,\n onKeyDown() {\n setPointer(false)\n },\n onPointerMove() {\n setPointer(true)\n },\n style: {\n position: floating.strategy,\n left: floating.x || 0,\n top: floating.y || 0,\n width,\n maxHeight,\n zIndex,\n },\n },\n },\n ]\n )\n\n function getLabelProps() {\n return {\n $hoverable: false,\n }\n }\n\n function getMultiInputProps(): React.AriaAttributes &\n React.InputHTMLAttributes<HTMLInputElement> & {\n ref: React.Ref<HTMLInputElement>\n } {\n return {\n ref: searchRef,\n placeholder: isEmpty() ? placeholder : '',\n disabled,\n 'aria-controls': listId,\n onKeyDown(e) {\n if (e.key === 'Tab') {\n if (open) {\n e.preventDefault()\n e.stopPropagation()\n floating.refs.floating.current?.focus()\n }\n }\n },\n onChange(e) {\n setSearchValue(e.currentTarget.value)\n setActiveTokenIndex(null)\n },\n style: {\n opacity: activeTokenIndex === null ? 1 : 0,\n },\n }\n }\n\n function getMultiValueProps(index: number) {\n return {\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n if (isMultiple(multiple, value)) {\n setValue(value.filter((_, i) => i !== index))\n }\n },\n }\n }\n\n function getSearchContainerProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setSearchHeight(el?.clientHeight ?? 0)\n },\n }\n }\n\n function getSearchProps() {\n return {\n 'aria-controls': listId,\n onChange(value: string) {\n setSearchValue(value)\n setActiveTokenIndex(null)\n },\n placeholder: i18n.t('core.select.search'),\n }\n }\n\n function getHeaderProps() {\n return {\n ref: (el: HTMLElement | null) => {},\n }\n }\n\n function getFooterProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setFooterHeight(el?.clientHeight ?? 0)\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key !== 'Escape') {\n e.stopPropagation()\n }\n },\n }\n }\n\n function getEmptyMessageProps() {\n return {\n emptyMessage,\n }\n }\n\n function getClearProps() {\n return {\n 'aria-hidden': true,\n 'aria-label': i18n.t('core.select.clear'),\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n setActiveTokenIndex(null)\n setValue(multiple ? [] : null)\n setOpen(true)\n },\n }\n }\n\n function getMenuProps() {\n return {\n scrollable: false,\n style: {\n height: listContainerHeight,\n },\n }\n }\n\n function getVirtuosoProps(): VirtuosoProps<{}, {}> {\n const atBottomStateChange = (atBottom: boolean) => {\n if (atBottom) {\n onScrollBottom()\n }\n }\n\n return {\n role: 'listbox',\n id: search ? overlayId : listId,\n data: draggable ? queriedDraggableOptions : options,\n components: {\n Item: components?.Item as any, // TODO fix type\n },\n initialTopMostItemIndex: selectedIndex >= 0 ? selectedIndex : 0,\n style: {\n flex: '1 1 auto',\n },\n tabIndex: -1,\n totalListHeightChanged: setListHeight,\n atBottomStateChange,\n }\n }\n\n const onDragEnd = React.useCallback((result: SuperSelectResult) => {\n if (!result.destination) {\n return\n }\n if (result.source.index === result.destination.index) {\n return\n }\n\n const startIndex = result.source.index\n const destinationIndex = result.destination.index\n\n setDraggableOptions((options) => {\n const { nextOptions, prevGroup, nextGroup } = reorder(\n options,\n startIndex,\n destinationIndex\n )\n\n const adjustedOptions =\n prevGroup !== nextGroup\n ? nextOptions.map((option, index) => {\n if (index === destinationIndex) {\n return setOptionGroup(option, nextGroup)\n }\n return option\n })\n : nextOptions\n\n if (typeof onManualSort === 'function') {\n setTimeout(() => {\n onManualSort(\n adjustedOptions.filter((option) => !getOptionIsOptgroup(option))\n )\n }, 0)\n }\n\n return adjustedOptions\n })\n }, [])\n\n // run effect when the `open` state changes\n //\n // if it was closed and is now open, reset the highlighted index to be\n // the first selectable option\n //\n // if it was open and is now closed, reset the search value and focused token index\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() =>\n selectedIndex >= 0 ? selectedIndex : getFirstSelectableOptionIndex()\n )\n } else {\n setSearchValue(() => '')\n setActiveTokenIndex(() => null)\n }\n }, [open])\n\n // run the effect when user enters a serach value\n //\n // if the select is currently open then reset highlighted item to be the first\n // selectable option\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() => getFirstSelectableOptionIndex())\n }\n }, [searchValue])\n\n // when we change the value then close the overlay, but only if we have\n // actually selected a value\n //\n // multiple mode forces the overlay to stay open\n React.useEffect(() => {\n if (!multiple && value !== null) {\n setOpen(() => false)\n }\n }, [value])\n\n // recreate the array to hold dom refs when our options change\n React.useEffect(() => {\n navigationList.current = [...Array(options.length).fill(null)]\n }, [options])\n\n // scroll virtuoso list activeMenuIndex into view when the index changes\n React.useLayoutEffect(() => {\n if (activeMenuIndex !== null) {\n if (!pointer) {\n virtuoso.current?.scrollIntoView({ index: activeMenuIndex })\n }\n }\n }, [activeMenuIndex, open])\n\n return {\n config: {\n block,\n disabled,\n draggable,\n emptyMessage,\n error,\n footer,\n header,\n placeholder,\n preset,\n presetProps,\n selectionStyle,\n tabIndex,\n loading,\n multiple,\n },\n components,\n state: {\n activeMenuIndex,\n activeTokenIndex,\n isEmpty,\n listContainerHeight,\n listId,\n maxHeight,\n onDragEnd,\n onSelect,\n open,\n options: draggable ? queriedDraggableOptions : options,\n overlayId,\n searchValue,\n selectedIndex,\n selectedLabel,\n selectedOption,\n setOpen,\n setPointer,\n setSearchValue: setSearchValue,\n sourceOptions,\n value,\n width,\n },\n props: {\n clear: getClearProps,\n emptyMessage: getEmptyMessageProps,\n footer: getFooterProps,\n header: getHeaderProps,\n item: getItemProps,\n label: getLabelProps,\n menu: getMenuProps,\n multiInput: getMultiInputProps,\n overlay: getFloatingProps,\n search: getSearchProps,\n searchContainer: getSearchContainerProps,\n tokenClear: getMultiValueProps,\n trigger: getReferenceProps,\n virtuoso: getVirtuosoProps,\n },\n option: {\n group: getOptionGroup,\n isBatch: getOptionIsBatch,\n isSelected: getOptionIsSelected,\n isDisabled: getOptionIsDisabled,\n isOptgroup: getOptionIsOptgroup,\n label: getOptionLabel,\n value: getOptionValue,\n },\n refs: {\n floating,\n navigationList,\n virtuoso,\n },\n }\n}\n\nexport const SuperSelectContext = React.createContext<SuperSelectApi | null>(\n null\n)\n\nexport function useSuperSelectContext(): SuperSelectApi {\n const ctx = React.useContext(SuperSelectContext)\n\n if (!ctx) {\n throw new Error('Invalid SuperSelectContext')\n }\n\n return ctx as SuperSelectApi\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSuperSelect.js","names":["autoUpdate","flip","offset","size","useClick","useDismiss","useFloating","useInteractions","useListNavigation","useId","debounce","uniq","React","ulid","useI18nContext","useZIndexContext","spacing","defaultComponents","draggableOptionIdSymbol","extendedSelectMenuWidth","collectGroupsInOrderOfOccurrence","createOptgroup","getBatchOptionFormatter","getIsAllOptionsUngrouped","getOptionIsOptgroup","getOptionsSortingAlgorithm","isMultiple","removeEmptyOptGroups","reorder","sortOptgroups","listContainerVerticalPadding","sm","noop","defaultGetOptionValue","option","value","defaultGetOptionIsBatch","Array","isArray","defaultGetOptionIsDisabled","_option$disabled","disabled","defaultGetOptionGroup","_option$group","group","defaultSetOptionGroup","_objectSpread","defaultGetOptionLabel","_option$label","label","stringContains","str1","str2","toLowerCase","includes","useTokenNavigation","context","_ref","arguments","length","undefined","_ref$enabled","enabled","_ref$value","_ref$activeIndex","activeIndex","_ref$onNavigate","onNavigate","_ref$onChange","onChange","reference","onKeyDown","e","key","Math","max","repeat","nextVal","filter","_","i","useKeyboardSelection","_ref2","_ref2$enabled","_ref2$onSelect","onSelect","floating","useSuperSelect","_ref3","_ref3$block","block","customComponents","components","defaultValue","_ref3$disabled","_ref3$draggable","draggable","_ref3$emptyMessage","emptyMessage","error","footer","_ref3$getOptionGroup","getOptionGroup","_ref3$getOptionIsBatc","getOptionIsBatch","_ref3$getOptionIsDisa","getOptionIsDisabled","_ref3$getOptionLabel","getOptionLabel","getOptionPartiallySelected","_ref3$getOptionValue","getOptionValue","_ref3$onScrollBottom","onScrollBottom","_ref3$onOpenChange","onOpenChange","header","_ref3$loading","loading","_ref3$multiple","multiple","onManualSort","_ref3$options","options","sourceOptions","placeholder","_ref3$preset","preset","presetProps","_ref3$search","search","_ref3$selectionStyle","selectionStyle","_ref3$setOptionGroup","setOptionGroup","_ref3$sort","sort","_ref3$tabIndex","tabIndex","value_","_ref3$overlayMatchesT","overlayMatchesTriggerWidth","ariaLabel","useEffect","isUsingDefaultGetter","isUsingDefaultSetter","console","warn","i18n","initialValue","_React$useState","useState","_React$useState2","_slicedToArray","val","setVal","setValue","v","navigationList","useRef","virtuoso","searchRef","overlayId","listId","_React$useState3","_React$useState4","open","setOpen","_React$useState5","_React$useState6","pointer","setPointer","_React$useState7","_React$useState8","width","setWidth","_React$useState9","_React$useState0","maxHeight","setMaxHeight","_React$useState1","_React$useState10","listHeight","setListHeight","_React$useState11","_React$useState12","searchHeight","setSearchHeight","_React$useState13","_React$useState14","footerHeight","setFooterHeight","listContainerHeight","min","_React$useState15","_React$useState16","searchValue","setSearchValue_","setSearchValue","_React$useState17","_React$useState18","activeMenuIndex","setActiveMenuIndex","_React$useState19","_React$useState20","activeTokenIndex","setActiveTokenIndex","sortOptions","useMemo","formatBatchOption","enforceOptionsSortingOrder","useCallback","groupAndSort","opts","_collectGroupsInOrder","groups","groupedOptions","Object","entries","_ref4","_ref5","_ref6","groupA","_ref7","groupB","flatMap","_ref8","_ref9","groupName","groupOptions","deriveOptionsSortingOrder","_collectGroupsInOrder2","groupAndSortAlgorithm","queried","opt","_toConsumableArray","map","_React$useState21","_React$useState22","draggableOptions","setDraggableOptions","_defineProperty","queriedDraggableOptions","groupIndices","reduce","acc","push","selectedIndex","findIndex","isSelectableOption","selectedOption","find","selectedLabel","o","getFirstSelectableOptionIndex","optionValue","concat","onKeyboardSelect","getOptionIsSelected","optionValues","every","defaultGetOptionIsPartiallySelected","some","isEmpty","boundWidthRef","current","whileElementsMounted","_len","args","_key","apply","animationFrame","strategy","middleware","_ref0","rects","mainAxis","crossAxis","_ref1","availableHeight","elements","getBoundingClientRect","padding","_useZIndexContext","zIndex","_useInteractions","keyboardHandlers","disabledIndices","listRef","loop","virtual","$block","$disabled","$error","$hasClearIcon","$loading","$multiple","$open","$placeholder","role","id","onPointerMove","style","position","left","x","top","y","getReferenceProps","getFloatingProps","getItemProps","getLabelProps","$hoverable","getMultiInputProps","ref","_floating$refs$floati","preventDefault","stopPropagation","refs","focus","currentTarget","opacity","getMultiValueProps","index","onClick","getSearchContainerProps","el","_el$clientHeight","clientHeight","getSearchProps","t","getHeaderProps","getFooterProps","_el$clientHeight2","getEmptyMessageProps","getClearProps","getMenuProps","scrollable","height","getVirtuosoProps","atBottomStateChange","atBottom","data","Item","initialTopMostItemIndex","flex","totalListHeightChanged","onDragEnd","result","destination","source","startIndex","destinationIndex","_reorder","nextOptions","prevGroup","nextGroup","adjustedOptions","setTimeout","fill","useLayoutEffect","_virtuoso$current","scrollIntoView","config","state","props","clear","item","menu","multiInput","overlay","searchContainer","tokenClear","trigger","isBatch","isPartiallySelected","isSelected","isDisabled","isOptgroup","SuperSelectContext","createContext","useSuperSelectContext","ctx","useContext","Error"],"sources":["../../src/SuperSelect/useSuperSelect.ts"],"sourcesContent":["import type { ElementProps, FloatingContext } from '@floating-ui/react'\nimport {\n autoUpdate,\n flip,\n offset,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useListNavigation,\n} from '@floating-ui/react'\nimport { useId } from '@react-aria/utils'\nimport debounce from 'lodash.debounce'\nimport uniq from 'lodash.uniq'\nimport React from 'react'\nimport type { VirtuosoHandle, VirtuosoProps } from 'react-virtuoso'\nimport { ulid } from 'ulid'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { spacing } from '../_styles/spacing'\nimport * as defaultComponents from './SuperSelect.components'\nimport { draggableOptionIdSymbol } from './SuperSelect.constants'\nimport { extendedSelectMenuWidth } from './SuperSelect.styles'\nimport type {\n KeyboardSelectionProps,\n SuperSelectApi,\n SuperSelectConfig,\n SuperSelectOption,\n SuperSelectResult,\n SuperSelectValue,\n SuperSelectValuePrimitive,\n TokenNavigationProps,\n} from './SuperSelect.types'\nimport {\n collectGroupsInOrderOfOccurrence,\n createOptgroup,\n getBatchOptionFormatter,\n getIsAllOptionsUngrouped,\n getOptionIsOptgroup,\n getOptionsSortingAlgorithm,\n isMultiple,\n removeEmptyOptGroups,\n reorder,\n sortOptgroups,\n} from './SuperSelect.utils'\n\nconst listContainerVerticalPadding = spacing.sm * 2\n\nfunction noop() {}\n\nfunction defaultGetOptionValue(option: SuperSelectOption) {\n return option?.value\n}\n\nfunction defaultGetOptionIsBatch(option: SuperSelectOption): boolean {\n return Array.isArray(option?.value)\n}\n\nfunction defaultGetOptionIsDisabled(option: SuperSelectOption): boolean {\n return option?.disabled ?? false\n}\n\nfunction defaultGetOptionGroup(option: SuperSelectOption): string {\n return option?.group ?? ''\n}\n\nfunction defaultSetOptionGroup(\n option: SuperSelectOption,\n group: string\n): SuperSelectOption {\n return {\n ...option,\n group,\n }\n}\n\nfunction defaultGetOptionLabel(option: SuperSelectOption): string {\n return option?.label ?? ''\n}\n\nfunction stringContains(str1: string, str2: string) {\n return str1.toLowerCase().includes(str2.toLowerCase())\n}\n\nfunction useTokenNavigation(\n context: FloatingContext<HTMLElement>,\n {\n enabled = true,\n value = [],\n activeIndex = null,\n onNavigate = noop,\n onChange = noop,\n }: TokenNavigationProps = {}\n): ElementProps {\n return {\n reference: {\n onKeyDown(e) {\n if (!enabled || !Array.isArray(value)) {\n return\n }\n\n if (e.key === 'ArrowLeft') {\n if (activeIndex !== null) {\n onNavigate(Math.max(0, activeIndex - 1))\n } else if (value.length > 0) {\n onNavigate(value.length - 1)\n }\n } else if (e.key === 'ArrowRight') {\n if (activeIndex !== null) {\n if (activeIndex === value.length - 1) {\n onNavigate(null)\n } else {\n onNavigate(activeIndex + 1)\n }\n }\n } else if (e.key === 'Backspace') {\n if (!e.repeat) {\n if (activeIndex !== null) {\n const nextVal = value.filter((_, i) => i !== activeIndex)\n\n onChange(nextVal)\n\n if (activeIndex >= nextVal.length) {\n onNavigate(null)\n }\n } else if (value.length > 0) {\n onChange(value.filter((_, i) => i !== value.length - 1))\n }\n }\n }\n },\n },\n }\n}\n\nfunction useKeyboardSelection(\n context: FloatingContext<HTMLElement>,\n { enabled = true, onSelect = () => {} }: KeyboardSelectionProps = {}\n): ElementProps {\n function onKeyDown(e: React.KeyboardEvent) {\n if (!enabled) {\n return\n }\n\n if (e.key === 'Enter') {\n onSelect()\n }\n }\n\n return {\n reference: {\n onKeyDown,\n },\n floating: {\n onKeyDown,\n },\n }\n}\n\nexport function useSuperSelect({\n block = false,\n components: customComponents,\n defaultValue,\n disabled = false,\n draggable = false,\n emptyMessage = 'No results',\n error,\n footer,\n getOptionGroup = defaultGetOptionGroup,\n getOptionIsBatch = defaultGetOptionIsBatch,\n getOptionIsDisabled = defaultGetOptionIsDisabled,\n getOptionLabel = defaultGetOptionLabel,\n getOptionPartiallySelected,\n getOptionValue = defaultGetOptionValue,\n onScrollBottom = noop,\n onOpenChange = noop,\n header,\n loading = false,\n multiple = false,\n onChange,\n onManualSort,\n options: sourceOptions = [],\n placeholder,\n preset = '',\n presetProps,\n search = true,\n selectionStyle = 'highlight',\n setOptionGroup = defaultSetOptionGroup,\n sort = true,\n tabIndex = 0,\n value: value_,\n overlayMatchesTriggerWidth = true,\n 'aria-label': ariaLabel,\n}: SuperSelectConfig): SuperSelectApi {\n React.useEffect(() => {\n if (!draggable) {\n return\n }\n\n const isUsingDefaultGetter = getOptionGroup === defaultGetOptionGroup\n const isUsingDefaultSetter = setOptionGroup === defaultSetOptionGroup\n\n if (\n (isUsingDefaultGetter && !isUsingDefaultSetter) ||\n (!isUsingDefaultGetter && isUsingDefaultSetter)\n ) {\n console.warn(\n `SuperSelect: Using potentially conflicting \"getOptionGroup\" and \"setOptionGroup\" implementations.\n Group reassignment after drag-and-drop operation might be broken.`\n )\n }\n }, [draggable, getOptionGroup, setOptionGroup])\n\n const i18n = useI18nContext()\n\n const initialValue = defaultValue ?? (multiple ? [] : null)\n const [val, setVal] = React.useState<SuperSelectValue>(initialValue)\n const value = value_ !== undefined ? value_ : val\n function setValue(v: SuperSelectValue) {\n if (!value_) {\n setVal(v)\n }\n\n if (onChange) {\n onChange(v)\n }\n }\n\n const navigationList = React.useRef<Array<HTMLElement | null>>([])\n const virtuoso = React.useRef<VirtuosoHandle>(null)\n const searchRef = React.useRef<HTMLInputElement>(null)\n\n const overlayId = useId() // TODO use React 18 useId\n const listId = useId() // TODO use React 18 useId\n\n const [open, setOpen] = React.useState(false)\n const [pointer, setPointer] = React.useState(false)\n const [width, setWidth] = React.useState(248)\n const [maxHeight, setMaxHeight] = React.useState(248)\n const [listHeight, setListHeight] = React.useState(0)\n const [searchHeight, setSearchHeight] = React.useState(0)\n const [footerHeight, setFooterHeight] = React.useState(0)\n const listContainerHeight = Math.min(\n maxHeight - searchHeight - footerHeight + listContainerVerticalPadding,\n listHeight + listContainerVerticalPadding\n )\n const [searchValue, setSearchValue_] = React.useState('')\n const setSearchValue = debounce(setSearchValue_, 250) // TODO use React 18 useDeferredValue\n\n const [activeMenuIndex, setActiveMenuIndex] = React.useState<number | null>(\n null\n )\n const [activeTokenIndex, setActiveTokenIndex] = React.useState<number | null>(\n null\n )\n\n const components = {\n ...defaultComponents,\n ...(customComponents || {}),\n }\n\n // TODO #memogetters: consider having getOption... getter functions memoized by consumers\n // Until then, exclude these callbacks from effect and memo dependencies\n const sortOptions = React.useMemo(\n () => getOptionsSortingAlgorithm({ getOptionIsBatch, getOptionLabel }),\n // skip `getOptionIsBatch` and `getOptionLabel`\n []\n )\n\n const formatBatchOption = React.useMemo(\n () =>\n getBatchOptionFormatter({\n value,\n multiple,\n getOptionIsBatch,\n getOptionValue,\n }),\n // skip `getOptionIsBatch` and `getOptionValue`, refer to TODO #memogetters\n [value, multiple]\n )\n\n // collect groups, sort them and populate them with options, and sort the options inside the groups\n const enforceOptionsSortingOrder = React.useCallback(\n function groupAndSort(opts: SuperSelectOption[]) {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts.sort(sortOptions)\n }\n\n return Object.entries(groupedOptions)\n .sort(([groupA], [groupB]) => sortOptgroups(groupA, groupB))\n .flatMap(([groupName, groupOptions]) =>\n createOptgroup(groupName, groupOptions.sort(sortOptions))\n )\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n [sortOptions]\n )\n\n // collect groups and populate them with options\n const deriveOptionsSortingOrder = React.useCallback(\n (opts: SuperSelectOption[]) => {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts\n }\n\n // display optgroups in the order of occurrence, as they are considered pre-sorted\n return groups.flatMap((group) => {\n const groupOptions = groupedOptions[group]\n\n return createOptgroup(group, groupOptions)\n })\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n []\n )\n\n const groupAndSortAlgorithm = React.useMemo(\n () => (sort ? enforceOptionsSortingOrder : deriveOptionsSortingOrder),\n [sort, enforceOptionsSortingOrder, deriveOptionsSortingOrder]\n )\n\n const options = React.useMemo(\n () => {\n const queried = searchValue\n ? sourceOptions.filter((opt) =>\n stringContains(getOptionLabel(opt), searchValue)\n )\n : [...sourceOptions] // make a copy of source options to prevent the mutation when sorting\n\n return groupAndSortAlgorithm(queried).map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [groupAndSortAlgorithm, formatBatchOption, searchValue, sourceOptions]\n )\n\n const [draggableOptions, setDraggableOptions] = React.useState<\n SuperSelectOption[]\n >([])\n\n React.useEffect(\n () => {\n if (!draggable) {\n return\n }\n // make a copy of source options to prevent the mutation when sorting\n const opts = groupAndSortAlgorithm(\n sourceOptions.map((opt) => ({\n ...opt,\n [draggableOptionIdSymbol]: ulid(),\n }))\n )\n setDraggableOptions(opts)\n },\n // in draggable mode, sourceOptions must be memoized, othewise reorder will not work\n [draggable, sourceOptions, groupAndSortAlgorithm]\n )\n\n const queriedDraggableOptions = React.useMemo(\n () => {\n if (!draggable) {\n return []\n }\n\n const queried = searchValue\n ? removeEmptyOptGroups(\n draggableOptions.filter((opt) => {\n if (!getOptionIsOptgroup(opt)) {\n return stringContains(getOptionLabel(opt), searchValue)\n }\n return true\n })\n )\n : draggableOptions\n\n return queried.map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [draggable, draggableOptions, searchValue, formatBatchOption]\n )\n\n const groupIndices = React.useMemo(() => {\n return options.reduce((acc, opt, i) => {\n if (getOptionIsOptgroup(opt)) {\n acc.push(i)\n }\n return acc\n }, [] as number[])\n }, [options])\n\n const selectedIndex = React.useMemo(() => {\n return options.findIndex(\n (option) => isSelectableOption(option) && getOptionValue(option) === value\n )\n }, [options, value])\n\n const selectedOption = React.useMemo(() => {\n const val = Array.isArray(value) ? value[0] : value\n return options.find((option) => getOptionValue(option) === val)\n }, [options, value])\n\n const selectedLabel = React.useMemo(() => {\n return selectedOption ? getOptionLabel(selectedOption) : ''\n }, [selectedOption])\n\n function isSelectableOption(o: SuperSelectOption) {\n return !getOptionIsOptgroup(o) && !getOptionIsDisabled(o)\n }\n\n function getFirstSelectableOptionIndex() {\n return options.findIndex(isSelectableOption)\n }\n\n function onSelect(option: SuperSelectOption) {\n if (getOptionIsDisabled(option)) {\n return\n }\n\n const optionValue = getOptionValue(option)\n\n if (isMultiple(multiple, value)) {\n if (Array.isArray(optionValue)) {\n setValue(uniq([...value, ...optionValue]))\n } else {\n setValue(\n value.includes(optionValue)\n ? value.filter(\n (val: SuperSelectValuePrimitive) => val !== optionValue\n )\n : [...value, optionValue]\n )\n }\n } else {\n setValue(optionValue)\n }\n }\n\n function onKeyboardSelect() {\n if (activeMenuIndex !== null) {\n const option = options[activeMenuIndex]\n\n if (option) {\n onSelect(option)\n }\n }\n }\n\n function getOptionIsSelected(option: SuperSelectOption) {\n if (Array.isArray(value)) {\n const optionValues = getOptionValue(option)\n\n if (Array.isArray(optionValues)) {\n return optionValues.every((v) => value.includes(v))\n }\n\n return value.includes(optionValues)\n }\n\n return value === getOptionValue(option)\n }\n\n function defaultGetOptionIsPartiallySelected(option: SuperSelectOption) {\n if (selectionStyle !== 'checkbox') {\n return false\n }\n\n if (Array.isArray(value)) {\n const optionValues = getOptionValue(option)\n\n if (Array.isArray(optionValues)) {\n return (\n optionValues.some((v) => value.includes(v)) &&\n !optionValues.every((v) => value.includes(v))\n )\n }\n }\n\n return false\n }\n\n function isEmpty() {\n return Array.isArray(value) ? value.length === 0 : value === null\n }\n\n const boundWidthRef = React.useRef(open)\n\n React.useEffect(() => {\n boundWidthRef.current = open\n }, [open])\n\n const floating = useFloating<HTMLElement>({\n open,\n onOpenChange: (open) => {\n setOpen(open)\n onOpenChange(open)\n },\n whileElementsMounted: (...args) =>\n /* { animationFrame: true } is used to fix ResizeObserver issue with @floating-ui/react */\n autoUpdate(...args, { animationFrame: true }),\n strategy: 'fixed',\n middleware: [\n offset(({ rects }) => {\n return {\n mainAxis: 2,\n crossAxis: overlayMatchesTriggerWidth\n ? 0\n : (rects.floating.width - rects.reference.width) / 2,\n }\n }),\n flip(),\n size({\n apply({ availableHeight, elements }) {\n if (boundWidthRef.current) {\n boundWidthRef.current = false\n setWidth(\n overlayMatchesTriggerWidth\n ? elements.reference.getBoundingClientRect().width\n : extendedSelectMenuWidth\n )\n }\n setMaxHeight(availableHeight)\n },\n padding: 10,\n }),\n ],\n })\n\n const { value: zIndex } = useZIndexContext()\n\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions(\n [\n useClick(floating.context, {\n enabled: !disabled,\n keyboardHandlers: false,\n }),\n useDismiss(floating.context, {\n enabled: !disabled,\n }),\n useListNavigation(floating.context, {\n activeIndex: activeMenuIndex,\n disabledIndices: groupIndices,\n enabled: !disabled,\n listRef: navigationList,\n loop: true,\n onNavigate: (i) => setActiveMenuIndex(() => i),\n selectedIndex,\n virtual: true,\n }),\n useTokenNavigation(floating.context, {\n activeIndex: activeTokenIndex,\n enabled: !disabled && multiple && searchValue === '',\n onChange: setValue,\n onNavigate: (i) => setActiveTokenIndex(() => i),\n value,\n }),\n useKeyboardSelection(floating.context, {\n enabled: !disabled,\n onSelect: onKeyboardSelect,\n }),\n {\n reference: {\n $block: block,\n $disabled: disabled,\n $error: error,\n $hasClearIcon: !disabled && !loading,\n $loading: loading,\n $multiple: multiple,\n $open: open,\n $placeholder: !selectedLabel,\n 'aria-controls': search ? overlayId : listId,\n 'aria-expanded': open,\n 'aria-haspopup': search ? 'dialog' : 'listbox',\n ...(ariaLabel && { 'aria-label': ariaLabel }),\n onKeyDown() {\n setPointer(false)\n },\n role: 'combobox',\n search,\n tabIndex: disabled ? -1 : tabIndex,\n } as any, // TODO fix type\n floating: {\n role: search ? 'dialog' : 'none',\n id: overlayId,\n onKeyDown() {\n setPointer(false)\n },\n onPointerMove() {\n setPointer(true)\n },\n style: {\n position: floating.strategy,\n left: floating.x || 0,\n top: floating.y || 0,\n width,\n maxHeight,\n zIndex,\n },\n },\n },\n ]\n )\n\n function getLabelProps() {\n return {\n $hoverable: false,\n }\n }\n\n function getMultiInputProps(): React.AriaAttributes &\n React.InputHTMLAttributes<HTMLInputElement> & {\n ref: React.Ref<HTMLInputElement>\n } {\n return {\n ref: searchRef,\n placeholder: isEmpty() ? placeholder : '',\n disabled,\n 'aria-controls': listId,\n onKeyDown(e) {\n if (e.key === 'Tab') {\n if (open) {\n e.preventDefault()\n e.stopPropagation()\n floating.refs.floating.current?.focus()\n }\n }\n },\n onChange(e) {\n setSearchValue(e.currentTarget.value)\n setActiveTokenIndex(null)\n },\n style: {\n opacity: activeTokenIndex === null ? 1 : 0,\n },\n }\n }\n\n function getMultiValueProps(index: number) {\n return {\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n if (isMultiple(multiple, value)) {\n setValue(value.filter((_, i) => i !== index))\n }\n },\n }\n }\n\n function getSearchContainerProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setSearchHeight(el?.clientHeight ?? 0)\n },\n }\n }\n\n function getSearchProps() {\n return {\n 'aria-controls': listId,\n onChange(value: string) {\n setSearchValue(value)\n setActiveTokenIndex(null)\n },\n placeholder: i18n.t('core.select.search'),\n }\n }\n\n function getHeaderProps() {\n return {\n ref: (el: HTMLElement | null) => {},\n }\n }\n\n function getFooterProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setFooterHeight(el?.clientHeight ?? 0)\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key !== 'Escape') {\n e.stopPropagation()\n }\n },\n }\n }\n\n function getEmptyMessageProps() {\n return {\n emptyMessage,\n }\n }\n\n function getClearProps() {\n return {\n 'aria-hidden': true,\n 'aria-label': i18n.t('core.select.clear'),\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n setActiveTokenIndex(null)\n setValue(multiple ? [] : null)\n setOpen(true)\n },\n }\n }\n\n function getMenuProps() {\n return {\n scrollable: false,\n style: {\n height: listContainerHeight,\n },\n }\n }\n\n function getVirtuosoProps(): VirtuosoProps<{}, {}> {\n const atBottomStateChange = (atBottom: boolean) => {\n if (atBottom) {\n onScrollBottom()\n }\n }\n\n return {\n role: 'listbox',\n id: search ? overlayId : listId,\n data: draggable ? queriedDraggableOptions : options,\n components: {\n Item: components?.Item as any, // TODO fix type\n },\n initialTopMostItemIndex: selectedIndex >= 0 ? selectedIndex : 0,\n style: {\n flex: '1 1 auto',\n },\n tabIndex: -1,\n totalListHeightChanged: setListHeight,\n atBottomStateChange,\n }\n }\n\n const onDragEnd = React.useCallback((result: SuperSelectResult) => {\n if (!result.destination) {\n return\n }\n if (result.source.index === result.destination.index) {\n return\n }\n\n const startIndex = result.source.index\n const destinationIndex = result.destination.index\n\n setDraggableOptions((options) => {\n const { nextOptions, prevGroup, nextGroup } = reorder(\n options,\n startIndex,\n destinationIndex\n )\n\n const adjustedOptions =\n prevGroup !== nextGroup\n ? nextOptions.map((option, index) => {\n if (index === destinationIndex) {\n return setOptionGroup(option, nextGroup)\n }\n return option\n })\n : nextOptions\n\n if (typeof onManualSort === 'function') {\n setTimeout(() => {\n onManualSort(\n adjustedOptions.filter((option) => !getOptionIsOptgroup(option))\n )\n }, 0)\n }\n\n return adjustedOptions\n })\n }, [])\n\n // run effect when the `open` state changes\n //\n // if it was closed and is now open, reset the highlighted index to be\n // the first selectable option\n //\n // if it was open and is now closed, reset the search value and focused token index\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() =>\n selectedIndex >= 0 ? selectedIndex : getFirstSelectableOptionIndex()\n )\n } else {\n setSearchValue(() => '')\n setActiveTokenIndex(() => null)\n }\n }, [open])\n\n // run the effect when user enters a serach value\n //\n // if the select is currently open then reset highlighted item to be the first\n // selectable option\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() => getFirstSelectableOptionIndex())\n }\n }, [searchValue])\n\n // when we change the value then close the overlay, but only if we have\n // actually selected a value\n //\n // multiple mode forces the overlay to stay open\n React.useEffect(() => {\n if (!multiple && value !== null) {\n setOpen(() => false)\n }\n }, [value])\n\n // recreate the array to hold dom refs when our options change\n React.useEffect(() => {\n navigationList.current = [...Array(options.length).fill(null)]\n }, [options])\n\n // scroll virtuoso list activeMenuIndex into view when the index changes\n React.useLayoutEffect(() => {\n if (activeMenuIndex !== null) {\n if (!pointer) {\n virtuoso.current?.scrollIntoView({ index: activeMenuIndex })\n }\n }\n }, [activeMenuIndex, open])\n\n return {\n config: {\n block,\n disabled,\n draggable,\n emptyMessage,\n error,\n footer,\n header,\n placeholder,\n preset,\n presetProps,\n selectionStyle,\n tabIndex,\n loading,\n multiple,\n },\n components,\n state: {\n activeMenuIndex,\n activeTokenIndex,\n isEmpty,\n listContainerHeight,\n listId,\n maxHeight,\n onDragEnd,\n onSelect,\n open,\n options: draggable ? queriedDraggableOptions : options,\n overlayId,\n searchValue,\n selectedIndex,\n selectedLabel,\n selectedOption,\n setOpen,\n setPointer,\n setSearchValue: setSearchValue,\n sourceOptions,\n value,\n width,\n },\n props: {\n clear: getClearProps,\n emptyMessage: getEmptyMessageProps,\n footer: getFooterProps,\n header: getHeaderProps,\n item: getItemProps,\n label: getLabelProps,\n menu: getMenuProps,\n multiInput: getMultiInputProps,\n overlay: getFloatingProps,\n search: getSearchProps,\n searchContainer: getSearchContainerProps,\n tokenClear: getMultiValueProps,\n trigger: getReferenceProps,\n virtuoso: getVirtuosoProps,\n },\n option: {\n group: getOptionGroup,\n isBatch: getOptionIsBatch,\n isPartiallySelected:\n getOptionPartiallySelected ?? defaultGetOptionIsPartiallySelected,\n isSelected: getOptionIsSelected,\n isDisabled: getOptionIsDisabled,\n isOptgroup: getOptionIsOptgroup,\n label: getOptionLabel,\n value: getOptionValue,\n },\n refs: {\n floating,\n navigationList,\n virtuoso,\n },\n }\n}\n\nexport const SuperSelectContext = React.createContext<SuperSelectApi | null>(\n null\n)\n\nexport function useSuperSelectContext(): SuperSelectApi {\n const ctx = React.useContext(SuperSelectContext)\n\n if (!ctx) {\n throw new Error('Invalid SuperSelectContext')\n }\n\n return ctx as SuperSelectApi\n}\n"],"mappings":"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"}