@procore/core-react 12.27.1 → 12.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/CHANGELOG.md +6 -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/Box/Box.styles.js +1 -1
  9. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  10. package/dist/Button/Button.styles.js +5 -5
  11. package/dist/Calendar/Calendar.styles.js +8 -8
  12. package/dist/Card/Card.styles.js +1 -1
  13. package/dist/Checkbox/Checkbox.styles.js +6 -6
  14. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  15. package/dist/ContactItem/ContactItem.styles.js +5 -5
  16. package/dist/Content/Content.styles.js +2 -2
  17. package/dist/DateInput/DateInput.styles.js +6 -6
  18. package/dist/DetailPage/DetailPage.styles.js +7 -7
  19. package/dist/Dropdown/Dropdown.styles.js +3 -3
  20. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  21. package/dist/Dropzone/Dropzone.js +1 -1
  22. package/dist/Dropzone/Dropzone.styles.js +9 -9
  23. package/dist/EmptyState/EmptyState.styles.js +6 -6
  24. package/dist/Field/Field.styles.js +3 -3
  25. package/dist/FileList/FileList.styles.js +4 -4
  26. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  27. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  28. package/dist/FileSelect/FileSelect.styles.js +2 -2
  29. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  30. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  31. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  32. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  33. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  34. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  35. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  36. package/dist/FileToken/FileToken.styles.js +4 -4
  37. package/dist/FilterToken/FilterToken.styles.js +5 -5
  38. package/dist/FlexList/FlexList.styles.js +1 -1
  39. package/dist/Form/Form.styles.js +14 -14
  40. package/dist/Form/StyledFormikForm.styles.js +2 -2
  41. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  42. package/dist/Grid/Grid.styles.js +2 -2
  43. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  44. package/dist/Input/Input.styles.js +1 -1
  45. package/dist/Link/Link.styles.js +1 -1
  46. package/dist/ListPage/ListPage.styles.js +8 -8
  47. package/dist/Loader/Loader.styles.js +2 -2
  48. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  49. package/dist/Modal/Modal.styles.js +13 -13
  50. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  51. package/dist/NextMenu/NextMenu.styles.js +3 -3
  52. package/dist/Notation/Notation.js +1 -1
  53. package/dist/NumberInput/NumberInput.styles.js +7 -7
  54. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  55. package/dist/PageLayout/PageLayout.styles.js +16 -16
  56. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  57. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  58. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  59. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  60. package/dist/Pagination/Pagination.styles.js +5 -5
  61. package/dist/Panel/Panel.styles.js +11 -11
  62. package/dist/Pill/Pill.styles.js +3 -3
  63. package/dist/PillSelect/PillSelect.styles.js +4 -4
  64. package/dist/Popover/Popover.styles.js +2 -2
  65. package/dist/Portal/Portal.styles.js +1 -1
  66. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  67. package/dist/RadioButton/RadioButton.styles.js +3 -3
  68. package/dist/Required/Required.styles.js +3 -3
  69. package/dist/Search/Search.styles.js +5 -5
  70. package/dist/Section/Section.styles.js +7 -7
  71. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  72. package/dist/Select/Select.styles.js +7 -7
  73. package/dist/Semantic/Semantic.styles.js +9 -9
  74. package/dist/Slider/Slider.styles.js +5 -5
  75. package/dist/Spinner/Spinner.styles.js +7 -7
  76. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  77. package/dist/SuperSelect/SuperSelect.components.d.ts +1 -0
  78. package/dist/SuperSelect/SuperSelect.components.js +106 -15
  79. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  80. package/dist/SuperSelect/SuperSelect.constants.d.ts +1 -0
  81. package/dist/SuperSelect/SuperSelect.constants.js +1 -0
  82. package/dist/SuperSelect/SuperSelect.constants.js.map +1 -1
  83. package/dist/SuperSelect/SuperSelect.js +5 -1
  84. package/dist/SuperSelect/SuperSelect.js.map +1 -1
  85. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  86. package/dist/SuperSelect/SuperSelect.styles.d.ts +3 -0
  87. package/dist/SuperSelect/SuperSelect.styles.js +41 -37
  88. package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
  89. package/dist/SuperSelect/SuperSelect.types.d.ts +35 -1
  90. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  91. package/dist/SuperSelect/SuperSelect.utils.d.ts +1 -0
  92. package/dist/SuperSelect/SuperSelect.utils.js +4 -1
  93. package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
  94. package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
  95. package/dist/SuperSelect/useSuperSelect.js +111 -24
  96. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  97. package/dist/Switch/Switch.styles.js +4 -4
  98. package/dist/Table/Table.styles.js +28 -28
  99. package/dist/TableShelf/TableShelf.styles.js +5 -5
  100. package/dist/Tabs/Tabs.styles.js +15 -15
  101. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  102. package/dist/TextArea/TextArea.styles.js +1 -1
  103. package/dist/TextEditor/TextEditor.styles.js +1 -1
  104. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  105. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  106. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  107. package/dist/TieredSelect/TieredSelect.js +1 -1
  108. package/dist/TieredSelect/TieredSelect.js.map +1 -1
  109. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  110. package/dist/Tile/Tile.styles.js +8 -8
  111. package/dist/Title/Title.styles.js +7 -7
  112. package/dist/Toast/Toast.styles.js +3 -3
  113. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  114. package/dist/Token/Token.styles.js +3 -3
  115. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  116. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  117. package/dist/Tooltip/Tooltip.styles.js +2 -2
  118. package/dist/Tree/Tree.styles.js +9 -9
  119. package/dist/Typeahead/Typeahead.styles.js +3 -3
  120. package/dist/Typography/Typography.styles.js +1 -1
  121. package/dist/Typography/Typography.table.story.js +2 -2
  122. package/dist/_hooks/I18n.d.ts +2 -0
  123. package/dist/_locales/en.json +2 -1
  124. package/dist/_locales/pseudo.json +2 -1
  125. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  126. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  127. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  128. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  129. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  130. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  131. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  132. package/dist/_typedoc/Box/Box.types.json +68 -68
  133. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  134. package/dist/_typedoc/Button/Button.types.json +13 -13
  135. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  136. package/dist/_typedoc/Card/Card.types.json +6 -6
  137. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  138. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  139. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  140. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  141. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  142. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  143. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
  144. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  145. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  146. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  147. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  148. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  149. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  150. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  151. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  152. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  153. package/dist/_typedoc/Form/Form.types.json +771 -771
  154. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  155. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  156. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  157. package/dist/_typedoc/Input/Input.types.json +2 -2
  158. package/dist/_typedoc/Link/Link.types.json +1 -1
  159. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  160. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  161. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  162. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  163. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  164. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  165. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  166. package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
  167. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +32 -32
  168. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -26
  169. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  170. package/dist/_typedoc/Panel/Panel.types.json +30 -30
  171. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  172. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  173. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  174. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  175. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  176. package/dist/_typedoc/Required/Required.types.json +5 -5
  177. package/dist/_typedoc/Search/Search.types.json +18 -18
  178. package/dist/_typedoc/Section/Section.types.json +15 -15
  179. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  180. package/dist/_typedoc/Select/Select.types.json +60 -60
  181. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  182. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  183. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  184. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  185. package/dist/_typedoc/Table/Table.types.json +101 -101
  186. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  187. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  188. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  189. package/dist/_typedoc/TextEditor/TextEditor.types.json +21 -21
  190. package/dist/_typedoc/TextEditor/TextEditorProvider.types.json +2 -2
  191. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +3 -3
  192. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  193. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  194. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  195. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  196. package/dist/_typedoc/Title/Title.types.json +1 -1
  197. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  198. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  199. package/dist/_typedoc/Token/Token.types.json +7 -7
  200. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  201. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  202. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  203. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  204. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  205. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  206. package/dist/_typedoc/_utils/types.json +3 -3
  207. package/package.json +1 -1
@@ -24,9 +24,9 @@ import { useI18nContext } from '../_hooks/I18n';
24
24
  import { useZIndexContext } from '../_hooks/ZIndex';
25
25
  import { spacing } from '../_styles/spacing';
26
26
  import * as defaultComponents from './SuperSelect.components';
27
- import { draggableOptionIdSymbol } from './SuperSelect.constants';
27
+ import { draggableOptionIdSymbol, isOptSelectAllSymbol } from './SuperSelect.constants';
28
28
  import { extendedSelectMenuWidth } from './SuperSelect.styles';
29
- import { collectGroupsInOrderOfOccurrence, createOptgroup, getBatchOptionFormatter, getIsAllOptionsUngrouped, getOptionIsOptgroup, getOptionsSortingAlgorithm, isMultiple, removeEmptyOptGroups, reorder, sortOptgroups } from './SuperSelect.utils';
29
+ import { collectGroupsInOrderOfOccurrence, createOptgroup, getBatchOptionFormatter, getIsAllOptionsUngrouped, getOptionIsOptgroup, getOptionIsOptSelectAll, getOptionsSortingAlgorithm, isMultiple, removeEmptyOptGroups, reorder, sortOptgroups } from './SuperSelect.utils';
30
30
  var listContainerVerticalPadding = spacing.sm * 2;
31
31
  function noop() {}
32
32
  function defaultGetOptionValue(option) {
@@ -142,6 +142,8 @@ export function useSuperSelect(_ref3) {
142
142
  draggable = _ref3$draggable === void 0 ? false : _ref3$draggable,
143
143
  _ref3$emptyMessage = _ref3.emptyMessage,
144
144
  emptyMessage = _ref3$emptyMessage === void 0 ? 'No results' : _ref3$emptyMessage,
145
+ _ref3$selectAllEnable = _ref3.selectAllEnabled,
146
+ selectAllEnabled = _ref3$selectAllEnable === void 0 ? false : _ref3$selectAllEnable,
145
147
  error = _ref3.error,
146
148
  footer = _ref3.footer,
147
149
  _ref3$getOptionGroup = _ref3.getOptionGroup,
@@ -152,7 +154,8 @@ export function useSuperSelect(_ref3) {
152
154
  getOptionIsDisabled = _ref3$getOptionIsDisa === void 0 ? defaultGetOptionIsDisabled : _ref3$getOptionIsDisa,
153
155
  _ref3$getOptionLabel = _ref3.getOptionLabel,
154
156
  getOptionLabel = _ref3$getOptionLabel === void 0 ? defaultGetOptionLabel : _ref3$getOptionLabel,
155
- getOptionPartiallySelected = _ref3.getOptionPartiallySelected,
157
+ getOptionIsPartiallySelected = _ref3.getOptionIsPartiallySelected,
158
+ getOptionIsSelected = _ref3.getOptionIsSelected,
156
159
  _ref3$getOptionValue = _ref3.getOptionValue,
157
160
  getOptionValue = _ref3$getOptionValue === void 0 ? defaultGetOptionValue : _ref3$getOptionValue,
158
161
  _ref3$onScrollBottom = _ref3.onScrollBottom,
@@ -166,6 +169,7 @@ export function useSuperSelect(_ref3) {
166
169
  multiple = _ref3$multiple === void 0 ? false : _ref3$multiple,
167
170
  onChange = _ref3.onChange,
168
171
  onManualSort = _ref3.onManualSort,
172
+ onSelectAll = _ref3.onSelectAll,
169
173
  _ref3$options = _ref3.options,
170
174
  sourceOptions = _ref3$options === void 0 ? [] : _ref3$options,
171
175
  placeholder = _ref3.placeholder,
@@ -336,6 +340,16 @@ export function useSuperSelect(_ref3) {
336
340
  },
337
341
  // skip `getOptionLabel`, refer to TODO #memogetters
338
342
  [groupAndSortAlgorithm, formatBatchOption, searchValue, sourceOptions]);
343
+ var selectAllOption = _defineProperty({
344
+ label: i18n.t('core.select.selectAll'),
345
+ id: 'selectAll'
346
+ }, isOptSelectAllSymbol, true);
347
+ var allOptionsWithSelectAll = React.useMemo(function () {
348
+ if (!selectAllEnabled || !multiple) {
349
+ return options;
350
+ }
351
+ return [selectAllOption].concat(_toConsumableArray(options));
352
+ }, [selectAllEnabled, multiple, selectAllOption, options]);
339
353
  var _React$useState21 = React.useState([]),
340
354
  _React$useState22 = _slicedToArray(_React$useState21, 2),
341
355
  draggableOptions = _React$useState22[0],
@@ -366,25 +380,40 @@ export function useSuperSelect(_ref3) {
366
380
  },
367
381
  // skip `getOptionLabel`, refer to TODO #memogetters
368
382
  [draggable, draggableOptions, searchValue, formatBatchOption]);
383
+
384
+ // Group indices calculation - needs allOptionsWithSelectAll because:
385
+ // When SelectAll is enabled, it becomes the first item (index 0) and shifts all other indices by 1.
386
+ // Group headers need their correct absolute positions in the combined list for navigation to work.
369
387
  var groupIndices = React.useMemo(function () {
370
- return options.reduce(function (acc, opt, i) {
388
+ var baseOptions = selectAllEnabled && multiple ? allOptionsWithSelectAll : options;
389
+ return baseOptions.reduce(function (acc, opt, i) {
371
390
  if (getOptionIsOptgroup(opt)) {
372
391
  acc.push(i);
373
392
  }
374
393
  return acc;
375
394
  }, []);
376
- }, [options]);
395
+ }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options]);
396
+
397
+ // Selected index calculation - needs allOptionsWithSelectAll because:
398
+ // The selectedIndex must reference the absolute position in the combined list for keyboard navigation.
399
+ // When SelectAll is at index 0, the first regular option becomes index 1, affecting selection highlighting.
377
400
  var selectedIndex = React.useMemo(function () {
378
- return options.findIndex(function (option) {
401
+ var baseOptions = selectAllEnabled && multiple ? allOptionsWithSelectAll : options;
402
+ return baseOptions.findIndex(function (option) {
379
403
  return isSelectableOption(option) && getOptionValue(option) === value;
380
404
  });
381
- }, [options, value]);
405
+ }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options, value]);
406
+
407
+ // Selected option lookup - needs allOptionsWithSelectAll because:
408
+ // The selectedOption lookup must search the complete list including SelectAll to find matches.
409
+ // This ensures proper option detection regardless of whether SelectAll or regular options are selected.
382
410
  var selectedOption = React.useMemo(function () {
383
411
  var val = Array.isArray(value) ? value[0] : value;
384
- return options.find(function (option) {
412
+ var baseOptions = selectAllEnabled && multiple ? allOptionsWithSelectAll : options;
413
+ return baseOptions.find(function (option) {
385
414
  return getOptionValue(option) === val;
386
415
  });
387
- }, [options, value]);
416
+ }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options, value]);
388
417
  var selectedLabel = React.useMemo(function () {
389
418
  return selectedOption ? getOptionLabel(selectedOption) : '';
390
419
  }, [selectedOption]);
@@ -392,15 +421,30 @@ export function useSuperSelect(_ref3) {
392
421
  return !getOptionIsOptgroup(o) && !getOptionIsDisabled(o);
393
422
  }
394
423
  function getFirstSelectableOptionIndex() {
395
- return options.findIndex(isSelectableOption);
424
+ // When Select All is enabled in multiple mode, it's always at index 0 and is selectable
425
+ if (selectAllEnabled && multiple) {
426
+ return 0;
427
+ }
428
+ var baseOptions = options;
429
+ return baseOptions.findIndex(isSelectableOption) + (selectAllEnabled && multiple ? 1 : 0);
396
430
  }
397
431
  function onSelect(option) {
398
432
  if (getOptionIsDisabled(option)) {
399
433
  return;
400
434
  }
401
435
  var optionValue = getOptionValue(option);
436
+ var isSelectAll = getOptionIsOptSelectAll(option);
402
437
  if (isMultiple(multiple, value)) {
403
- if (Array.isArray(optionValue)) {
438
+ if (isSelectAll) {
439
+ var selectableOptions = options.filter(function (opt) {
440
+ return isSelectableOption(opt);
441
+ });
442
+ if (onSelectAll) {
443
+ onSelectAll(selectableOptions);
444
+ }
445
+ var optionValues = selectableOptions.flatMap(getOptionValue);
446
+ setValue(uniq([].concat(_toConsumableArray(value), _toConsumableArray(optionValues))));
447
+ } else if (Array.isArray(optionValue)) {
404
448
  setValue(uniq([].concat(_toConsumableArray(value), _toConsumableArray(optionValue))));
405
449
  } else {
406
450
  setValue(value.includes(optionValue) ? value.filter(function (val) {
@@ -413,13 +457,16 @@ export function useSuperSelect(_ref3) {
413
457
  }
414
458
  function onKeyboardSelect() {
415
459
  if (activeMenuIndex !== null) {
416
- var option = options[activeMenuIndex];
460
+ // Select All must be included in the list for keyboard navigation to work properly.
461
+ // The activeMenuIndex corresponds to positions in the complete navigation list including SelectAll.
462
+ var baseOptions = selectAllEnabled && multiple ? allOptionsWithSelectAll : options;
463
+ var option = baseOptions[activeMenuIndex];
417
464
  if (option) {
418
465
  onSelect(option);
419
466
  }
420
467
  }
421
468
  }
422
- function getOptionIsSelected(option) {
469
+ function defaultGetOptionIsSelected(option) {
423
470
  if (Array.isArray(value)) {
424
471
  var optionValues = getOptionValue(option);
425
472
  if (Array.isArray(optionValues)) {
@@ -447,6 +494,24 @@ export function useSuperSelect(_ref3) {
447
494
  }
448
495
  return false;
449
496
  }
497
+ function defaultGetOptionIsSelectAllPartiallySelected(options, isSelected, isPartiallySelected) {
498
+ if (selectionStyle !== 'checkbox' && !Array.isArray(value)) {
499
+ return false;
500
+ }
501
+ return options.some(function (option) {
502
+ return isSelected(option) || isPartiallySelected(option);
503
+ }) && !options.every(function (option) {
504
+ return isSelected(option);
505
+ });
506
+ }
507
+ function defaultGetOptionIsSelectAllSelected(options, isSelected) {
508
+ if (!multiple) {
509
+ return false;
510
+ }
511
+ return options.every(function (option) {
512
+ return isSelected(option);
513
+ });
514
+ }
450
515
  function isEmpty() {
451
516
  return Array.isArray(value) ? value.length === 0 : value === null;
452
517
  }
@@ -775,20 +840,28 @@ export function useSuperSelect(_ref3) {
775
840
 
776
841
  // recreate the array to hold dom refs when our options change
777
842
  React.useEffect(function () {
778
- navigationList.current = _toConsumableArray(Array(options.length).fill(null));
779
- }, [options]);
843
+ // Adjust length to include Select All option if enabled, without this the navigation
844
+ // would not work correctly when Select All is enabled
845
+ var totalLength = selectAllEnabled && multiple ? allOptionsWithSelectAll.length : options.length;
846
+ navigationList.current = _toConsumableArray(Array(totalLength).fill(null));
847
+ }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options]);
780
848
 
781
849
  // scroll virtuoso list activeMenuIndex into view when the index changes
782
850
  React.useLayoutEffect(function () {
783
851
  if (activeMenuIndex !== null) {
784
852
  if (!pointer) {
785
- var _virtuoso$current;
786
- (_virtuoso$current = virtuoso.current) === null || _virtuoso$current === void 0 ? void 0 : _virtuoso$current.scrollIntoView({
787
- index: activeMenuIndex
788
- });
853
+ // Adjust index for virtuoso if Select All is enabled (since Select All is rendered separately)
854
+ // Without this the navigation would not work correctly when Select All is enabled
855
+ var virtuosoIndex = selectAllEnabled && multiple && activeMenuIndex > 0 ? activeMenuIndex + 1 : activeMenuIndex;
856
+ if (virtuosoIndex >= 0) {
857
+ var _virtuoso$current;
858
+ (_virtuoso$current = virtuoso.current) === null || _virtuoso$current === void 0 ? void 0 : _virtuoso$current.scrollIntoView({
859
+ index: virtuosoIndex
860
+ });
861
+ }
789
862
  }
790
863
  }
791
- }, [activeMenuIndex, open]);
864
+ }, [activeMenuIndex, open, selectAllEnabled, multiple]);
792
865
  return {
793
866
  config: {
794
867
  block: block,
@@ -804,7 +877,8 @@ export function useSuperSelect(_ref3) {
804
877
  selectionStyle: selectionStyle,
805
878
  tabIndex: tabIndex,
806
879
  loading: loading,
807
- multiple: multiple
880
+ multiple: multiple,
881
+ selectAllEnabled: selectAllEnabled
808
882
  },
809
883
  components: components,
810
884
  state: {
@@ -816,16 +890,20 @@ export function useSuperSelect(_ref3) {
816
890
  maxHeight: maxHeight,
817
891
  onDragEnd: onDragEnd,
818
892
  onSelect: onSelect,
893
+ onSelectAll: onSelectAll,
819
894
  open: open,
820
895
  options: draggable ? queriedDraggableOptions : options,
821
896
  overlayId: overlayId,
822
897
  searchValue: searchValue,
898
+ selectAllOption: selectAllOption,
823
899
  selectedIndex: selectedIndex,
824
900
  selectedLabel: selectedLabel,
825
901
  selectedOption: selectedOption,
826
902
  setOpen: setOpen,
827
903
  setPointer: setPointer,
904
+ setValue: setValue,
828
905
  setSearchValue: setSearchValue,
906
+ setActiveMenuIndex: setActiveMenuIndex,
829
907
  sourceOptions: sourceOptions,
830
908
  value: value,
831
909
  width: width
@@ -849,12 +927,21 @@ export function useSuperSelect(_ref3) {
849
927
  option: {
850
928
  group: getOptionGroup,
851
929
  isBatch: getOptionIsBatch,
852
- isPartiallySelected: getOptionPartiallySelected !== null && getOptionPartiallySelected !== void 0 ? getOptionPartiallySelected : defaultGetOptionIsPartiallySelected,
853
- isSelected: getOptionIsSelected,
930
+ isPartiallySelected: getOptionIsPartiallySelected !== null && getOptionIsPartiallySelected !== void 0 ? getOptionIsPartiallySelected : defaultGetOptionIsPartiallySelected,
931
+ isSelected: getOptionIsSelected !== null && getOptionIsSelected !== void 0 ? getOptionIsSelected : defaultGetOptionIsSelected,
854
932
  isDisabled: getOptionIsDisabled,
855
933
  isOptgroup: getOptionIsOptgroup,
934
+ isOptSelectAll: getOptionIsOptSelectAll,
856
935
  label: getOptionLabel,
857
- value: getOptionValue
936
+ value: getOptionValue,
937
+ selectAll: {
938
+ isSelectAllPartiallySelected: function isSelectAllPartiallySelected(options) {
939
+ return defaultGetOptionIsSelectAllPartiallySelected(options.filter(isSelectableOption), getOptionIsSelected !== null && getOptionIsSelected !== void 0 ? getOptionIsSelected : defaultGetOptionIsSelected, getOptionIsPartiallySelected !== null && getOptionIsPartiallySelected !== void 0 ? getOptionIsPartiallySelected : defaultGetOptionIsPartiallySelected);
940
+ },
941
+ isSelectAllSelected: function isSelectAllSelected(options) {
942
+ return defaultGetOptionIsSelectAllSelected(options.filter(isSelectableOption), getOptionIsSelected !== null && getOptionIsSelected !== void 0 ? getOptionIsSelected : defaultGetOptionIsSelected);
943
+ }
944
+ }
858
945
  },
859
946
  refs: {
860
947
  floating: floating,
@@ -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","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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"}
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","isOptSelectAllSymbol","extendedSelectMenuWidth","collectGroupsInOrderOfOccurrence","createOptgroup","getBatchOptionFormatter","getIsAllOptionsUngrouped","getOptionIsOptgroup","getOptionIsOptSelectAll","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","_ref3$selectAllEnable","selectAllEnabled","error","footer","_ref3$getOptionGroup","getOptionGroup","_ref3$getOptionIsBatc","getOptionIsBatch","_ref3$getOptionIsDisa","getOptionIsDisabled","_ref3$getOptionLabel","getOptionLabel","getOptionIsPartiallySelected","getOptionIsSelected","_ref3$getOptionValue","getOptionValue","_ref3$onScrollBottom","onScrollBottom","_ref3$onOpenChange","onOpenChange","header","_ref3$loading","loading","_ref3$multiple","multiple","onManualSort","onSelectAll","_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","selectAllOption","_defineProperty","t","id","allOptionsWithSelectAll","concat","_React$useState21","_React$useState22","draggableOptions","setDraggableOptions","queriedDraggableOptions","groupIndices","baseOptions","reduce","acc","push","selectedIndex","findIndex","isSelectableOption","selectedOption","find","selectedLabel","o","getFirstSelectableOptionIndex","optionValue","isSelectAll","selectableOptions","optionValues","onKeyboardSelect","defaultGetOptionIsSelected","every","defaultGetOptionIsPartiallySelected","some","defaultGetOptionIsSelectAllPartiallySelected","isSelected","isPartiallySelected","defaultGetOptionIsSelectAllSelected","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","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","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","totalLength","fill","useLayoutEffect","virtuosoIndex","_virtuoso$current","scrollIntoView","config","state","props","clear","item","menu","multiInput","overlay","searchContainer","tokenClear","trigger","isBatch","isDisabled","isOptgroup","isOptSelectAll","selectAll","isSelectAllPartiallySelected","isSelectAllSelected","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 {\n draggableOptionIdSymbol,\n isOptSelectAllSymbol,\n} 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 getOptionIsOptSelectAll,\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 selectAllEnabled = false,\n error,\n footer,\n getOptionGroup = defaultGetOptionGroup,\n getOptionIsBatch = defaultGetOptionIsBatch,\n getOptionIsDisabled = defaultGetOptionIsDisabled,\n getOptionLabel = defaultGetOptionLabel,\n getOptionIsPartiallySelected,\n getOptionIsSelected,\n getOptionValue = defaultGetOptionValue,\n onScrollBottom = noop,\n onOpenChange = noop,\n header,\n loading = false,\n multiple = false,\n onChange,\n onManualSort,\n onSelectAll,\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 selectAllOption = {\n label: i18n.t('core.select.selectAll'),\n id: 'selectAll',\n [isOptSelectAllSymbol]: true,\n }\n\n const allOptionsWithSelectAll = React.useMemo(() => {\n if (!selectAllEnabled || !multiple) {\n return options\n }\n return [selectAllOption, ...options]\n }, [selectAllEnabled, multiple, selectAllOption, options])\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 // Group indices calculation - needs allOptionsWithSelectAll because:\n // When SelectAll is enabled, it becomes the first item (index 0) and shifts all other indices by 1.\n // Group headers need their correct absolute positions in the combined list for navigation to work.\n const groupIndices = React.useMemo(() => {\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n return baseOptions.reduce((acc, opt, i) => {\n if (getOptionIsOptgroup(opt)) {\n acc.push(i)\n }\n return acc\n }, [] as number[])\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options])\n\n // Selected index calculation - needs allOptionsWithSelectAll because:\n // The selectedIndex must reference the absolute position in the combined list for keyboard navigation.\n // When SelectAll is at index 0, the first regular option becomes index 1, affecting selection highlighting.\n const selectedIndex = React.useMemo(() => {\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n return baseOptions.findIndex(\n (option) => isSelectableOption(option) && getOptionValue(option) === value\n )\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options, value])\n\n // Selected option lookup - needs allOptionsWithSelectAll because:\n // The selectedOption lookup must search the complete list including SelectAll to find matches.\n // This ensures proper option detection regardless of whether SelectAll or regular options are selected.\n const selectedOption = React.useMemo(() => {\n const val = Array.isArray(value) ? value[0] : value\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n return baseOptions.find((option) => getOptionValue(option) === val)\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, 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 // When Select All is enabled in multiple mode, it's always at index 0 and is selectable\n if (selectAllEnabled && multiple) {\n return 0\n }\n\n const baseOptions = options\n return (\n baseOptions.findIndex(isSelectableOption) +\n (selectAllEnabled && multiple ? 1 : 0)\n )\n }\n\n function onSelect(option: SuperSelectOption) {\n if (getOptionIsDisabled(option)) {\n return\n }\n\n const optionValue = getOptionValue(option)\n const isSelectAll = getOptionIsOptSelectAll(option)\n\n if (isMultiple(multiple, value)) {\n if (isSelectAll) {\n const selectableOptions = options.filter((opt) =>\n isSelectableOption(opt)\n )\n\n if (onSelectAll) {\n onSelectAll(selectableOptions)\n }\n\n const optionValues = selectableOptions.flatMap(getOptionValue)\n setValue(uniq([...value, ...optionValues]))\n } else 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 // Select All must be included in the list for keyboard navigation to work properly.\n // The activeMenuIndex corresponds to positions in the complete navigation list including SelectAll.\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n const option = baseOptions[activeMenuIndex]\n\n if (option) {\n onSelect(option)\n }\n }\n }\n\n function defaultGetOptionIsSelected(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 defaultGetOptionIsSelectAllPartiallySelected(\n options: SuperSelectOption[],\n isSelected: (option: SuperSelectOption) => boolean,\n isPartiallySelected: (option: SuperSelectOption) => boolean\n ) {\n if (selectionStyle !== 'checkbox' && !Array.isArray(value)) {\n return false\n }\n\n return (\n options.some(\n (option) => isSelected(option) || isPartiallySelected(option)\n ) && !options.every((option) => isSelected(option))\n )\n }\n\n function defaultGetOptionIsSelectAllSelected(\n options: SuperSelectOption[],\n isSelected: (option: SuperSelectOption) => boolean\n ) {\n if (!multiple) {\n return false\n }\n\n return options.every((option) => isSelected(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 // Adjust length to include Select All option if enabled, without this the navigation\n // would not work correctly when Select All is enabled\n const totalLength =\n selectAllEnabled && multiple\n ? allOptionsWithSelectAll.length\n : options.length\n navigationList.current = [...Array(totalLength).fill(null)]\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options])\n\n // scroll virtuoso list activeMenuIndex into view when the index changes\n React.useLayoutEffect(() => {\n if (activeMenuIndex !== null) {\n if (!pointer) {\n // Adjust index for virtuoso if Select All is enabled (since Select All is rendered separately)\n // Without this the navigation would not work correctly when Select All is enabled\n const virtuosoIndex =\n selectAllEnabled && multiple && activeMenuIndex > 0\n ? activeMenuIndex + 1\n : activeMenuIndex\n\n if (virtuosoIndex >= 0) {\n virtuoso.current?.scrollIntoView({ index: virtuosoIndex })\n }\n }\n }\n }, [activeMenuIndex, open, selectAllEnabled, multiple])\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 selectAllEnabled,\n },\n components,\n state: {\n activeMenuIndex,\n activeTokenIndex,\n isEmpty,\n listContainerHeight,\n listId,\n maxHeight,\n onDragEnd,\n onSelect,\n onSelectAll,\n open,\n options: draggable ? queriedDraggableOptions : options,\n overlayId,\n searchValue,\n selectAllOption,\n selectedIndex,\n selectedLabel,\n selectedOption,\n setOpen,\n setPointer,\n setValue,\n setSearchValue: setSearchValue,\n setActiveMenuIndex,\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 getOptionIsPartiallySelected ?? defaultGetOptionIsPartiallySelected,\n isSelected: getOptionIsSelected ?? defaultGetOptionIsSelected,\n isDisabled: getOptionIsDisabled,\n isOptgroup: getOptionIsOptgroup,\n isOptSelectAll: getOptionIsOptSelectAll,\n label: getOptionLabel,\n value: getOptionValue,\n selectAll: {\n isSelectAllPartiallySelected: (options) =>\n defaultGetOptionIsSelectAllPartiallySelected(\n options.filter(isSelectableOption),\n getOptionIsSelected ?? defaultGetOptionIsSelected,\n getOptionIsPartiallySelected ?? defaultGetOptionIsPartiallySelected\n ),\n isSelectAllSelected: (options) =>\n defaultGetOptionIsSelectAllSelected(\n options.filter(isSelectableOption),\n getOptionIsSelected ?? defaultGetOptionIsSelected\n ),\n },\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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"}
@@ -8,19 +8,19 @@ var trackWidth = 36;
8
8
  var toggleSize = 16;
9
9
  export var StyledTrack = /*#__PURE__*/styled.div.withConfig({
10
10
  displayName: "StyledTrack",
11
- componentId: "core-12_27_1__sc-mwn4kg-0"
11
+ componentId: "core-12_28_0__sc-mwn4kg-0"
12
12
  })(["background-color:", ";border-radius:", "px;height:", "px;width:", "px;position:relative;transition:0.2s;"], colors.gray70, trackHeight, trackHeight, trackWidth);
13
13
  export var StyledToggle = /*#__PURE__*/styled.span.withConfig({
14
14
  displayName: "StyledToggle",
15
- componentId: "core-12_27_1__sc-mwn4kg-1"
15
+ componentId: "core-12_28_0__sc-mwn4kg-1"
16
16
  })(["background-color:", ";border-radius:50%;bottom:2px;height:", "px;left:2px;position:absolute;transition:all 0.2s;width:", "px;"], colors.white, toggleSize, toggleSize);
17
17
  export var StyledSwitchLabel = /*#__PURE__*/styled.span.withConfig({
18
18
  displayName: "StyledSwitchLabel",
19
- componentId: "core-12_27_1__sc-mwn4kg-2"
19
+ componentId: "core-12_28_0__sc-mwn4kg-2"
20
20
  })(["", " padding-left:", "px;user-select:none;"], getTypographyIntent('body'), spacing.md);
21
21
  export var StyledSwitchContainer = /*#__PURE__*/styled.label.withConfig({
22
22
  displayName: "StyledSwitchContainer",
23
- componentId: "core-12_27_1__sc-mwn4kg-3"
23
+ componentId: "core-12_28_0__sc-mwn4kg-3"
24
24
  })(["cursor:pointer;display:grid;grid-template-columns:", "px 1fr;position:relative;& + &{margin-top:", "px;}", " ", " ", ""], trackWidth, spacing.md, function (_ref) {
25
25
  var $checked = _ref.$checked;
26
26
  return $checked && css(["", "{background-color:", ";", "{transform:translateX(", "px);}}"], StyledTrack, colors.blue50, StyledToggle, spacing.lg);