@oracle/oraclejet-preact 17.0.1 → 17.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1006) hide show
  1. package/amd/{BarChart-6c921af0.js → BarChart-be1d51d4.js} +2 -2
  2. package/amd/{BarChart-6c921af0.js.map → BarChart-be1d51d4.js.map} +1 -1
  3. package/amd/{BaseCardView-3c1e5b4c.js → BaseCardView-1aa0d986.js} +2 -2
  4. package/amd/{BaseCardView-3c1e5b4c.js.map → BaseCardView-1aa0d986.js.map} +1 -1
  5. package/amd/CardFlexView-a647550f.js +2 -0
  6. package/amd/{CardFlexView-3e4bd681.js.map → CardFlexView-a647550f.js.map} +1 -1
  7. package/amd/CardGridView-06fb67cb.js +2 -0
  8. package/amd/{CardGridView-8fb55ad7.js.map → CardGridView-06fb67cb.js.map} +1 -1
  9. package/amd/{Chart-0f54dae3.js → Chart-4796be31.js} +2 -2
  10. package/amd/{Chart-0f54dae3.js.map → Chart-4796be31.js.map} +1 -1
  11. package/amd/CheckboxSet-9c883a32.js +2 -0
  12. package/{es/CheckboxSet-836e3263.js.map → amd/CheckboxSet-9c883a32.js.map} +1 -1
  13. package/amd/GroupLoadingIndicator-e66ed431.js +1 -1
  14. package/amd/{Indexer-51d51cda.js → Indexer-204a6d88.js} +2 -2
  15. package/amd/{Indexer-51d51cda.js.map → Indexer-204a6d88.js.map} +1 -1
  16. package/amd/InputDatePicker-0012b304.js +2 -0
  17. package/amd/{InputDatePicker-da5d8728.js.map → InputDatePicker-0012b304.js.map} +1 -1
  18. package/amd/{LineAreaChart-337cac30.js → LineAreaChart-2057f8b4.js} +2 -2
  19. package/amd/{LineAreaChart-337cac30.js.map → LineAreaChart-2057f8b4.js.map} +1 -1
  20. package/amd/List-5958c802.js +2 -0
  21. package/amd/{List-88a7bee6.js.map → List-5958c802.js.map} +1 -1
  22. package/amd/{ListView-6739207e.js → ListView-27d10b67.js} +2 -2
  23. package/amd/{ListView-6739207e.js.map → ListView-27d10b67.js.map} +1 -1
  24. package/amd/LoadMoreCollection-83413a59.js +2 -0
  25. package/amd/{LoadMoreCollection-a6adbc3f.js.map → LoadMoreCollection-83413a59.js.map} +1 -1
  26. package/amd/NavigationListItem-0a4f8a9c.js +2 -0
  27. package/amd/{NavigationListItem-c96ac144.js.map → NavigationListItem-0a4f8a9c.js.map} +1 -1
  28. package/amd/{OverflowTabBarItem-f781e527.js → OverflowTabBarItem-aae4eb2f.js} +2 -2
  29. package/amd/{OverflowTabBarItem-f781e527.js.map → OverflowTabBarItem-aae4eb2f.js.map} +1 -1
  30. package/amd/PRIVATE_BaseCardView.js +1 -1
  31. package/amd/PRIVATE_Chart.js +1 -1
  32. package/amd/PRIVATE_List.js +1 -1
  33. package/amd/PRIVATE_LoadMoreCollection.js +1 -1
  34. package/amd/PRIVATE_SelectCommon.js +1 -1
  35. package/amd/PRIVATE_Table.js +1 -1
  36. package/amd/PRIVATE_VirtualizedCollection.js +1 -1
  37. package/amd/{SelectMultiple-06da3db0.js → SelectMultiple-fabd883c.js} +2 -2
  38. package/amd/{SelectMultiple-06da3db0.js.map → SelectMultiple-fabd883c.js.map} +1 -1
  39. package/amd/{SelectSingle-2266e5c4.js → SelectSingle-34d636a8.js} +2 -2
  40. package/amd/{SelectSingle-2266e5c4.js.map → SelectSingle-34d636a8.js.map} +1 -1
  41. package/amd/{Table-8e271f0f.js → Table-fda0ad21.js} +2 -2
  42. package/amd/{Table-8e271f0f.js.map → Table-fda0ad21.js.map} +1 -1
  43. package/amd/{TableView-cc05c32f.js → TableView-e4216655.js} +2 -2
  44. package/amd/{TableView-cc05c32f.js.map → TableView-e4216655.js.map} +1 -1
  45. package/amd/Theme-redwood/theme.css +334 -334
  46. package/amd/Theme-stable/theme.css +271 -271
  47. package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
  48. package/amd/UNSAFE_BarChart.js +1 -1
  49. package/amd/UNSAFE_CardFlexView.js +1 -1
  50. package/amd/UNSAFE_CardGridView.js +1 -1
  51. package/amd/UNSAFE_CheckboxItem.js +1 -1
  52. package/amd/UNSAFE_CheckboxItem.js.map +1 -1
  53. package/amd/UNSAFE_CheckboxSet.js +1 -1
  54. package/amd/UNSAFE_CheckboxSet.js.map +1 -1
  55. package/amd/UNSAFE_ExpandableList.js +1 -1
  56. package/amd/UNSAFE_Indexer.js +1 -1
  57. package/amd/UNSAFE_InputDatePicker.js +1 -1
  58. package/amd/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +1 -1
  59. package/amd/UNSAFE_LineAreaChart.js +1 -1
  60. package/amd/UNSAFE_ListView.js +1 -1
  61. package/amd/UNSAFE_NavigationList.js +1 -1
  62. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  63. package/amd/UNSAFE_SelectMultiple.js +1 -1
  64. package/amd/UNSAFE_SelectSingle.js +1 -1
  65. package/amd/UNSAFE_TabBar.js +1 -1
  66. package/amd/UNSAFE_TabBarCommon.js +1 -1
  67. package/amd/UNSAFE_TabBarMixed.js +1 -1
  68. package/amd/UNSAFE_TableView.js +1 -1
  69. package/amd/UNSAFE_VirtualizedListView.js +1 -1
  70. package/amd/{VirtualizedCollection-63223f5e.js → VirtualizedCollection-897516a5.js} +2 -2
  71. package/amd/{VirtualizedCollection-63223f5e.js.map → VirtualizedCollection-897516a5.js.map} +1 -1
  72. package/amd/VirtualizedListView-ead601c7.js +2 -0
  73. package/amd/{VirtualizedListView-0924cf91.js.map → VirtualizedListView-ead601c7.js.map} +1 -1
  74. package/amd/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  75. package/amd/{useSelectCommon-cbb310df.js → useSelectCommon-8657b927.js} +2 -2
  76. package/amd/{useSelectCommon-cbb310df.js.map → useSelectCommon-8657b927.js.map} +1 -1
  77. package/cjs/ActionCard-aade4e40.js +1 -1
  78. package/cjs/{BarChart-11c56b6a.js → BarChart-acda079d.js} +4 -4
  79. package/cjs/{BarChart-11c56b6a.js.map → BarChart-acda079d.js.map} +1 -1
  80. package/cjs/BaseButton-ff6f39f2.js +2 -2
  81. package/cjs/BaseCardView-badf6df3.js +6 -6
  82. package/cjs/{BaseCardViewSelectionTest-1d3dd9f3.js → BaseCardViewSelectionTest-fe6cdb4a.js} +6 -6
  83. package/cjs/{BaseCardViewSelectionTest-1d3dd9f3.js.map → BaseCardViewSelectionTest-fe6cdb4a.js.map} +1 -1
  84. package/cjs/BaseNavigationListItem-175a3f35.js +49 -0
  85. package/cjs/BaseNavigationListItem-175a3f35.js.map +1 -0
  86. package/cjs/ButtonSet-dc50f9d4.js +2 -2
  87. package/cjs/ButtonSetIconButton-50543cd6.js +2 -2
  88. package/cjs/{Center-a76dcdfe.js → Center-dce9d477.js} +2 -2
  89. package/cjs/{Center-a76dcdfe.js.map → Center-dce9d477.js.map} +1 -1
  90. package/cjs/{Chart-6684fa6d.js → Chart-c55ecfa4.js} +11 -11
  91. package/cjs/{Chart-6684fa6d.js.map → Chart-c55ecfa4.js.map} +1 -1
  92. package/cjs/CheckboxControl-24658cde.js +6 -6
  93. package/cjs/CheckboxRadioField-0d4b2c66.js +5 -5
  94. package/cjs/Chip-a24817e0.js +1 -1
  95. package/cjs/ClearIcon-50725213.js +1 -1
  96. package/cjs/CollapseIcon-a1da1523.js +1 -1
  97. package/cjs/Collapsible-95f66549.js +2 -2
  98. package/cjs/CompactHelpSource-f4e9198b.js +2 -2
  99. package/cjs/{CompactLabelAssistance-7dd6ac2c.js → CompactLabelAssistance-ae678fbd.js} +4 -4
  100. package/cjs/{CompactLabelAssistance-7dd6ac2c.js.map → CompactLabelAssistance-ae678fbd.js.map} +1 -1
  101. package/cjs/CompactUserAssistance-f88519f9.js +4 -4
  102. package/cjs/ComponentMessageContainer-a9195577.js +4 -4
  103. package/cjs/ConveyorBeltItem-a0d53a2f.js +2 -2
  104. package/cjs/{DatePicker-3c46ec73.js → DatePicker-3be1de5c.js} +6 -6
  105. package/cjs/{DatePicker-3c46ec73.js.map → DatePicker-3be1de5c.js.map} +1 -1
  106. package/cjs/DatePickerHeader-589e8b78.js +3 -3
  107. package/cjs/{Diagram-5e7f1aec.js → Diagram-522fe974.js} +5 -5
  108. package/cjs/{Diagram-5e7f1aec.js.map → Diagram-522fe974.js.map} +1 -1
  109. package/cjs/DirectionalCollapseArrowIcon-d2b24ac3.js +1 -1
  110. package/cjs/DirectionalExpandArrowIcon-adf981f6.js +1 -1
  111. package/cjs/DragHandle-d35fc8ac.js +1 -1
  112. package/cjs/{Dropdown-7baf2926.js → Dropdown-820dc3fe.js} +5 -5
  113. package/cjs/{Dropdown-7baf2926.js.map → Dropdown-820dc3fe.js.map} +1 -1
  114. package/cjs/{EnvironmentProvider-e5a93f24.js → EnvironmentProvider-42b2b998.js} +3 -3
  115. package/cjs/{EnvironmentProvider-e5a93f24.js.map → EnvironmentProvider-42b2b998.js.map} +1 -1
  116. package/cjs/FilePicker-47c7bc3f.js +2 -2
  117. package/cjs/{Flex-6529d995.js → Flex-fbba4ad6.js} +2 -2
  118. package/cjs/{Flex-6529d995.js.map → Flex-fbba4ad6.js.map} +1 -1
  119. package/cjs/{Floating-9e569e63.js → Floating-1280c2ce.js} +4 -4
  120. package/cjs/{Floating-9e569e63.js.map → Floating-1280c2ce.js.map} +1 -1
  121. package/cjs/FormLayout-ab6f90b8.js +1 -1
  122. package/cjs/Gantt-912df32a.js +9 -9
  123. package/cjs/{Grid-fe4fef40.js → Grid-03d487e5.js} +2 -2
  124. package/cjs/{Grid-fe4fef40.js.map → Grid-03d487e5.js.map} +1 -1
  125. package/cjs/{Gridlines-b31d8972.js → Gridlines-33618268.js} +2 -2
  126. package/cjs/{Gridlines-b31d8972.js.map → Gridlines-33618268.js.map} +1 -1
  127. package/cjs/GroupLoadingIndicator-3c9d8341.js +1 -1
  128. package/cjs/{HighlightText-da873ed3.js → HighlightText-c76eb17a.js} +2 -2
  129. package/cjs/{HighlightText-da873ed3.js.map → HighlightText-c76eb17a.js.map} +1 -1
  130. package/cjs/Icon-3ffd13dc.js +2 -2
  131. package/cjs/IconButton-94f8ca5c.js +2 -2
  132. package/cjs/IconMenuButton-426f2aa8.js +4 -4
  133. package/cjs/IconSwitchButton-094ace3a.js +2 -2
  134. package/cjs/IconToggleButton-0c415743.js +2 -2
  135. package/cjs/{IconUserAssistance-cee464a4.js → IconUserAssistance-c31c2875.js} +3 -3
  136. package/cjs/{IconUserAssistance-cee464a4.js.map → IconUserAssistance-c31c2875.js.map} +1 -1
  137. package/cjs/Indexer-563ea09d.js +4 -4
  138. package/cjs/InlineHelpSource-7b793104.js +1 -1
  139. package/cjs/InlineUserAssistance-ad3fa8cc.js +5 -5
  140. package/cjs/InputDateMask-f15d926d.js +7 -7
  141. package/cjs/{InputDatePicker-91be7790.js → InputDatePicker-005c03d0.js} +10 -10
  142. package/cjs/{InputDatePicker-91be7790.js.map → InputDatePicker-005c03d0.js.map} +1 -1
  143. package/cjs/InputPassword-16e31428.js +4 -4
  144. package/cjs/InputText-75ae1f44.js +6 -6
  145. package/cjs/Label-d9ad059f.js +5 -5
  146. package/cjs/LabelValueLayout-24937fa5.js +1 -1
  147. package/cjs/{Layer-845cc772.js → Layer-3700cd37.js} +3 -3
  148. package/cjs/{Layer-845cc772.js.map → Layer-3700cd37.js.map} +1 -1
  149. package/cjs/{LayerHost-a6007465.js → LayerHost-46e4d858.js} +2 -2
  150. package/cjs/{LayerHost-a6007465.js.map → LayerHost-46e4d858.js.map} +1 -1
  151. package/cjs/{LayerManager-6fa20e12.js → LayerManager-fa20a462.js} +2 -2
  152. package/cjs/{LayerManager-6fa20e12.js.map → LayerManager-fa20a462.js.map} +1 -1
  153. package/cjs/Legend-a03cbeb5.js +3 -3
  154. package/cjs/{LineAreaChart-e8165e93.js → LineAreaChart-2320dafa.js} +4 -4
  155. package/cjs/{LineAreaChart-e8165e93.js.map → LineAreaChart-2320dafa.js.map} +1 -1
  156. package/cjs/Link-98de6624.js +1 -1
  157. package/cjs/List-bd9ecebb.js +5 -5
  158. package/cjs/{ListItemLayout-24a81393.js → ListItemLayout-ba6c98cc.js} +2 -2
  159. package/cjs/{ListItemLayout-24a81393.js.map → ListItemLayout-ba6c98cc.js.map} +1 -1
  160. package/cjs/ListView-d67f49db.js +3 -3
  161. package/cjs/{LiveRegion-fcb0bb37.js → LiveRegion-1315adeb.js} +2 -2
  162. package/cjs/{LiveRegion-fcb0bb37.js.map → LiveRegion-1315adeb.js.map} +1 -1
  163. package/cjs/MaxLengthCounter-a5370f66.js +27 -0
  164. package/{es/MaxLengthCounter-cead2dac.js.map → cjs/MaxLengthCounter-a5370f66.js.map} +1 -1
  165. package/cjs/{MaxLengthLiveRegion-2dba8c9c.js → MaxLengthLiveRegion-85913361.js} +3 -3
  166. package/cjs/{MaxLengthLiveRegion-2dba8c9c.js.map → MaxLengthLiveRegion-85913361.js.map} +1 -1
  167. package/cjs/{Menu-afcc3db8.js → Menu-7f8ca235.js} +8 -8
  168. package/cjs/{Menu-afcc3db8.js.map → Menu-7f8ca235.js.map} +1 -1
  169. package/cjs/MenuButton-58fd9f46.js +3 -3
  170. package/cjs/MenuItem-9a73694f.js +1 -1
  171. package/cjs/Message-b703f9e4.js +2 -2
  172. package/cjs/{MessageLayer-b2a48a1f.js → MessageLayer-40ccf675.js} +6 -6
  173. package/cjs/{MessageLayer-b2a48a1f.js.map → MessageLayer-40ccf675.js.map} +1 -1
  174. package/cjs/MessageToast-4462ab8d.js +8 -8
  175. package/cjs/MessagesManager-9cc43d3a.js +3 -3
  176. package/cjs/MeterBar-97378f96.js +4 -4
  177. package/cjs/MeterCircle-71fd9b44.js +4 -4
  178. package/cjs/{Modal-fd178291.js → Modal-52fa4530.js} +3 -3
  179. package/cjs/{Modal-fd178291.js.map → Modal-52fa4530.js.map} +1 -1
  180. package/cjs/{MonthView-de994aa0.js → MonthView-94676cd6.js} +4 -4
  181. package/cjs/{MonthView-de994aa0.js.map → MonthView-94676cd6.js.map} +1 -1
  182. package/cjs/{NavigationListItem-12a76e7d.js → NavigationList-5218562e.js} +5 -20
  183. package/cjs/NavigationList-5218562e.js.map +1 -0
  184. package/cjs/NavigationListItem-b80c41dc.js +12 -0
  185. package/cjs/NavigationListItem-b80c41dc.js.map +1 -0
  186. package/cjs/NumberInputText-8771fbad.js +6 -6
  187. package/cjs/{OverflowTabBarItem-c0a592fd.js → OverflowTabBarItem-1de46588.js} +8 -7
  188. package/cjs/{OverflowTabBarItem-c0a592fd.js.map → OverflowTabBarItem-1de46588.js.map} +1 -1
  189. package/cjs/PRIVATE_BaseCardView.js +19 -19
  190. package/cjs/PRIVATE_Chart.js +33 -33
  191. package/cjs/PRIVATE_CheckboxControl.js +21 -21
  192. package/cjs/PRIVATE_CheckboxRadioField.js +22 -22
  193. package/cjs/PRIVATE_ClearIcon.js +16 -16
  194. package/cjs/PRIVATE_DatePickerHeader.js +18 -18
  195. package/cjs/PRIVATE_DatePickerLayout.js +4 -4
  196. package/cjs/PRIVATE_EmbeddedIconButton.js +3 -3
  197. package/cjs/PRIVATE_FormControls.js +19 -19
  198. package/cjs/PRIVATE_IconSwitchButton.js +14 -14
  199. package/cjs/PRIVATE_Icons/CheckboxMixed.js +14 -14
  200. package/cjs/PRIVATE_Icons/CheckboxOff.js +14 -14
  201. package/cjs/PRIVATE_Icons/CheckboxOn.js +14 -14
  202. package/cjs/PRIVATE_Icons/RadiobuttonOff.js +14 -14
  203. package/cjs/PRIVATE_Icons/RadiobuttonOn.js +14 -14
  204. package/cjs/PRIVATE_Icons/WarningS.js +14 -14
  205. package/cjs/PRIVATE_List.js +18 -18
  206. package/cjs/PRIVATE_Message.js +17 -17
  207. package/cjs/PRIVATE_MessageLayer.js +11 -11
  208. package/cjs/PRIVATE_MonthView.js +7 -7
  209. package/cjs/PRIVATE_MonthYearGridView.js +7 -7
  210. package/cjs/PRIVATE_PlotArea.js +4 -4
  211. package/cjs/PRIVATE_RevealToggleIcon.js +15 -15
  212. package/cjs/PRIVATE_SelectCommon.js +26 -26
  213. package/cjs/PRIVATE_StyledCheckbox.js +14 -14
  214. package/cjs/PRIVATE_Table.js +16 -16
  215. package/cjs/PRIVATE_ThemedIcons/CalendarIcon.js +14 -14
  216. package/cjs/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +14 -14
  217. package/cjs/PRIVATE_ThemedIcons/ChartPanIcon.js +14 -14
  218. package/cjs/PRIVATE_ThemedIcons/ChartZoomIcon.js +14 -14
  219. package/cjs/PRIVATE_ThemedIcons/CheckIcon.js +14 -14
  220. package/cjs/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +14 -14
  221. package/cjs/PRIVATE_ThemedIcons/CheckboxOffIcon.js +14 -14
  222. package/cjs/PRIVATE_ThemedIcons/CheckboxOnIcon.js +14 -14
  223. package/cjs/PRIVATE_ThemedIcons/CloseIcon.js +14 -14
  224. package/cjs/PRIVATE_ThemedIcons/CollapseIcon.js +15 -15
  225. package/cjs/PRIVATE_ThemedIcons/CollapseUpIcon.js +14 -14
  226. package/cjs/PRIVATE_ThemedIcons/DecrementIcon.js +14 -14
  227. package/cjs/PRIVATE_ThemedIcons/DeleteIcon.js +14 -14
  228. package/cjs/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +15 -15
  229. package/cjs/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +15 -15
  230. package/cjs/PRIVATE_ThemedIcons/DropdownArrowIcon.js +14 -14
  231. package/cjs/PRIVATE_ThemedIcons/ExpandIcon.js +14 -14
  232. package/cjs/PRIVATE_ThemedIcons/HelpIcon.js +14 -14
  233. package/cjs/PRIVATE_ThemedIcons/IncrementIcon.js +14 -14
  234. package/cjs/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +14 -14
  235. package/cjs/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +14 -14
  236. package/cjs/PRIVATE_ThemedIcons/MessageErrorIcon.js +14 -14
  237. package/cjs/PRIVATE_ThemedIcons/MessageInfoIcon.js +14 -14
  238. package/cjs/PRIVATE_ThemedIcons/MessageWarningIcon.js +14 -14
  239. package/cjs/PRIVATE_ThemedIcons/MinusIcon.js +14 -14
  240. package/cjs/PRIVATE_ThemedIcons/NavDownIcon.js +14 -14
  241. package/cjs/PRIVATE_ThemedIcons/PlusIcon.js +14 -14
  242. package/cjs/PRIVATE_ThemedIcons/RadioOffIcon.js +14 -14
  243. package/cjs/PRIVATE_ThemedIcons/RadioOnIcon.js +14 -14
  244. package/cjs/PRIVATE_ThemedIcons/SortAscendingIcon.js +14 -14
  245. package/cjs/PRIVATE_ThemedIcons/SortDefaultIcon.js +14 -14
  246. package/cjs/PRIVATE_ThemedIcons/SortDescendingIcon.js +14 -14
  247. package/cjs/PRIVATE_ThemedIcons/ViewHideIcon.js +14 -14
  248. package/cjs/PRIVATE_ThemedIcons/ViewIcon.js +14 -14
  249. package/cjs/PRIVATE_TimeComponent.js +17 -17
  250. package/cjs/PRIVATE_VisTabularDatatip.js +4 -4
  251. package/cjs/PictoChart-bbd66c57.js +6 -6
  252. package/cjs/{PieChart-af6fad17.js → PieChart-bd68cc0d.js} +5 -5
  253. package/cjs/{PieChart-af6fad17.js.map → PieChart-bd68cc0d.js.map} +1 -1
  254. package/cjs/{Popup-a793c4a2.js → Popup-881aae20.js} +9 -9
  255. package/cjs/{Popup-a793c4a2.js.map → Popup-881aae20.js.map} +1 -1
  256. package/cjs/{ProgressBar-c1bfc481.js → ProgressBar-4a4d56b0.js} +3 -3
  257. package/cjs/{ProgressBar-c1bfc481.js.map → ProgressBar-4a4d56b0.js.map} +1 -1
  258. package/cjs/{ProgressCircle-579da214.js → ProgressCircle-2524339b.js} +2 -2
  259. package/cjs/{ProgressCircle-579da214.js.map → ProgressCircle-2524339b.js.map} +1 -1
  260. package/cjs/RadioItem-f53a057a.js +6 -6
  261. package/cjs/RatingGauge-bafed83c.js +7 -7
  262. package/cjs/ReadonlyTextFieldInput-fb7ffa5e.js +1 -1
  263. package/cjs/{RemovableNavigationListItem-6231df42.js → RemovableNavigationListItem-eb2c8156.js} +5 -4
  264. package/cjs/{RemovableNavigationListItem-6231df42.js.map → RemovableNavigationListItem-eb2c8156.js.map} +1 -1
  265. package/cjs/RemovableTabBarItem-df8144f5.js +2 -2
  266. package/cjs/{ReorderableTabBar-5743c66a.js → ReorderableTabBar-025a0d71.js} +4 -4
  267. package/cjs/{ReorderableTabBar-5743c66a.js.map → ReorderableTabBar-025a0d71.js.map} +1 -1
  268. package/cjs/RevealToggleIcon-b5738e5e.js +1 -1
  269. package/cjs/SectionalLegend-959d7977.js +4 -4
  270. package/cjs/{SectionedContent-5e956228.js → SectionedContent-0c0f96fb.js} +5 -5
  271. package/cjs/{SectionedContent-5e956228.js.map → SectionedContent-0c0f96fb.js.map} +1 -1
  272. package/cjs/SelectMultiple-3af44d48.js +8 -8
  273. package/cjs/SelectSingle-315c9871.js +7 -7
  274. package/cjs/{SelectionCard-9a4f325f.js → SelectionCard-aa300118.js} +2 -2
  275. package/cjs/{SelectionCard-9a4f325f.js.map → SelectionCard-aa300118.js.map} +1 -1
  276. package/cjs/Selector-cc35dbb1.js +1 -1
  277. package/cjs/SelectorAll-d8d3cb7b.js +5 -5
  278. package/cjs/{Sheet-c3a675fc.js → Sheet-a6267b5f.js} +3 -3
  279. package/cjs/{Sheet-c3a675fc.js.map → Sheet-a6267b5f.js.map} +1 -1
  280. package/cjs/SplitMenuButton-336bb8d6.js +3 -3
  281. package/cjs/StyledTextField-351ea57e.js +3 -3
  282. package/cjs/Submenu-b7daab71.js +1 -1
  283. package/cjs/{TabBar-73bb6c97.js → TabBar-e77706d0.js} +12 -7
  284. package/cjs/{TabBar-73bb6c97.js.map → TabBar-e77706d0.js.map} +1 -1
  285. package/cjs/TabBarItem-2b3039aa.js +3 -3
  286. package/cjs/TabBarLayout-c2efbeb3.js +1 -1
  287. package/cjs/{TabBarMixed-426fcaf1.js → TabBarMixed-bc696a46.js} +12 -7
  288. package/cjs/{TabBarMixed-426fcaf1.js.map → TabBarMixed-bc696a46.js.map} +1 -1
  289. package/cjs/{TabBarMixedSeparator-e949e3c9.js → TabBarMixedSeparator-6388ccda.js} +2 -2
  290. package/cjs/{TabBarMixedSeparator-e949e3c9.js.map → TabBarMixedSeparator-6388ccda.js.map} +1 -1
  291. package/cjs/Table-ecf57a09.js +3 -3
  292. package/cjs/TagCloud-26a38c04.js +9 -9
  293. package/cjs/{TextArea-aff8b46e.js → TextArea-b2646d51.js} +9 -27
  294. package/{es/TextArea-d97aac1f.js.map → cjs/TextArea-b2646d51.js.map} +1 -1
  295. package/cjs/{TextAreaAutosize-c12ae7e7.js → TextAreaAutosize-d8cad6ce.js} +8 -8
  296. package/cjs/{TextAreaAutosize-c12ae7e7.js.map → TextAreaAutosize-d8cad6ce.js.map} +1 -1
  297. package/cjs/TextField-0f4e945f.js +3 -3
  298. package/cjs/TextFieldInput-4904c227.js +1 -1
  299. package/cjs/Theme-redwood/theme.css +296 -296
  300. package/cjs/Theme-stable/theme.css +209 -209
  301. package/cjs/TimeComponentCanvas2D-babbee35.js +4 -4
  302. package/cjs/Toolbar-415d636a.js +1 -1
  303. package/cjs/TruncatingBadge-7516b73e.js +2 -2
  304. package/cjs/TruncatingText-238fc336.js +2 -2
  305. package/cjs/UNSAFE_ActionCard.js +2 -2
  306. package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +34 -34
  307. package/cjs/UNSAFE_BarChart.js +34 -34
  308. package/cjs/UNSAFE_BaseButton.js +3 -3
  309. package/cjs/UNSAFE_Button.js +3 -3
  310. package/cjs/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +18 -18
  311. package/cjs/UNSAFE_ButtonSet.js +4 -4
  312. package/cjs/UNSAFE_ButtonSetButton.js +3 -3
  313. package/cjs/UNSAFE_ButtonSetIconButton.js +14 -14
  314. package/cjs/UNSAFE_ButtonSetItem.js +14 -14
  315. package/cjs/UNSAFE_ButtonSetMultiple.js +4 -4
  316. package/cjs/UNSAFE_ButtonSetSingle.js +4 -4
  317. package/cjs/UNSAFE_CardFlexView.js +19 -19
  318. package/cjs/UNSAFE_CardGridView.js +19 -19
  319. package/cjs/UNSAFE_Center.js +5 -5
  320. package/cjs/UNSAFE_ChartWithLegend.js +4 -4
  321. package/cjs/UNSAFE_Checkbox.js +21 -21
  322. package/cjs/UNSAFE_CheckboxItem.js +22 -22
  323. package/cjs/UNSAFE_CheckboxSet.js +21 -21
  324. package/cjs/UNSAFE_Chip.js +2 -2
  325. package/cjs/UNSAFE_Collapsible.js +16 -16
  326. package/cjs/UNSAFE_ComponentMessage.js +17 -17
  327. package/cjs/UNSAFE_ConveyorBelt.js +14 -14
  328. package/cjs/UNSAFE_DatePicker.js +23 -23
  329. package/cjs/UNSAFE_Diagram.js +15 -15
  330. package/cjs/UNSAFE_Dialog.js +9 -9
  331. package/cjs/UNSAFE_DragHandle.js +15 -15
  332. package/cjs/UNSAFE_DrawerLayout.js +11 -11
  333. package/cjs/UNSAFE_DrawerPopup.js +10 -10
  334. package/cjs/UNSAFE_Dropdown.js +12 -12
  335. package/cjs/UNSAFE_Environment.js +4 -4
  336. package/cjs/UNSAFE_ExpandableList.js +21 -21
  337. package/cjs/UNSAFE_FilePicker.js +4 -4
  338. package/cjs/UNSAFE_Flex.js +4 -4
  339. package/cjs/UNSAFE_Floating.js +10 -10
  340. package/cjs/UNSAFE_FormLayout.js +2 -2
  341. package/cjs/UNSAFE_Gantt.js +21 -21
  342. package/cjs/UNSAFE_Grid.js +4 -4
  343. package/cjs/UNSAFE_HighlightText.js +4 -4
  344. package/cjs/UNSAFE_Icon.js +14 -14
  345. package/cjs/UNSAFE_IconButton.js +14 -14
  346. package/cjs/UNSAFE_IconMenuButton.js +18 -18
  347. package/cjs/UNSAFE_IconToggleButton.js +14 -14
  348. package/cjs/UNSAFE_Indexer.js +6 -6
  349. package/cjs/UNSAFE_InputDateMask.js +22 -22
  350. package/cjs/UNSAFE_InputDatePicker.js +107 -107
  351. package/cjs/UNSAFE_InputPassword.js +21 -21
  352. package/cjs/UNSAFE_InputSensitiveText.js +23 -23
  353. package/cjs/UNSAFE_InputText.js +24 -24
  354. package/cjs/UNSAFE_Label.js +21 -21
  355. package/cjs/UNSAFE_LabelValueLayout.js +4 -4
  356. package/cjs/UNSAFE_LabelledLink.js +23 -23
  357. package/cjs/UNSAFE_Layer.js +7 -7
  358. package/cjs/UNSAFE_Legend.js +22 -22
  359. package/cjs/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +33 -33
  360. package/cjs/UNSAFE_LineAreaChart.js +34 -34
  361. package/cjs/UNSAFE_Link.js +2 -2
  362. package/cjs/UNSAFE_ListItemLayout.js +5 -5
  363. package/cjs/UNSAFE_ListView.js +24 -24
  364. package/cjs/UNSAFE_LiveRegion.js +4 -4
  365. package/cjs/UNSAFE_Menu.js +20 -20
  366. package/cjs/UNSAFE_MenuButton.js +18 -18
  367. package/cjs/UNSAFE_MessageBanner.js +17 -17
  368. package/cjs/UNSAFE_MessageToast.js +20 -20
  369. package/cjs/UNSAFE_MeterBar.js +14 -14
  370. package/cjs/UNSAFE_MeterCircle.js +14 -14
  371. package/cjs/UNSAFE_Modal.js +7 -7
  372. package/cjs/UNSAFE_NavigationList.js +34 -32
  373. package/cjs/UNSAFE_NavigationList.js.map +1 -1
  374. package/cjs/UNSAFE_NavigationListCommon.js +68 -67
  375. package/cjs/UNSAFE_NavigationListCommon.js.map +1 -1
  376. package/cjs/UNSAFE_NumberInputText.js +23 -23
  377. package/cjs/UNSAFE_OverflowTabBar.js +45 -43
  378. package/cjs/UNSAFE_OverflowTabBar.js.map +1 -1
  379. package/cjs/UNSAFE_PictoChart.js +13 -13
  380. package/cjs/UNSAFE_PieChart/__test__/PieChart.spec.js +14 -14
  381. package/cjs/UNSAFE_PieChart.js +14 -14
  382. package/cjs/UNSAFE_Popup.js +15 -15
  383. package/cjs/UNSAFE_ProgressBar.js +5 -5
  384. package/cjs/UNSAFE_ProgressCircle.js +4 -4
  385. package/cjs/UNSAFE_RadioItem.js +21 -21
  386. package/cjs/UNSAFE_RadioSet.js +21 -21
  387. package/cjs/UNSAFE_RatingGauge.js +15 -15
  388. package/cjs/UNSAFE_ReorderableTabBar.js +41 -27
  389. package/cjs/UNSAFE_ReorderableTabBar.js.map +1 -1
  390. package/cjs/UNSAFE_SectionalLegend.js +23 -23
  391. package/cjs/UNSAFE_SelectMultiple.js +29 -29
  392. package/cjs/UNSAFE_SelectSingle.js +29 -29
  393. package/cjs/UNSAFE_SelectionCard.js +4 -4
  394. package/cjs/UNSAFE_Selector.js +14 -14
  395. package/cjs/UNSAFE_SelectorAll.js +17 -17
  396. package/cjs/UNSAFE_Sheet/__test__/Sheet.spec.js +13 -13
  397. package/cjs/UNSAFE_Sheet.js +10 -10
  398. package/cjs/UNSAFE_SplitMenuButton.js +18 -18
  399. package/cjs/UNSAFE_TabBar.js +47 -45
  400. package/cjs/UNSAFE_TabBar.js.map +1 -1
  401. package/cjs/UNSAFE_TabBarCommon.js +42 -40
  402. package/cjs/UNSAFE_TabBarCommon.js.map +1 -1
  403. package/cjs/UNSAFE_TabBarMixed.js +50 -48
  404. package/cjs/UNSAFE_TabBarMixed.js.map +1 -1
  405. package/cjs/UNSAFE_TableView.js +16 -16
  406. package/cjs/UNSAFE_TagCloud.js +22 -22
  407. package/cjs/UNSAFE_TextArea.js +27 -26
  408. package/cjs/UNSAFE_TextArea.js.map +1 -1
  409. package/cjs/UNSAFE_TextAreaAutosize.js +25 -25
  410. package/cjs/UNSAFE_TextField.js +7 -7
  411. package/cjs/UNSAFE_ToggleButton.js +3 -3
  412. package/cjs/UNSAFE_Toolbar/tests/Toolbar.spec.js +20 -20
  413. package/cjs/UNSAFE_Toolbar.js +4 -4
  414. package/cjs/UNSAFE_Train.js +15 -15
  415. package/cjs/UNSAFE_TruncatingBadge.js +15 -15
  416. package/cjs/UNSAFE_TruncatingText.js +15 -15
  417. package/cjs/UNSAFE_UserAssistance.js +22 -22
  418. package/cjs/UNSAFE_View.js +7 -7
  419. package/cjs/UNSAFE_VirtualizedListView.js +18 -18
  420. package/cjs/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  421. package/cjs/UNSAFE_VisProgressiveLoader.js +6 -6
  422. package/cjs/UNSAFE_VisStatusMessage.js +6 -6
  423. package/cjs/UNSAFE_WindowOverlay.js +4 -4
  424. package/cjs/{View-8f49d970.js → View-011404a7.js} +5 -5
  425. package/cjs/{View-8f49d970.js.map → View-011404a7.js.map} +1 -1
  426. package/cjs/{VisNoData-b3159e5a.js → VisNoData-9afdc618.js} +3 -3
  427. package/cjs/{VisNoData-b3159e5a.js.map → VisNoData-9afdc618.js.map} +1 -1
  428. package/cjs/{VisProgressiveLoader-2cf7074b.js → VisProgressiveLoader-ad546cec.js} +3 -3
  429. package/cjs/{VisProgressiveLoader-2cf7074b.js.map → VisProgressiveLoader-ad546cec.js.map} +1 -1
  430. package/cjs/{VisTabularDatatip-96e5fcf3.js → VisTabularDatatip-3b3341f9.js} +2 -2
  431. package/cjs/{VisTabularDatatip-96e5fcf3.js.map → VisTabularDatatip-3b3341f9.js.map} +1 -1
  432. package/cjs/{WindowOverlay-bb51c0ee.js → WindowOverlay-d255542f.js} +2 -2
  433. package/cjs/{WindowOverlay-bb51c0ee.js.map → WindowOverlay-d255542f.js.map} +1 -1
  434. package/cjs/{YearsGridView-6affda7f.js → YearsGridView-95c9ae3d.js} +4 -4
  435. package/cjs/{YearsGridView-6affda7f.js.map → YearsGridView-95c9ae3d.js.map} +1 -1
  436. package/cjs/hoc/PRIVATE_withDirectionIcon.js +4 -4
  437. package/cjs/hoc/PRIVATE_withThemeIcon.js +3 -3
  438. package/cjs/hoc/UNSAFE_withThemeProps.js +3 -3
  439. package/cjs/hooks/PRIVATE_useChartContextMenu.js +18 -18
  440. package/cjs/hooks/PRIVATE_useChartDatatip.js +13 -13
  441. package/cjs/hooks/PRIVATE_useChartEvents.js +17 -17
  442. package/cjs/hooks/PRIVATE_useChartMarquee.js +16 -16
  443. package/cjs/hooks/PRIVATE_useCssVars.js +7 -7
  444. package/cjs/hooks/PRIVATE_useCurrentKey.js +4 -4
  445. package/cjs/hooks/PRIVATE_useDatatip.js +11 -11
  446. package/cjs/hooks/PRIVATE_useFloating.js +4 -4
  447. package/cjs/hooks/PRIVATE_useReorderable.js +4 -4
  448. package/cjs/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  449. package/cjs/hooks/PRIVATE_useSelection.js +4 -4
  450. package/cjs/hooks/PRIVATE_useTabBar.js +5 -5
  451. package/cjs/hooks/PRIVATE_useVisContextMenu.js +18 -18
  452. package/cjs/hooks/PRIVATE_useVisEvents.js +4 -4
  453. package/cjs/hooks/PRIVATE_useVisMeterEvents.js +13 -13
  454. package/cjs/hooks/PRIVATE_useVisSelection.js +12 -12
  455. package/cjs/hooks/UNSAFE_useColorScheme.js +3 -3
  456. package/cjs/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  457. package/cjs/hooks/UNSAFE_useDensity.js +3 -3
  458. package/cjs/hooks/UNSAFE_useOutsideClick.js +7 -7
  459. package/cjs/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  460. package/cjs/hooks/UNSAFE_useScale.js +3 -3
  461. package/cjs/hooks/UNSAFE_useTestId.js +3 -3
  462. package/cjs/hooks/UNSAFE_useTheme.js +3 -3
  463. package/cjs/hooks/UNSAFE_useThemeInterpolations.js +5 -5
  464. package/cjs/hooks/UNSAFE_useTooltip.js +15 -15
  465. package/cjs/hooks/UNSAFE_useTranslationBundle.js +3 -3
  466. package/cjs/hooks/UNSAFE_useUser.js +3 -3
  467. package/cjs/{index-5049ab6c.js → index-c679f28a.js} +2 -2
  468. package/cjs/index-c679f28a.js.map +1 -0
  469. package/cjs/listViewSelectionTests-3d07b4e3.js +4 -4
  470. package/cjs/{render-7538ab25.js → render-7a552b40.js} +3 -3
  471. package/cjs/{render-7538ab25.js.map → render-7a552b40.js.map} +1 -1
  472. package/cjs/{tabbableUtils-5502f80e.js → tabbableUtils-6d07309a.js} +3 -3
  473. package/cjs/{tabbableUtils-5502f80e.js.map → tabbableUtils-6d07309a.js.map} +1 -1
  474. package/cjs/{testData-afbc1647.js → testData-f91dbc33.js} +3 -3
  475. package/cjs/{testData-afbc1647.js.map → testData-f91dbc33.js.map} +1 -1
  476. package/cjs/useCellNavigation-24bff833.js +1 -1
  477. package/cjs/useChartContextMenu-d7ed939f.js +3 -3
  478. package/cjs/{useChartDatatip-b838368c.js → useChartDatatip-7b7f757f.js} +4 -4
  479. package/cjs/{useChartDatatip-b838368c.js.map → useChartDatatip-7b7f757f.js.map} +1 -1
  480. package/cjs/useChartMarquee-ab7c89ea.js +1 -1
  481. package/cjs/{useColorScheme-b0ea4a49.js → useColorScheme-d2c4adcc.js} +2 -2
  482. package/cjs/{useColorScheme-b0ea4a49.js.map → useColorScheme-d2c4adcc.js.map} +1 -1
  483. package/cjs/useContextMenu-f3cf0db8.js +3 -3
  484. package/cjs/{useCssVars-839ce507.js → useCssVars-4f061513.js} +5 -5
  485. package/cjs/{useCssVars-839ce507.js.map → useCssVars-4f061513.js.map} +1 -1
  486. package/cjs/{useCurrentBgColor-2d0db090.js → useCurrentBgColor-ccc9db95.js} +2 -2
  487. package/cjs/{useCurrentBgColor-2d0db090.js.map → useCurrentBgColor-ccc9db95.js.map} +1 -1
  488. package/cjs/{useCurrentKey-9c158ccc.js → useCurrentKey-3b4c8a44.js} +2 -2
  489. package/cjs/{useCurrentKey-9c158ccc.js.map → useCurrentKey-3b4c8a44.js.map} +1 -1
  490. package/cjs/{useDatatip-1f5535bb.js → useDatatip-ff0c568c.js} +4 -4
  491. package/cjs/{useDatatip-1f5535bb.js.map → useDatatip-ff0c568c.js.map} +1 -1
  492. package/cjs/{useDensity-edb16927.js → useDensity-6e80ddff.js} +2 -2
  493. package/cjs/{useDensity-edb16927.js.map → useDensity-6e80ddff.js.map} +1 -1
  494. package/cjs/{useFloating-f4bbd8c4.js → useFloating-7800fd56.js} +2 -2
  495. package/cjs/{useFloating-f4bbd8c4.js.map → useFloating-7800fd56.js.map} +1 -1
  496. package/cjs/{useKeyboardEvents-1b2187c2.js → useKeyboardEvents-f1a1dfef.js} +2 -2
  497. package/cjs/{useKeyboardEvents-1b2187c2.js.map → useKeyboardEvents-f1a1dfef.js.map} +1 -1
  498. package/cjs/useLegendContextMenu-a10bd2fc.js +5 -5
  499. package/cjs/{useMeterDatatip-93d199d6.js → useMeterDatatip-5db0b026.js} +3 -3
  500. package/cjs/{useMeterDatatip-93d199d6.js.map → useMeterDatatip-5db0b026.js.map} +1 -1
  501. package/cjs/{BaseNavigationListItem-070d75bc.js → useNavigationListItem-74009187.js} +2 -40
  502. package/cjs/useNavigationListItem-74009187.js.map +1 -0
  503. package/cjs/{useOutsideClick-b22e1d4a.js → useOutsideClick-7420644b.js} +2 -2
  504. package/cjs/{useOutsideClick-b22e1d4a.js.map → useOutsideClick-7420644b.js.map} +1 -1
  505. package/cjs/{usePopupAnimation-d58b2664.js → usePopupAnimation-78a173e8.js} +2 -2
  506. package/cjs/{usePopupAnimation-d58b2664.js.map → usePopupAnimation-78a173e8.js.map} +1 -1
  507. package/cjs/{usePrefixSuffix-544b49ad.js → usePrefixSuffix-edb21dad.js} +2 -2
  508. package/cjs/{usePrefixSuffix-544b49ad.js.map → usePrefixSuffix-edb21dad.js.map} +1 -1
  509. package/cjs/useReorderableItem-02ed8243.js +2 -2
  510. package/cjs/{useRovingTabIndexContainer-c03da9ff.js → useRovingTabIndexContainer-ff6fef9d.js} +2 -2
  511. package/cjs/{useRovingTabIndexContainer-c03da9ff.js.map → useRovingTabIndexContainer-ff6fef9d.js.map} +1 -1
  512. package/cjs/{useScale-c5e9172c.js → useScale-74bd6456.js} +2 -2
  513. package/cjs/{useScale-c5e9172c.js.map → useScale-74bd6456.js.map} +1 -1
  514. package/cjs/useSelectCommon-8aaf62bd.js +11 -11
  515. package/cjs/{useSelectDrill-303b8cba.js → useSelectDrill-64289234.js} +3 -3
  516. package/cjs/{useSelectDrill-303b8cba.js.map → useSelectDrill-64289234.js.map} +1 -1
  517. package/cjs/{useSelection-1fe0f2c2.js → useSelection-8f71759b.js} +5 -5
  518. package/cjs/{useSelection-1fe0f2c2.js.map → useSelection-8f71759b.js.map} +1 -1
  519. package/cjs/{useSelection-05fa772e.js → useSelection-b53f8255.js} +2 -2
  520. package/cjs/{useSelection-05fa772e.js.map → useSelection-b53f8255.js.map} +1 -1
  521. package/cjs/{useTabBar-8bd94c1b.js → useTabBar-35edcdb1.js} +2 -2
  522. package/cjs/{useTabBar-8bd94c1b.js.map → useTabBar-35edcdb1.js.map} +1 -1
  523. package/cjs/{useTestId-71c3de70.js → useTestId-8234ec1e.js} +2 -2
  524. package/cjs/{useTestId-71c3de70.js.map → useTestId-8234ec1e.js.map} +1 -1
  525. package/cjs/{useTheme-f85b8938.js → useTheme-9b0dc066.js} +2 -2
  526. package/cjs/{useTheme-f85b8938.js.map → useTheme-9b0dc066.js.map} +1 -1
  527. package/cjs/{useThemeInterpolations-50ce3d68.js → useThemeInterpolations-25313f34.js} +4 -4
  528. package/cjs/{useThemeInterpolations-50ce3d68.js.map → useThemeInterpolations-25313f34.js.map} +1 -1
  529. package/cjs/{useTooltip-29b90247.js → useTooltip-468c1c92.js} +2 -2
  530. package/cjs/{useTooltip-29b90247.js.map → useTooltip-468c1c92.js.map} +1 -1
  531. package/cjs/{useTooltipControlled-a907e06c.js → useTooltipControlled-706a3651.js} +8 -8
  532. package/cjs/{useTooltipControlled-a907e06c.js.map → useTooltipControlled-706a3651.js.map} +1 -1
  533. package/cjs/{useTranslationBundle-7fcd8bd5.js → useTranslationBundle-9da032d6.js} +2 -2
  534. package/cjs/{useTranslationBundle-7fcd8bd5.js.map → useTranslationBundle-9da032d6.js.map} +1 -1
  535. package/cjs/{useUser-c8e9a94a.js → useUser-a6d15333.js} +2 -2
  536. package/cjs/{useUser-c8e9a94a.js.map → useUser-a6d15333.js.map} +1 -1
  537. package/cjs/{useVisEvents-b000a96f.js → useVisEvents-3d806e47.js} +2 -2
  538. package/cjs/{useVisEvents-b000a96f.js.map → useVisEvents-3d806e47.js.map} +1 -1
  539. package/cjs/utils/PRIVATE_visTestUtils.js +5 -5
  540. package/cjs/{withDirectionIcon-b6772ee8.js → withDirectionIcon-d9c7c79f.js} +2 -2
  541. package/cjs/{withDirectionIcon-b6772ee8.js.map → withDirectionIcon-d9c7c79f.js.map} +1 -1
  542. package/es/ActionCard-623c6191.js +1 -1
  543. package/es/{BarChart-72948598.js → BarChart-c8f78f4b.js} +4 -4
  544. package/es/{BarChart-72948598.js.map → BarChart-c8f78f4b.js.map} +1 -1
  545. package/es/BaseButton-5b2791b1.js +2 -2
  546. package/es/BaseCardView-59efba85.js +6 -6
  547. package/es/{BaseCardViewSelectionTest-ab83a0b0.js → BaseCardViewSelectionTest-6796b2b4.js} +6 -6
  548. package/es/{BaseCardViewSelectionTest-ab83a0b0.js.map → BaseCardViewSelectionTest-6796b2b4.js.map} +1 -1
  549. package/es/BaseNavigationListItem-3a377d46.js +1 -1
  550. package/es/ButtonSet-fa7e8acd.js +2 -2
  551. package/es/ButtonSetIconButton-c5860cc1.js +2 -2
  552. package/es/{Center-58d4b406.js → Center-2ffc1dcc.js} +2 -2
  553. package/es/{Center-58d4b406.js.map → Center-2ffc1dcc.js.map} +1 -1
  554. package/es/{Chart-304043b3.js → Chart-793bd008.js} +11 -11
  555. package/es/{Chart-304043b3.js.map → Chart-793bd008.js.map} +1 -1
  556. package/es/CheckboxControl-7174e0b2.js +6 -6
  557. package/es/CheckboxRadioField-c7c4643e.js +5 -5
  558. package/es/CheckboxSetContext-1be56556.js +9 -0
  559. package/{amd/CheckboxSetContext-2e486ea8.js.map → es/CheckboxSetContext-1be56556.js.map} +1 -1
  560. package/es/Chip-2c86a76f.js +1 -1
  561. package/es/ClearIcon-f1f796b4.js +1 -1
  562. package/es/CollapseIcon-b6d7cfd6.js +1 -1
  563. package/es/Collapsible-4cdc17e3.js +2 -2
  564. package/es/CompactHelpSource-548938ff.js +2 -2
  565. package/es/{CompactLabelAssistance-933d1d68.js → CompactLabelAssistance-fc9478aa.js} +4 -4
  566. package/es/{CompactLabelAssistance-933d1d68.js.map → CompactLabelAssistance-fc9478aa.js.map} +1 -1
  567. package/es/CompactUserAssistance-41c32c6f.js +4 -4
  568. package/es/ComponentMessageContainer-7d9228a3.js +4 -4
  569. package/es/ConveyorBeltItem-3d1d7f3c.js +2 -2
  570. package/es/{DatePicker-e517dad2.js → DatePicker-4356274b.js} +6 -6
  571. package/es/{DatePicker-e517dad2.js.map → DatePicker-4356274b.js.map} +1 -1
  572. package/es/DatePickerHeader-7078d6e8.js +3 -3
  573. package/es/{Diagram-15e246b6.js → Diagram-214e374c.js} +5 -5
  574. package/es/{Diagram-15e246b6.js.map → Diagram-214e374c.js.map} +1 -1
  575. package/es/DirectionalCollapseArrowIcon-0298f5ef.js +1 -1
  576. package/es/DirectionalExpandArrowIcon-cf8fd7a8.js +1 -1
  577. package/es/DragHandle-9514fcdc.js +1 -1
  578. package/es/{Dropdown-2a328b40.js → Dropdown-717319bb.js} +5 -5
  579. package/es/{Dropdown-2a328b40.js.map → Dropdown-717319bb.js.map} +1 -1
  580. package/es/{EnvironmentProvider-6846a7ff.js → EnvironmentProvider-f543a463.js} +3 -3
  581. package/es/{EnvironmentProvider-6846a7ff.js.map → EnvironmentProvider-f543a463.js.map} +1 -1
  582. package/es/FilePicker-d8a0ad3a.js +2 -2
  583. package/es/{Flex-5ff5aa5e.js → Flex-24628925.js} +2 -2
  584. package/es/{Flex-5ff5aa5e.js.map → Flex-24628925.js.map} +1 -1
  585. package/es/{Floating-5b269acc.js → Floating-9703160e.js} +4 -4
  586. package/es/{Floating-5b269acc.js.map → Floating-9703160e.js.map} +1 -1
  587. package/es/FormLayout-ecd0259b.js +1 -1
  588. package/es/Gantt-b21af627.js +9 -9
  589. package/es/{Grid-5d8f712b.js → Grid-cfeac922.js} +2 -2
  590. package/es/{Grid-5d8f712b.js.map → Grid-cfeac922.js.map} +1 -1
  591. package/es/{Gridlines-4b7301e7.js → Gridlines-428bf909.js} +2 -2
  592. package/es/{Gridlines-4b7301e7.js.map → Gridlines-428bf909.js.map} +1 -1
  593. package/es/GroupLoadingIndicator-9c995e99.js +1 -1
  594. package/es/{HighlightText-39781e79.js → HighlightText-180e29f6.js} +2 -2
  595. package/es/{HighlightText-39781e79.js.map → HighlightText-180e29f6.js.map} +1 -1
  596. package/es/Icon-90c3a630.js +2 -2
  597. package/es/IconButton-37310d21.js +2 -2
  598. package/es/IconMenuButton-9fe6cbf9.js +4 -4
  599. package/es/IconSwitchButton-61cabbfe.js +2 -2
  600. package/es/IconToggleButton-f57e5484.js +2 -2
  601. package/es/{IconUserAssistance-744d71a4.js → IconUserAssistance-c226cb4f.js} +3 -3
  602. package/es/{IconUserAssistance-744d71a4.js.map → IconUserAssistance-c226cb4f.js.map} +1 -1
  603. package/es/Indexer-a671092c.js +4 -4
  604. package/es/InlineHelpSource-b43def76.js +1 -1
  605. package/es/InlineUserAssistance-bb690d93.js +5 -5
  606. package/es/InputDateMask-7386adfe.js +7 -7
  607. package/es/{InputDatePicker-7f9852d0.js → InputDatePicker-aa02a34c.js} +10 -10
  608. package/es/{InputDatePicker-7f9852d0.js.map → InputDatePicker-aa02a34c.js.map} +1 -1
  609. package/es/InputPassword-1f1f80b3.js +4 -4
  610. package/es/InputText-5fb896e7.js +6 -6
  611. package/es/Label-6674b3f2.js +5 -5
  612. package/es/LabelValueLayout-23b74176.js +1 -1
  613. package/es/{Layer-5d259d3a.js → Layer-9b06412e.js} +3 -3
  614. package/es/{Layer-5d259d3a.js.map → Layer-9b06412e.js.map} +1 -1
  615. package/es/{LayerHost-aaed41a1.js → LayerHost-45f545d7.js} +2 -2
  616. package/es/{LayerHost-aaed41a1.js.map → LayerHost-45f545d7.js.map} +1 -1
  617. package/es/{LayerManager-87beee1e.js → LayerManager-625d2503.js} +2 -2
  618. package/es/{LayerManager-87beee1e.js.map → LayerManager-625d2503.js.map} +1 -1
  619. package/es/Legend-98a79c12.js +3 -3
  620. package/es/{LineAreaChart-09df0269.js → LineAreaChart-413e0043.js} +4 -4
  621. package/es/{LineAreaChart-09df0269.js.map → LineAreaChart-413e0043.js.map} +1 -1
  622. package/es/Link-bfa35319.js +1 -1
  623. package/es/List-9026206d.js +5 -5
  624. package/es/{ListItemLayout-961c8443.js → ListItemLayout-695ec1a5.js} +2 -2
  625. package/es/{ListItemLayout-961c8443.js.map → ListItemLayout-695ec1a5.js.map} +1 -1
  626. package/es/ListView-c508c3a4.js +3 -3
  627. package/es/{LiveRegion-4646cd7d.js → LiveRegion-81216fe6.js} +2 -2
  628. package/es/{LiveRegion-4646cd7d.js.map → LiveRegion-81216fe6.js.map} +1 -1
  629. package/es/{MaxLengthLiveRegion-1278e638.js → MaxLengthLiveRegion-cd15b075.js} +3 -3
  630. package/es/{MaxLengthLiveRegion-1278e638.js.map → MaxLengthLiveRegion-cd15b075.js.map} +1 -1
  631. package/es/{Menu-b0c28cfd.js → Menu-c7ab8412.js} +8 -8
  632. package/es/{Menu-b0c28cfd.js.map → Menu-c7ab8412.js.map} +1 -1
  633. package/es/MenuButton-39563941.js +3 -3
  634. package/es/MenuItem-a8f9c954.js +1 -1
  635. package/es/Message-be36b84a.js +2 -2
  636. package/es/{MessageLayer-322485df.js → MessageLayer-0946d6b7.js} +6 -6
  637. package/es/{MessageLayer-322485df.js.map → MessageLayer-0946d6b7.js.map} +1 -1
  638. package/es/MessageToast-2fa3c9d4.js +8 -8
  639. package/es/MessagesManager-0d60fea1.js +3 -3
  640. package/es/MeterBar-bdd7f9da.js +4 -4
  641. package/es/MeterCircle-fd10f18b.js +4 -4
  642. package/es/{Modal-986872f3.js → Modal-6b11d8cb.js} +3 -3
  643. package/es/{Modal-986872f3.js.map → Modal-6b11d8cb.js.map} +1 -1
  644. package/es/{MonthView-99cc26ac.js → MonthView-cc017afe.js} +4 -4
  645. package/es/{MonthView-99cc26ac.js.map → MonthView-cc017afe.js.map} +1 -1
  646. package/es/NavigationListItem-ea899fab.js +5 -5
  647. package/es/NumberInputText-21ded33a.js +6 -6
  648. package/es/OverflowTabBarItem-8f35961d.js +3 -3
  649. package/es/PRIVATE_BaseCardView.js +19 -19
  650. package/es/PRIVATE_Chart.js +33 -33
  651. package/es/PRIVATE_CheckboxControl.js +21 -21
  652. package/es/PRIVATE_CheckboxRadioField.js +22 -22
  653. package/es/PRIVATE_ClearIcon.js +16 -16
  654. package/es/PRIVATE_DatePickerHeader.js +18 -18
  655. package/es/PRIVATE_DatePickerLayout.js +4 -4
  656. package/es/PRIVATE_EmbeddedIconButton.js +3 -3
  657. package/es/PRIVATE_FormControls.js +19 -19
  658. package/es/PRIVATE_IconSwitchButton.js +14 -14
  659. package/es/PRIVATE_Icons/CheckboxMixed.js +14 -14
  660. package/es/PRIVATE_Icons/CheckboxOff.js +14 -14
  661. package/es/PRIVATE_Icons/CheckboxOn.js +14 -14
  662. package/es/PRIVATE_Icons/RadiobuttonOff.js +14 -14
  663. package/es/PRIVATE_Icons/RadiobuttonOn.js +14 -14
  664. package/es/PRIVATE_Icons/WarningS.js +14 -14
  665. package/es/PRIVATE_List.js +18 -18
  666. package/es/PRIVATE_Message.js +17 -17
  667. package/es/PRIVATE_MessageLayer.js +11 -11
  668. package/es/PRIVATE_MonthView.js +7 -7
  669. package/es/PRIVATE_MonthYearGridView.js +7 -7
  670. package/es/PRIVATE_PlotArea.js +4 -4
  671. package/es/PRIVATE_RevealToggleIcon.js +15 -15
  672. package/es/PRIVATE_SelectCommon.js +26 -26
  673. package/es/PRIVATE_StyledCheckbox.js +14 -14
  674. package/es/PRIVATE_Table.js +16 -16
  675. package/es/PRIVATE_ThemedIcons/CalendarIcon.js +14 -14
  676. package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +14 -14
  677. package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +14 -14
  678. package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +14 -14
  679. package/es/PRIVATE_ThemedIcons/CheckIcon.js +14 -14
  680. package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +14 -14
  681. package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +14 -14
  682. package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +14 -14
  683. package/es/PRIVATE_ThemedIcons/CloseIcon.js +14 -14
  684. package/es/PRIVATE_ThemedIcons/CollapseIcon.js +15 -15
  685. package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +14 -14
  686. package/es/PRIVATE_ThemedIcons/DecrementIcon.js +14 -14
  687. package/es/PRIVATE_ThemedIcons/DeleteIcon.js +14 -14
  688. package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +15 -15
  689. package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +15 -15
  690. package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +14 -14
  691. package/es/PRIVATE_ThemedIcons/ExpandIcon.js +14 -14
  692. package/es/PRIVATE_ThemedIcons/HelpIcon.js +14 -14
  693. package/es/PRIVATE_ThemedIcons/IncrementIcon.js +14 -14
  694. package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +14 -14
  695. package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +14 -14
  696. package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +14 -14
  697. package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +14 -14
  698. package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +14 -14
  699. package/es/PRIVATE_ThemedIcons/MinusIcon.js +14 -14
  700. package/es/PRIVATE_ThemedIcons/NavDownIcon.js +14 -14
  701. package/es/PRIVATE_ThemedIcons/PlusIcon.js +14 -14
  702. package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +14 -14
  703. package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +14 -14
  704. package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +14 -14
  705. package/es/PRIVATE_ThemedIcons/SortDefaultIcon.js +14 -14
  706. package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +14 -14
  707. package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +14 -14
  708. package/es/PRIVATE_ThemedIcons/ViewIcon.js +14 -14
  709. package/es/PRIVATE_TimeComponent.js +17 -17
  710. package/es/PRIVATE_VisTabularDatatip.js +4 -4
  711. package/es/PictoChart-20c9a0c2.js +6 -6
  712. package/es/{PieChart-e41e3463.js → PieChart-f349498b.js} +5 -5
  713. package/es/{PieChart-e41e3463.js.map → PieChart-f349498b.js.map} +1 -1
  714. package/es/{Popup-6288438d.js → Popup-8889a781.js} +9 -9
  715. package/es/{Popup-6288438d.js.map → Popup-8889a781.js.map} +1 -1
  716. package/es/{ProgressBar-ed0c5ba0.js → ProgressBar-afafe39a.js} +3 -3
  717. package/es/{ProgressBar-ed0c5ba0.js.map → ProgressBar-afafe39a.js.map} +1 -1
  718. package/es/{ProgressCircle-95a70910.js → ProgressCircle-fa5866a3.js} +2 -2
  719. package/es/{ProgressCircle-95a70910.js.map → ProgressCircle-fa5866a3.js.map} +1 -1
  720. package/es/RadioItem-e5b1f50b.js +6 -6
  721. package/es/RatingGauge-4d8a68df.js +7 -7
  722. package/es/ReadonlyTextFieldInput-4392c7aa.js +1 -1
  723. package/es/RemovableNavigationListItem-4c86bec8.js +1 -1
  724. package/es/RemovableTabBarItem-217d4a0b.js +2 -2
  725. package/es/ReorderableTabBar-84640a66.js +2 -2
  726. package/es/RevealToggleIcon-9236963e.js +1 -1
  727. package/es/SectionalLegend-6ffb4255.js +4 -4
  728. package/es/{SectionedContent-13d72f4b.js → SectionedContent-815e377a.js} +5 -5
  729. package/es/{SectionedContent-13d72f4b.js.map → SectionedContent-815e377a.js.map} +1 -1
  730. package/es/SelectMultiple-fd3ea6f8.js +8 -8
  731. package/es/SelectSingle-8a8d1f5e.js +7 -7
  732. package/es/{SelectionCard-8496e467.js → SelectionCard-79044c5f.js} +2 -2
  733. package/es/{SelectionCard-8496e467.js.map → SelectionCard-79044c5f.js.map} +1 -1
  734. package/es/Selector-e56a73a8.js +1 -1
  735. package/es/SelectorAll-6f080f88.js +5 -5
  736. package/es/{Sheet-8914df23.js → Sheet-e4121f4a.js} +3 -3
  737. package/es/{Sheet-8914df23.js.map → Sheet-e4121f4a.js.map} +1 -1
  738. package/es/SplitMenuButton-79bdfe96.js +3 -3
  739. package/es/StyledTextField-c79f5438.js +3 -3
  740. package/es/Submenu-8b3fa593.js +1 -1
  741. package/es/TabBar-e39e8dbd.js +6 -6
  742. package/es/TabBarItem-c681fa07.js +3 -3
  743. package/es/TabBarLayout-a0d89ec4.js +1 -1
  744. package/es/TabBarMixed-3658d3d2.js +6 -6
  745. package/es/{TabBarMixedSeparator-da2254c9.js → TabBarMixedSeparator-8ab78880.js} +2 -2
  746. package/es/{TabBarMixedSeparator-da2254c9.js.map → TabBarMixedSeparator-8ab78880.js.map} +1 -1
  747. package/es/Table-e3ef68ad.js +3 -3
  748. package/es/TagCloud-78991c29.js +9 -9
  749. package/es/{TextArea-d97aac1f.js → TextArea-979496a0.js} +30 -13
  750. package/{cjs/TextArea-aff8b46e.js.map → es/TextArea-979496a0.js.map} +1 -1
  751. package/es/{TextAreaAutosize-68a4786d.js → TextAreaAutosize-b73aaa2f.js} +7 -7
  752. package/es/{TextAreaAutosize-68a4786d.js.map → TextAreaAutosize-b73aaa2f.js.map} +1 -1
  753. package/es/TextField-323fe0e9.js +3 -3
  754. package/es/TextFieldInput-3c39cb7b.js +1 -1
  755. package/es/Theme-redwood/theme.css +537 -537
  756. package/es/Theme-stable/theme.css +342 -342
  757. package/es/TimeComponentCanvas2D-c2ab38ba.js +4 -4
  758. package/es/Toolbar-f0e57a9d.js +1 -1
  759. package/es/TruncatingBadge-084c6682.js +2 -2
  760. package/es/TruncatingText-780cbb19.js +2 -2
  761. package/es/UNSAFE_ActionCard.js +2 -2
  762. package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +34 -34
  763. package/es/UNSAFE_BarChart.js +34 -34
  764. package/es/UNSAFE_BaseButton.js +3 -3
  765. package/es/UNSAFE_Button.js +3 -3
  766. package/es/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +18 -18
  767. package/es/UNSAFE_ButtonSet.js +4 -4
  768. package/es/UNSAFE_ButtonSetButton.js +3 -3
  769. package/es/UNSAFE_ButtonSetIconButton.js +14 -14
  770. package/es/UNSAFE_ButtonSetItem.js +14 -14
  771. package/es/UNSAFE_ButtonSetMultiple.js +4 -4
  772. package/es/UNSAFE_ButtonSetSingle.js +4 -4
  773. package/es/UNSAFE_CardFlexView.js +19 -19
  774. package/es/UNSAFE_CardGridView.js +19 -19
  775. package/es/UNSAFE_Center.js +5 -5
  776. package/es/UNSAFE_ChartWithLegend.js +4 -4
  777. package/es/UNSAFE_Checkbox.js +21 -21
  778. package/es/UNSAFE_CheckboxItem.js +50 -100
  779. package/es/UNSAFE_CheckboxItem.js.map +1 -1
  780. package/es/UNSAFE_CheckboxSet.js +65 -31
  781. package/es/UNSAFE_CheckboxSet.js.map +1 -1
  782. package/es/UNSAFE_Chip.js +2 -2
  783. package/es/UNSAFE_Collapsible.js +16 -16
  784. package/es/UNSAFE_ComponentMessage.js +17 -17
  785. package/es/UNSAFE_ConveyorBelt.js +14 -14
  786. package/es/UNSAFE_DatePicker.js +23 -23
  787. package/es/UNSAFE_Diagram.js +15 -15
  788. package/es/UNSAFE_Dialog.js +9 -9
  789. package/es/UNSAFE_DragHandle.js +15 -15
  790. package/es/UNSAFE_DrawerLayout.js +11 -11
  791. package/es/UNSAFE_DrawerPopup.js +10 -10
  792. package/es/UNSAFE_Dropdown.js +12 -12
  793. package/es/UNSAFE_Environment.js +4 -4
  794. package/es/UNSAFE_ExpandableList.js +21 -21
  795. package/es/UNSAFE_FilePicker.js +4 -4
  796. package/es/UNSAFE_Flex.js +4 -4
  797. package/es/UNSAFE_Floating.js +10 -10
  798. package/es/UNSAFE_FormLayout.js +2 -2
  799. package/es/UNSAFE_Gantt.js +21 -21
  800. package/es/UNSAFE_Grid.js +4 -4
  801. package/es/UNSAFE_HighlightText.js +4 -4
  802. package/es/UNSAFE_Icon.js +14 -14
  803. package/es/UNSAFE_IconButton.js +14 -14
  804. package/es/UNSAFE_IconMenuButton.js +18 -18
  805. package/es/UNSAFE_IconToggleButton.js +14 -14
  806. package/es/UNSAFE_Indexer.js +6 -6
  807. package/es/UNSAFE_InputDateMask.js +22 -22
  808. package/es/UNSAFE_InputDatePicker.js +108 -108
  809. package/es/UNSAFE_InputPassword.js +21 -21
  810. package/es/UNSAFE_InputSensitiveText.js +23 -23
  811. package/es/UNSAFE_InputText.js +24 -24
  812. package/es/UNSAFE_Label.js +21 -21
  813. package/es/UNSAFE_LabelValueLayout.js +4 -4
  814. package/es/UNSAFE_LabelledLink.js +23 -23
  815. package/es/UNSAFE_Layer.js +7 -7
  816. package/es/UNSAFE_Legend.js +22 -22
  817. package/es/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +33 -33
  818. package/es/UNSAFE_LineAreaChart.js +34 -34
  819. package/es/UNSAFE_Link.js +2 -2
  820. package/es/UNSAFE_ListItemLayout.js +5 -5
  821. package/es/UNSAFE_ListView.js +24 -24
  822. package/es/UNSAFE_LiveRegion.js +4 -4
  823. package/es/UNSAFE_Menu.js +20 -20
  824. package/es/UNSAFE_MenuButton.js +18 -18
  825. package/es/UNSAFE_MessageBanner.js +17 -17
  826. package/es/UNSAFE_MessageToast.js +20 -20
  827. package/es/UNSAFE_MeterBar.js +14 -14
  828. package/es/UNSAFE_MeterCircle.js +14 -14
  829. package/es/UNSAFE_Modal.js +7 -7
  830. package/es/UNSAFE_NavigationList.js +18 -18
  831. package/es/UNSAFE_NavigationListCommon.js +16 -16
  832. package/es/UNSAFE_NumberInputText.js +23 -23
  833. package/es/UNSAFE_OverflowTabBar.js +23 -23
  834. package/es/UNSAFE_PictoChart.js +13 -13
  835. package/es/UNSAFE_PieChart/__test__/PieChart.spec.js +14 -14
  836. package/es/UNSAFE_PieChart.js +14 -14
  837. package/es/UNSAFE_Popup.js +15 -15
  838. package/es/UNSAFE_ProgressBar.js +5 -5
  839. package/es/UNSAFE_ProgressCircle.js +4 -4
  840. package/es/UNSAFE_RadioItem.js +21 -21
  841. package/es/UNSAFE_RadioSet.js +21 -21
  842. package/es/UNSAFE_RatingGauge.js +15 -15
  843. package/es/UNSAFE_ReorderableTabBar.js +21 -21
  844. package/es/UNSAFE_SectionalLegend.js +23 -23
  845. package/es/UNSAFE_SelectMultiple.js +29 -29
  846. package/es/UNSAFE_SelectSingle.js +29 -29
  847. package/es/UNSAFE_SelectionCard.js +4 -4
  848. package/es/UNSAFE_Selector.js +14 -14
  849. package/es/UNSAFE_SelectorAll.js +17 -17
  850. package/es/UNSAFE_Sheet/__test__/Sheet.spec.js +13 -13
  851. package/es/UNSAFE_Sheet.js +10 -10
  852. package/es/UNSAFE_SplitMenuButton.js +18 -18
  853. package/es/UNSAFE_TabBar.js +24 -24
  854. package/es/UNSAFE_TabBarCommon.js +23 -23
  855. package/es/UNSAFE_TabBarMixed.js +27 -27
  856. package/es/UNSAFE_TableView.js +16 -16
  857. package/es/UNSAFE_TagCloud.js +22 -22
  858. package/es/UNSAFE_TextArea.js +25 -26
  859. package/es/UNSAFE_TextArea.js.map +1 -1
  860. package/es/UNSAFE_TextAreaAutosize.js +25 -25
  861. package/es/UNSAFE_TextField.js +7 -7
  862. package/es/UNSAFE_ToggleButton.js +3 -3
  863. package/es/UNSAFE_Toolbar/tests/Toolbar.spec.js +20 -20
  864. package/es/UNSAFE_Toolbar.js +4 -4
  865. package/es/UNSAFE_Train.js +15 -15
  866. package/es/UNSAFE_TruncatingBadge.js +15 -15
  867. package/es/UNSAFE_TruncatingText.js +15 -15
  868. package/es/UNSAFE_UserAssistance.js +22 -22
  869. package/es/UNSAFE_View.js +7 -7
  870. package/es/UNSAFE_VirtualizedListView.js +18 -18
  871. package/es/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  872. package/es/UNSAFE_VisProgressiveLoader.js +6 -6
  873. package/es/UNSAFE_VisStatusMessage.js +6 -6
  874. package/es/UNSAFE_WindowOverlay.js +4 -4
  875. package/es/{View-4dc6ce42.js → View-6013acac.js} +5 -5
  876. package/es/{View-4dc6ce42.js.map → View-6013acac.js.map} +1 -1
  877. package/es/{VisNoData-c69e8f5e.js → VisNoData-8593beaa.js} +3 -3
  878. package/es/{VisNoData-c69e8f5e.js.map → VisNoData-8593beaa.js.map} +1 -1
  879. package/es/{VisProgressiveLoader-cc1ab7cc.js → VisProgressiveLoader-0d9a0dd0.js} +3 -3
  880. package/es/{VisProgressiveLoader-cc1ab7cc.js.map → VisProgressiveLoader-0d9a0dd0.js.map} +1 -1
  881. package/es/{VisTabularDatatip-418525b0.js → VisTabularDatatip-1f16ca1f.js} +2 -2
  882. package/es/{VisTabularDatatip-418525b0.js.map → VisTabularDatatip-1f16ca1f.js.map} +1 -1
  883. package/es/{WindowOverlay-88b63ede.js → WindowOverlay-e14f8324.js} +2 -2
  884. package/es/{WindowOverlay-88b63ede.js.map → WindowOverlay-e14f8324.js.map} +1 -1
  885. package/es/{YearsGridView-76892288.js → YearsGridView-165e5eec.js} +4 -4
  886. package/es/{YearsGridView-76892288.js.map → YearsGridView-165e5eec.js.map} +1 -1
  887. package/es/hoc/PRIVATE_withDirectionIcon.js +4 -4
  888. package/es/hoc/PRIVATE_withThemeIcon.js +3 -3
  889. package/es/hoc/UNSAFE_withThemeProps.js +3 -3
  890. package/es/hooks/PRIVATE_useChartContextMenu.js +18 -18
  891. package/es/hooks/PRIVATE_useChartDatatip.js +13 -13
  892. package/es/hooks/PRIVATE_useChartEvents.js +17 -17
  893. package/es/hooks/PRIVATE_useChartMarquee.js +16 -16
  894. package/es/hooks/PRIVATE_useCssVars.js +7 -7
  895. package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
  896. package/es/hooks/PRIVATE_useDatatip.js +11 -11
  897. package/es/hooks/PRIVATE_useFloating.js +4 -4
  898. package/es/hooks/PRIVATE_useReorderable.js +4 -4
  899. package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  900. package/es/hooks/PRIVATE_useSelection.js +4 -4
  901. package/es/hooks/PRIVATE_useTabBar.js +5 -5
  902. package/es/hooks/PRIVATE_useVisContextMenu.js +18 -18
  903. package/es/hooks/PRIVATE_useVisEvents.js +4 -4
  904. package/es/hooks/PRIVATE_useVisMeterEvents.js +13 -13
  905. package/es/hooks/PRIVATE_useVisSelection.js +12 -12
  906. package/es/hooks/UNSAFE_useColorScheme.js +3 -3
  907. package/es/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  908. package/es/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  909. package/es/hooks/UNSAFE_useDensity.js +3 -3
  910. package/es/hooks/UNSAFE_useOutsideClick.js +7 -7
  911. package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  912. package/es/hooks/UNSAFE_useScale.js +3 -3
  913. package/es/hooks/UNSAFE_useTestId.js +3 -3
  914. package/es/hooks/UNSAFE_useTheme.js +3 -3
  915. package/es/hooks/UNSAFE_useThemeInterpolations.js +5 -5
  916. package/es/hooks/UNSAFE_useTooltip.js +15 -15
  917. package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
  918. package/es/hooks/UNSAFE_useUser.js +3 -3
  919. package/es/{index-75f23286.js → index-5f0f1501.js} +2 -2
  920. package/es/index-5f0f1501.js.map +1 -0
  921. package/es/listViewSelectionTests-ebf987d2.js +4 -4
  922. package/es/{render-8e2a09d1.js → render-c90e85c7.js} +3 -3
  923. package/es/{render-8e2a09d1.js.map → render-c90e85c7.js.map} +1 -1
  924. package/es/{tabbableUtils-73a9ba14.js → tabbableUtils-e6193af2.js} +3 -3
  925. package/es/{tabbableUtils-73a9ba14.js.map → tabbableUtils-e6193af2.js.map} +1 -1
  926. package/es/{testData-0aee4d83.js → testData-2998863b.js} +3 -3
  927. package/es/{testData-0aee4d83.js.map → testData-2998863b.js.map} +1 -1
  928. package/es/useCellNavigation-006fbce0.js +1 -1
  929. package/es/useChartContextMenu-0014fc73.js +3 -3
  930. package/es/{useChartDatatip-f7bacd9b.js → useChartDatatip-b6b2b00a.js} +4 -4
  931. package/es/{useChartDatatip-f7bacd9b.js.map → useChartDatatip-b6b2b00a.js.map} +1 -1
  932. package/es/useChartMarquee-38dbb5f9.js +1 -1
  933. package/es/{useColorScheme-bf110202.js → useColorScheme-e1b17324.js} +2 -2
  934. package/es/{useColorScheme-bf110202.js.map → useColorScheme-e1b17324.js.map} +1 -1
  935. package/es/useContextMenu-81db2534.js +3 -3
  936. package/es/{useCssVars-b3bf30fb.js → useCssVars-64d9b696.js} +5 -5
  937. package/es/{useCssVars-b3bf30fb.js.map → useCssVars-64d9b696.js.map} +1 -1
  938. package/es/{useCurrentBgColor-b3ebd7be.js → useCurrentBgColor-d89afadb.js} +2 -2
  939. package/es/{useCurrentBgColor-b3ebd7be.js.map → useCurrentBgColor-d89afadb.js.map} +1 -1
  940. package/es/{useCurrentKey-1f99b0f6.js → useCurrentKey-db7d3bb9.js} +2 -2
  941. package/es/{useCurrentKey-1f99b0f6.js.map → useCurrentKey-db7d3bb9.js.map} +1 -1
  942. package/es/{useDatatip-f9bcaab9.js → useDatatip-7c661980.js} +4 -4
  943. package/es/{useDatatip-f9bcaab9.js.map → useDatatip-7c661980.js.map} +1 -1
  944. package/es/{useDensity-9f6c6bf0.js → useDensity-60cfa748.js} +2 -2
  945. package/es/{useDensity-9f6c6bf0.js.map → useDensity-60cfa748.js.map} +1 -1
  946. package/es/{useFloating-1cca9e4f.js → useFloating-c99976f8.js} +2 -2
  947. package/es/{useFloating-1cca9e4f.js.map → useFloating-c99976f8.js.map} +1 -1
  948. package/es/{useKeyboardEvents-11b26017.js → useKeyboardEvents-102b4feb.js} +2 -2
  949. package/es/{useKeyboardEvents-11b26017.js.map → useKeyboardEvents-102b4feb.js.map} +1 -1
  950. package/es/useLegendContextMenu-d88be99d.js +5 -5
  951. package/es/{useMeterDatatip-7366880d.js → useMeterDatatip-262c0e39.js} +3 -3
  952. package/es/{useMeterDatatip-7366880d.js.map → useMeterDatatip-262c0e39.js.map} +1 -1
  953. package/es/{useOutsideClick-ab98bfa3.js → useOutsideClick-eb8324f6.js} +2 -2
  954. package/es/{useOutsideClick-ab98bfa3.js.map → useOutsideClick-eb8324f6.js.map} +1 -1
  955. package/es/{usePopupAnimation-4969107b.js → usePopupAnimation-4be04290.js} +2 -2
  956. package/es/{usePopupAnimation-4969107b.js.map → usePopupAnimation-4be04290.js.map} +1 -1
  957. package/es/{usePrefixSuffix-a14dacb0.js → usePrefixSuffix-71a410f4.js} +2 -2
  958. package/es/{usePrefixSuffix-a14dacb0.js.map → usePrefixSuffix-71a410f4.js.map} +1 -1
  959. package/es/useReorderableItem-25aa1c34.js +2 -2
  960. package/es/{useRovingTabIndexContainer-91fd85f3.js → useRovingTabIndexContainer-e7926bd6.js} +2 -2
  961. package/es/{useRovingTabIndexContainer-91fd85f3.js.map → useRovingTabIndexContainer-e7926bd6.js.map} +1 -1
  962. package/es/{useScale-42018695.js → useScale-d64a1a28.js} +2 -2
  963. package/es/{useScale-42018695.js.map → useScale-d64a1a28.js.map} +1 -1
  964. package/es/useSelectCommon-b6d67057.js +11 -11
  965. package/es/{useSelectDrill-333650bd.js → useSelectDrill-9ce5bccf.js} +3 -3
  966. package/es/{useSelectDrill-333650bd.js.map → useSelectDrill-9ce5bccf.js.map} +1 -1
  967. package/es/{useSelection-48f572e5.js → useSelection-c12f7802.js} +5 -5
  968. package/es/{useSelection-48f572e5.js.map → useSelection-c12f7802.js.map} +1 -1
  969. package/es/{useSelection-a098b3af.js → useSelection-ce0f9a43.js} +2 -2
  970. package/es/{useSelection-a098b3af.js.map → useSelection-ce0f9a43.js.map} +1 -1
  971. package/es/{useTabBar-4b318196.js → useTabBar-8af19c50.js} +2 -2
  972. package/es/{useTabBar-4b318196.js.map → useTabBar-8af19c50.js.map} +1 -1
  973. package/es/{useTestId-f5aed66c.js → useTestId-adde554c.js} +2 -2
  974. package/es/{useTestId-f5aed66c.js.map → useTestId-adde554c.js.map} +1 -1
  975. package/es/{useTheme-e7ea1253.js → useTheme-1f6035d2.js} +2 -2
  976. package/es/{useTheme-e7ea1253.js.map → useTheme-1f6035d2.js.map} +1 -1
  977. package/es/{useThemeInterpolations-66ce2e56.js → useThemeInterpolations-9bddc683.js} +4 -4
  978. package/es/{useThemeInterpolations-66ce2e56.js.map → useThemeInterpolations-9bddc683.js.map} +1 -1
  979. package/es/{useTooltip-30a4a4fc.js → useTooltip-9dec25b3.js} +2 -2
  980. package/es/{useTooltip-30a4a4fc.js.map → useTooltip-9dec25b3.js.map} +1 -1
  981. package/es/{useTooltipControlled-eafec36e.js → useTooltipControlled-2044f639.js} +8 -8
  982. package/es/{useTooltipControlled-eafec36e.js.map → useTooltipControlled-2044f639.js.map} +1 -1
  983. package/es/{useTranslationBundle-e8a8c4f3.js → useTranslationBundle-cd815e10.js} +2 -2
  984. package/es/{useTranslationBundle-e8a8c4f3.js.map → useTranslationBundle-cd815e10.js.map} +1 -1
  985. package/es/{useUser-fb09e212.js → useUser-99920e02.js} +2 -2
  986. package/es/{useUser-fb09e212.js.map → useUser-99920e02.js.map} +1 -1
  987. package/es/{useVisEvents-e31dcd17.js → useVisEvents-4cfe354c.js} +2 -2
  988. package/es/{useVisEvents-e31dcd17.js.map → useVisEvents-4cfe354c.js.map} +1 -1
  989. package/es/utils/PRIVATE_visTestUtils.js +6 -6
  990. package/es/{withDirectionIcon-6eefb71a.js → withDirectionIcon-f8ff778c.js} +2 -2
  991. package/es/{withDirectionIcon-6eefb71a.js.map → withDirectionIcon-f8ff778c.js.map} +1 -1
  992. package/package.json +2 -2
  993. package/amd/CardFlexView-3e4bd681.js +0 -2
  994. package/amd/CardGridView-8fb55ad7.js +0 -2
  995. package/amd/CheckboxSetContext-2e486ea8.js +0 -2
  996. package/amd/InputDatePicker-da5d8728.js +0 -2
  997. package/amd/List-88a7bee6.js +0 -2
  998. package/amd/LoadMoreCollection-a6adbc3f.js +0 -2
  999. package/amd/NavigationListItem-c96ac144.js +0 -2
  1000. package/amd/VirtualizedListView-0924cf91.js +0 -2
  1001. package/cjs/BaseNavigationListItem-070d75bc.js.map +0 -1
  1002. package/cjs/NavigationListItem-12a76e7d.js.map +0 -1
  1003. package/cjs/index-5049ab6c.js.map +0 -1
  1004. package/es/CheckboxSet-836e3263.js +0 -49
  1005. package/es/MaxLengthCounter-cead2dac.js +0 -25
  1006. package/es/index-75f23286.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCardView-3c1e5b4c.js","sources":["../../src/PRIVATE_BaseCardView/BaseCardViewReorderableItem.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewItem.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewLayout.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewSkeletonContainer.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewSkeleton.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewUtils.ts","../../src/PRIVATE_BaseCardView/BaseCardView.tsx","../../src/PRIVATE_BaseCardView/useCardViewReorder.ts"],"sourcesContent":["import { useRef, useCallback } from 'preact/hooks';\nimport { useReorderableItem } from '../hooks/PRIVATE_useReorderable';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { ITEM_SELECTOR } from '../utils/PRIVATE_collectionUtils';\nimport { ListItemRendererContext } from '../UNSAFE_Collection';\nimport { ReorderableItemProps } from '../UNSAFE_Collection/Reorderable.types';\nimport { multiVariantStyles, styles } from './themes/BaseCardViewStyles.css';\nimport { GutterSize } from './BaseCardViewUtils';\n\nexport type BaseCardViewReorderableItemProps<K> = ReorderableItemProps<K> & {\n currentKey: K | undefined;\n gutterSize: GutterSize;\n columns: number;\n};\n\n/**\n * The internal component used to render a reorderable item in CardView.\n */\nexport function BaseCardViewReorderableItem<K extends string | number, D>({\n currentKey,\n children,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n gutterSize,\n columns,\n context\n}: BaseCardViewReorderableItemProps<K> & { context: ListItemRendererContext<K, D> }) {\n const itemRef = useRef<HTMLDivElement | null>(null);\n const isOneColumn = columns === 1;\n const isFirstColumn = context.index % columns === 0;\n const isLastColumn = context.index % columns === columns - 1;\n const variantClasses = multiVariantStyles({\n itemOverlayFront: gutterSize\n });\n const variantClassesVertical = multiVariantStyles({\n itemOverlayFrontVertical: gutterSize\n });\n const itemStyles = {\n itemOverlayFront: isOneColumn ? variantClassesVertical : variantClasses,\n itemOverlayRear: isOneColumn ? styles.itemOverlayRearVertical : styles.itemOverlayRear,\n itemDragger: styles.itemDragger\n };\n const getItem = useCallback(() => itemRef?.current?.closest(ITEM_SELECTOR) as HTMLElement, []);\n const setTransferData = useCallback(\n (event: DragEvent) => {\n event.dataTransfer?.setData('text/cardview-items-key', JSON.stringify(context.metadata.key));\n },\n [context.metadata.key]\n );\n const { rootProps, isDragged, overlayZoneBeforeProps, overlayZoneAfterProps } =\n useReorderableItem({\n currentKey,\n isDisabled: onReorder ? false : true,\n draggable: onReorder ? true : false,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n ref: itemRef,\n getItem,\n setTransferData,\n itemStyles,\n itemSelector: ITEM_SELECTOR,\n isVertical: isOneColumn\n });\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const overlayZoneBeforeClass = classNames([\n overlayZoneBeforeProps?.class,\n !isOneColumn && !isRtl && isFirstColumn && styles.itemOverlayFrontEdge,\n !isOneColumn && isRtl && isLastColumn && styles.itemOverlayFrontEdge\n ]);\n\n const overlayZoneAfterClass = classNames([\n overlayZoneAfterProps?.class,\n !isOneColumn && !isRtl && isLastColumn && styles.itemOverlayRearEdge,\n !isOneColumn && isRtl && isFirstColumn && styles.itemOverlayRearEdge\n ]);\n\n return (\n <div {...rootProps} draggable={false}>\n {children}\n {!isDragged && dragKey && (\n <>\n <div {...overlayZoneBeforeProps} class={overlayZoneBeforeClass}></div>\n <div {...overlayZoneAfterProps} class={overlayZoneAfterClass}></div>\n </>\n )}\n </div>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren } from 'preact';\nimport { memo } from 'preact/compat';\nimport {\n useRef,\n useCallback,\n useLayoutEffect,\n useMemo,\n StateUpdater,\n Dispatch\n} from 'preact/hooks';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { mergeRefs } from '../utils/PRIVATE_refUtils';\nimport { warn } from '../utils/UNSAFE_logger';\nimport { allTabbableElements } from '../utils/PRIVATE_tabbableUtils';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { useAnimation, UseAnimationConfig } from '../hooks/UNSAFE_useAnimation';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\nimport { TabbableModeContext } from '../hooks/UNSAFE_useTabbableMode';\nimport { FocusTrap } from '../UNSAFE_FocusTrap';\nimport { SelectionMode, ListItemRendererContext } from '../UNSAFE_Collection';\nimport { multiVariantStyles, styles } from './themes/BaseCardViewStyles.css';\nimport { compareListItemContext } from '../utils/PRIVATE_collectionUtils';\nimport {\n BaseCardViewReorderableItem,\n BaseCardViewReorderableItemProps\n} from './BaseCardViewReorderableItem';\n\n/**\n * Props for the BaseCardViewItem Component\n */\nexport type Props<K, D> = {\n children: (context: ListItemRendererContext<K, D>) => ComponentChildren;\n context: ListItemRendererContext<K, D>;\n isTabbable: boolean;\n isFocused: boolean;\n isFocusRingVisible: boolean;\n isSelected: boolean;\n selectionMode: SelectionMode;\n focusBehavior: 'card' | 'content';\n setIsFocusBehaviorValid?: Dispatch<StateUpdater<boolean>>;\n initialAnimation?: 'slideUp' | 'slideDown';\n isGridLayout?: boolean;\n updateCardSize?: (width: number, height: number) => void;\n} & {\n reorderItemProps?: Omit<BaseCardViewReorderableItemProps<K>, 'children'>;\n};\n\n/**\n * The internal component used to render a single item in CardView.\n */\nexport function BaseCardViewItem<K extends string | number, D>({\n children,\n context,\n isTabbable,\n isFocused,\n isFocusRingVisible,\n isSelected,\n selectionMode,\n focusBehavior,\n setIsFocusBehaviorValid,\n initialAnimation,\n isGridLayout,\n updateCardSize,\n reorderItemProps\n}: Props<K, D>) {\n const rootRef = useRef<HTMLDivElement>(null);\n const itemKey = context.metadata.key;\n const itemIndex = context.index;\n\n const isItemFocused = isFocused && isFocusRingVisible;\n const variantClasses = multiVariantStyles({\n itemFocused: focusBehavior === 'card' && isItemFocused ? 'isItemFocused' : 'isNotItemFocused',\n itemInitialOpacity: initialAnimation ? 'isTransparent' : 'isNotTransparent',\n itemInGridLayout: isGridLayout ? 'isInGridLayout' : 'isNotInGridLayout'\n });\n const classes = classNames([styles.itemStyle, variantClasses]);\n\n /*********************************** Tabbable Mode ***********************************/\n\n // don't bubble Arrow Up/Down/Left/Right events to parent when in isTabbable mode\n // this bubbling causes the outer CollectionFocus ring to change index while in the isTabbable mode.\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n focusBehavior === 'card' &&\n isTabbable &&\n (event.key === 'ArrowDown' ||\n event.key === 'ArrowUp' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight')\n ) {\n event.stopPropagation();\n }\n };\n\n /************************************ Card Size ************************************/\n\n const handleResize = useCallback(\n (entry: ResizeObserverEntry) => {\n updateCardSize?.(entry.contentRect.width, entry.contentRect.height);\n },\n [updateCardSize]\n );\n\n const nullRef = useRef<HTMLDivElement>(null);\n useResizeObserver(updateCardSize ? rootRef : nullRef, handleResize);\n\n /********************************* Focus Behavior *********************************/\n\n useLayoutEffect(() => {\n if (focusBehavior === 'content' && isItemFocused) {\n // rootRef is cardview item, its first child is the focus trap div, so its first grand child\n // is the actual content\n const content = rootRef.current?.firstElementChild?.firstElementChild as HTMLElement;\n const focusable = allTabbableElements(content, true, true);\n if (focusable.length === 0 || focusable.length > 1) {\n warn(\n `${focusable.length} focusable elements are detected in the card. 'content' focusBehavior is intended only for use when the card has single focusable element. Please specify one focusable element in the card or switch the focusBehavior to 'card'.`\n );\n setIsFocusBehaviorValid?.(false);\n } else {\n focusable[0].focus();\n }\n }\n }, [focusBehavior, isItemFocused, setIsFocusBehaviorValid]);\n\n /******************************** Initial Animation ********************************/\n\n // animation for slide up/down\n const { nodeRef: nodeRefSlide, controller: controllerSlide } = useAnimation<\n 'slideUp' | 'slideDown' | 'none',\n HTMLDivElement\n >(initialAnimation || 'none', animationConfigSlide(itemIndex));\n\n // animation for opacity change\n const { nodeRef: nodeRefOpacity, controller: controllerOpacity } = useAnimation<\n 'opacity' | 'none',\n HTMLDivElement\n >((initialAnimation && 'opacity') || 'none', animationConfigOpacity(itemIndex));\n\n // max cap for animation is 1s\n setTimeout(() => {\n controllerSlide.cancel();\n controllerOpacity.cancel();\n }, 1000);\n\n // TODO: issue track in JET-57681, we currently have two useAnimation() because the opacity and\n // slide up/down have different durations, and the current API couldn't handle this case, we will\n // update this once the API is updated\n\n /********************************** Child Component **********************************/\n\n const itemRefs = useMemo(() => {\n // NOTE: spot an issue when we click the cards during animation is processing, the cards would not finish\n // the current animations and stay as what it is, e.g. leave itself as half transparent.\n // need to remove nodeRefSlide and nodeRefOpacity to avoid this issue.\n if (initialAnimation === undefined) {\n return mergeRefs(rootRef);\n }\n return mergeRefs(rootRef, nodeRefSlide, nodeRefOpacity);\n }, [rootRef, nodeRefSlide, nodeRefOpacity, initialAnimation]);\n\n const childrenComponent = reorderItemProps ? (\n <BaseCardViewReorderableItem {...reorderItemProps} context={context}>\n {children(context)}\n </BaseCardViewReorderableItem>\n ) : (\n children(context)\n );\n\n return (\n <div\n id={useId()}\n ref={itemRefs}\n class={classes}\n role=\"gridcell\"\n data-oj-key={itemKey}\n onKeyDown={handleKeyDown}\n aria-selected={selectionMode === 'none' ? undefined : isSelected}\n {...(typeof itemKey === 'number' && { 'data-oj-key-type': 'number' })}>\n <TabbableModeContext.Provider value={{ isTabbable }}>\n <FocusTrap isDisabled={!isTabbable} restoreFocusRef={false}>\n {childrenComponent}\n </FocusTrap>\n </TabbableModeContext.Provider>\n </div>\n );\n}\n\nconst animationConfigSlide = (\n index: number\n): UseAnimationConfig<'slideUp' | 'slideDown' | 'none', HTMLDivElement> => {\n return {\n animationStates: {\n slideUp: {\n from: {\n translateY: '50px'\n },\n to: {\n translateY: '0px'\n },\n options: {\n duration: 300,\n delay: index * 50,\n easing: [0, 0, 0.2, 1]\n }\n },\n slideDown: {\n from: {\n translateY: '-50px'\n },\n to: {\n translateY: '0'\n },\n options: {\n duration: 300,\n delay: index * 50,\n easing: [0, 0, 0.2, 1]\n }\n }\n },\n isAnimatedOnMount: true\n };\n};\n\nconst animationConfigOpacity = (\n index: number\n): UseAnimationConfig<'opacity' | 'none', HTMLDivElement> => {\n return {\n animationStates: {\n opacity: {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n },\n options: {\n duration: 150,\n delay: index * 50,\n easing: 'linear'\n }\n }\n },\n isAnimatedOnMount: true\n };\n};\n\n/**\n * Compare the equality between two reorderItemProps, especially useful for memoized items\n */\nconst compareReorderItemProps = <K, D>(\n props1: Props<K, D>['reorderItemProps'],\n props2: Props<K, D>['reorderItemProps']\n) => {\n return (\n props1?.['currentKey'] === props2?.['currentKey'] &&\n props1?.['dragKey'] === props2?.['dragKey'] &&\n props1?.['columns'] === props2?.['columns']\n );\n};\n\nexport const MemoizeBaseCardViewItem = memo(\n BaseCardViewItem,\n <K, D>(prev: Props<K, D>, next: Props<K, D>) => {\n if (prev && next) {\n return (\n prev.children === next.children &&\n prev.isTabbable === next.isTabbable &&\n prev.isFocused === next.isFocused &&\n prev.isFocusRingVisible === next.isFocusRingVisible &&\n prev.isSelected === next.isSelected &&\n prev.initialAnimation === next.initialAnimation &&\n prev.focusBehavior === next.focusBehavior &&\n compareListItemContext(prev.context, next.context) &&\n compareReorderItemProps(prev.reorderItemProps, next.reorderItemProps)\n );\n }\n return false;\n }\n);\n","import { ComponentChildren } from 'preact';\nimport { Grid } from '../UNSAFE_Grid';\nimport { Flex } from '../UNSAFE_Flex';\nimport { GutterSize } from './BaseCardViewUtils';\nimport { cardViewVars } from './themes/BaseCardViewContract.css';\n\ntype Props = {\n children: ComponentChildren;\n layout: 'grid' | 'flex';\n gutterSize: GutterSize;\n columns: number;\n};\n\nexport function BaseCardViewLayout({ children, layout, gutterSize, columns }: Props) {\n const gap = cardViewVars.gutterSize[gutterSize];\n if (layout === 'grid') {\n return columns < 1 ? null : (\n <Grid gridTemplateColumns={`repeat(${columns}, 1fr)`} gap={gap}>\n {children}\n </Grid>\n );\n } else {\n return (\n <Flex wrap=\"wrap\" gap={gap}>\n {children}\n </Flex>\n );\n }\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren, Fragment } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\n\ntype Props = {\n /**\n * Allows to pass skeletons\n **/\n children: ComponentChildren;\n};\n\n/**\n * Allows to specify the time delay for rendering the component\n **/\nconst timerValue = 50;\n\n/**\n * BaseCardViewSkeletonContainer renders skeletons after 50ms threshold defined in the Redwood spec\n **/\nexport function BaseCardViewSkeletonContainer({ children }: Props) {\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n setTimeout(() => {\n setIsVisible(true);\n }, timerValue);\n }, []);\n\n return isVisible ? <Fragment>{children}</Fragment> : <div class={LOADMORE_STYLE_CLASS}></div>;\n}\n","import { Size } from '../utils/UNSAFE_size';\nimport { Skeleton } from '../UNSAFE_Skeleton';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\nimport { BaseCardViewSkeletonContainer } from './BaseCardViewSkeletonContainer';\n\n// these are arbitrary values by now, might update them with definite values in the future\nconst DEFAULT_SKELETON_NUMBER = 25;\nconst DEFAULT_SKELETON_WIDTH = '60x';\nconst DEFAULT_SKELETON_HEIGHT = '70x';\n\ntype SkeletonProps = {\n layout: 'flex' | 'grid';\n colCount: number;\n totalCount: number;\n cardWidth?: number;\n cardHeight?: number;\n};\n\n/**\n * A function that returns an array of skeletons based on count\n * @param count the number of skeletons\n */\nconst getSkeletonsByCount = (\n layout: 'flex' | 'grid',\n count = DEFAULT_SKELETON_NUMBER,\n width?: Size,\n height?: Size,\n isUnique = true\n) => {\n const sw = width || (layout === 'flex' ? DEFAULT_SKELETON_WIDTH : '100%');\n const sh = height || DEFAULT_SKELETON_HEIGHT;\n\n return [...Array(count)].map((_v, i) => (\n // create unique keys if needed, otherwise the animations won't start at the same time, because the old copy of skeletons\n // could be reused, even the key is specified by useId(), combine count with time to make the key unique.\n <Skeleton key={isUnique && `${i}${new Date().getTime()}`} width={sw} height={sh} />\n ));\n};\n\n/**\n * When there is no data (i.e. data is an empty array or null, and hasMore is false), we will show 25 card skeletons with default size\n */\nexport const InitialLoadSkeletons = (props: { layout: SkeletonProps['layout'] }) => (\n <BaseCardViewSkeletonContainer>{getSkeletonsByCount(props.layout)}</BaseCardViewSkeletonContainer>\n);\n\n/**\n * When we are fetching the initial data (i.e. data is an empty array, and hasMore is true), we will show 25 card skeletons with default size,\n * because we don't know the card dimension at this time. Since there is more data to load, we will specify LOADMORE_STYLE_CLASS on skeletons\n */\nexport const DefaultLoadMoreSkeletons = (props: { layout: SkeletonProps['layout'] }) => {\n const firstSkeleton = (\n <div class={LOADMORE_STYLE_CLASS}>{getSkeletonsByCount(props.layout, 1)}</div>\n );\n const otherSkeletons = getSkeletonsByCount(props.layout, DEFAULT_SKELETON_NUMBER - 1);\n const skeletons = [firstSkeleton, ...otherSkeletons];\n return <BaseCardViewSkeletonContainer>{skeletons}</BaseCardViewSkeletonContainer>;\n};\n\n/**\n * During the render that we measure and update card dimension, we will hide skeletons temporarily\n * to avoid showing incorrect skeletons\n */\nconst InvisibleSkeletons = () => {\n return <div class={LOADMORE_STYLE_CLASS}></div>;\n};\n\nexport const LoadMoreSkeletons = (props: SkeletonProps) => {\n if (props.colCount < 1 || props.cardWidth == null || props.cardHeight == null) {\n // if column count / card width / card height are invalid, we will show the invisible skeletons\n return <InvisibleSkeletons />;\n } else {\n // after initial renders, show skeletons with correct dimension and count\n const skeletons = [];\n\n const firstRowColCount = props.colCount - (props.totalCount % props.colCount);\n const isOnlyOneRow = firstRowColCount === props.colCount;\n\n const cardWidth = `calc(${props.cardWidth}px)` as Size;\n const cardHeight = props.cardHeight\n ? (`calc(${props.cardHeight}px)` as Size)\n : DEFAULT_SKELETON_HEIGHT;\n\n const width: Size = props.layout === 'flex' ? cardWidth : '100%';\n const height: Size = props.layout === 'flex' || isOnlyOneRow ? cardHeight : '100%';\n\n // first row\n const firstSkeleton = (\n <div class={LOADMORE_STYLE_CLASS}>{getSkeletonsByCount(props.layout, 1, width, height)}</div>\n );\n skeletons.push(firstSkeleton);\n skeletons.push(getSkeletonsByCount(props.layout, firstRowColCount - 1, width, height));\n\n // second row\n if (!isOnlyOneRow) {\n skeletons.push(getSkeletonsByCount(props.layout, props.colCount, width, cardHeight));\n }\n\n return <BaseCardViewSkeletonContainer>{skeletons}</BaseCardViewSkeletonContainer>;\n }\n};\n","import { Size } from '../utils/UNSAFE_size';\n\nexport const emptyKeys = { all: false, keys: new Set() };\nexport type GutterSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * A mapping of gutterSize to concrete size in pixels\n */\nexport const gutterSizeToPX: Record<string, number> = {\n xs: 12,\n sm: 16,\n md: 24,\n lg: 48,\n xl: 64\n};\n\nexport const getGapSize = (gutterSize?: GutterSize) => {\n const px = gutterSizeToPX[gutterSize || 'sm'];\n const gap = `${px / 4}x` as Size;\n return gap;\n};\n\nexport const getColCount = (gapWidth: number, cardWidth?: number, rootWidth?: number) => {\n if (!cardWidth || !rootWidth) return 0;\n\n // if we have n cards, we have n-1 gaps\n const colCount = Math.floor((rootWidth + gapWidth) / (gapWidth + cardWidth));\n return Math.max(1, colCount);\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { Fragment } from 'preact';\nimport { forwardRef, ForwardedRef } from 'preact/compat';\nimport { useRef, useCallback, useEffect, useState, useImperativeHandle } from 'preact/hooks';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { containsKey, Keys, isKeyDefined } from '../utils/UNSAFE_keys';\nimport {\n getPrevNextKeyByCount,\n getFirstVisibleKey,\n getViewportConfig,\n findElementByKey,\n keyExtractor,\n handleSelectionRange,\n ITEM_SELECTOR\n} from '../utils/PRIVATE_collectionUtils';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { useTabbableModeSet } from '../hooks/PRIVATE_useTabbableModeSet';\nimport { useSelection, SelectionRangeDetail } from '../hooks/PRIVATE_useSelection';\nimport { ReorderableContext } from '../hooks/PRIVATE_useReorderable';\nimport { ItemContext, ListItemRendererContext, SelectionDetail } from '../UNSAFE_Collection';\nimport { Selector } from '../UNSAFE_Selector';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LoadMoreCollection } from '../PRIVATE_LoadMoreCollection';\nimport { styles } from './themes/BaseCardViewStyles.css';\nimport { Props } from '../UNSAFE_CardFlexView';\nimport { MemoizeBaseCardViewItem } from './BaseCardViewItem';\nimport { BaseCardViewLayout } from './BaseCardViewLayout';\nimport {\n DefaultLoadMoreSkeletons,\n LoadMoreSkeletons,\n InitialLoadSkeletons\n} from './BaseCardViewSkeleton';\nimport { gutterSizeToPX, emptyKeys } from './BaseCardViewUtils';\nimport { useCardViewReorder } from './useCardViewReorder';\n// TODO: add this import due to issue JET-67485, need to update once Stable is introduced\nimport './themes/redwood/BaseCardViewBaseTheme.css';\n\n/**\n * Props specific for the GradGridBaseImpl Component\n */\ntype BaseCardViewImplProps<K, D> = Props<K, D> & {\n /**\n * Provide the number of columns to render;\n */\n columns: number;\n /**\n * The layout of the BaseCardView. When we use CardGridView as parent, we will use grid layout;\n * when we use CardFlexView as parent, we will use flex layout.\n */\n layout: 'grid' | 'flex';\n /**\n * Card dimension, including width and height\n */\n cardSize: { width?: number; height?: number };\n /**\n * A callback function to update card dimension, including width and height\n */\n updateCardSize: (width: number, height: number) => void;\n};\n\nconst BaseCardViewImpl = forwardRef(\n <K extends string | number, D>(\n {\n children,\n data,\n onLoadMore = () => {},\n hasMore = false,\n getRowKey,\n currentKey,\n onCurrentKeyChange,\n selectionMode = 'none',\n selectedKeys = emptyKeys as Keys<K>,\n onSelectionChange,\n onReorder,\n viewportConfig,\n focusBehavior = 'card',\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n initialAnimation = 'slideUp',\n gutterSize = 'sm',\n columns,\n layout,\n cardSize,\n updateCardSize\n }: BaseCardViewImplProps<K, D>,\n ref?: ForwardedRef<HTMLDivElement>\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(ref!, () => rootRef.current!, [rootRef]);\n\n // tracking the anchor key which is used for shift+click selection\n const anchorKey = useRef<K | undefined>();\n // tracking pending current key in pointer down event\n const pendingCurrentKey = useRef<K>();\n\n const gutterSizePX = gutterSizeToPX[gutterSize];\n const layoutProps = { layout, columns, gutterSize };\n const isInitialAnimation = useRef(true);\n useEffect(() => {\n if (cardSize.height != undefined && cardSize.width != undefined) {\n isInitialAnimation.current = false;\n }\n }, [cardSize]);\n\n const ariaMultiSelectable = selectionMode === 'none' ? undefined : selectionMode === 'multiple';\n const ariaRowcount = hasMore || !data || columns < 1 ? -1 : Math.ceil(data?.length / columns);\n const ariaColcount = columns < 1 ? -1 : columns;\n\n const [isFocusBehaviorValid, setIsFocusBehaviorValid] = useState(true);\n const validFocusBehavior = isFocusBehaviorValid ? focusBehavior : 'card';\n\n // ensure current item is scrolled into view when current item is updated\n // during reordering, enable that during keyboard reordering, disable that during mouse reordering\n const scrollCurrItemIntoView = useRef(false);\n const isReorderEnabled = onReorder != undefined;\n\n const isFetching = useRef(false);\n\n /*****************************************************************************************/\n /************************************* Tabbable Mode *************************************/\n /*****************************************************************************************/\n\n const [isCurrentTabbableKey, tabbableModeProps] = useTabbableModeSet(\n rootRef,\n (element) => {\n return keyExtractor(element, ITEM_SELECTOR) as K;\n },\n currentKey,\n onCurrentKeyChange\n );\n\n /*****************************************************************************************/\n /********************************* Current Key and Focus *********************************/\n /*****************************************************************************************/\n\n const { currentKeyProps } = useCurrentKey(\n (element) => keyExtractor(element, ITEM_SELECTOR),\n selectionMode !== 'multiple',\n // init a function every time to make sure we pass in the latest columns,\n // otherwise the new key might be wrong after resize\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, -columns),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, columns),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, -1),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, 1),\n currentKey,\n onCurrentKeyChange\n );\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(rootRef, [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight'\n ]);\n\n const handleFocus = () => {\n // handle initial focus\n if (\n !isKeyDefined(currentKey) &&\n onCurrentKeyChange &&\n isCurrentTabbableKey(undefined) &&\n rootRef.current\n ) {\n const firstKey =\n pendingCurrentKey.current || (getFirstVisibleKey(rootRef.current, ITEM_SELECTOR) as K);\n if (isKeyDefined(firstKey)) {\n onCurrentKeyChange({ value: firstKey });\n }\n } else if (isKeyDefined(currentKey) && rootRef.current) {\n // if currentKey is defined, make sure scroll the current item into view when cardview regains focus\n const elem = findElementByKey(rootRef.current, currentKey as K, ITEM_SELECTOR);\n elem?.scrollIntoView({ block: 'nearest' });\n }\n };\n\n // need to track pointer down element to set currentItem when initial focus happens\n const handlePointerDown = (event: PointerEvent) => {\n const key = keyExtractor(event.target as HTMLElement, ITEM_SELECTOR);\n if (isKeyDefined(key)) {\n pendingCurrentKey.current = key as K;\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n // for content focusBehavior, when users tab out, we need to focus back to card grid, to ensure\n // the tabbing order works properly, otherwise the focus might get stuck at the current item\n if (validFocusBehavior === 'content' && event.key === 'Tab') {\n rootRef.current?.focus({ preventScroll: true });\n }\n // during keyboard reordering, the current item should be scrolled into view\n const keyHandlers = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];\n if (\n isReorderEnabled &&\n (event.metaKey || event.ctrlKey) &&\n event.shiftKey &&\n keyHandlers.includes(event.key)\n ) {\n scrollCurrItemIntoView.current = true;\n }\n };\n\n useEffect(() => {\n if (currentKey != null && rootRef.current) {\n const elem = findElementByKey(rootRef.current, currentKey, ITEM_SELECTOR);\n if (elem) {\n // only update aria-activedescendant for screen reader in default focusBehavior\n if (validFocusBehavior === 'card') {\n const cell = elem.closest(`[role=gridcell]`);\n const activeDescendant = rootRef.current.getAttribute('aria-activedescendant');\n if (cell && activeDescendant !== cell.id) {\n rootRef.current.setAttribute('aria-activedescendant', cell.id);\n scrollCurrItemIntoView.current = true;\n }\n }\n // make sure current item is visible\n if (scrollCurrItemIntoView.current) {\n elem.scrollIntoView({ block: 'nearest' });\n scrollCurrItemIntoView.current = false;\n }\n }\n }\n // listen to data because the current item would re-render when data is updated, i.e. the id\n // of current item would be updated, so the currentKey itself couldn't guarantee the root has\n // the latest aria-activedescendant\n }, [currentKey, data, validFocusBehavior, isReorderEnabled]);\n\n /*****************************************************************************************/\n /*************************************** Selection ***************************************/\n /*****************************************************************************************/\n\n const handleSelectionChange = useCallback(\n (detail: SelectionDetail<K>) => {\n if (onSelectionChange) {\n if (detail.value.all === false && detail.value.keys.size > 0) {\n // during regular selection, the last key selected by a user gesture is the anchor key\n anchorKey.current = Array.from(detail.value.keys.values()).pop();\n }\n onSelectionChange(detail);\n }\n },\n [anchorKey, onSelectionChange]\n );\n\n const handleSelectionRangeChange = useCallback(\n (detail: SelectionRangeDetail<K>) => {\n if (data && onSelectionChange) {\n const value = handleSelectionRange(detail, data, getRowKey);\n // for non-virtualized CardView, value should always be an array\n if (Array.isArray(value)) {\n if (detail.eventType === 'shiftSpace') {\n // during range selection by shift+space, the first key selected by a user gesture is the anchor key\n anchorKey.current = detail.value.start;\n } else {\n // during range selection by shift+click/arrow keys, the last key selected by a user gesture is the anchor key\n anchorKey.current = detail.value.end;\n }\n onSelectionChange({ value: { all: false, keys: new Set(value) }, target: null });\n }\n }\n },\n [data, onSelectionChange, getRowKey]\n );\n\n const { selectionProps } = useSelection(\n (element: HTMLElement) => {\n if (element === rootRef.current) {\n return currentKey === undefined ? null : currentKey;\n }\n return keyExtractor(element, ITEM_SELECTOR) as K;\n },\n selectedKeys,\n selectionMode,\n false,\n 'toggle',\n false,\n handleSelectionChange,\n anchorKey.current,\n currentKey,\n (currentKey: K | undefined, isPrev: boolean) => () =>\n getPrevNextKeyByCount(data, getRowKey, currentKey, isPrev ? -columns : columns),\n (currentKey: K | undefined, isPrev: boolean) => () =>\n getPrevNextKeyByCount(data, getRowKey, currentKey, isPrev ? -1 : 1),\n (key: K) => {\n if (rootRef.current) {\n const elem = findElementByKey(rootRef.current, key, ITEM_SELECTOR);\n if (elem) {\n elem.scrollIntoView({ block: 'nearest' });\n }\n }\n },\n handleSelectionRangeChange\n );\n\n /*****************************************************************************************/\n /**************************************** Reorder ****************************************/\n /*****************************************************************************************/\n\n const {\n reorderProps,\n reorderItemProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } = useCardViewReorder({\n currentKey,\n onReorder,\n gutterSize,\n columns,\n rootRef,\n scrollCurrItemIntoView\n });\n\n const reorderAcc = isReorderEnabled && (\n <>\n <span id={reorderInstructionsId}>\n <HiddenAccessible>{reorderInstructions}</HiddenAccessible>\n </span>\n </>\n );\n\n /*****************************************************************************************/\n /************************************* Load More *****************************************/\n /*****************************************************************************************/\n\n const handleLoadMore = useCallback(() => {\n // check isFetching to avoid multiple load more at the same time (details in JET-61117)\n if (!isFetching.current) {\n isFetching.current = true;\n onLoadMore();\n }\n }, [isFetching, onLoadMore]);\n\n useEffect(() => {\n isFetching.current = false;\n // listen to data and hasMore because when one of them gets updated, the fetching is done\n }, [data, hasMore]);\n\n /*****************************************************************************************/\n /************************************ Child Component ************************************/\n /*****************************************************************************************/\n\n const getItemContext = useCallback(\n (context: ItemContext<D>) => {\n const key = getRowKey(context.data);\n const selectorRenderer =\n selectionMode === 'multiple'\n ? () => (\n <Selector\n onChange={onSelectionChange}\n rowKey={key}\n selectedKeys={selectedKeys}></Selector>\n )\n : undefined;\n\n return {\n index: context.index,\n data: context.data,\n metadata: { key: key },\n selector: selectorRenderer,\n isSelected: containsKey(selectedKeys, key)\n };\n },\n [selectionMode, selectedKeys, onSelectionChange, getRowKey]\n );\n\n const childrenComponent = (context: ItemContext<D>) => {\n const cardItemContext = getItemContext(context);\n const isTabbable = isCurrentTabbableKey(cardItemContext.metadata.key);\n const isFocused = currentKey === cardItemContext.metadata.key && !isTabbable;\n const isFocusRingVisible = isFocused && showFocusRing;\n const isSelected = cardItemContext.isSelected;\n const itemRenderFunc = (context: ListItemRendererContext<K, D>) => (\n <MemoizeBaseCardViewItem\n key={cardItemContext.metadata.key}\n context={context}\n isTabbable={isTabbable}\n isFocused={isFocused}\n isFocusRingVisible={isFocusRingVisible}\n isGridLayout={layout === 'grid'}\n isSelected={isSelected}\n selectionMode={selectionMode}\n focusBehavior={validFocusBehavior}\n {...(focusBehavior === 'content' && { setIsFocusBehaviorValid })}\n {...(isInitialAnimation.current && { initialAnimation })}\n {...(cardItemContext.index === 0 && !cardSize.width && { updateCardSize })}\n {...(isReorderEnabled && { reorderItemProps })}>\n {children}\n </MemoizeBaseCardViewItem>\n );\n return itemRenderFunc(cardItemContext);\n };\n\n // todo: issue track in JET-57952, need a way to show the skeletons in keyboard navigation\n const skeletons =\n data && !data.length && hasMore ? (\n <DefaultLoadMoreSkeletons layout={layout} />\n ) : (\n <LoadMoreSkeletons\n layout={layout}\n colCount={columns}\n totalCount={data?.length || 0}\n cardWidth={cardSize.width}\n cardHeight={cardSize.height}\n />\n );\n\n viewportConfig = getViewportConfig(rootRef, viewportConfig);\n const collectionComponent = (\n <div role=\"row\">\n <BaseCardViewLayout {...layoutProps}>\n <LoadMoreCollection\n data={data}\n hasMore={hasMore}\n onLoadMore={handleLoadMore}\n loadMoreIndicator={skeletons}\n loadMoreThreshold={gutterSizePX + 4} // gap size + padding\n viewportConfig={viewportConfig}>\n {childrenComponent}\n </LoadMoreCollection>\n </BaseCardViewLayout>\n </div>\n );\n\n const initialLoadSkeletons = (\n <BaseCardViewLayout {...layoutProps}>\n <InitialLoadSkeletons layout={layout} />\n </BaseCardViewLayout>\n );\n\n return (\n <div\n {...mergeProps(\n currentKeyProps,\n focusRingProps,\n selectionProps,\n reorderProps,\n {\n onFocus: handleFocus,\n onPointerDown: handlePointerDown,\n onKeyDown: handleKeyDown\n },\n // only enable tabbable mode in default focusBehavior\n { ...(validFocusBehavior === 'card' && tabbableModeProps) }\n )}\n ref={rootRef}\n role=\"grid\"\n class={styles.baseStyle}\n tabIndex={0}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-multiselectable={ariaMultiSelectable}\n aria-rowcount={ariaRowcount}\n aria-colcount={ariaColcount}>\n <ReorderableContext.Provider value={reorderContext}>\n {!data ? (\n initialLoadSkeletons\n ) : data.length || hasMore ? (\n collectionComponent\n ) : (\n <Fragment />\n )}\n </ReorderableContext.Provider>\n {reorderAcc}\n </div>\n );\n }\n);\n\n/**\n * Props specific for the BaseCardView\n */\ntype BaseCardViewProps<K, D> = BaseCardViewImplProps<K, D> & {\n ref?: ForwardedRef<HTMLDivElement>;\n};\n\n/**\n * Cast BaseCardViewImpl to generic type, because BaseCardViewImpl would infer the generic type to specific type,\n * i.e infer <K extends string | number, D> to <string | number, unknown>, which will cause type issues in the parent component\n */\nexport const BaseCardView = BaseCardViewImpl as <K extends string | number, D>(\n props: BaseCardViewProps<K, D>\n) => JSX.Element;\n","import { RefObject } from 'preact';\nimport { useState } from 'preact/hooks';\nimport { ITEM_SELECTOR, dragToScroll } from '../utils/PRIVATE_collectionUtils';\nimport { useReorderable } from '../hooks/PRIVATE_useReorderable';\nimport { Props } from '../UNSAFE_CardFlexView';\nimport { GutterSize } from './BaseCardViewUtils';\n\ntype useCardViewReorderProps<K, D> = Pick<Props<K, D>, 'currentKey' | 'onReorder'> & {\n gutterSize: GutterSize;\n columns: number;\n rootRef: RefObject<HTMLDivElement>;\n scrollCurrItemIntoView: RefObject<boolean>;\n};\n\nexport const useCardViewReorder = <K extends string | number, D>({\n currentKey,\n onReorder,\n gutterSize,\n columns,\n rootRef,\n scrollCurrItemIntoView\n}: useCardViewReorderProps<K, D>) => {\n const isReorderEnabled = onReorder != undefined;\n\n const [dragKey, setDragKey] = useState<K | undefined>(undefined);\n const { reorderProps, reorderContext, reorderInstructionsId, reorderInstructions } =\n useReorderable({\n onReorder,\n rootRef,\n itemSelector: ITEM_SELECTOR,\n isDisabled: !isReorderEnabled,\n columns\n });\n\n if (!isReorderEnabled) {\n return {\n reorderProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } as const;\n }\n\n const handleDragOver = (event: DragEvent) => {\n dragToScroll(event, dragKey !== undefined, rootRef.current);\n // during mouse reordering, the drag item might not be the same as current item,\n // so we should disallow current item scroll into view\n scrollCurrItemIntoView.current = false;\n };\n\n const reorderEventProps = { ...reorderProps, onDragOver: handleDragOver };\n\n const reorderItemProps = {\n currentKey,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n gutterSize,\n columns\n };\n\n return {\n reorderProps: reorderEventProps,\n reorderItemProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } as const;\n};\n"],"names":["BaseCardViewReorderableItem","currentKey","children","dragKey","setDragKey","onReorder","rootRef","gutterSize","columns","context","itemRef","useRef","isOneColumn","isFirstColumn","index","isLastColumn","variantClasses","multiVariantStyles","itemOverlayFront","variantClassesVertical","itemOverlayFrontVertical","itemStyles","itemOverlayRear","styles","itemOverlayRearVertical","itemDragger","getItem","useCallback","current","closest","ITEM_SELECTOR","setTransferData","event","dataTransfer","setData","JSON","stringify","metadata","key","rootProps","isDragged","overlayZoneBeforeProps","overlayZoneAfterProps","useReorderableItem","isDisabled","draggable","ref","itemSelector","isVertical","direction","useUser","isRtl","overlayZoneBeforeClass","classNames","class","itemOverlayFrontEdge","overlayZoneAfterClass","itemOverlayRearEdge","_jsxs","jsxs","_Fragment","Fragment","_jsx","animationConfigSlide","animationStates","slideUp","from","translateY","to","options","duration","delay","easing","slideDown","isAnimatedOnMount","animationConfigOpacity","opacity","MemoizeBaseCardViewItem","memo","isTabbable","isFocused","isFocusRingVisible","isSelected","selectionMode","focusBehavior","setIsFocusBehaviorValid","initialAnimation","isGridLayout","updateCardSize","reorderItemProps","itemKey","itemIndex","isItemFocused","itemFocused","itemInitialOpacity","itemInGridLayout","classes","itemStyle","handleResize","entry","contentRect","width","height","nullRef","useResizeObserver","useLayoutEffect","content","firstElementChild","focusable","allTabbableElements","length","warn","focus","nodeRef","nodeRefSlide","controller","controllerSlide","useAnimation","nodeRefOpacity","controllerOpacity","setTimeout","cancel","itemRefs","useMemo","undefined","mergeRefs","childrenComponent","id","useId","role","onKeyDown","stopPropagation","TabbableModeContext","Provider","value","FocusTrap","restoreFocusRef","prev","next","compareListItemContext","props1","props2","BaseCardViewLayout","layout","gap","cardViewVars","jsx","Grid","gridTemplateColumns","Flex","wrap","BaseCardViewSkeletonContainer","isVisible","setIsVisible","useState","useEffect","LOADMORE_STYLE_CLASS","getSkeletonsByCount","count","isUnique","sw","sh","Array","map","_v","i","Skeleton","Date","getTime","InitialLoadSkeletons","props","DefaultLoadMoreSkeletons","skeletons","DEFAULT_SKELETON_NUMBER","InvisibleSkeletons","LoadMoreSkeletons","colCount","cardWidth","cardHeight","firstRowColCount","totalCount","isOnlyOneRow","firstSkeleton","push","emptyKeys","all","keys","Set","gutterSizeToPX","xs","sm","md","lg","xl","BaseCardView","forwardRef","data","onLoadMore","hasMore","getRowKey","onCurrentKeyChange","selectedKeys","onSelectionChange","viewportConfig","ariaLabel","ariaLabelledBy","cardSize","useImperativeHandle","anchorKey","pendingCurrentKey","gutterSizePX","layoutProps","isInitialAnimation","ariaMultiSelectable","ariaRowcount","Math","ceil","ariaColcount","isFocusBehaviorValid","validFocusBehavior","scrollCurrItemIntoView","isReorderEnabled","isFetching","isCurrentTabbableKey","tabbableModeProps","useTabbableModeSet","element","keyExtractor","currentKeyProps","useCurrentKey","getPrevNextKeyByCount","showFocusRing","focusRingProps","useCollectionFocusRing","elem","findElementByKey","cell","activeDescendant","getAttribute","setAttribute","scrollIntoView","block","handleSelectionChange","detail","size","values","pop","handleSelectionRangeChange","handleSelectionRange","isArray","eventType","start","end","target","selectionProps","useSelection","isPrev","reorderProps","reorderContext","reorderInstructionsId","reorderInstructions","useReorderable","onDragOver","dragToScroll","useCardViewReorder","reorderAcc","HiddenAccessible","handleLoadMore","getItemContext","selectorRenderer","Selector","onChange","rowKey","selector","containsKey","getViewportConfig","collectionComponent","LoadMoreCollection","loadMoreIndicator","loadMoreThreshold","cardItemContext","itemRenderFunc","initialLoadSkeletons","mergeProps","onFocus","isKeyDefined","firstKey","getFirstVisibleKey","onPointerDown","preventScroll","metaKey","ctrlKey","shiftKey","includes","baseStyle","tabIndex","ReorderableContext","gapWidth","rootWidth","floor","max"],"mappings":"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"}
1
+ {"version":3,"file":"BaseCardView-1aa0d986.js","sources":["../../src/PRIVATE_BaseCardView/BaseCardViewReorderableItem.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewItem.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewLayout.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewSkeletonContainer.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewSkeleton.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewUtils.ts","../../src/PRIVATE_BaseCardView/BaseCardView.tsx","../../src/PRIVATE_BaseCardView/useCardViewReorder.ts"],"sourcesContent":["import { useRef, useCallback } from 'preact/hooks';\nimport { useReorderableItem } from '../hooks/PRIVATE_useReorderable';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { ITEM_SELECTOR } from '../utils/PRIVATE_collectionUtils';\nimport { ListItemRendererContext } from '../UNSAFE_Collection';\nimport { ReorderableItemProps } from '../UNSAFE_Collection/Reorderable.types';\nimport { multiVariantStyles, styles } from './themes/BaseCardViewStyles.css';\nimport { GutterSize } from './BaseCardViewUtils';\n\nexport type BaseCardViewReorderableItemProps<K> = ReorderableItemProps<K> & {\n currentKey: K | undefined;\n gutterSize: GutterSize;\n columns: number;\n};\n\n/**\n * The internal component used to render a reorderable item in CardView.\n */\nexport function BaseCardViewReorderableItem<K extends string | number, D>({\n currentKey,\n children,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n gutterSize,\n columns,\n context\n}: BaseCardViewReorderableItemProps<K> & { context: ListItemRendererContext<K, D> }) {\n const itemRef = useRef<HTMLDivElement | null>(null);\n const isOneColumn = columns === 1;\n const isFirstColumn = context.index % columns === 0;\n const isLastColumn = context.index % columns === columns - 1;\n const variantClasses = multiVariantStyles({\n itemOverlayFront: gutterSize\n });\n const variantClassesVertical = multiVariantStyles({\n itemOverlayFrontVertical: gutterSize\n });\n const itemStyles = {\n itemOverlayFront: isOneColumn ? variantClassesVertical : variantClasses,\n itemOverlayRear: isOneColumn ? styles.itemOverlayRearVertical : styles.itemOverlayRear,\n itemDragger: styles.itemDragger\n };\n const getItem = useCallback(() => itemRef?.current?.closest(ITEM_SELECTOR) as HTMLElement, []);\n const setTransferData = useCallback(\n (event: DragEvent) => {\n event.dataTransfer?.setData('text/cardview-items-key', JSON.stringify(context.metadata.key));\n },\n [context.metadata.key]\n );\n const { rootProps, isDragged, overlayZoneBeforeProps, overlayZoneAfterProps } =\n useReorderableItem({\n currentKey,\n isDisabled: onReorder ? false : true,\n draggable: onReorder ? true : false,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n ref: itemRef,\n getItem,\n setTransferData,\n itemStyles,\n itemSelector: ITEM_SELECTOR,\n isVertical: isOneColumn\n });\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const overlayZoneBeforeClass = classNames([\n overlayZoneBeforeProps?.class,\n !isOneColumn && !isRtl && isFirstColumn && styles.itemOverlayFrontEdge,\n !isOneColumn && isRtl && isLastColumn && styles.itemOverlayFrontEdge\n ]);\n\n const overlayZoneAfterClass = classNames([\n overlayZoneAfterProps?.class,\n !isOneColumn && !isRtl && isLastColumn && styles.itemOverlayRearEdge,\n !isOneColumn && isRtl && isFirstColumn && styles.itemOverlayRearEdge\n ]);\n\n return (\n <div {...rootProps} draggable={false}>\n {children}\n {!isDragged && dragKey && (\n <>\n <div {...overlayZoneBeforeProps} class={overlayZoneBeforeClass}></div>\n <div {...overlayZoneAfterProps} class={overlayZoneAfterClass}></div>\n </>\n )}\n </div>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren } from 'preact';\nimport { memo } from 'preact/compat';\nimport {\n useRef,\n useCallback,\n useLayoutEffect,\n useMemo,\n StateUpdater,\n Dispatch\n} from 'preact/hooks';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { mergeRefs } from '../utils/PRIVATE_refUtils';\nimport { warn } from '../utils/UNSAFE_logger';\nimport { allTabbableElements } from '../utils/PRIVATE_tabbableUtils';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { useAnimation, UseAnimationConfig } from '../hooks/UNSAFE_useAnimation';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\nimport { TabbableModeContext } from '../hooks/UNSAFE_useTabbableMode';\nimport { FocusTrap } from '../UNSAFE_FocusTrap';\nimport { SelectionMode, ListItemRendererContext } from '../UNSAFE_Collection';\nimport { multiVariantStyles, styles } from './themes/BaseCardViewStyles.css';\nimport { compareListItemContext } from '../utils/PRIVATE_collectionUtils';\nimport {\n BaseCardViewReorderableItem,\n BaseCardViewReorderableItemProps\n} from './BaseCardViewReorderableItem';\n\n/**\n * Props for the BaseCardViewItem Component\n */\nexport type Props<K, D> = {\n children: (context: ListItemRendererContext<K, D>) => ComponentChildren;\n context: ListItemRendererContext<K, D>;\n isTabbable: boolean;\n isFocused: boolean;\n isFocusRingVisible: boolean;\n isSelected: boolean;\n selectionMode: SelectionMode;\n focusBehavior: 'card' | 'content';\n setIsFocusBehaviorValid?: Dispatch<StateUpdater<boolean>>;\n initialAnimation?: 'slideUp' | 'slideDown';\n isGridLayout?: boolean;\n updateCardSize?: (width: number, height: number) => void;\n} & {\n reorderItemProps?: Omit<BaseCardViewReorderableItemProps<K>, 'children'>;\n};\n\n/**\n * The internal component used to render a single item in CardView.\n */\nexport function BaseCardViewItem<K extends string | number, D>({\n children,\n context,\n isTabbable,\n isFocused,\n isFocusRingVisible,\n isSelected,\n selectionMode,\n focusBehavior,\n setIsFocusBehaviorValid,\n initialAnimation,\n isGridLayout,\n updateCardSize,\n reorderItemProps\n}: Props<K, D>) {\n const rootRef = useRef<HTMLDivElement>(null);\n const itemKey = context.metadata.key;\n const itemIndex = context.index;\n\n const isItemFocused = isFocused && isFocusRingVisible;\n const variantClasses = multiVariantStyles({\n itemFocused: focusBehavior === 'card' && isItemFocused ? 'isItemFocused' : 'isNotItemFocused',\n itemInitialOpacity: initialAnimation ? 'isTransparent' : 'isNotTransparent',\n itemInGridLayout: isGridLayout ? 'isInGridLayout' : 'isNotInGridLayout'\n });\n const classes = classNames([styles.itemStyle, variantClasses]);\n\n /*********************************** Tabbable Mode ***********************************/\n\n // don't bubble Arrow Up/Down/Left/Right events to parent when in isTabbable mode\n // this bubbling causes the outer CollectionFocus ring to change index while in the isTabbable mode.\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n focusBehavior === 'card' &&\n isTabbable &&\n (event.key === 'ArrowDown' ||\n event.key === 'ArrowUp' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight')\n ) {\n event.stopPropagation();\n }\n };\n\n /************************************ Card Size ************************************/\n\n const handleResize = useCallback(\n (entry: ResizeObserverEntry) => {\n updateCardSize?.(entry.contentRect.width, entry.contentRect.height);\n },\n [updateCardSize]\n );\n\n const nullRef = useRef<HTMLDivElement>(null);\n useResizeObserver(updateCardSize ? rootRef : nullRef, handleResize);\n\n /********************************* Focus Behavior *********************************/\n\n useLayoutEffect(() => {\n if (focusBehavior === 'content' && isItemFocused) {\n // rootRef is cardview item, its first child is the focus trap div, so its first grand child\n // is the actual content\n const content = rootRef.current?.firstElementChild?.firstElementChild as HTMLElement;\n const focusable = allTabbableElements(content, true, true);\n if (focusable.length === 0 || focusable.length > 1) {\n warn(\n `${focusable.length} focusable elements are detected in the card. 'content' focusBehavior is intended only for use when the card has single focusable element. Please specify one focusable element in the card or switch the focusBehavior to 'card'.`\n );\n setIsFocusBehaviorValid?.(false);\n } else {\n focusable[0].focus();\n }\n }\n }, [focusBehavior, isItemFocused, setIsFocusBehaviorValid]);\n\n /******************************** Initial Animation ********************************/\n\n // animation for slide up/down\n const { nodeRef: nodeRefSlide, controller: controllerSlide } = useAnimation<\n 'slideUp' | 'slideDown' | 'none',\n HTMLDivElement\n >(initialAnimation || 'none', animationConfigSlide(itemIndex));\n\n // animation for opacity change\n const { nodeRef: nodeRefOpacity, controller: controllerOpacity } = useAnimation<\n 'opacity' | 'none',\n HTMLDivElement\n >((initialAnimation && 'opacity') || 'none', animationConfigOpacity(itemIndex));\n\n // max cap for animation is 1s\n setTimeout(() => {\n controllerSlide.cancel();\n controllerOpacity.cancel();\n }, 1000);\n\n // TODO: issue track in JET-57681, we currently have two useAnimation() because the opacity and\n // slide up/down have different durations, and the current API couldn't handle this case, we will\n // update this once the API is updated\n\n /********************************** Child Component **********************************/\n\n const itemRefs = useMemo(() => {\n // NOTE: spot an issue when we click the cards during animation is processing, the cards would not finish\n // the current animations and stay as what it is, e.g. leave itself as half transparent.\n // need to remove nodeRefSlide and nodeRefOpacity to avoid this issue.\n if (initialAnimation === undefined) {\n return mergeRefs(rootRef);\n }\n return mergeRefs(rootRef, nodeRefSlide, nodeRefOpacity);\n }, [rootRef, nodeRefSlide, nodeRefOpacity, initialAnimation]);\n\n const childrenComponent = reorderItemProps ? (\n <BaseCardViewReorderableItem {...reorderItemProps} context={context}>\n {children(context)}\n </BaseCardViewReorderableItem>\n ) : (\n children(context)\n );\n\n return (\n <div\n id={useId()}\n ref={itemRefs}\n class={classes}\n role=\"gridcell\"\n data-oj-key={itemKey}\n onKeyDown={handleKeyDown}\n aria-selected={selectionMode === 'none' ? undefined : isSelected}\n {...(typeof itemKey === 'number' && { 'data-oj-key-type': 'number' })}>\n <TabbableModeContext.Provider value={{ isTabbable }}>\n <FocusTrap isDisabled={!isTabbable} restoreFocusRef={false}>\n {childrenComponent}\n </FocusTrap>\n </TabbableModeContext.Provider>\n </div>\n );\n}\n\nconst animationConfigSlide = (\n index: number\n): UseAnimationConfig<'slideUp' | 'slideDown' | 'none', HTMLDivElement> => {\n return {\n animationStates: {\n slideUp: {\n from: {\n translateY: '50px'\n },\n to: {\n translateY: '0px'\n },\n options: {\n duration: 300,\n delay: index * 50,\n easing: [0, 0, 0.2, 1]\n }\n },\n slideDown: {\n from: {\n translateY: '-50px'\n },\n to: {\n translateY: '0'\n },\n options: {\n duration: 300,\n delay: index * 50,\n easing: [0, 0, 0.2, 1]\n }\n }\n },\n isAnimatedOnMount: true\n };\n};\n\nconst animationConfigOpacity = (\n index: number\n): UseAnimationConfig<'opacity' | 'none', HTMLDivElement> => {\n return {\n animationStates: {\n opacity: {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n },\n options: {\n duration: 150,\n delay: index * 50,\n easing: 'linear'\n }\n }\n },\n isAnimatedOnMount: true\n };\n};\n\n/**\n * Compare the equality between two reorderItemProps, especially useful for memoized items\n */\nconst compareReorderItemProps = <K, D>(\n props1: Props<K, D>['reorderItemProps'],\n props2: Props<K, D>['reorderItemProps']\n) => {\n return (\n props1?.['currentKey'] === props2?.['currentKey'] &&\n props1?.['dragKey'] === props2?.['dragKey'] &&\n props1?.['columns'] === props2?.['columns']\n );\n};\n\nexport const MemoizeBaseCardViewItem = memo(\n BaseCardViewItem,\n <K, D>(prev: Props<K, D>, next: Props<K, D>) => {\n if (prev && next) {\n return (\n prev.children === next.children &&\n prev.isTabbable === next.isTabbable &&\n prev.isFocused === next.isFocused &&\n prev.isFocusRingVisible === next.isFocusRingVisible &&\n prev.isSelected === next.isSelected &&\n prev.initialAnimation === next.initialAnimation &&\n prev.focusBehavior === next.focusBehavior &&\n compareListItemContext(prev.context, next.context) &&\n compareReorderItemProps(prev.reorderItemProps, next.reorderItemProps)\n );\n }\n return false;\n }\n);\n","import { ComponentChildren } from 'preact';\nimport { Grid } from '../UNSAFE_Grid';\nimport { Flex } from '../UNSAFE_Flex';\nimport { GutterSize } from './BaseCardViewUtils';\nimport { cardViewVars } from './themes/BaseCardViewContract.css';\n\ntype Props = {\n children: ComponentChildren;\n layout: 'grid' | 'flex';\n gutterSize: GutterSize;\n columns: number;\n};\n\nexport function BaseCardViewLayout({ children, layout, gutterSize, columns }: Props) {\n const gap = cardViewVars.gutterSize[gutterSize];\n if (layout === 'grid') {\n return columns < 1 ? null : (\n <Grid gridTemplateColumns={`repeat(${columns}, 1fr)`} gap={gap}>\n {children}\n </Grid>\n );\n } else {\n return (\n <Flex wrap=\"wrap\" gap={gap}>\n {children}\n </Flex>\n );\n }\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren, Fragment } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\n\ntype Props = {\n /**\n * Allows to pass skeletons\n **/\n children: ComponentChildren;\n};\n\n/**\n * Allows to specify the time delay for rendering the component\n **/\nconst timerValue = 50;\n\n/**\n * BaseCardViewSkeletonContainer renders skeletons after 50ms threshold defined in the Redwood spec\n **/\nexport function BaseCardViewSkeletonContainer({ children }: Props) {\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n setTimeout(() => {\n setIsVisible(true);\n }, timerValue);\n }, []);\n\n return isVisible ? <Fragment>{children}</Fragment> : <div class={LOADMORE_STYLE_CLASS}></div>;\n}\n","import { Size } from '../utils/UNSAFE_size';\nimport { Skeleton } from '../UNSAFE_Skeleton';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\nimport { BaseCardViewSkeletonContainer } from './BaseCardViewSkeletonContainer';\n\n// these are arbitrary values by now, might update them with definite values in the future\nconst DEFAULT_SKELETON_NUMBER = 25;\nconst DEFAULT_SKELETON_WIDTH = '60x';\nconst DEFAULT_SKELETON_HEIGHT = '70x';\n\ntype SkeletonProps = {\n layout: 'flex' | 'grid';\n colCount: number;\n totalCount: number;\n cardWidth?: number;\n cardHeight?: number;\n};\n\n/**\n * A function that returns an array of skeletons based on count\n * @param count the number of skeletons\n */\nconst getSkeletonsByCount = (\n layout: 'flex' | 'grid',\n count = DEFAULT_SKELETON_NUMBER,\n width?: Size,\n height?: Size,\n isUnique = true\n) => {\n const sw = width || (layout === 'flex' ? DEFAULT_SKELETON_WIDTH : '100%');\n const sh = height || DEFAULT_SKELETON_HEIGHT;\n\n return [...Array(count)].map((_v, i) => (\n // create unique keys if needed, otherwise the animations won't start at the same time, because the old copy of skeletons\n // could be reused, even the key is specified by useId(), combine count with time to make the key unique.\n <Skeleton key={isUnique && `${i}${new Date().getTime()}`} width={sw} height={sh} />\n ));\n};\n\n/**\n * When there is no data (i.e. data is an empty array or null, and hasMore is false), we will show 25 card skeletons with default size\n */\nexport const InitialLoadSkeletons = (props: { layout: SkeletonProps['layout'] }) => (\n <BaseCardViewSkeletonContainer>{getSkeletonsByCount(props.layout)}</BaseCardViewSkeletonContainer>\n);\n\n/**\n * When we are fetching the initial data (i.e. data is an empty array, and hasMore is true), we will show 25 card skeletons with default size,\n * because we don't know the card dimension at this time. Since there is more data to load, we will specify LOADMORE_STYLE_CLASS on skeletons\n */\nexport const DefaultLoadMoreSkeletons = (props: { layout: SkeletonProps['layout'] }) => {\n const firstSkeleton = (\n <div class={LOADMORE_STYLE_CLASS}>{getSkeletonsByCount(props.layout, 1)}</div>\n );\n const otherSkeletons = getSkeletonsByCount(props.layout, DEFAULT_SKELETON_NUMBER - 1);\n const skeletons = [firstSkeleton, ...otherSkeletons];\n return <BaseCardViewSkeletonContainer>{skeletons}</BaseCardViewSkeletonContainer>;\n};\n\n/**\n * During the render that we measure and update card dimension, we will hide skeletons temporarily\n * to avoid showing incorrect skeletons\n */\nconst InvisibleSkeletons = () => {\n return <div class={LOADMORE_STYLE_CLASS}></div>;\n};\n\nexport const LoadMoreSkeletons = (props: SkeletonProps) => {\n if (props.colCount < 1 || props.cardWidth == null || props.cardHeight == null) {\n // if column count / card width / card height are invalid, we will show the invisible skeletons\n return <InvisibleSkeletons />;\n } else {\n // after initial renders, show skeletons with correct dimension and count\n const skeletons = [];\n\n const firstRowColCount = props.colCount - (props.totalCount % props.colCount);\n const isOnlyOneRow = firstRowColCount === props.colCount;\n\n const cardWidth = `calc(${props.cardWidth}px)` as Size;\n const cardHeight = props.cardHeight\n ? (`calc(${props.cardHeight}px)` as Size)\n : DEFAULT_SKELETON_HEIGHT;\n\n const width: Size = props.layout === 'flex' ? cardWidth : '100%';\n const height: Size = props.layout === 'flex' || isOnlyOneRow ? cardHeight : '100%';\n\n // first row\n const firstSkeleton = (\n <div class={LOADMORE_STYLE_CLASS}>{getSkeletonsByCount(props.layout, 1, width, height)}</div>\n );\n skeletons.push(firstSkeleton);\n skeletons.push(getSkeletonsByCount(props.layout, firstRowColCount - 1, width, height));\n\n // second row\n if (!isOnlyOneRow) {\n skeletons.push(getSkeletonsByCount(props.layout, props.colCount, width, cardHeight));\n }\n\n return <BaseCardViewSkeletonContainer>{skeletons}</BaseCardViewSkeletonContainer>;\n }\n};\n","import { Size } from '../utils/UNSAFE_size';\n\nexport const emptyKeys = { all: false, keys: new Set() };\nexport type GutterSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * A mapping of gutterSize to concrete size in pixels\n */\nexport const gutterSizeToPX: Record<string, number> = {\n xs: 12,\n sm: 16,\n md: 24,\n lg: 48,\n xl: 64\n};\n\nexport const getGapSize = (gutterSize?: GutterSize) => {\n const px = gutterSizeToPX[gutterSize || 'sm'];\n const gap = `${px / 4}x` as Size;\n return gap;\n};\n\nexport const getColCount = (gapWidth: number, cardWidth?: number, rootWidth?: number) => {\n if (!cardWidth || !rootWidth) return 0;\n\n // if we have n cards, we have n-1 gaps\n const colCount = Math.floor((rootWidth + gapWidth) / (gapWidth + cardWidth));\n return Math.max(1, colCount);\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { Fragment } from 'preact';\nimport { forwardRef, ForwardedRef } from 'preact/compat';\nimport { useRef, useCallback, useEffect, useState, useImperativeHandle } from 'preact/hooks';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { containsKey, Keys, isKeyDefined } from '../utils/UNSAFE_keys';\nimport {\n getPrevNextKeyByCount,\n getFirstVisibleKey,\n getViewportConfig,\n findElementByKey,\n keyExtractor,\n handleSelectionRange,\n ITEM_SELECTOR\n} from '../utils/PRIVATE_collectionUtils';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { useTabbableModeSet } from '../hooks/PRIVATE_useTabbableModeSet';\nimport { useSelection, SelectionRangeDetail } from '../hooks/PRIVATE_useSelection';\nimport { ReorderableContext } from '../hooks/PRIVATE_useReorderable';\nimport { ItemContext, ListItemRendererContext, SelectionDetail } from '../UNSAFE_Collection';\nimport { Selector } from '../UNSAFE_Selector';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LoadMoreCollection } from '../PRIVATE_LoadMoreCollection';\nimport { styles } from './themes/BaseCardViewStyles.css';\nimport { Props } from '../UNSAFE_CardFlexView';\nimport { MemoizeBaseCardViewItem } from './BaseCardViewItem';\nimport { BaseCardViewLayout } from './BaseCardViewLayout';\nimport {\n DefaultLoadMoreSkeletons,\n LoadMoreSkeletons,\n InitialLoadSkeletons\n} from './BaseCardViewSkeleton';\nimport { gutterSizeToPX, emptyKeys } from './BaseCardViewUtils';\nimport { useCardViewReorder } from './useCardViewReorder';\n// TODO: add this import due to issue JET-67485, need to update once Stable is introduced\nimport './themes/redwood/BaseCardViewBaseTheme.css';\n\n/**\n * Props specific for the GradGridBaseImpl Component\n */\ntype BaseCardViewImplProps<K, D> = Props<K, D> & {\n /**\n * Provide the number of columns to render;\n */\n columns: number;\n /**\n * The layout of the BaseCardView. When we use CardGridView as parent, we will use grid layout;\n * when we use CardFlexView as parent, we will use flex layout.\n */\n layout: 'grid' | 'flex';\n /**\n * Card dimension, including width and height\n */\n cardSize: { width?: number; height?: number };\n /**\n * A callback function to update card dimension, including width and height\n */\n updateCardSize: (width: number, height: number) => void;\n};\n\nconst BaseCardViewImpl = forwardRef(\n <K extends string | number, D>(\n {\n children,\n data,\n onLoadMore = () => {},\n hasMore = false,\n getRowKey,\n currentKey,\n onCurrentKeyChange,\n selectionMode = 'none',\n selectedKeys = emptyKeys as Keys<K>,\n onSelectionChange,\n onReorder,\n viewportConfig,\n focusBehavior = 'card',\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n initialAnimation = 'slideUp',\n gutterSize = 'sm',\n columns,\n layout,\n cardSize,\n updateCardSize\n }: BaseCardViewImplProps<K, D>,\n ref?: ForwardedRef<HTMLDivElement>\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(ref!, () => rootRef.current!, [rootRef]);\n\n // tracking the anchor key which is used for shift+click selection\n const anchorKey = useRef<K | undefined>();\n // tracking pending current key in pointer down event\n const pendingCurrentKey = useRef<K>();\n\n const gutterSizePX = gutterSizeToPX[gutterSize];\n const layoutProps = { layout, columns, gutterSize };\n const isInitialAnimation = useRef(true);\n useEffect(() => {\n if (cardSize.height != undefined && cardSize.width != undefined) {\n isInitialAnimation.current = false;\n }\n }, [cardSize]);\n\n const ariaMultiSelectable = selectionMode === 'none' ? undefined : selectionMode === 'multiple';\n const ariaRowcount = hasMore || !data || columns < 1 ? -1 : Math.ceil(data?.length / columns);\n const ariaColcount = columns < 1 ? -1 : columns;\n\n const [isFocusBehaviorValid, setIsFocusBehaviorValid] = useState(true);\n const validFocusBehavior = isFocusBehaviorValid ? focusBehavior : 'card';\n\n // ensure current item is scrolled into view when current item is updated\n // during reordering, enable that during keyboard reordering, disable that during mouse reordering\n const scrollCurrItemIntoView = useRef(false);\n const isReorderEnabled = onReorder != undefined;\n\n const isFetching = useRef(false);\n\n /*****************************************************************************************/\n /************************************* Tabbable Mode *************************************/\n /*****************************************************************************************/\n\n const [isCurrentTabbableKey, tabbableModeProps] = useTabbableModeSet(\n rootRef,\n (element) => {\n return keyExtractor(element, ITEM_SELECTOR) as K;\n },\n currentKey,\n onCurrentKeyChange\n );\n\n /*****************************************************************************************/\n /********************************* Current Key and Focus *********************************/\n /*****************************************************************************************/\n\n const { currentKeyProps } = useCurrentKey(\n (element) => keyExtractor(element, ITEM_SELECTOR),\n selectionMode !== 'multiple',\n // init a function every time to make sure we pass in the latest columns,\n // otherwise the new key might be wrong after resize\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, -columns),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, columns),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, -1),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, 1),\n currentKey,\n onCurrentKeyChange\n );\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(rootRef, [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight'\n ]);\n\n const handleFocus = () => {\n // handle initial focus\n if (\n !isKeyDefined(currentKey) &&\n onCurrentKeyChange &&\n isCurrentTabbableKey(undefined) &&\n rootRef.current\n ) {\n const firstKey =\n pendingCurrentKey.current || (getFirstVisibleKey(rootRef.current, ITEM_SELECTOR) as K);\n if (isKeyDefined(firstKey)) {\n onCurrentKeyChange({ value: firstKey });\n }\n } else if (isKeyDefined(currentKey) && rootRef.current) {\n // if currentKey is defined, make sure scroll the current item into view when cardview regains focus\n const elem = findElementByKey(rootRef.current, currentKey as K, ITEM_SELECTOR);\n elem?.scrollIntoView({ block: 'nearest' });\n }\n };\n\n // need to track pointer down element to set currentItem when initial focus happens\n const handlePointerDown = (event: PointerEvent) => {\n const key = keyExtractor(event.target as HTMLElement, ITEM_SELECTOR);\n if (isKeyDefined(key)) {\n pendingCurrentKey.current = key as K;\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n // for content focusBehavior, when users tab out, we need to focus back to card grid, to ensure\n // the tabbing order works properly, otherwise the focus might get stuck at the current item\n if (validFocusBehavior === 'content' && event.key === 'Tab') {\n rootRef.current?.focus({ preventScroll: true });\n }\n // during keyboard reordering, the current item should be scrolled into view\n const keyHandlers = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];\n if (\n isReorderEnabled &&\n (event.metaKey || event.ctrlKey) &&\n event.shiftKey &&\n keyHandlers.includes(event.key)\n ) {\n scrollCurrItemIntoView.current = true;\n }\n };\n\n useEffect(() => {\n if (currentKey != null && rootRef.current) {\n const elem = findElementByKey(rootRef.current, currentKey, ITEM_SELECTOR);\n if (elem) {\n // only update aria-activedescendant for screen reader in default focusBehavior\n if (validFocusBehavior === 'card') {\n const cell = elem.closest(`[role=gridcell]`);\n const activeDescendant = rootRef.current.getAttribute('aria-activedescendant');\n if (cell && activeDescendant !== cell.id) {\n rootRef.current.setAttribute('aria-activedescendant', cell.id);\n scrollCurrItemIntoView.current = true;\n }\n }\n // make sure current item is visible\n if (scrollCurrItemIntoView.current) {\n elem.scrollIntoView({ block: 'nearest' });\n scrollCurrItemIntoView.current = false;\n }\n }\n }\n // listen to data because the current item would re-render when data is updated, i.e. the id\n // of current item would be updated, so the currentKey itself couldn't guarantee the root has\n // the latest aria-activedescendant\n }, [currentKey, data, validFocusBehavior, isReorderEnabled]);\n\n /*****************************************************************************************/\n /*************************************** Selection ***************************************/\n /*****************************************************************************************/\n\n const handleSelectionChange = useCallback(\n (detail: SelectionDetail<K>) => {\n if (onSelectionChange) {\n if (detail.value.all === false && detail.value.keys.size > 0) {\n // during regular selection, the last key selected by a user gesture is the anchor key\n anchorKey.current = Array.from(detail.value.keys.values()).pop();\n }\n onSelectionChange(detail);\n }\n },\n [anchorKey, onSelectionChange]\n );\n\n const handleSelectionRangeChange = useCallback(\n (detail: SelectionRangeDetail<K>) => {\n if (data && onSelectionChange) {\n const value = handleSelectionRange(detail, data, getRowKey);\n // for non-virtualized CardView, value should always be an array\n if (Array.isArray(value)) {\n if (detail.eventType === 'shiftSpace') {\n // during range selection by shift+space, the first key selected by a user gesture is the anchor key\n anchorKey.current = detail.value.start;\n } else {\n // during range selection by shift+click/arrow keys, the last key selected by a user gesture is the anchor key\n anchorKey.current = detail.value.end;\n }\n onSelectionChange({ value: { all: false, keys: new Set(value) }, target: null });\n }\n }\n },\n [data, onSelectionChange, getRowKey]\n );\n\n const { selectionProps } = useSelection(\n (element: HTMLElement) => {\n if (element === rootRef.current) {\n return currentKey === undefined ? null : currentKey;\n }\n return keyExtractor(element, ITEM_SELECTOR) as K;\n },\n selectedKeys,\n selectionMode,\n false,\n 'toggle',\n false,\n handleSelectionChange,\n anchorKey.current,\n currentKey,\n (currentKey: K | undefined, isPrev: boolean) => () =>\n getPrevNextKeyByCount(data, getRowKey, currentKey, isPrev ? -columns : columns),\n (currentKey: K | undefined, isPrev: boolean) => () =>\n getPrevNextKeyByCount(data, getRowKey, currentKey, isPrev ? -1 : 1),\n (key: K) => {\n if (rootRef.current) {\n const elem = findElementByKey(rootRef.current, key, ITEM_SELECTOR);\n if (elem) {\n elem.scrollIntoView({ block: 'nearest' });\n }\n }\n },\n handleSelectionRangeChange\n );\n\n /*****************************************************************************************/\n /**************************************** Reorder ****************************************/\n /*****************************************************************************************/\n\n const {\n reorderProps,\n reorderItemProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } = useCardViewReorder({\n currentKey,\n onReorder,\n gutterSize,\n columns,\n rootRef,\n scrollCurrItemIntoView\n });\n\n const reorderAcc = isReorderEnabled && (\n <>\n <span id={reorderInstructionsId}>\n <HiddenAccessible>{reorderInstructions}</HiddenAccessible>\n </span>\n </>\n );\n\n /*****************************************************************************************/\n /************************************* Load More *****************************************/\n /*****************************************************************************************/\n\n const handleLoadMore = useCallback(() => {\n // check isFetching to avoid multiple load more at the same time (details in JET-61117)\n if (!isFetching.current) {\n isFetching.current = true;\n onLoadMore();\n }\n }, [isFetching, onLoadMore]);\n\n useEffect(() => {\n isFetching.current = false;\n // listen to data and hasMore because when one of them gets updated, the fetching is done\n }, [data, hasMore]);\n\n /*****************************************************************************************/\n /************************************ Child Component ************************************/\n /*****************************************************************************************/\n\n const getItemContext = useCallback(\n (context: ItemContext<D>) => {\n const key = getRowKey(context.data);\n const selectorRenderer =\n selectionMode === 'multiple'\n ? () => (\n <Selector\n onChange={onSelectionChange}\n rowKey={key}\n selectedKeys={selectedKeys}></Selector>\n )\n : undefined;\n\n return {\n index: context.index,\n data: context.data,\n metadata: { key: key },\n selector: selectorRenderer,\n isSelected: containsKey(selectedKeys, key)\n };\n },\n [selectionMode, selectedKeys, onSelectionChange, getRowKey]\n );\n\n const childrenComponent = (context: ItemContext<D>) => {\n const cardItemContext = getItemContext(context);\n const isTabbable = isCurrentTabbableKey(cardItemContext.metadata.key);\n const isFocused = currentKey === cardItemContext.metadata.key && !isTabbable;\n const isFocusRingVisible = isFocused && showFocusRing;\n const isSelected = cardItemContext.isSelected;\n const itemRenderFunc = (context: ListItemRendererContext<K, D>) => (\n <MemoizeBaseCardViewItem\n key={cardItemContext.metadata.key}\n context={context}\n isTabbable={isTabbable}\n isFocused={isFocused}\n isFocusRingVisible={isFocusRingVisible}\n isGridLayout={layout === 'grid'}\n isSelected={isSelected}\n selectionMode={selectionMode}\n focusBehavior={validFocusBehavior}\n {...(focusBehavior === 'content' && { setIsFocusBehaviorValid })}\n {...(isInitialAnimation.current && { initialAnimation })}\n {...(cardItemContext.index === 0 && !cardSize.width && { updateCardSize })}\n {...(isReorderEnabled && { reorderItemProps })}>\n {children}\n </MemoizeBaseCardViewItem>\n );\n return itemRenderFunc(cardItemContext);\n };\n\n // todo: issue track in JET-57952, need a way to show the skeletons in keyboard navigation\n const skeletons =\n data && !data.length && hasMore ? (\n <DefaultLoadMoreSkeletons layout={layout} />\n ) : (\n <LoadMoreSkeletons\n layout={layout}\n colCount={columns}\n totalCount={data?.length || 0}\n cardWidth={cardSize.width}\n cardHeight={cardSize.height}\n />\n );\n\n viewportConfig = getViewportConfig(rootRef, viewportConfig);\n const collectionComponent = (\n <div role=\"row\">\n <BaseCardViewLayout {...layoutProps}>\n <LoadMoreCollection\n data={data}\n hasMore={hasMore}\n onLoadMore={handleLoadMore}\n loadMoreIndicator={skeletons}\n loadMoreThreshold={gutterSizePX + 4} // gap size + padding\n viewportConfig={viewportConfig}>\n {childrenComponent}\n </LoadMoreCollection>\n </BaseCardViewLayout>\n </div>\n );\n\n const initialLoadSkeletons = (\n <BaseCardViewLayout {...layoutProps}>\n <InitialLoadSkeletons layout={layout} />\n </BaseCardViewLayout>\n );\n\n return (\n <div\n {...mergeProps(\n currentKeyProps,\n focusRingProps,\n selectionProps,\n reorderProps,\n {\n onFocus: handleFocus,\n onPointerDown: handlePointerDown,\n onKeyDown: handleKeyDown\n },\n // only enable tabbable mode in default focusBehavior\n { ...(validFocusBehavior === 'card' && tabbableModeProps) }\n )}\n ref={rootRef}\n role=\"grid\"\n class={styles.baseStyle}\n tabIndex={0}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-multiselectable={ariaMultiSelectable}\n aria-rowcount={ariaRowcount}\n aria-colcount={ariaColcount}>\n <ReorderableContext.Provider value={reorderContext}>\n {!data ? (\n initialLoadSkeletons\n ) : data.length || hasMore ? (\n collectionComponent\n ) : (\n <Fragment />\n )}\n </ReorderableContext.Provider>\n {reorderAcc}\n </div>\n );\n }\n);\n\n/**\n * Props specific for the BaseCardView\n */\ntype BaseCardViewProps<K, D> = BaseCardViewImplProps<K, D> & {\n ref?: ForwardedRef<HTMLDivElement>;\n};\n\n/**\n * Cast BaseCardViewImpl to generic type, because BaseCardViewImpl would infer the generic type to specific type,\n * i.e infer <K extends string | number, D> to <string | number, unknown>, which will cause type issues in the parent component\n */\nexport const BaseCardView = BaseCardViewImpl as <K extends string | number, D>(\n props: BaseCardViewProps<K, D>\n) => JSX.Element;\n","import { RefObject } from 'preact';\nimport { useState } from 'preact/hooks';\nimport { ITEM_SELECTOR, dragToScroll } from '../utils/PRIVATE_collectionUtils';\nimport { useReorderable } from '../hooks/PRIVATE_useReorderable';\nimport { Props } from '../UNSAFE_CardFlexView';\nimport { GutterSize } from './BaseCardViewUtils';\n\ntype useCardViewReorderProps<K, D> = Pick<Props<K, D>, 'currentKey' | 'onReorder'> & {\n gutterSize: GutterSize;\n columns: number;\n rootRef: RefObject<HTMLDivElement>;\n scrollCurrItemIntoView: RefObject<boolean>;\n};\n\nexport const useCardViewReorder = <K extends string | number, D>({\n currentKey,\n onReorder,\n gutterSize,\n columns,\n rootRef,\n scrollCurrItemIntoView\n}: useCardViewReorderProps<K, D>) => {\n const isReorderEnabled = onReorder != undefined;\n\n const [dragKey, setDragKey] = useState<K | undefined>(undefined);\n const { reorderProps, reorderContext, reorderInstructionsId, reorderInstructions } =\n useReorderable({\n onReorder,\n rootRef,\n itemSelector: ITEM_SELECTOR,\n isDisabled: !isReorderEnabled,\n columns\n });\n\n if (!isReorderEnabled) {\n return {\n reorderProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } as const;\n }\n\n const handleDragOver = (event: DragEvent) => {\n dragToScroll(event, dragKey !== undefined, rootRef.current);\n // during mouse reordering, the drag item might not be the same as current item,\n // so we should disallow current item scroll into view\n scrollCurrItemIntoView.current = false;\n };\n\n const reorderEventProps = { ...reorderProps, onDragOver: handleDragOver };\n\n const reorderItemProps = {\n currentKey,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n gutterSize,\n columns\n };\n\n return {\n reorderProps: reorderEventProps,\n reorderItemProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } as const;\n};\n"],"names":["BaseCardViewReorderableItem","currentKey","children","dragKey","setDragKey","onReorder","rootRef","gutterSize","columns","context","itemRef","useRef","isOneColumn","isFirstColumn","index","isLastColumn","variantClasses","multiVariantStyles","itemOverlayFront","variantClassesVertical","itemOverlayFrontVertical","itemStyles","itemOverlayRear","styles","itemOverlayRearVertical","itemDragger","getItem","useCallback","current","closest","ITEM_SELECTOR","setTransferData","event","dataTransfer","setData","JSON","stringify","metadata","key","rootProps","isDragged","overlayZoneBeforeProps","overlayZoneAfterProps","useReorderableItem","isDisabled","draggable","ref","itemSelector","isVertical","direction","useUser","isRtl","overlayZoneBeforeClass","classNames","class","itemOverlayFrontEdge","overlayZoneAfterClass","itemOverlayRearEdge","_jsxs","jsxs","_Fragment","Fragment","_jsx","animationConfigSlide","animationStates","slideUp","from","translateY","to","options","duration","delay","easing","slideDown","isAnimatedOnMount","animationConfigOpacity","opacity","MemoizeBaseCardViewItem","memo","isTabbable","isFocused","isFocusRingVisible","isSelected","selectionMode","focusBehavior","setIsFocusBehaviorValid","initialAnimation","isGridLayout","updateCardSize","reorderItemProps","itemKey","itemIndex","isItemFocused","itemFocused","itemInitialOpacity","itemInGridLayout","classes","itemStyle","handleResize","entry","contentRect","width","height","nullRef","useResizeObserver","useLayoutEffect","content","firstElementChild","focusable","allTabbableElements","length","warn","focus","nodeRef","nodeRefSlide","controller","controllerSlide","useAnimation","nodeRefOpacity","controllerOpacity","setTimeout","cancel","itemRefs","useMemo","undefined","mergeRefs","childrenComponent","id","useId","role","onKeyDown","stopPropagation","TabbableModeContext","Provider","value","FocusTrap","restoreFocusRef","prev","next","compareListItemContext","props1","props2","BaseCardViewLayout","layout","gap","cardViewVars","jsx","Grid","gridTemplateColumns","Flex","wrap","BaseCardViewSkeletonContainer","isVisible","setIsVisible","useState","useEffect","LOADMORE_STYLE_CLASS","getSkeletonsByCount","count","isUnique","sw","sh","Array","map","_v","i","Skeleton","Date","getTime","InitialLoadSkeletons","props","DefaultLoadMoreSkeletons","skeletons","DEFAULT_SKELETON_NUMBER","InvisibleSkeletons","LoadMoreSkeletons","colCount","cardWidth","cardHeight","firstRowColCount","totalCount","isOnlyOneRow","firstSkeleton","push","emptyKeys","all","keys","Set","gutterSizeToPX","xs","sm","md","lg","xl","BaseCardView","forwardRef","data","onLoadMore","hasMore","getRowKey","onCurrentKeyChange","selectedKeys","onSelectionChange","viewportConfig","ariaLabel","ariaLabelledBy","cardSize","useImperativeHandle","anchorKey","pendingCurrentKey","gutterSizePX","layoutProps","isInitialAnimation","ariaMultiSelectable","ariaRowcount","Math","ceil","ariaColcount","isFocusBehaviorValid","validFocusBehavior","scrollCurrItemIntoView","isReorderEnabled","isFetching","isCurrentTabbableKey","tabbableModeProps","useTabbableModeSet","element","keyExtractor","currentKeyProps","useCurrentKey","getPrevNextKeyByCount","showFocusRing","focusRingProps","useCollectionFocusRing","elem","findElementByKey","cell","activeDescendant","getAttribute","setAttribute","scrollIntoView","block","handleSelectionChange","detail","size","values","pop","handleSelectionRangeChange","handleSelectionRange","isArray","eventType","start","end","target","selectionProps","useSelection","isPrev","reorderProps","reorderContext","reorderInstructionsId","reorderInstructions","useReorderable","onDragOver","dragToScroll","useCardViewReorder","reorderAcc","HiddenAccessible","handleLoadMore","getItemContext","selectorRenderer","Selector","onChange","rowKey","selector","containsKey","getViewportConfig","collectionComponent","LoadMoreCollection","loadMoreIndicator","loadMoreThreshold","cardItemContext","itemRenderFunc","initialLoadSkeletons","mergeProps","onFocus","isKeyDefined","firstKey","getFirstVisibleKey","onPointerDown","preventScroll","metaKey","ctrlKey","shiftKey","includes","baseStyle","tabIndex","ReorderableContext","gapWidth","rootWidth","floor","max"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact/hooks', './useResizeObserver-c63865cc', './BaseCardView-1aa0d986'], (function(e,t,i,r,a){"use strict";e.CardFlexView=function(e){const c=i.useRef(null),[s,d]=i.useState({}),n=i.useCallback((e=>{const t=e.contentRect.width;s.containerWidth!==t&&d((e=>({...e,containerWidth:t})))}),[s]);r.useResizeObserver(c,n);const o=a.gutterSizeToPX[e.gutterSize||"sm"],u=a.getColCount(o,s.cardWidth,s.containerWidth),h={width:s.cardWidth,height:s.cardHeight};return t.jsx(a.BaseCardView,{...e,ref:c,layout:"flex",columns:u,cardSize:h,updateCardSize:(e,t)=>{d((i=>({...i,cardWidth:e,cardHeight:t})))}})}}));
2
+ //# sourceMappingURL=CardFlexView-a647550f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardFlexView-3e4bd681.js","sources":["../../src/UNSAFE_CardFlexView/CardFlexView.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'preact/hooks';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\nimport { BaseCardView, gutterSizeToPX, getColCount } from '../PRIVATE_BaseCardView';\nimport { BaseCardViewPublicProps as Props } from './BaseCardView.types';\n\ntype CardFlexViewProps<K extends string | number, D> = Props<K, D>;\ntype SizeInfo = {\n cardWidth?: number;\n cardHeight?: number;\n containerWidth?: number;\n};\n\nexport function CardFlexView<K extends string | number, D>(props: CardFlexViewProps<K, D>) {\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [size, setSize] = useState<SizeInfo>({});\n const updateCardSize = (cardWidth: number, cardHeight: number) => {\n setSize((size) => ({ ...size, cardWidth, cardHeight }));\n };\n\n const handleResize = useCallback(\n (entry: ResizeObserverEntry) => {\n const containerWidth = entry.contentRect.width;\n if (size.containerWidth !== containerWidth) {\n setSize((size) => ({ ...size, containerWidth }));\n }\n },\n [size]\n );\n useResizeObserver(rootRef, handleResize);\n\n const gutterSizePX = gutterSizeToPX[props.gutterSize || 'sm'];\n const columns = getColCount(gutterSizePX, size.cardWidth, size.containerWidth);\n const cardSize = { width: size.cardWidth, height: size.cardHeight };\n\n return (\n <BaseCardView\n {...props}\n ref={rootRef}\n layout=\"flex\"\n columns={columns}\n cardSize={cardSize}\n updateCardSize={updateCardSize}\n />\n );\n}\n"],"names":["props","rootRef","useRef","size","setSize","useState","handleResize","useCallback","entry","containerWidth","contentRect","width","useResizeObserver","gutterSizePX","gutterSizeToPX","gutterSize","columns","getColCount","cardWidth","cardSize","height","cardHeight","_jsx","BaseCardView","ref","layout","updateCardSize"],"mappings":"iKAYM,SAAqDA,GACzD,MAAMC,EAAUC,SAAuB,OAEhCC,EAAMC,GAAWC,EAAQA,SAAW,CAAE,GAKvCC,EAAeC,eAClBC,IACC,MAAMC,EAAiBD,EAAME,YAAYC,MACrCR,EAAKM,iBAAmBA,GAC1BL,GAASD,IAAU,IAAKA,EAAMM,oBAC/B,GAEH,CAACN,IAEHS,oBAAkBX,EAASK,GAE3B,MAAMO,EAAeC,EAAcA,eAACd,EAAMe,YAAc,MAClDC,EAAUC,EAAAA,YAAYJ,EAAcV,EAAKe,UAAWf,EAAKM,gBACzDU,EAAW,CAAER,MAAOR,EAAKe,UAAWE,OAAQjB,EAAKkB,YAEvD,OACEC,EAAAA,IAACC,EAAAA,aACK,IAAAvB,EACJwB,IAAKvB,EACLwB,OAAO,OACPT,QAASA,EACTG,SAAUA,EACVO,eA1BmB,CAACR,EAAmBG,KACzCjB,GAASD,QAAeA,EAAMe,YAAWG,gBAAc,GA4B3D"}
1
+ {"version":3,"file":"CardFlexView-a647550f.js","sources":["../../src/UNSAFE_CardFlexView/CardFlexView.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'preact/hooks';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\nimport { BaseCardView, gutterSizeToPX, getColCount } from '../PRIVATE_BaseCardView';\nimport { BaseCardViewPublicProps as Props } from './BaseCardView.types';\n\ntype CardFlexViewProps<K extends string | number, D> = Props<K, D>;\ntype SizeInfo = {\n cardWidth?: number;\n cardHeight?: number;\n containerWidth?: number;\n};\n\nexport function CardFlexView<K extends string | number, D>(props: CardFlexViewProps<K, D>) {\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [size, setSize] = useState<SizeInfo>({});\n const updateCardSize = (cardWidth: number, cardHeight: number) => {\n setSize((size) => ({ ...size, cardWidth, cardHeight }));\n };\n\n const handleResize = useCallback(\n (entry: ResizeObserverEntry) => {\n const containerWidth = entry.contentRect.width;\n if (size.containerWidth !== containerWidth) {\n setSize((size) => ({ ...size, containerWidth }));\n }\n },\n [size]\n );\n useResizeObserver(rootRef, handleResize);\n\n const gutterSizePX = gutterSizeToPX[props.gutterSize || 'sm'];\n const columns = getColCount(gutterSizePX, size.cardWidth, size.containerWidth);\n const cardSize = { width: size.cardWidth, height: size.cardHeight };\n\n return (\n <BaseCardView\n {...props}\n ref={rootRef}\n layout=\"flex\"\n columns={columns}\n cardSize={cardSize}\n updateCardSize={updateCardSize}\n />\n );\n}\n"],"names":["props","rootRef","useRef","size","setSize","useState","handleResize","useCallback","entry","containerWidth","contentRect","width","useResizeObserver","gutterSizePX","gutterSizeToPX","gutterSize","columns","getColCount","cardWidth","cardSize","height","cardHeight","_jsx","BaseCardView","ref","layout","updateCardSize"],"mappings":"iKAYM,SAAqDA,GACzD,MAAMC,EAAUC,SAAuB,OAEhCC,EAAMC,GAAWC,EAAQA,SAAW,CAAE,GAKvCC,EAAeC,eAClBC,IACC,MAAMC,EAAiBD,EAAME,YAAYC,MACrCR,EAAKM,iBAAmBA,GAC1BL,GAASD,IAAU,IAAKA,EAAMM,oBAC/B,GAEH,CAACN,IAEHS,oBAAkBX,EAASK,GAE3B,MAAMO,EAAeC,EAAcA,eAACd,EAAMe,YAAc,MAClDC,EAAUC,EAAAA,YAAYJ,EAAcV,EAAKe,UAAWf,EAAKM,gBACzDU,EAAW,CAAER,MAAOR,EAAKe,UAAWE,OAAQjB,EAAKkB,YAEvD,OACEC,EAAAA,IAACC,EAAAA,aACK,IAAAvB,EACJwB,IAAKvB,EACLwB,OAAO,OACPT,QAASA,EACTG,SAAUA,EACVO,eA1BmB,CAACR,EAAmBG,KACzCjB,GAASD,QAAeA,EAAMe,YAAWG,gBAAc,GA4B3D"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact/hooks', './BaseCardView-1aa0d986'], (function(e,t,a,i){"use strict";e.CardGridView=function(e){const[r,d]=a.useState({});return t.jsx(i.BaseCardView,{...e,layout:"grid",cardSize:r,updateCardSize:(e,t)=>{d({width:e,height:t})}})}}));
2
+ //# sourceMappingURL=CardGridView-06fb67cb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardGridView-8fb55ad7.js","sources":["../../src/UNSAFE_CardGridView/CardGridView.tsx"],"sourcesContent":["import { useState } from 'preact/hooks';\nimport { BaseCardView } from '../PRIVATE_BaseCardView';\nimport { Props } from '../UNSAFE_CardFlexView';\n\ntype CardGridProps<K extends string | number, D> = Props<K, D> & {\n /**\n * Provide the number of columns to render. The number of columns is required for CardGridView component.\n * If the number of columns is not provided, please use CardFlexView component.\n */\n columns: number;\n};\n\nexport function CardGridView<K extends string | number, D>(props: CardGridProps<K, D>) {\n const [cardSize, setCardSize] = useState<{ width?: number; height?: number }>({});\n const updateCardSize = (width: number, height: number) => {\n setCardSize({ width, height });\n };\n\n return (\n <BaseCardView {...props} layout=\"grid\" cardSize={cardSize} updateCardSize={updateCardSize} />\n );\n}\n"],"names":["props","cardSize","setCardSize","useState","_jsx","BaseCardView","layout","updateCardSize","width","height"],"mappings":"gIAYM,SAAqDA,GACzD,MAAOC,EAAUC,GAAeC,EAAQA,SAAsC,CAAE,GAKhF,OACEC,MAACC,EAAAA,iBAAiBL,EAAOM,OAAO,OAAOL,SAAUA,EAAUM,eALtC,CAACC,EAAeC,KACrCP,EAAY,CAAEM,QAAOC,UAAS,GAMlC"}
1
+ {"version":3,"file":"CardGridView-06fb67cb.js","sources":["../../src/UNSAFE_CardGridView/CardGridView.tsx"],"sourcesContent":["import { useState } from 'preact/hooks';\nimport { BaseCardView } from '../PRIVATE_BaseCardView';\nimport { Props } from '../UNSAFE_CardFlexView';\n\ntype CardGridProps<K extends string | number, D> = Props<K, D> & {\n /**\n * Provide the number of columns to render. The number of columns is required for CardGridView component.\n * If the number of columns is not provided, please use CardFlexView component.\n */\n columns: number;\n};\n\nexport function CardGridView<K extends string | number, D>(props: CardGridProps<K, D>) {\n const [cardSize, setCardSize] = useState<{ width?: number; height?: number }>({});\n const updateCardSize = (width: number, height: number) => {\n setCardSize({ width, height });\n };\n\n return (\n <BaseCardView {...props} layout=\"grid\" cardSize={cardSize} updateCardSize={updateCardSize} />\n );\n}\n"],"names":["props","cardSize","setCardSize","useState","_jsx","BaseCardView","layout","updateCardSize","width","height"],"mappings":"gIAYM,SAAqDA,GACzD,MAAOC,EAAUC,GAAeC,EAAQA,SAAsC,CAAE,GAKhF,OACEC,MAACC,EAAAA,iBAAiBL,EAAOM,OAAO,OAAOL,SAAUA,EAAUM,eALtC,CAACC,EAAeC,KACrCP,EAAY,CAAEM,QAAOC,UAAS,GAMlC"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', './PRIVATE_Chart/themes/ChartStyles.css', './TrackResizeContainer-905caab2', './useTextDimensions-b37344b4', './useCssVars-948d1e7c', 'preact/hooks', './Gridlines-11a94c28', './useId-c9578d26', './Axis-7e8809af', './useChartViewport-ca564baa', './layoutUtils-09c68ca9', './useChartNav-5ff92999', './mergeProps-bcfa6a92', './useSelectDrill-f2ae347c', './useUser-6dd85af9', './useTestId-82cf22a4', './cssUtils-b0572a20', './useChartContextMenu-c50617f2', './eventsUtils-5d567a9d', './accUtils-1557920a', 'preact/compat', './LayerHost-eab40731', 'css!./LayerStyles.styles.css', './Floating-85851b1a', 'css!./useDatatip.styles.css', './datatipUtils-1b8ab042', './util-5bb1f200', './useTooltip-d28e9b0f', './useTooltipControlled-abf886f2', './useChartMarquee-0e818e77', './useVisTouchResponse-36416652', './stringUtils-0ae982c2', './ScrollBar-4046f84f'], (function(e,t,o,s,i,n,r,a,l,d,u,c,x,p,g,f,I,h,m,C,y,S,v,b,A,D,M,P,w,T,R,V,G,j){"use strict";function E(e,t,o){const s=e.groupIndex+1;if(!(s>=t))return o(s)?{groupIndex:s}:E({groupIndex:s},t,o)}function N(e,t){const o=e.groupIndex-1;if(!(o<0))return t(o)?{groupIndex:o}:N({groupIndex:o},t)}const k=h.getChartVars();function F({width:e,height:s,selectedIds:h,hiddenIds:y,hideAndShowBehavior:S="none",orientation:v="vertical",xAxis:b,yAxis:A,plotArea:D,dragMode:M="user",series:T,groups:F,isStacked:z=!1,getDataItem:B,selectionMode:U="none",drilling:L="off",dataCursorPosition:q,onSelectionChange:H,isDataCursorEnabled:O,dataCursorStyle:W,onViewportChange:$,onDataCursorPositionChange:Z,onItemDrill:_,onGroupDrill:J,onItemHover:K,onItemFocus:Q,datatip:X,zoomAndScroll:Y="off",offset:ee,getNavUtil:te,getDataItemPos:oe,getGapRatio:se,valueFormats:ie,findNearest:ne,getMarkerInfo:re,isRtl:ae,children:le,testId:de,renderGridLinesInFront:ue,contextMenuConfig:ce,...xe}){const pe=I.useTestId(de),ge=r.useRef(null),fe="horizontal"===v,{xAxisPosition:Ie,yAxisPosition:he}=c.getAxesPosition(A,fe,ae),{resolvedVars:me,cssContent:Ce}=n.useCssVars(k),ye=Array.from(Array(12)).map(((e,t)=>me[`color${t+1}`])),{textMeasureContent:Se,getTextDimensions:ve}=i.useTextDimensions();let be=c.getAvailSpace(e,s);const Ae=c.getScrollBarSpace(be,Y,Ie);let De=Ae.scrollDims;be=Ae.availSpace;const Me=new Set(y),{locale:Pe}=f.useUser(),{xProps:we,xScale:Te,xViewportExtent:Re,xAxisExtent:Ve,xIndexExtent:Ge,yViewportExtent:je,yAxisExtent:Ee,groupWidth:Ne,yProps:ke,yScale:Fe,yMaxDim:ze,yMajorTicks:Be,yMinorTicks:Ue,plotAreaSpace:Le,idToDataMap:qe}=c.getLayoutInfo(T,F,B,b,A,be,Me,S,fe,ae,z,me.labelFontSize,ee,Pe,ve);De=c.updateScrollBarSpace(De,"bottom"===Ie,ae,ze);const He=se(Ge.startIndex,Ge.endIndex),Oe=te(Ge.startIndex,Ge.endIndex),We=we.tickLabels.map((({index:e})=>e+Ge.startIndex)),{getNextNavGroup:$e,getDefaultNavGroup:Ze}=function(e,t,o,s,i){const n=o=>{const i=e[t[o]].drilling;return("on"===s||"groupsOnly"===s)&&"off"!=i},r=e=>o.startIndex>t[e.groupIndex]?(e.groupIndex=0,e):o.endIndex<t[e.groupIndex]?(e.groupIndex=t.length-1,e):void 0;return{getDefaultNavGroup:r,getNextNavGroup:(e,o)=>{let s=r(e);return s||(s="ArrowRight"===o?i?N(e,n):E(e,t.length,n):i?E(e,t.length,n):N(e,n),s||e)}}}(F,We,Ge,L,ae),{cursor:_e,marqueeProps:Je,marqueeContent:Ke,toggleButtonContent:Qe,isPointInsideMarquee:Xe,dragMode:Ye}=R.useChartMarquee({plotAreaSpace:Le,dragMode:M,chartWidth:e,isMultiSelection:"multiple"===U,onViewportChange:$,isZoomScroll:"live"===Y,xAxisExtent:Ve,xScale:Te,selectedIds:h,getDataById:e=>qe.get(e),onSelectionChange:H,viewportMax:Re.viewportMax,viewportMin:Re.viewportMin,isRtl:ae}),{touchResponse:et,touchResponseStyle:tt}=V.useVisTouchResponse({type:"auto",supportsTouchDragGestures:"off"!==Ye,rootRef:ge}),{activeId:ot,focusedItemInfo:st,hoveredItemInfo:it,focusedGroupInfo:nt,navProps:rt,onFocusUpdate:at}=x.useChartNav({rootRef:ge,getNextChartItem:Oe,getNextNavGroup:$e,getDefaultNavGroup:Ze,touchResponse:et,onItemHover:K,onItemFocus:Q,drilling:L,xIndexExtent:Ge}),{tooltipContent:lt,tooltipProps:dt}=function({getTextAndBounds:e,width:t,isRtl:o}){const[s,i]=r.useState(),n=r.useRef(),{tooltipContent:a,tooltipProps:l}=w.useTooltip({text:s,position:"top-start",offset:P.calculateOffset(o,t,n.current)});return{tooltipContent:a,tooltipProps:p.mergeProps({onPointerMove:t=>{const o=e(t.target);o?(n.current=o.bounds,i(o.text)):i(void 0)}},l)}}({getTextAndBounds:e=>{if(e!=ge.current){const t=C.getElementData(ge,e),o=t?.ojText;if(!o)return;if(o===b?.title)return{text:o,bounds:we.titleProps?.dims};if(o===A?.title)return{text:o,bounds:ke.titleProps?.dims};if(t?.ojGroupIndex){const e=parseInt(t.ojGroupIndex);return{bounds:we.tickLabels[e].dims,text:o}}}if(e===ge.current&&nt.isFocusVisible){const e=F[nt.groupIndex];return{bounds:we.tickLabels[nt.groupIndex].dims,text:e.name||e.id}}},width:e,isRtl:ae}),{selectDrillProps:ut,selectionContent:ct}=g.useSelectDrill({selectionMode:U,selection:[...h],onChange:H,rootRef:ge,drilling:L,onItemDrill:_,onGroupDrill:J,focusedGroupInfo:nt,focusedItemInfo:st,groups:F,getDataItem:B,getDataById:e=>qe.get(e)}),xt=u.useChartViewport({rootRef:ge,width:e,height:s,xViewportExtent:Re,yViewportExtent:je,xAxisExtent:Ve,yAxisExtent:Ee,xScale:Te,yScale:Fe,plotAreaSpace:Le,isRtl:ae,isHoriz:fe,zoomAndScroll:Y,onViewportChange:$}),pt=ne(Te,Fe,Ne,He),gt=oe(Te,Fe,Ne,He),{datatipContent:ft,dataCursorContent:It,datatipProps:{"aria-describedby":ht,...mt}}=g.useChartDatatipAndCursor({series:T,groups:F,width:e,height:s,findNearest:pt,plotAreaSpace:Le,onDataCursorPositionChange:Z,isDataCursorEnabled:O,dataCursorPosition:q,dataCursorStyle:W,hoveredItemInfo:it,focusedItemInfo:st,getDataItem:B,getMarkerInfo:re,getDataItemPos:gt,datatip:X,valueFormats:ie,isHoriz:fe,touchResponse:et,isDisabled:"off"!=Ye,xScale:Te,yScale:Fe,timeAxisType:b?.timeAxisType}),Ct=l.useId(),{viewportMin:yt,viewportMax:St}=Re,{startIndex:vt,endIndex:bt}=Ge,At=t.jsx(a.Gridlines,{plotArea:D,yMinorTicks:Ue,xScale:Te,yScale:Fe,isLog:"log"===A?.scale,xViewportMin:yt,xViewportMax:St,yTicks:Be,yAxisPosition:he}),{contextMenuContent:Dt,contextMenuProps:Mt}=m.useChartContextMenu({series:T,groups:F,getDataItem:B,focusedItemInfo:st,rootRef:ge,xAxisTitle:b?.title,yAxisTitle:A?.title,contextMenuConfig:ce,onContextMenuDismissed:e=>{"keyboard"===e&&at()}}),Pt=p.mergeProps(rt,ut,xt,mt,Je,dt,Mt);return t.jsxs("div",{tabIndex:0,ref:ge,"aria-activedescendant":ot,"aria-label":xe["aria-label"],"aria-labelledby":xe["aria-labelledby"],"aria-describedby":G.merge([xe["aria-describedby"],ht]),style:{width:e,height:s,...tt},role:"application",className:o.styles.outline,...pe,...Pt,children:[t.jsxs("svg",{width:"100%",height:"100%",children:[t.jsx("clipPath",{id:`${Ct}`,children:t.jsx("rect",{...Le})}),t.jsx(a.PlotArea,{color:D?.color,yScale:Fe,cursor:_e,isLog:"log"===A?.scale,availSpace:Le,xAxisPosition:Ie}),!ue&&At,t.jsx(d.Axis,{...ke,axisPosition:he,isRtl:ae}),t.jsx(d.Axis,{...we,isRtl:ae,axisPosition:Ie,isTextInteractive:e=>{if(null!=b?.timeAxisType)return!1;const t=F[e].drilling;return"on"===t||"off"!=t&&("on"===L||"groupsOnly"===L)},activeId:ot,focusedGroupIndex:nt.isFocusVisible?nt.groupIndex:void 0}),t.jsxs("g",{"clip-path":`url(#${Ct})`,children:[le({xStartIndex:vt,xEndIndex:bt,colors:ye,xScale:Te,yScale:Fe,isPointInsideMarquee:Xe,defaultFontSize:me.labelFontSize,gapRatio:He,activeId:ot,focusedItemInfo:st,hoveredItemInfo:it,getTextDimensions:ve,groupWidth:Ne}),ue&&At,It]}),"live"===Y&&t.jsx(j.ScrollBar,{availSpace:De,isRtl:ae,viewport:Re,axisExtent:Ve,isHoriz:"bottom"===Ie}),Ke]}),Qe,Se,Ce,ft,lt,Dt,ct]})}e.Chart=function({width:e,height:i,...n}){return t.jsx(s.TrackResizeContainer,{width:e,height:i,class:o.dimensionStyle,children:(e,o)=>e||o?t.jsx(F,{width:e,height:o,...n}):void 0})}}));
2
- //# sourceMappingURL=Chart-0f54dae3.js.map
1
+ define(['exports', 'preact/jsx-runtime', './PRIVATE_Chart/themes/ChartStyles.css', './TrackResizeContainer-905caab2', './useTextDimensions-b37344b4', './useCssVars-948d1e7c', 'preact/hooks', './Gridlines-11a94c28', './useId-c9578d26', './Axis-7e8809af', './useChartViewport-ca564baa', './layoutUtils-09c68ca9', './useChartNav-5ff92999', './mergeProps-bcfa6a92', './ScrollBar-4046f84f', './useSelectDrill-f2ae347c', './useUser-6dd85af9', './useTestId-82cf22a4', './cssUtils-b0572a20', './useChartContextMenu-c50617f2', './eventsUtils-5d567a9d', './accUtils-1557920a', 'preact/compat', './LayerHost-eab40731', 'css!./LayerStyles.styles.css', './Floating-85851b1a', 'css!./useDatatip.styles.css', './datatipUtils-1b8ab042', './util-5bb1f200', './useTooltip-d28e9b0f', './useTooltipControlled-abf886f2', './useChartMarquee-0e818e77', './useVisTouchResponse-36416652', './stringUtils-0ae982c2'], (function(e,t,o,s,i,n,r,a,l,d,u,c,x,p,g,f,I,h,m,C,y,S,v,b,A,D,M,P,w,T,R,V,G,j){"use strict";function E(e,t,o){const s=e.groupIndex+1;if(!(s>=t))return o(s)?{groupIndex:s}:E({groupIndex:s},t,o)}function N(e,t){const o=e.groupIndex-1;if(!(o<0))return t(o)?{groupIndex:o}:N({groupIndex:o},t)}const k=m.getChartVars();function F({width:e,height:s,selectedIds:m,hiddenIds:S,hideAndShowBehavior:v="none",orientation:b="vertical",xAxis:A,yAxis:D,plotArea:M,dragMode:P="user",series:R,groups:F,isStacked:z=!1,getDataItem:B,selectionMode:U="none",drilling:L="off",dataCursorPosition:q,onSelectionChange:H,isDataCursorEnabled:O,dataCursorStyle:W,onViewportChange:$,onDataCursorPositionChange:Z,onItemDrill:_,onGroupDrill:J,onItemHover:K,onItemFocus:Q,datatip:X,zoomAndScroll:Y="off",offset:ee,getNavUtil:te,getDataItemPos:oe,getGapRatio:se,valueFormats:ie,findNearest:ne,getMarkerInfo:re,isRtl:ae,children:le,testId:de,renderGridLinesInFront:ue,contextMenuConfig:ce,...xe}){const pe=h.useTestId(de),ge=r.useRef(null),fe="horizontal"===b,{xAxisPosition:Ie,yAxisPosition:he}=c.getAxesPosition(D,fe,ae),{resolvedVars:me,cssContent:Ce}=n.useCssVars(k),ye=Array.from(Array(12)).map(((e,t)=>me[`color${t+1}`])),{textMeasureContent:Se,getTextDimensions:ve}=i.useTextDimensions();let be=c.getAvailSpace(e,s);const Ae=c.getScrollBarSpace(be,Y,Ie);let De=Ae.scrollDims;be=Ae.availSpace;const Me=new Set(S),{locale:Pe}=I.useUser(),{xProps:we,xScale:Te,xViewportExtent:Re,xAxisExtent:Ve,xIndexExtent:Ge,yViewportExtent:je,yAxisExtent:Ee,groupWidth:Ne,yProps:ke,yScale:Fe,yMaxDim:ze,yMajorTicks:Be,yMinorTicks:Ue,plotAreaSpace:Le,idToDataMap:qe}=c.getLayoutInfo(R,F,B,A,D,be,Me,v,fe,ae,z,me.labelFontSize,ee,Pe,ve);De=c.updateScrollBarSpace(De,"bottom"===Ie,ae,ze);const He=se(Ge.startIndex,Ge.endIndex),Oe=te(Ge.startIndex,Ge.endIndex),We=we.tickLabels.map((({index:e})=>e+Ge.startIndex)),{getNextNavGroup:$e,getDefaultNavGroup:Ze}=function(e,t,o,s,i){const n=o=>{const i=e[t[o]].drilling;return("on"===s||"groupsOnly"===s)&&"off"!=i},r=e=>o.startIndex>t[e.groupIndex]?(e.groupIndex=0,e):o.endIndex<t[e.groupIndex]?(e.groupIndex=t.length-1,e):void 0;return{getDefaultNavGroup:r,getNextNavGroup:(e,o)=>{let s=r(e);return s||(s="ArrowRight"===o?i?N(e,n):E(e,t.length,n):i?E(e,t.length,n):N(e,n),s||e)}}}(F,We,Ge,L,ae),{cursor:_e,marqueeProps:Je,marqueeContent:Ke,toggleButtonContent:Qe,isPointInsideMarquee:Xe,dragMode:Ye}=V.useChartMarquee({plotAreaSpace:Le,dragMode:P,chartWidth:e,isMultiSelection:"multiple"===U,onViewportChange:$,isZoomScroll:"live"===Y,xAxisExtent:Ve,xScale:Te,selectedIds:m,getDataById:e=>qe.get(e),onSelectionChange:H,viewportMax:Re.viewportMax,viewportMin:Re.viewportMin,isRtl:ae}),{touchResponse:et,touchResponseStyle:tt}=G.useVisTouchResponse({type:"auto",supportsTouchDragGestures:"off"!==Ye,rootRef:ge}),{activeId:ot,focusedItemInfo:st,hoveredItemInfo:it,focusedGroupInfo:nt,navProps:rt,onFocusUpdate:at}=x.useChartNav({rootRef:ge,getNextChartItem:Oe,getNextNavGroup:$e,getDefaultNavGroup:Ze,touchResponse:et,onItemHover:K,onItemFocus:Q,drilling:L,xIndexExtent:Ge}),{tooltipContent:lt,tooltipProps:dt}=function({getTextAndBounds:e,width:t,isRtl:o}){const[s,i]=r.useState(),n=r.useRef(),{tooltipContent:a,tooltipProps:l}=T.useTooltip({text:s,position:"top-start",offset:w.calculateOffset(o,t,n.current)});return{tooltipContent:a,tooltipProps:p.mergeProps({onPointerMove:t=>{const o=e(t.target);o?(n.current=o.bounds,i(o.text)):i(void 0)}},l)}}({getTextAndBounds:e=>{if(e!=ge.current){const t=y.getElementData(ge,e),o=t?.ojText;if(!o)return;if(o===A?.title)return{text:o,bounds:we.titleProps?.dims};if(o===D?.title)return{text:o,bounds:ke.titleProps?.dims};if(t?.ojGroupIndex){const e=parseInt(t.ojGroupIndex);return{bounds:we.tickLabels[e].dims,text:o}}}if(e===ge.current&&nt.isFocusVisible){const e=F[nt.groupIndex];return{bounds:we.tickLabels[nt.groupIndex].dims,text:e.name||e.id}}},width:e,isRtl:ae}),{selectDrillProps:ut,selectionContent:ct}=f.useSelectDrill({selectionMode:U,selection:[...m],onChange:H,rootRef:ge,drilling:L,onItemDrill:_,onGroupDrill:J,focusedGroupInfo:nt,focusedItemInfo:st,groups:F,getDataItem:B,getDataById:e=>qe.get(e)}),xt=u.useChartViewport({rootRef:ge,width:e,height:s,xViewportExtent:Re,yViewportExtent:je,xAxisExtent:Ve,yAxisExtent:Ee,xScale:Te,yScale:Fe,plotAreaSpace:Le,isRtl:ae,isHoriz:fe,zoomAndScroll:Y,onViewportChange:$}),pt=ne(Te,Fe,Ne,He),gt=oe(Te,Fe,Ne,He),{datatipContent:ft,dataCursorContent:It,datatipProps:{"aria-describedby":ht,...mt}}=f.useChartDatatipAndCursor({series:R,groups:F,width:e,height:s,findNearest:pt,plotAreaSpace:Le,onDataCursorPositionChange:Z,isDataCursorEnabled:O,dataCursorPosition:q,dataCursorStyle:W,hoveredItemInfo:it,focusedItemInfo:st,getDataItem:B,getMarkerInfo:re,getDataItemPos:gt,datatip:X,valueFormats:ie,isHoriz:fe,touchResponse:et,isDisabled:"off"!=Ye,xScale:Te,yScale:Fe,timeAxisType:A?.timeAxisType}),Ct=l.useId(),{viewportMin:yt,viewportMax:St}=Re,{startIndex:vt,endIndex:bt}=Ge,At=t.jsx(a.Gridlines,{plotArea:M,yMinorTicks:Ue,xScale:Te,yScale:Fe,isLog:"log"===D?.scale,xViewportMin:yt,xViewportMax:St,yTicks:Be,yAxisPosition:he}),{contextMenuContent:Dt,contextMenuProps:Mt}=C.useChartContextMenu({series:R,groups:F,getDataItem:B,focusedItemInfo:st,rootRef:ge,xAxisTitle:A?.title,yAxisTitle:D?.title,contextMenuConfig:ce,onContextMenuDismissed:e=>{"keyboard"===e&&at()}}),Pt=p.mergeProps(rt,ut,xt,mt,Je,dt,Mt);return t.jsxs("div",{tabIndex:0,ref:ge,"aria-activedescendant":ot,"aria-label":xe["aria-label"],"aria-labelledby":xe["aria-labelledby"],"aria-describedby":j.merge([xe["aria-describedby"],ht]),style:{width:e,height:s,...tt},role:"application",className:o.styles.outline,...pe,...Pt,children:[t.jsxs("svg",{width:"100%",height:"100%",children:[t.jsx("clipPath",{id:`${Ct}`,children:t.jsx("rect",{...Le})}),t.jsx(a.PlotArea,{color:M?.color,yScale:Fe,cursor:_e,isLog:"log"===D?.scale,availSpace:Le,xAxisPosition:Ie}),!ue&&At,t.jsx(d.Axis,{...ke,axisPosition:he,isRtl:ae}),t.jsx(d.Axis,{...we,isRtl:ae,axisPosition:Ie,isTextInteractive:e=>{if(null!=A?.timeAxisType)return!1;const t=F[e].drilling;return"on"===t||"off"!=t&&("on"===L||"groupsOnly"===L)},activeId:ot,focusedGroupIndex:nt.isFocusVisible?nt.groupIndex:void 0}),t.jsxs("g",{"clip-path":`url(#${Ct})`,children:[le({xStartIndex:vt,xEndIndex:bt,colors:ye,xScale:Te,yScale:Fe,isPointInsideMarquee:Xe,defaultFontSize:me.labelFontSize,gapRatio:He,activeId:ot,focusedItemInfo:st,hoveredItemInfo:it,getTextDimensions:ve,groupWidth:Ne}),ue&&At,It]}),"live"===Y&&t.jsx(g.ScrollBar,{availSpace:De,isRtl:ae,viewport:Re,axisExtent:Ve,isHoriz:"bottom"===Ie}),Ke]}),Qe,Se,Ce,ft,lt,Dt,ct]})}e.Chart=function({width:e,height:i,...n}){return t.jsx(s.TrackResizeContainer,{width:e,height:i,class:o.dimensionStyle,children:(e,o)=>e||o?t.jsx(F,{width:e,height:o,...n}):void 0})}}));
2
+ //# sourceMappingURL=Chart-4796be31.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chart-0f54dae3.js","sources":["../../src/PRIVATE_Axis/utils/axisNavUtils.ts","../../src/PRIVATE_Chart/ChartWithDimensions.tsx","../../src/PRIVATE_VisSVGText/useTextTruncation.ts","../../src/PRIVATE_Chart/Chart.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { Group, ChartGroupInfo } from '../../utils/UNSAFE_visTypes/chart';\ntype isGroupNavigableType = (groupIndex: number) => boolean;\n\nexport function getNextGroup(\n info: ChartGroupInfo,\n viewportEndIndex: number,\n isGroupNavigable: isGroupNavigableType\n): ChartGroupInfo | undefined {\n const groupIndex = info.groupIndex + 1;\n if (groupIndex >= viewportEndIndex) {\n return;\n }\n\n if (isGroupNavigable(groupIndex)) {\n return { groupIndex };\n }\n return getNextGroup({ groupIndex }, viewportEndIndex, isGroupNavigable);\n}\n\nexport function getPreviousGroup(\n info: ChartGroupInfo,\n isGroupNavigable: isGroupNavigableType\n): ChartGroupInfo | undefined {\n const groupIndex = info.groupIndex - 1;\n if (groupIndex < 0) {\n return;\n }\n if (isGroupNavigable(groupIndex)) {\n return { groupIndex };\n }\n return getPreviousGroup({ groupIndex }, isGroupNavigable);\n}\n\nexport function getGroupNavUtil(\n groups: Group[],\n renderedGroups: number[],\n xIndexExtent: { startIndex: number; endIndex: number },\n drilling: 'on' | 'off' | 'groupsOnly',\n isRtl: boolean\n) {\n const isGroupNavigable = (groupIndex: number) => {\n const groupsDrilling = groups[renderedGroups[groupIndex]].drilling;\n return (drilling === 'on' || drilling === 'groupsOnly') && groupsDrilling != 'off';\n };\n\n const getDefaultNavGroup = (info: ChartGroupInfo) => {\n if (xIndexExtent.startIndex > renderedGroups[info.groupIndex]) {\n info.groupIndex = 0;\n return info;\n } else if (xIndexExtent.endIndex < renderedGroups[info.groupIndex]) {\n info.groupIndex = renderedGroups.length - 1;\n return info;\n }\n return;\n };\n\n const getNextNavGroup = (info: ChartGroupInfo, arrow: 'ArrowRight' | 'ArrowLeft') => {\n let nextGroup = getDefaultNavGroup(info);\n\n if (nextGroup) return nextGroup;\n\n if (arrow === 'ArrowRight') {\n nextGroup = isRtl\n ? getPreviousGroup(info, isGroupNavigable)\n : getNextGroup(info, renderedGroups.length, isGroupNavigable);\n } else {\n nextGroup = isRtl\n ? getNextGroup(info, renderedGroups.length, isGroupNavigable)\n : getPreviousGroup(info, isGroupNavigable);\n }\n return nextGroup || info;\n };\n\n return { getDefaultNavGroup, getNextNavGroup };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useTextDimensions } from '../hooks/PRIVATE_useTextDimensions';\nimport { useCssVars } from '../hooks/PRIVATE_useCssVars/useCssVars';\nimport { styles } from './themes/ChartStyles.css';\nimport { useRef } from 'preact/hooks';\nimport { PlotArea } from '../PRIVATE_PlotArea';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { Axis } from '../PRIVATE_Axis/Axis';\nimport { useChartViewport } from '../hooks/PRIVATE_useChartViewport';\nimport {\n getAvailSpace,\n getLayoutInfo,\n getScrollBarSpace,\n updateScrollBarSpace\n} from '../utils/PRIVATE_chartUtils/layoutUtils';\nimport { useChartNav } from '../hooks/PRIVATE_useChartNav/useChartNav';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { getAxesPosition } from '../PRIVATE_Axis/utils/axisUtils';\nimport { ScrollBar } from '../PRIVATE_ChartScrollBar';\nimport { useSelectDrill } from '../hooks/PRIVATE_useChartEvents/useSelectDrill';\nimport { useChartDatatipAndCursor } from '../hooks/PRIVATE_useChartEvents/useDatatipAndCursor';\nimport { getGroupNavUtil } from '../PRIVATE_Axis/utils/axisNavUtils';\nimport { ChartItemData, TimeAxisProps } from '../utils/UNSAFE_visTypes/chart';\nimport { Gridlines } from '../PRIVATE_PlotArea/Gridlines';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { useTestId } from '../hooks/UNSAFE_useTestId';\nimport { getChartVars } from '../utils/PRIVATE_chartUtils';\nimport { useChartContextMenu } from '#hooks/PRIVATE_useChartContextMenu';\nimport { getElementData } from '#utils/UNSAFE_visUtils';\nimport { useTextTruncation } from '#PRIVATE_VisSVGText/useTextTruncation';\nimport { useChartMarquee } from '#hooks/PRIVATE_useChartMarquee';\nimport { ChartProps } from './Chart';\nimport type { gestureTypes } from '#hooks/PRIVATE_useVisContextMenu';\nimport { useVisTouchResponse } from '#hooks/PRIVATE_useVisTouchResponse';\nimport { merge } from '#utils/UNSAFE_stringUtils';\n\ntype ChartWithDimensionsProps<K, D> = Omit<ChartProps<K, D>, 'width' | 'height'> & {\n width: number;\n height: number;\n};\n\nconst chartVars = getChartVars();\n\nexport function ChartWithDimensions<K extends string | number, D extends ChartItemData<K>>({\n width,\n height,\n selectedIds,\n hiddenIds,\n hideAndShowBehavior = 'none',\n orientation = 'vertical',\n xAxis,\n yAxis,\n plotArea,\n dragMode = 'user',\n series,\n groups,\n isStacked = false,\n getDataItem,\n selectionMode = 'none',\n drilling = 'off',\n dataCursorPosition,\n onSelectionChange,\n isDataCursorEnabled,\n dataCursorStyle,\n onViewportChange,\n onDataCursorPositionChange,\n onItemDrill,\n onGroupDrill,\n onItemHover,\n onItemFocus,\n datatip,\n zoomAndScroll = 'off',\n offset,\n getNavUtil,\n getDataItemPos,\n getGapRatio,\n valueFormats,\n findNearest,\n getMarkerInfo,\n isRtl,\n children,\n testId,\n renderGridLinesInFront,\n contextMenuConfig,\n ...props\n}: ChartWithDimensionsProps<K, D>) {\n const testIdProps = useTestId(testId);\n const rootRef = useRef<HTMLDivElement>(null);\n const isHoriz = orientation === 'horizontal';\n const { xAxisPosition, yAxisPosition } = getAxesPosition(yAxis, isHoriz, isRtl);\n const { resolvedVars, cssContent } = useCssVars(chartVars);\n const colors = Array.from(Array(12)).map((_, index) => {\n return resolvedVars[`color${index + 1}`];\n });\n const { textMeasureContent, getTextDimensions } = useTextDimensions();\n let availSpace = getAvailSpace(width, height);\n const updatedSpace = getScrollBarSpace(availSpace, zoomAndScroll, xAxisPosition);\n let scrollDims = updatedSpace.scrollDims;\n availSpace = updatedSpace.availSpace;\n const hiddenSet = new Set(hiddenIds);\n const { locale } = useUser();\n const {\n xProps,\n xScale,\n xViewportExtent,\n xAxisExtent,\n xIndexExtent,\n yViewportExtent,\n yAxisExtent,\n groupWidth,\n yProps,\n yScale,\n yMaxDim,\n yMajorTicks,\n yMinorTicks,\n plotAreaSpace,\n idToDataMap\n } = getLayoutInfo<K, D>(\n series,\n groups,\n getDataItem,\n xAxis,\n yAxis,\n availSpace,\n hiddenSet,\n hideAndShowBehavior,\n isHoriz,\n isRtl,\n isStacked,\n resolvedVars['labelFontSize'],\n offset,\n locale,\n getTextDimensions\n );\n\n scrollDims = updateScrollBarSpace(scrollDims, xAxisPosition === 'bottom', isRtl, yMaxDim);\n\n const gapRatio = getGapRatio(xIndexExtent.startIndex, xIndexExtent.endIndex);\n\n const getNextChartItem = getNavUtil(xIndexExtent.startIndex, xIndexExtent.endIndex);\n\n const renderedGroupsIndex = xProps.tickLabels.map(({ index }) => index + xIndexExtent.startIndex);\n const { getNextNavGroup, getDefaultNavGroup } = getGroupNavUtil(\n groups,\n renderedGroupsIndex,\n xIndexExtent,\n drilling,\n isRtl\n );\n\n const {\n cursor,\n marqueeProps,\n marqueeContent,\n toggleButtonContent,\n isPointInsideMarquee,\n dragMode: mode\n } = useChartMarquee<K, D>({\n plotAreaSpace,\n dragMode,\n chartWidth: width,\n isMultiSelection: selectionMode === 'multiple',\n onViewportChange,\n isZoomScroll: zoomAndScroll === 'live',\n xAxisExtent,\n xScale,\n selectedIds,\n getDataById: (id) => idToDataMap.get(id),\n onSelectionChange,\n viewportMax: xViewportExtent.viewportMax,\n viewportMin: xViewportExtent.viewportMin,\n isRtl\n });\n\n const { touchResponse, touchResponseStyle } = useVisTouchResponse({\n type: 'auto',\n supportsTouchDragGestures: mode !== 'off',\n rootRef\n });\n\n const { activeId, focusedItemInfo, hoveredItemInfo, focusedGroupInfo, navProps, onFocusUpdate } =\n useChartNav({\n rootRef,\n getNextChartItem,\n getNextNavGroup,\n getDefaultNavGroup,\n touchResponse,\n onItemHover,\n onItemFocus,\n drilling,\n xIndexExtent\n });\n\n const onContextMenuDismissed = (gesture: gestureTypes) => {\n if (gesture === 'keyboard') {\n onFocusUpdate();\n }\n };\n\n const getTextAndBounds = (target: EventTarget | null) => {\n if (target != rootRef.current) {\n const dataSet = getElementData(rootRef, target as HTMLElement);\n const text = dataSet?.['ojText']!;\n\n if (!text) {\n return;\n }\n\n if (text === xAxis?.title) {\n return {\n text,\n bounds: xProps.titleProps?.dims\n };\n } else if (text === yAxis?.title) {\n return {\n text,\n bounds: yProps.titleProps?.dims\n };\n } else if (dataSet?.['ojGroupIndex']) {\n const index = parseInt(dataSet['ojGroupIndex']);\n return {\n bounds: xProps.tickLabels[index].dims,\n text: text!\n };\n }\n }\n\n if (target === rootRef.current && focusedGroupInfo.isFocusVisible) {\n const group = groups[focusedGroupInfo.groupIndex];\n return {\n bounds: xProps.tickLabels[focusedGroupInfo.groupIndex].dims,\n text: group.name || group.id\n };\n }\n return;\n };\n\n const { tooltipContent, tooltipProps } = useTextTruncation({\n getTextAndBounds,\n width,\n isRtl\n });\n\n const { selectDrillProps, selectionContent } = useSelectDrill<K, D>({\n selectionMode,\n selection: [...selectedIds],\n onChange: onSelectionChange,\n rootRef,\n drilling,\n onItemDrill,\n onGroupDrill,\n focusedGroupInfo,\n focusedItemInfo,\n groups,\n getDataItem,\n getDataById: (id) => idToDataMap.get(id)\n });\n\n const viewportProps = useChartViewport({\n rootRef,\n width,\n height,\n xViewportExtent,\n yViewportExtent,\n xAxisExtent,\n yAxisExtent,\n xScale,\n yScale,\n plotAreaSpace,\n isRtl,\n isHoriz,\n zoomAndScroll,\n onViewportChange\n });\n\n const findNearestData = findNearest(xScale as any, yScale, groupWidth, gapRatio);\n const getDataItemPosition = getDataItemPos(xScale as any, yScale, groupWidth, gapRatio);\n\n const {\n datatipContent,\n dataCursorContent,\n datatipProps: { 'aria-describedby': datatipAriaDescribedby, ...datatipProps }\n } = useChartDatatipAndCursor<K, D>({\n series,\n groups,\n width,\n height,\n findNearest: findNearestData,\n plotAreaSpace,\n onDataCursorPositionChange,\n isDataCursorEnabled,\n dataCursorPosition,\n dataCursorStyle,\n hoveredItemInfo,\n focusedItemInfo,\n getDataItem,\n getMarkerInfo,\n getDataItemPos: getDataItemPosition,\n datatip,\n valueFormats,\n isHoriz,\n touchResponse,\n isDisabled: mode != 'off',\n xScale: xScale as any,\n yScale,\n timeAxisType: (xAxis as TimeAxisProps)?.timeAxisType\n });\n\n const isGroupInteractive = (index: number) => {\n if ((xAxis as TimeAxisProps)?.timeAxisType != null) {\n return false;\n }\n const groupDrill = groups[index].drilling;\n if (groupDrill === 'on') {\n return true;\n }\n\n if (groupDrill != 'off' && (drilling === 'on' || drilling === 'groupsOnly')) {\n return true;\n }\n return false;\n };\n\n const plotAreaClipPathId = useId();\n const { viewportMin: xViewportMin, viewportMax: xViewportMax } = xViewportExtent;\n const { startIndex: xStartIndex, endIndex: xEndIndex } = xIndexExtent;\n const gridLines = (\n <Gridlines\n plotArea={plotArea}\n yMinorTicks={yMinorTicks}\n xScale={xScale}\n yScale={yScale}\n isLog={yAxis?.scale === 'log'}\n xViewportMin={xViewportMin}\n xViewportMax={xViewportMax}\n yTicks={yMajorTicks}\n yAxisPosition={yAxisPosition}\n />\n );\n const { contextMenuContent, contextMenuProps } = useChartContextMenu<K, D>({\n series,\n groups,\n getDataItem,\n focusedItemInfo,\n rootRef,\n xAxisTitle: xAxis?.title,\n yAxisTitle: yAxis?.title,\n contextMenuConfig,\n onContextMenuDismissed\n });\n\n const eventsProps = mergeProps(\n navProps,\n selectDrillProps,\n viewportProps,\n datatipProps,\n marqueeProps,\n tooltipProps,\n contextMenuProps\n );\n\n return (\n <div\n tabIndex={0}\n ref={rootRef}\n aria-activedescendant={activeId}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n aria-describedby={merge([props['aria-describedby'], datatipAriaDescribedby])}\n style={{ width, height, ...touchResponseStyle }}\n role=\"application\"\n className={styles.outline}\n {...testIdProps}\n {...eventsProps}>\n <svg width=\"100%\" height=\"100%\">\n <clipPath id={`${plotAreaClipPathId}`}>\n <rect {...plotAreaSpace}></rect>\n </clipPath>\n <PlotArea\n color={plotArea?.color}\n yScale={yScale}\n cursor={cursor}\n isLog={yAxis?.scale === 'log'}\n availSpace={plotAreaSpace}\n xAxisPosition={xAxisPosition}\n />\n {!renderGridLinesInFront && gridLines}\n <Axis {...(yProps as any)} axisPosition={yAxisPosition} isRtl={isRtl} />\n <Axis\n {...xProps}\n isRtl={isRtl}\n axisPosition={xAxisPosition}\n isTextInteractive={isGroupInteractive}\n activeId={activeId}\n focusedGroupIndex={\n focusedGroupInfo.isFocusVisible ? focusedGroupInfo.groupIndex : undefined\n }\n />\n <g clip-path={`url(#${plotAreaClipPathId})`}>\n {children({\n xStartIndex,\n xEndIndex,\n colors,\n xScale: xScale as any,\n yScale,\n isPointInsideMarquee,\n defaultFontSize: resolvedVars['labelFontSize'],\n gapRatio,\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n getTextDimensions,\n groupWidth\n })}\n {renderGridLinesInFront && gridLines}\n {dataCursorContent}\n </g>\n {zoomAndScroll === 'live' && (\n <ScrollBar\n availSpace={scrollDims}\n isRtl={isRtl}\n viewport={xViewportExtent}\n axisExtent={xAxisExtent}\n isHoriz={xAxisPosition === 'bottom'}\n />\n )}\n {marqueeContent}\n </svg>\n {toggleButtonContent}\n {textMeasureContent}\n {cssContent}\n {datatipContent}\n {tooltipContent}\n {contextMenuContent}\n {selectionContent}\n </div>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\nimport { calculateOffset } from '#hooks/PRIVATE_useDatatip';\nimport { useTooltip } from '#hooks/UNSAFE_useTooltip';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { useRef, useState } from 'preact/hooks';\n\ntype Props = {\n getTextAndBounds: (target: EventTarget | null) =>\n | {\n text?: string;\n bounds?: Dimension;\n }\n | undefined;\n isRtl: boolean;\n width: number;\n};\n\nexport function useTextTruncation({ getTextAndBounds, width, isRtl }: Props) {\n const [text, setText] = useState<string>();\n const bounds = useRef<Dimension>();\n\n const { tooltipContent, tooltipProps } = useTooltip({\n text,\n position: 'top-start',\n offset: calculateOffset(isRtl, width, bounds.current)\n });\n\n const onPointerMove = (event: Event) => {\n const textAndBounds = getTextAndBounds(event.target);\n\n if (textAndBounds) {\n bounds.current = textAndBounds.bounds;\n setText(textAndBounds.text);\n } else {\n setText(undefined);\n }\n };\n\n return {\n tooltipContent,\n tooltipProps: mergeProps({ onPointerMove }, tooltipProps)\n };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { dimensionStyle } from './themes/ChartStyles.css';\nimport { TrackResizeContainer } from '../PRIVATE_TrackResizeContainer';\nimport { ChartWithDimensions } from './ChartWithDimensions';\nimport {\n ChartItemData,\n ChartCommonProps,\n ChartSeriesData,\n GetNextChartItemType,\n Info,\n Scale,\n getDataPosType\n} from '../utils/UNSAFE_visTypes/chart';\nimport { Dimension, MarkerShapes } from '#utils/UNSAFE_visTypes/common';\nimport { VNode } from 'preact';\nimport { Property } from 'csstype';\n\nexport type ChartProps<K, D> = {\n selectedIds: Set<K>;\n getGapRatio: (startIndex: number, endIndex: number) => number;\n getNavUtil: (startIndex: number, endIndex: number) => GetNextChartItemType;\n getDataItemPos: (\n xScale: Scale,\n yScale: Scale,\n groupWidth: number,\n gapRatio: number\n ) => getDataPosType;\n findNearest: (\n xScale: Scale,\n yScale: Scale,\n groupWidth: number,\n gapRatio: number\n ) => (\n x: number,\n y: number\n ) =>\n | {\n seriesIndex: number;\n groupIndex: number;\n y: number | undefined;\n x: number;\n }\n | undefined;\n children: (context: {\n xStartIndex: number;\n xEndIndex: number;\n xScale: Scale;\n yScale: Scale;\n gapRatio: number;\n activeId?: string;\n focusedItemInfo: Info;\n hoveredItemInfo?: Info;\n groupWidth: number;\n isPointInsideMarquee: ((id: K, point: { x: number; y: number }) => boolean) | undefined;\n getTextDimensions?: (text: string, style: Record<string, any>) => Dimension;\n defaultFontSize: string;\n colors: string[];\n }) => VNode;\n offset: number;\n series: ChartSeriesData<K, D>[];\n isRtl: boolean;\n renderGridLinesInFront: boolean;\n getMarkerInfo: (\n seriesIndex: number,\n groupIndex: number\n ) => { color: Property.Color | undefined; type?: MarkerShapes };\n} & Omit<ChartCommonProps<K, D>, 'highlightedIds' | 'hoverBehavior' | 'selectedIds'>;\n\nexport function Chart<K extends string | number, D extends ChartItemData<K>>({\n width,\n height,\n ...props\n}: ChartProps<K, D>) {\n // TODO: reevaluate how we handle empty data\n return (\n <TrackResizeContainer width={width} height={height} class={dimensionStyle}>\n {(width, height) =>\n width || height ? (\n <ChartWithDimensions width={width} height={height} {...props} />\n ) : undefined\n }\n </TrackResizeContainer>\n );\n}\n"],"names":["getNextGroup","info","viewportEndIndex","isGroupNavigable","groupIndex","getPreviousGroup","chartVars","getChartVars","ChartWithDimensions","width","height","selectedIds","hiddenIds","hideAndShowBehavior","orientation","xAxis","yAxis","plotArea","dragMode","series","groups","isStacked","getDataItem","selectionMode","drilling","dataCursorPosition","onSelectionChange","isDataCursorEnabled","dataCursorStyle","onViewportChange","onDataCursorPositionChange","onItemDrill","onGroupDrill","onItemHover","onItemFocus","datatip","zoomAndScroll","offset","getNavUtil","getDataItemPos","getGapRatio","valueFormats","findNearest","getMarkerInfo","isRtl","children","testId","renderGridLinesInFront","contextMenuConfig","props","testIdProps","useTestId","rootRef","useRef","isHoriz","xAxisPosition","yAxisPosition","getAxesPosition","resolvedVars","cssContent","useCssVars","colors","Array","from","map","_","index","textMeasureContent","getTextDimensions","useTextDimensions","availSpace","getAvailSpace","updatedSpace","getScrollBarSpace","scrollDims","hiddenSet","Set","locale","useUser","xProps","xScale","xViewportExtent","xAxisExtent","xIndexExtent","yViewportExtent","yAxisExtent","groupWidth","yProps","yScale","yMaxDim","yMajorTicks","yMinorTicks","plotAreaSpace","idToDataMap","getLayoutInfo","updateScrollBarSpace","gapRatio","startIndex","endIndex","getNextChartItem","renderedGroupsIndex","tickLabels","getNextNavGroup","getDefaultNavGroup","renderedGroups","groupsDrilling","length","arrow","nextGroup","getGroupNavUtil","cursor","marqueeProps","marqueeContent","toggleButtonContent","isPointInsideMarquee","mode","useChartMarquee","chartWidth","isMultiSelection","isZoomScroll","getDataById","id","get","viewportMax","viewportMin","touchResponse","touchResponseStyle","useVisTouchResponse","type","supportsTouchDragGestures","activeId","focusedItemInfo","hoveredItemInfo","focusedGroupInfo","navProps","onFocusUpdate","useChartNav","tooltipContent","tooltipProps","getTextAndBounds","text","setText","useState","bounds","useTooltip","position","calculateOffset","current","mergeProps","onPointerMove","event","textAndBounds","target","undefined","useTextTruncation","dataSet","getElementData","title","titleProps","dims","parseInt","isFocusVisible","group","name","selectDrillProps","selectionContent","useSelectDrill","selection","onChange","viewportProps","useChartViewport","findNearestData","getDataItemPosition","datatipContent","dataCursorContent","datatipProps","datatipAriaDescribedby","useChartDatatipAndCursor","isDisabled","timeAxisType","plotAreaClipPathId","useId","xViewportMin","xViewportMax","xStartIndex","xEndIndex","gridLines","_jsx","Gridlines","isLog","scale","yTicks","contextMenuContent","contextMenuProps","useChartContextMenu","xAxisTitle","yAxisTitle","onContextMenuDismissed","gesture","eventsProps","_jsxs","jsxs","tabIndex","ref","merge","style","role","className","styles","outline","jsx","PlotArea","color","Axis","axisPosition","isTextInteractive","groupDrill","focusedGroupIndex","defaultFontSize","ScrollBar","viewport","axisExtent","TrackResizeContainer","class","dimensionStyle"],"mappings":"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"}
1
+ {"version":3,"file":"Chart-4796be31.js","sources":["../../src/PRIVATE_Axis/utils/axisNavUtils.ts","../../src/PRIVATE_Chart/ChartWithDimensions.tsx","../../src/PRIVATE_VisSVGText/useTextTruncation.ts","../../src/PRIVATE_Chart/Chart.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { Group, ChartGroupInfo } from '../../utils/UNSAFE_visTypes/chart';\ntype isGroupNavigableType = (groupIndex: number) => boolean;\n\nexport function getNextGroup(\n info: ChartGroupInfo,\n viewportEndIndex: number,\n isGroupNavigable: isGroupNavigableType\n): ChartGroupInfo | undefined {\n const groupIndex = info.groupIndex + 1;\n if (groupIndex >= viewportEndIndex) {\n return;\n }\n\n if (isGroupNavigable(groupIndex)) {\n return { groupIndex };\n }\n return getNextGroup({ groupIndex }, viewportEndIndex, isGroupNavigable);\n}\n\nexport function getPreviousGroup(\n info: ChartGroupInfo,\n isGroupNavigable: isGroupNavigableType\n): ChartGroupInfo | undefined {\n const groupIndex = info.groupIndex - 1;\n if (groupIndex < 0) {\n return;\n }\n if (isGroupNavigable(groupIndex)) {\n return { groupIndex };\n }\n return getPreviousGroup({ groupIndex }, isGroupNavigable);\n}\n\nexport function getGroupNavUtil(\n groups: Group[],\n renderedGroups: number[],\n xIndexExtent: { startIndex: number; endIndex: number },\n drilling: 'on' | 'off' | 'groupsOnly',\n isRtl: boolean\n) {\n const isGroupNavigable = (groupIndex: number) => {\n const groupsDrilling = groups[renderedGroups[groupIndex]].drilling;\n return (drilling === 'on' || drilling === 'groupsOnly') && groupsDrilling != 'off';\n };\n\n const getDefaultNavGroup = (info: ChartGroupInfo) => {\n if (xIndexExtent.startIndex > renderedGroups[info.groupIndex]) {\n info.groupIndex = 0;\n return info;\n } else if (xIndexExtent.endIndex < renderedGroups[info.groupIndex]) {\n info.groupIndex = renderedGroups.length - 1;\n return info;\n }\n return;\n };\n\n const getNextNavGroup = (info: ChartGroupInfo, arrow: 'ArrowRight' | 'ArrowLeft') => {\n let nextGroup = getDefaultNavGroup(info);\n\n if (nextGroup) return nextGroup;\n\n if (arrow === 'ArrowRight') {\n nextGroup = isRtl\n ? getPreviousGroup(info, isGroupNavigable)\n : getNextGroup(info, renderedGroups.length, isGroupNavigable);\n } else {\n nextGroup = isRtl\n ? getNextGroup(info, renderedGroups.length, isGroupNavigable)\n : getPreviousGroup(info, isGroupNavigable);\n }\n return nextGroup || info;\n };\n\n return { getDefaultNavGroup, getNextNavGroup };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useTextDimensions } from '../hooks/PRIVATE_useTextDimensions';\nimport { useCssVars } from '../hooks/PRIVATE_useCssVars/useCssVars';\nimport { styles } from './themes/ChartStyles.css';\nimport { useRef } from 'preact/hooks';\nimport { PlotArea } from '../PRIVATE_PlotArea';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { Axis } from '../PRIVATE_Axis/Axis';\nimport { useChartViewport } from '../hooks/PRIVATE_useChartViewport';\nimport {\n getAvailSpace,\n getLayoutInfo,\n getScrollBarSpace,\n updateScrollBarSpace\n} from '../utils/PRIVATE_chartUtils/layoutUtils';\nimport { useChartNav } from '../hooks/PRIVATE_useChartNav/useChartNav';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { getAxesPosition } from '../PRIVATE_Axis/utils/axisUtils';\nimport { ScrollBar } from '../PRIVATE_ChartScrollBar';\nimport { useSelectDrill } from '../hooks/PRIVATE_useChartEvents/useSelectDrill';\nimport { useChartDatatipAndCursor } from '../hooks/PRIVATE_useChartEvents/useDatatipAndCursor';\nimport { getGroupNavUtil } from '../PRIVATE_Axis/utils/axisNavUtils';\nimport { ChartItemData, TimeAxisProps } from '../utils/UNSAFE_visTypes/chart';\nimport { Gridlines } from '../PRIVATE_PlotArea/Gridlines';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { useTestId } from '../hooks/UNSAFE_useTestId';\nimport { getChartVars } from '../utils/PRIVATE_chartUtils';\nimport { useChartContextMenu } from '#hooks/PRIVATE_useChartContextMenu';\nimport { getElementData } from '#utils/UNSAFE_visUtils';\nimport { useTextTruncation } from '#PRIVATE_VisSVGText/useTextTruncation';\nimport { useChartMarquee } from '#hooks/PRIVATE_useChartMarquee';\nimport { ChartProps } from './Chart';\nimport type { gestureTypes } from '#hooks/PRIVATE_useVisContextMenu';\nimport { useVisTouchResponse } from '#hooks/PRIVATE_useVisTouchResponse';\nimport { merge } from '#utils/UNSAFE_stringUtils';\n\ntype ChartWithDimensionsProps<K, D> = Omit<ChartProps<K, D>, 'width' | 'height'> & {\n width: number;\n height: number;\n};\n\nconst chartVars = getChartVars();\n\nexport function ChartWithDimensions<K extends string | number, D extends ChartItemData<K>>({\n width,\n height,\n selectedIds,\n hiddenIds,\n hideAndShowBehavior = 'none',\n orientation = 'vertical',\n xAxis,\n yAxis,\n plotArea,\n dragMode = 'user',\n series,\n groups,\n isStacked = false,\n getDataItem,\n selectionMode = 'none',\n drilling = 'off',\n dataCursorPosition,\n onSelectionChange,\n isDataCursorEnabled,\n dataCursorStyle,\n onViewportChange,\n onDataCursorPositionChange,\n onItemDrill,\n onGroupDrill,\n onItemHover,\n onItemFocus,\n datatip,\n zoomAndScroll = 'off',\n offset,\n getNavUtil,\n getDataItemPos,\n getGapRatio,\n valueFormats,\n findNearest,\n getMarkerInfo,\n isRtl,\n children,\n testId,\n renderGridLinesInFront,\n contextMenuConfig,\n ...props\n}: ChartWithDimensionsProps<K, D>) {\n const testIdProps = useTestId(testId);\n const rootRef = useRef<HTMLDivElement>(null);\n const isHoriz = orientation === 'horizontal';\n const { xAxisPosition, yAxisPosition } = getAxesPosition(yAxis, isHoriz, isRtl);\n const { resolvedVars, cssContent } = useCssVars(chartVars);\n const colors = Array.from(Array(12)).map((_, index) => {\n return resolvedVars[`color${index + 1}`];\n });\n const { textMeasureContent, getTextDimensions } = useTextDimensions();\n let availSpace = getAvailSpace(width, height);\n const updatedSpace = getScrollBarSpace(availSpace, zoomAndScroll, xAxisPosition);\n let scrollDims = updatedSpace.scrollDims;\n availSpace = updatedSpace.availSpace;\n const hiddenSet = new Set(hiddenIds);\n const { locale } = useUser();\n const {\n xProps,\n xScale,\n xViewportExtent,\n xAxisExtent,\n xIndexExtent,\n yViewportExtent,\n yAxisExtent,\n groupWidth,\n yProps,\n yScale,\n yMaxDim,\n yMajorTicks,\n yMinorTicks,\n plotAreaSpace,\n idToDataMap\n } = getLayoutInfo<K, D>(\n series,\n groups,\n getDataItem,\n xAxis,\n yAxis,\n availSpace,\n hiddenSet,\n hideAndShowBehavior,\n isHoriz,\n isRtl,\n isStacked,\n resolvedVars['labelFontSize'],\n offset,\n locale,\n getTextDimensions\n );\n\n scrollDims = updateScrollBarSpace(scrollDims, xAxisPosition === 'bottom', isRtl, yMaxDim);\n\n const gapRatio = getGapRatio(xIndexExtent.startIndex, xIndexExtent.endIndex);\n\n const getNextChartItem = getNavUtil(xIndexExtent.startIndex, xIndexExtent.endIndex);\n\n const renderedGroupsIndex = xProps.tickLabels.map(({ index }) => index + xIndexExtent.startIndex);\n const { getNextNavGroup, getDefaultNavGroup } = getGroupNavUtil(\n groups,\n renderedGroupsIndex,\n xIndexExtent,\n drilling,\n isRtl\n );\n\n const {\n cursor,\n marqueeProps,\n marqueeContent,\n toggleButtonContent,\n isPointInsideMarquee,\n dragMode: mode\n } = useChartMarquee<K, D>({\n plotAreaSpace,\n dragMode,\n chartWidth: width,\n isMultiSelection: selectionMode === 'multiple',\n onViewportChange,\n isZoomScroll: zoomAndScroll === 'live',\n xAxisExtent,\n xScale,\n selectedIds,\n getDataById: (id) => idToDataMap.get(id),\n onSelectionChange,\n viewportMax: xViewportExtent.viewportMax,\n viewportMin: xViewportExtent.viewportMin,\n isRtl\n });\n\n const { touchResponse, touchResponseStyle } = useVisTouchResponse({\n type: 'auto',\n supportsTouchDragGestures: mode !== 'off',\n rootRef\n });\n\n const { activeId, focusedItemInfo, hoveredItemInfo, focusedGroupInfo, navProps, onFocusUpdate } =\n useChartNav({\n rootRef,\n getNextChartItem,\n getNextNavGroup,\n getDefaultNavGroup,\n touchResponse,\n onItemHover,\n onItemFocus,\n drilling,\n xIndexExtent\n });\n\n const onContextMenuDismissed = (gesture: gestureTypes) => {\n if (gesture === 'keyboard') {\n onFocusUpdate();\n }\n };\n\n const getTextAndBounds = (target: EventTarget | null) => {\n if (target != rootRef.current) {\n const dataSet = getElementData(rootRef, target as HTMLElement);\n const text = dataSet?.['ojText']!;\n\n if (!text) {\n return;\n }\n\n if (text === xAxis?.title) {\n return {\n text,\n bounds: xProps.titleProps?.dims\n };\n } else if (text === yAxis?.title) {\n return {\n text,\n bounds: yProps.titleProps?.dims\n };\n } else if (dataSet?.['ojGroupIndex']) {\n const index = parseInt(dataSet['ojGroupIndex']);\n return {\n bounds: xProps.tickLabels[index].dims,\n text: text!\n };\n }\n }\n\n if (target === rootRef.current && focusedGroupInfo.isFocusVisible) {\n const group = groups[focusedGroupInfo.groupIndex];\n return {\n bounds: xProps.tickLabels[focusedGroupInfo.groupIndex].dims,\n text: group.name || group.id\n };\n }\n return;\n };\n\n const { tooltipContent, tooltipProps } = useTextTruncation({\n getTextAndBounds,\n width,\n isRtl\n });\n\n const { selectDrillProps, selectionContent } = useSelectDrill<K, D>({\n selectionMode,\n selection: [...selectedIds],\n onChange: onSelectionChange,\n rootRef,\n drilling,\n onItemDrill,\n onGroupDrill,\n focusedGroupInfo,\n focusedItemInfo,\n groups,\n getDataItem,\n getDataById: (id) => idToDataMap.get(id)\n });\n\n const viewportProps = useChartViewport({\n rootRef,\n width,\n height,\n xViewportExtent,\n yViewportExtent,\n xAxisExtent,\n yAxisExtent,\n xScale,\n yScale,\n plotAreaSpace,\n isRtl,\n isHoriz,\n zoomAndScroll,\n onViewportChange\n });\n\n const findNearestData = findNearest(xScale as any, yScale, groupWidth, gapRatio);\n const getDataItemPosition = getDataItemPos(xScale as any, yScale, groupWidth, gapRatio);\n\n const {\n datatipContent,\n dataCursorContent,\n datatipProps: { 'aria-describedby': datatipAriaDescribedby, ...datatipProps }\n } = useChartDatatipAndCursor<K, D>({\n series,\n groups,\n width,\n height,\n findNearest: findNearestData,\n plotAreaSpace,\n onDataCursorPositionChange,\n isDataCursorEnabled,\n dataCursorPosition,\n dataCursorStyle,\n hoveredItemInfo,\n focusedItemInfo,\n getDataItem,\n getMarkerInfo,\n getDataItemPos: getDataItemPosition,\n datatip,\n valueFormats,\n isHoriz,\n touchResponse,\n isDisabled: mode != 'off',\n xScale: xScale as any,\n yScale,\n timeAxisType: (xAxis as TimeAxisProps)?.timeAxisType\n });\n\n const isGroupInteractive = (index: number) => {\n if ((xAxis as TimeAxisProps)?.timeAxisType != null) {\n return false;\n }\n const groupDrill = groups[index].drilling;\n if (groupDrill === 'on') {\n return true;\n }\n\n if (groupDrill != 'off' && (drilling === 'on' || drilling === 'groupsOnly')) {\n return true;\n }\n return false;\n };\n\n const plotAreaClipPathId = useId();\n const { viewportMin: xViewportMin, viewportMax: xViewportMax } = xViewportExtent;\n const { startIndex: xStartIndex, endIndex: xEndIndex } = xIndexExtent;\n const gridLines = (\n <Gridlines\n plotArea={plotArea}\n yMinorTicks={yMinorTicks}\n xScale={xScale}\n yScale={yScale}\n isLog={yAxis?.scale === 'log'}\n xViewportMin={xViewportMin}\n xViewportMax={xViewportMax}\n yTicks={yMajorTicks}\n yAxisPosition={yAxisPosition}\n />\n );\n const { contextMenuContent, contextMenuProps } = useChartContextMenu<K, D>({\n series,\n groups,\n getDataItem,\n focusedItemInfo,\n rootRef,\n xAxisTitle: xAxis?.title,\n yAxisTitle: yAxis?.title,\n contextMenuConfig,\n onContextMenuDismissed\n });\n\n const eventsProps = mergeProps(\n navProps,\n selectDrillProps,\n viewportProps,\n datatipProps,\n marqueeProps,\n tooltipProps,\n contextMenuProps\n );\n\n return (\n <div\n tabIndex={0}\n ref={rootRef}\n aria-activedescendant={activeId}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n aria-describedby={merge([props['aria-describedby'], datatipAriaDescribedby])}\n style={{ width, height, ...touchResponseStyle }}\n role=\"application\"\n className={styles.outline}\n {...testIdProps}\n {...eventsProps}>\n <svg width=\"100%\" height=\"100%\">\n <clipPath id={`${plotAreaClipPathId}`}>\n <rect {...plotAreaSpace}></rect>\n </clipPath>\n <PlotArea\n color={plotArea?.color}\n yScale={yScale}\n cursor={cursor}\n isLog={yAxis?.scale === 'log'}\n availSpace={plotAreaSpace}\n xAxisPosition={xAxisPosition}\n />\n {!renderGridLinesInFront && gridLines}\n <Axis {...(yProps as any)} axisPosition={yAxisPosition} isRtl={isRtl} />\n <Axis\n {...xProps}\n isRtl={isRtl}\n axisPosition={xAxisPosition}\n isTextInteractive={isGroupInteractive}\n activeId={activeId}\n focusedGroupIndex={\n focusedGroupInfo.isFocusVisible ? focusedGroupInfo.groupIndex : undefined\n }\n />\n <g clip-path={`url(#${plotAreaClipPathId})`}>\n {children({\n xStartIndex,\n xEndIndex,\n colors,\n xScale: xScale as any,\n yScale,\n isPointInsideMarquee,\n defaultFontSize: resolvedVars['labelFontSize'],\n gapRatio,\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n getTextDimensions,\n groupWidth\n })}\n {renderGridLinesInFront && gridLines}\n {dataCursorContent}\n </g>\n {zoomAndScroll === 'live' && (\n <ScrollBar\n availSpace={scrollDims}\n isRtl={isRtl}\n viewport={xViewportExtent}\n axisExtent={xAxisExtent}\n isHoriz={xAxisPosition === 'bottom'}\n />\n )}\n {marqueeContent}\n </svg>\n {toggleButtonContent}\n {textMeasureContent}\n {cssContent}\n {datatipContent}\n {tooltipContent}\n {contextMenuContent}\n {selectionContent}\n </div>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\nimport { calculateOffset } from '#hooks/PRIVATE_useDatatip';\nimport { useTooltip } from '#hooks/UNSAFE_useTooltip';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { useRef, useState } from 'preact/hooks';\n\ntype Props = {\n getTextAndBounds: (target: EventTarget | null) =>\n | {\n text?: string;\n bounds?: Dimension;\n }\n | undefined;\n isRtl: boolean;\n width: number;\n};\n\nexport function useTextTruncation({ getTextAndBounds, width, isRtl }: Props) {\n const [text, setText] = useState<string>();\n const bounds = useRef<Dimension>();\n\n const { tooltipContent, tooltipProps } = useTooltip({\n text,\n position: 'top-start',\n offset: calculateOffset(isRtl, width, bounds.current)\n });\n\n const onPointerMove = (event: Event) => {\n const textAndBounds = getTextAndBounds(event.target);\n\n if (textAndBounds) {\n bounds.current = textAndBounds.bounds;\n setText(textAndBounds.text);\n } else {\n setText(undefined);\n }\n };\n\n return {\n tooltipContent,\n tooltipProps: mergeProps({ onPointerMove }, tooltipProps)\n };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { dimensionStyle } from './themes/ChartStyles.css';\nimport { TrackResizeContainer } from '../PRIVATE_TrackResizeContainer';\nimport { ChartWithDimensions } from './ChartWithDimensions';\nimport {\n ChartItemData,\n ChartCommonProps,\n ChartSeriesData,\n GetNextChartItemType,\n Info,\n Scale,\n getDataPosType\n} from '../utils/UNSAFE_visTypes/chart';\nimport { Dimension, MarkerShapes } from '#utils/UNSAFE_visTypes/common';\nimport { VNode } from 'preact';\nimport { Property } from 'csstype';\n\nexport type ChartProps<K, D> = {\n selectedIds: Set<K>;\n getGapRatio: (startIndex: number, endIndex: number) => number;\n getNavUtil: (startIndex: number, endIndex: number) => GetNextChartItemType;\n getDataItemPos: (\n xScale: Scale,\n yScale: Scale,\n groupWidth: number,\n gapRatio: number\n ) => getDataPosType;\n findNearest: (\n xScale: Scale,\n yScale: Scale,\n groupWidth: number,\n gapRatio: number\n ) => (\n x: number,\n y: number\n ) =>\n | {\n seriesIndex: number;\n groupIndex: number;\n y: number | undefined;\n x: number;\n }\n | undefined;\n children: (context: {\n xStartIndex: number;\n xEndIndex: number;\n xScale: Scale;\n yScale: Scale;\n gapRatio: number;\n activeId?: string;\n focusedItemInfo: Info;\n hoveredItemInfo?: Info;\n groupWidth: number;\n isPointInsideMarquee: ((id: K, point: { x: number; y: number }) => boolean) | undefined;\n getTextDimensions?: (text: string, style: Record<string, any>) => Dimension;\n defaultFontSize: string;\n colors: string[];\n }) => VNode;\n offset: number;\n series: ChartSeriesData<K, D>[];\n isRtl: boolean;\n renderGridLinesInFront: boolean;\n getMarkerInfo: (\n seriesIndex: number,\n groupIndex: number\n ) => { color: Property.Color | undefined; type?: MarkerShapes };\n} & Omit<ChartCommonProps<K, D>, 'highlightedIds' | 'hoverBehavior' | 'selectedIds'>;\n\nexport function Chart<K extends string | number, D extends ChartItemData<K>>({\n width,\n height,\n ...props\n}: ChartProps<K, D>) {\n // TODO: reevaluate how we handle empty data\n return (\n <TrackResizeContainer width={width} height={height} class={dimensionStyle}>\n {(width, height) =>\n width || height ? (\n <ChartWithDimensions width={width} height={height} {...props} />\n ) : undefined\n }\n </TrackResizeContainer>\n );\n}\n"],"names":["getNextGroup","info","viewportEndIndex","isGroupNavigable","groupIndex","getPreviousGroup","chartVars","getChartVars","ChartWithDimensions","width","height","selectedIds","hiddenIds","hideAndShowBehavior","orientation","xAxis","yAxis","plotArea","dragMode","series","groups","isStacked","getDataItem","selectionMode","drilling","dataCursorPosition","onSelectionChange","isDataCursorEnabled","dataCursorStyle","onViewportChange","onDataCursorPositionChange","onItemDrill","onGroupDrill","onItemHover","onItemFocus","datatip","zoomAndScroll","offset","getNavUtil","getDataItemPos","getGapRatio","valueFormats","findNearest","getMarkerInfo","isRtl","children","testId","renderGridLinesInFront","contextMenuConfig","props","testIdProps","useTestId","rootRef","useRef","isHoriz","xAxisPosition","yAxisPosition","getAxesPosition","resolvedVars","cssContent","useCssVars","colors","Array","from","map","_","index","textMeasureContent","getTextDimensions","useTextDimensions","availSpace","getAvailSpace","updatedSpace","getScrollBarSpace","scrollDims","hiddenSet","Set","locale","useUser","xProps","xScale","xViewportExtent","xAxisExtent","xIndexExtent","yViewportExtent","yAxisExtent","groupWidth","yProps","yScale","yMaxDim","yMajorTicks","yMinorTicks","plotAreaSpace","idToDataMap","getLayoutInfo","updateScrollBarSpace","gapRatio","startIndex","endIndex","getNextChartItem","renderedGroupsIndex","tickLabels","getNextNavGroup","getDefaultNavGroup","renderedGroups","groupsDrilling","length","arrow","nextGroup","getGroupNavUtil","cursor","marqueeProps","marqueeContent","toggleButtonContent","isPointInsideMarquee","mode","useChartMarquee","chartWidth","isMultiSelection","isZoomScroll","getDataById","id","get","viewportMax","viewportMin","touchResponse","touchResponseStyle","useVisTouchResponse","type","supportsTouchDragGestures","activeId","focusedItemInfo","hoveredItemInfo","focusedGroupInfo","navProps","onFocusUpdate","useChartNav","tooltipContent","tooltipProps","getTextAndBounds","text","setText","useState","bounds","useTooltip","position","calculateOffset","current","mergeProps","onPointerMove","event","textAndBounds","target","undefined","useTextTruncation","dataSet","getElementData","title","titleProps","dims","parseInt","isFocusVisible","group","name","selectDrillProps","selectionContent","useSelectDrill","selection","onChange","viewportProps","useChartViewport","findNearestData","getDataItemPosition","datatipContent","dataCursorContent","datatipProps","datatipAriaDescribedby","useChartDatatipAndCursor","isDisabled","timeAxisType","plotAreaClipPathId","useId","xViewportMin","xViewportMax","xStartIndex","xEndIndex","gridLines","_jsx","Gridlines","isLog","scale","yTicks","contextMenuContent","contextMenuProps","useChartContextMenu","xAxisTitle","yAxisTitle","onContextMenuDismissed","gesture","eventsProps","_jsxs","jsxs","tabIndex","ref","merge","style","role","className","styles","outline","jsx","PlotArea","color","Axis","axisPosition","isTextInteractive","groupDrill","focusedGroupIndex","defaultFontSize","ScrollBar","viewport","axisExtent","TrackResizeContainer","class","dimensionStyle"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact', 'preact/hooks', 'preact/compat', './FormContext-5130e198', './useFormContext-30acdd33', './FormFieldContext-3c44aaaa', './useFormFieldContextProps-4e36b4c3', 'css!./CheckboxSetStyles.styles.css', './useId-c9578d26', './CheckboxRadioField-da88bd6f'], (function(e,s,t,i,o,a,l,r,d,n,c,u){"use strict";const x=t.createContext({});var b="CheckboxSetStyles_styles_ul__68p6630";const h=o.forwardRef((({"aria-describedby":e,assistiveText:o,columnSpan:a,direction:n="column",helpSourceLink:h,helpSourceText:m,isDisabled:C,isReadonly:p,isRequired:S=!1,label:y,labelEdge:F,labelStartWidth:k,messages:v,onCommit:R,userAssistanceDensity:f,value:D,children:g,testId:j},I)=>{const A=void 0!==D&&D.size>0,P=c.useId(),{isDisabled:T,isReadonly:_,labelEdge:E,labelStartWidth:V,userAssistanceDensity:W}=l.useFormContext(),q=C??T,L=p??_,w=F??E,z=k??V,B=f??W,M=d.useFormFieldContextProps({hasValue:A,isDisabled:q,isReadonly:L}),N=i.useMemo((()=>({name:P,value:D,onCommit:R})),[P,R,D]),G=t.toChildArray(g).filter(Boolean).map((e=>s.jsx("li",{children:e})));return s.jsx(r.FormFieldContext.Provider,{value:M,children:s.jsx(u.CheckboxRadioField,{"aria-describedby":e,assistiveText:o,baseId:P,columnSpan:a,direction:n,helpSourceLink:h,helpSourceText:m,isDisabled:q,isReadonly:L,isRequired:S,label:y,labelEdge:w,labelStartWidth:z,parentComponentVariant:"checkboxSet",messages:v,userAssistanceDensity:B,hasValue:A,role:"group",testId:j,ref:I,children:s.jsx(x.Provider,{value:N,children:s.jsx("ul",{className:b,children:G})})})})}));e.CheckboxSet=h,e.CheckboxSetContext=x,e.useCheckboxSetContext=()=>i.useContext(x)}));
2
+ //# sourceMappingURL=CheckboxSet-9c883a32.js.map