@oracle/oraclejet-preact 17.1.1 → 17.1.3

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 (1048) hide show
  1. package/amd/ActionCard-01322111.js +1 -1
  2. package/amd/{BarChart-aba4a793.js → BarChart-b75423c1.js} +2 -2
  3. package/amd/{BarChart-aba4a793.js.map → BarChart-b75423c1.js.map} +1 -1
  4. package/amd/BaseButton-51e50f77.js +1 -1
  5. package/amd/BaseCardView-c5624c8a.js +1 -1
  6. package/amd/{BaseCardViewSelectionTest-9627e4ab.js → BaseCardViewSelectionTest-b80dd91b.js} +2 -2
  7. package/amd/{BaseCardViewSelectionTest-9627e4ab.js.map → BaseCardViewSelectionTest-b80dd91b.js.map} +1 -1
  8. package/amd/BaseNavigationListItem-368284be.js +1 -1
  9. package/amd/ButtonSet-c389d5c7.js +1 -1
  10. package/amd/ButtonSetIconButton-141a8745.js +1 -1
  11. package/amd/{Center-b449a95c.js → Center-9ec5524e.js} +2 -2
  12. package/amd/{Center-b449a95c.js.map → Center-9ec5524e.js.map} +1 -1
  13. package/amd/{Chart-1046ac5b.js → Chart-96ea9fed.js} +2 -2
  14. package/amd/{Chart-1046ac5b.js.map → Chart-96ea9fed.js.map} +1 -1
  15. package/amd/CheckboxControl-74a7fead.js +1 -1
  16. package/amd/CheckboxRadioField-005a110c.js +1 -1
  17. package/amd/Chip-3062b3d3.js +1 -1
  18. package/amd/ClearIcon-c13664cd.js +1 -1
  19. package/amd/CollapseIcon-38899da0.js +1 -1
  20. package/amd/Collapsible-ba4eef8f.js +1 -1
  21. package/amd/CompactHelpSource-be790e15.js +1 -1
  22. package/amd/CompactLabelAssistance-bc14e060.js +2 -0
  23. package/amd/{CompactLabelAssistance-7db2fde2.js.map → CompactLabelAssistance-bc14e060.js.map} +1 -1
  24. package/amd/CompactUserAssistance-a7b3ffc0.js +1 -1
  25. package/amd/ComponentMessageContainer-3b691959.js +1 -1
  26. package/amd/ConveyorBeltItem-bc128f62.js +1 -1
  27. package/amd/{DatePicker-d7802b3e.js → DatePicker-dd358026.js} +2 -2
  28. package/amd/{DatePicker-d7802b3e.js.map → DatePicker-dd358026.js.map} +1 -1
  29. package/amd/DatePickerHeader-c03ca6b4.js +1 -1
  30. package/amd/{Diagram-14fd94c3.js → Diagram-1b48168a.js} +2 -2
  31. package/amd/{Diagram-14fd94c3.js.map → Diagram-1b48168a.js.map} +1 -1
  32. package/amd/{Dialog-f6da299c.js → Dialog-c34f9e89.js} +2 -2
  33. package/amd/{Dialog-f6da299c.js.map → Dialog-c34f9e89.js.map} +1 -1
  34. package/amd/DirectionalCollapseArrowIcon-1c72e459.js +1 -1
  35. package/amd/DirectionalExpandArrowIcon-198cec2b.js +1 -1
  36. package/amd/DragHandle-e4959d2b.js +1 -1
  37. package/amd/DrawerLayoutStyles.styles.css +1 -0
  38. package/amd/{Dropdown-5f68516d.js → Dropdown-b36aa071.js} +2 -2
  39. package/amd/{Dropdown-5f68516d.js.map → Dropdown-b36aa071.js.map} +1 -1
  40. package/amd/{EnvironmentProvider-8f6fc388.js → EnvironmentProvider-c0e1e39b.js} +2 -2
  41. package/amd/{EnvironmentProvider-8f6fc388.js.map → EnvironmentProvider-c0e1e39b.js.map} +1 -1
  42. package/amd/FilePicker-e13f405f.js +1 -1
  43. package/amd/Flex-3421f0df.js +2 -0
  44. package/amd/{Flex-56ecdf4c.js.map → Flex-3421f0df.js.map} +1 -1
  45. package/amd/{Floating-a658b79c.js → Floating-25e0092b.js} +2 -2
  46. package/amd/{Floating-a658b79c.js.map → Floating-25e0092b.js.map} +1 -1
  47. package/amd/FormLayout-c6f1fdff.js +1 -1
  48. package/amd/Gantt-7be8d8bc.js +1 -1
  49. package/amd/{Grid-160f4885.js → Grid-8911aa0f.js} +2 -2
  50. package/amd/{Grid-160f4885.js.map → Grid-8911aa0f.js.map} +1 -1
  51. package/amd/{Gridlines-b1d59999.js → Gridlines-071ff524.js} +2 -2
  52. package/amd/{Gridlines-b1d59999.js.map → Gridlines-071ff524.js.map} +1 -1
  53. package/amd/GroupLoadingIndicator-cd9192c9.js +1 -1
  54. package/amd/HighlightText-644bc74e.js +2 -0
  55. package/amd/{HighlightText-bd4c0101.js.map → HighlightText-644bc74e.js.map} +1 -1
  56. package/amd/Icon-2d805acb.js +1 -1
  57. package/amd/IconButton-81c8463f.js +1 -1
  58. package/amd/IconMenuButton-3e3db121.js +1 -1
  59. package/amd/IconProgressButton-04979469.js +1 -1
  60. package/amd/IconSwitchButton-bc007cbd.js +1 -1
  61. package/amd/IconToggleButton-28960894.js +1 -1
  62. package/amd/{IconUserAssistance-2f809060.js → IconUserAssistance-dda606e6.js} +2 -2
  63. package/amd/{IconUserAssistance-2f809060.js.map → IconUserAssistance-dda606e6.js.map} +1 -1
  64. package/amd/Indexer-74c989ce.js +1 -1
  65. package/amd/InlineHelpSource-85961e81.js +1 -1
  66. package/amd/InlineUserAssistance-2a480664.js +1 -1
  67. package/amd/InputDateMask-9aba967d.js +1 -1
  68. package/amd/InputDatePicker-6167ff45.js +1 -1
  69. package/amd/InputPassword-bf533999.js +1 -1
  70. package/amd/InputText-a4234d1f.js +1 -1
  71. package/amd/Label-a4172af7.js +1 -1
  72. package/amd/LabelValueLayout-194e64d9.js +1 -1
  73. package/amd/{Layer-276d62e8.js → Layer-e835aed8.js} +2 -2
  74. package/amd/{Layer-276d62e8.js.map → Layer-e835aed8.js.map} +1 -1
  75. package/amd/{LayerHost-e95c5f30.js → LayerHost-639b3284.js} +2 -2
  76. package/amd/{LayerHost-e95c5f30.js.map → LayerHost-639b3284.js.map} +1 -1
  77. package/amd/{LayerManager-76fcfb58.js → LayerManager-2972de92.js} +2 -2
  78. package/amd/{LayerManager-76fcfb58.js.map → LayerManager-2972de92.js.map} +1 -1
  79. package/amd/Legend-cd2f78b2.js +1 -1
  80. package/amd/{LineAreaChart-07630832.js → LineAreaChart-2d79c161.js} +2 -2
  81. package/amd/{LineAreaChart-07630832.js.map → LineAreaChart-2d79c161.js.map} +1 -1
  82. package/amd/Link-cb232696.js +1 -1
  83. package/amd/List-61d64cd6.js +1 -1
  84. package/amd/{ListItemLayout-90873fb8.js → ListItemLayout-1d8f166a.js} +2 -2
  85. package/amd/{ListItemLayout-90873fb8.js.map → ListItemLayout-1d8f166a.js.map} +1 -1
  86. package/amd/ListView-a49e52c3.js +1 -1
  87. package/amd/LiveRegion-9a362373.js +2 -0
  88. package/amd/{LiveRegion-8142ed0d.js.map → LiveRegion-9a362373.js.map} +1 -1
  89. package/amd/MaxLengthCounter-caafceef.js +2 -0
  90. package/{cjs/MaxLengthCounter-a5370f66.js.map → amd/MaxLengthCounter-caafceef.js.map} +1 -1
  91. package/amd/MaxLengthLiveRegion-bb956138.js +2 -0
  92. package/amd/{MaxLengthLiveRegion-8954fc30.js.map → MaxLengthLiveRegion-bb956138.js.map} +1 -1
  93. package/amd/{Menu-8f3a1e8c.js → Menu-e682ccb9.js} +2 -2
  94. package/amd/{Menu-8f3a1e8c.js.map → Menu-e682ccb9.js.map} +1 -1
  95. package/amd/MenuButton-e4d7ec34.js +1 -1
  96. package/amd/MenuItem-44b2547b.js +1 -1
  97. package/amd/Message-1b166e4f.js +1 -1
  98. package/amd/{MessageLayer-cf9265e0.js → MessageLayer-3742e608.js} +2 -2
  99. package/amd/{MessageLayer-cf9265e0.js.map → MessageLayer-3742e608.js.map} +1 -1
  100. package/amd/MessageToast-7aba4a66.js +1 -1
  101. package/amd/MessagesManager-d6d43884.js +1 -1
  102. package/amd/MeterBar-90569d10.js +1 -1
  103. package/amd/MeterCircle-b14ff590.js +1 -1
  104. package/amd/{Modal-36acfc12.js → Modal-2b6ce101.js} +2 -2
  105. package/amd/{Modal-36acfc12.js.map → Modal-2b6ce101.js.map} +1 -1
  106. package/amd/{MonthView-ac27389f.js → MonthView-8a1fde80.js} +2 -2
  107. package/amd/{MonthView-ac27389f.js.map → MonthView-8a1fde80.js.map} +1 -1
  108. package/amd/NavigationListItem-1742f912.js +1 -1
  109. package/amd/NumberInputText-83ba7a58.js +1 -1
  110. package/amd/OverflowTabBarItem-4c4b75e0.js +1 -1
  111. package/amd/PRIVATE_BaseCardView.js +1 -1
  112. package/amd/PRIVATE_Chart.js +1 -1
  113. package/amd/PRIVATE_CheckboxControl.js +1 -1
  114. package/amd/PRIVATE_CheckboxRadioField.js +1 -1
  115. package/amd/PRIVATE_ClearIcon.js +1 -1
  116. package/amd/PRIVATE_DatePickerHeader.js +1 -1
  117. package/amd/PRIVATE_DatePickerLayout.js +1 -1
  118. package/amd/PRIVATE_EmbeddedIconButton.js +1 -1
  119. package/amd/PRIVATE_FormControls.js +1 -1
  120. package/amd/PRIVATE_IconSwitchButton.js +1 -1
  121. package/amd/PRIVATE_Icons/CheckboxMixed.js +1 -1
  122. package/amd/PRIVATE_Icons/CheckboxOff.js +1 -1
  123. package/amd/PRIVATE_Icons/CheckboxOn.js +1 -1
  124. package/amd/PRIVATE_Icons/RadiobuttonOff.js +1 -1
  125. package/amd/PRIVATE_Icons/RadiobuttonOn.js +1 -1
  126. package/amd/PRIVATE_Icons/WarningS.js +1 -1
  127. package/amd/PRIVATE_List.js +1 -1
  128. package/amd/PRIVATE_Message.js +1 -1
  129. package/amd/PRIVATE_MessageLayer.js +1 -1
  130. package/amd/PRIVATE_MonthView.js +1 -1
  131. package/amd/PRIVATE_MonthYearGridView.js +1 -1
  132. package/amd/PRIVATE_PlotArea.js +1 -1
  133. package/amd/PRIVATE_RevealToggleIcon.js +1 -1
  134. package/amd/PRIVATE_SelectCommon.js +1 -1
  135. package/amd/PRIVATE_StyledCheckbox.js +1 -1
  136. package/amd/PRIVATE_Table.js +1 -1
  137. package/amd/PRIVATE_ThemedIcons/CalendarIcon.js +1 -1
  138. package/amd/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +1 -1
  139. package/amd/PRIVATE_ThemedIcons/ChartPanIcon.js +1 -1
  140. package/amd/PRIVATE_ThemedIcons/ChartZoomIcon.js +1 -1
  141. package/amd/PRIVATE_ThemedIcons/CheckIcon.js +1 -1
  142. package/amd/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +1 -1
  143. package/amd/PRIVATE_ThemedIcons/CheckboxOffIcon.js +1 -1
  144. package/amd/PRIVATE_ThemedIcons/CheckboxOnIcon.js +1 -1
  145. package/amd/PRIVATE_ThemedIcons/CloseIcon.js +1 -1
  146. package/amd/PRIVATE_ThemedIcons/CollapseIcon.js +1 -1
  147. package/amd/PRIVATE_ThemedIcons/CollapseUpIcon.js +1 -1
  148. package/amd/PRIVATE_ThemedIcons/DecrementIcon.js +1 -1
  149. package/amd/PRIVATE_ThemedIcons/DeleteIcon.js +1 -1
  150. package/amd/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +1 -1
  151. package/amd/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +1 -1
  152. package/amd/PRIVATE_ThemedIcons/DropdownArrowIcon.js +1 -1
  153. package/amd/PRIVATE_ThemedIcons/ExpandIcon.js +1 -1
  154. package/amd/PRIVATE_ThemedIcons/HelpIcon.js +1 -1
  155. package/amd/PRIVATE_ThemedIcons/IncrementIcon.js +1 -1
  156. package/amd/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +1 -1
  157. package/amd/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +1 -1
  158. package/amd/PRIVATE_ThemedIcons/MessageErrorIcon.js +1 -1
  159. package/amd/PRIVATE_ThemedIcons/MessageInfoIcon.js +1 -1
  160. package/amd/PRIVATE_ThemedIcons/MessageWarningIcon.js +1 -1
  161. package/amd/PRIVATE_ThemedIcons/MinusIcon.js +1 -1
  162. package/amd/PRIVATE_ThemedIcons/NavDownIcon.js +1 -1
  163. package/amd/PRIVATE_ThemedIcons/PlusIcon.js +1 -1
  164. package/amd/PRIVATE_ThemedIcons/RadioOffIcon.js +1 -1
  165. package/amd/PRIVATE_ThemedIcons/RadioOnIcon.js +1 -1
  166. package/amd/PRIVATE_ThemedIcons/SortAscendingIcon.js +1 -1
  167. package/amd/PRIVATE_ThemedIcons/SortDefaultIcon.js +1 -1
  168. package/amd/PRIVATE_ThemedIcons/SortDescendingIcon.js +1 -1
  169. package/amd/PRIVATE_ThemedIcons/ViewHideIcon.js +1 -1
  170. package/amd/PRIVATE_ThemedIcons/ViewIcon.js +1 -1
  171. package/amd/PRIVATE_TimeComponent.js +1 -1
  172. package/amd/PRIVATE_VisTabularDatatip.js +1 -1
  173. package/amd/PictoChart-98b54953.js +1 -1
  174. package/amd/{PieChart-cbe2806f.js → PieChart-45cc3798.js} +2 -2
  175. package/amd/{PieChart-cbe2806f.js.map → PieChart-45cc3798.js.map} +1 -1
  176. package/amd/{Popup-956e6d7d.js → Popup-059eb48a.js} +2 -2
  177. package/amd/{Popup-956e6d7d.js.map → Popup-059eb48a.js.map} +1 -1
  178. package/amd/{ProgressBar-d7cfdb63.js → ProgressBar-479b35e5.js} +2 -2
  179. package/amd/{ProgressBar-d7cfdb63.js.map → ProgressBar-479b35e5.js.map} +1 -1
  180. package/amd/ProgressButton-c98e276b.js +1 -1
  181. package/amd/ProgressButtonLabelLayout-3a78ba61.js +1 -1
  182. package/amd/{ProgressCircle-1e4cefde.js → ProgressCircle-365c4568.js} +2 -2
  183. package/amd/{ProgressCircle-1e4cefde.js.map → ProgressCircle-365c4568.js.map} +1 -1
  184. package/amd/RadioItem-ce699d94.js +1 -1
  185. package/amd/RatingGauge-138a7d8b.js +1 -1
  186. package/amd/ReadonlyTextFieldInput-608bddc1.js +1 -1
  187. package/amd/RemovableNavigationListItem-dd14305f.js +1 -1
  188. package/amd/RemovableTabBarItem-6a25d890.js +1 -1
  189. package/amd/ReorderableTabBar-e40ffae9.js +1 -1
  190. package/amd/RevealToggleIcon-c5b17f49.js +1 -1
  191. package/amd/SectionalLegend-5d4afed4.js +1 -1
  192. package/amd/SectionedContent-2b89af7b.js +2 -0
  193. package/amd/{SectionedContent-6031f8f7.js.map → SectionedContent-2b89af7b.js.map} +1 -1
  194. package/amd/SelectMultiple-1ff92cc3.js +1 -1
  195. package/amd/SelectSingle-641a4cac.js +1 -1
  196. package/amd/{SelectionCard-062e1c6f.js → SelectionCard-3973de1b.js} +2 -2
  197. package/amd/{SelectionCard-062e1c6f.js.map → SelectionCard-3973de1b.js.map} +1 -1
  198. package/amd/Selector-039f7481.js +1 -1
  199. package/amd/SelectorAll-7288e923.js +2 -0
  200. package/amd/{SelectorAll-53efae22.js.map → SelectorAll-7288e923.js.map} +1 -1
  201. package/amd/{Sheet-e6308643.js → Sheet-c6fc15b2.js} +2 -2
  202. package/amd/{Sheet-e6308643.js.map → Sheet-c6fc15b2.js.map} +1 -1
  203. package/amd/SplitMenuButton-09d7b66f.js +1 -1
  204. package/amd/StyledTextField-a51060bb.js +1 -1
  205. package/amd/Submenu-8cb31b61.js +1 -1
  206. package/amd/TabBar-1c002b5b.js +1 -1
  207. package/amd/TabBarItem-16383a92.js +1 -1
  208. package/amd/TabBarLayout-685ac295.js +1 -1
  209. package/amd/TabBarMixed-4e0326f5.js +1 -1
  210. package/amd/TabBarMixedSeparator-ed764207.js +2 -0
  211. package/amd/{TabBarMixedSeparator-8c278254.js.map → TabBarMixedSeparator-ed764207.js.map} +1 -1
  212. package/amd/Table-986ae70c.js +1 -1
  213. package/amd/TagCloud-58b4a81b.js +1 -1
  214. package/amd/TextArea-259d741c.js +2 -0
  215. package/{cjs/TextArea-096f18ad.js.map → amd/TextArea-259d741c.js.map} +1 -1
  216. package/amd/TextAreaAutosize-e8dc13b4.js +2 -0
  217. package/amd/{TextAreaAutosize-1f47b470.js.map → TextAreaAutosize-e8dc13b4.js.map} +1 -1
  218. package/amd/TextField-51daf13e.js +1 -1
  219. package/amd/TextFieldInput-d6645f5b.js +1 -1
  220. package/amd/Theme-redwood/theme.css +212 -212
  221. package/amd/Theme-stable/theme.css +198 -198
  222. package/amd/TimeComponentCanvas2D-2f1cede4.js +1 -1
  223. package/amd/Toolbar-e84c90ac.js +1 -1
  224. package/amd/{TruncatingBadge-5b720ad3.js → TruncatingBadge-b6a271ea.js} +2 -2
  225. package/amd/{TruncatingBadge-5b720ad3.js.map → TruncatingBadge-b6a271ea.js.map} +1 -1
  226. package/amd/TruncatingText-e1aceee7.js +2 -0
  227. package/amd/{TruncatingText-17a6d4b6.js.map → TruncatingText-e1aceee7.js.map} +1 -1
  228. package/amd/UNSAFE_ActionCard.js +1 -1
  229. package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
  230. package/amd/UNSAFE_BarChart.js +1 -1
  231. package/amd/UNSAFE_BaseButton.js +1 -1
  232. package/amd/UNSAFE_Button.js +1 -1
  233. package/amd/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
  234. package/amd/UNSAFE_ButtonSet.js +1 -1
  235. package/amd/UNSAFE_ButtonSetButton.js +1 -1
  236. package/amd/UNSAFE_ButtonSetIconButton.js +1 -1
  237. package/amd/UNSAFE_ButtonSetItem.js +1 -1
  238. package/amd/UNSAFE_ButtonSetMultiple.js +1 -1
  239. package/amd/UNSAFE_ButtonSetSingle.js +1 -1
  240. package/amd/UNSAFE_CardFlexView.js +1 -1
  241. package/amd/UNSAFE_CardGridView.js +1 -1
  242. package/amd/UNSAFE_Center.js +1 -1
  243. package/amd/UNSAFE_ChartWithLegend.js +1 -1
  244. package/amd/UNSAFE_Checkbox.js +1 -1
  245. package/amd/UNSAFE_CheckboxItem.js +1 -1
  246. package/amd/UNSAFE_CheckboxSet.js +1 -1
  247. package/amd/UNSAFE_Chip.js +1 -1
  248. package/amd/UNSAFE_Collapsible.js +1 -1
  249. package/amd/UNSAFE_ComponentMessage.js +1 -1
  250. package/amd/UNSAFE_ConveyorBelt.js +1 -1
  251. package/amd/UNSAFE_DatePicker.js +1 -1
  252. package/amd/UNSAFE_Diagram.js +1 -1
  253. package/amd/UNSAFE_Dialog.js +1 -1
  254. package/amd/UNSAFE_DragHandle.js +1 -1
  255. package/amd/UNSAFE_DrawerLayout.js +1 -1
  256. package/amd/UNSAFE_DrawerLayout.js.map +1 -1
  257. package/amd/UNSAFE_DrawerPopup.js +1 -1
  258. package/amd/UNSAFE_Dropdown.js +1 -1
  259. package/amd/UNSAFE_Environment.js +1 -1
  260. package/amd/UNSAFE_ExpandableList.js +1 -1
  261. package/amd/UNSAFE_FilePicker.js +1 -1
  262. package/amd/UNSAFE_Flex.js +1 -1
  263. package/amd/UNSAFE_Floating.js +1 -1
  264. package/amd/UNSAFE_FormLayout.js +1 -1
  265. package/amd/UNSAFE_Gantt.js +1 -1
  266. package/amd/UNSAFE_Grid.js +1 -1
  267. package/amd/UNSAFE_HighlightText.js +1 -1
  268. package/amd/UNSAFE_Icon.js +1 -1
  269. package/amd/UNSAFE_IconButton.js +1 -1
  270. package/amd/UNSAFE_IconMenuButton.js +1 -1
  271. package/amd/UNSAFE_IconProgressButton.js +1 -1
  272. package/amd/UNSAFE_IconToggleButton.js +1 -1
  273. package/amd/UNSAFE_Indexer.js +1 -1
  274. package/amd/UNSAFE_InputDateMask.js +1 -1
  275. package/amd/UNSAFE_InputDatePicker.js +1 -1
  276. package/amd/UNSAFE_InputPassword.js +1 -1
  277. package/amd/UNSAFE_InputSensitiveText.js +1 -1
  278. package/amd/UNSAFE_InputText.js +1 -1
  279. package/amd/UNSAFE_Label.js +1 -1
  280. package/amd/UNSAFE_LabelValueLayout.js +1 -1
  281. package/amd/UNSAFE_LabelledLink.js +1 -1
  282. package/amd/UNSAFE_Layer.js +1 -1
  283. package/amd/UNSAFE_Legend.js +1 -1
  284. package/amd/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +1 -1
  285. package/amd/UNSAFE_LineAreaChart.js +1 -1
  286. package/amd/UNSAFE_Link.js +1 -1
  287. package/amd/UNSAFE_ListItemLayout.js +1 -1
  288. package/amd/UNSAFE_ListView.js +1 -1
  289. package/amd/UNSAFE_LiveRegion.js +1 -1
  290. package/amd/UNSAFE_Menu.js +1 -1
  291. package/amd/UNSAFE_MenuButton.js +1 -1
  292. package/amd/UNSAFE_MessageBanner.js +1 -1
  293. package/amd/UNSAFE_MessageToast.js +1 -1
  294. package/amd/UNSAFE_MeterBar.js +1 -1
  295. package/amd/UNSAFE_MeterCircle.js +1 -1
  296. package/amd/UNSAFE_Modal.js +1 -1
  297. package/amd/UNSAFE_NavigationList.js +1 -1
  298. package/amd/UNSAFE_NavigationListCommon.js +1 -1
  299. package/amd/UNSAFE_NumberInputText.js +1 -1
  300. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  301. package/amd/UNSAFE_PictoChart.js +1 -1
  302. package/amd/UNSAFE_PieChart/__test__/PieChart.spec.js +1 -1
  303. package/amd/UNSAFE_PieChart.js +1 -1
  304. package/amd/UNSAFE_Popup.js +1 -1
  305. package/amd/UNSAFE_ProgressBar.js +1 -1
  306. package/amd/UNSAFE_ProgressButton.js +1 -1
  307. package/amd/UNSAFE_ProgressButtonLabelLayout.js +1 -1
  308. package/amd/UNSAFE_ProgressCircle.js +1 -1
  309. package/amd/UNSAFE_RadioItem.js +1 -1
  310. package/amd/UNSAFE_RadioSet.js +1 -1
  311. package/amd/UNSAFE_RatingGauge.js +1 -1
  312. package/amd/UNSAFE_ReorderableTabBar.js +1 -1
  313. package/amd/UNSAFE_SectionalLegend.js +1 -1
  314. package/amd/UNSAFE_SelectMultiple.js +1 -1
  315. package/amd/UNSAFE_SelectSingle.js +1 -1
  316. package/amd/UNSAFE_SelectionCard.js +1 -1
  317. package/amd/UNSAFE_Selector.js +1 -1
  318. package/amd/UNSAFE_SelectorAll.js +1 -1
  319. package/amd/UNSAFE_Sheet/__test__/Sheet.spec.js +1 -1
  320. package/amd/UNSAFE_Sheet.js +1 -1
  321. package/amd/UNSAFE_SplitMenuButton.js +1 -1
  322. package/amd/UNSAFE_TabBar.js +1 -1
  323. package/amd/UNSAFE_TabBarCommon.js +1 -1
  324. package/amd/UNSAFE_TabBarMixed.js +1 -1
  325. package/amd/UNSAFE_TableView.js +1 -1
  326. package/amd/UNSAFE_TagCloud.js +1 -1
  327. package/amd/UNSAFE_TextArea.js +1 -1
  328. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  329. package/amd/UNSAFE_TextField.js +1 -1
  330. package/amd/UNSAFE_ToggleButton.js +1 -1
  331. package/amd/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
  332. package/amd/UNSAFE_Toolbar.js +1 -1
  333. package/amd/UNSAFE_Train.js +1 -1
  334. package/amd/UNSAFE_TruncatingBadge.js +1 -1
  335. package/amd/UNSAFE_TruncatingText.js +1 -1
  336. package/amd/UNSAFE_UserAssistance.js +1 -1
  337. package/amd/UNSAFE_View.js +1 -1
  338. package/amd/UNSAFE_VirtualizedListView.js +1 -1
  339. package/amd/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +1 -1
  340. package/amd/UNSAFE_VisProgressiveLoader.js +1 -1
  341. package/amd/UNSAFE_VisStatusMessage.js +1 -1
  342. package/amd/UNSAFE_WindowOverlay.js +1 -1
  343. package/amd/{View-ce970ed7.js → View-bd5c7fa7.js} +2 -2
  344. package/amd/{View-ce970ed7.js.map → View-bd5c7fa7.js.map} +1 -1
  345. package/amd/{VisNoData-7d5f77c3.js → VisNoData-ed2bd5cf.js} +2 -2
  346. package/amd/{VisNoData-7d5f77c3.js.map → VisNoData-ed2bd5cf.js.map} +1 -1
  347. package/amd/{VisProgressiveLoader-68d8d8b3.js → VisProgressiveLoader-06a60c8f.js} +2 -2
  348. package/amd/{VisProgressiveLoader-68d8d8b3.js.map → VisProgressiveLoader-06a60c8f.js.map} +1 -1
  349. package/amd/{VisTabularDatatip-1051eaca.js → VisTabularDatatip-55bbd19f.js} +2 -2
  350. package/amd/{VisTabularDatatip-1051eaca.js.map → VisTabularDatatip-55bbd19f.js.map} +1 -1
  351. package/amd/{WindowOverlay-a2d80d55.js → WindowOverlay-43c10424.js} +2 -2
  352. package/amd/{WindowOverlay-a2d80d55.js.map → WindowOverlay-43c10424.js.map} +1 -1
  353. package/amd/{YearsGridView-e758c73a.js → YearsGridView-ddc90c36.js} +2 -2
  354. package/amd/{YearsGridView-e758c73a.js.map → YearsGridView-ddc90c36.js.map} +1 -1
  355. package/amd/hoc/PRIVATE_withDirectionIcon.js +1 -1
  356. package/amd/hoc/PRIVATE_withThemeIcon.js +1 -1
  357. package/amd/hoc/UNSAFE_withThemeProps.js +1 -1
  358. package/amd/hooks/PRIVATE_useChartContextMenu.js +1 -1
  359. package/amd/hooks/PRIVATE_useChartDatatip.js +1 -1
  360. package/amd/hooks/PRIVATE_useChartEvents.js +1 -1
  361. package/amd/hooks/PRIVATE_useChartMarquee.js +1 -1
  362. package/amd/hooks/PRIVATE_useCssVars.js +1 -1
  363. package/amd/hooks/PRIVATE_useCurrentKey.js +1 -1
  364. package/amd/hooks/PRIVATE_useDatatip.js +1 -1
  365. package/amd/hooks/PRIVATE_useFloating.js +1 -1
  366. package/amd/hooks/PRIVATE_useReorderable.js +1 -1
  367. package/amd/hooks/PRIVATE_useRovingTabIndexContainer.js +1 -1
  368. package/amd/hooks/PRIVATE_useSelection.js +1 -1
  369. package/amd/hooks/PRIVATE_useTabBar.js +1 -1
  370. package/amd/hooks/PRIVATE_useVisContextMenu.js +1 -1
  371. package/amd/hooks/PRIVATE_useVisEvents.js +1 -1
  372. package/amd/hooks/PRIVATE_useVisMeterEvents.js +1 -1
  373. package/amd/hooks/PRIVATE_useVisSelection.js +1 -1
  374. package/amd/hooks/UNSAFE_useColorScheme.js +1 -1
  375. package/amd/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  376. package/amd/hooks/UNSAFE_useCurrentBgColor.js +1 -1
  377. package/amd/hooks/UNSAFE_useDensity.js +1 -1
  378. package/amd/hooks/UNSAFE_useOutsideClick.js +1 -1
  379. package/amd/hooks/UNSAFE_usePrefixSuffix.js +1 -1
  380. package/amd/hooks/UNSAFE_useScale.js +1 -1
  381. package/amd/hooks/UNSAFE_useSwipe.js +1 -1
  382. package/amd/hooks/UNSAFE_useTestId.js +1 -1
  383. package/amd/hooks/UNSAFE_useTheme.js +1 -1
  384. package/amd/hooks/UNSAFE_useThemeInterpolations.js +1 -1
  385. package/amd/hooks/UNSAFE_useTooltip.js +1 -1
  386. package/amd/hooks/UNSAFE_useTranslationBundle.js +1 -1
  387. package/amd/hooks/UNSAFE_useUser.js +1 -1
  388. package/amd/{index-735cad6d.js → index-a444ef75.js} +2 -2
  389. package/amd/index-a444ef75.js.map +1 -0
  390. package/amd/listViewSelectionTests-a8209843.js +1 -1
  391. package/amd/render-a1ae323f.js +2 -0
  392. package/amd/{render-4250c759.js.map → render-a1ae323f.js.map} +1 -1
  393. package/amd/{tabbableUtils-9887f50b.js → tabbableUtils-f5e521c8.js} +2 -2
  394. package/amd/{tabbableUtils-9887f50b.js.map → tabbableUtils-f5e521c8.js.map} +1 -1
  395. package/amd/{testData-71364772.js → testData-b22c8f34.js} +2 -2
  396. package/amd/{testData-71364772.js.map → testData-b22c8f34.js.map} +1 -1
  397. package/amd/tooltipUtils-79293e46.js +2 -0
  398. package/amd/{tooltipUtils-3b34c2bc.js.map → tooltipUtils-79293e46.js.map} +1 -1
  399. package/amd/useCellNavigation-1feec094.js +1 -1
  400. package/amd/useChartContextMenu-673e3de0.js +1 -1
  401. package/amd/{useChartDatatip-c702890c.js → useChartDatatip-04fa72c7.js} +2 -2
  402. package/amd/{useChartDatatip-c702890c.js.map → useChartDatatip-04fa72c7.js.map} +1 -1
  403. package/amd/useChartMarquee-62e7676c.js +1 -1
  404. package/amd/{useColorScheme-10dc88de.js → useColorScheme-443e7cc7.js} +2 -2
  405. package/amd/{useColorScheme-10dc88de.js.map → useColorScheme-443e7cc7.js.map} +1 -1
  406. package/amd/useContextMenu-57f18e97.js +1 -1
  407. package/amd/{useCssVars-c043f8da.js → useCssVars-dc52806c.js} +2 -2
  408. package/amd/{useCssVars-c043f8da.js.map → useCssVars-dc52806c.js.map} +1 -1
  409. package/amd/{useCurrentBgColor-2426ee24.js → useCurrentBgColor-50142bd8.js} +2 -2
  410. package/amd/{useCurrentBgColor-2426ee24.js.map → useCurrentBgColor-50142bd8.js.map} +1 -1
  411. package/amd/useCurrentKey-db6f418a.js +2 -0
  412. package/amd/{useCurrentKey-1d869ff4.js.map → useCurrentKey-db6f418a.js.map} +1 -1
  413. package/amd/{useDatatip-87792500.js → useDatatip-748e233f.js} +2 -2
  414. package/amd/{useDatatip-87792500.js.map → useDatatip-748e233f.js.map} +1 -1
  415. package/amd/{useDensity-c83df7b4.js → useDensity-f0f7ae9a.js} +2 -2
  416. package/amd/{useDensity-c83df7b4.js.map → useDensity-f0f7ae9a.js.map} +1 -1
  417. package/amd/{useFloating-8726c4bb.js → useFloating-a2399a51.js} +2 -2
  418. package/amd/{useFloating-8726c4bb.js.map → useFloating-a2399a51.js.map} +1 -1
  419. package/amd/useKeyboardEvents-8ada7a1f.js +2 -0
  420. package/amd/{useKeyboardEvents-d87e3587.js.map → useKeyboardEvents-8ada7a1f.js.map} +1 -1
  421. package/amd/useLegendContextMenu-09c7a5a9.js +1 -1
  422. package/amd/useMeterDatatip-3b5a5112.js +2 -0
  423. package/amd/{useMeterDatatip-3abdf66a.js.map → useMeterDatatip-3b5a5112.js.map} +1 -1
  424. package/amd/{useOutsideClick-5c2a47be.js → useOutsideClick-476e0577.js} +2 -2
  425. package/amd/{useOutsideClick-5c2a47be.js.map → useOutsideClick-476e0577.js.map} +1 -1
  426. package/amd/usePopupAnimation-6445a247.js +2 -0
  427. package/amd/{usePopupAnimation-916ff96d.js.map → usePopupAnimation-6445a247.js.map} +1 -1
  428. package/amd/usePrefixSuffix-f7544e05.js +2 -0
  429. package/amd/{usePrefixSuffix-09bd5925.js.map → usePrefixSuffix-f7544e05.js.map} +1 -1
  430. package/amd/useReorderableItem-7fd4d629.js +1 -1
  431. package/amd/{useRovingTabIndexContainer-05e87912.js → useRovingTabIndexContainer-94cc3710.js} +2 -2
  432. package/amd/{useRovingTabIndexContainer-05e87912.js.map → useRovingTabIndexContainer-94cc3710.js.map} +1 -1
  433. package/amd/useScale-e311d35f.js +2 -0
  434. package/amd/{useScale-37d42c9d.js.map → useScale-e311d35f.js.map} +1 -1
  435. package/amd/useSelectCommon-4e256cf0.js +1 -1
  436. package/amd/{useSelectDrill-a7d833b6.js → useSelectDrill-65d98139.js} +2 -2
  437. package/amd/{useSelectDrill-a7d833b6.js.map → useSelectDrill-65d98139.js.map} +1 -1
  438. package/amd/{useSelection-396ce75f.js → useSelection-4d3a1ea8.js} +2 -2
  439. package/amd/{useSelection-396ce75f.js.map → useSelection-4d3a1ea8.js.map} +1 -1
  440. package/amd/useSelection-a6fd13cf.js +2 -0
  441. package/amd/{useSelection-e2791513.js.map → useSelection-a6fd13cf.js.map} +1 -1
  442. package/amd/useSwipe-d22a98f1.js +2 -0
  443. package/amd/{useSwipe-9600cd2e.js.map → useSwipe-d22a98f1.js.map} +1 -1
  444. package/amd/{useTabBar-423a0c03.js → useTabBar-40842fb9.js} +2 -2
  445. package/amd/{useTabBar-423a0c03.js.map → useTabBar-40842fb9.js.map} +1 -1
  446. package/amd/{useTestId-3a316499.js → useTestId-b5cd4766.js} +2 -2
  447. package/amd/{useTestId-3a316499.js.map → useTestId-b5cd4766.js.map} +1 -1
  448. package/amd/{useTheme-ac980f9a.js → useTheme-a8334e06.js} +2 -2
  449. package/amd/{useTheme-ac980f9a.js.map → useTheme-a8334e06.js.map} +1 -1
  450. package/amd/useThemeInterpolations-e20f8cfa.js +2 -0
  451. package/amd/{useThemeInterpolations-b1d98ea4.js.map → useThemeInterpolations-e20f8cfa.js.map} +1 -1
  452. package/amd/useTooltip-e4089d1a.js +2 -0
  453. package/amd/{useTooltip-6a5fedfa.js.map → useTooltip-e4089d1a.js.map} +1 -1
  454. package/amd/{useTooltipControlled-fb57eb02.js → useTooltipControlled-fafb2f01.js} +2 -2
  455. package/amd/{useTooltipControlled-fb57eb02.js.map → useTooltipControlled-fafb2f01.js.map} +1 -1
  456. package/amd/{useTranslationBundle-516b1b83.js → useTranslationBundle-d07d4b20.js} +2 -2
  457. package/amd/{useTranslationBundle-516b1b83.js.map → useTranslationBundle-d07d4b20.js.map} +1 -1
  458. package/amd/{useUser-85c781ea.js → useUser-3ef25571.js} +2 -2
  459. package/amd/{useUser-85c781ea.js.map → useUser-3ef25571.js.map} +1 -1
  460. package/amd/{useVisEvents-954dcd88.js → useVisEvents-48144382.js} +2 -2
  461. package/amd/{useVisEvents-954dcd88.js.map → useVisEvents-48144382.js.map} +1 -1
  462. package/amd/utils/PRIVATE_tooltipUtils.js +1 -1
  463. package/amd/utils/PRIVATE_visTestUtils.js +1 -1
  464. package/amd/{withDirectionIcon-ce0c7432.js → withDirectionIcon-74c39ee3.js} +2 -2
  465. package/amd/{withDirectionIcon-ce0c7432.js.map → withDirectionIcon-74c39ee3.js.map} +1 -1
  466. package/amd/withThemeProps-4c23997e.js +1 -1
  467. package/cjs/ActionCard-ad0ecc2f.js +1 -1
  468. package/cjs/BarChart-f132cd7c.js +2 -2
  469. package/cjs/BaseButton-ae653e88.js +2 -2
  470. package/cjs/BaseCardView-55bc5e6f.js +6 -6
  471. package/cjs/{BaseCardViewSelectionTest-361f021d.js → BaseCardViewSelectionTest-7b06bd30.js} +6 -6
  472. package/cjs/{BaseCardViewSelectionTest-361f021d.js.map → BaseCardViewSelectionTest-7b06bd30.js.map} +1 -1
  473. package/cjs/BaseNavigationListItem-4b28f14e.js +1 -1
  474. package/cjs/ButtonSet-ce6a890f.js +2 -2
  475. package/cjs/ButtonSetIconButton-d1fb3616.js +3 -3
  476. package/cjs/{Center-c0baccb0.js → Center-9f407cb2.js} +2 -2
  477. package/cjs/{Center-c0baccb0.js.map → Center-9f407cb2.js.map} +1 -1
  478. package/cjs/Chart-42a979a7.js +9 -9
  479. package/cjs/CheckboxControl-2e5aac8b.js +6 -6
  480. package/cjs/CheckboxRadioField-0242222e.js +6 -6
  481. package/cjs/Chip-c49b21a5.js +1 -1
  482. package/cjs/ClearIcon-c8a14c1e.js +1 -1
  483. package/cjs/CollapseIcon-9480e8dd.js +1 -1
  484. package/cjs/Collapsible-ab17d063.js +2 -2
  485. package/cjs/CompactHelpSource-42019592.js +2 -2
  486. package/cjs/{CompactLabelAssistance-fa0fd800.js → CompactLabelAssistance-2e1cd369.js} +5 -5
  487. package/cjs/{CompactLabelAssistance-fa0fd800.js.map → CompactLabelAssistance-2e1cd369.js.map} +1 -1
  488. package/cjs/CompactUserAssistance-62055a51.js +4 -4
  489. package/cjs/ComponentMessageContainer-b6683330.js +4 -4
  490. package/cjs/ConveyorBeltItem-6ec033ae.js +2 -2
  491. package/cjs/{DatePicker-433b80d2.js → DatePicker-670a2473.js} +6 -6
  492. package/cjs/{DatePicker-433b80d2.js.map → DatePicker-670a2473.js.map} +1 -1
  493. package/cjs/DatePickerHeader-1030b799.js +3 -3
  494. package/cjs/{Diagram-5fd0306a.js → Diagram-240bfa89.js} +5 -5
  495. package/cjs/{Diagram-5fd0306a.js.map → Diagram-240bfa89.js.map} +1 -1
  496. package/cjs/{Dialog-c75ebc82.js → Dialog-be0da1e4.js} +6 -6
  497. package/cjs/{Dialog-c75ebc82.js.map → Dialog-be0da1e4.js.map} +1 -1
  498. package/cjs/DirectionalCollapseArrowIcon-6f4b267e.js +1 -1
  499. package/cjs/DirectionalExpandArrowIcon-da3e55cc.js +1 -1
  500. package/cjs/DragHandle-473e7e10.js +1 -1
  501. package/cjs/DrawerLayoutStyles.styles.css +1 -0
  502. package/cjs/{Dropdown-4554e9f9.js → Dropdown-62cd15ca.js} +5 -5
  503. package/cjs/{Dropdown-4554e9f9.js.map → Dropdown-62cd15ca.js.map} +1 -1
  504. package/cjs/{EnvironmentProvider-75eb79f3.js → EnvironmentProvider-bfd5febc.js} +3 -3
  505. package/cjs/{EnvironmentProvider-75eb79f3.js.map → EnvironmentProvider-bfd5febc.js.map} +1 -1
  506. package/cjs/FilePicker-7414764e.js +2 -2
  507. package/cjs/{Flex-e7a85bef.js → Flex-ce16a2fa.js} +2 -2
  508. package/cjs/{Flex-e7a85bef.js.map → Flex-ce16a2fa.js.map} +1 -1
  509. package/cjs/{Floating-25f4e655.js → Floating-43033e19.js} +4 -4
  510. package/cjs/{Floating-25f4e655.js.map → Floating-43033e19.js.map} +1 -1
  511. package/cjs/FormLayout-a7ac29be.js +1 -1
  512. package/cjs/Gantt-efe026b9.js +9 -9
  513. package/cjs/{Grid-a7316edd.js → Grid-b8fadf4a.js} +2 -2
  514. package/cjs/{Grid-a7316edd.js.map → Grid-b8fadf4a.js.map} +1 -1
  515. package/cjs/{Gridlines-b69b67fb.js → Gridlines-2dfe546a.js} +2 -2
  516. package/cjs/{Gridlines-b69b67fb.js.map → Gridlines-2dfe546a.js.map} +1 -1
  517. package/cjs/GroupLoadingIndicator-397feb37.js +1 -1
  518. package/cjs/{HighlightText-dd11dd32.js → HighlightText-2061d12d.js} +2 -2
  519. package/cjs/{HighlightText-dd11dd32.js.map → HighlightText-2061d12d.js.map} +1 -1
  520. package/cjs/Icon-0420d662.js +3 -3
  521. package/cjs/IconButton-e120d23e.js +3 -3
  522. package/cjs/IconMenuButton-64fa2ef1.js +4 -4
  523. package/cjs/IconProgressButton-d6e5198e.js +3 -3
  524. package/cjs/IconSwitchButton-7ff785b5.js +3 -3
  525. package/cjs/IconToggleButton-2661226f.js +3 -3
  526. package/cjs/{IconUserAssistance-4728958a.js → IconUserAssistance-9cb25135.js} +3 -3
  527. package/cjs/{IconUserAssistance-4728958a.js.map → IconUserAssistance-9cb25135.js.map} +1 -1
  528. package/cjs/Indexer-1dfa7ec4.js +4 -4
  529. package/cjs/InlineHelpSource-0549100d.js +1 -1
  530. package/cjs/InlineUserAssistance-5c7fe16e.js +5 -5
  531. package/cjs/InputDateMask-3642bfa3.js +7 -7
  532. package/cjs/InputDatePicker-fe21408c.js +8 -8
  533. package/cjs/InputPassword-ed0dcf1a.js +4 -4
  534. package/cjs/InputText-77261829.js +6 -6
  535. package/cjs/Label-47446013.js +5 -5
  536. package/cjs/LabelValueLayout-4049c1a1.js +1 -1
  537. package/cjs/{Layer-06ec1119.js → Layer-c0d7bdec.js} +3 -3
  538. package/cjs/{Layer-06ec1119.js.map → Layer-c0d7bdec.js.map} +1 -1
  539. package/cjs/{LayerHost-a8c7f182.js → LayerHost-7182bfaf.js} +2 -2
  540. package/cjs/{LayerHost-a8c7f182.js.map → LayerHost-7182bfaf.js.map} +1 -1
  541. package/cjs/{LayerManager-2d0b83ac.js → LayerManager-db087520.js} +2 -2
  542. package/cjs/{LayerManager-2d0b83ac.js.map → LayerManager-db087520.js.map} +1 -1
  543. package/cjs/Legend-fe6cc085.js +3 -3
  544. package/cjs/{LineAreaChart-70fae163.js → LineAreaChart-4f443939.js} +3 -3
  545. package/cjs/{LineAreaChart-70fae163.js.map → LineAreaChart-4f443939.js.map} +1 -1
  546. package/cjs/Link-41805241.js +1 -1
  547. package/cjs/List-2baf37ae.js +5 -5
  548. package/cjs/{ListItemLayout-a4f562c6.js → ListItemLayout-b29d8e9c.js} +2 -2
  549. package/cjs/{ListItemLayout-a4f562c6.js.map → ListItemLayout-b29d8e9c.js.map} +1 -1
  550. package/cjs/ListView-4db96cfd.js +3 -3
  551. package/cjs/{LiveRegion-567427c5.js → LiveRegion-3bc583c6.js} +2 -2
  552. package/cjs/{LiveRegion-567427c5.js.map → LiveRegion-3bc583c6.js.map} +1 -1
  553. package/cjs/{MaxLengthLiveRegion-f03f07c6.js → MaxLengthLiveRegion-5e31c44e.js} +3 -3
  554. package/cjs/{MaxLengthLiveRegion-f03f07c6.js.map → MaxLengthLiveRegion-5e31c44e.js.map} +1 -1
  555. package/cjs/{Menu-f3a85f19.js → Menu-748e93bd.js} +8 -8
  556. package/cjs/{Menu-f3a85f19.js.map → Menu-748e93bd.js.map} +1 -1
  557. package/cjs/MenuButton-03bc20b0.js +3 -3
  558. package/cjs/MenuItem-45d2edd5.js +1 -1
  559. package/cjs/Message-2c831019.js +2 -2
  560. package/cjs/{MessageLayer-a3792fec.js → MessageLayer-4e21820a.js} +6 -6
  561. package/cjs/{MessageLayer-a3792fec.js.map → MessageLayer-4e21820a.js.map} +1 -1
  562. package/cjs/MessageToast-3596e8d2.js +8 -8
  563. package/cjs/MessagesManager-a607a228.js +3 -3
  564. package/cjs/MeterBar-48231b79.js +5 -5
  565. package/cjs/MeterCircle-54562c98.js +5 -5
  566. package/cjs/{Modal-1c5c46ca.js → Modal-3a5d6576.js} +3 -3
  567. package/cjs/{Modal-1c5c46ca.js.map → Modal-3a5d6576.js.map} +1 -1
  568. package/cjs/{MonthView-f587275e.js → MonthView-dea031e2.js} +4 -4
  569. package/cjs/{MonthView-f587275e.js.map → MonthView-dea031e2.js.map} +1 -1
  570. package/cjs/NavigationListItem-7550547a.js +5 -5
  571. package/cjs/NumberInputText-17d50e9d.js +6 -6
  572. package/cjs/OverflowTabBarItem-76059bad.js +3 -3
  573. package/cjs/PRIVATE_BaseCardView.js +20 -20
  574. package/cjs/PRIVATE_Chart.js +30 -30
  575. package/cjs/PRIVATE_CheckboxControl.js +22 -22
  576. package/cjs/PRIVATE_CheckboxRadioField.js +23 -23
  577. package/cjs/PRIVATE_ClearIcon.js +17 -17
  578. package/cjs/PRIVATE_DatePickerHeader.js +19 -19
  579. package/cjs/PRIVATE_DatePickerLayout.js +4 -4
  580. package/cjs/PRIVATE_EmbeddedIconButton.js +3 -3
  581. package/cjs/PRIVATE_FormControls.js +19 -19
  582. package/cjs/PRIVATE_IconSwitchButton.js +15 -15
  583. package/cjs/PRIVATE_Icons/CheckboxMixed.js +15 -15
  584. package/cjs/PRIVATE_Icons/CheckboxOff.js +15 -15
  585. package/cjs/PRIVATE_Icons/CheckboxOn.js +15 -15
  586. package/cjs/PRIVATE_Icons/RadiobuttonOff.js +15 -15
  587. package/cjs/PRIVATE_Icons/RadiobuttonOn.js +15 -15
  588. package/cjs/PRIVATE_Icons/WarningS.js +15 -15
  589. package/cjs/PRIVATE_List.js +19 -19
  590. package/cjs/PRIVATE_Message.js +18 -18
  591. package/cjs/PRIVATE_MessageLayer.js +11 -11
  592. package/cjs/PRIVATE_MonthView.js +7 -7
  593. package/cjs/PRIVATE_MonthYearGridView.js +7 -7
  594. package/cjs/PRIVATE_PlotArea.js +4 -4
  595. package/cjs/PRIVATE_RevealToggleIcon.js +16 -16
  596. package/cjs/PRIVATE_SelectCommon.js +27 -27
  597. package/cjs/PRIVATE_StyledCheckbox.js +15 -15
  598. package/cjs/PRIVATE_Table.js +18 -18
  599. package/cjs/PRIVATE_ThemedIcons/CalendarIcon.js +15 -15
  600. package/cjs/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +15 -15
  601. package/cjs/PRIVATE_ThemedIcons/ChartPanIcon.js +15 -15
  602. package/cjs/PRIVATE_ThemedIcons/ChartZoomIcon.js +15 -15
  603. package/cjs/PRIVATE_ThemedIcons/CheckIcon.js +15 -15
  604. package/cjs/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +15 -15
  605. package/cjs/PRIVATE_ThemedIcons/CheckboxOffIcon.js +15 -15
  606. package/cjs/PRIVATE_ThemedIcons/CheckboxOnIcon.js +15 -15
  607. package/cjs/PRIVATE_ThemedIcons/CloseIcon.js +15 -15
  608. package/cjs/PRIVATE_ThemedIcons/CollapseIcon.js +16 -16
  609. package/cjs/PRIVATE_ThemedIcons/CollapseUpIcon.js +15 -15
  610. package/cjs/PRIVATE_ThemedIcons/DecrementIcon.js +15 -15
  611. package/cjs/PRIVATE_ThemedIcons/DeleteIcon.js +15 -15
  612. package/cjs/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +16 -16
  613. package/cjs/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +16 -16
  614. package/cjs/PRIVATE_ThemedIcons/DropdownArrowIcon.js +15 -15
  615. package/cjs/PRIVATE_ThemedIcons/ExpandIcon.js +15 -15
  616. package/cjs/PRIVATE_ThemedIcons/HelpIcon.js +15 -15
  617. package/cjs/PRIVATE_ThemedIcons/IncrementIcon.js +15 -15
  618. package/cjs/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +15 -15
  619. package/cjs/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +15 -15
  620. package/cjs/PRIVATE_ThemedIcons/MessageErrorIcon.js +15 -15
  621. package/cjs/PRIVATE_ThemedIcons/MessageInfoIcon.js +15 -15
  622. package/cjs/PRIVATE_ThemedIcons/MessageWarningIcon.js +15 -15
  623. package/cjs/PRIVATE_ThemedIcons/MinusIcon.js +15 -15
  624. package/cjs/PRIVATE_ThemedIcons/NavDownIcon.js +15 -15
  625. package/cjs/PRIVATE_ThemedIcons/PlusIcon.js +15 -15
  626. package/cjs/PRIVATE_ThemedIcons/RadioOffIcon.js +15 -15
  627. package/cjs/PRIVATE_ThemedIcons/RadioOnIcon.js +15 -15
  628. package/cjs/PRIVATE_ThemedIcons/SortAscendingIcon.js +15 -15
  629. package/cjs/PRIVATE_ThemedIcons/SortDefaultIcon.js +15 -15
  630. package/cjs/PRIVATE_ThemedIcons/SortDescendingIcon.js +15 -15
  631. package/cjs/PRIVATE_ThemedIcons/ViewHideIcon.js +15 -15
  632. package/cjs/PRIVATE_ThemedIcons/ViewIcon.js +15 -15
  633. package/cjs/PRIVATE_TimeComponent.js +18 -18
  634. package/cjs/PRIVATE_VisTabularDatatip.js +4 -4
  635. package/cjs/PictoChart-e9be6f36.js +6 -6
  636. package/cjs/{PieChart-31a4d639.js → PieChart-6d6e6330.js} +5 -5
  637. package/cjs/{PieChart-31a4d639.js.map → PieChart-6d6e6330.js.map} +1 -1
  638. package/cjs/{Popup-5bf59d47.js → Popup-cc742f4a.js} +9 -9
  639. package/cjs/{Popup-5bf59d47.js.map → Popup-cc742f4a.js.map} +1 -1
  640. package/cjs/{ProgressBar-8a5dc398.js → ProgressBar-3fa6bb2c.js} +3 -3
  641. package/cjs/{ProgressBar-8a5dc398.js.map → ProgressBar-3fa6bb2c.js.map} +1 -1
  642. package/cjs/ProgressButton-b33d7947.js +3 -3
  643. package/cjs/ProgressButtonLabelLayout-26719e28.js +3 -3
  644. package/cjs/{ProgressCircle-ea17b6f7.js → ProgressCircle-d5c3fb49.js} +2 -2
  645. package/cjs/{ProgressCircle-ea17b6f7.js.map → ProgressCircle-d5c3fb49.js.map} +1 -1
  646. package/cjs/RadioItem-b15d604f.js +6 -6
  647. package/cjs/RatingGauge-0e0b34d4.js +7 -7
  648. package/cjs/ReadonlyTextFieldInput-af4ddced.js +1 -1
  649. package/cjs/ReadonlyTextFieldVariants.styles.css +20 -20
  650. package/cjs/ReadonlyTextFieldVariants.styles2.css +20 -20
  651. package/cjs/RemovableNavigationListItem-727e53e8.js +1 -1
  652. package/cjs/RemovableTabBarItem-da075122.js +2 -2
  653. package/cjs/ReorderableTabBar-ded69f11.js +2 -2
  654. package/cjs/RevealToggleIcon-02ef5d24.js +1 -1
  655. package/cjs/SectionalLegend-fba43a68.js +4 -4
  656. package/cjs/{SectionedContent-855ddd57.js → SectionedContent-97955b41.js} +5 -5
  657. package/cjs/{SectionedContent-855ddd57.js.map → SectionedContent-97955b41.js.map} +1 -1
  658. package/cjs/SelectMultiple-2d4eba14.js +8 -8
  659. package/cjs/SelectSingle-731c2ecd.js +7 -7
  660. package/cjs/{SelectionCard-f26fdc87.js → SelectionCard-45a56f1b.js} +2 -2
  661. package/cjs/{SelectionCard-f26fdc87.js.map → SelectionCard-45a56f1b.js.map} +1 -1
  662. package/cjs/Selector-66230e31.js +1 -1
  663. package/cjs/{SelectorAll-f391f675.js → SelectorAll-f2d03afc.js} +7 -7
  664. package/cjs/{SelectorAll-f391f675.js.map → SelectorAll-f2d03afc.js.map} +1 -1
  665. package/cjs/{Sheet-d9371321.js → Sheet-1650f94c.js} +3 -3
  666. package/cjs/{Sheet-d9371321.js.map → Sheet-1650f94c.js.map} +1 -1
  667. package/cjs/SplitMenuButton-0cf8e5a6.js +3 -3
  668. package/cjs/StyledTextField-c9e9ba81.js +3 -3
  669. package/cjs/Submenu-fbcfb818.js +1 -1
  670. package/cjs/TabBar-c13ce35f.js +6 -6
  671. package/cjs/TabBarItem-5a7d5d03.js +3 -3
  672. package/cjs/TabBarLayout-846a4d9a.js +1 -1
  673. package/cjs/TabBarMixed-81309400.js +6 -6
  674. package/cjs/{TabBarMixedSeparator-0e258647.js → TabBarMixedSeparator-0f55c6f6.js} +2 -2
  675. package/cjs/{TabBarMixedSeparator-0e258647.js.map → TabBarMixedSeparator-0f55c6f6.js.map} +1 -1
  676. package/cjs/Table-b137c360.js +8 -8
  677. package/cjs/TagCloud-013c9587.js +9 -9
  678. package/cjs/{TextArea-096f18ad.js → TextArea-792069d7.js} +27 -9
  679. package/{amd/TextArea-916c5bb1.js.map → cjs/TextArea-792069d7.js.map} +1 -1
  680. package/cjs/{TextAreaAutosize-4d30faec.js → TextAreaAutosize-1989de68.js} +8 -8
  681. package/cjs/{TextAreaAutosize-4d30faec.js.map → TextAreaAutosize-1989de68.js.map} +1 -1
  682. package/cjs/TextField-bb91aeef.js +3 -3
  683. package/cjs/TextFieldInput-a2e8dd01.js +1 -1
  684. package/cjs/Theme-redwood/theme.css +202 -202
  685. package/cjs/Theme-stable/theme.css +399 -399
  686. package/cjs/TimeComponentCanvas2D-4de3cd67.js +5 -5
  687. package/cjs/Toolbar-3be490b0.js +1 -1
  688. package/cjs/{TruncatingBadge-bc95a171.js → TruncatingBadge-6e6a04cd.js} +4 -4
  689. package/cjs/{TruncatingBadge-bc95a171.js.map → TruncatingBadge-6e6a04cd.js.map} +1 -1
  690. package/cjs/{TruncatingText-ba11c4fe.js → TruncatingText-c7ab9968.js} +4 -4
  691. package/cjs/{TruncatingText-ba11c4fe.js.map → TruncatingText-c7ab9968.js.map} +1 -1
  692. package/cjs/UNSAFE_ActionCard.js +2 -2
  693. package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +30 -30
  694. package/cjs/UNSAFE_BarChart.js +30 -30
  695. package/cjs/UNSAFE_BaseButton.js +3 -3
  696. package/cjs/UNSAFE_Button.js +3 -3
  697. package/cjs/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +19 -19
  698. package/cjs/UNSAFE_ButtonSet.js +4 -4
  699. package/cjs/UNSAFE_ButtonSetButton.js +3 -3
  700. package/cjs/UNSAFE_ButtonSetIconButton.js +15 -15
  701. package/cjs/UNSAFE_ButtonSetItem.js +15 -15
  702. package/cjs/UNSAFE_ButtonSetMultiple.js +4 -4
  703. package/cjs/UNSAFE_ButtonSetSingle.js +4 -4
  704. package/cjs/UNSAFE_CardFlexView.js +20 -20
  705. package/cjs/UNSAFE_CardGridView.js +20 -20
  706. package/cjs/UNSAFE_Center.js +5 -5
  707. package/cjs/UNSAFE_ChartWithLegend.js +4 -4
  708. package/cjs/UNSAFE_Checkbox.js +22 -22
  709. package/cjs/UNSAFE_CheckboxItem.js +23 -23
  710. package/cjs/UNSAFE_CheckboxSet.js +22 -22
  711. package/cjs/UNSAFE_Chip.js +2 -2
  712. package/cjs/UNSAFE_Collapsible.js +17 -17
  713. package/cjs/UNSAFE_ComponentMessage.js +18 -18
  714. package/cjs/UNSAFE_ConveyorBelt.js +15 -15
  715. package/cjs/UNSAFE_DatePicker.js +24 -24
  716. package/cjs/UNSAFE_Diagram.js +15 -15
  717. package/cjs/UNSAFE_Dialog.js +11 -11
  718. package/cjs/UNSAFE_DragHandle.js +16 -16
  719. package/cjs/UNSAFE_DrawerLayout.js +15 -13
  720. package/cjs/UNSAFE_DrawerLayout.js.map +1 -1
  721. package/cjs/UNSAFE_DrawerPopup.js +11 -11
  722. package/cjs/UNSAFE_Dropdown.js +12 -12
  723. package/cjs/UNSAFE_Environment.js +4 -4
  724. package/cjs/UNSAFE_ExpandableList.js +22 -22
  725. package/cjs/UNSAFE_FilePicker.js +4 -4
  726. package/cjs/UNSAFE_Flex.js +4 -4
  727. package/cjs/UNSAFE_Floating.js +10 -10
  728. package/cjs/UNSAFE_FormLayout.js +2 -2
  729. package/cjs/UNSAFE_Gantt.js +22 -22
  730. package/cjs/UNSAFE_Grid.js +4 -4
  731. package/cjs/UNSAFE_HighlightText.js +4 -4
  732. package/cjs/UNSAFE_Icon.js +15 -15
  733. package/cjs/UNSAFE_IconButton.js +15 -15
  734. package/cjs/UNSAFE_IconMenuButton.js +19 -19
  735. package/cjs/UNSAFE_IconProgressButton.js +19 -19
  736. package/cjs/UNSAFE_IconToggleButton.js +15 -15
  737. package/cjs/UNSAFE_Indexer.js +6 -6
  738. package/cjs/UNSAFE_InputDateMask.js +23 -23
  739. package/cjs/UNSAFE_InputDatePicker.js +32 -32
  740. package/cjs/UNSAFE_InputPassword.js +22 -22
  741. package/cjs/UNSAFE_InputSensitiveText.js +24 -24
  742. package/cjs/UNSAFE_InputText.js +25 -25
  743. package/cjs/UNSAFE_Label.js +22 -22
  744. package/cjs/UNSAFE_LabelValueLayout.js +4 -4
  745. package/cjs/UNSAFE_LabelledLink.js +24 -24
  746. package/cjs/UNSAFE_Layer.js +7 -7
  747. package/cjs/UNSAFE_Legend.js +22 -22
  748. package/cjs/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +30 -30
  749. package/cjs/UNSAFE_LineAreaChart.js +31 -31
  750. package/cjs/UNSAFE_Link.js +2 -2
  751. package/cjs/UNSAFE_ListItemLayout.js +5 -5
  752. package/cjs/UNSAFE_ListView.js +25 -25
  753. package/cjs/UNSAFE_LiveRegion.js +4 -4
  754. package/cjs/UNSAFE_Menu.js +21 -21
  755. package/cjs/UNSAFE_MenuButton.js +19 -19
  756. package/cjs/UNSAFE_MessageBanner.js +18 -18
  757. package/cjs/UNSAFE_MessageToast.js +21 -21
  758. package/cjs/UNSAFE_MeterBar.js +16 -16
  759. package/cjs/UNSAFE_MeterCircle.js +16 -16
  760. package/cjs/UNSAFE_Modal.js +7 -7
  761. package/cjs/UNSAFE_NavigationList.js +19 -19
  762. package/cjs/UNSAFE_NavigationListCommon.js +17 -17
  763. package/cjs/UNSAFE_NumberInputText.js +24 -24
  764. package/cjs/UNSAFE_OverflowTabBar.js +24 -24
  765. package/cjs/UNSAFE_PictoChart.js +13 -13
  766. package/cjs/UNSAFE_PieChart/__test__/PieChart.spec.js +14 -14
  767. package/cjs/UNSAFE_PieChart.js +14 -14
  768. package/cjs/UNSAFE_Popup.js +15 -15
  769. package/cjs/UNSAFE_ProgressBar.js +5 -5
  770. package/cjs/UNSAFE_ProgressButton.js +19 -19
  771. package/cjs/UNSAFE_ProgressButtonLabelLayout.js +10 -10
  772. package/cjs/UNSAFE_ProgressCircle.js +4 -4
  773. package/cjs/UNSAFE_RadioItem.js +22 -22
  774. package/cjs/UNSAFE_RadioSet.js +22 -22
  775. package/cjs/UNSAFE_RatingGauge.js +16 -16
  776. package/cjs/UNSAFE_ReorderableTabBar.js +21 -21
  777. package/cjs/UNSAFE_SectionalLegend.js +23 -23
  778. package/cjs/UNSAFE_SelectMultiple.js +30 -30
  779. package/cjs/UNSAFE_SelectSingle.js +30 -30
  780. package/cjs/UNSAFE_SelectionCard.js +4 -4
  781. package/cjs/UNSAFE_Selector.js +15 -15
  782. package/cjs/UNSAFE_SelectorAll.js +19 -19
  783. package/cjs/UNSAFE_Sheet/__test__/Sheet.spec.js +13 -13
  784. package/cjs/UNSAFE_Sheet.js +10 -10
  785. package/cjs/UNSAFE_SplitMenuButton.js +19 -19
  786. package/cjs/UNSAFE_TabBar.js +25 -25
  787. package/cjs/UNSAFE_TabBarCommon.js +24 -24
  788. package/cjs/UNSAFE_TabBarMixed.js +28 -28
  789. package/cjs/UNSAFE_TableView.js +18 -18
  790. package/cjs/UNSAFE_TagCloud.js +22 -22
  791. package/cjs/UNSAFE_TextArea.js +27 -28
  792. package/cjs/UNSAFE_TextArea.js.map +1 -1
  793. package/cjs/UNSAFE_TextAreaAutosize.js +27 -27
  794. package/cjs/UNSAFE_TextField.js +7 -7
  795. package/cjs/UNSAFE_ToggleButton.js +3 -3
  796. package/cjs/UNSAFE_Toolbar/tests/Toolbar.spec.js +21 -21
  797. package/cjs/UNSAFE_Toolbar.js +4 -4
  798. package/cjs/UNSAFE_Train.js +16 -16
  799. package/cjs/UNSAFE_TruncatingBadge.js +17 -17
  800. package/cjs/UNSAFE_TruncatingText.js +17 -17
  801. package/cjs/UNSAFE_UserAssistance.js +23 -23
  802. package/cjs/UNSAFE_View.js +7 -7
  803. package/cjs/UNSAFE_VirtualizedListView.js +19 -19
  804. package/cjs/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  805. package/cjs/UNSAFE_VisProgressiveLoader.js +6 -6
  806. package/cjs/UNSAFE_VisStatusMessage.js +6 -6
  807. package/cjs/UNSAFE_WindowOverlay.js +4 -4
  808. package/cjs/{View-5930179e.js → View-145a402d.js} +5 -5
  809. package/cjs/{View-5930179e.js.map → View-145a402d.js.map} +1 -1
  810. package/cjs/{VisNoData-2a2477d9.js → VisNoData-d9717007.js} +3 -3
  811. package/cjs/{VisNoData-2a2477d9.js.map → VisNoData-d9717007.js.map} +1 -1
  812. package/cjs/{VisProgressiveLoader-dacfe618.js → VisProgressiveLoader-5ed4eb9d.js} +3 -3
  813. package/cjs/{VisProgressiveLoader-dacfe618.js.map → VisProgressiveLoader-5ed4eb9d.js.map} +1 -1
  814. package/cjs/{VisTabularDatatip-eca8aa8f.js → VisTabularDatatip-a06f4ca3.js} +2 -2
  815. package/cjs/{VisTabularDatatip-eca8aa8f.js.map → VisTabularDatatip-a06f4ca3.js.map} +1 -1
  816. package/cjs/{WindowOverlay-06408f56.js → WindowOverlay-de3bd373.js} +2 -2
  817. package/cjs/{WindowOverlay-06408f56.js.map → WindowOverlay-de3bd373.js.map} +1 -1
  818. package/cjs/{YearsGridView-a80db2d0.js → YearsGridView-c0c0a96d.js} +4 -4
  819. package/cjs/{YearsGridView-a80db2d0.js.map → YearsGridView-c0c0a96d.js.map} +1 -1
  820. package/cjs/hoc/PRIVATE_withDirectionIcon.js +4 -4
  821. package/cjs/hoc/PRIVATE_withThemeIcon.js +3 -3
  822. package/cjs/hoc/UNSAFE_withThemeProps.js +3 -3
  823. package/cjs/hooks/PRIVATE_useChartContextMenu.js +18 -18
  824. package/cjs/hooks/PRIVATE_useChartDatatip.js +13 -13
  825. package/cjs/hooks/PRIVATE_useChartEvents.js +17 -17
  826. package/cjs/hooks/PRIVATE_useChartMarquee.js +17 -17
  827. package/cjs/hooks/PRIVATE_useCssVars.js +7 -7
  828. package/cjs/hooks/PRIVATE_useCurrentKey.js +4 -4
  829. package/cjs/hooks/PRIVATE_useDatatip.js +11 -11
  830. package/cjs/hooks/PRIVATE_useFloating.js +4 -4
  831. package/cjs/hooks/PRIVATE_useReorderable.js +4 -4
  832. package/cjs/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  833. package/cjs/hooks/PRIVATE_useSelection.js +4 -4
  834. package/cjs/hooks/PRIVATE_useTabBar.js +5 -5
  835. package/cjs/hooks/PRIVATE_useVisContextMenu.js +18 -18
  836. package/cjs/hooks/PRIVATE_useVisEvents.js +4 -4
  837. package/cjs/hooks/PRIVATE_useVisMeterEvents.js +13 -13
  838. package/cjs/hooks/PRIVATE_useVisSelection.js +12 -12
  839. package/cjs/hooks/UNSAFE_useColorScheme.js +3 -3
  840. package/cjs/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  841. package/cjs/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  842. package/cjs/hooks/UNSAFE_useDensity.js +3 -3
  843. package/cjs/hooks/UNSAFE_useOutsideClick.js +7 -7
  844. package/cjs/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  845. package/cjs/hooks/UNSAFE_useScale.js +3 -3
  846. package/cjs/hooks/UNSAFE_useSwipe.js +1 -1
  847. package/cjs/hooks/UNSAFE_useTestId.js +3 -3
  848. package/cjs/hooks/UNSAFE_useTheme.js +3 -3
  849. package/cjs/hooks/UNSAFE_useThemeInterpolations.js +5 -5
  850. package/cjs/hooks/UNSAFE_useTooltip.js +16 -16
  851. package/cjs/hooks/UNSAFE_useTranslationBundle.js +3 -3
  852. package/cjs/hooks/UNSAFE_useUser.js +3 -3
  853. package/cjs/{index-3be205e4.js → index-0693e95d.js} +2 -2
  854. package/cjs/index-0693e95d.js.map +1 -0
  855. package/cjs/listViewSelectionTests-b4a48819.js +4 -4
  856. package/cjs/{render-1f26ad67.js → render-0c893805.js} +3 -3
  857. package/cjs/{render-1f26ad67.js.map → render-0c893805.js.map} +1 -1
  858. package/cjs/{tabbableUtils-885d29a2.js → tabbableUtils-63f5918b.js} +3 -3
  859. package/cjs/{tabbableUtils-885d29a2.js.map → tabbableUtils-63f5918b.js.map} +1 -1
  860. package/cjs/{testData-d3502546.js → testData-f0b1927d.js} +3 -3
  861. package/cjs/{testData-d3502546.js.map → testData-f0b1927d.js.map} +1 -1
  862. package/cjs/{tooltipUtils-80224e2c.js → tooltipUtils-7857f698.js} +5 -5
  863. package/cjs/{tooltipUtils-80224e2c.js.map → tooltipUtils-7857f698.js.map} +1 -1
  864. package/cjs/useCellNavigation-6f7cd4c8.js +1 -1
  865. package/cjs/useChartContextMenu-1b415a9b.js +3 -3
  866. package/cjs/{useChartDatatip-95ef7e3b.js → useChartDatatip-bbe0ccc2.js} +4 -4
  867. package/cjs/{useChartDatatip-95ef7e3b.js.map → useChartDatatip-bbe0ccc2.js.map} +1 -1
  868. package/cjs/useChartMarquee-0900e36a.js +1 -1
  869. package/cjs/{useColorScheme-ce2a88b1.js → useColorScheme-e6bef5a4.js} +2 -2
  870. package/cjs/{useColorScheme-ce2a88b1.js.map → useColorScheme-e6bef5a4.js.map} +1 -1
  871. package/cjs/useContextMenu-0b63c292.js +3 -3
  872. package/cjs/{useCssVars-bd95e715.js → useCssVars-9bea15a9.js} +5 -5
  873. package/cjs/{useCssVars-bd95e715.js.map → useCssVars-9bea15a9.js.map} +1 -1
  874. package/cjs/{useCurrentBgColor-6e39eb3a.js → useCurrentBgColor-6835bf45.js} +2 -2
  875. package/cjs/{useCurrentBgColor-6e39eb3a.js.map → useCurrentBgColor-6835bf45.js.map} +1 -1
  876. package/cjs/{useCurrentKey-821dd4cf.js → useCurrentKey-3c1736a2.js} +2 -2
  877. package/cjs/{useCurrentKey-821dd4cf.js.map → useCurrentKey-3c1736a2.js.map} +1 -1
  878. package/cjs/{useDatatip-3d87ecae.js → useDatatip-36741e5a.js} +4 -4
  879. package/cjs/{useDatatip-3d87ecae.js.map → useDatatip-36741e5a.js.map} +1 -1
  880. package/cjs/{useDensity-1f8cc921.js → useDensity-38283c57.js} +2 -2
  881. package/cjs/{useDensity-1f8cc921.js.map → useDensity-38283c57.js.map} +1 -1
  882. package/cjs/{useFloating-f89e60f9.js → useFloating-2b73fcfb.js} +2 -2
  883. package/cjs/{useFloating-f89e60f9.js.map → useFloating-2b73fcfb.js.map} +1 -1
  884. package/cjs/{useKeyboardEvents-5e808fe3.js → useKeyboardEvents-7ab0d8ee.js} +2 -2
  885. package/cjs/{useKeyboardEvents-5e808fe3.js.map → useKeyboardEvents-7ab0d8ee.js.map} +1 -1
  886. package/cjs/useLegendContextMenu-44b38b7d.js +5 -5
  887. package/cjs/{useMeterDatatip-bb4cbbdb.js → useMeterDatatip-7a14c350.js} +3 -3
  888. package/cjs/{useMeterDatatip-bb4cbbdb.js.map → useMeterDatatip-7a14c350.js.map} +1 -1
  889. package/cjs/{useOutsideClick-fe4d642b.js → useOutsideClick-cc17641a.js} +2 -2
  890. package/cjs/{useOutsideClick-fe4d642b.js.map → useOutsideClick-cc17641a.js.map} +1 -1
  891. package/cjs/{usePopupAnimation-db67ce3c.js → usePopupAnimation-c88cbb64.js} +2 -2
  892. package/cjs/{usePopupAnimation-db67ce3c.js.map → usePopupAnimation-c88cbb64.js.map} +1 -1
  893. package/cjs/{usePrefixSuffix-23341de3.js → usePrefixSuffix-1de3a724.js} +2 -2
  894. package/cjs/{usePrefixSuffix-23341de3.js.map → usePrefixSuffix-1de3a724.js.map} +1 -1
  895. package/cjs/useReorderableItem-bd9f073e.js +2 -2
  896. package/cjs/{useRovingTabIndexContainer-1e61d935.js → useRovingTabIndexContainer-fcf1e77b.js} +2 -2
  897. package/cjs/{useRovingTabIndexContainer-1e61d935.js.map → useRovingTabIndexContainer-fcf1e77b.js.map} +1 -1
  898. package/cjs/{useScale-a681a5cb.js → useScale-a47864b4.js} +2 -2
  899. package/cjs/{useScale-a681a5cb.js.map → useScale-a47864b4.js.map} +1 -1
  900. package/cjs/useSelectCommon-12313cdd.js +11 -11
  901. package/cjs/{useSelectDrill-46b40346.js → useSelectDrill-fef4f69b.js} +3 -3
  902. package/cjs/{useSelectDrill-46b40346.js.map → useSelectDrill-fef4f69b.js.map} +1 -1
  903. package/cjs/{useSelection-b45ea7ae.js → useSelection-53bc100d.js} +2 -2
  904. package/cjs/{useSelection-b45ea7ae.js.map → useSelection-53bc100d.js.map} +1 -1
  905. package/cjs/{useSelection-c2d93034.js → useSelection-82cc9108.js} +5 -5
  906. package/cjs/{useSelection-c2d93034.js.map → useSelection-82cc9108.js.map} +1 -1
  907. package/cjs/{useSwipe-45174423.js → useSwipe-d917dcba.js} +15 -15
  908. package/cjs/{useSwipe-45174423.js.map → useSwipe-d917dcba.js.map} +1 -1
  909. package/cjs/{useTabBar-336e81bf.js → useTabBar-c4835f2d.js} +2 -2
  910. package/cjs/{useTabBar-336e81bf.js.map → useTabBar-c4835f2d.js.map} +1 -1
  911. package/cjs/{useTestId-5e6af45d.js → useTestId-e267a39d.js} +2 -2
  912. package/cjs/{useTestId-5e6af45d.js.map → useTestId-e267a39d.js.map} +1 -1
  913. package/cjs/{useTheme-8fb5546b.js → useTheme-6cedf9c8.js} +2 -2
  914. package/cjs/{useTheme-8fb5546b.js.map → useTheme-6cedf9c8.js.map} +1 -1
  915. package/cjs/{useThemeInterpolations-799504a1.js → useThemeInterpolations-67125573.js} +4 -4
  916. package/cjs/{useThemeInterpolations-799504a1.js.map → useThemeInterpolations-67125573.js.map} +1 -1
  917. package/cjs/{useTooltip-f27c5cd0.js → useTooltip-e96e07ae.js} +2 -2
  918. package/cjs/{useTooltip-f27c5cd0.js.map → useTooltip-e96e07ae.js.map} +1 -1
  919. package/cjs/{useTooltipControlled-31213955.js → useTooltipControlled-24a9c567.js} +5 -5
  920. package/cjs/{useTooltipControlled-31213955.js.map → useTooltipControlled-24a9c567.js.map} +1 -1
  921. package/cjs/{useTranslationBundle-51f4c22c.js → useTranslationBundle-6b0281a9.js} +2 -2
  922. package/cjs/{useTranslationBundle-51f4c22c.js.map → useTranslationBundle-6b0281a9.js.map} +1 -1
  923. package/cjs/{useUser-a4bfc560.js → useUser-8aaad5a7.js} +2 -2
  924. package/cjs/{useUser-a4bfc560.js.map → useUser-8aaad5a7.js.map} +1 -1
  925. package/cjs/{useVisEvents-fe2344c8.js → useVisEvents-63ddac11.js} +2 -2
  926. package/cjs/{useVisEvents-fe2344c8.js.map → useVisEvents-63ddac11.js.map} +1 -1
  927. package/cjs/utils/PRIVATE_tooltipUtils.js +13 -13
  928. package/cjs/utils/PRIVATE_visTestUtils.js +5 -5
  929. package/cjs/{withDirectionIcon-1affce30.js → withDirectionIcon-7f758093.js} +2 -2
  930. package/cjs/{withDirectionIcon-1affce30.js.map → withDirectionIcon-7f758093.js.map} +1 -1
  931. package/cjs/withThemeProps-6e15f1c3.js +2 -2
  932. package/es/{BarChart-c68a559c.js → BarChart-cbd9c2bf.js} +2 -2
  933. package/es/{BarChart-c68a559c.js.map → BarChart-cbd9c2bf.js.map} +1 -1
  934. package/es/{useNavigationListItem-31226722.js → BaseNavigationListItem-ac7ef3c3.js} +41 -3
  935. package/es/BaseNavigationListItem-ac7ef3c3.js.map +1 -0
  936. package/es/{Chart-f2438968.js → Chart-8922a0b3.js} +2 -2
  937. package/es/{Chart-f2438968.js.map → Chart-8922a0b3.js.map} +1 -1
  938. package/es/CheckboxSetContext-1be56556.js +9 -0
  939. package/es/CheckboxSetContext-1be56556.js.map +1 -0
  940. package/es/{DatePicker-26b8d37b.js → DatePicker-4fb6d86d.js} +3 -3
  941. package/es/{DatePicker-26b8d37b.js.map → DatePicker-4fb6d86d.js.map} +1 -1
  942. package/es/DrawerLayoutStyles.styles.css +1 -0
  943. package/es/DrawerPopupVariants.styles.css +5 -5
  944. package/es/DrawerPopupVariants.styles2.css +5 -5
  945. package/es/{InputDatePicker-6a5d95c8.js → InputDatePicker-fe26a952.js} +2 -2
  946. package/es/{InputDatePicker-6a5d95c8.js.map → InputDatePicker-fe26a952.js.map} +1 -1
  947. package/es/LabelledLinkVariants.styles.css +3 -3
  948. package/es/LabelledLinkVariants.styles2.css +3 -3
  949. package/es/{LineAreaChart-3a7bc509.js → LineAreaChart-cfb9b43d.js} +2 -2
  950. package/es/{LineAreaChart-3a7bc509.js.map → LineAreaChart-cfb9b43d.js.map} +1 -1
  951. package/es/{MonthView-7521b583.js → MonthView-c3b82ace.js} +2 -2
  952. package/es/{MonthView-7521b583.js.map → MonthView-c3b82ace.js.map} +1 -1
  953. package/es/{NavigationList-d8f472fe.js → NavigationListItem-a336f06f.js} +20 -3
  954. package/es/NavigationListItem-a336f06f.js.map +1 -0
  955. package/es/{OverflowTabBar-5f7698bb.js → OverflowTabBar-7d5212e3.js} +3 -3
  956. package/es/{OverflowTabBar-5f7698bb.js.map → OverflowTabBar-7d5212e3.js.map} +1 -1
  957. package/es/{OverflowTabBarItem-c0ef2c6b.js → OverflowTabBarItem-12249753.js} +3 -4
  958. package/es/{OverflowTabBarItem-c0ef2c6b.js.map → OverflowTabBarItem-12249753.js.map} +1 -1
  959. package/es/PRIVATE_Chart.js +4 -4
  960. package/es/PRIVATE_MonthView.js +9 -9
  961. package/es/PRIVATE_MonthYearGridView.js +7 -7
  962. package/es/{RemovableNavigationListItem-1675a880.js → RemovableNavigationListItem-7032ce3e.js} +2 -3
  963. package/es/{RemovableNavigationListItem-1675a880.js.map → RemovableNavigationListItem-7032ce3e.js.map} +1 -1
  964. package/es/{ReorderableTabBar-8b432272.js → ReorderableTabBar-981af0f2.js} +2 -2
  965. package/es/{ReorderableTabBar-8b432272.js.map → ReorderableTabBar-981af0f2.js.map} +1 -1
  966. package/es/{TabBar-dd778e55.js → TabBar-90cea652.js} +1 -6
  967. package/es/{TabBar-dd778e55.js.map → TabBar-90cea652.js.map} +1 -1
  968. package/es/{TabBarMixed-995f2781.js → TabBarMixed-52ac388e.js} +1 -6
  969. package/es/{TabBarMixed-995f2781.js.map → TabBarMixed-52ac388e.js.map} +1 -1
  970. package/es/Theme-redwood/theme.css +378 -378
  971. package/es/Theme-stable/theme.css +491 -491
  972. package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +5 -5
  973. package/es/UNSAFE_BarChart.js +5 -5
  974. package/es/UNSAFE_CheckboxItem.js +30 -80
  975. package/es/UNSAFE_CheckboxItem.js.map +1 -1
  976. package/es/UNSAFE_CheckboxSet.js +44 -10
  977. package/es/UNSAFE_CheckboxSet.js.map +1 -1
  978. package/es/UNSAFE_DatePicker.js +6 -6
  979. package/es/UNSAFE_DrawerLayout.js +4 -2
  980. package/es/UNSAFE_DrawerLayout.js.map +1 -1
  981. package/es/UNSAFE_DrawerPopup/themes/redwood/DrawerPopupTheme.js +1 -1
  982. package/es/UNSAFE_DrawerPopup/themes/redwood/DrawerPopupVariants.css.js +1 -1
  983. package/es/UNSAFE_DrawerPopup/themes/stable/DrawerPopupTheme.js +1 -1
  984. package/es/UNSAFE_DrawerPopup/themes/stable/DrawerPopupVariants.css.js +1 -1
  985. package/es/UNSAFE_DrawerPopup.js +2 -2
  986. package/es/UNSAFE_InputDatePicker.js +7 -7
  987. package/es/UNSAFE_LabelledLink/themes/redwood/LabelledLinkTheme.js +1 -1
  988. package/es/UNSAFE_LabelledLink/themes/redwood/LabelledLinkVariants.css.js +1 -1
  989. package/es/UNSAFE_LabelledLink/themes/stable/LabelledLinkTheme.js +1 -1
  990. package/es/UNSAFE_LabelledLink/themes/stable/LabelledLinkVariants.css.js +1 -1
  991. package/es/UNSAFE_LabelledLink.js +1 -1
  992. package/es/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +5 -5
  993. package/es/UNSAFE_LineAreaChart.js +5 -5
  994. package/es/UNSAFE_NavigationList.js +13 -15
  995. package/es/UNSAFE_NavigationList.js.map +1 -1
  996. package/es/UNSAFE_NavigationListCommon.js +53 -54
  997. package/es/UNSAFE_NavigationListCommon.js.map +1 -1
  998. package/es/UNSAFE_OverflowTabBar.js +27 -29
  999. package/es/UNSAFE_OverflowTabBar.js.map +1 -1
  1000. package/es/UNSAFE_ReorderableTabBar.js +9 -25
  1001. package/es/UNSAFE_ReorderableTabBar.js.map +1 -1
  1002. package/es/UNSAFE_TabBar.js +26 -28
  1003. package/es/UNSAFE_TabBar.js.map +1 -1
  1004. package/es/UNSAFE_TabBarCommon.js +18 -20
  1005. package/es/UNSAFE_TabBarCommon.js.map +1 -1
  1006. package/es/UNSAFE_TabBarMixed.js +26 -28
  1007. package/es/UNSAFE_TabBarMixed.js.map +1 -1
  1008. package/es/{YearsGridView-e3bde50c.js → YearsGridView-37dfce0c.js} +2 -2
  1009. package/es/{YearsGridView-e3bde50c.js.map → YearsGridView-37dfce0c.js.map} +1 -1
  1010. package/es/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  1011. package/es/hooks/UNSAFE_useSwipe.js +1 -1
  1012. package/es/{useSwipe-818b0c1c.js → useSwipe-b5c1b9ad.js} +15 -15
  1013. package/es/{useSwipe-818b0c1c.js.map → useSwipe-b5c1b9ad.js.map} +1 -1
  1014. package/package.json +2 -2
  1015. package/amd/CompactLabelAssistance-7db2fde2.js +0 -2
  1016. package/amd/Flex-56ecdf4c.js +0 -2
  1017. package/amd/HighlightText-bd4c0101.js +0 -2
  1018. package/amd/LiveRegion-8142ed0d.js +0 -2
  1019. package/amd/MaxLengthLiveRegion-8954fc30.js +0 -2
  1020. package/amd/SectionedContent-6031f8f7.js +0 -2
  1021. package/amd/SelectorAll-53efae22.js +0 -2
  1022. package/amd/TabBarMixedSeparator-8c278254.js +0 -2
  1023. package/amd/TextArea-916c5bb1.js +0 -2
  1024. package/amd/TextAreaAutosize-1f47b470.js +0 -2
  1025. package/amd/TruncatingText-17a6d4b6.js +0 -2
  1026. package/amd/index-735cad6d.js.map +0 -1
  1027. package/amd/render-4250c759.js +0 -2
  1028. package/amd/tooltipUtils-3b34c2bc.js +0 -2
  1029. package/amd/useCurrentKey-1d869ff4.js +0 -2
  1030. package/amd/useKeyboardEvents-d87e3587.js +0 -2
  1031. package/amd/useMeterDatatip-3abdf66a.js +0 -2
  1032. package/amd/usePopupAnimation-916ff96d.js +0 -2
  1033. package/amd/usePrefixSuffix-09bd5925.js +0 -2
  1034. package/amd/useScale-37d42c9d.js +0 -2
  1035. package/amd/useSelection-e2791513.js +0 -2
  1036. package/amd/useSwipe-9600cd2e.js +0 -2
  1037. package/amd/useThemeInterpolations-b1d98ea4.js +0 -2
  1038. package/amd/useTooltip-6a5fedfa.js +0 -2
  1039. package/cjs/MaxLengthCounter-a5370f66.js +0 -27
  1040. package/cjs/index-3be205e4.js.map +0 -1
  1041. package/es/BaseNavigationListItem-d2a00c8f.js +0 -47
  1042. package/es/BaseNavigationListItem-d2a00c8f.js.map +0 -1
  1043. package/es/CheckboxSet-569683fe.js +0 -49
  1044. package/es/CheckboxSet-569683fe.js.map +0 -1
  1045. package/es/NavigationList-d8f472fe.js.map +0 -1
  1046. package/es/NavigationListItem-20ff5d75.js +0 -10
  1047. package/es/NavigationListItem-20ff5d75.js.map +0 -1
  1048. package/es/useNavigationListItem-31226722.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useSelection-e2791513.js","sources":["../../src/hooks/PRIVATE_useSelection/useSelection.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { RefObject } from 'preact';\nimport { useCallback, useRef } from 'preact/hooks';\nimport { Keys, containsKey, isKeyDefined, addKey, removeKey } from '../../utils/UNSAFE_keys';\nimport { SelectionDetail, SelectionMode } from '../../UNSAFE_Collection';\nimport { useUser } from '../UNSAFE_useUser';\nimport { getIsSelectionPending } from '#utils/PRIVATE_textSelectionUtils';\n\n/**\n * Type for selection behavior. See useMultipleSelection hook for details.\n */\nexport const behaviors = ['toggle', 'replace'] as const;\nexport type SelectionBehavior = (typeof behaviors)[number];\n\n/**\n * Type for payload of selection range change event handler\n */\nexport type SelectionRangeDetail<K> = {\n value: { start: K; end: K };\n eventType?: 'shiftSpace' | 'shiftClick' | 'shiftArrowKeys';\n};\n\nconst arrowKeys = new Set(['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']);\n\n/**\n * To get the event type during range selection which is triggered by either of the following gestures\n * shift+space, shift+click, and shift+arrowKeys\n * @param event\n */\nconst getEventType = (event: MouseEvent | KeyboardEvent) => {\n if (event.type === 'click') {\n return 'shiftClick';\n } else if (event.type === 'keyup' && (event as KeyboardEvent).key === ' ') {\n return 'shiftSpace';\n } else if (event.type === 'keydown' && arrowKeys.has((event as KeyboardEvent).key)) {\n return 'shiftArrowKeys';\n }\n return undefined;\n};\n\nconst isShiftModeSupported = <K>(\n anchorKey: K,\n selectedKeys: Keys<K>,\n selectionMode: SelectionMode,\n isClickEvent: boolean\n) => {\n return selectionMode === 'multiple' && (isClickEvent || containsKey(selectedKeys, anchorKey));\n};\n\nconst handleSelect = <K>(\n event: MouseEvent | KeyboardEvent,\n keyExtractor: (element: HTMLElement) => K | null,\n selectedKeys: Keys<K>,\n selectionMode: SelectionMode,\n selectionBehavior: SelectionBehavior,\n isSelectionRequired: boolean,\n keyboardCursorRef: RefObject<K | undefined>,\n anchorKey?: K,\n onChange?: (detail: SelectionDetail<K>) => void,\n onRangeChange?: (detail: SelectionRangeDetail<K>) => void\n) => {\n const itemKey = keyExtractor(event.target as HTMLElement);\n if (itemKey == null) {\n return;\n }\n\n // handle shift key selection\n if (\n event.shiftKey &&\n anchorKey !== undefined &&\n onRangeChange &&\n isShiftModeSupported(anchorKey, selectedKeys, selectionMode, event.type === 'click')\n ) {\n const selected = containsKey(selectedKeys, itemKey);\n const eventType = getEventType(event);\n if (selected && eventType === 'shiftSpace') {\n // during shift+space, deselect the item if it's already selected\n const keySet = removeKey(selectedKeys, itemKey, isSelectionRequired);\n onChange?.({ value: keySet, target: event.target });\n } else {\n onRangeChange({ value: { start: anchorKey, end: itemKey }, eventType });\n }\n // set keyboard selection cursor in case user extends with SHIFT+ARROW\n if (keyboardCursorRef) {\n keyboardCursorRef.current = itemKey;\n }\n return;\n }\n\n const selected = containsKey(selectedKeys, itemKey);\n let keySet = selectedKeys;\n if (!selected) {\n if (\n selectionMode === 'single' ||\n (event as KeyboardEvent).key === 'Enter' ||\n (selectionBehavior === 'replace' && !(event.ctrlKey || event.metaKey))\n ) {\n // should only contains this item key\n keySet = { all: false, keys: new Set([itemKey]) };\n } else {\n // add to existing selected keys\n keySet = addKey(selectedKeys, itemKey);\n }\n } else if ((event as KeyboardEvent).key !== 'Enter') {\n // no de-select for enter key\n if (\n selectionBehavior === 'toggle' ||\n event.ctrlKey ||\n event.metaKey ||\n (event as KeyboardEvent).key === ' '\n ) {\n // de-select only when ctrl/meta key is pressed or selectionBehavior is\n // explicitly set to toggle\n keySet = removeKey(selectedKeys, itemKey, isSelectionRequired);\n } else if (selectionMode === 'multiple' && (selectedKeys.all || selectedKeys.keys.size > 1)) {\n // in this case everything should be de-selected except for this key\n keySet = { all: false, keys: new Set([itemKey]) };\n }\n }\n\n // only invoke callback if there is really a change\n // note onSelectionChange should never be null here\n if (selectedKeys != keySet && onChange) {\n onChange({ value: keySet, target: event.target });\n if (event.type === 'click') {\n event.stopPropagation();\n }\n }\n};\n\n/**\n * Hook for handling various selection mode. This can be reuse by all Collection components.\n * @param keyExtractor function to extract the key based on provided element\n * @param selectedKeys the currently selected keys\n * @param selectionMode the selection mode\n * @param isSelectionRequired true if empty selected key is not allowed, false otherwise\n * @param selectionBehavior the selection behavior. If the value is 'toggle', then the key is\n * added/removed from the current selected keys. If the value is 'replace',\n * then the current selected keys are cleared first before the key is added\n * unless the ctrl/shift/meta key is pressed.\n * @param allowEnterKey whether enter key can be use to change selection.\n * @param onChange callback function that is invoked when selection has changed.\n * @param anchorKey the anchor key. Usually this is the same as current key except when shift key is pressed.\n * @param currentKey the current key\n * @param getVerticalPrevNextKey function to get the previous/next key in the vertical direction based on the current key\n * @param getHorizontalPrevNextKey function to get the previous/next key in the horizontal direction based on the current key\n * @param scrollToKey function to scroll the item with the key to be visible\n * @param onRangeChange callback function that is invoked when the selection range has changed.\n * @returns an event map that the consumer can register as event listeners\n */\nexport function useSelection<K>(\n keyExtractor: (element: HTMLElement) => K | null,\n selectedKeys: Keys<K>,\n selectionMode: SelectionMode,\n isSelectionRequired: boolean,\n selectionBehavior: SelectionBehavior,\n allowEnterKey: boolean,\n onChange?: (detail: SelectionDetail<K>) => void,\n anchorKey?: K,\n currentKey?: K | undefined,\n getVerticalPrevNextKey?: (currentKey: K | undefined, isPrev: boolean) => () => K | null,\n getHorizontalPrevNextKey?: (currentKey: K | undefined, isPrev: boolean) => () => K | null,\n scrollToKey?: (key: K) => void,\n onRangeChange?: (detail: SelectionRangeDetail<K>) => void\n) {\n // ref to track the cursor for the SHIFT+ARROW keyboard selection separately than the anchor of the selection.\n const keyboardSelectionCursor = useRef<K>();\n\n const isTouchPointerRef = useRef<boolean>(false);\n\n const onPointerDown = useCallback(\n (event: PointerEvent) => {\n isTouchPointerRef.current = event.pointerType === 'touch';\n if (event.shiftKey && selectionMode === 'multiple') {\n //Avoid text selection on pointer down\n event.preventDefault();\n }\n },\n [isTouchPointerRef]\n );\n\n const onClick = useCallback(\n (event: MouseEvent) => {\n if (!getIsSelectionPending()) {\n handleSelect<K>(\n event,\n keyExtractor,\n selectedKeys,\n selectionMode,\n isTouchPointerRef.current ? 'toggle' : selectionBehavior,\n isSelectionRequired,\n keyboardSelectionCursor,\n currentKey,\n onChange,\n onRangeChange\n );\n if (!event.shiftKey) {\n // reset keyboard cursor when using mouse to select\n keyboardSelectionCursor.current = undefined;\n }\n }\n },\n [\n keyExtractor,\n selectedKeys,\n selectionMode,\n selectionBehavior,\n isSelectionRequired,\n keyboardSelectionCursor,\n currentKey,\n onChange,\n onRangeChange\n ]\n );\n\n // general keyboard events listen to keyUp for a11y\n const onKeyUp = useCallback(\n (event: KeyboardEvent) => {\n // older browser that we don't support returns 'Spacebar' for space key\n if (event.key === ' ' || (event.key === 'Enter' && allowEnterKey)) {\n handleSelect<K>(\n event,\n keyExtractor,\n selectedKeys,\n selectionMode,\n selectionBehavior,\n isSelectionRequired,\n keyboardSelectionCursor,\n anchorKey,\n onChange,\n event.shiftKey && event.key === ' ' ? onRangeChange : undefined\n );\n }\n },\n [\n keyExtractor,\n selectedKeys,\n selectionMode,\n selectionBehavior,\n isSelectionRequired,\n anchorKey,\n onChange,\n onRangeChange,\n allowEnterKey\n ]\n );\n\n const { direction } = useUser();\n\n // arrowKey events listen to keyDown so they can support holding them down\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n // prevent default (propagation) for keyDown to space bar causing container to scroll\n if (event.key === ' ') {\n event.preventDefault();\n return;\n }\n\n const key = keyboardSelectionCursor.current || currentKey;\n const isRtl = direction === 'rtl';\n\n const keyHandlers: Record<string, (() => K | null) | undefined> = {\n ArrowUp: getVerticalPrevNextKey?.(key, true),\n ArrowDown: getVerticalPrevNextKey?.(key, false),\n ArrowLeft: getHorizontalPrevNextKey?.(key, !isRtl),\n ArrowRight: getHorizontalPrevNextKey?.(key, isRtl)\n };\n const isBothDirections = getVerticalPrevNextKey && getHorizontalPrevNextKey;\n if (Object.keys(keyHandlers).includes(event.key)) {\n if (event.shiftKey && scrollToKey && selectionMode === 'multiple') {\n //Avoid increasing range of selection text selection with arrow keys\n event.preventDefault();\n let keySet = selectedKeys;\n // on first selection event, set keyboard cursor to start at currentKey\n if (!keyboardSelectionCursor.current && isKeyDefined(currentKey)) {\n keySet = { all: false, keys: new Set([currentKey as K]) };\n }\n const newAnchorKey = keyHandlers[event.key];\n const cursorKey = newAnchorKey?.();\n if (cursorKey != null) {\n // keep visible\n scrollToKey(cursorKey);\n\n // if in 2D, use range selection to extend or subtract\n if (isBothDirections) {\n if (onRangeChange && currentKey != null) {\n onRangeChange({\n value: { start: currentKey, end: cursorKey },\n eventType: getEventType(event)\n });\n }\n } else {\n // extend selection\n if (!containsKey(keySet, cursorKey)) {\n keySet = addKey(keySet, cursorKey);\n // subtract from selection\n } else if (\n keyboardSelectionCursor.current != null &&\n keyboardSelectionCursor.current !== cursorKey\n ) {\n keySet = removeKey(keySet, keyboardSelectionCursor.current, isSelectionRequired);\n }\n if (selectedKeys != keySet && onChange) {\n onChange({ value: keySet, target: event.target });\n }\n }\n // update selection cursor\n keyboardSelectionCursor.current = cursorKey;\n }\n } else {\n // reset keyBoard on non-shifted arrow use as this interrupts the extend mode (and would make for messy logic that doesn't align with current Jet behavior)\n keyboardSelectionCursor.current = undefined;\n }\n }\n },\n [\n selectedKeys,\n isSelectionRequired,\n onChange,\n currentKey,\n getVerticalPrevNextKey,\n getHorizontalPrevNextKey,\n scrollToKey,\n direction,\n onRangeChange,\n selectionMode\n ]\n );\n\n const selectionProps =\n selectionMode === 'none' || onChange == null\n ? {}\n : { onPointerDown, onClick, onKeyDown, onKeyUp };\n return { selectionProps };\n}\n"],"names":["arrowKeys","Set","getEventType","event","type","key","has","handleSelect","keyExtractor","selectedKeys","selectionMode","selectionBehavior","isSelectionRequired","keyboardCursorRef","anchorKey","onChange","onRangeChange","itemKey","target","shiftKey","undefined","isClickEvent","containsKey","isShiftModeSupported","selected","eventType","keySet","removeKey","value","start","end","current","ctrlKey","metaKey","all","keys","size","addKey","stopPropagation","allowEnterKey","currentKey","getVerticalPrevNextKey","getHorizontalPrevNextKey","scrollToKey","keyboardSelectionCursor","useRef","isTouchPointerRef","onPointerDown","useCallback","pointerType","preventDefault","onClick","getIsSelectionPending","onKeyUp","direction","useUser","onKeyDown","isRtl","keyHandlers","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","isBothDirections","Object","includes","isKeyDefined","newAnchorKey","cursorKey","selectionProps"],"mappings":"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"}
1
+ {"version":3,"file":"useSelection-a6fd13cf.js","sources":["../../src/hooks/PRIVATE_useSelection/useSelection.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { RefObject } from 'preact';\nimport { useCallback, useRef } from 'preact/hooks';\nimport { Keys, containsKey, isKeyDefined, addKey, removeKey } from '../../utils/UNSAFE_keys';\nimport { SelectionDetail, SelectionMode } from '../../UNSAFE_Collection';\nimport { useUser } from '../UNSAFE_useUser';\nimport { getIsSelectionPending } from '#utils/PRIVATE_textSelectionUtils';\n\n/**\n * Type for selection behavior. See useMultipleSelection hook for details.\n */\nexport const behaviors = ['toggle', 'replace'] as const;\nexport type SelectionBehavior = (typeof behaviors)[number];\n\n/**\n * Type for payload of selection range change event handler\n */\nexport type SelectionRangeDetail<K> = {\n value: { start: K; end: K };\n eventType?: 'shiftSpace' | 'shiftClick' | 'shiftArrowKeys';\n};\n\nconst arrowKeys = new Set(['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']);\n\n/**\n * To get the event type during range selection which is triggered by either of the following gestures\n * shift+space, shift+click, and shift+arrowKeys\n * @param event\n */\nconst getEventType = (event: MouseEvent | KeyboardEvent) => {\n if (event.type === 'click') {\n return 'shiftClick';\n } else if (event.type === 'keyup' && (event as KeyboardEvent).key === ' ') {\n return 'shiftSpace';\n } else if (event.type === 'keydown' && arrowKeys.has((event as KeyboardEvent).key)) {\n return 'shiftArrowKeys';\n }\n return undefined;\n};\n\nconst isShiftModeSupported = <K>(\n anchorKey: K,\n selectedKeys: Keys<K>,\n selectionMode: SelectionMode,\n isClickEvent: boolean\n) => {\n return selectionMode === 'multiple' && (isClickEvent || containsKey(selectedKeys, anchorKey));\n};\n\nconst handleSelect = <K>(\n event: MouseEvent | KeyboardEvent,\n keyExtractor: (element: HTMLElement) => K | null,\n selectedKeys: Keys<K>,\n selectionMode: SelectionMode,\n selectionBehavior: SelectionBehavior,\n isSelectionRequired: boolean,\n keyboardCursorRef: RefObject<K | undefined>,\n anchorKey?: K,\n onChange?: (detail: SelectionDetail<K>) => void,\n onRangeChange?: (detail: SelectionRangeDetail<K>) => void\n) => {\n const itemKey = keyExtractor(event.target as HTMLElement);\n if (itemKey == null) {\n return;\n }\n\n // handle shift key selection\n if (\n event.shiftKey &&\n anchorKey !== undefined &&\n onRangeChange &&\n isShiftModeSupported(anchorKey, selectedKeys, selectionMode, event.type === 'click')\n ) {\n const selected = containsKey(selectedKeys, itemKey);\n const eventType = getEventType(event);\n if (selected && eventType === 'shiftSpace') {\n // during shift+space, deselect the item if it's already selected\n const keySet = removeKey(selectedKeys, itemKey, isSelectionRequired);\n onChange?.({ value: keySet, target: event.target });\n } else {\n onRangeChange({ value: { start: anchorKey, end: itemKey }, eventType });\n }\n // set keyboard selection cursor in case user extends with SHIFT+ARROW\n if (keyboardCursorRef) {\n keyboardCursorRef.current = itemKey;\n }\n return;\n }\n\n const selected = containsKey(selectedKeys, itemKey);\n let keySet = selectedKeys;\n if (!selected) {\n if (\n selectionMode === 'single' ||\n (event as KeyboardEvent).key === 'Enter' ||\n (selectionBehavior === 'replace' && !(event.ctrlKey || event.metaKey))\n ) {\n // should only contains this item key\n keySet = { all: false, keys: new Set([itemKey]) };\n } else {\n // add to existing selected keys\n keySet = addKey(selectedKeys, itemKey);\n }\n } else if ((event as KeyboardEvent).key !== 'Enter') {\n // no de-select for enter key\n if (\n selectionBehavior === 'toggle' ||\n event.ctrlKey ||\n event.metaKey ||\n (event as KeyboardEvent).key === ' '\n ) {\n // de-select only when ctrl/meta key is pressed or selectionBehavior is\n // explicitly set to toggle\n keySet = removeKey(selectedKeys, itemKey, isSelectionRequired);\n } else if (selectionMode === 'multiple' && (selectedKeys.all || selectedKeys.keys.size > 1)) {\n // in this case everything should be de-selected except for this key\n keySet = { all: false, keys: new Set([itemKey]) };\n }\n }\n\n // only invoke callback if there is really a change\n // note onSelectionChange should never be null here\n if (selectedKeys != keySet && onChange) {\n onChange({ value: keySet, target: event.target });\n if (event.type === 'click') {\n event.stopPropagation();\n }\n }\n};\n\n/**\n * Hook for handling various selection mode. This can be reuse by all Collection components.\n * @param keyExtractor function to extract the key based on provided element\n * @param selectedKeys the currently selected keys\n * @param selectionMode the selection mode\n * @param isSelectionRequired true if empty selected key is not allowed, false otherwise\n * @param selectionBehavior the selection behavior. If the value is 'toggle', then the key is\n * added/removed from the current selected keys. If the value is 'replace',\n * then the current selected keys are cleared first before the key is added\n * unless the ctrl/shift/meta key is pressed.\n * @param allowEnterKey whether enter key can be use to change selection.\n * @param onChange callback function that is invoked when selection has changed.\n * @param anchorKey the anchor key. Usually this is the same as current key except when shift key is pressed.\n * @param currentKey the current key\n * @param getVerticalPrevNextKey function to get the previous/next key in the vertical direction based on the current key\n * @param getHorizontalPrevNextKey function to get the previous/next key in the horizontal direction based on the current key\n * @param scrollToKey function to scroll the item with the key to be visible\n * @param onRangeChange callback function that is invoked when the selection range has changed.\n * @returns an event map that the consumer can register as event listeners\n */\nexport function useSelection<K>(\n keyExtractor: (element: HTMLElement) => K | null,\n selectedKeys: Keys<K>,\n selectionMode: SelectionMode,\n isSelectionRequired: boolean,\n selectionBehavior: SelectionBehavior,\n allowEnterKey: boolean,\n onChange?: (detail: SelectionDetail<K>) => void,\n anchorKey?: K,\n currentKey?: K | undefined,\n getVerticalPrevNextKey?: (currentKey: K | undefined, isPrev: boolean) => () => K | null,\n getHorizontalPrevNextKey?: (currentKey: K | undefined, isPrev: boolean) => () => K | null,\n scrollToKey?: (key: K) => void,\n onRangeChange?: (detail: SelectionRangeDetail<K>) => void\n) {\n // ref to track the cursor for the SHIFT+ARROW keyboard selection separately than the anchor of the selection.\n const keyboardSelectionCursor = useRef<K>();\n\n const isTouchPointerRef = useRef<boolean>(false);\n\n const onPointerDown = useCallback(\n (event: PointerEvent) => {\n isTouchPointerRef.current = event.pointerType === 'touch';\n if (event.shiftKey && selectionMode === 'multiple') {\n //Avoid text selection on pointer down\n event.preventDefault();\n }\n },\n [isTouchPointerRef]\n );\n\n const onClick = useCallback(\n (event: MouseEvent) => {\n if (!getIsSelectionPending()) {\n handleSelect<K>(\n event,\n keyExtractor,\n selectedKeys,\n selectionMode,\n isTouchPointerRef.current ? 'toggle' : selectionBehavior,\n isSelectionRequired,\n keyboardSelectionCursor,\n currentKey,\n onChange,\n onRangeChange\n );\n if (!event.shiftKey) {\n // reset keyboard cursor when using mouse to select\n keyboardSelectionCursor.current = undefined;\n }\n }\n },\n [\n keyExtractor,\n selectedKeys,\n selectionMode,\n selectionBehavior,\n isSelectionRequired,\n keyboardSelectionCursor,\n currentKey,\n onChange,\n onRangeChange\n ]\n );\n\n // general keyboard events listen to keyUp for a11y\n const onKeyUp = useCallback(\n (event: KeyboardEvent) => {\n // older browser that we don't support returns 'Spacebar' for space key\n if (event.key === ' ' || (event.key === 'Enter' && allowEnterKey)) {\n handleSelect<K>(\n event,\n keyExtractor,\n selectedKeys,\n selectionMode,\n selectionBehavior,\n isSelectionRequired,\n keyboardSelectionCursor,\n anchorKey,\n onChange,\n event.shiftKey && event.key === ' ' ? onRangeChange : undefined\n );\n }\n },\n [\n keyExtractor,\n selectedKeys,\n selectionMode,\n selectionBehavior,\n isSelectionRequired,\n anchorKey,\n onChange,\n onRangeChange,\n allowEnterKey\n ]\n );\n\n const { direction } = useUser();\n\n // arrowKey events listen to keyDown so they can support holding them down\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n // prevent default (propagation) for keyDown to space bar causing container to scroll\n if (event.key === ' ') {\n event.preventDefault();\n return;\n }\n\n const key = keyboardSelectionCursor.current || currentKey;\n const isRtl = direction === 'rtl';\n\n const keyHandlers: Record<string, (() => K | null) | undefined> = {\n ArrowUp: getVerticalPrevNextKey?.(key, true),\n ArrowDown: getVerticalPrevNextKey?.(key, false),\n ArrowLeft: getHorizontalPrevNextKey?.(key, !isRtl),\n ArrowRight: getHorizontalPrevNextKey?.(key, isRtl)\n };\n const isBothDirections = getVerticalPrevNextKey && getHorizontalPrevNextKey;\n if (Object.keys(keyHandlers).includes(event.key)) {\n if (event.shiftKey && scrollToKey && selectionMode === 'multiple') {\n //Avoid increasing range of selection text selection with arrow keys\n event.preventDefault();\n let keySet = selectedKeys;\n // on first selection event, set keyboard cursor to start at currentKey\n if (!keyboardSelectionCursor.current && isKeyDefined(currentKey)) {\n keySet = { all: false, keys: new Set([currentKey as K]) };\n }\n const newAnchorKey = keyHandlers[event.key];\n const cursorKey = newAnchorKey?.();\n if (cursorKey != null) {\n // keep visible\n scrollToKey(cursorKey);\n\n // if in 2D, use range selection to extend or subtract\n if (isBothDirections) {\n if (onRangeChange && currentKey != null) {\n onRangeChange({\n value: { start: currentKey, end: cursorKey },\n eventType: getEventType(event)\n });\n }\n } else {\n // extend selection\n if (!containsKey(keySet, cursorKey)) {\n keySet = addKey(keySet, cursorKey);\n // subtract from selection\n } else if (\n keyboardSelectionCursor.current != null &&\n keyboardSelectionCursor.current !== cursorKey\n ) {\n keySet = removeKey(keySet, keyboardSelectionCursor.current, isSelectionRequired);\n }\n if (selectedKeys != keySet && onChange) {\n onChange({ value: keySet, target: event.target });\n }\n }\n // update selection cursor\n keyboardSelectionCursor.current = cursorKey;\n }\n } else {\n // reset keyBoard on non-shifted arrow use as this interrupts the extend mode (and would make for messy logic that doesn't align with current Jet behavior)\n keyboardSelectionCursor.current = undefined;\n }\n }\n },\n [\n selectedKeys,\n isSelectionRequired,\n onChange,\n currentKey,\n getVerticalPrevNextKey,\n getHorizontalPrevNextKey,\n scrollToKey,\n direction,\n onRangeChange,\n selectionMode\n ]\n );\n\n const selectionProps =\n selectionMode === 'none' || onChange == null\n ? {}\n : { onPointerDown, onClick, onKeyDown, onKeyUp };\n return { selectionProps };\n}\n"],"names":["arrowKeys","Set","getEventType","event","type","key","has","handleSelect","keyExtractor","selectedKeys","selectionMode","selectionBehavior","isSelectionRequired","keyboardCursorRef","anchorKey","onChange","onRangeChange","itemKey","target","shiftKey","undefined","isClickEvent","containsKey","isShiftModeSupported","selected","eventType","keySet","removeKey","value","start","end","current","ctrlKey","metaKey","all","keys","size","addKey","stopPropagation","allowEnterKey","currentKey","getVerticalPrevNextKey","getHorizontalPrevNextKey","scrollToKey","keyboardSelectionCursor","useRef","isTouchPointerRef","onPointerDown","useCallback","pointerType","preventDefault","onClick","getIsSelectionPending","onKeyUp","direction","useUser","onKeyDown","isRtl","keyHandlers","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","isBothDirections","Object","includes","isKeyDefined","newAnchorKey","cursorKey","selectionProps"],"mappings":"2IA4BA,MAAMA,EAAY,IAAIC,IAAI,CAAC,YAAa,aAAc,UAAW,cAO3DC,EAAgBC,GACD,UAAfA,EAAMC,KACD,aACiB,UAAfD,EAAMC,MAAqD,MAAhCD,EAAwBE,IACrD,aACiB,YAAfF,EAAMC,MAAsBJ,EAAUM,IAAKH,EAAwBE,KACrE,sBADF,EAeHE,EAAe,CACnBJ,EACAK,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAAUT,EAAaL,EAAMe,QACnC,GAAe,MAAXD,EACF,OAIF,GACEd,EAAMgB,eACQC,IAAdN,GACAE,GA9ByB,EAC3BF,EACAL,EACAC,EACAW,IAEyB,aAAlBX,IAAiCW,GAAgBC,EAAWA,YAACb,EAAcK,IAyBhFS,CAAqBT,EAAWL,EAAcC,EAA8B,UAAfP,EAAMC,MACnE,CACA,MAAMoB,EAAWF,EAAAA,YAAYb,EAAcQ,GACrCQ,EAAYvB,EAAaC,GAC/B,GAAIqB,GAA0B,eAAdC,EAA4B,CAE1C,MAAMC,EAASC,EAASA,UAAClB,EAAcQ,EAASL,GAChDG,IAAW,CAAEa,MAAOF,EAAQR,OAAQf,EAAMe,QAC3C,MACCF,EAAc,CAAEY,MAAO,CAAEC,MAAOf,EAAWgB,IAAKb,GAAWQ,cAM7D,YAHIZ,IACFA,EAAkBkB,QAAUd,GAG/B,CAGD,IAAIS,EAASjB,EADIa,EAAAA,YAAYb,EAAcQ,GAcC,UAAhCd,EAAwBE,MAGV,WAAtBM,GACAR,EAAM6B,SACN7B,EAAM8B,SAC2B,MAAhC9B,EAAwBE,IAIzBqB,EAASC,EAAAA,UAAUlB,EAAcQ,EAASL,GACf,aAAlBF,IAAiCD,EAAayB,KAAOzB,EAAa0B,KAAKC,KAAO,KAEvFV,EAAS,CAAEQ,KAAK,EAAOC,KAAM,IAAIlC,IAAI,CAACgB,OAlBtCS,EALkB,WAAlBhB,GACiC,UAAhCP,EAAwBE,KACF,YAAtBM,IAAqCR,EAAM6B,UAAW7B,EAAM8B,QAGpD,CAAEC,KAAK,EAAOC,KAAM,IAAIlC,IAAI,CAACgB,KAG7BoB,EAAMA,OAAC5B,EAAcQ,GAqB9BR,GAAgBiB,GAAUX,IAC5BA,EAAS,CAAEa,MAAOF,EAAQR,OAAQf,EAAMe,SACrB,UAAff,EAAMC,MACRD,EAAMmC,kBAET,iBAuBG,SACJ9B,EACAC,EACAC,EACAE,EACAD,EACA4B,EACAxB,EACAD,EACA0B,EACAC,EACAC,EACAC,EACA3B,GAGA,MAAM4B,EAA0BC,EAAAA,SAE1BC,EAAoBD,UAAgB,GAEpCE,EAAgBC,eACnB7C,IACC2C,EAAkBf,QAAgC,UAAtB5B,EAAM8C,YAC9B9C,EAAMgB,UAA8B,aAAlBT,GAEpBP,EAAM+C,gBACP,GAEH,CAACJ,IAGGK,EAAUH,eACb7C,IACMiD,EAAqBA,0BACxB7C,EACEJ,EACAK,EACAC,EACAC,EACAoC,EAAkBf,QAAU,SAAWpB,EACvCC,EACAgC,EACAJ,EACAzB,EACAC,GAEGb,EAAMgB,WAETyB,EAAwBb,aAAUX,GAErC,GAEH,CACEZ,EACAC,EACAC,EACAC,EACAC,EACAgC,EACAJ,EACAzB,EACAC,IAKEqC,EAAUL,eACb7C,KAEmB,MAAdA,EAAME,KAA8B,UAAdF,EAAME,KAAmBkC,IACjDhC,EACEJ,EACAK,EACAC,EACAC,EACAC,EACAC,EACAgC,EACA9B,EACAC,EACAZ,EAAMgB,UAA0B,MAAdhB,EAAME,IAAcW,OAAgBI,EAEzD,GAEH,CACEZ,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,EACAC,EACAuB,KAIEe,UAAEA,GAAcC,EAAAA,UAGhBC,EAAYR,eACf7C,IAEC,GAAkB,MAAdA,EAAME,IAER,YADAF,EAAM+C,iBAIR,MAAM7C,EAAMuC,EAAwBb,SAAWS,EACzCiB,EAAsB,QAAdH,EAERI,EAA4D,CAChEC,QAASlB,IAAyBpC,GAAK,GACvCuD,UAAWnB,IAAyBpC,GAAK,GACzCwD,UAAWnB,IAA2BrC,GAAMoD,GAC5CK,WAAYpB,IAA2BrC,EAAKoD,IAExCM,EAAmBtB,GAA0BC,EACnD,GAAIsB,OAAO7B,KAAKuB,GAAaO,SAAS9D,EAAME,KAC1C,GAAIF,EAAMgB,UAAYwB,GAAiC,aAAlBjC,EAA8B,CAEjEP,EAAM+C,iBACN,IAAIxB,EAASjB,GAERmC,EAAwBb,SAAWmC,EAAYA,aAAC1B,KACnDd,EAAS,CAAEQ,KAAK,EAAOC,KAAM,IAAIlC,IAAI,CAACuC,MAExC,MAAM2B,EAAeT,EAAYvD,EAAME,KACjC+D,EAAYD,MACD,MAAbC,IAEFzB,EAAYyB,GAGRL,EACE/C,GAA+B,MAAdwB,GACnBxB,EAAc,CACZY,MAAO,CAAEC,MAAOW,EAAYV,IAAKsC,GACjC3C,UAAWvB,EAAaC,MAKvBmB,EAAWA,YAACI,EAAQ0C,GAIY,MAAnCxB,EAAwBb,SACxBa,EAAwBb,UAAYqC,IAEpC1C,EAASC,EAASA,UAACD,EAAQkB,EAAwBb,QAASnB,IAN5Dc,EAASW,EAAMA,OAACX,EAAQ0C,GAQtB3D,GAAgBiB,GAAUX,GAC5BA,EAAS,CAAEa,MAAOF,EAAQR,OAAQf,EAAMe,UAI5C0B,EAAwBb,QAAUqC,EAErC,MAECxB,EAAwBb,aAAUX,CAErC,GAEH,CACEX,EACAG,EACAG,EACAyB,EACAC,EACAC,EACAC,EACAW,EACAtC,EACAN,IAQJ,MAAO,CAAE2D,eAHW,SAAlB3D,GAAwC,MAAZK,EACxB,CAAE,EACF,CAAEgC,gBAAeI,UAASK,YAAWH,WAE7C"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/hooks'], (function(e,t){"use strict";e.useSwipe=function(e,{threshold:n=10,maximumTime:r=300,tolerance:i=50,isDisabled:l=!1}={threshold:10,maximumTime:300,tolerance:50,isDisabled:!1}){const c=t.useRef({pointerDownId:0,startTime:null,prevClientX:0,prevClientY:0}),o=t.useCallback((()=>{c.current={pointerDownId:null,startTime:0,prevClientX:0,prevClientY:0}}),[]),p=t.useCallback((e=>{c.current.pointerDownId?o():c.current={pointerDownId:e.pointerId,startTime:e.timeStamp,prevClientX:e.clientX,prevClientY:e.clientY}}),[o]),a=t.useCallback((t=>{t.pointerId===c.current.pointerDownId&&c.current.startTime&&t.timeStamp-c.current.startTime<r&&(c.current.prevClientX-t.clientX>n&&Math.abs(t.clientY-c.current.prevClientY)<=i?e?.({direction:"left"}):t.clientX-c.current.prevClientX>n&&Math.abs(t.clientY-c.current.prevClientY)<=i?e?.({direction:"right"}):c.current.prevClientY-t.clientY>n&&Math.abs(t.clientX-c.current.prevClientX)<=i?e?.({direction:"up"}):t.clientY-c.current.prevClientY>n&&Math.abs(t.clientX-c.current.prevClientX)<=i&&e?.({direction:"down"})),o()}),[n,e,o,r,i]);return{swipeProps:l?{}:{onPointerDown:p,onPointerUp:a,onPointerCancel:o}}}}));
2
+ //# sourceMappingURL=useSwipe-d22a98f1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSwipe-9600cd2e.js","sources":["../../src/hooks/UNSAFE_useSwipe/useSwipe.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useRef, useCallback } from 'preact/hooks';\n\n/*\n threshold: Minimal threshold required before recognizing\n tolerance: A tolerance value which allows the user to move their finger about a length measured in pixels.\n This allows the swipe gesture to be triggered more easily since a User might not move their finger\n in a straight line.\n*/\ntype SwipeOptions = {\n threshold?: number;\n maximumTime?: number;\n tolerance?: number;\n isDisabled?: boolean;\n};\n\ntype SwipeInfo = {\n direction: 'left' | 'right' | 'up' | 'down';\n};\n\ntype SwipeState = {\n pointerDownId: number | null;\n startTime: number | null;\n prevoffsetX: number;\n prevoffsetY: number;\n};\n\nexport function useSwipe(\n onSwipe: (e: SwipeInfo) => void,\n { threshold = 10, maximumTime = 300, tolerance = 50, isDisabled = false }: SwipeOptions = {\n threshold: 10,\n maximumTime: 300,\n tolerance: 50,\n isDisabled: false\n }\n): { swipeProps: Record<string, any> } {\n const ref = useRef<SwipeState>({\n pointerDownId: 0,\n startTime: null,\n prevoffsetX: 0,\n prevoffsetY: 0\n });\n\n const clearSwipe = useCallback(() => {\n ref.current = {\n pointerDownId: null,\n startTime: 0,\n prevoffsetX: 0,\n prevoffsetY: 0\n };\n }, []);\n\n const onPointerDown = useCallback(\n (e: PointerEvent) => {\n if (!ref.current.pointerDownId) {\n ref.current = {\n pointerDownId: e.pointerId,\n startTime: e.timeStamp,\n prevoffsetX: e.offsetX,\n prevoffsetY: e.offsetY\n };\n } else {\n clearSwipe();\n }\n },\n [clearSwipe]\n );\n\n const onPointerUp = useCallback(\n (ev: PointerEvent) => {\n if (ev.pointerId === ref.current.pointerDownId) {\n if (ref.current.startTime && ev.timeStamp - ref.current.startTime < maximumTime) {\n if (\n ref.current.prevoffsetX - ev.offsetX > threshold &&\n Math.abs(ev.offsetY - ref.current.prevoffsetY) <= tolerance\n ) {\n onSwipe?.({ direction: 'left' });\n } else if (\n ev.offsetX - ref.current.prevoffsetX > threshold &&\n Math.abs(ev.offsetY - ref.current.prevoffsetY) <= tolerance\n ) {\n onSwipe?.({ direction: 'right' });\n } else if (\n ref.current.prevoffsetY - ev.offsetY > threshold &&\n Math.abs(ev.offsetX - ref.current.prevoffsetX) <= tolerance\n ) {\n onSwipe?.({ direction: 'up' });\n } else if (\n ev.offsetY - ref.current.prevoffsetY > threshold &&\n Math.abs(ev.offsetX - ref.current.prevoffsetX) <= tolerance\n ) {\n onSwipe?.({ direction: 'down' });\n }\n }\n }\n // state would be reset to its original state whether swipe is completed or cancelled\n clearSwipe();\n },\n [threshold, onSwipe, clearSwipe, maximumTime, tolerance]\n );\n\n const swipeProps = isDisabled\n ? {}\n : {\n /** event handlers to spread on the target element. */\n onPointerDown,\n onPointerUp,\n onPointerCancel: clearSwipe\n };\n\n return {\n swipeProps\n };\n}\n"],"names":["onSwipe","threshold","maximumTime","tolerance","isDisabled","ref","useRef","pointerDownId","startTime","prevoffsetX","prevoffsetY","clearSwipe","useCallback","current","onPointerDown","e","pointerId","timeStamp","offsetX","offsetY","onPointerUp","ev","Math","abs","direction","swipeProps","onPointerCancel"],"mappings":"yEAkCM,SACJA,GACAC,UAAEA,EAAY,GAAEC,YAAEA,EAAc,IAAGC,UAAEA,EAAY,GAAEC,WAAEA,GAAa,GAAwB,CACxFH,UAAW,GACXC,YAAa,IACbC,UAAW,GACXC,YAAY,IAGd,MAAMC,EAAMC,EAAAA,OAAmB,CAC7BC,cAAe,EACfC,UAAW,KACXC,YAAa,EACbC,YAAa,IAGTC,EAAaC,EAAAA,aAAY,KAC7BP,EAAIQ,QAAU,CACZN,cAAe,KACfC,UAAW,EACXC,YAAa,EACbC,YAAa,EACd,GACA,IAEGI,EAAgBF,eACnBG,IACMV,EAAIQ,QAAQN,cAQfI,IAPAN,EAAIQ,QAAU,CACZN,cAAeQ,EAAEC,UACjBR,UAAWO,EAAEE,UACbR,YAAaM,EAAEG,QACfR,YAAaK,EAAEI,QAIlB,GAEH,CAACR,IAGGS,EAAcR,eACjBS,IACKA,EAAGL,YAAcX,EAAIQ,QAAQN,eAC3BF,EAAIQ,QAAQL,WAAaa,EAAGJ,UAAYZ,EAAIQ,QAAQL,UAAYN,IAEhEG,EAAIQ,QAAQJ,YAAcY,EAAGH,QAAUjB,GACvCqB,KAAKC,IAAIF,EAAGF,QAAUd,EAAIQ,QAAQH,cAAgBP,EAElDH,IAAU,CAAEwB,UAAW,SAEvBH,EAAGH,QAAUb,EAAIQ,QAAQJ,YAAcR,GACvCqB,KAAKC,IAAIF,EAAGF,QAAUd,EAAIQ,QAAQH,cAAgBP,EAElDH,IAAU,CAAEwB,UAAW,UAEvBnB,EAAIQ,QAAQH,YAAcW,EAAGF,QAAUlB,GACvCqB,KAAKC,IAAIF,EAAGH,QAAUb,EAAIQ,QAAQJ,cAAgBN,EAElDH,IAAU,CAAEwB,UAAW,OAEvBH,EAAGF,QAAUd,EAAIQ,QAAQH,YAAcT,GACvCqB,KAAKC,IAAIF,EAAGH,QAAUb,EAAIQ,QAAQJ,cAAgBN,GAElDH,IAAU,CAAEwB,UAAW,UAK7Bb,GAAY,GAEd,CAACV,EAAWD,EAASW,EAAYT,EAAaC,IAYhD,MAAO,CACLsB,WAViBrB,EACf,CAAE,EACF,CAEEU,gBACAM,cACAM,gBAAiBf,GAMzB"}
1
+ {"version":3,"file":"useSwipe-d22a98f1.js","sources":["../../src/hooks/UNSAFE_useSwipe/useSwipe.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useRef, useCallback } from 'preact/hooks';\n\n/*\n threshold: Minimal threshold required before recognizing\n tolerance: A tolerance value which allows the user to move their finger about a length measured in pixels.\n This allows the swipe gesture to be triggered more easily since a User might not move their finger\n in a straight line.\n*/\ntype SwipeOptions = {\n threshold?: number;\n maximumTime?: number;\n tolerance?: number;\n isDisabled?: boolean;\n};\n\ntype SwipeInfo = {\n direction: 'left' | 'right' | 'up' | 'down';\n};\n\ntype SwipeState = {\n pointerDownId: number | null;\n startTime: number | null;\n prevClientX: number;\n prevClientY: number;\n};\n\nexport function useSwipe(\n onSwipe: (e: SwipeInfo) => void,\n { threshold = 10, maximumTime = 300, tolerance = 50, isDisabled = false }: SwipeOptions = {\n threshold: 10,\n maximumTime: 300,\n tolerance: 50,\n isDisabled: false\n }\n): { swipeProps: Record<string, any> } {\n const ref = useRef<SwipeState>({\n pointerDownId: 0,\n startTime: null,\n prevClientX: 0,\n prevClientY: 0\n });\n\n const clearSwipe = useCallback(() => {\n ref.current = {\n pointerDownId: null,\n startTime: 0,\n prevClientX: 0,\n prevClientY: 0\n };\n }, []);\n\n const onPointerDown = useCallback(\n (e: PointerEvent) => {\n if (!ref.current.pointerDownId) {\n ref.current = {\n pointerDownId: e.pointerId,\n startTime: e.timeStamp,\n prevClientX: e.clientX,\n prevClientY: e.clientY\n };\n } else {\n clearSwipe();\n }\n },\n [clearSwipe]\n );\n\n const onPointerUp = useCallback(\n (ev: PointerEvent) => {\n if (ev.pointerId === ref.current.pointerDownId) {\n if (ref.current.startTime && ev.timeStamp - ref.current.startTime < maximumTime) {\n if (\n ref.current.prevClientX - ev.clientX > threshold &&\n Math.abs(ev.clientY - ref.current.prevClientY) <= tolerance\n ) {\n onSwipe?.({ direction: 'left' });\n } else if (\n ev.clientX - ref.current.prevClientX > threshold &&\n Math.abs(ev.clientY - ref.current.prevClientY) <= tolerance\n ) {\n onSwipe?.({ direction: 'right' });\n } else if (\n ref.current.prevClientY - ev.clientY > threshold &&\n Math.abs(ev.clientX - ref.current.prevClientX) <= tolerance\n ) {\n onSwipe?.({ direction: 'up' });\n } else if (\n ev.clientY - ref.current.prevClientY > threshold &&\n Math.abs(ev.clientX - ref.current.prevClientX) <= tolerance\n ) {\n onSwipe?.({ direction: 'down' });\n }\n }\n }\n // state would be reset to its original state whether swipe is completed or cancelled\n clearSwipe();\n },\n [threshold, onSwipe, clearSwipe, maximumTime, tolerance]\n );\n\n const swipeProps = isDisabled\n ? {}\n : {\n /** event handlers to spread on the target element. */\n onPointerDown,\n onPointerUp,\n onPointerCancel: clearSwipe\n };\n\n return {\n swipeProps\n };\n}\n"],"names":["onSwipe","threshold","maximumTime","tolerance","isDisabled","ref","useRef","pointerDownId","startTime","prevClientX","prevClientY","clearSwipe","useCallback","current","onPointerDown","e","pointerId","timeStamp","clientX","clientY","onPointerUp","ev","Math","abs","direction","swipeProps","onPointerCancel"],"mappings":"yEAkCM,SACJA,GACAC,UAAEA,EAAY,GAAEC,YAAEA,EAAc,IAAGC,UAAEA,EAAY,GAAEC,WAAEA,GAAa,GAAwB,CACxFH,UAAW,GACXC,YAAa,IACbC,UAAW,GACXC,YAAY,IAGd,MAAMC,EAAMC,EAAAA,OAAmB,CAC7BC,cAAe,EACfC,UAAW,KACXC,YAAa,EACbC,YAAa,IAGTC,EAAaC,EAAAA,aAAY,KAC7BP,EAAIQ,QAAU,CACZN,cAAe,KACfC,UAAW,EACXC,YAAa,EACbC,YAAa,EACd,GACA,IAEGI,EAAgBF,eACnBG,IACMV,EAAIQ,QAAQN,cAQfI,IAPAN,EAAIQ,QAAU,CACZN,cAAeQ,EAAEC,UACjBR,UAAWO,EAAEE,UACbR,YAAaM,EAAEG,QACfR,YAAaK,EAAEI,QAIlB,GAEH,CAACR,IAGGS,EAAcR,eACjBS,IACKA,EAAGL,YAAcX,EAAIQ,QAAQN,eAC3BF,EAAIQ,QAAQL,WAAaa,EAAGJ,UAAYZ,EAAIQ,QAAQL,UAAYN,IAEhEG,EAAIQ,QAAQJ,YAAcY,EAAGH,QAAUjB,GACvCqB,KAAKC,IAAIF,EAAGF,QAAUd,EAAIQ,QAAQH,cAAgBP,EAElDH,IAAU,CAAEwB,UAAW,SAEvBH,EAAGH,QAAUb,EAAIQ,QAAQJ,YAAcR,GACvCqB,KAAKC,IAAIF,EAAGF,QAAUd,EAAIQ,QAAQH,cAAgBP,EAElDH,IAAU,CAAEwB,UAAW,UAEvBnB,EAAIQ,QAAQH,YAAcW,EAAGF,QAAUlB,GACvCqB,KAAKC,IAAIF,EAAGH,QAAUb,EAAIQ,QAAQJ,cAAgBN,EAElDH,IAAU,CAAEwB,UAAW,OAEvBH,EAAGF,QAAUd,EAAIQ,QAAQH,YAAcT,GACvCqB,KAAKC,IAAIF,EAAGH,QAAUb,EAAIQ,QAAQJ,cAAgBN,GAElDH,IAAU,CAAEwB,UAAW,UAK7Bb,GAAY,GAEd,CAACV,EAAWD,EAASW,EAAYT,EAAaC,IAYhD,MAAO,CACLsB,WAViBrB,EACf,CAAE,EACF,CAEEU,gBACAM,cACAM,gBAAiBf,GAMzB"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/hooks', './mergeProps-bcfa6a92', './collectionUtils-6740111c', './useCollectionFocusRing-64636529', './useCurrentKey-1d869ff4', './useId-c9578d26'], (function(e,t,r,n,o,s,c){"use strict";const u='[role="tab"]',i="data-oj-removable";const l=(e,t,r)=>{const o=e.closest(t);if(o){if(o.hasAttribute(i)){const t=e.closest(r);if(t&&o?.contains(t))return null}return n.getKey(o)}return null},a=(e,t,r)=>{const n=r.indexOf(e);if(-1===n)return t[0];let o=0,s=!1;for(n===r.length-1?(o=n-1,s=!0):o=n+1;o!==n&&o>-1&&o<r.length;){const e=r[o];if(-1!==t.indexOf(e))return e;s?o--:o++}return t[0]};e.useTabBar=function(e){const{children:f,class:y,display:d,edge:g="top",selection:m,onSelect:b,onRemove:v,ref:p,size:K}=e,h=t.useRef(null),R=p||h,k=c.useId(),[x,A]=t.useState(m),[E,P]=t.useState(!1),S=k+"_",C=t.useRef();t.useEffect((()=>{if(R.current){const e=Array.from(R.current.querySelectorAll(u)).map((e=>n.getKey(e)));x&&!e.includes(x)&&(C.current?A(a(x,e,C.current)):A(e[0])),C.current=e}}),[f,x,R]);const[F,w]=o.useCollectionFocusRing(R,["ArrowRight","ArrowLeft","Home","End"]),{currentKeyProps:B}=s.useCurrentKey((e=>v?l(e,u,'[data-oj-tabbar-item-remove-icon="true"]'):n.keyExtractor(e,u)),!1,void 0,void 0,n.getPrevNextKeyUsingRef(R,x,!0,u),n.getPrevNextKeyUsingRef(R,x,!1,u),x,(e=>{A(e.value),P(!1)})),D={onKeyDown:e=>{if(R.current&&x){if("Home"===e.key||"End"===e.key){const t=Array.from(R.current.querySelectorAll(u),(e=>n.getKey(e)));e.preventDefault(),A?.(t["Home"===e.key?0:t.length-1])}if("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),b?.({value:x})),"Delete"===e.key){n.findElementByKey(R.current,x,u).hasAttribute(i)&&v?.({value:x})}"Escape"===e.key&&P(!0)}},onFocus:()=>{if(R.current&&void 0===x){const e=n.getFirstVisibleKey(R.current,u);e&&A(e)}}};return{rootProps:r.mergeProps({"aria-activedescendant":x?S+x:"","aria-multiselectable":!1,class:y,ref:R,role:"tablist",tabIndex:0},B,w,D),tabBarContext:{currentKey:x,display:d,isEdgeBottom:"bottom"===g,layout:"condense",onRemove:v,onSelect:b,showFocusRing:F,hideTooltip:E,selection:m,size:K,tabItemPrefix:S}}}}));
2
- //# sourceMappingURL=useTabBar-423a0c03.js.map
1
+ define(['exports', 'preact/hooks', './mergeProps-bcfa6a92', './collectionUtils-6740111c', './useCollectionFocusRing-64636529', './useCurrentKey-db6f418a', './useId-c9578d26'], (function(e,t,r,n,o,s,c){"use strict";const u='[role="tab"]',i="data-oj-removable";const l=(e,t,r)=>{const o=e.closest(t);if(o){if(o.hasAttribute(i)){const t=e.closest(r);if(t&&o?.contains(t))return null}return n.getKey(o)}return null},a=(e,t,r)=>{const n=r.indexOf(e);if(-1===n)return t[0];let o=0,s=!1;for(n===r.length-1?(o=n-1,s=!0):o=n+1;o!==n&&o>-1&&o<r.length;){const e=r[o];if(-1!==t.indexOf(e))return e;s?o--:o++}return t[0]};e.useTabBar=function(e){const{children:f,class:y,display:d,edge:g="top",selection:m,onSelect:b,onRemove:v,ref:p,size:K}=e,h=t.useRef(null),R=p||h,k=c.useId(),[x,A]=t.useState(m),[E,P]=t.useState(!1),S=k+"_",C=t.useRef();t.useEffect((()=>{if(R.current){const e=Array.from(R.current.querySelectorAll(u)).map((e=>n.getKey(e)));x&&!e.includes(x)&&(C.current?A(a(x,e,C.current)):A(e[0])),C.current=e}}),[f,x,R]);const[F,w]=o.useCollectionFocusRing(R,["ArrowRight","ArrowLeft","Home","End"]),{currentKeyProps:B}=s.useCurrentKey((e=>v?l(e,u,'[data-oj-tabbar-item-remove-icon="true"]'):n.keyExtractor(e,u)),!1,void 0,void 0,n.getPrevNextKeyUsingRef(R,x,!0,u),n.getPrevNextKeyUsingRef(R,x,!1,u),x,(e=>{A(e.value),P(!1)})),D={onKeyDown:e=>{if(R.current&&x){if("Home"===e.key||"End"===e.key){const t=Array.from(R.current.querySelectorAll(u),(e=>n.getKey(e)));e.preventDefault(),A?.(t["Home"===e.key?0:t.length-1])}if("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),b?.({value:x})),"Delete"===e.key){n.findElementByKey(R.current,x,u).hasAttribute(i)&&v?.({value:x})}"Escape"===e.key&&P(!0)}},onFocus:()=>{if(R.current&&void 0===x){const e=n.getFirstVisibleKey(R.current,u);e&&A(e)}}};return{rootProps:r.mergeProps({"aria-activedescendant":x?S+x:"","aria-multiselectable":!1,class:y,ref:R,role:"tablist",tabIndex:0},B,w,D),tabBarContext:{currentKey:x,display:d,isEdgeBottom:"bottom"===g,layout:"condense",onRemove:v,onSelect:b,showFocusRing:F,hideTooltip:E,selection:m,size:K,tabItemPrefix:S}}}}));
2
+ //# sourceMappingURL=useTabBar-40842fb9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTabBar-423a0c03.js","sources":["../../src/hooks/PRIVATE_useTabBar/useTabBar.ts"],"sourcesContent":["import { useState, useRef, useEffect } from 'preact/hooks';\nimport { mergeProps } from '../../utils/UNSAFE_mergeProps';\nimport {\n getPrevNextKeyUsingRef,\n getFirstVisibleKey,\n getKey,\n keyExtractor,\n findElementByKey\n} from '../../utils/PRIVATE_collectionUtils';\nimport { useCollectionFocusRing } from '../PRIVATE_useCollectionFocusRing';\nimport { useCurrentKey } from '../PRIVATE_useCurrentKey';\nimport { useId } from '../UNSAFE_useId';\n\nimport { ComponentProps, ContextType, RefObject } from 'preact';\nimport type { TabBarContext, TabBarLayout } from '../../UNSAFE_TabBarCommon';\n\ntype TabBarContextValue = ContextType<typeof TabBarContext>;\n\nexport type useTabBarOptions = {\n class?: string;\n display?: TabBarContextValue['display'];\n edge?: 'bottom' | 'top';\n onRemove?: TabBarContextValue['onRemove'];\n onSelect?: TabBarContextValue['onSelect'];\n ref?: RefObject<HTMLDivElement>;\n selection?: TabBarContextValue['selection'];\n size?: TabBarContextValue['size'];\n children?: ComponentProps<typeof TabBarLayout>['children'];\n};\n\nconst ITEM_SELECTOR = '[role=\"tab\"]';\nconst REMOVABLE_ICON_SELECTOR = '[data-oj-tabbar-item-remove-icon=\"true\"]';\nconst REMOVABLE_ITEM_ATTRIBUTE = 'data-oj-removable';\n\n/**\n * Implements TabBar behavior for focus and keyboad handling\n */\nexport function useTabBar<K extends string | number>(options: useTabBarOptions) {\n const {\n children,\n class: className,\n display,\n edge = 'top',\n selection,\n onSelect,\n onRemove,\n ref: userRef,\n size\n } = options;\n\n const internalRef = useRef<HTMLDivElement>(null);\n const rootRef = userRef || internalRef;\n\n const tabId = useId();\n const [currentKey, setCurrentKey] = useState<K | undefined>(selection as K);\n const [hideTooltip, setHideTooltip] = useState(false);\n\n const tabItemPrefix = tabId + '_';\n\n /**\n * A reference to the previous set of tab keys that this TabBar\n * contains before children were re-rendered. In the event the \"current\" tab\n * is removed and the \"currentKey\" reference is broken, we can redirect\n * the \"currentKey\" to another tab based on the index of the removed tab.\n */\n const prevTabKeys = useRef<(string | number | undefined)[]>();\n\n useEffect(() => {\n if (rootRef.current) {\n const tabKeys = Array.from(rootRef.current.querySelectorAll(ITEM_SELECTOR)).map((elem) =>\n getKey(elem as HTMLElement)\n );\n if (currentKey && !tabKeys.includes(currentKey as K)) {\n //If prevTabs does not exist set the first visible key as currentKey\n prevTabKeys.current\n ? setCurrentKey(findNextValidKey(currentKey, tabKeys, prevTabKeys.current) as K)\n : setCurrentKey(tabKeys[0] as K);\n }\n prevTabKeys.current = tabKeys;\n }\n }, [children, currentKey, rootRef]);\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(rootRef, [\n 'ArrowRight',\n 'ArrowLeft',\n 'Home',\n 'End'\n ]);\n\n const { currentKeyProps } = useCurrentKey(\n (element) =>\n onRemove\n ? extractOnlyItemKey(element, ITEM_SELECTOR, REMOVABLE_ICON_SELECTOR)\n : keyExtractor(element, ITEM_SELECTOR),\n false,\n undefined,\n undefined,\n getPrevNextKeyUsingRef(rootRef, currentKey, true, ITEM_SELECTOR),\n getPrevNextKeyUsingRef(rootRef, currentKey, false, ITEM_SELECTOR),\n currentKey,\n (detail) => {\n setCurrentKey(detail.value as K);\n setHideTooltip(false);\n }\n );\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (rootRef.current && currentKey) {\n if (event.key === 'Home' || event.key === 'End') {\n const tabBarItemKey = Array.from(rootRef.current.querySelectorAll(ITEM_SELECTOR), (elem) =>\n getKey(elem as HTMLElement)\n );\n event.preventDefault();\n setCurrentKey?.(tabBarItemKey[event.key === 'Home' ? 0 : tabBarItemKey.length - 1] as K);\n }\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onSelect?.({ value: currentKey });\n }\n if (event.key === 'Delete') {\n const tabBarItem = findElementByKey(\n rootRef.current,\n currentKey,\n ITEM_SELECTOR\n ) as HTMLElement;\n if (tabBarItem.hasAttribute(REMOVABLE_ITEM_ATTRIBUTE)) {\n onRemove?.({ value: currentKey });\n }\n }\n if (event.key === 'Escape') {\n setHideTooltip(true);\n }\n }\n };\n\n const onFocus = () => {\n if (rootRef.current && currentKey === undefined) {\n const key = getFirstVisibleKey(rootRef.current, ITEM_SELECTOR);\n if (key) {\n setCurrentKey(key as K);\n }\n }\n };\n\n const eventProps = { onKeyDown, onFocus };\n\n return {\n rootProps: mergeProps(\n {\n 'aria-activedescendant': currentKey ? tabItemPrefix + currentKey : '',\n 'aria-multiselectable': false,\n class: className,\n ref: rootRef,\n role: 'tablist',\n tabIndex: 0\n },\n currentKeyProps,\n focusRingProps,\n eventProps\n ),\n tabBarContext: {\n currentKey,\n display,\n isEdgeBottom: edge === 'bottom',\n layout: 'condense',\n onRemove,\n onSelect,\n showFocusRing,\n hideTooltip,\n selection,\n size,\n tabItemPrefix\n }\n } as const;\n}\n\n//useCurrentKey use click capture that captures first click, which is on remove button\n//when we remove and sets the item being removed to currentKey. So we should not allow\n//this if click is on remove button\nconst extractOnlyItemKey = (element: HTMLElement, itemSelector: string, itemEliminator: string) => {\n const tabBarItem = element.closest(itemSelector);\n if (tabBarItem) {\n if (tabBarItem.hasAttribute(REMOVABLE_ITEM_ATTRIBUTE)) {\n const removeButton = element.closest(itemEliminator);\n if (removeButton && tabBarItem?.contains(removeButton)) {\n return null;\n }\n }\n return getKey(tabBarItem as HTMLElement);\n }\n return null;\n};\n\nconst findNextValidKey = <K>(currentKey: K, currTabs: K[], prevTabs: K[]) => {\n const index = prevTabs.indexOf(currentKey);\n // update current key to be the first one if currentKey is invalid\n if (index === -1) {\n return currTabs[0];\n }\n let nextIndex = 0;\n let isLastKey = false;\n if (index === prevTabs.length - 1) {\n nextIndex = index - 1;\n isLastKey = true;\n } else {\n nextIndex = index + 1;\n }\n while (nextIndex !== index && nextIndex > -1 && nextIndex < prevTabs.length) {\n const nextKey = prevTabs[nextIndex];\n if (currTabs.indexOf(nextKey) !== -1) {\n return nextKey;\n }\n isLastKey ? nextIndex-- : nextIndex++;\n }\n // update current key to be the first one if we can't find a suitable next key\n return currTabs[0];\n};\n"],"names":["ITEM_SELECTOR","REMOVABLE_ITEM_ATTRIBUTE","extractOnlyItemKey","element","itemSelector","itemEliminator","tabBarItem","closest","hasAttribute","removeButton","contains","getKey","findNextValidKey","currentKey","currTabs","prevTabs","index","indexOf","nextIndex","isLastKey","length","nextKey","options","children","class","className","display","edge","selection","onSelect","onRemove","ref","userRef","size","internalRef","useRef","rootRef","tabId","useId","setCurrentKey","useState","hideTooltip","setHideTooltip","tabItemPrefix","prevTabKeys","useEffect","current","tabKeys","Array","from","querySelectorAll","map","elem","includes","showFocusRing","focusRingProps","useCollectionFocusRing","currentKeyProps","useCurrentKey","keyExtractor","undefined","getPrevNextKeyUsingRef","detail","value","eventProps","onKeyDown","event","key","tabBarItemKey","preventDefault","findElementByKey","onFocus","getFirstVisibleKey","rootProps","mergeProps","role","tabIndex","tabBarContext","isEdgeBottom","layout"],"mappings":"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"}
1
+ {"version":3,"file":"useTabBar-40842fb9.js","sources":["../../src/hooks/PRIVATE_useTabBar/useTabBar.ts"],"sourcesContent":["import { useState, useRef, useEffect } from 'preact/hooks';\nimport { mergeProps } from '../../utils/UNSAFE_mergeProps';\nimport {\n getPrevNextKeyUsingRef,\n getFirstVisibleKey,\n getKey,\n keyExtractor,\n findElementByKey\n} from '../../utils/PRIVATE_collectionUtils';\nimport { useCollectionFocusRing } from '../PRIVATE_useCollectionFocusRing';\nimport { useCurrentKey } from '../PRIVATE_useCurrentKey';\nimport { useId } from '../UNSAFE_useId';\n\nimport { ComponentProps, ContextType, RefObject } from 'preact';\nimport type { TabBarContext, TabBarLayout } from '../../UNSAFE_TabBarCommon';\n\ntype TabBarContextValue = ContextType<typeof TabBarContext>;\n\nexport type useTabBarOptions = {\n class?: string;\n display?: TabBarContextValue['display'];\n edge?: 'bottom' | 'top';\n onRemove?: TabBarContextValue['onRemove'];\n onSelect?: TabBarContextValue['onSelect'];\n ref?: RefObject<HTMLDivElement>;\n selection?: TabBarContextValue['selection'];\n size?: TabBarContextValue['size'];\n children?: ComponentProps<typeof TabBarLayout>['children'];\n};\n\nconst ITEM_SELECTOR = '[role=\"tab\"]';\nconst REMOVABLE_ICON_SELECTOR = '[data-oj-tabbar-item-remove-icon=\"true\"]';\nconst REMOVABLE_ITEM_ATTRIBUTE = 'data-oj-removable';\n\n/**\n * Implements TabBar behavior for focus and keyboad handling\n */\nexport function useTabBar<K extends string | number>(options: useTabBarOptions) {\n const {\n children,\n class: className,\n display,\n edge = 'top',\n selection,\n onSelect,\n onRemove,\n ref: userRef,\n size\n } = options;\n\n const internalRef = useRef<HTMLDivElement>(null);\n const rootRef = userRef || internalRef;\n\n const tabId = useId();\n const [currentKey, setCurrentKey] = useState<K | undefined>(selection as K);\n const [hideTooltip, setHideTooltip] = useState(false);\n\n const tabItemPrefix = tabId + '_';\n\n /**\n * A reference to the previous set of tab keys that this TabBar\n * contains before children were re-rendered. In the event the \"current\" tab\n * is removed and the \"currentKey\" reference is broken, we can redirect\n * the \"currentKey\" to another tab based on the index of the removed tab.\n */\n const prevTabKeys = useRef<(string | number | undefined)[]>();\n\n useEffect(() => {\n if (rootRef.current) {\n const tabKeys = Array.from(rootRef.current.querySelectorAll(ITEM_SELECTOR)).map((elem) =>\n getKey(elem as HTMLElement)\n );\n if (currentKey && !tabKeys.includes(currentKey as K)) {\n //If prevTabs does not exist set the first visible key as currentKey\n prevTabKeys.current\n ? setCurrentKey(findNextValidKey(currentKey, tabKeys, prevTabKeys.current) as K)\n : setCurrentKey(tabKeys[0] as K);\n }\n prevTabKeys.current = tabKeys;\n }\n }, [children, currentKey, rootRef]);\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(rootRef, [\n 'ArrowRight',\n 'ArrowLeft',\n 'Home',\n 'End'\n ]);\n\n const { currentKeyProps } = useCurrentKey(\n (element) =>\n onRemove\n ? extractOnlyItemKey(element, ITEM_SELECTOR, REMOVABLE_ICON_SELECTOR)\n : keyExtractor(element, ITEM_SELECTOR),\n false,\n undefined,\n undefined,\n getPrevNextKeyUsingRef(rootRef, currentKey, true, ITEM_SELECTOR),\n getPrevNextKeyUsingRef(rootRef, currentKey, false, ITEM_SELECTOR),\n currentKey,\n (detail) => {\n setCurrentKey(detail.value as K);\n setHideTooltip(false);\n }\n );\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (rootRef.current && currentKey) {\n if (event.key === 'Home' || event.key === 'End') {\n const tabBarItemKey = Array.from(rootRef.current.querySelectorAll(ITEM_SELECTOR), (elem) =>\n getKey(elem as HTMLElement)\n );\n event.preventDefault();\n setCurrentKey?.(tabBarItemKey[event.key === 'Home' ? 0 : tabBarItemKey.length - 1] as K);\n }\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onSelect?.({ value: currentKey });\n }\n if (event.key === 'Delete') {\n const tabBarItem = findElementByKey(\n rootRef.current,\n currentKey,\n ITEM_SELECTOR\n ) as HTMLElement;\n if (tabBarItem.hasAttribute(REMOVABLE_ITEM_ATTRIBUTE)) {\n onRemove?.({ value: currentKey });\n }\n }\n if (event.key === 'Escape') {\n setHideTooltip(true);\n }\n }\n };\n\n const onFocus = () => {\n if (rootRef.current && currentKey === undefined) {\n const key = getFirstVisibleKey(rootRef.current, ITEM_SELECTOR);\n if (key) {\n setCurrentKey(key as K);\n }\n }\n };\n\n const eventProps = { onKeyDown, onFocus };\n\n return {\n rootProps: mergeProps(\n {\n 'aria-activedescendant': currentKey ? tabItemPrefix + currentKey : '',\n 'aria-multiselectable': false,\n class: className,\n ref: rootRef,\n role: 'tablist',\n tabIndex: 0\n },\n currentKeyProps,\n focusRingProps,\n eventProps\n ),\n tabBarContext: {\n currentKey,\n display,\n isEdgeBottom: edge === 'bottom',\n layout: 'condense',\n onRemove,\n onSelect,\n showFocusRing,\n hideTooltip,\n selection,\n size,\n tabItemPrefix\n }\n } as const;\n}\n\n//useCurrentKey use click capture that captures first click, which is on remove button\n//when we remove and sets the item being removed to currentKey. So we should not allow\n//this if click is on remove button\nconst extractOnlyItemKey = (element: HTMLElement, itemSelector: string, itemEliminator: string) => {\n const tabBarItem = element.closest(itemSelector);\n if (tabBarItem) {\n if (tabBarItem.hasAttribute(REMOVABLE_ITEM_ATTRIBUTE)) {\n const removeButton = element.closest(itemEliminator);\n if (removeButton && tabBarItem?.contains(removeButton)) {\n return null;\n }\n }\n return getKey(tabBarItem as HTMLElement);\n }\n return null;\n};\n\nconst findNextValidKey = <K>(currentKey: K, currTabs: K[], prevTabs: K[]) => {\n const index = prevTabs.indexOf(currentKey);\n // update current key to be the first one if currentKey is invalid\n if (index === -1) {\n return currTabs[0];\n }\n let nextIndex = 0;\n let isLastKey = false;\n if (index === prevTabs.length - 1) {\n nextIndex = index - 1;\n isLastKey = true;\n } else {\n nextIndex = index + 1;\n }\n while (nextIndex !== index && nextIndex > -1 && nextIndex < prevTabs.length) {\n const nextKey = prevTabs[nextIndex];\n if (currTabs.indexOf(nextKey) !== -1) {\n return nextKey;\n }\n isLastKey ? nextIndex-- : nextIndex++;\n }\n // update current key to be the first one if we can't find a suitable next key\n return currTabs[0];\n};\n"],"names":["ITEM_SELECTOR","REMOVABLE_ITEM_ATTRIBUTE","extractOnlyItemKey","element","itemSelector","itemEliminator","tabBarItem","closest","hasAttribute","removeButton","contains","getKey","findNextValidKey","currentKey","currTabs","prevTabs","index","indexOf","nextIndex","isLastKey","length","nextKey","options","children","class","className","display","edge","selection","onSelect","onRemove","ref","userRef","size","internalRef","useRef","rootRef","tabId","useId","setCurrentKey","useState","hideTooltip","setHideTooltip","tabItemPrefix","prevTabKeys","useEffect","current","tabKeys","Array","from","querySelectorAll","map","elem","includes","showFocusRing","focusRingProps","useCollectionFocusRing","currentKeyProps","useCurrentKey","keyExtractor","undefined","getPrevNextKeyUsingRef","detail","value","eventProps","onKeyDown","event","key","tabBarItemKey","preventDefault","findElementByKey","onFocus","getFirstVisibleKey","rootProps","mergeProps","role","tabIndex","tabBarContext","isEdgeBottom","layout"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- define(['exports', './LayerHost-e95c5f30', 'preact/jsx-runtime', 'preact/hooks', 'preact/compat'], (function(t,e,n,o,r){"use strict";t.useTestId=function(t){return"production"===o.useContext(e.EnvironmentContext).mode||""===t?{}:{"data-testid":t}}}));
2
- //# sourceMappingURL=useTestId-3a316499.js.map
1
+ define(['exports', './LayerHost-639b3284', 'preact/jsx-runtime', 'preact/hooks', 'preact/compat'], (function(t,e,n,o,r){"use strict";t.useTestId=function(t){return"production"===o.useContext(e.EnvironmentContext).mode||""===t?{}:{"data-testid":t}}}));
2
+ //# sourceMappingURL=useTestId-b5cd4766.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTestId-3a316499.js","sources":["../../src/hooks/UNSAFE_useTestId/useTestId.ts"],"sourcesContent":["import { EnvironmentContext } from '../../UNSAFE_Environment';\nimport { useContext } from 'preact/hooks';\n\nexport type TestIdProps = {\n testId?: string;\n};\n/**\n * Returns the set of attributes to be applied to the DOM node if the application's mode is not\n * set to \"production\".\n */\nexport function useTestId(testId?: string) {\n const context = useContext(EnvironmentContext);\n return context.mode === 'production' || testId === ''\n ? {}\n : {\n 'data-testid': testId\n };\n}\n"],"names":["testId","useContext","EnvironmentContext","mode"],"mappings":"4IAUM,SAAoBA,GAExB,MAAwB,eADRC,aAAWC,EAAAA,oBACZC,MAAoC,KAAXH,EACpC,CAAE,EACF,CACE,cAAeA,EAEvB"}
1
+ {"version":3,"file":"useTestId-b5cd4766.js","sources":["../../src/hooks/UNSAFE_useTestId/useTestId.ts"],"sourcesContent":["import { EnvironmentContext } from '../../UNSAFE_Environment';\nimport { useContext } from 'preact/hooks';\n\nexport type TestIdProps = {\n testId?: string;\n};\n/**\n * Returns the set of attributes to be applied to the DOM node if the application's mode is not\n * set to \"production\".\n */\nexport function useTestId(testId?: string) {\n const context = useContext(EnvironmentContext);\n return context.mode === 'production' || testId === ''\n ? {}\n : {\n 'data-testid': testId\n };\n}\n"],"names":["testId","useContext","EnvironmentContext","mode"],"mappings":"4IAUM,SAAoBA,GAExB,MAAwB,eADRC,aAAWC,EAAAA,oBACZC,MAAoC,KAAXH,EACpC,CAAE,EACF,CACE,cAAeA,EAEvB"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/hooks', './LayerHost-e95c5f30', 'preact/jsx-runtime', 'preact/compat'], (function(e,t,n,o,r){"use strict";e.useTheme=function(){return t.useContext(n.EnvironmentContext).theme}}));
2
- //# sourceMappingURL=useTheme-ac980f9a.js.map
1
+ define(['exports', 'preact/hooks', './LayerHost-639b3284', 'preact/jsx-runtime', 'preact/compat'], (function(e,t,n,o,r){"use strict";e.useTheme=function(){return t.useContext(n.EnvironmentContext).theme}}));
2
+ //# sourceMappingURL=useTheme-a8334e06.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme-ac980f9a.js","sources":["../../src/hooks/UNSAFE_useTheme/useTheme.ts"],"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 { useContext } from 'preact/hooks';\nimport { EnvironmentContext } from '../../UNSAFE_Environment';\n\nexport function useTheme() {\n return useContext(EnvironmentContext).theme;\n}\n"],"names":["useContext","EnvironmentContext","theme"],"mappings":"sJAYE,OAAOA,EAAUA,WAACC,sBAAoBC,KACxC"}
1
+ {"version":3,"file":"useTheme-a8334e06.js","sources":["../../src/hooks/UNSAFE_useTheme/useTheme.ts"],"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 { useContext } from 'preact/hooks';\nimport { EnvironmentContext } from '../../UNSAFE_Environment';\n\nexport function useTheme() {\n return useContext(EnvironmentContext).theme;\n}\n"],"names":["useContext","EnvironmentContext","theme"],"mappings":"sJAYE,OAAOA,EAAUA,WAACC,sBAAoBC,KACxC"}
@@ -0,0 +1,2 @@
1
+ define(['exports', './useColorScheme-443e7cc7', './useScale-e311d35f', './theme-a8f3d819', './mergeInterpolations-9ede4cf7', './LayerHost-639b3284'], (function(e,o,t,s,n,c){"use strict";e.useThemeInterpolations=function(){const e=o.useColorScheme(),r=t.useScale(),l=r!==c.DefaultEnvironment.scale?r:void 0,a=n.mergeInterpolations([...Object.values(s.themeInterpolations)]),{class:u}=a({colorScheme:e,scale:l});return u}}));
2
+ //# sourceMappingURL=useThemeInterpolations-e20f8cfa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeInterpolations-b1d98ea4.js","sources":["../../src/hooks/UNSAFE_useThemeInterpolations/useThemeInterpolations.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useColorScheme } from '../UNSAFE_useColorScheme';\nimport { useScale } from '../UNSAFE_useScale';\nimport { themeInterpolations } from '../../utils/UNSAFE_interpolations/theme';\nimport type { ThemeProps } from '../../utils/UNSAFE_interpolations/theme';\nimport { mergeInterpolations } from '../../utils/UNSAFE_mergeInterpolations';\nimport { DefaultEnvironment } from '../../UNSAFE_Environment/EnvironmentContext';\n\n// This hook encasulates the logic required to determine which theme style classes are needed\n// for the current environment context's colorScheme and scale value. This would be used when\n// rendering dom outside of the current dom tree, but desire to match the colorScheme and scale\n// of the original dom tree.\nexport function useThemeInterpolations() {\n const colorScheme = useColorScheme();\n const currentScale = useScale();\n // We don't want to interpolate the default environment values for scacle. Those should get picked up by default.\n // This fixes an issue for core pack components that utilize the Layer component, when in a legacy cookbook page.\n const scale = currentScale !== DefaultEnvironment.scale ? currentScale : undefined;\n\n const interpolations = mergeInterpolations<ThemeProps>([...Object.values(themeInterpolations)]);\n const { class: classes } = interpolations({ colorScheme, scale });\n return classes;\n}\n"],"names":["colorScheme","useColorScheme","currentScale","useScale","scale","DefaultEnvironment","undefined","interpolations","mergeInterpolations","Object","values","themeInterpolations","class","classes"],"mappings":"wNAmBE,MAAMA,EAAcC,EAAAA,iBACdC,EAAeC,EAAAA,WAGfC,EAAQF,IAAiBG,EAAAA,mBAAmBD,MAAQF,OAAeI,EAEnEC,EAAiBC,EAAAA,oBAAgC,IAAIC,OAAOC,OAAOC,EAAAA,wBACjEC,MAAOC,GAAYN,EAAe,CAAEP,cAAaI,UACzD,OAAOS,CACT"}
1
+ {"version":3,"file":"useThemeInterpolations-e20f8cfa.js","sources":["../../src/hooks/UNSAFE_useThemeInterpolations/useThemeInterpolations.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useColorScheme } from '../UNSAFE_useColorScheme';\nimport { useScale } from '../UNSAFE_useScale';\nimport { themeInterpolations } from '../../utils/UNSAFE_interpolations/theme';\nimport type { ThemeProps } from '../../utils/UNSAFE_interpolations/theme';\nimport { mergeInterpolations } from '../../utils/UNSAFE_mergeInterpolations';\nimport { DefaultEnvironment } from '../../UNSAFE_Environment/EnvironmentContext';\n\n// This hook encasulates the logic required to determine which theme style classes are needed\n// for the current environment context's colorScheme and scale value. This would be used when\n// rendering dom outside of the current dom tree, but desire to match the colorScheme and scale\n// of the original dom tree.\nexport function useThemeInterpolations() {\n const colorScheme = useColorScheme();\n const currentScale = useScale();\n // We don't want to interpolate the default environment values for scacle. Those should get picked up by default.\n // This fixes an issue for core pack components that utilize the Layer component, when in a legacy cookbook page.\n const scale = currentScale !== DefaultEnvironment.scale ? currentScale : undefined;\n\n const interpolations = mergeInterpolations<ThemeProps>([...Object.values(themeInterpolations)]);\n const { class: classes } = interpolations({ colorScheme, scale });\n return classes;\n}\n"],"names":["colorScheme","useColorScheme","currentScale","useScale","scale","DefaultEnvironment","undefined","interpolations","mergeInterpolations","Object","values","themeInterpolations","class","classes"],"mappings":"wNAmBE,MAAMA,EAAcC,EAAAA,iBACdC,EAAeC,EAAAA,WAGfC,EAAQF,IAAiBG,EAAAA,mBAAmBD,MAAQF,OAAeI,EAEnEC,EAAiBC,EAAAA,oBAAgC,IAAIC,OAAOC,OAAOC,EAAAA,wBACjEC,MAAOC,GAAYN,EAAe,CAAEP,cAAaI,UACzD,OAAOS,CACT"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/hooks', './useTooltipControlled-fafb2f01'], (function(t,o,e){"use strict";t.useTooltip=({text:t,position:s="bottom",isDisabled:i=!1,anchor:n={x:"element",y:"element"},offset:l,variant:p="tooltip",testId:a})=>{const[r,f]=o.useState(!1),u=i||!t,c=o.useCallback((t=>{f(t.value)}),[]),{tooltipContent:d,tooltipProps:b}=e.useTooltipControlled({text:t,isOpen:r,position:s,isDisabled:u,offset:l,anchor:n,variant:p,onToggle:c,testId:a});return{tooltipContent:d,tooltipProps:b}}}));
2
+ //# sourceMappingURL=useTooltip-e4089d1a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTooltip-6a5fedfa.js","sources":["../../src/hooks/UNSAFE_useTooltip/useTooltip.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 { useState, useCallback } from 'preact/hooks';\nimport { useTooltipControlled } from './useTooltipControlled';\nimport { TestIdProps } from '../UNSAFE_useTestId';\n\ntype tooltipParameters = Parameters<typeof useTooltipControlled>[0];\n\ntype Props = {\n text?: string;\n position?: tooltipParameters['position'];\n isDisabled?: boolean;\n anchor?: tooltipParameters['anchor'];\n offset?: { mainAxis?: number; crossAxis?: number };\n variant?: tooltipParameters['variant'];\n} & TestIdProps;\n\n/**\n * A hook with tooltip implementation.\n * Returns event handlers that can enhance the target element with a tooltip displayed\n * on hover and focus.\n *\n * @param text tooltip text\n * @param position tooltip placement relative to the target element\n * @param isDisabled determines if the tooltip is disabled\n * @param anchor determines if the target is an element or the pointer\n * @param offset offset from the placement\n * @param variant specifies if the rendered popup should have 'tooltip' or 'datatip' look and behavior\n * @returns an object with the 'tooltipContent' and 'tooltipProps' properties.\n */\nexport const useTooltip = ({\n text,\n position = 'bottom',\n isDisabled = false,\n anchor = { x: 'element', y: 'element' },\n offset,\n variant = 'tooltip',\n testId\n}: Props): ReturnType<typeof useTooltipControlled> => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const disabled = isDisabled || !text;\n\n const onToggleHandler = useCallback((details: { value: boolean }) => {\n setIsOpen(details.value);\n }, []);\n\n const { tooltipContent, tooltipProps } = useTooltipControlled({\n text,\n isOpen,\n position,\n isDisabled: disabled,\n offset,\n anchor,\n variant,\n onToggle: onToggleHandler,\n testId\n });\n\n return {\n tooltipContent,\n tooltipProps\n };\n};\n"],"names":["text","position","isDisabled","anchor","x","y","offset","variant","testId","isOpen","setIsOpen","useState","disabled","onToggleHandler","useCallback","details","value","tooltipContent","tooltipProps","useTooltipControlled","onToggle"],"mappings":"+GAoC0B,EACxBA,OACAC,WAAW,SACXC,cAAa,EACbC,SAAS,CAAEC,EAAG,UAAWC,EAAG,WAC5BC,SACAC,UAAU,UACVC,aAEA,MAAOC,EAAQC,GAAaC,EAAQA,UAAU,GACxCC,EAAWV,IAAeF,EAE1Ba,EAAkBC,eAAaC,IACnCL,EAAUK,EAAQC,MAAM,GACvB,KAEGC,eAAEA,EAAcC,aAAEA,GAAiBC,uBAAqB,CAC5DnB,OACAS,SACAR,WACAC,WAAYU,EACZN,SACAH,SACAI,UACAa,SAAUP,EACVL,WAGF,MAAO,CACLS,iBACAC,eACD"}
1
+ {"version":3,"file":"useTooltip-e4089d1a.js","sources":["../../src/hooks/UNSAFE_useTooltip/useTooltip.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 { useState, useCallback } from 'preact/hooks';\nimport { useTooltipControlled } from './useTooltipControlled';\nimport { TestIdProps } from '../UNSAFE_useTestId';\n\ntype tooltipParameters = Parameters<typeof useTooltipControlled>[0];\n\ntype Props = {\n text?: string;\n position?: tooltipParameters['position'];\n isDisabled?: boolean;\n anchor?: tooltipParameters['anchor'];\n offset?: { mainAxis?: number; crossAxis?: number };\n variant?: tooltipParameters['variant'];\n} & TestIdProps;\n\n/**\n * A hook with tooltip implementation.\n * Returns event handlers that can enhance the target element with a tooltip displayed\n * on hover and focus.\n *\n * @param text tooltip text\n * @param position tooltip placement relative to the target element\n * @param isDisabled determines if the tooltip is disabled\n * @param anchor determines if the target is an element or the pointer\n * @param offset offset from the placement\n * @param variant specifies if the rendered popup should have 'tooltip' or 'datatip' look and behavior\n * @returns an object with the 'tooltipContent' and 'tooltipProps' properties.\n */\nexport const useTooltip = ({\n text,\n position = 'bottom',\n isDisabled = false,\n anchor = { x: 'element', y: 'element' },\n offset,\n variant = 'tooltip',\n testId\n}: Props): ReturnType<typeof useTooltipControlled> => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const disabled = isDisabled || !text;\n\n const onToggleHandler = useCallback((details: { value: boolean }) => {\n setIsOpen(details.value);\n }, []);\n\n const { tooltipContent, tooltipProps } = useTooltipControlled({\n text,\n isOpen,\n position,\n isDisabled: disabled,\n offset,\n anchor,\n variant,\n onToggle: onToggleHandler,\n testId\n });\n\n return {\n tooltipContent,\n tooltipProps\n };\n};\n"],"names":["text","position","isDisabled","anchor","x","y","offset","variant","testId","isOpen","setIsOpen","useState","disabled","onToggleHandler","useCallback","details","value","tooltipContent","tooltipProps","useTooltipControlled","onToggle"],"mappings":"+GAoC0B,EACxBA,OACAC,WAAW,SACXC,cAAa,EACbC,SAAS,CAAEC,EAAG,UAAWC,EAAG,WAC5BC,SACAC,UAAU,UACVC,aAEA,MAAOC,EAAQC,GAAaC,EAAQA,UAAU,GACxCC,EAAWV,IAAeF,EAE1Ba,EAAkBC,eAAaC,IACnCL,EAAUK,EAAQC,MAAM,GACvB,KAEGC,eAAEA,EAAcC,aAAEA,GAAiBC,uBAAqB,CAC5DnB,OACAS,SACAR,WACAC,WAAYU,EACZN,SACAH,SACAI,UACAa,SAAUP,EACVL,WAGF,MAAO,CACLS,iBACAC,eACD"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact/hooks', './useId-c9578d26', './useHover-7964884c', './useFocus-4194fc59', './useTouch-37489bb5', './mergeProps-bcfa6a92', './useAnimation-5bd3adfc', './useComponentTheme-5aa41a8f', './useTestId-3a316499', './useThemeInterpolations-b1d98ea4', './classNames-08d99695', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentTheme', './useColorScheme-10dc88de', './tooltipUtils-3b34c2bc'], (function(e,t,n,o,u,r,s,i,c,a,l,d,m,p,f,g){"use strict";const h=({children:e,id:o,isOpen:u,isDatatip:r,onTransitionEnd:s,testId:i,...f})=>{const g=n.useRef(null),h=n.useRef(null),b=l.useTestId(i),{baseTheme:T,variantClasses:v,styles:P}=a.useComponentTheme(p.TooltipContentRedwoodTheme,{variant:r?"datatip":"tooltip"}),E=d.useThemeInterpolations(),{nodeRef:x}=c.useAnimation(u?"mounted":"unmounted",{animationStates:{mounted:e=>{const t=e.firstChild;return{from:{maxHeight:"0",opacity:"0%"},to:{maxHeight:`${t?.offsetHeight}px`,opacity:r?"100%":"95%"},options:{duration:r?1:100,easing:[0,0,.2,1]}}},unmounted:e=>({from:{opacity:r?"100%":"95%"},to:{maxHeight:"0",opacity:"0%"},options:{duration:r?1:100,easing:[0,0,.2,1]}})},isAnimatedOnMount:!0,onAnimationEnd:()=>s?.()});return n.useEffect((()=>{g.current&&h.current?.offsetHeight&&(g.current.style.height=`${h.current?.offsetHeight}px`)}),[]),t.jsx("div",{ref:g,id:o,role:"tooltip",class:m.classNames([P.wrapper,E,T]),...b,children:t.jsx("div",{ref:x,class:P.inner,...f,children:t.jsx("div",{ref:h,class:m.classNames([v,P.content]),children:e})})})};e.TooltipContent=h,e.useTooltipControlled=({text:e,isOpen:c=!1,variant:a="tooltip",position:l="bottom",focusStrategy:d="browser",isDisabled:m=!1,anchor:p={x:"element",y:"element"},offset:b,onToggle:T,testId:v})=>{const P=g.getGlobalTooltipManager(),E=m||!e,x=n.useRef(!0),[y,C]=n.useState(!E&&c?"mounting":"unmounted"),R=n.useRef(y),k=e=>{R.current=e,C(e)},[H,A]=n.useState(!1);A(!1);const I="datatip"===a,[S,w]=n.useState(!1),D="logical"===d,L=n.useRef(!0),{hoverProps:O,isHover:B}=u.useHover({}),{touchProps:F,isTouch:M}=s.useTouch({isDisabled:m}),{focusProps:_,isFocus:j}=r.useFocus({isDisabled:D}),{hoverProps:N,isHover:G}=u.useHover({isDisabled:m}),U="pointer"===p.x||"pointer"===p.y,K=n.useRef(o.useId()),W=n.useRef(null),Y=n.useRef({x:-9999,y:-9999}),$=U&&!j?Y:W,X=I?0:g.SHOW_TOOLTIP_DELAY,q=n.useRef(null),z=f.useColorScheme(),J=n.useRef(!1),Q=n.useRef(!1),V=()=>{q.current&&(clearTimeout(q.current),q.current=null)};n.useEffect((()=>{J.current=D?S:j&&P.isTabKeyActive(),J.current&&(Q.current=!1)}),[j,S,D,P]),n.useEffect((()=>{Q.current=B,Q.current&&(J.current=!1)}),[B]),n.useEffect((()=>{L.current?L.current=!1:U&&B&&"unmounted"===y||(e=>{if(e)switch(y){case"unmounted":k("mountPending");break;case"unmounting":k("mounting"),T?.({value:!0});break;case"unmountPending":V(),k("mounted")}else switch(y){case"mounting":case"mounted":k("unmountPending");break;case"mountPending":V(),ce(),k("unmounted")}})(B&&Q.current||(j||S)&&J.current||G||M)}),[B,j,S,G,M,U,y,T]);const Z=n.useCallback((()=>{J.current=!1,Q.current=!1,T?.({value:!1})}),[]);n.useEffect((()=>{x.current?x.current=!1:k(c?"mounting":"unmounting")}),[c]),n.useEffect((()=>()=>{V(),J.current=!1,Q.current=!1}),[]),n.useEffect((()=>{"mounted"===y?P.register(Z):"unmounted"===y&&P.unregister(Z)}),[y,Z,P]),n.useEffect((()=>(q.current||"mountPending"!==y&&"unmountPending"!==y||(q.current=setTimeout((()=>{V(),"mountPending"!==y&&"unmountPending"!==y||y!==R.current||T?.({value:"mountPending"===y})}),X)),()=>{V()})),[y,X,T]);const ee=e=>{w(!0),W.current=e,$.current=e},te=()=>{w(!1)},ne=n.useCallback((e=>{(e.eventPhase===Event.AT_TARGET||e.eventPhase===Event.BUBBLING_PHASE&&I)&&(W.current=e.target)}),[I]),oe=n.useCallback((e=>{e.eventPhase===Event.AT_TARGET&&(J.current=!1)}),[]),ue=D?{}:{onFocus:ne,onBlur:oe},re={onMouseEnter:n.useCallback((e=>{W.current=e.target}),[])},se={onKeyDown:n.useCallback((e=>{"Escape"===e.code&&J.current&&(e.preventDefault(),J.current=!1,T?.({value:!1}))}),[T])};let ie;const ce=()=>{Y.current={x:-9999,y:-9999}};if(E)ie=i.mergeProps(O,_,re,ue);else{const e={"aria-describedby":K.current,...U&&{onMouseLeave:()=>{"mounting"!==y&&V()},onMouseMove:e=>{(e=>{if("unmounted"!==y&&("datatip"!==a||"mounted"!==y))return;const t=W?.current?.getBoundingClientRect(),n=document.body.scrollLeft+(t?.left||0)+(t?.width||0),o=document.body.scrollTop+(t?.top||0)+(t?.height||0),u="pointer"===p.x?e.clientX:n,r="pointer"===p.y?e.clientY:o;"mounted"===y?(Y.current={x:u,y:r},!0!==H&&A(!0)):"unmounted"===y&&(V(),q.current=setTimeout((()=>{"unmounted"===y&&(Y.current={x:u,y:r},T?.({value:!0}))}),X))})(e)}}};ie=i.mergeProps(O,_,F,re,ue,e,se,D?{onLogicalFocus:ee,onLogicalBlur:te}:{})}if(E)return V(),ce(),{tooltipContent:null,tooltipProps:ie};const ae=(e=>{let t="bottom";switch(e){case"top":case"end":case"bottom":case"start":t=e;break;case"top-end":t="top-end-corner";break;case"bottom-end":t="bottom-end-corner";break;case"bottom-start":t="bottom-start-corner";break;case"top-start":t="top-start-corner"}return t})(l),le=t.jsx(h,{id:K.current,testId:v,isOpen:["mounting","mounted","unmountPending"].includes(y),...N,isDatatip:I,onTransitionEnd:()=>{"mounting"===y&&k("mounted"),"unmounting"===y&&(ce(),k("unmounted"))},children:e}),de=g.getWrappedTooltipContent(le,a,z,$,ae,b);return{tooltipContent:!["unmounted","mountPending"].includes(y)&&de,tooltipProps:ie}}}));
2
- //# sourceMappingURL=useTooltipControlled-fb57eb02.js.map
1
+ define(['exports', 'preact/jsx-runtime', 'preact/hooks', './useId-c9578d26', './useHover-7964884c', './useFocus-4194fc59', './useTouch-37489bb5', './mergeProps-bcfa6a92', './useAnimation-5bd3adfc', './useComponentTheme-5aa41a8f', './useTestId-b5cd4766', './useThemeInterpolations-e20f8cfa', './classNames-08d99695', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentTheme', './useColorScheme-443e7cc7', './tooltipUtils-79293e46'], (function(e,t,n,o,u,r,s,c,i,a,l,d,m,p,f,g){"use strict";const h=({children:e,id:o,isOpen:u,isDatatip:r,onTransitionEnd:s,testId:c,...f})=>{const g=n.useRef(null),h=n.useRef(null),b=l.useTestId(c),{baseTheme:T,variantClasses:v,styles:P}=a.useComponentTheme(p.TooltipContentRedwoodTheme,{variant:r?"datatip":"tooltip"}),E=d.useThemeInterpolations(),{nodeRef:x}=i.useAnimation(u?"mounted":"unmounted",{animationStates:{mounted:e=>{const t=e.firstChild;return{from:{maxHeight:"0",opacity:"0%"},to:{maxHeight:`${t?.offsetHeight}px`,opacity:r?"100%":"95%"},options:{duration:r?1:100,easing:[0,0,.2,1]}}},unmounted:e=>({from:{opacity:r?"100%":"95%"},to:{maxHeight:"0",opacity:"0%"},options:{duration:r?1:100,easing:[0,0,.2,1]}})},isAnimatedOnMount:!0,onAnimationEnd:()=>s?.()});return n.useEffect((()=>{g.current&&h.current?.offsetHeight&&(g.current.style.height=`${h.current?.offsetHeight}px`)}),[]),t.jsx("div",{ref:g,id:o,role:"tooltip",class:m.classNames([P.wrapper,E,T]),...b,children:t.jsx("div",{ref:x,class:P.inner,...f,children:t.jsx("div",{ref:h,class:m.classNames([v,P.content]),children:e})})})};e.TooltipContent=h,e.useTooltipControlled=({text:e,isOpen:i=!1,variant:a="tooltip",position:l="bottom",focusStrategy:d="browser",isDisabled:m=!1,anchor:p={x:"element",y:"element"},offset:b,onToggle:T,testId:v})=>{const P=g.getGlobalTooltipManager(),E=m||!e,x=n.useRef(!0),[y,C]=n.useState(!E&&i?"mounting":"unmounted"),R=n.useRef(y),k=e=>{R.current=e,C(e)},[H,A]=n.useState(!1);A(!1);const I="datatip"===a,[S,w]=n.useState(!1),D="logical"===d,L=n.useRef(!0),{hoverProps:O,isHover:B}=u.useHover({}),{touchProps:F,isTouch:M}=s.useTouch({isDisabled:m}),{focusProps:_,isFocus:j}=r.useFocus({isDisabled:D}),{hoverProps:N,isHover:G}=u.useHover({isDisabled:m}),U="pointer"===p.x||"pointer"===p.y,K=n.useRef(o.useId()),W=n.useRef(null),Y=n.useRef({x:-9999,y:-9999}),$=U&&!j?Y:W,X=I?0:g.SHOW_TOOLTIP_DELAY,q=n.useRef(null),z=f.useColorScheme(),J=n.useRef(!1),Q=n.useRef(!1),V=()=>{q.current&&(clearTimeout(q.current),q.current=null)};n.useEffect((()=>{J.current=D?S:j&&P.isTabKeyActive(),J.current&&(Q.current=!1)}),[j,S,D,P]),n.useEffect((()=>{Q.current=B,Q.current&&(J.current=!1)}),[B]),n.useEffect((()=>{L.current?L.current=!1:U&&B&&"unmounted"===y||(e=>{if(e)switch(y){case"unmounted":k("mountPending");break;case"unmounting":k("mounting"),T?.({value:!0});break;case"unmountPending":V(),k("mounted")}else switch(y){case"mounting":case"mounted":k("unmountPending");break;case"mountPending":V(),ie(),k("unmounted")}})(B&&Q.current||(j||S)&&J.current||G||M)}),[B,j,S,G,M,U,y,T]);const Z=n.useCallback((()=>{J.current=!1,Q.current=!1,T?.({value:!1})}),[]);n.useEffect((()=>{x.current?x.current=!1:k(i?"mounting":"unmounting")}),[i]),n.useEffect((()=>()=>{V(),J.current=!1,Q.current=!1}),[]),n.useEffect((()=>{"mounted"===y?P.register(Z):"unmounted"===y&&P.unregister(Z)}),[y,Z,P]),n.useEffect((()=>(q.current||"mountPending"!==y&&"unmountPending"!==y||(q.current=setTimeout((()=>{V(),"mountPending"!==y&&"unmountPending"!==y||y!==R.current||T?.({value:"mountPending"===y})}),X)),()=>{V()})),[y,X,T]);const ee=e=>{w(!0),W.current=e,$.current=e},te=()=>{w(!1)},ne=n.useCallback((e=>{(e.eventPhase===Event.AT_TARGET||e.eventPhase===Event.BUBBLING_PHASE&&I)&&(W.current=e.target)}),[I]),oe=n.useCallback((e=>{e.eventPhase===Event.AT_TARGET&&(J.current=!1)}),[]),ue=D?{}:{onFocus:ne,onBlur:oe},re={onMouseEnter:n.useCallback((e=>{W.current=e.target}),[])},se={onKeyDown:n.useCallback((e=>{"Escape"===e.code&&J.current&&(e.preventDefault(),J.current=!1,T?.({value:!1}))}),[T])};let ce;const ie=()=>{Y.current={x:-9999,y:-9999}};if(E)ce=c.mergeProps(O,_,re,ue);else{const e={"aria-describedby":K.current,...U&&{onMouseLeave:()=>{"mounting"!==y&&V()},onMouseMove:e=>{(e=>{if("unmounted"!==y&&("datatip"!==a||"mounted"!==y))return;const t=W?.current?.getBoundingClientRect(),n=document.body.scrollLeft+(t?.left||0)+(t?.width||0),o=document.body.scrollTop+(t?.top||0)+(t?.height||0),u="pointer"===p.x?e.clientX:n,r="pointer"===p.y?e.clientY:o;"mounted"===y?(Y.current={x:u,y:r},!0!==H&&A(!0)):"unmounted"===y&&(V(),q.current=setTimeout((()=>{"unmounted"===y&&(Y.current={x:u,y:r},T?.({value:!0}))}),X))})(e)}}};ce=c.mergeProps(O,_,F,re,ue,e,se,D?{onLogicalFocus:ee,onLogicalBlur:te}:{})}if(E)return V(),ie(),{tooltipContent:null,tooltipProps:ce};const ae=(e=>{let t="bottom";switch(e){case"top":case"end":case"bottom":case"start":t=e;break;case"top-end":t="top-end-corner";break;case"bottom-end":t="bottom-end-corner";break;case"bottom-start":t="bottom-start-corner";break;case"top-start":t="top-start-corner"}return t})(l),le=t.jsx(h,{id:K.current,testId:v,isOpen:["mounting","mounted","unmountPending"].includes(y),...N,isDatatip:I,onTransitionEnd:()=>{"mounting"===y&&k("mounted"),"unmounting"===y&&(ie(),k("unmounted"))},children:e}),de=g.getWrappedTooltipContent(le,a,z,$,ae,b);return{tooltipContent:!["unmounted","mountPending"].includes(y)&&de,tooltipProps:ce}}}));
2
+ //# sourceMappingURL=useTooltipControlled-fafb2f01.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTooltipControlled-fb57eb02.js","sources":["../../src/hooks/UNSAFE_useTooltip/TooltipContent.tsx","../../src/hooks/UNSAFE_useTooltip/useTooltipControlled.tsx"],"sourcesContent":["import { useAnimation } from '../UNSAFE_useAnimation';\nimport { useComponentTheme } from '../UNSAFE_useComponentTheme';\nimport { useEffect, useRef } from 'preact/hooks';\nimport { HTMLAttributesSignalExcluded } from '../../utils/UNSAFE_attributeUtils';\nimport {\n TooltipContentVariantOptions,\n TooltipContentStyles\n} from './themes/TooltipContentStyles.css';\n\nimport { useTestId, TestIdProps } from '../UNSAFE_useTestId';\nimport { useThemeInterpolations } from '../UNSAFE_useThemeInterpolations';\nimport { classNames } from '../../utils/UNSAFE_classNames';\nimport { TooltipContentRedwoodTheme } from './themes/redwood/TooltipContentTheme';\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children'>;\n\ntype Status = 'mounted' | 'unmounted';\n\ntype ContentProps = IntrinsicProps & {\n id: string;\n isOpen: boolean;\n isDatatip: boolean;\n onTransitionEnd?: () => void;\n} & TestIdProps;\n\nexport const TooltipContent = ({\n children,\n id,\n isOpen,\n isDatatip,\n onTransitionEnd,\n testId,\n ...props\n}: ContentProps) => {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n\n const testIdProps = useTestId(testId);\n\n const { baseTheme, variantClasses, styles } = useComponentTheme<\n TooltipContentVariantOptions,\n TooltipContentStyles\n >(TooltipContentRedwoodTheme, {\n variant: isDatatip ? 'datatip' : 'tooltip'\n });\n\n const schemeClass = useThemeInterpolations();\n\n const { nodeRef } = useAnimation<Status, HTMLDivElement>(isOpen ? 'mounted' : 'unmounted', {\n animationStates: {\n mounted: (_node) => {\n const childNode = _node.firstChild as HTMLDivElement;\n return {\n from: {\n maxHeight: '0',\n opacity: '0%'\n },\n to: {\n maxHeight: `${childNode?.offsetHeight}px`,\n opacity: isDatatip ? '100%' : '95%'\n },\n options: {\n duration: isDatatip ? 1 : 100,\n easing: [0.0, 0.0, 0.2, 1]\n }\n };\n },\n unmounted: (_node) => {\n return {\n from: {\n opacity: isDatatip ? '100%' : '95%'\n },\n to: {\n maxHeight: '0',\n opacity: '0%'\n },\n options: {\n duration: isDatatip ? 1 : 100,\n easing: [0.0, 0.0, 0.2, 1]\n }\n };\n }\n },\n isAnimatedOnMount: true,\n onAnimationEnd: () => onTransitionEnd?.()\n });\n\n // Set up initial wrapper height so Tooltip can animate from the bottom to the top\n useEffect(() => {\n if (wrapperRef.current && popoverRef.current?.offsetHeight) {\n wrapperRef.current.style.height = `${popoverRef.current?.offsetHeight}px`;\n }\n }, []);\n\n return (\n <div\n ref={wrapperRef}\n id={id}\n role=\"tooltip\"\n class={classNames([styles.wrapper, schemeClass, baseTheme])}\n {...testIdProps}>\n <div ref={nodeRef} class={styles.inner} {...props}>\n <div ref={popoverRef} class={classNames([variantClasses, styles.content])}>\n {children}\n </div>\n </div>\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 { ComponentChild } from 'preact';\nimport { useState, useRef, useEffect, useCallback } from 'preact/hooks';\nimport { useId } from '../UNSAFE_useId';\nimport { Placement, Coords } from '../../UNSAFE_Floating';\nimport { useHover } from '../UNSAFE_useHover';\nimport { useFocus } from '../UNSAFE_useFocus';\nimport { useTouch } from '../UNSAFE_useTouch';\nimport { mergeProps } from '../../utils/UNSAFE_mergeProps';\nimport { TooltipContent } from './TooltipContent';\nimport { useColorScheme } from '../UNSAFE_useColorScheme';\nimport { TestIdProps } from '../UNSAFE_useTestId';\nimport {\n getGlobalTooltipManager,\n getWrappedTooltipContent,\n SHOW_TOOLTIP_DELAY\n} from '../../utils/PRIVATE_tooltipUtils';\n\nexport const positions = [\n 'start',\n 'top-start',\n 'top',\n 'top-end',\n 'end',\n 'bottom-end',\n 'bottom',\n 'bottom-start'\n] as const;\ntype Position = (typeof positions)[number];\n\nconst positionToPlacement = (position: Position) => {\n let placement: Placement = 'bottom';\n\n switch (position) {\n case 'top':\n case 'end':\n case 'bottom':\n case 'start':\n placement = position as Placement;\n break;\n\n case 'top-end':\n placement = 'top-end-corner';\n break;\n\n case 'bottom-end':\n placement = 'bottom-end-corner';\n break;\n\n case 'bottom-start':\n placement = 'bottom-start-corner';\n break;\n\n case 'top-start':\n placement = 'top-start-corner';\n break;\n }\n\n return placement;\n};\n\nexport const anchorTos = ['element', 'pointer'] as const;\ntype AnchorTo = (typeof anchorTos)[number];\n\ntype AnchorModel = { x: AnchorTo; y: AnchorTo };\n\ntype Props = {\n text?: string;\n variant?: 'tooltip' | 'datatip';\n isOpen: boolean;\n position?: Position;\n isDisabled?: boolean;\n focusStrategy?: 'browser' | 'logical';\n anchor?: AnchorModel;\n offset?: { mainAxis?: number; crossAxis?: number };\n onToggle?: (details: { value: boolean }) => void;\n} & TestIdProps;\n\n/**\n * The 'mounting' and 'unmounting' states are related to the animation. The 'unmounted' state\n * is used for conditional rendering. In this state, the Tooltip content is completely removed\n * from the DOM. The 'mountPending' and 'unmountPending' are used when timeout is active.\n * The 'reposition' state is used to trigger a transition with new coordinates within\n * the same element.\n */\ntype Status =\n | 'unmounted'\n | 'mountPending'\n | 'mounting'\n | 'mounted'\n | 'unmountPending'\n | 'unmounting';\n\nexport const useTooltipControlled = ({\n text,\n isOpen = false,\n variant = 'tooltip',\n position = 'bottom',\n focusStrategy = 'browser',\n isDisabled = false,\n anchor = { x: 'element', y: 'element' },\n offset,\n onToggle,\n testId\n}: Props): {\n tooltipContent: ComponentChild;\n tooltipProps: Record<string, any>;\n} => {\n // Global TooltipManager singleton instance\n const globalTooltipManager = getGlobalTooltipManager();\n\n const disabled = isDisabled || !text;\n const isInitialRenderState = useRef<boolean>(true);\n\n const [state, _setState] = useState<Status>(!disabled && isOpen ? 'mounting' : 'unmounted');\n const stateRef = useRef<Status>(state);\n const setState = (newState: Status) => {\n stateRef.current = newState;\n _setState(newState);\n };\n\n // const tooltipId = useRef<string>(useId());\n\n const [needsUpdate, setNeedsUpdate] = useState<boolean>(false);\n setNeedsUpdate(false);\n\n const isDatatip = variant === 'datatip';\n\n const [isLogicalFocus, setLogicalFocus] = useState<boolean>(false);\n const isLogicalFocusStrategy = focusStrategy === 'logical';\n const isInitialRenderTrigger = useRef<boolean>(true);\n const { hoverProps, isHover } = useHover({});\n const { touchProps, isTouch } = useTouch({ isDisabled }); // TODO replace by useLongPress actionhook\n // we only care about keyboard focus, don't enable useFocus hook if isHover or isTouch are active\n const { focusProps, isFocus } = useFocus({\n isDisabled: isLogicalFocusStrategy\n });\n const { hoverProps: popoverHoverProps, isHover: popoverIsHover } = useHover({ isDisabled });\n\n const isPointer = anchor.x === 'pointer' || anchor.y === 'pointer';\n\n const uniqueIdRef = useRef<string>(useId());\n const targetRef = useRef<HTMLElement | null>(null);\n const coordsRef = useRef<Coords>({ x: -9999, y: -9999 });\n // if anchor is set to pointer and target does not have keyboard focus, use coords\n const usedRef = isPointer && !isFocus ? coordsRef : targetRef;\n const delay = isDatatip ? 0 : SHOW_TOOLTIP_DELAY;\n const toggleTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const currentColorScheme = useColorScheme();\n\n const focusActive = useRef<boolean>(false);\n const hoverActive = useRef<boolean>(false);\n\n const toggleTimeoutClear = () => {\n if (toggleTimeoutRef.current) {\n clearTimeout(toggleTimeoutRef.current);\n toggleTimeoutRef.current = null;\n }\n };\n\n /*\n * This effect executes when isFocus/isLogicalFocus changes\n * - focusActive ref is set if the focus change follows a Tab key\n * - hoverActive ref is reset, if focusActive becomes true\n */\n useEffect(() => {\n if (isLogicalFocusStrategy) {\n focusActive.current = isLogicalFocus;\n } else {\n focusActive.current = isFocus && globalTooltipManager.isTabKeyActive();\n }\n if (focusActive.current) {\n hoverActive.current = false;\n }\n }, [isFocus, isLogicalFocus, isLogicalFocusStrategy, globalTooltipManager]);\n\n /*\n * This effect executes when isHover state changes\n * - focusActive ref is reset, if hoverActive becomes true\n */\n useEffect(() => {\n hoverActive.current = isHover;\n if (hoverActive.current) {\n focusActive.current = false;\n }\n }, [isHover]);\n\n useEffect(() => {\n // inner function for state transitions on various trigger changes\n const updateState = (open: boolean) => {\n if (open) {\n // At least one toggle event is set to true\n switch (state) {\n case 'unmounted':\n setState('mountPending'); // Set mount pending state if tooltip is unmounted\n break;\n case 'unmounting': // Switch back to mounting when unmounting was in progress and the tooltip should stay on\n setState('mounting');\n onToggle?.({ value: true });\n break;\n case 'unmountPending':\n toggleTimeoutClear();\n setState('mounted'); // Clear timers immediately and keep the tooltip mounted\n break;\n }\n } else {\n // No toggle events are set to true\n switch (state) {\n case 'mounting':\n case 'mounted':\n setState('unmountPending'); // Set unmount pending state if tooltip is mounted or in mounting transition\n break;\n case 'mountPending':\n toggleTimeoutClear();\n __resetCoords();\n setState('unmounted'); // Unmount tooltip immediately if mounting is pending\n break;\n }\n }\n };\n\n if (isInitialRenderTrigger.current) {\n // On onitial render do not trigger rerender\n isInitialRenderTrigger.current = false;\n return;\n }\n // When pointer is used, handleMouseMove method is responsible for state updates\n // until the tooltip is mounted\n if (isPointer && isHover && state === 'unmounted') {\n return;\n }\n updateState(\n (isHover && hoverActive.current) ||\n ((isFocus || isLogicalFocus) && focusActive.current) ||\n popoverIsHover ||\n isTouch\n );\n }, [isHover, isFocus, isLogicalFocus, popoverIsHover, isTouch, isPointer, state, onToggle]);\n\n const destroyCallback = useCallback(() => {\n focusActive.current = false;\n hoverActive.current = false;\n onToggle?.({ value: false });\n }, []); // cannot depend on the 'onToggle' prop as some clients tend to pass a new callback on each render\n\n useEffect(() => {\n if (isInitialRenderState.current) {\n // On onitial render do not trigger rerender\n isInitialRenderState.current = false;\n return;\n }\n setState(isOpen ? 'mounting' : 'unmounting');\n }, [isOpen]);\n\n useEffect(() => {\n return () => {\n // make sure to clear the toggle timeout on unmount\n toggleTimeoutClear();\n // reset focusActive and hoverActive refs\n focusActive.current = false;\n hoverActive.current = false;\n };\n }, []);\n\n /*\n * This effect executes when the component state changes.\n * On 'mounted' state, the tooltip registers itself with the global tooltip manager.\n * On 'unmounted', the tooltip unregisters from the global tooltip manager.\n */\n useEffect(() => {\n if (state === 'mounted') {\n globalTooltipManager.register(destroyCallback);\n } else if (state === 'unmounted') {\n globalTooltipManager.unregister(destroyCallback);\n }\n }, [state, destroyCallback, globalTooltipManager]);\n\n /*\n * Set a timer to toggle the state afer the 'pending' period expires\n */\n useEffect(() => {\n if (!toggleTimeoutRef.current && (state === 'mountPending' || state === 'unmountPending')) {\n toggleTimeoutRef.current = setTimeout(() => {\n toggleTimeoutClear();\n // make sure the state has not changed in the mean time before onToggle\n if (\n (state === 'mountPending' || state === 'unmountPending') &&\n state === stateRef.current\n ) {\n onToggle?.({ value: state === 'mountPending' });\n }\n }, delay);\n }\n return () => {\n toggleTimeoutClear();\n };\n }, [state, delay, onToggle]);\n\n const handleMouseMove = (event: MouseEvent) => {\n // we only want track mouse move while the state is 'unmounted' or when moving a 'mounted' datatip\n if (state !== 'unmounted' && !(variant === 'datatip' && state === 'mounted')) {\n return;\n }\n const targetRect = targetRef?.current?.getBoundingClientRect();\n\n // Tooltip maintains static offset from left side of window\n const distanceX = document.body.scrollLeft + (targetRect?.left || 0) + (targetRect?.width || 0);\n\n // Tooltip maintains static offset from top side of the window\n const distanceY = document.body.scrollTop + (targetRect?.top || 0) + (targetRect?.height || 0);\n\n // Display tooltip at the mouse position if both anchors are set to pointer\n const x = anchor.x === 'pointer' ? event.clientX : distanceX;\n const y = anchor.y === 'pointer' ? event.clientY : distanceY;\n\n if (state === 'mounted') {\n coordsRef.current = { x, y };\n if (needsUpdate !== true) setNeedsUpdate(true);\n } else if (state === 'unmounted') {\n toggleTimeoutClear();\n toggleTimeoutRef.current = setTimeout(() => {\n if (state === 'unmounted') {\n coordsRef.current = { x, y };\n onToggle?.({ value: true });\n }\n }, delay);\n }\n };\n\n const onLogicalFocus = (target: HTMLElement) => {\n setLogicalFocus(true);\n targetRef.current = target;\n usedRef.current = target;\n };\n\n const onLogicalBlur = () => {\n setLogicalFocus(false);\n };\n\n const onFocusCallback = useCallback(\n (event: FocusEvent) => {\n if (\n event.eventPhase === Event.AT_TARGET ||\n (event.eventPhase === Event.BUBBLING_PHASE && isDatatip)\n ) {\n targetRef.current = event.target as HTMLElement;\n }\n },\n [isDatatip]\n );\n\n const onBlurCallback = useCallback((event: FocusEvent) => {\n if (event.eventPhase === Event.AT_TARGET) {\n // reset focusActive flag\n focusActive.current = false;\n }\n }, []);\n\n const focusInitProps = isLogicalFocusStrategy\n ? {}\n : {\n onFocus: onFocusCallback,\n onBlur: onBlurCallback\n };\n\n const hoverInitProps = {\n onMouseEnter: useCallback((event: MouseEvent) => {\n targetRef.current = event.target as HTMLElement;\n }, [])\n };\n\n const keyInitProps = {\n onKeyDown: useCallback(\n (event: KeyboardEvent) => {\n if (event.code === 'Escape' && focusActive.current) {\n event.preventDefault();\n // focus no longer active after Escape\n focusActive.current = false;\n onToggle?.({ value: false });\n }\n },\n [onToggle]\n )\n };\n\n let actionableProps;\n\n const __resetCoords = () => {\n coordsRef.current = { x: -9999, y: -9999 };\n };\n\n if (disabled) {\n actionableProps = mergeProps(hoverProps, focusProps, hoverInitProps, focusInitProps);\n } else {\n const anchorInitProps = {\n 'aria-describedby': uniqueIdRef.current,\n\n ...(isPointer && {\n onMouseLeave: () => {\n if (state === 'mounting') {\n return;\n }\n toggleTimeoutClear();\n },\n onMouseMove: (event: MouseEvent) => {\n handleMouseMove(event);\n }\n })\n };\n actionableProps = mergeProps(\n hoverProps,\n focusProps,\n touchProps,\n hoverInitProps,\n focusInitProps,\n anchorInitProps,\n keyInitProps,\n isLogicalFocusStrategy ? { onLogicalFocus, onLogicalBlur } : {}\n );\n }\n\n // No need to process tooltip if disabled or no text is provided\n // Include actionableProps to detect mouseenter in components\n // hovered state won't update unless actionableProps are already present in the component when mouse enters\n if (disabled) {\n toggleTimeoutClear();\n __resetCoords();\n return {\n tooltipContent: null,\n tooltipProps: actionableProps\n };\n }\n\n const placement = positionToPlacement(position);\n\n const handleTransitionEnd = () => {\n if (state === 'mounting') {\n setState('mounted');\n }\n if (state === 'unmounting') {\n __resetCoords();\n setState('unmounted');\n }\n };\n\n const renderRawContent = (\n <TooltipContent\n id={uniqueIdRef.current}\n testId={testId}\n isOpen={['mounting', 'mounted', 'unmountPending'].includes(state)}\n {...popoverHoverProps}\n isDatatip={isDatatip}\n onTransitionEnd={handleTransitionEnd}>\n {text}\n </TooltipContent>\n );\n\n const renderContent = getWrappedTooltipContent(\n renderRawContent,\n variant,\n currentColorScheme,\n usedRef,\n placement,\n offset\n );\n\n return {\n tooltipContent: !['unmounted', 'mountPending'].includes(state) && renderContent,\n tooltipProps: actionableProps\n };\n};\n"],"names":["TooltipContent","children","id","isOpen","isDatatip","onTransitionEnd","testId","props","wrapperRef","useRef","popoverRef","testIdProps","useTestId","baseTheme","variantClasses","styles","useComponentTheme","TooltipContentRedwoodTheme","variant","schemeClass","useThemeInterpolations","nodeRef","useAnimation","animationStates","mounted","_node","childNode","firstChild","from","maxHeight","opacity","to","offsetHeight","options","duration","easing","unmounted","isAnimatedOnMount","onAnimationEnd","useEffect","current","style","height","_jsx","jsx","ref","role","class","classNames","wrapper","inner","content","text","position","focusStrategy","isDisabled","anchor","x","y","offset","onToggle","globalTooltipManager","getGlobalTooltipManager","disabled","isInitialRenderState","state","_setState","useState","stateRef","setState","newState","needsUpdate","setNeedsUpdate","isLogicalFocus","setLogicalFocus","isLogicalFocusStrategy","isInitialRenderTrigger","hoverProps","isHover","useHover","touchProps","isTouch","useTouch","focusProps","isFocus","useFocus","popoverHoverProps","popoverIsHover","isPointer","uniqueIdRef","useId","targetRef","coordsRef","usedRef","delay","SHOW_TOOLTIP_DELAY","toggleTimeoutRef","currentColorScheme","useColorScheme","focusActive","hoverActive","toggleTimeoutClear","clearTimeout","isTabKeyActive","open","value","__resetCoords","updateState","destroyCallback","useCallback","register","unregister","setTimeout","onLogicalFocus","target","onLogicalBlur","onFocusCallback","event","eventPhase","Event","AT_TARGET","BUBBLING_PHASE","onBlurCallback","focusInitProps","onFocus","onBlur","hoverInitProps","onMouseEnter","keyInitProps","onKeyDown","code","preventDefault","actionableProps","mergeProps","anchorInitProps","onMouseLeave","onMouseMove","targetRect","getBoundingClientRect","distanceX","document","body","scrollLeft","left","width","distanceY","scrollTop","top","clientX","clientY","handleMouseMove","tooltipContent","tooltipProps","placement","positionToPlacement","renderRawContent","includes","renderContent","getWrappedTooltipContent"],"mappings":"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"}
1
+ {"version":3,"file":"useTooltipControlled-fafb2f01.js","sources":["../../src/hooks/UNSAFE_useTooltip/TooltipContent.tsx","../../src/hooks/UNSAFE_useTooltip/useTooltipControlled.tsx"],"sourcesContent":["import { useAnimation } from '../UNSAFE_useAnimation';\nimport { useComponentTheme } from '../UNSAFE_useComponentTheme';\nimport { useEffect, useRef } from 'preact/hooks';\nimport { HTMLAttributesSignalExcluded } from '../../utils/UNSAFE_attributeUtils';\nimport {\n TooltipContentVariantOptions,\n TooltipContentStyles\n} from './themes/TooltipContentStyles.css';\n\nimport { useTestId, TestIdProps } from '../UNSAFE_useTestId';\nimport { useThemeInterpolations } from '../UNSAFE_useThemeInterpolations';\nimport { classNames } from '../../utils/UNSAFE_classNames';\nimport { TooltipContentRedwoodTheme } from './themes/redwood/TooltipContentTheme';\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children'>;\n\ntype Status = 'mounted' | 'unmounted';\n\ntype ContentProps = IntrinsicProps & {\n id: string;\n isOpen: boolean;\n isDatatip: boolean;\n onTransitionEnd?: () => void;\n} & TestIdProps;\n\nexport const TooltipContent = ({\n children,\n id,\n isOpen,\n isDatatip,\n onTransitionEnd,\n testId,\n ...props\n}: ContentProps) => {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n\n const testIdProps = useTestId(testId);\n\n const { baseTheme, variantClasses, styles } = useComponentTheme<\n TooltipContentVariantOptions,\n TooltipContentStyles\n >(TooltipContentRedwoodTheme, {\n variant: isDatatip ? 'datatip' : 'tooltip'\n });\n\n const schemeClass = useThemeInterpolations();\n\n const { nodeRef } = useAnimation<Status, HTMLDivElement>(isOpen ? 'mounted' : 'unmounted', {\n animationStates: {\n mounted: (_node) => {\n const childNode = _node.firstChild as HTMLDivElement;\n return {\n from: {\n maxHeight: '0',\n opacity: '0%'\n },\n to: {\n maxHeight: `${childNode?.offsetHeight}px`,\n opacity: isDatatip ? '100%' : '95%'\n },\n options: {\n duration: isDatatip ? 1 : 100,\n easing: [0.0, 0.0, 0.2, 1]\n }\n };\n },\n unmounted: (_node) => {\n return {\n from: {\n opacity: isDatatip ? '100%' : '95%'\n },\n to: {\n maxHeight: '0',\n opacity: '0%'\n },\n options: {\n duration: isDatatip ? 1 : 100,\n easing: [0.0, 0.0, 0.2, 1]\n }\n };\n }\n },\n isAnimatedOnMount: true,\n onAnimationEnd: () => onTransitionEnd?.()\n });\n\n // Set up initial wrapper height so Tooltip can animate from the bottom to the top\n useEffect(() => {\n if (wrapperRef.current && popoverRef.current?.offsetHeight) {\n wrapperRef.current.style.height = `${popoverRef.current?.offsetHeight}px`;\n }\n }, []);\n\n return (\n <div\n ref={wrapperRef}\n id={id}\n role=\"tooltip\"\n class={classNames([styles.wrapper, schemeClass, baseTheme])}\n {...testIdProps}>\n <div ref={nodeRef} class={styles.inner} {...props}>\n <div ref={popoverRef} class={classNames([variantClasses, styles.content])}>\n {children}\n </div>\n </div>\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 { ComponentChild } from 'preact';\nimport { useState, useRef, useEffect, useCallback } from 'preact/hooks';\nimport { useId } from '../UNSAFE_useId';\nimport { Placement, Coords } from '../../UNSAFE_Floating';\nimport { useHover } from '../UNSAFE_useHover';\nimport { useFocus } from '../UNSAFE_useFocus';\nimport { useTouch } from '../UNSAFE_useTouch';\nimport { mergeProps } from '../../utils/UNSAFE_mergeProps';\nimport { TooltipContent } from './TooltipContent';\nimport { useColorScheme } from '../UNSAFE_useColorScheme';\nimport { TestIdProps } from '../UNSAFE_useTestId';\nimport {\n getGlobalTooltipManager,\n getWrappedTooltipContent,\n SHOW_TOOLTIP_DELAY\n} from '../../utils/PRIVATE_tooltipUtils';\n\nexport const positions = [\n 'start',\n 'top-start',\n 'top',\n 'top-end',\n 'end',\n 'bottom-end',\n 'bottom',\n 'bottom-start'\n] as const;\ntype Position = (typeof positions)[number];\n\nconst positionToPlacement = (position: Position) => {\n let placement: Placement = 'bottom';\n\n switch (position) {\n case 'top':\n case 'end':\n case 'bottom':\n case 'start':\n placement = position as Placement;\n break;\n\n case 'top-end':\n placement = 'top-end-corner';\n break;\n\n case 'bottom-end':\n placement = 'bottom-end-corner';\n break;\n\n case 'bottom-start':\n placement = 'bottom-start-corner';\n break;\n\n case 'top-start':\n placement = 'top-start-corner';\n break;\n }\n\n return placement;\n};\n\nexport const anchorTos = ['element', 'pointer'] as const;\ntype AnchorTo = (typeof anchorTos)[number];\n\ntype AnchorModel = { x: AnchorTo; y: AnchorTo };\n\ntype Props = {\n text?: string;\n variant?: 'tooltip' | 'datatip';\n isOpen: boolean;\n position?: Position;\n isDisabled?: boolean;\n focusStrategy?: 'browser' | 'logical';\n anchor?: AnchorModel;\n offset?: { mainAxis?: number; crossAxis?: number };\n onToggle?: (details: { value: boolean }) => void;\n} & TestIdProps;\n\n/**\n * The 'mounting' and 'unmounting' states are related to the animation. The 'unmounted' state\n * is used for conditional rendering. In this state, the Tooltip content is completely removed\n * from the DOM. The 'mountPending' and 'unmountPending' are used when timeout is active.\n * The 'reposition' state is used to trigger a transition with new coordinates within\n * the same element.\n */\ntype Status =\n | 'unmounted'\n | 'mountPending'\n | 'mounting'\n | 'mounted'\n | 'unmountPending'\n | 'unmounting';\n\nexport const useTooltipControlled = ({\n text,\n isOpen = false,\n variant = 'tooltip',\n position = 'bottom',\n focusStrategy = 'browser',\n isDisabled = false,\n anchor = { x: 'element', y: 'element' },\n offset,\n onToggle,\n testId\n}: Props): {\n tooltipContent: ComponentChild;\n tooltipProps: Record<string, any>;\n} => {\n // Global TooltipManager singleton instance\n const globalTooltipManager = getGlobalTooltipManager();\n\n const disabled = isDisabled || !text;\n const isInitialRenderState = useRef<boolean>(true);\n\n const [state, _setState] = useState<Status>(!disabled && isOpen ? 'mounting' : 'unmounted');\n const stateRef = useRef<Status>(state);\n const setState = (newState: Status) => {\n stateRef.current = newState;\n _setState(newState);\n };\n\n // const tooltipId = useRef<string>(useId());\n\n const [needsUpdate, setNeedsUpdate] = useState<boolean>(false);\n setNeedsUpdate(false);\n\n const isDatatip = variant === 'datatip';\n\n const [isLogicalFocus, setLogicalFocus] = useState<boolean>(false);\n const isLogicalFocusStrategy = focusStrategy === 'logical';\n const isInitialRenderTrigger = useRef<boolean>(true);\n const { hoverProps, isHover } = useHover({});\n const { touchProps, isTouch } = useTouch({ isDisabled }); // TODO replace by useLongPress actionhook\n // we only care about keyboard focus, don't enable useFocus hook if isHover or isTouch are active\n const { focusProps, isFocus } = useFocus({\n isDisabled: isLogicalFocusStrategy\n });\n const { hoverProps: popoverHoverProps, isHover: popoverIsHover } = useHover({ isDisabled });\n\n const isPointer = anchor.x === 'pointer' || anchor.y === 'pointer';\n\n const uniqueIdRef = useRef<string>(useId());\n const targetRef = useRef<HTMLElement | null>(null);\n const coordsRef = useRef<Coords>({ x: -9999, y: -9999 });\n // if anchor is set to pointer and target does not have keyboard focus, use coords\n const usedRef = isPointer && !isFocus ? coordsRef : targetRef;\n const delay = isDatatip ? 0 : SHOW_TOOLTIP_DELAY;\n const toggleTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const currentColorScheme = useColorScheme();\n\n const focusActive = useRef<boolean>(false);\n const hoverActive = useRef<boolean>(false);\n\n const toggleTimeoutClear = () => {\n if (toggleTimeoutRef.current) {\n clearTimeout(toggleTimeoutRef.current);\n toggleTimeoutRef.current = null;\n }\n };\n\n /*\n * This effect executes when isFocus/isLogicalFocus changes\n * - focusActive ref is set if the focus change follows a Tab key\n * - hoverActive ref is reset, if focusActive becomes true\n */\n useEffect(() => {\n if (isLogicalFocusStrategy) {\n focusActive.current = isLogicalFocus;\n } else {\n focusActive.current = isFocus && globalTooltipManager.isTabKeyActive();\n }\n if (focusActive.current) {\n hoverActive.current = false;\n }\n }, [isFocus, isLogicalFocus, isLogicalFocusStrategy, globalTooltipManager]);\n\n /*\n * This effect executes when isHover state changes\n * - focusActive ref is reset, if hoverActive becomes true\n */\n useEffect(() => {\n hoverActive.current = isHover;\n if (hoverActive.current) {\n focusActive.current = false;\n }\n }, [isHover]);\n\n useEffect(() => {\n // inner function for state transitions on various trigger changes\n const updateState = (open: boolean) => {\n if (open) {\n // At least one toggle event is set to true\n switch (state) {\n case 'unmounted':\n setState('mountPending'); // Set mount pending state if tooltip is unmounted\n break;\n case 'unmounting': // Switch back to mounting when unmounting was in progress and the tooltip should stay on\n setState('mounting');\n onToggle?.({ value: true });\n break;\n case 'unmountPending':\n toggleTimeoutClear();\n setState('mounted'); // Clear timers immediately and keep the tooltip mounted\n break;\n }\n } else {\n // No toggle events are set to true\n switch (state) {\n case 'mounting':\n case 'mounted':\n setState('unmountPending'); // Set unmount pending state if tooltip is mounted or in mounting transition\n break;\n case 'mountPending':\n toggleTimeoutClear();\n __resetCoords();\n setState('unmounted'); // Unmount tooltip immediately if mounting is pending\n break;\n }\n }\n };\n\n if (isInitialRenderTrigger.current) {\n // On onitial render do not trigger rerender\n isInitialRenderTrigger.current = false;\n return;\n }\n // When pointer is used, handleMouseMove method is responsible for state updates\n // until the tooltip is mounted\n if (isPointer && isHover && state === 'unmounted') {\n return;\n }\n updateState(\n (isHover && hoverActive.current) ||\n ((isFocus || isLogicalFocus) && focusActive.current) ||\n popoverIsHover ||\n isTouch\n );\n }, [isHover, isFocus, isLogicalFocus, popoverIsHover, isTouch, isPointer, state, onToggle]);\n\n const destroyCallback = useCallback(() => {\n focusActive.current = false;\n hoverActive.current = false;\n onToggle?.({ value: false });\n }, []); // cannot depend on the 'onToggle' prop as some clients tend to pass a new callback on each render\n\n useEffect(() => {\n if (isInitialRenderState.current) {\n // On onitial render do not trigger rerender\n isInitialRenderState.current = false;\n return;\n }\n setState(isOpen ? 'mounting' : 'unmounting');\n }, [isOpen]);\n\n useEffect(() => {\n return () => {\n // make sure to clear the toggle timeout on unmount\n toggleTimeoutClear();\n // reset focusActive and hoverActive refs\n focusActive.current = false;\n hoverActive.current = false;\n };\n }, []);\n\n /*\n * This effect executes when the component state changes.\n * On 'mounted' state, the tooltip registers itself with the global tooltip manager.\n * On 'unmounted', the tooltip unregisters from the global tooltip manager.\n */\n useEffect(() => {\n if (state === 'mounted') {\n globalTooltipManager.register(destroyCallback);\n } else if (state === 'unmounted') {\n globalTooltipManager.unregister(destroyCallback);\n }\n }, [state, destroyCallback, globalTooltipManager]);\n\n /*\n * Set a timer to toggle the state afer the 'pending' period expires\n */\n useEffect(() => {\n if (!toggleTimeoutRef.current && (state === 'mountPending' || state === 'unmountPending')) {\n toggleTimeoutRef.current = setTimeout(() => {\n toggleTimeoutClear();\n // make sure the state has not changed in the mean time before onToggle\n if (\n (state === 'mountPending' || state === 'unmountPending') &&\n state === stateRef.current\n ) {\n onToggle?.({ value: state === 'mountPending' });\n }\n }, delay);\n }\n return () => {\n toggleTimeoutClear();\n };\n }, [state, delay, onToggle]);\n\n const handleMouseMove = (event: MouseEvent) => {\n // we only want track mouse move while the state is 'unmounted' or when moving a 'mounted' datatip\n if (state !== 'unmounted' && !(variant === 'datatip' && state === 'mounted')) {\n return;\n }\n const targetRect = targetRef?.current?.getBoundingClientRect();\n\n // Tooltip maintains static offset from left side of window\n const distanceX = document.body.scrollLeft + (targetRect?.left || 0) + (targetRect?.width || 0);\n\n // Tooltip maintains static offset from top side of the window\n const distanceY = document.body.scrollTop + (targetRect?.top || 0) + (targetRect?.height || 0);\n\n // Display tooltip at the mouse position if both anchors are set to pointer\n const x = anchor.x === 'pointer' ? event.clientX : distanceX;\n const y = anchor.y === 'pointer' ? event.clientY : distanceY;\n\n if (state === 'mounted') {\n coordsRef.current = { x, y };\n if (needsUpdate !== true) setNeedsUpdate(true);\n } else if (state === 'unmounted') {\n toggleTimeoutClear();\n toggleTimeoutRef.current = setTimeout(() => {\n if (state === 'unmounted') {\n coordsRef.current = { x, y };\n onToggle?.({ value: true });\n }\n }, delay);\n }\n };\n\n const onLogicalFocus = (target: HTMLElement) => {\n setLogicalFocus(true);\n targetRef.current = target;\n usedRef.current = target;\n };\n\n const onLogicalBlur = () => {\n setLogicalFocus(false);\n };\n\n const onFocusCallback = useCallback(\n (event: FocusEvent) => {\n if (\n event.eventPhase === Event.AT_TARGET ||\n (event.eventPhase === Event.BUBBLING_PHASE && isDatatip)\n ) {\n targetRef.current = event.target as HTMLElement;\n }\n },\n [isDatatip]\n );\n\n const onBlurCallback = useCallback((event: FocusEvent) => {\n if (event.eventPhase === Event.AT_TARGET) {\n // reset focusActive flag\n focusActive.current = false;\n }\n }, []);\n\n const focusInitProps = isLogicalFocusStrategy\n ? {}\n : {\n onFocus: onFocusCallback,\n onBlur: onBlurCallback\n };\n\n const hoverInitProps = {\n onMouseEnter: useCallback((event: MouseEvent) => {\n targetRef.current = event.target as HTMLElement;\n }, [])\n };\n\n const keyInitProps = {\n onKeyDown: useCallback(\n (event: KeyboardEvent) => {\n if (event.code === 'Escape' && focusActive.current) {\n event.preventDefault();\n // focus no longer active after Escape\n focusActive.current = false;\n onToggle?.({ value: false });\n }\n },\n [onToggle]\n )\n };\n\n let actionableProps;\n\n const __resetCoords = () => {\n coordsRef.current = { x: -9999, y: -9999 };\n };\n\n if (disabled) {\n actionableProps = mergeProps(hoverProps, focusProps, hoverInitProps, focusInitProps);\n } else {\n const anchorInitProps = {\n 'aria-describedby': uniqueIdRef.current,\n\n ...(isPointer && {\n onMouseLeave: () => {\n if (state === 'mounting') {\n return;\n }\n toggleTimeoutClear();\n },\n onMouseMove: (event: MouseEvent) => {\n handleMouseMove(event);\n }\n })\n };\n actionableProps = mergeProps(\n hoverProps,\n focusProps,\n touchProps,\n hoverInitProps,\n focusInitProps,\n anchorInitProps,\n keyInitProps,\n isLogicalFocusStrategy ? { onLogicalFocus, onLogicalBlur } : {}\n );\n }\n\n // No need to process tooltip if disabled or no text is provided\n // Include actionableProps to detect mouseenter in components\n // hovered state won't update unless actionableProps are already present in the component when mouse enters\n if (disabled) {\n toggleTimeoutClear();\n __resetCoords();\n return {\n tooltipContent: null,\n tooltipProps: actionableProps\n };\n }\n\n const placement = positionToPlacement(position);\n\n const handleTransitionEnd = () => {\n if (state === 'mounting') {\n setState('mounted');\n }\n if (state === 'unmounting') {\n __resetCoords();\n setState('unmounted');\n }\n };\n\n const renderRawContent = (\n <TooltipContent\n id={uniqueIdRef.current}\n testId={testId}\n isOpen={['mounting', 'mounted', 'unmountPending'].includes(state)}\n {...popoverHoverProps}\n isDatatip={isDatatip}\n onTransitionEnd={handleTransitionEnd}>\n {text}\n </TooltipContent>\n );\n\n const renderContent = getWrappedTooltipContent(\n renderRawContent,\n variant,\n currentColorScheme,\n usedRef,\n placement,\n offset\n );\n\n return {\n tooltipContent: !['unmounted', 'mountPending'].includes(state) && renderContent,\n tooltipProps: actionableProps\n };\n};\n"],"names":["TooltipContent","children","id","isOpen","isDatatip","onTransitionEnd","testId","props","wrapperRef","useRef","popoverRef","testIdProps","useTestId","baseTheme","variantClasses","styles","useComponentTheme","TooltipContentRedwoodTheme","variant","schemeClass","useThemeInterpolations","nodeRef","useAnimation","animationStates","mounted","_node","childNode","firstChild","from","maxHeight","opacity","to","offsetHeight","options","duration","easing","unmounted","isAnimatedOnMount","onAnimationEnd","useEffect","current","style","height","_jsx","jsx","ref","role","class","classNames","wrapper","inner","content","text","position","focusStrategy","isDisabled","anchor","x","y","offset","onToggle","globalTooltipManager","getGlobalTooltipManager","disabled","isInitialRenderState","state","_setState","useState","stateRef","setState","newState","needsUpdate","setNeedsUpdate","isLogicalFocus","setLogicalFocus","isLogicalFocusStrategy","isInitialRenderTrigger","hoverProps","isHover","useHover","touchProps","isTouch","useTouch","focusProps","isFocus","useFocus","popoverHoverProps","popoverIsHover","isPointer","uniqueIdRef","useId","targetRef","coordsRef","usedRef","delay","SHOW_TOOLTIP_DELAY","toggleTimeoutRef","currentColorScheme","useColorScheme","focusActive","hoverActive","toggleTimeoutClear","clearTimeout","isTabKeyActive","open","value","__resetCoords","updateState","destroyCallback","useCallback","register","unregister","setTimeout","onLogicalFocus","target","onLogicalBlur","onFocusCallback","event","eventPhase","Event","AT_TARGET","BUBBLING_PHASE","onBlurCallback","focusInitProps","onFocus","onBlur","hoverInitProps","onMouseEnter","keyInitProps","onKeyDown","code","preventDefault","actionableProps","mergeProps","anchorInitProps","onMouseLeave","onMouseMove","targetRect","getBoundingClientRect","distanceX","document","body","scrollLeft","left","width","distanceY","scrollTop","top","clientX","clientY","handleMouseMove","tooltipContent","tooltipProps","placement","positionToPlacement","renderRawContent","includes","renderContent","getWrappedTooltipContent"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/hooks', './LayerHost-e95c5f30', 'preact/jsx-runtime', 'preact/compat'], (function(t,n,e,o,r){"use strict";t.useTranslationBundle=function(t){const o=n.useContext(e.EnvironmentContext).translations,r=o?.[t];if(!r)throw new Error(`Translation bundle ${t} is not loaded.`);return r}}));
2
- //# sourceMappingURL=useTranslationBundle-516b1b83.js.map
1
+ define(['exports', 'preact/hooks', './LayerHost-639b3284', 'preact/jsx-runtime', 'preact/compat'], (function(t,n,e,o,r){"use strict";t.useTranslationBundle=function(t){const o=n.useContext(e.EnvironmentContext).translations,r=o?.[t];if(!r)throw new Error(`Translation bundle ${t} is not loaded.`);return r}}));
2
+ //# sourceMappingURL=useTranslationBundle-d07d4b20.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTranslationBundle-516b1b83.js","sources":["../../src/hooks/UNSAFE_useTranslationBundle/useTranslationBundle.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useContext } from 'preact/hooks';\nimport { EnvironmentContext } from '../../UNSAFE_Environment';\nimport type { TranslationBundle } from '../../UNSAFE_Environment';\n\n/**\n * useTranslationBundle is a hook to get a translation bundle from the EnvironmentProvider\n * @param bundleId\n * @returns a translation bundle of type T\n */\nexport function useTranslationBundle<T extends TranslationBundle>(bundleId: string) {\n const translations = useContext(EnvironmentContext).translations;\n const bundle = translations?.[bundleId];\n if (!bundle) {\n throw new Error(`Translation bundle ${bundleId} is not loaded.`);\n }\n return bundle as T;\n}\n"],"names":["bundleId","translations","useContext","EnvironmentContext","bundle","Error"],"mappings":"uJAgBM,SAA4DA,GAChE,MAAMC,EAAeC,EAAAA,WAAWC,EAAkBA,oBAAEF,aAC9CG,EAASH,IAAeD,GAC9B,IAAKI,EACH,MAAM,IAAIC,MAAM,sBAAsBL,oBAExC,OAAOI,CACT"}
1
+ {"version":3,"file":"useTranslationBundle-d07d4b20.js","sources":["../../src/hooks/UNSAFE_useTranslationBundle/useTranslationBundle.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useContext } from 'preact/hooks';\nimport { EnvironmentContext } from '../../UNSAFE_Environment';\nimport type { TranslationBundle } from '../../UNSAFE_Environment';\n\n/**\n * useTranslationBundle is a hook to get a translation bundle from the EnvironmentProvider\n * @param bundleId\n * @returns a translation bundle of type T\n */\nexport function useTranslationBundle<T extends TranslationBundle>(bundleId: string) {\n const translations = useContext(EnvironmentContext).translations;\n const bundle = translations?.[bundleId];\n if (!bundle) {\n throw new Error(`Translation bundle ${bundleId} is not loaded.`);\n }\n return bundle as T;\n}\n"],"names":["bundleId","translations","useContext","EnvironmentContext","bundle","Error"],"mappings":"uJAgBM,SAA4DA,GAChE,MAAMC,EAAeC,EAAAA,WAAWC,EAAkBA,oBAAEF,aAC9CG,EAASH,IAAeD,GAC9B,IAAKI,EACH,MAAM,IAAIC,MAAM,sBAAsBL,oBAExC,OAAOI,CACT"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/hooks', './LayerHost-e95c5f30', 'preact/jsx-runtime', 'preact/compat'], (function(e,t,n,r,o){"use strict";e.useUser=function(){return t.useContext(n.EnvironmentContext).user}}));
2
- //# sourceMappingURL=useUser-85c781ea.js.map
1
+ define(['exports', 'preact/hooks', './LayerHost-639b3284', 'preact/jsx-runtime', 'preact/compat'], (function(e,t,n,r,o){"use strict";e.useUser=function(){return t.useContext(n.EnvironmentContext).user}}));
2
+ //# sourceMappingURL=useUser-3ef25571.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUser-85c781ea.js","sources":["../../src/hooks/UNSAFE_useUser/useUser.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useContext } from 'preact/hooks';\nimport { EnvironmentContext } from '../../UNSAFE_Environment';\n\nexport function useUser() {\n return useContext(EnvironmentContext).user;\n}\n"],"names":["useContext","EnvironmentContext","user"],"mappings":"qJAWE,OAAOA,EAAUA,WAACC,sBAAoBC,IACxC"}
1
+ {"version":3,"file":"useUser-3ef25571.js","sources":["../../src/hooks/UNSAFE_useUser/useUser.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useContext } from 'preact/hooks';\nimport { EnvironmentContext } from '../../UNSAFE_Environment';\n\nexport function useUser() {\n return useContext(EnvironmentContext).user;\n}\n"],"names":["useContext","EnvironmentContext","user"],"mappings":"qJAWE,OAAOA,EAAUA,WAACC,sBAAoBC,IACxC"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/hooks', './useUser-85c781ea', './layoutUtils-3c2d340e', './eventsUtils-5d567a9d', './useVisHover-28319fef', './mergeProps-bcfa6a92'], (function(e,t,n,r,s,o,c){"use strict";e.useVisEvent=function(e,i,u,a,d,v,f,I,l,m,g,b,p,C){const k=t.useRef(),[w,U]=t.useState(p),[R,V]=t.useState(),h=o.useVisHover((e=>{const t=b(e.target);g(t,R)||(V(t&&{...t,isCurrent:!0}),k.current=r.getRandomId(),i&&(w&&U({...w,isCurrent:!1}),l?.(d(t))))}),void 0,(()=>{V(void 0),k.current=void 0,i&&l?.(d())}),e),{direction:y}=n.useUser(),A="rtl"===y;if(!i)return{isInteractive:!1,focusedItemInfo:w,hoveredItemInfo:R,eventsProps:h};const E=e=>{m?.(d(e)),k.current=r.getRandomId(),U(e)},P=e=>{g(e,w)||(e.isCurrent=!0,e.isFocusVisible=!0,R&&V({...R,isCurrent:!1}),E(e))},D=()=>{const e=d(w);e&&e.data&&u(w)&&(I?.(e),k.current=r.getRandomId())},F=a(D,E,w,C);return{isInteractive:!0,focusedItemInfo:w,hoveredItemInfo:R,activeId:k.current,triggerOnAction:D,updatefocusedItemInfo:E,onContextMenuDismissed:e=>{"keyboard"===e&&E({...w,isCurrent:!0,isFocusVisible:!0})},eventsProps:c.mergeProps(h,{onPointerUp:e=>{const t=b(e.target);if(null!=t&&u(t)){U(t);const e=d(t);e&&u(t)&&(I?.(e),k.current=r.getRandomId())}},onKeyUp:F,onKeyDown:e=>{switch(e.key){case"Tab":return;case"ArrowDown":{const t=f(w);P(t),s.cancelEvent(e);break}case"ArrowUp":{const t=v(w);P(t),s.cancelEvent(e);break}case"ArrowRight":{const t=A?v(w):f(w);P(t),s.cancelEvent(e);break}case"ArrowLeft":{const t=A?f(w):v(w);P(t),s.cancelEvent(e);break}}},onBlur:()=>{const e={...w,isCurrent:!1,isFocusVisible:!1};(null!=R||w.isCurrent)&&m?.(d(void 0)),U(e)}})}}}));
2
- //# sourceMappingURL=useVisEvents-954dcd88.js.map
1
+ define(['exports', 'preact/hooks', './useUser-3ef25571', './layoutUtils-3c2d340e', './eventsUtils-5d567a9d', './useVisHover-28319fef', './mergeProps-bcfa6a92'], (function(e,t,n,r,s,o,c){"use strict";e.useVisEvent=function(e,i,u,a,d,f,v,I,l,m,g,b,p,C){const k=t.useRef(),[w,U]=t.useState(p),[R,V]=t.useState(),h=o.useVisHover((e=>{const t=b(e.target);g(t,R)||(V(t&&{...t,isCurrent:!0}),k.current=r.getRandomId(),i&&(w&&U({...w,isCurrent:!1}),l?.(d(t))))}),void 0,(()=>{V(void 0),k.current=void 0,i&&l?.(d())}),e),{direction:y}=n.useUser(),A="rtl"===y;if(!i)return{isInteractive:!1,focusedItemInfo:w,hoveredItemInfo:R,eventsProps:h};const E=e=>{m?.(d(e)),k.current=r.getRandomId(),U(e)},P=e=>{g(e,w)||(e.isCurrent=!0,e.isFocusVisible=!0,R&&V({...R,isCurrent:!1}),E(e))},D=()=>{const e=d(w);e&&e.data&&u(w)&&(I?.(e),k.current=r.getRandomId())},F=a(D,E,w,C);return{isInteractive:!0,focusedItemInfo:w,hoveredItemInfo:R,activeId:k.current,triggerOnAction:D,updatefocusedItemInfo:E,onContextMenuDismissed:e=>{"keyboard"===e&&E({...w,isCurrent:!0,isFocusVisible:!0})},eventsProps:c.mergeProps(h,{onPointerUp:e=>{const t=b(e.target);if(null!=t&&u(t)){U(t);const e=d(t);e&&u(t)&&(I?.(e),k.current=r.getRandomId())}},onKeyUp:F,onKeyDown:e=>{switch(e.key){case"Tab":return;case"ArrowDown":{const t=v(w);P(t),s.cancelEvent(e);break}case"ArrowUp":{const t=f(w);P(t),s.cancelEvent(e);break}case"ArrowRight":{const t=A?f(w):v(w);P(t),s.cancelEvent(e);break}case"ArrowLeft":{const t=A?v(w):f(w);P(t),s.cancelEvent(e);break}}},onBlur:()=>{const e={...w,isCurrent:!1,isFocusVisible:!1};(null!=R||w.isCurrent)&&m?.(d(void 0)),U(e)}})}}}));
2
+ //# sourceMappingURL=useVisEvents-48144382.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useVisEvents-954dcd88.js","sources":["../../src/hooks/PRIVATE_useVisEvents/useVisEvents.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useRef, useState } from 'preact/hooks';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport type { gestureTypes } from '#hooks/PRIVATE_useVisContextMenu';\nimport { getRandomId } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport { cancelEvent } from '../../utils/UNSAFE_visUtils/eventsUtils';\nimport { useVisHover } from '#hooks/PRIVATE_useVisHover';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\n\ntype ItemInfo = { isCurrent?: boolean; isFocusVisible?: boolean };\n\ntype EventDetail<D> = { data?: D };\n\nexport function useVisEvent<\n I extends ItemInfo,\n J extends EventDetail<D>,\n L extends EventDetail<D>,\n D\n>(\n touchResponse: 'touchStart' | 'touchHold',\n isInteractive: boolean,\n isItemActionable: (itemInfo: I) => boolean,\n getKeyUpHandler: (\n triggerOnAction: () => void,\n updatefocusedItemInfo: (itemInfo: I) => void,\n focusedItemInfo: I,\n isHideShow?: boolean\n ) => (event: KeyboardEvent) => void,\n getDetailFromInfo: (info?: I) => J | L,\n getPrevItemInfo: (info: I) => I,\n getNextItemInfo: (info: I) => I,\n onItemAction: ((detail: J) => void) | undefined,\n onItemHover: ((detail: L) => void) | undefined,\n onItemFocus: ((detail: L) => void) | undefined,\n isEqualItem: (item1?: I, item2?: I) => boolean,\n getItemInfo: (element: HTMLElement) => I | undefined,\n initItemInfo: I,\n isHideShow?: boolean\n) {\n const activeIdRef = useRef<string>();\n\n const [focusedItemInfo, setfocusedItemInfo] = useState<I>(initItemInfo);\n const [hoveredItemInfo, sethoveredItemInfo] = useState<I>();\n\n const onHover = (event: PointerEvent) => {\n const itemInfo = getItemInfo(event.target as HTMLElement);\n if (!isEqualItem(itemInfo, hoveredItemInfo)) {\n sethoveredItemInfo(itemInfo && { ...itemInfo, isCurrent: true });\n activeIdRef.current = getRandomId();\n if (isInteractive) {\n focusedItemInfo ? setfocusedItemInfo({ ...focusedItemInfo, isCurrent: false }) : '';\n onItemHover?.(getDetailFromInfo(itemInfo) as L);\n }\n }\n };\n\n const onHoverLeave = () => {\n sethoveredItemInfo(undefined);\n activeIdRef.current = undefined;\n if (isInteractive) {\n onItemHover?.(getDetailFromInfo() as L);\n }\n };\n\n const hoverHandlers = useVisHover(onHover, undefined, onHoverLeave, touchResponse);\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n if (!isInteractive) {\n return {\n isInteractive: false,\n focusedItemInfo,\n hoveredItemInfo,\n // include relevant hover handlers for datatip\n eventsProps: hoverHandlers\n };\n }\n\n const updatefocusedItemInfo = (itemInfo: I) => {\n onItemFocus?.(getDetailFromInfo(itemInfo) as L);\n activeIdRef.current = getRandomId();\n setfocusedItemInfo(itemInfo);\n };\n\n const handleKeyboardInput = (item: I) => {\n if (!isEqualItem(item, focusedItemInfo)) {\n item.isCurrent = true;\n item.isFocusVisible = true;\n if (hoveredItemInfo) {\n sethoveredItemInfo({ ...hoveredItemInfo, isCurrent: false });\n }\n updatefocusedItemInfo(item);\n }\n };\n\n const triggerOnAction = () => {\n const detail = getDetailFromInfo(focusedItemInfo) as J;\n if (detail && detail.data && isItemActionable(focusedItemInfo)) {\n onItemAction?.(detail);\n activeIdRef.current = getRandomId();\n }\n };\n\n const onPointerUp = (event: PointerEvent) => {\n const itemInfo = getItemInfo(event.target as HTMLElement);\n if (itemInfo != null && isItemActionable(itemInfo)) {\n setfocusedItemInfo(itemInfo);\n const detail = getDetailFromInfo(itemInfo);\n if (detail && isItemActionable(itemInfo)) {\n onItemAction?.(detail as J);\n activeIdRef.current = getRandomId();\n }\n }\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n const key = event.key;\n switch (key) {\n case 'Tab':\n return;\n case 'ArrowDown': {\n const nextItemInfo = getNextItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n case 'ArrowUp': {\n const nextItemInfo = getPrevItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n case 'ArrowRight': {\n const nextItemInfo = isRtl\n ? getPrevItemInfo(focusedItemInfo)\n : getNextItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n case 'ArrowLeft': {\n const nextItemInfo = isRtl\n ? getNextItemInfo(focusedItemInfo)\n : getPrevItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n }\n };\n\n const onKeyUp = getKeyUpHandler(\n triggerOnAction,\n updatefocusedItemInfo,\n focusedItemInfo,\n isHideShow\n );\n\n const onContextMenuDismissed = (gesture: gestureTypes) => {\n if (gesture === 'keyboard') {\n updatefocusedItemInfo({\n ...focusedItemInfo,\n isCurrent: true,\n isFocusVisible: true\n });\n }\n };\n\n const onBlur = () => {\n const itemInfo = { ...focusedItemInfo, isCurrent: false, isFocusVisible: false } as I;\n if (hoveredItemInfo != null || focusedItemInfo.isCurrent) {\n onItemFocus?.(getDetailFromInfo(undefined) as L);\n }\n setfocusedItemInfo(itemInfo);\n };\n\n return {\n isInteractive: true,\n focusedItemInfo,\n hoveredItemInfo,\n activeId: activeIdRef.current,\n triggerOnAction,\n updatefocusedItemInfo,\n onContextMenuDismissed,\n eventsProps: mergeProps(hoverHandlers, {\n onPointerUp,\n onKeyUp,\n onKeyDown,\n onBlur\n })\n };\n}\n"],"names":["touchResponse","isInteractive","isItemActionable","getKeyUpHandler","getDetailFromInfo","getPrevItemInfo","getNextItemInfo","onItemAction","onItemHover","onItemFocus","isEqualItem","getItemInfo","initItemInfo","isHideShow","activeIdRef","useRef","focusedItemInfo","setfocusedItemInfo","useState","hoveredItemInfo","sethoveredItemInfo","hoverHandlers","useVisHover","event","itemInfo","target","isCurrent","current","getRandomId","undefined","direction","useUser","isRtl","eventsProps","updatefocusedItemInfo","handleKeyboardInput","item","isFocusVisible","triggerOnAction","detail","data","onKeyUp","activeId","onContextMenuDismissed","gesture","mergeProps","onPointerUp","onKeyDown","key","nextItemInfo","cancelEvent","onBlur"],"mappings":"8MAoBgB,SAMdA,EACAC,EACAC,EACAC,EAMAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,MAAMC,EAAcC,EAAAA,UAEbC,EAAiBC,GAAsBC,EAAQA,SAAIN,IACnDO,EAAiBC,GAAsBF,EAAQA,WAsBhDG,EAAgBC,EAAAA,aApBLC,IACf,MAAMC,EAAWb,EAAYY,EAAME,QAC9Bf,EAAYc,EAAUL,KACzBC,EAAmBI,GAAY,IAAKA,EAAUE,WAAW,IACzDZ,EAAYa,QAAUC,EAAAA,cAClB3B,IACFe,GAAkBC,EAAmB,IAAKD,EAAiBU,WAAW,IACtElB,IAAcJ,EAAkBoB,KAEnC,QAWwCK,GARtB,KACnBT,OAAmBS,GACnBf,EAAYa,aAAUE,EAClB5B,GACFO,IAAcJ,IACf,GAGiEJ,IAE9D8B,UAAEA,GAAcC,EAAAA,UAChBC,EAAsB,QAAdF,EACd,IAAK7B,EACH,MAAO,CACLA,eAAe,EACfe,kBACAG,kBAEAc,YAAaZ,GAIjB,MAAMa,EAAyBV,IAC7Bf,IAAcL,EAAkBoB,IAChCV,EAAYa,QAAUC,EAAAA,cACtBX,EAAmBO,EAAS,EAGxBW,EAAuBC,IACtB1B,EAAY0B,EAAMpB,KACrBoB,EAAKV,WAAY,EACjBU,EAAKC,gBAAiB,EAClBlB,GACFC,EAAmB,IAAKD,EAAiBO,WAAW,IAEtDQ,EAAsBE,GACvB,EAGGE,EAAkB,KACtB,MAAMC,EAASnC,EAAkBY,GAC7BuB,GAAUA,EAAOC,MAAQtC,EAAiBc,KAC5CT,IAAegC,GACfzB,EAAYa,QAAUC,EAAAA,cACvB,EAmDGa,EAAUtC,EACdmC,EACAJ,EACAlB,EACAH,GAqBF,MAAO,CACLZ,eAAe,EACfe,kBACAG,kBACAuB,SAAU5B,EAAYa,QACtBW,kBACAJ,wBACAS,uBAzB8BC,IACd,aAAZA,GACFV,EAAsB,IACjBlB,EACHU,WAAW,EACXW,gBAAgB,GAEnB,EAmBDJ,YAAaY,EAAUA,WAACxB,EAAe,CACrCyB,YAlFiBvB,IACnB,MAAMC,EAAWb,EAAYY,EAAME,QACnC,GAAgB,MAAZD,GAAoBtB,EAAiBsB,GAAW,CAClDP,EAAmBO,GACnB,MAAMe,EAASnC,EAAkBoB,GAC7Be,GAAUrC,EAAiBsB,KAC7BjB,IAAegC,GACfzB,EAAYa,QAAUC,EAAAA,cAEzB,GA0ECa,UACAM,UAxEexB,IAEjB,OADYA,EAAMyB,KAEhB,IAAK,MACH,OACF,IAAK,YAAa,CAChB,MAAMC,EAAe3C,EAAgBU,GACrCmB,EAAoBc,GACpBC,EAAWA,YAAC3B,GACZ,KACD,CACD,IAAK,UAAW,CACd,MAAM0B,EAAe5C,EAAgBW,GACrCmB,EAAoBc,GACpBC,EAAWA,YAAC3B,GACZ,KACD,CACD,IAAK,aAAc,CACjB,MAAM0B,EAAejB,EACjB3B,EAAgBW,GAChBV,EAAgBU,GACpBmB,EAAoBc,GACpBC,EAAWA,YAAC3B,GACZ,KACD,CACD,IAAK,YAAa,CAChB,MAAM0B,EAAejB,EACjB1B,EAAgBU,GAChBX,EAAgBW,GACpBmB,EAAoBc,GACpBC,EAAWA,YAAC3B,GACZ,KACD,EACF,EAwCC4B,OApBW,KACb,MAAM3B,EAAW,IAAKR,EAAiBU,WAAW,EAAOW,gBAAgB,IAClD,MAAnBlB,GAA2BH,EAAgBU,YAC7CjB,IAAcL,OAAkByB,IAElCZ,EAAmBO,EAAS,IAkBhC"}
1
+ {"version":3,"file":"useVisEvents-48144382.js","sources":["../../src/hooks/PRIVATE_useVisEvents/useVisEvents.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useRef, useState } from 'preact/hooks';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport type { gestureTypes } from '#hooks/PRIVATE_useVisContextMenu';\nimport { getRandomId } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport { cancelEvent } from '../../utils/UNSAFE_visUtils/eventsUtils';\nimport { useVisHover } from '#hooks/PRIVATE_useVisHover';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\n\ntype ItemInfo = { isCurrent?: boolean; isFocusVisible?: boolean };\n\ntype EventDetail<D> = { data?: D };\n\nexport function useVisEvent<\n I extends ItemInfo,\n J extends EventDetail<D>,\n L extends EventDetail<D>,\n D\n>(\n touchResponse: 'touchStart' | 'touchHold',\n isInteractive: boolean,\n isItemActionable: (itemInfo: I) => boolean,\n getKeyUpHandler: (\n triggerOnAction: () => void,\n updatefocusedItemInfo: (itemInfo: I) => void,\n focusedItemInfo: I,\n isHideShow?: boolean\n ) => (event: KeyboardEvent) => void,\n getDetailFromInfo: (info?: I) => J | L,\n getPrevItemInfo: (info: I) => I,\n getNextItemInfo: (info: I) => I,\n onItemAction: ((detail: J) => void) | undefined,\n onItemHover: ((detail: L) => void) | undefined,\n onItemFocus: ((detail: L) => void) | undefined,\n isEqualItem: (item1?: I, item2?: I) => boolean,\n getItemInfo: (element: HTMLElement) => I | undefined,\n initItemInfo: I,\n isHideShow?: boolean\n) {\n const activeIdRef = useRef<string>();\n\n const [focusedItemInfo, setfocusedItemInfo] = useState<I>(initItemInfo);\n const [hoveredItemInfo, sethoveredItemInfo] = useState<I>();\n\n const onHover = (event: PointerEvent) => {\n const itemInfo = getItemInfo(event.target as HTMLElement);\n if (!isEqualItem(itemInfo, hoveredItemInfo)) {\n sethoveredItemInfo(itemInfo && { ...itemInfo, isCurrent: true });\n activeIdRef.current = getRandomId();\n if (isInteractive) {\n focusedItemInfo ? setfocusedItemInfo({ ...focusedItemInfo, isCurrent: false }) : '';\n onItemHover?.(getDetailFromInfo(itemInfo) as L);\n }\n }\n };\n\n const onHoverLeave = () => {\n sethoveredItemInfo(undefined);\n activeIdRef.current = undefined;\n if (isInteractive) {\n onItemHover?.(getDetailFromInfo() as L);\n }\n };\n\n const hoverHandlers = useVisHover(onHover, undefined, onHoverLeave, touchResponse);\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n if (!isInteractive) {\n return {\n isInteractive: false,\n focusedItemInfo,\n hoveredItemInfo,\n // include relevant hover handlers for datatip\n eventsProps: hoverHandlers\n };\n }\n\n const updatefocusedItemInfo = (itemInfo: I) => {\n onItemFocus?.(getDetailFromInfo(itemInfo) as L);\n activeIdRef.current = getRandomId();\n setfocusedItemInfo(itemInfo);\n };\n\n const handleKeyboardInput = (item: I) => {\n if (!isEqualItem(item, focusedItemInfo)) {\n item.isCurrent = true;\n item.isFocusVisible = true;\n if (hoveredItemInfo) {\n sethoveredItemInfo({ ...hoveredItemInfo, isCurrent: false });\n }\n updatefocusedItemInfo(item);\n }\n };\n\n const triggerOnAction = () => {\n const detail = getDetailFromInfo(focusedItemInfo) as J;\n if (detail && detail.data && isItemActionable(focusedItemInfo)) {\n onItemAction?.(detail);\n activeIdRef.current = getRandomId();\n }\n };\n\n const onPointerUp = (event: PointerEvent) => {\n const itemInfo = getItemInfo(event.target as HTMLElement);\n if (itemInfo != null && isItemActionable(itemInfo)) {\n setfocusedItemInfo(itemInfo);\n const detail = getDetailFromInfo(itemInfo);\n if (detail && isItemActionable(itemInfo)) {\n onItemAction?.(detail as J);\n activeIdRef.current = getRandomId();\n }\n }\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n const key = event.key;\n switch (key) {\n case 'Tab':\n return;\n case 'ArrowDown': {\n const nextItemInfo = getNextItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n case 'ArrowUp': {\n const nextItemInfo = getPrevItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n case 'ArrowRight': {\n const nextItemInfo = isRtl\n ? getPrevItemInfo(focusedItemInfo)\n : getNextItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n case 'ArrowLeft': {\n const nextItemInfo = isRtl\n ? getNextItemInfo(focusedItemInfo)\n : getPrevItemInfo(focusedItemInfo);\n handleKeyboardInput(nextItemInfo);\n cancelEvent(event);\n break;\n }\n }\n };\n\n const onKeyUp = getKeyUpHandler(\n triggerOnAction,\n updatefocusedItemInfo,\n focusedItemInfo,\n isHideShow\n );\n\n const onContextMenuDismissed = (gesture: gestureTypes) => {\n if (gesture === 'keyboard') {\n updatefocusedItemInfo({\n ...focusedItemInfo,\n isCurrent: true,\n isFocusVisible: true\n });\n }\n };\n\n const onBlur = () => {\n const itemInfo = { ...focusedItemInfo, isCurrent: false, isFocusVisible: false } as I;\n if (hoveredItemInfo != null || focusedItemInfo.isCurrent) {\n onItemFocus?.(getDetailFromInfo(undefined) as L);\n }\n setfocusedItemInfo(itemInfo);\n };\n\n return {\n isInteractive: true,\n focusedItemInfo,\n hoveredItemInfo,\n activeId: activeIdRef.current,\n triggerOnAction,\n updatefocusedItemInfo,\n onContextMenuDismissed,\n eventsProps: mergeProps(hoverHandlers, {\n onPointerUp,\n onKeyUp,\n onKeyDown,\n onBlur\n })\n };\n}\n"],"names":["touchResponse","isInteractive","isItemActionable","getKeyUpHandler","getDetailFromInfo","getPrevItemInfo","getNextItemInfo","onItemAction","onItemHover","onItemFocus","isEqualItem","getItemInfo","initItemInfo","isHideShow","activeIdRef","useRef","focusedItemInfo","setfocusedItemInfo","useState","hoveredItemInfo","sethoveredItemInfo","hoverHandlers","useVisHover","event","itemInfo","target","isCurrent","current","getRandomId","undefined","direction","useUser","isRtl","eventsProps","updatefocusedItemInfo","handleKeyboardInput","item","isFocusVisible","triggerOnAction","detail","data","onKeyUp","activeId","onContextMenuDismissed","gesture","mergeProps","onPointerUp","onKeyDown","key","nextItemInfo","cancelEvent","onBlur"],"mappings":"8MAoBgB,SAMdA,EACAC,EACAC,EACAC,EAMAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,MAAMC,EAAcC,EAAAA,UAEbC,EAAiBC,GAAsBC,EAAQA,SAAIN,IACnDO,EAAiBC,GAAsBF,EAAQA,WAsBhDG,EAAgBC,EAAAA,aApBLC,IACf,MAAMC,EAAWb,EAAYY,EAAME,QAC9Bf,EAAYc,EAAUL,KACzBC,EAAmBI,GAAY,IAAKA,EAAUE,WAAW,IACzDZ,EAAYa,QAAUC,EAAAA,cAClB3B,IACFe,GAAkBC,EAAmB,IAAKD,EAAiBU,WAAW,IACtElB,IAAcJ,EAAkBoB,KAEnC,QAWwCK,GARtB,KACnBT,OAAmBS,GACnBf,EAAYa,aAAUE,EAClB5B,GACFO,IAAcJ,IACf,GAGiEJ,IAE9D8B,UAAEA,GAAcC,EAAAA,UAChBC,EAAsB,QAAdF,EACd,IAAK7B,EACH,MAAO,CACLA,eAAe,EACfe,kBACAG,kBAEAc,YAAaZ,GAIjB,MAAMa,EAAyBV,IAC7Bf,IAAcL,EAAkBoB,IAChCV,EAAYa,QAAUC,EAAAA,cACtBX,EAAmBO,EAAS,EAGxBW,EAAuBC,IACtB1B,EAAY0B,EAAMpB,KACrBoB,EAAKV,WAAY,EACjBU,EAAKC,gBAAiB,EAClBlB,GACFC,EAAmB,IAAKD,EAAiBO,WAAW,IAEtDQ,EAAsBE,GACvB,EAGGE,EAAkB,KACtB,MAAMC,EAASnC,EAAkBY,GAC7BuB,GAAUA,EAAOC,MAAQtC,EAAiBc,KAC5CT,IAAegC,GACfzB,EAAYa,QAAUC,EAAAA,cACvB,EAmDGa,EAAUtC,EACdmC,EACAJ,EACAlB,EACAH,GAqBF,MAAO,CACLZ,eAAe,EACfe,kBACAG,kBACAuB,SAAU5B,EAAYa,QACtBW,kBACAJ,wBACAS,uBAzB8BC,IACd,aAAZA,GACFV,EAAsB,IACjBlB,EACHU,WAAW,EACXW,gBAAgB,GAEnB,EAmBDJ,YAAaY,EAAUA,WAACxB,EAAe,CACrCyB,YAlFiBvB,IACnB,MAAMC,EAAWb,EAAYY,EAAME,QACnC,GAAgB,MAAZD,GAAoBtB,EAAiBsB,GAAW,CAClDP,EAAmBO,GACnB,MAAMe,EAASnC,EAAkBoB,GAC7Be,GAAUrC,EAAiBsB,KAC7BjB,IAAegC,GACfzB,EAAYa,QAAUC,EAAAA,cAEzB,GA0ECa,UACAM,UAxEexB,IAEjB,OADYA,EAAMyB,KAEhB,IAAK,MACH,OACF,IAAK,YAAa,CAChB,MAAMC,EAAe3C,EAAgBU,GACrCmB,EAAoBc,GACpBC,EAAWA,YAAC3B,GACZ,KACD,CACD,IAAK,UAAW,CACd,MAAM0B,EAAe5C,EAAgBW,GACrCmB,EAAoBc,GACpBC,EAAWA,YAAC3B,GACZ,KACD,CACD,IAAK,aAAc,CACjB,MAAM0B,EAAejB,EACjB3B,EAAgBW,GAChBV,EAAgBU,GACpBmB,EAAoBc,GACpBC,EAAWA,YAAC3B,GACZ,KACD,CACD,IAAK,YAAa,CAChB,MAAM0B,EAAejB,EACjB1B,EAAgBU,GAChBX,EAAgBW,GACpBmB,EAAoBc,GACpBC,EAAWA,YAAC3B,GACZ,KACD,EACF,EAwCC4B,OApBW,KACb,MAAM3B,EAAW,IAAKR,EAAiBU,WAAW,EAAOW,gBAAgB,IAClD,MAAnBlB,GAA2BH,EAAgBU,YAC7CjB,IAAcL,OAAkByB,IAElCZ,EAAmBO,EAAS,IAkBhC"}
@@ -1,2 +1,2 @@
1
- define(['exports', '../tooltipUtils-3b34c2bc', 'preact/jsx-runtime', '../LayerHost-e95c5f30', '../Common/themes/redwood/theme', '../Common/themes/themeContract.css', 'preact', 'preact/compat', '../EnvironmentProvider-8f6fc388', 'preact/hooks', '../LayerManager-76fcfb58', '../Floating-a658b79c', '../useFloating-8726c4bb', '../useUser-85c781ea', '../positionUtils-3193ab54', '../refUtils-d354a169', '../useOutsideClick-5c2a47be', '../arrayUtils-6ee96a35', '../Layer-276d62e8', '../classNames-08d99695', '../UNSAFE_Layer/themes/LayerStyles.css', 'css!./../LayerStyles.styles.css', '../useThemeInterpolations-b1d98ea4', '../useColorScheme-10dc88de', '../useScale-37d42c9d', '../theme-a8f3d819', '../Theme-d945adae', '../mergeInterpolations-9ede4cf7', '../mergeDeepWithKey-aaab9019', '../_curry3-83878f86', '../_curry1-df649359', '../_curry2-86c52b86', '../_isObject-42bafc94', '../useComponentTheme-5aa41a8f', '../logger-0f873e29', '../utils-5077c092', '../colorUtils-7c069766', '../UNSAFE_Floating/themes/redwood/FloatingTheme', '../UNSAFE_Floating/themes/FloatingStyles.css', 'css!./../FloatingStyles.styles.css', '../UNSAFE_Floating/themes/redwood/FloatingBaseTheme.css', 'module', '../UNSAFE_Floating/themes/redwood/FloatingVariants.css', '../vanilla-extract-recipes-createRuntimeFn.esm-d881c69a', '../vanilla-extract-dynamic.esm-eceadd82', '../UNSAFE_Floating/themes/FloatingContract.css'], (function(e,t,a,s,o,r,c,l,i,n,d,m,g,F,p,h,y,u,_,b,f,S,T,U,E,L,A,C,O,N,v,w,W,x,I,M,P,j,D,H,k,B,G,Y,K,R){"use strict";e.SHOW_TOOLTIP_DELAY=t.SHOW_TOOLTIP_DELAY,e.getGlobalTooltipManager=t.getGlobalTooltipManager,e.getWrappedTooltipContent=t.getWrappedTooltipContent,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ define(['exports', '../tooltipUtils-79293e46', 'preact/jsx-runtime', '../LayerHost-639b3284', 'preact', '../Common/themes/redwood/theme', '../Common/themes/themeContract.css', 'preact/compat', '../EnvironmentProvider-c0e1e39b', 'preact/hooks', '../LayerManager-2972de92', '../Floating-25e0092b', '../useFloating-a2399a51', '../useUser-3ef25571', '../positionUtils-3193ab54', '../refUtils-d354a169', '../useOutsideClick-476e0577', '../arrayUtils-6ee96a35', '../Layer-e835aed8', '../classNames-08d99695', '../UNSAFE_Layer/themes/LayerStyles.css', 'css!./../LayerStyles.styles.css', '../useThemeInterpolations-e20f8cfa', '../useColorScheme-443e7cc7', '../useScale-e311d35f', '../theme-a8f3d819', '../Theme-d945adae', '../mergeInterpolations-9ede4cf7', '../mergeDeepWithKey-aaab9019', '../_curry3-83878f86', '../_curry1-df649359', '../_curry2-86c52b86', '../_isObject-42bafc94', '../useComponentTheme-5aa41a8f', '../logger-0f873e29', '../utils-5077c092', '../colorUtils-7c069766', '../UNSAFE_Floating/themes/redwood/FloatingTheme', '../UNSAFE_Floating/themes/FloatingStyles.css', 'css!./../FloatingStyles.styles.css', '../UNSAFE_Floating/themes/redwood/FloatingBaseTheme.css', 'module', '../UNSAFE_Floating/themes/redwood/FloatingVariants.css', '../vanilla-extract-recipes-createRuntimeFn.esm-d881c69a', '../vanilla-extract-dynamic.esm-eceadd82', '../UNSAFE_Floating/themes/FloatingContract.css'], (function(e,t,a,s,o,r,l,i,n,c,m,d,g,F,p,h,y,u,_,f,S,T,U,b,E,L,A,C,O,N,v,w,W,x,I,M,P,j,D,H,k,B,G,Y,K,R){"use strict";e.SHOW_TOOLTIP_DELAY=t.SHOW_TOOLTIP_DELAY,e.getGlobalTooltipManager=t.getGlobalTooltipManager,e.getWrappedTooltipContent=t.getWrappedTooltipContent,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=PRIVATE_tooltipUtils.js.map
@@ -1,2 +1,2 @@
1
- define(['exports', '../tabbableUtils-9887f50b', '../domUtil-b56997de', 'preact/jsx-runtime', '@testing-library/preact', '../matchTranslationBundle-e243f90d', '../LayerHost-e95c5f30', '../Common/themes/redwood/theme', '../Common/themes/themeContract.css', 'preact', 'preact/compat', '../EnvironmentProvider-8f6fc388', 'preact/hooks', '../LayerManager-76fcfb58', '../TabbableModeContext-a9c97640', 'chai'], (function(e,t,o,a,r,c,n,l,i,s,b,d,m,p,u,y){"use strict";e.default=t.setupTabbableComponent,e.checkTooltipText=o.checkTooltipText,e.queryAllBy=o.queryAllBy,e.queryById=o.queryById,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ define(['exports', '../tabbableUtils-f5e521c8', '../domUtil-b56997de', 'preact/jsx-runtime', '@testing-library/preact', '../matchTranslationBundle-e243f90d', '../LayerHost-639b3284', 'preact', '../Common/themes/redwood/theme', '../Common/themes/themeContract.css', 'preact/compat', '../EnvironmentProvider-c0e1e39b', 'preact/hooks', '../LayerManager-2972de92', '../TabbableModeContext-a9c97640', 'chai'], (function(e,t,o,a,r,c,n,l,d,i,s,b,m,p,u,y){"use strict";e.default=t.setupTabbableComponent,e.checkTooltipText=o.checkTooltipText,e.queryAllBy=o.queryAllBy,e.queryById=o.queryById,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=PRIVATE_visTestUtils.js.map