@homebound/beam 2.378.1 → 2.379.1

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 (744) hide show
  1. package/dist/chunk-ZQBDHF22.js +95 -0
  2. package/dist/chunk-ZQBDHF22.js.map +1 -0
  3. package/dist/index.cjs +17756 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/{components/internal/DatePicker/DatePicker.css → index.css} +14 -72
  6. package/dist/index.css.map +1 -0
  7. package/dist/index.d.cts +8051 -0
  8. package/dist/index.d.ts +8051 -10
  9. package/dist/index.js +17429 -25
  10. package/dist/index.js.map +1 -0
  11. package/dist/utils/rtlUtils.cjs +226 -0
  12. package/dist/utils/rtlUtils.cjs.map +1 -0
  13. package/dist/utils/rtlUtils.d.cts +34 -0
  14. package/dist/utils/rtlUtils.d.ts +34 -0
  15. package/dist/utils/rtlUtils.js +188 -0
  16. package/dist/utils/rtlUtils.js.map +1 -0
  17. package/package.json +54 -40
  18. package/dist/Css.d.ts +0 -4407
  19. package/dist/Css.d.ts.map +0 -1
  20. package/dist/Css.js +0 -3988
  21. package/dist/components/Accordion.d.ts +0 -32
  22. package/dist/components/Accordion.d.ts.map +0 -1
  23. package/dist/components/Accordion.js +0 -69
  24. package/dist/components/AccordionList.d.ts +0 -12
  25. package/dist/components/AccordionList.d.ts.map +0 -1
  26. package/dist/components/AccordionList.js +0 -14
  27. package/dist/components/AutoSaveIndicator.d.ts +0 -7
  28. package/dist/components/AutoSaveIndicator.d.ts.map +0 -1
  29. package/dist/components/AutoSaveIndicator.js +0 -45
  30. package/dist/components/AutoSaveStatus/AutoSaveStatusProvider.d.ts +0 -25
  31. package/dist/components/AutoSaveStatus/AutoSaveStatusProvider.d.ts.map +0 -1
  32. package/dist/components/AutoSaveStatus/AutoSaveStatusProvider.js +0 -89
  33. package/dist/components/AutoSaveStatus/index.d.ts +0 -3
  34. package/dist/components/AutoSaveStatus/index.d.ts.map +0 -1
  35. package/dist/components/AutoSaveStatus/index.js +0 -9
  36. package/dist/components/AutoSaveStatus/useAutoSaveStatus.d.ts +0 -12
  37. package/dist/components/AutoSaveStatus/useAutoSaveStatus.d.ts.map +0 -1
  38. package/dist/components/AutoSaveStatus/useAutoSaveStatus.js +0 -18
  39. package/dist/components/Avatar/Avatar.d.ts +0 -10
  40. package/dist/components/Avatar/Avatar.d.ts.map +0 -1
  41. package/dist/components/Avatar/Avatar.js +0 -50
  42. package/dist/components/Avatar/AvatarButton.d.ts +0 -32
  43. package/dist/components/Avatar/AvatarButton.d.ts.map +0 -1
  44. package/dist/components/Avatar/AvatarButton.js +0 -57
  45. package/dist/components/Avatar/AvatarGroup.d.ts +0 -10
  46. package/dist/components/Avatar/AvatarGroup.d.ts.map +0 -1
  47. package/dist/components/Avatar/AvatarGroup.js +0 -24
  48. package/dist/components/Avatar/index.d.ts +0 -4
  49. package/dist/components/Avatar/index.d.ts.map +0 -1
  50. package/dist/components/Avatar/index.js +0 -19
  51. package/dist/components/Banner.d.ts +0 -10
  52. package/dist/components/Banner.d.ts.map +0 -1
  53. package/dist/components/Banner.js +0 -27
  54. package/dist/components/BeamContext.d.ts +0 -32
  55. package/dist/components/BeamContext.d.ts.map +0 -1
  56. package/dist/components/BeamContext.js +0 -86
  57. package/dist/components/Button.d.ts +0 -26
  58. package/dist/components/Button.d.ts.map +0 -1
  59. package/dist/components/Button.js +0 -148
  60. package/dist/components/ButtonDatePicker.d.ts +0 -8
  61. package/dist/components/ButtonDatePicker.d.ts.map +0 -1
  62. package/dist/components/ButtonDatePicker.js +0 -29
  63. package/dist/components/ButtonGroup.d.ts +0 -25
  64. package/dist/components/ButtonGroup.d.ts.map +0 -1
  65. package/dist/components/ButtonGroup.js +0 -66
  66. package/dist/components/ButtonMenu.d.ts +0 -42
  67. package/dist/components/ButtonMenu.d.ts.map +0 -1
  68. package/dist/components/ButtonMenu.js +0 -33
  69. package/dist/components/ButtonModal.d.ts +0 -12
  70. package/dist/components/ButtonModal.d.ts.map +0 -1
  71. package/dist/components/ButtonModal.js +0 -25
  72. package/dist/components/Chip.d.ts +0 -16
  73. package/dist/components/Chip.d.ts.map +0 -1
  74. package/dist/components/Chip.js +0 -46
  75. package/dist/components/Chips.d.ts +0 -16
  76. package/dist/components/Chips.d.ts.map +0 -1
  77. package/dist/components/Chips.js +0 -20
  78. package/dist/components/Copy.d.ts +0 -5
  79. package/dist/components/Copy.d.ts.map +0 -1
  80. package/dist/components/Copy.js +0 -11
  81. package/dist/components/CssReset.d.ts +0 -6
  82. package/dist/components/CssReset.d.ts.map +0 -1
  83. package/dist/components/CssReset.js +0 -764
  84. package/dist/components/DnDGrid/DnDGrid.d.ts +0 -16
  85. package/dist/components/DnDGrid/DnDGrid.d.ts.map +0 -1
  86. package/dist/components/DnDGrid/DnDGrid.js +0 -234
  87. package/dist/components/DnDGrid/DnDGridContext.d.ts +0 -9
  88. package/dist/components/DnDGrid/DnDGridContext.d.ts.map +0 -1
  89. package/dist/components/DnDGrid/DnDGridContext.js +0 -12
  90. package/dist/components/DnDGrid/DnDGridItemHandle.d.ts +0 -11
  91. package/dist/components/DnDGrid/DnDGridItemHandle.d.ts.map +0 -1
  92. package/dist/components/DnDGrid/DnDGridItemHandle.js +0 -21
  93. package/dist/components/DnDGrid/index.d.ts +0 -7
  94. package/dist/components/DnDGrid/index.d.ts.map +0 -1
  95. package/dist/components/DnDGrid/index.js +0 -9
  96. package/dist/components/DnDGrid/useDnDGridItem.d.ts +0 -18
  97. package/dist/components/DnDGrid/useDnDGridItem.d.ts.map +0 -1
  98. package/dist/components/DnDGrid/useDnDGridItem.js +0 -33
  99. package/dist/components/Filters/BaseFilter.d.ts +0 -21
  100. package/dist/components/Filters/BaseFilter.d.ts.map +0 -1
  101. package/dist/components/Filters/BaseFilter.js +0 -31
  102. package/dist/components/Filters/BooleanFilter.d.ts +0 -9
  103. package/dist/components/Filters/BooleanFilter.d.ts.map +0 -1
  104. package/dist/components/Filters/BooleanFilter.js +0 -27
  105. package/dist/components/Filters/CheckboxFilter.d.ts +0 -20
  106. package/dist/components/Filters/CheckboxFilter.d.ts.map +0 -1
  107. package/dist/components/Filters/CheckboxFilter.js +0 -35
  108. package/dist/components/Filters/DateFilter.d.ts +0 -16
  109. package/dist/components/Filters/DateFilter.d.ts.map +0 -1
  110. package/dist/components/Filters/DateFilter.js +0 -26
  111. package/dist/components/Filters/DateRangeFilter.d.ts +0 -16
  112. package/dist/components/Filters/DateRangeFilter.d.ts.map +0 -1
  113. package/dist/components/Filters/DateRangeFilter.js +0 -21
  114. package/dist/components/Filters/FilterModal.d.ts +0 -14
  115. package/dist/components/Filters/FilterModal.d.ts.map +0 -1
  116. package/dist/components/Filters/FilterModal.js +0 -28
  117. package/dist/components/Filters/Filters.d.ts +0 -29
  118. package/dist/components/Filters/Filters.d.ts.map +0 -1
  119. package/dist/components/Filters/Filters.js +0 -43
  120. package/dist/components/Filters/MultiFilter.d.ts +0 -10
  121. package/dist/components/Filters/MultiFilter.d.ts.map +0 -1
  122. package/dist/components/Filters/MultiFilter.js +0 -40
  123. package/dist/components/Filters/NumberRangeFilter.d.ts +0 -14
  124. package/dist/components/Filters/NumberRangeFilter.d.ts.map +0 -1
  125. package/dist/components/Filters/NumberRangeFilter.js +0 -35
  126. package/dist/components/Filters/SingleFilter.d.ts +0 -10
  127. package/dist/components/Filters/SingleFilter.d.ts.map +0 -1
  128. package/dist/components/Filters/SingleFilter.js +0 -20
  129. package/dist/components/Filters/ToggleFilter.d.ts +0 -20
  130. package/dist/components/Filters/ToggleFilter.d.ts.map +0 -1
  131. package/dist/components/Filters/ToggleFilter.js +0 -35
  132. package/dist/components/Filters/TreeFilter.d.ts +0 -15
  133. package/dist/components/Filters/TreeFilter.d.ts.map +0 -1
  134. package/dist/components/Filters/TreeFilter.js +0 -18
  135. package/dist/components/Filters/index.d.ts +0 -17
  136. package/dist/components/Filters/index.d.ts.map +0 -1
  137. package/dist/components/Filters/index.js +0 -41
  138. package/dist/components/Filters/testDomain.d.ts +0 -81
  139. package/dist/components/Filters/testDomain.d.ts.map +0 -1
  140. package/dist/components/Filters/testDomain.js +0 -66
  141. package/dist/components/Filters/types.d.ts +0 -26
  142. package/dist/components/Filters/types.d.ts.map +0 -1
  143. package/dist/components/Filters/types.js +0 -2
  144. package/dist/components/Filters/utils.d.ts +0 -3
  145. package/dist/components/Filters/utils.d.ts.map +0 -1
  146. package/dist/components/Filters/utils.js +0 -14
  147. package/dist/components/Grid/ResponsiveGrid.d.ts +0 -7
  148. package/dist/components/Grid/ResponsiveGrid.d.ts.map +0 -1
  149. package/dist/components/Grid/ResponsiveGrid.js +0 -11
  150. package/dist/components/Grid/ResponsiveGridItem.d.ts +0 -8
  151. package/dist/components/Grid/ResponsiveGridItem.d.ts.map +0 -1
  152. package/dist/components/Grid/ResponsiveGridItem.js +0 -11
  153. package/dist/components/Grid/index.d.ts +0 -8
  154. package/dist/components/Grid/index.d.ts.map +0 -1
  155. package/dist/components/Grid/index.js +0 -11
  156. package/dist/components/Grid/useResponsiveGrid.d.ts +0 -14
  157. package/dist/components/Grid/useResponsiveGrid.d.ts.map +0 -1
  158. package/dist/components/Grid/useResponsiveGrid.js +0 -47
  159. package/dist/components/Grid/useResponsiveGridItem.d.ts +0 -8
  160. package/dist/components/Grid/useResponsiveGridItem.d.ts.map +0 -1
  161. package/dist/components/Grid/useResponsiveGridItem.js +0 -7
  162. package/dist/components/Grid/utils.d.ts +0 -2
  163. package/dist/components/Grid/utils.d.ts.map +0 -1
  164. package/dist/components/Grid/utils.js +0 -4
  165. package/dist/components/HbLoadingSpinner.base64.d.ts +0 -3
  166. package/dist/components/HbLoadingSpinner.base64.d.ts.map +0 -1
  167. package/dist/components/HbLoadingSpinner.base64.js +0 -3
  168. package/dist/components/HbLoadingSpinner.d.ts +0 -27
  169. package/dist/components/HbLoadingSpinner.d.ts.map +0 -1
  170. package/dist/components/HbLoadingSpinner.js +0 -74
  171. package/dist/components/HelperText.d.ts +0 -9
  172. package/dist/components/HelperText.d.ts.map +0 -1
  173. package/dist/components/HelperText.js +0 -12
  174. package/dist/components/Icon.d.ts +0 -181
  175. package/dist/components/Icon.d.ts.map +0 -1
  176. package/dist/components/Icon.js +0 -189
  177. package/dist/components/IconButton.d.ts +0 -32
  178. package/dist/components/IconButton.d.ts.map +0 -1
  179. package/dist/components/IconButton.js +0 -65
  180. package/dist/components/Label.d.ts +0 -22
  181. package/dist/components/Label.d.ts.map +0 -1
  182. package/dist/components/Label.js +0 -29
  183. package/dist/components/Layout/FullBleed.d.ts +0 -7
  184. package/dist/components/Layout/FullBleed.d.ts.map +0 -1
  185. package/dist/components/Layout/FullBleed.js +0 -15
  186. package/dist/components/Layout/PreventBrowserScroll.d.ts +0 -4
  187. package/dist/components/Layout/PreventBrowserScroll.d.ts.map +0 -1
  188. package/dist/components/Layout/PreventBrowserScroll.js +0 -13
  189. package/dist/components/Layout/RightPaneLayout/RightPaneContext.d.ts +0 -17
  190. package/dist/components/Layout/RightPaneLayout/RightPaneContext.d.ts.map +0 -1
  191. package/dist/components/Layout/RightPaneLayout/RightPaneContext.js +0 -53
  192. package/dist/components/Layout/RightPaneLayout/RightPaneLayout.d.ts +0 -9
  193. package/dist/components/Layout/RightPaneLayout/RightPaneLayout.d.ts.map +0 -1
  194. package/dist/components/Layout/RightPaneLayout/RightPaneLayout.js +0 -29
  195. package/dist/components/Layout/RightPaneLayout/index.d.ts +0 -4
  196. package/dist/components/Layout/RightPaneLayout/index.d.ts.map +0 -1
  197. package/dist/components/Layout/RightPaneLayout/index.js +0 -19
  198. package/dist/components/Layout/RightPaneLayout/useRightPane.d.ts +0 -9
  199. package/dist/components/Layout/RightPaneLayout/useRightPane.d.ts.map +0 -1
  200. package/dist/components/Layout/RightPaneLayout/useRightPane.js +0 -11
  201. package/dist/components/Layout/ScrollableContent.d.ts +0 -20
  202. package/dist/components/Layout/ScrollableContent.d.ts.map +0 -1
  203. package/dist/components/Layout/ScrollableContent.js +0 -37
  204. package/dist/components/Layout/ScrollableParent.d.ts +0 -47
  205. package/dist/components/Layout/ScrollableParent.d.ts.map +0 -1
  206. package/dist/components/Layout/ScrollableParent.js +0 -69
  207. package/dist/components/Layout/index.d.ts +0 -6
  208. package/dist/components/Layout/index.d.ts.map +0 -1
  209. package/dist/components/Layout/index.js +0 -21
  210. package/dist/components/Loader.d.ts +0 -7
  211. package/dist/components/Loader.d.ts.map +0 -1
  212. package/dist/components/Loader.js +0 -27
  213. package/dist/components/LoadingSkeleton.d.ts +0 -11
  214. package/dist/components/LoadingSkeleton.d.ts.map +0 -1
  215. package/dist/components/LoadingSkeleton.js +0 -29
  216. package/dist/components/MaxLines.d.ts +0 -6
  217. package/dist/components/MaxLines.d.ts.map +0 -1
  218. package/dist/components/MaxLines.js +0 -36
  219. package/dist/components/Modal/Modal.d.ts +0 -57
  220. package/dist/components/Modal/Modal.d.ts.map +0 -1
  221. package/dist/components/Modal/Modal.js +0 -122
  222. package/dist/components/Modal/ModalContext.d.ts +0 -12
  223. package/dist/components/Modal/ModalContext.d.ts.map +0 -1
  224. package/dist/components/Modal/ModalContext.js +0 -15
  225. package/dist/components/Modal/OpenModal.d.ts +0 -30
  226. package/dist/components/Modal/OpenModal.d.ts.map +0 -1
  227. package/dist/components/Modal/OpenModal.js +0 -41
  228. package/dist/components/Modal/TestModalContent.d.ts +0 -14
  229. package/dist/components/Modal/TestModalContent.d.ts.map +0 -1
  230. package/dist/components/Modal/TestModalContent.js +0 -60
  231. package/dist/components/Modal/index.d.ts +0 -5
  232. package/dist/components/Modal/index.d.ts.map +0 -1
  233. package/dist/components/Modal/index.js +0 -24
  234. package/dist/components/Modal/useModal.d.ts +0 -11
  235. package/dist/components/Modal/useModal.d.ts.map +0 -1
  236. package/dist/components/Modal/useModal.js +0 -50
  237. package/dist/components/NavLink.d.ts +0 -32
  238. package/dist/components/NavLink.d.ts.map +0 -1
  239. package/dist/components/NavLink.js +0 -62
  240. package/dist/components/Pagination.d.ts +0 -27
  241. package/dist/components/Pagination.d.ts.map +0 -1
  242. package/dist/components/Pagination.js +0 -54
  243. package/dist/components/PresentationContext.d.ts +0 -44
  244. package/dist/components/PresentationContext.d.ts.map +0 -1
  245. package/dist/components/PresentationContext.js +0 -23
  246. package/dist/components/ScrollShadows.d.ts +0 -14
  247. package/dist/components/ScrollShadows.d.ts.map +0 -1
  248. package/dist/components/ScrollShadows.js +0 -57
  249. package/dist/components/Snackbar/Snackbar.d.ts +0 -11
  250. package/dist/components/Snackbar/Snackbar.d.ts.map +0 -1
  251. package/dist/components/Snackbar/Snackbar.js +0 -14
  252. package/dist/components/Snackbar/SnackbarContext.d.ts +0 -12
  253. package/dist/components/Snackbar/SnackbarContext.d.ts.map +0 -1
  254. package/dist/components/Snackbar/SnackbarContext.js +0 -18
  255. package/dist/components/Snackbar/SnackbarNotice.d.ts +0 -20
  256. package/dist/components/Snackbar/SnackbarNotice.d.ts.map +0 -1
  257. package/dist/components/Snackbar/SnackbarNotice.js +0 -24
  258. package/dist/components/Snackbar/index.d.ts +0 -2
  259. package/dist/components/Snackbar/index.d.ts.map +0 -1
  260. package/dist/components/Snackbar/index.js +0 -5
  261. package/dist/components/Snackbar/useSnackbar.d.ts +0 -22
  262. package/dist/components/Snackbar/useSnackbar.d.ts.map +0 -1
  263. package/dist/components/Snackbar/useSnackbar.js +0 -61
  264. package/dist/components/Stepper.d.ts +0 -13
  265. package/dist/components/Stepper.d.ts.map +0 -1
  266. package/dist/components/Stepper.js +0 -63
  267. package/dist/components/SuperDrawer/ConfirmCloseModal.d.ts +0 -9
  268. package/dist/components/SuperDrawer/ConfirmCloseModal.d.ts.map +0 -1
  269. package/dist/components/SuperDrawer/ConfirmCloseModal.js +0 -22
  270. package/dist/components/SuperDrawer/SuperDrawer.d.ts +0 -23
  271. package/dist/components/SuperDrawer/SuperDrawer.d.ts.map +0 -1
  272. package/dist/components/SuperDrawer/SuperDrawer.js +0 -76
  273. package/dist/components/SuperDrawer/SuperDrawerContent.d.ts +0 -22
  274. package/dist/components/SuperDrawer/SuperDrawerContent.d.ts.map +0 -1
  275. package/dist/components/SuperDrawer/SuperDrawerContent.js +0 -41
  276. package/dist/components/SuperDrawer/components/SuperDrawerHeader.d.ts +0 -14
  277. package/dist/components/SuperDrawer/components/SuperDrawerHeader.d.ts.map +0 -1
  278. package/dist/components/SuperDrawer/components/SuperDrawerHeader.js +0 -25
  279. package/dist/components/SuperDrawer/index.d.ts +0 -6
  280. package/dist/components/SuperDrawer/index.d.ts.map +0 -1
  281. package/dist/components/SuperDrawer/index.js +0 -22
  282. package/dist/components/SuperDrawer/useSuperDrawer.d.ts +0 -53
  283. package/dist/components/SuperDrawer/useSuperDrawer.d.ts.map +0 -1
  284. package/dist/components/SuperDrawer/useSuperDrawer.js +0 -148
  285. package/dist/components/SuperDrawer/utils.d.ts +0 -5
  286. package/dist/components/SuperDrawer/utils.d.ts.map +0 -1
  287. package/dist/components/SuperDrawer/utils.js +0 -8
  288. package/dist/components/Table/GridTable.d.ts +0 -166
  289. package/dist/components/Table/GridTable.d.ts.map +0 -1
  290. package/dist/components/Table/GridTable.js +0 -461
  291. package/dist/components/Table/GridTableApi.d.ts +0 -108
  292. package/dist/components/Table/GridTableApi.d.ts.map +0 -1
  293. package/dist/components/Table/GridTableApi.js +0 -202
  294. package/dist/components/Table/TableActions.d.ts +0 -13
  295. package/dist/components/Table/TableActions.d.ts.map +0 -1
  296. package/dist/components/Table/TableActions.js +0 -11
  297. package/dist/components/Table/TableStyles.d.ts +0 -118
  298. package/dist/components/Table/TableStyles.d.ts.map +0 -1
  299. package/dist/components/Table/TableStyles.js +0 -133
  300. package/dist/components/Table/components/CollapseToggle.d.ts +0 -7
  301. package/dist/components/Table/components/CollapseToggle.d.ts.map +0 -1
  302. package/dist/components/Table/components/CollapseToggle.js +0 -23
  303. package/dist/components/Table/components/EditColumnsButton.d.ts +0 -12
  304. package/dist/components/Table/components/EditColumnsButton.d.ts.map +0 -1
  305. package/dist/components/Table/components/EditColumnsButton.js +0 -49
  306. package/dist/components/Table/components/ExpandableHeader.d.ts +0 -12
  307. package/dist/components/Table/components/ExpandableHeader.d.ts.map +0 -1
  308. package/dist/components/Table/components/ExpandableHeader.js +0 -35
  309. package/dist/components/Table/components/KeptGroupRow.d.ts +0 -11
  310. package/dist/components/Table/components/KeptGroupRow.d.ts.map +0 -1
  311. package/dist/components/Table/components/KeptGroupRow.js +0 -21
  312. package/dist/components/Table/components/Row.d.ts +0 -78
  313. package/dist/components/Table/components/Row.d.ts.map +0 -1
  314. package/dist/components/Table/components/Row.js +0 -254
  315. package/dist/components/Table/components/SelectToggle.d.ts +0 -8
  316. package/dist/components/Table/components/SelectToggle.d.ts.map +0 -1
  317. package/dist/components/Table/components/SelectToggle.js +0 -15
  318. package/dist/components/Table/components/SortHeader.d.ts +0 -23
  319. package/dist/components/Table/components/SortHeader.d.ts.map +0 -1
  320. package/dist/components/Table/components/SortHeader.js +0 -37
  321. package/dist/components/Table/components/cell.d.ts +0 -48
  322. package/dist/components/Table/components/cell.d.ts.map +0 -1
  323. package/dist/components/Table/components/cell.js +0 -40
  324. package/dist/components/Table/hooks/useSetupColumnSizes.d.ts +0 -24
  325. package/dist/components/Table/hooks/useSetupColumnSizes.d.ts.map +0 -1
  326. package/dist/components/Table/hooks/useSetupColumnSizes.js +0 -67
  327. package/dist/components/Table/index.d.ts +0 -28
  328. package/dist/components/Table/index.d.ts.map +0 -1
  329. package/dist/components/Table/index.js +0 -57
  330. package/dist/components/Table/types.d.ts +0 -123
  331. package/dist/components/Table/types.d.ts.map +0 -1
  332. package/dist/components/Table/types.js +0 -20
  333. package/dist/components/Table/utils/ColumnState.d.ts +0 -25
  334. package/dist/components/Table/utils/ColumnState.d.ts.map +0 -1
  335. package/dist/components/Table/utils/ColumnState.js +0 -89
  336. package/dist/components/Table/utils/ColumnStates.d.ts +0 -30
  337. package/dist/components/Table/utils/ColumnStates.d.ts.map +0 -1
  338. package/dist/components/Table/utils/ColumnStates.js +0 -84
  339. package/dist/components/Table/utils/ColumnStorage.d.ts +0 -15
  340. package/dist/components/Table/utils/ColumnStorage.d.ts.map +0 -1
  341. package/dist/components/Table/utils/ColumnStorage.js +0 -38
  342. package/dist/components/Table/utils/GridRowLookup.d.ts +0 -34
  343. package/dist/components/Table/utils/GridRowLookup.d.ts.map +0 -1
  344. package/dist/components/Table/utils/GridRowLookup.js +0 -67
  345. package/dist/components/Table/utils/RowState.d.ts +0 -128
  346. package/dist/components/Table/utils/RowState.d.ts.map +0 -1
  347. package/dist/components/Table/utils/RowState.js +0 -351
  348. package/dist/components/Table/utils/RowStates.d.ts +0 -41
  349. package/dist/components/Table/utils/RowStates.d.ts.map +0 -1
  350. package/dist/components/Table/utils/RowStates.js +0 -197
  351. package/dist/components/Table/utils/RowStorage.d.ts +0 -29
  352. package/dist/components/Table/utils/RowStorage.d.ts.map +0 -1
  353. package/dist/components/Table/utils/RowStorage.js +0 -43
  354. package/dist/components/Table/utils/TableState.d.ts +0 -102
  355. package/dist/components/Table/utils/TableState.d.ts.map +0 -1
  356. package/dist/components/Table/utils/TableState.js +0 -267
  357. package/dist/components/Table/utils/columns.d.ts +0 -36
  358. package/dist/components/Table/utils/columns.d.ts.map +0 -1
  359. package/dist/components/Table/utils/columns.js +0 -256
  360. package/dist/components/Table/utils/simpleHelpers.d.ts +0 -31
  361. package/dist/components/Table/utils/simpleHelpers.d.ts.map +0 -1
  362. package/dist/components/Table/utils/simpleHelpers.js +0 -12
  363. package/dist/components/Table/utils/sortRows.d.ts +0 -10
  364. package/dist/components/Table/utils/sortRows.d.ts.map +0 -1
  365. package/dist/components/Table/utils/sortRows.js +0 -109
  366. package/dist/components/Table/utils/utils.d.ts +0 -56
  367. package/dist/components/Table/utils/utils.d.ts.map +0 -1
  368. package/dist/components/Table/utils/utils.js +0 -208
  369. package/dist/components/Table/utils/visitor.d.ts +0 -3
  370. package/dist/components/Table/utils/visitor.d.ts.map +0 -1
  371. package/dist/components/Table/utils/visitor.js +0 -13
  372. package/dist/components/Tabs.d.ts +0 -136
  373. package/dist/components/Tabs.d.ts.map +0 -1
  374. package/dist/components/Tabs.js +0 -162
  375. package/dist/components/Tag.d.ts +0 -18
  376. package/dist/components/Tag.d.ts.map +0 -1
  377. package/dist/components/Tag.js +0 -44
  378. package/dist/components/Toast/Toast.d.ts +0 -2
  379. package/dist/components/Toast/Toast.d.ts.map +0 -1
  380. package/dist/components/Toast/Toast.js +0 -12
  381. package/dist/components/Toast/ToastContext.d.ts +0 -15
  382. package/dist/components/Toast/ToastContext.d.ts.map +0 -1
  383. package/dist/components/Toast/ToastContext.js +0 -23
  384. package/dist/components/Toast/useToast.d.ts +0 -7
  385. package/dist/components/Toast/useToast.d.ts.map +0 -1
  386. package/dist/components/Toast/useToast.js +0 -10
  387. package/dist/components/ToggleChip.d.ts +0 -11
  388. package/dist/components/ToggleChip.d.ts.map +0 -1
  389. package/dist/components/ToggleChip.js +0 -26
  390. package/dist/components/ToggleChips.d.ts +0 -12
  391. package/dist/components/ToggleChips.d.ts.map +0 -1
  392. package/dist/components/ToggleChips.js +0 -13
  393. package/dist/components/Tooltip.d.ts +0 -19
  394. package/dist/components/Tooltip.d.ts.map +0 -1
  395. package/dist/components/Tooltip.js +0 -61
  396. package/dist/components/index.d.ts +0 -51
  397. package/dist/components/index.d.ts.map +0 -1
  398. package/dist/components/index.js +0 -73
  399. package/dist/components/internal/CompoundField.d.ts +0 -5
  400. package/dist/components/internal/CompoundField.d.ts.map +0 -1
  401. package/dist/components/internal/CompoundField.js +0 -30
  402. package/dist/components/internal/ContextualModal.d.ts +0 -8
  403. package/dist/components/internal/ContextualModal.d.ts.map +0 -1
  404. package/dist/components/internal/ContextualModal.js +0 -12
  405. package/dist/components/internal/DatePicker/DatePicker.d.ts +0 -11
  406. package/dist/components/internal/DatePicker/DatePicker.d.ts.map +0 -1
  407. package/dist/components/internal/DatePicker/DatePicker.js +0 -23
  408. package/dist/components/internal/DatePicker/DatePickerOverlay.d.ts +0 -7
  409. package/dist/components/internal/DatePicker/DatePickerOverlay.d.ts.map +0 -1
  410. package/dist/components/internal/DatePicker/DatePickerOverlay.js +0 -9
  411. package/dist/components/internal/DatePicker/DateRangePicker.d.ts +0 -12
  412. package/dist/components/internal/DatePicker/DateRangePicker.d.ts.map +0 -1
  413. package/dist/components/internal/DatePicker/DateRangePicker.js +0 -21
  414. package/dist/components/internal/DatePicker/Day.d.ts +0 -4
  415. package/dist/components/internal/DatePicker/Day.d.ts.map +0 -1
  416. package/dist/components/internal/DatePicker/Day.js +0 -54
  417. package/dist/components/internal/DatePicker/Header.d.ts +0 -4
  418. package/dist/components/internal/DatePicker/Header.d.ts.map +0 -1
  419. package/dist/components/internal/DatePicker/Header.js +0 -20
  420. package/dist/components/internal/DatePicker/WeekHeader.d.ts +0 -2
  421. package/dist/components/internal/DatePicker/WeekHeader.d.ts.map +0 -1
  422. package/dist/components/internal/DatePicker/WeekHeader.js +0 -15
  423. package/dist/components/internal/DatePicker/index.d.ts +0 -4
  424. package/dist/components/internal/DatePicker/index.d.ts.map +0 -1
  425. package/dist/components/internal/DatePicker/index.js +0 -19
  426. package/dist/components/internal/Menu.d.ts +0 -15
  427. package/dist/components/internal/Menu.d.ts.map +0 -1
  428. package/dist/components/internal/Menu.js +0 -71
  429. package/dist/components/internal/MenuItem.d.ts +0 -12
  430. package/dist/components/internal/MenuItem.d.ts.map +0 -1
  431. package/dist/components/internal/MenuItem.js +0 -99
  432. package/dist/components/internal/MenuSection.d.ts +0 -12
  433. package/dist/components/internal/MenuSection.d.ts.map +0 -1
  434. package/dist/components/internal/MenuSection.js +0 -16
  435. package/dist/components/internal/OverlayTrigger.d.ts +0 -47
  436. package/dist/components/internal/OverlayTrigger.d.ts.map +0 -1
  437. package/dist/components/internal/OverlayTrigger.js +0 -54
  438. package/dist/components/internal/Popover.d.ts +0 -12
  439. package/dist/components/internal/Popover.d.ts.map +0 -1
  440. package/dist/components/internal/Popover.js +0 -29
  441. package/dist/components/internal/index.d.ts +0 -6
  442. package/dist/components/internal/index.d.ts.map +0 -1
  443. package/dist/components/internal/index.js +0 -21
  444. package/dist/components/testData.d.ts +0 -8
  445. package/dist/components/testData.d.ts.map +0 -1
  446. package/dist/components/testData.js +0 -14
  447. package/dist/forms/BoundCheckboxField.d.ts +0 -11
  448. package/dist/forms/BoundCheckboxField.d.ts.map +0 -1
  449. package/dist/forms/BoundCheckboxField.js +0 -24
  450. package/dist/forms/BoundCheckboxGroupField.d.ts +0 -12
  451. package/dist/forms/BoundCheckboxGroupField.d.ts.map +0 -1
  452. package/dist/forms/BoundCheckboxGroupField.js +0 -24
  453. package/dist/forms/BoundChipSelectField.d.ts +0 -13
  454. package/dist/forms/BoundChipSelectField.d.ts.map +0 -1
  455. package/dist/forms/BoundChipSelectField.js +0 -29
  456. package/dist/forms/BoundDateField.d.ts +0 -10
  457. package/dist/forms/BoundDateField.d.ts.map +0 -1
  458. package/dist/forms/BoundDateField.js +0 -26
  459. package/dist/forms/BoundDateRangeField.d.ts +0 -11
  460. package/dist/forms/BoundDateRangeField.d.ts.map +0 -1
  461. package/dist/forms/BoundDateRangeField.js +0 -26
  462. package/dist/forms/BoundIconCardField.d.ts +0 -13
  463. package/dist/forms/BoundIconCardField.d.ts.map +0 -1
  464. package/dist/forms/BoundIconCardField.js +0 -18
  465. package/dist/forms/BoundIconCardGroupField.d.ts +0 -12
  466. package/dist/forms/BoundIconCardGroupField.d.ts.map +0 -1
  467. package/dist/forms/BoundIconCardGroupField.js +0 -18
  468. package/dist/forms/BoundMultiLineSelectField.d.ts +0 -14
  469. package/dist/forms/BoundMultiLineSelectField.d.ts.map +0 -1
  470. package/dist/forms/BoundMultiLineSelectField.js +0 -25
  471. package/dist/forms/BoundMultiSelectField.d.ts +0 -21
  472. package/dist/forms/BoundMultiSelectField.d.ts.map +0 -1
  473. package/dist/forms/BoundMultiSelectField.js +0 -25
  474. package/dist/forms/BoundNumberField.d.ts +0 -10
  475. package/dist/forms/BoundNumberField.d.ts.map +0 -1
  476. package/dist/forms/BoundNumberField.js +0 -23
  477. package/dist/forms/BoundRadioGroupField.d.ts +0 -11
  478. package/dist/forms/BoundRadioGroupField.d.ts.map +0 -1
  479. package/dist/forms/BoundRadioGroupField.js +0 -23
  480. package/dist/forms/BoundRichTextField.d.ts +0 -9
  481. package/dist/forms/BoundRichTextField.d.ts.map +0 -1
  482. package/dist/forms/BoundRichTextField.js +0 -23
  483. package/dist/forms/BoundSelectAndTextField.d.ts +0 -18
  484. package/dist/forms/BoundSelectAndTextField.d.ts.map +0 -1
  485. package/dist/forms/BoundSelectAndTextField.js +0 -13
  486. package/dist/forms/BoundSelectField.d.ts +0 -30
  487. package/dist/forms/BoundSelectField.d.ts.map +0 -1
  488. package/dist/forms/BoundSelectField.js +0 -24
  489. package/dist/forms/BoundSwitchField.d.ts +0 -11
  490. package/dist/forms/BoundSwitchField.d.ts.map +0 -1
  491. package/dist/forms/BoundSwitchField.js +0 -17
  492. package/dist/forms/BoundTextAreaField.d.ts +0 -12
  493. package/dist/forms/BoundTextAreaField.d.ts.map +0 -1
  494. package/dist/forms/BoundTextAreaField.js +0 -23
  495. package/dist/forms/BoundTextField.d.ts +0 -12
  496. package/dist/forms/BoundTextField.d.ts.map +0 -1
  497. package/dist/forms/BoundTextField.js +0 -23
  498. package/dist/forms/BoundToggleChipGroupField.d.ts +0 -11
  499. package/dist/forms/BoundToggleChipGroupField.d.ts.map +0 -1
  500. package/dist/forms/BoundToggleChipGroupField.js +0 -14
  501. package/dist/forms/BoundTreeSelectField.d.ts +0 -22
  502. package/dist/forms/BoundTreeSelectField.d.ts.map +0 -1
  503. package/dist/forms/BoundTreeSelectField.js +0 -25
  504. package/dist/forms/FormHeading.d.ts +0 -11
  505. package/dist/forms/FormHeading.d.ts.map +0 -1
  506. package/dist/forms/FormHeading.js +0 -16
  507. package/dist/forms/FormLines.d.ts +0 -36
  508. package/dist/forms/FormLines.d.ts.map +0 -1
  509. package/dist/forms/FormLines.js +0 -66
  510. package/dist/forms/FormStateApp.d.ts +0 -5
  511. package/dist/forms/FormStateApp.d.ts.map +0 -1
  512. package/dist/forms/FormStateApp.js +0 -116
  513. package/dist/forms/StaticField.d.ts +0 -11
  514. package/dist/forms/StaticField.d.ts.map +0 -1
  515. package/dist/forms/StaticField.js +0 -16
  516. package/dist/forms/StepperFormApp.d.ts +0 -2
  517. package/dist/forms/StepperFormApp.d.ts.map +0 -1
  518. package/dist/forms/StepperFormApp.js +0 -112
  519. package/dist/forms/SubmitButton.d.ts +0 -9
  520. package/dist/forms/SubmitButton.d.ts.map +0 -1
  521. package/dist/forms/SubmitButton.js +0 -22
  522. package/dist/forms/formStateDomain.d.ts +0 -55
  523. package/dist/forms/formStateDomain.d.ts.map +0 -1
  524. package/dist/forms/formStateDomain.js +0 -31
  525. package/dist/forms/index.d.ts +0 -24
  526. package/dist/forms/index.d.ts.map +0 -1
  527. package/dist/forms/index.js +0 -39
  528. package/dist/forms/labelUtils.d.ts +0 -2
  529. package/dist/forms/labelUtils.d.ts.map +0 -1
  530. package/dist/forms/labelUtils.js +0 -18
  531. package/dist/hooks/index.d.ts +0 -9
  532. package/dist/hooks/index.d.ts.map +0 -1
  533. package/dist/hooks/index.js +0 -24
  534. package/dist/hooks/useBreakpoint.d.ts +0 -12
  535. package/dist/hooks/useBreakpoint.d.ts.map +0 -1
  536. package/dist/hooks/useBreakpoint.js +0 -40
  537. package/dist/hooks/useComputed.d.ts +0 -44
  538. package/dist/hooks/useComputed.d.ts.map +0 -1
  539. package/dist/hooks/useComputed.js +0 -107
  540. package/dist/hooks/useFilter.d.ts +0 -11
  541. package/dist/hooks/useFilter.d.ts.map +0 -1
  542. package/dist/hooks/useFilter.js +0 -11
  543. package/dist/hooks/useGetRef.d.ts +0 -7
  544. package/dist/hooks/useGetRef.d.ts.map +0 -1
  545. package/dist/hooks/useGetRef.js +0 -13
  546. package/dist/hooks/useGroupBy.d.ts +0 -13
  547. package/dist/hooks/useGroupBy.d.ts.map +0 -1
  548. package/dist/hooks/useGroupBy.js +0 -13
  549. package/dist/hooks/useHover.d.ts +0 -13
  550. package/dist/hooks/useHover.d.ts.map +0 -1
  551. package/dist/hooks/useHover.js +0 -9
  552. package/dist/hooks/usePersistedFilter.d.ts +0 -17
  553. package/dist/hooks/usePersistedFilter.d.ts.map +0 -1
  554. package/dist/hooks/usePersistedFilter.js +0 -48
  555. package/dist/hooks/useQueryState.d.ts +0 -11
  556. package/dist/hooks/useQueryState.d.ts.map +0 -1
  557. package/dist/hooks/useQueryState.js +0 -19
  558. package/dist/hooks/useRenderCount.d.ts +0 -18
  559. package/dist/hooks/useRenderCount.d.ts.map +0 -1
  560. package/dist/hooks/useRenderCount.js +0 -27
  561. package/dist/hooks/useSessionStorage.d.ts +0 -4
  562. package/dist/hooks/useSessionStorage.d.ts.map +0 -1
  563. package/dist/hooks/useSessionStorage.js +0 -40
  564. package/dist/index.d.ts.map +0 -1
  565. package/dist/inputs/Autocomplete.d.ts +0 -30
  566. package/dist/inputs/Autocomplete.d.ts.map +0 -1
  567. package/dist/inputs/Autocomplete.js +0 -66
  568. package/dist/inputs/Checkbox.d.ts +0 -24
  569. package/dist/inputs/Checkbox.d.ts.map +0 -1
  570. package/dist/inputs/Checkbox.js +0 -20
  571. package/dist/inputs/CheckboxBase.d.ts +0 -37
  572. package/dist/inputs/CheckboxBase.d.ts.map +0 -1
  573. package/dist/inputs/CheckboxBase.js +0 -59
  574. package/dist/inputs/CheckboxGroup.d.ts +0 -29
  575. package/dist/inputs/CheckboxGroup.d.ts.map +0 -1
  576. package/dist/inputs/CheckboxGroup.js +0 -30
  577. package/dist/inputs/ChipSelectField.d.ts +0 -34
  578. package/dist/inputs/ChipSelectField.d.ts.map +0 -1
  579. package/dist/inputs/ChipSelectField.js +0 -203
  580. package/dist/inputs/ChipTextField.d.ts +0 -14
  581. package/dist/inputs/ChipTextField.d.ts.map +0 -1
  582. package/dist/inputs/ChipTextField.js +0 -63
  583. package/dist/inputs/DateFields/DateField.d.ts +0 -5
  584. package/dist/inputs/DateFields/DateField.d.ts.map +0 -1
  585. package/dist/inputs/DateFields/DateField.js +0 -8
  586. package/dist/inputs/DateFields/DateField.mock.d.ts +0 -4
  587. package/dist/inputs/DateFields/DateField.mock.d.ts.map +0 -1
  588. package/dist/inputs/DateFields/DateField.mock.js +0 -18
  589. package/dist/inputs/DateFields/DateFieldBase.d.ts +0 -50
  590. package/dist/inputs/DateFields/DateFieldBase.d.ts.map +0 -1
  591. package/dist/inputs/DateFields/DateFieldBase.js +0 -175
  592. package/dist/inputs/DateFields/DateRangeField.d.ts +0 -5
  593. package/dist/inputs/DateFields/DateRangeField.d.ts.map +0 -1
  594. package/dist/inputs/DateFields/DateRangeField.js +0 -8
  595. package/dist/inputs/DateFields/index.d.ts +0 -6
  596. package/dist/inputs/DateFields/index.d.ts.map +0 -1
  597. package/dist/inputs/DateFields/index.js +0 -22
  598. package/dist/inputs/DateFields/utils.d.ts +0 -15
  599. package/dist/inputs/DateFields/utils.d.ts.map +0 -1
  600. package/dist/inputs/DateFields/utils.js +0 -82
  601. package/dist/inputs/ErrorMessage.d.ts +0 -15
  602. package/dist/inputs/ErrorMessage.d.ts.map +0 -1
  603. package/dist/inputs/ErrorMessage.js +0 -17
  604. package/dist/inputs/IconCard.d.ts +0 -25
  605. package/dist/inputs/IconCard.d.ts.map +0 -1
  606. package/dist/inputs/IconCard.js +0 -38
  607. package/dist/inputs/IconCardGroup.d.ts +0 -27
  608. package/dist/inputs/IconCardGroup.d.ts.map +0 -1
  609. package/dist/inputs/IconCardGroup.js +0 -54
  610. package/dist/inputs/MultiLineSelectField.d.ts +0 -12
  611. package/dist/inputs/MultiLineSelectField.d.ts.map +0 -1
  612. package/dist/inputs/MultiLineSelectField.js +0 -29
  613. package/dist/inputs/MultiSelectField.d.ts +0 -21
  614. package/dist/inputs/MultiSelectField.d.ts.map +0 -1
  615. package/dist/inputs/MultiSelectField.js +0 -11
  616. package/dist/inputs/NumberField.d.ts +0 -42
  617. package/dist/inputs/NumberField.d.ts.map +0 -1
  618. package/dist/inputs/NumberField.js +0 -118
  619. package/dist/inputs/RadioGroupField.d.ts +0 -89
  620. package/dist/inputs/RadioGroupField.d.ts.map +0 -1
  621. package/dist/inputs/RadioGroupField.js +0 -118
  622. package/dist/inputs/RichTextField.d.ts +0 -33
  623. package/dist/inputs/RichTextField.d.ts.map +0 -1
  624. package/dist/inputs/RichTextField.js +0 -174
  625. package/dist/inputs/RichTextField.mock.d.ts +0 -4
  626. package/dist/inputs/RichTextField.mock.d.ts.map +0 -1
  627. package/dist/inputs/RichTextField.mock.js +0 -21
  628. package/dist/inputs/SelectField.d.ts +0 -24
  629. package/dist/inputs/SelectField.d.ts.map +0 -1
  630. package/dist/inputs/SelectField.js +0 -18
  631. package/dist/inputs/Switch.d.ts +0 -34
  632. package/dist/inputs/Switch.d.ts.map +0 -1
  633. package/dist/inputs/Switch.js +0 -77
  634. package/dist/inputs/SwitchGroup.d.ts +0 -21
  635. package/dist/inputs/SwitchGroup.d.ts.map +0 -1
  636. package/dist/inputs/SwitchGroup.js +0 -23
  637. package/dist/inputs/TextAreaField.d.ts +0 -9
  638. package/dist/inputs/TextAreaField.d.ts.map +0 -1
  639. package/dist/inputs/TextAreaField.js +0 -42
  640. package/dist/inputs/TextField.d.ts +0 -29
  641. package/dist/inputs/TextField.d.ts.map +0 -1
  642. package/dist/inputs/TextField.js +0 -43
  643. package/dist/inputs/TextFieldBase.d.ts +0 -25
  644. package/dist/inputs/TextFieldBase.d.ts.map +0 -1
  645. package/dist/inputs/TextFieldBase.js +0 -193
  646. package/dist/inputs/ToggleButton.d.ts +0 -25
  647. package/dist/inputs/ToggleButton.d.ts.map +0 -1
  648. package/dist/inputs/ToggleButton.js +0 -61
  649. package/dist/inputs/ToggleChipGroup.d.ts +0 -25
  650. package/dist/inputs/ToggleChipGroup.d.ts.map +0 -1
  651. package/dist/inputs/ToggleChipGroup.js +0 -47
  652. package/dist/inputs/TreeSelectField/TreeOption.d.ts +0 -13
  653. package/dist/inputs/TreeSelectField/TreeOption.d.ts.map +0 -1
  654. package/dist/inputs/TreeSelectField/TreeOption.js +0 -62
  655. package/dist/inputs/TreeSelectField/TreeSelectField.d.ts +0 -56
  656. package/dist/inputs/TreeSelectField/TreeSelectField.d.ts.map +0 -1
  657. package/dist/inputs/TreeSelectField/TreeSelectField.js +0 -468
  658. package/dist/inputs/TreeSelectField/index.d.ts +0 -3
  659. package/dist/inputs/TreeSelectField/index.d.ts.map +0 -1
  660. package/dist/inputs/TreeSelectField/index.js +0 -17
  661. package/dist/inputs/TreeSelectField/utils.d.ts +0 -54
  662. package/dist/inputs/TreeSelectField/utils.d.ts.map +0 -1
  663. package/dist/inputs/TreeSelectField/utils.js +0 -49
  664. package/dist/inputs/Value.d.ts +0 -18
  665. package/dist/inputs/Value.d.ts.map +0 -1
  666. package/dist/inputs/Value.js +0 -53
  667. package/dist/inputs/hooks/useGrowingTextField.d.ts +0 -10
  668. package/dist/inputs/hooks/useGrowingTextField.d.ts.map +0 -1
  669. package/dist/inputs/hooks/useGrowingTextField.js +0 -44
  670. package/dist/inputs/index.d.ts +0 -24
  671. package/dist/inputs/index.d.ts.map +0 -1
  672. package/dist/inputs/index.js +0 -37
  673. package/dist/inputs/internal/ComboBoxBase.d.ts +0 -89
  674. package/dist/inputs/internal/ComboBoxBase.d.ts.map +0 -1
  675. package/dist/inputs/internal/ComboBoxBase.js +0 -302
  676. package/dist/inputs/internal/ComboBoxInput.d.ts +0 -36
  677. package/dist/inputs/internal/ComboBoxInput.d.ts.map +0 -1
  678. package/dist/inputs/internal/ComboBoxInput.js +0 -153
  679. package/dist/inputs/internal/ListBox.d.ts +0 -20
  680. package/dist/inputs/internal/ListBox.d.ts.map +0 -1
  681. package/dist/inputs/internal/ListBox.js +0 -68
  682. package/dist/inputs/internal/ListBoxChip.d.ts +0 -6
  683. package/dist/inputs/internal/ListBoxChip.d.ts.map +0 -1
  684. package/dist/inputs/internal/ListBoxChip.js +0 -10
  685. package/dist/inputs/internal/ListBoxSection.d.ts +0 -14
  686. package/dist/inputs/internal/ListBoxSection.d.ts.map +0 -1
  687. package/dist/inputs/internal/ListBoxSection.js +0 -19
  688. package/dist/inputs/internal/ListBoxToggleChip.d.ts +0 -13
  689. package/dist/inputs/internal/ListBoxToggleChip.d.ts.map +0 -1
  690. package/dist/inputs/internal/ListBoxToggleChip.js +0 -13
  691. package/dist/inputs/internal/LoadingDots.d.ts +0 -4
  692. package/dist/inputs/internal/LoadingDots.d.ts.map +0 -1
  693. package/dist/inputs/internal/LoadingDots.js +0 -28
  694. package/dist/inputs/internal/MenuSearchField.d.ts +0 -7
  695. package/dist/inputs/internal/MenuSearchField.d.ts.map +0 -1
  696. package/dist/inputs/internal/MenuSearchField.js +0 -15
  697. package/dist/inputs/internal/Option.d.ts +0 -13
  698. package/dist/inputs/internal/Option.d.ts.map +0 -1
  699. package/dist/inputs/internal/Option.js +0 -44
  700. package/dist/inputs/internal/VirtualizedOptions.d.ts +0 -17
  701. package/dist/inputs/internal/VirtualizedOptions.d.ts.map +0 -1
  702. package/dist/inputs/internal/VirtualizedOptions.js +0 -58
  703. package/dist/inputs/internal/constants.d.ts +0 -3
  704. package/dist/inputs/internal/constants.d.ts.map +0 -1
  705. package/dist/inputs/internal/constants.js +0 -5
  706. package/dist/inputs/utils.d.ts +0 -2
  707. package/dist/inputs/utils.d.ts.map +0 -1
  708. package/dist/inputs/utils.js +0 -6
  709. package/dist/interfaces.d.ts +0 -60
  710. package/dist/interfaces.d.ts.map +0 -1
  711. package/dist/interfaces.js +0 -2
  712. package/dist/types.d.ts +0 -32
  713. package/dist/types.d.ts.map +0 -1
  714. package/dist/types.js +0 -6
  715. package/dist/utils/defaultLabel.d.ts +0 -9
  716. package/dist/utils/defaultLabel.d.ts.map +0 -1
  717. package/dist/utils/defaultLabel.js +0 -14
  718. package/dist/utils/defaultTestId.d.ts +0 -11
  719. package/dist/utils/defaultTestId.d.ts.map +0 -1
  720. package/dist/utils/defaultTestId.js +0 -18
  721. package/dist/utils/getInteractiveElement.d.ts +0 -7
  722. package/dist/utils/getInteractiveElement.d.ts.map +0 -1
  723. package/dist/utils/getInteractiveElement.js +0 -14
  724. package/dist/utils/index.d.ts +0 -36
  725. package/dist/utils/index.d.ts.map +0 -1
  726. package/dist/utils/index.js +0 -109
  727. package/dist/utils/objectId.d.ts +0 -3
  728. package/dist/utils/objectId.d.ts.map +0 -1
  729. package/dist/utils/objectId.js +0 -14
  730. package/dist/utils/options.d.ts +0 -3
  731. package/dist/utils/options.d.ts.map +0 -1
  732. package/dist/utils/options.js +0 -24
  733. package/dist/utils/rtl.d.ts +0 -45
  734. package/dist/utils/rtl.d.ts.map +0 -1
  735. package/dist/utils/rtl.js +0 -241
  736. package/dist/utils/sb.d.ts +0 -27
  737. package/dist/utils/sb.d.ts.map +0 -1
  738. package/dist/utils/sb.js +0 -37
  739. package/dist/utils/shallowEqual.d.ts +0 -5
  740. package/dist/utils/shallowEqual.d.ts.map +0 -1
  741. package/dist/utils/shallowEqual.js +0 -27
  742. package/dist/utils/useTestIds.d.ts +0 -36
  743. package/dist/utils/useTestIds.d.ts.map +0 -1
  744. package/dist/utils/useTestIds.js +0 -63
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils/rtlUtils.tsx
21
+ var rtlUtils_exports = {};
22
+ __export(rtlUtils_exports, {
23
+ blur: () => import_rtl_utils.blur,
24
+ cell: () => cell,
25
+ cellAnd: () => cellAnd,
26
+ cellOf: () => cellOf,
27
+ change: () => import_rtl_utils.change,
28
+ click: () => import_rtl_utils.click,
29
+ clickAndWait: () => import_rtl_utils.clickAndWait,
30
+ focus: () => import_rtl_utils.focus,
31
+ getOptions: () => getOptions,
32
+ getSelected: () => getSelected,
33
+ input: () => import_rtl_utils.input,
34
+ row: () => row,
35
+ rowAnd: () => rowAnd,
36
+ select: () => select,
37
+ selectAndWait: () => selectAndWait,
38
+ tableSnapshot: () => tableSnapshot,
39
+ type: () => import_rtl_utils.type,
40
+ typeAndWait: () => import_rtl_utils.typeAndWait,
41
+ wait: () => import_rtl_utils.wait
42
+ });
43
+ module.exports = __toCommonJS(rtlUtils_exports);
44
+ var import_rtl_utils = require("@homebound/rtl-utils");
45
+ var import_react = require("@testing-library/react");
46
+
47
+ // src/utils/defaultTestId.ts
48
+ var import_change_case = require("change-case");
49
+
50
+ // src/utils/index.ts
51
+ function fail(message) {
52
+ throw new Error(message || "Failed");
53
+ }
54
+
55
+ // src/utils/rtlUtils.tsx
56
+ function cell(r, row2, column) {
57
+ return cellOf(r, "gridTable", row2, column);
58
+ }
59
+ function cellOf(r, tableTestId, rowNum, column) {
60
+ return row(r, rowNum, tableTestId).childNodes[column];
61
+ }
62
+ function cellAnd(r, row2, column, testId) {
63
+ return cell(r, row2, column).querySelector(`[data-testid="${testId}"]`) || fail(`Element not found ${(0, import_react.prettyDOM)(cell(r, row2, column))}`);
64
+ }
65
+ function row(r, row2, tableTestId = "gridTable") {
66
+ const dataRows = Array.from(r.getByTestId(tableTestId).querySelectorAll("[data-gridrow]"));
67
+ return dataRows[row2];
68
+ }
69
+ function rowAnd(r, rowNum, testId) {
70
+ const e = row(r, rowNum);
71
+ return e.querySelector(`[data-testid="${testId}"]`) || fail(`Element not found ${(0, import_react.prettyDOM)(e)}`);
72
+ }
73
+ function tableSnapshot(r, columnNames = []) {
74
+ const tableEl = r.getByTestId("gridTable");
75
+ const dataRows = Array.from(tableEl.querySelectorAll("[data-gridrow]"));
76
+ const hasExpandableHeader = !!tableEl.querySelector(`[data-testid="expandableColumn"]`);
77
+ let tableDataAsStrings = dataRows.map((row2) => {
78
+ return Array.from(row2.childNodes).map(getTextFromTableCellNode);
79
+ });
80
+ if (columnNames.length > 0) {
81
+ const headerCells = tableDataAsStrings[0];
82
+ if (headerCells) {
83
+ const columnIndices = columnNames.map((name) => {
84
+ const i = headerCells.indexOf(name);
85
+ if (i === -1) throw new Error(`Could not find header '${name}' in ${headerCells.join(", ")}`);
86
+ return i;
87
+ });
88
+ tableDataAsStrings = tableDataAsStrings.map((row2) => columnIndices.map((index) => row2[index]));
89
+ }
90
+ }
91
+ return toMarkupTableString(tableDataAsStrings, hasExpandableHeader);
92
+ }
93
+ function toMarkupTableString(tableRows, hasExpandableHeader) {
94
+ const columnWidths = tableRows.reduce((acc, row2) => {
95
+ row2.forEach((cell2, columnIndex) => {
96
+ const cellWidth = cell2?.length ?? 0;
97
+ const currentMaxWidth = acc.get(columnIndex) ?? 0;
98
+ if (cellWidth > currentMaxWidth || !currentMaxWidth) acc.set(columnIndex, cellWidth);
99
+ });
100
+ return acc;
101
+ }, /* @__PURE__ */ new Map());
102
+ const wrapTableRowEnds = (str) => `| ${str} |`;
103
+ const rowsWithPaddingAndDividers = tableRows.map((tableCells) => {
104
+ const formattedRow = tableCells.map((cell2, columnIndex) => {
105
+ const cellWidth = columnWidths.get(columnIndex) ?? 0;
106
+ return cell2?.padEnd(cellWidth, " ") || "";
107
+ }).join(" | ");
108
+ return wrapTableRowEnds(formattedRow);
109
+ });
110
+ const headerDivider = Array.from(columnWidths.values()).map((width) => "-".repeat(width) ?? "").join(" | ");
111
+ const headerDividerRowNumber = hasExpandableHeader ? 2 : 1;
112
+ rowsWithPaddingAndDividers.splice(headerDividerRowNumber, 0, wrapTableRowEnds(headerDivider));
113
+ return `
114
+ ${rowsWithPaddingAndDividers.join("\n")}
115
+ `;
116
+ }
117
+ function getTextFromTableCellNode(node) {
118
+ if (node.nodeType === Node.ELEMENT_NODE) {
119
+ const element = node;
120
+ const maybeInput = element.getElementsByTagName("input")[0];
121
+ if (maybeInput) return maybeInput.value;
122
+ const maybeTextarea = element.getElementsByTagName("textarea")[0];
123
+ if (maybeTextarea) return maybeTextarea.value;
124
+ const maybeSelect = element.getElementsByTagName("select")[0];
125
+ if (maybeSelect) return maybeSelect.value;
126
+ }
127
+ return node.textContent;
128
+ }
129
+ function select(select2, value) {
130
+ assertListBoxInput(select2);
131
+ ensureListBoxOpen(select2);
132
+ const optionValues = Array.isArray(value) ? value : [value];
133
+ optionValues.forEach((optionValue) => selectOption(select2, optionValue));
134
+ }
135
+ async function selectAndWait(select2, value) {
136
+ await (0, import_rtl_utils.allowAndWaitForAsyncBehavior)(() => ensureListBoxOpen(select2));
137
+ return (0, import_rtl_utils.allowAndWaitForAsyncBehavior)(() => {
138
+ const optionValues = Array.isArray(value) ? value : [value];
139
+ optionValues.forEach((optionValue) => selectOption(select2, optionValue));
140
+ });
141
+ }
142
+ function ensureListBoxOpen(select2) {
143
+ const expanded = select2.getAttribute("aria-expanded") === "true";
144
+ if (!expanded) {
145
+ (0, import_rtl_utils.click)(select2);
146
+ }
147
+ }
148
+ function selectOption(select2, optionValue) {
149
+ const listbox = findListBox(select2);
150
+ const options = listbox.querySelectorAll("[role=option]");
151
+ const optionToSelect = Array.from(options).find(
152
+ (o) => o.dataset.key === optionValue || o.dataset.label === optionValue
153
+ );
154
+ if (!optionToSelect) {
155
+ throw new Error(`Could not find option with value or text content of ${optionValue}`);
156
+ }
157
+ if (optionToSelect.getAttribute("aria-disabled")) {
158
+ throw new Error(`Cannot select disabled option ${optionValue}`);
159
+ }
160
+ (0, import_rtl_utils.click)(optionToSelect);
161
+ }
162
+ function getSelected(select2) {
163
+ if (isSelectElement(select2)) {
164
+ throw new Error("Beam getSelected helper does not support <select> elements");
165
+ }
166
+ if (!isInputOrTextAreaElement(select2) && select2.dataset.readonly === "true") {
167
+ return select2.textContent ?? void 0;
168
+ }
169
+ ensureListBoxOpen(select2);
170
+ const listbox = findListBox(select2);
171
+ const options = listbox.querySelectorAll("[role=option]");
172
+ const selections = Array.from(options).filter((o) => o.getAttribute("aria-selected") === "true").map((o) => o.dataset.label ?? o.dataset.key ?? "").filter((o) => !!o);
173
+ return selections.length > 0 ? selections.length > 1 ? selections : selections[0] : void 0;
174
+ }
175
+ function getOptions(select2) {
176
+ assertListBoxInput(select2);
177
+ ensureListBoxOpen(select2);
178
+ const listbox = findListBox(select2);
179
+ const options = listbox.querySelectorAll("[role=option]");
180
+ return Array.from(options).map((o) => o.dataset.label ?? o.dataset.key ?? "").filter((o) => !!o);
181
+ }
182
+ function findListBox(select2) {
183
+ if (select2.tagName === "DIV") fail("SelectField is readOnly");
184
+ const listboxId = select2.getAttribute("aria-controls") || fail("aria-controls attribute not found, the SelectField is probably readOnly");
185
+ return document.getElementById(listboxId) || fail("listbox not found");
186
+ }
187
+ function assertListBoxInput(select2) {
188
+ if (isSelectElement(select2)) {
189
+ throw new Error("Beam getOptions helper does not support <select> elements");
190
+ }
191
+ if (!isInputOrTextAreaElement(select2)) {
192
+ throw new Error(
193
+ `Expected element to be INPUT or TEXTAREA, but got ${select2.nodeName}. This field may be read-only. In that case we cannot get the list of options`
194
+ );
195
+ }
196
+ return true;
197
+ }
198
+ function isSelectElement(element) {
199
+ return element.nodeName === "SELECT";
200
+ }
201
+ function isInputOrTextAreaElement(element) {
202
+ return element.nodeName === "INPUT" || element.nodeName === "TEXTAREA";
203
+ }
204
+ // Annotate the CommonJS export names for ESM import in node:
205
+ 0 && (module.exports = {
206
+ blur,
207
+ cell,
208
+ cellAnd,
209
+ cellOf,
210
+ change,
211
+ click,
212
+ clickAndWait,
213
+ focus,
214
+ getOptions,
215
+ getSelected,
216
+ input,
217
+ row,
218
+ rowAnd,
219
+ select,
220
+ selectAndWait,
221
+ tableSnapshot,
222
+ type,
223
+ typeAndWait,
224
+ wait
225
+ });
226
+ //# sourceMappingURL=rtlUtils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/rtlUtils.tsx","../../src/utils/defaultTestId.ts","../../src/utils/index.ts"],"sourcesContent":["import {\n blur as _blur,\n change as _change,\n click as _click,\n clickAndWait as _clickAndWait,\n focus as _focus,\n input as _input,\n type as _type,\n typeAndWait as _typeAndWait,\n wait as _wait,\n allowAndWaitForAsyncBehavior,\n RenderResult,\n} from \"@homebound/rtl-utils\";\nimport { prettyDOM } from \"@testing-library/react\";\nimport { fail } from \"src/utils/index\";\n\nexport {\n _blur as blur,\n _change as change,\n _click as click,\n _clickAndWait as clickAndWait,\n _focus as focus,\n _input as input,\n _type as type,\n _typeAndWait as typeAndWait,\n _wait as wait,\n};\n\n// This file is a collection of helpers for interacting with Beam components in tests.\n// We keep it separate from the `src/tests/rtl.tsx` file, which is the Beam tests\n// themselves use, which technically does re-export these `rtlUtils.tsx` helpers, but\n// also includes other helpers that are specific to Beam's test suite.\n//\n// (In particular, we cannot include/export any Beam components, i.e. BeamProvider, from\n// this file, because it ends up as a separate bundle in the `package.json` file, which\n// will be treated as separate components/providers than the primary bundle.)\n\nexport function cell(r: RenderResult, row: number, column: number): HTMLElement {\n return cellOf(r, \"gridTable\", row, column);\n}\n\nexport function cellOf(r: RenderResult, tableTestId: string, rowNum: number, column: number): HTMLElement {\n return row(r, rowNum, tableTestId).childNodes[column] as HTMLElement;\n}\n\nexport function cellAnd(r: RenderResult, row: number, column: number, testId: string): HTMLElement {\n return (\n cell(r, row, column).querySelector(`[data-testid=\"${testId}\"]`) ||\n fail(`Element not found ${prettyDOM(cell(r, row, column))}`)\n );\n}\n\nexport function row(r: RenderResult, row: number, tableTestId: string = \"gridTable\"): HTMLElement {\n const dataRows = Array.from(r.getByTestId(tableTestId).querySelectorAll(\"[data-gridrow]\"));\n return dataRows[row] as HTMLElement;\n}\n\nexport function rowAnd(r: RenderResult, rowNum: number, testId: string): HTMLElement {\n const e = row(r, rowNum);\n return e.querySelector(`[data-testid=\"${testId}\"]`) || fail(`Element not found ${prettyDOM(e)}`);\n}\n\n/** Intended to be used to generate a human-readable text\n * representation of a GridTable using the markdown table syntax.\n * * Example Use: expect(tableSnapshot(r)).toMatchInlineSnapshot(`\n \"\n | Name | Value |\n | ------------------------ | ----- |\n | Row 1 | 200 |\n | Row 2 with a longer name | 300 |\n | Row 3 | 1000 |\n \"\n `);\n * */\nexport function tableSnapshot(r: RenderResult, columnNames: string[] = []): string {\n const tableEl = r.getByTestId(\"gridTable\");\n const dataRows = Array.from(tableEl.querySelectorAll(\"[data-gridrow]\"));\n const hasExpandableHeader = !!tableEl.querySelector(`[data-testid=\"expandableColumn\"]`);\n\n let tableDataAsStrings = dataRows.map((row) => {\n return Array.from(row.childNodes).map(getTextFromTableCellNode);\n });\n\n // If the user wants a subset of columns, look for column names\n if (columnNames.length > 0) {\n const headerCells = tableDataAsStrings[0];\n if (headerCells) {\n const columnIndices = columnNames.map((name) => {\n const i = headerCells.indexOf(name);\n if (i === -1) throw new Error(`Could not find header '${name}' in ${headerCells.join(\", \")}`);\n return i;\n });\n tableDataAsStrings = tableDataAsStrings.map((row) => columnIndices.map((index) => row[index]));\n }\n }\n\n return toMarkupTableString(tableDataAsStrings, hasExpandableHeader);\n}\n\nfunction toMarkupTableString(tableRows: (string | null)[][], hasExpandableHeader: boolean): string {\n // Find the largest width of each column to set a consistent width for each row\n const columnWidths = tableRows.reduce((acc, row) => {\n row.forEach((cell, columnIndex) => {\n const cellWidth = cell?.length ?? 0;\n const currentMaxWidth = acc.get(columnIndex) ?? 0;\n if (cellWidth > currentMaxWidth || !currentMaxWidth) acc.set(columnIndex, cellWidth);\n });\n\n return acc;\n }, new Map<number, number>());\n\n const wrapTableRowEnds = (str: string) => `| ${str} |`;\n\n const rowsWithPaddingAndDividers = tableRows.map((tableCells) => {\n const formattedRow = tableCells\n .map((cell, columnIndex) => {\n const cellWidth = columnWidths.get(columnIndex) ?? 0;\n return cell?.padEnd(cellWidth, \" \") || \"\";\n })\n .join(\" | \");\n return wrapTableRowEnds(formattedRow);\n });\n\n const headerDivider = Array.from(columnWidths.values())\n .map((width) => \"-\".repeat(width) ?? \"\")\n .join(\" | \");\n\n const headerDividerRowNumber = hasExpandableHeader ? 2 : 1;\n rowsWithPaddingAndDividers.splice(headerDividerRowNumber, 0, wrapTableRowEnds(headerDivider));\n\n // Pad a newline on top and bottom for cleaner diffs\n return `\\n${rowsWithPaddingAndDividers.join(\"\\n\")}\\n`;\n}\n\n/** Prefer showing a `value` from a mocked input vs. the combined text content from an inputs markup */\nfunction getTextFromTableCellNode(node: ChildNode) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as HTMLElement;\n\n const maybeInput = element.getElementsByTagName(\"input\")[0];\n if (maybeInput) return maybeInput.value;\n\n const maybeTextarea = element.getElementsByTagName(\"textarea\")[0];\n if (maybeTextarea) return maybeTextarea.value;\n\n const maybeSelect = element.getElementsByTagName(\"select\")[0];\n if (maybeSelect) return maybeSelect.value;\n }\n\n return node.textContent;\n}\n\n/**\n * Selects an option from the Beam SelectField, MultiSelectField, and TreeSelectField components.\n *\n * For select fields that support multiple selections, subsequent calls to this function will toggle the selection state of an option.\n *\n * @param value The value or label of the option.\n * */\nexport function select(select: HTMLElement, value: string | string[]) {\n assertListBoxInput(select);\n ensureListBoxOpen(select);\n const optionValues = Array.isArray(value) ? value : [value];\n optionValues.forEach((optionValue) => selectOption(select, optionValue));\n}\n\nexport async function selectAndWait(select: HTMLElement, value: string | string[]): Promise<void> {\n // To work with React 18, we need to execute these as separate steps, otherwise\n // the `ensureListBoxOpen` async render won't flush, and the `selectOption` will fail.\n await allowAndWaitForAsyncBehavior(() => ensureListBoxOpen(select));\n return allowAndWaitForAsyncBehavior(() => {\n const optionValues = Array.isArray(value) ? value : [value];\n optionValues.forEach((optionValue) => selectOption(select, optionValue));\n });\n}\n\nfunction ensureListBoxOpen(select: HTMLElement): void {\n const expanded = select.getAttribute(\"aria-expanded\") === \"true\";\n if (!expanded) {\n _click(select);\n }\n}\n\nfunction selectOption(select: HTMLElement, optionValue: string) {\n const listbox = findListBox(select);\n const options: NodeListOf<HTMLElement> = listbox.querySelectorAll(\"[role=option]\");\n // Allow searching for options by their data-key (value) or textContent (label)\n const optionToSelect = Array.from(options).find(\n (o: HTMLElement) => o.dataset.key === optionValue || o.dataset.label === optionValue,\n );\n if (!optionToSelect) {\n throw new Error(`Could not find option with value or text content of ${optionValue}`);\n }\n if (optionToSelect.getAttribute(\"aria-disabled\")) {\n throw new Error(`Cannot select disabled option ${optionValue}`);\n }\n _click(optionToSelect);\n}\n\nexport function getSelected(select: HTMLElement): string[] | string | undefined {\n if (isSelectElement(select)) {\n throw new Error(\"Beam getSelected helper does not support <select> elements\");\n }\n\n if (!isInputOrTextAreaElement(select) && select.dataset.readonly === \"true\") {\n // For read-only fields that render as a 'div'\n return select.textContent ?? undefined;\n }\n\n ensureListBoxOpen(select);\n\n const listbox = findListBox(select);\n const options: NodeListOf<HTMLElement> = listbox.querySelectorAll(\"[role=option]\");\n\n const selections: string[] = Array.from(options)\n .filter((o: HTMLElement) => o.getAttribute(\"aria-selected\") === \"true\")\n .map((o: HTMLElement) => o.dataset.label ?? o.dataset.key ?? \"\")\n // Filter out empty strings\n .filter((o) => !!o);\n\n return selections.length > 0 ? (selections.length > 1 ? selections : selections[0]) : undefined;\n}\n\nexport function getOptions(select: HTMLElement): string[] {\n assertListBoxInput(select);\n ensureListBoxOpen(select);\n\n const listbox = findListBox(select);\n const options: NodeListOf<HTMLElement> = listbox.querySelectorAll(\"[role=option]\");\n\n return Array.from(options)\n .map((o: HTMLElement) => o.dataset.label ?? o.dataset.key ?? \"\")\n .filter((o) => !!o);\n}\n\nfunction findListBox(select: HTMLElement): HTMLElement {\n if (select.tagName === \"DIV\") fail(\"SelectField is readOnly\");\n const listboxId =\n select.getAttribute(\"aria-controls\") ||\n fail(\"aria-controls attribute not found, the SelectField is probably readOnly\");\n return document.getElementById(listboxId) || fail(\"listbox not found\");\n}\n\nfunction assertListBoxInput(select: HTMLElement): select is HTMLInputElement | HTMLTextAreaElement {\n if (isSelectElement(select)) {\n throw new Error(\"Beam getOptions helper does not support <select> elements\");\n }\n if (!isInputOrTextAreaElement(select)) {\n throw new Error(\n `Expected element to be INPUT or TEXTAREA, but got ${select.nodeName}. This field may be read-only. In that case we cannot get the list of options`,\n );\n }\n return true;\n}\n\nfunction isSelectElement(element: HTMLElement): element is HTMLSelectElement {\n return element.nodeName === \"SELECT\";\n}\n\nfunction isInputOrTextAreaElement(element: HTMLElement): element is HTMLInputElement | HTMLTextAreaElement {\n return element.nodeName === \"INPUT\" || element.nodeName === \"TEXTAREA\";\n}\n","import { camelCase } from \"change-case\";\n\n/**\n * Guesses an id based on a label string, i.e. given `Homeowner Contract`,\n * returns `homeownerContract`.\n *\n * This is useful for our (non-bound) form fields that will probably have a label,\n * but may not have a `data-testid` set by the encompassing page.\n *\n * (Bound form fields typically set their test id from their form-state field's key.)\n */\nexport function defaultTestId(label: string): string {\n // Strip `m:4` to `m4` to prevent it from becoming `m_4` which our rtl-utils assumes\n // means \"the 4th element with a data-testid value of 'm'\".\n return camelCase(label.replace(\":\", \"\"));\n}\n","import { MutableRefObject } from \"react\";\nimport type { CheckboxGroupState, ToggleState } from \"react-stately\";\n\nexport function fail(message?: string): never {\n throw new Error(message || \"Failed\");\n}\n\n/** Adapts our state to what useToggleState returns in a stateless manner. */\nexport function toToggleState(isSelected: boolean, onChange: (value: boolean) => void): ToggleState {\n return {\n isSelected,\n setSelected: onChange,\n toggle: () => onChange(!isSelected),\n };\n}\n\n/** Adapts our state to what use*Group returns in a stateless manner. */\nexport function toGroupState<T extends string>(values: T[], onChange: (value: T[]) => void): CheckboxGroupState {\n const addValue = (value: T) => onChange([...values, value]);\n const removeValue = (value: T) => onChange(values.filter((_value) => _value !== value));\n\n return {\n value: values,\n setValue: onChange,\n isSelected: (value: T) => values.includes(value),\n addValue,\n removeValue,\n toggleValue: (value: T) => (values.includes(value) ? addValue(value) : removeValue(value)),\n isDisabled: false,\n isReadOnly: false,\n // We do not use the validation state, as our Switch groups do not support error states. However, this field is required by the `CheckboxGroupState` so we need to include it.\n // If we ever update our SwitchGroup component to support error states, we'll need to update this.\n validationState: \"valid\",\n };\n}\n\n/**\n * Utility to maybe call a function if undefined with arguments\n *\n * @example\n * maybeCall(onChange, true)\n * maybeCall(onBlur)\n * maybeCall(onSelect, { id: 1, value: \"book 1\"}, true)\n */\nexport function maybeCall(callback: Function | undefined, ...args: any[]) {\n return callback && callback(...args);\n}\n\nexport * from \"./useTestIds\";\n\n/** Casts `Object.keys` to \"what it should be\", as long as your instance doesn't have keys it shouldn't. */\nexport function safeKeys<T>(instance: T): (keyof T)[] {\n return Object.getOwnPropertyNames(instance) as any;\n}\n\n// Returns object with specified key removed\nexport const omitKey = <T, K extends keyof T>(key: K, { [key]: _, ...obj }: T) => obj as T;\n\nexport const noop = (..._: any) => {};\n\ntype Entries<T> = {\n [K in keyof T]: [K, T[K]];\n}[keyof T][];\n\nexport function safeEntries<T extends object>(obj: T): Entries<T> {\n return Object.entries(obj) as any;\n}\n\nexport class EmptyRef<T> implements MutableRefObject<T> {\n get current(): T {\n throw new Error(\"BeamProvider is missing\");\n }\n\n set current(_) {\n throw new Error(\"BeamProvider is missing\");\n }\n}\n\nexport const isAbsoluteUrl = (url: string) => /^(http(s?)):\\/\\//i.test(url);\n\nexport function areArraysEqual(a: any[], b: any[]): boolean {\n return a.length === b.length && a.every((val, idx) => val === b[idx]);\n}\n\nexport function isPromise(obj: any | Promise<any>): obj is Promise<any> {\n return typeof obj === \"object\" && \"then\" in obj && typeof obj.then === \"function\";\n}\n\nexport function isFunction(f: any): f is Function {\n return typeof f === \"function\";\n}\n\nexport function isDefined<T extends any>(param: T | undefined | null): param is T {\n return param !== null && param !== undefined;\n}\n\nexport function pluralize(count: number | unknown[], noun: string, pluralNoun?: string): string {\n if ((Array.isArray(count) ? count.length : count) === 1) return noun;\n return pluralNoun || `${noun}s`;\n}\n"],"mappings":"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","names":["_blur","_change","_click","_clickAndWait","_focus","_input","_type","_typeAndWait","_wait","row","cell","select","_click"]}
@@ -0,0 +1,34 @@
1
+ import { RenderResult } from '@homebound/rtl-utils';
2
+ export { blur, change, click, clickAndWait, focus, input, type, typeAndWait, wait } from '@homebound/rtl-utils';
3
+
4
+ declare function cell(r: RenderResult, row: number, column: number): HTMLElement;
5
+ declare function cellOf(r: RenderResult, tableTestId: string, rowNum: number, column: number): HTMLElement;
6
+ declare function cellAnd(r: RenderResult, row: number, column: number, testId: string): HTMLElement;
7
+ declare function row(r: RenderResult, row: number, tableTestId?: string): HTMLElement;
8
+ declare function rowAnd(r: RenderResult, rowNum: number, testId: string): HTMLElement;
9
+ /** Intended to be used to generate a human-readable text
10
+ * representation of a GridTable using the markdown table syntax.
11
+ * * Example Use: expect(tableSnapshot(r)).toMatchInlineSnapshot(`
12
+ "
13
+ | Name | Value |
14
+ | ------------------------ | ----- |
15
+ | Row 1 | 200 |
16
+ | Row 2 with a longer name | 300 |
17
+ | Row 3 | 1000 |
18
+ "
19
+ `);
20
+ * */
21
+ declare function tableSnapshot(r: RenderResult, columnNames?: string[]): string;
22
+ /**
23
+ * Selects an option from the Beam SelectField, MultiSelectField, and TreeSelectField components.
24
+ *
25
+ * For select fields that support multiple selections, subsequent calls to this function will toggle the selection state of an option.
26
+ *
27
+ * @param value The value or label of the option.
28
+ * */
29
+ declare function select(select: HTMLElement, value: string | string[]): void;
30
+ declare function selectAndWait(select: HTMLElement, value: string | string[]): Promise<void>;
31
+ declare function getSelected(select: HTMLElement): string[] | string | undefined;
32
+ declare function getOptions(select: HTMLElement): string[];
33
+
34
+ export { cell, cellAnd, cellOf, getOptions, getSelected, row, rowAnd, select, selectAndWait, tableSnapshot };
@@ -0,0 +1,34 @@
1
+ import { RenderResult } from '@homebound/rtl-utils';
2
+ export { blur, change, click, clickAndWait, focus, input, type, typeAndWait, wait } from '@homebound/rtl-utils';
3
+
4
+ declare function cell(r: RenderResult, row: number, column: number): HTMLElement;
5
+ declare function cellOf(r: RenderResult, tableTestId: string, rowNum: number, column: number): HTMLElement;
6
+ declare function cellAnd(r: RenderResult, row: number, column: number, testId: string): HTMLElement;
7
+ declare function row(r: RenderResult, row: number, tableTestId?: string): HTMLElement;
8
+ declare function rowAnd(r: RenderResult, rowNum: number, testId: string): HTMLElement;
9
+ /** Intended to be used to generate a human-readable text
10
+ * representation of a GridTable using the markdown table syntax.
11
+ * * Example Use: expect(tableSnapshot(r)).toMatchInlineSnapshot(`
12
+ "
13
+ | Name | Value |
14
+ | ------------------------ | ----- |
15
+ | Row 1 | 200 |
16
+ | Row 2 with a longer name | 300 |
17
+ | Row 3 | 1000 |
18
+ "
19
+ `);
20
+ * */
21
+ declare function tableSnapshot(r: RenderResult, columnNames?: string[]): string;
22
+ /**
23
+ * Selects an option from the Beam SelectField, MultiSelectField, and TreeSelectField components.
24
+ *
25
+ * For select fields that support multiple selections, subsequent calls to this function will toggle the selection state of an option.
26
+ *
27
+ * @param value The value or label of the option.
28
+ * */
29
+ declare function select(select: HTMLElement, value: string | string[]): void;
30
+ declare function selectAndWait(select: HTMLElement, value: string | string[]): Promise<void>;
31
+ declare function getSelected(select: HTMLElement): string[] | string | undefined;
32
+ declare function getOptions(select: HTMLElement): string[];
33
+
34
+ export { cell, cellAnd, cellOf, getOptions, getSelected, row, rowAnd, select, selectAndWait, tableSnapshot };
@@ -0,0 +1,188 @@
1
+ import {
2
+ fail
3
+ } from "../chunk-ZQBDHF22.js";
4
+
5
+ // src/utils/rtlUtils.tsx
6
+ import {
7
+ blur as _blur,
8
+ change as _change,
9
+ click as _click,
10
+ clickAndWait as _clickAndWait,
11
+ focus as _focus,
12
+ input as _input,
13
+ type as _type,
14
+ typeAndWait as _typeAndWait,
15
+ wait as _wait,
16
+ allowAndWaitForAsyncBehavior
17
+ } from "@homebound/rtl-utils";
18
+ import { prettyDOM } from "@testing-library/react";
19
+ function cell(r, row2, column) {
20
+ return cellOf(r, "gridTable", row2, column);
21
+ }
22
+ function cellOf(r, tableTestId, rowNum, column) {
23
+ return row(r, rowNum, tableTestId).childNodes[column];
24
+ }
25
+ function cellAnd(r, row2, column, testId) {
26
+ return cell(r, row2, column).querySelector(`[data-testid="${testId}"]`) || fail(`Element not found ${prettyDOM(cell(r, row2, column))}`);
27
+ }
28
+ function row(r, row2, tableTestId = "gridTable") {
29
+ const dataRows = Array.from(r.getByTestId(tableTestId).querySelectorAll("[data-gridrow]"));
30
+ return dataRows[row2];
31
+ }
32
+ function rowAnd(r, rowNum, testId) {
33
+ const e = row(r, rowNum);
34
+ return e.querySelector(`[data-testid="${testId}"]`) || fail(`Element not found ${prettyDOM(e)}`);
35
+ }
36
+ function tableSnapshot(r, columnNames = []) {
37
+ const tableEl = r.getByTestId("gridTable");
38
+ const dataRows = Array.from(tableEl.querySelectorAll("[data-gridrow]"));
39
+ const hasExpandableHeader = !!tableEl.querySelector(`[data-testid="expandableColumn"]`);
40
+ let tableDataAsStrings = dataRows.map((row2) => {
41
+ return Array.from(row2.childNodes).map(getTextFromTableCellNode);
42
+ });
43
+ if (columnNames.length > 0) {
44
+ const headerCells = tableDataAsStrings[0];
45
+ if (headerCells) {
46
+ const columnIndices = columnNames.map((name) => {
47
+ const i = headerCells.indexOf(name);
48
+ if (i === -1) throw new Error(`Could not find header '${name}' in ${headerCells.join(", ")}`);
49
+ return i;
50
+ });
51
+ tableDataAsStrings = tableDataAsStrings.map((row2) => columnIndices.map((index) => row2[index]));
52
+ }
53
+ }
54
+ return toMarkupTableString(tableDataAsStrings, hasExpandableHeader);
55
+ }
56
+ function toMarkupTableString(tableRows, hasExpandableHeader) {
57
+ const columnWidths = tableRows.reduce((acc, row2) => {
58
+ row2.forEach((cell2, columnIndex) => {
59
+ const cellWidth = cell2?.length ?? 0;
60
+ const currentMaxWidth = acc.get(columnIndex) ?? 0;
61
+ if (cellWidth > currentMaxWidth || !currentMaxWidth) acc.set(columnIndex, cellWidth);
62
+ });
63
+ return acc;
64
+ }, /* @__PURE__ */ new Map());
65
+ const wrapTableRowEnds = (str) => `| ${str} |`;
66
+ const rowsWithPaddingAndDividers = tableRows.map((tableCells) => {
67
+ const formattedRow = tableCells.map((cell2, columnIndex) => {
68
+ const cellWidth = columnWidths.get(columnIndex) ?? 0;
69
+ return cell2?.padEnd(cellWidth, " ") || "";
70
+ }).join(" | ");
71
+ return wrapTableRowEnds(formattedRow);
72
+ });
73
+ const headerDivider = Array.from(columnWidths.values()).map((width) => "-".repeat(width) ?? "").join(" | ");
74
+ const headerDividerRowNumber = hasExpandableHeader ? 2 : 1;
75
+ rowsWithPaddingAndDividers.splice(headerDividerRowNumber, 0, wrapTableRowEnds(headerDivider));
76
+ return `
77
+ ${rowsWithPaddingAndDividers.join("\n")}
78
+ `;
79
+ }
80
+ function getTextFromTableCellNode(node) {
81
+ if (node.nodeType === Node.ELEMENT_NODE) {
82
+ const element = node;
83
+ const maybeInput = element.getElementsByTagName("input")[0];
84
+ if (maybeInput) return maybeInput.value;
85
+ const maybeTextarea = element.getElementsByTagName("textarea")[0];
86
+ if (maybeTextarea) return maybeTextarea.value;
87
+ const maybeSelect = element.getElementsByTagName("select")[0];
88
+ if (maybeSelect) return maybeSelect.value;
89
+ }
90
+ return node.textContent;
91
+ }
92
+ function select(select2, value) {
93
+ assertListBoxInput(select2);
94
+ ensureListBoxOpen(select2);
95
+ const optionValues = Array.isArray(value) ? value : [value];
96
+ optionValues.forEach((optionValue) => selectOption(select2, optionValue));
97
+ }
98
+ async function selectAndWait(select2, value) {
99
+ await allowAndWaitForAsyncBehavior(() => ensureListBoxOpen(select2));
100
+ return allowAndWaitForAsyncBehavior(() => {
101
+ const optionValues = Array.isArray(value) ? value : [value];
102
+ optionValues.forEach((optionValue) => selectOption(select2, optionValue));
103
+ });
104
+ }
105
+ function ensureListBoxOpen(select2) {
106
+ const expanded = select2.getAttribute("aria-expanded") === "true";
107
+ if (!expanded) {
108
+ _click(select2);
109
+ }
110
+ }
111
+ function selectOption(select2, optionValue) {
112
+ const listbox = findListBox(select2);
113
+ const options = listbox.querySelectorAll("[role=option]");
114
+ const optionToSelect = Array.from(options).find(
115
+ (o) => o.dataset.key === optionValue || o.dataset.label === optionValue
116
+ );
117
+ if (!optionToSelect) {
118
+ throw new Error(`Could not find option with value or text content of ${optionValue}`);
119
+ }
120
+ if (optionToSelect.getAttribute("aria-disabled")) {
121
+ throw new Error(`Cannot select disabled option ${optionValue}`);
122
+ }
123
+ _click(optionToSelect);
124
+ }
125
+ function getSelected(select2) {
126
+ if (isSelectElement(select2)) {
127
+ throw new Error("Beam getSelected helper does not support <select> elements");
128
+ }
129
+ if (!isInputOrTextAreaElement(select2) && select2.dataset.readonly === "true") {
130
+ return select2.textContent ?? void 0;
131
+ }
132
+ ensureListBoxOpen(select2);
133
+ const listbox = findListBox(select2);
134
+ const options = listbox.querySelectorAll("[role=option]");
135
+ const selections = Array.from(options).filter((o) => o.getAttribute("aria-selected") === "true").map((o) => o.dataset.label ?? o.dataset.key ?? "").filter((o) => !!o);
136
+ return selections.length > 0 ? selections.length > 1 ? selections : selections[0] : void 0;
137
+ }
138
+ function getOptions(select2) {
139
+ assertListBoxInput(select2);
140
+ ensureListBoxOpen(select2);
141
+ const listbox = findListBox(select2);
142
+ const options = listbox.querySelectorAll("[role=option]");
143
+ return Array.from(options).map((o) => o.dataset.label ?? o.dataset.key ?? "").filter((o) => !!o);
144
+ }
145
+ function findListBox(select2) {
146
+ if (select2.tagName === "DIV") fail("SelectField is readOnly");
147
+ const listboxId = select2.getAttribute("aria-controls") || fail("aria-controls attribute not found, the SelectField is probably readOnly");
148
+ return document.getElementById(listboxId) || fail("listbox not found");
149
+ }
150
+ function assertListBoxInput(select2) {
151
+ if (isSelectElement(select2)) {
152
+ throw new Error("Beam getOptions helper does not support <select> elements");
153
+ }
154
+ if (!isInputOrTextAreaElement(select2)) {
155
+ throw new Error(
156
+ `Expected element to be INPUT or TEXTAREA, but got ${select2.nodeName}. This field may be read-only. In that case we cannot get the list of options`
157
+ );
158
+ }
159
+ return true;
160
+ }
161
+ function isSelectElement(element) {
162
+ return element.nodeName === "SELECT";
163
+ }
164
+ function isInputOrTextAreaElement(element) {
165
+ return element.nodeName === "INPUT" || element.nodeName === "TEXTAREA";
166
+ }
167
+ export {
168
+ _blur as blur,
169
+ cell,
170
+ cellAnd,
171
+ cellOf,
172
+ _change as change,
173
+ _click as click,
174
+ _clickAndWait as clickAndWait,
175
+ _focus as focus,
176
+ getOptions,
177
+ getSelected,
178
+ _input as input,
179
+ row,
180
+ rowAnd,
181
+ select,
182
+ selectAndWait,
183
+ tableSnapshot,
184
+ _type as type,
185
+ _typeAndWait as typeAndWait,
186
+ _wait as wait
187
+ };
188
+ //# sourceMappingURL=rtlUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/rtlUtils.tsx"],"sourcesContent":["import {\n blur as _blur,\n change as _change,\n click as _click,\n clickAndWait as _clickAndWait,\n focus as _focus,\n input as _input,\n type as _type,\n typeAndWait as _typeAndWait,\n wait as _wait,\n allowAndWaitForAsyncBehavior,\n RenderResult,\n} from \"@homebound/rtl-utils\";\nimport { prettyDOM } from \"@testing-library/react\";\nimport { fail } from \"src/utils/index\";\n\nexport {\n _blur as blur,\n _change as change,\n _click as click,\n _clickAndWait as clickAndWait,\n _focus as focus,\n _input as input,\n _type as type,\n _typeAndWait as typeAndWait,\n _wait as wait,\n};\n\n// This file is a collection of helpers for interacting with Beam components in tests.\n// We keep it separate from the `src/tests/rtl.tsx` file, which is the Beam tests\n// themselves use, which technically does re-export these `rtlUtils.tsx` helpers, but\n// also includes other helpers that are specific to Beam's test suite.\n//\n// (In particular, we cannot include/export any Beam components, i.e. BeamProvider, from\n// this file, because it ends up as a separate bundle in the `package.json` file, which\n// will be treated as separate components/providers than the primary bundle.)\n\nexport function cell(r: RenderResult, row: number, column: number): HTMLElement {\n return cellOf(r, \"gridTable\", row, column);\n}\n\nexport function cellOf(r: RenderResult, tableTestId: string, rowNum: number, column: number): HTMLElement {\n return row(r, rowNum, tableTestId).childNodes[column] as HTMLElement;\n}\n\nexport function cellAnd(r: RenderResult, row: number, column: number, testId: string): HTMLElement {\n return (\n cell(r, row, column).querySelector(`[data-testid=\"${testId}\"]`) ||\n fail(`Element not found ${prettyDOM(cell(r, row, column))}`)\n );\n}\n\nexport function row(r: RenderResult, row: number, tableTestId: string = \"gridTable\"): HTMLElement {\n const dataRows = Array.from(r.getByTestId(tableTestId).querySelectorAll(\"[data-gridrow]\"));\n return dataRows[row] as HTMLElement;\n}\n\nexport function rowAnd(r: RenderResult, rowNum: number, testId: string): HTMLElement {\n const e = row(r, rowNum);\n return e.querySelector(`[data-testid=\"${testId}\"]`) || fail(`Element not found ${prettyDOM(e)}`);\n}\n\n/** Intended to be used to generate a human-readable text\n * representation of a GridTable using the markdown table syntax.\n * * Example Use: expect(tableSnapshot(r)).toMatchInlineSnapshot(`\n \"\n | Name | Value |\n | ------------------------ | ----- |\n | Row 1 | 200 |\n | Row 2 with a longer name | 300 |\n | Row 3 | 1000 |\n \"\n `);\n * */\nexport function tableSnapshot(r: RenderResult, columnNames: string[] = []): string {\n const tableEl = r.getByTestId(\"gridTable\");\n const dataRows = Array.from(tableEl.querySelectorAll(\"[data-gridrow]\"));\n const hasExpandableHeader = !!tableEl.querySelector(`[data-testid=\"expandableColumn\"]`);\n\n let tableDataAsStrings = dataRows.map((row) => {\n return Array.from(row.childNodes).map(getTextFromTableCellNode);\n });\n\n // If the user wants a subset of columns, look for column names\n if (columnNames.length > 0) {\n const headerCells = tableDataAsStrings[0];\n if (headerCells) {\n const columnIndices = columnNames.map((name) => {\n const i = headerCells.indexOf(name);\n if (i === -1) throw new Error(`Could not find header '${name}' in ${headerCells.join(\", \")}`);\n return i;\n });\n tableDataAsStrings = tableDataAsStrings.map((row) => columnIndices.map((index) => row[index]));\n }\n }\n\n return toMarkupTableString(tableDataAsStrings, hasExpandableHeader);\n}\n\nfunction toMarkupTableString(tableRows: (string | null)[][], hasExpandableHeader: boolean): string {\n // Find the largest width of each column to set a consistent width for each row\n const columnWidths = tableRows.reduce((acc, row) => {\n row.forEach((cell, columnIndex) => {\n const cellWidth = cell?.length ?? 0;\n const currentMaxWidth = acc.get(columnIndex) ?? 0;\n if (cellWidth > currentMaxWidth || !currentMaxWidth) acc.set(columnIndex, cellWidth);\n });\n\n return acc;\n }, new Map<number, number>());\n\n const wrapTableRowEnds = (str: string) => `| ${str} |`;\n\n const rowsWithPaddingAndDividers = tableRows.map((tableCells) => {\n const formattedRow = tableCells\n .map((cell, columnIndex) => {\n const cellWidth = columnWidths.get(columnIndex) ?? 0;\n return cell?.padEnd(cellWidth, \" \") || \"\";\n })\n .join(\" | \");\n return wrapTableRowEnds(formattedRow);\n });\n\n const headerDivider = Array.from(columnWidths.values())\n .map((width) => \"-\".repeat(width) ?? \"\")\n .join(\" | \");\n\n const headerDividerRowNumber = hasExpandableHeader ? 2 : 1;\n rowsWithPaddingAndDividers.splice(headerDividerRowNumber, 0, wrapTableRowEnds(headerDivider));\n\n // Pad a newline on top and bottom for cleaner diffs\n return `\\n${rowsWithPaddingAndDividers.join(\"\\n\")}\\n`;\n}\n\n/** Prefer showing a `value` from a mocked input vs. the combined text content from an inputs markup */\nfunction getTextFromTableCellNode(node: ChildNode) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as HTMLElement;\n\n const maybeInput = element.getElementsByTagName(\"input\")[0];\n if (maybeInput) return maybeInput.value;\n\n const maybeTextarea = element.getElementsByTagName(\"textarea\")[0];\n if (maybeTextarea) return maybeTextarea.value;\n\n const maybeSelect = element.getElementsByTagName(\"select\")[0];\n if (maybeSelect) return maybeSelect.value;\n }\n\n return node.textContent;\n}\n\n/**\n * Selects an option from the Beam SelectField, MultiSelectField, and TreeSelectField components.\n *\n * For select fields that support multiple selections, subsequent calls to this function will toggle the selection state of an option.\n *\n * @param value The value or label of the option.\n * */\nexport function select(select: HTMLElement, value: string | string[]) {\n assertListBoxInput(select);\n ensureListBoxOpen(select);\n const optionValues = Array.isArray(value) ? value : [value];\n optionValues.forEach((optionValue) => selectOption(select, optionValue));\n}\n\nexport async function selectAndWait(select: HTMLElement, value: string | string[]): Promise<void> {\n // To work with React 18, we need to execute these as separate steps, otherwise\n // the `ensureListBoxOpen` async render won't flush, and the `selectOption` will fail.\n await allowAndWaitForAsyncBehavior(() => ensureListBoxOpen(select));\n return allowAndWaitForAsyncBehavior(() => {\n const optionValues = Array.isArray(value) ? value : [value];\n optionValues.forEach((optionValue) => selectOption(select, optionValue));\n });\n}\n\nfunction ensureListBoxOpen(select: HTMLElement): void {\n const expanded = select.getAttribute(\"aria-expanded\") === \"true\";\n if (!expanded) {\n _click(select);\n }\n}\n\nfunction selectOption(select: HTMLElement, optionValue: string) {\n const listbox = findListBox(select);\n const options: NodeListOf<HTMLElement> = listbox.querySelectorAll(\"[role=option]\");\n // Allow searching for options by their data-key (value) or textContent (label)\n const optionToSelect = Array.from(options).find(\n (o: HTMLElement) => o.dataset.key === optionValue || o.dataset.label === optionValue,\n );\n if (!optionToSelect) {\n throw new Error(`Could not find option with value or text content of ${optionValue}`);\n }\n if (optionToSelect.getAttribute(\"aria-disabled\")) {\n throw new Error(`Cannot select disabled option ${optionValue}`);\n }\n _click(optionToSelect);\n}\n\nexport function getSelected(select: HTMLElement): string[] | string | undefined {\n if (isSelectElement(select)) {\n throw new Error(\"Beam getSelected helper does not support <select> elements\");\n }\n\n if (!isInputOrTextAreaElement(select) && select.dataset.readonly === \"true\") {\n // For read-only fields that render as a 'div'\n return select.textContent ?? undefined;\n }\n\n ensureListBoxOpen(select);\n\n const listbox = findListBox(select);\n const options: NodeListOf<HTMLElement> = listbox.querySelectorAll(\"[role=option]\");\n\n const selections: string[] = Array.from(options)\n .filter((o: HTMLElement) => o.getAttribute(\"aria-selected\") === \"true\")\n .map((o: HTMLElement) => o.dataset.label ?? o.dataset.key ?? \"\")\n // Filter out empty strings\n .filter((o) => !!o);\n\n return selections.length > 0 ? (selections.length > 1 ? selections : selections[0]) : undefined;\n}\n\nexport function getOptions(select: HTMLElement): string[] {\n assertListBoxInput(select);\n ensureListBoxOpen(select);\n\n const listbox = findListBox(select);\n const options: NodeListOf<HTMLElement> = listbox.querySelectorAll(\"[role=option]\");\n\n return Array.from(options)\n .map((o: HTMLElement) => o.dataset.label ?? o.dataset.key ?? \"\")\n .filter((o) => !!o);\n}\n\nfunction findListBox(select: HTMLElement): HTMLElement {\n if (select.tagName === \"DIV\") fail(\"SelectField is readOnly\");\n const listboxId =\n select.getAttribute(\"aria-controls\") ||\n fail(\"aria-controls attribute not found, the SelectField is probably readOnly\");\n return document.getElementById(listboxId) || fail(\"listbox not found\");\n}\n\nfunction assertListBoxInput(select: HTMLElement): select is HTMLInputElement | HTMLTextAreaElement {\n if (isSelectElement(select)) {\n throw new Error(\"Beam getOptions helper does not support <select> elements\");\n }\n if (!isInputOrTextAreaElement(select)) {\n throw new Error(\n `Expected element to be INPUT or TEXTAREA, but got ${select.nodeName}. This field may be read-only. In that case we cannot get the list of options`,\n );\n }\n return true;\n}\n\nfunction isSelectElement(element: HTMLElement): element is HTMLSelectElement {\n return element.nodeName === \"SELECT\";\n}\n\nfunction isInputOrTextAreaElement(element: HTMLElement): element is HTMLInputElement | HTMLTextAreaElement {\n return element.nodeName === \"INPUT\" || element.nodeName === \"TEXTAREA\";\n}\n"],"mappings":"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","names":["row","cell","select"]}