@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,3501 +0,0 @@
1
- /* @oracle/oraclejet-preact: undefined */
2
- 'use strict';
3
-
4
- var jsxRuntime = require('preact/jsx-runtime');
5
- var hooks = require('preact/hooks');
6
- var compat = require('preact/compat');
7
- var classNames = require('./classNames-c14c6ef3.js');
8
- var useId = require('./useId-6c0eeb27.js');
9
- var TabbableModeContext = require('./TabbableModeContext-e99d527e.js');
10
- var useUser = require('./useUser-a6d15333.js');
11
- var LoadMoreCollection = require('./LoadMoreCollection-73112ff0.js');
12
- var PRIVATE_Table_themes_Table_css = require('./PRIVATE_Table/themes/Table.css.js');
13
- var Skeleton = require('./Skeleton-f0f86df2.js');
14
- var Selector = require('./Selector-cc35dbb1.js');
15
- var keys = require('./keys-a4b54295.js');
16
- var Text = require('./Text-aaacb6a0.js');
17
- var PRIVATE_Table_themes_redwood_TableCellTheme = require('./PRIVATE_Table/themes/redwood/TableCellTheme.js');
18
- var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
19
- var PRIVATE_Table_themes_redwood_TableRowTheme = require('./PRIVATE_Table/themes/redwood/TableRowTheme.js');
20
- var useInteractionStyle = require('./useInteractionStyle-442c6a12.js');
21
- var useTranslationBundle = require('./useTranslationBundle-9da032d6.js');
22
- var PRIVATE_Table_themes_TableRowStyles_css = require('./PRIVATE_Table/themes/TableRowStyles.css.js');
23
- var PRIVATE_Table_themes_redwood_TableNoDataTheme = require('./PRIVATE_Table/themes/redwood/TableNoDataTheme.js');
24
- var SelectorAll = require('./SelectorAll-d8d3cb7b.js');
25
- var PRIVATE_Table_themes_redwood_TableHeaderCellTheme = require('./PRIVATE_Table/themes/redwood/TableHeaderCellTheme.js');
26
- var ChevronUp = require('./ChevronUp-11e9a7d7.js');
27
- var ChevronUpDown = require('./ChevronUpDown-f24ad98d.js');
28
- var ChevronDown = require('./ChevronDown-ec558844.js');
29
- var EmbeddedIconButton = require('./EmbeddedIconButton-cadadca0.js');
30
- var PRIVATE_Table_themes_redwood_TableFooterCellTheme = require('./PRIVATE_Table/themes/redwood/TableFooterCellTheme.js');
31
- var FocusTracker = require('./FocusTracker-9cc329a3.js');
32
- var mergeProps = require('./mergeProps-e3da7237.js');
33
- var collectionUtils = require('./collectionUtils-1535080e.js');
34
- var tabbableUtils = require('./tabbableUtils-b49673af.js');
35
- var clientHints = require('./clientHints-9e411b6e.js');
36
- var textSelectionUtils = require('./textSelectionUtils-432ab66b.js');
37
- var PRIVATE_Table_themes_TableStyles_css = require('./PRIVATE_Table/themes/TableStyles.css.js');
38
- var PRIVATE_Table_themes_redwood_TableTheme = require('./PRIVATE_Table/themes/redwood/TableTheme.js');
39
- var useResizeObserver = require('./useResizeObserver-819b1236.js');
40
- var useTestId = require('./useTestId-8234ec1e.js');
41
-
42
- /**
43
- * The internal component used to render a single colgroup in Table.
44
- */
45
- function TableColGroup({ tableId, columnWidthsArray }) {
46
- const getColStyle = (columnWidth) => {
47
- return columnWidth == null ? '' : `width: ${columnWidth}px;`;
48
- };
49
- return (jsxRuntime.jsx("colgroup", { children: columnWidthsArray.map((columnWidth) => {
50
- return jsxRuntime.jsx("col", { style: getColStyle(columnWidth), "data-oj-table-col": tableId });
51
- }) }));
52
- }
53
-
54
- /**
55
- * Allows to specify the time delay for rendering the component
56
- **/
57
- const _timerValue = 50;
58
- /**
59
- * TableSkeletonRow renders 'minimumCount' number of skeletons
60
- * of the variant specified from its child element - Skeleton's prop after
61
- * 'timerValue' ms delay
62
- **/
63
- function TableSkeletonRow({ colspan, preactKey, minimumCount = 1 }) {
64
- const [isVisible, setIsVisible] = hooks.useState(false);
65
- hooks.useEffect(() => {
66
- setTimeout(() => {
67
- setIsVisible(true);
68
- }, _timerValue);
69
- }, []);
70
- const cellClasses = classNames.classNames([PRIVATE_Table_themes_Table_css.tableSkeletonCellStyles.base]);
71
- return (jsxRuntime.jsx("tr", { class: LoadMoreCollection.LOADMORE_STYLE_CLASS, children: isVisible ? (jsxRuntime.jsx("td", { class: cellClasses, colSpan: colspan, role: "presentation", children: [...Array(minimumCount)].map((_element) => (jsxRuntime.jsx("div", { class: PRIVATE_Table_themes_Table_css.tableSkeletonBarContainerStyles.base, children: jsxRuntime.jsx(Skeleton.Skeleton, { height: "4x" }) }))) })) : null }, preactKey));
72
- }
73
-
74
- function _defaultCellRenderer({ rowData, field }) {
75
- return field != null ? (jsxRuntime.jsx(Text.Text, { truncation: "ellipsis", variant: "primary", size: "md", children: String(rowData[field]) })) : null;
76
- }
77
- /**
78
- * The internal component used to render a single cell in a TableRow.
79
- */
80
- function TableCell({ tableId, rowData, field, columnKey, columnIndex, rowKey, rowIndex, isFinalRowIndex, isFinalColumnIndex, hasVerticalGridlines, hasHorizontalGridlines, isRowSelected, isPreviousRowSelected, isColumnSelected, isPreviousColumnSelected, isShowFocusRing, isRowHeader, stickyColumn = 'none', renderer = _defaultCellRenderer, selectorRenderer, isRowSelectionEnabled, isRowSingleSelection, variant, applyActiveStyle, applyHoverStyle, applyPseudoHoverStyle, isStickyStartEdge, isStickyEndEdge, isRtl }) {
81
- const hasRenderer = renderer !== _defaultCellRenderer;
82
- const { classes: themeClasses } = useComponentTheme.useComponentTheme(PRIVATE_Table_themes_redwood_TableCellTheme.TableCellRedwoodTheme, {
83
- defaultRenderer: !hasRenderer ? 'isDefaultRenderer' : 'notDefaultRenderer',
84
- firstRow: rowIndex === 0 ? 'isFirstRow' : 'notFirstRow',
85
- lastRow: isFinalRowIndex ? 'isLastRow' : 'notLastRow',
86
- firstColumn: columnIndex === 0 ? 'isFirstColumn' : 'notFirstColumn',
87
- lastColumn: isFinalColumnIndex ? 'isLastColumn' : 'notLastColumn',
88
- borderTopSpacer: !(isRowSingleSelection && (isRowSelected || isPreviousRowSelected)) &&
89
- (!hasHorizontalGridlines || rowIndex === 0)
90
- ? 'isBorderTopSpacer'
91
- : 'notBorderTopSpacer',
92
- borderBottomSpacer: isFinalRowIndex && !((isRowSingleSelection && isRowSelected) || hasHorizontalGridlines)
93
- ? 'isBorderBottomSpacer'
94
- : 'notBorderBottomSpacer',
95
- borderStartSpacer: !(isPreviousColumnSelected || isColumnSelected) &&
96
- (!hasVerticalGridlines || columnIndex === 0)
97
- ? 'isBorderStartSpacer'
98
- : 'notBorderStartSpacer',
99
- borderEndSpacer: isFinalColumnIndex && !isColumnSelected ? 'isBorderEndSpacer' : 'notBorderEndSpacer',
100
- verticalGrid: hasVerticalGridlines ? 'isVerticalGrid' : 'notVerticalGrid',
101
- horizontalGrid: hasHorizontalGridlines ? 'isHorizontalGrid' : 'notHorizontalGrid',
102
- rowSingleSelection: isRowSingleSelection ? 'isRowSingleSelection' : 'notRowSingleSelection',
103
- rowSelectable: isRowSelectionEnabled ? 'isRowSelectable' : 'notRowSelectable',
104
- rowSelected: isRowSelected ? 'isRowSelected' : 'notRowSelected',
105
- previousRowSelected: isPreviousRowSelected
106
- ? 'isPreviousRowSelected'
107
- : 'notPreviousRowSelected',
108
- columnSelected: isColumnSelected ? 'isColumnSelected' : 'notColumnSelected',
109
- previousColumnSelected: isPreviousColumnSelected
110
- ? 'isPreviousColumnSelected'
111
- : 'notPreviousColumnSelected',
112
- stickyStartColumn: stickyColumn === 'start' ? 'isStickyStartColumn' : 'notStickyStartColumn',
113
- stickyEndColumn: stickyColumn === 'end' ? 'isStickyEndColumn' : 'notStickyEndColumn',
114
- stickyStartEdge: isStickyStartEdge ? 'isStickyStartEdge' : 'notStickyStartEdge',
115
- stickyEndEdge: isStickyEndEdge ? 'isStickyEndEdge' : 'notStickyEndEdge',
116
- rowHighlight: variant === 'highlight' ? 'isRowHighlight' : 'notRowHighlight',
117
- showFocusRing: isShowFocusRing ? 'isShowFocusRing' : 'notShowFocusRing',
118
- active: applyActiveStyle ? 'isActive' : 'notActive',
119
- hover: applyHoverStyle ? 'isHover' : 'notHover',
120
- pseudoHover: applyPseudoHoverStyle ? 'isPseudoHover' : 'notPseudoHover',
121
- rtl: isRtl ? 'isRtl' : 'notRtl'
122
- });
123
- const cellClasses = classNames.classNames([themeClasses]);
124
- const cellRendererProps = {
125
- rowData: rowData,
126
- rowKey: rowKey,
127
- field: field,
128
- columnKey: columnKey,
129
- selector: selectorRenderer
130
- };
131
- return (jsxRuntime.jsx("td", { "aria-colindex": columnIndex + 1, class: cellClasses, id: useId.useId(), tabIndex: -1, role: isRowHeader ? 'rowheader' : 'gridcell', "data-oj-cell-type": 'data', "data-oj-column-key": columnKey, "data-oj-table-focusable": tableId, "data-oj-table-data-cell": tableId, ...(typeof columnKey === 'number' && { 'data-oj-column-key-type': 'number' }), children: renderer(cellRendererProps) }));
132
- }
133
-
134
- /**
135
- * The internal component used to render a single row in Table.
136
- */
137
- function TableRow({ tableId, rowKey, rowData, rowIndex, isFinalRow, columnsArray, rowHeaderColumnKeys, hasVerticalGridlines, hasHorizontalGridlines, isSelected, isPreviousSelected, isRowSelectionEnabled, isSingleRowSelectionEnabled, selectedRowKeys = { all: false, keys: new Set() }, focusRingColumnKey, selectedColumnKeys = { all: false, keys: new Set() }, variant, onSelectionChange, startStickyEdge, endStickyEdge, isRtl }) {
138
- const translations = useTranslationBundle.useTranslationBundle('@oracle/oraclejet-preact');
139
- const { interactionProps, applyActiveStyle, applyHoverStyle, applyPseudoHoverStyle } = useInteractionStyle.useInteractionStyle();
140
- const { classes: themeClasses } = useComponentTheme.useComponentTheme(PRIVATE_Table_themes_redwood_TableRowTheme.TableRowRedwoodTheme, { lastRow: isFinalRow ? 'isLastRow' : 'notLastRow' });
141
- const classes = classNames.classNames([themeClasses]);
142
- const accessibleRowName = (rowIndex + 2).toString();
143
- const handleRowSelectorChange = (detail) => {
144
- if (onSelectionChange != null) {
145
- onSelectionChange({ value: { row: detail.value, column: selectedColumnKeys }, target: detail.target }, false);
146
- }
147
- };
148
- const selectorRenderer = isRowSelectionEnabled && !isSingleRowSelectionEnabled
149
- ? () => {
150
- // conversion from 0-based index and adding the header row as it is always rendered
151
- return (jsxRuntime.jsx(Selector.Selector, { "aria-label": translations.collection_selectRow({ ROW_NAME: accessibleRowName }), onChange: handleRowSelectorChange, rowKey: rowKey, selectedKeys: selectedRowKeys }));
152
- }
153
- : undefined;
154
- let isPreviousColumnSelected = false;
155
- return (jsxRuntime.jsx("tr", { "aria-rowindex": rowIndex + 1, class: classes, role: 'row', "data-oj-key": rowKey, "data-oj-table-data-row": tableId, ...(isRowSelectionEnabled
156
- ? isSelected
157
- ? { 'aria-selected': true }
158
- : { 'aria-selected': false }
159
- : {}), ...(typeof rowKey === 'number' && { 'data-oj-key-type': 'number' }), ...(isRowSelectionEnabled && interactionProps), children: columnsArray.map((column, columnIndex) => {
160
- const columnKey = column.key;
161
- const isColumnSelected = keys.containsKey(selectedColumnKeys, columnKey);
162
- const cellProps = {
163
- tableId: tableId,
164
- rowData: rowData,
165
- field: column.value.field,
166
- stickyColumn: column.value.stickyEdge,
167
- columnKey: columnKey,
168
- columnIndex: columnIndex,
169
- rowKey: rowKey,
170
- rowIndex: rowIndex,
171
- isFinalRowIndex: isFinalRow,
172
- isFinalColumnIndex: columnIndex === columnsArray.length - 1,
173
- hasVerticalGridlines: hasVerticalGridlines,
174
- hasHorizontalGridlines: hasHorizontalGridlines,
175
- isRowSelected: isSelected,
176
- isPreviousRowSelected: isPreviousSelected,
177
- isColumnSelected: isColumnSelected,
178
- isPreviousColumnSelected: isPreviousColumnSelected,
179
- isShowFocusRing: column.key === focusRingColumnKey,
180
- isRowHeader: rowHeaderColumnKeys.has(column.key),
181
- renderer: column.value.renderer,
182
- selectorRenderer: selectorRenderer,
183
- isRowSelectionEnabled: isRowSelectionEnabled,
184
- variant: variant,
185
- isRowSingleSelection: isSingleRowSelectionEnabled,
186
- applyActiveStyle: applyActiveStyle,
187
- applyHoverStyle: applyHoverStyle,
188
- applyPseudoHoverStyle: applyPseudoHoverStyle,
189
- isStickyStartEdge: columnIndex === startStickyEdge,
190
- isStickyEndEdge: columnIndex === endStickyEdge,
191
- isRtl: isRtl
192
- };
193
- isPreviousColumnSelected = isColumnSelected;
194
- return jsxRuntime.jsx(TableCell, { ...cellProps });
195
- }) }));
196
- }
197
- const _areStringSetsEquivalent = (set1, set2) => {
198
- if (set1 == null) {
199
- return set2 == null;
200
- }
201
- if (set2 == null) {
202
- return false;
203
- }
204
- return set1.size === set2.size && [...set1].every((x) => set2.has(x));
205
- };
206
- const _areColumnsArraysEquivalent = (columnsArray1, columnsArray2) => {
207
- if (columnsArray1.length === columnsArray2.length) {
208
- for (let i = 0; i < columnsArray1.length; i++) {
209
- if (columnsArray1[i].key !== columnsArray2[i].key ||
210
- columnsArray1[i].value !== columnsArray2[i].value) {
211
- return false;
212
- }
213
- }
214
- return true;
215
- }
216
- return false;
217
- };
218
- const MemoizeTableRow = compat.memo(TableRow, (prev, next) => {
219
- if (prev && next) {
220
- return (prev.tableId === next.tableId &&
221
- prev.rowKey === next.rowKey &&
222
- prev.rowData === next.rowData &&
223
- prev.rowIndex === next.rowIndex &&
224
- prev.isFinalRow === next.isFinalRow &&
225
- _areColumnsArraysEquivalent(prev.columnsArray, next.columnsArray) &&
226
- prev.horizontalGridlines === next.horizontalGridlines &&
227
- prev.verticalGridlines === next.verticalGridlines &&
228
- _areStringSetsEquivalent(prev.rowHeaderColumnKeys, next.rowHeaderColumnKeys) &&
229
- prev.isSelected === next.isSelected &&
230
- prev.isPreviousSelected === next.isPreviousSelected &&
231
- prev.isRowSelectionEnabled === next.isRowSelectionEnabled &&
232
- prev.isSingleRowSelectionEnabled === next.isSingleRowSelectionEnabled &&
233
- (prev.isRowSelectionEnabled && !prev.isSingleRowSelectionEnabled
234
- ? keys.isSameKey(prev.selectedRowKeys, next.selectedRowKeys)
235
- : true) &&
236
- keys.isSameKey(prev.selectedColumnKeys, next.selectedColumnKeys) &&
237
- prev.focusRingColumnKey === next.focusRingColumnKey &&
238
- prev.variant === next.variant &&
239
- prev.onSelectionChange === next.onSelectionChange &&
240
- prev.startStickyEdge === next.startStickyEdge &&
241
- prev.endStickyEdge === next.endStickyEdge &&
242
- prev.isRtl === next.isRtl);
243
- }
244
- return false;
245
- });
246
-
247
- /**
248
- * The internal component used to render a single cell in a TableRow.
249
- */
250
- function TableNoData({ tableId, columnsCount, isShowFocusRing, renderer }) {
251
- const translations = useTranslationBundle.useTranslationBundle('@oracle/oraclejet-preact');
252
- const rowClasses = classNames.classNames([PRIVATE_Table_themes_TableRowStyles_css.tableRowStyles.base]);
253
- const { classes: themeClasses } = useComponentTheme.useComponentTheme(PRIVATE_Table_themes_redwood_TableNoDataTheme.TableNoDataRedwoodTheme, {
254
- defaultRenderer: renderer == null ? 'isDefaultRenderer' : 'notDefaultRenderer',
255
- showFocusRing: isShowFocusRing ? 'isShowFocusRing' : 'notShowFocusRing'
256
- });
257
- const cellClasses = classNames.classNames([themeClasses]);
258
- function defaultContentRenderer() {
259
- return (jsxRuntime.jsx(Text.Text, { truncation: "ellipsis", variant: "primary", size: "md", children: translations.collection_noData() }));
260
- }
261
- const contentRenderer = renderer != null ? renderer : defaultContentRenderer;
262
- return (jsxRuntime.jsx("tr", { "aria-rowindex": 2, class: rowClasses, role: 'row', children: jsxRuntime.jsx("td", { "aria-colindex": 1, class: cellClasses, id: useId.useId(), tabIndex: -1, role: 'gridcell', colSpan: columnsCount, "data-oj-cell-type": 'noData', "data-oj-table-focusable": tableId, "data-oj-table-nodata-cell": tableId, children: contentRenderer() }) }));
263
- }
264
-
265
- /**
266
- * The internal component used to render a single cell in a TableRow.
267
- */
268
- function TableBody({ tableId, getAccessibleRowHeaders, data, columnsArray, hasVerticalGridlines, hasHorizontalGridlines, isShowFocusRing, getRowKey, hasMore, onLoadMore, viewportConfig, currentCell, currentRowVariant, selected, isRowSelectionEnabled, isSingleRowSelectionEnabled, onSelectionChange, noDataRenderer, startStickyEdge, endStickyEdge, isRtl }) {
269
- // track the empty loading state and generate a new key when it changes to avoid
270
- // issues with skeleton animations becoming out of sync when more are added
271
- const loadIndicatorKeyRef = hooks.useRef(new Date().getTime());
272
- const isShowEmptyLoadingRef = hooks.useRef();
273
- const collectionClasses = classNames.classNames([PRIVATE_Table_themes_Table_css.collectionStyles.base]);
274
- // returns a TableRowContext based on ItemContext (added key)
275
- const getRowContext = hooks.useCallback((context) => {
276
- return {
277
- index: context.index,
278
- data: context.data.data,
279
- key: getRowKey(context.data.data)
280
- };
281
- }, [getRowKey]);
282
- let isPreviousSelected = false;
283
- const collectionChildrenFunc = (context) => {
284
- const tableRowContext = getRowContext(context);
285
- const rowKey = tableRowContext.key;
286
- const containsCurrentCell = currentCell?.rowKey === rowKey;
287
- const focusRingColumnKey = containsCurrentCell && isShowFocusRing ? currentCell.columnKey : undefined;
288
- const isSelected = keys.containsKey(selected.row, rowKey);
289
- const rowProps = {
290
- tableId: tableId,
291
- columnsArray: columnsArray,
292
- rowHeaderColumnKeys: getAccessibleRowHeaders(tableRowContext),
293
- hasVerticalGridlines: hasVerticalGridlines,
294
- hasHorizontalGridlines: hasHorizontalGridlines,
295
- isSelected: isSelected,
296
- isPreviousSelected: isPreviousSelected,
297
- onSelectionChange: onSelectionChange,
298
- isRowSelectionEnabled: isRowSelectionEnabled,
299
- isSingleRowSelectionEnabled: isSingleRowSelectionEnabled,
300
- variant: containsCurrentCell ? currentRowVariant : 'none',
301
- focusRingColumnKey: focusRingColumnKey,
302
- selectedRowKeys: selected.row,
303
- selectedColumnKeys: selected.column,
304
- rowIndex: tableRowContext.index,
305
- rowKey: rowKey,
306
- rowData: tableRowContext.data,
307
- isFinalRow: tableRowContext.index === (data != null ? data.length - 1 : -1),
308
- startStickyEdge: startStickyEdge,
309
- endStickyEdge: endStickyEdge,
310
- isRtl: isRtl
311
- };
312
- isPreviousSelected = isSelected;
313
- return jsxRuntime.jsx(MemoizeTableRow, { ...rowProps });
314
- };
315
- const getNoDataProps = () => {
316
- return {
317
- tableId: tableId,
318
- columnsCount: columnsArray.length,
319
- isShowFocusRing: isShowFocusRing && currentCell?.type === 'noData',
320
- renderer: noDataRenderer
321
- };
322
- };
323
- const collectionData = data != null
324
- ? data.map((d) => {
325
- const key = getRowKey(d);
326
- return { data: d, metadata: key };
327
- })
328
- : [];
329
- const isShowEmptyLoading = data != null && data.length === 0 && hasMore;
330
- const isShowNoData = data == null || (data.length === 0 && !hasMore);
331
- const prevIsEmpty = isShowEmptyLoadingRef.current;
332
- if (prevIsEmpty !== isShowEmptyLoading) {
333
- loadIndicatorKeyRef.current = new Date().getTime();
334
- }
335
- isShowEmptyLoadingRef.current = isShowEmptyLoading;
336
- return (jsxRuntime.jsx("tbody", { class: collectionClasses, children: isShowNoData ? (jsxRuntime.jsx(TableNoData, { ...getNoDataProps() })) : (jsxRuntime.jsx(LoadMoreCollection.LoadMoreCollection, { data: collectionData, loadMoreIndicator: jsxRuntime.jsx(TableSkeletonRow, { colspan: columnsArray.length, preactKey: loadIndicatorKeyRef.current, minimumCount: isShowEmptyLoading ? 25 : 3 }), hasMore: hasMore, onLoadMore: onLoadMore, viewportConfig: viewportConfig, children: collectionChildrenFunc })) }));
337
- }
338
-
339
- /**
340
- * The internal component used to render a single cell in a TableHeaderRow.
341
- */
342
- function TableHeaderCell({ tableId, columnKey, columnIndex, isFinalColumnIndex, hasVerticalGridlines, isSelected, isPreviousSelected, isColumnSelectable, isRowSelectionEnabled, selectedColumnKeys = { all: false, keys: new Set() }, selectedRowKeys = { all: false, keys: new Set() }, isShowFocusRing, headerText, stickyColumn = 'none', renderer, onSelectionChange, sortable = 'disabled', sortDirection, onSortCriterionChange, isStickyStartEdge, isStickyEndEdge, isRtl }) {
343
- const translations = useTranslationBundle.useTranslationBundle('@oracle/oraclejet-preact');
344
- const { interactionProps, applyActiveStyle, applyHoverStyle, applyPseudoHoverStyle } = useInteractionStyle.useInteractionStyle();
345
- const hasRenderer = renderer != null;
346
- const { classes: themeClasses } = useComponentTheme.useComponentTheme(PRIVATE_Table_themes_redwood_TableHeaderCellTheme.TableHeaderCellRedwoodTheme, {
347
- defaultRenderer: !hasRenderer ? 'isDefaultRenderer' : 'notDefaultRenderer',
348
- firstColumn: columnIndex === 0 ? 'isFirstColumn' : 'notFirstColumn',
349
- lastColumn: isFinalColumnIndex ? 'isLastColumn' : 'notLastColumn',
350
- borderStartSpacer: !(isPreviousSelected || isSelected) && (!hasVerticalGridlines || columnIndex === 0)
351
- ? 'isBorderStartSpacer'
352
- : 'notBorderStartSpacer',
353
- borderEndSpacer: isFinalColumnIndex && !isSelected ? 'isBorderEndSpacer' : 'notBorderEndSpacer',
354
- verticalGrid: hasVerticalGridlines ? 'isVerticalGrid' : 'notVerticalGrid',
355
- columnSelectable: isColumnSelectable ? 'isColumnSelectable' : 'notColumnSelectable',
356
- columnSelected: isSelected ? 'isColumnSelected' : 'notColumnSelected',
357
- previousColumnSelected: isPreviousSelected
358
- ? 'isPreviousColumnSelected'
359
- : 'notPreviousColumnSelected',
360
- stickyStartColumn: stickyColumn === 'start' ? 'isStickyStartColumn' : 'notStickyStartColumn',
361
- stickyEndColumn: stickyColumn === 'end' ? 'isStickyEndColumn' : 'notStickyEndColumn',
362
- stickyStartEdge: isStickyStartEdge ? 'isStickyStartEdge' : 'notStickyStartEdge',
363
- stickyEndEdge: isStickyEndEdge ? 'isStickyEndEdge' : 'notStickyEndEdge',
364
- showFocusRing: isShowFocusRing ? 'isShowFocusRing' : 'notShowFocusRing',
365
- active: applyActiveStyle ? 'isActive' : 'notActive',
366
- hover: applyHoverStyle ? 'isHover' : 'notHover',
367
- pseudoHover: applyPseudoHoverStyle ? 'isPseudoHover' : 'notPseudoHover',
368
- rtl: isRtl ? 'isRtl' : 'notRtl'
369
- });
370
- const cellClasses = classNames.classNames([themeClasses]);
371
- let selectorAllState;
372
- if (keys.isSameKey(selectedRowKeys, { all: true, deletedKeys: new Set() })) {
373
- selectorAllState = 'all';
374
- }
375
- else if (keys.isSameKey(selectedRowKeys, { all: false, keys: new Set() })) {
376
- selectorAllState = 'none';
377
- }
378
- else {
379
- selectorAllState = 'partial';
380
- }
381
- const handleSelectorChange = (detail) => {
382
- if (onSelectionChange != null) {
383
- onSelectionChange({ value: { row: detail.value, column: selectedColumnKeys }, target: detail.target }, false);
384
- }
385
- };
386
- const selectorRenderer = isRowSelectionEnabled
387
- ? () => (jsxRuntime.jsx(SelectorAll.SelectorAll, { "aria-label": translations.collection_selectAllRows(), onChange: handleSelectorChange, selected: selectorAllState }))
388
- : undefined;
389
- const sortIconRenderer = sortable === 'enabled' || sortDirection != null
390
- ? () => (jsxRuntime.jsx(EmbeddedIconButton.EmbeddedIconButton, { "aria-label": sortable === 'enabled'
391
- ? translations.collection_sortEnabled()
392
- : translations.collection_sortDisabled(), isDisabled: sortable !== 'enabled', onAction: handleSortGesture, children: sortDirection === 'ascending' ? (jsxRuntime.jsx(ChevronUp.SvgChevronUp, {})) : sortDirection === 'descending' ? (jsxRuntime.jsx(ChevronDown.SvgChevronDown, {})) : (jsxRuntime.jsx(ChevronUpDown.SvgChevronUpDown, {})) }))
393
- : undefined;
394
- const headerCellRendererProps = {
395
- key: columnKey,
396
- headerText: headerText,
397
- sortable: sortable,
398
- sortDirection: sortDirection,
399
- selector: selectorRenderer,
400
- sortControl: sortIconRenderer
401
- };
402
- const handleSortGesture = hooks.useCallback(() => {
403
- if (onSortCriterionChange != null) {
404
- const newDirection = sortDirection === 'ascending' ? 'descending' : 'ascending';
405
- onSortCriterionChange([{ key: columnKey, sortDirection: newDirection }]);
406
- }
407
- }, [columnKey, sortDirection, onSortCriterionChange]);
408
- const getHeaderCellRenderer = hooks.useCallback(() => {
409
- if (renderer != null) {
410
- return renderer;
411
- }
412
- return ({ headerText, sortControl }) => {
413
- const text = headerText != null ? (jsxRuntime.jsx("div", { class: PRIVATE_Table_themes_Table_css.tableHeaderCellTextStyles.base, children: jsxRuntime.jsx(Text.Text, { overflowWrap: "normal", lineClamp: 2, variant: "primary", size: "md", children: headerText }) })) : null;
414
- if (sortControl != null) {
415
- return (jsxRuntime.jsxs("div", { class: PRIVATE_Table_themes_Table_css.tableHeaderSortContainerStyles.base, children: [text, sortControl()] }));
416
- }
417
- return text;
418
- };
419
- }, [renderer]);
420
- const getAriaSelected = () => {
421
- if (isSelected) {
422
- return { 'aria-selected': true };
423
- }
424
- return isColumnSelectable ? { 'aria-selected': false } : undefined;
425
- };
426
- const getAriaSort = () => {
427
- if (sortDirection === 'ascending' || sortDirection === 'descending') {
428
- return { 'aria-sort': sortDirection };
429
- }
430
- return undefined;
431
- };
432
- return (jsxRuntime.jsx("th", { "aria-colindex": columnIndex + 1, ...getAriaSelected(), ...getAriaSort(), class: cellClasses, id: useId.useId(), tabIndex: -1, role: 'columnheader', "data-oj-cell-type": 'header', "data-oj-column-key": columnKey, "data-oj-table-focusable": tableId, "data-oj-table-header-cell": tableId, ...(typeof columnKey === 'number' && { 'data-oj-column-key-type': 'number' }), ...(isColumnSelectable && interactionProps), children: getHeaderCellRenderer()(headerCellRendererProps) }));
433
- }
434
-
435
- /**
436
- * The internal component used to render a header region in Table.
437
- */
438
- function TableHeader({ tableId, columnsArray, hasVerticalGridlines, focusedKey, isShowFocusRing, selectedColumnKeys, selectedRowKeys, isColumnSelectionEnabled, isRowSelectionEnabled, onSelectionChange, sortCriterion, onSortCriterionChange, startStickyEdge, endStickyEdge, isResizeHover, isRtl }) {
439
- const rowClasses = classNames.classNames([PRIVATE_Table_themes_Table_css.tableHeaderRowStyles.base]);
440
- const containerClasses = classNames.classNames([PRIVATE_Table_themes_Table_css.tableHeaderRowContainerStyles.base]);
441
- const getStyle = () => {
442
- return isResizeHover ? 'cursor: col-resize;' : '';
443
- };
444
- let isPreviousSelected = false;
445
- return (jsxRuntime.jsx("thead", { class: containerClasses, children: jsxRuntime.jsx("tr", { class: rowClasses, role: 'row', style: getStyle(), "data-oj-table-header-row": tableId, children: columnsArray.map((column, columnIndex) => {
446
- const columnKey = column.key;
447
- let sortDirection;
448
- if (sortCriterion != null) {
449
- for (const criterion of sortCriterion) {
450
- if (criterion.key === columnKey) {
451
- sortDirection = criterion.sortDirection;
452
- break;
453
- }
454
- }
455
- }
456
- const isSelected = keys.containsKey(selectedColumnKeys, columnKey);
457
- const headerCellProps = {
458
- tableId: tableId,
459
- hasVerticalGridlines: hasVerticalGridlines,
460
- columnKey: columnKey,
461
- columnIndex: columnIndex,
462
- isFinalColumnIndex: columnIndex === columnsArray.length - 1,
463
- stickyColumn: column.value.stickyEdge,
464
- isSelected: isSelected,
465
- isPreviousSelected: isPreviousSelected,
466
- selectedColumnKeys: selectedColumnKeys,
467
- selectedRowKeys: selectedRowKeys,
468
- isColumnSelectable: isColumnSelectionEnabled && column.value.selectable !== 'disabled',
469
- isRowSelectionEnabled: isRowSelectionEnabled,
470
- isShowFocusRing: isShowFocusRing && columnKey === focusedKey,
471
- headerText: column.value.headerText,
472
- renderer: column.value.headerRenderer,
473
- onSelectionChange: onSelectionChange,
474
- sortable: column.value.sortable,
475
- sortDirection: sortDirection,
476
- onSortCriterionChange: onSortCriterionChange,
477
- isStickyStartEdge: columnIndex === startStickyEdge,
478
- isStickyEndEdge: columnIndex === endStickyEdge,
479
- isRtl: isRtl
480
- };
481
- isPreviousSelected = isSelected;
482
- return jsxRuntime.jsx(TableHeaderCell, { ...headerCellProps });
483
- }) }) }));
484
- }
485
-
486
- function _defaultFooterCellRenderer({ footerText }) {
487
- return footerText != null ? (jsxRuntime.jsx(Text.Text, { truncation: "ellipsis", variant: "primary", size: "md", children: footerText })) : null;
488
- }
489
- /**
490
- * The internal component used to render a single cell in a TableFooterRow.
491
- */
492
- function TableFooterCell({ tableId, columnKey, columnIndex, isFinalColumnIndex, hasVerticalGridlines, isSelected, isPreviousSelected, isColumnSelectable, isShowFocusRing, stickyColumn = 'none', footerText, renderer = _defaultFooterCellRenderer, isStickyStartEdge, isStickyEndEdge, isRtl }) {
493
- const { interactionProps, applyActiveStyle, applyHoverStyle, applyPseudoHoverStyle } = useInteractionStyle.useInteractionStyle();
494
- const hasRenderer = renderer !== _defaultFooterCellRenderer;
495
- const { classes: themeClasses } = useComponentTheme.useComponentTheme(PRIVATE_Table_themes_redwood_TableFooterCellTheme.TableFooterCellRedwoodTheme, {
496
- defaultRenderer: !hasRenderer ? 'isDefaultRenderer' : 'notDefaultRenderer',
497
- firstColumn: columnIndex === 0 ? 'isFirstColumn' : 'notFirstColumn',
498
- lastColumn: isFinalColumnIndex ? 'isLastColumn' : 'notLastColumn',
499
- borderStartSpacer: !(isPreviousSelected || isSelected) && (!hasVerticalGridlines || columnIndex === 0)
500
- ? 'isBorderStartSpacer'
501
- : 'notBorderStartSpacer',
502
- borderEndSpacer: isFinalColumnIndex && !isSelected ? 'isBorderEndSpacer' : 'notBorderEndSpacer',
503
- verticalGrid: hasVerticalGridlines ? 'isVerticalGrid' : 'notVerticalGrid',
504
- columnSelectable: isColumnSelectable ? 'isColumnSelectable' : 'notColumnSelectable',
505
- columnSelected: isSelected ? 'isColumnSelected' : 'notColumnSelected',
506
- previousColumnSelected: isPreviousSelected
507
- ? 'isPreviousColumnSelected'
508
- : 'notPreviousColumnSelected',
509
- stickyStartColumn: stickyColumn === 'start' ? 'isStickyStartColumn' : 'notStickyStartColumn',
510
- stickyEndColumn: stickyColumn === 'end' ? 'isStickyEndColumn' : 'notStickyEndColumn',
511
- stickyStartEdge: isStickyStartEdge ? 'isStickyStartEdge' : 'notStickyStartEdge',
512
- stickyEndEdge: isStickyEndEdge ? 'isStickyEndEdge' : 'notStickyEndEdge',
513
- showFocusRing: isShowFocusRing ? 'isShowFocusRing' : 'notShowFocusRing',
514
- active: applyActiveStyle ? 'isActive' : 'notActive',
515
- hover: applyHoverStyle ? 'isHover' : 'notHover',
516
- pseudoHover: applyPseudoHoverStyle ? 'isPseudoHover' : 'notPseudoHover',
517
- rtl: isRtl ? 'isRtl' : 'notRtl'
518
- });
519
- const cellClasses = classNames.classNames([themeClasses]);
520
- const footerCellRendererProps = { key: columnKey, footerText: footerText };
521
- return (jsxRuntime.jsx("td", { "aria-colindex": columnIndex + 1, ...(isSelected
522
- ? { 'aria-selected': true }
523
- : isColumnSelectable
524
- ? { 'aria-selected': false }
525
- : {}), class: cellClasses, id: useId.useId(), tabIndex: -1, role: 'gridcell', "data-oj-cell-type": 'footer', "data-oj-column-key": columnKey, "data-oj-table-focusable": tableId, "data-oj-table-footer-cell": tableId, ...(typeof columnKey === 'number' && { 'data-oj-column-key-type': 'number' }), ...(isColumnSelectable && interactionProps), children: renderer(footerCellRendererProps) }));
526
- }
527
-
528
- /**
529
- * The internal component used to render a footer region in Table.
530
- */
531
- function TableFooter({ tableId, isRendered, columnsArray, hasVerticalGridlines, focusedKey, isShowFocusRing, selectedKeys, isColumnSelectionEnabled, startStickyEdge, endStickyEdge, isRtl }) {
532
- const rowClasses = classNames.classNames([PRIVATE_Table_themes_Table_css.tableFooterRowStyles.base]);
533
- const containerClasses = classNames.classNames([PRIVATE_Table_themes_Table_css.tableFooterRowContainerStyles.base]);
534
- let isPreviousSelected = false;
535
- return isRendered ? (jsxRuntime.jsx("tfoot", { class: containerClasses, children: jsxRuntime.jsx("tr", { class: rowClasses, role: 'row', "data-oj-table-footer-row": tableId, children: columnsArray.map((column, columnIndex) => {
536
- const columnKey = column.key;
537
- const isSelected = keys.containsKey(selectedKeys, columnKey);
538
- const footerCellProps = {
539
- tableId: tableId,
540
- columnKey: columnKey,
541
- columnIndex: columnIndex,
542
- isFinalColumnIndex: columnIndex === columnsArray.length - 1,
543
- hasVerticalGridlines: hasVerticalGridlines,
544
- stickyColumn: column.value.stickyEdge,
545
- isSelected: isSelected,
546
- isPreviousSelected: isPreviousSelected,
547
- isColumnSelectable: isColumnSelectionEnabled && column.value.selectable !== 'disabled',
548
- isShowFocusRing: isShowFocusRing && columnKey === focusedKey,
549
- footerText: column.value.footerText,
550
- renderer: column.value.footerRenderer,
551
- isStickyStartEdge: columnIndex === startStickyEdge,
552
- isStickyEndEdge: columnIndex === endStickyEdge,
553
- isRtl: isRtl
554
- };
555
- isPreviousSelected = isSelected;
556
- return jsxRuntime.jsx(TableFooterCell, { ...footerCellProps });
557
- }) }) })) : null;
558
- }
559
-
560
- /**
561
- * The internal component used to render a drag indicator line in the Table.
562
- */
563
- function TableDragIndicator({ position, isRtl }) {
564
- const tableDragIndicatorClasses = classNames.classNames([PRIVATE_Table_themes_Table_css.tableDragIndicatorStyles.base]);
565
- const getDragIndicatorStyle = () => {
566
- if (position != null) {
567
- return isRtl
568
- ? `right:${position}px;cursor:col-resize;`
569
- : `left:${position}px;cursor:col-resize;`;
570
- }
571
- return `display:none;`;
572
- };
573
- return jsxRuntime.jsx("div", { class: tableDragIndicatorClasses, style: getDragIndicatorStyle() });
574
- }
575
-
576
- /**
577
- * @license
578
- * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
579
- * The Universal Permissive License (UPL), Version 1.0
580
- * as shown at https://oss.oracle.com/licenses/upl/
581
- * @ignore
582
- */
583
- /**
584
- * Returns the cell type for the given cell element
585
- */
586
- const getCellType = (element) => {
587
- return element.dataset['ojCellType'];
588
- };
589
- /**
590
- * Returns the row key for the given row element
591
- */
592
- const getRowKey = (element) => {
593
- return element.dataset['ojKeyType'] === 'number'
594
- ? Number(element.dataset['ojKey'])
595
- : element.dataset['ojKey'];
596
- };
597
- /**
598
- * Returns the key for the row at the given index
599
- */
600
- const getRowKeyForRowIndex = (root, tableId, index) => {
601
- if (root != null) {
602
- const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);
603
- if (rowElements.length > index) {
604
- return getRowKey(rowElements[index]);
605
- }
606
- }
607
- return null;
608
- };
609
- /**
610
- * Returns the index of the given row element
611
- */
612
- const getRowIndexForRowElement = (root, tableId, rowElement) => {
613
- if (root != null) {
614
- const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);
615
- const index = Array.prototype.indexOf.call(rowElements, rowElement);
616
- if (index > -1) {
617
- return index;
618
- }
619
- }
620
- return null;
621
- };
622
- /**
623
- * Returns the index of the row for the given key.
624
- */
625
- function getRowIndexForRowKey(root, tableId, rowKey) {
626
- if (root != null) {
627
- const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);
628
- for (let i = 0; i < rowElements.length; i++) {
629
- if (rowKey === getRowKey(rowElements[i])) {
630
- return i;
631
- }
632
- }
633
- }
634
- return null;
635
- }
636
- /**
637
- * Returns the column key for the given cell element
638
- */
639
- const getColumnKey = (element) => {
640
- return element.dataset['ojColumnKeyType'] === 'number'
641
- ? Number(element.dataset['ojColumnKey'])
642
- : element.dataset['ojColumnKey'];
643
- };
644
- /**
645
- * Returns the index of the given column header element or footer element
646
- */
647
- const getColumnIndexForHeaderFooterElement = (root, tableId, cellElement, isHeader) => {
648
- if (root != null) {
649
- const columnElements = root.querySelectorAll(isHeader
650
- ? `[data-oj-table-header-cell='${tableId}']`
651
- : `[data-oj-table-footer-cell='${tableId}']`);
652
- const index = Array.prototype.indexOf.call(columnElements, cellElement);
653
- if (index > -1) {
654
- return index;
655
- }
656
- }
657
- return null;
658
- };
659
- /**
660
- * Helper method to get the cell key definition from an element
661
- */
662
- function logicalCellExtractor(element, tableId, cellSelector, onlyAncestors) {
663
- const startingElement = onlyAncestors ? element.parentElement : element;
664
- if (startingElement != null) {
665
- const cellElement = startingElement.closest(cellSelector);
666
- if (cellElement != null) {
667
- const cellType = getCellType(cellElement);
668
- if (cellType === 'data') {
669
- return {
670
- rowKey: collectionUtils.keyExtractor(cellElement, `[data-oj-table-data-row='${tableId}']`),
671
- columnKey: getColumnKey(cellElement),
672
- type: cellType
673
- };
674
- }
675
- else if (cellType === 'header' || cellType === 'footer') {
676
- return {
677
- columnKey: getColumnKey(cellElement),
678
- type: cellType
679
- };
680
- }
681
- else if (cellType === 'noData') {
682
- return {
683
- type: cellType
684
- };
685
- }
686
- }
687
- }
688
- return null;
689
- }
690
- /**
691
- * Helper method to get an element from a cell descriptor
692
- */
693
- function getElementFromCell(root, tableId, cell) {
694
- if (cell.type === 'header') {
695
- // header case
696
- const headerElements = root.querySelectorAll(`[data-oj-table-header-cell='${tableId}']`);
697
- for (const headerElement of headerElements) {
698
- if (cell.columnKey === getColumnKey(headerElement)) {
699
- return headerElement;
700
- }
701
- }
702
- }
703
- else if (cell.type === 'footer') {
704
- // footer case
705
- const footerElements = root.querySelectorAll(`[data-oj-table-footer-cell='${tableId}']`);
706
- for (const footerElement of footerElements) {
707
- if (cell.columnKey === getColumnKey(footerElement)) {
708
- return footerElement;
709
- }
710
- }
711
- }
712
- else if (cell.type === 'data') {
713
- // data body case
714
- const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);
715
- for (const rowElement of rowElements) {
716
- if (cell.rowKey === getRowKey(rowElement)) {
717
- const cellElements = rowElement.querySelectorAll(`[data-oj-table-focusable='${tableId}']`);
718
- for (const cellElement of cellElements) {
719
- if (cell.columnKey === getColumnKey(cellElement)) {
720
- return cellElement;
721
- }
722
- }
723
- }
724
- }
725
- }
726
- else if (cell.type === 'noData') {
727
- // no data case
728
- return root.querySelector(`[data-oj-table-nodata-cell='${tableId}']`);
729
- }
730
- return null;
731
- }
732
- /**
733
- * Helper method to get the top scroller offset of the Table
734
- */
735
- const getScrollerTopOffset = (root, tableId) => {
736
- const headerRowElement = root.querySelector(`[data-oj-table-header-row='${tableId}']`);
737
- return headerRowElement != null ? headerRowElement.getBoundingClientRect().height : 0;
738
- };
739
- /**
740
- * Helper method to get the bottom scroller offset of the Table
741
- */
742
- const getScrollerBottomOffset = (root, tableId) => {
743
- const footerRowElement = root.querySelector(`[data-oj-table-footer-row='${tableId}']`);
744
- return footerRowElement != null ? footerRowElement.getBoundingClientRect().height : 0;
745
- };
746
- /**
747
- * Returns the key of the first focusable row in the Table
748
- */
749
- const getFirstFocusableRowKey = (root, tableId) => {
750
- if (root != null) {
751
- const firstRowElement = root.querySelector(`[data-oj-table-data-row='${tableId}']`);
752
- if (firstRowElement != null) {
753
- return getRowKey(firstRowElement);
754
- }
755
- }
756
- return null;
757
- };
758
- /**
759
- * Returns the key of the last focusable row in the Table
760
- */
761
- const getLastFocusableRowKey = (root, tableId) => {
762
- const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);
763
- const rowCount = rowElements.length;
764
- if (rowCount > 0) {
765
- return getRowKey(rowElements[rowCount - 1]);
766
- }
767
- return null;
768
- };
769
- /**
770
- * Returns the cell definition of the first rendered cell in the Table
771
- */
772
- const getFirstFocusableCell = (root, tableId) => {
773
- if (root != null) {
774
- const firstCellElement = root.querySelector(`[data-oj-table-focusable='${tableId}']`);
775
- if (firstCellElement != null) {
776
- const firstCellType = getCellType(firstCellElement);
777
- if (firstCellType === 'header' || firstCellType === 'footer') {
778
- return { columnKey: getColumnKey(firstCellElement), type: firstCellType };
779
- }
780
- else if (firstCellType === 'noData') {
781
- return { type: 'noData' };
782
- }
783
- return {
784
- rowKey: getRowKey(firstCellElement),
785
- columnKey: getColumnKey(firstCellElement),
786
- type: 'data'
787
- };
788
- }
789
- }
790
- return null;
791
- };
792
- /**
793
- * Helper method to determine if the no data cell is present in the Table
794
- */
795
- const hasNoDataCell = (root, tableId) => {
796
- if (root != null) {
797
- return root.querySelectorAll(`[data-oj-table-nodata-cell='${tableId}']`).length > 0;
798
- }
799
- return false;
800
- };
801
- /**
802
- * Helper method to determine if footer cells are present in the Table
803
- */
804
- const hasFooterCells = (root, tableId) => {
805
- if (root != null) {
806
- return root.querySelectorAll(`[data-oj-table-footer-row='${tableId}']`).length > 0;
807
- }
808
- return false;
809
- };
810
-
811
- /**
812
- * A helper function to make sure specified elem is visible in the specified container
813
- */
814
- function _scrollColumnIntoView(columnElement, scrollerElement, columnsArray, scrollbarWidth, isRtl, fullColumnWidths, location) {
815
- const columnKey = getColumnKey(columnElement);
816
- let columnIndex;
817
- for (let i = 0; i < columnsArray.length; i++) {
818
- if (columnsArray[i].key === columnKey) {
819
- columnIndex = i;
820
- break;
821
- }
822
- }
823
- if (columnIndex != null && fullColumnWidths != null) {
824
- let startOffset = 0;
825
- let endOffset = 0;
826
- const stickyStartColumns = getStickyColumnIndicies(columnsArray, true);
827
- for (let i = 0; i < stickyStartColumns.length; i++) {
828
- const stickyIndex = stickyStartColumns[i];
829
- if (stickyIndex < columnIndex) {
830
- startOffset += fullColumnWidths[stickyIndex];
831
- }
832
- else {
833
- break;
834
- }
835
- }
836
- const stickyEndColumns = getStickyColumnIndicies(columnsArray, false);
837
- for (let i = stickyEndColumns.length - 1; i > -1; i--) {
838
- const stickyIndex = stickyEndColumns[i];
839
- if (stickyIndex > columnIndex) {
840
- endOffset += fullColumnWidths[stickyIndex];
841
- }
842
- else {
843
- break;
844
- }
845
- }
846
- const horizontalOverflowDiff = _getHorizontalOverflowDiff(columnElement, scrollerElement, startOffset, endOffset, scrollbarWidth, isRtl);
847
- const leftOverflowDiff = horizontalOverflowDiff.left;
848
- const hasLeftOverflow = leftOverflowDiff >= 0;
849
- const rightOverflowDiff = horizontalOverflowDiff.right;
850
- const hasRightOverflow = rightOverflowDiff >= 0;
851
- // don't adjust scroll position if row has overflow in both directions
852
- if (hasLeftOverflow && hasRightOverflow) {
853
- return;
854
- }
855
- if (location == null || location === 'inView') {
856
- // if column fits fully in viewport, scroll overflow side into view
857
- // otherwise, scroll the shortest amount to fill viewport with column
858
- if (hasLeftOverflow) {
859
- if (Math.abs(rightOverflowDiff) > Math.abs(leftOverflowDiff)) {
860
- scrollerElement.scrollLeft = _roundScrollValue(scrollerElement.scrollLeft - leftOverflowDiff, false);
861
- }
862
- else {
863
- scrollerElement.scrollLeft = _roundScrollValue(scrollerElement.scrollLeft + rightOverflowDiff, true);
864
- }
865
- }
866
- else if (hasRightOverflow) {
867
- if (Math.abs(leftOverflowDiff) > Math.abs(rightOverflowDiff)) {
868
- scrollerElement.scrollLeft = _roundScrollValue(scrollerElement.scrollLeft + rightOverflowDiff, true);
869
- }
870
- else {
871
- scrollerElement.scrollLeft = _roundScrollValue(scrollerElement.scrollLeft - leftOverflowDiff, false);
872
- }
873
- }
874
- }
875
- else if (location === 'start') {
876
- scrollerElement.scrollLeft = _roundScrollValue(scrollerElement.scrollLeft - leftOverflowDiff, false);
877
- }
878
- else {
879
- scrollerElement.scrollLeft = _roundScrollValue(scrollerElement.scrollLeft + rightOverflowDiff, true);
880
- }
881
- }
882
- }
883
- /**
884
- * A helper function to make sure specified elem is visible in the specified container
885
- */
886
- const _scrollRowIntoView = (root, tableId, rowElement, scrollerElement, scrollbarHeight, location) => {
887
- const topOffset = getScrollerTopOffset(root, tableId);
888
- const bottomOffset = getScrollerBottomOffset(root, tableId);
889
- const verticalOverflowDiff = _getVerticalOverflowDiff(rowElement, scrollerElement, topOffset, bottomOffset, scrollbarHeight);
890
- const topOverflowDiff = verticalOverflowDiff.top;
891
- const hasTopOverflow = topOverflowDiff >= 0;
892
- const bottomOverflowDiff = verticalOverflowDiff.bottom;
893
- const hasBottomOverflow = bottomOverflowDiff >= 0;
894
- // don't adjust scroll position if row has overflow in both directions
895
- if (hasTopOverflow && hasBottomOverflow) {
896
- return;
897
- }
898
- if (location == null || location === 'inView') {
899
- // if row fits fully in viewport, scroll overflow side into view
900
- // otherwise, scroll the shortest amount to fill viewport with row
901
- if (hasBottomOverflow) {
902
- if (Math.abs(topOverflowDiff) > Math.abs(bottomOverflowDiff)) {
903
- scrollerElement.scrollTop = _roundScrollValue(scrollerElement.scrollTop + bottomOverflowDiff, true);
904
- }
905
- else {
906
- scrollerElement.scrollTop = _roundScrollValue(scrollerElement.scrollTop - topOverflowDiff, false);
907
- }
908
- }
909
- else if (hasTopOverflow) {
910
- if (Math.abs(bottomOverflowDiff) > Math.abs(topOverflowDiff)) {
911
- scrollerElement.scrollTop = _roundScrollValue(scrollerElement.scrollTop - topOverflowDiff, false);
912
- }
913
- else {
914
- scrollerElement.scrollTop = _roundScrollValue(scrollerElement.scrollTop + bottomOverflowDiff, true);
915
- }
916
- }
917
- }
918
- else if (location === 'top') {
919
- scrollerElement.scrollTop = _roundScrollValue(scrollerElement.scrollTop - topOverflowDiff, false);
920
- }
921
- else {
922
- scrollerElement.scrollTop = _roundScrollValue(scrollerElement.scrollTop + bottomOverflowDiff, true);
923
- }
924
- };
925
- /**
926
- * Helper method to round a desired scrollTop or scrollLeft value to the nearest valid value
927
- * depending on the client browser.
928
- */
929
- const _roundScrollValue = (value, isOver) => {
930
- // use Math.floor() and Math.ceil() to ensure we round to nearest containing valid
931
- // pixel value in either direction as valid scrollTop values are only integers
932
- return isOver ? Math.ceil(value) : Math.floor(value);
933
- };
934
- /**
935
- * A helper to get the horizontal overflow diff of the given element
936
- */
937
- const _getHorizontalOverflowDiff = (element, scrollerElement, startOffset, endOffset, scrollbarWidth, isRtl) => {
938
- const elementRect = element.getBoundingClientRect();
939
- const scrollerRect = scrollerElement.getBoundingClientRect();
940
- if (isRtl) {
941
- return {
942
- left: scrollerRect.left - elementRect.left + endOffset + scrollbarWidth,
943
- right: elementRect.right - scrollerRect.right + startOffset
944
- };
945
- }
946
- else {
947
- return {
948
- left: scrollerRect.left - elementRect.left + startOffset,
949
- right: elementRect.right - scrollerRect.right + endOffset + scrollbarWidth
950
- };
951
- }
952
- };
953
- /**
954
- * A helper to get the vertical overflow diff of the given element
955
- */
956
- const _getVerticalOverflowDiff = (element, scrollerElement, topOffset, bottomOffset, scrollbarHeight) => {
957
- const elementRect = element.getBoundingClientRect();
958
- const scrollerRect = scrollerElement.getBoundingClientRect();
959
- return {
960
- top: scrollerRect.top - elementRect.top + topOffset,
961
- bottom: elementRect.bottom - scrollerRect.bottom + bottomOffset + scrollbarHeight
962
- };
963
- };
964
- /**
965
- * Helper to set the horizontal scroll position on the Table.
966
- */
967
- function setHorizontalScrollPosition(root, columnsArray, fullColumnWidths, isRtl, horizontalScrollPosition) {
968
- const x = _getScrollLeftFromScrollPosition(root, columnsArray, fullColumnWidths, horizontalScrollPosition);
969
- root.scrollLeft = x != null ? (isRtl ? -x : x) : 0;
970
- }
971
- /**
972
- * Helper to set the vertical scroll position on the Table.
973
- */
974
- function setVerticalScrollPosition(root, tableId, verticalScrollPosition) {
975
- const y = _getScrollTopFromScrollPosition(root, tableId, verticalScrollPosition);
976
- root.scrollTop = y != null ? y : 0;
977
- }
978
- /**
979
- * Helper to determine the 'x' value of a given scroll position.
980
- */
981
- function _getScrollLeftFromScrollPosition(root, columnsArray, fullColumnWidths, scrollPosition) {
982
- if (scrollPosition != null) {
983
- let columnKey;
984
- let useColumn = false;
985
- if (scrollPosition.columnKey != null) {
986
- // columnKey takes precedence over everything else
987
- useColumn = true;
988
- columnKey = scrollPosition.columnKey;
989
- }
990
- else if (scrollPosition.offsetX != null && scrollPosition.x == null) {
991
- // offsetX can be used on its own if it is the only horizontal aspect provided
992
- useColumn = true;
993
- const currentHorizontalScrollPosition = getHorizontalScrollPosition(root, columnsArray, fullColumnWidths);
994
- columnKey = currentHorizontalScrollPosition.columnKey;
995
- }
996
- if (useColumn) {
997
- if (columnKey != null) {
998
- let x = 0;
999
- for (let i = 0; i < fullColumnWidths.length; i++) {
1000
- if (columnsArray[i].key === columnKey) {
1001
- return x + (scrollPosition.offsetX != null ? scrollPosition.offsetX : 0);
1002
- }
1003
- if (columnsArray[i].value.stickyEdge !== 'start') {
1004
- x += fullColumnWidths[i];
1005
- }
1006
- }
1007
- }
1008
- }
1009
- else if (scrollPosition.x != null) {
1010
- return scrollPosition.x;
1011
- }
1012
- }
1013
- // either nothing was provided, or what was provided was invalid
1014
- return undefined;
1015
- }
1016
- /**
1017
- * Helper to determine the 'y' value of a given scroll position.
1018
- */
1019
- function _getScrollTopFromScrollPosition(root, tableId, scrollPosition) {
1020
- if (scrollPosition != null) {
1021
- let rowKey;
1022
- let useRow = false;
1023
- if (scrollPosition.rowKey != null) {
1024
- // rowKey takes precedence over everything else
1025
- useRow = true;
1026
- rowKey = scrollPosition.rowKey;
1027
- }
1028
- else if (scrollPosition.offsetY != null && scrollPosition.y == null) {
1029
- // offsetY can be used on its own if it is the only vertical aspect provided
1030
- useRow = true;
1031
- rowKey = getVerticalScrollPosition(root, tableId).rowKey;
1032
- }
1033
- if (useRow) {
1034
- if (rowKey != null) {
1035
- let y = 0;
1036
- const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);
1037
- for (let i = 0; i < rowElements.length; i++) {
1038
- if (rowKey === getRowKey(rowElements[i])) {
1039
- return y + (scrollPosition.offsetY != null ? scrollPosition.offsetY : 0);
1040
- }
1041
- y += rowElements[i].getBoundingClientRect().height;
1042
- }
1043
- }
1044
- }
1045
- else if (scrollPosition.y != null) {
1046
- return scrollPosition.y;
1047
- }
1048
- }
1049
- // either nothing was provided, or what was provided was invalid
1050
- return undefined;
1051
- }
1052
- /**
1053
- * Helper to get the logical scroll position for the given scrollLeft value. If no scrollLeft value is given,
1054
- * it will use the current scrollLeft value of the Table.
1055
- */
1056
- function getHorizontalScrollPosition(root, columnsArray, fullColumnWidths, newScrollLeft) {
1057
- // ensure scroll position x value is initialized
1058
- const scrollLeft = Math.abs(newScrollLeft == null ? root.scrollLeft : newScrollLeft);
1059
- const scrollPosition = {
1060
- x: scrollLeft,
1061
- columnKey: undefined,
1062
- offsetX: undefined
1063
- };
1064
- let columnEnd = 0;
1065
- if (columnsArray.length > 0) {
1066
- if (scrollLeft === 0) {
1067
- scrollPosition.columnKey = columnsArray[0].key;
1068
- scrollPosition.offsetX = 0;
1069
- return scrollPosition;
1070
- }
1071
- }
1072
- for (let i = 0; i < columnsArray.length; i++) {
1073
- if (columnsArray[i].value.stickyEdge !== 'start') {
1074
- columnEnd += fullColumnWidths[i];
1075
- }
1076
- if (scrollLeft < columnEnd) {
1077
- scrollPosition.columnKey = columnsArray[i].key;
1078
- scrollPosition.offsetX = fullColumnWidths[i] + scrollLeft - columnEnd;
1079
- break;
1080
- }
1081
- }
1082
- return scrollPosition;
1083
- }
1084
- /**
1085
- * Helper to get the logical scroll position for the given scrollTop value. If no scrollTop value is given,
1086
- * it will use the current scrollTop value of the Table.
1087
- */
1088
- function getVerticalScrollPosition(root, tableId, newScrollTop) {
1089
- // ensure scroll position y value is initialized
1090
- const scrollTop = Math.abs(newScrollTop == null ? root.scrollTop : newScrollTop);
1091
- const scrollPosition = {
1092
- y: scrollTop,
1093
- rowKey: undefined,
1094
- offsetY: undefined
1095
- };
1096
- let rowBottom = 0;
1097
- const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);
1098
- if (rowElements.length > 0) {
1099
- if (scrollTop === 0) {
1100
- scrollPosition.rowKey = getRowKeyForRowIndex(root, tableId, 0);
1101
- scrollPosition.offsetY = 0;
1102
- return scrollPosition;
1103
- }
1104
- }
1105
- for (let i = 0; i < rowElements.length; i++) {
1106
- const rowHeight = rowElements[i].getBoundingClientRect().height;
1107
- rowBottom += rowHeight;
1108
- if (scrollTop < rowBottom) {
1109
- scrollPosition.rowKey = getRowKeyForRowIndex(root, tableId, i);
1110
- scrollPosition.offsetY = rowHeight + scrollTop - rowBottom;
1111
- break;
1112
- }
1113
- }
1114
- return scrollPosition;
1115
- }
1116
- function applyScrollDetail(root, tableId, columnsArray, sizingInfo, scrollDetail, isRtl, fullColumnWidths, viewportConfig) {
1117
- const scroller = viewportConfig?.scroller() || root;
1118
- if (scrollDetail.cell.type === 'data') {
1119
- const rowElement = collectionUtils.findElementByKey(root, scrollDetail.cell.rowKey, `[data-oj-table-data-row='${tableId}']`);
1120
- if (rowElement != null) {
1121
- _scrollRowIntoView(root, tableId, rowElement, scroller, sizingInfo.boxHeight - sizingInfo.contentHeight, scrollDetail.locationY);
1122
- }
1123
- }
1124
- const cellElement = getElementFromCell(root, tableId, scrollDetail.cell);
1125
- if (cellElement != null) {
1126
- _scrollColumnIntoView(cellElement, scroller, columnsArray, sizingInfo.boxWidth - sizingInfo.contentWidth, isRtl, fullColumnWidths, scrollDetail.locationX);
1127
- }
1128
- }
1129
- /**
1130
- * Helper function to update the 'left' and 'right' values of all sticky columns to correspond
1131
- * to the given sizing information.
1132
- */
1133
- function updateStickyColumns(root, tableId, isRtl, columnsArray, fullColumnWidths, stickyEdgesState, setStickyEdgesState) {
1134
- let stickyIndex;
1135
- let stickyStartOffset = 0;
1136
- let stickyEndOffset = 0;
1137
- const stickyStartIndicies = getStickyColumnIndicies(columnsArray, true);
1138
- for (let i = 0; i < stickyStartIndicies.length; i++) {
1139
- stickyIndex = stickyStartIndicies[i];
1140
- _applyStickyColumnOffset(root, tableId, isRtl, stickyIndex, stickyStartOffset, true);
1141
- stickyStartOffset += fullColumnWidths[stickyIndex];
1142
- }
1143
- const stickyEndIndicies = getStickyColumnIndicies(columnsArray, false);
1144
- for (let i = stickyEndIndicies.length - 1; i > -1; i--) {
1145
- stickyIndex = stickyEndIndicies[i];
1146
- _applyStickyColumnOffset(root, tableId, isRtl, stickyIndex, stickyEndOffset, false);
1147
- stickyEndOffset += fullColumnWidths[stickyIndex];
1148
- }
1149
- updateStickyEdges(root, columnsArray, fullColumnWidths, stickyEdgesState, setStickyEdgesState);
1150
- }
1151
- /**
1152
- * Helper function to get the column indicies corresponding to the given edge.
1153
- */
1154
- const getStickyColumnIndicies = (columnsArray, isStart) => {
1155
- const stickyColumns = [];
1156
- const edge = isStart ? 'start' : 'end';
1157
- for (let i = 0; i < columnsArray.length; i++) {
1158
- if (columnsArray[i].value.stickyEdge === edge) {
1159
- stickyColumns.push(i);
1160
- }
1161
- }
1162
- return stickyColumns;
1163
- };
1164
- /**
1165
- * Helper function to update the 'left' and 'right' values of a specific column.
1166
- */
1167
- const _applyStickyColumnOffset = (root, tableId, isRtl, columnIndex, stickyOffset, isStart) => {
1168
- const styleProperty = (isStart && !isRtl) || (!isStart && isRtl) ? 'left' : 'right';
1169
- const styleValue = `${stickyOffset}px`;
1170
- const headerElements = root.querySelectorAll(`[data-oj-table-header-cell='${tableId}']`);
1171
- const headerElement = headerElements[columnIndex];
1172
- headerElement.style[styleProperty] = styleValue;
1173
- const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);
1174
- for (let j = 0; j < rowElements.length; j++) {
1175
- const rowElement = rowElements[j];
1176
- const cellElements = rowElement.querySelectorAll(`[data-oj-table-data-cell='${tableId}']`);
1177
- const cellElement = cellElements[columnIndex];
1178
- cellElement.style[styleProperty] = styleValue;
1179
- }
1180
- const footerElements = root.querySelectorAll(`[data-oj-table-footer-cell='${tableId}']`);
1181
- if (footerElements.length > 0) {
1182
- const footerElement = footerElements[columnIndex];
1183
- footerElement.style[styleProperty] = styleValue;
1184
- }
1185
- };
1186
- /**
1187
- * Helper function to update the sticky edges based on the given scrollLeft value.
1188
- */
1189
- function updateStickyEdges(root, columnsArray, fullColumnWidths, stickyEdgesState, setStickyEdgesState, scrollLeft) {
1190
- if (columnsArray.length > 0) {
1191
- let i;
1192
- let currentScrollIndex;
1193
- const newScrollPosition = getHorizontalScrollPosition(root, columnsArray, fullColumnWidths, scrollLeft);
1194
- for (i = 0; i < columnsArray.length; i++) {
1195
- if (columnsArray[i].key === newScrollPosition.columnKey) {
1196
- currentScrollIndex = i;
1197
- break;
1198
- }
1199
- }
1200
- let startIndex;
1201
- // browser zoom levels cause rounding issues where the start scroll
1202
- // position may never be reached, but it should always be within 1
1203
- if (newScrollPosition.x >= 1) {
1204
- const stickyStartIndicies = getStickyColumnIndicies(columnsArray, true);
1205
- for (i = 0; i < stickyStartIndicies.length; i++) {
1206
- const currentIndex = stickyStartIndicies[i];
1207
- if (currentIndex < currentScrollIndex) {
1208
- startIndex = currentIndex;
1209
- }
1210
- else {
1211
- break;
1212
- }
1213
- }
1214
- }
1215
- let endIndex;
1216
- let currentWidth = 0;
1217
- const maxScrollPos = root.scrollWidth - root.clientWidth;
1218
- const endOverflow = maxScrollPos - newScrollPosition.x;
1219
- // browser zoom levels cause rounding issues where the max scroll
1220
- // position may never be reached, but it should always be within 1
1221
- if (endOverflow >= 1) {
1222
- const stickyEndIndicies = getStickyColumnIndicies(columnsArray, false);
1223
- for (let i = columnsArray.length - 1; i > -1; i--) {
1224
- if (stickyEndIndicies.indexOf(i) !== -1) {
1225
- endIndex = i;
1226
- }
1227
- else {
1228
- currentWidth += fullColumnWidths[i];
1229
- if (currentWidth > endOverflow) {
1230
- break;
1231
- }
1232
- }
1233
- }
1234
- }
1235
- if (stickyEdgesState.start != startIndex || stickyEdgesState.end != endIndex) {
1236
- setStickyEdgesState({ start: startIndex, end: endIndex });
1237
- }
1238
- }
1239
- }
1240
- /**
1241
- * Helper function to get the viewport config. TODO: this needs help for table still
1242
- */
1243
- const getViewportConfig = (outerTableRef, config) => {
1244
- return (config ?? {
1245
- scroller: () => {
1246
- return outerTableRef.current;
1247
- }
1248
- });
1249
- };
1250
-
1251
- /**
1252
- * Helper function to compare two given cell descriptors.
1253
- */
1254
- function cellComparator(cell1, cell2) {
1255
- if (cell1 == null) {
1256
- return cell2 == null;
1257
- }
1258
- if (cell2 == null) {
1259
- return false;
1260
- }
1261
- return (cell1?.rowKey === cell2?.rowKey &&
1262
- cell1?.columnKey === cell2?.columnKey &&
1263
- cell1?.type === cell2?.type);
1264
- }
1265
- /**
1266
- * Helper function to handle an 'Up' or 'Down' arrow key press.
1267
- * Up - Moves to the same cell in the previous row (including headers and footers). No op if already on the first row.
1268
- * Down - Moves to the same cell in the next row (including headers and footers). No op if already on the last row.
1269
- */
1270
- function handleAdjacentRowGesture(root, tableId, columnsArray, initialCell, onCurrentCellChanged, isPrevious) {
1271
- let newCurrentCell;
1272
- const cellType = initialCell.type;
1273
- if (cellType !== 'noData') {
1274
- const columnKey = initialCell.columnKey;
1275
- if (cellType === 'data') {
1276
- const currentRowKey = initialCell.rowKey;
1277
- const currentRowElement = collectionUtils.findElementByKey(root, currentRowKey, `[data-oj-table-data-row='${tableId}']`);
1278
- if (currentRowElement != null) {
1279
- const adjacentRowElement = isPrevious
1280
- ? currentRowElement.previousElementSibling
1281
- : currentRowElement.nextElementSibling;
1282
- if (adjacentRowElement != null) {
1283
- const rowKey = getRowKey(adjacentRowElement);
1284
- if (rowKey != null) {
1285
- newCurrentCell = { rowKey: rowKey, columnKey: columnKey, type: 'data' };
1286
- onCurrentCellChanged({ value: newCurrentCell });
1287
- }
1288
- }
1289
- else if (isPrevious) {
1290
- newCurrentCell = { columnKey: initialCell.columnKey, type: 'header' };
1291
- onCurrentCellChanged({ value: newCurrentCell });
1292
- }
1293
- else if (hasFooterCells(root, tableId)) {
1294
- newCurrentCell = { columnKey: initialCell.columnKey, type: 'footer' };
1295
- onCurrentCellChanged({ value: newCurrentCell });
1296
- }
1297
- }
1298
- }
1299
- else if (cellType === 'header' && !isPrevious) {
1300
- const rowKey = getFirstFocusableRowKey(root, tableId);
1301
- if (rowKey != null) {
1302
- newCurrentCell = { rowKey: rowKey, columnKey: columnKey, type: 'data' };
1303
- onCurrentCellChanged({ value: newCurrentCell });
1304
- }
1305
- else if (hasNoDataCell(root, tableId)) {
1306
- newCurrentCell = { type: 'noData' };
1307
- onCurrentCellChanged({ value: newCurrentCell });
1308
- }
1309
- else if (hasFooterCells(root, tableId)) {
1310
- newCurrentCell = { columnKey: initialCell.columnKey, type: 'footer' };
1311
- onCurrentCellChanged({ value: newCurrentCell });
1312
- }
1313
- }
1314
- else if (cellType === 'footer' && isPrevious) {
1315
- const rowKey = getLastFocusableRowKey(root, tableId);
1316
- if (rowKey != null) {
1317
- newCurrentCell = { rowKey: rowKey, columnKey: columnKey, type: 'data' };
1318
- onCurrentCellChanged({ value: newCurrentCell });
1319
- }
1320
- else if (hasNoDataCell(root, tableId)) {
1321
- newCurrentCell = { type: 'noData' };
1322
- onCurrentCellChanged({ value: newCurrentCell });
1323
- }
1324
- else {
1325
- newCurrentCell = { columnKey: initialCell.columnKey, type: 'header' };
1326
- onCurrentCellChanged({ value: newCurrentCell });
1327
- }
1328
- }
1329
- }
1330
- else {
1331
- const newColumnKey = _getBoundaryColumnKey(columnsArray, true);
1332
- if (isPrevious) {
1333
- newCurrentCell = { columnKey: newColumnKey, type: 'header' };
1334
- onCurrentCellChanged({ value: newCurrentCell });
1335
- }
1336
- else if (hasFooterCells(root, tableId)) {
1337
- newCurrentCell = { columnKey: newColumnKey, type: 'footer' };
1338
- onCurrentCellChanged({ value: newCurrentCell });
1339
- }
1340
- }
1341
- }
1342
- /**
1343
- * Helper function to handle a 'PageUp' or 'PageDown' arrow key press.
1344
- * PageUp - Moves to the same cell in the first visible row in the current viewport,
1345
- * and scrolls the Table so it becomes the last visible row in the viewport when able.
1346
- * PageDown - Moves to the same cell in the last visible row in the current viewport,
1347
- * and scrolls the Table so it becomes the first visible row in the viewport when able.
1348
- */
1349
- function handlePageRowGesture(root, tableId, columnsArray, sizingInfoRef, initialCell, onCurrentCellChanged, isPrevious, isRtl, fullColumnWidths) {
1350
- const rowElements = root.querySelectorAll(`[data-oj-table-data-row='${tableId}']`);
1351
- if (rowElements.length > 0) {
1352
- const verticalScrollPosition = getVerticalScrollPosition(root, tableId);
1353
- const verticalRowIndex = getRowIndexForRowKey(root, tableId, verticalScrollPosition.rowKey);
1354
- let targetRowIndex;
1355
- if (isPrevious) {
1356
- if (verticalScrollPosition.offsetY === 0) {
1357
- targetRowIndex = Math.max(verticalRowIndex - 1, 0);
1358
- }
1359
- else {
1360
- targetRowIndex = verticalRowIndex;
1361
- }
1362
- }
1363
- else {
1364
- const scrollerRect = root.getBoundingClientRect();
1365
- const scrollbarHeight = sizingInfoRef.current.boxHeight - sizingInfoRef.current.contentHeight;
1366
- const scrollerBottom = scrollerRect.bottom + getScrollerBottomOffset(root, tableId) + scrollbarHeight;
1367
- targetRowIndex = verticalRowIndex;
1368
- while (rowElements.length > targetRowIndex + 1) {
1369
- targetRowIndex += 1;
1370
- const elementBottom = rowElements[targetRowIndex].getBoundingClientRect().bottom;
1371
- if (elementBottom > scrollerBottom) {
1372
- break;
1373
- }
1374
- }
1375
- }
1376
- const newRowKey = getRowKeyForRowIndex(root, tableId, targetRowIndex);
1377
- if (newRowKey != null) {
1378
- const newCurrentCell = {
1379
- rowKey: newRowKey,
1380
- columnKey: initialCell.columnKey,
1381
- type: 'data'
1382
- };
1383
- if (newRowKey !== initialCell.rowKey) {
1384
- onCurrentCellChanged({ value: newCurrentCell });
1385
- }
1386
- applyScrollDetail(root, tableId, columnsArray, sizingInfoRef.current, { cell: newCurrentCell, locationX: 'inView', locationY: isPrevious ? 'bottom' : 'top' }, isRtl, fullColumnWidths);
1387
- }
1388
- }
1389
- }
1390
- /**
1391
- * Helper function to get the column key next to the given column key in the specified direction. Returns
1392
- * null if there is no adjacent column in the direction specified.
1393
- */
1394
- function _getAdjacentColumnKey(initialKey, columnsArray, isPrevious) {
1395
- let currentIndex = -1;
1396
- const columnsCount = columnsArray.length;
1397
- for (let i = 0; i < columnsCount; i++) {
1398
- if (columnsArray[i].key === initialKey) {
1399
- currentIndex = i;
1400
- break;
1401
- }
1402
- }
1403
- if (isPrevious && currentIndex !== 0) {
1404
- return columnsArray[currentIndex - 1].key;
1405
- }
1406
- else if (!isPrevious && currentIndex !== columnsCount - 1) {
1407
- return columnsArray[currentIndex + 1].key;
1408
- }
1409
- return null;
1410
- }
1411
- /**
1412
- * Helper function to handle a 'Previous' or 'Next' arrow key press.
1413
- * Previous - Moves to the previous cell in the current row. No op if already on the first cell in that row.
1414
- * Next - Moves to the next cell in the current row. No op if already on the last cell in that row.
1415
- */
1416
- function handleAdjacentColumnGesture(columnsArray, initialCell, onCurrentCellChanged, isPrevious) {
1417
- let newCurrentCell;
1418
- const cellType = initialCell.type;
1419
- if (cellType !== 'noData') {
1420
- const initialKey = initialCell.columnKey;
1421
- const newKey = _getAdjacentColumnKey(initialKey, columnsArray, isPrevious);
1422
- if (newKey != null) {
1423
- if (cellType === 'data') {
1424
- newCurrentCell = { rowKey: initialCell.rowKey, columnKey: newKey, type: cellType };
1425
- onCurrentCellChanged({ value: newCurrentCell });
1426
- }
1427
- else {
1428
- newCurrentCell = { columnKey: newKey, type: cellType };
1429
- onCurrentCellChanged({ value: newCurrentCell });
1430
- }
1431
- }
1432
- }
1433
- }
1434
- /**
1435
- * Helper function to get the first or last column key.
1436
- */
1437
- function _getBoundaryColumnKey(columnsArray, isFirst) {
1438
- if (isFirst) {
1439
- return columnsArray[0].key;
1440
- }
1441
- return columnsArray[columnsArray.length - 1].key;
1442
- }
1443
- /**
1444
- * Helper function to handle a 'Home' or 'End' key press.
1445
- * Home - Jumps to the first cell in the current row. No op if already on the first cell in that row.
1446
- * Ctrl/Cmd + Home - Jumps to the first cell in the first data row. If no data rows are present,
1447
- * jumps to the first cell in the current region (header or footer). No op if already on that cell.
1448
- * End - Jumps to the last cell in the current row. No op if already on the last cell in that row.
1449
- * Ctrl/Cmd + End - Jumps to the last cell in the last data row. If no data rows are present,
1450
- * jumps to the last cell in the current region (header or footer). No op if already on that cell.
1451
- */
1452
- function handleJumpColumnGesture(root, tableId, columnsArray, initialCell, onCurrentCellChanged, isPrevious, includeRows) {
1453
- let newCurrentCell;
1454
- const cellType = initialCell.type;
1455
- if (cellType !== 'noData') {
1456
- const initialKey = initialCell.columnKey;
1457
- const newKey = _getBoundaryColumnKey(columnsArray, isPrevious);
1458
- if (includeRows) {
1459
- if (hasNoDataCell(root, tableId)) {
1460
- newCurrentCell = {
1461
- type: 'noData'
1462
- };
1463
- if (!cellComparator(newCurrentCell, initialCell)) {
1464
- onCurrentCellChanged({ value: newCurrentCell });
1465
- }
1466
- }
1467
- else {
1468
- const newRowKey = isPrevious
1469
- ? getFirstFocusableRowKey(root, tableId)
1470
- : getLastFocusableRowKey(root, tableId);
1471
- if (newRowKey != null) {
1472
- newCurrentCell = {
1473
- rowKey: newRowKey,
1474
- columnKey: newKey,
1475
- type: 'data'
1476
- };
1477
- if (!cellComparator(newCurrentCell, initialCell)) {
1478
- onCurrentCellChanged({ value: newCurrentCell });
1479
- }
1480
- }
1481
- }
1482
- }
1483
- else if (newKey !== initialKey) {
1484
- if (cellType === 'data') {
1485
- newCurrentCell = { rowKey: initialCell.rowKey, columnKey: newKey, type: cellType };
1486
- onCurrentCellChanged({ value: newCurrentCell });
1487
- }
1488
- else {
1489
- newCurrentCell = { columnKey: newKey, type: cellType };
1490
- onCurrentCellChanged({ value: newCurrentCell });
1491
- }
1492
- }
1493
- }
1494
- }
1495
-
1496
- /**
1497
- * @license
1498
- * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
1499
- * The Universal Permissive License (UPL), Version 1.0
1500
- * as shown at https://oss.oracle.com/licenses/upl/
1501
- * @ignore
1502
- */
1503
- // constant timeout values for delays following a input gesture until enabling focus rings
1504
- const MOUSE_FOCUS_SHIFT_TIMEOUT = 0;
1505
- const TOUCH_FOCUS_SHIFT_TIMEOUT = 200;
1506
- // constant event.key values that trigger focus ring and 'scroll to current' logic
1507
- const NAVIGATION_KEYS = [
1508
- ' ',
1509
- 'F2',
1510
- 'Enter',
1511
- 'Esc', // Firefox 36 and earlier uses 'Esc' instead of 'Escape'
1512
- 'Escape',
1513
- 'ArrowLeft',
1514
- 'ArrowUp',
1515
- 'ArrowRight',
1516
- 'ArrowDown',
1517
- 'Home',
1518
- 'End',
1519
- 'PageUp',
1520
- 'PageDown'
1521
- ];
1522
- /**
1523
- * Hook that manages focus interactions on the Preact Table
1524
- */
1525
- function useFocusHandling({ outerTableRef, tableId, isRtl, columnsArray, sizingInfoRef, selectionExtensionElementRef, cellSupportsTabbable, fullColumnWidths, currentCellOverride, onPersistCurrentCell }) {
1526
- // tracks whether the most recent 'blur' was caused by focus being lost by the browser window (or iframe)
1527
- const blurFromWindowRef = hooks.useRef(false);
1528
- // tracks focus loss during render cycle for potential focus recapture cases
1529
- const isRenderCycle = hooks.useRef(true);
1530
- isRenderCycle.current = true;
1531
- const blurredRenderCycleElementRef = hooks.useRef(null);
1532
- // track current 'focus info' state
1533
- const hasFocusRef = hooks.useRef(false);
1534
- const [isTabbableMode, setIsTabbableMode] = hooks.useState(false);
1535
- const [isShowFocusRing, setIsShowFocusRing] = hooks.useState(false);
1536
- // track pointer down information
1537
- const recentPointerRef = hooks.useRef(false);
1538
- const pointerTimerRef = hooks.useRef(null);
1539
- const isShowFocusRingOverrideRef = hooks.useRef(null);
1540
- // tracks the current cell information
1541
- const [currentCell, setCurrentCell] = hooks.useState(currentCellOverride);
1542
- const currentCellRef = hooks.useRef(currentCellOverride);
1543
- // tracks whether the table is handling a tab gesture that should allow focus to leave the table
1544
- const [isTabbing, setIsTabbing] = hooks.useState(false);
1545
- // intercept onPersistCurrentCell calls to ensure internal state is updated appropriately
1546
- const onCurrentCellChanged = hooks.useMemo(() => {
1547
- return (detail) => {
1548
- setCurrentCell(detail.value);
1549
- currentCellRef.current = detail.value;
1550
- selectionExtensionElementRef.current = undefined;
1551
- if (onPersistCurrentCell != null) {
1552
- onPersistCurrentCell(detail);
1553
- }
1554
- };
1555
- }, [onPersistCurrentCell, selectionExtensionElementRef]);
1556
- // ensure any new currentCellOverride settings are applied only on that render
1557
- const currentCellOverrideRef = hooks.useRef(currentCellOverride);
1558
- if (currentCellOverrideRef.current !== currentCellOverride) {
1559
- currentCellOverrideRef.current = currentCellOverride;
1560
- if (!cellComparator(currentCell, currentCellOverride)) {
1561
- onCurrentCellChanged({ value: currentCellOverride });
1562
- }
1563
- }
1564
- // Helper function to set the Table's focus tracking state to reflect that it is inactive.
1565
- const _setAsInactive = hooks.useCallback(() => {
1566
- hasFocusRef.current = false;
1567
- setIsTabbableMode(false);
1568
- setIsShowFocusRing(false);
1569
- }, []);
1570
- // Helper function to set the Table's focus tracking state to reflect that on of its cell has focus.
1571
- const _enableNavigationMode = hooks.useCallback((cell, skipScrollCellIntoView) => {
1572
- const rootElement = outerTableRef.current;
1573
- if (rootElement != null) {
1574
- setIsTabbableMode(false);
1575
- setIsShowFocusRing(isShowFocusRingOverrideRef.current !== null
1576
- ? isShowFocusRingOverrideRef.current
1577
- : !recentPointerRef.current);
1578
- if (!recentPointerRef.current && !skipScrollCellIntoView) {
1579
- applyScrollDetail(rootElement, tableId, columnsArray, sizingInfoRef.current, { cell: cell, locationX: 'inView', locationY: 'inView' }, isRtl, fullColumnWidths);
1580
- }
1581
- if (!cellComparator(cell, currentCell)) {
1582
- onCurrentCellChanged({ value: cell });
1583
- }
1584
- }
1585
- }, [
1586
- outerTableRef,
1587
- tableId,
1588
- columnsArray,
1589
- sizingInfoRef,
1590
- isRtl,
1591
- currentCell,
1592
- onCurrentCellChanged,
1593
- fullColumnWidths
1594
- ]);
1595
- // Helper function to set the Table's focus tracking state to reflect that it is tabbable.
1596
- const _enableTabbableMode = hooks.useCallback((cell, isKeyboard, skipScrollCellIntoView) => {
1597
- const rootElement = outerTableRef.current;
1598
- if (rootElement != null) {
1599
- setIsTabbableMode(true);
1600
- if (!isKeyboard) {
1601
- setIsShowFocusRing(false);
1602
- if (!cellComparator(cell, currentCell)) {
1603
- onCurrentCellChanged({ value: cell });
1604
- }
1605
- if (!recentPointerRef.current && !skipScrollCellIntoView) {
1606
- applyScrollDetail(rootElement, tableId, columnsArray, sizingInfoRef.current, { cell: cell, locationX: 'inView', locationY: 'inView' }, isRtl, fullColumnWidths);
1607
- }
1608
- }
1609
- }
1610
- }, [
1611
- outerTableRef,
1612
- tableId,
1613
- columnsArray,
1614
- sizingInfoRef,
1615
- isRtl,
1616
- currentCell,
1617
- onCurrentCellChanged,
1618
- fullColumnWidths
1619
- ]);
1620
- // Helper function to set the Table's focus tracking state to reflect that a user has
1621
- // exited tabbable mode via the keyboard (esc or 'F2')
1622
- const _disableTabbableMode = hooks.useCallback((cell) => {
1623
- const rootElement = outerTableRef.current;
1624
- if (rootElement != null) {
1625
- setIsTabbableMode(false);
1626
- const currentCellElement = getElementFromCell(rootElement, tableId, cell);
1627
- if (currentCellElement != null) {
1628
- currentCellElement.focus({ preventScroll: true });
1629
- }
1630
- else {
1631
- rootElement.focus({ preventScroll: true });
1632
- }
1633
- }
1634
- }, [outerTableRef, tableId]);
1635
- // PointerDown handler for the outer Table. Focus transfers that occur following a pointerdown
1636
- // on desktop devices should not result in a focus ring being shown on the focused element
1637
- const _pointerDownHandler = hooks.useCallback((event) => {
1638
- if (event.pointerType !== 'touch') {
1639
- if (pointerTimerRef.current != null) {
1640
- clearTimeout(pointerTimerRef.current);
1641
- }
1642
- recentPointerRef.current = true;
1643
- pointerTimerRef.current = setTimeout(() => {
1644
- recentPointerRef.current = false;
1645
- if (isShowFocusRing) {
1646
- setIsShowFocusRing(false);
1647
- }
1648
- }, MOUSE_FOCUS_SHIFT_TIMEOUT);
1649
- }
1650
- }, [isShowFocusRing]);
1651
- // TouchEnd handler for the outer Table. Focus transfers that occur following a touchend
1652
- // on touch devices should not result in a focus ring being shown on the focused element
1653
- const _touchEndHandler = hooks.useCallback(() => {
1654
- if (pointerTimerRef.current != null) {
1655
- clearTimeout(pointerTimerRef.current);
1656
- }
1657
- recentPointerRef.current = true;
1658
- pointerTimerRef.current = setTimeout(() => {
1659
- recentPointerRef.current = false;
1660
- if (isShowFocusRing) {
1661
- setIsShowFocusRing(false);
1662
- }
1663
- }, TOUCH_FOCUS_SHIFT_TIMEOUT);
1664
- }, [isShowFocusRing]);
1665
- // Focus handler for the outer Table. On focus, a focusable area needs to be 'current'.
1666
- // If a 'current' area already exists, nothing further is needed. Otherwise, the first
1667
- // focusable element should be made 'current'.
1668
- const _onFocusHandler = hooks.useCallback((event) => {
1669
- hasFocusRef.current = true;
1670
- const rootElement = outerTableRef.current;
1671
- if (rootElement != null) {
1672
- // don't scroll current into view if previous blur was due to window focus loss
1673
- const skipScrollCellIntoView = blurFromWindowRef.current;
1674
- blurFromWindowRef.current = false;
1675
- const targetElement = event.target;
1676
- if (targetElement === rootElement) {
1677
- // handle overall root element receiving focus
1678
- const cell = currentCell != null
1679
- ? currentCell
1680
- : getFirstFocusableCell(rootElement, tableId);
1681
- if (cell != null) {
1682
- _enableNavigationMode(cell, skipScrollCellIntoView);
1683
- }
1684
- }
1685
- else {
1686
- const cell = logicalCellExtractor(targetElement, tableId, `[data-oj-table-focusable='${tableId}']`);
1687
- if (cell != null) {
1688
- if (getCellType(targetElement) != null) {
1689
- // handle individual focusable regions receiving focus
1690
- _enableNavigationMode(cell, skipScrollCellIntoView);
1691
- }
1692
- else {
1693
- _enableTabbableMode(cell, false, skipScrollCellIntoView);
1694
- }
1695
- }
1696
- }
1697
- }
1698
- if (pointerTimerRef.current != null) {
1699
- clearTimeout(pointerTimerRef.current);
1700
- pointerTimerRef.current = null;
1701
- }
1702
- recentPointerRef.current = false;
1703
- isShowFocusRingOverrideRef.current = null;
1704
- }, [outerTableRef, tableId, currentCell, _enableTabbableMode, _enableNavigationMode]);
1705
- // Blur handler for the outer Table. When a blur is caused by the browser window itself
1706
- // losing focus (changing tabs or leaving an iframe for example), an eventual re-focus due
1707
- // to the window re-gaining focus needs to be handled differently (no auto-scroll mostly).
1708
- const _onBlurHandler = hooks.useCallback((event) => {
1709
- const rootElement = outerTableRef.current;
1710
- if (rootElement != null) {
1711
- if (event.target === document.activeElement) {
1712
- // save focus ring state so it's set once focus comes back
1713
- isShowFocusRingOverrideRef.current = isShowFocusRing;
1714
- }
1715
- const relatedTarget = event.relatedTarget;
1716
- const isUnknownRelatedTarget = relatedTarget == null;
1717
- blurFromWindowRef.current = isUnknownRelatedTarget;
1718
- if (isUnknownRelatedTarget || !collectionUtils.getElementContainsFunc(rootElement, true)(relatedTarget)) {
1719
- _setAsInactive();
1720
- if (isRenderCycle.current) {
1721
- // store element that loses focus during a render cycle for recapturing focus logic
1722
- blurredRenderCycleElementRef.current = event.target;
1723
- }
1724
- }
1725
- setIsTabbing(false);
1726
- }
1727
- }, [outerTableRef, isShowFocusRing, _setAsInactive]);
1728
- // KeyDown handler for the outer Table. This specific handler tracks 'focus' transfer keys
1729
- // Esc, F2, Enter, and Tab. It also ensures the currentCell is scrolled into view on any key
1730
- const _onKeyDownHandler = hooks.useCallback((event) => {
1731
- const rootElement = outerTableRef.current;
1732
- if (rootElement != null && currentCell != null) {
1733
- if (cellSupportsTabbable(currentCell)) {
1734
- if (event.key === 'F2') {
1735
- if (isTabbableMode) {
1736
- _disableTabbableMode(currentCell);
1737
- }
1738
- else {
1739
- _enableTabbableMode(currentCell, true);
1740
- }
1741
- }
1742
- else if (event.key === 'Esc' || event.key === 'Escape') {
1743
- // Firefox 36 and earlier uses 'Esc' instead of 'Escape'
1744
- _disableTabbableMode(currentCell);
1745
- }
1746
- else if (event.key === 'Enter' && !isTabbableMode) {
1747
- _enableTabbableMode(currentCell, true);
1748
- }
1749
- }
1750
- if (NAVIGATION_KEYS.indexOf(event.key) > -1 && !isTabbableMode) {
1751
- setIsShowFocusRing(true);
1752
- applyScrollDetail(rootElement, tableId, columnsArray, sizingInfoRef.current, { cell: currentCell, locationX: 'inView', locationY: 'inView' }, isRtl, fullColumnWidths);
1753
- }
1754
- }
1755
- if (event.key === 'Tab' && !isTabbableMode) {
1756
- setIsTabbing(true);
1757
- }
1758
- }, [
1759
- outerTableRef,
1760
- tableId,
1761
- columnsArray,
1762
- sizingInfoRef,
1763
- isRtl,
1764
- isTabbableMode,
1765
- currentCell,
1766
- cellSupportsTabbable,
1767
- fullColumnWidths,
1768
- _enableTabbableMode,
1769
- _disableTabbableMode
1770
- ]);
1771
- // Callback for the outer Table's FocusTracker usage.
1772
- const onStartFocusTracking = hooks.useCallback((detail) => {
1773
- const rootElement = outerTableRef.current;
1774
- if (rootElement != null && currentCell != null) {
1775
- collectionUtils.handleEnterActionableMode(detail.hasFocusWithin && getCellType(detail.activeElement) == null, tabbableUtils.allTabbableElements(getElementFromCell(rootElement, tableId, currentCell)), (value) => {
1776
- setIsTabbableMode(value != undefined);
1777
- });
1778
- }
1779
- }, [outerTableRef, currentCell, tableId]);
1780
- // Callback for the outer Table's FocusTracker usage.
1781
- const onFocusStartEdge = hooks.useCallback((detail) => {
1782
- collectionUtils.handleWrapActionableFocus(true, detail.tabbableElements, (value) => {
1783
- setIsTabbableMode(value != undefined);
1784
- });
1785
- }, []);
1786
- // Callback for the outer Table's FocusTracker usage.
1787
- const onFocusEndEdge = hooks.useCallback((detail) => {
1788
- collectionUtils.handleWrapActionableFocus(false, detail.tabbableElements, (value) => {
1789
- setIsTabbableMode(value != undefined);
1790
- });
1791
- }, []);
1792
- // Handle ensuring focus is properly set at the completion of every render cycle
1793
- // NO DEPENDENCY ARRAY HERE TO ENSURE THIS RUNS ON EVERY RENDER CYCLE
1794
- hooks.useEffect(() => {
1795
- const blurredRenderCycleElement = blurredRenderCycleElementRef.current;
1796
- blurredRenderCycleElementRef.current = null;
1797
- isRenderCycle.current = false;
1798
- const rootElement = outerTableRef.current;
1799
- if (rootElement != null) {
1800
- const activeElement = tabbableUtils.getActiveElement(rootElement);
1801
- // if we were tracking focus during the render cycle, ensure we recapture focus if needed
1802
- if (blurredRenderCycleElement != null &&
1803
- !isTabbing &&
1804
- activeElement === tabbableUtils.getBodyElement(rootElement) &&
1805
- (!collectionUtils.getElementContainsFunc(rootElement, true)(blurredRenderCycleElement) ||
1806
- !tabbableUtils.isTabbableElement(blurredRenderCycleElement, true))) {
1807
- rootElement.focus({ preventScroll: true });
1808
- return;
1809
- }
1810
- if (hasFocusRef.current &&
1811
- currentCell != null &&
1812
- !isTabbing &&
1813
- cellComparator(currentCell, currentCellRef.current)) {
1814
- // ensure real browser focus is on the correct cell element
1815
- const currentCellElement = getElementFromCell(rootElement, tableId, currentCell);
1816
- if (currentCellElement != null) {
1817
- // currentCell is valid, so set focus on it if needed
1818
- if ((!isTabbableMode && activeElement !== currentCellElement) ||
1819
- (isTabbableMode && !collectionUtils.getElementContainsFunc(currentCellElement, true)(activeElement))) {
1820
- currentCellElement.focus({ preventScroll: true });
1821
- }
1822
- }
1823
- else {
1824
- // currentCell is not valid, so choose a new currentCell instead
1825
- const newCurrentCell = getFirstFocusableCell(rootElement, tableId);
1826
- if (newCurrentCell != null) {
1827
- onCurrentCellChanged({ value: newCurrentCell });
1828
- }
1829
- }
1830
- }
1831
- }
1832
- });
1833
- return {
1834
- focusHandlingProps: {
1835
- onPointerDown: _pointerDownHandler,
1836
- onTouchEnd: _touchEndHandler,
1837
- onFocus: _onFocusHandler,
1838
- onBlur: _onBlurHandler,
1839
- onKeyDown: _onKeyDownHandler,
1840
- tabIndex: isTabbing ? -1 : 0
1841
- },
1842
- currentCell,
1843
- onCurrentCellChanged,
1844
- isShowFocusRing,
1845
- isTabbableMode,
1846
- onStartFocusTracking,
1847
- onFocusStartEdge,
1848
- onFocusEndEdge
1849
- };
1850
- }
1851
-
1852
- /**
1853
- * @license
1854
- * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
1855
- * The Universal Permissive License (UPL), Version 1.0
1856
- * as shown at https://oss.oracle.com/licenses/upl/
1857
- * @ignore
1858
- */
1859
- /**
1860
- * Helper function to handle a row action gesture from a pointer or keyboard event
1861
- */
1862
- function handleRowActionGesture(root, tableId, data, onRowAction, targetElement, targetCell) {
1863
- let rowKey;
1864
- let rowElement;
1865
- if (targetCell?.type === 'data') {
1866
- rowKey = targetCell.rowKey;
1867
- const targetCellElement = getElementFromCell(root, tableId, targetCell);
1868
- if (targetCellElement != null) {
1869
- rowElement = targetCellElement.parentElement;
1870
- }
1871
- }
1872
- else {
1873
- rowKey = collectionUtils.keyExtractor(targetElement, `[data-oj-table-data-row='${tableId}']`);
1874
- if (rowKey != null) {
1875
- rowElement = targetElement.closest(`[data-oj-table-data-row='${tableId}']`);
1876
- }
1877
- }
1878
- if (rowKey != null && rowElement != null) {
1879
- const rowIndex = getRowIndexForRowElement(root, tableId, rowElement);
1880
- if (rowIndex != null) {
1881
- const rowContext = {
1882
- key: rowKey,
1883
- data: data[rowIndex]
1884
- };
1885
- onRowAction({ context: rowContext, target: targetElement });
1886
- return true;
1887
- }
1888
- }
1889
- return false;
1890
- }
1891
- /**
1892
- * Helper function to handle a row action gesture
1893
- */
1894
- function handleSortActionGesture(columnsArray, columnKey, onSortCriterionChange, sortCriterion) {
1895
- for (const column of columnsArray) {
1896
- if (column.key === columnKey) {
1897
- if (column.value.sortable === 'enabled') {
1898
- let sortDirection;
1899
- if (sortCriterion != null) {
1900
- for (const criterion of sortCriterion) {
1901
- if (criterion.key === column.key) {
1902
- sortDirection = criterion.sortDirection;
1903
- break;
1904
- }
1905
- }
1906
- }
1907
- const newDirection = sortDirection === 'ascending' ? 'descending' : 'ascending';
1908
- onSortCriterionChange([{ key: columnKey, sortDirection: newDirection }]);
1909
- return true;
1910
- }
1911
- break;
1912
- }
1913
- }
1914
- return false;
1915
- }
1916
-
1917
- /**
1918
- * Helper function to handle a selection gesture (click, spacebar, etc...)
1919
- */
1920
- function handleSelectionGesture(root, tableId, columnsArray, targetElement, isMultiSelectGesture, onSelectionChange, selectionMode, selected) {
1921
- const emptyKeys = { all: false, keys: new Set() };
1922
- let selectedRows = selected?.row != null ? selected.row : emptyKeys;
1923
- let selectedColumns = selected?.column != null ? selected.column : emptyKeys;
1924
- const newRowKey = collectionUtils.keyExtractor(targetElement, `[data-oj-table-data-row='${tableId}']`);
1925
- if (newRowKey != null) {
1926
- if (selectionMode?.row === 'single' || selectionMode?.row === 'multiple') {
1927
- if (selectedRows == null) {
1928
- selectedRows = { all: false, keys: new Set([newRowKey]) };
1929
- }
1930
- else if (!keys.containsKey(selectedRows, newRowKey)) {
1931
- if (isMultiSelectGesture && selectionMode.row === 'multiple') {
1932
- selectedRows = keys.addKey(selectedRows, newRowKey);
1933
- }
1934
- else {
1935
- selectedRows = { all: false, keys: new Set([newRowKey]) };
1936
- }
1937
- }
1938
- else if (isMultiSelectGesture) {
1939
- selectedRows = keys.removeKey(selectedRows, newRowKey, false);
1940
- }
1941
- else {
1942
- selectedRows = { all: false, keys: new Set([newRowKey]) };
1943
- }
1944
- selectedColumns = emptyKeys;
1945
- }
1946
- }
1947
- else if (selectionMode?.column === 'single' || selectionMode?.column === 'multiple') {
1948
- const cellElement = targetElement.closest(`[data-oj-table-focusable='${tableId}']`);
1949
- if (cellElement != null) {
1950
- const cellType = getCellType(cellElement);
1951
- if (cellType === 'header' || cellType === 'footer') {
1952
- const index = getColumnIndexForHeaderFooterElement(root, tableId, cellElement, cellType === 'header');
1953
- if (index != null) {
1954
- const column = columnsArray[index];
1955
- if (column.value.selectable !== 'disabled') {
1956
- if (selectedColumns == null) {
1957
- selectedColumns = { all: false, keys: new Set([column.key]) };
1958
- }
1959
- else if (!keys.containsKey(selectedColumns, column.key)) {
1960
- if (isMultiSelectGesture && selectionMode.column === 'multiple') {
1961
- selectedColumns = keys.addKey(selectedColumns, column.key);
1962
- }
1963
- else {
1964
- selectedColumns = { all: false, keys: new Set([column.key]) };
1965
- }
1966
- }
1967
- else if (isMultiSelectGesture) {
1968
- selectedColumns = keys.removeKey(selectedColumns, column.key, false);
1969
- }
1970
- else {
1971
- selectedColumns = { all: false, keys: new Set([column.key]) };
1972
- }
1973
- selectedRows = emptyKeys;
1974
- }
1975
- }
1976
- }
1977
- }
1978
- }
1979
- if (!keys.isSameKey(selectedRows, selected?.row) || !keys.isSameKey(selectedColumns, selected?.column)) {
1980
- onSelectionChange({ value: { row: selectedRows, column: selectedColumns }, target: targetElement }, false);
1981
- }
1982
- }
1983
- /**
1984
- * Helper function to calculate and apply a new selection state corresponding to the range provided
1985
- */
1986
- function _applyRangeSelection(root, tableId, columnsArray, targetElement, startIndex, endIndex, isRowGesture, onSelectionChange, selectionMode, selected) {
1987
- const emptyKeys = { all: false, keys: new Set() };
1988
- let selectedRows = selected?.row != null ? selected.row : emptyKeys;
1989
- let selectedColumns = selected?.column != null ? selected.column : emptyKeys;
1990
- if (isRowGesture) {
1991
- selectedColumns = emptyKeys;
1992
- if (selectionMode?.row === 'multiple') {
1993
- selectedRows = emptyKeys;
1994
- // selected rows should be added in the order that they are selected
1995
- if (startIndex <= endIndex) {
1996
- for (let i = startIndex; i <= endIndex; i++) {
1997
- const key = getRowKeyForRowIndex(root, tableId, i);
1998
- selectedRows = keys.addKey(selectedRows, key);
1999
- }
2000
- }
2001
- else {
2002
- for (let i = startIndex; i >= endIndex; i--) {
2003
- const key = getRowKeyForRowIndex(root, tableId, i);
2004
- selectedRows = keys.addKey(selectedRows, key);
2005
- }
2006
- }
2007
- }
2008
- }
2009
- else {
2010
- selectedRows = emptyKeys;
2011
- if (selectionMode?.column === 'multiple') {
2012
- selectedColumns = emptyKeys;
2013
- // selected columns should be added in the order that they are selected
2014
- if (startIndex <= endIndex) {
2015
- for (let i = startIndex; i <= endIndex; i++) {
2016
- const column = columnsArray[i];
2017
- if (column.value.selectable !== 'disabled') {
2018
- selectedColumns = keys.addKey(selectedColumns, column.key);
2019
- }
2020
- }
2021
- }
2022
- else {
2023
- for (let i = startIndex; i >= endIndex; i--) {
2024
- const column = columnsArray[i];
2025
- if (column.value.selectable !== 'disabled') {
2026
- selectedColumns = keys.addKey(selectedColumns, column.key);
2027
- }
2028
- }
2029
- }
2030
- }
2031
- }
2032
- if (!keys.isSameKey(selectedRows, selected?.row) || !keys.isSameKey(selectedColumns, selected?.column)) {
2033
- onSelectionChange({ value: { row: selectedRows, column: selectedColumns }, target: targetElement }, true);
2034
- }
2035
- }
2036
- /**
2037
- * Determines whether a potential range selection gesture is valid based on the given target
2038
- */
2039
- function isRangeSelectionGesture(root, tableId, targetElement, currentCell, selectionMode) {
2040
- const targetCell = logicalCellExtractor(targetElement, tableId, `[data-oj-table-focusable='${tableId}']`);
2041
- if (((selectionMode?.row === 'multiple' && currentCell.type === 'data') ||
2042
- (selectionMode?.column === 'multiple' &&
2043
- (currentCell.type === 'header' || currentCell.type === 'footer'))) &&
2044
- targetCell?.type === currentCell.type) {
2045
- const currentCellElement = getElementFromCell(root, tableId, currentCell);
2046
- const targetCellElement = getElementFromCell(root, tableId, targetCell);
2047
- if (currentCellElement != null && targetCellElement != null) {
2048
- const isRow = targetCell?.type === 'data';
2049
- if (isRow) {
2050
- return (getRowIndexForRowElement(root, tableId, currentCellElement.parentElement) != null &&
2051
- getRowIndexForRowElement(root, tableId, targetCellElement.parentElement) !=
2052
- null);
2053
- }
2054
- else if (targetCell?.type === 'header' || targetCell?.type === 'footer') {
2055
- const isHeader = targetCell?.type === 'header';
2056
- return (getColumnIndexForHeaderFooterElement(root, tableId, currentCellElement, isHeader) !=
2057
- null &&
2058
- getColumnIndexForHeaderFooterElement(root, tableId, targetCellElement, isHeader) != null);
2059
- }
2060
- }
2061
- }
2062
- return false;
2063
- }
2064
- /**
2065
- * Helper function to handle a range selection gesture (shift+click)
2066
- */
2067
- function handleRangeSelectionGesture(root, tableId, columnsArray, targetElement, currentCell, selectionExtensionElementRef, onSelectionChange, selectionMode, selected) {
2068
- const targetCell = logicalCellExtractor(targetElement, tableId, `[data-oj-table-focusable='${tableId}']`);
2069
- const currentCellElement = getElementFromCell(root, tableId, currentCell);
2070
- const targetCellElement = getElementFromCell(root, tableId, targetCell);
2071
- if (currentCellElement != null && targetCellElement != null) {
2072
- if (((selectionMode?.row === 'multiple' && targetCell?.type === 'data') ||
2073
- (selectionMode?.column === 'multiple' &&
2074
- (targetCell?.type === 'header' || targetCell?.type === 'footer'))) &&
2075
- targetCell?.type === currentCell.type) {
2076
- let startIndex;
2077
- let endIndex;
2078
- let endElement;
2079
- const isRow = targetCell?.type === 'data';
2080
- if (isRow) {
2081
- endElement = targetCellElement.parentElement;
2082
- startIndex = getRowIndexForRowElement(root, tableId, currentCellElement.parentElement);
2083
- endIndex = getRowIndexForRowElement(root, tableId, endElement);
2084
- }
2085
- else if (targetCell?.type === 'header' || targetCell?.type === 'footer') {
2086
- const isHeader = targetCell?.type === 'header';
2087
- endElement = targetCellElement;
2088
- startIndex = getColumnIndexForHeaderFooterElement(root, tableId, currentCellElement, isHeader);
2089
- endIndex = getColumnIndexForHeaderFooterElement(root, tableId, targetCellElement, isHeader);
2090
- }
2091
- if (startIndex != null && endIndex != null) {
2092
- selectionExtensionElementRef.current = endElement;
2093
- _applyRangeSelection(root, tableId, columnsArray, targetElement, startIndex, endIndex, isRow, onSelectionChange, selectionMode, selected);
2094
- return true;
2095
- }
2096
- }
2097
- }
2098
- return false;
2099
- }
2100
- /**
2101
- * Helper function to handle a selection extension gesture (shift+arrow key)
2102
- */
2103
- function handleExtendSelectionGesture(root, tableId, columnsArray, sizingInfoRef, targetElement, isPrevious, currentCell, selectionExtensionElementRef, onSelectionChange, isRtl, fullColumnWidths, selectionMode, selected) {
2104
- const currentCellElement = getElementFromCell(root, tableId, currentCell);
2105
- if (currentCellElement != null) {
2106
- let startIndex;
2107
- let startElement;
2108
- const isRow = currentCell.type === 'data';
2109
- const isHeader = currentCell.type === 'header';
2110
- if (isRow) {
2111
- startElement = currentCellElement.parentElement;
2112
- startIndex = getRowIndexForRowElement(root, tableId, startElement);
2113
- }
2114
- else {
2115
- startElement = currentCellElement;
2116
- startIndex = getColumnIndexForHeaderFooterElement(root, tableId, startElement, isHeader);
2117
- }
2118
- if (startIndex != null) {
2119
- let endIndex;
2120
- let extendedElement;
2121
- const cursorElement = selectionExtensionElementRef.current;
2122
- if (cursorElement != null) {
2123
- extendedElement = isPrevious
2124
- ? cursorElement.previousElementSibling
2125
- : cursorElement.nextElementSibling;
2126
- if (extendedElement != null) {
2127
- selectionExtensionElementRef.current = extendedElement;
2128
- endIndex = isRow
2129
- ? getRowIndexForRowElement(root, tableId, extendedElement)
2130
- : getColumnIndexForHeaderFooterElement(root, tableId, extendedElement, isHeader);
2131
- }
2132
- else {
2133
- endIndex = isRow
2134
- ? getRowIndexForRowElement(root, tableId, cursorElement)
2135
- : getColumnIndexForHeaderFooterElement(root, tableId, cursorElement, isHeader);
2136
- }
2137
- }
2138
- else {
2139
- extendedElement = isPrevious
2140
- ? startElement.previousElementSibling
2141
- : startElement.nextElementSibling;
2142
- if (extendedElement != null) {
2143
- selectionExtensionElementRef.current = extendedElement;
2144
- endIndex = isRow
2145
- ? getRowIndexForRowElement(root, tableId, extendedElement)
2146
- : getColumnIndexForHeaderFooterElement(root, tableId, extendedElement, isHeader);
2147
- }
2148
- else {
2149
- endIndex = startIndex;
2150
- }
2151
- }
2152
- if (endIndex != null) {
2153
- _applyRangeSelection(root, tableId, columnsArray, targetElement, startIndex, endIndex, isRow, onSelectionChange, selectionMode, selected);
2154
- }
2155
- // scroll 'extensionElement' into view
2156
- const extensionElement = selectionExtensionElementRef.current != null
2157
- ? selectionExtensionElementRef.current
2158
- : currentCellElement;
2159
- let extensionCell;
2160
- if (isRow) {
2161
- const rowKey = collectionUtils.keyExtractor(extensionElement, `[data-oj-table-data-row='${tableId}']`);
2162
- extensionCell = {
2163
- type: currentCell.type,
2164
- rowKey: rowKey,
2165
- columnKey: currentCell.columnKey
2166
- };
2167
- }
2168
- else {
2169
- extensionCell = logicalCellExtractor(extensionElement, tableId, `[data-oj-table-focusable='${tableId}']`);
2170
- }
2171
- applyScrollDetail(root, tableId, columnsArray, sizingInfoRef.current, { cell: extensionCell, locationX: 'inView', locationY: 'inView' }, isRtl, fullColumnWidths);
2172
- }
2173
- }
2174
- }
2175
-
2176
- /**
2177
- * @license
2178
- * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
2179
- * The Universal Permissive License (UPL), Version 1.0
2180
- * as shown at https://oss.oracle.com/licenses/upl/
2181
- * @ignore
2182
- */
2183
- /**
2184
- * Hook that manages keyboard interactions on the Preact Table
2185
- */
2186
- function useKeyboardHandling({ outerTableRef, tableId, data, isRtl, isTabbableMode, columnsArray, sizingInfoRef, selectionExtensionElementRef, fullColumnWidths, currentCell, onCurrentCellChanged, selectionMode, selected, onTableSelectionChange, onRowAction, sortCriterion, onSortCriterionChange }) {
2187
- // Keydown handler for the outer Table. This handles all internal
2188
- // keyboard navigation for the Table.
2189
- const _keyDownHandler = hooks.useCallback((event) => {
2190
- const platform = clientHints.getClientHints().platform;
2191
- const keyHandlers = {
2192
- ' ': function (root) {
2193
- if (outerTableRef.current != null) {
2194
- if (currentCell != null) {
2195
- if (!isTabbableMode) {
2196
- if (onTableSelectionChange != null) {
2197
- handleSelectionGesture(outerTableRef.current, tableId, columnsArray, getElementFromCell(root, tableId, currentCell), true, onTableSelectionChange, selectionMode, selected);
2198
- }
2199
- event.preventDefault();
2200
- }
2201
- if (onRowAction != null &&
2202
- data != null &&
2203
- handleRowActionGesture(outerTableRef.current, tableId, data, onRowAction, event.target, currentCell)) {
2204
- event.stopPropagation();
2205
- }
2206
- }
2207
- }
2208
- },
2209
- Enter: function () {
2210
- if (outerTableRef.current != null) {
2211
- if (currentCell != null) {
2212
- if (onRowAction != null &&
2213
- data != null &&
2214
- currentCell.type === 'data' &&
2215
- handleRowActionGesture(outerTableRef.current, tableId, data, onRowAction, event.target, currentCell)) {
2216
- event.stopPropagation();
2217
- }
2218
- else if (!isTabbableMode &&
2219
- onSortCriterionChange != null &&
2220
- currentCell.type === 'header' &&
2221
- handleSortActionGesture(columnsArray, currentCell.columnKey, onSortCriterionChange, sortCriterion)) {
2222
- event.stopPropagation();
2223
- }
2224
- }
2225
- }
2226
- },
2227
- ArrowUp: function (root) {
2228
- if (outerTableRef.current != null) {
2229
- if (!isTabbableMode && currentCell != null) {
2230
- if (currentCell.type === 'data' &&
2231
- event.shiftKey &&
2232
- onTableSelectionChange != null &&
2233
- selectionMode?.row === 'multiple') {
2234
- handleExtendSelectionGesture(outerTableRef.current, tableId, columnsArray, sizingInfoRef, root, true, currentCell, selectionExtensionElementRef, onTableSelectionChange, isRtl, fullColumnWidths, selectionMode, selected);
2235
- }
2236
- else {
2237
- handleAdjacentRowGesture(root, tableId, columnsArray, currentCell, onCurrentCellChanged, true);
2238
- }
2239
- event.preventDefault();
2240
- }
2241
- }
2242
- },
2243
- ArrowDown: function (root) {
2244
- if (outerTableRef.current != null) {
2245
- if (!isTabbableMode && currentCell != null) {
2246
- if (currentCell.type === 'data' &&
2247
- event.shiftKey &&
2248
- onTableSelectionChange != null &&
2249
- selectionMode?.row === 'multiple') {
2250
- handleExtendSelectionGesture(outerTableRef.current, tableId, columnsArray, sizingInfoRef, root, false, currentCell, selectionExtensionElementRef, onTableSelectionChange, isRtl, fullColumnWidths, selectionMode, selected);
2251
- }
2252
- else {
2253
- handleAdjacentRowGesture(root, tableId, columnsArray, currentCell, onCurrentCellChanged, false);
2254
- }
2255
- event.preventDefault();
2256
- }
2257
- }
2258
- },
2259
- ArrowLeft: function (root) {
2260
- if (outerTableRef.current != null) {
2261
- if (!isTabbableMode && currentCell != null) {
2262
- if ((currentCell.type === 'header' || currentCell.type === 'footer') &&
2263
- event.shiftKey &&
2264
- onTableSelectionChange != null &&
2265
- selectionMode?.column === 'multiple') {
2266
- handleExtendSelectionGesture(outerTableRef.current, tableId, columnsArray, sizingInfoRef, root, true, currentCell, selectionExtensionElementRef, onTableSelectionChange, isRtl, fullColumnWidths, selectionMode, selected);
2267
- }
2268
- else {
2269
- handleAdjacentColumnGesture(columnsArray, currentCell, onCurrentCellChanged, !isRtl);
2270
- }
2271
- event.preventDefault();
2272
- }
2273
- }
2274
- },
2275
- ArrowRight: function (root) {
2276
- if (outerTableRef.current != null) {
2277
- if (!isTabbableMode && currentCell != null) {
2278
- if ((currentCell.type === 'header' || currentCell.type === 'footer') &&
2279
- event.shiftKey &&
2280
- onTableSelectionChange != null &&
2281
- selectionMode?.column === 'multiple') {
2282
- handleExtendSelectionGesture(outerTableRef.current, tableId, columnsArray, sizingInfoRef, root, false, currentCell, selectionExtensionElementRef, onTableSelectionChange, isRtl, fullColumnWidths, selectionMode, selected);
2283
- }
2284
- else {
2285
- handleAdjacentColumnGesture(columnsArray, currentCell, onCurrentCellChanged, isRtl);
2286
- }
2287
- event.preventDefault();
2288
- }
2289
- }
2290
- },
2291
- PageUp: function (root) {
2292
- if (!isTabbableMode && currentCell != null) {
2293
- handlePageRowGesture(root, tableId, columnsArray, sizingInfoRef, currentCell, onCurrentCellChanged, true, isRtl, fullColumnWidths);
2294
- event.preventDefault();
2295
- }
2296
- },
2297
- PageDown: function (root) {
2298
- if (!isTabbableMode && currentCell != null) {
2299
- handlePageRowGesture(root, tableId, columnsArray, sizingInfoRef, currentCell, onCurrentCellChanged, false, isRtl, fullColumnWidths);
2300
- event.preventDefault();
2301
- }
2302
- },
2303
- Home: function (root) {
2304
- if (!isTabbableMode && currentCell != null) {
2305
- handleJumpColumnGesture(root, tableId, columnsArray, currentCell, onCurrentCellChanged, true, platform === 'mac' ? event.metaKey : event.ctrlKey);
2306
- event.preventDefault();
2307
- }
2308
- },
2309
- End: function (root) {
2310
- if (!isTabbableMode && currentCell != null) {
2311
- handleJumpColumnGesture(root, tableId, columnsArray, currentCell, onCurrentCellChanged, false, platform === 'mac' ? event.metaKey : event.ctrlKey);
2312
- event.preventDefault();
2313
- }
2314
- }
2315
- };
2316
- if (Object.keys(keyHandlers).includes(event.key) && outerTableRef.current != null) {
2317
- keyHandlers[event.key](outerTableRef.current);
2318
- }
2319
- }, [
2320
- outerTableRef,
2321
- tableId,
2322
- data,
2323
- isRtl,
2324
- isTabbableMode,
2325
- columnsArray,
2326
- sizingInfoRef,
2327
- selectionExtensionElementRef,
2328
- fullColumnWidths,
2329
- currentCell,
2330
- onCurrentCellChanged,
2331
- selectionMode,
2332
- selected,
2333
- onTableSelectionChange,
2334
- onRowAction,
2335
- sortCriterion,
2336
- onSortCriterionChange
2337
- ]);
2338
- return { onKeyDown: _keyDownHandler };
2339
- }
2340
-
2341
- /**
2342
- * Helper function to handle a hover over a resizable column region gesture.
2343
- */
2344
- function handleOverResizeRegionGesture(root, tableId, event, columnsArray, resizeInfoRef, isRtl) {
2345
- // handle hover feedback around potentially resizable columns
2346
- _updateResizingState(root, tableId, event, columnsArray, resizeInfoRef, isRtl);
2347
- }
2348
- /**
2349
- * Helper function to handle a column resize start gesture (pointer down).
2350
- */
2351
- function handleColumnResizeStartGesture(root, tableId, event, columnsArray, appliedColumnWidths, resizeInfoRef, isRtl, fullColumnWidths, onColumnResizing) {
2352
- if (fullColumnWidths != null) {
2353
- if (resizeInfoRef.current.key == null) {
2354
- _updateResizingState(root, tableId, event, columnsArray, resizeInfoRef, isRtl);
2355
- }
2356
- if (resizeInfoRef.current.key != null) {
2357
- const innerTable = root.querySelector(`[data-oj-table-inner-table='${tableId}']`);
2358
- if (innerTable != null) {
2359
- const rect = innerTable.getBoundingClientRect();
2360
- const pointerX = isRtl ? rect.right - event.clientX : event.clientX - rect.left;
2361
- const resizeColumnWidths = [];
2362
- for (let i = 0; i < fullColumnWidths.length; i++) {
2363
- const columnWidth = fullColumnWidths[i];
2364
- resizeColumnWidths.push(columnWidth);
2365
- }
2366
- resizeInfoRef.current = {
2367
- isResizing: true,
2368
- isResizeHover: true,
2369
- key: resizeInfoRef.current.key,
2370
- startX: pointerX,
2371
- delta: 0,
2372
- fullColumnWidths: resizeColumnWidths,
2373
- ignoreClick: resizeInfoRef.current.ignoreClick
2374
- };
2375
- if (onColumnResizing != null) {
2376
- onColumnResizing({
2377
- key: resizeInfoRef.current.key,
2378
- delta: 0,
2379
- allColumnWidths: appliedColumnWidths
2380
- });
2381
- }
2382
- return true;
2383
- }
2384
- }
2385
- }
2386
- return false;
2387
- }
2388
- /**
2389
- * Helper function to ensure the resizing state is updated based on the latest pointer event.
2390
- */
2391
- function _updateResizingState(root, tableId, event, columnsArray, resizeInfoRef, isRtl) {
2392
- const headerRowElement = root.querySelector(`[data-oj-table-header-row='${tableId}']`);
2393
- if (headerRowElement != null) {
2394
- const headerElements = headerRowElement.querySelectorAll(`[data-oj-table-header-cell='${tableId}']`);
2395
- if (collectionUtils.getElementContainsFunc(headerRowElement)(event.target)) {
2396
- let isResizeHover = false;
2397
- for (let i = 0; i < headerElements.length; i++) {
2398
- const headerElement = headerElements[i];
2399
- const cellRect = headerElement.getBoundingClientRect();
2400
- const endEdge = isRtl ? cellRect.left : cellRect.right;
2401
- if (Math.abs(endEdge - event.pageX) <= 8) {
2402
- if (columnsArray[i].value.edgeResizable !== 'enabled') {
2403
- break;
2404
- }
2405
- // resize operation on end side of header cell
2406
- resizeInfoRef.current.key = columnsArray[i].key;
2407
- headerRowElement.style.cursor = 'col-resize';
2408
- isResizeHover = true;
2409
- resizeInfoRef.current.isResizeHover = true;
2410
- }
2411
- }
2412
- if (!isResizeHover) {
2413
- headerRowElement.style.cursor = '';
2414
- resizeInfoRef.current.key = undefined;
2415
- resizeInfoRef.current.isResizeHover = false;
2416
- }
2417
- }
2418
- else {
2419
- if (headerRowElement != null) {
2420
- headerRowElement.style.cursor = '';
2421
- }
2422
- resizeInfoRef.current.key = undefined;
2423
- resizeInfoRef.current.isResizeHover = false;
2424
- }
2425
- }
2426
- }
2427
- /**
2428
- * Helper function to handle a pointer move gesture during a column resize.
2429
- */
2430
- function handleColumnResizingGesture(root, tableId, event, appliedColumnWidths, resizeInfoRef, isRtl, fullColumnWidths, onColumnResizing) {
2431
- if (resizeInfoRef.current.isResizing && fullColumnWidths != null) {
2432
- const innerTable = root.querySelector(`[data-oj-table-inner-table='${tableId}']`);
2433
- if (innerTable != null) {
2434
- const rect = innerTable.getBoundingClientRect();
2435
- const currentX = isRtl ? rect.right - event.clientX : event.clientX - rect.left;
2436
- resizeInfoRef.current.delta = currentX - resizeInfoRef.current.startX;
2437
- // handle resize move operation
2438
- if (onColumnResizing != null) {
2439
- onColumnResizing({
2440
- key: resizeInfoRef.current.key,
2441
- delta: resizeInfoRef.current.delta,
2442
- allColumnWidths: appliedColumnWidths
2443
- });
2444
- }
2445
- }
2446
- }
2447
- }
2448
- /**
2449
- * Helper function to handle a column resize end gesture (pointer up).
2450
- */
2451
- function handleColumnResizeEndGesture(root, tableId, event, appliedColumnWidths, resizeInfoRef, isRtl, onColumnResize) {
2452
- if (resizeInfoRef.current.isResizing) {
2453
- if (onColumnResize != null) {
2454
- for (const columnWidth of resizeInfoRef.current.fullColumnWidths) {
2455
- }
2456
- const innerTable = root.querySelector(`[data-oj-table-inner-table='${tableId}']`);
2457
- if (innerTable != null) {
2458
- const rect = innerTable.getBoundingClientRect();
2459
- const currentX = isRtl ? rect.right - event.clientX : event.clientX - rect.left;
2460
- resizeInfoRef.current.delta = currentX - resizeInfoRef.current.startX;
2461
- onColumnResize({
2462
- key: resizeInfoRef.current.key,
2463
- delta: resizeInfoRef.current.delta,
2464
- allColumnWidths: appliedColumnWidths
2465
- });
2466
- }
2467
- }
2468
- }
2469
- resizeInfoRef.current = {
2470
- isResizing: false,
2471
- isResizeHover: resizeInfoRef.current.isResizeHover,
2472
- ignoreClick: resizeInfoRef.current.ignoreClick
2473
- };
2474
- }
2475
- /**
2476
- * Helper function to handle the pointer leaving the entire Table when previously hovering
2477
- * over a column resize region.
2478
- */
2479
- function handleLeaveResizingGesture(root, tableId, resizeInfoRef) {
2480
- if (!resizeInfoRef.current.isResizing) {
2481
- const headerRowElement = root.querySelector(`[data-oj-table-header-row='${tableId}']`);
2482
- if (headerRowElement != null) {
2483
- headerRowElement.style.cursor = '';
2484
- }
2485
- resizeInfoRef.current.isResizeHover = false;
2486
- }
2487
- }
2488
- /**
2489
- * Helper function to handle a pointer entering the Table when it was previously handling
2490
- * a column resize gesture.
2491
- */
2492
- function handleEnterResizingGesture(root, tableId, event, appliedColumnWidths, resizeInfoRef, isRtl, onColumnResize) {
2493
- // handle case where user was resizing, moved pointer out of the Table,
2494
- // released the button, and has now entered the table once again
2495
- if (resizeInfoRef.current.isResizing && event.buttons === 0) {
2496
- handleColumnResizeEndGesture(root, tableId, event, appliedColumnWidths, resizeInfoRef, isRtl, onColumnResize);
2497
- }
2498
- }
2499
-
2500
- /**
2501
- * @license
2502
- * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
2503
- * The Universal Permissive License (UPL), Version 1.0
2504
- * as shown at https://oss.oracle.com/licenses/upl/
2505
- * @ignore
2506
- */
2507
- /**
2508
- * Hook that manages pointer interactions on the Preact Table
2509
- */
2510
- function usePointerHandling({ outerTableRef, tableId, data, isRtl, columnsArray, appliedColumnWidths, resizeInfoRef, selectionExtensionElementRef, fullColumnWidths, onColumnResizing, onColumnResize, currentCell, selectionMode, selected, onTableSelectionChange, onRowAction }) {
2511
- // tracks whether the most recent 'pointerdown' event was due to a touch gesture
2512
- const selectionTouchRef = hooks.useRef(false);
2513
- // Pointer move handler for the outer Table.
2514
- const _pointerMoveHandler = hooks.useCallback((event) => {
2515
- if (outerTableRef.current != null && onColumnResizing != null) {
2516
- if (!resizeInfoRef.current.isResizing) {
2517
- handleOverResizeRegionGesture(outerTableRef.current, tableId, event, columnsArray, resizeInfoRef, isRtl);
2518
- }
2519
- else {
2520
- handleColumnResizingGesture(outerTableRef.current, tableId, event, appliedColumnWidths, resizeInfoRef, isRtl, fullColumnWidths, onColumnResizing);
2521
- }
2522
- }
2523
- }, [
2524
- outerTableRef,
2525
- tableId,
2526
- columnsArray,
2527
- appliedColumnWidths,
2528
- resizeInfoRef,
2529
- isRtl,
2530
- fullColumnWidths,
2531
- onColumnResizing
2532
- ]);
2533
- // Pointer down handler for the outer Table. It ensures the area targeted is 'current'.
2534
- // NOTE - This event handling is triggered prior to 'onFocus' handling and ensures the
2535
- // 'pending current' area is set when an initial pointer interaction focuses the Table.
2536
- const _pointerDownHandler = hooks.useCallback((event) => {
2537
- if (outerTableRef.current != null) {
2538
- selectionTouchRef.current = event.pointerType === 'touch';
2539
- const targetElement = event.target;
2540
- if (onTableSelectionChange != null &&
2541
- currentCell != null &&
2542
- event.shiftKey &&
2543
- isRangeSelectionGesture(outerTableRef.current, tableId, targetElement, currentCell, selectionMode)) {
2544
- // prevent focus change on selection extension gesture
2545
- if (!textSelectionUtils.getIsSelectionPending()) {
2546
- event.preventDefault();
2547
- }
2548
- }
2549
- else if (handleColumnResizeStartGesture(outerTableRef.current, tableId, event, columnsArray, appliedColumnWidths, resizeInfoRef, isRtl, fullColumnWidths, onColumnResizing)) {
2550
- // prevent focus change on column resize gesture
2551
- event.preventDefault();
2552
- resizeInfoRef.current.ignoreClick = true;
2553
- }
2554
- }
2555
- }, [
2556
- outerTableRef,
2557
- tableId,
2558
- columnsArray,
2559
- appliedColumnWidths,
2560
- resizeInfoRef,
2561
- isRtl,
2562
- currentCell,
2563
- selectionMode,
2564
- onTableSelectionChange,
2565
- fullColumnWidths,
2566
- onColumnResizing
2567
- ]);
2568
- // Pointer up handler for the outer Table.
2569
- const _pointerUpHandler = hooks.useCallback((event) => {
2570
- if (outerTableRef.current != null) {
2571
- handleColumnResizeEndGesture(outerTableRef.current, tableId, event, appliedColumnWidths, resizeInfoRef, isRtl, onColumnResize);
2572
- }
2573
- }, [outerTableRef, tableId, appliedColumnWidths, resizeInfoRef, isRtl, onColumnResize]);
2574
- // Pointer leave handler for the outer Table.
2575
- const _pointerLeaveHandler = hooks.useCallback((_event) => {
2576
- if (outerTableRef.current != null) {
2577
- handleLeaveResizingGesture(outerTableRef.current, tableId, resizeInfoRef);
2578
- }
2579
- }, [outerTableRef, tableId, resizeInfoRef]);
2580
- // Pointer leave handler for the outer Table.
2581
- const _pointerEnterHandler = hooks.useCallback((event) => {
2582
- if (outerTableRef.current != null) {
2583
- handleEnterResizingGesture(outerTableRef.current, tableId, event, appliedColumnWidths, resizeInfoRef, isRtl, onColumnResize);
2584
- }
2585
- }, [outerTableRef, tableId, appliedColumnWidths, resizeInfoRef, isRtl, onColumnResize]);
2586
- // Click handler for the outer Table. It ensures the Table's selection state is
2587
- // updated to reflect the area targeted.
2588
- const _clickHandler = hooks.useCallback((event) => {
2589
- let isSelectionExtension = false;
2590
- const platform = clientHints.getClientHints().platform;
2591
- const target = event.target;
2592
- if (outerTableRef.current != null) {
2593
- if (onTableSelectionChange != null &&
2594
- !resizeInfoRef.current.ignoreClick &&
2595
- !textSelectionUtils.getIsSelectionPending()) {
2596
- if (currentCell != null && event.shiftKey) {
2597
- isSelectionExtension = handleRangeSelectionGesture(outerTableRef.current, tableId, columnsArray, target, currentCell, selectionExtensionElementRef, onTableSelectionChange, selectionMode, selected);
2598
- }
2599
- if (!isSelectionExtension) {
2600
- handleSelectionGesture(outerTableRef.current, tableId, columnsArray, target, (platform === 'mac' ? event.metaKey : event.ctrlKey) || selectionTouchRef.current, onTableSelectionChange, selectionMode, selected);
2601
- }
2602
- }
2603
- if (onRowAction != null &&
2604
- data != null &&
2605
- !textSelectionUtils.getIsSelectionPending() &&
2606
- handleRowActionGesture(outerTableRef.current, tableId, data, onRowAction, target)) {
2607
- event.stopPropagation();
2608
- }
2609
- }
2610
- resizeInfoRef.current.ignoreClick = false;
2611
- }, [
2612
- outerTableRef,
2613
- tableId,
2614
- columnsArray,
2615
- data,
2616
- resizeInfoRef,
2617
- selectionExtensionElementRef,
2618
- currentCell,
2619
- selectionMode,
2620
- selected,
2621
- onTableSelectionChange,
2622
- onRowAction
2623
- ]);
2624
- return {
2625
- onPointerMove: _pointerMoveHandler,
2626
- onPointerDown: _pointerDownHandler,
2627
- onPointerUp: _pointerUpHandler,
2628
- onPointerLeave: _pointerLeaveHandler,
2629
- onPointerEnter: _pointerEnterHandler,
2630
- onClick: _clickHandler
2631
- };
2632
- }
2633
-
2634
- /**
2635
- * @license
2636
- * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
2637
- * The Universal Permissive License (UPL), Version 1.0
2638
- * as shown at https://oss.oracle.com/licenses/upl/
2639
- * @ignore
2640
- */
2641
- /**
2642
- * Hook that manages handling scroll events on the Preact Table
2643
- */
2644
- function useScrollHandling({ outerTableRef, columnsArray, stickyEdgesState, setStickyEdgesState, fullColumnWidths }) {
2645
- // Scroll hander for the outer Table. It ensures the Table's sticky edges are updated.
2646
- const _scrollHandler = hooks.useCallback(() => {
2647
- if (outerTableRef.current != null && fullColumnWidths != null) {
2648
- updateStickyEdges(outerTableRef.current, columnsArray, fullColumnWidths, stickyEdgesState, setStickyEdgesState, outerTableRef.current.scrollLeft);
2649
- }
2650
- }, [outerTableRef, columnsArray, stickyEdgesState, setStickyEdgesState, fullColumnWidths]);
2651
- return { onScroll: _scrollHandler };
2652
- }
2653
-
2654
- /**
2655
- * @license
2656
- * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
2657
- * The Universal Permissive License (UPL), Version 1.0
2658
- * as shown at https://oss.oracle.com/licenses/upl/
2659
- * @ignore
2660
- */
2661
- /**
2662
- * Hook that manages interactions and events on the Preact Table
2663
- */
2664
- function useInteractionManager({ outerTableRef, tableId, data, isRtl, columnsArray, appliedColumnWidths, sizingInfoRef, resizeInfoRef, stickyEdgesState, setStickyEdgesState, cellHasRenderer, fullColumnWidths, onColumnResizing, onColumnResize, currentCellOverride, onPersistCurrentCell, selectionMode, selected, onSelectionChange, onRowAction, sortCriterion, onSortCriterionChange }) {
2665
- // tracks the current selection extension element (if any)
2666
- const selectionExtensionElementRef = hooks.useRef();
2667
- // intercept onSelectionChange calls to ensure local selectionExtensionElementRef is cleared
2668
- const onTableSelectionChange = hooks.useMemo(() => {
2669
- return onSelectionChange != null
2670
- ? (detail, isExtendableSelection) => {
2671
- if (!isExtendableSelection) {
2672
- selectionExtensionElementRef.current = undefined;
2673
- }
2674
- onSelectionChange(detail);
2675
- }
2676
- : undefined;
2677
- }, [onSelectionChange]);
2678
- // setup focus tracking using the useFocusHandling hook
2679
- const { focusHandlingProps, currentCell, onCurrentCellChanged, isShowFocusRing, isTabbableMode, onStartFocusTracking, onFocusStartEdge, onFocusEndEdge } = useFocusHandling({
2680
- outerTableRef,
2681
- tableId,
2682
- columnsArray,
2683
- sizingInfoRef,
2684
- selectionExtensionElementRef,
2685
- isRtl,
2686
- cellSupportsTabbable: cellHasRenderer,
2687
- fullColumnWidths,
2688
- currentCellOverride,
2689
- onPersistCurrentCell
2690
- });
2691
- const keyboardHandlingProps = useKeyboardHandling({
2692
- outerTableRef,
2693
- tableId,
2694
- data,
2695
- isRtl,
2696
- isTabbableMode,
2697
- columnsArray,
2698
- sizingInfoRef,
2699
- selectionExtensionElementRef,
2700
- fullColumnWidths,
2701
- currentCell,
2702
- onCurrentCellChanged,
2703
- selectionMode,
2704
- selected,
2705
- onTableSelectionChange,
2706
- onRowAction,
2707
- sortCriterion,
2708
- onSortCriterionChange
2709
- });
2710
- const pointerHandlingProps = usePointerHandling({
2711
- outerTableRef,
2712
- tableId,
2713
- data,
2714
- isRtl,
2715
- columnsArray,
2716
- appliedColumnWidths,
2717
- resizeInfoRef,
2718
- selectionExtensionElementRef,
2719
- fullColumnWidths,
2720
- onColumnResizing,
2721
- onColumnResize,
2722
- currentCell,
2723
- selectionMode,
2724
- selected,
2725
- onTableSelectionChange,
2726
- onRowAction
2727
- });
2728
- const scrollHandlingProps = useScrollHandling({
2729
- outerTableRef,
2730
- columnsArray,
2731
- stickyEdgesState,
2732
- setStickyEdgesState,
2733
- fullColumnWidths
2734
- });
2735
- const interactionManagerProps = mergeProps.mergeProps(focusHandlingProps, keyboardHandlingProps, pointerHandlingProps, scrollHandlingProps);
2736
- return {
2737
- interactionManagerProps,
2738
- onTableSelectionChange,
2739
- isShowFocusRing,
2740
- isTabbableMode,
2741
- currentCell,
2742
- onStartFocusTracking,
2743
- onFocusStartEdge,
2744
- onFocusEndEdge
2745
- };
2746
- }
2747
-
2748
- /**
2749
- * Helper method to extract the individual column widths of the Table
2750
- * depending on its layout. With a 'fixed' layout, an initial 'availableWidth'
2751
- * is required, while with a 'contents' layout, -1 can be provided as the
2752
- * 'availableWidth' initially. This will trigger the layout logic to ensure
2753
- * a non-contstrained Table width is supported, and is needed to match
2754
- * current Redwood behaviors with a 'contents' layout.
2755
- */
2756
- function getLayoutColumnWidths(outerTableElement, scrollbarWidth, tableId, isFixed, sampledColumnWidthsRef, availableWidth, columnsArray, staticColumnWidths) {
2757
- if (isFixed) {
2758
- return _getFixedLayoutColumnWidths(availableWidth, columnsArray, staticColumnWidths);
2759
- }
2760
- let newColumnWidths = _getContentsLayoutColumnWidths(outerTableElement, tableId, sampledColumnWidthsRef, availableWidth, columnsArray, staticColumnWidths);
2761
- if (availableWidth === -1) {
2762
- let totalWidth = 0;
2763
- const widthsArray = [];
2764
- for (let i = 0; i < columnsArray.length; i++) {
2765
- const width = newColumnWidths[columnsArray[i].key];
2766
- widthsArray.push(width);
2767
- totalWidth += width;
2768
- }
2769
- // for content sizing, apply the new column widths immediately, and check to see
2770
- // if all space is actually utilized - this supports no width constraint scenarios
2771
- _udpateTableSizing(outerTableElement, tableId, widthsArray, totalWidth);
2772
- availableWidth = outerTableElement.getBoundingClientRect().width - scrollbarWidth;
2773
- if (Math.abs(totalWidth - availableWidth) > 0.005) {
2774
- newColumnWidths = _getContentsLayoutColumnWidths(outerTableElement, tableId, sampledColumnWidthsRef, availableWidth, columnsArray, staticColumnWidths);
2775
- }
2776
- }
2777
- return newColumnWidths;
2778
- }
2779
- /**
2780
- * Helper method to extract the individual column widths of the Table
2781
- * for a 'fixed' layout table that already has its root width applied.
2782
- */
2783
- function _getFixedLayoutColumnWidths(availableWidth, columnsArray, staticColumnWidths) {
2784
- const DEFAULT_COLUMN_WEIGHT = 1;
2785
- const DEFAULT_COLUMN_MIN_WIDTH = 100;
2786
- const DEFAULT_COLUMN_MAX_WIDTH = undefined;
2787
- let requiresActiveSizing = false;
2788
- let totalWorkingWeight = 0;
2789
- let forcedTotalWidth = 0;
2790
- let pendingTotalWidth = 0;
2791
- const columnMaxWidthsArray = [];
2792
- const columnWeightsArray = [];
2793
- const forcedColumnWidthsArray = [];
2794
- const newColumnWidthsArray = [];
2795
- const appliedColumnWidthsArray = [];
2796
- for (let i = 0; i < columnsArray.length; i++) {
2797
- const column = columnsArray[i];
2798
- let columnMinWidth = column.value.minWidth;
2799
- if (columnMinWidth == null || columnMinWidth <= 0) {
2800
- columnMinWidth = DEFAULT_COLUMN_MIN_WIDTH;
2801
- }
2802
- let columnMaxWidth = column.value.maxWidth;
2803
- if (columnMaxWidth == null || columnMaxWidth < columnMinWidth) {
2804
- columnMaxWidth = DEFAULT_COLUMN_MAX_WIDTH;
2805
- }
2806
- columnMaxWidthsArray.push(columnMaxWidth);
2807
- let columnWeight = column.value.weight;
2808
- if (columnWeight == null || columnWeight < 1) {
2809
- columnWeight = DEFAULT_COLUMN_WEIGHT;
2810
- }
2811
- columnWeightsArray.push(columnWeight);
2812
- const columnWidth = staticColumnWidths != null ? staticColumnWidths[column.key] : undefined;
2813
- if (columnWidth != null) {
2814
- forcedTotalWidth += columnWidth;
2815
- pendingTotalWidth += columnWidth;
2816
- forcedColumnWidthsArray.push(columnWidth);
2817
- newColumnWidthsArray.push(columnWidth);
2818
- appliedColumnWidthsArray.push(columnWidth);
2819
- }
2820
- else {
2821
- requiresActiveSizing = true;
2822
- pendingTotalWidth += columnMinWidth;
2823
- totalWorkingWeight += columnWeight;
2824
- forcedColumnWidthsArray.push(undefined);
2825
- newColumnWidthsArray.push(columnMinWidth);
2826
- appliedColumnWidthsArray.push(columnMinWidth);
2827
- }
2828
- }
2829
- // enforce min and max rules if active sizing is required and available space remains
2830
- if (requiresActiveSizing && pendingTotalWidth < availableWidth) {
2831
- _enforceFixedMinMaxRules(columnsArray, availableWidth, totalWorkingWeight, forcedTotalWidth, forcedColumnWidthsArray, columnWeightsArray, columnMaxWidthsArray, newColumnWidthsArray, appliedColumnWidthsArray);
2832
- }
2833
- return _createColumnWidths(columnsArray, newColumnWidthsArray);
2834
- }
2835
- /**
2836
- * Helper function to enforce all of the layout sizing rules on the Table's columns.
2837
- */
2838
- function _enforceFixedMinMaxRules(columnsArray, availableWidth, totalWorkingWeight, forcedTotalWidth, forcedColumnWidthsArray, columnWeightsArray, columnMaxWidthsArray, newColumnWidthsArray, appliedColumnWidthsArray) {
2839
- // try and honor the weights of each column combined with the min widths, and then check that against
2840
- // any max widths once completed. if the final result doesn't fill the space AND at least 1 max width
2841
- // rule was enforced, repeat the process until no max rules are enforced OR the space is filled.
2842
- let isMaxRuleApplied = true;
2843
- while (isMaxRuleApplied) {
2844
- isMaxRuleApplied = false;
2845
- _enforceWeightedMinRules(columnsArray, availableWidth, totalWorkingWeight, forcedTotalWidth, forcedColumnWidthsArray, columnWeightsArray, newColumnWidthsArray, appliedColumnWidthsArray);
2846
- let pendingTotalWidth = 0;
2847
- for (let i = 0; i < columnsArray.length; i++) {
2848
- if (forcedColumnWidthsArray[i] == null) {
2849
- const maxWidth = columnMaxWidthsArray[i];
2850
- if (maxWidth != null && newColumnWidthsArray[i] > maxWidth) {
2851
- isMaxRuleApplied = true;
2852
- forcedColumnWidthsArray[i] = maxWidth;
2853
- forcedTotalWidth += maxWidth;
2854
- totalWorkingWeight -= columnWeightsArray[i];
2855
- newColumnWidthsArray[i] = maxWidth;
2856
- appliedColumnWidthsArray[i] = maxWidth;
2857
- }
2858
- }
2859
- pendingTotalWidth += newColumnWidthsArray[i];
2860
- }
2861
- isMaxRuleApplied = isMaxRuleApplied && pendingTotalWidth < availableWidth;
2862
- }
2863
- }
2864
- /**
2865
- * Helper method to extract the individual column widths of the Table
2866
- * for a 'contents' layout table that already has its root width applied.
2867
- */
2868
- function _getContentsLayoutColumnWidths(outerTableElement, tableId, sampledColumnWidthsRef, availableWidth, columnsArray, staticColumnWidths) {
2869
- const DEFAULT_COLUMN_MIN_WIDTH = undefined;
2870
- const DEFAULT_COLUMN_MAX_WIDTH = undefined;
2871
- let requiresActiveSizing = false;
2872
- const columnMinWidthsArray = [];
2873
- const columnMaxWidthsArray = [];
2874
- const forcedColumnWidthsArray = [];
2875
- const newColumnWidthsArray = [];
2876
- for (let i = 0; i < columnsArray.length; i++) {
2877
- const column = columnsArray[i];
2878
- let columnMinWidth = column.value.minWidth;
2879
- if (columnMinWidth == null || columnMinWidth <= 0) {
2880
- columnMinWidth = DEFAULT_COLUMN_MIN_WIDTH;
2881
- }
2882
- columnMinWidthsArray.push(columnMinWidth);
2883
- let columnMaxWidth = column.value.maxWidth;
2884
- if (columnMaxWidth == null || columnMaxWidth < (columnMinWidth != null ? columnMinWidth : 0)) {
2885
- columnMaxWidth = DEFAULT_COLUMN_MAX_WIDTH;
2886
- }
2887
- columnMaxWidthsArray.push(columnMaxWidth);
2888
- const columnWidth = staticColumnWidths != null ? staticColumnWidths[column.key] : undefined;
2889
- if (columnWidth != null) {
2890
- forcedColumnWidthsArray.push(columnWidth);
2891
- newColumnWidthsArray[i] = columnWidth;
2892
- }
2893
- else {
2894
- requiresActiveSizing = true;
2895
- forcedColumnWidthsArray.push(undefined);
2896
- }
2897
- }
2898
- // short-circuit normal contents sizing if each column specifies a 'width' value
2899
- if (requiresActiveSizing) {
2900
- // if active sizing is required, update min width values to reflect actual widths
2901
- // performance note - this should be the only logic that requires DOM measurements
2902
- let forcedTotalWidth = 0;
2903
- let pendingTotalWidth = 0;
2904
- let totalPreferredWidth = 0;
2905
- let totalWorkingWeight = 0;
2906
- let totalRemainingWeight = 0;
2907
- const sampledWidths = sampledColumnWidthsRef.current;
2908
- const sampledMinWidthsArray = [];
2909
- const sampledWeightWidthsArray = [];
2910
- const appliedColumnWidthsArray = [];
2911
- if (sampledWidths != null) {
2912
- for (let i = 0; i < columnsArray.length; i++) {
2913
- sampledMinWidthsArray.push(sampledWidths.minWidths[columnsArray[i].key]);
2914
- sampledWeightWidthsArray.push(sampledWidths.weightWidths[columnsArray[i].key]);
2915
- }
2916
- }
2917
- else {
2918
- sampledColumnWidthsRef.current = {
2919
- minWidths: {},
2920
- weightWidths: {}
2921
- };
2922
- const headerElements = outerTableElement.querySelectorAll(`[data-oj-table-header-cell='${tableId}']`);
2923
- // when sampledColumnWidths are not populated, content wrapping is disabled in the table
2924
- // which allows for measurements to represent the column weights
2925
- for (let i = 0; i < headerElements.length; i++) {
2926
- const sampledWeightWidth = headerElements[i].getBoundingClientRect().width;
2927
- sampledWeightWidthsArray.push(sampledWeightWidth);
2928
- sampledColumnWidthsRef.current.weightWidths[columnsArray[i].key] = sampledWeightWidth;
2929
- }
2930
- // re-enable wrapping, allowing measurements to represent minimum auto-resizable column widths
2931
- outerTableElement.classList.remove(PRIVATE_Table_themes_TableStyles_css.tableStyles.disableWrapping);
2932
- for (let i = 0; i < headerElements.length; i++) {
2933
- const sampledMinWidth = headerElements[i].getBoundingClientRect().width;
2934
- sampledMinWidthsArray.push(sampledMinWidth);
2935
- sampledColumnWidthsRef.current.minWidths[columnsArray[i].key] = sampledMinWidth;
2936
- }
2937
- }
2938
- for (let i = 0; i < sampledMinWidthsArray.length; i++) {
2939
- const forcedWidth = forcedColumnWidthsArray[i];
2940
- if (forcedWidth == null) {
2941
- let columnWidth;
2942
- const sampledMinWidth = sampledMinWidthsArray[i];
2943
- const minWidth = columnMinWidthsArray[i];
2944
- const maxWidth = columnMaxWidthsArray[i];
2945
- if (minWidth != null && minWidth >= sampledMinWidth) {
2946
- columnWidth = minWidth;
2947
- }
2948
- else if (maxWidth != null && sampledMinWidth >= maxWidth) {
2949
- columnWidth = maxWidth;
2950
- }
2951
- else {
2952
- columnWidth = sampledMinWidth;
2953
- }
2954
- pendingTotalWidth += columnWidth;
2955
- // replace sampled weight with min width if needed
2956
- const columnWeight = minWidth != null && minWidth >= sampledWeightWidthsArray[i]
2957
- ? minWidth
2958
- : sampledWeightWidthsArray[i];
2959
- sampledWeightWidthsArray[i] = columnWeight;
2960
- totalPreferredWidth +=
2961
- maxWidth != null && maxWidth <= columnWeight ? maxWidth : columnWeight;
2962
- totalWorkingWeight += columnWeight;
2963
- totalRemainingWeight += columnWeight - columnWidth;
2964
- // newColumnWidthsArray already has content, so update in place rather than 'push'
2965
- newColumnWidthsArray[i] = columnWidth;
2966
- appliedColumnWidthsArray.push(columnWidth);
2967
- }
2968
- else {
2969
- forcedTotalWidth += forcedWidth;
2970
- pendingTotalWidth += forcedWidth;
2971
- totalPreferredWidth += forcedWidth;
2972
- appliedColumnWidthsArray.push(forcedWidth);
2973
- }
2974
- }
2975
- // special case for initial rendering where we don't know if overall width is constrained
2976
- if (availableWidth === -1) {
2977
- availableWidth = totalPreferredWidth;
2978
- }
2979
- if (pendingTotalWidth < availableWidth) {
2980
- _enforceContentsMinMaxRules(columnsArray, availableWidth, totalPreferredWidth, totalRemainingWeight, totalWorkingWeight, pendingTotalWidth, forcedTotalWidth, forcedColumnWidthsArray, sampledWeightWidthsArray, columnMaxWidthsArray, newColumnWidthsArray, appliedColumnWidthsArray);
2981
- }
2982
- }
2983
- return _createColumnWidths(columnsArray, newColumnWidthsArray);
2984
- }
2985
- /**
2986
- * Helper function to enforce all of the layout sizing rules on the Table's columns.
2987
- */
2988
- function _enforceContentsMinMaxRules(columnsArray, availableWidth, totalPreferredWidth, totalRemainingWeight, totalWorkingWeight, appliedPendingTotalWidth, forcedTotalWidth, forcedColumnWidthsArray, columnWeightsArray, columnMaxWidthsArray, newColumnWidthsArray, appliedColumnWidthsArray) {
2989
- // try and honor the weights of each column combined with the min widths, and then check that against
2990
- // any max widths once completed. if the final result doesn't fill the space AND at least 1 max width
2991
- // rule was enforced, repeat the process until no max rules are enforced OR the space is filled.
2992
- let isMaxRuleApplied = true;
2993
- while (isMaxRuleApplied) {
2994
- isMaxRuleApplied = false;
2995
- if (totalPreferredWidth > availableWidth) {
2996
- _enforceConstrainedWeightRules(columnsArray, availableWidth - appliedPendingTotalWidth, totalRemainingWeight, columnWeightsArray, forcedColumnWidthsArray, newColumnWidthsArray, appliedColumnWidthsArray);
2997
- }
2998
- else {
2999
- _enforceWeightedMinRules(columnsArray, availableWidth, totalWorkingWeight, forcedTotalWidth, forcedColumnWidthsArray, columnWeightsArray, newColumnWidthsArray, appliedColumnWidthsArray);
3000
- }
3001
- let pendingTotalWidth = 0;
3002
- for (let i = 0; i < columnsArray.length; i++) {
3003
- if (forcedColumnWidthsArray[i] == null) {
3004
- const maxWidth = columnMaxWidthsArray[i];
3005
- if (maxWidth != null && newColumnWidthsArray[i] > maxWidth) {
3006
- isMaxRuleApplied = true;
3007
- forcedColumnWidthsArray[i] = maxWidth;
3008
- forcedTotalWidth += maxWidth;
3009
- appliedPendingTotalWidth += maxWidth - appliedColumnWidthsArray[i];
3010
- totalWorkingWeight -= columnWeightsArray[i];
3011
- newColumnWidthsArray[i] = maxWidth;
3012
- appliedColumnWidthsArray[i] = maxWidth;
3013
- }
3014
- }
3015
- pendingTotalWidth += newColumnWidthsArray[i];
3016
- }
3017
- isMaxRuleApplied = isMaxRuleApplied && pendingTotalWidth < availableWidth;
3018
- }
3019
- }
3020
- /**
3021
- * Helper function to enforce constrained weights / min width rules on the Table's columns.
3022
- */
3023
- function _enforceConstrainedWeightRules(columnsArray, initialExtraWidth, totalRemainingWeight, columnWeightsArray, forcedColumnWidthsArray, newColumnWidthsArray, appliedColumnWidthsArray) {
3024
- if (initialExtraWidth > 0) {
3025
- let availableWidth = initialExtraWidth;
3026
- let currentWeightTotal = totalRemainingWeight;
3027
- for (let i = 0; i < columnsArray.length; i++) {
3028
- if (currentWeightTotal > 0 && forcedColumnWidthsArray[i] == null) {
3029
- const currentWeight = columnWeightsArray[i] - appliedColumnWidthsArray[i];
3030
- const weightWidth = (currentWeight / currentWeightTotal) * availableWidth;
3031
- newColumnWidthsArray[i] = weightWidth + appliedColumnWidthsArray[i];
3032
- availableWidth -= weightWidth;
3033
- currentWeightTotal -= currentWeight;
3034
- }
3035
- }
3036
- }
3037
- }
3038
- /**
3039
- * Helper function to enforce the weights / min width rules on the Table's columns.
3040
- */
3041
- function _enforceWeightedMinRules(columnsArray, availableWidth, totalWeight, forcedTotalWidth, forcedColumnWidthsArray, columnWeightsArray, newColumnWidthsArray, appliedColumnWidthsArray) {
3042
- const pendingForcedColumnWidths = [];
3043
- let isMinRuleApplied = true;
3044
- while (isMinRuleApplied) {
3045
- isMinRuleApplied = false;
3046
- let currentWeightTotal = totalWeight;
3047
- let widthDiff = availableWidth - forcedTotalWidth;
3048
- if (widthDiff > 0) {
3049
- for (let i = 0; i < columnsArray.length; i++) {
3050
- if (currentWeightTotal > 0 &&
3051
- forcedColumnWidthsArray[i] == null &&
3052
- pendingForcedColumnWidths[i] == null) {
3053
- const currentWeight = columnWeightsArray[i];
3054
- const newWidth = (currentWeight / currentWeightTotal) * widthDiff;
3055
- // if calculated width breaks min width requirement, force min width as needed
3056
- const minWidth = appliedColumnWidthsArray[i];
3057
- if (newWidth < minWidth) {
3058
- // the preferred weighted size conflicts with the min size, so set pending to min size
3059
- pendingForcedColumnWidths[i] = minWidth;
3060
- forcedTotalWidth += minWidth;
3061
- newColumnWidthsArray[i] = minWidth;
3062
- isMinRuleApplied = true;
3063
- totalWeight -= currentWeight;
3064
- break;
3065
- }
3066
- newColumnWidthsArray[i] = newWidth;
3067
- widthDiff -= newWidth;
3068
- currentWeightTotal -= currentWeight;
3069
- }
3070
- }
3071
- }
3072
- }
3073
- }
3074
- /**
3075
- * Helper function to create a ColumnWidths object from a TableColumn array and a widths array.
3076
- */
3077
- function _createColumnWidths(columnsArray, columnWidthsArray) {
3078
- const columnWidths = {};
3079
- for (let i = 0; i < columnsArray.length; i++) {
3080
- columnWidths[columnsArray[i].key] = columnWidthsArray[i];
3081
- }
3082
- return columnWidths;
3083
- }
3084
- /**
3085
- * Helper method to apply the given sizing object to the currently rendered Table
3086
- * and column elements.
3087
- */
3088
- function _udpateTableSizing(root, tableId, widthsArray, totalWidth) {
3089
- const tableCols = root.querySelectorAll(`[data-oj-table-col='${tableId}']`);
3090
- for (let i = 0; i < tableCols.length; i++) {
3091
- const tableCol = tableCols[i];
3092
- tableCol.style.width = `${widthsArray[i]}px`;
3093
- }
3094
- const innerTableElem = root.querySelectorAll(`[data-oj-table-inner-table='${tableId}']`)[0];
3095
- innerTableElem.style.width = `${totalWidth}px`;
3096
- innerTableElem.style.tableLayout = 'fixed';
3097
- }
3098
-
3099
- const _defaultSelected = {
3100
- row: { all: false, keys: new Set() },
3101
- column: { all: false, keys: new Set() }
3102
- };
3103
- /**
3104
- * Component that renders items as a flat table.
3105
- * In order to maximize performance, only items that are visible in the viewport are rendered.
3106
- */
3107
- const Table = compat.forwardRef(function Table({ 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, getAccessibleRowHeaders, columns, columnOrder, columnWidths, layout = 'contents', data, getRowKey, hasMore = false, onLoadMore = () => { }, currentCellOverride, onPersistCurrentCell, currentRowVariant, gridlines, selectionMode, selected = _defaultSelected, onSelectionChange, onRowAction, sortCriterion, onSortCriterionChange, horizontalScrollPositionOverride, verticalScrollPositionOverride, columnResizingIndicator, onColumnResizing, onColumnResize, noDataRenderer, testId }, ref) {
3108
- const tableId = useId.useId();
3109
- const outerTableRef = hooks.useRef(null);
3110
- const sizingInfoRef = hooks.useRef({ isInitialRender: true });
3111
- const [appliedColumnWidths, setAppliedColumnWidths] = hooks.useState();
3112
- const [contentHeight, setContentHeight] = hooks.useState();
3113
- const isVerticalScrollRef = hooks.useRef(false);
3114
- const sampledColumnWidthsRef = hooks.useRef();
3115
- const horizontalScrollPositionOverrideRef = hooks.useRef();
3116
- const verticalScrollPositionOverrideRef = hooks.useRef();
3117
- const [stickyEdgesState, setStickyEdgesState] = hooks.useState({
3118
- start: undefined,
3119
- end: undefined
3120
- });
3121
- const resizeInfoRef = hooks.useRef({
3122
- isResizing: false,
3123
- isResizeHover: false,
3124
- ignoreClick: false
3125
- });
3126
- const { direction } = useUser.useUser();
3127
- const isRtl = direction === 'rtl';
3128
- const testIdProps = useTestId.useTestId(testId);
3129
- const columnsArray = hooks.useMemo(() => {
3130
- const newColumnsArray = [];
3131
- if (columnOrder != null) {
3132
- for (const key of columnOrder) {
3133
- if (columns[key] != null) {
3134
- newColumnsArray.push({
3135
- key: key,
3136
- value: columns[key]
3137
- });
3138
- }
3139
- }
3140
- }
3141
- else {
3142
- for (const [key, value] of Object.entries(columns)) {
3143
- newColumnsArray.push({
3144
- key: key,
3145
- value: value
3146
- });
3147
- }
3148
- }
3149
- return newColumnsArray;
3150
- }, [columnOrder, columns]);
3151
- let isLayoutRequired = false;
3152
- const columnWidthsArray = [];
3153
- if (appliedColumnWidths != null) {
3154
- for (let i = 0; i < columnsArray.length; i++) {
3155
- const key = columnsArray[i].key;
3156
- const appliedWidth = appliedColumnWidths[key];
3157
- const staticWidth = columnWidths != null ? columnWidths[key] : undefined;
3158
- if (appliedWidth == null || (staticWidth != null && staticWidth !== appliedWidth)) {
3159
- isLayoutRequired = true;
3160
- break;
3161
- }
3162
- columnWidthsArray.push(appliedWidth);
3163
- }
3164
- }
3165
- else {
3166
- isLayoutRequired = true;
3167
- }
3168
- const layoutInfo = {
3169
- isLayoutRequired: isLayoutRequired,
3170
- columnWidthsArray: isLayoutRequired ? undefined : columnWidthsArray
3171
- };
3172
- hooks.useImperativeHandle(ref, () => {
3173
- return {
3174
- getHorizontalScrollPosition: () => {
3175
- if (layoutInfo.isLayoutRequired) {
3176
- return {};
3177
- }
3178
- return getHorizontalScrollPosition(outerTableRef.current, columnsArray, layoutInfo.columnWidthsArray);
3179
- },
3180
- getVerticalScrollPosition: () => {
3181
- if (layoutInfo.isLayoutRequired) {
3182
- return {};
3183
- }
3184
- return getVerticalScrollPosition(outerTableRef.current, tableId);
3185
- }
3186
- };
3187
- }, [tableId, columnsArray, layoutInfo.isLayoutRequired, layoutInfo.columnWidthsArray]);
3188
- const cellHasRenderer = hooks.useCallback((cell) => {
3189
- let hasRenderer = false;
3190
- if (cell.type === 'noData') {
3191
- hasRenderer = noDataRenderer != null;
3192
- }
3193
- else {
3194
- for (const column of columnsArray) {
3195
- if (column.key === cell.columnKey) {
3196
- if (cell.type === 'data') {
3197
- hasRenderer = column.value.renderer != null;
3198
- }
3199
- else if (cell.type === 'header') {
3200
- hasRenderer = column.value.headerRenderer != null;
3201
- }
3202
- else if (cell.type === 'footer') {
3203
- hasRenderer = column.value.footerRenderer != null;
3204
- }
3205
- break;
3206
- }
3207
- }
3208
- }
3209
- return hasRenderer;
3210
- }, [columnsArray, noDataRenderer]);
3211
- const { interactionManagerProps, onTableSelectionChange, isShowFocusRing, isTabbableMode, currentCell, onStartFocusTracking, onFocusStartEdge, onFocusEndEdge } = useInteractionManager({
3212
- outerTableRef,
3213
- tableId,
3214
- data,
3215
- isRtl,
3216
- columnsArray,
3217
- appliedColumnWidths: appliedColumnWidths,
3218
- sizingInfoRef,
3219
- resizeInfoRef,
3220
- stickyEdgesState,
3221
- setStickyEdgesState,
3222
- cellHasRenderer,
3223
- fullColumnWidths: layoutInfo.isLayoutRequired ? undefined : layoutInfo.columnWidthsArray,
3224
- onColumnResizing,
3225
- onColumnResize,
3226
- currentCellOverride,
3227
- onPersistCurrentCell,
3228
- selectionMode,
3229
- selected,
3230
- onSelectionChange,
3231
- onRowAction,
3232
- sortCriterion,
3233
- onSortCriterionChange
3234
- });
3235
- // ensure sampled column sizes are cleared if 'columns' is updated
3236
- hooks.useLayoutEffect(() => {
3237
- sampledColumnWidthsRef.current = undefined;
3238
- setAppliedColumnWidths(undefined);
3239
- }, [columns]);
3240
- // setup sizing calculation updates for subsequent renders
3241
- hooks.useLayoutEffect(() => {
3242
- const rootElement = outerTableRef.current;
3243
- if (rootElement != null &&
3244
- !sizingInfoRef.current.isInitialRender &&
3245
- layoutInfo.isLayoutRequired &&
3246
- sizingInfoRef.current.defaultScrollbarWidth != null) {
3247
- const totalWidth = layout === 'fixed'
3248
- ? sizingInfoRef.current.boxWidth - sizingInfoRef.current.defaultScrollbarWidth
3249
- : -1;
3250
- const newColumnWidths = getLayoutColumnWidths(rootElement, sizingInfoRef.current.defaultScrollbarWidth, tableId, layout === 'fixed', sampledColumnWidthsRef, totalWidth, columnsArray, columnWidths);
3251
- setAppliedColumnWidths(newColumnWidths);
3252
- }
3253
- }, [tableId, columnsArray, columnWidths, layout, layoutInfo.isLayoutRequired]);
3254
- // setup component resize-based sizing calculation updates
3255
- const resizeObserverCallbackRef = hooks.useRef();
3256
- resizeObserverCallbackRef.current = (entry) => {
3257
- if (outerTableRef.current != null) {
3258
- let availableWidth;
3259
- let scrollbarWidth;
3260
- const newContentWidth = entry.contentBoxSize[0].inlineSize;
3261
- const newContentHeight = entry.contentBoxSize[0].blockSize;
3262
- const newBoxWidth = entry.borderBoxSize[0].inlineSize;
3263
- const newBoxHeight = entry.borderBoxSize[0].blockSize;
3264
- if (newContentWidth !== 0 || newBoxWidth !== 0) {
3265
- if (sizingInfoRef.current.isInitialRender) {
3266
- scrollbarWidth = newBoxWidth - newContentWidth;
3267
- availableWidth = layout === 'fixed' ? newContentWidth : -1;
3268
- sizingInfoRef.current = {
3269
- isInitialRender: false,
3270
- contentWidth: newContentWidth,
3271
- boxWidth: newBoxWidth,
3272
- contentHeight: newContentHeight,
3273
- boxHeight: newBoxHeight,
3274
- defaultScrollbarWidth: scrollbarWidth,
3275
- defaultScrollbarHeight: newBoxHeight - newContentHeight
3276
- };
3277
- }
3278
- else {
3279
- scrollbarWidth = sizingInfoRef.current.defaultScrollbarWidth;
3280
- availableWidth = isVerticalScrollRef.current
3281
- ? newContentWidth
3282
- : newBoxWidth - scrollbarWidth;
3283
- sizingInfoRef.current.contentWidth = newContentWidth;
3284
- sizingInfoRef.current.boxWidth = newBoxWidth;
3285
- sizingInfoRef.current.contentHeight = newContentHeight;
3286
- sizingInfoRef.current.boxHeight = newBoxHeight;
3287
- }
3288
- const newColumnWidths = getLayoutColumnWidths(outerTableRef.current, scrollbarWidth, tableId, layout === 'fixed', sampledColumnWidthsRef, availableWidth, columnsArray, columnWidths);
3289
- setAppliedColumnWidths(newColumnWidths);
3290
- if (contentHeight !== newContentHeight) {
3291
- setContentHeight(newContentHeight);
3292
- }
3293
- }
3294
- }
3295
- };
3296
- // ensure resize observer callback function is static to avoid hook re-subscribing each render
3297
- const staticResizeObserverCallback = hooks.useCallback((entry) => {
3298
- resizeObserverCallbackRef.current(entry);
3299
- }, []);
3300
- useResizeObserver.useResizeObserver(outerTableRef, staticResizeObserverCallback);
3301
- // after each additional render, update vertical scrollbar state if necessary
3302
- hooks.useLayoutEffect(() => {
3303
- const scrollbarWidth = sizingInfoRef.current.defaultScrollbarWidth;
3304
- if (outerTableRef.current != null &&
3305
- !sizingInfoRef.current.isInitialRender &&
3306
- contentHeight != null &&
3307
- scrollbarWidth != null) {
3308
- const innerTable = outerTableRef.current.querySelector(`[data-oj-table-inner-table='${tableId}']`);
3309
- if (innerTable != null) {
3310
- const hasVerticalOverflow = contentHeight < innerTable.getBoundingClientRect().height;
3311
- isVerticalScrollRef.current = hasVerticalOverflow;
3312
- if (hasVerticalOverflow) {
3313
- outerTableRef.current.classList.remove(PRIVATE_Table_themes_TableStyles_css.tableStyles.noVerticalScroll);
3314
- outerTableRef.current.classList.add(PRIVATE_Table_themes_TableStyles_css.tableStyles.verticalScroll);
3315
- outerTableRef.current.style.paddingInlineEnd = '';
3316
- }
3317
- else {
3318
- outerTableRef.current.classList.remove(PRIVATE_Table_themes_TableStyles_css.tableStyles.verticalScroll);
3319
- outerTableRef.current.classList.add(PRIVATE_Table_themes_TableStyles_css.tableStyles.noVerticalScroll);
3320
- outerTableRef.current.style.paddingInlineEnd = `${scrollbarWidth}px`;
3321
- }
3322
- }
3323
- }
3324
- }, [tableId, contentHeight, data, noDataRenderer, appliedColumnWidths]);
3325
- // update horizontal scroll position if a new value is provided
3326
- hooks.useLayoutEffect(() => {
3327
- if (horizontalScrollPositionOverrideRef.current !== horizontalScrollPositionOverride &&
3328
- !layoutInfo.isLayoutRequired) {
3329
- setHorizontalScrollPosition(outerTableRef.current, columnsArray, layoutInfo.columnWidthsArray, isRtl, horizontalScrollPositionOverride);
3330
- horizontalScrollPositionOverrideRef.current = horizontalScrollPositionOverride;
3331
- }
3332
- }, [
3333
- tableId,
3334
- columnsArray,
3335
- layoutInfo.isLayoutRequired,
3336
- layoutInfo.columnWidthsArray,
3337
- horizontalScrollPositionOverride,
3338
- isRtl
3339
- ]);
3340
- // update vertical scroll position if a new value is provided
3341
- hooks.useLayoutEffect(() => {
3342
- if (verticalScrollPositionOverrideRef.current !== verticalScrollPositionOverride &&
3343
- !layoutInfo.isLayoutRequired) {
3344
- setVerticalScrollPosition(outerTableRef.current, tableId, verticalScrollPositionOverride);
3345
- verticalScrollPositionOverrideRef.current = verticalScrollPositionOverride;
3346
- }
3347
- }, [tableId, layoutInfo.isLayoutRequired, verticalScrollPositionOverride]);
3348
- // ensure sticky columns are updated appropriately
3349
- hooks.useLayoutEffect(() => {
3350
- if (outerTableRef.current != null && !layoutInfo.isLayoutRequired) {
3351
- updateStickyColumns(outerTableRef.current, tableId, isRtl, columnsArray, layoutInfo.columnWidthsArray, stickyEdgesState, setStickyEdgesState);
3352
- }
3353
- }, [
3354
- tableId,
3355
- columnsArray,
3356
- layoutInfo.isLayoutRequired,
3357
- layoutInfo.columnWidthsArray,
3358
- isRtl,
3359
- stickyEdgesState
3360
- ]);
3361
- // initialize base Table style classes
3362
- const { classes: themeClasses } = useComponentTheme.useComponentTheme(PRIVATE_Table_themes_redwood_TableTheme.TableRedwoodTheme, {
3363
- forceScroll: sizingInfoRef.current.isInitialRender ? 'isForceScroll' : 'notForceScroll',
3364
- verticalScroll: isVerticalScrollRef.current ? 'isVerticalScroll' : 'notVerticalScroll',
3365
- disableWrapping: layout === 'contents' && sampledColumnWidthsRef.current === undefined
3366
- ? 'isDisableWrapping'
3367
- : 'notDisableWrapping'
3368
- });
3369
- const classes = classNames.classNames([themeClasses]);
3370
- const tableClasses = classNames.classNames([PRIVATE_Table_themes_Table_css.innerTableStyles.base]);
3371
- const focusTrackerClasses = classNames.classNames([PRIVATE_Table_themes_Table_css.focusTrackerStyles.base]);
3372
- // aria-rowcount includes header and footer rows
3373
- const hasFooters = columnsArray.some((column) => {
3374
- return column.value.footerRenderer != null || column.value.footerText != null;
3375
- });
3376
- const ariaRowCount = data == null ? undefined : hasMore ? -1 : data.length + (hasFooters ? 2 : 1);
3377
- const startStickyEdge = stickyEdgesState.start;
3378
- const endStickyEdge = stickyEdgesState.end;
3379
- const hasVerticalGridlines = gridlines?.vertical === 'visible';
3380
- const hasHorizontalGridlines = gridlines?.horizontal !== 'hidden';
3381
- const isRowSelectionEnabled = selectionMode?.row === 'single' || selectionMode?.row === 'multiple';
3382
- const isColumnSelectionEnabled = selectionMode?.column === 'single' || selectionMode?.column === 'multiple';
3383
- const getTableBodyProps = () => {
3384
- return {
3385
- tableId: tableId,
3386
- data: data,
3387
- columnsArray: columnsArray,
3388
- getAccessibleRowHeaders: getAccessibleRowHeaders,
3389
- hasVerticalGridlines: hasVerticalGridlines,
3390
- hasHorizontalGridlines: hasHorizontalGridlines,
3391
- selected: selected,
3392
- isRowSelectionEnabled: isRowSelectionEnabled,
3393
- isSingleRowSelectionEnabled: selectionMode?.row === 'single',
3394
- currentCell: currentCell,
3395
- currentRowVariant: currentRowVariant,
3396
- isShowFocusRing: isShowFocusRing,
3397
- getRowKey: getRowKey,
3398
- hasMore: hasMore,
3399
- onLoadMore: onLoadMore,
3400
- noDataRenderer: noDataRenderer,
3401
- viewportConfig: getViewportConfig(outerTableRef),
3402
- onSelectionChange: onTableSelectionChange,
3403
- startStickyEdge: startStickyEdge,
3404
- endStickyEdge: endStickyEdge,
3405
- isRtl: isRtl
3406
- };
3407
- };
3408
- const getTableColGroupProps = () => {
3409
- let columnWidthsArray;
3410
- if (!layoutInfo.isLayoutRequired) {
3411
- columnWidthsArray = layoutInfo.columnWidthsArray;
3412
- }
3413
- else {
3414
- columnWidthsArray = [];
3415
- for (let i = 0; i < columnsArray.length; i++) {
3416
- columnWidthsArray[i] = undefined;
3417
- }
3418
- }
3419
- return {
3420
- tableId: tableId,
3421
- columnWidthsArray: columnWidthsArray
3422
- };
3423
- };
3424
- const getTableHeaderProps = () => {
3425
- return {
3426
- tableId: tableId,
3427
- columnsArray: columnsArray,
3428
- hasVerticalGridlines: hasVerticalGridlines,
3429
- focusedKey: currentCell?.type === 'header' ? currentCell.columnKey : undefined,
3430
- selectedColumnKeys: selected.column,
3431
- selectedRowKeys: selected.row,
3432
- isColumnSelectionEnabled: isColumnSelectionEnabled,
3433
- isRowSelectionEnabled: isRowSelectionEnabled,
3434
- onSelectionChange: onTableSelectionChange,
3435
- sortCriterion: sortCriterion,
3436
- onSortCriterionChange: onSortCriterionChange,
3437
- isShowFocusRing: isShowFocusRing,
3438
- startStickyEdge: startStickyEdge,
3439
- endStickyEdge: endStickyEdge,
3440
- isResizeHover: resizeInfoRef.current.isResizeHover,
3441
- isRtl: isRtl
3442
- };
3443
- };
3444
- const getTableFooterProps = () => {
3445
- return {
3446
- tableId: tableId,
3447
- isRendered: hasFooters,
3448
- columnsArray: columnsArray,
3449
- hasVerticalGridlines: hasVerticalGridlines,
3450
- focusedKey: currentCell?.type === 'footer' ? currentCell.columnKey : undefined,
3451
- selectedKeys: selected.column,
3452
- isColumnSelectionEnabled: isColumnSelectionEnabled,
3453
- isShowFocusRing: isShowFocusRing,
3454
- startStickyEdge: startStickyEdge,
3455
- endStickyEdge: endStickyEdge,
3456
- isRtl: isRtl
3457
- };
3458
- };
3459
- const getTableDragIndicator = () => {
3460
- if (columnResizingIndicator != null && !layoutInfo.isLayoutRequired) {
3461
- let position = 0;
3462
- for (let i = 0; i < columnsArray.length; i++) {
3463
- position += layoutInfo.columnWidthsArray[i];
3464
- if (columnsArray[i].key === columnResizingIndicator.key) {
3465
- if (columnResizingIndicator.delta != null) {
3466
- position += columnResizingIndicator.delta;
3467
- }
3468
- break;
3469
- }
3470
- }
3471
- return jsxRuntime.jsx(TableDragIndicator, { position: position, isRtl: isRtl });
3472
- }
3473
- return undefined;
3474
- };
3475
- const getTableStyle = () => {
3476
- let widthString = '';
3477
- let heightString = '';
3478
- if (!layoutInfo.isLayoutRequired) {
3479
- let totalWidth = 0;
3480
- for (let i = 0; i < layoutInfo.columnWidthsArray.length; i++) {
3481
- totalWidth += layoutInfo.columnWidthsArray[i];
3482
- }
3483
- widthString = `width: ${totalWidth}px; table-layout: fixed;`;
3484
- }
3485
- else {
3486
- // shrink table down as much as possible when a 'contents' layout is required, otherwise
3487
- // the sampled column widths will not reflect the true minimum sizes with line-clamping
3488
- widthString = layout !== 'contents' ? 'width: 100%;' : 'width: 1px';
3489
- }
3490
- if (contentHeight != null) {
3491
- heightString = data == null || data.length === 0 ? `min-height: ${contentHeight}px;` : '';
3492
- }
3493
- return `${widthString}${heightString}`;
3494
- };
3495
- return (jsxRuntime.jsx("div", { ...testIdProps, ref: outerTableRef, "aria-colcount": columnsArray.length, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-rowcount": ariaRowCount, ...(selectionMode?.column === 'multiple' || selectionMode?.row === 'multiple'
3496
- ? { 'aria-multiselectable': true }
3497
- : {}), class: classes, role: 'grid', ...interactionManagerProps, children: jsxRuntime.jsxs(FocusTracker.FocusTracker, { styleClass: focusTrackerClasses, isDisabled: !isTabbableMode, onFocusStartEdge: onFocusStartEdge, onFocusEndEdge: onFocusEndEdge, onStartTracking: onStartFocusTracking, children: [jsxRuntime.jsx(TabbableModeContext.TabbableModeContext.Provider, { value: { isTabbable: isTabbableMode }, children: jsxRuntime.jsxs("table", { class: tableClasses, role: 'presentation', style: getTableStyle(), "data-oj-table-inner-table": tableId, children: [jsxRuntime.jsx(TableColGroup, { ...getTableColGroupProps() }), jsxRuntime.jsx(TableHeader, { ...getTableHeaderProps() }), jsxRuntime.jsx(TableBody, { ...getTableBodyProps() }), jsxRuntime.jsx(TableFooter, { ...getTableFooterProps() })] }) }), getTableDragIndicator()] }) }));
3498
- });
3499
-
3500
- exports.Table = Table;
3501
- //# sourceMappingURL=Table-ecf57a09.js.map