@servicetitan/design-system 13.4.0 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/dist/components/ActionMenu/ActionMenu.css +29 -21
  2. package/dist/components/ActionMenu/ActionMenu.css.map +1 -1
  3. package/dist/components/ActionMenu/ActionMenu.d.ts +8 -2
  4. package/dist/components/ActionMenu/ActionMenu.js +46 -3
  5. package/dist/components/ActionMenu/ActionMenu.js.map +1 -1
  6. package/dist/components/ActionMenu/ActionMenu.stories.d.ts +39 -0
  7. package/dist/components/ActionMenu/ActionMenu.stories.js +249 -0
  8. package/dist/components/ActionMenu/ActionMenu.stories.js.map +1 -0
  9. package/dist/components/ActionMenu/ActionMenu.test.js.map +1 -1
  10. package/dist/components/ActionMenu/ActionMenuGroup.js.map +1 -1
  11. package/dist/components/ActionMenu/ActionMenuItem.js +2 -5
  12. package/dist/components/ActionMenu/ActionMenuItem.js.map +1 -1
  13. package/dist/components/ActionMenu/index.css +29 -21
  14. package/dist/components/ActionMenu/index.css.map +1 -1
  15. package/dist/components/ActionMenu/index.js.map +1 -1
  16. package/dist/components/ActionMenu/useLatestEvent.d.ts +2 -0
  17. package/dist/components/ActionMenu/useLatestEvent.js +20 -0
  18. package/dist/components/ActionMenu/useLatestEvent.js.map +1 -0
  19. package/dist/components/Announcement/Announcement.js.map +1 -1
  20. package/dist/components/Announcement/Announcement.test.js.map +1 -1
  21. package/dist/components/Announcement/index.js.map +1 -1
  22. package/dist/components/AnvilSelect/AnvilSelect.d.ts +2 -1
  23. package/dist/components/AnvilSelect/AnvilSelect.js +17 -41
  24. package/dist/components/AnvilSelect/AnvilSelect.js.map +1 -1
  25. package/dist/components/AnvilSelect/AnvilSelect.test.js.map +1 -1
  26. package/dist/components/AnvilSelect/components/DrillIn.js.map +1 -1
  27. package/dist/components/AnvilSelect/components/FocusProvider.d.ts +2 -1
  28. package/dist/components/AnvilSelect/components/FocusProvider.js.map +1 -1
  29. package/dist/components/AnvilSelect/components/SelectFooter.js +6 -6
  30. package/dist/components/AnvilSelect/components/SelectFooter.js.map +1 -1
  31. package/dist/components/AnvilSelect/components/SelectHeader.js.map +1 -1
  32. package/dist/components/AnvilSelect/components/SelectOptions.js.map +1 -1
  33. package/dist/components/AnvilSelect/components/Tree.js.map +1 -1
  34. package/dist/components/AnvilSelect/components/Trigger.js +2 -0
  35. package/dist/components/AnvilSelect/components/Trigger.js.map +1 -1
  36. package/dist/components/AnvilSelect/components/index.js.map +1 -1
  37. package/dist/components/AnvilSelect/index.js.map +1 -1
  38. package/dist/components/AnvilSelect/utils/FocusActionType.js.map +1 -1
  39. package/dist/components/AnvilSelect/utils/FocusContext.js.map +1 -1
  40. package/dist/components/AnvilSelect/utils/FooterAction.js.map +1 -1
  41. package/dist/components/AnvilSelect/utils/focus-utils.d.ts +0 -3
  42. package/dist/components/AnvilSelect/utils/focus-utils.js +1 -19
  43. package/dist/components/AnvilSelect/utils/focus-utils.js.map +1 -1
  44. package/dist/components/AnvilSelect/utils/index.js.map +1 -1
  45. package/dist/components/Avatar/Avatar.js.map +1 -1
  46. package/dist/components/Avatar/Avatar.test.js.map +1 -1
  47. package/dist/components/Avatar/index.js.map +1 -1
  48. package/dist/components/BackLink/BackLink.js.map +1 -1
  49. package/dist/components/BackLink/BackLink.test.js.map +1 -1
  50. package/dist/components/BackLink/index.js.map +1 -1
  51. package/dist/components/Backdrop/Backdrop.js.map +1 -1
  52. package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
  53. package/dist/components/Backdrop/index.js.map +1 -1
  54. package/dist/components/Banner/Banner.js.map +1 -1
  55. package/dist/components/Banner/Banner.test.js.map +1 -1
  56. package/dist/components/Banner/index.js.map +1 -1
  57. package/dist/components/BodyText/BodyText.js +2 -2
  58. package/dist/components/BodyText/BodyText.js.map +1 -1
  59. package/dist/components/BodyText/BodyText.test.js.map +1 -1
  60. package/dist/components/BodyText/index.js.map +1 -1
  61. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
  62. package/dist/components/Breadcrumb/BreadcrumbLink.js.map +1 -1
  63. package/dist/components/Breadcrumb/BreadcrumbLink.test.js.map +1 -1
  64. package/dist/components/Breadcrumb/index.js.map +1 -1
  65. package/dist/components/BreakPoint/BreakPoint.d.ts +2 -1
  66. package/dist/components/BreakPoint/BreakPoint.js.map +1 -1
  67. package/dist/components/BreakPoint/BreakPoint.test.js.map +1 -1
  68. package/dist/components/BreakPoint/index.js.map +1 -1
  69. package/dist/components/Button/Button.js +2 -10
  70. package/dist/components/Button/Button.js.map +1 -1
  71. package/dist/components/Button/Button.test.js.map +1 -1
  72. package/dist/components/Button/index.js.map +1 -1
  73. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  74. package/dist/components/ButtonGroup/ButtonGroup.test.js.map +1 -1
  75. package/dist/components/ButtonGroup/ButtonGroupItem.js.map +1 -1
  76. package/dist/components/ButtonGroup/index.js.map +1 -1
  77. package/dist/components/ButtonToggle/ButtonToggle.d.ts +1 -1
  78. package/dist/components/ButtonToggle/ButtonToggle.js +11 -1
  79. package/dist/components/ButtonToggle/ButtonToggle.js.map +1 -1
  80. package/dist/components/ButtonToggle/ButtonToggle.test.js.map +1 -1
  81. package/dist/components/ButtonToggle/ButtonToggleItem.js +1 -1
  82. package/dist/components/ButtonToggle/ButtonToggleItem.js.map +1 -1
  83. package/dist/components/ButtonToggle/index.js.map +1 -1
  84. package/dist/components/Card/Card.js.map +1 -1
  85. package/dist/components/Card/Card.test.js.map +1 -1
  86. package/dist/components/Card/CardSection.js.map +1 -1
  87. package/dist/components/Card/index.js.map +1 -1
  88. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  89. package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
  90. package/dist/components/Checkbox/index.js.map +1 -1
  91. package/dist/components/Collapsible/Collapsible.js +1 -1
  92. package/dist/components/Collapsible/Collapsible.js.map +1 -1
  93. package/dist/components/Collapsible/Collapsible.test.js.map +1 -1
  94. package/dist/components/Collapsible/index.js.map +1 -1
  95. package/dist/components/ColorPicker/ColorPicker.css +6 -4
  96. package/dist/components/ColorPicker/ColorPicker.css.map +1 -1
  97. package/dist/components/ColorPicker/ColorPicker.d.ts +1 -7
  98. package/dist/components/ColorPicker/ColorPicker.js +14 -27
  99. package/dist/components/ColorPicker/ColorPicker.js.map +1 -1
  100. package/dist/components/ColorPicker/ColorPicker.test.js.map +1 -1
  101. package/dist/components/ColorPicker/index.css +6 -4
  102. package/dist/components/ColorPicker/index.css.map +1 -1
  103. package/dist/components/ColorPicker/index.js.map +1 -1
  104. package/dist/components/Container/Container.js.map +1 -1
  105. package/dist/components/Container/index.js.map +1 -1
  106. package/dist/components/DataList/DataList.js +3 -3
  107. package/dist/components/DataList/DataList.js.map +1 -1
  108. package/dist/components/DataList/DataList.test.js.map +1 -1
  109. package/dist/components/DataList/DataListCell.d.ts +6 -4
  110. package/dist/components/DataList/DataListCell.js +2 -3
  111. package/dist/components/DataList/DataListCell.js.map +1 -1
  112. package/dist/components/DataList/DataListHeaderCell.d.ts +4 -2
  113. package/dist/components/DataList/DataListHeaderCell.js +2 -3
  114. package/dist/components/DataList/DataListHeaderCell.js.map +1 -1
  115. package/dist/components/DataList/DataListHeaderRow.js.map +1 -1
  116. package/dist/components/DataList/DataListRow.js.map +1 -1
  117. package/dist/components/DataList/index.js.map +1 -1
  118. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  119. package/dist/components/DatePicker/DatePicker.js +9 -6
  120. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  121. package/dist/components/DatePicker/DatePicker.test.js.map +1 -1
  122. package/dist/components/DatePicker/InputDateMask.js +2 -2
  123. package/dist/components/DatePicker/InputDateMask.js.map +1 -1
  124. package/dist/components/DatePicker/index.js.map +1 -1
  125. package/dist/components/DatePicker/utils/expandMaskUtils.js.map +1 -1
  126. package/dist/components/DatePicker/utils/expandMaskUtils.test.js.map +1 -1
  127. package/dist/components/DatePicker/utils/maskUtils.js.map +1 -1
  128. package/dist/components/DatePicker/utils/utils.js.map +1 -1
  129. package/dist/components/DateRangePicker/DateRangePicker.js +7 -2
  130. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
  131. package/dist/components/DateRangePicker/DateRangePicker.test.js.map +1 -1
  132. package/dist/components/DateRangePicker/components/DateRangeInput.js +1 -1
  133. package/dist/components/DateRangePicker/components/DateRangeInput.js.map +1 -1
  134. package/dist/components/DateRangePicker/components/DateRangeOptionList.js.map +1 -1
  135. package/dist/components/DateRangePicker/components/DateRangeTrigger.js.map +1 -1
  136. package/dist/components/DateRangePicker/components/index.js.map +1 -1
  137. package/dist/components/DateRangePicker/index.js.map +1 -1
  138. package/dist/components/DateRangePicker/utils/checkScope.js.map +1 -1
  139. package/dist/components/DateRangePicker/utils/index.js.map +1 -1
  140. package/dist/components/Dialog/Dialog.d.ts +1 -0
  141. package/dist/components/Dialog/Dialog.js.map +1 -1
  142. package/dist/components/Dialog/Dialog.test.js.map +1 -1
  143. package/dist/components/Dialog/index.js.map +1 -1
  144. package/dist/components/Divider/Divider.js.map +1 -1
  145. package/dist/components/Divider/Divider.test.js.map +1 -1
  146. package/dist/components/Divider/index.js.map +1 -1
  147. package/dist/components/Drawer/Drawer.d.ts +1 -0
  148. package/dist/components/Drawer/Drawer.js.map +1 -1
  149. package/dist/components/Drawer/Drawer.test.js.map +1 -1
  150. package/dist/components/Drawer/index.js.map +1 -1
  151. package/dist/components/Dropdown/Dropdown.d.ts +2 -1
  152. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  153. package/dist/components/Dropdown/DropdownIcon.js.map +1 -1
  154. package/dist/components/Dropdown/index.js.map +1 -1
  155. package/dist/components/Eyebrow/Eyebrow.js.map +1 -1
  156. package/dist/components/Eyebrow/Eyebrow.test.js.map +1 -1
  157. package/dist/components/Eyebrow/index.js.map +1 -1
  158. package/dist/components/FilePicker/FilePicker.js.map +1 -1
  159. package/dist/components/FilePicker/FilePicker.test.js.map +1 -1
  160. package/dist/components/FilePicker/index.js.map +1 -1
  161. package/dist/components/FilterButton/FilterButton.js.map +1 -1
  162. package/dist/components/FilterButton/FilterButton.test.js.map +1 -1
  163. package/dist/components/FilterButton/index.js.map +1 -1
  164. package/dist/components/FlowCard/FlowCard.d.ts +2 -1
  165. package/dist/components/FlowCard/FlowCard.js.map +1 -1
  166. package/dist/components/FlowCard/FlowCard.test.js.map +1 -1
  167. package/dist/components/FlowCard/FlowCardStep.js.map +1 -1
  168. package/dist/components/FlowCard/index.js.map +1 -1
  169. package/dist/components/Form/Form.js.map +1 -1
  170. package/dist/components/Form/Form.test.js.map +1 -1
  171. package/dist/components/Form/index.js.map +1 -1
  172. package/dist/components/FormControls/FormAnvilSelect.js.map +1 -1
  173. package/dist/components/FormControls/FormButton.js.map +1 -1
  174. package/dist/components/FormControls/FormButtonToggle.js.map +1 -1
  175. package/dist/components/FormControls/FormCheckbox.js.map +1 -1
  176. package/dist/components/FormControls/FormColorPicker.js.map +1 -1
  177. package/dist/components/FormControls/FormDatePicker.js.map +1 -1
  178. package/dist/components/FormControls/FormDateRangePicker.js.map +1 -1
  179. package/dist/components/FormControls/FormDropdown.js.map +1 -1
  180. package/dist/components/FormControls/FormInput.d.ts +1 -1
  181. package/dist/components/FormControls/FormInput.js.map +1 -1
  182. package/dist/components/FormControls/FormRadio.js.map +1 -1
  183. package/dist/components/FormControls/FormSelect.js.map +1 -1
  184. package/dist/components/FormControls/FormTextArea.js.map +1 -1
  185. package/dist/components/FormControls/FormTimePicker.js.map +1 -1
  186. package/dist/components/FormControls/FormToggleSwitch.js.map +1 -1
  187. package/dist/components/FormControls/FormTogglebox.js.map +1 -1
  188. package/dist/components/FormControls/index.js.map +1 -1
  189. package/dist/components/FormField/FormField.js +8 -6
  190. package/dist/components/FormField/FormField.js.map +1 -1
  191. package/dist/components/FormField/FormField.test.js.map +1 -1
  192. package/dist/components/FormField/FormFieldContext.js.map +1 -1
  193. package/dist/components/FormField/index.js.map +1 -1
  194. package/dist/components/FormGroup/FormGroup.js.map +1 -1
  195. package/dist/components/FormGroup/FormGroup.test.js.map +1 -1
  196. package/dist/components/FormGroup/index.js.map +1 -1
  197. package/dist/components/Frame/Frame.js.map +1 -1
  198. package/dist/components/Frame/Frame.test.js.map +1 -1
  199. package/dist/components/Frame/index.js.map +1 -1
  200. package/dist/components/Grid/Grid.js.map +1 -1
  201. package/dist/components/Grid/Grid.test.js.map +1 -1
  202. package/dist/components/Grid/GridColumn.js.map +1 -1
  203. package/dist/components/Grid/GridRow.js.map +1 -1
  204. package/dist/components/Grid/index.js.map +1 -1
  205. package/dist/components/Headline/Headline.js.map +1 -1
  206. package/dist/components/Headline/Headline.test.js.map +1 -1
  207. package/dist/components/Headline/index.js.map +1 -1
  208. package/dist/components/Icon/Icon.js.map +1 -1
  209. package/dist/components/Icon/Icon.test.js.map +1 -1
  210. package/dist/components/Icon/index.js.map +1 -1
  211. package/dist/components/InlineEdit/InlineEdit.js.map +1 -1
  212. package/dist/components/InlineEdit/InlineEdit.test.js.map +1 -1
  213. package/dist/components/InlineEdit/index.js.map +1 -1
  214. package/dist/components/Input/Input.d.ts +1 -0
  215. package/dist/components/Input/Input.js.map +1 -1
  216. package/dist/components/Input/Input.test.js.map +1 -1
  217. package/dist/components/Input/InputAddon.js.map +1 -1
  218. package/dist/components/Input/index.js.map +1 -1
  219. package/dist/components/Input/inputProps.js.map +1 -1
  220. package/dist/components/KeyPressListener/KeyPressListener.js.map +1 -1
  221. package/dist/components/KeyPressListener/index.js.map +1 -1
  222. package/dist/components/Label/Label.js.map +1 -1
  223. package/dist/components/Label/index.js.map +1 -1
  224. package/dist/components/Layout/Layout.js.map +1 -1
  225. package/dist/components/Layout/Layout.test.js.map +1 -1
  226. package/dist/components/Layout/LayoutSection.js.map +1 -1
  227. package/dist/components/Layout/index.js.map +1 -1
  228. package/dist/components/Link/Link.js.map +1 -1
  229. package/dist/components/Link/Link.test.js.map +1 -1
  230. package/dist/components/Link/index.js.map +1 -1
  231. package/dist/components/Mask/Mask.js.map +1 -1
  232. package/dist/components/Mask/Mask.test.js.map +1 -1
  233. package/dist/components/Mask/index.js.map +1 -1
  234. package/dist/components/Modal/Modal.js +4 -5
  235. package/dist/components/Modal/Modal.js.map +1 -1
  236. package/dist/components/Modal/Modal.test.js.map +1 -1
  237. package/dist/components/Modal/components.d.ts +1 -0
  238. package/dist/components/Modal/components.js.map +1 -1
  239. package/dist/components/Modal/index.js.map +1 -1
  240. package/dist/components/MoreDetails/MoreDetails.js.map +1 -1
  241. package/dist/components/MoreDetails/MoreDetails.test.js.map +1 -1
  242. package/dist/components/MoreDetails/index.js.map +1 -1
  243. package/dist/components/OptionList/Option.js.map +1 -1
  244. package/dist/components/OptionList/OptionList.d.ts +2 -0
  245. package/dist/components/OptionList/OptionList.js +6 -2
  246. package/dist/components/OptionList/OptionList.js.map +1 -1
  247. package/dist/components/OptionList/OptionList.test.js.map +1 -1
  248. package/dist/components/OptionList/index.js.map +1 -1
  249. package/dist/components/OptionList/useOnExpand.js.map +1 -1
  250. package/dist/components/Page/Page.js.map +1 -1
  251. package/dist/components/Page/Page.test.js.map +1 -1
  252. package/dist/components/Page/components/ActionToolbar.js.map +1 -1
  253. package/dist/components/Page/components/Panel.js.map +1 -1
  254. package/dist/components/Page/components/index.js.map +1 -1
  255. package/dist/components/Page/index.js.map +1 -1
  256. package/dist/components/Popover/Popover.d.ts +2 -1
  257. package/dist/components/Popover/Popover.js.map +1 -1
  258. package/dist/components/Popover/Popover.test.js.map +1 -1
  259. package/dist/components/Popover/components.d.ts +2 -0
  260. package/dist/components/Popover/components.js.map +1 -1
  261. package/dist/components/Popover/index.js.map +1 -1
  262. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  263. package/dist/components/ProgressBar/ProgressBar.test.js.map +1 -1
  264. package/dist/components/ProgressBar/index.js.map +1 -1
  265. package/dist/components/ProgressCircle/ProgressCircle.js.map +1 -1
  266. package/dist/components/ProgressCircle/ProgressCircle.test.js.map +1 -1
  267. package/dist/components/ProgressCircle/index.js.map +1 -1
  268. package/dist/components/ProgressTracker/ProgressTracker.js.map +1 -1
  269. package/dist/components/ProgressTracker/ProgressTracker.test.js.map +1 -1
  270. package/dist/components/ProgressTracker/ProgressTrackerDivider.js +3 -3
  271. package/dist/components/ProgressTracker/ProgressTrackerDivider.js.map +1 -1
  272. package/dist/components/ProgressTracker/ProgressTrackerStep.js.map +1 -1
  273. package/dist/components/ProgressTracker/index.js.map +1 -1
  274. package/dist/components/Radio/Radio.js.map +1 -1
  275. package/dist/components/Radio/Radio.test.js.map +1 -1
  276. package/dist/components/Radio/index.js.map +1 -1
  277. package/dist/components/Scroll/Scroll.js.map +1 -1
  278. package/dist/components/Scroll/Scroll.test.js.map +1 -1
  279. package/dist/components/Scroll/index.js.map +1 -1
  280. package/dist/components/Select/Select.js.map +1 -1
  281. package/dist/components/Select/Select.test.js.map +1 -1
  282. package/dist/components/Select/index.js.map +1 -1
  283. package/dist/components/SideNav/SideNav.d.ts +1 -0
  284. package/dist/components/SideNav/SideNav.js +20 -5
  285. package/dist/components/SideNav/SideNav.js.map +1 -1
  286. package/dist/components/SideNav/SideNav.test.js.map +1 -1
  287. package/dist/components/SideNav/SideNavGroup.js.map +1 -1
  288. package/dist/components/SideNav/SideNavItem.css +4 -2
  289. package/dist/components/SideNav/SideNavItem.css.map +1 -1
  290. package/dist/components/SideNav/SideNavItem.d.ts +1 -0
  291. package/dist/components/SideNav/SideNavItem.js +13 -51
  292. package/dist/components/SideNav/SideNavItem.js.map +1 -1
  293. package/dist/components/SideNav/index.css +4 -2
  294. package/dist/components/SideNav/index.css.map +1 -1
  295. package/dist/components/SideNav/index.js.map +1 -1
  296. package/dist/components/Sidebar/Sidebar.js.map +1 -1
  297. package/dist/components/Sidebar/Sidebar.test.js.map +1 -1
  298. package/dist/components/Sidebar/SidebarSection.js.map +1 -1
  299. package/dist/components/Sidebar/index.js.map +1 -1
  300. package/dist/components/Snackbar/Snackbar.d.ts +1 -0
  301. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  302. package/dist/components/Snackbar/Snackbar.test.js.map +1 -1
  303. package/dist/components/Snackbar/index.js.map +1 -1
  304. package/dist/components/Spinner/Spinner.js.map +1 -1
  305. package/dist/components/Spinner/Spinner.test.js.map +1 -1
  306. package/dist/components/Spinner/index.js.map +1 -1
  307. package/dist/components/Stack/Stack.js.map +1 -1
  308. package/dist/components/Stack/Stack.test.js.map +1 -1
  309. package/dist/components/Stack/StackItem.js.map +1 -1
  310. package/dist/components/Stack/index.js.map +1 -1
  311. package/dist/components/StatusLight/StatusLight.js.map +1 -1
  312. package/dist/components/StatusLight/StatusLight.test.js.map +1 -1
  313. package/dist/components/StatusLight/index.js.map +1 -1
  314. package/dist/components/Tab/Tab.js +1 -1
  315. package/dist/components/Tab/Tab.js.map +1 -1
  316. package/dist/components/Tab/Tab.test.js.map +1 -1
  317. package/dist/components/Tab/index.js.map +1 -1
  318. package/dist/components/TabGroup/TabGroup.js +8 -1
  319. package/dist/components/TabGroup/TabGroup.js.map +1 -1
  320. package/dist/components/TabGroup/TabGroup.test.js.map +1 -1
  321. package/dist/components/TabGroup/TabGroupItem.js.map +1 -1
  322. package/dist/components/TabGroup/components.d.ts +4 -2
  323. package/dist/components/TabGroup/components.js.map +1 -1
  324. package/dist/components/TabGroup/index.js.map +1 -1
  325. package/dist/components/Table/GridMod.js.map +1 -1
  326. package/dist/components/Table/Table.css +11 -1
  327. package/dist/components/Table/Table.css.map +1 -1
  328. package/dist/components/Table/Table.js.map +1 -1
  329. package/dist/components/Table/Table.test.js.map +1 -1
  330. package/dist/components/Table/TableLoadingPanel.js.map +1 -1
  331. package/dist/components/Table/components.js.map +1 -1
  332. package/dist/components/Table/index.css +11 -1
  333. package/dist/components/Table/index.css.map +1 -1
  334. package/dist/components/Table/index.js.map +1 -1
  335. package/dist/components/Table/useTableMinWidth.js.map +1 -1
  336. package/dist/components/Tag/Tag.js.map +1 -1
  337. package/dist/components/Tag/Tag.test.js.map +1 -1
  338. package/dist/components/Tag/index.js.map +1 -1
  339. package/dist/components/TagGroup/TagGroup.js.map +1 -1
  340. package/dist/components/TagGroup/TagGroup.test.js.map +1 -1
  341. package/dist/components/TagGroup/TagGroupItem.js.map +1 -1
  342. package/dist/components/TagGroup/index.js.map +1 -1
  343. package/dist/components/Takeover/Takeover.js.map +1 -1
  344. package/dist/components/Takeover/Takeover.test.js.map +1 -1
  345. package/dist/components/Takeover/TakeoverFooter.js.map +1 -1
  346. package/dist/components/Takeover/TakeoverHeader.js.map +1 -1
  347. package/dist/components/Takeover/TakeoverSection.js.map +1 -1
  348. package/dist/components/Takeover/index.js.map +1 -1
  349. package/dist/components/Text/Text.js.map +1 -1
  350. package/dist/components/Text/Text.test.js.map +1 -1
  351. package/dist/components/Text/index.js.map +1 -1
  352. package/dist/components/TextArea/TextArea.d.ts +2 -1
  353. package/dist/components/TextArea/TextArea.js +1 -1
  354. package/dist/components/TextArea/TextArea.js.map +1 -1
  355. package/dist/components/TextArea/TextArea.test.js.map +1 -1
  356. package/dist/components/TextArea/index.js.map +1 -1
  357. package/dist/components/Thumbnail/Thumbnail.js.map +1 -1
  358. package/dist/components/Thumbnail/Thumbnail.test.js.map +1 -1
  359. package/dist/components/Thumbnail/index.js.map +1 -1
  360. package/dist/components/TimePicker/TimePicker.js +10 -8
  361. package/dist/components/TimePicker/TimePicker.js.map +1 -1
  362. package/dist/components/TimePicker/TimePicker.test.js +13 -4
  363. package/dist/components/TimePicker/TimePicker.test.js.map +1 -1
  364. package/dist/components/TimePicker/components/TimePickerOptionList.d.ts +1 -1
  365. package/dist/components/TimePicker/components/TimePickerOptionList.js +21 -25
  366. package/dist/components/TimePicker/components/TimePickerOptionList.js.map +1 -1
  367. package/dist/components/TimePicker/components/index.js.map +1 -1
  368. package/dist/components/TimePicker/index.js.map +1 -1
  369. package/dist/components/TimePicker/utils/TimePickerUtils.test.js.map +1 -1
  370. package/dist/components/TimePicker/utils/checkMinMax.js.map +1 -1
  371. package/dist/components/TimePicker/utils/filterOptions.js +7 -5
  372. package/dist/components/TimePicker/utils/filterOptions.js.map +1 -1
  373. package/dist/components/TimePicker/utils/generateOptions.js.map +1 -1
  374. package/dist/components/TimePicker/utils/getClosestOption.js.map +1 -1
  375. package/dist/components/TimePicker/utils/getOptionByText.js.map +1 -1
  376. package/dist/components/TimePicker/utils/highlightOption.js.map +1 -1
  377. package/dist/components/TimePicker/utils/index.js.map +1 -1
  378. package/dist/components/TimePicker/utils/injectOption.js.map +1 -1
  379. package/dist/components/TimePicker/utils/stringToDate.js.map +1 -1
  380. package/dist/components/TimePicker/utils/timezoneUtils.js.map +1 -1
  381. package/dist/components/TimePicker/utils/toTimeFormat.js.map +1 -1
  382. package/dist/components/TimePicker/utils/utils.js +10 -12
  383. package/dist/components/TimePicker/utils/utils.js.map +1 -1
  384. package/dist/components/Toast/Toast.d.ts +2 -1
  385. package/dist/components/Toast/Toast.js.map +1 -1
  386. package/dist/components/Toast/Toast.test.js.map +1 -1
  387. package/dist/components/Toast/ToastGroup.d.ts +1 -1
  388. package/dist/components/Toast/ToastGroup.js.map +1 -1
  389. package/dist/components/Toast/index.js.map +1 -1
  390. package/dist/components/ToggleSwitch/ToggleSwitch.js +8 -7
  391. package/dist/components/ToggleSwitch/ToggleSwitch.js.map +1 -1
  392. package/dist/components/ToggleSwitch/ToggleSwitch.test.js.map +1 -1
  393. package/dist/components/ToggleSwitch/index.js.map +1 -1
  394. package/dist/components/Togglebox/Togglebox.js.map +1 -1
  395. package/dist/components/Togglebox/Togglebox.test.js.map +1 -1
  396. package/dist/components/Togglebox/index.js.map +1 -1
  397. package/dist/components/Tooltip/Tooltip.js +3 -4
  398. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  399. package/dist/components/Tooltip/Tooltip.test.js.map +1 -1
  400. package/dist/components/Tooltip/index.js.map +1 -1
  401. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +2 -1
  402. package/dist/components/VisuallyHidden/VisuallyHidden.js +1 -1
  403. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  404. package/dist/components/VisuallyHidden/index.js.map +1 -1
  405. package/dist/components/index.css +50 -28
  406. package/dist/components/index.css.map +1 -1
  407. package/dist/components/index.js.map +1 -1
  408. package/dist/global/index.css +1 -1
  409. package/dist/global/version.css +1 -1
  410. package/dist/hooks/index.js.map +1 -1
  411. package/dist/hooks/useArrowNav/index.d.ts +1 -0
  412. package/dist/hooks/useArrowNav/index.js +2 -0
  413. package/dist/hooks/useArrowNav/index.js.map +1 -0
  414. package/dist/hooks/useArrowNav/useArrowNav.d.ts +27 -0
  415. package/dist/hooks/useArrowNav/useArrowNav.js +65 -0
  416. package/dist/hooks/useArrowNav/useArrowNav.js.map +1 -0
  417. package/dist/hooks/useArrowNav/utils/index.d.ts +3 -0
  418. package/dist/hooks/useArrowNav/utils/index.js +4 -0
  419. package/dist/hooks/useArrowNav/utils/index.js.map +1 -0
  420. package/dist/hooks/useArrowNav/utils/keys.d.ts +3 -0
  421. package/dist/hooks/useArrowNav/utils/keys.js +12 -0
  422. package/dist/hooks/useArrowNav/utils/keys.js.map +1 -0
  423. package/dist/hooks/useArrowNav/utils/tabIndex.d.ts +2 -0
  424. package/dist/hooks/useArrowNav/utils/tabIndex.js +53 -0
  425. package/dist/hooks/useArrowNav/utils/tabIndex.js.map +1 -0
  426. package/dist/hooks/useArrowNav/utils/utils.d.ts +14 -0
  427. package/dist/hooks/useArrowNav/utils/utils.js +111 -0
  428. package/dist/hooks/useArrowNav/utils/utils.js.map +1 -0
  429. package/dist/hooks/useFocusTrap/index.js.map +1 -1
  430. package/dist/hooks/useFocusTrap/internal/index.js.map +1 -1
  431. package/dist/hooks/useFocusTrap/internal/useAutoFocus.js +12 -13
  432. package/dist/hooks/useFocusTrap/internal/useAutoFocus.js.map +1 -1
  433. package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.js.map +1 -1
  434. package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.js +5 -5
  435. package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.js.map +1 -1
  436. package/dist/hooks/useFocusTrap/internal/useFocusLock.js +4 -5
  437. package/dist/hooks/useFocusTrap/internal/useFocusLock.js.map +1 -1
  438. package/dist/hooks/useFocusTrap/internal/useRestoreFocus.js +4 -1
  439. package/dist/hooks/useFocusTrap/internal/useRestoreFocus.js.map +1 -1
  440. package/dist/hooks/useFocusTrap/internal/utils.d.ts +6 -2
  441. package/dist/hooks/useFocusTrap/internal/utils.js +27 -12
  442. package/dist/hooks/useFocusTrap/internal/utils.js.map +1 -1
  443. package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  444. package/dist/hooks/useFocusVisible.js +9 -11
  445. package/dist/hooks/useFocusVisible.js.map +1 -1
  446. package/dist/hooks/useFocusVisible.test.js.map +1 -1
  447. package/dist/hooks/useMergedRef.js.map +1 -1
  448. package/dist/hooks/useScreenSize.js.map +1 -1
  449. package/dist/hooks/useScrollPosition.js.map +1 -1
  450. package/dist/hooks/useVisuallyHidden.js.map +1 -1
  451. package/dist/internal/CollapsibleList/CollapsibleContext.js.map +1 -1
  452. package/dist/internal/CollapsibleList/CollapsibleList.d.ts +2 -1
  453. package/dist/internal/CollapsibleList/CollapsibleList.js.map +1 -1
  454. package/dist/internal/CollapsibleList/CollapsibleListItem.d.ts +2 -1
  455. package/dist/internal/CollapsibleList/CollapsibleListItem.js +20 -2
  456. package/dist/internal/CollapsibleList/CollapsibleListItem.js.map +1 -1
  457. package/dist/internal/CollapsibleList/index.js.map +1 -1
  458. package/dist/internal/Overlay/Overlay.d.ts +2 -1
  459. package/dist/internal/Overlay/Overlay.js.map +1 -1
  460. package/dist/internal/Overlay/index.js.map +1 -1
  461. package/dist/internal/Popper/Popper.css +4 -2
  462. package/dist/internal/Popper/Popper.css.map +1 -1
  463. package/dist/internal/Popper/Popper.d.ts +1 -1
  464. package/dist/internal/Popper/Popper.js +3 -3
  465. package/dist/internal/Popper/Popper.js.map +1 -1
  466. package/dist/internal/Popper/index.css +4 -2
  467. package/dist/internal/Popper/index.css.map +1 -1
  468. package/dist/internal/Popper/index.js.map +1 -1
  469. package/dist/internal/Portal/Portal.d.ts +2 -1
  470. package/dist/internal/Portal/Portal.js.map +1 -1
  471. package/dist/internal/Portal/index.js.map +1 -1
  472. package/dist/internal/index.css +4 -2
  473. package/dist/internal/index.css.map +1 -1
  474. package/dist/internal/index.js.map +1 -1
  475. package/dist/system-light.css +5 -9
  476. package/dist/system-light.css.map +1 -1
  477. package/dist/system-light.min.css +1 -1
  478. package/dist/system.css +86 -97
  479. package/dist/system.css.map +1 -1
  480. package/dist/system.js.map +1 -1
  481. package/dist/system.min.css +2 -2
  482. package/dist/utilities/AnvilProvider.js.map +1 -1
  483. package/dist/utilities/ConditionalWrapper.js.map +1 -1
  484. package/dist/utilities/DefaultPortalContext.js.map +1 -1
  485. package/dist/utilities/KeyboardAccessTests/KeyboardAccess.test.js +143 -32
  486. package/dist/utilities/KeyboardAccessTests/KeyboardAccess.test.js.map +1 -1
  487. package/dist/utilities/KeyboardAccessTests/components/KeyboardTester.js.map +1 -1
  488. package/dist/utilities/KeyboardAccessTests/components/components.d.ts +1 -0
  489. package/dist/utilities/KeyboardAccessTests/components/components.js +78 -39
  490. package/dist/utilities/KeyboardAccessTests/components/components.js.map +1 -1
  491. package/dist/utilities/KeyboardAccessTests/components/index.js.map +1 -1
  492. package/dist/utilities/KeyboardAccessTests/utils/index.js.map +1 -1
  493. package/dist/utilities/KeyboardAccessTests/utils/jestUtils.d.ts +1 -0
  494. package/dist/utilities/KeyboardAccessTests/utils/jestUtils.js +18 -0
  495. package/dist/utilities/KeyboardAccessTests/utils/jestUtils.js.map +1 -1
  496. package/dist/utilities/KeyboardAccessTests/utils/utils.d.ts +0 -1
  497. package/dist/utilities/KeyboardAccessTests/utils/utils.js +0 -16
  498. package/dist/utilities/KeyboardAccessTests/utils/utils.js.map +1 -1
  499. package/dist/utilities/OverlayContext.js.map +1 -1
  500. package/dist/utilities/SemanticUtils/index.js.map +1 -1
  501. package/dist/utilities/SemanticUtils/refUtils.js.map +1 -1
  502. package/dist/utilities/SemanticUtils/widths.js.map +1 -1
  503. package/dist/utilities/ThemeProvider.js.map +1 -1
  504. package/dist/utilities/TimezoneProvider/TimezoneProvider.js.map +1 -1
  505. package/dist/utilities/TimezoneProvider/TimezoneProvider.test.js.map +1 -1
  506. package/dist/utilities/TimezoneProvider/index.js.map +1 -1
  507. package/dist/utilities/color-utils.js.map +1 -1
  508. package/dist/utilities/dateFormat.js.map +1 -1
  509. package/dist/utilities/debounce.js.map +1 -1
  510. package/dist/utilities/getContent.js.map +1 -1
  511. package/dist/utilities/index.js.map +1 -1
  512. package/dist/utilities/isElementOfType.js.map +1 -1
  513. package/dist/utilities/justify-props.js.map +1 -1
  514. package/dist/utilities/keyCodes.js.map +1 -1
  515. package/dist/utilities/usePrefersColorScheme.js.map +1 -1
  516. package/dist/utilities/useStorybookFigmaAddon.js.map +1 -1
  517. package/dist/utilities/wrapChildren.js.map +1 -1
  518. package/dist/utilities/wrapWithComponent.d.ts +1 -1
  519. package/dist/utilities/wrapWithComponent.js.map +1 -1
  520. package/package.json +29 -35
@@ -166,7 +166,7 @@ span.Popover {
166
166
  }
167
167
  .ActionMenu .ActionMenuGroup__label,
168
168
  .ActionMenu .ActionMenuItem {
169
- padding: 4px 16px;
169
+ padding: 5px 16px;
170
170
  }
171
171
  .ActionMenu .ActionMenuGroup__label,
172
172
  .ActionMenu .ActionMenuGroup__divider,
@@ -180,31 +180,27 @@ span.Popover {
180
180
  display: flex;
181
181
  flex-direction: row;
182
182
  min-height: 26px;
183
+ /* Changes due to use button tag instead of div */
184
+ /* Set color on root of component. It can be overridden after the @include */
185
+ color: var(--colorsTextDefault, #141414);
186
+ /* Make sure font-family goes across entire component */
187
+ font-family: "Nunito Sans", sans-serif;
188
+ font-size: 16px;
189
+ border: none;
190
+ width: 100%;
191
+ text-align: left;
183
192
  }
184
193
  .ActionMenu .ActionMenuItem:focus {
185
194
  outline: 0;
186
- }
187
- .ActionMenu .ActionMenuItem.ActionMenuItem--active:not(.ActionMenuItem--disabled), .ActionMenu .ActionMenuItem:hover:not(.ActionMenuItem--disabled), .ActionMenu .ActionMenuItem.ActionMenuItem--focus-visible:focus {
188
195
  background: var(--colorsSurfacePrimary, #0265dc);
189
196
  color: var(--colorsTextOnPrimary, white);
190
197
  cursor: pointer;
191
198
  }
192
- .ActionMenu .ActionMenuItem.ActionMenuItem--active:not(.ActionMenuItem--disabled) .ActionMenuItem__content > .Headline,
193
- .ActionMenu .ActionMenuItem.ActionMenuItem--active:not(.ActionMenuItem--disabled) .ActionMenuItem__content > .BodyText,
194
- .ActionMenu .ActionMenuItem.ActionMenuItem--active:not(.ActionMenuItem--disabled) .ActionMenuItem__content > .Eyebrow,
195
- .ActionMenu .ActionMenuItem.ActionMenuItem--active:not(.ActionMenuItem--disabled) .ActionMenuItem__content > .Text,
196
- .ActionMenu .ActionMenuItem.ActionMenuItem--active:not(.ActionMenuItem--disabled) .ActionMenuItem__content, .ActionMenu .ActionMenuItem:hover:not(.ActionMenuItem--disabled) .ActionMenuItem__content > .Headline,
197
- .ActionMenu .ActionMenuItem:hover:not(.ActionMenuItem--disabled) .ActionMenuItem__content > .BodyText,
198
- .ActionMenu .ActionMenuItem:hover:not(.ActionMenuItem--disabled) .ActionMenuItem__content > .Eyebrow,
199
- .ActionMenu .ActionMenuItem:hover:not(.ActionMenuItem--disabled) .ActionMenuItem__content > .Text,
200
- .ActionMenu .ActionMenuItem:hover:not(.ActionMenuItem--disabled) .ActionMenuItem__content, .ActionMenu .ActionMenuItem.ActionMenuItem--focus-visible:focus .ActionMenuItem__content > .Headline,
201
- .ActionMenu .ActionMenuItem.ActionMenuItem--focus-visible:focus .ActionMenuItem__content > .BodyText,
202
- .ActionMenu .ActionMenuItem.ActionMenuItem--focus-visible:focus .ActionMenuItem__content > .Eyebrow,
203
- .ActionMenu .ActionMenuItem.ActionMenuItem--focus-visible:focus .ActionMenuItem__content > .Text,
204
- .ActionMenu .ActionMenuItem.ActionMenuItem--focus-visible:focus .ActionMenuItem__content {
199
+ .ActionMenu .ActionMenuItem:focus .ActionMenuItem__content,
200
+ .ActionMenu .ActionMenuItem:focus .ActionMenuItem__content * {
205
201
  color: var(--colorsTextOnPrimary, white);
206
202
  }
207
- .ActionMenu .ActionMenuItem.ActionMenuItem--active:not(.ActionMenuItem--disabled) .ActionMenuItem__icon .a-Icon > svg, .ActionMenu .ActionMenuItem:hover:not(.ActionMenuItem--disabled) .ActionMenuItem__icon .a-Icon > svg, .ActionMenu .ActionMenuItem.ActionMenuItem--focus-visible:focus .ActionMenuItem__icon .a-Icon > svg {
203
+ .ActionMenu .ActionMenuItem:focus .ActionMenuItem__icon .a-Icon > svg {
208
204
  fill: currentColor !important;
209
205
  }
210
206
  .ActionMenu .ActionMenuItem .ActionMenuItem__icon,
@@ -234,10 +230,6 @@ span.Popover {
234
230
  display: none;
235
231
  }
236
232
 
237
- :not(.ActionMenu) > .ActionMenu__TriggerWrapper {
238
- display: inline-block;
239
- }
240
-
241
233
  .ActionMenuGroup__label.Divider {
242
234
  margin-left: 8px;
243
235
  margin-right: 8px;
@@ -247,4 +239,20 @@ span.Popover {
247
239
  opacity: 0.6;
248
240
  }
249
241
 
242
+ .ActionMenu__TriggerWrapper {
243
+ display: inline-block;
244
+ }
245
+ .ActionMenu .ActionMenu__TriggerWrapper {
246
+ display: block;
247
+ }
248
+
249
+ .ActionMenu__ItemsWrapper:focus,
250
+ .ActionMenu__OverlayWrapper:focus {
251
+ outline: none;
252
+ }
253
+ .ActionMenu__ItemsWrapper:focus-visible,
254
+ .ActionMenu__OverlayWrapper:focus-visible {
255
+ outline: none;
256
+ }
257
+
250
258
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Popover/Popover.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/components/ActionMenu/ActionMenu.scss"],"names":[],"mappings":"AAAA;ACIA;AAYA;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAe;;;AAEf;AC1BC;EACA;AAEA;EACA;EDyBA,YArB0B;EAsB1B,eEXiB;EFYjB;EACA;EACA;EACA;;AAEA;EACiB;;AAEjB;EACC;;;AAIF;EAAwB,eE1BN;;;AF4BlB;AACA;EACC;;;AAGD;EAAiB,WAhDM;;;AAiDvB;EAAgB,WAhDM;;;AAiDtB;EAAgB,WAhDM;;;AAiDtB;EAAgB,WAhDM;;;AAkDtB;EACC;EACA;;;AAGD;AAOC;AAAA;AAAA;EAGC;;AAGD;AAAA;EAEC;EACA;EACA;;AAGD;EAA8B;;;AAb9B;AAAA;AAAA;EAGC;;AAGD;AAAA;EAEC;EACA;EACA;;AAGD;EAA8B;;;AAb9B;AAAA;AAAA;EAGC;;AAGD;AAAA;EAEC;EACA;EACA;;AAGD;EAA8B;;;AAO/B;AACA;EACC;EACA;EACA;;;AAGD;EACC;EACA;;AAEA;EAAa;;;AAGd;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAIA;EAAgC;;;AGxGhC;EACC;EACA,WHZsB;EGatB;;;AAGD;AFnBC;EACA;AAEA;EACA;EEkBA,WDiHa;EChHb,aDsHkB;ECrHlB,WHlBqB;EGmBrB;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEC;;AAGD;AAAA;AAAA;EAGC,YApCmB;EAqCnB;;AAGD;EACC;EACA,OArCkB;EAsClB;EACA;EACA,YAzCgB;;AA2ChB;EACC;;AAGD;EAGC,YA/CuB;EAgDvB,OAjDiB;EAkDjB;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAI2B,OAxDV;;AAyDjB;EAAsC;;AAGvC;AAAA;EAEC;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAGD;EAA+D;;AAE/D;EACC,OAjFc;EAkFd,QAlFc;;AAqFf;EACC;EACA,SDkBgB;;ACdlB;EAAyD;;;AAG1D;EACC;;;AAGD;EACC,aDkBW;ECjBX,cDiBW;;ACfX;EACC,OArGkB;EAsGlB,SDCiB","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Popover/Popover.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/components/ActionMenu/ActionMenu.scss"],"names":[],"mappings":"AAAA;ACIA;AAYA;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EAAe;;;AAEf;AC1BC;EACA;AAEA;EACA;EDyBA,YArB0B;EAsB1B,eEXiB;EFYjB;EACA;EACA;EACA;;AAEA;EACiB;;AAEjB;EACC;;;AAIF;EAAwB,eE1BN;;;AF4BlB;AACA;EACC;;;AAGD;EAAiB,WAhDM;;;AAiDvB;EAAgB,WAhDM;;;AAiDtB;EAAgB,WAhDM;;;AAiDtB;EAAgB,WAhDM;;;AAkDtB;EACC;EACA;;;AAGD;AAOC;AAAA;AAAA;EAGC;;AAGD;AAAA;EAEC;EACA;EACA;;AAGD;EAA8B;;;AAb9B;AAAA;AAAA;EAGC;;AAGD;AAAA;EAEC;EACA;EACA;;AAGD;EAA8B;;;AAb9B;AAAA;AAAA;EAGC;;AAGD;AAAA;EAEC;EACA;EACA;;AAGD;EAA8B;;;AAO/B;AACA;EACC;EACA;EACA;;;AAGD;EACC;EACA;;AAEA;EAAa;;;AAGd;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAIA;EAAgC;;;AGxGhC;EACC;EACA,WHZsB;EGatB;;;AAGD;AFnBC;EACA;AAEA;EACA;EEkBA,WDiHa;EChHb,aDsHkB;ECrHlB,WHlBqB;EGmBrB;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEC;;AAGD;AAAA;AAAA;EAGC,YApCmB;EAqCnB;;AAGD;EACC;EACA,OArCkB;EAsClB;EACA;EACA,YAzCgB;AA2ChB;AFlDD;EACA;AAEA;EACA;EEiDC,WDkFY;ECjFZ;EACA;EACA;;AAEA;EACC;EACA,YAlDuB;EAmDvB,OApDiB;EAqDjB;;AAEA;AAAA;EAC6B,OAxDZ;;AAyDjB;EAAsC;;AAGvC;AAAA;EAEC;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAGD;EAA+D;;AAE/D;EACC,OAjFc;EAkFd,QAlFc;;AAqFf;EACC;EACA,SDkBgB;;ACdlB;EAAyD;;;AAG1D;EACC,aDsBW;ECrBX,cDqBW;;ACnBX;EACC,OAjGkB;EAkGlB,SDKiB;;;ACAnB;EACC;;AAEA;EAAgB;;;AAOhB;AAAA;EAAU;;AAGV;AAAA;EAAkB","file":"index.css"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ActionMenu/index.tsx"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ActionMenu/index.tsx"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC","sourcesContent":["export * from './ActionMenu';\n"]}
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const useLatestEvent: () => React.MutableRefObject<MouseEvent | KeyboardEvent>;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ export const useLatestEvent = () => {
3
+ const latestEventRef = React.useRef(undefined);
4
+ React.useEffect(() => {
5
+ const setMouseEvent = (e) => {
6
+ if (e.detail < 1)
7
+ return; // Detect click events produced without pointing device, e.g. pressing Spacebar on button element
8
+ latestEventRef.current = e;
9
+ };
10
+ const setKeyboardEvent = (e) => (latestEventRef.current = e);
11
+ document.addEventListener('keydown', setKeyboardEvent);
12
+ document.addEventListener('click', setMouseEvent);
13
+ return () => {
14
+ document.removeEventListener('keydown', setKeyboardEvent);
15
+ document.removeEventListener('click', setMouseEvent);
16
+ };
17
+ }, []);
18
+ return latestEventRef;
19
+ };
20
+ //# sourceMappingURL=useLatestEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLatestEvent.js","sourceRoot":"","sources":["../../../src/components/ActionMenu/useLatestEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAClC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAClC,SAAS,CACT,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,MAAM,aAAa,GAAG,CAAC,CAAa,EAAE,EAAE;YACvC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,iGAAiG;YAC3H,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,CAAC,CAAgB,EAAE,EAAE,CAC7C,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAE9B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACvD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAElD,OAAO,GAAG,EAAE;YACX,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC1D,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACtD,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nexport const useLatestEvent = () => {\n\tconst latestEventRef = React.useRef<MouseEvent | KeyboardEvent | undefined>(\n\t\tundefined\n\t);\n\n\tReact.useEffect(() => {\n\t\tconst setMouseEvent = (e: MouseEvent) => {\n\t\t\tif (e.detail < 1) return; // Detect click events produced without pointing device, e.g. pressing Spacebar on button element\n\t\t\tlatestEventRef.current = e;\n\t\t};\n\n\t\tconst setKeyboardEvent = (e: KeyboardEvent) =>\n\t\t\t(latestEventRef.current = e);\n\n\t\tdocument.addEventListener('keydown', setKeyboardEvent);\n\t\tdocument.addEventListener('click', setMouseEvent);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keydown', setKeyboardEvent);\n\t\t\tdocument.removeEventListener('click', setMouseEvent);\n\t\t};\n\t}, []);\n\n\treturn latestEventRef;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Announcement.js","sourceRoot":"","sources":["../../../src/components/Announcement/Announcement.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AA0BnC,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAQnD,EAAE,EAAE;QAR+C,EACnD,UAAU,EACV,SAAS,EACT,aAAa,EACb,OAAO,EACP,MAAM,GAAG,MAAM,EACf,KAAK,OAEL,EADG,KAAK,cAP2C,0EAQnD,CADQ;IAER,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC;IAE/B,MAAM,mBAAmB,GAAG,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE;QACjE,wBAAwB,EAAE,QAAQ;QAClC,uBAAuB,EAAE,OAAO;QAChC,oBAAoB,EAAE,IAAI;KAC1B,CAAC,CAAC;IAEH,OAAO,CACN,2CACC,SAAS,EAAE,mBAAmB,0BACT,cAAc,EACnC,IAAI,EAAC,QAAQ,IACT,KAAK;QAET,6BAAK,SAAS,EAAC,oBAAoB;YAClC,6BAAK,SAAS,EAAC,qBAAqB,IAAE,KAAK,CAAO;YACjD,UAAU,IAAI,aAAa,IAAI,CAC/B,oBAAC,MAAM,IACN,KAAK,QACL,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,aAAa,IAErB,UAAU,CACH,CACT,CACI;QACL,OAAO,IAAI,CACX,oBAAC,MAAM,kBACK,oBAAoB,EAC/B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAClC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAC9C,SAAS,EAAC,qBAAqB,EAC/B,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,GACf,CACF,CACI,CACN,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"Announcement.js","sourceRoot":"","sources":["../../../src/components/Announcement/Announcement.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AA0BnC,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAQnD,EAAE,EAAE;QAR+C,EACnD,UAAU,EACV,SAAS,EACT,aAAa,EACb,OAAO,EACP,MAAM,GAAG,MAAM,EACf,KAAK,OAEL,EADG,KAAK,cAP2C,0EAQnD,CADQ;IAER,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC;IAE/B,MAAM,mBAAmB,GAAG,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE;QACjE,wBAAwB,EAAE,QAAQ;QAClC,uBAAuB,EAAE,OAAO;QAChC,oBAAoB,EAAE,IAAI;KAC1B,CAAC,CAAC;IAEH,OAAO,CACN,2CACC,SAAS,EAAE,mBAAmB,0BACT,cAAc,EACnC,IAAI,EAAC,QAAQ,IACT,KAAK;QAET,6BAAK,SAAS,EAAC,oBAAoB;YAClC,6BAAK,SAAS,EAAC,qBAAqB,IAAE,KAAK,CAAO;YACjD,UAAU,IAAI,aAAa,IAAI,CAC/B,oBAAC,MAAM,IACN,KAAK,QACL,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,aAAa,IAErB,UAAU,CACH,CACT,CACI;QACL,OAAO,IAAI,CACX,oBAAC,MAAM,kBACK,oBAAoB,EAC/B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAClC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAC9C,SAAS,EAAC,qBAAqB,EAC/B,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,GACf,CACF,CACI,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { Button } from '../Button';\n\nexport interface AnnouncementPropsStrict {\n\t/** Name of the action shown to users */\n\tactionName?: string;\n\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Function that fires when the user clicks on the action */\n\tonActionClick?: (e: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/** Function that fires when the user clicks the close icon */\n\tonClose?: (e: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/** Determines the visual appearance and icon of the banner */\n\tstatus?: 'info' | 'warning' | 'critical';\n\n\t/** The message displayed to the user */\n\ttitle: string;\n}\n\nexport interface AnnouncementProps extends AnnouncementPropsStrict {\n\t[propName: string]: any;\n}\n\nexport const Announcement: FC<AnnouncementProps> = ({\n\tactionName,\n\tclassName,\n\tonActionClick,\n\tonClose,\n\tstatus = 'info',\n\ttitle,\n\t...props\n}) => {\n\tconst critical = status === 'critical';\n\tconst warning = status === 'warning';\n\tconst info = status === 'info';\n\n\tconst AnnouncementClasses = classnames('Announcement', className, {\n\t\t'Announcement--critical': critical,\n\t\t'Announcement--warning': warning,\n\t\t'Announcement--info': info,\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName={AnnouncementClasses}\n\t\t\tdata-anvil-component=\"Announcement\"\n\t\t\trole=\"status\"\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className=\"Announcement__body\">\n\t\t\t\t<div className=\"Announcement__title\">{title}</div>\n\t\t\t\t{actionName && onActionClick && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsmall\n\t\t\t\t\t\tclassName=\"Announcement__action\"\n\t\t\t\t\t\tonClick={onActionClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t{actionName}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{onClose && (\n\t\t\t\t<Button\n\t\t\t\t\taria-label=\"close announcement\"\n\t\t\t\t\tfill={warning ? 'subtle' : 'solid'}\n\t\t\t\t\tcolor={info ? 'blue' : critical ? 'red' : null}\n\t\t\t\t\tclassName=\"Announcement__close\"\n\t\t\t\t\ticonName=\"clear\"\n\t\t\t\t\tsize=\"xsmall\"\n\t\t\t\t\tonClick={onClose}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Announcement.test.js","sourceRoot":"","sources":["../../../src/components/Announcement/Announcement.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,YAAY,IACZ,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,sDAAsD,EAC5D,UAAU,EAAC,YAAY,mBACT,qBAAqB,GAClC,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Announcement.test.js","sourceRoot":"","sources":["../../../src/components/Announcement/Announcement.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,YAAY,IACZ,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,sDAAsD,EAC5D,UAAU,EAAC,YAAY,mBACT,qBAAqB,GAClC,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport { Announcement } from './Announcement';\n\ndescribe('Announcement', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<Announcement\n\t\t\t\tstatus=\"info\"\n\t\t\t\ttitle=\"This is a sandbox environment, not your live account\"\n\t\t\t\tactionName=\"Learn More\"\n\t\t\t\tdata-auto-sel=\"automation-selector\"\n\t\t\t/>\n\t\t);\n\n\t\tconst element = container.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\n\t\texpect(element).not.toBeNull();\n\t});\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Announcement/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Announcement/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './Announcement';\n"]}
@@ -62,6 +62,7 @@ export declare const AnvilSelectSB: FC<AnvilSelectProps>;
62
62
  export declare class AnvilSelectWrapped<TValue extends AnvilSelectOptionsProps | AnvilSelectOptionsProps[] | PrimitiveValueType | PrimitiveValueType[]> extends React.Component<AnvilSelectProps<TValue>, AnvilSelectState> {
63
63
  static defaultProps: Partial<AnvilSelectProps<any>>;
64
64
  static contextType: React.Context<FocusContext>;
65
+ context: React.ContextType<typeof FocusContext>;
65
66
  constructor(props: AnvilSelectProps<TValue>);
66
67
  componentDidMount(): void;
67
68
  componentDidUpdate(prevProps: AnvilSelectProps<TValue>): void;
@@ -122,4 +123,4 @@ export declare class AnvilSelectWrapped<TValue extends AnvilSelectOptionsProps |
122
123
  };
123
124
  render(): React.ReactNode;
124
125
  }
125
- export declare const AnvilSelect: React.ForwardRefExoticComponent<Pick<AnvilSelectProps<AnvilSelectOptionsProps | AnvilSelectOptionsProps[] | PrimitiveValueType | PrimitiveValueType[]>, keyof AnvilSelectProps<AnvilSelectOptionsProps | AnvilSelectOptionsProps[] | PrimitiveValueType | PrimitiveValueType[]>> & React.RefAttributes<any>>;
126
+ export declare const AnvilSelect: React.ForwardRefExoticComponent<Omit<AnvilSelectProps<AnvilSelectOptionsProps | AnvilSelectOptionsProps[] | PrimitiveValueType | PrimitiveValueType[]>, "ref"> & React.RefAttributes<any>>;
@@ -17,7 +17,7 @@ import { BodyText } from '../BodyText';
17
17
  import { Spinner } from '../Spinner';
18
18
  import { Stack } from '../Stack';
19
19
  import { AnvilSelectFooter, AnvilSelectHeader, SelectDrillInHeader, SelectDrillInFooter, SelectDrillInContent, Trigger, FocusProvider, } from './components';
20
- import { FocusActionType, FocusContext, getInitialState, doesHeaderExist, doesFooterExist, getNextOption, focusFirstOption, getPreviousOption, focusLastOption, } from './utils';
20
+ import { FocusActionType, FocusContext, getInitialState, doesHeaderExist, doesFooterExist, } from './utils';
21
21
  import { keys } from '../../utilities/keyCodes';
22
22
  // This is only used for Storybook to populate proptable
23
23
  export const AnvilSelectSB = (props) => {
@@ -27,14 +27,8 @@ export class AnvilSelectWrapped extends React.Component {
27
27
  constructor(props) {
28
28
  super(props);
29
29
  this.handleKeyDown = (e, option) => {
30
- var _a;
31
- const handledKeys = new Set([
32
- keys.esc,
33
- keys.down,
34
- keys.up,
35
- keys.enter,
36
- keys.space,
37
- ]);
30
+ var _a, _b;
31
+ const handledKeys = new Set([keys.esc, keys.enter, keys.space]);
38
32
  if (handledKeys.has(e.key)) {
39
33
  e.preventDefault();
40
34
  }
@@ -42,46 +36,24 @@ export class AnvilSelectWrapped extends React.Component {
42
36
  this.toggleOpenState();
43
37
  return;
44
38
  }
45
- if (e.key === keys.tab && !e.shiftKey) {
46
- const footer = doesFooterExist(e.target);
47
- if (!footer) {
48
- e.preventDefault();
49
- this.toggleOpenState();
50
- return;
51
- }
39
+ if (e.key === keys.tab && !e.shiftKey && !doesFooterExist(e.target)) {
40
+ // Tab on single option to select value
41
+ if (((_a = this.props) === null || _a === void 0 ? void 0 : _a.multiple) !== true)
42
+ this.changeRadioState(option);
43
+ this.toggleOpenState();
44
+ return;
52
45
  }
53
46
  if (e.key === keys.tab && e.shiftKey) {
54
- const header = doesHeaderExist(e.target);
55
- if (!header) {
47
+ if (!doesHeaderExist(e.target)) {
56
48
  e.preventDefault();
57
49
  this.toggleOpenState();
58
50
  return;
59
51
  }
60
52
  }
61
- if (e.key === keys.down) {
62
- const nextOption = getNextOption(e.currentTarget);
63
- if (!nextOption) {
64
- focusFirstOption(e.currentTarget);
65
- }
66
- else {
67
- nextOption.focus();
68
- }
69
- return;
70
- }
71
- if (e.key === keys.up) {
72
- const previousOption = getPreviousOption(e.currentTarget);
73
- if (!previousOption) {
74
- focusLastOption(e.currentTarget);
75
- }
76
- else {
77
- previousOption.focus();
78
- }
79
- return;
80
- }
81
53
  if (e.key === keys.enter || e.key === keys.space) {
82
54
  if (this.props.multiple) {
83
55
  const shouldCheck = !this.state.checkboxState.some((checkbox) => checkbox.value === option.value);
84
- const childObject = (_a = option === null || option === void 0 ? void 0 : option.options) !== null && _a !== void 0 ? _a : [];
56
+ const childObject = (_b = option === null || option === void 0 ? void 0 : option.options) !== null && _b !== void 0 ? _b : [];
85
57
  this.onCheckboxChange(option, shouldCheck, childObject, option);
86
58
  this.context.focusDispatch({
87
59
  type: FocusActionType.SetFocus,
@@ -303,7 +275,11 @@ export class AnvilSelectWrapped extends React.Component {
303
275
  if (typeof this.props.children !== 'function' &&
304
276
  (!this.props.options || this.props.options.length === 0))
305
277
  return this.getEmptyResult();
306
- return (React.createElement(OptionList, { options: this.props.options, multiple: !!this.props.multiple, flatGroup: this.getFlatGroup(), value: this.props.multiple
278
+ return (React.createElement(OptionList, { arrowNavOptions: {
279
+ disabled: false,
280
+ loop: true,
281
+ tabIndexGroup: true,
282
+ }, options: this.props.options, multiple: !!this.props.multiple, flatGroup: this.getFlatGroup(), value: this.props.multiple
307
283
  ? this.state.checkboxState
308
284
  : this.state.radioState, onChange: this.getOnChange, optionOnKeyDown: this.handleKeyDown, focusValue: this.context.focusState.optionFocus, className: "Select__OptionList", onExpand: this.getOnExpand(), collapseValue: this.getCollapseValue(), getOptionsData: this.setOptionsFromOptionList, indeterminateValue: this.props.indeterminateValue }, this.props.children));
309
285
  };
@@ -410,7 +386,7 @@ export class AnvilSelectWrapped extends React.Component {
410
386
  'Select--tree': this.props.tree,
411
387
  'Select--flat': !this.props.tree,
412
388
  });
413
- return (React.createElement(Popover, Object.assign({ autoFlipVertically: this.props.autoFlipVertically, autoFlipHorizontally: this.props.autoFlipHorizontally, className: AnvilSelectClasses, direction: "br", footer: this.state.openState && this.getFooter(), header: this.state.openState && this.getHeader(), open: this.state.openState, sharp: true, trigger: this.getTrigger(), width: this.props.popoverWidth, onClickOutside: this.handleClickOutside, "data-anvil-component": "AnvilSelect", portalDataAttributes: this.props.portalDataAttributes }, this.getRestOfProps()), this.state.openState && this.getOptionList()));
389
+ return (React.createElement(Popover, Object.assign({ autoFlipVertically: this.props.autoFlipVertically, autoFlipHorizontally: this.props.autoFlipHorizontally, className: AnvilSelectClasses, direction: "br", focusTrapOptions: { focusLock: false }, footer: this.state.openState && this.getFooter(), header: this.state.openState && this.getHeader(), open: this.state.openState, sharp: true, trigger: this.getTrigger(), width: this.props.popoverWidth, onClickOutside: this.handleClickOutside, "data-anvil-component": "AnvilSelect", portalDataAttributes: this.props.portalDataAttributes }, this.getRestOfProps()), this.state.openState && this.getOptionList()));
414
390
  }
415
391
  }
416
392
  AnvilSelectWrapped.defaultProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"AnvilSelect.js","sourceRoot":"","sources":["../../../src/components/AnvilSelect/AnvilSelect.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnvilSelect.js","sourceRoot":"","sources":["../../../src/components/AnvilSelect/AnvilSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Ref, FC, ReactNode } from 'react';\nimport classnames from 'classnames';\nimport { Popover, PopoverProps } from '../Popover';\nimport { OptionList, OptionListProps } from '../OptionList';\nimport { BodyText } from '../BodyText';\nimport { Spinner } from '../Spinner';\nimport { Stack } from '../Stack';\nimport {\n\tAnvilSelectFooter,\n\tAnvilSelectFooterProps,\n\tAnvilSelectHeader,\n\tAnvilSelectHeaderProps,\n\tAnvilSelectMultipleProps,\n\tAnvilSelectOptionsProps,\n\tAnvilSelectSearchProps,\n\tAnvilSelectTreeProps,\n\tSelectDrillInHeader,\n\tSelectDrillInFooter,\n\tSelectDrillInContent,\n\tSelectDrillInProps,\n\tTrigger,\n\tTriggerProps,\n\tFocusProvider,\n} from './components';\nimport {\n\tFocusActionType,\n\tFocusContext,\n\tgetInitialState,\n\tdoesHeaderExist,\n\tdoesFooterExist,\n} from './utils';\nimport { keys } from '../../utilities/keyCodes';\nimport { PopperProps } from '../../internal';\n\nexport type PrimitiveValueType =\n\t| string\n\t| number\n\t| bigint\n\t| symbol\n\t| null\n\t| undefined;\n\nexport interface AnvilSelectPropsStrict<\n\tTValue = AnvilSelectOptionsProps | AnvilSelectOptionsProps[]\n> extends Pick<\n\t\tPopoverProps,\n\t\t| 'autoFlipHorizontally'\n\t\t| 'autoFlipVertically'\n\t\t| 'onClickOutside'\n\t\t| 'open'\n\t\t| 'portal'\n\t> {\n\tchildren?(props: OptionListProps): ReactNode;\n\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Closes the Select on outside click */\n\tcloseOnClickOutside?: boolean;\n\n\t/** Indicates whether the Select is disabled or not. */\n\tdisabled?: boolean;\n\n\t/** The secondary */\n\tdrillIn?: SelectDrillInProps;\n\n\t/** Message when a Select has no available options */\n\temptyResult?: React.ReactNode;\n\n\t/** Visual error state for the trigger */\n\terror?: boolean;\n\n\t/** Footer for the Select */\n\tfooter?: AnvilSelectFooterProps | PopoverProps['footer'];\n\n\t/** Header for the Select */\n\theader?: AnvilSelectHeaderProps;\n\n\t/** Adds a Spinner visualization to the Select */\n\tloading?: boolean;\n\n\t/** Enables multiple selections */\n\tmultiple?: AnvilSelectMultipleProps | boolean;\n\n\t/** Called when the user changes the value */\n\tonChange?: (\n\t\tdata: TValue,\n\t\tchecked: boolean,\n\t\tchildObject: AnvilSelectOptionsProps | AnvilSelectOptionsProps[],\n\t\tselfObject: AnvilSelectOptionsProps\n\t) => void;\n\n\t/** A handler that is called on every open and close action */\n\tonOpenChange?(open: boolean, value?: AnvilSelectOptionsProps[]): void;\n\n\t/** Choices for the Select */\n\toptions?: AnvilSelectOptionsProps[];\n\n\t/** Define the width property of the popover part of the Select */\n\tpopoverWidth?: PopoverProps['width'];\n\n\t/** Search properties for the Select */\n\tsearch?: AnvilSelectSearchProps;\n\n\t/** The element that toggles the Select */\n\ttrigger?: TriggerProps & PopoverProps['trigger'];\n\n\t/** The options currently selected in the Select */\n\tvalue?: TValue;\n\n\t/** Tree view option. Requires controlled state. */\n\ttree?: AnvilSelectTreeProps;\n\n\t/** Passing indeterminate data through to the underlying OptionList */\n\tindeterminateValue?: OptionListProps['indeterminateValue'];\n\n\t/** Props to be passed to the portaled div */\n\tportalDataAttributes?: PopperProps['portalDataAttributes'];\n}\n\nexport interface AnvilSelectProps<\n\tTValue = AnvilSelectOptionsProps | AnvilSelectOptionsProps[]\n> extends AnvilSelectPropsStrict<TValue> {\n\t/** Unstrict Props */\n\t[propName: string]: any;\n}\n\nexport interface AnvilSelectState {\n\tcheckboxState: AnvilSelectOptionsProps[];\n\tradioState: AnvilSelectOptionsProps;\n\topenState: boolean;\n\tcontrolledMode: boolean;\n}\n\n// This is only used for Storybook to populate proptable\nexport const AnvilSelectSB: FC<AnvilSelectProps> = (props) => {\n\treturn <AnvilSelect {...props} />;\n};\n\nexport class AnvilSelectWrapped<\n\tTValue extends\n\t\t| AnvilSelectOptionsProps\n\t\t| AnvilSelectOptionsProps[]\n\t\t| PrimitiveValueType\n\t\t| PrimitiveValueType[]\n> extends React.Component<AnvilSelectProps<TValue>, AnvilSelectState> {\n\tstatic defaultProps: Partial<AnvilSelectProps<any>> = {\n\t\tautoFlipVertically: true,\n\t\tcloseOnClickOutside: true,\n\t\tpopoverWidth: '100',\n\t\tportal: true,\n\t};\n\tstatic contextType = FocusContext;\n\tcontext!: React.ContextType<typeof FocusContext>;\n\n\tconstructor(props: AnvilSelectProps<TValue>) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tcheckboxState: props.value || ([] as any),\n\t\t\tradioState: props.value as AnvilSelectOptionsProps,\n\t\t\topenState: !!props.open,\n\t\t\tcontrolledMode: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.autoFocus) {\n\t\t\tconst initialState = getInitialState(\n\t\t\t\tthis.props.search,\n\t\t\t\tthis.props.header,\n\t\t\t\tthis.getOptionsForFocusContext(),\n\t\t\t\tfalse,\n\t\t\t\t!!this.props.tree\n\t\t\t);\n\t\t\tif (!this.state.openState) {\n\t\t\t\tinitialState.triggerFocus = true;\n\t\t\t}\n\t\t\tthis.context.focusDispatch({\n\t\t\t\ttype: FocusActionType.SetFocus,\n\t\t\t\tpayload: initialState,\n\t\t\t});\n\t\t}\n\n\t\t/* Show a console warning when using function children */\n\t\tif (typeof this.props.children === 'function') {\n\t\t\tconsole.warn(\n\t\t\t\t'🚧 ANVIL: Using a function as children for AnvilSelect (and OptionList) is currently an early feature with limited functionality.'\n\t\t\t);\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps: AnvilSelectProps<TValue>) {\n\t\tconst newValue = this.props.value;\n\t\t// If component updated but value didn't change, don't change state at all\n\t\tif (prevProps.value === newValue) return;\n\n\t\t// If component updated and value changed, update state to be new value\n\t\tthis.setState({\n\t\t\t...this.state,\n\t\t\t...AnvilSelectWrapped.getNewCheckboxAndRadioStateByValue(\n\t\t\t\tnewValue,\n\t\t\t\tthis.props.options\n\t\t\t),\n\t\t});\n\t}\n\n\tstatic getDerivedStateFromProps(\n\t\tprops: AnvilSelectProps<any>,\n\t\tstate: AnvilSelectState\n\t) {\n\t\tconst newValue = props.value;\n\t\tif (!state.controlledMode && newValue !== undefined && props.onChange) {\n\t\t\treturn {\n\t\t\t\tcontrolledMode: true,\n\t\t\t\t...AnvilSelectWrapped.getNewCheckboxAndRadioStateByValue(\n\t\t\t\t\tnewValue,\n\t\t\t\t\tprops.options\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tstate.controlledMode &&\n\t\t\t(newValue !== state.checkboxState || newValue !== state.radioState)\n\t\t) {\n\t\t\treturn AnvilSelectWrapped.getNewCheckboxAndRadioStateByValue(\n\t\t\t\tnewValue,\n\t\t\t\tprops.options\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstatic getCheckboxOptionByValue = (\n\t\tvalue: any,\n\t\toptions: AnvilSelectPropsStrict<any>['options']\n\t): AnvilSelectOptionsProps[] => {\n\t\tif (\n\t\t\t!Array.isArray(value) ||\n\t\t\t!value.length ||\n\t\t\tvalue === undefined ||\n\t\t\tvalue === null\n\t\t)\n\t\t\treturn [];\n\n\t\tconst isPrimitiveValueType = typeof value[0] !== 'object';\n\n\t\tif (isPrimitiveValueType) {\n\t\t\treturn options.filter((option) => value.includes(option.value));\n\t\t}\n\n\t\treturn value as AnvilSelectOptionsProps[];\n\t};\n\n\tstatic getRadioOptionByValue = (\n\t\tvalue: any,\n\t\toptions: AnvilSelectPropsStrict<any>['options']\n\t): AnvilSelectOptionsProps => {\n\t\tif (Array.isArray(value) || value === undefined || value === null)\n\t\t\treturn undefined;\n\n\t\tconst isPrimitiveValueType = typeof value !== 'object';\n\n\t\tif (isPrimitiveValueType) {\n\t\t\treturn options.find((option) => option.value === value);\n\t\t}\n\n\t\treturn value as AnvilSelectOptionsProps;\n\t};\n\n\tstatic getNewCheckboxAndRadioStateByValue = (\n\t\tnewValue: any,\n\t\toptions: AnvilSelectPropsStrict<any>['options']\n\t): Pick<AnvilSelectState, 'checkboxState' | 'radioState'> => {\n\t\treturn {\n\t\t\tcheckboxState: AnvilSelectWrapped.getCheckboxOptionByValue(\n\t\t\t\tnewValue,\n\t\t\t\toptions\n\t\t\t),\n\t\t\tradioState: AnvilSelectWrapped.getRadioOptionByValue(\n\t\t\t\tnewValue,\n\t\t\t\toptions\n\t\t\t),\n\t\t};\n\t};\n\n\thandleKeyDown = (\n\t\te: React.KeyboardEvent<HTMLDivElement>,\n\t\toption: AnvilSelectOptionsProps\n\t) => {\n\t\tconst handledKeys = new Set([keys.esc, keys.enter, keys.space]);\n\n\t\tif (handledKeys.has(e.key)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (e.key === keys.esc) {\n\t\t\tthis.toggleOpenState();\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === keys.tab && !e.shiftKey && !doesFooterExist(e.target)) {\n\t\t\t// Tab on single option to select value\n\t\t\tif (this.props?.multiple !== true) this.changeRadioState(option);\n\n\t\t\tthis.toggleOpenState();\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === keys.tab && e.shiftKey) {\n\t\t\tif (!doesHeaderExist(e.target)) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.toggleOpenState();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (e.key === keys.enter || e.key === keys.space) {\n\t\t\tif (this.props.multiple) {\n\t\t\t\tconst shouldCheck = !this.state.checkboxState.some(\n\t\t\t\t\t(checkbox) => checkbox.value === option.value\n\t\t\t\t);\n\t\t\t\tconst childObject = option?.options ?? [];\n\t\t\t\tthis.onCheckboxChange(option, shouldCheck, childObject, option);\n\t\t\t\tthis.context.focusDispatch({\n\t\t\t\t\ttype: FocusActionType.SetFocus,\n\t\t\t\t\tpayload: { optionFocus: option },\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.changeRadioState(option);\n\t\t\t\tthis.toggleOpenState();\n\t\t\t}\n\t\t}\n\t};\n\n\tfocus = () => {\n\t\tconst initialState = getInitialState(\n\t\t\tthis.props.search,\n\t\t\tthis.props.header,\n\t\t\tthis.getOptionsForFocusContext(),\n\t\t\tfalse,\n\t\t\t!!this.props.tree\n\t\t);\n\t\tif (!this.state.openState) {\n\t\t\tinitialState.triggerFocus = true;\n\t\t}\n\n\t\tthis.context.focusDispatch({\n\t\t\ttype: FocusActionType.SetFocus,\n\t\t\tpayload: initialState,\n\t\t});\n\t};\n\n\tblur = () => {\n\t\tconst initialState = getInitialState(\n\t\t\tthis.props.search,\n\t\t\tthis.props.header,\n\t\t\tthis.getOptionsForFocusContext(),\n\t\t\tfalse,\n\t\t\t!!this.props.tree\n\t\t);\n\t\tinitialState.triggerFocus = false;\n\n\t\tthis.context.focusDispatch({\n\t\t\ttype: FocusActionType.SetFocus,\n\t\t\tpayload: initialState,\n\t\t});\n\t};\n\n\t/*\n\t * Internal state management of Select\n\t */\n\n\ttoggleOpenState = (clickOutside = false) => {\n\t\tconst initialState = getInitialState(\n\t\t\tthis.props.search,\n\t\t\tthis.props.header,\n\t\t\tthis.getOptionsForFocusContext(),\n\t\t\tclickOutside,\n\t\t\t!!this.props.tree\n\t\t);\n\t\tif (this.state.openState && !clickOutside) {\n\t\t\tinitialState.triggerFocus = true;\n\t\t}\n\t\tthis.context.focusDispatch({\n\t\t\ttype: FocusActionType.SetFocus,\n\t\t\tpayload: initialState,\n\t\t});\n\t\tconst newOpenState = !this.state.openState;\n\t\tthis.setState({\n\t\t\topenState: newOpenState,\n\t\t});\n\n\t\tthis.props.onOpenChange?.(newOpenState, this.state.checkboxState);\n\t};\n\n\tchangeCheckboxState = (\n\t\tvalue: AnvilSelectOptionsProps[],\n\t\tchecked: boolean,\n\t\tchildObject: AnvilSelectOptionsProps | AnvilSelectOptionsProps[],\n\t\tselfObject: AnvilSelectOptionsProps\n\t) => {\n\t\tthis.setState({\n\t\t\tcheckboxState: value,\n\t\t});\n\t\tthis.handleOnChange(value as TValue, checked, childObject, selfObject);\n\t};\n\n\tonCheckboxChange = (\n\t\tvalue: any,\n\t\tchecked: boolean,\n\t\tchildObject: AnvilSelectOptionsProps | AnvilSelectOptionsProps[],\n\t\tselfObject: AnvilSelectOptionsProps\n\t) => {\n\t\tlet newValue;\n\t\tconst incomingValue =\n\t\t\tselfObject.value !== undefined ? selfObject.value : selfObject;\n\t\tif (checked) {\n\t\t\tnewValue = [...this.state.checkboxState, selfObject];\n\t\t} else {\n\t\t\tnewValue = this.state.checkboxState.filter(\n\t\t\t\t(item: AnvilSelectOptionsProps) => {\n\t\t\t\t\treturn item.value !== incomingValue;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tthis.changeCheckboxState(newValue, checked, childObject, selfObject);\n\t\tthis.context.focusDispatch({\n\t\t\ttype: FocusActionType.SetFocus,\n\t\t\tpayload: { optionFocus: selfObject },\n\t\t});\n\t};\n\n\tchangeRadioState = (value?: AnvilSelectOptionsProps) => {\n\t\tthis.setState({\n\t\t\tradioState: value,\n\t\t});\n\t\tthis.handleOnChange(value as TValue, null, null, null);\n\t};\n\n\tgetMultipleValues = () => {\n\t\tconst defaults = {\n\t\t\tgroupSelectAll: false,\n\t\t\tonTagClose: false,\n\t\t\tselectAll: false,\n\t\t};\n\n\t\tif (typeof this.props.multiple !== 'boolean')\n\t\t\treturn { ...defaults, ...this.props.multiple };\n\t\treturn defaults;\n\t};\n\n\tgetEmptyResult = () => {\n\t\tconst message =\n\t\t\tthis.props.emptyResult !== undefined\n\t\t\t\t? this.props.emptyResult\n\t\t\t\t: 'No results found';\n\t\treturn (\n\t\t\t<BodyText className=\"ta-center\" subdued size=\"small\">\n\t\t\t\t{message}\n\t\t\t</BodyText>\n\t\t);\n\t};\n\n\tcheckDrillIn = () => {\n\t\tif (!this.props.drillIn || !this.props.drillIn.open) return false;\n\t\treturn true;\n\t};\n\n\tgetCheckboxStateFilteredByGroupValues = (\n\t\tflattenGroupValues: AnvilSelectOptionsProps[]\n\t) => {\n\t\treturn this.state.checkboxState.filter(\n\t\t\t(item: AnvilSelectOptionsProps) =>\n\t\t\t\t!flattenGroupValues.find(\n\t\t\t\t\t(groupValueItem: AnvilSelectOptionsProps) =>\n\t\t\t\t\t\titem.value === groupValueItem.value\n\t\t\t\t)\n\t\t);\n\t};\n\n\tcheckIfDisabledItemIsSelected = (option: AnvilSelectOptionsProps) => {\n\t\treturn (\n\t\t\tthis.state.checkboxState.filter(\n\t\t\t\t(item: AnvilSelectOptionsProps) => item.value === option.value\n\t\t\t).length > 0\n\t\t);\n\t};\n\n\tgetFlattenValuesFromOptions = (\n\t\toptions?: AnvilSelectOptionsProps[],\n\t\tskipDisabled?: boolean\n\t): AnvilSelectOptionsProps[] => {\n\t\tconst result: AnvilSelectOptionsProps[] = [];\n\t\tif (options) {\n\t\t\toptions.forEach((option: AnvilSelectOptionsProps) => {\n\t\t\t\tif (option.options) {\n\t\t\t\t\tresult.push(\n\t\t\t\t\t\t...this.getFlattenValuesFromOptions(option.options)\n\t\t\t\t\t);\n\t\t\t\t} else if (!option.disabled) {\n\t\t\t\t\tresult.push(option);\n\t\t\t\t} else if (\n\t\t\t\t\t!skipDisabled &&\n\t\t\t\t\tthis.checkIfDisabledItemIsSelected(option)\n\t\t\t\t) {\n\t\t\t\t\tresult.push(option);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn result;\n\t};\n\n\tgetChildOptionsFromGroupOptions = (\n\t\tgroupOptions: AnvilSelectOptionsProps[] = []\n\t) => {\n\t\treturn groupOptions.flatMap(({ options = [] }) => options);\n\t};\n\n\t/*\n\t * Handle functions\n\t */\n\n\thandleOnSelectAll = () => {\n\t\tif (this.props.multiple) {\n\t\t\tthis.changeCheckboxState(\n\t\t\t\tthis.getFlattenValuesFromOptions(this.props.options),\n\t\t\t\ttrue,\n\t\t\t\tthis.getChildOptionsFromGroupOptions(this.props.options),\n\t\t\t\t[...this.props.options]\n\t\t\t);\n\t\t}\n\t};\n\n\thandleOnSelectGroup = (groupOptions: AnvilSelectOptionsProps[]) => {\n\t\tconst groupValues = this.getFlattenValuesFromOptions(groupOptions);\n\t\tconst checkboxStateFiltered =\n\t\t\tthis.getCheckboxStateFilteredByGroupValues(groupValues);\n\t\tthis.changeCheckboxState(\n\t\t\t[...checkboxStateFiltered, ...groupValues],\n\t\t\ttrue,\n\t\t\tthis.getChildOptionsFromGroupOptions(groupOptions),\n\t\t\t[...groupOptions]\n\t\t);\n\t};\n\n\thandleOnClear = () => {\n\t\tif (this.props.multiple) {\n\t\t\tconst clearAllButDisabled = this.state.checkboxState.filter(\n\t\t\t\t(item: AnvilSelectOptionsProps) => item.disabled\n\t\t\t);\n\t\t\tconst self = this.state.checkboxState.filter(\n\t\t\t\t(item: AnvilSelectOptionsProps) => !item.disabled\n\t\t\t);\n\t\t\tthis.changeCheckboxState(clearAllButDisabled, false, [], self);\n\t\t} else {\n\t\t\tthis.changeRadioState();\n\t\t}\n\t};\n\n\thandleOnClearGroup = (groupOptions: AnvilSelectOptionsProps[]) => {\n\t\tconst groupValues = this.getFlattenValuesFromOptions(\n\t\t\tgroupOptions,\n\t\t\ttrue\n\t\t);\n\t\tconst newGroupValues =\n\t\t\tthis.getCheckboxStateFilteredByGroupValues(groupValues);\n\t\tthis.changeCheckboxState(newGroupValues, false, [], [...groupOptions]);\n\t};\n\n\thandleOnChange = (\n\t\tvalue: TValue,\n\t\tchecked: any,\n\t\tchildObject: AnvilSelectOptionsProps,\n\t\tselfObject: AnvilSelectOptionsProps\n\t) => {\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(value, checked, childObject, selfObject);\n\t\t}\n\t};\n\n\thandleOnTagClose = (value: AnvilSelectOptionsProps) => {\n\t\tthis.onCheckboxChange(value, false, value, value);\n\t};\n\n\thandleClickOutside = () => {\n\t\tif (this.props.onClickOutside) this.props.onClickOutside();\n\t\tif (!this.state.openState || !this.props.closeOnClickOutside) return;\n\t\tthis.toggleOpenState(true);\n\t};\n\n\thandleOnClick = (e: any) => {\n\t\tthis.props.trigger?.onClick?.(e);\n\t\tthis.toggleOpenState();\n\t};\n\n\tgetOnChange = (\n\t\tvalue: any,\n\t\tchecked: boolean,\n\t\tchildObject: AnvilSelectOptionsProps,\n\t\tselfObject: AnvilSelectOptionsProps\n\t) => {\n\t\tif (this.props.multiple)\n\t\t\treturn this.onCheckboxChange(\n\t\t\t\tvalue,\n\t\t\t\tchecked,\n\t\t\t\tchildObject,\n\t\t\t\tselfObject\n\t\t\t);\n\t\tthis.toggleOpenState();\n\t\treturn this.changeRadioState(selfObject);\n\t};\n\n\tgetFlatGroup = () => {\n\t\tif (this.props.tree) return false;\n\t\tif (this.getMultipleValues().groupSelectAll) {\n\t\t\treturn {\n\t\t\t\tonGroupSelectAll: this.handleOnSelectGroup,\n\t\t\t\tonGroupSelectNone: this.handleOnClearGroup,\n\t\t\t};\n\t\t}\n\t\treturn true;\n\t};\n\n\tgetOnExpand = () => {\n\t\treturn this.props.tree?.onExpand ? this.props.tree.onExpand : null;\n\t};\n\n\tgetCollapseValue = () => {\n\t\treturn this.props.tree?.collapseValue\n\t\t\t? this.props.tree.collapseValue\n\t\t\t: null;\n\t};\n\n\toptionsFromOptionList: AnvilSelectOptionsProps[] | null = null;\n\n\tgetOptionsForFocusContext = () => {\n\t\treturn this.props.options != null ||\n\t\t\ttypeof this.props.children !== 'function'\n\t\t\t? this.props.options\n\t\t\t: this.optionsFromOptionList != null\n\t\t\t? this.optionsFromOptionList\n\t\t\t: null;\n\t};\n\n\tsetOptionsFromOptionList = (optionData: AnvilSelectOptionsProps[]) => {\n\t\tthis.optionsFromOptionList = optionData;\n\t};\n\n\tgetOptionList = () => {\n\t\tif (this.checkDrillIn())\n\t\t\treturn <SelectDrillInContent {...this.props.drillIn} />;\n\t\tif (this.props.loading) return this.getLoading();\n\t\tif (\n\t\t\ttypeof this.props.children !== 'function' &&\n\t\t\t(!this.props.options || this.props.options.length === 0)\n\t\t)\n\t\t\treturn this.getEmptyResult();\n\n\t\treturn (\n\t\t\t<OptionList\n\t\t\t\tarrowNavOptions={{\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\tloop: true,\n\t\t\t\t\ttabIndexGroup: true,\n\t\t\t\t}}\n\t\t\t\toptions={this.props.options}\n\t\t\t\tmultiple={!!this.props.multiple}\n\t\t\t\tflatGroup={this.getFlatGroup()}\n\t\t\t\tvalue={\n\t\t\t\t\tthis.props.multiple\n\t\t\t\t\t\t? this.state.checkboxState\n\t\t\t\t\t\t: this.state.radioState\n\t\t\t\t}\n\t\t\t\tonChange={this.getOnChange}\n\t\t\t\toptionOnKeyDown={this.handleKeyDown}\n\t\t\t\tfocusValue={this.context.focusState.optionFocus}\n\t\t\t\tclassName=\"Select__OptionList\"\n\t\t\t\tonExpand={this.getOnExpand()}\n\t\t\t\tcollapseValue={this.getCollapseValue()}\n\t\t\t\tgetOptionsData={this.setOptionsFromOptionList}\n\t\t\t\tindeterminateValue={this.props.indeterminateValue}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</OptionList>\n\t\t);\n\t};\n\n\t/*\n\t * UI get functions\n\t * Options, Header, Footer, Trigger\n\t */\n\n\tgetHeader: () => any = () => {\n\t\tif (this.checkDrillIn()) {\n\t\t\treturn (\n\t\t\t\t<SelectDrillInHeader\n\t\t\t\t\tcloseSelectHandler={this.toggleOpenState}\n\t\t\t\t\tpreventFocus={!!this.props.open}\n\t\t\t\t\t{...this.props.drillIn}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\tif (this.props.header || this.props.search) {\n\t\t\treturn (\n\t\t\t\t<AnvilSelectHeader\n\t\t\t\t\tsearch={!!this.props.search}\n\t\t\t\t\tcloseSelectHandler={this.toggleOpenState}\n\t\t\t\t\t{...this.props.search}\n\t\t\t\t\t{...this.props.header}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tgetFooter: () => any = () => {\n\t\tif (this.checkDrillIn()) {\n\t\t\tif (\n\t\t\t\tthis.props.drillIn.footerActionName &&\n\t\t\t\tthis.props.drillIn.footerOnActionClick\n\t\t\t) {\n\t\t\t\treturn (\n\t\t\t\t\t<SelectDrillInFooter\n\t\t\t\t\t\tcloseSelectHandler={this.toggleOpenState}\n\t\t\t\t\t\t{...this.props.drillIn}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\n\t\tif (React.isValidElement(this.props.footer)) {\n\t\t\treturn React.cloneElement(this.props.footer);\n\t\t}\n\n\t\tif (\n\t\t\tthis.props.footer ||\n\t\t\t(this.props.multiple && this.getMultipleValues().selectAll)\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<AnvilSelectFooter\n\t\t\t\t\tselectAll={\n\t\t\t\t\t\tthis.props.multiple &&\n\t\t\t\t\t\tthis.getMultipleValues().selectAll\n\t\t\t\t\t}\n\t\t\t\t\tonSelectAllClick={this.handleOnSelectAll}\n\t\t\t\t\tonSelectNoneClick={this.handleOnClear}\n\t\t\t\t\tcloseSelectHandler={this.toggleOpenState}\n\t\t\t\t\t{...this.props.footer}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tgetTrigger = () => {\n\t\tif (React.isValidElement(this.props.trigger)) {\n\t\t\treturn React.cloneElement(this.props.trigger, {\n\t\t\t\tonClick: this.toggleOpenState,\n\t\t\t});\n\t\t}\n\t\tconst triggerValue = this.props.multiple\n\t\t\t? this.state.checkboxState\n\t\t\t: this.state.radioState;\n\n\t\treturn (\n\t\t\t<Trigger\n\t\t\t\topen={this.state.openState}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\terror={this.props.error}\n\t\t\t\tvalue={triggerValue}\n\t\t\t\tonClearClick={this.handleOnClear}\n\t\t\t\tonClose={!this.props.tree && this.handleOnTagClose} // Don't allow tag close with Tree\n\t\t\t\tonBlur={this.blur}\n\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\t{...this.props.trigger}\n\t\t\t\tonClick={this.handleOnClick}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetLoading = () => {\n\t\treturn (\n\t\t\t<Stack justifyContent=\"center\">\n\t\t\t\t<Spinner size=\"tiny\" />\n\t\t\t</Stack>\n\t\t);\n\t};\n\n\t/* Popover props */\n\tgetRestOfProps = () => {\n\t\tconst {\n\t\t\tchildren,\n\t\t\tautoFlipHorizontally,\n\t\t\tautoFlipVertically,\n\t\t\tclassName,\n\t\t\tcloseOnClickOutside,\n\t\t\tdisabled,\n\t\t\tdrillIn,\n\t\t\temptyResult,\n\t\t\terror,\n\t\t\tfooter,\n\t\t\theader,\n\t\t\tloading,\n\t\t\tmultiple,\n\t\t\tonChange,\n\t\t\tonClickOutside,\n\t\t\topen,\n\t\t\toptions,\n\t\t\tpopoverWidth,\n\t\t\tsearch,\n\t\t\ttrigger,\n\t\t\tvalue,\n\t\t\tautoFocus,\n\t\t\tonOpenChange,\n\t\t\ttree,\n\t\t\t...rest\n\t\t} = this.props;\n\t\treturn rest;\n\t};\n\n\trender(): React.ReactNode {\n\t\tif (!this.state.openState) return this.getTrigger();\n\n\t\tconst AnvilSelectClasses = classnames(\n\t\t\t'a-Select',\n\t\t\tthis.props.className,\n\t\t\t{\n\t\t\t\t'Select--DrillIn': this.props.drillIn?.open,\n\t\t\t\t'Select--disabled': this.props.disabled,\n\t\t\t\t'Select--tree': this.props.tree,\n\t\t\t\t'Select--flat': !this.props.tree,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Popover\n\t\t\t\tautoFlipVertically={this.props.autoFlipVertically}\n\t\t\t\tautoFlipHorizontally={this.props.autoFlipHorizontally}\n\t\t\t\tclassName={AnvilSelectClasses}\n\t\t\t\tdirection=\"br\"\n\t\t\t\tfocusTrapOptions={{ focusLock: false }}\n\t\t\t\tfooter={this.state.openState && this.getFooter()}\n\t\t\t\theader={this.state.openState && this.getHeader()}\n\t\t\t\topen={this.state.openState}\n\t\t\t\tsharp\n\t\t\t\ttrigger={this.getTrigger()}\n\t\t\t\twidth={this.props.popoverWidth as PopoverProps['width']}\n\t\t\t\tonClickOutside={this.handleClickOutside}\n\t\t\t\tdata-anvil-component=\"AnvilSelect\"\n\t\t\t\tportalDataAttributes={this.props.portalDataAttributes}\n\t\t\t\t{...this.getRestOfProps()}\n\t\t\t>\n\t\t\t\t{this.state.openState && this.getOptionList()}\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\n/* Wrap Select around focus management */\nexport const AnvilSelect = React.forwardRef(\n\t<\n\t\tTValue extends\n\t\t\t| AnvilSelectOptionsProps\n\t\t\t| AnvilSelectOptionsProps[]\n\t\t\t| PrimitiveValueType\n\t\t\t| PrimitiveValueType[]\n\t>(\n\t\tprops: AnvilSelectProps<TValue>,\n\t\tref: Ref<any>\n\t) => {\n\t\treturn (\n\t\t\t<FocusProvider\n\t\t\t\theader={props.header}\n\t\t\t\tsearch={props.search}\n\t\t\t\toptions={props.options}\n\t\t\t\tpreventFocus\n\t\t\t>\n\t\t\t\t<AnvilSelectWrapped {...props} ref={ref} />\n\t\t\t</FocusProvider>\n\t\t);\n\t}\n);\n\nAnvilSelect.displayName = 'AnvilSelect';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AnvilSelect.test.js","sourceRoot":"","sources":["../../../src/components/AnvilSelect/AnvilSelect.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,yCAAyC,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAEjC,MAAM,YAAY,GAAG;IACpB;QACC,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,IAAI;KACd;IACD;QACC,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,CAAC;KACR;CACD,CAAC;AAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,UAAU,CAAC,GAAG,EAAE;QACf,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;QACxB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACtD,MAAM,aAAa,GAAG,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG;YACb,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;YAC3C,OAAO,EAAE;gBACR,WAAW,EAAE,4BAA4B;gBACzC,IAAI,EAAE,CAAC;aACP;YACD,QAAQ,EAAE,IAAI;SACd,CAAC;QACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,WAAW,oBAAK,KAAK,EAAI,CAAC,CAAC;QAEzD,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,WAAW,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC9D,MAAM,aAAa,GAAG,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG;YACb,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;YAC3C,OAAO,EAAE;gBACR,WAAW,EAAE,4BAA4B;gBACzC,IAAI,EAAE,CAAC;aACP;YACD,QAAQ,EAAE,IAAI;SACd,CAAC;QAEF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,WAAW,oBAAK,KAAK,qBAAgB,qBAAqB,IAAG,CAC9D,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"AnvilSelect.test.js","sourceRoot":"","sources":["../../../src/components/AnvilSelect/AnvilSelect.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,yCAAyC,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAEjC,MAAM,YAAY,GAAG;IACpB;QACC,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,IAAI;KACd;IACD;QACC,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,CAAC;KACR;IACD;QACC,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,CAAC;KACR;CACD,CAAC;AAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,UAAU,CAAC,GAAG,EAAE;QACf,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;QACxB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACtD,MAAM,aAAa,GAAG,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG;YACb,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;YAC3C,OAAO,EAAE;gBACR,WAAW,EAAE,4BAA4B;gBACzC,IAAI,EAAE,CAAC;aACP;YACD,QAAQ,EAAE,IAAI;SACd,CAAC;QACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,WAAW,oBAAK,KAAK,EAAI,CAAC,CAAC;QAEzD,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,WAAW,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC9D,MAAM,aAAa,GAAG,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG;YACb,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;YAC3C,OAAO,EAAE;gBACR,WAAW,EAAE,4BAA4B;gBACzC,IAAI,EAAE,CAAC;aACP;YACD,QAAQ,EAAE,IAAI;SACd,CAAC;QAEF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,WAAW,oBAAK,KAAK,qBAAgB,qBAAqB,IAAG,CAC9D,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom/extend-expect';\nimport { AnvilSelect } from './';\n\nconst dummyOptions = [\n\t{\n\t\ttext: 'Jane Doe',\n\t\tvalue: 1,\n\t\tdisabled: true,\n\t},\n\t{\n\t\ttext: 'Bob Ross',\n\t\tvalue: 2,\n\t},\n\t{\n\t\ttext: 'Jackie Robinson',\n\t\tvalue: 3,\n\t},\n\t{\n\t\ttext: 'Alexandria Garcia',\n\t\tvalue: 4,\n\t},\n\t{\n\t\ttext: 'Zack Bower',\n\t\tvalue: 5,\n\t},\n\t{\n\t\ttext: 'Erin Smith',\n\t\tvalue: 6,\n\t},\n\t{\n\t\ttext: 'Jarrod Saltalamacchia',\n\t\tvalue: 7,\n\t},\n\t{\n\t\ttext: 'Natalia McPhearson',\n\t\tvalue: 8,\n\t},\n\t{\n\t\ttext: 'Valente Zero',\n\t\tvalue: 0,\n\t},\n];\n\ndescribe('AnvilSelect', () => {\n\tbeforeEach(() => {\n\t\tglobal.innerWidth = 400;\n\t\tglobal.innerHeight = 2000;\n\t\tglobal.dispatchEvent(new Event('resize'));\n\t});\n\n\tit('trigger should show X selected if rows is 0', () => {\n\t\tconst selectedCount = 1;\n\t\tconst props = {\n\t\t\toptions: dummyOptions,\n\t\t\tvalue: dummyOptions.slice(0, selectedCount),\n\t\t\ttrigger: {\n\t\t\t\tplaceholder: 'Select several technicians',\n\t\t\t\trows: 0,\n\t\t\t},\n\t\t\tmultiple: true,\n\t\t};\n\t\tconst { getByText } = render(<AnvilSelect {...props} />);\n\n\t\texpect(getByText(`${selectedCount} selected`)).toBeInTheDocument();\n\t});\n\n\tit.skip('should pass through data automation attributes', () => {\n\t\tconst selectedCount = 1;\n\t\tconst props = {\n\t\t\toptions: dummyOptions,\n\t\t\tvalue: dummyOptions.slice(0, selectedCount),\n\t\t\ttrigger: {\n\t\t\t\tplaceholder: 'Select several technicians',\n\t\t\t\trows: 0,\n\t\t\t},\n\t\t\tmultiple: true,\n\t\t};\n\n\t\tconst { container } = render(\n\t\t\t<AnvilSelect {...props} data-auto-sel=\"automation-selector\" />\n\t\t);\n\n\t\tconst element = container.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\n\t\texpect(element).not.toBeNull();\n\t});\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrillIn.js","sourceRoot":"","sources":["../../../../src/components/AnvilSelect/components/DrillIn.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrillIn.js","sourceRoot":"","sources":["../../../../src/components/AnvilSelect/components/DrillIn.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { BodyText } from '../../BodyText';\nimport { Button } from '../../Button';\nimport { Stack } from '../../Stack';\nimport { Icon } from '../../Icon';\nimport { FocusActionType, FocusContext } from '../utils';\nimport { keys } from '../../../utilities/keyCodes';\n\nexport interface SelectDrillInProps {\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Function that closes the select when the user clicks on the action button */\n\tcloseSelectHandler?: () => void;\n\n\t/** Blank canvas for Drill-in content */\n\tcontent?: React.ReactNode;\n\n\t/** Text for the action button */\n\tfooterActionName?: string;\n\n\t/** Function that fires when the user clicks on the button */\n\tfooterOnActionClick?: (e: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/** If passed an onBack function, <Takeover.Header> gets a Back button in the top left */\n\tonBack?: (e: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/** Visually display the drill-in from an opened Select */\n\topen?: boolean;\n\n\t/** The drill-in focuses on open. Setting to false prevents the focus */\n\tpreventFocus?: boolean;\n\n\t/** Name of the drill-in page */\n\ttitle?: string;\n}\n\nexport const SelectDrillInHeader: FC<SelectDrillInProps> = ({\n\tclassName,\n\tonBack,\n\ttitle,\n\tcloseSelectHandler,\n\tpreventFocus,\n}) => {\n\tconst SelectDrillInHeaderClassNames = classnames(\n\t\tclassName,\n\t\t'SelectDrillIn__header'\n\t);\n\n\tconst focusContext = React.useContext(FocusContext);\n\tconst { focusDispatch } = focusContext;\n\tconst backButtonRef = React.useRef(null);\n\n\tReact.useEffect(() => {\n\t\tif (!preventFocus) backButtonRef.current?.focus();\n\t}, [backButtonRef, preventFocus]);\n\n\tconst handleKeyDown = (e: React.KeyboardEvent<HTMLSpanElement>) => {\n\t\tif (e.key === keys.enter || e.key === keys.esc) {\n\t\t\tonBack(e);\n\t\t\tfocusDispatch({\n\t\t\t\ttype: FocusActionType.SetFocus,\n\t\t\t\tpayload: { filterFocus: true },\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === keys.tab && e.shiftKey) {\n\t\t\tonBack(e);\n\t\t\tcloseSelectHandler();\n\t\t}\n\t};\n\n\treturn (\n\t\t<Stack className={SelectDrillInHeaderClassNames} alignItems=\"center\">\n\t\t\t<span\n\t\t\t\tclassName=\"Select__focus\"\n\t\t\t\ttabIndex={0}\n\t\t\t\tref={backButtonRef}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"BackLink__back-icon cursor-pointer SelectDrillIn__back\"\n\t\t\t\t\tname=\"chevron_left\"\n\t\t\t\t\tonClick={onBack}\n\t\t\t\t\tsize=\"20px\"\n\t\t\t\t/>\n\t\t\t</span>\n\t\t\t{title && (\n\t\t\t\t<BodyText\n\t\t\t\t\tclassName=\"SelectDrillIn__title ff-display lh-1 ta-center flex-grow-1\"\n\t\t\t\t\tbold\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t{title}\n\t\t\t\t</BodyText>\n\t\t\t)}\n\t\t</Stack>\n\t);\n};\n\nexport const SelectDrillInFooter: FC<SelectDrillInProps> = ({\n\tclassName,\n\tfooterActionName,\n\tfooterOnActionClick,\n\tcloseSelectHandler,\n\tonBack,\n}) => {\n\tconst SelectDrillInFooterClassNames = classnames(\n\t\tclassName,\n\t\t'AnvilDropdown__footer w-100'\n\t);\n\n\tconst hasAction = !!(footerActionName && footerOnActionClick);\n\n\tconst handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n\t\tif (e.key === keys.enter) {\n\t\t\tfooterOnActionClick(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === keys.tab && !e.shiftKey) {\n\t\t\tonBack(e);\n\t\t\tcloseSelectHandler();\n\t\t}\n\t};\n\n\tif (!hasAction) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Stack\n\t\t\talignItems=\"center\"\n\t\t\tjustifyContent=\"flex-end\"\n\t\t\tclassName={SelectDrillInFooterClassNames}\n\t\t>\n\t\t\t<Button\n\t\t\t\tprimary\n\t\t\t\txsmall\n\t\t\t\tonClick={footerOnActionClick}\n\t\t\t\tclassName=\"Select__focus\"\n\t\t\t\ttabIndex={0}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t>\n\t\t\t\t{footerActionName}\n\t\t\t</Button>\n\t\t</Stack>\n\t);\n};\n\nexport const SelectDrillInContent: FC<SelectDrillInProps> = ({\n\tclassName,\n\tcontent,\n}) => {\n\treturn <div className={className}>{content}</div>;\n};\n"]}
@@ -1,6 +1,7 @@
1
- import { FC } from 'react';
1
+ import React, { FC } from 'react';
2
2
  import { AnvilSelectSearchProps, AnvilSelectHeaderProps, AnvilSelectOptionsProps } from './';
3
3
  interface FocusProviderProps {
4
+ children?: React.ReactNode;
4
5
  search?: AnvilSelectSearchProps;
5
6
  header?: AnvilSelectHeaderProps;
6
7
  options?: AnvilSelectOptionsProps[];
@@ -1 +1 @@
1
- {"version":3,"file":"FocusProvider.js","sourceRoot":"","sources":["../../../../src/components/AnvilSelect/components/FocusProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAcvE,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EACrD,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,YAAY,GACZ,EAAE,EAAE;IACJ,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEvE,OAAO,CACN,oBAAC,YAAY,CAAC,QAAQ,IACrB,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAEpD,QAAQ,CACc,CACxB,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"FocusProvider.js","sourceRoot":"","sources":["../../../../src/components/AnvilSelect/components/FocusProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAevE,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EACrD,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,YAAY,GACZ,EAAE,EAAE;IACJ,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEvE,OAAO,CACN,oBAAC,YAAY,CAAC,QAAQ,IACrB,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAEpD,QAAQ,CACc,CACxB,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport { focusReducer, getInitialState, FocusContext } from '../utils';\nimport {\n\tAnvilSelectSearchProps,\n\tAnvilSelectHeaderProps,\n\tAnvilSelectOptionsProps,\n} from './';\n\ninterface FocusProviderProps {\n\tchildren?: React.ReactNode;\n\tsearch?: AnvilSelectSearchProps;\n\theader?: AnvilSelectHeaderProps;\n\toptions?: AnvilSelectOptionsProps[];\n\tpreventFocus?: boolean;\n}\n\nexport const FocusProvider: FC<FocusProviderProps> = ({\n\tchildren,\n\tsearch,\n\theader,\n\toptions,\n\tpreventFocus,\n}) => {\n\tconst initialState = getInitialState(search, header, options, preventFocus);\n\tconst [state, dispatch] = React.useReducer(focusReducer, initialState);\n\n\treturn (\n\t\t<FocusContext.Provider\n\t\t\tvalue={{ focusState: state, focusDispatch: dispatch }}\n\t\t>\n\t\t\t{children}\n\t\t</FocusContext.Provider>\n\t);\n};\n"]}
@@ -15,7 +15,7 @@ import { BodyText } from '../../BodyText';
15
15
  import { Button } from '../../Button';
16
16
  import { Stack } from '../../Stack';
17
17
  import { Link } from '../../Link';
18
- import { focusFirstOption, FocusContext, FooterAction, FocusActionType, } from '../utils';
18
+ import { focusLastOption, FocusContext, FooterAction, FocusActionType, } from '../utils';
19
19
  import { keys } from '../../../utilities/keyCodes';
20
20
  export const AnvilSelectFooter = React.memo((_a) => {
21
21
  var { actionName, className, selectAll, onActionClick, onSelectAllClick, onSelectNoneClick, closeSelectHandler } = _a, props = __rest(_a, ["actionName", "className", "selectAll", "onActionClick", "onSelectAllClick", "onSelectNoneClick", "closeSelectHandler"]);
@@ -70,7 +70,7 @@ export const AnvilSelectFooter = React.memo((_a) => {
70
70
  ((_b = target.textContent) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== actionName) ||
71
71
  (!selectAll && hasAction)) {
72
72
  e.preventDefault();
73
- focusFirstOption(target, closeSelectHandler);
73
+ focusLastOption(target, closeSelectHandler);
74
74
  return;
75
75
  }
76
76
  }
@@ -91,10 +91,10 @@ export const AnvilSelectFooter = React.memo((_a) => {
91
91
  return (React.createElement(Stack, Object.assign({ alignItems: "center", justifyContent: "space-between", className: AnvilSelectFooterClassNames, onKeyDown: handleKeyDown }, props),
92
92
  selectAll && (React.createElement(BodyText, { size: "small", subdued: true },
93
93
  "Select",
94
- React.createElement(Link, { primary: true, className: "m-l-1", onClick: onSelectAllClick },
95
- React.createElement("span", { ref: selectAllRef, tabIndex: 0, className: "Select__focus all" }, "All")),
96
- React.createElement(Link, { primary: true, className: "m-l-1", onClick: onSelectNoneClick },
97
- React.createElement("span", { ref: selectNoneRef, tabIndex: 0, className: "Select__focus none" }, "None")))),
94
+ React.createElement(Link, { primary: true, className: "m-l-1", onClick: onSelectAllClick, tabIndex: 0 },
95
+ React.createElement("span", { ref: selectAllRef, className: "Select__focus all" }, "All")),
96
+ React.createElement(Link, { primary: true, className: "m-l-1", onClick: onSelectNoneClick, tabIndex: 0 },
97
+ React.createElement("span", { ref: selectNoneRef, className: "Select__focus none" }, "None")))),
98
98
  hasAction && (React.createElement(Button, { primary: true, xsmall: true, onClick: handleOnActionClick, className: "Select__focus m-l-auto", tabIndex: 0 }, actionName))));
99
99
  });
100
100
  //# sourceMappingURL=SelectFooter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectFooter.js","sourceRoot":"","sources":["../../../../src/components/AnvilSelect/components/SelectFooter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectFooter.js","sourceRoot":"","sources":["../../../../src/components/AnvilSelect/components/SelectFooter.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { BodyText } from '../../BodyText';\nimport { Button } from '../../Button';\nimport { Stack } from '../../Stack';\nimport { Link } from '../../Link';\nimport {\n\tfocusLastOption,\n\tFocusContext,\n\tFooterAction,\n\tFocusActionType,\n} from '../utils';\nimport { keys } from '../../../utilities/keyCodes';\n\nexport interface AnvilSelectFooterProps {\n\t/** Text for the action button */\n\tactionName?: string;\n\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Enables select all for the entire Select */\n\tselectAll?: boolean;\n\n\t/** Function that fires when the user clicks on the button */\n\tonActionClick?: (e: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/** Function that fires when the user clicks on the Select All button */\n\tonSelectAllClick?: (e: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/** Function that fires when the user clicks on the Select None button */\n\tonSelectNoneClick?: (e: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/** Function that closes the select when the user clicks on the action button */\n\tcloseSelectHandler?: () => void;\n}\n\nexport const AnvilSelectFooter: FC<AnvilSelectFooterProps> = React.memo(\n\t({\n\t\tactionName,\n\t\tclassName,\n\t\tselectAll,\n\t\tonActionClick,\n\t\tonSelectAllClick,\n\t\tonSelectNoneClick,\n\t\tcloseSelectHandler,\n\t\t...props\n\t}) => {\n\t\tconst AnvilSelectFooterClassNames = classnames(\n\t\t\t'Select__footer w-100',\n\t\t\tclassName\n\t\t);\n\t\tconst hasAction = !!(actionName && onActionClick);\n\n\t\tconst handleOnActionClick = (e: React.SyntheticEvent<HTMLElement>) => {\n\t\t\tcloseSelectHandler();\n\t\t\tonActionClick(e);\n\t\t};\n\n\t\tconst { focusState, focusDispatch } = React.useContext(FocusContext);\n\t\tconst { actionFocus } = focusState;\n\t\tconst selectAllRef = React.useRef(null);\n\t\tconst selectNoneRef = React.useRef(null);\n\n\t\tReact.useEffect(() => {\n\t\t\tif (actionFocus === FooterAction.SelectAll) {\n\t\t\t\tselectAllRef.current?.focus();\n\t\t\t}\n\t\t\tif (actionFocus === FooterAction.SelectNone) {\n\t\t\t\tselectNoneRef.current?.focus();\n\t\t\t}\n\t\t}, [actionFocus]);\n\n\t\tconst handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tif (e.key === keys.enter) {\n\t\t\t\tif (target.classList.contains('all')) {\n\t\t\t\t\tonSelectAllClick(e);\n\t\t\t\t\tfocusDispatch({\n\t\t\t\t\t\ttype: FocusActionType.SetFocus,\n\t\t\t\t\t\tpayload: { actionFocus: FooterAction.SelectAll },\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (target.classList.contains('none')) {\n\t\t\t\t\tonSelectNoneClick(e);\n\t\t\t\t\tfocusDispatch({\n\t\t\t\t\t\ttype: FocusActionType.SetFocus,\n\t\t\t\t\t\tpayload: { actionFocus: FooterAction.SelectNone },\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tactionName &&\n\t\t\t\t\ttarget.textContent?.toLowerCase() === actionName\n\t\t\t\t) {\n\t\t\t\t\thandleOnActionClick(e);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (e.key === keys.tab && e.shiftKey) {\n\t\t\t\tif (\n\t\t\t\t\t(selectAll &&\n\t\t\t\t\t\t!target.parentElement.previousElementSibling &&\n\t\t\t\t\t\ttarget.textContent?.toLowerCase() !== actionName) ||\n\t\t\t\t\t(!selectAll && hasAction)\n\t\t\t\t) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfocusLastOption(target, closeSelectHandler);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (e.key === keys.esc) {\n\t\t\t\te.preventDefault();\n\t\t\t\tcloseSelectHandler();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (e.key === keys.tab && !e.shiftKey) {\n\t\t\t\tif (\n\t\t\t\t\t(actionName &&\n\t\t\t\t\t\ttarget.textContent?.toLowerCase() === actionName) ||\n\t\t\t\t\t(!actionName && target.classList.contains('none'))\n\t\t\t\t) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tcloseSelectHandler();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<Stack\n\t\t\t\talignItems=\"center\"\n\t\t\t\tjustifyContent=\"space-between\"\n\t\t\t\tclassName={AnvilSelectFooterClassNames}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{selectAll && (\n\t\t\t\t\t<BodyText size=\"small\" subdued>\n\t\t\t\t\t\tSelect\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tprimary\n\t\t\t\t\t\t\tclassName=\"m-l-1\"\n\t\t\t\t\t\t\tonClick={onSelectAllClick}\n\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tref={selectAllRef}\n\t\t\t\t\t\t\t\tclassName=\"Select__focus all\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tAll\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tprimary\n\t\t\t\t\t\t\tclassName=\"m-l-1\"\n\t\t\t\t\t\t\tonClick={onSelectNoneClick}\n\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tref={selectNoneRef}\n\t\t\t\t\t\t\t\tclassName=\"Select__focus none\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tNone\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</BodyText>\n\t\t\t\t)}\n\t\t\t\t{hasAction && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tprimary\n\t\t\t\t\t\txsmall\n\t\t\t\t\t\tonClick={handleOnActionClick}\n\t\t\t\t\t\tclassName=\"Select__focus m-l-auto\"\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t>\n\t\t\t\t\t\t{actionName}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t</Stack>\n\t\t);\n\t}\n);\n"]}