@procore/core-react 12.25.0 → 12.25.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 (449) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.d.ts +9 -10
  4. package/dist/Avatar/Avatar.js.map +1 -1
  5. package/dist/Avatar/Avatar.styles.js +5 -5
  6. package/dist/AvatarStack/AvatarStack.styles.d.ts +2 -2
  7. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  8. package/dist/Badge/Badge.styles.js +2 -2
  9. package/dist/BadgePill/BadgePill.styles.js +4 -4
  10. package/dist/Banner/Banner.d.ts +15 -15
  11. package/dist/Banner/Banner.js.map +1 -1
  12. package/dist/Banner/Banner.styles.d.ts +4 -4
  13. package/dist/Banner/Banner.styles.js +10 -10
  14. package/dist/Banner/index.d.ts +1 -1
  15. package/dist/Banner/index.js.map +1 -1
  16. package/dist/Box/Box.d.ts +1 -2
  17. package/dist/Box/Box.js.map +1 -1
  18. package/dist/Box/Box.styles.js +1 -1
  19. package/dist/Breadcrumbs/Breadcrumbs.d.ts +3 -4
  20. package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
  21. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  22. package/dist/Button/Button.styles.js +5 -5
  23. package/dist/Button/Button.types.d.ts +2 -3
  24. package/dist/Button/Button.types.js.map +1 -1
  25. package/dist/Calendar/Calendar.styles.js +8 -8
  26. package/dist/Card/Card.d.ts +1 -2
  27. package/dist/Card/Card.js.map +1 -1
  28. package/dist/Card/Card.styles.js +1 -1
  29. package/dist/Checkbox/Checkbox.styles.js +6 -6
  30. package/dist/Checkbox/Checkbox.types.d.ts +1 -2
  31. package/dist/Checkbox/Checkbox.types.js.map +1 -1
  32. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  33. package/dist/ContactItem/ContactItem.d.ts +2 -3
  34. package/dist/ContactItem/ContactItem.js.map +1 -1
  35. package/dist/ContactItem/ContactItem.styles.d.ts +5 -5
  36. package/dist/ContactItem/ContactItem.styles.js +5 -5
  37. package/dist/Content/Content.styles.d.ts +4 -4
  38. package/dist/Content/Content.styles.js +2 -2
  39. package/dist/DateInput/DateInput.js.map +1 -1
  40. package/dist/DateInput/DateInput.styles.js +6 -6
  41. package/dist/DateInput/DateInput.types.d.ts +2 -2
  42. package/dist/DateInput/DateInput.types.js.map +1 -1
  43. package/dist/DetailPage/DetailPage.d.ts +1 -1
  44. package/dist/DetailPage/DetailPage.styles.d.ts +4 -4
  45. package/dist/DetailPage/DetailPage.styles.js +7 -7
  46. package/dist/Dropdown/Dropdown.d.ts +1 -1
  47. package/dist/Dropdown/Dropdown.styles.d.ts +2 -2
  48. package/dist/Dropdown/Dropdown.styles.js +3 -3
  49. package/dist/DropdownFlyout/DropdownFlyout.helpers.js +1 -1
  50. package/dist/DropdownFlyout/DropdownFlyout.helpers.js.map +1 -1
  51. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  52. package/dist/DropdownFlyout/DropdownFlyout.types.d.ts +4 -4
  53. package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
  54. package/dist/Dropzone/Dropzone.d.ts +2 -3
  55. package/dist/Dropzone/Dropzone.js +1 -2
  56. package/dist/Dropzone/Dropzone.js.map +1 -1
  57. package/dist/Dropzone/Dropzone.styles.d.ts +6 -6
  58. package/dist/Dropzone/Dropzone.styles.js +9 -9
  59. package/dist/EmptyState/EmptyState.d.ts +6 -6
  60. package/dist/EmptyState/EmptyState.js.map +1 -1
  61. package/dist/EmptyState/EmptyState.styles.js +6 -6
  62. package/dist/Field/Field.styles.js +3 -3
  63. package/dist/FileList/FileList.d.ts +1 -2
  64. package/dist/FileList/FileList.js.map +1 -1
  65. package/dist/FileList/FileList.styles.js +4 -4
  66. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  67. package/dist/FileSelect/FileExplorer/FileExplorerModal.d.ts +1 -2
  68. package/dist/FileSelect/FileExplorer/FileExplorerModal.js.map +1 -1
  69. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.d.ts +2 -2
  70. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  71. package/dist/FileSelect/FileSelect.d.ts +3 -4
  72. package/dist/FileSelect/FileSelect.js.map +1 -1
  73. package/dist/FileSelect/FileSelect.styles.d.ts +2 -2
  74. package/dist/FileSelect/FileSelect.styles.js +2 -2
  75. package/dist/FileSelect/FileSelect.types.d.ts +1 -2
  76. package/dist/FileSelect/FileSelect.types.js.map +1 -1
  77. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  78. package/dist/FileSelect/FileTokenList/FileTokenList.d.ts +1 -2
  79. package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
  80. package/dist/FileSelect/FileTokenList/FileTokenList.styles.d.ts +2 -2
  81. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  82. package/dist/FileSelect/GridSource/GridSource.d.ts +1 -2
  83. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  84. package/dist/FileSelect/GridSource/GridSource.styles.d.ts +6 -6
  85. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  86. package/dist/FileSelect/LocalSource/LocalSource.styles.d.ts +1 -1
  87. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  88. package/dist/FileSelect/SourceItem/SourceItem.d.ts +2 -2
  89. package/dist/FileSelect/SourceItem/SourceItem.js.map +1 -1
  90. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  91. package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
  92. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.d.ts +7 -7
  93. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  94. package/dist/FileSelect/ThumbnailList/ThumbnailList.types.d.ts +2 -2
  95. package/dist/FileSelect/ThumbnailList/ThumbnailList.types.js.map +1 -1
  96. package/dist/FileSelect/TreeSource/TreeSource.d.ts +1 -2
  97. package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
  98. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  99. package/dist/FileToken/FileToken.d.ts +1 -2
  100. package/dist/FileToken/FileToken.js +17 -18
  101. package/dist/FileToken/FileToken.js.map +1 -1
  102. package/dist/FileToken/FileToken.styles.js +9 -9
  103. package/dist/FileToken/FileToken.styles.js.map +1 -1
  104. package/dist/FileToken/FileToken.types.d.ts +22 -0
  105. package/dist/FileToken/FileToken.types.js.map +1 -1
  106. package/dist/FileToken/FileTokenInner.d.ts +3 -0
  107. package/dist/FileToken/FileTokenInner.js +25 -0
  108. package/dist/FileToken/FileTokenInner.js.map +1 -0
  109. package/dist/FilterToken/FilterToken.d.ts +3 -4
  110. package/dist/FilterToken/FilterToken.js.map +1 -1
  111. package/dist/FilterToken/FilterToken.styles.js +5 -5
  112. package/dist/Flex/Flex.d.ts +1 -2
  113. package/dist/Flex/Flex.js.map +1 -1
  114. package/dist/FlexList/FlexList.d.ts +1 -2
  115. package/dist/FlexList/FlexList.js.map +1 -1
  116. package/dist/FlexList/FlexList.styles.d.ts +2 -2
  117. package/dist/FlexList/FlexList.styles.js +1 -1
  118. package/dist/Form/Form.d.ts +2 -2
  119. package/dist/Form/Form.js.map +1 -1
  120. package/dist/Form/Form.styles.js +14 -14
  121. package/dist/Form/StyledFormikForm.styles.d.ts +2 -2
  122. package/dist/Form/StyledFormikForm.styles.js +2 -2
  123. package/dist/Form/index.d.ts +1 -1
  124. package/dist/Form/index.js.map +1 -1
  125. package/dist/GhostPlaceholder/GhostPlaceholder.js +9 -0
  126. package/dist/GhostPlaceholder/GhostPlaceholder.js.map +1 -1
  127. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  128. package/dist/Grid/Grid.styles.js +2 -2
  129. package/dist/Grid/Grid.types.d.ts +4 -4
  130. package/dist/Grid/Grid.types.js.map +1 -1
  131. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  132. package/dist/Input/Input.d.ts +1 -2
  133. package/dist/Input/Input.js.map +1 -1
  134. package/dist/Input/Input.styles.js +1 -1
  135. package/dist/Input/Input.types.d.ts +2 -2
  136. package/dist/Input/Input.types.js.map +1 -1
  137. package/dist/Link/Link.styles.js +1 -1
  138. package/dist/Link/Link.types.d.ts +2 -2
  139. package/dist/Link/Link.types.js.map +1 -1
  140. package/dist/ListPage/ListPage.styles.js +8 -8
  141. package/dist/Loader/Loader.styles.js +2 -2
  142. package/dist/Menu/Menu.d.ts +8 -9
  143. package/dist/Menu/Menu.js.map +1 -1
  144. package/dist/MenuImperative/MenuImperative.d.ts +8 -9
  145. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  146. package/dist/MenuImperative/MenuImperative.styles.d.ts +2 -2
  147. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  148. package/dist/MenuImperative/MenuImperative.types.d.ts +2 -2
  149. package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
  150. package/dist/Modal/Modal.d.ts +7 -6
  151. package/dist/Modal/Modal.js +47 -11
  152. package/dist/Modal/Modal.js.map +1 -1
  153. package/dist/Modal/Modal.styles.d.ts +4 -4
  154. package/dist/Modal/Modal.styles.js +15 -14
  155. package/dist/Modal/Modal.styles.js.map +1 -1
  156. package/dist/Modal/Modal.types.d.ts +6 -4
  157. package/dist/Modal/Modal.types.js.map +1 -1
  158. package/dist/MultiSelect/MultiSelect.styles.d.ts +2 -2
  159. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  160. package/dist/NextMenu/NextMenu.styles.js +3 -3
  161. package/dist/NextTile/NextTile.types.d.ts +3 -3
  162. package/dist/NextTile/NextTile.types.js.map +1 -1
  163. package/dist/Notation/Notation.d.ts +1 -2
  164. package/dist/Notation/Notation.js +1 -1
  165. package/dist/Notation/Notation.js.map +1 -1
  166. package/dist/NumberInput/NumberInput.js +5 -2
  167. package/dist/NumberInput/NumberInput.js.map +1 -1
  168. package/dist/NumberInput/NumberInput.styles.d.ts +2 -2
  169. package/dist/NumberInput/NumberInput.styles.js +7 -7
  170. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  171. package/dist/PageLayout/PageLayout.d.ts +2 -2
  172. package/dist/PageLayout/PageLayout.js.map +1 -1
  173. package/dist/PageLayout/PageLayout.styles.js +16 -16
  174. package/dist/PageLayout/PageLayout.types.d.ts +3 -3
  175. package/dist/PageLayout/PageLayout.types.js.map +1 -1
  176. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  177. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.d.ts +4 -4
  178. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  179. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.d.ts +6 -4
  180. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  181. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  182. package/dist/Pagination/Pagination.styles.d.ts +6 -6
  183. package/dist/Pagination/Pagination.styles.js +5 -5
  184. package/dist/Panel/Panel.d.ts +6 -7
  185. package/dist/Panel/Panel.js +22 -8
  186. package/dist/Panel/Panel.js.map +1 -1
  187. package/dist/Panel/Panel.styles.d.ts +5 -5
  188. package/dist/Panel/Panel.styles.js +16 -15
  189. package/dist/Panel/Panel.styles.js.map +1 -1
  190. package/dist/Panel/Panel.types.d.ts +14 -5
  191. package/dist/Panel/Panel.types.js.map +1 -1
  192. package/dist/Pill/Pill.js +15 -7
  193. package/dist/Pill/Pill.js.map +1 -1
  194. package/dist/Pill/Pill.styles.d.ts +3 -0
  195. package/dist/Pill/Pill.styles.js +7 -3
  196. package/dist/Pill/Pill.styles.js.map +1 -1
  197. package/dist/Pill/Pill.types.d.ts +1 -1
  198. package/dist/Pill/Pill.types.js.map +1 -1
  199. package/dist/PillSelect/PillSelect.js.map +1 -1
  200. package/dist/PillSelect/PillSelect.styles.js +4 -4
  201. package/dist/Popover/Popover.d.ts +1 -2
  202. package/dist/Popover/Popover.js.map +1 -1
  203. package/dist/Popover/Popover.styles.js +4 -4
  204. package/dist/Popover/Popover.styles.js.map +1 -1
  205. package/dist/Portal/Portal.styles.js +1 -1
  206. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  207. package/dist/ProgressBar/ProgressBar.types.d.ts +2 -2
  208. package/dist/ProgressBar/ProgressBar.types.js.map +1 -1
  209. package/dist/RadioButton/RadioButton.styles.js +3 -3
  210. package/dist/Required/Required.styles.js +3 -3
  211. package/dist/Search/Search.styles.js +5 -5
  212. package/dist/Section/Section.js +6 -5
  213. package/dist/Section/Section.js.map +1 -1
  214. package/dist/Section/Section.styles.d.ts +5 -5
  215. package/dist/Section/Section.styles.js +9 -8
  216. package/dist/Section/Section.styles.js.map +1 -1
  217. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  218. package/dist/SegmentedController/SegmentedController.types.d.ts +2 -2
  219. package/dist/SegmentedController/SegmentedController.types.js.map +1 -1
  220. package/dist/Select/Select.styles.d.ts +2 -2
  221. package/dist/Select/Select.styles.js +7 -7
  222. package/dist/Semantic/Semantic.styles.d.ts +1 -1
  223. package/dist/Semantic/Semantic.styles.js +9 -9
  224. package/dist/Semantic/Semantic.types.d.ts +1 -2
  225. package/dist/Semantic/Semantic.types.js.map +1 -1
  226. package/dist/SettingsPage/SettingsPage.d.ts +1 -1
  227. package/dist/Slider/Slider.styles.d.ts +2 -2
  228. package/dist/Slider/Slider.styles.js +5 -5
  229. package/dist/Slider/Slider.types.d.ts +2 -2
  230. package/dist/Slider/Slider.types.js.map +1 -1
  231. package/dist/Spinner/Spinner.styles.js +7 -7
  232. package/dist/SplitViewCard/SplitViewCard.d.ts +0 -1
  233. package/dist/SplitViewCard/SplitViewCard.js +29 -26
  234. package/dist/SplitViewCard/SplitViewCard.js.map +1 -1
  235. package/dist/SplitViewCard/SplitViewCard.styles.js +10 -9
  236. package/dist/SplitViewCard/SplitViewCard.styles.js.map +1 -1
  237. package/dist/SplitViewCard/SplitViewCard.types.d.ts +11 -0
  238. package/dist/SplitViewCard/SplitViewCard.types.js.map +1 -1
  239. package/dist/SplitViewCard/SplitViewCardInternal.context.d.ts +2 -2
  240. package/dist/SplitViewCard/SplitViewCardInternal.context.js +4 -1
  241. package/dist/SplitViewCard/SplitViewCardInternal.context.js.map +1 -1
  242. package/dist/SuperSelect/SuperSelect.components.d.ts +4 -3
  243. package/dist/SuperSelect/SuperSelect.components.js +5 -1
  244. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  245. package/dist/SuperSelect/SuperSelect.presets.styles.d.ts +2 -2
  246. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  247. package/dist/SuperSelect/SuperSelect.styles.d.ts +6 -6
  248. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  249. package/dist/SuperSelect/SuperSelect.types.d.ts +3 -2
  250. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  251. package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
  252. package/dist/SuperSelect/useSuperSelect.js +28 -1
  253. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  254. package/dist/Switch/Switch.d.ts +1 -2
  255. package/dist/Switch/Switch.js.map +1 -1
  256. package/dist/Switch/Switch.styles.js +4 -4
  257. package/dist/Switch/Switch.types.d.ts +2 -2
  258. package/dist/Switch/Switch.types.js.map +1 -1
  259. package/dist/Table/Table.d.ts +34 -35
  260. package/dist/Table/Table.js.map +1 -1
  261. package/dist/Table/Table.styles.d.ts +6 -6
  262. package/dist/Table/Table.styles.js +28 -28
  263. package/dist/Table/Table.types.d.ts +1 -2
  264. package/dist/Table/Table.types.js.map +1 -1
  265. package/dist/Table/index.d.ts +1 -1
  266. package/dist/Table/index.js.map +1 -1
  267. package/dist/TableShelf/TableShelf.d.ts +12 -13
  268. package/dist/TableShelf/TableShelf.js.map +1 -1
  269. package/dist/TableShelf/TableShelf.styles.js +5 -5
  270. package/dist/Tabs/Tabs.d.ts +4 -5
  271. package/dist/Tabs/Tabs.js.map +1 -1
  272. package/dist/Tabs/Tabs.styles.d.ts +2 -2
  273. package/dist/Tabs/Tabs.styles.js +15 -15
  274. package/dist/Tearsheet/Tearsheet.js +9 -6
  275. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  276. package/dist/Tearsheet/Tearsheet.styles.d.ts +2 -2
  277. package/dist/Tearsheet/Tearsheet.styles.js +7 -6
  278. package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
  279. package/dist/TextArea/TextArea.d.ts +1 -2
  280. package/dist/TextArea/TextArea.js.map +1 -1
  281. package/dist/TextArea/TextArea.styles.js +4 -4
  282. package/dist/TextArea/TextArea.styles.js.map +1 -1
  283. package/dist/TextArea/TextArea.types.d.ts +2 -2
  284. package/dist/TextArea/TextArea.types.js.map +1 -1
  285. package/dist/TextEditorOutput/TextEditorOutput.d.ts +1 -2
  286. package/dist/TextEditorOutput/TextEditorOutput.js.map +1 -1
  287. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  288. package/dist/TextEditorOutput/index.d.ts +1 -0
  289. package/dist/TextEditorOutput/index.js.map +1 -1
  290. package/dist/TextInput/TextInput.d.ts +1 -1
  291. package/dist/Thumbnail/Thumbnail.hooks.d.ts +6 -7
  292. package/dist/Thumbnail/Thumbnail.hooks.js.map +1 -1
  293. package/dist/Thumbnail/Thumbnail.styles.d.ts +2 -2
  294. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  295. package/dist/Thumbnail/index.d.ts +1 -1
  296. package/dist/Thumbnail/index.js.map +1 -1
  297. package/dist/ThumbnailGrid/ThumbnailGrid.d.ts +1 -2
  298. package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
  299. package/dist/ThumbnailGrid/ThumbnailGrid.styles.d.ts +9 -9
  300. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  301. package/dist/TieredSelect/TieredSelect.styles.d.ts +15 -15
  302. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  303. package/dist/Tile/Tile.styles.d.ts +1 -1
  304. package/dist/Tile/Tile.styles.js +8 -8
  305. package/dist/Tile/Tile.types.d.ts +4 -4
  306. package/dist/Tile/Tile.types.js.map +1 -1
  307. package/dist/Title/Title.d.ts +5 -6
  308. package/dist/Title/Title.js.map +1 -1
  309. package/dist/Title/Title.styles.d.ts +3 -3
  310. package/dist/Title/Title.styles.js +7 -7
  311. package/dist/Title/Title.types.d.ts +2 -2
  312. package/dist/Title/Title.types.js.map +1 -1
  313. package/dist/Toast/Toast.d.ts +4 -5
  314. package/dist/Toast/Toast.js.map +1 -1
  315. package/dist/Toast/Toast.styles.js +3 -3
  316. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  317. package/dist/ToggleButton/ToggleButton.types.d.ts +1 -2
  318. package/dist/ToggleButton/ToggleButton.types.js.map +1 -1
  319. package/dist/Token/Token.d.ts +5 -4
  320. package/dist/Token/Token.js +37 -10
  321. package/dist/Token/Token.js.map +1 -1
  322. package/dist/Token/Token.styles.d.ts +3 -7
  323. package/dist/Token/Token.styles.js +8 -8
  324. package/dist/Token/Token.styles.js.map +1 -1
  325. package/dist/Token/Token.types.d.ts +4 -0
  326. package/dist/Token/Token.types.js.map +1 -1
  327. package/dist/ToolHeader/ToolHeader.d.ts +6 -7
  328. package/dist/ToolHeader/ToolHeader.js.map +1 -1
  329. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  330. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  331. package/dist/Tooltip/Tooltip.styles.js +2 -2
  332. package/dist/Tree/Tree.styles.d.ts +6 -6
  333. package/dist/Tree/Tree.styles.js +9 -9
  334. package/dist/Tree/Tree.types.d.ts +2 -3
  335. package/dist/Tree/Tree.types.js.map +1 -1
  336. package/dist/Typeahead/Typeahead.styles.js +3 -3
  337. package/dist/Typography/Typography.d.ts +1 -2
  338. package/dist/Typography/Typography.js.map +1 -1
  339. package/dist/Typography/Typography.styles.js +1 -1
  340. package/dist/Typography/Typography.table.story.js +2 -2
  341. package/dist/_hooks/ClickOutside.js +8 -4
  342. package/dist/_hooks/ClickOutside.js.map +1 -1
  343. package/dist/_locales/de-DE.json +1 -1
  344. package/dist/_locales/en-AU.json +1 -1
  345. package/dist/_locales/en-CA.json +1 -1
  346. package/dist/_locales/en-GB.json +1 -1
  347. package/dist/_locales/en.json +1 -1
  348. package/dist/_locales/es-ES.json +1 -1
  349. package/dist/_locales/es.json +1 -1
  350. package/dist/_locales/fr-CA.json +1 -1
  351. package/dist/_locales/fr-FR.json +1 -1
  352. package/dist/_locales/is-IS.json +1 -1
  353. package/dist/_locales/it-IT.json +1 -1
  354. package/dist/_locales/ja-JP.json +1 -1
  355. package/dist/_locales/pl-PL.json +1 -1
  356. package/dist/_locales/pseudo.json +1 -1
  357. package/dist/_locales/pt-BR.json +1 -1
  358. package/dist/_locales/th-TH.json +1 -1
  359. package/dist/_locales/zh-SG.json +1 -1
  360. package/dist/_locales/zh-TW.json +1 -1
  361. package/dist/_styles/mixins.js +1 -1
  362. package/dist/_styles/mixins.js.map +1 -1
  363. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  364. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  365. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  366. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  367. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  368. package/dist/_typedoc/Box/Box.types.json +68 -68
  369. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  370. package/dist/_typedoc/Button/Button.types.json +13 -13
  371. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  372. package/dist/_typedoc/Card/Card.types.json +6 -6
  373. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -18
  374. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  375. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  376. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  377. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  378. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  379. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
  380. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  381. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  382. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  383. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  384. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  385. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  386. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  387. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  388. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  389. package/dist/_typedoc/Form/Form.types.json +739 -759
  390. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  391. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  392. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  393. package/dist/_typedoc/Input/Input.types.json +2 -2
  394. package/dist/_typedoc/Link/Link.types.json +1 -31
  395. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  396. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  397. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  398. package/dist/_typedoc/Modal/Modal.types.json +54 -54
  399. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  400. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  401. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  402. package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
  403. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +32 -32
  404. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -56
  405. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  406. package/dist/_typedoc/Panel/Panel.types.json +51 -29
  407. package/dist/_typedoc/Pill/Pill.types.json +4 -4
  408. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  409. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  410. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  411. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  412. package/dist/_typedoc/Required/Required.types.json +5 -5
  413. package/dist/_typedoc/Search/Search.types.json +18 -18
  414. package/dist/_typedoc/Section/Section.types.json +15 -15
  415. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  416. package/dist/_typedoc/Select/Select.types.json +60 -60
  417. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  418. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  419. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  420. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +34 -12
  421. package/dist/_typedoc/Switch/Switch.types.json +1 -32
  422. package/dist/_typedoc/Table/Table.types.json +101 -101
  423. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  424. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  425. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  426. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  427. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  428. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  429. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  430. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  431. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  432. package/dist/_typedoc/Title/Title.types.json +1 -1
  433. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  434. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  435. package/dist/_typedoc/Token/Token.types.json +30 -4
  436. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  437. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  438. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  439. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  440. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  441. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  442. package/dist/_typedoc/_utils/types.json +3 -3
  443. package/dist/_utils/slotify.d.ts +1 -2
  444. package/dist/_utils/slotify.js.map +1 -1
  445. package/dist/_utils/types.d.ts +16 -18
  446. package/dist/_utils/types.js.map +1 -1
  447. package/dist/index.d.ts +1 -0
  448. package/dist/index.js.map +1 -1
  449. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DateInput.js","names":["Clear","getDatePartsWithPlaceholders","isSameDay","React","Button","useDateTime","useI18nContext","getMaxYear","maxMonth","minYear","normalizeNewDate","StyledCalendar","StyledDateInput","StyledDateInputDelimiter","StyledDateInputIconContainer","StyledDateInputSegment","StyledDateSegmentsContainer","segmentMaxLengths","day","month","year","dateInputLocales","placeholders","es","psuedoSegmentOrder","isValidYearRange","noop","getLastDate","Math","max","getDate","getSegmentProps","onChangeSegment","type","placeholder","dateInput","getAriaLabel","maxLength","maxValue","minValue","onChange","value","setDay","setMonth","setYear","setFocusTo","target","current","focus","focusTargetOrFirst","_len","arguments","length","refs","Array","_key","handler","event","undefined","ref","reduce","acc","clampDay","date","getMonth","useDateInput","_ref","value_","log","dateTime","useMemo","shiftUtcToZonedTime","_React$useState","useState","_React$useState2","_slicedToArray","setRawDay","_React$useState3","_React$useState4","setRawMonth","_React$useState5","getFullYear","_React$useState6","setRawYear","hasValues","isInvalid","setAll","clampedDay","validDate","shiftZonedTimeToUtc","clear","useEffect","getSegmentText","_ref2","concat","slice","String","padStart","getTodaySegmentValue","today","Date","DateSegment","forwardRef","_ref3","_ref3$disabled","disabled","nextRef","_ref3$onChange","prevRef","_ref3$tabIndex","tabIndex","_ref3$value","props","_objectWithoutProperties","_excluded","I18n","_React$useState7","_React$useState8","keyBuffer","setKeyBuffer","contains","key","keys","indexOf","onKeyDown","stopPropagation","preventDefault","isNaN","parseInt","newBuffer","min","getMonthName","format","valueText","t","createElement","_extends","role","$disabled","$isYear","onBlur","DateInput","_ref4","_dateInputLocales$I","clearRef","_ref4$error","error","_ref4$segmentRefs","segmentRefs","variant","_ref4$onChange","_ref4$onChangeSegment","_ref4$onClear","onClear","_ref4$tabIndex","_excluded2","dateInputRef","segment1Ref","segmentOne","createRef","segment2Ref","segmentTwo","segment3Ref","segmentThree","locale","dateParts","delimiter","filter","part","curr","_toConsumableArray","segmentParts","includes","segments","onClickClear","e","getSegmentAriaLabel","scope","$error","onClick","_props$onClick","call","$visible","Boolean","size","icon","displayName"],"sources":["../../src/DateInput/DateInput.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport { getDatePartsWithPlaceholders } from '@procore/globalization-toolkit'\nimport { isSameDay } from 'date-fns'\nimport React from 'react'\nimport { Button } from '../Button/Button'\nimport { useDateTime } from '../_hooks/DateTime'\nimport { useI18nContext } from '../_hooks/I18n'\nimport {\n getMaxYear,\n maxMonth,\n minYear,\n normalizeNewDate,\n} from '../_utils/CalendarHelpers'\nimport type { DivAttributes } from '../_utils/types'\nimport {\n StyledCalendar,\n StyledDateInput,\n StyledDateInputDelimiter,\n StyledDateInputIconContainer,\n StyledDateInputSegment,\n StyledDateSegmentsContainer,\n} from './DateInput.styles'\nimport type {\n DateInputApi,\n DateInputConfig,\n DateInputLocales,\n DateInputProps,\n DateSegmentProps,\n Segments,\n SegmentType,\n} from './DateInput.types'\n\nconst segmentMaxLengths: Segments = {\n day: 2,\n month: 2,\n year: 4,\n}\n\nconst dateInputLocales: DateInputLocales = {\n 'fr-CA': {\n placeholders: { day: 'jj', month: 'mm', year: 'aaaa' },\n },\n 'fr-FR': {\n placeholders: { day: 'jj', month: 'mm', year: 'aaaa' },\n },\n es: {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'es-ES': {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'pt-BR': {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'is-IS': {\n placeholders: { day: 'dd', month: 'mm', year: 'áááá' },\n },\n 'de-DE': {\n placeholders: { day: 'tt', month: 'mm', year: 'jjjj' },\n },\n 'pl-PL': {\n placeholders: { day: 'yy', month: 'mm', year: 'rrrr' },\n },\n}\n\nconst psuedoSegmentOrder: SegmentType[] = ['day', 'month', 'year']\n\nexport function isValidYearRange(year: number) {\n return year > 1700 && year < 2122\n}\n\nfunction noop() {}\n\nfunction getLastDate(month: number, year: number) {\n return normalizeNewDate(year, Math.max(0, month), 0).getDate()\n}\n\nfunction getSegmentProps(\n onChangeSegment: (type: SegmentType, value: number) => void,\n type: SegmentType,\n placeholder: string,\n dateInput: DateInputApi,\n getAriaLabel: (type: SegmentType, value: number) => string\n) {\n const maxLength = segmentMaxLengths[type]\n\n if (type === 'day') {\n return {\n 'aria-label': getAriaLabel('day', dateInput.day),\n maxLength,\n maxValue: getLastDate(dateInput.month, dateInput.year),\n minValue: 1,\n onChange: (value: number) => {\n dateInput.setDay(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.day,\n }\n } else if (type === 'month') {\n return {\n 'aria-label': getAriaLabel('month', dateInput.month),\n maxLength,\n maxValue: maxMonth,\n minValue: 1,\n onChange: (value: number) => {\n dateInput.setMonth(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.month,\n }\n } else {\n return {\n 'aria-label': getAriaLabel('year', dateInput.year),\n maxLength,\n maxValue: getMaxYear(),\n minValue: minYear,\n onChange: (value: number) => {\n dateInput.setYear(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.year,\n }\n }\n}\n\nfunction setFocusTo(target?: React.RefObject<HTMLDivElement>) {\n return target && target.current && target.current.focus()\n}\n\nfunction focusTargetOrFirst(...refs: React.RefObject<HTMLDivElement>[]) {\n return function handler(event: any = { target: null }) {\n const ref = refs.reduce((acc, ref) => {\n return ref.current && ref.current === event.target ? ref : acc\n }, refs[0])\n\n setFocusTo(ref)\n }\n}\n\nfunction clampDay(day: number, month: number, year: number) {\n if (day > 0 && month > 0 && year) {\n const date = normalizeNewDate(year, month - 1, day)\n\n if (date.getMonth() !== month - 1) {\n return getLastDate(month, year)\n }\n }\n\n return day\n}\n\nfunction useDateInput({\n onChange,\n value: value_,\n log,\n}: DateInputConfig): DateInputApi {\n const dateTime = useDateTime()\n\n // logging called too frequenlty if not in memo\n const value = React.useMemo(() => {\n return dateTime.shiftUtcToZonedTime(value_, log)\n }, [value_])\n\n const [day, setRawDay] = React.useState(value ? value.getDate() : -1)\n\n const [month, setRawMonth] = React.useState(value ? value.getMonth() + 1 : -1)\n\n const [year, setRawYear] = React.useState(value ? value.getFullYear() : -1)\n\n const hasValues = day >= 0 || month >= 0 || year >= 0\n\n const isInvalid = day < 0 || month < 0 || year < 0\n\n const setAll = (day: number, month: number, year: number) => {\n const clampedDay = clampDay(day, month, year)\n\n const date =\n clampedDay > 0 && month > 0 && year > 0\n ? normalizeNewDate(year, month - 1, clampedDay)\n : null\n\n setRawDay(clampedDay)\n setRawMonth(month)\n setRawYear(year)\n\n // Call DateSelect.onChange API when a supported year range or deleted date\n // isValidYearRange protects shiftZonedTimeToUtc\n // when date is null, year should be -1. -1 means it was cleared, either by button or backspace key\n /**\n * - going from non-valid date to a valid date\n * - is a valid year range\n * - going from one valid date to another, different, date\n * - is a valid year range\n * - change to invalid date\n */\n const validDate = date && isValidYearRange(year)\n if (\n (!value && validDate) ||\n (value && validDate && !isSameDay(date, value)) ||\n (value && date === null)\n ) {\n onChange(dateTime.shiftZonedTimeToUtc(date))\n }\n }\n\n const setDay = (value: number) => {\n setAll(value, month, year)\n }\n\n const setMonth = (value: number) => {\n setAll(day, value, year)\n }\n\n const setYear = (value: number) => {\n setAll(day, month, value)\n }\n\n const clear = () => {\n setAll(-1, -1, -1)\n }\n\n React.useEffect(() => {\n if (value) {\n setRawDay(value.getDate())\n setRawMonth(value.getMonth() + 1)\n setRawYear(value.getFullYear())\n } else if (value === undefined) {\n setRawDay(-1)\n setRawMonth(-1)\n setRawYear(-1)\n }\n }, [value])\n\n return {\n clear,\n day,\n hasValues,\n month,\n setDay,\n setMonth,\n setYear,\n year,\n }\n}\n\nfunction getSegmentText({\n maxLength,\n placeholder,\n type,\n value,\n}: {\n maxLength: number\n placeholder: string\n type: SegmentType\n value: number\n}) {\n if (value < 0) {\n return placeholder\n }\n if (type === 'year' && !isValidYearRange(value)) {\n return `${value}____`.slice(0, 4)\n }\n return String(value).padStart(maxLength, '0')\n}\n\nconst getTodaySegmentValue = (type: DateSegmentProps['type']) => {\n const today = new Date()\n if (type === 'month') {\n // months start from zero\n return today.getMonth() + 1\n } else if (type === 'day') {\n return today.getDate()\n } else {\n return today.getFullYear()\n }\n}\n\nconst DateSegment = React.forwardRef<\n HTMLDivElement,\n Omit<DivAttributes, 'onChange'> & DateSegmentProps\n>(function DateSegment(\n {\n disabled = false,\n maxLength,\n maxValue,\n minValue,\n nextRef,\n onChange = (value: number) => {},\n placeholder,\n prevRef,\n tabIndex = 0,\n type,\n value = 0,\n ...props\n },\n ref\n) {\n const I18n = useI18nContext()\n const dateTime = useDateTime()\n const [keyBuffer, setKeyBuffer] = React.useState('')\n\n const contains = (key: string, keys: string[]) => keys.indexOf(key) >= 0\n\n const onKeyDown = (event: React.KeyboardEvent<any>) => {\n event.stopPropagation()\n\n const key = event.key\n\n if (contains(key, ['Up', 'ArrowUp', 'Down', 'ArrowDown', 'Backspace'])) {\n event.preventDefault()\n }\n\n if (contains(key, ['Up', 'ArrowUp', 'Down', 'ArrowDown']) && value === -1) {\n onChange(getTodaySegmentValue(type))\n } else if (contains(key, ['Up', 'ArrowUp'])) {\n onChange(value + 1 > maxValue ? minValue : Math.max(1, value + 1))\n } else if (contains(key, ['Down', 'ArrowDown'])) {\n onChange(value - 1 < minValue ? maxValue : value - 1)\n } else if (contains(key, ['Left', 'ArrowLeft'])) {\n setFocusTo(prevRef)\n } else if (contains(key, ['Right', 'ArrowRight'])) {\n setFocusTo(nextRef)\n } else if (contains(key, ['Backspace', 'Delete'])) {\n setKeyBuffer('')\n onChange(-1)\n\n // the segment is currently empty, go to the previous segment\n if (value === -1) {\n setFocusTo(prevRef)\n }\n } else if (!isNaN(parseInt(key, 10))) {\n if (keyBuffer.length === 0) {\n // current buffer is empty, initialize it\n setKeyBuffer(key)\n onChange(parseInt(key, 10))\n } else {\n // current buffer has text, add to it\n const newBuffer = keyBuffer + key\n\n setKeyBuffer(newBuffer)\n onChange(Math.min(parseInt(newBuffer, 10), maxValue))\n }\n }\n }\n\n React.useEffect(() => {\n if (\n keyBuffer.length >= maxLength ||\n (keyBuffer.length === 1 &&\n ((type === 'day' && value > 3) || (type === 'month' && value > 1)))\n ) {\n setFocusTo(nextRef)\n\n // Needed for year to reset as it does not move focus\n setKeyBuffer('')\n }\n })\n\n const getMonthName = (month: number) => {\n const date = new Date()\n // months start from zero\n date.setMonth(month - 1)\n\n return dateTime.format(date, 'none', { month: 'long' })\n }\n\n const valueText =\n value === -1\n ? I18n.t('core.dateInput.segment.ariaValueText.empty')\n : type === 'month'\n ? `${value} - ${getMonthName(value)}`\n : `${value}`\n\n return (\n <StyledDateInputSegment\n ref={ref}\n {...props}\n role=\"spinbutton\"\n aria-valuetext={valueText}\n aria-valuenow={value == -1 ? getTodaySegmentValue(type) : value}\n aria-valuemax={maxValue}\n aria-valuemin={minValue}\n data-placeholder={value < 0}\n $disabled={disabled}\n $isYear={type === 'year'}\n onBlur={() => {\n if (type === 'year' && value !== -1 && value < 100) {\n onChange(2000 + value)\n }\n\n setKeyBuffer('')\n }}\n onKeyDown={onKeyDown}\n tabIndex={disabled ? -1 : tabIndex}\n >\n {getSegmentText({ value, placeholder, type, maxLength })}\n </StyledDateInputSegment>\n )\n})\n\n/**\n * @deprecatedSince 11\n * @deprecated Intended for internal library development.\n */\nexport const DateInput = React.forwardRef<HTMLDivElement, DateInputProps>(\n function DateInput(\n {\n clearRef,\n disabled,\n error = false,\n segmentRefs = {},\n variant,\n onChange = noop,\n onChangeSegment = noop,\n onClear = noop,\n tabIndex = 0,\n value,\n ...props\n },\n ref\n ) {\n const I18n = useI18nContext()\n\n const dateInputRef = ref as React.RefObject<HTMLDivElement>\n\n const segment1Ref =\n segmentRefs.segmentOne || React.createRef<HTMLDivElement>()\n\n const segment2Ref =\n segmentRefs.segmentTwo || React.createRef<HTMLDivElement>()\n\n const segment3Ref =\n segmentRefs.segmentThree || React.createRef<HTMLDivElement>()\n\n const placeholders = dateInputLocales[I18n.locale]?.placeholders || {\n day: 'dd',\n month: 'mm',\n year: 'yyyy',\n }\n\n const dateParts = getDatePartsWithPlaceholders(I18n.locale, placeholders)\n\n const delimiter = dateParts\n .filter((part) => part.type === 'literal')\n .reduce((acc, curr) => [...acc, curr.value], [] as string[])\n\n const segmentParts = dateParts\n .filter((part) => ['month', 'day', 'year'].includes(part.type))\n .reduce((acc, curr) => [...acc, curr.type], [] as string[])\n\n const segments =\n (I18n.locale as string) === 'pseudo'\n ? psuedoSegmentOrder\n : [...(segmentParts as SegmentType[])]\n\n const dateTime = useDateTime()\n const dateInput = useDateInput({\n onChange,\n value,\n log: 'Display date',\n })\n\n const onClickClear = (e: React.MouseEvent<HTMLButtonElement>) => {\n setFocusTo(segment1Ref)\n dateInput.clear()\n onClear(e)\n }\n\n const getSegmentAriaLabel = (type: SegmentType, value: number) =>\n value && value !== -1\n ? I18n.t(type, {\n value,\n scope: 'core.dateInput.segment.ariaLabel.withValue',\n })\n : I18n.t(type, {\n scope: 'core.dateInput.segment.ariaLabel.withoutValue',\n })\n\n return (\n <StyledDateInput\n role=\"group\"\n aria-label={\n value && isValidYearRange(dateInput.year)\n ? dateTime.format(value, 'weekday-date')\n : undefined\n }\n $disabled={disabled || variant === 'disabled'}\n $error={\n error ||\n variant === 'error' ||\n // -1 means placeholder yyyy is shown\n (!isValidYearRange(dateInput.year) && dateInput.year !== -1)\n }\n ref={dateInputRef}\n {...props}\n onClick={(e: React.MouseEvent<HTMLDivElement>) => {\n focusTargetOrFirst(segment1Ref, segment2Ref, segment3Ref)(e)\n props.onClick?.(e)\n }}\n >\n <StyledDateSegmentsContainer>\n <DateSegment\n disabled={disabled}\n nextRef={segment2Ref}\n ref={segment1Ref}\n tabIndex={tabIndex}\n type={segments[0]}\n {...getSegmentProps(\n onChangeSegment,\n segments[0],\n placeholders[segments[0]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[0] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[0]}\n </StyledDateInputDelimiter>\n )}\n <DateSegment\n disabled={disabled}\n nextRef={segment3Ref}\n prevRef={segment1Ref}\n ref={segment2Ref}\n tabIndex={tabIndex}\n type={segments[1]}\n {...getSegmentProps(\n onChangeSegment,\n segments[1],\n placeholders[segments[1]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[1] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[1]}\n </StyledDateInputDelimiter>\n )}\n <DateSegment\n disabled={disabled}\n prevRef={segment2Ref}\n ref={segment3Ref}\n tabIndex={tabIndex}\n type={segments[2]}\n {...getSegmentProps(\n onChangeSegment,\n segments[2],\n placeholders[segments[2]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[2] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[2]}\n </StyledDateInputDelimiter>\n )}\n </StyledDateSegmentsContainer>\n <StyledDateInputIconContainer>\n {dateInput.hasValues ? (\n <Button\n aria-label={I18n.t('core.dateInput.clearButton.ariaLabel')}\n onClick={onClickClear}\n ref={clearRef}\n size=\"sm\"\n variant=\"tertiary\"\n icon={<Clear size=\"sm\" />}\n tabIndex={-1} // TODO revisit this accessibility\n />\n ) : (\n <StyledCalendar />\n )}\n </StyledDateInputIconContainer>\n </StyledDateInput>\n )\n }\n)\n\nDateInput.displayName = 'DateInput'\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateInput.js","names":["Clear","getDatePartsWithPlaceholders","isSameDay","React","Button","useDateTime","useI18nContext","getMaxYear","maxMonth","minYear","normalizeNewDate","StyledCalendar","StyledDateInput","StyledDateInputDelimiter","StyledDateInputIconContainer","StyledDateInputSegment","StyledDateSegmentsContainer","segmentMaxLengths","day","month","year","dateInputLocales","placeholders","es","psuedoSegmentOrder","isValidYearRange","noop","getLastDate","Math","max","getDate","getSegmentProps","onChangeSegment","type","placeholder","dateInput","getAriaLabel","maxLength","maxValue","minValue","onChange","value","setDay","setMonth","setYear","setFocusTo","target","current","focus","focusTargetOrFirst","_len","arguments","length","refs","Array","_key","handler","event","undefined","ref","reduce","acc","clampDay","date","getMonth","useDateInput","_ref","value_","log","dateTime","useMemo","shiftUtcToZonedTime","_React$useState","useState","_React$useState2","_slicedToArray","setRawDay","_React$useState3","_React$useState4","setRawMonth","_React$useState5","getFullYear","_React$useState6","setRawYear","hasValues","isInvalid","setAll","clampedDay","validDate","shiftZonedTimeToUtc","clear","useEffect","getSegmentText","_ref2","concat","slice","String","padStart","getTodaySegmentValue","today","Date","DateSegment","forwardRef","_ref3","_ref3$disabled","disabled","nextRef","_ref3$onChange","prevRef","_ref3$tabIndex","tabIndex","_ref3$value","props","_objectWithoutProperties","_excluded","I18n","_React$useState7","_React$useState8","keyBuffer","setKeyBuffer","contains","key","keys","indexOf","onKeyDown","stopPropagation","preventDefault","isNaN","parseInt","newBuffer","min","getMonthName","format","valueText","t","createElement","_extends","role","$disabled","$isYear","onBlur","DateInput","_ref4","_dateInputLocales$I","clearRef","_ref4$error","error","_ref4$segmentRefs","segmentRefs","variant","_ref4$onChange","_ref4$onChangeSegment","_ref4$onClear","onClear","_ref4$tabIndex","_excluded2","dateInputRef","segment1Ref","segmentOne","createRef","segment2Ref","segmentTwo","segment3Ref","segmentThree","locale","dateParts","delimiter","filter","part","curr","_toConsumableArray","segmentParts","includes","segments","onClickClear","e","getSegmentAriaLabel","scope","$error","onClick","_props$onClick","call","$visible","Boolean","size","icon","displayName"],"sources":["../../src/DateInput/DateInput.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport { getDatePartsWithPlaceholders } from '@procore/globalization-toolkit'\nimport { isSameDay } from 'date-fns'\nimport React from 'react'\nimport { Button } from '../Button/Button'\nimport { useDateTime } from '../_hooks/DateTime'\nimport { useI18nContext } from '../_hooks/I18n'\nimport {\n getMaxYear,\n maxMonth,\n minYear,\n normalizeNewDate,\n} from '../_utils/CalendarHelpers'\nimport {\n StyledCalendar,\n StyledDateInput,\n StyledDateInputDelimiter,\n StyledDateInputIconContainer,\n StyledDateInputSegment,\n StyledDateSegmentsContainer,\n} from './DateInput.styles'\nimport type {\n DateInputApi,\n DateInputConfig,\n DateInputLocales,\n DateInputProps,\n DateSegmentProps,\n Segments,\n SegmentType,\n} from './DateInput.types'\n\nconst segmentMaxLengths: Segments = {\n day: 2,\n month: 2,\n year: 4,\n}\n\nconst dateInputLocales: DateInputLocales = {\n 'fr-CA': {\n placeholders: { day: 'jj', month: 'mm', year: 'aaaa' },\n },\n 'fr-FR': {\n placeholders: { day: 'jj', month: 'mm', year: 'aaaa' },\n },\n es: {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'es-ES': {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'pt-BR': {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'is-IS': {\n placeholders: { day: 'dd', month: 'mm', year: 'áááá' },\n },\n 'de-DE': {\n placeholders: { day: 'tt', month: 'mm', year: 'jjjj' },\n },\n 'pl-PL': {\n placeholders: { day: 'yy', month: 'mm', year: 'rrrr' },\n },\n}\n\nconst psuedoSegmentOrder: SegmentType[] = ['day', 'month', 'year']\n\nexport function isValidYearRange(year: number) {\n return year > 1700 && year < 2122\n}\n\nfunction noop() {}\n\nfunction getLastDate(month: number, year: number) {\n return normalizeNewDate(year, Math.max(0, month), 0).getDate()\n}\n\nfunction getSegmentProps(\n onChangeSegment: (type: SegmentType, value: number) => void,\n type: SegmentType,\n placeholder: string,\n dateInput: DateInputApi,\n getAriaLabel: (type: SegmentType, value: number) => string\n) {\n const maxLength = segmentMaxLengths[type]\n\n if (type === 'day') {\n return {\n 'aria-label': getAriaLabel('day', dateInput.day),\n maxLength,\n maxValue: getLastDate(dateInput.month, dateInput.year),\n minValue: 1,\n onChange: (value: number) => {\n dateInput.setDay(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.day,\n }\n } else if (type === 'month') {\n return {\n 'aria-label': getAriaLabel('month', dateInput.month),\n maxLength,\n maxValue: maxMonth,\n minValue: 1,\n onChange: (value: number) => {\n dateInput.setMonth(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.month,\n }\n } else {\n return {\n 'aria-label': getAriaLabel('year', dateInput.year),\n maxLength,\n maxValue: getMaxYear(),\n minValue: minYear,\n onChange: (value: number) => {\n dateInput.setYear(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.year,\n }\n }\n}\n\nfunction setFocusTo(target?: React.RefObject<HTMLDivElement>) {\n return target && target.current && target.current.focus()\n}\n\nfunction focusTargetOrFirst(...refs: React.RefObject<HTMLDivElement>[]) {\n return function handler(event: any = { target: null }) {\n const ref = refs.reduce((acc, ref) => {\n return ref.current && ref.current === event.target ? ref : acc\n }, refs[0])\n\n setFocusTo(ref)\n }\n}\n\nfunction clampDay(day: number, month: number, year: number) {\n if (day > 0 && month > 0 && year) {\n const date = normalizeNewDate(year, month - 1, day)\n\n if (date.getMonth() !== month - 1) {\n return getLastDate(month, year)\n }\n }\n\n return day\n}\n\nfunction useDateInput({\n onChange,\n value: value_,\n log,\n}: DateInputConfig): DateInputApi {\n const dateTime = useDateTime()\n\n // logging called too frequenlty if not in memo\n const value = React.useMemo(() => {\n return dateTime.shiftUtcToZonedTime(value_, log)\n }, [value_])\n\n const [day, setRawDay] = React.useState(value ? value.getDate() : -1)\n\n const [month, setRawMonth] = React.useState(value ? value.getMonth() + 1 : -1)\n\n const [year, setRawYear] = React.useState(value ? value.getFullYear() : -1)\n\n const hasValues = day >= 0 || month >= 0 || year >= 0\n\n const isInvalid = day < 0 || month < 0 || year < 0\n\n const setAll = (day: number, month: number, year: number) => {\n const clampedDay = clampDay(day, month, year)\n\n const date =\n clampedDay > 0 && month > 0 && year > 0\n ? normalizeNewDate(year, month - 1, clampedDay)\n : null\n\n setRawDay(clampedDay)\n setRawMonth(month)\n setRawYear(year)\n\n // Call DateSelect.onChange API when a supported year range or deleted date\n // isValidYearRange protects shiftZonedTimeToUtc\n // when date is null, year should be -1. -1 means it was cleared, either by button or backspace key\n /**\n * - going from non-valid date to a valid date\n * - is a valid year range\n * - going from one valid date to another, different, date\n * - is a valid year range\n * - change to invalid date\n */\n const validDate = date && isValidYearRange(year)\n if (\n (!value && validDate) ||\n (value && validDate && !isSameDay(date, value)) ||\n (value && date === null)\n ) {\n onChange(dateTime.shiftZonedTimeToUtc(date))\n }\n }\n\n const setDay = (value: number) => {\n setAll(value, month, year)\n }\n\n const setMonth = (value: number) => {\n setAll(day, value, year)\n }\n\n const setYear = (value: number) => {\n setAll(day, month, value)\n }\n\n const clear = () => {\n setAll(-1, -1, -1)\n }\n\n React.useEffect(() => {\n if (value) {\n setRawDay(value.getDate())\n setRawMonth(value.getMonth() + 1)\n setRawYear(value.getFullYear())\n } else if (value === undefined) {\n setRawDay(-1)\n setRawMonth(-1)\n setRawYear(-1)\n }\n }, [value])\n\n return {\n clear,\n day,\n hasValues,\n month,\n setDay,\n setMonth,\n setYear,\n year,\n }\n}\n\nfunction getSegmentText({\n maxLength,\n placeholder,\n type,\n value,\n}: {\n maxLength: number\n placeholder: string\n type: SegmentType\n value: number\n}) {\n if (value < 0) {\n return placeholder\n }\n if (type === 'year' && !isValidYearRange(value)) {\n return `${value}____`.slice(0, 4)\n }\n return String(value).padStart(maxLength, '0')\n}\n\nconst getTodaySegmentValue = (type: DateSegmentProps['type']) => {\n const today = new Date()\n if (type === 'month') {\n // months start from zero\n return today.getMonth() + 1\n } else if (type === 'day') {\n return today.getDate()\n } else {\n return today.getFullYear()\n }\n}\n\nconst DateSegment = React.forwardRef<\n HTMLDivElement,\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> & DateSegmentProps\n>(function DateSegment(\n {\n disabled = false,\n maxLength,\n maxValue,\n minValue,\n nextRef,\n onChange = (value: number) => {},\n placeholder,\n prevRef,\n tabIndex = 0,\n type,\n value = 0,\n ...props\n },\n ref\n) {\n const I18n = useI18nContext()\n const dateTime = useDateTime()\n const [keyBuffer, setKeyBuffer] = React.useState('')\n\n const contains = (key: string, keys: string[]) => keys.indexOf(key) >= 0\n\n const onKeyDown = (event: React.KeyboardEvent<any>) => {\n event.stopPropagation()\n\n const key = event.key\n\n if (contains(key, ['Up', 'ArrowUp', 'Down', 'ArrowDown', 'Backspace'])) {\n event.preventDefault()\n }\n\n if (contains(key, ['Up', 'ArrowUp', 'Down', 'ArrowDown']) && value === -1) {\n onChange(getTodaySegmentValue(type))\n } else if (contains(key, ['Up', 'ArrowUp'])) {\n onChange(value + 1 > maxValue ? minValue : Math.max(1, value + 1))\n } else if (contains(key, ['Down', 'ArrowDown'])) {\n onChange(value - 1 < minValue ? maxValue : value - 1)\n } else if (contains(key, ['Left', 'ArrowLeft'])) {\n setFocusTo(prevRef)\n } else if (contains(key, ['Right', 'ArrowRight'])) {\n setFocusTo(nextRef)\n } else if (contains(key, ['Backspace', 'Delete'])) {\n setKeyBuffer('')\n onChange(-1)\n\n // the segment is currently empty, go to the previous segment\n if (value === -1) {\n setFocusTo(prevRef)\n }\n } else if (!isNaN(parseInt(key, 10))) {\n if (keyBuffer.length === 0) {\n // current buffer is empty, initialize it\n setKeyBuffer(key)\n onChange(parseInt(key, 10))\n } else {\n // current buffer has text, add to it\n const newBuffer = keyBuffer + key\n\n setKeyBuffer(newBuffer)\n onChange(Math.min(parseInt(newBuffer, 10), maxValue))\n }\n }\n }\n\n React.useEffect(() => {\n if (\n keyBuffer.length >= maxLength ||\n (keyBuffer.length === 1 &&\n ((type === 'day' && value > 3) || (type === 'month' && value > 1)))\n ) {\n setFocusTo(nextRef)\n\n // Needed for year to reset as it does not move focus\n setKeyBuffer('')\n }\n })\n\n const getMonthName = (month: number) => {\n const date = new Date()\n // months start from zero\n date.setMonth(month - 1)\n\n return dateTime.format(date, 'none', { month: 'long' })\n }\n\n const valueText =\n value === -1\n ? I18n.t('core.dateInput.segment.ariaValueText.empty')\n : type === 'month'\n ? `${value} - ${getMonthName(value)}`\n : `${value}`\n\n return (\n <StyledDateInputSegment\n ref={ref}\n {...props}\n role=\"spinbutton\"\n aria-valuetext={valueText}\n aria-valuenow={value == -1 ? getTodaySegmentValue(type) : value}\n aria-valuemax={maxValue}\n aria-valuemin={minValue}\n data-placeholder={value < 0}\n $disabled={disabled}\n $isYear={type === 'year'}\n onBlur={() => {\n if (type === 'year' && value !== -1 && value < 100) {\n onChange(2000 + value)\n }\n\n setKeyBuffer('')\n }}\n onKeyDown={onKeyDown}\n tabIndex={disabled ? -1 : tabIndex}\n >\n {getSegmentText({ value, placeholder, type, maxLength })}\n </StyledDateInputSegment>\n )\n})\n\n/**\n * @deprecatedSince 11\n * @deprecated Intended for internal library development.\n */\nexport const DateInput = React.forwardRef<HTMLDivElement, DateInputProps>(\n function DateInput(\n {\n clearRef,\n disabled,\n error = false,\n segmentRefs = {},\n variant,\n onChange = noop,\n onChangeSegment = noop,\n onClear = noop,\n tabIndex = 0,\n value,\n ...props\n },\n ref\n ) {\n const I18n = useI18nContext()\n\n const dateInputRef = ref as React.RefObject<HTMLDivElement>\n\n const segment1Ref =\n segmentRefs.segmentOne || React.createRef<HTMLDivElement>()\n\n const segment2Ref =\n segmentRefs.segmentTwo || React.createRef<HTMLDivElement>()\n\n const segment3Ref =\n segmentRefs.segmentThree || React.createRef<HTMLDivElement>()\n\n const placeholders = dateInputLocales[I18n.locale]?.placeholders || {\n day: 'dd',\n month: 'mm',\n year: 'yyyy',\n }\n\n const dateParts = getDatePartsWithPlaceholders(I18n.locale, placeholders)\n\n const delimiter = dateParts\n .filter((part) => part.type === 'literal')\n .reduce((acc, curr) => [...acc, curr.value], [] as string[])\n\n const segmentParts = dateParts\n .filter((part) => ['month', 'day', 'year'].includes(part.type))\n .reduce((acc, curr) => [...acc, curr.type], [] as string[])\n\n const segments =\n (I18n.locale as string) === 'pseudo'\n ? psuedoSegmentOrder\n : [...(segmentParts as SegmentType[])]\n\n const dateTime = useDateTime()\n const dateInput = useDateInput({\n onChange,\n value,\n log: 'Display date',\n })\n\n const onClickClear = (e: React.MouseEvent<HTMLButtonElement>) => {\n setFocusTo(segment1Ref)\n dateInput.clear()\n onClear(e)\n }\n\n const getSegmentAriaLabel = (type: SegmentType, value: number) =>\n value && value !== -1\n ? I18n.t(type, {\n value,\n scope: 'core.dateInput.segment.ariaLabel.withValue',\n })\n : I18n.t(type, {\n scope: 'core.dateInput.segment.ariaLabel.withoutValue',\n })\n\n return (\n <StyledDateInput\n role=\"group\"\n aria-label={\n value && isValidYearRange(dateInput.year)\n ? dateTime.format(value, 'weekday-date')\n : undefined\n }\n $disabled={disabled || variant === 'disabled'}\n $error={\n error ||\n variant === 'error' ||\n // -1 means placeholder yyyy is shown\n (!isValidYearRange(dateInput.year) && dateInput.year !== -1)\n }\n ref={dateInputRef}\n {...props}\n onClick={(e: React.MouseEvent<HTMLDivElement>) => {\n focusTargetOrFirst(segment1Ref, segment2Ref, segment3Ref)(e)\n props.onClick?.(e)\n }}\n >\n <StyledDateSegmentsContainer>\n <DateSegment\n disabled={disabled}\n nextRef={segment2Ref}\n ref={segment1Ref}\n tabIndex={tabIndex}\n type={segments[0]}\n {...getSegmentProps(\n onChangeSegment,\n segments[0],\n placeholders[segments[0]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[0] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[0]}\n </StyledDateInputDelimiter>\n )}\n <DateSegment\n disabled={disabled}\n nextRef={segment3Ref}\n prevRef={segment1Ref}\n ref={segment2Ref}\n tabIndex={tabIndex}\n type={segments[1]}\n {...getSegmentProps(\n onChangeSegment,\n segments[1],\n placeholders[segments[1]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[1] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[1]}\n </StyledDateInputDelimiter>\n )}\n <DateSegment\n disabled={disabled}\n prevRef={segment2Ref}\n ref={segment3Ref}\n tabIndex={tabIndex}\n type={segments[2]}\n {...getSegmentProps(\n onChangeSegment,\n segments[2],\n placeholders[segments[2]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[2] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[2]}\n </StyledDateInputDelimiter>\n )}\n </StyledDateSegmentsContainer>\n <StyledDateInputIconContainer>\n {dateInput.hasValues ? (\n <Button\n aria-label={I18n.t('core.dateInput.clearButton.ariaLabel')}\n onClick={onClickClear}\n ref={clearRef}\n size=\"sm\"\n variant=\"tertiary\"\n icon={<Clear size=\"sm\" />}\n tabIndex={-1} // TODO revisit this accessibility\n />\n ) : (\n <StyledCalendar />\n )}\n </StyledDateInputIconContainer>\n </StyledDateInput>\n )\n }\n)\n\nDateInput.displayName = 'DateInput'\n"],"mappings":"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"}
@@ -10,15 +10,15 @@ var inputHeight = 36; // TODO one-off
10
10
  var disabledCss = /*#__PURE__*/css(["background-color:", ";color:", ";border-width:1px;border-style:solid;border-color:", ";pointer-events:none;svg{color:", ";}"], colors.gray94, colors.gray45, colors.gray70, colors.gray45);
11
11
  export var StyledCalendar = /*#__PURE__*/styled(Calendar).withConfig({
12
12
  displayName: "StyledCalendar",
13
- componentId: "core-12_25_0__sc-w10btf-0"
13
+ componentId: "core-12_25_2__sc-w10btf-0"
14
14
  })(["color:", ";"], colors.gray45);
15
15
  export var StyledDateSegmentsContainer = /*#__PURE__*/styled.div.withConfig({
16
16
  displayName: "StyledDateSegmentsContainer",
17
- componentId: "core-12_25_0__sc-w10btf-1"
17
+ componentId: "core-12_25_2__sc-w10btf-1"
18
18
  })(["min-width:104px;display:flex;gap:", "px;"], spacing.xs);
19
19
  export var StyledDateInputSegment = /*#__PURE__*/styled.div.withConfig({
20
20
  displayName: "StyledDateInputSegment",
21
- componentId: "core-12_25_0__sc-w10btf-2"
21
+ componentId: "core-12_25_2__sc-w10btf-2"
22
22
  })(["", " outline:none;text-align:center;&:focus{background-color:", ";}&::selection{background-color:transparent;}&[data-placeholder='true']{color:", ";}"], getTypographyIntent('body'), colors.blue96, function (_ref) {
23
23
  var $disabled = _ref.$disabled;
24
24
  return $disabled ? colors.gray70 : colors.gray45;
@@ -29,15 +29,15 @@ export var StyledDateInputDelimiter = /*#__PURE__*/styled.span.attrs(function (p
29
29
  };
30
30
  }).withConfig({
31
31
  displayName: "StyledDateInputDelimiter",
32
- componentId: "core-12_25_0__sc-w10btf-3"
32
+ componentId: "core-12_25_2__sc-w10btf-3"
33
33
  })(["", " user-select:none;"], getTypographyIntent('body'));
34
34
  export var StyledDateInputIconContainer = /*#__PURE__*/styled.div.withConfig({
35
35
  displayName: "StyledDateInputIconContainer",
36
- componentId: "core-12_25_0__sc-w10btf-4"
36
+ componentId: "core-12_25_2__sc-w10btf-4"
37
37
  })(["display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;margin:0 0 0 ", "px;height:24px;width:24px;"], spacing.xs);
38
38
  export var StyledDateInput = /*#__PURE__*/styled.div.withConfig({
39
39
  displayName: "StyledDateInput",
40
- componentId: "core-12_25_0__sc-w10btf-5"
40
+ componentId: "core-12_25_2__sc-w10btf-5"
41
41
  })(["align-items:center;border-color:", ";border-radius:4px;border-style:solid;border-width:1px;display:inline-flex;flex-direction:row;height:", "px;justify-content:center;padding:0 ", "px 0 ", "px;&::placeholder{color:", ";}", " &:focus-within,&[data-qa=", "]{", ";}&:disabled{", "}", " ", ""], colors.gray70, inputHeight, spacing.xs, spacing.sm, colors.gray45, function (_ref2) {
42
42
  var $error = _ref2.$error;
43
43
  return !$error && css(["&:hover,&[data-qa=", "]{border-color:", ";}"], dataQa.hovered, colors.gray45);
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import type { Locale } from '../_hooks/I18n';
3
- import type { DivAttributes, Props } from '../_utils/types';
3
+ import type { Props } from '../_utils/types';
4
4
  export declare type SegmentType = 'day' | 'month' | 'year';
5
5
  declare type DateInputVariant = '' | 'error' | 'disabled';
6
6
  export interface DateSegmentProps {
@@ -111,7 +111,7 @@ export declare type DateInputLocales = {
111
111
  };
112
112
  };
113
113
  };
114
- export interface DateInputProps extends Props, Omit<DivAttributes, 'onChange'> {
114
+ export interface DateInputProps extends Props, Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
115
115
  /**
116
116
  * @since 10.19.0
117
117
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DateInput.types.js","names":[],"sources":["../../src/DateInput/DateInput.types.ts"],"sourcesContent":["import type { Locale } from '../_hooks/I18n'\nimport type { DivAttributes, Props } from '../_utils/types'\n\nexport type SegmentType = 'day' | 'month' | 'year'\n\ntype DateInputVariant = '' | 'error' | 'disabled'\n\nexport interface DateSegmentProps {\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @since 10.19.0\n */\n maxLength: number\n /**\n * @since 10.19.0\n */\n maxValue: number\n /**\n * @since 10.19.0\n */\n minValue: number\n /**\n * @since 10.19.0\n */\n nextRef?: React.RefObject<HTMLDivElement>\n /**\n * @since 10.19.0\n */\n onChange?: (value: number) => void\n /**\n * @since 10.19.0\n */\n placeholder: string\n /**\n * @since 10.19.0\n */\n prevRef?: React.RefObject<HTMLDivElement>\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n /**\n * @since 10.19.0\n */\n type: SegmentType\n /**\n * @since 10.19.0\n */\n value?: number\n}\n\nexport interface DateInputConfig {\n /**\n * @since 10.19.0\n */\n onChange: (date: Date | null) => void\n /**\n * @since 10.19.0\n */\n value?: Date | null\n /**\n * @since 10.19.0\n */\n log?: string\n}\n\nexport interface DateInputApi {\n /**\n * @since 10.19.0\n */\n clear: () => void\n /**\n * @since 10.19.0\n */\n day: number\n /**\n * @since 10.19.0\n */\n hasValues: boolean\n /**\n * @since 10.19.0\n */\n month: number\n /**\n * @since 10.19.0\n */\n setDay: (value: number) => void\n /**\n * @since 10.19.0\n */\n setMonth: (value: number) => void\n /**\n * @since 10.19.0\n */\n setYear: (value: number) => void\n /**\n * @since 10.19.0\n */\n year: number\n}\n\nexport type Segments = { [key in SegmentType]: number }\n\nexport type DateInputLocales = {\n /**\n * @since 10.19.0\n */\n [key in Locale]?: {\n delimiter?: string[]\n segments?: [SegmentType, SegmentType, SegmentType]\n placeholders?: { year: string; month: string; day: string }\n }\n}\n\nexport interface DateInputProps extends Props, Omit<DivAttributes, 'onChange'> {\n /**\n * @since 10.19.0\n */\n clearRef: React.RefObject<HTMLButtonElement>\n\n /**\n * Error variant\n * @default false\n * @since 10.19.0\n */\n error?: boolean\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n\n /**\n * @param {Date | null} date\n * Change handler for when a valid date is entered\n * @since 10.19.0\n */\n onChange?: (date: Date | null) => void\n /**\n * @since 10.19.0\n */\n onChangeSegment?: (type: SegmentType, value: number) => void\n\n /**\n * @param {MouseEvent} e\n * Handler for when the clear icon is clicked\n * @since 10.19.0\n */\n onClear?: (e: React.MouseEvent<HTMLButtonElement>) => void\n /**\n * @since 10.19.0\n */\n segmentRefs?: {\n segmentOne?: React.RefObject<HTMLDivElement>\n segmentTwo?: React.RefObject<HTMLDivElement>\n segmentThree?: React.RefObject<HTMLDivElement>\n }\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n /**\n * Date value for the input\n * @since 10.19.0\n */\n value?: Date\n /**\n * @since 10.19.0\n */\n variant?: DateInputVariant\n}\n"],"mappings":""}
1
+ {"version":3,"file":"DateInput.types.js","names":[],"sources":["../../src/DateInput/DateInput.types.ts"],"sourcesContent":["import type { Locale } from '../_hooks/I18n'\nimport type { Props } from '../_utils/types'\n\nexport type SegmentType = 'day' | 'month' | 'year'\n\ntype DateInputVariant = '' | 'error' | 'disabled'\n\nexport interface DateSegmentProps {\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @since 10.19.0\n */\n maxLength: number\n /**\n * @since 10.19.0\n */\n maxValue: number\n /**\n * @since 10.19.0\n */\n minValue: number\n /**\n * @since 10.19.0\n */\n nextRef?: React.RefObject<HTMLDivElement>\n /**\n * @since 10.19.0\n */\n onChange?: (value: number) => void\n /**\n * @since 10.19.0\n */\n placeholder: string\n /**\n * @since 10.19.0\n */\n prevRef?: React.RefObject<HTMLDivElement>\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n /**\n * @since 10.19.0\n */\n type: SegmentType\n /**\n * @since 10.19.0\n */\n value?: number\n}\n\nexport interface DateInputConfig {\n /**\n * @since 10.19.0\n */\n onChange: (date: Date | null) => void\n /**\n * @since 10.19.0\n */\n value?: Date | null\n /**\n * @since 10.19.0\n */\n log?: string\n}\n\nexport interface DateInputApi {\n /**\n * @since 10.19.0\n */\n clear: () => void\n /**\n * @since 10.19.0\n */\n day: number\n /**\n * @since 10.19.0\n */\n hasValues: boolean\n /**\n * @since 10.19.0\n */\n month: number\n /**\n * @since 10.19.0\n */\n setDay: (value: number) => void\n /**\n * @since 10.19.0\n */\n setMonth: (value: number) => void\n /**\n * @since 10.19.0\n */\n setYear: (value: number) => void\n /**\n * @since 10.19.0\n */\n year: number\n}\n\nexport type Segments = { [key in SegmentType]: number }\n\nexport type DateInputLocales = {\n /**\n * @since 10.19.0\n */\n [key in Locale]?: {\n delimiter?: string[]\n segments?: [SegmentType, SegmentType, SegmentType]\n placeholders?: { year: string; month: string; day: string }\n }\n}\n\nexport interface DateInputProps\n extends Props,\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /**\n * @since 10.19.0\n */\n clearRef: React.RefObject<HTMLButtonElement>\n\n /**\n * Error variant\n * @default false\n * @since 10.19.0\n */\n error?: boolean\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n\n /**\n * @param {Date | null} date\n * Change handler for when a valid date is entered\n * @since 10.19.0\n */\n onChange?: (date: Date | null) => void\n /**\n * @since 10.19.0\n */\n onChangeSegment?: (type: SegmentType, value: number) => void\n\n /**\n * @param {MouseEvent} e\n * Handler for when the clear icon is clicked\n * @since 10.19.0\n */\n onClear?: (e: React.MouseEvent<HTMLButtonElement>) => void\n /**\n * @since 10.19.0\n */\n segmentRefs?: {\n segmentOne?: React.RefObject<HTMLDivElement>\n segmentTwo?: React.RefObject<HTMLDivElement>\n segmentThree?: React.RefObject<HTMLDivElement>\n }\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n /**\n * Date value for the input\n * @since 10.19.0\n */\n value?: Date\n /**\n * @since 10.19.0\n */\n variant?: DateInputVariant\n}\n"],"mappings":""}
@@ -62,7 +62,7 @@ export declare const DetailPage: React.ForwardRefExoticComponent<DetailPageProps
62
62
  Footer: React.ForwardRefExoticComponent<PageFooterProps & React.RefAttributes<HTMLDivElement>>;
63
63
  FooterActions: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
64
64
  FooterNotation: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
65
- Section: React.ForwardRefExoticComponent<import("../Section").SectionProps & React.RefAttributes<HTMLDivElement>>;
65
+ Section: React.ForwardRefExoticComponent<import("..").SectionProps & React.RefAttributes<HTMLDivElement>>;
66
66
  Body: React.ForwardRefExoticComponent<PageComponentProps & React.RefAttributes<HTMLDivElement>>;
67
67
  Aside: React.ForwardRefExoticComponent<import("../PageLayout/PageLayout.types").PageAsideProps & React.RefAttributes<HTMLDivElement>>;
68
68
  };
@@ -5,10 +5,10 @@ export declare const StyledDetailPageFooterNotation: import("styled-components/d
5
5
  export declare const StyledDetailPageFooter: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("../PageLayout/PageLayout.types").PageFooterProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
6
6
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
7
7
  }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("../PageLayout/PageLayout.types").PageFooterProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
8
- export declare const StyledDetailPageFooterActions: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("..").DivAttributes & import("..").BoxProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
8
+ export declare const StyledDetailPageFooterActions: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("react").HTMLAttributes<HTMLDivElement> & import("..").BoxProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
9
9
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
10
- }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("..").DivAttributes & import("..").BoxProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
10
+ }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLDivElement> & import("..").BoxProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
11
11
  export declare const StyledDetailPageFooterContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
12
- export declare const StyledDetailPageCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("..").DivAttributes & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
12
+ export declare const StyledDetailPageCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("react").HTMLAttributes<HTMLDivElement> & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
13
13
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
14
- }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("..").DivAttributes & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
14
+ }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLDivElement> & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
@@ -8,32 +8,32 @@ import { colors } from '../_styles/colors';
8
8
  import { spacing } from '../_styles/spacing';
9
9
  export var StyledDetailPage = /*#__PURE__*/styled.div.withConfig({
10
10
  displayName: "StyledDetailPage",
11
- componentId: "core-12_25_0__sc-cytnlo-0"
11
+ componentId: "core-12_25_2__sc-cytnlo-0"
12
12
  })(["background-color:", ";height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;"], colors.gray96);
13
13
  export var StyledDetailPageBody = /*#__PURE__*/styled.div.withConfig({
14
14
  displayName: "StyledDetailPageBody",
15
- componentId: "core-12_25_0__sc-cytnlo-1"
15
+ componentId: "core-12_25_2__sc-cytnlo-1"
16
16
  })(["padding-bottom:", "px;"], spacing.xl);
17
17
  export var StyledDetailPageFooterNotation = /*#__PURE__*/styled.div.withConfig({
18
18
  displayName: "StyledDetailPageFooterNotation",
19
- componentId: "core-12_25_0__sc-cytnlo-2"
19
+ componentId: "core-12_25_2__sc-cytnlo-2"
20
20
  })(["flex-grow:1;z-index:1;"]);
21
21
  export var StyledDetailPageFooter = /*#__PURE__*/styled(Page.Footer).withConfig({
22
22
  displayName: "StyledDetailPageFooter",
23
- componentId: "core-12_25_0__sc-cytnlo-3"
23
+ componentId: "core-12_25_2__sc-cytnlo-3"
24
24
  })(["display:flex;padding:", "px 0;background-color:", ";justify-content:center;"], spacing.lg, colors.white);
25
25
  export var StyledDetailPageFooterActions = /*#__PURE__*/styled(Box).withConfig({
26
26
  displayName: "StyledDetailPageFooterActions",
27
- componentId: "core-12_25_0__sc-cytnlo-4"
27
+ componentId: "core-12_25_2__sc-cytnlo-4"
28
28
  })(["", ""], getActions());
29
29
  var maxFooterContentWidth = 1920;
30
30
  export var StyledDetailPageFooterContent = /*#__PURE__*/styled.div.withConfig({
31
31
  displayName: "StyledDetailPageFooterContent",
32
- componentId: "core-12_25_0__sc-cytnlo-5"
32
+ componentId: "core-12_25_2__sc-cytnlo-5"
33
33
  })(["width:100%;align-items:center;display:flex;justify-content:flex-end;padding:0 ", "px;max-width:", "px;"], spacing.xl, maxFooterContentWidth);
34
34
  var detailPageCardBorderRadius = 8;
35
35
  export var StyledDetailPageCard = /*#__PURE__*/styled(Card).withConfig({
36
36
  displayName: "StyledDetailPageCard",
37
- componentId: "core-12_25_0__sc-cytnlo-6"
37
+ componentId: "core-12_25_2__sc-cytnlo-6"
38
38
  })(["width:100%;border-radius:", "px;margin-top:", "px;margin-bottom:", "px;& + &{margin-top:", "px;}&:first-child{margin-top:0;}&:last-child{margin-bottom:", "px;}& > ", "{padding:", "px ", "px 0 ", "px;max-width:100%;&:empty{padding:0;}}& > ", " + ", " > ", "{border-top:0;}> .", ":first-child + .", ",> ", " + .", " + .", "{margin-top:", "px;}"], detailPageCardBorderRadius, spacing.lg, spacing.sm, spacing.sm, spacing.lg, StyledPageBanner, spacing.lg, spacing.lg, spacing.lg, StyledPageBanner, StyledSection, StyledSectionInner, sectionClassnames.levelAnonymous, sectionClassnames.level(2), StyledPageBanner, sectionClassnames.levelAnonymous, sectionClassnames.level(2), spacing.xxl * -1);
39
39
  //# sourceMappingURL=DetailPage.styles.js.map
@@ -19,5 +19,5 @@ export declare function DropdownConsumer({ children }: ConsumerProps): JSX.Eleme
19
19
  */
20
20
  export declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLButtonElement>> & {
21
21
  Item: import("../_utils/polymorphic").PolymorphicAs.ComponentWithForwardedRef<import("../MenuImperative/MenuImperative.types").MenuItemProps, import("../MenuImperative/MenuImperative.types").MenuItemDefaultElement>;
22
- Group: React.ForwardRefExoticComponent<import("..").DivAttributes & import("../MenuImperative/MenuImperative.types").GroupProps & React.RefAttributes<HTMLDivElement>>;
22
+ Group: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & import("../MenuImperative/MenuImperative.types").GroupProps & React.RefAttributes<HTMLDivElement>>;
23
23
  };
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import type { ButtonVariant } from '../Button/Button.types';
3
- export declare const StyledDropdownMenu: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("..").DivAttributes & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
3
+ export declare const StyledDropdownMenu: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("react").HTMLAttributes<HTMLDivElement> & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
4
4
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
5
- }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("..").DivAttributes & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
5
+ }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLDivElement> & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
6
6
  export declare const StyledDropdownSpinner: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("..").SpinnerProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
7
7
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
8
8
  }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("..").SpinnerProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
@@ -5,15 +5,15 @@ import { Card } from '../Card/Card';
5
5
  import { Spinner } from '../Spinner/Spinner';
6
6
  export var StyledDropdownMenu = /*#__PURE__*/styled(Card).withConfig({
7
7
  displayName: "StyledDropdownMenu",
8
- componentId: "core-12_25_0__sc-ufsy2q-0"
8
+ componentId: "core-12_25_2__sc-ufsy2q-0"
9
9
  })(["display:flex;max-height:40vh;max-width:248px;min-width:inherit;"]);
10
10
  export var StyledDropdownSpinner = /*#__PURE__*/styled(Spinner).withConfig({
11
11
  displayName: "StyledDropdownSpinner",
12
- componentId: "core-12_25_0__sc-ufsy2q-1"
12
+ componentId: "core-12_25_2__sc-ufsy2q-1"
13
13
  })(["margin:0 6px;"]);
14
14
  export var StyledDropdownButton = /*#__PURE__*/styled(Button).withConfig({
15
15
  displayName: "StyledDropdownButton",
16
- componentId: "core-12_25_0__sc-ufsy2q-2"
16
+ componentId: "core-12_25_2__sc-ufsy2q-2"
17
17
  })(["pointer-events:", ";", ""], function (_ref) {
18
18
  var disabled = _ref.disabled,
19
19
  $loading = _ref.$loading;
@@ -206,7 +206,7 @@ export function useDropdownFlyout(_ref) {
206
206
  });
207
207
  }, []);
208
208
  var closeSelectedDropdown = React.useCallback(function (e) {
209
- if (e && e.type === 'click' && !e.composedPath().some(function (node) {
209
+ if (e && (e.type === 'click' || e.type === 'mouseup') && !e.composedPath().some(function (node) {
210
210
  var _dataset;
211
211
  return (_dataset = node.dataset) === null || _dataset === void 0 ? void 0 : _dataset.flyout;
212
212
  })) {
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownFlyout.helpers.js","names":["React","ulid","StyledDropdownFlyoutExpandIcon","StyledDropdownFlyoutLabel","rootId","noop","returnFalse","getFirst","arr","isRootOption","optionId","hasChildren","option","Array","isArray","children","reducer","state","action","type","_objectSpread","highlighted","expanded","concat","_toConsumableArray","collectParentIds","options","id","isOpen","isMouseOver","isFocused","findById","initialValue","arguments","length","undefined","reduce","result","current","transformOption","parentId","acc","updatedOption","origin","useDropdownFlyout","_ref","flyoutOptions","_ref$onClick","onClick","_onClick","_onKeyDown","onKeyDown","_React$useReducer","useReducer","_React$useReducer2","_slicedToArray","_React$useReducer2$","dispatch","setMouseOver","useCallback","setFocused","isExpanded","includes","isHighlighted","parentIds","isCorrectId","some","findOptionById","expand","collapse","highlight","traversingHighlight","item","tier","optionIndex","findIndex","nextIndex","prevIndex","parentOption","closeDropdown","closeSelectedDropdown","e","composedPath","node","_dataset","dataset","flyout","openDropdown","key","preventDefault","_e$stopPropagation","stopPropagation","call","_e$stopPropagation2","useEffect","defaultOptionRenderer","createElement","Fragment","label","DropdownFlyoutContext","createContext","optionRenderer","useDropdownFlyoutContext","useContext"],"sources":["../../src/DropdownFlyout/DropdownFlyout.helpers.tsx"],"sourcesContent":["import React from 'react'\nimport { ulid } from 'ulid'\nimport {\n StyledDropdownFlyoutExpandIcon,\n StyledDropdownFlyoutLabel,\n} from './DropdownFlyout.styles'\nimport type {\n Action,\n DropdownFlyoutProps,\n DropdownOption,\n FlyoutOption,\n FlyoutOptionId,\n State,\n} from './DropdownFlyout.types'\nimport { rootId } from './DropdownFlyout.types'\n\nexport function noop() {}\n\nexport function returnFalse() {\n return false\n}\n\nfunction getFirst<T extends any>(arr: T[]) {\n return arr[0]\n}\nfunction isRootOption(optionId: FlyoutOptionId) {\n return optionId === rootId\n}\n\nexport function hasChildren(option: DropdownOption) {\n return Array.isArray(option.children)\n}\n\nfunction reducer(state: State, action: Action): State {\n switch (action.type) {\n case 'highlight':\n return {\n ...state,\n highlighted: action.option,\n }\n case 'expand':\n return {\n ...state,\n highlighted: action.option,\n expanded: [\n ...collectParentIds(state.options, action.option.id),\n action.option.id,\n ],\n }\n case 'collapse':\n return {\n ...state,\n highlighted: action.option,\n expanded: collectParentIds(state.options, action.option.id),\n }\n case 'close':\n return {\n ...state,\n expanded: [],\n highlighted: getFirst(state.options),\n isOpen: false,\n }\n case 'open':\n return {\n ...state,\n isOpen: true,\n }\n case 'setMouseOver':\n return {\n ...state,\n isMouseOver: action.isMouseOver,\n }\n case 'setFocused':\n return {\n ...state,\n isFocused: action.isFocused,\n }\n case 'updateOptions':\n return {\n ...state,\n options: action.options,\n }\n default:\n return state\n }\n}\n\nfunction findById(\n options: FlyoutOption[],\n optionId: FlyoutOption['id'],\n initialValue: FlyoutOption = getFirst(options)\n): FlyoutOption {\n return options.reduce((result, current) => {\n if (current.id === optionId) {\n return current\n }\n\n if (current.children) {\n return findById(current.children, optionId, result)\n }\n\n return result\n }, initialValue)\n}\n\nexport function transformOption(\n options: DropdownOption[],\n parentId: FlyoutOption['parentId']\n): FlyoutOption[] {\n return options.reduce<FlyoutOption[]>((acc, option) => {\n const id = ulid()\n const updatedOption = {\n id,\n parentId,\n origin: option,\n ...(Array.isArray(option.children) && {\n children: transformOption(option.children, id),\n }),\n }\n\n return [...acc, updatedOption]\n }, [])\n}\n\nfunction collectParentIds(\n options: FlyoutOption[],\n optionId: FlyoutOption['id']\n): FlyoutOption['id'][] {\n const option = findById(options, optionId)\n\n if (!isRootOption(option.parentId)) {\n return [...collectParentIds(options, option.parentId), option.parentId]\n }\n return [option.parentId]\n}\n\nexport function useDropdownFlyout({\n flyoutOptions,\n onClick: _onClick = noop,\n onKeyDown: _onKeyDown,\n}: Pick<DropdownFlyoutProps, 'onClick' | 'onKeyDown'> & {\n flyoutOptions: FlyoutOption[]\n}) {\n const [\n { options, expanded, highlighted, isOpen, isMouseOver, isFocused },\n dispatch,\n ] = React.useReducer(reducer, {\n options: flyoutOptions,\n expanded: [],\n highlighted: getFirst(flyoutOptions),\n isMouseOver: false,\n isFocused: false,\n isOpen: false,\n })\n\n const setMouseOver = React.useCallback(\n (isMouseOver: boolean) => dispatch({ type: 'setMouseOver', isMouseOver }),\n []\n )\n\n const setFocused = React.useCallback(\n (isFocused: boolean) => dispatch({ type: 'setFocused', isFocused }),\n []\n )\n\n const isExpanded = (option: FlyoutOption) => expanded.includes(option.id)\n\n const isHighlighted = (option: FlyoutOption): boolean => {\n const parentIds = collectParentIds(options, highlighted.id)\n const isCorrectId =\n option.id === highlighted.id || parentIds.some((id) => id === option.id)\n return (isMouseOver || isFocused) && isCorrectId\n }\n\n const findOptionById = React.useCallback(\n (id: FlyoutOptionId) => findById(options, id),\n [options]\n )\n\n const expand = React.useCallback(\n (option: FlyoutOption) =>\n dispatch({\n type: 'expand',\n option,\n }),\n []\n )\n\n const collapse = React.useCallback(\n (option: FlyoutOption) =>\n dispatch({\n type: 'collapse',\n option,\n }),\n []\n )\n\n const highlight = React.useCallback(\n (option: FlyoutOption) =>\n dispatch({\n type: 'highlight',\n option,\n }),\n []\n )\n\n const traversingHighlight = React.useCallback(\n (item: 'next' | 'prev' | 'children' | 'parent') => {\n const tier = isRootOption(highlighted.parentId)\n ? options\n : findOptionById(highlighted.parentId).children || []\n const optionIndex = tier.findIndex((item) => item.id === highlighted.id)\n\n switch (item) {\n case 'next':\n const nextIndex = optionIndex + 1 >= tier.length ? 0 : optionIndex + 1\n\n highlight(tier[nextIndex])\n break\n case 'prev':\n const prevIndex =\n optionIndex - 1 < 0 ? tier.length - 1 : optionIndex - 1\n\n highlight(tier[prevIndex])\n break\n case 'children':\n if (Array.isArray(highlighted.children)) {\n expand(highlighted)\n\n highlight(getFirst(highlighted.children))\n }\n break\n case 'parent':\n if (!isRootOption(highlighted.parentId)) {\n const parentOption = findOptionById(highlighted.parentId)\n collapse(parentOption)\n }\n break\n default:\n return\n }\n },\n [options, findOptionById, collapse, highlighted, expand, highlight]\n )\n\n const closeDropdown = React.useCallback(() => {\n dispatch({ type: 'close' })\n }, [])\n\n const closeSelectedDropdown = React.useCallback(\n (e: Event | React.FocusEvent) => {\n if (\n e &&\n e.type === 'click' &&\n !(e as MouseEvent)\n .composedPath()\n .some((node) => (node as HTMLElement).dataset?.flyout)\n ) {\n dispatch({ type: 'close' })\n }\n },\n []\n )\n\n const openDropdown = React.useCallback(() => {\n dispatch({ type: 'open' })\n }, [])\n\n const onClick = React.useCallback(\n (option: FlyoutOption) => {\n if (!hasChildren(option.origin)) {\n _onClick(option.origin)\n closeDropdown()\n }\n },\n [_onClick, closeDropdown]\n )\n\n const onKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n const { key } = e\n\n switch (key) {\n case 'Enter':\n e.preventDefault()\n if (!isOpen && isFocused) {\n openDropdown()\n } else {\n if (hasChildren(highlighted.origin)) {\n traversingHighlight('children')\n } else {\n onClick(highlighted)\n }\n }\n break\n case 'Escape':\n case 'Esc':\n e.preventDefault()\n if (isRootOption(highlighted.parentId)) {\n if (isOpen) {\n e.stopPropagation?.()\n }\n closeDropdown()\n } else {\n e.stopPropagation?.()\n traversingHighlight('parent')\n }\n break\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n traversingHighlight('next')\n break\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n traversingHighlight('prev')\n break\n }\n _onKeyDown?.(e)\n },\n [\n closeDropdown,\n openDropdown,\n traversingHighlight,\n highlighted,\n isOpen,\n isFocused,\n onClick,\n _onKeyDown,\n ]\n )\n // There was an issue that was fixed in scope of UISP-215 https://procoretech.atlassian.net/browse/UISP-215\n // UseEffect is necessary for updating state in UseReducer because props don't automatically update state. (In this case: property \"options\")\n React.useEffect(() => {\n dispatch({ type: 'updateOptions', options: flyoutOptions })\n dispatch({ type: 'highlight', option: getFirst(flyoutOptions) })\n }, [flyoutOptions])\n\n return {\n isFocused,\n isMouseOver,\n isOpen,\n options,\n expanded,\n highlighted,\n expand,\n collapse,\n isHighlighted,\n isExpanded,\n closeDropdown,\n closeSelectedDropdown,\n openDropdown,\n onKeyDown,\n onClick,\n setMouseOver,\n setFocused,\n }\n}\n\nexport function defaultOptionRenderer(option: DropdownOption) {\n return (\n <>\n <StyledDropdownFlyoutLabel>{option.label}</StyledDropdownFlyoutLabel>\n {hasChildren(option) && (\n <StyledDropdownFlyoutExpandIcon data-qa=\"core-dropdown-flyout-option-expand-icon\" />\n )}\n </>\n )\n}\n\nexport const DropdownFlyoutContext = React.createContext<{\n onClick: (option: FlyoutOption) => void\n\n expand: (option: FlyoutOption) => void\n collapse: (option: FlyoutOption) => void\n optionRenderer: (option: DropdownOption) => React.ReactNode\n\n isExpanded: (option: FlyoutOption) => boolean\n isHighlighted: (option: FlyoutOption) => boolean\n}>({\n onClick: noop,\n\n expand: noop,\n collapse: noop,\n optionRenderer: defaultOptionRenderer,\n\n isExpanded: returnFalse,\n isHighlighted: returnFalse,\n})\n\nexport const useDropdownFlyoutContext = () =>\n React.useContext(DropdownFlyoutContext)\n"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownFlyout.helpers.js","names":["React","ulid","StyledDropdownFlyoutExpandIcon","StyledDropdownFlyoutLabel","rootId","noop","returnFalse","getFirst","arr","isRootOption","optionId","hasChildren","option","Array","isArray","children","reducer","state","action","type","_objectSpread","highlighted","expanded","concat","_toConsumableArray","collectParentIds","options","id","isOpen","isMouseOver","isFocused","findById","initialValue","arguments","length","undefined","reduce","result","current","transformOption","parentId","acc","updatedOption","origin","useDropdownFlyout","_ref","flyoutOptions","_ref$onClick","onClick","_onClick","_onKeyDown","onKeyDown","_React$useReducer","useReducer","_React$useReducer2","_slicedToArray","_React$useReducer2$","dispatch","setMouseOver","useCallback","setFocused","isExpanded","includes","isHighlighted","parentIds","isCorrectId","some","findOptionById","expand","collapse","highlight","traversingHighlight","item","tier","optionIndex","findIndex","nextIndex","prevIndex","parentOption","closeDropdown","closeSelectedDropdown","e","composedPath","node","_dataset","dataset","flyout","openDropdown","key","preventDefault","_e$stopPropagation","stopPropagation","call","_e$stopPropagation2","useEffect","defaultOptionRenderer","createElement","Fragment","label","DropdownFlyoutContext","createContext","optionRenderer","useDropdownFlyoutContext","useContext"],"sources":["../../src/DropdownFlyout/DropdownFlyout.helpers.tsx"],"sourcesContent":["import React from 'react'\nimport { ulid } from 'ulid'\nimport {\n StyledDropdownFlyoutExpandIcon,\n StyledDropdownFlyoutLabel,\n} from './DropdownFlyout.styles'\nimport type {\n Action,\n DropdownFlyoutProps,\n DropdownOption,\n FlyoutOption,\n FlyoutOptionId,\n State,\n} from './DropdownFlyout.types'\nimport { rootId } from './DropdownFlyout.types'\n\nexport function noop() {}\n\nexport function returnFalse() {\n return false\n}\n\nfunction getFirst<T extends any>(arr: T[]) {\n return arr[0]\n}\nfunction isRootOption(optionId: FlyoutOptionId) {\n return optionId === rootId\n}\n\nexport function hasChildren(option: DropdownOption) {\n return Array.isArray(option.children)\n}\n\nfunction reducer(state: State, action: Action): State {\n switch (action.type) {\n case 'highlight':\n return {\n ...state,\n highlighted: action.option,\n }\n case 'expand':\n return {\n ...state,\n highlighted: action.option,\n expanded: [\n ...collectParentIds(state.options, action.option.id),\n action.option.id,\n ],\n }\n case 'collapse':\n return {\n ...state,\n highlighted: action.option,\n expanded: collectParentIds(state.options, action.option.id),\n }\n case 'close':\n return {\n ...state,\n expanded: [],\n highlighted: getFirst(state.options),\n isOpen: false,\n }\n case 'open':\n return {\n ...state,\n isOpen: true,\n }\n case 'setMouseOver':\n return {\n ...state,\n isMouseOver: action.isMouseOver,\n }\n case 'setFocused':\n return {\n ...state,\n isFocused: action.isFocused,\n }\n case 'updateOptions':\n return {\n ...state,\n options: action.options,\n }\n default:\n return state\n }\n}\n\nfunction findById(\n options: FlyoutOption[],\n optionId: FlyoutOption['id'],\n initialValue: FlyoutOption = getFirst(options)\n): FlyoutOption {\n return options.reduce((result, current) => {\n if (current.id === optionId) {\n return current\n }\n\n if (current.children) {\n return findById(current.children, optionId, result)\n }\n\n return result\n }, initialValue)\n}\n\nexport function transformOption(\n options: DropdownOption[],\n parentId: FlyoutOption['parentId']\n): FlyoutOption[] {\n return options.reduce<FlyoutOption[]>((acc, option) => {\n const id = ulid()\n const updatedOption = {\n id,\n parentId,\n origin: option,\n ...(Array.isArray(option.children) && {\n children: transformOption(option.children, id),\n }),\n }\n\n return [...acc, updatedOption]\n }, [])\n}\n\nfunction collectParentIds(\n options: FlyoutOption[],\n optionId: FlyoutOption['id']\n): FlyoutOption['id'][] {\n const option = findById(options, optionId)\n\n if (!isRootOption(option.parentId)) {\n return [...collectParentIds(options, option.parentId), option.parentId]\n }\n return [option.parentId]\n}\n\nexport function useDropdownFlyout({\n flyoutOptions,\n onClick: _onClick = noop,\n onKeyDown: _onKeyDown,\n}: Pick<DropdownFlyoutProps, 'onClick' | 'onKeyDown'> & {\n flyoutOptions: FlyoutOption[]\n}) {\n const [\n { options, expanded, highlighted, isOpen, isMouseOver, isFocused },\n dispatch,\n ] = React.useReducer(reducer, {\n options: flyoutOptions,\n expanded: [],\n highlighted: getFirst(flyoutOptions),\n isMouseOver: false,\n isFocused: false,\n isOpen: false,\n })\n\n const setMouseOver = React.useCallback(\n (isMouseOver: boolean) => dispatch({ type: 'setMouseOver', isMouseOver }),\n []\n )\n\n const setFocused = React.useCallback(\n (isFocused: boolean) => dispatch({ type: 'setFocused', isFocused }),\n []\n )\n\n const isExpanded = (option: FlyoutOption) => expanded.includes(option.id)\n\n const isHighlighted = (option: FlyoutOption): boolean => {\n const parentIds = collectParentIds(options, highlighted.id)\n const isCorrectId =\n option.id === highlighted.id || parentIds.some((id) => id === option.id)\n return (isMouseOver || isFocused) && isCorrectId\n }\n\n const findOptionById = React.useCallback(\n (id: FlyoutOptionId) => findById(options, id),\n [options]\n )\n\n const expand = React.useCallback(\n (option: FlyoutOption) =>\n dispatch({\n type: 'expand',\n option,\n }),\n []\n )\n\n const collapse = React.useCallback(\n (option: FlyoutOption) =>\n dispatch({\n type: 'collapse',\n option,\n }),\n []\n )\n\n const highlight = React.useCallback(\n (option: FlyoutOption) =>\n dispatch({\n type: 'highlight',\n option,\n }),\n []\n )\n\n const traversingHighlight = React.useCallback(\n (item: 'next' | 'prev' | 'children' | 'parent') => {\n const tier = isRootOption(highlighted.parentId)\n ? options\n : findOptionById(highlighted.parentId).children || []\n const optionIndex = tier.findIndex((item) => item.id === highlighted.id)\n\n switch (item) {\n case 'next':\n const nextIndex = optionIndex + 1 >= tier.length ? 0 : optionIndex + 1\n\n highlight(tier[nextIndex])\n break\n case 'prev':\n const prevIndex =\n optionIndex - 1 < 0 ? tier.length - 1 : optionIndex - 1\n\n highlight(tier[prevIndex])\n break\n case 'children':\n if (Array.isArray(highlighted.children)) {\n expand(highlighted)\n\n highlight(getFirst(highlighted.children))\n }\n break\n case 'parent':\n if (!isRootOption(highlighted.parentId)) {\n const parentOption = findOptionById(highlighted.parentId)\n collapse(parentOption)\n }\n break\n default:\n return\n }\n },\n [options, findOptionById, collapse, highlighted, expand, highlight]\n )\n\n const closeDropdown = React.useCallback(() => {\n dispatch({ type: 'close' })\n }, [])\n\n const closeSelectedDropdown = React.useCallback(\n (e: Event | React.FocusEvent) => {\n if (\n e &&\n (e.type === 'click' || e.type === 'mouseup') &&\n !(e as MouseEvent)\n .composedPath()\n .some((node) => (node as HTMLElement).dataset?.flyout)\n ) {\n dispatch({ type: 'close' })\n }\n },\n []\n )\n\n const openDropdown = React.useCallback(() => {\n dispatch({ type: 'open' })\n }, [])\n\n const onClick = React.useCallback(\n (option: FlyoutOption) => {\n if (!hasChildren(option.origin)) {\n _onClick(option.origin)\n closeDropdown()\n }\n },\n [_onClick, closeDropdown]\n )\n\n const onKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n const { key } = e\n\n switch (key) {\n case 'Enter':\n e.preventDefault()\n if (!isOpen && isFocused) {\n openDropdown()\n } else {\n if (hasChildren(highlighted.origin)) {\n traversingHighlight('children')\n } else {\n onClick(highlighted)\n }\n }\n break\n case 'Escape':\n case 'Esc':\n e.preventDefault()\n if (isRootOption(highlighted.parentId)) {\n if (isOpen) {\n e.stopPropagation?.()\n }\n closeDropdown()\n } else {\n e.stopPropagation?.()\n traversingHighlight('parent')\n }\n break\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n traversingHighlight('next')\n break\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n traversingHighlight('prev')\n break\n }\n _onKeyDown?.(e)\n },\n [\n closeDropdown,\n openDropdown,\n traversingHighlight,\n highlighted,\n isOpen,\n isFocused,\n onClick,\n _onKeyDown,\n ]\n )\n // There was an issue that was fixed in scope of UISP-215 https://procoretech.atlassian.net/browse/UISP-215\n // UseEffect is necessary for updating state in UseReducer because props don't automatically update state. (In this case: property \"options\")\n React.useEffect(() => {\n dispatch({ type: 'updateOptions', options: flyoutOptions })\n dispatch({ type: 'highlight', option: getFirst(flyoutOptions) })\n }, [flyoutOptions])\n\n return {\n isFocused,\n isMouseOver,\n isOpen,\n options,\n expanded,\n highlighted,\n expand,\n collapse,\n isHighlighted,\n isExpanded,\n closeDropdown,\n closeSelectedDropdown,\n openDropdown,\n onKeyDown,\n onClick,\n setMouseOver,\n setFocused,\n }\n}\n\nexport function defaultOptionRenderer(option: DropdownOption) {\n return (\n <>\n <StyledDropdownFlyoutLabel>{option.label}</StyledDropdownFlyoutLabel>\n {hasChildren(option) && (\n <StyledDropdownFlyoutExpandIcon data-qa=\"core-dropdown-flyout-option-expand-icon\" />\n )}\n </>\n )\n}\n\nexport const DropdownFlyoutContext = React.createContext<{\n onClick: (option: FlyoutOption) => void\n\n expand: (option: FlyoutOption) => void\n collapse: (option: FlyoutOption) => void\n optionRenderer: (option: DropdownOption) => React.ReactNode\n\n isExpanded: (option: FlyoutOption) => boolean\n isHighlighted: (option: FlyoutOption) => boolean\n}>({\n onClick: noop,\n\n expand: noop,\n collapse: noop,\n optionRenderer: defaultOptionRenderer,\n\n isExpanded: returnFalse,\n isHighlighted: returnFalse,\n})\n\nexport const useDropdownFlyoutContext = () =>\n React.useContext(DropdownFlyoutContext)\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,MAAM;AAC3B,SACEC,8BAA8B,EAC9BC,yBAAyB,QACpB,yBAAyB;AAShC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAO,SAASC,IAAIA,CAAA,EAAG,CAAC;AAExB,OAAO,SAASC,WAAWA,CAAA,EAAG;EAC5B,OAAO,KAAK;AACd;AAEA,SAASC,QAAQA,CAAgBC,GAAQ,EAAE;EACzC,OAAOA,GAAG,CAAC,CAAC,CAAC;AACf;AACA,SAASC,YAAYA,CAACC,QAAwB,EAAE;EAC9C,OAAOA,QAAQ,KAAKN,MAAM;AAC5B;AAEA,OAAO,SAASO,WAAWA,CAACC,MAAsB,EAAE;EAClD,OAAOC,KAAK,CAACC,OAAO,CAACF,MAAM,CAACG,QAAQ,CAAC;AACvC;AAEA,SAASC,OAAOA,CAACC,KAAY,EAAEC,MAAc,EAAS;EACpD,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAK,WAAW;MACd,OAAAC,aAAA,CAAAA,aAAA,KACKH,KAAK;QACRI,WAAW,EAAEH,MAAM,CAACN;MAAM;IAE9B,KAAK,QAAQ;MACX,OAAAQ,aAAA,CAAAA,aAAA,KACKH,KAAK;QACRI,WAAW,EAAEH,MAAM,CAACN,MAAM;QAC1BU,QAAQ,KAAAC,MAAA,CAAAC,kBAAA,CACHC,gBAAgB,CAACR,KAAK,CAACS,OAAO,EAAER,MAAM,CAACN,MAAM,CAACe,EAAE,CAAC,IACpDT,MAAM,CAACN,MAAM,CAACe,EAAE;MACjB;IAEL,KAAK,UAAU;MACb,OAAAP,aAAA,CAAAA,aAAA,KACKH,KAAK;QACRI,WAAW,EAAEH,MAAM,CAACN,MAAM;QAC1BU,QAAQ,EAAEG,gBAAgB,CAACR,KAAK,CAACS,OAAO,EAAER,MAAM,CAACN,MAAM,CAACe,EAAE;MAAC;IAE/D,KAAK,OAAO;MACV,OAAAP,aAAA,CAAAA,aAAA,KACKH,KAAK;QACRK,QAAQ,EAAE,EAAE;QACZD,WAAW,EAAEd,QAAQ,CAACU,KAAK,CAACS,OAAO,CAAC;QACpCE,MAAM,EAAE;MAAK;IAEjB,KAAK,MAAM;MACT,OAAAR,aAAA,CAAAA,aAAA,KACKH,KAAK;QACRW,MAAM,EAAE;MAAI;IAEhB,KAAK,cAAc;MACjB,OAAAR,aAAA,CAAAA,aAAA,KACKH,KAAK;QACRY,WAAW,EAAEX,MAAM,CAACW;MAAW;IAEnC,KAAK,YAAY;MACf,OAAAT,aAAA,CAAAA,aAAA,KACKH,KAAK;QACRa,SAAS,EAAEZ,MAAM,CAACY;MAAS;IAE/B,KAAK,eAAe;MAClB,OAAAV,aAAA,CAAAA,aAAA,KACKH,KAAK;QACRS,OAAO,EAAER,MAAM,CAACQ;MAAO;IAE3B;MACE,OAAOT,KAAK;EAChB;AACF;AAEA,SAASc,QAAQA,CACfL,OAAuB,EACvBhB,QAA4B,EAEd;EAAA,IADdsB,YAA0B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG1B,QAAQ,CAACmB,OAAO,CAAC;EAE9C,OAAOA,OAAO,CAACU,MAAM,CAAC,UAACC,MAAM,EAAEC,OAAO,EAAK;IACzC,IAAIA,OAAO,CAACX,EAAE,KAAKjB,QAAQ,EAAE;MAC3B,OAAO4B,OAAO;IAChB;IAEA,IAAIA,OAAO,CAACvB,QAAQ,EAAE;MACpB,OAAOgB,QAAQ,CAACO,OAAO,CAACvB,QAAQ,EAAEL,QAAQ,EAAE2B,MAAM,CAAC;IACrD;IAEA,OAAOA,MAAM;EACf,CAAC,EAAEL,YAAY,CAAC;AAClB;AAEA,OAAO,SAASO,eAAeA,CAC7Bb,OAAyB,EACzBc,QAAkC,EAClB;EAChB,OAAOd,OAAO,CAACU,MAAM,CAAiB,UAACK,GAAG,EAAE7B,MAAM,EAAK;IACrD,IAAMe,EAAE,GAAG1B,IAAI,CAAC,CAAC;IACjB,IAAMyC,aAAa,GAAAtB,aAAA;MACjBO,EAAE,EAAFA,EAAE;MACFa,QAAQ,EAARA,QAAQ;MACRG,MAAM,EAAE/B;IAAM,GACVC,KAAK,CAACC,OAAO,CAACF,MAAM,CAACG,QAAQ,CAAC,IAAI;MACpCA,QAAQ,EAAEwB,eAAe,CAAC3B,MAAM,CAACG,QAAQ,EAAEY,EAAE;IAC/C,CAAC,CACF;IAED,UAAAJ,MAAA,CAAAC,kBAAA,CAAWiB,GAAG,IAAEC,aAAa;EAC/B,CAAC,EAAE,EAAE,CAAC;AACR;AAEA,SAASjB,gBAAgBA,CACvBC,OAAuB,EACvBhB,QAA4B,EACN;EACtB,IAAME,MAAM,GAAGmB,QAAQ,CAACL,OAAO,EAAEhB,QAAQ,CAAC;EAE1C,IAAI,CAACD,YAAY,CAACG,MAAM,CAAC4B,QAAQ,CAAC,EAAE;IAClC,UAAAjB,MAAA,CAAAC,kBAAA,CAAWC,gBAAgB,CAACC,OAAO,EAAEd,MAAM,CAAC4B,QAAQ,CAAC,IAAE5B,MAAM,CAAC4B,QAAQ;EACxE;EACA,OAAO,CAAC5B,MAAM,CAAC4B,QAAQ,CAAC;AAC1B;AAEA,OAAO,SAASI,iBAAiBA,CAAAC,IAAA,EAM9B;EAAA,IALDC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IAAAC,YAAA,GAAAF,IAAA,CACbG,OAAO;IAAEC,QAAQ,GAAAF,YAAA,cAAG1C,IAAI,GAAA0C,YAAA;IACbG,UAAU,GAAAL,IAAA,CAArBM,SAAS;EAIT,IAAAC,iBAAA,GAGIpD,KAAK,CAACqD,UAAU,CAACrC,OAAO,EAAE;MAC5BU,OAAO,EAAEoB,aAAa;MACtBxB,QAAQ,EAAE,EAAE;MACZD,WAAW,EAAEd,QAAQ,CAACuC,aAAa,CAAC;MACpCjB,WAAW,EAAE,KAAK;MAClBC,SAAS,EAAE,KAAK;MAChBF,MAAM,EAAE;IACV,CAAC,CAAC;IAAA0B,kBAAA,GAAAC,cAAA,CAAAH,iBAAA;IAAAI,mBAAA,GAAAF,kBAAA;IATE5B,OAAO,GAAA8B,mBAAA,CAAP9B,OAAO;IAAEJ,QAAQ,GAAAkC,mBAAA,CAARlC,QAAQ;IAAED,WAAW,GAAAmC,mBAAA,CAAXnC,WAAW;IAAEO,MAAM,GAAA4B,mBAAA,CAAN5B,MAAM;IAAEC,WAAW,GAAA2B,mBAAA,CAAX3B,WAAW;IAAEC,SAAS,GAAA0B,mBAAA,CAAT1B,SAAS;IAChE2B,QAAQ,GAAAH,kBAAA;EAUV,IAAMI,YAAY,GAAG1D,KAAK,CAAC2D,WAAW,CACpC,UAAC9B,WAAoB;IAAA,OAAK4B,QAAQ,CAAC;MAAEtC,IAAI,EAAE,cAAc;MAAEU,WAAW,EAAXA;IAAY,CAAC,CAAC;EAAA,GACzE,EACF,CAAC;EAED,IAAM+B,UAAU,GAAG5D,KAAK,CAAC2D,WAAW,CAClC,UAAC7B,SAAkB;IAAA,OAAK2B,QAAQ,CAAC;MAAEtC,IAAI,EAAE,YAAY;MAAEW,SAAS,EAATA;IAAU,CAAC,CAAC;EAAA,GACnE,EACF,CAAC;EAED,IAAM+B,UAAU,GAAG,SAAbA,UAAUA,CAAIjD,MAAoB;IAAA,OAAKU,QAAQ,CAACwC,QAAQ,CAAClD,MAAM,CAACe,EAAE,CAAC;EAAA;EAEzE,IAAMoC,aAAa,GAAG,SAAhBA,aAAaA,CAAInD,MAAoB,EAAc;IACvD,IAAMoD,SAAS,GAAGvC,gBAAgB,CAACC,OAAO,EAAEL,WAAW,CAACM,EAAE,CAAC;IAC3D,IAAMsC,WAAW,GACfrD,MAAM,CAACe,EAAE,KAAKN,WAAW,CAACM,EAAE,IAAIqC,SAAS,CAACE,IAAI,CAAC,UAACvC,EAAE;MAAA,OAAKA,EAAE,KAAKf,MAAM,CAACe,EAAE;IAAA,EAAC;IAC1E,OAAO,CAACE,WAAW,IAAIC,SAAS,KAAKmC,WAAW;EAClD,CAAC;EAED,IAAME,cAAc,GAAGnE,KAAK,CAAC2D,WAAW,CACtC,UAAChC,EAAkB;IAAA,OAAKI,QAAQ,CAACL,OAAO,EAAEC,EAAE,CAAC;EAAA,GAC7C,CAACD,OAAO,CACV,CAAC;EAED,IAAM0C,MAAM,GAAGpE,KAAK,CAAC2D,WAAW,CAC9B,UAAC/C,MAAoB;IAAA,OACnB6C,QAAQ,CAAC;MACPtC,IAAI,EAAE,QAAQ;MACdP,MAAM,EAANA;IACF,CAAC,CAAC;EAAA,GACJ,EACF,CAAC;EAED,IAAMyD,QAAQ,GAAGrE,KAAK,CAAC2D,WAAW,CAChC,UAAC/C,MAAoB;IAAA,OACnB6C,QAAQ,CAAC;MACPtC,IAAI,EAAE,UAAU;MAChBP,MAAM,EAANA;IACF,CAAC,CAAC;EAAA,GACJ,EACF,CAAC;EAED,IAAM0D,SAAS,GAAGtE,KAAK,CAAC2D,WAAW,CACjC,UAAC/C,MAAoB;IAAA,OACnB6C,QAAQ,CAAC;MACPtC,IAAI,EAAE,WAAW;MACjBP,MAAM,EAANA;IACF,CAAC,CAAC;EAAA,GACJ,EACF,CAAC;EAED,IAAM2D,mBAAmB,GAAGvE,KAAK,CAAC2D,WAAW,CAC3C,UAACa,IAA6C,EAAK;IACjD,IAAMC,IAAI,GAAGhE,YAAY,CAACY,WAAW,CAACmB,QAAQ,CAAC,GAC3Cd,OAAO,GACPyC,cAAc,CAAC9C,WAAW,CAACmB,QAAQ,CAAC,CAACzB,QAAQ,IAAI,EAAE;IACvD,IAAM2D,WAAW,GAAGD,IAAI,CAACE,SAAS,CAAC,UAACH,IAAI;MAAA,OAAKA,IAAI,CAAC7C,EAAE,KAAKN,WAAW,CAACM,EAAE;IAAA,EAAC;IAExE,QAAQ6C,IAAI;MACV,KAAK,MAAM;QACT,IAAMI,SAAS,GAAGF,WAAW,GAAG,CAAC,IAAID,IAAI,CAACvC,MAAM,GAAG,CAAC,GAAGwC,WAAW,GAAG,CAAC;QAEtEJ,SAAS,CAACG,IAAI,CAACG,SAAS,CAAC,CAAC;QAC1B;MACF,KAAK,MAAM;QACT,IAAMC,SAAS,GACbH,WAAW,GAAG,CAAC,GAAG,CAAC,GAAGD,IAAI,CAACvC,MAAM,GAAG,CAAC,GAAGwC,WAAW,GAAG,CAAC;QAEzDJ,SAAS,CAACG,IAAI,CAACI,SAAS,CAAC,CAAC;QAC1B;MACF,KAAK,UAAU;QACb,IAAIhE,KAAK,CAACC,OAAO,CAACO,WAAW,CAACN,QAAQ,CAAC,EAAE;UACvCqD,MAAM,CAAC/C,WAAW,CAAC;UAEnBiD,SAAS,CAAC/D,QAAQ,CAACc,WAAW,CAACN,QAAQ,CAAC,CAAC;QAC3C;QACA;MACF,KAAK,QAAQ;QACX,IAAI,CAACN,YAAY,CAACY,WAAW,CAACmB,QAAQ,CAAC,EAAE;UACvC,IAAMsC,YAAY,GAAGX,cAAc,CAAC9C,WAAW,CAACmB,QAAQ,CAAC;UACzD6B,QAAQ,CAACS,YAAY,CAAC;QACxB;QACA;MACF;QACE;IACJ;EACF,CAAC,EACD,CAACpD,OAAO,EAAEyC,cAAc,EAAEE,QAAQ,EAAEhD,WAAW,EAAE+C,MAAM,EAAEE,SAAS,CACpE,CAAC;EAED,IAAMS,aAAa,GAAG/E,KAAK,CAAC2D,WAAW,CAAC,YAAM;IAC5CF,QAAQ,CAAC;MAAEtC,IAAI,EAAE;IAAQ,CAAC,CAAC;EAC7B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAM6D,qBAAqB,GAAGhF,KAAK,CAAC2D,WAAW,CAC7C,UAACsB,CAA2B,EAAK;IAC/B,IACEA,CAAC,KACAA,CAAC,CAAC9D,IAAI,KAAK,OAAO,IAAI8D,CAAC,CAAC9D,IAAI,KAAK,SAAS,CAAC,IAC5C,CAAE8D,CAAC,CACAC,YAAY,CAAC,CAAC,CACdhB,IAAI,CAAC,UAACiB,IAAI;MAAA,IAAAC,QAAA;MAAA,QAAAA,QAAA,GAAMD,IAAI,CAAiBE,OAAO,cAAAD,QAAA,uBAA7BA,QAAA,CAA+BE,MAAM;IAAA,EAAC,EACxD;MACA7B,QAAQ,CAAC;QAAEtC,IAAI,EAAE;MAAQ,CAAC,CAAC;IAC7B;EACF,CAAC,EACD,EACF,CAAC;EAED,IAAMoE,YAAY,GAAGvF,KAAK,CAAC2D,WAAW,CAAC,YAAM;IAC3CF,QAAQ,CAAC;MAAEtC,IAAI,EAAE;IAAO,CAAC,CAAC;EAC5B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAM6B,OAAO,GAAGhD,KAAK,CAAC2D,WAAW,CAC/B,UAAC/C,MAAoB,EAAK;IACxB,IAAI,CAACD,WAAW,CAACC,MAAM,CAAC+B,MAAM,CAAC,EAAE;MAC/BM,QAAQ,CAACrC,MAAM,CAAC+B,MAAM,CAAC;MACvBoC,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,EACD,CAAC9B,QAAQ,EAAE8B,aAAa,CAC1B,CAAC;EAED,IAAM5B,SAAS,GAAGnD,KAAK,CAAC2D,WAAW,CACjC,UAACsB,CAAsC,EAAK;IAC1C,IAAQO,GAAG,GAAKP,CAAC,CAATO,GAAG;IAEX,QAAQA,GAAG;MACT,KAAK,OAAO;QACVP,CAAC,CAACQ,cAAc,CAAC,CAAC;QAClB,IAAI,CAAC7D,MAAM,IAAIE,SAAS,EAAE;UACxByD,YAAY,CAAC,CAAC;QAChB,CAAC,MAAM;UACL,IAAI5E,WAAW,CAACU,WAAW,CAACsB,MAAM,CAAC,EAAE;YACnC4B,mBAAmB,CAAC,UAAU,CAAC;UACjC,CAAC,MAAM;YACLvB,OAAO,CAAC3B,WAAW,CAAC;UACtB;QACF;QACA;MACF,KAAK,QAAQ;MACb,KAAK,KAAK;QACR4D,CAAC,CAACQ,cAAc,CAAC,CAAC;QAClB,IAAIhF,YAAY,CAACY,WAAW,CAACmB,QAAQ,CAAC,EAAE;UACtC,IAAIZ,MAAM,EAAE;YAAA,IAAA8D,kBAAA;YACV,CAAAA,kBAAA,GAAAT,CAAC,CAACU,eAAe,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAAE,IAAA,CAAAX,CAAoB,CAAC;UACvB;UACAF,aAAa,CAAC,CAAC;QACjB,CAAC,MAAM;UAAA,IAAAc,mBAAA;UACL,CAAAA,mBAAA,GAAAZ,CAAC,CAACU,eAAe,cAAAE,mBAAA,uBAAjBA,mBAAA,CAAAD,IAAA,CAAAX,CAAoB,CAAC;UACrBV,mBAAmB,CAAC,QAAQ,CAAC;QAC/B;QACA;MACF,KAAK,WAAW;MAChB,KAAK,MAAM;QACTU,CAAC,CAACQ,cAAc,CAAC,CAAC;QAClBlB,mBAAmB,CAAC,MAAM,CAAC;QAC3B;MACF,KAAK,SAAS;MACd,KAAK,IAAI;QACPU,CAAC,CAACQ,cAAc,CAAC,CAAC;QAClBlB,mBAAmB,CAAC,MAAM,CAAC;QAC3B;IACJ;IACArB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAG+B,CAAC,CAAC;EACjB,CAAC,EACD,CACEF,aAAa,EACbQ,YAAY,EACZhB,mBAAmB,EACnBlD,WAAW,EACXO,MAAM,EACNE,SAAS,EACTkB,OAAO,EACPE,UAAU,CAEd,CAAC;EACD;EACA;EACAlD,KAAK,CAAC8F,SAAS,CAAC,YAAM;IACpBrC,QAAQ,CAAC;MAAEtC,IAAI,EAAE,eAAe;MAAEO,OAAO,EAAEoB;IAAc,CAAC,CAAC;IAC3DW,QAAQ,CAAC;MAAEtC,IAAI,EAAE,WAAW;MAAEP,MAAM,EAAEL,QAAQ,CAACuC,aAAa;IAAE,CAAC,CAAC;EAClE,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,OAAO;IACLhB,SAAS,EAATA,SAAS;IACTD,WAAW,EAAXA,WAAW;IACXD,MAAM,EAANA,MAAM;IACNF,OAAO,EAAPA,OAAO;IACPJ,QAAQ,EAARA,QAAQ;IACRD,WAAW,EAAXA,WAAW;IACX+C,MAAM,EAANA,MAAM;IACNC,QAAQ,EAARA,QAAQ;IACRN,aAAa,EAAbA,aAAa;IACbF,UAAU,EAAVA,UAAU;IACVkB,aAAa,EAAbA,aAAa;IACbC,qBAAqB,EAArBA,qBAAqB;IACrBO,YAAY,EAAZA,YAAY;IACZpC,SAAS,EAATA,SAAS;IACTH,OAAO,EAAPA,OAAO;IACPU,YAAY,EAAZA,YAAY;IACZE,UAAU,EAAVA;EACF,CAAC;AACH;AAEA,OAAO,SAASmC,qBAAqBA,CAACnF,MAAsB,EAAE;EAC5D,oBACEZ,KAAA,CAAAgG,aAAA,CAAAhG,KAAA,CAAAiG,QAAA,qBACEjG,KAAA,CAAAgG,aAAA,CAAC7F,yBAAyB,QAAES,MAAM,CAACsF,KAAiC,CAAC,EACpEvF,WAAW,CAACC,MAAM,CAAC,iBAClBZ,KAAA,CAAAgG,aAAA,CAAC9F,8BAA8B;IAAC,WAAQ;EAAyC,CAAE,CAErF,CAAC;AAEP;AAEA,OAAO,IAAMiG,qBAAqB,gBAAGnG,KAAK,CAACoG,aAAa,CASrD;EACDpD,OAAO,EAAE3C,IAAI;EAEb+D,MAAM,EAAE/D,IAAI;EACZgE,QAAQ,EAAEhE,IAAI;EACdgG,cAAc,EAAEN,qBAAqB;EAErClC,UAAU,EAAEvD,WAAW;EACvByD,aAAa,EAAEzD;AACjB,CAAC,CAAC;AAEF,OAAO,IAAMgG,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA;EAAA,OACnCtG,KAAK,CAACuG,UAAU,CAACJ,qBAAqB,CAAC;AAAA"}
@@ -6,18 +6,18 @@ import { getEllipsis } from '../_styles/mixins';
6
6
  import { spacing } from '../_styles/spacing';
7
7
  export var StyledDropdownFlyout = /*#__PURE__*/styled.div.withConfig({
8
8
  displayName: "StyledDropdownFlyout",
9
- componentId: "core-12_25_0__sc-1i79jsg-0"
9
+ componentId: "core-12_25_2__sc-1i79jsg-0"
10
10
  })(["display:flex;flex-wrap:wrap;flex-direction:column;width:100%;max-height:855px;padding:", "px 0;"], spacing.sm);
11
11
  export var StyledDropdownFlyoutItem = /*#__PURE__*/styled.div.withConfig({
12
12
  displayName: "StyledDropdownFlyoutItem",
13
- componentId: "core-12_25_0__sc-1i79jsg-1"
13
+ componentId: "core-12_25_2__sc-1i79jsg-1"
14
14
  })(["display:flex;justify-content:space-between;cursor:pointer;width:100%;padding:", "px ", "px;color:", ";", " &[data-highlighted='true'],&:hover{background-color:", ";}"], spacing.xs, spacing.lg, colors.gray20, getTypographyIntent('body'), colors.gray96);
15
15
  export var StyledDropdownFlyoutLabel = /*#__PURE__*/styled.span.withConfig({
16
16
  displayName: "StyledDropdownFlyoutLabel",
17
- componentId: "core-12_25_0__sc-1i79jsg-2"
17
+ componentId: "core-12_25_2__sc-1i79jsg-2"
18
18
  })(["", ""], getEllipsis());
19
19
  export var StyledDropdownFlyoutExpandIcon = /*#__PURE__*/styled.span.withConfig({
20
20
  displayName: "StyledDropdownFlyoutExpandIcon",
21
- componentId: "core-12_25_0__sc-1i79jsg-3"
21
+ componentId: "core-12_25_2__sc-1i79jsg-3"
22
22
  })(["position:relative;display:inline-flex;align-self:center;flex-shrink:0;margin-left:", "px;white-space:nowrap;", ""], spacing.lg, arrowRight(4, 'black'));
23
23
  //# sourceMappingURL=DropdownFlyout.styles.js.map
@@ -1,7 +1,7 @@
1
1
  import type { Ref } from 'react';
2
2
  import type { DropdownProps } from '../Dropdown/Dropdown.types';
3
3
  import type { OverlayProps } from '../Overlay/Overlay';
4
- import type { DivAttributes, Placement, Props } from '../_utils/types';
4
+ import type { Placement, Props } from '../_utils/types';
5
5
  export declare const rootId = "ROOT_ID";
6
6
  export declare type Action = {
7
7
  type: 'highlight';
@@ -60,19 +60,19 @@ export interface FlyoutOption {
60
60
  children?: FlyoutOption[];
61
61
  }
62
62
  export declare type FlyoutOptionId = FlyoutOption['id'] | typeof rootId;
63
- export interface FlyoutCaptionProps extends DivAttributes {
63
+ export interface FlyoutCaptionProps extends React.HTMLAttributes<HTMLDivElement> {
64
64
  option: DropdownOption;
65
65
  highlighted: boolean;
66
66
  optionRenderer: (option: DropdownOption) => React.ReactNode;
67
67
  }
68
- export interface FlyoutListProps extends DivAttributes {
68
+ export interface FlyoutListProps extends React.HTMLAttributes<HTMLDivElement> {
69
69
  options: FlyoutOption[];
70
70
  overlayRef: Ref<HTMLDivElement>;
71
71
  placement: Placement;
72
72
  referenceEl: HTMLElement | null;
73
73
  offset?: number;
74
74
  }
75
- export interface DropdownFlyoutProps extends Omit<DivAttributes, 'children' | 'onClick'> {
75
+ export interface DropdownFlyoutProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'onClick'> {
76
76
  children?: React.ReactNode | React.FunctionComponent<{
77
77
  isOpen?: boolean;
78
78
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownFlyout.types.js","names":["rootId"],"sources":["../../src/DropdownFlyout/DropdownFlyout.types.ts"],"sourcesContent":["import type { Ref } from 'react'\nimport type { DropdownProps } from '../Dropdown/Dropdown.types'\nimport type { OverlayProps } from '../Overlay/Overlay'\nimport type { DivAttributes, Placement, Props } from '../_utils/types'\n\nexport const rootId = 'ROOT_ID'\n\nexport type Action =\n | { type: 'highlight'; option: FlyoutOption }\n | { type: 'expand'; option: FlyoutOption }\n | { type: 'collapse'; option: FlyoutOption }\n | { type: 'close' }\n | { type: 'open' }\n | { type: 'setMouseOver'; isMouseOver: boolean }\n | { type: 'setFocused'; isFocused: boolean }\n | { type: 'updateOptions'; options: FlyoutOption[] }\n\ntype ExpandedItem = FlyoutOptionId\n\nexport type State = {\n highlighted: FlyoutOption\n expanded: ExpandedItem[]\n options: FlyoutOption[]\n isMouseOver: boolean\n isFocused: boolean\n isOpen: boolean\n}\n\nexport interface DropdownOption {\n value: any\n label: string\n children?: DropdownOption[]\n}\n\ntype OptionId = string\nexport interface FlyoutOption {\n /**\n * @since 10.19.0\n */\n id: OptionId\n /**\n * @since 10.19.0\n */\n parentId: OptionId | typeof rootId\n /**\n * @since 10.19.0\n */\n origin: DropdownOption\n /**\n * @since 10.19.0\n */\n children?: FlyoutOption[]\n}\n\nexport type FlyoutOptionId = FlyoutOption['id'] | typeof rootId\n\nexport interface FlyoutCaptionProps extends DivAttributes {\n option: DropdownOption\n highlighted: boolean\n optionRenderer: (option: DropdownOption) => React.ReactNode\n}\n\nexport interface FlyoutListProps extends DivAttributes {\n options: FlyoutOption[]\n overlayRef: Ref<HTMLDivElement>\n placement: Placement\n referenceEl: HTMLElement | null\n offset?: number\n}\n\nexport interface DropdownFlyoutProps\n extends Omit<DivAttributes, 'children' | 'onClick'> {\n children?: React.ReactNode | React.FunctionComponent<{ isOpen?: boolean }>\n /**\n * @since 10.19.0\n */\n disabled?: DropdownProps['disabled']\n\n /**\n * The text of the button.\n * @since 10.19.0\n */\n label?: DropdownProps['label']\n /**\n * @since 10.19.0\n */\n loading?: DropdownProps['loading']\n\n /**\n * The icon of the button.\n * @since 10.19.0\n */\n icon?: DropdownProps['icon']\n\n /**\n * Data of the dropdown options - `Option[]`\n * ```\n * type Option = { label: string; children?: Option[] }\n * ```\n * @since 10.19.0\n */\n options: DropdownOption[]\n\n /**\n * Callback for click on dropdown option\n * ```\n * (option: Option) => void\n * ```\n * @since 10.19.0\n */\n onClick?: (option: DropdownOption) => void\n\n /**\n * Render prop to specify custom dropdown option content\n * ```\n * (option: Option) => ReactNode\n * ```\n * @since 10.19.0\n */\n optionRenderer?: (option: DropdownOption) => React.ReactNode\n\n /**\n * @default 'right-bottom'\n * @since 10.19.0\n */\n placement?: OverlayProps['placement']\n\n /**\n * The button size\n * @default 'md'\n * @since 10.19.0\n */\n size?: DropdownProps['size']\n\n /**\n * @default 'secondary'\n * @since 10.19.0\n */\n variant?: DropdownProps['variant']\n}\n\nexport interface FlyoutItemProps extends Props {\n option: FlyoutOption\n}\n"],"mappings":"AAKA,OAAO,IAAMA,MAAM,GAAG,SAAS"}
1
+ {"version":3,"file":"DropdownFlyout.types.js","names":["rootId"],"sources":["../../src/DropdownFlyout/DropdownFlyout.types.ts"],"sourcesContent":["import type { Ref } from 'react'\nimport type { DropdownProps } from '../Dropdown/Dropdown.types'\nimport type { OverlayProps } from '../Overlay/Overlay'\nimport type { Placement, Props } from '../_utils/types'\n\nexport const rootId = 'ROOT_ID'\n\nexport type Action =\n | { type: 'highlight'; option: FlyoutOption }\n | { type: 'expand'; option: FlyoutOption }\n | { type: 'collapse'; option: FlyoutOption }\n | { type: 'close' }\n | { type: 'open' }\n | { type: 'setMouseOver'; isMouseOver: boolean }\n | { type: 'setFocused'; isFocused: boolean }\n | { type: 'updateOptions'; options: FlyoutOption[] }\n\ntype ExpandedItem = FlyoutOptionId\n\nexport type State = {\n highlighted: FlyoutOption\n expanded: ExpandedItem[]\n options: FlyoutOption[]\n isMouseOver: boolean\n isFocused: boolean\n isOpen: boolean\n}\n\nexport interface DropdownOption {\n value: any\n label: string\n children?: DropdownOption[]\n}\n\ntype OptionId = string\nexport interface FlyoutOption {\n /**\n * @since 10.19.0\n */\n id: OptionId\n /**\n * @since 10.19.0\n */\n parentId: OptionId | typeof rootId\n /**\n * @since 10.19.0\n */\n origin: DropdownOption\n /**\n * @since 10.19.0\n */\n children?: FlyoutOption[]\n}\n\nexport type FlyoutOptionId = FlyoutOption['id'] | typeof rootId\n\nexport interface FlyoutCaptionProps\n extends React.HTMLAttributes<HTMLDivElement> {\n option: DropdownOption\n highlighted: boolean\n optionRenderer: (option: DropdownOption) => React.ReactNode\n}\n\nexport interface FlyoutListProps extends React.HTMLAttributes<HTMLDivElement> {\n options: FlyoutOption[]\n overlayRef: Ref<HTMLDivElement>\n placement: Placement\n referenceEl: HTMLElement | null\n offset?: number\n}\n\nexport interface DropdownFlyoutProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'onClick'> {\n children?: React.ReactNode | React.FunctionComponent<{ isOpen?: boolean }>\n /**\n * @since 10.19.0\n */\n disabled?: DropdownProps['disabled']\n\n /**\n * The text of the button.\n * @since 10.19.0\n */\n label?: DropdownProps['label']\n /**\n * @since 10.19.0\n */\n loading?: DropdownProps['loading']\n\n /**\n * The icon of the button.\n * @since 10.19.0\n */\n icon?: DropdownProps['icon']\n\n /**\n * Data of the dropdown options - `Option[]`\n * ```\n * type Option = { label: string; children?: Option[] }\n * ```\n * @since 10.19.0\n */\n options: DropdownOption[]\n\n /**\n * Callback for click on dropdown option\n * ```\n * (option: Option) => void\n * ```\n * @since 10.19.0\n */\n onClick?: (option: DropdownOption) => void\n\n /**\n * Render prop to specify custom dropdown option content\n * ```\n * (option: Option) => ReactNode\n * ```\n * @since 10.19.0\n */\n optionRenderer?: (option: DropdownOption) => React.ReactNode\n\n /**\n * @default 'right-bottom'\n * @since 10.19.0\n */\n placement?: OverlayProps['placement']\n\n /**\n * The button size\n * @default 'md'\n * @since 10.19.0\n */\n size?: DropdownProps['size']\n\n /**\n * @default 'secondary'\n * @since 10.19.0\n */\n variant?: DropdownProps['variant']\n}\n\nexport interface FlyoutItemProps extends Props {\n option: FlyoutOption\n}\n"],"mappings":"AAKA,OAAO,IAAMA,MAAM,GAAG,SAAS"}
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
- import type { DivAttributes } from '../_utils/types';
3
2
  import type { DropzoneContentProps, DropzoneErrorBannerProps, DropzoneProps, DropzoneRef, MultipleErrorsProps } from './Dropzone.types';
4
3
  export declare function MultipleErrors(props: MultipleErrorsProps): React.JSX.Element;
5
- export declare const DropzoneErrorBanner: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<DropzoneErrorBannerProps & DivAttributes & React.RefAttributes<HTMLDivElement>, "ref"> & {
4
+ export declare const DropzoneErrorBanner: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<DropzoneErrorBannerProps & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>, "ref"> & {
6
5
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
7
- }, never>> & string & Omit<React.ForwardRefExoticComponent<DropzoneErrorBannerProps & DivAttributes & React.RefAttributes<HTMLDivElement>>, keyof React.Component<any, {}, any>>;
6
+ }, never>> & string & Omit<React.ForwardRefExoticComponent<DropzoneErrorBannerProps & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>, keyof React.Component<any, {}, any>>;
8
7
  export declare function DropzoneDefaultMessage({ open, disabled, multiple, errorMessage, }: DropzoneContentProps & {
9
8
  multiple: boolean;
10
9
  }): React.JSX.Element;