@oracle/oraclejet-preact 18.1.4 → 18.1.6

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 (1782) hide show
  1. package/amd/BarChart-0ad4ca6d.js +2 -0
  2. package/amd/BarChart-0ad4ca6d.js.map +1 -0
  3. package/amd/BaseButton-c86afd54.js +2 -0
  4. package/amd/BaseButton-c86afd54.js.map +1 -0
  5. package/amd/BaseCardView-a1c5a21d.js +2 -0
  6. package/amd/BaseCardView-a1c5a21d.js.map +1 -0
  7. package/amd/BaseCardViewSelectionTest-36a03079.js +2 -0
  8. package/amd/BaseCardViewSelectionTest-36a03079.js.map +1 -0
  9. package/amd/BaseRichSelection-33a97275.js +2 -0
  10. package/amd/BaseRichSelection-33a97275.js.map +1 -0
  11. package/amd/Button-cb88d20f.js +2 -0
  12. package/amd/Button-cb88d20f.js.map +1 -0
  13. package/amd/ButtonSetButton-819e99a8.js +2 -0
  14. package/amd/ButtonSetButton-819e99a8.js.map +1 -0
  15. package/amd/ButtonSetIconButton-9f171b1e.js +2 -0
  16. package/amd/ButtonSetIconButton-9f171b1e.js.map +1 -0
  17. package/amd/ButtonSetItem-8a51cd2a.js +2 -0
  18. package/amd/ButtonSetItem-8a51cd2a.js.map +1 -0
  19. package/amd/CardFlexView-f7fdfac8.js +2 -0
  20. package/amd/CardFlexView-f7fdfac8.js.map +1 -0
  21. package/amd/CardGridView-b8a60fae.js +2 -0
  22. package/amd/CardGridView-b8a60fae.js.map +1 -0
  23. package/amd/Chart-79cfc878.js +2 -0
  24. package/amd/Chart-79cfc878.js.map +1 -0
  25. package/amd/Checkbox-49753599.js +2 -0
  26. package/amd/Checkbox-49753599.js.map +1 -0
  27. package/amd/CheckboxControl-c6a380b3.js +2 -0
  28. package/amd/CheckboxControl-c6a380b3.js.map +1 -0
  29. package/amd/CheckboxRadioField-1987c75d.js +2 -0
  30. package/amd/CheckboxRadioField-1987c75d.js.map +1 -0
  31. package/amd/CheckboxSet-05423d28.js +2 -0
  32. package/amd/CheckboxSet-05423d28.js.map +1 -0
  33. package/amd/CheckboxStyles.styles.css +6 -0
  34. package/amd/ClearIcon-d73689cc.js +2 -0
  35. package/amd/ClearIcon-d73689cc.js.map +1 -0
  36. package/amd/ComboChart-72eda15f.js +2 -0
  37. package/amd/ComboChart-72eda15f.js.map +1 -0
  38. package/amd/CompactUserAssistance-3799998f.js +2 -0
  39. package/amd/CompactUserAssistance-3799998f.js.map +1 -0
  40. package/amd/ComponentMessageContainer-cf186eeb.js +2 -0
  41. package/amd/ComponentMessageContainer-cf186eeb.js.map +1 -0
  42. package/amd/ConveyorBeltItem-e3002f4a.js +2 -0
  43. package/amd/ConveyorBeltItem-e3002f4a.js.map +1 -0
  44. package/amd/DatePicker-9115226e.js +2 -0
  45. package/amd/DatePicker-9115226e.js.map +1 -0
  46. package/amd/DatePickerHeader-a0da70a0.js +2 -0
  47. package/amd/DatePickerHeader-a0da70a0.js.map +1 -0
  48. package/amd/Diagram-14fa4924.js +2 -0
  49. package/amd/Diagram-14fa4924.js.map +1 -0
  50. package/amd/Dialog-896c0bfd.js +2 -0
  51. package/amd/Dialog-896c0bfd.js.map +1 -0
  52. package/amd/EmbeddedIconButton-3608bfb4.js +2 -0
  53. package/amd/EmbeddedIconButton-3608bfb4.js.map +1 -0
  54. package/amd/ExpandableList-daabc548.js +2 -0
  55. package/amd/ExpandableList-daabc548.js.map +1 -0
  56. package/amd/Gantt-7265d4ce.js +2 -0
  57. package/amd/Gantt-7265d4ce.js.map +1 -0
  58. package/amd/GroupLoadingIndicator-9fd33355.js +1 -1
  59. package/amd/IconButton-368fba34.js +2 -0
  60. package/amd/IconButton-368fba34.js.map +1 -0
  61. package/amd/IconMenuButton-3f3c2386.js +2 -0
  62. package/amd/IconMenuButton-3f3c2386.js.map +1 -0
  63. package/amd/IconProgressButton-11c44c28.js +2 -0
  64. package/amd/IconProgressButton-11c44c28.js.map +1 -0
  65. package/amd/IconSwitchButton-1a400cdf.js +2 -0
  66. package/amd/IconSwitchButton-1a400cdf.js.map +1 -0
  67. package/amd/IconToggleButton-ea46b246.js +2 -0
  68. package/amd/IconToggleButton-ea46b246.js.map +1 -0
  69. package/amd/Indexer-5df524f2.js +2 -0
  70. package/amd/Indexer-5df524f2.js.map +1 -0
  71. package/amd/InlineUserAssistance-a97e0011.js +2 -0
  72. package/amd/InlineUserAssistance-a97e0011.js.map +1 -0
  73. package/amd/InputDateMask-09989b51.js +2 -0
  74. package/amd/InputDateMask-09989b51.js.map +1 -0
  75. package/amd/InputDatePicker-03bdeb95.js +2 -0
  76. package/amd/InputDatePicker-03bdeb95.js.map +1 -0
  77. package/amd/InputPassword-57a5e072.js +2 -0
  78. package/amd/InputPassword-57a5e072.js.map +1 -0
  79. package/amd/InputText-a72eb1c3.js +2 -0
  80. package/amd/InputText-a72eb1c3.js.map +1 -0
  81. package/amd/Label-41b672b4.js +2 -0
  82. package/amd/Label-41b672b4.js.map +1 -0
  83. package/amd/Legend-6fa54628.js +2 -0
  84. package/amd/Legend-6fa54628.js.map +1 -0
  85. package/amd/LegendRendered-d8626509.js.map +1 -1
  86. package/amd/LineAreaChart-3aff0c1a.js +2 -0
  87. package/amd/LineAreaChart-3aff0c1a.js.map +1 -0
  88. package/amd/Link-1f126248.js +2 -0
  89. package/amd/Link-1f126248.js.map +1 -0
  90. package/amd/LinkVariants.styles.css +2 -1
  91. package/amd/LinkVariants.styles2.css +2 -1
  92. package/amd/List-0da6ee9c.js +2 -0
  93. package/amd/List-0da6ee9c.js.map +1 -0
  94. package/amd/ListView-cdfac903.js +2 -0
  95. package/amd/ListView-cdfac903.js.map +1 -0
  96. package/amd/LoadMoreCollection-a6adbc3f.js +2 -0
  97. package/amd/LoadMoreCollection-a6adbc3f.js.map +1 -0
  98. package/amd/MaxLengthCounter-9a95922c.js +2 -0
  99. package/amd/MaxLengthCounter-9a95922c.js.map +1 -0
  100. package/amd/MenuButton-66e5430a.js +2 -0
  101. package/amd/MenuButton-66e5430a.js.map +1 -0
  102. package/amd/Message-d66cc7e9.js +2 -0
  103. package/amd/Message-d66cc7e9.js.map +1 -0
  104. package/amd/MessageToast-19703f73.js +2 -0
  105. package/amd/MessageToast-19703f73.js.map +1 -0
  106. package/amd/MonthView-67179db3.js +2 -0
  107. package/amd/MonthView-67179db3.js.map +1 -0
  108. package/amd/NumberInputText-e2cf1795.js +2 -0
  109. package/amd/NumberInputText-e2cf1795.js.map +1 -0
  110. package/amd/OverflowTabBar-1dd5c327.js +2 -0
  111. package/amd/OverflowTabBar-1dd5c327.js.map +1 -0
  112. package/amd/OverflowTabBarItem-f8128e3d.js +2 -0
  113. package/amd/OverflowTabBarItem-f8128e3d.js.map +1 -0
  114. package/amd/PRIVATE_BaseCardView.js +1 -1
  115. package/amd/PRIVATE_Chart.js +1 -1
  116. package/amd/PRIVATE_CheckboxControl.js +1 -1
  117. package/amd/PRIVATE_CheckboxRadioField.js +1 -1
  118. package/amd/PRIVATE_ClearIcon.js +1 -1
  119. package/amd/PRIVATE_DatePickerHeader.js +1 -1
  120. package/amd/PRIVATE_EmbeddedIconButton.js +1 -1
  121. package/amd/PRIVATE_IconSwitchButton.js +1 -1
  122. package/amd/PRIVATE_List.js +1 -1
  123. package/amd/PRIVATE_LoadMoreCollection.js +1 -1
  124. package/amd/PRIVATE_Message.js +1 -1
  125. package/amd/PRIVATE_MonthView.js +1 -1
  126. package/amd/PRIVATE_MonthYearGridView.js +1 -1
  127. package/amd/PRIVATE_RevealToggleIcon.js +1 -1
  128. package/amd/PRIVATE_RichSelectionCommon.js +1 -1
  129. package/amd/PRIVATE_SelectCommon.js +1 -1
  130. package/amd/PRIVATE_Table.js +1 -1
  131. package/amd/PRIVATE_TimeComponent.js +1 -1
  132. package/amd/PRIVATE_VirtualizedCollection.js +1 -1
  133. package/amd/PictoChart-98b892fb.js +2 -0
  134. package/amd/PictoChart-98b892fb.js.map +1 -0
  135. package/amd/ProgressButton-cd0c21df.js +2 -0
  136. package/amd/ProgressButton-cd0c21df.js.map +1 -0
  137. package/amd/RadioItem-1a02d3dc.js +2 -0
  138. package/amd/RadioItem-1a02d3dc.js.map +1 -0
  139. package/amd/RadioSet-94d12876.js +2 -0
  140. package/amd/RadioSet-94d12876.js.map +1 -0
  141. package/amd/RemovableNavigationListItem-1f69907c.js +2 -0
  142. package/amd/RemovableNavigationListItem-1f69907c.js.map +1 -0
  143. package/amd/RemovableTabBarItem-5c240801.js +2 -0
  144. package/amd/RemovableTabBarItem-5c240801.js.map +1 -0
  145. package/amd/RevealToggleIcon-c22626da.js +2 -0
  146. package/amd/RevealToggleIcon-c22626da.js.map +1 -0
  147. package/amd/ScatterChart-e6f8d49a.js +2 -0
  148. package/amd/ScatterChart-e6f8d49a.js.map +1 -0
  149. package/amd/SelectMultiple-a159ccbf.js +2 -0
  150. package/amd/SelectMultiple-a159ccbf.js.map +1 -0
  151. package/amd/SelectSingle-e3d0d8d2.js +2 -0
  152. package/amd/SelectSingle-e3d0d8d2.js.map +1 -0
  153. package/amd/SplitMenuButton-a2001b04.js +2 -0
  154. package/amd/SplitMenuButton-a2001b04.js.map +1 -0
  155. package/amd/Table-f5ebf3d4.js +2 -0
  156. package/amd/Table-f5ebf3d4.js.map +1 -0
  157. package/amd/TableView-e8cab364.js +2 -0
  158. package/amd/TableView-e8cab364.js.map +1 -0
  159. package/amd/TagCloud-39552a78.js +2 -0
  160. package/amd/TagCloud-39552a78.js.map +1 -0
  161. package/amd/TextArea-0ec1a311.js +2 -0
  162. package/amd/TextArea-0ec1a311.js.map +1 -0
  163. package/amd/TextAreaAutosize-8cac0a54.js +2 -0
  164. package/amd/TextAreaAutosize-8cac0a54.js.map +1 -0
  165. package/amd/Theme-redwood/theme.css +201 -201
  166. package/amd/Theme-stable/theme.css +412 -412
  167. package/amd/TimeComponentCanvas2D-82ebf0c7.js +2 -0
  168. package/amd/TimeComponentCanvas2D-82ebf0c7.js.map +1 -0
  169. package/amd/ToggleButton-f8845804.js +2 -0
  170. package/amd/ToggleButton-f8845804.js.map +1 -0
  171. package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
  172. package/amd/UNSAFE_BarChart.js +1 -1
  173. package/amd/UNSAFE_BaseButton.js +1 -1
  174. package/amd/UNSAFE_Button.js +1 -1
  175. package/amd/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
  176. package/amd/UNSAFE_ButtonSetButton.js +1 -1
  177. package/amd/UNSAFE_ButtonSetIconButton.js +1 -1
  178. package/amd/UNSAFE_ButtonSetItem.js +1 -1
  179. package/amd/UNSAFE_CardFlexView.js +1 -1
  180. package/amd/UNSAFE_CardGridView.js +1 -1
  181. package/amd/UNSAFE_Checkbox/themes/CheckboxStyles.css.js +1 -1
  182. package/amd/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js +1 -1
  183. package/amd/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js.map +1 -1
  184. package/amd/UNSAFE_Checkbox/themes/redwood/CheckboxVariants.css.js +1 -1
  185. package/amd/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js +1 -1
  186. package/amd/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js.map +1 -1
  187. package/amd/UNSAFE_Checkbox/themes/stable/CheckboxVariants.css.js +1 -1
  188. package/amd/UNSAFE_Checkbox.js +1 -1
  189. package/amd/UNSAFE_CheckboxItem.js +1 -1
  190. package/amd/UNSAFE_CheckboxItem.js.map +1 -1
  191. package/amd/UNSAFE_CheckboxSet.js +1 -1
  192. package/amd/UNSAFE_CheckboxSet.js.map +1 -1
  193. package/amd/UNSAFE_ComboChart.js +1 -1
  194. package/amd/UNSAFE_ComponentMessage.js +1 -1
  195. package/amd/UNSAFE_ConveyorBelt.js +1 -1
  196. package/amd/UNSAFE_DatePicker.js +1 -1
  197. package/amd/UNSAFE_Diagram.js +1 -1
  198. package/amd/UNSAFE_Dialog.js +1 -1
  199. package/amd/UNSAFE_ExpandableList.js +1 -1
  200. package/amd/UNSAFE_Gantt.js +1 -1
  201. package/amd/UNSAFE_IconButton.js +1 -1
  202. package/amd/UNSAFE_IconMenuButton.js +1 -1
  203. package/amd/UNSAFE_IconProgressButton.js +1 -1
  204. package/amd/UNSAFE_IconToggleButton.js +1 -1
  205. package/amd/UNSAFE_Indexer.js +1 -1
  206. package/amd/UNSAFE_InputDateMask.js +1 -1
  207. package/amd/UNSAFE_InputDatePicker.js +1 -1
  208. package/amd/UNSAFE_InputPassword.js +1 -1
  209. package/amd/UNSAFE_InputSensitiveText.js +1 -1
  210. package/amd/UNSAFE_InputText.js +1 -1
  211. package/amd/UNSAFE_InputTimeMask.js +1 -1
  212. package/amd/UNSAFE_Label.js +1 -1
  213. package/amd/UNSAFE_LabelledLink.js +1 -1
  214. package/amd/UNSAFE_Legend.js +1 -1
  215. package/amd/UNSAFE_LineAreaChart.js +1 -1
  216. package/amd/UNSAFE_Link/themes/LinkStyles.css.js +1 -1
  217. package/amd/UNSAFE_Link.js +1 -1
  218. package/amd/UNSAFE_ListView.js +1 -1
  219. package/amd/UNSAFE_MenuButton.js +1 -1
  220. package/amd/UNSAFE_MessageBanner.js +1 -1
  221. package/amd/UNSAFE_MessageToast.js +1 -1
  222. package/amd/UNSAFE_NavigationList.js +1 -1
  223. package/amd/UNSAFE_NavigationListCommon.js +1 -1
  224. package/amd/UNSAFE_NumberInputText.js +1 -1
  225. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  226. package/amd/UNSAFE_PictoChart.js +1 -1
  227. package/amd/UNSAFE_ProgressButton.js +1 -1
  228. package/amd/UNSAFE_RadioItem.js +1 -1
  229. package/amd/UNSAFE_RadioSet.js +1 -1
  230. package/amd/UNSAFE_RichCheckboxSet.js +1 -1
  231. package/amd/UNSAFE_RichCheckboxSet.js.map +1 -1
  232. package/amd/UNSAFE_RichRadioSet.js +1 -1
  233. package/amd/UNSAFE_RichRadioSet.js.map +1 -1
  234. package/amd/UNSAFE_RichSelectionItem.js +1 -1
  235. package/amd/UNSAFE_RichSelectionItem.js.map +1 -1
  236. package/amd/UNSAFE_ScatterChart.js +1 -1
  237. package/amd/UNSAFE_SelectMultiple.js +1 -1
  238. package/amd/UNSAFE_SelectSingle.js +1 -1
  239. package/amd/UNSAFE_Sheet/__test__/Sheet.spec.js +1 -1
  240. package/amd/UNSAFE_SplitMenuButton.js +1 -1
  241. package/amd/UNSAFE_TabBar.js +1 -1
  242. package/amd/UNSAFE_TabBarCommon.js +1 -1
  243. package/amd/UNSAFE_TabBarMixed.js +1 -1
  244. package/amd/UNSAFE_TableView.js +1 -1
  245. package/amd/UNSAFE_TagCloud.js +1 -1
  246. package/amd/UNSAFE_TextArea.js +1 -1
  247. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  248. package/amd/UNSAFE_ToggleButton.js +1 -1
  249. package/amd/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
  250. package/amd/UNSAFE_UserAssistance.js +1 -1
  251. package/amd/UNSAFE_VirtualizedListView.js +1 -1
  252. package/amd/VirtualizedCollection-63223f5e.js +2 -0
  253. package/amd/VirtualizedCollection-63223f5e.js.map +1 -0
  254. package/amd/VirtualizedListView-d353d174.js +2 -0
  255. package/amd/VirtualizedListView-d353d174.js.map +1 -0
  256. package/amd/YearsGridView-e645d5de.js +2 -0
  257. package/amd/YearsGridView-e645d5de.js.map +1 -0
  258. package/amd/hooks/PRIVATE_useChartEvents.js +1 -1
  259. package/amd/hooks/PRIVATE_useChartMarquee.js +1 -1
  260. package/amd/hooks/PRIVATE_useVisDragModeControls.js +1 -1
  261. package/amd/hooks/PRIVATE_useVisSelection.js +1 -1
  262. package/amd/hooks/UNSAFE_usePressClick.js +1 -1
  263. package/amd/useCellNavigation-4138513e.js +2 -0
  264. package/amd/useCellNavigation-4138513e.js.map +1 -0
  265. package/amd/useChartMarquee-2f7d51c4.js +2 -0
  266. package/amd/useChartMarquee-2f7d51c4.js.map +1 -0
  267. package/amd/usePressClick-b5bf4243.js +2 -0
  268. package/amd/usePressClick-b5bf4243.js.map +1 -0
  269. package/amd/useSelectCommon-380baecd.js +2 -0
  270. package/amd/useSelectCommon-380baecd.js.map +1 -0
  271. package/amd/useSelectDrill-113ae3ae.js +2 -0
  272. package/amd/useSelectDrill-113ae3ae.js.map +1 -0
  273. package/amd/useSelection-80e262f2.js +2 -0
  274. package/amd/useSelection-80e262f2.js.map +1 -0
  275. package/amd/useVisDragModeControls-f187d8b2.js +2 -0
  276. package/amd/useVisDragModeControls-f187d8b2.js.map +1 -0
  277. package/cjs/BarChart-66dbe5be.js +181 -0
  278. package/cjs/BarChart-66dbe5be.js.map +1 -0
  279. package/cjs/BaseButton-590432e4.js +174 -0
  280. package/cjs/BaseButton-590432e4.js.map +1 -0
  281. package/cjs/BaseCardView-5c483f52.js +687 -0
  282. package/cjs/BaseCardView-5c483f52.js.map +1 -0
  283. package/cjs/BaseCardViewSelectionTest-f29b3ecf.js +734 -0
  284. package/cjs/BaseCardViewSelectionTest-f29b3ecf.js.map +1 -0
  285. package/cjs/BaseRichSelection-07d33b2a.js +344 -0
  286. package/cjs/BaseRichSelection-07d33b2a.js.map +1 -0
  287. package/cjs/Button-2427b7df.js +24 -0
  288. package/cjs/Button-2427b7df.js.map +1 -0
  289. package/cjs/ButtonSetButton-a23b6b7d.js +35 -0
  290. package/cjs/ButtonSetButton-a23b6b7d.js.map +1 -0
  291. package/cjs/ButtonSetIconButton-c632a294.js +42 -0
  292. package/cjs/ButtonSetIconButton-c632a294.js.map +1 -0
  293. package/cjs/ButtonSetItem-b260b6a5.js +67 -0
  294. package/cjs/ButtonSetItem-b260b6a5.js.map +1 -0
  295. package/cjs/CardFlexView-385f1b2d.js +29 -0
  296. package/cjs/CardFlexView-385f1b2d.js.map +1 -0
  297. package/cjs/CardGridView-d337b9f4.js +17 -0
  298. package/cjs/CardGridView-d337b9f4.js.map +1 -0
  299. package/cjs/Chart-13ccd345.js +493 -0
  300. package/cjs/Chart-13ccd345.js.map +1 -0
  301. package/cjs/Checkbox-07e4794b.js +106 -0
  302. package/cjs/Checkbox-07e4794b.js.map +1 -0
  303. package/cjs/CheckboxControl-697725cb.js +111 -0
  304. package/cjs/CheckboxControl-697725cb.js.map +1 -0
  305. package/cjs/CheckboxRadioField-1bb0d57d.js +185 -0
  306. package/cjs/CheckboxRadioField-1bb0d57d.js.map +1 -0
  307. package/cjs/CheckboxSetContext-c62db26d.js +12 -0
  308. package/cjs/CheckboxSetContext-c62db26d.js.map +1 -0
  309. package/cjs/CheckboxStyles.styles.css +6 -0
  310. package/cjs/ClearIcon-22a24975.js +23 -0
  311. package/cjs/ClearIcon-22a24975.js.map +1 -0
  312. package/cjs/ComboChart-7188af92.js +174 -0
  313. package/cjs/ComboChart-7188af92.js.map +1 -0
  314. package/cjs/CompactUserAssistance-54247e7e.js +49 -0
  315. package/cjs/CompactUserAssistance-54247e7e.js.map +1 -0
  316. package/cjs/ComponentMessageContainer-f8dc57aa.js +71 -0
  317. package/cjs/ComponentMessageContainer-f8dc57aa.js.map +1 -0
  318. package/cjs/ConveyorBeltItem-324014ba.js +641 -0
  319. package/cjs/ConveyorBeltItem-324014ba.js.map +1 -0
  320. package/cjs/DatePicker-9c362a68.js +566 -0
  321. package/cjs/DatePicker-9c362a68.js.map +1 -0
  322. package/cjs/DatePickerHeader-4223c919.js +46 -0
  323. package/cjs/DatePickerHeader-4223c919.js.map +1 -0
  324. package/cjs/Diagram-151103ac.js +2037 -0
  325. package/cjs/Diagram-151103ac.js.map +1 -0
  326. package/cjs/Dialog-40a1b708.js +346 -0
  327. package/cjs/Dialog-40a1b708.js.map +1 -0
  328. package/cjs/EmbeddedIconButton-f3f6e8f6.js +13 -0
  329. package/cjs/EmbeddedIconButton-f3f6e8f6.js.map +1 -0
  330. package/cjs/ExpandableList-0a0d75b3.js +169 -0
  331. package/cjs/ExpandableList-0a0d75b3.js.map +1 -0
  332. package/cjs/Gantt-aa6f41d6.js +3819 -0
  333. package/cjs/Gantt-aa6f41d6.js.map +1 -0
  334. package/cjs/GroupLoadingIndicator-824d658f.js +1 -1
  335. package/cjs/IconButton-fad4e4b2.js +39 -0
  336. package/cjs/IconButton-fad4e4b2.js.map +1 -0
  337. package/cjs/IconMenuButton-70ef4775.js +58 -0
  338. package/cjs/IconMenuButton-70ef4775.js.map +1 -0
  339. package/cjs/IconProgressButton-b4116a09.js +49 -0
  340. package/cjs/IconProgressButton-b4116a09.js.map +1 -0
  341. package/cjs/IconSwitchButton-2f946274.js +46 -0
  342. package/cjs/IconSwitchButton-2f946274.js.map +1 -0
  343. package/cjs/IconToggleButton-493cf27c.js +45 -0
  344. package/cjs/IconToggleButton-493cf27c.js.map +1 -0
  345. package/cjs/Indexer-a4a2d6b8.js +339 -0
  346. package/cjs/Indexer-a4a2d6b8.js.map +1 -0
  347. package/cjs/InlineUserAssistance-6c6d3250.js +85 -0
  348. package/cjs/InlineUserAssistance-6c6d3250.js.map +1 -0
  349. package/cjs/InputDateMask-d6b1a660.js +1060 -0
  350. package/cjs/InputDateMask-d6b1a660.js.map +1 -0
  351. package/cjs/InputDatePicker-7eb5931a.js +309 -0
  352. package/cjs/InputDatePicker-7eb5931a.js.map +1 -0
  353. package/cjs/InputPassword-e15aa37b.js +157 -0
  354. package/cjs/InputPassword-e15aa37b.js.map +1 -0
  355. package/cjs/InputText-6a6ae7e5.js +199 -0
  356. package/cjs/InputText-6a6ae7e5.js.map +1 -0
  357. package/cjs/Label-c51bd5de.js +85 -0
  358. package/cjs/Label-c51bd5de.js.map +1 -0
  359. package/cjs/Legend-7e72e911.js +304 -0
  360. package/cjs/Legend-7e72e911.js.map +1 -0
  361. package/cjs/LegendRendered-c12152bc.js.map +1 -1
  362. package/cjs/LineAreaChart-05a58ac5.js +172 -0
  363. package/cjs/LineAreaChart-05a58ac5.js.map +1 -0
  364. package/cjs/Link-c928d5f1.js +35 -0
  365. package/cjs/Link-c928d5f1.js.map +1 -0
  366. package/cjs/LinkVariants.styles.css +2 -1
  367. package/cjs/LinkVariants.styles2.css +2 -1
  368. package/cjs/List-bad74e43.js +723 -0
  369. package/cjs/List-bad74e43.js.map +1 -0
  370. package/cjs/ListView-80a9c725.js +430 -0
  371. package/cjs/ListView-80a9c725.js.map +1 -0
  372. package/cjs/LoadMoreCollection-73112ff0.js +34 -0
  373. package/cjs/LoadMoreCollection-73112ff0.js.map +1 -0
  374. package/cjs/MaxLengthCounter-9ab3f74b.js +27 -0
  375. package/cjs/MaxLengthCounter-9ab3f74b.js.map +1 -0
  376. package/cjs/MenuButton-e6eb6e3e.js +63 -0
  377. package/cjs/MenuButton-e6eb6e3e.js.map +1 -0
  378. package/cjs/Message-20bc90cd.js +208 -0
  379. package/cjs/Message-20bc90cd.js.map +1 -0
  380. package/cjs/MessageToast-c0730ed5.js +243 -0
  381. package/cjs/MessageToast-c0730ed5.js.map +1 -0
  382. package/cjs/MonthView-03da0bd2.js +210 -0
  383. package/cjs/MonthView-03da0bd2.js.map +1 -0
  384. package/cjs/NavigationListItem-0a49d6b5.js +166 -0
  385. package/cjs/NavigationListItem-0a49d6b5.js.map +1 -0
  386. package/cjs/NumberInputText-c58f78da.js +223 -0
  387. package/cjs/NumberInputText-c58f78da.js.map +1 -0
  388. package/cjs/OverflowTabBar-c70fb3bf.js +71 -0
  389. package/cjs/OverflowTabBar-c70fb3bf.js.map +1 -0
  390. package/cjs/OverflowTabBarItem-70484f54.js +88 -0
  391. package/cjs/OverflowTabBarItem-70484f54.js.map +1 -0
  392. package/cjs/PRIVATE_BaseCardView.js +3 -3
  393. package/cjs/PRIVATE_Chart.js +14 -14
  394. package/cjs/PRIVATE_CheckboxControl.js +5 -4
  395. package/cjs/PRIVATE_CheckboxControl.js.map +1 -1
  396. package/cjs/PRIVATE_CheckboxRadioField.js +8 -7
  397. package/cjs/PRIVATE_CheckboxRadioField.js.map +1 -1
  398. package/cjs/PRIVATE_ClearIcon.js +4 -4
  399. package/cjs/PRIVATE_DatePickerHeader.js +5 -5
  400. package/cjs/PRIVATE_EmbeddedIconButton.js +3 -3
  401. package/cjs/PRIVATE_IconSwitchButton.js +3 -3
  402. package/cjs/PRIVATE_List.js +4 -4
  403. package/cjs/PRIVATE_LoadMoreCollection.js +2 -2
  404. package/cjs/PRIVATE_Message.js +4 -4
  405. package/cjs/PRIVATE_MonthView.js +2 -2
  406. package/cjs/PRIVATE_MonthYearGridView.js +2 -2
  407. package/cjs/PRIVATE_RevealToggleIcon.js +4 -4
  408. package/cjs/PRIVATE_RichSelectionCommon.js +8 -7
  409. package/cjs/PRIVATE_RichSelectionCommon.js.map +1 -1
  410. package/cjs/PRIVATE_SelectCommon.js +11 -11
  411. package/cjs/PRIVATE_Table.js +6 -6
  412. package/cjs/PRIVATE_TimeComponent.js +3 -3
  413. package/cjs/PRIVATE_VirtualizedCollection.js +2 -2
  414. package/cjs/PictoChart-fd613c80.js +747 -0
  415. package/cjs/PictoChart-fd613c80.js.map +1 -0
  416. package/cjs/ProgressButton-81474622.js +58 -0
  417. package/cjs/ProgressButton-81474622.js.map +1 -0
  418. package/cjs/RadioItem-3cc743ff.js +115 -0
  419. package/cjs/RadioItem-3cc743ff.js.map +1 -0
  420. package/cjs/RadioSet-f4ee4f80.js +45 -0
  421. package/cjs/RadioSet-f4ee4f80.js.map +1 -0
  422. package/cjs/RemovableNavigationListItem-f3ad6e8e.js +26 -0
  423. package/cjs/RemovableNavigationListItem-f3ad6e8e.js.map +1 -0
  424. package/cjs/RemovableTabBarItem-5c05fa32.js +38 -0
  425. package/cjs/RemovableTabBarItem-5c05fa32.js.map +1 -0
  426. package/cjs/RevealToggleIcon-4ec10dbe.js +28 -0
  427. package/cjs/RevealToggleIcon-4ec10dbe.js.map +1 -0
  428. package/cjs/ScatterChart-9226c20d.js +105 -0
  429. package/cjs/ScatterChart-9226c20d.js.map +1 -0
  430. package/cjs/SelectMultiple-3569988d.js +1299 -0
  431. package/cjs/SelectMultiple-3569988d.js.map +1 -0
  432. package/cjs/SelectSingle-43d6953e.js +732 -0
  433. package/cjs/SelectSingle-43d6953e.js.map +1 -0
  434. package/cjs/SplitMenuButton-9c1b081c.js +141 -0
  435. package/cjs/SplitMenuButton-9c1b081c.js.map +1 -0
  436. package/cjs/Table-6987731e.js +5499 -0
  437. package/cjs/Table-6987731e.js.map +1 -0
  438. package/cjs/TableView-1bed3e0b.js +33 -0
  439. package/cjs/TableView-1bed3e0b.js.map +1 -0
  440. package/cjs/TagCloud-2715c0e8.js +826 -0
  441. package/cjs/TagCloud-2715c0e8.js.map +1 -0
  442. package/cjs/TextArea-d8516f11.js +162 -0
  443. package/cjs/TextArea-d8516f11.js.map +1 -0
  444. package/cjs/TextAreaAutosize-1797d5b7.js +246 -0
  445. package/cjs/TextAreaAutosize-1797d5b7.js.map +1 -0
  446. package/cjs/Theme-redwood/theme.css +132 -132
  447. package/cjs/Theme-stable/theme.css +323 -323
  448. package/cjs/TimeComponentCanvas2D-13c06086.js +591 -0
  449. package/cjs/TimeComponentCanvas2D-13c06086.js.map +1 -0
  450. package/cjs/ToggleButton-c614bbec.js +30 -0
  451. package/cjs/ToggleButton-c614bbec.js.map +1 -0
  452. package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +15 -15
  453. package/cjs/UNSAFE_BarChart.js +15 -15
  454. package/cjs/UNSAFE_BaseButton.js +2 -2
  455. package/cjs/UNSAFE_Button.js +3 -3
  456. package/cjs/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +5 -5
  457. package/cjs/UNSAFE_ButtonSetButton.js +3 -3
  458. package/cjs/UNSAFE_ButtonSetIconButton.js +3 -3
  459. package/cjs/UNSAFE_ButtonSetItem.js +5 -5
  460. package/cjs/UNSAFE_CardFlexView.js +4 -4
  461. package/cjs/UNSAFE_CardGridView.js +4 -4
  462. package/cjs/UNSAFE_Checkbox/themes/CheckboxStyles.css.js +1 -0
  463. package/cjs/UNSAFE_Checkbox/themes/CheckboxStyles.css.js.map +1 -1
  464. package/cjs/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js +1 -0
  465. package/cjs/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js.map +1 -1
  466. package/cjs/UNSAFE_Checkbox/themes/redwood/CheckboxVariants.css.js +1 -0
  467. package/cjs/UNSAFE_Checkbox/themes/redwood/CheckboxVariants.css.js.map +1 -1
  468. package/cjs/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js +1 -0
  469. package/cjs/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js.map +1 -1
  470. package/cjs/UNSAFE_Checkbox/themes/stable/CheckboxVariants.css.js +1 -0
  471. package/cjs/UNSAFE_Checkbox/themes/stable/CheckboxVariants.css.js.map +1 -1
  472. package/cjs/UNSAFE_Checkbox.js +8 -7
  473. package/cjs/UNSAFE_Checkbox.js.map +1 -1
  474. package/cjs/UNSAFE_CheckboxItem.js +35 -86
  475. package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
  476. package/cjs/UNSAFE_CheckboxSet.js +51 -21
  477. package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
  478. package/cjs/UNSAFE_ComboChart.js +15 -15
  479. package/cjs/UNSAFE_ComponentMessage.js +4 -4
  480. package/cjs/UNSAFE_ConveyorBelt.js +3 -3
  481. package/cjs/UNSAFE_DatePicker.js +10 -10
  482. package/cjs/UNSAFE_Diagram.js +9 -9
  483. package/cjs/UNSAFE_Dialog.js +4 -4
  484. package/cjs/UNSAFE_ExpandableList.js +7 -7
  485. package/cjs/UNSAFE_Gantt.js +5 -5
  486. package/cjs/UNSAFE_IconButton.js +3 -3
  487. package/cjs/UNSAFE_IconMenuButton.js +3 -3
  488. package/cjs/UNSAFE_IconProgressButton.js +3 -3
  489. package/cjs/UNSAFE_IconToggleButton.js +3 -3
  490. package/cjs/UNSAFE_Indexer.js +2 -2
  491. package/cjs/UNSAFE_InputDateMask.js +8 -8
  492. package/cjs/UNSAFE_InputDatePicker.js +16 -16
  493. package/cjs/UNSAFE_InputPassword.js +11 -11
  494. package/cjs/UNSAFE_InputSensitiveText.js +10 -10
  495. package/cjs/UNSAFE_InputText.js +9 -9
  496. package/cjs/UNSAFE_InputTimeMask.js +7 -7
  497. package/cjs/UNSAFE_Label.js +4 -4
  498. package/cjs/UNSAFE_LabelledLink.js +7 -7
  499. package/cjs/UNSAFE_Legend.js +1 -1
  500. package/cjs/UNSAFE_LineAreaChart.js +15 -15
  501. package/cjs/UNSAFE_Link/themes/LinkStyles.css.js +1 -1
  502. package/cjs/UNSAFE_Link.js +2 -2
  503. package/cjs/UNSAFE_ListView.js +5 -5
  504. package/cjs/UNSAFE_MenuButton.js +3 -3
  505. package/cjs/UNSAFE_MessageBanner.js +4 -4
  506. package/cjs/UNSAFE_MessageToast.js +5 -5
  507. package/cjs/UNSAFE_NavigationList.js +8 -8
  508. package/cjs/UNSAFE_NavigationListCommon.js +4 -4
  509. package/cjs/UNSAFE_NumberInputText.js +8 -8
  510. package/cjs/UNSAFE_OverflowTabBar.js +8 -8
  511. package/cjs/UNSAFE_PictoChart.js +4 -4
  512. package/cjs/UNSAFE_ProgressButton.js +3 -3
  513. package/cjs/UNSAFE_RadioItem.js +4 -4
  514. package/cjs/UNSAFE_RadioSet.js +9 -8
  515. package/cjs/UNSAFE_RadioSet.js.map +1 -1
  516. package/cjs/UNSAFE_RichCheckboxSet.js +33 -35
  517. package/cjs/UNSAFE_RichCheckboxSet.js.map +1 -1
  518. package/cjs/UNSAFE_RichRadioSet.js +8 -7
  519. package/cjs/UNSAFE_RichRadioSet.js.map +1 -1
  520. package/cjs/UNSAFE_RichSelectionItem.js +46 -184
  521. package/cjs/UNSAFE_RichSelectionItem.js.map +1 -1
  522. package/cjs/UNSAFE_ScatterChart.js +15 -15
  523. package/cjs/UNSAFE_SelectMultiple.js +15 -15
  524. package/cjs/UNSAFE_SelectSingle.js +14 -14
  525. package/cjs/UNSAFE_Sheet/__test__/Sheet.spec.js +3 -3
  526. package/cjs/UNSAFE_SplitMenuButton.js +3 -3
  527. package/cjs/UNSAFE_TabBar.js +7 -7
  528. package/cjs/UNSAFE_TabBarCommon.js +7 -7
  529. package/cjs/UNSAFE_TabBarMixed.js +7 -7
  530. package/cjs/UNSAFE_TableView.js +7 -7
  531. package/cjs/UNSAFE_TagCloud.js +4 -4
  532. package/cjs/UNSAFE_TextArea.js +11 -10
  533. package/cjs/UNSAFE_TextArea.js.map +1 -1
  534. package/cjs/UNSAFE_TextAreaAutosize.js +10 -10
  535. package/cjs/UNSAFE_ToggleButton.js +3 -3
  536. package/cjs/UNSAFE_Toolbar/tests/Toolbar.spec.js +5 -5
  537. package/cjs/UNSAFE_UserAssistance.js +6 -6
  538. package/cjs/UNSAFE_VirtualizedListView.js +5 -5
  539. package/cjs/VirtualizedCollection-00aedb8b.js +180 -0
  540. package/cjs/VirtualizedCollection-00aedb8b.js.map +1 -0
  541. package/cjs/VirtualizedListView-ad3219ba.js +16 -0
  542. package/cjs/VirtualizedListView-ad3219ba.js.map +1 -0
  543. package/cjs/YearsGridView-67ce0a3a.js +190 -0
  544. package/cjs/YearsGridView-67ce0a3a.js.map +1 -0
  545. package/cjs/hooks/PRIVATE_useChartEvents.js +4 -4
  546. package/cjs/hooks/PRIVATE_useChartMarquee.js +8 -8
  547. package/cjs/hooks/PRIVATE_useVisDragModeControls.js +7 -7
  548. package/cjs/hooks/PRIVATE_useVisSelection.js +3 -3
  549. package/cjs/hooks/UNSAFE_usePressClick.js +1 -1
  550. package/cjs/useCellNavigation-d503e35f.js +124 -0
  551. package/cjs/useCellNavigation-d503e35f.js.map +1 -0
  552. package/cjs/useChartMarquee-7ffcda9e.js +295 -0
  553. package/cjs/useChartMarquee-7ffcda9e.js.map +1 -0
  554. package/cjs/usePressClick-7a34624a.js +41 -0
  555. package/cjs/usePressClick-7a34624a.js.map +1 -0
  556. package/cjs/useSelectCommon-38a38427.js +709 -0
  557. package/cjs/useSelectCommon-38a38427.js.map +1 -0
  558. package/cjs/useSelectDrill-ad5864fd.js +107 -0
  559. package/cjs/useSelectDrill-ad5864fd.js.map +1 -0
  560. package/cjs/useSelection-8f68a23a.js +188 -0
  561. package/cjs/useSelection-8f68a23a.js.map +1 -0
  562. package/cjs/useVisDragModeControls-d3a7aa57.js +89 -0
  563. package/cjs/useVisDragModeControls-d3a7aa57.js.map +1 -0
  564. package/es/ActionCard-bac27bb9.js +1 -1
  565. package/es/BarChart-43dec3b7.js +179 -0
  566. package/es/BarChart-43dec3b7.js.map +1 -0
  567. package/es/BarGroup-dbf70e2c.js +1 -1
  568. package/es/BaseButton-61f6baa8.js +172 -0
  569. package/es/BaseButton-61f6baa8.js.map +1 -0
  570. package/es/BaseCardView-724422f3.js +7 -7
  571. package/es/BaseCardViewSelectionTest-ef070684.js +721 -0
  572. package/es/BaseCardViewSelectionTest-ef070684.js.map +1 -0
  573. package/es/BaseNavigationListItem-1c75c13f.js +47 -0
  574. package/es/BaseNavigationListItem-1c75c13f.js.map +1 -0
  575. package/es/BaseRichSelection-72edca7c.js +342 -0
  576. package/es/BaseRichSelection-72edca7c.js.map +1 -0
  577. package/es/Button-f90514b2.js +22 -0
  578. package/es/Button-f90514b2.js.map +1 -0
  579. package/es/ButtonSet-9b2c41be.js +2 -2
  580. package/es/ButtonSetButton-974fc462.js +33 -0
  581. package/es/ButtonSetButton-974fc462.js.map +1 -0
  582. package/es/ButtonSetIconButton-0081167a.js +40 -0
  583. package/es/ButtonSetIconButton-0081167a.js.map +1 -0
  584. package/es/ButtonSetItem-eb2d43d4.js +65 -0
  585. package/es/ButtonSetItem-eb2d43d4.js.map +1 -0
  586. package/es/Card-31dc8dc2.js +15 -0
  587. package/es/Card-31dc8dc2.js.map +1 -0
  588. package/es/Center-2be68188.js +16 -0
  589. package/es/Center-2be68188.js.map +1 -0
  590. package/es/Chart-4ec13697.js +491 -0
  591. package/es/Chart-4ec13697.js.map +1 -0
  592. package/es/Checkbox-74259575.js +104 -0
  593. package/es/Checkbox-74259575.js.map +1 -0
  594. package/es/CheckboxControl-c3c34028.js +109 -0
  595. package/es/CheckboxControl-c3c34028.js.map +1 -0
  596. package/es/CheckboxRadioField-294463ba.js +183 -0
  597. package/es/CheckboxRadioField-294463ba.js.map +1 -0
  598. package/es/CheckboxStyles.styles.css +6 -0
  599. package/es/Chip-8fd813ce.js +1 -1
  600. package/es/ClearIcon-acca9670.js +21 -0
  601. package/es/ClearIcon-acca9670.js.map +1 -0
  602. package/es/CollapseIcon-152e59b4.js +1 -1
  603. package/es/Collapsible-4dddc4f7.js +2 -2
  604. package/es/ComboChart-d1c3e17a.js +172 -0
  605. package/es/ComboChart-d1c3e17a.js.map +1 -0
  606. package/es/CompactHelpSource-c3044924.js +2 -2
  607. package/es/CompactLabelAssistance-0d70fceb.js +34 -0
  608. package/es/CompactLabelAssistance-0d70fceb.js.map +1 -0
  609. package/es/CompactUserAssistance-4f0ff3fc.js +47 -0
  610. package/es/CompactUserAssistance-4f0ff3fc.js.map +1 -0
  611. package/es/ComponentMessageContainer-13005c12.js +68 -0
  612. package/es/ComponentMessageContainer-13005c12.js.map +1 -0
  613. package/es/ConveyorBeltItem-53f383e1.js +638 -0
  614. package/es/ConveyorBeltItem-53f383e1.js.map +1 -0
  615. package/es/DatePicker-a57b08b1.js +564 -0
  616. package/es/DatePicker-a57b08b1.js.map +1 -0
  617. package/es/DatePickerHeader-8eee60aa.js +44 -0
  618. package/es/DatePickerHeader-8eee60aa.js.map +1 -0
  619. package/es/Diagram-29d78c10.js +2035 -0
  620. package/es/Diagram-29d78c10.js.map +1 -0
  621. package/es/Dialog-8a9a90a2.js +344 -0
  622. package/es/Dialog-8a9a90a2.js.map +1 -0
  623. package/es/DirectionalCollapseArrowIcon-e1b04846.js +1 -1
  624. package/es/DirectionalExpandArrowIcon-c9218fa7.js +1 -1
  625. package/es/DragHandle-198c3118.js +22 -0
  626. package/es/DragHandle-198c3118.js.map +1 -0
  627. package/es/DrawerPopup-5292bdfc.js +381 -0
  628. package/es/DrawerPopup-5292bdfc.js.map +1 -0
  629. package/es/Dropdown-698afbc6.js +80 -0
  630. package/es/Dropdown-698afbc6.js.map +1 -0
  631. package/es/EmbeddedIconButton-7215a912.js +11 -0
  632. package/es/EmbeddedIconButton-7215a912.js.map +1 -0
  633. package/es/EnvironmentProvider-713d0dec.js +58 -0
  634. package/es/EnvironmentProvider-713d0dec.js.map +1 -0
  635. package/es/ExpandableList-27f4f0d4.js +167 -0
  636. package/es/ExpandableList-27f4f0d4.js.map +1 -0
  637. package/es/FilePicker-c3f06d6f.js +2 -2
  638. package/es/Flex-2d9ebee9.js +30 -0
  639. package/es/Flex-2d9ebee9.js.map +1 -0
  640. package/es/Floating-5191a9e6.js +462 -0
  641. package/es/Floating-5191a9e6.js.map +1 -0
  642. package/es/FormLayout-b2993e0c.js +1 -1
  643. package/es/Gantt-e156bd33.js +3817 -0
  644. package/es/Gantt-e156bd33.js.map +1 -0
  645. package/es/Grid-238d8757.js +27 -0
  646. package/es/Grid-238d8757.js.map +1 -0
  647. package/es/Gridlines-d37f55d2.js +168 -0
  648. package/es/Gridlines-d37f55d2.js.map +1 -0
  649. package/es/GroupLoadingIndicator-93bcf33f.js +1 -1
  650. package/es/HighlightText-fef35694.js +31 -0
  651. package/es/HighlightText-fef35694.js.map +1 -0
  652. package/es/Icon-030b6dd4.js +3 -3
  653. package/es/IconButton-19fcf0a8.js +37 -0
  654. package/es/IconButton-19fcf0a8.js.map +1 -0
  655. package/es/IconMenuButton-4118bde6.js +56 -0
  656. package/es/IconMenuButton-4118bde6.js.map +1 -0
  657. package/es/IconProgressButton-a595c052.js +47 -0
  658. package/es/IconProgressButton-a595c052.js.map +1 -0
  659. package/es/IconSwitchButton-dcafa86c.js +44 -0
  660. package/es/IconSwitchButton-dcafa86c.js.map +1 -0
  661. package/es/IconToggleButton-94cbea2b.js +43 -0
  662. package/es/IconToggleButton-94cbea2b.js.map +1 -0
  663. package/es/IconUserAssistance-d9bc82d4.js +73 -0
  664. package/es/IconUserAssistance-d9bc82d4.js.map +1 -0
  665. package/es/Indexer-18ec7af3.js +4 -4
  666. package/es/InlineHelpSource-5ed4bb7d.js +1 -1
  667. package/es/InlineUserAssistance-65ca8810.js +81 -0
  668. package/es/InlineUserAssistance-65ca8810.js.map +1 -0
  669. package/es/InputDateMask-8258be53.js +1056 -0
  670. package/es/InputDateMask-8258be53.js.map +1 -0
  671. package/es/InputDatePicker-a659ed3a.js +307 -0
  672. package/es/InputDatePicker-a659ed3a.js.map +1 -0
  673. package/es/InputPassword-65336899.js +155 -0
  674. package/es/InputPassword-65336899.js.map +1 -0
  675. package/es/InputText-21591785.js +197 -0
  676. package/es/InputText-21591785.js.map +1 -0
  677. package/es/Label-25eba25e.js +83 -0
  678. package/es/Label-25eba25e.js.map +1 -0
  679. package/es/LabelValueLayout-1db91391.js +1 -1
  680. package/es/Layer-1eb18747.js +91 -0
  681. package/es/Layer-1eb18747.js.map +1 -0
  682. package/es/LayerHost-8b98d97d.js +41 -0
  683. package/es/LayerHost-8b98d97d.js.map +1 -0
  684. package/es/LayerManager-221afe20.js +34 -0
  685. package/es/LayerManager-221afe20.js.map +1 -0
  686. package/es/Legend-0e274097.js +302 -0
  687. package/es/Legend-0e274097.js.map +1 -0
  688. package/es/LegendRendered-65a3684e.js.map +1 -1
  689. package/es/LineAreaChart-6fabda31.js +170 -0
  690. package/es/LineAreaChart-6fabda31.js.map +1 -0
  691. package/es/LineSeries-139bda1a.js +109 -0
  692. package/es/LineSeries-139bda1a.js.map +1 -0
  693. package/es/Link-c7061441.js +33 -0
  694. package/es/Link-c7061441.js.map +1 -0
  695. package/es/LinkVariants.styles.css +2 -1
  696. package/es/LinkVariants.styles2.css +2 -1
  697. package/es/List-58b8d3c9.js +5 -5
  698. package/es/ListItemLayout-af86b17d.js +110 -0
  699. package/es/ListItemLayout-af86b17d.js.map +1 -0
  700. package/es/ListView-be2e2736.js +3 -3
  701. package/es/LiveRegion-c7bf2f21.js +39 -0
  702. package/es/LiveRegion-c7bf2f21.js.map +1 -0
  703. package/es/MaxLengthLiveRegion-d790e55c.js +23 -0
  704. package/es/MaxLengthLiveRegion-d790e55c.js.map +1 -0
  705. package/es/Menu-a5bf756f.js +6 -6
  706. package/es/MenuButton-e012a909.js +61 -0
  707. package/es/MenuButton-e012a909.js.map +1 -0
  708. package/es/MenuItem-54015ca3.js +1 -1
  709. package/es/Message-b0150c6f.js +203 -0
  710. package/es/Message-b0150c6f.js.map +1 -0
  711. package/es/MessageLayer-d9129e22.js +58 -0
  712. package/es/MessageLayer-d9129e22.js.map +1 -0
  713. package/es/MessageToast-933a0339.js +241 -0
  714. package/es/MessageToast-933a0339.js.map +1 -0
  715. package/es/MessagesManager-91ade5dc.js +3 -3
  716. package/es/MeterBar-732e3b2c.js +5 -5
  717. package/es/MeterCircle-2156d7ff.js +5 -5
  718. package/es/Modal-9980f6d1.js +288 -0
  719. package/es/Modal-9980f6d1.js.map +1 -0
  720. package/es/MonthView-d60a5df7.js +208 -0
  721. package/es/MonthView-d60a5df7.js.map +1 -0
  722. package/es/NavigationList-fb05e081.js +159 -0
  723. package/es/NavigationList-fb05e081.js.map +1 -0
  724. package/es/NavigationListItem-193a315a.js +10 -0
  725. package/es/NavigationListItem-193a315a.js.map +1 -0
  726. package/es/NumberInputText-2d1aef12.js +220 -0
  727. package/es/NumberInputText-2d1aef12.js.map +1 -0
  728. package/es/OverflowTabBar-894c7cd9.js +69 -0
  729. package/es/OverflowTabBar-894c7cd9.js.map +1 -0
  730. package/es/OverflowTabBarItem-a578401b.js +87 -0
  731. package/es/OverflowTabBarItem-a578401b.js.map +1 -0
  732. package/es/PRIVATE_BaseCardView.js +21 -21
  733. package/es/PRIVATE_Chart.js +43 -43
  734. package/es/PRIVATE_CheckboxControl.js +28 -27
  735. package/es/PRIVATE_CheckboxControl.js.map +1 -1
  736. package/es/PRIVATE_CheckboxRadioField.js +33 -32
  737. package/es/PRIVATE_CheckboxRadioField.js.map +1 -1
  738. package/es/PRIVATE_ClearIcon.js +21 -21
  739. package/es/PRIVATE_DatePickerHeader.js +23 -23
  740. package/es/PRIVATE_DatePickerLayout.js +4 -4
  741. package/es/PRIVATE_EmbeddedIconButton.js +6 -6
  742. package/es/PRIVATE_FormControls.js +19 -19
  743. package/es/PRIVATE_IconSwitchButton.js +18 -18
  744. package/es/PRIVATE_Icons/CheckboxMixed.js +15 -15
  745. package/es/PRIVATE_Icons/CheckboxOff.js +15 -15
  746. package/es/PRIVATE_Icons/CheckboxOn.js +15 -15
  747. package/es/PRIVATE_Icons/DragV.js +15 -15
  748. package/es/PRIVATE_Icons/WarningS.js +15 -15
  749. package/es/PRIVATE_List.js +19 -19
  750. package/es/PRIVATE_Message.js +22 -22
  751. package/es/PRIVATE_MessageLayer.js +12 -12
  752. package/es/PRIVATE_MonthView.js +8 -8
  753. package/es/PRIVATE_MonthYearGridView.js +8 -8
  754. package/es/PRIVATE_PlotArea.js +4 -4
  755. package/es/PRIVATE_RevealToggleIcon.js +20 -20
  756. package/es/PRIVATE_RichSelectionCommon.js +34 -33
  757. package/es/PRIVATE_RichSelectionCommon.js.map +1 -1
  758. package/es/PRIVATE_SelectCommon.js +35 -35
  759. package/es/PRIVATE_StyledCard.js +4 -4
  760. package/es/PRIVATE_StyledCheckbox.js +15 -15
  761. package/es/PRIVATE_Table.js +28 -28
  762. package/es/PRIVATE_ThemedIcons/CalendarIcon.js +15 -15
  763. package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +15 -15
  764. package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +15 -15
  765. package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +15 -15
  766. package/es/PRIVATE_ThemedIcons/CheckIcon.js +15 -15
  767. package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +15 -15
  768. package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +15 -15
  769. package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +15 -15
  770. package/es/PRIVATE_ThemedIcons/CloseIcon.js +15 -15
  771. package/es/PRIVATE_ThemedIcons/CollapseIcon.js +16 -16
  772. package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +15 -15
  773. package/es/PRIVATE_ThemedIcons/DecrementIcon.js +15 -15
  774. package/es/PRIVATE_ThemedIcons/DeleteIcon.js +15 -15
  775. package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +16 -16
  776. package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +16 -16
  777. package/es/PRIVATE_ThemedIcons/DragHandleIcon.js +15 -15
  778. package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +15 -15
  779. package/es/PRIVATE_ThemedIcons/ExpandIcon.js +15 -15
  780. package/es/PRIVATE_ThemedIcons/HelpIcon.js +15 -15
  781. package/es/PRIVATE_ThemedIcons/IncrementIcon.js +15 -15
  782. package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +15 -15
  783. package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +15 -15
  784. package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +15 -15
  785. package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +15 -15
  786. package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +15 -15
  787. package/es/PRIVATE_ThemedIcons/MinusIcon.js +15 -15
  788. package/es/PRIVATE_ThemedIcons/NavDownIcon.js +15 -15
  789. package/es/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +15 -15
  790. package/es/PRIVATE_ThemedIcons/PlusIcon.js +15 -15
  791. package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +15 -15
  792. package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +15 -15
  793. package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +15 -15
  794. package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +15 -15
  795. package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +15 -15
  796. package/es/PRIVATE_ThemedIcons/ViewIcon.js +15 -15
  797. package/es/PRIVATE_TimeComponent.js +20 -20
  798. package/es/PRIVATE_VisOverview.js +15 -15
  799. package/es/PRIVATE_VisTabularDatatip.js +4 -4
  800. package/es/PictoChart-9624c62e.js +744 -0
  801. package/es/PictoChart-9624c62e.js.map +1 -0
  802. package/es/PieChart-87a2913f.js +6 -6
  803. package/es/Popup-f6774b40.js +258 -0
  804. package/es/Popup-f6774b40.js.map +1 -0
  805. package/es/ProgressBar-6d816723.js +62 -0
  806. package/es/ProgressBar-6d816723.js.map +1 -0
  807. package/es/ProgressButton-bb52347a.js +56 -0
  808. package/es/ProgressButton-bb52347a.js.map +1 -0
  809. package/es/ProgressButtonLabelLayout-f1d097d6.js +3 -3
  810. package/es/ProgressCircle-bbcf67fd.js +48 -0
  811. package/es/ProgressCircle-bbcf67fd.js.map +1 -0
  812. package/es/RadioItem-81e9e082.js +113 -0
  813. package/es/RadioItem-81e9e082.js.map +1 -0
  814. package/es/RadioSet-d2820846.js +43 -0
  815. package/es/RadioSet-d2820846.js.map +1 -0
  816. package/es/RatingGauge-5e1e75b4.js +8 -8
  817. package/es/ReadonlyTextFieldInput-f407b86c.js +1 -1
  818. package/es/RemovableNavigationListItem-21cd36b7.js +25 -0
  819. package/es/RemovableNavigationListItem-21cd36b7.js.map +1 -0
  820. package/es/RemovableTabBarItem-60574a52.js +36 -0
  821. package/es/RemovableTabBarItem-60574a52.js.map +1 -0
  822. package/es/ReorderableTabBar-c280e7d4.js +77 -0
  823. package/es/ReorderableTabBar-c280e7d4.js.map +1 -0
  824. package/es/RevealToggleIcon-8e650973.js +26 -0
  825. package/es/RevealToggleIcon-8e650973.js.map +1 -0
  826. package/es/ScatterChart-1f818935.js +103 -0
  827. package/es/ScatterChart-1f818935.js.map +1 -0
  828. package/es/SectionalLegend-64670096.js +4 -4
  829. package/es/SectionedContent-48fa242f.js +64 -0
  830. package/es/SectionedContent-48fa242f.js.map +1 -0
  831. package/es/SelectMultiple-c7f9e747.js +1297 -0
  832. package/es/SelectMultiple-c7f9e747.js.map +1 -0
  833. package/es/SelectSingle-75270526.js +730 -0
  834. package/es/SelectSingle-75270526.js.map +1 -0
  835. package/es/SelectionCard-ce3012e8.js +16 -0
  836. package/es/SelectionCard-ce3012e8.js.map +1 -0
  837. package/es/Selector-41618991.js +1 -1
  838. package/es/SelectorAll-27744634.js +69 -0
  839. package/es/SelectorAll-27744634.js.map +1 -0
  840. package/es/Sheet-924cfdab.js +158 -0
  841. package/es/Sheet-924cfdab.js.map +1 -0
  842. package/es/SplitMenuButton-5cb6e8db.js +139 -0
  843. package/es/SplitMenuButton-5cb6e8db.js.map +1 -0
  844. package/es/SplitMenuButtonTheme.styles.css +4 -4
  845. package/es/SplitMenuButtonTheme.styles2.css +4 -4
  846. package/es/StyledCard-c8d9836f.js +105 -0
  847. package/es/StyledCard-c8d9836f.js.map +1 -0
  848. package/es/StyledLabelValueLayout-5b9a731a.js +18 -0
  849. package/es/StyledLabelValueLayout-5b9a731a.js.map +1 -0
  850. package/es/StyledTextField-6d6dd43e.js +3 -3
  851. package/es/TabBar-4d7054f7.js +82 -0
  852. package/es/TabBar-4d7054f7.js.map +1 -0
  853. package/es/TabBarItem-b97091e4.js +3 -3
  854. package/es/TabBarLayout-bb3f9f69.js +1 -1
  855. package/es/TabBarMixed-b8e2427c.js +83 -0
  856. package/es/TabBarMixed-b8e2427c.js.map +1 -0
  857. package/es/TabBarMixedSeparator-7669e2f0.js +19 -0
  858. package/es/TabBarMixedSeparator-7669e2f0.js.map +1 -0
  859. package/es/Table-b8c41429.js +5497 -0
  860. package/es/Table-b8c41429.js.map +1 -0
  861. package/es/TableView-2261b9de.js +31 -0
  862. package/es/TableView-2261b9de.js.map +1 -0
  863. package/es/TagCloud-0fe9b648.js +824 -0
  864. package/es/TagCloud-0fe9b648.js.map +1 -0
  865. package/es/TextArea-6584935d.js +177 -0
  866. package/es/TextArea-6584935d.js.map +1 -0
  867. package/es/TextAreaAutosize-2ca5256e.js +244 -0
  868. package/es/TextAreaAutosize-2ca5256e.js.map +1 -0
  869. package/es/TextField-500c0227.js +3 -3
  870. package/es/TextFieldInput-cb551f4e.js +1 -1
  871. package/es/Theme-redwood/theme.css +446 -446
  872. package/es/Theme-stable/theme.css +401 -401
  873. package/es/TimeComponentCanvas2D-a5baa5f6.js +568 -0
  874. package/es/TimeComponentCanvas2D-a5baa5f6.js.map +1 -0
  875. package/es/ToggleButton-c50ac048.js +28 -0
  876. package/es/ToggleButton-c50ac048.js.map +1 -0
  877. package/es/Toolbar-35426a1b.js +1 -1
  878. package/es/TruncatingBadge-69621d89.js +1 -1
  879. package/es/TruncatingText-fd66e0e0.js +1 -1
  880. package/es/UNSAFE_ActionCard.js +3 -3
  881. package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +44 -44
  882. package/es/UNSAFE_BarChart.js +44 -44
  883. package/es/UNSAFE_BaseButton.js +5 -5
  884. package/es/UNSAFE_Button.js +6 -6
  885. package/es/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +27 -27
  886. package/es/UNSAFE_ButtonSet.js +4 -4
  887. package/es/UNSAFE_ButtonSetButton.js +6 -6
  888. package/es/UNSAFE_ButtonSetIconButton.js +18 -18
  889. package/es/UNSAFE_ButtonSetItem.js +20 -20
  890. package/es/UNSAFE_ButtonSetMultiple.js +4 -4
  891. package/es/UNSAFE_ButtonSetSingle.js +4 -4
  892. package/es/UNSAFE_Card.js +5 -5
  893. package/es/UNSAFE_CardFlexView.js +21 -21
  894. package/es/UNSAFE_CardGridView.js +21 -21
  895. package/es/UNSAFE_Center.js +5 -5
  896. package/es/UNSAFE_Checkbox/themes/CheckboxStyles.css.js +1 -0
  897. package/es/UNSAFE_Checkbox/themes/CheckboxStyles.css.js.map +1 -1
  898. package/es/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js +1 -0
  899. package/es/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js.map +1 -1
  900. package/es/UNSAFE_Checkbox/themes/redwood/CheckboxVariants.css.js +1 -0
  901. package/es/UNSAFE_Checkbox/themes/redwood/CheckboxVariants.css.js.map +1 -1
  902. package/es/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js +1 -0
  903. package/es/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js.map +1 -1
  904. package/es/UNSAFE_Checkbox/themes/stable/CheckboxVariants.css.js +1 -0
  905. package/es/UNSAFE_Checkbox/themes/stable/CheckboxVariants.css.js.map +1 -1
  906. package/es/UNSAFE_Checkbox.js +31 -30
  907. package/es/UNSAFE_Checkbox.js.map +1 -1
  908. package/es/UNSAFE_CheckboxItem.js +28 -27
  909. package/es/UNSAFE_CheckboxItem.js.map +1 -1
  910. package/es/UNSAFE_CheckboxSet.js +32 -31
  911. package/es/UNSAFE_CheckboxSet.js.map +1 -1
  912. package/es/UNSAFE_Chip.js +2 -2
  913. package/es/UNSAFE_Collapsible.js +17 -17
  914. package/es/UNSAFE_ComboChart.js +46 -46
  915. package/es/UNSAFE_ComponentMessage.js +22 -22
  916. package/es/UNSAFE_ConveyorBelt.js +18 -18
  917. package/es/UNSAFE_DatePicker.js +30 -30
  918. package/es/UNSAFE_Diagram.js +27 -27
  919. package/es/UNSAFE_Dialog.js +24 -24
  920. package/es/UNSAFE_DragHandle.js +17 -17
  921. package/es/UNSAFE_DrawerLayout.js +12 -12
  922. package/es/UNSAFE_DrawerPopup.js +13 -13
  923. package/es/UNSAFE_Dropdown.js +13 -13
  924. package/es/UNSAFE_Environment.js +4 -4
  925. package/es/UNSAFE_ExpandableList.js +26 -26
  926. package/es/UNSAFE_FilePicker.js +4 -4
  927. package/es/UNSAFE_Flex.js +4 -4
  928. package/es/UNSAFE_Floating.js +11 -11
  929. package/es/UNSAFE_FormLayout.js +2 -2
  930. package/es/UNSAFE_Gantt.js +26 -26
  931. package/es/UNSAFE_Grid.js +4 -4
  932. package/es/UNSAFE_HighlightText.js +4 -4
  933. package/es/UNSAFE_Icon.js +15 -15
  934. package/es/UNSAFE_IconButton.js +18 -18
  935. package/es/UNSAFE_IconMenuButton.js +24 -24
  936. package/es/UNSAFE_IconProgressButton.js +21 -21
  937. package/es/UNSAFE_IconToggleButton.js +18 -18
  938. package/es/UNSAFE_Indexer.js +6 -6
  939. package/es/UNSAFE_InputDateMask.js +33 -33
  940. package/es/UNSAFE_InputDatePicker.js +119 -119
  941. package/es/UNSAFE_InputPassword.js +35 -35
  942. package/es/UNSAFE_InputSensitiveText.js +36 -36
  943. package/es/UNSAFE_InputText.js +36 -36
  944. package/es/UNSAFE_InputTimeMask.js +32 -32
  945. package/es/UNSAFE_Label.js +27 -27
  946. package/es/UNSAFE_LabelValueLayout.js +4 -4
  947. package/es/UNSAFE_LabelledLink.js +32 -32
  948. package/es/UNSAFE_Layer.js +8 -8
  949. package/es/UNSAFE_Legend.js +26 -26
  950. package/es/UNSAFE_LineAreaChart.js +46 -46
  951. package/es/UNSAFE_Link/themes/LinkStyles.css.js +1 -1
  952. package/es/UNSAFE_Link.js +4 -4
  953. package/es/UNSAFE_ListItemLayout.js +5 -5
  954. package/es/UNSAFE_ListView.js +28 -28
  955. package/es/UNSAFE_LiveRegion.js +4 -4
  956. package/es/UNSAFE_Menu.js +23 -23
  957. package/es/UNSAFE_MenuButton.js +24 -24
  958. package/es/UNSAFE_MessageBanner.js +22 -22
  959. package/es/UNSAFE_MessageToast.js +26 -26
  960. package/es/UNSAFE_MeterBar.js +16 -16
  961. package/es/UNSAFE_MeterCircle.js +17 -17
  962. package/es/UNSAFE_Modal.js +9 -9
  963. package/es/UNSAFE_NavigationList.js +45 -43
  964. package/es/UNSAFE_NavigationList.js.map +1 -1
  965. package/es/UNSAFE_NavigationListCommon.js +74 -73
  966. package/es/UNSAFE_NavigationListCommon.js.map +1 -1
  967. package/es/UNSAFE_NumberInputText.js +34 -34
  968. package/es/UNSAFE_OverflowTabBar.js +56 -54
  969. package/es/UNSAFE_OverflowTabBar.js.map +1 -1
  970. package/es/UNSAFE_PictoChart.js +17 -17
  971. package/es/UNSAFE_PieChart/__test__/PieChart.spec.js +22 -22
  972. package/es/UNSAFE_PieChart.js +22 -22
  973. package/es/UNSAFE_Popup.js +17 -17
  974. package/es/UNSAFE_ProgressBar.js +5 -5
  975. package/es/UNSAFE_ProgressButton.js +21 -21
  976. package/es/UNSAFE_ProgressButtonLabelLayout.js +10 -10
  977. package/es/UNSAFE_ProgressCircle.js +4 -4
  978. package/es/UNSAFE_RadioItem.js +27 -27
  979. package/es/UNSAFE_RadioSet.js +33 -32
  980. package/es/UNSAFE_RadioSet.js.map +1 -1
  981. package/es/UNSAFE_RatingGauge.js +17 -17
  982. package/es/UNSAFE_ReorderableTabBar.js +49 -38
  983. package/es/UNSAFE_ReorderableTabBar.js.map +1 -1
  984. package/es/UNSAFE_RichCheckboxSet.js +34 -33
  985. package/es/UNSAFE_RichCheckboxSet.js.map +1 -1
  986. package/es/UNSAFE_RichRadioSet.js +34 -33
  987. package/es/UNSAFE_RichRadioSet.js.map +1 -1
  988. package/es/UNSAFE_RichSelectionItem.js +20 -20
  989. package/es/UNSAFE_ScatterChart.js +46 -46
  990. package/es/UNSAFE_SectionalLegend.js +26 -26
  991. package/es/UNSAFE_SelectMultiple.js +42 -42
  992. package/es/UNSAFE_SelectSingle.js +41 -41
  993. package/es/UNSAFE_SelectionCard.js +5 -5
  994. package/es/UNSAFE_Selector.js +15 -15
  995. package/es/UNSAFE_SelectorAll.js +19 -19
  996. package/es/UNSAFE_Sheet/__test__/Sheet.spec.js +18 -18
  997. package/es/UNSAFE_Sheet.js +12 -12
  998. package/es/UNSAFE_SplitMenuButton/themes/redwood/SplitMenuButtonTheme.css.js +1 -1
  999. package/es/UNSAFE_SplitMenuButton/themes/stable/SplitMenuButtonTheme.css.js +1 -1
  1000. package/es/UNSAFE_SplitMenuButton.js +25 -25
  1001. package/es/UNSAFE_TabBar.js +56 -54
  1002. package/es/UNSAFE_TabBar.js.map +1 -1
  1003. package/es/UNSAFE_TabBarCommon.js +48 -46
  1004. package/es/UNSAFE_TabBarCommon.js.map +1 -1
  1005. package/es/UNSAFE_TabBarMixed.js +66 -64
  1006. package/es/UNSAFE_TabBarMixed.js.map +1 -1
  1007. package/es/UNSAFE_TableView.js +29 -29
  1008. package/es/UNSAFE_TagCloud.js +27 -27
  1009. package/es/UNSAFE_TextArea.js +34 -34
  1010. package/es/UNSAFE_TextAreaAutosize.js +35 -35
  1011. package/es/UNSAFE_TextField.js +8 -8
  1012. package/es/UNSAFE_ToggleButton.js +6 -6
  1013. package/es/UNSAFE_Toolbar/tests/Toolbar.spec.js +29 -29
  1014. package/es/UNSAFE_Toolbar.js +4 -4
  1015. package/es/UNSAFE_Train.js +16 -16
  1016. package/es/UNSAFE_TruncatingBadge.js +16 -16
  1017. package/es/UNSAFE_TruncatingText.js +16 -16
  1018. package/es/UNSAFE_UserAssistance.js +30 -30
  1019. package/es/UNSAFE_View.js +7 -7
  1020. package/es/UNSAFE_VirtualizedListView.js +19 -19
  1021. package/es/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  1022. package/es/UNSAFE_VisProgressiveLoader.js +6 -6
  1023. package/es/UNSAFE_VisStatusMessage.js +6 -6
  1024. package/es/UNSAFE_WindowOverlay.js +4 -4
  1025. package/es/View-cf6dfd8e.js +167 -0
  1026. package/es/View-cf6dfd8e.js.map +1 -0
  1027. package/es/VisNoData-d6e475d8.js +32 -0
  1028. package/es/VisNoData-d6e475d8.js.map +1 -0
  1029. package/es/VisProgressiveLoader-36053d5a.js +51 -0
  1030. package/es/VisProgressiveLoader-36053d5a.js.map +1 -0
  1031. package/es/VisTabularDatatip-3497f5ff.js +24 -0
  1032. package/es/VisTabularDatatip-3497f5ff.js.map +1 -0
  1033. package/es/WindowOverlay-ca2baa48.js +110 -0
  1034. package/es/WindowOverlay-ca2baa48.js.map +1 -0
  1035. package/es/YearsGridView-2c978d9f.js +187 -0
  1036. package/es/YearsGridView-2c978d9f.js.map +1 -0
  1037. package/es/hoc/PRIVATE_withDirectionIcon.js +4 -4
  1038. package/es/hoc/PRIVATE_withThemeIcon.js +3 -3
  1039. package/es/hoc/UNSAFE_withThemeProps.js +3 -3
  1040. package/es/hooks/PRIVATE_useChartContextMenu.js +21 -21
  1041. package/es/hooks/PRIVATE_useChartDatatip.js +14 -14
  1042. package/es/hooks/PRIVATE_useChartEvents.js +20 -20
  1043. package/es/hooks/PRIVATE_useChartMarquee.js +25 -25
  1044. package/es/hooks/PRIVATE_useCssVars.js +7 -7
  1045. package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
  1046. package/es/hooks/PRIVATE_useDatatip.js +12 -12
  1047. package/es/hooks/PRIVATE_useFloating.js +4 -4
  1048. package/es/hooks/PRIVATE_useReorderable.js +5 -5
  1049. package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  1050. package/es/hooks/PRIVATE_useSelection.js +4 -4
  1051. package/es/hooks/PRIVATE_useTabBar.js +4 -4
  1052. package/es/hooks/PRIVATE_useTooltipOnTruncation.js +16 -16
  1053. package/es/hooks/PRIVATE_useVisContextMenu.js +21 -21
  1054. package/es/hooks/PRIVATE_useVisDragModeControls.js +24 -24
  1055. package/es/hooks/PRIVATE_useVisEvents.js +4 -4
  1056. package/es/hooks/PRIVATE_useVisMeterEvents.js +14 -14
  1057. package/es/hooks/PRIVATE_useVisSelection.js +15 -15
  1058. package/es/hooks/UNSAFE_useColorScheme.js +3 -3
  1059. package/es/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  1060. package/es/hooks/UNSAFE_useDensity.js +3 -3
  1061. package/es/hooks/UNSAFE_useOutsideClick.js +8 -8
  1062. package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  1063. package/es/hooks/UNSAFE_usePressClick.js +1 -1
  1064. package/es/hooks/UNSAFE_useScale.js +3 -3
  1065. package/es/hooks/UNSAFE_useTestId.js +3 -3
  1066. package/es/hooks/UNSAFE_useTheme.js +3 -3
  1067. package/es/hooks/UNSAFE_useThemeInterpolations.js +6 -6
  1068. package/es/hooks/UNSAFE_useTooltip.js +16 -16
  1069. package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
  1070. package/es/hooks/UNSAFE_useUser.js +3 -3
  1071. package/es/index-3fdaba9a.js +11 -0
  1072. package/es/index-3fdaba9a.js.map +1 -0
  1073. package/es/listViewSelectionTests-d1f64e6f.js +3 -3
  1074. package/es/popupUtils-24a723a0.js +29 -0
  1075. package/es/popupUtils-24a723a0.js.map +1 -0
  1076. package/es/render-4d96f0d2.js +34 -0
  1077. package/es/render-4d96f0d2.js.map +1 -0
  1078. package/es/tabbableUtils-070beeed.js +79 -0
  1079. package/es/tabbableUtils-070beeed.js.map +1 -0
  1080. package/es/testData-e1df8616.js +256 -0
  1081. package/es/testData-e1df8616.js.map +1 -0
  1082. package/es/tooltipUtils-35655bd6.js +93 -0
  1083. package/es/tooltipUtils-35655bd6.js.map +1 -0
  1084. package/es/useCellNavigation-bdb3248d.js +121 -0
  1085. package/es/useCellNavigation-bdb3248d.js.map +1 -0
  1086. package/es/useChartContextMenu-61fe46b8.js +2 -2
  1087. package/es/useChartDatatip-b0d35cfe.js +165 -0
  1088. package/es/useChartDatatip-b0d35cfe.js.map +1 -0
  1089. package/es/useChartMarquee-7cd47205.js +293 -0
  1090. package/es/useChartMarquee-7cd47205.js.map +1 -0
  1091. package/es/useColorScheme-8e5e458d.js +19 -0
  1092. package/es/useColorScheme-8e5e458d.js.map +1 -0
  1093. package/es/useContextMenu-3c62d9eb.js +2 -2
  1094. package/es/useCssVars-608cb842.js +58 -0
  1095. package/es/useCssVars-608cb842.js.map +1 -0
  1096. package/es/useCurrentBgColor-ee671513.js +19 -0
  1097. package/es/useCurrentBgColor-ee671513.js.map +1 -0
  1098. package/es/useCurrentKey-b8e62707.js +81 -0
  1099. package/es/useCurrentKey-b8e62707.js.map +1 -0
  1100. package/es/useDatatip-daec4346.js +90 -0
  1101. package/es/useDatatip-daec4346.js.map +1 -0
  1102. package/es/useDensity-556ca8b2.js +19 -0
  1103. package/es/useDensity-556ca8b2.js.map +1 -0
  1104. package/es/useFloating-abfd69eb.js +1916 -0
  1105. package/es/useFloating-abfd69eb.js.map +1 -0
  1106. package/es/useKeyboardEvents-7202253d.js +78 -0
  1107. package/es/useKeyboardEvents-7202253d.js.map +1 -0
  1108. package/es/useLegendContextMenu-66d6eb7e.js +4 -4
  1109. package/es/useMeterDatatip-dcd2a05e.js +73 -0
  1110. package/es/useMeterDatatip-dcd2a05e.js.map +1 -0
  1111. package/es/useNavigationListItem-a28f2c34.js +81 -0
  1112. package/es/useNavigationListItem-a28f2c34.js.map +1 -0
  1113. package/es/useOutsideClick-817bf098.js +101 -0
  1114. package/es/useOutsideClick-817bf098.js.map +1 -0
  1115. package/es/usePopupAnimation-6e0781b5.js +85 -0
  1116. package/es/usePopupAnimation-6e0781b5.js.map +1 -0
  1117. package/es/usePrefixSuffix-0874343c.js +70 -0
  1118. package/es/usePrefixSuffix-0874343c.js.map +1 -0
  1119. package/es/usePressClick-945cc43b.js +39 -0
  1120. package/es/usePressClick-945cc43b.js.map +1 -0
  1121. package/es/useReorderableItem-99a9dbce.js +268 -0
  1122. package/es/useReorderableItem-99a9dbce.js.map +1 -0
  1123. package/es/useRovingTabIndexContainer-f7972085.js +98 -0
  1124. package/es/useRovingTabIndexContainer-f7972085.js.map +1 -0
  1125. package/es/useScale-1cdb639e.js +19 -0
  1126. package/es/useScale-1cdb639e.js.map +1 -0
  1127. package/es/useSelectCommon-896b594a.js +686 -0
  1128. package/es/useSelectCommon-896b594a.js.map +1 -0
  1129. package/es/useSelectDrill-5525e5a3.js +104 -0
  1130. package/es/useSelectDrill-5525e5a3.js.map +1 -0
  1131. package/es/useSelection-2d26ab04.js +239 -0
  1132. package/es/useSelection-2d26ab04.js.map +1 -0
  1133. package/es/useSelection-8be05a70.js +186 -0
  1134. package/es/useSelection-8be05a70.js.map +1 -0
  1135. package/es/useTabBar-cbac0c2e.js +1 -1
  1136. package/es/useTestId-474ac6ca.js +21 -0
  1137. package/es/useTestId-474ac6ca.js.map +1 -0
  1138. package/es/useTheme-5aa36f52.js +19 -0
  1139. package/es/useTheme-5aa36f52.js.map +1 -0
  1140. package/es/useThemeInterpolations-05e58770.js +57 -0
  1141. package/es/useThemeInterpolations-05e58770.js.map +1 -0
  1142. package/es/useTooltip-138c94ee.js +424 -0
  1143. package/es/useTooltip-138c94ee.js.map +1 -0
  1144. package/es/useTooltipOnTruncation-a97211b6.js +27 -0
  1145. package/es/useTooltipOnTruncation-a97211b6.js.map +1 -0
  1146. package/es/useTranslationBundle-2df40edf.js +29 -0
  1147. package/es/useTranslationBundle-2df40edf.js.map +1 -0
  1148. package/es/useUser-6b2e271a.js +19 -0
  1149. package/es/useUser-6b2e271a.js.map +1 -0
  1150. package/es/useVisDragModeControls-ed260d12.js +87 -0
  1151. package/es/useVisDragModeControls-ed260d12.js.map +1 -0
  1152. package/es/useVisEvents-d8652100.js +153 -0
  1153. package/es/useVisEvents-d8652100.js.map +1 -0
  1154. package/es/utils/PRIVATE_tooltipUtils.js +14 -14
  1155. package/es/utils/PRIVATE_visTestUtils.js +6 -6
  1156. package/es/utils/UNSAFE_popupUtils.js +8 -8
  1157. package/es/withDirectionIcon-fe0b69a7.js +14 -0
  1158. package/es/withDirectionIcon-fe0b69a7.js.map +1 -0
  1159. package/es/withThemeProps-1621f692.js +2 -2
  1160. package/package.json +2 -2
  1161. package/types/UNSAFE_DatePicker/useCellNavigation.d.ts +0 -1
  1162. package/types/UNSAFE_Link/themes/LinkStyles.css.d.ts +2 -1
  1163. package/types/UNSAFE_Link/themes/redwood/LinkVariants.css.d.ts +2 -1
  1164. package/types/UNSAFE_Link/themes/stable/LinkVariants.css.d.ts +2 -1
  1165. package/types/hooks/UNSAFE_useLegendPreferredSize/LegendRendered.d.ts +1 -1
  1166. package/types/hooks/UNSAFE_usePressClick/usePressClick.d.ts +1 -0
  1167. package/amd/BarChart-1be56919.js +0 -2
  1168. package/amd/BarChart-1be56919.js.map +0 -1
  1169. package/amd/BaseButton-771c5db8.js +0 -2
  1170. package/amd/BaseButton-771c5db8.js.map +0 -1
  1171. package/amd/BaseCardView-4f88499c.js +0 -2
  1172. package/amd/BaseCardView-4f88499c.js.map +0 -1
  1173. package/amd/BaseCardViewSelectionTest-adaca8ca.js +0 -2
  1174. package/amd/BaseCardViewSelectionTest-adaca8ca.js.map +0 -1
  1175. package/amd/BaseRichSelection-eb93f0e2.js +0 -2
  1176. package/amd/BaseRichSelection-eb93f0e2.js.map +0 -1
  1177. package/amd/Button-af88bb81.js +0 -2
  1178. package/amd/Button-af88bb81.js.map +0 -1
  1179. package/amd/ButtonSetButton-00612cdd.js +0 -2
  1180. package/amd/ButtonSetButton-00612cdd.js.map +0 -1
  1181. package/amd/ButtonSetIconButton-d0684966.js +0 -2
  1182. package/amd/ButtonSetIconButton-d0684966.js.map +0 -1
  1183. package/amd/ButtonSetItem-1d88a72d.js +0 -2
  1184. package/amd/ButtonSetItem-1d88a72d.js.map +0 -1
  1185. package/amd/CardFlexView-86cb369a.js +0 -2
  1186. package/amd/CardFlexView-86cb369a.js.map +0 -1
  1187. package/amd/CardGridView-b3f11290.js +0 -2
  1188. package/amd/CardGridView-b3f11290.js.map +0 -1
  1189. package/amd/Chart-0a3205dd.js +0 -2
  1190. package/amd/Chart-0a3205dd.js.map +0 -1
  1191. package/amd/Checkbox-3a25138e.js +0 -2
  1192. package/amd/Checkbox-3a25138e.js.map +0 -1
  1193. package/amd/CheckboxControl-232e227d.js +0 -2
  1194. package/amd/CheckboxControl-232e227d.js.map +0 -1
  1195. package/amd/CheckboxRadioField-9b73f66b.js +0 -2
  1196. package/amd/CheckboxRadioField-9b73f66b.js.map +0 -1
  1197. package/amd/CheckboxSetContext-2e486ea8.js +0 -2
  1198. package/amd/CheckboxSetContext-2e486ea8.js.map +0 -1
  1199. package/amd/ClearIcon-f1befe37.js +0 -2
  1200. package/amd/ClearIcon-f1befe37.js.map +0 -1
  1201. package/amd/ComboChart-5dba7db4.js +0 -2
  1202. package/amd/ComboChart-5dba7db4.js.map +0 -1
  1203. package/amd/CompactUserAssistance-f962b357.js +0 -2
  1204. package/amd/CompactUserAssistance-f962b357.js.map +0 -1
  1205. package/amd/ComponentMessageContainer-13e53260.js +0 -2
  1206. package/amd/ComponentMessageContainer-13e53260.js.map +0 -1
  1207. package/amd/ConveyorBeltItem-1dfb412e.js +0 -2
  1208. package/amd/ConveyorBeltItem-1dfb412e.js.map +0 -1
  1209. package/amd/DatePicker-b907fb97.js +0 -2
  1210. package/amd/DatePicker-b907fb97.js.map +0 -1
  1211. package/amd/DatePickerHeader-d95959a6.js +0 -2
  1212. package/amd/DatePickerHeader-d95959a6.js.map +0 -1
  1213. package/amd/Diagram-92f409e0.js +0 -2
  1214. package/amd/Diagram-92f409e0.js.map +0 -1
  1215. package/amd/Dialog-b9dd8533.js +0 -2
  1216. package/amd/Dialog-b9dd8533.js.map +0 -1
  1217. package/amd/EmbeddedIconButton-8635fed8.js +0 -2
  1218. package/amd/EmbeddedIconButton-8635fed8.js.map +0 -1
  1219. package/amd/ExpandableList-c372fe68.js +0 -2
  1220. package/amd/ExpandableList-c372fe68.js.map +0 -1
  1221. package/amd/Gantt-f6a53a90.js +0 -2
  1222. package/amd/Gantt-f6a53a90.js.map +0 -1
  1223. package/amd/IconButton-05c6b793.js +0 -2
  1224. package/amd/IconButton-05c6b793.js.map +0 -1
  1225. package/amd/IconMenuButton-82a7258c.js +0 -2
  1226. package/amd/IconMenuButton-82a7258c.js.map +0 -1
  1227. package/amd/IconProgressButton-3bff5384.js +0 -2
  1228. package/amd/IconProgressButton-3bff5384.js.map +0 -1
  1229. package/amd/IconSwitchButton-faf2b405.js +0 -2
  1230. package/amd/IconSwitchButton-faf2b405.js.map +0 -1
  1231. package/amd/IconToggleButton-d5112634.js +0 -2
  1232. package/amd/IconToggleButton-d5112634.js.map +0 -1
  1233. package/amd/Indexer-510aaf3a.js +0 -2
  1234. package/amd/Indexer-510aaf3a.js.map +0 -1
  1235. package/amd/InlineUserAssistance-3d3e72a9.js +0 -2
  1236. package/amd/InlineUserAssistance-3d3e72a9.js.map +0 -1
  1237. package/amd/InputDateMask-55fcbf50.js +0 -2
  1238. package/amd/InputDateMask-55fcbf50.js.map +0 -1
  1239. package/amd/InputDatePicker-cf7e7ea3.js +0 -2
  1240. package/amd/InputDatePicker-cf7e7ea3.js.map +0 -1
  1241. package/amd/InputPassword-61090b77.js +0 -2
  1242. package/amd/InputPassword-61090b77.js.map +0 -1
  1243. package/amd/InputText-32954a14.js +0 -2
  1244. package/amd/InputText-32954a14.js.map +0 -1
  1245. package/amd/Label-7cbbe3b7.js +0 -2
  1246. package/amd/Label-7cbbe3b7.js.map +0 -1
  1247. package/amd/Legend-76df298c.js +0 -2
  1248. package/amd/Legend-76df298c.js.map +0 -1
  1249. package/amd/LineAreaChart-190b3d46.js +0 -2
  1250. package/amd/LineAreaChart-190b3d46.js.map +0 -1
  1251. package/amd/Link-2dae4de2.js +0 -2
  1252. package/amd/Link-2dae4de2.js.map +0 -1
  1253. package/amd/List-37e37948.js +0 -2
  1254. package/amd/List-37e37948.js.map +0 -1
  1255. package/amd/ListView-325e1814.js +0 -2
  1256. package/amd/ListView-325e1814.js.map +0 -1
  1257. package/amd/LoadMoreCollection-83413a59.js +0 -2
  1258. package/amd/LoadMoreCollection-83413a59.js.map +0 -1
  1259. package/amd/MenuButton-233a631a.js +0 -2
  1260. package/amd/MenuButton-233a631a.js.map +0 -1
  1261. package/amd/Message-40182dfc.js +0 -2
  1262. package/amd/Message-40182dfc.js.map +0 -1
  1263. package/amd/MessageToast-236687bd.js +0 -2
  1264. package/amd/MessageToast-236687bd.js.map +0 -1
  1265. package/amd/MonthView-c8a6ab15.js +0 -2
  1266. package/amd/MonthView-c8a6ab15.js.map +0 -1
  1267. package/amd/NumberInputText-91b73dcb.js +0 -2
  1268. package/amd/NumberInputText-91b73dcb.js.map +0 -1
  1269. package/amd/OverflowTabBar-ef21bcd3.js +0 -2
  1270. package/amd/OverflowTabBar-ef21bcd3.js.map +0 -1
  1271. package/amd/OverflowTabBarItem-db77f3d3.js +0 -2
  1272. package/amd/OverflowTabBarItem-db77f3d3.js.map +0 -1
  1273. package/amd/PictoChart-d5bedf82.js +0 -2
  1274. package/amd/PictoChart-d5bedf82.js.map +0 -1
  1275. package/amd/ProgressButton-e30c909b.js +0 -2
  1276. package/amd/ProgressButton-e30c909b.js.map +0 -1
  1277. package/amd/RadioItem-7ebada33.js +0 -2
  1278. package/amd/RadioItem-7ebada33.js.map +0 -1
  1279. package/amd/RadioSet-5e4b6669.js +0 -2
  1280. package/amd/RadioSet-5e4b6669.js.map +0 -1
  1281. package/amd/RemovableNavigationListItem-9950c473.js +0 -2
  1282. package/amd/RemovableNavigationListItem-9950c473.js.map +0 -1
  1283. package/amd/RemovableTabBarItem-fcada993.js +0 -2
  1284. package/amd/RemovableTabBarItem-fcada993.js.map +0 -1
  1285. package/amd/RevealToggleIcon-411d7a73.js +0 -2
  1286. package/amd/RevealToggleIcon-411d7a73.js.map +0 -1
  1287. package/amd/ScatterChart-3f6024a2.js +0 -2
  1288. package/amd/ScatterChart-3f6024a2.js.map +0 -1
  1289. package/amd/SelectMultiple-d3196bcd.js +0 -2
  1290. package/amd/SelectMultiple-d3196bcd.js.map +0 -1
  1291. package/amd/SelectSingle-007ab01c.js +0 -2
  1292. package/amd/SelectSingle-007ab01c.js.map +0 -1
  1293. package/amd/SplitMenuButton-65acf4d4.js +0 -2
  1294. package/amd/SplitMenuButton-65acf4d4.js.map +0 -1
  1295. package/amd/Table-52c72d48.js +0 -2
  1296. package/amd/Table-52c72d48.js.map +0 -1
  1297. package/amd/TableView-dc0766a7.js +0 -2
  1298. package/amd/TableView-dc0766a7.js.map +0 -1
  1299. package/amd/TagCloud-6afc73f7.js +0 -2
  1300. package/amd/TagCloud-6afc73f7.js.map +0 -1
  1301. package/amd/TextArea-d69acd23.js +0 -2
  1302. package/amd/TextArea-d69acd23.js.map +0 -1
  1303. package/amd/TextAreaAutosize-b7e56051.js +0 -2
  1304. package/amd/TextAreaAutosize-b7e56051.js.map +0 -1
  1305. package/amd/TimeComponentCanvas2D-27e55de9.js +0 -2
  1306. package/amd/TimeComponentCanvas2D-27e55de9.js.map +0 -1
  1307. package/amd/ToggleButton-a999647d.js +0 -2
  1308. package/amd/ToggleButton-a999647d.js.map +0 -1
  1309. package/amd/VirtualizedCollection-897516a5.js +0 -2
  1310. package/amd/VirtualizedCollection-897516a5.js.map +0 -1
  1311. package/amd/VirtualizedListView-0b9e1c53.js +0 -2
  1312. package/amd/VirtualizedListView-0b9e1c53.js.map +0 -1
  1313. package/amd/YearsGridView-c09d1d19.js +0 -2
  1314. package/amd/YearsGridView-c09d1d19.js.map +0 -1
  1315. package/amd/useCellNavigation-47060bc3.js +0 -2
  1316. package/amd/useCellNavigation-47060bc3.js.map +0 -1
  1317. package/amd/useChartMarquee-8ce16d57.js +0 -2
  1318. package/amd/useChartMarquee-8ce16d57.js.map +0 -1
  1319. package/amd/usePressClick-b7b38da2.js +0 -2
  1320. package/amd/usePressClick-b7b38da2.js.map +0 -1
  1321. package/amd/useSelectCommon-fd0e7664.js +0 -2
  1322. package/amd/useSelectCommon-fd0e7664.js.map +0 -1
  1323. package/amd/useSelectDrill-332195a7.js +0 -2
  1324. package/amd/useSelectDrill-332195a7.js.map +0 -1
  1325. package/amd/useSelection-04d131fa.js +0 -2
  1326. package/amd/useSelection-04d131fa.js.map +0 -1
  1327. package/amd/useVisDragModeControls-69001c64.js +0 -2
  1328. package/amd/useVisDragModeControls-69001c64.js.map +0 -1
  1329. package/cjs/BarChart-fae84003.js +0 -181
  1330. package/cjs/BarChart-fae84003.js.map +0 -1
  1331. package/cjs/BaseButton-97ec7696.js +0 -174
  1332. package/cjs/BaseButton-97ec7696.js.map +0 -1
  1333. package/cjs/BaseCardView-0be36db0.js +0 -687
  1334. package/cjs/BaseCardView-0be36db0.js.map +0 -1
  1335. package/cjs/BaseCardViewSelectionTest-d91b3015.js +0 -734
  1336. package/cjs/BaseCardViewSelectionTest-d91b3015.js.map +0 -1
  1337. package/cjs/BaseRichSelection-e2a38380.js +0 -344
  1338. package/cjs/BaseRichSelection-e2a38380.js.map +0 -1
  1339. package/cjs/Button-371573d5.js +0 -24
  1340. package/cjs/Button-371573d5.js.map +0 -1
  1341. package/cjs/ButtonSetButton-c6621073.js +0 -35
  1342. package/cjs/ButtonSetButton-c6621073.js.map +0 -1
  1343. package/cjs/ButtonSetIconButton-8645f3a5.js +0 -42
  1344. package/cjs/ButtonSetIconButton-8645f3a5.js.map +0 -1
  1345. package/cjs/ButtonSetItem-aa4211b4.js +0 -67
  1346. package/cjs/ButtonSetItem-aa4211b4.js.map +0 -1
  1347. package/cjs/CardFlexView-2547fc13.js +0 -29
  1348. package/cjs/CardFlexView-2547fc13.js.map +0 -1
  1349. package/cjs/CardGridView-c355e9d4.js +0 -17
  1350. package/cjs/CardGridView-c355e9d4.js.map +0 -1
  1351. package/cjs/Chart-b79289a8.js +0 -493
  1352. package/cjs/Chart-b79289a8.js.map +0 -1
  1353. package/cjs/Checkbox-5bfd221f.js +0 -106
  1354. package/cjs/Checkbox-5bfd221f.js.map +0 -1
  1355. package/cjs/CheckboxControl-3be46530.js +0 -111
  1356. package/cjs/CheckboxControl-3be46530.js.map +0 -1
  1357. package/cjs/CheckboxRadioField-037cddb9.js +0 -185
  1358. package/cjs/CheckboxRadioField-037cddb9.js.map +0 -1
  1359. package/cjs/CheckboxSet-abbf7a03.js +0 -53
  1360. package/cjs/CheckboxSet-abbf7a03.js.map +0 -1
  1361. package/cjs/ClearIcon-02e093be.js +0 -23
  1362. package/cjs/ClearIcon-02e093be.js.map +0 -1
  1363. package/cjs/ComboChart-e17d5863.js +0 -174
  1364. package/cjs/ComboChart-e17d5863.js.map +0 -1
  1365. package/cjs/CompactUserAssistance-b3c3929e.js +0 -49
  1366. package/cjs/CompactUserAssistance-b3c3929e.js.map +0 -1
  1367. package/cjs/ComponentMessageContainer-1cea67f6.js +0 -71
  1368. package/cjs/ComponentMessageContainer-1cea67f6.js.map +0 -1
  1369. package/cjs/ConveyorBeltItem-2577c86d.js +0 -641
  1370. package/cjs/ConveyorBeltItem-2577c86d.js.map +0 -1
  1371. package/cjs/DatePicker-c770df48.js +0 -566
  1372. package/cjs/DatePicker-c770df48.js.map +0 -1
  1373. package/cjs/DatePickerHeader-da8173f7.js +0 -46
  1374. package/cjs/DatePickerHeader-da8173f7.js.map +0 -1
  1375. package/cjs/Diagram-c4064fd7.js +0 -2037
  1376. package/cjs/Diagram-c4064fd7.js.map +0 -1
  1377. package/cjs/Dialog-c6c8024c.js +0 -346
  1378. package/cjs/Dialog-c6c8024c.js.map +0 -1
  1379. package/cjs/EmbeddedIconButton-89616e5f.js +0 -13
  1380. package/cjs/EmbeddedIconButton-89616e5f.js.map +0 -1
  1381. package/cjs/ExpandableList-d1823448.js +0 -169
  1382. package/cjs/ExpandableList-d1823448.js.map +0 -1
  1383. package/cjs/Gantt-674a89f8.js +0 -3819
  1384. package/cjs/Gantt-674a89f8.js.map +0 -1
  1385. package/cjs/IconButton-e7a68b4b.js +0 -39
  1386. package/cjs/IconButton-e7a68b4b.js.map +0 -1
  1387. package/cjs/IconMenuButton-3e540f38.js +0 -58
  1388. package/cjs/IconMenuButton-3e540f38.js.map +0 -1
  1389. package/cjs/IconProgressButton-3aa70c31.js +0 -49
  1390. package/cjs/IconProgressButton-3aa70c31.js.map +0 -1
  1391. package/cjs/IconSwitchButton-6bab813f.js +0 -46
  1392. package/cjs/IconSwitchButton-6bab813f.js.map +0 -1
  1393. package/cjs/IconToggleButton-7ec8c084.js +0 -45
  1394. package/cjs/IconToggleButton-7ec8c084.js.map +0 -1
  1395. package/cjs/Indexer-099ecbad.js +0 -339
  1396. package/cjs/Indexer-099ecbad.js.map +0 -1
  1397. package/cjs/InlineUserAssistance-5d6bac7a.js +0 -85
  1398. package/cjs/InlineUserAssistance-5d6bac7a.js.map +0 -1
  1399. package/cjs/InputDateMask-946f6dfa.js +0 -1060
  1400. package/cjs/InputDateMask-946f6dfa.js.map +0 -1
  1401. package/cjs/InputDatePicker-6c8cbbf7.js +0 -309
  1402. package/cjs/InputDatePicker-6c8cbbf7.js.map +0 -1
  1403. package/cjs/InputPassword-564260d2.js +0 -157
  1404. package/cjs/InputPassword-564260d2.js.map +0 -1
  1405. package/cjs/InputText-a9d46813.js +0 -199
  1406. package/cjs/InputText-a9d46813.js.map +0 -1
  1407. package/cjs/Label-2e05c87f.js +0 -85
  1408. package/cjs/Label-2e05c87f.js.map +0 -1
  1409. package/cjs/Legend-743ebb76.js +0 -304
  1410. package/cjs/Legend-743ebb76.js.map +0 -1
  1411. package/cjs/LineAreaChart-523ae108.js +0 -172
  1412. package/cjs/LineAreaChart-523ae108.js.map +0 -1
  1413. package/cjs/Link-a829e7f1.js +0 -35
  1414. package/cjs/Link-a829e7f1.js.map +0 -1
  1415. package/cjs/List-24abb3df.js +0 -722
  1416. package/cjs/List-24abb3df.js.map +0 -1
  1417. package/cjs/ListView-7e894199.js +0 -430
  1418. package/cjs/ListView-7e894199.js.map +0 -1
  1419. package/cjs/LoadMoreCollection-69bc038c.js +0 -34
  1420. package/cjs/LoadMoreCollection-69bc038c.js.map +0 -1
  1421. package/cjs/MenuButton-b811e5e4.js +0 -63
  1422. package/cjs/MenuButton-b811e5e4.js.map +0 -1
  1423. package/cjs/Message-d1d5538e.js +0 -208
  1424. package/cjs/Message-d1d5538e.js.map +0 -1
  1425. package/cjs/MessageToast-9154f05f.js +0 -243
  1426. package/cjs/MessageToast-9154f05f.js.map +0 -1
  1427. package/cjs/MonthView-35623a0e.js +0 -210
  1428. package/cjs/MonthView-35623a0e.js.map +0 -1
  1429. package/cjs/NavigationListItem-9b3d3258.js +0 -153
  1430. package/cjs/NavigationListItem-9b3d3258.js.map +0 -1
  1431. package/cjs/NumberInputText-6032717d.js +0 -223
  1432. package/cjs/NumberInputText-6032717d.js.map +0 -1
  1433. package/cjs/OverflowTabBar-794b4c93.js +0 -71
  1434. package/cjs/OverflowTabBar-794b4c93.js.map +0 -1
  1435. package/cjs/OverflowTabBarItem-43956479.js +0 -88
  1436. package/cjs/OverflowTabBarItem-43956479.js.map +0 -1
  1437. package/cjs/PictoChart-b650c050.js +0 -747
  1438. package/cjs/PictoChart-b650c050.js.map +0 -1
  1439. package/cjs/ProgressButton-1a01d49b.js +0 -58
  1440. package/cjs/ProgressButton-1a01d49b.js.map +0 -1
  1441. package/cjs/RadioItem-68304596.js +0 -115
  1442. package/cjs/RadioItem-68304596.js.map +0 -1
  1443. package/cjs/RadioSet-a16f664b.js +0 -45
  1444. package/cjs/RadioSet-a16f664b.js.map +0 -1
  1445. package/cjs/RemovableNavigationListItem-b13b3516.js +0 -26
  1446. package/cjs/RemovableNavigationListItem-b13b3516.js.map +0 -1
  1447. package/cjs/RemovableTabBarItem-e71b7be3.js +0 -38
  1448. package/cjs/RemovableTabBarItem-e71b7be3.js.map +0 -1
  1449. package/cjs/RevealToggleIcon-06b0b035.js +0 -28
  1450. package/cjs/RevealToggleIcon-06b0b035.js.map +0 -1
  1451. package/cjs/ScatterChart-bd2e0ebb.js +0 -105
  1452. package/cjs/ScatterChart-bd2e0ebb.js.map +0 -1
  1453. package/cjs/SelectMultiple-0d809f25.js +0 -1299
  1454. package/cjs/SelectMultiple-0d809f25.js.map +0 -1
  1455. package/cjs/SelectSingle-f5dd375a.js +0 -732
  1456. package/cjs/SelectSingle-f5dd375a.js.map +0 -1
  1457. package/cjs/SplitMenuButton-e7fd9b79.js +0 -141
  1458. package/cjs/SplitMenuButton-e7fd9b79.js.map +0 -1
  1459. package/cjs/Table-65e94df9.js +0 -5499
  1460. package/cjs/Table-65e94df9.js.map +0 -1
  1461. package/cjs/TableView-dfc37f9f.js +0 -33
  1462. package/cjs/TableView-dfc37f9f.js.map +0 -1
  1463. package/cjs/TagCloud-0aee2c72.js +0 -826
  1464. package/cjs/TagCloud-0aee2c72.js.map +0 -1
  1465. package/cjs/TextArea-f4a84aab.js +0 -180
  1466. package/cjs/TextArea-f4a84aab.js.map +0 -1
  1467. package/cjs/TextAreaAutosize-08ca17cf.js +0 -246
  1468. package/cjs/TextAreaAutosize-08ca17cf.js.map +0 -1
  1469. package/cjs/TimeComponentCanvas2D-e6be22d4.js +0 -591
  1470. package/cjs/TimeComponentCanvas2D-e6be22d4.js.map +0 -1
  1471. package/cjs/ToggleButton-8ac0ff29.js +0 -30
  1472. package/cjs/ToggleButton-8ac0ff29.js.map +0 -1
  1473. package/cjs/VirtualizedCollection-9e8c48b9.js +0 -180
  1474. package/cjs/VirtualizedCollection-9e8c48b9.js.map +0 -1
  1475. package/cjs/VirtualizedListView-0a4f07ca.js +0 -16
  1476. package/cjs/VirtualizedListView-0a4f07ca.js.map +0 -1
  1477. package/cjs/YearsGridView-83c7e684.js +0 -190
  1478. package/cjs/YearsGridView-83c7e684.js.map +0 -1
  1479. package/cjs/useCellNavigation-7a24d0c0.js +0 -129
  1480. package/cjs/useCellNavigation-7a24d0c0.js.map +0 -1
  1481. package/cjs/useChartMarquee-7c09d6ef.js +0 -295
  1482. package/cjs/useChartMarquee-7c09d6ef.js.map +0 -1
  1483. package/cjs/usePressClick-421494df.js +0 -33
  1484. package/cjs/usePressClick-421494df.js.map +0 -1
  1485. package/cjs/useSelectCommon-d593ef26.js +0 -709
  1486. package/cjs/useSelectCommon-d593ef26.js.map +0 -1
  1487. package/cjs/useSelectDrill-ddca7003.js +0 -107
  1488. package/cjs/useSelectDrill-ddca7003.js.map +0 -1
  1489. package/cjs/useSelection-810ecdc6.js +0 -188
  1490. package/cjs/useSelection-810ecdc6.js.map +0 -1
  1491. package/cjs/useVisDragModeControls-388926ea.js +0 -89
  1492. package/cjs/useVisDragModeControls-388926ea.js.map +0 -1
  1493. package/es/BarChart-bbc688ef.js +0 -179
  1494. package/es/BarChart-bbc688ef.js.map +0 -1
  1495. package/es/BaseButton-a0534b4d.js +0 -172
  1496. package/es/BaseButton-a0534b4d.js.map +0 -1
  1497. package/es/BaseCardViewSelectionTest-2e5f019a.js +0 -721
  1498. package/es/BaseCardViewSelectionTest-2e5f019a.js.map +0 -1
  1499. package/es/BaseNavigationListItem-af84a9ee.js +0 -119
  1500. package/es/BaseNavigationListItem-af84a9ee.js.map +0 -1
  1501. package/es/BaseRichSelection-9f2f2b59.js +0 -342
  1502. package/es/BaseRichSelection-9f2f2b59.js.map +0 -1
  1503. package/es/Button-f55c264d.js +0 -22
  1504. package/es/Button-f55c264d.js.map +0 -1
  1505. package/es/ButtonSetButton-226c9e73.js +0 -33
  1506. package/es/ButtonSetButton-226c9e73.js.map +0 -1
  1507. package/es/ButtonSetIconButton-2a046c9c.js +0 -40
  1508. package/es/ButtonSetIconButton-2a046c9c.js.map +0 -1
  1509. package/es/ButtonSetItem-43ef9553.js +0 -65
  1510. package/es/ButtonSetItem-43ef9553.js.map +0 -1
  1511. package/es/Card-f3b7c723.js +0 -15
  1512. package/es/Card-f3b7c723.js.map +0 -1
  1513. package/es/Center-76b761ea.js +0 -16
  1514. package/es/Center-76b761ea.js.map +0 -1
  1515. package/es/Chart-6291ad48.js +0 -491
  1516. package/es/Chart-6291ad48.js.map +0 -1
  1517. package/es/Checkbox-34816a7d.js +0 -104
  1518. package/es/Checkbox-34816a7d.js.map +0 -1
  1519. package/es/CheckboxControl-a9d4d9d5.js +0 -109
  1520. package/es/CheckboxControl-a9d4d9d5.js.map +0 -1
  1521. package/es/CheckboxRadioField-922ab9ff.js +0 -183
  1522. package/es/CheckboxRadioField-922ab9ff.js.map +0 -1
  1523. package/es/ClearIcon-29781882.js +0 -21
  1524. package/es/ClearIcon-29781882.js.map +0 -1
  1525. package/es/ComboChart-4738f936.js +0 -172
  1526. package/es/ComboChart-4738f936.js.map +0 -1
  1527. package/es/CompactLabelAssistance-fd3fb481.js +0 -34
  1528. package/es/CompactLabelAssistance-fd3fb481.js.map +0 -1
  1529. package/es/CompactUserAssistance-bd24e31a.js +0 -47
  1530. package/es/CompactUserAssistance-bd24e31a.js.map +0 -1
  1531. package/es/ComponentMessageContainer-6c106a09.js +0 -68
  1532. package/es/ComponentMessageContainer-6c106a09.js.map +0 -1
  1533. package/es/ConveyorBeltItem-ce67a451.js +0 -638
  1534. package/es/ConveyorBeltItem-ce67a451.js.map +0 -1
  1535. package/es/DatePicker-e7f2ef3c.js +0 -564
  1536. package/es/DatePicker-e7f2ef3c.js.map +0 -1
  1537. package/es/DatePickerHeader-9c0d4332.js +0 -44
  1538. package/es/DatePickerHeader-9c0d4332.js.map +0 -1
  1539. package/es/Diagram-b1f6a590.js +0 -2035
  1540. package/es/Diagram-b1f6a590.js.map +0 -1
  1541. package/es/Dialog-0ca362cc.js +0 -344
  1542. package/es/Dialog-0ca362cc.js.map +0 -1
  1543. package/es/DragHandle-99d4c921.js +0 -22
  1544. package/es/DragHandle-99d4c921.js.map +0 -1
  1545. package/es/DrawerPopup-9cdb203a.js +0 -381
  1546. package/es/DrawerPopup-9cdb203a.js.map +0 -1
  1547. package/es/Dropdown-60833900.js +0 -80
  1548. package/es/Dropdown-60833900.js.map +0 -1
  1549. package/es/EmbeddedIconButton-0c3562a1.js +0 -11
  1550. package/es/EmbeddedIconButton-0c3562a1.js.map +0 -1
  1551. package/es/EnvironmentProvider-bada8909.js +0 -58
  1552. package/es/EnvironmentProvider-bada8909.js.map +0 -1
  1553. package/es/ExpandableList-cbf9ae2c.js +0 -167
  1554. package/es/ExpandableList-cbf9ae2c.js.map +0 -1
  1555. package/es/Flex-ce31b351.js +0 -30
  1556. package/es/Flex-ce31b351.js.map +0 -1
  1557. package/es/Floating-f02677ba.js +0 -462
  1558. package/es/Floating-f02677ba.js.map +0 -1
  1559. package/es/Gantt-5a395647.js +0 -3817
  1560. package/es/Gantt-5a395647.js.map +0 -1
  1561. package/es/Grid-421eb560.js +0 -27
  1562. package/es/Grid-421eb560.js.map +0 -1
  1563. package/es/Gridlines-6098cb5b.js +0 -168
  1564. package/es/Gridlines-6098cb5b.js.map +0 -1
  1565. package/es/HighlightText-86d92552.js +0 -31
  1566. package/es/HighlightText-86d92552.js.map +0 -1
  1567. package/es/IconButton-f3f7af21.js +0 -37
  1568. package/es/IconButton-f3f7af21.js.map +0 -1
  1569. package/es/IconMenuButton-48909b85.js +0 -56
  1570. package/es/IconMenuButton-48909b85.js.map +0 -1
  1571. package/es/IconProgressButton-1c4d65c3.js +0 -47
  1572. package/es/IconProgressButton-1c4d65c3.js.map +0 -1
  1573. package/es/IconSwitchButton-5db4ae26.js +0 -44
  1574. package/es/IconSwitchButton-5db4ae26.js.map +0 -1
  1575. package/es/IconToggleButton-be6c0ba1.js +0 -43
  1576. package/es/IconToggleButton-be6c0ba1.js.map +0 -1
  1577. package/es/IconUserAssistance-92be9618.js +0 -73
  1578. package/es/IconUserAssistance-92be9618.js.map +0 -1
  1579. package/es/InlineUserAssistance-2677a1eb.js +0 -81
  1580. package/es/InlineUserAssistance-2677a1eb.js.map +0 -1
  1581. package/es/InputDateMask-76493bee.js +0 -1056
  1582. package/es/InputDateMask-76493bee.js.map +0 -1
  1583. package/es/InputDatePicker-836ee6f7.js +0 -307
  1584. package/es/InputDatePicker-836ee6f7.js.map +0 -1
  1585. package/es/InputPassword-fa63ac17.js +0 -155
  1586. package/es/InputPassword-fa63ac17.js.map +0 -1
  1587. package/es/InputText-ce2272a8.js +0 -197
  1588. package/es/InputText-ce2272a8.js.map +0 -1
  1589. package/es/Label-56ca049f.js +0 -83
  1590. package/es/Label-56ca049f.js.map +0 -1
  1591. package/es/Layer-446bf21e.js +0 -91
  1592. package/es/Layer-446bf21e.js.map +0 -1
  1593. package/es/LayerHost-e6402730.js +0 -41
  1594. package/es/LayerHost-e6402730.js.map +0 -1
  1595. package/es/LayerManager-fa745cec.js +0 -34
  1596. package/es/LayerManager-fa745cec.js.map +0 -1
  1597. package/es/Legend-a60126aa.js +0 -302
  1598. package/es/Legend-a60126aa.js.map +0 -1
  1599. package/es/LineAreaChart-d3586935.js +0 -170
  1600. package/es/LineAreaChart-d3586935.js.map +0 -1
  1601. package/es/LineSeries-fc167ea2.js +0 -109
  1602. package/es/LineSeries-fc167ea2.js.map +0 -1
  1603. package/es/Link-98742013.js +0 -33
  1604. package/es/Link-98742013.js.map +0 -1
  1605. package/es/ListItemLayout-e9854821.js +0 -110
  1606. package/es/ListItemLayout-e9854821.js.map +0 -1
  1607. package/es/LiveRegion-b56a1aa2.js +0 -39
  1608. package/es/LiveRegion-b56a1aa2.js.map +0 -1
  1609. package/es/MaxLengthLiveRegion-2f3d34cf.js +0 -23
  1610. package/es/MaxLengthLiveRegion-2f3d34cf.js.map +0 -1
  1611. package/es/MenuButton-c00e269e.js +0 -61
  1612. package/es/MenuButton-c00e269e.js.map +0 -1
  1613. package/es/Message-b9e16c1c.js +0 -203
  1614. package/es/Message-b9e16c1c.js.map +0 -1
  1615. package/es/MessageLayer-7e3184aa.js +0 -58
  1616. package/es/MessageLayer-7e3184aa.js.map +0 -1
  1617. package/es/MessageToast-f9b0a234.js +0 -241
  1618. package/es/MessageToast-f9b0a234.js.map +0 -1
  1619. package/es/Modal-24a0bf4b.js +0 -288
  1620. package/es/Modal-24a0bf4b.js.map +0 -1
  1621. package/es/MonthView-5e633194.js +0 -208
  1622. package/es/MonthView-5e633194.js.map +0 -1
  1623. package/es/NavigationListItem-07f041e6.js +0 -163
  1624. package/es/NavigationListItem-07f041e6.js.map +0 -1
  1625. package/es/NumberInputText-f5d01daa.js +0 -220
  1626. package/es/NumberInputText-f5d01daa.js.map +0 -1
  1627. package/es/OverflowTabBar-c920e944.js +0 -69
  1628. package/es/OverflowTabBar-c920e944.js.map +0 -1
  1629. package/es/OverflowTabBarItem-ccfa49a3.js +0 -86
  1630. package/es/OverflowTabBarItem-ccfa49a3.js.map +0 -1
  1631. package/es/PictoChart-5b71908b.js +0 -744
  1632. package/es/PictoChart-5b71908b.js.map +0 -1
  1633. package/es/Popup-d8bf7f4d.js +0 -258
  1634. package/es/Popup-d8bf7f4d.js.map +0 -1
  1635. package/es/ProgressBar-2fa99d6f.js +0 -62
  1636. package/es/ProgressBar-2fa99d6f.js.map +0 -1
  1637. package/es/ProgressButton-9390070e.js +0 -56
  1638. package/es/ProgressButton-9390070e.js.map +0 -1
  1639. package/es/ProgressCircle-faf79b79.js +0 -48
  1640. package/es/ProgressCircle-faf79b79.js.map +0 -1
  1641. package/es/RadioItem-96cbf0ed.js +0 -113
  1642. package/es/RadioItem-96cbf0ed.js.map +0 -1
  1643. package/es/RadioSet-c51b3d56.js +0 -43
  1644. package/es/RadioSet-c51b3d56.js.map +0 -1
  1645. package/es/RemovableNavigationListItem-517d59b0.js +0 -24
  1646. package/es/RemovableNavigationListItem-517d59b0.js.map +0 -1
  1647. package/es/RemovableTabBarItem-87ba87ca.js +0 -36
  1648. package/es/RemovableTabBarItem-87ba87ca.js.map +0 -1
  1649. package/es/ReorderableTabBar-fc76a33b.js +0 -77
  1650. package/es/ReorderableTabBar-fc76a33b.js.map +0 -1
  1651. package/es/RevealToggleIcon-2f49fd19.js +0 -26
  1652. package/es/RevealToggleIcon-2f49fd19.js.map +0 -1
  1653. package/es/ScatterChart-449ec029.js +0 -103
  1654. package/es/ScatterChart-449ec029.js.map +0 -1
  1655. package/es/SectionedContent-3274d8f9.js +0 -64
  1656. package/es/SectionedContent-3274d8f9.js.map +0 -1
  1657. package/es/SelectMultiple-50995ef7.js +0 -1297
  1658. package/es/SelectMultiple-50995ef7.js.map +0 -1
  1659. package/es/SelectSingle-dcf0e9b1.js +0 -730
  1660. package/es/SelectSingle-dcf0e9b1.js.map +0 -1
  1661. package/es/SelectionCard-1ed9cf08.js +0 -16
  1662. package/es/SelectionCard-1ed9cf08.js.map +0 -1
  1663. package/es/SelectorAll-f52550a6.js +0 -69
  1664. package/es/SelectorAll-f52550a6.js.map +0 -1
  1665. package/es/Sheet-da412baf.js +0 -158
  1666. package/es/Sheet-da412baf.js.map +0 -1
  1667. package/es/SplitMenuButton-f44064de.js +0 -139
  1668. package/es/SplitMenuButton-f44064de.js.map +0 -1
  1669. package/es/StyledCard-362bd74b.js +0 -105
  1670. package/es/StyledCard-362bd74b.js.map +0 -1
  1671. package/es/StyledLabelValueLayout-d4881d3b.js +0 -18
  1672. package/es/StyledLabelValueLayout-d4881d3b.js.map +0 -1
  1673. package/es/TabBar-2858ff9c.js +0 -77
  1674. package/es/TabBar-2858ff9c.js.map +0 -1
  1675. package/es/TabBarMixed-a4beabce.js +0 -78
  1676. package/es/TabBarMixed-a4beabce.js.map +0 -1
  1677. package/es/TabBarMixedSeparator-51c518a1.js +0 -19
  1678. package/es/TabBarMixedSeparator-51c518a1.js.map +0 -1
  1679. package/es/Table-9919625b.js +0 -5497
  1680. package/es/Table-9919625b.js.map +0 -1
  1681. package/es/TableView-c97ef8ee.js +0 -31
  1682. package/es/TableView-c97ef8ee.js.map +0 -1
  1683. package/es/TagCloud-3f81d651.js +0 -824
  1684. package/es/TagCloud-3f81d651.js.map +0 -1
  1685. package/es/TextArea-d7eb6b00.js +0 -177
  1686. package/es/TextArea-d7eb6b00.js.map +0 -1
  1687. package/es/TextAreaAutosize-301eb2b7.js +0 -244
  1688. package/es/TextAreaAutosize-301eb2b7.js.map +0 -1
  1689. package/es/TimeComponentCanvas2D-9fd1f811.js +0 -568
  1690. package/es/TimeComponentCanvas2D-9fd1f811.js.map +0 -1
  1691. package/es/ToggleButton-cf8226d9.js +0 -28
  1692. package/es/ToggleButton-cf8226d9.js.map +0 -1
  1693. package/es/View-afe98b65.js +0 -167
  1694. package/es/View-afe98b65.js.map +0 -1
  1695. package/es/VisNoData-9ceb58f4.js +0 -32
  1696. package/es/VisNoData-9ceb58f4.js.map +0 -1
  1697. package/es/VisProgressiveLoader-36c728ac.js +0 -51
  1698. package/es/VisProgressiveLoader-36c728ac.js.map +0 -1
  1699. package/es/VisTabularDatatip-59629377.js +0 -24
  1700. package/es/VisTabularDatatip-59629377.js.map +0 -1
  1701. package/es/WindowOverlay-a07b2e24.js +0 -110
  1702. package/es/WindowOverlay-a07b2e24.js.map +0 -1
  1703. package/es/YearsGridView-d859edba.js +0 -187
  1704. package/es/YearsGridView-d859edba.js.map +0 -1
  1705. package/es/index-e33bcd96.js +0 -11
  1706. package/es/index-e33bcd96.js.map +0 -1
  1707. package/es/popupUtils-58411a98.js +0 -29
  1708. package/es/popupUtils-58411a98.js.map +0 -1
  1709. package/es/render-343557e9.js +0 -34
  1710. package/es/render-343557e9.js.map +0 -1
  1711. package/es/tabbableUtils-d6485f5e.js +0 -79
  1712. package/es/tabbableUtils-d6485f5e.js.map +0 -1
  1713. package/es/testData-d5181e9f.js +0 -256
  1714. package/es/testData-d5181e9f.js.map +0 -1
  1715. package/es/tooltipUtils-768450a7.js +0 -93
  1716. package/es/tooltipUtils-768450a7.js.map +0 -1
  1717. package/es/useCellNavigation-88a1754f.js +0 -126
  1718. package/es/useCellNavigation-88a1754f.js.map +0 -1
  1719. package/es/useChartDatatip-d6a6c5e1.js +0 -165
  1720. package/es/useChartDatatip-d6a6c5e1.js.map +0 -1
  1721. package/es/useChartMarquee-6587dbec.js +0 -293
  1722. package/es/useChartMarquee-6587dbec.js.map +0 -1
  1723. package/es/useColorScheme-c4e237ad.js +0 -19
  1724. package/es/useColorScheme-c4e237ad.js.map +0 -1
  1725. package/es/useCssVars-d72a8439.js +0 -58
  1726. package/es/useCssVars-d72a8439.js.map +0 -1
  1727. package/es/useCurrentBgColor-14745af3.js +0 -19
  1728. package/es/useCurrentBgColor-14745af3.js.map +0 -1
  1729. package/es/useCurrentKey-7287061f.js +0 -81
  1730. package/es/useCurrentKey-7287061f.js.map +0 -1
  1731. package/es/useDatatip-9635bc2f.js +0 -90
  1732. package/es/useDatatip-9635bc2f.js.map +0 -1
  1733. package/es/useDensity-c17603b2.js +0 -19
  1734. package/es/useDensity-c17603b2.js.map +0 -1
  1735. package/es/useFloating-953362cf.js +0 -1916
  1736. package/es/useFloating-953362cf.js.map +0 -1
  1737. package/es/useKeyboardEvents-2378a650.js +0 -78
  1738. package/es/useKeyboardEvents-2378a650.js.map +0 -1
  1739. package/es/useMeterDatatip-834e67e1.js +0 -73
  1740. package/es/useMeterDatatip-834e67e1.js.map +0 -1
  1741. package/es/useOutsideClick-fd9ad806.js +0 -101
  1742. package/es/useOutsideClick-fd9ad806.js.map +0 -1
  1743. package/es/usePopupAnimation-f017bc43.js +0 -85
  1744. package/es/usePopupAnimation-f017bc43.js.map +0 -1
  1745. package/es/usePrefixSuffix-5a74f2c4.js +0 -70
  1746. package/es/usePrefixSuffix-5a74f2c4.js.map +0 -1
  1747. package/es/usePressClick-2ec8e098.js +0 -31
  1748. package/es/usePressClick-2ec8e098.js.map +0 -1
  1749. package/es/useReorderableItem-22ea4c46.js +0 -268
  1750. package/es/useReorderableItem-22ea4c46.js.map +0 -1
  1751. package/es/useRovingTabIndexContainer-bc7ae447.js +0 -98
  1752. package/es/useRovingTabIndexContainer-bc7ae447.js.map +0 -1
  1753. package/es/useScale-83881775.js +0 -19
  1754. package/es/useScale-83881775.js.map +0 -1
  1755. package/es/useSelectCommon-34645d9a.js +0 -686
  1756. package/es/useSelectCommon-34645d9a.js.map +0 -1
  1757. package/es/useSelectDrill-88337c1a.js +0 -104
  1758. package/es/useSelectDrill-88337c1a.js.map +0 -1
  1759. package/es/useSelection-01b28be6.js +0 -186
  1760. package/es/useSelection-01b28be6.js.map +0 -1
  1761. package/es/useSelection-649fd4f1.js +0 -239
  1762. package/es/useSelection-649fd4f1.js.map +0 -1
  1763. package/es/useTestId-9b504481.js +0 -21
  1764. package/es/useTestId-9b504481.js.map +0 -1
  1765. package/es/useTheme-93c07059.js +0 -19
  1766. package/es/useTheme-93c07059.js.map +0 -1
  1767. package/es/useThemeInterpolations-8dd8029f.js +0 -57
  1768. package/es/useThemeInterpolations-8dd8029f.js.map +0 -1
  1769. package/es/useTooltip-89ca3f3e.js +0 -424
  1770. package/es/useTooltip-89ca3f3e.js.map +0 -1
  1771. package/es/useTooltipOnTruncation-175bf8a6.js +0 -27
  1772. package/es/useTooltipOnTruncation-175bf8a6.js.map +0 -1
  1773. package/es/useTranslationBundle-09302c20.js +0 -29
  1774. package/es/useTranslationBundle-09302c20.js.map +0 -1
  1775. package/es/useUser-1cd223a9.js +0 -19
  1776. package/es/useUser-1cd223a9.js.map +0 -1
  1777. package/es/useVisDragModeControls-40fc83b5.js +0 -87
  1778. package/es/useVisDragModeControls-40fc83b5.js.map +0 -1
  1779. package/es/useVisEvents-8877743b.js +0 -153
  1780. package/es/useVisEvents-8877743b.js.map +0 -1
  1781. package/es/withDirectionIcon-19a1d777.js +0 -14
  1782. package/es/withDirectionIcon-19a1d777.js.map +0 -1
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', './TrackResizeContainer-c6b5de04', './UNSAFE_Diagram/themes/DiagramStyles.css', './useResizeObserver-275c3e83', 'preact/hooks', './accUtils-93ee6f16', './classNames-08d99695', './useTranslationBundle-7c40cb58', './useUser-797287de', './layoutUtils-ba7693df', './useVisHover-28319fef', './mergeProps-bcfa6a92', './useDatatip-be9b251b', './useTextDimensions-030c6dbd', './clientUtils-8c0e90ff', './useVisDragModeControls-69001c64', './useSelection-04d131fa', './useVisTouchResponse-88a7bb09', './stringUtils-0ae982c2'], (function(e,t,n,o,r,i,s,a,d,c,u,l,f,h,g,p,m,y,x,b){"use strict";const w=20;function I(e){const t=new Map,n=new Map,o=new Map;for(let r=0;r<e.length;r++)t.set(e[r].id,e[r]),n.set(e[r].id,r),o.set(r,e[r].id);return{itemIdToDataMap:t,itemIdToIndexMap:n,itemIndexToIdMap:o}}function v(e,t){const n=[];if(e)for(let t=0;t<e.length;t++)n.push(e[t]);if(t)for(let e=0;e<t.length;e++)n.push(t[e]);return n}function P(e,t,n){const o=S(t,e,n);if(e.rotationAngle){const n=e.rotationPoint?e.rotationPoint:{x:t.width/2,y:t.height/2},r=e.rotationAngle,i=M({x:0,y:0},n),s=M({x:t.width,y:0},n),a=M({x:0,y:t.height},n),d=M({x:t.width,y:t.height},n);return function(e){let t=e[0].x,n=e[0].y,o=e[0].x,r=e[0].y;for(let i=1;i<e.length;i++){const s=e[i];s.x<t?t=s.x:s.x>o&&(o=s.x),s.y<n?n=s.y:s.y>r&&(r=s.y)}return{x:t,y:n,w:o-t,h:r-n}}([N(i,r),N(a,r),N(s,r),N(d,r)].map((e=>({x:e.x+o.x+n.x,y:e.y+o.y+n.y}))))}return{x:o.x,y:o.y,w:t.width,h:t.height}}function M(e,t){return{x:e.x-t.x,y:e.y-t.y}}function N(e,t){return{x:e.x*Math.cos(t)-e.y*Math.sin(t),y:e.x*Math.sin(t)+e.y*Math.cos(t)}}function S(e,t,n){const o=t.position,r=t.hAlign?t.hAlign:n?"right":"left",i=t.vAlign;let s,a;return s="center"===r?o.x-e.width/2:"right"===r?o.x-e.width:o.x,a="middle"===i?o.y-e.height/2:"bottom"===i?o.y-e.height:"baseline"===i?o.y+e.y:o.y,{x:s,y:a}}function D(e,t,n,o,r){return{panX:o/2-e*n,panY:r/2-t*n}}function R(e,t){return e?.id===t?.id&&e?.isNode===t?.isNode}function k(e,t){let n,o=!1,r=e;for(;!n;)if(n=r.dataset.node,n?o=!0:n=r.dataset.link,!n){if(!r.parentElement||r.parentElement===t?.current)break;r=r.parentElement}return{id:n,isNode:o}}function z(e,t,n,o){return s.generateAriaLabel(e,o||"",{isSelected:t?n:void 0})}function X(e,t,n){const o=(e-2*w)/n.w,r=(t-2*w)/n.h;return Math.min(o,r)}function Y(e,t,n){let o=Math.max(t,e);return o=Math.min(n,o),o}function C(e){const t={};return e?(e.fontFamily&&(t.fontFamily=e.fontFamily),e.fontSize&&(t.fontSize=e.fontSize),e.fontStyle&&(t.fontStyle=e.fontStyle),e.fontWeight&&(t.fontWeight=e.fontWeight),t):t}function T(e,t,n,o,r,i,s){let a;if(e.isNode){a=n[o.get(e.id)]}else{const r=t.get(e.id),i=n[o.get(r.startNode)],s=n[o.get(r.endNode)],d=Math.min(i.x,s.x),c=Math.min(i.y,s.y);a={x:d,y:c,w:Math.max(i.x+i.w,s.x+i.w)-d,h:Math.max(i.y+i.h,s.y+s.h)-c}}return function(e,t,n,o){const r=(n-2*w)/e.w,i=(o-2*w)/e.h,s=Math.min(r,i,t),a=e.w/2+e.x,d=e.h/2+e.y;return{centerX:a,centerY:d,zoom:s}}(a,s,r,i)}const L=({id:e,state:n,previousState:s,position:c,activeId:u,nodeRenderer:l,onNodeSizeChanged:f,nodeIndex:h,data:g,accessibleLabel:p,isDimmed:m,supportsSelection:y})=>{const{nodeStyles:x,dimmedItemStyle:b}=o.itemStyles,w={state:n,previousState:s,data:g},I=d.useTranslationBundle("@oracle/oraclejet-preact"),v=i.useRef(null),P=i.useRef({box:"border-box"});return r.useResizeObserver(v,i.useCallback((e=>{const t=e.borderBoxSize,n=t[0].inlineSize,o=t[0].blockSize;f(n,o,h)}),[h,f]),P.current),t.jsx("div",{ref:v,class:a.classNames([x,m?b:void 0]),"data-node":e,role:"img","aria-label":z(I,y,n.selected,p),style:{top:c.y,left:c.x},id:n.focused||n.hovered?u:void 0,children:l(w)},e)};function Z({nodes:e,states:n,previousStates:r,nodeRenderer:i,nodeBounds:s,onNodeSizeChanged:a,supportsSelection:d}){return t.jsx("div",{class:o.layerStyles,children:e.map(((e,o)=>{const c=s&&s[o]?{x:s[o].x,y:s[o].y}:{x:0,y:0},u={selected:n.selectedNodeIds.includes(e.id),focused:n.focusedId===e.id,hovered:n.hoveredId===e.id,zoom:n.zoom},l={selected:r.selectedNodeIds.includes(e.id),focused:r.focusedId===e.id,hovered:r.hoveredId===e.id,zoom:r.zoom};return t.jsx(L,{id:e.id,position:c,state:u,previousState:l,isDimmed:0!==n.highlightedIds.length&&!n.highlightedIds.includes(e.id),activeId:n.activeId,nodeRenderer:i,onNodeSizeChanged:a,nodeIndex:o,accessibleLabel:e.accessibleLabel,data:e,supportsSelection:d})}))})}const O=({id:e,state:n,previousState:r,activeId:i,data:s,linkRenderer:c,accessibleLabel:u,isDimmed:l,supportsSelection:f,layoutOutput:h})=>{const g=d.useTranslationBundle("@oracle/oraclejet-preact"),{dimmedItemStyle:p,linkStyles:m}=o.itemStyles,y={state:n,previousState:r,data:s,layoutOutput:h};return t.jsx("g",{id:n.focused?i:void 0,"aria-label":z(g,f,n.selected,u),"data-link":e,role:"img",class:a.classNames([m,l&&p]),children:c(y)},e)};function A({links:e,states:n,previousStates:r,linkRenderer:i,width:s,height:a,supportsSelection:d,layoutOutput:c,combinedNodeBounds:u}){const l=X(s,a,u);return t.jsx("svg",{class:o.layerStyles,width:s/l,height:a/l,children:e.map((e=>{const o={selected:n.selectedLinkIds.includes(e.id),focused:n.focusedId===e.id,hovered:n.hoveredId===e.id,zoom:n.zoom},s={selected:r.selectedLinkIds.includes(e.id),focused:r.focusedId===e.id,hovered:r.hoveredId===e.id,zoom:r.zoom};return t.jsx(O,{id:e.id,label:e.label,state:o,previousState:s,isDimmed:0!==n.highlightedIds.length&&!n.highlightedIds.includes(e.id),activeId:n.activeId,accessibleLabel:e.accessibleLabel,data:e,linkRenderer:i,supportsSelection:d,layoutOutput:c})}))})}const V=({text:e,position:n,styles:r,dimensions:i,isRTL:s})=>{const{labelStyle:d,labelBorderStyle:c}=o.labelStyles,u=S(i,n,s),l=function(e){const t=e.rotationAngle,n=e.rotationPoint,o={};t&&(o.transform=`rotate(${t}deg)`);n&&(o["transform-origin"]=`${n.x}px ${n.y}px`);return o}(n);return t.jsx("div",{class:a.classNames([d,r&&r.borderColor&&c]),style:{top:u.y,left:u.x,...r,...l},children:e})};function B({labelPosition:e,itemProps:n,labelDimensions:r}){const{direction:i}=c.useUser();return t.jsx("div",{class:o.layerStyles,children:n.map(((n,o)=>{if(n.label&&e[o])return t.jsx(V,{styles:n.labelStyle,text:n.label,position:e[o],dimensions:r.get(n.id),isRTL:"rtl"===i})}))})}function E({nodes:e,links:n,nodeRenderer:o,linkRenderer:r,states:i,previousStates:s,nodeBounds:a,onNodeSizeChanged:d,width:c,height:u,nodeLabelPositions:l,linkLabelPositions:f,labelDimensions:h,supportsSelection:g,layoutOutput:p,combinedNodeBounds:m}){return t.jsxs(t.Fragment,{children:[n.length>0&&p&&r&&c!==1/0&&m&&t.jsx(A,{links:n,states:i,previousStates:s,linkRenderer:r,width:c,height:u,supportsSelection:g,layoutOutput:p,combinedNodeBounds:m}),t.jsx(Z,{nodes:e,nodeBounds:a,states:i,previousStates:s,nodeRenderer:o,onNodeSizeChanged:d,supportsSelection:g}),h?t.jsxs("div",{children:[l?t.jsx(B,{labelPosition:l,itemProps:e,labelDimensions:h}):void 0,n&&f?t.jsx(B,{labelPosition:f,itemProps:n,labelDimensions:h}):void 0]}):void 0]})}function j({centerX:e,centerY:n,children:r,zoom:i,width:s,height:a}){const d=D(e,n,i,s,a);return t.jsx("div",{class:o.panZoomStyles,style:{translate:`${d.panX}px ${d.panY}px`,transform:`scale(${i})`},children:r})}function U(e,t){let n;for(let o=0;o<t.length;o++)if(n=t[o],e.id===n.id)return n}function F(e,t){const n=[];return t.forEach((t=>{const o=t.startNode,r=t.endNode;o!=e&&r!=e||n.push(t)})),n}function K(e,t,n,o){let r,i=n[0],s=n[0];for(let e=0;e<n.length;e++)r=n[e],r.id===t.startNode?i=r:r.id===t.endNode&&(s=r);const a=e.id==i.id?s:i,d=$(e,o),c=$(a,o);let u=Math.atan2(c.y-d.y,c.x-d.x);return u=u<0?u+2*Math.PI:u,u}function G(e,t,n){let o,r=t[0],i=t[0];for(let n=0;n<t.length;n++)o=t[n],o.id===e.startNode?r=o:o.id===e.endNode&&(i=o);const s=$(r,n),a=$(i,n);return Math.sqrt(Math.pow(a.x-s.x,2)+Math.pow(a.y-s.y,2))}function _(e,t){return t.endNode===e.id?1:0}function $(e,t){const n=t.get(e.id);return{x:n.x+n.w/2,y:n.y+n.h/2}}function W(e,t,n){const o=15/180*Math.PI,r=40/180*Math.PI,i=e.x+e.w/2,s=e.y+e.h/2,a=t.x+t.w/2,d=t.y+t.h/2,c=Math.abs(i-a),u=Math.abs(s-d),l=Math.atan2(u,c);let f=Math.sqrt(c*c+u*u);return(l>o&&("right"==n||"left"==n)||l<Math.PI/2-o&&("up"==n||"down"==n))&&(l>r&&("right"==n||"left"==n)||l<Math.PI/2-r&&("up"==n||"down"==n)?f*=6:f*=2),f}function q(e,t,n,o){if(o){const o=e.x+.5*e.w,r=t.x+.5*t.w,i=e.y+.5*e.h,s=t.y+.5*t.h;switch(n){case"up":return i<s;case"down":return e.y>s;case"right":return o>r;case"left":return o<r}return!0}switch(n){case"up":return e.y<t.y||ee(e.y,t.y);case"down":return e.y>t.y||ee(e.y,t.y);case"right":return e.x>t.x||ee(e.x,t.x);case"left":return e.x<t.x||ee(e.x,t.x)}return!0}function H(e,t,n){switch(n){case"up":return J(e,t)&&(t.y<=e.y+e.h||ee(t.y,e.y+e.h));case"down":return J(e,t)&&(e.y<=t.y+t.h||ee(e.y,t.y+t.h));case"right":return Q(e,t)&&(e.x<=t.x+t.w||ee(e.x,t.x+t.w));case"left":return Q(e,t)&&(t.x<=e.x+e.w||ee(t.x,e.x+e.w))}return!1}function J(e,t){return e.x>=t.x&&e.x<=t.x+t.w||t.x>=e.x&&t.x<=e.x+e.w}function Q(e,t){return e.y>=t.y&&e.y<=t.y+t.h||t.y>=e.y&&t.y<=e.y+e.h}function ee(e,t){return Math.abs(e-t)<=1e-7}function te(e,t){let n=Math.abs(e-t)<=1e-7;return n||(n=Math.abs(2*Math.PI+Math.min(e,t)-Math.max(e,t))<=1e-7),n}function ne(e,t,n,o){const r=i.useRef(),s=function(e,t){const n=new Map;for(let o=0;o<e.length;o++)n.set(e[o].id,t[o]);return n}(e,n);return{isNode:n=>{let o,r;for(let i=0;i<e.length;i++){if(o=e[i],r=t[i],n.id===o.id)return!0;if(n.id===r.id)return!0}return!1},getNextNavigableNode:function(e,t,n,o){if(!o)return n;if(!n)return o[0];const r=s.get(n.id);if(!r)return o[0];let i,a,d,c=n,u=Number.MAX_VALUE,l=!1,f=!1;for(let h=0;h<o.length;h++){if(i=o[h],i===n){f=!0;continue}const g=s.get(i.id);if(!g)continue;const p={x:g.x,y:g.y,w:g.w,h:g.h},m={x:r.x,y:r.y,w:r.w,h:r.h};q(p,m,e,t)&&(a=H(p,m,e),l&&!a||(d=W(p,m,e),(0!=d||f)&&(!l&&a||d<u&&(l&&a||!l))&&(u=d,c=i,l=a)))}return c},getNextNavigableLink:function(e,t,n,o){if(!o)return n;if(!n)return o[0];const i=r.current,a=U({id:i||n.startNode,isNode:!0},t);if(!a)return n;const d=function(e,t,n,o){let r,i,s;const a=[];for(let d=0;d<t.length;d++){const c=t[d];r=K(e,c,n,o),i=G(c,n,o),s=_(e,c),a.push({id:c.id,angle:r,distance:i,direction:s})}return a}(a,o=F(a.id,o),t,s);d.sort(((e,t)=>{const{angle:n,distance:o,direction:r}=e,{angle:i,distance:s,direction:a}=t;let d=-1;return!te(n,i)&&n>i?d=1:te(n,i)&&(o>s||s==o&&r>a?d=1:s==o&&r==a&&(d=0)),d}));const c="down"==e;let u=0;for(let e=0;e<d.length;e++){if(d[e].id===n.id){u=c?e==d.length-1?0:e+1:0==e?d.length-1:e-1;break}}return d[u]},navigateFromNodeToLink:function(e,t,n){if(!n)return;const o=F(n.id,e);if(o.length<1)return;let i=o[0];const a=s.get(n.id);let d,c,u,l;const f=a.x+a.w/2;r.current=n.id;for(let e=0;e<o.length;e++)if(d=o[e],c=d.startNode===n.id?d.endNode:d.startNode,u=s.get(c),l=u.x+u.w/2,t.altKey&&"Comma"===t.code&&l<=f||t.altKey&&"Period"===t.code&&l>=f){i=d;break}return{id:i.id,isNode:!1}},navigateFromLinkToNode:function(e,t){const n=t.key,r=o.get(e),i=s.get(r.startNode),a=s.get(r.endNode);if(!i||!a)return;const d=i.x+i.w/2,c=a.x+a.w/2;return{id:c>d&&"ArrowRight"===n||c<d&&"ArrowLeft"===n?r.endNode:r.startNode,isNode:!0}}}}const oe=15,re=.15;function ie(e,t,n,o,r,s,a,d,c,h,g,p,m,y,x){const{getNextNavigableNode:b,getNextNavigableLink:w,navigateFromNodeToLink:I,navigateFromLinkToNode:v}=ne(n,o,r,s),[P,M]=i.useState({id:t.id,isNode:!0}),[N,S]=i.useState(),D=i.useRef(),z=l.useVisHover((e=>{const t=k(e.target);t&&!R(t,N)&&(S({...t,isCurrent:!0}),D.current=u.getRandomId(),M({...P,isCurrent:!1}),t.isNode?p?.({id:t.id,type:"node",data:a.get(t.id)}):p?.({id:t.id,type:"link",data:s.get(t.id)}))}),void 0,(()=>{S(void 0),D.current=void 0,p?.({id:void 0,data:void 0})}),e);function X(e){e.isNode?m?.({id:e.id,type:"node",data:a.get(e.id)}):m?.({id:e.id,type:"link",data:s.get(e.id)}),D.current=u.getRandomId(),M(e)}function Y(e){e&&(R(e,P)||(e.isCurrent=!0,e.isFocusVisible=!0,N&&S({...N,isCurrent:!1}),X(e)))}return{focusedItemInfo:P,hoveredItemInfo:N,activeId:D.current,eventsProps:f.mergeProps(z,{onKeyUp:e=>{if("Tab"===e.code)X({...P,isCurrent:!0,isFocusVisible:!0})},onKeyDown:e=>{const t=e.key;let i=!1;if("TAB"!==t){if(function(e){const t=e.code;if(P.isNode&&e.altKey&&("Period"===t||"Comma"===t))return!0;if(!P.isNode&&("ArrowLeft"===t||"ArrowRight"===t))return!0;return!1}(e)){Y(P.isNode?I(o,e,U(P,n)):v(P.id,e)),i=!0}else if(function(e){switch(e){case"ArrowDown":case"ArrowUp":case"ArrowRight":case"ArrowLeft":return!0}return!1}(t)){const e=function(e){let t="down";switch(e){case"ArrowDown":t="down";break;case"ArrowUp":t="up";break;case"ArrowRight":t="right";break;case"ArrowLeft":t="left"}if(P.isNode){const e=b(t,!0,U(P,n),n);return e?{id:e.id,isNode:!0}:P}{const e=function(e,t){let n;for(let o=0;o<t.length;o++)if(n=t[o],e.id===n.id)return n}(P,o),r=w(t,n,e,o);return r?{id:r.id}:{id:P.id}}}(t);Y(e),i=!0}else switch(t){case"PageUp":y&&y({dPan:{dx:e.shiftKey?-oe:0,dy:e.shiftKey?0:-oe}}),i=!0;break;case"PageDown":y&&y({dPan:{dx:e.shiftKey?oe:0,dy:e.shiftKey?0:oe}}),i=!0,i=!0;break;case"+":case"=":x&&x({dZoom:re}),i=!0;break;case"-":case"_":x&&x({dZoom:-re}),i=!0;break;case"0":if(e.ctrlKey&&e.altKey){const{centerX:e,centerY:t,zoom:n}=T(P,s,r,d,c,h,g);x&&x({nZoom:n}),y&&y({nPan:{cx:e,cy:t}})}else x&&x({}),y&&y({center:!0});i=!0}i&&(e=>{e.preventDefault(),e.stopPropagation()})(e)}},onBlur:()=>{(null!=N||P.isCurrent)&&m?.({id:void 0,data:void 0});const e={...P,isCurrent:!1,isFocusVisible:!1};M(e)},onPointerUp:e=>{const t=k(e.target);null!=t.id&&(M(t),D.current=u.getRandomId())}})}}const se=({touchResponse:e,datatip:t,focusedItemBoundsRef:n,focusedItemInfo:o,panState:r,zoom:i,width:s,nodesMap:a,linksMap:d,hoveredItem:l})=>{const{direction:f}=c.useUser(),g="rtl"===f,p=function(e,t,n,o,r){let i;const s=o?.isCurrent;if(s&&null!=o.id&&(i=o),n&&n.isCurrent&&(i=n),i&&r)return r(i.isNode?{data:e.get(i.id),type:"node"}:{data:t.get(i.id),type:"link"});if(i){const n=(i.isNode?e.get(i.id):t.get(i.id))?.accessibleLabel;return{content:n}}}(a,d,o,l,t),m=n.current?{x:n.current.x*i+r.panX,y:n.current.y*i+r.panY,width:n.current.w*i,height:n.current.h*i}:void 0,y=o.isCurrent?u.calculateOffset(g,s,m):u.calculateOffset(g,s),{datatipContent:x,datatipProps:b}=h.useDatatip({content:p?.content,borderColor:p?.borderColor,placement:"top-start",offset:y,anchor:o?.isCurrent?"element":"pointer",touchResponse:e});return{datatipContent:x,datatipProps:b}},ae=({captureTargetRef:e,numPointers:t=1,onPointerGestureDown:n,onPointerGestureMove:o,onPointerGestureEnd:r,onExtraneousPointerDown:s,isDisabled:a=!1})=>{const d=i.useRef([]);a&&(d.current=[]);const c=e=>{const n=d.current.findIndex((t=>t.pointerId===e.pointerId));-1!==n&&(d.current[n]=e,d.current.length===t&&r&&r({pointers:d.current}),d.current.splice(n,1))};return a?{}:{onPointerDown:e=>{d.current.push(e),d.current.length===t?n&&n({pointers:d.current}):d.current.length>t&&s&&s({pointers:d.current})},onPointerMove:n=>{if(0===d.current.length)return;const r=d.current.findIndex((e=>e.pointerId===n.pointerId));-1!==r&&(d.current[r]=n,d.current.length===t&&(d.current.forEach((t=>e.current.setPointerCapture(t.pointerId))),o&&o({pointers:d.current})))},onPointerUp:c,onPointerCancel:c,onPointerLeave:c}},de=(e,t,n,o,r,i,s,a)=>{if(!s)return{newPan:{panX:0,panY:0}};const d=((e,t,n,o)=>{const r="y"!==o?t.panX:e.panX,i="x"!==o?t.panY:e.panY;return{panX:r>n.maxX?n.maxX:r<n.minX?n.minX:r,panY:i>n.maxY?n.maxY:i<n.minY?n.minY:i}})(e,t,s,n),c=d.panX!==e.panX||d.panY!==e.panY,u=function(e,t,n,o,r){return{centerX:(o/2-e)/n,centerY:(r/2-t)/n}}(d.panX,d.panY,o,r,i);return c&&a&&a({centerX:u.centerX,centerY:u.centerY}),{newPan:d}},ce=({panProps:e,captureTargetRef:t,panBounds:n,width:o,height:r,zoom:s,onDragPanStart:a,onDragPanEnd:d})=>{const c=i.useRef({panX:0,panY:0}),u=i.useRef({panX:0,panY:0}),l=(({captureTargetRef:e,draggableRegion:t,onDragStart:n,onDragMove:o,onDragEnd:r,isDisabled:s=!1})=>{const a={isDragging:!1,x0:-1,y0:-1,regionOffsetX:-1,regionOffsetY:-1},d=i.useRef(a),c=(e,t)=>{const{isDragging:n,x0:o,y0:r,regionOffsetX:i,regionOffsetY:s}=d.current;if(!n)return;const a=e.pageX,c=e.pageY;t&&t({x:a,y:c,dx:a-o,dy:c-r,regionOffsetX:i,regionOffsetY:s,originalEvent:e})},u=ae({captureTargetRef:e,numPointers:1,onExtraneousPointerDown:()=>{d.current=a},onPointerGestureDown:({pointers:[e]})=>{const o=e.pageX,r=e.pageY;if(0!==e.button||!((e,t,n)=>{if(!n)return!0;const{xMin:o,xMax:r,yMin:i,yMax:s}=n;return e>=o&&e<=r&&t>=i&&t<=s})(o,r,t))return;const{regionOffsetX:i,regionOffsetY:s}=((e,t,n)=>n?{regionOffsetX:e-n.xMin,regionOffsetY:t-n.yMin}:{regionOffsetX:e,regionOffsetY:t})(o,r,t);d.current={isDragging:!0,x0:o,y0:r,regionOffsetX:i,regionOffsetY:s},n&&n({x:o,y:r,regionOffsetX:i,regionOffsetY:s,originalEvent:e})},onPointerGestureMove:({pointers:[e]})=>{c(e,o)},onPointerGestureEnd:({pointers:[e]})=>{c(e,r),d.current=a}});return s?{}:u})({captureTargetRef:t,onDragStart:()=>{const t=D(e.centerX,e.centerY,s,o,r);u.current={panX:t.panX,panY:t.panY},a&&a()},onDragMove:({dx:t,dy:i})=>{const a={panX:u.current.panX+t,panY:u.current.panY+i},{newPan:d}=de(c.current,a,e.panDirection,s,o,r,n,e.onPan);c.current=d},onDragEnd:({originalEvent:e})=>{u.current.panX===c.current.panX&&u.current.panY===c.current.panY||e.preventDefault(),d&&d()},isDisabled:"off"===e.panning});return l},ue=(e,t,n,o,r)=>{const i=e>o||e<n?t:e;i!==t&&r&&r({zoomValue:i})},le=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-t.y)**2),fe=({captureTargetRef:e,zooming:t,minZoom:n,maxZoom:o,zoomValue:r,onZoom:s})=>{const a=(({captureTargetRef:e,onPinchZoomStart:t,onPinchZoomChange:n,onPinchZoomEnd:o,isDisabled:r=!1})=>{const s=i.useRef({x:-1,y:-1}),a=i.useRef(-1),d=()=>{s.current={x:-1,y:-1},a.current=-1};r&&d();const c=ae({captureTargetRef:e,numPointers:2,onPointerGestureDown:({pointers:[e,n]})=>{const o={x:e.offsetX,y:e.offsetY},r={x:n.offsetX,y:n.offsetY};s.current=((e,t)=>({x:(e.x+t.x)/2,y:(e.y+t.y)/2}))(o,r),a.current=le(o,r),t&&t({origin:s.current,delta:0})},onPointerGestureMove:({pointers:[e,t]})=>{const o={x:e.offsetX,y:e.offsetY},r={x:t.offsetX,y:t.offsetY},i=le(o,r),d=i-a.current;a.current=i,n&&n({origin:s.current,delta:d})},onPointerGestureEnd:()=>{d(),o&&o()}});return r?{}:c})({captureTargetRef:e,onPinchZoomChange:({delta:e})=>{ue(r*(1+.05*e),r,n,o,s)},isDisabled:"off"===t});return a},he=({props:e,captureTargetRef:t,width:n,height:o,contentBounds:r,isRtl:s})=>{const[a,d]=i.useState(),c=function(e,t,n,o){const r=X(t,n,o),i=e.maxZoom||1,s=e.minZoom||Math.min(i,r),a=e.zoomValue?e.zoomValue:r;return{zooming:e.zooming?e.zooming:"off",minZoom:s,maxZoom:i,zoomValue:Y(a,s,i),onZoom:e.onZoom}}(e,n,o,r),u=i.useRef(),l=i.useRef(),h=i.useRef(),g=i.useRef({zoom:e.zoomValue||0,centerX:e.centerX,centerY:e.centerY}),y=p.isTouch(),x={width:n,height:o,x:0,y:0},b=y?e.panning&&"off"!==e.panning:void 0,w={isZoomScroll:!0,plotAreaSpace:x,componentWidth:n,isRtl:s,showPanButton:b??!1,showZoomButton:!1,showSelectButton:!1,isDisabled:!y},{toggleButtonContent:I,userDragMode:v}=m.useVisDragModeControls(w),P=function(e,t,n,o){return{panning:o?"pan"===n&&e.panning?e.panning:"off":e.panning?e.panning:"off",panDirection:e.panDirection?e.panDirection:"any",centerX:void 0!==e.centerX?e.centerX:t.w/2+t.x,centerY:void 0!==e.centerY?e.centerY:t.h/2+t.y,onPan:e.onPan}}(e,r,v,y);r.w===1/0||c.zoomValue===l.current&&P.panning===h.current||(u.current=((e,t,n,o,r,i,s)=>{const{x:a,y:d,w:c,h:u}=n;let l,f,h,g;if("centerContent"===s)l=e/2-(c+a)*o,h=t/2-(u+d)*o,f=e/2-a*o,g=t/2-d*o;else{const n=o/r,i=(e-c*r)/2-a*r,s=(t-u*r)/2-d*r;l=e-e*n+i*n,h=t-t*n+s*n,f=i*n,g=s*n}const p=i.zoom,m=i.centerX,y=i.centerY;let x,b;if(m){const t=m*p-e/2;-t*p<l?(x=l-t*p,l-=x,f+=x):-t*p>f&&(x=-t*p-f,l-=x,f+=x)}if(y){const e=y*p-t/2;-e*p<h?(b=h-e*p,h-=b,g+=b):-e*p>g&&(b=-e*p-g,h-=b,g+=b)}return{minX:l,maxX:f,minY:h,maxY:g}})(n,o,r,c.zoomValue,c.minZoom,g.current,P.panning),l.current=c.zoomValue,h.current=P.panning);const M=ce({panProps:P,captureTargetRef:t,panBounds:u.current,zoom:c.zoomValue,width:n,height:o,onDragPanStart:()=>d("grabbing"),onDragPanEnd:()=>d("auto")}),N=i.useRef({panX:0,panY:0}),S=(({zooming:e,minZoom:t,maxZoom:n,zoomValue:o,onZoom:r})=>(({onWheel:e,preventDefault:t=!0,isDisabled:n=!1})=>n?{}:{onWheel:n=>{const{deltaX:o,deltaY:r}=(e=>{const{deltaX:t,deltaY:n,deltaMode:o}=e;switch(o){case e.DOM_DELTA_PIXEL:return{deltaX:-t,deltaY:-n};case e.DOM_DELTA_LINE:return{deltaX:15*-t,deltaY:15*-n};case e.DOM_DELTA_PAGE:return{deltaX:40*-t,deltaY:40*-n};default:return{deltaX:-t,deltaY:-n}}})(n);t&&n.preventDefault(),e({x:n.offsetX,y:n.offsetY,deltaX:o,deltaY:r,ctrlKey:n.ctrlKey||n.metaKey})}})({onWheel:({deltaY:e})=>{ue(o*(1+.05*e),o,t,n,r)},isDisabled:"off"===e}))(c),R=fe({captureTargetRef:t,zooming:c.zooming,minZoom:c.minZoom,maxZoom:c.maxZoom,zoomValue:c.zoomValue,onZoom:c.onZoom});return{panZoomProps:f.mergeProps(M,S,R),panProps:P,zoomProps:c,toggleButtonContent:I,cursor:a,centerX:P.centerX,centerY:P.centerY,zoomValue:c.zoomValue,kbPanCallback:"off"!==P.panning?e=>{let t,i;e.center?(t=r.x+r.w/2,i=r.y+r.h/2):e.dPan?(t=P.centerX+e.dPan.dx,i=P.centerY+e.dPan.dy):(t=e.nPan.cx,i=e.nPan.cy);const s=D(t,i,c.zoomValue,n,o),{newPan:a}=de(N.current,s,P.panDirection,c.zoomValue,n,o,u.current,P.onPan);N.current=a}:void 0,kbZoomCallback:"off"!==c.zooming?e=>{const t=e.dZoom?c.zoomValue+e.dZoom:X(n,o,r);ue(e.nZoom?e.nZoom:t,c.zoomValue,c.minZoom,c.maxZoom,c.onZoom)}:void 0}};function ge({nodes:e=[],links:n=[],width:r,height:s,selectedIds:a={},selectionMode:d="none",layout:u,nodeRenderer:l,linkRenderer:h,onSelectionChange:p,onItemHover:m,onItemFocus:w,highlightedIds:M={},datatip:N,...S}){const R=i.useRef(null),z=i.useRef(null),[X,Y]=i.useState([]),[T,L]=i.useState(),{direction:Z}=c.useUser(),O="rtl"===Z,A=e,V=I(A),B=V.itemIdToDataMap,U=function(e,t){const n=[];for(let o=0;o<e.length;o++){const r=e[o];t.get(r.startNode)&&t.get(r.endNode)&&n.push(r)}return n}(n,B),F=I(U),K=F.itemIdToDataMap,G=i.useRef(!1),_=function(e){const t=[];for(let n=0;n<e.length;n++)t.push({w:e[n].w,h:e[n].h});return t}(X),{textMeasureContent:$,getTextDimensions:W}=g.useTextDimensions(),q=i.useRef(new Map),H=i.useRef([]),J=i.useRef([]),Q=i.useRef(),ee=function(e,t){if(0===e.length)return{x:0,w:1/0,y:0,h:1/0};let n,o=1/0,r=1/0,i=-1/0,s=-1/0;for(let t=0;t<e.length;t++)n=e[t],o=n.x<o?n.x:o,r=n.y<r?n.y:r,i=n.x+n.w>i?n.x+n.w:i,s=n.y+n.h>s?n.y+n.h:s;return t&&(o=t.x<o?t.x:o,r=t.y<r?t.y:r,i=t.x+t.w>i?t.x+t.w:i,s=t.y+t.h>s?t.y+t.h:s),{x:o,w:i-o,y:r,h:s-r}}(X,T),{panZoomProps:te,panProps:ne,zoomProps:oe,toggleButtonContent:re,cursor:ae,centerX:de,centerY:ce,zoomValue:ue,kbPanCallback:le,kbZoomCallback:fe}=he({props:S,captureTargetRef:z,width:r,height:s,contentBounds:ee,isRtl:O}),{touchResponse:ge,touchResponseStyle:pe}=x.useVisTouchResponse({type:"auto",supportsTouchDragGestures:"on"===oe.zooming||"off"!==ne.panning,rootRef:z}),{focusedItemInfo:me,hoveredItemInfo:ye,activeId:xe,eventsProps:be}=ie(ge,A[0],A,U,X,K,B,V.itemIdToIndexMap,r,s,S.maxZoom||1,m,w,le,fe),{selectionProps:we,selectionContent:Ie}=function({selectedIds:e,selectionMode:t,nodeMap:n,linkMap:o,focusedItemInfo:r,onSelectionChange:i,rootRef:s}){const a=n.itemIdToIndexMap,d=n.itemIndexToIdMap,c=n.itemIdToDataMap,u=o.itemIdToIndexMap,l=o.itemIndexToIdMap,f=o.itemIdToDataMap,h=e=>`N_${a.get(e)}`,g=e=>d.get(Number(e.slice(2))),p=e=>`L_${u.get(e)}`,m=e=>l.get(Number(e.slice(2))),x=[...e.nodes?e.nodes.map(h):[],...e.links?e.links.map(p):[]],{selectionContent:b,selectionProps:w}=y.useSelection({selection:x,idExtracter:e=>{const t="keyup"===e.type?r:k(e.target,s);return void 0!==t.id?t.isNode?h(t.id):p(t.id):void 0},selectionMode:t,getDataById:e=>{let t;if("N"===e[0]){const o=g(e);t=n.itemIdToDataMap.get(o)}else if("L"===e[0]){const n=m(e);t=o.itemIdToDataMap.get(n)}return t},onChange:e=>{const t=e.ids.filter((e=>"N"===e[0])).map((e=>g(e))),n=e.ids.filter((e=>"L"===e[0])).map((e=>m(e))),o=t.filter((e=>"off"!==c.get(e)?.selectable)),r=n.filter((e=>"off"!==f.get(e)?.selectable)),s=o.map((e=>c.get(e))),a=r.map((e=>f.get(e)));return i&&i({nodes:o,links:r,nodeData:s,linkData:a})}});return{selectionContent:b,selectionProps:w}}({selectedIds:a,selectionMode:d,nodeMap:V,linkMap:F,focusedItemInfo:me,onSelectionChange:p,rootRef:z});me&&X.length>0&&(R.current=function(e,t,n,o,r){if(e.isNode)return t[o.get(e.id)||0];{const i=n[r.get(e.id)||0],s=t[o.get(i.startNode)||0],a=t[o.get(i.endNode)||0],d={x:s.x+s.w/2,y:s.y+s.h/2},c={x:a.x+a.w/2,y:a.y+a.h/2};return{x:Math.min(d.x,c.x),y:Math.min(d.y,c.y),w:Math.abs(d.x-c.x),h:Math.abs(d.y-c.y)}}}(me,X,U,V.itemIdToIndexMap,F.itemIdToIndexMap));const{datatipContent:ve,datatipProps:{"aria-describedby":Pe,...Me}}=se({touchResponse:ge,datatip:N,focusedItemInfo:me,focusedItemBoundsRef:R,panState:D(de,ce,ue,r,s),zoom:ue,width:r,nodesMap:B,linksMap:K,hoveredItem:ye}),Ne={width:r,height:s,cursor:ae,...pe},Se=i.useRef(),De=Se.current?Se.current:{selectedNodeIds:[],selectedLinkIds:[],focusedId:void 0,hoveredId:void 0,activeId:void 0,highlightedIds:[],zoom:0};Se.current={selectedNodeIds:a.nodes??[],selectedLinkIds:a.links??[],focusedId:me.isCurrent&&me.isFocusVisible?me.id:void 0,hoveredId:ye?.isCurrent?ye.id:void 0,activeId:xe,highlightedIds:v(M.nodes,M.links),zoom:ue};const Re=f.mergeProps(te,be,we,Me);return t.jsxs("div",{ref:z,class:o.outerStyles,...Re,style:Ne,tabIndex:0,role:"application","aria-label":S["aria-label"],"aria-labelledby":S["aria-labelledby"],"aria-describedby":b.merge([S["aria-describedby"],Pe]),"aria-activedescendant":xe,children:[W?t.jsx(j,{centerX:de,centerY:ce,zoom:ue,width:r,height:s,children:t.jsx(E,{nodes:A,links:U,nodeRenderer:l,linkRenderer:h,width:r,height:s,nodeBounds:X,states:Se.current,previousStates:De,onNodeSizeChanged:(e,t,n)=>{_[n]={w:e,h:t},G.current||(G.current=!0,window.requestAnimationFrame((()=>{const{labelDims:e,layoutJSON:t}=function(e,t,n,o,r,i,s){const a=new Map,d=Array.from(t.keys());for(const e of d){const n=t.get(e);if(n&&s&&n.label){const t=n.label,o=C(n.labelStyle);a.set(e,s(t,o))}}const c=Array.from(n.keys());for(const e of c){const t=n.get(e);if(t&&s&&t.label){const n=t.label,o=C(t.labelStyle);a.set(e,s(n,o))}}return{layoutJSON:{getNodeDimensions:function(t){for(let n=0;n<e.length;n++)if(t.id===e[n].id)return o[n];return o[0]},getLabelDimensions:function(e){return a.get(e.id)},componentSize:{width:r,height:i}},labelDims:a}}(A,B,K,_,r,s,W);q.current=e;const n=u(t),{nodePoints:o,nodeLabelPos:i,linkLabelPos:a}=function(e,t,n){const o=e.nodes,r=e.links,i=[],s=[],a=[];let d,c,u=!1,l=!1;for(let e=0;e<t.length;e++)d=o[t[e].id],i.push(d.position),d.label&&(u=!0),s.push(d.label);if(r)for(let e=0;e<n.length;e++)c=r[n[e].id],c.label&&(l=!0),a.push(c.label);return{nodePoints:i,nodeLabelPos:u?s:void 0,linkLabelPos:l?a:void 0}}(n,A,U);H.current=i,J.current=a,Q.current=n;const d=function(e,t){const n=[];for(let o=0;o<e.length;o++){const r=t[o],i=e[o];n.push({x:r.x,y:r.y,w:i.w,h:i.h})}return n}(_,o);var c,l;l=X,(c=d).length===l.length&&c.every((({x:e,y:t,w:n,h:o},r)=>l[r].x===e&&l[r].y===t&&l[r].w===n&&l[r].h===o))||Y(d);const f=function(e,t,n,o=[],r=[],i){if(0===o.length&&0===r.length)return;let s,a,d=1/0,c=1/0,u=-1/0,l=-1/0;for(let n=0;n<o.length;n++)a=o[n],a&&(s=P(a,e.get(t[n].id),i),d=s.x<d?s.x:d,c=s.y<c?s.y:c,u=s.x+s.w>u?s.x+s.w:u,l=s.y+s.h>l?s.y+s.h:l);for(let t=0;t<r.length;t++)a=r[t],a&&(s=P(a,e.get(n[t].id),i),d=s.x<d?s.x:d,c=s.y<c?s.y:c,u=s.x+s.w>u?s.x+s.w:u,l=s.y+s.h>l?s.y+s.h:l);return{x:d,w:u-d,y:c,h:l-c}}(e,A,U,i,a,"rtl"===Z);L(f),G.current=!1})))},nodeLabelPositions:H.current,linkLabelPositions:J.current,labelDimensions:q.current,supportsSelection:"none"!==d||!!(a?.nodes&&a.nodes.length>0)||!!(a?.links&&a.links.length>0),layoutOutput:Q.current,combinedNodeBounds:ee})}):void 0,$,ve,Ie,re]})}e.Diagram=function({width:e,height:r,...i}){return i.nodes&&i.nodes.length>0?t.jsx(n.TrackResizeContainer,{width:e,height:r,class:o.dimensionStyle,children:(e,n)=>t.jsx(ge,{width:e,height:n,...i})}):null}}));
2
- //# sourceMappingURL=Diagram-92f409e0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diagram-92f409e0.js","sources":["../../src/UNSAFE_Diagram/utils/diagramUtils.ts","../../src/UNSAFE_Diagram/DiagramNodeElement.tsx","../../src/UNSAFE_Diagram/DiagramNodeLayer.tsx","../../src/UNSAFE_Diagram/DiagramLinkElement.tsx","../../src/UNSAFE_Diagram/DiagramLinkLayer.tsx","../../src/UNSAFE_Diagram/DiagramLabel.tsx","../../src/UNSAFE_Diagram/DiagramLabelLayer.tsx","../../src/UNSAFE_Diagram/DiagramLayers.tsx","../../src/UNSAFE_Diagram/DiagramPanZoomContainer.tsx","../../src/UNSAFE_Diagram/utils/navUtils.ts","../../src/UNSAFE_Diagram/hooks/useDiagramNavigation.ts","../../src/UNSAFE_Diagram/hooks/useEvents.ts","../../src/UNSAFE_Diagram/hooks/useDiagramDatatip.ts","../../src/UNSAFE_Diagram/hooks/usePointerGesture.ts","../../src/UNSAFE_Diagram/utils/panUtils.ts","../../src/UNSAFE_Diagram/hooks/useDragPan.ts","../../src/UNSAFE_Diagram/hooks/useDrag.ts","../../src/UNSAFE_Diagram/utils/zoomUtils.ts","../../src/UNSAFE_Diagram/hooks/usePinch.ts","../../src/UNSAFE_Diagram/hooks/usePinchZoom.ts","../../src/UNSAFE_Diagram/hooks/usePanZoom.ts","../../src/UNSAFE_Diagram/hooks/useWheelZoom.ts","../../src/UNSAFE_Diagram/hooks/useWheel.ts","../../src/UNSAFE_Diagram/DiagramWithDimensions.tsx","../../src/UNSAFE_Diagram/hooks/useDiagramSelection.ts","../../src/UNSAFE_Diagram/Diagram.tsx"],"sourcesContent":["import type {\n Pan,\n Zoom,\n DiagramNodeData,\n DiagramLinkData,\n DiagramLayoutOutput,\n ItemInfo,\n Bounds,\n Position,\n Dimensions,\n DatatipContext,\n DiagramLabelStyles,\n DiagramLabelPosition\n} from '../diagram.types';\nimport type { RefObject } from 'preact';\nimport type { BundleType } from '#resources/nls/bundle';\nimport type { Font, GetTextDimensionsType, TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { ComponentChildren } from 'preact';\nimport { Property } from 'csstype';\nimport { generateAriaLabel } from '#utils/UNSAFE_visUtils/accUtils';\n\nconst ZOOM_TO_FIT_PADDING = 20;\n/**\n * Returns the pan properties for the diagram.\n */\nexport function getPanProps(\n props: Pan,\n contentBounds: Bounds,\n userDragMode: string | undefined,\n isDeviceTouch: boolean\n) {\n return {\n panning: isDeviceTouch\n ? userDragMode === 'pan' && props.panning\n ? props.panning\n : 'off'\n : props.panning\n ? props.panning\n : 'off',\n panDirection: props.panDirection ? props.panDirection : 'any',\n centerX: props.centerX !== undefined ? props.centerX : contentBounds.w / 2 + contentBounds.x,\n centerY: props.centerY !== undefined ? props.centerY : contentBounds.h / 2 + contentBounds.y,\n onPan: props.onPan\n };\n}\n\n/**\n * Returns the zoom properties for the diagram.\n */\nexport function getZoomProps(props: Zoom, width: number, height: number, contentBounds: Bounds) {\n const zoomTofitZoom = getZoomToFitZoom(width, height, contentBounds);\n const maxZoom = props.maxZoom || 1;\n const minZoom = props.minZoom || Math.min(maxZoom, zoomTofitZoom);\n const zoom = props.zoomValue ? props.zoomValue : zoomTofitZoom;\n return {\n zooming: props.zooming ? props.zooming : 'off',\n // default value of 0 indicates zoom-to-fit level\n minZoom: minZoom,\n maxZoom: maxZoom,\n // zoom value of 0 will default to zoom to fit\n zoomValue: constrainZoom(zoom, minZoom, maxZoom),\n onZoom: props.onZoom\n };\n}\n\n/**\n * Constructs the json object to be passed into the layout function\n */\nexport function constructLayoutJSON<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(\n nodes: D1[],\n nodeItems: Map<K1, D1>,\n linkItems: Map<K2, D2>,\n dimensions: Dimensions[],\n width: number,\n height: number,\n getTextDimensions?: GetTextDimensionsType\n) {\n const labelDims: Map<K1 | K2, TextDimensions> = new Map();\n const nodeKeys = Array.from(nodeItems.keys());\n for (const id of nodeKeys) {\n const item = nodeItems.get(id as K1);\n if (item && getTextDimensions && item.label) {\n const label = item.label;\n const fontProps = _getFontProps(item.labelStyle);\n labelDims.set(id as K1 | K2, getTextDimensions(label, fontProps));\n }\n }\n const linkKeys = Array.from(linkItems.keys());\n for (const id of linkKeys) {\n const item = linkItems.get(id as K2);\n if (item && getTextDimensions && item.label) {\n const label = item.label;\n const fontProps = _getFontProps(item.labelStyle);\n labelDims.set(id as K1 | K2, getTextDimensions(label, fontProps));\n }\n }\n const getLabelDimensions = function (data: D1 | D2) {\n return labelDims.get(data.id);\n };\n const getNodeDimensions = function (data: D1) {\n for (let i = 0; i < nodes.length; i++) {\n if (data.id === nodes[i].id) {\n return dimensions[i];\n }\n }\n return dimensions[0];\n };\n\n return {\n layoutJSON: {\n getNodeDimensions: getNodeDimensions,\n getLabelDimensions: getLabelDimensions,\n componentSize: {\n width: width,\n height: height\n }\n },\n labelDims: labelDims\n };\n}\n\n/**\n * Deconstructs the output of the layout function\n */\nexport function deconstructLayoutJSON<\n K1 extends string | number,\n K2 extends string | number,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>,\n L extends DiagramLayoutOutput<K1, K2>\n>(layoutJSON: L, nodeData: D1[], linkData: D2[]) {\n const nodes = layoutJSON.nodes;\n const links = layoutJSON.links;\n const positions: Position[] = [];\n const nodeLabelPos: (DiagramLabelPosition | undefined)[] = [];\n const linkLabelPos: DiagramLabelPosition[] = [];\n let hasNodeLabels = false;\n let hasLinkLabels = false;\n let node, link;\n for (let i = 0; i < nodeData.length; i++) {\n node = nodes[nodeData[i].id];\n positions.push(node.position);\n if (node.label) hasNodeLabels = true;\n nodeLabelPos.push(node.label);\n }\n if (links) {\n for (let i = 0; i < linkData.length; i++) {\n link = links[linkData[i].id];\n if (link.label) hasLinkLabels = true;\n linkLabelPos.push(link.label);\n }\n }\n return {\n nodePoints: positions,\n nodeLabelPos: hasNodeLabels ? nodeLabelPos : undefined,\n linkLabelPos: hasLinkLabels ? linkLabelPos : undefined\n };\n}\n\n/**\n * Merges the node points into the dimensions\n */\nexport function mergeDimensions(dimensions: Dimensions[], nodePoints: Position[]) {\n const newBounds: Bounds[] = [];\n for (let i = 0; i < dimensions.length; i++) {\n const point = nodePoints[i];\n const dim = dimensions[i];\n newBounds.push({ x: point.x, y: point.y, w: dim.w, h: dim.h });\n }\n return newBounds;\n}\n\n/**\n * Deep equality check for whether two arrays of bounds are the same\n */\nexport function isEqualBounds(bounds1: Bounds[], bounds2: Bounds[]) {\n if (bounds1.length !== bounds2.length) return false;\n return bounds1.every(\n ({ x, y, w, h }, i) =>\n bounds2[i].x === x && bounds2[i].y === y && bounds2[i].w === w && bounds2[i].h === h\n );\n}\n\n/**\n * Returns the text for the diagram datatip.\n */\nexport function getDatatipContent<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(\n nodesMap: Map<K1, D1>,\n linksMap: Map<K2, D2>,\n focusedItem?: ItemInfo<K1, K2>,\n hoveredItem?: ItemInfo<K1, K2>,\n datatip?: (detail: DatatipContext<D1, D2>) => {\n content: ComponentChildren;\n borderColor?: Property.BorderColor;\n }\n) {\n let itemInfo;\n const isPointerActive = hoveredItem?.isCurrent;\n if (isPointerActive && hoveredItem.id != null) {\n itemInfo = hoveredItem;\n }\n if (focusedItem && focusedItem.isCurrent) {\n itemInfo = focusedItem;\n }\n if (itemInfo && datatip) {\n return datatip(\n itemInfo.isNode\n ? { data: nodesMap.get(itemInfo.id as K1) as D1, type: 'node' }\n : { data: linksMap.get(itemInfo.id as K2) as D2, type: 'link' }\n );\n }\n if (itemInfo) {\n const text = (\n itemInfo.isNode ? nodesMap.get(itemInfo.id as K1) : linksMap.get(itemInfo.id as K2)\n )?.accessibleLabel;\n return {\n content: text\n };\n }\n return;\n}\n\n/**\n * Creates a map with key id and value node or link data\n */\nexport function createItemMap<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(items: (D1 | D2)[]) {\n const itemIdToDataMap = new Map();\n const itemIdToIndexMap = new Map();\n const itemIndexToIdMap = new Map();\n for (let i = 0; i < items.length; i++) {\n itemIdToDataMap.set(items[i].id, items[i]);\n itemIdToIndexMap.set(items[i].id, i);\n itemIndexToIdMap.set(i, items[i].id);\n }\n return {\n itemIdToDataMap,\n itemIdToIndexMap,\n itemIndexToIdMap\n };\n}\n\n/**\n * Filter out links with no start or end nodes\n */\nexport function filterLinksWithNoEndNodes<K2, K1, D1, D2 extends DiagramLinkData<K2, K1>>(\n links: D2[],\n nodesMap: Map<K1, D1>\n) {\n const newLinks: D2[] = [];\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n if (nodesMap.get(link.startNode) && nodesMap.get(link.endNode)) {\n newLinks.push(link);\n }\n }\n return newLinks;\n}\n\n/**\n * Pulls out the dimensions from an array of bounds\n */\nexport function getDimensionsFromBounds(bounds: Bounds[]) {\n const dims: Dimensions[] = [];\n for (let i = 0; i < bounds.length; i++) {\n dims.push({ w: bounds[i].w, h: bounds[i].h });\n }\n return dims;\n}\n\n/**\n * Returns true if event is a selection event\n */\nexport function isSelectionEvent(event: KeyboardEvent): boolean {\n if (event.altKey && (event.key === '≥' || event.key === '≤')) {\n return true;\n }\n return false;\n}\n\n/**\n * Returns the center position of the node or link\n * For links, draws a straight line between the centers of the start/end node\n * and returns the center of that line\n */\nexport function getFocusedItemBounds<K1, K2, D2 extends DiagramLinkData<K2, K1>>(\n focusedItemInfo: ItemInfo<K1, K2>,\n bounds: Bounds[],\n links: D2[],\n nodeIdToIndexMap: Map<K1, number>,\n linkIdToIndexMap: Map<K2, number>\n) {\n if (focusedItemInfo.isNode) {\n const idx = nodeIdToIndexMap.get(focusedItemInfo.id as K1);\n // Return the first element if cannot find the Node index\n return bounds[idx || 0];\n } else {\n // Center of a straight line between start/end node centers\n const link = links[linkIdToIndexMap.get(focusedItemInfo.id as K2) || 0];\n const startNB = bounds[nodeIdToIndexMap.get(link.startNode) || 0];\n const endNB = bounds[nodeIdToIndexMap.get(link.endNode) || 0];\n const startNCenter = { x: startNB.x + startNB.w / 2, y: startNB.y + startNB.h / 2 };\n const endNCenter = { x: endNB.x + endNB.w / 2, y: endNB.y + endNB.h / 2 };\n const minX = Math.min(startNCenter.x, endNCenter.x);\n const minY = Math.min(startNCenter.y, endNCenter.y);\n return {\n x: minX,\n y: minY,\n w: Math.abs(startNCenter.x - endNCenter.x),\n h: Math.abs(startNCenter.y - endNCenter.y)\n };\n }\n}\n/**\n * Combines the node and link ids into one array\n */\nexport function combineIds<K1, K2>(nodeIds?: K1[], linkIds?: K2[]) {\n const combinedIds: (K1 | K2)[] = [];\n if (nodeIds) {\n for (let i = 0; i < nodeIds.length; i++) {\n combinedIds.push(nodeIds[i]);\n }\n }\n if (linkIds) {\n for (let i = 0; i < linkIds.length; i++) {\n combinedIds.push(linkIds[i]);\n }\n }\n return combinedIds;\n}\n\n/**\n * Returns the bounds of the diagram content\n */\nexport function getContentBounds(nodeBounds: Bounds[], labelBounds?: Bounds): Bounds {\n if (nodeBounds.length === 0) return { x: 0, w: Infinity, y: 0, h: Infinity };\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n let dims;\n for (let i = 0; i < nodeBounds.length; i++) {\n dims = nodeBounds[i];\n minX = dims.x < minX ? dims.x : minX;\n minY = dims.y < minY ? dims.y : minY;\n maxX = dims.x + dims.w > maxX ? dims.x + dims.w : maxX;\n maxY = dims.y + dims.h > maxY ? dims.y + dims.h : maxY;\n }\n if (labelBounds) {\n minX = labelBounds.x < minX ? labelBounds.x : minX;\n minY = labelBounds.y < minY ? labelBounds.y : minY;\n maxX = labelBounds.x + labelBounds.w > maxX ? labelBounds.x + labelBounds.w : maxX;\n maxY = labelBounds.y + labelBounds.h > maxY ? labelBounds.y + labelBounds.h : maxY;\n }\n return { x: minX, w: maxX - minX, y: minY, h: maxY - minY };\n}\n\n/**\n * Returns the label bounds\n */\nexport function getAllLabelBounds<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(\n labelDims: Map<K1 | K2, TextDimensions>,\n nodes: D1[],\n links: D2[],\n nodeLabelPos: (DiagramLabelPosition | undefined)[] = [],\n linkLabelPos: DiagramLabelPosition[] = [],\n isRTL: boolean\n) {\n if (nodeLabelPos.length === 0 && linkLabelPos.length === 0) return undefined;\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n let dims, label;\n for (let i = 0; i < nodeLabelPos.length; i++) {\n label = nodeLabelPos[i];\n if (!label) continue;\n dims = getLabelBounds(label, labelDims.get(nodes[i].id)!, isRTL);\n minX = dims.x < minX ? dims.x : minX;\n minY = dims.y < minY ? dims.y : minY;\n maxX = dims.x + dims.w > maxX ? dims.x + dims.w : maxX;\n maxY = dims.y + dims.h > maxY ? dims.y + dims.h : maxY;\n }\n for (let i = 0; i < linkLabelPos.length; i++) {\n label = linkLabelPos[i];\n if (!label) continue;\n dims = getLabelBounds(label, labelDims.get(links[i].id)!, isRTL);\n minX = dims.x < minX ? dims.x : minX;\n minY = dims.y < minY ? dims.y : minY;\n maxX = dims.x + dims.w > maxX ? dims.x + dims.w : maxX;\n maxY = dims.y + dims.h > maxY ? dims.y + dims.h : maxY;\n }\n return { x: minX, w: maxX - minX, y: minY, h: maxY - minY };\n}\n\nfunction getLabelBounds(label: DiagramLabelPosition, dims: TextDimensions, isRTL: boolean) {\n const labelPos = getLabelPosition(dims, label, isRTL);\n const isRotating = label.rotationAngle;\n if (!isRotating) {\n return { x: labelPos.x, y: labelPos.y, w: dims.width, h: dims.height };\n } else {\n // Find the 4 corners of the label bounds relative to the rotation point\n const rotationPoint = label.rotationPoint\n ? label.rotationPoint\n : { x: dims.width / 2, y: dims.height / 2 };\n const angle = label.rotationAngle!;\n const topLeft = getCoordsRelToRotPoint({ x: 0, y: 0 }, rotationPoint);\n const topRight = getCoordsRelToRotPoint({ x: dims.width, y: 0 }, rotationPoint);\n const bottomLeft = getCoordsRelToRotPoint({ x: 0, y: dims.height }, rotationPoint);\n const bottomRight = getCoordsRelToRotPoint({ x: dims.width, y: dims.height }, rotationPoint);\n const rotTopLeft = rotatePoint(topLeft, angle);\n const rotBotLeft = rotatePoint(bottomLeft, angle);\n const rotTopRight = rotatePoint(topRight, angle);\n const rotBotRight = rotatePoint(bottomRight, angle);\n const points = [rotTopLeft, rotBotLeft, rotTopRight, rotBotRight].map((pos: Position) => {\n return {\n x: pos.x + labelPos.x + rotationPoint.x,\n y: pos.y + labelPos.y + rotationPoint.y\n };\n });\n return getBoundsFromPoints(points);\n }\n}\n\nfunction getCoordsRelToRotPoint(labelPoint: Position, rotPoint: Position) {\n return { x: labelPoint.x - rotPoint.x, y: labelPoint.y - rotPoint.y };\n}\n\nfunction rotatePoint(pos: Position, angle: number) {\n return {\n x: pos.x * Math.cos(angle) - pos.y * Math.sin(angle),\n y: pos.x * Math.sin(angle) + pos.y * Math.cos(angle)\n };\n}\n\nfunction getBoundsFromPoints(points: Position[]) {\n let minX = points[0].x;\n let minY = points[0].y;\n let maxX = points[0].x;\n let maxY = points[0].y;\n for (let i = 1; i < points.length; i++) {\n const point = points[i];\n if (point.x < minX) minX = point.x;\n else if (point.x > maxX) maxX = point.x;\n if (point.y < minY) minY = point.y;\n else if (point.y > maxY) maxY = point.y;\n }\n return {\n x: minX,\n y: minY,\n w: maxX - minX,\n h: maxY - minY\n };\n}\n\n/**\n * Returns the position of the label\n * @param dimensions\n * @param positionProps\n * @returns position of the label\n */\nexport function getLabelPosition(\n dimensions: TextDimensions,\n positionProps: DiagramLabelPosition,\n isRTL: boolean\n) {\n const position = positionProps.position;\n const hAlign = positionProps.hAlign ? positionProps.hAlign : isRTL ? 'right' : 'left';\n const vAlign = positionProps.vAlign;\n let x, y;\n if (hAlign === 'center') {\n x = position.x - dimensions.width / 2;\n } else if (hAlign === 'right') {\n x = position.x - dimensions.width;\n } else {\n x = position.x;\n }\n\n if (vAlign === 'middle') {\n y = position.y - dimensions.height / 2;\n } else if (vAlign === 'bottom') {\n y = position.y - dimensions.height;\n } else if (vAlign === 'baseline') {\n y = position.y + dimensions.y;\n } else {\n y = position.y;\n }\n return {\n x: x,\n y: y\n };\n}\n\n/**\n * Converts centerX,Y coordinates to panX,Y coordinates\n */\nexport function centerXYToPanXY(\n centerX: number,\n centerY: number,\n zoom: number,\n width: number,\n height: number\n) {\n return {\n panX: width / 2 - centerX * zoom,\n panY: height / 2 - centerY * zoom\n };\n}\n/**\n * Converts panX,Y coordinates to centerX,Y coordinates\n */\nexport function panXYToCenterXY(\n panX: number,\n panY: number,\n zoom: number,\n width: number,\n height: number\n) {\n return {\n centerX: (width / 2 - panX) / zoom,\n centerY: (height / 2 - panY) / zoom\n };\n}\n\n/**\n * Compares if two ItemInfo are equal\n */\nexport function isEqualItem<K1, K2>(item1?: ItemInfo<K1, K2>, item2?: ItemInfo<K1, K2>) {\n return item1?.id === item2?.id && item1?.isNode === item2?.isNode;\n}\n\n/**\n * Returns the item info of the data-oj-node or data-oj-link attribute for a given element.\n */\nexport function getNavigableInfo<K1, K2>(\n element: HTMLElement,\n rootElementRef?: RefObject<HTMLDivElement>\n): ItemInfo<K1, K2> {\n let isNode = false;\n let elem = element;\n let navigableId;\n while (!navigableId) {\n navigableId = elem.dataset['node'];\n if (navigableId) {\n isNode = true;\n } else {\n navigableId = elem.dataset['link'];\n }\n if (!navigableId) {\n if (elem.parentElement && elem.parentElement !== rootElementRef?.current) {\n elem = elem.parentElement;\n } else {\n break;\n }\n }\n }\n return {\n id: navigableId as K1 | K2,\n isNode: isNode\n };\n}\n\n/**\n * Returns the id of the focused item.\n */\nexport function getFocusedItem<K1, K2>(\n focusedItemInfo: ItemInfo<K1, K2>,\n hoveredItemInfo?: ItemInfo<K1, K2>\n) {\n let focused;\n if (focusedItemInfo.isCurrent && focusedItemInfo.isFocusVisible) {\n focused = focusedItemInfo.id;\n } else if (hoveredItemInfo?.isCurrent) {\n focused = hoveredItemInfo.id;\n }\n return focused;\n}\n\n/**\n * Returns the aria label\n */\nexport function getItemAriaLabel(\n translations: BundleType,\n supportsSelection: boolean,\n isSelected?: boolean,\n accessibleLabel?: string\n) {\n return generateAriaLabel(translations, accessibleLabel || '', {\n isSelected: !supportsSelection ? undefined : isSelected\n });\n}\n\n/**\n * Returns the zoom to fit zoom level\n */\nexport function getZoomToFitZoom(width: number, height: number, contentBounds: Bounds) {\n const zoomX = (width - 2 * ZOOM_TO_FIT_PADDING) / contentBounds.w;\n const zoomY = (height - 2 * ZOOM_TO_FIT_PADDING) / contentBounds.h;\n return Math.min(zoomX, zoomY);\n}\n\n/**\n * Constrains the zoom level\n */\nfunction constrainZoom(zoom: number, minZoom: number, maxZoom: number) {\n let newZoom = Math.max(minZoom, zoom);\n newZoom = Math.min(maxZoom, newZoom);\n return newZoom;\n}\n\n/**\n * Returns the font props for a node or link\n */\nfunction _getFontProps(styles?: DiagramLabelStyles) {\n const fontProps: Font = {};\n if (!styles) return fontProps;\n if (styles.fontFamily) fontProps.fontFamily = styles.fontFamily;\n if (styles.fontSize) fontProps.fontSize = styles.fontSize;\n if (styles.fontStyle) fontProps.fontStyle = styles.fontStyle;\n if (styles.fontWeight) fontProps.fontWeight = styles.fontWeight;\n return fontProps;\n}\n\n/**\n * Returns the panX, panY, and zoom when zooming and centering an item\n */\nexport function zoomAndCenterItemFromInfo<K1, K2, D2 extends DiagramLinkData<K2, K1>>(\n info: ItemInfo<K1, K2>,\n linkIdToDataMap: Map<K2, D2>,\n bounds: Bounds[],\n nodeIdToIndex: Map<K1, number>,\n width: number,\n height: number,\n maxZoom: number\n) {\n const isNode = info.isNode;\n let totalBounds;\n if (isNode) {\n const nodeIndex = nodeIdToIndex.get(info.id as K1)!;\n totalBounds = bounds[nodeIndex];\n } else {\n const link = linkIdToDataMap.get(info.id as K2)!;\n const startNodeBounds = bounds[nodeIdToIndex.get(link.startNode)!];\n const endNodeBounds = bounds[nodeIdToIndex.get(link.endNode)!];\n const minX = Math.min(startNodeBounds.x, endNodeBounds.x);\n const minY = Math.min(startNodeBounds.y, endNodeBounds.y);\n const maxX = Math.max(\n startNodeBounds.x + startNodeBounds.w,\n endNodeBounds.x + startNodeBounds.w\n );\n const maxY = Math.max(startNodeBounds.y + startNodeBounds.h, endNodeBounds.y + endNodeBounds.h);\n totalBounds = { x: minX, y: minY, w: maxX - minX, h: maxY - minY };\n }\n return getPanZoomToCenterNode(totalBounds, maxZoom, width, height);\n}\n\n/**\n * Returns the pan and zoom values in order\n * to center a node or link\n */\nfunction getPanZoomToCenterNode(bounds: Bounds, maxZoom: number, width: number, height: number) {\n const zoomX = (width - 2 * ZOOM_TO_FIT_PADDING) / bounds.w;\n const zoomY = (height - 2 * ZOOM_TO_FIT_PADDING) / bounds.h;\n const zoom = Math.min(zoomX, zoomY, maxZoom);\n const cX = bounds.w / 2 + bounds.x;\n const cY = bounds.h / 2 + bounds.y;\n return { centerX: cX, centerY: cY, zoom: zoom };\n}\n","import type { Position, State, NodeRendererContext } from './diagram.types';\nimport { useResizeObserver } from '#hooks/UNSAFE_useResizeObserver';\nimport { useCallback, useRef } from 'preact/hooks';\nimport { getItemAriaLabel } from './utils/diagramUtils';\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { itemStyles } from './themes/DiagramStyles.css';\nimport { ComponentChildren } from 'preact';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '#resources/nls/bundle';\n\n/**\n * Props for node component\n */\ntype NodeProps<K1, D1> = {\n id: K1;\n position: Position;\n label?: string;\n state: State;\n previousState: State;\n isDimmed?: boolean;\n activeId?: string;\n accessibleLabel?: string;\n nodeIndex: number;\n data: D1;\n nodeRenderer: (context: NodeRendererContext<D1>) => ComponentChildren;\n onNodeSizeChanged: (width: number, height: number, idx: number) => void;\n supportsSelection: boolean;\n};\n\nexport const DiagramNodeElement = <K1, D1>({\n id,\n state,\n previousState,\n position,\n activeId,\n nodeRenderer,\n onNodeSizeChanged,\n nodeIndex,\n data,\n accessibleLabel,\n isDimmed,\n supportsSelection\n}: NodeProps<K1, D1>) => {\n const { nodeStyles, dimmedItemStyle } = itemStyles;\n const context = {\n state: state,\n previousState: previousState,\n data: data\n };\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const ref = useRef<HTMLDivElement>(null);\n // TODO JET-62472 change to one resize observer function\n const optionsRef = useRef({ box: 'border-box' as const });\n useResizeObserver(\n ref,\n useCallback(\n (entry: ResizeObserverEntry) => {\n const boxSize = entry.borderBoxSize;\n const width = boxSize[0].inlineSize;\n const height = boxSize[0].blockSize;\n onNodeSizeChanged(width, height, nodeIndex);\n },\n [nodeIndex, onNodeSizeChanged]\n ),\n optionsRef.current\n );\n return (\n <div\n ref={ref}\n key={id}\n class={classNames([nodeStyles, isDimmed ? dimmedItemStyle : undefined])}\n data-node={id}\n role=\"img\"\n aria-label={getItemAriaLabel(\n translations,\n supportsSelection,\n state.selected,\n accessibleLabel\n )}\n style={{\n top: position.y,\n left: position.x\n }}\n id={state.focused || state.hovered ? activeId : undefined}>\n {nodeRenderer(context)}\n </div>\n );\n};\n","import { ComponentChildren } from 'preact';\nimport type { States, NodeRendererContext, Bounds, DiagramNodeData } from './diagram.types';\nimport { DiagramNodeElement } from './DiagramNodeElement';\nimport { layerStyles } from './themes/DiagramStyles.css';\n\ntype Props<K1, K2, D1> = {\n nodes: D1[];\n states: States<K1, K2>;\n previousStates: States<K1, K2>;\n nodeRenderer: (context: NodeRendererContext<D1>) => ComponentChildren;\n onNodeSizeChanged: (width: number, height: number, idx: number) => void;\n nodeBounds?: Bounds[];\n supportsSelection: boolean;\n};\n\nexport function DiagramNodeLayer<K1, K2, D1 extends DiagramNodeData<K1>>({\n nodes,\n states,\n previousStates,\n nodeRenderer,\n nodeBounds,\n onNodeSizeChanged,\n supportsSelection\n}: Props<K1, K2, D1>) {\n return (\n <div class={layerStyles}>\n {nodes.map((node, i) => {\n // this is for initial render before the layout function so render all nodes at 0,0\n const position =\n nodeBounds && nodeBounds[i] ? { x: nodeBounds[i].x, y: nodeBounds[i].y } : { x: 0, y: 0 };\n const state = {\n selected: states.selectedNodeIds.includes(node.id),\n focused: states.focusedId === node.id,\n hovered: states.hoveredId === node.id,\n zoom: states.zoom\n };\n const previousState = {\n selected: previousStates.selectedNodeIds.includes(node.id),\n focused: previousStates.focusedId === node.id,\n hovered: previousStates.hoveredId === node.id,\n zoom: previousStates.zoom\n };\n return (\n <DiagramNodeElement\n id={node.id}\n position={position}\n state={state}\n previousState={previousState}\n isDimmed={\n states.highlightedIds.length !== 0 && !states.highlightedIds.includes(node.id)\n }\n activeId={states.activeId}\n nodeRenderer={nodeRenderer}\n onNodeSizeChanged={onNodeSizeChanged}\n nodeIndex={i}\n accessibleLabel={node.accessibleLabel}\n data={node}\n supportsSelection={supportsSelection}\n />\n );\n })}\n </div>\n );\n}\n","import type { State, LinkRendererContext } from './diagram.types';\nimport { getItemAriaLabel } from './utils/diagramUtils';\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { itemStyles } from './themes/DiagramStyles.css';\nimport { ComponentChildren } from 'preact';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '#resources/nls/bundle';\n\n/**\n * Props for Link\n */\nexport type LinkProps<K2, D2, L> = {\n id: K2;\n label?: string;\n state: State;\n previousState: State;\n isDimmed?: boolean;\n activeId?: string;\n accessibleLabel?: string;\n data: D2;\n linkRenderer: (context: LinkRendererContext<D2, L>) => ComponentChildren;\n supportsSelection: boolean;\n layoutOutput: L;\n};\n\nexport const DiagramLinkElement = <K2, D2, L>({\n id,\n state,\n previousState,\n activeId,\n data,\n linkRenderer,\n accessibleLabel,\n isDimmed,\n supportsSelection,\n layoutOutput\n}: LinkProps<K2, D2, L>) => {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const { dimmedItemStyle, linkStyles } = itemStyles;\n const context = {\n state: state,\n previousState: previousState,\n data: data,\n layoutOutput: layoutOutput\n };\n return (\n <g\n key={id}\n id={state.focused ? activeId : undefined}\n aria-label={getItemAriaLabel(\n translations,\n supportsSelection,\n state.selected,\n accessibleLabel\n )}\n data-link={id}\n role=\"img\"\n class={classNames([linkStyles, isDimmed && dimmedItemStyle])}>\n {linkRenderer(context)}\n </g>\n );\n};\n","import { ComponentChildren } from 'preact';\nimport type {\n States,\n LinkRendererContext,\n DiagramLinkData,\n DiagramLayoutOutput,\n Bounds\n} from './diagram.types';\nimport { DiagramLinkElement } from './DiagramLinkElement';\nimport { layerStyles } from './themes/DiagramStyles.css';\nimport { getZoomToFitZoom } from './utils/diagramUtils';\n\ntype Props<K2, K1, D2, L> = {\n links: D2[];\n states: States<K1, K2>;\n previousStates: States<K1, K2>;\n linkRenderer: (context: LinkRendererContext<D2, L>) => ComponentChildren;\n width: number;\n height: number;\n supportsSelection: boolean;\n layoutOutput: L;\n combinedNodeBounds: Bounds;\n};\n\nexport function DiagramLinkLayer<\n K2 extends string | number,\n K1 extends string | number,\n D2 extends DiagramLinkData<K2, K1> = DiagramLinkData<K2, K1>,\n L extends DiagramLayoutOutput<K1, K2> = DiagramLayoutOutput<K1, K2>\n>({\n links,\n states,\n previousStates,\n linkRenderer,\n width,\n height,\n supportsSelection,\n layoutOutput,\n combinedNodeBounds\n}: Props<K2, K1, D2, L>) {\n const zoom = getZoomToFitZoom(width, height, combinedNodeBounds);\n return (\n <svg class={layerStyles} width={width / zoom} height={height / zoom}>\n {links.map((link) => {\n const state = {\n selected: states.selectedLinkIds.includes(link.id),\n focused: states.focusedId === link.id,\n hovered: states.hoveredId === link.id,\n zoom: states.zoom\n };\n const previousState = {\n selected: previousStates.selectedLinkIds.includes(link.id),\n focused: previousStates.focusedId === link.id,\n hovered: previousStates.hoveredId === link.id,\n zoom: previousStates.zoom\n };\n return (\n <DiagramLinkElement\n id={link.id}\n label={link.label}\n state={state}\n previousState={previousState}\n isDimmed={\n states.highlightedIds.length !== 0 && !states.highlightedIds.includes(link.id)\n }\n activeId={states.activeId}\n accessibleLabel={link.accessibleLabel}\n data={link}\n linkRenderer={linkRenderer}\n supportsSelection={supportsSelection}\n layoutOutput={layoutOutput}\n />\n );\n })}\n </svg>\n );\n}\n","import type { DiagramLabelPosition, DiagramLabelStyles } from './diagram.types';\nimport { getLabelPosition } from './utils/diagramUtils';\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { labelStyles } from './themes/DiagramStyles.css';\nimport type { TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { Property } from 'csstype';\n\n/**\n * Props for the label component\n */\ntype LabelProps = {\n styles?: LabelStyles;\n text: string;\n position: DiagramLabelPosition;\n dimensions: TextDimensions;\n isRTL: boolean;\n};\n\n/**\n * Label styles\n */\ntype LabelStyles = DiagramLabelStyles & {\n borderStyle?: Property.BorderStyle;\n};\n\nexport const DiagramLabel = ({ text, position, styles, dimensions, isRTL }: LabelProps) => {\n const { labelStyle, labelBorderStyle } = labelStyles;\n\n const labelPosition = getLabelPosition(dimensions, position, isRTL);\n const labelRotation = getLabelRotation(position);\n return (\n <div\n class={classNames([labelStyle, styles && styles.borderColor && labelBorderStyle])}\n style={{\n top: labelPosition.y,\n left: labelPosition.x,\n ...styles,\n ...labelRotation\n }}>\n {text}\n </div>\n );\n};\n\n/**\n * Returns the label rotation props\n * @param position\n * @returns rotation props\n */\nfunction getLabelRotation(position: DiagramLabelPosition) {\n const rotationAngle = position.rotationAngle;\n const rotationPoint = position.rotationPoint;\n const rotation: {\n transform?: string;\n 'transform-origin'?: string;\n } = {};\n if (rotationAngle) {\n rotation['transform'] = `rotate(${rotationAngle}deg)`;\n }\n if (rotationPoint) {\n rotation['transform-origin'] = `${rotationPoint.x}px ${rotationPoint.y}px`;\n }\n return rotation;\n}\n","import type { DiagramLabelPosition, DiagramNodeData, DiagramLinkData } from './diagram.types';\nimport { DiagramLabel } from './DiagramLabel';\nimport type { TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { layerStyles } from './themes/DiagramStyles.css';\nimport { useUser } from '#hooks/UNSAFE_useUser';\n\ntype Props<K1, K2, D1, D2> = {\n labelPosition: (DiagramLabelPosition | undefined)[];\n itemProps: (D1 | D2)[];\n labelDimensions: Map<K1 | K2, TextDimensions>;\n};\n\nexport function DiagramLabelLayer<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>({ labelPosition, itemProps, labelDimensions }: Props<K1, K2, D1, D2>) {\n const { direction } = useUser();\n return (\n <div class={layerStyles}>\n {itemProps.map((item, i) => {\n if (item.label && labelPosition[i]) {\n return (\n <DiagramLabel\n styles={item.labelStyle}\n text={item.label}\n position={labelPosition[i]!}\n dimensions={labelDimensions.get(item.id)!}\n isRTL={direction === 'rtl'}\n />\n );\n }\n return undefined;\n })}\n </div>\n );\n}\n","import type {\n NodeRendererContext,\n LinkRendererContext,\n States,\n Bounds,\n DiagramLabelPosition,\n DiagramNodeData,\n DiagramLinkData,\n DiagramLayoutOutput\n} from './diagram.types';\nimport { DiagramNodeLayer } from './DiagramNodeLayer';\nimport { DiagramLinkLayer } from './DiagramLinkLayer';\nimport { DiagramLabelLayer } from './DiagramLabelLayer';\nimport { ComponentChildren } from 'preact';\nimport type { TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\n\n/**\n * Props for Diagram layers component\n */\ntype DiagramLayersProps<K1, K2, D1, D2, L> = {\n nodes: D1[];\n links: D2[];\n nodeRenderer: (context: NodeRendererContext<D1>) => ComponentChildren;\n linkRenderer?: (context: LinkRendererContext<D2, L>) => ComponentChildren;\n states: States<K1, K2>;\n previousStates: States<K1, K2>;\n nodeBounds: Bounds[];\n // width height are for svg for links\n width: number;\n height: number;\n onNodeSizeChanged: (width: number, height: number, idx: number) => void;\n nodeLabelPositions?: (DiagramLabelPosition | undefined)[];\n linkLabelPositions?: (DiagramLabelPosition | undefined)[];\n labelDimensions?: Map<K1 | K2, TextDimensions>;\n supportsSelection: boolean;\n layoutOutput?: L;\n combinedNodeBounds?: Bounds;\n};\n\nexport function DiagramLayers<\n K1 extends string | number,\n K2 extends string | number,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>,\n L extends DiagramLayoutOutput<K1, K2>\n>({\n nodes,\n links,\n nodeRenderer,\n linkRenderer,\n states,\n previousStates,\n nodeBounds,\n onNodeSizeChanged,\n width,\n height,\n nodeLabelPositions,\n linkLabelPositions,\n labelDimensions,\n supportsSelection,\n layoutOutput,\n combinedNodeBounds\n}: DiagramLayersProps<K1, K2, D1, D2, L>) {\n return (\n <>\n {links.length > 0 &&\n layoutOutput &&\n linkRenderer &&\n width !== Infinity &&\n combinedNodeBounds && (\n <DiagramLinkLayer\n links={links}\n states={states}\n previousStates={previousStates}\n linkRenderer={linkRenderer}\n width={width}\n height={height}\n supportsSelection={supportsSelection}\n layoutOutput={layoutOutput}\n combinedNodeBounds={combinedNodeBounds}\n />\n )}\n <DiagramNodeLayer\n nodes={nodes}\n nodeBounds={nodeBounds}\n states={states}\n previousStates={previousStates}\n nodeRenderer={nodeRenderer}\n onNodeSizeChanged={onNodeSizeChanged}\n supportsSelection={supportsSelection}\n />\n {labelDimensions ? (\n <div>\n {nodeLabelPositions ? (\n <DiagramLabelLayer\n labelPosition={nodeLabelPositions}\n itemProps={nodes}\n labelDimensions={labelDimensions}\n />\n ) : undefined}\n {links && linkLabelPositions ? (\n <DiagramLabelLayer\n labelPosition={linkLabelPositions}\n itemProps={links}\n labelDimensions={labelDimensions}\n />\n ) : undefined}\n </div>\n ) : undefined}\n </>\n );\n}\n","import { ComponentChildren } from 'preact';\nimport { centerXYToPanXY } from './utils/diagramUtils';\nimport { panZoomStyles } from './themes/DiagramStyles.css';\n\ntype Props = {\n centerX: number;\n centerY: number;\n zoom: number;\n width: number;\n height: number;\n children: ComponentChildren;\n};\n\nexport function DiagramPanZoomContainer({\n centerX,\n centerY,\n children,\n zoom,\n width,\n height\n}: Props) {\n const panValues = centerXYToPanXY(centerX, centerY, zoom, width, height);\n return (\n <div\n class={panZoomStyles}\n style={{\n //TODO JET-62471 look at using matrices or both in transform instead\n translate: `${panValues.panX}px ${panValues.panY}px`,\n transform: `scale(${zoom})`\n }}>\n {children}\n </div>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport type { DiagramNodeData, DiagramLinkData, Bounds, ItemInfo } from '../diagram.types';\n\n/**\n * Navigation direction\n */\nexport type NavDirection = 'right' | 'left' | 'up' | 'down';\n\ntype linkDetailType<K2> = {\n id: K2;\n angle: number;\n distance: number;\n /**\n * Ingoing = 1, outgoing = 0\n */\n direction: 0 | 1;\n};\n\n/**\n * Returns the node data based on node info in a diagram.\n * @param itemInfo\n * @returns\n */\nexport function getNodeDetailFromInfo<K1, K2, D1 extends DiagramNodeData<K1>>(\n itemInfo: ItemInfo<K1, K2>,\n nodes: D1[]\n): D1 | undefined {\n let node;\n for (let i = 0; i < nodes.length; i++) {\n node = nodes[i];\n if (itemInfo.id === node.id) {\n return node;\n }\n }\n return undefined;\n}\n\n/**\n * Returns the link data based on link info in a diagram.\n * @param itemInfo\n * @returns\n */\nexport function getLinkDetailFromInfo<K1, K2, D2 extends DiagramLinkData<K2, K1>>(\n itemInfo: ItemInfo<K1, K2>,\n links: D2[]\n): D2 | undefined {\n let link;\n for (let i = 0; i < links.length; i++) {\n link = links[i];\n if (itemInfo.id === link.id) {\n return link;\n }\n }\n return undefined;\n}\n\n/**\n * Creates a map with key node id and value node bounds\n */\nexport function createNodeBoundsMap<K1, D1 extends DiagramNodeData<K1>>(\n nodes: D1[],\n bounds: Bounds[]\n) {\n const nodeBounds: Map<K1, Bounds> = new Map();\n for (let i = 0; i < nodes.length; i++) {\n nodeBounds.set(nodes[i].id, bounds[i]);\n }\n return nodeBounds;\n}\n\n/**\n * Utility method that adds sorting attributes of each link to an array\n */\nexport function addSortingAttributes<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(node: D1, listOfLinks: D2[], nodes: D1[], nodeBounds: Map<K1, Bounds>) {\n let angle, distance, direction;\n const linkDetail: linkDetailType<K2>[] = [];\n for (let i = 0; i < listOfLinks.length; i++) {\n const link = listOfLinks[i];\n angle = _getClockwiseAngle(node, link, nodes, nodeBounds);\n distance = _getNodesDistance(link, nodes, nodeBounds);\n direction = _getLinkDirection(node, link);\n linkDetail.push({ id: link.id, angle: angle, distance: distance, direction: direction });\n }\n return linkDetail;\n}\n\n/**\n * Returns a function that compares two link around a given node\n * The links are analyzed by angle, distance from the node and direction. The sorting attributes are added to the links before sorting.\n */\nexport function getLinkComparator<K2>() {\n return (link1: linkDetailType<K2>, link2: linkDetailType<K2>) => {\n const { angle: linkAngle1, distance: linkDistance1, direction: linkDirection1 } = link1;\n const { angle: linkAngle2, distance: linkDistance2, direction: linkDirection2 } = link2;\n let res = -1;\n\n if (!_anglesAreEqualWithinTolerance(linkAngle1, linkAngle2) && linkAngle1 > linkAngle2) {\n res = 1;\n } else if (_anglesAreEqualWithinTolerance(linkAngle1, linkAngle2)) {\n //check distance and direction\n if (linkDistance1 > linkDistance2) {\n res = 1;\n } else if (linkDistance2 == linkDistance1 && linkDirection1 > linkDirection2) {\n //outgoing to ingoing\n res = 1;\n } else if (linkDistance2 == linkDistance1 && linkDirection1 == linkDirection2) {\n res = 0;\n }\n }\n return res;\n };\n}\n\n/**\n * Returns navigable links for a given node\n */\nexport function getNavigableLinksForNodeId<K1, K2, D2 extends DiagramLinkData<K2, K1>>(\n nodeId: K1,\n listOfLinks: D2[]\n) {\n const links: D2[] = [];\n listOfLinks.forEach((link) => {\n const startId = link.startNode;\n const endId = link.endNode;\n\n if (startId == nodeId || endId == nodeId) links.push(link);\n });\n return links;\n}\n\n/**\n * Get the clockwise angle for the link given node as a center\n */\nfunction _getClockwiseAngle<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(node: D1, link: D2, nodes: D1[], nodeBounds: Map<K1, Bounds>) {\n //find opposite node\n let currNode;\n let startNode = nodes[0];\n let endNode = nodes[0];\n for (let i = 0; i < nodes.length; i++) {\n currNode = nodes[i];\n if (currNode.id === link.startNode) {\n startNode = currNode;\n } else if (currNode.id === link.endNode) {\n endNode = currNode;\n }\n }\n const oppositeNode = node.id == startNode.id ? endNode : startNode;\n\n const p1 = _getNodeCenter(node, nodeBounds);\n const p2 = _getNodeCenter(oppositeNode, nodeBounds);\n let angle = Math.atan2(p2.y - p1.y, p2.x - p1.x);\n angle = angle < 0 ? angle + Math.PI * 2 : angle;\n return angle;\n}\n\n/**\n * Get the distance between start and end nodes for the given link\n */\nfunction _getNodesDistance<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(link: D2, nodes: D1[], nodeBounds: Map<K1, Bounds>) {\n let currNode;\n let startNode = nodes[0];\n let endNode = nodes[0];\n for (let i = 0; i < nodes.length; i++) {\n currNode = nodes[i];\n if (currNode.id === link.startNode) {\n startNode = currNode;\n } else if (currNode.id === link.endNode) {\n endNode = currNode;\n }\n }\n const p1 = _getNodeCenter(startNode, nodeBounds);\n const p2 = _getNodeCenter(endNode, nodeBounds);\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\n/**\n * Get link direction for the given node. 1 if the node is the end node\n * and 0 if it is the start node\n */\nfunction _getLinkDirection<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(node: D1, link: D2): 0 | 1 {\n if (link.endNode === node.id) {\n return 1;\n }\n return 0;\n}\n\n/**\n * Get node center\n */\nfunction _getNodeCenter<K1, D1 extends DiagramNodeData<K1>>(node: D1, nodeBounds: Map<K1, Bounds>) {\n const nodeBB = nodeBounds.get(node.id)!;\n return { x: nodeBB.x + nodeBB.w / 2, y: nodeBB.y + nodeBB.h / 2 };\n}\n\n/**\n * Calculates the angle weighted by distance\n */\nexport function calcDistanceAngleWeighted(\n objectBB: Bounds,\n currentBB: Bounds,\n direction: NavDirection\n) {\n // Variables used for calculating penalties when calculating distances between two navigables.\n const optimalAngle1 = (15 / 180) * Math.PI;\n const optimalAngle2 = (40 / 180) * Math.PI;\n const suboptimalAnglePenalty1 = 2; // multiplier to the distance\n const suboptimalAnglePenalty2 = 6; // multiplier to the distance\n\n const objCenterX = objectBB.x + objectBB.w / 2;\n const objCenterY = objectBB.y + objectBB.h / 2;\n\n const curCenterX = currentBB.x + currentBB.w / 2;\n const curCenterY = currentBB.y + currentBB.h / 2;\n\n const x_dist = Math.abs(objCenterX - curCenterX);\n const y_dist = Math.abs(objCenterY - curCenterY);\n\n const angle = Math.atan2(y_dist, x_dist);\n\n let distance = Math.sqrt(x_dist * x_dist + y_dist * y_dist);\n\n // Angle penalty based on direction\n if (\n (angle > optimalAngle1 && (direction == 'right' || direction == 'left')) ||\n (angle < Math.PI / 2 - optimalAngle1 && (direction == 'up' || direction == 'down'))\n ) {\n if (\n (angle > optimalAngle2 && (direction == 'right' || direction == 'left')) ||\n (angle < Math.PI / 2 - optimalAngle2 && (direction == 'up' || direction == 'down'))\n ) {\n distance *= suboptimalAnglePenalty2;\n } else {\n distance *= suboptimalAnglePenalty1;\n }\n }\n\n return distance;\n}\n\n/**\n * Given a direction, is a certain node is a valid destination to navigate to\n */\nexport function isValidDestination(\n objBB: Bounds,\n curBB: Bounds,\n direction: NavDirection,\n compareCenters: boolean\n) {\n // compare the centers of the navigable and to be valid, the navigable must be in the right direction\n // without tolerance\n if (compareCenters) {\n const objCenterX = objBB.x + 0.5 * objBB.w;\n const curCenterX = curBB.x + 0.5 * curBB.w;\n const objCenterY = objBB.y + 0.5 * objBB.h;\n const curCenterY = curBB.y + 0.5 * curBB.h;\n\n switch (direction) {\n case 'up':\n return objCenterY < curCenterY;\n case 'down':\n return objBB.y > curCenterY;\n case 'right':\n return objCenterX > curCenterX;\n case 'left':\n return objCenterX < curCenterX;\n default:\n break;\n }\n return true;\n }\n\n switch (direction) {\n case 'up':\n return objBB.y < curBB.y || _areEqualWithinTolerance(objBB.y, curBB.y);\n case 'down':\n return objBB.y > curBB.y || _areEqualWithinTolerance(objBB.y, curBB.y);\n case 'right':\n return objBB.x > curBB.x || _areEqualWithinTolerance(objBB.x, curBB.x);\n case 'left':\n return objBB.x < curBB.x || _areEqualWithinTolerance(objBB.x, curBB.x);\n default:\n break;\n }\n return true;\n}\n\n/**\n * Returns true if two nodes are in contact\n */\nexport function calcInContact(objRect: Bounds, curRect: Bounds, direction: NavDirection) {\n switch (direction) {\n case 'up':\n return (\n _isVerticallyAligned(objRect, curRect) &&\n (curRect.y <= objRect.y + objRect.h ||\n _areEqualWithinTolerance(curRect.y, objRect.y + objRect.h))\n );\n case 'down':\n return (\n _isVerticallyAligned(objRect, curRect) &&\n (objRect.y <= curRect.y + curRect.h ||\n _areEqualWithinTolerance(objRect.y, curRect.y + curRect.h))\n );\n case 'right':\n return (\n _isHorizontallyAligned(objRect, curRect) &&\n (objRect.x <= curRect.x + curRect.w ||\n _areEqualWithinTolerance(objRect.x, curRect.x + curRect.w))\n );\n case 'left':\n return (\n _isHorizontallyAligned(objRect, curRect) &&\n (curRect.x <= objRect.x + objRect.w ||\n _areEqualWithinTolerance(curRect.x, objRect.x + objRect.w))\n );\n default:\n break;\n }\n\n return false;\n}\n\nfunction _isVerticallyAligned(rect1: Bounds, rect2: Bounds) {\n return (\n (rect1.x >= rect2.x && rect1.x <= rect2.x + rect2.w) ||\n (rect2.x >= rect1.x && rect2.x <= rect1.x + rect1.w)\n );\n}\n\nfunction _isHorizontallyAligned(rect1: Bounds, rect2: Bounds) {\n return (\n (rect1.y >= rect2.y && rect1.y <= rect2.y + rect2.h) ||\n (rect2.y >= rect1.y && rect2.y <= rect1.y + rect1.h)\n );\n}\n\nfunction _areEqualWithinTolerance(a: number, b: number) {\n return Math.abs(a - b) <= 0.0000001;\n}\n\nfunction _anglesAreEqualWithinTolerance(a1: number, a2: number) {\n let res = Math.abs(a1 - a2) <= 0.0000001;\n if (!res) {\n res = Math.abs(Math.PI * 2 + Math.min(a1, a2) - Math.max(a1, a2)) <= 0.0000001;\n }\n return res;\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 {\n NavDirection,\n addSortingAttributes,\n calcDistanceAngleWeighted,\n calcInContact,\n createNodeBoundsMap,\n getLinkComparator,\n getNavigableLinksForNodeId,\n getNodeDetailFromInfo,\n isValidDestination\n} from '../utils/navUtils';\nimport type { DiagramNodeData, DiagramLinkData, Bounds, ItemInfo } from '../diagram.types';\nimport { useRef } from 'preact/hooks';\n\nexport function useDiagramNavigation<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(nodes: D1[], links: D2[], bounds: Bounds[], linkIdToDataMap: Map<K2, D2>) {\n const currentKeyboardFocusNode = useRef<K1>();\n const nodeBoundsById = createNodeBoundsMap<K1, D1>(nodes, bounds);\n\n function getNextNavigableNode(\n direction: NavDirection,\n compareCenters: boolean,\n current?: D1,\n listOfObjects?: D1[]\n ) {\n if (!listOfObjects) return current;\n\n if (!current) return listOfObjects[0];\n const currBB = nodeBoundsById.get(current.id);\n if (!currBB) return listOfObjects[0];\n\n let nextObject = current; //init to current object\n let nextDistance = Number.MAX_VALUE;\n\n // If an object is in contact it overrules all other attributes\n // Only another in contact object with better attributes will have higher precedence\n let nextInContact = false;\n\n // Whether or not the for loop has encountered the current object\n let hasFoundCurrent = false;\n\n let object, inContact, distance;\n for (let i = 0; i < listOfObjects.length; i++) {\n object = listOfObjects[i];\n\n if (object === current) {\n hasFoundCurrent = true;\n continue;\n }\n const objBB = nodeBoundsById.get(object.id);\n if (!objBB) continue;\n\n const objBounds = { x: objBB.x, y: objBB.y, w: objBB.w, h: objBB.h };\n const currBounds = { x: currBB.x, y: currBB.y, w: currBB.w, h: currBB.h };\n if (!isValidDestination(objBounds, currBounds, direction, compareCenters)) continue;\n\n inContact = calcInContact(objBounds, currBounds, direction);\n\n if (nextInContact && !inContact) continue;\n\n distance = calcDistanceAngleWeighted(objBounds, currBounds, direction);\n\n if (distance == 0 && !hasFoundCurrent) continue;\n\n // Make sure incontact flag have highest precedence\n if (\n (!nextInContact && inContact) ||\n (distance < nextDistance && ((nextInContact && inContact) || !nextInContact))\n ) {\n nextDistance = distance;\n nextObject = object;\n nextInContact = inContact;\n }\n }\n return nextObject;\n }\n\n /**\n * Get next navigavle link depending on direction - clockwise or conter clockwise.\n * The decision is made based on location of nodes centers rather than link paths or link angles.\n */\n function getNextNavigableLink(\n direction: string,\n listOfNodes: D1[],\n currentLink?: D2,\n listOfLinks?: D2[]\n ) {\n if (!listOfLinks) return currentLink;\n\n if (!currentLink) return listOfLinks[0];\n const keyboardFocusNode = currentKeyboardFocusNode.current;\n const nodeId = keyboardFocusNode ? keyboardFocusNode : currentLink.startNode;\n const node = getNodeDetailFromInfo({ id: nodeId, isNode: true }, listOfNodes);\n\n if (!node) return currentLink;\n const adjLinks = getNavigableLinksForNodeId(node.id, listOfLinks);\n listOfLinks = adjLinks;\n const linksWithSortingAttributes = addSortingAttributes<K1, K2, D1, D2>(\n node,\n listOfLinks,\n listOfNodes,\n nodeBoundsById\n );\n linksWithSortingAttributes.sort(getLinkComparator());\n //clockwise direction\n const bForward = direction == 'down' ? true : false;\n let index = 0;\n for (let i = 0; i < linksWithSortingAttributes.length; i++) {\n const link = linksWithSortingAttributes[i];\n if (link.id === currentLink.id) {\n if (bForward) index = i == linksWithSortingAttributes.length - 1 ? 0 : i + 1;\n else index = i == 0 ? linksWithSortingAttributes.length - 1 : i - 1;\n break;\n }\n }\n return linksWithSortingAttributes[index];\n }\n\n /**\n * Returns the link detail when a node to link navigation occurs\n */\n function navigateFromNodeToLink(listOfLinks: D2[], event: KeyboardEvent, node?: D1) {\n if (!node) return undefined;\n const adjLinks = getNavigableLinksForNodeId(node.id, listOfLinks);\n if (adjLinks.length < 1) return undefined;\n let link = adjLinks[0];\n const nodeBB = nodeBoundsById.get(node.id)!;\n let object, currNode, currNodeBB, currNodeBBCenterX;\n const nodeCenterX = nodeBB.x + nodeBB.w / 2;\n currentKeyboardFocusNode.current = node.id;\n for (let i = 0; i < adjLinks.length; i++) {\n object = adjLinks[i];\n currNode = object.startNode === node.id ? object.endNode : object.startNode;\n currNodeBB = nodeBoundsById.get(currNode);\n currNodeBBCenterX = currNodeBB!.x + currNodeBB!.w / 2;\n if (\n // equivalent of ≤ and ≥\n (event.altKey && event.code === 'Comma' && currNodeBBCenterX <= nodeCenterX) ||\n (event.altKey && event.code === 'Period' && currNodeBBCenterX >= nodeCenterX)\n ) {\n link = object;\n break;\n }\n }\n return { id: link.id, isNode: false };\n }\n\n /**\n * Returns the node detail when a link to node navigation occurs\n */\n function navigateFromLinkToNode(linkId: K2, event: KeyboardEvent) {\n const key = event.key;\n const linkData = linkIdToDataMap.get(linkId)!;\n const startNodeBB = nodeBoundsById.get(linkData.startNode);\n const endNodeBB = nodeBoundsById.get(linkData.endNode);\n if (!startNodeBB || !endNodeBB) return undefined;\n const startNodeCenterX = startNodeBB.x + startNodeBB.w / 2;\n const endNodeCenterX = endNodeBB.x + endNodeBB.w / 2;\n const newNode =\n (endNodeCenterX > startNodeCenterX && key === 'ArrowRight') ||\n (endNodeCenterX < startNodeCenterX && key === 'ArrowLeft')\n ? linkData.endNode\n : linkData.startNode;\n return { id: newNode, isNode: true };\n }\n\n return {\n isNode: (itemInfo: ItemInfo<K1, K2>): boolean => {\n let node, link;\n for (let i = 0; i < nodes.length; i++) {\n node = nodes[i];\n link = links[i];\n if (itemInfo.id === node.id) {\n return true;\n }\n if (itemInfo.id === link.id) {\n return true;\n }\n }\n return false;\n },\n getNextNavigableNode,\n getNextNavigableLink,\n navigateFromNodeToLink,\n navigateFromLinkToNode\n };\n}\n","import {\n ItemInfo,\n ItemHoverDetail,\n ItemFocusDetail,\n Bounds,\n DiagramNodeData,\n DiagramLinkData\n} from '../diagram.types';\nimport { useRef, useState } from 'preact/hooks';\nimport { isEqualItem, getNavigableInfo, zoomAndCenterItemFromInfo } from '../utils/diagramUtils';\nimport { getRandomId } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport { getNodeDetailFromInfo, getLinkDetailFromInfo } from '../utils/navUtils';\nimport { useDiagramNavigation } from './useDiagramNavigation';\nimport type { NavDirection } from '../utils/navUtils';\nimport { useVisHover } from '#hooks/PRIVATE_useVisHover';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\n\nconst DEFAULT_KB_PAN = 15;\nconst DEFAULT_KB_ZOOM = 0.15;\n\nexport function useEvents<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(\n touchResponse: 'touchStart' | 'touchHold',\n initNode: D1,\n nodes: D1[],\n links: D2[],\n nodeBounds: Bounds[],\n linkIdToDataMap: Map<K2, D2>,\n nodeIdToDataMap: Map<K1, D1>,\n nodeIdToIndexMap: Map<K1, number>,\n width: number,\n height: number,\n maxZoom: number,\n onItemHover?: (detail: ItemHoverDetail<K1, K2, D1, D2>) => void,\n onItemFocus?: (detail: ItemFocusDetail<K1, K2, D1, D2>) => void,\n kbPanCallback?: (props: {\n dPan?: { dx: number; dy: number };\n nPan?: { cx: number; cy: number };\n center?: boolean;\n }) => void,\n kbZoomCallback?: (props: { dZoom?: number; nZoom?: number }) => void\n) {\n const {\n getNextNavigableNode,\n getNextNavigableLink,\n navigateFromNodeToLink,\n navigateFromLinkToNode\n } = useDiagramNavigation<K1, K2, D1, D2>(nodes, links, nodeBounds, linkIdToDataMap);\n const [focusedItemInfo, setfocusedItemInfo] = useState<ItemInfo<K1, K2>>({\n id: initNode.id,\n isNode: true\n });\n const [hoveredItemInfo, sethoveredItemInfo] = useState<ItemInfo<K1, K2>>();\n const activeId = useRef<string>();\n\n const cancelEvent = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n };\n\n const keyDownHandler = (event: KeyboardEvent) => {\n const key = event.key;\n let eventConsumed = false;\n // tabbing out of the diagram\n if (key === 'TAB') {\n return;\n }\n // if this a switch from node to link or vice versa\n if (isChangeItemType(event)) {\n const nextItemInfo = focusedItemInfo.isNode\n ? navigateFromNodeToLink(links, event, getNodeDetailFromInfo(focusedItemInfo, nodes))\n : navigateFromLinkToNode(focusedItemInfo.id as K2, event);\n handleKeyboardInput(nextItemInfo);\n eventConsumed = true;\n } else if (isNavigationEvent(key)) {\n const nextItemInfo = handleKeyboardNavigationEvent(key);\n handleKeyboardInput(nextItemInfo);\n eventConsumed = true;\n } else {\n switch (key) {\n case 'PageUp': {\n kbPanCallback &&\n kbPanCallback({\n dPan: {\n dx: event.shiftKey ? -DEFAULT_KB_PAN : 0,\n dy: event.shiftKey ? 0 : -DEFAULT_KB_PAN\n }\n });\n eventConsumed = true;\n break;\n }\n case 'PageDown': {\n kbPanCallback &&\n kbPanCallback({\n dPan: {\n dx: event.shiftKey ? DEFAULT_KB_PAN : 0,\n dy: event.shiftKey ? 0 : DEFAULT_KB_PAN\n }\n });\n eventConsumed = true;\n eventConsumed = true;\n break;\n }\n case '+':\n case '=': {\n kbZoomCallback && kbZoomCallback({ dZoom: DEFAULT_KB_ZOOM });\n eventConsumed = true;\n break;\n }\n case '-':\n case '_': {\n kbZoomCallback && kbZoomCallback({ dZoom: -DEFAULT_KB_ZOOM });\n eventConsumed = true;\n break;\n }\n case '0': {\n if (event.ctrlKey && event.altKey) {\n const { centerX, centerY, zoom } = zoomAndCenterItemFromInfo(\n focusedItemInfo,\n linkIdToDataMap,\n nodeBounds,\n nodeIdToIndexMap,\n width,\n height,\n maxZoom\n );\n kbZoomCallback && kbZoomCallback({ nZoom: zoom });\n kbPanCallback && kbPanCallback({ nPan: { cx: centerX, cy: centerY } });\n } else {\n // zoom to fit\n kbZoomCallback && kbZoomCallback({});\n kbPanCallback && kbPanCallback({ center: true });\n }\n eventConsumed = true;\n }\n }\n }\n if (eventConsumed) {\n cancelEvent(event);\n }\n };\n\n const keyUpHandler = (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 break;\n }\n }\n };\n\n const blurHandler = () => {\n if (hoveredItemInfo != null || focusedItemInfo.isCurrent) {\n onItemFocus?.({ id: undefined, data: undefined });\n }\n const itemInfo = { ...focusedItemInfo, isCurrent: false, isFocusVisible: false };\n setfocusedItemInfo(itemInfo);\n };\n\n const onHover = (event: PointerEvent) => {\n const itemInfo = getNavigableInfo<K1, K2>(event.target as HTMLElement);\n if (itemInfo && !isEqualItem(itemInfo, hoveredItemInfo)) {\n sethoveredItemInfo({ ...itemInfo, isCurrent: true });\n activeId.current = getRandomId();\n setfocusedItemInfo({ ...focusedItemInfo, isCurrent: false });\n if (itemInfo.isNode) {\n onItemHover?.({\n id: itemInfo.id,\n type: 'node',\n data: nodeIdToDataMap.get(itemInfo.id as K1)\n });\n } else {\n onItemHover?.({\n id: itemInfo.id,\n type: 'link',\n data: linkIdToDataMap.get(itemInfo.id as K2)\n });\n }\n }\n };\n\n const onHoverLeave = () => {\n sethoveredItemInfo(undefined);\n activeId.current = undefined;\n onItemHover?.({ id: undefined, data: undefined });\n };\n\n const hoverHandlers = useVisHover(onHover, undefined, onHoverLeave, touchResponse);\n\n const pointerUpHandler = (event: PointerEvent) => {\n const itemInfo = getNavigableInfo<K1, K2>(event.target as HTMLElement);\n if (itemInfo.id != null) {\n setfocusedItemInfo(itemInfo);\n activeId.current = getRandomId();\n }\n };\n\n function updatefocusedItemInfo(itemInfo: ItemInfo<K1, K2>) {\n if (itemInfo.isNode) {\n onItemFocus?.({\n id: itemInfo.id,\n type: 'node',\n data: nodeIdToDataMap.get(itemInfo.id as K1)\n });\n } else {\n onItemFocus?.({\n id: itemInfo.id,\n type: 'link',\n data: linkIdToDataMap.get(itemInfo.id as K2)\n });\n }\n activeId.current = getRandomId();\n setfocusedItemInfo(itemInfo);\n }\n\n function handleKeyboardInput(item?: ItemInfo<K1, K2>) {\n if (!item) return;\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 function isNavigationEvent(key: string) {\n switch (key) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowRight':\n case 'ArrowLeft': {\n return true;\n }\n }\n return false;\n }\n\n function isChangeItemType(event: KeyboardEvent) {\n const key = event.code;\n // check if switching from node to link\n // equivalent of ≤ and ≥\n if (focusedItemInfo.isNode && event.altKey && (key === 'Period' || key === 'Comma')) {\n return true;\n // check if switching from link to node\n } else if (!focusedItemInfo.isNode && (key === 'ArrowLeft' || key === 'ArrowRight')) {\n return true;\n }\n return false;\n }\n\n function handleKeyboardNavigationEvent(key: string) {\n let direction: NavDirection = 'down';\n switch (key) {\n case 'ArrowDown': {\n direction = 'down';\n break;\n }\n case 'ArrowUp': {\n direction = 'up';\n break;\n }\n case 'ArrowRight': {\n direction = 'right';\n break;\n }\n case 'ArrowLeft': {\n direction = 'left';\n break;\n }\n }\n if (focusedItemInfo.isNode) {\n const itemDetail = getNextNavigableNode(\n direction,\n true,\n getNodeDetailFromInfo(focusedItemInfo, nodes),\n nodes\n );\n return itemDetail ? { id: itemDetail.id, isNode: true } : focusedItemInfo;\n } else {\n const linkDetail = getLinkDetailFromInfo(focusedItemInfo, links);\n const itemDetail = getNextNavigableLink(direction, nodes, linkDetail, links);\n return itemDetail ? { id: itemDetail.id } : { id: focusedItemInfo.id };\n }\n }\n\n return {\n focusedItemInfo,\n hoveredItemInfo,\n activeId: activeId.current,\n eventsProps: mergeProps(hoverHandlers, {\n onKeyUp: keyUpHandler,\n onKeyDown: keyDownHandler,\n onBlur: blurHandler,\n onPointerUp: pointerUpHandler\n })\n };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport type {\n ItemInfo,\n Bounds,\n DatatipContext,\n DiagramNodeData,\n DiagramLinkData\n} from '../diagram.types';\nimport type { RefObject } from 'preact';\nimport { useDatatip } from '#hooks/PRIVATE_useDatatip';\nimport { calculateOffset } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport type { Pan } from '../utils/panUtils';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { getDatatipContent } from '../utils/diagramUtils';\nimport { ComponentChildren } from 'preact';\nimport { Property } from 'csstype';\n\ntype props<K1, K2, D1, D2> = {\n touchResponse: 'touchStart' | 'touchHold';\n datatip?: (context: DatatipContext<D1, D2>) => {\n content: ComponentChildren;\n borderColor?: Property.BorderColor;\n };\n text?: string;\n focusedItemInfo: ItemInfo<K1, K2>;\n focusedItemBoundsRef: RefObject<Bounds | null>;\n panState: Pan;\n zoom: number;\n width: number;\n nodesMap: Map<K1, D1>;\n linksMap: Map<K2, D2>;\n hoveredItem?: ItemInfo<K1, K2>;\n};\n\n/**\n * Returns the datatip.\n * @param text The text string for the diagram item.\n * @param rootRef The ref for root of the diagram.\n * @param focusedItemBoundsRef The ref for focused item bounds.\n * @param focusedItemInfo The ItemInfo for focused item.\n * @returns\n */\nexport const useDiagramDatatip = <\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>({\n touchResponse,\n datatip,\n focusedItemBoundsRef,\n focusedItemInfo,\n panState,\n zoom,\n width,\n nodesMap,\n linksMap,\n hoveredItem\n}: props<K1, K2, D1, D2>) => {\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const datatipC = getDatatipContent(nodesMap, linksMap, focusedItemInfo, hoveredItem, datatip);\n\n const elementBounds = focusedItemBoundsRef.current\n ? {\n x: focusedItemBoundsRef.current.x * zoom + panState.panX,\n y: focusedItemBoundsRef.current.y * zoom + panState.panY,\n width: focusedItemBoundsRef.current.w * zoom,\n height: focusedItemBoundsRef.current.h * zoom\n }\n : undefined;\n const offset = focusedItemInfo.isCurrent\n ? calculateOffset(isRtl, width, elementBounds)\n : calculateOffset(isRtl, width);\n\n const { datatipContent, datatipProps } = useDatatip({\n content: datatipC?.content,\n borderColor: datatipC?.borderColor,\n placement: 'top-start',\n offset,\n anchor: focusedItemInfo?.isCurrent ? 'element' : 'pointer',\n touchResponse\n });\n return { datatipContent: datatipContent, datatipProps: datatipProps };\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 { useRef } from 'preact/hooks';\n\ntype PointerGesture = {\n pointers: PointerEvent[];\n};\n\ntype UsePointerGestureOptions = {\n captureTargetRef: RefObject<HTMLDivElement>;\n numPointers: number;\n onPointerGestureDown?: (detail: PointerGesture) => void;\n onPointerGestureMove?: (detail: PointerGesture) => void;\n onPointerGestureEnd?: (detail: PointerGesture) => void;\n onExtraneousPointerDown?: (detail: PointerGesture) => void;\n isDisabled?: boolean;\n};\n\nconst usePointerGesture = ({\n captureTargetRef,\n numPointers = 1,\n onPointerGestureDown,\n onPointerGestureMove,\n onPointerGestureEnd,\n onExtraneousPointerDown,\n isDisabled = false\n}: UsePointerGestureOptions) => {\n const activePointers = useRef<PointerEvent[]>([]);\n\n if (isDisabled) {\n activePointers.current = [];\n }\n\n const onPointerDown = (e: PointerEvent) => {\n activePointers.current.push(e);\n if (activePointers.current.length === numPointers) {\n onPointerGestureDown && onPointerGestureDown({ pointers: activePointers.current });\n } else if (activePointers.current.length > numPointers) {\n onExtraneousPointerDown && onExtraneousPointerDown({ pointers: activePointers.current });\n }\n };\n\n const onPointerMove = (e: PointerEvent) => {\n if (activePointers.current.length === 0) return;\n\n const index = activePointers.current.findIndex(\n (pointerEvent) => pointerEvent.pointerId === e.pointerId\n );\n if (index === -1) return;\n\n activePointers.current[index] = e;\n if (activePointers.current.length === numPointers) {\n activePointers.current.forEach((e) =>\n captureTargetRef.current!.setPointerCapture(e.pointerId)\n );\n\n onPointerGestureMove && onPointerGestureMove({ pointers: activePointers.current });\n }\n };\n\n const onPointerUp = (e: PointerEvent) => {\n const index = activePointers.current.findIndex(\n (pointerEvent) => pointerEvent.pointerId === e.pointerId\n );\n if (index === -1) return;\n\n activePointers.current[index] = e;\n if (activePointers.current.length === numPointers) {\n onPointerGestureEnd && onPointerGestureEnd({ pointers: activePointers.current });\n }\n activePointers.current.splice(index, 1);\n };\n\n const onPointerCancel = onPointerUp;\n const onPointerLeave = onPointerUp;\n\n return isDisabled\n ? {}\n : {\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onPointerCancel,\n onPointerLeave\n };\n};\n\nexport { usePointerGesture };\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 { Bounds, PanState } from '../diagram.types';\nimport { panXYToCenterXY } from './diagramUtils';\nexport type PanBounds = {\n minX: number;\n minY: number;\n maxX: number;\n maxY: number;\n};\n\n/**\n * The pan values that describes where the diagram content\n * is panned\n */\nexport type Pan = {\n panX: number;\n panY: number;\n};\n\nconst constrainPan = (\n previousPan: Pan,\n nextPan: Pan,\n panBounds: PanBounds,\n panDirection: 'x' | 'y' | 'any'\n) => {\n const panX = panDirection !== 'y' ? nextPan.panX : previousPan.panX;\n const panY = panDirection !== 'x' ? nextPan.panY : previousPan.panY;\n return {\n panX: panX > panBounds.maxX ? panBounds.maxX : panX < panBounds.minX ? panBounds.minX : panX,\n panY: panY > panBounds.maxY ? panBounds.maxY : panY < panBounds.minY ? panBounds.minY : panY\n };\n};\n\nexport const pan = (\n previousPan: Pan,\n nextPan: Pan,\n panDirection: 'x' | 'y' | 'any',\n zoom: number,\n width: number,\n height: number,\n panBounds?: PanBounds,\n onPanChange?: (detail: PanState) => void\n) => {\n if (!panBounds) {\n //On initial render before nodes are rendered\n return { newPan: { panX: 0, panY: 0 } };\n }\n const newPan = constrainPan(previousPan, nextPan, panBounds, panDirection);\n const isPanChanged = newPan.panX !== previousPan.panX || newPan.panY !== previousPan.panY;\n const center = panXYToCenterXY(newPan.panX, newPan.panY, zoom, width, height);\n isPanChanged &&\n onPanChange &&\n onPanChange({\n centerX: center.centerX,\n centerY: center.centerY\n });\n return { newPan };\n};\n\nexport const getPanBounds = (\n width: number,\n height: number,\n elemBounds: Bounds,\n zoom: number,\n minZoom: number,\n initPanZoomState: {\n zoom: number;\n centerX?: number;\n centerY?: number;\n },\n panType?: string\n): PanBounds => {\n const { x, y, w, h } = elemBounds;\n let minX, maxX, minY, maxY;\n if (panType === 'centerContent') {\n minX = width / 2 - (w + x) * zoom;\n minY = height / 2 - (h + y) * zoom;\n maxX = width / 2 - x * zoom;\n maxY = height / 2 - y * zoom;\n } else {\n // panType equals fixed\n const zoomRatio = zoom / minZoom;\n // Find left corner of the content at min zoom and content is centered\n const minZoomX = (width - w * minZoom) / 2 - x * minZoom;\n const minZoomY = (height - h * minZoom) / 2 - y * minZoom;\n // When we pan all the way to the right, the left corner of displayable area is 0,0 as in min zoom.\n // When we pan all the way to the left, lets find the corner of the displayable area\n const leftCornerX = width - width * zoomRatio;\n const leftCornerY = height - height * zoomRatio;\n // Now we have everything to calculate pan zoom constraints\n minX = leftCornerX + minZoomX * zoomRatio;\n minY = leftCornerY + minZoomY * zoomRatio;\n maxX = minZoomX * zoomRatio;\n maxY = minZoomY * zoomRatio;\n }\n const initZoom = initPanZoomState.zoom;\n const initCenterX = initPanZoomState.centerX;\n const initCenterY = initPanZoomState.centerY;\n // If an initial panZoomState is set, should expand pan bounds to include it\n let dx, dy;\n if (initCenterX) {\n const boundsX = initCenterX * initZoom - width / 2;\n if (-boundsX * initZoom < minX) {\n dx = minX - boundsX * initZoom;\n minX -= dx;\n maxX += dx;\n } else if (-boundsX * initZoom > maxX) {\n dx = -boundsX * initZoom - maxX;\n minX -= dx;\n maxX += dx;\n }\n }\n if (initCenterY) {\n const boundsY = initCenterY * initZoom - height / 2;\n if (-boundsY * initZoom < minY) {\n dy = minY - boundsY * initZoom;\n minY -= dy;\n maxY += dy;\n } else if (-boundsY * initZoom > maxY) {\n dy = -boundsY * initZoom - maxY;\n minY -= dy;\n maxY += dy;\n }\n }\n return {\n minX: minX,\n maxX: maxX,\n minY: minY,\n maxY: maxY\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 { PanState } from '../diagram.types';\nimport type { RefObject } from 'preact';\nimport { useRef } from 'preact/hooks';\nimport { useDrag } from './useDrag';\nimport { PanBounds, pan } from '../utils/panUtils';\nimport { centerXYToPanXY } from '../utils/diagramUtils';\n/**\n * Options for useDragPan hook\n */\ntype UseDragPanOptions = {\n panProps: {\n centerX: number;\n centerY: number;\n panDirection: 'x' | 'y' | 'any';\n onPan?: (detail: PanState) => void;\n panning?: 'centerContent' | 'fixed' | 'off';\n };\n captureTargetRef: RefObject<HTMLDivElement>;\n panBounds?: PanBounds;\n onDragPanStart?: () => void;\n onDragPanEnd?: () => void;\n zoom: number;\n width: number;\n height: number;\n};\n\nconst useDragPan = ({\n panProps,\n captureTargetRef,\n panBounds,\n width,\n height,\n zoom,\n onDragPanStart,\n onDragPanEnd\n}: UseDragPanOptions) => {\n const prevPanState = useRef({ panX: 0, panY: 0 });\n const initialPanState = useRef({ panX: 0, panY: 0 });\n const dragProps = useDrag({\n captureTargetRef,\n onDragStart: () => {\n const panValues = centerXYToPanXY(panProps.centerX, panProps.centerY, zoom, width, height);\n initialPanState.current = {\n panX: panValues.panX,\n panY: panValues.panY\n };\n onDragPanStart && onDragPanStart();\n },\n onDragMove: ({ dx, dy }) => {\n const nextPan = {\n panX: initialPanState.current.panX + dx,\n panY: initialPanState.current.panY + dy\n };\n const { newPan } = pan(\n prevPanState.current,\n nextPan,\n panProps.panDirection,\n zoom,\n width,\n height,\n panBounds,\n panProps.onPan\n );\n prevPanState.current = newPan;\n },\n onDragEnd: ({ originalEvent }) => {\n // If panning occurred, call preventDefault to prevent selection from occurring\n if (\n initialPanState.current.panX !== prevPanState.current.panX ||\n initialPanState.current.panY !== prevPanState.current.panY\n )\n originalEvent.preventDefault();\n onDragPanEnd && onDragPanEnd();\n },\n isDisabled: panProps.panning === 'off'\n });\n\n return dragProps;\n};\n\nexport { useDragPan };\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 { useRef } from 'preact/hooks';\nimport { usePointerGesture } from './usePointerGesture';\n/**\n * Draggable region\n */\ntype DraggableRegion = {\n xMin: number;\n xMax: number;\n yMin: number;\n yMax: number;\n};\n\ntype DragDetail = {\n x: number;\n y: number;\n dx: number;\n dy: number;\n regionOffsetX: number;\n regionOffsetY: number;\n originalEvent: PointerEvent;\n};\n\ntype UseDragOptions = {\n captureTargetRef: RefObject<HTMLDivElement>;\n draggableRegion?: DraggableRegion;\n onDragStart?: (detail: Omit<DragDetail, 'dx' | 'dy'>) => void;\n onDragMove?: (detail: DragDetail) => void;\n onDragEnd?: (detail: DragDetail) => void;\n isDisabled?: boolean;\n};\n/**\n * Whether point with coordinates are in the draggable region\n */\nconst inDraggableRegion = (x: number, y: number, region?: DraggableRegion) => {\n if (!region) return true;\n const { xMin, xMax, yMin, yMax } = region;\n return x >= xMin && x <= xMax && y >= yMin && y <= yMax;\n};\n\n/**\n * Returns region offset\n */\nconst getRegionOffset = (x: number, y: number, region?: DraggableRegion) => {\n if (!region) return { regionOffsetX: x, regionOffsetY: y };\n return { regionOffsetX: x - region.xMin, regionOffsetY: y - region.yMin };\n};\n\nconst useDrag = ({\n captureTargetRef,\n draggableRegion,\n onDragStart,\n onDragMove,\n onDragEnd,\n isDisabled = false\n}: UseDragOptions) => {\n const inactiveState = { isDragging: false, x0: -1, y0: -1, regionOffsetX: -1, regionOffsetY: -1 };\n const dragState = useRef(inactiveState);\n\n const handlePointerEvent = (e: PointerEvent, cb?: (detail: DragDetail) => void) => {\n const { isDragging, x0, y0, regionOffsetX, regionOffsetY } = dragState.current;\n if (!isDragging) return;\n const x = e.pageX;\n const y = e.pageY;\n cb && cb({ x, y, dx: x - x0, dy: y - y0, regionOffsetX, regionOffsetY, originalEvent: e });\n };\n\n const dragProps = usePointerGesture({\n captureTargetRef,\n numPointers: 1, // Only allow 1 pointer dragging\n onExtraneousPointerDown: () => {\n dragState.current = inactiveState;\n },\n onPointerGestureDown: ({ pointers: [e] }) => {\n const x = e.pageX;\n const y = e.pageY;\n if (e.button !== 0 || !inDraggableRegion(x, y, draggableRegion)) return;\n const { regionOffsetX, regionOffsetY } = getRegionOffset(x, y, draggableRegion);\n dragState.current = { isDragging: true, x0: x, y0: y, regionOffsetX, regionOffsetY };\n onDragStart && onDragStart({ x, y, regionOffsetX, regionOffsetY, originalEvent: e });\n },\n onPointerGestureMove: ({ pointers: [e] }) => {\n handlePointerEvent(e, onDragMove);\n },\n onPointerGestureEnd: ({ pointers: [e] }) => {\n handlePointerEvent(e, onDragEnd);\n dragState.current = inactiveState;\n }\n });\n\n return isDisabled ? {} : dragProps;\n};\n\nexport { useDrag };\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\nexport const ZOOM_INCREMENT = 0.05;\n\nexport const zoom = (\n nextZoom: number,\n zoom: number,\n minZoom: number,\n maxZoom: number,\n onZoomChange?: (detail: { zoomValue: number }) => void\n) => {\n const newZoom = nextZoom > maxZoom || nextZoom < minZoom ? zoom : nextZoom;\n const isZoomChanged = newZoom !== zoom;\n isZoomChanged &&\n onZoomChange &&\n onZoomChange({\n zoomValue: newZoom\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 { useRef } from 'preact/hooks';\nimport { usePointerGesture } from './usePointerGesture';\n\ntype Point = { x: number; y: number };\n\nconst getMidpoint = (p1: Point, p2: Point) => ({ x: (p1.x + p2.x) / 2, y: (p1.y + p2.y) / 2 });\nconst getDistance = (p1: Point, p2: Point) => Math.sqrt((p2.x - p1.x) ** 2 + (p2.y - p2.y) ** 2);\n\ntype PinchDetail = {\n origin: Point;\n delta: number;\n};\n\ntype UsePinchOptions = {\n captureTargetRef: RefObject<HTMLDivElement>;\n onPinchZoomStart?: (detail: PinchDetail) => void;\n onPinchZoomChange?: (detail: PinchDetail) => void;\n onPinchZoomEnd?: () => void;\n isDisabled?: boolean;\n};\n\nconst usePinch = ({\n captureTargetRef,\n onPinchZoomStart,\n onPinchZoomChange,\n onPinchZoomEnd,\n isDisabled = false\n}: UsePinchOptions) => {\n const origin = useRef({ x: -1, y: -1 });\n const prevDistance = useRef(-1);\n const reset = () => {\n origin.current = { x: -1, y: -1 };\n prevDistance.current = -1;\n };\n\n if (isDisabled) reset();\n\n const pinchProps = usePointerGesture({\n captureTargetRef,\n numPointers: 2, // Pinch gesture requires 2 pointers\n onPointerGestureDown: ({ pointers: [pointer1, pointer2] }) => {\n const p1 = { x: pointer1.offsetX, y: pointer1.offsetY };\n const p2 = { x: pointer2.offsetX, y: pointer2.offsetY };\n origin.current = getMidpoint(p1, p2);\n prevDistance.current = getDistance(p1, p2);\n onPinchZoomStart &&\n onPinchZoomStart({\n origin: origin.current,\n delta: 0\n });\n },\n onPointerGestureMove: ({ pointers: [pointer1, pointer2] }) => {\n const p1 = { x: pointer1.offsetX, y: pointer1.offsetY };\n const p2 = { x: pointer2.offsetX, y: pointer2.offsetY };\n const distance = getDistance(p1, p2);\n const delta = distance - prevDistance.current;\n prevDistance.current = distance;\n onPinchZoomChange &&\n onPinchZoomChange({\n origin: origin.current,\n delta\n });\n },\n onPointerGestureEnd: () => {\n reset();\n onPinchZoomEnd && onPinchZoomEnd();\n }\n });\n\n return isDisabled ? {} : pinchProps;\n};\n\nexport { usePinch };\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 { usePinch } from './usePinch';\nimport { zoom, ZOOM_INCREMENT } from '../utils/zoomUtils';\n\ntype UsePinchZoomOptions = {\n captureTargetRef: RefObject<HTMLDivElement>;\n zooming: 'on' | 'off';\n minZoom: number;\n maxZoom: number;\n zoomValue: number;\n onZoom?: (detail: { zoomValue: number }) => void;\n};\n\nconst usePinchZoom = ({\n captureTargetRef,\n zooming,\n minZoom,\n maxZoom,\n zoomValue,\n onZoom\n}: UsePinchZoomOptions) => {\n const pinchProps = usePinch({\n captureTargetRef,\n onPinchZoomChange: ({ delta }) => {\n const newZoom = zoomValue * (1 + ZOOM_INCREMENT * delta);\n zoom(newZoom, zoomValue, minZoom, maxZoom, onZoom);\n },\n isDisabled: zooming === 'off'\n });\n\n return pinchProps;\n};\n\nexport { usePinchZoom };\n","import { Pan, Zoom, Bounds } from '../diagram.types';\nimport type { RefObject } from 'preact';\nimport { useState, useRef } from 'preact/hooks';\nimport { useDragPan } from './useDragPan';\nimport { useWheelZoom } from './useWheelZoom';\nimport { usePinchZoom } from './usePinchZoom';\nimport {\n centerXYToPanXY,\n getPanProps,\n getZoomProps,\n getZoomToFitZoom\n} from '../utils/diagramUtils';\nimport { PanBounds, getPanBounds, pan } from '../utils/panUtils';\nimport { zoom } from '../utils/zoomUtils';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { isTouch } from '#utils/UNSAFE_visUtils/clientUtils';\nimport { Property } from 'csstype';\nimport { useVisDragModeControls } from '#hooks/PRIVATE_useVisDragModeControls';\n\nexport type PanZoomProps = {\n props: Pan & Zoom;\n captureTargetRef: RefObject<HTMLDivElement>;\n width: number;\n height: number;\n contentBounds: Bounds;\n isRtl: boolean;\n};\n\nexport const usePanZoom = ({\n props,\n captureTargetRef,\n width,\n height,\n contentBounds,\n isRtl\n}: PanZoomProps) => {\n const [cursor, setCursor] = useState<Property.Cursor>();\n const zoomProps = getZoomProps(props, width, height, contentBounds);\n const panBounds = useRef<PanBounds>();\n const prevZoom = useRef<number>();\n const panning = useRef<string>();\n const initPanZoomState = useRef({\n zoom: props.zoomValue || 0,\n centerX: props.centerX,\n centerY: props.centerY\n });\n\n const isDeviceTouch = isTouch();\n const plotArea = {\n width: width,\n height: height,\n x: 0,\n y: 0\n };\n\n const showPanButton = isDeviceTouch ? props.panning && props.panning !== 'off' : undefined;\n const dragModeOptions = {\n isZoomScroll: true,\n plotAreaSpace: plotArea,\n componentWidth: width,\n isRtl,\n showPanButton: showPanButton ?? false,\n showZoomButton: false,\n showSelectButton: false,\n isDisabled: !isDeviceTouch\n };\n\n const { toggleButtonContent, userDragMode } = useVisDragModeControls(dragModeOptions);\n const panProps = getPanProps(props, contentBounds, userDragMode, isDeviceTouch);\n if (\n contentBounds.w !== Infinity &&\n (zoomProps.zoomValue !== prevZoom.current || panProps.panning !== panning.current)\n ) {\n panBounds.current = getPanBounds(\n width,\n height,\n contentBounds,\n zoomProps.zoomValue,\n zoomProps.minZoom,\n initPanZoomState.current,\n panProps.panning\n );\n prevZoom.current = zoomProps.zoomValue;\n panning.current = panProps.panning;\n }\n const dragPanProps = useDragPan({\n panProps: panProps,\n captureTargetRef: captureTargetRef,\n panBounds: panBounds.current,\n zoom: zoomProps.zoomValue,\n width,\n height,\n onDragPanStart: () => setCursor('grabbing'),\n onDragPanEnd: () => setCursor('auto')\n });\n //dZoom or nZoom is required\n const kbZoomCallback = (props: { dZoom?: number; nZoom?: number }) => {\n const newZoom = props.dZoom\n ? zoomProps.zoomValue + props.dZoom\n : getZoomToFitZoom(width, height, contentBounds);\n zoom(\n props.nZoom ? props.nZoom : newZoom,\n zoomProps.zoomValue,\n zoomProps.minZoom,\n zoomProps.maxZoom,\n zoomProps.onZoom\n );\n };\n const prevPanState = useRef({ panX: 0, panY: 0 });\n\n // dPan or nPan is required\n const kbPanCallback = (props: {\n dPan?: { dx: number; dy: number };\n nPan?: { cx: number; cy: number };\n center?: boolean;\n }) => {\n let centerX;\n let centerY;\n if (props.center) {\n centerX = contentBounds.x + contentBounds.w / 2;\n centerY = contentBounds.y + contentBounds.h / 2;\n } else if (props.dPan) {\n centerX = panProps.centerX + props.dPan.dx;\n centerY = panProps.centerY + props.dPan.dy;\n } else {\n centerX = props.nPan!.cx;\n centerY = props.nPan!.cy;\n }\n const panValues = centerXYToPanXY(centerX, centerY, zoomProps.zoomValue, width, height);\n const { newPan } = pan(\n prevPanState.current,\n panValues,\n panProps.panDirection,\n zoomProps.zoomValue,\n width,\n height,\n panBounds.current,\n panProps.onPan\n );\n prevPanState.current = newPan;\n };\n const wheelZoomProps = useWheelZoom(zoomProps);\n const pinchZoomProps = usePinchZoom({\n captureTargetRef,\n zooming: zoomProps.zooming,\n minZoom: zoomProps.minZoom,\n maxZoom: zoomProps.maxZoom,\n zoomValue: zoomProps.zoomValue,\n onZoom: zoomProps.onZoom\n });\n const panZoomProps = mergeProps(dragPanProps, wheelZoomProps, pinchZoomProps);\n\n return {\n panZoomProps,\n panProps,\n zoomProps,\n toggleButtonContent,\n cursor,\n centerX: panProps.centerX,\n centerY: panProps.centerY,\n zoomValue: zoomProps.zoomValue,\n kbPanCallback: panProps.panning !== 'off' ? kbPanCallback : undefined,\n kbZoomCallback: zoomProps.zooming !== 'off' ? kbZoomCallback : undefined\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 { useWheel } from './useWheel';\nimport { zoom, ZOOM_INCREMENT } from '../utils/zoomUtils';\n\ntype UseWheelZoomOptions = {\n zooming: 'on' | 'off';\n minZoom: number;\n maxZoom: number;\n zoomValue: number;\n onZoom?: (detail: { zoomValue: number }) => void;\n};\n\nconst useWheelZoom = ({ zooming, minZoom, maxZoom, zoomValue, onZoom }: UseWheelZoomOptions) => {\n const wheelProps = useWheel({\n onWheel: ({ deltaY }) => {\n const newZoom = zoomValue * (1 + ZOOM_INCREMENT * deltaY);\n zoom(newZoom, zoomValue, minZoom, maxZoom, onZoom);\n },\n isDisabled: zooming === 'off'\n });\n\n return wheelProps;\n};\n\nexport { useWheelZoom };\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 */\ntype WheelDetail = {\n x: number;\n y: number;\n deltaX: number;\n deltaY: number;\n ctrlKey: boolean;\n};\n\ntype UseWheelOptions = {\n onWheel: (detail: WheelDetail) => void;\n preventDefault?: boolean;\n isDisabled?: boolean;\n};\n\nconst PX_FACTOR_PER_LINE = 15; // Value used in Toolkit\nconst PX_FACTOR_PER_PAGE = 40; // Value copied from datagrid; this is not handled in Toolkit\n\nconst getNormalizedDelta = (e: WheelEvent) => {\n const { deltaX, deltaY, deltaMode } = e;\n\n switch (deltaMode) {\n case e.DOM_DELTA_PIXEL:\n return { deltaX: -deltaX, deltaY: -deltaY };\n case e.DOM_DELTA_LINE:\n return { deltaX: -deltaX * PX_FACTOR_PER_LINE, deltaY: -deltaY * PX_FACTOR_PER_LINE };\n case e.DOM_DELTA_PAGE:\n return { deltaX: -deltaX * PX_FACTOR_PER_PAGE, deltaY: -deltaY * PX_FACTOR_PER_PAGE };\n default:\n return { deltaX: -deltaX, deltaY: -deltaY };\n }\n};\n\nconst useWheel = ({\n onWheel: onWheelCallback,\n preventDefault = true,\n isDisabled = false\n}: UseWheelOptions) => {\n const onWheel = (e: WheelEvent) => {\n const { deltaX, deltaY } = getNormalizedDelta(e);\n if (preventDefault) e.preventDefault();\n onWheelCallback({\n x: e.offsetX,\n y: e.offsetY,\n deltaX,\n deltaY,\n ctrlKey: e.ctrlKey || e.metaKey\n });\n };\n return isDisabled ? {} : { onWheel };\n};\n\nexport { useWheel, PX_FACTOR_PER_LINE };\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 {\n DiagramProps,\n Bounds,\n DiagramLabelPosition,\n States,\n DiagramNodeData,\n DiagramLinkData,\n DiagramLayoutOutput\n} from './diagram.types';\nimport type { TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { DiagramLayers } from './DiagramLayers';\nimport { DiagramPanZoomContainer } from './DiagramPanZoomContainer';\nimport { useEvents } from './hooks/useEvents';\nimport { useDiagramDatatip } from './hooks/useDiagramDatatip';\nimport { useTextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { usePanZoom } from './hooks/usePanZoom';\nimport { useRef, useState } from 'preact/hooks';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { useDiagramSelection } from './hooks/useDiagramSelection';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport {\n constructLayoutJSON,\n deconstructLayoutJSON,\n createItemMap,\n getFocusedItemBounds,\n mergeDimensions,\n isEqualBounds,\n getDimensionsFromBounds,\n combineIds,\n getContentBounds,\n centerXYToPanXY,\n filterLinksWithNoEndNodes,\n getAllLabelBounds\n} from './utils/diagramUtils';\nimport { outerStyles } from './themes/DiagramStyles.css';\nimport { useVisTouchResponse } from '#hooks/PRIVATE_useVisTouchResponse';\nimport { merge } from '#utils/UNSAFE_stringUtils';\n\ntype DiagramWithDimensionsProps<K1, K2, D1, D2, L> = Omit<\n DiagramProps<K1, K2, D1, D2, L>,\n 'width' | 'height'\n> & {\n width: number;\n height: number;\n};\n\nexport function DiagramWithDimensions<\n K1 extends string | number,\n K2 extends string | number,\n D1 extends DiagramNodeData<K1> = DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1> = DiagramLinkData<K2, K1>,\n L extends DiagramLayoutOutput<K1, K2> = DiagramLayoutOutput<K1, K2>\n>({\n nodes = [],\n links = [],\n width,\n height,\n selectedIds = {},\n selectionMode = 'none',\n layout,\n nodeRenderer,\n linkRenderer,\n onSelectionChange,\n onItemHover,\n onItemFocus,\n highlightedIds = {},\n datatip,\n ...otherProps\n}: DiagramWithDimensionsProps<K1, K2, D1, D2, L>) {\n const focusedItemBoundsRef = useRef<Bounds | null>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n //TODO JET-62563 change bounds to a MAP\n const [bounds, setBounds] = useState<Bounds[]>([]);\n const [combinedLabelBounds, setCombinedLabelBounds] = useState<Bounds>();\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const diagramNodes = nodes;\n const nodeMap = createItemMap<K1, K2, D1, D2>(diagramNodes);\n const nodeIdToDataMap = nodeMap.itemIdToDataMap;\n const diagramLinks = filterLinksWithNoEndNodes(links, nodeIdToDataMap);\n const linkMap = createItemMap<K1, K2, D1, D2>(diagramLinks);\n const linkIdToDataMap = linkMap.itemIdToDataMap;\n const resizeThrottling = useRef<boolean>(false);\n const newDimensions = getDimensionsFromBounds(bounds);\n const { textMeasureContent, getTextDimensions } = useTextDimensions();\n const labelDimensions = useRef<Map<K1 | K2, TextDimensions>>(new Map());\n const nodeLabelPosRef = useRef<(DiagramLabelPosition | undefined)[] | undefined>([]);\n const linkLabelPosRef = useRef<(DiagramLabelPosition | undefined)[] | undefined>([]);\n const layoutOutputRef = useRef<L>();\n\n const contentBounds = getContentBounds(bounds, combinedLabelBounds);\n const {\n panZoomProps,\n panProps,\n zoomProps,\n toggleButtonContent,\n cursor,\n centerX,\n centerY,\n zoomValue,\n kbPanCallback,\n kbZoomCallback\n } = usePanZoom({\n props: otherProps,\n captureTargetRef: rootRef,\n width: width,\n height: height,\n contentBounds,\n isRtl\n });\n\n const { touchResponse, touchResponseStyle } = useVisTouchResponse({\n type: 'auto',\n supportsTouchDragGestures: zoomProps.zooming === 'on' || panProps.panning !== 'off',\n rootRef\n });\n\n const { focusedItemInfo, hoveredItemInfo, activeId, eventsProps } = useEvents<K1, K2, D1, D2>(\n touchResponse,\n diagramNodes[0],\n diagramNodes,\n diagramLinks,\n bounds,\n linkIdToDataMap,\n nodeIdToDataMap,\n nodeMap.itemIdToIndexMap,\n width,\n height,\n otherProps.maxZoom || 1,\n onItemHover,\n onItemFocus,\n kbPanCallback,\n kbZoomCallback\n );\n\n const { selectionProps, selectionContent } = useDiagramSelection<K1, K2, D1, D2>({\n selectedIds,\n selectionMode,\n nodeMap,\n linkMap,\n focusedItemInfo,\n onSelectionChange,\n rootRef\n });\n\n // This is for the datatip kb position\n if (focusedItemInfo && bounds.length > 0) {\n focusedItemBoundsRef.current = getFocusedItemBounds(\n focusedItemInfo,\n bounds,\n diagramLinks,\n nodeMap.itemIdToIndexMap,\n linkMap.itemIdToIndexMap\n );\n }\n\n const {\n datatipContent,\n datatipProps: { 'aria-describedby': datatipAriaDescribedby, ...datatipProps }\n } = useDiagramDatatip({\n touchResponse,\n datatip,\n focusedItemInfo,\n focusedItemBoundsRef,\n panState: centerXYToPanXY(centerX, centerY, zoomValue, width, height),\n zoom: zoomValue,\n width: width,\n nodesMap: nodeIdToDataMap,\n linksMap: linkIdToDataMap,\n hoveredItem: hoveredItemInfo\n });\n\n const style = {\n width: width,\n height: height,\n cursor: cursor,\n ...touchResponseStyle\n };\n\n const states = useRef<States<K1, K2>>();\n const previousState = states.current // states.current is previous state\n ? states.current\n : {\n selectedNodeIds: [],\n selectedLinkIds: [],\n focusedId: undefined,\n hoveredId: undefined,\n activeId: undefined,\n highlightedIds: [],\n zoom: 0\n };\n\n states.current = {\n // update states to new state\n selectedNodeIds: selectedIds.nodes ?? [],\n selectedLinkIds: selectedIds.links ?? [],\n focusedId:\n focusedItemInfo.isCurrent && focusedItemInfo.isFocusVisible ? focusedItemInfo.id : undefined,\n hoveredId: hoveredItemInfo?.isCurrent ? hoveredItemInfo.id : undefined,\n activeId,\n highlightedIds: combineIds(highlightedIds.nodes, highlightedIds.links),\n zoom: zoomValue\n };\n\n const mergedEventProps = mergeProps(panZoomProps, eventsProps, selectionProps, datatipProps);\n\n // Called anytime node changes size\n const onNodeSizeChanged = (nodeWidth: number, nodeHeight: number, idx: number) => {\n newDimensions[idx] = { w: nodeWidth, h: nodeHeight };\n if (resizeThrottling.current) {\n return;\n }\n\n resizeThrottling.current = true;\n // performs layout at the next available animation frame when all measurements should be ready\n window.requestAnimationFrame(() => {\n const { labelDims, layoutJSON } = constructLayoutJSON(\n diagramNodes,\n nodeIdToDataMap,\n linkIdToDataMap,\n newDimensions,\n width,\n height,\n getTextDimensions\n );\n labelDimensions.current = labelDims;\n const layoutOutput = layout(layoutJSON);\n const { nodePoints, nodeLabelPos, linkLabelPos } = deconstructLayoutJSON<K1, K2, D1, D2, L>(\n layoutOutput,\n diagramNodes,\n diagramLinks\n );\n nodeLabelPosRef.current = nodeLabelPos;\n linkLabelPosRef.current = linkLabelPos;\n layoutOutputRef.current = layoutOutput;\n const nodeBounds = mergeDimensions(newDimensions, nodePoints);\n if (!isEqualBounds(nodeBounds, bounds)) {\n setBounds(nodeBounds);\n }\n const labelBounds = getAllLabelBounds(\n labelDims,\n diagramNodes,\n diagramLinks,\n nodeLabelPos,\n linkLabelPos,\n direction === 'rtl'\n );\n setCombinedLabelBounds(labelBounds);\n resizeThrottling.current = false;\n });\n };\n return (\n <div\n ref={rootRef}\n class={outerStyles}\n {...mergedEventProps}\n style={style}\n tabIndex={0}\n role=\"application\"\n aria-label={otherProps['aria-label']}\n aria-labelledby={otherProps['aria-labelledby']}\n aria-describedby={merge([otherProps['aria-describedby'], datatipAriaDescribedby])}\n aria-activedescendant={activeId}>\n {getTextDimensions ? (\n <DiagramPanZoomContainer\n centerX={centerX}\n centerY={centerY}\n zoom={zoomValue}\n width={width}\n height={height}>\n <DiagramLayers\n nodes={diagramNodes}\n links={diagramLinks}\n nodeRenderer={nodeRenderer}\n linkRenderer={linkRenderer}\n width={width}\n height={height}\n nodeBounds={bounds}\n states={states.current!}\n previousStates={previousState}\n onNodeSizeChanged={onNodeSizeChanged}\n nodeLabelPositions={nodeLabelPosRef.current}\n linkLabelPositions={linkLabelPosRef.current}\n labelDimensions={labelDimensions.current}\n supportsSelection={\n selectionMode !== 'none' ||\n !!(selectedIds?.nodes && selectedIds.nodes.length > 0) ||\n !!(selectedIds?.links && selectedIds.links.length > 0)\n }\n layoutOutput={layoutOutputRef.current}\n combinedNodeBounds={contentBounds}\n />\n </DiagramPanZoomContainer>\n ) : undefined}\n {textMeasureContent}\n {datatipContent}\n {selectionContent}\n {toggleButtonContent}\n </div>\n );\n}\n","import { useSelection } from '#hooks/PRIVATE_useVisSelection';\nimport type { DiagramLinkData, DiagramNodeData, ItemInfo } from '../diagram.types';\nimport { getNavigableInfo } from '../utils/diagramUtils';\nimport type { RefObject } from 'preact';\n\ntype SelectionProps<K1, K2, D1, D2> = {\n selectedIds: {\n nodes?: K1[];\n links?: K2[];\n };\n selectionMode: 'none' | 'single' | 'multiple';\n nodeMap: {\n itemIdToDataMap: Map<K1, D1>;\n itemIdToIndexMap: Map<K1, number>;\n itemIndexToIdMap: Map<number, K1>;\n };\n linkMap: {\n itemIdToDataMap: Map<K2, D2>;\n itemIdToIndexMap: Map<K2, number>;\n itemIndexToIdMap: Map<number, K2>;\n };\n focusedItemInfo: ItemInfo<K1, K2>;\n onSelectionChange?: (detail: {\n nodes: K1[];\n links: K2[];\n nodeData: (D1 | undefined)[];\n linkData: (D2 | undefined)[];\n }) => void;\n rootRef: RefObject<HTMLDivElement>;\n};\n\ntype EncodedNodeId = `N_${number}`;\ntype EncodedLinkId = `L_${number}`;\n\nexport function useDiagramSelection<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>({\n selectedIds,\n selectionMode,\n nodeMap,\n linkMap,\n focusedItemInfo,\n onSelectionChange,\n rootRef\n}: SelectionProps<K1, K2, D1, D2>) {\n const nodeIdToIndexMap = nodeMap.itemIdToIndexMap;\n const nodeIndexToIdMap = nodeMap.itemIndexToIdMap;\n const nodeIdToDataMap = nodeMap.itemIdToDataMap;\n const linkIdToIndexMap = linkMap.itemIdToIndexMap;\n const linkIndexToIdMap = linkMap.itemIndexToIdMap;\n const linkIdToDataMap = linkMap.itemIdToDataMap;\n const encodeNodeId = (id: K1) => `N_${nodeIdToIndexMap.get(id)}` as EncodedNodeId;\n const decodeNodeId = (id: EncodedNodeId) => nodeIndexToIdMap.get(Number(id.slice(2)));\n const encodeLinkId = (id: K2) => `L_${linkIdToIndexMap.get(id)}` as EncodedLinkId;\n const decodeLinkId = (id: EncodedLinkId) => linkIndexToIdMap.get(Number(id.slice(2)));\n\n const encodedNodesSelection = selectedIds.nodes ? selectedIds.nodes.map(encodeNodeId) : [];\n const encodedLinksSelection = selectedIds.links ? selectedIds.links.map(encodeLinkId) : [];\n const encodedSelection = [...encodedNodesSelection, ...encodedLinksSelection];\n const idExtracter = (event: Event) => {\n // return encodeNodeId(id) or encodeLinkId(id) depending on node or link selection or undefined if clicked on empty space\n const info =\n event.type === 'keyup'\n ? focusedItemInfo\n : getNavigableInfo<K1, K2>(event.target as HTMLElement, rootRef);\n return info.id !== undefined\n ? info.isNode\n ? encodeNodeId(info.id as K1)\n : encodeLinkId(info.id as K2)\n : undefined;\n };\n\n const onEncodedSelectionChange = (detail: { ids: (EncodedNodeId | EncodedLinkId)[] }) => {\n const newNodeIds = detail.ids\n .filter((encId) => encId[0] === 'N')\n .map((encId) => decodeNodeId(encId as EncodedNodeId)!);\n const newLinkIds = detail.ids\n .filter((encId) => encId[0] === 'L')\n .map((encId) => decodeLinkId(encId as EncodedLinkId)!);\n\n const newSelectedNodeIds = newNodeIds.filter(\n (id) => nodeIdToDataMap.get(id)?.selectable !== 'off'\n );\n const newSelectedLinkIds = newLinkIds.filter(\n (id) => linkIdToDataMap.get(id)?.selectable !== 'off'\n );\n\n const nodeData = newSelectedNodeIds.map((selectedId) => {\n return nodeIdToDataMap.get(selectedId);\n });\n const linkData = newSelectedLinkIds.map((selectedId) => {\n return linkIdToDataMap.get(selectedId);\n });\n return (\n onSelectionChange &&\n onSelectionChange({\n nodes: newSelectedNodeIds,\n links: newSelectedLinkIds,\n nodeData,\n linkData\n })\n );\n };\n\n const getDataById = (id: EncodedNodeId | EncodedLinkId) => {\n let data;\n if (id[0] === 'N') {\n const nodeId = decodeNodeId(id as EncodedNodeId)!;\n data = nodeMap.itemIdToDataMap.get(nodeId);\n } else if (id[0] === 'L') {\n const linkId = decodeLinkId(id as EncodedLinkId)!;\n data = linkMap.itemIdToDataMap.get(linkId);\n }\n return data;\n };\n\n const { selectionContent, selectionProps } = useSelection<`N_${number}` | `L_${number}`, D1 | D2>(\n {\n selection: encodedSelection,\n idExtracter,\n selectionMode,\n getDataById,\n onChange: onEncodedSelectionChange\n }\n );\n\n return { selectionContent, selectionProps };\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 {\n DiagramProps,\n DiagramNodeData,\n DiagramLinkData,\n DiagramLayoutOutput\n} from './diagram.types';\nimport { TrackResizeContainer } from '#UNSAFE_TrackResizeContainer';\nimport { dimensionStyle } from './themes/DiagramStyles.css';\nimport { DiagramWithDimensions } from './DiagramWithDimensions';\n\n/**\n * Diagrams are used to display a set of nodes and the links between them.\n */\nexport function Diagram<\n K1 extends string | number,\n K2 extends string | number,\n D1 extends DiagramNodeData<K1> = DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1> = DiagramLinkData<K2, K1>,\n L extends DiagramLayoutOutput<K1, K2> = DiagramLayoutOutput<K1, K2>\n>({ width, height, ...otherProps }: DiagramProps<K1, K2, D1, D2, L>) {\n return otherProps.nodes && otherProps.nodes.length > 0 ? (\n <TrackResizeContainer width={width} height={height} class={dimensionStyle}>\n {(width, height) => <DiagramWithDimensions width={width} height={height} {...otherProps} />}\n </TrackResizeContainer>\n ) : null;\n}\n"],"names":["ZOOM_TO_FIT_PADDING","createItemMap","items","itemIdToDataMap","Map","itemIdToIndexMap","itemIndexToIdMap","i","length","set","id","combineIds","nodeIds","linkIds","combinedIds","push","getLabelBounds","label","dims","isRTL","labelPos","getLabelPosition","rotationAngle","rotationPoint","x","width","y","height","angle","topLeft","getCoordsRelToRotPoint","topRight","bottomLeft","bottomRight","points","minX","minY","maxX","maxY","point","w","h","getBoundsFromPoints","rotatePoint","map","pos","labelPoint","rotPoint","Math","cos","sin","dimensions","positionProps","position","hAlign","vAlign","centerXYToPanXY","centerX","centerY","zoom","panX","panY","isEqualItem","item1","item2","isNode","getNavigableInfo","element","rootElementRef","navigableId","elem","dataset","parentElement","current","getItemAriaLabel","translations","supportsSelection","isSelected","accessibleLabel","generateAriaLabel","undefined","getZoomToFitZoom","contentBounds","zoomX","zoomY","min","constrainZoom","minZoom","maxZoom","newZoom","max","_getFontProps","styles","fontProps","fontFamily","fontSize","fontStyle","fontWeight","zoomAndCenterItemFromInfo","info","linkIdToDataMap","bounds","nodeIdToIndex","totalBounds","get","link","startNodeBounds","startNode","endNodeBounds","endNode","cX","cY","getPanZoomToCenterNode","DiagramNodeElement","state","previousState","activeId","nodeRenderer","onNodeSizeChanged","nodeIndex","data","isDimmed","nodeStyles","dimmedItemStyle","itemStyles","context","useTranslationBundle","ref","useRef","optionsRef","box","useResizeObserver","useCallback","entry","boxSize","borderBoxSize","inlineSize","blockSize","_jsx","class","classNames","role","selected","style","top","left","focused","hovered","children","DiagramNodeLayer","nodes","states","previousStates","nodeBounds","layerStyles","node","selectedNodeIds","includes","focusedId","hoveredId","jsx","highlightedIds","DiagramLinkElement","linkRenderer","layoutOutput","linkStyles","DiagramLinkLayer","links","combinedNodeBounds","selectedLinkIds","DiagramLabel","text","labelStyle","labelBorderStyle","labelStyles","labelPosition","labelRotation","rotation","getLabelRotation","borderColor","DiagramLabelLayer","itemProps","labelDimensions","direction","useUser","item","DiagramLayers","nodeLabelPositions","linkLabelPositions","_jsxs","_Fragment","Infinity","DiagramPanZoomContainer","panValues","panZoomStyles","translate","transform","getNodeDetailFromInfo","itemInfo","getNavigableLinksForNodeId","nodeId","listOfLinks","forEach","startId","endId","_getClockwiseAngle","currNode","oppositeNode","p1","_getNodeCenter","p2","atan2","PI","_getNodesDistance","sqrt","pow","_getLinkDirection","nodeBB","calcDistanceAngleWeighted","objectBB","currentBB","optimalAngle1","optimalAngle2","objCenterX","objCenterY","curCenterX","curCenterY","x_dist","abs","y_dist","distance","isValidDestination","objBB","curBB","compareCenters","_areEqualWithinTolerance","calcInContact","objRect","curRect","_isVerticallyAligned","_isHorizontallyAligned","rect1","rect2","a","b","_anglesAreEqualWithinTolerance","a1","a2","res","useDiagramNavigation","currentKeyboardFocusNode","nodeBoundsById","createNodeBoundsMap","getNextNavigableNode","listOfObjects","currBB","object","inContact","nextObject","nextDistance","Number","MAX_VALUE","nextInContact","hasFoundCurrent","objBounds","currBounds","getNextNavigableLink","listOfNodes","currentLink","keyboardFocusNode","linksWithSortingAttributes","linkDetail","addSortingAttributes","sort","link1","link2","linkAngle1","linkDistance1","linkDirection1","linkAngle2","linkDistance2","linkDirection2","bForward","index","navigateFromNodeToLink","event","adjLinks","currNodeBB","currNodeBBCenterX","nodeCenterX","altKey","code","navigateFromLinkToNode","linkId","key","linkData","startNodeBB","endNodeBB","startNodeCenterX","endNodeCenterX","DEFAULT_KB_PAN","DEFAULT_KB_ZOOM","useEvents","touchResponse","initNode","nodeIdToDataMap","nodeIdToIndexMap","onItemHover","onItemFocus","kbPanCallback","kbZoomCallback","focusedItemInfo","setfocusedItemInfo","useState","hoveredItemInfo","sethoveredItemInfo","hoverHandlers","useVisHover","target","isCurrent","getRandomId","type","updatefocusedItemInfo","handleKeyboardInput","isFocusVisible","eventsProps","mergeProps","onKeyUp","onKeyDown","eventConsumed","isChangeItemType","isNavigationEvent","nextItemInfo","itemDetail","getLinkDetailFromInfo","handleKeyboardNavigationEvent","dPan","dx","shiftKey","dy","dZoom","ctrlKey","nZoom","nPan","cx","cy","center","preventDefault","stopPropagation","cancelEvent","onBlur","onPointerUp","useDiagramDatatip","datatip","focusedItemBoundsRef","panState","nodesMap","linksMap","hoveredItem","isRtl","datatipC","focusedItem","isPointerActive","content","getDatatipContent","elementBounds","offset","calculateOffset","datatipContent","datatipProps","useDatatip","placement","anchor","usePointerGesture","captureTargetRef","numPointers","onPointerGestureDown","onPointerGestureMove","onPointerGestureEnd","onExtraneousPointerDown","isDisabled","activePointers","e","findIndex","pointerEvent","pointerId","pointers","splice","onPointerDown","onPointerMove","setPointerCapture","onPointerCancel","onPointerLeave","pan","previousPan","nextPan","panDirection","panBounds","onPanChange","newPan","constrainPan","isPanChanged","panXYToCenterXY","useDragPan","panProps","onDragPanStart","onDragPanEnd","prevPanState","initialPanState","dragProps","draggableRegion","onDragStart","onDragMove","onDragEnd","inactiveState","isDragging","x0","y0","regionOffsetX","regionOffsetY","dragState","handlePointerEvent","cb","pageX","pageY","originalEvent","button","region","xMin","xMax","yMin","yMax","inDraggableRegion","getRegionOffset","useDrag","onPan","panning","nextZoom","onZoomChange","zoomValue","getDistance","usePinchZoom","zooming","onZoom","pinchProps","onPinchZoomStart","onPinchZoomChange","onPinchZoomEnd","origin","prevDistance","reset","pointer1","pointer2","offsetX","offsetY","getMidpoint","delta","usePinch","usePanZoom","props","cursor","setCursor","zoomProps","zoomTofitZoom","getZoomProps","prevZoom","initPanZoomState","isDeviceTouch","isTouch","plotArea","showPanButton","dragModeOptions","isZoomScroll","plotAreaSpace","componentWidth","showZoomButton","showSelectButton","toggleButtonContent","userDragMode","useVisDragModeControls","getPanProps","elemBounds","panType","zoomRatio","minZoomX","minZoomY","initZoom","initCenterX","initCenterY","boundsX","boundsY","getPanBounds","dragPanProps","wheelZoomProps","onWheel","onWheelCallback","deltaX","deltaY","deltaMode","DOM_DELTA_PIXEL","DOM_DELTA_LINE","DOM_DELTA_PAGE","getNormalizedDelta","metaKey","useWheel","useWheelZoom","pinchZoomProps","panZoomProps","DiagramWithDimensions","selectedIds","selectionMode","layout","onSelectionChange","otherProps","rootRef","setBounds","combinedLabelBounds","setCombinedLabelBounds","diagramNodes","nodeMap","diagramLinks","newLinks","filterLinksWithNoEndNodes","linkMap","resizeThrottling","newDimensions","getDimensionsFromBounds","textMeasureContent","getTextDimensions","useTextDimensions","nodeLabelPosRef","linkLabelPosRef","layoutOutputRef","labelBounds","getContentBounds","touchResponseStyle","useVisTouchResponse","supportsTouchDragGestures","selectionProps","selectionContent","nodeIndexToIdMap","linkIdToIndexMap","linkIndexToIdMap","encodeNodeId","decodeNodeId","slice","encodeLinkId","decodeLinkId","encodedSelection","useSelection","selection","idExtracter","getDataById","onChange","detail","newNodeIds","ids","filter","encId","newLinkIds","newSelectedNodeIds","selectable","newSelectedLinkIds","nodeData","selectedId","useDiagramSelection","startNB","endNB","startNCenter","endNCenter","getFocusedItemBounds","datatipAriaDescribedby","mergedEventProps","jsxs","outerStyles","tabIndex","merge","nodeWidth","nodeHeight","idx","window","requestAnimationFrame","labelDims","layoutJSON","nodeItems","linkItems","nodeKeys","Array","from","keys","linkKeys","getNodeDimensions","getLabelDimensions","componentSize","constructLayoutJSON","nodePoints","nodeLabelPos","linkLabelPos","positions","hasNodeLabels","hasLinkLabels","deconstructLayoutJSON","newBounds","dim","mergeDimensions","bounds1","bounds2","every","getAllLabelBounds","TrackResizeContainer","dimensionStyle"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact/compat', './WindowOverlay-c390f525', './useTestId-c286f212', './useAnimation-5a74955f', 'preact/hooks', './refUtils-d354a169', './UNSAFE_Dialog/themes/redwood/DialogTheme', './FocusTrap-d351e5c9', './Layer-139c23c4', './LayerHost-733ade2f', './Modal-9eaf8cd9', './classNames-08d99695', './ImageVars.css-17386400', './useComponentTheme-5aa41a8f', './useId-c9578d26', './dimensions-fda85d6b', './mergeInterpolations-9ede4cf7', './useResizeObserver-275c3e83', './useDraggable-7f591a3d', './Floating-ae9845d4', './IconButton-05c6b793', './Close-a88a3dcf', './Resizable-d12fcde1', './useBreakpoints-52d11a72', './useTranslationBundle-7c40cb58', './animationUtils-716a9aa6', './tabbableUtils-428c264e'], (function(e,n,o,s,a,t,r,i,l,c,d,u,f,m,g,h,b,p,y,R,v,D,E,x,S,z,j,I,A){"use strict";const O=({children:e,id:o,cancelBehavior:s,onClose:a,draggableProps:t,headerDecoration:r="on"})=>{const{styles:i}=h.useComponentTheme(l.DialogRedwoodTheme),c=m.classNames([i.dialogHeaderStyle,..."on"===r?[i.dialogHeaderDecorationStyle]:[]]),d="string"==typeof e?n.jsx("h1",{id:o,className:i.dialogTitleStyle,children:e}):n.jsx(n.Fragment,{children:e}),u=j.useTranslationBundle("@oracle/oraclejet-preact"),f="icon"===s?n.jsx("div",{children:n.jsx("div",{className:i.dialogHeaderCloseIconStyle,children:n.jsx(E.IconButton,{"aria-label":u.message_close(),size:"sm",variant:"ghost",onAction:()=>{a?.({reason:"icon"})},children:n.jsx(x.SvgClose,{})})})}):null;return n.jsxs("div",{className:c,...t,children:[d,f]})},B=o.forwardRef((({children:e,style:o},s)=>n.jsx("div",{ref:s,className:o,children:e}))),C=o.forwardRef((({children:e,header:o,footer:s,visibility:t,labelId:d,role:u,ariaLabelledBy:f,ariaDescribedBy:b,cancelBehavior:p,draggableProps:y,isResizable:v,headerDecoration:D,containerRef:E,onClose:x,onResizeStart:j,onResize:I,onResizeEnd:A,onKeyDown:C,testId:T,style:w,footerRef:N},k)=>{const L=r.useRef(null),F=i.mergeRefs(k,L),[U,P]=r.useState(!1),_=!z.useBreakpoints().md,{classes:W,styles:H}=h.useComponentTheme(l.DialogRedwoodTheme),M=r.useCallback((()=>{L.current&&(L.current.clientHeight<400?P(!0):P(!1))}),[]);r.useEffect((()=>{M()}),[M]),R.useResizeObserver(L,M);const X=_?H.baseStyleSmallWidth:H.baseStyleDesktop,G=U?H.dialogContentStyleNoShrink:H.dialogContentStyle,K="visible"===t?H.visibilityVisible:H.visibilityHidden,Y=a.useTestId(T);return n.jsx(c.FocusTrap,{restoreFocusRef:!1,children:n.jsxs("div",{ref:F,tabIndex:-1,className:m.classNames([W,X,K,g.globalImages]),style:w,onKeyDown:C,role:u,"aria-labelledby":f,"aria-describedby":b,...Y,children:[n.jsxs("div",{className:H.dialogContainerStyle,children:[n.jsx(O,{id:d,onClose:x,headerDecoration:D,cancelBehavior:p,draggableProps:y,children:o}),n.jsx("div",{className:G,children:n.jsx("div",{className:H.dialogBodyStyle,children:e})}),n.jsx(B,{ref:N,style:H.dialogFooterStyle,children:s})]}),v&&n.jsx(S.Resizable,{onResizeStart:j,onResize:I,onResizeEnd:A,containerRef:E})]})})})),T=o.forwardRef((({children:e,isOpen:o,header:a="",footer:l,modality:c="modal",launcherRef:u,anchorRef:m,placement:g,offset:h=0,cancelBehavior:R="none",dragAffordance:E="none",resizeBehavior:x="none",headerDecoration:S="on",onDragStart:j,onDragMove:I,onDragEnd:O,onResizeStart:B,onResize:T,onResizeEnd:N,onFocusSet:k,onClose:L,onTransitionEnd:F,role:U="dialog","aria-labelledby":P,"aria-describedby":_,testId:W,...H},M)=>{const[X,G]=r.useState(o?"initial":"unmounted"),[K,Y]=r.useState("hidden"),V=r.useRef("unmounted"),q=r.useRef(null),J=r.useRef(null),Q=r.useRef(null),Z=r.useRef(null),$=!z.useBreakpoints().md,ee=$?"bottom":g||"center",ne=$?"opening"===X?"slideUp":"slideDown":"opening"===X?"zoomIn":"zoomOut",oe=b.useId(),se=P||oe,ae=[...Object.values(p.dimensionInterpolations)],te=y.mergeInterpolations(ae),{...re}=te(H),ie=r.useRef(!1),le=r.useCallback((()=>{Z.current&&A.allTabbableElements(Z.current).length>0?A.focusWithin(Z.current):A.focusWithin(J.current),k?.()}),[k]),ce=r.useCallback((()=>{const e=Q.current;ie.current&&e&&(A.focusOn(e),ie.current=!1)}),[]),{nodeRef:de}=t.useAnimation(ne,{animationStates:w,isAnimatedOnMount:!0,onAnimationEnd:()=>{o?F?.(!0):o||(ie.current=J.current?.contains(A.getActiveElement())||!1,de(null),Y("hidden"),G("unmounted"),F?.(!1))}}),ue=r.useMemo((()=>i.mergeRefs(J,M)),[J,M]),fe=r.useCallback((e=>{Q.current===A.getActiveElement()&&"F6"===e.code&&(e.preventDefault(),e.stopPropagation(),A.focusWithin(J.current),k?.())}),[c]),{draggableProps:me}=v.useDraggable({isDisabled:"none"===E,containerRef:q,onDragStart:j,onDragMove:I,onDragEnd:O});r.useEffect((()=>("unmounted"!==X||o?"unmounted"===X&&o?G("initial"):"initial"===X&&o?(de(J.current),G("opening")):"opening"===X&&o?Y("visible"):o||G("closing"):X!==V.current&&ce(),()=>{V.current=X})),[o,X,de,ce]),r.useEffect((()=>()=>{const e=Q.current;J.current?.contains(A.getActiveElement())&&e&&setTimeout((()=>{A.focusOn(e)}),0)}),[]),r.useEffect((()=>(o&&(u?.current&&u.current instanceof Element?Q.current=document.body.contains(u.current)?u.current:A.getActiveElement():Q.current=A.getActiveElement(),"modeless"===c&&Q.current?.addEventListener("keydown",fe)),()=>{"modeless"===c&&Q.current?.removeEventListener("keydown",fe)})),[o,u,fe,c]),r.useEffect((()=>{"visible"===K&&le()}),[K,le]);const ge=e=>{switch(e.code){case"Escape":L?.({reason:"escapeKey"});break;case"F6":Q.current&&"modeless"===c&&A.focusOn(Q.current),e.preventDefault(),e.stopPropagation()}},he=()=>{J.current?.focus()},be=()=>n.jsx(C,{ref:ue,labelId:se,header:a,footer:l,role:U,ariaLabelledBy:se,ariaDescribedBy:_,onKeyDown:ge,testId:W,style:re,visibility:K,cancelBehavior:R,draggableProps:me,isResizable:"resizable"===x,headerDecoration:S,containerRef:q,onClose:L,onResizeStart:B,onResize:T,onResizeEnd:N,footerRef:Z,children:e}),pe=()=>m&&m.current?n.jsx(D.Floating,{ref:q,anchorRef:m,placement:"bottom-start",flipOptions:{mainAxis:!1,crossAxis:!1},shiftOptions:{mainAxis:!1,crossAxis:!1},children:be()}):n.jsx(s.WindowOverlay,{placement:ee,offset:h,children:be()});return"modal"===c?n.jsx(f.Modal,{isOpen:"unmounted"!==X,onBackdropClick:he,children:pe()}):"unmounted"!==X?n.jsx(d.Layer,{children:pe()}):null})),w={zoomIn:{from:{scaleX:.9,scaleY:.9,transformOrigin:"center",opacity:0},to:{scaleX:1,scaleY:1,opacity:1},options:{duration:200}},zoomOut:{from:{scaleX:1,scaleY:1,transformOrigin:"center",opacity:1},to:{scaleX:.9,scaleY:.9,opacity:0},options:{duration:200}},slideUp:{...I.SLIDE_UP_XLARGE,options:{duration:I.DURATION_LARGE}},slideDown:{...I.SLIDE_DOWN_XLARGE,options:{duration:I.DURATION_LARGE}}};e.Dialog=T}));
2
- //# sourceMappingURL=Dialog-b9dd8533.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog-b9dd8533.js","sources":["../../src/UNSAFE_Dialog/Dialog.tsx"],"sourcesContent":["import type { ComponentChild, RefObject } from 'preact';\nimport { ForwardedRef, forwardRef } from 'preact/compat';\nimport { Offset, WindowOverlay, WindowOverlayPlacement } from '../UNSAFE_WindowOverlay';\nimport { TestIdProps, useTestId } from '../hooks/UNSAFE_useTestId';\nimport { useAnimation } from '../hooks/UNSAFE_useAnimation';\nimport { useEffect, useRef, useCallback, useMemo, useState } from 'preact/hooks';\nimport { mergeRefs } from '../utils/PRIVATE_refUtils';\n\nimport { DialogRedwoodTheme } from './themes/redwood/DialogTheme';\nimport { DialogStyles } from './themes/DialogStyles.css';\nimport { FocusTrap } from '../UNSAFE_FocusTrap';\nimport { HTMLAttributesSignalExcluded } from '../utils/UNSAFE_attributeUtils';\nimport { Layer } from '../UNSAFE_Layer';\nimport { Modal } from '../UNSAFE_Modal';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { globalImages } from '#/ImageVars.css';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { dimensionInterpolations, DimensionProps } from '../utils/UNSAFE_interpolations/dimensions';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\n\nimport { DraggableProps, useDraggable } from '../hooks/PRIVATE_useDraggable';\nimport { Floating, Coords } from '../UNSAFE_Floating';\nimport { IconButton } from '../UNSAFE_IconButton';\nimport { CloseIcon } from '../PRIVATE_ThemedIcons/CloseIcon';\nimport { Resizable } from '../PRIVATE_Resizable/Resizable';\nimport { Position, Rect } from '../utils/UNSAFE_flexibleComponentUtils';\nimport { useBreakpoints } from '../hooks/UNSAFE_useBreakpoints';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '../resources/nls/bundle';\nimport {\n SLIDE_DOWN_XLARGE,\n SLIDE_UP_XLARGE,\n DURATION_LARGE\n} from '../utils/PRIVATE_animationUtils';\nimport {\n allTabbableElements,\n focusOn,\n focusWithin,\n getActiveElement\n} from '../utils/PRIVATE_tabbableUtils';\n\n// dialog states\ntype Status = 'initial' | 'opening' | 'closing' | 'unmounted';\ntype VisibilityStatus = 'hidden' | 'visible';\ntype Animations = 'zoomIn' | 'zoomOut' | 'slideUp' | 'slideDown';\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children' | 'role'>;\n\nexport type OnCloseDetail = {\n reason: 'escapeKey' | 'icon';\n};\n\nexport type CancelBehavior = 'none' | 'escape' | 'icon';\n\ntype DialogProps = IntrinsicProps &\n DimensionProps & {\n /**\n * On Close callback.\n */\n onClose?: (detail: OnCloseDetail) => void;\n\n /**\n * On opening or closing transition end callback.\n */\n onTransitionEnd?: (value: boolean) => void;\n\n /**\n * Determines whether the Dialog is open.\n */\n isOpen: boolean;\n\n /**\n * Dialog header content. Can be a string or VNode (Component Child).\n * <p>\n * When a plain string is passed, it will be used as the dialog title. Otherwise, the prop value\n * will be used as the header content.\n * </p>\n * <p>\n * Dialog will automatically refer to the header content as the accessible label.\n * The user can override this behavior by specifying the <code>aria-labelledby</code> property\n * and setting its value as needed.\n * </p>\n */\n header?: ComponentChild;\n\n /**\n * Dialog footer content.\n */\n footer?: ComponentChild;\n\n /**\n * Determines dialog modality. Default is 'modal'.\n */\n modality?: 'modal' | 'modeless';\n\n /**\n * Specifies dialog's cancel behavior. Default is 'none'.\n */\n cancelBehavior?: CancelBehavior;\n\n /**\n * Specifies dialog's launcher. After dialog closes, it returns focus to the launcher.\n * If not specified, focus goes back to the last active element before dialog opened.\n */\n launcherRef?: RefObject<HTMLElement>;\n\n /**\n * Specifies dialog's anchor. Dialog is placed relative to its anchor. If not specified,\n * it is placed relatively to window.\n */\n anchorRef?: RefObject<Element | Coords>;\n\n /**\n * Determines placement of the dialog relative to the viewport.\n * Supported values are:\n * <p> <code>center</code>, <code>top</code>, <code>top-start</code>, <code>top-end</code>,\n * <code>end</code>, <code>end-top</code>, <code>end-bottom</code>,\n * <code>bottom</code>, <code>bottom-start</code>, <code>bottom-end</code>,\n * <code>start</code>, <code>start-top</code>, <code>start-bottom</code>\n * </p>\n * Default is <code>center</code>.\n */\n placement?: WindowOverlayPlacement;\n\n /**\n * Determines the offset of the Dialog from its core placement along the specified axes.\n *\n * Offset could be a number or an object\n *\n * An object has the following type:\n * <pre>\n * {\n * mainAxis?: number;\n * crossAxis?: number;\n * }\n * </pre>\n * For the <code>center</code> placement the convention for the offset type is that mainAxis defines\n * offset from the top, crossAxis defines offset from the left side of the view port.\n *\n * A number is a shortcut for setting the mainAxis.\n */\n offset?: Offset;\n\n /**\n * Determines if the Dialog should be sensitive to drag gestures. To create a draggable dialog,\n * set <code>dragAffordance='header'</code> and specify the <code>onDragMove</code> handler.\n */\n dragAffordance?: 'none' | 'header';\n\n /**\n * Determines if the Dialog should support resizing. To create a resizable dialog,\n * set <code>resizeBehavior='resizable'</code> and specify the <code>onResize</code> handler.\n */\n resizeBehavior?: 'none' | 'resizable';\n\n /**\n * Callback to be invoked if <code>dragAffordance</code> is set to <code>header</code> and a drag gesture is initiated.\n * The current position is reported in the <code>pos</code> parameter.\n *\n * @param pos\n */\n onDragStart?: (pos: Position) => void;\n\n /**\n * Callback to be invoked if <code>dragAffordance</code> is set to <code>header</code> and a drag gesture is detected.\n * The current position is reported in the <code>pos</code> parameter.\n *\n * @param pos\n */\n onDragMove?: (pos: Position) => void;\n\n /**\n * Callback to be invoked if <code>dragAffordance</code> is set to <code>header</code> and a drag gesture is completed.\n * The current position is reported in the <code>pos</code> parameter.\n *\n * @param pos\n */\n onDragEnd?: (pos: Position) => void;\n\n /**\n * Callback to be invoked if <code>resizeBehavior</code> is set to <code>resizable</code> and\n * a resize gesture is initiated. The current position and dimensions are reported in the\n * <code>rect</code> parameter.\n *\n * @param rect\n */\n onResizeStart?: (rect: Rect) => void;\n\n /**\n * Callback to be invoked if <code>resizeBehavior</code> is set to <code>resizable</code> and\n * a resize gesture is detected. The current position and dimensions are reported in the\n * <code>rect</code> parameter.\n *\n * @param rect\n */\n onResize?: (rect: Rect) => void;\n\n /**\n * Callback to be invoked if <code>resizeBehavior</code> is set to <code>resizable</code> and\n * a resize gesture is completed. The current position and dimensions are reported in the\n * <code>rect</code> parameter.\n *\n * @param rect\n */\n onResizeEnd?: (rect: Rect) => void;\n\n /**\n * Specifies callback triggered when initial focus is set or when a modeless dialog receives focus\n * via the F6 key.\n */\n onFocusSet?: () => void;\n\n /**\n * Determines if the header decoration should be displayed. The default is <code>on</code>\n * which renders a textured strip at the top of the dialog header in the Redwood theme.\n * If set to <code>off</code>, no decoration is rendered.\n */\n headerDecoration?: 'off' | 'on';\n\n /**\n * Specifies the ARIA role type. Depending on how the dialog is used in the page, the developer\n * should choose from the following:\n * <ul>\n * <li><code>dialog</code> defines an application window that is designed to interrupt the current\n * processing of an application in order to prompt the user to enter information or require\n * a response.</li>\n * <li><code>alertdialog</code> defines type of dialog that contains an alert message, where initial\n * focus goes to an element within the dialog.</li>\n * </ul>\n */\n role?: string;\n\n /**\n * Optional <code>aria-labelledby</code> property referring to the content to be used as Dialog's\n * accessible <label htmlFor=\"\" className=\"\"></label>\n * If not specified, the Dialog will automatically refer to the entire header content as the accessible label.\n */\n 'aria-labelledby'?: string;\n\n /**\n * Optional accessible description for the dialog.\n */\n 'aria-describedby'?: string;\n } & TestIdProps;\n\n// dialog header\ntype DialogHeaderProps = Pick<DialogProps, 'children'> & {\n id?: string;\n cancelBehavior?: CancelBehavior;\n onClose?: (detail: OnCloseDetail) => void;\n draggableProps?: DraggableProps;\n headerDecoration?: 'off' | 'on';\n};\n\nconst StyledDialogHeader = ({\n children,\n id,\n cancelBehavior,\n onClose,\n draggableProps,\n headerDecoration = 'on'\n}: DialogHeaderProps) => {\n const { styles } = useComponentTheme<never, DialogStyles>(DialogRedwoodTheme);\n\n const classes = classNames([\n styles.dialogHeaderStyle,\n ...(headerDecoration === 'on' ? [styles.dialogHeaderDecorationStyle] : [])\n ]);\n\n const content: ComponentChild =\n typeof children === 'string' ? (\n <h1 id={id} className={styles.dialogTitleStyle}>\n {children}\n </h1>\n ) : (\n <>{children}</>\n );\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const handleIconClose = () => {\n onClose?.({ reason: 'icon' });\n };\n\n const closeIcon: ComponentChild =\n cancelBehavior === 'icon' ? (\n <div>\n <div className={styles.dialogHeaderCloseIconStyle}>\n <IconButton\n aria-label={translations.message_close()}\n size=\"sm\"\n variant=\"ghost\"\n onAction={handleIconClose}>\n <CloseIcon />\n </IconButton>\n </div>\n </div>\n ) : null;\n\n return (\n <div className={classes} {...draggableProps}>\n {content}\n {closeIcon}\n </div>\n );\n};\n\n// dialog footer\n\ntype DialogFooterProps = Pick<DialogProps, 'children'> & {\n style?: string;\n};\n\nconst StyledDialogFooter = forwardRef(\n ({ children, style }: DialogFooterProps, ref: ForwardedRef<HTMLDivElement | null>) => {\n return (\n <div ref={ref} className={style}>\n {children}\n </div>\n );\n }\n);\n\n// styled dialog\n\ntype MainProps = Pick<DialogProps, 'children' | 'header' | 'footer' | 'role'> &\n Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'style' | 'onKeyDown'> & {\n visibility: VisibilityStatus;\n labelId?: string;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n cancelBehavior?: CancelBehavior;\n draggableProps?: DraggableProps;\n isResizable?: boolean;\n headerDecoration?: 'off' | 'on';\n containerRef?: RefObject<HTMLElement>;\n onClose?: (detail: OnCloseDetail) => void;\n onResizeStart?: (rect: Rect) => void;\n onResize?: (rect: Rect) => void;\n onResizeEnd?: (rect: Rect) => void;\n footerRef?: RefObject<HTMLDivElement | null>;\n } & TestIdProps;\n\nconst StyledDialog = forwardRef(\n (\n {\n children,\n header,\n footer,\n visibility,\n labelId,\n role,\n ariaLabelledBy,\n ariaDescribedBy,\n cancelBehavior,\n draggableProps,\n isResizable,\n headerDecoration,\n containerRef,\n onClose,\n onResizeStart,\n onResize,\n onResizeEnd,\n onKeyDown,\n testId,\n style,\n footerRef\n }: MainProps,\n ref: ForwardedRef<HTMLDivElement | null>\n ) => {\n const elementRef = useRef<HTMLDivElement>(null);\n const mergedRef = mergeRefs(ref, elementRef);\n\n const [isSmallHeight, setSmallHeight] = useState<boolean>(false);\n const isSmallWidth = !useBreakpoints()['md'];\n\n const { classes: styleClasses, styles } = useComponentTheme<never, DialogStyles>(\n DialogRedwoodTheme\n );\n\n const resizeHandler = useCallback(() => {\n if (elementRef.current) {\n if (elementRef.current.clientHeight < 400) {\n setSmallHeight(true);\n } else {\n setSmallHeight(false);\n }\n }\n }, []);\n\n // set initial Height\n useEffect(() => {\n resizeHandler();\n }, [resizeHandler]);\n\n useResizeObserver(elementRef, resizeHandler);\n\n // for small widths (mobile), use the 'smallWidth' dialog style\n // otherwise, check for small height to apply 'smallWidth' or 'desktop' styles accordingly\n const baseStyle = isSmallWidth ? styles.baseStyleSmallWidth : styles.baseStyleDesktop;\n\n // content should scroll depending on the viewport height\n // on large screens, the header and footer should be \"sticky\",\n // at small viewport heights, the entire content should be scrollable\n const contentStyle = isSmallHeight\n ? styles.dialogContentStyleNoShrink\n : styles.dialogContentStyle;\n\n const visibilityStyle =\n visibility === 'visible' ? styles.visibilityVisible : styles.visibilityHidden;\n\n const testIdProps = useTestId(testId);\n\n return (\n <FocusTrap restoreFocusRef={false}>\n <div\n ref={mergedRef}\n tabIndex={-1}\n className={classNames([styleClasses, baseStyle, visibilityStyle, globalImages])}\n style={style}\n onKeyDown={onKeyDown}\n role={role}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n {...testIdProps}>\n <div className={styles.dialogContainerStyle}>\n <StyledDialogHeader\n id={labelId}\n onClose={onClose}\n headerDecoration={headerDecoration}\n cancelBehavior={cancelBehavior}\n draggableProps={draggableProps}>\n {header}\n </StyledDialogHeader>\n <div className={contentStyle}>\n <div className={styles.dialogBodyStyle}>{children}</div>\n </div>\n <StyledDialogFooter ref={footerRef} style={styles.dialogFooterStyle}>\n {footer}\n </StyledDialogFooter>\n </div>\n {isResizable && (\n <Resizable\n onResizeStart={onResizeStart}\n onResize={onResize}\n onResizeEnd={onResizeEnd}\n containerRef={containerRef}></Resizable>\n )}\n </div>\n </FocusTrap>\n );\n }\n);\n\n// main Dialog component\n\n/**\n * WAI-ARIA-compliant dialog component. A dialog is a floating window that typically contains\n * a title bar and a content area.\n * The dialog is generally placed on top of the rest of the page content. It can be either modal\n * (only the content in the dialog can be interacted with) or non-modal (it's still possible\n * to interact with content outside of the dialog).\n */\nexport const Dialog = forwardRef(\n (\n {\n children,\n isOpen,\n header = '',\n footer,\n modality = 'modal',\n launcherRef,\n anchorRef,\n placement,\n offset = 0,\n cancelBehavior = 'none',\n dragAffordance = 'none',\n resizeBehavior = 'none',\n headerDecoration = 'on',\n onDragStart,\n onDragMove,\n onDragEnd,\n onResizeStart,\n onResize,\n onResizeEnd,\n onFocusSet,\n onClose,\n onTransitionEnd,\n role = 'dialog',\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n testId,\n ...props\n }: DialogProps,\n ref: ForwardedRef<HTMLDivElement | null>\n ) => {\n const [status, setStatus] = useState<Status>(isOpen ? 'initial' : 'unmounted');\n const [visibility, setVisibility] = useState<VisibilityStatus>('hidden');\n\n const prevStatusRef = useRef<Status>('unmounted');\n\n const floatingRef = useRef<HTMLDivElement>(null);\n const contentWrapperRef = useRef<HTMLDivElement | null>(null);\n const localLauncherRef = useRef<HTMLElement | null>(null);\n const footerRef = useRef<HTMLDivElement | null>(null);\n\n const isSmallWidth = !useBreakpoints()['md'];\n const derivedPlacement = isSmallWidth ? 'bottom' : placement ? placement : 'center';\n const animationType = isSmallWidth\n ? status === 'opening'\n ? 'slideUp'\n : 'slideDown'\n : status === 'opening'\n ? 'zoomIn'\n : 'zoomOut';\n\n const uniqueId = useId();\n const labelId = ariaLabelledBy ? ariaLabelledBy : uniqueId;\n\n const interpolations = [...Object.values(dimensionInterpolations)];\n const styleInterpolations = mergeInterpolations<DimensionProps>(interpolations);\n const { ...styles } = styleInterpolations(props);\n const shouldReturnFocus = useRef<boolean>(false);\n\n const setInitialFocus = useCallback(() => {\n // Focus on first tabbable in the Dialog container or container itself if there is none\n if (footerRef.current && allTabbableElements(footerRef.current).length > 0) {\n focusWithin(footerRef.current);\n } else {\n focusWithin(contentWrapperRef.current as HTMLElement);\n }\n onFocusSet?.();\n }, [onFocusSet]);\n\n const returnFocus = useCallback((): void => {\n const launcherEl = localLauncherRef.current;\n\n if (shouldReturnFocus.current && launcherEl) {\n focusOn(launcherEl);\n shouldReturnFocus.current = false;\n }\n }, []);\n\n // Animation\n const { nodeRef } = useAnimation<Animations, HTMLDivElement>(animationType, {\n animationStates,\n isAnimatedOnMount: true,\n onAnimationEnd: () => {\n if (isOpen) {\n onTransitionEnd?.(true);\n } else if (!isOpen) {\n // Should return focus?\n // Modeless: check whether Dialog contains focus before it unmounts\n // Modal: always return focus\n shouldReturnFocus.current =\n contentWrapperRef.current?.contains(getActiveElement() as HTMLElement) || false;\n nodeRef(null);\n setVisibility('hidden');\n setStatus('unmounted');\n onTransitionEnd?.(false);\n }\n }\n });\n\n const mergedRef = useMemo(() => mergeRefs(contentWrapperRef, ref), [contentWrapperRef, ref]);\n\n const launcherKeyDownCallback = useCallback(\n (event: KeyboardEvent): void => {\n if (localLauncherRef.current === getActiveElement() && event.code === 'F6') {\n // Prevent default F6 handlers.\n // F6 is a standard Chrome address bar shortcut on Windows.\n event.preventDefault();\n event.stopPropagation();\n\n focusWithin(contentWrapperRef.current as HTMLElement);\n onFocusSet?.();\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [modality]\n );\n\n const { draggableProps } = useDraggable({\n isDisabled: dragAffordance === 'none',\n containerRef: floatingRef,\n onDragStart,\n onDragMove,\n onDragEnd\n });\n\n useEffect(() => {\n // 1. Ignore status update on initial render or return focus on component unmount\n if (status === 'unmounted' && !isOpen) {\n if (status !== prevStatusRef.current) {\n returnFocus();\n }\n }\n\n // 2. Mount visually hidden component\n // Component gets mounted, but will be visually hidden to avoid flickering\n // Flickering happens because it gets rendered before animation hook repositions\n // it in next render cycle\n else if (status === 'unmounted' && isOpen) {\n setStatus('initial');\n }\n\n // 3. Setup animation\n // Component has been mounted.\n // We will kick out animation as node is already present in DOM.\n // To avoid flickering, we still keep it visually hidden until the next render cycle.\n else if (status === 'initial' && isOpen) {\n nodeRef(contentWrapperRef.current);\n setStatus('opening');\n }\n\n // 3. Unhide component. It becomes visible.\n else if (status === 'opening' && isOpen) {\n setVisibility('visible');\n }\n\n // 4. Closing\n else if (!isOpen) {\n setStatus('closing');\n }\n\n return () => {\n // remember the previous status\n prevStatusRef.current = status;\n };\n }, [isOpen, status, nodeRef, returnFocus]);\n\n // Destroy case handler\n useEffect(() => {\n return () => {\n const launcherEl = localLauncherRef.current;\n if (\n // eslint-disable-next-line react-hooks/exhaustive-deps\n (contentWrapperRef.current?.contains(getActiveElement() as HTMLElement) || false) &&\n launcherEl\n ) {\n // In destroy case ModalManager is blocking returning of the focus.\n // We need to reschedule it to workaround that\n setTimeout(() => {\n focusOn(launcherEl);\n }, 0);\n }\n };\n }, []);\n\n // Initialize launcher\n useEffect(() => {\n if (isOpen) {\n if (!launcherRef?.current) {\n // 1. If launcher is not defined, most frequent scenario is,\n // that element, that has focus before opening the dialog is considered launcher\n localLauncherRef.current = getActiveElement() as HTMLElement;\n } else if (launcherRef.current instanceof Element) {\n // 2. launcherRef element was provided.\n // Verify, if it exists in DOM, otherwise use the last active element\n localLauncherRef.current = document.body.contains(launcherRef.current)\n ? launcherRef.current\n : (getActiveElement() as HTMLElement);\n } else {\n localLauncherRef.current = getActiveElement() as HTMLElement;\n }\n // Register F6 key handler to enter a modeless dialog\n if (modality === 'modeless') {\n localLauncherRef.current?.addEventListener('keydown', launcherKeyDownCallback);\n }\n }\n return () => {\n // Deregister F6 key handler\n if (modality === 'modeless') {\n localLauncherRef.current?.removeEventListener('keydown', launcherKeyDownCallback);\n }\n };\n }, [isOpen, launcherRef, launcherKeyDownCallback, modality]);\n\n // setInitialFocus when the dialog becomes visible\n useEffect(() => {\n if (visibility === 'visible') {\n setInitialFocus();\n }\n }, [visibility, setInitialFocus]);\n\n const handleKeyDown = (event: KeyboardEvent) => {\n switch (event.code) {\n case 'Escape':\n onClose?.({ reason: 'escapeKey' });\n break;\n case 'F6':\n // Focus launcher\n if (localLauncherRef.current && modality === 'modeless') {\n focusOn(localLauncherRef.current);\n }\n // Prevent default F6 handlers. F6 is a standard Chrome address bar shortcut on Windows.\n event.preventDefault();\n event.stopPropagation();\n break;\n }\n };\n\n const handleBackdropClick = () => {\n // in case of a backdrop click, move focus to dialog's root element\n contentWrapperRef.current?.focus();\n };\n\n const renderDialogContent = () => {\n return (\n <StyledDialog\n ref={mergedRef}\n labelId={labelId}\n header={header}\n footer={footer}\n role={role}\n ariaLabelledBy={labelId}\n ariaDescribedBy={ariaDescribedBy}\n onKeyDown={handleKeyDown}\n testId={testId}\n style={styles}\n visibility={visibility}\n cancelBehavior={cancelBehavior}\n draggableProps={draggableProps}\n isResizable={resizeBehavior === 'resizable'}\n headerDecoration={headerDecoration}\n containerRef={floatingRef}\n onClose={onClose}\n onResizeStart={onResizeStart}\n onResize={onResize}\n onResizeEnd={onResizeEnd}\n footerRef={footerRef}>\n {children}\n </StyledDialog>\n );\n };\n\n const renderDialog = () => {\n if (anchorRef && anchorRef.current) {\n return (\n <Floating\n ref={floatingRef}\n anchorRef={anchorRef}\n placement={'bottom-start'}\n flipOptions={{ mainAxis: false, crossAxis: false }}\n shiftOptions={{ mainAxis: false, crossAxis: false }}>\n {renderDialogContent()}\n </Floating>\n );\n } else {\n return (\n <WindowOverlay placement={derivedPlacement} offset={offset}>\n {renderDialogContent()}\n </WindowOverlay>\n );\n }\n };\n\n if (modality === 'modal') {\n return (\n <Modal isOpen={status !== 'unmounted'} onBackdropClick={handleBackdropClick}>\n {renderDialog()}\n </Modal>\n );\n } else {\n return status !== 'unmounted' ? <Layer>{renderDialog()}</Layer> : null;\n }\n }\n);\n\nconst animationStates = {\n zoomIn: {\n from: {\n scaleX: 0.9,\n scaleY: 0.9,\n transformOrigin: 'center',\n opacity: 0\n },\n to: {\n scaleX: 1,\n scaleY: 1,\n opacity: 1\n },\n options: {\n duration: 200\n }\n },\n zoomOut: {\n from: {\n scaleX: 1,\n scaleY: 1,\n transformOrigin: 'center',\n opacity: 1\n },\n to: {\n scaleX: 0.9,\n scaleY: 0.9,\n opacity: 0\n },\n options: {\n duration: 200\n }\n },\n slideUp: {\n ...SLIDE_UP_XLARGE,\n options: {\n duration: DURATION_LARGE\n }\n },\n slideDown: {\n ...SLIDE_DOWN_XLARGE,\n options: {\n duration: DURATION_LARGE\n }\n }\n};\n"],"names":["StyledDialogHeader","children","id","cancelBehavior","onClose","draggableProps","headerDecoration","styles","useComponentTheme","DialogRedwoodTheme","classes","classNames","dialogHeaderStyle","dialogHeaderDecorationStyle","content","_jsx","className","dialogTitleStyle","jsx","_Fragment","Fragment","translations","useTranslationBundle","closeIcon","dialogHeaderCloseIconStyle","IconButton","message_close","size","variant","onAction","reason","CloseIcon","SvgClose","_jsxs","StyledDialogFooter","forwardRef","style","ref","StyledDialog","header","footer","visibility","labelId","role","ariaLabelledBy","ariaDescribedBy","isResizable","containerRef","onResizeStart","onResize","onResizeEnd","onKeyDown","testId","footerRef","elementRef","useRef","mergedRef","mergeRefs","isSmallHeight","setSmallHeight","useState","isSmallWidth","useBreakpoints","styleClasses","resizeHandler","useCallback","current","clientHeight","useEffect","useResizeObserver","baseStyle","baseStyleSmallWidth","baseStyleDesktop","contentStyle","dialogContentStyleNoShrink","dialogContentStyle","visibilityStyle","visibilityVisible","visibilityHidden","testIdProps","useTestId","FocusTrap","restoreFocusRef","tabIndex","globalImages","jsxs","dialogContainerStyle","dialogBodyStyle","dialogFooterStyle","Resizable","Dialog","isOpen","modality","launcherRef","anchorRef","placement","offset","dragAffordance","resizeBehavior","onDragStart","onDragMove","onDragEnd","onFocusSet","onTransitionEnd","props","status","setStatus","setVisibility","prevStatusRef","floatingRef","contentWrapperRef","localLauncherRef","derivedPlacement","animationType","uniqueId","useId","interpolations","Object","values","dimensionInterpolations","styleInterpolations","mergeInterpolations","shouldReturnFocus","setInitialFocus","allTabbableElements","length","focusWithin","returnFocus","launcherEl","focusOn","nodeRef","useAnimation","animationStates","isAnimatedOnMount","onAnimationEnd","contains","getActiveElement","useMemo","launcherKeyDownCallback","event","code","preventDefault","stopPropagation","useDraggable","isDisabled","setTimeout","Element","document","body","addEventListener","removeEventListener","handleKeyDown","handleBackdropClick","focus","renderDialogContent","renderDialog","Floating","flipOptions","mainAxis","crossAxis","shiftOptions","WindowOverlay","Modal","onBackdropClick","Layer","zoomIn","from","scaleX","scaleY","transformOrigin","opacity","to","options","duration","zoomOut","slideUp","SLIDE_UP_XLARGE","DURATION_LARGE","slideDown","SLIDE_DOWN_XLARGE"],"mappings":"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"}