@oracle/oraclejet-preact 20.0.0 → 20.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/amd/BaseCardView-16fda4c3.js +2 -0
  2. package/amd/{BaseCardView-b8119561.js.map → BaseCardView-16fda4c3.js.map} +1 -1
  3. package/amd/BaseTabBarItem-d7c2922b.js +2 -0
  4. package/amd/BaseTabBarItem-d7c2922b.js.map +1 -0
  5. package/amd/CardFlexView-d3eb7373.js +2 -0
  6. package/amd/{CardFlexView-aa2f3de8.js.map → CardFlexView-d3eb7373.js.map} +1 -1
  7. package/amd/CardGridView-842f70cd.js +2 -0
  8. package/amd/{CardGridView-85f90c75.js.map → CardGridView-842f70cd.js.map} +1 -1
  9. package/amd/CheckboxSetContext-2e486ea8.js +2 -0
  10. package/{cjs/CheckboxSetContext-c62db26d.js.map → amd/CheckboxSetContext-2e486ea8.js.map} +1 -1
  11. package/amd/{CollapsibleNavigationList-f0072c90.js → CollapsibleNavigationList-fdeccbfb.js} +2 -2
  12. package/amd/{CollapsibleNavigationList-f0072c90.js.map → CollapsibleNavigationList-fdeccbfb.js.map} +1 -1
  13. package/amd/{DatePicker-88c5bbcd.js → DatePicker-bf521b1c.js} +2 -2
  14. package/amd/{DatePicker-88c5bbcd.js.map → DatePicker-bf521b1c.js.map} +1 -1
  15. package/amd/ExpandableList-a9a86ad8.js +2 -0
  16. package/amd/{ExpandableList-233c279e.js.map → ExpandableList-a9a86ad8.js.map} +1 -1
  17. package/amd/{FlatTreeView-9ecf2be6.js → FlatTreeView-15edd439.js} +2 -2
  18. package/amd/{FlatTreeView-9ecf2be6.js.map → FlatTreeView-15edd439.js.map} +1 -1
  19. package/amd/{InlineSelectSingle-f4438110.js → InlineSelectSingle-7c1cc5b5.js} +2 -2
  20. package/amd/{InlineSelectSingle-f4438110.js.map → InlineSelectSingle-7c1cc5b5.js.map} +1 -1
  21. package/amd/InputDatePicker-7227a858.js +2 -0
  22. package/amd/{InputDatePicker-48633486.js.map → InputDatePicker-7227a858.js.map} +1 -1
  23. package/amd/ListView-6d21e8f9.js +2 -0
  24. package/amd/{ListView-2678b2af.js.map → ListView-6d21e8f9.js.map} +1 -1
  25. package/amd/{MonthView-ea883c49.js → MonthView-96fafba4.js} +2 -2
  26. package/amd/{MonthView-ea883c49.js.map → MonthView-96fafba4.js.map} +1 -1
  27. package/amd/{OverflowTabBar-b142f8d4.js → OverflowTabBar-5ff68da7.js} +2 -2
  28. package/amd/{OverflowTabBar-b142f8d4.js.map → OverflowTabBar-5ff68da7.js.map} +1 -1
  29. package/amd/{OverflowTabBarItem-49a82149.js → OverflowTabBarItem-926b0c8a.js} +2 -2
  30. package/amd/{OverflowTabBarItem-49a82149.js.map → OverflowTabBarItem-926b0c8a.js.map} +1 -1
  31. package/amd/PRIVATE_BaseCardView.js +1 -1
  32. package/amd/PRIVATE_CollapsibleNavigationList.js +1 -1
  33. package/amd/PRIVATE_MonthView.js +1 -1
  34. package/amd/PRIVATE_MonthYearGridView.js +1 -1
  35. package/amd/PRIVATE_SelectCommon.js +1 -1
  36. package/amd/PRIVATE_StyledDatePickerButton.js +1 -1
  37. package/amd/PRIVATE_TableList.js +1 -1
  38. package/amd/{RemovableTabBarItem-e1bee7fa.js → RemovableTabBarItem-9ae273fe.js} +2 -2
  39. package/amd/{RemovableTabBarItem-e1bee7fa.js.map → RemovableTabBarItem-9ae273fe.js.map} +1 -1
  40. package/amd/ReorderableTabBar-0c69bfd4.js +2 -0
  41. package/amd/{ReorderableTabBar-46683bcb.js.map → ReorderableTabBar-0c69bfd4.js.map} +1 -1
  42. package/amd/{SelectMobileFieldInput-83f56b22.js → SelectMobileFieldInput-d499ef86.js} +2 -2
  43. package/amd/{SelectMobileFieldInput-83f56b22.js.map → SelectMobileFieldInput-d499ef86.js.map} +1 -1
  44. package/amd/{SelectMultiple-cb5fdd20.js → SelectMultiple-cc9bffc6.js} +2 -2
  45. package/amd/{SelectMultiple-cb5fdd20.js.map → SelectMultiple-cc9bffc6.js.map} +1 -1
  46. package/amd/{SelectSingle-02e85b6e.js → SelectSingle-2bb35b67.js} +2 -2
  47. package/amd/{SelectSingle-02e85b6e.js.map → SelectSingle-2bb35b67.js.map} +1 -1
  48. package/amd/StyledDatePickerButton-bceb62e1.js +2 -0
  49. package/amd/StyledDatePickerButton-bceb62e1.js.map +1 -0
  50. package/amd/StyledDatePickerButtonStyles.styles.css +17 -0
  51. package/amd/TabBar-de723fbc.js +2 -0
  52. package/amd/{TabBar-fcebb560.js.map → TabBar-de723fbc.js.map} +1 -1
  53. package/amd/TabBarItem-a39c5de3.js +2 -0
  54. package/amd/{TabBarItem-224bc6b3.js.map → TabBarItem-a39c5de3.js.map} +1 -1
  55. package/amd/TabBarLinkItem-944b1e8d.js +2 -0
  56. package/amd/{TabBarLinkItem-57587dbd.js.map → TabBarLinkItem-944b1e8d.js.map} +1 -1
  57. package/amd/TabBarMixed-cfd346bf.js +2 -0
  58. package/amd/{TabBarMixed-8cc4b4ed.js.map → TabBarMixed-cfd346bf.js.map} +1 -1
  59. package/amd/Theme-redwood/theme.css +201 -201
  60. package/amd/Theme-stable/theme.css +218 -218
  61. package/amd/UNSAFE_CardFlexView.js +1 -1
  62. package/amd/UNSAFE_CardGridView.js +1 -1
  63. package/amd/UNSAFE_CheckboxItem.js +1 -1
  64. package/amd/UNSAFE_CheckboxItem.js.map +1 -1
  65. package/amd/UNSAFE_CheckboxSet.js +1 -1
  66. package/amd/UNSAFE_CheckboxSet.js.map +1 -1
  67. package/amd/UNSAFE_DatePicker.js +1 -1
  68. package/amd/UNSAFE_ExpandableList.js +1 -1
  69. package/amd/UNSAFE_FlatTreeView.js +1 -1
  70. package/amd/UNSAFE_InlineSelectSingle.js +1 -1
  71. package/amd/UNSAFE_InputDatePicker.js +1 -1
  72. package/amd/UNSAFE_ListView.js +1 -1
  73. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  74. package/amd/UNSAFE_ReorderableTabBar.js +1 -1
  75. package/amd/UNSAFE_RichCheckboxSet.js +1 -1
  76. package/amd/UNSAFE_RichCheckboxSet.js.map +1 -1
  77. package/amd/UNSAFE_RichSelectionItem.js +1 -1
  78. package/amd/UNSAFE_RichSelectionItem.js.map +1 -1
  79. package/amd/UNSAFE_SelectMultiple.js +1 -1
  80. package/amd/UNSAFE_SelectSingle.js +1 -1
  81. package/amd/UNSAFE_TabBar.js +1 -1
  82. package/amd/UNSAFE_TabBarCommon.js +1 -1
  83. package/amd/UNSAFE_TabBarMixed.js +1 -1
  84. package/amd/UNSAFE_VirtualizedListView.js +1 -1
  85. package/amd/VirtualizedListView-1ae7151d.js +2 -0
  86. package/amd/{VirtualizedListView-a0f338c2.js.map → VirtualizedListView-1ae7151d.js.map} +1 -1
  87. package/amd/{YearsGridView-4aa7bc66.js → YearsGridView-561c3074.js} +2 -2
  88. package/amd/{YearsGridView-4aa7bc66.js.map → YearsGridView-561c3074.js.map} +1 -1
  89. package/amd/{useDisplayValue-e70c76d8.js → useDisplayValue-0e90bf4c.js} +2 -2
  90. package/amd/{useDisplayValue-e70c76d8.js.map → useDisplayValue-0e90bf4c.js.map} +1 -1
  91. package/amd/useSelectCommon-a02ddf3c.js +2 -0
  92. package/amd/useSelectCommon-a02ddf3c.js.map +1 -0
  93. package/cjs/{Chart-13a198f3.js → Chart-966da017.js} +2 -2
  94. package/cjs/{Chart-13a198f3.js.map → Chart-966da017.js.map} +1 -1
  95. package/cjs/CheckboxSet-6865f4fd.js +55 -0
  96. package/{amd/CheckboxSet-f000e5c2.js.map → cjs/CheckboxSet-6865f4fd.js.map} +1 -1
  97. package/cjs/{ColorPalette-9f041744.js → ColorPalette-b14114d8.js} +2 -2
  98. package/cjs/{ColorPalette-9f041744.js.map → ColorPalette-b14114d8.js.map} +1 -1
  99. package/cjs/{ColorPicker-9af6707c.js → ColorPicker-8f0b6000.js} +2 -2
  100. package/cjs/{ColorPicker-9af6707c.js.map → ColorPicker-8f0b6000.js.map} +1 -1
  101. package/cjs/{DatePicker-48c602ff.js → DatePicker-b60f8a7e.js} +3 -3
  102. package/cjs/{DatePicker-48c602ff.js.map → DatePicker-b60f8a7e.js.map} +1 -1
  103. package/cjs/{MonthView-59452edc.js → MonthView-a2661a58.js} +2 -2
  104. package/cjs/{MonthView-59452edc.js.map → MonthView-a2661a58.js.map} +1 -1
  105. package/cjs/{OverflowTabBarItem-2c967a89.js → OverflowTabBarItem-abcd2327.js} +6 -3
  106. package/cjs/OverflowTabBarItem-abcd2327.js.map +1 -0
  107. package/cjs/PRIVATE_Chart.js +4 -4
  108. package/cjs/PRIVATE_MonthView.js +2 -3
  109. package/cjs/PRIVATE_MonthView.js.map +1 -1
  110. package/cjs/PRIVATE_MonthYearGridView.js +2 -3
  111. package/cjs/PRIVATE_MonthYearGridView.js.map +1 -1
  112. package/cjs/PRIVATE_SelectCommon.js +2 -2
  113. package/cjs/PRIVATE_StyledDatePickerButton.js +1 -2
  114. package/cjs/PRIVATE_StyledDatePickerButton.js.map +1 -1
  115. package/cjs/SegmentStyles.styles.css +12 -9
  116. package/cjs/SegmentStyles.styles2.css +9 -12
  117. package/cjs/{SelectMobileFieldInput-111a95a5.js → SelectMobileFieldInput-cbf57541.js} +2 -2
  118. package/cjs/{SelectMobileFieldInput-111a95a5.js.map → SelectMobileFieldInput-cbf57541.js.map} +1 -1
  119. package/cjs/{StyledDatePickerButton-cf4e4dc0.js → StyledDatePickerButton-becd2a7d.js} +2 -8
  120. package/cjs/StyledDatePickerButton-becd2a7d.js.map +1 -0
  121. package/cjs/StyledDatePickerButtonStyles.styles.css +17 -0
  122. package/cjs/{TabBarLinkItem-42785eb3.js → TabBarLinkItem-b0c4b100.js} +2 -2
  123. package/cjs/{TabBarLinkItem-42785eb3.js.map → TabBarLinkItem-b0c4b100.js.map} +1 -1
  124. package/cjs/Theme-redwood/theme.css +117 -117
  125. package/cjs/Theme-stable/theme.css +224 -224
  126. package/cjs/UNSAFE_BarChart.js +4 -4
  127. package/cjs/UNSAFE_CheckboxItem.js +117 -56
  128. package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
  129. package/cjs/UNSAFE_CheckboxSet.js +21 -50
  130. package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
  131. package/cjs/UNSAFE_ColorPalette.js +80 -80
  132. package/cjs/UNSAFE_ColorPicker.js +60 -60
  133. package/cjs/UNSAFE_ComboChart.js +4 -4
  134. package/cjs/UNSAFE_DatePicker.js +4 -4
  135. package/cjs/UNSAFE_InlineSelectSingle.js +2 -2
  136. package/cjs/UNSAFE_InputColor.js +11 -11
  137. package/cjs/UNSAFE_InputDatePicker.js +96 -96
  138. package/cjs/UNSAFE_LineAreaChart.js +4 -4
  139. package/cjs/UNSAFE_OverflowTabBar.js +2 -2
  140. package/cjs/UNSAFE_RichCheckboxSet.js +46 -42
  141. package/cjs/UNSAFE_RichCheckboxSet.js.map +1 -1
  142. package/cjs/UNSAFE_RichSelectionItem.js +154 -91
  143. package/cjs/UNSAFE_RichSelectionItem.js.map +1 -1
  144. package/cjs/UNSAFE_ScatterChart.js +4 -4
  145. package/cjs/UNSAFE_SelectMultiple.js +2 -2
  146. package/cjs/UNSAFE_SelectSingle.js +3 -3
  147. package/cjs/UNSAFE_TabBar.js +2 -2
  148. package/cjs/UNSAFE_TabBarCommon.js +4 -4
  149. package/cjs/UNSAFE_TabBarMixed.js +3 -3
  150. package/cjs/{YearsGridView-b56f7f42.js → YearsGridView-d0d4e8e1.js} +2 -2
  151. package/cjs/{YearsGridView-b56f7f42.js.map → YearsGridView-d0d4e8e1.js.map} +1 -1
  152. package/cjs/{useDisplayValue-60dbe1c3.js → useDisplayValue-4ace417c.js} +2 -2
  153. package/cjs/{useDisplayValue-60dbe1c3.js.map → useDisplayValue-4ace417c.js.map} +1 -1
  154. package/cjs/{useSelectCommon-b0d7feb3.js → useSelectCommon-27afecfa.js} +8 -3
  155. package/cjs/useSelectCommon-27afecfa.js.map +1 -0
  156. package/es/{BaseCardView-85b9a71e.js → BaseCardView-b3d8bae0.js} +4 -1
  157. package/es/{BaseCardView-85b9a71e.js.map → BaseCardView-b3d8bae0.js.map} +1 -1
  158. package/es/{DatePicker-2ab05fbe.js → DatePicker-7287f0f9.js} +3 -3
  159. package/es/{DatePicker-2ab05fbe.js.map → DatePicker-7287f0f9.js.map} +1 -1
  160. package/es/{MonthView-097171eb.js → MonthView-4b2b483a.js} +2 -2
  161. package/es/{MonthView-097171eb.js.map → MonthView-4b2b483a.js.map} +1 -1
  162. package/es/{NavigationListItem-dbd29973.js → NavigationListItem-340ab770.js} +19 -1
  163. package/es/{NavigationListItem-dbd29973.js.map → NavigationListItem-340ab770.js.map} +1 -1
  164. package/es/{OverflowTabBarItem-6966fbc7.js → OverflowTabBarItem-aa0ce915.js} +7 -4
  165. package/es/OverflowTabBarItem-aa0ce915.js.map +1 -0
  166. package/es/PRIVATE_BaseCardView.js +1 -1
  167. package/es/PRIVATE_CollapsibleNavigationList.js +25 -25
  168. package/es/PRIVATE_MonthView.js +2 -3
  169. package/es/PRIVATE_MonthView.js.map +1 -1
  170. package/es/PRIVATE_MonthYearGridView.js +2 -3
  171. package/es/PRIVATE_MonthYearGridView.js.map +1 -1
  172. package/es/PRIVATE_SelectCommon.js +2 -2
  173. package/es/PRIVATE_StyledDatePickerButton.js +1 -2
  174. package/es/PRIVATE_StyledDatePickerButton.js.map +1 -1
  175. package/es/PRIVATE_TableList.js +4 -4
  176. package/es/RadioIconVariants.styles.css +3 -3
  177. package/es/RadioIconVariants.styles2.css +3 -3
  178. package/es/SegmentStyles.styles.css +9 -12
  179. package/es/SegmentStyles.styles2.css +12 -9
  180. package/es/{SelectMobileFieldInput-0a7c968c.js → SelectMobileFieldInput-345c4d45.js} +2 -2
  181. package/es/{SelectMobileFieldInput-0a7c968c.js.map → SelectMobileFieldInput-345c4d45.js.map} +1 -1
  182. package/es/{StyledDatePickerButton-f3971567.js → StyledDatePickerButton-78f2f6e8.js} +2 -8
  183. package/es/StyledDatePickerButton-78f2f6e8.js.map +1 -0
  184. package/es/StyledDatePickerButtonStyles.styles.css +17 -0
  185. package/es/{TabBar-10488830.js → TabBar-67ca442c.js} +3 -1
  186. package/es/{TabBar-10488830.js.map → TabBar-67ca442c.js.map} +1 -1
  187. package/es/{TabBarLinkItem-a9c1072b.js → TabBarLinkItem-e7be54fa.js} +2 -2
  188. package/es/{TabBarLinkItem-a9c1072b.js.map → TabBarLinkItem-e7be54fa.js.map} +1 -1
  189. package/es/Theme-redwood/theme.css +442 -442
  190. package/es/Theme-stable/theme.css +507 -507
  191. package/es/TrainVariants.styles.css +6 -6
  192. package/es/TrainVariants.styles2.css +6 -6
  193. package/es/UNSAFE_CardFlexView.js +1 -1
  194. package/es/UNSAFE_CardGridView.js +1 -1
  195. package/es/UNSAFE_DatePicker.js +4 -4
  196. package/es/UNSAFE_FlatTreeView.js +14 -14
  197. package/es/UNSAFE_InlineSelectSingle.js +2 -2
  198. package/es/UNSAFE_InputDateMask/themes/SegmentStyles.css.js +1 -1
  199. package/es/UNSAFE_InputDateMask.js +1 -1
  200. package/es/UNSAFE_InputDatePicker.js +5 -5
  201. package/es/UNSAFE_InputTimeMask/themes/SegmentStyles.css.js +1 -1
  202. package/es/UNSAFE_InputTimeMask.js +1 -1
  203. package/es/UNSAFE_ListView.js +53 -53
  204. package/es/UNSAFE_NavigationList.js +13 -13
  205. package/es/UNSAFE_OverflowTabBar.js +13 -13
  206. package/es/UNSAFE_RadioItem/themes/redwood/RadioIconTheme.js +1 -1
  207. package/es/UNSAFE_RadioItem/themes/redwood/RadioIconVariants.css.js +1 -1
  208. package/es/UNSAFE_RadioItem/themes/stable/RadioIconTheme.js +1 -1
  209. package/es/UNSAFE_RadioItem/themes/stable/RadioIconVariants.css.js +1 -1
  210. package/es/UNSAFE_RadioItem.js +1 -1
  211. package/es/UNSAFE_ReorderableTabBar.js +12 -12
  212. package/es/UNSAFE_RichSelectionItem.js +1 -1
  213. package/es/UNSAFE_SelectMultiple.js +2 -2
  214. package/es/UNSAFE_SelectSingle.js +3 -3
  215. package/es/UNSAFE_TabBar.js +13 -13
  216. package/es/UNSAFE_TabBarCommon.js +5 -5
  217. package/es/UNSAFE_TabBarMixed.js +12 -12
  218. package/es/UNSAFE_TextArea.js +226 -106
  219. package/es/UNSAFE_TextArea.js.map +1 -1
  220. package/es/UNSAFE_TextAreaAutosize.js +1 -1
  221. package/es/UNSAFE_Train/themes/redwood/TrainTheme.js +1 -1
  222. package/es/UNSAFE_Train/themes/redwood/TrainVariants.css.js +1 -1
  223. package/es/UNSAFE_Train/themes/stable/TrainTheme.js +1 -1
  224. package/es/UNSAFE_Train/themes/stable/TrainVariants.css.js +1 -1
  225. package/es/UNSAFE_Train.js +1 -1
  226. package/es/{YearsGridView-cac4710a.js → YearsGridView-6c18094a.js} +2 -2
  227. package/es/{YearsGridView-cac4710a.js.map → YearsGridView-6c18094a.js.map} +1 -1
  228. package/es/{useDisplayValue-5bbf2830.js → useDisplayValue-65bbc74e.js} +2 -2
  229. package/es/{useDisplayValue-5bbf2830.js.map → useDisplayValue-65bbc74e.js.map} +1 -1
  230. package/es/{useSelectCommon-309d0f07.js → useSelectCommon-a3c69d60.js} +8 -3
  231. package/es/useSelectCommon-a3c69d60.js.map +1 -0
  232. package/es/useTextAreaAltEnter-ac460f4c.js +61 -0
  233. package/es/useTextAreaAltEnter-ac460f4c.js.map +1 -0
  234. package/package.json +2 -2
  235. package/amd/BaseCardView-b8119561.js +0 -2
  236. package/amd/BaseTabBarItem-03c91d3f.js +0 -2
  237. package/amd/BaseTabBarItem-03c91d3f.js.map +0 -1
  238. package/amd/CardFlexView-aa2f3de8.js +0 -2
  239. package/amd/CardGridView-85f90c75.js +0 -2
  240. package/amd/CheckboxSet-f000e5c2.js +0 -2
  241. package/amd/ExpandableList-233c279e.js +0 -2
  242. package/amd/InputDatePicker-48633486.js +0 -2
  243. package/amd/ListView-2678b2af.js +0 -2
  244. package/amd/ReorderableTabBar-46683bcb.js +0 -2
  245. package/amd/StyledDatePickerButton-b664f4f0.js +0 -2
  246. package/amd/StyledDatePickerButton-b664f4f0.js.map +0 -1
  247. package/amd/TabBar-fcebb560.js +0 -2
  248. package/amd/TabBarItem-224bc6b3.js +0 -2
  249. package/amd/TabBarLinkItem-57587dbd.js +0 -2
  250. package/amd/TabBarMixed-8cc4b4ed.js +0 -2
  251. package/amd/VirtualizedListView-a0f338c2.js +0 -2
  252. package/amd/useSelectCommon-28307b63.js +0 -2
  253. package/amd/useSelectCommon-28307b63.js.map +0 -1
  254. package/cjs/CheckboxSetContext-c62db26d.js +0 -12
  255. package/cjs/OverflowTabBarItem-2c967a89.js.map +0 -1
  256. package/cjs/StyledDatePickerButton-cf4e4dc0.js.map +0 -1
  257. package/cjs/useSelectCommon-b0d7feb3.js.map +0 -1
  258. package/es/OverflowTabBarItem-6966fbc7.js.map +0 -1
  259. package/es/StyledDatePickerButton-f3971567.js.map +0 -1
  260. package/es/TextArea-93ce78a7.js +0 -225
  261. package/es/TextArea-93ce78a7.js.map +0 -1
  262. package/es/useSelectCommon-309d0f07.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationListItem-dbd29973.js","sources":["../../src/UNSAFE_NavigationList/useNavigationList.ts","../../src/UNSAFE_NavigationList/NavigationList.tsx","../../src/UNSAFE_NavigationList/NavigationListItem.tsx"],"sourcesContent":["import { ComponentChildren, ComponentProps } from 'preact';\nimport { useState, useCallback, MutableRef, useRef, useEffect, useId } from 'preact/hooks';\nimport {\n keyExtractor,\n getFirstVisibleKey,\n getKey,\n getPrevNextKeyUsingRef,\n findElementByKey\n} from '../utils/PRIVATE_collectionUtils';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { MenuProps } from '../hooks/PRIVATE_useVisContextMenu/util';\nimport { useContextMenuGesture } from '../hooks/UNSAFE_useContextMenuGesture';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '../resources/nls/bundle';\nimport { Menu } from '../UNSAFE_Menu';\nimport { getDefaultContextMenu } from '../UNSAFE_TabBar/TabBarContextMenu';\nimport { TabBarContextMenuConfig, TabBarItemContextMenuContext } from '../UNSAFE_TabBarCommon';\nimport { NavigationListContextProps } from '../UNSAFE_NavigationListCommon';\n\nconst ITEM_SELECTOR = '[role=\"tab\"]';\nexport const REMOVE_ICON_SELECTOR = '[data-oj-navigationlist-item-remove-icon]';\nconst TOUCH_OFFSET_VALUE = 40;\nconst menuPropGestureStates: Record<\n 'mouse' | 'keyboard' | 'touch',\n Omit<Required<MenuProps>, 'anchorRef' | 'isOpen'>\n> = {\n mouse: {\n initialFocus: 'menu',\n placement: 'bottom-start',\n offsetValue: 0\n },\n keyboard: {\n initialFocus: 'firstItem',\n placement: 'bottom-start',\n offsetValue: 0\n },\n touch: {\n initialFocus: 'menu',\n placement: 'end',\n offsetValue: TOUCH_OFFSET_VALUE\n }\n};\n\n/**\n * type for payload of current key change event handler\n */\ntype CurrentKeyDetail<K> = {\n value: K;\n};\n/**\n * type for payload of selection change event handler\n */\ntype SelectionDetail<K> = {\n value: K;\n reason: 'pointer' | 'keyboard';\n};\n/**\n * type for payload of remove event handler\n */\ntype RemoveDetail<K> = {\n value: K;\n};\n\nconst initialMenuProps: MenuProps = {\n isOpen: false,\n initialFocus: 'menu',\n placement: 'bottom-start',\n offsetValue: 0,\n anchorRef: { current: null }\n};\n\n/*TODO: JET-58534. Create a hook to share some logic between navlist and tabbar. Hook will be used inside this one. */\nexport function useNavigationList<K extends string | number>({\n containerRef,\n selection,\n onRemove,\n onSelectionChange,\n children,\n contextMenuConfig\n}: {\n containerRef: MutableRef<HTMLDivElement>;\n selection?: K;\n onRemove?: <K extends string | number>(detail: RemoveDetail<K>) => void;\n onSelectionChange?: <K extends string | number>(detail: SelectionDetail<K>) => void;\n children: ComponentChildren;\n contextMenuConfig?: TabBarContextMenuConfig<K>;\n}) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const [currentKey, setCurrentKey] = useState<K | undefined>(selection);\n\n const onCurrentKeyChange = useCallback((detail: CurrentKeyDetail<K | undefined>) => {\n setCurrentKey(detail.value);\n }, []) as NavigationListContextProps<K>['onCurrentKeyChange'];\n\n const { currentKeyProps } = useCurrentKey(\n (element) =>\n onRemove\n ? (extractOnlyItemKey(element, ITEM_SELECTOR, REMOVE_ICON_SELECTOR) as K)\n : keyExtractor(element, ITEM_SELECTOR),\n false,\n false,\n getPrevNextKeyUsingRef(containerRef, currentKey, true, ITEM_SELECTOR),\n getPrevNextKeyUsingRef(containerRef, currentKey, false, ITEM_SELECTOR),\n undefined,\n undefined,\n currentKey,\n onCurrentKeyChange\n );\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(containerRef, [\n 'Home',\n 'End',\n 'ArrowUp',\n 'ArrowDown'\n ]);\n\n const onFocus = useCallback(() => {\n if (containerRef.current && currentKey === undefined) {\n const key = getFirstVisibleKey(containerRef.current, ITEM_SELECTOR);\n if (key) {\n setCurrentKey(key as K);\n }\n }\n }, [currentKey, containerRef]);\n\n const onFocusProps = { onFocus };\n const prevNavItems = useRef<K[]>();\n\n useEffect(() => {\n if (containerRef.current) {\n const navListItemKeys = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n if (currentKey != null && navListItemKeys.indexOf(currentKey) !== -1) {\n const navListItem = findElementByKey(\n containerRef.current,\n currentKey,\n ITEM_SELECTOR\n ) as any;\n if (navListItem.scrollIntoViewIfNeeded) {\n // for some browsers, we'll need the non-standard scrollIntoViewIfNeeded\n navListItem.scrollIntoViewIfNeeded();\n } else {\n navListItem.scrollIntoView({ block: 'nearest' });\n }\n } else {\n if (currentKey && navListItemKeys.indexOf(currentKey) === -1) {\n prevNavItems.current\n ? setCurrentKey(findNextCurrentKey(currentKey, navListItemKeys, prevNavItems.current))\n : setCurrentKey(navListItemKeys[0] as K);\n }\n prevNavItems.current = navListItemKeys;\n }\n }\n }, [children, currentKey, containerRef]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if ((event.key === 'Home' || event.key === 'End') && containerRef.current && currentKey) {\n const navListItemKey = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n onCurrentKeyChange?.({\n value: navListItemKey[event.key === 'Home' ? 0 : navListItemKey.length - 1] as K\n });\n }\n if (currentKey && (event.key === 'Enter' || event.key === ' ')) {\n // Prevent default to avoid page scrolling on Space (and native actions on Enter)\n event.preventDefault();\n onSelectionChange?.({\n value: currentKey as K,\n reason: 'keyboard'\n });\n }\n if (currentKey && event.key === 'Delete') {\n onRemove?.({ value: currentKey as K });\n }\n },\n [currentKey, onSelectionChange, onRemove, onCurrentKeyChange, containerRef]\n );\n\n const [contextMenuContext, setContextMenuContext] = useState<TabBarItemContextMenuContext<K>>();\n\n const [menuProps, setMenuProps] = useState<MenuProps>(initialMenuProps);\n const [accStatusInfo, setAccStatusInfo] = useState<string>();\n\n const { triggerProps } = useContextMenuGesture(\n ({ gesture, anchor, target }) => {\n let anchorBasedOnGesture = anchor;\n let itemKey = currentKey as K;\n if (gesture === 'keyboard') {\n //We find the element where the position of the menu is going to be based of\n const elem = findElementByKey(\n containerRef.current as HTMLElement,\n currentKey as K,\n ITEM_SELECTOR\n );\n //We set the correct anchor\n anchorBasedOnGesture = elem ? elem : anchor;\n } else {\n //We search for the key using the target of the event\n const key = keyExtractor(target as HTMLElement, ITEM_SELECTOR);\n\n //On touch devices, the keyExtractor returns null because target of touch event is the entire tabbar. Hence we make use of currentkey since the context menu is always launched from selected item and its key is currentKey\n itemKey = key != null ? (key as K) : (currentKey as K);\n }\n let isRemovable = false;\n if (containerRef.current) {\n isRemovable = getItemAttribute(itemKey, containerRef.current, REMOVE_ICON_SELECTOR) != null;\n }\n const defaultContext = getDefaultContextMenu<K>({\n // For default menu items the existence of REMOVE_ICON_SELECTOR is the indicator that it is removable because we render the default menu in touch devices not the application.\n // Furthermore in corepack due to delegations onRemove is always defined as it is a even handler hence not a good check for isRemovable.\n isRemovable: isRemovable,\n handleRemove: onRemove,\n handleReorder: undefined,\n itemKey: itemKey,\n tabKeys: undefined,\n // As direction is only needed for reorder to switch the labels\n direction: undefined,\n itemLabels: {\n labelRemove: isRemovable ? translations.tabbar_labelRemove() : undefined\n },\n handleAccStatus: (detail) => {\n const removeItemLabel = getItemLabel(detail.removedKey!, containerRef.current!) as string;\n const removeStatus =\n isRemovable && detail.removedKey ? ` Removed ${removeItemLabel}` : '';\n\n setAccStatusInfo(removeStatus);\n }\n });\n setContextMenuContext(defaultContext);\n\n setMenuProps({\n ...menuPropGestureStates[gesture],\n anchorRef: { current: anchorBasedOnGesture },\n // This is set so that when no contextMenuConfig and when items is not removable we need not open it.\n isOpen: contextMenuConfig != null\n });\n },\n {\n isDisabled: !contextMenuConfig //If there is no a context menu renderer we disable the hook\n }\n );\n\n const handleCloseContextMenu = useCallback<Required<ComponentProps<typeof Menu>>['onClose']>(\n (detail) => {\n //Focus has to be set on the current target that was obtained\n //during context menu gesture when menu is dismissed or item is \"selected\"\n if (detail.reason === 'dismissed' || detail.reason === 'itemAction') {\n setCurrentKey(contextMenuContext?.itemKey);\n containerRef.current?.focus();\n }\n // We close the menu.The only prop that matters here is isOpen\n setMenuProps({ ...initialMenuProps });\n },\n [containerRef, contextMenuContext?.itemKey]\n );\n\n const contextMenuDescriptionId = 'contextMenu_' + useId();\n const contextMenuDescription = translations.tabbar_labelContextMenu();\n\n return {\n showFocusRing,\n currentKey,\n onCurrentKeyChange,\n onKeyDown,\n menuProps: { ...menuProps, onClose: handleCloseContextMenu },\n contextMenuContext,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo,\n containerHandlers: mergeProps(focusRingProps, currentKeyProps, onFocusProps, triggerProps)\n };\n}\n// Utility that returns the value for a attribute related to the role=\"tab\" item.\nexport const getItemAttribute = <K extends string | number>(\n itemKey: K,\n root: HTMLElement,\n attribute: string\n) => {\n const navItem = findElementByKey(root, itemKey as K, ITEM_SELECTOR) as HTMLElement;\n if (navItem) {\n const tabBarItemAttribute = navItem.querySelector(attribute);\n return tabBarItemAttribute;\n }\n return;\n};\n\n// Utility that returns the visible inner text inside the role=\"tab\" item.\nconst getItemLabel = <K extends string | number>(itemKey: K, root: HTMLElement) => {\n const tabBarItem = findElementByKey(root, itemKey as K, ITEM_SELECTOR) as HTMLElement;\n if (tabBarItem) {\n return tabBarItem.innerText;\n }\n return;\n};\n\nconst extractOnlyItemKey = (element: HTMLElement, itemSelector: string, itemEliminator: string) => {\n const navigationListItem = element.closest(itemSelector);\n const removeButton = element.closest(itemEliminator);\n return navigationListItem?.contains(removeButton) ? null : keyExtractor(element, itemSelector);\n};\n\nconst findNextCurrentKey = <K>(currentKey: K, currNavs: K[], prevNavs: K[]) => {\n const index = prevNavs.indexOf(currentKey);\n if (index > 0) {\n const nextIndex = index === prevNavs.length - 1 ? index - 1 : index + 1;\n const nextKey = prevNavs[nextIndex];\n if (currNavs.indexOf(nextKey) !== -1) {\n return nextKey;\n }\n }\n // update current key to be the first one if we can't find a suitable next key\n return currNavs[0];\n};\n","import { Ref } from 'preact';\nimport { MutableRef, useMemo, useRef } from 'preact/hooks';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { isMobile } from '#utils/UNSAFE_clientUtils';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { navigationListStyles } from './themes/NavigationListStyles.css';\nimport { getItemAttribute, REMOVE_ICON_SELECTOR, useNavigationList } from './useNavigationList';\nimport { forwardRef, useImperativeHandle } from 'preact/compat';\nimport { useTestId, TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { NavigationListProps, NavigationListContext } from '../UNSAFE_NavigationListCommon';\nimport { TabBarContextMenu } from '../UNSAFE_TabBar/TabBarContextMenu';\nimport type { TabBarContextMenuConfig as NavigationListContextMenuConfig } from '../UNSAFE_TabBarCommon';\nexport {\n RemovableNavigationListItem,\n NavigationListLinkItem\n} from '../UNSAFE_NavigationListCommon';\n\nexport type FocusableHandle = {\n focus: () => void;\n blur: () => void;\n};\n\nexport const NavigationList = forwardRef(\n <K extends string | number>(\n {\n children,\n selection,\n edge = 'start',\n onSelectionChange,\n onRemove,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelLedBy,\n testId,\n display = 'standard'\n }: NavigationListProps<K> & TestIdProps,\n ref?: Ref<FocusableHandle>\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n const isMobileDevice = isMobile();\n const defaultContextMenuConfig = useMemo<\n NavigationListContextMenuConfig<string | number> | undefined\n >(() => {\n return isMobileDevice\n ? {\n itemsRenderer: (context) => {\n //Only if context is available, it is a mobile device and it is removable item, we will return remove context menu item\n if (context) {\n const isRemovableItem =\n getItemAttribute(context.itemKey, containerRef.current!, REMOVE_ICON_SELECTOR) !=\n null;\n if (isRemovableItem) {\n const defaultItems = context.defaultMenuItems;\n return <>{defaultItems}</>;\n }\n }\n return null;\n }\n }\n : undefined;\n }, [isMobileDevice]);\n\n const {\n showFocusRing,\n currentKey,\n onCurrentKeyChange,\n containerHandlers,\n onKeyDown,\n contextMenuContext,\n menuProps,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo\n } = useNavigationList({\n containerRef: containerRef as MutableRef<HTMLDivElement>,\n selection,\n onRemove,\n onSelectionChange,\n children,\n contextMenuConfig: defaultContextMenuConfig\n });\n\n const eventProps = { onKeyDown };\n const navigationListClass = classNames([navigationListStyles.uListStyle]);\n const navigationListItemPrefix = useId() + '_';\n const testIdProps = useTestId(testId);\n\n //Allows to call focus on rootRef without having to expose it\n useImperativeHandle(ref!, () => ({\n focus: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n },\n blur: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n }\n }));\n\n return (\n <>\n <div\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelLedBy}\n role=\"tablist\"\n ref={containerRef}\n aria-orientation={'vertical'}\n tabIndex={0}\n aria-activedescendant={currentKey ? navigationListItemPrefix + currentKey : ''}\n {...mergeProps(eventProps, containerHandlers)}\n {...testIdProps}\n class={navigationListClass}>\n <NavigationListContext.Provider\n value={{\n selection,\n display,\n onSelectionChange,\n onCurrentKeyChange,\n currentKey,\n showFocusRing,\n navigationListItemPrefix,\n onRemove,\n edge\n }}>\n {children}\n </NavigationListContext.Provider>\n </div>\n {defaultContextMenuConfig && contextMenuDescriptionId && contextMenuDescription && (\n <span id={contextMenuDescriptionId}>\n <HiddenAccessible>{contextMenuDescription}</HiddenAccessible>\n </span>\n )}\n {defaultContextMenuConfig && accStatusInfo && <LiveRegion>{accStatusInfo}</LiveRegion>}\n {defaultContextMenuConfig && (\n <TabBarContextMenu\n {...menuProps}\n contextMenuConfig={defaultContextMenuConfig}\n contextMenuContext={contextMenuContext!}\n />\n )}\n </>\n );\n }\n);\n","import {\n BaseNavigationListItem,\n BaseNavigationListItemProps\n} from '../UNSAFE_NavigationListCommon/BaseNavigationListItem';\n\nexport type NavigationListItemProps<K extends string | number> = Omit<\n BaseNavigationListItemProps<K>,\n 'removeIcon'\n>;\n\nexport function NavigationListItem<K extends string | number>({\n itemKey,\n label,\n badge,\n metadata,\n severity,\n icon\n}: NavigationListItemProps<K>) {\n return (\n <BaseNavigationListItem\n itemKey={itemKey}\n label={label}\n badge={badge}\n metadata={metadata}\n severity={severity}\n icon={icon}\n />\n );\n}\n"],"names":["_jsx","_Fragment","useId","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"NavigationListItem-340ab770.js","sources":["../../src/UNSAFE_NavigationList/useNavigationList.ts","../../src/UNSAFE_NavigationList/NavigationList.tsx","../../src/UNSAFE_NavigationList/NavigationListItem.tsx"],"sourcesContent":["import { ComponentChildren, ComponentProps } from 'preact';\nimport { useState, useCallback, MutableRef, useRef, useEffect, useId } from 'preact/hooks';\nimport {\n keyExtractor,\n getFirstVisibleKey,\n getKey,\n getPrevNextKeyUsingRef,\n findElementByKey\n} from '../utils/PRIVATE_collectionUtils';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { MenuProps } from '../hooks/PRIVATE_useVisContextMenu/util';\nimport { useContextMenuGesture } from '../hooks/UNSAFE_useContextMenuGesture';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '../resources/nls/bundle';\nimport { Menu } from '../UNSAFE_Menu';\nimport { getDefaultContextMenu } from '../UNSAFE_TabBar/TabBarContextMenu';\nimport { TabBarContextMenuConfig, TabBarItemContextMenuContext } from '../UNSAFE_TabBarCommon';\nimport { NavigationListContextProps } from '../UNSAFE_NavigationListCommon';\n\nconst ITEM_SELECTOR = '[role=\"tab\"]';\nexport const REMOVE_ICON_SELECTOR = '[data-oj-navigationlist-item-remove-icon]';\nconst TOUCH_OFFSET_VALUE = 40;\nconst menuPropGestureStates: Record<\n 'mouse' | 'keyboard' | 'touch',\n Omit<Required<MenuProps>, 'anchorRef' | 'isOpen'>\n> = {\n mouse: {\n initialFocus: 'menu',\n placement: 'bottom-start',\n offsetValue: 0\n },\n keyboard: {\n initialFocus: 'firstItem',\n placement: 'bottom-start',\n offsetValue: 0\n },\n touch: {\n initialFocus: 'menu',\n placement: 'end',\n offsetValue: TOUCH_OFFSET_VALUE\n }\n};\n\n/**\n * type for payload of current key change event handler\n */\ntype CurrentKeyDetail<K> = {\n value: K;\n};\n/**\n * type for payload of selection change event handler\n */\ntype SelectionDetail<K> = {\n value: K;\n reason: 'pointer' | 'keyboard';\n};\n/**\n * type for payload of remove event handler\n */\ntype RemoveDetail<K> = {\n value: K;\n};\n\nconst initialMenuProps: MenuProps = {\n isOpen: false,\n initialFocus: 'menu',\n placement: 'bottom-start',\n offsetValue: 0,\n anchorRef: { current: null }\n};\n\n/*TODO: JET-58534. Create a hook to share some logic between navlist and tabbar. Hook will be used inside this one. */\nexport function useNavigationList<K extends string | number>({\n containerRef,\n selection,\n onRemove,\n onSelectionChange,\n children,\n contextMenuConfig\n}: {\n containerRef: MutableRef<HTMLDivElement>;\n selection?: K;\n onRemove?: <K extends string | number>(detail: RemoveDetail<K>) => void;\n onSelectionChange?: <K extends string | number>(detail: SelectionDetail<K>) => void;\n children: ComponentChildren;\n contextMenuConfig?: TabBarContextMenuConfig<K>;\n}) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const [currentKey, setCurrentKey] = useState<K | undefined>(selection);\n\n const onCurrentKeyChange = useCallback((detail: CurrentKeyDetail<K | undefined>) => {\n setCurrentKey(detail.value);\n }, []) as NavigationListContextProps<K>['onCurrentKeyChange'];\n\n const { currentKeyProps } = useCurrentKey(\n (element) =>\n onRemove\n ? (extractOnlyItemKey(element, ITEM_SELECTOR, REMOVE_ICON_SELECTOR) as K)\n : keyExtractor(element, ITEM_SELECTOR),\n false,\n false,\n getPrevNextKeyUsingRef(containerRef, currentKey, true, ITEM_SELECTOR),\n getPrevNextKeyUsingRef(containerRef, currentKey, false, ITEM_SELECTOR),\n undefined,\n undefined,\n currentKey,\n onCurrentKeyChange\n );\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(containerRef, [\n 'Home',\n 'End',\n 'ArrowUp',\n 'ArrowDown'\n ]);\n\n const onFocus = useCallback(() => {\n if (containerRef.current && currentKey === undefined) {\n const key = getFirstVisibleKey(containerRef.current, ITEM_SELECTOR);\n if (key) {\n setCurrentKey(key as K);\n }\n }\n }, [currentKey, containerRef]);\n\n const onFocusProps = { onFocus };\n const prevNavItems = useRef<K[]>();\n\n useEffect(() => {\n if (containerRef.current) {\n const navListItemKeys = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n if (currentKey != null && navListItemKeys.indexOf(currentKey) !== -1) {\n const navListItem = findElementByKey(\n containerRef.current,\n currentKey,\n ITEM_SELECTOR\n ) as any;\n if (navListItem.scrollIntoViewIfNeeded) {\n // for some browsers, we'll need the non-standard scrollIntoViewIfNeeded\n navListItem.scrollIntoViewIfNeeded();\n } else {\n navListItem.scrollIntoView({ block: 'nearest' });\n }\n } else {\n if (currentKey && navListItemKeys.indexOf(currentKey) === -1) {\n prevNavItems.current\n ? setCurrentKey(findNextCurrentKey(currentKey, navListItemKeys, prevNavItems.current))\n : setCurrentKey(navListItemKeys[0] as K);\n }\n prevNavItems.current = navListItemKeys;\n }\n }\n }, [children, currentKey, containerRef]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if ((event.key === 'Home' || event.key === 'End') && containerRef.current && currentKey) {\n const navListItemKey = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n onCurrentKeyChange?.({\n value: navListItemKey[event.key === 'Home' ? 0 : navListItemKey.length - 1] as K\n });\n }\n if (currentKey && (event.key === 'Enter' || event.key === ' ')) {\n // Prevent default to avoid page scrolling on Space (and native actions on Enter)\n event.preventDefault();\n onSelectionChange?.({\n value: currentKey as K,\n reason: 'keyboard'\n });\n }\n if (currentKey && event.key === 'Delete') {\n onRemove?.({ value: currentKey as K });\n }\n },\n [currentKey, onSelectionChange, onRemove, onCurrentKeyChange, containerRef]\n );\n\n const [contextMenuContext, setContextMenuContext] = useState<TabBarItemContextMenuContext<K>>();\n\n const [menuProps, setMenuProps] = useState<MenuProps>(initialMenuProps);\n const [accStatusInfo, setAccStatusInfo] = useState<string>();\n\n const { triggerProps } = useContextMenuGesture(\n ({ gesture, anchor, target }) => {\n let anchorBasedOnGesture = anchor;\n let itemKey = currentKey as K;\n if (gesture === 'keyboard') {\n //We find the element where the position of the menu is going to be based of\n const elem = findElementByKey(\n containerRef.current as HTMLElement,\n currentKey as K,\n ITEM_SELECTOR\n );\n //We set the correct anchor\n anchorBasedOnGesture = elem ? elem : anchor;\n } else {\n //We search for the key using the target of the event\n const key = keyExtractor(target as HTMLElement, ITEM_SELECTOR);\n\n //On touch devices, the keyExtractor returns null because target of touch event is the entire tabbar. Hence we make use of currentkey since the context menu is always launched from selected item and its key is currentKey\n itemKey = key != null ? (key as K) : (currentKey as K);\n }\n let isRemovable = false;\n if (containerRef.current) {\n isRemovable = getItemAttribute(itemKey, containerRef.current, REMOVE_ICON_SELECTOR) != null;\n }\n const defaultContext = getDefaultContextMenu<K>({\n // For default menu items the existence of REMOVE_ICON_SELECTOR is the indicator that it is removable because we render the default menu in touch devices not the application.\n // Furthermore in corepack due to delegations onRemove is always defined as it is a even handler hence not a good check for isRemovable.\n isRemovable: isRemovable,\n handleRemove: onRemove,\n handleReorder: undefined,\n itemKey: itemKey,\n tabKeys: undefined,\n // As direction is only needed for reorder to switch the labels\n direction: undefined,\n itemLabels: {\n labelRemove: isRemovable ? translations.tabbar_labelRemove() : undefined\n },\n handleAccStatus: (detail) => {\n const removeItemLabel = getItemLabel(detail.removedKey!, containerRef.current!) as string;\n const removeStatus =\n isRemovable && detail.removedKey ? ` Removed ${removeItemLabel}` : '';\n\n setAccStatusInfo(removeStatus);\n }\n });\n setContextMenuContext(defaultContext);\n\n setMenuProps({\n ...menuPropGestureStates[gesture],\n anchorRef: { current: anchorBasedOnGesture },\n // This is set so that when no contextMenuConfig and when items is not removable we need not open it.\n isOpen: contextMenuConfig != null\n });\n },\n {\n isDisabled: !contextMenuConfig //If there is no a context menu renderer we disable the hook\n }\n );\n\n const handleCloseContextMenu = useCallback<Required<ComponentProps<typeof Menu>>['onClose']>(\n (detail) => {\n //Focus has to be set on the current target that was obtained\n //during context menu gesture when menu is dismissed or item is \"selected\"\n if (detail.reason === 'dismissed' || detail.reason === 'itemAction') {\n setCurrentKey(contextMenuContext?.itemKey);\n containerRef.current?.focus();\n }\n // We close the menu.The only prop that matters here is isOpen\n setMenuProps({ ...initialMenuProps });\n },\n [containerRef, contextMenuContext?.itemKey]\n );\n\n const contextMenuDescriptionId = 'contextMenu_' + useId();\n const contextMenuDescription = translations.tabbar_labelContextMenu();\n\n return {\n showFocusRing,\n currentKey,\n onCurrentKeyChange,\n onKeyDown,\n menuProps: { ...menuProps, onClose: handleCloseContextMenu },\n contextMenuContext,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo,\n containerHandlers: mergeProps(focusRingProps, currentKeyProps, onFocusProps, triggerProps)\n };\n}\n// Utility that returns the value for a attribute related to the role=\"tab\" item.\nexport const getItemAttribute = <K extends string | number>(\n itemKey: K,\n root: HTMLElement,\n attribute: string\n) => {\n const navItem = findElementByKey(root, itemKey as K, ITEM_SELECTOR) as HTMLElement;\n if (navItem) {\n const tabBarItemAttribute = navItem.querySelector(attribute);\n return tabBarItemAttribute;\n }\n return;\n};\n\n// Utility that returns the visible inner text inside the role=\"tab\" item.\nconst getItemLabel = <K extends string | number>(itemKey: K, root: HTMLElement) => {\n const tabBarItem = findElementByKey(root, itemKey as K, ITEM_SELECTOR) as HTMLElement;\n if (tabBarItem) {\n return tabBarItem.innerText;\n }\n return;\n};\n\nconst extractOnlyItemKey = (element: HTMLElement, itemSelector: string, itemEliminator: string) => {\n const navigationListItem = element.closest(itemSelector);\n const removeButton = element.closest(itemEliminator);\n return navigationListItem?.contains(removeButton) ? null : keyExtractor(element, itemSelector);\n};\n\nconst findNextCurrentKey = <K>(currentKey: K, currNavs: K[], prevNavs: K[]) => {\n const index = prevNavs.indexOf(currentKey);\n if (index > 0) {\n const nextIndex = index === prevNavs.length - 1 ? index - 1 : index + 1;\n const nextKey = prevNavs[nextIndex];\n if (currNavs.indexOf(nextKey) !== -1) {\n return nextKey;\n }\n }\n // update current key to be the first one if we can't find a suitable next key\n return currNavs[0];\n};\n","import { Ref } from 'preact';\nimport { MutableRef, useMemo, useRef } from 'preact/hooks';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { isMobile } from '#utils/UNSAFE_clientUtils';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { navigationListStyles } from './themes/NavigationListStyles.css';\nimport { getItemAttribute, REMOVE_ICON_SELECTOR, useNavigationList } from './useNavigationList';\nimport { forwardRef, useImperativeHandle } from 'preact/compat';\nimport { useTestId, TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { NavigationListProps, NavigationListContext } from '../UNSAFE_NavigationListCommon';\nimport { TabBarContextMenu } from '../UNSAFE_TabBar/TabBarContextMenu';\nimport type { TabBarContextMenuConfig as NavigationListContextMenuConfig } from '../UNSAFE_TabBarCommon';\nexport {\n RemovableNavigationListItem,\n NavigationListLinkItem\n} from '../UNSAFE_NavigationListCommon';\n\nexport type FocusableHandle = {\n focus: () => void;\n blur: () => void;\n};\n\nexport const NavigationList = forwardRef(\n <K extends string | number>(\n {\n children,\n selection,\n edge = 'start',\n onSelectionChange,\n onRemove,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelLedBy,\n testId,\n display = 'standard'\n }: NavigationListProps<K> & TestIdProps,\n ref?: Ref<FocusableHandle>\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n const isMobileDevice = isMobile();\n const defaultContextMenuConfig = useMemo<\n NavigationListContextMenuConfig<string | number> | undefined\n >(() => {\n return isMobileDevice\n ? {\n itemsRenderer: (context) => {\n //Only if context is available, it is a mobile device and it is removable item, we will return remove context menu item\n if (context) {\n const isRemovableItem =\n getItemAttribute(context.itemKey, containerRef.current!, REMOVE_ICON_SELECTOR) !=\n null;\n if (isRemovableItem) {\n const defaultItems = context.defaultMenuItems;\n return <>{defaultItems}</>;\n }\n }\n return null;\n }\n }\n : undefined;\n }, [isMobileDevice]);\n\n const {\n showFocusRing,\n currentKey,\n onCurrentKeyChange,\n containerHandlers,\n onKeyDown,\n contextMenuContext,\n menuProps,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo\n } = useNavigationList({\n containerRef: containerRef as MutableRef<HTMLDivElement>,\n selection,\n onRemove,\n onSelectionChange,\n children,\n contextMenuConfig: defaultContextMenuConfig\n });\n\n const eventProps = { onKeyDown };\n const navigationListClass = classNames([navigationListStyles.uListStyle]);\n const navigationListItemPrefix = useId() + '_';\n const testIdProps = useTestId(testId);\n\n //Allows to call focus on rootRef without having to expose it\n useImperativeHandle(ref!, () => ({\n focus: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n },\n blur: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n }\n }));\n\n return (\n <>\n <div\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelLedBy}\n role=\"tablist\"\n ref={containerRef}\n aria-orientation={'vertical'}\n tabIndex={0}\n aria-activedescendant={currentKey ? navigationListItemPrefix + currentKey : ''}\n {...mergeProps(eventProps, containerHandlers)}\n {...testIdProps}\n class={navigationListClass}>\n <NavigationListContext.Provider\n value={{\n selection,\n display,\n onSelectionChange,\n onCurrentKeyChange,\n currentKey,\n showFocusRing,\n navigationListItemPrefix,\n onRemove,\n edge\n }}>\n {children}\n </NavigationListContext.Provider>\n </div>\n {defaultContextMenuConfig && contextMenuDescriptionId && contextMenuDescription && (\n <span id={contextMenuDescriptionId}>\n <HiddenAccessible>{contextMenuDescription}</HiddenAccessible>\n </span>\n )}\n {defaultContextMenuConfig && accStatusInfo && <LiveRegion>{accStatusInfo}</LiveRegion>}\n {defaultContextMenuConfig && (\n <TabBarContextMenu\n {...menuProps}\n contextMenuConfig={defaultContextMenuConfig}\n contextMenuContext={contextMenuContext!}\n />\n )}\n </>\n );\n }\n);\n","import {\n BaseNavigationListItem,\n BaseNavigationListItemProps\n} from '../UNSAFE_NavigationListCommon/BaseNavigationListItem';\n\nexport type NavigationListItemProps<K extends string | number> = Omit<\n BaseNavigationListItemProps<K>,\n 'removeIcon'\n>;\n\nexport function NavigationListItem<K extends string | number>({\n itemKey,\n label,\n badge,\n metadata,\n severity,\n icon\n}: NavigationListItemProps<K>) {\n return (\n <BaseNavigationListItem\n itemKey={itemKey}\n label={label}\n badge={badge}\n metadata={metadata}\n severity={severity}\n icon={icon}\n />\n );\n}\n"],"names":["_jsx","_Fragment","useId","_jsxs"],"mappings":"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"}
@@ -32,8 +32,9 @@ import { S as SvgSuccessS } from './SuccessS-b5192d40.js';
32
32
  import { m as mergeProps } from './mergeProps-88ea8306.js';
33
33
  import { u as useTabBarItemTooltip, N as NavigationListLinkItem, R as RemovableNavigationListItem } from './NavigationListLinkItem-e28fd846.js';
34
34
  import { tabBarItemVars } from './UNSAFE_TabBarCommon/themes/TabBarItemContract.css.js';
35
+ import { H as HiddenAccessible } from './HiddenAccessible-61197e7c.js';
35
36
  import { styles } from './UNSAFE_TabBarCommon/themes/OverflowTabBarItemStyles.css.js';
36
- import { N as NavigationList, a as NavigationListItem } from './NavigationListItem-dbd29973.js';
37
+ import { N as NavigationList, a as NavigationListItem } from './NavigationListItem-340ab770.js';
37
38
 
38
39
  const onClickLink = (event) => {
39
40
  event.preventDefault();
@@ -138,10 +139,12 @@ function BaseTabBarItem({ itemKey, label, icon, badge, metadata, severity = 'non
138
139
  return (jsxs(Fragment, { children: [jsxs(Flex, { align: "center", justify: "center", flex: "1 1 auto", gap: "2x", children: [!isIconOnly && !isStacked && icon && labelRequirement && (jsx("span", { class: tabBarItemIconClasses, "data-oj-tab-icon": "startIcon", children: icon })), !isIconOnly && labelRequirement && (jsx("span", { class: tabBarItemLabelClasses, style: maxWidthDimensions, ...detectTruncationProps, children: jsx(Text, { size: "md", weight: "semiBold", children: label }) }))] }), !isLinkItem && removeIcon && jsx("span", { class: removeClass, children: removeIcon })] }));
139
140
  };
140
141
  const complexItemRenderer = () => {
141
- return (jsxs(Flex, { flex: "1 1 auto", children: [jsxs(Flex, { minWidth: "10.5x", minHeight: isTall ? tabBarItemVars.lgHeight : '100%', height: isStacked && labelRequirement ? tabBarItemVars.stackedHeight : tabBarItemVars.mdHeight, direction: isStacked && labelRequirement ? 'column' : 'row', gap: "2x", align: "center", justify: "center", alignSelf: "center", flex: "1 1 auto", children: [(isStacked || isIconOnly) && (jsxs("div", { class: tabBarItemIconClasses, children: [icon, jsx("span", { class: tabBarItemStackedBadgeClasses, children: badge ? (jsx(Badge, { size: "xs", variant: "neutral", children: badge })) : null })] })), !isIconOnly && !isStacked && icon && labelRequirement && (jsx("span", { class: tabBarItemIconClasses, "data-oj-tab-icon": "startIcon", children: icon })), !isIconOnly && labelRequirement && (jsx("span", { class: tabBarItemLabelClasses, style: maxWidthDimensions, ...detectTruncationProps, children: jsx(Text, { size: "md", weight: "semiBold", children: label }) })), !isStacked && !isIconOnly && badge && labelRequirement && (jsx("span", { "data-oj-tab-badge": badge, children: jsx(Badge, { size: "md", variant: "neutralSubtle", children: badge }) })), metadata && (jsx("span", { class: tabBarItemMetadataClasses, "data-oj-tab-metadata": metadata, children: jsx(Text, { size: "md", weight: "normal", children: '( ' + metadata + ' )' }) })), severityRequirement && (jsx("span", { class: tabBarItemIconClasses, "data-oj-tab-severity": severity, children: IconComponent(severity) }))] }), !isLinkItem && removeIcon && jsx("span", { class: removeClass, children: removeIcon })] }));
142
+ return (jsxs(Flex, { flex: "1 1 auto", children: [jsxs(Flex, { minWidth: "10.5x", minHeight: isTall ? tabBarItemVars.lgHeight : '100%', height: isStacked && labelRequirement ? tabBarItemVars.stackedHeight : tabBarItemVars.mdHeight, direction: isStacked && labelRequirement ? 'column' : 'row', gap: "2x", align: "center", justify: "center", alignSelf: "center", flex: "1 1 auto", children: [(isStacked || isIconOnly) && (jsxs("div", { class: tabBarItemIconClasses, children: [
143
+ // JET-79198 - The label is made hidden so that in can be read out by screen readers and we will not need aria-label at role="tab" level to include all the content in it's children
144
+ isIconOnly && jsx(HiddenAccessible, { id: "hiddenLabel", children: label }), icon, jsx("span", { class: tabBarItemStackedBadgeClasses, children: badge ? (jsx(Badge, { size: "xs", variant: "neutral", children: badge })) : null })] })), !isIconOnly && !isStacked && icon && labelRequirement && (jsx("span", { class: tabBarItemIconClasses, "data-oj-tab-icon": "startIcon", children: icon })), !isIconOnly && labelRequirement && (jsx("span", { class: tabBarItemLabelClasses, style: maxWidthDimensions, ...detectTruncationProps, children: jsx(Text, { size: "md", weight: "semiBold", children: label }) })), !isStacked && !isIconOnly && badge && labelRequirement && (jsx("span", { "data-oj-tab-badge": badge, children: jsx(Badge, { size: "md", variant: "neutralSubtle", children: badge }) })), metadata && (jsx("span", { class: tabBarItemMetadataClasses, "data-oj-tab-metadata": metadata, children: jsx(Text, { size: "md", weight: "normal", children: '( ' + metadata + ' )' }) })), severityRequirement && (jsx("span", { class: tabBarItemIconClasses, "data-oj-tab-severity": severity, children: IconComponent(severity) }))] }), !isLinkItem && removeIcon && jsx("span", { class: removeClass, children: removeIcon })] }));
142
145
  };
143
146
  const tabBarItemRenderer = () => {
144
- return (jsxs("div", { "data-oj-key": itemKey, "data-oj-removable": removeIcon ? 'true' : undefined, id: tabItemPrefix + itemKey, class: tabBarItem, role: "tab", "aria-label": isIconOnly ? label : undefined, "aria-controls": ariaControls, "aria-selected": isSelected, "aria-haspopup": ariaHasPopup, ...mergeProps(pressProps, tooltipEventHandlerProps, conveyorBeltProps), ref: ref, style: isComplexItem ? flexDimensions : tabDimensions, children: [isComplexItem ? complexItemRenderer() : labelIconRenderer(), tooltipContent] }));
147
+ return (jsxs("div", { "data-oj-key": itemKey, "data-oj-removable": removeIcon ? 'true' : undefined, id: tabItemPrefix + itemKey, class: tabBarItem, role: "tab", "aria-controls": ariaControls, "aria-selected": isSelected, "aria-haspopup": ariaHasPopup, ...mergeProps(pressProps, tooltipEventHandlerProps, conveyorBeltProps), ref: ref, style: isComplexItem ? flexDimensions : tabDimensions, children: [isComplexItem ? complexItemRenderer() : labelIconRenderer(), tooltipContent] }));
145
148
  };
146
149
  const tabBarLinkItemRenderer = () => {
147
150
  return (jsxs("span", { ref: ref, class: tabBarItem, ...mergeProps(pressProps, tooltipEventHandlerProps, conveyorBeltProps), style: isComplexItem ? flexDimensions : tabDimensions, children: [jsx("a", { onClick: onClickLink, class: tabBarItemLinkClasses, href: href, "data-oj-key": itemKey, "data-oj-removable": removeIcon ? 'true' : undefined, id: tabItemPrefix + itemKey, role: "tab", tabindex: -1, "aria-controls": ariaControls, "aria-selected": isSelected, "aria-haspopup": ariaHasPopup, children: isComplexItem ? complexItemRenderer() : labelIconRenderer() }), tooltipContent] }));
@@ -251,4 +254,4 @@ const getIsMobile = () => {
251
254
  };
252
255
 
253
256
  export { BaseTabBarItem as B, OverflowTabBarItem as O, RemovableTabBarItem as R, TabBarItem as T };
254
- //# sourceMappingURL=OverflowTabBarItem-6966fbc7.js.map
257
+ //# sourceMappingURL=OverflowTabBarItem-aa0ce915.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverflowTabBarItem-aa0ce915.js","sources":["../../src/UNSAFE_TabBarCommon/BaseTabBarItem.tsx","../../src/UNSAFE_TabBarCommon/TabBarItem.tsx","../../src/UNSAFE_TabBarCommon/RemovableTabBarItem.tsx","../../src/UNSAFE_RedwoodIcons/OverflowH/OverflowH.tsx","../../src/UNSAFE_TabBarCommon/OverflowTabBarItem.tsx"],"sourcesContent":["import { ComponentChildren, ComponentChild } from 'preact';\nimport { useCallback } from 'preact/hooks';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { usePress } from '../hooks/UNSAFE_usePress';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { Text } from '../UNSAFE_Text';\nimport { Flex } from '../UNSAFE_Flex';\nimport { useTabBarContext } from './useTabBarContext';\nimport { Size } from '../utils/UNSAFE_size';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport { dimensionInterpolations } from '../utils/UNSAFE_interpolations/dimensions';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { DimensionProps } from '../utils/UNSAFE_interpolations/dimensions';\nimport type { BoxAlignmentProps } from '../utils/UNSAFE_interpolations/boxalignment';\nimport { boxAlignmentInterpolations } from '../utils/UNSAFE_interpolations/boxalignment';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '../resources/nls/bundle';\nimport { TabBarItemVariantOptions } from './themes/TabBarItemStyles.css';\nimport { TabBarItemRedwoodTheme } from './themes/redwood/TabBarItemTheme';\nimport { Badge } from '../UNSAFE_Badge';\nimport { useConveyorBeltItem } from '../UNSAFE_ConveyorBelt/useConveyorBeltItem';\nimport { useDetectTruncation } from '../hooks/PRIVATE_useDetectTruncation';\nimport { WarningS } from '../UNSAFE_RedwoodIcons/WarningS';\nimport { ErrorS } from '../UNSAFE_RedwoodIcons/ErrorS';\nimport { InformationS } from '../UNSAFE_RedwoodIcons/InformationS';\nimport { SuccessS } from '../UNSAFE_RedwoodIcons/SuccessS';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useTabBarItemTooltip } from './useTabBarItemTooltip';\nimport { tabBarItemVars } from './themes/TabBarItemContract.css';\nimport { HiddenAccessible } from '#UNSAFE_HiddenAccessible';\n\ntype Severity = 'warning' | 'info' | 'none' | 'error' | 'confirmation';\n\ntype AriaProps = {\n /**\n * Accepts the tabpanel element's ID associated with the tab item\n **/\n 'aria-controls'?: string;\n /**\n * Used by an item that renders an interactive popup\n */\n 'aria-haspopup'?: boolean;\n};\n\nexport type BaseTabBarItemProps<K extends string | number> = {\n /**\n * Key of the TabBarItem\n */\n itemKey: K;\n /**\n * Label of the TabBarItem. For icon only display this label is the content\n * for aria-label and tooltip text of the Tab.\n */\n label: string;\n /**\n * The icon before the label in non-stack case, icon above the label in\n * stacked case or the stand alone icon when no label is specified.\n */\n icon?: ComponentChild;\n /**\n * The content to be rendered inside the Badge component.\n */\n badge?: string;\n /**\n * The content to be rendered inside the Text component as a metadata,\n * that appears after the label in non stack case only.\n */\n metadata?: string;\n /**\n * The status icon to be rendered after the label in non stack case only.\n */\n severity?: Severity;\n /**\n * The content to be rendered for remove icon\n */\n removeIcon?: ComponentChildren;\n /**\n * The control for enabling and disabling focusRing\n */\n showFocusRingOverride?: boolean;\n /**\n * The control for enabling and disabling selection indicator\n */\n selectionOverride?: boolean;\n /**\n * The control for overriding display value.\n */\n displayOverride?: string;\n /**\n * Maximum width tabbar item label can have\n */\n labelMaxWidth?: Size;\n /**\n * Sets the URL that the hyperlink points to. If there is no valid URL use \"#\" for href value to navigate to the top of the page.\n */\n href?: string;\n} & AriaProps;\n\nconst onClickLink = (event: MouseEvent) => {\n event.preventDefault();\n};\n\nexport function BaseTabBarItem<K extends string | number>({\n itemKey,\n label,\n icon,\n badge,\n metadata,\n severity = 'none',\n removeIcon,\n showFocusRingOverride,\n selectionOverride,\n displayOverride,\n labelMaxWidth,\n href,\n 'aria-controls': ariaControls,\n 'aria-haspopup': ariaHasPopup\n}: BaseTabBarItemProps<K>) {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const {\n onSelect,\n selection,\n currentKey,\n showFocusRing,\n hideTooltip,\n layout,\n display,\n size,\n isEdgeBottom,\n tabItemPrefix\n } = useTabBarContext();\n\n const isCurrent = currentKey === itemKey;\n\n const { ref, ...conveyorBeltProps } = useConveyorBeltItem({ isCurrent });\n\n //Selection\n //Dependency on currentKey because upon removal selectionChange does not change hence no re render\n //and it is still holding the deleted key as selection\n const handlePress = useCallback(() => {\n onSelect?.({ value: itemKey as K });\n }, [itemKey, onSelect]);\n\n const { pressProps } = usePress(handlePress);\n\n const isSelected = selection === itemKey;\n\n const isStacked = display === 'stacked' ? true : false;\n const isIconOnly =\n display === 'icons' || (displayOverride && displayOverride === 'icons') ? true : false;\n const isTall = size === 'lg' ? true : false;\n const labelRequirement = label && !(label === ' ' && label === undefined);\n const severityRequirement = !(severity === 'none' || severity === undefined);\n\n const IconComponent = (severityValue: Severity) => {\n switch (severityValue) {\n case 'error':\n // As per spec acc label is required only for error severity icon.\n return <ErrorS color=\"danger\" accessibleLabel={translations.tabBar_tabContainsErrors()} />;\n case 'warning':\n return <WarningS color=\"warning\" />;\n case 'info':\n return <InformationS color=\"info\" />;\n case 'confirmation':\n return <SuccessS color=\"success\" />;\n default:\n return null;\n }\n };\n\n const { direction } = useUser();\n const makeFocusRingVisible =\n showFocusRingOverride !== undefined ? showFocusRingOverride : showFocusRing;\n const makeSelectionVisible = selectionOverride !== undefined ? selectionOverride : isSelected;\n const {\n classes,\n styles: {\n tabBarItemIcon,\n tabBarItemIconStacked,\n tabBarItemMetadata,\n tabBarItemStackedBadge,\n tabBarItemStackedBadgeRtl,\n tabBarItemRemoveIcon,\n tabBarItemLabel,\n tabBarItemLabelTruncated,\n tabBarItemLink\n }\n } = useComponentTheme<TabBarItemVariantOptions>(TabBarItemRedwoodTheme, {\n selection: makeSelectionVisible ? 'isSelected' : 'notSelected',\n current: isCurrent ? 'isCurrent' : 'notCurrent',\n focusRing: makeFocusRingVisible ? 'showFocusRing' : 'noFocusRing',\n edgeBottom: isEdgeBottom ? 'isBottom' : 'notBottom'\n });\n\n const tabBarItem = classNames([classes]);\n const tabBarItemLabelClasses = classNames([\n tabBarItemLabel,\n labelMaxWidth !== undefined && tabBarItemLabelTruncated\n ]);\n const tabBarItemIconClasses = classNames([\n tabBarItemIcon,\n (isStacked || isIconOnly || !labelRequirement) && tabBarItemIconStacked\n ]);\n const tabBarItemMetadataClasses = classNames([tabBarItemMetadata]);\n const tabBarItemStackedBadgeClasses = classNames([\n tabBarItemStackedBadge,\n direction === 'rtl' && tabBarItemStackedBadgeRtl\n ]);\n const removeClass = classNames([tabBarItemRemoveIcon]);\n const tabBarItemLinkClasses = classNames([tabBarItemLink]);\n\n const styleInterpolations = mergeInterpolations<\n FlexitemProps & DimensionProps & BoxAlignmentProps\n >([\n ...Object.values(flexitemInterpolations),\n ...Object.values(dimensionInterpolations),\n ...Object.values(boxAlignmentInterpolations)\n ]);\n\n //This is for simple item where height and width need to be specified on the main div.\n const tabDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto',\n minWidth: '10.5x',\n height: isTall ? tabBarItemVars.lgHeight : tabBarItemVars.mdHeight,\n //This is needed for gap between icon/ label and remove icon in labelIconRenderer\n gap: '2x'\n });\n\n //This is for complex item, where only flex dimensions needs to be applied as height and width comes from child Flex component.\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const maxWithInterpolation = mergeInterpolations<DimensionProps>([\n ...Object.values(dimensionInterpolations)\n ]);\n\n //The threshold for truncation is labelMinWidth: 96px as per spec.\n const labelMinWidth = '96px';\n const maxWidthDimensions = maxWithInterpolation({\n maxWidth: labelMaxWidth !== undefined ? `calc(max(${labelMinWidth},${labelMaxWidth}))` : '100%'\n });\n\n const { detectTruncationProps, isTextTruncated } = useDetectTruncation(\n labelMaxWidth === undefined\n );\n const showTooltip = isIconOnly || isTextTruncated;\n const { tooltipContent, tooltipEventHandlerProps, onLogicalFocus, onLogicalBlur } =\n useTabBarItemTooltip({ label, isDisabled: !showTooltip });\n if (showTooltip) {\n if (isCurrent && showFocusRing && !hideTooltip) {\n onLogicalFocus(ref.current as HTMLElement);\n } else if (!isCurrent || (isCurrent && !showFocusRing) || hideTooltip) {\n onLogicalBlur();\n }\n }\n\n const isComplexItem = badge || metadata || severity !== 'none' || isStacked || isIconOnly;\n const isLinkItem = href != null;\n\n const labelIconRenderer = () => {\n return (\n <>\n <Flex align=\"center\" justify=\"center\" flex=\"1 1 auto\" gap=\"2x\">\n {!isIconOnly && !isStacked && icon && labelRequirement && (\n <span class={tabBarItemIconClasses} data-oj-tab-icon=\"startIcon\">\n {icon}\n </span>\n )}\n {!isIconOnly && labelRequirement && (\n <span\n class={tabBarItemLabelClasses}\n style={maxWidthDimensions}\n {...detectTruncationProps}>\n {\n <Text size=\"md\" weight=\"semiBold\">\n {label}\n </Text>\n }\n </span>\n )}\n </Flex>\n {!isLinkItem && removeIcon && <span class={removeClass}>{removeIcon}</span>}\n </>\n );\n };\n\n const complexItemRenderer = () => {\n return (\n <Flex flex=\"1 1 auto\">\n <Flex\n minWidth=\"10.5x\"\n minHeight={isTall ? tabBarItemVars.lgHeight : '100%'}\n height={\n isStacked && labelRequirement ? tabBarItemVars.stackedHeight : tabBarItemVars.mdHeight\n }\n direction={isStacked && labelRequirement ? 'column' : 'row'}\n gap=\"2x\"\n align=\"center\"\n justify=\"center\"\n alignSelf=\"center\"\n flex=\"1 1 auto\">\n {(isStacked || isIconOnly) && (\n <div class={tabBarItemIconClasses}>\n {\n // JET-79198 - The label is made hidden so that in can be read out by screen readers and we will not need aria-label at role=\"tab\" level to include all the content in it's children\n isIconOnly && <HiddenAccessible id=\"hiddenLabel\">{label}</HiddenAccessible>\n }\n {icon}\n <span class={tabBarItemStackedBadgeClasses}>\n {badge ? (\n <Badge size=\"xs\" variant=\"neutral\">\n {badge}\n </Badge>\n ) : null}\n </span>\n </div>\n )}\n {!isIconOnly && !isStacked && icon && labelRequirement && (\n <span class={tabBarItemIconClasses} data-oj-tab-icon=\"startIcon\">\n {icon}\n </span>\n )}\n {!isIconOnly && labelRequirement && (\n <span\n class={tabBarItemLabelClasses}\n style={maxWidthDimensions}\n {...detectTruncationProps}>\n {\n <Text size=\"md\" weight=\"semiBold\">\n {label}\n </Text>\n }\n </span>\n )}\n {!isStacked && !isIconOnly && badge && labelRequirement && (\n <span data-oj-tab-badge={badge}>\n <Badge size=\"md\" variant=\"neutralSubtle\">\n {badge}\n </Badge>\n </span>\n )}\n {metadata && (\n <span class={tabBarItemMetadataClasses} data-oj-tab-metadata={metadata}>\n <Text size=\"md\" weight=\"normal\">\n {'( ' + metadata + ' )'}\n </Text>\n </span>\n )}\n {severityRequirement && (\n <span class={tabBarItemIconClasses} data-oj-tab-severity={severity}>\n {IconComponent(severity)}\n </span>\n )}\n </Flex>\n {!isLinkItem && removeIcon && <span class={removeClass}>{removeIcon}</span>}\n </Flex>\n );\n };\n\n const tabBarItemRenderer = () => {\n return (\n <div\n data-oj-key={itemKey}\n data-oj-removable={removeIcon ? 'true' : undefined}\n id={tabItemPrefix + itemKey}\n class={tabBarItem}\n role=\"tab\"\n aria-controls={ariaControls}\n aria-selected={isSelected}\n aria-haspopup={ariaHasPopup}\n {...mergeProps(pressProps, tooltipEventHandlerProps, conveyorBeltProps)}\n ref={ref}\n style={isComplexItem ? flexDimensions : tabDimensions}>\n {isComplexItem ? complexItemRenderer() : labelIconRenderer()}\n {tooltipContent}\n </div>\n );\n };\n\n const tabBarLinkItemRenderer = () => {\n return (\n <span\n ref={ref}\n class={tabBarItem}\n {...mergeProps(pressProps, tooltipEventHandlerProps, conveyorBeltProps)}\n style={isComplexItem ? flexDimensions : tabDimensions}>\n <a\n onClick={onClickLink}\n class={tabBarItemLinkClasses}\n href={href}\n data-oj-key={itemKey}\n data-oj-removable={removeIcon ? 'true' : undefined}\n id={tabItemPrefix + itemKey}\n role=\"tab\"\n tabindex={-1}\n aria-controls={ariaControls}\n aria-selected={isSelected}\n aria-haspopup={ariaHasPopup}>\n {isComplexItem ? complexItemRenderer() : labelIconRenderer()}\n </a>\n {tooltipContent}\n </span>\n );\n };\n return isLinkItem ? tabBarLinkItemRenderer() : tabBarItemRenderer();\n}\n","import { BaseTabBarItem, BaseTabBarItemProps } from './BaseTabBarItem';\n\nexport type TabBarItemProps<K extends string | number> = Pick<\n BaseTabBarItemProps<K>,\n | 'itemKey'\n | 'label'\n | 'icon'\n | 'badge'\n | 'metadata'\n | 'severity'\n | 'aria-controls'\n | 'labelMaxWidth'\n>;\n/**\n * TabBarItem content can be created by using labels or icons or both.\n */\nexport function TabBarItem<K extends string | number>({\n itemKey,\n label,\n icon,\n badge,\n metadata,\n severity,\n labelMaxWidth,\n 'aria-controls': ariaControls\n}: TabBarItemProps<K>) {\n return (\n <BaseTabBarItem\n aria-controls={ariaControls}\n itemKey={itemKey}\n label={label}\n icon={icon}\n badge={badge}\n metadata={metadata}\n severity={severity}\n labelMaxWidth={labelMaxWidth}\n />\n );\n}\n","import { useCallback } from 'preact/hooks';\nimport { useHover } from '../hooks/UNSAFE_useHover';\nimport { EmbeddedIconButton } from '../PRIVATE_EmbeddedIconButton';\nimport { Close } from '../UNSAFE_RedwoodIcons/Close';\nimport { Flex } from '../UNSAFE_Flex';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { useTabBarContext } from './useTabBarContext';\nimport { BaseTabBarItem, BaseTabBarItemProps } from './BaseTabBarItem';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '../resources/nls/bundle';\n\ntype RemovableTabBarItemProps<K extends string | number> = Pick<\n BaseTabBarItemProps<K>,\n | 'itemKey'\n | 'label'\n | 'icon'\n | 'badge'\n | 'metadata'\n | 'severity'\n | 'aria-controls'\n | 'labelMaxWidth'\n>;\n\nexport function RemovableTabBarItem<K extends string | number>({\n itemKey,\n label,\n icon,\n badge,\n metadata,\n severity,\n labelMaxWidth,\n 'aria-controls': ariaControls\n}: RemovableTabBarItemProps<K>) {\n const { selection, currentKey, layout, onRemove } = useTabBarContext();\n const isSelected = selection === itemKey;\n const isCurrent = currentKey === itemKey;\n\n const handleRemove = useCallback(() => {\n onRemove?.({ value: itemKey as K });\n }, [onRemove, itemKey]);\n\n const { hoverProps, isHover } = useHover({});\n\n //instead of specifying flex: '1 0 auto' in cssProps var\n const styleInterpolations = mergeInterpolations<FlexitemProps>([\n ...Object.values(flexitemInterpolations)\n ]);\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n //TODO: In addition to aria-label a genric instruction is required for keyboard deletion\n //common to al tabs,after feedback from Curt's investigations.\n return (\n <div {...hoverProps} style={flexDimensions}>\n <Flex>\n <BaseTabBarItem\n aria-controls={ariaControls}\n itemKey={itemKey}\n label={label}\n icon={icon}\n badge={badge}\n metadata={metadata}\n severity={severity}\n labelMaxWidth={labelMaxWidth}\n removeIcon={\n <span data-oj-tabbar-item-remove-icon=\"true\">\n <EmbeddedIconButton\n aria-label={translations.tabBarNavigationList_removeCueText()}\n size=\"xs\"\n onAction={handleRemove}>\n {(isHover || isSelected || isCurrent) && <Close />}\n </EmbeddedIconButton>\n </span>\n }\n />\n </Flex>\n </div>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates. All rights reserved.\n * https://www.oracle.com/contracts/docs/cloud_csa_online_v062223_us_eng.pdf?download=false&er=221886\n * @ignore\n */\n// DO NOT MODIFY THIS FILE MANUALLY!\n// This file is automatically generated based on the corresponding SVG image in\n// the packages/oraclejet-preact/resources/icons folder.\nimport { ComponentProps } from 'preact';\nimport { Icon } from '../../UNSAFE_Icon';\ntype Props = Omit<ComponentProps<typeof Icon>, 'viewBox' | 'children'>;\nconst SvgOverflowH = (props: Props) => (\n <Icon viewBox=\"0 0 24 24\" {...props}>\n <g fill=\"none\">\n <path\n d=\"M6 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm8 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm8 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"\n fill=\"currentcolor\"\n />\n </g>\n </Icon>\n);\nexport { SvgOverflowH as OverflowH };\n","import { ComponentChild, ComponentProps, createRef } from 'preact';\nimport { useCallback, useRef, useEffect } from 'preact/hooks';\nimport type { BundleType } from '../resources/nls/bundle';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { getClientHints } from '../utils/PRIVATE_clientHints';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport {\n NavigationListItem,\n NavigationList,\n RemovableNavigationListItem,\n FocusableHandle,\n NavigationListLinkItem\n} from '../UNSAFE_NavigationList';\nimport { OverflowH } from '../UNSAFE_RedwoodIcons/OverflowH';\nimport { useTabBarContext } from './useTabBarContext';\nimport { Dropdown } from '../UNSAFE_Dropdown';\nimport { Sheet } from '../UNSAFE_Sheet';\nimport { BaseTabBarItem } from './BaseTabBarItem';\nimport { styles } from './themes/OverflowTabBarItemStyles.css';\nimport { TabBarItem } from './TabBarItem';\n\nexport type OverflowSelectionDetail<K> = {\n value: K;\n};\n\nexport type CloseDetail = {\n /**\n * dismissed represents dismissing the DropDown\n */\n reason: 'dismissed' | 'itemAction' | 'outsideMousedown';\n};\n\nexport type Item<K extends string | number> = Omit<\n ComponentProps<typeof TabBarItem<K>>,\n 'testId' | 'aria-controls'\n> & {\n isRemovable?: boolean;\n /**\n * Accepts the tabpanel element's ID associated with the tab item\n **/\n tabPanelId?: string;\n /**\n * Sets the URL that the hyperlink points to.\n */\n href?: string;\n};\n\nexport type OverflowTabBarItemProps<K extends string | number> = {\n /**\n * Key of the TabBarItem\n */\n overflowItemKey: K;\n /**\n * Whether to open the popup\n */\n isOpen: boolean;\n /**\n * Property that triggers a callback when DropDown is supposed to be closed.\n */\n onClose?: (detail: CloseDetail) => void;\n /**\n * The icon of the OverflowTabBarItem\n */\n icon?: ComponentChild;\n /**\n * The content to be rendered inside the Badge component.\n */\n badge?: string;\n /**\n * An array of data used by NavigationList to render individual overflow items.\n */\n overflowItems?: Item<K>[];\n};\n\n/**\n * An OverflowTabBarItem renders TabBarItems in a device appropriate popup. OverflowTabBarItem is used internally in an OverflowTabBar.\n */\n\nexport function OverflowTabBarItem<K extends string | number>({\n overflowItemKey,\n icon,\n badge,\n overflowItems,\n isOpen,\n onClose\n}: OverflowTabBarItemProps<K>) {\n const { selection, showFocusRing, isEdgeBottom, onSelect, onRemove, layout } = useTabBarContext();\n\n const isPointerSelection = useRef<boolean>(false);\n\n // Reset pointer selection flag when the popup closes so keyboard navigation\n // restores focus-visible on the overflow trigger.\n useEffect(() => {\n if (!isOpen) {\n isPointerSelection.current = false;\n }\n }, [isOpen]);\n\n const overflowTabBarItemRef = useRef<HTMLDivElement>(null);\n const navigationListRef = createRef<FocusableHandle>();\n\n const handleSelectionChange = useCallback<\n Required<ComponentProps<typeof NavigationList>>['onSelectionChange']\n >(\n (detail: { value: string | number; reason?: 'pointer' | 'keyboard' }) => {\n if (detail.reason === 'pointer') {\n isPointerSelection.current = true;\n }\n onSelect?.({ value: detail.value });\n onClose?.({ reason: 'itemAction' });\n },\n [onSelect, onClose]\n );\n\n const handleDropdownClose = useCallback(\n (e: CloseDetail) => {\n onClose?.({ reason: e.reason });\n },\n [onClose]\n );\n\n const handleSheetClose = useCallback(() => {\n onClose?.({ reason: 'dismissed' });\n }, [onClose]);\n\n //When NavigationList steals focus the app resets it. Not always would it be reset to\n //parent of OverflowTabBarItem. Though currentKey would be correct, but focusRing would would not be visible\n //Hence we check for isPointerSelection.current\n\n const focusRingRequirement = showFocusRing && !isPointerSelection.current && !getIsMobile();\n\n const overflowContainsKey = (searchKey: K) => {\n return overflowItems?.find((item) => item.itemKey === searchKey) != null;\n };\n\n const currentPanelId = overflowItems?.find((item) => item.itemKey === selection)?.tabPanelId;\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const isSelected = selection !== undefined && overflowContainsKey(selection as K);\n\n //instead of specifying flex: '1 0 auto' in cssProps var\n const styleInterpolations = mergeInterpolations<FlexitemProps>([\n ...Object.values(flexitemInterpolations)\n ]);\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const navContainerClasses = classNames([styles.navContainerBase]);\n\n const navContainerRef = useRef<HTMLDivElement>(null);\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n navigationListRef.current?.focus();\n }\n },\n [navigationListRef]\n );\n const getNavigationList = useCallback(() => {\n return (\n <div onKeyDown={handleKeyDown} tabIndex={0} ref={navContainerRef} class={navContainerClasses}>\n <NavigationList\n ref={navigationListRef}\n selection={selection}\n onSelectionChange={handleSelectionChange}\n onRemove={onRemove}>\n {overflowItems?.map((item) =>\n item.href != null ? (\n <NavigationListLinkItem\n href={item.href}\n itemKey={item.itemKey}\n label={item.label}\n badge={item.badge}\n metadata={item.metadata}\n severity={item.severity}\n />\n ) : item.isRemovable ? (\n <RemovableNavigationListItem\n itemKey={item.itemKey}\n label={item.label}\n badge={item.badge}\n metadata={item.metadata}\n severity={item.severity}\n />\n ) : (\n <NavigationListItem\n itemKey={item.itemKey}\n label={item.label}\n badge={item.badge}\n metadata={item.metadata}\n severity={item.severity}\n />\n )\n )}\n </NavigationList>\n </div>\n );\n }, [\n handleKeyDown,\n navContainerClasses,\n navigationListRef,\n selection,\n handleSelectionChange,\n onRemove,\n overflowItems\n ]);\n\n return (\n <>\n {overflowItems && overflowItems.length > 0 && (\n <div ref={overflowTabBarItemRef} style={flexDimensions}>\n <BaseTabBarItem\n aria-controls={currentPanelId}\n itemKey={overflowItemKey}\n label={translations.overflowItemLabel()}\n icon={icon ? icon : <OverflowH />}\n badge={badge}\n showFocusRingOverride={focusRingRequirement}\n selectionOverride={isSelected}\n displayOverride={'icons'}\n aria-haspopup={true}\n />\n </div>\n )}\n {getIsMobile() ? (\n <Sheet isOpen={isOpen} onClose={handleSheetClose} initialFocus=\"firstFocusable\">\n {getNavigationList()}\n </Sheet>\n ) : (\n <Dropdown\n initialFocus=\"firstFocusable\"\n isOpen={isOpen}\n onClose={handleDropdownClose}\n placement={isEdgeBottom ? 'top-end' : 'bottom-end'}\n anchorRef={overflowTabBarItemRef}>\n {getNavigationList()}\n </Dropdown>\n )}\n </>\n );\n}\n\nconst getIsMobile = () => {\n const { deviceRenderMode } = getClientHints();\n return deviceRenderMode === 'phone';\n};\n"],"names":["_jsx","ErrorS","WarningS","InformationS","SuccessS","_jsxs","_Fragment","Close","OverflowH"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /* @oracle/oraclejet-preact: undefined */
2
- export { B as BaseCardView, a as getColCount, g as gutterSizeToPX } from './BaseCardView-85b9a71e.js';
2
+ export { B as BaseCardView, a as getColCount, g as gutterSizeToPX } from './BaseCardView-b3d8bae0.js';
3
3
  import 'preact/jsx-runtime';
4
4
  import 'preact';
5
5
  import 'preact/compat';
@@ -4,6 +4,7 @@ import { u as useCurrentKey } from './useCurrentKey-5f865bbd.js';
4
4
  import { d as getPrevNextKeyUsingRef, k as keyExtractor, c as getItemKeysArray, b as getFirstVisibleKey } from './collectionUtils-5313629f.js';
5
5
  import { useContext, useCallback, useMemo, useRef, useState, useId, useEffect } from 'preact/hooks';
6
6
  import { createContext } from 'preact';
7
+ import { E as Expander } from './Expander-1347e769.js';
7
8
  import { F as Flex } from './Flex-03129963.js';
8
9
  import { m as mergeProps } from './mergeProps-88ea8306.js';
9
10
  import { u as usePress } from './usePress-051f5adb.js';
@@ -21,7 +22,6 @@ import { u as useUser } from './useUser-06d34d19.js';
21
22
  import { c as classNames } from './classNames-4e12b00d.js';
22
23
  import { m as mergeInterpolations } from './mergeInterpolations-30cd9a69.js';
23
24
  import { f as flexitemInterpolations } from './flexitem-7b7f7920.js';
24
- import { E as Expander } from './Expander-1347e769.js';
25
25
  import { u as useCollectionFocusRing } from './useCollectionFocusRing-23ac7f97.js';
26
26
  import { navigationListStyles } from './PRIVATE_CollapsibleNavigationList/themes/CollapsibleNavigationListStyles.css.js';
27
27
  import './keys-49c92dbb.js';
@@ -111,10 +111,33 @@ import './PRIVATE_BaseSelector/themes/SelectorStyles.css.js';
111
111
  import './SelectorStyles.styles.css';
112
112
  import './CollectionInteractionContext-7cf19abc.js';
113
113
  import './useCollectionInteractionContext-3895c632.js';
114
+ import './EmbeddedIconButton-46434710.js';
115
+ import './BaseButton-41068c85.js';
116
+ import './dimensions-e4fbc23d.js';
117
+ import './UNSAFE_BaseButton/themes/redwood/BaseButtonTheme.js';
118
+ import './UNSAFE_BaseButton/themes/BaseButtonStyles.css.js';
119
+ import './BaseButtonStyles.styles.css';
120
+ import './UNSAFE_BaseButton/themes/redwood/BaseButtonVariants.css.js';
121
+ import './UNSAFE_BaseButton/themes/redwood/BaseButtonBaseTheme.styles.css';
122
+ import './BareButton-1e3df7cb.js';
123
+ import './useBareButton-ff4bd21e.js';
124
+ import './usePressClick-945cc43b.js';
125
+ import './buttonUtils-55fb1df7.js';
126
+ import './id-83adac50.js';
127
+ import './ButtonLabelLayout-1631c997.js';
128
+ import './useButtonLabelLayoutTheme-448e671d.js';
129
+ import './UNSAFE_ButtonLabelLayout/themes/redwood/ButtonLabelLayoutTheme.js';
130
+ import './UNSAFE_ButtonLabelLayout/themes/ButtonLabelLayoutStyles.css.js';
131
+ import './ButtonLabelLayoutStyles.styles.css';
132
+ import './UNSAFE_ButtonLabelLayout/themes/redwood/ButtonLabelLayoutBaseTheme.css.js';
133
+ import './UNSAFE_ButtonLabelLayout/themes/redwood/ButtonLabelLayoutBaseTheme.styles.css';
134
+ import './UNSAFE_ButtonLabelLayout/themes/redwood/ButtonLabelLayoutVariants.css.js';
135
+ import './ButtonLabelLayoutVariants.styles.css';
136
+ import './ChevronDown-16a46328.js';
137
+ import './ChevronRight-f4ff20cb.js';
114
138
  import './boxalignment-8980856d.js';
115
139
  import './boxalignment.styles.css';
116
140
  import './vanilla-extract-sprinkles-createRuntimeSprinkles.esm-2d655d37.js';
117
- import './dimensions-e4fbc23d.js';
118
141
  import './flexbox-529f25da.js';
119
142
  import './flexbox.styles.css';
120
143
  import './FlexStyles.styles.css';
@@ -138,29 +161,6 @@ import './_curry3-577eb45e.js';
138
161
  import './_curry2-01c87f61.js';
139
162
  import './_isObject-1fab0f5b.js';
140
163
  import './flexitem.styles.css';
141
- import './EmbeddedIconButton-46434710.js';
142
- import './BaseButton-41068c85.js';
143
- import './UNSAFE_BaseButton/themes/redwood/BaseButtonTheme.js';
144
- import './UNSAFE_BaseButton/themes/BaseButtonStyles.css.js';
145
- import './BaseButtonStyles.styles.css';
146
- import './UNSAFE_BaseButton/themes/redwood/BaseButtonVariants.css.js';
147
- import './UNSAFE_BaseButton/themes/redwood/BaseButtonBaseTheme.styles.css';
148
- import './BareButton-1e3df7cb.js';
149
- import './useBareButton-ff4bd21e.js';
150
- import './usePressClick-945cc43b.js';
151
- import './buttonUtils-55fb1df7.js';
152
- import './id-83adac50.js';
153
- import './ButtonLabelLayout-1631c997.js';
154
- import './useButtonLabelLayoutTheme-448e671d.js';
155
- import './UNSAFE_ButtonLabelLayout/themes/redwood/ButtonLabelLayoutTheme.js';
156
- import './UNSAFE_ButtonLabelLayout/themes/ButtonLabelLayoutStyles.css.js';
157
- import './ButtonLabelLayoutStyles.styles.css';
158
- import './UNSAFE_ButtonLabelLayout/themes/redwood/ButtonLabelLayoutBaseTheme.css.js';
159
- import './UNSAFE_ButtonLabelLayout/themes/redwood/ButtonLabelLayoutBaseTheme.styles.css';
160
- import './UNSAFE_ButtonLabelLayout/themes/redwood/ButtonLabelLayoutVariants.css.js';
161
- import './ButtonLabelLayoutVariants.styles.css';
162
- import './ChevronDown-16a46328.js';
163
- import './ChevronRight-f4ff20cb.js';
164
164
  import './CollapsibleNavigationListStyles.styles.css';
165
165
 
166
166
  /**
@@ -1,5 +1,5 @@
1
1
  /* @oracle/oraclejet-preact: undefined */
2
- export { M as MonthView } from './MonthView-097171eb.js';
2
+ export { M as MonthView } from './MonthView-4b2b483a.js';
3
3
  import 'preact/jsx-runtime';
4
4
  import './dayUtils-cf5948ff.js';
5
5
  import './getFormatParse-6d6fdd4d.js';
@@ -8,12 +8,11 @@ import './logger-c92f309c.js';
8
8
  import './supplementalData-ed66ab4e.js';
9
9
  import './calendarDateUtils-30611c35.js';
10
10
  import 'preact/hooks';
11
- import './StyledDatePickerButton-f3971567.js';
11
+ import './StyledDatePickerButton-78f2f6e8.js';
12
12
  import './PRIVATE_StyledDatePickerButton/themes/StyledDatePickerButtonStyles.css.js';
13
13
  import './BaseButtonStyles.styles.css';
14
14
  import './StyledDatePickerButtonStyles.styles.css';
15
15
  import './vanilla-extract-recipes-createRuntimeFn.esm-2aaf8c98.js';
16
- import './UNSAFE_BaseButton/themes/BaseButtonStyles.css.js';
17
16
  import './classNames-4e12b00d.js';
18
17
  import 'preact/compat';
19
18
  import './useTranslationBundle-4822502f.js';
@@ -1 +1 @@
1
- {"version":3,"file":"PRIVATE_MonthView.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PRIVATE_MonthView.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  /* @oracle/oraclejet-preact: undefined */
2
- export { M as MonthsGridView, Y as YearsGridView } from './YearsGridView-cac4710a.js';
2
+ export { M as MonthsGridView, Y as YearsGridView } from './YearsGridView-6c18094a.js';
3
3
  import 'preact/jsx-runtime';
4
4
  import './Grid-9e4b4f19.js';
5
5
  import './grid-65aa641c.js';
@@ -27,12 +27,11 @@ import 'preact/compat';
27
27
  import './UNSAFE_Layer/themes/LayerHostStyles.css.js';
28
28
  import './LayerHostStyles.styles.css';
29
29
  import 'preact/hooks';
30
- import './StyledDatePickerButton-f3971567.js';
30
+ import './StyledDatePickerButton-78f2f6e8.js';
31
31
  import './PRIVATE_StyledDatePickerButton/themes/StyledDatePickerButtonStyles.css.js';
32
32
  import './BaseButtonStyles.styles.css';
33
33
  import './StyledDatePickerButtonStyles.styles.css';
34
34
  import './vanilla-extract-recipes-createRuntimeFn.esm-2aaf8c98.js';
35
- import './UNSAFE_BaseButton/themes/BaseButtonStyles.css.js';
36
35
  import './useTranslationBundle-4822502f.js';
37
36
  import './useUser-06d34d19.js';
38
37
  import './getFormatParse-6d6fdd4d.js';
@@ -1 +1 @@
1
- {"version":3,"file":"PRIVATE_MonthYearGridView.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PRIVATE_MonthYearGridView.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  /* @oracle/oraclejet-preact: undefined */
2
- export { D as DefaultList, a as DropdownArrow, b as DropdownList, E as EmptyResults, l as createKeysFromValueItems, h as isBeforeDataFetch, e as isMobile, f as isPhone, k as isSearchClearedFirstTime, j as isSearchTextEmptyOrUndefined, i as isSimpleClick, g as isTablet, p as preventDefault, c as preventDefaultForCurrentTarget, r as renderItemText, u as useCollectionRenderer, d as useSelectCommon } from './useSelectCommon-309d0f07.js';
3
- export { D as Dropdown, a as DropdownUserAssistance, L as LinkItem, M as MobileDropdown, S as SelectMobileDropdown, b as SelectMobileFieldInput } from './SelectMobileFieldInput-0a7c968c.js';
2
+ export { D as DefaultList, a as DropdownArrow, b as DropdownList, E as EmptyResults, l as createKeysFromValueItems, h as isBeforeDataFetch, e as isMobile, f as isPhone, k as isSearchClearedFirstTime, j as isSearchTextEmptyOrUndefined, i as isSimpleClick, g as isTablet, p as preventDefault, c as preventDefaultForCurrentTarget, r as renderItemText, u as useCollectionRenderer, d as useSelectCommon } from './useSelectCommon-a3c69d60.js';
3
+ export { D as Dropdown, a as DropdownUserAssistance, L as LinkItem, M as MobileDropdown, S as SelectMobileDropdown, b as SelectMobileFieldInput } from './SelectMobileFieldInput-345c4d45.js';
4
4
  import 'preact/jsx-runtime';
5
5
  import './Flex-03129963.js';
6
6
  import './useTestId-f24ac480.js';
@@ -1,11 +1,10 @@
1
1
  /* @oracle/oraclejet-preact: undefined */
2
- export { S as StyledDatePickerButton } from './StyledDatePickerButton-f3971567.js';
2
+ export { S as StyledDatePickerButton } from './StyledDatePickerButton-78f2f6e8.js';
3
3
  import 'preact/jsx-runtime';
4
4
  import './PRIVATE_StyledDatePickerButton/themes/StyledDatePickerButtonStyles.css.js';
5
5
  import './BaseButtonStyles.styles.css';
6
6
  import './StyledDatePickerButtonStyles.styles.css';
7
7
  import './vanilla-extract-recipes-createRuntimeFn.esm-2aaf8c98.js';
8
- import './UNSAFE_BaseButton/themes/BaseButtonStyles.css.js';
9
8
  import './classNames-4e12b00d.js';
10
9
  import 'preact/compat';
11
10
  //# sourceMappingURL=PRIVATE_StyledDatePickerButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PRIVATE_StyledDatePickerButton.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"PRIVATE_StyledDatePickerButton.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -39,6 +39,8 @@ import { u as useInteractionStyle } from './useInteractionStyle-99e32c23.js';
39
39
  import { S as Selector } from './Selector-23bccbe7.js';
40
40
  import { textAlignStyles, verticalAlignStyles } from './PRIVATE_TableCommon/themes/Common.css.js';
41
41
  import { listCellStylesHC, listCellStyles } from './PRIVATE_TableList/themes/ListCellStyles.css.js';
42
+ import './StyledCheckbox-d6c8f557.js';
43
+ import './SelectorStyles.styles.css';
42
44
  import { listSkeletonStylesHC, listSkeletonStyles } from './PRIVATE_TableList/themes/ListSkeletonStyles.css.js';
43
45
  import { d as dimensionInterpolations } from './dimensions-e4fbc23d.js';
44
46
  import { m as mergeInterpolations } from './mergeInterpolations-30cd9a69.js';
@@ -91,7 +93,8 @@ import './useToggle-8b7fcefe.js';
91
93
  import './useActive-fb6d4d52.js';
92
94
  import './BaseSelector-7cbc48bc.js';
93
95
  import './useFocus-38c95977.js';
94
- import './StyledCheckbox-d6c8f557.js';
96
+ import './PRIVATE_BaseSelector/themes/SelectorStyles.css.js';
97
+ import './ListCellStyles.styles.css';
95
98
  import './Check-ac39fe00.js';
96
99
  import './Icon-4983d06e.js';
97
100
  import './size-af1e638c.js';
@@ -126,9 +129,6 @@ import './UNSAFE_Checkbox/themes/redwood/CheckboxIconVariants.css.js';
126
129
  import './CheckboxIconVariants.styles.css';
127
130
  import './useTabbableMode-090ed4b5.js';
128
131
  import './StyledCheckbox.styles.css';
129
- import './PRIVATE_BaseSelector/themes/SelectorStyles.css.js';
130
- import './SelectorStyles.styles.css';
131
- import './ListCellStyles.styles.css';
132
132
  import './ListSkeletonStyles.styles.css';
133
133
  import './mergeDeepWithKey-33e3d1be.js';
134
134
  import './_isObject-1fab0f5b.js';
@@ -1,11 +1,11 @@
1
- .RadioIconVariants_multiVariantStyles_iconSize_4xUnits__ykyxsd8 {
1
+ .RadioIconVariants_multiVariantStyles_iconSize_4xUnits__vfef778 {
2
2
  --iconSize__bwcdcl0: calc(4 * var(--oj-c-size-units, 0.25rem));
3
3
  }
4
- .RadioIconVariants_multiVariantStyles_richSelection_isLayoutXL__ykyxsd9 {
4
+ .RadioIconVariants_multiVariantStyles_richSelection_isLayoutXL__vfef779 {
5
5
  height: calc(4 * var(--oj-c-size-units, 0.25rem));
6
6
  width: calc(4 * var(--oj-c-size-units, 0.25rem));
7
7
  }
8
- .RadioIconVariants_multiVariantStyles_richSelection_notLayoutXL__ykyxsda {
8
+ .RadioIconVariants_multiVariantStyles_richSelection_notLayoutXL__vfef77a {
9
9
  height: calc(5 * var(--oj-c-size-units, 0.25rem));
10
10
  width: calc(4 * var(--oj-c-size-units, 0.25rem));
11
11
  }
@@ -1,11 +1,11 @@
1
- .RadioIconVariants_multiVariantStyles_iconSize_4xUnits__vfef778 {
1
+ .RadioIconVariants_multiVariantStyles_iconSize_4xUnits__ykyxsd8 {
2
2
  --iconSize__bwcdcl0: calc(4 * var(--oj-c-size-units, 0.25rem));
3
3
  }
4
- .RadioIconVariants_multiVariantStyles_richSelection_isLayoutXL__vfef779 {
4
+ .RadioIconVariants_multiVariantStyles_richSelection_isLayoutXL__ykyxsd9 {
5
5
  height: calc(4 * var(--oj-c-size-units, 0.25rem));
6
6
  width: calc(4 * var(--oj-c-size-units, 0.25rem));
7
7
  }
8
- .RadioIconVariants_multiVariantStyles_richSelection_notLayoutXL__vfef77a {
8
+ .RadioIconVariants_multiVariantStyles_richSelection_notLayoutXL__ykyxsda {
9
9
  height: calc(5 * var(--oj-c-size-units, 0.25rem));
10
10
  width: calc(4 * var(--oj-c-size-units, 0.25rem));
11
11
  }
@@ -1,4 +1,4 @@
1
- .SegmentStyles_base__51w8ze0 {
1
+ .SegmentStyles_base__kzheun0 {
2
2
  caret-color: transparent;
3
3
  text-align: end;
4
4
  -webkit-tap-highlight-color: transparent;
@@ -6,35 +6,32 @@
6
6
  user-select: none;
7
7
  -webkit-user-select: none;
8
8
  }
9
- .SegmentStyles_base__51w8ze0:focus-visible {
9
+ .SegmentStyles_base__kzheun0:focus-visible {
10
10
  outline: none;
11
11
  }
12
- .SegmentStyles_literalBase__51w8ze1 {
12
+ .SegmentStyles_literalBase__kzheun1 {
13
13
  white-space: pre;
14
14
  -webkit-user-select: none;
15
15
  -moz-user-select: none;
16
16
  user-select: none;
17
17
  }
18
- .SegmentStyles_placeholder__51w8ze2 {
18
+ .SegmentStyles_placeholder__kzheun2 {
19
19
  color: var(--oj-c-text-icon-secondary);
20
20
  text-align: start;
21
21
  }
22
- .SegmentStyles_space__51w8ze3 {
23
- width: 4px;
24
- }
25
- .SegmentStyles_selected__51w8ze4 {
22
+ .SegmentStyles_selected__kzheun3 {
26
23
  background-color: var(--oj-c-surface-selected);
27
24
  border-color: var(--oj-c-border-selected);
28
25
  }
29
- .SegmentStyles_highlighted__51w8ze5 {
26
+ .SegmentStyles_highlighted__kzheun4 {
30
27
  background-color: var(--oj-c-surface-selected);
31
28
  }
32
- .SegmentStyles_hidden__51w8ze6 {
29
+ .SegmentStyles_hidden__kzheun5 {
33
30
  display: none;
34
31
  }
35
- .SegmentStyles_notHidden__51w8ze7 {
32
+ .SegmentStyles_notHidden__kzheun6 {
36
33
  display: block;
37
34
  }
38
- .SegmentStyles_accessibleTouchTarget__51w8ze8 {
35
+ .SegmentStyles_accessibleTouchTarget__kzheun7 {
39
36
  min-width: 24px;
40
37
  }