@procore/core-react 11.26.1 → 11.26.2

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 (314) hide show
  1. package/dist/Avatar/Avatar.d.ts +1 -1
  2. package/dist/Avatar/Avatar.js +1 -1
  3. package/dist/Avatar/Avatar.js.map +1 -1
  4. package/dist/Avatar/Avatar.styles.js +5 -5
  5. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  6. package/dist/Badge/Badge.styles.js +2 -2
  7. package/dist/Banner/Banner.js +1 -1
  8. package/dist/Banner/Banner.js.map +1 -1
  9. package/dist/Banner/Banner.styles.js +10 -10
  10. package/dist/Box/Box.styles.js +1 -1
  11. package/dist/Breadcrumbs/Breadcrumbs.js +1 -1
  12. package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
  13. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  14. package/dist/Button/Button.d.ts +1 -1
  15. package/dist/Button/Button.js +1 -1
  16. package/dist/Button/Button.js.map +1 -1
  17. package/dist/Button/Button.styles.js +5 -5
  18. package/dist/Calendar/Calendar.styles.js +8 -8
  19. package/dist/Card/Card.d.ts +1 -1
  20. package/dist/Card/Card.js +1 -1
  21. package/dist/Card/Card.js.map +1 -1
  22. package/dist/Card/Card.styles.js +1 -1
  23. package/dist/Checkbox/Checkbox.d.ts +1 -1
  24. package/dist/Checkbox/Checkbox.js +1 -1
  25. package/dist/Checkbox/Checkbox.js.map +1 -1
  26. package/dist/Checkbox/Checkbox.styles.js +6 -6
  27. package/dist/ContactItem/ContactItem.js +1 -1
  28. package/dist/ContactItem/ContactItem.js.map +1 -1
  29. package/dist/ContactItem/ContactItem.styles.js +5 -5
  30. package/dist/Content/Content.styles.js +2 -2
  31. package/dist/DateInput/DateInput.styles.js +6 -6
  32. package/dist/DateSelect/DateSelect.d.ts +1 -1
  33. package/dist/DateSelect/DateSelect.js +1 -1
  34. package/dist/DateSelect/DateSelect.js.map +1 -1
  35. package/dist/DetailPage/DetailPage.d.ts +1 -1
  36. package/dist/DetailPage/DetailPage.js +1 -1
  37. package/dist/DetailPage/DetailPage.js.map +1 -1
  38. package/dist/DetailPage/DetailPage.styles.js +7 -7
  39. package/dist/Dropdown/Dropdown.js +1 -1
  40. package/dist/Dropdown/Dropdown.js.map +1 -1
  41. package/dist/Dropdown/Dropdown.styles.js +3 -3
  42. package/dist/DropdownFlyout/DropdownFlyout.d.ts +1 -1
  43. package/dist/DropdownFlyout/DropdownFlyout.js +1 -1
  44. package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
  45. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  46. package/dist/Dropzone/Dropzone.js +2 -2
  47. package/dist/Dropzone/Dropzone.js.map +1 -1
  48. package/dist/Dropzone/Dropzone.styles.js +9 -9
  49. package/dist/EmptyState/EmptyState.js +1 -1
  50. package/dist/EmptyState/EmptyState.js.map +1 -1
  51. package/dist/EmptyState/EmptyState.styles.js +6 -6
  52. package/dist/Field/Field.styles.js +3 -3
  53. package/dist/FileList/FileList.d.ts +1 -1
  54. package/dist/FileList/FileList.js +1 -1
  55. package/dist/FileList/FileList.js.map +1 -1
  56. package/dist/FileList/FileList.styles.js +4 -4
  57. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  58. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  59. package/dist/FileSelect/FileSelect.styles.js +2 -2
  60. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  61. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  62. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  63. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  64. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  65. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  66. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  67. package/dist/FileToken/FileToken.styles.js +4 -4
  68. package/dist/FilterToken/FilterToken.styles.js +2 -2
  69. package/dist/FlexList/FlexList.styles.js +1 -1
  70. package/dist/Form/Form.styles.js +16 -16
  71. package/dist/Grid/Grid.styles.js +2 -2
  72. package/dist/GroupSelect/GroupSelect.d.ts +1 -1
  73. package/dist/GroupSelect/GroupSelect.js +1 -1
  74. package/dist/GroupSelect/GroupSelect.js.map +1 -1
  75. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  76. package/dist/Input/Input.d.ts +1 -1
  77. package/dist/Input/Input.js +1 -1
  78. package/dist/Input/Input.js.map +1 -1
  79. package/dist/Input/Input.styles.js +1 -1
  80. package/dist/Link/Link.d.ts +1 -1
  81. package/dist/Link/Link.js +1 -1
  82. package/dist/Link/Link.js.map +1 -1
  83. package/dist/Link/Link.styles.js +1 -1
  84. package/dist/ListPage/ListPage.styles.js +8 -8
  85. package/dist/Loader/Loader.styles.js +2 -2
  86. package/dist/Menu/Menu.d.ts +1 -1
  87. package/dist/Menu/Menu.js +1 -1
  88. package/dist/Menu/Menu.js.map +1 -1
  89. package/dist/MenuImperative/MenuImperative.js +1 -1
  90. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  91. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  92. package/dist/Modal/Modal.js +1 -1
  93. package/dist/Modal/Modal.js.map +1 -1
  94. package/dist/Modal/Modal.styles.js +13 -13
  95. package/dist/MultiSelect/MultiSelect.js +1 -1
  96. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  97. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  98. package/dist/NextMenu/NextMenu.d.ts +1 -1
  99. package/dist/NextMenu/NextMenu.js +1 -1
  100. package/dist/NextMenu/NextMenu.js.map +1 -1
  101. package/dist/NextMenu/NextMenu.styles.js +3 -3
  102. package/dist/Notation/Notation.d.ts +1 -1
  103. package/dist/Notation/Notation.js +2 -2
  104. package/dist/Notation/Notation.js.map +1 -1
  105. package/dist/NumberInput/NumberInput.d.ts +1 -1
  106. package/dist/NumberInput/NumberInput.js +1 -1
  107. package/dist/NumberInput/NumberInput.js.map +1 -1
  108. package/dist/NumberInput/NumberInput.styles.js +7 -7
  109. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  110. package/dist/OverlayTrigger/OverlayTrigger.d.ts +1 -1
  111. package/dist/OverlayTrigger/OverlayTrigger.js +1 -1
  112. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  113. package/dist/PageLayout/PageLayout.styles.js +13 -13
  114. package/dist/Pagination/Pagination.d.ts +1 -1
  115. package/dist/Pagination/Pagination.js +1 -1
  116. package/dist/Pagination/Pagination.js.map +1 -1
  117. package/dist/Pagination/Pagination.styles.js +5 -5
  118. package/dist/Panel/Panel.js +1 -1
  119. package/dist/Panel/Panel.js.map +1 -1
  120. package/dist/Panel/Panel.styles.js +11 -11
  121. package/dist/Pill/Pill.d.ts +1 -1
  122. package/dist/Pill/Pill.js +1 -1
  123. package/dist/Pill/Pill.js.map +1 -1
  124. package/dist/Pill/Pill.styles.js +2 -2
  125. package/dist/PillSelect/PillSelect.d.ts +1 -1
  126. package/dist/PillSelect/PillSelect.js +1 -1
  127. package/dist/PillSelect/PillSelect.js.map +1 -1
  128. package/dist/PillSelect/PillSelect.styles.js +4 -4
  129. package/dist/Popover/Popover.d.ts +1 -1
  130. package/dist/Popover/Popover.js +1 -1
  131. package/dist/Popover/Popover.js.map +1 -1
  132. package/dist/Popover/Popover.styles.js +2 -2
  133. package/dist/Portal/Portal.d.ts +1 -1
  134. package/dist/Portal/Portal.js +1 -1
  135. package/dist/Portal/Portal.js.map +1 -1
  136. package/dist/Portal/Portal.styles.js +1 -1
  137. package/dist/ProgressBar/ProgressBar.d.ts +1 -1
  138. package/dist/ProgressBar/ProgressBar.js +1 -1
  139. package/dist/ProgressBar/ProgressBar.js.map +1 -1
  140. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  141. package/dist/RadioButton/RadioButton.d.ts +1 -1
  142. package/dist/RadioButton/RadioButton.js +1 -1
  143. package/dist/RadioButton/RadioButton.js.map +1 -1
  144. package/dist/RadioButton/RadioButton.styles.js +3 -3
  145. package/dist/Required/Required.d.ts +1 -1
  146. package/dist/Required/Required.js +1 -1
  147. package/dist/Required/Required.js.map +1 -1
  148. package/dist/Required/Required.styles.js +3 -3
  149. package/dist/Search/Search.d.ts +1 -1
  150. package/dist/Search/Search.js +1 -1
  151. package/dist/Search/Search.js.map +1 -1
  152. package/dist/Search/Search.styles.js +5 -5
  153. package/dist/Section/Section.styles.js +6 -6
  154. package/dist/SegmentedController/SegmentedController.d.ts +1 -1
  155. package/dist/SegmentedController/SegmentedController.js +1 -1
  156. package/dist/SegmentedController/SegmentedController.js.map +1 -1
  157. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  158. package/dist/Select/Select.js +1 -1
  159. package/dist/Select/Select.js.map +1 -1
  160. package/dist/Select/Select.styles.js +7 -7
  161. package/dist/Semantic/Semantic.styles.js +9 -9
  162. package/dist/Sidebar/Sidebar.styles.js +7 -7
  163. package/dist/Slider/Slider.d.ts +1 -1
  164. package/dist/Slider/Slider.js +1 -1
  165. package/dist/Slider/Slider.js.map +1 -1
  166. package/dist/Slider/Slider.styles.js +5 -5
  167. package/dist/Spinner/Spinner.d.ts +1 -1
  168. package/dist/Spinner/Spinner.js +1 -1
  169. package/dist/Spinner/Spinner.js.map +1 -1
  170. package/dist/Spinner/Spinner.styles.js +7 -7
  171. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  172. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  173. package/dist/Switch/Switch.d.ts +1 -1
  174. package/dist/Switch/Switch.js +1 -1
  175. package/dist/Switch/Switch.js.map +1 -1
  176. package/dist/Switch/Switch.styles.js +4 -4
  177. package/dist/Table/Table.d.ts +1 -1
  178. package/dist/Table/Table.js +1 -1
  179. package/dist/Table/Table.js.map +1 -1
  180. package/dist/Table/Table.styles.js +28 -28
  181. package/dist/TableShelf/TableShelf.styles.js +5 -5
  182. package/dist/Tabs/Tabs.d.ts +1 -1
  183. package/dist/Tabs/Tabs.js +1 -1
  184. package/dist/Tabs/Tabs.js.map +1 -1
  185. package/dist/Tabs/Tabs.styles.js +8 -8
  186. package/dist/Tearsheet/Tearsheet.d.ts +1 -1
  187. package/dist/Tearsheet/Tearsheet.js +1 -1
  188. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  189. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  190. package/dist/TextArea/TextArea.d.ts +1 -1
  191. package/dist/TextArea/TextArea.js +1 -1
  192. package/dist/TextArea/TextArea.js.map +1 -1
  193. package/dist/TextArea/TextArea.styles.js +1 -1
  194. package/dist/TextEditor/TextEditor.d.ts +1 -1
  195. package/dist/TextEditor/TextEditor.js +1 -1
  196. package/dist/TextEditor/TextEditor.js.map +1 -1
  197. package/dist/TextEditorOutput/TextEditorOutput.d.ts +1 -1
  198. package/dist/TextEditorOutput/TextEditorOutput.js +1 -1
  199. package/dist/TextEditorOutput/TextEditorOutput.js.map +1 -1
  200. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  201. package/dist/Thumbnail/Thumbnail.js +1 -1
  202. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  203. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  204. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  205. package/dist/TieredSelect/TieredSelect.d.ts +1 -1
  206. package/dist/TieredSelect/TieredSelect.js +1 -1
  207. package/dist/TieredSelect/TieredSelect.js.map +1 -1
  208. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  209. package/dist/Tile/Tile.styles.js +8 -8
  210. package/dist/Title/Title.styles.js +7 -7
  211. package/dist/Toast/Toast.d.ts +1 -1
  212. package/dist/Toast/Toast.js +1 -1
  213. package/dist/Toast/Toast.js.map +1 -1
  214. package/dist/Toast/Toast.styles.js +3 -3
  215. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  216. package/dist/ToggleButton/ToggleButton.js +1 -1
  217. package/dist/ToggleButton/ToggleButton.js.map +1 -1
  218. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  219. package/dist/Token/Token.d.ts +1 -1
  220. package/dist/Token/Token.js +1 -1
  221. package/dist/Token/Token.js.map +1 -1
  222. package/dist/Token/Token.styles.js +3 -3
  223. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  224. package/dist/Tooltip/Tooltip.js +1 -1
  225. package/dist/Tooltip/Tooltip.js.map +1 -1
  226. package/dist/Tooltip/Tooltip.styles.js +2 -2
  227. package/dist/Tree/Tree.d.ts +1 -1
  228. package/dist/Tree/Tree.js +1 -1
  229. package/dist/Tree/Tree.js.map +1 -1
  230. package/dist/Tree/Tree.styles.js +9 -9
  231. package/dist/Typeahead/Typeahead.d.ts +1 -1
  232. package/dist/Typeahead/Typeahead.js +1 -1
  233. package/dist/Typeahead/Typeahead.js.map +1 -1
  234. package/dist/Typeahead/Typeahead.styles.js +3 -3
  235. package/dist/Typography/Typography.d.ts +1 -1
  236. package/dist/Typography/Typography.js +1 -1
  237. package/dist/Typography/Typography.js.map +1 -1
  238. package/dist/Typography/Typography.styles.js +1 -1
  239. package/dist/Typography/Typography.table.story.js +2 -2
  240. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  241. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +23 -23
  242. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  243. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  244. package/dist/_typedoc/Box/Box.types.json +68 -68
  245. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  246. package/dist/_typedoc/Button/Button.types.json +11 -11
  247. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  248. package/dist/_typedoc/Card/Card.types.json +6 -6
  249. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  250. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  251. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  252. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  253. package/dist/_typedoc/DetailPage/DetailPage.types.json +4 -4
  254. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  255. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  256. package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
  257. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  258. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  259. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  260. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  261. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  262. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  263. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  264. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  265. package/dist/_typedoc/Form/Form.types.json +726 -726
  266. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  267. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  268. package/dist/_typedoc/Input/Input.types.json +2 -2
  269. package/dist/_typedoc/Link/Link.types.json +4 -4
  270. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  271. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  272. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  273. package/dist/_typedoc/Modal/Modal.types.json +41 -41
  274. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  275. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  276. package/dist/_typedoc/NumberInput/NumberInput.types.json +38 -38
  277. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
  278. package/dist/_typedoc/PageLayout/PageLayout.types.json +22 -22
  279. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  280. package/dist/_typedoc/Panel/Panel.types.json +27 -27
  281. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  282. package/dist/_typedoc/PillSelect/PillSelect.types.json +47 -47
  283. package/dist/_typedoc/Popover/Popover.types.json +14 -14
  284. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  285. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  286. package/dist/_typedoc/Required/Required.types.json +5 -5
  287. package/dist/_typedoc/Search/Search.types.json +18 -18
  288. package/dist/_typedoc/Section/Section.types.json +14 -14
  289. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
  290. package/dist/_typedoc/Select/Select.types.json +57 -57
  291. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  292. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  293. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  294. package/dist/_typedoc/Table/Table.types.json +97 -97
  295. package/dist/_typedoc/Tabs/Tabs.types.json +17 -17
  296. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
  297. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  298. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  299. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  300. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  301. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  302. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  303. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  304. package/dist/_typedoc/Title/Title.types.json +1 -1
  305. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  306. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +3 -3
  307. package/dist/_typedoc/Token/Token.types.json +4 -4
  308. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  309. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  310. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  311. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  312. package/dist/_typedoc/Typography/Typography.types.json +8 -8
  313. package/dist/_typedoc/_utils/types.json +3 -3
  314. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","names":["formatCurrencyToParts","findIndex","React","useI18nContext","spacing","mergeRefs","defaultCurrencyFillDecimalScale","defaultCurrencyInputPrefix","useNumberFormat","usePrevious","addonRootFontFamily","addonRootFontSize","addonRootPadding","inputDefaultXPadding","StyledIncrementerButton","StyledIncrementerWrapper","StyledInput","StyledPrefix","StyledSuffix","StyledWrapper","backspaceKey","commaKey","controlKey","copyKey","defaultLocale","deleteKey","emptyString","format","getNewCursorPosition","getSeparators","highlightAllKey","identicalLocales","identifyPressedKey","maxDigitLength","metaKeyIdentifier","minus","numericKeypadKey","periodKey","prepareValueToFormatting","toFixed","unformat","noop","PlusIcon","createElement","width","height","viewBox","xmlns","d","MinusIcon","NumberInput","forwardRef","_ref","ref","_ref$decimalScale","decimalScale","defaultValue","_ref$disabled","disabled","_ref$error","error","_ref$fillDecimalScale","fillDecimalScale","_locale","locale","_onChange","onChange","_ref$onKeyDown","onKeyDown","_onKeyDown","_ref$onBlur","onBlur","_onBlur","_ref$prefix","prefix","readOnly","_ref$step","step","style","_ref$suffix","suffix","value","qa","props","_objectWithoutProperties","_excluded","I18n","contextLocale","inputRef","useRef","_useNumberFormat","verifiedDecimalScale","fillDecimalScaleOnBlur","fixedDecimalScale","formatValue","getValueLengthInfo","isControlled","undefined","isControlledWithoutOnChangeHandlerAndReadOnlyAttribute","hasIncrementer","_React$useMemo","useMemo","group","decimal","decimalSeparatorKey","inputPadding","fontContext","concat","element","document","context","getContext","font","extraBasePadding","suffixPadding","Math","ceil","measureText","getRightPadding","xl","left","right","getValueChange","useCallback","_unformat","parsedNumber","isNaN","externalOnChange","_React$useState","useState","_React$useState2","_slicedToArray","inputValue","setInputValue","_React$useState3","_React$useState4","prevValue","setPrevValue","_React$useState5","selectionStart","selectionEnd","selection","_React$useState6","prevCursorPosition","setPrevCursorPosition","_React$useState7","_React$useState8","pressedKey","setPressedKey","prevLocale","useLayoutEffect","formattedValue","console","useEffect","prev","newValue","_inputRef$current","displayValue","current","lastChar","length","lastCharIsPending","includes","decimals","split","lastDecimalIsZero","onlyMinusDisplayed","getNewValueAndCursorPosition","preparedValue","newCursorPosition","adjustCursor","newPosition","_inputRef$current2","setSelectionRange","setTimeout","_inputRef$current3","makeStep","down","arguments","getSignificantPrecision","fraction","reversedFraction","reverse","indexOfLastSignificantFractionDigit","i","slice","_unformat2","_unformat3","stepFraction","prevValuePrecision","prevValueSignificantPrecision","rawStepPrecision","rawStepPrecisionExceedsDecimalScale","stepPrecision","warn","diff","precision","max","significantPrecision","calculated","_getValueLengthInfo","isSafeLength","isSafeIntegerLength","rejectStepByLengthLimit","formatted","internalOnKeyDown","e","ctrlKey","metaKey","key","_e$target","target","preserveDecimalSeparator","decimalBackspaced","decimalDeleted","nonReplacingKeys","decimalReplacedAsSelection","preserveDecimal","base","shift","cursorPosition","preventDefault","isDecimalSeparatorPreserved","_getValueLengthInfo2","safeIntegerLength","integerLength","fractionLength","decimalSeparatorCanNotBeRemoved","handleIncrementer","internalOnChange","inputType","nativeEvent","_getNewValueAndCursor","internalOnBlur","_unformat4","integer","shouldValueBeCleared","shouldIntegerPartBeFilled","isDecimalSeparatorRedundant","isDecimalScaleNotFilled","shouldDecimalScaleBeFilled","getNewValue","numberOfZerosToPad","Array","from","_","join","replace","RegExp","wrapper","_extends","inputMode","_objectSpread","paddingLeft","paddingRight","withIncrementer","type","tabIndex","increment","onClick","decrement","displayName","getCurrencyProps","_decimalScale","symbol","currencyIsoCode","currencyDisplay","_parts$find","_parts$find2","currencyOptions","parts","formatterDecimalScale","find","part","placement","object","currencyIsoSymbol","toString","currencyProps","CurrencyInput","_ref2","_ref2$fillDecimalScal","_ref2$prefix","_excluded2"],"sources":["../../src/NumberInput/NumberInput.tsx"],"sourcesContent":["import type {\n CurrencyDisplay,\n CurrencyOptions,\n} from '@procore/globalization-toolkit'\nimport { formatCurrencyToParts } from '@procore/globalization-toolkit'\nimport { findIndex } from 'ramda'\nimport React from 'react'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { spacing } from '../_styles/spacing'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport {\n defaultCurrencyFillDecimalScale,\n defaultCurrencyInputPrefix,\n} from './NumberInput.constants'\nimport { useNumberFormat, usePrevious } from './NumberInput.hooks'\nimport {\n addonRootFontFamily,\n addonRootFontSize,\n addonRootPadding,\n inputDefaultXPadding,\n StyledIncrementerButton,\n StyledIncrementerWrapper,\n StyledInput,\n StyledPrefix,\n StyledSuffix,\n StyledWrapper,\n} from './NumberInput.styles'\nimport type {\n CurrencyInputProps,\n CurrencyProps,\n CursorPosition,\n NumberInputProps,\n PressedKey,\n} from './NumberInput.types'\nimport {\n backspaceKey,\n commaKey,\n controlKey,\n copyKey,\n defaultLocale,\n deleteKey,\n emptyString,\n format,\n getNewCursorPosition,\n getSeparators,\n highlightAllKey,\n identicalLocales,\n identifyPressedKey,\n maxDigitLength,\n metaKeyIdentifier,\n minus,\n numericKeypadKey,\n periodKey,\n prepareValueToFormatting,\n toFixed,\n unformat,\n} from './NumberInput.utils'\n\nfunction noop() {}\n\nconst PlusIcon = () => (\n <svg\n width=\"8\"\n height=\"8\"\n viewBox=\"0 0 8 8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.5 0H3.5V3.5H0V4.5H3.5V8H4.5V4.5H8V3.5H4.5V0Z\" />\n </svg>\n)\n\nconst MinusIcon = () => (\n <svg\n width=\"8\"\n height=\"2\"\n viewBox=\"0 0 8 2\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.5 0.5H3.5H0V1.5H3.5H4.5H8V0.5H4.5Z\" />\n </svg>\n)\n\n/**\n\n The number input allows users to add numbers to a given form or table.\n The currency input will be used for data with a monetary value.\n Both components allow characters 0-9, periods, and commas. In order to avoid\n the loss of precision, the number length is limited by 15 digits.\n\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/core-react/latest/?path=/story/demos-numberinput--demo-number-input)\n\n @see [Design Guidelines](https://design.procore.com/number-and-currency-input)\n\n */\nexport const NumberInput = React.forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n decimalScale = true,\n defaultValue,\n disabled = false,\n error = false,\n fillDecimalScale = 'none',\n locale: _locale,\n onChange: _onChange,\n onKeyDown: _onKeyDown = noop,\n onBlur: _onBlur = noop,\n prefix = emptyString,\n readOnly,\n step = 0,\n style,\n suffix = emptyString,\n value,\n qa,\n ...props\n },\n ref\n ) => {\n const I18n = useI18nContext()\n const contextLocale = _locale || I18n.locale || defaultLocale\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const {\n decimalScale: verifiedDecimalScale,\n fillDecimalScaleOnBlur,\n fixedDecimalScale,\n formatValue,\n getValueLengthInfo,\n locale,\n } = useNumberFormat({\n decimalScale,\n fillDecimalScale,\n locale: contextLocale,\n })\n\n const isControlled = value !== undefined\n const isControlledWithoutOnChangeHandlerAndReadOnlyAttribute =\n isControlled && !_onChange && !readOnly\n const hasIncrementer = step > 0 && !readOnly\n\n const { group, decimal } = React.useMemo(\n () => getSeparators(locale),\n [locale]\n )\n const decimalSeparatorKey = React.useMemo(() => {\n return decimal === periodKey ? periodKey : commaKey\n }, [decimal])\n\n const inputPadding = React.useMemo((): {\n left: number\n right: number | null\n } => {\n const fontContext = `${addonRootFontSize} \"${addonRootFontFamily}\"`\n\n if (prefix || suffix) {\n const element = document.createElement('canvas')\n const context = element?.getContext('2d')\n\n if (context) {\n context.font = fontContext\n\n const extraBasePadding = inputDefaultXPadding + addonRootPadding\n\n const suffixPadding =\n extraBasePadding + Math.ceil(context.measureText(suffix).width)\n\n const getRightPadding = () => {\n if (hasIncrementer && suffix) {\n return suffixPadding + spacing.xl\n }\n if (suffix) {\n return suffixPadding\n }\n return null\n }\n\n return {\n left: prefix\n ? extraBasePadding + Math.ceil(context.measureText(prefix).width)\n : inputDefaultXPadding,\n right: getRightPadding(),\n }\n }\n }\n\n return {\n left: inputDefaultXPadding,\n right: null,\n }\n }, [prefix, suffix, hasIncrementer])\n\n const getValueChange = React.useCallback(\n (value: string) => {\n const { parsedNumber } = unformat(locale, value)\n return {\n value,\n parsedNumber: isNaN(parsedNumber) ? null : parsedNumber,\n }\n },\n [locale]\n )\n\n const externalOnChange = React.useCallback(\n (value: string) => _onChange && _onChange(getValueChange(value)),\n [_onChange, getValueChange]\n )\n\n const [inputValue, setInputValue] = React.useState(\n formatValue(defaultValue)\n )\n const [prevValue, setPrevValue] = React.useState(\n isControlled ? formatValue(value) : inputValue\n )\n const [prevCursorPosition, setPrevCursorPosition] =\n React.useState<CursorPosition>({\n selectionStart: 0,\n selectionEnd: 0,\n selection: emptyString,\n })\n const [pressedKey, setPressedKey] = React.useState()\n const prevLocale = usePrevious(locale)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n React.useLayoutEffect(() => {\n const formattedValue = formatValue(value)\n if (isControlled && inputValue !== formattedValue) {\n setInputValue(formattedValue)\n }\n\n if (isControlledWithoutOnChangeHandlerAndReadOnlyAttribute) {\n console.error(\n `Warning: Failed prop type: You provided a \\`value\\` prop to a form field without an \\`onChange\\` handler.\n This will render a read-only field. If the field should be mutable use \\`defaultValue\\`.\n Otherwise, set either \\`onChange\\` or \\`readOnly\\`.`\n )\n }\n }, [value])\n\n React.useEffect(() => {\n if (prevLocale && !identicalLocales(prevLocale, locale)) {\n setInputValue((prev) => {\n const newValue = formatValue(unformat(prevLocale, prev).parsedNumber)\n externalOnChange(newValue)\n return newValue\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prevLocale, formatValue])\n\n React.useLayoutEffect(() => {\n const displayValue = inputRef.current?.value || ''\n if (!_onChange || !displayValue) {\n return\n }\n const formattedValue = formatValue(value)\n\n if (displayValue !== formattedValue) {\n const lastChar = displayValue[displayValue.length - 1]\n const lastCharIsPending = [periodKey, commaKey].includes(lastChar)\n\n const decimals = displayValue.split(decimal)[1] || ''\n const lastDecimalIsZero =\n decimals && decimals[decimals.length - 1] === '0'\n\n const onlyMinusDisplayed = displayValue === minus\n\n // a client state and display mismatch is only valid when\n if (lastCharIsPending || lastDecimalIsZero || onlyMinusDisplayed) {\n return\n }\n\n // otherwise sync display with client state\n setInputValue(formattedValue)\n }\n })\n\n const getNewValueAndCursorPosition = (\n value: string,\n pressedKey: PressedKey\n ) => {\n const preparedValue = prepareValueToFormatting(\n decimal,\n decimalSeparatorKey,\n group,\n pressedKey,\n prevCursorPosition,\n prevValue,\n verifiedDecimalScale,\n value\n )\n const newValue = formatValue(preparedValue)\n\n return {\n newValue,\n newCursorPosition: getNewCursorPosition(\n decimal,\n decimalSeparatorKey,\n group,\n newValue,\n pressedKey,\n prevCursorPosition,\n prevValue,\n value,\n verifiedDecimalScale,\n locale,\n fillDecimalScale\n ),\n }\n }\n\n const adjustCursor = (newPosition: number) => {\n inputRef.current?.setSelectionRange(newPosition, newPosition)\n // Mobile Chrome adjustment\n setTimeout(\n () => inputRef.current?.setSelectionRange(newPosition, newPosition),\n 0\n )\n }\n\n const makeStep = (down = false) => {\n const getSignificantPrecision = (fraction: string) => {\n const reversedFraction = fraction.split(emptyString).reverse()\n const indexOfLastSignificantFractionDigit = findIndex(\n (i) => i !== '0',\n reversedFraction\n )\n\n return indexOfLastSignificantFractionDigit > -1\n ? reversedFraction.slice(indexOfLastSignificantFractionDigit).length\n : 0\n }\n\n const { parsedNumber, fraction } = unformat(locale, inputValue)\n const { fraction: stepFraction } = unformat(locale, step)\n\n const prevValuePrecision = fraction.length || 0\n const prevValueSignificantPrecision = getSignificantPrecision(fraction)\n const rawStepPrecision = stepFraction.length || 0\n const rawStepPrecisionExceedsDecimalScale =\n rawStepPrecision > verifiedDecimalScale\n const stepPrecision = rawStepPrecisionExceedsDecimalScale\n ? verifiedDecimalScale\n : rawStepPrecision\n\n if (rawStepPrecisionExceedsDecimalScale) {\n console.warn(\n `WARNING: Step's value was rounded since its scale (${rawStepPrecision}) exceeds the decimal scale (${verifiedDecimalScale}).`\n )\n }\n\n const diff = toFixed(step, stepPrecision) * (down ? -1 : 1)\n const precision = Math.max(\n stepPrecision,\n fixedDecimalScale ? verifiedDecimalScale : prevValuePrecision\n )\n const significantPrecision = Math.max(\n prevValueSignificantPrecision,\n stepPrecision\n )\n const calculated = inputValue\n ? ((parsedNumber || 0) + diff).toFixed(significantPrecision)\n : diff\n\n const { isSafeLength, isSafeIntegerLength } = getValueLengthInfo(\n calculated,\n true\n )\n\n const rejectStepByLengthLimit = !isSafeLength || !isSafeIntegerLength\n\n if (rejectStepByLengthLimit) {\n console.warn(\n `WARNING: Incrementer's step was not fulfilled since result oversteps input ${maxDigitLength}-digit limit and can't be presented without a loss of precision.`\n )\n return\n }\n\n const formatted = format(locale, precision, 'always', calculated, true)\n\n setInputValue(formatted)\n externalOnChange(formatted)\n }\n\n const internalOnKeyDown = (e: any) => {\n const {\n ctrlKey,\n metaKey,\n key,\n target: { value, selectionStart, selectionEnd },\n } = e\n\n const selection = value.slice(selectionStart, selectionEnd)\n\n setPressedKey(key)\n setPrevCursorPosition({\n selectionStart,\n selectionEnd,\n selection,\n })\n setPrevValue(value)\n\n const preserveDecimalSeparator = () => {\n const decimalBackspaced =\n !selection &&\n [backspaceKey].includes(key) &&\n value[selectionEnd - 1] === decimal\n\n const decimalDeleted =\n !selection &&\n [deleteKey, numericKeypadKey].includes(key) &&\n value[selectionEnd] === decimal\n\n const nonReplacingKeys =\n [metaKeyIdentifier, controlKey, highlightAllKey, copyKey].includes(\n key\n ) &&\n (ctrlKey || metaKey)\n\n const decimalReplacedAsSelection =\n selection &&\n selection.includes(decimal) &&\n selection.length < value.length &&\n !nonReplacingKeys\n\n const preserveDecimal =\n decimalBackspaced || decimalDeleted || decimalReplacedAsSelection\n\n if (preserveDecimal) {\n const base = decimalReplacedAsSelection\n ? selectionStart\n : selectionEnd\n\n const shift = (decimalBackspaced && -1) || (decimalDeleted && 1) || 0\n\n const cursorPosition = base + shift\n\n e.preventDefault()\n adjustCursor(cursorPosition)\n }\n }\n\n const isDecimalSeparatorPreserved = () => {\n const { safeIntegerLength, integerLength, fractionLength } =\n getValueLengthInfo(value)\n\n const decimalSeparatorCanNotBeRemoved =\n safeIntegerLength - integerLength < fractionLength\n\n return (\n (fillDecimalScaleOnBlur && decimalSeparatorCanNotBeRemoved) ||\n fixedDecimalScale\n )\n }\n\n if (isDecimalSeparatorPreserved()) {\n preserveDecimalSeparator()\n }\n\n const handleIncrementer = () => {\n switch (key) {\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n makeStep()\n break\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n makeStep(true)\n break\n }\n }\n\n if (hasIncrementer) {\n handleIncrementer()\n }\n\n _onKeyDown(e)\n }\n\n const internalOnChange = (e: any) => {\n if (isControlledWithoutOnChangeHandlerAndReadOnlyAttribute) return\n\n const {\n target: { value },\n nativeEvent: { inputType },\n } = e\n\n const { newValue, newCursorPosition } = getNewValueAndCursorPosition(\n value,\n identifyPressedKey(\n decimalSeparatorKey,\n inputType,\n pressedKey,\n prevValue,\n value\n )\n )\n // Prevent cursor flickering\n e.target.value = newValue\n\n setInputValue(newValue)\n adjustCursor(newCursorPosition)\n\n if (newValue !== prevValue) {\n externalOnChange(newValue)\n }\n }\n\n const internalOnBlur = (e: any) => {\n const { integer, fraction } = unformat(locale, inputValue)\n\n const shouldValueBeCleared =\n inputValue === minus ||\n inputValue === decimal ||\n inputValue === `${minus}${decimal}`\n const shouldIntegerPartBeFilled =\n fraction.length > 0 && (integer === emptyString || integer === minus)\n const isDecimalSeparatorRedundant =\n verifiedDecimalScale > 0 &&\n inputValue[inputValue.length - 1] === decimal &&\n !fillDecimalScaleOnBlur\n const isDecimalScaleNotFilled = verifiedDecimalScale - fraction.length > 0\n const shouldDecimalScaleBeFilled =\n fillDecimalScaleOnBlur && isDecimalScaleNotFilled\n\n if (\n shouldValueBeCleared ||\n shouldIntegerPartBeFilled ||\n isDecimalSeparatorRedundant ||\n shouldDecimalScaleBeFilled\n ) {\n const getNewValue = () => {\n if (shouldValueBeCleared) {\n return emptyString\n }\n if (shouldIntegerPartBeFilled) {\n const numberOfZerosToPad = verifiedDecimalScale - fraction.length\n return `${integer}0${decimal}${\n shouldDecimalScaleBeFilled\n ? fraction.concat(\n Array.from({ length: numberOfZerosToPad }, (_) => '0').join(\n emptyString\n )\n )\n : fraction\n }`\n }\n if (isDecimalSeparatorRedundant) {\n return inputValue.replace(\n new RegExp(`[${decimal}]`, 'g'),\n emptyString\n )\n }\n if (shouldDecimalScaleBeFilled) {\n return format(locale, verifiedDecimalScale, 'always', inputValue)\n }\n\n return inputValue\n }\n const newValue = getNewValue()\n setInputValue(newValue)\n externalOnChange(newValue)\n }\n\n _onBlur(e)\n }\n\n return (\n <StyledWrapper hasIncrementer={hasIncrementer} data-qa={qa?.wrapper}>\n <StyledInput\n value={inputValue}\n disabled={disabled}\n error={error}\n onKeyDown={internalOnKeyDown}\n onChange={internalOnChange}\n onBlur={internalOnBlur}\n inputMode=\"numeric\"\n readOnly={readOnly}\n style={{\n ...style,\n ...{\n paddingLeft: `${inputPadding.left}px`,\n paddingRight: `${inputPadding.right}px`,\n },\n }}\n {...props}\n ref={mergeRefs(ref, inputRef)}\n />\n {prefix && <StyledPrefix disabled={disabled}>{prefix}</StyledPrefix>}\n {suffix && (\n <StyledSuffix withIncrementer={hasIncrementer} disabled={disabled}>\n {suffix}\n </StyledSuffix>\n )}\n {hasIncrementer && (\n <StyledIncrementerWrapper>\n <StyledIncrementerButton\n aria-hidden=\"true\"\n type=\"button\"\n disabled={disabled}\n tabIndex={-1}\n data-qa={qa?.increment}\n onClick={() => makeStep()}\n >\n <PlusIcon />\n </StyledIncrementerButton>\n <StyledIncrementerButton\n aria-hidden=\"true\"\n type=\"button\"\n disabled={disabled}\n tabIndex={-1}\n data-qa={qa?.decrement}\n onClick={() => makeStep(true)}\n >\n <MinusIcon />\n </StyledIncrementerButton>\n </StyledIncrementerWrapper>\n )}\n </StyledWrapper>\n )\n }\n)\n\nNumberInput.displayName = 'NumberInput'\n\nexport const getCurrencyProps = (\n locale: string,\n _decimalScale: NumberInputProps['decimalScale'],\n symbol?: string,\n currencyIsoCode?: string,\n currencyDisplay?: CurrencyDisplay\n): CurrencyProps => {\n const currencyOptions: CurrencyOptions = {\n locale,\n currencyIsoCode: currencyIsoCode || 'USD',\n currencyDisplay: currencyDisplay || 'narrowSymbol',\n }\n const parts = formatCurrencyToParts(1, currencyOptions)\n\n const formatterDecimalScale =\n parts.find((part) => part.type === 'fraction')?.value.length || 0\n const decimalScale = _decimalScale || formatterDecimalScale\n\n const placement =\n parts.findIndex((object) => {\n return object.type === 'currency'\n }) <\n parts.findIndex((part) => {\n return part.type === 'integer'\n })\n ? 'prefix'\n : 'suffix'\n\n const currencyIsoSymbol = currencyIsoCode\n ? parts.find((part) => part.type === 'currency')?.value.toString()\n : undefined\n\n const currencyProps: CurrencyProps =\n placement === 'prefix'\n ? {\n decimalScale: decimalScale as NumberInputProps['decimalScale'],\n prefix: currencyIsoSymbol || symbol || '',\n }\n : {\n decimalScale: decimalScale as NumberInputProps['decimalScale'],\n suffix: currencyIsoSymbol || symbol || '',\n }\n\n return currencyProps\n}\n\nexport const CurrencyInput = React.forwardRef<\n HTMLInputElement,\n CurrencyInputProps\n>(\n (\n {\n currencyDisplay,\n currencyIsoCode,\n decimalScale: _decimalScale,\n fillDecimalScale = defaultCurrencyFillDecimalScale,\n prefix = defaultCurrencyInputPrefix,\n suffix,\n ...props\n },\n ref\n ) => {\n const I18n = useI18nContext()\n const contextLocale = props.locale || I18n.locale || defaultLocale\n\n const currencyProps: CurrencyProps = getCurrencyProps(\n contextLocale as string,\n _decimalScale,\n prefix || suffix,\n currencyIsoCode,\n currencyDisplay\n )\n\n return (\n <NumberInput\n fillDecimalScale={fillDecimalScale}\n {...props}\n {...currencyProps}\n ref={ref}\n />\n )\n }\n)\n\nCurrencyInput.displayName = 'CurrencyInput'\n"],"mappings":"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"}
1
+ {"version":3,"file":"NumberInput.js","names":["formatCurrencyToParts","findIndex","React","useI18nContext","spacing","mergeRefs","defaultCurrencyFillDecimalScale","defaultCurrencyInputPrefix","useNumberFormat","usePrevious","addonRootFontFamily","addonRootFontSize","addonRootPadding","inputDefaultXPadding","StyledIncrementerButton","StyledIncrementerWrapper","StyledInput","StyledPrefix","StyledSuffix","StyledWrapper","backspaceKey","commaKey","controlKey","copyKey","defaultLocale","deleteKey","emptyString","format","getNewCursorPosition","getSeparators","highlightAllKey","identicalLocales","identifyPressedKey","maxDigitLength","metaKeyIdentifier","minus","numericKeypadKey","periodKey","prepareValueToFormatting","toFixed","unformat","noop","PlusIcon","createElement","width","height","viewBox","xmlns","d","MinusIcon","NumberInput","forwardRef","_ref","ref","_ref$decimalScale","decimalScale","defaultValue","_ref$disabled","disabled","_ref$error","error","_ref$fillDecimalScale","fillDecimalScale","_locale","locale","_onChange","onChange","_ref$onKeyDown","onKeyDown","_onKeyDown","_ref$onBlur","onBlur","_onBlur","_ref$prefix","prefix","readOnly","_ref$step","step","style","_ref$suffix","suffix","value","qa","props","_objectWithoutProperties","_excluded","I18n","contextLocale","inputRef","useRef","_useNumberFormat","verifiedDecimalScale","fillDecimalScaleOnBlur","fixedDecimalScale","formatValue","getValueLengthInfo","isControlled","undefined","isControlledWithoutOnChangeHandlerAndReadOnlyAttribute","hasIncrementer","_React$useMemo","useMemo","group","decimal","decimalSeparatorKey","inputPadding","fontContext","concat","element","document","context","getContext","font","extraBasePadding","suffixPadding","Math","ceil","measureText","getRightPadding","xl","left","right","getValueChange","useCallback","_unformat","parsedNumber","isNaN","externalOnChange","_React$useState","useState","_React$useState2","_slicedToArray","inputValue","setInputValue","_React$useState3","_React$useState4","prevValue","setPrevValue","_React$useState5","selectionStart","selectionEnd","selection","_React$useState6","prevCursorPosition","setPrevCursorPosition","_React$useState7","_React$useState8","pressedKey","setPressedKey","prevLocale","useLayoutEffect","formattedValue","console","useEffect","prev","newValue","_inputRef$current","displayValue","current","lastChar","length","lastCharIsPending","includes","decimals","split","lastDecimalIsZero","onlyMinusDisplayed","getNewValueAndCursorPosition","preparedValue","newCursorPosition","adjustCursor","newPosition","_inputRef$current2","setSelectionRange","setTimeout","_inputRef$current3","makeStep","down","arguments","getSignificantPrecision","fraction","reversedFraction","reverse","indexOfLastSignificantFractionDigit","i","slice","_unformat2","_unformat3","stepFraction","prevValuePrecision","prevValueSignificantPrecision","rawStepPrecision","rawStepPrecisionExceedsDecimalScale","stepPrecision","warn","diff","precision","max","significantPrecision","calculated","_getValueLengthInfo","isSafeLength","isSafeIntegerLength","rejectStepByLengthLimit","formatted","internalOnKeyDown","e","ctrlKey","metaKey","key","_e$target","target","preserveDecimalSeparator","decimalBackspaced","decimalDeleted","nonReplacingKeys","decimalReplacedAsSelection","preserveDecimal","base","shift","cursorPosition","preventDefault","isDecimalSeparatorPreserved","_getValueLengthInfo2","safeIntegerLength","integerLength","fractionLength","decimalSeparatorCanNotBeRemoved","handleIncrementer","internalOnChange","inputType","nativeEvent","_getNewValueAndCursor","internalOnBlur","_unformat4","integer","shouldValueBeCleared","shouldIntegerPartBeFilled","isDecimalSeparatorRedundant","isDecimalScaleNotFilled","shouldDecimalScaleBeFilled","getNewValue","numberOfZerosToPad","Array","from","_","join","replace","RegExp","wrapper","_extends","inputMode","_objectSpread","paddingLeft","paddingRight","withIncrementer","type","tabIndex","increment","onClick","decrement","displayName","getCurrencyProps","_decimalScale","symbol","currencyIsoCode","currencyDisplay","_parts$find","_parts$find2","currencyOptions","parts","formatterDecimalScale","find","part","placement","object","currencyIsoSymbol","toString","currencyProps","CurrencyInput","_ref2","_ref2$fillDecimalScal","_ref2$prefix","_excluded2"],"sources":["../../src/NumberInput/NumberInput.tsx"],"sourcesContent":["import type {\n CurrencyDisplay,\n CurrencyOptions,\n} from '@procore/globalization-toolkit'\nimport { formatCurrencyToParts } from '@procore/globalization-toolkit'\nimport { findIndex } from 'ramda'\nimport React from 'react'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { spacing } from '../_styles/spacing'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport {\n defaultCurrencyFillDecimalScale,\n defaultCurrencyInputPrefix,\n} from './NumberInput.constants'\nimport { useNumberFormat, usePrevious } from './NumberInput.hooks'\nimport {\n addonRootFontFamily,\n addonRootFontSize,\n addonRootPadding,\n inputDefaultXPadding,\n StyledIncrementerButton,\n StyledIncrementerWrapper,\n StyledInput,\n StyledPrefix,\n StyledSuffix,\n StyledWrapper,\n} from './NumberInput.styles'\nimport type {\n CurrencyInputProps,\n CurrencyProps,\n CursorPosition,\n NumberInputProps,\n PressedKey,\n} from './NumberInput.types'\nimport {\n backspaceKey,\n commaKey,\n controlKey,\n copyKey,\n defaultLocale,\n deleteKey,\n emptyString,\n format,\n getNewCursorPosition,\n getSeparators,\n highlightAllKey,\n identicalLocales,\n identifyPressedKey,\n maxDigitLength,\n metaKeyIdentifier,\n minus,\n numericKeypadKey,\n periodKey,\n prepareValueToFormatting,\n toFixed,\n unformat,\n} from './NumberInput.utils'\n\nfunction noop() {}\n\nconst PlusIcon = () => (\n <svg\n width=\"8\"\n height=\"8\"\n viewBox=\"0 0 8 8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.5 0H3.5V3.5H0V4.5H3.5V8H4.5V4.5H8V3.5H4.5V0Z\" />\n </svg>\n)\n\nconst MinusIcon = () => (\n <svg\n width=\"8\"\n height=\"2\"\n viewBox=\"0 0 8 2\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.5 0.5H3.5H0V1.5H3.5H4.5H8V0.5H4.5Z\" />\n </svg>\n)\n\n/**\n\n The number input allows users to add numbers to a given form or table.\n The currency input will be used for data with a monetary value.\n Both components allow characters 0-9, periods, and commas. In order to avoid\n the loss of precision, the number length is limited by 15 digits.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-numberinput--demo-number-input)\n\n @see [Design Guidelines](https://design.procore.com/number-and-currency-input)\n\n */\nexport const NumberInput = React.forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n decimalScale = true,\n defaultValue,\n disabled = false,\n error = false,\n fillDecimalScale = 'none',\n locale: _locale,\n onChange: _onChange,\n onKeyDown: _onKeyDown = noop,\n onBlur: _onBlur = noop,\n prefix = emptyString,\n readOnly,\n step = 0,\n style,\n suffix = emptyString,\n value,\n qa,\n ...props\n },\n ref\n ) => {\n const I18n = useI18nContext()\n const contextLocale = _locale || I18n.locale || defaultLocale\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const {\n decimalScale: verifiedDecimalScale,\n fillDecimalScaleOnBlur,\n fixedDecimalScale,\n formatValue,\n getValueLengthInfo,\n locale,\n } = useNumberFormat({\n decimalScale,\n fillDecimalScale,\n locale: contextLocale,\n })\n\n const isControlled = value !== undefined\n const isControlledWithoutOnChangeHandlerAndReadOnlyAttribute =\n isControlled && !_onChange && !readOnly\n const hasIncrementer = step > 0 && !readOnly\n\n const { group, decimal } = React.useMemo(\n () => getSeparators(locale),\n [locale]\n )\n const decimalSeparatorKey = React.useMemo(() => {\n return decimal === periodKey ? periodKey : commaKey\n }, [decimal])\n\n const inputPadding = React.useMemo((): {\n left: number\n right: number | null\n } => {\n const fontContext = `${addonRootFontSize} \"${addonRootFontFamily}\"`\n\n if (prefix || suffix) {\n const element = document.createElement('canvas')\n const context = element?.getContext('2d')\n\n if (context) {\n context.font = fontContext\n\n const extraBasePadding = inputDefaultXPadding + addonRootPadding\n\n const suffixPadding =\n extraBasePadding + Math.ceil(context.measureText(suffix).width)\n\n const getRightPadding = () => {\n if (hasIncrementer && suffix) {\n return suffixPadding + spacing.xl\n }\n if (suffix) {\n return suffixPadding\n }\n return null\n }\n\n return {\n left: prefix\n ? extraBasePadding + Math.ceil(context.measureText(prefix).width)\n : inputDefaultXPadding,\n right: getRightPadding(),\n }\n }\n }\n\n return {\n left: inputDefaultXPadding,\n right: null,\n }\n }, [prefix, suffix, hasIncrementer])\n\n const getValueChange = React.useCallback(\n (value: string) => {\n const { parsedNumber } = unformat(locale, value)\n return {\n value,\n parsedNumber: isNaN(parsedNumber) ? null : parsedNumber,\n }\n },\n [locale]\n )\n\n const externalOnChange = React.useCallback(\n (value: string) => _onChange && _onChange(getValueChange(value)),\n [_onChange, getValueChange]\n )\n\n const [inputValue, setInputValue] = React.useState(\n formatValue(defaultValue)\n )\n const [prevValue, setPrevValue] = React.useState(\n isControlled ? formatValue(value) : inputValue\n )\n const [prevCursorPosition, setPrevCursorPosition] =\n React.useState<CursorPosition>({\n selectionStart: 0,\n selectionEnd: 0,\n selection: emptyString,\n })\n const [pressedKey, setPressedKey] = React.useState()\n const prevLocale = usePrevious(locale)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n React.useLayoutEffect(() => {\n const formattedValue = formatValue(value)\n if (isControlled && inputValue !== formattedValue) {\n setInputValue(formattedValue)\n }\n\n if (isControlledWithoutOnChangeHandlerAndReadOnlyAttribute) {\n console.error(\n `Warning: Failed prop type: You provided a \\`value\\` prop to a form field without an \\`onChange\\` handler.\n This will render a read-only field. If the field should be mutable use \\`defaultValue\\`.\n Otherwise, set either \\`onChange\\` or \\`readOnly\\`.`\n )\n }\n }, [value])\n\n React.useEffect(() => {\n if (prevLocale && !identicalLocales(prevLocale, locale)) {\n setInputValue((prev) => {\n const newValue = formatValue(unformat(prevLocale, prev).parsedNumber)\n externalOnChange(newValue)\n return newValue\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prevLocale, formatValue])\n\n React.useLayoutEffect(() => {\n const displayValue = inputRef.current?.value || ''\n if (!_onChange || !displayValue) {\n return\n }\n const formattedValue = formatValue(value)\n\n if (displayValue !== formattedValue) {\n const lastChar = displayValue[displayValue.length - 1]\n const lastCharIsPending = [periodKey, commaKey].includes(lastChar)\n\n const decimals = displayValue.split(decimal)[1] || ''\n const lastDecimalIsZero =\n decimals && decimals[decimals.length - 1] === '0'\n\n const onlyMinusDisplayed = displayValue === minus\n\n // a client state and display mismatch is only valid when\n if (lastCharIsPending || lastDecimalIsZero || onlyMinusDisplayed) {\n return\n }\n\n // otherwise sync display with client state\n setInputValue(formattedValue)\n }\n })\n\n const getNewValueAndCursorPosition = (\n value: string,\n pressedKey: PressedKey\n ) => {\n const preparedValue = prepareValueToFormatting(\n decimal,\n decimalSeparatorKey,\n group,\n pressedKey,\n prevCursorPosition,\n prevValue,\n verifiedDecimalScale,\n value\n )\n const newValue = formatValue(preparedValue)\n\n return {\n newValue,\n newCursorPosition: getNewCursorPosition(\n decimal,\n decimalSeparatorKey,\n group,\n newValue,\n pressedKey,\n prevCursorPosition,\n prevValue,\n value,\n verifiedDecimalScale,\n locale,\n fillDecimalScale\n ),\n }\n }\n\n const adjustCursor = (newPosition: number) => {\n inputRef.current?.setSelectionRange(newPosition, newPosition)\n // Mobile Chrome adjustment\n setTimeout(\n () => inputRef.current?.setSelectionRange(newPosition, newPosition),\n 0\n )\n }\n\n const makeStep = (down = false) => {\n const getSignificantPrecision = (fraction: string) => {\n const reversedFraction = fraction.split(emptyString).reverse()\n const indexOfLastSignificantFractionDigit = findIndex(\n (i) => i !== '0',\n reversedFraction\n )\n\n return indexOfLastSignificantFractionDigit > -1\n ? reversedFraction.slice(indexOfLastSignificantFractionDigit).length\n : 0\n }\n\n const { parsedNumber, fraction } = unformat(locale, inputValue)\n const { fraction: stepFraction } = unformat(locale, step)\n\n const prevValuePrecision = fraction.length || 0\n const prevValueSignificantPrecision = getSignificantPrecision(fraction)\n const rawStepPrecision = stepFraction.length || 0\n const rawStepPrecisionExceedsDecimalScale =\n rawStepPrecision > verifiedDecimalScale\n const stepPrecision = rawStepPrecisionExceedsDecimalScale\n ? verifiedDecimalScale\n : rawStepPrecision\n\n if (rawStepPrecisionExceedsDecimalScale) {\n console.warn(\n `WARNING: Step's value was rounded since its scale (${rawStepPrecision}) exceeds the decimal scale (${verifiedDecimalScale}).`\n )\n }\n\n const diff = toFixed(step, stepPrecision) * (down ? -1 : 1)\n const precision = Math.max(\n stepPrecision,\n fixedDecimalScale ? verifiedDecimalScale : prevValuePrecision\n )\n const significantPrecision = Math.max(\n prevValueSignificantPrecision,\n stepPrecision\n )\n const calculated = inputValue\n ? ((parsedNumber || 0) + diff).toFixed(significantPrecision)\n : diff\n\n const { isSafeLength, isSafeIntegerLength } = getValueLengthInfo(\n calculated,\n true\n )\n\n const rejectStepByLengthLimit = !isSafeLength || !isSafeIntegerLength\n\n if (rejectStepByLengthLimit) {\n console.warn(\n `WARNING: Incrementer's step was not fulfilled since result oversteps input ${maxDigitLength}-digit limit and can't be presented without a loss of precision.`\n )\n return\n }\n\n const formatted = format(locale, precision, 'always', calculated, true)\n\n setInputValue(formatted)\n externalOnChange(formatted)\n }\n\n const internalOnKeyDown = (e: any) => {\n const {\n ctrlKey,\n metaKey,\n key,\n target: { value, selectionStart, selectionEnd },\n } = e\n\n const selection = value.slice(selectionStart, selectionEnd)\n\n setPressedKey(key)\n setPrevCursorPosition({\n selectionStart,\n selectionEnd,\n selection,\n })\n setPrevValue(value)\n\n const preserveDecimalSeparator = () => {\n const decimalBackspaced =\n !selection &&\n [backspaceKey].includes(key) &&\n value[selectionEnd - 1] === decimal\n\n const decimalDeleted =\n !selection &&\n [deleteKey, numericKeypadKey].includes(key) &&\n value[selectionEnd] === decimal\n\n const nonReplacingKeys =\n [metaKeyIdentifier, controlKey, highlightAllKey, copyKey].includes(\n key\n ) &&\n (ctrlKey || metaKey)\n\n const decimalReplacedAsSelection =\n selection &&\n selection.includes(decimal) &&\n selection.length < value.length &&\n !nonReplacingKeys\n\n const preserveDecimal =\n decimalBackspaced || decimalDeleted || decimalReplacedAsSelection\n\n if (preserveDecimal) {\n const base = decimalReplacedAsSelection\n ? selectionStart\n : selectionEnd\n\n const shift = (decimalBackspaced && -1) || (decimalDeleted && 1) || 0\n\n const cursorPosition = base + shift\n\n e.preventDefault()\n adjustCursor(cursorPosition)\n }\n }\n\n const isDecimalSeparatorPreserved = () => {\n const { safeIntegerLength, integerLength, fractionLength } =\n getValueLengthInfo(value)\n\n const decimalSeparatorCanNotBeRemoved =\n safeIntegerLength - integerLength < fractionLength\n\n return (\n (fillDecimalScaleOnBlur && decimalSeparatorCanNotBeRemoved) ||\n fixedDecimalScale\n )\n }\n\n if (isDecimalSeparatorPreserved()) {\n preserveDecimalSeparator()\n }\n\n const handleIncrementer = () => {\n switch (key) {\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n makeStep()\n break\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n makeStep(true)\n break\n }\n }\n\n if (hasIncrementer) {\n handleIncrementer()\n }\n\n _onKeyDown(e)\n }\n\n const internalOnChange = (e: any) => {\n if (isControlledWithoutOnChangeHandlerAndReadOnlyAttribute) return\n\n const {\n target: { value },\n nativeEvent: { inputType },\n } = e\n\n const { newValue, newCursorPosition } = getNewValueAndCursorPosition(\n value,\n identifyPressedKey(\n decimalSeparatorKey,\n inputType,\n pressedKey,\n prevValue,\n value\n )\n )\n // Prevent cursor flickering\n e.target.value = newValue\n\n setInputValue(newValue)\n adjustCursor(newCursorPosition)\n\n if (newValue !== prevValue) {\n externalOnChange(newValue)\n }\n }\n\n const internalOnBlur = (e: any) => {\n const { integer, fraction } = unformat(locale, inputValue)\n\n const shouldValueBeCleared =\n inputValue === minus ||\n inputValue === decimal ||\n inputValue === `${minus}${decimal}`\n const shouldIntegerPartBeFilled =\n fraction.length > 0 && (integer === emptyString || integer === minus)\n const isDecimalSeparatorRedundant =\n verifiedDecimalScale > 0 &&\n inputValue[inputValue.length - 1] === decimal &&\n !fillDecimalScaleOnBlur\n const isDecimalScaleNotFilled = verifiedDecimalScale - fraction.length > 0\n const shouldDecimalScaleBeFilled =\n fillDecimalScaleOnBlur && isDecimalScaleNotFilled\n\n if (\n shouldValueBeCleared ||\n shouldIntegerPartBeFilled ||\n isDecimalSeparatorRedundant ||\n shouldDecimalScaleBeFilled\n ) {\n const getNewValue = () => {\n if (shouldValueBeCleared) {\n return emptyString\n }\n if (shouldIntegerPartBeFilled) {\n const numberOfZerosToPad = verifiedDecimalScale - fraction.length\n return `${integer}0${decimal}${\n shouldDecimalScaleBeFilled\n ? fraction.concat(\n Array.from({ length: numberOfZerosToPad }, (_) => '0').join(\n emptyString\n )\n )\n : fraction\n }`\n }\n if (isDecimalSeparatorRedundant) {\n return inputValue.replace(\n new RegExp(`[${decimal}]`, 'g'),\n emptyString\n )\n }\n if (shouldDecimalScaleBeFilled) {\n return format(locale, verifiedDecimalScale, 'always', inputValue)\n }\n\n return inputValue\n }\n const newValue = getNewValue()\n setInputValue(newValue)\n externalOnChange(newValue)\n }\n\n _onBlur(e)\n }\n\n return (\n <StyledWrapper hasIncrementer={hasIncrementer} data-qa={qa?.wrapper}>\n <StyledInput\n value={inputValue}\n disabled={disabled}\n error={error}\n onKeyDown={internalOnKeyDown}\n onChange={internalOnChange}\n onBlur={internalOnBlur}\n inputMode=\"numeric\"\n readOnly={readOnly}\n style={{\n ...style,\n ...{\n paddingLeft: `${inputPadding.left}px`,\n paddingRight: `${inputPadding.right}px`,\n },\n }}\n {...props}\n ref={mergeRefs(ref, inputRef)}\n />\n {prefix && <StyledPrefix disabled={disabled}>{prefix}</StyledPrefix>}\n {suffix && (\n <StyledSuffix withIncrementer={hasIncrementer} disabled={disabled}>\n {suffix}\n </StyledSuffix>\n )}\n {hasIncrementer && (\n <StyledIncrementerWrapper>\n <StyledIncrementerButton\n aria-hidden=\"true\"\n type=\"button\"\n disabled={disabled}\n tabIndex={-1}\n data-qa={qa?.increment}\n onClick={() => makeStep()}\n >\n <PlusIcon />\n </StyledIncrementerButton>\n <StyledIncrementerButton\n aria-hidden=\"true\"\n type=\"button\"\n disabled={disabled}\n tabIndex={-1}\n data-qa={qa?.decrement}\n onClick={() => makeStep(true)}\n >\n <MinusIcon />\n </StyledIncrementerButton>\n </StyledIncrementerWrapper>\n )}\n </StyledWrapper>\n )\n }\n)\n\nNumberInput.displayName = 'NumberInput'\n\nexport const getCurrencyProps = (\n locale: string,\n _decimalScale: NumberInputProps['decimalScale'],\n symbol?: string,\n currencyIsoCode?: string,\n currencyDisplay?: CurrencyDisplay\n): CurrencyProps => {\n const currencyOptions: CurrencyOptions = {\n locale,\n currencyIsoCode: currencyIsoCode || 'USD',\n currencyDisplay: currencyDisplay || 'narrowSymbol',\n }\n const parts = formatCurrencyToParts(1, currencyOptions)\n\n const formatterDecimalScale =\n parts.find((part) => part.type === 'fraction')?.value.length || 0\n const decimalScale = _decimalScale || formatterDecimalScale\n\n const placement =\n parts.findIndex((object) => {\n return object.type === 'currency'\n }) <\n parts.findIndex((part) => {\n return part.type === 'integer'\n })\n ? 'prefix'\n : 'suffix'\n\n const currencyIsoSymbol = currencyIsoCode\n ? parts.find((part) => part.type === 'currency')?.value.toString()\n : undefined\n\n const currencyProps: CurrencyProps =\n placement === 'prefix'\n ? {\n decimalScale: decimalScale as NumberInputProps['decimalScale'],\n prefix: currencyIsoSymbol || symbol || '',\n }\n : {\n decimalScale: decimalScale as NumberInputProps['decimalScale'],\n suffix: currencyIsoSymbol || symbol || '',\n }\n\n return currencyProps\n}\n\nexport const CurrencyInput = React.forwardRef<\n HTMLInputElement,\n CurrencyInputProps\n>(\n (\n {\n currencyDisplay,\n currencyIsoCode,\n decimalScale: _decimalScale,\n fillDecimalScale = defaultCurrencyFillDecimalScale,\n prefix = defaultCurrencyInputPrefix,\n suffix,\n ...props\n },\n ref\n ) => {\n const I18n = useI18nContext()\n const contextLocale = props.locale || I18n.locale || defaultLocale\n\n const currencyProps: CurrencyProps = getCurrencyProps(\n contextLocale as string,\n _decimalScale,\n prefix || suffix,\n currencyIsoCode,\n currencyDisplay\n )\n\n return (\n <NumberInput\n fillDecimalScale={fillDecimalScale}\n {...props}\n {...currencyProps}\n ref={ref}\n />\n )\n }\n)\n\nCurrencyInput.displayName = 'CurrencyInput'\n"],"mappings":"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"}
@@ -12,37 +12,37 @@ var inputBgColor = colors.white;
12
12
  var inputBorder = "".concat(colors.gray70, " solid 1px");
13
13
  var StyledRootAddon = /*#__PURE__*/styled.span.withConfig({
14
14
  displayName: "StyledRootAddon",
15
- componentId: "core-11_26_1__sc-1782nvg-0"
15
+ componentId: "core-11_26_2__sc-1782nvg-0"
16
16
  })(["display:inline-flex;align-items:center;height:100%;position:absolute;top:0;color:", ";", ";"], function (_ref) {
17
17
  var disabled = _ref.disabled;
18
18
  return disabled ? colors.gray70 : colors.gray45;
19
19
  }, getTypographyIntent('body'));
20
20
  export var StyledPrefix = /*#__PURE__*/styled(StyledRootAddon).withConfig({
21
21
  displayName: "StyledPrefix",
22
- componentId: "core-11_26_1__sc-1782nvg-1"
22
+ componentId: "core-11_26_2__sc-1782nvg-1"
23
23
  })(["left:", "px;"], spacing.md);
24
24
  export var StyledSuffix = /*#__PURE__*/styled(StyledRootAddon).withConfig({
25
25
  displayName: "StyledSuffix",
26
- componentId: "core-11_26_1__sc-1782nvg-2"
26
+ componentId: "core-11_26_2__sc-1782nvg-2"
27
27
  })(["right:", "px;"], function (_ref2) {
28
28
  var withIncrementer = _ref2.withIncrementer;
29
29
  return withIncrementer ? spacing.md + incrementerWidth : spacing.md;
30
30
  });
31
31
  export var StyledIncrementerWrapper = /*#__PURE__*/styled.div.withConfig({
32
32
  displayName: "StyledIncrementerWrapper",
33
- componentId: "core-11_26_1__sc-1782nvg-3"
33
+ componentId: "core-11_26_2__sc-1782nvg-3"
34
34
  })(["display:flex;flex-direction:column;position:absolute;top:1px;right:1px;height:100%;"]);
35
35
  export var StyledIncrementerButton = /*#__PURE__*/styled.button.withConfig({
36
36
  displayName: "StyledIncrementerButton",
37
- componentId: "core-11_26_1__sc-1782nvg-4"
37
+ componentId: "core-11_26_2__sc-1782nvg-4"
38
38
  })(["display:inline-flex;justify-content:center;align-items:center;width:", "px;height:calc(50% - 1px);border:none;border-radius:0px;outline:none;background-color:", ";padding:0;cursor:pointer;&:first-child,&:last-child{border-left:", ";&:disabled{border-color:", ";background-color:", ";}}&:first-child{border-top-right-radius:2px;}&:last-child{border-top:", ";border-bottom-right-radius:2px;}svg{fill:", ";}&:hover{svg{fill:", ";}}&:disabled{cursor:default;svg{fill:", ";}}"], incrementerWidth, inputBgColor, inputBorder, colors.gray70, colors.gray94, inputBorder, colors.gray45, colors.gray10, colors.gray70);
39
39
  export var StyledInput = /*#__PURE__*/styled(Input).withConfig({
40
40
  displayName: "StyledInput",
41
- componentId: "core-11_26_1__sc-1782nvg-5"
41
+ componentId: "core-11_26_2__sc-1782nvg-5"
42
42
  })([""]);
43
43
  export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
44
44
  displayName: "StyledWrapper",
45
- componentId: "core-11_26_1__sc-1782nvg-6"
45
+ componentId: "core-11_26_2__sc-1782nvg-6"
46
46
  })(["position:relative;", ""], function (_ref3) {
47
47
  var hasIncrementer = _ref3.hasIncrementer;
48
48
  return hasIncrementer && css(["", "{padding-right:", "px;}"], StyledInput, spacing.md + incrementerWidth);
@@ -2,6 +2,6 @@ import styled from 'styled-components';
2
2
  export var arrowSize = 8;
3
3
  export var StyledArrow = /*#__PURE__*/styled.div.withConfig({
4
4
  displayName: "StyledArrow",
5
- componentId: "core-11_26_1__sc-1epxw7u-0"
5
+ componentId: "core-11_26_2__sc-1epxw7u-0"
6
6
  })(["position:absolute;background:inherit;width:", "px;height:", "px;transform:rotate(45deg);"], arrowSize, arrowSize);
7
7
  //# sourceMappingURL=OverlayArrow.styles.js.map
@@ -5,7 +5,7 @@ import type { OverlayTriggerProps } from './OverlayTrigger.types';
5
5
 
6
6
  @since 10.19.0
7
7
 
8
- @see [Storybook](https://procore.github.io/core/core-react/latest/?path=/story/demos-overlaytrigger--demo)
8
+ @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-overlaytrigger--demo)
9
9
 
10
10
  */
11
11
  export declare const OverlayTrigger: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<HTMLElement>>;
@@ -49,7 +49,7 @@ var ClickOutside = function ClickOutside(_ref) {
49
49
 
50
50
  @since 10.19.0
51
51
 
52
- @see [Storybook](https://procore.github.io/core/core-react/latest/?path=/story/demos-overlaytrigger--demo)
52
+ @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-overlaytrigger--demo)
53
53
 
54
54
  */
55
55
  export var OverlayTrigger = /*#__PURE__*/React.forwardRef(function OverlayTrigger(_ref2, ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayTrigger.js","names":["arrow","floatingArrow","flip","floatingFlip","limitShift","offset","floatingOffset","shift","floatingShift","size","floatingSize","FocusScope","useId","React","ResizeObserverPolyfill","Arrow","arrowSize","useOverlay","Portal","useClickOutside","DelayedToggleContext","useDelayedToggle","useDelayedToggleContext","Trigger","useTrigger","useVisibility","mergeRefs","useOverlayTriggerA11y","globalThis","ResizeObserver","ClickOutside","_ref","container","onClickOutside","refs","createElement","Fragment","OverlayTrigger","forwardRef","_ref2","ref","_ref2$afterHide","afterHide","_ref2$afterShow","afterShow","ariaDescribedby","ariaDetails","ariaLabelledby","ariaLabel","autoFocus","_ref2$beforeHide","beforeHide","_ref2$beforeShow","beforeShow","_ref2$canFlip","canFlip","children","_ref2$clickOutsideIgn","clickOutsideIgnoreRefs","containFocus","_ref2$hideDelay","hideDelay","hideKeys_","hideKeys","_ref2$initialIsVisibl","initialIsVisible","overlay","_ref2$padding","padding","_ref2$placement","placement","_ref2$restoreFocusOnH","restoreFocusOnHide","_ref2$showDelay","showDelay","_ref2$showKeys","showKeys","_ref2$shrinkOverlay","shrinkOverlay","_ref2$trigger","trigger","_ref2$arrow","overlayApiRef","overlayRef","role","_ref2$passA11yPropsTo","passA11yPropsToOverlay","isDialogRole","includes","console","warn","concat","target","triggerElRef","useRef","overlayElRef","_React$useState","useState","_React$useState2","_slicedToArray","referenceElement","setReferenceElement","clickedOutsideRef","visibility","useImperativeHandle","show","hide","triggers","useMemo","Array","isArray","useEffect","indexOf","isVisible","current","focus","delayedToggle","beforeDisable","beforeEnable","disableDelay","enableDelay","isEnabled","onDisable","onEnable","triggerApi","enable","disable","enableKeys","disableKeys","triggerRef","triggerElement","overlayId","_useOverlayTriggerA","canPropOverlayUp","isValidElement","id","isOpen","wrapperProps","overlayProps","portalProps","triggerProps","focusScopeProps","labelProps","wrappedTriggerElement","cloneElement","_objectSpread","open","Provider","value","event","_toConsumableArray","_extends","TriggerOverlay","contain","restoreFocus","overlayCloneProps","CloseOnFocus","_ref3","style","height","position","top","width","onFocus","opacity","useOverlayTriggerContext","_useDelayedToggleCont","toggle","_ref4","arrowRef","arrowPadding","middleware","mainAxis","limiter","apply","_ref5","elements","Object","assign","floating","minWidth","reference","getBoundingClientRect","element","filter","_useOverlay","isPositioned","overlayStyle","referenceRefCallback","referenceRef","middlewareData","currentPlacement","mergedRefs","shownStyles","left"],"sources":["../../src/OverlayTrigger/OverlayTrigger.tsx"],"sourcesContent":["import {\n arrow as floatingArrow,\n flip as floatingFlip,\n limitShift,\n offset as floatingOffset,\n shift as floatingShift,\n size as floatingSize,\n} from '@floating-ui/react-dom'\nimport { FocusScope } from '@react-aria/focus'\nimport { useId } from '@react-aria/utils'\nimport React from 'react'\nimport ResizeObserverPolyfill from 'resize-observer-polyfill'\nimport { Arrow } from '../Overlay/OverlayArrow'\nimport { arrowSize } from '../Overlay/OverlayArrow.styles'\nimport type { OverlayMiddleware } from '../Overlay/useOverlay'\nimport { useOverlay } from '../Overlay/useOverlay'\nimport { Portal } from '../Portal'\nimport type { ClickOutsideConfig } from '../_hooks/ClickOutside'\nimport { useClickOutside } from '../_hooks/ClickOutside'\nimport {\n DelayedToggleContext,\n useDelayedToggle,\n useDelayedToggleContext,\n} from '../_hooks/DelayedToggle'\nimport type { TriggerApi } from '../_hooks/Trigger'\nimport { Trigger, useTrigger } from '../_hooks/Trigger'\nimport { useVisibility } from '../_hooks/Visibility'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Placement } from '../_utils/placement'\nimport type { ReactElementWithRef } from '../_utils/types'\nimport { useOverlayTriggerA11y } from './a11yPresets'\nimport type {\n DeprecatedOverlayTriggerRef,\n OverlayTriggerProps,\n} from './OverlayTrigger.types'\n\nif (!globalThis?.ResizeObserver) {\n globalThis.ResizeObserver = ResizeObserverPolyfill\n}\n\nconst ClickOutside = ({\n container,\n onClickOutside,\n refs,\n}: ClickOutsideConfig) => {\n useClickOutside({\n onClickOutside,\n refs,\n container,\n })\n\n return <></>\n}\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/core-react/latest/?path=/story/demos-overlaytrigger--demo)\n\n */\nexport const OverlayTrigger = React.forwardRef<\n DeprecatedOverlayTriggerRef,\n OverlayTriggerProps\n>(function OverlayTrigger(\n {\n afterHide = () => {},\n afterShow = () => {},\n ['aria-describedby']: ariaDescribedby,\n ['aria-details']: ariaDetails,\n ['aria-labelledby']: ariaLabelledby,\n ['aria-label']: ariaLabel,\n autoFocus,\n beforeHide = () => true,\n beforeShow = () => true,\n canFlip = true,\n children,\n clickOutsideIgnoreRefs = [],\n containFocus,\n container,\n hideDelay = 100,\n hideKeys: hideKeys_,\n initialIsVisible = false,\n overlay,\n padding = 2,\n placement = 'top',\n restoreFocusOnHide = true, // TODO: change default to be false, but that is a breaking change\n showDelay = 0,\n showKeys = ['ArrowDown', 'Down'],\n shrinkOverlay = false,\n trigger = 'click',\n arrow = false,\n overlayRef: overlayApiRef,\n role,\n passA11yPropsToOverlay = false,\n },\n ref\n) {\n const isDialogRole = role === 'dialog'\n\n if (isDialogRole && (trigger === 'hover' || trigger?.includes('hover'))) {\n console.warn(\n `@procore/core-react: OverlayTigger has role ${role} and a hover trigger, this may cause weird focus management and is unrecommended. Review autoFocus prop.`\n )\n }\n\n const hideKeys = hideKeys_ ?? {\n // Note by default OverlayTrigger closes on tab. Dialog role changes the default.\n overlay:\n containFocus ?? isDialogRole\n ? ['Escape', 'Esc']\n : ['Escape', 'Esc', 'Tab'],\n target: ['Escape', 'Esc'],\n }\n\n const triggerElRef = React.useRef<HTMLElement>(null)\n const overlayElRef = React.useRef<HTMLElement>(null)\n const [referenceElement, setReferenceElement] =\n React.useState<HTMLElement | null>(null)\n const clickedOutsideRef = React.useRef(true)\n\n const visibility = useVisibility({\n afterHide,\n afterShow,\n initialIsVisible,\n })\n\n React.useImperativeHandle(overlayApiRef, () => ({\n show: visibility.show,\n hide: visibility.hide,\n }))\n\n const triggers = React.useMemo(\n () => (Array.isArray(trigger) ? trigger : [trigger]),\n [trigger]\n )\n\n React.useEffect(() => {\n if (triggers.indexOf('none') >= 0 && visibility.isVisible) {\n visibility.hide()\n }\n if (triggers.indexOf('always') >= 0 && !visibility.isVisible) {\n visibility.show()\n }\n }, [triggers, visibility.isVisible])\n\n // TODO delete in a separate branch for testing and rely only on FocusScope\n React.useEffect(() => {\n if (\n restoreFocusOnHide &&\n !visibility.isVisible &&\n !clickedOutsideRef.current\n ) {\n triggerElRef.current && triggerElRef.current.focus()\n }\n\n clickedOutsideRef.current = false\n }, [restoreFocusOnHide, triggerElRef, visibility.isVisible])\n\n const delayedToggle = useDelayedToggle({\n beforeDisable: beforeHide,\n beforeEnable: beforeShow,\n disableDelay: hideDelay,\n enableDelay: showDelay,\n isEnabled: visibility.isVisible,\n onDisable: visibility.hide,\n onEnable: visibility.show,\n })\n\n const triggerApi = useTrigger({\n isEnabled: visibility.isVisible,\n enable: delayedToggle.enable,\n disable: delayedToggle.disable,\n enableKeys: showKeys,\n disableKeys: hideKeys.target,\n trigger,\n triggerRef: triggerElRef,\n })\n\n const triggerElement =\n typeof children === 'function'\n ? (children as (props: TriggerApi) => ReactElementWithRef)(triggerApi)\n : (children as ReactElementWithRef)\n\n const overlayId = useId()\n\n const {\n wrapperProps,\n overlayProps,\n portalProps,\n triggerProps,\n focusScopeProps,\n // Does not use. User needs to wire up when using dialog role!\n labelProps,\n } = useOverlayTriggerA11y({\n canPropOverlayUp: React.isValidElement(overlay) && passA11yPropsToOverlay,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-labelledby': ariaLabelledby,\n 'aria-label': ariaLabel,\n id: overlayId,\n isOpen: visibility.isVisible,\n role,\n })\n\n const wrappedTriggerElement = React.cloneElement(triggerElement, {\n open: triggerApi.isVisible,\n ref: triggerElement.ref\n ? mergeRefs(triggerElement.ref, ref, triggerElRef, setReferenceElement)\n : mergeRefs(ref, triggerElRef, setReferenceElement),\n ...triggerProps,\n })\n\n return (\n <DelayedToggleContext.Provider value={delayedToggle}>\n {wrappedTriggerElement}\n {visibility.isVisible && (\n <>\n <ClickOutside\n {...{\n container: container,\n onClickOutside: (event) => {\n clickedOutsideRef.current = true\n delayedToggle.disable(event)\n },\n refs: [overlayElRef, triggerElRef, ...clickOutsideIgnoreRefs],\n }}\n />\n <Portal container={container} {...portalProps}>\n <Trigger\n {...{\n isEnabled: visibility.isVisible,\n enable: delayedToggle.enable,\n disable: delayedToggle.disable,\n disableKeys: hideKeys.overlay,\n trigger: trigger === 'click' ? 'none' : trigger,\n triggerRef: overlayElRef,\n }}\n >\n <TriggerOverlay\n autoFocus={autoFocus ?? focusScopeProps.autoFocus}\n containFocus={containFocus ?? focusScopeProps.contain}\n restoreFocus={\n restoreFocusOnHide ?? focusScopeProps.restoreFocus\n }\n ref={overlayElRef}\n referenceElement={referenceElement}\n overlay={overlay}\n shrinkOverlay={shrinkOverlay}\n placement={placement}\n padding={padding}\n canFlip={canFlip}\n arrow={arrow}\n wrapperProps={wrapperProps}\n overlayCloneProps={overlayProps}\n />\n </Trigger>\n </Portal>\n </>\n )}\n </DelayedToggleContext.Provider>\n )\n})\n\nexport function CloseOnFocus({ hide }: { hide: (event: any) => any }) {\n return (\n // in IE, the hidden input's cursor appears right under the menu\n // this positions it arbitrarily away where it won't be noticed\n <div\n style={{\n height: 0,\n position: 'absolute',\n top: 1000,\n width: 0,\n }}\n >\n <input onFocus={hide} style={{ opacity: 0 }} />\n </div>\n )\n}\n\nexport function useOverlayTriggerContext() {\n const { enable: show, disable: hide, toggle } = useDelayedToggleContext()\n\n return {\n hide,\n show,\n toggle,\n }\n}\n\ninterface TriggerOverlayProps {\n containFocus?: boolean\n autoFocus?: boolean\n restoreFocus?: boolean\n placement: Placement\n canFlip?: boolean\n arrow?: boolean\n padding: number\n shrinkOverlay: boolean\n overlay: React.ReactNode\n overlayCloneProps: any\n wrapperProps: Record<string, unknown>\n referenceElement: HTMLElement | null\n}\n\nexport const TriggerOverlay = React.forwardRef<\n HTMLElement,\n TriggerOverlayProps\n>(function (\n {\n autoFocus,\n containFocus,\n restoreFocus,\n placement,\n canFlip,\n arrow,\n padding,\n shrinkOverlay,\n overlay,\n referenceElement,\n wrapperProps,\n overlayCloneProps,\n },\n ref\n) {\n const arrowRef = React.useRef<HTMLDivElement>(null)\n\n const arrowPadding = arrowSize / 2 + 1\n const middleware = [\n floatingOffset({ mainAxis: arrow ? padding + arrowPadding : padding }),\n canFlip ? floatingFlip() : null,\n floatingShift({ limiter: limitShift() }),\n !shrinkOverlay\n ? floatingSize({\n apply({ elements }) {\n Object.assign(elements.floating.style, {\n minWidth: `${elements.reference.getBoundingClientRect().width}px`,\n })\n },\n })\n : null,\n floatingArrow({\n element: arrowRef,\n padding: 6,\n }),\n ].filter((middleware) => middleware !== null) as OverlayMiddleware[]\n\n const {\n isPositioned,\n overlayStyle,\n referenceRef: referenceRefCallback,\n overlayRef,\n middlewareData,\n placement: currentPlacement,\n } = useOverlay({\n middleware,\n placement,\n })\n\n React.useEffect(() => {\n referenceRefCallback(referenceElement)\n }, [referenceElement, referenceRefCallback])\n\n const mergedRefs = mergeRefs(ref, overlayRef)\n\n // TODO could just move clone and clone props to parent\n if (!React.isValidElement(overlay) && overlayCloneProps) {\n console.warn(\n 'PLEASE REPORT ISSUE @procore/core-react: OverlayTrigger TriggerOverlay is not a valid React element but wants to clone \"overlay\" with props. Cannot pass props to the element.'\n )\n }\n\n const shownStyles: React.CSSProperties = {\n ...overlayStyle,\n left: isPositioned ? overlayStyle.left : '-99999px',\n top: isPositioned ? overlayStyle.top : '-99999px',\n }\n\n return (\n <FocusScope\n autoFocus={autoFocus}\n contain={containFocus}\n restoreFocus={restoreFocus}\n >\n <div\n data-qa=\"core-overlay-trigger-overlay-wrapper\"\n ref={mergedRefs}\n style={shownStyles}\n {...wrapperProps}\n >\n {React.isValidElement(overlay)\n ? React.cloneElement(overlay, overlayCloneProps)\n : overlay}\n {arrow && (\n <Arrow\n ref={arrowRef}\n arrow={middlewareData.arrow}\n placement={currentPlacement}\n />\n )}\n </div>\n </FocusScope>\n )\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"OverlayTrigger.js","names":["arrow","floatingArrow","flip","floatingFlip","limitShift","offset","floatingOffset","shift","floatingShift","size","floatingSize","FocusScope","useId","React","ResizeObserverPolyfill","Arrow","arrowSize","useOverlay","Portal","useClickOutside","DelayedToggleContext","useDelayedToggle","useDelayedToggleContext","Trigger","useTrigger","useVisibility","mergeRefs","useOverlayTriggerA11y","globalThis","ResizeObserver","ClickOutside","_ref","container","onClickOutside","refs","createElement","Fragment","OverlayTrigger","forwardRef","_ref2","ref","_ref2$afterHide","afterHide","_ref2$afterShow","afterShow","ariaDescribedby","ariaDetails","ariaLabelledby","ariaLabel","autoFocus","_ref2$beforeHide","beforeHide","_ref2$beforeShow","beforeShow","_ref2$canFlip","canFlip","children","_ref2$clickOutsideIgn","clickOutsideIgnoreRefs","containFocus","_ref2$hideDelay","hideDelay","hideKeys_","hideKeys","_ref2$initialIsVisibl","initialIsVisible","overlay","_ref2$padding","padding","_ref2$placement","placement","_ref2$restoreFocusOnH","restoreFocusOnHide","_ref2$showDelay","showDelay","_ref2$showKeys","showKeys","_ref2$shrinkOverlay","shrinkOverlay","_ref2$trigger","trigger","_ref2$arrow","overlayApiRef","overlayRef","role","_ref2$passA11yPropsTo","passA11yPropsToOverlay","isDialogRole","includes","console","warn","concat","target","triggerElRef","useRef","overlayElRef","_React$useState","useState","_React$useState2","_slicedToArray","referenceElement","setReferenceElement","clickedOutsideRef","visibility","useImperativeHandle","show","hide","triggers","useMemo","Array","isArray","useEffect","indexOf","isVisible","current","focus","delayedToggle","beforeDisable","beforeEnable","disableDelay","enableDelay","isEnabled","onDisable","onEnable","triggerApi","enable","disable","enableKeys","disableKeys","triggerRef","triggerElement","overlayId","_useOverlayTriggerA","canPropOverlayUp","isValidElement","id","isOpen","wrapperProps","overlayProps","portalProps","triggerProps","focusScopeProps","labelProps","wrappedTriggerElement","cloneElement","_objectSpread","open","Provider","value","event","_toConsumableArray","_extends","TriggerOverlay","contain","restoreFocus","overlayCloneProps","CloseOnFocus","_ref3","style","height","position","top","width","onFocus","opacity","useOverlayTriggerContext","_useDelayedToggleCont","toggle","_ref4","arrowRef","arrowPadding","middleware","mainAxis","limiter","apply","_ref5","elements","Object","assign","floating","minWidth","reference","getBoundingClientRect","element","filter","_useOverlay","isPositioned","overlayStyle","referenceRefCallback","referenceRef","middlewareData","currentPlacement","mergedRefs","shownStyles","left"],"sources":["../../src/OverlayTrigger/OverlayTrigger.tsx"],"sourcesContent":["import {\n arrow as floatingArrow,\n flip as floatingFlip,\n limitShift,\n offset as floatingOffset,\n shift as floatingShift,\n size as floatingSize,\n} from '@floating-ui/react-dom'\nimport { FocusScope } from '@react-aria/focus'\nimport { useId } from '@react-aria/utils'\nimport React from 'react'\nimport ResizeObserverPolyfill from 'resize-observer-polyfill'\nimport { Arrow } from '../Overlay/OverlayArrow'\nimport { arrowSize } from '../Overlay/OverlayArrow.styles'\nimport type { OverlayMiddleware } from '../Overlay/useOverlay'\nimport { useOverlay } from '../Overlay/useOverlay'\nimport { Portal } from '../Portal'\nimport type { ClickOutsideConfig } from '../_hooks/ClickOutside'\nimport { useClickOutside } from '../_hooks/ClickOutside'\nimport {\n DelayedToggleContext,\n useDelayedToggle,\n useDelayedToggleContext,\n} from '../_hooks/DelayedToggle'\nimport type { TriggerApi } from '../_hooks/Trigger'\nimport { Trigger, useTrigger } from '../_hooks/Trigger'\nimport { useVisibility } from '../_hooks/Visibility'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Placement } from '../_utils/placement'\nimport type { ReactElementWithRef } from '../_utils/types'\nimport { useOverlayTriggerA11y } from './a11yPresets'\nimport type {\n DeprecatedOverlayTriggerRef,\n OverlayTriggerProps,\n} from './OverlayTrigger.types'\n\nif (!globalThis?.ResizeObserver) {\n globalThis.ResizeObserver = ResizeObserverPolyfill\n}\n\nconst ClickOutside = ({\n container,\n onClickOutside,\n refs,\n}: ClickOutsideConfig) => {\n useClickOutside({\n onClickOutside,\n refs,\n container,\n })\n\n return <></>\n}\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-overlaytrigger--demo)\n\n */\nexport const OverlayTrigger = React.forwardRef<\n DeprecatedOverlayTriggerRef,\n OverlayTriggerProps\n>(function OverlayTrigger(\n {\n afterHide = () => {},\n afterShow = () => {},\n ['aria-describedby']: ariaDescribedby,\n ['aria-details']: ariaDetails,\n ['aria-labelledby']: ariaLabelledby,\n ['aria-label']: ariaLabel,\n autoFocus,\n beforeHide = () => true,\n beforeShow = () => true,\n canFlip = true,\n children,\n clickOutsideIgnoreRefs = [],\n containFocus,\n container,\n hideDelay = 100,\n hideKeys: hideKeys_,\n initialIsVisible = false,\n overlay,\n padding = 2,\n placement = 'top',\n restoreFocusOnHide = true, // TODO: change default to be false, but that is a breaking change\n showDelay = 0,\n showKeys = ['ArrowDown', 'Down'],\n shrinkOverlay = false,\n trigger = 'click',\n arrow = false,\n overlayRef: overlayApiRef,\n role,\n passA11yPropsToOverlay = false,\n },\n ref\n) {\n const isDialogRole = role === 'dialog'\n\n if (isDialogRole && (trigger === 'hover' || trigger?.includes('hover'))) {\n console.warn(\n `@procore/core-react: OverlayTigger has role ${role} and a hover trigger, this may cause weird focus management and is unrecommended. Review autoFocus prop.`\n )\n }\n\n const hideKeys = hideKeys_ ?? {\n // Note by default OverlayTrigger closes on tab. Dialog role changes the default.\n overlay:\n containFocus ?? isDialogRole\n ? ['Escape', 'Esc']\n : ['Escape', 'Esc', 'Tab'],\n target: ['Escape', 'Esc'],\n }\n\n const triggerElRef = React.useRef<HTMLElement>(null)\n const overlayElRef = React.useRef<HTMLElement>(null)\n const [referenceElement, setReferenceElement] =\n React.useState<HTMLElement | null>(null)\n const clickedOutsideRef = React.useRef(true)\n\n const visibility = useVisibility({\n afterHide,\n afterShow,\n initialIsVisible,\n })\n\n React.useImperativeHandle(overlayApiRef, () => ({\n show: visibility.show,\n hide: visibility.hide,\n }))\n\n const triggers = React.useMemo(\n () => (Array.isArray(trigger) ? trigger : [trigger]),\n [trigger]\n )\n\n React.useEffect(() => {\n if (triggers.indexOf('none') >= 0 && visibility.isVisible) {\n visibility.hide()\n }\n if (triggers.indexOf('always') >= 0 && !visibility.isVisible) {\n visibility.show()\n }\n }, [triggers, visibility.isVisible])\n\n // TODO delete in a separate branch for testing and rely only on FocusScope\n React.useEffect(() => {\n if (\n restoreFocusOnHide &&\n !visibility.isVisible &&\n !clickedOutsideRef.current\n ) {\n triggerElRef.current && triggerElRef.current.focus()\n }\n\n clickedOutsideRef.current = false\n }, [restoreFocusOnHide, triggerElRef, visibility.isVisible])\n\n const delayedToggle = useDelayedToggle({\n beforeDisable: beforeHide,\n beforeEnable: beforeShow,\n disableDelay: hideDelay,\n enableDelay: showDelay,\n isEnabled: visibility.isVisible,\n onDisable: visibility.hide,\n onEnable: visibility.show,\n })\n\n const triggerApi = useTrigger({\n isEnabled: visibility.isVisible,\n enable: delayedToggle.enable,\n disable: delayedToggle.disable,\n enableKeys: showKeys,\n disableKeys: hideKeys.target,\n trigger,\n triggerRef: triggerElRef,\n })\n\n const triggerElement =\n typeof children === 'function'\n ? (children as (props: TriggerApi) => ReactElementWithRef)(triggerApi)\n : (children as ReactElementWithRef)\n\n const overlayId = useId()\n\n const {\n wrapperProps,\n overlayProps,\n portalProps,\n triggerProps,\n focusScopeProps,\n // Does not use. User needs to wire up when using dialog role!\n labelProps,\n } = useOverlayTriggerA11y({\n canPropOverlayUp: React.isValidElement(overlay) && passA11yPropsToOverlay,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-labelledby': ariaLabelledby,\n 'aria-label': ariaLabel,\n id: overlayId,\n isOpen: visibility.isVisible,\n role,\n })\n\n const wrappedTriggerElement = React.cloneElement(triggerElement, {\n open: triggerApi.isVisible,\n ref: triggerElement.ref\n ? mergeRefs(triggerElement.ref, ref, triggerElRef, setReferenceElement)\n : mergeRefs(ref, triggerElRef, setReferenceElement),\n ...triggerProps,\n })\n\n return (\n <DelayedToggleContext.Provider value={delayedToggle}>\n {wrappedTriggerElement}\n {visibility.isVisible && (\n <>\n <ClickOutside\n {...{\n container: container,\n onClickOutside: (event) => {\n clickedOutsideRef.current = true\n delayedToggle.disable(event)\n },\n refs: [overlayElRef, triggerElRef, ...clickOutsideIgnoreRefs],\n }}\n />\n <Portal container={container} {...portalProps}>\n <Trigger\n {...{\n isEnabled: visibility.isVisible,\n enable: delayedToggle.enable,\n disable: delayedToggle.disable,\n disableKeys: hideKeys.overlay,\n trigger: trigger === 'click' ? 'none' : trigger,\n triggerRef: overlayElRef,\n }}\n >\n <TriggerOverlay\n autoFocus={autoFocus ?? focusScopeProps.autoFocus}\n containFocus={containFocus ?? focusScopeProps.contain}\n restoreFocus={\n restoreFocusOnHide ?? focusScopeProps.restoreFocus\n }\n ref={overlayElRef}\n referenceElement={referenceElement}\n overlay={overlay}\n shrinkOverlay={shrinkOverlay}\n placement={placement}\n padding={padding}\n canFlip={canFlip}\n arrow={arrow}\n wrapperProps={wrapperProps}\n overlayCloneProps={overlayProps}\n />\n </Trigger>\n </Portal>\n </>\n )}\n </DelayedToggleContext.Provider>\n )\n})\n\nexport function CloseOnFocus({ hide }: { hide: (event: any) => any }) {\n return (\n // in IE, the hidden input's cursor appears right under the menu\n // this positions it arbitrarily away where it won't be noticed\n <div\n style={{\n height: 0,\n position: 'absolute',\n top: 1000,\n width: 0,\n }}\n >\n <input onFocus={hide} style={{ opacity: 0 }} />\n </div>\n )\n}\n\nexport function useOverlayTriggerContext() {\n const { enable: show, disable: hide, toggle } = useDelayedToggleContext()\n\n return {\n hide,\n show,\n toggle,\n }\n}\n\ninterface TriggerOverlayProps {\n containFocus?: boolean\n autoFocus?: boolean\n restoreFocus?: boolean\n placement: Placement\n canFlip?: boolean\n arrow?: boolean\n padding: number\n shrinkOverlay: boolean\n overlay: React.ReactNode\n overlayCloneProps: any\n wrapperProps: Record<string, unknown>\n referenceElement: HTMLElement | null\n}\n\nexport const TriggerOverlay = React.forwardRef<\n HTMLElement,\n TriggerOverlayProps\n>(function (\n {\n autoFocus,\n containFocus,\n restoreFocus,\n placement,\n canFlip,\n arrow,\n padding,\n shrinkOverlay,\n overlay,\n referenceElement,\n wrapperProps,\n overlayCloneProps,\n },\n ref\n) {\n const arrowRef = React.useRef<HTMLDivElement>(null)\n\n const arrowPadding = arrowSize / 2 + 1\n const middleware = [\n floatingOffset({ mainAxis: arrow ? padding + arrowPadding : padding }),\n canFlip ? floatingFlip() : null,\n floatingShift({ limiter: limitShift() }),\n !shrinkOverlay\n ? floatingSize({\n apply({ elements }) {\n Object.assign(elements.floating.style, {\n minWidth: `${elements.reference.getBoundingClientRect().width}px`,\n })\n },\n })\n : null,\n floatingArrow({\n element: arrowRef,\n padding: 6,\n }),\n ].filter((middleware) => middleware !== null) as OverlayMiddleware[]\n\n const {\n isPositioned,\n overlayStyle,\n referenceRef: referenceRefCallback,\n overlayRef,\n middlewareData,\n placement: currentPlacement,\n } = useOverlay({\n middleware,\n placement,\n })\n\n React.useEffect(() => {\n referenceRefCallback(referenceElement)\n }, [referenceElement, referenceRefCallback])\n\n const mergedRefs = mergeRefs(ref, overlayRef)\n\n // TODO could just move clone and clone props to parent\n if (!React.isValidElement(overlay) && overlayCloneProps) {\n console.warn(\n 'PLEASE REPORT ISSUE @procore/core-react: OverlayTrigger TriggerOverlay is not a valid React element but wants to clone \"overlay\" with props. Cannot pass props to the element.'\n )\n }\n\n const shownStyles: React.CSSProperties = {\n ...overlayStyle,\n left: isPositioned ? overlayStyle.left : '-99999px',\n top: isPositioned ? overlayStyle.top : '-99999px',\n }\n\n return (\n <FocusScope\n autoFocus={autoFocus}\n contain={containFocus}\n restoreFocus={restoreFocus}\n >\n <div\n data-qa=\"core-overlay-trigger-overlay-wrapper\"\n ref={mergedRefs}\n style={shownStyles}\n {...wrapperProps}\n >\n {React.isValidElement(overlay)\n ? React.cloneElement(overlay, overlayCloneProps)\n : overlay}\n {arrow && (\n <Arrow\n ref={arrowRef}\n arrow={middlewareData.arrow}\n placement={currentPlacement}\n />\n )}\n </div>\n </FocusScope>\n )\n})\n"],"mappings":"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"}
@@ -16,34 +16,34 @@ var headerCSS = /*#__PURE__*/css(["padding-top:", "px;margin-left:", "px;margin-
16
16
  });
17
17
  export var StyledPageHeader = /*#__PURE__*/styled.div.withConfig({
18
18
  displayName: "StyledPageHeader",
19
- componentId: "core-11_26_1__sc-1cvdbsv-0"
19
+ componentId: "core-11_26_2__sc-1cvdbsv-0"
20
20
  })(["", ""], headerCSS);
21
21
  export var StyledPageTitle = /*#__PURE__*/styled.div.withConfig({
22
22
  displayName: "StyledPageTitle",
23
- componentId: "core-11_26_1__sc-1cvdbsv-1"
23
+ componentId: "core-11_26_2__sc-1cvdbsv-1"
24
24
  })(["margin-top:", "px;&:last-child{padding-bottom:", "px;}&:first-child{margin-top:0;}"], spacing.lg, spacing.lg);
25
25
  export var StyledPageBreadcrumbs = /*#__PURE__*/styled(Breadcrumbs).withConfig({
26
26
  displayName: "StyledPageBreadcrumbs",
27
- componentId: "core-11_26_1__sc-1cvdbsv-2"
27
+ componentId: "core-11_26_2__sc-1cvdbsv-2"
28
28
  })(["margin-top:", "px;&:first-child{margin-top:0;}"], spacing.lg);
29
29
  export var StyledPageBanner = /*#__PURE__*/styled.div.withConfig({
30
30
  displayName: "StyledPageBanner",
31
- componentId: "core-11_26_1__sc-1cvdbsv-3"
31
+ componentId: "core-11_26_2__sc-1cvdbsv-3"
32
32
  })(["margin-top:", "px;&:first-child{margin-top:0;}"], spacing.lg);
33
33
  export var getActions = function getActions() {
34
34
  return css(["flex-shrink:0;padding-left:", "px;> button,> a{&:first-child{margin-left:0;}margin-left:", "px;}"], spacing.xl, spacing.sm);
35
35
  };
36
36
  export var StyledPageActions = /*#__PURE__*/styled.div.withConfig({
37
37
  displayName: "StyledPageActions",
38
- componentId: "core-11_26_1__sc-1cvdbsv-4"
38
+ componentId: "core-11_26_2__sc-1cvdbsv-4"
39
39
  })(["", ""], getActions());
40
40
  export var StyledPageTabs = /*#__PURE__*/styled.div.withConfig({
41
41
  displayName: "StyledPageTabs",
42
- componentId: "core-11_26_1__sc-1cvdbsv-5"
42
+ componentId: "core-11_26_2__sc-1cvdbsv-5"
43
43
  })(["margin-top:", "px;"], spacing.sm);
44
44
  export var StyledBody = /*#__PURE__*/styled.div.withConfig({
45
45
  displayName: "StyledBody",
46
- componentId: "core-11_26_1__sc-1cvdbsv-6"
46
+ componentId: "core-11_26_2__sc-1cvdbsv-6"
47
47
  })(["padding-top:", "px;"], spacing.xl);
48
48
  var panelWidth = 400;
49
49
  var zIndexes = {
@@ -56,7 +56,7 @@ export var animationDuration = {
56
56
  };
57
57
  export var StyledFooter = /*#__PURE__*/styled.div.withConfig({
58
58
  displayName: "StyledFooter",
59
- componentId: "core-11_26_1__sc-1cvdbsv-7"
59
+ componentId: "core-11_26_2__sc-1cvdbsv-7"
60
60
  })(["background-color:", ";margin:0 ", "px;", " position:sticky;bottom:0;z-index:", ";", ""], colors.white, outerPageSpacing * -1, function (_ref2) {
61
61
  var $hasShadow = _ref2.$hasShadow;
62
62
  return $hasShadow && getShadow(2, 'top');
@@ -66,7 +66,7 @@ export var StyledFooter = /*#__PURE__*/styled.div.withConfig({
66
66
  });
67
67
  export var StyledAside = /*#__PURE__*/styled.div.withConfig({
68
68
  displayName: "StyledAside",
69
- componentId: "core-11_26_1__sc-1cvdbsv-8"
69
+ componentId: "core-11_26_2__sc-1cvdbsv-8"
70
70
  })(["", " @media ", "{position:absolute;right:0;}"], function (_ref4) {
71
71
  var $closed = _ref4.$closed,
72
72
  $open = _ref4.$open;
@@ -86,7 +86,7 @@ var getPanelAnimation = function getPanelAnimation() {
86
86
  };
87
87
  export var StyledAsidePanel = /*#__PURE__*/styled.div.withConfig({
88
88
  displayName: "StyledAsidePanel",
89
- componentId: "core-11_26_1__sc-1cvdbsv-9"
89
+ componentId: "core-11_26_2__sc-1cvdbsv-9"
90
90
  })(["", " @media ", "{", "}", " ", " border-left:1px solid ", ";width:", "px;position:fixed;background-color:", ";overflow:auto;z-index:", ";", " ", ""], function (_ref7) {
91
91
  var $rightOffset = _ref7.$rightOffset;
92
92
  return css(["@media ", "{", " border-left:0;z-index:", ";right:", "px;}"], getSmallScreenBreakpointValue(), getShadow(2), zIndexes.panelNarrowScreen, $rightOffset);
@@ -105,7 +105,7 @@ export var StyledAsidePanel = /*#__PURE__*/styled.div.withConfig({
105
105
  });
106
106
  export var StyledPageMain = /*#__PURE__*/styled.div.withConfig({
107
107
  displayName: "StyledPageMain",
108
- componentId: "core-11_26_1__sc-1cvdbsv-10"
108
+ componentId: "core-11_26_2__sc-1cvdbsv-10"
109
109
  })(["position:relative;padding:0 ", "px;max-width:100%;background-color:", ";", " ", ""], outerPageSpacing, colors.gray96, function () {
110
110
  return isIE11() && css(["flex:1 0 0%;"]);
111
111
  }, function (_ref12) {
@@ -120,13 +120,13 @@ export var StyledPageMain = /*#__PURE__*/styled.div.withConfig({
120
120
  });
121
121
  export var StyledPageContainer = /*#__PURE__*/styled.div.withConfig({
122
122
  displayName: "StyledPageContainer",
123
- componentId: "core-11_26_1__sc-1cvdbsv-11"
123
+ componentId: "core-11_26_2__sc-1cvdbsv-11"
124
124
  })(["display:grid;grid-template-columns:1fr auto;", ""], function () {
125
125
  return isIE11() && css(["display:flex;flex-wrap:wrap;"]);
126
126
  });
127
127
  export var StyledAsideFluidContainer = /*#__PURE__*/styled.div.withConfig({
128
128
  displayName: "StyledAsideFluidContainer",
129
- componentId: "core-11_26_1__sc-1cvdbsv-12"
129
+ componentId: "core-11_26_2__sc-1cvdbsv-12"
130
130
  })(["", ""], function (_ref13) {
131
131
  var $closed = _ref13.$closed,
132
132
  $open = _ref13.$open;
@@ -10,7 +10,7 @@ import type { PresetPaginationProps } from './Pagination.types';
10
10
 
11
11
  @since 10.19.0
12
12
 
13
- @see [Storybook](https://procore.github.io/core/core-react/latest/?path=/story/demos-pagination--demo)
13
+ @see [Storybook](https://stories.core.procore.com/?path=/story/demos-pagination--demo)
14
14
 
15
15
  @see [Design Guidelines](https://design.procore.com/pagination)
16
16
 
@@ -49,7 +49,7 @@ var usePagination = function usePagination(_ref) {
49
49
 
50
50
  @since 10.19.0
51
51
 
52
- @see [Storybook](https://procore.github.io/core/core-react/latest/?path=/story/demos-pagination--demo)
52
+ @see [Storybook](https://stories.core.procore.com/?path=/story/demos-pagination--demo)
53
53
 
54
54
  @see [Design Guidelines](https://design.procore.com/pagination)
55
55
 
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","names":["ChevronLeft","ChevronRight","NumberFormatter","useId","React","useI18nContext","StyledButton","StyledContainer","StyledCurrentPage","StyledPageCount","PaginationSelect","noop","usePagination","_ref","_ref$activePage","activePage","_ref$items","items","_ref$onSelectPage","onSelectPage","_ref$perPage","perPage","pages","Math","ceil","end","min","isFirst","isLast","selectNext","selectPage","selection","item","selectPrev","start","max","Pagination","forwardRef","_ref2","ref","_ref2$activePage","_ref2$onSelectPage","_ref2$perPage","props","_objectWithoutProperties","_excluded","_usePagination","i18n","labelId","selectId","formattedNumber","formatter","locale","formatNumber","createElement","_extends","italic","color","t","totalItems","id","concat","disabled","onSelect","variant","icon","onClick","displayName"],"sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight } from '@procore/core-icons/dist'\nimport { NumberFormatter } from '@procore/globalization-toolkit'\nimport { useId } from '@react-aria/utils'\nimport React from 'react'\nimport type { Selection } from '../MenuImperative/MenuImperative.types'\nimport { useI18nContext } from '../_hooks/I18n'\nimport {\n StyledButton,\n StyledContainer,\n StyledCurrentPage,\n StyledPageCount,\n} from './Pagination.styles'\nimport type {\n PaginationHook,\n PaginationHookConfig,\n PresetPaginationProps,\n} from './Pagination.types'\nimport { PaginationSelect } from './PaginationSelect'\n\nfunction noop() {}\n\nconst usePagination = ({\n activePage = 0,\n items = 0,\n onSelectPage = () => {},\n perPage = 0,\n}: PaginationHookConfig): PaginationHook => {\n const pages = Math.ceil(items / perPage)\n activePage = pages === 0 ? 0 : activePage\n\n return {\n end: Math.min(activePage * perPage, items),\n isFirst: activePage < 2,\n isLast: activePage === pages,\n pages,\n selectNext: () => onSelectPage(activePage + 1),\n selectPage: (selection: Selection) => onSelectPage(selection.item),\n selectPrev: () => onSelectPage(activePage - 1),\n start: Math.max((activePage - 1) * perPage + 1, 0),\n }\n}\n\n/**\n\n We paginate pages that display large data sets to our users. This helps reduce\n page load time and makes the data easier to navigate.\n\n Pagination is commonly seen on tool landing pages, where we display 150 objects\n or table rows per page.\n\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/core-react/latest/?path=/story/demos-pagination--demo)\n\n @see [Design Guidelines](https://design.procore.com/pagination)\n\n */\nexport const Pagination = React.forwardRef<\n HTMLDivElement,\n PresetPaginationProps\n>(function Pagination(\n { activePage = 1, items, onSelectPage = noop, perPage = 50, ...props },\n ref\n) {\n const {\n end,\n isFirst,\n isLast,\n pages,\n selectNext,\n selectPage,\n selectPrev,\n start,\n } = usePagination({\n activePage,\n items,\n onSelectPage,\n perPage,\n })\n\n const i18n = useI18nContext()\n const labelId = useId()\n const selectId = useId()\n\n function formattedNumber(items: number) {\n const formatter = new NumberFormatter({ locale: i18n.locale })\n\n return formatter.formatNumber(items)\n }\n\n return (\n <StyledContainer ref={ref} {...props}>\n <StyledPageCount ref={ref} italic color=\"gray45\">\n {i18n.t('core.pagination.notation', {\n end: formattedNumber(end),\n start: formattedNumber(start),\n totalItems: formattedNumber(items || 0),\n })}\n </StyledPageCount>\n <StyledCurrentPage id={labelId}>\n {i18n.t('core.pagination.page')}:\n </StyledCurrentPage>\n <PaginationSelect\n activePage={activePage}\n aria-labelledby={`${labelId} ${selectId}`}\n disabled={pages <= 1}\n id={selectId}\n onSelect={selectPage}\n pages={pages}\n />\n <StyledButton\n disabled={isFirst}\n variant=\"tertiary\"\n aria-label={i18n.t('core.pagination.prevPage')}\n icon={<ChevronLeft />}\n onClick={selectPrev}\n />\n <StyledButton\n disabled={isLast}\n variant=\"tertiary\"\n aria-label={i18n.t('core.pagination.nextPage')}\n icon={<ChevronRight />}\n onClick={selectNext}\n />\n </StyledContainer>\n )\n})\n\nPagination.displayName = 'Pagination'\n"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","names":["ChevronLeft","ChevronRight","NumberFormatter","useId","React","useI18nContext","StyledButton","StyledContainer","StyledCurrentPage","StyledPageCount","PaginationSelect","noop","usePagination","_ref","_ref$activePage","activePage","_ref$items","items","_ref$onSelectPage","onSelectPage","_ref$perPage","perPage","pages","Math","ceil","end","min","isFirst","isLast","selectNext","selectPage","selection","item","selectPrev","start","max","Pagination","forwardRef","_ref2","ref","_ref2$activePage","_ref2$onSelectPage","_ref2$perPage","props","_objectWithoutProperties","_excluded","_usePagination","i18n","labelId","selectId","formattedNumber","formatter","locale","formatNumber","createElement","_extends","italic","color","t","totalItems","id","concat","disabled","onSelect","variant","icon","onClick","displayName"],"sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight } from '@procore/core-icons/dist'\nimport { NumberFormatter } from '@procore/globalization-toolkit'\nimport { useId } from '@react-aria/utils'\nimport React from 'react'\nimport type { Selection } from '../MenuImperative/MenuImperative.types'\nimport { useI18nContext } from '../_hooks/I18n'\nimport {\n StyledButton,\n StyledContainer,\n StyledCurrentPage,\n StyledPageCount,\n} from './Pagination.styles'\nimport type {\n PaginationHook,\n PaginationHookConfig,\n PresetPaginationProps,\n} from './Pagination.types'\nimport { PaginationSelect } from './PaginationSelect'\n\nfunction noop() {}\n\nconst usePagination = ({\n activePage = 0,\n items = 0,\n onSelectPage = () => {},\n perPage = 0,\n}: PaginationHookConfig): PaginationHook => {\n const pages = Math.ceil(items / perPage)\n activePage = pages === 0 ? 0 : activePage\n\n return {\n end: Math.min(activePage * perPage, items),\n isFirst: activePage < 2,\n isLast: activePage === pages,\n pages,\n selectNext: () => onSelectPage(activePage + 1),\n selectPage: (selection: Selection) => onSelectPage(selection.item),\n selectPrev: () => onSelectPage(activePage - 1),\n start: Math.max((activePage - 1) * perPage + 1, 0),\n }\n}\n\n/**\n\n We paginate pages that display large data sets to our users. This helps reduce\n page load time and makes the data easier to navigate.\n\n Pagination is commonly seen on tool landing pages, where we display 150 objects\n or table rows per page.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/demos-pagination--demo)\n\n @see [Design Guidelines](https://design.procore.com/pagination)\n\n */\nexport const Pagination = React.forwardRef<\n HTMLDivElement,\n PresetPaginationProps\n>(function Pagination(\n { activePage = 1, items, onSelectPage = noop, perPage = 50, ...props },\n ref\n) {\n const {\n end,\n isFirst,\n isLast,\n pages,\n selectNext,\n selectPage,\n selectPrev,\n start,\n } = usePagination({\n activePage,\n items,\n onSelectPage,\n perPage,\n })\n\n const i18n = useI18nContext()\n const labelId = useId()\n const selectId = useId()\n\n function formattedNumber(items: number) {\n const formatter = new NumberFormatter({ locale: i18n.locale })\n\n return formatter.formatNumber(items)\n }\n\n return (\n <StyledContainer ref={ref} {...props}>\n <StyledPageCount ref={ref} italic color=\"gray45\">\n {i18n.t('core.pagination.notation', {\n end: formattedNumber(end),\n start: formattedNumber(start),\n totalItems: formattedNumber(items || 0),\n })}\n </StyledPageCount>\n <StyledCurrentPage id={labelId}>\n {i18n.t('core.pagination.page')}:\n </StyledCurrentPage>\n <PaginationSelect\n activePage={activePage}\n aria-labelledby={`${labelId} ${selectId}`}\n disabled={pages <= 1}\n id={selectId}\n onSelect={selectPage}\n pages={pages}\n />\n <StyledButton\n disabled={isFirst}\n variant=\"tertiary\"\n aria-label={i18n.t('core.pagination.prevPage')}\n icon={<ChevronLeft />}\n onClick={selectPrev}\n />\n <StyledButton\n disabled={isLast}\n variant=\"tertiary\"\n aria-label={i18n.t('core.pagination.nextPage')}\n icon={<ChevronRight />}\n onClick={selectNext}\n />\n </StyledContainer>\n )\n})\n\nPagination.displayName = 'Pagination'\n"],"mappings":"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"}