@oracle/oraclejet-preact 17.0.5 → 17.0.7

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 (1872) hide show
  1. package/amd/ActionCard-c8070525.js +1 -1
  2. package/amd/BarChart-be1d51d4.js +1 -1
  3. package/amd/BaseButton-83ce1d00.js +1 -1
  4. package/amd/BaseCardView-1aa0d986.js +1 -1
  5. package/amd/BaseCardViewSelectionTest-28e25f08.js +2 -0
  6. package/amd/BaseCardViewSelectionTest-28e25f08.js.map +1 -0
  7. package/amd/BaseNavigationListItem-4a940426.js +1 -1
  8. package/amd/ButtonSet-d8cd5447.js +1 -1
  9. package/amd/ButtonSetIconButton-08612ca6.js +1 -1
  10. package/amd/Center-5f845605.js +2 -0
  11. package/amd/Center-5f845605.js.map +1 -0
  12. package/amd/Chart-4796be31.js +1 -1
  13. package/amd/CheckboxControl-7d539ab3.js +1 -1
  14. package/amd/CheckboxRadioField-da88bd6f.js +1 -1
  15. package/amd/Chip-26339152.js +1 -1
  16. package/amd/ClearIcon-a29e57fb.js +1 -1
  17. package/amd/CollapseIcon-c433fd3e.js +1 -1
  18. package/amd/Collapsible-8f15bec2.js +1 -1
  19. package/amd/CompactHelpSource-7de24d56.js +1 -1
  20. package/amd/CompactLabelAssistance-91aeaa2e.js +2 -0
  21. package/amd/CompactLabelAssistance-91aeaa2e.js.map +1 -0
  22. package/amd/CompactUserAssistance-b2cbdbad.js +1 -1
  23. package/amd/ComponentMessageContainer-dc4b7c7f.js +1 -1
  24. package/amd/ConveyorBeltItem-d398eaa6.js +1 -1
  25. package/amd/DatePicker-3996fc76.js +2 -0
  26. package/amd/DatePicker-3996fc76.js.map +1 -0
  27. package/amd/DatePickerHeader-52c085e6.js +1 -1
  28. package/amd/Diagram-737e9921.js +2 -0
  29. package/amd/Diagram-737e9921.js.map +1 -0
  30. package/amd/DirectionalCollapseArrowIcon-09a24655.js +1 -1
  31. package/amd/DirectionalExpandArrowIcon-c8f2e596.js +1 -1
  32. package/amd/DragHandle-351a20be.js +1 -1
  33. package/amd/Dropdown-de472a1d.js +2 -0
  34. package/amd/Dropdown-de472a1d.js.map +1 -0
  35. package/amd/EnvironmentProvider-46d0a245.js +2 -0
  36. package/amd/EnvironmentProvider-46d0a245.js.map +1 -0
  37. package/amd/FilePicker-9b2fb661.js +1 -1
  38. package/amd/Flex-1f27b601.js +2 -0
  39. package/amd/Flex-1f27b601.js.map +1 -0
  40. package/amd/Floating-85851b1a.js +2 -0
  41. package/amd/Floating-85851b1a.js.map +1 -0
  42. package/amd/FormLayout-80b89e74.js +1 -1
  43. package/amd/Gantt-6fe34398.js +1 -1
  44. package/amd/Grid-85171367.js +2 -0
  45. package/amd/Grid-85171367.js.map +1 -0
  46. package/amd/Gridlines-11a94c28.js +2 -0
  47. package/amd/Gridlines-11a94c28.js.map +1 -0
  48. package/amd/GroupLoadingIndicator-e66ed431.js +1 -1
  49. package/amd/HighlightText-ad9bc1f8.js +2 -0
  50. package/amd/HighlightText-ad9bc1f8.js.map +1 -0
  51. package/amd/Icon-599f55f3.js +1 -1
  52. package/amd/IconButton-1b328b69.js +1 -1
  53. package/amd/IconMenuButton-c275cfbb.js +1 -1
  54. package/amd/IconSwitchButton-0e888503.js +1 -1
  55. package/amd/IconToggleButton-563a5127.js +1 -1
  56. package/amd/IconUserAssistance-5bdaa6bf.js +2 -0
  57. package/amd/IconUserAssistance-5bdaa6bf.js.map +1 -0
  58. package/amd/Indexer-204a6d88.js +1 -1
  59. package/amd/InlineHelpSource-359fd9df.js +1 -1
  60. package/amd/InlineUserAssistance-f4d1fa1b.js +1 -1
  61. package/amd/InputDateMask-b7a27faa.js +1 -1
  62. package/amd/InputDatePicker-0012b304.js +2 -0
  63. package/amd/InputDatePicker-0012b304.js.map +1 -0
  64. package/amd/InputPassword-03f24e78.js +1 -1
  65. package/amd/InputText-da0a5c0f.js +1 -1
  66. package/amd/Label-3f8fc274.js +1 -1
  67. package/amd/LabelValueLayout-89e9f1be.js +1 -1
  68. package/amd/Layer-3cc44164.js +2 -0
  69. package/amd/Layer-3cc44164.js.map +1 -0
  70. package/amd/LayerHost-eab40731.js +2 -0
  71. package/amd/LayerHost-eab40731.js.map +1 -0
  72. package/amd/LayerManager-d0836029.js +2 -0
  73. package/amd/LayerManager-d0836029.js.map +1 -0
  74. package/amd/Legend-42f8653b.js +1 -1
  75. package/amd/LineAreaChart-2057f8b4.js +2 -0
  76. package/amd/LineAreaChart-2057f8b4.js.map +1 -0
  77. package/amd/Link-6f583879.js +1 -1
  78. package/amd/List-5958c802.js +1 -1
  79. package/amd/ListItemLayout-dba9e24b.js +2 -0
  80. package/amd/ListItemLayout-dba9e24b.js.map +1 -0
  81. package/amd/ListView-27d10b67.js +1 -1
  82. package/amd/LiveRegion-be6f36d7.js +2 -0
  83. package/amd/LiveRegion-be6f36d7.js.map +1 -0
  84. package/amd/MaxLengthCounter-caafceef.js +2 -0
  85. package/amd/MaxLengthCounter-caafceef.js.map +1 -0
  86. package/amd/MaxLengthLiveRegion-23d7e335.js +2 -0
  87. package/amd/MaxLengthLiveRegion-23d7e335.js.map +1 -0
  88. package/amd/Menu-51409b28.js +2 -0
  89. package/amd/Menu-51409b28.js.map +1 -0
  90. package/amd/MenuButton-c8fb534d.js +1 -1
  91. package/amd/MenuItem-644f8619.js +1 -1
  92. package/amd/Message-51d787d0.js +1 -1
  93. package/amd/MessageLayer-d2c49999.js +2 -0
  94. package/amd/MessageLayer-d2c49999.js.map +1 -0
  95. package/amd/MessageToast-e0e07765.js +1 -1
  96. package/amd/MessagesManager-78a10f78.js +1 -1
  97. package/amd/MeterBar-38666619.js +1 -1
  98. package/amd/MeterCircle-f1561632.js +1 -1
  99. package/amd/Modal-8c095bea.js +2 -0
  100. package/amd/Modal-8c095bea.js.map +1 -0
  101. package/amd/MonthView-b5d1d69d.js +2 -0
  102. package/amd/MonthView-b5d1d69d.js.map +1 -0
  103. package/amd/NavigationListItem-c96ac144.js +1 -1
  104. package/amd/NumberInputText-0d8284f8.js +1 -1
  105. package/amd/OverflowTabBarItem-f781e527.js +1 -1
  106. package/amd/PRIVATE_BaseCardView.js +1 -1
  107. package/amd/PRIVATE_Chart.js +1 -1
  108. package/amd/PRIVATE_CheckboxControl.js +1 -1
  109. package/amd/PRIVATE_CheckboxRadioField.js +1 -1
  110. package/amd/PRIVATE_ClearIcon.js +1 -1
  111. package/amd/PRIVATE_DatePickerHeader.js +1 -1
  112. package/amd/PRIVATE_DatePickerLayout.js +1 -1
  113. package/amd/PRIVATE_EmbeddedIconButton.js +1 -1
  114. package/amd/PRIVATE_FormControls.js +1 -1
  115. package/amd/PRIVATE_IconSwitchButton.js +1 -1
  116. package/amd/PRIVATE_Icons/CheckboxMixed.js +1 -1
  117. package/amd/PRIVATE_Icons/CheckboxOff.js +1 -1
  118. package/amd/PRIVATE_Icons/CheckboxOn.js +1 -1
  119. package/amd/PRIVATE_Icons/RadiobuttonOff.js +1 -1
  120. package/amd/PRIVATE_Icons/RadiobuttonOn.js +1 -1
  121. package/amd/PRIVATE_Icons/WarningS.js +1 -1
  122. package/amd/PRIVATE_List.js +1 -1
  123. package/amd/PRIVATE_Message.js +1 -1
  124. package/amd/PRIVATE_MessageLayer.js +1 -1
  125. package/amd/PRIVATE_MonthView.js +1 -1
  126. package/amd/PRIVATE_MonthYearGridView.js +1 -1
  127. package/amd/PRIVATE_PlotArea.js +1 -1
  128. package/amd/PRIVATE_RevealToggleIcon.js +1 -1
  129. package/amd/PRIVATE_SelectCommon.js +1 -1
  130. package/amd/PRIVATE_StyledCheckbox.js +1 -1
  131. package/amd/PRIVATE_Table.js +1 -1
  132. package/amd/PRIVATE_ThemedIcons/CalendarIcon.js +1 -1
  133. package/amd/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +1 -1
  134. package/amd/PRIVATE_ThemedIcons/ChartPanIcon.js +1 -1
  135. package/amd/PRIVATE_ThemedIcons/ChartZoomIcon.js +1 -1
  136. package/amd/PRIVATE_ThemedIcons/CheckIcon.js +1 -1
  137. package/amd/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +1 -1
  138. package/amd/PRIVATE_ThemedIcons/CheckboxOffIcon.js +1 -1
  139. package/amd/PRIVATE_ThemedIcons/CheckboxOnIcon.js +1 -1
  140. package/amd/PRIVATE_ThemedIcons/CloseIcon.js +1 -1
  141. package/amd/PRIVATE_ThemedIcons/CollapseIcon.js +1 -1
  142. package/amd/PRIVATE_ThemedIcons/CollapseUpIcon.js +1 -1
  143. package/amd/PRIVATE_ThemedIcons/DecrementIcon.js +1 -1
  144. package/amd/PRIVATE_ThemedIcons/DeleteIcon.js +1 -1
  145. package/amd/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +1 -1
  146. package/amd/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +1 -1
  147. package/amd/PRIVATE_ThemedIcons/DropdownArrowIcon.js +1 -1
  148. package/amd/PRIVATE_ThemedIcons/ExpandIcon.js +1 -1
  149. package/amd/PRIVATE_ThemedIcons/HelpIcon.js +1 -1
  150. package/amd/PRIVATE_ThemedIcons/IncrementIcon.js +1 -1
  151. package/amd/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +1 -1
  152. package/amd/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +1 -1
  153. package/amd/PRIVATE_ThemedIcons/MessageErrorIcon.js +1 -1
  154. package/amd/PRIVATE_ThemedIcons/MessageInfoIcon.js +1 -1
  155. package/amd/PRIVATE_ThemedIcons/MessageWarningIcon.js +1 -1
  156. package/amd/PRIVATE_ThemedIcons/MinusIcon.js +1 -1
  157. package/amd/PRIVATE_ThemedIcons/NavDownIcon.js +1 -1
  158. package/amd/PRIVATE_ThemedIcons/PlusIcon.js +1 -1
  159. package/amd/PRIVATE_ThemedIcons/RadioOffIcon.js +1 -1
  160. package/amd/PRIVATE_ThemedIcons/RadioOnIcon.js +1 -1
  161. package/amd/PRIVATE_ThemedIcons/SortAscendingIcon.js +1 -1
  162. package/amd/PRIVATE_ThemedIcons/SortDefaultIcon.js +1 -1
  163. package/amd/PRIVATE_ThemedIcons/SortDescendingIcon.js +1 -1
  164. package/amd/PRIVATE_ThemedIcons/ViewHideIcon.js +1 -1
  165. package/amd/PRIVATE_ThemedIcons/ViewIcon.js +1 -1
  166. package/amd/PRIVATE_TimeComponent.js +1 -1
  167. package/amd/PRIVATE_VisTabularDatatip.js +1 -1
  168. package/amd/PictoChart-4d70af90.js +1 -1
  169. package/amd/PieChart-ab4c95f7.js +2 -0
  170. package/amd/PieChart-ab4c95f7.js.map +1 -0
  171. package/amd/Popup-249d77c3.js +2 -0
  172. package/amd/Popup-249d77c3.js.map +1 -0
  173. package/amd/ProgressBar-f82d6b43.js +2 -0
  174. package/amd/ProgressBar-f82d6b43.js.map +1 -0
  175. package/amd/ProgressCircle-fc85cd7c.js +2 -0
  176. package/amd/ProgressCircle-fc85cd7c.js.map +1 -0
  177. package/amd/RadioItem-27c120ba.js +1 -1
  178. package/amd/RatingGauge-dfe9f698.js +1 -1
  179. package/amd/ReadonlyTextFieldInput-a5e85e5d.js +1 -1
  180. package/amd/RemovableNavigationListItem-87ecbae7.js +1 -1
  181. package/amd/RemovableTabBarItem-89287a9b.js +1 -1
  182. package/amd/ReorderableTabBar-05821909.js +1 -1
  183. package/amd/RevealToggleIcon-ef89d654.js +1 -1
  184. package/amd/SectionalLegend-798dbecb.js +1 -1
  185. package/amd/SectionedContent-655a773a.js +2 -0
  186. package/amd/SectionedContent-655a773a.js.map +1 -0
  187. package/amd/SelectMultiple-fabd883c.js +1 -1
  188. package/amd/SelectSingle-34d636a8.js +1 -1
  189. package/amd/SelectionCard-0ecc7773.js +2 -0
  190. package/amd/SelectionCard-0ecc7773.js.map +1 -0
  191. package/amd/Selector-ad2af152.js +1 -1
  192. package/amd/SelectorAll-879d186e.js +1 -1
  193. package/amd/Sheet-6447f399.js +2 -0
  194. package/amd/Sheet-6447f399.js.map +1 -0
  195. package/amd/SplitMenuButton-deb0fc04.js +1 -1
  196. package/amd/StyledTextField-8ac3bbb4.js +1 -1
  197. package/amd/Submenu-b20a55aa.js +1 -1
  198. package/amd/TabBar-10096a0c.js +1 -1
  199. package/amd/TabBarItem-7f4a5e0b.js +1 -1
  200. package/amd/TabBarLayout-f8e0fcad.js +1 -1
  201. package/amd/TabBarMixed-5adc54c4.js +1 -1
  202. package/amd/TabBarMixedSeparator-10a52b13.js +2 -0
  203. package/amd/TabBarMixedSeparator-10a52b13.js.map +1 -0
  204. package/amd/Table-fda0ad21.js +1 -1
  205. package/amd/TagCloud-a37fcea5.js +1 -1
  206. package/amd/TextArea-44c90bc4.js +2 -0
  207. package/amd/TextArea-44c90bc4.js.map +1 -0
  208. package/amd/TextAreaAutosize-0a023972.js +2 -0
  209. package/amd/TextAreaAutosize-0a023972.js.map +1 -0
  210. package/amd/TextField-0fc70892.js +1 -1
  211. package/amd/TextFieldInput-dfd9529f.js +1 -1
  212. package/amd/Theme-redwood/theme.css +251 -251
  213. package/amd/Theme-stable/theme.css +341 -341
  214. package/amd/TimeComponentCanvas2D-d4a5891c.js +1 -1
  215. package/amd/Toolbar-98c1d888.js +1 -1
  216. package/amd/TruncatingBadge-67192c05.js +1 -1
  217. package/amd/TruncatingText-27ffd8e4.js +1 -1
  218. package/amd/UNSAFE_ActionCard.js +1 -1
  219. package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
  220. package/amd/UNSAFE_BarChart.js +1 -1
  221. package/amd/UNSAFE_BaseButton.js +1 -1
  222. package/amd/UNSAFE_Button.js +1 -1
  223. package/amd/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
  224. package/amd/UNSAFE_ButtonSet.js +1 -1
  225. package/amd/UNSAFE_ButtonSetButton.js +1 -1
  226. package/amd/UNSAFE_ButtonSetIconButton.js +1 -1
  227. package/amd/UNSAFE_ButtonSetItem.js +1 -1
  228. package/amd/UNSAFE_ButtonSetMultiple.js +1 -1
  229. package/amd/UNSAFE_ButtonSetSingle.js +1 -1
  230. package/amd/UNSAFE_CardFlexView.js +1 -1
  231. package/amd/UNSAFE_CardGridView.js +1 -1
  232. package/amd/UNSAFE_Center.js +1 -1
  233. package/amd/UNSAFE_ChartWithLegend.js +1 -1
  234. package/amd/UNSAFE_Checkbox.js +1 -1
  235. package/amd/UNSAFE_CheckboxItem.js +1 -1
  236. package/amd/UNSAFE_CheckboxSet.js +1 -1
  237. package/amd/UNSAFE_Chip.js +1 -1
  238. package/amd/UNSAFE_Collapsible.js +1 -1
  239. package/amd/UNSAFE_ComponentMessage.js +1 -1
  240. package/amd/UNSAFE_ConveyorBelt.js +1 -1
  241. package/amd/UNSAFE_DatePicker.js +1 -1
  242. package/amd/UNSAFE_Diagram.js +1 -1
  243. package/amd/UNSAFE_Dialog.js +1 -1
  244. package/amd/UNSAFE_DragHandle.js +1 -1
  245. package/amd/UNSAFE_DrawerLayout.js +1 -1
  246. package/amd/UNSAFE_DrawerPopup.js +1 -1
  247. package/amd/UNSAFE_Dropdown.js +1 -1
  248. package/amd/UNSAFE_Environment.js +1 -1
  249. package/amd/UNSAFE_ExpandableList.js +1 -1
  250. package/amd/UNSAFE_FilePicker.js +1 -1
  251. package/amd/UNSAFE_Flex.js +1 -1
  252. package/amd/UNSAFE_Floating.js +1 -1
  253. package/amd/UNSAFE_FormLayout.js +1 -1
  254. package/amd/UNSAFE_Gantt.js +1 -1
  255. package/amd/UNSAFE_Grid.js +1 -1
  256. package/amd/UNSAFE_HighlightText.js +1 -1
  257. package/amd/UNSAFE_Icon.js +1 -1
  258. package/amd/UNSAFE_IconButton.js +1 -1
  259. package/amd/UNSAFE_IconMenuButton.js +1 -1
  260. package/amd/UNSAFE_IconToggleButton.js +1 -1
  261. package/amd/UNSAFE_Indexer.js +1 -1
  262. package/amd/UNSAFE_InputDateMask.js +1 -1
  263. package/amd/UNSAFE_InputDatePicker.js +1 -1
  264. package/amd/UNSAFE_InputPassword.js +1 -1
  265. package/amd/UNSAFE_InputSensitiveText.js +1 -1
  266. package/amd/UNSAFE_InputText.js +1 -1
  267. package/amd/UNSAFE_Label.js +1 -1
  268. package/amd/UNSAFE_LabelValueLayout.js +1 -1
  269. package/amd/UNSAFE_LabelledLink.js +1 -1
  270. package/amd/UNSAFE_Layer.js +1 -1
  271. package/amd/UNSAFE_Legend.js +1 -1
  272. package/amd/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +1 -1
  273. package/amd/UNSAFE_LineAreaChart.js +1 -1
  274. package/amd/UNSAFE_Link.js +1 -1
  275. package/amd/UNSAFE_ListItemLayout.js +1 -1
  276. package/amd/UNSAFE_ListView.js +1 -1
  277. package/amd/UNSAFE_LiveRegion.js +1 -1
  278. package/amd/UNSAFE_Menu.js +1 -1
  279. package/amd/UNSAFE_MenuButton.js +1 -1
  280. package/amd/UNSAFE_MessageBanner.js +1 -1
  281. package/amd/UNSAFE_MessageToast.js +1 -1
  282. package/amd/UNSAFE_MeterBar.js +1 -1
  283. package/amd/UNSAFE_MeterCircle.js +1 -1
  284. package/amd/UNSAFE_Modal.js +1 -1
  285. package/amd/UNSAFE_NavigationList.js +1 -1
  286. package/amd/UNSAFE_NavigationListCommon.js +1 -1
  287. package/amd/UNSAFE_NumberInputText.js +1 -1
  288. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  289. package/amd/UNSAFE_PictoChart.js +1 -1
  290. package/amd/UNSAFE_PieChart/__test__/PieChart.spec.js +1 -1
  291. package/amd/UNSAFE_PieChart.js +1 -1
  292. package/amd/UNSAFE_Popup.js +1 -1
  293. package/amd/UNSAFE_ProgressBar.js +1 -1
  294. package/amd/UNSAFE_ProgressCircle.js +1 -1
  295. package/amd/UNSAFE_RadioItem.js +1 -1
  296. package/amd/UNSAFE_RadioSet.js +1 -1
  297. package/amd/UNSAFE_RatingGauge.js +1 -1
  298. package/amd/UNSAFE_ReorderableTabBar.js +1 -1
  299. package/amd/UNSAFE_SectionalLegend.js +1 -1
  300. package/amd/UNSAFE_SelectMultiple.js +1 -1
  301. package/amd/UNSAFE_SelectSingle.js +1 -1
  302. package/amd/UNSAFE_SelectionCard.js +1 -1
  303. package/amd/UNSAFE_Selector.js +1 -1
  304. package/amd/UNSAFE_SelectorAll.js +1 -1
  305. package/amd/UNSAFE_Sheet/__test__/Sheet.spec.js +1 -1
  306. package/amd/UNSAFE_Sheet.js +1 -1
  307. package/amd/UNSAFE_SplitMenuButton.js +1 -1
  308. package/amd/UNSAFE_TabBar.js +1 -1
  309. package/amd/UNSAFE_TabBarCommon.js +1 -1
  310. package/amd/UNSAFE_TabBarMixed.js +1 -1
  311. package/amd/UNSAFE_TableView.js +1 -1
  312. package/amd/UNSAFE_TagCloud.js +1 -1
  313. package/amd/UNSAFE_TextArea.js +1 -1
  314. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  315. package/amd/UNSAFE_TextField.js +1 -1
  316. package/amd/UNSAFE_ToggleButton.js +1 -1
  317. package/amd/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
  318. package/amd/UNSAFE_Toolbar.js +1 -1
  319. package/amd/UNSAFE_Train.js +1 -1
  320. package/amd/UNSAFE_TruncatingBadge.js +1 -1
  321. package/amd/UNSAFE_TruncatingText.js +1 -1
  322. package/amd/UNSAFE_UserAssistance.js +1 -1
  323. package/amd/UNSAFE_View.js +1 -1
  324. package/amd/UNSAFE_VirtualizedListView.js +1 -1
  325. package/amd/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +1 -1
  326. package/amd/UNSAFE_VisProgressiveLoader.js +1 -1
  327. package/amd/UNSAFE_VisStatusMessage.js +1 -1
  328. package/amd/UNSAFE_WindowOverlay.js +1 -1
  329. package/amd/View-8701dec6.js +2 -0
  330. package/amd/View-8701dec6.js.map +1 -0
  331. package/amd/VisNoData-bfb5065e.js +2 -0
  332. package/amd/VisNoData-bfb5065e.js.map +1 -0
  333. package/amd/VisProgressiveLoader-ef9de93a.js +2 -0
  334. package/amd/VisProgressiveLoader-ef9de93a.js.map +1 -0
  335. package/amd/VisTabularDatatip-5e43455b.js +2 -0
  336. package/amd/VisTabularDatatip-5e43455b.js.map +1 -0
  337. package/amd/WindowOverlay-c09fece2.js +2 -0
  338. package/amd/WindowOverlay-c09fece2.js.map +1 -0
  339. package/amd/YearsGridView-91e4744d.js +2 -0
  340. package/amd/YearsGridView-91e4744d.js.map +1 -0
  341. package/amd/hoc/PRIVATE_withDirectionIcon.js +1 -1
  342. package/amd/hoc/PRIVATE_withThemeIcon.js +1 -1
  343. package/amd/hoc/UNSAFE_withThemeProps.js +1 -1
  344. package/amd/hooks/PRIVATE_useChartContextMenu.js +1 -1
  345. package/amd/hooks/PRIVATE_useChartDatatip.js +1 -1
  346. package/amd/hooks/PRIVATE_useChartEvents.js +1 -1
  347. package/amd/hooks/PRIVATE_useChartMarquee.js +1 -1
  348. package/amd/hooks/PRIVATE_useCssVars.js +1 -1
  349. package/amd/hooks/PRIVATE_useCurrentKey.js +1 -1
  350. package/amd/hooks/PRIVATE_useDatatip.js +1 -1
  351. package/amd/hooks/PRIVATE_useFloating.js +1 -1
  352. package/amd/hooks/PRIVATE_useReorderable.js +1 -1
  353. package/amd/hooks/PRIVATE_useRovingTabIndexContainer.js +1 -1
  354. package/amd/hooks/PRIVATE_useSelection.js +1 -1
  355. package/amd/hooks/PRIVATE_useTabBar.js +1 -1
  356. package/amd/hooks/PRIVATE_useVisContextMenu.js +1 -1
  357. package/amd/hooks/PRIVATE_useVisEvents.js +1 -1
  358. package/amd/hooks/PRIVATE_useVisMeterEvents.js +1 -1
  359. package/amd/hooks/PRIVATE_useVisSelection.js +1 -1
  360. package/amd/hooks/UNSAFE_useColorScheme.js +1 -1
  361. package/amd/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  362. package/amd/hooks/UNSAFE_useCurrentBgColor.js +1 -1
  363. package/amd/hooks/UNSAFE_useDensity.js +1 -1
  364. package/amd/hooks/UNSAFE_useOutsideClick.js +1 -1
  365. package/amd/hooks/UNSAFE_usePrefixSuffix.js +1 -1
  366. package/amd/hooks/UNSAFE_useScale.js +1 -1
  367. package/amd/hooks/UNSAFE_useTestId.js +1 -1
  368. package/amd/hooks/UNSAFE_useTheme.js +1 -1
  369. package/amd/hooks/UNSAFE_useThemeInterpolations.js +1 -1
  370. package/amd/hooks/UNSAFE_useTooltip.js +1 -1
  371. package/amd/hooks/UNSAFE_useTranslationBundle.js +1 -1
  372. package/amd/hooks/UNSAFE_useUser.js +1 -1
  373. package/amd/index-17fdb080.js +2 -0
  374. package/amd/index-17fdb080.js.map +1 -0
  375. package/amd/listViewSelectionTests-a0132dcc.js +1 -1
  376. package/amd/render-9b32a558.js +2 -0
  377. package/amd/render-9b32a558.js.map +1 -0
  378. package/amd/tabbableUtils-5b5b70da.js +2 -0
  379. package/amd/tabbableUtils-5b5b70da.js.map +1 -0
  380. package/amd/testData-8e20304d.js +2 -0
  381. package/amd/testData-8e20304d.js.map +1 -0
  382. package/amd/useCellNavigation-37e0539a.js +1 -1
  383. package/amd/useChartContextMenu-c50617f2.js +1 -1
  384. package/amd/useChartDatatip-672232af.js +2 -0
  385. package/amd/useChartDatatip-672232af.js.map +1 -0
  386. package/amd/useChartMarquee-0e818e77.js +1 -1
  387. package/amd/useColorScheme-711c1e4b.js +2 -0
  388. package/amd/useColorScheme-711c1e4b.js.map +1 -0
  389. package/amd/useContextMenu-e6b10380.js +1 -1
  390. package/amd/useCssVars-948d1e7c.js +2 -0
  391. package/amd/useCssVars-948d1e7c.js.map +1 -0
  392. package/amd/useCurrentBgColor-40103ccc.js +2 -0
  393. package/amd/useCurrentBgColor-40103ccc.js.map +1 -0
  394. package/amd/useCurrentKey-00f81f0b.js +2 -0
  395. package/amd/useCurrentKey-00f81f0b.js.map +1 -0
  396. package/amd/useDatatip-d00735e9.js +2 -0
  397. package/amd/useDatatip-d00735e9.js.map +1 -0
  398. package/amd/useDensity-435224bb.js +2 -0
  399. package/amd/useDensity-435224bb.js.map +1 -0
  400. package/amd/useFloating-bbd3396b.js +2 -0
  401. package/amd/useFloating-bbd3396b.js.map +1 -0
  402. package/amd/useKeyboardEvents-e9a2b72b.js +2 -0
  403. package/amd/useKeyboardEvents-e9a2b72b.js.map +1 -0
  404. package/amd/useLegendContextMenu-5b1ca75b.js +1 -1
  405. package/amd/useMeterDatatip-60af9281.js +2 -0
  406. package/amd/useMeterDatatip-60af9281.js.map +1 -0
  407. package/amd/useOutsideClick-4519a64e.js +2 -0
  408. package/amd/useOutsideClick-4519a64e.js.map +1 -0
  409. package/amd/usePopupAnimation-273054a0.js +2 -0
  410. package/amd/usePopupAnimation-273054a0.js.map +1 -0
  411. package/amd/usePrefixSuffix-6ad5569e.js +2 -0
  412. package/amd/usePrefixSuffix-6ad5569e.js.map +1 -0
  413. package/amd/useReorderableItem-d977f935.js +1 -1
  414. package/amd/useRovingTabIndexContainer-12784fca.js +2 -0
  415. package/amd/useRovingTabIndexContainer-12784fca.js.map +1 -0
  416. package/amd/useScale-e6b83382.js +2 -0
  417. package/amd/useScale-e6b83382.js.map +1 -0
  418. package/amd/useSelectCommon-8657b927.js +1 -1
  419. package/amd/useSelectDrill-f2ae347c.js +2 -0
  420. package/amd/useSelectDrill-f2ae347c.js.map +1 -0
  421. package/amd/useSelection-0440840d.js +2 -0
  422. package/amd/useSelection-0440840d.js.map +1 -0
  423. package/amd/useSelection-f1d96ce9.js +2 -0
  424. package/amd/useSelection-f1d96ce9.js.map +1 -0
  425. package/amd/useTabBar-451e6953.js +2 -0
  426. package/amd/useTabBar-451e6953.js.map +1 -0
  427. package/amd/useTestId-82cf22a4.js +2 -0
  428. package/amd/useTestId-82cf22a4.js.map +1 -0
  429. package/amd/useTheme-1941efb7.js +2 -0
  430. package/amd/useTheme-1941efb7.js.map +1 -0
  431. package/amd/useThemeInterpolations-41cbd433.js +2 -0
  432. package/amd/useThemeInterpolations-41cbd433.js.map +1 -0
  433. package/amd/useTooltip-d28e9b0f.js +2 -0
  434. package/amd/useTooltip-d28e9b0f.js.map +1 -0
  435. package/amd/useTooltipControlled-abf886f2.js +2 -0
  436. package/amd/useTooltipControlled-abf886f2.js.map +1 -0
  437. package/amd/useTranslationBundle-6ef0dab6.js +2 -0
  438. package/amd/useTranslationBundle-6ef0dab6.js.map +1 -0
  439. package/amd/useUser-6dd85af9.js +2 -0
  440. package/amd/useUser-6dd85af9.js.map +1 -0
  441. package/amd/useVisEvents-75dbf576.js +2 -0
  442. package/amd/useVisEvents-75dbf576.js.map +1 -0
  443. package/amd/utils/PRIVATE_visTestUtils.js +1 -1
  444. package/amd/withDirectionIcon-c0ee0f7e.js +2 -0
  445. package/amd/withDirectionIcon-c0ee0f7e.js.map +1 -0
  446. package/cjs/ActionCard-aade4e40.js +1 -1
  447. package/cjs/BarChart-11c56b6a.js +2 -2
  448. package/cjs/BaseButton-ff6f39f2.js +2 -2
  449. package/cjs/BaseCardView-99f89fbf.js +619 -0
  450. package/cjs/BaseCardView-99f89fbf.js.map +1 -0
  451. package/cjs/BaseCardViewSelectionTest-1d3dd9f3.js +696 -0
  452. package/cjs/BaseCardViewSelectionTest-1d3dd9f3.js.map +1 -0
  453. package/cjs/BaseNavigationListItem-070d75bc.js +1 -1
  454. package/cjs/ButtonSet-dc50f9d4.js +2 -2
  455. package/cjs/ButtonSetIconButton-50543cd6.js +2 -2
  456. package/cjs/CardFlexView-48f39ef2.js +29 -0
  457. package/cjs/CardFlexView-48f39ef2.js.map +1 -0
  458. package/cjs/CardGridView-6bb427fe.js +17 -0
  459. package/cjs/CardGridView-6bb427fe.js.map +1 -0
  460. package/cjs/Center-a76dcdfe.js +18 -0
  461. package/cjs/Center-a76dcdfe.js.map +1 -0
  462. package/cjs/Chart-6684fa6d.js +9 -9
  463. package/cjs/CheckboxControl-24658cde.js +6 -6
  464. package/cjs/CheckboxRadioField-0d4b2c66.js +5 -5
  465. package/cjs/CheckboxSet-13a5c10c.js +53 -0
  466. package/cjs/CheckboxSet-13a5c10c.js.map +1 -0
  467. package/cjs/Chip-a24817e0.js +1 -1
  468. package/cjs/ClearIcon-50725213.js +1 -1
  469. package/cjs/CollapseIcon-a1da1523.js +1 -1
  470. package/cjs/Collapsible-95f66549.js +2 -2
  471. package/cjs/CompactHelpSource-f4e9198b.js +2 -2
  472. package/cjs/CompactLabelAssistance-7dd6ac2c.js +29 -0
  473. package/cjs/CompactLabelAssistance-7dd6ac2c.js.map +1 -0
  474. package/cjs/CompactUserAssistance-f88519f9.js +4 -4
  475. package/cjs/ComponentMessageContainer-a9195577.js +4 -4
  476. package/cjs/ConveyorBeltItem-a0d53a2f.js +2 -2
  477. package/cjs/DatePicker-3c46ec73.js +564 -0
  478. package/cjs/DatePicker-3c46ec73.js.map +1 -0
  479. package/cjs/DatePickerHeader-589e8b78.js +3 -3
  480. package/cjs/Diagram-5e7f1aec.js +2000 -0
  481. package/cjs/Diagram-5e7f1aec.js.map +1 -0
  482. package/cjs/DirectionalCollapseArrowIcon-d2b24ac3.js +1 -1
  483. package/cjs/DirectionalExpandArrowIcon-adf981f6.js +1 -1
  484. package/cjs/DragHandle-d35fc8ac.js +1 -1
  485. package/cjs/Dropdown-7baf2926.js +82 -0
  486. package/cjs/Dropdown-7baf2926.js.map +1 -0
  487. package/cjs/EnvironmentProvider-e5a93f24.js +61 -0
  488. package/cjs/EnvironmentProvider-e5a93f24.js.map +1 -0
  489. package/cjs/FilePicker-47c7bc3f.js +2 -2
  490. package/cjs/Flex-6529d995.js +33 -0
  491. package/cjs/Flex-6529d995.js.map +1 -0
  492. package/cjs/Floating-9e569e63.js +464 -0
  493. package/cjs/Floating-9e569e63.js.map +1 -0
  494. package/cjs/FormLayout-ab6f90b8.js +1 -1
  495. package/cjs/Gantt-912df32a.js +9 -9
  496. package/cjs/Grid-fe4fef40.js +29 -0
  497. package/cjs/Grid-fe4fef40.js.map +1 -0
  498. package/cjs/Gridlines-b31d8972.js +123 -0
  499. package/cjs/Gridlines-b31d8972.js.map +1 -0
  500. package/cjs/GroupLoadingIndicator-3c9d8341.js +2 -2
  501. package/cjs/HighlightText-da873ed3.js +33 -0
  502. package/cjs/HighlightText-da873ed3.js.map +1 -0
  503. package/cjs/Icon-3ffd13dc.js +2 -2
  504. package/cjs/IconButton-94f8ca5c.js +2 -2
  505. package/cjs/IconMenuButton-426f2aa8.js +4 -4
  506. package/cjs/IconSwitchButton-094ace3a.js +2 -2
  507. package/cjs/IconToggleButton-0c415743.js +2 -2
  508. package/cjs/IconUserAssistance-cee464a4.js +75 -0
  509. package/cjs/IconUserAssistance-cee464a4.js.map +1 -0
  510. package/cjs/Indexer-0663a593.js +339 -0
  511. package/cjs/Indexer-0663a593.js.map +1 -0
  512. package/cjs/InlineHelpSource-7b793104.js +1 -1
  513. package/cjs/InlineUserAssistance-ad3fa8cc.js +5 -5
  514. package/cjs/InputDateMask-f15d926d.js +7 -7
  515. package/cjs/InputDatePicker-005c03d0.js +8 -8
  516. package/cjs/InputPassword-16e31428.js +4 -4
  517. package/cjs/InputText-75ae1f44.js +6 -6
  518. package/cjs/Label-d9ad059f.js +5 -5
  519. package/cjs/LabelValueLayout-24937fa5.js +1 -1
  520. package/cjs/Layer-845cc772.js +87 -0
  521. package/cjs/Layer-845cc772.js.map +1 -0
  522. package/cjs/LayerHost-a6007465.js +45 -0
  523. package/cjs/LayerHost-a6007465.js.map +1 -0
  524. package/cjs/LayerManager-6fa20e12.js +36 -0
  525. package/cjs/LayerManager-6fa20e12.js.map +1 -0
  526. package/cjs/Legend-a03cbeb5.js +3 -3
  527. package/cjs/LineAreaChart-e8165e93.js +225 -0
  528. package/cjs/LineAreaChart-e8165e93.js.map +1 -0
  529. package/cjs/Link-98de6624.js +1 -1
  530. package/cjs/List-8802ce35.js +566 -0
  531. package/cjs/List-8802ce35.js.map +1 -0
  532. package/cjs/ListItemLayout-24a81393.js +60 -0
  533. package/cjs/ListItemLayout-24a81393.js.map +1 -0
  534. package/cjs/ListView-f7871b48.js +388 -0
  535. package/cjs/ListView-f7871b48.js.map +1 -0
  536. package/cjs/LiveRegion-fcb0bb37.js +41 -0
  537. package/cjs/LiveRegion-fcb0bb37.js.map +1 -0
  538. package/cjs/LoadMoreCollection-69bc038c.js +34 -0
  539. package/cjs/LoadMoreCollection-69bc038c.js.map +1 -0
  540. package/cjs/MaxLengthLiveRegion-2dba8c9c.js +25 -0
  541. package/cjs/MaxLengthLiveRegion-2dba8c9c.js.map +1 -0
  542. package/cjs/Menu-afcc3db8.js +317 -0
  543. package/cjs/Menu-afcc3db8.js.map +1 -0
  544. package/cjs/MenuButton-58fd9f46.js +3 -3
  545. package/cjs/MenuItem-9a73694f.js +1 -1
  546. package/cjs/Message-b703f9e4.js +2 -2
  547. package/cjs/MessageLayer-b2a48a1f.js +61 -0
  548. package/cjs/MessageLayer-b2a48a1f.js.map +1 -0
  549. package/cjs/MessageToast-4462ab8d.js +8 -8
  550. package/cjs/MessagesManager-9cc43d3a.js +3 -3
  551. package/cjs/MeterBar-97378f96.js +4 -4
  552. package/cjs/MeterCircle-71fd9b44.js +4 -4
  553. package/cjs/Modal-fd178291.js +258 -0
  554. package/cjs/Modal-fd178291.js.map +1 -0
  555. package/cjs/MonthView-de994aa0.js +154 -0
  556. package/cjs/MonthView-de994aa0.js.map +1 -0
  557. package/cjs/NavigationListItem-994a877b.js +153 -0
  558. package/cjs/NavigationListItem-994a877b.js.map +1 -0
  559. package/cjs/NumberInputText-8771fbad.js +6 -6
  560. package/cjs/OverflowTabBarItem-47fb81c4.js +88 -0
  561. package/cjs/OverflowTabBarItem-47fb81c4.js.map +1 -0
  562. package/cjs/PRIVATE_BaseCardView.js +22 -22
  563. package/cjs/PRIVATE_Chart.js +29 -29
  564. package/cjs/PRIVATE_CheckboxControl.js +21 -21
  565. package/cjs/PRIVATE_CheckboxRadioField.js +22 -22
  566. package/cjs/PRIVATE_ClearIcon.js +16 -16
  567. package/cjs/PRIVATE_DatePickerHeader.js +18 -18
  568. package/cjs/PRIVATE_DatePickerLayout.js +4 -4
  569. package/cjs/PRIVATE_EmbeddedIconButton.js +3 -3
  570. package/cjs/PRIVATE_FormControls.js +19 -19
  571. package/cjs/PRIVATE_IconSwitchButton.js +14 -14
  572. package/cjs/PRIVATE_Icons/CheckboxMixed.js +14 -14
  573. package/cjs/PRIVATE_Icons/CheckboxOff.js +14 -14
  574. package/cjs/PRIVATE_Icons/CheckboxOn.js +14 -14
  575. package/cjs/PRIVATE_Icons/RadiobuttonOff.js +14 -14
  576. package/cjs/PRIVATE_Icons/RadiobuttonOn.js +14 -14
  577. package/cjs/PRIVATE_Icons/WarningS.js +14 -14
  578. package/cjs/PRIVATE_List.js +22 -22
  579. package/cjs/PRIVATE_LoadMoreCollection.js +2 -2
  580. package/cjs/PRIVATE_Message.js +17 -17
  581. package/cjs/PRIVATE_MessageLayer.js +11 -11
  582. package/cjs/PRIVATE_MonthView.js +7 -7
  583. package/cjs/PRIVATE_MonthYearGridView.js +7 -7
  584. package/cjs/PRIVATE_PlotArea.js +4 -4
  585. package/cjs/PRIVATE_RevealToggleIcon.js +15 -15
  586. package/cjs/PRIVATE_SelectCommon.js +31 -31
  587. package/cjs/PRIVATE_StyledCheckbox.js +14 -14
  588. package/cjs/PRIVATE_Table.js +19 -19
  589. package/cjs/PRIVATE_ThemedIcons/CalendarIcon.js +14 -14
  590. package/cjs/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +14 -14
  591. package/cjs/PRIVATE_ThemedIcons/ChartPanIcon.js +14 -14
  592. package/cjs/PRIVATE_ThemedIcons/ChartZoomIcon.js +14 -14
  593. package/cjs/PRIVATE_ThemedIcons/CheckIcon.js +14 -14
  594. package/cjs/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +14 -14
  595. package/cjs/PRIVATE_ThemedIcons/CheckboxOffIcon.js +14 -14
  596. package/cjs/PRIVATE_ThemedIcons/CheckboxOnIcon.js +14 -14
  597. package/cjs/PRIVATE_ThemedIcons/CloseIcon.js +14 -14
  598. package/cjs/PRIVATE_ThemedIcons/CollapseIcon.js +15 -15
  599. package/cjs/PRIVATE_ThemedIcons/CollapseUpIcon.js +14 -14
  600. package/cjs/PRIVATE_ThemedIcons/DecrementIcon.js +14 -14
  601. package/cjs/PRIVATE_ThemedIcons/DeleteIcon.js +14 -14
  602. package/cjs/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +15 -15
  603. package/cjs/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +15 -15
  604. package/cjs/PRIVATE_ThemedIcons/DropdownArrowIcon.js +14 -14
  605. package/cjs/PRIVATE_ThemedIcons/ExpandIcon.js +14 -14
  606. package/cjs/PRIVATE_ThemedIcons/HelpIcon.js +14 -14
  607. package/cjs/PRIVATE_ThemedIcons/IncrementIcon.js +14 -14
  608. package/cjs/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +14 -14
  609. package/cjs/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +14 -14
  610. package/cjs/PRIVATE_ThemedIcons/MessageErrorIcon.js +14 -14
  611. package/cjs/PRIVATE_ThemedIcons/MessageInfoIcon.js +14 -14
  612. package/cjs/PRIVATE_ThemedIcons/MessageWarningIcon.js +14 -14
  613. package/cjs/PRIVATE_ThemedIcons/MinusIcon.js +14 -14
  614. package/cjs/PRIVATE_ThemedIcons/NavDownIcon.js +14 -14
  615. package/cjs/PRIVATE_ThemedIcons/PlusIcon.js +14 -14
  616. package/cjs/PRIVATE_ThemedIcons/RadioOffIcon.js +14 -14
  617. package/cjs/PRIVATE_ThemedIcons/RadioOnIcon.js +14 -14
  618. package/cjs/PRIVATE_ThemedIcons/SortAscendingIcon.js +14 -14
  619. package/cjs/PRIVATE_ThemedIcons/SortDefaultIcon.js +14 -14
  620. package/cjs/PRIVATE_ThemedIcons/SortDescendingIcon.js +14 -14
  621. package/cjs/PRIVATE_ThemedIcons/ViewHideIcon.js +14 -14
  622. package/cjs/PRIVATE_ThemedIcons/ViewIcon.js +14 -14
  623. package/cjs/PRIVATE_TimeComponent.js +17 -17
  624. package/cjs/PRIVATE_VirtualizedCollection.js +2 -2
  625. package/cjs/PRIVATE_VisTabularDatatip.js +4 -4
  626. package/cjs/PictoChart-bbd66c57.js +6 -6
  627. package/cjs/PieChart-af6fad17.js +435 -0
  628. package/cjs/PieChart-af6fad17.js.map +1 -0
  629. package/cjs/Popup-a793c4a2.js +242 -0
  630. package/cjs/Popup-a793c4a2.js.map +1 -0
  631. package/cjs/ProgressBar-c1bfc481.js +60 -0
  632. package/cjs/ProgressBar-c1bfc481.js.map +1 -0
  633. package/cjs/ProgressCircle-579da214.js +46 -0
  634. package/cjs/ProgressCircle-579da214.js.map +1 -0
  635. package/cjs/RadioItem-f53a057a.js +6 -6
  636. package/cjs/RatingGauge-bafed83c.js +7 -7
  637. package/cjs/ReadonlyTextFieldInput-fb7ffa5e.js +1 -1
  638. package/cjs/RemovableNavigationListItem-6231df42.js +1 -1
  639. package/cjs/RemovableTabBarItem-df8144f5.js +2 -2
  640. package/cjs/ReorderableTabBar-5743c66a.js +2 -2
  641. package/cjs/RevealToggleIcon-b5738e5e.js +1 -1
  642. package/cjs/SectionalLegend-959d7977.js +4 -4
  643. package/cjs/SectionedContent-5e956228.js +67 -0
  644. package/cjs/SectionedContent-5e956228.js.map +1 -0
  645. package/cjs/SelectMultiple-fcfb029a.js +1321 -0
  646. package/cjs/SelectMultiple-fcfb029a.js.map +1 -0
  647. package/cjs/SelectSingle-40cb868a.js +721 -0
  648. package/cjs/SelectSingle-40cb868a.js.map +1 -0
  649. package/cjs/SelectionCard-9a4f325f.js +40 -0
  650. package/cjs/SelectionCard-9a4f325f.js.map +1 -0
  651. package/cjs/Selector-cc35dbb1.js +1 -1
  652. package/cjs/SelectorAll-d8d3cb7b.js +5 -5
  653. package/cjs/Sheet-c3a675fc.js +161 -0
  654. package/cjs/Sheet-c3a675fc.js.map +1 -0
  655. package/cjs/SplitMenuButton-336bb8d6.js +3 -3
  656. package/cjs/StyledTextField-351ea57e.js +3 -3
  657. package/cjs/Submenu-b7daab71.js +1 -1
  658. package/cjs/TabBar-73bb6c97.js +6 -6
  659. package/cjs/TabBarItem-2b3039aa.js +3 -3
  660. package/cjs/TabBarLayout-c2efbeb3.js +1 -1
  661. package/cjs/TabBarMixed-426fcaf1.js +6 -6
  662. package/cjs/TabBarMixedSeparator-e949e3c9.js +21 -0
  663. package/cjs/TabBarMixedSeparator-e949e3c9.js.map +1 -0
  664. package/cjs/Table-17b3dbc3.js +3501 -0
  665. package/cjs/Table-17b3dbc3.js.map +1 -0
  666. package/cjs/TableView-26f85ff8.js +26 -0
  667. package/cjs/TableView-26f85ff8.js.map +1 -0
  668. package/cjs/TagCloud-26a38c04.js +9 -9
  669. package/cjs/TextArea-b2646d51.js +5 -5
  670. package/cjs/TextAreaAutosize-d8cad6ce.js +5 -5
  671. package/cjs/TextField-0f4e945f.js +3 -3
  672. package/cjs/TextFieldInput-4904c227.js +1 -1
  673. package/cjs/Theme-redwood/theme.css +170 -170
  674. package/cjs/Theme-stable/theme.css +204 -204
  675. package/cjs/TimeComponentCanvas2D-babbee35.js +4 -4
  676. package/cjs/Toolbar-415d636a.js +1 -1
  677. package/cjs/TruncatingBadge-7516b73e.js +2 -2
  678. package/cjs/TruncatingText-238fc336.js +2 -2
  679. package/cjs/UNSAFE_ActionCard.js +2 -2
  680. package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +29 -29
  681. package/cjs/UNSAFE_BarChart.js +29 -29
  682. package/cjs/UNSAFE_BaseButton.js +3 -3
  683. package/cjs/UNSAFE_Button.js +3 -3
  684. package/cjs/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +18 -18
  685. package/cjs/UNSAFE_ButtonSet.js +4 -4
  686. package/cjs/UNSAFE_ButtonSetButton.js +3 -3
  687. package/cjs/UNSAFE_ButtonSetIconButton.js +14 -14
  688. package/cjs/UNSAFE_ButtonSetItem.js +14 -14
  689. package/cjs/UNSAFE_ButtonSetMultiple.js +4 -4
  690. package/cjs/UNSAFE_ButtonSetSingle.js +4 -4
  691. package/cjs/UNSAFE_CardFlexView.js +23 -23
  692. package/cjs/UNSAFE_CardGridView.js +23 -23
  693. package/cjs/UNSAFE_Center.js +5 -5
  694. package/cjs/UNSAFE_ChartWithLegend.js +4 -4
  695. package/cjs/UNSAFE_Checkbox.js +21 -21
  696. package/cjs/UNSAFE_CheckboxItem.js +100 -50
  697. package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
  698. package/cjs/UNSAFE_CheckboxSet.js +36 -65
  699. package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
  700. package/cjs/UNSAFE_Chip.js +2 -2
  701. package/cjs/UNSAFE_Collapsible.js +16 -16
  702. package/cjs/UNSAFE_ComponentMessage.js +17 -17
  703. package/cjs/UNSAFE_ConveyorBelt.js +14 -14
  704. package/cjs/UNSAFE_DatePicker.js +23 -23
  705. package/cjs/UNSAFE_Diagram.js +15 -15
  706. package/cjs/UNSAFE_Dialog.js +9 -9
  707. package/cjs/UNSAFE_DragHandle.js +15 -15
  708. package/cjs/UNSAFE_DrawerLayout.js +11 -11
  709. package/cjs/UNSAFE_DrawerPopup.js +10 -10
  710. package/cjs/UNSAFE_Dropdown.js +12 -12
  711. package/cjs/UNSAFE_Environment.js +4 -4
  712. package/cjs/UNSAFE_ExpandableList.js +24 -24
  713. package/cjs/UNSAFE_FilePicker.js +4 -4
  714. package/cjs/UNSAFE_Flex.js +4 -4
  715. package/cjs/UNSAFE_Floating.js +10 -10
  716. package/cjs/UNSAFE_FormLayout.js +2 -2
  717. package/cjs/UNSAFE_Gantt.js +21 -21
  718. package/cjs/UNSAFE_Grid.js +4 -4
  719. package/cjs/UNSAFE_HighlightText.js +4 -4
  720. package/cjs/UNSAFE_Icon.js +14 -14
  721. package/cjs/UNSAFE_IconButton.js +14 -14
  722. package/cjs/UNSAFE_IconMenuButton.js +18 -18
  723. package/cjs/UNSAFE_IconToggleButton.js +14 -14
  724. package/cjs/UNSAFE_Indexer.js +8 -8
  725. package/cjs/UNSAFE_InputDateMask.js +22 -22
  726. package/cjs/UNSAFE_InputDatePicker.js +31 -31
  727. package/cjs/UNSAFE_InputPassword.js +21 -21
  728. package/cjs/UNSAFE_InputSensitiveText.js +23 -23
  729. package/cjs/UNSAFE_InputText.js +24 -24
  730. package/cjs/UNSAFE_Label.js +21 -21
  731. package/cjs/UNSAFE_LabelValueLayout.js +4 -4
  732. package/cjs/UNSAFE_LabelledLink.js +23 -23
  733. package/cjs/UNSAFE_Layer.js +7 -7
  734. package/cjs/UNSAFE_Legend.js +22 -22
  735. package/cjs/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +29 -29
  736. package/cjs/UNSAFE_LineAreaChart.js +30 -30
  737. package/cjs/UNSAFE_Link.js +2 -2
  738. package/cjs/UNSAFE_ListItemLayout.js +5 -5
  739. package/cjs/UNSAFE_ListView.js +29 -29
  740. package/cjs/UNSAFE_LiveRegion.js +4 -4
  741. package/cjs/UNSAFE_Menu.js +20 -20
  742. package/cjs/UNSAFE_MenuButton.js +18 -18
  743. package/cjs/UNSAFE_MessageBanner.js +17 -17
  744. package/cjs/UNSAFE_MessageToast.js +20 -20
  745. package/cjs/UNSAFE_MeterBar.js +14 -14
  746. package/cjs/UNSAFE_MeterCircle.js +14 -14
  747. package/cjs/UNSAFE_Modal.js +7 -7
  748. package/cjs/UNSAFE_NavigationList.js +22 -22
  749. package/cjs/UNSAFE_NavigationListCommon.js +16 -16
  750. package/cjs/UNSAFE_NumberInputText.js +23 -23
  751. package/cjs/UNSAFE_OverflowTabBar.js +25 -25
  752. package/cjs/UNSAFE_PictoChart.js +13 -13
  753. package/cjs/UNSAFE_PieChart/__test__/PieChart.spec.js +14 -14
  754. package/cjs/UNSAFE_PieChart.js +14 -14
  755. package/cjs/UNSAFE_Popup.js +15 -15
  756. package/cjs/UNSAFE_ProgressBar.js +5 -5
  757. package/cjs/UNSAFE_ProgressCircle.js +4 -4
  758. package/cjs/UNSAFE_RadioItem.js +21 -21
  759. package/cjs/UNSAFE_RadioSet.js +21 -21
  760. package/cjs/UNSAFE_RatingGauge.js +15 -15
  761. package/cjs/UNSAFE_ReorderableTabBar.js +21 -21
  762. package/cjs/UNSAFE_SectionalLegend.js +23 -23
  763. package/cjs/UNSAFE_SelectMultiple.js +35 -35
  764. package/cjs/UNSAFE_SelectSingle.js +35 -35
  765. package/cjs/UNSAFE_SelectionCard.js +4 -4
  766. package/cjs/UNSAFE_Selector.js +14 -14
  767. package/cjs/UNSAFE_SelectorAll.js +17 -17
  768. package/cjs/UNSAFE_Sheet/__test__/Sheet.spec.js +13 -13
  769. package/cjs/UNSAFE_Sheet.js +10 -10
  770. package/cjs/UNSAFE_SplitMenuButton.js +18 -18
  771. package/cjs/UNSAFE_TabBar.js +26 -26
  772. package/cjs/UNSAFE_TabBarCommon.js +25 -25
  773. package/cjs/UNSAFE_TabBarMixed.js +29 -29
  774. package/cjs/UNSAFE_TableView.js +20 -20
  775. package/cjs/UNSAFE_TagCloud.js +22 -22
  776. package/cjs/UNSAFE_TextArea.js +23 -23
  777. package/cjs/UNSAFE_TextAreaAutosize.js +23 -23
  778. package/cjs/UNSAFE_TextField.js +7 -7
  779. package/cjs/UNSAFE_ToggleButton.js +3 -3
  780. package/cjs/UNSAFE_Toolbar/tests/Toolbar.spec.js +20 -20
  781. package/cjs/UNSAFE_Toolbar.js +4 -4
  782. package/cjs/UNSAFE_Train.js +15 -15
  783. package/cjs/UNSAFE_TruncatingBadge.js +15 -15
  784. package/cjs/UNSAFE_TruncatingText.js +15 -15
  785. package/cjs/UNSAFE_UserAssistance.js +22 -22
  786. package/cjs/UNSAFE_View.js +7 -7
  787. package/cjs/UNSAFE_VirtualizedListView.js +23 -23
  788. package/cjs/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  789. package/cjs/UNSAFE_VisProgressiveLoader.js +6 -6
  790. package/cjs/UNSAFE_VisStatusMessage.js +6 -6
  791. package/cjs/UNSAFE_WindowOverlay.js +4 -4
  792. package/cjs/View-8f49d970.js +170 -0
  793. package/cjs/View-8f49d970.js.map +1 -0
  794. package/cjs/VirtualizedCollection-9e8c48b9.js +180 -0
  795. package/cjs/VirtualizedCollection-9e8c48b9.js.map +1 -0
  796. package/cjs/VirtualizedListView-b4147305.js +16 -0
  797. package/cjs/VirtualizedListView-b4147305.js.map +1 -0
  798. package/cjs/VisNoData-b3159e5a.js +35 -0
  799. package/cjs/VisNoData-b3159e5a.js.map +1 -0
  800. package/cjs/VisProgressiveLoader-2cf7074b.js +53 -0
  801. package/cjs/VisProgressiveLoader-2cf7074b.js.map +1 -0
  802. package/cjs/VisTabularDatatip-96e5fcf3.js +26 -0
  803. package/cjs/VisTabularDatatip-96e5fcf3.js.map +1 -0
  804. package/cjs/WindowOverlay-bb51c0ee.js +112 -0
  805. package/cjs/WindowOverlay-bb51c0ee.js.map +1 -0
  806. package/cjs/YearsGridView-6affda7f.js +190 -0
  807. package/cjs/YearsGridView-6affda7f.js.map +1 -0
  808. package/cjs/hoc/PRIVATE_withDirectionIcon.js +4 -4
  809. package/cjs/hoc/PRIVATE_withThemeIcon.js +3 -3
  810. package/cjs/hoc/UNSAFE_withThemeProps.js +3 -3
  811. package/cjs/hooks/PRIVATE_useChartContextMenu.js +18 -18
  812. package/cjs/hooks/PRIVATE_useChartDatatip.js +13 -13
  813. package/cjs/hooks/PRIVATE_useChartEvents.js +17 -17
  814. package/cjs/hooks/PRIVATE_useChartMarquee.js +16 -16
  815. package/cjs/hooks/PRIVATE_useCssVars.js +7 -7
  816. package/cjs/hooks/PRIVATE_useCurrentKey.js +4 -4
  817. package/cjs/hooks/PRIVATE_useDatatip.js +11 -11
  818. package/cjs/hooks/PRIVATE_useFloating.js +4 -4
  819. package/cjs/hooks/PRIVATE_useReorderable.js +4 -4
  820. package/cjs/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  821. package/cjs/hooks/PRIVATE_useSelection.js +4 -4
  822. package/cjs/hooks/PRIVATE_useTabBar.js +5 -5
  823. package/cjs/hooks/PRIVATE_useVisContextMenu.js +18 -18
  824. package/cjs/hooks/PRIVATE_useVisEvents.js +4 -4
  825. package/cjs/hooks/PRIVATE_useVisMeterEvents.js +13 -13
  826. package/cjs/hooks/PRIVATE_useVisSelection.js +12 -12
  827. package/cjs/hooks/UNSAFE_useColorScheme.js +3 -3
  828. package/cjs/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  829. package/cjs/hooks/UNSAFE_useDensity.js +3 -3
  830. package/cjs/hooks/UNSAFE_useOutsideClick.js +7 -7
  831. package/cjs/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  832. package/cjs/hooks/UNSAFE_useScale.js +3 -3
  833. package/cjs/hooks/UNSAFE_useTestId.js +3 -3
  834. package/cjs/hooks/UNSAFE_useTheme.js +3 -3
  835. package/cjs/hooks/UNSAFE_useThemeInterpolations.js +5 -5
  836. package/cjs/hooks/UNSAFE_useTooltip.js +15 -15
  837. package/cjs/hooks/UNSAFE_useTranslationBundle.js +3 -3
  838. package/cjs/hooks/UNSAFE_useUser.js +3 -3
  839. package/cjs/index-5049ab6c.js +13 -0
  840. package/cjs/index-5049ab6c.js.map +1 -0
  841. package/cjs/listViewSelectionTests-3d07b4e3.js +4 -4
  842. package/cjs/render-7538ab25.js +41 -0
  843. package/cjs/render-7538ab25.js.map +1 -0
  844. package/cjs/tabbableUtils-5502f80e.js +81 -0
  845. package/cjs/tabbableUtils-5502f80e.js.map +1 -0
  846. package/cjs/testData-afbc1647.js +271 -0
  847. package/cjs/testData-afbc1647.js.map +1 -0
  848. package/cjs/useCellNavigation-24bff833.js +1 -1
  849. package/cjs/useChartContextMenu-d7ed939f.js +3 -3
  850. package/cjs/useChartDatatip-b838368c.js +137 -0
  851. package/cjs/useChartDatatip-b838368c.js.map +1 -0
  852. package/cjs/useChartMarquee-ab7c89ea.js +1 -1
  853. package/cjs/useColorScheme-b0ea4a49.js +21 -0
  854. package/cjs/useColorScheme-b0ea4a49.js.map +1 -0
  855. package/cjs/useContextMenu-f3cf0db8.js +3 -3
  856. package/cjs/useCssVars-839ce507.js +60 -0
  857. package/cjs/useCssVars-839ce507.js.map +1 -0
  858. package/cjs/useCurrentBgColor-2d0db090.js +21 -0
  859. package/cjs/useCurrentBgColor-2d0db090.js.map +1 -0
  860. package/cjs/useCurrentKey-9c158ccc.js +83 -0
  861. package/cjs/useCurrentKey-9c158ccc.js.map +1 -0
  862. package/cjs/useDatatip-1f5535bb.js +85 -0
  863. package/cjs/useDatatip-1f5535bb.js.map +1 -0
  864. package/cjs/useDensity-edb16927.js +21 -0
  865. package/cjs/useDensity-edb16927.js.map +1 -0
  866. package/cjs/useFloating-f4bbd8c4.js +1926 -0
  867. package/cjs/useFloating-f4bbd8c4.js.map +1 -0
  868. package/cjs/useKeyboardEvents-1b2187c2.js +81 -0
  869. package/cjs/useKeyboardEvents-1b2187c2.js.map +1 -0
  870. package/cjs/useLegendContextMenu-a10bd2fc.js +5 -5
  871. package/cjs/useMeterDatatip-93d199d6.js +81 -0
  872. package/cjs/useMeterDatatip-93d199d6.js.map +1 -0
  873. package/cjs/useOutsideClick-b22e1d4a.js +87 -0
  874. package/cjs/useOutsideClick-b22e1d4a.js.map +1 -0
  875. package/cjs/usePopupAnimation-d58b2664.js +87 -0
  876. package/cjs/usePopupAnimation-d58b2664.js.map +1 -0
  877. package/cjs/usePrefixSuffix-544b49ad.js +72 -0
  878. package/cjs/usePrefixSuffix-544b49ad.js.map +1 -0
  879. package/cjs/useReorderableItem-02ed8243.js +2 -2
  880. package/cjs/useRovingTabIndexContainer-c03da9ff.js +100 -0
  881. package/cjs/useRovingTabIndexContainer-c03da9ff.js.map +1 -0
  882. package/cjs/useScale-c5e9172c.js +21 -0
  883. package/cjs/useScale-c5e9172c.js.map +1 -0
  884. package/cjs/useSelectCommon-d39e90e2.js +633 -0
  885. package/cjs/useSelectCommon-d39e90e2.js.map +1 -0
  886. package/cjs/useSelectDrill-303b8cba.js +103 -0
  887. package/cjs/useSelectDrill-303b8cba.js.map +1 -0
  888. package/cjs/useSelection-05fa772e.js +243 -0
  889. package/cjs/useSelection-05fa772e.js.map +1 -0
  890. package/cjs/useSelection-1fe0f2c2.js +183 -0
  891. package/cjs/useSelection-1fe0f2c2.js.map +1 -0
  892. package/cjs/useTabBar-8bd94c1b.js +154 -0
  893. package/cjs/useTabBar-8bd94c1b.js.map +1 -0
  894. package/cjs/useTestId-71c3de70.js +23 -0
  895. package/cjs/useTestId-71c3de70.js.map +1 -0
  896. package/cjs/useTheme-f85b8938.js +21 -0
  897. package/cjs/useTheme-f85b8938.js.map +1 -0
  898. package/cjs/useThemeInterpolations-50ce3d68.js +33 -0
  899. package/cjs/useThemeInterpolations-50ce3d68.js.map +1 -0
  900. package/cjs/useTooltip-29b90247.js +53 -0
  901. package/cjs/useTooltip-29b90247.js.map +1 -0
  902. package/cjs/useTooltipControlled-a907e06c.js +456 -0
  903. package/cjs/useTooltipControlled-a907e06c.js.map +1 -0
  904. package/cjs/useTranslationBundle-7fcd8bd5.js +31 -0
  905. package/cjs/useTranslationBundle-7fcd8bd5.js.map +1 -0
  906. package/cjs/useUser-c8e9a94a.js +21 -0
  907. package/cjs/useUser-c8e9a94a.js.map +1 -0
  908. package/cjs/useVisEvents-b000a96f.js +155 -0
  909. package/cjs/useVisEvents-b000a96f.js.map +1 -0
  910. package/cjs/utils/PRIVATE_visTestUtils.js +5 -5
  911. package/cjs/withDirectionIcon-b6772ee8.js +16 -0
  912. package/cjs/withDirectionIcon-b6772ee8.js.map +1 -0
  913. package/es/ActionCard-623c6191.js +1 -1
  914. package/es/BarChart-72948598.js +567 -0
  915. package/es/BarChart-72948598.js.map +1 -0
  916. package/es/BaseButton-5b2791b1.js +2 -2
  917. package/es/BaseCardView-59efba85.js +6 -6
  918. package/es/BaseCardViewSelectionTest-6796b2b4.js +683 -0
  919. package/es/BaseCardViewSelectionTest-6796b2b4.js.map +1 -0
  920. package/es/BaseNavigationListItem-3a377d46.js +119 -0
  921. package/es/BaseNavigationListItem-3a377d46.js.map +1 -0
  922. package/es/ButtonSet-fa7e8acd.js +2 -2
  923. package/es/ButtonSetIconButton-c5860cc1.js +2 -2
  924. package/es/Center-2ffc1dcc.js +16 -0
  925. package/es/Center-2ffc1dcc.js.map +1 -0
  926. package/es/Chart-304043b3.js +332 -0
  927. package/es/Chart-304043b3.js.map +1 -0
  928. package/es/CheckboxControl-7174e0b2.js +6 -6
  929. package/es/CheckboxRadioField-c7c4643e.js +5 -5
  930. package/es/Chip-2c86a76f.js +1 -1
  931. package/es/ClearIcon-f1f796b4.js +1 -1
  932. package/es/CollapseIcon-b6d7cfd6.js +1 -1
  933. package/es/Collapsible-4cdc17e3.js +2 -2
  934. package/es/CompactHelpSource-548938ff.js +2 -2
  935. package/es/CompactLabelAssistance-fc9478aa.js +27 -0
  936. package/es/CompactLabelAssistance-fc9478aa.js.map +1 -0
  937. package/es/CompactUserAssistance-41c32c6f.js +4 -4
  938. package/es/ComponentMessageContainer-7d9228a3.js +4 -4
  939. package/es/ConveyorBeltItem-3d1d7f3c.js +2 -2
  940. package/es/DatePicker-4356274b.js +562 -0
  941. package/es/DatePicker-4356274b.js.map +1 -0
  942. package/es/DatePickerHeader-7078d6e8.js +3 -3
  943. package/es/Diagram-214e374c.js +1998 -0
  944. package/es/Diagram-214e374c.js.map +1 -0
  945. package/es/DirectionalCollapseArrowIcon-0298f5ef.js +1 -1
  946. package/es/DirectionalExpandArrowIcon-cf8fd7a8.js +1 -1
  947. package/es/DragHandle-9514fcdc.js +1 -1
  948. package/es/Dropdown-717319bb.js +80 -0
  949. package/es/Dropdown-717319bb.js.map +1 -0
  950. package/es/EnvironmentProvider-f543a463.js +58 -0
  951. package/es/EnvironmentProvider-f543a463.js.map +1 -0
  952. package/es/FilePicker-d8a0ad3a.js +2 -2
  953. package/es/Flex-24628925.js +30 -0
  954. package/es/Flex-24628925.js.map +1 -0
  955. package/es/Floating-9703160e.js +462 -0
  956. package/es/Floating-9703160e.js.map +1 -0
  957. package/es/FormLayout-ecd0259b.js +1 -1
  958. package/es/Gantt-b21af627.js +9 -9
  959. package/es/Grid-cfeac922.js +27 -0
  960. package/es/Grid-cfeac922.js.map +1 -0
  961. package/es/Gridlines-428bf909.js +120 -0
  962. package/es/Gridlines-428bf909.js.map +1 -0
  963. package/es/GroupLoadingIndicator-9c995e99.js +1 -1
  964. package/es/HighlightText-180e29f6.js +31 -0
  965. package/es/HighlightText-180e29f6.js.map +1 -0
  966. package/es/Icon-90c3a630.js +2 -2
  967. package/es/IconButton-37310d21.js +2 -2
  968. package/es/IconMenuButton-9fe6cbf9.js +4 -4
  969. package/es/IconSwitchButton-61cabbfe.js +2 -2
  970. package/es/IconToggleButton-f57e5484.js +2 -2
  971. package/es/IconUserAssistance-c226cb4f.js +73 -0
  972. package/es/IconUserAssistance-c226cb4f.js.map +1 -0
  973. package/es/Indexer-a671092c.js +4 -4
  974. package/es/InlineHelpSource-b43def76.js +1 -1
  975. package/es/InlineUserAssistance-bb690d93.js +5 -5
  976. package/es/InputDateMask-7386adfe.js +7 -7
  977. package/es/InputDatePicker-7f9852d0.js +323 -0
  978. package/es/InputDatePicker-7f9852d0.js.map +1 -0
  979. package/es/InputPassword-1f1f80b3.js +4 -4
  980. package/es/InputText-5fb896e7.js +6 -6
  981. package/es/Label-6674b3f2.js +5 -5
  982. package/es/LabelValueLayout-23b74176.js +1 -1
  983. package/es/Layer-9b06412e.js +84 -0
  984. package/es/Layer-9b06412e.js.map +1 -0
  985. package/es/LayerHost-45f545d7.js +40 -0
  986. package/es/LayerHost-45f545d7.js.map +1 -0
  987. package/es/LayerManager-625d2503.js +34 -0
  988. package/es/LayerManager-625d2503.js.map +1 -0
  989. package/es/Legend-98a79c12.js +3 -3
  990. package/es/LineAreaChart-c6564934.js +223 -0
  991. package/es/LineAreaChart-c6564934.js.map +1 -0
  992. package/es/Link-bfa35319.js +1 -1
  993. package/es/List-9026206d.js +5 -5
  994. package/es/ListItemLayout-695ec1a5.js +58 -0
  995. package/es/ListItemLayout-695ec1a5.js.map +1 -0
  996. package/es/ListView-c508c3a4.js +3 -3
  997. package/es/LiveRegion-81216fe6.js +39 -0
  998. package/es/LiveRegion-81216fe6.js.map +1 -0
  999. package/es/MaxLengthLiveRegion-cd15b075.js +23 -0
  1000. package/es/MaxLengthLiveRegion-cd15b075.js.map +1 -0
  1001. package/es/Menu-c7ab8412.js +313 -0
  1002. package/es/Menu-c7ab8412.js.map +1 -0
  1003. package/es/MenuButton-39563941.js +3 -3
  1004. package/es/MenuItem-a8f9c954.js +1 -1
  1005. package/es/Message-be36b84a.js +2 -2
  1006. package/es/MessageLayer-0946d6b7.js +58 -0
  1007. package/es/MessageLayer-0946d6b7.js.map +1 -0
  1008. package/es/MessageToast-2fa3c9d4.js +8 -8
  1009. package/es/MessagesManager-0d60fea1.js +3 -3
  1010. package/es/MeterBar-bdd7f9da.js +4 -4
  1011. package/es/MeterCircle-fd10f18b.js +4 -4
  1012. package/es/Modal-6b11d8cb.js +255 -0
  1013. package/es/Modal-6b11d8cb.js.map +1 -0
  1014. package/es/MonthView-cc017afe.js +152 -0
  1015. package/es/MonthView-cc017afe.js.map +1 -0
  1016. package/es/NavigationListItem-f44c1083.js +150 -0
  1017. package/es/NavigationListItem-f44c1083.js.map +1 -0
  1018. package/es/NumberInputText-21ded33a.js +6 -6
  1019. package/es/OverflowTabBarItem-f4360269.js +86 -0
  1020. package/es/OverflowTabBarItem-f4360269.js.map +1 -0
  1021. package/es/PRIVATE_BaseCardView.js +19 -19
  1022. package/es/PRIVATE_Chart.js +33 -33
  1023. package/es/PRIVATE_CheckboxControl.js +21 -21
  1024. package/es/PRIVATE_CheckboxRadioField.js +22 -22
  1025. package/es/PRIVATE_ClearIcon.js +16 -16
  1026. package/es/PRIVATE_DatePickerHeader.js +18 -18
  1027. package/es/PRIVATE_DatePickerLayout.js +4 -4
  1028. package/es/PRIVATE_EmbeddedIconButton.js +3 -3
  1029. package/es/PRIVATE_FormControls.js +19 -19
  1030. package/es/PRIVATE_IconSwitchButton.js +14 -14
  1031. package/es/PRIVATE_Icons/CheckboxMixed.js +14 -14
  1032. package/es/PRIVATE_Icons/CheckboxOff.js +14 -14
  1033. package/es/PRIVATE_Icons/CheckboxOn.js +14 -14
  1034. package/es/PRIVATE_Icons/RadiobuttonOff.js +14 -14
  1035. package/es/PRIVATE_Icons/RadiobuttonOn.js +14 -14
  1036. package/es/PRIVATE_Icons/WarningS.js +14 -14
  1037. package/es/PRIVATE_List.js +18 -18
  1038. package/es/PRIVATE_Message.js +17 -17
  1039. package/es/PRIVATE_MessageLayer.js +11 -11
  1040. package/es/PRIVATE_MonthView.js +7 -7
  1041. package/es/PRIVATE_MonthYearGridView.js +7 -7
  1042. package/es/PRIVATE_PlotArea.js +4 -4
  1043. package/es/PRIVATE_RevealToggleIcon.js +15 -15
  1044. package/es/PRIVATE_SelectCommon.js +26 -26
  1045. package/es/PRIVATE_StyledCheckbox.js +14 -14
  1046. package/es/PRIVATE_Table.js +16 -16
  1047. package/es/PRIVATE_ThemedIcons/CalendarIcon.js +14 -14
  1048. package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +14 -14
  1049. package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +14 -14
  1050. package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +14 -14
  1051. package/es/PRIVATE_ThemedIcons/CheckIcon.js +14 -14
  1052. package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +14 -14
  1053. package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +14 -14
  1054. package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +14 -14
  1055. package/es/PRIVATE_ThemedIcons/CloseIcon.js +14 -14
  1056. package/es/PRIVATE_ThemedIcons/CollapseIcon.js +15 -15
  1057. package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +14 -14
  1058. package/es/PRIVATE_ThemedIcons/DecrementIcon.js +14 -14
  1059. package/es/PRIVATE_ThemedIcons/DeleteIcon.js +14 -14
  1060. package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +15 -15
  1061. package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +15 -15
  1062. package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +14 -14
  1063. package/es/PRIVATE_ThemedIcons/ExpandIcon.js +14 -14
  1064. package/es/PRIVATE_ThemedIcons/HelpIcon.js +14 -14
  1065. package/es/PRIVATE_ThemedIcons/IncrementIcon.js +14 -14
  1066. package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +14 -14
  1067. package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +14 -14
  1068. package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +14 -14
  1069. package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +14 -14
  1070. package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +14 -14
  1071. package/es/PRIVATE_ThemedIcons/MinusIcon.js +14 -14
  1072. package/es/PRIVATE_ThemedIcons/NavDownIcon.js +14 -14
  1073. package/es/PRIVATE_ThemedIcons/PlusIcon.js +14 -14
  1074. package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +14 -14
  1075. package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +14 -14
  1076. package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +14 -14
  1077. package/es/PRIVATE_ThemedIcons/SortDefaultIcon.js +14 -14
  1078. package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +14 -14
  1079. package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +14 -14
  1080. package/es/PRIVATE_ThemedIcons/ViewIcon.js +14 -14
  1081. package/es/PRIVATE_TimeComponent.js +17 -17
  1082. package/es/PRIVATE_VisTabularDatatip.js +4 -4
  1083. package/es/PictoChart-20c9a0c2.js +6 -6
  1084. package/es/PieChart-f349498b.js +433 -0
  1085. package/es/PieChart-f349498b.js.map +1 -0
  1086. package/es/Popup-8889a781.js +240 -0
  1087. package/es/Popup-8889a781.js.map +1 -0
  1088. package/es/ProgressBar-afafe39a.js +58 -0
  1089. package/es/ProgressBar-afafe39a.js.map +1 -0
  1090. package/es/ProgressCircle-fa5866a3.js +44 -0
  1091. package/es/ProgressCircle-fa5866a3.js.map +1 -0
  1092. package/es/ProgressCircleVariants.styles.css +4 -4
  1093. package/es/ProgressCircleVariants.styles2.css +4 -4
  1094. package/es/RadioItem-e5b1f50b.js +6 -6
  1095. package/es/RatingGauge-4d8a68df.js +7 -7
  1096. package/es/RatingGaugeVariants.styles.css +15 -15
  1097. package/es/RatingGaugeVariants.styles2.css +15 -15
  1098. package/es/ReadonlyTextFieldInput-4392c7aa.js +1 -1
  1099. package/es/RemovableNavigationListItem-4c86bec8.js +24 -0
  1100. package/es/RemovableNavigationListItem-4c86bec8.js.map +1 -0
  1101. package/es/RemovableTabBarItem-217d4a0b.js +2 -2
  1102. package/es/ReorderableTabBar-84640a66.js +79 -0
  1103. package/es/ReorderableTabBar-84640a66.js.map +1 -0
  1104. package/es/RevealToggleIcon-9236963e.js +1 -1
  1105. package/es/SectionalLegend-6ffb4255.js +4 -4
  1106. package/es/SectionedContent-815e377a.js +64 -0
  1107. package/es/SectionedContent-815e377a.js.map +1 -0
  1108. package/es/SelectMultiple-fd3ea6f8.js +8 -8
  1109. package/es/SelectSingle-8a8d1f5e.js +7 -7
  1110. package/es/SelectionCard-79044c5f.js +38 -0
  1111. package/es/SelectionCard-79044c5f.js.map +1 -0
  1112. package/es/Selector-e56a73a8.js +1 -1
  1113. package/es/SelectorAll-6f080f88.js +5 -5
  1114. package/es/Sheet-e4121f4a.js +158 -0
  1115. package/es/Sheet-e4121f4a.js.map +1 -0
  1116. package/es/SplitMenuButton-79bdfe96.js +3 -3
  1117. package/es/StyledTextField-c79f5438.js +3 -3
  1118. package/es/Submenu-8b3fa593.js +1 -1
  1119. package/es/TabBar-e39e8dbd.js +63 -0
  1120. package/es/TabBar-e39e8dbd.js.map +1 -0
  1121. package/es/TabBarItem-c681fa07.js +3 -3
  1122. package/es/TabBarItemVariants.styles.css +3 -3
  1123. package/es/TabBarItemVariants.styles2.css +3 -3
  1124. package/es/TabBarLayout-a0d89ec4.js +1 -1
  1125. package/es/TabBarMixed-3658d3d2.js +73 -0
  1126. package/es/TabBarMixed-3658d3d2.js.map +1 -0
  1127. package/es/TabBarMixedSeparator-8ab78880.js +19 -0
  1128. package/es/TabBarMixedSeparator-8ab78880.js.map +1 -0
  1129. package/es/Table-e3ef68ad.js +3 -3
  1130. package/es/TagCloud-78991c29.js +9 -9
  1131. package/es/TextArea-d97aac1f.js +5 -5
  1132. package/es/TextAreaAutosize-68a4786d.js +5 -5
  1133. package/es/TextField-323fe0e9.js +3 -3
  1134. package/es/TextFieldInput-3c39cb7b.js +1 -1
  1135. package/es/Theme-redwood/theme.css +405 -405
  1136. package/es/Theme-stable/theme.css +480 -480
  1137. package/es/TimeComponentCanvas2D-c2ab38ba.js +4 -4
  1138. package/es/Toolbar-f0e57a9d.js +1 -1
  1139. package/es/TruncatingBadge-084c6682.js +2 -2
  1140. package/es/TruncatingText-780cbb19.js +2 -2
  1141. package/es/UNSAFE_ActionCard.js +2 -2
  1142. package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +34 -34
  1143. package/es/UNSAFE_BarChart.js +34 -34
  1144. package/es/UNSAFE_BaseButton.js +3 -3
  1145. package/es/UNSAFE_Button.js +3 -3
  1146. package/es/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +18 -18
  1147. package/es/UNSAFE_ButtonSet.js +4 -4
  1148. package/es/UNSAFE_ButtonSetButton.js +3 -3
  1149. package/es/UNSAFE_ButtonSetIconButton.js +14 -14
  1150. package/es/UNSAFE_ButtonSetItem.js +14 -14
  1151. package/es/UNSAFE_ButtonSetMultiple.js +4 -4
  1152. package/es/UNSAFE_ButtonSetSingle.js +4 -4
  1153. package/es/UNSAFE_CardFlexView.js +19 -19
  1154. package/es/UNSAFE_CardGridView.js +19 -19
  1155. package/es/UNSAFE_Center.js +5 -5
  1156. package/es/UNSAFE_ChartWithLegend.js +4 -4
  1157. package/es/UNSAFE_Checkbox.js +21 -21
  1158. package/es/UNSAFE_CheckboxItem.js +22 -22
  1159. package/es/UNSAFE_CheckboxSet.js +21 -21
  1160. package/es/UNSAFE_Chip.js +2 -2
  1161. package/es/UNSAFE_Collapsible.js +16 -16
  1162. package/es/UNSAFE_ComponentMessage.js +17 -17
  1163. package/es/UNSAFE_ConveyorBelt.js +14 -14
  1164. package/es/UNSAFE_DatePicker.js +23 -23
  1165. package/es/UNSAFE_Diagram.js +15 -15
  1166. package/es/UNSAFE_Dialog.js +9 -9
  1167. package/es/UNSAFE_DragHandle.js +15 -15
  1168. package/es/UNSAFE_DrawerLayout.js +11 -11
  1169. package/es/UNSAFE_DrawerPopup.js +10 -10
  1170. package/es/UNSAFE_Dropdown.js +12 -12
  1171. package/es/UNSAFE_Environment.js +4 -4
  1172. package/es/UNSAFE_ExpandableList.js +21 -21
  1173. package/es/UNSAFE_FilePicker.js +4 -4
  1174. package/es/UNSAFE_Flex.js +4 -4
  1175. package/es/UNSAFE_Floating.js +10 -10
  1176. package/es/UNSAFE_FormLayout.js +2 -2
  1177. package/es/UNSAFE_Gantt.js +21 -21
  1178. package/es/UNSAFE_Grid.js +4 -4
  1179. package/es/UNSAFE_HighlightText.js +4 -4
  1180. package/es/UNSAFE_Icon.js +14 -14
  1181. package/es/UNSAFE_IconButton.js +14 -14
  1182. package/es/UNSAFE_IconMenuButton.js +18 -18
  1183. package/es/UNSAFE_IconToggleButton.js +14 -14
  1184. package/es/UNSAFE_Indexer.js +6 -6
  1185. package/es/UNSAFE_InputDateMask.js +22 -22
  1186. package/es/UNSAFE_InputDatePicker.js +108 -108
  1187. package/es/UNSAFE_InputPassword.js +21 -21
  1188. package/es/UNSAFE_InputSensitiveText.js +23 -23
  1189. package/es/UNSAFE_InputText.js +24 -24
  1190. package/es/UNSAFE_Label.js +21 -21
  1191. package/es/UNSAFE_LabelValueLayout.js +4 -4
  1192. package/es/UNSAFE_LabelledLink.js +23 -23
  1193. package/es/UNSAFE_Layer.js +7 -7
  1194. package/es/UNSAFE_Legend.js +22 -22
  1195. package/es/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +33 -33
  1196. package/es/UNSAFE_LineAreaChart.js +34 -34
  1197. package/es/UNSAFE_Link.js +2 -2
  1198. package/es/UNSAFE_ListItemLayout.js +5 -5
  1199. package/es/UNSAFE_ListView.js +24 -24
  1200. package/es/UNSAFE_LiveRegion.js +4 -4
  1201. package/es/UNSAFE_Menu.js +20 -20
  1202. package/es/UNSAFE_MenuButton.js +18 -18
  1203. package/es/UNSAFE_MessageBanner.js +17 -17
  1204. package/es/UNSAFE_MessageToast.js +20 -20
  1205. package/es/UNSAFE_MeterBar.js +14 -14
  1206. package/es/UNSAFE_MeterCircle.js +14 -14
  1207. package/es/UNSAFE_Modal.js +7 -7
  1208. package/es/UNSAFE_NavigationList.js +31 -33
  1209. package/es/UNSAFE_NavigationList.js.map +1 -1
  1210. package/es/UNSAFE_NavigationListCommon.js +66 -67
  1211. package/es/UNSAFE_NavigationListCommon.js.map +1 -1
  1212. package/es/UNSAFE_NumberInputText.js +23 -23
  1213. package/es/UNSAFE_OverflowTabBar.js +44 -46
  1214. package/es/UNSAFE_OverflowTabBar.js.map +1 -1
  1215. package/es/UNSAFE_PictoChart.js +13 -13
  1216. package/es/UNSAFE_PieChart/__test__/PieChart.spec.js +14 -14
  1217. package/es/UNSAFE_PieChart.js +14 -14
  1218. package/es/UNSAFE_Popup.js +15 -15
  1219. package/es/UNSAFE_ProgressBar.js +5 -5
  1220. package/es/UNSAFE_ProgressCircle/themes/redwood/ProgressCircleTheme.js +1 -1
  1221. package/es/UNSAFE_ProgressCircle/themes/redwood/ProgressCircleVariants.css.js +1 -1
  1222. package/es/UNSAFE_ProgressCircle/themes/stable/ProgressCircleTheme.js +1 -1
  1223. package/es/UNSAFE_ProgressCircle/themes/stable/ProgressCircleVariants.css.js +1 -1
  1224. package/es/UNSAFE_ProgressCircle.js +5 -5
  1225. package/es/UNSAFE_RadioItem.js +21 -21
  1226. package/es/UNSAFE_RadioSet.js +21 -21
  1227. package/es/UNSAFE_RatingGauge/themes/redwood/RatingGaugeTheme.js +1 -1
  1228. package/es/UNSAFE_RatingGauge/themes/redwood/RatingGaugeVariants.css.js +1 -1
  1229. package/es/UNSAFE_RatingGauge/themes/stable/RatingGaugeTheme.js +1 -1
  1230. package/es/UNSAFE_RatingGauge/themes/stable/RatingGaugeVariants.css.js +1 -1
  1231. package/es/UNSAFE_RatingGauge.js +16 -16
  1232. package/es/UNSAFE_ReorderableTabBar.js +28 -42
  1233. package/es/UNSAFE_ReorderableTabBar.js.map +1 -1
  1234. package/es/UNSAFE_SectionalLegend.js +23 -23
  1235. package/es/UNSAFE_SelectMultiple.js +29 -29
  1236. package/es/UNSAFE_SelectSingle.js +29 -29
  1237. package/es/UNSAFE_SelectionCard.js +4 -4
  1238. package/es/UNSAFE_Selector.js +14 -14
  1239. package/es/UNSAFE_SelectorAll.js +17 -17
  1240. package/es/UNSAFE_Sheet/__test__/Sheet.spec.js +13 -13
  1241. package/es/UNSAFE_Sheet.js +10 -10
  1242. package/es/UNSAFE_SplitMenuButton.js +18 -18
  1243. package/es/UNSAFE_TabBar.js +46 -48
  1244. package/es/UNSAFE_TabBar.js.map +1 -1
  1245. package/es/UNSAFE_TabBarCommon/themes/redwood/TabBarItemTheme.js +1 -1
  1246. package/es/UNSAFE_TabBarCommon/themes/redwood/TabBarItemVariants.css.js +1 -1
  1247. package/es/UNSAFE_TabBarCommon/themes/stable/TabBarItemTheme.js +1 -1
  1248. package/es/UNSAFE_TabBarCommon/themes/stable/TabBarItemVariants.css.js +1 -1
  1249. package/es/UNSAFE_TabBarCommon.js +41 -43
  1250. package/es/UNSAFE_TabBarCommon.js.map +1 -1
  1251. package/es/UNSAFE_TabBarMixed.js +49 -51
  1252. package/es/UNSAFE_TabBarMixed.js.map +1 -1
  1253. package/es/UNSAFE_TableView.js +16 -16
  1254. package/es/UNSAFE_TagCloud.js +22 -22
  1255. package/es/UNSAFE_TextArea.js +23 -23
  1256. package/es/UNSAFE_TextAreaAutosize.js +23 -23
  1257. package/es/UNSAFE_TextField.js +7 -7
  1258. package/es/UNSAFE_ToggleButton.js +3 -3
  1259. package/es/UNSAFE_Toolbar/tests/Toolbar.spec.js +20 -20
  1260. package/es/UNSAFE_Toolbar.js +4 -4
  1261. package/es/UNSAFE_Train.js +15 -15
  1262. package/es/UNSAFE_TruncatingBadge.js +15 -15
  1263. package/es/UNSAFE_TruncatingText.js +15 -15
  1264. package/es/UNSAFE_UserAssistance.js +22 -22
  1265. package/es/UNSAFE_View.js +7 -7
  1266. package/es/UNSAFE_VirtualizedListView.js +18 -18
  1267. package/es/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  1268. package/es/UNSAFE_VisProgressiveLoader.js +6 -6
  1269. package/es/UNSAFE_VisStatusMessage.js +6 -6
  1270. package/es/UNSAFE_WindowOverlay.js +4 -4
  1271. package/es/View-6013acac.js +167 -0
  1272. package/es/View-6013acac.js.map +1 -0
  1273. package/es/VisNoData-8593beaa.js +32 -0
  1274. package/es/VisNoData-8593beaa.js.map +1 -0
  1275. package/es/VisProgressiveLoader-0d9a0dd0.js +51 -0
  1276. package/es/VisProgressiveLoader-0d9a0dd0.js.map +1 -0
  1277. package/es/VisTabularDatatip-1f16ca1f.js +24 -0
  1278. package/es/VisTabularDatatip-1f16ca1f.js.map +1 -0
  1279. package/es/WindowOverlay-e14f8324.js +110 -0
  1280. package/es/WindowOverlay-e14f8324.js.map +1 -0
  1281. package/es/YearsGridView-165e5eec.js +187 -0
  1282. package/es/YearsGridView-165e5eec.js.map +1 -0
  1283. package/es/hoc/PRIVATE_withDirectionIcon.js +4 -4
  1284. package/es/hoc/PRIVATE_withThemeIcon.js +3 -3
  1285. package/es/hoc/UNSAFE_withThemeProps.js +3 -3
  1286. package/es/hooks/PRIVATE_useChartContextMenu.js +18 -18
  1287. package/es/hooks/PRIVATE_useChartDatatip.js +13 -13
  1288. package/es/hooks/PRIVATE_useChartEvents.js +17 -17
  1289. package/es/hooks/PRIVATE_useChartMarquee.js +16 -16
  1290. package/es/hooks/PRIVATE_useCssVars.js +7 -7
  1291. package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
  1292. package/es/hooks/PRIVATE_useDatatip.js +11 -11
  1293. package/es/hooks/PRIVATE_useFloating.js +4 -4
  1294. package/es/hooks/PRIVATE_useReorderable.js +4 -4
  1295. package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  1296. package/es/hooks/PRIVATE_useSelection.js +4 -4
  1297. package/es/hooks/PRIVATE_useTabBar.js +5 -5
  1298. package/es/hooks/PRIVATE_useVisContextMenu.js +18 -18
  1299. package/es/hooks/PRIVATE_useVisEvents.js +4 -4
  1300. package/es/hooks/PRIVATE_useVisMeterEvents.js +13 -13
  1301. package/es/hooks/PRIVATE_useVisSelection.js +12 -12
  1302. package/es/hooks/UNSAFE_useColorScheme.js +3 -3
  1303. package/es/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  1304. package/es/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  1305. package/es/hooks/UNSAFE_useDensity.js +3 -3
  1306. package/es/hooks/UNSAFE_useOutsideClick.js +7 -7
  1307. package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  1308. package/es/hooks/UNSAFE_useScale.js +3 -3
  1309. package/es/hooks/UNSAFE_useTestId.js +3 -3
  1310. package/es/hooks/UNSAFE_useTheme.js +3 -3
  1311. package/es/hooks/UNSAFE_useThemeInterpolations.js +5 -5
  1312. package/es/hooks/UNSAFE_useTooltip.js +15 -15
  1313. package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
  1314. package/es/hooks/UNSAFE_useUser.js +3 -3
  1315. package/es/index-5f0f1501.js +11 -0
  1316. package/es/index-5f0f1501.js.map +1 -0
  1317. package/es/listViewSelectionTests-ebf987d2.js +4 -4
  1318. package/es/render-c90e85c7.js +34 -0
  1319. package/es/render-c90e85c7.js.map +1 -0
  1320. package/es/tabbableUtils-e6193af2.js +79 -0
  1321. package/es/tabbableUtils-e6193af2.js.map +1 -0
  1322. package/es/testData-2998863b.js +256 -0
  1323. package/es/testData-2998863b.js.map +1 -0
  1324. package/es/useCellNavigation-006fbce0.js +1 -1
  1325. package/es/useChartContextMenu-0014fc73.js +3 -3
  1326. package/es/useChartDatatip-b6b2b00a.js +135 -0
  1327. package/es/useChartDatatip-b6b2b00a.js.map +1 -0
  1328. package/es/useChartMarquee-38dbb5f9.js +1 -1
  1329. package/es/useColorScheme-e1b17324.js +19 -0
  1330. package/es/useColorScheme-e1b17324.js.map +1 -0
  1331. package/es/useContextMenu-81db2534.js +3 -3
  1332. package/es/useCssVars-64d9b696.js +58 -0
  1333. package/es/useCssVars-64d9b696.js.map +1 -0
  1334. package/es/useCurrentBgColor-d89afadb.js +19 -0
  1335. package/es/useCurrentBgColor-d89afadb.js.map +1 -0
  1336. package/es/useCurrentKey-db7d3bb9.js +81 -0
  1337. package/es/useCurrentKey-db7d3bb9.js.map +1 -0
  1338. package/es/useDatatip-7c661980.js +83 -0
  1339. package/es/useDatatip-7c661980.js.map +1 -0
  1340. package/es/useDensity-60cfa748.js +19 -0
  1341. package/es/useDensity-60cfa748.js.map +1 -0
  1342. package/es/useFloating-c99976f8.js +1916 -0
  1343. package/es/useFloating-c99976f8.js.map +1 -0
  1344. package/es/useKeyboardEvents-102b4feb.js +78 -0
  1345. package/es/useKeyboardEvents-102b4feb.js.map +1 -0
  1346. package/es/useLegendContextMenu-d88be99d.js +5 -5
  1347. package/es/useMeterDatatip-262c0e39.js +78 -0
  1348. package/es/useMeterDatatip-262c0e39.js.map +1 -0
  1349. package/es/useOutsideClick-eb8324f6.js +85 -0
  1350. package/es/useOutsideClick-eb8324f6.js.map +1 -0
  1351. package/es/usePopupAnimation-4be04290.js +85 -0
  1352. package/es/usePopupAnimation-4be04290.js.map +1 -0
  1353. package/es/usePrefixSuffix-71a410f4.js +70 -0
  1354. package/es/usePrefixSuffix-71a410f4.js.map +1 -0
  1355. package/es/useReorderableItem-25aa1c34.js +2 -2
  1356. package/es/useRovingTabIndexContainer-e7926bd6.js +98 -0
  1357. package/es/useRovingTabIndexContainer-e7926bd6.js.map +1 -0
  1358. package/es/useScale-d64a1a28.js +19 -0
  1359. package/es/useScale-d64a1a28.js.map +1 -0
  1360. package/es/useSelectCommon-b6d67057.js +11 -11
  1361. package/es/useSelectDrill-9ce5bccf.js +100 -0
  1362. package/es/useSelectDrill-9ce5bccf.js.map +1 -0
  1363. package/es/useSelection-c12f7802.js +181 -0
  1364. package/es/useSelection-c12f7802.js.map +1 -0
  1365. package/es/useSelection-ce0f9a43.js +241 -0
  1366. package/es/useSelection-ce0f9a43.js.map +1 -0
  1367. package/es/useTabBar-8af19c50.js +152 -0
  1368. package/es/useTabBar-8af19c50.js.map +1 -0
  1369. package/es/useTestId-adde554c.js +21 -0
  1370. package/es/useTestId-adde554c.js.map +1 -0
  1371. package/es/useTheme-1f6035d2.js +19 -0
  1372. package/es/useTheme-1f6035d2.js.map +1 -0
  1373. package/es/useThemeInterpolations-9bddc683.js +31 -0
  1374. package/es/useThemeInterpolations-9bddc683.js.map +1 -0
  1375. package/es/useTooltip-9dec25b3.js +51 -0
  1376. package/es/useTooltip-9dec25b3.js.map +1 -0
  1377. package/es/useTooltipControlled-2044f639.js +454 -0
  1378. package/es/useTooltipControlled-2044f639.js.map +1 -0
  1379. package/es/useTranslationBundle-cd815e10.js +29 -0
  1380. package/es/useTranslationBundle-cd815e10.js.map +1 -0
  1381. package/es/useUser-99920e02.js +19 -0
  1382. package/es/useUser-99920e02.js.map +1 -0
  1383. package/es/useVisEvents-4cfe354c.js +153 -0
  1384. package/es/useVisEvents-4cfe354c.js.map +1 -0
  1385. package/es/utils/PRIVATE_visTestUtils.js +6 -6
  1386. package/es/withDirectionIcon-f8ff778c.js +14 -0
  1387. package/es/withDirectionIcon-f8ff778c.js.map +1 -0
  1388. package/package.json +2 -2
  1389. package/amd/BaseCardViewSelectionTest-09799a11.js +0 -2
  1390. package/amd/BaseCardViewSelectionTest-09799a11.js.map +0 -1
  1391. package/amd/Center-ce88b58a.js +0 -2
  1392. package/amd/Center-ce88b58a.js.map +0 -1
  1393. package/amd/CompactLabelAssistance-9b6b3be2.js +0 -2
  1394. package/amd/CompactLabelAssistance-9b6b3be2.js.map +0 -1
  1395. package/amd/DatePicker-70b1aba4.js +0 -2
  1396. package/amd/DatePicker-70b1aba4.js.map +0 -1
  1397. package/amd/Diagram-9627b062.js +0 -2
  1398. package/amd/Diagram-9627b062.js.map +0 -1
  1399. package/amd/Dropdown-c62373dd.js +0 -2
  1400. package/amd/Dropdown-c62373dd.js.map +0 -1
  1401. package/amd/EnvironmentProvider-9e71b5c2.js +0 -2
  1402. package/amd/EnvironmentProvider-9e71b5c2.js.map +0 -1
  1403. package/amd/Flex-db3ddadb.js +0 -2
  1404. package/amd/Flex-db3ddadb.js.map +0 -1
  1405. package/amd/Floating-8f519f4d.js +0 -2
  1406. package/amd/Floating-8f519f4d.js.map +0 -1
  1407. package/amd/Grid-209ab070.js +0 -2
  1408. package/amd/Grid-209ab070.js.map +0 -1
  1409. package/amd/Gridlines-8ca4f9ee.js +0 -2
  1410. package/amd/Gridlines-8ca4f9ee.js.map +0 -1
  1411. package/amd/HighlightText-415dc14f.js +0 -2
  1412. package/amd/HighlightText-415dc14f.js.map +0 -1
  1413. package/amd/IconUserAssistance-f8928f19.js +0 -2
  1414. package/amd/IconUserAssistance-f8928f19.js.map +0 -1
  1415. package/amd/InputDatePicker-da5d8728.js +0 -2
  1416. package/amd/InputDatePicker-da5d8728.js.map +0 -1
  1417. package/amd/Layer-8d7bbd69.js +0 -2
  1418. package/amd/Layer-8d7bbd69.js.map +0 -1
  1419. package/amd/LayerHost-0a244de8.js +0 -2
  1420. package/amd/LayerHost-0a244de8.js.map +0 -1
  1421. package/amd/LayerManager-00983765.js +0 -2
  1422. package/amd/LayerManager-00983765.js.map +0 -1
  1423. package/amd/LineAreaChart-b68c4620.js +0 -2
  1424. package/amd/LineAreaChart-b68c4620.js.map +0 -1
  1425. package/amd/ListItemLayout-12aee4bd.js +0 -2
  1426. package/amd/ListItemLayout-12aee4bd.js.map +0 -1
  1427. package/amd/LiveRegion-09197914.js +0 -2
  1428. package/amd/LiveRegion-09197914.js.map +0 -1
  1429. package/amd/MaxLengthLiveRegion-e3856a98.js +0 -2
  1430. package/amd/MaxLengthLiveRegion-e3856a98.js.map +0 -1
  1431. package/amd/Menu-6a5d7fce.js +0 -2
  1432. package/amd/Menu-6a5d7fce.js.map +0 -1
  1433. package/amd/MessageLayer-cf2fbea9.js +0 -2
  1434. package/amd/MessageLayer-cf2fbea9.js.map +0 -1
  1435. package/amd/Modal-8f19889c.js +0 -2
  1436. package/amd/Modal-8f19889c.js.map +0 -1
  1437. package/amd/MonthView-297fceb8.js +0 -2
  1438. package/amd/MonthView-297fceb8.js.map +0 -1
  1439. package/amd/PieChart-295e2dbf.js +0 -2
  1440. package/amd/PieChart-295e2dbf.js.map +0 -1
  1441. package/amd/Popup-b5495d55.js +0 -2
  1442. package/amd/Popup-b5495d55.js.map +0 -1
  1443. package/amd/ProgressBar-e9b37565.js +0 -2
  1444. package/amd/ProgressBar-e9b37565.js.map +0 -1
  1445. package/amd/ProgressCircle-3b0d70d1.js +0 -2
  1446. package/amd/ProgressCircle-3b0d70d1.js.map +0 -1
  1447. package/amd/SectionedContent-d896b84f.js +0 -2
  1448. package/amd/SectionedContent-d896b84f.js.map +0 -1
  1449. package/amd/SelectionCard-ec3ee20d.js +0 -2
  1450. package/amd/SelectionCard-ec3ee20d.js.map +0 -1
  1451. package/amd/Sheet-a398d015.js +0 -2
  1452. package/amd/Sheet-a398d015.js.map +0 -1
  1453. package/amd/TabBarMixedSeparator-234c9a75.js +0 -2
  1454. package/amd/TabBarMixedSeparator-234c9a75.js.map +0 -1
  1455. package/amd/TextArea-2c7af40c.js +0 -2
  1456. package/amd/TextArea-2c7af40c.js.map +0 -1
  1457. package/amd/TextAreaAutosize-9dc5bffe.js +0 -2
  1458. package/amd/TextAreaAutosize-9dc5bffe.js.map +0 -1
  1459. package/amd/View-10a5769c.js +0 -2
  1460. package/amd/View-10a5769c.js.map +0 -1
  1461. package/amd/VisNoData-95d951c2.js +0 -2
  1462. package/amd/VisNoData-95d951c2.js.map +0 -1
  1463. package/amd/VisProgressiveLoader-39f1b4ef.js +0 -2
  1464. package/amd/VisProgressiveLoader-39f1b4ef.js.map +0 -1
  1465. package/amd/VisTabularDatatip-e945d6f6.js +0 -2
  1466. package/amd/VisTabularDatatip-e945d6f6.js.map +0 -1
  1467. package/amd/WindowOverlay-ad61cfea.js +0 -2
  1468. package/amd/WindowOverlay-ad61cfea.js.map +0 -1
  1469. package/amd/YearsGridView-c76bb4da.js +0 -2
  1470. package/amd/YearsGridView-c76bb4da.js.map +0 -1
  1471. package/amd/index-8d4da04e.js +0 -2
  1472. package/amd/index-8d4da04e.js.map +0 -1
  1473. package/amd/render-6de552e4.js +0 -2
  1474. package/amd/render-6de552e4.js.map +0 -1
  1475. package/amd/tabbableUtils-78cc49fd.js +0 -2
  1476. package/amd/tabbableUtils-78cc49fd.js.map +0 -1
  1477. package/amd/testData-6d873339.js +0 -2
  1478. package/amd/testData-6d873339.js.map +0 -1
  1479. package/amd/useChartDatatip-34e2636c.js +0 -2
  1480. package/amd/useChartDatatip-34e2636c.js.map +0 -1
  1481. package/amd/useColorScheme-3ffd80c4.js +0 -2
  1482. package/amd/useColorScheme-3ffd80c4.js.map +0 -1
  1483. package/amd/useCssVars-7efb591d.js +0 -2
  1484. package/amd/useCssVars-7efb591d.js.map +0 -1
  1485. package/amd/useCurrentBgColor-44e3f377.js +0 -2
  1486. package/amd/useCurrentBgColor-44e3f377.js.map +0 -1
  1487. package/amd/useCurrentKey-26170e5e.js +0 -2
  1488. package/amd/useCurrentKey-26170e5e.js.map +0 -1
  1489. package/amd/useDatatip-34fb67d2.js +0 -2
  1490. package/amd/useDatatip-34fb67d2.js.map +0 -1
  1491. package/amd/useDensity-be2ff874.js +0 -2
  1492. package/amd/useDensity-be2ff874.js.map +0 -1
  1493. package/amd/useFloating-30975c41.js +0 -2
  1494. package/amd/useFloating-30975c41.js.map +0 -1
  1495. package/amd/useKeyboardEvents-57008a1d.js +0 -2
  1496. package/amd/useKeyboardEvents-57008a1d.js.map +0 -1
  1497. package/amd/useMeterDatatip-1a3890aa.js +0 -2
  1498. package/amd/useMeterDatatip-1a3890aa.js.map +0 -1
  1499. package/amd/useOutsideClick-90052c27.js +0 -2
  1500. package/amd/useOutsideClick-90052c27.js.map +0 -1
  1501. package/amd/usePopupAnimation-a0193874.js +0 -2
  1502. package/amd/usePopupAnimation-a0193874.js.map +0 -1
  1503. package/amd/usePrefixSuffix-da47e340.js +0 -2
  1504. package/amd/usePrefixSuffix-da47e340.js.map +0 -1
  1505. package/amd/useRovingTabIndexContainer-079ed64f.js +0 -2
  1506. package/amd/useRovingTabIndexContainer-079ed64f.js.map +0 -1
  1507. package/amd/useScale-fe3420c6.js +0 -2
  1508. package/amd/useScale-fe3420c6.js.map +0 -1
  1509. package/amd/useSelectDrill-f69d15aa.js +0 -2
  1510. package/amd/useSelectDrill-f69d15aa.js.map +0 -1
  1511. package/amd/useSelection-2c9ff75a.js +0 -2
  1512. package/amd/useSelection-2c9ff75a.js.map +0 -1
  1513. package/amd/useSelection-91c04393.js +0 -2
  1514. package/amd/useSelection-91c04393.js.map +0 -1
  1515. package/amd/useTabBar-254fbf75.js +0 -2
  1516. package/amd/useTabBar-254fbf75.js.map +0 -1
  1517. package/amd/useTestId-f3b8b319.js +0 -2
  1518. package/amd/useTestId-f3b8b319.js.map +0 -1
  1519. package/amd/useTheme-45e3b0b3.js +0 -2
  1520. package/amd/useTheme-45e3b0b3.js.map +0 -1
  1521. package/amd/useThemeInterpolations-1f5fd8f3.js +0 -2
  1522. package/amd/useThemeInterpolations-1f5fd8f3.js.map +0 -1
  1523. package/amd/useTooltip-e965a559.js +0 -2
  1524. package/amd/useTooltip-e965a559.js.map +0 -1
  1525. package/amd/useTooltipControlled-18271c7a.js +0 -2
  1526. package/amd/useTooltipControlled-18271c7a.js.map +0 -1
  1527. package/amd/useTranslationBundle-20bfc0f3.js +0 -2
  1528. package/amd/useTranslationBundle-20bfc0f3.js.map +0 -1
  1529. package/amd/useUser-9b166ca3.js +0 -2
  1530. package/amd/useUser-9b166ca3.js.map +0 -1
  1531. package/amd/useVisEvents-ac97d087.js +0 -2
  1532. package/amd/useVisEvents-ac97d087.js.map +0 -1
  1533. package/amd/withDirectionIcon-9e4dae53.js +0 -2
  1534. package/amd/withDirectionIcon-9e4dae53.js.map +0 -1
  1535. package/cjs/BaseCardView-badf6df3.js +0 -619
  1536. package/cjs/BaseCardView-badf6df3.js.map +0 -1
  1537. package/cjs/BaseCardViewSelectionTest-fe6cdb4a.js +0 -696
  1538. package/cjs/BaseCardViewSelectionTest-fe6cdb4a.js.map +0 -1
  1539. package/cjs/CardFlexView-d44dfed5.js +0 -29
  1540. package/cjs/CardFlexView-d44dfed5.js.map +0 -1
  1541. package/cjs/CardGridView-dd7c777f.js +0 -17
  1542. package/cjs/CardGridView-dd7c777f.js.map +0 -1
  1543. package/cjs/Center-dce9d477.js +0 -18
  1544. package/cjs/Center-dce9d477.js.map +0 -1
  1545. package/cjs/CheckboxSetContext-c62db26d.js +0 -12
  1546. package/cjs/CheckboxSetContext-c62db26d.js.map +0 -1
  1547. package/cjs/CompactLabelAssistance-ae678fbd.js +0 -29
  1548. package/cjs/CompactLabelAssistance-ae678fbd.js.map +0 -1
  1549. package/cjs/DatePicker-3be1de5c.js +0 -564
  1550. package/cjs/DatePicker-3be1de5c.js.map +0 -1
  1551. package/cjs/Diagram-522fe974.js +0 -2000
  1552. package/cjs/Diagram-522fe974.js.map +0 -1
  1553. package/cjs/Dropdown-820dc3fe.js +0 -82
  1554. package/cjs/Dropdown-820dc3fe.js.map +0 -1
  1555. package/cjs/EnvironmentProvider-42b2b998.js +0 -61
  1556. package/cjs/EnvironmentProvider-42b2b998.js.map +0 -1
  1557. package/cjs/Flex-fbba4ad6.js +0 -33
  1558. package/cjs/Flex-fbba4ad6.js.map +0 -1
  1559. package/cjs/Floating-1280c2ce.js +0 -464
  1560. package/cjs/Floating-1280c2ce.js.map +0 -1
  1561. package/cjs/Grid-03d487e5.js +0 -29
  1562. package/cjs/Grid-03d487e5.js.map +0 -1
  1563. package/cjs/Gridlines-33618268.js +0 -123
  1564. package/cjs/Gridlines-33618268.js.map +0 -1
  1565. package/cjs/HighlightText-c76eb17a.js +0 -33
  1566. package/cjs/HighlightText-c76eb17a.js.map +0 -1
  1567. package/cjs/IconUserAssistance-c31c2875.js +0 -75
  1568. package/cjs/IconUserAssistance-c31c2875.js.map +0 -1
  1569. package/cjs/Indexer-563ea09d.js +0 -339
  1570. package/cjs/Indexer-563ea09d.js.map +0 -1
  1571. package/cjs/Layer-3700cd37.js +0 -87
  1572. package/cjs/Layer-3700cd37.js.map +0 -1
  1573. package/cjs/LayerHost-46e4d858.js +0 -45
  1574. package/cjs/LayerHost-46e4d858.js.map +0 -1
  1575. package/cjs/LayerManager-fa20a462.js +0 -36
  1576. package/cjs/LayerManager-fa20a462.js.map +0 -1
  1577. package/cjs/LineAreaChart-7e0e021f.js +0 -225
  1578. package/cjs/LineAreaChart-7e0e021f.js.map +0 -1
  1579. package/cjs/List-bd9ecebb.js +0 -567
  1580. package/cjs/List-bd9ecebb.js.map +0 -1
  1581. package/cjs/ListItemLayout-ba6c98cc.js +0 -60
  1582. package/cjs/ListItemLayout-ba6c98cc.js.map +0 -1
  1583. package/cjs/ListView-d67f49db.js +0 -388
  1584. package/cjs/ListView-d67f49db.js.map +0 -1
  1585. package/cjs/LiveRegion-1315adeb.js +0 -41
  1586. package/cjs/LiveRegion-1315adeb.js.map +0 -1
  1587. package/cjs/LoadMoreCollection-73112ff0.js +0 -34
  1588. package/cjs/LoadMoreCollection-73112ff0.js.map +0 -1
  1589. package/cjs/MaxLengthLiveRegion-85913361.js +0 -25
  1590. package/cjs/MaxLengthLiveRegion-85913361.js.map +0 -1
  1591. package/cjs/Menu-7f8ca235.js +0 -317
  1592. package/cjs/Menu-7f8ca235.js.map +0 -1
  1593. package/cjs/MessageLayer-40ccf675.js +0 -61
  1594. package/cjs/MessageLayer-40ccf675.js.map +0 -1
  1595. package/cjs/Modal-52fa4530.js +0 -258
  1596. package/cjs/Modal-52fa4530.js.map +0 -1
  1597. package/cjs/MonthView-94676cd6.js +0 -154
  1598. package/cjs/MonthView-94676cd6.js.map +0 -1
  1599. package/cjs/NavigationListItem-12a76e7d.js +0 -163
  1600. package/cjs/NavigationListItem-12a76e7d.js.map +0 -1
  1601. package/cjs/OverflowTabBarItem-c0a592fd.js +0 -88
  1602. package/cjs/OverflowTabBarItem-c0a592fd.js.map +0 -1
  1603. package/cjs/PieChart-bd68cc0d.js +0 -435
  1604. package/cjs/PieChart-bd68cc0d.js.map +0 -1
  1605. package/cjs/Popup-881aae20.js +0 -242
  1606. package/cjs/Popup-881aae20.js.map +0 -1
  1607. package/cjs/ProgressBar-4a4d56b0.js +0 -60
  1608. package/cjs/ProgressBar-4a4d56b0.js.map +0 -1
  1609. package/cjs/ProgressCircle-2524339b.js +0 -46
  1610. package/cjs/ProgressCircle-2524339b.js.map +0 -1
  1611. package/cjs/SectionedContent-0c0f96fb.js +0 -67
  1612. package/cjs/SectionedContent-0c0f96fb.js.map +0 -1
  1613. package/cjs/SelectMultiple-3af44d48.js +0 -1321
  1614. package/cjs/SelectMultiple-3af44d48.js.map +0 -1
  1615. package/cjs/SelectSingle-315c9871.js +0 -721
  1616. package/cjs/SelectSingle-315c9871.js.map +0 -1
  1617. package/cjs/SelectionCard-aa300118.js +0 -40
  1618. package/cjs/SelectionCard-aa300118.js.map +0 -1
  1619. package/cjs/Sheet-a6267b5f.js +0 -161
  1620. package/cjs/Sheet-a6267b5f.js.map +0 -1
  1621. package/cjs/TabBarMixedSeparator-6388ccda.js +0 -21
  1622. package/cjs/TabBarMixedSeparator-6388ccda.js.map +0 -1
  1623. package/cjs/Table-ecf57a09.js +0 -3501
  1624. package/cjs/Table-ecf57a09.js.map +0 -1
  1625. package/cjs/TableView-756b9d98.js +0 -26
  1626. package/cjs/TableView-756b9d98.js.map +0 -1
  1627. package/cjs/View-011404a7.js +0 -170
  1628. package/cjs/View-011404a7.js.map +0 -1
  1629. package/cjs/VirtualizedCollection-00aedb8b.js +0 -180
  1630. package/cjs/VirtualizedCollection-00aedb8b.js.map +0 -1
  1631. package/cjs/VirtualizedListView-a07fe73b.js +0 -16
  1632. package/cjs/VirtualizedListView-a07fe73b.js.map +0 -1
  1633. package/cjs/VisNoData-9afdc618.js +0 -35
  1634. package/cjs/VisNoData-9afdc618.js.map +0 -1
  1635. package/cjs/VisProgressiveLoader-ad546cec.js +0 -53
  1636. package/cjs/VisProgressiveLoader-ad546cec.js.map +0 -1
  1637. package/cjs/VisTabularDatatip-3b3341f9.js +0 -26
  1638. package/cjs/VisTabularDatatip-3b3341f9.js.map +0 -1
  1639. package/cjs/WindowOverlay-d255542f.js +0 -112
  1640. package/cjs/WindowOverlay-d255542f.js.map +0 -1
  1641. package/cjs/YearsGridView-95c9ae3d.js +0 -190
  1642. package/cjs/YearsGridView-95c9ae3d.js.map +0 -1
  1643. package/cjs/index-c679f28a.js +0 -13
  1644. package/cjs/index-c679f28a.js.map +0 -1
  1645. package/cjs/render-7a552b40.js +0 -41
  1646. package/cjs/render-7a552b40.js.map +0 -1
  1647. package/cjs/tabbableUtils-6d07309a.js +0 -81
  1648. package/cjs/tabbableUtils-6d07309a.js.map +0 -1
  1649. package/cjs/testData-f91dbc33.js +0 -271
  1650. package/cjs/testData-f91dbc33.js.map +0 -1
  1651. package/cjs/useChartDatatip-7b7f757f.js +0 -137
  1652. package/cjs/useChartDatatip-7b7f757f.js.map +0 -1
  1653. package/cjs/useColorScheme-d2c4adcc.js +0 -21
  1654. package/cjs/useColorScheme-d2c4adcc.js.map +0 -1
  1655. package/cjs/useCssVars-4f061513.js +0 -60
  1656. package/cjs/useCssVars-4f061513.js.map +0 -1
  1657. package/cjs/useCurrentBgColor-ccc9db95.js +0 -21
  1658. package/cjs/useCurrentBgColor-ccc9db95.js.map +0 -1
  1659. package/cjs/useCurrentKey-3b4c8a44.js +0 -83
  1660. package/cjs/useCurrentKey-3b4c8a44.js.map +0 -1
  1661. package/cjs/useDatatip-ff0c568c.js +0 -85
  1662. package/cjs/useDatatip-ff0c568c.js.map +0 -1
  1663. package/cjs/useDensity-6e80ddff.js +0 -21
  1664. package/cjs/useDensity-6e80ddff.js.map +0 -1
  1665. package/cjs/useFloating-7800fd56.js +0 -1926
  1666. package/cjs/useFloating-7800fd56.js.map +0 -1
  1667. package/cjs/useKeyboardEvents-f1a1dfef.js +0 -81
  1668. package/cjs/useKeyboardEvents-f1a1dfef.js.map +0 -1
  1669. package/cjs/useMeterDatatip-5db0b026.js +0 -81
  1670. package/cjs/useMeterDatatip-5db0b026.js.map +0 -1
  1671. package/cjs/useOutsideClick-7420644b.js +0 -87
  1672. package/cjs/useOutsideClick-7420644b.js.map +0 -1
  1673. package/cjs/usePopupAnimation-78a173e8.js +0 -87
  1674. package/cjs/usePopupAnimation-78a173e8.js.map +0 -1
  1675. package/cjs/usePrefixSuffix-edb21dad.js +0 -72
  1676. package/cjs/usePrefixSuffix-edb21dad.js.map +0 -1
  1677. package/cjs/useRovingTabIndexContainer-ff6fef9d.js +0 -100
  1678. package/cjs/useRovingTabIndexContainer-ff6fef9d.js.map +0 -1
  1679. package/cjs/useScale-74bd6456.js +0 -21
  1680. package/cjs/useScale-74bd6456.js.map +0 -1
  1681. package/cjs/useSelectCommon-8aaf62bd.js +0 -633
  1682. package/cjs/useSelectCommon-8aaf62bd.js.map +0 -1
  1683. package/cjs/useSelectDrill-64289234.js +0 -103
  1684. package/cjs/useSelectDrill-64289234.js.map +0 -1
  1685. package/cjs/useSelection-8f71759b.js +0 -183
  1686. package/cjs/useSelection-8f71759b.js.map +0 -1
  1687. package/cjs/useSelection-b53f8255.js +0 -243
  1688. package/cjs/useSelection-b53f8255.js.map +0 -1
  1689. package/cjs/useTabBar-35edcdb1.js +0 -154
  1690. package/cjs/useTabBar-35edcdb1.js.map +0 -1
  1691. package/cjs/useTestId-8234ec1e.js +0 -23
  1692. package/cjs/useTestId-8234ec1e.js.map +0 -1
  1693. package/cjs/useTheme-9b0dc066.js +0 -21
  1694. package/cjs/useTheme-9b0dc066.js.map +0 -1
  1695. package/cjs/useThemeInterpolations-25313f34.js +0 -33
  1696. package/cjs/useThemeInterpolations-25313f34.js.map +0 -1
  1697. package/cjs/useTooltip-468c1c92.js +0 -53
  1698. package/cjs/useTooltip-468c1c92.js.map +0 -1
  1699. package/cjs/useTooltipControlled-706a3651.js +0 -456
  1700. package/cjs/useTooltipControlled-706a3651.js.map +0 -1
  1701. package/cjs/useTranslationBundle-9da032d6.js +0 -31
  1702. package/cjs/useTranslationBundle-9da032d6.js.map +0 -1
  1703. package/cjs/useUser-a6d15333.js +0 -21
  1704. package/cjs/useUser-a6d15333.js.map +0 -1
  1705. package/cjs/useVisEvents-3d806e47.js +0 -155
  1706. package/cjs/useVisEvents-3d806e47.js.map +0 -1
  1707. package/cjs/withDirectionIcon-d9c7c79f.js +0 -16
  1708. package/cjs/withDirectionIcon-d9c7c79f.js.map +0 -1
  1709. package/es/BarChart-c8f78f4b.js +0 -567
  1710. package/es/BarChart-c8f78f4b.js.map +0 -1
  1711. package/es/BaseCardViewSelectionTest-ab83a0b0.js +0 -683
  1712. package/es/BaseCardViewSelectionTest-ab83a0b0.js.map +0 -1
  1713. package/es/BaseNavigationListItem-f3bf5d85.js +0 -47
  1714. package/es/BaseNavigationListItem-f3bf5d85.js.map +0 -1
  1715. package/es/Center-58d4b406.js +0 -16
  1716. package/es/Center-58d4b406.js.map +0 -1
  1717. package/es/Chart-793bd008.js +0 -332
  1718. package/es/Chart-793bd008.js.map +0 -1
  1719. package/es/CompactLabelAssistance-933d1d68.js +0 -27
  1720. package/es/CompactLabelAssistance-933d1d68.js.map +0 -1
  1721. package/es/DatePicker-e517dad2.js +0 -562
  1722. package/es/DatePicker-e517dad2.js.map +0 -1
  1723. package/es/Diagram-15e246b6.js +0 -1998
  1724. package/es/Diagram-15e246b6.js.map +0 -1
  1725. package/es/Dropdown-2a328b40.js +0 -80
  1726. package/es/Dropdown-2a328b40.js.map +0 -1
  1727. package/es/EnvironmentProvider-6846a7ff.js +0 -58
  1728. package/es/EnvironmentProvider-6846a7ff.js.map +0 -1
  1729. package/es/Flex-5ff5aa5e.js +0 -30
  1730. package/es/Flex-5ff5aa5e.js.map +0 -1
  1731. package/es/Floating-5b269acc.js +0 -462
  1732. package/es/Floating-5b269acc.js.map +0 -1
  1733. package/es/Grid-5d8f712b.js +0 -27
  1734. package/es/Grid-5d8f712b.js.map +0 -1
  1735. package/es/Gridlines-4b7301e7.js +0 -120
  1736. package/es/Gridlines-4b7301e7.js.map +0 -1
  1737. package/es/HighlightText-39781e79.js +0 -31
  1738. package/es/HighlightText-39781e79.js.map +0 -1
  1739. package/es/IconUserAssistance-744d71a4.js +0 -73
  1740. package/es/IconUserAssistance-744d71a4.js.map +0 -1
  1741. package/es/InputDatePicker-aa02a34c.js +0 -323
  1742. package/es/InputDatePicker-aa02a34c.js.map +0 -1
  1743. package/es/Layer-5d259d3a.js +0 -84
  1744. package/es/Layer-5d259d3a.js.map +0 -1
  1745. package/es/LayerHost-aaed41a1.js +0 -40
  1746. package/es/LayerHost-aaed41a1.js.map +0 -1
  1747. package/es/LayerManager-87beee1e.js +0 -34
  1748. package/es/LayerManager-87beee1e.js.map +0 -1
  1749. package/es/LineAreaChart-35327196.js +0 -223
  1750. package/es/LineAreaChart-35327196.js.map +0 -1
  1751. package/es/ListItemLayout-961c8443.js +0 -58
  1752. package/es/ListItemLayout-961c8443.js.map +0 -1
  1753. package/es/LiveRegion-4646cd7d.js +0 -39
  1754. package/es/LiveRegion-4646cd7d.js.map +0 -1
  1755. package/es/MaxLengthLiveRegion-1278e638.js +0 -23
  1756. package/es/MaxLengthLiveRegion-1278e638.js.map +0 -1
  1757. package/es/Menu-b0c28cfd.js +0 -313
  1758. package/es/Menu-b0c28cfd.js.map +0 -1
  1759. package/es/MessageLayer-322485df.js +0 -58
  1760. package/es/MessageLayer-322485df.js.map +0 -1
  1761. package/es/Modal-986872f3.js +0 -255
  1762. package/es/Modal-986872f3.js.map +0 -1
  1763. package/es/MonthView-99cc26ac.js +0 -152
  1764. package/es/MonthView-99cc26ac.js.map +0 -1
  1765. package/es/NavigationList-40cfa2f7.js +0 -156
  1766. package/es/NavigationList-40cfa2f7.js.map +0 -1
  1767. package/es/NavigationListItem-1efd88f0.js +0 -10
  1768. package/es/NavigationListItem-1efd88f0.js.map +0 -1
  1769. package/es/OverflowTabBarItem-d0a9dae6.js +0 -87
  1770. package/es/OverflowTabBarItem-d0a9dae6.js.map +0 -1
  1771. package/es/PieChart-e41e3463.js +0 -433
  1772. package/es/PieChart-e41e3463.js.map +0 -1
  1773. package/es/Popup-6288438d.js +0 -240
  1774. package/es/Popup-6288438d.js.map +0 -1
  1775. package/es/ProgressBar-ed0c5ba0.js +0 -58
  1776. package/es/ProgressBar-ed0c5ba0.js.map +0 -1
  1777. package/es/ProgressCircle-95a70910.js +0 -44
  1778. package/es/ProgressCircle-95a70910.js.map +0 -1
  1779. package/es/RemovableNavigationListItem-d55724ff.js +0 -25
  1780. package/es/RemovableNavigationListItem-d55724ff.js.map +0 -1
  1781. package/es/ReorderableTabBar-aae17355.js +0 -79
  1782. package/es/ReorderableTabBar-aae17355.js.map +0 -1
  1783. package/es/SectionedContent-13d72f4b.js +0 -64
  1784. package/es/SectionedContent-13d72f4b.js.map +0 -1
  1785. package/es/SelectionCard-8496e467.js +0 -38
  1786. package/es/SelectionCard-8496e467.js.map +0 -1
  1787. package/es/Sheet-8914df23.js +0 -158
  1788. package/es/Sheet-8914df23.js.map +0 -1
  1789. package/es/TabBar-935be8eb.js +0 -68
  1790. package/es/TabBar-935be8eb.js.map +0 -1
  1791. package/es/TabBarMixed-1742d71e.js +0 -78
  1792. package/es/TabBarMixed-1742d71e.js.map +0 -1
  1793. package/es/TabBarMixedSeparator-da2254c9.js +0 -19
  1794. package/es/TabBarMixedSeparator-da2254c9.js.map +0 -1
  1795. package/es/View-4dc6ce42.js +0 -167
  1796. package/es/View-4dc6ce42.js.map +0 -1
  1797. package/es/VisNoData-c69e8f5e.js +0 -32
  1798. package/es/VisNoData-c69e8f5e.js.map +0 -1
  1799. package/es/VisProgressiveLoader-cc1ab7cc.js +0 -51
  1800. package/es/VisProgressiveLoader-cc1ab7cc.js.map +0 -1
  1801. package/es/VisTabularDatatip-418525b0.js +0 -24
  1802. package/es/VisTabularDatatip-418525b0.js.map +0 -1
  1803. package/es/WindowOverlay-88b63ede.js +0 -110
  1804. package/es/WindowOverlay-88b63ede.js.map +0 -1
  1805. package/es/YearsGridView-76892288.js +0 -187
  1806. package/es/YearsGridView-76892288.js.map +0 -1
  1807. package/es/index-75f23286.js +0 -11
  1808. package/es/index-75f23286.js.map +0 -1
  1809. package/es/render-8e2a09d1.js +0 -34
  1810. package/es/render-8e2a09d1.js.map +0 -1
  1811. package/es/tabbableUtils-73a9ba14.js +0 -79
  1812. package/es/tabbableUtils-73a9ba14.js.map +0 -1
  1813. package/es/testData-0aee4d83.js +0 -256
  1814. package/es/testData-0aee4d83.js.map +0 -1
  1815. package/es/useChartDatatip-f7bacd9b.js +0 -135
  1816. package/es/useChartDatatip-f7bacd9b.js.map +0 -1
  1817. package/es/useColorScheme-bf110202.js +0 -19
  1818. package/es/useColorScheme-bf110202.js.map +0 -1
  1819. package/es/useCssVars-b3bf30fb.js +0 -58
  1820. package/es/useCssVars-b3bf30fb.js.map +0 -1
  1821. package/es/useCurrentBgColor-b3ebd7be.js +0 -19
  1822. package/es/useCurrentBgColor-b3ebd7be.js.map +0 -1
  1823. package/es/useCurrentKey-1f99b0f6.js +0 -81
  1824. package/es/useCurrentKey-1f99b0f6.js.map +0 -1
  1825. package/es/useDatatip-f9bcaab9.js +0 -83
  1826. package/es/useDatatip-f9bcaab9.js.map +0 -1
  1827. package/es/useDensity-9f6c6bf0.js +0 -19
  1828. package/es/useDensity-9f6c6bf0.js.map +0 -1
  1829. package/es/useFloating-1cca9e4f.js +0 -1916
  1830. package/es/useFloating-1cca9e4f.js.map +0 -1
  1831. package/es/useKeyboardEvents-11b26017.js +0 -78
  1832. package/es/useKeyboardEvents-11b26017.js.map +0 -1
  1833. package/es/useMeterDatatip-7366880d.js +0 -78
  1834. package/es/useMeterDatatip-7366880d.js.map +0 -1
  1835. package/es/useNavigationListItem-5f7cd66b.js +0 -81
  1836. package/es/useNavigationListItem-5f7cd66b.js.map +0 -1
  1837. package/es/useOutsideClick-ab98bfa3.js +0 -85
  1838. package/es/useOutsideClick-ab98bfa3.js.map +0 -1
  1839. package/es/usePopupAnimation-4969107b.js +0 -85
  1840. package/es/usePopupAnimation-4969107b.js.map +0 -1
  1841. package/es/usePrefixSuffix-a14dacb0.js +0 -70
  1842. package/es/usePrefixSuffix-a14dacb0.js.map +0 -1
  1843. package/es/useRovingTabIndexContainer-91fd85f3.js +0 -98
  1844. package/es/useRovingTabIndexContainer-91fd85f3.js.map +0 -1
  1845. package/es/useScale-42018695.js +0 -19
  1846. package/es/useScale-42018695.js.map +0 -1
  1847. package/es/useSelectDrill-333650bd.js +0 -100
  1848. package/es/useSelectDrill-333650bd.js.map +0 -1
  1849. package/es/useSelection-48f572e5.js +0 -181
  1850. package/es/useSelection-48f572e5.js.map +0 -1
  1851. package/es/useSelection-a098b3af.js +0 -241
  1852. package/es/useSelection-a098b3af.js.map +0 -1
  1853. package/es/useTabBar-4b318196.js +0 -152
  1854. package/es/useTabBar-4b318196.js.map +0 -1
  1855. package/es/useTestId-f5aed66c.js +0 -21
  1856. package/es/useTestId-f5aed66c.js.map +0 -1
  1857. package/es/useTheme-e7ea1253.js +0 -19
  1858. package/es/useTheme-e7ea1253.js.map +0 -1
  1859. package/es/useThemeInterpolations-66ce2e56.js +0 -31
  1860. package/es/useThemeInterpolations-66ce2e56.js.map +0 -1
  1861. package/es/useTooltip-30a4a4fc.js +0 -51
  1862. package/es/useTooltip-30a4a4fc.js.map +0 -1
  1863. package/es/useTooltipControlled-eafec36e.js +0 -454
  1864. package/es/useTooltipControlled-eafec36e.js.map +0 -1
  1865. package/es/useTranslationBundle-e8a8c4f3.js +0 -29
  1866. package/es/useTranslationBundle-e8a8c4f3.js.map +0 -1
  1867. package/es/useUser-fb09e212.js +0 -19
  1868. package/es/useUser-fb09e212.js.map +0 -1
  1869. package/es/useVisEvents-e31dcd17.js +0 -153
  1870. package/es/useVisEvents-e31dcd17.js.map +0 -1
  1871. package/es/withDirectionIcon-6eefb71a.js +0 -14
  1872. package/es/withDirectionIcon-6eefb71a.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Table-ecf57a09.js","sources":["../../src/PRIVATE_Table/TableColGroup.tsx","../../src/PRIVATE_Table/TableSkeletonRow.tsx","../../src/PRIVATE_Table/TableCell.tsx","../../src/PRIVATE_Table/TableRow.tsx","../../src/PRIVATE_Table/TableNoData.tsx","../../src/PRIVATE_Table/TableBody.tsx","../../src/PRIVATE_Table/TableHeaderCell.tsx","../../src/PRIVATE_Table/TableHeader.tsx","../../src/PRIVATE_Table/TableFooterCell.tsx","../../src/PRIVATE_Table/TableFooter.tsx","../../src/PRIVATE_Table/TableDragIndicator.tsx","../../src/PRIVATE_Table/utils/TableDomUtils.ts","../../src/PRIVATE_Table/utils/TableScrollUtils.ts","../../src/PRIVATE_Table/utils/TableNavigationUtils.ts","../../src/PRIVATE_Table/hooks/useFocusHandling.ts","../../src/PRIVATE_Table/utils/TableActionUtils.ts","../../src/PRIVATE_Table/utils/TableSelectionUtils.ts","../../src/PRIVATE_Table/hooks/useKeyboardHandling.ts","../../src/PRIVATE_Table/utils/TableSizingUtils.ts","../../src/PRIVATE_Table/hooks/usePointerHandling.ts","../../src/PRIVATE_Table/hooks/useScrollHandling.ts","../../src/PRIVATE_Table/hooks/useInteractionManager.ts","../../src/PRIVATE_Table/utils/TableLayoutUtils.ts","../../src/PRIVATE_Table/Table.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\n/**\n * Props for the TableColGroup Component\n */\nexport type TableColGroupProps = {\n tableId: string;\n columnWidthsArray: (number | undefined)[];\n};\n\n/**\n * The internal component used to render a single colgroup in Table.\n */\nexport function TableColGroup({ tableId, columnWidthsArray }: TableColGroupProps) {\n const getColStyle = (columnWidth?: number) => {\n return columnWidth == null ? '' : `width: ${columnWidth}px;`;\n };\n\n return (\n <colgroup>\n {columnWidthsArray.map((columnWidth?: number) => {\n return <col style={getColStyle(columnWidth)} data-oj-table-col={tableId} />;\n })}\n </colgroup>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useState, useEffect } from 'preact/hooks';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\nimport { tableSkeletonBarContainerStyles, tableSkeletonCellStyles } from './themes/Table.css';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { Skeleton } from '../UNSAFE_Skeleton';\n\ntype SkeletonRowProps = {\n /**\n * Total number of columns to span\n */\n colspan: number;\n /**\n * The preact key value\n */\n preactKey: any;\n /**\n * Allows to specify number of skeletons to be rendered on initial load\n **/\n minimumCount?: number;\n};\n\n/**\n * Allows to specify the time delay for rendering the component\n **/\nconst _timerValue = 50;\n\n/**\n * TableSkeletonRow renders 'minimumCount' number of skeletons\n * of the variant specified from its child element - Skeleton's prop after\n * 'timerValue' ms delay\n **/\nexport function TableSkeletonRow({ colspan, preactKey, minimumCount = 1 }: SkeletonRowProps) {\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n setTimeout(() => {\n setIsVisible(true);\n }, _timerValue);\n }, []);\n\n const cellClasses = classNames([tableSkeletonCellStyles.base]);\n\n return (\n <tr class={LOADMORE_STYLE_CLASS} key={preactKey}>\n {isVisible ? (\n <td class={cellClasses} colSpan={colspan} role=\"presentation\">\n {[...Array(minimumCount)].map((_element) => (\n <div class={tableSkeletonBarContainerStyles.base}>\n <Skeleton height=\"4x\" />\n </div>\n ))}\n </td>\n ) : null}\n </tr>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren } from 'preact';\nimport { Text } from '../UNSAFE_Text';\nimport { CurrentRowVariant, TableRendererContext } from '../UNSAFE_TableView';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { TableCellVariantOptions } from './themes/TableCellStyles.css';\nimport { TableCellRedwoodTheme } from './themes/redwood/TableCellTheme';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\n\n/**\n * Props for the TableCell Component\n */\nexport type TableCellProps<K, D, C> = {\n tableId: string;\n rowData: D;\n columnKey: C;\n columnIndex: number;\n rowKey: K;\n rowIndex: number;\n isFinalRowIndex: boolean;\n isFinalColumnIndex: boolean;\n hasVerticalGridlines: boolean;\n hasHorizontalGridlines: boolean;\n isRowSelected: boolean;\n isPreviousRowSelected: boolean;\n isColumnSelected: boolean;\n isPreviousColumnSelected: boolean;\n isShowFocusRing: boolean;\n isStickyStartEdge: boolean;\n isStickyEndEdge: boolean;\n isRtl: boolean;\n isRowHeader: boolean;\n isRowSelectionEnabled: boolean;\n isRowSingleSelection: boolean;\n applyActiveStyle: boolean;\n applyHoverStyle: boolean;\n applyPseudoHoverStyle: boolean;\n field?: keyof D;\n stickyColumn?: 'start' | 'end' | 'none';\n renderer?: (context: TableRendererContext<K, D, C>) => ComponentChildren;\n selectorRenderer?: () => ComponentChildren;\n variant?: CurrentRowVariant;\n};\n\nfunction _defaultCellRenderer<K, D, C>({ rowData, field }: TableRendererContext<K, D, C>) {\n return field != null ? (\n <Text truncation=\"ellipsis\" variant=\"primary\" size=\"md\">\n {String(rowData[field])}\n </Text>\n ) : null;\n}\n\n/**\n * The internal component used to render a single cell in a TableRow.\n */\nexport function TableCell<K, D, C>({\n tableId,\n rowData,\n field,\n columnKey,\n columnIndex,\n rowKey,\n rowIndex,\n isFinalRowIndex,\n isFinalColumnIndex,\n hasVerticalGridlines,\n hasHorizontalGridlines,\n isRowSelected,\n isPreviousRowSelected,\n isColumnSelected,\n isPreviousColumnSelected,\n isShowFocusRing,\n isRowHeader,\n stickyColumn = 'none',\n renderer = _defaultCellRenderer,\n selectorRenderer,\n isRowSelectionEnabled,\n isRowSingleSelection,\n variant,\n applyActiveStyle,\n applyHoverStyle,\n applyPseudoHoverStyle,\n isStickyStartEdge,\n isStickyEndEdge,\n isRtl\n}: TableCellProps<K, D, C>) {\n const hasRenderer = renderer !== _defaultCellRenderer;\n const { classes: themeClasses } = useComponentTheme<TableCellVariantOptions>(\n TableCellRedwoodTheme,\n {\n defaultRenderer: !hasRenderer ? 'isDefaultRenderer' : 'notDefaultRenderer',\n firstRow: rowIndex === 0 ? 'isFirstRow' : 'notFirstRow',\n lastRow: isFinalRowIndex ? 'isLastRow' : 'notLastRow',\n firstColumn: columnIndex === 0 ? 'isFirstColumn' : 'notFirstColumn',\n lastColumn: isFinalColumnIndex ? 'isLastColumn' : 'notLastColumn',\n borderTopSpacer:\n !(isRowSingleSelection && (isRowSelected || isPreviousRowSelected)) &&\n (!hasHorizontalGridlines || rowIndex === 0)\n ? 'isBorderTopSpacer'\n : 'notBorderTopSpacer',\n borderBottomSpacer:\n isFinalRowIndex && !((isRowSingleSelection && isRowSelected) || hasHorizontalGridlines)\n ? 'isBorderBottomSpacer'\n : 'notBorderBottomSpacer',\n borderStartSpacer:\n !(isPreviousColumnSelected || isColumnSelected) &&\n (!hasVerticalGridlines || columnIndex === 0)\n ? 'isBorderStartSpacer'\n : 'notBorderStartSpacer',\n borderEndSpacer:\n isFinalColumnIndex && !isColumnSelected ? 'isBorderEndSpacer' : 'notBorderEndSpacer',\n verticalGrid: hasVerticalGridlines ? 'isVerticalGrid' : 'notVerticalGrid',\n horizontalGrid: hasHorizontalGridlines ? 'isHorizontalGrid' : 'notHorizontalGrid',\n rowSingleSelection: isRowSingleSelection ? 'isRowSingleSelection' : 'notRowSingleSelection',\n rowSelectable: isRowSelectionEnabled ? 'isRowSelectable' : 'notRowSelectable',\n rowSelected: isRowSelected ? 'isRowSelected' : 'notRowSelected',\n previousRowSelected: isPreviousRowSelected\n ? 'isPreviousRowSelected'\n : 'notPreviousRowSelected',\n columnSelected: isColumnSelected ? 'isColumnSelected' : 'notColumnSelected',\n previousColumnSelected: isPreviousColumnSelected\n ? 'isPreviousColumnSelected'\n : 'notPreviousColumnSelected',\n stickyStartColumn: stickyColumn === 'start' ? 'isStickyStartColumn' : 'notStickyStartColumn',\n stickyEndColumn: stickyColumn === 'end' ? 'isStickyEndColumn' : 'notStickyEndColumn',\n stickyStartEdge: isStickyStartEdge ? 'isStickyStartEdge' : 'notStickyStartEdge',\n stickyEndEdge: isStickyEndEdge ? 'isStickyEndEdge' : 'notStickyEndEdge',\n rowHighlight: variant === 'highlight' ? 'isRowHighlight' : 'notRowHighlight',\n showFocusRing: isShowFocusRing ? 'isShowFocusRing' : 'notShowFocusRing',\n active: applyActiveStyle ? 'isActive' : 'notActive',\n hover: applyHoverStyle ? 'isHover' : 'notHover',\n pseudoHover: applyPseudoHoverStyle ? 'isPseudoHover' : 'notPseudoHover',\n rtl: isRtl ? 'isRtl' : 'notRtl'\n }\n );\n\n const cellClasses = classNames([themeClasses]);\n\n const cellRendererProps = {\n rowData: rowData,\n rowKey: rowKey,\n field: field,\n columnKey: columnKey,\n selector: selectorRenderer\n };\n\n return (\n <td\n aria-colindex={columnIndex + 1}\n class={cellClasses}\n id={useId()}\n tabIndex={-1}\n role={isRowHeader ? 'rowheader' : 'gridcell'}\n data-oj-cell-type={'data'}\n data-oj-column-key={columnKey}\n data-oj-table-focusable={tableId}\n data-oj-table-data-cell={tableId}\n {...(typeof columnKey === 'number' && { 'data-oj-column-key-type': 'number' })}>\n {renderer(cellRendererProps)}\n </td>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { memo } from 'preact/compat';\nimport { SelectionDetail } from '../UNSAFE_Collection';\nimport { Selector } from '../UNSAFE_Selector';\nimport { CurrentRowVariant, TableSelectionDetail } from '../UNSAFE_TableView';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { Keys, containsKey, isSameKey } from '../utils/UNSAFE_keys';\nimport { TableColumn } from './Table';\nimport { TableCell } from './TableCell';\nimport { TableRowVariantOptions } from './themes/TableRowStyles.css';\nimport { TableRowRedwoodTheme } from './themes/redwood/TableRowTheme';\nimport { BundleType } from '../resources/nls/bundle';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { useInteractionStyle } from '../hooks/UNSAFE_useInteractionStyle';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\n\n/**\n * Props for the TableRow Component\n */\nexport type TableRowProps<K, D, C> = {\n tableId: string;\n rowKey: K;\n rowData: D;\n rowIndex: number;\n isFinalRow: boolean;\n columnsArray: TableColumn<K, D, C>[];\n rowHeaderColumnKeys: Set<C>;\n hasVerticalGridlines: boolean;\n hasHorizontalGridlines: boolean;\n isSelected: boolean;\n isPreviousSelected: boolean;\n isRowSelectionEnabled: boolean;\n isSingleRowSelectionEnabled: boolean;\n isRtl: boolean;\n selectedRowKeys?: Keys<K>;\n focusRingColumnKey?: C;\n selectedColumnKeys?: Keys<C>;\n variant?: CurrentRowVariant;\n onSelectionChange?: (detail: TableSelectionDetail<K, C>, isExtendableSelection: boolean) => void;\n startStickyEdge?: number;\n endStickyEdge?: number;\n};\n\n/**\n * The internal component used to render a single row in Table.\n */\nfunction TableRow<K, D, C>({\n tableId,\n rowKey,\n rowData,\n rowIndex,\n isFinalRow,\n columnsArray,\n rowHeaderColumnKeys,\n hasVerticalGridlines,\n hasHorizontalGridlines,\n isSelected,\n isPreviousSelected,\n isRowSelectionEnabled,\n isSingleRowSelectionEnabled,\n selectedRowKeys = { all: false, keys: new Set<K>() },\n focusRingColumnKey,\n selectedColumnKeys = { all: false, keys: new Set<C>() },\n variant,\n onSelectionChange,\n startStickyEdge,\n endStickyEdge,\n isRtl\n}: TableRowProps<K, D, C>) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const { interactionProps, applyActiveStyle, applyHoverStyle, applyPseudoHoverStyle } =\n useInteractionStyle();\n\n const { classes: themeClasses } = useComponentTheme<TableRowVariantOptions>(\n TableRowRedwoodTheme,\n { lastRow: isFinalRow ? 'isLastRow' : 'notLastRow' }\n );\n\n const classes = classNames([themeClasses]);\n\n const accessibleRowName = (rowIndex + 2).toString();\n const handleRowSelectorChange = (detail: SelectionDetail<K>) => {\n if (onSelectionChange != null) {\n onSelectionChange(\n { value: { row: detail.value, column: selectedColumnKeys }, target: detail.target },\n false\n );\n }\n };\n const selectorRenderer =\n isRowSelectionEnabled && !isSingleRowSelectionEnabled\n ? () => {\n // conversion from 0-based index and adding the header row as it is always rendered\n return (\n <Selector\n aria-label={translations.collection_selectRow({ ROW_NAME: accessibleRowName })}\n onChange={handleRowSelectorChange}\n rowKey={rowKey}\n selectedKeys={selectedRowKeys}\n />\n );\n }\n : undefined;\n\n let isPreviousColumnSelected = false;\n return (\n <tr\n aria-rowindex={rowIndex + 1}\n class={classes}\n role={'row'}\n data-oj-key={rowKey}\n data-oj-table-data-row={tableId}\n {...(isRowSelectionEnabled\n ? isSelected\n ? { 'aria-selected': true }\n : { 'aria-selected': false }\n : {})}\n {...(typeof rowKey === 'number' && { 'data-oj-key-type': 'number' })}\n {...(isRowSelectionEnabled && interactionProps)}>\n {columnsArray.map((column: TableColumn<K, D, C>, columnIndex: number) => {\n const columnKey = column.key;\n const isColumnSelected = containsKey(selectedColumnKeys, columnKey);\n const cellProps = {\n tableId: tableId,\n rowData: rowData,\n field: column.value.field,\n stickyColumn: column.value.stickyEdge,\n columnKey: columnKey,\n columnIndex: columnIndex,\n rowKey: rowKey,\n rowIndex: rowIndex,\n isFinalRowIndex: isFinalRow,\n isFinalColumnIndex: columnIndex === columnsArray.length - 1,\n hasVerticalGridlines: hasVerticalGridlines,\n hasHorizontalGridlines: hasHorizontalGridlines,\n isRowSelected: isSelected,\n isPreviousRowSelected: isPreviousSelected,\n isColumnSelected: isColumnSelected,\n isPreviousColumnSelected: isPreviousColumnSelected,\n isShowFocusRing: column.key === focusRingColumnKey,\n isRowHeader: rowHeaderColumnKeys.has(column.key),\n renderer: column.value.renderer,\n selectorRenderer: selectorRenderer,\n isRowSelectionEnabled: isRowSelectionEnabled,\n variant: variant,\n isRowSingleSelection: isSingleRowSelectionEnabled,\n applyActiveStyle: applyActiveStyle,\n applyHoverStyle: applyHoverStyle,\n applyPseudoHoverStyle: applyPseudoHoverStyle,\n isStickyStartEdge: columnIndex === startStickyEdge,\n isStickyEndEdge: columnIndex === endStickyEdge,\n isRtl: isRtl\n };\n isPreviousColumnSelected = isColumnSelected;\n return <TableCell {...cellProps} />;\n })}\n </tr>\n );\n}\n\nconst _areStringSetsEquivalent = (set1?: Set<string>, set2?: Set<string>) => {\n if (set1 == null) {\n return set2 == null;\n }\n if (set2 == null) {\n return false;\n }\n return set1.size === set2.size && [...set1].every((x) => set2.has(x));\n};\n\nconst _areColumnsArraysEquivalent = (\n columnsArray1: TableColumn<string | number, any, string>[],\n columnsArray2: TableColumn<string | number, any, string>[]\n) => {\n if (columnsArray1.length === columnsArray2.length) {\n for (let i = 0; i < columnsArray1.length; i++) {\n if (\n columnsArray1[i].key !== columnsArray2[i].key ||\n columnsArray1[i].value !== columnsArray2[i].value\n ) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n\nexport const MemoizeTableRow = memo(TableRow, (prev: any, next: any) => {\n if (prev && next) {\n return (\n prev.tableId === next.tableId &&\n prev.rowKey === next.rowKey &&\n prev.rowData === next.rowData &&\n prev.rowIndex === next.rowIndex &&\n prev.isFinalRow === next.isFinalRow &&\n _areColumnsArraysEquivalent(prev.columnsArray, next.columnsArray) &&\n prev.horizontalGridlines === next.horizontalGridlines &&\n prev.verticalGridlines === next.verticalGridlines &&\n _areStringSetsEquivalent(prev.rowHeaderColumnKeys, next.rowHeaderColumnKeys) &&\n prev.isSelected === next.isSelected &&\n prev.isPreviousSelected === next.isPreviousSelected &&\n prev.isRowSelectionEnabled === next.isRowSelectionEnabled &&\n prev.isSingleRowSelectionEnabled === next.isSingleRowSelectionEnabled &&\n (prev.isRowSelectionEnabled && !prev.isSingleRowSelectionEnabled\n ? isSameKey(prev.selectedRowKeys, next.selectedRowKeys)\n : true) &&\n isSameKey(prev.selectedColumnKeys, next.selectedColumnKeys) &&\n prev.focusRingColumnKey === next.focusRingColumnKey &&\n prev.variant === next.variant &&\n prev.onSelectionChange === next.onSelectionChange &&\n prev.startStickyEdge === next.startStickyEdge &&\n prev.endStickyEdge === next.endStickyEdge &&\n prev.isRtl === next.isRtl\n );\n }\n return false;\n});\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren } from 'preact';\nimport { Text } from '../UNSAFE_Text';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { tableRowStyles } from './themes/TableRowStyles.css';\nimport { TableNoDataVariantOptions } from './themes/TableNoDataStyles.css';\nimport { TableNoDataRedwoodTheme } from './themes/redwood/TableNoDataTheme';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { BundleType } from '../resources/nls/bundle';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\n\n/**\n * Props for the TableCell Component\n */\nexport type TableNoDataProps = {\n tableId: string;\n columnsCount: number;\n isShowFocusRing: boolean;\n renderer?: () => ComponentChildren;\n};\n\n/**\n * The internal component used to render a single cell in a TableRow.\n */\nexport function TableNoData({\n tableId,\n columnsCount,\n isShowFocusRing,\n renderer\n}: TableNoDataProps) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const rowClasses = classNames([tableRowStyles.base]);\n\n const { classes: themeClasses } = useComponentTheme<TableNoDataVariantOptions>(\n TableNoDataRedwoodTheme,\n {\n defaultRenderer: renderer == null ? 'isDefaultRenderer' : 'notDefaultRenderer',\n showFocusRing: isShowFocusRing ? 'isShowFocusRing' : 'notShowFocusRing'\n }\n );\n\n const cellClasses = classNames([themeClasses]);\n\n function defaultContentRenderer() {\n return (\n <Text truncation=\"ellipsis\" variant=\"primary\" size=\"md\">\n {translations.collection_noData()}\n </Text>\n );\n }\n\n const contentRenderer = renderer != null ? renderer : defaultContentRenderer;\n\n return (\n <tr aria-rowindex={2} class={rowClasses} role={'row'}>\n <td\n aria-colindex={1}\n class={cellClasses}\n id={useId()}\n tabIndex={-1}\n role={'gridcell'}\n colSpan={columnsCount}\n data-oj-cell-type={'noData'}\n data-oj-table-focusable={tableId}\n data-oj-table-nodata-cell={tableId}>\n {contentRenderer()}\n </td>\n </tr>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useCallback, useRef } from 'preact/hooks';\nimport { LoadMoreCollection } from '../PRIVATE_LoadMoreCollection';\nimport { TableColumn } from './Table';\nimport { TableSkeletonRow } from './TableSkeletonRow';\nimport { MemoizeTableRow } from './TableRow';\nimport { ItemContext } from '../UNSAFE_Collection';\nimport {\n Cell,\n CurrentRowVariant,\n TableSelectionDetail,\n TableRowContext\n} from '../UNSAFE_TableView';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { collectionStyles } from './themes/Table.css';\nimport { Keys, containsKey } from '../utils/UNSAFE_keys';\nimport { ViewportConfig } from '../hooks/UNSAFE_useViewportIntersect';\nimport { TableNoData } from './TableNoData';\nimport { ComponentChildren } from 'preact';\n\n/**\n * Props for the TableBody Component\n */\nexport type TableBodyProps<K, D, C> = {\n tableId: string;\n getAccessibleRowHeaders: (context: TableRowContext<K, D>) => Set<C>;\n data: D[] | null;\n columnsArray: TableColumn<K, D, C>[];\n hasVerticalGridlines: boolean;\n hasHorizontalGridlines: boolean;\n isShowFocusRing: boolean;\n getRowKey: (data: D) => K;\n hasMore: boolean;\n isRtl: boolean;\n onLoadMore: () => void;\n viewportConfig: ViewportConfig;\n currentCell?: Cell<K, C>;\n currentRowVariant?: CurrentRowVariant;\n selected: { row?: Keys<K>; column?: Keys<C> };\n isRowSelectionEnabled: boolean;\n isSingleRowSelectionEnabled: boolean;\n onSelectionChange?: (detail: TableSelectionDetail<K, C>, isExtendableSelection: boolean) => void;\n noDataRenderer?: () => ComponentChildren;\n startStickyEdge?: number;\n endStickyEdge?: number;\n};\n\n/**\n * The internal component used to render a single cell in a TableRow.\n */\nexport function TableBody<K, D, C>({\n tableId,\n getAccessibleRowHeaders,\n data,\n columnsArray,\n hasVerticalGridlines,\n hasHorizontalGridlines,\n isShowFocusRing,\n getRowKey,\n hasMore,\n onLoadMore,\n viewportConfig,\n currentCell,\n currentRowVariant,\n selected,\n isRowSelectionEnabled,\n isSingleRowSelectionEnabled,\n onSelectionChange,\n noDataRenderer,\n startStickyEdge,\n endStickyEdge,\n isRtl\n}: TableBodyProps<K, D, C>) {\n // track the empty loading state and generate a new key when it changes to avoid\n // issues with skeleton animations becoming out of sync when more are added\n const loadIndicatorKeyRef = useRef<number>(new Date().getTime());\n const isShowEmptyLoadingRef = useRef<boolean>();\n\n const collectionClasses = classNames([collectionStyles.base]);\n\n // returns a TableRowContext based on ItemContext (added key)\n const getRowContext = useCallback(\n (context: ItemContext<{ data: D }>) => {\n return {\n index: context.index,\n data: context.data.data,\n key: getRowKey(context.data.data)\n };\n },\n [getRowKey]\n );\n\n let isPreviousSelected = false;\n const collectionChildrenFunc = (context: ItemContext<{ data: D }>) => {\n const tableRowContext = getRowContext(context);\n const rowKey = tableRowContext.key;\n const containsCurrentCell = currentCell?.rowKey === rowKey;\n const focusRingColumnKey =\n containsCurrentCell && isShowFocusRing ? currentCell.columnKey : undefined;\n const isSelected = containsKey(selected.row, rowKey);\n const rowProps = {\n tableId: tableId,\n columnsArray: columnsArray,\n rowHeaderColumnKeys: getAccessibleRowHeaders(tableRowContext),\n hasVerticalGridlines: hasVerticalGridlines,\n hasHorizontalGridlines: hasHorizontalGridlines,\n isSelected: isSelected,\n isPreviousSelected: isPreviousSelected,\n onSelectionChange: onSelectionChange,\n isRowSelectionEnabled: isRowSelectionEnabled,\n isSingleRowSelectionEnabled: isSingleRowSelectionEnabled,\n variant: containsCurrentCell ? currentRowVariant : 'none',\n focusRingColumnKey: focusRingColumnKey,\n selectedRowKeys: selected.row,\n selectedColumnKeys: selected.column,\n rowIndex: tableRowContext.index,\n rowKey: rowKey,\n rowData: tableRowContext.data,\n isFinalRow: tableRowContext.index === (data != null ? data.length - 1 : -1),\n startStickyEdge: startStickyEdge,\n endStickyEdge: endStickyEdge,\n isRtl: isRtl\n };\n isPreviousSelected = isSelected;\n return <MemoizeTableRow {...rowProps} />;\n };\n\n const getNoDataProps = () => {\n return {\n tableId: tableId,\n columnsCount: columnsArray.length,\n isShowFocusRing: isShowFocusRing && currentCell?.type === 'noData',\n renderer: noDataRenderer\n };\n };\n\n const collectionData =\n data != null\n ? data.map((d: D) => {\n const key = getRowKey(d);\n return { data: d, metadata: key };\n })\n : [];\n\n const isShowEmptyLoading = data != null && data.length === 0 && hasMore;\n const isShowNoData = data == null || (data.length === 0 && !hasMore);\n const prevIsEmpty = isShowEmptyLoadingRef.current;\n if (prevIsEmpty !== isShowEmptyLoading) {\n loadIndicatorKeyRef.current = new Date().getTime();\n }\n isShowEmptyLoadingRef.current = isShowEmptyLoading;\n\n return (\n <tbody class={collectionClasses}>\n {isShowNoData ? (\n <TableNoData {...getNoDataProps()} />\n ) : (\n <LoadMoreCollection\n data={collectionData}\n loadMoreIndicator={\n <TableSkeletonRow\n colspan={columnsArray.length}\n preactKey={loadIndicatorKeyRef.current}\n minimumCount={isShowEmptyLoading ? 25 : 3}\n />\n }\n hasMore={hasMore}\n onLoadMore={onLoadMore}\n viewportConfig={viewportConfig}>\n {collectionChildrenFunc}\n </LoadMoreCollection>\n )}\n </tbody>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren } from 'preact';\nimport { useCallback } from 'preact/hooks';\nimport { SelectionDetail } from '../UNSAFE_Collection';\nimport { SelectorAll } from '../UNSAFE_SelectorAll';\nimport { Text } from '../UNSAFE_Text';\nimport {\n TableHeaderRendererContext,\n TableSelectionDetail,\n SortCriterionDetail\n} from '../UNSAFE_TableView';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { Keys, isSameKey } from '../utils/UNSAFE_keys';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { tableHeaderCellTextStyles, tableHeaderSortContainerStyles } from './themes/Table.css';\nimport { TableHeaderCellVariantOptions } from './themes/TableHeaderCellStyles.css';\nimport { TableHeaderCellRedwoodTheme } from './themes/redwood/TableHeaderCellTheme';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { BundleType } from '../resources/nls/bundle';\nimport { useInteractionStyle } from '../hooks/UNSAFE_useInteractionStyle';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { EmbeddedIconButton } from '../PRIVATE_EmbeddedIconButton';\nimport { SortAscendingIcon } from '../PRIVATE_ThemedIcons/SortAscendingIcon';\nimport { SortDefaultIcon } from '../PRIVATE_ThemedIcons/SortDefaultIcon';\nimport { SortDescendingIcon } from '../PRIVATE_ThemedIcons/SortDescendingIcon';\n\n/**\n * Props for the TableHeaderCell Component\n */\nexport type TableHeaderCellProps<K, C> = {\n tableId: string;\n columnKey: C;\n columnIndex: number;\n isFinalColumnIndex: boolean;\n hasVerticalGridlines: boolean;\n isSelected: boolean;\n isPreviousSelected: boolean;\n isColumnSelectable: boolean;\n isRowSelectionEnabled: boolean;\n isShowFocusRing: boolean;\n isStickyStartEdge: boolean;\n isStickyEndEdge: boolean;\n isRtl: boolean;\n headerText?: string;\n selectedColumnKeys?: Keys<C>;\n selectedRowKeys?: Keys<K>;\n stickyColumn?: 'start' | 'end' | 'none';\n renderer?: (context: TableHeaderRendererContext<C>) => ComponentChildren;\n onSelectionChange?: (detail: TableSelectionDetail<K, C>, isExtendableSelection: boolean) => void;\n sortable?: 'enabled' | 'disabled';\n sortDirection?: 'ascending' | 'descending';\n onSortCriterionChange?: (detail: SortCriterionDetail<C>) => void;\n};\n\n/**\n * The internal component used to render a single cell in a TableHeaderRow.\n */\nexport function TableHeaderCell<K, C>({\n tableId,\n columnKey,\n columnIndex,\n isFinalColumnIndex,\n hasVerticalGridlines,\n isSelected,\n isPreviousSelected,\n isColumnSelectable,\n isRowSelectionEnabled,\n selectedColumnKeys = { all: false, keys: new Set<C>() },\n selectedRowKeys = { all: false, keys: new Set<K>() },\n isShowFocusRing,\n headerText,\n stickyColumn = 'none',\n renderer,\n onSelectionChange,\n sortable = 'disabled',\n sortDirection,\n onSortCriterionChange,\n isStickyStartEdge,\n isStickyEndEdge,\n isRtl\n}: TableHeaderCellProps<K, C>) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const { interactionProps, applyActiveStyle, applyHoverStyle, applyPseudoHoverStyle } =\n useInteractionStyle();\n\n const hasRenderer = renderer != null;\n const { classes: themeClasses } = useComponentTheme<TableHeaderCellVariantOptions>(\n TableHeaderCellRedwoodTheme,\n {\n defaultRenderer: !hasRenderer ? 'isDefaultRenderer' : 'notDefaultRenderer',\n firstColumn: columnIndex === 0 ? 'isFirstColumn' : 'notFirstColumn',\n lastColumn: isFinalColumnIndex ? 'isLastColumn' : 'notLastColumn',\n borderStartSpacer:\n !(isPreviousSelected || isSelected) && (!hasVerticalGridlines || columnIndex === 0)\n ? 'isBorderStartSpacer'\n : 'notBorderStartSpacer',\n borderEndSpacer:\n isFinalColumnIndex && !isSelected ? 'isBorderEndSpacer' : 'notBorderEndSpacer',\n verticalGrid: hasVerticalGridlines ? 'isVerticalGrid' : 'notVerticalGrid',\n columnSelectable: isColumnSelectable ? 'isColumnSelectable' : 'notColumnSelectable',\n columnSelected: isSelected ? 'isColumnSelected' : 'notColumnSelected',\n previousColumnSelected: isPreviousSelected\n ? 'isPreviousColumnSelected'\n : 'notPreviousColumnSelected',\n stickyStartColumn: stickyColumn === 'start' ? 'isStickyStartColumn' : 'notStickyStartColumn',\n stickyEndColumn: stickyColumn === 'end' ? 'isStickyEndColumn' : 'notStickyEndColumn',\n stickyStartEdge: isStickyStartEdge ? 'isStickyStartEdge' : 'notStickyStartEdge',\n stickyEndEdge: isStickyEndEdge ? 'isStickyEndEdge' : 'notStickyEndEdge',\n showFocusRing: isShowFocusRing ? 'isShowFocusRing' : 'notShowFocusRing',\n active: applyActiveStyle ? 'isActive' : 'notActive',\n hover: applyHoverStyle ? 'isHover' : 'notHover',\n pseudoHover: applyPseudoHoverStyle ? 'isPseudoHover' : 'notPseudoHover',\n rtl: isRtl ? 'isRtl' : 'notRtl'\n }\n );\n\n const cellClasses = classNames([themeClasses]);\n\n let selectorAllState: 'all' | 'none' | 'partial' | 'partial-all';\n if (isSameKey(selectedRowKeys, { all: true, deletedKeys: new Set<K>() })) {\n selectorAllState = 'all';\n } else if (isSameKey(selectedRowKeys, { all: false, keys: new Set<K>() })) {\n selectorAllState = 'none';\n } else {\n selectorAllState = 'partial';\n }\n\n const handleSelectorChange = (detail: SelectionDetail<K>) => {\n if (onSelectionChange != null) {\n onSelectionChange(\n { value: { row: detail.value, column: selectedColumnKeys }, target: detail.target },\n false\n );\n }\n };\n\n const selectorRenderer = isRowSelectionEnabled\n ? () => (\n <SelectorAll\n aria-label={translations.collection_selectAllRows()}\n onChange={handleSelectorChange}\n selected={selectorAllState}\n />\n )\n : undefined;\n\n const sortIconRenderer =\n sortable === 'enabled' || sortDirection != null\n ? () => (\n <EmbeddedIconButton\n aria-label={\n sortable === 'enabled'\n ? translations.collection_sortEnabled()\n : translations.collection_sortDisabled()\n }\n isDisabled={sortable !== 'enabled'}\n onAction={handleSortGesture}>\n {sortDirection === 'ascending' ? (\n <SortAscendingIcon />\n ) : sortDirection === 'descending' ? (\n <SortDescendingIcon />\n ) : (\n <SortDefaultIcon />\n )}\n </EmbeddedIconButton>\n )\n : undefined;\n\n const headerCellRendererProps = {\n key: columnKey,\n headerText: headerText,\n sortable: sortable,\n sortDirection: sortDirection,\n selector: selectorRenderer,\n sortControl: sortIconRenderer\n };\n\n const handleSortGesture = useCallback(() => {\n if (onSortCriterionChange != null) {\n const newDirection = sortDirection === 'ascending' ? 'descending' : 'ascending';\n onSortCriterionChange([{ key: columnKey, sortDirection: newDirection }]);\n }\n }, [columnKey, sortDirection, onSortCriterionChange]);\n\n const getHeaderCellRenderer = useCallback(() => {\n if (renderer != null) {\n return renderer;\n }\n return ({ headerText, sortControl }: TableHeaderRendererContext<C>) => {\n const text =\n headerText != null ? (\n <div class={tableHeaderCellTextStyles.base}>\n <Text overflowWrap=\"normal\" lineClamp={2} variant=\"primary\" size=\"md\">\n {headerText}\n </Text>\n </div>\n ) : null;\n if (sortControl != null) {\n return (\n <div class={tableHeaderSortContainerStyles.base}>\n {text}\n {sortControl()}\n </div>\n );\n }\n return text;\n };\n }, [renderer]);\n\n const getAriaSelected = () => {\n if (isSelected) {\n return { 'aria-selected': true };\n }\n return isColumnSelectable ? { 'aria-selected': false } : undefined;\n };\n\n const getAriaSort = () => {\n if (sortDirection === 'ascending' || sortDirection === 'descending') {\n return { 'aria-sort': sortDirection };\n }\n return undefined;\n };\n\n return (\n <th\n aria-colindex={columnIndex + 1}\n {...getAriaSelected()}\n {...getAriaSort()}\n class={cellClasses}\n id={useId()}\n tabIndex={-1}\n role={'columnheader'}\n data-oj-cell-type={'header'}\n data-oj-column-key={columnKey}\n data-oj-table-focusable={tableId}\n data-oj-table-header-cell={tableId}\n {...(typeof columnKey === 'number' && { 'data-oj-column-key-type': 'number' })}\n {...(isColumnSelectable && interactionProps)}>\n {getHeaderCellRenderer()(headerCellRendererProps)}\n </th>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { Keys, containsKey } from '../utils/UNSAFE_keys';\nimport { TableSelectionDetail, SortCriterionDetail } from '../UNSAFE_TableView';\nimport { TableColumn } from './Table';\nimport { TableHeaderCell } from './TableHeaderCell';\nimport { tableHeaderRowStyles, tableHeaderRowContainerStyles } from './themes/Table.css';\n\n/**\n * Props for the TableHeader Component\n */\nexport type TableHeaderProps<K, D, C> = {\n tableId: string;\n columnsArray: TableColumn<K, D, C>[];\n hasVerticalGridlines: boolean;\n focusedKey?: C;\n isShowFocusRing: boolean;\n selectedColumnKeys?: Keys<C>;\n selectedRowKeys?: Keys<K>;\n isColumnSelectionEnabled: boolean;\n isRowSelectionEnabled: boolean;\n isResizeHover: boolean;\n isRtl: boolean;\n onSelectionChange?: (detail: TableSelectionDetail<K, C>, isExtendableSelection: boolean) => void;\n sortCriterion?: { key: C; sortDirection: 'ascending' | 'descending' }[];\n onSortCriterionChange?: (detail: SortCriterionDetail<C>) => void;\n startStickyEdge?: number;\n endStickyEdge?: number;\n};\n\n/**\n * The internal component used to render a header region in Table.\n */\nexport function TableHeader<K, D, C>({\n tableId,\n columnsArray,\n hasVerticalGridlines,\n focusedKey,\n isShowFocusRing,\n selectedColumnKeys,\n selectedRowKeys,\n isColumnSelectionEnabled,\n isRowSelectionEnabled,\n onSelectionChange,\n sortCriterion,\n onSortCriterionChange,\n startStickyEdge,\n endStickyEdge,\n isResizeHover,\n isRtl\n}: TableHeaderProps<K, D, C>) {\n const rowClasses = classNames([tableHeaderRowStyles.base]);\n const containerClasses = classNames([tableHeaderRowContainerStyles.base]);\n\n const getStyle = () => {\n return isResizeHover ? 'cursor: col-resize;' : '';\n };\n\n let isPreviousSelected = false;\n return (\n <thead class={containerClasses}>\n <tr class={rowClasses} role={'row'} style={getStyle()} data-oj-table-header-row={tableId}>\n {columnsArray.map((column: TableColumn<K, D, C>, columnIndex: number) => {\n const columnKey = column.key;\n let sortDirection;\n if (sortCriterion != null) {\n for (const criterion of sortCriterion) {\n if (criterion.key === columnKey) {\n sortDirection = criterion.sortDirection;\n break;\n }\n }\n }\n const isSelected = containsKey(selectedColumnKeys, columnKey);\n const headerCellProps = {\n tableId: tableId,\n hasVerticalGridlines: hasVerticalGridlines,\n columnKey: columnKey,\n columnIndex: columnIndex,\n isFinalColumnIndex: columnIndex === columnsArray.length - 1,\n stickyColumn: column.value.stickyEdge,\n isSelected: isSelected,\n isPreviousSelected: isPreviousSelected,\n selectedColumnKeys: selectedColumnKeys,\n selectedRowKeys: selectedRowKeys,\n isColumnSelectable: isColumnSelectionEnabled && column.value.selectable !== 'disabled',\n isRowSelectionEnabled: isRowSelectionEnabled,\n isShowFocusRing: isShowFocusRing && columnKey === focusedKey,\n headerText: column.value.headerText,\n renderer: column.value.headerRenderer,\n onSelectionChange: onSelectionChange,\n sortable: column.value.sortable,\n sortDirection: sortDirection,\n onSortCriterionChange: onSortCriterionChange,\n isStickyStartEdge: columnIndex === startStickyEdge,\n isStickyEndEdge: columnIndex === endStickyEdge,\n isRtl: isRtl\n };\n isPreviousSelected = isSelected;\n return <TableHeaderCell {...headerCellProps} />;\n })}\n </tr>\n </thead>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren } from 'preact';\nimport { Text } from '../UNSAFE_Text';\nimport { TableFooterRendererContext } from '../UNSAFE_TableView';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { TableFooterCellVariantOptions } from './themes/TableFooterCellStyles.css';\nimport { TableFooterCellRedwoodTheme } from './themes/redwood/TableFooterCellTheme';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { useInteractionStyle } from '../hooks/UNSAFE_useInteractionStyle';\n\n/**\n * Props for the TableFooterCell Component\n */\nexport type TableFooterCellProps<C> = {\n tableId: string;\n columnKey: C;\n columnIndex: number;\n isFinalColumnIndex: boolean;\n hasVerticalGridlines: boolean;\n isSelected: boolean;\n isPreviousSelected: boolean;\n isColumnSelectable: boolean;\n isShowFocusRing: boolean;\n isStickyStartEdge: boolean;\n isStickyEndEdge: boolean;\n isRtl: boolean;\n footerText?: string;\n stickyColumn?: 'start' | 'end' | 'none';\n renderer?: (context: TableFooterRendererContext<C>) => ComponentChildren;\n};\n\nfunction _defaultFooterCellRenderer<C>({ footerText }: TableFooterRendererContext<C>) {\n return footerText != null ? (\n <Text truncation=\"ellipsis\" variant=\"primary\" size=\"md\">\n {footerText}\n </Text>\n ) : null;\n}\n\n/**\n * The internal component used to render a single cell in a TableFooterRow.\n */\nexport function TableFooterCell<C>({\n tableId,\n columnKey,\n columnIndex,\n isFinalColumnIndex,\n hasVerticalGridlines,\n isSelected,\n isPreviousSelected,\n isColumnSelectable,\n isShowFocusRing,\n stickyColumn = 'none',\n footerText,\n renderer = _defaultFooterCellRenderer,\n isStickyStartEdge,\n isStickyEndEdge,\n isRtl\n}: TableFooterCellProps<C>) {\n const { interactionProps, applyActiveStyle, applyHoverStyle, applyPseudoHoverStyle } =\n useInteractionStyle();\n\n const hasRenderer = renderer !== _defaultFooterCellRenderer;\n const { classes: themeClasses } = useComponentTheme<TableFooterCellVariantOptions>(\n TableFooterCellRedwoodTheme,\n {\n defaultRenderer: !hasRenderer ? 'isDefaultRenderer' : 'notDefaultRenderer',\n firstColumn: columnIndex === 0 ? 'isFirstColumn' : 'notFirstColumn',\n lastColumn: isFinalColumnIndex ? 'isLastColumn' : 'notLastColumn',\n borderStartSpacer:\n !(isPreviousSelected || isSelected) && (!hasVerticalGridlines || columnIndex === 0)\n ? 'isBorderStartSpacer'\n : 'notBorderStartSpacer',\n borderEndSpacer:\n isFinalColumnIndex && !isSelected ? 'isBorderEndSpacer' : 'notBorderEndSpacer',\n verticalGrid: hasVerticalGridlines ? 'isVerticalGrid' : 'notVerticalGrid',\n columnSelectable: isColumnSelectable ? 'isColumnSelectable' : 'notColumnSelectable',\n columnSelected: isSelected ? 'isColumnSelected' : 'notColumnSelected',\n previousColumnSelected: isPreviousSelected\n ? 'isPreviousColumnSelected'\n : 'notPreviousColumnSelected',\n stickyStartColumn: stickyColumn === 'start' ? 'isStickyStartColumn' : 'notStickyStartColumn',\n stickyEndColumn: stickyColumn === 'end' ? 'isStickyEndColumn' : 'notStickyEndColumn',\n stickyStartEdge: isStickyStartEdge ? 'isStickyStartEdge' : 'notStickyStartEdge',\n stickyEndEdge: isStickyEndEdge ? 'isStickyEndEdge' : 'notStickyEndEdge',\n showFocusRing: isShowFocusRing ? 'isShowFocusRing' : 'notShowFocusRing',\n active: applyActiveStyle ? 'isActive' : 'notActive',\n hover: applyHoverStyle ? 'isHover' : 'notHover',\n pseudoHover: applyPseudoHoverStyle ? 'isPseudoHover' : 'notPseudoHover',\n rtl: isRtl ? 'isRtl' : 'notRtl'\n }\n );\n\n const cellClasses = classNames([themeClasses]);\n\n const footerCellRendererProps = { key: columnKey, footerText: footerText };\n\n return (\n <td\n aria-colindex={columnIndex + 1}\n {...(isSelected\n ? { 'aria-selected': true }\n : isColumnSelectable\n ? { 'aria-selected': false }\n : {})}\n class={cellClasses}\n id={useId()}\n tabIndex={-1}\n role={'gridcell'}\n data-oj-cell-type={'footer'}\n data-oj-column-key={columnKey}\n data-oj-table-focusable={tableId}\n data-oj-table-footer-cell={tableId}\n {...(typeof columnKey === 'number' && { 'data-oj-column-key-type': 'number' })}\n {...(isColumnSelectable && interactionProps)}>\n {renderer(footerCellRendererProps)}\n </td>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { Keys, containsKey } from '../utils/UNSAFE_keys';\nimport { TableColumn } from './Table';\nimport { TableFooterCell } from './TableFooterCell';\nimport { tableFooterRowStyles, tableFooterRowContainerStyles } from './themes/Table.css';\n\n/**\n * Props for the TableFooter Component\n */\nexport type TableFooterProps<K, D, C> = {\n tableId: string;\n isRendered: boolean;\n columnsArray: TableColumn<K, D, C>[];\n hasVerticalGridlines: boolean;\n focusedKey?: C;\n isShowFocusRing: boolean;\n isRtl: boolean;\n selectedKeys?: Keys<C>;\n isColumnSelectionEnabled: boolean;\n startStickyEdge?: number;\n endStickyEdge?: number;\n};\n\n/**\n * The internal component used to render a footer region in Table.\n */\nexport function TableFooter<K, D, C>({\n tableId,\n isRendered,\n columnsArray,\n hasVerticalGridlines,\n focusedKey,\n isShowFocusRing,\n selectedKeys,\n isColumnSelectionEnabled,\n startStickyEdge,\n endStickyEdge,\n isRtl\n}: TableFooterProps<K, D, C>) {\n const rowClasses = classNames([tableFooterRowStyles.base]);\n const containerClasses = classNames([tableFooterRowContainerStyles.base]);\n\n let isPreviousSelected = false;\n return isRendered ? (\n <tfoot class={containerClasses}>\n <tr class={rowClasses} role={'row'} data-oj-table-footer-row={tableId}>\n {columnsArray.map((column: TableColumn<K, D, C>, columnIndex: number) => {\n const columnKey = column.key;\n const isSelected = containsKey(selectedKeys, columnKey);\n const footerCellProps = {\n tableId: tableId,\n columnKey: columnKey,\n columnIndex: columnIndex,\n isFinalColumnIndex: columnIndex === columnsArray.length - 1,\n hasVerticalGridlines: hasVerticalGridlines,\n stickyColumn: column.value.stickyEdge,\n isSelected: isSelected,\n isPreviousSelected: isPreviousSelected,\n isColumnSelectable: isColumnSelectionEnabled && column.value.selectable !== 'disabled',\n isShowFocusRing: isShowFocusRing && columnKey === focusedKey,\n footerText: column.value.footerText,\n renderer: column.value.footerRenderer,\n isStickyStartEdge: columnIndex === startStickyEdge,\n isStickyEndEdge: columnIndex === endStickyEdge,\n isRtl: isRtl\n };\n isPreviousSelected = isSelected;\n return <TableFooterCell {...footerCellProps} />;\n })}\n </tr>\n </tfoot>\n ) : null;\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { tableDragIndicatorStyles } from './themes/Table.css';\n\n/**\n * Props for the TableDragIndicator Component\n */\nexport type TableDragIndicatorProps = {\n isRtl: boolean;\n position?: number;\n};\n\n/**\n * The internal component used to render a drag indicator line in the Table.\n */\nexport function TableDragIndicator({ position, isRtl }: TableDragIndicatorProps) {\n const tableDragIndicatorClasses = classNames([tableDragIndicatorStyles.base]);\n\n const getDragIndicatorStyle = () => {\n if (position != null) {\n return isRtl\n ? `right:${position}px;cursor:col-resize;`\n : `left:${position}px;cursor:col-resize;`;\n }\n return `display:none;`;\n };\n\n return <div class={tableDragIndicatorClasses} style={getDragIndicatorStyle()} />;\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { keyExtractor } from '../../utils/PRIVATE_collectionUtils';\nimport { FocusableElement } from '../../utils/PRIVATE_tabbableUtils';\nimport { Cell } from '../../UNSAFE_TableView';\n\n/**\n * Returns the cell type for the given cell element\n */\nexport const getCellType = (element: FocusableElement) => {\n return element.dataset['ojCellType'];\n};\n\n/**\n * Returns the row key for the given row element\n */\nexport const getRowKey = (element: HTMLElement) => {\n return element.dataset['ojKeyType'] === 'number'\n ? Number(element.dataset['ojKey'])\n : element.dataset['ojKey'];\n};\n\n/**\n * Returns the key for the row at the given index\n */\nexport const getRowKeyForRowIndex = (root: HTMLElement, tableId: string, index: number) => {\n if (root != null) {\n const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);\n if (rowElements.length > index) {\n return getRowKey(rowElements[index] as HTMLElement);\n }\n }\n return null;\n};\n\n/**\n * Returns the index of the given row element\n */\nexport const getRowIndexForRowElement = (\n root: HTMLElement,\n tableId: string,\n rowElement: HTMLElement\n) => {\n if (root != null) {\n const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);\n const index = Array.prototype.indexOf.call(rowElements, rowElement);\n if (index > -1) {\n return index;\n }\n }\n return null;\n};\n\n/**\n * Returns the index of the row for the given key.\n */\nexport function getRowIndexForRowKey<K>(root: HTMLElement, tableId: string, rowKey: K) {\n if (root != null) {\n const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);\n for (let i = 0; i < rowElements.length; i++) {\n if (rowKey === getRowKey(rowElements[i] as HTMLElement)) {\n return i;\n }\n }\n }\n return null;\n}\n\n/**\n * Returns the column key for the given cell element\n */\nexport const getColumnKey = (element: HTMLElement) => {\n return element.dataset['ojColumnKeyType'] === 'number'\n ? Number(element.dataset['ojColumnKey'])\n : element.dataset['ojColumnKey'];\n};\n\n/**\n * Returns the key for the column at the given index\n */\nexport const getColumnKeyForColumnIndex = (root: HTMLElement, tableId: string, index: number) => {\n if (root != null) {\n const headerElements = root.querySelectorAll(`[data-oj-table-header-cell='${tableId}']`);\n if (headerElements.length > index) {\n return getColumnKey(headerElements[index] as HTMLElement);\n }\n }\n return null;\n};\n\n/**\n * Returns the index of the given column header element or footer element\n */\nexport const getColumnIndexForHeaderFooterElement = (\n root: HTMLElement,\n tableId: string,\n cellElement: HTMLElement,\n isHeader: boolean\n) => {\n if (root != null) {\n const columnElements = root.querySelectorAll(\n isHeader\n ? `[data-oj-table-header-cell='${tableId}']`\n : `[data-oj-table-footer-cell='${tableId}']`\n );\n const index = Array.prototype.indexOf.call(columnElements, cellElement);\n if (index > -1) {\n return index;\n }\n }\n return null;\n};\n\n/**\n * Helper method to get the cell key definition from an element\n */\nexport function logicalCellExtractor<K, C>(\n element: HTMLElement,\n tableId: string,\n cellSelector: string,\n onlyAncestors?: boolean\n): Cell<K, C> | null {\n const startingElement = onlyAncestors ? element.parentElement : element;\n if (startingElement != null) {\n const cellElement = startingElement.closest(cellSelector) as HTMLElement;\n if (cellElement != null) {\n const cellType = getCellType(cellElement);\n if (cellType === 'data') {\n return {\n rowKey: keyExtractor(cellElement, `[data-oj-table-data-row='${tableId}']`) as K,\n columnKey: getColumnKey(cellElement) as C,\n type: cellType\n };\n } else if (cellType === 'header' || cellType === 'footer') {\n return {\n columnKey: getColumnKey(cellElement) as C,\n type: cellType\n };\n } else if (cellType === 'noData') {\n return {\n type: cellType\n };\n }\n }\n }\n return null;\n}\n\n/**\n * Helper method to get an element from a cell descriptor\n */\nexport function getElementFromCell<K, C>(\n root: HTMLElement,\n tableId: string,\n cell: Cell<K, C>\n): HTMLElement | null {\n if (cell.type === 'header') {\n // header case\n const headerElements = root.querySelectorAll(`[data-oj-table-header-cell='${tableId}']`);\n for (const headerElement of headerElements) {\n if (cell.columnKey === getColumnKey(headerElement as HTMLElement)) {\n return headerElement as HTMLElement;\n }\n }\n } else if (cell.type === 'footer') {\n // footer case\n const footerElements = root.querySelectorAll(`[data-oj-table-footer-cell='${tableId}']`);\n for (const footerElement of footerElements) {\n if (cell.columnKey === getColumnKey(footerElement as HTMLElement)) {\n return footerElement as HTMLElement;\n }\n }\n } else if (cell.type === 'data') {\n // data body case\n const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);\n for (const rowElement of rowElements) {\n if (cell.rowKey === getRowKey(rowElement as HTMLElement)) {\n const cellElements = rowElement.querySelectorAll(`[data-oj-table-focusable='${tableId}']`);\n for (const cellElement of cellElements) {\n if (cell.columnKey === getColumnKey(cellElement as HTMLElement)) {\n return cellElement as HTMLElement;\n }\n }\n }\n }\n } else if (cell.type === 'noData') {\n // no data case\n return root.querySelector(`[data-oj-table-nodata-cell='${tableId}']`) as HTMLElement;\n }\n return null;\n}\n\n/**\n * Helper method to get the top scroller offset of the Table\n */\nexport const getScrollerTopOffset = (root: HTMLElement, tableId: string) => {\n const headerRowElement = root.querySelector(\n `[data-oj-table-header-row='${tableId}']`\n ) as HTMLElement;\n return headerRowElement != null ? headerRowElement.getBoundingClientRect().height : 0;\n};\n\n/**\n * Helper method to get the bottom scroller offset of the Table\n */\nexport const getScrollerBottomOffset = (root: HTMLElement, tableId: string) => {\n const footerRowElement = root.querySelector(\n `[data-oj-table-footer-row='${tableId}']`\n ) as HTMLElement;\n return footerRowElement != null ? footerRowElement.getBoundingClientRect().height : 0;\n};\n\n/**\n * Returns the key of the first focusable row in the Table\n */\nexport const getFirstFocusableRowKey = (root: HTMLElement, tableId: string) => {\n if (root != null) {\n const firstRowElement = root.querySelector(`[data-oj-table-data-row='${tableId}']`);\n if (firstRowElement != null) {\n return getRowKey(firstRowElement as HTMLElement);\n }\n }\n return null;\n};\n\n/**\n * Returns the key of the last focusable row in the Table\n */\nexport const getLastFocusableRowKey = (root: HTMLElement, tableId: string) => {\n const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);\n const rowCount = rowElements.length;\n if (rowCount > 0) {\n return getRowKey(rowElements[rowCount - 1] as HTMLElement);\n }\n return null;\n};\n\n/**\n * Returns the cell definition of the first rendered cell in the Table\n */\nexport const getFirstFocusableCell = (root: HTMLElement, tableId: string) => {\n if (root != null) {\n const firstCellElement = root.querySelector(\n `[data-oj-table-focusable='${tableId}']`\n ) as HTMLElement;\n if (firstCellElement != null) {\n const firstCellType = getCellType(firstCellElement);\n if (firstCellType === 'header' || firstCellType === 'footer') {\n return { columnKey: getColumnKey(firstCellElement), type: firstCellType };\n } else if (firstCellType === 'noData') {\n return { type: 'noData' };\n }\n return {\n rowKey: getRowKey(firstCellElement),\n columnKey: getColumnKey(firstCellElement),\n type: 'data'\n };\n }\n }\n return null;\n};\n\n/**\n * Helper method to determine if the no data cell is present in the Table\n */\nexport const hasNoDataCell = (root: HTMLElement, tableId: string) => {\n if (root != null) {\n return root.querySelectorAll(`[data-oj-table-nodata-cell='${tableId}']`).length > 0;\n }\n return false;\n};\n\n/**\n * Helper method to determine if footer cells are present in the Table\n */\nexport const hasFooterCells = (root: HTMLElement, tableId: string) => {\n if (root != null) {\n return root.querySelectorAll(`[data-oj-table-footer-row='${tableId}']`).length > 0;\n }\n return false;\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { RefObject } from 'preact';\nimport { ScrollDetail, SizingInfo, TableColumn } from '../Table';\nimport { TableHorizontalScrollPosition, TableVerticalScrollPosition } from '../../UNSAFE_TableView';\nimport { ViewportConfig } from '../../hooks/UNSAFE_useViewportIntersect';\nimport { findElementByKey } from '../../utils/PRIVATE_collectionUtils';\nimport {\n getColumnKey,\n getElementFromCell,\n getRowKey,\n getRowKeyForRowIndex,\n getScrollerBottomOffset,\n getScrollerTopOffset\n} from './TableDomUtils';\n\n/**\n * A helper function to make sure specified elem is visible in the specified container\n */\nfunction _scrollColumnIntoView<K, D, C>(\n columnElement: HTMLElement,\n scrollerElement: HTMLElement,\n columnsArray: TableColumn<K, D, C>[],\n scrollbarWidth: number,\n isRtl: boolean,\n fullColumnWidths?: number[],\n location?: 'inView' | 'start' | 'end'\n) {\n const columnKey = getColumnKey(columnElement);\n\n let columnIndex;\n for (let i = 0; i < columnsArray.length; i++) {\n if (columnsArray[i].key === columnKey) {\n columnIndex = i;\n break;\n }\n }\n if (columnIndex != null && fullColumnWidths != null) {\n let startOffset = 0;\n let endOffset = 0;\n\n const stickyStartColumns = getStickyColumnIndicies(columnsArray, true);\n for (let i = 0; i < stickyStartColumns.length; i++) {\n const stickyIndex = stickyStartColumns[i];\n if (stickyIndex < columnIndex) {\n startOffset += fullColumnWidths[stickyIndex];\n } else {\n break;\n }\n }\n const stickyEndColumns = getStickyColumnIndicies(columnsArray, false);\n for (let i = stickyEndColumns.length - 1; i > -1; i--) {\n const stickyIndex = stickyEndColumns[i];\n if (stickyIndex > columnIndex) {\n endOffset += fullColumnWidths[stickyIndex];\n } else {\n break;\n }\n }\n\n const horizontalOverflowDiff = _getHorizontalOverflowDiff(\n columnElement,\n scrollerElement,\n startOffset,\n endOffset,\n scrollbarWidth,\n isRtl\n );\n const leftOverflowDiff = horizontalOverflowDiff.left;\n const hasLeftOverflow = leftOverflowDiff >= 0;\n const rightOverflowDiff = horizontalOverflowDiff.right;\n const hasRightOverflow = rightOverflowDiff >= 0;\n\n // don't adjust scroll position if row has overflow in both directions\n if (hasLeftOverflow && hasRightOverflow) {\n return;\n }\n\n if (location == null || location === 'inView') {\n // if column fits fully in viewport, scroll overflow side into view\n // otherwise, scroll the shortest amount to fill viewport with column\n if (hasLeftOverflow) {\n if (Math.abs(rightOverflowDiff) > Math.abs(leftOverflowDiff)) {\n scrollerElement.scrollLeft = _roundScrollValue(\n scrollerElement.scrollLeft - leftOverflowDiff,\n false\n );\n } else {\n scrollerElement.scrollLeft = _roundScrollValue(\n scrollerElement.scrollLeft + rightOverflowDiff,\n true\n );\n }\n } else if (hasRightOverflow) {\n if (Math.abs(leftOverflowDiff) > Math.abs(rightOverflowDiff)) {\n scrollerElement.scrollLeft = _roundScrollValue(\n scrollerElement.scrollLeft + rightOverflowDiff,\n true\n );\n } else {\n scrollerElement.scrollLeft = _roundScrollValue(\n scrollerElement.scrollLeft - leftOverflowDiff,\n false\n );\n }\n }\n } else if (location === 'start') {\n scrollerElement.scrollLeft = _roundScrollValue(\n scrollerElement.scrollLeft - leftOverflowDiff,\n false\n );\n } else {\n scrollerElement.scrollLeft = _roundScrollValue(\n scrollerElement.scrollLeft + rightOverflowDiff,\n true\n );\n }\n }\n}\n\n/**\n * A helper function to make sure specified elem is visible in the specified container\n */\nconst _scrollRowIntoView = (\n root: HTMLDivElement,\n tableId: string,\n rowElement: HTMLElement,\n scrollerElement: HTMLElement,\n scrollbarHeight: number,\n location?: 'inView' | 'top' | 'bottom'\n) => {\n const topOffset = getScrollerTopOffset(root, tableId);\n const bottomOffset = getScrollerBottomOffset(root, tableId);\n const verticalOverflowDiff = _getVerticalOverflowDiff(\n rowElement,\n scrollerElement,\n topOffset,\n bottomOffset,\n scrollbarHeight\n );\n const topOverflowDiff = verticalOverflowDiff.top;\n const hasTopOverflow = topOverflowDiff >= 0;\n const bottomOverflowDiff = verticalOverflowDiff.bottom;\n const hasBottomOverflow = bottomOverflowDiff >= 0;\n\n // don't adjust scroll position if row has overflow in both directions\n if (hasTopOverflow && hasBottomOverflow) {\n return;\n }\n if (location == null || location === 'inView') {\n // if row fits fully in viewport, scroll overflow side into view\n // otherwise, scroll the shortest amount to fill viewport with row\n if (hasBottomOverflow) {\n if (Math.abs(topOverflowDiff) > Math.abs(bottomOverflowDiff)) {\n scrollerElement.scrollTop = _roundScrollValue(\n scrollerElement.scrollTop + bottomOverflowDiff,\n true\n );\n } else {\n scrollerElement.scrollTop = _roundScrollValue(\n scrollerElement.scrollTop - topOverflowDiff,\n false\n );\n }\n } else if (hasTopOverflow) {\n if (Math.abs(bottomOverflowDiff) > Math.abs(topOverflowDiff)) {\n scrollerElement.scrollTop = _roundScrollValue(\n scrollerElement.scrollTop - topOverflowDiff,\n false\n );\n } else {\n scrollerElement.scrollTop = _roundScrollValue(\n scrollerElement.scrollTop + bottomOverflowDiff,\n true\n );\n }\n }\n } else if (location === 'top') {\n scrollerElement.scrollTop = _roundScrollValue(\n scrollerElement.scrollTop - topOverflowDiff,\n false\n );\n } else {\n scrollerElement.scrollTop = _roundScrollValue(\n scrollerElement.scrollTop + bottomOverflowDiff,\n true\n );\n }\n};\n\n/**\n * Helper method to round a desired scrollTop or scrollLeft value to the nearest valid value\n * depending on the client browser.\n */\nconst _roundScrollValue = (value: number, isOver: boolean) => {\n // use Math.floor() and Math.ceil() to ensure we round to nearest containing valid\n // pixel value in either direction as valid scrollTop values are only integers\n return isOver ? Math.ceil(value) : Math.floor(value);\n};\n\n/**\n * A helper to get the horizontal overflow diff of the given element\n */\nconst _getHorizontalOverflowDiff = (\n element: HTMLElement,\n scrollerElement: HTMLElement,\n startOffset: number,\n endOffset: number,\n scrollbarWidth: number,\n isRtl: boolean\n) => {\n const elementRect = element.getBoundingClientRect();\n const scrollerRect = scrollerElement.getBoundingClientRect();\n\n if (isRtl) {\n return {\n left: scrollerRect.left - elementRect.left + endOffset + scrollbarWidth,\n right: elementRect.right - scrollerRect.right + startOffset\n };\n } else {\n return {\n left: scrollerRect.left - elementRect.left + startOffset,\n right: elementRect.right - scrollerRect.right + endOffset + scrollbarWidth\n };\n }\n};\n\n/**\n * A helper to get the vertical overflow diff of the given element\n */\nexport const _getVerticalOverflowDiff = (\n element: HTMLElement,\n scrollerElement: HTMLElement,\n topOffset: number,\n bottomOffset: number,\n scrollbarHeight: number\n) => {\n const elementRect = element.getBoundingClientRect();\n const scrollerRect = scrollerElement.getBoundingClientRect();\n\n return {\n top: scrollerRect.top - elementRect.top + topOffset,\n bottom: elementRect.bottom - scrollerRect.bottom + bottomOffset + scrollbarHeight\n };\n};\n\n/**\n * Helper to set the horizontal scroll position on the Table.\n */\nexport function setHorizontalScrollPosition<K, D, C>(\n root: HTMLDivElement,\n columnsArray: TableColumn<K, D, C>[],\n fullColumnWidths: number[],\n isRtl: boolean,\n horizontalScrollPosition?: TableHorizontalScrollPosition<C>\n) {\n const x = _getScrollLeftFromScrollPosition(\n root,\n columnsArray,\n fullColumnWidths,\n horizontalScrollPosition\n );\n root.scrollLeft = x != null ? (isRtl ? -x : x) : 0;\n}\n\n/**\n * Helper to set the vertical scroll position on the Table.\n */\nexport function setVerticalScrollPosition<K>(\n root: HTMLDivElement,\n tableId: string,\n verticalScrollPosition?: TableVerticalScrollPosition<K>\n) {\n const y = _getScrollTopFromScrollPosition(root, tableId, verticalScrollPosition);\n root.scrollTop = y != null ? y : 0;\n}\n\n/**\n * Helper to determine the 'x' value of a given scroll position.\n */\nfunction _getScrollLeftFromScrollPosition<K, D, C>(\n root: HTMLDivElement,\n columnsArray: TableColumn<K, D, C>[],\n fullColumnWidths: number[],\n scrollPosition?: TableHorizontalScrollPosition<C>\n) {\n if (scrollPosition != null) {\n let columnKey;\n let useColumn = false;\n if (scrollPosition.columnKey != null) {\n // columnKey takes precedence over everything else\n useColumn = true;\n columnKey = scrollPosition.columnKey;\n } else if (scrollPosition.offsetX != null && scrollPosition.x == null) {\n // offsetX can be used on its own if it is the only horizontal aspect provided\n useColumn = true;\n const currentHorizontalScrollPosition = getHorizontalScrollPosition(\n root,\n columnsArray,\n fullColumnWidths\n );\n columnKey = currentHorizontalScrollPosition.columnKey;\n }\n if (useColumn) {\n if (columnKey != null) {\n let x = 0;\n for (let i = 0; i < fullColumnWidths.length; i++) {\n if (columnsArray[i].key === columnKey) {\n return x + (scrollPosition.offsetX != null ? scrollPosition.offsetX : 0);\n }\n if (columnsArray[i].value.stickyEdge !== 'start') {\n x += fullColumnWidths[i];\n }\n }\n }\n } else if (scrollPosition.x != null) {\n return scrollPosition.x;\n }\n }\n // either nothing was provided, or what was provided was invalid\n return undefined;\n}\n\n/**\n * Helper to determine the 'y' value of a given scroll position.\n */\nfunction _getScrollTopFromScrollPosition<K>(\n root: HTMLDivElement,\n tableId: string,\n scrollPosition?: TableVerticalScrollPosition<K>\n) {\n if (scrollPosition != null) {\n let rowKey;\n let useRow = false;\n if (scrollPosition.rowKey != null) {\n // rowKey takes precedence over everything else\n useRow = true;\n rowKey = scrollPosition.rowKey;\n } else if (scrollPosition.offsetY != null && scrollPosition.y == null) {\n // offsetY can be used on its own if it is the only vertical aspect provided\n useRow = true;\n rowKey = getVerticalScrollPosition(root, tableId).rowKey;\n }\n if (useRow) {\n if (rowKey != null) {\n let y = 0;\n const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);\n for (let i = 0; i < rowElements.length; i++) {\n if (rowKey === getRowKey(rowElements[i] as HTMLElement)) {\n return y + (scrollPosition.offsetY != null ? scrollPosition.offsetY : 0);\n }\n y += rowElements[i].getBoundingClientRect().height;\n }\n }\n } else if (scrollPosition.y != null) {\n return scrollPosition.y;\n }\n }\n // either nothing was provided, or what was provided was invalid\n return undefined;\n}\n\n/**\n * Helper to get the logical scroll position for the given scrollLeft value. If no scrollLeft value is given,\n * it will use the current scrollLeft value of the Table.\n */\nexport function getHorizontalScrollPosition<K, D, C>(\n root: HTMLDivElement,\n columnsArray: TableColumn<K, D, C>[],\n fullColumnWidths: number[],\n newScrollLeft?: number\n) {\n // ensure scroll position x value is initialized\n const scrollLeft = Math.abs(newScrollLeft == null ? root.scrollLeft : newScrollLeft);\n\n const scrollPosition: TableHorizontalScrollPosition<C> = {\n x: scrollLeft,\n columnKey: undefined,\n offsetX: undefined\n };\n\n let columnEnd = 0;\n if (columnsArray.length > 0) {\n if (scrollLeft === 0) {\n scrollPosition.columnKey = columnsArray[0].key;\n scrollPosition.offsetX = 0;\n return scrollPosition;\n }\n }\n for (let i = 0; i < columnsArray.length; i++) {\n if (columnsArray[i].value.stickyEdge !== 'start') {\n columnEnd += fullColumnWidths[i];\n }\n if (scrollLeft < columnEnd) {\n scrollPosition.columnKey = columnsArray[i].key;\n scrollPosition.offsetX = fullColumnWidths[i] + scrollLeft - columnEnd;\n break;\n }\n }\n return scrollPosition;\n}\n\n/**\n * Helper to get the logical scroll position for the given scrollTop value. If no scrollTop value is given,\n * it will use the current scrollTop value of the Table.\n */\nexport function getVerticalScrollPosition<K>(\n root: HTMLDivElement,\n tableId: string,\n newScrollTop?: number\n) {\n // ensure scroll position y value is initialized\n const scrollTop = Math.abs(newScrollTop == null ? root.scrollTop : newScrollTop);\n\n const scrollPosition: TableVerticalScrollPosition<K> = {\n y: scrollTop,\n rowKey: undefined,\n offsetY: undefined\n };\n\n let rowBottom = 0;\n const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);\n if (rowElements.length > 0) {\n if (scrollTop === 0) {\n scrollPosition.rowKey = getRowKeyForRowIndex(root, tableId, 0) as K;\n scrollPosition.offsetY = 0;\n return scrollPosition;\n }\n }\n for (let i = 0; i < rowElements.length; i++) {\n const rowHeight = rowElements[i].getBoundingClientRect().height;\n rowBottom += rowHeight;\n if (scrollTop < rowBottom) {\n scrollPosition.rowKey = getRowKeyForRowIndex(root, tableId, i) as K;\n scrollPosition.offsetY = rowHeight + scrollTop - rowBottom;\n break;\n }\n }\n return scrollPosition;\n}\n\nexport function applyScrollDetail<K extends string | number, D, C>(\n root: HTMLDivElement,\n tableId: string,\n columnsArray: TableColumn<K, D, C>[],\n sizingInfo: SizingInfo,\n scrollDetail: ScrollDetail<K, C>,\n isRtl: boolean,\n fullColumnWidths?: number[],\n viewportConfig?: ViewportConfig\n) {\n const scroller = viewportConfig?.scroller() || root;\n if (scrollDetail.cell.type === 'data') {\n const rowElement = findElementByKey(\n root,\n scrollDetail.cell.rowKey,\n `[data-oj-table-data-row='${tableId}']`\n ) as HTMLElement;\n if (rowElement != null) {\n _scrollRowIntoView(\n root,\n tableId,\n rowElement,\n scroller,\n sizingInfo.boxHeight! - sizingInfo.contentHeight!,\n scrollDetail.locationY\n );\n }\n }\n const cellElement = getElementFromCell(root, tableId, scrollDetail.cell);\n if (cellElement != null) {\n _scrollColumnIntoView(\n cellElement,\n scroller,\n columnsArray,\n sizingInfo.boxWidth! - sizingInfo.contentWidth!,\n isRtl,\n fullColumnWidths,\n scrollDetail.locationX\n );\n }\n}\n\n/**\n * Helper function to update the 'left' and 'right' values of all sticky columns to correspond\n * to the given sizing information.\n */\nexport function updateStickyColumns<K, D, C>(\n root: HTMLDivElement,\n tableId: string,\n isRtl: boolean,\n columnsArray: TableColumn<K, D, C>[],\n fullColumnWidths: number[],\n stickyEdgesState: { start?: number; end?: number },\n setStickyEdgesState: (stickyEdgesState: { start?: number; end?: number }) => void\n) {\n let stickyIndex;\n let stickyStartOffset = 0;\n let stickyEndOffset = 0;\n\n const stickyStartIndicies = getStickyColumnIndicies(columnsArray, true);\n for (let i = 0; i < stickyStartIndicies.length; i++) {\n stickyIndex = stickyStartIndicies[i];\n _applyStickyColumnOffset(root, tableId, isRtl, stickyIndex, stickyStartOffset, true);\n stickyStartOffset += fullColumnWidths[stickyIndex];\n }\n const stickyEndIndicies = getStickyColumnIndicies(columnsArray, false);\n for (let i = stickyEndIndicies.length - 1; i > -1; i--) {\n stickyIndex = stickyEndIndicies[i];\n _applyStickyColumnOffset(root, tableId, isRtl, stickyIndex, stickyEndOffset, false);\n stickyEndOffset += fullColumnWidths[stickyIndex];\n }\n\n updateStickyEdges(root, columnsArray, fullColumnWidths, stickyEdgesState, setStickyEdgesState);\n}\n\n/**\n * Helper function to get the column indicies corresponding to the given edge.\n */\nexport const getStickyColumnIndicies = <K, D, C>(\n columnsArray: TableColumn<K, D, C>[],\n isStart: boolean\n) => {\n const stickyColumns = [];\n const edge = isStart ? 'start' : 'end';\n for (let i = 0; i < columnsArray.length; i++) {\n if (columnsArray[i].value.stickyEdge === edge) {\n stickyColumns.push(i);\n }\n }\n return stickyColumns;\n};\n\n/**\n * Helper function to update the 'left' and 'right' values of a specific column.\n */\nconst _applyStickyColumnOffset = (\n root: HTMLDivElement,\n tableId: string,\n isRtl: boolean,\n columnIndex: number,\n stickyOffset: number,\n isStart: boolean\n) => {\n const styleProperty = (isStart && !isRtl) || (!isStart && isRtl) ? 'left' : 'right';\n const styleValue = `${stickyOffset}px`;\n\n const headerElements = root.querySelectorAll(`[data-oj-table-header-cell='${tableId}']`);\n const headerElement = headerElements[columnIndex] as HTMLElement;\n headerElement.style[styleProperty] = styleValue;\n\n const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);\n for (let j = 0; j < rowElements.length; j++) {\n const rowElement = rowElements[j] as HTMLElement;\n const cellElements = rowElement.querySelectorAll(`[data-oj-table-data-cell='${tableId}']`);\n const cellElement = cellElements[columnIndex] as HTMLElement;\n cellElement.style[styleProperty] = styleValue;\n }\n\n const footerElements = root.querySelectorAll(`[data-oj-table-footer-cell='${tableId}']`);\n if (footerElements.length > 0) {\n const footerElement = footerElements[columnIndex] as HTMLElement;\n footerElement.style[styleProperty] = styleValue;\n }\n};\n\n/**\n * Helper function to update the sticky edges based on the given scrollLeft value.\n */\nexport function updateStickyEdges<K, D, C>(\n root: HTMLDivElement,\n columnsArray: TableColumn<K, D, C>[],\n fullColumnWidths: number[],\n stickyEdgesState: { start?: number; end?: number },\n setStickyEdgesState: (stickyEdgesState: { start?: number; end?: number }) => void,\n scrollLeft?: number\n) {\n if (columnsArray.length > 0) {\n let i;\n let currentScrollIndex;\n const newScrollPosition = getHorizontalScrollPosition(\n root,\n columnsArray,\n fullColumnWidths,\n scrollLeft\n );\n for (i = 0; i < columnsArray.length; i++) {\n if (columnsArray[i].key === newScrollPosition.columnKey) {\n currentScrollIndex = i;\n break;\n }\n }\n\n let startIndex;\n // browser zoom levels cause rounding issues where the start scroll\n // position may never be reached, but it should always be within 1\n if (newScrollPosition.x! >= 1) {\n const stickyStartIndicies = getStickyColumnIndicies(columnsArray, true);\n for (i = 0; i < stickyStartIndicies.length; i++) {\n const currentIndex = stickyStartIndicies[i];\n if (currentIndex < currentScrollIndex!) {\n startIndex = currentIndex;\n } else {\n break;\n }\n }\n }\n\n let endIndex;\n let currentWidth = 0;\n const maxScrollPos = root.scrollWidth - root.clientWidth;\n const endOverflow = maxScrollPos - newScrollPosition.x!;\n // browser zoom levels cause rounding issues where the max scroll\n // position may never be reached, but it should always be within 1\n if (endOverflow >= 1) {\n const stickyEndIndicies = getStickyColumnIndicies(columnsArray, false);\n for (let i = columnsArray.length - 1; i > -1; i--) {\n if (stickyEndIndicies.indexOf(i) !== -1) {\n endIndex = i;\n } else {\n currentWidth += fullColumnWidths[i];\n if (currentWidth > endOverflow) {\n break;\n }\n }\n }\n }\n if (stickyEdgesState.start != startIndex || stickyEdgesState.end != endIndex) {\n setStickyEdgesState({ start: startIndex, end: endIndex });\n }\n }\n}\n\n/**\n * Helper function to get the viewport config. TODO: this needs help for table still\n */\nexport const getViewportConfig = (\n outerTableRef: RefObject<HTMLElement>,\n config?: ViewportConfig\n) => {\n return (\n config ?? {\n scroller: () => {\n return outerTableRef.current;\n }\n }\n );\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { MutableRef } from 'preact/hooks';\nimport { SizingInfo, TableColumn } from '../Table';\nimport {\n getFirstFocusableRowKey,\n getLastFocusableRowKey,\n getRowKey,\n hasFooterCells,\n hasNoDataCell,\n getScrollerBottomOffset,\n getRowKeyForRowIndex,\n getRowIndexForRowKey\n} from './TableDomUtils';\nimport { applyScrollDetail, getVerticalScrollPosition } from './TableScrollUtils';\nimport { Cell, CurrentCellDetail } from '../../UNSAFE_TableView';\nimport { findElementByKey } from '../../utils/PRIVATE_collectionUtils';\n\n/**\n * Helper function to compare two given cell descriptors.\n */\nexport function cellComparator<K, C>(cell1?: Cell<K, C> | null, cell2?: Cell<K, C> | null) {\n if (cell1 == null) {\n return cell2 == null;\n }\n if (cell2 == null) {\n return false;\n }\n return (\n cell1?.rowKey === cell2?.rowKey &&\n cell1?.columnKey === cell2?.columnKey &&\n cell1?.type === cell2?.type\n );\n}\n\n/**\n * Helper function to handle an 'Up' or 'Down' arrow key press.\n * Up - Moves to the same cell in the previous row (including headers and footers). No op if already on the first row.\n * Down - Moves to the same cell in the next row (including headers and footers). No op if already on the last row.\n */\nexport function handleAdjacentRowGesture<K extends string | number, D, C>(\n root: HTMLDivElement,\n tableId: string,\n columnsArray: TableColumn<K, D, C>[],\n initialCell: Cell<K, C>,\n onCurrentCellChanged: (detail: CurrentCellDetail<K, C>) => void,\n isPrevious: boolean\n) {\n let newCurrentCell;\n const cellType = initialCell.type;\n if (cellType !== 'noData') {\n const columnKey = initialCell.columnKey;\n if (cellType === 'data') {\n const currentRowKey = initialCell.rowKey;\n const currentRowElement = findElementByKey(\n root,\n currentRowKey as string | number,\n `[data-oj-table-data-row='${tableId}']`\n );\n if (currentRowElement != null) {\n const adjacentRowElement = isPrevious\n ? (currentRowElement.previousElementSibling as HTMLElement)\n : (currentRowElement.nextElementSibling as HTMLElement);\n if (adjacentRowElement != null) {\n const rowKey = getRowKey(adjacentRowElement) as K;\n if (rowKey != null) {\n newCurrentCell = { rowKey: rowKey, columnKey: columnKey, type: 'data' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n }\n } else if (isPrevious) {\n newCurrentCell = { columnKey: initialCell.columnKey, type: 'header' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n } else if (hasFooterCells(root, tableId)) {\n newCurrentCell = { columnKey: initialCell.columnKey, type: 'footer' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n }\n }\n } else if (cellType === 'header' && !isPrevious) {\n const rowKey = getFirstFocusableRowKey(root, tableId) as K;\n if (rowKey != null) {\n newCurrentCell = { rowKey: rowKey, columnKey: columnKey, type: 'data' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n } else if (hasNoDataCell(root, tableId)) {\n newCurrentCell = { type: 'noData' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n } else if (hasFooterCells(root, tableId)) {\n newCurrentCell = { columnKey: initialCell.columnKey, type: 'footer' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n }\n } else if (cellType === 'footer' && isPrevious) {\n const rowKey = getLastFocusableRowKey(root, tableId) as K;\n if (rowKey != null) {\n newCurrentCell = { rowKey: rowKey, columnKey: columnKey, type: 'data' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n } else if (hasNoDataCell(root, tableId)) {\n newCurrentCell = { type: 'noData' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n } else {\n newCurrentCell = { columnKey: initialCell.columnKey, type: 'header' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n }\n }\n } else {\n const newColumnKey = _getBoundaryColumnKey(columnsArray, true);\n if (isPrevious) {\n newCurrentCell = { columnKey: newColumnKey, type: 'header' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n } else if (hasFooterCells(root, tableId)) {\n newCurrentCell = { columnKey: newColumnKey, type: 'footer' } as Cell<K, C>;\n onCurrentCellChanged({ value: newCurrentCell });\n }\n }\n}\n\n/**\n * Helper function to handle a 'PageUp' or 'PageDown' arrow key press.\n * PageUp - Moves to the same cell in the first visible row in the current viewport,\n * and scrolls the Table so it becomes the last visible row in the viewport when able.\n * PageDown - Moves to the same cell in the last visible row in the current viewport,\n * and scrolls the Table so it becomes the first visible row in the viewport when able.\n */\nexport function handlePageRowGesture<K extends string | number, D, C>(\n root: HTMLDivElement,\n tableId: string,\n columnsArray: TableColumn<K, D, C>[],\n sizingInfoRef: MutableRef<SizingInfo>,\n initialCell: Cell<K, C>,\n onCurrentCellChanged: (detail: CurrentCellDetail<K, C>) => void,\n isPrevious: boolean,\n isRtl: boolean,\n fullColumnWidths?: number[]\n) {\n const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);\n if (rowElements.length > 0) {\n const verticalScrollPosition = getVerticalScrollPosition(root, tableId);\n const verticalRowIndex = getRowIndexForRowKey(root, tableId, verticalScrollPosition.rowKey!);\n let targetRowIndex;\n if (isPrevious) {\n if (verticalScrollPosition.offsetY === 0) {\n targetRowIndex = Math.max(verticalRowIndex! - 1, 0);\n } else {\n targetRowIndex = verticalRowIndex!;\n }\n } else {\n const scrollerRect = root.getBoundingClientRect();\n const scrollbarHeight =\n sizingInfoRef.current.boxHeight! - sizingInfoRef.current.contentHeight!;\n const scrollerBottom =\n scrollerRect.bottom + getScrollerBottomOffset(root, tableId) + scrollbarHeight;\n targetRowIndex = verticalRowIndex!;\n while (rowElements.length > targetRowIndex + 1) {\n targetRowIndex += 1;\n const elementBottom = rowElements[targetRowIndex].getBoundingClientRect().bottom;\n if (elementBottom > scrollerBottom) {\n break;\n }\n }\n }\n const newRowKey = getRowKeyForRowIndex(root, tableId, targetRowIndex) as K;\n if (newRowKey != null) {\n const newCurrentCell = {\n rowKey: newRowKey,\n columnKey: initialCell.columnKey,\n type: 'data'\n } as Cell<K, C>;\n if (newRowKey !== initialCell.rowKey) {\n onCurrentCellChanged({ value: newCurrentCell });\n }\n applyScrollDetail(\n root,\n tableId,\n columnsArray,\n sizingInfoRef.current,\n { cell: newCurrentCell, locationX: 'inView', locationY: isPrevious ? 'bottom' : 'top' },\n isRtl,\n fullColumnWidths\n );\n }\n }\n}\n\n/**\n * Helper function to get the column key next to the given column key in the specified direction. Returns\n * null if there is no adjacent column in the direction specified.\n */\nfunction _getAdjacentColumnKey<K, D, C>(\n initialKey: C,\n columnsArray: TableColumn<K, D, C>[],\n isPrevious: boolean\n) {\n let currentIndex = -1;\n const columnsCount = columnsArray.length;\n for (let i = 0; i < columnsCount; i++) {\n if (columnsArray[i].key === initialKey) {\n currentIndex = i;\n break;\n }\n }\n if (isPrevious && currentIndex !== 0) {\n return columnsArray[currentIndex - 1].key;\n } else if (!isPrevious && currentIndex !== columnsCount - 1) {\n return columnsArray[currentIndex + 1].key;\n }\n return null;\n}\n\n/**\n * Helper function to handle a 'Previous' or 'Next' arrow key press.\n * Previous - Moves to the previous cell in the current row. No op if already on the first cell in that row.\n * Next - Moves to the next cell in the current row. No op if already on the last cell in that row.\n */\nexport function handleAdjacentColumnGesture<K extends string | number, D, C>(\n columnsArray: TableColumn<K, D, C>[],\n initialCell: Cell<K, C>,\n onCurrentCellChanged: (detail: CurrentCellDetail<K, C>) => void,\n isPrevious: boolean\n) {\n let newCurrentCell;\n const cellType = initialCell.type;\n if (cellType !== 'noData') {\n const initialKey = initialCell.columnKey;\n const newKey = _getAdjacentColumnKey(initialKey, columnsArray, isPrevious);\n if (newKey != null) {\n if (cellType === 'data') {\n newCurrentCell = { rowKey: initialCell.rowKey, columnKey: newKey, type: cellType };\n onCurrentCellChanged({ value: newCurrentCell });\n } else {\n newCurrentCell = { columnKey: newKey, type: cellType };\n onCurrentCellChanged({ value: newCurrentCell });\n }\n }\n }\n}\n\n/**\n * Helper function to get the first or last column key.\n */\nfunction _getBoundaryColumnKey<K, D, C>(columnsArray: TableColumn<K, D, C>[], isFirst: boolean) {\n if (isFirst) {\n return columnsArray[0].key;\n }\n return columnsArray[columnsArray.length - 1].key;\n}\n\n/**\n * Helper function to handle a 'Home' or 'End' key press.\n * Home - Jumps to the first cell in the current row. No op if already on the first cell in that row.\n * Ctrl/Cmd + Home - Jumps to the first cell in the first data row. If no data rows are present,\n * jumps to the first cell in the current region (header or footer). No op if already on that cell.\n * End - Jumps to the last cell in the current row. No op if already on the last cell in that row.\n * Ctrl/Cmd + End - Jumps to the last cell in the last data row. If no data rows are present,\n * jumps to the last cell in the current region (header or footer). No op if already on that cell.\n */\nexport function handleJumpColumnGesture<K extends string | number, D, C>(\n root: HTMLDivElement,\n tableId: string,\n columnsArray: TableColumn<K, D, C>[],\n initialCell: Cell<K, C>,\n onCurrentCellChanged: (detail: CurrentCellDetail<K, C>) => void,\n isPrevious: boolean,\n includeRows: boolean\n) {\n let newCurrentCell;\n const cellType = initialCell.type;\n if (cellType !== 'noData') {\n const initialKey = initialCell.columnKey;\n const newKey = _getBoundaryColumnKey(columnsArray, isPrevious);\n if (includeRows) {\n if (hasNoDataCell(root, tableId)) {\n newCurrentCell = {\n type: 'noData'\n } as Cell<K, C>;\n if (!cellComparator(newCurrentCell, initialCell)) {\n onCurrentCellChanged({ value: newCurrentCell });\n }\n } else {\n const newRowKey = isPrevious\n ? (getFirstFocusableRowKey(root, tableId) as K)\n : (getLastFocusableRowKey(root, tableId) as K);\n if (newRowKey != null) {\n newCurrentCell = {\n rowKey: newRowKey,\n columnKey: newKey,\n type: 'data'\n } as Cell<K, C>;\n if (!cellComparator(newCurrentCell, initialCell)) {\n onCurrentCellChanged({ value: newCurrentCell });\n }\n }\n }\n } else if (newKey !== initialKey) {\n if (cellType === 'data') {\n newCurrentCell = { rowKey: initialCell.rowKey, columnKey: newKey, type: cellType };\n onCurrentCellChanged({ value: newCurrentCell });\n } else {\n newCurrentCell = { columnKey: newKey, type: cellType };\n onCurrentCellChanged({ value: newCurrentCell });\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useCallback, useEffect, useMemo, useRef, useState, MutableRef, Ref } from 'preact/hooks';\nimport {\n getElementContainsFunc,\n handleEnterActionableMode,\n handleWrapActionableFocus\n} from '../../utils/PRIVATE_collectionUtils';\nimport {\n FocusableElement,\n allTabbableElements,\n getActiveElement,\n getBodyElement,\n isTabbableElement\n} from '../../utils/PRIVATE_tabbableUtils';\nimport { SizingInfo, TableColumn } from '../Table';\nimport {\n getCellType,\n getElementFromCell,\n getFirstFocusableCell,\n logicalCellExtractor\n} from '../utils/TableDomUtils';\nimport { cellComparator } from '../utils/TableNavigationUtils';\nimport { applyScrollDetail } from '../utils/TableScrollUtils';\nimport { Cell, CurrentCellDetail } from '../../UNSAFE_TableView';\n\ntype UseFocusHandlingProps<K, D, C extends string> = {\n outerTableRef: Ref<HTMLDivElement>;\n tableId: string;\n isRtl: boolean;\n columnsArray: TableColumn<K, D, C>[];\n sizingInfoRef: MutableRef<SizingInfo>;\n selectionExtensionElementRef: MutableRef<HTMLElement | undefined>;\n cellSupportsTabbable: (cell: Cell<K, C>) => boolean;\n fullColumnWidths?: number[];\n currentCellOverride?: Cell<K, C>;\n onPersistCurrentCell?: (detail: CurrentCellDetail<K, C>) => void;\n};\n\n// constant timeout values for delays following a input gesture until enabling focus rings\nconst MOUSE_FOCUS_SHIFT_TIMEOUT = 0;\nconst TOUCH_FOCUS_SHIFT_TIMEOUT = 200;\n\n// constant event.key values that trigger focus ring and 'scroll to current' logic\nconst NAVIGATION_KEYS = [\n ' ',\n 'F2',\n 'Enter',\n 'Esc', // Firefox 36 and earlier uses 'Esc' instead of 'Escape'\n 'Escape',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowRight',\n 'ArrowDown',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown'\n];\n\n/**\n * Hook that manages focus interactions on the Preact Table\n */\nexport function useFocusHandling<K extends string | number, D, C extends string>({\n outerTableRef,\n tableId,\n isRtl,\n columnsArray,\n sizingInfoRef,\n selectionExtensionElementRef,\n cellSupportsTabbable,\n fullColumnWidths,\n currentCellOverride,\n onPersistCurrentCell\n}: UseFocusHandlingProps<K, D, C>) {\n // tracks whether the most recent 'blur' was caused by focus being lost by the browser window (or iframe)\n const blurFromWindowRef = useRef<boolean>(false);\n\n // tracks focus loss during render cycle for potential focus recapture cases\n const isRenderCycle = useRef<boolean>(true);\n isRenderCycle.current = true;\n const blurredRenderCycleElementRef = useRef<FocusableElement | null>(null);\n\n // track current 'focus info' state\n const hasFocusRef = useRef<boolean>(false);\n const [isTabbableMode, setIsTabbableMode] = useState<boolean>(false);\n const [isShowFocusRing, setIsShowFocusRing] = useState<boolean>(false);\n\n // track pointer down information\n const recentPointerRef = useRef<boolean>(false);\n const pointerTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isShowFocusRingOverrideRef = useRef<boolean | null>(null);\n\n // tracks the current cell information\n const [currentCell, setCurrentCell] = useState<Cell<K, C> | undefined>(currentCellOverride);\n const currentCellRef = useRef<Cell<K, C> | undefined>(currentCellOverride);\n\n // tracks whether the table is handling a tab gesture that should allow focus to leave the table\n const [isTabbing, setIsTabbing] = useState<boolean>(false);\n\n // intercept onPersistCurrentCell calls to ensure internal state is updated appropriately\n const onCurrentCellChanged = useMemo(() => {\n return (detail: CurrentCellDetail<K, C>) => {\n setCurrentCell(detail.value);\n currentCellRef.current = detail.value;\n selectionExtensionElementRef.current = undefined;\n if (onPersistCurrentCell != null) {\n onPersistCurrentCell(detail);\n }\n };\n }, [onPersistCurrentCell, selectionExtensionElementRef]);\n\n // ensure any new currentCellOverride settings are applied only on that render\n const currentCellOverrideRef = useRef<Cell<K, C> | undefined>(currentCellOverride);\n if (currentCellOverrideRef.current !== currentCellOverride) {\n currentCellOverrideRef.current = currentCellOverride;\n if (!cellComparator(currentCell, currentCellOverride)) {\n onCurrentCellChanged({ value: currentCellOverride });\n }\n }\n\n // Helper function to set the Table's focus tracking state to reflect that it is inactive.\n const _setAsInactive = useCallback(() => {\n hasFocusRef.current = false;\n setIsTabbableMode(false);\n setIsShowFocusRing(false);\n }, []);\n\n // Helper function to set the Table's focus tracking state to reflect that on of its cell has focus.\n const _enableNavigationMode = useCallback(\n (cell: Cell<K, C>, skipScrollCellIntoView?: boolean) => {\n const rootElement = outerTableRef.current;\n if (rootElement != null) {\n setIsTabbableMode(false);\n setIsShowFocusRing(\n isShowFocusRingOverrideRef.current !== null\n ? isShowFocusRingOverrideRef.current\n : !recentPointerRef.current\n );\n if (!recentPointerRef.current && !skipScrollCellIntoView) {\n applyScrollDetail(\n rootElement,\n tableId,\n columnsArray,\n sizingInfoRef.current,\n { cell: cell, locationX: 'inView', locationY: 'inView' },\n isRtl,\n fullColumnWidths\n );\n }\n if (!cellComparator(cell, currentCell)) {\n onCurrentCellChanged({ value: cell });\n }\n }\n },\n [\n outerTableRef,\n tableId,\n columnsArray,\n sizingInfoRef,\n isRtl,\n currentCell,\n onCurrentCellChanged,\n fullColumnWidths\n ]\n );\n\n // Helper function to set the Table's focus tracking state to reflect that it is tabbable.\n const _enableTabbableMode = useCallback(\n (cell: Cell<K, C>, isKeyboard?: boolean, skipScrollCellIntoView?: boolean) => {\n const rootElement = outerTableRef.current;\n if (rootElement != null) {\n setIsTabbableMode(true);\n if (!isKeyboard) {\n setIsShowFocusRing(false);\n if (!cellComparator(cell, currentCell)) {\n onCurrentCellChanged({ value: cell });\n }\n if (!recentPointerRef.current && !skipScrollCellIntoView) {\n applyScrollDetail(\n rootElement,\n tableId,\n columnsArray,\n sizingInfoRef.current,\n { cell: cell, locationX: 'inView', locationY: 'inView' },\n isRtl,\n fullColumnWidths\n );\n }\n }\n }\n },\n [\n outerTableRef,\n tableId,\n columnsArray,\n sizingInfoRef,\n isRtl,\n currentCell,\n onCurrentCellChanged,\n fullColumnWidths\n ]\n );\n\n // Helper function to set the Table's focus tracking state to reflect that a user has\n // exited tabbable mode via the keyboard (esc or 'F2')\n const _disableTabbableMode = useCallback(\n (cell: Cell<K, C>) => {\n const rootElement = outerTableRef.current;\n if (rootElement != null) {\n setIsTabbableMode(false);\n const currentCellElement = getElementFromCell(rootElement, tableId, cell);\n if (currentCellElement != null) {\n currentCellElement.focus({ preventScroll: true });\n } else {\n rootElement.focus({ preventScroll: true });\n }\n }\n },\n [outerTableRef, tableId]\n );\n\n // PointerDown handler for the outer Table. Focus transfers that occur following a pointerdown\n // on desktop devices should not result in a focus ring being shown on the focused element\n const _pointerDownHandler = useCallback(\n (event: PointerEvent) => {\n if (event.pointerType !== 'touch') {\n if (pointerTimerRef.current != null) {\n clearTimeout(pointerTimerRef.current);\n }\n recentPointerRef.current = true;\n pointerTimerRef.current = setTimeout(() => {\n recentPointerRef.current = false;\n if (isShowFocusRing) {\n setIsShowFocusRing(false);\n }\n }, MOUSE_FOCUS_SHIFT_TIMEOUT);\n }\n },\n [isShowFocusRing]\n );\n\n // TouchEnd handler for the outer Table. Focus transfers that occur following a touchend\n // on touch devices should not result in a focus ring being shown on the focused element\n const _touchEndHandler = useCallback(() => {\n if (pointerTimerRef.current != null) {\n clearTimeout(pointerTimerRef.current);\n }\n recentPointerRef.current = true;\n pointerTimerRef.current = setTimeout(() => {\n recentPointerRef.current = false;\n if (isShowFocusRing) {\n setIsShowFocusRing(false);\n }\n }, TOUCH_FOCUS_SHIFT_TIMEOUT);\n }, [isShowFocusRing]);\n\n // Focus handler for the outer Table. On focus, a focusable area needs to be 'current'.\n // If a 'current' area already exists, nothing further is needed. Otherwise, the first\n // focusable element should be made 'current'.\n const _onFocusHandler = useCallback(\n (event: FocusEvent) => {\n hasFocusRef.current = true;\n const rootElement = outerTableRef.current;\n if (rootElement != null) {\n // don't scroll current into view if previous blur was due to window focus loss\n const skipScrollCellIntoView = blurFromWindowRef.current;\n blurFromWindowRef.current = false;\n\n const targetElement = event.target as HTMLElement;\n if (targetElement === rootElement) {\n // handle overall root element receiving focus\n const cell =\n currentCell != null\n ? currentCell\n : (getFirstFocusableCell(rootElement, tableId) as Cell<K, C>);\n if (cell != null) {\n _enableNavigationMode(cell, skipScrollCellIntoView);\n }\n } else {\n const cell = logicalCellExtractor(\n targetElement,\n tableId,\n `[data-oj-table-focusable='${tableId}']`\n ) as Cell<K, C>;\n if (cell != null) {\n if (getCellType(targetElement) != null) {\n // handle individual focusable regions receiving focus\n _enableNavigationMode(cell, skipScrollCellIntoView);\n } else {\n _enableTabbableMode(cell, false, skipScrollCellIntoView);\n }\n }\n }\n }\n if (pointerTimerRef.current != null) {\n clearTimeout(pointerTimerRef.current);\n pointerTimerRef.current = null;\n }\n recentPointerRef.current = false;\n isShowFocusRingOverrideRef.current = null;\n },\n [outerTableRef, tableId, currentCell, _enableTabbableMode, _enableNavigationMode]\n );\n\n // Blur handler for the outer Table. When a blur is caused by the browser window itself\n // losing focus (changing tabs or leaving an iframe for example), an eventual re-focus due\n // to the window re-gaining focus needs to be handled differently (no auto-scroll mostly).\n const _onBlurHandler = useCallback(\n (event: FocusEvent) => {\n const rootElement = outerTableRef.current;\n if (rootElement != null) {\n if (event.target === document.activeElement) {\n // save focus ring state so it's set once focus comes back\n isShowFocusRingOverrideRef.current = isShowFocusRing;\n }\n const relatedTarget = event.relatedTarget as Element;\n const isUnknownRelatedTarget = relatedTarget == null;\n blurFromWindowRef.current = isUnknownRelatedTarget;\n if (isUnknownRelatedTarget || !getElementContainsFunc(rootElement, true)(relatedTarget)) {\n _setAsInactive();\n if (isRenderCycle.current) {\n // store element that loses focus during a render cycle for recapturing focus logic\n blurredRenderCycleElementRef.current = event.target as FocusableElement;\n }\n }\n setIsTabbing(false);\n }\n },\n [outerTableRef, isShowFocusRing, _setAsInactive]\n );\n\n // KeyDown handler for the outer Table. This specific handler tracks 'focus' transfer keys\n // Esc, F2, Enter, and Tab. It also ensures the currentCell is scrolled into view on any key\n const _onKeyDownHandler = useCallback(\n (event: KeyboardEvent) => {\n const rootElement = outerTableRef.current;\n if (rootElement != null && currentCell != null) {\n if (cellSupportsTabbable(currentCell)) {\n if (event.key === 'F2') {\n if (isTabbableMode) {\n _disableTabbableMode(currentCell);\n } else {\n _enableTabbableMode(currentCell, true);\n }\n } else if (event.key === 'Esc' || event.key === 'Escape') {\n // Firefox 36 and earlier uses 'Esc' instead of 'Escape'\n _disableTabbableMode(currentCell);\n } else if (event.key === 'Enter' && !isTabbableMode) {\n _enableTabbableMode(currentCell, true);\n }\n }\n if (NAVIGATION_KEYS.indexOf(event.key) > -1 && !isTabbableMode) {\n setIsShowFocusRing(true);\n applyScrollDetail(\n rootElement,\n tableId,\n columnsArray,\n sizingInfoRef.current,\n { cell: currentCell, locationX: 'inView', locationY: 'inView' },\n isRtl,\n fullColumnWidths\n );\n }\n }\n if (event.key === 'Tab' && !isTabbableMode) {\n setIsTabbing(true);\n }\n },\n [\n outerTableRef,\n tableId,\n columnsArray,\n sizingInfoRef,\n isRtl,\n isTabbableMode,\n currentCell,\n cellSupportsTabbable,\n fullColumnWidths,\n _enableTabbableMode,\n _disableTabbableMode\n ]\n );\n\n // Callback for the outer Table's FocusTracker usage.\n const onStartFocusTracking = useCallback(\n (detail: {\n activeElement: FocusableElement;\n hasFocusWithin: boolean;\n tabbableElements: FocusableElement[];\n }) => {\n const rootElement = outerTableRef.current;\n if (rootElement != null && currentCell != null) {\n handleEnterActionableMode(\n detail.hasFocusWithin && getCellType(detail.activeElement) == null,\n allTabbableElements(\n getElementFromCell(rootElement, tableId, currentCell) as FocusableElement\n ),\n (value?: Cell<K, D>) => {\n setIsTabbableMode(value != undefined);\n }\n );\n }\n },\n [outerTableRef, currentCell, tableId]\n );\n\n // Callback for the outer Table's FocusTracker usage.\n const onFocusStartEdge = useCallback((detail: { tabbableElements: FocusableElement[] }) => {\n handleWrapActionableFocus(true, detail.tabbableElements, (value?: Cell<K, D>) => {\n setIsTabbableMode(value != undefined);\n });\n }, []);\n\n // Callback for the outer Table's FocusTracker usage.\n const onFocusEndEdge = useCallback((detail: { tabbableElements: FocusableElement[] }) => {\n handleWrapActionableFocus(false, detail.tabbableElements, (value?: Cell<K, D>) => {\n setIsTabbableMode(value != undefined);\n });\n }, []);\n\n // Handle ensuring focus is properly set at the completion of every render cycle\n // NO DEPENDENCY ARRAY HERE TO ENSURE THIS RUNS ON EVERY RENDER CYCLE\n useEffect(() => {\n const blurredRenderCycleElement = blurredRenderCycleElementRef.current;\n blurredRenderCycleElementRef.current = null;\n isRenderCycle.current = false;\n\n const rootElement = outerTableRef.current;\n if (rootElement != null) {\n const activeElement = getActiveElement(rootElement);\n // if we were tracking focus during the render cycle, ensure we recapture focus if needed\n if (\n blurredRenderCycleElement != null &&\n !isTabbing &&\n activeElement === getBodyElement(rootElement) &&\n (!getElementContainsFunc(rootElement, true)(blurredRenderCycleElement) ||\n !isTabbableElement(blurredRenderCycleElement, true))\n ) {\n rootElement.focus({ preventScroll: true });\n return;\n }\n if (\n hasFocusRef.current &&\n currentCell != null &&\n !isTabbing &&\n cellComparator(currentCell, currentCellRef.current)\n ) {\n // ensure real browser focus is on the correct cell element\n const currentCellElement = getElementFromCell(rootElement, tableId, currentCell);\n if (currentCellElement != null) {\n // currentCell is valid, so set focus on it if needed\n if (\n (!isTabbableMode && activeElement !== currentCellElement) ||\n (isTabbableMode && !getElementContainsFunc(currentCellElement, true)(activeElement))\n ) {\n currentCellElement.focus({ preventScroll: true });\n }\n } else {\n // currentCell is not valid, so choose a new currentCell instead\n const newCurrentCell = getFirstFocusableCell(rootElement, tableId) as Cell<K, C>;\n if (newCurrentCell != null) {\n onCurrentCellChanged({ value: newCurrentCell });\n }\n }\n }\n }\n });\n\n return {\n focusHandlingProps: {\n onPointerDown: _pointerDownHandler,\n onTouchEnd: _touchEndHandler,\n onFocus: _onFocusHandler,\n onBlur: _onBlurHandler,\n onKeyDown: _onKeyDownHandler,\n tabIndex: isTabbing ? -1 : 0\n },\n currentCell,\n onCurrentCellChanged,\n isShowFocusRing,\n isTabbableMode,\n onStartFocusTracking,\n onFocusStartEdge,\n onFocusEndEdge\n };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { keyExtractor } from '../../utils/PRIVATE_collectionUtils';\nimport { getRowIndexForRowElement, getElementFromCell } from './TableDomUtils';\nimport { TableColumn } from '../Table';\nimport { Cell, RowActionDetail, SortCriterionDetail } from '../../UNSAFE_TableView';\n\n/**\n * Helper function to handle a row action gesture from a pointer or keyboard event\n */\nexport function handleRowActionGesture<K, D, C>(\n root: HTMLDivElement,\n tableId: string,\n data: D[],\n onRowAction: (detail: RowActionDetail<K, D>) => void,\n targetElement: HTMLElement,\n targetCell?: Cell<K, C>\n) {\n let rowKey;\n let rowElement;\n if (targetCell?.type === 'data') {\n rowKey = targetCell.rowKey;\n const targetCellElement = getElementFromCell(root, tableId, targetCell);\n if (targetCellElement != null) {\n rowElement = targetCellElement.parentElement;\n }\n } else {\n rowKey = keyExtractor(targetElement, `[data-oj-table-data-row='${tableId}']`) as K;\n if (rowKey != null) {\n rowElement = targetElement.closest(`[data-oj-table-data-row='${tableId}']`);\n }\n }\n if (rowKey != null && rowElement != null) {\n const rowIndex = getRowIndexForRowElement(root, tableId, rowElement as HTMLElement);\n if (rowIndex != null) {\n const rowContext = {\n key: rowKey,\n data: data[rowIndex]\n };\n onRowAction({ context: rowContext, target: targetElement });\n return true;\n }\n }\n return false;\n}\n\n/**\n * Helper function to handle a row action gesture\n */\nexport function handleSortActionGesture<K, D, C>(\n columnsArray: TableColumn<K, D, C>[],\n columnKey: C,\n onSortCriterionChange: (detail: SortCriterionDetail<C>) => void,\n sortCriterion?: { key: C; sortDirection: 'ascending' | 'descending' }[]\n) {\n for (const column of columnsArray) {\n if (column.key === columnKey) {\n if (column.value.sortable === 'enabled') {\n let sortDirection;\n if (sortCriterion != null) {\n for (const criterion of sortCriterion) {\n if (criterion.key === column.key) {\n sortDirection = criterion.sortDirection;\n break;\n }\n }\n }\n const newDirection = sortDirection === 'ascending' ? 'descending' : 'ascending';\n onSortCriterionChange([{ key: columnKey, sortDirection: newDirection }]);\n return true;\n }\n break;\n }\n }\n return false;\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { MutableRef } from 'preact/hooks';\nimport { keyExtractor } from '../../utils/PRIVATE_collectionUtils';\nimport { Keys, containsKey, isSameKey, addKey, removeKey } from '../../utils/UNSAFE_keys';\nimport { SizingInfo, TableColumn } from '../Table';\nimport {\n logicalCellExtractor,\n getCellType,\n getRowKeyForRowIndex,\n getRowIndexForRowElement,\n getElementFromCell,\n getColumnIndexForHeaderFooterElement\n} from './TableDomUtils';\nimport { applyScrollDetail } from './TableScrollUtils';\nimport { SelectionMode } from '../../UNSAFE_Collection';\nimport { Cell, TableSelectionDetail } from '../../UNSAFE_TableView';\n\n/**\n * Helper function to handle a selection gesture (click, spacebar, etc...)\n */\nexport function handleSelectionGesture<K, D, C>(\n root: HTMLDivElement,\n tableId: string,\n columnsArray: TableColumn<K, D, C>[],\n targetElement: HTMLElement,\n isMultiSelectGesture: boolean,\n onSelectionChange: (detail: TableSelectionDetail<K, C>, isExtendableSelection: boolean) => void,\n selectionMode?: { row?: SelectionMode; column?: SelectionMode },\n selected?: { row?: Keys<K>; column?: Keys<C> }\n) {\n const emptyKeys = { all: false, keys: new Set() };\n let selectedRows = selected?.row != null ? selected.row : (emptyKeys as Keys<K>);\n let selectedColumns = selected?.column != null ? selected.column : (emptyKeys as Keys<C>);\n\n const newRowKey = keyExtractor(targetElement, `[data-oj-table-data-row='${tableId}']`) as K;\n if (newRowKey != null) {\n if (selectionMode?.row === 'single' || selectionMode?.row === 'multiple') {\n if (selectedRows == null) {\n selectedRows = { all: false, keys: new Set([newRowKey]) };\n } else if (!containsKey(selectedRows, newRowKey)) {\n if (isMultiSelectGesture && selectionMode.row === 'multiple') {\n selectedRows = addKey(selectedRows, newRowKey);\n } else {\n selectedRows = { all: false, keys: new Set([newRowKey]) };\n }\n } else if (isMultiSelectGesture) {\n selectedRows = removeKey(selectedRows, newRowKey, false);\n } else {\n selectedRows = { all: false, keys: new Set([newRowKey]) };\n }\n selectedColumns = emptyKeys as Keys<C>;\n }\n } else if (selectionMode?.column === 'single' || selectionMode?.column === 'multiple') {\n const cellElement = targetElement.closest(\n `[data-oj-table-focusable='${tableId}']`\n ) as HTMLElement;\n if (cellElement != null) {\n const cellType = getCellType(cellElement);\n if (cellType === 'header' || cellType === 'footer') {\n const index = getColumnIndexForHeaderFooterElement(\n root,\n tableId,\n cellElement,\n cellType === 'header'\n );\n if (index != null) {\n const column = columnsArray[index];\n if (column.value.selectable !== 'disabled') {\n if (selectedColumns == null) {\n selectedColumns = { all: false, keys: new Set([column.key]) };\n } else if (!containsKey(selectedColumns, column.key)) {\n if (isMultiSelectGesture && selectionMode.column === 'multiple') {\n selectedColumns = addKey(selectedColumns, column.key);\n } else {\n selectedColumns = { all: false, keys: new Set([column.key]) };\n }\n } else if (isMultiSelectGesture) {\n selectedColumns = removeKey(selectedColumns, column.key, false);\n } else {\n selectedColumns = { all: false, keys: new Set([column.key]) };\n }\n selectedRows = emptyKeys as Keys<K>;\n }\n }\n }\n }\n }\n\n if (!isSameKey(selectedRows, selected?.row) || !isSameKey(selectedColumns, selected?.column)) {\n onSelectionChange(\n { value: { row: selectedRows, column: selectedColumns }, target: targetElement },\n false\n );\n }\n}\n\n/**\n * Helper function to calculate and apply a new selection state corresponding to the range provided\n */\nfunction _applyRangeSelection<K, D, C>(\n root: HTMLDivElement,\n tableId: string,\n columnsArray: TableColumn<K, D, C>[],\n targetElement: HTMLElement,\n startIndex: number,\n endIndex: number,\n isRowGesture: boolean,\n onSelectionChange: (detail: TableSelectionDetail<K, C>, isExtendableSelection: boolean) => void,\n selectionMode?: { row?: SelectionMode; column?: SelectionMode },\n selected?: { row?: Keys<K>; column?: Keys<C> }\n) {\n const emptyKeys = { all: false, keys: new Set() };\n let selectedRows = selected?.row != null ? selected.row : (emptyKeys as Keys<K>);\n let selectedColumns = selected?.column != null ? selected.column : (emptyKeys as Keys<C>);\n\n if (isRowGesture) {\n selectedColumns = emptyKeys as Keys<C>;\n if (selectionMode?.row === 'multiple') {\n selectedRows = emptyKeys as Keys<K>;\n // selected rows should be added in the order that they are selected\n if (startIndex <= endIndex) {\n for (let i = startIndex; i <= endIndex; i++) {\n const key = getRowKeyForRowIndex(root, tableId, i) as K;\n selectedRows = addKey(selectedRows, key) as Keys<K>;\n }\n } else {\n for (let i = startIndex; i >= endIndex; i--) {\n const key = getRowKeyForRowIndex(root, tableId, i) as K;\n selectedRows = addKey(selectedRows, key) as Keys<K>;\n }\n }\n }\n } else {\n selectedRows = emptyKeys as Keys<K>;\n if (selectionMode?.column === 'multiple') {\n selectedColumns = emptyKeys as Keys<C>;\n // selected columns should be added in the order that they are selected\n if (startIndex <= endIndex) {\n for (let i = startIndex; i <= endIndex; i++) {\n const column = columnsArray[i];\n if (column.value.selectable !== 'disabled') {\n selectedColumns = addKey(selectedColumns, column.key);\n }\n }\n } else {\n for (let i = startIndex; i >= endIndex; i--) {\n const column = columnsArray[i];\n if (column.value.selectable !== 'disabled') {\n selectedColumns = addKey(selectedColumns, column.key);\n }\n }\n }\n }\n }\n\n if (!isSameKey(selectedRows, selected?.row) || !isSameKey(selectedColumns, selected?.column)) {\n onSelectionChange(\n { value: { row: selectedRows, column: selectedColumns }, target: targetElement },\n true\n );\n }\n}\n\n/**\n * Determines whether a potential range selection gesture is valid based on the given target\n */\nexport function isRangeSelectionGesture<K, C>(\n root: HTMLDivElement,\n tableId: string,\n targetElement: HTMLElement,\n currentCell: Cell<K, C>,\n selectionMode?: { row?: SelectionMode; column?: SelectionMode }\n) {\n const targetCell = logicalCellExtractor(\n targetElement,\n tableId,\n `[data-oj-table-focusable='${tableId}']`\n ) as Cell<K, C>;\n if (\n ((selectionMode?.row === 'multiple' && currentCell.type === 'data') ||\n (selectionMode?.column === 'multiple' &&\n (currentCell.type === 'header' || currentCell.type === 'footer'))) &&\n targetCell?.type === currentCell.type\n ) {\n const currentCellElement = getElementFromCell(root, tableId, currentCell);\n const targetCellElement = getElementFromCell(root, tableId, targetCell);\n if (currentCellElement != null && targetCellElement != null) {\n const isRow = targetCell?.type === 'data';\n if (isRow) {\n return (\n getRowIndexForRowElement(\n root,\n tableId,\n currentCellElement.parentElement as HTMLElement\n ) != null &&\n getRowIndexForRowElement(root, tableId, targetCellElement.parentElement as HTMLElement) !=\n null\n );\n } else if (targetCell?.type === 'header' || targetCell?.type === 'footer') {\n const isHeader = targetCell?.type === 'header';\n return (\n getColumnIndexForHeaderFooterElement(root, tableId, currentCellElement, isHeader) !=\n null &&\n getColumnIndexForHeaderFooterElement(root, tableId, targetCellElement, isHeader) != null\n );\n }\n }\n }\n return false;\n}\n\n/**\n * Helper function to handle a range selection gesture (shift+click)\n */\nexport function handleRangeSelectionGesture<K, D, C>(\n root: HTMLDivElement,\n tableId: string,\n columnsArray: TableColumn<K, D, C>[],\n targetElement: HTMLElement,\n currentCell: Cell<K, C>,\n selectionExtensionElementRef: MutableRef<HTMLElement | undefined>,\n onSelectionChange: (detail: TableSelectionDetail<K, C>, isExtendableSelection: boolean) => void,\n selectionMode?: { row?: SelectionMode; column?: SelectionMode },\n selected?: { row?: Keys<K>; column?: Keys<C> }\n) {\n const targetCell = logicalCellExtractor(\n targetElement,\n tableId,\n `[data-oj-table-focusable='${tableId}']`\n ) as Cell<K, C>;\n const currentCellElement = getElementFromCell(root, tableId, currentCell);\n const targetCellElement = getElementFromCell(root, tableId, targetCell);\n if (currentCellElement != null && targetCellElement != null) {\n if (\n ((selectionMode?.row === 'multiple' && targetCell?.type === 'data') ||\n (selectionMode?.column === 'multiple' &&\n (targetCell?.type === 'header' || targetCell?.type === 'footer'))) &&\n targetCell?.type === currentCell.type\n ) {\n let startIndex;\n let endIndex;\n let endElement;\n const isRow = targetCell?.type === 'data';\n if (isRow) {\n endElement = targetCellElement.parentElement as HTMLElement;\n startIndex = getRowIndexForRowElement(\n root,\n tableId,\n currentCellElement.parentElement as HTMLElement\n );\n endIndex = getRowIndexForRowElement(root, tableId, endElement);\n } else if (targetCell?.type === 'header' || targetCell?.type === 'footer') {\n const isHeader = targetCell?.type === 'header';\n endElement = targetCellElement;\n startIndex = getColumnIndexForHeaderFooterElement(\n root,\n tableId,\n currentCellElement,\n isHeader\n );\n endIndex = getColumnIndexForHeaderFooterElement(root, tableId, targetCellElement, isHeader);\n }\n if (startIndex != null && endIndex != null) {\n selectionExtensionElementRef.current = endElement;\n _applyRangeSelection(\n root,\n tableId,\n columnsArray,\n targetElement,\n startIndex,\n endIndex,\n isRow,\n onSelectionChange,\n selectionMode,\n selected\n );\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Helper function to handle a selection extension gesture (shift+arrow key)\n */\nexport function handleExtendSelectionGesture<K extends string | number, D, C>(\n root: HTMLDivElement,\n tableId: string,\n columnsArray: TableColumn<K, D, C>[],\n sizingInfoRef: MutableRef<SizingInfo>,\n targetElement: HTMLElement,\n isPrevious: boolean,\n currentCell: Cell<K, C>,\n selectionExtensionElementRef: MutableRef<HTMLElement | undefined>,\n onSelectionChange: (detail: TableSelectionDetail<K, C>, isExtendableSelection: boolean) => void,\n isRtl: boolean,\n fullColumnWidths?: number[],\n selectionMode?: { row?: SelectionMode; column?: SelectionMode },\n selected?: { row?: Keys<K>; column?: Keys<C> }\n) {\n const currentCellElement = getElementFromCell(root, tableId, currentCell);\n if (currentCellElement != null) {\n let startIndex;\n let startElement;\n const isRow = currentCell.type === 'data';\n const isHeader = currentCell.type === 'header';\n if (isRow) {\n startElement = currentCellElement.parentElement as HTMLElement;\n startIndex = getRowIndexForRowElement(root, tableId, startElement);\n } else {\n startElement = currentCellElement;\n startIndex = getColumnIndexForHeaderFooterElement(root, tableId, startElement, isHeader);\n }\n if (startIndex != null) {\n let endIndex;\n let extendedElement;\n const cursorElement = selectionExtensionElementRef.current;\n if (cursorElement != null) {\n extendedElement = isPrevious\n ? (cursorElement.previousElementSibling as HTMLElement)\n : (cursorElement.nextElementSibling as HTMLElement);\n if (extendedElement != null) {\n selectionExtensionElementRef.current = extendedElement;\n endIndex = isRow\n ? getRowIndexForRowElement(root, tableId, extendedElement)\n : getColumnIndexForHeaderFooterElement(root, tableId, extendedElement, isHeader);\n } else {\n endIndex = isRow\n ? getRowIndexForRowElement(root, tableId, cursorElement)\n : getColumnIndexForHeaderFooterElement(root, tableId, cursorElement, isHeader);\n }\n } else {\n extendedElement = isPrevious\n ? (startElement.previousElementSibling as HTMLElement)\n : (startElement.nextElementSibling as HTMLElement);\n if (extendedElement != null) {\n selectionExtensionElementRef.current = extendedElement;\n endIndex = isRow\n ? getRowIndexForRowElement(root, tableId, extendedElement)\n : getColumnIndexForHeaderFooterElement(root, tableId, extendedElement, isHeader);\n } else {\n endIndex = startIndex;\n }\n }\n if (endIndex != null) {\n _applyRangeSelection(\n root,\n tableId,\n columnsArray,\n targetElement,\n startIndex,\n endIndex,\n isRow,\n onSelectionChange,\n selectionMode,\n selected\n );\n }\n\n // scroll 'extensionElement' into view\n const extensionElement =\n selectionExtensionElementRef.current != null\n ? selectionExtensionElementRef.current\n : currentCellElement;\n let extensionCell;\n if (isRow) {\n const rowKey = keyExtractor(extensionElement, `[data-oj-table-data-row='${tableId}']`) as K;\n extensionCell = {\n type: currentCell.type,\n rowKey: rowKey,\n columnKey: currentCell.columnKey\n };\n } else {\n extensionCell = logicalCellExtractor(\n extensionElement,\n tableId,\n `[data-oj-table-focusable='${tableId}']`\n ) as Cell<K, C>;\n }\n applyScrollDetail(\n root,\n tableId,\n columnsArray,\n sizingInfoRef.current,\n { cell: extensionCell, locationX: 'inView', locationY: 'inView' },\n isRtl,\n fullColumnWidths\n );\n }\n }\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useCallback, MutableRef, Ref } from 'preact/hooks';\nimport { getClientHints } from '../../utils/PRIVATE_clientHints';\nimport { Keys } from '../../utils/UNSAFE_keys';\nimport { SizingInfo, TableColumn } from '../Table';\nimport { handleRowActionGesture, handleSortActionGesture } from '../utils/TableActionUtils';\nimport { getElementFromCell } from '../utils/TableDomUtils';\nimport {\n handleAdjacentRowGesture,\n handleAdjacentColumnGesture,\n handlePageRowGesture,\n handleJumpColumnGesture\n} from '../utils/TableNavigationUtils';\nimport { handleSelectionGesture, handleExtendSelectionGesture } from '../utils/TableSelectionUtils';\nimport { SelectionMode } from '../../UNSAFE_Collection';\nimport {\n Cell,\n CurrentCellDetail,\n RowActionDetail,\n SortCriterionDetail,\n TableSelectionDetail\n} from '../../UNSAFE_TableView';\n\ntype UseKeyboardHandlingProps<K, D, C extends string> = {\n outerTableRef: Ref<HTMLDivElement>;\n tableId: string;\n data: D[] | null;\n isRtl: boolean;\n isTabbableMode: boolean;\n columnsArray: TableColumn<K, D, C>[];\n sizingInfoRef: MutableRef<SizingInfo>;\n selectionExtensionElementRef: MutableRef<HTMLElement | undefined>;\n onCurrentCellChanged: (detail: CurrentCellDetail<K, C>) => void;\n fullColumnWidths?: number[];\n currentCell?: Cell<K, C>;\n selectionMode?: { row?: SelectionMode; column?: SelectionMode };\n selected?: { row?: Keys<K>; column?: Keys<C> };\n onTableSelectionChange?: (\n detail: TableSelectionDetail<K, C>,\n isExtendableSelection: boolean\n ) => void;\n onRowAction?: (detail: RowActionDetail<K, D>) => void;\n sortCriterion?: { key: C; sortDirection: 'ascending' | 'descending' }[];\n onSortCriterionChange?: (detail: SortCriterionDetail<C>) => void;\n};\n\n/**\n * Hook that manages keyboard interactions on the Preact Table\n */\nexport function useKeyboardHandling<K extends string | number, D, C extends string>({\n outerTableRef,\n tableId,\n data,\n isRtl,\n isTabbableMode,\n columnsArray,\n sizingInfoRef,\n selectionExtensionElementRef,\n fullColumnWidths,\n currentCell,\n onCurrentCellChanged,\n selectionMode,\n selected,\n onTableSelectionChange,\n onRowAction,\n sortCriterion,\n onSortCriterionChange\n}: UseKeyboardHandlingProps<K, D, C>) {\n // Keydown handler for the outer Table. This handles all internal\n // keyboard navigation for the Table.\n const _keyDownHandler = useCallback(\n (event: KeyboardEvent) => {\n const platform = getClientHints().platform;\n const keyHandlers: Record<string, (root: HTMLDivElement) => void> = {\n ' ': function (root: HTMLDivElement) {\n if (outerTableRef.current != null) {\n if (currentCell != null) {\n if (!isTabbableMode) {\n if (onTableSelectionChange != null) {\n handleSelectionGesture(\n outerTableRef.current,\n tableId,\n columnsArray,\n getElementFromCell(root, tableId, currentCell) as HTMLElement,\n true,\n onTableSelectionChange,\n selectionMode,\n selected\n );\n }\n event.preventDefault();\n }\n if (\n onRowAction != null &&\n data != null &&\n handleRowActionGesture(\n outerTableRef.current,\n tableId,\n data,\n onRowAction,\n event.target as HTMLElement,\n currentCell\n )\n ) {\n event.stopPropagation();\n }\n }\n }\n },\n Enter: function () {\n if (outerTableRef.current != null) {\n if (currentCell != null) {\n if (\n onRowAction != null &&\n data != null &&\n currentCell.type === 'data' &&\n handleRowActionGesture(\n outerTableRef.current,\n tableId,\n data,\n onRowAction,\n event.target as HTMLElement,\n currentCell\n )\n ) {\n event.stopPropagation();\n } else if (\n !isTabbableMode &&\n onSortCriterionChange != null &&\n currentCell.type === 'header' &&\n handleSortActionGesture(\n columnsArray,\n currentCell.columnKey,\n onSortCriterionChange,\n sortCriterion\n )\n ) {\n event.stopPropagation();\n }\n }\n }\n },\n ArrowUp: function (root: HTMLDivElement) {\n if (outerTableRef.current != null) {\n if (!isTabbableMode && currentCell != null) {\n if (\n currentCell.type === 'data' &&\n event.shiftKey &&\n onTableSelectionChange != null &&\n selectionMode?.row === 'multiple'\n ) {\n handleExtendSelectionGesture(\n outerTableRef.current,\n tableId,\n columnsArray,\n sizingInfoRef,\n root,\n true,\n currentCell,\n selectionExtensionElementRef,\n onTableSelectionChange,\n isRtl,\n fullColumnWidths,\n selectionMode,\n selected\n );\n } else {\n handleAdjacentRowGesture(\n root,\n tableId,\n columnsArray,\n currentCell,\n onCurrentCellChanged,\n true\n );\n }\n event.preventDefault();\n }\n }\n },\n ArrowDown: function (root: HTMLDivElement) {\n if (outerTableRef.current != null) {\n if (!isTabbableMode && currentCell != null) {\n if (\n currentCell.type === 'data' &&\n event.shiftKey &&\n onTableSelectionChange != null &&\n selectionMode?.row === 'multiple'\n ) {\n handleExtendSelectionGesture(\n outerTableRef.current,\n tableId,\n columnsArray,\n sizingInfoRef,\n root,\n false,\n currentCell,\n selectionExtensionElementRef,\n onTableSelectionChange,\n isRtl,\n fullColumnWidths,\n selectionMode,\n selected\n );\n } else {\n handleAdjacentRowGesture(\n root,\n tableId,\n columnsArray,\n currentCell,\n onCurrentCellChanged,\n false\n );\n }\n event.preventDefault();\n }\n }\n },\n ArrowLeft: function (root: HTMLDivElement) {\n if (outerTableRef.current != null) {\n if (!isTabbableMode && currentCell != null) {\n if (\n (currentCell.type === 'header' || currentCell.type === 'footer') &&\n event.shiftKey &&\n onTableSelectionChange != null &&\n selectionMode?.column === 'multiple'\n ) {\n handleExtendSelectionGesture(\n outerTableRef.current,\n tableId,\n columnsArray,\n sizingInfoRef,\n root,\n true,\n currentCell,\n selectionExtensionElementRef,\n onTableSelectionChange,\n isRtl,\n fullColumnWidths,\n selectionMode,\n selected\n );\n } else {\n handleAdjacentColumnGesture(\n columnsArray,\n currentCell,\n onCurrentCellChanged,\n !isRtl\n );\n }\n event.preventDefault();\n }\n }\n },\n ArrowRight: function (root: HTMLDivElement) {\n if (outerTableRef.current != null) {\n if (!isTabbableMode && currentCell != null) {\n if (\n (currentCell.type === 'header' || currentCell.type === 'footer') &&\n event.shiftKey &&\n onTableSelectionChange != null &&\n selectionMode?.column === 'multiple'\n ) {\n handleExtendSelectionGesture(\n outerTableRef.current,\n tableId,\n columnsArray,\n sizingInfoRef,\n root,\n false,\n currentCell,\n selectionExtensionElementRef,\n onTableSelectionChange,\n isRtl,\n fullColumnWidths,\n selectionMode,\n selected\n );\n } else {\n handleAdjacentColumnGesture(columnsArray, currentCell, onCurrentCellChanged, isRtl);\n }\n event.preventDefault();\n }\n }\n },\n PageUp: function (root: HTMLDivElement) {\n if (!isTabbableMode && currentCell != null) {\n handlePageRowGesture(\n root,\n tableId,\n columnsArray,\n sizingInfoRef,\n currentCell,\n onCurrentCellChanged,\n true,\n isRtl,\n fullColumnWidths\n );\n event.preventDefault();\n }\n },\n PageDown: function (root: HTMLDivElement) {\n if (!isTabbableMode && currentCell != null) {\n handlePageRowGesture(\n root,\n tableId,\n columnsArray,\n sizingInfoRef,\n currentCell,\n onCurrentCellChanged,\n false,\n isRtl,\n fullColumnWidths\n );\n event.preventDefault();\n }\n },\n Home: function (root: HTMLDivElement) {\n if (!isTabbableMode && currentCell != null) {\n handleJumpColumnGesture(\n root,\n tableId,\n columnsArray,\n currentCell,\n onCurrentCellChanged,\n true,\n platform === 'mac' ? event.metaKey : event.ctrlKey\n );\n event.preventDefault();\n }\n },\n End: function (root: HTMLDivElement) {\n if (!isTabbableMode && currentCell != null) {\n handleJumpColumnGesture(\n root,\n tableId,\n columnsArray,\n currentCell,\n onCurrentCellChanged,\n false,\n platform === 'mac' ? event.metaKey : event.ctrlKey\n );\n event.preventDefault();\n }\n }\n };\n if (Object.keys(keyHandlers).includes(event.key) && outerTableRef.current != null) {\n keyHandlers[event.key](outerTableRef.current);\n }\n },\n [\n outerTableRef,\n tableId,\n data,\n isRtl,\n isTabbableMode,\n columnsArray,\n sizingInfoRef,\n selectionExtensionElementRef,\n fullColumnWidths,\n currentCell,\n onCurrentCellChanged,\n selectionMode,\n selected,\n onTableSelectionChange,\n onRowAction,\n sortCriterion,\n onSortCriterionChange\n ]\n );\n\n return { onKeyDown: _keyDownHandler };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { MutableRef } from 'preact/hooks';\nimport { ColumnResizeInfo, TableColumn } from '../Table';\nimport { ColumnResizeDetail, ColumnWidths } from '../../UNSAFE_TableView';\nimport { getElementContainsFunc } from '../../utils/PRIVATE_collectionUtils';\n\n/**\n * Helper function to handle a hover over a resizable column region gesture.\n */\nexport function handleOverResizeRegionGesture<K, D, C>(\n root: HTMLDivElement,\n tableId: string,\n event: PointerEvent,\n columnsArray: TableColumn<K, D, C>[],\n resizeInfoRef: MutableRef<ColumnResizeInfo<C>>,\n isRtl: boolean\n) {\n // handle hover feedback around potentially resizable columns\n _updateResizingState(root, tableId, event, columnsArray, resizeInfoRef, isRtl);\n}\n\n/**\n * Helper function to handle a column resize start gesture (pointer down).\n */\nexport function handleColumnResizeStartGesture<K, D, C extends string>(\n root: HTMLDivElement,\n tableId: string,\n event: PointerEvent,\n columnsArray: TableColumn<K, D, C>[],\n appliedColumnWidths: ColumnWidths<C>,\n resizeInfoRef: MutableRef<ColumnResizeInfo<C>>,\n isRtl: boolean,\n fullColumnWidths?: number[],\n onColumnResizing?: (detail: ColumnResizeDetail<C>) => void\n) {\n if (fullColumnWidths != null) {\n if (resizeInfoRef.current.key == null) {\n _updateResizingState(root, tableId, event, columnsArray, resizeInfoRef, isRtl);\n }\n if (resizeInfoRef.current.key != null) {\n const innerTable = root.querySelector(`[data-oj-table-inner-table='${tableId}']`);\n if (innerTable != null) {\n const rect = innerTable.getBoundingClientRect();\n const pointerX = isRtl ? rect.right - event.clientX : event.clientX - rect.left;\n\n const resizeColumnWidths = [];\n for (let i = 0; i < fullColumnWidths.length; i++) {\n const columnWidth = fullColumnWidths[i];\n resizeColumnWidths.push(columnWidth as number);\n }\n resizeInfoRef.current = {\n isResizing: true,\n isResizeHover: true,\n key: resizeInfoRef.current.key,\n startX: pointerX,\n delta: 0,\n fullColumnWidths: resizeColumnWidths,\n ignoreClick: resizeInfoRef.current.ignoreClick\n };\n if (onColumnResizing != null) {\n onColumnResizing({\n key: resizeInfoRef.current.key,\n delta: 0,\n allColumnWidths: appliedColumnWidths\n });\n }\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Helper function to ensure the resizing state is updated based on the latest pointer event.\n */\nfunction _updateResizingState<K, D, C>(\n root: HTMLDivElement,\n tableId: string,\n event: PointerEvent,\n columnsArray: TableColumn<K, D, C>[],\n resizeInfoRef: MutableRef<ColumnResizeInfo<C>>,\n isRtl: boolean\n) {\n const headerRowElement = root.querySelector(\n `[data-oj-table-header-row='${tableId}']`\n ) as HTMLElement;\n if (headerRowElement != null) {\n const headerElements = headerRowElement.querySelectorAll(\n `[data-oj-table-header-cell='${tableId}']`\n ) as NodeListOf<HTMLElement>;\n if (getElementContainsFunc(headerRowElement)(event.target as HTMLElement)) {\n let isResizeHover = false;\n for (let i = 0; i < headerElements.length; i++) {\n const headerElement = headerElements[i];\n const cellRect = headerElement.getBoundingClientRect();\n const endEdge = isRtl ? cellRect.left : cellRect.right;\n if (Math.abs(endEdge - event.pageX) <= 8) {\n if (columnsArray[i].value.edgeResizable !== 'enabled') {\n break;\n }\n // resize operation on end side of header cell\n resizeInfoRef.current.key = columnsArray[i].key;\n headerRowElement.style.cursor = 'col-resize';\n isResizeHover = true;\n resizeInfoRef.current.isResizeHover = true;\n }\n }\n if (!isResizeHover) {\n headerRowElement.style.cursor = '';\n resizeInfoRef.current.key = undefined;\n resizeInfoRef.current.isResizeHover = false;\n }\n } else {\n if (headerRowElement != null) {\n headerRowElement.style.cursor = '';\n }\n resizeInfoRef.current.key = undefined;\n resizeInfoRef.current.isResizeHover = false;\n }\n }\n}\n\n/**\n * Helper function to handle a pointer move gesture during a column resize.\n */\nexport function handleColumnResizingGesture<C extends string>(\n root: HTMLDivElement,\n tableId: string,\n event: PointerEvent,\n appliedColumnWidths: ColumnWidths<C>,\n resizeInfoRef: MutableRef<ColumnResizeInfo<C>>,\n isRtl: boolean,\n fullColumnWidths?: number[],\n onColumnResizing?: (detail: ColumnResizeDetail<C>) => void\n) {\n if (resizeInfoRef.current.isResizing && fullColumnWidths != null) {\n const innerTable = root.querySelector(`[data-oj-table-inner-table='${tableId}']`);\n if (innerTable != null) {\n const rect = innerTable.getBoundingClientRect();\n const currentX = isRtl ? rect.right - event.clientX : event.clientX - rect.left;\n\n resizeInfoRef.current.delta = currentX - resizeInfoRef.current.startX;\n // handle resize move operation\n if (onColumnResizing != null) {\n onColumnResizing({\n key: resizeInfoRef.current.key,\n delta: resizeInfoRef.current.delta,\n allColumnWidths: appliedColumnWidths\n });\n }\n }\n }\n}\n\n/**\n * Helper function to handle a column resize end gesture (pointer up).\n */\nexport function handleColumnResizeEndGesture<C extends string>(\n root: HTMLDivElement,\n tableId: string,\n event: PointerEvent,\n appliedColumnWidths: ColumnWidths<C>,\n resizeInfoRef: MutableRef<ColumnResizeInfo<C>>,\n isRtl: boolean,\n onColumnResize?: (detail: ColumnResizeDetail<C>) => void\n) {\n if (resizeInfoRef.current.isResizing) {\n if (onColumnResize != null) {\n const resizeColumnWidths = [];\n for (const columnWidth of resizeInfoRef.current.fullColumnWidths) {\n resizeColumnWidths.push(columnWidth);\n }\n const innerTable = root.querySelector(`[data-oj-table-inner-table='${tableId}']`);\n if (innerTable != null) {\n const rect = innerTable.getBoundingClientRect();\n const currentX = isRtl ? rect.right - event.clientX : event.clientX - rect.left;\n\n resizeInfoRef.current.delta = currentX - resizeInfoRef.current.startX;\n onColumnResize({\n key: resizeInfoRef.current.key,\n delta: resizeInfoRef.current.delta,\n allColumnWidths: appliedColumnWidths\n });\n }\n }\n }\n resizeInfoRef.current = {\n isResizing: false,\n isResizeHover: resizeInfoRef.current.isResizeHover,\n ignoreClick: resizeInfoRef.current.ignoreClick\n };\n}\n\n/**\n * Helper function to handle the pointer leaving the entire Table when previously hovering\n * over a column resize region.\n */\nexport function handleLeaveResizingGesture<C>(\n root: HTMLDivElement,\n tableId: string,\n resizeInfoRef: MutableRef<ColumnResizeInfo<C>>\n) {\n if (!resizeInfoRef.current.isResizing) {\n const headerRowElement = root.querySelector(\n `[data-oj-table-header-row='${tableId}']`\n ) as HTMLElement;\n if (headerRowElement != null) {\n headerRowElement.style.cursor = '';\n }\n resizeInfoRef.current.isResizeHover = false;\n }\n}\n\n/**\n * Helper function to handle a pointer entering the Table when it was previously handling\n * a column resize gesture.\n */\nexport function handleEnterResizingGesture<C extends string>(\n root: HTMLDivElement,\n tableId: string,\n event: PointerEvent,\n appliedColumnWidths: ColumnWidths<C>,\n resizeInfoRef: MutableRef<ColumnResizeInfo<C>>,\n isRtl: boolean,\n onColumnResize?: (detail: ColumnResizeDetail<C>) => void\n) {\n // handle case where user was resizing, moved pointer out of the Table,\n // released the button, and has now entered the table once again\n if (resizeInfoRef.current.isResizing && event.buttons === 0) {\n handleColumnResizeEndGesture(\n root,\n tableId,\n event,\n appliedColumnWidths,\n resizeInfoRef,\n isRtl,\n onColumnResize\n );\n }\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useCallback, useRef, MutableRef, Ref } from 'preact/hooks';\nimport { getClientHints } from '../../utils/PRIVATE_clientHints';\nimport { getIsSelectionPending } from '../../utils/PRIVATE_textSelectionUtils';\nimport { Keys } from '../../utils/UNSAFE_keys';\nimport { ColumnResizeInfo, TableColumn } from '../Table';\nimport { handleRowActionGesture } from '../utils/TableActionUtils';\nimport {\n handleSelectionGesture,\n handleRangeSelectionGesture,\n isRangeSelectionGesture\n} from '../utils/TableSelectionUtils';\nimport {\n handleOverResizeRegionGesture,\n handleColumnResizeStartGesture,\n handleColumnResizingGesture,\n handleColumnResizeEndGesture,\n handleLeaveResizingGesture,\n handleEnterResizingGesture\n} from '../utils/TableSizingUtils';\nimport { SelectionMode } from '../../UNSAFE_Collection';\nimport {\n Cell,\n ColumnWidths,\n RowActionDetail,\n ColumnResizeDetail,\n TableSelectionDetail\n} from '../../UNSAFE_TableView';\n\ntype UsePointerHandlingOptions<K, D, C extends string> = {\n outerTableRef: Ref<HTMLDivElement>;\n tableId: string;\n data: D[] | null;\n isRtl: boolean;\n columnsArray: TableColumn<K, D, C>[];\n appliedColumnWidths: ColumnWidths<C>;\n resizeInfoRef: MutableRef<ColumnResizeInfo<C>>;\n selectionExtensionElementRef: MutableRef<HTMLElement | undefined>;\n fullColumnWidths?: number[];\n onColumnResizing?: (detail: ColumnResizeDetail<C>) => void;\n onColumnResize?: (detail: ColumnResizeDetail<C>) => void;\n currentCell?: Cell<K, C>;\n selectionMode?: { row?: SelectionMode; column?: SelectionMode };\n selected?: { row?: Keys<K>; column?: Keys<C> };\n onTableSelectionChange?: (\n detail: TableSelectionDetail<K, C>,\n isSelectionExtension: boolean\n ) => void;\n onRowAction?: (detail: RowActionDetail<K, D>) => void;\n};\n\n/**\n * Hook that manages pointer interactions on the Preact Table\n */\nexport function usePointerHandling<K extends string | number, D, C extends string>({\n outerTableRef,\n tableId,\n data,\n isRtl,\n columnsArray,\n appliedColumnWidths,\n resizeInfoRef,\n selectionExtensionElementRef,\n fullColumnWidths,\n onColumnResizing,\n onColumnResize,\n currentCell,\n selectionMode,\n selected,\n onTableSelectionChange,\n onRowAction\n}: UsePointerHandlingOptions<K, D, C>) {\n // tracks whether the most recent 'pointerdown' event was due to a touch gesture\n const selectionTouchRef = useRef<boolean>(false);\n\n // Pointer move handler for the outer Table.\n const _pointerMoveHandler = useCallback(\n (event: PointerEvent) => {\n if (outerTableRef.current != null && onColumnResizing != null) {\n if (!resizeInfoRef.current.isResizing) {\n handleOverResizeRegionGesture(\n outerTableRef.current,\n tableId,\n event,\n columnsArray,\n resizeInfoRef,\n isRtl\n );\n } else {\n handleColumnResizingGesture(\n outerTableRef.current,\n tableId,\n event,\n appliedColumnWidths,\n resizeInfoRef,\n isRtl,\n fullColumnWidths,\n onColumnResizing\n );\n }\n }\n },\n [\n outerTableRef,\n tableId,\n columnsArray,\n appliedColumnWidths,\n resizeInfoRef,\n isRtl,\n fullColumnWidths,\n onColumnResizing\n ]\n );\n\n // Pointer down handler for the outer Table. It ensures the area targeted is 'current'.\n // NOTE - This event handling is triggered prior to 'onFocus' handling and ensures the\n // 'pending current' area is set when an initial pointer interaction focuses the Table.\n const _pointerDownHandler = useCallback(\n (event: PointerEvent) => {\n if (outerTableRef.current != null) {\n selectionTouchRef.current = event.pointerType === 'touch';\n const targetElement = event.target as HTMLElement;\n if (\n onTableSelectionChange != null &&\n currentCell != null &&\n event.shiftKey &&\n isRangeSelectionGesture(\n outerTableRef.current,\n tableId,\n targetElement,\n currentCell,\n selectionMode\n )\n ) {\n // prevent focus change on selection extension gesture\n if (!getIsSelectionPending()) {\n event.preventDefault();\n }\n } else if (\n handleColumnResizeStartGesture(\n outerTableRef.current,\n tableId,\n event,\n columnsArray,\n appliedColumnWidths,\n resizeInfoRef,\n isRtl,\n fullColumnWidths,\n onColumnResizing\n )\n ) {\n // prevent focus change on column resize gesture\n event.preventDefault();\n resizeInfoRef.current.ignoreClick = true;\n }\n }\n },\n [\n outerTableRef,\n tableId,\n columnsArray,\n appliedColumnWidths,\n resizeInfoRef,\n isRtl,\n currentCell,\n selectionMode,\n onTableSelectionChange,\n fullColumnWidths,\n onColumnResizing\n ]\n );\n\n // Pointer up handler for the outer Table.\n const _pointerUpHandler = useCallback(\n (event: PointerEvent) => {\n if (outerTableRef.current != null) {\n handleColumnResizeEndGesture(\n outerTableRef.current,\n tableId,\n event,\n appliedColumnWidths,\n resizeInfoRef,\n isRtl,\n onColumnResize\n );\n }\n },\n [outerTableRef, tableId, appliedColumnWidths, resizeInfoRef, isRtl, onColumnResize]\n );\n\n // Pointer leave handler for the outer Table.\n const _pointerLeaveHandler = useCallback(\n (_event: PointerEvent) => {\n if (outerTableRef.current != null) {\n handleLeaveResizingGesture(outerTableRef.current, tableId, resizeInfoRef);\n }\n },\n [outerTableRef, tableId, resizeInfoRef]\n );\n\n // Pointer leave handler for the outer Table.\n const _pointerEnterHandler = useCallback(\n (event: PointerEvent) => {\n if (outerTableRef.current != null) {\n handleEnterResizingGesture(\n outerTableRef.current,\n tableId,\n event,\n appliedColumnWidths,\n resizeInfoRef,\n isRtl,\n onColumnResize\n );\n }\n },\n [outerTableRef, tableId, appliedColumnWidths, resizeInfoRef, isRtl, onColumnResize]\n );\n\n // Click handler for the outer Table. It ensures the Table's selection state is\n // updated to reflect the area targeted.\n const _clickHandler = useCallback(\n (event: MouseEvent) => {\n let isSelectionExtension = false;\n const platform = getClientHints().platform;\n const target = event.target as HTMLElement;\n if (outerTableRef.current != null) {\n if (\n onTableSelectionChange != null &&\n !resizeInfoRef.current.ignoreClick &&\n !getIsSelectionPending()\n ) {\n if (currentCell != null && event.shiftKey) {\n isSelectionExtension = handleRangeSelectionGesture(\n outerTableRef.current,\n tableId,\n columnsArray,\n target,\n currentCell,\n selectionExtensionElementRef,\n onTableSelectionChange,\n selectionMode,\n selected\n );\n }\n if (!isSelectionExtension) {\n handleSelectionGesture(\n outerTableRef.current,\n tableId,\n columnsArray,\n target,\n (platform === 'mac' ? event.metaKey : event.ctrlKey) || selectionTouchRef.current,\n onTableSelectionChange,\n selectionMode,\n selected\n );\n }\n }\n if (\n onRowAction != null &&\n data != null &&\n !getIsSelectionPending() &&\n handleRowActionGesture(outerTableRef.current, tableId, data, onRowAction, target)\n ) {\n event.stopPropagation();\n }\n }\n resizeInfoRef.current.ignoreClick = false;\n },\n [\n outerTableRef,\n tableId,\n columnsArray,\n data,\n resizeInfoRef,\n selectionExtensionElementRef,\n currentCell,\n selectionMode,\n selected,\n onTableSelectionChange,\n onRowAction\n ]\n );\n\n return {\n onPointerMove: _pointerMoveHandler,\n onPointerDown: _pointerDownHandler,\n onPointerUp: _pointerUpHandler,\n onPointerLeave: _pointerLeaveHandler,\n onPointerEnter: _pointerEnterHandler,\n onClick: _clickHandler\n };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useCallback, Ref } from 'preact/hooks';\nimport { TableColumn } from '../Table';\nimport { updateStickyEdges } from '../utils/TableScrollUtils';\n\ntype UseScrollHandlingProps<K, D, C extends string> = {\n outerTableRef: Ref<HTMLDivElement>;\n columnsArray: TableColumn<K, D, C>[];\n stickyEdgesState: { start?: number; end?: number };\n setStickyEdgesState: (stickyEdgesState: { start?: number; end?: number }) => void;\n fullColumnWidths?: number[];\n};\n\n/**\n * Hook that manages handling scroll events on the Preact Table\n */\nexport function useScrollHandling<K extends string | number, D, C extends string>({\n outerTableRef,\n columnsArray,\n stickyEdgesState,\n setStickyEdgesState,\n fullColumnWidths\n}: UseScrollHandlingProps<K, D, C>) {\n // Scroll hander for the outer Table. It ensures the Table's sticky edges are updated.\n const _scrollHandler = useCallback(() => {\n if (outerTableRef.current != null && fullColumnWidths != null) {\n updateStickyEdges(\n outerTableRef.current,\n columnsArray,\n fullColumnWidths,\n stickyEdgesState,\n setStickyEdgesState,\n outerTableRef.current.scrollLeft\n );\n }\n }, [outerTableRef, columnsArray, stickyEdgesState, setStickyEdgesState, fullColumnWidths]);\n\n return { onScroll: _scrollHandler };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useMemo, useRef, MutableRef, Ref } from 'preact/hooks';\nimport { Keys } from '../../utils/UNSAFE_keys';\nimport { mergeProps } from '../../utils/UNSAFE_mergeProps';\nimport { ColumnResizeInfo, SizingInfo, TableColumn } from '../Table';\nimport { useFocusHandling } from './useFocusHandling';\nimport { useKeyboardHandling } from './useKeyboardHandling';\nimport { usePointerHandling } from './usePointerHandling';\nimport { useScrollHandling } from './useScrollHandling';\nimport { SelectionMode } from '../../UNSAFE_Collection';\nimport {\n Cell,\n ColumnWidths,\n CurrentCellDetail,\n RowActionDetail,\n SortCriterionDetail,\n ColumnResizeDetail,\n TableSelectionDetail\n} from '../../UNSAFE_TableView';\n\ntype UseInteractionManagerOptions<K, D, C extends string> = {\n outerTableRef: Ref<HTMLDivElement>;\n tableId: string;\n data: D[] | null;\n isRtl: boolean;\n columnsArray: TableColumn<K, D, C>[];\n appliedColumnWidths: ColumnWidths<C>;\n sizingInfoRef: MutableRef<SizingInfo>;\n resizeInfoRef: MutableRef<ColumnResizeInfo<C>>;\n stickyEdgesState: { start?: number; end?: number };\n setStickyEdgesState: (stickyEdgesState: { start?: number; end?: number }) => void;\n cellHasRenderer: (cell: Cell<K, C>) => boolean;\n fullColumnWidths?: number[];\n onColumnResizing?: (detail: ColumnResizeDetail<C>) => void;\n onColumnResize?: (detail: ColumnResizeDetail<C>) => void;\n currentCellOverride?: Cell<K, C>;\n onPersistCurrentCell?: (detail: CurrentCellDetail<K, C>) => void;\n selectionMode?: { row?: SelectionMode; column?: SelectionMode };\n selected?: { row?: Keys<K>; column?: Keys<C> };\n onSelectionChange?: (detail: TableSelectionDetail<K, C>) => void;\n onRowAction?: (detail: RowActionDetail<K, D>) => void;\n sortCriterion?: { key: C; sortDirection: 'ascending' | 'descending' }[];\n onSortCriterionChange?: (detail: SortCriterionDetail<C>) => void;\n};\n\n/**\n * Hook that manages interactions and events on the Preact Table\n */\nexport function useInteractionManager<K extends string | number, D, C extends string>({\n outerTableRef,\n tableId,\n data,\n isRtl,\n columnsArray,\n appliedColumnWidths,\n sizingInfoRef,\n resizeInfoRef,\n stickyEdgesState,\n setStickyEdgesState,\n cellHasRenderer,\n fullColumnWidths,\n onColumnResizing,\n onColumnResize,\n currentCellOverride,\n onPersistCurrentCell,\n selectionMode,\n selected,\n onSelectionChange,\n onRowAction,\n sortCriterion,\n onSortCriterionChange\n}: UseInteractionManagerOptions<K, D, C>) {\n // tracks the current selection extension element (if any)\n const selectionExtensionElementRef = useRef<HTMLElement>();\n\n // intercept onSelectionChange calls to ensure local selectionExtensionElementRef is cleared\n const onTableSelectionChange = useMemo(() => {\n return onSelectionChange != null\n ? (detail: TableSelectionDetail<K, C>, isExtendableSelection: boolean) => {\n if (!isExtendableSelection) {\n selectionExtensionElementRef.current = undefined;\n }\n onSelectionChange(detail);\n }\n : undefined;\n }, [onSelectionChange]);\n\n // setup focus tracking using the useFocusHandling hook\n const {\n focusHandlingProps,\n currentCell,\n onCurrentCellChanged,\n isShowFocusRing,\n isTabbableMode,\n onStartFocusTracking,\n onFocusStartEdge,\n onFocusEndEdge\n } = useFocusHandling({\n outerTableRef,\n tableId,\n columnsArray,\n sizingInfoRef,\n selectionExtensionElementRef,\n isRtl,\n cellSupportsTabbable: cellHasRenderer,\n fullColumnWidths,\n currentCellOverride,\n onPersistCurrentCell\n });\n\n const keyboardHandlingProps = useKeyboardHandling({\n outerTableRef,\n tableId,\n data,\n isRtl,\n isTabbableMode,\n columnsArray,\n sizingInfoRef,\n selectionExtensionElementRef,\n fullColumnWidths,\n currentCell,\n onCurrentCellChanged,\n selectionMode,\n selected,\n onTableSelectionChange,\n onRowAction,\n sortCriterion,\n onSortCriterionChange\n });\n\n const pointerHandlingProps = usePointerHandling({\n outerTableRef,\n tableId,\n data,\n isRtl,\n columnsArray,\n appliedColumnWidths,\n resizeInfoRef,\n selectionExtensionElementRef,\n fullColumnWidths,\n onColumnResizing,\n onColumnResize,\n currentCell,\n selectionMode,\n selected,\n onTableSelectionChange,\n onRowAction\n });\n\n const scrollHandlingProps = useScrollHandling({\n outerTableRef,\n columnsArray,\n stickyEdgesState,\n setStickyEdgesState,\n fullColumnWidths\n });\n\n const interactionManagerProps = mergeProps(\n focusHandlingProps,\n keyboardHandlingProps,\n pointerHandlingProps,\n scrollHandlingProps\n );\n\n return {\n interactionManagerProps,\n onTableSelectionChange,\n isShowFocusRing,\n isTabbableMode,\n currentCell,\n onStartFocusTracking,\n onFocusStartEdge,\n onFocusEndEdge\n };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { MutableRef } from 'preact/hooks';\nimport { SampledWidths, TableColumn } from '../Table';\nimport { tableStyles } from '../themes/TableStyles.css';\nimport { ColumnWidths } from '../../UNSAFE_TableView';\n\n/**\n * Helper method to extract the individual column widths of the Table\n * depending on its layout. With a 'fixed' layout, an initial 'availableWidth'\n * is required, while with a 'contents' layout, -1 can be provided as the\n * 'availableWidth' initially. This will trigger the layout logic to ensure\n * a non-contstrained Table width is supported, and is needed to match\n * current Redwood behaviors with a 'contents' layout.\n */\nexport function getLayoutColumnWidths<K, D, C extends string>(\n outerTableElement: HTMLDivElement,\n scrollbarWidth: number,\n tableId: string,\n isFixed: boolean,\n sampledColumnWidthsRef: MutableRef<SampledWidths<C> | undefined>,\n availableWidth: number,\n columnsArray: TableColumn<K, D, C>[],\n staticColumnWidths?: ColumnWidths<C>\n) {\n if (isFixed) {\n return _getFixedLayoutColumnWidths(availableWidth, columnsArray, staticColumnWidths);\n }\n let newColumnWidths = _getContentsLayoutColumnWidths(\n outerTableElement,\n tableId,\n sampledColumnWidthsRef,\n availableWidth,\n columnsArray,\n staticColumnWidths\n );\n if (availableWidth === -1) {\n let totalWidth = 0;\n const widthsArray = [];\n for (let i = 0; i < columnsArray.length; i++) {\n const width = newColumnWidths[columnsArray[i].key];\n widthsArray.push(width);\n totalWidth += width;\n }\n // for content sizing, apply the new column widths immediately, and check to see\n // if all space is actually utilized - this supports no width constraint scenarios\n _udpateTableSizing(outerTableElement, tableId, widthsArray, totalWidth);\n availableWidth = outerTableElement.getBoundingClientRect().width - scrollbarWidth;\n if (Math.abs(totalWidth - availableWidth) > 0.005) {\n newColumnWidths = _getContentsLayoutColumnWidths(\n outerTableElement,\n tableId,\n sampledColumnWidthsRef,\n availableWidth,\n columnsArray,\n staticColumnWidths\n );\n }\n }\n return newColumnWidths;\n}\n\n/**\n * Helper method to extract the individual column widths of the Table\n * for a 'fixed' layout table that already has its root width applied.\n */\nfunction _getFixedLayoutColumnWidths<K, D, C extends string>(\n availableWidth: number,\n columnsArray: TableColumn<K, D, C>[],\n staticColumnWidths?: ColumnWidths<C>\n) {\n const DEFAULT_COLUMN_WEIGHT = 1;\n const DEFAULT_COLUMN_MIN_WIDTH = 100;\n const DEFAULT_COLUMN_MAX_WIDTH = undefined;\n\n let requiresActiveSizing = false;\n let totalWorkingWeight = 0;\n let forcedTotalWidth = 0;\n let pendingTotalWidth = 0;\n const columnMaxWidthsArray = [];\n const columnWeightsArray = [];\n const forcedColumnWidthsArray = [];\n const newColumnWidthsArray = [];\n const appliedColumnWidthsArray = [];\n for (let i = 0; i < columnsArray.length; i++) {\n const column = columnsArray[i];\n let columnMinWidth = column.value.minWidth;\n if (columnMinWidth == null || columnMinWidth <= 0) {\n columnMinWidth = DEFAULT_COLUMN_MIN_WIDTH;\n }\n let columnMaxWidth = column.value.maxWidth;\n if (columnMaxWidth == null || columnMaxWidth < columnMinWidth) {\n columnMaxWidth = DEFAULT_COLUMN_MAX_WIDTH;\n }\n columnMaxWidthsArray.push(columnMaxWidth);\n let columnWeight = column.value.weight;\n if (columnWeight == null || columnWeight < 1) {\n columnWeight = DEFAULT_COLUMN_WEIGHT;\n }\n columnWeightsArray.push(columnWeight);\n const columnWidth = staticColumnWidths != null ? staticColumnWidths[column.key] : undefined;\n if (columnWidth != null) {\n forcedTotalWidth += columnWidth;\n pendingTotalWidth += columnWidth;\n forcedColumnWidthsArray.push(columnWidth);\n newColumnWidthsArray.push(columnWidth);\n appliedColumnWidthsArray.push(columnWidth);\n } else {\n requiresActiveSizing = true;\n pendingTotalWidth += columnMinWidth;\n totalWorkingWeight += columnWeight;\n forcedColumnWidthsArray.push(undefined);\n newColumnWidthsArray.push(columnMinWidth);\n appliedColumnWidthsArray.push(columnMinWidth);\n }\n }\n\n // enforce min and max rules if active sizing is required and available space remains\n if (requiresActiveSizing && pendingTotalWidth < availableWidth) {\n _enforceFixedMinMaxRules(\n columnsArray,\n availableWidth,\n totalWorkingWeight,\n forcedTotalWidth,\n forcedColumnWidthsArray,\n columnWeightsArray,\n columnMaxWidthsArray,\n newColumnWidthsArray,\n appliedColumnWidthsArray\n );\n }\n return _createColumnWidths(columnsArray, newColumnWidthsArray);\n}\n\n/**\n * Helper function to enforce all of the layout sizing rules on the Table's columns.\n */\nfunction _enforceFixedMinMaxRules<K, D, C>(\n columnsArray: TableColumn<K, D, C>[],\n availableWidth: number,\n totalWorkingWeight: number,\n forcedTotalWidth: number,\n forcedColumnWidthsArray: (number | undefined)[],\n columnWeightsArray: number[],\n columnMaxWidthsArray: (number | undefined)[],\n newColumnWidthsArray: number[],\n appliedColumnWidthsArray: number[]\n) {\n // try and honor the weights of each column combined with the min widths, and then check that against\n // any max widths once completed. if the final result doesn't fill the space AND at least 1 max width\n // rule was enforced, repeat the process until no max rules are enforced OR the space is filled.\n let isMaxRuleApplied = true;\n while (isMaxRuleApplied) {\n isMaxRuleApplied = false;\n _enforceWeightedMinRules(\n columnsArray,\n availableWidth,\n totalWorkingWeight,\n forcedTotalWidth,\n forcedColumnWidthsArray,\n columnWeightsArray,\n newColumnWidthsArray,\n appliedColumnWidthsArray\n );\n let pendingTotalWidth = 0;\n for (let i = 0; i < columnsArray.length; i++) {\n if (forcedColumnWidthsArray[i] == null) {\n const maxWidth = columnMaxWidthsArray[i];\n if (maxWidth != null && newColumnWidthsArray[i] > maxWidth) {\n isMaxRuleApplied = true;\n forcedColumnWidthsArray[i] = maxWidth;\n forcedTotalWidth += maxWidth;\n totalWorkingWeight -= columnWeightsArray[i];\n newColumnWidthsArray[i] = maxWidth;\n appliedColumnWidthsArray[i] = maxWidth;\n }\n }\n pendingTotalWidth += newColumnWidthsArray[i];\n }\n isMaxRuleApplied = isMaxRuleApplied && pendingTotalWidth < availableWidth;\n }\n}\n\n/**\n * Helper method to extract the individual column widths of the Table\n * for a 'contents' layout table that already has its root width applied.\n */\nfunction _getContentsLayoutColumnWidths<K, D, C extends string>(\n outerTableElement: HTMLDivElement,\n tableId: string,\n sampledColumnWidthsRef: MutableRef<SampledWidths<C> | undefined>,\n availableWidth: number,\n columnsArray: TableColumn<K, D, C>[],\n staticColumnWidths?: ColumnWidths<C>\n) {\n const DEFAULT_COLUMN_MIN_WIDTH = undefined;\n const DEFAULT_COLUMN_MAX_WIDTH = undefined;\n\n let requiresActiveSizing = false;\n const columnMinWidthsArray = [] as (number | undefined)[];\n const columnMaxWidthsArray = [];\n const forcedColumnWidthsArray = [];\n const newColumnWidthsArray = [];\n for (let i = 0; i < columnsArray.length; i++) {\n const column = columnsArray[i];\n let columnMinWidth = column.value.minWidth;\n if (columnMinWidth == null || columnMinWidth <= 0) {\n columnMinWidth = DEFAULT_COLUMN_MIN_WIDTH;\n }\n columnMinWidthsArray.push(columnMinWidth);\n let columnMaxWidth = column.value.maxWidth;\n if (columnMaxWidth == null || columnMaxWidth < (columnMinWidth != null ? columnMinWidth : 0)) {\n columnMaxWidth = DEFAULT_COLUMN_MAX_WIDTH;\n }\n columnMaxWidthsArray.push(columnMaxWidth);\n const columnWidth = staticColumnWidths != null ? staticColumnWidths[column.key] : undefined;\n if (columnWidth != null) {\n forcedColumnWidthsArray.push(columnWidth);\n newColumnWidthsArray[i] = columnWidth;\n } else {\n requiresActiveSizing = true;\n forcedColumnWidthsArray.push(undefined);\n }\n }\n\n // short-circuit normal contents sizing if each column specifies a 'width' value\n if (requiresActiveSizing) {\n // if active sizing is required, update min width values to reflect actual widths\n // performance note - this should be the only logic that requires DOM measurements\n let forcedTotalWidth = 0;\n let pendingTotalWidth = 0;\n let totalPreferredWidth = 0;\n let totalWorkingWeight = 0;\n let totalRemainingWeight = 0;\n const sampledWidths = sampledColumnWidthsRef.current;\n const sampledMinWidthsArray = [];\n const sampledWeightWidthsArray = [] as number[];\n const appliedColumnWidthsArray = [];\n if (sampledWidths != null) {\n for (let i = 0; i < columnsArray.length; i++) {\n sampledMinWidthsArray.push(sampledWidths.minWidths[columnsArray[i].key]);\n sampledWeightWidthsArray.push(sampledWidths.weightWidths[columnsArray[i].key]);\n }\n } else {\n sampledColumnWidthsRef.current = {\n minWidths: {} as ColumnWidths<C>,\n weightWidths: {} as ColumnWidths<C>\n };\n const headerElements = outerTableElement.querySelectorAll(\n `[data-oj-table-header-cell='${tableId}']`\n );\n // when sampledColumnWidths are not populated, content wrapping is disabled in the table\n // which allows for measurements to represent the column weights\n for (let i = 0; i < headerElements.length; i++) {\n const sampledWeightWidth = (headerElements[i] as HTMLElement).getBoundingClientRect().width;\n sampledWeightWidthsArray.push(sampledWeightWidth);\n sampledColumnWidthsRef.current.weightWidths[columnsArray[i].key] = sampledWeightWidth;\n }\n // re-enable wrapping, allowing measurements to represent minimum auto-resizable column widths\n outerTableElement.classList.remove(tableStyles.disableWrapping);\n for (let i = 0; i < headerElements.length; i++) {\n const sampledMinWidth = (headerElements[i] as HTMLElement).getBoundingClientRect().width;\n sampledMinWidthsArray.push(sampledMinWidth);\n sampledColumnWidthsRef.current.minWidths[columnsArray[i].key] = sampledMinWidth;\n }\n }\n\n for (let i = 0; i < sampledMinWidthsArray.length; i++) {\n const forcedWidth = forcedColumnWidthsArray[i];\n if (forcedWidth == null) {\n let columnWidth;\n const sampledMinWidth = sampledMinWidthsArray[i];\n const minWidth = columnMinWidthsArray[i];\n const maxWidth = columnMaxWidthsArray[i];\n if (minWidth != null && minWidth >= sampledMinWidth) {\n columnWidth = minWidth;\n } else if (maxWidth != null && sampledMinWidth >= maxWidth) {\n columnWidth = maxWidth;\n } else {\n columnWidth = sampledMinWidth;\n }\n pendingTotalWidth += columnWidth;\n // replace sampled weight with min width if needed\n const columnWeight =\n minWidth != null && minWidth >= sampledWeightWidthsArray[i]\n ? minWidth\n : sampledWeightWidthsArray[i];\n sampledWeightWidthsArray[i] = columnWeight;\n totalPreferredWidth +=\n maxWidth != null && maxWidth <= columnWeight ? maxWidth : columnWeight;\n totalWorkingWeight += columnWeight;\n totalRemainingWeight += columnWeight - columnWidth;\n // newColumnWidthsArray already has content, so update in place rather than 'push'\n newColumnWidthsArray[i] = columnWidth;\n appliedColumnWidthsArray.push(columnWidth);\n } else {\n forcedTotalWidth += forcedWidth;\n pendingTotalWidth += forcedWidth;\n totalPreferredWidth += forcedWidth;\n appliedColumnWidthsArray.push(forcedWidth);\n }\n }\n // special case for initial rendering where we don't know if overall width is constrained\n if (availableWidth === -1) {\n availableWidth = totalPreferredWidth;\n }\n if (pendingTotalWidth < availableWidth) {\n _enforceContentsMinMaxRules(\n columnsArray,\n availableWidth,\n totalPreferredWidth,\n totalRemainingWeight,\n totalWorkingWeight,\n pendingTotalWidth,\n forcedTotalWidth,\n forcedColumnWidthsArray,\n sampledWeightWidthsArray,\n columnMaxWidthsArray,\n newColumnWidthsArray,\n appliedColumnWidthsArray\n );\n }\n }\n return _createColumnWidths(columnsArray, newColumnWidthsArray);\n}\n\n/**\n * Helper function to enforce all of the layout sizing rules on the Table's columns.\n */\nfunction _enforceContentsMinMaxRules<K, D, C>(\n columnsArray: TableColumn<K, D, C>[],\n availableWidth: number,\n totalPreferredWidth: number,\n totalRemainingWeight: number,\n totalWorkingWeight: number,\n appliedPendingTotalWidth: number,\n forcedTotalWidth: number,\n forcedColumnWidthsArray: (number | undefined)[],\n columnWeightsArray: number[],\n columnMaxWidthsArray: (number | undefined)[],\n newColumnWidthsArray: number[],\n appliedColumnWidthsArray: number[]\n) {\n // try and honor the weights of each column combined with the min widths, and then check that against\n // any max widths once completed. if the final result doesn't fill the space AND at least 1 max width\n // rule was enforced, repeat the process until no max rules are enforced OR the space is filled.\n let isMaxRuleApplied = true;\n while (isMaxRuleApplied) {\n isMaxRuleApplied = false;\n if (totalPreferredWidth > availableWidth) {\n _enforceConstrainedWeightRules(\n columnsArray,\n availableWidth - appliedPendingTotalWidth,\n totalRemainingWeight,\n columnWeightsArray,\n forcedColumnWidthsArray,\n newColumnWidthsArray,\n appliedColumnWidthsArray\n );\n } else {\n _enforceWeightedMinRules(\n columnsArray,\n availableWidth,\n totalWorkingWeight,\n forcedTotalWidth,\n forcedColumnWidthsArray,\n columnWeightsArray,\n newColumnWidthsArray,\n appliedColumnWidthsArray\n );\n }\n\n let pendingTotalWidth = 0;\n for (let i = 0; i < columnsArray.length; i++) {\n if (forcedColumnWidthsArray[i] == null) {\n const maxWidth = columnMaxWidthsArray[i];\n if (maxWidth != null && newColumnWidthsArray[i] > maxWidth) {\n isMaxRuleApplied = true;\n forcedColumnWidthsArray[i] = maxWidth;\n forcedTotalWidth += maxWidth;\n appliedPendingTotalWidth += maxWidth - appliedColumnWidthsArray[i];\n totalWorkingWeight -= columnWeightsArray[i];\n newColumnWidthsArray[i] = maxWidth;\n appliedColumnWidthsArray[i] = maxWidth;\n }\n }\n pendingTotalWidth += newColumnWidthsArray[i];\n }\n isMaxRuleApplied = isMaxRuleApplied && pendingTotalWidth < availableWidth;\n }\n}\n\n/**\n * Helper function to enforce constrained weights / min width rules on the Table's columns.\n */\nfunction _enforceConstrainedWeightRules<K, D, C>(\n columnsArray: TableColumn<K, D, C>[],\n initialExtraWidth: number,\n totalRemainingWeight: number,\n columnWeightsArray: number[],\n forcedColumnWidthsArray: (number | undefined)[],\n newColumnWidthsArray: number[],\n appliedColumnWidthsArray: number[]\n) {\n if (initialExtraWidth > 0) {\n let availableWidth = initialExtraWidth;\n let currentWeightTotal = totalRemainingWeight;\n for (let i = 0; i < columnsArray.length; i++) {\n if (currentWeightTotal > 0 && forcedColumnWidthsArray[i] == null) {\n const currentWeight = columnWeightsArray[i] - appliedColumnWidthsArray[i];\n const weightWidth = (currentWeight / currentWeightTotal) * availableWidth;\n newColumnWidthsArray[i] = weightWidth + appliedColumnWidthsArray[i];\n availableWidth -= weightWidth;\n currentWeightTotal -= currentWeight;\n }\n }\n }\n}\n\n/**\n * Helper function to enforce the weights / min width rules on the Table's columns.\n */\nfunction _enforceWeightedMinRules<K, D, C>(\n columnsArray: TableColumn<K, D, C>[],\n availableWidth: number,\n totalWeight: number,\n forcedTotalWidth: number,\n forcedColumnWidthsArray: (number | undefined)[],\n columnWeightsArray: number[],\n newColumnWidthsArray: number[],\n appliedColumnWidthsArray: number[]\n) {\n const pendingForcedColumnWidths = [] as (number | undefined)[];\n let isMinRuleApplied = true;\n while (isMinRuleApplied) {\n isMinRuleApplied = false;\n let currentWeightTotal = totalWeight;\n let widthDiff = availableWidth - forcedTotalWidth;\n if (widthDiff > 0) {\n for (let i = 0; i < columnsArray.length; i++) {\n if (\n currentWeightTotal > 0 &&\n forcedColumnWidthsArray[i] == null &&\n pendingForcedColumnWidths[i] == null\n ) {\n const currentWeight = columnWeightsArray[i];\n const newWidth = (currentWeight / currentWeightTotal) * widthDiff;\n\n // if calculated width breaks min width requirement, force min width as needed\n const minWidth = appliedColumnWidthsArray[i];\n if (newWidth < minWidth) {\n // the preferred weighted size conflicts with the min size, so set pending to min size\n pendingForcedColumnWidths[i] = minWidth;\n forcedTotalWidth += minWidth;\n newColumnWidthsArray[i] = minWidth;\n isMinRuleApplied = true;\n totalWeight -= currentWeight;\n break;\n }\n newColumnWidthsArray[i] = newWidth;\n widthDiff -= newWidth;\n currentWeightTotal -= currentWeight;\n }\n }\n }\n }\n}\n\n/**\n * Helper function to create a ColumnWidths object from a TableColumn array and a widths array.\n */\nfunction _createColumnWidths<K, D, C extends string>(\n columnsArray: TableColumn<K, D, C>[],\n columnWidthsArray: number[]\n) {\n const columnWidths = {} as ColumnWidths<C>;\n for (let i = 0; i < columnsArray.length; i++) {\n columnWidths[columnsArray[i].key] = columnWidthsArray[i];\n }\n return columnWidths;\n}\n\n/**\n * Helper method to apply the given sizing object to the currently rendered Table\n * and column elements.\n */\nfunction _udpateTableSizing(\n root: HTMLDivElement,\n tableId: string,\n widthsArray: number[],\n totalWidth: number\n) {\n const tableCols = root.querySelectorAll(`[data-oj-table-col='${tableId}']`);\n for (let i = 0; i < tableCols.length; i++) {\n const tableCol = tableCols[i] as HTMLTableColElement;\n tableCol.style.width = `${widthsArray[i]}px`;\n }\n const innerTableElem = root.querySelectorAll(\n `[data-oj-table-inner-table='${tableId}']`\n )[0] as HTMLElement;\n innerTableElem.style.width = `${totalWidth}px`;\n innerTableElem.style.tableLayout = 'fixed';\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport {\n useImperativeHandle,\n useCallback,\n useMemo,\n useRef,\n useLayoutEffect,\n useState\n} from 'preact/hooks';\nimport { forwardRef, ForwardedRef } from 'preact/compat';\nimport { JSXInternal } from 'preact/src/jsx';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { TabbableModeContext } from '../hooks/UNSAFE_useTabbableMode';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport {\n Cell,\n Column,\n ColumnWidths,\n TableHorizontalScrollPosition,\n TableVerticalScrollPosition\n} from '../UNSAFE_TableView';\nimport { TableColGroup } from './TableColGroup';\nimport { TableBody } from './TableBody';\nimport { TableHeader } from './TableHeader';\nimport { TableFooter } from './TableFooter';\nimport { TableDragIndicator } from './TableDragIndicator';\nimport { FocusTracker } from '../PRIVATE_FocusTracker';\nimport { Props, TableViewHandle } from '../UNSAFE_TableView';\nimport { useInteractionManager } from './hooks/useInteractionManager';\nimport { getLayoutColumnWidths } from './utils/TableLayoutUtils';\nimport {\n getViewportConfig,\n getHorizontalScrollPosition,\n setHorizontalScrollPosition,\n getVerticalScrollPosition,\n setVerticalScrollPosition,\n updateStickyColumns\n} from './utils/TableScrollUtils';\nimport { innerTableStyles, focusTrackerStyles } from './themes/Table.css';\nimport { TableVariantOptions, tableStyles } from './themes/TableStyles.css';\nimport { TableRedwoodTheme } from './themes/redwood/TableTheme';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\nimport { useTestId } from '../hooks/UNSAFE_useTestId';\n\nexport type TableColumn<K, D, C> = {\n key: C;\n value: Column<K, D, C>;\n};\n\nexport type SampledWidths<C extends string> = {\n minWidths: ColumnWidths<C>;\n weightWidths: ColumnWidths<C>;\n};\n\nexport type SizingInfo =\n | {\n isInitialRender: true;\n boxWidth?: number;\n contentWidth?: number;\n boxHeight?: number;\n contentHeight?: number;\n defaultScrollbarWidth?: number;\n defaultScrollbarHeight?: number;\n }\n | {\n isInitialRender: false;\n boxWidth: number;\n contentWidth: number;\n boxHeight: number;\n contentHeight: number;\n defaultScrollbarWidth: number;\n defaultScrollbarHeight: number;\n };\n\ntype LayoutInfo =\n | {\n isLayoutRequired: true;\n columnWidthsArray?: number[];\n }\n | {\n isLayoutRequired: false;\n columnWidthsArray: number[];\n };\n\nexport type ColumnResizeInfo<C> =\n | {\n isResizing: false;\n isResizeHover: boolean;\n key?: C;\n startX?: never;\n delta?: never;\n fullColumnWidths?: never;\n ignoreClick: boolean;\n }\n | {\n isResizing: true;\n isResizeHover: boolean;\n key: C;\n startX: number;\n delta: number;\n fullColumnWidths: number[];\n ignoreClick: boolean;\n };\n\nexport type ScrollDetail<K, C> = {\n cell: Cell<K, C>;\n locationX?: 'inView' | 'start' | 'end';\n locationY?: 'inView' | 'top' | 'bottom';\n};\n\nconst _defaultSelected = {\n row: { all: false, keys: new Set() },\n column: { all: false, keys: new Set() }\n};\n\n/**\n * Component that renders items as a flat table.\n * In order to maximize performance, only items that are visible in the viewport are rendered.\n */\nexport const Table = forwardRef(function Table<K extends string | number, D, C extends string>(\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n getAccessibleRowHeaders,\n columns,\n columnOrder,\n columnWidths,\n layout = 'contents',\n data,\n getRowKey,\n hasMore = false,\n onLoadMore = () => {},\n currentCellOverride,\n onPersistCurrentCell,\n currentRowVariant,\n gridlines,\n selectionMode,\n selected = _defaultSelected as NonNullable<Props<K, D, C>['selected']>,\n onSelectionChange,\n onRowAction,\n sortCriterion,\n onSortCriterionChange,\n horizontalScrollPositionOverride,\n verticalScrollPositionOverride,\n columnResizingIndicator,\n onColumnResizing,\n onColumnResize,\n noDataRenderer,\n testId\n }: Props<K, D, C>,\n ref?: ForwardedRef<TableViewHandle<K, C>>\n) {\n const tableId = useId();\n const outerTableRef = useRef<HTMLDivElement>(null);\n const sizingInfoRef = useRef<SizingInfo>({ isInitialRender: true });\n const [appliedColumnWidths, setAppliedColumnWidths] = useState<ColumnWidths<C>>();\n const [contentHeight, setContentHeight] = useState<number>();\n const isVerticalScrollRef = useRef<boolean>(false);\n const sampledColumnWidthsRef = useRef<SampledWidths<C>>();\n const horizontalScrollPositionOverrideRef = useRef<TableHorizontalScrollPosition<C>>();\n const verticalScrollPositionOverrideRef = useRef<TableVerticalScrollPosition<K>>();\n\n const [stickyEdgesState, setStickyEdgesState] = useState<{ start?: number; end?: number }>({\n start: undefined,\n end: undefined\n });\n\n const resizeInfoRef = useRef<ColumnResizeInfo<C>>({\n isResizing: false,\n isResizeHover: false,\n ignoreClick: false\n });\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n const testIdProps = useTestId(testId);\n\n const columnsArray = useMemo(() => {\n const newColumnsArray = [] as Array<TableColumn<K, D, C>>;\n if (columnOrder != null) {\n for (const key of columnOrder) {\n if (columns[key] != null) {\n newColumnsArray.push({\n key: key,\n value: columns[key]\n });\n }\n }\n } else {\n for (const [key, value] of Object.entries(columns)) {\n newColumnsArray.push({\n key: key as C,\n value: value as Column<K, D, C>\n });\n }\n }\n return newColumnsArray;\n }, [columnOrder, columns]);\n\n let isLayoutRequired = false;\n const columnWidthsArray = [];\n if (appliedColumnWidths != null) {\n for (let i = 0; i < columnsArray.length; i++) {\n const key = columnsArray[i].key;\n const appliedWidth = appliedColumnWidths[key];\n const staticWidth = columnWidths != null ? columnWidths[key] : undefined;\n if (appliedWidth == null || (staticWidth != null && staticWidth !== appliedWidth)) {\n isLayoutRequired = true;\n break;\n }\n columnWidthsArray.push(appliedWidth);\n }\n } else {\n isLayoutRequired = true;\n }\n const layoutInfo = {\n isLayoutRequired: isLayoutRequired,\n columnWidthsArray: isLayoutRequired ? undefined : columnWidthsArray\n } as LayoutInfo;\n\n useImperativeHandle(\n ref!,\n () => {\n return {\n getHorizontalScrollPosition: () => {\n if (layoutInfo.isLayoutRequired) {\n return {};\n }\n return getHorizontalScrollPosition(\n outerTableRef.current!,\n columnsArray,\n layoutInfo.columnWidthsArray\n );\n },\n getVerticalScrollPosition: () => {\n if (layoutInfo.isLayoutRequired) {\n return {};\n }\n return getVerticalScrollPosition(outerTableRef.current!, tableId);\n }\n };\n },\n [tableId, columnsArray, layoutInfo.isLayoutRequired, layoutInfo.columnWidthsArray]\n );\n\n const cellHasRenderer = useCallback(\n (cell: Cell<K, C>) => {\n let hasRenderer = false;\n if (cell.type === 'noData') {\n hasRenderer = noDataRenderer != null;\n } else {\n for (const column of columnsArray) {\n if (column.key === cell.columnKey) {\n if (cell.type === 'data') {\n hasRenderer = column.value.renderer != null;\n } else if (cell.type === 'header') {\n hasRenderer = column.value.headerRenderer != null;\n } else if (cell.type === 'footer') {\n hasRenderer = column.value.footerRenderer != null;\n }\n break;\n }\n }\n }\n return hasRenderer;\n },\n [columnsArray, noDataRenderer]\n );\n\n const {\n interactionManagerProps,\n onTableSelectionChange,\n isShowFocusRing,\n isTabbableMode,\n currentCell,\n onStartFocusTracking,\n onFocusStartEdge,\n onFocusEndEdge\n } = useInteractionManager({\n outerTableRef,\n tableId,\n data,\n isRtl,\n columnsArray,\n appliedColumnWidths: appliedColumnWidths!,\n sizingInfoRef,\n resizeInfoRef,\n stickyEdgesState,\n setStickyEdgesState,\n cellHasRenderer,\n fullColumnWidths: layoutInfo.isLayoutRequired ? undefined : layoutInfo.columnWidthsArray,\n onColumnResizing,\n onColumnResize,\n currentCellOverride,\n onPersistCurrentCell,\n selectionMode,\n selected,\n onSelectionChange,\n onRowAction,\n sortCriterion,\n onSortCriterionChange\n });\n\n // ensure sampled column sizes are cleared if 'columns' is updated\n useLayoutEffect(() => {\n sampledColumnWidthsRef.current = undefined;\n setAppliedColumnWidths(undefined);\n }, [columns]);\n\n // setup sizing calculation updates for subsequent renders\n useLayoutEffect(() => {\n const rootElement = outerTableRef.current;\n if (\n rootElement != null &&\n !sizingInfoRef.current.isInitialRender &&\n layoutInfo.isLayoutRequired &&\n sizingInfoRef.current.defaultScrollbarWidth != null\n ) {\n const totalWidth =\n layout === 'fixed'\n ? sizingInfoRef.current.boxWidth - sizingInfoRef.current.defaultScrollbarWidth\n : -1;\n const newColumnWidths = getLayoutColumnWidths(\n rootElement,\n sizingInfoRef.current.defaultScrollbarWidth,\n tableId,\n layout === 'fixed',\n sampledColumnWidthsRef,\n totalWidth,\n columnsArray,\n columnWidths\n );\n setAppliedColumnWidths(newColumnWidths);\n }\n }, [tableId, columnsArray, columnWidths, layout, layoutInfo.isLayoutRequired]);\n\n // setup component resize-based sizing calculation updates\n const resizeObserverCallbackRef = useRef<(entry: ResizeObserverEntry) => void>();\n resizeObserverCallbackRef.current = (entry: ResizeObserverEntry) => {\n if (outerTableRef.current != null) {\n let availableWidth;\n let scrollbarWidth;\n const newContentWidth = entry.contentBoxSize[0].inlineSize;\n const newContentHeight = entry.contentBoxSize[0].blockSize;\n const newBoxWidth = entry.borderBoxSize[0].inlineSize;\n const newBoxHeight = entry.borderBoxSize[0].blockSize;\n\n if (newContentWidth !== 0 || newBoxWidth !== 0) {\n if (sizingInfoRef.current.isInitialRender) {\n scrollbarWidth = newBoxWidth - newContentWidth;\n availableWidth = layout === 'fixed' ? newContentWidth : -1;\n sizingInfoRef.current = {\n isInitialRender: false,\n contentWidth: newContentWidth,\n boxWidth: newBoxWidth,\n contentHeight: newContentHeight,\n boxHeight: newBoxHeight,\n defaultScrollbarWidth: scrollbarWidth,\n defaultScrollbarHeight: newBoxHeight - newContentHeight\n };\n } else {\n scrollbarWidth = sizingInfoRef.current.defaultScrollbarWidth;\n availableWidth = isVerticalScrollRef.current\n ? newContentWidth\n : newBoxWidth - scrollbarWidth;\n sizingInfoRef.current.contentWidth = newContentWidth;\n sizingInfoRef.current.boxWidth = newBoxWidth;\n sizingInfoRef.current.contentHeight = newContentHeight;\n sizingInfoRef.current.boxHeight = newBoxHeight;\n }\n const newColumnWidths = getLayoutColumnWidths(\n outerTableRef.current,\n scrollbarWidth,\n tableId,\n layout === 'fixed',\n sampledColumnWidthsRef,\n availableWidth,\n columnsArray,\n columnWidths\n );\n setAppliedColumnWidths(newColumnWidths);\n if (contentHeight !== newContentHeight) {\n setContentHeight(newContentHeight);\n }\n }\n }\n };\n // ensure resize observer callback function is static to avoid hook re-subscribing each render\n const staticResizeObserverCallback = useCallback((entry: ResizeObserverEntry) => {\n resizeObserverCallbackRef.current!(entry);\n }, []);\n useResizeObserver(outerTableRef, staticResizeObserverCallback);\n\n // after each additional render, update vertical scrollbar state if necessary\n useLayoutEffect(() => {\n const scrollbarWidth = sizingInfoRef.current.defaultScrollbarWidth;\n if (\n outerTableRef.current != null &&\n !sizingInfoRef.current.isInitialRender &&\n contentHeight != null &&\n scrollbarWidth != null\n ) {\n const innerTable = outerTableRef.current.querySelector(\n `[data-oj-table-inner-table='${tableId}']`\n );\n if (innerTable != null) {\n const hasVerticalOverflow = contentHeight < innerTable.getBoundingClientRect().height;\n isVerticalScrollRef.current = hasVerticalOverflow;\n if (hasVerticalOverflow) {\n outerTableRef.current.classList.remove(tableStyles.noVerticalScroll);\n outerTableRef.current.classList.add(tableStyles.verticalScroll);\n outerTableRef.current.style.paddingInlineEnd = '';\n } else {\n outerTableRef.current.classList.remove(tableStyles.verticalScroll);\n outerTableRef.current.classList.add(tableStyles.noVerticalScroll);\n outerTableRef.current.style.paddingInlineEnd = `${scrollbarWidth}px`;\n }\n }\n }\n }, [tableId, contentHeight, data, noDataRenderer, appliedColumnWidths]);\n\n // update horizontal scroll position if a new value is provided\n useLayoutEffect(() => {\n if (\n horizontalScrollPositionOverrideRef.current !== horizontalScrollPositionOverride &&\n !layoutInfo.isLayoutRequired\n ) {\n setHorizontalScrollPosition(\n outerTableRef.current!,\n columnsArray,\n layoutInfo.columnWidthsArray,\n isRtl,\n horizontalScrollPositionOverride\n );\n horizontalScrollPositionOverrideRef.current = horizontalScrollPositionOverride;\n }\n }, [\n tableId,\n columnsArray,\n layoutInfo.isLayoutRequired,\n layoutInfo.columnWidthsArray,\n horizontalScrollPositionOverride,\n isRtl\n ]);\n\n // update vertical scroll position if a new value is provided\n useLayoutEffect(() => {\n if (\n verticalScrollPositionOverrideRef.current !== verticalScrollPositionOverride &&\n !layoutInfo.isLayoutRequired\n ) {\n setVerticalScrollPosition(outerTableRef.current!, tableId, verticalScrollPositionOverride);\n verticalScrollPositionOverrideRef.current = verticalScrollPositionOverride;\n }\n }, [tableId, layoutInfo.isLayoutRequired, verticalScrollPositionOverride]);\n\n // ensure sticky columns are updated appropriately\n useLayoutEffect(() => {\n if (outerTableRef.current != null && !layoutInfo.isLayoutRequired) {\n updateStickyColumns(\n outerTableRef.current,\n tableId,\n isRtl,\n columnsArray,\n layoutInfo.columnWidthsArray,\n stickyEdgesState,\n setStickyEdgesState\n );\n }\n }, [\n tableId,\n columnsArray,\n layoutInfo.isLayoutRequired,\n layoutInfo.columnWidthsArray,\n isRtl,\n stickyEdgesState\n ]);\n\n // initialize base Table style classes\n const { classes: themeClasses } = useComponentTheme<TableVariantOptions>(TableRedwoodTheme, {\n forceScroll: sizingInfoRef.current.isInitialRender ? 'isForceScroll' : 'notForceScroll',\n verticalScroll: isVerticalScrollRef.current ? 'isVerticalScroll' : 'notVerticalScroll',\n disableWrapping:\n layout === 'contents' && sampledColumnWidthsRef.current === undefined\n ? 'isDisableWrapping'\n : 'notDisableWrapping'\n });\n\n const classes = classNames([themeClasses]);\n const tableClasses = classNames([innerTableStyles.base]);\n const focusTrackerClasses = classNames([focusTrackerStyles.base]);\n\n // aria-rowcount includes header and footer rows\n const hasFooters = columnsArray.some((column: TableColumn<K, D, C>) => {\n return column.value.footerRenderer != null || column.value.footerText != null;\n });\n const ariaRowCount = data == null ? undefined : hasMore ? -1 : data.length + (hasFooters ? 2 : 1);\n\n const startStickyEdge = stickyEdgesState.start;\n const endStickyEdge = stickyEdgesState.end;\n\n const hasVerticalGridlines = gridlines?.vertical === 'visible';\n const hasHorizontalGridlines = gridlines?.horizontal !== 'hidden';\n\n const isRowSelectionEnabled =\n selectionMode?.row === 'single' || selectionMode?.row === 'multiple';\n const isColumnSelectionEnabled =\n selectionMode?.column === 'single' || selectionMode?.column === 'multiple';\n\n const getTableBodyProps = () => {\n return {\n tableId: tableId,\n data: data,\n columnsArray: columnsArray,\n getAccessibleRowHeaders: getAccessibleRowHeaders,\n hasVerticalGridlines: hasVerticalGridlines,\n hasHorizontalGridlines: hasHorizontalGridlines,\n selected: selected,\n isRowSelectionEnabled: isRowSelectionEnabled,\n isSingleRowSelectionEnabled: selectionMode?.row === 'single',\n currentCell: currentCell,\n currentRowVariant: currentRowVariant,\n isShowFocusRing: isShowFocusRing,\n getRowKey: getRowKey,\n hasMore: hasMore,\n onLoadMore: onLoadMore,\n noDataRenderer: noDataRenderer,\n viewportConfig: getViewportConfig(outerTableRef),\n onSelectionChange: onTableSelectionChange,\n startStickyEdge: startStickyEdge,\n endStickyEdge: endStickyEdge,\n isRtl: isRtl\n };\n };\n\n const getTableColGroupProps = () => {\n let columnWidthsArray;\n if (!layoutInfo.isLayoutRequired) {\n columnWidthsArray = layoutInfo.columnWidthsArray;\n } else {\n columnWidthsArray = [];\n for (let i = 0; i < columnsArray.length; i++) {\n columnWidthsArray[i] = undefined;\n }\n }\n return {\n tableId: tableId,\n columnWidthsArray: columnWidthsArray\n };\n };\n\n const getTableHeaderProps = () => {\n return {\n tableId: tableId,\n columnsArray: columnsArray,\n hasVerticalGridlines: hasVerticalGridlines,\n focusedKey: currentCell?.type === 'header' ? currentCell.columnKey : undefined,\n selectedColumnKeys: selected.column,\n selectedRowKeys: selected.row,\n isColumnSelectionEnabled: isColumnSelectionEnabled,\n isRowSelectionEnabled: isRowSelectionEnabled,\n onSelectionChange: onTableSelectionChange,\n sortCriterion: sortCriterion,\n onSortCriterionChange: onSortCriterionChange,\n isShowFocusRing: isShowFocusRing,\n startStickyEdge: startStickyEdge,\n endStickyEdge: endStickyEdge,\n isResizeHover: resizeInfoRef.current.isResizeHover,\n isRtl: isRtl\n };\n };\n\n const getTableFooterProps = () => {\n return {\n tableId: tableId,\n isRendered: hasFooters,\n columnsArray: columnsArray,\n hasVerticalGridlines: hasVerticalGridlines,\n focusedKey: currentCell?.type === 'footer' ? currentCell.columnKey : undefined,\n selectedKeys: selected.column,\n isColumnSelectionEnabled: isColumnSelectionEnabled,\n isShowFocusRing: isShowFocusRing,\n startStickyEdge: startStickyEdge,\n endStickyEdge: endStickyEdge,\n isRtl: isRtl\n };\n };\n\n const getTableDragIndicator = () => {\n if (columnResizingIndicator != null && !layoutInfo.isLayoutRequired) {\n let position = 0;\n for (let i = 0; i < columnsArray.length; i++) {\n position += layoutInfo.columnWidthsArray[i];\n if (columnsArray[i].key === columnResizingIndicator.key) {\n if (columnResizingIndicator.delta != null) {\n position += columnResizingIndicator.delta;\n }\n break;\n }\n }\n return <TableDragIndicator position={position} isRtl={isRtl} />;\n }\n return undefined;\n };\n\n const getTableStyle = () => {\n let widthString = '';\n let heightString = '';\n if (!layoutInfo.isLayoutRequired) {\n let totalWidth = 0;\n for (let i = 0; i < layoutInfo.columnWidthsArray.length; i++) {\n totalWidth += layoutInfo.columnWidthsArray[i];\n }\n widthString = `width: ${totalWidth}px; table-layout: fixed;`;\n } else {\n // shrink table down as much as possible when a 'contents' layout is required, otherwise\n // the sampled column widths will not reflect the true minimum sizes with line-clamping\n widthString = layout !== 'contents' ? 'width: 100%;' : 'width: 1px';\n }\n if (contentHeight != null) {\n heightString = data == null || data.length === 0 ? `min-height: ${contentHeight}px;` : '';\n }\n return `${widthString}${heightString}`;\n };\n\n return (\n <div\n {...testIdProps}\n ref={outerTableRef}\n aria-colcount={columnsArray.length}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-rowcount={ariaRowCount}\n {...(selectionMode?.column === 'multiple' || selectionMode?.row === 'multiple'\n ? { 'aria-multiselectable': true }\n : {})}\n class={classes}\n role={'grid'}\n {...interactionManagerProps}>\n <FocusTracker\n styleClass={focusTrackerClasses}\n isDisabled={!isTabbableMode}\n onFocusStartEdge={onFocusStartEdge}\n onFocusEndEdge={onFocusEndEdge}\n onStartTracking={onStartFocusTracking}>\n <TabbableModeContext.Provider value={{ isTabbable: isTabbableMode }}>\n <table\n class={tableClasses}\n role={'presentation'}\n style={getTableStyle()}\n data-oj-table-inner-table={tableId}>\n <TableColGroup {...getTableColGroupProps()} />\n <TableHeader {...getTableHeaderProps()} />\n <TableBody {...getTableBodyProps()} />\n <TableFooter {...getTableFooterProps()} />\n </table>\n </TabbableModeContext.Provider>\n {getTableDragIndicator()}\n </FocusTracker>\n </div>\n );\n}) as <K extends string | number, D, C extends string>(\n p: Props<K, D, C> & { ref?: ForwardedRef<TableViewHandle<K, C>> }\n) => JSXInternal.Element;\n"],"names":["_jsx","useState","useEffect","classNames","tableSkeletonCellStyles","LOADMORE_STYLE_CLASS","tableSkeletonBarContainerStyles","Skeleton","Text","useComponentTheme","TableCellRedwoodTheme","useId","useTranslationBundle","useInteractionStyle","TableRowRedwoodTheme","Selector","containsKey","memo","isSameKey","tableRowStyles","TableNoDataRedwoodTheme","useRef","collectionStyles","useCallback","LoadMoreCollection","TableHeaderCellRedwoodTheme","SelectorAll","EmbeddedIconButton","SortAscendingIcon","SortDescendingIcon","SortDefaultIcon","tableHeaderCellTextStyles","_jsxs","tableHeaderSortContainerStyles","tableHeaderRowStyles","tableHeaderRowContainerStyles","TableFooterCellRedwoodTheme","tableFooterRowStyles","tableFooterRowContainerStyles","tableDragIndicatorStyles","keyExtractor","findElementByKey","useMemo","getElementContainsFunc","handleEnterActionableMode","allTabbableElements","handleWrapActionableFocus","getActiveElement","getBodyElement","isTabbableElement","addKey","removeKey","getClientHints","getIsSelectionPending","mergeProps","tableStyles","forwardRef","useUser","useTestId","useImperativeHandle","useLayoutEffect","useResizeObserver","TableRedwoodTheme","innerTableStyles","focusTrackerStyles","FocusTracker","TabbableModeContext"],"mappings":"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"}