@oracle/oraclejet-preact 17.0.0 → 17.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1804) hide show
  1. package/amd/ActionCard-c8070525.js +1 -1
  2. package/amd/BarChart-be1d51d4.js +1 -1
  3. package/amd/BaseButton-83ce1d00.js +1 -1
  4. package/amd/BaseCardView-1aa0d986.js +1 -1
  5. package/amd/BaseCardViewSelectionTest-28e25f08.js +2 -0
  6. package/amd/BaseCardViewSelectionTest-28e25f08.js.map +1 -0
  7. package/amd/BaseNavigationListItem-4a940426.js +1 -1
  8. package/amd/ButtonSet-d8cd5447.js +1 -1
  9. package/amd/ButtonSetIconButton-08612ca6.js +1 -1
  10. package/amd/Center-5f845605.js +2 -0
  11. package/amd/Center-5f845605.js.map +1 -0
  12. package/amd/Chart-4796be31.js +1 -1
  13. package/amd/CheckboxControl-7d539ab3.js +1 -1
  14. package/amd/CheckboxRadioField-da88bd6f.js +1 -1
  15. package/amd/Chip-26339152.js +1 -1
  16. package/amd/ClearIcon-a29e57fb.js +1 -1
  17. package/amd/CollapseIcon-c433fd3e.js +1 -1
  18. package/amd/Collapsible-8f15bec2.js +1 -1
  19. package/amd/CompactHelpSource-7de24d56.js +1 -1
  20. package/amd/CompactLabelAssistance-91aeaa2e.js +2 -0
  21. package/amd/CompactLabelAssistance-91aeaa2e.js.map +1 -0
  22. package/amd/CompactUserAssistance-b2cbdbad.js +1 -1
  23. package/amd/ComponentMessageContainer-dc4b7c7f.js +1 -1
  24. package/amd/ConveyorBeltItem-d398eaa6.js +1 -1
  25. package/amd/DatePicker-3996fc76.js +2 -0
  26. package/amd/DatePicker-3996fc76.js.map +1 -0
  27. package/amd/DatePickerHeader-52c085e6.js +1 -1
  28. package/amd/Diagram-737e9921.js +2 -0
  29. package/amd/Diagram-737e9921.js.map +1 -0
  30. package/amd/DirectionalCollapseArrowIcon-09a24655.js +1 -1
  31. package/amd/DirectionalExpandArrowIcon-c8f2e596.js +1 -1
  32. package/amd/DragHandle-351a20be.js +1 -1
  33. package/amd/Dropdown-de472a1d.js +2 -0
  34. package/amd/Dropdown-de472a1d.js.map +1 -0
  35. package/amd/EnvironmentProvider-46d0a245.js +2 -0
  36. package/amd/EnvironmentProvider-46d0a245.js.map +1 -0
  37. package/amd/FilePicker-9b2fb661.js +1 -1
  38. package/amd/Flex-1f27b601.js +2 -0
  39. package/amd/Flex-1f27b601.js.map +1 -0
  40. package/amd/Floating-85851b1a.js +2 -0
  41. package/amd/Floating-85851b1a.js.map +1 -0
  42. package/amd/FormLayout-80b89e74.js +1 -1
  43. package/amd/Gantt-6fe34398.js +1 -1
  44. package/amd/Grid-85171367.js +2 -0
  45. package/amd/Grid-85171367.js.map +1 -0
  46. package/amd/Gridlines-11a94c28.js +2 -0
  47. package/amd/Gridlines-11a94c28.js.map +1 -0
  48. package/amd/GroupLoadingIndicator-e66ed431.js +1 -1
  49. package/amd/HighlightText-ad9bc1f8.js +2 -0
  50. package/amd/HighlightText-ad9bc1f8.js.map +1 -0
  51. package/amd/Icon-599f55f3.js +1 -1
  52. package/amd/IconButton-1b328b69.js +1 -1
  53. package/amd/IconMenuButton-c275cfbb.js +1 -1
  54. package/amd/IconSwitchButton-0e888503.js +1 -1
  55. package/amd/IconToggleButton-563a5127.js +1 -1
  56. package/amd/IconUserAssistance-5bdaa6bf.js +2 -0
  57. package/amd/IconUserAssistance-5bdaa6bf.js.map +1 -0
  58. package/amd/Indexer-204a6d88.js +1 -1
  59. package/amd/InlineHelpSource-359fd9df.js +1 -1
  60. package/amd/InlineUserAssistance-f4d1fa1b.js +1 -1
  61. package/amd/InputDateMask-b7a27faa.js +1 -1
  62. package/amd/InputDatePicker-0012b304.js +2 -0
  63. package/amd/InputDatePicker-0012b304.js.map +1 -0
  64. package/amd/InputPassword-03f24e78.js +1 -1
  65. package/amd/InputText-da0a5c0f.js +1 -1
  66. package/amd/Label-3f8fc274.js +1 -1
  67. package/amd/LabelValueLayout-89e9f1be.js +1 -1
  68. package/amd/Layer-3cc44164.js +2 -0
  69. package/amd/Layer-3cc44164.js.map +1 -0
  70. package/amd/LayerHost-eab40731.js +2 -0
  71. package/amd/LayerHost-eab40731.js.map +1 -0
  72. package/amd/LayerManager-d0836029.js +2 -0
  73. package/amd/LayerManager-d0836029.js.map +1 -0
  74. package/amd/Legend-42f8653b.js +1 -1
  75. package/amd/LineAreaChart-2057f8b4.js +2 -0
  76. package/amd/LineAreaChart-2057f8b4.js.map +1 -0
  77. package/amd/Link-6f583879.js +1 -1
  78. package/amd/List-5958c802.js +1 -1
  79. package/amd/ListItemLayout-dba9e24b.js +2 -0
  80. package/amd/ListItemLayout-dba9e24b.js.map +1 -0
  81. package/amd/ListView-27d10b67.js +1 -1
  82. package/amd/LiveRegion-be6f36d7.js +2 -0
  83. package/amd/LiveRegion-be6f36d7.js.map +1 -0
  84. package/amd/MaxLengthLiveRegion-23d7e335.js +2 -0
  85. package/amd/MaxLengthLiveRegion-23d7e335.js.map +1 -0
  86. package/amd/Menu-51409b28.js +2 -0
  87. package/amd/Menu-51409b28.js.map +1 -0
  88. package/amd/MenuButton-c8fb534d.js +1 -1
  89. package/amd/MenuItem-644f8619.js +1 -1
  90. package/amd/Message-51d787d0.js +1 -1
  91. package/amd/MessageLayer-d2c49999.js +2 -0
  92. package/amd/MessageLayer-d2c49999.js.map +1 -0
  93. package/amd/MessageToast-e0e07765.js +1 -1
  94. package/amd/MessagesManager-78a10f78.js +1 -1
  95. package/amd/MeterBar-38666619.js +1 -1
  96. package/amd/MeterCircle-f1561632.js +1 -1
  97. package/amd/Modal-8c095bea.js +2 -0
  98. package/amd/Modal-8c095bea.js.map +1 -0
  99. package/amd/MonthView-b5d1d69d.js +2 -0
  100. package/amd/MonthView-b5d1d69d.js.map +1 -0
  101. package/amd/NavigationListItem-0a4f8a9c.js +1 -1
  102. package/amd/NumberInputText-0d8284f8.js +1 -1
  103. package/amd/OverflowTabBarItem-aae4eb2f.js +1 -1
  104. package/amd/PRIVATE_BaseCardView.js +1 -1
  105. package/amd/PRIVATE_Chart.js +1 -1
  106. package/amd/PRIVATE_CheckboxControl.js +1 -1
  107. package/amd/PRIVATE_CheckboxRadioField.js +1 -1
  108. package/amd/PRIVATE_ClearIcon.js +1 -1
  109. package/amd/PRIVATE_DatePickerHeader.js +1 -1
  110. package/amd/PRIVATE_DatePickerLayout.js +1 -1
  111. package/amd/PRIVATE_EmbeddedIconButton.js +1 -1
  112. package/amd/PRIVATE_FormControls.js +1 -1
  113. package/amd/PRIVATE_IconSwitchButton.js +1 -1
  114. package/amd/PRIVATE_Icons/CheckboxMixed.js +1 -1
  115. package/amd/PRIVATE_Icons/CheckboxOff.js +1 -1
  116. package/amd/PRIVATE_Icons/CheckboxOn.js +1 -1
  117. package/amd/PRIVATE_Icons/RadiobuttonOff.js +1 -1
  118. package/amd/PRIVATE_Icons/RadiobuttonOn.js +1 -1
  119. package/amd/PRIVATE_Icons/WarningS.js +1 -1
  120. package/amd/PRIVATE_List.js +1 -1
  121. package/amd/PRIVATE_Message.js +1 -1
  122. package/amd/PRIVATE_MessageLayer.js +1 -1
  123. package/amd/PRIVATE_MonthView.js +1 -1
  124. package/amd/PRIVATE_MonthYearGridView.js +1 -1
  125. package/amd/PRIVATE_PlotArea.js +1 -1
  126. package/amd/PRIVATE_RevealToggleIcon.js +1 -1
  127. package/amd/PRIVATE_SelectCommon.js +1 -1
  128. package/amd/PRIVATE_StyledCheckbox.js +1 -1
  129. package/amd/PRIVATE_Table.js +1 -1
  130. package/amd/PRIVATE_ThemedIcons/CalendarIcon.js +1 -1
  131. package/amd/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +1 -1
  132. package/amd/PRIVATE_ThemedIcons/ChartPanIcon.js +1 -1
  133. package/amd/PRIVATE_ThemedIcons/ChartZoomIcon.js +1 -1
  134. package/amd/PRIVATE_ThemedIcons/CheckIcon.js +1 -1
  135. package/amd/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +1 -1
  136. package/amd/PRIVATE_ThemedIcons/CheckboxOffIcon.js +1 -1
  137. package/amd/PRIVATE_ThemedIcons/CheckboxOnIcon.js +1 -1
  138. package/amd/PRIVATE_ThemedIcons/CloseIcon.js +1 -1
  139. package/amd/PRIVATE_ThemedIcons/CollapseIcon.js +1 -1
  140. package/amd/PRIVATE_ThemedIcons/CollapseUpIcon.js +1 -1
  141. package/amd/PRIVATE_ThemedIcons/DecrementIcon.js +1 -1
  142. package/amd/PRIVATE_ThemedIcons/DeleteIcon.js +1 -1
  143. package/amd/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +1 -1
  144. package/amd/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +1 -1
  145. package/amd/PRIVATE_ThemedIcons/DropdownArrowIcon.js +1 -1
  146. package/amd/PRIVATE_ThemedIcons/ExpandIcon.js +1 -1
  147. package/amd/PRIVATE_ThemedIcons/HelpIcon.js +1 -1
  148. package/amd/PRIVATE_ThemedIcons/IncrementIcon.js +1 -1
  149. package/amd/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +1 -1
  150. package/amd/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +1 -1
  151. package/amd/PRIVATE_ThemedIcons/MessageErrorIcon.js +1 -1
  152. package/amd/PRIVATE_ThemedIcons/MessageInfoIcon.js +1 -1
  153. package/amd/PRIVATE_ThemedIcons/MessageWarningIcon.js +1 -1
  154. package/amd/PRIVATE_ThemedIcons/MinusIcon.js +1 -1
  155. package/amd/PRIVATE_ThemedIcons/NavDownIcon.js +1 -1
  156. package/amd/PRIVATE_ThemedIcons/PlusIcon.js +1 -1
  157. package/amd/PRIVATE_ThemedIcons/RadioOffIcon.js +1 -1
  158. package/amd/PRIVATE_ThemedIcons/RadioOnIcon.js +1 -1
  159. package/amd/PRIVATE_ThemedIcons/SortAscendingIcon.js +1 -1
  160. package/amd/PRIVATE_ThemedIcons/SortDefaultIcon.js +1 -1
  161. package/amd/PRIVATE_ThemedIcons/SortDescendingIcon.js +1 -1
  162. package/amd/PRIVATE_ThemedIcons/ViewHideIcon.js +1 -1
  163. package/amd/PRIVATE_ThemedIcons/ViewIcon.js +1 -1
  164. package/amd/PRIVATE_TimeComponent.js +1 -1
  165. package/amd/PRIVATE_VisTabularDatatip.js +1 -1
  166. package/amd/PictoChart-4d70af90.js +1 -1
  167. package/amd/PieChart-ab4c95f7.js +2 -0
  168. package/amd/PieChart-ab4c95f7.js.map +1 -0
  169. package/amd/Popup-249d77c3.js +2 -0
  170. package/amd/Popup-249d77c3.js.map +1 -0
  171. package/amd/ProgressBar-f82d6b43.js +2 -0
  172. package/amd/ProgressBar-f82d6b43.js.map +1 -0
  173. package/amd/ProgressCircle-fc85cd7c.js +2 -0
  174. package/amd/ProgressCircle-fc85cd7c.js.map +1 -0
  175. package/amd/RadioItem-27c120ba.js +1 -1
  176. package/amd/RatingGauge-dfe9f698.js +1 -1
  177. package/amd/ReadonlyTextFieldInput-a5e85e5d.js +1 -1
  178. package/amd/RemovableNavigationListItem-87ecbae7.js +1 -1
  179. package/amd/RemovableTabBarItem-89287a9b.js +1 -1
  180. package/amd/ReorderableTabBar-05821909.js +1 -1
  181. package/amd/RevealToggleIcon-ef89d654.js +1 -1
  182. package/amd/SectionalLegend-798dbecb.js +1 -1
  183. package/amd/SectionedContent-655a773a.js +2 -0
  184. package/amd/SectionedContent-655a773a.js.map +1 -0
  185. package/amd/SelectMultiple-fabd883c.js +1 -1
  186. package/amd/SelectSingle-34d636a8.js +1 -1
  187. package/amd/SelectionCard-0ecc7773.js +2 -0
  188. package/amd/SelectionCard-0ecc7773.js.map +1 -0
  189. package/amd/Selector-ad2af152.js +1 -1
  190. package/amd/SelectorAll-879d186e.js +1 -1
  191. package/amd/Sheet-6447f399.js +2 -0
  192. package/amd/Sheet-6447f399.js.map +1 -0
  193. package/amd/SplitMenuButton-deb0fc04.js +1 -1
  194. package/amd/StyledTextField-8ac3bbb4.js +1 -1
  195. package/amd/Submenu-b20a55aa.js +1 -1
  196. package/amd/TabBar-10096a0c.js +1 -1
  197. package/amd/TabBarItem-7f4a5e0b.js +1 -1
  198. package/amd/TabBarLayout-f8e0fcad.js +1 -1
  199. package/amd/TabBarMixed-5adc54c4.js +1 -1
  200. package/amd/TabBarMixedSeparator-10a52b13.js +2 -0
  201. package/amd/TabBarMixedSeparator-10a52b13.js.map +1 -0
  202. package/amd/Table-fda0ad21.js +1 -1
  203. package/amd/TagCloud-a37fcea5.js +1 -1
  204. package/amd/TextArea-2c7af40c.js +2 -0
  205. package/amd/TextArea-2c7af40c.js.map +1 -0
  206. package/amd/TextAreaAutosize-9dc5bffe.js +2 -0
  207. package/amd/TextAreaAutosize-9dc5bffe.js.map +1 -0
  208. package/amd/TextField-0fc70892.js +1 -1
  209. package/amd/TextFieldInput-dfd9529f.js +1 -1
  210. package/amd/Theme-redwood/theme.css +227 -227
  211. package/amd/Theme-stable/theme.css +363 -363
  212. package/amd/TimeComponentCanvas2D-d4a5891c.js +1 -1
  213. package/amd/Toolbar-98c1d888.js +1 -1
  214. package/amd/TruncatingBadge-67192c05.js +1 -1
  215. package/amd/TruncatingText-27ffd8e4.js +1 -1
  216. package/amd/UNSAFE_ActionCard.js +1 -1
  217. package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
  218. package/amd/UNSAFE_BarChart.js +1 -1
  219. package/amd/UNSAFE_BaseButton.js +1 -1
  220. package/amd/UNSAFE_Button.js +1 -1
  221. package/amd/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
  222. package/amd/UNSAFE_ButtonSet.js +1 -1
  223. package/amd/UNSAFE_ButtonSetButton.js +1 -1
  224. package/amd/UNSAFE_ButtonSetIconButton.js +1 -1
  225. package/amd/UNSAFE_ButtonSetItem.js +1 -1
  226. package/amd/UNSAFE_ButtonSetMultiple.js +1 -1
  227. package/amd/UNSAFE_ButtonSetSingle.js +1 -1
  228. package/amd/UNSAFE_CardFlexView.js +1 -1
  229. package/amd/UNSAFE_CardGridView.js +1 -1
  230. package/amd/UNSAFE_Center.js +1 -1
  231. package/amd/UNSAFE_ChartWithLegend.js +1 -1
  232. package/amd/UNSAFE_Checkbox.js +1 -1
  233. package/amd/UNSAFE_CheckboxItem.js +1 -1
  234. package/amd/UNSAFE_CheckboxSet.js +1 -1
  235. package/amd/UNSAFE_Chip.js +1 -1
  236. package/amd/UNSAFE_Collapsible.js +1 -1
  237. package/amd/UNSAFE_ComponentMessage.js +1 -1
  238. package/amd/UNSAFE_ConveyorBelt.js +1 -1
  239. package/amd/UNSAFE_DatePicker.js +1 -1
  240. package/amd/UNSAFE_Diagram.js +1 -1
  241. package/amd/UNSAFE_Dialog.js +1 -1
  242. package/amd/UNSAFE_DragHandle.js +1 -1
  243. package/amd/UNSAFE_DrawerLayout.js +1 -1
  244. package/amd/UNSAFE_DrawerPopup.js +1 -1
  245. package/amd/UNSAFE_Dropdown.js +1 -1
  246. package/amd/UNSAFE_Environment.js +1 -1
  247. package/amd/UNSAFE_ExpandableList.js +1 -1
  248. package/amd/UNSAFE_FilePicker.js +1 -1
  249. package/amd/UNSAFE_Flex.js +1 -1
  250. package/amd/UNSAFE_Floating.js +1 -1
  251. package/amd/UNSAFE_FormLayout.js +1 -1
  252. package/amd/UNSAFE_Gantt.js +1 -1
  253. package/amd/UNSAFE_Grid.js +1 -1
  254. package/amd/UNSAFE_HighlightText.js +1 -1
  255. package/amd/UNSAFE_Icon.js +1 -1
  256. package/amd/UNSAFE_IconButton.js +1 -1
  257. package/amd/UNSAFE_IconMenuButton.js +1 -1
  258. package/amd/UNSAFE_IconToggleButton.js +1 -1
  259. package/amd/UNSAFE_Indexer.js +1 -1
  260. package/amd/UNSAFE_InputDateMask.js +1 -1
  261. package/amd/UNSAFE_InputDatePicker.js +1 -1
  262. package/amd/UNSAFE_InputPassword.js +1 -1
  263. package/amd/UNSAFE_InputSensitiveText.js +1 -1
  264. package/amd/UNSAFE_InputText.js +1 -1
  265. package/amd/UNSAFE_Label.js +1 -1
  266. package/amd/UNSAFE_LabelValueLayout.js +1 -1
  267. package/amd/UNSAFE_LabelledLink.js +1 -1
  268. package/amd/UNSAFE_Layer.js +1 -1
  269. package/amd/UNSAFE_Legend.js +1 -1
  270. package/amd/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +1 -1
  271. package/amd/UNSAFE_LineAreaChart.js +1 -1
  272. package/amd/UNSAFE_Link.js +1 -1
  273. package/amd/UNSAFE_ListItemLayout.js +1 -1
  274. package/amd/UNSAFE_ListView.js +1 -1
  275. package/amd/UNSAFE_LiveRegion.js +1 -1
  276. package/amd/UNSAFE_Menu.js +1 -1
  277. package/amd/UNSAFE_MenuButton.js +1 -1
  278. package/amd/UNSAFE_MessageBanner.js +1 -1
  279. package/amd/UNSAFE_MessageToast.js +1 -1
  280. package/amd/UNSAFE_MeterBar.js +1 -1
  281. package/amd/UNSAFE_MeterCircle.js +1 -1
  282. package/amd/UNSAFE_Modal.js +1 -1
  283. package/amd/UNSAFE_NavigationList.js +1 -1
  284. package/amd/UNSAFE_NavigationListCommon.js +1 -1
  285. package/amd/UNSAFE_NumberInputText.js +1 -1
  286. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  287. package/amd/UNSAFE_PictoChart.js +1 -1
  288. package/amd/UNSAFE_PieChart/__test__/PieChart.spec.js +1 -1
  289. package/amd/UNSAFE_PieChart.js +1 -1
  290. package/amd/UNSAFE_Popup.js +1 -1
  291. package/amd/UNSAFE_ProgressBar.js +1 -1
  292. package/amd/UNSAFE_ProgressCircle.js +1 -1
  293. package/amd/UNSAFE_RadioItem.js +1 -1
  294. package/amd/UNSAFE_RadioSet.js +1 -1
  295. package/amd/UNSAFE_RatingGauge.js +1 -1
  296. package/amd/UNSAFE_ReorderableTabBar.js +1 -1
  297. package/amd/UNSAFE_SectionalLegend.js +1 -1
  298. package/amd/UNSAFE_SelectMultiple.js +1 -1
  299. package/amd/UNSAFE_SelectSingle.js +1 -1
  300. package/amd/UNSAFE_SelectionCard.js +1 -1
  301. package/amd/UNSAFE_Selector.js +1 -1
  302. package/amd/UNSAFE_SelectorAll.js +1 -1
  303. package/amd/UNSAFE_Sheet/__test__/Sheet.spec.js +1 -1
  304. package/amd/UNSAFE_Sheet.js +1 -1
  305. package/amd/UNSAFE_SplitMenuButton.js +1 -1
  306. package/amd/UNSAFE_TabBar.js +1 -1
  307. package/amd/UNSAFE_TabBarCommon.js +1 -1
  308. package/amd/UNSAFE_TabBarMixed.js +1 -1
  309. package/amd/UNSAFE_TableView.js +1 -1
  310. package/amd/UNSAFE_TagCloud.js +1 -1
  311. package/amd/UNSAFE_TextArea.js +1 -1
  312. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  313. package/amd/UNSAFE_TextField.js +1 -1
  314. package/amd/UNSAFE_ToggleButton.js +1 -1
  315. package/amd/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
  316. package/amd/UNSAFE_Toolbar.js +1 -1
  317. package/amd/UNSAFE_Train.js +1 -1
  318. package/amd/UNSAFE_TruncatingBadge.js +1 -1
  319. package/amd/UNSAFE_TruncatingText.js +1 -1
  320. package/amd/UNSAFE_UserAssistance.js +1 -1
  321. package/amd/UNSAFE_View.js +1 -1
  322. package/amd/UNSAFE_VirtualizedListView.js +1 -1
  323. package/amd/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +1 -1
  324. package/amd/UNSAFE_VisProgressiveLoader.js +1 -1
  325. package/amd/UNSAFE_VisStatusMessage.js +1 -1
  326. package/amd/UNSAFE_WindowOverlay.js +1 -1
  327. package/amd/View-8701dec6.js +2 -0
  328. package/amd/View-8701dec6.js.map +1 -0
  329. package/amd/VisNoData-bfb5065e.js +2 -0
  330. package/amd/VisNoData-bfb5065e.js.map +1 -0
  331. package/amd/VisProgressiveLoader-ef9de93a.js +2 -0
  332. package/amd/VisProgressiveLoader-ef9de93a.js.map +1 -0
  333. package/amd/VisTabularDatatip-5e43455b.js +2 -0
  334. package/amd/VisTabularDatatip-5e43455b.js.map +1 -0
  335. package/amd/WindowOverlay-c09fece2.js +2 -0
  336. package/amd/WindowOverlay-c09fece2.js.map +1 -0
  337. package/amd/YearsGridView-91e4744d.js +2 -0
  338. package/amd/YearsGridView-91e4744d.js.map +1 -0
  339. package/amd/hoc/PRIVATE_withDirectionIcon.js +1 -1
  340. package/amd/hoc/PRIVATE_withThemeIcon.js +1 -1
  341. package/amd/hoc/UNSAFE_withThemeProps.js +1 -1
  342. package/amd/hooks/PRIVATE_useChartContextMenu.js +1 -1
  343. package/amd/hooks/PRIVATE_useChartDatatip.js +1 -1
  344. package/amd/hooks/PRIVATE_useChartEvents.js +1 -1
  345. package/amd/hooks/PRIVATE_useChartMarquee.js +1 -1
  346. package/amd/hooks/PRIVATE_useCssVars.js +1 -1
  347. package/amd/hooks/PRIVATE_useCurrentKey.js +1 -1
  348. package/amd/hooks/PRIVATE_useDatatip.js +1 -1
  349. package/amd/hooks/PRIVATE_useFloating.js +1 -1
  350. package/amd/hooks/PRIVATE_useReorderable.js +1 -1
  351. package/amd/hooks/PRIVATE_useRovingTabIndexContainer.js +1 -1
  352. package/amd/hooks/PRIVATE_useSelection.js +1 -1
  353. package/amd/hooks/PRIVATE_useTabBar.js +1 -1
  354. package/amd/hooks/PRIVATE_useVisContextMenu.js +1 -1
  355. package/amd/hooks/PRIVATE_useVisEvents.js +1 -1
  356. package/amd/hooks/PRIVATE_useVisMeterEvents.js +1 -1
  357. package/amd/hooks/PRIVATE_useVisSelection.js +1 -1
  358. package/amd/hooks/UNSAFE_useColorScheme.js +1 -1
  359. package/amd/hooks/UNSAFE_useCurrentBgColor.js +1 -1
  360. package/amd/hooks/UNSAFE_useDensity.js +1 -1
  361. package/amd/hooks/UNSAFE_useOutsideClick.js +1 -1
  362. package/amd/hooks/UNSAFE_usePrefixSuffix.js +1 -1
  363. package/amd/hooks/UNSAFE_useScale.js +1 -1
  364. package/amd/hooks/UNSAFE_useTestId.js +1 -1
  365. package/amd/hooks/UNSAFE_useTheme.js +1 -1
  366. package/amd/hooks/UNSAFE_useThemeInterpolations.js +1 -1
  367. package/amd/hooks/UNSAFE_useTooltip.js +1 -1
  368. package/amd/hooks/UNSAFE_useTranslationBundle.js +1 -1
  369. package/amd/hooks/UNSAFE_useUser.js +1 -1
  370. package/amd/index-17fdb080.js +2 -0
  371. package/amd/index-17fdb080.js.map +1 -0
  372. package/amd/listViewSelectionTests-a0132dcc.js +1 -1
  373. package/amd/render-9b32a558.js +2 -0
  374. package/amd/render-9b32a558.js.map +1 -0
  375. package/amd/tabbableUtils-5b5b70da.js +2 -0
  376. package/amd/tabbableUtils-5b5b70da.js.map +1 -0
  377. package/amd/testData-8e20304d.js +2 -0
  378. package/amd/testData-8e20304d.js.map +1 -0
  379. package/amd/useCellNavigation-37e0539a.js +1 -1
  380. package/amd/useChartContextMenu-c50617f2.js +1 -1
  381. package/amd/useChartDatatip-672232af.js +2 -0
  382. package/amd/useChartDatatip-672232af.js.map +1 -0
  383. package/amd/useChartMarquee-0e818e77.js +1 -1
  384. package/amd/useColorScheme-711c1e4b.js +2 -0
  385. package/amd/useColorScheme-711c1e4b.js.map +1 -0
  386. package/amd/useContextMenu-e6b10380.js +1 -1
  387. package/amd/useCssVars-948d1e7c.js +2 -0
  388. package/amd/useCssVars-948d1e7c.js.map +1 -0
  389. package/amd/useCurrentBgColor-40103ccc.js +2 -0
  390. package/amd/useCurrentBgColor-40103ccc.js.map +1 -0
  391. package/amd/useCurrentKey-00f81f0b.js +2 -0
  392. package/amd/useCurrentKey-00f81f0b.js.map +1 -0
  393. package/amd/useDatatip-d00735e9.js +2 -0
  394. package/amd/useDatatip-d00735e9.js.map +1 -0
  395. package/amd/useDensity-435224bb.js +2 -0
  396. package/amd/useDensity-435224bb.js.map +1 -0
  397. package/amd/useFloating-bbd3396b.js +2 -0
  398. package/amd/useFloating-bbd3396b.js.map +1 -0
  399. package/amd/useKeyboardEvents-e9a2b72b.js +2 -0
  400. package/amd/useKeyboardEvents-e9a2b72b.js.map +1 -0
  401. package/amd/useLegendContextMenu-5b1ca75b.js +1 -1
  402. package/amd/useMeterDatatip-60af9281.js +2 -0
  403. package/amd/useMeterDatatip-60af9281.js.map +1 -0
  404. package/amd/useOutsideClick-4519a64e.js +2 -0
  405. package/amd/useOutsideClick-4519a64e.js.map +1 -0
  406. package/amd/usePopupAnimation-273054a0.js +2 -0
  407. package/amd/usePopupAnimation-273054a0.js.map +1 -0
  408. package/amd/usePrefixSuffix-6ad5569e.js +2 -0
  409. package/amd/usePrefixSuffix-6ad5569e.js.map +1 -0
  410. package/amd/useReorderableItem-d977f935.js +1 -1
  411. package/amd/useRovingTabIndexContainer-12784fca.js +2 -0
  412. package/amd/useRovingTabIndexContainer-12784fca.js.map +1 -0
  413. package/amd/useScale-e6b83382.js +2 -0
  414. package/amd/useScale-e6b83382.js.map +1 -0
  415. package/amd/useSelectCommon-8657b927.js +1 -1
  416. package/amd/useSelectDrill-f2ae347c.js +2 -0
  417. package/amd/useSelectDrill-f2ae347c.js.map +1 -0
  418. package/amd/useSelection-0440840d.js +2 -0
  419. package/amd/useSelection-0440840d.js.map +1 -0
  420. package/amd/useSelection-f1d96ce9.js +2 -0
  421. package/amd/useSelection-f1d96ce9.js.map +1 -0
  422. package/amd/useTabBar-451e6953.js +2 -0
  423. package/amd/useTabBar-451e6953.js.map +1 -0
  424. package/amd/useTestId-82cf22a4.js +2 -0
  425. package/amd/useTestId-82cf22a4.js.map +1 -0
  426. package/amd/useTheme-1941efb7.js +2 -0
  427. package/amd/useTheme-1941efb7.js.map +1 -0
  428. package/amd/useThemeInterpolations-41cbd433.js +2 -0
  429. package/amd/useThemeInterpolations-41cbd433.js.map +1 -0
  430. package/amd/useTooltip-d28e9b0f.js +2 -0
  431. package/amd/useTooltip-d28e9b0f.js.map +1 -0
  432. package/amd/useTooltipControlled-abf886f2.js +2 -0
  433. package/amd/useTooltipControlled-abf886f2.js.map +1 -0
  434. package/amd/useTranslationBundle-6ef0dab6.js +2 -0
  435. package/amd/useTranslationBundle-6ef0dab6.js.map +1 -0
  436. package/amd/useUser-6dd85af9.js +2 -0
  437. package/amd/useUser-6dd85af9.js.map +1 -0
  438. package/amd/useVisEvents-75dbf576.js +2 -0
  439. package/amd/useVisEvents-75dbf576.js.map +1 -0
  440. package/amd/utils/PRIVATE_visTestUtils.js +1 -1
  441. package/amd/withDirectionIcon-c0ee0f7e.js +2 -0
  442. package/amd/withDirectionIcon-c0ee0f7e.js.map +1 -0
  443. package/cjs/ActionCard-aade4e40.js +1 -1
  444. package/cjs/BarChart-acda079d.js +2 -2
  445. package/cjs/BaseButton-ff6f39f2.js +2 -2
  446. package/cjs/BaseCardView-badf6df3.js +6 -6
  447. package/cjs/BaseCardViewSelectionTest-fe6cdb4a.js +696 -0
  448. package/cjs/BaseCardViewSelectionTest-fe6cdb4a.js.map +1 -0
  449. package/cjs/BaseNavigationListItem-175a3f35.js +49 -0
  450. package/cjs/BaseNavigationListItem-175a3f35.js.map +1 -0
  451. package/cjs/ButtonSet-dc50f9d4.js +2 -2
  452. package/cjs/ButtonSetIconButton-50543cd6.js +2 -2
  453. package/cjs/Center-dce9d477.js +18 -0
  454. package/cjs/Center-dce9d477.js.map +1 -0
  455. package/cjs/Chart-c55ecfa4.js +9 -9
  456. package/cjs/CheckboxControl-24658cde.js +6 -6
  457. package/cjs/CheckboxRadioField-0d4b2c66.js +5 -5
  458. package/cjs/CheckboxSet-13a5c10c.js +53 -0
  459. package/cjs/CheckboxSet-13a5c10c.js.map +1 -0
  460. package/cjs/Chip-a24817e0.js +1 -1
  461. package/cjs/ClearIcon-50725213.js +1 -1
  462. package/cjs/CollapseIcon-a1da1523.js +1 -1
  463. package/cjs/Collapsible-95f66549.js +2 -2
  464. package/cjs/CompactHelpSource-f4e9198b.js +2 -2
  465. package/cjs/CompactLabelAssistance-ae678fbd.js +29 -0
  466. package/cjs/CompactLabelAssistance-ae678fbd.js.map +1 -0
  467. package/cjs/CompactUserAssistance-f88519f9.js +4 -4
  468. package/cjs/ComponentMessageContainer-a9195577.js +4 -4
  469. package/cjs/ConveyorBeltItem-a0d53a2f.js +2 -2
  470. package/cjs/DatePicker-3be1de5c.js +564 -0
  471. package/cjs/DatePicker-3be1de5c.js.map +1 -0
  472. package/cjs/DatePickerHeader-589e8b78.js +3 -3
  473. package/cjs/Diagram-522fe974.js +2000 -0
  474. package/cjs/Diagram-522fe974.js.map +1 -0
  475. package/cjs/DirectionalCollapseArrowIcon-d2b24ac3.js +1 -1
  476. package/cjs/DirectionalExpandArrowIcon-adf981f6.js +1 -1
  477. package/cjs/DragHandle-d35fc8ac.js +1 -1
  478. package/cjs/Dropdown-820dc3fe.js +82 -0
  479. package/cjs/Dropdown-820dc3fe.js.map +1 -0
  480. package/cjs/EnvironmentProvider-42b2b998.js +61 -0
  481. package/cjs/EnvironmentProvider-42b2b998.js.map +1 -0
  482. package/cjs/FilePicker-47c7bc3f.js +2 -2
  483. package/cjs/Flex-fbba4ad6.js +33 -0
  484. package/cjs/Flex-fbba4ad6.js.map +1 -0
  485. package/cjs/Floating-1280c2ce.js +464 -0
  486. package/cjs/Floating-1280c2ce.js.map +1 -0
  487. package/cjs/FormLayout-ab6f90b8.js +1 -1
  488. package/cjs/Gantt-912df32a.js +9 -9
  489. package/cjs/Grid-03d487e5.js +29 -0
  490. package/cjs/Grid-03d487e5.js.map +1 -0
  491. package/cjs/Gridlines-33618268.js +123 -0
  492. package/cjs/Gridlines-33618268.js.map +1 -0
  493. package/cjs/GroupLoadingIndicator-3c9d8341.js +1 -1
  494. package/cjs/HighlightText-c76eb17a.js +33 -0
  495. package/cjs/HighlightText-c76eb17a.js.map +1 -0
  496. package/cjs/Icon-3ffd13dc.js +2 -2
  497. package/cjs/IconButton-94f8ca5c.js +2 -2
  498. package/cjs/IconMenuButton-426f2aa8.js +4 -4
  499. package/cjs/IconSwitchButton-094ace3a.js +2 -2
  500. package/cjs/IconToggleButton-0c415743.js +2 -2
  501. package/cjs/IconUserAssistance-c31c2875.js +75 -0
  502. package/cjs/IconUserAssistance-c31c2875.js.map +1 -0
  503. package/cjs/Indexer-563ea09d.js +4 -4
  504. package/cjs/InlineHelpSource-7b793104.js +1 -1
  505. package/cjs/InlineUserAssistance-ad3fa8cc.js +5 -5
  506. package/cjs/InputDateMask-f15d926d.js +7 -7
  507. package/cjs/InputDatePicker-005c03d0.js +8 -8
  508. package/cjs/InputPassword-16e31428.js +4 -4
  509. package/cjs/InputText-75ae1f44.js +6 -6
  510. package/cjs/Label-d9ad059f.js +5 -5
  511. package/cjs/LabelValueLayout-24937fa5.js +1 -1
  512. package/cjs/Layer-3700cd37.js +87 -0
  513. package/cjs/Layer-3700cd37.js.map +1 -0
  514. package/cjs/LayerHost-46e4d858.js +45 -0
  515. package/cjs/LayerHost-46e4d858.js.map +1 -0
  516. package/cjs/LayerManager-fa20a462.js +36 -0
  517. package/cjs/LayerManager-fa20a462.js.map +1 -0
  518. package/cjs/Legend-a03cbeb5.js +3 -3
  519. package/cjs/LineAreaChart-2320dafa.js +225 -0
  520. package/cjs/LineAreaChart-2320dafa.js.map +1 -0
  521. package/cjs/Link-98de6624.js +1 -1
  522. package/cjs/List-bd9ecebb.js +5 -5
  523. package/cjs/ListItemLayout-ba6c98cc.js +60 -0
  524. package/cjs/ListItemLayout-ba6c98cc.js.map +1 -0
  525. package/cjs/ListView-d67f49db.js +3 -3
  526. package/cjs/LiveRegion-1315adeb.js +41 -0
  527. package/cjs/LiveRegion-1315adeb.js.map +1 -0
  528. package/cjs/MaxLengthLiveRegion-85913361.js +25 -0
  529. package/cjs/MaxLengthLiveRegion-85913361.js.map +1 -0
  530. package/cjs/Menu-7f8ca235.js +317 -0
  531. package/cjs/Menu-7f8ca235.js.map +1 -0
  532. package/cjs/MenuButton-58fd9f46.js +3 -3
  533. package/cjs/MenuItem-9a73694f.js +1 -1
  534. package/cjs/Message-b703f9e4.js +2 -2
  535. package/cjs/MessageLayer-40ccf675.js +61 -0
  536. package/cjs/MessageLayer-40ccf675.js.map +1 -0
  537. package/cjs/MessageToast-4462ab8d.js +8 -8
  538. package/cjs/MessagesManager-9cc43d3a.js +3 -3
  539. package/cjs/MeterBar-97378f96.js +4 -4
  540. package/cjs/MeterCircle-71fd9b44.js +4 -4
  541. package/cjs/Modal-52fa4530.js +258 -0
  542. package/cjs/Modal-52fa4530.js.map +1 -0
  543. package/cjs/MonthView-94676cd6.js +154 -0
  544. package/cjs/MonthView-94676cd6.js.map +1 -0
  545. package/cjs/NavigationList-5218562e.js +148 -0
  546. package/cjs/NavigationList-5218562e.js.map +1 -0
  547. package/cjs/NavigationListItem-b80c41dc.js +12 -0
  548. package/cjs/NavigationListItem-b80c41dc.js.map +1 -0
  549. package/cjs/NumberInputText-8771fbad.js +6 -6
  550. package/cjs/OverflowTabBarItem-1de46588.js +89 -0
  551. package/cjs/OverflowTabBarItem-1de46588.js.map +1 -0
  552. package/cjs/PRIVATE_BaseCardView.js +19 -19
  553. package/cjs/PRIVATE_Chart.js +29 -29
  554. package/cjs/PRIVATE_CheckboxControl.js +21 -21
  555. package/cjs/PRIVATE_CheckboxRadioField.js +22 -22
  556. package/cjs/PRIVATE_ClearIcon.js +16 -16
  557. package/cjs/PRIVATE_DatePickerHeader.js +18 -18
  558. package/cjs/PRIVATE_DatePickerLayout.js +4 -4
  559. package/cjs/PRIVATE_EmbeddedIconButton.js +3 -3
  560. package/cjs/PRIVATE_FormControls.js +19 -19
  561. package/cjs/PRIVATE_IconSwitchButton.js +14 -14
  562. package/cjs/PRIVATE_Icons/CheckboxMixed.js +14 -14
  563. package/cjs/PRIVATE_Icons/CheckboxOff.js +14 -14
  564. package/cjs/PRIVATE_Icons/CheckboxOn.js +14 -14
  565. package/cjs/PRIVATE_Icons/RadiobuttonOff.js +14 -14
  566. package/cjs/PRIVATE_Icons/RadiobuttonOn.js +14 -14
  567. package/cjs/PRIVATE_Icons/WarningS.js +14 -14
  568. package/cjs/PRIVATE_List.js +18 -18
  569. package/cjs/PRIVATE_Message.js +17 -17
  570. package/cjs/PRIVATE_MessageLayer.js +11 -11
  571. package/cjs/PRIVATE_MonthView.js +7 -7
  572. package/cjs/PRIVATE_MonthYearGridView.js +7 -7
  573. package/cjs/PRIVATE_PlotArea.js +4 -4
  574. package/cjs/PRIVATE_RevealToggleIcon.js +15 -15
  575. package/cjs/PRIVATE_SelectCommon.js +26 -26
  576. package/cjs/PRIVATE_StyledCheckbox.js +14 -14
  577. package/cjs/PRIVATE_Table.js +16 -16
  578. package/cjs/PRIVATE_ThemedIcons/CalendarIcon.js +14 -14
  579. package/cjs/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +14 -14
  580. package/cjs/PRIVATE_ThemedIcons/ChartPanIcon.js +14 -14
  581. package/cjs/PRIVATE_ThemedIcons/ChartZoomIcon.js +14 -14
  582. package/cjs/PRIVATE_ThemedIcons/CheckIcon.js +14 -14
  583. package/cjs/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +14 -14
  584. package/cjs/PRIVATE_ThemedIcons/CheckboxOffIcon.js +14 -14
  585. package/cjs/PRIVATE_ThemedIcons/CheckboxOnIcon.js +14 -14
  586. package/cjs/PRIVATE_ThemedIcons/CloseIcon.js +14 -14
  587. package/cjs/PRIVATE_ThemedIcons/CollapseIcon.js +15 -15
  588. package/cjs/PRIVATE_ThemedIcons/CollapseUpIcon.js +14 -14
  589. package/cjs/PRIVATE_ThemedIcons/DecrementIcon.js +14 -14
  590. package/cjs/PRIVATE_ThemedIcons/DeleteIcon.js +14 -14
  591. package/cjs/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +15 -15
  592. package/cjs/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +15 -15
  593. package/cjs/PRIVATE_ThemedIcons/DropdownArrowIcon.js +14 -14
  594. package/cjs/PRIVATE_ThemedIcons/ExpandIcon.js +14 -14
  595. package/cjs/PRIVATE_ThemedIcons/HelpIcon.js +14 -14
  596. package/cjs/PRIVATE_ThemedIcons/IncrementIcon.js +14 -14
  597. package/cjs/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +14 -14
  598. package/cjs/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +14 -14
  599. package/cjs/PRIVATE_ThemedIcons/MessageErrorIcon.js +14 -14
  600. package/cjs/PRIVATE_ThemedIcons/MessageInfoIcon.js +14 -14
  601. package/cjs/PRIVATE_ThemedIcons/MessageWarningIcon.js +14 -14
  602. package/cjs/PRIVATE_ThemedIcons/MinusIcon.js +14 -14
  603. package/cjs/PRIVATE_ThemedIcons/NavDownIcon.js +14 -14
  604. package/cjs/PRIVATE_ThemedIcons/PlusIcon.js +14 -14
  605. package/cjs/PRIVATE_ThemedIcons/RadioOffIcon.js +14 -14
  606. package/cjs/PRIVATE_ThemedIcons/RadioOnIcon.js +14 -14
  607. package/cjs/PRIVATE_ThemedIcons/SortAscendingIcon.js +14 -14
  608. package/cjs/PRIVATE_ThemedIcons/SortDefaultIcon.js +14 -14
  609. package/cjs/PRIVATE_ThemedIcons/SortDescendingIcon.js +14 -14
  610. package/cjs/PRIVATE_ThemedIcons/ViewHideIcon.js +14 -14
  611. package/cjs/PRIVATE_ThemedIcons/ViewIcon.js +14 -14
  612. package/cjs/PRIVATE_TimeComponent.js +17 -17
  613. package/cjs/PRIVATE_VisTabularDatatip.js +4 -4
  614. package/cjs/PictoChart-bbd66c57.js +6 -6
  615. package/cjs/PieChart-bd68cc0d.js +435 -0
  616. package/cjs/PieChart-bd68cc0d.js.map +1 -0
  617. package/cjs/Popup-881aae20.js +242 -0
  618. package/cjs/Popup-881aae20.js.map +1 -0
  619. package/cjs/ProgressBar-4a4d56b0.js +60 -0
  620. package/cjs/ProgressBar-4a4d56b0.js.map +1 -0
  621. package/cjs/ProgressCircle-2524339b.js +46 -0
  622. package/cjs/ProgressCircle-2524339b.js.map +1 -0
  623. package/cjs/RadioItem-f53a057a.js +6 -6
  624. package/cjs/RatingGauge-bafed83c.js +7 -7
  625. package/cjs/ReadonlyTextFieldInput-fb7ffa5e.js +1 -1
  626. package/cjs/RemovableNavigationListItem-eb2c8156.js +27 -0
  627. package/cjs/RemovableNavigationListItem-eb2c8156.js.map +1 -0
  628. package/cjs/RemovableTabBarItem-df8144f5.js +2 -2
  629. package/cjs/ReorderableTabBar-025a0d71.js +81 -0
  630. package/cjs/ReorderableTabBar-025a0d71.js.map +1 -0
  631. package/cjs/RevealToggleIcon-b5738e5e.js +1 -1
  632. package/cjs/SectionalLegend-959d7977.js +4 -4
  633. package/cjs/SectionedContent-0c0f96fb.js +67 -0
  634. package/cjs/SectionedContent-0c0f96fb.js.map +1 -0
  635. package/cjs/SelectMultiple-3af44d48.js +8 -8
  636. package/cjs/SelectSingle-315c9871.js +7 -7
  637. package/cjs/SelectionCard-aa300118.js +40 -0
  638. package/cjs/SelectionCard-aa300118.js.map +1 -0
  639. package/cjs/Selector-cc35dbb1.js +1 -1
  640. package/cjs/SelectorAll-d8d3cb7b.js +5 -5
  641. package/cjs/Sheet-a6267b5f.js +161 -0
  642. package/cjs/Sheet-a6267b5f.js.map +1 -0
  643. package/cjs/SplitMenuButton-336bb8d6.js +3 -3
  644. package/cjs/StyledTextField-351ea57e.js +3 -3
  645. package/cjs/Submenu-b7daab71.js +1 -1
  646. package/cjs/TabBar-e77706d0.js +70 -0
  647. package/cjs/TabBar-e77706d0.js.map +1 -0
  648. package/cjs/TabBarItem-2b3039aa.js +3 -3
  649. package/cjs/TabBarLayout-c2efbeb3.js +1 -1
  650. package/cjs/TabBarMixed-bc696a46.js +80 -0
  651. package/cjs/TabBarMixed-bc696a46.js.map +1 -0
  652. package/cjs/TabBarMixedSeparator-6388ccda.js +21 -0
  653. package/cjs/TabBarMixedSeparator-6388ccda.js.map +1 -0
  654. package/cjs/Table-ecf57a09.js +3 -3
  655. package/cjs/TagCloud-26a38c04.js +9 -9
  656. package/cjs/TextArea-b2646d51.js +5 -5
  657. package/cjs/TextAreaAutosize-d8cad6ce.js +5 -5
  658. package/cjs/TextField-0f4e945f.js +3 -3
  659. package/cjs/TextFieldInput-4904c227.js +1 -1
  660. package/cjs/Theme-redwood/theme.css +257 -257
  661. package/cjs/Theme-stable/theme.css +190 -190
  662. package/cjs/TimeComponentCanvas2D-babbee35.js +4 -4
  663. package/cjs/Toolbar-415d636a.js +1 -1
  664. package/cjs/TruncatingBadge-7516b73e.js +2 -2
  665. package/cjs/TruncatingText-238fc336.js +2 -2
  666. package/cjs/UNSAFE_ActionCard.js +2 -2
  667. package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +29 -29
  668. package/cjs/UNSAFE_BarChart.js +29 -29
  669. package/cjs/UNSAFE_BaseButton.js +3 -3
  670. package/cjs/UNSAFE_Button.js +3 -3
  671. package/cjs/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +18 -18
  672. package/cjs/UNSAFE_ButtonSet.js +4 -4
  673. package/cjs/UNSAFE_ButtonSetButton.js +3 -3
  674. package/cjs/UNSAFE_ButtonSetIconButton.js +14 -14
  675. package/cjs/UNSAFE_ButtonSetItem.js +14 -14
  676. package/cjs/UNSAFE_ButtonSetMultiple.js +4 -4
  677. package/cjs/UNSAFE_ButtonSetSingle.js +4 -4
  678. package/cjs/UNSAFE_CardFlexView.js +19 -19
  679. package/cjs/UNSAFE_CardGridView.js +19 -19
  680. package/cjs/UNSAFE_Center.js +5 -5
  681. package/cjs/UNSAFE_ChartWithLegend.js +4 -4
  682. package/cjs/UNSAFE_Checkbox.js +21 -21
  683. package/cjs/UNSAFE_CheckboxItem.js +100 -50
  684. package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
  685. package/cjs/UNSAFE_CheckboxSet.js +36 -65
  686. package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
  687. package/cjs/UNSAFE_Chip.js +2 -2
  688. package/cjs/UNSAFE_Collapsible.js +16 -16
  689. package/cjs/UNSAFE_ComponentMessage.js +17 -17
  690. package/cjs/UNSAFE_ConveyorBelt.js +14 -14
  691. package/cjs/UNSAFE_DatePicker.js +23 -23
  692. package/cjs/UNSAFE_Diagram.js +15 -15
  693. package/cjs/UNSAFE_Dialog.js +9 -9
  694. package/cjs/UNSAFE_DragHandle.js +15 -15
  695. package/cjs/UNSAFE_DrawerLayout.js +11 -11
  696. package/cjs/UNSAFE_DrawerPopup.js +10 -10
  697. package/cjs/UNSAFE_Dropdown.js +12 -12
  698. package/cjs/UNSAFE_Environment.js +4 -4
  699. package/cjs/UNSAFE_ExpandableList.js +21 -21
  700. package/cjs/UNSAFE_FilePicker.js +4 -4
  701. package/cjs/UNSAFE_Flex.js +4 -4
  702. package/cjs/UNSAFE_Floating.js +10 -10
  703. package/cjs/UNSAFE_FormLayout.js +2 -2
  704. package/cjs/UNSAFE_Gantt.js +21 -21
  705. package/cjs/UNSAFE_Grid.js +4 -4
  706. package/cjs/UNSAFE_HighlightText.js +4 -4
  707. package/cjs/UNSAFE_Icon.js +14 -14
  708. package/cjs/UNSAFE_IconButton.js +14 -14
  709. package/cjs/UNSAFE_IconMenuButton.js +18 -18
  710. package/cjs/UNSAFE_IconToggleButton.js +14 -14
  711. package/cjs/UNSAFE_Indexer.js +6 -6
  712. package/cjs/UNSAFE_InputDateMask.js +22 -22
  713. package/cjs/UNSAFE_InputDatePicker.js +31 -31
  714. package/cjs/UNSAFE_InputPassword.js +21 -21
  715. package/cjs/UNSAFE_InputSensitiveText.js +23 -23
  716. package/cjs/UNSAFE_InputText.js +24 -24
  717. package/cjs/UNSAFE_Label.js +21 -21
  718. package/cjs/UNSAFE_LabelValueLayout.js +4 -4
  719. package/cjs/UNSAFE_LabelledLink.js +23 -23
  720. package/cjs/UNSAFE_Layer.js +7 -7
  721. package/cjs/UNSAFE_Legend.js +22 -22
  722. package/cjs/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +29 -29
  723. package/cjs/UNSAFE_LineAreaChart.js +30 -30
  724. package/cjs/UNSAFE_Link.js +2 -2
  725. package/cjs/UNSAFE_ListItemLayout.js +5 -5
  726. package/cjs/UNSAFE_ListView.js +24 -24
  727. package/cjs/UNSAFE_LiveRegion.js +4 -4
  728. package/cjs/UNSAFE_Menu.js +20 -20
  729. package/cjs/UNSAFE_MenuButton.js +18 -18
  730. package/cjs/UNSAFE_MessageBanner.js +17 -17
  731. package/cjs/UNSAFE_MessageToast.js +20 -20
  732. package/cjs/UNSAFE_MeterBar.js +14 -14
  733. package/cjs/UNSAFE_MeterCircle.js +14 -14
  734. package/cjs/UNSAFE_Modal.js +7 -7
  735. package/cjs/UNSAFE_NavigationList.js +34 -32
  736. package/cjs/UNSAFE_NavigationList.js.map +1 -1
  737. package/cjs/UNSAFE_NavigationListCommon.js +68 -67
  738. package/cjs/UNSAFE_NavigationListCommon.js.map +1 -1
  739. package/cjs/UNSAFE_NumberInputText.js +23 -23
  740. package/cjs/UNSAFE_OverflowTabBar.js +45 -43
  741. package/cjs/UNSAFE_OverflowTabBar.js.map +1 -1
  742. package/cjs/UNSAFE_PictoChart.js +13 -13
  743. package/cjs/UNSAFE_PieChart/__test__/PieChart.spec.js +14 -14
  744. package/cjs/UNSAFE_PieChart.js +14 -14
  745. package/cjs/UNSAFE_Popup.js +15 -15
  746. package/cjs/UNSAFE_ProgressBar.js +5 -5
  747. package/cjs/UNSAFE_ProgressCircle.js +4 -4
  748. package/cjs/UNSAFE_RadioItem.js +21 -21
  749. package/cjs/UNSAFE_RadioSet.js +21 -21
  750. package/cjs/UNSAFE_RatingGauge.js +15 -15
  751. package/cjs/UNSAFE_ReorderableTabBar.js +41 -27
  752. package/cjs/UNSAFE_ReorderableTabBar.js.map +1 -1
  753. package/cjs/UNSAFE_SectionalLegend.js +23 -23
  754. package/cjs/UNSAFE_SelectMultiple.js +29 -29
  755. package/cjs/UNSAFE_SelectSingle.js +29 -29
  756. package/cjs/UNSAFE_SelectionCard.js +4 -4
  757. package/cjs/UNSAFE_Selector.js +14 -14
  758. package/cjs/UNSAFE_SelectorAll.js +17 -17
  759. package/cjs/UNSAFE_Sheet/__test__/Sheet.spec.js +13 -13
  760. package/cjs/UNSAFE_Sheet.js +10 -10
  761. package/cjs/UNSAFE_SplitMenuButton.js +18 -18
  762. package/cjs/UNSAFE_TabBar.js +47 -45
  763. package/cjs/UNSAFE_TabBar.js.map +1 -1
  764. package/cjs/UNSAFE_TabBarCommon.js +42 -40
  765. package/cjs/UNSAFE_TabBarCommon.js.map +1 -1
  766. package/cjs/UNSAFE_TabBarMixed.js +50 -48
  767. package/cjs/UNSAFE_TabBarMixed.js.map +1 -1
  768. package/cjs/UNSAFE_TableView.js +16 -16
  769. package/cjs/UNSAFE_TagCloud.js +22 -22
  770. package/cjs/UNSAFE_TextArea.js +23 -23
  771. package/cjs/UNSAFE_TextAreaAutosize.js +23 -23
  772. package/cjs/UNSAFE_TextField.js +7 -7
  773. package/cjs/UNSAFE_ToggleButton.js +3 -3
  774. package/cjs/UNSAFE_Toolbar/tests/Toolbar.spec.js +20 -20
  775. package/cjs/UNSAFE_Toolbar.js +4 -4
  776. package/cjs/UNSAFE_Train.js +15 -15
  777. package/cjs/UNSAFE_TruncatingBadge.js +15 -15
  778. package/cjs/UNSAFE_TruncatingText.js +15 -15
  779. package/cjs/UNSAFE_UserAssistance.js +22 -22
  780. package/cjs/UNSAFE_View.js +7 -7
  781. package/cjs/UNSAFE_VirtualizedListView.js +18 -18
  782. package/cjs/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  783. package/cjs/UNSAFE_VisProgressiveLoader.js +6 -6
  784. package/cjs/UNSAFE_VisStatusMessage.js +6 -6
  785. package/cjs/UNSAFE_WindowOverlay.js +4 -4
  786. package/cjs/View-011404a7.js +170 -0
  787. package/cjs/View-011404a7.js.map +1 -0
  788. package/cjs/VisNoData-9afdc618.js +35 -0
  789. package/cjs/VisNoData-9afdc618.js.map +1 -0
  790. package/cjs/VisProgressiveLoader-ad546cec.js +53 -0
  791. package/cjs/VisProgressiveLoader-ad546cec.js.map +1 -0
  792. package/cjs/VisTabularDatatip-3b3341f9.js +26 -0
  793. package/cjs/VisTabularDatatip-3b3341f9.js.map +1 -0
  794. package/cjs/WindowOverlay-d255542f.js +112 -0
  795. package/cjs/WindowOverlay-d255542f.js.map +1 -0
  796. package/cjs/YearsGridView-95c9ae3d.js +190 -0
  797. package/cjs/YearsGridView-95c9ae3d.js.map +1 -0
  798. package/cjs/hoc/PRIVATE_withDirectionIcon.js +4 -4
  799. package/cjs/hoc/PRIVATE_withThemeIcon.js +3 -3
  800. package/cjs/hoc/UNSAFE_withThemeProps.js +3 -3
  801. package/cjs/hooks/PRIVATE_useChartContextMenu.js +18 -18
  802. package/cjs/hooks/PRIVATE_useChartDatatip.js +13 -13
  803. package/cjs/hooks/PRIVATE_useChartEvents.js +17 -17
  804. package/cjs/hooks/PRIVATE_useChartMarquee.js +16 -16
  805. package/cjs/hooks/PRIVATE_useCssVars.js +7 -7
  806. package/cjs/hooks/PRIVATE_useCurrentKey.js +4 -4
  807. package/cjs/hooks/PRIVATE_useDatatip.js +11 -11
  808. package/cjs/hooks/PRIVATE_useFloating.js +4 -4
  809. package/cjs/hooks/PRIVATE_useReorderable.js +4 -4
  810. package/cjs/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  811. package/cjs/hooks/PRIVATE_useSelection.js +4 -4
  812. package/cjs/hooks/PRIVATE_useTabBar.js +5 -5
  813. package/cjs/hooks/PRIVATE_useVisContextMenu.js +18 -18
  814. package/cjs/hooks/PRIVATE_useVisEvents.js +4 -4
  815. package/cjs/hooks/PRIVATE_useVisMeterEvents.js +13 -13
  816. package/cjs/hooks/PRIVATE_useVisSelection.js +12 -12
  817. package/cjs/hooks/UNSAFE_useColorScheme.js +3 -3
  818. package/cjs/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  819. package/cjs/hooks/UNSAFE_useDensity.js +3 -3
  820. package/cjs/hooks/UNSAFE_useOutsideClick.js +7 -7
  821. package/cjs/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  822. package/cjs/hooks/UNSAFE_useScale.js +3 -3
  823. package/cjs/hooks/UNSAFE_useTestId.js +3 -3
  824. package/cjs/hooks/UNSAFE_useTheme.js +3 -3
  825. package/cjs/hooks/UNSAFE_useThemeInterpolations.js +5 -5
  826. package/cjs/hooks/UNSAFE_useTooltip.js +15 -15
  827. package/cjs/hooks/UNSAFE_useTranslationBundle.js +3 -3
  828. package/cjs/hooks/UNSAFE_useUser.js +3 -3
  829. package/cjs/index-c679f28a.js +13 -0
  830. package/cjs/index-c679f28a.js.map +1 -0
  831. package/cjs/listViewSelectionTests-3d07b4e3.js +4 -4
  832. package/cjs/render-7a552b40.js +41 -0
  833. package/cjs/render-7a552b40.js.map +1 -0
  834. package/cjs/tabbableUtils-6d07309a.js +81 -0
  835. package/cjs/tabbableUtils-6d07309a.js.map +1 -0
  836. package/cjs/testData-f91dbc33.js +271 -0
  837. package/cjs/testData-f91dbc33.js.map +1 -0
  838. package/cjs/useCellNavigation-24bff833.js +1 -1
  839. package/cjs/useChartContextMenu-d7ed939f.js +3 -3
  840. package/cjs/useChartDatatip-7b7f757f.js +137 -0
  841. package/cjs/useChartDatatip-7b7f757f.js.map +1 -0
  842. package/cjs/useChartMarquee-ab7c89ea.js +1 -1
  843. package/cjs/useColorScheme-d2c4adcc.js +21 -0
  844. package/cjs/useColorScheme-d2c4adcc.js.map +1 -0
  845. package/cjs/useContextMenu-f3cf0db8.js +3 -3
  846. package/cjs/useCssVars-4f061513.js +60 -0
  847. package/cjs/useCssVars-4f061513.js.map +1 -0
  848. package/cjs/useCurrentBgColor-ccc9db95.js +21 -0
  849. package/cjs/useCurrentBgColor-ccc9db95.js.map +1 -0
  850. package/cjs/useCurrentKey-3b4c8a44.js +83 -0
  851. package/cjs/useCurrentKey-3b4c8a44.js.map +1 -0
  852. package/cjs/useDatatip-ff0c568c.js +85 -0
  853. package/cjs/useDatatip-ff0c568c.js.map +1 -0
  854. package/cjs/useDensity-6e80ddff.js +21 -0
  855. package/cjs/useDensity-6e80ddff.js.map +1 -0
  856. package/cjs/useFloating-7800fd56.js +1926 -0
  857. package/cjs/useFloating-7800fd56.js.map +1 -0
  858. package/cjs/useKeyboardEvents-f1a1dfef.js +81 -0
  859. package/cjs/useKeyboardEvents-f1a1dfef.js.map +1 -0
  860. package/cjs/useLegendContextMenu-a10bd2fc.js +5 -5
  861. package/cjs/useMeterDatatip-5db0b026.js +81 -0
  862. package/cjs/useMeterDatatip-5db0b026.js.map +1 -0
  863. package/cjs/useNavigationListItem-74009187.js +85 -0
  864. package/cjs/useNavigationListItem-74009187.js.map +1 -0
  865. package/cjs/useOutsideClick-7420644b.js +87 -0
  866. package/cjs/useOutsideClick-7420644b.js.map +1 -0
  867. package/cjs/usePopupAnimation-78a173e8.js +87 -0
  868. package/cjs/usePopupAnimation-78a173e8.js.map +1 -0
  869. package/cjs/usePrefixSuffix-edb21dad.js +72 -0
  870. package/cjs/usePrefixSuffix-edb21dad.js.map +1 -0
  871. package/cjs/useReorderableItem-02ed8243.js +2 -2
  872. package/cjs/useRovingTabIndexContainer-ff6fef9d.js +100 -0
  873. package/cjs/useRovingTabIndexContainer-ff6fef9d.js.map +1 -0
  874. package/cjs/useScale-74bd6456.js +21 -0
  875. package/cjs/useScale-74bd6456.js.map +1 -0
  876. package/cjs/useSelectCommon-8aaf62bd.js +11 -11
  877. package/cjs/useSelectDrill-64289234.js +103 -0
  878. package/cjs/useSelectDrill-64289234.js.map +1 -0
  879. package/cjs/useSelection-8f71759b.js +183 -0
  880. package/cjs/useSelection-8f71759b.js.map +1 -0
  881. package/cjs/useSelection-b53f8255.js +243 -0
  882. package/cjs/useSelection-b53f8255.js.map +1 -0
  883. package/cjs/useTabBar-35edcdb1.js +154 -0
  884. package/cjs/useTabBar-35edcdb1.js.map +1 -0
  885. package/cjs/useTestId-8234ec1e.js +23 -0
  886. package/cjs/useTestId-8234ec1e.js.map +1 -0
  887. package/cjs/useTheme-9b0dc066.js +21 -0
  888. package/cjs/useTheme-9b0dc066.js.map +1 -0
  889. package/cjs/useThemeInterpolations-25313f34.js +33 -0
  890. package/cjs/useThemeInterpolations-25313f34.js.map +1 -0
  891. package/cjs/useTooltip-468c1c92.js +53 -0
  892. package/cjs/useTooltip-468c1c92.js.map +1 -0
  893. package/cjs/useTooltipControlled-706a3651.js +456 -0
  894. package/cjs/useTooltipControlled-706a3651.js.map +1 -0
  895. package/cjs/useTranslationBundle-9da032d6.js +31 -0
  896. package/cjs/useTranslationBundle-9da032d6.js.map +1 -0
  897. package/cjs/useUser-a6d15333.js +21 -0
  898. package/cjs/useUser-a6d15333.js.map +1 -0
  899. package/cjs/useVisEvents-3d806e47.js +155 -0
  900. package/cjs/useVisEvents-3d806e47.js.map +1 -0
  901. package/cjs/utils/PRIVATE_visTestUtils.js +5 -5
  902. package/cjs/withDirectionIcon-d9c7c79f.js +16 -0
  903. package/cjs/withDirectionIcon-d9c7c79f.js.map +1 -0
  904. package/es/ActionCard-623c6191.js +1 -1
  905. package/es/BarChart-c8f78f4b.js +2 -2
  906. package/es/BaseButton-5b2791b1.js +2 -2
  907. package/es/BaseCardView-59efba85.js +6 -6
  908. package/es/BaseCardViewSelectionTest-6796b2b4.js +683 -0
  909. package/es/BaseCardViewSelectionTest-6796b2b4.js.map +1 -0
  910. package/es/BaseNavigationListItem-3a377d46.js +1 -1
  911. package/es/ButtonLayoutVariants.styles.css +2 -2
  912. package/es/ButtonLayoutVariants.styles2.css +2 -2
  913. package/es/ButtonSet-fa7e8acd.js +2 -2
  914. package/es/ButtonSetIconButton-c5860cc1.js +2 -2
  915. package/es/Center-2ffc1dcc.js +16 -0
  916. package/es/Center-2ffc1dcc.js.map +1 -0
  917. package/es/Chart-793bd008.js +9 -9
  918. package/es/CheckboxControl-7174e0b2.js +6 -6
  919. package/es/CheckboxRadioField-c7c4643e.js +5 -5
  920. package/es/CheckboxSetContext-1be56556.js +9 -0
  921. package/es/CheckboxSetContext-1be56556.js.map +1 -0
  922. package/es/Chip-2c86a76f.js +1 -1
  923. package/es/ClearIcon-f1f796b4.js +1 -1
  924. package/es/CollapseIcon-b6d7cfd6.js +1 -1
  925. package/es/Collapsible-4cdc17e3.js +2 -2
  926. package/es/CompactHelpSource-548938ff.js +2 -2
  927. package/es/CompactLabelAssistance-fc9478aa.js +27 -0
  928. package/es/CompactLabelAssistance-fc9478aa.js.map +1 -0
  929. package/es/CompactUserAssistance-41c32c6f.js +4 -4
  930. package/es/ComponentMessageContainer-7d9228a3.js +4 -4
  931. package/es/ConveyorBeltItem-3d1d7f3c.js +2 -2
  932. package/es/DatePicker-4356274b.js +562 -0
  933. package/es/DatePicker-4356274b.js.map +1 -0
  934. package/es/DatePickerHeader-7078d6e8.js +3 -3
  935. package/es/Diagram-214e374c.js +1998 -0
  936. package/es/Diagram-214e374c.js.map +1 -0
  937. package/es/DirectionalCollapseArrowIcon-0298f5ef.js +1 -1
  938. package/es/DirectionalExpandArrowIcon-cf8fd7a8.js +1 -1
  939. package/es/DragHandle-9514fcdc.js +1 -1
  940. package/es/Dropdown-717319bb.js +80 -0
  941. package/es/Dropdown-717319bb.js.map +1 -0
  942. package/es/EnvironmentProvider-f543a463.js +58 -0
  943. package/es/EnvironmentProvider-f543a463.js.map +1 -0
  944. package/es/FilePicker-d8a0ad3a.js +2 -2
  945. package/es/Flex-24628925.js +30 -0
  946. package/es/Flex-24628925.js.map +1 -0
  947. package/es/Floating-9703160e.js +462 -0
  948. package/es/Floating-9703160e.js.map +1 -0
  949. package/es/FormLayout-ecd0259b.js +1 -1
  950. package/es/Gantt-b21af627.js +9 -9
  951. package/es/Grid-cfeac922.js +27 -0
  952. package/es/Grid-cfeac922.js.map +1 -0
  953. package/es/Gridlines-428bf909.js +120 -0
  954. package/es/Gridlines-428bf909.js.map +1 -0
  955. package/es/GroupLoadingIndicator-9c995e99.js +1 -1
  956. package/es/HighlightText-180e29f6.js +31 -0
  957. package/es/HighlightText-180e29f6.js.map +1 -0
  958. package/es/Icon-90c3a630.js +2 -2
  959. package/es/IconButton-37310d21.js +2 -2
  960. package/es/IconMenuButton-9fe6cbf9.js +4 -4
  961. package/es/IconSwitchButton-61cabbfe.js +2 -2
  962. package/es/IconToggleButton-f57e5484.js +2 -2
  963. package/es/IconUserAssistance-c226cb4f.js +73 -0
  964. package/es/IconUserAssistance-c226cb4f.js.map +1 -0
  965. package/es/Indexer-a671092c.js +4 -4
  966. package/es/InlineHelpSource-b43def76.js +1 -1
  967. package/es/InlineUserAssistance-bb690d93.js +5 -5
  968. package/es/InputDateMask-7386adfe.js +7 -7
  969. package/es/InputDatePicker-aa02a34c.js +323 -0
  970. package/es/InputDatePicker-aa02a34c.js.map +1 -0
  971. package/es/InputPassword-1f1f80b3.js +4 -4
  972. package/es/InputText-5fb896e7.js +6 -6
  973. package/es/Label-6674b3f2.js +5 -5
  974. package/es/LabelValueLayout-23b74176.js +1 -1
  975. package/es/Layer-9b06412e.js +84 -0
  976. package/es/Layer-9b06412e.js.map +1 -0
  977. package/es/LayerHost-45f545d7.js +40 -0
  978. package/es/LayerHost-45f545d7.js.map +1 -0
  979. package/es/LayerManager-625d2503.js +34 -0
  980. package/es/LayerManager-625d2503.js.map +1 -0
  981. package/es/Legend-98a79c12.js +3 -3
  982. package/es/LineAreaChart-413e0043.js +223 -0
  983. package/es/LineAreaChart-413e0043.js.map +1 -0
  984. package/es/Link-bfa35319.js +1 -1
  985. package/es/List-9026206d.js +5 -5
  986. package/es/ListItemLayout-695ec1a5.js +58 -0
  987. package/es/ListItemLayout-695ec1a5.js.map +1 -0
  988. package/es/ListView-c508c3a4.js +3 -3
  989. package/es/LiveRegion-81216fe6.js +39 -0
  990. package/es/LiveRegion-81216fe6.js.map +1 -0
  991. package/es/MaxLengthLiveRegion-cd15b075.js +23 -0
  992. package/es/MaxLengthLiveRegion-cd15b075.js.map +1 -0
  993. package/es/Menu-c7ab8412.js +313 -0
  994. package/es/Menu-c7ab8412.js.map +1 -0
  995. package/es/MenuButton-39563941.js +3 -3
  996. package/es/MenuItem-a8f9c954.js +1 -1
  997. package/es/Message-be36b84a.js +2 -2
  998. package/es/MessageLayer-0946d6b7.js +58 -0
  999. package/es/MessageLayer-0946d6b7.js.map +1 -0
  1000. package/es/MessageToast-2fa3c9d4.js +8 -8
  1001. package/es/MessagesManager-0d60fea1.js +3 -3
  1002. package/es/MeterBar-bdd7f9da.js +4 -4
  1003. package/es/MeterCircle-fd10f18b.js +4 -4
  1004. package/es/Modal-6b11d8cb.js +255 -0
  1005. package/es/Modal-6b11d8cb.js.map +1 -0
  1006. package/es/MonthView-cc017afe.js +152 -0
  1007. package/es/MonthView-cc017afe.js.map +1 -0
  1008. package/es/NavigationListItem-ea899fab.js +5 -5
  1009. package/es/NumberInputText-21ded33a.js +6 -6
  1010. package/es/OverflowTabBarItem-8f35961d.js +3 -3
  1011. package/es/PRIVATE_BaseCardView.js +19 -19
  1012. package/es/PRIVATE_Chart.js +29 -29
  1013. package/es/PRIVATE_CheckboxControl.js +21 -21
  1014. package/es/PRIVATE_CheckboxRadioField.js +22 -22
  1015. package/es/PRIVATE_ClearIcon.js +16 -16
  1016. package/es/PRIVATE_DatePickerHeader.js +18 -18
  1017. package/es/PRIVATE_DatePickerLayout.js +4 -4
  1018. package/es/PRIVATE_EmbeddedIconButton.js +3 -3
  1019. package/es/PRIVATE_FormControls.js +19 -19
  1020. package/es/PRIVATE_IconSwitchButton.js +14 -14
  1021. package/es/PRIVATE_Icons/CheckboxMixed.js +14 -14
  1022. package/es/PRIVATE_Icons/CheckboxOff.js +14 -14
  1023. package/es/PRIVATE_Icons/CheckboxOn.js +14 -14
  1024. package/es/PRIVATE_Icons/RadiobuttonOff.js +14 -14
  1025. package/es/PRIVATE_Icons/RadiobuttonOn.js +14 -14
  1026. package/es/PRIVATE_Icons/WarningS.js +14 -14
  1027. package/es/PRIVATE_List.js +18 -18
  1028. package/es/PRIVATE_Message.js +17 -17
  1029. package/es/PRIVATE_MessageLayer.js +11 -11
  1030. package/es/PRIVATE_MonthView.js +7 -7
  1031. package/es/PRIVATE_MonthYearGridView.js +7 -7
  1032. package/es/PRIVATE_PlotArea.js +4 -4
  1033. package/es/PRIVATE_RevealToggleIcon.js +15 -15
  1034. package/es/PRIVATE_SelectCommon.js +26 -26
  1035. package/es/PRIVATE_StyledCheckbox.js +14 -14
  1036. package/es/PRIVATE_Table.js +16 -16
  1037. package/es/PRIVATE_ThemedIcons/CalendarIcon.js +14 -14
  1038. package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +14 -14
  1039. package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +14 -14
  1040. package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +14 -14
  1041. package/es/PRIVATE_ThemedIcons/CheckIcon.js +14 -14
  1042. package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +14 -14
  1043. package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +14 -14
  1044. package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +14 -14
  1045. package/es/PRIVATE_ThemedIcons/CloseIcon.js +14 -14
  1046. package/es/PRIVATE_ThemedIcons/CollapseIcon.js +15 -15
  1047. package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +14 -14
  1048. package/es/PRIVATE_ThemedIcons/DecrementIcon.js +14 -14
  1049. package/es/PRIVATE_ThemedIcons/DeleteIcon.js +14 -14
  1050. package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +15 -15
  1051. package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +15 -15
  1052. package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +14 -14
  1053. package/es/PRIVATE_ThemedIcons/ExpandIcon.js +14 -14
  1054. package/es/PRIVATE_ThemedIcons/HelpIcon.js +14 -14
  1055. package/es/PRIVATE_ThemedIcons/IncrementIcon.js +14 -14
  1056. package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +14 -14
  1057. package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +14 -14
  1058. package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +14 -14
  1059. package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +14 -14
  1060. package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +14 -14
  1061. package/es/PRIVATE_ThemedIcons/MinusIcon.js +14 -14
  1062. package/es/PRIVATE_ThemedIcons/NavDownIcon.js +14 -14
  1063. package/es/PRIVATE_ThemedIcons/PlusIcon.js +14 -14
  1064. package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +14 -14
  1065. package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +14 -14
  1066. package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +14 -14
  1067. package/es/PRIVATE_ThemedIcons/SortDefaultIcon.js +14 -14
  1068. package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +14 -14
  1069. package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +14 -14
  1070. package/es/PRIVATE_ThemedIcons/ViewIcon.js +14 -14
  1071. package/es/PRIVATE_TimeComponent.js +17 -17
  1072. package/es/PRIVATE_VisTabularDatatip.js +4 -4
  1073. package/es/PictoChart-20c9a0c2.js +6 -6
  1074. package/es/PieChart-f349498b.js +433 -0
  1075. package/es/PieChart-f349498b.js.map +1 -0
  1076. package/es/Popup-8889a781.js +240 -0
  1077. package/es/Popup-8889a781.js.map +1 -0
  1078. package/es/ProgressBar-afafe39a.js +58 -0
  1079. package/es/ProgressBar-afafe39a.js.map +1 -0
  1080. package/es/ProgressCircle-fa5866a3.js +44 -0
  1081. package/es/ProgressCircle-fa5866a3.js.map +1 -0
  1082. package/es/RadioItem-e5b1f50b.js +6 -6
  1083. package/es/RatingGauge-4d8a68df.js +7 -7
  1084. package/es/ReadonlyTextFieldInput-4392c7aa.js +1 -1
  1085. package/es/RemovableNavigationListItem-4c86bec8.js +1 -1
  1086. package/es/RemovableTabBarItem-217d4a0b.js +2 -2
  1087. package/es/ReorderableTabBar-84640a66.js +2 -2
  1088. package/es/RevealToggleIcon-9236963e.js +1 -1
  1089. package/es/SectionalLegend-6ffb4255.js +4 -4
  1090. package/es/SectionedContent-815e377a.js +64 -0
  1091. package/es/SectionedContent-815e377a.js.map +1 -0
  1092. package/es/SelectMultiple-fd3ea6f8.js +8 -8
  1093. package/es/SelectSingle-8a8d1f5e.js +7 -7
  1094. package/es/SelectionCard-79044c5f.js +38 -0
  1095. package/es/SelectionCard-79044c5f.js.map +1 -0
  1096. package/es/Selector-e56a73a8.js +1 -1
  1097. package/es/SelectorAll-6f080f88.js +5 -5
  1098. package/es/Sheet-e4121f4a.js +158 -0
  1099. package/es/Sheet-e4121f4a.js.map +1 -0
  1100. package/es/SplitMenuButton-79bdfe96.js +3 -3
  1101. package/es/StyledTextField-c79f5438.js +3 -3
  1102. package/es/Submenu-8b3fa593.js +1 -1
  1103. package/es/TabBar-e39e8dbd.js +6 -6
  1104. package/es/TabBarItem-c681fa07.js +3 -3
  1105. package/es/TabBarLayout-a0d89ec4.js +1 -1
  1106. package/es/TabBarMixed-3658d3d2.js +6 -6
  1107. package/es/TabBarMixedSeparator-8ab78880.js +19 -0
  1108. package/es/TabBarMixedSeparator-8ab78880.js.map +1 -0
  1109. package/es/Table-e3ef68ad.js +3 -3
  1110. package/es/TagCloud-78991c29.js +9 -9
  1111. package/es/TextArea-979496a0.js +5 -5
  1112. package/es/TextAreaAutosize-b73aaa2f.js +5 -5
  1113. package/es/TextField-323fe0e9.js +3 -3
  1114. package/es/TextFieldInput-3c39cb7b.js +1 -1
  1115. package/es/Theme-redwood/theme.css +469 -469
  1116. package/es/Theme-stable/theme.css +487 -487
  1117. package/es/TimeComponentCanvas2D-c2ab38ba.js +4 -4
  1118. package/es/Toolbar-f0e57a9d.js +1 -1
  1119. package/es/TruncatingBadge-084c6682.js +2 -2
  1120. package/es/TruncatingText-780cbb19.js +2 -2
  1121. package/es/UNSAFE_ActionCard.js +2 -2
  1122. package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +29 -29
  1123. package/es/UNSAFE_BarChart.js +29 -29
  1124. package/es/UNSAFE_BaseButton.js +3 -3
  1125. package/es/UNSAFE_Button.js +3 -3
  1126. package/es/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +19 -19
  1127. package/es/UNSAFE_ButtonLayout/themes/redwood/ButtonLayoutTheme.js +1 -1
  1128. package/es/UNSAFE_ButtonLayout/themes/redwood/ButtonLayoutVariants.css.js +1 -1
  1129. package/es/UNSAFE_ButtonLayout/themes/stable/ButtonLayoutTheme.js +1 -1
  1130. package/es/UNSAFE_ButtonLayout/themes/stable/ButtonLayoutVariants.css.js +1 -1
  1131. package/es/UNSAFE_ButtonLayout.js +1 -1
  1132. package/es/UNSAFE_ButtonSet.js +4 -4
  1133. package/es/UNSAFE_ButtonSetButton.js +3 -3
  1134. package/es/UNSAFE_ButtonSetIconButton.js +14 -14
  1135. package/es/UNSAFE_ButtonSetItem.js +14 -14
  1136. package/es/UNSAFE_ButtonSetMultiple.js +4 -4
  1137. package/es/UNSAFE_ButtonSetSingle.js +4 -4
  1138. package/es/UNSAFE_CardFlexView.js +19 -19
  1139. package/es/UNSAFE_CardGridView.js +19 -19
  1140. package/es/UNSAFE_Center.js +5 -5
  1141. package/es/UNSAFE_ChartWithLegend.js +4 -4
  1142. package/es/UNSAFE_Checkbox.js +21 -21
  1143. package/es/UNSAFE_CheckboxItem.js +50 -100
  1144. package/es/UNSAFE_CheckboxItem.js.map +1 -1
  1145. package/es/UNSAFE_CheckboxSet.js +65 -31
  1146. package/es/UNSAFE_CheckboxSet.js.map +1 -1
  1147. package/es/UNSAFE_Chip.js +2 -2
  1148. package/es/UNSAFE_Collapsible.js +16 -16
  1149. package/es/UNSAFE_ComponentMessage.js +17 -17
  1150. package/es/UNSAFE_ConveyorBelt.js +14 -14
  1151. package/es/UNSAFE_DatePicker.js +23 -23
  1152. package/es/UNSAFE_Diagram.js +15 -15
  1153. package/es/UNSAFE_Dialog.js +9 -9
  1154. package/es/UNSAFE_DragHandle.js +15 -15
  1155. package/es/UNSAFE_DrawerLayout.js +11 -11
  1156. package/es/UNSAFE_DrawerPopup.js +10 -10
  1157. package/es/UNSAFE_Dropdown.js +12 -12
  1158. package/es/UNSAFE_Environment.js +4 -4
  1159. package/es/UNSAFE_ExpandableList.js +21 -21
  1160. package/es/UNSAFE_FilePicker.js +4 -4
  1161. package/es/UNSAFE_Flex.js +4 -4
  1162. package/es/UNSAFE_Floating.js +10 -10
  1163. package/es/UNSAFE_FormLayout.js +2 -2
  1164. package/es/UNSAFE_Gantt.js +21 -21
  1165. package/es/UNSAFE_Grid.js +4 -4
  1166. package/es/UNSAFE_HighlightText.js +4 -4
  1167. package/es/UNSAFE_Icon.js +14 -14
  1168. package/es/UNSAFE_IconButton.js +14 -14
  1169. package/es/UNSAFE_IconMenuButton.js +18 -18
  1170. package/es/UNSAFE_IconToggleButton.js +14 -14
  1171. package/es/UNSAFE_Indexer.js +6 -6
  1172. package/es/UNSAFE_InputDateMask.js +22 -22
  1173. package/es/UNSAFE_InputDatePicker.js +108 -108
  1174. package/es/UNSAFE_InputPassword.js +21 -21
  1175. package/es/UNSAFE_InputSensitiveText.js +23 -23
  1176. package/es/UNSAFE_InputText.js +24 -24
  1177. package/es/UNSAFE_Label.js +21 -21
  1178. package/es/UNSAFE_LabelValueLayout.js +4 -4
  1179. package/es/UNSAFE_LabelledLink.js +23 -23
  1180. package/es/UNSAFE_Layer.js +7 -7
  1181. package/es/UNSAFE_Legend.js +22 -22
  1182. package/es/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +29 -29
  1183. package/es/UNSAFE_LineAreaChart.js +30 -30
  1184. package/es/UNSAFE_Link.js +2 -2
  1185. package/es/UNSAFE_ListItemLayout.js +5 -5
  1186. package/es/UNSAFE_ListView.js +24 -24
  1187. package/es/UNSAFE_LiveRegion.js +4 -4
  1188. package/es/UNSAFE_Menu.js +20 -20
  1189. package/es/UNSAFE_MenuButton.js +18 -18
  1190. package/es/UNSAFE_MessageBanner.js +17 -17
  1191. package/es/UNSAFE_MessageToast.js +20 -20
  1192. package/es/UNSAFE_MeterBar.js +14 -14
  1193. package/es/UNSAFE_MeterCircle.js +14 -14
  1194. package/es/UNSAFE_Modal.js +7 -7
  1195. package/es/UNSAFE_NavigationList.js +18 -18
  1196. package/es/UNSAFE_NavigationListCommon.js +16 -16
  1197. package/es/UNSAFE_NumberInputText.js +23 -23
  1198. package/es/UNSAFE_OverflowTabBar.js +23 -23
  1199. package/es/UNSAFE_PictoChart.js +13 -13
  1200. package/es/UNSAFE_PieChart/__test__/PieChart.spec.js +14 -14
  1201. package/es/UNSAFE_PieChart.js +14 -14
  1202. package/es/UNSAFE_Popup.js +15 -15
  1203. package/es/UNSAFE_ProgressBar.js +5 -5
  1204. package/es/UNSAFE_ProgressCircle.js +4 -4
  1205. package/es/UNSAFE_RadioItem.js +21 -21
  1206. package/es/UNSAFE_RadioSet.js +21 -21
  1207. package/es/UNSAFE_RatingGauge.js +15 -15
  1208. package/es/UNSAFE_ReorderableTabBar.js +21 -21
  1209. package/es/UNSAFE_SectionalLegend.js +23 -23
  1210. package/es/UNSAFE_SelectMultiple.js +29 -29
  1211. package/es/UNSAFE_SelectSingle.js +29 -29
  1212. package/es/UNSAFE_SelectionCard.js +4 -4
  1213. package/es/UNSAFE_Selector.js +14 -14
  1214. package/es/UNSAFE_SelectorAll.js +17 -17
  1215. package/es/UNSAFE_Sheet/__test__/Sheet.spec.js +13 -13
  1216. package/es/UNSAFE_Sheet.js +10 -10
  1217. package/es/UNSAFE_SplitMenuButton.js +18 -18
  1218. package/es/UNSAFE_TabBar.js +24 -24
  1219. package/es/UNSAFE_TabBarCommon.js +23 -23
  1220. package/es/UNSAFE_TabBarMixed.js +27 -27
  1221. package/es/UNSAFE_TableView.js +16 -16
  1222. package/es/UNSAFE_TagCloud.js +22 -22
  1223. package/es/UNSAFE_TextArea.js +23 -23
  1224. package/es/UNSAFE_TextAreaAutosize.js +23 -23
  1225. package/es/UNSAFE_TextField.js +7 -7
  1226. package/es/UNSAFE_ToggleButton.js +3 -3
  1227. package/es/UNSAFE_Toolbar/tests/Toolbar.spec.js +21 -21
  1228. package/es/UNSAFE_Toolbar.js +5 -5
  1229. package/es/UNSAFE_Train.js +15 -15
  1230. package/es/UNSAFE_TruncatingBadge.js +15 -15
  1231. package/es/UNSAFE_TruncatingText.js +15 -15
  1232. package/es/UNSAFE_UserAssistance.js +22 -22
  1233. package/es/UNSAFE_View.js +7 -7
  1234. package/es/UNSAFE_VirtualizedListView.js +18 -18
  1235. package/es/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  1236. package/es/UNSAFE_VisProgressiveLoader.js +6 -6
  1237. package/es/UNSAFE_VisStatusMessage.js +6 -6
  1238. package/es/UNSAFE_WindowOverlay.js +4 -4
  1239. package/es/View-6013acac.js +167 -0
  1240. package/es/View-6013acac.js.map +1 -0
  1241. package/es/VisNoData-8593beaa.js +32 -0
  1242. package/es/VisNoData-8593beaa.js.map +1 -0
  1243. package/es/VisProgressiveLoader-0d9a0dd0.js +51 -0
  1244. package/es/VisProgressiveLoader-0d9a0dd0.js.map +1 -0
  1245. package/es/VisTabularDatatip-1f16ca1f.js +24 -0
  1246. package/es/VisTabularDatatip-1f16ca1f.js.map +1 -0
  1247. package/es/WindowOverlay-e14f8324.js +110 -0
  1248. package/es/WindowOverlay-e14f8324.js.map +1 -0
  1249. package/es/YearsGridView-165e5eec.js +187 -0
  1250. package/es/YearsGridView-165e5eec.js.map +1 -0
  1251. package/es/hoc/PRIVATE_withDirectionIcon.js +4 -4
  1252. package/es/hoc/PRIVATE_withThemeIcon.js +3 -3
  1253. package/es/hoc/UNSAFE_withThemeProps.js +3 -3
  1254. package/es/hooks/PRIVATE_useChartContextMenu.js +18 -18
  1255. package/es/hooks/PRIVATE_useChartDatatip.js +13 -13
  1256. package/es/hooks/PRIVATE_useChartEvents.js +17 -17
  1257. package/es/hooks/PRIVATE_useChartMarquee.js +16 -16
  1258. package/es/hooks/PRIVATE_useCssVars.js +7 -7
  1259. package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
  1260. package/es/hooks/PRIVATE_useDatatip.js +11 -11
  1261. package/es/hooks/PRIVATE_useFloating.js +4 -4
  1262. package/es/hooks/PRIVATE_useReorderable.js +4 -4
  1263. package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  1264. package/es/hooks/PRIVATE_useSelection.js +4 -4
  1265. package/es/hooks/PRIVATE_useTabBar.js +5 -5
  1266. package/es/hooks/PRIVATE_useVisContextMenu.js +18 -18
  1267. package/es/hooks/PRIVATE_useVisEvents.js +4 -4
  1268. package/es/hooks/PRIVATE_useVisMeterEvents.js +13 -13
  1269. package/es/hooks/PRIVATE_useVisSelection.js +12 -12
  1270. package/es/hooks/UNSAFE_useColorScheme.js +3 -3
  1271. package/es/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  1272. package/es/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  1273. package/es/hooks/UNSAFE_useDensity.js +3 -3
  1274. package/es/hooks/UNSAFE_useOutsideClick.js +7 -7
  1275. package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  1276. package/es/hooks/UNSAFE_useScale.js +3 -3
  1277. package/es/hooks/UNSAFE_useTestId.js +3 -3
  1278. package/es/hooks/UNSAFE_useTheme.js +3 -3
  1279. package/es/hooks/UNSAFE_useThemeInterpolations.js +5 -5
  1280. package/es/hooks/UNSAFE_useTooltip.js +15 -15
  1281. package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
  1282. package/es/hooks/UNSAFE_useUser.js +3 -3
  1283. package/es/index-5f0f1501.js +11 -0
  1284. package/es/index-5f0f1501.js.map +1 -0
  1285. package/es/listViewSelectionTests-ebf987d2.js +4 -4
  1286. package/es/render-c90e85c7.js +34 -0
  1287. package/es/render-c90e85c7.js.map +1 -0
  1288. package/es/tabbableUtils-e6193af2.js +79 -0
  1289. package/es/tabbableUtils-e6193af2.js.map +1 -0
  1290. package/es/testData-2998863b.js +256 -0
  1291. package/es/testData-2998863b.js.map +1 -0
  1292. package/es/useCellNavigation-006fbce0.js +1 -1
  1293. package/es/useChartContextMenu-0014fc73.js +3 -3
  1294. package/es/useChartDatatip-b6b2b00a.js +135 -0
  1295. package/es/useChartDatatip-b6b2b00a.js.map +1 -0
  1296. package/es/useChartMarquee-38dbb5f9.js +1 -1
  1297. package/es/useColorScheme-e1b17324.js +19 -0
  1298. package/es/useColorScheme-e1b17324.js.map +1 -0
  1299. package/es/useContextMenu-81db2534.js +3 -3
  1300. package/es/useCssVars-64d9b696.js +58 -0
  1301. package/es/useCssVars-64d9b696.js.map +1 -0
  1302. package/es/useCurrentBgColor-d89afadb.js +19 -0
  1303. package/es/useCurrentBgColor-d89afadb.js.map +1 -0
  1304. package/es/useCurrentKey-db7d3bb9.js +81 -0
  1305. package/es/useCurrentKey-db7d3bb9.js.map +1 -0
  1306. package/es/useDatatip-7c661980.js +83 -0
  1307. package/es/useDatatip-7c661980.js.map +1 -0
  1308. package/es/useDensity-60cfa748.js +19 -0
  1309. package/es/useDensity-60cfa748.js.map +1 -0
  1310. package/es/useFloating-c99976f8.js +1916 -0
  1311. package/es/useFloating-c99976f8.js.map +1 -0
  1312. package/es/useKeyboardEvents-102b4feb.js +78 -0
  1313. package/es/useKeyboardEvents-102b4feb.js.map +1 -0
  1314. package/es/useLegendContextMenu-d88be99d.js +5 -5
  1315. package/es/useMeterDatatip-262c0e39.js +78 -0
  1316. package/es/useMeterDatatip-262c0e39.js.map +1 -0
  1317. package/es/useOutsideClick-eb8324f6.js +85 -0
  1318. package/es/useOutsideClick-eb8324f6.js.map +1 -0
  1319. package/es/usePopupAnimation-4be04290.js +85 -0
  1320. package/es/usePopupAnimation-4be04290.js.map +1 -0
  1321. package/es/usePrefixSuffix-71a410f4.js +70 -0
  1322. package/es/usePrefixSuffix-71a410f4.js.map +1 -0
  1323. package/es/useReorderableItem-25aa1c34.js +2 -2
  1324. package/es/useRovingTabIndexContainer-e7926bd6.js +98 -0
  1325. package/es/useRovingTabIndexContainer-e7926bd6.js.map +1 -0
  1326. package/es/useScale-d64a1a28.js +19 -0
  1327. package/es/useScale-d64a1a28.js.map +1 -0
  1328. package/es/useSelectCommon-b6d67057.js +11 -11
  1329. package/es/useSelectDrill-9ce5bccf.js +100 -0
  1330. package/es/useSelectDrill-9ce5bccf.js.map +1 -0
  1331. package/es/useSelection-c12f7802.js +181 -0
  1332. package/es/useSelection-c12f7802.js.map +1 -0
  1333. package/es/useSelection-ce0f9a43.js +241 -0
  1334. package/es/useSelection-ce0f9a43.js.map +1 -0
  1335. package/es/useTabBar-8af19c50.js +152 -0
  1336. package/es/useTabBar-8af19c50.js.map +1 -0
  1337. package/es/useTestId-adde554c.js +21 -0
  1338. package/es/useTestId-adde554c.js.map +1 -0
  1339. package/es/useTheme-1f6035d2.js +19 -0
  1340. package/es/useTheme-1f6035d2.js.map +1 -0
  1341. package/es/useThemeInterpolations-9bddc683.js +31 -0
  1342. package/es/useThemeInterpolations-9bddc683.js.map +1 -0
  1343. package/es/useTooltip-9dec25b3.js +51 -0
  1344. package/es/useTooltip-9dec25b3.js.map +1 -0
  1345. package/es/useTooltipControlled-2044f639.js +454 -0
  1346. package/es/useTooltipControlled-2044f639.js.map +1 -0
  1347. package/es/useTranslationBundle-cd815e10.js +29 -0
  1348. package/es/useTranslationBundle-cd815e10.js.map +1 -0
  1349. package/es/useUser-99920e02.js +19 -0
  1350. package/es/useUser-99920e02.js.map +1 -0
  1351. package/es/useVisEvents-4cfe354c.js +153 -0
  1352. package/es/useVisEvents-4cfe354c.js.map +1 -0
  1353. package/es/utils/PRIVATE_visTestUtils.js +6 -6
  1354. package/es/withDirectionIcon-f8ff778c.js +14 -0
  1355. package/es/withDirectionIcon-f8ff778c.js.map +1 -0
  1356. package/package.json +2 -2
  1357. package/amd/BaseCardViewSelectionTest-09799a11.js +0 -2
  1358. package/amd/BaseCardViewSelectionTest-09799a11.js.map +0 -1
  1359. package/amd/Center-ce88b58a.js +0 -2
  1360. package/amd/Center-ce88b58a.js.map +0 -1
  1361. package/amd/CompactLabelAssistance-9b6b3be2.js +0 -2
  1362. package/amd/CompactLabelAssistance-9b6b3be2.js.map +0 -1
  1363. package/amd/DatePicker-70b1aba4.js +0 -2
  1364. package/amd/DatePicker-70b1aba4.js.map +0 -1
  1365. package/amd/Diagram-9627b062.js +0 -2
  1366. package/amd/Diagram-9627b062.js.map +0 -1
  1367. package/amd/Dropdown-c62373dd.js +0 -2
  1368. package/amd/Dropdown-c62373dd.js.map +0 -1
  1369. package/amd/EnvironmentProvider-9e71b5c2.js +0 -2
  1370. package/amd/EnvironmentProvider-9e71b5c2.js.map +0 -1
  1371. package/amd/Flex-db3ddadb.js +0 -2
  1372. package/amd/Flex-db3ddadb.js.map +0 -1
  1373. package/amd/Floating-8f519f4d.js +0 -2
  1374. package/amd/Floating-8f519f4d.js.map +0 -1
  1375. package/amd/Grid-209ab070.js +0 -2
  1376. package/amd/Grid-209ab070.js.map +0 -1
  1377. package/amd/Gridlines-8ca4f9ee.js +0 -2
  1378. package/amd/Gridlines-8ca4f9ee.js.map +0 -1
  1379. package/amd/HighlightText-415dc14f.js +0 -2
  1380. package/amd/HighlightText-415dc14f.js.map +0 -1
  1381. package/amd/IconUserAssistance-f8928f19.js +0 -2
  1382. package/amd/IconUserAssistance-f8928f19.js.map +0 -1
  1383. package/amd/InputDatePicker-da5d8728.js +0 -2
  1384. package/amd/InputDatePicker-da5d8728.js.map +0 -1
  1385. package/amd/Layer-8d7bbd69.js +0 -2
  1386. package/amd/Layer-8d7bbd69.js.map +0 -1
  1387. package/amd/LayerHost-0a244de8.js +0 -2
  1388. package/amd/LayerHost-0a244de8.js.map +0 -1
  1389. package/amd/LayerManager-00983765.js +0 -2
  1390. package/amd/LayerManager-00983765.js.map +0 -1
  1391. package/amd/LineAreaChart-b68c4620.js +0 -2
  1392. package/amd/LineAreaChart-b68c4620.js.map +0 -1
  1393. package/amd/ListItemLayout-12aee4bd.js +0 -2
  1394. package/amd/ListItemLayout-12aee4bd.js.map +0 -1
  1395. package/amd/LiveRegion-09197914.js +0 -2
  1396. package/amd/LiveRegion-09197914.js.map +0 -1
  1397. package/amd/MaxLengthCounter-caafceef.js +0 -2
  1398. package/amd/MaxLengthCounter-caafceef.js.map +0 -1
  1399. package/amd/MaxLengthLiveRegion-e3856a98.js +0 -2
  1400. package/amd/MaxLengthLiveRegion-e3856a98.js.map +0 -1
  1401. package/amd/Menu-6a5d7fce.js +0 -2
  1402. package/amd/Menu-6a5d7fce.js.map +0 -1
  1403. package/amd/MessageLayer-cf2fbea9.js +0 -2
  1404. package/amd/MessageLayer-cf2fbea9.js.map +0 -1
  1405. package/amd/Modal-8f19889c.js +0 -2
  1406. package/amd/Modal-8f19889c.js.map +0 -1
  1407. package/amd/MonthView-297fceb8.js +0 -2
  1408. package/amd/MonthView-297fceb8.js.map +0 -1
  1409. package/amd/PieChart-295e2dbf.js +0 -2
  1410. package/amd/PieChart-295e2dbf.js.map +0 -1
  1411. package/amd/Popup-b5495d55.js +0 -2
  1412. package/amd/Popup-b5495d55.js.map +0 -1
  1413. package/amd/ProgressBar-e9b37565.js +0 -2
  1414. package/amd/ProgressBar-e9b37565.js.map +0 -1
  1415. package/amd/ProgressCircle-3b0d70d1.js +0 -2
  1416. package/amd/ProgressCircle-3b0d70d1.js.map +0 -1
  1417. package/amd/SectionedContent-d896b84f.js +0 -2
  1418. package/amd/SectionedContent-d896b84f.js.map +0 -1
  1419. package/amd/SelectionCard-ec3ee20d.js +0 -2
  1420. package/amd/SelectionCard-ec3ee20d.js.map +0 -1
  1421. package/amd/Sheet-a398d015.js +0 -2
  1422. package/amd/Sheet-a398d015.js.map +0 -1
  1423. package/amd/TabBarMixedSeparator-234c9a75.js +0 -2
  1424. package/amd/TabBarMixedSeparator-234c9a75.js.map +0 -1
  1425. package/amd/TextArea-44c90bc4.js +0 -2
  1426. package/amd/TextArea-44c90bc4.js.map +0 -1
  1427. package/amd/TextAreaAutosize-0a023972.js +0 -2
  1428. package/amd/TextAreaAutosize-0a023972.js.map +0 -1
  1429. package/amd/View-10a5769c.js +0 -2
  1430. package/amd/View-10a5769c.js.map +0 -1
  1431. package/amd/VisNoData-95d951c2.js +0 -2
  1432. package/amd/VisNoData-95d951c2.js.map +0 -1
  1433. package/amd/VisProgressiveLoader-39f1b4ef.js +0 -2
  1434. package/amd/VisProgressiveLoader-39f1b4ef.js.map +0 -1
  1435. package/amd/VisTabularDatatip-e945d6f6.js +0 -2
  1436. package/amd/VisTabularDatatip-e945d6f6.js.map +0 -1
  1437. package/amd/WindowOverlay-ad61cfea.js +0 -2
  1438. package/amd/WindowOverlay-ad61cfea.js.map +0 -1
  1439. package/amd/YearsGridView-c76bb4da.js +0 -2
  1440. package/amd/YearsGridView-c76bb4da.js.map +0 -1
  1441. package/amd/index-8d4da04e.js +0 -2
  1442. package/amd/index-8d4da04e.js.map +0 -1
  1443. package/amd/render-6de552e4.js +0 -2
  1444. package/amd/render-6de552e4.js.map +0 -1
  1445. package/amd/tabbableUtils-78cc49fd.js +0 -2
  1446. package/amd/tabbableUtils-78cc49fd.js.map +0 -1
  1447. package/amd/testData-6d873339.js +0 -2
  1448. package/amd/testData-6d873339.js.map +0 -1
  1449. package/amd/useChartDatatip-34e2636c.js +0 -2
  1450. package/amd/useChartDatatip-34e2636c.js.map +0 -1
  1451. package/amd/useColorScheme-3ffd80c4.js +0 -2
  1452. package/amd/useColorScheme-3ffd80c4.js.map +0 -1
  1453. package/amd/useCssVars-7efb591d.js +0 -2
  1454. package/amd/useCssVars-7efb591d.js.map +0 -1
  1455. package/amd/useCurrentBgColor-44e3f377.js +0 -2
  1456. package/amd/useCurrentBgColor-44e3f377.js.map +0 -1
  1457. package/amd/useCurrentKey-26170e5e.js +0 -2
  1458. package/amd/useCurrentKey-26170e5e.js.map +0 -1
  1459. package/amd/useDatatip-34fb67d2.js +0 -2
  1460. package/amd/useDatatip-34fb67d2.js.map +0 -1
  1461. package/amd/useDensity-be2ff874.js +0 -2
  1462. package/amd/useDensity-be2ff874.js.map +0 -1
  1463. package/amd/useFloating-30975c41.js +0 -2
  1464. package/amd/useFloating-30975c41.js.map +0 -1
  1465. package/amd/useKeyboardEvents-57008a1d.js +0 -2
  1466. package/amd/useKeyboardEvents-57008a1d.js.map +0 -1
  1467. package/amd/useMeterDatatip-1a3890aa.js +0 -2
  1468. package/amd/useMeterDatatip-1a3890aa.js.map +0 -1
  1469. package/amd/useOutsideClick-90052c27.js +0 -2
  1470. package/amd/useOutsideClick-90052c27.js.map +0 -1
  1471. package/amd/usePopupAnimation-a0193874.js +0 -2
  1472. package/amd/usePopupAnimation-a0193874.js.map +0 -1
  1473. package/amd/usePrefixSuffix-da47e340.js +0 -2
  1474. package/amd/usePrefixSuffix-da47e340.js.map +0 -1
  1475. package/amd/useRovingTabIndexContainer-079ed64f.js +0 -2
  1476. package/amd/useRovingTabIndexContainer-079ed64f.js.map +0 -1
  1477. package/amd/useScale-fe3420c6.js +0 -2
  1478. package/amd/useScale-fe3420c6.js.map +0 -1
  1479. package/amd/useSelectDrill-f69d15aa.js +0 -2
  1480. package/amd/useSelectDrill-f69d15aa.js.map +0 -1
  1481. package/amd/useSelection-2c9ff75a.js +0 -2
  1482. package/amd/useSelection-2c9ff75a.js.map +0 -1
  1483. package/amd/useSelection-91c04393.js +0 -2
  1484. package/amd/useSelection-91c04393.js.map +0 -1
  1485. package/amd/useTabBar-254fbf75.js +0 -2
  1486. package/amd/useTabBar-254fbf75.js.map +0 -1
  1487. package/amd/useTestId-f3b8b319.js +0 -2
  1488. package/amd/useTestId-f3b8b319.js.map +0 -1
  1489. package/amd/useTheme-45e3b0b3.js +0 -2
  1490. package/amd/useTheme-45e3b0b3.js.map +0 -1
  1491. package/amd/useThemeInterpolations-1f5fd8f3.js +0 -2
  1492. package/amd/useThemeInterpolations-1f5fd8f3.js.map +0 -1
  1493. package/amd/useTooltip-e965a559.js +0 -2
  1494. package/amd/useTooltip-e965a559.js.map +0 -1
  1495. package/amd/useTooltipControlled-18271c7a.js +0 -2
  1496. package/amd/useTooltipControlled-18271c7a.js.map +0 -1
  1497. package/amd/useTranslationBundle-20bfc0f3.js +0 -2
  1498. package/amd/useTranslationBundle-20bfc0f3.js.map +0 -1
  1499. package/amd/useUser-9b166ca3.js +0 -2
  1500. package/amd/useUser-9b166ca3.js.map +0 -1
  1501. package/amd/useVisEvents-ac97d087.js +0 -2
  1502. package/amd/useVisEvents-ac97d087.js.map +0 -1
  1503. package/amd/withDirectionIcon-9e4dae53.js +0 -2
  1504. package/amd/withDirectionIcon-9e4dae53.js.map +0 -1
  1505. package/cjs/BaseCardViewSelectionTest-1d3dd9f3.js +0 -696
  1506. package/cjs/BaseCardViewSelectionTest-1d3dd9f3.js.map +0 -1
  1507. package/cjs/BaseNavigationListItem-070d75bc.js +0 -123
  1508. package/cjs/BaseNavigationListItem-070d75bc.js.map +0 -1
  1509. package/cjs/Center-a76dcdfe.js +0 -18
  1510. package/cjs/Center-a76dcdfe.js.map +0 -1
  1511. package/cjs/CheckboxSetContext-c62db26d.js +0 -12
  1512. package/cjs/CheckboxSetContext-c62db26d.js.map +0 -1
  1513. package/cjs/CompactLabelAssistance-7dd6ac2c.js +0 -29
  1514. package/cjs/CompactLabelAssistance-7dd6ac2c.js.map +0 -1
  1515. package/cjs/DatePicker-3c46ec73.js +0 -564
  1516. package/cjs/DatePicker-3c46ec73.js.map +0 -1
  1517. package/cjs/Diagram-5e7f1aec.js +0 -2000
  1518. package/cjs/Diagram-5e7f1aec.js.map +0 -1
  1519. package/cjs/Dropdown-7baf2926.js +0 -82
  1520. package/cjs/Dropdown-7baf2926.js.map +0 -1
  1521. package/cjs/EnvironmentProvider-e5a93f24.js +0 -61
  1522. package/cjs/EnvironmentProvider-e5a93f24.js.map +0 -1
  1523. package/cjs/Flex-6529d995.js +0 -33
  1524. package/cjs/Flex-6529d995.js.map +0 -1
  1525. package/cjs/Floating-9e569e63.js +0 -464
  1526. package/cjs/Floating-9e569e63.js.map +0 -1
  1527. package/cjs/Grid-fe4fef40.js +0 -29
  1528. package/cjs/Grid-fe4fef40.js.map +0 -1
  1529. package/cjs/Gridlines-b31d8972.js +0 -123
  1530. package/cjs/Gridlines-b31d8972.js.map +0 -1
  1531. package/cjs/HighlightText-da873ed3.js +0 -33
  1532. package/cjs/HighlightText-da873ed3.js.map +0 -1
  1533. package/cjs/IconUserAssistance-cee464a4.js +0 -75
  1534. package/cjs/IconUserAssistance-cee464a4.js.map +0 -1
  1535. package/cjs/Layer-845cc772.js +0 -87
  1536. package/cjs/Layer-845cc772.js.map +0 -1
  1537. package/cjs/LayerHost-a6007465.js +0 -45
  1538. package/cjs/LayerHost-a6007465.js.map +0 -1
  1539. package/cjs/LayerManager-6fa20e12.js +0 -36
  1540. package/cjs/LayerManager-6fa20e12.js.map +0 -1
  1541. package/cjs/LineAreaChart-5353ed1f.js +0 -225
  1542. package/cjs/LineAreaChart-5353ed1f.js.map +0 -1
  1543. package/cjs/ListItemLayout-24a81393.js +0 -60
  1544. package/cjs/ListItemLayout-24a81393.js.map +0 -1
  1545. package/cjs/LiveRegion-fcb0bb37.js +0 -41
  1546. package/cjs/LiveRegion-fcb0bb37.js.map +0 -1
  1547. package/cjs/MaxLengthLiveRegion-2dba8c9c.js +0 -25
  1548. package/cjs/MaxLengthLiveRegion-2dba8c9c.js.map +0 -1
  1549. package/cjs/Menu-afcc3db8.js +0 -317
  1550. package/cjs/Menu-afcc3db8.js.map +0 -1
  1551. package/cjs/MessageLayer-b2a48a1f.js +0 -61
  1552. package/cjs/MessageLayer-b2a48a1f.js.map +0 -1
  1553. package/cjs/Modal-fd178291.js +0 -258
  1554. package/cjs/Modal-fd178291.js.map +0 -1
  1555. package/cjs/MonthView-de994aa0.js +0 -154
  1556. package/cjs/MonthView-de994aa0.js.map +0 -1
  1557. package/cjs/NavigationListItem-12a76e7d.js +0 -163
  1558. package/cjs/NavigationListItem-12a76e7d.js.map +0 -1
  1559. package/cjs/OverflowTabBarItem-c0a592fd.js +0 -88
  1560. package/cjs/OverflowTabBarItem-c0a592fd.js.map +0 -1
  1561. package/cjs/PieChart-af6fad17.js +0 -435
  1562. package/cjs/PieChart-af6fad17.js.map +0 -1
  1563. package/cjs/Popup-a793c4a2.js +0 -242
  1564. package/cjs/Popup-a793c4a2.js.map +0 -1
  1565. package/cjs/ProgressBar-c1bfc481.js +0 -60
  1566. package/cjs/ProgressBar-c1bfc481.js.map +0 -1
  1567. package/cjs/ProgressCircle-579da214.js +0 -46
  1568. package/cjs/ProgressCircle-579da214.js.map +0 -1
  1569. package/cjs/RemovableNavigationListItem-6231df42.js +0 -26
  1570. package/cjs/RemovableNavigationListItem-6231df42.js.map +0 -1
  1571. package/cjs/ReorderableTabBar-5743c66a.js +0 -81
  1572. package/cjs/ReorderableTabBar-5743c66a.js.map +0 -1
  1573. package/cjs/SectionedContent-5e956228.js +0 -67
  1574. package/cjs/SectionedContent-5e956228.js.map +0 -1
  1575. package/cjs/SelectionCard-9a4f325f.js +0 -40
  1576. package/cjs/SelectionCard-9a4f325f.js.map +0 -1
  1577. package/cjs/Sheet-c3a675fc.js +0 -161
  1578. package/cjs/Sheet-c3a675fc.js.map +0 -1
  1579. package/cjs/TabBar-73bb6c97.js +0 -65
  1580. package/cjs/TabBar-73bb6c97.js.map +0 -1
  1581. package/cjs/TabBarMixed-426fcaf1.js +0 -75
  1582. package/cjs/TabBarMixed-426fcaf1.js.map +0 -1
  1583. package/cjs/TabBarMixedSeparator-e949e3c9.js +0 -21
  1584. package/cjs/TabBarMixedSeparator-e949e3c9.js.map +0 -1
  1585. package/cjs/View-8f49d970.js +0 -170
  1586. package/cjs/View-8f49d970.js.map +0 -1
  1587. package/cjs/VisNoData-b3159e5a.js +0 -35
  1588. package/cjs/VisNoData-b3159e5a.js.map +0 -1
  1589. package/cjs/VisProgressiveLoader-2cf7074b.js +0 -53
  1590. package/cjs/VisProgressiveLoader-2cf7074b.js.map +0 -1
  1591. package/cjs/VisTabularDatatip-96e5fcf3.js +0 -26
  1592. package/cjs/VisTabularDatatip-96e5fcf3.js.map +0 -1
  1593. package/cjs/WindowOverlay-bb51c0ee.js +0 -112
  1594. package/cjs/WindowOverlay-bb51c0ee.js.map +0 -1
  1595. package/cjs/YearsGridView-6affda7f.js +0 -190
  1596. package/cjs/YearsGridView-6affda7f.js.map +0 -1
  1597. package/cjs/index-5049ab6c.js +0 -13
  1598. package/cjs/index-5049ab6c.js.map +0 -1
  1599. package/cjs/render-7538ab25.js +0 -41
  1600. package/cjs/render-7538ab25.js.map +0 -1
  1601. package/cjs/tabbableUtils-5502f80e.js +0 -81
  1602. package/cjs/tabbableUtils-5502f80e.js.map +0 -1
  1603. package/cjs/testData-afbc1647.js +0 -271
  1604. package/cjs/testData-afbc1647.js.map +0 -1
  1605. package/cjs/useChartDatatip-b838368c.js +0 -137
  1606. package/cjs/useChartDatatip-b838368c.js.map +0 -1
  1607. package/cjs/useColorScheme-b0ea4a49.js +0 -21
  1608. package/cjs/useColorScheme-b0ea4a49.js.map +0 -1
  1609. package/cjs/useCssVars-839ce507.js +0 -60
  1610. package/cjs/useCssVars-839ce507.js.map +0 -1
  1611. package/cjs/useCurrentBgColor-2d0db090.js +0 -21
  1612. package/cjs/useCurrentBgColor-2d0db090.js.map +0 -1
  1613. package/cjs/useCurrentKey-9c158ccc.js +0 -83
  1614. package/cjs/useCurrentKey-9c158ccc.js.map +0 -1
  1615. package/cjs/useDatatip-1f5535bb.js +0 -85
  1616. package/cjs/useDatatip-1f5535bb.js.map +0 -1
  1617. package/cjs/useDensity-edb16927.js +0 -21
  1618. package/cjs/useDensity-edb16927.js.map +0 -1
  1619. package/cjs/useFloating-f4bbd8c4.js +0 -1926
  1620. package/cjs/useFloating-f4bbd8c4.js.map +0 -1
  1621. package/cjs/useKeyboardEvents-1b2187c2.js +0 -81
  1622. package/cjs/useKeyboardEvents-1b2187c2.js.map +0 -1
  1623. package/cjs/useMeterDatatip-93d199d6.js +0 -81
  1624. package/cjs/useMeterDatatip-93d199d6.js.map +0 -1
  1625. package/cjs/useOutsideClick-b22e1d4a.js +0 -87
  1626. package/cjs/useOutsideClick-b22e1d4a.js.map +0 -1
  1627. package/cjs/usePopupAnimation-d58b2664.js +0 -87
  1628. package/cjs/usePopupAnimation-d58b2664.js.map +0 -1
  1629. package/cjs/usePrefixSuffix-544b49ad.js +0 -72
  1630. package/cjs/usePrefixSuffix-544b49ad.js.map +0 -1
  1631. package/cjs/useRovingTabIndexContainer-c03da9ff.js +0 -100
  1632. package/cjs/useRovingTabIndexContainer-c03da9ff.js.map +0 -1
  1633. package/cjs/useScale-c5e9172c.js +0 -21
  1634. package/cjs/useScale-c5e9172c.js.map +0 -1
  1635. package/cjs/useSelectDrill-303b8cba.js +0 -103
  1636. package/cjs/useSelectDrill-303b8cba.js.map +0 -1
  1637. package/cjs/useSelection-05fa772e.js +0 -243
  1638. package/cjs/useSelection-05fa772e.js.map +0 -1
  1639. package/cjs/useSelection-1fe0f2c2.js +0 -183
  1640. package/cjs/useSelection-1fe0f2c2.js.map +0 -1
  1641. package/cjs/useTabBar-8bd94c1b.js +0 -154
  1642. package/cjs/useTabBar-8bd94c1b.js.map +0 -1
  1643. package/cjs/useTestId-71c3de70.js +0 -23
  1644. package/cjs/useTestId-71c3de70.js.map +0 -1
  1645. package/cjs/useTheme-f85b8938.js +0 -21
  1646. package/cjs/useTheme-f85b8938.js.map +0 -1
  1647. package/cjs/useThemeInterpolations-50ce3d68.js +0 -33
  1648. package/cjs/useThemeInterpolations-50ce3d68.js.map +0 -1
  1649. package/cjs/useTooltip-29b90247.js +0 -53
  1650. package/cjs/useTooltip-29b90247.js.map +0 -1
  1651. package/cjs/useTooltipControlled-a907e06c.js +0 -456
  1652. package/cjs/useTooltipControlled-a907e06c.js.map +0 -1
  1653. package/cjs/useTranslationBundle-7fcd8bd5.js +0 -31
  1654. package/cjs/useTranslationBundle-7fcd8bd5.js.map +0 -1
  1655. package/cjs/useUser-c8e9a94a.js +0 -21
  1656. package/cjs/useUser-c8e9a94a.js.map +0 -1
  1657. package/cjs/useVisEvents-b000a96f.js +0 -155
  1658. package/cjs/useVisEvents-b000a96f.js.map +0 -1
  1659. package/cjs/withDirectionIcon-b6772ee8.js +0 -16
  1660. package/cjs/withDirectionIcon-b6772ee8.js.map +0 -1
  1661. package/es/BaseCardViewSelectionTest-ab83a0b0.js +0 -683
  1662. package/es/BaseCardViewSelectionTest-ab83a0b0.js.map +0 -1
  1663. package/es/Center-58d4b406.js +0 -16
  1664. package/es/Center-58d4b406.js.map +0 -1
  1665. package/es/CheckboxSet-836e3263.js +0 -49
  1666. package/es/CheckboxSet-836e3263.js.map +0 -1
  1667. package/es/CompactLabelAssistance-933d1d68.js +0 -27
  1668. package/es/CompactLabelAssistance-933d1d68.js.map +0 -1
  1669. package/es/DatePicker-e517dad2.js +0 -562
  1670. package/es/DatePicker-e517dad2.js.map +0 -1
  1671. package/es/Diagram-15e246b6.js +0 -1998
  1672. package/es/Diagram-15e246b6.js.map +0 -1
  1673. package/es/Dropdown-2a328b40.js +0 -80
  1674. package/es/Dropdown-2a328b40.js.map +0 -1
  1675. package/es/EnvironmentProvider-6846a7ff.js +0 -58
  1676. package/es/EnvironmentProvider-6846a7ff.js.map +0 -1
  1677. package/es/Flex-5ff5aa5e.js +0 -30
  1678. package/es/Flex-5ff5aa5e.js.map +0 -1
  1679. package/es/Floating-5b269acc.js +0 -462
  1680. package/es/Floating-5b269acc.js.map +0 -1
  1681. package/es/Grid-5d8f712b.js +0 -27
  1682. package/es/Grid-5d8f712b.js.map +0 -1
  1683. package/es/Gridlines-4b7301e7.js +0 -120
  1684. package/es/Gridlines-4b7301e7.js.map +0 -1
  1685. package/es/HighlightText-39781e79.js +0 -31
  1686. package/es/HighlightText-39781e79.js.map +0 -1
  1687. package/es/IconUserAssistance-744d71a4.js +0 -73
  1688. package/es/IconUserAssistance-744d71a4.js.map +0 -1
  1689. package/es/InputDatePicker-7f9852d0.js +0 -323
  1690. package/es/InputDatePicker-7f9852d0.js.map +0 -1
  1691. package/es/Layer-5d259d3a.js +0 -84
  1692. package/es/Layer-5d259d3a.js.map +0 -1
  1693. package/es/LayerHost-aaed41a1.js +0 -40
  1694. package/es/LayerHost-aaed41a1.js.map +0 -1
  1695. package/es/LayerManager-87beee1e.js +0 -34
  1696. package/es/LayerManager-87beee1e.js.map +0 -1
  1697. package/es/LineAreaChart-35327196.js +0 -223
  1698. package/es/LineAreaChart-35327196.js.map +0 -1
  1699. package/es/ListItemLayout-961c8443.js +0 -58
  1700. package/es/ListItemLayout-961c8443.js.map +0 -1
  1701. package/es/LiveRegion-4646cd7d.js +0 -39
  1702. package/es/LiveRegion-4646cd7d.js.map +0 -1
  1703. package/es/MaxLengthLiveRegion-1278e638.js +0 -23
  1704. package/es/MaxLengthLiveRegion-1278e638.js.map +0 -1
  1705. package/es/Menu-b0c28cfd.js +0 -313
  1706. package/es/Menu-b0c28cfd.js.map +0 -1
  1707. package/es/MessageLayer-322485df.js +0 -58
  1708. package/es/MessageLayer-322485df.js.map +0 -1
  1709. package/es/Modal-986872f3.js +0 -255
  1710. package/es/Modal-986872f3.js.map +0 -1
  1711. package/es/MonthView-99cc26ac.js +0 -152
  1712. package/es/MonthView-99cc26ac.js.map +0 -1
  1713. package/es/PieChart-e41e3463.js +0 -433
  1714. package/es/PieChart-e41e3463.js.map +0 -1
  1715. package/es/Popup-6288438d.js +0 -240
  1716. package/es/Popup-6288438d.js.map +0 -1
  1717. package/es/ProgressBar-ed0c5ba0.js +0 -58
  1718. package/es/ProgressBar-ed0c5ba0.js.map +0 -1
  1719. package/es/ProgressCircle-95a70910.js +0 -44
  1720. package/es/ProgressCircle-95a70910.js.map +0 -1
  1721. package/es/SectionedContent-13d72f4b.js +0 -64
  1722. package/es/SectionedContent-13d72f4b.js.map +0 -1
  1723. package/es/SelectionCard-8496e467.js +0 -38
  1724. package/es/SelectionCard-8496e467.js.map +0 -1
  1725. package/es/Sheet-8914df23.js +0 -158
  1726. package/es/Sheet-8914df23.js.map +0 -1
  1727. package/es/TabBarMixedSeparator-da2254c9.js +0 -19
  1728. package/es/TabBarMixedSeparator-da2254c9.js.map +0 -1
  1729. package/es/View-4dc6ce42.js +0 -167
  1730. package/es/View-4dc6ce42.js.map +0 -1
  1731. package/es/VisNoData-c69e8f5e.js +0 -32
  1732. package/es/VisNoData-c69e8f5e.js.map +0 -1
  1733. package/es/VisProgressiveLoader-cc1ab7cc.js +0 -51
  1734. package/es/VisProgressiveLoader-cc1ab7cc.js.map +0 -1
  1735. package/es/VisTabularDatatip-418525b0.js +0 -24
  1736. package/es/VisTabularDatatip-418525b0.js.map +0 -1
  1737. package/es/WindowOverlay-88b63ede.js +0 -110
  1738. package/es/WindowOverlay-88b63ede.js.map +0 -1
  1739. package/es/YearsGridView-76892288.js +0 -187
  1740. package/es/YearsGridView-76892288.js.map +0 -1
  1741. package/es/index-75f23286.js +0 -11
  1742. package/es/index-75f23286.js.map +0 -1
  1743. package/es/render-8e2a09d1.js +0 -34
  1744. package/es/render-8e2a09d1.js.map +0 -1
  1745. package/es/tabbableUtils-73a9ba14.js +0 -79
  1746. package/es/tabbableUtils-73a9ba14.js.map +0 -1
  1747. package/es/testData-0aee4d83.js +0 -256
  1748. package/es/testData-0aee4d83.js.map +0 -1
  1749. package/es/useChartDatatip-f7bacd9b.js +0 -135
  1750. package/es/useChartDatatip-f7bacd9b.js.map +0 -1
  1751. package/es/useColorScheme-bf110202.js +0 -19
  1752. package/es/useColorScheme-bf110202.js.map +0 -1
  1753. package/es/useCssVars-b3bf30fb.js +0 -58
  1754. package/es/useCssVars-b3bf30fb.js.map +0 -1
  1755. package/es/useCurrentBgColor-b3ebd7be.js +0 -19
  1756. package/es/useCurrentBgColor-b3ebd7be.js.map +0 -1
  1757. package/es/useCurrentKey-1f99b0f6.js +0 -81
  1758. package/es/useCurrentKey-1f99b0f6.js.map +0 -1
  1759. package/es/useDatatip-f9bcaab9.js +0 -83
  1760. package/es/useDatatip-f9bcaab9.js.map +0 -1
  1761. package/es/useDensity-9f6c6bf0.js +0 -19
  1762. package/es/useDensity-9f6c6bf0.js.map +0 -1
  1763. package/es/useFloating-1cca9e4f.js +0 -1916
  1764. package/es/useFloating-1cca9e4f.js.map +0 -1
  1765. package/es/useKeyboardEvents-11b26017.js +0 -78
  1766. package/es/useKeyboardEvents-11b26017.js.map +0 -1
  1767. package/es/useMeterDatatip-7366880d.js +0 -78
  1768. package/es/useMeterDatatip-7366880d.js.map +0 -1
  1769. package/es/useOutsideClick-ab98bfa3.js +0 -85
  1770. package/es/useOutsideClick-ab98bfa3.js.map +0 -1
  1771. package/es/usePopupAnimation-4969107b.js +0 -85
  1772. package/es/usePopupAnimation-4969107b.js.map +0 -1
  1773. package/es/usePrefixSuffix-a14dacb0.js +0 -70
  1774. package/es/usePrefixSuffix-a14dacb0.js.map +0 -1
  1775. package/es/useRovingTabIndexContainer-91fd85f3.js +0 -98
  1776. package/es/useRovingTabIndexContainer-91fd85f3.js.map +0 -1
  1777. package/es/useScale-42018695.js +0 -19
  1778. package/es/useScale-42018695.js.map +0 -1
  1779. package/es/useSelectDrill-333650bd.js +0 -100
  1780. package/es/useSelectDrill-333650bd.js.map +0 -1
  1781. package/es/useSelection-48f572e5.js +0 -181
  1782. package/es/useSelection-48f572e5.js.map +0 -1
  1783. package/es/useSelection-a098b3af.js +0 -241
  1784. package/es/useSelection-a098b3af.js.map +0 -1
  1785. package/es/useTabBar-4b318196.js +0 -152
  1786. package/es/useTabBar-4b318196.js.map +0 -1
  1787. package/es/useTestId-f5aed66c.js +0 -21
  1788. package/es/useTestId-f5aed66c.js.map +0 -1
  1789. package/es/useTheme-e7ea1253.js +0 -19
  1790. package/es/useTheme-e7ea1253.js.map +0 -1
  1791. package/es/useThemeInterpolations-66ce2e56.js +0 -31
  1792. package/es/useThemeInterpolations-66ce2e56.js.map +0 -1
  1793. package/es/useTooltip-30a4a4fc.js +0 -51
  1794. package/es/useTooltip-30a4a4fc.js.map +0 -1
  1795. package/es/useTooltipControlled-eafec36e.js +0 -454
  1796. package/es/useTooltipControlled-eafec36e.js.map +0 -1
  1797. package/es/useTranslationBundle-e8a8c4f3.js +0 -29
  1798. package/es/useTranslationBundle-e8a8c4f3.js.map +0 -1
  1799. package/es/useUser-fb09e212.js +0 -19
  1800. package/es/useUser-fb09e212.js.map +0 -1
  1801. package/es/useVisEvents-e31dcd17.js +0 -153
  1802. package/es/useVisEvents-e31dcd17.js.map +0 -1
  1803. package/es/withDirectionIcon-6eefb71a.js +0 -14
  1804. package/es/withDirectionIcon-6eefb71a.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diagram-737e9921.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 { Ref } from 'preact/hooks';\nimport type { BundleType } from '../../resources/nls/bundle';\nimport type {\n Font,\n GetTextDimensionsType,\n TextDimensions\n} 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(props: Pan, contentBounds: Bounds) {\n return {\n panning: props.panning ? props.panning : '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 minZoom = props.minZoom ? props.minZoom : getZoomToFitZoom(width, height, contentBounds);\n const maxZoom = props.maxZoom !== undefined ? props.maxZoom : 1;\n const zoom = props.zoomValue ? props.zoomValue : getZoomToFitZoom(width, height, contentBounds);\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,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(layoutJSON: DiagramLayoutOutput, 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 as string | number];\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 as string | number];\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 * 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?: Ref<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> = {\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>) => ComponentChildren;\n supportsSelection: boolean;\n};\n\nexport const DiagramLinkElement = <K2, D2>({\n id,\n state,\n previousState,\n activeId,\n data,\n linkRenderer,\n accessibleLabel,\n isDimmed,\n supportsSelection\n}: LinkProps<K2, D2>) => {\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 };\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 { States, LinkRendererContext, DiagramLinkData } from './diagram.types';\nimport { DiagramLinkElement } from './DiagramLinkElement';\nimport { layerStyles } from './themes/DiagramStyles.css';\n\ntype Props<K2, K1, D2> = {\n links: D2[];\n states: States<K1, K2>;\n previousStates: States<K1, K2>;\n linkRenderer: (context: LinkRendererContext<D2>) => ComponentChildren;\n width: number;\n height: number;\n supportsSelection: boolean;\n};\n\nexport function DiagramLinkLayer<\n K2,\n K1,\n D2 extends DiagramLinkData<K2, K1> = DiagramLinkData<K2, K1>\n>({\n links,\n states,\n previousStates,\n linkRenderer,\n width,\n height,\n supportsSelection\n}: Props<K2, K1, D2>) {\n return (\n <svg class={layerStyles} width={width} height={height}>\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 />\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} 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> = {\n nodes: D1[];\n links: D2[];\n nodeRenderer: (context: NodeRendererContext<D1>) => ComponentChildren;\n linkRenderer?: (context: LinkRendererContext<D2>) => 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};\n\nexport function DiagramLayers<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\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}: DiagramLayersProps<K1, K2, D1, D2>) {\n return (\n <>\n {links.length > 0 && linkRenderer && width !== Infinity && (\n <DiagramLinkLayer\n links={links}\n states={states}\n previousStates={previousStates}\n linkRenderer={linkRenderer}\n width={width}\n height={height}\n supportsSelection={supportsSelection}\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 { Ref } from 'preact/hooks';\nimport { calculateOffset, useDatatip } from '../../hooks/PRIVATE_useDatatip';\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: Ref<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 = focusedItemInfo?.isCurrent\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\n const { datatipContent, datatipProps } = useDatatip({\n content: datatipC?.content,\n borderColor: datatipC?.borderColor,\n placement: 'top-start',\n offset: calculateOffset(isRtl, width, elementBounds),\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 { Ref, useRef } from 'preact/hooks';\n\ntype PointerGesture = {\n pointers: PointerEvent[];\n};\n\ntype UsePointerGestureOptions = {\n captureTargetRef: Ref<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 || panX < panBounds.minX ? previousPan.panX : panX,\n panY: panY > panBounds.maxY || panY < panBounds.minY ? previousPan.panY : 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 panType: string,\n zoom: number,\n minZoom: number,\n initPanZoomState: {\n zoom: number;\n centerX?: number;\n centerY?: number;\n }\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';\n\nimport { Ref, 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 panning: 'centerContent' | 'fixed' | 'off';\n centerX: number;\n centerY: number;\n panDirection: 'x' | 'y' | 'any';\n onPan?: (detail: PanState) => void;\n };\n captureTargetRef: Ref<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 { Ref, 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: Ref<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 { Ref, 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: Ref<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 { Ref } from 'preact/hooks';\nimport { usePinch } from './usePinch';\nimport { zoom, ZOOM_INCREMENT } from '../utils/zoomUtils';\n\ntype UsePinchZoomOptions = {\n captureTargetRef: Ref<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 { Ref, useState, useRef } from 'preact/hooks';\nimport { useDragPan } from './useDragPan';\nimport { useWheelZoom } from './useWheelZoom';\nimport { usePinchZoom } from './usePinchZoom';\n\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';\n\nimport { Property } from 'csstype';\n\ntype PanZoomProps = {\n props: Pan & Zoom;\n captureTargetRef: Ref<HTMLDivElement>;\n width: number;\n height: number;\n contentBounds: Bounds;\n};\n\nexport const usePanZoom = ({\n props,\n captureTargetRef,\n width,\n height,\n contentBounds\n}: PanZoomProps) => {\n const [cursor, setCursor] = useState<Property.Cursor>();\n const zoomProps = getZoomProps(props, width, height, contentBounds);\n const panProps = getPanProps(props, 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 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 panProps.panning,\n zoomProps.zoomValue,\n zoomProps.minZoom,\n initPanZoomState.current\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 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} 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 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> = Omit<\n DiagramProps<K1, K2, D1, D2>,\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>({\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>) {\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\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\n const contentBounds = getContentBounds(bounds, combinedLabelBounds);\n const { panZoomProps, cursor, centerX, centerY, zoomValue, kbPanCallback, kbZoomCallback } =\n usePanZoom({\n props: otherProps,\n captureTargetRef: rootRef,\n width: width,\n height: height,\n contentBounds\n });\n\n const { touchResponse, touchResponseStyle } = useVisTouchResponse({\n type: 'auto',\n supportsTouchDragGestures:\n otherProps.zooming === 'on' || (!!otherProps.panning && otherProps.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 { nodePoints, nodeLabelPos, linkLabelPos } = deconstructLayoutJSON<K1, K2, D1, D2>(\n layout(layoutJSON),\n diagramNodes,\n diagramLinks\n );\n nodeLabelPosRef.current = nodeLabelPos;\n linkLabelPosRef.current = linkLabelPos;\n const nodeBounds = mergeDimensions(newDimensions, nodePoints);\n setBounds(nodeBounds);\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 />\n </DiagramPanZoomContainer>\n ) : undefined}\n {textMeasureContent}\n {datatipContent}\n {selectionContent}\n </div>\n );\n}\n","import { useSelection } from '../../hooks/PRIVATE_useVisSelection';\nimport type { ItemInfo } from '../diagram.types';\nimport { getNavigableInfo } from '../utils/diagramUtils';\nimport { Ref } from 'preact/hooks';\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: Ref<HTMLDivElement>;\n};\n\ntype EncodedNodeId = `N_${number}`;\ntype EncodedLinkId = `L_${number}`;\n\nexport function useDiagramSelection<K1, K2, D1, D2>({\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 linkIdToIndexMap = linkMap.itemIdToIndexMap;\n const linkIndexToIdMap = linkMap.itemIndexToIdMap;\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 newSelectedNodeIds = detail.ids\n .filter((encId) => encId[0] === 'N')\n .map((encId) => decodeNodeId(encId as EncodedNodeId)!);\n const newSelectedLinkIds = detail.ids\n .filter((encId) => encId[0] === 'L')\n .map((encId) => decodeLinkId(encId as EncodedLinkId)!);\n\n const nodeData = newSelectedNodeIds.map((selectedId) => {\n return nodeMap.itemIdToDataMap.get(selectedId);\n });\n const linkData = newSelectedLinkIds.map((selectedId) => {\n return linkMap.itemIdToDataMap.get(selectedId);\n });\n return (\n onSelectionChange &&\n onSelectionChange({\n nodes: newSelectedNodeIds,\n links: newSelectedLinkIds,\n nodeData,\n linkData\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 { DiagramProps, DiagramNodeData, DiagramLinkData } from './diagram.types';\nimport { TrackResizeContainer } from '../PRIVATE_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>({ width, height, ...otherProps }: DiagramProps<K1, K2, D1, D2>) {\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","linkStyles","DiagramLinkLayer","links","selectedLinkIds","DiagramLabel","text","labelStyle","labelBorderStyle","labelStyles","labelPosition","labelRotation","rotation","getLabelRotation","borderColor","DiagramLabelLayer","itemProps","labelDimensions","direction","useUser","item","DiagramLayers","nodeLabelPositions","linkLabelPositions","_jsxs","jsxs","_Fragment","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","datatipContent","datatipProps","useDatatip","placement","offset","calculateOffset","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","getZoomProps","getPanProps","prevZoom","initPanZoomState","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","labelBounds","getContentBounds","touchResponseStyle","useVisTouchResponse","supportsTouchDragGestures","selectionProps","selectionContent","nodeIndexToIdMap","linkIdToIndexMap","linkIndexToIdMap","encodeNodeId","decodeNodeId","slice","encodeLinkId","decodeLinkId","encodedSelection","useSelection","selection","idExtracter","getDataById","onChange","detail","newSelectedNodeIds","ids","filter","encId","newSelectedLinkIds","nodeData","selectedId","useDiagramSelection","startNB","endNB","startNCenter","endNCenter","getFocusedItemBounds","datatipAriaDescribedby","mergedEventProps","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","getAllLabelBounds","TrackResizeContainer","dimensionStyle"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', './CaretLeft-171253a4', './withDirectionIcon-9e4dae53'], (function(t,e,r,i){"use strict";t.DirectionalCollapseArrowIcon=t=>{const n=i.withDirectionIcon(r.SvgCaretLeft,r.SvgCaretRight);return e.jsx(n,{...t})}}));
1
+ define(['exports', 'preact/jsx-runtime', './CaretLeft-171253a4', './withDirectionIcon-c0ee0f7e'], (function(e,t,r,i){"use strict";e.DirectionalCollapseArrowIcon=e=>{const n=i.withDirectionIcon(r.SvgCaretLeft,r.SvgCaretRight);return t.jsx(n,{...e})}}));
2
2
  //# sourceMappingURL=DirectionalCollapseArrowIcon-09a24655.js.map
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', './CaretLeft-171253a4', './withDirectionIcon-9e4dae53'], (function(t,e,r,i){"use strict";t.DirectionalExpandArrowIcon=t=>{const n=i.withDirectionIcon(r.SvgCaretRight,r.SvgCaretLeft);return e.jsx(n,{...t})}}));
1
+ define(['exports', 'preact/jsx-runtime', './CaretLeft-171253a4', './withDirectionIcon-c0ee0f7e'], (function(t,e,r,i){"use strict";t.DirectionalExpandArrowIcon=t=>{const n=i.withDirectionIcon(r.SvgCaretRight,r.SvgCaretLeft);return e.jsx(n,{...t})}}));
2
2
  //# sourceMappingURL=DirectionalExpandArrowIcon-c8f2e596.js.map
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', './classNames-08d99695', './mergeProps-bcfa6a92', './useActive-59e52f97', './useTestId-f3b8b319', './Icon-599f55f3', './UNSAFE_DragHandle/themes/DragHandleStyles.css'], (function(e,s,t,c,r,n,a,i){"use strict";const l=e=>s.jsx(a.Icon,{viewBox:"0 0 24 24",...e,children:s.jsx("g",{fill:"none",children:s.jsx("path",{d:"M20 11H4v-1h16v1zm0 3H4v-1h16v1z",fill:"currentcolor"})})});e.DragHandle=function({testId:e}){const{isActive:a,activeProps:o}=r.useActive(),d=n.useTestId(e),v=t.classNames([i.iconStyle,a?i.activeStyle:i.hoverStyle]);return s.jsx("div",{...c.mergeProps(o,d),draggable:!0,class:v,role:"presentation",children:s.jsx(l,{})})}}));
1
+ define(['exports', 'preact/jsx-runtime', './classNames-08d99695', './mergeProps-bcfa6a92', './useActive-59e52f97', './useTestId-82cf22a4', './Icon-599f55f3', './UNSAFE_DragHandle/themes/DragHandleStyles.css'], (function(e,s,t,c,r,n,a,i){"use strict";const l=e=>s.jsx(a.Icon,{viewBox:"0 0 24 24",...e,children:s.jsx("g",{fill:"none",children:s.jsx("path",{d:"M20 11H4v-1h16v1zm0 3H4v-1h16v1z",fill:"currentcolor"})})});e.DragHandle=function({testId:e}){const{isActive:a,activeProps:o}=r.useActive(),d=n.useTestId(e),v=t.classNames([i.iconStyle,a?i.activeStyle:i.hoverStyle]);return s.jsx("div",{...c.mergeProps(o,d),draggable:!0,class:v,role:"presentation",children:s.jsx(l,{})})}}));
2
2
  //# sourceMappingURL=DragHandle-351a20be.js.map
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact/hooks', './Floating-85851b1a', './Layer-3cc44164', 'preact/compat', './LayerHost-eab40731', './keyboardUtils-244467a7', './tabbableUtils-62c44f56', './usePopupAnimation-273054a0', './popupAnimationUtils-d188eeb3', './UNSAFE_Dropdown/themes/dropdownStyles.css', './useOutsideMousedown-73d5a78a', './animationUtils-716a9aa6'], (function(e,i,n,t,s,o,a,r,d,c,l,u,p,f){"use strict";const m={mainAxis:4,crossAxis:0},h={isMaxWidthAdjusted:!0,isMaxHeightAdjusted:!0},g={mainAxis:!0,crossAxis:!0},O={opening:e=>f.mergeAnimationStateObjects([f.SCALE_UP_FULL,{from:{transformOrigin:l.getTransformOrigin(e.placement,e.direction)},to:{transformOrigin:l.getTransformOrigin(e.placement,e.direction)}}],{duration:f.DURATION_LARGE})};e.Dropdown=function({isOpen:e=!1,anchorRef:o,children:a,id:l,onClose:f,minWidth:A,placement:b="bottom-start",offset:x=m,onPosition:w,flipOptions:y=g,sizeOptions:P=h,shiftOptions:S,initialFocus:j="none"}){const E=n.useRef(null),{status:U,setAnimationElementRef:F,onPosition:L}=c.usePopupAnimation({isOpen:e,placement:b,isAnimatedOnMount:!0,animationStates:O,onPosition:w});n.useEffect((()=>{if("opening"===U&&"firstFocusable"===j){const e=E.current;e&&d.focusWithin(e)}}),[U,j]);const R=n.useCallback((e=>{f?.({reason:"outsideMousedown",target:e.target})}),[f]),M=n.useCallback((e=>{if(!e.defaultPrevented)switch(e.code){case r.KEYS.ESC:case r.KEYS.TAB:f?.({reason:"dismissed"})}}),[f]);return p.useOutsideMousedown({isDisabled:!1,ref:[E],handler:R}),i.jsx(i.Fragment,{children:"unmounted"!==U?i.jsx(s.Layer,{logicalParentRef:o,children:i.jsx(t.Floating,{anchorRef:o,ref:F,placement:b,flipOptions:y,shiftOptions:S,sizeOptions:P,offsetValue:x,onPosition:L,boundaryOptions:{padding:{top:8,bottom:8,left:0,right:0}},children:i.jsx("div",{ref:E,id:l,class:u.dropdownStyles.base,style:{minWidth:`${A||0}px`},onKeyDown:M,children:a})})}):null})}}));
2
+ //# sourceMappingURL=Dropdown-de472a1d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown-de472a1d.js","sources":["../../src/UNSAFE_Dropdown/Dropdown.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps, RefObject, JSX } from 'preact';\nimport { useCallback, useRef, useEffect } from 'preact/hooks';\n\nimport { Floating } from '../UNSAFE_Floating';\nimport { Layer } from '../UNSAFE_Layer';\nimport { KEYS } from '../utils/PRIVATE_keyboardUtils';\nimport { focusWithin } from '../utils/PRIVATE_tabbableUtils';\nimport { usePopupAnimation } from '#UNSAFE_Popup/usePopupAnimation';\nimport { getTransformOrigin } from '#utils/PRIVATE_popupAnimationUtils';\nimport { AnimationPopupElement } from '../UNSAFE_Popup/usePopupAnimation';\n\nimport { dropdownStyles } from './themes/dropdownStyles.css';\nimport { useOutsideMousedown } from '../hooks/PRIVATE_useOutsideMousedown';\nimport {\n DURATION_LARGE,\n SCALE_UP_FULL,\n mergeAnimationStateObjects\n} from '#utils/PRIVATE_animationUtils';\n\ntype FloatingProps = ComponentProps<typeof Floating>;\n\n//Same as Menu onClose, only difference is mouseDown instead of outside click\n//Once menu consumes dropdown is going to start using mouseDown\nexport type CloseDetail = { reason: 'dismissed' } | { reason: 'outsideMousedown'; target: Element };\n\ntype IntrinsicProps = Pick<JSX.HTMLAttributes<HTMLDivElement>, 'children'>;\n\ntype Props = IntrinsicProps & {\n /**\n *Specifies whether Dropdown is open.\n */\n isOpen?: boolean;\n /**\n * Trigger element reference.\n */\n anchorRef: FloatingProps['anchorRef'];\n /**\n * Id of the dropdown container.\n * Used usually for accesibility reasons.\n */\n id?: string;\n /**\n * Called when dropdown is supposed to be closed.\n * Called when user tab/esc or mouseDown outside the dropdown.\n */\n onClose?: (detail: CloseDetail) => void;\n /**\n *Min width represented in pixels of the dropdown container.\n */\n minWidth?: number;\n /**\n * Placement of the floating element relative to its reference element.\n */\n placement?: FloatingProps['placement'];\n /**\n * Offset displaces the floating element from its core placement along the specified axes.\n */\n offset?: FloatingProps['offsetValue'];\n /**\n * Triggered when placement or coordinates are changed after collision is detected.\n */\n onPosition?: FloatingProps['onPosition'];\n /**\n * Specifies the flipping behavior along the respective axis.\n */\n flipOptions?: FloatingProps['flipOptions'];\n /**\n * Specifies the resizing behaviour for max-height and max-width of the floating component.\n */\n sizeOptions?: FloatingProps['sizeOptions'];\n\n /**\n * Specifies the shift behavior along the respective axis\n */\n shiftOptions?: FloatingProps['shiftOptions'];\n /**\n * Specifies initial focus.\n */\n initialFocus?: 'none' | 'firstFocusable';\n};\n\nconst DEFAULT_PLACEMENT = 'bottom-start';\nconst DEFAULT_OFFSET = { mainAxis: 4, crossAxis: 0 };\nconst DEFAULT_SIZE_OPTIONS = { isMaxWidthAdjusted: true, isMaxHeightAdjusted: true };\nconst DEFAULT_FLIP_OPTIONS = { mainAxis: true, crossAxis: true };\n\nconst animationStates: Parameters<typeof usePopupAnimation>[0]['animationStates'] = {\n opening: (node: AnimationPopupElement) => {\n return mergeAnimationStateObjects(\n [\n SCALE_UP_FULL,\n {\n from: { transformOrigin: getTransformOrigin(node.placement, node.direction) },\n to: { transformOrigin: getTransformOrigin(node.placement, node.direction) }\n }\n ],\n {\n duration: DURATION_LARGE\n }\n );\n }\n};\n\n//TODO: Add animation to dropdown. JET-62628\n//TODO: Investigate best approach to have different virtual padding depending on the position and implement it.JET-57950\nexport function Dropdown({\n isOpen = false,\n anchorRef,\n children,\n id,\n onClose,\n minWidth,\n placement = DEFAULT_PLACEMENT,\n offset = DEFAULT_OFFSET,\n onPosition,\n flipOptions = DEFAULT_FLIP_OPTIONS,\n sizeOptions = DEFAULT_SIZE_OPTIONS,\n shiftOptions,\n initialFocus = 'none'\n}: Props) {\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n const {\n status,\n setAnimationElementRef,\n onPosition: onPositionAnimated\n } = usePopupAnimation({\n isOpen,\n placement,\n isAnimatedOnMount: true,\n animationStates,\n onPosition\n });\n\n useEffect(() => {\n if (status === 'opening') {\n if (initialFocus === 'firstFocusable') {\n const dropdownElement = dropdownRef.current;\n if (dropdownElement) {\n focusWithin(dropdownElement);\n }\n }\n }\n }, [status, initialFocus]);\n const handleMousedownClose = useCallback(\n (event: MouseEvent) => {\n onClose?.({ reason: 'outsideMousedown', target: event.target as Element });\n },\n [onClose]\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.defaultPrevented) {\n return;\n }\n switch (event.code) {\n case KEYS.ESC:\n onClose?.({ reason: 'dismissed' });\n break;\n case KEYS.TAB:\n onClose?.({ reason: 'dismissed' });\n break;\n default:\n break;\n }\n },\n [onClose]\n );\n\n // use the mousedown event to be consistent with legacy JET\n useOutsideMousedown({\n isDisabled: false,\n ref: [dropdownRef],\n handler: handleMousedownClose\n });\n\n return (\n <>\n {status !== 'unmounted' ? (\n <Layer logicalParentRef={anchorRef as RefObject<Element>}>\n <Floating\n anchorRef={anchorRef}\n ref={setAnimationElementRef}\n placement={placement}\n flipOptions={flipOptions}\n shiftOptions={shiftOptions}\n sizeOptions={sizeOptions}\n offsetValue={offset}\n onPosition={onPositionAnimated}\n boundaryOptions={{ padding: { top: 8, bottom: 8, left: 0, right: 0 } }}>\n <div\n ref={dropdownRef}\n id={id}\n class={dropdownStyles.base}\n style={{ minWidth: `${minWidth || 0}px` }}\n onKeyDown={handleKeyDown}>\n {children}\n </div>\n </Floating>\n </Layer>\n ) : null}\n </>\n );\n}\n"],"names":["DEFAULT_OFFSET","mainAxis","crossAxis","DEFAULT_SIZE_OPTIONS","isMaxWidthAdjusted","isMaxHeightAdjusted","DEFAULT_FLIP_OPTIONS","animationStates","opening","node","mergeAnimationStateObjects","SCALE_UP_FULL","from","transformOrigin","getTransformOrigin","placement","direction","to","duration","DURATION_LARGE","isOpen","anchorRef","children","id","onClose","minWidth","offset","onPosition","flipOptions","sizeOptions","shiftOptions","initialFocus","dropdownRef","useRef","status","setAnimationElementRef","onPositionAnimated","usePopupAnimation","isAnimatedOnMount","useEffect","dropdownElement","current","focusWithin","handleMousedownClose","useCallback","event","reason","target","handleKeyDown","defaultPrevented","code","KEYS","ESC","TAB","useOutsideMousedown","isDisabled","ref","handler","_jsx","_Fragment","Layer","logicalParentRef","Floating","offsetValue","boundaryOptions","padding","top","bottom","left","right","class","dropdownStyles","base","style","onKeyDown"],"mappings":"4ZAyFA,MACMA,EAAiB,CAAEC,SAAU,EAAGC,UAAW,GAC3CC,EAAuB,CAAEC,oBAAoB,EAAMC,qBAAqB,GACxEC,EAAuB,CAAEL,UAAU,EAAMC,WAAW,GAEpDK,EAA8E,CAClFC,QAAUC,GACDC,6BACL,CACEC,EAAaA,cACb,CACEC,KAAM,CAAEC,gBAAiBC,EAAkBA,mBAACL,EAAKM,UAAWN,EAAKO,YACjEC,GAAI,CAAEJ,gBAAiBC,EAAkBA,mBAACL,EAAKM,UAAWN,EAAKO,cAGnE,CACEE,SAAUC,EAAcA,uCAQPC,OACvBA,GAAS,EAAKC,UACdA,EAASC,SACTA,EAAQC,GACRA,EAAEC,QACFA,EAAOC,SACPA,EAAQV,UACRA,EA/BwB,eA+BKW,OAC7BA,EAAS1B,EAAc2B,WACvBA,EAAUC,YACVA,EAActB,EAAoBuB,YAClCA,EAAc1B,EAAoB2B,aAClCA,EAAYC,aACZA,EAAe,SAEf,MAAMC,EAAcC,SAAuB,OAErCC,OACJA,EAAMC,uBACNA,EACAR,WAAYS,GACVC,EAAAA,kBAAkB,CACpBjB,SACAL,YACAuB,mBAAmB,EACnB/B,kBACAoB,eAGFY,EAAAA,WAAU,KACR,GAAe,YAAXL,GACmB,mBAAjBH,EAAmC,CACrC,MAAMS,EAAkBR,EAAYS,QAChCD,GACFE,EAAWA,YAACF,EAEf,CACF,GACA,CAACN,EAAQH,IACZ,MAAMY,EAAuBC,eAC1BC,IACCrB,IAAU,CAAEsB,OAAQ,mBAAoBC,OAAQF,EAAME,QAAoB,GAE5E,CAACvB,IAGGwB,EAAgBJ,eACnBC,IACC,IAAIA,EAAMI,iBAGV,OAAQJ,EAAMK,MACZ,KAAKC,EAAIA,KAACC,IAGV,KAAKD,EAAIA,KAACE,IACR7B,IAAU,CAAEsB,OAAQ,cAIvB,GAEH,CAACtB,IAUH,OANA8B,sBAAoB,CAClBC,YAAY,EACZC,IAAK,CAACxB,GACNyB,QAASd,IAITe,EAAAA,IACGC,EAAAA,SAAA,CAAArC,SAAW,cAAXY,EACCwB,MAACE,EAAAA,MAAM,CAAAC,iBAAkBxC,EAA+BC,SACtDoC,EAAAA,IAACI,EAAAA,SACC,CAAAzC,UAAWA,EACXmC,IAAKrB,EACLpB,UAAWA,EACXa,YAAaA,EACbE,aAAcA,EACdD,YAAaA,EACbkC,YAAarC,EACbC,WAAYS,EACZ4B,gBAAiB,CAAEC,QAAS,CAAEC,IAAK,EAAGC,OAAQ,EAAGC,KAAM,EAAGC,MAAO,IACjE/C,SAAAoC,EAAAA,IAAA,MAAA,CACEF,IAAKxB,EACLT,GAAIA,EACJ+C,MAAOC,EAAcA,eAACC,KACtBC,MAAO,CAAEhD,SAAU,GAAGA,GAAY,OAClCiD,UAAW1B,EACV1B,SAAAA,QAIL,MAGV"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './LayerHost-eab40731', 'preact/hooks', './LayerManager-d0836029'], (function(e,n,r,t,o){"use strict";function s(e,n){const r=Object.assign({},e.user,n?.user),t=Object.assign({},e.theme,n?.theme),o=Object.assign({},e.translations),s=n?.translations||{};return Object.keys(s).forEach((e=>{let n=s[e];o[e]&&(n=Object.assign({},o[e],n)),o[e]=n})),{user:r,theme:t,translations:o,colorScheme:n?.colorScheme??e.colorScheme,scale:n?.scale??e.scale,currentBgColor:n?.currentBgColor??e.currentBgColor,mode:n?.mode??e.mode,density:n?.density??e.density}}e.EnvironmentProvider=function({children:e,environment:o}){const i=t.useContext(r.EnvironmentContext),c=t.useMemo((()=>s(i,o)),[i,o]);return n.jsx(r.EnvironmentContext.Provider,{value:c,children:e})},e.RootEnvironmentProvider=function({children:e,environment:i}){const c=t.useMemo((()=>s(r.DefaultEnvironment,i)),[i]);return n.jsx(r.EnvironmentContext.Provider,{value:c,children:n.jsx(o.LayerManager,{children:e})})}}));
2
+ //# sourceMappingURL=EnvironmentProvider-46d0a245.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvironmentProvider-46d0a245.js","sources":["../../src/UNSAFE_Environment/EnvironmentProvider.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport {\n CompleteEnvironmentType,\n DefaultEnvironment,\n Environment,\n EnvironmentContext,\n RootEnvironment\n} from './EnvironmentContext';\nimport { useContext, useMemo } from 'preact/hooks';\n\nimport { ComponentChildren } from 'preact';\nimport { LayerManager } from '../UNSAFE_Layer/LayerManager';\n\n// EnvironmentProvider properties\nexport declare type ProviderProperties<Env extends RootEnvironment | Environment> = {\n environment?: Env;\n children?: ComponentChildren;\n};\n\n// Custom merge function\nfunction mergeEnvironment(\n env1: CompleteEnvironmentType,\n env2: Partial<RootEnvironment> | undefined\n) {\n const userValue = Object.assign({}, env1.user, env2?.user);\n const themeValue = Object.assign({}, env1.theme, env2?.theme);\n\n // Merge translation values - one level merge\n const targetTranslations = Object.assign({}, env1.translations);\n const sourceTranslations = env2?.translations || {};\n Object.keys(sourceTranslations).forEach((key) => {\n let newVal = sourceTranslations[key];\n if (targetTranslations[key]) {\n // merge is needed\n newVal = Object.assign({}, targetTranslations[key], newVal);\n }\n targetTranslations[key] = newVal;\n });\n\n return {\n user: userValue,\n theme: themeValue,\n translations: targetTranslations,\n colorScheme: env2?.colorScheme ?? env1.colorScheme,\n scale: env2?.scale ?? env1.scale,\n currentBgColor: env2?.currentBgColor ?? env1.currentBgColor,\n mode: env2?.mode ?? env1.mode,\n density: env2?.density ?? env1.density\n };\n}\n\n/**\n * The RootEnvironmentProvider component bootstraps essential services and\n * must be placed at the root of any application using components from '@oracle/oraclejet-preact'.\n * Minimally, the application must load the appropriate translation bundle for the user's locale\n * and set it on the RootEnvironmentProvider.\n */\nexport function RootEnvironmentProvider({\n children,\n environment\n}: ProviderProperties<RootEnvironment>) {\n const mergedEnvironment = useMemo(\n () => mergeEnvironment(DefaultEnvironment, environment),\n [environment]\n );\n return (\n <EnvironmentContext.Provider value={mergedEnvironment}>\n <LayerManager>{children}</LayerManager>\n </EnvironmentContext.Provider>\n );\n}\n\n/**\n * The EnvironmentProvider is a component that should be used by the application when there is a need to overwrite\n * environment values for a subtree.\n * The component receives an Environment object that will be merged into the values provided by the nearest ancestor Provider.\n * The new environment will be passed to the component's children.\n * Note that some environment values cannot be overwritten. See the description of the Environment type for the list of values\n * that can be replaced.\n */\nexport function EnvironmentProvider({ children, environment }: ProviderProperties<Environment>) {\n const consumerEnv = useContext(EnvironmentContext);\n const mergedEnvironment = useMemo(\n () => mergeEnvironment(consumerEnv, environment),\n [consumerEnv, environment]\n );\n\n return (\n <EnvironmentContext.Provider value={mergedEnvironment}>{children}</EnvironmentContext.Provider>\n );\n}\n"],"names":["mergeEnvironment","env1","env2","userValue","Object","assign","user","themeValue","theme","targetTranslations","translations","sourceTranslations","keys","forEach","key","newVal","colorScheme","scale","currentBgColor","mode","density","children","environment","consumerEnv","useContext","EnvironmentContext","mergedEnvironment","useMemo","_jsx","jsx","Provider","value","DefaultEnvironment","LayerManager"],"mappings":"0IA2BA,SAASA,EACPC,EACAC,GAEA,MAAMC,EAAYC,OAAOC,OAAO,CAAA,EAAIJ,EAAKK,KAAMJ,GAAMI,MAC/CC,EAAaH,OAAOC,OAAO,CAAA,EAAIJ,EAAKO,MAAON,GAAMM,OAGjDC,EAAqBL,OAAOC,OAAO,CAAA,EAAIJ,EAAKS,cAC5CC,EAAqBT,GAAMQ,cAAgB,GAUjD,OATAN,OAAOQ,KAAKD,GAAoBE,SAASC,IACvC,IAAIC,EAASJ,EAAmBG,GAC5BL,EAAmBK,KAErBC,EAASX,OAAOC,OAAO,CAAA,EAAII,EAAmBK,GAAMC,IAEtDN,EAAmBK,GAAOC,CAAM,IAG3B,CACLT,KAAMH,EACNK,MAAOD,EACPG,aAAcD,EACdO,YAAad,GAAMc,aAAef,EAAKe,YACvCC,MAAOf,GAAMe,OAAShB,EAAKgB,MAC3BC,eAAgBhB,GAAMgB,gBAAkBjB,EAAKiB,eAC7CC,KAAMjB,GAAMiB,MAAQlB,EAAKkB,KACzBC,QAASlB,GAAMkB,SAAWnB,EAAKmB,QAEnC,iCA+BoCC,SAAEA,EAAQC,YAAEA,IAC9C,MAAMC,EAAcC,aAAWC,EAAAA,oBACzBC,EAAoBC,WACxB,IAAM3B,EAAiBuB,EAAaD,IACpC,CAACC,EAAaD,IAGhB,OACEM,EAAAC,IAACJ,EAAkBA,mBAACK,SAAQ,CAACC,MAAOL,EAAiBL,SAAGA,GAE5D,sCAjCwCA,SACtCA,EAAQC,YACRA,IAEA,MAAMI,EAAoBC,EAAOA,SAC/B,IAAM3B,EAAiBgC,EAAkBA,mBAAEV,IAC3C,CAACA,IAEH,OACEM,EAACC,IAAAJ,EAAkBA,mBAACK,UAASC,MAAOL,EAAiBL,SACnDO,MAACK,EAAYA,aAAA,CAAAZ,SAAEA,KAGrB"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', './mergeProps-bcfa6a92', './classNames-08d99695', './useTranslationBundle-20bfc0f3', './size-4e81acac', './stringUtils-0ae982c2', './filePickerUtils-e4392bf2', './clientHints-030d25aa', './usePress-a9ed1488', 'preact/hooks', './TabbableModeContext-a9c97640', './useTabbableMode-dc440317', './useTestId-f3b8b319', './useComponentTheme-5aa41a8f', './useInteractionStyle-360d25a5', './UNSAFE_FilePicker/themes/redwood/FilePickerTheme'], (function(e,t,r,s,n,a,i,o,l,d,c,u,p,h,f,y,m){"use strict";const v=({ariaLabel:e,isDisabled:t,translations:r,primaryText:s,secondaryText:n,selectionMode:a})=>e||`${t?"":r.filePicker_addFiles()+". "}${T(s,r)}. ${g(n,r,a)}`,b=(e,t)=>({width:e?a.sizeToCSS(e):void 0,height:t?a.sizeToCSS(t):void 0}),T=(e,t)=>e||t.filePicker_dropzonePrimaryText(),g=(e,t,r)=>{const s="multiple"===r?t.filePicker_dropzoneSecondaryTextMultiple():t.filePicker_dropzoneSecondaryText();return e||s},P=(e,t,r)=>{const s=[],n=[];let a,i;if(e)for(let o=0;o<e.length;o++){a=e[o];const l=a.name;if(i=r.filePicker_unknownFileTypeUploadError(),l){const e=l.split(".");i=e.length>1?"."+e.pop():i}i=a.type?a.type:i,-1===s.indexOf(i)&&-1===n.indexOf(i)&&(k(a,t)?s.push(i):n.push(i))}return{accepted:s,rejected:n}},x=e=>{const t={length:{value:e.length},item:{value(e){return this[e]}}};for(let r=0;r<e.length;r++)t[r]={value:e[r],enumerable:!0};return Object.create(FileList.prototype,t)},D=(e,t)=>"single"!==t||1===e.length,S=(e,t)=>{const r=[];return 1===e.length?r.push({severity:"error",summary:t.filePicker_singleTypeUploadError({fileType:e[0]})}):r.push({severity:"error",summary:t.filePicker_multipleFileTypeUploadError({fileTypes:e.join(t.plural_separator())})}),r},k=(e,t)=>{const r=t;if(!r||0===r.length||!e)return!0;let s;for(let t=0;t<r.length;t++){if(s=i.trim(r[t]),!s)return!0;if(s.startsWith(".",0)){if(!e.name||e.name&&e.name.toLowerCase().endsWith(s.toLowerCase()))return!0}else{if(!e.type)return!1;if("image/*"===s){if(e.type.startsWith("image/",0))return!0}else if("video/*"===s){if(e.type.startsWith("video/",0))return!0}else if("audio/*"===s){if(e.type.startsWith("audio/",0))return!0}else if(e.type===s)return!0}}return!1},j=(e,t,r)=>{let s;const n=t?new Promise((e=>{s=e})):null;return r?.({messages:e,until:n}),s},H=(e,t)=>{const r=x(e);t?.({files:r})},M=(e,t,r)=>{const{callback:s,validation:n}=w(e),{pressProps:a}=d.usePress(s);return{validation:n,dragAndDropProps:C(e.accept,e.selectionMode,j,H,t,e.translations,e.onCommit,e.onReject,r),pressProps:a}},w=e=>{const t=t=>{if(t.length>0){const r=P(t,e.accept,e.translations).rejected;r.length>0?j(S(r,e.translations),!1,e.onReject):H(t,e.onCommit)}};return{callback:r=>{("click"===r.type||"keyup"===r.type&&"Enter"===r.code)&&(r.preventDefault(),o.pickFiles(t,{accept:e.accept,selectionMode:e.selectionMode??"multiple",capture:e.capture??"none"}))},validation:t}},C=(e,t,r,s,n,a,i,o,d)=>{const u=c.useRef(!1),p=c.useRef(!1),h=c.useRef(),f=(e,t=!1)=>{u.current&&(e.preventDefault(),e.stopPropagation(),n.current?.contains(e.relatedTarget)||(u.current=!1,d?.("NA"),p.current||t||h.current?.()))};return{onDragEnter:e=>{e.preventDefault(),e.stopPropagation()},onDragOver:s=>{if(s.preventDefault(),s.stopPropagation(),u.current)return;const n=l.getClientHints().browser;if(u.current=!0,p.current=!0,"safari"!==n){if(!s.dataTransfer)return;const n=x(s.dataTransfer.items);let i=[];const l=D(n,t),c=P(n,e,a);l&&0===c.rejected.length?d?.("valid"):(p.current=!1,l?i=S(c.rejected,a):i.push({severity:"error",summary:a.filePicker_singleFileUploadError()}),d?.("invalid"),h.current=r(i,!0,o))}else d?.("valid")},onDragLeave:f,onDrop:n=>{if(u.current){if(n.preventDefault(),n.stopPropagation(),!n.dataTransfer)return void(u.current=!1);const l=x(n.dataTransfer.files);let d=!1;if(p.current){let n=[];if(D(l,t)){const t=P(l,e,a);t.rejected.length>0&&(n=S(t.rejected,a),d=!0)}else n.push({severity:"error",summary:a.filePicker_singleFileUploadError()});n.length>0&&(p.current=!1,r(n,!1,o)),p.current&&s(l,i)}f(n,d)}}}},F=({isDisabled:e,primaryText:r,secondaryText:s,translations:n,selectionMode:a})=>{const{styles:{disabledPrimaryTextStyle:i,primaryTextStyle:o,disabledSecondaryTextStyle:l,secondaryTextStyle:d}}=f.useComponentTheme(m.FilePickerRedwoodTheme);return t.jsxs(t.Fragment,{children:[t.jsx("div",{class:e?i:o,children:T(r,n)}),t.jsx("div",{class:e?l:d,children:g(s,n,a)})]})};const R=e=>{const n=h.useTestId(e.testId),{interactionProps:a,applyActiveStyle:i,applyHoverStyle:o,applyPseudoHoverStyle:l}=y.useInteractionStyle(!1),{classes:d,styles:{maxWidth:u,inner:T,activeStyle:g,innerNeedsEventsHoverStyle:P,innerPseudoHoverStyle:x,invalidDrop:D,validDrop:S}}=f.useComponentTheme(m.FilePickerRedwoodTheme,{hoveredState:o?"isHover":void 0,pseudoHoveredState:l?"isPseudoHover":void 0}),k=[i?g:"",o?P:"",l?x:""],[j,H]=c.useState("NA"),w="valid"===j?S:"invalid"===j?D:void 0,C=c.useRef(null),{validation:R,dragAndDropProps:I,pressProps:_}=M(e,C,H),L=r.mergeProps(_,a);E(I,R,e.testHandlersRef||null);const N=s.classNames([d,void 0===e.width&&u]),{isTabbable:U}=p.useTabbableMode(),{primaryText:W,secondaryText:A,translations:z,selectionMode:O,width:$,height:B}=e;return t.jsx("div",{...n,...L,class:N,tabIndex:U?0:-1,role:"button","aria-label":v({ariaLabel:e["aria-label"],isDisabled:!1,translations:z,primaryText:W,secondaryText:A,selectionMode:O}),ref:C,style:b($,B),children:t.jsx("div",{class:s.classNames([T,w,...k]),...I,children:t.jsx(F,{...e,isDisabled:!1})})})},I=({children:e,primaryText:r,secondaryText:n,translations:a,selectionMode:i,width:o,height:l,testId:d,...c})=>{const u=h.useTestId(d),{classes:p,styles:{maxWidth:y,inner:T,noChildrenMargin:g}}=f.useComponentTheme(m.FilePickerRedwoodTheme,{disabledState:"isDisabled"});return t.jsx("div",{class:s.classNames([p,T,g,void 0===o&&y]),role:"button","aria-label":v({ariaLabel:c["aria-label"],isDisabled:!0,translations:a,primaryText:r,secondaryText:n}),"aria-hidden":"true",...u,style:b(o,l),children:e||t.jsx(F,{...c,isDisabled:!0,translations:a})})},_=e=>{const n=h.useTestId(e.testId),{interactionProps:a,applyHoverStyle:i,applyPseudoHoverStyle:o}=y.useInteractionStyle(!1),{classes:l,styles:{maxWidth:d,noChildrenMargin:u}}=f.useComponentTheme(m.FilePickerRedwoodTheme,{hoveredState:i?"isHover":void 0,pseudoHoveredState:o?"isPseudoHover":void 0}),T=c.useRef(null),{validation:g,dragAndDropProps:P,pressProps:x}=M(e,T),D=r.mergeProps(x,P,a);E(P,g,e.testHandlersRef||null);const S=s.classNames([l,u,void 0===e.width&&d]),{translations:k,selectionMode:j}=e,{isTabbable:H}=p.useTabbableMode();return t.jsx("div",{class:s.classNames([S]),tabIndex:H?void 0:-1,role:"button","aria-label":v({ariaLabel:e["aria-label"],isDisabled:!1,translations:k,selectionMode:j}),ref:T,style:b(e.width,e.height),...n,...D,children:e.children})},E=(e,t,r)=>{c.useImperativeHandle(r,(()=>({onDragEnter:e.onDragEnter,onDragOver:e.onDragOver,onDrop:e.onDrop,onDragLeave:e.onDragLeave,onClickSelected:t})))};e.FilePicker=function({capture:e="none",isDisabled:r=!1,selectionMode:s="multiple",children:a,...i}){const o=i.__testHandlerSymbol,l={capture:e,selectionMode:s,translations:n.useTranslationBundle("@oracle/oraclejet-preact"),...i};return r?t.jsx(I,{...l,children:a}):a?t.jsx(_,{testHandlersRef:o,...l,children:a}):t.jsx(R,{testHandlersRef:o,...l})}}));
1
+ define(['exports', 'preact/jsx-runtime', './mergeProps-bcfa6a92', './classNames-08d99695', './useTranslationBundle-6ef0dab6', './size-4e81acac', './stringUtils-0ae982c2', './filePickerUtils-e4392bf2', './clientHints-030d25aa', './usePress-a9ed1488', 'preact/hooks', './TabbableModeContext-a9c97640', './useTabbableMode-dc440317', './useTestId-82cf22a4', './useComponentTheme-5aa41a8f', './useInteractionStyle-360d25a5', './UNSAFE_FilePicker/themes/redwood/FilePickerTheme'], (function(e,t,r,s,a,n,i,o,l,d,c,u,p,h,y,f,m){"use strict";const v=({ariaLabel:e,isDisabled:t,translations:r,primaryText:s,secondaryText:a,selectionMode:n})=>e||`${t?"":r.filePicker_addFiles()+". "}${T(s,r)}. ${g(a,r,n)}`,b=(e,t)=>({width:e?n.sizeToCSS(e):void 0,height:t?n.sizeToCSS(t):void 0}),T=(e,t)=>e||t.filePicker_dropzonePrimaryText(),g=(e,t,r)=>{const s="multiple"===r?t.filePicker_dropzoneSecondaryTextMultiple():t.filePicker_dropzoneSecondaryText();return e||s},P=(e,t,r)=>{const s=[],a=[];let n,i;if(e)for(let o=0;o<e.length;o++){n=e[o];const l=n.name;if(i=r.filePicker_unknownFileTypeUploadError(),l){const e=l.split(".");i=e.length>1?"."+e.pop():i}i=n.type?n.type:i,-1===s.indexOf(i)&&-1===a.indexOf(i)&&(k(n,t)?s.push(i):a.push(i))}return{accepted:s,rejected:a}},x=e=>{const t={length:{value:e.length},item:{value(e){return this[e]}}};for(let r=0;r<e.length;r++)t[r]={value:e[r],enumerable:!0};return Object.create(FileList.prototype,t)},D=(e,t)=>"single"!==t||1===e.length,S=(e,t)=>{const r=[];return 1===e.length?r.push({severity:"error",summary:t.filePicker_singleTypeUploadError({fileType:e[0]})}):r.push({severity:"error",summary:t.filePicker_multipleFileTypeUploadError({fileTypes:e.join(t.plural_separator())})}),r},k=(e,t)=>{const r=t;if(!r||0===r.length||!e)return!0;let s;for(let t=0;t<r.length;t++){if(s=i.trim(r[t]),!s)return!0;if(s.startsWith(".",0)){if(!e.name||e.name&&e.name.toLowerCase().endsWith(s.toLowerCase()))return!0}else{if(!e.type)return!1;if("image/*"===s){if(e.type.startsWith("image/",0))return!0}else if("video/*"===s){if(e.type.startsWith("video/",0))return!0}else if("audio/*"===s){if(e.type.startsWith("audio/",0))return!0}else if(e.type===s)return!0}}return!1},j=(e,t,r)=>{let s;const a=t?new Promise((e=>{s=e})):null;return r?.({messages:e,until:a}),s},H=(e,t)=>{const r=x(e);t?.({files:r})},M=(e,t,r)=>{const{callback:s,validation:a}=w(e),{pressProps:n}=d.usePress(s);return{validation:a,dragAndDropProps:C(e.accept,e.selectionMode,j,H,t,e.translations,e.onCommit,e.onReject,r),pressProps:n}},w=e=>{const t=t=>{if(t.length>0){const r=P(t,e.accept,e.translations).rejected;r.length>0?j(S(r,e.translations),!1,e.onReject):H(t,e.onCommit)}};return{callback:r=>{("click"===r.type||"keyup"===r.type&&"Enter"===r.code)&&(r.preventDefault(),o.pickFiles(t,{accept:e.accept,selectionMode:e.selectionMode??"multiple",capture:e.capture??"none"}))},validation:t}},C=(e,t,r,s,a,n,i,o,d)=>{const u=c.useRef(!1),p=c.useRef(!1),h=c.useRef(),y=(e,t=!1)=>{u.current&&(e.preventDefault(),e.stopPropagation(),a.current?.contains(e.relatedTarget)||(u.current=!1,d?.("NA"),p.current||t||h.current?.()))};return{onDragEnter:e=>{e.preventDefault(),e.stopPropagation()},onDragOver:s=>{if(s.preventDefault(),s.stopPropagation(),u.current)return;const a=l.getClientHints().browser;if(u.current=!0,p.current=!0,"safari"!==a){if(!s.dataTransfer)return;const a=x(s.dataTransfer.items);let i=[];const l=D(a,t),c=P(a,e,n);l&&0===c.rejected.length?d?.("valid"):(p.current=!1,l?i=S(c.rejected,n):i.push({severity:"error",summary:n.filePicker_singleFileUploadError()}),d?.("invalid"),h.current=r(i,!0,o))}else d?.("valid")},onDragLeave:y,onDrop:a=>{if(u.current){if(a.preventDefault(),a.stopPropagation(),!a.dataTransfer)return void(u.current=!1);const l=x(a.dataTransfer.files);let d=!1;if(p.current){let a=[];if(D(l,t)){const t=P(l,e,n);t.rejected.length>0&&(a=S(t.rejected,n),d=!0)}else a.push({severity:"error",summary:n.filePicker_singleFileUploadError()});a.length>0&&(p.current=!1,r(a,!1,o)),p.current&&s(l,i)}y(a,d)}}}},F=({isDisabled:e,primaryText:r,secondaryText:s,translations:a,selectionMode:n})=>{const{styles:{disabledPrimaryTextStyle:i,primaryTextStyle:o,disabledSecondaryTextStyle:l,secondaryTextStyle:d}}=y.useComponentTheme(m.FilePickerRedwoodTheme);return t.jsxs(t.Fragment,{children:[t.jsx("div",{class:e?i:o,children:T(r,a)}),t.jsx("div",{class:e?l:d,children:g(s,a,n)})]})};const R=e=>{const a=h.useTestId(e.testId),{interactionProps:n,applyActiveStyle:i,applyHoverStyle:o,applyPseudoHoverStyle:l}=f.useInteractionStyle(!1),{classes:d,styles:{maxWidth:u,inner:T,activeStyle:g,innerNeedsEventsHoverStyle:P,innerPseudoHoverStyle:x,invalidDrop:D,validDrop:S}}=y.useComponentTheme(m.FilePickerRedwoodTheme,{hoveredState:o?"isHover":void 0,pseudoHoveredState:l?"isPseudoHover":void 0}),k=[i?g:"",o?P:"",l?x:""],[j,H]=c.useState("NA"),w="valid"===j?S:"invalid"===j?D:void 0,C=c.useRef(null),{validation:R,dragAndDropProps:I,pressProps:_}=M(e,C,H),L=r.mergeProps(_,n);E(I,R,e.testHandlersRef||null);const N=s.classNames([d,void 0===e.width&&u]),{isTabbable:U}=p.useTabbableMode(),{primaryText:W,secondaryText:A,translations:z,selectionMode:O,width:$,height:B}=e;return t.jsx("div",{...a,...L,class:N,tabIndex:U?0:-1,role:"button","aria-label":v({ariaLabel:e["aria-label"],isDisabled:!1,translations:z,primaryText:W,secondaryText:A,selectionMode:O}),ref:C,style:b($,B),children:t.jsx("div",{class:s.classNames([T,w,...k]),...I,children:t.jsx(F,{...e,isDisabled:!1})})})},I=({children:e,primaryText:r,secondaryText:a,translations:n,selectionMode:i,width:o,height:l,testId:d,...c})=>{const u=h.useTestId(d),{classes:p,styles:{maxWidth:f,inner:T,noChildrenMargin:g}}=y.useComponentTheme(m.FilePickerRedwoodTheme,{disabledState:"isDisabled"});return t.jsx("div",{class:s.classNames([p,T,g,void 0===o&&f]),role:"button","aria-label":v({ariaLabel:c["aria-label"],isDisabled:!0,translations:n,primaryText:r,secondaryText:a}),"aria-hidden":"true",...u,style:b(o,l),children:e||t.jsx(F,{...c,isDisabled:!0,translations:n})})},_=e=>{const a=h.useTestId(e.testId),{interactionProps:n,applyHoverStyle:i,applyPseudoHoverStyle:o}=f.useInteractionStyle(!1),{classes:l,styles:{maxWidth:d,noChildrenMargin:u}}=y.useComponentTheme(m.FilePickerRedwoodTheme,{hoveredState:i?"isHover":void 0,pseudoHoveredState:o?"isPseudoHover":void 0}),T=c.useRef(null),{validation:g,dragAndDropProps:P,pressProps:x}=M(e,T),D=r.mergeProps(x,P,n);E(P,g,e.testHandlersRef||null);const S=s.classNames([l,u,void 0===e.width&&d]),{translations:k,selectionMode:j}=e,{isTabbable:H}=p.useTabbableMode();return t.jsx("div",{class:s.classNames([S]),tabIndex:H?void 0:-1,role:"button","aria-label":v({ariaLabel:e["aria-label"],isDisabled:!1,translations:k,selectionMode:j}),ref:T,style:b(e.width,e.height),...a,...D,children:e.children})},E=(e,t,r)=>{c.useImperativeHandle(r,(()=>({onDragEnter:e.onDragEnter,onDragOver:e.onDragOver,onDrop:e.onDrop,onDragLeave:e.onDragLeave,onClickSelected:t})))};e.FilePicker=function({capture:e="none",isDisabled:r=!1,selectionMode:s="multiple",children:n,...i}){const o=i.__testHandlerSymbol,l={capture:e,selectionMode:s,translations:a.useTranslationBundle("@oracle/oraclejet-preact"),...i};return r?t.jsx(I,{...l,children:n}):n?t.jsx(_,{testHandlersRef:o,...l,children:n}):t.jsx(R,{testHandlersRef:o,...l})}}));
2
2
  //# sourceMappingURL=FilePicker-9b2fb661.js.map
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './useTestId-82cf22a4', './classNames-08d99695', './boxalignment-1e23a8e6', './dimensions-89f18413', './flexbox-8521f6aa', './flexitem-5db48325', './mergeInterpolations-9ede4cf7', 'css!./FlexStyles.styles.css'], (function(e,s,t,l,n,a,o,i,r,c){"use strict";var x="FlexStyles_marginZeroStyles__10p93f61";const m=[...Object.values(a.dimensionInterpolations),...Object.values(o.flexboxInterpolations),...Object.values(i.flexitemInterpolations),...Object.values(n.boxAlignmentInterpolations)],d=r.mergeInterpolations(m);e.Flex=({children:e,hasZeroMargins:n=!0,testId:a,...o})=>{const i=l.classNames(["FlexStyles_baseStyles__10p93f60",n&&x]),{class:r,...c}=d(o),m=t.useTestId(a);return s.jsx("div",{class:`${i} ${r}`,style:c,...m,children:e})},e.marginZeroStyles=x}));
2
+ //# sourceMappingURL=Flex-1f27b601.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Flex-1f27b601.js","sources":["../../src/UNSAFE_Flex/Flex.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { TestIdProps, useTestId } from '#hooks/UNSAFE_useTestId';\nimport { ComponentChildren } from 'preact';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport type { BoxAlignmentProps } from '../utils/UNSAFE_interpolations/boxalignment';\nimport { boxAlignmentInterpolations } from '../utils/UNSAFE_interpolations/boxalignment';\nimport type { DimensionProps } from '../utils/UNSAFE_interpolations/dimensions';\nimport { dimensionInterpolations } from '../utils/UNSAFE_interpolations/dimensions';\nimport type { FlexboxProps } from '../utils/UNSAFE_interpolations/flexbox';\nimport { flexboxInterpolations } from '../utils/UNSAFE_interpolations/flexbox';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { baseStyles, marginZeroStyles } from './FlexStyles.css';\n\ntype StyleProps = DimensionProps & FlexboxProps & FlexitemProps & BoxAlignmentProps;\n\ntype Props = StyleProps &\n TestIdProps & {\n children?: ComponentChildren;\n /**\n * @default true\n */\n hasZeroMargins?: boolean;\n };\n\nconst interpolations = [\n ...Object.values(dimensionInterpolations),\n ...Object.values(flexboxInterpolations),\n ...Object.values(flexitemInterpolations),\n ...Object.values(boxAlignmentInterpolations)\n];\n\nconst styleInterpolations = mergeInterpolations<Props>(interpolations);\n\nexport const Flex = ({ children, hasZeroMargins = true, testId, ...props }: Props) => {\n const flexComponentClasses = classNames([baseStyles, hasZeroMargins && marginZeroStyles]);\n const { class: cls, ...styles } = styleInterpolations(props);\n const testIdProps = useTestId(testId);\n return (\n <div class={`${flexComponentClasses} ${cls}`} style={styles} {...testIdProps}>\n {children}\n </div>\n );\n};\n"],"names":["interpolations","Object","values","dimensionInterpolations","flexboxInterpolations","flexitemInterpolations","boxAlignmentInterpolations","styleInterpolations","mergeInterpolations","children","hasZeroMargins","testId","props","flexComponentClasses","classNames","marginZeroStyles","class","cls","styles","testIdProps","useTestId","_jsx","style"],"mappings":"yUAgCA,MAAMA,EAAiB,IAClBC,OAAOC,OAAOC,8BACdF,OAAOC,OAAOE,4BACdH,OAAOC,OAAOG,6BACdJ,OAAOC,OAAOI,+BAGbC,EAAsBC,EAAAA,oBAA2BR,UAEnC,EAAGS,WAAUC,kBAAiB,EAAMC,YAAWC,MACjE,MAAMC,EAAuBC,EAAAA,WAAW,mCAAaJ,GAAkBK,KAC/DC,MAAOC,KAAQC,GAAWX,EAAoBK,GAChDO,EAAcC,YAAUT,GAC9B,OACEU,EAAAA,IAAK,MAAA,CAAAL,MAAO,GAAGH,KAAwBI,IAAOK,MAAOJ,KAAYC,WAC9DV,GAEH"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact/hooks', 'preact/compat', './useFloating-bbd3396b', './refUtils-d354a169', './useOutsideClick-4519a64e', './useUser-6dd85af9', './useComponentTheme-5aa41a8f', './classNames-08d99695', './utils-61ef4ad6', './Common/themes/themeContract.css', './UNSAFE_Floating/themes/redwood/FloatingTheme', './UNSAFE_Floating/themes/FloatingStyles.css', './vanilla-extract-dynamic.esm-eceadd82', './UNSAFE_Floating/themes/FloatingContract.css'], (function(t,e,n,i,s,o,r,a,l,c,u,f,d,m,h,g){"use strict";const x=i.forwardRef((({data:t,anchorRef:i,tail:s,isRtl:r,backgroundColor:a},m)=>{const{styles:h,baseTheme:g}=l.useComponentTheme(d.FloatingRedwoodTheme),x=n.useRef(null),[p,b]=n.useState({arrowStyle:{visibility:"hidden"},arrowInnerStyle:{visibility:"hidden"}});n.useLayoutEffect((()=>{if(null==x.current)return;const{isCornerVerticalPlacement:e,isCornerHorizontalPlacement:n}=function(t,e,n){if("simple"===e&&n&&n.arrow){const{centerOffset:e}=n.arrow,i=7;let s=0,o=0;const r=t.current,a=void 0===r?.x&&void 0===r?.y;a&&(s=Math.round(r.getBoundingClientRect().height),o=Math.round(t.current?.getBoundingClientRect().width));return{isCornerVerticalPlacement:a?Math.abs(e)>=s/2-i/2:["start-top-corner","start-bottom-corner","end-top-corner","end-bottom-corner"].includes(n.origPlacement),isCornerHorizontalPlacement:a?Math.abs(e)>=o/2-i/2:["top-start-corner","top-end-corner","bottom-start-corner","bottom-end-corner"].includes(n.origPlacement)}}return{isCornerVerticalPlacement:!1,isCornerHorizontalPlacement:!1}}(i,s,t);b(function(t,e,n,i,s,o){const r={visibility:"visible"},a={visibility:"visible"};if("simple"===t&&s&&s.arrow){const{x:l,y:c,centerOffset:d}=s.arrow,m=7,h=6,g=5,x=5,p=0===d,b=d>0;function y(t){const e=t?h:m;C({borderTop:`${S(e)} solid ${u.rgba(f.colorSchemeVars.palette.neutral[90],.1)}`,borderRight:R(e),borderLeft:R(e)},r);const n=t?x:g;w({borderTop:`${S(n)} solid ${o}`,borderRight:`${R(n)}`,borderLeft:`${R(n)}`},a)}function C(t,e){Object.assign(e,t)}function w(t,e){Object.assign(e,t)}function A(t){return`rotate(${45*t}deg)`}function S(t){return`${t}px`}function R(t){return`${S(t)} solid transparent`}y(n||i);switch(s.placement.split("-")[0]){case"top":v();break;case"end":e?F():j();break;case"bottom":k();break;case"start":e?j():F()}function v(){null!=l&&(i?(C({top:"",bottom:S(2-m),left:S(l+(b?5:-5)),transform:A(b?5:3)},r),M()):(C({top:"",bottom:S(-m),left:S(p?l:l+(b?1:-1)),transform:A(0)},r),O()))}function j(){null!=c&&(n?(C({top:S(c+(b?2:-2)),right:"",left:S(-m-1),transform:A(b?7:5)},r),M()):(C({top:S(p?c:c+(b?-2:2)),right:"",left:S(1.5*-m),transform:A(2)},r),O()))}function k(){null!=l&&(i?(C({top:S(3-m),bottom:"",left:S(l+(b?4:-4)),transform:A(b?2:6)},r),w({top:S(-g),left:S((b?1:-1)-g)},a)):(C({top:S(-m),bottom:"",left:S(p?l:l+(b?1:-1)),transform:A(4)},r),O()))}function F(){null!=c&&(n?(C({top:S(c+(b?2:-2)),right:S(-m-1),left:"",transform:A(b?1:3)},r),w({top:S(-g),left:S((b?-2:2)-g)},a)):(C({top:S(p?c:c+(b?-2:2)),right:S(1.5*-m),left:"",transform:A(6)},r),O()))}function M(){w({top:S(-g),left:S((b?2:-2)-g)},a)}function O(){w({top:S(-g-2),left:S(-g)},a)}}return{arrowStyle:r,arrowInnerStyle:a}}(s,r,e,n,t,a))}),[t,a,t?.placement,t?.x,t?.y,t?.offset,t?.arrow,s,r,i]);const y=n.useMemo((()=>o.mergeRefs(m,x)),[m,x]);return"simple"===s&&e.jsxs("div",{ref:y,class:c.classNames([g,h.floatingTailBaseStyle]),style:p.arrowStyle,children:[" ",e.jsx("div",{class:c.classNames([h.floatingTailBaseStyle]),style:p.arrowInnerStyle})," "]})}));const p=i.forwardRef((({children:t,backgroundColor:i,onClickOutside:u,placement:f="bottom",anchorRef:p,offsetValue:b,class:y,tail:C="none",flipOptions:w={mainAxis:!0,crossAxis:!1},shiftOptions:A={mainAxis:!0,crossAxis:!1},sizeOptions:S={isMaxHeightAdjusted:!1,isMaxWidthAdjusted:!1},boundaryOptions:R={padding:0},onPosition:v},j)=>{const k=n.useRef(null),[F,M]=n.useState(),[O,E]=n.useState(null),{styles:P,baseTheme:T}=l.useComponentTheme(d.FloatingRedwoodTheme);n.useLayoutEffect((()=>{E(p.current)}),[p]),p.current!==O&&E(p.current);const{direction:$}=a.useUser(),H="rtl"===$,V=n.useCallback((t=>{M(t),v?.(t)}),[v]),B=[s.offset(b),s.flip({mainAxis:w.mainAxis,crossAxis:w.crossAxis,fallbackPlacements:w.fallbackPlacements?.map((t=>s.logicalSide(t,$))),padding:R.padding}),s.shift({mainAxis:A.mainAxis,crossAxis:A.crossAxis,limiter:s.limitShift({mainAxis:A.mainAxis,crossAxis:A.crossAxis})}),...k.current?[s.arrow({element:k.current})]:[]];(S.isMaxHeightAdjusted||S.isMaxWidthAdjusted)&&B.push(s.size({apply({availableWidth:t,availableHeight:e,elements:n}){S.isMaxHeightAdjusted&&parseInt(n.floating.style.maxHeight)!==e&&Object.assign(n.floating.style,{maxHeight:`${Math.min(e,S.maxHeightCeiling||e)}px`}),S.isMaxWidthAdjusted&&parseInt(n.floating.style.maxWidth)!==t&&Object.assign(n.floating.style,{maxWidth:`${Math.min(t,S.maxWidthCeiling||t)}px`})},padding:R.padding}));const{x:N,y:U,reference:W,floating:I,refs:z,update:L}=s.useFloating({placement:f,middleware:B,onPosition:V}),[_,D]=n.useState(!1);n.useEffect((()=>{if(z.reference.current&&z.floating.current&&!0===_)return s.autoUpdate(z.reference.current,z.floating.current,L)}),[z.floating,z.reference,L,_]),n.useEffect((()=>{null!=N&&null!=U&&D(!0)}),[N,U]),r.useOutsideClick({isDisabled:!1,ref:z.floating,handler:u}),n.useLayoutEffect((()=>{if(O instanceof Element){return void W(O)}const t=O;if(null!=t&&null!=t.contextElement){const e=function(t,e){let n=null,i=null,s=!1;return{contextElement:t||void 0,getBoundingClientRect(){const o=t?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},r="x"===e.axis||"both"===e.axis,a="y"===e.axis||"both"===e.axis;let l=o.width,c=o.height,u=o.x,f=o.y;return null==n&&e.x&&r&&(n=o.x-e.x),null==i&&e.y&&a&&(i=o.y-e.y),u-=n||0,f-=i||0,l=0,c=0,s?s&&(c="x"===e.axis?o.height:c,l="y"===e.axis?o.width:l):(l="y"===e.axis?o.width:0,c="x"===e.axis?o.height:0,u=r&&null!=e.x?e.x:u,f=a&&null!=e.y?e.y:f),s=!0,{width:l,height:c,x:u,y:f,top:f,right:u+l,bottom:f+c,left:u}}}}(t.contextElement,{axis:"both",x:t.x,y:t.y});return void W(e)}const e={getBoundingClientRect:()=>({width:0,height:0,x:t.x,y:t.y,top:t.y,left:t.x,right:t.x,bottom:t.y})};t&&null!=t.x&&W(e)}),[O,W]);const q=n.useMemo((()=>o.mergeRefs(j,I)),[j,I]),G={top:U,left:N};let J={};i&&(J=h.assignInlineVars({[g.floatingVars.backgroundColor]:i}));const K=null==N&&null==U?m.floatingVisibilityStyles.hidden:m.floatingVisibilityStyles.visible,Q=c.classNames([y,T,P.baseStyle,K]),X=p&&p.current;return e.jsxs("div",{class:Q,ref:q,style:{...G,...J},children:[t,X&&e.jsx(x,{ref:k,backgroundColor:i,data:F,anchorRef:p,tail:C,isRtl:H})]})}));t.Floating=p}));
2
+ //# sourceMappingURL=Floating-85851b1a.js.map