@procore/core-react 11.28.0 → 11.30.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 (196) hide show
  1. package/dist/Avatar/Avatar.styles.js +5 -5
  2. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  3. package/dist/Badge/Badge.styles.js +2 -2
  4. package/dist/Banner/Banner.styles.js +13 -13
  5. package/dist/Banner/Banner.styles.js.map +1 -1
  6. package/dist/Box/Box.styles.js +1 -1
  7. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  8. package/dist/Button/Button.styles.js +5 -5
  9. package/dist/Calendar/Calendar.styles.js +8 -8
  10. package/dist/Card/Card.styles.js +1 -1
  11. package/dist/Checkbox/Checkbox.styles.js +6 -6
  12. package/dist/ContactItem/ContactItem.styles.js +5 -5
  13. package/dist/Content/Content.styles.js +2 -2
  14. package/dist/DateInput/DateInput.styles.js +6 -6
  15. package/dist/DetailPage/DetailPage.styles.js +7 -7
  16. package/dist/Dropdown/Dropdown.styles.js +3 -3
  17. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  18. package/dist/Dropzone/Dropzone.js +1 -1
  19. package/dist/Dropzone/Dropzone.styles.js +9 -9
  20. package/dist/EmptyState/EmptyState.styles.js +6 -6
  21. package/dist/Field/Field.styles.js +3 -3
  22. package/dist/FileList/FileList.styles.js +4 -4
  23. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  24. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  25. package/dist/FileSelect/FileSelect.styles.js +2 -2
  26. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  27. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  28. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  29. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  30. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  31. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  32. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  33. package/dist/FileToken/FileToken.styles.js +4 -4
  34. package/dist/FilterToken/FilterToken.styles.js +2 -2
  35. package/dist/FlexList/FlexList.styles.js +1 -1
  36. package/dist/Form/Form.styles.js +16 -16
  37. package/dist/Grid/Grid.styles.js +2 -2
  38. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  39. package/dist/Input/Input.styles.js +1 -1
  40. package/dist/Link/Link.styles.js +1 -1
  41. package/dist/ListPage/ListPage.styles.js +8 -8
  42. package/dist/Loader/Loader.styles.js +2 -2
  43. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  44. package/dist/Modal/Modal.styles.js +13 -13
  45. package/dist/Modal/useInitializeModalFocus.js +1 -1
  46. package/dist/Modal/useInitializeModalFocus.js.map +1 -1
  47. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  48. package/dist/NextMenu/NextMenu.styles.js +3 -3
  49. package/dist/Notation/Notation.js +1 -1
  50. package/dist/NumberInput/NumberInput.styles.js +7 -7
  51. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  52. package/dist/PageLayout/PageLayout.styles.js +14 -14
  53. package/dist/PageLayout/PageLayout.styles.js.map +1 -1
  54. package/dist/PageLayout/PageLayout.utils.js +1 -1
  55. package/dist/PageLayout/PageLayout.utils.js.map +1 -1
  56. package/dist/Pagination/Pagination.styles.js +5 -5
  57. package/dist/Panel/Panel.styles.js +11 -11
  58. package/dist/Pill/Pill.styles.js +2 -2
  59. package/dist/PillSelect/PillSelect.styles.js +4 -4
  60. package/dist/Popover/Popover.styles.js +2 -2
  61. package/dist/Portal/Portal.styles.js +1 -1
  62. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  63. package/dist/RadioButton/RadioButton.styles.js +3 -3
  64. package/dist/Required/Required.styles.js +3 -3
  65. package/dist/Search/Search.styles.js +5 -5
  66. package/dist/Section/Section.styles.js +6 -6
  67. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  68. package/dist/Select/Select.styles.js +7 -7
  69. package/dist/Semantic/Semantic.styles.js +9 -9
  70. package/dist/Sidebar/Sidebar.styles.js +7 -7
  71. package/dist/Slider/Slider.styles.js +5 -5
  72. package/dist/Spinner/Spinner.styles.js +7 -7
  73. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  74. package/dist/SuperSelect/SuperSelect.styles.d.ts +1 -0
  75. package/dist/SuperSelect/SuperSelect.styles.js +39 -38
  76. package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
  77. package/dist/SuperSelect/SuperSelect.types.d.ts +1 -0
  78. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  79. package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
  80. package/dist/SuperSelect/useSuperSelect.js +15 -6
  81. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  82. package/dist/Switch/Switch.styles.js +4 -4
  83. package/dist/Table/Table.js +24 -2
  84. package/dist/Table/Table.js.map +1 -1
  85. package/dist/Table/Table.styles.js +28 -28
  86. package/dist/Table/Table.types.d.ts +17 -1
  87. package/dist/Table/Table.types.js.map +1 -1
  88. package/dist/TableShelf/TableShelf.styles.js +5 -5
  89. package/dist/Tabs/Tabs.styles.js +8 -8
  90. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  91. package/dist/TextArea/TextArea.styles.js +1 -1
  92. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  93. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  94. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  95. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  96. package/dist/Tile/Tile.styles.js +8 -8
  97. package/dist/Title/Title.styles.js +7 -7
  98. package/dist/Toast/Toast.styles.js +3 -3
  99. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  100. package/dist/Token/Token.styles.js +3 -3
  101. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  102. package/dist/Tooltip/Tooltip.styles.js +2 -2
  103. package/dist/Tree/Tree.styles.js +9 -9
  104. package/dist/Typeahead/Typeahead.styles.js +3 -3
  105. package/dist/Typography/Typography.styles.js +1 -1
  106. package/dist/Typography/Typography.table.story.js +2 -2
  107. package/dist/_hooks/I18n.d.ts +26 -26
  108. package/dist/_locales/de-DE.json +2 -2
  109. package/dist/_locales/en-AU.json +2 -2
  110. package/dist/_locales/en-CA.json +2 -2
  111. package/dist/_locales/en-GB.json +2 -2
  112. package/dist/_locales/es-ES.json +2 -2
  113. package/dist/_locales/es.json +3 -3
  114. package/dist/_locales/fr-CA.json +2 -2
  115. package/dist/_locales/fr-FR.json +2 -2
  116. package/dist/_locales/is-IS.json +2 -2
  117. package/dist/_locales/ja-JP.json +28 -28
  118. package/dist/_locales/pt-BR.json +3 -3
  119. package/dist/_locales/th-TH.json +2 -2
  120. package/dist/_locales/zh-SG.json +2 -2
  121. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  122. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +23 -23
  123. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  124. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  125. package/dist/_typedoc/Box/Box.types.json +68 -68
  126. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  127. package/dist/_typedoc/Button/Button.types.json +12 -12
  128. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  129. package/dist/_typedoc/Card/Card.types.json +6 -6
  130. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  131. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  132. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  133. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  134. package/dist/_typedoc/DetailPage/DetailPage.types.json +4 -4
  135. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  136. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  137. package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
  138. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  139. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  140. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  141. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  142. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  143. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  144. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  145. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  146. package/dist/_typedoc/Form/Form.types.json +726 -726
  147. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  148. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  149. package/dist/_typedoc/Input/Input.types.json +2 -2
  150. package/dist/_typedoc/Link/Link.types.json +4 -4
  151. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  152. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  153. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  154. package/dist/_typedoc/Modal/Modal.types.json +41 -41
  155. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  156. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  157. package/dist/_typedoc/NumberInput/NumberInput.types.json +38 -38
  158. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
  159. package/dist/_typedoc/PageLayout/PageLayout.types.json +22 -22
  160. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  161. package/dist/_typedoc/Panel/Panel.types.json +27 -27
  162. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  163. package/dist/_typedoc/PillSelect/PillSelect.types.json +47 -47
  164. package/dist/_typedoc/Popover/Popover.types.json +14 -14
  165. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  166. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  167. package/dist/_typedoc/Required/Required.types.json +5 -5
  168. package/dist/_typedoc/Search/Search.types.json +18 -18
  169. package/dist/_typedoc/Section/Section.types.json +14 -14
  170. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
  171. package/dist/_typedoc/Select/Select.types.json +57 -57
  172. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  173. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  174. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  175. package/dist/_typedoc/Table/Table.types.json +121 -99
  176. package/dist/_typedoc/Tabs/Tabs.types.json +17 -17
  177. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
  178. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  179. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  180. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  181. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  182. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  183. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  184. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  185. package/dist/_typedoc/Title/Title.types.json +1 -1
  186. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  187. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +3 -3
  188. package/dist/_typedoc/Token/Token.types.json +4 -4
  189. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  190. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  191. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  192. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  193. package/dist/_typedoc/Typography/Typography.types.json +8 -8
  194. package/dist/_typedoc/_utils/types.json +3 -3
  195. package/dist/_typedoc/deprecations.json +1 -1
  196. package/package.json +4 -4
@@ -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","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_","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$useState10","maxHeight","setMaxHeight","_React$useState11","_React$useState12","listHeight","setListHeight","_React$useState13","_React$useState14","searchHeight","setSearchHeight","_React$useState15","_React$useState16","footerHeight","setFooterHeight","listContainerHeight","min","_React$useState17","_React$useState18","searchValue","setSearchValue_","setSearchValue","_React$useState19","_React$useState20","activeMenuIndex","setActiveMenuIndex","_React$useState21","_React$useState22","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$useState23","_React$useState24","draggableOptions","setDraggableOptions","_defineProperty","queriedDraggableOptions","groupIndices","reduce","acc","push","selectedIndex","findIndex","isSelectableOption","selectedOption","find","selectedLabel","o","getFirstSelectableOptionIndex","optionValue","concat","onKeyboardSelect","getOptionIsSelected","isEmpty","boundWidthRef","current","whileElementsMounted","strategy","middleware","apply","_ref10","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 type {\n KeyboardSelectionProps,\n SuperSelectApi,\n SuperSelectConfig,\n SuperSelectOption,\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}: SuperSelectConfig) {\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: autoUpdate,\n strategy: 'fixed',\n middleware: [\n offset(2),\n flip(),\n size({\n apply({ availableHeight, elements }) {\n if (boundWidthRef.current) {\n boundWidthRef.current = false\n setWidth(elements.reference.getBoundingClientRect().width)\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 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: overlayId,\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) => {\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() {\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","_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","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$useState10","maxHeight","setMaxHeight","_React$useState11","_React$useState12","listHeight","setListHeight","_React$useState13","_React$useState14","searchHeight","setSearchHeight","_React$useState15","_React$useState16","footerHeight","setFooterHeight","listContainerHeight","min","_React$useState17","_React$useState18","searchValue","setSearchValue_","setSearchValue","_React$useState19","_React$useState20","activeMenuIndex","setActiveMenuIndex","_React$useState21","_React$useState22","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$useState23","_React$useState24","draggableOptions","setDraggableOptions","_defineProperty","queriedDraggableOptions","groupIndices","reduce","acc","push","selectedIndex","findIndex","isSelectableOption","selectedOption","find","selectedLabel","o","getFirstSelectableOptionIndex","optionValue","concat","onKeyboardSelect","getOptionIsSelected","isEmpty","boundWidthRef","current","whileElementsMounted","strategy","middleware","_ref10","rects","mainAxis","crossAxis","apply","_ref11","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 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}: SuperSelectConfig) {\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: autoUpdate,\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 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: overlayId,\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) => {\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() {\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-11_28_0__sc-mwn4kg-0"
11
+ componentId: "core-11_30_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-11_28_0__sc-mwn4kg-1"
15
+ componentId: "core-11_30_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-11_28_0__sc-mwn4kg-2"
19
+ componentId: "core-11_30_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-11_28_0__sc-mwn4kg-3"
23
+ componentId: "core-11_30_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);
@@ -1,3 +1,4 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
1
2
  var _excluded = ["children", "inline", "variant"],
2
3
  _excluded2 = ["expanded"],
3
4
  _excluded3 = ["children", "shelf"],
@@ -9,7 +10,7 @@ var _excluded = ["children", "inline", "variant"],
9
10
  _excluded9 = ["children", "colSpan", "depth"],
10
11
  _excluded10 = ["children", "overdue"],
11
12
  _excluded11 = ["children", "snugfit", "variant"],
12
- _excluded12 = ["children"],
13
+ _excluded12 = ["children", "value", "currencyOptions"],
13
14
  _excluded13 = ["children", "className", "disabled", "errorMessage", "processing"],
14
15
  _excluded14 = ["children"],
15
16
  _excluded15 = ["disabled", "errorMessage", "processing", "size"],
@@ -18,9 +19,15 @@ var _excluded = ["children", "inline", "variant"],
18
19
  _excluded18 = ["block", "children", "disabled", "errorMessage", "className", "processing"],
19
20
  _excluded19 = ["disabled", "errorMessage", "processing", "resizable"],
20
21
  _excluded20 = ["children"];
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
26
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
27
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
22
28
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
29
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30
+ import { CurrencyFormatter } from '@procore/globalization-toolkit';
24
31
  import { useId } from '@react-aria/utils';
25
32
  import { VisuallyHidden } from '@react-aria/visually-hidden';
26
33
  import cx from 'classnames';
@@ -191,11 +198,26 @@ export var BodyCell = /*#__PURE__*/React.forwardRef(function BodyCell(_ref11, re
191
198
  });
192
199
  export var CurrencyCell = /*#__PURE__*/React.forwardRef(function CurrencyCell(_ref12, ref) {
193
200
  var children = _ref12.children,
201
+ value = _ref12.value,
202
+ currencyOptions = _ref12.currencyOptions,
194
203
  props = _objectWithoutProperties(_ref12, _excluded12);
204
+ var I18n = useI18nContext();
205
+ if (children) {
206
+ return /*#__PURE__*/React.createElement(StyledTableCellText, _extends({
207
+ $currency: true,
208
+ ref: ref
209
+ }, props), children);
210
+ }
211
+ var internalCurrencyOptions = _objectSpread({
212
+ locale: I18n.locale,
213
+ currencyIsoCode: 'USD'
214
+ }, currencyOptions);
215
+ var formatter = new CurrencyFormatter(internalCurrencyOptions);
216
+ var internalValue = value ? formatter.formatCurrency(value) : null;
195
217
  return /*#__PURE__*/React.createElement(StyledTableCellText, _extends({
196
218
  $currency: true,
197
219
  ref: ref
198
- }, props), children);
220
+ }, props), internalValue);
199
221
  });
200
222
  export var DateSelectCell = /*#__PURE__*/React.forwardRef(function DateSelectCell(_ref13, ref) {
201
223
  var children = _ref13.children,
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","names":["useId","VisuallyHidden","cx","React","Link","LinkElement","tableSelectClassName","Spinner","useI18nContext","addSubcomponents","StyledCarat","StyledCaratWrapper","StyledCheckbox","StyledHead","StyledIconCell","StyledLoadingContainer","StyledSelectCellWrapper","StyledTable","StyledTableBodyCell","StyledTableBodyRow","StyledTableCellDateInput","StyledTableCellInput","StyledTableCellSelect","StyledTableCellText","StyledTableCellTextArea","StyledTableGroupRow","StyledTableGroupRowContent","StyledTableGroupRowHeader","StyledTableGroupRowTitle","StyledTableHeaderCell","StyledTableHeaderCellIconWrapper","StyledTableHeaderCellLabel","StyledTableHeaderCellSortableContainer","StyledTableHeaderCellSortIconAsc","StyledTableHeaderCellSortIconDesc","StyledTableInlineEditContainer","StyledTableInlineEditErrorBox","StyledTableWrapper","Table_","forwardRef","Table","_ref","ref","children","inline","variant","props","_objectWithoutProperties","_excluded","createElement","_extends","$inline","$fixed","Carat","_ref2","_ref2$expanded","expanded","_excluded2","$expanded","Container","_ref3","_ref3$shelf","shelf","_excluded3","shadowStrength","$withShelf","Header","_ref4","_excluded4","HeaderRow","_ref5","_excluded5","HeaderCell","_ref6","sortOrder_","sortOrder","onClick","onKeyUp","onSortOrderChange_","onSortOrderChange","sortable","_ref6$snugfit","snugfit","_excluded6","I18n","descriptionId","undefined","isSortable","ariaSortValues","asc","desc","nextValue","role","tabIndex","$sortable","$sortOrder","$snugfit","e","includes","code","Fragment","id","t","Body","_ref7","_excluded7","Checkbox","GroupTitle","_ref8","_excluded8","Group","_ref9","_ref9$colSpan","colSpan","_ref9$depth","depth","_excluded9","$depth","BodyRow","_ref10","_ref10$overdue","overdue","_excluded10","$overdue","BodyCell","_ref11","_ref11$snugfit","_ref11$variant","_excluded11","CurrencyCell","_ref12","_excluded12","$currency","DateSelectCell","_ref13","className","_ref13$disabled","disabled","errorMessage","_ref13$processing","processing","_excluded13","error","Boolean","$disabled","$error","$size","loading","size","IconCell","_ref14","_excluded14","InputCell","_ref15","_ref15$disabled","_ref15$errorMessage","_ref15$processing","_ref15$size","_excluded15","LinkCell","_ref16","_ref16$href","href","_excluded16","TextCell","PercentCell","_ref17","_excluded17","$percent","SelectCell","_ref18","_ref18$block","block","_ref18$processing","_excluded18","hasClearIcon","label","$placeholder","$hasClearIcon","TextAreaCell","_ref19","_ref19$errorMessage","_ref19$processing","_ref19$resizable","resizable","_excluded19","textareaRef","createRef","setHeight","current","style","height","concat","scrollHeight","$resizable","onBlur","event","resize","rows","_ref20","_excluded20","displayName"],"sources":["../../src/Table/Table.tsx"],"sourcesContent":["import { useId } from '@react-aria/utils'\nimport { VisuallyHidden } from '@react-aria/visually-hidden'\nimport cx from 'classnames'\nimport React from 'react'\nimport type { CheckboxProps } from '../Checkbox/Checkbox.types'\nimport { Link as LinkElement } from '../Link'\nimport { tableSelectClassName } from '../Select/Select.styles'\nimport { Spinner } from '../Spinner'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport type {\n AnchorAttributes,\n DivAttributes,\n SpanAttributes,\n SVGAttributes,\n TableAttributes,\n TbodyAttributes,\n TdAttributes,\n TextAreaAttributes,\n ThAttributes,\n TheadAttributes,\n TrAttributes,\n} from '../_utils/types'\nimport {\n StyledCarat,\n StyledCaratWrapper,\n StyledCheckbox,\n StyledHead,\n StyledIconCell,\n StyledLoadingContainer,\n StyledSelectCellWrapper,\n StyledTable,\n StyledTableBodyCell,\n StyledTableBodyRow,\n StyledTableCellDateInput,\n StyledTableCellInput,\n StyledTableCellSelect,\n StyledTableCellText,\n StyledTableCellTextArea,\n StyledTableGroupRow,\n StyledTableGroupRowContent,\n StyledTableGroupRowHeader,\n StyledTableGroupRowTitle,\n StyledTableHeaderCell,\n StyledTableHeaderCellIconWrapper,\n StyledTableHeaderCellLabel,\n StyledTableHeaderCellSortableContainer,\n StyledTableHeaderCellSortIconAsc,\n StyledTableHeaderCellSortIconDesc,\n StyledTableInlineEditContainer,\n StyledTableInlineEditErrorBox,\n StyledTableWrapper,\n} from './Table.styles'\nimport type {\n BodyCellProps,\n BodyProps,\n BodyRowProps,\n CaratProps,\n ContainerProps,\n CurrencyCellProps,\n DateSelectCellProps,\n GroupProps,\n GroupTitleProps,\n HeaderCellProps,\n HeaderProps,\n HeaderRowProps,\n IconCellProps,\n InputCellProps,\n LinkCellProps,\n PercentCellProps,\n SelectCellProps,\n TableColumnSortOrder,\n TableProps,\n TableTextCellProps,\n TextAreaCellProps,\n} from './Table.types'\n\nexport const Table_ = React.forwardRef<\n HTMLTableElement,\n TableAttributes & TableProps\n>(function Table({ children, inline, variant, ...props }, ref) {\n return (\n <StyledTable\n ref={ref}\n {...props}\n $inline={inline}\n $fixed={variant === 'fixed'}\n >\n {children}\n </StyledTable>\n )\n})\n\nexport const Carat = React.forwardRef<\n HTMLDivElement,\n SVGAttributes & CaratProps\n>(function Carat({ expanded = false, ...props }, ref) {\n return (\n <StyledCaratWrapper ref={ref}>\n <StyledCarat $expanded={expanded} {...props} />\n </StyledCaratWrapper>\n )\n})\n\nexport const Container = React.forwardRef<\n HTMLDivElement,\n DivAttributes & ContainerProps\n>(function Container({ children, shelf = false, ...props }, ref) {\n return (\n <StyledTableWrapper\n {...props}\n ref={ref}\n shadowStrength={0}\n $withShelf={shelf}\n >\n {children}\n </StyledTableWrapper>\n )\n})\n\nexport const Header = React.forwardRef<\n HTMLTableSectionElement,\n TheadAttributes & HeaderProps\n>(function Header({ children, ...props }, ref) {\n return (\n <StyledHead ref={ref} {...props}>\n {children}\n </StyledHead>\n )\n})\n\nexport const HeaderRow = React.forwardRef<\n HTMLTableRowElement,\n TrAttributes & HeaderRowProps\n>(function HeaderRow({ children, ...props }, ref) {\n return (\n <tr ref={ref} {...props}>\n {children}\n </tr>\n )\n})\n\nexport const HeaderCell = React.forwardRef<\n HTMLTableHeaderCellElement,\n ThAttributes & HeaderCellProps\n>(function HeaderCell(\n {\n sortOrder: sortOrder_,\n onClick,\n onKeyUp,\n onSortOrderChange: onSortOrderChange_,\n sortable,\n children,\n snugfit = false,\n variant,\n ...props\n },\n ref\n) {\n const I18n = useI18nContext()\n const descriptionId = useId()\n const sortOrder: TableColumnSortOrder | undefined =\n sortOrder_ ?? (variant !== 'snugfit' ? variant : undefined)\n const isSortable = sortOrder !== undefined && sortable !== false\n\n const ariaSortValues = {\n asc: 'ascending',\n desc: 'descending',\n '': 'none',\n } as const\n\n const onSortOrderChange = () => {\n if (!onSortOrderChange_) {\n return\n }\n\n const nextValue =\n sortOrder === '' ? 'asc' : sortOrder === 'asc' ? 'desc' : ''\n onSortOrderChange_(nextValue)\n }\n\n return (\n <StyledTableHeaderCell\n ref={ref}\n {...props}\n role=\"columnheader\"\n aria-sort={isSortable ? ariaSortValues[sortOrder ?? ''] : undefined}\n tabIndex={isSortable ? 0 : undefined}\n aria-describedby={isSortable ? descriptionId : undefined}\n $sortable={isSortable}\n $sortOrder={sortOrder}\n $snugfit={snugfit || variant === 'snugfit'}\n onKeyUp={(e) => {\n if (['Space', 'Enter'].includes(e.code) && isSortable) {\n onSortOrderChange()\n }\n return onKeyUp?.(e)\n }}\n onClick={(e) => {\n if (isSortable) {\n onSortOrderChange()\n }\n return onClick?.(e)\n }}\n >\n <StyledTableHeaderCellSortableContainer>\n <StyledTableHeaderCellLabel>{children}</StyledTableHeaderCellLabel>\n {isSortable && (\n <>\n <StyledTableHeaderCellIconWrapper aria-hidden=\"true\">\n <StyledTableHeaderCellSortIconAsc />\n <StyledTableHeaderCellSortIconDesc />\n </StyledTableHeaderCellIconWrapper>\n <VisuallyHidden aria-hidden=\"true\" id={descriptionId}>\n {I18n.t('core.table.sortableColumn')}\n </VisuallyHidden>\n </>\n )}\n </StyledTableHeaderCellSortableContainer>\n </StyledTableHeaderCell>\n )\n})\n\nexport const Body = React.forwardRef<\n HTMLTableSectionElement,\n TbodyAttributes & BodyProps\n>(function Body({ children, ...props }, ref) {\n return (\n <tbody ref={ref} {...props}>\n {children}\n </tbody>\n )\n})\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n function Checkbox(props, ref) {\n return <StyledCheckbox ref={ref} {...props} />\n }\n)\n\nexport const GroupTitle = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes & GroupTitleProps\n>(function GroupTitle({ children, ...props }, ref) {\n return (\n <StyledTableGroupRowTitle ref={ref} {...props}>\n {children}\n </StyledTableGroupRowTitle>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLTableRowElement,\n TrAttributes & GroupProps\n>(function Group({ children, colSpan = 1000, depth = false, ...props }, ref) {\n return (\n <StyledTableGroupRow ref={ref} $depth={depth} {...props}>\n <td colSpan={colSpan}>\n <StyledTableGroupRowContent>\n <StyledTableGroupRowHeader>{children}</StyledTableGroupRowHeader>\n </StyledTableGroupRowContent>\n </td>\n </StyledTableGroupRow>\n )\n})\n\nexport const BodyRow = React.forwardRef<\n HTMLTableRowElement,\n TrAttributes & BodyRowProps\n>(function BodyRow({ children, overdue = false, ...props }, ref) {\n return (\n <StyledTableBodyRow ref={ref} $overdue={overdue} {...props}>\n {children}\n </StyledTableBodyRow>\n )\n})\n\nexport const BodyCell = React.forwardRef<\n HTMLTableDataCellElement,\n TdAttributes & BodyCellProps\n>(function BodyCell(\n { children, snugfit = false, variant = '', ...props },\n ref\n) {\n return (\n <StyledTableBodyCell\n ref={ref}\n $snugfit={snugfit || variant === 'snugfit'}\n {...props}\n >\n {children}\n </StyledTableBodyCell>\n )\n})\n\nexport const CurrencyCell = React.forwardRef<\n HTMLDivElement,\n DivAttributes & CurrencyCellProps\n>(function CurrencyCell({ children, ...props }, ref) {\n return (\n <StyledTableCellText $currency ref={ref} {...props}>\n {children}\n </StyledTableCellText>\n )\n})\n\nexport const DateSelectCell = React.forwardRef<\n HTMLDivElement,\n DateSelectCellProps\n>(function DateSelectCell(\n {\n children,\n className,\n disabled = false,\n errorMessage,\n processing = false,\n ...props\n },\n ref\n) {\n const error = Boolean(errorMessage)\n return (\n <StyledTableInlineEditContainer\n $disabled={disabled}\n $error={error}\n $size=\"block\"\n className={cx({ disabled, error })}\n >\n {processing && (\n <StyledLoadingContainer>\n <Spinner loading={processing} size=\"md\" />\n </StyledLoadingContainer>\n )}\n <StyledTableCellDateInput\n {...props}\n disabled={processing || disabled}\n ref={ref}\n variant={error ? 'error' : ''}\n />\n {!processing && error && (\n <StyledTableInlineEditErrorBox>\n {errorMessage}\n </StyledTableInlineEditErrorBox>\n )}\n </StyledTableInlineEditContainer>\n )\n})\n\nexport const IconCell = React.forwardRef<\n HTMLDivElement,\n DivAttributes & IconCellProps\n>(function IconCell({ children, ...props }, ref) {\n return (\n <StyledIconCell ref={ref} {...props}>\n {children}\n </StyledIconCell>\n )\n})\n\nexport const InputCell = React.forwardRef<HTMLInputElement, InputCellProps>(\n function InputCell(\n {\n disabled = false,\n errorMessage = '',\n processing = false,\n size = 'block', // TODO FIX THIS TYPE\n ...props\n },\n ref\n ) {\n const error = Boolean(errorMessage)\n return (\n <StyledTableInlineEditContainer\n $disabled={disabled}\n $error={error}\n $size={size}\n className={cx({ disabled, error })}\n >\n {processing && (\n <StyledLoadingContainer>\n <Spinner loading={processing} size=\"md\" />\n </StyledLoadingContainer>\n )}\n <StyledTableCellInput\n {...props}\n ref={ref}\n disabled={processing || disabled}\n />\n {!processing && error && (\n <StyledTableInlineEditErrorBox $size={size}>\n {errorMessage}\n </StyledTableInlineEditErrorBox>\n )}\n </StyledTableInlineEditContainer>\n )\n }\n)\n\nexport const LinkCell = React.forwardRef<\n HTMLDivElement,\n AnchorAttributes & LinkCellProps\n>(function LinkCell({ children, href = '', ...props }, ref) {\n return (\n <TextCell ref={ref}>\n <LinkElement href={href} {...props}>\n {children}\n </LinkElement>\n </TextCell>\n )\n})\n\nexport const PercentCell = React.forwardRef<\n HTMLDivElement,\n DivAttributes & PercentCellProps\n>(function PercentCell({ children, ...props }, ref) {\n return (\n <StyledTableCellText $percent ref={ref} {...props}>\n {children}\n </StyledTableCellText>\n )\n})\n\nexport const SelectCell = React.forwardRef<HTMLDivElement, SelectCellProps>(\n function SelectCell(\n {\n block = true,\n children,\n disabled,\n errorMessage,\n className,\n processing = false,\n ...props\n },\n ref\n ) {\n const error = Boolean(errorMessage)\n const hasClearIcon = !disabled && !props.loading && Boolean(props.label)\n return (\n <StyledTableInlineEditContainer\n $disabled={disabled}\n $error={error}\n $size=\"block\"\n className={cx({ disabled, error })}\n >\n {processing && (\n <StyledLoadingContainer>\n <Spinner loading={processing} size=\"md\" />\n </StyledLoadingContainer>\n )}\n <StyledSelectCellWrapper>\n <StyledTableCellSelect\n {...props}\n $placeholder={!props.label}\n $hasClearIcon={hasClearIcon}\n block={block}\n className={cx(tableSelectClassName, className)}\n disabled={processing || disabled}\n error={error}\n ref={ref}\n >\n {children}\n </StyledTableCellSelect>\n </StyledSelectCellWrapper>\n {!processing && errorMessage && (\n <StyledTableInlineEditErrorBox>\n {errorMessage}\n </StyledTableInlineEditErrorBox>\n )}\n </StyledTableInlineEditContainer>\n )\n }\n)\n\nexport const TextAreaCell = React.forwardRef<\n HTMLTextAreaElement,\n TextAreaAttributes & TextAreaCellProps\n>(function TextAreaCell(\n {\n disabled,\n errorMessage = '',\n processing = false,\n resizable = false,\n ...props\n },\n ref\n) {\n const textareaRef =\n (ref as React.RefObject<HTMLTextAreaElement>) ||\n React.createRef<HTMLTextAreaElement>()\n\n const setHeight = () => {\n if (textareaRef && textareaRef.current) {\n textareaRef.current.style.height = 'auto'\n textareaRef.current.style.height = `${textareaRef.current.scrollHeight}px`\n }\n }\n const error = Boolean(errorMessage)\n return (\n <StyledTableInlineEditContainer\n $disabled={disabled}\n $error={error}\n $size=\"block\"\n className={cx({ disabled, error })}\n >\n {processing && (\n <StyledLoadingContainer>\n <Spinner loading={processing} size=\"md\" />\n </StyledLoadingContainer>\n )}\n <StyledTableCellTextArea\n {...props}\n $resizable={resizable}\n disabled={processing || disabled}\n onBlur={(event) => {\n setHeight()\n props.onBlur && props.onBlur(event)\n }}\n ref={textareaRef}\n resize=\"none\"\n rows={1}\n />\n {!processing && error && (\n <StyledTableInlineEditErrorBox>\n {errorMessage}\n </StyledTableInlineEditErrorBox>\n )}\n </StyledTableInlineEditContainer>\n )\n})\n\nexport const TextCell = React.forwardRef<\n HTMLDivElement,\n DivAttributes & TableTextCellProps\n>(function TextCell({ children, ...props }, ref) {\n return (\n <StyledTableCellText ref={ref} {...props}>\n {children}\n </StyledTableCellText>\n )\n})\n\nTable_.displayName = 'Table'\n\nBody.displayName = 'Table.Body'\n\nBodyCell.displayName = 'Table.BodyCell'\n\nBodyRow.displayName = 'Table.BodyRow'\n\nCarat.displayName = 'Table.Carat'\n\nCheckbox.displayName = 'Table.Checkbox'\n\nContainer.displayName = 'Table.Container'\n\nCurrencyCell.displayName = 'Table.CurrencyCell'\n\nDateSelectCell.displayName = 'Table.DateSelect'\n\nGroup.displayName = 'Table.Group'\n\nGroupTitle.displayName = 'Table.GroupTitle'\n\nHeader.displayName = 'Table.Header'\n\nHeaderCell.displayName = 'Table.HeaderCell'\n\nHeaderRow.displayName = 'Table.HeaderRow'\n\nIconCell.displayName = 'Table.IconCell'\n\nInputCell.displayName = 'Table.InputCell'\n\nLinkCell.displayName = 'Table.LinkCell'\n\nPercentCell.displayName = 'Table.ParentCell'\n\nTextAreaCell.displayName = 'Table.TextAreaCell'\n\nTextCell.displayName = 'Table.TextCell'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-table--demo)\n\n */\nexport const Table = addSubcomponents(\n {\n Body,\n BodyCell,\n BodyRow,\n Carat,\n Checkbox,\n Container,\n CurrencyCell,\n DateSelectCell,\n Group,\n GroupTitle,\n Header,\n HeaderCell,\n HeaderRow,\n IconCell,\n InputCell,\n LinkCell,\n PercentCell,\n SelectCell,\n TextAreaCell,\n TextCell,\n },\n Table_\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,KAAK,QAAQ,mBAAmB;AACzC,SAASC,cAAc,QAAQ,6BAA6B;AAC5D,OAAOC,EAAE,MAAM,YAAY;AAC3B,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,IAAI,IAAIC,WAAW,QAAQ,SAAS;AAC7C,SAASC,oBAAoB,QAAQ,yBAAyB;AAC9D,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,gBAAgB,QAAQ,4BAA4B;AAc7D,SACEC,WAAW,EACXC,kBAAkB,EAClBC,cAAc,EACdC,UAAU,EACVC,cAAc,EACdC,sBAAsB,EACtBC,uBAAuB,EACvBC,WAAW,EACXC,mBAAmB,EACnBC,kBAAkB,EAClBC,wBAAwB,EACxBC,oBAAoB,EACpBC,qBAAqB,EACrBC,mBAAmB,EACnBC,uBAAuB,EACvBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,yBAAyB,EACzBC,wBAAwB,EACxBC,qBAAqB,EACrBC,gCAAgC,EAChCC,0BAA0B,EAC1BC,sCAAsC,EACtCC,gCAAgC,EAChCC,iCAAiC,EACjCC,8BAA8B,EAC9BC,6BAA6B,EAC7BC,kBAAkB,QACb,gBAAgB;AAyBvB,OAAO,IAAMC,MAAM,gBAAGnC,KAAK,CAACoC,UAAU,CAGpC,SAASC,KAAKA,CAAAC,IAAA,EAA0CC,GAAG,EAAE;EAAA,IAA5CC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM;IAAEC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAAKC,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EACpD,oBACE7C,KAAA,CAAA8C,aAAA,CAAChC,WAAW,EAAAiC,QAAA;IACVR,GAAG,EAAEA;EAAI,GACLI,KAAK;IACTK,OAAO,EAAEP,MAAO;IAChBQ,MAAM,EAAEP,OAAO,KAAK;EAAQ,IAE3BF,QACU,CAAC;AAElB,CAAC,CAAC;AAEF,OAAO,IAAMU,KAAK,gBAAGlD,KAAK,CAACoC,UAAU,CAGnC,SAASc,KAAKA,CAAAC,KAAA,EAAiCZ,GAAG,EAAE;EAAA,IAAAa,cAAA,GAAAD,KAAA,CAAnCE,QAAQ;IAARA,QAAQ,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAKT,KAAK,GAAAC,wBAAA,CAAAO,KAAA,EAAAG,UAAA;EAC3C,oBACEtD,KAAA,CAAA8C,aAAA,CAACtC,kBAAkB;IAAC+B,GAAG,EAAEA;EAAI,gBAC3BvC,KAAA,CAAA8C,aAAA,CAACvC,WAAW,EAAAwC,QAAA;IAACQ,SAAS,EAAEF;EAAS,GAAKV,KAAK,CAAG,CAC5B,CAAC;AAEzB,CAAC,CAAC;AAEF,OAAO,IAAMa,SAAS,gBAAGxD,KAAK,CAACoC,UAAU,CAGvC,SAASoB,SAASA,CAAAC,KAAA,EAAwClB,GAAG,EAAE;EAAA,IAA1CC,QAAQ,GAAAiB,KAAA,CAARjB,QAAQ;IAAAkB,WAAA,GAAAD,KAAA,CAAEE,KAAK;IAALA,KAAK,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAKf,KAAK,GAAAC,wBAAA,CAAAa,KAAA,EAAAG,UAAA;EACtD,oBACE5D,KAAA,CAAA8C,aAAA,CAACZ,kBAAkB,EAAAa,QAAA,KACbJ,KAAK;IACTJ,GAAG,EAAEA,GAAI;IACTsB,cAAc,EAAE,CAAE;IAClBC,UAAU,EAAEH;EAAM,IAEjBnB,QACiB,CAAC;AAEzB,CAAC,CAAC;AAEF,OAAO,IAAMuB,MAAM,gBAAG/D,KAAK,CAACoC,UAAU,CAGpC,SAAS2B,MAAMA,CAAAC,KAAA,EAAyBzB,GAAG,EAAE;EAAA,IAA3BC,QAAQ,GAAAwB,KAAA,CAARxB,QAAQ;IAAKG,KAAK,GAAAC,wBAAA,CAAAoB,KAAA,EAAAC,UAAA;EACpC,oBACEjE,KAAA,CAAA8C,aAAA,CAACpC,UAAU,EAAAqC,QAAA;IAACR,GAAG,EAAEA;EAAI,GAAKI,KAAK,GAC5BH,QACS,CAAC;AAEjB,CAAC,CAAC;AAEF,OAAO,IAAM0B,SAAS,gBAAGlE,KAAK,CAACoC,UAAU,CAGvC,SAAS8B,SAASA,CAAAC,KAAA,EAAyB5B,GAAG,EAAE;EAAA,IAA3BC,QAAQ,GAAA2B,KAAA,CAAR3B,QAAQ;IAAKG,KAAK,GAAAC,wBAAA,CAAAuB,KAAA,EAAAC,UAAA;EACvC,oBACEpE,KAAA,CAAA8C,aAAA,OAAAC,QAAA;IAAIR,GAAG,EAAEA;EAAI,GAAKI,KAAK,GACpBH,QACC,CAAC;AAET,CAAC,CAAC;AAEF,OAAO,IAAM6B,UAAU,gBAAGrE,KAAK,CAACoC,UAAU,CAGxC,SAASiC,UAAUA,CAAAC,KAAA,EAYnB/B,GAAG,EACH;EAAA,IAXagC,UAAU,GAAAD,KAAA,CAArBE,SAAS;IACTC,QAAO,GAAAH,KAAA,CAAPG,OAAO;IACPC,QAAO,GAAAJ,KAAA,CAAPI,OAAO;IACYC,kBAAkB,GAAAL,KAAA,CAArCM,iBAAiB;IACjBC,QAAQ,GAAAP,KAAA,CAARO,QAAQ;IACRrC,QAAQ,GAAA8B,KAAA,CAAR9B,QAAQ;IAAAsC,aAAA,GAAAR,KAAA,CACRS,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IACfpC,OAAO,GAAA4B,KAAA,CAAP5B,OAAO;IACJC,KAAK,GAAAC,wBAAA,CAAA0B,KAAA,EAAAU,UAAA;EAIV,IAAMC,IAAI,GAAG5E,cAAc,CAAC,CAAC;EAC7B,IAAM6E,aAAa,GAAGrF,KAAK,CAAC,CAAC;EAC7B,IAAM2E,SAA2C,GAC/CD,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAK7B,OAAO,KAAK,SAAS,GAAGA,OAAO,GAAGyC,SAAU;EAC7D,IAAMC,UAAU,GAAGZ,SAAS,KAAKW,SAAS,IAAIN,QAAQ,KAAK,KAAK;EAEhE,IAAMQ,cAAc,GAAG;IACrBC,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE;EACN,CAAU;EAEV,IAAMX,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA,EAAS;IAC9B,IAAI,CAACD,kBAAkB,EAAE;MACvB;IACF;IAEA,IAAMa,SAAS,GACbhB,SAAS,KAAK,EAAE,GAAG,KAAK,GAAGA,SAAS,KAAK,KAAK,GAAG,MAAM,GAAG,EAAE;IAC9DG,kBAAkB,CAACa,SAAS,CAAC;EAC/B,CAAC;EAED,oBACExF,KAAA,CAAA8C,aAAA,CAACpB,qBAAqB,EAAAqB,QAAA;IACpBR,GAAG,EAAEA;EAAI,GACLI,KAAK;IACT8C,IAAI,EAAC,cAAc;IACnB,aAAWL,UAAU,GAAGC,cAAc,CAACb,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE,CAAC,GAAGW,SAAU;IACpEO,QAAQ,EAAEN,UAAU,GAAG,CAAC,GAAGD,SAAU;IACrC,oBAAkBC,UAAU,GAAGF,aAAa,GAAGC,SAAU;IACzDQ,SAAS,EAAEP,UAAW;IACtBQ,UAAU,EAAEpB,SAAU;IACtBqB,QAAQ,EAAEd,OAAO,IAAIrC,OAAO,KAAK,SAAU;IAC3CgC,OAAO,EAAE,SAAAA,QAACoB,CAAC,EAAK;MACd,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAACC,QAAQ,CAACD,CAAC,CAACE,IAAI,CAAC,IAAIZ,UAAU,EAAE;QACrDR,iBAAiB,CAAC,CAAC;MACrB;MACA,OAAOF,QAAO,aAAPA,QAAO,uBAAPA,QAAO,CAAGoB,CAAC,CAAC;IACrB,CAAE;IACFrB,OAAO,EAAE,SAAAA,QAACqB,CAAC,EAAK;MACd,IAAIV,UAAU,EAAE;QACdR,iBAAiB,CAAC,CAAC;MACrB;MACA,OAAOH,QAAO,aAAPA,QAAO,uBAAPA,QAAO,CAAGqB,CAAC,CAAC;IACrB;EAAE,iBAEF9F,KAAA,CAAA8C,aAAA,CAACjB,sCAAsC,qBACrC7B,KAAA,CAAA8C,aAAA,CAAClB,0BAA0B,QAAEY,QAAqC,CAAC,EAClE4C,UAAU,iBACTpF,KAAA,CAAA8C,aAAA,CAAA9C,KAAA,CAAAiG,QAAA,qBACEjG,KAAA,CAAA8C,aAAA,CAACnB,gCAAgC;IAAC,eAAY;EAAM,gBAClD3B,KAAA,CAAA8C,aAAA,CAAChB,gCAAgC,MAAE,CAAC,eACpC9B,KAAA,CAAA8C,aAAA,CAACf,iCAAiC,MAAE,CACJ,CAAC,eACnC/B,KAAA,CAAA8C,aAAA,CAAChD,cAAc;IAAC,eAAY,MAAM;IAACoG,EAAE,EAAEhB;EAAc,GAClDD,IAAI,CAACkB,CAAC,CAAC,2BAA2B,CACrB,CAChB,CAEkC,CACnB,CAAC;AAE5B,CAAC,CAAC;AAEF,OAAO,IAAMC,IAAI,gBAAGpG,KAAK,CAACoC,UAAU,CAGlC,SAASgE,IAAIA,CAAAC,KAAA,EAAyB9D,GAAG,EAAE;EAAA,IAA3BC,QAAQ,GAAA6D,KAAA,CAAR7D,QAAQ;IAAKG,KAAK,GAAAC,wBAAA,CAAAyD,KAAA,EAAAC,UAAA;EAClC,oBACEtG,KAAA,CAAA8C,aAAA,UAAAC,QAAA;IAAOR,GAAG,EAAEA;EAAI,GAAKI,KAAK,GACvBH,QACI,CAAC;AAEZ,CAAC,CAAC;AAEF,OAAO,IAAM+D,QAAQ,gBAAGvG,KAAK,CAACoC,UAAU,CACtC,SAASmE,QAAQA,CAAC5D,KAAK,EAAEJ,GAAG,EAAE;EAC5B,oBAAOvC,KAAA,CAAA8C,aAAA,CAACrC,cAAc,EAAAsC,QAAA;IAACR,GAAG,EAAEA;EAAI,GAAKI,KAAK,CAAG,CAAC;AAChD,CACF,CAAC;AAED,OAAO,IAAM6D,UAAU,gBAAGxG,KAAK,CAACoC,UAAU,CAGxC,SAASoE,UAAUA,CAAAC,KAAA,EAAyBlE,GAAG,EAAE;EAAA,IAA3BC,QAAQ,GAAAiE,KAAA,CAARjE,QAAQ;IAAKG,KAAK,GAAAC,wBAAA,CAAA6D,KAAA,EAAAC,UAAA;EACxC,oBACE1G,KAAA,CAAA8C,aAAA,CAACrB,wBAAwB,EAAAsB,QAAA;IAACR,GAAG,EAAEA;EAAI,GAAKI,KAAK,GAC1CH,QACuB,CAAC;AAE/B,CAAC,CAAC;AAEF,OAAO,IAAMmE,KAAK,gBAAG3G,KAAK,CAACoC,UAAU,CAGnC,SAASuE,KAAKA,CAAAC,KAAA,EAAwDrE,GAAG,EAAE;EAAA,IAA1DC,QAAQ,GAAAoE,KAAA,CAARpE,QAAQ;IAAAqE,aAAA,GAAAD,KAAA,CAAEE,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,IAAI,GAAAA,aAAA;IAAAE,WAAA,GAAAH,KAAA,CAAEI,KAAK;IAALA,KAAK,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAKpE,KAAK,GAAAC,wBAAA,CAAAgE,KAAA,EAAAK,UAAA;EAClE,oBACEjH,KAAA,CAAA8C,aAAA,CAACxB,mBAAmB,EAAAyB,QAAA;IAACR,GAAG,EAAEA,GAAI;IAAC2E,MAAM,EAAEF;EAAM,GAAKrE,KAAK,gBACrD3C,KAAA,CAAA8C,aAAA;IAAIgE,OAAO,EAAEA;EAAQ,gBACnB9G,KAAA,CAAA8C,aAAA,CAACvB,0BAA0B,qBACzBvB,KAAA,CAAA8C,aAAA,CAACtB,yBAAyB,QAAEgB,QAAoC,CACtC,CAC1B,CACe,CAAC;AAE1B,CAAC,CAAC;AAEF,OAAO,IAAM2E,OAAO,gBAAGnH,KAAK,CAACoC,UAAU,CAGrC,SAAS+E,OAAOA,CAAAC,MAAA,EAA0C7E,GAAG,EAAE;EAAA,IAA5CC,QAAQ,GAAA4E,MAAA,CAAR5E,QAAQ;IAAA6E,cAAA,GAAAD,MAAA,CAAEE,OAAO;IAAPA,OAAO,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAK1E,KAAK,GAAAC,wBAAA,CAAAwE,MAAA,EAAAG,WAAA;EACtD,oBACEvH,KAAA,CAAA8C,aAAA,CAAC9B,kBAAkB,EAAA+B,QAAA;IAACR,GAAG,EAAEA,GAAI;IAACiF,QAAQ,EAAEF;EAAQ,GAAK3E,KAAK,GACvDH,QACiB,CAAC;AAEzB,CAAC,CAAC;AAEF,OAAO,IAAMiF,QAAQ,gBAAGzH,KAAK,CAACoC,UAAU,CAGtC,SAASqF,QAAQA,CAAAC,MAAA,EAEjBnF,GAAG,EACH;EAAA,IAFEC,QAAQ,GAAAkF,MAAA,CAARlF,QAAQ;IAAAmF,cAAA,GAAAD,MAAA,CAAE3C,OAAO;IAAPA,OAAO,GAAA4C,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAC,cAAA,GAAAF,MAAA,CAAEhF,OAAO;IAAPA,OAAO,GAAAkF,cAAA,cAAG,EAAE,GAAAA,cAAA;IAAKjF,KAAK,GAAAC,wBAAA,CAAA8E,MAAA,EAAAG,WAAA;EAGnD,oBACE7H,KAAA,CAAA8C,aAAA,CAAC/B,mBAAmB,EAAAgC,QAAA;IAClBR,GAAG,EAAEA,GAAI;IACTsD,QAAQ,EAAEd,OAAO,IAAIrC,OAAO,KAAK;EAAU,GACvCC,KAAK,GAERH,QACkB,CAAC;AAE1B,CAAC,CAAC;AAEF,OAAO,IAAMsF,YAAY,gBAAG9H,KAAK,CAACoC,UAAU,CAG1C,SAAS0F,YAAYA,CAAAC,MAAA,EAAyBxF,GAAG,EAAE;EAAA,IAA3BC,QAAQ,GAAAuF,MAAA,CAARvF,QAAQ;IAAKG,KAAK,GAAAC,wBAAA,CAAAmF,MAAA,EAAAC,WAAA;EAC1C,oBACEhI,KAAA,CAAA8C,aAAA,CAAC1B,mBAAmB,EAAA2B,QAAA;IAACkF,SAAS;IAAC1F,GAAG,EAAEA;EAAI,GAAKI,KAAK,GAC/CH,QACkB,CAAC;AAE1B,CAAC,CAAC;AAEF,OAAO,IAAM0F,cAAc,gBAAGlI,KAAK,CAACoC,UAAU,CAG5C,SAAS8F,cAAcA,CAAAC,MAAA,EASvB5F,GAAG,EACH;EAAA,IAREC,QAAQ,GAAA2F,MAAA,CAAR3F,QAAQ;IACR4F,SAAS,GAAAD,MAAA,CAATC,SAAS;IAAAC,eAAA,GAAAF,MAAA,CACTG,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;IAChBE,YAAY,GAAAJ,MAAA,CAAZI,YAAY;IAAAC,iBAAA,GAAAL,MAAA,CACZM,UAAU;IAAVA,UAAU,GAAAD,iBAAA,cAAG,KAAK,GAAAA,iBAAA;IACf7F,KAAK,GAAAC,wBAAA,CAAAuF,MAAA,EAAAO,WAAA;EAIV,IAAMC,KAAK,GAAGC,OAAO,CAACL,YAAY,CAAC;EACnC,oBACEvI,KAAA,CAAA8C,aAAA,CAACd,8BAA8B;IAC7B6G,SAAS,EAAEP,QAAS;IACpBQ,MAAM,EAAEH,KAAM;IACdI,KAAK,EAAC,OAAO;IACbX,SAAS,EAAErI,EAAE,CAAC;MAAEuI,QAAQ,EAARA,QAAQ;MAAEK,KAAK,EAALA;IAAM,CAAC;EAAE,GAElCF,UAAU,iBACTzI,KAAA,CAAA8C,aAAA,CAAClC,sBAAsB,qBACrBZ,KAAA,CAAA8C,aAAA,CAAC1C,OAAO;IAAC4I,OAAO,EAAEP,UAAW;IAACQ,IAAI,EAAC;EAAI,CAAE,CACnB,CACzB,eACDjJ,KAAA,CAAA8C,aAAA,CAAC7B,wBAAwB,EAAA8B,QAAA,KACnBJ,KAAK;IACT2F,QAAQ,EAAEG,UAAU,IAAIH,QAAS;IACjC/F,GAAG,EAAEA,GAAI;IACTG,OAAO,EAAEiG,KAAK,GAAG,OAAO,GAAG;EAAG,EAC/B,CAAC,EACD,CAACF,UAAU,IAAIE,KAAK,iBACnB3I,KAAA,CAAA8C,aAAA,CAACb,6BAA6B,QAC3BsG,YAC4B,CAEH,CAAC;AAErC,CAAC,CAAC;AAEF,OAAO,IAAMW,QAAQ,gBAAGlJ,KAAK,CAACoC,UAAU,CAGtC,SAAS8G,QAAQA,CAAAC,MAAA,EAAyB5G,GAAG,EAAE;EAAA,IAA3BC,QAAQ,GAAA2G,MAAA,CAAR3G,QAAQ;IAAKG,KAAK,GAAAC,wBAAA,CAAAuG,MAAA,EAAAC,WAAA;EACtC,oBACEpJ,KAAA,CAAA8C,aAAA,CAACnC,cAAc,EAAAoC,QAAA;IAACR,GAAG,EAAEA;EAAI,GAAKI,KAAK,GAChCH,QACa,CAAC;AAErB,CAAC,CAAC;AAEF,OAAO,IAAM6G,SAAS,gBAAGrJ,KAAK,CAACoC,UAAU,CACvC,SAASiH,SAASA,CAAAC,MAAA,EAQhB/G,GAAG,EACH;EAAA,IAAAgH,eAAA,GAAAD,MAAA,CAPEhB,QAAQ;IAARA,QAAQ,GAAAiB,eAAA,cAAG,KAAK,GAAAA,eAAA;IAAAC,mBAAA,GAAAF,MAAA,CAChBf,YAAY;IAAZA,YAAY,GAAAiB,mBAAA,cAAG,EAAE,GAAAA,mBAAA;IAAAC,iBAAA,GAAAH,MAAA,CACjBb,UAAU;IAAVA,UAAU,GAAAgB,iBAAA,cAAG,KAAK,GAAAA,iBAAA;IAAAC,WAAA,GAAAJ,MAAA,CAClBL,IAAI;IAAJA,IAAI,GAAAS,WAAA,cAAG,OAAO,GAAAA,WAAA;IACX/G,KAAK,GAAAC,wBAAA,CAAA0G,MAAA,EAAAK,WAAA;EAIV,IAAMhB,KAAK,GAAGC,OAAO,CAACL,YAAY,CAAC;EACnC,oBACEvI,KAAA,CAAA8C,aAAA,CAACd,8BAA8B;IAC7B6G,SAAS,EAAEP,QAAS;IACpBQ,MAAM,EAAEH,KAAM;IACdI,KAAK,EAAEE,IAAK;IACZb,SAAS,EAAErI,EAAE,CAAC;MAAEuI,QAAQ,EAARA,QAAQ;MAAEK,KAAK,EAALA;IAAM,CAAC;EAAE,GAElCF,UAAU,iBACTzI,KAAA,CAAA8C,aAAA,CAAClC,sBAAsB,qBACrBZ,KAAA,CAAA8C,aAAA,CAAC1C,OAAO;IAAC4I,OAAO,EAAEP,UAAW;IAACQ,IAAI,EAAC;EAAI,CAAE,CACnB,CACzB,eACDjJ,KAAA,CAAA8C,aAAA,CAAC5B,oBAAoB,EAAA6B,QAAA,KACfJ,KAAK;IACTJ,GAAG,EAAEA,GAAI;IACT+F,QAAQ,EAAEG,UAAU,IAAIH;EAAS,EAClC,CAAC,EACD,CAACG,UAAU,IAAIE,KAAK,iBACnB3I,KAAA,CAAA8C,aAAA,CAACb,6BAA6B;IAAC8G,KAAK,EAAEE;EAAK,GACxCV,YAC4B,CAEH,CAAC;AAErC,CACF,CAAC;AAED,OAAO,IAAMqB,QAAQ,gBAAG5J,KAAK,CAACoC,UAAU,CAGtC,SAASwH,QAAQA,CAAAC,MAAA,EAAoCtH,GAAG,EAAE;EAAA,IAAtCC,QAAQ,GAAAqH,MAAA,CAARrH,QAAQ;IAAAsH,WAAA,GAAAD,MAAA,CAAEE,IAAI;IAAJA,IAAI,GAAAD,WAAA,cAAG,EAAE,GAAAA,WAAA;IAAKnH,KAAK,GAAAC,wBAAA,CAAAiH,MAAA,EAAAG,WAAA;EACjD,oBACEhK,KAAA,CAAA8C,aAAA,CAACmH,QAAQ;IAAC1H,GAAG,EAAEA;EAAI,gBACjBvC,KAAA,CAAA8C,aAAA,CAAC5C,WAAW,EAAA6C,QAAA;IAACgH,IAAI,EAAEA;EAAK,GAAKpH,KAAK,GAC/BH,QACU,CACL,CAAC;AAEf,CAAC,CAAC;AAEF,OAAO,IAAM0H,WAAW,gBAAGlK,KAAK,CAACoC,UAAU,CAGzC,SAAS8H,WAAWA,CAAAC,MAAA,EAAyB5H,GAAG,EAAE;EAAA,IAA3BC,QAAQ,GAAA2H,MAAA,CAAR3H,QAAQ;IAAKG,KAAK,GAAAC,wBAAA,CAAAuH,MAAA,EAAAC,WAAA;EACzC,oBACEpK,KAAA,CAAA8C,aAAA,CAAC1B,mBAAmB,EAAA2B,QAAA;IAACsH,QAAQ;IAAC9H,GAAG,EAAEA;EAAI,GAAKI,KAAK,GAC9CH,QACkB,CAAC;AAE1B,CAAC,CAAC;AAEF,OAAO,IAAM8H,UAAU,gBAAGtK,KAAK,CAACoC,UAAU,CACxC,SAASkI,UAAUA,CAAAC,MAAA,EAUjBhI,GAAG,EACH;EAAA,IAAAiI,YAAA,GAAAD,MAAA,CATEE,KAAK;IAALA,KAAK,GAAAD,YAAA,cAAG,IAAI,GAAAA,YAAA;IACZhI,QAAQ,GAAA+H,MAAA,CAAR/H,QAAQ;IACR8F,QAAQ,GAAAiC,MAAA,CAARjC,QAAQ;IACRC,YAAY,GAAAgC,MAAA,CAAZhC,YAAY;IACZH,SAAS,GAAAmC,MAAA,CAATnC,SAAS;IAAAsC,iBAAA,GAAAH,MAAA,CACT9B,UAAU;IAAVA,UAAU,GAAAiC,iBAAA,cAAG,KAAK,GAAAA,iBAAA;IACf/H,KAAK,GAAAC,wBAAA,CAAA2H,MAAA,EAAAI,WAAA;EAIV,IAAMhC,KAAK,GAAGC,OAAO,CAACL,YAAY,CAAC;EACnC,IAAMqC,YAAY,GAAG,CAACtC,QAAQ,IAAI,CAAC3F,KAAK,CAACqG,OAAO,IAAIJ,OAAO,CAACjG,KAAK,CAACkI,KAAK,CAAC;EACxE,oBACE7K,KAAA,CAAA8C,aAAA,CAACd,8BAA8B;IAC7B6G,SAAS,EAAEP,QAAS;IACpBQ,MAAM,EAAEH,KAAM;IACdI,KAAK,EAAC,OAAO;IACbX,SAAS,EAAErI,EAAE,CAAC;MAAEuI,QAAQ,EAARA,QAAQ;MAAEK,KAAK,EAALA;IAAM,CAAC;EAAE,GAElCF,UAAU,iBACTzI,KAAA,CAAA8C,aAAA,CAAClC,sBAAsB,qBACrBZ,KAAA,CAAA8C,aAAA,CAAC1C,OAAO;IAAC4I,OAAO,EAAEP,UAAW;IAACQ,IAAI,EAAC;EAAI,CAAE,CACnB,CACzB,eACDjJ,KAAA,CAAA8C,aAAA,CAACjC,uBAAuB,qBACtBb,KAAA,CAAA8C,aAAA,CAAC3B,qBAAqB,EAAA4B,QAAA,KAChBJ,KAAK;IACTmI,YAAY,EAAE,CAACnI,KAAK,CAACkI,KAAM;IAC3BE,aAAa,EAAEH,YAAa;IAC5BH,KAAK,EAAEA,KAAM;IACbrC,SAAS,EAAErI,EAAE,CAACI,oBAAoB,EAAEiI,SAAS,CAAE;IAC/CE,QAAQ,EAAEG,UAAU,IAAIH,QAAS;IACjCK,KAAK,EAAEA,KAAM;IACbpG,GAAG,EAAEA;EAAI,IAERC,QACoB,CACA,CAAC,EACzB,CAACiG,UAAU,IAAIF,YAAY,iBAC1BvI,KAAA,CAAA8C,aAAA,CAACb,6BAA6B,QAC3BsG,YAC4B,CAEH,CAAC;AAErC,CACF,CAAC;AAED,OAAO,IAAMyC,YAAY,gBAAGhL,KAAK,CAACoC,UAAU,CAG1C,SAAS4I,YAAYA,CAAAC,MAAA,EAQrB1I,GAAG,EACH;EAAA,IAPE+F,QAAQ,GAAA2C,MAAA,CAAR3C,QAAQ;IAAA4C,mBAAA,GAAAD,MAAA,CACR1C,YAAY;IAAZA,YAAY,GAAA2C,mBAAA,cAAG,EAAE,GAAAA,mBAAA;IAAAC,iBAAA,GAAAF,MAAA,CACjBxC,UAAU;IAAVA,UAAU,GAAA0C,iBAAA,cAAG,KAAK,GAAAA,iBAAA;IAAAC,gBAAA,GAAAH,MAAA,CAClBI,SAAS;IAATA,SAAS,GAAAD,gBAAA,cAAG,KAAK,GAAAA,gBAAA;IACdzI,KAAK,GAAAC,wBAAA,CAAAqI,MAAA,EAAAK,WAAA;EAIV,IAAMC,WAAW,GACdhJ,GAAG,iBACJvC,KAAK,CAACwL,SAAS,CAAsB,CAAC;EAExC,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAS;IACtB,IAAIF,WAAW,IAAIA,WAAW,CAACG,OAAO,EAAE;MACtCH,WAAW,CAACG,OAAO,CAACC,KAAK,CAACC,MAAM,GAAG,MAAM;MACzCL,WAAW,CAACG,OAAO,CAACC,KAAK,CAACC,MAAM,MAAAC,MAAA,CAAMN,WAAW,CAACG,OAAO,CAACI,YAAY,OAAI;IAC5E;EACF,CAAC;EACD,IAAMnD,KAAK,GAAGC,OAAO,CAACL,YAAY,CAAC;EACnC,oBACEvI,KAAA,CAAA8C,aAAA,CAACd,8BAA8B;IAC7B6G,SAAS,EAAEP,QAAS;IACpBQ,MAAM,EAAEH,KAAM;IACdI,KAAK,EAAC,OAAO;IACbX,SAAS,EAAErI,EAAE,CAAC;MAAEuI,QAAQ,EAARA,QAAQ;MAAEK,KAAK,EAALA;IAAM,CAAC;EAAE,GAElCF,UAAU,iBACTzI,KAAA,CAAA8C,aAAA,CAAClC,sBAAsB,qBACrBZ,KAAA,CAAA8C,aAAA,CAAC1C,OAAO;IAAC4I,OAAO,EAAEP,UAAW;IAACQ,IAAI,EAAC;EAAI,CAAE,CACnB,CACzB,eACDjJ,KAAA,CAAA8C,aAAA,CAACzB,uBAAuB,EAAA0B,QAAA,KAClBJ,KAAK;IACToJ,UAAU,EAAEV,SAAU;IACtB/C,QAAQ,EAAEG,UAAU,IAAIH,QAAS;IACjC0D,MAAM,EAAE,SAAAA,OAACC,KAAK,EAAK;MACjBR,SAAS,CAAC,CAAC;MACX9I,KAAK,CAACqJ,MAAM,IAAIrJ,KAAK,CAACqJ,MAAM,CAACC,KAAK,CAAC;IACrC,CAAE;IACF1J,GAAG,EAAEgJ,WAAY;IACjBW,MAAM,EAAC,MAAM;IACbC,IAAI,EAAE;EAAE,EACT,CAAC,EACD,CAAC1D,UAAU,IAAIE,KAAK,iBACnB3I,KAAA,CAAA8C,aAAA,CAACb,6BAA6B,QAC3BsG,YAC4B,CAEH,CAAC;AAErC,CAAC,CAAC;AAEF,OAAO,IAAM0B,QAAQ,gBAAGjK,KAAK,CAACoC,UAAU,CAGtC,SAAS6H,QAAQA,CAAAmC,MAAA,EAAyB7J,GAAG,EAAE;EAAA,IAA3BC,QAAQ,GAAA4J,MAAA,CAAR5J,QAAQ;IAAKG,KAAK,GAAAC,wBAAA,CAAAwJ,MAAA,EAAAC,WAAA;EACtC,oBACErM,KAAA,CAAA8C,aAAA,CAAC1B,mBAAmB,EAAA2B,QAAA;IAACR,GAAG,EAAEA;EAAI,GAAKI,KAAK,GACrCH,QACkB,CAAC;AAE1B,CAAC,CAAC;AAEFL,MAAM,CAACmK,WAAW,GAAG,OAAO;AAE5BlG,IAAI,CAACkG,WAAW,GAAG,YAAY;AAE/B7E,QAAQ,CAAC6E,WAAW,GAAG,gBAAgB;AAEvCnF,OAAO,CAACmF,WAAW,GAAG,eAAe;AAErCpJ,KAAK,CAACoJ,WAAW,GAAG,aAAa;AAEjC/F,QAAQ,CAAC+F,WAAW,GAAG,gBAAgB;AAEvC9I,SAAS,CAAC8I,WAAW,GAAG,iBAAiB;AAEzCxE,YAAY,CAACwE,WAAW,GAAG,oBAAoB;AAE/CpE,cAAc,CAACoE,WAAW,GAAG,kBAAkB;AAE/C3F,KAAK,CAAC2F,WAAW,GAAG,aAAa;AAEjC9F,UAAU,CAAC8F,WAAW,GAAG,kBAAkB;AAE3CvI,MAAM,CAACuI,WAAW,GAAG,cAAc;AAEnCjI,UAAU,CAACiI,WAAW,GAAG,kBAAkB;AAE3CpI,SAAS,CAACoI,WAAW,GAAG,iBAAiB;AAEzCpD,QAAQ,CAACoD,WAAW,GAAG,gBAAgB;AAEvCjD,SAAS,CAACiD,WAAW,GAAG,iBAAiB;AAEzC1C,QAAQ,CAAC0C,WAAW,GAAG,gBAAgB;AAEvCpC,WAAW,CAACoC,WAAW,GAAG,kBAAkB;AAE5CtB,YAAY,CAACsB,WAAW,GAAG,oBAAoB;AAE/CrC,QAAQ,CAACqC,WAAW,GAAG,gBAAgB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMjK,KAAK,GAAG/B,gBAAgB,CACnC;EACE8F,IAAI,EAAJA,IAAI;EACJqB,QAAQ,EAARA,QAAQ;EACRN,OAAO,EAAPA,OAAO;EACPjE,KAAK,EAALA,KAAK;EACLqD,QAAQ,EAARA,QAAQ;EACR/C,SAAS,EAATA,SAAS;EACTsE,YAAY,EAAZA,YAAY;EACZI,cAAc,EAAdA,cAAc;EACdvB,KAAK,EAALA,KAAK;EACLH,UAAU,EAAVA,UAAU;EACVzC,MAAM,EAANA,MAAM;EACNM,UAAU,EAAVA,UAAU;EACVH,SAAS,EAATA,SAAS;EACTgF,QAAQ,EAARA,QAAQ;EACRG,SAAS,EAATA,SAAS;EACTO,QAAQ,EAARA,QAAQ;EACRM,WAAW,EAAXA,WAAW;EACXI,UAAU,EAAVA,UAAU;EACVU,YAAY,EAAZA,YAAY;EACZf,QAAQ,EAARA;AACF,CAAC,EACD9H,MACF,CAAC"}
1
+ {"version":3,"file":"Table.js","names":["CurrencyFormatter","useId","VisuallyHidden","cx","React","Link","LinkElement","tableSelectClassName","Spinner","useI18nContext","addSubcomponents","StyledCarat","StyledCaratWrapper","StyledCheckbox","StyledHead","StyledIconCell","StyledLoadingContainer","StyledSelectCellWrapper","StyledTable","StyledTableBodyCell","StyledTableBodyRow","StyledTableCellDateInput","StyledTableCellInput","StyledTableCellSelect","StyledTableCellText","StyledTableCellTextArea","StyledTableGroupRow","StyledTableGroupRowContent","StyledTableGroupRowHeader","StyledTableGroupRowTitle","StyledTableHeaderCell","StyledTableHeaderCellIconWrapper","StyledTableHeaderCellLabel","StyledTableHeaderCellSortableContainer","StyledTableHeaderCellSortIconAsc","StyledTableHeaderCellSortIconDesc","StyledTableInlineEditContainer","StyledTableInlineEditErrorBox","StyledTableWrapper","Table_","forwardRef","Table","_ref","ref","children","inline","variant","props","_objectWithoutProperties","_excluded","createElement","_extends","$inline","$fixed","Carat","_ref2","_ref2$expanded","expanded","_excluded2","$expanded","Container","_ref3","_ref3$shelf","shelf","_excluded3","shadowStrength","$withShelf","Header","_ref4","_excluded4","HeaderRow","_ref5","_excluded5","HeaderCell","_ref6","sortOrder_","sortOrder","onClick","onKeyUp","onSortOrderChange_","onSortOrderChange","sortable","_ref6$snugfit","snugfit","_excluded6","I18n","descriptionId","undefined","isSortable","ariaSortValues","asc","desc","nextValue","role","tabIndex","$sortable","$sortOrder","$snugfit","e","includes","code","Fragment","id","t","Body","_ref7","_excluded7","Checkbox","GroupTitle","_ref8","_excluded8","Group","_ref9","_ref9$colSpan","colSpan","_ref9$depth","depth","_excluded9","$depth","BodyRow","_ref10","_ref10$overdue","overdue","_excluded10","$overdue","BodyCell","_ref11","_ref11$snugfit","_ref11$variant","_excluded11","CurrencyCell","_ref12","value","currencyOptions","_excluded12","$currency","internalCurrencyOptions","_objectSpread","locale","currencyIsoCode","formatter","internalValue","formatCurrency","DateSelectCell","_ref13","className","_ref13$disabled","disabled","errorMessage","_ref13$processing","processing","_excluded13","error","Boolean","$disabled","$error","$size","loading","size","IconCell","_ref14","_excluded14","InputCell","_ref15","_ref15$disabled","_ref15$errorMessage","_ref15$processing","_ref15$size","_excluded15","LinkCell","_ref16","_ref16$href","href","_excluded16","TextCell","PercentCell","_ref17","_excluded17","$percent","SelectCell","_ref18","_ref18$block","block","_ref18$processing","_excluded18","hasClearIcon","label","$placeholder","$hasClearIcon","TextAreaCell","_ref19","_ref19$errorMessage","_ref19$processing","_ref19$resizable","resizable","_excluded19","textareaRef","createRef","setHeight","current","style","height","concat","scrollHeight","$resizable","onBlur","event","resize","rows","_ref20","_excluded20","displayName"],"sources":["../../src/Table/Table.tsx"],"sourcesContent":["import type { CurrencyOptions } from '@procore/globalization-toolkit'\nimport { CurrencyFormatter } from '@procore/globalization-toolkit'\nimport { useId } from '@react-aria/utils'\nimport { VisuallyHidden } from '@react-aria/visually-hidden'\nimport cx from 'classnames'\nimport React from 'react'\nimport type { CheckboxProps } from '../Checkbox/Checkbox.types'\nimport { Link as LinkElement } from '../Link'\nimport { tableSelectClassName } from '../Select/Select.styles'\nimport { Spinner } from '../Spinner'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport type {\n AnchorAttributes,\n DivAttributes,\n SpanAttributes,\n SVGAttributes,\n TableAttributes,\n TbodyAttributes,\n TdAttributes,\n TextAreaAttributes,\n ThAttributes,\n TheadAttributes,\n TrAttributes,\n} from '../_utils/types'\nimport {\n StyledCarat,\n StyledCaratWrapper,\n StyledCheckbox,\n StyledHead,\n StyledIconCell,\n StyledLoadingContainer,\n StyledSelectCellWrapper,\n StyledTable,\n StyledTableBodyCell,\n StyledTableBodyRow,\n StyledTableCellDateInput,\n StyledTableCellInput,\n StyledTableCellSelect,\n StyledTableCellText,\n StyledTableCellTextArea,\n StyledTableGroupRow,\n StyledTableGroupRowContent,\n StyledTableGroupRowHeader,\n StyledTableGroupRowTitle,\n StyledTableHeaderCell,\n StyledTableHeaderCellIconWrapper,\n StyledTableHeaderCellLabel,\n StyledTableHeaderCellSortableContainer,\n StyledTableHeaderCellSortIconAsc,\n StyledTableHeaderCellSortIconDesc,\n StyledTableInlineEditContainer,\n StyledTableInlineEditErrorBox,\n StyledTableWrapper,\n} from './Table.styles'\nimport type {\n BodyCellProps,\n BodyProps,\n BodyRowProps,\n CaratProps,\n ContainerProps,\n CurrencyCellProps,\n DateSelectCellProps,\n GroupProps,\n GroupTitleProps,\n HeaderCellProps,\n HeaderProps,\n HeaderRowProps,\n IconCellProps,\n InputCellProps,\n LinkCellProps,\n PercentCellProps,\n SelectCellProps,\n TableColumnSortOrder,\n TableProps,\n TableTextCellProps,\n TextAreaCellProps,\n} from './Table.types'\n\nexport const Table_ = React.forwardRef<\n HTMLTableElement,\n TableAttributes & TableProps\n>(function Table({ children, inline, variant, ...props }, ref) {\n return (\n <StyledTable\n ref={ref}\n {...props}\n $inline={inline}\n $fixed={variant === 'fixed'}\n >\n {children}\n </StyledTable>\n )\n})\n\nexport const Carat = React.forwardRef<\n HTMLDivElement,\n SVGAttributes & CaratProps\n>(function Carat({ expanded = false, ...props }, ref) {\n return (\n <StyledCaratWrapper ref={ref}>\n <StyledCarat $expanded={expanded} {...props} />\n </StyledCaratWrapper>\n )\n})\n\nexport const Container = React.forwardRef<\n HTMLDivElement,\n DivAttributes & ContainerProps\n>(function Container({ children, shelf = false, ...props }, ref) {\n return (\n <StyledTableWrapper\n {...props}\n ref={ref}\n shadowStrength={0}\n $withShelf={shelf}\n >\n {children}\n </StyledTableWrapper>\n )\n})\n\nexport const Header = React.forwardRef<\n HTMLTableSectionElement,\n TheadAttributes & HeaderProps\n>(function Header({ children, ...props }, ref) {\n return (\n <StyledHead ref={ref} {...props}>\n {children}\n </StyledHead>\n )\n})\n\nexport const HeaderRow = React.forwardRef<\n HTMLTableRowElement,\n TrAttributes & HeaderRowProps\n>(function HeaderRow({ children, ...props }, ref) {\n return (\n <tr ref={ref} {...props}>\n {children}\n </tr>\n )\n})\n\nexport const HeaderCell = React.forwardRef<\n HTMLTableHeaderCellElement,\n ThAttributes & HeaderCellProps\n>(function HeaderCell(\n {\n sortOrder: sortOrder_,\n onClick,\n onKeyUp,\n onSortOrderChange: onSortOrderChange_,\n sortable,\n children,\n snugfit = false,\n variant,\n ...props\n },\n ref\n) {\n const I18n = useI18nContext()\n const descriptionId = useId()\n const sortOrder: TableColumnSortOrder | undefined =\n sortOrder_ ?? (variant !== 'snugfit' ? variant : undefined)\n const isSortable = sortOrder !== undefined && sortable !== false\n\n const ariaSortValues = {\n asc: 'ascending',\n desc: 'descending',\n '': 'none',\n } as const\n\n const onSortOrderChange = () => {\n if (!onSortOrderChange_) {\n return\n }\n\n const nextValue =\n sortOrder === '' ? 'asc' : sortOrder === 'asc' ? 'desc' : ''\n onSortOrderChange_(nextValue)\n }\n\n return (\n <StyledTableHeaderCell\n ref={ref}\n {...props}\n role=\"columnheader\"\n aria-sort={isSortable ? ariaSortValues[sortOrder ?? ''] : undefined}\n tabIndex={isSortable ? 0 : undefined}\n aria-describedby={isSortable ? descriptionId : undefined}\n $sortable={isSortable}\n $sortOrder={sortOrder}\n $snugfit={snugfit || variant === 'snugfit'}\n onKeyUp={(e) => {\n if (['Space', 'Enter'].includes(e.code) && isSortable) {\n onSortOrderChange()\n }\n return onKeyUp?.(e)\n }}\n onClick={(e) => {\n if (isSortable) {\n onSortOrderChange()\n }\n return onClick?.(e)\n }}\n >\n <StyledTableHeaderCellSortableContainer>\n <StyledTableHeaderCellLabel>{children}</StyledTableHeaderCellLabel>\n {isSortable && (\n <>\n <StyledTableHeaderCellIconWrapper aria-hidden=\"true\">\n <StyledTableHeaderCellSortIconAsc />\n <StyledTableHeaderCellSortIconDesc />\n </StyledTableHeaderCellIconWrapper>\n <VisuallyHidden aria-hidden=\"true\" id={descriptionId}>\n {I18n.t('core.table.sortableColumn')}\n </VisuallyHidden>\n </>\n )}\n </StyledTableHeaderCellSortableContainer>\n </StyledTableHeaderCell>\n )\n})\n\nexport const Body = React.forwardRef<\n HTMLTableSectionElement,\n TbodyAttributes & BodyProps\n>(function Body({ children, ...props }, ref) {\n return (\n <tbody ref={ref} {...props}>\n {children}\n </tbody>\n )\n})\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n function Checkbox(props, ref) {\n return <StyledCheckbox ref={ref} {...props} />\n }\n)\n\nexport const GroupTitle = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes & GroupTitleProps\n>(function GroupTitle({ children, ...props }, ref) {\n return (\n <StyledTableGroupRowTitle ref={ref} {...props}>\n {children}\n </StyledTableGroupRowTitle>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLTableRowElement,\n TrAttributes & GroupProps\n>(function Group({ children, colSpan = 1000, depth = false, ...props }, ref) {\n return (\n <StyledTableGroupRow ref={ref} $depth={depth} {...props}>\n <td colSpan={colSpan}>\n <StyledTableGroupRowContent>\n <StyledTableGroupRowHeader>{children}</StyledTableGroupRowHeader>\n </StyledTableGroupRowContent>\n </td>\n </StyledTableGroupRow>\n )\n})\n\nexport const BodyRow = React.forwardRef<\n HTMLTableRowElement,\n TrAttributes & BodyRowProps\n>(function BodyRow({ children, overdue = false, ...props }, ref) {\n return (\n <StyledTableBodyRow ref={ref} $overdue={overdue} {...props}>\n {children}\n </StyledTableBodyRow>\n )\n})\n\nexport const BodyCell = React.forwardRef<\n HTMLTableDataCellElement,\n TdAttributes & BodyCellProps\n>(function BodyCell(\n { children, snugfit = false, variant = '', ...props },\n ref\n) {\n return (\n <StyledTableBodyCell\n ref={ref}\n $snugfit={snugfit || variant === 'snugfit'}\n {...props}\n >\n {children}\n </StyledTableBodyCell>\n )\n})\n\nexport const CurrencyCell = React.forwardRef<\n HTMLDivElement,\n DivAttributes & CurrencyCellProps\n>(function CurrencyCell({ children, value, currencyOptions, ...props }, ref) {\n const I18n = useI18nContext()\n\n if (children) {\n return (\n <StyledTableCellText $currency ref={ref} {...props}>\n {children}\n </StyledTableCellText>\n )\n }\n\n const internalCurrencyOptions: CurrencyOptions = {\n locale: I18n.locale,\n currencyIsoCode: 'USD', // fallback to USD if currencyIsoCode is not provided\n ...currencyOptions,\n }\n const formatter = new CurrencyFormatter(internalCurrencyOptions)\n\n const internalValue = value ? formatter.formatCurrency(value) : null\n\n return (\n <StyledTableCellText $currency ref={ref} {...props}>\n {internalValue}\n </StyledTableCellText>\n )\n})\n\nexport const DateSelectCell = React.forwardRef<\n HTMLDivElement,\n DateSelectCellProps\n>(function DateSelectCell(\n {\n children,\n className,\n disabled = false,\n errorMessage,\n processing = false,\n ...props\n },\n ref\n) {\n const error = Boolean(errorMessage)\n return (\n <StyledTableInlineEditContainer\n $disabled={disabled}\n $error={error}\n $size=\"block\"\n className={cx({ disabled, error })}\n >\n {processing && (\n <StyledLoadingContainer>\n <Spinner loading={processing} size=\"md\" />\n </StyledLoadingContainer>\n )}\n <StyledTableCellDateInput\n {...props}\n disabled={processing || disabled}\n ref={ref}\n variant={error ? 'error' : ''}\n />\n {!processing && error && (\n <StyledTableInlineEditErrorBox>\n {errorMessage}\n </StyledTableInlineEditErrorBox>\n )}\n </StyledTableInlineEditContainer>\n )\n})\n\nexport const IconCell = React.forwardRef<\n HTMLDivElement,\n DivAttributes & IconCellProps\n>(function IconCell({ children, ...props }, ref) {\n return (\n <StyledIconCell ref={ref} {...props}>\n {children}\n </StyledIconCell>\n )\n})\n\nexport const InputCell = React.forwardRef<HTMLInputElement, InputCellProps>(\n function InputCell(\n {\n disabled = false,\n errorMessage = '',\n processing = false,\n size = 'block', // TODO FIX THIS TYPE\n ...props\n },\n ref\n ) {\n const error = Boolean(errorMessage)\n return (\n <StyledTableInlineEditContainer\n $disabled={disabled}\n $error={error}\n $size={size}\n className={cx({ disabled, error })}\n >\n {processing && (\n <StyledLoadingContainer>\n <Spinner loading={processing} size=\"md\" />\n </StyledLoadingContainer>\n )}\n <StyledTableCellInput\n {...props}\n ref={ref}\n disabled={processing || disabled}\n />\n {!processing && error && (\n <StyledTableInlineEditErrorBox $size={size}>\n {errorMessage}\n </StyledTableInlineEditErrorBox>\n )}\n </StyledTableInlineEditContainer>\n )\n }\n)\n\nexport const LinkCell = React.forwardRef<\n HTMLDivElement,\n AnchorAttributes & LinkCellProps\n>(function LinkCell({ children, href = '', ...props }, ref) {\n return (\n <TextCell ref={ref}>\n <LinkElement href={href} {...props}>\n {children}\n </LinkElement>\n </TextCell>\n )\n})\n\nexport const PercentCell = React.forwardRef<\n HTMLDivElement,\n DivAttributes & PercentCellProps\n>(function PercentCell({ children, ...props }, ref) {\n return (\n <StyledTableCellText $percent ref={ref} {...props}>\n {children}\n </StyledTableCellText>\n )\n})\n\nexport const SelectCell = React.forwardRef<HTMLDivElement, SelectCellProps>(\n function SelectCell(\n {\n block = true,\n children,\n disabled,\n errorMessage,\n className,\n processing = false,\n ...props\n },\n ref\n ) {\n const error = Boolean(errorMessage)\n const hasClearIcon = !disabled && !props.loading && Boolean(props.label)\n return (\n <StyledTableInlineEditContainer\n $disabled={disabled}\n $error={error}\n $size=\"block\"\n className={cx({ disabled, error })}\n >\n {processing && (\n <StyledLoadingContainer>\n <Spinner loading={processing} size=\"md\" />\n </StyledLoadingContainer>\n )}\n <StyledSelectCellWrapper>\n <StyledTableCellSelect\n {...props}\n $placeholder={!props.label}\n $hasClearIcon={hasClearIcon}\n block={block}\n className={cx(tableSelectClassName, className)}\n disabled={processing || disabled}\n error={error}\n ref={ref}\n >\n {children}\n </StyledTableCellSelect>\n </StyledSelectCellWrapper>\n {!processing && errorMessage && (\n <StyledTableInlineEditErrorBox>\n {errorMessage}\n </StyledTableInlineEditErrorBox>\n )}\n </StyledTableInlineEditContainer>\n )\n }\n)\n\nexport const TextAreaCell = React.forwardRef<\n HTMLTextAreaElement,\n TextAreaAttributes & TextAreaCellProps\n>(function TextAreaCell(\n {\n disabled,\n errorMessage = '',\n processing = false,\n resizable = false,\n ...props\n },\n ref\n) {\n const textareaRef =\n (ref as React.RefObject<HTMLTextAreaElement>) ||\n React.createRef<HTMLTextAreaElement>()\n\n const setHeight = () => {\n if (textareaRef && textareaRef.current) {\n textareaRef.current.style.height = 'auto'\n textareaRef.current.style.height = `${textareaRef.current.scrollHeight}px`\n }\n }\n const error = Boolean(errorMessage)\n return (\n <StyledTableInlineEditContainer\n $disabled={disabled}\n $error={error}\n $size=\"block\"\n className={cx({ disabled, error })}\n >\n {processing && (\n <StyledLoadingContainer>\n <Spinner loading={processing} size=\"md\" />\n </StyledLoadingContainer>\n )}\n <StyledTableCellTextArea\n {...props}\n $resizable={resizable}\n disabled={processing || disabled}\n onBlur={(event) => {\n setHeight()\n props.onBlur && props.onBlur(event)\n }}\n ref={textareaRef}\n resize=\"none\"\n rows={1}\n />\n {!processing && error && (\n <StyledTableInlineEditErrorBox>\n {errorMessage}\n </StyledTableInlineEditErrorBox>\n )}\n </StyledTableInlineEditContainer>\n )\n})\n\nexport const TextCell = React.forwardRef<\n HTMLDivElement,\n DivAttributes & TableTextCellProps\n>(function TextCell({ children, ...props }, ref) {\n return (\n <StyledTableCellText ref={ref} {...props}>\n {children}\n </StyledTableCellText>\n )\n})\n\nTable_.displayName = 'Table'\n\nBody.displayName = 'Table.Body'\n\nBodyCell.displayName = 'Table.BodyCell'\n\nBodyRow.displayName = 'Table.BodyRow'\n\nCarat.displayName = 'Table.Carat'\n\nCheckbox.displayName = 'Table.Checkbox'\n\nContainer.displayName = 'Table.Container'\n\nCurrencyCell.displayName = 'Table.CurrencyCell'\n\nDateSelectCell.displayName = 'Table.DateSelect'\n\nGroup.displayName = 'Table.Group'\n\nGroupTitle.displayName = 'Table.GroupTitle'\n\nHeader.displayName = 'Table.Header'\n\nHeaderCell.displayName = 'Table.HeaderCell'\n\nHeaderRow.displayName = 'Table.HeaderRow'\n\nIconCell.displayName = 'Table.IconCell'\n\nInputCell.displayName = 'Table.InputCell'\n\nLinkCell.displayName = 'Table.LinkCell'\n\nPercentCell.displayName = 'Table.ParentCell'\n\nTextAreaCell.displayName = 'Table.TextAreaCell'\n\nTextCell.displayName = 'Table.TextCell'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-table--demo)\n\n */\nexport const Table = addSubcomponents(\n {\n Body,\n BodyCell,\n BodyRow,\n Carat,\n Checkbox,\n Container,\n CurrencyCell,\n DateSelectCell,\n Group,\n GroupTitle,\n Header,\n HeaderCell,\n HeaderRow,\n IconCell,\n InputCell,\n LinkCell,\n PercentCell,\n SelectCell,\n TextAreaCell,\n TextCell,\n },\n Table_\n)\n"],"mappings":"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"}