@oracle/oraclejet-preact 20.0.3 → 20.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1847) hide show
  1. package/amd/BarChart-e3c190b5.js +2 -0
  2. package/amd/BarChart-e3c190b5.js.map +1 -0
  3. package/amd/BaseCardView-16fda4c3.js +2 -0
  4. package/amd/BaseCardView-16fda4c3.js.map +1 -0
  5. package/amd/BaseDiagram-b9695479.js +2 -0
  6. package/amd/BaseDiagram-b9695479.js.map +1 -0
  7. package/amd/ButtonSetButton-ded680bb.js +2 -0
  8. package/amd/ButtonSetButton-ded680bb.js.map +1 -0
  9. package/amd/ButtonSetIconButton-c4dcbd9a.js +2 -0
  10. package/amd/ButtonSetIconButton-c4dcbd9a.js.map +1 -0
  11. package/amd/ButtonSetItem-4d644b7d.js +2 -0
  12. package/amd/ButtonSetItem-4d644b7d.js.map +1 -0
  13. package/amd/CardFlexView-d3eb7373.js +2 -0
  14. package/amd/CardFlexView-d3eb7373.js.map +1 -0
  15. package/amd/CardGridView-842f70cd.js +2 -0
  16. package/amd/CardGridView-842f70cd.js.map +1 -0
  17. package/amd/Chart-00a1b01f.js +2 -0
  18. package/amd/Chart-00a1b01f.js.map +1 -0
  19. package/amd/ComboChart-36e22cb8.js +2 -0
  20. package/amd/ComboChart-36e22cb8.js.map +1 -0
  21. package/amd/ContainerDiagram-6f41a26a.js +2 -0
  22. package/amd/ContainerDiagram-6f41a26a.js.map +1 -0
  23. package/amd/DatePicker-cf0e3fcd.js +2 -0
  24. package/amd/DatePicker-cf0e3fcd.js.map +1 -0
  25. package/amd/DatePickerHeader-406aa5c6.js +2 -0
  26. package/amd/DatePickerHeader-406aa5c6.js.map +1 -0
  27. package/amd/Diagram-6072b867.js +2 -0
  28. package/amd/Diagram-6072b867.js.map +1 -0
  29. package/amd/Dropdown-7cc463f6.js +2 -0
  30. package/amd/Dropdown-7cc463f6.js.map +1 -0
  31. package/amd/IconMenuButton-ec28ecfb.js +2 -0
  32. package/amd/IconMenuButton-ec28ecfb.js.map +1 -0
  33. package/amd/IconSwitchButton-28f4854a.js +2 -0
  34. package/amd/IconSwitchButton-28f4854a.js.map +1 -0
  35. package/amd/IconToggleButton-56035aa0.js +2 -0
  36. package/amd/IconToggleButton-56035aa0.js.map +1 -0
  37. package/amd/InlineSelectSingle-a1c1f520.js +2 -0
  38. package/amd/InlineSelectSingle-a1c1f520.js.map +1 -0
  39. package/amd/InputColor-bde91b03.js +2 -0
  40. package/amd/InputColor-bde91b03.js.map +1 -0
  41. package/amd/InputDatePicker-3351af0f.js +2 -0
  42. package/amd/InputDatePicker-3351af0f.js.map +1 -0
  43. package/amd/InputPassword-59369c13.js +2 -0
  44. package/amd/InputPassword-59369c13.js.map +1 -0
  45. package/amd/InputSensitiveText-ad79acc4.js +2 -0
  46. package/amd/InputSensitiveText-ad79acc4.js.map +1 -0
  47. package/amd/Legend-482f99eb.js +2 -0
  48. package/amd/Legend-482f99eb.js.map +1 -0
  49. package/amd/LineAreaChart-6f5dabc1.js +2 -0
  50. package/amd/LineAreaChart-6f5dabc1.js.map +1 -0
  51. package/amd/Link-20f7e72d.js +2 -0
  52. package/amd/Link-20f7e72d.js.map +1 -0
  53. package/amd/LinkVariants.styles.css +0 -1
  54. package/amd/LinkVariants.styles2.css +0 -1
  55. package/amd/ListView-dfbd3f41.js +2 -0
  56. package/amd/ListView-dfbd3f41.js.map +1 -0
  57. package/amd/Menu-0c8295f2.js +2 -0
  58. package/amd/Menu-0c8295f2.js.map +1 -0
  59. package/amd/MenuButton-1fbc486e.js +2 -0
  60. package/amd/MenuButton-1fbc486e.js.map +1 -0
  61. package/amd/MenuItem-f3de5e35.js +2 -0
  62. package/amd/MenuItem-f3de5e35.js.map +1 -0
  63. package/amd/MonthView-effa60a5.js +2 -0
  64. package/amd/MonthView-effa60a5.js.map +1 -0
  65. package/amd/NavigationListItem-0e162c3e.js +2 -0
  66. package/amd/NavigationListItem-0e162c3e.js.map +1 -0
  67. package/amd/NavigationListLinkItem-161049bb.js +2 -0
  68. package/amd/NavigationListLinkItem-161049bb.js.map +1 -0
  69. package/amd/OverflowTabBar-aa6557e2.js +2 -0
  70. package/amd/OverflowTabBar-aa6557e2.js.map +1 -0
  71. package/amd/OverflowTabBarItem-f05a778f.js +2 -0
  72. package/amd/OverflowTabBarItem-f05a778f.js.map +1 -0
  73. package/amd/PRIVATE_BaseCardView.js +1 -1
  74. package/amd/PRIVATE_BaseDiagram.js +1 -1
  75. package/amd/PRIVATE_Chart.js +1 -1
  76. package/amd/PRIVATE_DatePickerHeader.js +1 -1
  77. package/amd/PRIVATE_FormControls.js +1 -1
  78. package/amd/PRIVATE_IconSwitchButton.js +1 -1
  79. package/amd/PRIVATE_MonthView.js +1 -1
  80. package/amd/PRIVATE_MonthYearGridView.js +1 -1
  81. package/amd/PRIVATE_RevealToggleIcon.js +1 -1
  82. package/amd/PRIVATE_SelectCommon.js +1 -1
  83. package/amd/PRIVATE_StyledDatePickerButton/themes/StyledDatePickerButtonStyles.css.js +1 -1
  84. package/amd/PRIVATE_StyledDatePickerButton.js +1 -1
  85. package/amd/PRIVATE_Table.js +1 -1
  86. package/amd/PRIVATE_TableList.js +1 -1
  87. package/amd/PRIVATE_TruncatingLink.js +1 -1
  88. package/amd/PictoChart-c303675a.js +2 -0
  89. package/amd/PictoChart-c303675a.js.map +1 -0
  90. package/amd/PieChart-df15d363.js +2 -0
  91. package/amd/PieChart-df15d363.js.map +1 -0
  92. package/amd/RemovableNavigationListItem-e298c5de.js +2 -0
  93. package/amd/RemovableNavigationListItem-e298c5de.js.map +1 -0
  94. package/amd/ReorderableTabBar-e82d2982.js +2 -0
  95. package/amd/ReorderableTabBar-e82d2982.js.map +1 -0
  96. package/amd/RevealToggleIcon-be164a7b.js +2 -0
  97. package/amd/RevealToggleIcon-be164a7b.js.map +1 -0
  98. package/amd/ScatterChart-88bc2872.js +2 -0
  99. package/amd/ScatterChart-88bc2872.js.map +1 -0
  100. package/amd/SectionalLegend-3bae380b.js +2 -0
  101. package/amd/SectionalLegend-3bae380b.js.map +1 -0
  102. package/amd/SectionedContent-878a2df1.js +2 -0
  103. package/amd/SectionedContent-878a2df1.js.map +1 -0
  104. package/amd/SelectMenuItem-5bd09f45.js +2 -0
  105. package/amd/SelectMenuItem-5bd09f45.js.map +1 -0
  106. package/amd/SelectMobileFieldInput-d8be9c82.js +2 -0
  107. package/amd/SelectMobileFieldInput-d8be9c82.js.map +1 -0
  108. package/amd/SelectMultiple-467c640d.js +2 -0
  109. package/amd/SelectMultiple-467c640d.js.map +1 -0
  110. package/amd/SelectSingle-a600e403.js +2 -0
  111. package/amd/SelectSingle-a600e403.js.map +1 -0
  112. package/amd/SplitMenuButton-42f95b11.js +2 -0
  113. package/amd/SplitMenuButton-42f95b11.js.map +1 -0
  114. package/amd/StyledDatePickerButton-416ddc14.js +2 -0
  115. package/amd/StyledDatePickerButton-416ddc14.js.map +1 -0
  116. package/amd/StyledDatePickerButtonStyles.styles.css +18 -12
  117. package/amd/Submenu-f8ab8c2e.js +2 -0
  118. package/amd/Submenu-f8ab8c2e.js.map +1 -0
  119. package/amd/TabBar-61d65c39.js +2 -0
  120. package/amd/TabBar-61d65c39.js.map +1 -0
  121. package/amd/TabBarContextMenu-6977866c.js +2 -0
  122. package/amd/TabBarContextMenu-6977866c.js.map +1 -0
  123. package/amd/TabBarMixed-092116bd.js +2 -0
  124. package/amd/TabBarMixed-092116bd.js.map +1 -0
  125. package/amd/Table-225ba4db.js +2 -0
  126. package/amd/Table-225ba4db.js.map +1 -0
  127. package/amd/TableView-f7990126.js +2 -0
  128. package/amd/TableView-f7990126.js.map +1 -0
  129. package/amd/TagCloud-69af60c1.js +2 -0
  130. package/amd/TagCloud-69af60c1.js.map +1 -0
  131. package/amd/Theme-redwood/theme.css +178 -178
  132. package/amd/Theme-stable/theme.css +351 -351
  133. package/amd/ToggleButton-c9e433d4.js +2 -0
  134. package/amd/ToggleButton-c9e433d4.js.map +1 -0
  135. package/amd/ToggleButtonLabel-367494b8.js +2 -0
  136. package/amd/ToggleButtonLabel-367494b8.js.map +1 -0
  137. package/amd/TruncatingLink-2e947915.js +2 -0
  138. package/amd/TruncatingLink-2e947915.js.map +1 -0
  139. package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
  140. package/amd/UNSAFE_BarChart.js +1 -1
  141. package/amd/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
  142. package/amd/UNSAFE_ButtonSetButton.js +1 -1
  143. package/amd/UNSAFE_ButtonSetIconButton.js +1 -1
  144. package/amd/UNSAFE_ButtonSetItem.js +1 -1
  145. package/amd/UNSAFE_CardFlexView.js +1 -1
  146. package/amd/UNSAFE_CardGridView.js +1 -1
  147. package/amd/UNSAFE_ComboChart.js +1 -1
  148. package/amd/UNSAFE_ContainerDiagram.js +1 -1
  149. package/amd/UNSAFE_DatePicker.js +1 -1
  150. package/amd/UNSAFE_Diagram.js +1 -1
  151. package/amd/UNSAFE_Dropdown.js +1 -1
  152. package/amd/UNSAFE_IconMenuButton.js +1 -1
  153. package/amd/UNSAFE_IconToggleButton.js +1 -1
  154. package/amd/UNSAFE_InlineSelectSingle.js +1 -1
  155. package/amd/UNSAFE_InputColor.js +1 -1
  156. package/amd/UNSAFE_InputDatePicker.js +1 -1
  157. package/amd/UNSAFE_InputPassword.js +1 -1
  158. package/amd/UNSAFE_InputSensitiveText.js +1 -1
  159. package/amd/UNSAFE_LabelledLink.js +1 -1
  160. package/amd/UNSAFE_LabelledLink.js.map +1 -1
  161. package/amd/UNSAFE_Legend.js +1 -1
  162. package/amd/UNSAFE_LineAreaChart.js +1 -1
  163. package/amd/UNSAFE_Link/themes/LinkStyles.css.js +1 -1
  164. package/amd/UNSAFE_Link.js +1 -1
  165. package/amd/UNSAFE_ListView.js +1 -1
  166. package/amd/UNSAFE_Menu.js +1 -1
  167. package/amd/UNSAFE_MenuButton.js +1 -1
  168. package/amd/UNSAFE_NavigationList.js +1 -1
  169. package/amd/UNSAFE_NavigationListCommon.js +1 -1
  170. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  171. package/amd/UNSAFE_PictoChart.js +1 -1
  172. package/amd/UNSAFE_PieChart/__test__/PieChart.spec.js +1 -1
  173. package/amd/UNSAFE_PieChart.js +1 -1
  174. package/amd/UNSAFE_ReorderableTabBar.js +1 -1
  175. package/amd/UNSAFE_ScatterChart.js +1 -1
  176. package/amd/UNSAFE_SectionalLegend.js +1 -1
  177. package/amd/UNSAFE_SelectMultiple.js +1 -1
  178. package/amd/UNSAFE_SelectSingle.js +1 -1
  179. package/amd/UNSAFE_SplitMenuButton.js +1 -1
  180. package/amd/UNSAFE_TabBar.js +1 -1
  181. package/amd/UNSAFE_TabBarCommon.js +1 -1
  182. package/amd/UNSAFE_TabBarMixed.js +1 -1
  183. package/amd/UNSAFE_TableView.js +1 -1
  184. package/amd/UNSAFE_TagCloud.js +1 -1
  185. package/amd/UNSAFE_ToggleButton.js +1 -1
  186. package/amd/UNSAFE_ToggleButtonLabel.js +1 -1
  187. package/amd/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
  188. package/amd/YearsGridView-09b45b4e.js +2 -0
  189. package/amd/YearsGridView-09b45b4e.js.map +1 -0
  190. package/amd/hooks/PRIVATE_useChartContextMenu.js +1 -1
  191. package/amd/hooks/PRIVATE_useChartMarquee.js +1 -1
  192. package/amd/hooks/PRIVATE_useMiddleEllipsis.js +2 -0
  193. package/amd/hooks/PRIVATE_useMiddleEllipsis.js.map +1 -0
  194. package/amd/hooks/PRIVATE_useTabBar.js +1 -1
  195. package/amd/hooks/PRIVATE_useVisContextMenu.js +1 -1
  196. package/amd/hooks/PRIVATE_useVisDragModeControls.js +1 -1
  197. package/amd/listViewSelectionTests-e7898c59.js +2 -0
  198. package/amd/listViewSelectionTests-e7898c59.js.map +1 -0
  199. package/amd/useChartContextMenu-9abf418f.js +2 -0
  200. package/amd/useChartContextMenu-9abf418f.js.map +1 -0
  201. package/amd/useChartMarquee-ec70d86c.js +2 -0
  202. package/amd/useChartMarquee-ec70d86c.js.map +1 -0
  203. package/amd/useContextMenu-49bd8ffb.js +2 -0
  204. package/amd/useContextMenu-49bd8ffb.js.map +1 -0
  205. package/amd/useDisplayValue-8b0c1851.js +2 -0
  206. package/amd/useDisplayValue-8b0c1851.js.map +1 -0
  207. package/amd/useLegendContextMenu-90023a78.js +2 -0
  208. package/amd/useLegendContextMenu-90023a78.js.map +1 -0
  209. package/amd/useMiddleEllipsis-9ade43e6.js +2 -0
  210. package/amd/useMiddleEllipsis-9ade43e6.js.map +1 -0
  211. package/amd/useSelectCommon-af642fe7.js +2 -0
  212. package/amd/useSelectCommon-af642fe7.js.map +1 -0
  213. package/amd/useTabBar-430d9e32.js +2 -0
  214. package/amd/useTabBar-430d9e32.js.map +1 -0
  215. package/amd/useVisDragModeControls-c1d2abc6.js +2 -0
  216. package/amd/useVisDragModeControls-c1d2abc6.js.map +1 -0
  217. package/cjs/BaseButton-15b86552.js +86 -0
  218. package/cjs/BaseButton-15b86552.js.map +1 -0
  219. package/cjs/BaseCardView-ba63723a.js +6 -6
  220. package/cjs/BaseDiagram-576c2a13.js +2956 -0
  221. package/cjs/BaseDiagram-576c2a13.js.map +1 -0
  222. package/cjs/BaseRichSelection-c7cad1af.js +9 -9
  223. package/cjs/BaseSelector-2dc69917.js +1 -1
  224. package/cjs/BaseSwatchView-76da473f.js +2 -2
  225. package/cjs/Button-d79df225.js +24 -0
  226. package/cjs/Button-d79df225.js.map +1 -0
  227. package/cjs/ButtonSet-ed013090.js +2 -2
  228. package/cjs/ButtonSetButton-a7384fb3.js +35 -0
  229. package/cjs/ButtonSetButton-a7384fb3.js.map +1 -0
  230. package/cjs/ButtonSetIconButton-345ead86.js +40 -0
  231. package/cjs/ButtonSetIconButton-345ead86.js.map +1 -0
  232. package/cjs/ButtonSetItem-1f2f6742.js +67 -0
  233. package/cjs/ButtonSetItem-1f2f6742.js.map +1 -0
  234. package/cjs/Center-a23cf0cd.js +18 -0
  235. package/cjs/Center-a23cf0cd.js.map +1 -0
  236. package/cjs/Chart-3360191e.js +754 -0
  237. package/cjs/Chart-3360191e.js.map +1 -0
  238. package/cjs/CheckboxControl-d37c7764.js +6 -6
  239. package/cjs/CheckboxRadioField-24e06523.js +6 -6
  240. package/cjs/CheckboxRadioLabelValueLayout-0ed43779.js +1 -1
  241. package/cjs/CheckboxSetContext-c62db26d.js +12 -0
  242. package/cjs/CheckboxSetContext-c62db26d.js.map +1 -0
  243. package/cjs/Chip-b2dd59ed.js +1 -1
  244. package/cjs/ClearIcon-f61fc0b9.js +1 -1
  245. package/cjs/CollapseIcon-9fbe13a9.js +1 -1
  246. package/cjs/Collapsible-9315585f.js +2 -2
  247. package/cjs/ColorPalette-9f041744.js +83 -0
  248. package/cjs/ColorPalette-9f041744.js.map +1 -0
  249. package/cjs/ColorPicker-24ca67b6.js +25 -0
  250. package/cjs/ColorPicker-24ca67b6.js.map +1 -0
  251. package/cjs/ColorSwatch-cddebd6b.js +4 -4
  252. package/cjs/CompactLabelAssistance-f7b3b814.js +95 -0
  253. package/cjs/CompactLabelAssistance-f7b3b814.js.map +1 -0
  254. package/cjs/CompactUserAssistance-a5f1bb2b.js +5 -5
  255. package/cjs/ComponentMessageContainer-b692adf3.js +4 -4
  256. package/cjs/DatePicker-c4d49200.js +601 -0
  257. package/cjs/DatePicker-c4d49200.js.map +1 -0
  258. package/cjs/DatePickerHeader-9bcd2308.js +48 -0
  259. package/cjs/DatePickerHeader-9bcd2308.js.map +1 -0
  260. package/cjs/Dialog-871d9a7c.js +389 -0
  261. package/cjs/Dialog-871d9a7c.js.map +1 -0
  262. package/cjs/DirectionalCollapseArrowIcon-392d6599.js +1 -1
  263. package/cjs/DirectionalExpandArrowIcon-ff9f6f78.js +1 -1
  264. package/cjs/Dropdown-b73f547b.js +337 -0
  265. package/cjs/Dropdown-b73f547b.js.map +1 -0
  266. package/cjs/EmbeddedIconButton-f2e69758.js +13 -0
  267. package/cjs/EmbeddedIconButton-f2e69758.js.map +1 -0
  268. package/cjs/EnvironmentProvider-932667b2.js +61 -0
  269. package/cjs/EnvironmentProvider-932667b2.js.map +1 -0
  270. package/cjs/Expander-f4c574e5.js +1 -1
  271. package/cjs/Flex-ec48072d.js +32 -0
  272. package/cjs/Flex-ec48072d.js.map +1 -0
  273. package/cjs/Floating-de219e52.js +467 -0
  274. package/cjs/Floating-de219e52.js.map +1 -0
  275. package/cjs/Grid-156807d4.js +29 -0
  276. package/cjs/Grid-156807d4.js.map +1 -0
  277. package/cjs/GroupLoadingIndicator-7e035ba2.js +1 -1
  278. package/cjs/HighlightText-93f2fea0.js +33 -0
  279. package/cjs/HighlightText-93f2fea0.js.map +1 -0
  280. package/cjs/Icon-56789beb.js +3 -3
  281. package/cjs/IconButton-7503293b.js +4 -4
  282. package/cjs/IconSwitchButton-550d6ced.js +44 -0
  283. package/cjs/IconSwitchButton-550d6ced.js.map +1 -0
  284. package/cjs/IconToggleButton-b7a72539.js +43 -0
  285. package/cjs/IconToggleButton-b7a72539.js.map +1 -0
  286. package/cjs/IconUserAssistance-848c227c.js +76 -0
  287. package/cjs/IconUserAssistance-848c227c.js.map +1 -0
  288. package/cjs/InlineHelp-2add2d34.js +1 -1
  289. package/cjs/InlineUserAssistance-cfaa3d3e.js +5 -5
  290. package/cjs/InputDateMask-c7baadd4.js +7 -7
  291. package/cjs/Label-eb654b0e.js +8 -8
  292. package/cjs/LabelValueLayout-d67109b3.js +1 -1
  293. package/cjs/Layer-06e11b9c.js +94 -0
  294. package/cjs/Layer-06e11b9c.js.map +1 -0
  295. package/cjs/LayerHost-21391a0d.js +46 -0
  296. package/cjs/LayerHost-21391a0d.js.map +1 -0
  297. package/cjs/LayerManager-fd7f4d2f.js +36 -0
  298. package/cjs/LayerManager-fd7f4d2f.js.map +1 -0
  299. package/cjs/Link-f8403e9f.js +35 -0
  300. package/cjs/Link-f8403e9f.js.map +1 -0
  301. package/cjs/LinkVariants.styles.css +0 -1
  302. package/cjs/LinkVariants.styles2.css +0 -1
  303. package/cjs/List-afcfa338.js +5 -5
  304. package/cjs/LiveRegion-60535481.js +41 -0
  305. package/cjs/LiveRegion-60535481.js.map +1 -0
  306. package/cjs/MaxLengthLiveRegion-82e6c492.js +28 -0
  307. package/cjs/MaxLengthLiveRegion-82e6c492.js.map +1 -0
  308. package/cjs/Message-258e59da.js +2 -2
  309. package/cjs/MessageLayer-a18a7c26.js +61 -0
  310. package/cjs/MessageLayer-a18a7c26.js.map +1 -0
  311. package/cjs/MessagesManager-cba4bc60.js +3 -3
  312. package/cjs/Modal-b751b643.js +3 -3
  313. package/cjs/MonthView-25653876.js +231 -0
  314. package/cjs/MonthView-25653876.js.map +1 -0
  315. package/cjs/NavigationListItem-ef597eb9.js +312 -0
  316. package/cjs/NavigationListItem-ef597eb9.js.map +1 -0
  317. package/cjs/NavigationListLinkItem-62c3912e.js +237 -0
  318. package/cjs/NavigationListLinkItem-62c3912e.js.map +1 -0
  319. package/cjs/NumberInputText-36164d46.js +6 -6
  320. package/cjs/OverflowTabBarItem-4053a20b.js +262 -0
  321. package/cjs/OverflowTabBarItem-4053a20b.js.map +1 -0
  322. package/cjs/PRIVATE_BaseCardView.js +22 -22
  323. package/cjs/PRIVATE_BaseDiagram.js +38 -38
  324. package/cjs/PRIVATE_BaseSelector.js +17 -17
  325. package/cjs/PRIVATE_BaseSwatchView.js +18 -18
  326. package/cjs/PRIVATE_Chart.js +48 -48
  327. package/cjs/PRIVATE_CheckboxControl.js +25 -25
  328. package/cjs/PRIVATE_CheckboxRadioField.js +27 -27
  329. package/cjs/PRIVATE_ClearIcon.js +18 -18
  330. package/cjs/PRIVATE_CollapsibleNavigationList.js +20 -20
  331. package/cjs/PRIVATE_DatePickerHeader.js +23 -23
  332. package/cjs/PRIVATE_DatePickerLayout.js +4 -4
  333. package/cjs/PRIVATE_EmbeddedIconButton.js +6 -6
  334. package/cjs/PRIVATE_Expander.js +19 -19
  335. package/cjs/PRIVATE_FormControls.js +21 -21
  336. package/cjs/PRIVATE_IconSwitchButton.js +19 -19
  337. package/cjs/PRIVATE_Icons/CheckboxCrossed.js +16 -16
  338. package/cjs/PRIVATE_Icons/CheckboxMixed.js +16 -16
  339. package/cjs/PRIVATE_Icons/CheckboxOff.js +16 -16
  340. package/cjs/PRIVATE_Icons/CheckboxOn.js +16 -16
  341. package/cjs/PRIVATE_Icons/DragV.js +16 -16
  342. package/cjs/PRIVATE_Icons/None.js +16 -16
  343. package/cjs/PRIVATE_List.js +21 -21
  344. package/cjs/PRIVATE_Message.js +20 -20
  345. package/cjs/PRIVATE_MessageLayer.js +12 -12
  346. package/cjs/PRIVATE_MonthView.js +81 -8
  347. package/cjs/PRIVATE_MonthView.js.map +1 -1
  348. package/cjs/PRIVATE_MonthYearGridView.js +8 -8
  349. package/cjs/PRIVATE_PlotArea.js +5 -5
  350. package/cjs/PRIVATE_RevealToggleIcon.js +21 -21
  351. package/cjs/PRIVATE_RichSelectionCommon.js +28 -28
  352. package/cjs/PRIVATE_SelectCommon.js +34 -34
  353. package/cjs/PRIVATE_StyledCard.js +3 -3
  354. package/cjs/PRIVATE_StyledCheckbox.js +16 -16
  355. package/cjs/PRIVATE_StyledDatePickerButton/themes/StyledDatePickerButtonStyles.css.js +1 -1
  356. package/cjs/PRIVATE_StyledDatePickerButton.js +1 -1
  357. package/cjs/PRIVATE_StyledSwitch.js +4 -4
  358. package/cjs/PRIVATE_SwatchFlexView.js +18 -18
  359. package/cjs/PRIVATE_Table.js +38 -38
  360. package/cjs/PRIVATE_TableDisplay.js +19 -19
  361. package/cjs/PRIVATE_TableList.js +27 -27
  362. package/cjs/PRIVATE_ThemedIcons/CalendarIcon.js +16 -16
  363. package/cjs/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +16 -16
  364. package/cjs/PRIVATE_ThemedIcons/ChartPanIcon.js +16 -16
  365. package/cjs/PRIVATE_ThemedIcons/ChartZoomIcon.js +16 -16
  366. package/cjs/PRIVATE_ThemedIcons/CheckIcon.js +16 -16
  367. package/cjs/PRIVATE_ThemedIcons/CheckboxCrossedIcon.js +16 -16
  368. package/cjs/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +16 -16
  369. package/cjs/PRIVATE_ThemedIcons/CheckboxOffIcon.js +16 -16
  370. package/cjs/PRIVATE_ThemedIcons/CheckboxOnIcon.js +16 -16
  371. package/cjs/PRIVATE_ThemedIcons/CloseIcon.js +16 -16
  372. package/cjs/PRIVATE_ThemedIcons/CollapseIcon.js +17 -17
  373. package/cjs/PRIVATE_ThemedIcons/CollapseUpIcon.js +16 -16
  374. package/cjs/PRIVATE_ThemedIcons/DecrementIcon.js +16 -16
  375. package/cjs/PRIVATE_ThemedIcons/DeleteIcon.js +16 -16
  376. package/cjs/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +17 -17
  377. package/cjs/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +17 -17
  378. package/cjs/PRIVATE_ThemedIcons/DragHandleIcon.js +16 -16
  379. package/cjs/PRIVATE_ThemedIcons/DropdownArrowIcon.js +16 -16
  380. package/cjs/PRIVATE_ThemedIcons/ExpandIcon.js +16 -16
  381. package/cjs/PRIVATE_ThemedIcons/HelpIcon.js +16 -16
  382. package/cjs/PRIVATE_ThemedIcons/IncrementIcon.js +16 -16
  383. package/cjs/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +16 -16
  384. package/cjs/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +16 -16
  385. package/cjs/PRIVATE_ThemedIcons/MessageErrorIcon.js +16 -16
  386. package/cjs/PRIVATE_ThemedIcons/MessageInfoIcon.js +16 -16
  387. package/cjs/PRIVATE_ThemedIcons/MessageWarningIcon.js +16 -16
  388. package/cjs/PRIVATE_ThemedIcons/MinusIcon.js +16 -16
  389. package/cjs/PRIVATE_ThemedIcons/NavDownIcon.js +16 -16
  390. package/cjs/PRIVATE_ThemedIcons/None.js +16 -16
  391. package/cjs/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +16 -16
  392. package/cjs/PRIVATE_ThemedIcons/PlusIcon.js +16 -16
  393. package/cjs/PRIVATE_ThemedIcons/RadioOffIcon.js +16 -16
  394. package/cjs/PRIVATE_ThemedIcons/RadioOnIcon.js +16 -16
  395. package/cjs/PRIVATE_ThemedIcons/SortAscendingIcon.js +16 -16
  396. package/cjs/PRIVATE_ThemedIcons/SortDescendingIcon.js +16 -16
  397. package/cjs/PRIVATE_ThemedIcons/ViewHideIcon.js +16 -16
  398. package/cjs/PRIVATE_ThemedIcons/ViewIcon.js +16 -16
  399. package/cjs/PRIVATE_TimeComponent.js +19 -19
  400. package/cjs/PRIVATE_TruncatingLink.js +20 -17
  401. package/cjs/PRIVATE_TruncatingLink.js.map +1 -1
  402. package/cjs/PRIVATE_VisOverview.js +16 -16
  403. package/cjs/PRIVATE_VisStatusMessage.js +5 -5
  404. package/cjs/PRIVATE_VisTabularDatatip.js +4 -4
  405. package/cjs/Popup-6de390dd.js +300 -0
  406. package/cjs/Popup-6de390dd.js.map +1 -0
  407. package/cjs/ProgressButtonLabelLayout-2e429893.js +3 -3
  408. package/cjs/ProgressCircle-f9c43168.js +50 -0
  409. package/cjs/ProgressCircle-f9c43168.js.map +1 -0
  410. package/cjs/RadioItem-c74ac827.js +6 -6
  411. package/cjs/ReadonlyTextFieldInput-60965d77.js +1 -1
  412. package/cjs/ReferenceLineArea-d00d2b33.js +592 -0
  413. package/cjs/ReferenceLineArea-d00d2b33.js.map +1 -0
  414. package/cjs/RevealToggleIcon-6a86726c.js +28 -0
  415. package/cjs/RevealToggleIcon-6a86726c.js.map +1 -0
  416. package/cjs/SectionedContent-463bf70e.js +68 -0
  417. package/cjs/SectionedContent-463bf70e.js.map +1 -0
  418. package/cjs/SelectMenuGroupContext-002c9144.js +563 -0
  419. package/cjs/SelectMenuGroupContext-002c9144.js.map +1 -0
  420. package/cjs/SelectMobileFieldInput-2adf002d.js +248 -0
  421. package/cjs/SelectMobileFieldInput-2adf002d.js.map +1 -0
  422. package/cjs/SelectorAll-2905a1c9.js +53 -0
  423. package/cjs/SelectorAll-2905a1c9.js.map +1 -0
  424. package/cjs/Sheet-1d6e8cf8.js +2 -2
  425. package/cjs/SortControl-8c15705b.js +3 -3
  426. package/cjs/StyledCard-13c323e4.js +1 -1
  427. package/cjs/StyledDatePickerButton-f20c0596.js +34 -0
  428. package/cjs/StyledDatePickerButton-f20c0596.js.map +1 -0
  429. package/cjs/StyledDatePickerButtonStyles.styles.css +18 -12
  430. package/cjs/StyledLabelValueLayout-3ee66ef1.js +22 -0
  431. package/cjs/StyledLabelValueLayout-3ee66ef1.js.map +1 -0
  432. package/cjs/StyledSwitch-17127a03.js +2 -2
  433. package/cjs/StyledTextField-7839c90d.js +5 -5
  434. package/cjs/Submenu-fb652ff4.js +251 -0
  435. package/cjs/Submenu-fb652ff4.js.map +1 -0
  436. package/cjs/TabBar-1e6a97b5.js +73 -0
  437. package/cjs/TabBar-1e6a97b5.js.map +1 -0
  438. package/cjs/TabBarContextMenu-f7acee3d.js +102 -0
  439. package/cjs/TabBarContextMenu-f7acee3d.js.map +1 -0
  440. package/cjs/TabBarLayout-ca8af14b.js +1 -1
  441. package/cjs/TabBarLinkItem-8f54f16d.js +15 -0
  442. package/cjs/TabBarLinkItem-8f54f16d.js.map +1 -0
  443. package/cjs/Table-daa93733.js +4114 -0
  444. package/cjs/Table-daa93733.js.map +1 -0
  445. package/cjs/TableColGroup-b7e1e296.js +1 -1
  446. package/cjs/TextArea-85d34b3e.js +229 -0
  447. package/cjs/TextArea-85d34b3e.js.map +1 -0
  448. package/cjs/TextField-5c164264.js +3 -3
  449. package/cjs/Theme-redwood/theme.css +145 -145
  450. package/cjs/Theme-stable/theme.css +138 -138
  451. package/cjs/TimeComponentCanvas2D-baa58795.js +6 -6
  452. package/cjs/ToggleButton-0ec0c75b.js +30 -0
  453. package/cjs/ToggleButton-0ec0c75b.js.map +1 -0
  454. package/cjs/ToggleButtonLabel-ce19879c.js +77 -0
  455. package/cjs/ToggleButtonLabel-ce19879c.js.map +1 -0
  456. package/cjs/TruncatingLink-f6a80ee5.js +95 -0
  457. package/cjs/TruncatingLink-f6a80ee5.js.map +1 -0
  458. package/cjs/TruncatingText-ac1f6793.js +1 -1
  459. package/cjs/UNSAFE_AccordionItemMultiple.js +18 -18
  460. package/cjs/UNSAFE_AccordionItemSingle.js +18 -18
  461. package/cjs/UNSAFE_ActionCard.js +2 -2
  462. package/cjs/UNSAFE_BarChart.js +49 -49
  463. package/cjs/UNSAFE_BareButton.js +2 -2
  464. package/cjs/UNSAFE_BaseButton.js +5 -5
  465. package/cjs/UNSAFE_Button.js +6 -6
  466. package/cjs/UNSAFE_ButtonSet.js +4 -4
  467. package/cjs/UNSAFE_ButtonSetButton.js +7 -7
  468. package/cjs/UNSAFE_ButtonSetIconButton.js +19 -19
  469. package/cjs/UNSAFE_ButtonSetItem.js +22 -22
  470. package/cjs/UNSAFE_ButtonSetMultiple.js +4 -4
  471. package/cjs/UNSAFE_ButtonSetSingle.js +4 -4
  472. package/cjs/UNSAFE_Card.js +3 -3
  473. package/cjs/UNSAFE_CardFlexView.js +22 -22
  474. package/cjs/UNSAFE_CardGridView.js +22 -22
  475. package/cjs/UNSAFE_Center.js +5 -5
  476. package/cjs/UNSAFE_Checkbox.js +25 -25
  477. package/cjs/UNSAFE_CheckboxItem.js +71 -132
  478. package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
  479. package/cjs/UNSAFE_CheckboxRadioField.js +4 -4
  480. package/cjs/UNSAFE_CheckboxSet.js +75 -46
  481. package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
  482. package/cjs/UNSAFE_Chip.js +2 -2
  483. package/cjs/UNSAFE_Collapsible.js +18 -18
  484. package/cjs/UNSAFE_ColorPalette.js +95 -95
  485. package/cjs/UNSAFE_ColorPicker.js +77 -77
  486. package/cjs/UNSAFE_ColorSwatch.js +17 -17
  487. package/cjs/UNSAFE_ComboChart.js +49 -49
  488. package/cjs/UNSAFE_ComponentMessage.js +20 -20
  489. package/cjs/UNSAFE_ContainerDiagram.js +38 -38
  490. package/cjs/UNSAFE_ConveyorBelt.js +18 -18
  491. package/cjs/UNSAFE_DatePicker.js +54 -31
  492. package/cjs/UNSAFE_DatePicker.js.map +1 -1
  493. package/cjs/UNSAFE_Diagram.js +38 -38
  494. package/cjs/UNSAFE_Dialog.js +22 -22
  495. package/cjs/UNSAFE_DragHandle.js +17 -17
  496. package/cjs/UNSAFE_DrawerLayout.js +12 -12
  497. package/cjs/UNSAFE_DrawerPopup.js +11 -11
  498. package/cjs/UNSAFE_Dropdown.js +15 -15
  499. package/cjs/UNSAFE_Environment.js +4 -4
  500. package/cjs/UNSAFE_ExpandableList.js +25 -25
  501. package/cjs/UNSAFE_FilePicker.js +4 -4
  502. package/cjs/UNSAFE_FlatTreeView.js +25 -25
  503. package/cjs/UNSAFE_Flex.js +4 -4
  504. package/cjs/UNSAFE_Floating.js +11 -11
  505. package/cjs/UNSAFE_FormLayout.js +2 -2
  506. package/cjs/UNSAFE_Gantt.js +23 -23
  507. package/cjs/UNSAFE_Grid.js +4 -4
  508. package/cjs/UNSAFE_HighlightText.js +4 -4
  509. package/cjs/UNSAFE_Icon.js +16 -16
  510. package/cjs/UNSAFE_IconButton.js +17 -17
  511. package/cjs/UNSAFE_IconMenuButton.js +26 -26
  512. package/cjs/UNSAFE_IconProgressButton.js +21 -21
  513. package/cjs/UNSAFE_IconToggleButton.js +19 -19
  514. package/cjs/UNSAFE_Indexer.js +19 -19
  515. package/cjs/UNSAFE_InlineSelectSingle.js +34 -34
  516. package/cjs/UNSAFE_InputColor.js +42 -42
  517. package/cjs/UNSAFE_InputDateMask.js +26 -26
  518. package/cjs/UNSAFE_InputDatePicker.js +149 -127
  519. package/cjs/UNSAFE_InputDatePicker.js.map +1 -1
  520. package/cjs/UNSAFE_InputPassword.js +29 -29
  521. package/cjs/UNSAFE_InputSensitiveText.js +30 -30
  522. package/cjs/UNSAFE_InputText.js +28 -28
  523. package/cjs/UNSAFE_InputTimeMask.js +26 -26
  524. package/cjs/UNSAFE_Label.js +25 -25
  525. package/cjs/UNSAFE_LabelValueLayout.js +4 -4
  526. package/cjs/UNSAFE_LabelledLink.js +36 -31
  527. package/cjs/UNSAFE_LabelledLink.js.map +1 -1
  528. package/cjs/UNSAFE_Layer.js +8 -8
  529. package/cjs/UNSAFE_Legend.js +30 -30
  530. package/cjs/UNSAFE_LineAreaChart.js +49 -49
  531. package/cjs/UNSAFE_Link/themes/LinkStyles.css.js +1 -1
  532. package/cjs/UNSAFE_Link.js +3 -3
  533. package/cjs/UNSAFE_ListItemLayout.js +4 -4
  534. package/cjs/UNSAFE_ListView.js +29 -29
  535. package/cjs/UNSAFE_LiveRegion.js +4 -4
  536. package/cjs/UNSAFE_Menu.js +28 -28
  537. package/cjs/UNSAFE_MenuButton.js +26 -26
  538. package/cjs/UNSAFE_MessageBanner.js +20 -20
  539. package/cjs/UNSAFE_MessageToast.js +22 -22
  540. package/cjs/UNSAFE_MeterBar.js +16 -16
  541. package/cjs/UNSAFE_MeterCircle.js +17 -17
  542. package/cjs/UNSAFE_Modal.js +8 -8
  543. package/cjs/UNSAFE_NavigationList.js +38 -40
  544. package/cjs/UNSAFE_NavigationList.js.map +1 -1
  545. package/cjs/UNSAFE_NavigationListCommon.js +33 -34
  546. package/cjs/UNSAFE_NavigationListCommon.js.map +1 -1
  547. package/cjs/UNSAFE_NumberInputText.js +28 -28
  548. package/cjs/UNSAFE_OverflowTabBar.js +85 -88
  549. package/cjs/UNSAFE_OverflowTabBar.js.map +1 -1
  550. package/cjs/UNSAFE_PictoChart.js +27 -27
  551. package/cjs/UNSAFE_PieChart.js +28 -28
  552. package/cjs/UNSAFE_Popup.js +18 -18
  553. package/cjs/UNSAFE_ProgressBar.js +4 -4
  554. package/cjs/UNSAFE_ProgressButton.js +21 -21
  555. package/cjs/UNSAFE_ProgressButtonLabelLayout.js +10 -10
  556. package/cjs/UNSAFE_ProgressCircle.js +4 -4
  557. package/cjs/UNSAFE_RadioItem.js +25 -25
  558. package/cjs/UNSAFE_RadioSet.js +27 -27
  559. package/cjs/UNSAFE_RatingGauge.js +18 -18
  560. package/cjs/UNSAFE_ReorderableTabBar.js +44 -57
  561. package/cjs/UNSAFE_ReorderableTabBar.js.map +1 -1
  562. package/cjs/UNSAFE_RichCheckboxSet.js +64 -68
  563. package/cjs/UNSAFE_RichCheckboxSet.js.map +1 -1
  564. package/cjs/UNSAFE_RichRadioSet.js +29 -29
  565. package/cjs/UNSAFE_RichSelectionItem.js +112 -175
  566. package/cjs/UNSAFE_RichSelectionItem.js.map +1 -1
  567. package/cjs/UNSAFE_ScatterChart.js +49 -49
  568. package/cjs/UNSAFE_SectionalLegend.js +30 -30
  569. package/cjs/UNSAFE_SelectMultiple.js +38 -38
  570. package/cjs/UNSAFE_SelectSingle.js +38 -38
  571. package/cjs/UNSAFE_SelectionCard.js +3 -3
  572. package/cjs/UNSAFE_Selector.js +17 -17
  573. package/cjs/UNSAFE_SelectorAll.js +19 -19
  574. package/cjs/UNSAFE_Sheet.js +11 -11
  575. package/cjs/UNSAFE_SortControl.js +20 -20
  576. package/cjs/UNSAFE_SplitMenuButton.js +27 -27
  577. package/cjs/UNSAFE_SplitMenuButton.js.map +1 -1
  578. package/cjs/UNSAFE_Switch.js +26 -26
  579. package/cjs/UNSAFE_TabBar.js +87 -90
  580. package/cjs/UNSAFE_TabBar.js.map +1 -1
  581. package/cjs/UNSAFE_TabBarCommon.js +100 -103
  582. package/cjs/UNSAFE_TabBarCommon.js.map +1 -1
  583. package/cjs/UNSAFE_TabBarMixed.js +61 -64
  584. package/cjs/UNSAFE_TabBarMixed.js.map +1 -1
  585. package/cjs/UNSAFE_TableView.js +38 -38
  586. package/cjs/UNSAFE_TagCloud.js +28 -28
  587. package/cjs/UNSAFE_TextArea.js +119 -234
  588. package/cjs/UNSAFE_TextArea.js.map +1 -1
  589. package/cjs/UNSAFE_TextAreaAutosize.js +30 -30
  590. package/cjs/UNSAFE_TextAreaAutosize.js.map +1 -1
  591. package/cjs/UNSAFE_TextField.js +20 -20
  592. package/cjs/UNSAFE_ToggleButton.js +7 -7
  593. package/cjs/UNSAFE_ToggleButtonLabel.js +1 -1
  594. package/cjs/UNSAFE_Toolbar.js +4 -4
  595. package/cjs/UNSAFE_Train.js +17 -17
  596. package/cjs/UNSAFE_TruncatingBadge.js +17 -17
  597. package/cjs/UNSAFE_TruncatingText.js +17 -17
  598. package/cjs/UNSAFE_UserAssistance.js +26 -26
  599. package/cjs/UNSAFE_View.js +7 -7
  600. package/cjs/UNSAFE_VirtualizedListView.js +21 -21
  601. package/cjs/UNSAFE_VisInvalidDataMessage.js +6 -6
  602. package/cjs/UNSAFE_VisNoDataMessage.js +6 -6
  603. package/cjs/UNSAFE_VisProgressiveLoader.js +5 -5
  604. package/cjs/UNSAFE_WindowOverlay.js +4 -4
  605. package/cjs/View-67ff7d0e.js +170 -0
  606. package/cjs/View-67ff7d0e.js.map +1 -0
  607. package/cjs/VisStatusMessage-3ca153ac.js +31 -0
  608. package/cjs/VisStatusMessage-3ca153ac.js.map +1 -0
  609. package/cjs/VisTabularDatatip-e79da9de.js +26 -0
  610. package/cjs/VisTabularDatatip-e79da9de.js.map +1 -0
  611. package/cjs/WindowOverlay-b9595d88.js +112 -0
  612. package/cjs/WindowOverlay-b9595d88.js.map +1 -0
  613. package/cjs/YearsGridView-9fd78c0f.js +190 -0
  614. package/cjs/YearsGridView-9fd78c0f.js.map +1 -0
  615. package/cjs/hoc/PRIVATE_withDirectionIcon.js +4 -4
  616. package/cjs/hoc/PRIVATE_withThemeIcon.js +3 -3
  617. package/cjs/hoc/UNSAFE_withThemeProps.js +3 -3
  618. package/cjs/hooks/PRIVATE_useChartContextMenu.js +26 -26
  619. package/cjs/hooks/PRIVATE_useChartDatatip.js +14 -14
  620. package/cjs/hooks/PRIVATE_useChartEvents.js +19 -19
  621. package/cjs/hooks/PRIVATE_useChartMarquee.js +26 -26
  622. package/cjs/hooks/PRIVATE_useCollectionFocusRing.js +17 -17
  623. package/cjs/hooks/PRIVATE_useCssVars.js +7 -7
  624. package/cjs/hooks/PRIVATE_useCurrentKey.js +4 -4
  625. package/cjs/hooks/PRIVATE_useDatatip.js +12 -12
  626. package/cjs/hooks/PRIVATE_useDetectHorizontalOverflow.js +16 -16
  627. package/cjs/hooks/PRIVATE_useFloating.js +4 -4
  628. package/cjs/hooks/PRIVATE_useItemAction.js +17 -17
  629. package/cjs/hooks/PRIVATE_useListCommon.js +19 -19
  630. package/cjs/hooks/PRIVATE_useMiddleEllipsis.js +12 -0
  631. package/cjs/hooks/PRIVATE_useMiddleEllipsis.js.map +1 -0
  632. package/cjs/hooks/PRIVATE_useOutsideMousedown.js +9 -9
  633. package/cjs/hooks/PRIVATE_useRadioFocusManager.js +4 -4
  634. package/cjs/hooks/PRIVATE_useReorderable.js +19 -19
  635. package/cjs/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  636. package/cjs/hooks/PRIVATE_useSelection.js +4 -4
  637. package/cjs/hooks/PRIVATE_useTabBar.js +29 -29
  638. package/cjs/hooks/PRIVATE_useTabbableModeSet.js +17 -17
  639. package/cjs/hooks/PRIVATE_useTooltipOnTruncation.js +17 -17
  640. package/cjs/hooks/PRIVATE_useVisContextMenu.js +25 -25
  641. package/cjs/hooks/PRIVATE_useVisDragModeControls.js +25 -25
  642. package/cjs/hooks/PRIVATE_useVisEvents.js +4 -4
  643. package/cjs/hooks/PRIVATE_useVisMeterEvents.js +14 -14
  644. package/cjs/hooks/PRIVATE_useVisSelection.js +15 -15
  645. package/cjs/hooks/UNSAFE_useBareButton.js +2 -2
  646. package/cjs/hooks/UNSAFE_useColorScheme.js +3 -3
  647. package/cjs/hooks/UNSAFE_useCurrentBgColor.js +2 -2
  648. package/cjs/hooks/UNSAFE_useDensity.js +3 -3
  649. package/cjs/hooks/UNSAFE_useHiddenTestMethod.js +3 -3
  650. package/cjs/hooks/UNSAFE_useOutsideClick.js +8 -8
  651. package/cjs/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  652. package/cjs/hooks/UNSAFE_useScale.js +3 -3
  653. package/cjs/hooks/UNSAFE_useTestId.js +3 -3
  654. package/cjs/hooks/UNSAFE_useTheme.js +3 -3
  655. package/cjs/hooks/UNSAFE_useThemeInterpolations.js +6 -6
  656. package/cjs/hooks/UNSAFE_useTooltip.js +17 -17
  657. package/cjs/hooks/UNSAFE_useTranslationBundle.js +3 -3
  658. package/cjs/hooks/UNSAFE_useUser.js +3 -3
  659. package/cjs/popupUtils-79656e59.js +31 -0
  660. package/cjs/popupUtils-79656e59.js.map +1 -0
  661. package/cjs/tooltipUtils-c554343d.js +115 -0
  662. package/cjs/tooltipUtils-c554343d.js.map +1 -0
  663. package/cjs/useBareButton-463210c9.js +1 -1
  664. package/cjs/useCellNavigation-09201a92.js +1 -1
  665. package/cjs/useChartContextMenu-c961873c.js +125 -0
  666. package/cjs/useChartContextMenu-c961873c.js.map +1 -0
  667. package/cjs/useChartDatatip-0ead533e.js +341 -0
  668. package/cjs/useChartDatatip-0ead533e.js.map +1 -0
  669. package/cjs/useChartMarquee-ade8e91c.js +306 -0
  670. package/cjs/useChartMarquee-ade8e91c.js.map +1 -0
  671. package/cjs/useColorScheme-852ec82e.js +21 -0
  672. package/cjs/useColorScheme-852ec82e.js.map +1 -0
  673. package/cjs/useContextMenu-c02f8dee.js +119 -0
  674. package/cjs/useContextMenu-c02f8dee.js.map +1 -0
  675. package/cjs/useCssVars-b7192b44.js +60 -0
  676. package/cjs/useCssVars-b7192b44.js.map +1 -0
  677. package/cjs/useCurrentKey-b66cf089.js +85 -0
  678. package/cjs/useCurrentKey-b66cf089.js.map +1 -0
  679. package/cjs/useDatatip-3462cc49.js +96 -0
  680. package/cjs/useDatatip-3462cc49.js.map +1 -0
  681. package/cjs/useDensity-2a45f4dd.js +21 -0
  682. package/cjs/useDensity-2a45f4dd.js.map +1 -0
  683. package/cjs/useDisplayValue-047ff360.js +82 -0
  684. package/cjs/useDisplayValue-047ff360.js.map +1 -0
  685. package/cjs/useExpandCollapse-359c0224.js +72 -0
  686. package/cjs/useExpandCollapse-359c0224.js.map +1 -0
  687. package/cjs/useFloating-c408d4be.js +1926 -0
  688. package/cjs/useFloating-c408d4be.js.map +1 -0
  689. package/cjs/useHiddenTestMethod-620e91e0.js +30 -0
  690. package/cjs/useHiddenTestMethod-620e91e0.js.map +1 -0
  691. package/cjs/useKeyboardEvents-d9528b16.js +88 -0
  692. package/cjs/useKeyboardEvents-d9528b16.js.map +1 -0
  693. package/cjs/useLegendContextMenu-b7993cf0.js +285 -0
  694. package/cjs/useLegendContextMenu-b7993cf0.js.map +1 -0
  695. package/cjs/useMeterDatatip-fdab9ee5.js +76 -0
  696. package/cjs/useMeterDatatip-fdab9ee5.js.map +1 -0
  697. package/cjs/useMiddleEllipsis-792e61a9.js +230 -0
  698. package/cjs/useMiddleEllipsis-792e61a9.js.map +1 -0
  699. package/cjs/useNavigation-fa3f5a50.js +1 -1
  700. package/cjs/useOutsideClick-5c31ee35.js +117 -0
  701. package/cjs/useOutsideClick-5c31ee35.js.map +1 -0
  702. package/cjs/useOutsideMousedown-eda95637.js +50 -0
  703. package/cjs/useOutsideMousedown-eda95637.js.map +1 -0
  704. package/cjs/usePopupAnimation-985e90a2.js +87 -0
  705. package/cjs/usePopupAnimation-985e90a2.js.map +1 -0
  706. package/cjs/usePrefixSuffix-a6a1b772.js +72 -0
  707. package/cjs/usePrefixSuffix-a6a1b772.js.map +1 -0
  708. package/cjs/useRadioFocusManager-58e51026.js +110 -0
  709. package/cjs/useRadioFocusManager-58e51026.js.map +1 -0
  710. package/cjs/useReorderableItem-969a3eac.js +299 -0
  711. package/cjs/useReorderableItem-969a3eac.js.map +1 -0
  712. package/cjs/useRovingTabIndexContainer-46b897fd.js +108 -0
  713. package/cjs/useRovingTabIndexContainer-46b897fd.js.map +1 -0
  714. package/cjs/useScale-529046e3.js +21 -0
  715. package/cjs/useScale-529046e3.js.map +1 -0
  716. package/cjs/useSelectCommon-728573f9.js +507 -0
  717. package/cjs/useSelectCommon-728573f9.js.map +1 -0
  718. package/cjs/useSelectDrill-813d4fbe.js +114 -0
  719. package/cjs/useSelectDrill-813d4fbe.js.map +1 -0
  720. package/cjs/useSelection-0b3dd2cf.js +188 -0
  721. package/cjs/useSelection-0b3dd2cf.js.map +1 -0
  722. package/cjs/useSelection-0ef0ee3c.js +260 -0
  723. package/cjs/useSelection-0ef0ee3c.js.map +1 -0
  724. package/cjs/useTabBar-114caa2f.js +309 -0
  725. package/cjs/useTabBar-114caa2f.js.map +1 -0
  726. package/cjs/useTestId-a8b07506.js +23 -0
  727. package/cjs/useTestId-a8b07506.js.map +1 -0
  728. package/cjs/useTheme-71e406b0.js +21 -0
  729. package/cjs/useTheme-71e406b0.js.map +1 -0
  730. package/cjs/useThemeInterpolations-ca3ddfd9.js +71 -0
  731. package/cjs/useThemeInterpolations-ca3ddfd9.js.map +1 -0
  732. package/cjs/useTooltip-d1200aff.js +51 -0
  733. package/cjs/useTooltip-d1200aff.js.map +1 -0
  734. package/cjs/useTooltipControlled-0dc34549.js +376 -0
  735. package/cjs/useTooltipControlled-0dc34549.js.map +1 -0
  736. package/cjs/useTooltipOnTruncation-d8253c7e.js +29 -0
  737. package/cjs/useTooltipOnTruncation-d8253c7e.js.map +1 -0
  738. package/cjs/useTranslationBundle-990e7928.js +31 -0
  739. package/cjs/useTranslationBundle-990e7928.js.map +1 -0
  740. package/cjs/useUser-cc045b3e.js +21 -0
  741. package/cjs/useUser-cc045b3e.js.map +1 -0
  742. package/cjs/useVisDragModeControls-737aa2dd.js +89 -0
  743. package/cjs/useVisDragModeControls-737aa2dd.js.map +1 -0
  744. package/cjs/useVisEvents-4ad7b798.js +155 -0
  745. package/cjs/useVisEvents-4ad7b798.js.map +1 -0
  746. package/cjs/utils/PRIVATE_collectionUtils.js +17 -17
  747. package/cjs/utils/PRIVATE_tabBarUtils.js +17 -17
  748. package/cjs/utils/PRIVATE_tooltipUtils.js +14 -14
  749. package/cjs/utils/PRIVATE_visTestUtils.js +4 -4
  750. package/cjs/utils/UNSAFE_popupUtils.js +8 -8
  751. package/cjs/withDirectionIcon-a14b071b.js +16 -0
  752. package/cjs/withDirectionIcon-a14b071b.js.map +1 -0
  753. package/cjs/withThemeProps-894a40fc.js +2 -2
  754. package/es/BaseButton-243d200f.js +84 -0
  755. package/es/BaseButton-243d200f.js.map +1 -0
  756. package/es/BaseCardView-85b9a71e.js +631 -0
  757. package/es/BaseCardView-85b9a71e.js.map +1 -0
  758. package/es/BaseDiagram-19f481a0.js +2954 -0
  759. package/es/BaseDiagram-19f481a0.js.map +1 -0
  760. package/es/BaseRichSelection-223d9830.js +9 -9
  761. package/es/BaseSelector-7cbc48bc.js +1 -1
  762. package/es/BaseSwatchView-2e1e6bd2.js +2 -2
  763. package/es/Button-a76ecfa8.js +22 -0
  764. package/es/Button-a76ecfa8.js.map +1 -0
  765. package/es/ButtonSet-b7464e9a.js +2 -2
  766. package/es/ButtonSetButton-5e07834a.js +33 -0
  767. package/es/ButtonSetButton-5e07834a.js.map +1 -0
  768. package/es/ButtonSetIconButton-7e6573a0.js +38 -0
  769. package/es/ButtonSetIconButton-7e6573a0.js.map +1 -0
  770. package/es/ButtonSetItem-08dd9bd2.js +65 -0
  771. package/es/ButtonSetItem-08dd9bd2.js.map +1 -0
  772. package/es/Center-3860fe60.js +16 -0
  773. package/es/Center-3860fe60.js.map +1 -0
  774. package/es/Chart-aeda6a0c.js +752 -0
  775. package/es/Chart-aeda6a0c.js.map +1 -0
  776. package/es/CheckboxControl-c008372a.js +6 -6
  777. package/es/CheckboxRadioField-a387b3cb.js +6 -6
  778. package/es/CheckboxRadioLabelValueLayout-e3845f16.js +1 -1
  779. package/es/CheckboxSet-3aab5935.js +1 -1
  780. package/es/Chip-4efea02e.js +1 -1
  781. package/es/ClearIcon-f85ea340.js +1 -1
  782. package/es/CollapseIcon-84f6ba8e.js +1 -1
  783. package/es/Collapsible-2608ce3b.js +2 -2
  784. package/es/ColorPalette-950c6fc6.js +2 -2
  785. package/es/ColorPicker-8c297849.js +23 -0
  786. package/es/ColorPicker-8c297849.js.map +1 -0
  787. package/es/ColorSwatch-8339ee2f.js +4 -4
  788. package/es/CompactLabelAssistance-50ff3f7e.js +92 -0
  789. package/es/CompactLabelAssistance-50ff3f7e.js.map +1 -0
  790. package/es/CompactUserAssistance-6aa8894b.js +5 -5
  791. package/es/ComponentMessageContainer-d16c8b1f.js +4 -4
  792. package/es/DatePicker-6861ae90.js +599 -0
  793. package/es/DatePicker-6861ae90.js.map +1 -0
  794. package/es/DatePickerHeader-1a050945.js +46 -0
  795. package/es/DatePickerHeader-1a050945.js.map +1 -0
  796. package/es/DiagramStyles.styles2.css +10 -16
  797. package/es/DiagramStyles.styles3.css +16 -10
  798. package/es/Dialog-d1de5b06.js +387 -0
  799. package/es/Dialog-d1de5b06.js.map +1 -0
  800. package/es/DirectionalCollapseArrowIcon-132761da.js +1 -1
  801. package/es/DirectionalExpandArrowIcon-5bc45cad.js +1 -1
  802. package/es/Dropdown-f7992670.js +322 -0
  803. package/es/Dropdown-f7992670.js.map +1 -0
  804. package/es/EmbeddedIconButton-9f0e56b7.js +11 -0
  805. package/es/EmbeddedIconButton-9f0e56b7.js.map +1 -0
  806. package/es/EnvironmentProvider-6cf8ed37.js +58 -0
  807. package/es/EnvironmentProvider-6cf8ed37.js.map +1 -0
  808. package/es/Expander-1347e769.js +1 -1
  809. package/es/Flex-fc483125.js +30 -0
  810. package/es/Flex-fc483125.js.map +1 -0
  811. package/es/Floating-be4c0cb6.js +465 -0
  812. package/es/Floating-be4c0cb6.js.map +1 -0
  813. package/es/Grid-6f92d323.js +27 -0
  814. package/es/Grid-6f92d323.js.map +1 -0
  815. package/es/GroupLoadingIndicator-19c6545a.js +1 -1
  816. package/es/HighlightText-dd484ffd.js +31 -0
  817. package/es/HighlightText-dd484ffd.js.map +1 -0
  818. package/es/Icon-4983d06e.js +3 -3
  819. package/es/IconButton-7f91481c.js +4 -4
  820. package/es/IconSwitchButton-0ef3178f.js +42 -0
  821. package/es/IconSwitchButton-0ef3178f.js.map +1 -0
  822. package/es/IconToggleButton-7d9efcb3.js +41 -0
  823. package/es/IconToggleButton-7d9efcb3.js.map +1 -0
  824. package/es/IconUserAssistance-6abc7837.js +74 -0
  825. package/es/IconUserAssistance-6abc7837.js.map +1 -0
  826. package/es/InlineHelp-9eaac91c.js +1 -1
  827. package/es/InlineUserAssistance-890293dd.js +5 -5
  828. package/es/InputDateMask-ec27aee7.js +7 -7
  829. package/es/Label-5d1ae8d7.js +8 -8
  830. package/es/LabelValueLayout-c6b9945a.js +1 -1
  831. package/es/Layer-6c27170e.js +91 -0
  832. package/es/Layer-6c27170e.js.map +1 -0
  833. package/es/LayerHost-3cf255a6.js +41 -0
  834. package/es/LayerHost-3cf255a6.js.map +1 -0
  835. package/es/LayerManager-e30fbfd6.js +34 -0
  836. package/es/LayerManager-e30fbfd6.js.map +1 -0
  837. package/es/Link-db2fdeab.js +33 -0
  838. package/es/Link-db2fdeab.js.map +1 -0
  839. package/es/LinkVariants.styles.css +0 -1
  840. package/es/LinkVariants.styles2.css +0 -1
  841. package/es/List-4636ba9b.js +5 -5
  842. package/es/LiveRegion-2e8830ae.js +39 -0
  843. package/es/LiveRegion-2e8830ae.js.map +1 -0
  844. package/es/MaxLengthLiveRegion-8f552ae2.js +26 -0
  845. package/es/MaxLengthLiveRegion-8f552ae2.js.map +1 -0
  846. package/es/Message-510c2db8.js +2 -2
  847. package/es/MessageLayer-1dbdc0b6.js +58 -0
  848. package/es/MessageLayer-1dbdc0b6.js.map +1 -0
  849. package/es/MessagesManager-47000438.js +3 -3
  850. package/es/Modal-c0f730b8.js +3 -3
  851. package/es/MonthView-6628071f.js +229 -0
  852. package/es/MonthView-6628071f.js.map +1 -0
  853. package/es/NavigationListItem-3a9e0951.js +291 -0
  854. package/es/NavigationListItem-3a9e0951.js.map +1 -0
  855. package/es/NavigationListLinkItem-e28fd846.js +5 -5
  856. package/es/NumberInputText-60be5757.js +6 -6
  857. package/es/OverflowTabBarItem-ee746856.js +257 -0
  858. package/es/OverflowTabBarItem-ee746856.js.map +1 -0
  859. package/es/PRIVATE_BaseCardView.js +23 -23
  860. package/es/PRIVATE_BaseDiagram.js +38 -38
  861. package/es/PRIVATE_BaseSelector.js +17 -17
  862. package/es/PRIVATE_BaseSwatchView.js +18 -18
  863. package/es/PRIVATE_Chart.js +45 -45
  864. package/es/PRIVATE_CheckboxControl.js +25 -25
  865. package/es/PRIVATE_CheckboxRadioField.js +27 -27
  866. package/es/PRIVATE_ClearIcon.js +18 -18
  867. package/es/PRIVATE_CollapsibleNavigationList.js +20 -20
  868. package/es/PRIVATE_DatePickerHeader.js +23 -23
  869. package/es/PRIVATE_DatePickerLayout.js +4 -4
  870. package/es/PRIVATE_EmbeddedIconButton.js +6 -6
  871. package/es/PRIVATE_Expander.js +19 -19
  872. package/es/PRIVATE_FormControls.js +21 -21
  873. package/es/PRIVATE_IconSwitchButton.js +19 -19
  874. package/es/PRIVATE_Icons/CheckboxCrossed.js +16 -16
  875. package/es/PRIVATE_Icons/CheckboxMixed.js +16 -16
  876. package/es/PRIVATE_Icons/CheckboxOff.js +16 -16
  877. package/es/PRIVATE_Icons/CheckboxOn.js +16 -16
  878. package/es/PRIVATE_Icons/DragV.js +16 -16
  879. package/es/PRIVATE_Icons/None.js +16 -16
  880. package/es/PRIVATE_List.js +21 -21
  881. package/es/PRIVATE_Message.js +20 -20
  882. package/es/PRIVATE_MessageLayer.js +12 -12
  883. package/es/PRIVATE_MonthView.js +81 -8
  884. package/es/PRIVATE_MonthView.js.map +1 -1
  885. package/es/PRIVATE_MonthYearGridView.js +8 -8
  886. package/es/PRIVATE_PlotArea.js +5 -5
  887. package/es/PRIVATE_RevealToggleIcon.js +21 -21
  888. package/es/PRIVATE_RichSelectionCommon.js +28 -28
  889. package/es/PRIVATE_SelectCommon.js +34 -34
  890. package/es/PRIVATE_StyledCard.js +3 -3
  891. package/es/PRIVATE_StyledCheckbox.js +16 -16
  892. package/es/PRIVATE_StyledDatePickerButton/themes/StyledDatePickerButtonStyles.css.js +1 -1
  893. package/es/PRIVATE_StyledDatePickerButton.js +1 -1
  894. package/es/PRIVATE_StyledSwitch.js +4 -4
  895. package/es/PRIVATE_SwatchFlexView.js +18 -18
  896. package/es/PRIVATE_Table.js +38 -38
  897. package/es/PRIVATE_TableDisplay.js +19 -19
  898. package/es/PRIVATE_TableList.js +31 -31
  899. package/es/PRIVATE_ThemedIcons/CalendarIcon.js +16 -16
  900. package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +16 -16
  901. package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +16 -16
  902. package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +16 -16
  903. package/es/PRIVATE_ThemedIcons/CheckIcon.js +16 -16
  904. package/es/PRIVATE_ThemedIcons/CheckboxCrossedIcon.js +16 -16
  905. package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +16 -16
  906. package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +16 -16
  907. package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +16 -16
  908. package/es/PRIVATE_ThemedIcons/CloseIcon.js +16 -16
  909. package/es/PRIVATE_ThemedIcons/CollapseIcon.js +17 -17
  910. package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +16 -16
  911. package/es/PRIVATE_ThemedIcons/DecrementIcon.js +16 -16
  912. package/es/PRIVATE_ThemedIcons/DeleteIcon.js +16 -16
  913. package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +17 -17
  914. package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +17 -17
  915. package/es/PRIVATE_ThemedIcons/DragHandleIcon.js +16 -16
  916. package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +16 -16
  917. package/es/PRIVATE_ThemedIcons/ExpandIcon.js +16 -16
  918. package/es/PRIVATE_ThemedIcons/HelpIcon.js +16 -16
  919. package/es/PRIVATE_ThemedIcons/IncrementIcon.js +16 -16
  920. package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +16 -16
  921. package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +16 -16
  922. package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +16 -16
  923. package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +16 -16
  924. package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +16 -16
  925. package/es/PRIVATE_ThemedIcons/MinusIcon.js +16 -16
  926. package/es/PRIVATE_ThemedIcons/NavDownIcon.js +16 -16
  927. package/es/PRIVATE_ThemedIcons/None.js +16 -16
  928. package/es/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +16 -16
  929. package/es/PRIVATE_ThemedIcons/PlusIcon.js +16 -16
  930. package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +16 -16
  931. package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +16 -16
  932. package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +16 -16
  933. package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +16 -16
  934. package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +16 -16
  935. package/es/PRIVATE_ThemedIcons/ViewIcon.js +16 -16
  936. package/es/PRIVATE_TimeComponent.js +19 -19
  937. package/es/PRIVATE_TruncatingLink.js +20 -17
  938. package/es/PRIVATE_TruncatingLink.js.map +1 -1
  939. package/es/PRIVATE_VisOverview.js +16 -16
  940. package/es/PRIVATE_VisStatusMessage.js +5 -5
  941. package/es/PRIVATE_VisTabularDatatip.js +4 -4
  942. package/es/Popup-22d51095.js +298 -0
  943. package/es/Popup-22d51095.js.map +1 -0
  944. package/es/ProgressButtonLabelLayout-69549cf9.js +3 -3
  945. package/es/ProgressCircle-bce87dad.js +48 -0
  946. package/es/ProgressCircle-bce87dad.js.map +1 -0
  947. package/es/RadioItem-94909632.js +6 -6
  948. package/es/ReadonlyTextFieldInput-106ce959.js +1 -1
  949. package/es/ReferenceLineArea-cc72b070.js +586 -0
  950. package/es/ReferenceLineArea-cc72b070.js.map +1 -0
  951. package/es/RevealToggleIcon-c5d9d731.js +26 -0
  952. package/es/RevealToggleIcon-c5d9d731.js.map +1 -0
  953. package/es/SectionedContent-ac90a3d0.js +65 -0
  954. package/es/SectionedContent-ac90a3d0.js.map +1 -0
  955. package/es/SegmentStyles.styles.css +12 -9
  956. package/es/SegmentStyles.styles2.css +9 -12
  957. package/es/SelectMenuGroupContext-130a850c.js +554 -0
  958. package/es/SelectMenuGroupContext-130a850c.js.map +1 -0
  959. package/es/SelectMobileFieldInput-5ca800d5.js +241 -0
  960. package/es/SelectMobileFieldInput-5ca800d5.js.map +1 -0
  961. package/es/SelectorAll-3d39196b.js +51 -0
  962. package/es/SelectorAll-3d39196b.js.map +1 -0
  963. package/es/Sheet-f9f8a4a4.js +2 -2
  964. package/es/SortControl-1044fcd9.js +3 -3
  965. package/es/StyledCard-77623731.js +1 -1
  966. package/es/StyledDatePickerButton-a7782821.js +32 -0
  967. package/es/StyledDatePickerButton-a7782821.js.map +1 -0
  968. package/es/StyledDatePickerButtonStyles.styles.css +18 -12
  969. package/es/StyledLabelValueLayout-bddfb884.js +18 -0
  970. package/es/StyledLabelValueLayout-bddfb884.js.map +1 -0
  971. package/es/StyledSwitch-dbf29d95.js +2 -2
  972. package/es/StyledTextField-7605d76a.js +5 -5
  973. package/es/Submenu-fa7c2b4f.js +247 -0
  974. package/es/Submenu-fa7c2b4f.js.map +1 -0
  975. package/es/TabBar-fd31ca03.js +69 -0
  976. package/es/TabBar-fd31ca03.js.map +1 -0
  977. package/es/TabBarContextMenu-3bf4dc64.js +99 -0
  978. package/es/TabBarContextMenu-3bf4dc64.js.map +1 -0
  979. package/es/TabBarLayout-9b67d1b6.js +1 -1
  980. package/es/TabBarLinkItem-43854314.js +13 -0
  981. package/es/TabBarLinkItem-43854314.js.map +1 -0
  982. package/es/Table-535987d0.js +4112 -0
  983. package/es/Table-535987d0.js.map +1 -0
  984. package/es/TableColGroup-d74bd4f5.js +1 -1
  985. package/es/TextField-7884fcd7.js +3 -3
  986. package/es/Theme-redwood/theme.css +432 -432
  987. package/es/Theme-stable/theme.css +474 -474
  988. package/es/TimeComponentCanvas2D-cfb0066d.js +6 -6
  989. package/es/ToggleButton-65f5d293.js +28 -0
  990. package/es/ToggleButton-65f5d293.js.map +1 -0
  991. package/es/ToggleButtonLabel-bf4e1599.js +75 -0
  992. package/es/ToggleButtonLabel-bf4e1599.js.map +1 -0
  993. package/es/TrainVariants.styles.css +6 -6
  994. package/es/TrainVariants.styles2.css +6 -6
  995. package/es/TruncatingLink-6aaf40b9.js +93 -0
  996. package/es/TruncatingLink-6aaf40b9.js.map +1 -0
  997. package/es/TruncatingText-1bf00351.js +1 -1
  998. package/es/UNSAFE_AccordionItemMultiple.js +18 -18
  999. package/es/UNSAFE_AccordionItemSingle.js +18 -18
  1000. package/es/UNSAFE_ActionCard.js +2 -2
  1001. package/es/UNSAFE_BarChart.js +46 -46
  1002. package/es/UNSAFE_BareButton.js +2 -2
  1003. package/es/UNSAFE_BaseButton.js +5 -5
  1004. package/es/UNSAFE_Button.js +6 -6
  1005. package/es/UNSAFE_ButtonSet.js +4 -4
  1006. package/es/UNSAFE_ButtonSetButton.js +7 -7
  1007. package/es/UNSAFE_ButtonSetIconButton.js +19 -19
  1008. package/es/UNSAFE_ButtonSetItem.js +22 -22
  1009. package/es/UNSAFE_ButtonSetMultiple.js +4 -4
  1010. package/es/UNSAFE_ButtonSetSingle.js +4 -4
  1011. package/es/UNSAFE_Card.js +3 -3
  1012. package/es/UNSAFE_CardFlexView.js +23 -23
  1013. package/es/UNSAFE_CardGridView.js +23 -23
  1014. package/es/UNSAFE_Center.js +5 -5
  1015. package/es/UNSAFE_Checkbox.js +25 -25
  1016. package/es/UNSAFE_CheckboxItem.js +27 -27
  1017. package/es/UNSAFE_CheckboxRadioField.js +4 -4
  1018. package/es/UNSAFE_CheckboxSet.js +26 -26
  1019. package/es/UNSAFE_Chip.js +2 -2
  1020. package/es/UNSAFE_Collapsible.js +18 -18
  1021. package/es/UNSAFE_ColorPalette.js +19 -19
  1022. package/es/UNSAFE_ColorPicker.js +21 -21
  1023. package/es/UNSAFE_ColorSwatch.js +17 -17
  1024. package/es/UNSAFE_ComboChart.js +46 -46
  1025. package/es/UNSAFE_ComponentMessage.js +20 -20
  1026. package/es/UNSAFE_ContainerDiagram/themes/DiagramStyles.css.js +1 -1
  1027. package/es/UNSAFE_ContainerDiagram.js +38 -38
  1028. package/es/UNSAFE_ConveyorBelt.js +18 -18
  1029. package/es/UNSAFE_DatePicker.js +54 -31
  1030. package/es/UNSAFE_DatePicker.js.map +1 -1
  1031. package/es/UNSAFE_Diagram/themes/DiagramStyles.css.js +1 -1
  1032. package/es/UNSAFE_Diagram.js +38 -38
  1033. package/es/UNSAFE_Dialog.js +22 -22
  1034. package/es/UNSAFE_DragHandle.js +17 -17
  1035. package/es/UNSAFE_DrawerLayout.js +12 -12
  1036. package/es/UNSAFE_DrawerPopup.js +11 -11
  1037. package/es/UNSAFE_Dropdown.js +15 -15
  1038. package/es/UNSAFE_Environment.js +4 -4
  1039. package/es/UNSAFE_ExpandableList.js +25 -25
  1040. package/es/UNSAFE_FilePicker.js +4 -4
  1041. package/es/UNSAFE_FlatTreeView.js +25 -25
  1042. package/es/UNSAFE_Flex.js +4 -4
  1043. package/es/UNSAFE_Floating.js +11 -11
  1044. package/es/UNSAFE_FormLayout.js +2 -2
  1045. package/es/UNSAFE_Gantt.js +23 -23
  1046. package/es/UNSAFE_Grid.js +4 -4
  1047. package/es/UNSAFE_HighlightText.js +4 -4
  1048. package/es/UNSAFE_Icon.js +16 -16
  1049. package/es/UNSAFE_IconButton.js +17 -17
  1050. package/es/UNSAFE_IconMenuButton.js +26 -26
  1051. package/es/UNSAFE_IconProgressButton.js +21 -21
  1052. package/es/UNSAFE_IconToggleButton.js +19 -19
  1053. package/es/UNSAFE_Indexer.js +19 -19
  1054. package/es/UNSAFE_InlineSelectSingle.js +34 -34
  1055. package/es/UNSAFE_InputColor.js +32 -32
  1056. package/es/UNSAFE_InputDateMask/themes/SegmentStyles.css.js +1 -1
  1057. package/es/UNSAFE_InputDateMask.js +27 -27
  1058. package/es/UNSAFE_InputDatePicker.js +64 -42
  1059. package/es/UNSAFE_InputDatePicker.js.map +1 -1
  1060. package/es/UNSAFE_InputPassword.js +29 -29
  1061. package/es/UNSAFE_InputSensitiveText.js +30 -30
  1062. package/es/UNSAFE_InputText.js +28 -28
  1063. package/es/UNSAFE_InputTimeMask/themes/SegmentStyles.css.js +1 -1
  1064. package/es/UNSAFE_InputTimeMask.js +27 -27
  1065. package/es/UNSAFE_Label.js +25 -25
  1066. package/es/UNSAFE_LabelValueLayout.js +4 -4
  1067. package/es/UNSAFE_LabelledLink.js +36 -31
  1068. package/es/UNSAFE_LabelledLink.js.map +1 -1
  1069. package/es/UNSAFE_Layer.js +8 -8
  1070. package/es/UNSAFE_Legend.js +30 -30
  1071. package/es/UNSAFE_LineAreaChart.js +46 -46
  1072. package/es/UNSAFE_Link/themes/LinkStyles.css.js +1 -1
  1073. package/es/UNSAFE_Link.js +3 -3
  1074. package/es/UNSAFE_ListItemLayout.js +4 -4
  1075. package/es/UNSAFE_ListView.js +75 -75
  1076. package/es/UNSAFE_LiveRegion.js +4 -4
  1077. package/es/UNSAFE_Menu.js +29 -29
  1078. package/es/UNSAFE_MenuButton.js +26 -26
  1079. package/es/UNSAFE_MessageBanner.js +20 -20
  1080. package/es/UNSAFE_MessageToast.js +22 -22
  1081. package/es/UNSAFE_MeterBar.js +16 -16
  1082. package/es/UNSAFE_MeterCircle.js +17 -17
  1083. package/es/UNSAFE_Modal.js +8 -8
  1084. package/es/UNSAFE_NavigationList.js +42 -42
  1085. package/es/UNSAFE_NavigationListCommon.js +20 -20
  1086. package/es/UNSAFE_NumberInputText.js +28 -28
  1087. package/es/UNSAFE_OverflowTabBar.js +42 -42
  1088. package/es/UNSAFE_PictoChart.js +27 -27
  1089. package/es/UNSAFE_PieChart.js +28 -28
  1090. package/es/UNSAFE_Popup.js +18 -18
  1091. package/es/UNSAFE_ProgressBar.js +4 -4
  1092. package/es/UNSAFE_ProgressButton.js +21 -21
  1093. package/es/UNSAFE_ProgressButtonLabelLayout.js +10 -10
  1094. package/es/UNSAFE_ProgressCircle.js +4 -4
  1095. package/es/UNSAFE_RadioItem.js +25 -25
  1096. package/es/UNSAFE_RadioSet.js +27 -27
  1097. package/es/UNSAFE_RatingGauge.js +18 -18
  1098. package/es/UNSAFE_ReorderableTabBar.js +42 -42
  1099. package/es/UNSAFE_RichCheckboxSet.js +28 -28
  1100. package/es/UNSAFE_RichRadioSet.js +29 -29
  1101. package/es/UNSAFE_RichSelectionItem.js +30 -30
  1102. package/es/UNSAFE_ScatterChart.js +46 -46
  1103. package/es/UNSAFE_SectionalLegend.js +30 -30
  1104. package/es/UNSAFE_SelectMultiple.js +38 -38
  1105. package/es/UNSAFE_SelectSingle.js +38 -38
  1106. package/es/UNSAFE_SelectionCard.js +3 -3
  1107. package/es/UNSAFE_Selector.js +17 -17
  1108. package/es/UNSAFE_SelectorAll.js +19 -19
  1109. package/es/UNSAFE_Sheet.js +11 -11
  1110. package/es/UNSAFE_SortControl.js +20 -20
  1111. package/es/UNSAFE_SplitMenuButton.js +27 -27
  1112. package/es/UNSAFE_SplitMenuButton.js.map +1 -1
  1113. package/es/UNSAFE_Switch.js +26 -26
  1114. package/es/UNSAFE_TabBar.js +43 -43
  1115. package/es/UNSAFE_TabBarCommon.js +33 -33
  1116. package/es/UNSAFE_TabBarMixed.js +41 -41
  1117. package/es/UNSAFE_TableView.js +38 -38
  1118. package/es/UNSAFE_TagCloud.js +28 -28
  1119. package/es/UNSAFE_TextArea.js +237 -117
  1120. package/es/UNSAFE_TextArea.js.map +1 -1
  1121. package/es/UNSAFE_TextAreaAutosize.js +28 -28
  1122. package/es/UNSAFE_TextField.js +20 -20
  1123. package/es/UNSAFE_ToggleButton.js +7 -7
  1124. package/es/UNSAFE_ToggleButtonLabel.js +1 -1
  1125. package/es/UNSAFE_Toolbar.js +4 -4
  1126. package/es/UNSAFE_Train/themes/redwood/TrainTheme.js +1 -1
  1127. package/es/UNSAFE_Train/themes/redwood/TrainVariants.css.js +1 -1
  1128. package/es/UNSAFE_Train/themes/stable/TrainTheme.js +1 -1
  1129. package/es/UNSAFE_Train/themes/stable/TrainVariants.css.js +1 -1
  1130. package/es/UNSAFE_Train.js +18 -18
  1131. package/es/UNSAFE_TruncatingBadge.js +17 -17
  1132. package/es/UNSAFE_TruncatingText.js +17 -17
  1133. package/es/UNSAFE_UserAssistance.js +26 -26
  1134. package/es/UNSAFE_View.js +7 -7
  1135. package/es/UNSAFE_VirtualizedListView.js +21 -21
  1136. package/es/UNSAFE_VisInvalidDataMessage.js +6 -6
  1137. package/es/UNSAFE_VisNoDataMessage.js +6 -6
  1138. package/es/UNSAFE_VisProgressiveLoader.js +5 -5
  1139. package/es/UNSAFE_WindowOverlay.js +4 -4
  1140. package/es/View-818f2f31.js +167 -0
  1141. package/es/View-818f2f31.js.map +1 -0
  1142. package/es/VisStatusMessage-09c532e3.js +29 -0
  1143. package/es/VisStatusMessage-09c532e3.js.map +1 -0
  1144. package/es/VisTabularDatatip-f45069f1.js +24 -0
  1145. package/es/VisTabularDatatip-f45069f1.js.map +1 -0
  1146. package/es/WindowOverlay-467c2d12.js +110 -0
  1147. package/es/WindowOverlay-467c2d12.js.map +1 -0
  1148. package/es/YearsGridView-27d6fa06.js +187 -0
  1149. package/es/YearsGridView-27d6fa06.js.map +1 -0
  1150. package/es/hoc/PRIVATE_withDirectionIcon.js +4 -4
  1151. package/es/hoc/PRIVATE_withThemeIcon.js +3 -3
  1152. package/es/hoc/UNSAFE_withThemeProps.js +3 -3
  1153. package/es/hooks/PRIVATE_useChartContextMenu.js +26 -26
  1154. package/es/hooks/PRIVATE_useChartDatatip.js +14 -14
  1155. package/es/hooks/PRIVATE_useChartEvents.js +19 -19
  1156. package/es/hooks/PRIVATE_useChartMarquee.js +26 -26
  1157. package/es/hooks/PRIVATE_useCollectionFocusRing.js +17 -17
  1158. package/es/hooks/PRIVATE_useCssVars.js +7 -7
  1159. package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
  1160. package/es/hooks/PRIVATE_useDatatip.js +12 -12
  1161. package/es/hooks/PRIVATE_useDetectHorizontalOverflow.js +16 -16
  1162. package/es/hooks/PRIVATE_useFloating.js +4 -4
  1163. package/es/hooks/PRIVATE_useItemAction.js +17 -17
  1164. package/es/hooks/PRIVATE_useListCommon.js +19 -19
  1165. package/es/hooks/PRIVATE_useMiddleEllipsis.js +4 -0
  1166. package/es/hooks/PRIVATE_useMiddleEllipsis.js.map +1 -0
  1167. package/es/hooks/PRIVATE_useOutsideMousedown.js +9 -9
  1168. package/es/hooks/PRIVATE_useRadioFocusManager.js +4 -4
  1169. package/es/hooks/PRIVATE_useReorderable.js +19 -19
  1170. package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  1171. package/es/hooks/PRIVATE_useSelection.js +4 -4
  1172. package/es/hooks/PRIVATE_useTabBar.js +29 -29
  1173. package/es/hooks/PRIVATE_useTabbableModeSet.js +17 -17
  1174. package/es/hooks/PRIVATE_useTooltipOnTruncation.js +17 -17
  1175. package/es/hooks/PRIVATE_useVisContextMenu.js +25 -25
  1176. package/es/hooks/PRIVATE_useVisDragModeControls.js +25 -25
  1177. package/es/hooks/PRIVATE_useVisEvents.js +4 -4
  1178. package/es/hooks/PRIVATE_useVisMeterEvents.js +14 -14
  1179. package/es/hooks/PRIVATE_useVisSelection.js +15 -15
  1180. package/es/hooks/UNSAFE_useBareButton.js +2 -2
  1181. package/es/hooks/UNSAFE_useColorScheme.js +3 -3
  1182. package/es/hooks/UNSAFE_useCurrentBgColor.js +2 -2
  1183. package/es/hooks/UNSAFE_useDensity.js +3 -3
  1184. package/es/hooks/UNSAFE_useHiddenTestMethod.js +3 -3
  1185. package/es/hooks/UNSAFE_useOutsideClick.js +8 -8
  1186. package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  1187. package/es/hooks/UNSAFE_useScale.js +3 -3
  1188. package/es/hooks/UNSAFE_useTestId.js +3 -3
  1189. package/es/hooks/UNSAFE_useTheme.js +3 -3
  1190. package/es/hooks/UNSAFE_useThemeInterpolations.js +6 -6
  1191. package/es/hooks/UNSAFE_useTooltip.js +17 -17
  1192. package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
  1193. package/es/hooks/UNSAFE_useUser.js +3 -3
  1194. package/es/popupUtils-7774330e.js +29 -0
  1195. package/es/popupUtils-7774330e.js.map +1 -0
  1196. package/es/tooltipUtils-90fb656f.js +110 -0
  1197. package/es/tooltipUtils-90fb656f.js.map +1 -0
  1198. package/es/useBareButton-ff4bd21e.js +1 -1
  1199. package/es/useCellNavigation-0565b6dd.js +1 -1
  1200. package/es/useChartContextMenu-933091d8.js +123 -0
  1201. package/es/useChartContextMenu-933091d8.js.map +1 -0
  1202. package/es/useChartDatatip-cba78e0f.js +336 -0
  1203. package/es/useChartDatatip-cba78e0f.js.map +1 -0
  1204. package/es/useChartMarquee-914929b6.js +304 -0
  1205. package/es/useChartMarquee-914929b6.js.map +1 -0
  1206. package/es/useColorScheme-67245285.js +19 -0
  1207. package/es/useColorScheme-67245285.js.map +1 -0
  1208. package/es/useContextMenu-8a1230a3.js +116 -0
  1209. package/es/useContextMenu-8a1230a3.js.map +1 -0
  1210. package/es/useCssVars-048a52d8.js +58 -0
  1211. package/es/useCssVars-048a52d8.js.map +1 -0
  1212. package/es/useCurrentKey-38e5f097.js +83 -0
  1213. package/es/useCurrentKey-38e5f097.js.map +1 -0
  1214. package/es/useDatatip-ef5c47a7.js +94 -0
  1215. package/es/useDatatip-ef5c47a7.js.map +1 -0
  1216. package/es/useDensity-969273f3.js +19 -0
  1217. package/es/useDensity-969273f3.js.map +1 -0
  1218. package/es/useDisplayValue-29f03329.js +78 -0
  1219. package/es/useDisplayValue-29f03329.js.map +1 -0
  1220. package/es/useExpandCollapse-51f9bb4b.js +70 -0
  1221. package/es/useExpandCollapse-51f9bb4b.js.map +1 -0
  1222. package/es/useFloating-c74a7f54.js +1916 -0
  1223. package/es/useFloating-c74a7f54.js.map +1 -0
  1224. package/es/useHiddenTestMethod-ec7b3989.js +28 -0
  1225. package/es/useHiddenTestMethod-ec7b3989.js.map +1 -0
  1226. package/es/useKeyboardEvents-a1495728.js +85 -0
  1227. package/es/useKeyboardEvents-a1495728.js.map +1 -0
  1228. package/es/useLegendContextMenu-6ea00771.js +279 -0
  1229. package/es/useLegendContextMenu-6ea00771.js.map +1 -0
  1230. package/es/useMeterDatatip-f61ca3e0.js +73 -0
  1231. package/es/useMeterDatatip-f61ca3e0.js.map +1 -0
  1232. package/es/useMiddleEllipsis-b073ca6b.js +228 -0
  1233. package/es/useMiddleEllipsis-b073ca6b.js.map +1 -0
  1234. package/es/useNavigation-b257c33a.js +1 -1
  1235. package/es/useOutsideClick-01f3d3e1.js +115 -0
  1236. package/es/useOutsideClick-01f3d3e1.js.map +1 -0
  1237. package/es/useOutsideMousedown-e0866d58.js +48 -0
  1238. package/es/useOutsideMousedown-e0866d58.js.map +1 -0
  1239. package/es/usePopupAnimation-7c5db425.js +85 -0
  1240. package/es/usePopupAnimation-7c5db425.js.map +1 -0
  1241. package/es/usePrefixSuffix-95fc00fd.js +70 -0
  1242. package/es/usePrefixSuffix-95fc00fd.js.map +1 -0
  1243. package/es/useRadioFocusManager-d9eecfb4.js +108 -0
  1244. package/es/useRadioFocusManager-d9eecfb4.js.map +1 -0
  1245. package/es/useReorderableItem-06bd7a7b.js +296 -0
  1246. package/es/useReorderableItem-06bd7a7b.js.map +1 -0
  1247. package/es/useRovingTabIndexContainer-c0356f5d.js +106 -0
  1248. package/es/useRovingTabIndexContainer-c0356f5d.js.map +1 -0
  1249. package/es/useScale-93490e54.js +19 -0
  1250. package/es/useScale-93490e54.js.map +1 -0
  1251. package/es/useSelectCommon-c70bb10f.js +489 -0
  1252. package/es/useSelectCommon-c70bb10f.js.map +1 -0
  1253. package/es/useSelectDrill-2f855daa.js +111 -0
  1254. package/es/useSelectDrill-2f855daa.js.map +1 -0
  1255. package/es/useSelection-10ed8060.js +186 -0
  1256. package/es/useSelection-10ed8060.js.map +1 -0
  1257. package/es/useSelection-d6fefa3d.js +258 -0
  1258. package/es/useSelection-d6fefa3d.js.map +1 -0
  1259. package/es/useTabBar-27e8c4ea.js +305 -0
  1260. package/es/useTabBar-27e8c4ea.js.map +1 -0
  1261. package/es/useTestId-ab1bede6.js +21 -0
  1262. package/es/useTestId-ab1bede6.js.map +1 -0
  1263. package/es/useTextAreaAltEnter-ac460f4c.js +61 -0
  1264. package/es/useTextAreaAltEnter-ac460f4c.js.map +1 -0
  1265. package/es/useTheme-c2cfbc29.js +19 -0
  1266. package/es/useTheme-c2cfbc29.js.map +1 -0
  1267. package/es/useThemeInterpolations-5f358139.js +68 -0
  1268. package/es/useThemeInterpolations-5f358139.js.map +1 -0
  1269. package/es/useTooltip-ab739df0.js +49 -0
  1270. package/es/useTooltip-ab739df0.js.map +1 -0
  1271. package/es/useTooltipControlled-b7f30aee.js +373 -0
  1272. package/es/useTooltipControlled-b7f30aee.js.map +1 -0
  1273. package/es/useTooltipOnTruncation-31afc3f2.js +27 -0
  1274. package/es/useTooltipOnTruncation-31afc3f2.js.map +1 -0
  1275. package/es/useTranslationBundle-bc6e0896.js +29 -0
  1276. package/es/useTranslationBundle-bc6e0896.js.map +1 -0
  1277. package/es/useUser-e543b73c.js +19 -0
  1278. package/es/useUser-e543b73c.js.map +1 -0
  1279. package/es/useVisDragModeControls-6865056f.js +87 -0
  1280. package/es/useVisDragModeControls-6865056f.js.map +1 -0
  1281. package/es/useVisEvents-0edc925f.js +153 -0
  1282. package/es/useVisEvents-0edc925f.js.map +1 -0
  1283. package/es/utils/PRIVATE_collectionUtils.js +17 -17
  1284. package/es/utils/PRIVATE_tabBarUtils.js +17 -17
  1285. package/es/utils/PRIVATE_tooltipUtils.js +14 -14
  1286. package/es/utils/PRIVATE_visTestUtils.js +4 -4
  1287. package/es/utils/UNSAFE_popupUtils.js +8 -8
  1288. package/es/withDirectionIcon-b725a6d7.js +14 -0
  1289. package/es/withDirectionIcon-b725a6d7.js.map +1 -0
  1290. package/es/withThemeProps-dbd4fedf.js +2 -2
  1291. package/package.json +2 -2
  1292. package/types/UNSAFE_Dropdown/Dropdown.d.ts +5 -1
  1293. package/types/UNSAFE_LabelledLink/LabelledLink.d.ts +5 -1
  1294. package/types/UNSAFE_Link/themes/LinkStyles.css.d.ts +0 -1
  1295. package/types/UNSAFE_Link/themes/redwood/LinkVariants.css.d.ts +0 -1
  1296. package/types/UNSAFE_Link/themes/stable/LinkVariants.css.d.ts +0 -1
  1297. package/types/UNSAFE_Menu/DropdownMenu.d.ts +1 -0
  1298. package/amd/BarChart-f429b382.js +0 -2
  1299. package/amd/BarChart-f429b382.js.map +0 -1
  1300. package/amd/BaseCardView-b8119561.js +0 -2
  1301. package/amd/BaseCardView-b8119561.js.map +0 -1
  1302. package/amd/BaseDiagram-00ea8628.js +0 -2
  1303. package/amd/BaseDiagram-00ea8628.js.map +0 -1
  1304. package/amd/ButtonSetButton-fa0256aa.js +0 -2
  1305. package/amd/ButtonSetButton-fa0256aa.js.map +0 -1
  1306. package/amd/ButtonSetIconButton-9010f20c.js +0 -2
  1307. package/amd/ButtonSetIconButton-9010f20c.js.map +0 -1
  1308. package/amd/ButtonSetItem-4b29107a.js +0 -2
  1309. package/amd/ButtonSetItem-4b29107a.js.map +0 -1
  1310. package/amd/CardFlexView-aa2f3de8.js +0 -2
  1311. package/amd/CardFlexView-aa2f3de8.js.map +0 -1
  1312. package/amd/CardGridView-85f90c75.js +0 -2
  1313. package/amd/CardGridView-85f90c75.js.map +0 -1
  1314. package/amd/Chart-57965de4.js +0 -2
  1315. package/amd/Chart-57965de4.js.map +0 -1
  1316. package/amd/ComboChart-c42ed049.js +0 -2
  1317. package/amd/ComboChart-c42ed049.js.map +0 -1
  1318. package/amd/ContainerDiagram-678f9746.js +0 -2
  1319. package/amd/ContainerDiagram-678f9746.js.map +0 -1
  1320. package/amd/DatePicker-bf521b1c.js +0 -2
  1321. package/amd/DatePicker-bf521b1c.js.map +0 -1
  1322. package/amd/DatePickerHeader-82f4f285.js +0 -2
  1323. package/amd/DatePickerHeader-82f4f285.js.map +0 -1
  1324. package/amd/Diagram-492f8b21.js +0 -2
  1325. package/amd/Diagram-492f8b21.js.map +0 -1
  1326. package/amd/Dropdown-7eca9554.js +0 -2
  1327. package/amd/Dropdown-7eca9554.js.map +0 -1
  1328. package/amd/IconMenuButton-82b8431d.js +0 -2
  1329. package/amd/IconMenuButton-82b8431d.js.map +0 -1
  1330. package/amd/IconSwitchButton-c44e0edf.js +0 -2
  1331. package/amd/IconSwitchButton-c44e0edf.js.map +0 -1
  1332. package/amd/IconToggleButton-0ab34b44.js +0 -2
  1333. package/amd/IconToggleButton-0ab34b44.js.map +0 -1
  1334. package/amd/InlineSelectSingle-87bc8a45.js +0 -2
  1335. package/amd/InlineSelectSingle-87bc8a45.js.map +0 -1
  1336. package/amd/InputColor-58e3fce3.js +0 -2
  1337. package/amd/InputColor-58e3fce3.js.map +0 -1
  1338. package/amd/InputDatePicker-7227a858.js +0 -2
  1339. package/amd/InputDatePicker-7227a858.js.map +0 -1
  1340. package/amd/InputPassword-450915c8.js +0 -2
  1341. package/amd/InputPassword-450915c8.js.map +0 -1
  1342. package/amd/InputSensitiveText-d94d24f0.js +0 -2
  1343. package/amd/InputSensitiveText-d94d24f0.js.map +0 -1
  1344. package/amd/Legend-47a1bf23.js +0 -2
  1345. package/amd/Legend-47a1bf23.js.map +0 -1
  1346. package/amd/LineAreaChart-48efb7f7.js +0 -2
  1347. package/amd/LineAreaChart-48efb7f7.js.map +0 -1
  1348. package/amd/Link-a8fad252.js +0 -2
  1349. package/amd/Link-a8fad252.js.map +0 -1
  1350. package/amd/ListView-2678b2af.js +0 -2
  1351. package/amd/ListView-2678b2af.js.map +0 -1
  1352. package/amd/Menu-1b8fefc5.js +0 -2
  1353. package/amd/Menu-1b8fefc5.js.map +0 -1
  1354. package/amd/MenuButton-2fe1ef2c.js +0 -2
  1355. package/amd/MenuButton-2fe1ef2c.js.map +0 -1
  1356. package/amd/MenuItem-85e4ffdc.js +0 -2
  1357. package/amd/MenuItem-85e4ffdc.js.map +0 -1
  1358. package/amd/MonthView-96fafba4.js +0 -2
  1359. package/amd/MonthView-96fafba4.js.map +0 -1
  1360. package/amd/NavigationList-a6bb123d.js +0 -2
  1361. package/amd/NavigationList-a6bb123d.js.map +0 -1
  1362. package/amd/NavigationListItem-10bf6656.js +0 -2
  1363. package/amd/NavigationListItem-10bf6656.js.map +0 -1
  1364. package/amd/NavigationListLinkItem-df1826e6.js +0 -2
  1365. package/amd/NavigationListLinkItem-df1826e6.js.map +0 -1
  1366. package/amd/OverflowTabBar-f8bf9356.js +0 -2
  1367. package/amd/OverflowTabBar-f8bf9356.js.map +0 -1
  1368. package/amd/OverflowTabBarItem-0aa39512.js +0 -2
  1369. package/amd/OverflowTabBarItem-0aa39512.js.map +0 -1
  1370. package/amd/PictoChart-ab426a71.js +0 -2
  1371. package/amd/PictoChart-ab426a71.js.map +0 -1
  1372. package/amd/PieChart-57ffe4c0.js +0 -2
  1373. package/amd/PieChart-57ffe4c0.js.map +0 -1
  1374. package/amd/RemovableNavigationListItem-60593d4c.js +0 -2
  1375. package/amd/RemovableNavigationListItem-60593d4c.js.map +0 -1
  1376. package/amd/ReorderableTabBar-19a503c7.js +0 -2
  1377. package/amd/ReorderableTabBar-19a503c7.js.map +0 -1
  1378. package/amd/RevealToggleIcon-093f60c4.js +0 -2
  1379. package/amd/RevealToggleIcon-093f60c4.js.map +0 -1
  1380. package/amd/ScatterChart-6427e7ec.js +0 -2
  1381. package/amd/ScatterChart-6427e7ec.js.map +0 -1
  1382. package/amd/SectionalLegend-bd980f3f.js +0 -2
  1383. package/amd/SectionalLegend-bd980f3f.js.map +0 -1
  1384. package/amd/SectionedContent-74559d9d.js +0 -2
  1385. package/amd/SectionedContent-74559d9d.js.map +0 -1
  1386. package/amd/SelectMenuItem-affab9f3.js +0 -2
  1387. package/amd/SelectMenuItem-affab9f3.js.map +0 -1
  1388. package/amd/SelectMobileFieldInput-4795a794.js +0 -2
  1389. package/amd/SelectMobileFieldInput-4795a794.js.map +0 -1
  1390. package/amd/SelectMultiple-e216b16c.js +0 -2
  1391. package/amd/SelectMultiple-e216b16c.js.map +0 -1
  1392. package/amd/SelectSingle-d53cf202.js +0 -2
  1393. package/amd/SelectSingle-d53cf202.js.map +0 -1
  1394. package/amd/SplitMenuButton-76adec12.js +0 -2
  1395. package/amd/SplitMenuButton-76adec12.js.map +0 -1
  1396. package/amd/StyledDatePickerButton-bceb62e1.js +0 -2
  1397. package/amd/StyledDatePickerButton-bceb62e1.js.map +0 -1
  1398. package/amd/Submenu-52ec8bfb.js +0 -2
  1399. package/amd/Submenu-52ec8bfb.js.map +0 -1
  1400. package/amd/TabBar-92bac52f.js +0 -2
  1401. package/amd/TabBar-92bac52f.js.map +0 -1
  1402. package/amd/TabBarContextMenu-6a167e27.js +0 -2
  1403. package/amd/TabBarContextMenu-6a167e27.js.map +0 -1
  1404. package/amd/TabBarMixed-5b5a5047.js +0 -2
  1405. package/amd/TabBarMixed-5b5a5047.js.map +0 -1
  1406. package/amd/Table-74566993.js +0 -2
  1407. package/amd/Table-74566993.js.map +0 -1
  1408. package/amd/TableView-3d82855c.js +0 -2
  1409. package/amd/TableView-3d82855c.js.map +0 -1
  1410. package/amd/TagCloud-c10a166e.js +0 -2
  1411. package/amd/TagCloud-c10a166e.js.map +0 -1
  1412. package/amd/ToggleButton-b77486fe.js +0 -2
  1413. package/amd/ToggleButton-b77486fe.js.map +0 -1
  1414. package/amd/ToggleButtonLabel-87364773.js +0 -2
  1415. package/amd/ToggleButtonLabel-87364773.js.map +0 -1
  1416. package/amd/TruncatingLink-591e7ff1.js +0 -2
  1417. package/amd/TruncatingLink-591e7ff1.js.map +0 -1
  1418. package/amd/YearsGridView-561c3074.js +0 -2
  1419. package/amd/YearsGridView-561c3074.js.map +0 -1
  1420. package/amd/listViewSelectionTests-7d18f09e.js +0 -2
  1421. package/amd/listViewSelectionTests-7d18f09e.js.map +0 -1
  1422. package/amd/useChartContextMenu-abadeabc.js +0 -2
  1423. package/amd/useChartContextMenu-abadeabc.js.map +0 -1
  1424. package/amd/useChartMarquee-3865426f.js +0 -2
  1425. package/amd/useChartMarquee-3865426f.js.map +0 -1
  1426. package/amd/useContextMenu-67972d45.js +0 -2
  1427. package/amd/useContextMenu-67972d45.js.map +0 -1
  1428. package/amd/useDisplayValue-9b671893.js +0 -2
  1429. package/amd/useDisplayValue-9b671893.js.map +0 -1
  1430. package/amd/useLegendContextMenu-55fedade.js +0 -2
  1431. package/amd/useLegendContextMenu-55fedade.js.map +0 -1
  1432. package/amd/useNavigationListItem-582f5564.js +0 -2
  1433. package/amd/useNavigationListItem-582f5564.js.map +0 -1
  1434. package/amd/useSelectCommon-f33709d2.js +0 -2
  1435. package/amd/useSelectCommon-f33709d2.js.map +0 -1
  1436. package/amd/useTabBar-b05edef0.js +0 -2
  1437. package/amd/useTabBar-b05edef0.js.map +0 -1
  1438. package/amd/useVisDragModeControls-5f059d09.js +0 -2
  1439. package/amd/useVisDragModeControls-5f059d09.js.map +0 -1
  1440. package/cjs/BaseButton-d8f96bfa.js +0 -86
  1441. package/cjs/BaseButton-d8f96bfa.js.map +0 -1
  1442. package/cjs/BaseDiagram-ce4f1a20.js +0 -2956
  1443. package/cjs/BaseDiagram-ce4f1a20.js.map +0 -1
  1444. package/cjs/Button-020e0381.js +0 -24
  1445. package/cjs/Button-020e0381.js.map +0 -1
  1446. package/cjs/ButtonSetButton-569e0efb.js +0 -35
  1447. package/cjs/ButtonSetButton-569e0efb.js.map +0 -1
  1448. package/cjs/ButtonSetIconButton-3778ac7b.js +0 -40
  1449. package/cjs/ButtonSetIconButton-3778ac7b.js.map +0 -1
  1450. package/cjs/ButtonSetItem-4322c957.js +0 -67
  1451. package/cjs/ButtonSetItem-4322c957.js.map +0 -1
  1452. package/cjs/Center-9a0ee4f3.js +0 -18
  1453. package/cjs/Center-9a0ee4f3.js.map +0 -1
  1454. package/cjs/Chart-966da017.js +0 -754
  1455. package/cjs/Chart-966da017.js.map +0 -1
  1456. package/cjs/CheckboxSet-6865f4fd.js +0 -55
  1457. package/cjs/CheckboxSet-6865f4fd.js.map +0 -1
  1458. package/cjs/ColorPalette-b14114d8.js +0 -83
  1459. package/cjs/ColorPalette-b14114d8.js.map +0 -1
  1460. package/cjs/ColorPicker-8f0b6000.js +0 -25
  1461. package/cjs/ColorPicker-8f0b6000.js.map +0 -1
  1462. package/cjs/CompactLabelAssistance-e910bb56.js +0 -95
  1463. package/cjs/CompactLabelAssistance-e910bb56.js.map +0 -1
  1464. package/cjs/DatePicker-b60f8a7e.js +0 -601
  1465. package/cjs/DatePicker-b60f8a7e.js.map +0 -1
  1466. package/cjs/DatePickerHeader-1010204c.js +0 -48
  1467. package/cjs/DatePickerHeader-1010204c.js.map +0 -1
  1468. package/cjs/Dialog-8b65180c.js +0 -389
  1469. package/cjs/Dialog-8b65180c.js.map +0 -1
  1470. package/cjs/Dropdown-1ba432a8.js +0 -333
  1471. package/cjs/Dropdown-1ba432a8.js.map +0 -1
  1472. package/cjs/EmbeddedIconButton-cc159a01.js +0 -13
  1473. package/cjs/EmbeddedIconButton-cc159a01.js.map +0 -1
  1474. package/cjs/EnvironmentProvider-5f2435e6.js +0 -61
  1475. package/cjs/EnvironmentProvider-5f2435e6.js.map +0 -1
  1476. package/cjs/Flex-3a257bc3.js +0 -32
  1477. package/cjs/Flex-3a257bc3.js.map +0 -1
  1478. package/cjs/Floating-79cbe5ad.js +0 -467
  1479. package/cjs/Floating-79cbe5ad.js.map +0 -1
  1480. package/cjs/Grid-cef20569.js +0 -29
  1481. package/cjs/Grid-cef20569.js.map +0 -1
  1482. package/cjs/HighlightText-f4535f3d.js +0 -33
  1483. package/cjs/HighlightText-f4535f3d.js.map +0 -1
  1484. package/cjs/IconSwitchButton-9b0df2d6.js +0 -44
  1485. package/cjs/IconSwitchButton-9b0df2d6.js.map +0 -1
  1486. package/cjs/IconToggleButton-d2147159.js +0 -43
  1487. package/cjs/IconToggleButton-d2147159.js.map +0 -1
  1488. package/cjs/IconUserAssistance-89913ad1.js +0 -76
  1489. package/cjs/IconUserAssistance-89913ad1.js.map +0 -1
  1490. package/cjs/Layer-b60deb1b.js +0 -94
  1491. package/cjs/Layer-b60deb1b.js.map +0 -1
  1492. package/cjs/LayerHost-3cd73603.js +0 -46
  1493. package/cjs/LayerHost-3cd73603.js.map +0 -1
  1494. package/cjs/LayerManager-c535d963.js +0 -36
  1495. package/cjs/LayerManager-c535d963.js.map +0 -1
  1496. package/cjs/Link-cc34e4c1.js +0 -35
  1497. package/cjs/Link-cc34e4c1.js.map +0 -1
  1498. package/cjs/LiveRegion-62ce9ac7.js +0 -41
  1499. package/cjs/LiveRegion-62ce9ac7.js.map +0 -1
  1500. package/cjs/MaxLengthLiveRegion-0a6ba765.js +0 -28
  1501. package/cjs/MaxLengthLiveRegion-0a6ba765.js.map +0 -1
  1502. package/cjs/MessageLayer-8e6e3d98.js +0 -61
  1503. package/cjs/MessageLayer-8e6e3d98.js.map +0 -1
  1504. package/cjs/MonthView-a2661a58.js +0 -210
  1505. package/cjs/MonthView-a2661a58.js.map +0 -1
  1506. package/cjs/NavigationList-d0d74565.js +0 -307
  1507. package/cjs/NavigationList-d0d74565.js.map +0 -1
  1508. package/cjs/NavigationListItem-b0b03089.js +0 -12
  1509. package/cjs/NavigationListItem-b0b03089.js.map +0 -1
  1510. package/cjs/NavigationListLinkItem-317a5200.js +0 -146
  1511. package/cjs/NavigationListLinkItem-317a5200.js.map +0 -1
  1512. package/cjs/OverflowTabBarItem-19ad4971.js +0 -264
  1513. package/cjs/OverflowTabBarItem-19ad4971.js.map +0 -1
  1514. package/cjs/Popup-de16d915.js +0 -300
  1515. package/cjs/Popup-de16d915.js.map +0 -1
  1516. package/cjs/ProgressCircle-cac3c03a.js +0 -50
  1517. package/cjs/ProgressCircle-cac3c03a.js.map +0 -1
  1518. package/cjs/ReferenceLineArea-7bc34276.js +0 -592
  1519. package/cjs/ReferenceLineArea-7bc34276.js.map +0 -1
  1520. package/cjs/RevealToggleIcon-a6a4f8db.js +0 -28
  1521. package/cjs/RevealToggleIcon-a6a4f8db.js.map +0 -1
  1522. package/cjs/SectionedContent-5eff5dce.js +0 -68
  1523. package/cjs/SectionedContent-5eff5dce.js.map +0 -1
  1524. package/cjs/SelectMenuGroupContext-a349d259.js +0 -551
  1525. package/cjs/SelectMenuGroupContext-a349d259.js.map +0 -1
  1526. package/cjs/SelectMobileFieldInput-cbf57541.js +0 -248
  1527. package/cjs/SelectMobileFieldInput-cbf57541.js.map +0 -1
  1528. package/cjs/SelectorAll-9118eb07.js +0 -53
  1529. package/cjs/SelectorAll-9118eb07.js.map +0 -1
  1530. package/cjs/StyledDatePickerButton-becd2a7d.js +0 -33
  1531. package/cjs/StyledDatePickerButton-becd2a7d.js.map +0 -1
  1532. package/cjs/StyledLabelValueLayout-48da61b9.js +0 -22
  1533. package/cjs/StyledLabelValueLayout-48da61b9.js.map +0 -1
  1534. package/cjs/Submenu-8e92469f.js +0 -251
  1535. package/cjs/Submenu-8e92469f.js.map +0 -1
  1536. package/cjs/TabBar-d84e222e.js +0 -79
  1537. package/cjs/TabBar-d84e222e.js.map +0 -1
  1538. package/cjs/TabBarContextMenu-d9bf65c2.js +0 -102
  1539. package/cjs/TabBarContextMenu-d9bf65c2.js.map +0 -1
  1540. package/cjs/TabBarLinkItem-e924f83b.js +0 -15
  1541. package/cjs/TabBarLinkItem-e924f83b.js.map +0 -1
  1542. package/cjs/Table-a102e1ee.js +0 -4114
  1543. package/cjs/Table-a102e1ee.js.map +0 -1
  1544. package/cjs/ToggleButton-5ebfe20e.js +0 -30
  1545. package/cjs/ToggleButton-5ebfe20e.js.map +0 -1
  1546. package/cjs/ToggleButtonLabel-c8f36317.js +0 -73
  1547. package/cjs/ToggleButtonLabel-c8f36317.js.map +0 -1
  1548. package/cjs/TruncatingLink-867da10e.js +0 -58
  1549. package/cjs/TruncatingLink-867da10e.js.map +0 -1
  1550. package/cjs/View-ed116d78.js +0 -170
  1551. package/cjs/View-ed116d78.js.map +0 -1
  1552. package/cjs/VisStatusMessage-07e63c6e.js +0 -31
  1553. package/cjs/VisStatusMessage-07e63c6e.js.map +0 -1
  1554. package/cjs/VisTabularDatatip-abfef042.js +0 -26
  1555. package/cjs/VisTabularDatatip-abfef042.js.map +0 -1
  1556. package/cjs/WindowOverlay-85d999fa.js +0 -112
  1557. package/cjs/WindowOverlay-85d999fa.js.map +0 -1
  1558. package/cjs/YearsGridView-d0d4e8e1.js +0 -190
  1559. package/cjs/YearsGridView-d0d4e8e1.js.map +0 -1
  1560. package/cjs/popupUtils-1d123cbe.js +0 -31
  1561. package/cjs/popupUtils-1d123cbe.js.map +0 -1
  1562. package/cjs/tooltipUtils-2bc15136.js +0 -115
  1563. package/cjs/tooltipUtils-2bc15136.js.map +0 -1
  1564. package/cjs/useChartContextMenu-af989b4f.js +0 -125
  1565. package/cjs/useChartContextMenu-af989b4f.js.map +0 -1
  1566. package/cjs/useChartDatatip-1bceba5d.js +0 -341
  1567. package/cjs/useChartDatatip-1bceba5d.js.map +0 -1
  1568. package/cjs/useChartMarquee-ede5cae4.js +0 -306
  1569. package/cjs/useChartMarquee-ede5cae4.js.map +0 -1
  1570. package/cjs/useColorScheme-f8b1447d.js +0 -21
  1571. package/cjs/useColorScheme-f8b1447d.js.map +0 -1
  1572. package/cjs/useContextMenu-2500df06.js +0 -119
  1573. package/cjs/useContextMenu-2500df06.js.map +0 -1
  1574. package/cjs/useCssVars-8e83d496.js +0 -60
  1575. package/cjs/useCssVars-8e83d496.js.map +0 -1
  1576. package/cjs/useCurrentKey-1b9e3382.js +0 -85
  1577. package/cjs/useCurrentKey-1b9e3382.js.map +0 -1
  1578. package/cjs/useDatatip-b7b4f13f.js +0 -96
  1579. package/cjs/useDatatip-b7b4f13f.js.map +0 -1
  1580. package/cjs/useDensity-0b9fd9ca.js +0 -21
  1581. package/cjs/useDensity-0b9fd9ca.js.map +0 -1
  1582. package/cjs/useDisplayValue-4ace417c.js +0 -82
  1583. package/cjs/useDisplayValue-4ace417c.js.map +0 -1
  1584. package/cjs/useExpandCollapse-ef990199.js +0 -72
  1585. package/cjs/useExpandCollapse-ef990199.js.map +0 -1
  1586. package/cjs/useFloating-c753a7f9.js +0 -1926
  1587. package/cjs/useFloating-c753a7f9.js.map +0 -1
  1588. package/cjs/useHiddenTestMethod-eae1d48b.js +0 -30
  1589. package/cjs/useHiddenTestMethod-eae1d48b.js.map +0 -1
  1590. package/cjs/useKeyboardEvents-0ab70381.js +0 -88
  1591. package/cjs/useKeyboardEvents-0ab70381.js.map +0 -1
  1592. package/cjs/useLegendContextMenu-2cf579d7.js +0 -285
  1593. package/cjs/useLegendContextMenu-2cf579d7.js.map +0 -1
  1594. package/cjs/useMeterDatatip-92ca91d9.js +0 -76
  1595. package/cjs/useMeterDatatip-92ca91d9.js.map +0 -1
  1596. package/cjs/useNavigationListItem-b97e76d5.js +0 -104
  1597. package/cjs/useNavigationListItem-b97e76d5.js.map +0 -1
  1598. package/cjs/useOutsideClick-dbf3d604.js +0 -117
  1599. package/cjs/useOutsideClick-dbf3d604.js.map +0 -1
  1600. package/cjs/useOutsideMousedown-70f36cca.js +0 -50
  1601. package/cjs/useOutsideMousedown-70f36cca.js.map +0 -1
  1602. package/cjs/usePopupAnimation-f3b34413.js +0 -87
  1603. package/cjs/usePopupAnimation-f3b34413.js.map +0 -1
  1604. package/cjs/usePrefixSuffix-23d1cc33.js +0 -72
  1605. package/cjs/usePrefixSuffix-23d1cc33.js.map +0 -1
  1606. package/cjs/useRadioFocusManager-a11750e7.js +0 -110
  1607. package/cjs/useRadioFocusManager-a11750e7.js.map +0 -1
  1608. package/cjs/useReorderableItem-64be8d2b.js +0 -299
  1609. package/cjs/useReorderableItem-64be8d2b.js.map +0 -1
  1610. package/cjs/useRovingTabIndexContainer-0ce4681d.js +0 -108
  1611. package/cjs/useRovingTabIndexContainer-0ce4681d.js.map +0 -1
  1612. package/cjs/useScale-db16c2b8.js +0 -21
  1613. package/cjs/useScale-db16c2b8.js.map +0 -1
  1614. package/cjs/useSelectCommon-27afecfa.js +0 -507
  1615. package/cjs/useSelectCommon-27afecfa.js.map +0 -1
  1616. package/cjs/useSelectDrill-0b4b47ec.js +0 -114
  1617. package/cjs/useSelectDrill-0b4b47ec.js.map +0 -1
  1618. package/cjs/useSelection-37939f09.js +0 -260
  1619. package/cjs/useSelection-37939f09.js.map +0 -1
  1620. package/cjs/useSelection-da64e28e.js +0 -188
  1621. package/cjs/useSelection-da64e28e.js.map +0 -1
  1622. package/cjs/useTabBar-35b73d10.js +0 -309
  1623. package/cjs/useTabBar-35b73d10.js.map +0 -1
  1624. package/cjs/useTestId-4f53d561.js +0 -23
  1625. package/cjs/useTestId-4f53d561.js.map +0 -1
  1626. package/cjs/useTextAreaAltEnter-11424062.js +0 -64
  1627. package/cjs/useTextAreaAltEnter-11424062.js.map +0 -1
  1628. package/cjs/useTheme-2a034a21.js +0 -21
  1629. package/cjs/useTheme-2a034a21.js.map +0 -1
  1630. package/cjs/useThemeInterpolations-a37b37d9.js +0 -71
  1631. package/cjs/useThemeInterpolations-a37b37d9.js.map +0 -1
  1632. package/cjs/useTooltip-34accecc.js +0 -51
  1633. package/cjs/useTooltip-34accecc.js.map +0 -1
  1634. package/cjs/useTooltipControlled-0a95856c.js +0 -376
  1635. package/cjs/useTooltipControlled-0a95856c.js.map +0 -1
  1636. package/cjs/useTooltipOnTruncation-8867b10e.js +0 -29
  1637. package/cjs/useTooltipOnTruncation-8867b10e.js.map +0 -1
  1638. package/cjs/useTranslationBundle-12dd087d.js +0 -31
  1639. package/cjs/useTranslationBundle-12dd087d.js.map +0 -1
  1640. package/cjs/useUser-1295b5cb.js +0 -21
  1641. package/cjs/useUser-1295b5cb.js.map +0 -1
  1642. package/cjs/useVisDragModeControls-2443a4e0.js +0 -89
  1643. package/cjs/useVisDragModeControls-2443a4e0.js.map +0 -1
  1644. package/cjs/useVisEvents-334c2c8d.js +0 -155
  1645. package/cjs/useVisEvents-334c2c8d.js.map +0 -1
  1646. package/cjs/withDirectionIcon-4940a248.js +0 -16
  1647. package/cjs/withDirectionIcon-4940a248.js.map +0 -1
  1648. package/es/BaseButton-41068c85.js +0 -84
  1649. package/es/BaseButton-41068c85.js.map +0 -1
  1650. package/es/BaseCardView-b3d8bae0.js +0 -634
  1651. package/es/BaseCardView-b3d8bae0.js.map +0 -1
  1652. package/es/BaseDiagram-b5b22e53.js +0 -2954
  1653. package/es/BaseDiagram-b5b22e53.js.map +0 -1
  1654. package/es/Button-956f51c7.js +0 -22
  1655. package/es/Button-956f51c7.js.map +0 -1
  1656. package/es/ButtonSetButton-8685c752.js +0 -33
  1657. package/es/ButtonSetButton-8685c752.js.map +0 -1
  1658. package/es/ButtonSetIconButton-c8ed85f9.js +0 -38
  1659. package/es/ButtonSetIconButton-c8ed85f9.js.map +0 -1
  1660. package/es/ButtonSetItem-280755f3.js +0 -65
  1661. package/es/ButtonSetItem-280755f3.js.map +0 -1
  1662. package/es/Center-71a03e65.js +0 -16
  1663. package/es/Center-71a03e65.js.map +0 -1
  1664. package/es/Chart-8c63da28.js +0 -752
  1665. package/es/Chart-8c63da28.js.map +0 -1
  1666. package/es/ColorPicker-ae648c4c.js +0 -23
  1667. package/es/ColorPicker-ae648c4c.js.map +0 -1
  1668. package/es/CompactLabelAssistance-e2fcfcab.js +0 -92
  1669. package/es/CompactLabelAssistance-e2fcfcab.js.map +0 -1
  1670. package/es/DatePicker-7287f0f9.js +0 -599
  1671. package/es/DatePicker-7287f0f9.js.map +0 -1
  1672. package/es/DatePickerHeader-f8cf86bb.js +0 -46
  1673. package/es/DatePickerHeader-f8cf86bb.js.map +0 -1
  1674. package/es/Dialog-83368f52.js +0 -387
  1675. package/es/Dialog-83368f52.js.map +0 -1
  1676. package/es/Dropdown-019aba37.js +0 -318
  1677. package/es/Dropdown-019aba37.js.map +0 -1
  1678. package/es/EmbeddedIconButton-46434710.js +0 -11
  1679. package/es/EmbeddedIconButton-46434710.js.map +0 -1
  1680. package/es/EnvironmentProvider-6a0a8212.js +0 -58
  1681. package/es/EnvironmentProvider-6a0a8212.js.map +0 -1
  1682. package/es/Flex-03129963.js +0 -30
  1683. package/es/Flex-03129963.js.map +0 -1
  1684. package/es/Floating-4a82db94.js +0 -465
  1685. package/es/Floating-4a82db94.js.map +0 -1
  1686. package/es/Grid-9e4b4f19.js +0 -27
  1687. package/es/Grid-9e4b4f19.js.map +0 -1
  1688. package/es/HighlightText-0205faef.js +0 -31
  1689. package/es/HighlightText-0205faef.js.map +0 -1
  1690. package/es/IconSwitchButton-05f1f602.js +0 -42
  1691. package/es/IconSwitchButton-05f1f602.js.map +0 -1
  1692. package/es/IconToggleButton-808818f5.js +0 -41
  1693. package/es/IconToggleButton-808818f5.js.map +0 -1
  1694. package/es/IconUserAssistance-61978211.js +0 -74
  1695. package/es/IconUserAssistance-61978211.js.map +0 -1
  1696. package/es/Layer-535577b5.js +0 -91
  1697. package/es/Layer-535577b5.js.map +0 -1
  1698. package/es/LayerHost-7931b424.js +0 -41
  1699. package/es/LayerHost-7931b424.js.map +0 -1
  1700. package/es/LayerManager-52a26c55.js +0 -34
  1701. package/es/LayerManager-52a26c55.js.map +0 -1
  1702. package/es/Link-8503aab2.js +0 -33
  1703. package/es/Link-8503aab2.js.map +0 -1
  1704. package/es/LiveRegion-cebac18d.js +0 -39
  1705. package/es/LiveRegion-cebac18d.js.map +0 -1
  1706. package/es/MaxLengthLiveRegion-8099fde5.js +0 -26
  1707. package/es/MaxLengthLiveRegion-8099fde5.js.map +0 -1
  1708. package/es/MessageLayer-2a7fdec7.js +0 -58
  1709. package/es/MessageLayer-2a7fdec7.js.map +0 -1
  1710. package/es/MonthView-4b2b483a.js +0 -208
  1711. package/es/MonthView-4b2b483a.js.map +0 -1
  1712. package/es/NavigationListItem-340ab770.js +0 -309
  1713. package/es/NavigationListItem-340ab770.js.map +0 -1
  1714. package/es/OverflowTabBarItem-aa0ce915.js +0 -257
  1715. package/es/OverflowTabBarItem-aa0ce915.js.map +0 -1
  1716. package/es/Popup-992b6c27.js +0 -298
  1717. package/es/Popup-992b6c27.js.map +0 -1
  1718. package/es/ProgressCircle-46084d0b.js +0 -48
  1719. package/es/ProgressCircle-46084d0b.js.map +0 -1
  1720. package/es/ReferenceLineArea-53129f72.js +0 -586
  1721. package/es/ReferenceLineArea-53129f72.js.map +0 -1
  1722. package/es/RevealToggleIcon-2d622d8f.js +0 -26
  1723. package/es/RevealToggleIcon-2d622d8f.js.map +0 -1
  1724. package/es/SectionedContent-30e5bf98.js +0 -65
  1725. package/es/SectionedContent-30e5bf98.js.map +0 -1
  1726. package/es/SelectMenuGroupContext-aa1fe822.js +0 -542
  1727. package/es/SelectMenuGroupContext-aa1fe822.js.map +0 -1
  1728. package/es/SelectMobileFieldInput-345c4d45.js +0 -241
  1729. package/es/SelectMobileFieldInput-345c4d45.js.map +0 -1
  1730. package/es/SelectorAll-de7ba2e1.js +0 -51
  1731. package/es/SelectorAll-de7ba2e1.js.map +0 -1
  1732. package/es/StyledDatePickerButton-78f2f6e8.js +0 -31
  1733. package/es/StyledDatePickerButton-78f2f6e8.js.map +0 -1
  1734. package/es/StyledLabelValueLayout-bb05f474.js +0 -18
  1735. package/es/StyledLabelValueLayout-bb05f474.js.map +0 -1
  1736. package/es/Submenu-cbd77756.js +0 -247
  1737. package/es/Submenu-cbd77756.js.map +0 -1
  1738. package/es/TabBar-67ca442c.js +0 -71
  1739. package/es/TabBar-67ca442c.js.map +0 -1
  1740. package/es/TabBarContextMenu-c3326d67.js +0 -99
  1741. package/es/TabBarContextMenu-c3326d67.js.map +0 -1
  1742. package/es/TabBarLinkItem-e7be54fa.js +0 -13
  1743. package/es/TabBarLinkItem-e7be54fa.js.map +0 -1
  1744. package/es/Table-2f197c6a.js +0 -4112
  1745. package/es/Table-2f197c6a.js.map +0 -1
  1746. package/es/TextArea-93ce78a7.js +0 -225
  1747. package/es/TextArea-93ce78a7.js.map +0 -1
  1748. package/es/ToggleButton-bb69cf10.js +0 -28
  1749. package/es/ToggleButton-bb69cf10.js.map +0 -1
  1750. package/es/ToggleButtonLabel-7f53fbee.js +0 -71
  1751. package/es/ToggleButtonLabel-7f53fbee.js.map +0 -1
  1752. package/es/TruncatingLink-298c6343.js +0 -56
  1753. package/es/TruncatingLink-298c6343.js.map +0 -1
  1754. package/es/View-5bdd9b3c.js +0 -167
  1755. package/es/View-5bdd9b3c.js.map +0 -1
  1756. package/es/VisStatusMessage-e2d629bb.js +0 -29
  1757. package/es/VisStatusMessage-e2d629bb.js.map +0 -1
  1758. package/es/VisTabularDatatip-85b00c1b.js +0 -24
  1759. package/es/VisTabularDatatip-85b00c1b.js.map +0 -1
  1760. package/es/WindowOverlay-7264c44a.js +0 -110
  1761. package/es/WindowOverlay-7264c44a.js.map +0 -1
  1762. package/es/YearsGridView-6c18094a.js +0 -187
  1763. package/es/YearsGridView-6c18094a.js.map +0 -1
  1764. package/es/popupUtils-51366a29.js +0 -29
  1765. package/es/popupUtils-51366a29.js.map +0 -1
  1766. package/es/tooltipUtils-af0abd38.js +0 -110
  1767. package/es/tooltipUtils-af0abd38.js.map +0 -1
  1768. package/es/useChartContextMenu-5de82cd7.js +0 -123
  1769. package/es/useChartContextMenu-5de82cd7.js.map +0 -1
  1770. package/es/useChartDatatip-8dd22b71.js +0 -336
  1771. package/es/useChartDatatip-8dd22b71.js.map +0 -1
  1772. package/es/useChartMarquee-761eb7db.js +0 -304
  1773. package/es/useChartMarquee-761eb7db.js.map +0 -1
  1774. package/es/useColorScheme-c4f6caab.js +0 -19
  1775. package/es/useColorScheme-c4f6caab.js.map +0 -1
  1776. package/es/useContextMenu-730d6c12.js +0 -116
  1777. package/es/useContextMenu-730d6c12.js.map +0 -1
  1778. package/es/useCssVars-bc2527ac.js +0 -58
  1779. package/es/useCssVars-bc2527ac.js.map +0 -1
  1780. package/es/useCurrentKey-5f865bbd.js +0 -83
  1781. package/es/useCurrentKey-5f865bbd.js.map +0 -1
  1782. package/es/useDatatip-4895a07a.js +0 -94
  1783. package/es/useDatatip-4895a07a.js.map +0 -1
  1784. package/es/useDensity-1acb0153.js +0 -19
  1785. package/es/useDensity-1acb0153.js.map +0 -1
  1786. package/es/useDisplayValue-65bbc74e.js +0 -78
  1787. package/es/useDisplayValue-65bbc74e.js.map +0 -1
  1788. package/es/useExpandCollapse-5739cfd2.js +0 -70
  1789. package/es/useExpandCollapse-5739cfd2.js.map +0 -1
  1790. package/es/useFloating-b9d680f7.js +0 -1916
  1791. package/es/useFloating-b9d680f7.js.map +0 -1
  1792. package/es/useHiddenTestMethod-f3f25093.js +0 -28
  1793. package/es/useHiddenTestMethod-f3f25093.js.map +0 -1
  1794. package/es/useKeyboardEvents-9aae7ea3.js +0 -85
  1795. package/es/useKeyboardEvents-9aae7ea3.js.map +0 -1
  1796. package/es/useLegendContextMenu-a678b26f.js +0 -279
  1797. package/es/useLegendContextMenu-a678b26f.js.map +0 -1
  1798. package/es/useMeterDatatip-538a4d53.js +0 -73
  1799. package/es/useMeterDatatip-538a4d53.js.map +0 -1
  1800. package/es/useOutsideClick-b777a43e.js +0 -115
  1801. package/es/useOutsideClick-b777a43e.js.map +0 -1
  1802. package/es/useOutsideMousedown-c45c22c0.js +0 -48
  1803. package/es/useOutsideMousedown-c45c22c0.js.map +0 -1
  1804. package/es/usePopupAnimation-96d2bc83.js +0 -85
  1805. package/es/usePopupAnimation-96d2bc83.js.map +0 -1
  1806. package/es/usePrefixSuffix-f981b65f.js +0 -70
  1807. package/es/usePrefixSuffix-f981b65f.js.map +0 -1
  1808. package/es/useRadioFocusManager-36eb283e.js +0 -108
  1809. package/es/useRadioFocusManager-36eb283e.js.map +0 -1
  1810. package/es/useReorderableItem-857636b7.js +0 -296
  1811. package/es/useReorderableItem-857636b7.js.map +0 -1
  1812. package/es/useRovingTabIndexContainer-5992e107.js +0 -106
  1813. package/es/useRovingTabIndexContainer-5992e107.js.map +0 -1
  1814. package/es/useScale-434ad939.js +0 -19
  1815. package/es/useScale-434ad939.js.map +0 -1
  1816. package/es/useSelectCommon-a3c69d60.js +0 -489
  1817. package/es/useSelectCommon-a3c69d60.js.map +0 -1
  1818. package/es/useSelectDrill-f669e729.js +0 -111
  1819. package/es/useSelectDrill-f669e729.js.map +0 -1
  1820. package/es/useSelection-65134722.js +0 -258
  1821. package/es/useSelection-65134722.js.map +0 -1
  1822. package/es/useSelection-82bec039.js +0 -186
  1823. package/es/useSelection-82bec039.js.map +0 -1
  1824. package/es/useTabBar-c5558e77.js +0 -305
  1825. package/es/useTabBar-c5558e77.js.map +0 -1
  1826. package/es/useTestId-f24ac480.js +0 -21
  1827. package/es/useTestId-f24ac480.js.map +0 -1
  1828. package/es/useTheme-0e7497db.js +0 -19
  1829. package/es/useTheme-0e7497db.js.map +0 -1
  1830. package/es/useThemeInterpolations-e144e8ec.js +0 -68
  1831. package/es/useThemeInterpolations-e144e8ec.js.map +0 -1
  1832. package/es/useTooltip-94af94d4.js +0 -49
  1833. package/es/useTooltip-94af94d4.js.map +0 -1
  1834. package/es/useTooltipControlled-f2cfa454.js +0 -373
  1835. package/es/useTooltipControlled-f2cfa454.js.map +0 -1
  1836. package/es/useTooltipOnTruncation-94282e75.js +0 -27
  1837. package/es/useTooltipOnTruncation-94282e75.js.map +0 -1
  1838. package/es/useTranslationBundle-4822502f.js +0 -29
  1839. package/es/useTranslationBundle-4822502f.js.map +0 -1
  1840. package/es/useUser-06d34d19.js +0 -19
  1841. package/es/useUser-06d34d19.js.map +0 -1
  1842. package/es/useVisDragModeControls-af64848c.js +0 -87
  1843. package/es/useVisDragModeControls-af64848c.js.map +0 -1
  1844. package/es/useVisEvents-256dee29.js +0 -153
  1845. package/es/useVisEvents-256dee29.js.map +0 -1
  1846. package/es/withDirectionIcon-a8d84a3d.js +0 -14
  1847. package/es/withDirectionIcon-a8d84a3d.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PictoChart-c303675a.js","sources":["../../src/UNSAFE_PictoChart/PictoChartContext.tsx","../../src/UNSAFE_PictoChart/pictoChartLayoutUtils.ts","../../src/UNSAFE_PictoChart/pictoChartUtils.tsx","../../src/UNSAFE_PictoChart/pictoChartNavUtils.ts","../../src/UNSAFE_PictoChart/usePictoChartDatatip.ts","../../src/UNSAFE_PictoChart/PictoChartElement.tsx","../../src/UNSAFE_PictoChart/PictoChartWithDimensions.tsx","../../src/UNSAFE_PictoChart/useEvents.ts","../../src/UNSAFE_PictoChart/usePictoChartContextMenu.ts","../../src/UNSAFE_PictoChart/PictoChart.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 */\n\nimport { createContext } from 'preact';\nimport { useContext } from 'preact/hooks';\n\ntype PictoChartContextValue = {\n supportsSelection?: boolean;\n};\n\nconst PictoChartContext = createContext<PictoChartContextValue>({} as PictoChartContextValue);\nconst usePictoChartContext = () => useContext(PictoChartContext);\n\nexport { PictoChartContext, usePictoChartContext };\n","import type { PictoChartItemData } from './pictoChart.type';\nimport { DEFAULT_SIZE } from './themes/PictoChartStyles.css';\n\nconst GAP_RATIO = 0.25;\n\nfunction _ceil(a: number, b: number) {\n return Math.ceil(a / b) * b;\n}\n\nexport function getFlowingInfo<K, D extends PictoChartItemData<K>>(\n items: D[],\n isVert: boolean,\n width: number,\n height: number,\n isFlowingWidth: boolean,\n isFlowingHeight: boolean,\n colCount?: number,\n rowCount?: number,\n colWidth?: number,\n rowHeight?: number\n) {\n let numCells = 0;\n let maxColSpan = 1;\n let maxRowSpan = 1;\n let minSpan = Infinity;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n const columnSpan = item.columnSpan || 1;\n const rowSpan = item.rowSpan || 1;\n if (columnSpan <= 0 || rowSpan <= 0) continue;\n\n // Compute the maximum columnSpan and rowSpan\n if (columnSpan > maxColSpan) maxColSpan = columnSpan;\n if (rowSpan > maxRowSpan) maxRowSpan = rowSpan;\n\n // Compute minimum span for gap computation\n if (columnSpan < minSpan) minSpan = columnSpan;\n if (rowSpan < minSpan) minSpan = rowSpan;\n\n numCells += columnSpan * rowSpan * (item.count || 1);\n }\n\n if (numCells === 0) return {};\n\n // Default colWidth and rowHeight for flowing layout\n if (isFlowingWidth || isFlowingHeight) {\n if (!colWidth) colWidth = rowHeight ? rowHeight : DEFAULT_SIZE;\n if (!rowHeight) rowHeight = colWidth;\n }\n\n // Default colCount and rowCount for both layouts\n // We set the default colCount (or rowCount) to be an integer multiple of the maxColSpan (or maxRowSpan) to\n // ensure that all the items can find a spot to occupy in the mixed sizes case.\n if (!colCount && !rowCount) {\n // Try to achieve square cells, (width / colCount) = (height / rowCount)\n if (!isFlowingWidth && !isFlowingHeight) {\n if (isVert) rowCount = _ceil(Math.sqrt((numCells * height) / width), maxRowSpan);\n else colCount = _ceil(Math.sqrt((numCells * width) / height), maxColSpan);\n } else if (!isFlowingWidth) colCount = Math.max(Math.floor(width / (colWidth || 1)), 1);\n else if (!isFlowingHeight) rowCount = Math.max(Math.floor(height / (rowHeight || 1)), 1);\n else {\n if (isVert) rowCount = _ceil(Math.sqrt(numCells), maxRowSpan);\n else colCount = _ceil(Math.sqrt(numCells), maxColSpan);\n }\n }\n\n // Now only either colCount or rowCount is undefined\n if (!colCount) colCount = _ceil(numCells / (rowCount || 1), maxColSpan);\n else if (!rowCount) rowCount = _ceil(numCells / colCount, maxRowSpan);\n\n const gridGap = GAP_RATIO * minSpan;\n // Default colWidth and rowHeight for fixed layout\n if (!isFlowingWidth && !isFlowingHeight) {\n if (!colWidth)\n colWidth = rowHeight ? rowHeight : Math.min(width / colCount, height / (rowCount || 1));\n if (!rowHeight) rowHeight = colWidth;\n }\n\n if (\n colCount <= 0 ||\n !rowCount ||\n rowCount <= 0 ||\n !colWidth ||\n colWidth <= 0 ||\n !rowHeight ||\n rowHeight <= 0\n )\n return {};\n\n return {\n calcColCount: colCount,\n calcRowCount: rowCount,\n calcColWidth: colWidth ? colWidth - gridGap : colWidth,\n calcRowHeight: rowHeight ? rowHeight - gridGap : rowHeight,\n gridGap: gridGap\n };\n}\n\n/**\n * Returns whether the pictoChart is layout from bottom to top.\n */\nconst isOriginBottom = (origin: string) => {\n return origin === 'bottomStart' || origin === 'bottomEnd';\n};\n\n/**\n * Returns whether the pictoChart is layout from right to left.\n */\nconst isOriginRight = (origin: string) => {\n const isEnd = origin === 'topEnd' || origin === 'bottomEnd';\n return isEnd;\n};\n\n/**\n * Returns whether the cells are available given col, row and columnSpan, rowSpan needed.\n */\nconst areCellsAvailable = (\n map: boolean[][],\n col: number,\n row: number,\n columnSpan: number,\n rowSpan: number\n) => {\n for (let r = 0; r < rowSpan; r++) {\n for (let c = 0; c < columnSpan; c++) {\n if (map[row + r][col + c]) return false;\n }\n }\n return true;\n};\n\n/**\n * Occupies the cell in the map given col, row and columnSpan, rowSpan.\n */\nconst occupyCells = (\n map: boolean[][],\n col: number,\n row: number,\n columnSpan: number,\n rowSpan: number\n) => {\n for (let r = 0; r < rowSpan; r++) {\n for (let c = 0; c < columnSpan; c++) {\n map[row + r][col + c] = true;\n }\n }\n};\n\n/**\n * Returns whether the cells are available given col, row and the colCount and rowCount of the pictochart.\n */\nconst findNextAvailableCell = (\n map: boolean[][],\n columnSpan: number,\n rowSpan: number,\n colCount: number,\n rowCount: number,\n isVert: boolean\n): { row: number; col: number } | undefined => {\n if (isVert) {\n for (let c = 0; c <= colCount - columnSpan; c++) {\n for (let r = 0; r <= rowCount - rowSpan; r++) {\n if (areCellsAvailable(map, c, r, columnSpan, rowSpan)) {\n occupyCells(map, c, r, columnSpan, rowSpan);\n return { col: c, row: r };\n }\n }\n }\n return;\n }\n \n for (let r = 0; r < rowCount - rowSpan + 1; r++) {\n for (let c = 0; c < colCount - columnSpan + 1; c++) {\n if (areCellsAvailable(map, c, r, columnSpan, rowSpan)) {\n occupyCells(map, c, r, columnSpan, rowSpan);\n return { col: c, row: r };\n }\n }\n }\n\n return;\n};\n\n/**\n * Returns the picto items with row and col of the pictochart.\n */\nexport function generateElementCoords<K, D extends PictoChartItemData<K>>(\n items: D[],\n row: number,\n column: number,\n layoutOrigin: 'topStart' | 'topEnd' | 'bottomStart' | 'bottomEnd',\n isVert: boolean) {\n const rowCount = row;\n const colCount = column;\n const isLayoutBottom = isOriginBottom(layoutOrigin);\n const isLayoutRight = isOriginRight(layoutOrigin);\n const pictoItems = [];\n\n const map: boolean[][] = new Array(rowCount);\n for (let i = 0; i < rowCount; i++) {\n map[i] = new Array(colCount).fill(false);\n }\n\n const isFractionalLeft = true;\n let lastFractionalCell = {\n row: -1, \n col: -1, \n count: 0, \n direction: isFractionalLeft,\n rowSpan: 1,\n columnSpan: 1\n };\n\n for (let i = 0; i < items.length; i++) {\n const currItem = items[i];\n const rowSpan = currItem.rowSpan ?? 1;\n const columnSpan = currItem.columnSpan ?? 1;\n let totalCount = currItem.count ?? 1;\n\n // fill previous fractional cell if needed\n if (lastFractionalCell.count > 0 && lastFractionalCell.count < 1\n && lastFractionalCell.rowSpan === rowSpan &&\n lastFractionalCell.columnSpan === columnSpan) {\n const amountToFill = 1 - lastFractionalCell.count;\n const fillAmount = Math.min(amountToFill, totalCount);\n\n const filledRow = isLayoutBottom\n ? rowCount - lastFractionalCell.row - rowSpan\n : lastFractionalCell.row;\n const filledCol = isLayoutRight\n ? colCount - lastFractionalCell.col - columnSpan\n : lastFractionalCell.col;\n\n pictoItems.push({\n row: filledRow,\n col: filledCol,\n countIdx: i,\n itemIdx: i,\n item: currItem,\n fractionalStart: lastFractionalCell.count,\n fractionalEnd: lastFractionalCell.count + fillAmount\n });\n\n lastFractionalCell.count += fillAmount;\n totalCount -= fillAmount;\n\n if (lastFractionalCell.count >= 1) {\n lastFractionalCell = { row: -1, col: -1, count: 0, direction: isFractionalLeft, rowSpan, columnSpan};\n } else {\n continue;\n }\n }\n\n // fill with full units first\n const fullUnits = Math.floor(totalCount);\n for (let j = 0; j < fullUnits; j++) {\n const cell = findNextAvailableCell(map, columnSpan, rowSpan, colCount, rowCount, isVert);\n if (cell) {\n const currRow = isLayoutBottom ? rowCount - cell.row - rowSpan : cell.row;\n const currCol = isLayoutRight ? colCount - cell.col - columnSpan : cell.col;\n\n pictoItems.push({\n row: currRow,\n col: currCol,\n countIdx: j,\n itemIdx: i,\n item: currItem,\n fractionalStart: 0,\n fractionalEnd: 1\n });\n }\n }\n\n // fill with the current item's remaining fractional cell\n const remainder = totalCount - fullUnits;\n if (remainder > 0 && remainder < 1) {\n const cell = findNextAvailableCell(map, columnSpan, rowSpan, colCount, rowCount, isVert);\n if (cell) {\n lastFractionalCell = {\n row: cell.row,\n col: cell.col,\n count: remainder,\n direction: true,\n rowSpan,\n columnSpan \n };\n\n const newRow = isLayoutBottom ? rowCount - cell.row - rowSpan : cell.row;\n const newCol = isLayoutRight ? colCount - cell.col - columnSpan : cell.col;\n\n pictoItems.push({\n row: newRow,\n col: newCol,\n countIdx: remainder,\n itemIdx: i,\n item: currItem,\n fractionalStart: 0,\n fractionalEnd: remainder\n });\n }\n }\n }\n return pictoItems;\n}","import type { ComponentChildren, JSX } from 'preact';\nimport type {\n ItemInfo,\n PictoChartItemData,\n MarkerRendererContext,\n PictoRendererOptions,\n DatatipContext\n} from './pictoChart.type';\nimport type { UnpackSignals } from '@oracle/oraclejet-internal-utilities/attributeUtils';\nimport { BundleType } from '#resources/nls/bundle';\nimport { MarkerShapes } from '#utils/UNSAFE_visTypes/common';\nimport { colorSchemeVars } from '@oracle/oraclejet-internal-theme-contract/themeContract.css';\nimport { rgb, rgba } from '#UNSAFE_Theme';\nimport { SvgSymbol } from '#PRIVATE_SvgShapes';\nimport { usePictoChartContext } from './PictoChartContext';\nimport { Property } from 'csstype';\nimport { ColorProps } from '#utils/UNSAFE_interpolations/colors';\nimport { generateAriaLabel } from '#utils/UNSAFE_visUtils/accUtils';\n\n/**\n * Checks if the item is highlighted.\n * @param id Id of the item\n * @param highlighted The set of highlighted item\n */\nexport function isItemHighlighted<K>(id: K, highlightedIds?: K[]) {\n if (!highlightedIds || highlightedIds.length === 0) {\n return true;\n }\n return new Set(highlightedIds).has(id);\n}\n\n/**\n * Checks if the item is highlighted.\n * @param id Id of the item\n * @param selectedIds The set of highlighted item\n */\nexport function isItemSelected<K>(id: K, selectedIds?: K[]) {\n if (!selectedIds || selectedIds.length === 0) {\n return false;\n }\n return new Set(selectedIds).has(id);\n}\n\n/**\n * Returns the value of the data-oj-private-item-index attribute for a given element.\n * @param element The HTML element.\n */\nexport function getItemInfo(element: HTMLElement) {\n const itemIdx = element.dataset['idx'];\n if (itemIdx === undefined) return;\n\n return {\n idx: Number(itemIdx)\n };\n}\n\n/**\n * Returns the item props for PictoChart.\n * @param item The picto chart item.\n * @param itemIdx The item index of the item.\n * @param countIdx The item count of the item.\n * @param isReadOnly Whether the picto chart is readonly.\n * @param hoveredItem The info of the currently hovered item.\n * @param selectedIds The selected Ids\n * @param focusedItem The info of currently focused item.\n * @param highlightedIds The highlighted ids.\n * @param activeId The active Id\n */\nexport function getItemProps<K, D extends PictoChartItemData<K>>(\n item: D,\n itemIdx: number,\n countIdx: number,\n isReadOnly: boolean,\n hoveredItem?: ItemInfo,\n selectedIds?: Array<K>,\n focusedItem?: ItemInfo,\n highlightedIds?: Array<K>,\n activeId?: string,\n isVert?: boolean,\n layoutOrigin?: string\n) {\n let isCurrent = false;\n if (!isReadOnly) {\n const isFocusedItem = !!focusedItem && itemIdx === focusedItem.idx;\n const isHoveredItem = !!hoveredItem && itemIdx === hoveredItem.idx;\n isCurrent = !!(\n (isFocusedItem && focusedItem?.isCurrent) ||\n (isHoveredItem && hoveredItem?.isCurrent)\n );\n }\n const isHighlighted = isItemHighlighted<K>(item.id, highlightedIds);\n const isSelected = isItemSelected(item.id, selectedIds);\n const hasSelection = selectedIds && selectedIds.length !== 0;\n\n return {\n isCurrent,\n isHighlighted: isHighlighted,\n isSelected: isSelected,\n hasSelection,\n isFocused: focusedItem ? hasFocusRing(focusedItem, itemIdx) : false,\n key: item.id,\n itemIdx,\n countIdx,\n activeId: isCurrent ? activeId : undefined,\n isReadOnly,\n item: item,\n isVerticalLayout: isVert,\n layoutOrigin: layoutOrigin\n };\n}\n\n/**\n * Compares if two ItemInfo are equal\n * @param item1\n * @param item2\n * @returns\n */\nexport function isEqualItem(item1?: ItemInfo, item2?: ItemInfo) {\n return item1?.idx === item2?.idx;\n}\n\n/**\n * Checks if the item is the currentItem and if the focus ring\n * is visible.\n * @param itemInfo ItemInfo\n * @param itemIdx Item index\n */\nexport function hasFocusRing(itemInfo: ItemInfo, itemIdx: number) {\n if (!itemInfo.isFocusVisible) return false;\n return itemInfo.idx === itemIdx;\n}\n\n/**\n *\n */\nexport function getCountWithTotal(itemCount: number, totalCount: number, translations: BundleType) {\n const totalWithCountLabel = `${translations?.vis_labelCountWithTotal({\n itemCount: itemCount.toString(),\n totalCount: totalCount.toString()\n })}`;\n return totalWithCountLabel;\n}\n\n/**\n * Returns the aria properties for the picto chart.\n * @param isReadOnly { boolean } If the picto chart is readonly.\n * @param accessibleLabel { string } The aria-label set by the app.\n * @returns The aria props.\n */\nexport function getItemAriaProps(\n itemCount: number,\n totalCount: number,\n supportsSelection: boolean,\n label?: string,\n translations?: BundleType,\n isSelected?: boolean,\n hasSelection?: boolean,\n accessibleLabel?: string,\n activeId?: string\n): {\n 'aria-label'?: UnpackSignals<JSX.AriaAttributes>['aria-label'];\n role: UnpackSignals<JSX.HTMLAttributes['role']>;\n id?: string;\n} {\n const totalWithCountLabel = translations\n ? getCountWithTotal(itemCount, totalCount, translations)\n : '';\n\n accessibleLabel = accessibleLabel || `${label ? label + ': ' : ''}${totalWithCountLabel}`; // TODO: use a translation string for :\n\n return {\n 'aria-label':\n generateAriaLabel(translations!, accessibleLabel, {\n isSelected: !supportsSelection && !hasSelection ? undefined : isSelected\n }) || undefined,\n role: 'img',\n id: activeId\n };\n}\n\n/**\n * Returns the marker props for SVGSymbol\n */\nexport function getMarkerProps(\n shape: MarkerShapes,\n color?: ColorProps['color'],\n isFocused?: boolean,\n isSelected?: boolean,\n isCurrent?: boolean,\n supportsSelection?: boolean\n) {\n const isHuman = shape === 'human';\n const applyHover = isFocused || (isCurrent && supportsSelection);\n const isNoneEqualSides = shape === 'ellipse' || shape === 'rectangle';\n const isDefault = color === '' || color == null;\n color = !isDefault ? color : rgba(colorSchemeVars.palette.neutral['190'], 0.15);\n const outerBorderColor = isSelected ? colorSchemeVars.textIcon.primary : applyHover ? color : '';\n\n return {\n markerShape: shape,\n tx: isHuman ? 70 : undefined,\n ty: isHuman ? 60 : undefined,\n markerColor: color,\n borderColor: isSelected || applyHover ? rgb(colorSchemeVars.palette.neutral[0]) : color,\n outerBorderColor,\n markerScale: isNoneEqualSides && !outerBorderColor ? 1 : 0.85,\n setAspectRatioNone: isNoneEqualSides ? true : false\n };\n}\n\n// Creating component to read the context\nconst PictoRenderer = <K,>({\n context,\n markerProps\n}: {\n context: MarkerRendererContext<K>;\n markerProps: PictoRendererOptions;\n}) => {\n const { supportsSelection } = usePictoChartContext();\n const markerProp = getMarkerProps(\n markerProps.shape,\n markerProps.color,\n context.state.focused,\n context.state.selected,\n context.state.hovered,\n supportsSelection\n );\n\n return <SvgSymbol {...markerProp} />;\n};\n\n/**\n * Returns the marker renderer for SVGSymbol\n */\nexport function getPictoDefaultRenderers<\n K,\n D extends PictoChartItemData<K> = PictoChartItemData<K>\n>(rendererOptions: (data: D) => PictoRendererOptions) {\n return {\n markerRenderer: (context: MarkerRendererContext<D>) => {\n const props = rendererOptions(context.data); // TODO: should we add default values\n return <PictoRenderer context={context} markerProps={props} />;\n },\n datatipRenderer: (context: DatatipContext<D>) => {\n const props = rendererOptions(context.data);\n return { borderColor: props.color };\n }\n };\n}\n\nexport function getTotalCount<K>(items: PictoChartItemData<K>[]) {\n let totalCount = 0;\n for (let i = 0; i < items.length; i++) {\n totalCount += items[i].count || 1;\n }\n return totalCount;\n}\n\n/**\n * Returns the text for the picto chart datatip.\n * @param items The picto chart items data.\n * @param focusedItem The item currently keyboard focused.\n * @param hoveredItem The item that is currently hovered.\n * @param datatip The datatip.\n */\nexport function getDatatipContent<K, D extends PictoChartItemData<K>>(\n items: D[],\n getItem: (itemInfo: ItemInfo, items: D[]) => D | undefined,\n totalCount: number,\n focusedItem: ItemInfo,\n hoveredItem?: ItemInfo,\n datatip?: (context: DatatipContext<D>) => {\n content?: ComponentChildren;\n borderColor?: Property.BorderColor;\n defaultContainer?: 'enabled' | 'disabled';\n },\n translations?: BundleType\n) {\n let itemInfo;\n const isPointerActive = hoveredItem?.isCurrent;\n if (isPointerActive && items[hoveredItem.idx].id != null) {\n itemInfo = hoveredItem;\n }\n if (focusedItem && focusedItem.isCurrent) {\n itemInfo = focusedItem;\n }\n let _content, countWithTotal;\n let _borderColor: string = rgba(colorSchemeVars.palette.neutral['190'], 0.15);\n let _defaultContainer: 'enabled' | 'disabled' | undefined = 'enabled';\n const item = itemInfo && getItem(itemInfo, items);\n if (item && datatip) {\n // custom datatip\n const datatipContext = item && { data: item };\n const { content, borderColor, defaultContainer } = datatip(datatipContext);\n\n _content = content;\n _borderColor = borderColor || _borderColor;\n _defaultContainer = defaultContainer;\n\n countWithTotal = translations\n ? getCountWithTotal(item.count || 1, totalCount, translations)\n : '';\n }\n return {\n borderColor: _borderColor,\n content:\n _content === ''\n ? undefined\n : _content ||\n (itemInfo && getItem(itemInfo, items)?.accessibleLabel) ||\n (itemInfo && getItem(itemInfo, items)?.label + ': ' + countWithTotal) ||\n countWithTotal,\n defaultContainer: _defaultContainer\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 */\n\nimport type {\n ItemHoverDetail,\n ItemFocusDetail,\n ItemInfo,\n PictoChartItemData\n} from './pictoChart.type';\n\n/**\n * Returns the item based on item info in a picto chart.\n * @param itemInfo\n * @param items\n * @returns\n */\nfunction getItem<K, D extends PictoChartItemData<K>>(itemInfo: ItemInfo, items: D[]) {\n const { idx } = itemInfo;\n return items[idx];\n}\n\n/**\n * Returns the next item's info in a picto chart.\n * @param itemInfo\n * @param items\n * @returns\n */\nfunction getNextItemInfo<K, D extends PictoChartItemData<K>>(itemInfo: ItemInfo, items: D[], isBottomLayoutOrigin: boolean\n) {\n let idx = itemInfo.idx;\n\n idx = isBottomLayoutOrigin ? Math.max(0, idx - 1) : Math.min(items.length - 1, idx + 1);\n return { idx: idx };\n}\n\n/**\n * Returns the previous item's info in a picto chart.\n * @param itemInfo\n * @returns\n */\nfunction getPrevItemInfo<K, D extends PictoChartItemData<K>>(itemInfo: ItemInfo, items: D[], isBottomLayoutOrigin: boolean) {\n let idx = itemInfo.idx;\n\n idx = isBottomLayoutOrigin ? Math.min(items.length - 1, idx + 1) : Math.max(0, idx - 1);\n return { idx: idx };\n}\n\n/**\n * Returns utils functions for navigation in a picto chart.\n * @param items\n * @returns\n */\nexport function getPictoChartNavUtils<K, D extends PictoChartItemData<K>>(items: D[], isBottomLayoutOrigin: boolean) {\n return {\n getItem: (itemInfo: ItemInfo) => {\n return getItem(itemInfo, items);\n },\n getDetailFromInfo: (itemInfo?: ItemInfo): ItemHoverDetail<K, D> | ItemFocusDetail<K, D> => {\n if (!itemInfo) {\n return { id: undefined, data: undefined };\n }\n const item = getItem(itemInfo, items);\n return { id: item ? item.id : undefined, data: item };\n },\n getPrevItemInfo: (itemInfo: ItemInfo) => {\n return getPrevItemInfo(itemInfo, items, isBottomLayoutOrigin);\n },\n getNextItemInfo: (itemInfo: ItemInfo) => {\n return getNextItemInfo(itemInfo, items, isBottomLayoutOrigin);\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 */\n\nimport type { ItemInfo } from './pictoChart.type';\nimport { useDatatip } from '#hooks/PRIVATE_useDatatip';\nimport { calculateOffsetForPicto as calculateOffset } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport { ComponentChildren } from 'preact';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { Property } from 'csstype';\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\n\ntype Props = {\n touchResponse: 'touchStart' | 'touchHold';\n content?: ComponentChildren;\n borderColor?: Property.BorderColor;\n focusedItemInfo: ItemInfo;\n width: number;\n getFocusedItemDimension: (item: ItemInfo) => Dimension | undefined;\n defaultContainer?: 'enabled' | 'disabled';\n};\n\n/**\n * Returns the datatip.\n * @param content The text string for the picto chart item.\n * @param focusedItemRef The ref for focused item node.\n * @param focusedItemInfo The ItemInfo for focused item node.\n * @returns\n */\nexport const usePictoChartDatatip = ({\n touchResponse,\n content,\n borderColor,\n width,\n focusedItemInfo,\n getFocusedItemDimension,\n defaultContainer = 'enabled'\n}: Props) => {\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const { datatipContent, datatipProps } = useDatatip({\n content,\n placement: 'top-start',\n offset: calculateOffset(\n isRtl,\n width,\n focusedItemInfo?.isCurrent ? getFocusedItemDimension(focusedItemInfo) : undefined\n ),\n borderColor,\n anchor: focusedItemInfo?.isCurrent ? 'element' : 'pointer',\n touchResponse,\n defaultContainer\n });\n return { datatipContent: datatipContent, datatipProps: datatipProps };\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 { styles } from './themes/PictoChartStyles.css';\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { BundleType } from '#resources/nls/bundle';\nimport { getItemAriaProps } from './pictoChartUtils';\nimport type { RefObject } from 'preact';\nimport { PictoChartItemData } from './pictoChart.type';\nimport { useUser } from '#hooks/UNSAFE_useUser';\n\nexport type PictoElementProps<K, D extends PictoChartItemData<K>> = {\n item: D;\n children: ComponentChildren;\n row: number;\n column: number;\n totalCount: number;\n class?: string;\n activeId?: string;\n isHighlighted?: boolean;\n isSelected?: boolean;\n hasSelection?: boolean;\n itemIdx?: number;\n countIdx?: number;\n supportsSelection?: boolean;\n supportsDrill?: boolean;\n translations?: BundleType;\n focusedItemRef?: RefObject<HTMLDivElement>;\n fractionalStart?: number;\n fractionalEnd?: number;\n isVerticalLayout?: boolean;\n layoutOrigin?: string;\n};\n\nconst PictoChartElement = <K, D extends PictoChartItemData<K>>(props: PictoElementProps<K, D>) => {\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n const isVert = props.isVerticalLayout;\n let start = props.fractionalStart ?? 0;\n let end = props.fractionalEnd ?? 1;\n const layoutOrigin = props.layoutOrigin;\n if (isVert) {\n if (layoutOrigin === 'bottomStart' || layoutOrigin === 'bottomEnd') {\n [start, end] = [1 - end, 1 - start];\n } \n }\n else {\n if (layoutOrigin === 'bottomEnd' || layoutOrigin === 'topEnd') {\n [start, end] = [1 - end, 1 - start];\n }\n }\n const shouldClip = start !== 0 || end !== 1;\n const clipPolygon = shouldClip ?\n (isVert ? \n `polygon(0% ${start * 100}%, 100% ${start * 100}%, 100% ${end * 100}%, 0% ${end * 100}%)`\n : isRtl\n ? `polygon(${100 - end * 100}% 0%, ${100 - start * 100}% 0%, ${100 - start * 100}% 100%, ${100 - end * 100}% 100%)`\n : `polygon(${start * 100}% 0%, ${end * 100}% 0%, ${end * 100}% 100%, ${start * 100}% 100%)`)\n : undefined;\n const isInteractive = props.supportsSelection || props.supportsDrill;\n const { dimmedItemStyle, interactiveItemStyle } = styles;\n const itemClasses = classNames([\n isInteractive && interactiveItemStyle,\n !props.isHighlighted && dimmedItemStyle\n ]);\n const isFirstElement = props.countIdx === 0;\n const itemAriaProps =\n (isFirstElement &&\n getItemAriaProps(\n props.item.count || 1,\n props.totalCount,\n !!props.supportsSelection,\n props.item.label,\n props.translations,\n props.isSelected,\n props.hasSelection,\n props.item.accessibleLabel,\n props.activeId\n )) ||\n {};\n\n return (\n <div\n ref={isFirstElement ? props.focusedItemRef : undefined}\n id={props.activeId}\n data-idx={props.itemIdx}\n data-count-idx={props.countIdx}\n style={{\n gridRow: `${props.row + 1} / span ${props.item.rowSpan || 1}`,\n gridColumn: `${props.column + 1} / span ${props.item.columnSpan || 1}`,\n clipPath: clipPolygon\n }}\n class={itemClasses}\n {...itemAriaProps}>\n {props.children}\n </div>\n );\n};\n\nexport { PictoChartElement };\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 { baseStyles } from './themes/PictoChartStyles.css';\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { generateElementCoords, getFlowingInfo } from './pictoChartLayoutUtils';\nimport { useSelection } from '#hooks/PRIVATE_useVisSelection';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '#resources/nls/bundle';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { getItemInfo, getDatatipContent, getItemProps, getTotalCount } from './pictoChartUtils';\nimport { getPictoChartNavUtils } from './pictoChartNavUtils';\nimport { useEvents } from './useEvents';\nimport { usePictoChartDatatip } from './usePictoChartDatatip';\nimport { useItemFocus } from '#hooks/PRIVATE_useVisEvents';\nimport { useTestId } from '#hooks/UNSAFE_useTestId';\nimport { PictoChartProps, PictoChartItemData, ItemInfo } from './pictoChart.type';\nimport { PictoChartElement } from './PictoChartElement';\nimport { useVisTouchResponse } from '#hooks/PRIVATE_useVisTouchResponse';\nimport { merge } from '@oracle/oraclejet-internal-utilities/stringUtils';\nimport { usePictoChartContextMenu } from './usePictoChartContextMenu';\nimport { useRef } from 'preact/hooks';\nimport { useMemo } from 'preact/hooks';\nimport { useUser } from '#hooks/UNSAFE_useUser';\n\ntype PictoChartWithDimensionsProps<K, D> = Omit<PictoChartProps<K, D>, 'width' | 'height'> & {\n width: number;\n height: number;\n isFlowingWidth: boolean;\n isFlowingHeight: boolean;\n};\n\nexport function PictoChartWithDimensions<\n K extends string | number,\n D extends PictoChartItemData<K> = PictoChartItemData<K>\n>({\n width,\n height,\n columnWidth,\n rowHeight,\n items,\n columnCount,\n rowCount,\n layout,\n layoutOrigin = 'topStart',\n selectionMode = 'none',\n highlightedIds = [],\n selectedIds = [],\n drilling = 'off',\n onItemDrill,\n onItemHover,\n isFlowingWidth,\n isFlowingHeight,\n onItemFocus,\n contextMenuConfig,\n ...props\n}: PictoChartWithDimensionsProps<K, D>) {\n const rootRef = useRef<HTMLDivElement>(null);\n const hasData = items.length !== 0;\n const totalCount = getTotalCount(items);\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const supportsSelection = !!(selectionMode && selectionMode !== 'none');\n const supportsDrill = onItemDrill != null;\n const isReadOnly =\n !supportsSelection && !supportsDrill && onItemHover === null && onItemFocus === null;\n const testIdProps = useTestId(props.testId);\n const idToDataMap = new Map(items.map((obj) => [obj.id, obj]));\n const isBottomLayoutOrigin = layoutOrigin === 'bottomStart' || layoutOrigin === \"bottomEnd\";\n const { getItem, getDetailFromInfo, getPrevItemInfo, getNextItemInfo } = getPictoChartNavUtils<\n K,\n D\n >(items, isBottomLayoutOrigin);\n\n const { touchResponse, touchResponseStyle } = useVisTouchResponse({\n type: 'auto',\n supportsTouchDragGestures: false,\n rootRef\n });\n\n const { hoveredItemInfo, focusedItemInfo, activeId, eventsProps, onContextMenuDismissed } =\n useEvents<K, D>(\n touchResponse,\n !isReadOnly && hasData,\n selectionMode,\n getDetailFromInfo,\n getPrevItemInfo,\n getNextItemInfo,\n drilling,\n onItemDrill,\n onItemHover,\n onItemFocus\n );\n\n const idExtracter = (event: Event) => {\n // return focused item for keyboard event.\n // eventsProps should have already updated the focused item\n const info =\n event.type === 'keyup' ? focusedItemInfo : getItemInfo(event.target as HTMLElement);\n return getDetailFromInfo(info).id;\n };\n\n const { selectionContent, selectionProps } = useSelection<K, D>({\n idExtracter,\n isDrillEnabled: drilling != 'off',\n selection: selectedIds,\n selectionMode: selectionMode,\n getDataById: (id) => idToDataMap.get(id),\n onChange: props.onSelectionChange\n });\n\n const rectangleWidth = columnWidth && parseFloat(columnWidth);\n const rectangleHeight = rowHeight && parseFloat(rowHeight);\n const pictoStyleClasses = classNames([baseStyles]);\n const { focusedItemRef } = useItemFocus(focusedItemInfo);\n const { content, borderColor, defaultContainer } = getDatatipContent(\n items,\n getItem,\n totalCount,\n focusedItemInfo,\n hoveredItemInfo,\n props.datatip,\n translations\n );\n const { calcColCount, calcRowCount, calcColWidth, calcRowHeight, gridGap } = useMemo(() => {\n return getFlowingInfo<K, D>(\n items,\n layout === 'vertical',\n width,\n height,\n isFlowingWidth,\n isFlowingHeight,\n columnCount,\n rowCount,\n rectangleWidth,\n rectangleHeight\n );\n }, [\n items,\n layout,\n width,\n height,\n isFlowingWidth,\n isFlowingHeight,\n columnCount,\n rowCount,\n rectangleWidth,\n rectangleHeight\n ]);\n\n const { contextMenuContent, contextMenuProps } = usePictoChartContextMenu<D>({\n getItemInfo,\n focusedItemInfo,\n rootRef,\n contextMenuConfig: hasData ? contextMenuConfig : undefined,\n items,\n onContextMenuDismissed\n });\n\n if (!calcColCount)\n // Nothing to render.\n return null;\n\n const elements = generateElementCoords(\n items,\n calcRowCount,\n calcColCount,\n layoutOrigin,\n layout === 'vertical'\n );\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const getFocusedItemDimension = (item: ItemInfo) => {\n const { idx } = item;\n const { row, col } = elements.find((elt) => elt.itemIdx === idx)!;\n const xCoord = col * calcColWidth;\n const xRtlCoord = width - xCoord - calcColWidth;\n return {\n x: isRtl ? xRtlCoord : xCoord,\n y: row * calcRowHeight,\n width: calcColWidth,\n height: calcRowHeight\n };\n };\n\n const {\n datatipContent,\n datatipProps: { 'aria-describedby': datatipAriaDescribedby, ...datatipProps }\n } = usePictoChartDatatip({\n touchResponse,\n content,\n width,\n borderColor,\n focusedItemInfo,\n getFocusedItemDimension,\n defaultContainer\n });\n\n const mergedEventProps = mergeProps(eventsProps, datatipProps, selectionProps, contextMenuProps);\n return (\n <div\n ref={rootRef}\n tabIndex={0}\n aria-label={props['aria-label']}\n aria-describedby={merge([props['aria-describedby'], datatipAriaDescribedby])}\n aria-labelledby={props['aria-labelledby']}\n aria-activedescendant={activeId}\n role=\"application\"\n style={{\n width: isFlowingWidth ? 'max-content' : `${width}px`,\n height: isFlowingHeight ? 'max-content' : `${height}px`,\n gridTemplateRows: `repeat(${calcRowCount}, ${calcRowHeight}px)`,\n gridTemplateColumns: `repeat(${calcColCount}, ${calcColWidth}px)`,\n gap: `${gridGap}px`,\n ...touchResponseStyle\n }}\n class={pictoStyleClasses}\n {...testIdProps}\n {...mergedEventProps}>\n {elements.map((elt) => {\n const isFocusedItem = focusedItemInfo.idx === elt.itemIdx;\n const itemProps = getItemProps(\n elt.item,\n elt.itemIdx,\n elt.countIdx,\n isReadOnly,\n hoveredItemInfo,\n selectedIds,\n focusedItemInfo,\n highlightedIds,\n activeId,\n layout === 'vertical',\n layoutOrigin\n );\n const context = {\n data: elt.item,\n state: {\n selected: itemProps.isSelected,\n focused: itemProps.isFocused,\n hovered: itemProps.isCurrent\n }\n };\n return (\n <PictoChartElement<K, D>\n focusedItemRef={isFocusedItem ? focusedItemRef : undefined}\n row={elt.row}\n column={elt.col}\n supportsSelection={supportsSelection}\n supportsDrill={supportsDrill}\n translations={translations}\n totalCount={totalCount}\n fractionalStart={elt.fractionalStart}\n fractionalEnd={elt.fractionalEnd}\n {...itemProps}>\n {props.children(context)}\n </PictoChartElement>\n );\n })}\n {datatipContent}\n {contextMenuContent}\n {selectionContent}\n </div>\n );\n}\n","import { useCallback, useRef, useState } from 'preact/hooks';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport type {\n ItemHoverDetail,\n ItemFocusDetail,\n ItemInfo,\n PictoChartItemData,\n ItemDrillDetail\n} from './pictoChart.type';\nimport { getItemInfo, isEqualItem } from './pictoChartUtils';\nimport { getRandomId } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport { cancelEvent } from '#utils/UNSAFE_visUtils/eventsUtils';\nimport { useVisHover } from '#hooks/PRIVATE_useVisHover';\nimport { useVisDrill } from '#hooks/PRIVATE_useVisDrill';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { gestureTypes } from '#hooks/PRIVATE_useVisContextMenu';\n\nexport function useEvents<K, D extends PictoChartItemData<K>>(\n touchResponse: 'touchStart' | 'touchHold',\n isInteractive: boolean,\n selectionMode: 'none' | 'single' | 'multiple',\n getDetailFromInfo: (info?: ItemInfo) => ItemHoverDetail<K, D> | ItemFocusDetail<K, D>,\n getPrevItemInfo: (info: ItemInfo) => ItemInfo,\n getNextItemInfo: (info: ItemInfo) => ItemInfo,\n drilling?: 'on' | 'off',\n onItemDrill?: (detail: ItemDrillDetail<K, D>) => void,\n onItemHover?: (detail: ItemHoverDetail<K, D>) => void,\n onItemFocus?: (detail: ItemFocusDetail<K, D>) => void\n) {\n const [focusedItemInfo, setfocusedItemInfo] = useState<ItemInfo>({ idx: 0 });\n const [hoveredItemInfo, sethoveredItemInfo] = useState<ItemInfo>();\n\n const activeId = useRef<string>();\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const onHover = (event: PointerEvent) => {\n const itemInfo = getItemInfo(event.target as HTMLElement);\n if (!isEqualItem(itemInfo, hoveredItemInfo)) {\n sethoveredItemInfo(itemInfo && { ...itemInfo, isCurrent: true });\n activeId.current = getRandomId();\n if (isInteractive) {\n setfocusedItemInfo({ ...focusedItemInfo, isCurrent: false });\n onItemHover?.(getDetailFromInfo(itemInfo));\n }\n }\n };\n\n const onHoverLeave = () => {\n sethoveredItemInfo(undefined);\n activeId.current = undefined;\n if (isInteractive) {\n onItemHover?.(getDetailFromInfo());\n }\n };\n\n const hoverHandlers = useVisHover(onHover, undefined, onHoverLeave, touchResponse);\n\n const processDrill = useCallback(\n (info?: ItemInfo) => {\n const { id, data } = getDetailFromInfo(info);\n if (id != null && data) {\n onItemDrill?.({ id, data });\n activeId.current = getRandomId();\n }\n },\n [getDetailFromInfo, onItemDrill]\n );\n\n const onDrill = useCallback(\n (event: Event) => {\n if (event.type === 'keydown') {\n if (drilling == 'on') processDrill(focusedItemInfo);\n } else {\n processDrill(getItemInfo(event.target as HTMLElement));\n }\n },\n [drilling, focusedItemInfo, processDrill]\n );\n\n const drillProps = useVisDrill(selectionMode, onDrill);\n\n if (!isInteractive) {\n return {\n focusedItemInfo,\n hoveredItemInfo,\n // include relevant hover handlers for datatip\n eventsProps: hoverHandlers\n };\n }\n\n function updatefocusedItemInfo(itemInfo: ItemInfo) {\n onItemFocus?.(getDetailFromInfo(itemInfo));\n activeId.current = getRandomId();\n setfocusedItemInfo(itemInfo);\n }\n\n function handleKeyboardInput(item: ItemInfo) {\n if (!isEqualItem(item, focusedItemInfo)) {\n item.isCurrent = true;\n item.isFocusVisible = true;\n if (hoveredItemInfo) {\n sethoveredItemInfo({ ...hoveredItemInfo, isCurrent: false });\n }\n updatefocusedItemInfo(item);\n }\n }\n\n const onKeyDown = (event: KeyboardEvent) => {\n const key = event.key;\n switch (key) {\n case 'Tab':\n return;\n case 'ArrowDown': {\n const nextItemInfo = getNextItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n case 'ArrowUp': {\n const nextItemInfo = getPrevItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n case 'ArrowRight': {\n const nextItemInfo = isRtl\n ? getPrevItemInfo(focusedItemInfo)\n : getNextItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n case 'ArrowLeft': {\n const nextItemInfo = isRtl\n ? getNextItemInfo(focusedItemInfo)\n : getPrevItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n }\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n const key = event.code;\n switch (key) {\n case 'Tab': {\n updatefocusedItemInfo({\n ...focusedItemInfo,\n isCurrent: true,\n isFocusVisible: true\n });\n cancelEvent(event);\n break;\n }\n }\n };\n\n const onBlur = () => {\n if (hoveredItemInfo != null || focusedItemInfo.isCurrent) {\n onItemFocus?.(getDetailFromInfo(undefined));\n }\n const itemInfo = { ...focusedItemInfo, isCurrent: false, isFocusVisible: false };\n setfocusedItemInfo(itemInfo);\n };\n\n const onContextMenuDismissed = (gesture: gestureTypes) => {\n if (gesture === 'keyboard') {\n updatefocusedItemInfo({\n ...focusedItemInfo,\n isFocusVisible: true,\n isCurrent: true\n });\n }\n };\n return {\n focusedItemInfo,\n hoveredItemInfo,\n activeId: activeId.current,\n onContextMenuDismissed,\n eventsProps: mergeProps(drillProps, hoverHandlers, {\n onKeyUp,\n onKeyDown,\n onBlur\n })\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 */\nimport type { RefObject } from 'preact';\nimport { type gestureTypes, useContextMenu } from '#hooks/PRIVATE_useVisContextMenu';\nimport type {\n PictoChartContextMenuContext,\n PictoChartContextMenuConfig,\n ItemInfo\n} from './pictoChart.type';\n\ntype Props<D> = {\n focusedItemInfo: ItemInfo;\n items: D[];\n rootRef: RefObject<HTMLDivElement>;\n contextMenuConfig?: PictoChartContextMenuConfig<D>;\n onContextMenuDismissed?: (gesture: gestureTypes) => void;\n getItemInfo: (element: HTMLElement) =>\n | {\n idx: number;\n }\n | undefined;\n};\nexport const usePictoChartContextMenu = <D>({\n rootRef,\n contextMenuConfig,\n focusedItemInfo,\n items,\n onContextMenuDismissed,\n getItemInfo\n}: Props<D>) => {\n const { contextMenuProps, contextMenuContent } = useContextMenu<PictoChartContextMenuContext<D>>({\n onContextMenuHandler: ({ gesture, target }) => {\n if (gesture === 'keyboard') {\n const idx = focusedItemInfo.idx;\n const elem = rootRef.current?.querySelector(`[data-idx=\"${idx}\"]`) || null;\n const data = items[idx];\n\n return {\n type: 'element',\n context: {\n type: 'item' as const,\n data\n },\n elem\n };\n }\n\n const idx = getItemInfo(target as HTMLElement)?.idx;\n const data = idx !== undefined ? items[idx] : null;\n if (data) {\n return {\n type: 'pointer',\n context: {\n type: 'item' as const,\n data\n }\n };\n }\n\n return {\n type: 'pointer',\n context: { type: 'background' as const }\n };\n },\n contextMenuOptions: {\n isDisabled: !contextMenuConfig //If there is no context menu renderer we disable the hook\n },\n rootRef,\n contextMenuConfig,\n onContextMenuDismissed\n });\n\n return { contextMenuContent, contextMenuProps };\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 type { PictoChartItemData, PictoChartProps } from './pictoChart.type';\nimport { TrackResizeContainer } from '#UNSAFE_TrackResizeContainer';\nimport { PictoChartContext } from './PictoChartContext';\nimport { PictoChartWithDimensions } from './PictoChartWithDimensions';\n\n/**\n * A picto chart displays information using icons to visualize an absolute number or the relative sizes of the different parts of a population.\n */\nexport function PictoChart<\n K extends string | number,\n D extends PictoChartItemData<K> = PictoChartItemData<K>\n>({ width, height, ...props }: PictoChartProps<K, D>) {\n // TODO: investigate if we need to handle empty items for performance reasons.\n const supportsSelection = !!(props.selectionMode && props.selectionMode !== 'none');\n\n const isFlowingWidth = width === undefined;\n const isFlowingHeight = height === undefined;\n\n return (\n <PictoChartContext.Provider value={{ supportsSelection }}>\n <TrackResizeContainer\n width={isFlowingWidth ? 'initial' : width}\n height={isFlowingHeight ? 'initial' : height}>\n {(width, height) => (\n <PictoChartWithDimensions\n width={width}\n height={height}\n isFlowingWidth={isFlowingWidth}\n isFlowingHeight={isFlowingHeight}\n {...props}\n />\n )}\n </TrackResizeContainer>\n </PictoChartContext.Provider>\n );\n}\n"],"names":["PictoChartContext","createContext","_ceil","a","b","Math","ceil","areCellsAvailable","map","col","row","columnSpan","rowSpan","r","c","occupyCells","findNextAvailableCell","colCount","rowCount","isVert","getItemInfo","element","itemIdx","dataset","undefined","idx","Number","getItemProps","item","countIdx","isReadOnly","hoveredItem","selectedIds","focusedItem","highlightedIds","activeId","layoutOrigin","isCurrent","isFocusedItem","isHoveredItem","isHighlighted","id","length","Set","has","isItemHighlighted","isSelected","isItemSelected","hasSelection","isFocused","hasFocusRing","key","isVerticalLayout","isEqualItem","item1","item2","itemInfo","isFocusVisible","getCountWithTotal","itemCount","totalCount","translations","vis_labelCountWithTotal","toString","PictoRenderer","context","markerProps","supportsSelection","useContext","markerProp","shape","color","isHuman","applyHover","isNoneEqualSides","rgba","colorSchemeVars","palette","neutral","outerBorderColor","textIcon","primary","markerShape","tx","ty","markerColor","borderColor","rgb","markerScale","setAspectRatioNone","getMarkerProps","state","focused","selected","hovered","_jsx","jsx","SvgSymbol","getItem","items","getPictoChartNavUtils","isBottomLayoutOrigin","getDetailFromInfo","data","getPrevItemInfo","min","max","getNextItemInfo","PictoChartElement","props","direction","useUser","isRtl","start","fractionalStart","end","fractionalEnd","clipPolygon","isInteractive","supportsDrill","dimmedItemStyle","interactiveItemStyle","styles","itemClasses","classNames","isFirstElement","itemAriaProps","label","accessibleLabel","totalWithCountLabel","generateAriaLabel","role","getItemAriaProps","count","ref","focusedItemRef","style","gridRow","gridColumn","column","clipPath","class","children","PictoChartWithDimensions","width","height","columnWidth","rowHeight","columnCount","layout","selectionMode","drilling","onItemDrill","onItemHover","isFlowingWidth","isFlowingHeight","onItemFocus","contextMenuConfig","rootRef","useRef","hasData","i","getTotalCount","useTranslationBundle","testIdProps","useTestId","testId","idToDataMap","Map","obj","touchResponse","touchResponseStyle","useVisTouchResponse","type","supportsTouchDragGestures","hoveredItemInfo","focusedItemInfo","eventsProps","onContextMenuDismissed","setfocusedItemInfo","useState","sethoveredItemInfo","hoverHandlers","useVisHover","event","target","current","getRandomId","processDrill","useCallback","info","onDrill","drillProps","useVisDrill","updatefocusedItemInfo","handleKeyboardInput","gesture","mergeProps","onKeyUp","code","cancelEvent","onKeyDown","onBlur","useEvents","selectionContent","selectionProps","useSelection","idExtracter","isDrillEnabled","selection","getDataById","get","onChange","onSelectionChange","rectangleWidth","parseFloat","rectangleHeight","pictoStyleClasses","baseStyles","useItemFocus","content","defaultContainer","datatip","isPointerActive","_content","countWithTotal","_borderColor","_defaultContainer","datatipContext","getDatatipContent","calcColCount","calcRowCount","calcColWidth","calcRowHeight","gridGap","useMemo","colWidth","numCells","maxColSpan","maxRowSpan","minSpan","Infinity","DEFAULT_SIZE","sqrt","floor","getFlowingInfo","contextMenuContent","contextMenuProps","useContextMenu","onContextMenuHandler","elem","querySelector","contextMenuOptions","isDisabled","usePictoChartContextMenu","elements","isLayoutBottom","origin","isLayoutRight","isOriginRight","pictoItems","Array","fill","isFractionalLeft","lastFractionalCell","currItem","amountToFill","fillAmount","filledRow","filledCol","push","fullUnits","j","cell","currRow","currCol","remainder","newRow","newCol","generateElementCoords","datatipContent","datatipProps","datatipAriaDescribedby","getFocusedItemDimension","useDatatip","placement","offset","calculateOffset","anchor","usePictoChartDatatip","find","elt","xCoord","x","y","mergedEventProps","_jsxs","tabIndex","merge","l","gridTemplateRows","gridTemplateColumns","gap","itemProps","Provider","value","TrackResizeContainer","rendererOptions","markerRenderer","datatipRenderer"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './UNSAFE_PieChart/themes/PieChartStyles.css', './TrackResizeContainer-d8fa612c', './datatipUtils-6846028e', './accUtils-7e057eef', './lineUtils-3b56374d', './utils-8bf50f08', './classNames-08d99695', './usePieChartNav-a87eaf41', './useDatatip-40f28485', './layoutUtils-517a546d', './mergeProps-bcfa6a92', './VisTabularDatatip-93d56ae8', './useUser-08901aba', './useTestId-f4240cbd', './useVisTouchResponse-88a7bb09', 'preact/hooks', './stringUtils-4ffd9d59', './useContextMenu-49bd8ffb', './Menu-0c8295f2', './MenuItem-f3de5e35', 'preact', './logger-0f873e29', './LayerHost-0b288129', 'preact/compat', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'css!./IconStyle.styles.css', './SelectMenuGroupContext-67f24a8f', './UNSAFE_Menu/themes/MenuItemStyles.css', './UNSAFE_Separator/themes/SeparatorStyles.css', 'css!./MenuSeparatorStyles.styles.css', 'module', './UNSAFE_Menu/themes/redwood/MenuSeparatorVariants.css', 'css!./MenuStyles.styles.css', './eventsUtils-1f5dc91a', './utils-cd60c9d4', './useTextDimensions-f254e8f5', './useCssVars-3194b2f6', './cssUtils-af3bf5fd', './colorUtils-b9dc1bd1'], (function(e,t,n,s,i,o,a,l,r,c,h,d,u,f,x,g,y,b,m,M,p,I,v,S,C,P,T,w,F,L,j,A,R,N,V,U,D,E,z,k,_,B,O,Y){"use strict";function q(e){return e*(Math.PI/180)}function H(e,t,n,s){const i=Math.atan2(s,n)-Math.atan2(t,e);return i<0?i+2*Math.PI:i}function G(e,t,n,s,i,o,l,r,c){const h=Math.max(s-e,0),d=Math.max(i-e,0),u=360==l||h<e?0:r+2*e,f=o?o+e:0,x=q(360==l?359.99:l),g=q(c),y=u/2,b=y<h?Math.asin(y/h):0,m=-x/2-g,M=Math.min(5*y,x>0?Math.abs(y/Math.sin(x/2)):0),p=0==h?M:M*d/h,I=t+Math.cos(m)*M,v=n+Math.sin(m)*p,S=t+Math.cos(-b-g)*h,C=n+Math.sin(-b-g)*d,P=t+Math.cos(-g-x+b)*h,T=n+Math.sin(-g-x+b)*d;let w,F=H(P-t,T-n,S-t,C-n);if(F=Math.min(F,x),f>0){const e=y<f?Math.asin(y/f):0,s=t+Math.cos(-e-g)*f,i=n+Math.sin(-e-g)*f,o=t+Math.cos(-g-x+e)*f,r=n+Math.sin(-g-x+e)*f;let c=H(o-t,r-n,s-t,i-n);c=Math.min(c,F,x),360==l?(w=a.moveTo(P,T),w+=a.arcTo(h,d,x,1,S,C),w+=a.lineTo(P,T),w+=a.moveTo(s,i),w+=a.arcTo(f,f,x,0,o,r)):(w=a.moveTo(o,r),w+=a.lineTo(P,T),w+=a.arcTo(h,d,F,1,S,C),w+=a.lineTo(s,i),w+=a.arcTo(f,f,c,0,o,r))}else 360==l?(w=a.moveTo(P,T),w+=a.arcTo(h,d,x,1,S,C)):(w=a.moveTo(I,v),w+=a.lineTo(P,T),w+=a.arcTo(h,d,F,1,S,C));return w+=a.closePath(),w}function W(e,t,n){return{innerBounds:{width:Math.sqrt(2)*n,height:Math.sqrt(2)*n,x:e-n/Math.sqrt(2),y:t-n/Math.sqrt(2)},outerBounds:{width:2*n,height:2*n,x:e-n,y:t-n}}}function $(e,t,n,s,i,o){return o?function(e,t,n,s,i,o){const a=(e+t/2)/180*Math.PI,l=(i+o)/2;return{x:n+l*Math.cos(a),y:s-l*Math.sin(a),width:0,height:0}}(e[o.itemIndex].startAngle,e[o.itemIndex].angleExtent,t,n,s,i):void 0}function J(e,t,n){return n?.color||null!=t?.itemIndex?e[t.itemIndex]:void 0}function K({cx:e,cy:s,r:i,startAngle:o,angleExtent:a,gap:l,innerRadius:c,color:h,id:d,itemIndex:u,isFocused:f=!1,isInteractive:x,...g}){const{interactiveItemStyle:y,contrastBorder:b,innerShapes:m}=n.styles,M=r.classNames([x&&y,b,m]),p=G(0,e,s,i,i,c,a,l,o);let I;return f?(I=G(2,e,s,i,i,c,a,l,o),t.jsxs("g",{id:d,role:g.accessibleLabel?"img":void 0,"data-oj-private-item-index":u,"data-oj-private-object":"pieSlice","aria-label":g.accessibleLabel,children:[t.jsx("path",{d:p,fill:h,stroke:h,className:n.styles.innerShapes}),t.jsx("path",{d:I,fill:h,className:M})]})):t.jsx("path",{role:g.accessibleLabel?"img":void 0,"aria-label":g.accessibleLabel,d:p,"data-oj-private-object":"pieSlice",fill:h,id:d,"data-oj-private-item-index":u,className:x?y:void 0})}const Q=1.04,X=.1;function Z(e,t,n,s,i){const o=(360-e)*(Math.PI/180);return{x:t+Math.cos(o)*s,y:n+Math.sin(o)*i}}function ee(e,t){const{angleExtent:n}=e;return n<3&&t>120}function te(e,t,n,s,i,o,a){const{angleExtent:l,startAngle:r}=e,c=o,h=(t-s)/a,d=(n-i)/a;let u=-Math.atan2(d,h)*(180/Math.PI);for(;u<r;)u+=360;for(;u-r>=360;)u-=360;const f=Math.pow(h,2)+Math.pow(d,2);return Math.sqrt(f)>c/a&&f<=1&&u<=r+l}const ne=(e,t,n,s,i,o,a)=>{const[l,r]=function(e,t,n,s,i,o){const a=[],l=new Set,{cx:r,cy:c}=s;for(const h of e){const{labelPosition:d,startAngle:u,angleExtent:f,label:x,labelStyle:g}=h,y=d||"auto";if("none"===y)continue;if("outside"===y||ee(h,e.length)||null==x){l.add(h.index);continue}const b=u+f/2,m=t,M=s;let p,I;if(1===e.length)p=M.cx,I=M.cy;else{const e=Math.max(.45,.65-.45*m/Math.max(n,.001)),t=Z(b,M.cx,M.cy,m+(n-m)*e,m+(n-m)*e);p=t.x,I=t.y}const v={x:p,y:I},S=o(x,{fontSize:i,...g});let C=p,P=p;const T=I-S.height/2,w=I+S.height/2;for(;te(h,C,T,r,c,t,n)&&te(h,C,w,r,c,t,n);)C--;for(;te(h,P,T,r,c,t,n)&&te(h,P,w,r,c,t,n);)P++;C=Math.ceil(C+3),P=Math.floor(P-3);let F=2*Math.min(p-C,P-p);if(F<S.width&&(v.x=(C+P)/2,F=P-C),"inside"===y)S.width<F&&a.push({position:b,angle:b,slice:h,textInfo:k.getTextInfo(x,{fontSize:i,...g},F,S.height,!1,x.length,o),...S,...v});else{const e=x.length,t=k.getTextInfo(x,{fontSize:i,...g},F,S.height,!1,e,o);t.didNotFit?l.add(h.index):a.push({position:b,angle:b,slice:h,textInfo:t,...S,...v})}}return[a,l]}(e,n,s,t,a,o),{leftLabels:c,rightLabels:h}=function(e,t,n,s,i,o,a){const l=[],r=[],{cx:c,cy:h}=s;for(let s=0;s<e.length;s++){const d=e[s],{labelPosition:u,startAngle:f,angleExtent:x,label:g,labelStyle:y}=d;if(null==g||"none"==u||"inside"==u||ee(e[s],e.length)||!t.has(d.index))continue;let b=f+x/2;b>360&&(b-=360),b<0&&(b+=360);const m=Z(b,c,h,i*Q,i*Q),M=b>=90&&b<270,p=se(n,m.x,M),I=k.getTextInfo(g,{fontSize:o,...y},p,1/0,!0,1,a),v={x:I.width,y:I.height},S=15;if(b<180-S&&b>S?m.y-=1*v.y:b<S||b>360-S?(m.y-=.5*v.y,m.x+=.2*v.y):b>180-S&&b<180+S&&(m.y-=.5*v.y,m.x-=.2*v.y),1==e.length&&(m.x-=v.x/2),m.y<n.y||m.y+v.y>n.y+n.height)continue;let C;b>=90&&b<270?(C=b-90,ie(d,b,C,v,m,I,l)):(C=b<=90?Math.abs(90-b):180-(b-270),ie(d,b,C,v,m,I,r))}return{leftLabels:l,rightLabels:r}}(e,r,i,t,s,a,o),d=oe(e,s,t,i,c,"left"),u=oe(e,s,t,i,h,"right");return 1===d&&0!==u&&re(e,i,t,s,c,!0,!0,!0),0!==d&&1===u&&re(e,i,t,s,h,!1,!0,!0),ce(c,i,t,s,"left",{fontSize:a},o),ce(h,i,t,s,"right",{fontSize:a},o),{insideLabels:l,rightLabels:h,leftLabels:c}};function se(e,t,n){return n?t-e.x:e.x+e.width-t}function ie(e,t,n,s,i,o,a){let l=-1;for(let e=0;e<a.length;e++){const t=a[e];if(t.position&&t.position>n){l=e;break}}-1==l&&(l=a.length);const r={position:n,angle:t,width:s.x,height:s.y,x:i.x,y:i.y,slice:e,textInfo:o};a.splice(l,0,r)}function oe(e,t,n,s,i,o){if(i.length<1)return;let a,l,r=s.y,c=!1,h=!1,d=!1,u=0,f=!1,x=!1;const g="left"==o;for(let e=0;e<i.length;e++)a=i[e],l=f,a.position>90&&(f=!0),u=a.y+a.height,x=r-a.y>1,x&&(f?l?d=!0:h=!0:c=!0),u>r&&(r=u);return c&&d||h?(re(e,s,n,t,i,g,!0,!0),2):c?(re(e,s,n,t,i,g,!0,!1),1):d?(re(e,s,n,t,i,g,!1,!0),1):0}function ae(e,t,n,s,i){const o=Z(e.angle,i.cx,i.cy,s,s);return Math.atan2(Math.abs(t-o.x),o.y-n)}function le(e,t,n,s){t.x=n;const i=1.1*e,o=q(t.position),a=i*Math.cos(o);let l=s.cy-a-.5*t.height+0;const r=t.minY,c=t.maxY;r<=c&&(l=Math.max(l,r),l=Math.min(l,c)),t.y=l}function re(e,t,n,s,i,o,a,l){const r=t;let c,h,d,u,f=r.y,x=r.y+r.height,g=0,y=n.cx;const b=1.2000000000000002*s;for(o?(y-=b,u=y+s*X):(y+=b,u=y-s*X),c=0;c<i.length;c++)h=i[c],g=q(h.position),d=ae(h,u,f,s,n),d-g>.45*Math.PI||ee(i[c].slice,e.length)?(i.splice(c,1),c--):(i[c].minY=f,f+=i[c].height);for(c=i.length-1;c>=0;c--){h=i[c];g=q(h.position),d=ae(h,u,x,s,n),g-d>.45*Math.PI||ee(i[c].slice,e.length)?i.splice(c,1):(x-=i[c].height,i[c].maxY=x)}if(0==i.length)return;const m=function(e){let t=91,n=-1;for(let s=0;s<e.length;s++){const i=e[s].position;Math.abs(i-90)<t&&(t=Math.abs(i-90),n=s)}return n}(i),M=i[m];a&&!l&&M.minY+M.height>n.cy&&(l=!0),l&&!a&&M.maxY<n.cy&&(a=!0);const p=M.position;(l&&a||p>90&&l||p<=90&&a)&&(le(s,M,y,n),M.slice.hasFeelers=!0);let I,v,S=M.y,C=M.y+M.height;if(a)for(c=m-1;c>=0;c--)h=i[c],v=h.height,le(s,h,y,n),h.slice.hasFeelers=!0,I=h.y,I+v<S?S=I:S-=v,h.y=S;if(l)for(c=m+1;c<i.length;c++)h=i[c],v=h.height,le(s,h,y,n),h.slice.hasFeelers=!0,I=h.y,I>C?C=I+v:C+=v,h.y=C-v}function ce(e,t,n,s,i,o,a){if(null==e||e.length<=0)return;let l,r,c;const h="left"===i,d=t;let u,f=1/0;for(l=0;l<e.length;l++){const i=e[l],r={...o,...i.slice.labelStyle};if(i.slice.hasFeelers){u=he(i,n,s,h);const e=a("MW",r).height,o=i.width,l=Math.min(2*e,o);if(se(t,i.x,h)+u<l||0==i.width){i.textInfo=void 0,i.slice.hasFeelers=!1;continue}f=Math.min(f,u)}else i.slice.hasFeelers=!1}for(l=0;l<e.length;l++){const i=e[l];if(r=i.slice,c=i.slice.label,c)if(i.slice.hasFeelers&&(i.x=h?i.x+f:i.x-f,he(i,n,s,h)),i.y<d.y||i.y+i.height>d.y+d.height)r.label="",r.hasFeelers=!1;else{const e=se(t,i.x,h),n=i.textInfo&&k.getTextInfo(i.slice.label,{...o,...i.slice.labelStyle},e,i.textInfo.height,!0,1,a);i.textInfo=n,0!==i.height&&0!==i.width||(r.label="",r.hasFeelers=!1)}}}function he(e,t,n,s){const{x:i,y:o,height:a}=e;let l=i;const r=o+.5*a,c=X*n;let h;s?(l+=3,h=l+c):(l-=3,h=l-c);const d={x:h,y:r},u={x:l,y:r},f=Z(e.angle,t.cx,t.cy,n,n),x=q(e.position),g=Math.abs(Math.atan2(d.x-f.x,f.y-d.y)),y=(f.y-d.y)*Math.tan(x);return(x>Math.PI/2&&g>Math.PI/2&&g<x||x<Math.PI/2&&g<Math.PI/2&&g>x)&&(d.x=s?f.x-y:f.x+y),e.startPt=f,e.midPt=d,e.endPt=u,Math.abs(u.x-d.x)-c}function de({pieLabelInfo:e,labelPos:s,fontSize:i,isRtl:o}){const{x:a,y:l,textInfo:r,slice:c,startPt:h,midPt:d,endPt:u}=e,f=c.color,x="inside"===s?Y.getContrastingTextColor(f):void 0;return t.jsx(t.Fragment,{children:r?.lines.map(((e,f)=>{const g=a,y=l+(f+.5)*r.dims[f].height,b=o&&"left"===s||!o&&"right"===s?"start":"inside"===s?"middle":"end";return t.jsxs(t.Fragment,{children:[c.label&&t.jsx("text",{className:n.styles.labelStyle,x:g,y:y,textAnchor:b,dominantBaseline:"inside"===s?"center":"middle",style:{fill:x,fontSize:i},children:e}),c.hasFeelers&&h&&d&&u&&t.jsxs(t.Fragment,{children:[t.jsx("line",{x1:h.x,x2:d.x,y1:h.y,y2:d.y,className:n.styles.fillerLineStyle}),t.jsx("line",{x1:u.x,x2:d.x,y1:u.y,y2:d.y,className:n.styles.fillerLineStyle})]})]})}))})}const ue=O.getChartVars();function fe({width:e,height:s,testId:i,innerRadius:o=0,contextMenuConfig:a,drilling:r="off",selectionMode:p="none",onItemDrill:I,onItemHover:v,onItemFocus:S,...C}){const P=b.useRef(null),{direction:T}=x.useUser(),w="rtl"===T,{resolvedVars:F,cssContent:L}=B.useCssVars(ue),j=Array.from(Array(12)).map(((e,t)=>F[`color${t+1}`]));let A=C.data.filter((e=>e.value>0));w&&(A=A.slice().reverse());const{totalValue:R,isLabelOutside:N}=A.reduce((({totalValue:e,isLabelOutside:t},n)=>({totalValue:e+n.value,isLabelOutside:t||!!n.label&&("outside"===n.labelPosition||"auto"===n.labelPosition)})),{totalValue:0,isLabelOutside:!1});const V=function(e,t,n,s){let i,o=90;const a=[];for(let l=0;l<e.length;l++){const r=e[l],c=r.value;i=c===t?100:0===t?0:Math.min(c/t*100,99.99);const h=3.6*i;let d=o-h;d<0&&(d+=360),a.push({color:n[(s?e.length-1-l:l)%n.length],index:l,startAngle:d,angleExtent:h,...r}),o=d}return a}(A,R,j,w),U=A.length>0,D=function(e){return 3*e}(.5),E=A.length>100,k=g.useTestId(i),O=l.getAvailSpace(e,s,!1),{cx:Y,cy:q}=function(e){return{cx:e.x+Math.floor(e.width/2),cy:e.y+Math.floor(e.height/2)}}(O),H=function(e,t){const n=t?.38:.45;return Math.floor(Math.min(e.width,e.height)*n)}(O,N),G=o*H,Q=function(e,t,n){if(!t)return e;const s=2*Math.PI*n;let i=0;return e.filter((({startAngle:e,angleExtent:t})=>{const n=(t+e)/360*s;return!(t/360*s<1.5&&Math.abs(i-n)<1.5||(i=n,0))}))}(V,E,H),{getDetailFromInfo:X,getNextChartItem:Z}=function(e,t){return{getNextChartItem:({itemIndex:n},s)=>{let i=n;return i=t&&("ArrowRight"===s||"ArrowUp"===s)||!t&&("ArrowLeft"===s||"ArrowDown"===s)?n-1:n+1,{itemIndex:(i%e.length+e.length)%e.length}},getDetailFromInfo:t=>{if(!t)return{id:void 0,data:void 0};const n=function(e,t){const{itemIndex:n}=e;return t[n]}(t,e);return{id:n?n.id:void 0,data:n}}}}(A,"rtl"===T),{textMeasureContent:ee,getTextDimensions:te}=_.useTextDimensions(),se=!(!p||"none"===p),ie="on"===r,{touchResponse:oe,touchResponseStyle:ae}=y.useVisTouchResponse({type:"auto",supportsTouchDragGestures:!1,rootRef:P}),{activeId:le,focusedItemInfo:re,hoveredItemInfo:ce,eventsProps:he,onContextMenuDismissed:fe}=c.usePieChartNav(oe,X,Z,r,I),xe=re.isFocusVisible?re:ce,ge=xe?A[Q[xe.itemIndex].index]:void 0,{content:ye,borderColor:be,defaultContainer:me}=ge&&C.datatip?C.datatip({data:ge}):((e,n)=>e?e.accessibleLabel?{content:e.accessibleLabel,borderColor:J(j,n,e),defaultContainer:"enabled"}:{content:t.jsx(f.VisTabularDatatip,{tableData:[{key:"Value",value:e.value}]}),borderColor:J(j,n,e),defaultContainer:"enabled"}:{content:void 0,borderColor:void 0,defaultContainer:void 0})(ge,xe),Me=re.isFocusVisible?"element":"pointer",pe=xe?.isFocusVisible?$(Q,Y,q,G,H,xe):void 0,Ie=d.calculateOffset(w,e,pe),{datatipContent:ve,datatipProps:Se}=h.useDatatip({content:ye,offset:Ie,anchor:Me,placement:"top-start",borderColor:be,touchResponse:oe,defaultContainer:me});Se["aria-describedby"]=m.l([C["aria-describedby"],Se["aria-describedby"]]);const{contextMenuContent:Ce,contextMenuProps:Pe}=(({offset:e,rootRef:t,contextMenuConfig:n,focusedItemInfo:s,items:i,onContextMenuDismissed:o,width:a,isRtl:l})=>{const{contextMenuProps:r,contextMenuContent:c}=M.useContextMenu({onContextMenuHandler:({gesture:n,target:o})=>{if("keyboard"===n){const t=s.itemIndex;return{type:"offset",context:{type:"item",data:i[t]},offsetValue:e,isRtl:l,width:a}}const r=z.getInfo(t,o)?.itemIndex,c=void 0!==r?i[r]:null;let h;return h=c?{type:"item",data:c}:t.current?.children[1].contains(o)?{type:"centerLabel"}:{type:"background"},{type:"pointer",context:h}},contextMenuOptions:{isDisabled:!n},rootRef:t,contextMenuConfig:n,onContextMenuDismissed:o});return{contextMenuContent:c,contextMenuProps:r}})({offset:Ie,rootRef:P,contextMenuConfig:U?a:void 0,onContextMenuDismissed:fe,focusedItemInfo:re,items:V,width:e,isRtl:w}),Te=u.mergeProps(he,Se,Pe);let we=[],Fe=[],Le=[];const je=F.labelFontSize;if(te){const e=ne(Q,{cx:Y,cy:q},G,H,O,te,je);we=e.insideLabels,Fe=e.rightLabels,Le=e.leftLabels}return t.jsxs("div",{ref:P,tabIndex:0,"aria-label":C["aria-label"],"aria-labelledby":C["aria-labelledby"],"aria-activedescendant":le,role:"application",...Te,...k,className:n.styles.chart,style:ae,children:[Q.length>0&&U&&t.jsxs("svg",{className:n.styles.svg,children:[Q.map(((e,n)=>t.jsx(K,{isInteractive:se||ie,cx:Y,cy:q,itemIndex:n,id:xe?.itemIndex===n?le:void 0,isFocused:re?.itemIndex===n&&re?.isFocusVisible,isHovered:ce?.itemIndex===n,r:H,startAngle:e.startAngle,gap:D,innerRadius:G,angleExtent:e.angleExtent,color:e.color,accessibleLabel:e.accessibleLabel},e.id))),we?.map((e=>t.jsx(de,{isRtl:w,pieLabelInfo:e,labelPos:"inside",fontSize:je}))),Le?.map((e=>t.jsx(de,{isRtl:w,pieLabelInfo:e,labelPos:"left",fontSize:je}))),Fe?.map((e=>t.jsx(de,{isRtl:w,pieLabelInfo:e,labelPos:"right",fontSize:je})))]}),C.children?.(W(Y,q,G)),ve,L,Ce,ee]})}e.PieChart=function({width:e,height:i,...o}){return t.jsx(s.TrackResizeContainer,{width:e,height:i,class:n.dimensionStyle,children:(e,n)=>t.jsx(fe,{width:e,height:n,...o})})}}));
2
+ //# sourceMappingURL=PieChart-df15d363.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PieChart-df15d363.js","sources":["../../src/UNSAFE_PieChart/utils.ts","../../src/UNSAFE_PieChart/PieSlice.tsx","../../src/UNSAFE_PieChart/usePieChartContextMenu.ts","../../src/UNSAFE_PieChart/labelUtils.ts","../../src/UNSAFE_PieChart/PieChartLabel.tsx","../../src/UNSAFE_PieChart/PieChartWithDimensions.tsx","../../src/UNSAFE_PieChart/pieNavUtils.ts","../../src/UNSAFE_PieChart/PieChart.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 */\n\nimport type { ItemInfo } from '#hooks/PRIVATE_usePieChartNav';\nimport { arcTo, closePath, lineTo, moveTo } from '#utils/PRIVATE_visSVGUtils';\nimport type { PieChartItemData, PieSliceInfo } from './pieChart.types';\ntype Bounds = {\n x: number;\n y: number;\n width: number;\n height: number;\n};\n\nconst RADIUS_RATIO = 0.45;\nconst RADIUS_RATIO_WITH_LABELS = 0.38;\nconst SLICE_GAP_RATIO = 3;\nconst MIN_ARC_LENGTH = 1.5;\nconst START_ANGLE = 90;\n\n/**\n * Converts the angle from degrees to radians.\n * @param degree The angle in degrees\n * @returns\n */\nexport function degreesToRads(degree: number) {\n return degree * (Math.PI / 180);\n}\n\n/**\n * Calculates the angle between two vectors.\n * @param vector1X The x component of first vector.\n * @param vector1Y The y component of first vector.\n * @param vector2X The x component of second vector.\n * @param vector2Y The y component of second vector.\n * @returns\n */\nexport function calculateAngleBetweenTwoVectors(\n vector1X: number,\n vector1Y: number,\n vector2X: number,\n vector2Y: number\n) {\n const angle = Math.atan2(vector2Y, vector2X) - Math.atan2(vector1Y, vector1X);\n return angle < 0 ? angle + 2 * Math.PI : angle;\n}\n\n/**\n * Get the center coord of the pie chart.\n * @param availSpace The available space.\n * @returns\n */\nexport function getPieCenter(availSpace: Bounds) {\n return {\n cx: availSpace.x + Math.floor(availSpace.width / 2),\n cy: availSpace.y + Math.floor(availSpace.height / 2)\n };\n}\n\n/**\n * Returns the radius of the pie chart.\n * @param availSpace The available space.\n * @param labelPosition The position of labels.\n * @returns\n */\nexport function getRadius(availSpace: Bounds, isLabelOutside: boolean) {\n const radiusScale = isLabelOutside ? RADIUS_RATIO_WITH_LABELS : RADIUS_RATIO;\n return Math.floor(Math.min(availSpace.width, availSpace.height) * radiusScale);\n}\n\n/**\n * Returns the total value of the pie chart.\n * @param items\n */\nexport function getPieChartInfo<K>(items: PieChartItemData<K>[]) {\n return items.reduce(\n ({ totalValue, isLabelOutside }, item) => {\n return {\n totalValue: totalValue + item.value,\n isLabelOutside: isLabelOutside || (!!item.label && (item.labelPosition === 'outside' || item.labelPosition === 'auto'))\n };\n },\n { totalValue: 0, isLabelOutside: false }\n );\n}\n\n/**\n * Returns the startAngle and angleOffset for the rendered items.\n * @param items\n * @param totalValue\n */\nexport function getSliceInfo<K, D extends PieChartItemData<K>>( items: D[], \n totalValue: number,\n colors: string[],\n isRtl: boolean) {\n let anchorOffset = START_ANGLE;\n let percentage;\n const sliceInfo = [];\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n const value = item.value;\n if (value === totalValue) {\n percentage = 100;\n } else if (totalValue === 0) {\n percentage = 0;\n } else {\n // if value is not 100%, cap it at 99.99%\n percentage = Math.min((value / totalValue) * 100, 99.99);\n }\n const arc = percentage * 3.6;\n let angle = anchorOffset - arc;\n if (angle < 0) angle += 360;\n sliceInfo.push({\n color: colors[(isRtl ? items.length - 1 - i : i) %colors.length],\n index: i,\n startAngle: angle,\n angleExtent: arc,\n ...item\n });\n\n anchorOffset = angle;\n }\n return sliceInfo;\n}\n\n/**\n * Returns the pie slice gaps.\n * @param pieSliceGap The ratio of maximum supported pie slice gap.\n * @returns\n */\nexport function getPieSliceGap(pieSliceGap: number) {\n return SLICE_GAP_RATIO * pieSliceGap;\n}\n\n/**\n * Returns the array of layouts to render without skipping.\n * @param layouts\n * @param hasLargeItemCount\n * @param radius\n * @returns\n */\nexport function getRenderedSlices<K>(\n itemInfo: PieSliceInfo<K>[],\n hasLargeItemCount: boolean,\n radius: number\n): PieSliceInfo<K>[] {\n if (!hasLargeItemCount) {\n return itemInfo;\n }\n\n const perimeter = 2 * Math.PI * radius;\n let prevEndCoord = 0;\n\n return itemInfo.filter(({ startAngle, angleExtent }) => {\n const arcLength = (angleExtent / 360) * perimeter;\n const endCoord = ((angleExtent + startAngle) / 360) * perimeter;\n if (arcLength < MIN_ARC_LENGTH && Math.abs(prevEndCoord - endCoord) < MIN_ARC_LENGTH) {\n return false;\n } else {\n prevEndCoord = endCoord;\n return true;\n }\n });\n}\n\n/**\n * Returns the path of the pie slice wedge.\n * @param inset The inset.\n * @param cx The x coordinate of the center of the pie chart.\n * @param cy The y coordinate of the center of the pie chart.\n * @param radiusX The x radius of the slice.\n * @param radiusY The y radius of the slice.\n * @param innerRadius The inner radius.\n * @param angleExtent The angle extent.\n * @param wedgeGap The gap beteen the pie slices.\n * @param startAngle The start angle of the pie slice.\n * @returns\n */\nexport function makeWedgePath(\n inset: number,\n cx: number,\n cy: number,\n radiusX: number,\n radiusY: number,\n innerRadius: number,\n angleExtent: number,\n wedgeGap: number,\n startAngle: number\n) {\n const rx = Math.max(radiusX - inset, 0);\n const ry = Math.max(radiusY - inset, 0);\n const gap = angleExtent == 360 || rx < inset ? 0 : wedgeGap + 2 * inset;\n\n const ir = innerRadius ? innerRadius + inset : 0;\n // if angle extent is not 360, cap it at 359.99\n const angleExtentRads = angleExtent == 360 ? degreesToRads(359.99) : degreesToRads(angleExtent);\n\n const startAngleRads = degreesToRads(startAngle);\n const dataItemGaps = gap / 2;\n\n const gapAngle = dataItemGaps < rx ? Math.asin(dataItemGaps / rx) : 0;\n const centerLineAngle = -angleExtentRads / 2 - startAngleRads;\n\n // cap at 5* dataItemsGap. logic from legacy dvt toolkit\n const distanceToStartPointX = Math.min(\n dataItemGaps * 5,\n angleExtentRads > 0 ? Math.abs(dataItemGaps / Math.sin(angleExtentRads / 2)) : 0\n );\n const distanceToStartPointY = rx == 0 ? distanceToStartPointX : (distanceToStartPointX * ry) / rx;\n\n const startPointX = cx + Math.cos(centerLineAngle) * distanceToStartPointX;\n const startPointY = cy + Math.sin(centerLineAngle) * distanceToStartPointY;\n\n const arcPointX = cx + Math.cos(-gapAngle - startAngleRads) * rx;\n const arcPointY = cy + Math.sin(-gapAngle - startAngleRads) * ry;\n\n const arcPoint2X = cx + Math.cos(-startAngleRads - angleExtentRads + gapAngle) * rx;\n const arcPoint2Y = cy + Math.sin(-startAngleRads - angleExtentRads + gapAngle) * ry;\n\n let outerAngle = calculateAngleBetweenTwoVectors(\n arcPoint2X - cx,\n arcPoint2Y - cy,\n arcPointX - cx,\n arcPointY - cy\n );\n outerAngle = Math.min(outerAngle, angleExtentRads);\n let pathCommands: string;\n if (ir > 0) {\n const innerGapAngle = dataItemGaps < ir ? Math.asin(dataItemGaps / ir) : 0;\n const innerPointX = cx + Math.cos(-innerGapAngle - startAngleRads) * ir;\n const innerPointY = cy + Math.sin(-innerGapAngle - startAngleRads) * ir;\n\n const innerPoint2X = cx + Math.cos(-startAngleRads - angleExtentRads + innerGapAngle) * ir;\n const innerPoint2Y = cy + Math.sin(-startAngleRads - angleExtentRads + innerGapAngle) * ir;\n\n let innerAngle = calculateAngleBetweenTwoVectors(\n innerPoint2X - cx,\n innerPoint2Y - cy,\n innerPointX - cx,\n innerPointY - cy\n );\n innerAngle = Math.min(innerAngle, outerAngle, angleExtentRads);\n\n if (angleExtent == 360) {\n pathCommands = moveTo(arcPoint2X, arcPoint2Y);\n pathCommands += arcTo(rx, ry, angleExtentRads, 1, arcPointX, arcPointY);\n pathCommands += lineTo(arcPoint2X, arcPoint2Y);\n pathCommands += moveTo(innerPointX, innerPointY);\n pathCommands += arcTo(ir, ir, angleExtentRads, 0, innerPoint2X, innerPoint2Y);\n } else {\n pathCommands = moveTo(innerPoint2X, innerPoint2Y);\n pathCommands += lineTo(arcPoint2X, arcPoint2Y);\n pathCommands += arcTo(rx, ry, outerAngle, 1, arcPointX, arcPointY);\n pathCommands += lineTo(innerPointX, innerPointY);\n pathCommands += arcTo(ir, ir, innerAngle, 0, innerPoint2X, innerPoint2Y);\n }\n } else {\n if (angleExtent == 360) {\n pathCommands = moveTo(arcPoint2X, arcPoint2Y);\n pathCommands += arcTo(rx, ry, angleExtentRads, 1, arcPointX, arcPointY);\n } else {\n pathCommands = moveTo(startPointX, startPointY);\n pathCommands += lineTo(arcPoint2X, arcPoint2Y);\n pathCommands += arcTo(rx, ry, outerAngle, 1, arcPointX, arcPointY);\n }\n }\n\n pathCommands += closePath();\n return pathCommands;\n}\n\n/**\n * Returns the pie chart center context.\n * @param cx The x coordinate of the center of the pie chart.\n * @param cy The y coordinate of the center of the pie chart.\n * @param innerRadius The inner radius of the pie chart.\n * @returns\n */\nexport function getCenterContext(cx: number, cy: number, innerRadius: number) {\n return {\n innerBounds: {\n width: Math.sqrt(2) * innerRadius,\n height: Math.sqrt(2) * innerRadius,\n x: cx - innerRadius / Math.sqrt(2),\n y: cy - innerRadius / Math.sqrt(2)\n },\n outerBounds: {\n width: 2 * innerRadius,\n height: 2 * innerRadius,\n x: cx - innerRadius,\n y: cy - innerRadius\n }\n };\n}\n\n/**\n * Returns the position of the datatip for a given slice.\n * @param startAngle The start angle of the pie slice.\n * @param angleExtent The angle extent of the pie slice.\n * @param cx The x coordinate of the center of the pie slice.\n * @param cy The y coordinate of the center of the pie slice.\n * @param innerRadius The inner radius.\n * @param radius The radius of the pie slice.\n * @returns\n */\nexport function getPieItemCenterCoord(\n startAngle: number,\n angleExtent: number,\n cx: number,\n cy: number,\n innerRadius: number,\n radius: number\n) {\n const angle = startAngle + angleExtent / 2;\n const theta = (angle / 180) * Math.PI;\n const r = (innerRadius + radius) / 2;\n\n return {\n x: cx + r * Math.cos(theta),\n y: cy - r * Math.sin(theta),\n width: 0,\n height: 0\n };\n}\n\n/**\n * Returns the element bound for active item.\n * @param renderedSlices The array of info for rendered slices.\n * @param cx The x coordinate of pie chart center.\n * @param cy The y coordinate of pie chart center.\n * @param ir The inner radius of the pie chart.\n * @param radius The radius of the pie chart.\n * @param activeItem The active item.\n * @returns\n */\nexport function getElementBounds<K>(\n renderedSlices: PieSliceInfo<K>[],\n cx: number,\n cy: number,\n ir: number,\n radius: number,\n activeItem?: ItemInfo\n) {\n return activeItem\n ? getPieItemCenterCoord(\n renderedSlices[activeItem.itemIndex].startAngle,\n renderedSlices[activeItem.itemIndex].angleExtent,\n cx,\n cy,\n ir,\n radius\n )\n : undefined;\n}\n\n/**\n * Returns default border color for datatip.\n * @param colors The color ramp.\n * @param activeItem The active item info.\n * @param activeData The active pie chart data item.\n * @returns\n */\nexport function getDefaultBorderColor<K>(\n colors: string[],\n activeItem?: ItemInfo,\n activeData?: PieChartItemData<K>\n) {\n return activeData?.color || activeItem?.itemIndex != undefined\n ? colors[activeItem!.itemIndex]\n : undefined;\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 { ColorProps } from '#utils/UNSAFE_interpolations/colors';\nimport { makeWedgePath } from './utils';\nimport { styles } from './themes/PieChartStyles.css';\nimport { classNames } from '#utils/UNSAFE_classNames';\n\n/**\n * The props for pie slice.\n */\ntype PieSliceProps = {\n /**\n * The x coordinate of the center of the slice.\n */\n cx: number;\n\n /**\n * The y coordinate of the center of the slice.\n */\n cy: number;\n\n /**\n * The radius of the pie slice.\n */\n r: number;\n\n /**\n * The start angle of the pie slice.\n */\n startAngle: number;\n\n /**\n * The angle extent of the pie slice.\n */\n angleExtent: number;\n\n /**\n * The gaps to keep between the pie slice items.\n */\n gap: number;\n\n /**\n * The inner radius of the pie slice.\n */\n innerRadius: number;\n\n /**\n * The color of the pie slice.\n */\n color: ColorProps['color'];\n\n /**\n * Whether the slice is focused.\n */\n isFocused?: boolean;\n\n /**\n * Whether the slice is hovered.\n */\n isHovered?: boolean;\n\n /**\n * The id of the pie slice.\n */\n id?: string;\n\n /**\n * The index of the item among rendered series.\n */\n itemIndex: number;\n\n /**\n * The aria label of the pie slice.\n */\n accessibleLabel?: string;\n\n /**\n * Whether the pie slice is intercative.\n */\n isInteractive?: boolean;\n};\n\n/**\n * The Pie Slice component.\n */\nexport function PieSlice({\n cx,\n cy,\n r,\n startAngle,\n angleExtent,\n gap,\n innerRadius,\n color,\n id,\n itemIndex,\n isFocused = false,\n isInteractive,\n ...props\n}: PieSliceProps) {\n const { interactiveItemStyle, contrastBorder, innerShapes } = styles;\n const itemClasses = classNames([\n isInteractive && interactiveItemStyle,\n contrastBorder,\n innerShapes\n ]);\n const path = makeWedgePath(0, cx, cy, r, r, innerRadius, angleExtent, gap, startAngle);\n let innerPath;\n if (isFocused) {\n innerPath = makeWedgePath(2, cx, cy, r, r, innerRadius, angleExtent, gap, startAngle);\n return (\n <g\n id={id}\n role={props.accessibleLabel ? 'img' : undefined}\n data-oj-private-item-index={itemIndex}\n data-oj-private-object=\"pieSlice\"\n aria-label={props.accessibleLabel}>\n <path d={path} fill={color} stroke={color} className={styles.innerShapes} />\n <path d={innerPath} fill={color} className={itemClasses} />\n </g>\n );\n }\n return (\n <path\n role={props.accessibleLabel ? 'img' : undefined}\n aria-label={props.accessibleLabel}\n d={path}\n data-oj-private-object=\"pieSlice\"\n fill={color}\n id={id}\n data-oj-private-item-index={itemIndex}\n className={isInteractive ? interactiveItemStyle : undefined}\n />\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 */\nimport type { RefObject } from 'preact';\nimport { type gestureTypes, useContextMenu } from '#hooks/PRIVATE_useVisContextMenu';\nimport type {\n PieChartContextMenuContext,\n PieChartContextMenuConfig,\n PieChartItemData\n} from './pieChart.types';\nimport { ItemInfo } from '#hooks/PRIVATE_usePieChartNav';\n\nimport { getInfo } from '#utils/UNSAFE_visUtils';\n\ntype Props<D> = {\n offset: {\n mainAxis: number;\n crossAxis: number;\n };\n rootRef: RefObject<HTMLDivElement>;\n contextMenuConfig?: PieChartContextMenuConfig<D>;\n focusedItemInfo: ItemInfo;\n items: D[];\n onContextMenuDismissed?: (gesture: gestureTypes) => void;\n width: number;\n isRtl: boolean;\n};\n\nexport const usePieChartContextMenu = <K, D extends PieChartItemData<K>>({\n offset,\n rootRef,\n contextMenuConfig,\n focusedItemInfo,\n items,\n onContextMenuDismissed,\n width,\n isRtl\n}: Props<D>) => {\n const { contextMenuProps, contextMenuContent } = useContextMenu<PieChartContextMenuContext<D>>({\n onContextMenuHandler: ({ gesture, target }) => {\n if (gesture === 'keyboard') {\n const itemIndex = focusedItemInfo.itemIndex;\n const data = items[itemIndex];\n const context = {\n type: 'item' as const,\n data\n };\n return {\n type: 'offset',\n context,\n offsetValue: offset,\n isRtl,\n width\n };\n }\n\n const itemIndex = getInfo(rootRef, target as HTMLElement)?.itemIndex;\n const data = itemIndex !== undefined ? items[itemIndex] : null;\n\n let context;\n if (data) {\n context = {\n type: 'item' as const,\n data: data\n };\n } else if (rootRef.current?.children[1].contains(target)) {\n context = { type: 'centerLabel' as const };\n } else {\n context = { type: 'background' as const };\n }\n return {\n type: 'pointer',\n context\n };\n },\n contextMenuOptions: {\n isDisabled: !contextMenuConfig //If there is no context menu renderer, we disable the hook\n },\n rootRef,\n contextMenuConfig,\n onContextMenuDismissed\n });\n\n return { contextMenuContent, contextMenuProps };\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 { Font, GetTextDimensionsType, TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { getTextInfo } from '#PRIVATE_VisSVGText';\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\nimport { PieSliceInfo } from './pieChart.types';\nimport { degreesToRads } from './utils';\n\ntype TextInfo = {\n lines: string[];\n dims: TextDimensions[];\n didNotFit: boolean;\n height: number;\n width: number;\n isMultiline: boolean;\n lineHeight: number;\n isTruncated: boolean;\n};\n\nexport type PieLabelInfo<K> = {\n position: number;\n angle: number;\n slice: PieSliceInfo<K>;\n width: number;\n height: number;\n x?: number;\n y?: number;\n minY?: number;\n maxY?: number;\n startPt?: {\n x: number;\n y: number;\n };\n endPt?: {\n x: number;\n y: number;\n };\n midPt?: {\n x: number;\n y: number;\n };\n textInfo?: TextInfo;\n};\n\nconst OUTSIDE_LABEL_DISTANCE = 1.04;\nconst _COLLISION_MARGIN = 1;\nconst _FEELER_RAD_MINSIZE = 0.1;\nconst _FEELER_HORIZ_MINSIZE = 0.1;\nconst _LABEL_TO_FEELER_OFFSET = 0.5;\nconst _ALL_COLLISION = 2;\nconst _HALF_COLLISION = 1;\nconst _NO_COLLISION = 0;\nconst _LABEL_TO_FEELER_DISTANCE = 3;\n\nfunction degreesToRadians(degrees: number) {\n return degrees * (Math.PI / 180);\n}\n\nfunction reflectAngleOverYAxis(angle: number, cx: number, cy: number, rx: number, ry: number) {\n const radian = degreesToRadians(360 - angle);\n const cosine = Math.cos(radian);\n const sine = Math.sin(radian);\n\n return { x: cx + cosine * rx, y: cy + sine * ry };\n}\n\nfunction skipSliceLabel<K>(slice: PieSliceInfo<K>, seriesCount: number) {\n const { angleExtent } = slice;\n return angleExtent < 3 && seriesCount > 120;\n}\n\n/**\n * Returns true if this slice contains the given coordinates.\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\nexport function sliceContainsPoint<K>(\n slice: PieSliceInfo<K>,\n x: number,\n y: number,\n cx: number,\n cy: number,\n innerRadius: number,\n radius: number\n) {\n const { angleExtent, startAngle } = slice;\n const ir = innerRadius;\n const c = { x: cx, y: cy };\n const cos = (x - c.x) / radius;\n const sin = (y - c.y) / radius;\n\n // Compute the angle\n let angle = -Math.atan2(sin, cos) * (180 / Math.PI); // in degrees\n // First adjust angle to be greater than the start angle.\n while (angle < startAngle) angle += 360;\n // Then adjust to be within 360 degrees of it\n while (angle - startAngle >= 360) angle -= 360;\n\n const distance = Math.pow(cos, 2) + Math.pow(sin, 2);\n const containsRadius = Math.sqrt(distance) > ir / radius && distance <= 1;\n const containsAngle = angle <= startAngle + angleExtent;\n return containsRadius && containsAngle;\n}\n\nexport function getInsideLabelsInfo<K>(\n slices: PieSliceInfo<K>[],\n innerRadius: number,\n radius: number,\n pieCenter: { cx: number; cy: number },\n defaultFontSize: string,\n getTextDimensions: GetTextDimensionsType\n): [PieLabelInfo<K>[], Set<number>] {\n const insideLabels: PieLabelInfo<K>[] = [];\n\n const outsideLabelsIndex = new Set<number>();\n\n const { cx, cy } = pieCenter;\n\n for (const slice of slices) {\n const { labelPosition: l, startAngle, angleExtent, label, labelStyle } = slice;\n const labelPosition = l || 'auto';\n\n if (labelPosition === 'none') {\n continue;\n }\n\n if (labelPosition === 'outside' || skipSliceLabel(slice, slices.length) || label == null) {\n outsideLabelsIndex.add(slice.index);\n continue;\n }\n\n const midAngle = startAngle + angleExtent / 2;\n const ir = innerRadius;\n const center = pieCenter;\n let posX, posY;\n\n if (slices.length === 1) {\n posX = center.cx;\n posY = center.cy;\n } else {\n const offset = Math.max(0.45, 0.65 - (0.45 * ir) / Math.max(radius, 0.001));\n const midPt = reflectAngleOverYAxis(\n midAngle,\n center.cx,\n center.cy,\n ir + (radius - ir) * offset,\n ir + (radius - ir) * offset\n );\n\n posX = midPt.x;\n posY = midPt.y;\n }\n\n const sliceLabelPosition = {\n x: posX,\n y: posY\n };\n\n const sliceLabelDims = getTextDimensions(label, { fontSize: defaultFontSize, ...labelStyle });\n\n let x1 = posX;\n let x2 = posX;\n const y1 = posY - sliceLabelDims.height / 2;\n const y2 = posY + sliceLabelDims.height / 2;\n\n while (\n sliceContainsPoint(slice, x1, y1, cx, cy, innerRadius, radius) &&\n sliceContainsPoint(slice, x1, y2, cx, cy, innerRadius, radius)\n ) {\n x1--;\n }\n\n while (\n sliceContainsPoint(slice, x2, y1, cx, cy, innerRadius, radius) &&\n sliceContainsPoint(slice, x2, y2, cx, cy, innerRadius, radius)\n ) {\n x2++;\n }\n\n x1 = Math.ceil(x1 + 3);\n x2 = Math.floor(x2 - 3);\n\n let usableSpace = 2 * Math.min(posX - x1, x2 - posX);\n if (usableSpace < sliceLabelDims.width) {\n sliceLabelPosition.x = (x1 + x2) / 2;\n usableSpace = x2 - x1;\n }\n\n if (labelPosition === 'inside') {\n const textWidth = sliceLabelDims.width;\n if (textWidth < usableSpace) {\n insideLabels.push({\n position: midAngle,\n angle: midAngle,\n slice,\n textInfo: getTextInfo(\n label,\n { fontSize: defaultFontSize, ...labelStyle },\n usableSpace,\n sliceLabelDims.height,\n false,\n label.length,\n getTextDimensions\n ),\n ...sliceLabelDims,\n ...sliceLabelPosition\n });\n }\n } else {\n const minChars = label.length;\n const textInfo = getTextInfo(\n label,\n { fontSize: defaultFontSize, ...labelStyle },\n usableSpace,\n sliceLabelDims.height,\n false,\n minChars,\n getTextDimensions\n );\n\n if (!textInfo.didNotFit) {\n insideLabels.push({\n position: midAngle,\n angle: midAngle,\n slice,\n textInfo,\n ...sliceLabelDims,\n ...sliceLabelPosition\n });\n } else {\n outsideLabelsIndex.add(slice.index); // Indicates outside label is needed\n }\n }\n }\n return [insideLabels, outsideLabelsIndex];\n}\n\nexport const layoutPieChartLabels = <K>(\n slices: PieSliceInfo<K>[],\n pieCenter: { cx: number; cy: number },\n innerRadius: number,\n radius: number,\n availSpace: Dimension,\n getTextDimensions: GetTextDimensionsType,\n defaultFontSize: string\n) => {\n const [insideLabels, outsideLabels] = getInsideLabelsInfo(\n slices,\n innerRadius,\n radius,\n pieCenter,\n defaultFontSize,\n getTextDimensions\n );\n\n const { leftLabels, rightLabels } = generateInitialLayout(\n slices,\n outsideLabels,\n availSpace,\n pieCenter,\n radius,\n defaultFontSize,\n getTextDimensions\n );\n\n const leftColl = _refineInitialLayout(slices, radius, pieCenter, availSpace, leftLabels, 'left');\n const rightColl = _refineInitialLayout(\n slices,\n radius,\n pieCenter,\n availSpace,\n rightLabels,\n 'right'\n );\n\n if (leftColl === _HALF_COLLISION && rightColl !== _NO_COLLISION) {\n _columnLabels(slices, availSpace, pieCenter, radius, leftLabels, true, true, true);\n }\n\n if (leftColl !== _NO_COLLISION && rightColl === _HALF_COLLISION) {\n _columnLabels(slices, availSpace, pieCenter, radius, rightLabels, false, true, true);\n }\n\n setLabelsAndFeelers(\n leftLabels,\n availSpace,\n pieCenter,\n radius,\n 'left',\n { fontSize: defaultFontSize },\n getTextDimensions\n );\n\n setLabelsAndFeelers(\n rightLabels,\n availSpace,\n pieCenter,\n radius,\n 'right',\n { fontSize: defaultFontSize },\n getTextDimensions\n );\n\n return { insideLabels, rightLabels, leftLabels };\n};\n\nexport function generateInitialLayout<K>(\n slices: PieSliceInfo<K>[],\n outsideLabels: Set<number>,\n availSpace: Dimension,\n center: { cx: number; cy: number },\n radius: number,\n defaultFontSize: string,\n getTextDimensions: GetTextDimensionsType\n) {\n const leftLabels: PieLabelInfo<K>[] = [];\n const rightLabels: PieLabelInfo<K>[] = [];\n const { cx, cy } = center;\n\n for (let i = 0; i < slices.length; i++) {\n const slice = slices[i];\n const { labelPosition, startAngle, angleExtent, label, labelStyle } = slice;\n\n if (\n label == null ||\n labelPosition == 'none' ||\n labelPosition == 'inside' ||\n skipSliceLabel(slices[i], slices.length) ||\n !outsideLabels.has(slice.index)\n ) {\n continue;\n }\n\n let middleAngle = startAngle + angleExtent / 2;\n if (middleAngle > 360) middleAngle -= 360;\n if (middleAngle < 0) middleAngle += 360;\n\n const labelPt = reflectAngleOverYAxis(\n middleAngle,\n cx,\n cy,\n radius * OUTSIDE_LABEL_DISTANCE,\n radius * OUTSIDE_LABEL_DISTANCE\n );\n\n const isLeftSide = middleAngle >= 90 && middleAngle < 270;\n const maxLabelWidth = getMaxLabelWidth(availSpace, labelPt.x, isLeftSide);\n\n const textInfo = getTextInfo(\n label,\n { fontSize: defaultFontSize, ...labelStyle },\n maxLabelWidth,\n Infinity,\n true,\n 1,\n getTextDimensions\n );\n const tmDimPt = { x: textInfo.width, y: textInfo.height };\n\n const midArea = 15;\n\n if (middleAngle < 180 - midArea && middleAngle > midArea) {\n //upper half\n labelPt.y -= tmDimPt.y * 1;\n } else if (middleAngle < midArea || middleAngle > 360 - midArea) {\n //right side, near horizontal\n labelPt.y -= tmDimPt.y * 0.5;\n labelPt.x += tmDimPt.y * 0.2;\n } else if (middleAngle > 180 - midArea && middleAngle < 180 + midArea) {\n //left side, near horizontal\n labelPt.y -= tmDimPt.y * 0.5;\n labelPt.x -= tmDimPt.y * 0.2;\n }\n\n if (slices.length == 1)\n // only 1 label\n labelPt.x -= tmDimPt.x / 2; //position the label at the center\n\n if (labelPt.y < availSpace.y || labelPt.y + tmDimPt.y > availSpace.y + availSpace.height)\n // label will not fit with appropriate spacing\n continue;\n\n let pa;\n if (middleAngle >= 90.0 && middleAngle < 270.0) {\n pa = middleAngle - 90.0;\n createLabelInfo(slice, middleAngle, pa, tmDimPt, labelPt, textInfo, leftLabels);\n } else {\n // right side\n // normalize from 0 to 180\n pa = middleAngle <= 90.0 ? Math.abs(90 - middleAngle) : 180 - (middleAngle - 270);\n createLabelInfo(slice, middleAngle, pa, tmDimPt, labelPt, textInfo, rightLabels);\n }\n }\n\n return { leftLabels, rightLabels };\n}\n\nexport function getMaxLabelWidth(availSpace: Dimension, labelX: number, isLeftSide: boolean) {\n return isLeftSide ? labelX - availSpace.x : availSpace.x + availSpace.width - labelX;\n}\n\nexport function createLabelInfo<K>(\n slice: PieSliceInfo<K>,\n midAngle: number,\n position: number,\n tmDimPt: { x: number; y: number },\n labelPt: { x: number; y: number },\n textInfo: TextInfo,\n labelInfoArray: PieLabelInfo<K>[]\n) {\n let insertPos = -1;\n\n // insertion \"sort\"\n for (let j = 0; j < labelInfoArray.length; j++) {\n const labelInfo = labelInfoArray[j];\n if (labelInfo['position'] && labelInfo['position'] > position) {\n insertPos = j;\n break;\n }\n }\n\n if (insertPos == -1) insertPos = labelInfoArray.length;\n\n const labelInfo = {\n position,\n angle: midAngle,\n width: tmDimPt.x,\n height: tmDimPt.y,\n x: labelPt.x,\n y: labelPt.y,\n slice,\n textInfo\n };\n\n labelInfoArray.splice(insertPos, 0, labelInfo);\n}\n\nexport function _refineInitialLayout<K>(\n slices: PieSliceInfo<K>[],\n radius: number,\n center: { cx: number; cy: number },\n availableSpace: Dimension,\n labelInfoArray: PieLabelInfo<K>[],\n side: 'left' | 'right'\n) {\n if (labelInfoArray.length < 1) {\n return;\n }\n\n let lastY = availableSpace.y; //think again!!\n let collisionTop = false;\n let collisionCentral = false;\n let collisionBottom = false;\n let labelBottom = 0;\n\n let labelInfo;\n\n let bottomQuarter = false;\n let prevBottomQuarter;\n let collide = false;\n const isLeftSideLabels = side == 'left';\n\n for (let i = 0; i < labelInfoArray.length; i++) {\n labelInfo = labelInfoArray[i];\n\n prevBottomQuarter = bottomQuarter;\n if (labelInfo.position! > 90) bottomQuarter = true;\n\n labelBottom = labelInfo.y! + labelInfo.height!;\n\n collide = lastY - labelInfo.y! > _COLLISION_MARGIN;\n\n if (collide) {\n if (!bottomQuarter) {\n collisionTop = true;\n } else if (!prevBottomQuarter) {\n collisionCentral = true;\n } else {\n collisionBottom = true;\n }\n }\n\n if (labelBottom > lastY) {\n lastY = labelBottom;\n }\n }\n\n if ((collisionTop && collisionBottom) || collisionCentral) {\n _columnLabels(\n slices,\n availableSpace,\n center,\n radius,\n labelInfoArray,\n isLeftSideLabels,\n true,\n true\n );\n return _ALL_COLLISION;\n } else if (collisionTop) {\n _columnLabels(\n slices,\n availableSpace,\n center,\n radius,\n labelInfoArray,\n isLeftSideLabels,\n true,\n false\n );\n return _HALF_COLLISION;\n } else if (collisionBottom) {\n _columnLabels(\n slices,\n availableSpace,\n center,\n radius,\n labelInfoArray,\n isLeftSideLabels,\n false,\n true\n );\n return _HALF_COLLISION;\n }\n return _NO_COLLISION;\n}\n\nexport function _getRadFeelerAngle<K>(\n labelInfo: PieLabelInfo<K>,\n x: number,\n y: number,\n radius: number,\n center: { cx: number; cy: number }\n) {\n const ma = labelInfo.angle;\n const startPt = reflectAngleOverYAxis(ma, center.cx, center.cy, radius, radius);\n return Math.atan2(Math.abs(x - startPt.x), startPt.y - y);\n}\n\nexport function getMiddleLabel<K>(alabels: PieLabelInfo<K>[]) {\n let bestAngle = 91;\n let bestIndex = -1;\n for (let i = 0; i < alabels.length; i++) {\n const pa = alabels[i]['position']!;\n if (Math.abs(pa - 90) < bestAngle) {\n bestAngle = Math.abs(pa - 90);\n bestIndex = i;\n }\n }\n return bestIndex;\n}\n\nexport function setOptimalLabelPos<K>(\n radius: number,\n labelInfo: PieLabelInfo<K>,\n vertX: number,\n center: { cx: number; cy: number }\n) {\n //set optimal X\n labelInfo['x'] = vertX;\n\n const b = radius * (1 + _FEELER_RAD_MINSIZE);\n const angleInRad = degreesToRads(labelInfo['position']);\n const heightFromCenter = b * Math.cos(angleInRad);\n const tilt = 0;\n let optimalY = center.cy - heightFromCenter - labelInfo.height * _LABEL_TO_FEELER_OFFSET + tilt;\n const _minY = labelInfo['minY']!;\n const _maxY = labelInfo['maxY']!;\n if (_minY <= _maxY) {\n optimalY = Math.max(optimalY, _minY);\n optimalY = Math.min(optimalY, _maxY);\n }\n labelInfo['y'] = optimalY;\n}\n\nexport function _columnLabels<K>(\n slices: PieSliceInfo<K>[],\n availableSpace: Dimension,\n center: { cx: number; cy: number },\n radius: number,\n alabels: PieLabelInfo<K>[],\n isLeft: boolean,\n isTop: boolean,\n isBottom: boolean\n) {\n const frame = availableSpace;\n let minY = frame.y;\n let maxY = frame.y + frame.height;\n let i;\n let labelInfo;\n let pa = 0;\n let radFeelerAngle;\n\n //determine the position where the column will be aligned\n let vertX = center.cx;\n let feelerX;\n const minFeelerDist = radius * (1 + _FEELER_RAD_MINSIZE + _FEELER_HORIZ_MINSIZE);\n\n if (isLeft) {\n vertX -= minFeelerDist;\n feelerX = vertX + radius * _FEELER_HORIZ_MINSIZE;\n } else {\n vertX += minFeelerDist;\n feelerX = vertX - radius * _FEELER_HORIZ_MINSIZE;\n }\n\n //set the minimum heights that ensures as many labels as possible are displayed\n for (i = 0; i < alabels.length; i++) {\n labelInfo = alabels[i];\n pa = degreesToRads(labelInfo.position);\n radFeelerAngle = _getRadFeelerAngle(labelInfo, feelerX, minY, radius, center);\n\n // Remove labels that are more than a certain angle away from the slice.\n if (radFeelerAngle - pa > 0.45 * Math.PI || skipSliceLabel(alabels[i].slice, slices.length)) {\n alabels.splice(i, 1);\n i--;\n } else {\n alabels[i].minY = minY;\n minY += alabels[i].height;\n }\n }\n\n //set the maximum heights that ensures as many labels as possible are displayed\n for (i = alabels.length - 1; i >= 0; i--) {\n labelInfo = alabels[i];\n const position = labelInfo['position'];\n pa = degreesToRads(position);\n radFeelerAngle = _getRadFeelerAngle(labelInfo, feelerX, maxY, radius, center);\n\n // Remove labels that are more than a certain angle away from the slice.\n if (pa - radFeelerAngle > 0.45 * Math.PI || skipSliceLabel(alabels[i].slice, slices.length)) {\n alabels.splice(i, 1);\n } else {\n maxY -= alabels[i].height;\n alabels[i].maxY = maxY;\n }\n }\n\n if (alabels.length == 0) return;\n\n const startIndex = getMiddleLabel(alabels);\n const startLabel = alabels[startIndex];\n\n //if the column is only partial but there are too many labels, then set the whole side as column\n if (isTop && !isBottom) {\n if (startLabel.minY! + startLabel.height > center.cy) {\n isBottom = true;\n }\n }\n if (isBottom && !isTop) {\n if (startLabel.maxY! < center.cy) {\n isTop = true;\n }\n }\n\n const labelPostion = startLabel['position'];\n if ((isBottom && isTop) || (labelPostion > 90 && isBottom) || (labelPostion <= 90 && isTop)) {\n setOptimalLabelPos(radius, startLabel, vertX, center);\n startLabel.slice.hasFeelers = true;\n }\n\n let highestY = startLabel.y!;\n let lowestY = startLabel.y! + startLabel.height;\n\n let optimalY;\n let labelHeight;\n\n if (isTop) {\n //labels above the start label\n for (i = startIndex - 1; i >= 0; i--) {\n labelInfo = alabels[i];\n labelHeight = labelInfo.height;\n setOptimalLabelPos(radius, labelInfo, vertX, center);\n labelInfo.slice.hasFeelers = true;\n\n //avoid collision with the label below\n optimalY = labelInfo.y!;\n if (optimalY + labelHeight < highestY) {\n highestY = optimalY;\n } else {\n highestY -= labelHeight;\n }\n labelInfo.y = highestY;\n }\n }\n\n if (isBottom) {\n //labels below the start label\n for (i = startIndex + 1; i < alabels.length; i++) {\n labelInfo = alabels[i];\n labelHeight = labelInfo.height;\n setOptimalLabelPos(radius, labelInfo, vertX, center);\n labelInfo.slice.hasFeelers = true;\n\n //avoid collision with the label above\n optimalY = labelInfo.y!;\n if (optimalY > lowestY) {\n lowestY = optimalY + labelHeight;\n } else {\n lowestY += labelHeight;\n }\n labelInfo.y = lowestY - labelHeight;\n }\n }\n}\n\nexport function setLabelsAndFeelers<K>(\n alabels: PieLabelInfo<K>[],\n availSpace: Dimension,\n center: { cx: number; cy: number },\n radius: number,\n side: 'left' | 'right',\n labelStyle: Font,\n getTextDimension: GetTextDimensionsType\n) {\n if (alabels == null || alabels.length <= 0) return;\n\n let i;\n let slice;\n let sliceLabel;\n const isLeftSide = side === 'left';\n const frame = availSpace;\n\n let excessWidth = Infinity;\n let excessLength;\n\n // Determine how much the horizontal feelers can be shortened\n for (i = 0; i < alabels.length; i++) {\n const labelInfo = alabels[i];\n\n const style = { ...labelStyle, ...labelInfo.slice.labelStyle };\n if (labelInfo.slice['hasFeelers']) {\n excessLength = _calculateFeeler(labelInfo, center, radius, isLeftSide);\n\n const fontHeight = getTextDimension('MW', style).height;\n const labelWidth = labelInfo['width'];\n const minLabelWidth = Math.min(2 * fontHeight, labelWidth);\n\n const maxLabelWidth = getMaxLabelWidth(availSpace, labelInfo['x']!, isLeftSide);\n\n // Remove feelers for labels that will not be rendered and ignore for excess width calculation\n if (maxLabelWidth + excessLength < minLabelWidth || labelInfo['width'] == 0) {\n labelInfo.textInfo = undefined;\n labelInfo.slice.hasFeelers = false;\n continue;\n }\n excessWidth = Math.min(excessWidth, excessLength);\n } else {\n labelInfo.slice.hasFeelers = false;\n }\n }\n\n for (i = 0; i < alabels.length; i++) {\n const labelInfo = alabels[i];\n slice = labelInfo.slice;\n sliceLabel = labelInfo.slice.label;\n if (!sliceLabel) continue;\n\n if (labelInfo.slice.hasFeelers) {\n // shorten the horizontal feelers\n if (isLeftSide) {\n labelInfo.x = labelInfo.x! + excessWidth;\n } else {\n labelInfo.x = labelInfo.x! - excessWidth;\n }\n // setup the feeler line (let it clip if needed)\n _calculateFeeler(labelInfo, center, radius, isLeftSide);\n }\n\n // perform 'logical' clipping ourselves\n if (labelInfo.y! < frame.y || labelInfo.y! + labelInfo.height > frame.y + frame.height) {\n slice.label = '';\n slice.hasFeelers = false;\n } else {\n const maxLabelWidth = getMaxLabelWidth(availSpace, labelInfo.x!, isLeftSide);\n const textInfo =\n labelInfo.textInfo &&\n getTextInfo(\n labelInfo.slice.label!,\n { ...labelStyle, ...labelInfo.slice.labelStyle },\n maxLabelWidth,\n labelInfo.textInfo.height!,\n true,\n 1,\n getTextDimension\n );\n labelInfo.textInfo = textInfo;\n if (labelInfo.height === 0 || labelInfo.width === 0) {\n slice.label = '';\n slice.hasFeelers = false;\n }\n }\n }\n}\n\nexport function _calculateFeeler<K>(\n labelInfo: PieLabelInfo<K>,\n center: { cx: number; cy: number },\n radius: number,\n isLeft: boolean\n) {\n const { x, y, height } = labelInfo;\n let targetX = x!;\n const targetY = y! + height * _LABEL_TO_FEELER_OFFSET;\n const minHorizLength = _FEELER_HORIZ_MINSIZE * radius;\n\n let midX;\n if (isLeft) {\n targetX += _LABEL_TO_FEELER_DISTANCE;\n midX = targetX + minHorizLength;\n } else {\n targetX -= _LABEL_TO_FEELER_DISTANCE;\n midX = targetX - minHorizLength;\n }\n\n const midPt = {\n x: midX,\n y: targetY\n };\n const endPt = {\n x: targetX,\n y: targetY\n };\n const ma = labelInfo.angle;\n\n const startPt = reflectAngleOverYAxis(ma, center.cx, center.cy, radius, radius);\n\n // make set the first section of the feeler radial if possible\n const pa = degreesToRads(labelInfo['position']);\n const radFeelerAngle = Math.abs(Math.atan2(midPt.x - startPt.x, startPt.y - midPt.y));\n const horizOffset = (startPt.y - midPt.y) * Math.tan(pa); // * pieChart.getRadiusX() / pieChart.getRadiusY();\n if (\n (pa > Math.PI / 2 && radFeelerAngle > Math.PI / 2 && radFeelerAngle < pa) ||\n (pa < Math.PI / 2 && radFeelerAngle < Math.PI / 2 && radFeelerAngle > pa)\n ) {\n if (isLeft) {\n midPt.x = startPt.x - horizOffset;\n } else {\n midPt.x = startPt.x + horizOffset;\n }\n }\n\n //store outside feeler points on slice\n //and let slice draw the feeler so that we can\n //easily redraw it when selecting\n labelInfo['startPt'] = startPt;\n labelInfo['midPt'] = midPt;\n labelInfo['endPt'] = endPt;\n return Math.abs(endPt.x - midPt.x) - minHorizLength;\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 { getContrastingTextColor } from '#utils/PRIVATE_colorUtils';\nimport { PieLabelInfo } from './labelUtils';\nimport { styles } from './themes/PieChartStyles.css';\n\ntype LabelProps<K> = {\n pieLabelInfo: PieLabelInfo<K>;\n labelPos: 'inside' | 'left' | 'right';\n fontSize: string;\n isRtl: boolean;\n};\n\nexport function PieChartLabel<K>({ pieLabelInfo, labelPos, fontSize, isRtl }: LabelProps<K>) {\n const { x, y, textInfo, slice, startPt, midPt, endPt } = pieLabelInfo;\n const color = slice.color as string;\n const fill = labelPos === 'inside' ? getContrastingTextColor(color) : undefined;\n return (\n <>\n {textInfo?.lines.map((line: any, i: number) => {\n const lineX = x!;\n const lineY = y! + (i + 0.5) * textInfo.dims[i].height;\n const textAnchor =\n (isRtl && labelPos === 'left') || (!isRtl && labelPos === 'right')\n ? 'start'\n : labelPos === 'inside'\n ? 'middle'\n : 'end';\n return (\n <>\n {slice.label && (\n <text\n className={styles.labelStyle}\n x={lineX}\n y={lineY}\n textAnchor={textAnchor}\n dominantBaseline={labelPos === 'inside' ? 'center' : 'middle'}\n style={{\n fill,\n fontSize\n }}>\n {line}\n </text>\n )}\n {slice.hasFeelers && startPt && midPt && endPt && (\n <>\n <line\n x1={startPt.x}\n x2={midPt.x}\n y1={startPt.y}\n y2={midPt.y}\n className={styles.fillerLineStyle}></line>\n <line\n x1={endPt.x}\n x2={midPt.x}\n y1={endPt.y}\n y2={midPt.y}\n className={styles.fillerLineStyle}></line>\n </>\n )}\n </>\n );\n })}\n </>\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 { styles } from './themes/PieChartStyles.css';\nimport {\n getDefaultBorderColor,\n getElementBounds,\n getPieCenter,\n getRadius,\n getRenderedSlices,\n getPieChartInfo,\n getPieSliceGap,\n getSliceInfo\n} from './utils';\nimport { getAvailSpace } from '#utils/PRIVATE_chartUtils/layoutUtils';\nimport { PieSlice } from './PieSlice';\nimport { getCenterContext } from './utils';\nimport { getPieChartNavUtils } from './pieNavUtils';\nimport { ItemInfo, usePieChartNav } from '#hooks/PRIVATE_usePieChartNav';\nimport { useDatatip } from '#hooks/PRIVATE_useDatatip';\nimport { calculateOffset } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { VisTabularDatatip } from '#PRIVATE_VisTabularDatatip';\nimport type { PieChartProps, PieChartItemData } from './pieChart.types';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { useTestId } from '#hooks/UNSAFE_useTestId';\nimport { useVisTouchResponse } from '#hooks/PRIVATE_useVisTouchResponse';\nimport { useRef } from 'preact/hooks';\nimport { merge } from '@oracle/oraclejet-internal-utilities/stringUtils';\nimport { usePieChartContextMenu } from './usePieChartContextMenu';\nimport { layoutPieChartLabels, PieLabelInfo } from './labelUtils';\nimport { useTextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { useCssVars } from '#hooks/PRIVATE_useCssVars';\nimport { getChartVars } from '#utils/PRIVATE_chartUtils';\nimport { PieChartLabel } from './PieChartLabel';\n\ntype PieChartWithDimensionsProps<K, D> = Omit<PieChartProps<K, D>, 'width' | 'height'> & {\n width: number;\n height: number;\n};\n\nconst NUM_PIE_SLICE_THRESHOLD = 100;\n\nconst chartVars = getChartVars();\n\nexport function PieChartWithDimensions<\n K extends string | number,\n D extends PieChartItemData<K> = PieChartItemData<K>\n>({\n width,\n height,\n testId,\n innerRadius = 0,\n contextMenuConfig,\n drilling = 'off',\n selectionMode = 'none',\n onItemDrill,\n onItemHover,\n onItemFocus,\n ...props\n}: PieChartWithDimensionsProps<K, D>) {\n const rootRef = useRef<HTMLDivElement>(null);\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const { resolvedVars, cssContent } = useCssVars(chartVars);\n const colors = Array.from(Array(12)).map((_, index) => {\n return resolvedVars[`color${index + 1}`];\n });\n \n let data = props.data.filter(item => item.value > 0);\n if (isRtl) {\n data = data.slice().reverse();\n }\n const { totalValue, isLabelOutside } = getPieChartInfo(data);\n const sliceInfos = getSliceInfo(data, totalValue, colors, isRtl);\n const hasData = data.length > 0;\n\n // default data item gaps is 0.5. TODO: replace 0.5 with pie dataItemGaps/pieSliceGaps\n const pieSliceGap = getPieSliceGap(0.5);\n const hasLargeSeriesCount = data.length > NUM_PIE_SLICE_THRESHOLD;\n\n const testIdProps = useTestId(testId);\n const availSpace = getAvailSpace(width, height, false);\n const { cx, cy } = getPieCenter(availSpace);\n const radius = getRadius(availSpace, isLabelOutside);\n const ir = innerRadius * radius;\n const renderedSlices = getRenderedSlices(sliceInfos, hasLargeSeriesCount, radius);\n const { getDetailFromInfo, getNextChartItem } = getPieChartNavUtils<K, D>(\n data,\n direction === 'rtl'\n );\n\n const { textMeasureContent, getTextDimensions } = useTextDimensions();\n\n const supportsSelection = !!(selectionMode && selectionMode !== 'none');\n const supportsDrill = drilling === 'on';\n // const isReadOnly = !supportsSelection && !supportsDrill && onItemHover === null && onItemFocus === null;\n const { touchResponse, touchResponseStyle } = useVisTouchResponse({\n type: 'auto',\n supportsTouchDragGestures: false,\n rootRef\n });\n\n const { activeId, focusedItemInfo, hoveredItemInfo, eventsProps, onContextMenuDismissed } =\n usePieChartNav<K, D>(touchResponse, getDetailFromInfo, getNextChartItem, drilling, onItemDrill);\n const activeItem = focusedItemInfo.isFocusVisible ? focusedItemInfo : hoveredItemInfo;\n const activeData = activeItem ? data[renderedSlices[activeItem.itemIndex].index] : undefined;\n\n const defaultDatatip = (activeData?: PieChartItemData<K>, activeItem?: ItemInfo) => {\n if (!activeData) {\n return {\n content: undefined,\n borderColor: undefined,\n defaultContainer: undefined\n };\n }\n if (activeData.accessibleLabel) {\n return {\n content: activeData.accessibleLabel,\n borderColor: getDefaultBorderColor(colors, activeItem, activeData),\n defaultContainer: 'enabled' as const\n };\n }\n return {\n content: (\n <VisTabularDatatip\n tableData={[\n {\n key: 'Value',\n value: activeData.value\n }\n ]}\n />\n ),\n borderColor: getDefaultBorderColor(colors, activeItem, activeData),\n defaultContainer: 'enabled' as const\n };\n };\n\n const {\n content: datatipString,\n borderColor,\n defaultContainer\n } = activeData && props.datatip\n ? props.datatip({ data: activeData })\n : defaultDatatip(activeData, activeItem);\n\n const anchor = focusedItemInfo.isFocusVisible ? 'element' : 'pointer';\n\n const elementBounds = activeItem?.isFocusVisible\n ? getElementBounds(renderedSlices, cx, cy, ir, radius, activeItem)\n : undefined;\n\n const offset = calculateOffset(isRtl, width, elementBounds);\n const { datatipContent, datatipProps } = useDatatip({\n content: datatipString,\n offset,\n anchor,\n placement: 'top-start',\n borderColor,\n touchResponse,\n defaultContainer\n });\n\n datatipProps['aria-describedby'] = merge([\n props['aria-describedby'],\n datatipProps['aria-describedby']\n ]);\n\n const { contextMenuContent, contextMenuProps } = usePieChartContextMenu<K, D>({\n offset,\n rootRef,\n contextMenuConfig: hasData ? contextMenuConfig : undefined,\n onContextMenuDismissed,\n focusedItemInfo,\n items: sliceInfos,\n width,\n isRtl\n });\n\n const mergedProps = mergeProps(eventsProps, datatipProps, contextMenuProps);\n\n let insideLabels: PieLabelInfo<K>[] = [];\n let rightLabels: PieLabelInfo<K>[] = [];\n let leftLabels: PieLabelInfo<K>[] = [];\n\n const defaultFontSize = resolvedVars['labelFontSize'];\n\n if (getTextDimensions) {\n const labels = layoutPieChartLabels(\n renderedSlices,\n { cx, cy },\n ir,\n radius,\n availSpace,\n getTextDimensions,\n defaultFontSize\n );\n insideLabels = labels.insideLabels;\n rightLabels = labels.rightLabels;\n leftLabels = labels.leftLabels;\n }\n\n return (\n <div\n ref={rootRef}\n tabIndex={0}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n aria-activedescendant={activeId}\n role=\"application\"\n {...mergedProps}\n {...testIdProps}\n className={styles.chart}\n style={touchResponseStyle}>\n {renderedSlices.length > 0 && hasData && ( //className={styles.svg}\n <svg className={styles.svg}>\n {renderedSlices.map((item, index: number) => {\n return (\n <PieSlice\n isInteractive={supportsSelection || supportsDrill}\n cx={cx}\n cy={cy}\n itemIndex={index}\n id={activeItem?.itemIndex === index ? activeId : undefined}\n isFocused={focusedItemInfo?.itemIndex === index && focusedItemInfo?.isFocusVisible}\n isHovered={hoveredItemInfo?.itemIndex === index}\n r={radius}\n startAngle={item.startAngle}\n gap={pieSliceGap}\n innerRadius={ir}\n angleExtent={item.angleExtent}\n color={item.color}\n key={item.id}\n accessibleLabel={item.accessibleLabel}\n />\n );\n })}\n {insideLabels?.map((v) => {\n return (\n <PieChartLabel\n isRtl={isRtl}\n pieLabelInfo={v}\n labelPos=\"inside\"\n fontSize={defaultFontSize}\n />\n );\n })}\n {leftLabels?.map((v) => {\n return (\n <PieChartLabel\n isRtl={isRtl}\n pieLabelInfo={v}\n labelPos=\"left\"\n fontSize={defaultFontSize}\n />\n );\n })}\n {rightLabels?.map((v) => {\n return (\n <PieChartLabel\n isRtl={isRtl}\n pieLabelInfo={v}\n labelPos=\"right\"\n fontSize={defaultFontSize}\n />\n );\n })}\n </svg>\n )}\n {props.children?.(getCenterContext(cx, cy, ir))}\n {datatipContent}\n {cssContent}\n {contextMenuContent}\n {textMeasureContent}\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 type {\n ItemFocusDetail,\n ItemHoverDetail,\n ItemInfo,\n PieChartItemData\n} from './pieChart.types';\n\n/**\n * Returns the item based on item info in a pie chart.\n * @param itemInfo\n * @param items\n * @returns\n */\nfunction getItem<K, D extends PieChartItemData<K>>(itemInfo: ItemInfo, items: D[]) {\n const { itemIndex } = itemInfo;\n return items[itemIndex];\n}\n\n/**\n * Returns the nav util for pie chart.\n * @param data\n * @param isRtl\n * @returns\n */\nexport function getPieChartNavUtils<K, D extends PieChartItemData<K>>(data: D[], isRtl: boolean) {\n return {\n getNextChartItem: (\n { itemIndex }: { itemIndex: number },\n arrow: 'ArrowLeft' | 'ArrowRight' | 'ArrowDown' | 'ArrowUp'\n ): { itemIndex: number } => {\n let newItemIndex = itemIndex;\n if (\n (isRtl && (arrow === 'ArrowRight' || arrow === 'ArrowUp')) ||\n (!isRtl && (arrow === 'ArrowLeft' || arrow === 'ArrowDown'))\n ) {\n newItemIndex = itemIndex - 1;\n } else {\n newItemIndex = itemIndex + 1;\n }\n return {\n itemIndex: ((newItemIndex % data.length) + data.length) % data.length\n };\n },\n getDetailFromInfo: (itemInfo?: ItemInfo): ItemHoverDetail<K, D> | ItemFocusDetail<K, D> => {\n if (!itemInfo) {\n return { id: undefined, data: undefined };\n }\n const item = getItem(itemInfo, data);\n return { id: item ? item.id : undefined, data: item };\n }\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/PieChartStyles.css';\nimport { TrackResizeContainer } from '#UNSAFE_TrackResizeContainer';\nimport { PieChartWithDimensions } from './PieChartWithDimensions';\nimport type { PieChartItemData, PieChartProps } from './pieChart.types';\n\n/**\n * Pie charts are useful for visualizing parts of a whole, but do not display zero or negative values so they are not recommended for data sets that may have negative or null data\n */\nexport function PieChart<\n K extends string | number,\n D extends PieChartItemData<K> = PieChartItemData<K>\n>({ width, height, ...props }: PieChartProps<K, D>) {\n return (\n <TrackResizeContainer width={width} height={height} class={dimensionStyle}>\n {(w, h) =>\n (\n <PieChartWithDimensions width={w} height={h} {...props} />\n )\n }\n </TrackResizeContainer>\n );\n}\n"],"names":["degreesToRads","degree","Math","PI","calculateAngleBetweenTwoVectors","vector1X","vector1Y","vector2X","vector2Y","angle","atan2","makeWedgePath","inset","cx","cy","radiusX","radiusY","innerRadius","angleExtent","wedgeGap","startAngle","rx","max","ry","gap","ir","angleExtentRads","startAngleRads","dataItemGaps","gapAngle","asin","centerLineAngle","distanceToStartPointX","min","abs","sin","distanceToStartPointY","startPointX","cos","startPointY","arcPointX","arcPointY","arcPoint2X","arcPoint2Y","pathCommands","outerAngle","innerGapAngle","innerPointX","innerPointY","innerPoint2X","innerPoint2Y","innerAngle","moveTo","arcTo","lineTo","closePath","getCenterContext","innerBounds","width","sqrt","height","x","y","outerBounds","getElementBounds","renderedSlices","radius","activeItem","theta","r","getPieItemCenterCoord","itemIndex","undefined","getDefaultBorderColor","colors","activeData","color","PieSlice","id","isFocused","isInteractive","props","interactiveItemStyle","contrastBorder","innerShapes","styles","itemClasses","classNames","path","innerPath","_jsxs","jsxs","role","accessibleLabel","children","_jsx","d","fill","stroke","className","OUTSIDE_LABEL_DISTANCE","_FEELER_HORIZ_MINSIZE","reflectAngleOverYAxis","radian","skipSliceLabel","slice","seriesCount","sliceContainsPoint","distance","pow","layoutPieChartLabels","slices","pieCenter","availSpace","getTextDimensions","defaultFontSize","insideLabels","outsideLabels","outsideLabelsIndex","Set","labelPosition","l","label","labelStyle","length","add","index","midAngle","center","posX","posY","offset","midPt","sliceLabelPosition","sliceLabelDims","fontSize","x1","x2","y1","y2","ceil","floor","usableSpace","push","position","textInfo","getTextInfo","minChars","didNotFit","getInsideLabelsInfo","leftLabels","rightLabels","i","has","middleAngle","labelPt","isLeftSide","maxLabelWidth","getMaxLabelWidth","Infinity","tmDimPt","midArea","pa","createLabelInfo","generateInitialLayout","leftColl","_refineInitialLayout","rightColl","_columnLabels","setLabelsAndFeelers","labelX","labelInfoArray","insertPos","j","labelInfo","splice","availableSpace","side","prevBottomQuarter","lastY","collisionTop","collisionCentral","collisionBottom","labelBottom","bottomQuarter","collide","isLeftSideLabels","_getRadFeelerAngle","startPt","setOptimalLabelPos","vertX","b","angleInRad","heightFromCenter","optimalY","_minY","_maxY","alabels","isLeft","isTop","isBottom","frame","radFeelerAngle","feelerX","minY","maxY","minFeelerDist","startIndex","bestAngle","bestIndex","getMiddleLabel","startLabel","labelPostion","hasFeelers","labelHeight","highestY","lowestY","getTextDimension","sliceLabel","excessLength","excessWidth","style","_calculateFeeler","fontHeight","labelWidth","minLabelWidth","targetX","targetY","minHorizLength","midX","endPt","horizOffset","tan","PieChartLabel","pieLabelInfo","labelPos","isRtl","getContrastingTextColor","jsx","_Fragment","lines","map","line","lineX","lineY","dims","textAnchor","dominantBaseline","fillerLineStyle","chartVars","getChartVars","PieChartWithDimensions","testId","contextMenuConfig","drilling","selectionMode","onItemDrill","onItemHover","onItemFocus","rootRef","useRef","direction","useUser","resolvedVars","cssContent","useCssVars","Array","from","_","data","filter","item","value","reverse","totalValue","isLabelOutside","reduce","sliceInfos","items","percentage","anchorOffset","sliceInfo","arc","getSliceInfo","hasData","pieSliceGap","getPieSliceGap","hasLargeSeriesCount","testIdProps","useTestId","getAvailSpace","getPieCenter","radiusScale","getRadius","itemInfo","hasLargeItemCount","perimeter","prevEndCoord","endCoord","getRenderedSlices","getDetailFromInfo","getNextChartItem","arrow","newItemIndex","getItem","getPieChartNavUtils","textMeasureContent","useTextDimensions","supportsSelection","supportsDrill","touchResponse","touchResponseStyle","useVisTouchResponse","type","supportsTouchDragGestures","activeId","focusedItemInfo","hoveredItemInfo","eventsProps","onContextMenuDismissed","usePieChartNav","isFocusVisible","content","datatipString","borderColor","defaultContainer","datatip","VisTabularDatatip","tableData","key","defaultDatatip","anchor","elementBounds","calculateOffset","datatipContent","datatipProps","useDatatip","placement","merge","contextMenuContent","contextMenuProps","useContextMenu","onContextMenuHandler","gesture","target","context","offsetValue","getInfo","current","contains","contextMenuOptions","isDisabled","usePieChartContextMenu","mergedProps","mergeProps","labels","ref","tabIndex","chart","svg","isHovered","v","TrackResizeContainer","class","dimensionStyle","w","h"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './NavigationListLinkItem-161049bb', './Close-36cbae0d', './EmbeddedIconButton-d1472ac1', 'preact/hooks', './useHover-8b8a1496', './useTranslationBundle-e4dd341e'], (function(e,t,a,i,o,n,s,r){"use strict";e.RemovableNavigationListItem=function({itemKey:e,label:l,badge:c,metadata:d,severity:v}){const{selection:u,currentKey:m,onRemove:b}=a.useNavigationListContext(),x=u===e,g=m===e,j=n.useCallback((()=>{b?.({value:e})}),[b,e]),{hoverProps:p,isHover:B}=s.useHover({}),I=r.useTranslationBundle("@oracle/oraclejet-preact");return t.jsx("div",{...p,children:t.jsx(a.BaseNavigationListItem,{itemKey:e,label:l,badge:c,metadata:d,severity:v,removeIcon:t.jsx("span",{"data-oj-navigationlist-item-remove-icon":!0,children:t.jsx(o.EmbeddedIconButton,{"aria-label":I.tabBarNavigationList_removeCueText(),size:"xs",onAction:j,children:(B||x||g)&&t.jsx(i.SvgClose,{})})})})})}}));
2
+ //# sourceMappingURL=RemovableNavigationListItem-e298c5de.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemovableNavigationListItem-e298c5de.js","sources":["../../src/UNSAFE_NavigationListCommon/RemovableNavigationListItem.tsx"],"sourcesContent":["import { BaseNavigationListItem, BaseNavigationListItemProps } from './BaseNavigationListItem';\nimport { useNavigationListContext } from './useNavigationListContext';\nimport { Close } from '../UNSAFE_RedwoodIcons/Close';\nimport { EmbeddedIconButton } from '../PRIVATE_EmbeddedIconButton';\nimport { useCallback } from 'preact/hooks';\nimport { useHover } from '#hooks/UNSAFE_useHover';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '../resources/nls/bundle';\n\ntype RemovableNavigationListItemProps<K extends string | number> = Omit<\n BaseNavigationListItemProps<K>,\n 'removeIcon'\n>;\n\nexport function RemovableNavigationListItem<K extends string | number>({\n itemKey,\n label,\n badge,\n metadata,\n severity\n}: RemovableNavigationListItemProps<K>) {\n const { selection, currentKey, onRemove } = useNavigationListContext();\n const isSelected = selection === itemKey;\n const isCurrent = currentKey === itemKey;\n\n const handleRemove = useCallback(() => {\n onRemove?.({ value: itemKey as K });\n }, [onRemove, itemKey]);\n\n const { hoverProps, isHover } = useHover({});\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n //instead of specifying flex: '1 0 auto' in cssProps var\n return (\n <div {...hoverProps}>\n <BaseNavigationListItem\n itemKey={itemKey}\n label={label}\n badge={badge}\n metadata={metadata}\n severity={severity}\n removeIcon={\n <span data-oj-navigationlist-item-remove-icon={true}>\n <EmbeddedIconButton\n aria-label={translations.tabBarNavigationList_removeCueText()}\n size=\"xs\"\n onAction={handleRemove}>\n {(isHover || isSelected || isCurrent) && <Close />}\n </EmbeddedIconButton>\n </span>\n }\n />\n </div>\n );\n}\n"],"names":["itemKey","label","badge","metadata","severity","selection","currentKey","onRemove","useNavigationListContext","isSelected","isCurrent","handleRemove","useCallback","value","hoverProps","isHover","useHover","translations","useTranslationBundle","_jsx","children","jsx","BaseNavigationListItem","removeIcon","EmbeddedIconButton","tabBarNavigationList_removeCueText","size","onAction","Close","SvgClose"],"mappings":"4QAcgB,UAAuDA,QACrEA,EAAOC,MACPA,EAAKC,MACLA,EAAKC,SACLA,EAAQC,SACRA,IAEA,MAAMC,UAAEA,EAASC,WAAEA,EAAUC,SAAEA,GAAaC,EAAwBA,2BAC9DC,EAAaJ,IAAcL,EAC3BU,EAAYJ,IAAeN,EAE3BW,EAAeC,EAAAA,aAAY,KAC/BL,IAAW,CAAEM,MAAOb,GAAe,GAClC,CAACO,EAAUP,KAERc,WAAEA,EAAUC,QAAEA,GAAYC,EAAQA,SAAC,CAAE,GAErCC,EAAeC,uBAAiC,4BAGtD,OACEC,MAAA,MAAA,IAASL,EAAUM,SACjBD,EAACE,IAAAC,yBACC,CAAAtB,QAASA,EACTC,MAAOA,EACPC,MAAOA,EACPC,SAAUA,EACVC,SAAUA,EACVmB,WACEJ,yDAA+C,EAAIC,SACjDD,MAACK,EAAAA,mBACa,CAAA,aAAAP,EAAaQ,qCACzBC,KAAK,KACLC,SAAUhB,EACTS,UAACL,GAAWN,GAAcC,IAAcS,EAAAA,IAACS,EAAKC,SAAA,WAO7D"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact', 'preact/compat', 'preact/hooks', './HiddenAccessible-037ef42d', './LiveRegion-dbefb95b', './TabBar-61d65c39', './mergeInterpolations-9ede4cf7', './flexitem-5db48325', './collectionUtils-77dc5fa1', './useUser-08901aba', './LayerHost-0b288129', './useReorderableItem-7b4b2c3d', './ReorderableContext-6d10a1b7', './UNSAFE_ReorderableTabBar/themes/ReorderableTabBarItemStyles.css', './keys-4755c121', './classNames-08d99695', 'css!./DragAndDropStyles.styles.css', './StyledCheckbox-368fed68', 'css!./SelectorStyles.styles.css', './CollectionInteractionContext-0b4ed98b', 'css!./ReorderableItemStyles.styles.css'], (function(e,r,t,s,a,o,l,i,d,n,c,y,b,m,u,R,f,g,x,v,p,I,h){"use strict";const S='[role="tab"]';function j({children:e,dragKey:t,setDragKey:s,onReorder:o,layout:l,rootRef:i,isFirstItem:b,isLastItem:u}){const x=a.useRef(null),v=a.useCallback((()=>x?.current?.querySelector(S)),[]),p=a.useCallback((e=>{e.dataTransfer?.setData("text/tabbar-item-key",c.getKey(v())+"")}),[v]),{direction:I}=y.useUser(),h="rtl"===I,j=d.mergeInterpolations([...Object.values(n.flexitemInterpolations)])({flex:"stretch"===l?"1 0 auto":"0 0 auto"}),{rootProps:D,isDragged:C,overlayZoneBeforeProps:F,overlayZoneAfterProps:K}=m.useReorderableItem({isDisabled:!o,dragKey:t,setDragKey:s,onReorder:o,rootRef:i,ref:x,getItem:v,setTransferData:p,itemStyles:{itemOverlayFront:R.styles.itemOverlayFront,itemOverlayRear:R.styles.itemOverlayRear,itemDragger:R.styles.itemDragger},itemSelector:S}),O=g.classNames([F?.class,!h&&b&&R.styles.itemOverlayFrontFirst,h&&u&&R.styles.itemOverlayFrontFirst]),k=g.classNames([K?.class,!h&&u&&R.styles.itemOverlayRearLast,h&&b&&R.styles.itemOverlayRearLast]);return r.jsxs("div",{...D,draggable:!!o,"data-oj-draggable":o?"":void 0,style:j,children:[e,!C&&f.isKeyDefined(t)&&r.jsxs(r.Fragment,{children:[r.jsx("div",{...F,class:O}),r.jsx("div",{...K,class:k})]})]})}const D=s.forwardRef((({"aria-label":e,"aria-labelledby":s,children:d,layout:n="stretch",display:c="standard",size:y="md",edge:b="top",selection:R,onSelect:f,onRemove:g,onReorder:x,contextMenuConfig:v,testId:p},I)=>{const h=a.useRef(null),[D,C]=a.useState(void 0),F=t.toChildArray(d),K="stacked"===c?{display:c}:{display:c,size:y},{reorderProps:O,reorderContext:k,reorderInstructionsId:L,reorderStatus:T,reorderInstructions:A}=m.useReorderable({onReorder:x,rootRef:h,itemSelector:S}),B={currentItemKey:k.currentItemKey,onReorder:x};return r.jsxs("div",{ref:h,...O,children:[r.jsx(u.ReorderableContext.Provider,{value:B,children:r.jsx(i.TabBar,{ref:I,"aria-label":e,"aria-labelledby":s,layout:n,edge:b,selection:R,onSelect:f,onRemove:g,testId:p,...K,"aria-describedby":L,contextMenuConfig:v,children:F.map(((e,t)=>r.jsx(j,{dragKey:D,setDragKey:C,onReorder:x,layout:n,rootRef:h,isFirstItem:0===t,isLastItem:t===F.length-1,children:e})))})}),r.jsx("span",{id:L,children:r.jsx(o.HiddenAccessible,{children:A})}),r.jsx(l.LiveRegion,{children:T})]})}));e.ReorderableTabBar=D}));
2
+ //# sourceMappingURL=ReorderableTabBar-e82d2982.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReorderableTabBar-e82d2982.js","sources":["../../src/UNSAFE_ReorderableTabBar/ReorderableTabBarItem.tsx","../../src/UNSAFE_ReorderableTabBar/ReorderableTabBar.tsx"],"sourcesContent":["import { useRef, useCallback } from 'preact/hooks';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { getKey } from '../utils/PRIVATE_collectionUtils';\nimport { useReorderableItem } from '../hooks/PRIVATE_useReorderable';\nimport { ReorderableItemProps } from '../UNSAFE_Collection/Reorderable.types';\nimport { styles } from './themes/ReorderableTabBarItemStyles.css';\nimport { isKeyDefined } from '../utils/UNSAFE_keys';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { classNames } from '#utils/UNSAFE_classNames';\n\nexport const ITEM_SELECTOR = '[role=\"tab\"]';\n\ntype ReorderableTabBarItem<K extends string | number> = ReorderableItemProps<K> & {\n layout: 'stretch' | 'condense' | undefined;\n isFirstItem?: boolean;\n isLastItem?: boolean;\n};\n\n/**\n * A private item that will be used by ReorderableTabBar, location TBD (could be moved to PRIVATE_TabBar)\n */\nexport function ReorderableTabBarItem<K extends string | number>({\n children,\n dragKey,\n setDragKey,\n onReorder,\n layout,\n rootRef,\n isFirstItem,\n isLastItem\n}: ReorderableTabBarItem<K>) {\n const tabBarItemRef = useRef<HTMLDivElement | null>(null);\n const getItem = useCallback(\n () => tabBarItemRef?.current?.querySelector(ITEM_SELECTOR) as HTMLElement,\n []\n );\n const setTransferData = useCallback(\n (event: DragEvent) => {\n event.dataTransfer?.setData('text/tabbar-item-key', getKey(getItem()) + '');\n },\n [getItem]\n );\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n // Flex dimensions\n const styleInterpolations = mergeInterpolations<FlexitemProps>([\n ...Object.values(flexitemInterpolations)\n ]);\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const { rootProps, isDragged, overlayZoneBeforeProps, overlayZoneAfterProps } =\n useReorderableItem({\n isDisabled: onReorder ? false : true,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n ref: tabBarItemRef,\n getItem,\n setTransferData,\n itemStyles: {\n itemOverlayFront: styles.itemOverlayFront,\n itemOverlayRear: styles.itemOverlayRear,\n itemDragger: styles.itemDragger\n },\n itemSelector: ITEM_SELECTOR\n });\n\n const overlayZoneBeforeClass = classNames([\n overlayZoneBeforeProps?.class,\n // Set the classes specific to isFirstItem/isLastItem which is passed down from reorderable tabbar which evaluated while mapping the children\n !isRtl && isFirstItem && styles.itemOverlayFrontFirst,\n isRtl && isLastItem && styles.itemOverlayFrontFirst\n ]);\n\n const overlayZoneAfterClass = classNames([\n overlayZoneAfterProps?.class,\n // Set the classes specific to isFirstItem/isLastItem which is passed down from reorderable tabbar which evaluated while mapping the children\n !isRtl && isLastItem && styles.itemOverlayRearLast,\n isRtl && isFirstItem && styles.itemOverlayRearLast\n ]);\n\n return (\n <div\n {...rootProps}\n draggable={onReorder ? true : false}\n data-oj-draggable={onReorder ? '' : undefined}\n style={flexDimensions}>\n {children}\n {!isDragged && isKeyDefined(dragKey) && (\n <>\n <div {...overlayZoneBeforeProps} class={overlayZoneBeforeClass}></div>\n <div {...overlayZoneAfterProps} class={overlayZoneAfterClass}></div>\n </>\n )}\n </div>\n );\n}\n","import { toChildArray, Ref, ContextType } from 'preact';\nimport { forwardRef } from 'preact/compat';\nimport { useRef, useState } from 'preact/hooks';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { TabBar, TabBarProps } from '../UNSAFE_TabBar';\nimport { ReorderableTabBarItem, ITEM_SELECTOR } from './ReorderableTabBarItem';\nimport { ReorderableContext, useReorderable } from '../hooks/PRIVATE_useReorderable';\nimport { ReorderProps } from '../UNSAFE_Collection/Reorderable.types';\nimport { TabBarContextMenuConfig } from '../UNSAFE_TabBarCommon';\n\nexport type ReorderableTabBarProps<K extends string | number> = Omit<\n TabBarProps<K>,\n 'aria-describedby'\n> &\n ReorderProps<K> &\n TestIdProps;\n\ntype TabBarReorderContextProps = ContextType<typeof ReorderableContext>;\n/**\n * A component that allows reordering of tabs within a TabBar.\n */\nexport const ReorderableTabBar = forwardRef(\n <K extends string | number>(\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n children,\n layout = 'stretch',\n display = 'standard',\n size = 'md',\n edge = 'top',\n selection,\n onSelect,\n onRemove,\n onReorder,\n contextMenuConfig,\n testId\n }: ReorderableTabBarProps<K>,\n ref: Ref<HTMLDivElement>\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const [dragKey, setDragKey] = useState<K | undefined>(undefined);\n const childrenArray = toChildArray(children);\n\n const displayStackProps = {\n display: display\n };\n const displayNonStackProps = {\n display: display,\n size: size\n };\n const displayProps = display === 'stacked' ? displayStackProps : displayNonStackProps;\n\n const {\n reorderProps,\n reorderContext,\n reorderInstructionsId,\n reorderStatus,\n reorderInstructions\n } = useReorderable({\n onReorder,\n rootRef,\n itemSelector: ITEM_SELECTOR\n });\n\n const tabBarReorderContext = {\n currentItemKey: reorderContext.currentItemKey,\n onReorder: onReorder as TabBarReorderContextProps['onReorder']\n };\n\n return (\n <div ref={rootRef} {...reorderProps}>\n <ReorderableContext.Provider value={tabBarReorderContext}>\n <TabBar\n ref={ref}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n layout={layout}\n edge={edge}\n selection={selection}\n onSelect={onSelect}\n onRemove={onRemove}\n testId={testId}\n {...displayProps}\n aria-describedby={reorderInstructionsId}\n contextMenuConfig={contextMenuConfig as TabBarContextMenuConfig<string | number>}>\n {childrenArray.map((child, idx) => {\n return (\n <ReorderableTabBarItem\n dragKey={dragKey}\n setDragKey={setDragKey}\n onReorder={onReorder}\n layout={layout}\n rootRef={rootRef}\n isFirstItem={idx === 0}\n isLastItem={idx === childrenArray.length - 1}>\n {child}\n </ReorderableTabBarItem>\n );\n })}\n </TabBar>\n </ReorderableContext.Provider>\n <span id={reorderInstructionsId}>\n <HiddenAccessible>{reorderInstructions}</HiddenAccessible>\n </span>\n <LiveRegion>{reorderStatus}</LiveRegion>\n </div>\n );\n }\n);\n"],"names":["ITEM_SELECTOR","ReorderableTabBarItem","children","dragKey","setDragKey","onReorder","layout","rootRef","isFirstItem","isLastItem","tabBarItemRef","useRef","getItem","useCallback","current","querySelector","setTransferData","event","dataTransfer","setData","getKey","direction","useUser","isRtl","flexDimensions","mergeInterpolations","Object","values","flexitemInterpolations","styleInterpolations","flex","rootProps","isDragged","overlayZoneBeforeProps","overlayZoneAfterProps","useReorderableItem","isDisabled","ref","itemStyles","itemOverlayFront","styles","itemOverlayRear","itemDragger","itemSelector","overlayZoneBeforeClass","classNames","class","itemOverlayFrontFirst","overlayZoneAfterClass","itemOverlayRearLast","_jsxs","jsxs","draggable","undefined","style","isKeyDefined","_Fragment","_jsx","jsx","ReorderableTabBar","forwardRef","ariaLabel","ariaLabelledby","display","size","edge","selection","onSelect","onRemove","contextMenuConfig","testId","useState","childrenArray","toChildArray","displayProps","reorderProps","reorderContext","reorderInstructionsId","reorderStatus","reorderInstructions","useReorderable","tabBarReorderContext","currentItemKey","ReorderableContext","Provider","value","TabBar","map","child","idx","length","id","HiddenAccessible","LiveRegion"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './ViewHide-b1d31ab1', './View-144d4adf', './useTranslationBundle-e4dd341e', './IconSwitchButton-28f4854a'], (function(e,o,t,i,n,s){"use strict";e.RevealToggleIcon=function({accessibleLabel:e,isRevealed:l,onToggle:c,testId:a,tooltipHide:d,tooltipShow:r}){const u=n.useTranslationBundle("@oracle/oraclejet-preact"),g=d||u.formControl_hide(),w=r||u.formControl_show();return o.jsx(s.IconSwitchButton,{tooltip:l?g:w,accessibleLabel:e,isSelected:!l,onToggle:c,testId:a,size:"sm",children:l?o.jsx(t.SvgViewHide,{}):o.jsx(i.SvgView,{})})}}));
2
+ //# sourceMappingURL=RevealToggleIcon-be164a7b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevealToggleIcon-be164a7b.js","sources":["../../src/PRIVATE_RevealToggleIcon/RevealToggleIcon.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentProps } from 'preact';\nimport { ViewHideIcon } from '#PRIVATE_ThemedIcons/ViewHideIcon';\nimport { ViewIcon } from '#PRIVATE_ThemedIcons/ViewIcon';\nimport { IconSwitchButton } from '#PRIVATE_IconSwitchButton';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\n\ntype IconSwitchButtonProps = ComponentProps<typeof IconSwitchButton>;\n\ntype RevealToggleIconProps = TestIdProps & {\n /**\n * The aria label of the toggle.\n */\n accessibleLabel: IconSwitchButtonProps['accessibleLabel'];\n /**\n * Specifies whether the content is shown or hidden.\n */\n isRevealed?: boolean;\n /**\n * Property that triggers a callback immediately when toggle happens and value of isRevealed property should be updated\n */\n onToggle?: IconSwitchButtonProps['onToggle'];\n /**\n * Tooltip text to indicate that the toggle will hide the content.\n */\n tooltipHide?: string;\n /**\n * Tooltip text to indicate that the toggle will show the content.\n */\n tooltipShow?: string;\n};\n\n/**\n * RevealToggleIcon is a controlled toggle icon component with tooltip that displays\n * hide or show icons. It is used internally for input components that hide and show the content.\n */\nexport function RevealToggleIcon({\n accessibleLabel,\n isRevealed,\n onToggle,\n testId,\n tooltipHide,\n tooltipShow\n}: RevealToggleIconProps) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const hide = tooltipHide || translations.formControl_hide();\n const show = tooltipShow || translations.formControl_show();\n\n return (\n <IconSwitchButton\n // we want to display the tooltip title of the expected action on toggle\n tooltip={isRevealed ? hide : show}\n accessibleLabel={accessibleLabel}\n // denote that the switch is selected when in the \"masked\" state\n isSelected={!isRevealed}\n onToggle={onToggle}\n testId={testId}\n size=\"sm\">\n {/* we want to display the icon of the expected action on toggle */}\n {isRevealed ? <ViewHideIcon /> : <ViewIcon />}\n </IconSwitchButton>\n );\n}\n"],"names":["accessibleLabel","isRevealed","onToggle","testId","tooltipHide","tooltipShow","translations","useTranslationBundle","hide","formControl_hide","show","formControl_show","_jsx","IconSwitchButton","tooltip","isSelected","size","children","jsx","ViewHideIcon","SvgViewHide","ViewIcon"],"mappings":"uMA4CgB,UAAiBA,gBAC/BA,EAAeC,WACfA,EAAUC,SACVA,EAAQC,OACRA,EAAMC,YACNA,EAAWC,YACXA,IAEA,MAAMC,EAAeC,uBAAiC,4BAChDC,EAAOJ,GAAeE,EAAaG,mBACnCC,EAAOL,GAAeC,EAAaK,mBAEzC,OACEC,MAACC,EAAgBA,kBAEfC,QAASb,EAAaO,EAAOE,EAC7BV,gBAAiBA,EAEjBe,YAAad,EACbC,SAAUA,EACVC,OAAQA,EACRa,KAAK,KAEJC,SAAAhB,EAAaW,EAAAM,IAACC,EAAYC,YAAG,IAAGR,EAACM,IAAAG,UAAW,CAAA,IAGnD"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './utils-8bf50f08', './MarkersWithLabel-2960e007', './dataStyleUtils-1a157bd8', './useUser-08901aba', './colorUtils-1c8d0c00', './accUtils-7e057eef', './ReferenceLineArea-450530dd', 'preact/compat', './Chart-00a1b01f'], (function(e,t,i,n,r,s,a,o,d,l,g){"use strict";const h=l.forwardRef((({width:e,height:o,selectedIds:l=[],hiddenIds:h=[],highlightedIds:c,hideAndShowBehavior:f="none",orientation:x="vertical",yAxis:I,series:u,groups:m,getDataItem:p,selectionMode:S="none",drilling:y="off",dataLabelEffect:v="outline",...A},C)=>{const{direction:b,forcedColors:D}=s.useUser(),L="active"===D,T=void 0!==A.testId,w="rtl"===b,M="log"===I?.scale,E=A.xAxis?.timeAxisType,R=new Set(h),k=new Set(l),U=new Set(c),W="horizontal"===x,j=a.getColorRamp(),F=i.getSeriesData(u?.length,m?.length,p,R,M),z=(e,t)=>p(e,t),N=i.getMarkers();return t.jsx(g.Chart,{ref:C,width:e,height:o,selectedIds:k,hiddenIds:h,hideAndShowBehavior:f,orientation:x,yAxis:I,series:u,groups:m,overview:"off",defaultOverviewContentRenderer:()=>null,selectionMode:S,drilling:y,getDataItem:p,findNearest:(e,t)=>i.findNearestDataPoint(u,m,e,t,z,!1,(()=>({offset:0,dataWidth:0})),((e,t)=>t.transform(e)),M,0,R,E),getDataItemPos:(e,t)=>(i,n)=>{const r=F[i][n];if(null==r?.x&&r?.y)return;return{x:e.transform(r?.x),y:t.transform(r?.y),height:0,width:0}},getMarkerInfo:(e,t)=>({color:r.getItemColor(e,t,u,p),type:r.getMarkerType(e,t,p)}),renderGridLinesInFront:!1,isDataXAxis:!0,getNavUtil:(e,t)=>r.getLineAreaChartNavUtil(p,u.length,e,t,!1,w,W),getGapRatio:()=>1,getStartAndEndAxesOffset:()=>({startOffset:0,endOffset:0}),isRtl:w,...A,children:({xStartIndex:e,xEndIndex:r,xScale:s,yScale:a,activeId:o,focusedItemInfo:l,hoveredItemInfo:g,isPointInsideMarquee:h,defaultFontSize:f,getTextDimensions:I,axisStepWidth:C,getItemAriaLabel:b})=>t.jsx(t.Fragment,{children:F.map(((D,R)=>{if(0===D.length)return;const F=u[R],O=F.lineType&&"none"!==F.lineType,P=i.getLineAreaSegments(a,s,D,e,r,M,m,R,z,E,!0),H=void 0===c||0===c.length||U.has(F.id);return t.jsxs(t.Fragment,{children:[O&&t.jsx(d.LineSeries,{lineType:F.lineType,lineColor:F.lineColor,lineWidth:F.lineWidth,lineStyle:F.lineStyle,color:F.lineColor||j[R%j.length],lineSegmentCoords:P,isHorizontal:W,isHighlighted:H,seriesIndex:R,groupWidth:C,isRtl:w,timeAxisType:E}),t.jsx(n.MarkersWithLabel,{yScale:a,xScale:s,groups:m,series:F,timeAxisType:E,color:F.lineColor||j[R%j.length],seriesIndex:R,startIndex:e,endIndex:r,markerType:N[R%N.length],orientation:x,isLog:M,activeId:o,getDataItem:p,isPointInsideMarquee:h,selectedIds:k,highlightedIds:void 0!==c?U:void 0,focusedItemIndex:l.seriesIndex!==R||!l.isFocusVisible||A.isDataCursorEnabled&&A.dataCursorStyle?.isMarkerDisplayed?void 0:l.groupIndex,hoveredItemIndex:g?.isCurrent&&g.seriesIndex===R?g.groupIndex:void 0,isSelectionEnabled:"single"===S||"multiple"===S,isDrillEnabled:"on"===y,defaultFontSize:f,dataLabelEffect:v,isHighContrast:L,isTestEnv:T,isDataXAxis:!0,getItemAriaLabel:b,getTextDimensions:I,isRtl:w})]})}))})})}));e.ScatterChart=h}));
2
+ //# sourceMappingURL=ScatterChart-88bc2872.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScatterChart-88bc2872.js","sources":["../../src/UNSAFE_ScatterChart/ScatterChart.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 */\n\nimport { ScatterChartProps, ScatterItem } from './scatterChart.types';\nimport { findNearestDataPoint } from '#utils/PRIVATE_chartUtils/layoutUtils';\nimport { getMarkers, getSeriesData } from '#utils/PRIVATE_chartUtils/utils';\nimport { MarkersWithLabel } from '#PRIVATE_Chart/MarkersWithLabel';\nimport { getLineAreaChartNavUtil } from '#utils/PRIVATE_chartUtils/navUtils';\nimport { Chart } from '#PRIVATE_Chart';\nimport { Scale, TimeAxisProps, SizeHandle } from '#utils/UNSAFE_visTypes/chart';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { getColorRamp } from '#utils/UNSAFE_visUtils';\nimport { Point } from '#utils/PRIVATE_visSVGUtils';\nimport { getLineAreaSegments } from '#utils/PRIVATE_chartUtils/utils';\nimport { getItemColor, getMarkerType } from '#utils/PRIVATE_chartUtils/dataStyleUtils';\nimport { LineSeries } from '#PRIVATE_LineAreaComponents/LineSeries';\nimport { forwardRef, Ref } from 'preact/compat';\nimport { VNode } from 'preact';\n\nexport type ForwardRefScatterChart = <K extends string | number, D extends ScatterItem<K>>(\n props: ScatterChartProps<K, D> & {\n ref?: Ref<SizeHandle>;\n }\n) => VNode | null;\n\n/**\n * Scatter charts define data items using x and y values, making them useful for viewing relationships between 2 dimensions.\n */\nexport const ScatterChart = forwardRef(\n <K extends string | number, D extends ScatterItem<K>>(\n {\n width,\n height,\n selectedIds = [],\n hiddenIds = [],\n highlightedIds,\n hideAndShowBehavior = 'none',\n orientation = 'vertical',\n yAxis,\n series,\n groups,\n getDataItem,\n selectionMode = 'none',\n drilling = 'off',\n dataLabelEffect = 'outline',\n ...props\n }: ScatterChartProps<K, D>,\n ref: Ref<SizeHandle>\n ) => {\n const { direction, forcedColors } = useUser();\n const isHighContrast = forcedColors === 'active';\n const isTestEnv = props.testId !== undefined;\n const isRtl = direction === 'rtl';\n const isLog = yAxis?.scale === 'log';\n const timeAxisType = (props.xAxis as TimeAxisProps)?.timeAxisType;\n const hiddenSet = new Set(hiddenIds);\n const selectedSet = new Set(selectedIds);\n const highlightedSet = new Set(highlightedIds);\n const isHoriz = orientation === 'horizontal';\n const colors = getColorRamp();\n const renderedSeries = getSeriesData<K, D>(\n series?.length,\n groups?.length,\n getDataItem,\n hiddenSet,\n isLog\n );\n\n const renderedGetDataItem = (seriesIndex: number, groupIndex: number): D | undefined =>\n getDataItem(seriesIndex, groupIndex);\n\n const getGapRatio = () => {\n return 1;\n };\n\n const getNextChartItemFunc = (startIndex: number, endIndex: number) => {\n // TODO: JET-71301\n return getLineAreaChartNavUtil<D>(\n getDataItem,\n series.length,\n startIndex,\n endIndex,\n false,\n isRtl,\n isHoriz\n );\n };\n\n const getDataItemPos = (xScale: Scale, yScale: Scale) => {\n return (seriesIndex: number, groupIndex: number) => {\n // Scatter shouldn't create renderedSeries. Can filter for hidden item here.\n // TODO: JET-71332\n const item = renderedSeries[seriesIndex][groupIndex] as { x: number; y: number };\n if (item?.x == null && item?.y) {\n return;\n }\n const x = xScale.transform(item?.x!);\n const y = yScale.transform(item?.y!);\n return { x, y, height: 0, width: 0 };\n };\n };\n\n const getMarkerColorAndType = (seriesIndex: number, groupIndex: number) => {\n return {\n color: getItemColor(seriesIndex, groupIndex, series, getDataItem),\n type: getMarkerType(seriesIndex, groupIndex, getDataItem)\n };\n };\n\n const findNearest = (xScale: Scale, yScale: Scale) => {\n const getSeriesDataInfo = () => {\n return {\n offset: 0,\n dataWidth: 0\n };\n };\n\n const getYCoord = (value: number, yScale: Scale) => {\n return yScale.transform(value);\n };\n\n return findNearestDataPoint<K, D>(\n series,\n groups,\n xScale,\n yScale,\n renderedGetDataItem,\n false,\n getSeriesDataInfo,\n getYCoord,\n isLog,\n 0,\n hiddenSet,\n timeAxisType\n );\n };\n const markers = getMarkers();\n const getOffset = () => {\n return { startOffset: 0, endOffset: 0 };\n };\n return (\n <Chart\n ref={ref}\n width={width}\n height={height}\n selectedIds={selectedSet}\n hiddenIds={hiddenIds}\n hideAndShowBehavior={hideAndShowBehavior}\n orientation={orientation}\n yAxis={yAxis}\n series={series}\n groups={groups}\n overview=\"off\"\n defaultOverviewContentRenderer={() => null}\n selectionMode={selectionMode}\n drilling={drilling}\n getDataItem={getDataItem}\n findNearest={findNearest}\n getDataItemPos={getDataItemPos}\n getMarkerInfo={getMarkerColorAndType}\n renderGridLinesInFront={false}\n isDataXAxis={true}\n getNavUtil={getNextChartItemFunc}\n getGapRatio={getGapRatio}\n getStartAndEndAxesOffset={getOffset}\n isRtl={isRtl}\n {...props}>\n {({\n xStartIndex,\n xEndIndex,\n xScale,\n yScale,\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n isPointInsideMarquee,\n defaultFontSize,\n getTextDimensions,\n axisStepWidth,\n getItemAriaLabel\n }) => {\n return (\n <>\n {renderedSeries.map((lineAreaSeries, index) => {\n if (lineAreaSeries.length === 0) {\n /* TODO: need a better way to handle when a series is hidden. */\n return;\n }\n const seriesItem = series[index];\n const isLineRendered = seriesItem.lineType && seriesItem.lineType !== 'none';\n const lineSegmentCoords: Point[][] = getLineAreaSegments<K, D>(\n yScale,\n xScale,\n lineAreaSeries,\n xStartIndex,\n xEndIndex,\n isLog,\n groups,\n index,\n renderedGetDataItem,\n timeAxisType,\n true\n );\n\n const isHighlighted =\n highlightedIds === undefined ||\n highlightedIds.length === 0 ||\n highlightedSet.has(seriesItem.id);\n\n return (\n <>\n {isLineRendered && (\n <LineSeries\n lineType={seriesItem.lineType}\n /* TODO: confirm with UX if this is contrastLine (changes depending on dark/light mode) or always white. \n It's always white in legacy.*/\n lineColor={seriesItem.lineColor}\n /* The area generated in legacy are bit apart and not touching when stacked. Preact areas are a bit closer than legacy when curved. \n Increased the contrast linewidth (to 2.5 from legacy 1.25) to give legacy visual treatment.\n TODO: investivage why legacy areas are not touching. maybe we want to do the same in preact svg utils that\n generates this curve.\n */\n lineWidth={seriesItem.lineWidth}\n lineStyle={seriesItem.lineStyle}\n color={seriesItem.lineColor || colors[index % colors.length]}\n lineSegmentCoords={lineSegmentCoords}\n isHorizontal={isHoriz}\n isHighlighted={isHighlighted}\n seriesIndex={index}\n groupWidth={axisStepWidth}\n isRtl={isRtl}\n timeAxisType={timeAxisType}\n />\n )}\n <MarkersWithLabel\n yScale={yScale}\n xScale={xScale}\n groups={groups}\n series={seriesItem}\n timeAxisType={timeAxisType}\n color={\n seriesItem.lineColor ||\n colors[\n index % colors.length\n ] /* TODO : make this use getItemColor function from dataStyleUtils. */\n }\n seriesIndex={index}\n startIndex={xStartIndex}\n endIndex={xEndIndex}\n markerType={markers[index % markers.length]}\n orientation={orientation}\n isLog={isLog}\n activeId={activeId}\n getDataItem={getDataItem}\n isPointInsideMarquee={isPointInsideMarquee}\n selectedIds={selectedSet}\n highlightedIds={highlightedIds !== undefined ? highlightedSet : undefined}\n focusedItemIndex={\n focusedItemInfo.seriesIndex === index &&\n focusedItemInfo.isFocusVisible &&\n !(props.isDataCursorEnabled && props.dataCursorStyle?.isMarkerDisplayed)\n ? focusedItemInfo.groupIndex\n : undefined\n }\n hoveredItemIndex={\n hoveredItemInfo?.isCurrent && hoveredItemInfo.seriesIndex === index\n ? hoveredItemInfo.groupIndex\n : undefined\n }\n isSelectionEnabled={\n selectionMode === 'single' || selectionMode === 'multiple'\n }\n isDrillEnabled={drilling === 'on'}\n defaultFontSize={defaultFontSize}\n dataLabelEffect={dataLabelEffect}\n isHighContrast={isHighContrast}\n isTestEnv={isTestEnv}\n isDataXAxis={true}\n getItemAriaLabel={getItemAriaLabel}\n getTextDimensions={getTextDimensions}\n isRtl={isRtl}\n />\n </>\n );\n })}\n </>\n );\n }}\n </Chart>\n );\n }\n) as ForwardRefScatterChart;\n"],"names":["ScatterChart","forwardRef","width","height","selectedIds","hiddenIds","highlightedIds","hideAndShowBehavior","orientation","yAxis","series","groups","getDataItem","selectionMode","drilling","dataLabelEffect","props","ref","direction","forcedColors","useUser","isHighContrast","isTestEnv","undefined","testId","isRtl","isLog","scale","timeAxisType","xAxis","hiddenSet","Set","selectedSet","highlightedSet","isHoriz","colors","getColorRamp","renderedSeries","getSeriesData","length","renderedGetDataItem","seriesIndex","groupIndex","markers","getMarkers","_jsx","Chart","overview","defaultOverviewContentRenderer","findNearest","xScale","yScale","findNearestDataPoint","offset","dataWidth","value","transform","getDataItemPos","item","x","y","getMarkerInfo","color","getItemColor","type","getMarkerType","renderGridLinesInFront","isDataXAxis","getNavUtil","startIndex","endIndex","getLineAreaChartNavUtil","getGapRatio","getStartAndEndAxesOffset","startOffset","endOffset","children","xStartIndex","xEndIndex","activeId","focusedItemInfo","hoveredItemInfo","isPointInsideMarquee","defaultFontSize","getTextDimensions","axisStepWidth","getItemAriaLabel","jsx","_Fragment","Fragment","map","lineAreaSeries","index","seriesItem","isLineRendered","lineType","lineSegmentCoords","getLineAreaSegments","isHighlighted","has","id","_jsxs","LineSeries","lineColor","lineWidth","lineStyle","isHorizontal","groupWidth","MarkersWithLabel","markerType","focusedItemIndex","isFocusVisible","isDataCursorEnabled","dataCursorStyle","isMarkerDisplayed","hoveredItemIndex","isCurrent","isSelectionEnabled","isDrillEnabled"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact/compat', 'preact/hooks', './useVisEvents-5f18ab46', './mergeProps-bcfa6a92', './layoutUtils-517a546d', './useLegendDnd-9b550023', './useLegendContextMenu-90023a78', './useItemFocus-75d6510d', './Flex-4b81b412', './PRIVATE_BaseLegend/themes/LegendStyles.css', './useCssVars-3194b2f6', './classNames-08d99695', './useTestId-f4240cbd', './useVisTouchResponse-88a7bb09', './stringUtils-4ffd9d59', './useTextDimensions-f254e8f5', './TrackResizeContainer-d8fa612c', './hooks/PRIVATE_useVisDnd/themes/VisDndStyles.css'], (function(e,t,n,o,i,s,a,r,d,l,c,m,g,h,u,I,x,f,y,p){"use strict";function v(e,t){const{sectionIdx:n,itemIdx:o}=e;if(-1==n&&-1==o){const e=t[t.length-1].items.length;return t[t.length-1].items[e-1]}return t[n].items[o]}function b(e,t){let{itemIdx:n,sectionIdx:o}=e;if(-1==o&&-1==n)return{itemIdx:t[t.length-1].items.length-1,sectionIdx:t.length-1};n+=1;n>=t[o].items.length&&(o===t.length-1?n=e.itemIdx:(o+=1,n=0));const i=t[o].items[n];return"off"!==i?.actionable?{itemIdx:n,sectionIdx:o}:b({itemIdx:n,sectionIdx:o},t)}function D(e,t){let{itemIdx:n,sectionIdx:o}=e;-1==o&&-1==n&&(n=t[t.length-1].items.length-1,o=t.length-1),n-=1,n<0&&(0===o?n=0:(n=t[o-1].items.length-1,o-=1));const i=t[o].items[n];return"off"!==i?.actionable?{itemIdx:n,sectionIdx:o}:D({itemIdx:n,sectionIdx:o},t)}function S(e){return{getItem:t=>v(t,e),getDetailFromInfo:t=>{if(!t||0===e.length)return{itemId:void 0,sectionId:void 0,data:void 0};const n=v(t,e),o=e[t.sectionIdx].id;return{itemId:n.id,sectionId:o,data:e[t.sectionIdx].items[t.itemIdx]}},getPrevItemInfo:t=>D(t,e),getNextItemInfo:t=>b(t,e)}}const R=({width:e,getTextDimensions:t,resolvedVars:n,rootRef:o,orientation:i,legendFontStylesObj:s={},symbolWidth:a,symbolHeight:d,sections:l})=>{let c=0,m=0,g=0;const h=e;if(!o.current||!Object.keys(n).length||!t)return;const u=parseFloat(n.unit);let I=0,x=0;const f=[],y=[],p=[];let v=0;const b=.75*u;l.forEach(((e,n)=>{let o,l,D=!1,S=!1;const R=t(e.title,{fontWeight:"600"}),W=R.height+b+.5,w=R.width+3,{maxItemWidth:F,maxItemHeight:P,horizontalSectionWidth:C}=T(e.items,u,t,s,a,d);let M=e.items.length;const L=4*u;if(w+C<h)o=C+w,0!==I&&I+L+o<h&&!y[n-1]?I=I+o+L:(I=o,v+=Math.max(W,P),0!==n&&(v+=L));else{D=!0,o=C;const t=.4*u;C>h?(S=!0,I=0,M=Math.floor(h/F),l=r.getSectionGridNums(e.items.length,M),l.itemsPerCol&&l.itemsPerRow&&(v+=W+2*(P+t)+2*b,I=l.itemsPerRow*F,l.itemsPerCol>2&&(v+=(l.itemsPerCol-2)*(P+2*t)))):(I=o,v+=P+W+2*b,0!==n&&(v+=L))}x=Math.max(I,x),g+=C,c=Math.max(c,F),m=P,f.push(D),y.push(S),p.push("vertical"===i?1:Math.max(1,M))}));return{maxRowWidth:Math.ceil(x),legendHeight:v,totalWidth:g,maxItemWidth:Math.min(c,h),maxItemHeight:Math.ceil(m),itemsPerRowArray:p,isSectionWrappedArray:f,isLegendWrappedArray:y}},T=(e,t,n,o,i,s)=>{let a=0,r=0,d=0,l=0,c=0;l=i?1.5*t+i:4*t;const m=1.7*t;c=s?s+m:2.5*t+m;const g=2.5*t;return e?.forEach((e=>{const t=e,{width:i,height:s}=n(t.text,o),m=g+i;d+=l+m,a=Math.max(a,l+m),r=Math.max(r,s,c)})),{maxItemWidth:a,maxItemHeight:r,horizontalSectionWidth:d}},W=n.forwardRef((({orientation:e="horizontal",sectionTitleHAlign:n="start",sections:v,isReadOnly:b=!0,onItemAction:D,onItemHover:T,onItemFocus:W,testId:w,contextMenuConfig:F,hideAndShowBehavior:P="off",hoverBehavior:C="none",valign:M="top",halign:L="start",...A},H=null)=>t.jsx(y.TrackResizeContainer,{width:"100%",height:"100%",class:h.classNames([m.styles.flexStyle,m.styles[`${L}HAlign`],m.styles[`${M}VAlign`]]),children:function(y,M){const L=u.useTestId(w),V=o.useRef(null),j=void 0!==L["data-testid"],E=o.useRef(),{resolvedVars:z,cssContent:O}=g.useCssVars(r.legendVars),{getDetailFromInfo:B,getPrevItemInfo:N,getNextItemInfo:k}=S(v),U=r.getLegendTextStyle({fontStyle:A.textFontStyle,fontSize:A.textFontSize?.toString(),fontWeight:A.textFontWeight?.toString(),fontFamily:A.textFontFamily},z),{textMeasureContent:_,getTextDimensions:G}=f.useTextDimensions(),$=r.getIsLegendItemActionable(v,b,!0),q=v.length>0,K=R({width:y,rootRef:V,getTextDimensions:G,resolvedVars:z,orientation:e,legendFontStylesObj:U,symbolWidth:A.symbolWidth,symbolHeight:A.symbolHeight,sections:v}),{touchResponse:J,touchResponseStyle:Q}=I.useVisTouchResponse({type:"touchStart"}),{focusedItemInfo:X,hoveredItemInfo:Y,onContextMenuDismissed:Z,activeId:ee,eventsProps:te}=i.useVisEvent(J,!b,$,r.getKeyUpHandler,B,N,k,D,T,W,r.isEqualItem,r.getItemInfo,{itemIdx:0,sectionIdx:0}),{focusedItemRef:ne}=l.useItemFocus(X),[oe,ie]=o.useState(!1),{datatipContent:se,datatipProps:{"aria-describedby":ae,...re}}=d.useLegendDatatip({sections:v,datatip:A.datatip,rootDimsRef:E,focusedItemInfo:X,focusedItemRef:ne,hoveredItemInfo:Y,touchResponse:J,isDisabled:oe}),de=r.getAriaProps(b,A["aria-label"],A.hiddenIds,x.l([A["aria-describedby"],ae]),A["aria-labelledby"]),{contextMenuContent:le,contextMenuProps:ce}=d.useSectionalLegendContextMenu({rootRef:V,contextMenuConfig:q?F:void 0,focusedItemInfo:X,sections:v,isReadOnly:b,onContextMenuDismissed:Z}),[me,ge]=o.useState(),{draggable:he,dndProps:ue,dndContent:Ie}=r.useLegendDnd({onDrag:A.onDrag,onDragStart:A.onDragStart,onDragEnd:A.onDragEnd,onDragEnter:A.onDragEnter,onDragLeave:A.onDragLeave,onDragOver:A.onDragOver,onDrop:A.onDrop,sections:v,setDragOver:ge,setDatatipDisabled:ie,itemDraggable:A.itemDraggable}),xe=s.mergeProps(te,re,ce,ue),fe={fontFamily:A.sectionTitleFontFamily,fontSize:A.sectionTitleFontSize,color:A.sectionTitleColor,fontStyle:A.sectionTitleFontStyle,fontWeight:A.sectionTitleFontWeight,textDecoration:A.sectionTitleTextDecoration},{sectionalLegendBaseStyles:ye,renderedLegendStyle:pe}=m.styles,ve="horizontal"===e;return o.useImperativeHandle(H,(()=>({_getPreferredSize:(t,n)=>{const o=R({width:t,getTextDimensions:G,resolvedVars:z,rootRef:V,orientation:e,legendFontStylesObj:U,symbolWidth:A.symbolWidth,symbolHeight:A.symbolHeight,sections:v});return o?{width:o?.maxRowWidth,height:o?.legendHeight}:void 0}})),[G,U,z]),t.jsxs("div",{ref:V,tabIndex:b?void 0:0,role:"application",class:h.classNames([ye,pe,me?p.styles.dndDragOverHTMLStyle:!1===me?p.styles.dndRejectedStyle:void 0]),draggable:he,style:Q,...L,...de,...xe,"aria-activedescendant":ee,children:[t.jsx(c.Flex,{direction:ve?"row":"column",wrap:"wrap",gap:"4x",children:v.map(((o,i)=>{const s=b?"":a.getRandomId(),l=!!K&&K.isSectionWrappedArray[i],m=!ve||l?"column":"row",g=!ve||l?"start":"center",{itemsPerCol:h,itemsPerRow:u}=r.getSectionGridNums(o.items.length,K?.itemsPerRowArray[i]);return t.jsxs(c.Flex,{align:g,direction:m,maxWidth:"100%",justify:"start",wrap:"wrap",children:[t.jsx(d.LegendText,{text:o.title,...fe,type:"title",id:s,align:n}),t.jsx(d.BaseLegend,{...A,focusedItemRef:ne,labelledBy:s,sectionIdx:i,items:o.items,orientation:e,itemsPerRow:u,itemsPerCol:h,itemWidth:K?.isLegendWrappedArray[i]?K?.maxItemWidth:void 0,isReadOnly:b,focusedItemInfo:X,hoveredItemInfo:Y,activeId:ee,hideAndShowBehavior:P,hoverBehavior:C,isTestEnv:j})]})}))}),se,_,O,le,Ie]})}})));e.SectionalLegend=W}));
2
+ //# sourceMappingURL=SectionalLegend-3bae380b.js.map