@oracle/oraclejet-preact 20.0.0 → 20.0.1

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 (653) 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/{CollapsibleNavigationList-f0072c90.js → CollapsibleNavigationList-fdeccbfb.js} +2 -2
  10. package/amd/{CollapsibleNavigationList-f0072c90.js.map → CollapsibleNavigationList-fdeccbfb.js.map} +1 -1
  11. package/amd/ColorPicker-e3167e4c.js +2 -0
  12. package/amd/{ColorPicker-141fa49d.js.map → ColorPicker-e3167e4c.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/{FlatTreeView-9ecf2be6.js → FlatTreeView-15edd439.js} +2 -2
  16. package/amd/{FlatTreeView-9ecf2be6.js.map → FlatTreeView-15edd439.js.map} +1 -1
  17. package/amd/{InputColor-58e3fce3.js → InputColor-51d7e40c.js} +2 -2
  18. package/amd/{InputColor-58e3fce3.js.map → InputColor-51d7e40c.js.map} +1 -1
  19. package/amd/{InputDatePicker-48633486.js → InputDatePicker-030e345a.js} +2 -2
  20. package/amd/{InputDatePicker-48633486.js.map → InputDatePicker-030e345a.js.map} +1 -1
  21. package/amd/ListView-02a92d18.js +2 -0
  22. package/amd/{ListView-2678b2af.js.map → ListView-02a92d18.js.map} +1 -1
  23. package/amd/{MonthView-ea883c49.js → MonthView-96fafba4.js} +2 -2
  24. package/amd/{MonthView-ea883c49.js.map → MonthView-96fafba4.js.map} +1 -1
  25. package/amd/{OverflowTabBar-b142f8d4.js → OverflowTabBar-5ff68da7.js} +2 -2
  26. package/amd/{OverflowTabBar-b142f8d4.js.map → OverflowTabBar-5ff68da7.js.map} +1 -1
  27. package/amd/{OverflowTabBarItem-49a82149.js → OverflowTabBarItem-926b0c8a.js} +2 -2
  28. package/amd/{OverflowTabBarItem-49a82149.js.map → OverflowTabBarItem-926b0c8a.js.map} +1 -1
  29. package/amd/PRIVATE_BaseCardView.js +1 -1
  30. package/amd/PRIVATE_CollapsibleNavigationList.js +1 -1
  31. package/amd/PRIVATE_MonthView.js +1 -1
  32. package/amd/PRIVATE_MonthYearGridView.js +1 -1
  33. package/amd/PRIVATE_StyledDatePickerButton.js +1 -1
  34. package/amd/PRIVATE_TableList.js +1 -1
  35. package/amd/{RemovableTabBarItem-e1bee7fa.js → RemovableTabBarItem-9ae273fe.js} +2 -2
  36. package/amd/{RemovableTabBarItem-e1bee7fa.js.map → RemovableTabBarItem-9ae273fe.js.map} +1 -1
  37. package/amd/ReorderableTabBar-0c69bfd4.js +2 -0
  38. package/amd/{ReorderableTabBar-46683bcb.js.map → ReorderableTabBar-0c69bfd4.js.map} +1 -1
  39. package/amd/StyledDatePickerButton-bceb62e1.js +2 -0
  40. package/amd/StyledDatePickerButton-bceb62e1.js.map +1 -0
  41. package/amd/StyledDatePickerButtonStyles.styles.css +17 -0
  42. package/amd/TabBar-de723fbc.js +2 -0
  43. package/amd/{TabBar-fcebb560.js.map → TabBar-de723fbc.js.map} +1 -1
  44. package/amd/TabBarItem-a39c5de3.js +2 -0
  45. package/amd/{TabBarItem-224bc6b3.js.map → TabBarItem-a39c5de3.js.map} +1 -1
  46. package/amd/TabBarLinkItem-944b1e8d.js +2 -0
  47. package/amd/{TabBarLinkItem-57587dbd.js.map → TabBarLinkItem-944b1e8d.js.map} +1 -1
  48. package/amd/TabBarMixed-cfd346bf.js +2 -0
  49. package/amd/{TabBarMixed-8cc4b4ed.js.map → TabBarMixed-cfd346bf.js.map} +1 -1
  50. package/amd/TextArea-345f89d4.js +2 -0
  51. package/{es/TextArea-93ce78a7.js.map → amd/TextArea-345f89d4.js.map} +1 -1
  52. package/amd/TextAreaAutosize-01dfd98e.js +2 -0
  53. package/amd/{TextAreaAutosize-3a13ebb2.js.map → TextAreaAutosize-01dfd98e.js.map} +1 -1
  54. package/amd/Theme-redwood/theme.css +211 -211
  55. package/amd/Theme-stable/theme.css +281 -281
  56. package/amd/UNSAFE_CardFlexView.js +1 -1
  57. package/amd/UNSAFE_CardGridView.js +1 -1
  58. package/amd/UNSAFE_ColorPicker.js +1 -1
  59. package/amd/UNSAFE_DatePicker.js +1 -1
  60. package/amd/UNSAFE_FlatTreeView.js +1 -1
  61. package/amd/UNSAFE_InputColor.js +1 -1
  62. package/amd/UNSAFE_InputDatePicker.js +1 -1
  63. package/amd/UNSAFE_ListView.js +1 -1
  64. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  65. package/amd/UNSAFE_ReorderableTabBar.js +1 -1
  66. package/amd/UNSAFE_TabBar.js +1 -1
  67. package/amd/UNSAFE_TabBarCommon.js +1 -1
  68. package/amd/UNSAFE_TabBarMixed.js +1 -1
  69. package/amd/UNSAFE_TextArea.js +1 -1
  70. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  71. package/amd/{YearsGridView-4aa7bc66.js → YearsGridView-561c3074.js} +2 -2
  72. package/amd/{YearsGridView-4aa7bc66.js.map → YearsGridView-561c3074.js.map} +1 -1
  73. package/cjs/CheckboxSet-6865f4fd.js +55 -0
  74. package/cjs/CheckboxSet-6865f4fd.js.map +1 -0
  75. package/cjs/{ColorPalette-9f041744.js → ColorPalette-b14114d8.js} +2 -2
  76. package/cjs/{ColorPalette-9f041744.js.map → ColorPalette-b14114d8.js.map} +1 -1
  77. package/cjs/{ColorPicker-9af6707c.js → ColorPicker-2c99c0fb.js} +2 -2
  78. package/cjs/{ColorPicker-9af6707c.js.map → ColorPicker-2c99c0fb.js.map} +1 -1
  79. package/cjs/{DatePicker-48c602ff.js → DatePicker-b60f8a7e.js} +3 -3
  80. package/cjs/{DatePicker-48c602ff.js.map → DatePicker-b60f8a7e.js.map} +1 -1
  81. package/cjs/{MonthView-59452edc.js → MonthView-a2661a58.js} +2 -2
  82. package/cjs/{MonthView-59452edc.js.map → MonthView-a2661a58.js.map} +1 -1
  83. package/cjs/{NavigationListItem-3b9eb0fb.js → NavigationListItem-cdfd0740.js} +19 -1
  84. package/cjs/{NavigationListItem-3b9eb0fb.js.map → NavigationListItem-cdfd0740.js.map} +1 -1
  85. package/cjs/{OverflowTabBarItem-2c967a89.js → OverflowTabBarItem-4bbd5830.js} +7 -4
  86. package/cjs/OverflowTabBarItem-4bbd5830.js.map +1 -0
  87. package/cjs/PRIVATE_MonthView.js +2 -3
  88. package/cjs/PRIVATE_MonthView.js.map +1 -1
  89. package/cjs/PRIVATE_MonthYearGridView.js +2 -3
  90. package/cjs/PRIVATE_MonthYearGridView.js.map +1 -1
  91. package/cjs/PRIVATE_StyledDatePickerButton.js +1 -2
  92. package/cjs/PRIVATE_StyledDatePickerButton.js.map +1 -1
  93. package/cjs/SegmentStyles.styles.css +12 -9
  94. package/cjs/SegmentStyles.styles2.css +9 -12
  95. package/cjs/{StyledDatePickerButton-cf4e4dc0.js → StyledDatePickerButton-becd2a7d.js} +2 -8
  96. package/cjs/StyledDatePickerButton-becd2a7d.js.map +1 -0
  97. package/cjs/StyledDatePickerButtonStyles.styles.css +17 -0
  98. package/cjs/{TabBarLinkItem-42785eb3.js → TabBarLinkItem-891a5f10.js} +2 -2
  99. package/cjs/{TabBarLinkItem-42785eb3.js.map → TabBarLinkItem-891a5f10.js.map} +1 -1
  100. package/cjs/Theme-redwood/theme.css +129 -129
  101. package/cjs/Theme-stable/theme.css +161 -161
  102. package/cjs/UNSAFE_CheckboxItem.js +117 -56
  103. package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
  104. package/cjs/UNSAFE_CheckboxSet.js +21 -50
  105. package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
  106. package/cjs/UNSAFE_ColorPalette.js +80 -80
  107. package/cjs/UNSAFE_ColorPicker.js +76 -76
  108. package/cjs/UNSAFE_DatePicker.js +4 -4
  109. package/cjs/UNSAFE_InputColor.js +12 -12
  110. package/cjs/UNSAFE_InputDatePicker.js +96 -96
  111. package/cjs/UNSAFE_NavigationList.js +12 -12
  112. package/cjs/UNSAFE_OverflowTabBar.js +3 -3
  113. package/cjs/UNSAFE_RichCheckboxSet.js +46 -42
  114. package/cjs/UNSAFE_RichCheckboxSet.js.map +1 -1
  115. package/cjs/UNSAFE_RichSelectionItem.js +154 -91
  116. package/cjs/UNSAFE_RichSelectionItem.js.map +1 -1
  117. package/cjs/UNSAFE_TabBar.js +3 -3
  118. package/cjs/UNSAFE_TabBarCommon.js +5 -5
  119. package/cjs/UNSAFE_TabBarMixed.js +4 -4
  120. package/cjs/{YearsGridView-b56f7f42.js → YearsGridView-d0d4e8e1.js} +2 -2
  121. package/cjs/{YearsGridView-b56f7f42.js.map → YearsGridView-d0d4e8e1.js.map} +1 -1
  122. package/es/{BaseButton-41068c85.js → BaseButton-243d200f.js} +2 -2
  123. package/es/{BaseButton-41068c85.js.map → BaseButton-243d200f.js.map} +1 -1
  124. package/es/{BaseCardView-85b9a71e.js → BaseCardView-b3d8bae0.js} +10 -7
  125. package/es/{BaseCardView-85b9a71e.js.map → BaseCardView-b3d8bae0.js.map} +1 -1
  126. package/es/BaseDiagram-b5b22e53.js +7 -7
  127. package/es/BaseRichSelection-223d9830.js +9 -9
  128. package/es/BaseSelector-7cbc48bc.js +1 -1
  129. package/es/BaseSwatchView-2e1e6bd2.js +2 -2
  130. package/es/{Button-956f51c7.js → Button-a76ecfa8.js} +2 -2
  131. package/es/{Button-956f51c7.js.map → Button-a76ecfa8.js.map} +1 -1
  132. package/es/ButtonSet-b7464e9a.js +2 -2
  133. package/es/ButtonSetButton-8685c752.js +1 -1
  134. package/es/ButtonSetIconButton-c8ed85f9.js +4 -4
  135. package/es/{Center-71a03e65.js → Center-3860fe60.js} +2 -2
  136. package/es/{Center-71a03e65.js.map → Center-3860fe60.js.map} +1 -1
  137. package/es/Chart-b866a74c.js +10 -10
  138. package/es/CheckboxControl-c008372a.js +6 -6
  139. package/es/CheckboxRadioField-a387b3cb.js +6 -6
  140. package/es/CheckboxRadioLabelValueLayout-e3845f16.js +1 -1
  141. package/es/CheckboxSet-3aab5935.js +1 -1
  142. package/es/Chip-4efea02e.js +1 -1
  143. package/es/ClearIcon-f85ea340.js +1 -1
  144. package/es/CollapseIcon-84f6ba8e.js +1 -1
  145. package/es/Collapsible-2608ce3b.js +2 -2
  146. package/es/ColorPalette-950c6fc6.js +2 -2
  147. package/es/{ColorPicker-ae648c4c.js → ColorPicker-8c297849.js} +3 -3
  148. package/es/{ColorPicker-ae648c4c.js.map → ColorPicker-8c297849.js.map} +1 -1
  149. package/es/ColorSwatch-8339ee2f.js +4 -4
  150. package/es/{CompactLabelAssistance-e2fcfcab.js → CompactLabelAssistance-50ff3f7e.js} +6 -6
  151. package/es/{CompactLabelAssistance-e2fcfcab.js.map → CompactLabelAssistance-50ff3f7e.js.map} +1 -1
  152. package/es/CompactUserAssistance-6aa8894b.js +5 -5
  153. package/es/ComponentMessageContainer-d16c8b1f.js +4 -4
  154. package/es/{DatePicker-2ab05fbe.js → DatePicker-fa7d39a7.js} +8 -8
  155. package/es/{DatePicker-2ab05fbe.js.map → DatePicker-fa7d39a7.js.map} +1 -1
  156. package/es/DatePickerHeader-f8cf86bb.js +3 -3
  157. package/es/DiagramStyles.styles2.css +10 -16
  158. package/es/DiagramStyles.styles3.css +16 -10
  159. package/es/{Dialog-83368f52.js → Dialog-d1de5b06.js} +7 -7
  160. package/es/{Dialog-83368f52.js.map → Dialog-d1de5b06.js.map} +1 -1
  161. package/es/DirectionalCollapseArrowIcon-132761da.js +1 -1
  162. package/es/DirectionalExpandArrowIcon-5bc45cad.js +1 -1
  163. package/es/{Dropdown-019aba37.js → Dropdown-9d9813a9.js} +6 -6
  164. package/es/{Dropdown-019aba37.js.map → Dropdown-9d9813a9.js.map} +1 -1
  165. package/es/{EmbeddedIconButton-46434710.js → EmbeddedIconButton-9f0e56b7.js} +2 -2
  166. package/es/{EmbeddedIconButton-46434710.js.map → EmbeddedIconButton-9f0e56b7.js.map} +1 -1
  167. package/es/{EnvironmentProvider-6a0a8212.js → EnvironmentProvider-6cf8ed37.js} +3 -3
  168. package/es/{EnvironmentProvider-6a0a8212.js.map → EnvironmentProvider-6cf8ed37.js.map} +1 -1
  169. package/es/Expander-1347e769.js +1 -1
  170. package/es/{Flex-03129963.js → Flex-fc483125.js} +2 -2
  171. package/es/{Flex-03129963.js.map → Flex-fc483125.js.map} +1 -1
  172. package/es/{Floating-4a82db94.js → Floating-be4c0cb6.js} +4 -4
  173. package/es/{Floating-4a82db94.js.map → Floating-be4c0cb6.js.map} +1 -1
  174. package/es/{Grid-9e4b4f19.js → Grid-6f92d323.js} +2 -2
  175. package/es/{Grid-9e4b4f19.js.map → Grid-6f92d323.js.map} +1 -1
  176. package/es/GroupLoadingIndicator-19c6545a.js +1 -1
  177. package/es/{HighlightText-0205faef.js → HighlightText-dd484ffd.js} +2 -2
  178. package/es/{HighlightText-0205faef.js.map → HighlightText-dd484ffd.js.map} +1 -1
  179. package/es/Icon-4983d06e.js +3 -3
  180. package/es/IconButton-7f91481c.js +4 -4
  181. package/es/IconSwitchButton-05f1f602.js +4 -4
  182. package/es/IconToggleButton-808818f5.js +4 -4
  183. package/es/{IconUserAssistance-61978211.js → IconUserAssistance-6abc7837.js} +3 -3
  184. package/es/{IconUserAssistance-61978211.js.map → IconUserAssistance-6abc7837.js.map} +1 -1
  185. package/es/InlineHelp-9eaac91c.js +1 -1
  186. package/es/InlineUserAssistance-890293dd.js +5 -5
  187. package/es/InputDateMask-ec27aee7.js +7 -7
  188. package/es/Label-5d1ae8d7.js +8 -8
  189. package/es/LabelValueLayout-c6b9945a.js +1 -1
  190. package/es/{Layer-535577b5.js → Layer-6c27170e.js} +3 -3
  191. package/es/{Layer-535577b5.js.map → Layer-6c27170e.js.map} +1 -1
  192. package/es/{LayerHost-7931b424.js → LayerHost-3cf255a6.js} +2 -2
  193. package/es/{LayerHost-7931b424.js.map → LayerHost-3cf255a6.js.map} +1 -1
  194. package/es/{LayerManager-52a26c55.js → LayerManager-e30fbfd6.js} +2 -2
  195. package/es/{LayerManager-52a26c55.js.map → LayerManager-e30fbfd6.js.map} +1 -1
  196. package/es/Link-8503aab2.js +1 -1
  197. package/es/List-4636ba9b.js +5 -5
  198. package/es/{LiveRegion-cebac18d.js → LiveRegion-2e8830ae.js} +2 -2
  199. package/es/{LiveRegion-cebac18d.js.map → LiveRegion-2e8830ae.js.map} +1 -1
  200. package/es/{MaxLengthLiveRegion-8099fde5.js → MaxLengthLiveRegion-8f552ae2.js} +3 -3
  201. package/es/{MaxLengthLiveRegion-8099fde5.js.map → MaxLengthLiveRegion-8f552ae2.js.map} +1 -1
  202. package/es/Message-510c2db8.js +2 -2
  203. package/es/{MessageLayer-2a7fdec7.js → MessageLayer-1dbdc0b6.js} +6 -6
  204. package/es/{MessageLayer-2a7fdec7.js.map → MessageLayer-1dbdc0b6.js.map} +1 -1
  205. package/es/MessagesManager-47000438.js +3 -3
  206. package/es/Modal-c0f730b8.js +3 -3
  207. package/es/{MonthView-097171eb.js → MonthView-4e05e712.js} +5 -5
  208. package/es/{MonthView-097171eb.js.map → MonthView-4e05e712.js.map} +1 -1
  209. package/es/{NavigationListItem-dbd29973.js → NavigationListItem-340ab770.js} +23 -5
  210. package/es/{NavigationListItem-dbd29973.js.map → NavigationListItem-340ab770.js.map} +1 -1
  211. package/es/NavigationListLinkItem-e28fd846.js +5 -5
  212. package/es/NumberInputText-60be5757.js +6 -6
  213. package/es/{OverflowTabBarItem-6966fbc7.js → OverflowTabBarItem-aa0ce915.js} +12 -9
  214. package/es/OverflowTabBarItem-aa0ce915.js.map +1 -0
  215. package/es/PRIVATE_BaseCardView.js +23 -23
  216. package/es/PRIVATE_BaseDiagram.js +29 -29
  217. package/es/PRIVATE_BaseSelector.js +17 -17
  218. package/es/PRIVATE_BaseSwatchView.js +18 -18
  219. package/es/PRIVATE_Chart.js +34 -34
  220. package/es/PRIVATE_CheckboxControl.js +25 -25
  221. package/es/PRIVATE_CheckboxRadioField.js +27 -27
  222. package/es/PRIVATE_ClearIcon.js +18 -18
  223. package/es/PRIVATE_CollapsibleNavigationList.js +43 -43
  224. package/es/PRIVATE_DatePickerHeader.js +20 -20
  225. package/es/PRIVATE_DatePickerLayout.js +4 -4
  226. package/es/PRIVATE_EmbeddedIconButton.js +6 -6
  227. package/es/PRIVATE_Expander.js +19 -19
  228. package/es/PRIVATE_FormControls.js +21 -21
  229. package/es/PRIVATE_IconSwitchButton.js +17 -17
  230. package/es/PRIVATE_Icons/CheckboxCrossed.js +16 -16
  231. package/es/PRIVATE_Icons/CheckboxMixed.js +16 -16
  232. package/es/PRIVATE_Icons/CheckboxOff.js +16 -16
  233. package/es/PRIVATE_Icons/CheckboxOn.js +16 -16
  234. package/es/PRIVATE_Icons/DragV.js +16 -16
  235. package/es/PRIVATE_Icons/None.js +16 -16
  236. package/es/PRIVATE_List.js +21 -21
  237. package/es/PRIVATE_Message.js +20 -20
  238. package/es/PRIVATE_MessageLayer.js +12 -12
  239. package/es/PRIVATE_MonthView.js +8 -9
  240. package/es/PRIVATE_MonthView.js.map +1 -1
  241. package/es/PRIVATE_MonthYearGridView.js +8 -9
  242. package/es/PRIVATE_MonthYearGridView.js.map +1 -1
  243. package/es/PRIVATE_PlotArea.js +5 -5
  244. package/es/PRIVATE_RevealToggleIcon.js +18 -18
  245. package/es/PRIVATE_RichSelectionCommon.js +28 -28
  246. package/es/PRIVATE_SelectCommon.js +31 -31
  247. package/es/PRIVATE_StyledCard.js +3 -3
  248. package/es/PRIVATE_StyledCheckbox.js +16 -16
  249. package/es/PRIVATE_StyledDatePickerButton.js +1 -2
  250. package/es/PRIVATE_StyledDatePickerButton.js.map +1 -1
  251. package/es/PRIVATE_StyledSwitch.js +4 -4
  252. package/es/PRIVATE_SwatchFlexView.js +18 -18
  253. package/es/PRIVATE_Table.js +35 -35
  254. package/es/PRIVATE_TableDisplay.js +19 -19
  255. package/es/PRIVATE_TableList.js +30 -30
  256. package/es/PRIVATE_ThemedIcons/CalendarIcon.js +16 -16
  257. package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +16 -16
  258. package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +16 -16
  259. package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +16 -16
  260. package/es/PRIVATE_ThemedIcons/CheckIcon.js +16 -16
  261. package/es/PRIVATE_ThemedIcons/CheckboxCrossedIcon.js +16 -16
  262. package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +16 -16
  263. package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +16 -16
  264. package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +16 -16
  265. package/es/PRIVATE_ThemedIcons/CloseIcon.js +16 -16
  266. package/es/PRIVATE_ThemedIcons/CollapseIcon.js +17 -17
  267. package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +16 -16
  268. package/es/PRIVATE_ThemedIcons/DecrementIcon.js +16 -16
  269. package/es/PRIVATE_ThemedIcons/DeleteIcon.js +16 -16
  270. package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +17 -17
  271. package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +17 -17
  272. package/es/PRIVATE_ThemedIcons/DragHandleIcon.js +16 -16
  273. package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +16 -16
  274. package/es/PRIVATE_ThemedIcons/ExpandIcon.js +16 -16
  275. package/es/PRIVATE_ThemedIcons/HelpIcon.js +16 -16
  276. package/es/PRIVATE_ThemedIcons/IncrementIcon.js +16 -16
  277. package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +16 -16
  278. package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +16 -16
  279. package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +16 -16
  280. package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +16 -16
  281. package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +16 -16
  282. package/es/PRIVATE_ThemedIcons/MinusIcon.js +16 -16
  283. package/es/PRIVATE_ThemedIcons/NavDownIcon.js +16 -16
  284. package/es/PRIVATE_ThemedIcons/None.js +16 -16
  285. package/es/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +16 -16
  286. package/es/PRIVATE_ThemedIcons/PlusIcon.js +16 -16
  287. package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +16 -16
  288. package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +16 -16
  289. package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +16 -16
  290. package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +16 -16
  291. package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +16 -16
  292. package/es/PRIVATE_ThemedIcons/ViewIcon.js +16 -16
  293. package/es/PRIVATE_TimeComponent.js +19 -19
  294. package/es/PRIVATE_TruncatingLink.js +16 -16
  295. package/es/PRIVATE_VisOverview.js +16 -16
  296. package/es/PRIVATE_VisStatusMessage.js +5 -5
  297. package/es/PRIVATE_VisTabularDatatip.js +4 -4
  298. package/es/{Popup-992b6c27.js → Popup-22d51095.js} +10 -10
  299. package/es/{Popup-992b6c27.js.map → Popup-22d51095.js.map} +1 -1
  300. package/es/ProgressButtonLabelLayout-69549cf9.js +3 -3
  301. package/es/{ProgressCircle-46084d0b.js → ProgressCircle-bce87dad.js} +2 -2
  302. package/es/{ProgressCircle-46084d0b.js.map → ProgressCircle-bce87dad.js.map} +1 -1
  303. package/es/RadioIconVariants.styles.css +3 -3
  304. package/es/RadioIconVariants.styles2.css +3 -3
  305. package/es/RadioItem-94909632.js +6 -6
  306. package/es/ReadonlyTextFieldInput-106ce959.js +1 -1
  307. package/es/{ReferenceLineArea-53129f72.js → ReferenceLineArea-cc72b070.js} +3 -3
  308. package/es/{ReferenceLineArea-53129f72.js.map → ReferenceLineArea-cc72b070.js.map} +1 -1
  309. package/es/RevealToggleIcon-2d622d8f.js +1 -1
  310. package/es/{SectionedContent-30e5bf98.js → SectionedContent-897e9c4e.js} +5 -5
  311. package/es/{SectionedContent-30e5bf98.js.map → SectionedContent-897e9c4e.js.map} +1 -1
  312. package/es/SegmentStyles.styles.css +9 -12
  313. package/es/SegmentStyles.styles2.css +12 -9
  314. package/es/SelectMenuGroupContext-aa1fe822.js +6 -6
  315. package/es/SelectMobileFieldInput-0a7c968c.js +8 -8
  316. package/es/{SelectorAll-de7ba2e1.js → SelectorAll-3d39196b.js} +5 -5
  317. package/es/{SelectorAll-de7ba2e1.js.map → SelectorAll-3d39196b.js.map} +1 -1
  318. package/es/Sheet-f9f8a4a4.js +2 -2
  319. package/es/SortControl-1044fcd9.js +3 -3
  320. package/es/SplitMenuButtonTheme.styles.css +4 -4
  321. package/es/SplitMenuButtonTheme.styles2.css +4 -4
  322. package/es/StyledCard-77623731.js +1 -1
  323. package/es/{StyledDatePickerButton-f3971567.js → StyledDatePickerButton-78f2f6e8.js} +2 -8
  324. package/es/StyledDatePickerButton-78f2f6e8.js.map +1 -0
  325. package/es/StyledDatePickerButtonStyles.styles.css +17 -0
  326. package/es/{StyledLabelValueLayout-bb05f474.js → StyledLabelValueLayout-bddfb884.js} +2 -2
  327. package/es/{StyledLabelValueLayout-bb05f474.js.map → StyledLabelValueLayout-bddfb884.js.map} +1 -1
  328. package/es/StyledSwitch-dbf29d95.js +2 -2
  329. package/es/StyledTextField-7605d76a.js +5 -5
  330. package/es/Submenu-cbd77756.js +1 -1
  331. package/es/{TabBar-10488830.js → TabBar-67ca442c.js} +9 -7
  332. package/es/{TabBar-10488830.js.map → TabBar-67ca442c.js.map} +1 -1
  333. package/es/TabBarContextMenu-c3326d67.js +2 -2
  334. package/es/TabBarLayout-9b67d1b6.js +1 -1
  335. package/es/{TabBarLinkItem-a9c1072b.js → TabBarLinkItem-e7be54fa.js} +2 -2
  336. package/es/{TabBarLinkItem-a9c1072b.js.map → TabBarLinkItem-e7be54fa.js.map} +1 -1
  337. package/es/Table-2f197c6a.js +11 -11
  338. package/es/TableColGroup-d74bd4f5.js +1 -1
  339. package/es/TextField-7884fcd7.js +3 -3
  340. package/es/Theme-redwood/theme.css +396 -396
  341. package/es/Theme-stable/theme.css +467 -467
  342. package/es/TimeComponentCanvas2D-cfb0066d.js +6 -6
  343. package/es/ToggleButton-bb69cf10.js +1 -1
  344. package/es/TrainVariants.styles.css +6 -6
  345. package/es/TrainVariants.styles2.css +6 -6
  346. package/es/TruncatingLink-298c6343.js +4 -4
  347. package/es/TruncatingText-1bf00351.js +1 -1
  348. package/es/UNSAFE_AccordionItemMultiple.js +18 -18
  349. package/es/UNSAFE_AccordionItemSingle.js +18 -18
  350. package/es/UNSAFE_ActionCard.js +2 -2
  351. package/es/UNSAFE_BarChart.js +35 -35
  352. package/es/UNSAFE_BareButton.js +2 -2
  353. package/es/UNSAFE_BaseButton.js +5 -5
  354. package/es/UNSAFE_Button.js +6 -6
  355. package/es/UNSAFE_ButtonSet.js +4 -4
  356. package/es/UNSAFE_ButtonSetButton.js +5 -5
  357. package/es/UNSAFE_ButtonSetIconButton.js +17 -17
  358. package/es/UNSAFE_ButtonSetItem.js +18 -18
  359. package/es/UNSAFE_ButtonSetMultiple.js +4 -4
  360. package/es/UNSAFE_ButtonSetSingle.js +4 -4
  361. package/es/UNSAFE_Card.js +3 -3
  362. package/es/UNSAFE_CardFlexView.js +23 -23
  363. package/es/UNSAFE_CardGridView.js +23 -23
  364. package/es/UNSAFE_Center.js +5 -5
  365. package/es/UNSAFE_Checkbox.js +25 -25
  366. package/es/UNSAFE_CheckboxItem.js +27 -27
  367. package/es/UNSAFE_CheckboxRadioField.js +4 -4
  368. package/es/UNSAFE_CheckboxSet.js +26 -26
  369. package/es/UNSAFE_Chip.js +2 -2
  370. package/es/UNSAFE_Collapsible.js +18 -18
  371. package/es/UNSAFE_ColorPalette.js +19 -19
  372. package/es/UNSAFE_ColorPicker.js +21 -21
  373. package/es/UNSAFE_ColorSwatch.js +17 -17
  374. package/es/UNSAFE_ComboChart.js +35 -35
  375. package/es/UNSAFE_ComponentMessage.js +20 -20
  376. package/es/UNSAFE_ContainerDiagram/themes/DiagramStyles.css.js +1 -1
  377. package/es/UNSAFE_ContainerDiagram.js +29 -29
  378. package/es/UNSAFE_ConveyorBelt.js +18 -18
  379. package/es/UNSAFE_DatePicker.js +28 -28
  380. package/es/UNSAFE_Diagram/themes/DiagramStyles.css.js +1 -1
  381. package/es/UNSAFE_Diagram.js +29 -29
  382. package/es/UNSAFE_Dialog.js +22 -22
  383. package/es/UNSAFE_DragHandle.js +17 -17
  384. package/es/UNSAFE_DrawerLayout.js +12 -12
  385. package/es/UNSAFE_DrawerPopup.js +11 -11
  386. package/es/UNSAFE_Dropdown.js +15 -15
  387. package/es/UNSAFE_Environment.js +4 -4
  388. package/es/UNSAFE_ExpandableList.js +25 -25
  389. package/es/UNSAFE_FilePicker.js +4 -4
  390. package/es/UNSAFE_FlatTreeView.js +39 -39
  391. package/es/UNSAFE_Flex.js +4 -4
  392. package/es/UNSAFE_Floating.js +11 -11
  393. package/es/UNSAFE_FormLayout.js +2 -2
  394. package/es/UNSAFE_Gantt.js +23 -23
  395. package/es/UNSAFE_Grid.js +4 -4
  396. package/es/UNSAFE_HighlightText.js +4 -4
  397. package/es/UNSAFE_Icon.js +16 -16
  398. package/es/UNSAFE_IconButton.js +17 -17
  399. package/es/UNSAFE_IconMenuButton.js +25 -25
  400. package/es/UNSAFE_IconProgressButton.js +21 -21
  401. package/es/UNSAFE_IconToggleButton.js +17 -17
  402. package/es/UNSAFE_Indexer.js +19 -19
  403. package/es/UNSAFE_InlineSelectSingle.js +32 -32
  404. package/es/UNSAFE_InputColor.js +32 -32
  405. package/es/UNSAFE_InputDateMask/themes/SegmentStyles.css.js +1 -1
  406. package/es/UNSAFE_InputDateMask.js +27 -27
  407. package/es/UNSAFE_InputDatePicker.js +38 -38
  408. package/es/UNSAFE_InputPassword.js +26 -26
  409. package/es/UNSAFE_InputSensitiveText.js +27 -27
  410. package/es/UNSAFE_InputText.js +28 -28
  411. package/es/UNSAFE_InputTimeMask/themes/SegmentStyles.css.js +1 -1
  412. package/es/UNSAFE_InputTimeMask.js +27 -27
  413. package/es/UNSAFE_Label.js +25 -25
  414. package/es/UNSAFE_LabelValueLayout.js +4 -4
  415. package/es/UNSAFE_LabelledLink.js +27 -27
  416. package/es/UNSAFE_Layer.js +8 -8
  417. package/es/UNSAFE_Legend.js +27 -27
  418. package/es/UNSAFE_LineAreaChart.js +35 -35
  419. package/es/UNSAFE_Link.js +2 -2
  420. package/es/UNSAFE_ListItemLayout.js +4 -4
  421. package/es/UNSAFE_ListView.js +74 -74
  422. package/es/UNSAFE_LiveRegion.js +4 -4
  423. package/es/UNSAFE_Menu.js +26 -26
  424. package/es/UNSAFE_MenuButton.js +25 -25
  425. package/es/UNSAFE_MessageBanner.js +20 -20
  426. package/es/UNSAFE_MessageToast.js +22 -22
  427. package/es/UNSAFE_MeterBar.js +16 -16
  428. package/es/UNSAFE_MeterCircle.js +17 -17
  429. package/es/UNSAFE_Modal.js +8 -8
  430. package/es/UNSAFE_NavigationList.js +40 -40
  431. package/es/UNSAFE_NavigationListCommon.js +20 -20
  432. package/es/UNSAFE_NumberInputText.js +28 -28
  433. package/es/UNSAFE_OverflowTabBar.js +40 -40
  434. package/es/UNSAFE_PictoChart.js +25 -25
  435. package/es/UNSAFE_PieChart.js +26 -26
  436. package/es/UNSAFE_Popup.js +18 -18
  437. package/es/UNSAFE_ProgressBar.js +4 -4
  438. package/es/UNSAFE_ProgressButton.js +21 -21
  439. package/es/UNSAFE_ProgressButtonLabelLayout.js +10 -10
  440. package/es/UNSAFE_ProgressCircle.js +4 -4
  441. package/es/UNSAFE_RadioItem/themes/redwood/RadioIconTheme.js +1 -1
  442. package/es/UNSAFE_RadioItem/themes/redwood/RadioIconVariants.css.js +1 -1
  443. package/es/UNSAFE_RadioItem/themes/stable/RadioIconTheme.js +1 -1
  444. package/es/UNSAFE_RadioItem/themes/stable/RadioIconVariants.css.js +1 -1
  445. package/es/UNSAFE_RadioItem.js +26 -26
  446. package/es/UNSAFE_RadioSet.js +27 -27
  447. package/es/UNSAFE_RatingGauge.js +18 -18
  448. package/es/UNSAFE_ReorderableTabBar.js +39 -39
  449. package/es/UNSAFE_RichCheckboxSet.js +28 -28
  450. package/es/UNSAFE_RichRadioSet.js +29 -29
  451. package/es/UNSAFE_RichSelectionItem.js +31 -31
  452. package/es/UNSAFE_ScatterChart.js +35 -35
  453. package/es/UNSAFE_SectionalLegend.js +27 -27
  454. package/es/UNSAFE_SelectMultiple.js +35 -35
  455. package/es/UNSAFE_SelectSingle.js +34 -34
  456. package/es/UNSAFE_SelectionCard.js +3 -3
  457. package/es/UNSAFE_Selector.js +17 -17
  458. package/es/UNSAFE_SelectorAll.js +19 -19
  459. package/es/UNSAFE_Sheet.js +11 -11
  460. package/es/UNSAFE_SortControl.js +20 -20
  461. package/es/UNSAFE_SplitMenuButton/themes/redwood/SplitMenuButtonTheme.css.js +1 -1
  462. package/es/UNSAFE_SplitMenuButton/themes/stable/SplitMenuButtonTheme.css.js +1 -1
  463. package/es/UNSAFE_SplitMenuButton.js +26 -26
  464. package/es/UNSAFE_Switch.js +26 -26
  465. package/es/UNSAFE_TabBar.js +41 -41
  466. package/es/UNSAFE_TabBarCommon.js +33 -33
  467. package/es/UNSAFE_TabBarMixed.js +40 -40
  468. package/es/UNSAFE_TableView.js +35 -35
  469. package/es/UNSAFE_TagCloud.js +26 -26
  470. package/es/UNSAFE_TextArea.js +237 -117
  471. package/es/UNSAFE_TextArea.js.map +1 -1
  472. package/es/UNSAFE_TextAreaAutosize.js +28 -28
  473. package/es/UNSAFE_TextField.js +20 -20
  474. package/es/UNSAFE_ToggleButton.js +5 -5
  475. package/es/UNSAFE_Toolbar.js +4 -4
  476. package/es/UNSAFE_Train/themes/redwood/TrainTheme.js +1 -1
  477. package/es/UNSAFE_Train/themes/redwood/TrainVariants.css.js +1 -1
  478. package/es/UNSAFE_Train/themes/stable/TrainTheme.js +1 -1
  479. package/es/UNSAFE_Train/themes/stable/TrainVariants.css.js +1 -1
  480. package/es/UNSAFE_Train.js +18 -18
  481. package/es/UNSAFE_TruncatingBadge.js +17 -17
  482. package/es/UNSAFE_TruncatingText.js +17 -17
  483. package/es/UNSAFE_UserAssistance.js +26 -26
  484. package/es/UNSAFE_View.js +7 -7
  485. package/es/UNSAFE_VirtualizedListView.js +21 -21
  486. package/es/UNSAFE_VisInvalidDataMessage.js +6 -6
  487. package/es/UNSAFE_VisNoDataMessage.js +6 -6
  488. package/es/UNSAFE_VisProgressiveLoader.js +5 -5
  489. package/es/UNSAFE_WindowOverlay.js +4 -4
  490. package/es/{View-5bdd9b3c.js → View-818f2f31.js} +5 -5
  491. package/es/{View-5bdd9b3c.js.map → View-818f2f31.js.map} +1 -1
  492. package/es/{VisStatusMessage-e2d629bb.js → VisStatusMessage-09c532e3.js} +2 -2
  493. package/es/{VisStatusMessage-e2d629bb.js.map → VisStatusMessage-09c532e3.js.map} +1 -1
  494. package/es/{VisTabularDatatip-85b00c1b.js → VisTabularDatatip-f45069f1.js} +2 -2
  495. package/es/{VisTabularDatatip-85b00c1b.js.map → VisTabularDatatip-f45069f1.js.map} +1 -1
  496. package/es/{WindowOverlay-7264c44a.js → WindowOverlay-467c2d12.js} +2 -2
  497. package/es/{WindowOverlay-7264c44a.js.map → WindowOverlay-467c2d12.js.map} +1 -1
  498. package/es/{YearsGridView-cac4710a.js → YearsGridView-5286a756.js} +5 -5
  499. package/es/{YearsGridView-cac4710a.js.map → YearsGridView-5286a756.js.map} +1 -1
  500. package/es/hoc/PRIVATE_withDirectionIcon.js +4 -4
  501. package/es/hoc/PRIVATE_withThemeIcon.js +3 -3
  502. package/es/hoc/UNSAFE_withThemeProps.js +3 -3
  503. package/es/hooks/PRIVATE_useChartContextMenu.js +23 -23
  504. package/es/hooks/PRIVATE_useChartDatatip.js +14 -14
  505. package/es/hooks/PRIVATE_useChartEvents.js +19 -19
  506. package/es/hooks/PRIVATE_useChartMarquee.js +19 -19
  507. package/es/hooks/PRIVATE_useCollectionFocusRing.js +17 -17
  508. package/es/hooks/PRIVATE_useCssVars.js +7 -7
  509. package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
  510. package/es/hooks/PRIVATE_useDatatip.js +12 -12
  511. package/es/hooks/PRIVATE_useDetectHorizontalOverflow.js +16 -16
  512. package/es/hooks/PRIVATE_useFloating.js +4 -4
  513. package/es/hooks/PRIVATE_useItemAction.js +17 -17
  514. package/es/hooks/PRIVATE_useListCommon.js +19 -19
  515. package/es/hooks/PRIVATE_useOutsideMousedown.js +9 -9
  516. package/es/hooks/PRIVATE_useRadioFocusManager.js +4 -4
  517. package/es/hooks/PRIVATE_useReorderable.js +19 -19
  518. package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  519. package/es/hooks/PRIVATE_useSelection.js +4 -4
  520. package/es/hooks/PRIVATE_useTabBar.js +26 -26
  521. package/es/hooks/PRIVATE_useTabbableModeSet.js +17 -17
  522. package/es/hooks/PRIVATE_useTooltipOnTruncation.js +17 -17
  523. package/es/hooks/PRIVATE_useVisContextMenu.js +23 -23
  524. package/es/hooks/PRIVATE_useVisDragModeControls.js +19 -19
  525. package/es/hooks/PRIVATE_useVisEvents.js +4 -4
  526. package/es/hooks/PRIVATE_useVisMeterEvents.js +14 -14
  527. package/es/hooks/PRIVATE_useVisSelection.js +15 -15
  528. package/es/hooks/UNSAFE_useBareButton.js +2 -2
  529. package/es/hooks/UNSAFE_useColorScheme.js +3 -3
  530. package/es/hooks/UNSAFE_useCurrentBgColor.js +2 -2
  531. package/es/hooks/UNSAFE_useDensity.js +3 -3
  532. package/es/hooks/UNSAFE_useHiddenTestMethod.js +3 -3
  533. package/es/hooks/UNSAFE_useOutsideClick.js +8 -8
  534. package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  535. package/es/hooks/UNSAFE_useScale.js +3 -3
  536. package/es/hooks/UNSAFE_useTestId.js +3 -3
  537. package/es/hooks/UNSAFE_useTheme.js +3 -3
  538. package/es/hooks/UNSAFE_useThemeInterpolations.js +6 -6
  539. package/es/hooks/UNSAFE_useTooltip.js +17 -17
  540. package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
  541. package/es/hooks/UNSAFE_useUser.js +3 -3
  542. package/es/{popupUtils-51366a29.js → popupUtils-7774330e.js} +2 -2
  543. package/es/{popupUtils-51366a29.js.map → popupUtils-7774330e.js.map} +1 -1
  544. package/es/{tooltipUtils-af0abd38.js → tooltipUtils-90fb656f.js} +5 -5
  545. package/es/{tooltipUtils-af0abd38.js.map → tooltipUtils-90fb656f.js.map} +1 -1
  546. package/es/useBareButton-ff4bd21e.js +1 -1
  547. package/es/useCellNavigation-0565b6dd.js +1 -1
  548. package/es/useChartContextMenu-5de82cd7.js +2 -2
  549. package/es/{useChartDatatip-8dd22b71.js → useChartDatatip-cba78e0f.js} +4 -4
  550. package/es/{useChartDatatip-8dd22b71.js.map → useChartDatatip-cba78e0f.js.map} +1 -1
  551. package/es/{useColorScheme-c4f6caab.js → useColorScheme-67245285.js} +2 -2
  552. package/es/{useColorScheme-c4f6caab.js.map → useColorScheme-67245285.js.map} +1 -1
  553. package/es/useContextMenu-730d6c12.js +2 -2
  554. package/es/{useCssVars-bc2527ac.js → useCssVars-048a52d8.js} +5 -5
  555. package/es/{useCssVars-bc2527ac.js.map → useCssVars-048a52d8.js.map} +1 -1
  556. package/es/{useCurrentKey-5f865bbd.js → useCurrentKey-38e5f097.js} +2 -2
  557. package/es/{useCurrentKey-5f865bbd.js.map → useCurrentKey-38e5f097.js.map} +1 -1
  558. package/es/{useDatatip-4895a07a.js → useDatatip-ef5c47a7.js} +4 -4
  559. package/es/{useDatatip-4895a07a.js.map → useDatatip-ef5c47a7.js.map} +1 -1
  560. package/es/{useDensity-1acb0153.js → useDensity-969273f3.js} +2 -2
  561. package/es/{useDensity-1acb0153.js.map → useDensity-969273f3.js.map} +1 -1
  562. package/es/useDisplayValue-5bbf2830.js +5 -5
  563. package/es/{useExpandCollapse-5739cfd2.js → useExpandCollapse-51f9bb4b.js} +2 -2
  564. package/es/{useExpandCollapse-5739cfd2.js.map → useExpandCollapse-51f9bb4b.js.map} +1 -1
  565. package/es/{useFloating-b9d680f7.js → useFloating-c74a7f54.js} +2 -2
  566. package/es/{useFloating-b9d680f7.js.map → useFloating-c74a7f54.js.map} +1 -1
  567. package/es/{useHiddenTestMethod-f3f25093.js → useHiddenTestMethod-ec7b3989.js} +2 -2
  568. package/es/{useHiddenTestMethod-f3f25093.js.map → useHiddenTestMethod-ec7b3989.js.map} +1 -1
  569. package/es/{useKeyboardEvents-9aae7ea3.js → useKeyboardEvents-a1495728.js} +2 -2
  570. package/es/{useKeyboardEvents-9aae7ea3.js.map → useKeyboardEvents-a1495728.js.map} +1 -1
  571. package/es/useLegendContextMenu-a678b26f.js +4 -4
  572. package/es/{useMeterDatatip-538a4d53.js → useMeterDatatip-f61ca3e0.js} +3 -3
  573. package/es/{useMeterDatatip-538a4d53.js.map → useMeterDatatip-f61ca3e0.js.map} +1 -1
  574. package/es/useNavigation-b257c33a.js +1 -1
  575. package/es/{useOutsideClick-b777a43e.js → useOutsideClick-01f3d3e1.js} +2 -2
  576. package/es/{useOutsideClick-b777a43e.js.map → useOutsideClick-01f3d3e1.js.map} +1 -1
  577. package/es/{useOutsideMousedown-c45c22c0.js → useOutsideMousedown-e0866d58.js} +2 -2
  578. package/es/{useOutsideMousedown-c45c22c0.js.map → useOutsideMousedown-e0866d58.js.map} +1 -1
  579. package/es/{usePopupAnimation-96d2bc83.js → usePopupAnimation-7c5db425.js} +2 -2
  580. package/es/{usePopupAnimation-96d2bc83.js.map → usePopupAnimation-7c5db425.js.map} +1 -1
  581. package/es/{usePrefixSuffix-f981b65f.js → usePrefixSuffix-95fc00fd.js} +2 -2
  582. package/es/{usePrefixSuffix-f981b65f.js.map → usePrefixSuffix-95fc00fd.js.map} +1 -1
  583. package/es/{useRadioFocusManager-36eb283e.js → useRadioFocusManager-d9eecfb4.js} +2 -2
  584. package/es/{useRadioFocusManager-36eb283e.js.map → useRadioFocusManager-d9eecfb4.js.map} +1 -1
  585. package/es/{useReorderableItem-857636b7.js → useReorderableItem-06bd7a7b.js} +3 -3
  586. package/es/{useReorderableItem-857636b7.js.map → useReorderableItem-06bd7a7b.js.map} +1 -1
  587. package/es/{useRovingTabIndexContainer-5992e107.js → useRovingTabIndexContainer-c0356f5d.js} +2 -2
  588. package/es/{useRovingTabIndexContainer-5992e107.js.map → useRovingTabIndexContainer-c0356f5d.js.map} +1 -1
  589. package/es/{useScale-434ad939.js → useScale-93490e54.js} +2 -2
  590. package/es/{useScale-434ad939.js.map → useScale-93490e54.js.map} +1 -1
  591. package/es/useSelectCommon-309d0f07.js +5 -5
  592. package/es/{useSelectDrill-f669e729.js → useSelectDrill-2f855daa.js} +3 -3
  593. package/es/{useSelectDrill-f669e729.js.map → useSelectDrill-2f855daa.js.map} +1 -1
  594. package/es/{useSelection-82bec039.js → useSelection-10ed8060.js} +6 -6
  595. package/es/{useSelection-82bec039.js.map → useSelection-10ed8060.js.map} +1 -1
  596. package/es/{useSelection-65134722.js → useSelection-d6fefa3d.js} +2 -2
  597. package/es/{useSelection-65134722.js.map → useSelection-d6fefa3d.js.map} +1 -1
  598. package/es/useTabBar-c5558e77.js +3 -3
  599. package/es/{useTestId-f24ac480.js → useTestId-ab1bede6.js} +2 -2
  600. package/es/{useTestId-f24ac480.js.map → useTestId-ab1bede6.js.map} +1 -1
  601. package/es/useTextAreaAltEnter-ac460f4c.js +61 -0
  602. package/{amd/useTextAreaAltEnter-32272da6.js.map → es/useTextAreaAltEnter-ac460f4c.js.map} +1 -1
  603. package/es/{useTheme-0e7497db.js → useTheme-c2cfbc29.js} +2 -2
  604. package/es/{useTheme-0e7497db.js.map → useTheme-c2cfbc29.js.map} +1 -1
  605. package/es/{useThemeInterpolations-e144e8ec.js → useThemeInterpolations-5f358139.js} +5 -5
  606. package/es/{useThemeInterpolations-e144e8ec.js.map → useThemeInterpolations-5f358139.js.map} +1 -1
  607. package/es/{useTooltip-94af94d4.js → useTooltip-ab739df0.js} +2 -2
  608. package/es/{useTooltip-94af94d4.js.map → useTooltip-ab739df0.js.map} +1 -1
  609. package/es/{useTooltipControlled-f2cfa454.js → useTooltipControlled-b7f30aee.js} +5 -5
  610. package/es/{useTooltipControlled-f2cfa454.js.map → useTooltipControlled-b7f30aee.js.map} +1 -1
  611. package/es/{useTooltipOnTruncation-94282e75.js → useTooltipOnTruncation-31afc3f2.js} +4 -4
  612. package/es/{useTooltipOnTruncation-94282e75.js.map → useTooltipOnTruncation-31afc3f2.js.map} +1 -1
  613. package/es/{useTranslationBundle-4822502f.js → useTranslationBundle-bc6e0896.js} +2 -2
  614. package/es/{useTranslationBundle-4822502f.js.map → useTranslationBundle-bc6e0896.js.map} +1 -1
  615. package/es/{useUser-06d34d19.js → useUser-e543b73c.js} +2 -2
  616. package/es/{useUser-06d34d19.js.map → useUser-e543b73c.js.map} +1 -1
  617. package/es/useVisDragModeControls-af64848c.js +1 -1
  618. package/es/{useVisEvents-256dee29.js → useVisEvents-0edc925f.js} +2 -2
  619. package/es/{useVisEvents-256dee29.js.map → useVisEvents-0edc925f.js.map} +1 -1
  620. package/es/utils/PRIVATE_collectionUtils.js +17 -17
  621. package/es/utils/PRIVATE_tabBarUtils.js +17 -17
  622. package/es/utils/PRIVATE_tooltipUtils.js +14 -14
  623. package/es/utils/PRIVATE_visTestUtils.js +4 -4
  624. package/es/utils/UNSAFE_popupUtils.js +8 -8
  625. package/es/{withDirectionIcon-a8d84a3d.js → withDirectionIcon-b725a6d7.js} +2 -2
  626. package/es/{withDirectionIcon-a8d84a3d.js.map → withDirectionIcon-b725a6d7.js.map} +1 -1
  627. package/es/withThemeProps-dbd4fedf.js +2 -2
  628. package/package.json +2 -2
  629. package/amd/BaseCardView-b8119561.js +0 -2
  630. package/amd/BaseTabBarItem-03c91d3f.js +0 -2
  631. package/amd/BaseTabBarItem-03c91d3f.js.map +0 -1
  632. package/amd/CardFlexView-aa2f3de8.js +0 -2
  633. package/amd/CardGridView-85f90c75.js +0 -2
  634. package/amd/ColorPicker-141fa49d.js +0 -2
  635. package/amd/ListView-2678b2af.js +0 -2
  636. package/amd/ReorderableTabBar-46683bcb.js +0 -2
  637. package/amd/StyledDatePickerButton-b664f4f0.js +0 -2
  638. package/amd/StyledDatePickerButton-b664f4f0.js.map +0 -1
  639. package/amd/TabBar-fcebb560.js +0 -2
  640. package/amd/TabBarItem-224bc6b3.js +0 -2
  641. package/amd/TabBarLinkItem-57587dbd.js +0 -2
  642. package/amd/TabBarMixed-8cc4b4ed.js +0 -2
  643. package/amd/TextArea-4a3b8b56.js +0 -2
  644. package/amd/TextArea-4a3b8b56.js.map +0 -1
  645. package/amd/TextAreaAutosize-3a13ebb2.js +0 -2
  646. package/amd/useTextAreaAltEnter-32272da6.js +0 -2
  647. package/cjs/CheckboxSetContext-c62db26d.js +0 -12
  648. package/cjs/CheckboxSetContext-c62db26d.js.map +0 -1
  649. package/cjs/OverflowTabBarItem-2c967a89.js.map +0 -1
  650. package/cjs/StyledDatePickerButton-cf4e4dc0.js.map +0 -1
  651. package/es/OverflowTabBarItem-6966fbc7.js.map +0 -1
  652. package/es/StyledDatePickerButton-f3971567.js.map +0 -1
  653. package/es/TextArea-93ce78a7.js +0 -225
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact', 'preact/compat', 'preact/hooks', './HiddenAccessible-037ef42d', './LiveRegion-dbefb95b', './TabBar-de723fbc', './mergeInterpolations-9ede4cf7', './flexitem-5db48325', './collectionUtils-77dc5fa1', './useUser-08901aba', './LayerHost-0b288129', './useReorderableItem-7b4b2c3d', './ReorderableContext-6d10a1b7', './UNSAFE_ReorderableTabBar/themes/ReorderableTabBarItemStyles.css', './keys-4755c121', './classNames-08d99695', 'css!./DragAndDropStyles.styles.css', './StyledCheckbox-368fed68', 'css!./SelectorStyles.styles.css', './CollectionInteractionContext-0b4ed98b', 'css!./ReorderableItemStyles.styles.css'], (function(e,r,t,s,a,o,l,i,d,n,c,y,b,m,u,f,R,g,x,v,p,I,h){"use strict";const S='[role="tab"]';function j({children:e,dragKey:t,setDragKey:s,onReorder:o,layout:l,rootRef:i,isFirstItem:b,isLastItem:u}){const x=a.useRef(null),v=a.useCallback((()=>x?.current?.querySelector(S)),[]),p=a.useCallback((e=>{e.dataTransfer?.setData("text/tabbar-item-key",c.getKey(v())+"")}),[v]),{direction:I}=y.useUser(),h="rtl"===I,j=d.mergeInterpolations([...Object.values(n.flexitemInterpolations)])({flex:"stretch"===l?"1 0 auto":"0 0 auto"}),{rootProps:D,isDragged:C,overlayZoneBeforeProps:F,overlayZoneAfterProps:K}=m.useReorderableItem({isDisabled:!o,dragKey:t,setDragKey:s,onReorder:o,rootRef:i,ref:x,getItem:v,setTransferData:p,itemStyles:{itemOverlayFront:f.styles.itemOverlayFront,itemOverlayRear:f.styles.itemOverlayRear,itemDragger:f.styles.itemDragger},itemSelector:S}),O=g.classNames([F?.class,!h&&b&&f.styles.itemOverlayFrontFirst,h&&u&&f.styles.itemOverlayFrontFirst]),k=g.classNames([K?.class,!h&&u&&f.styles.itemOverlayRearLast,h&&b&&f.styles.itemOverlayRearLast]);return r.jsxs("div",{...D,draggable:!!o,"data-oj-draggable":o?"":void 0,style:j,children:[e,!C&&R.isKeyDefined(t)&&r.jsxs(r.Fragment,{children:[r.jsx("div",{...F,class:O}),r.jsx("div",{...K,class:k})]})]})}const D=s.forwardRef((({"aria-label":e,"aria-labelledby":s,children:d,layout:n="stretch",display:c="standard",size:y="md",edge:b="top",selection:f,onSelect:R,onRemove:g,onReorder:x,contextMenuConfig:v,testId:p},I)=>{const h=a.useRef(null),[D,C]=a.useState(void 0),F=t.toChildArray(d),K="stacked"===c?{display:c}:{display:c,size:y},{reorderProps:O,reorderContext:k,reorderInstructionsId:L,reorderStatus:T,reorderInstructions:A}=m.useReorderable({onReorder:x,rootRef:h,itemSelector:S}),B={currentItemKey:k.currentItemKey,onReorder:x};return r.jsxs("div",{ref:h,...O,children:[r.jsx(u.ReorderableContext.Provider,{value:B,children:r.jsx(i.TabBar,{ref:I,"aria-label":e,"aria-labelledby":s,layout:n,edge:b,selection:f,onSelect:R,onRemove:g,testId:p,...K,"aria-describedby":L,contextMenuConfig:v,children:F.map(((e,t)=>r.jsx(j,{dragKey:D,setDragKey:C,onReorder:x,layout:n,rootRef:h,isFirstItem:0===t,isLastItem:t===F.length-1,children:e})))})}),r.jsx("span",{id:L,children:r.jsx(o.HiddenAccessible,{children:A})}),r.jsx(l.LiveRegion,{children:T})]})}));e.ReorderableTabBar=D}));
2
+ //# sourceMappingURL=ReorderableTabBar-0c69bfd4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReorderableTabBar-46683bcb.js","sources":["../../src/UNSAFE_ReorderableTabBar/ReorderableTabBarItem.tsx","../../src/UNSAFE_ReorderableTabBar/ReorderableTabBar.tsx"],"sourcesContent":["import { useRef, useCallback } from 'preact/hooks';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { getKey } from '../utils/PRIVATE_collectionUtils';\nimport { useReorderableItem } from '../hooks/PRIVATE_useReorderable';\nimport { ReorderableItemProps } from '../UNSAFE_Collection/Reorderable.types';\nimport { styles } from './themes/ReorderableTabBarItemStyles.css';\nimport { isKeyDefined } from '../utils/UNSAFE_keys';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { classNames } from '#utils/UNSAFE_classNames';\n\nexport const ITEM_SELECTOR = '[role=\"tab\"]';\n\ntype ReorderableTabBarItem<K extends string | number> = ReorderableItemProps<K> & {\n layout: 'stretch' | 'condense' | undefined;\n isFirstItem?: boolean;\n isLastItem?: boolean;\n};\n\n/**\n * A private item that will be used by ReorderableTabBar, location TBD (could be moved to PRIVATE_TabBar)\n */\nexport function ReorderableTabBarItem<K extends string | number>({\n children,\n dragKey,\n setDragKey,\n onReorder,\n layout,\n rootRef,\n isFirstItem,\n isLastItem\n}: ReorderableTabBarItem<K>) {\n const tabBarItemRef = useRef<HTMLDivElement | null>(null);\n const getItem = useCallback(\n () => tabBarItemRef?.current?.querySelector(ITEM_SELECTOR) as HTMLElement,\n []\n );\n const setTransferData = useCallback(\n (event: DragEvent) => {\n event.dataTransfer?.setData('text/tabbar-item-key', getKey(getItem()) + '');\n },\n [getItem]\n );\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n // Flex dimensions\n const styleInterpolations = mergeInterpolations<FlexitemProps>([\n ...Object.values(flexitemInterpolations)\n ]);\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const { rootProps, isDragged, overlayZoneBeforeProps, overlayZoneAfterProps } =\n useReorderableItem({\n isDisabled: onReorder ? false : true,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n ref: tabBarItemRef,\n getItem,\n setTransferData,\n itemStyles: {\n itemOverlayFront: styles.itemOverlayFront,\n itemOverlayRear: styles.itemOverlayRear,\n itemDragger: styles.itemDragger\n },\n itemSelector: ITEM_SELECTOR\n });\n\n const overlayZoneBeforeClass = classNames([\n overlayZoneBeforeProps?.class,\n // Set the classes specific to isFirstItem/isLastItem which is passed down from reorderable tabbar which evaluated while mapping the children\n !isRtl && isFirstItem && styles.itemOverlayFrontFirst,\n isRtl && isLastItem && styles.itemOverlayFrontFirst\n ]);\n\n const overlayZoneAfterClass = classNames([\n overlayZoneAfterProps?.class,\n // Set the classes specific to isFirstItem/isLastItem which is passed down from reorderable tabbar which evaluated while mapping the children\n !isRtl && isLastItem && styles.itemOverlayRearLast,\n isRtl && isFirstItem && styles.itemOverlayRearLast\n ]);\n\n return (\n <div\n {...rootProps}\n draggable={onReorder ? true : false}\n data-oj-draggable={onReorder ? '' : undefined}\n style={flexDimensions}>\n {children}\n {!isDragged && isKeyDefined(dragKey) && (\n <>\n <div {...overlayZoneBeforeProps} class={overlayZoneBeforeClass}></div>\n <div {...overlayZoneAfterProps} class={overlayZoneAfterClass}></div>\n </>\n )}\n </div>\n );\n}\n","import { toChildArray, Ref, ContextType } from 'preact';\nimport { forwardRef } from 'preact/compat';\nimport { useRef, useState } from 'preact/hooks';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { TabBar, TabBarProps } from '../UNSAFE_TabBar';\nimport { ReorderableTabBarItem, ITEM_SELECTOR } from './ReorderableTabBarItem';\nimport { ReorderableContext, useReorderable } from '../hooks/PRIVATE_useReorderable';\nimport { ReorderProps } from '../UNSAFE_Collection/Reorderable.types';\nimport { TabBarContextMenuConfig } from '../UNSAFE_TabBarCommon';\n\nexport type ReorderableTabBarProps<K extends string | number> = Omit<\n TabBarProps<K>,\n 'aria-describedby'\n> &\n ReorderProps<K> &\n TestIdProps;\n\ntype TabBarReorderContextProps = ContextType<typeof ReorderableContext>;\n/**\n * A component that allows reordering of tabs within a TabBar.\n */\nexport const ReorderableTabBar = forwardRef(\n <K extends string | number>(\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n children,\n layout = 'stretch',\n display = 'standard',\n size = 'md',\n edge = 'top',\n selection,\n onSelect,\n onRemove,\n onReorder,\n contextMenuConfig,\n testId\n }: ReorderableTabBarProps<K>,\n ref: Ref<HTMLDivElement>\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const [dragKey, setDragKey] = useState<K | undefined>(undefined);\n const childrenArray = toChildArray(children);\n\n const displayStackProps = {\n display: display\n };\n const displayNonStackProps = {\n display: display,\n size: size\n };\n const displayProps = display === 'stacked' ? displayStackProps : displayNonStackProps;\n\n const {\n reorderProps,\n reorderContext,\n reorderInstructionsId,\n reorderStatus,\n reorderInstructions\n } = useReorderable({\n onReorder,\n rootRef,\n itemSelector: ITEM_SELECTOR\n });\n\n const tabBarReorderContext = {\n currentItemKey: reorderContext.currentItemKey,\n onReorder: onReorder as TabBarReorderContextProps['onReorder']\n };\n\n return (\n <div ref={rootRef} {...reorderProps}>\n <ReorderableContext.Provider value={tabBarReorderContext}>\n <TabBar\n ref={ref}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n layout={layout}\n edge={edge}\n selection={selection}\n onSelect={onSelect}\n onRemove={onRemove}\n testId={testId}\n {...displayProps}\n aria-describedby={reorderInstructionsId}\n contextMenuConfig={contextMenuConfig as TabBarContextMenuConfig<string | number>}>\n {childrenArray.map((child, idx) => {\n return (\n <ReorderableTabBarItem\n dragKey={dragKey}\n setDragKey={setDragKey}\n onReorder={onReorder}\n layout={layout}\n rootRef={rootRef}\n isFirstItem={idx === 0}\n isLastItem={idx === childrenArray.length - 1}>\n {child}\n </ReorderableTabBarItem>\n );\n })}\n </TabBar>\n </ReorderableContext.Provider>\n <span id={reorderInstructionsId}>\n <HiddenAccessible>{reorderInstructions}</HiddenAccessible>\n </span>\n <LiveRegion>{reorderStatus}</LiveRegion>\n </div>\n );\n }\n);\n"],"names":["ITEM_SELECTOR","ReorderableTabBarItem","children","dragKey","setDragKey","onReorder","layout","rootRef","isFirstItem","isLastItem","tabBarItemRef","useRef","getItem","useCallback","current","querySelector","setTransferData","event","dataTransfer","setData","getKey","direction","useUser","isRtl","flexDimensions","mergeInterpolations","Object","values","flexitemInterpolations","styleInterpolations","flex","rootProps","isDragged","overlayZoneBeforeProps","overlayZoneAfterProps","useReorderableItem","isDisabled","ref","itemStyles","itemOverlayFront","styles","itemOverlayRear","itemDragger","itemSelector","overlayZoneBeforeClass","classNames","class","itemOverlayFrontFirst","overlayZoneAfterClass","itemOverlayRearLast","_jsxs","jsxs","draggable","undefined","style","isKeyDefined","_Fragment","_jsx","jsx","ReorderableTabBar","forwardRef","ariaLabel","ariaLabelledby","display","size","edge","selection","onSelect","onRemove","contextMenuConfig","testId","useState","childrenArray","toChildArray","displayProps","reorderProps","reorderContext","reorderInstructionsId","reorderStatus","reorderInstructions","useReorderable","tabBarReorderContext","currentItemKey","ReorderableContext","Provider","value","TabBar","map","child","idx","length","id","HiddenAccessible","LiveRegion"],"mappings":"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"}
1
+ {"version":3,"file":"ReorderableTabBar-0c69bfd4.js","sources":["../../src/UNSAFE_ReorderableTabBar/ReorderableTabBarItem.tsx","../../src/UNSAFE_ReorderableTabBar/ReorderableTabBar.tsx"],"sourcesContent":["import { useRef, useCallback } from 'preact/hooks';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { flexitemInterpolations } from '../utils/UNSAFE_interpolations/flexitem';\nimport type { FlexitemProps } from '../utils/UNSAFE_interpolations/flexitem';\nimport { getKey } from '../utils/PRIVATE_collectionUtils';\nimport { useReorderableItem } from '../hooks/PRIVATE_useReorderable';\nimport { ReorderableItemProps } from '../UNSAFE_Collection/Reorderable.types';\nimport { styles } from './themes/ReorderableTabBarItemStyles.css';\nimport { isKeyDefined } from '../utils/UNSAFE_keys';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { classNames } from '#utils/UNSAFE_classNames';\n\nexport const ITEM_SELECTOR = '[role=\"tab\"]';\n\ntype ReorderableTabBarItem<K extends string | number> = ReorderableItemProps<K> & {\n layout: 'stretch' | 'condense' | undefined;\n isFirstItem?: boolean;\n isLastItem?: boolean;\n};\n\n/**\n * A private item that will be used by ReorderableTabBar, location TBD (could be moved to PRIVATE_TabBar)\n */\nexport function ReorderableTabBarItem<K extends string | number>({\n children,\n dragKey,\n setDragKey,\n onReorder,\n layout,\n rootRef,\n isFirstItem,\n isLastItem\n}: ReorderableTabBarItem<K>) {\n const tabBarItemRef = useRef<HTMLDivElement | null>(null);\n const getItem = useCallback(\n () => tabBarItemRef?.current?.querySelector(ITEM_SELECTOR) as HTMLElement,\n []\n );\n const setTransferData = useCallback(\n (event: DragEvent) => {\n event.dataTransfer?.setData('text/tabbar-item-key', getKey(getItem()) + '');\n },\n [getItem]\n );\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n // Flex dimensions\n const styleInterpolations = mergeInterpolations<FlexitemProps>([\n ...Object.values(flexitemInterpolations)\n ]);\n const flexDimensions = styleInterpolations({\n flex: layout === 'stretch' ? '1 0 auto' : '0 0 auto'\n });\n\n const { rootProps, isDragged, overlayZoneBeforeProps, overlayZoneAfterProps } =\n useReorderableItem({\n isDisabled: onReorder ? false : true,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n ref: tabBarItemRef,\n getItem,\n setTransferData,\n itemStyles: {\n itemOverlayFront: styles.itemOverlayFront,\n itemOverlayRear: styles.itemOverlayRear,\n itemDragger: styles.itemDragger\n },\n itemSelector: ITEM_SELECTOR\n });\n\n const overlayZoneBeforeClass = classNames([\n overlayZoneBeforeProps?.class,\n // Set the classes specific to isFirstItem/isLastItem which is passed down from reorderable tabbar which evaluated while mapping the children\n !isRtl && isFirstItem && styles.itemOverlayFrontFirst,\n isRtl && isLastItem && styles.itemOverlayFrontFirst\n ]);\n\n const overlayZoneAfterClass = classNames([\n overlayZoneAfterProps?.class,\n // Set the classes specific to isFirstItem/isLastItem which is passed down from reorderable tabbar which evaluated while mapping the children\n !isRtl && isLastItem && styles.itemOverlayRearLast,\n isRtl && isFirstItem && styles.itemOverlayRearLast\n ]);\n\n return (\n <div\n {...rootProps}\n draggable={onReorder ? true : false}\n data-oj-draggable={onReorder ? '' : undefined}\n style={flexDimensions}>\n {children}\n {!isDragged && isKeyDefined(dragKey) && (\n <>\n <div {...overlayZoneBeforeProps} class={overlayZoneBeforeClass}></div>\n <div {...overlayZoneAfterProps} class={overlayZoneAfterClass}></div>\n </>\n )}\n </div>\n );\n}\n","import { toChildArray, Ref, ContextType } from 'preact';\nimport { forwardRef } from 'preact/compat';\nimport { useRef, useState } from 'preact/hooks';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { TabBar, TabBarProps } from '../UNSAFE_TabBar';\nimport { ReorderableTabBarItem, ITEM_SELECTOR } from './ReorderableTabBarItem';\nimport { ReorderableContext, useReorderable } from '../hooks/PRIVATE_useReorderable';\nimport { ReorderProps } from '../UNSAFE_Collection/Reorderable.types';\nimport { TabBarContextMenuConfig } from '../UNSAFE_TabBarCommon';\n\nexport type ReorderableTabBarProps<K extends string | number> = Omit<\n TabBarProps<K>,\n 'aria-describedby'\n> &\n ReorderProps<K> &\n TestIdProps;\n\ntype TabBarReorderContextProps = ContextType<typeof ReorderableContext>;\n/**\n * A component that allows reordering of tabs within a TabBar.\n */\nexport const ReorderableTabBar = forwardRef(\n <K extends string | number>(\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n children,\n layout = 'stretch',\n display = 'standard',\n size = 'md',\n edge = 'top',\n selection,\n onSelect,\n onRemove,\n onReorder,\n contextMenuConfig,\n testId\n }: ReorderableTabBarProps<K>,\n ref: Ref<HTMLDivElement>\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const [dragKey, setDragKey] = useState<K | undefined>(undefined);\n const childrenArray = toChildArray(children);\n\n const displayStackProps = {\n display: display\n };\n const displayNonStackProps = {\n display: display,\n size: size\n };\n const displayProps = display === 'stacked' ? displayStackProps : displayNonStackProps;\n\n const {\n reorderProps,\n reorderContext,\n reorderInstructionsId,\n reorderStatus,\n reorderInstructions\n } = useReorderable({\n onReorder,\n rootRef,\n itemSelector: ITEM_SELECTOR\n });\n\n const tabBarReorderContext = {\n currentItemKey: reorderContext.currentItemKey,\n onReorder: onReorder as TabBarReorderContextProps['onReorder']\n };\n\n return (\n <div ref={rootRef} {...reorderProps}>\n <ReorderableContext.Provider value={tabBarReorderContext}>\n <TabBar\n ref={ref}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n layout={layout}\n edge={edge}\n selection={selection}\n onSelect={onSelect}\n onRemove={onRemove}\n testId={testId}\n {...displayProps}\n aria-describedby={reorderInstructionsId}\n contextMenuConfig={contextMenuConfig as TabBarContextMenuConfig<string | number>}>\n {childrenArray.map((child, idx) => {\n return (\n <ReorderableTabBarItem\n dragKey={dragKey}\n setDragKey={setDragKey}\n onReorder={onReorder}\n layout={layout}\n rootRef={rootRef}\n isFirstItem={idx === 0}\n isLastItem={idx === childrenArray.length - 1}>\n {child}\n </ReorderableTabBarItem>\n );\n })}\n </TabBar>\n </ReorderableContext.Provider>\n <span id={reorderInstructionsId}>\n <HiddenAccessible>{reorderInstructions}</HiddenAccessible>\n </span>\n <LiveRegion>{reorderStatus}</LiveRegion>\n </div>\n );\n }\n);\n"],"names":["ITEM_SELECTOR","ReorderableTabBarItem","children","dragKey","setDragKey","onReorder","layout","rootRef","isFirstItem","isLastItem","tabBarItemRef","useRef","getItem","useCallback","current","querySelector","setTransferData","event","dataTransfer","setData","getKey","direction","useUser","isRtl","flexDimensions","mergeInterpolations","Object","values","flexitemInterpolations","styleInterpolations","flex","rootProps","isDragged","overlayZoneBeforeProps","overlayZoneAfterProps","useReorderableItem","isDisabled","ref","itemStyles","itemOverlayFront","styles","itemOverlayRear","itemDragger","itemSelector","overlayZoneBeforeClass","classNames","class","itemOverlayFrontFirst","overlayZoneAfterClass","itemOverlayRearLast","_jsxs","jsxs","draggable","undefined","style","isKeyDefined","_Fragment","_jsx","jsx","ReorderableTabBar","forwardRef","ariaLabel","ariaLabelledby","display","size","edge","selection","onSelect","onRemove","contextMenuConfig","testId","useState","childrenArray","toChildArray","displayProps","reorderProps","reorderContext","reorderInstructionsId","reorderStatus","reorderInstructions","useReorderable","tabBarReorderContext","currentItemKey","ReorderableContext","Provider","value","TabBar","map","child","idx","length","id","HiddenAccessible","LiveRegion"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './PRIVATE_StyledDatePickerButton/themes/StyledDatePickerButtonStyles.css', './classNames-08d99695', 'preact/compat'], (function(e,t,i,s,d){"use strict";const n=d.forwardRef((({isActivable:e=!1,isReadonly:d=!1,isAdjacentMonth:n=!1,isDimmed:a=!1,isHidden:o=!1,isHoverable:c=!1,isRestricted:r=!1,isSelected:l=!1,isToday:m=!1,tabIndex:v,label:b,variant:u,...y},h=null)=>{const S=i.multiVariantStyles({active:e?"isActivable":"notActiveable",dimmed:a?"isDimmed":"notDimmed",hidden:o?"isHidden":"notHidden",hover:c?"isHoverable":"notHoverable",adjacentMonth:n?"isAdjacentMonth":"notAdjacentMonth",restricted:r?"isRestricted":"notRestricted",selected:l?"isSelected":"notSelected",today:m?"isToday":"notToday",variant:u}),A=s.classNames([S]);return t.jsx("span",{role:d?void 0:"button",class:A,ref:h,tabIndex:v,...y,children:b})}));e.StyledDatePickerButton=n}));
2
+ //# sourceMappingURL=StyledDatePickerButton-bceb62e1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StyledDatePickerButton-bceb62e1.js","sources":["../../src/PRIVATE_StyledDatePickerButton/StyledDatePickerButton.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { multiVariantStyles } from './themes/StyledDatePickerButtonStyles.css';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { forwardRef } from 'preact/compat';\nimport type { Ref, JSX } from 'preact';\nimport type { UnpackSignals } from '@oracle/oraclejet-internal-utilities/attributeUtils';\n\ntype IntrinsicProps = Pick<UnpackSignals<JSX.HTMLAttributes<HTMLElement>>, 'onClick' | 'onKeyDown'>;\n\ntype AriaProps = {\n 'aria-label'?: UnpackSignals<JSX.AriaAttributes>['aria-label'];\n 'aria-disabled'?: UnpackSignals<JSX.AriaAttributes>['aria-disabled'];\n};\n\ntype Props = IntrinsicProps &\n AriaProps & {\n /**\n * Specifies that the button appears activated when the user activates the StyledDatePickerButton.\n * When true, adds the :active selector to the button so that it can show active styling.\n * Combine this property with the other properties to get the styling you want.\n */\n isActivable?: boolean;\n /**\n * Specifies the styling of the button to look dimmed.\n * Combine this property with the other properties to get the styling you want.\n */\n isDimmed?: boolean;\n /**\n * Specifies the styling of the button to look hidden, that is, visibility: hidden.\n */\n isHidden?: boolean;\n /**\n * Specifies that the button appears hovered when the user hovers over the StyledDatePickerButton.\n * When true, adds the :hover selector to the button so that it can show hover styling.\n * Combine this property with the other properties to get the styling you want.\n */\n isHoverable?: boolean;\n /**\n * Specifies the styling of the button to look like a day that is adjacent to the current month.\n * Combine this property with the other properties to get the styling you want.\n */\n isAdjacentMonth?: boolean;\n /**\n * Specifies the role of the day cell to be 'button' when isReadonly is false, or no role when isReadonly is true.\n * This helps the screenreader.\n */\n isReadonly?: boolean;\n /**\n * Specifies the styling of the button to look like it is restricted.\n * Combine this property with the other properties to get the styling you want.\n */\n isRestricted?: boolean;\n /**\n * Specifies the styling of the button to look like it is selected.\n * Combine this property with the other properties to get the styling you want.\n */\n isSelected?: boolean;\n /**\n * Specifies the styling of the button to look like it is today.\n * Combine this property with the other properties to get the styling you want.\n */\n isToday?: boolean;\n /**\n * Specifies the label of the day button. This will be the day of the month.\n */\n label: string;\n /**\n * Specifies the tabIndex.\n */\n tabIndex?: 0 | -1;\n /**\n * Specifies the visual variant for the StyledDatePickerButton.\n */\n variant?: 'day' | 'month' | 'year';\n };\n\n/**\n * StyledDatePickerButton is a controlled component that displays a stylized span for a button that goes into a DatePicker.\n */\nconst StyledDatePickerButton = forwardRef(\n (\n {\n isActivable = false,\n isReadonly = false,\n isAdjacentMonth = false,\n isDimmed = false,\n isHidden = false,\n isHoverable = false,\n isRestricted = false,\n isSelected = false,\n isToday = false,\n tabIndex,\n label,\n variant,\n ...props\n }: Props,\n ref: Ref<HTMLSpanElement> = null\n ) => {\n // The multiVariantStyles function is defined in StyledDatePickerButtonStyles.css.ts,\n // using the recipe utility provided by @vanilla-extract/recipes.\n // This function is used to merge the base styles, variants, and compound variants\n // into a single set of styles for components based on the component's properties.\n const variantClasses = multiVariantStyles({\n active: isActivable ? 'isActivable' : 'notActiveable',\n dimmed: isDimmed ? 'isDimmed' : 'notDimmed',\n hidden: isHidden ? 'isHidden' : 'notHidden',\n hover: isHoverable ? 'isHoverable' : 'notHoverable',\n adjacentMonth: isAdjacentMonth ? 'isAdjacentMonth' : 'notAdjacentMonth',\n restricted: isRestricted ? 'isRestricted' : 'notRestricted',\n selected: isSelected ? 'isSelected' : 'notSelected',\n today: isToday ? 'isToday' : 'notToday',\n variant\n });\n\n const classes = classNames([variantClasses]);\n return (\n <span\n role={!isReadonly ? 'button' : undefined}\n class={classes}\n ref={ref}\n tabIndex={tabIndex}\n {...props}>\n {label}\n </span>\n );\n }\n);\n\nexport { StyledDatePickerButton };\n"],"names":["StyledDatePickerButton","forwardRef","isActivable","isReadonly","isAdjacentMonth","isDimmed","isHidden","isHoverable","isRestricted","isSelected","isToday","tabIndex","label","variant","props","ref","variantClasses","multiVariantStyles","active","dimmed","hidden","hover","adjacentMonth","restricted","selected","today","classes","classNames","_jsx","role","undefined","class","children"],"mappings":"6LAsFM,MAAAA,EAAyBC,EAAAA,YAC7B,EAEIC,eAAc,EACdC,cAAa,EACbC,mBAAkB,EAClBC,YAAW,EACXC,YAAW,EACXC,eAAc,EACdC,gBAAe,EACfC,cAAa,EACbC,WAAU,EACVC,WACAC,QACAC,aACGC,GAELC,EAA4B,QAM5B,MAAMC,EAAiBC,EAAAA,mBAAmB,CACxCC,OAAQhB,EAAc,cAAgB,gBACtCiB,OAAQd,EAAW,WAAa,YAChCe,OAAQd,EAAW,WAAa,YAChCe,MAAOd,EAAc,cAAgB,eACrCe,cAAelB,EAAkB,kBAAoB,mBACrDmB,WAAYf,EAAe,eAAiB,gBAC5CgB,SAAUf,EAAa,aAAe,cACtCgB,MAAOf,EAAU,UAAY,WAC7BG,YAGIa,EAAUC,EAAAA,WAAW,CAACX,IAC5B,OACEY,EAAAA,IAAA,OAAA,CACEC,KAAO1B,OAAwB2B,EAAX,SACpBC,MAAOL,EACPX,IAAKA,EACLJ,SAAUA,KACNG,EAAKkB,SACRpB,GAEH"}
@@ -8,6 +8,23 @@
8
8
  width: var(--oj-c-base-button-sizes-sm-height);
9
9
  font-weight: var(--oj-c-body-md-font-weight-regular);
10
10
  font-size: var(--oj-c-body-md-font-size);
11
+ cursor: var(--oj-c-cursor-clickable);
12
+ border-style: solid;
13
+ border-width: 1px;
14
+ overflow-x: hidden;
15
+ overflow-y: hidden;
16
+ text-overflow: ellipsis;
17
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
18
+ white-space: nowrap;
19
+ border-radius: var(--oj-c-base-button-border-radius);
20
+ height: var(--oj-c-base-button-sizes-sm-height);
21
+ min-width: var(--oj-c-base-button-sizes-sm-height);
22
+ }
23
+ .StyledDatePickerButtonStyles_baseStyle__38ano0:focus-visible {
24
+ outline-style: dotted;
25
+ outline-offset: 1px;
26
+ outline-width: 1px;
27
+ outline-color: var(--oj-c-border-keyboard-focus);
11
28
  }
12
29
  .StyledDatePickerButtonStyles_multiVariantStyles_hidden_isHidden__38ano7 {
13
30
  visibility: hidden;
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './HiddenAccessible-037ef42d', './LiveRegion-dbefb95b', 'preact/hooks', './LayerHost-0b288129', 'preact/compat', './UNSAFE_Text/themes/TextStyles.css', './Flex-4b81b412', './useTabBarContext-15a23bb6', './flexitem-5db48325', './dimensions-95c0c920', './boxalignment-8d80de7e', './logger-0f873e29', 'css!./TabBarItemStyles.styles.css', 'module', './UNSAFE_TabBarCommon/themes/redwood/TabBarItemVariants.css', 'css!./BadgeStyles.styles.css', 'module', './UNSAFE_Badge/themes/redwood/BadgeVariants.css', './ConveyorBeltContext-d8653090', './BusyStateContext-ab2c549a', './TabbableModeContext-a9c97640', 'preact', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'css!./IconStyle.styles.css', './BaseButton-5a0ad529', './ButtonLabelLayout-6464870c', './Floating-c3558e44', 'css!./LayerStyles.styles.css', './keyboardUtils-fb6219eb', './tabbableUtils-f95361a6', './CollectionInteractionContext-0b4ed98b', 'css!./dropdownStyles.styles.css', './Sheet-1d02491d', 'css!./OverflowTabBarItemStyles.styles.css', './TabBarLayout-4eb6c732', './StyledCheckbox-368fed68', 'css!./SelectorStyles.styles.css', './UNSAFE_TabBar/themes/TabBarStyles.css', './useTabBar-b05edef0', './TabBarContextMenu-6a167e27'], (function(e,t,s,a,o,n,l,r,c,d,i,b,y,x,B,u,m,T,h,S,p,C,f,g,F,U,A,M,j,v,w,E,I,L,N,_,k,R,H,P,V,z,D,$,O){"use strict";const q=l.forwardRef((({children:e,layout:o="stretch",display:n="standard",size:l="md",edge:r="top",selection:c,onSelect:i,onRemove:b,"aria-describedby":y,"aria-label":x,"aria-labelledby":B,contextMenuConfig:u},m)=>{const T=m,{rootProps:h,tabBarContext:S,menuProps:p,contextMenuContext:C,contextMenuDescription:f,contextMenuDescriptionId:g,accStatusInfo:F}=$.useTabBar({class:D.styles.tabBarBase,edge:r,onRemove:b,onSelect:i,ref:T,selection:c,size:l,children:e,contextMenuConfig:u}),U=null!=u;return t.jsxs(t.Fragment,{children:[t.jsx(d.TabBarContext.Provider,{value:S,children:t.jsx("div",{...h,"aria-label":x,"aria-labelledby":B,"aria-haspopup":null!=u,"aria-describedby":U&&g?y?`${y} ${g}`:g:y,children:t.jsx(P.TabBarLayout,{layout:o,display:n,children:e})})}),U&&g&&t.jsx("span",{id:g,children:t.jsx(s.HiddenAccessible,{children:f})}),U&&F&&t.jsx(a.LiveRegion,{children:F}),U&&t.jsx(O.TabBarContextMenu,{...p,contextMenuConfig:u,contextMenuContext:C})]})}));e.TabBar=q}));
2
+ //# sourceMappingURL=TabBar-de723fbc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar-fcebb560.js","sources":["../../src/UNSAFE_TabBar/TabBar.tsx"],"sourcesContent":["import type { ComponentChildren, Ref, RefObject } from 'preact';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { TabBarContext, TabBarLayout, TabBarContextMenuConfig } from '../UNSAFE_TabBarCommon';\nimport { styles } from './themes/TabBarStyles.css';\nimport { TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { useTabBar } from '../hooks/PRIVATE_useTabBar';\nimport { forwardRef } from 'preact/compat';\nimport { TabBarContextMenu } from './TabBarContextMenu';\nexport {\n TabBarItem,\n RemovableTabBarItem,\n OverflowTabBarItem,\n TabBarContext,\n useTabBarContext,\n TabBarLayout,\n useProgressiveTruncation,\n TabBarLinkItem\n} from '../UNSAFE_TabBarCommon';\n\n/**\n * type for payload of current key change event handler\n */\nexport type CurrentKeyDetail<K> = {\n value: K;\n};\n\n/**\n * type for payload of selection change event handler\n */\ntype SelectionDetail<K> = {\n value: K;\n};\n\n/**\n * type for payload of remove event handler\n */\ntype RemoveDetail<K> = {\n value: K;\n};\n\ntype DisplayProps =\n | {\n /**\n * Controls the content layout of the TabBarItem: 'standard' lays out the contents horizontally,\n *'icons' hides the label,\n */\n display?: 'standard' | 'icons';\n /**\n * The size indicates how tall the TabBarItem is rendered.\n * Note: It is not possible to specify 'size' when 'display=\"stacked\".\n */\n size?: 'md' | 'lg';\n }\n | {\n /**\n *'stacked' stacks the icon on top of the label.\n * Note: It is not possible to specify 'size' when 'display=\"stacked\".\n */\n display?: 'stacked';\n size?: 'never';\n };\n\nexport type TabBarProps<K extends string | number> = DisplayProps & {\n /**\n * A set of TabBarItem(s) that TabBar will hold\n */\n children: ComponentChildren;\n /**\n * Whether to stretch the tab bar items to occupy available space or to condense items\n */\n layout?: 'stretch' | 'condense';\n /**\n * The position of the TabBar. Valid Values: top and bottom.\n * 'top' is used when TabBar is placed on top of content section and the selection\n * indicator would be placed below the TabBarItem.\n * 'bottom' is used when TabBar is placed on bottom of content section and the selection\n * indicator would be placed above the TabBarItem.\n */\n edge?: 'top' | 'bottom';\n /**\n * Key of the selected item.\n */\n selection?: K;\n /**\n * Callback function to handle when user selects a tab.\n * The callback is also invoked when a user selects a tab that is already selected.\n */\n onSelect?: <K extends string | number>(detail: SelectionDetail<K>) => void;\n /**\n * Callback function to handle remove\n */\n onRemove?: <K extends string | number>(detail: RemoveDetail<K>) => void;\n /**\n * Accepts the ID of an element that provides instructions for interaction with the TabBar.\n */\n 'aria-describedby'?: string;\n /**\n * An aria-label which defines a string value that labels this TabBar.\n * Either aria-label or aria-labelledby should be specified in order to make TabBar accessible.\n */\n 'aria-label'?: string;\n\n /**\n * An aria-labelledby which identifies the element(s) that labels this TabBar.\n * Either aria-label or aria-labelledby should be specified in order to make TabBar accessible.\n */\n 'aria-labelledby'?: string;\n\n /**\n * Configuration used to specify a context menu.\n */\n contextMenuConfig?: TabBarContextMenuConfig<K>;\n};\n/**\n * A tab bar allows navigation between different content sections.\n */\nexport const TabBar = forwardRef(\n <K extends string | number>(\n {\n children,\n layout = 'stretch',\n display = 'standard',\n size = 'md',\n edge = 'top',\n selection,\n onSelect,\n onRemove,\n 'aria-describedby': ariaDescribedBy,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n contextMenuConfig\n }: TabBarProps<K> & TestIdProps,\n ref?: Ref<HTMLDivElement>\n ) => {\n const rootRef = ref as RefObject<HTMLDivElement>;\n\n const {\n rootProps,\n tabBarContext,\n menuProps,\n contextMenuContext,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo\n } = useTabBar({\n class: styles.tabBarBase,\n edge: edge,\n onRemove,\n onSelect,\n ref: rootRef,\n selection,\n size,\n children,\n contextMenuConfig\n });\n\n const isContextMenuAvailable = contextMenuConfig != null;\n\n return (\n <>\n <TabBarContext.Provider value={tabBarContext}>\n <div\n {...rootProps}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-haspopup={contextMenuConfig != null ? true : false}\n aria-describedby={\n isContextMenuAvailable && contextMenuDescriptionId\n ? ariaDescribedBy\n ? `${ariaDescribedBy} ${contextMenuDescriptionId}`\n : contextMenuDescriptionId\n : ariaDescribedBy\n }>\n <TabBarLayout layout={layout} display={display}>\n {children}\n </TabBarLayout>\n </div>\n </TabBarContext.Provider>\n {isContextMenuAvailable && contextMenuDescriptionId && (\n <span id={contextMenuDescriptionId}>\n <HiddenAccessible>{contextMenuDescription}</HiddenAccessible>\n </span>\n )}\n {isContextMenuAvailable && accStatusInfo && <LiveRegion>{accStatusInfo}</LiveRegion>}\n {isContextMenuAvailable && (\n <TabBarContextMenu\n {...menuProps}\n contextMenuConfig={contextMenuConfig}\n contextMenuContext={contextMenuContext!}\n />\n )}\n </>\n );\n }\n);\n"],"names":["TabBar","forwardRef","children","layout","display","size","edge","selection","onSelect","onRemove","ariaDescribedBy","ariaLabel","ariaLabelledby","contextMenuConfig","ref","rootRef","rootProps","tabBarContext","menuProps","contextMenuContext","contextMenuDescription","contextMenuDescriptionId","accStatusInfo","useTabBar","class","styles","tabBarBase","isContextMenuAvailable","_jsxs","jsxs","_Fragment","Fragment","_jsx","TabBarContext","Provider","value","jsx","TabBarLayout","id","HiddenAccessible","LiveRegion","TabBarContextMenu"],"mappings":"m9CAqHa,MAAAA,EAASC,EAAUA,YAC9B,EAEIC,WACAC,SAAS,UACTC,UAAU,WACVC,OAAO,KACPC,OAAO,MACPC,YACAC,WACAC,WACA,mBAAoBC,EACpB,aAAcC,EACd,kBAAmBC,EACnBC,qBAEFC,KAEA,MAAMC,EAAUD,GAEVE,UACJA,EAASC,cACTA,EAAaC,UACbA,EAASC,mBACTA,EAAkBC,uBAClBA,EAAsBC,yBACtBA,EAAwBC,cACxBA,GACEC,YAAU,CACZC,MAAOC,EAAMA,OAACC,WACdpB,KAAMA,EACNG,WACAD,WACAM,IAAKC,EACLR,YACAF,OACAH,WACAW,sBAGIc,EAA8C,MAArBd,EAE/B,OACEe,EAAAC,KAAAC,EAAAC,SAAA,CAAA7B,SAAA,CACE8B,EAAAA,IAACC,EAAAA,cAAcC,SAAQ,CAACC,MAAOlB,EAAaf,SAC1C8B,EACMI,IAAA,MAAA,IAAApB,eACQL,EAAS,kBACJC,EAAc,gBACK,MAArBC,EAEb,mBAAAc,GAA0BN,EACtBX,EACE,GAAGA,KAAmBW,IACtBA,EACFX,EAENR,SAAA8B,MAACK,EAAAA,aAAY,CAAClC,OAAQA,EAAQC,QAASA,EACpCF,SAAAA,QAINyB,GAA0BN,GACzBW,MAAM,OAAA,CAAAM,GAAIjB,EACRnB,SAAA8B,EAAAA,IAACO,EAAAA,iBAAkB,CAAArC,SAAAkB,MAGtBO,GAA0BL,GAAiBU,EAACI,IAAAI,aAAY,CAAAtC,SAAAoB,IACxDK,GACCK,EAAAA,IAACS,EAAiBA,kBACZ,IAAAvB,EACJL,kBAAmBA,EACnBM,mBAAoBA,MAI1B"}
1
+ {"version":3,"file":"TabBar-de723fbc.js","sources":["../../src/UNSAFE_TabBar/TabBar.tsx"],"sourcesContent":["import type { ComponentChildren, Ref, RefObject } from 'preact';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { TabBarContext, TabBarLayout, TabBarContextMenuConfig } from '../UNSAFE_TabBarCommon';\nimport { styles } from './themes/TabBarStyles.css';\nimport { TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { useTabBar } from '../hooks/PRIVATE_useTabBar';\nimport { forwardRef } from 'preact/compat';\nimport { TabBarContextMenu } from './TabBarContextMenu';\nexport {\n TabBarItem,\n RemovableTabBarItem,\n OverflowTabBarItem,\n TabBarContext,\n useTabBarContext,\n TabBarLayout,\n useProgressiveTruncation,\n TabBarLinkItem\n} from '../UNSAFE_TabBarCommon';\n\n/**\n * type for payload of current key change event handler\n */\nexport type CurrentKeyDetail<K> = {\n value: K;\n};\n\n/**\n * type for payload of selection change event handler\n */\ntype SelectionDetail<K> = {\n value: K;\n};\n\n/**\n * type for payload of remove event handler\n */\ntype RemoveDetail<K> = {\n value: K;\n};\n\ntype DisplayProps =\n | {\n /**\n * Controls the content layout of the TabBarItem: 'standard' lays out the contents horizontally,\n *'icons' hides the label,\n */\n display?: 'standard' | 'icons';\n /**\n * The size indicates how tall the TabBarItem is rendered.\n * Note: It is not possible to specify 'size' when 'display=\"stacked\".\n */\n size?: 'md' | 'lg';\n }\n | {\n /**\n *'stacked' stacks the icon on top of the label.\n * Note: It is not possible to specify 'size' when 'display=\"stacked\".\n */\n display?: 'stacked';\n size?: 'never';\n };\n\nexport type TabBarProps<K extends string | number> = DisplayProps & {\n /**\n * A set of TabBarItem(s) that TabBar will hold\n */\n children: ComponentChildren;\n /**\n * Whether to stretch the tab bar items to occupy available space or to condense items\n */\n layout?: 'stretch' | 'condense';\n /**\n * The position of the TabBar. Valid Values: top and bottom.\n * 'top' is used when TabBar is placed on top of content section and the selection\n * indicator would be placed below the TabBarItem.\n * 'bottom' is used when TabBar is placed on bottom of content section and the selection\n * indicator would be placed above the TabBarItem.\n */\n edge?: 'top' | 'bottom';\n /**\n * Key of the selected item.\n */\n selection?: K;\n /**\n * Callback function to handle when user selects a tab.\n * The callback is also invoked when a user selects a tab that is already selected.\n */\n onSelect?: <K extends string | number>(detail: SelectionDetail<K>) => void;\n /**\n * Callback function to handle remove\n */\n onRemove?: <K extends string | number>(detail: RemoveDetail<K>) => void;\n /**\n * Accepts the ID of an element that provides instructions for interaction with the TabBar.\n */\n 'aria-describedby'?: string;\n /**\n * An aria-label which defines a string value that labels this TabBar.\n * Either aria-label or aria-labelledby should be specified in order to make TabBar accessible.\n */\n 'aria-label'?: string;\n\n /**\n * An aria-labelledby which identifies the element(s) that labels this TabBar.\n * Either aria-label or aria-labelledby should be specified in order to make TabBar accessible.\n */\n 'aria-labelledby'?: string;\n\n /**\n * Configuration used to specify a context menu.\n */\n contextMenuConfig?: TabBarContextMenuConfig<K>;\n};\n/**\n * A tab bar allows navigation between different content sections.\n */\nexport const TabBar = forwardRef(\n <K extends string | number>(\n {\n children,\n layout = 'stretch',\n display = 'standard',\n size = 'md',\n edge = 'top',\n selection,\n onSelect,\n onRemove,\n 'aria-describedby': ariaDescribedBy,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n contextMenuConfig\n }: TabBarProps<K> & TestIdProps,\n ref?: Ref<HTMLDivElement>\n ) => {\n const rootRef = ref as RefObject<HTMLDivElement>;\n\n const {\n rootProps,\n tabBarContext,\n menuProps,\n contextMenuContext,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo\n } = useTabBar({\n class: styles.tabBarBase,\n edge: edge,\n onRemove,\n onSelect,\n ref: rootRef,\n selection,\n size,\n children,\n contextMenuConfig\n });\n\n const isContextMenuAvailable = contextMenuConfig != null;\n\n return (\n <>\n <TabBarContext.Provider value={tabBarContext}>\n <div\n {...rootProps}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-haspopup={contextMenuConfig != null ? true : false}\n aria-describedby={\n isContextMenuAvailable && contextMenuDescriptionId\n ? ariaDescribedBy\n ? `${ariaDescribedBy} ${contextMenuDescriptionId}`\n : contextMenuDescriptionId\n : ariaDescribedBy\n }>\n <TabBarLayout layout={layout} display={display}>\n {children}\n </TabBarLayout>\n </div>\n </TabBarContext.Provider>\n {isContextMenuAvailable && contextMenuDescriptionId && (\n <span id={contextMenuDescriptionId}>\n <HiddenAccessible>{contextMenuDescription}</HiddenAccessible>\n </span>\n )}\n {isContextMenuAvailable && accStatusInfo && <LiveRegion>{accStatusInfo}</LiveRegion>}\n {isContextMenuAvailable && (\n <TabBarContextMenu\n {...menuProps}\n contextMenuConfig={contextMenuConfig}\n contextMenuContext={contextMenuContext!}\n />\n )}\n </>\n );\n }\n);\n"],"names":["TabBar","forwardRef","children","layout","display","size","edge","selection","onSelect","onRemove","ariaDescribedBy","ariaLabel","ariaLabelledby","contextMenuConfig","ref","rootRef","rootProps","tabBarContext","menuProps","contextMenuContext","contextMenuDescription","contextMenuDescriptionId","accStatusInfo","useTabBar","class","styles","tabBarBase","isContextMenuAvailable","_jsxs","jsxs","_Fragment","Fragment","_jsx","TabBarContext","Provider","value","jsx","TabBarLayout","id","HiddenAccessible","LiveRegion","TabBarContextMenu"],"mappings":"ihDAqHa,MAAAA,EAASC,EAAUA,YAC9B,EAEIC,WACAC,SAAS,UACTC,UAAU,WACVC,OAAO,KACPC,OAAO,MACPC,YACAC,WACAC,WACA,mBAAoBC,EACpB,aAAcC,EACd,kBAAmBC,EACnBC,qBAEFC,KAEA,MAAMC,EAAUD,GAEVE,UACJA,EAASC,cACTA,EAAaC,UACbA,EAASC,mBACTA,EAAkBC,uBAClBA,EAAsBC,yBACtBA,EAAwBC,cACxBA,GACEC,YAAU,CACZC,MAAOC,EAAMA,OAACC,WACdpB,KAAMA,EACNG,WACAD,WACAM,IAAKC,EACLR,YACAF,OACAH,WACAW,sBAGIc,EAA8C,MAArBd,EAE/B,OACEe,EAAAC,KAAAC,EAAAC,SAAA,CAAA7B,SAAA,CACE8B,EAAAA,IAACC,EAAAA,cAAcC,SAAQ,CAACC,MAAOlB,EAAaf,SAC1C8B,EACMI,IAAA,MAAA,IAAApB,eACQL,EAAS,kBACJC,EAAc,gBACK,MAArBC,EAEb,mBAAAc,GAA0BN,EACtBX,EACE,GAAGA,KAAmBW,IACtBA,EACFX,EAENR,SAAA8B,MAACK,EAAAA,aAAY,CAAClC,OAAQA,EAAQC,QAASA,EACpCF,SAAAA,QAINyB,GAA0BN,GACzBW,MAAM,OAAA,CAAAM,GAAIjB,EACRnB,SAAA8B,EAAAA,IAACO,EAAAA,iBAAkB,CAAArC,SAAAkB,MAGtBO,GAA0BL,GAAiBU,EAACI,IAAAI,aAAY,CAAAtC,SAAAoB,IACxDK,GACCK,EAAAA,IAACS,EAAiBA,kBACZ,IAAAvB,EACJL,kBAAmBA,EACnBM,mBAAoBA,MAI1B"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './BaseTabBarItem-d7c2922b'], (function(e,a,t){"use strict";e.TabBarItem=function({itemKey:e,label:i,icon:r,badge:n,metadata:s,severity:b,labelMaxWidth:l,"aria-controls":c}){return a.jsx(t.BaseTabBarItem,{"aria-controls":c,itemKey:e,label:i,icon:r,badge:n,metadata:s,severity:b,labelMaxWidth:l})}}));
2
+ //# sourceMappingURL=TabBarItem-a39c5de3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarItem-224bc6b3.js","sources":["../../src/UNSAFE_TabBarCommon/TabBarItem.tsx"],"sourcesContent":["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"],"names":["itemKey","label","icon","badge","metadata","severity","labelMaxWidth","ariaControls","_jsx","jsx","BaseTabBarItem"],"mappings":"+GAgBM,UAAgDA,QACpDA,EAAOC,MACPA,EAAKC,KACLA,EAAIC,MACJA,EAAKC,SACLA,EAAQC,SACRA,EAAQC,cACRA,EACA,gBAAiBC,IAEjB,OACEC,EAAAC,IAACC,EAAcA,eAAA,CAAA,gBACEH,EACfP,QAASA,EACTC,MAAOA,EACPC,KAAMA,EACNC,MAAOA,EACPC,SAAUA,EACVC,SAAUA,EACVC,cAAeA,GAGrB"}
1
+ {"version":3,"file":"TabBarItem-a39c5de3.js","sources":["../../src/UNSAFE_TabBarCommon/TabBarItem.tsx"],"sourcesContent":["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"],"names":["itemKey","label","icon","badge","metadata","severity","labelMaxWidth","ariaControls","_jsx","jsx","BaseTabBarItem"],"mappings":"+GAgBM,UAAgDA,QACpDA,EAAOC,MACPA,EAAKC,KACLA,EAAIC,MACJA,EAAKC,SACLA,EAAQC,SACRA,EAAQC,cACRA,EACA,gBAAiBC,IAEjB,OACEC,EAAAC,IAACC,EAAcA,eAAA,CAAA,gBACEH,EACfP,QAASA,EACTC,MAAOA,EACPC,KAAMA,EACNC,MAAOA,EACPC,SAAUA,EACVC,SAAUA,EACVC,cAAeA,GAGrB"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './BaseTabBarItem-d7c2922b'], (function(e,a,t){"use strict";e.TabBarLinkItem=function({itemKey:e,icon:r,badge:i,metadata:n,severity:s,labelMaxWidth:b,href:l,label:c,"aria-controls":o}){return a.jsx(t.BaseTabBarItem,{"aria-controls":o,itemKey:e,label:c,icon:r,badge:i,metadata:n,severity:s,labelMaxWidth:b,href:l})}}));
2
+ //# sourceMappingURL=TabBarLinkItem-944b1e8d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarLinkItem-57587dbd.js","sources":["../../src/UNSAFE_TabBarCommon/TabBarLinkItem.tsx"],"sourcesContent":["import { BaseTabBarItem, BaseTabBarItemProps } from './BaseTabBarItem';\n\ntype Link = {\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 /**\n * Label of the TabBarLinkItem. For truncated labels this is the content\n * for tooltip text of the Tab.\n */\n label: string;\n};\nexport type TabBarLinkItemProps<K extends string | number> = Link &\n Pick<\n BaseTabBarItemProps<K>,\n 'itemKey' | 'icon' | 'badge' | 'metadata' | 'severity' | 'aria-controls' | 'labelMaxWidth'\n >;\n/**\n * TabBarLinkItem is used to render links in a TabBar. It allows to view the browser's built in link context menu to open the link in new browser tab.\n */\nexport function TabBarLinkItem<K extends string | number>({\n itemKey,\n icon,\n badge,\n metadata,\n severity,\n labelMaxWidth,\n href,\n label,\n 'aria-controls': ariaControls\n}: TabBarLinkItemProps<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 href={href}></BaseTabBarItem>\n );\n}\n"],"names":["itemKey","icon","badge","metadata","severity","labelMaxWidth","href","label","ariaControls","_jsx","jsx","BaseTabBarItem"],"mappings":"mHAqBM,UAAoDA,QACxDA,EAAOC,KACPA,EAAIC,MACJA,EAAKC,SACLA,EAAQC,SACRA,EAAQC,cACRA,EAAaC,KACbA,EAAIC,MACJA,EACA,gBAAiBC,IAEjB,OACEC,EAACC,IAAAC,iBACgB,CAAA,gBAAAH,EACfR,QAASA,EACTO,MAAOA,EACPN,KAAMA,EACNC,MAAOA,EACPC,SAAUA,EACVC,SAAUA,EACVC,cAAeA,EACfC,KAAMA,GAEZ"}
1
+ {"version":3,"file":"TabBarLinkItem-944b1e8d.js","sources":["../../src/UNSAFE_TabBarCommon/TabBarLinkItem.tsx"],"sourcesContent":["import { BaseTabBarItem, BaseTabBarItemProps } from './BaseTabBarItem';\n\ntype Link = {\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 /**\n * Label of the TabBarLinkItem. For truncated labels this is the content\n * for tooltip text of the Tab.\n */\n label: string;\n};\nexport type TabBarLinkItemProps<K extends string | number> = Link &\n Pick<\n BaseTabBarItemProps<K>,\n 'itemKey' | 'icon' | 'badge' | 'metadata' | 'severity' | 'aria-controls' | 'labelMaxWidth'\n >;\n/**\n * TabBarLinkItem is used to render links in a TabBar. It allows to view the browser's built in link context menu to open the link in new browser tab.\n */\nexport function TabBarLinkItem<K extends string | number>({\n itemKey,\n icon,\n badge,\n metadata,\n severity,\n labelMaxWidth,\n href,\n label,\n 'aria-controls': ariaControls\n}: TabBarLinkItemProps<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 href={href}></BaseTabBarItem>\n );\n}\n"],"names":["itemKey","icon","badge","metadata","severity","labelMaxWidth","href","label","ariaControls","_jsx","jsx","BaseTabBarItem"],"mappings":"mHAqBM,UAAoDA,QACxDA,EAAOC,KACPA,EAAIC,MACJA,EAAKC,SACLA,EAAQC,SACRA,EAAQC,cACRA,EAAaC,KACbA,EAAIC,MACJA,EACA,gBAAiBC,IAEjB,OACEC,EAACC,IAAAC,iBACgB,CAAA,gBAAAH,EACfR,QAASA,EACTO,MAAOA,EACPN,KAAMA,EACNC,MAAOA,EACPC,SAAUA,EACVC,SAAUA,EACVC,cAAeA,EACfC,KAAMA,GAEZ"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact/hooks', 'preact/compat', './LayerHost-0b288129', './UNSAFE_Text/themes/TextStyles.css', './Flex-4b81b412', './useTabBarContext-15a23bb6', './flexitem-5db48325', './dimensions-95c0c920', './boxalignment-8d80de7e', './logger-0f873e29', 'css!./TabBarItemStyles.styles.css', 'module', './UNSAFE_TabBarCommon/themes/redwood/TabBarItemVariants.css', 'css!./BadgeStyles.styles.css', 'module', './UNSAFE_Badge/themes/redwood/BadgeVariants.css', './ConveyorBeltContext-d8653090', './BusyStateContext-ab2c549a', './TabbableModeContext-a9c97640', 'preact', './mergeProps-bcfa6a92', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'css!./IconStyle.styles.css', './HiddenAccessible-037ef42d', './BaseButton-5a0ad529', './ButtonLabelLayout-6464870c', './Floating-c3558e44', 'css!./LayerStyles.styles.css', './keyboardUtils-fb6219eb', './tabbableUtils-f95361a6', './CollectionInteractionContext-0b4ed98b', 'css!./dropdownStyles.styles.css', './Sheet-1d02491d', 'css!./OverflowTabBarItemStyles.styles.css', './StyledCheckbox-368fed68', 'css!./SelectorStyles.styles.css', './clientUtils-f1eea2db', './UNSAFE_TabBarMixed/themes/TabBarMixedStyles.css', './useTabBar-b05edef0', './LiveRegion-dbefb95b', './TabBarContextMenu-6a167e27', './ConveyorBeltFocusContext-7d718341'], (function(e,t,s,o,a,n,r,l,c,i,b,d,u,m,x,y,B,T,C,f,h,S,p,g,M,v,F,A,I,U,E,k,w,R,_,j,N,P,L,H,V,D,K,O,z,q,G){"use strict";const J=o.forwardRef(((e,a)=>{const{children:n,onRemove:r,onSelect:c,selection:i,size:b,"aria-label":d,"aria-labelledby":u}=e,m=s.useRef(null),x=D.isMobile(),y=s.useMemo((()=>({itemsRenderer:e=>{if(e){if(null!=O.getItemAttribute(e.itemKey,m.current,O.REMOVABLE_ITEM_ATTRIBUTE)&&x){const s=e.defaultMenuItems;return t.jsx(t.Fragment,{children:s})}}return null}})),[]),{rootProps:B,tabBarContext:T,menuProps:C,contextMenuContext:f,contextMenuDescription:h,contextMenuDescriptionId:S,accStatusInfo:g}=(M={class:K.styles.tabBarBase,edge:"bottom",onRemove:r,onSelect:c,ref:m,selection:i,size:b,children:n,contextMenuConfig:y},O.useTabBar(M));var M;const v=null!=y&&x;o.useImperativeHandle(a,(()=>({focus:()=>{m.current&&m.current.focus()},blur:()=>{m.current&&m.current.blur()}})));const[F,A]=s.useState(!1),U=s.useCallback((()=>{m.current?.focus()}),[]),E=s.useCallback((()=>{A(!0)}),[]),k=s.useCallback((()=>{A(!1)}),[]),w=s.useCallback((e=>{"Tab"!==e.key||e.shiftKey||E?.()}),[E]),R=s.useCallback((()=>{k?.()}),[k]),_=s.useMemo((()=>({focusTabbarRoot:U,isSuppressOverflowFocus:F,beginTabPass:E,endTabPass:k})),[F,U,E,k]),j=p.mergeProps(B,{onKeyDown:w,onBlur:R});return t.jsxs(G.ConveyorBeltFocusContext.Provider,{value:_,children:[t.jsx(l.TabBarContext.Provider,{value:T,children:t.jsx("div",{"aria-label":d,"aria-labelledby":u,...j,children:n})}),v&&S&&h&&t.jsx("span",{id:S,children:t.jsx(I.HiddenAccessible,{children:h})}),v&&g&&t.jsx(z.LiveRegion,{children:g}),v&&t.jsx(q.TabBarContextMenu,{...C,contextMenuConfig:y,contextMenuContext:f})]})}));e.TabBarMixed=J}));
2
+ //# sourceMappingURL=TabBarMixed-cfd346bf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarMixed-8cc4b4ed.js","sources":["../../src/UNSAFE_TabBarMixed/TabBarMixed.tsx","../../src/UNSAFE_TabBarMixed/useTabBarMixed.ts"],"sourcesContent":["import type { ComponentChildren } from 'preact';\nimport { useMemo, useRef, useCallback, useState } from 'preact/hooks';\nimport { Ref } from 'preact';\nimport { forwardRef, useImperativeHandle } from 'preact/compat';\nimport { TabBarContext, TabBarContextMenuConfig } from '../UNSAFE_TabBarCommon';\nimport { isMobile } from '#utils/UNSAFE_clientUtils';\nimport { styles } from './themes/TabBarMixedStyles.css';\nimport { useTabBarMixed as useTabBar } from './useTabBarMixed';\nimport { REMOVABLE_ITEM_ATTRIBUTE, getItemAttribute } from '../hooks/PRIVATE_useTabBar/useTabBar';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { TabBarContextMenu } from '../UNSAFE_TabBar/TabBarContextMenu';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps/mergeProps';\nimport { ConveyorBeltFocusContext } from '../UNSAFE_ConveyorBelt';\n\ntype UseTabBarOptions = Parameters<typeof useTabBar>[0];\n\n/**\n * Component props expected to be pased to **TabBarMixed**.\n *\n * @see {@link TabBarMixed}\n */\ntype TabBarMixedProps<K extends string | number> = {\n /**\n * Component children that will be rendered within the **TabBarMixed**\n * root element.\n *\n * It is expected that **TabBarLayout** and **ConveyorBelt** elements are\n * provided. The same **TabBarItem**, **RemovableTabBarItem**,\n * and **OverflowTabBarItem** elements should also be used.\n */\n children?: ComponentChildren;\n /**\n * Callback fired when a tab item is removed.\n */\n onRemove?: UseTabBarOptions['onRemove'];\n /**\n * Callback fired when a tab item is selected.\n */\n onSelect?: UseTabBarOptions['onSelect'];\n /**\n * The item key of the selected tab item.\n */\n selection?: K;\n /**\n * The height of the the tab bar.\n *\n * @default \"md\"\n */\n size?: UseTabBarOptions['size'];\n /**\n * An aria-label which defines a string value that labels this TabBarMixed.\n * Either aria-label or aria-labelledby should be specified in order to make TabBarMixed accessible.\n */\n 'aria-label'?: string;\n\n /**\n * An aria-labelledby which identifies the element(s) that labels this TabBarMixed.\n * Either aria-label or aria-labelledby should be specified in order to make TabBarMixed accessible.\n */\n 'aria-labelledby'?: string;\n};\n\nexport type FocusableHandle = {\n focus: () => void;\n blur: () => void;\n};\n\n/**\n * A navigation component that enables horizontal navigation between distinct content with a mixture of static and dynamic tabs.\n *\n * @param {TabBarMixedProps} props TabBarMixed component props.\n * @returns {JSX.Element} TabBarMixed component element.\n */\nexport const TabBarMixed = forwardRef(\n <K extends string | number>(\n props: TabBarMixedProps<K>,\n focusHandleRef?: Ref<FocusableHandle>\n ) => {\n const {\n children,\n onRemove,\n onSelect,\n selection,\n size,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n\n const isMobileDevice = isMobile();\n const defaultContextMenuConfig = useMemo<TabBarContextMenuConfig<string | number>>(() => {\n return {\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, rootRef.current!, REMOVABLE_ITEM_ATTRIBUTE) != null;\n if (isRemovableItem && isMobileDevice) {\n const defaultItems = context.defaultMenuItems;\n return <>{defaultItems}</>;\n }\n }\n return null;\n }\n };\n }, []);\n\n const {\n rootProps,\n tabBarContext,\n menuProps,\n contextMenuContext,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo\n } = useTabBar({\n class: styles.tabBarBase,\n edge: 'bottom',\n onRemove,\n onSelect,\n ref: rootRef,\n selection,\n size,\n children,\n contextMenuConfig: defaultContextMenuConfig\n });\n\n const isContextMenuAvailable = defaultContextMenuConfig != null && isMobileDevice;\n //Allows to call focus on rootRef without having to expose it\n useImperativeHandle(focusHandleRef!, () => ({\n focus: () => {\n if (rootRef.current) {\n rootRef.current.focus();\n }\n },\n blur: () => {\n if (rootRef.current) {\n rootRef.current.blur();\n }\n }\n }));\n\n const [isSuppressOverflowFocus, setIsSuppressOverflowFocus] = useState(false);\n\n const focusTabbarRoot = useCallback(() => {\n rootRef.current?.focus();\n }, []);\n\n // Begin a short window where overflow div should not be focusable.\n const beginTabPass = useCallback(() => {\n setIsSuppressOverflowFocus(true);\n }, []);\n\n // End that window after focus moves away.\n const endTabPass = useCallback(() => {\n setIsSuppressOverflowFocus(false);\n }, []);\n\n const onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n // We only want to suppress overflow focus when the user is tabbing.\n if (e.key === 'Tab' && !e.shiftKey) {\n // Tell conveyor to make its overflow non-focusable (tabIndex = -1)\n beginTabPass?.();\n }\n },\n [beginTabPass]\n );\n\n const onBlur = useCallback(() => {\n // End that suppress overflow after focus moves away.\n endTabPass?.();\n }, [endTabPass]);\n\n const focusContext = useMemo(\n () => ({\n focusTabbarRoot,\n isSuppressOverflowFocus,\n beginTabPass,\n endTabPass\n }),\n [isSuppressOverflowFocus, focusTabbarRoot, beginTabPass, endTabPass]\n );\n\n const mergedRootProps = mergeProps(rootProps, { onKeyDown, onBlur });\n\n return (\n <ConveyorBeltFocusContext.Provider value={focusContext}>\n <TabBarContext.Provider value={tabBarContext}>\n <div aria-label={ariaLabel} aria-labelledby={ariaLabelledby} {...mergedRootProps}>\n {children}\n </div>\n </TabBarContext.Provider>\n {isContextMenuAvailable && contextMenuDescriptionId && contextMenuDescription && (\n <span id={contextMenuDescriptionId}>\n <HiddenAccessible>{contextMenuDescription}</HiddenAccessible>\n </span>\n )}\n {isContextMenuAvailable && accStatusInfo && <LiveRegion>{accStatusInfo}</LiveRegion>}\n {isContextMenuAvailable && (\n <TabBarContextMenu\n {...menuProps}\n contextMenuConfig={defaultContextMenuConfig}\n contextMenuContext={contextMenuContext!}\n />\n )}\n </ConveyorBeltFocusContext.Provider>\n );\n }\n);\n","import type { ComponentProps, ContextType, RefObject } from 'preact';\nimport type { TabBarContext, TabBarLayout } from '../UNSAFE_TabBarCommon';\nimport { TabBar } from '../UNSAFE_TabBar/TabBar';\nimport { useTabBar } from '../hooks/PRIVATE_useTabBar';\n\ntype TabBarContextValue = ContextType<typeof TabBarContext>;\n\nexport type useTabBarOptions = {\n class?: string;\n display?: TabBarContextValue['display'];\n edge?: 'bottom' | 'top';\n onRemove?: TabBarContextValue['onRemove'];\n onSelect?: TabBarContextValue['onSelect'];\n ref?: RefObject<HTMLDivElement>;\n selection?: TabBarContextValue['selection'];\n size?: TabBarContextValue['size'];\n children?: ComponentProps<typeof TabBarLayout>['children'];\n contextMenuConfig?: ComponentProps<typeof TabBar>['contextMenuConfig'];\n};\n\n/**\n * A thin wrapper around useTabBar hook\n */\nexport function useTabBarMixed(options: useTabBarOptions) {\n return useTabBar(options);\n}\n"],"names":["TabBarMixed","forwardRef","props","focusHandleRef","children","onRemove","onSelect","selection","size","ariaLabel","ariaLabelledby","rootRef","useRef","isMobileDevice","isMobile","defaultContextMenuConfig","useMemo","itemsRenderer","context","getItemAttribute","itemKey","current","REMOVABLE_ITEM_ATTRIBUTE","defaultItems","defaultMenuItems","_jsx","jsx","_Fragment","Fragment","rootProps","tabBarContext","menuProps","contextMenuContext","contextMenuDescription","contextMenuDescriptionId","accStatusInfo","options","class","styles","tabBarBase","edge","ref","contextMenuConfig","useTabBar","isContextMenuAvailable","useImperativeHandle","focus","blur","isSuppressOverflowFocus","setIsSuppressOverflowFocus","useState","focusTabbarRoot","useCallback","beginTabPass","endTabPass","onKeyDown","e","key","shiftKey","onBlur","focusContext","mergedRootProps","mergeProps","_jsxs","jsxs","ConveyorBeltFocusContext","Provider","value","TabBarContext","id","HiddenAccessible","LiveRegion","TabBarContextMenu"],"mappings":"8hDA0Ea,MAAAA,EAAcC,EAAUA,YACnC,CACEC,EACAC,KAEA,MAAMC,SACJA,EAAQC,SACRA,EAAQC,SACRA,EAAQC,UACRA,EAASC,KACTA,EACA,aAAcC,EACd,kBAAmBC,GACjBR,EAEES,EAAUC,SAAuB,MAEjCC,EAAiBC,EAAAA,WACjBC,EAA2BC,EAAAA,SAAkD,KAC1E,CACLC,cAAgBC,IAEd,GAAIA,EAAS,CAGX,GADmF,MAAjFC,EAAgBA,iBAACD,EAAQE,QAAST,EAAQU,QAAUC,6BAC/BT,EAAgB,CACrC,MAAMU,EAAeL,EAAQM,iBAC7B,OAAOC,EAAAC,IAAAC,EAAAC,SAAA,CAAAxB,SAAGmB,GACX,CACF,CACD,OAAO,IAAI,KAGd,KAEGM,UACJA,EAASC,cACTA,EAAaC,UACbA,EAASC,mBACTA,EAAkBC,uBAClBA,EAAsBC,yBACtBA,EAAwBC,cACxBA,IC7FyBC,ED8Fb,CACZC,MAAOC,EAAMA,OAACC,WACdC,KAAM,SACNnC,WACAC,WACAmC,IAAK9B,EACLJ,YACAC,OACAJ,WACAsC,kBAAmB3B,GCtGhB4B,EAAAA,UAAUP,IADb,IAAyBA,ED0G3B,MAAMQ,EAAqD,MAA5B7B,GAAoCF,EAEnEgC,EAAmBA,oBAAC1C,GAAiB,KAAO,CAC1C2C,MAAO,KACDnC,EAAQU,SACVV,EAAQU,QAAQyB,OACjB,EAEHC,KAAM,KACApC,EAAQU,SACVV,EAAQU,QAAQ0B,MACjB,MAIL,MAAOC,EAAyBC,GAA8BC,EAAQA,UAAC,GAEjEC,EAAkBC,EAAAA,aAAY,KAClCzC,EAAQU,SAASyB,OAAO,GACvB,IAGGO,EAAeD,EAAAA,aAAY,KAC/BH,GAA2B,EAAK,GAC/B,IAGGK,EAAaF,EAAAA,aAAY,KAC7BH,GAA2B,EAAM,GAChC,IAEGM,EAAYH,eACfI,IAEe,QAAVA,EAAEC,KAAkBD,EAAEE,UAExBL,KACD,GAEH,CAACA,IAGGM,EAASP,EAAAA,aAAY,KAEzBE,KAAc,GACb,CAACA,IAEEM,EAAe5C,EAAAA,SACnB,KAAO,CACLmC,kBACAH,0BACAK,eACAC,gBAEF,CAACN,EAAyBG,EAAiBE,EAAcC,IAGrDO,EAAkBC,EAAAA,WAAWjC,EAAW,CAAE0B,YAAWI,WAE3D,OACEI,EAACC,KAAAC,EAAwBA,yBAACC,UAASC,MAAOP,EAAYxD,SAAA,CACpDqB,MAAC2C,EAAaA,cAACF,SAAQ,CAACC,MAAOrC,EAC7B1B,SAAAqB,EAAAA,IAAA,MAAA,CAAA,aAAiBhB,EAA4B,kBAAAC,KAAoBmD,WAC9DzD,MAGJwC,GAA0BV,GAA4BD,GACrDR,EAAMC,IAAA,OAAA,CAAA2C,GAAInC,WACRT,EAACC,IAAA4C,EAAgBA,iBAAE,CAAAlE,SAAA6B,MAGtBW,GAA0BT,GAAiBV,MAAC8C,EAAUA,WAAA,CAAAnE,SAAE+B,IACxDS,GACCnB,EAAAA,IAAC+C,EAAAA,kBACK,IAAAzC,EACJW,kBAAmB3B,EACnBiB,mBAAoBA,MAI1B"}
1
+ {"version":3,"file":"TabBarMixed-cfd346bf.js","sources":["../../src/UNSAFE_TabBarMixed/TabBarMixed.tsx","../../src/UNSAFE_TabBarMixed/useTabBarMixed.ts"],"sourcesContent":["import type { ComponentChildren } from 'preact';\nimport { useMemo, useRef, useCallback, useState } from 'preact/hooks';\nimport { Ref } from 'preact';\nimport { forwardRef, useImperativeHandle } from 'preact/compat';\nimport { TabBarContext, TabBarContextMenuConfig } from '../UNSAFE_TabBarCommon';\nimport { isMobile } from '#utils/UNSAFE_clientUtils';\nimport { styles } from './themes/TabBarMixedStyles.css';\nimport { useTabBarMixed as useTabBar } from './useTabBarMixed';\nimport { REMOVABLE_ITEM_ATTRIBUTE, getItemAttribute } from '../hooks/PRIVATE_useTabBar/useTabBar';\nimport { LiveRegion } from '../UNSAFE_LiveRegion';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { TabBarContextMenu } from '../UNSAFE_TabBar/TabBarContextMenu';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps/mergeProps';\nimport { ConveyorBeltFocusContext } from '../UNSAFE_ConveyorBelt';\n\ntype UseTabBarOptions = Parameters<typeof useTabBar>[0];\n\n/**\n * Component props expected to be pased to **TabBarMixed**.\n *\n * @see {@link TabBarMixed}\n */\ntype TabBarMixedProps<K extends string | number> = {\n /**\n * Component children that will be rendered within the **TabBarMixed**\n * root element.\n *\n * It is expected that **TabBarLayout** and **ConveyorBelt** elements are\n * provided. The same **TabBarItem**, **RemovableTabBarItem**,\n * and **OverflowTabBarItem** elements should also be used.\n */\n children?: ComponentChildren;\n /**\n * Callback fired when a tab item is removed.\n */\n onRemove?: UseTabBarOptions['onRemove'];\n /**\n * Callback fired when a tab item is selected.\n */\n onSelect?: UseTabBarOptions['onSelect'];\n /**\n * The item key of the selected tab item.\n */\n selection?: K;\n /**\n * The height of the the tab bar.\n *\n * @default \"md\"\n */\n size?: UseTabBarOptions['size'];\n /**\n * An aria-label which defines a string value that labels this TabBarMixed.\n * Either aria-label or aria-labelledby should be specified in order to make TabBarMixed accessible.\n */\n 'aria-label'?: string;\n\n /**\n * An aria-labelledby which identifies the element(s) that labels this TabBarMixed.\n * Either aria-label or aria-labelledby should be specified in order to make TabBarMixed accessible.\n */\n 'aria-labelledby'?: string;\n};\n\nexport type FocusableHandle = {\n focus: () => void;\n blur: () => void;\n};\n\n/**\n * A navigation component that enables horizontal navigation between distinct content with a mixture of static and dynamic tabs.\n *\n * @param {TabBarMixedProps} props TabBarMixed component props.\n * @returns {JSX.Element} TabBarMixed component element.\n */\nexport const TabBarMixed = forwardRef(\n <K extends string | number>(\n props: TabBarMixedProps<K>,\n focusHandleRef?: Ref<FocusableHandle>\n ) => {\n const {\n children,\n onRemove,\n onSelect,\n selection,\n size,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n\n const isMobileDevice = isMobile();\n const defaultContextMenuConfig = useMemo<TabBarContextMenuConfig<string | number>>(() => {\n return {\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, rootRef.current!, REMOVABLE_ITEM_ATTRIBUTE) != null;\n if (isRemovableItem && isMobileDevice) {\n const defaultItems = context.defaultMenuItems;\n return <>{defaultItems}</>;\n }\n }\n return null;\n }\n };\n }, []);\n\n const {\n rootProps,\n tabBarContext,\n menuProps,\n contextMenuContext,\n contextMenuDescription,\n contextMenuDescriptionId,\n accStatusInfo\n } = useTabBar({\n class: styles.tabBarBase,\n edge: 'bottom',\n onRemove,\n onSelect,\n ref: rootRef,\n selection,\n size,\n children,\n contextMenuConfig: defaultContextMenuConfig\n });\n\n const isContextMenuAvailable = defaultContextMenuConfig != null && isMobileDevice;\n //Allows to call focus on rootRef without having to expose it\n useImperativeHandle(focusHandleRef!, () => ({\n focus: () => {\n if (rootRef.current) {\n rootRef.current.focus();\n }\n },\n blur: () => {\n if (rootRef.current) {\n rootRef.current.blur();\n }\n }\n }));\n\n const [isSuppressOverflowFocus, setIsSuppressOverflowFocus] = useState(false);\n\n const focusTabbarRoot = useCallback(() => {\n rootRef.current?.focus();\n }, []);\n\n // Begin a short window where overflow div should not be focusable.\n const beginTabPass = useCallback(() => {\n setIsSuppressOverflowFocus(true);\n }, []);\n\n // End that window after focus moves away.\n const endTabPass = useCallback(() => {\n setIsSuppressOverflowFocus(false);\n }, []);\n\n const onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n // We only want to suppress overflow focus when the user is tabbing.\n if (e.key === 'Tab' && !e.shiftKey) {\n // Tell conveyor to make its overflow non-focusable (tabIndex = -1)\n beginTabPass?.();\n }\n },\n [beginTabPass]\n );\n\n const onBlur = useCallback(() => {\n // End that suppress overflow after focus moves away.\n endTabPass?.();\n }, [endTabPass]);\n\n const focusContext = useMemo(\n () => ({\n focusTabbarRoot,\n isSuppressOverflowFocus,\n beginTabPass,\n endTabPass\n }),\n [isSuppressOverflowFocus, focusTabbarRoot, beginTabPass, endTabPass]\n );\n\n const mergedRootProps = mergeProps(rootProps, { onKeyDown, onBlur });\n\n return (\n <ConveyorBeltFocusContext.Provider value={focusContext}>\n <TabBarContext.Provider value={tabBarContext}>\n <div aria-label={ariaLabel} aria-labelledby={ariaLabelledby} {...mergedRootProps}>\n {children}\n </div>\n </TabBarContext.Provider>\n {isContextMenuAvailable && contextMenuDescriptionId && contextMenuDescription && (\n <span id={contextMenuDescriptionId}>\n <HiddenAccessible>{contextMenuDescription}</HiddenAccessible>\n </span>\n )}\n {isContextMenuAvailable && accStatusInfo && <LiveRegion>{accStatusInfo}</LiveRegion>}\n {isContextMenuAvailable && (\n <TabBarContextMenu\n {...menuProps}\n contextMenuConfig={defaultContextMenuConfig}\n contextMenuContext={contextMenuContext!}\n />\n )}\n </ConveyorBeltFocusContext.Provider>\n );\n }\n);\n","import type { ComponentProps, ContextType, RefObject } from 'preact';\nimport type { TabBarContext, TabBarLayout } from '../UNSAFE_TabBarCommon';\nimport { TabBar } from '../UNSAFE_TabBar/TabBar';\nimport { useTabBar } from '../hooks/PRIVATE_useTabBar';\n\ntype TabBarContextValue = ContextType<typeof TabBarContext>;\n\nexport type useTabBarOptions = {\n class?: string;\n display?: TabBarContextValue['display'];\n edge?: 'bottom' | 'top';\n onRemove?: TabBarContextValue['onRemove'];\n onSelect?: TabBarContextValue['onSelect'];\n ref?: RefObject<HTMLDivElement>;\n selection?: TabBarContextValue['selection'];\n size?: TabBarContextValue['size'];\n children?: ComponentProps<typeof TabBarLayout>['children'];\n contextMenuConfig?: ComponentProps<typeof TabBar>['contextMenuConfig'];\n};\n\n/**\n * A thin wrapper around useTabBar hook\n */\nexport function useTabBarMixed(options: useTabBarOptions) {\n return useTabBar(options);\n}\n"],"names":["TabBarMixed","forwardRef","props","focusHandleRef","children","onRemove","onSelect","selection","size","ariaLabel","ariaLabelledby","rootRef","useRef","isMobileDevice","isMobile","defaultContextMenuConfig","useMemo","itemsRenderer","context","getItemAttribute","itemKey","current","REMOVABLE_ITEM_ATTRIBUTE","defaultItems","defaultMenuItems","_jsx","jsx","_Fragment","Fragment","rootProps","tabBarContext","menuProps","contextMenuContext","contextMenuDescription","contextMenuDescriptionId","accStatusInfo","options","class","styles","tabBarBase","edge","ref","contextMenuConfig","useTabBar","isContextMenuAvailable","useImperativeHandle","focus","blur","isSuppressOverflowFocus","setIsSuppressOverflowFocus","useState","focusTabbarRoot","useCallback","beginTabPass","endTabPass","onKeyDown","e","key","shiftKey","onBlur","focusContext","mergedRootProps","mergeProps","_jsxs","jsxs","ConveyorBeltFocusContext","Provider","value","TabBarContext","id","HiddenAccessible","LiveRegion","TabBarContextMenu"],"mappings":"4lDA0Ea,MAAAA,EAAcC,EAAUA,YACnC,CACEC,EACAC,KAEA,MAAMC,SACJA,EAAQC,SACRA,EAAQC,SACRA,EAAQC,UACRA,EAASC,KACTA,EACA,aAAcC,EACd,kBAAmBC,GACjBR,EAEES,EAAUC,SAAuB,MAEjCC,EAAiBC,EAAAA,WACjBC,EAA2BC,EAAAA,SAAkD,KAC1E,CACLC,cAAgBC,IAEd,GAAIA,EAAS,CAGX,GADmF,MAAjFC,EAAgBA,iBAACD,EAAQE,QAAST,EAAQU,QAAUC,6BAC/BT,EAAgB,CACrC,MAAMU,EAAeL,EAAQM,iBAC7B,OAAOC,EAAAC,IAAAC,EAAAC,SAAA,CAAAxB,SAAGmB,GACX,CACF,CACD,OAAO,IAAI,KAGd,KAEGM,UACJA,EAASC,cACTA,EAAaC,UACbA,EAASC,mBACTA,EAAkBC,uBAClBA,EAAsBC,yBACtBA,EAAwBC,cACxBA,IC7FyBC,ED8Fb,CACZC,MAAOC,EAAMA,OAACC,WACdC,KAAM,SACNnC,WACAC,WACAmC,IAAK9B,EACLJ,YACAC,OACAJ,WACAsC,kBAAmB3B,GCtGhB4B,EAAAA,UAAUP,IADb,IAAyBA,ED0G3B,MAAMQ,EAAqD,MAA5B7B,GAAoCF,EAEnEgC,EAAmBA,oBAAC1C,GAAiB,KAAO,CAC1C2C,MAAO,KACDnC,EAAQU,SACVV,EAAQU,QAAQyB,OACjB,EAEHC,KAAM,KACApC,EAAQU,SACVV,EAAQU,QAAQ0B,MACjB,MAIL,MAAOC,EAAyBC,GAA8BC,EAAQA,UAAC,GAEjEC,EAAkBC,EAAAA,aAAY,KAClCzC,EAAQU,SAASyB,OAAO,GACvB,IAGGO,EAAeD,EAAAA,aAAY,KAC/BH,GAA2B,EAAK,GAC/B,IAGGK,EAAaF,EAAAA,aAAY,KAC7BH,GAA2B,EAAM,GAChC,IAEGM,EAAYH,eACfI,IAEe,QAAVA,EAAEC,KAAkBD,EAAEE,UAExBL,KACD,GAEH,CAACA,IAGGM,EAASP,EAAAA,aAAY,KAEzBE,KAAc,GACb,CAACA,IAEEM,EAAe5C,EAAAA,SACnB,KAAO,CACLmC,kBACAH,0BACAK,eACAC,gBAEF,CAACN,EAAyBG,EAAiBE,EAAcC,IAGrDO,EAAkBC,EAAAA,WAAWjC,EAAW,CAAE0B,YAAWI,WAE3D,OACEI,EAACC,KAAAC,EAAwBA,yBAACC,UAASC,MAAOP,EAAYxD,SAAA,CACpDqB,MAAC2C,EAAaA,cAACF,SAAQ,CAACC,MAAOrC,EAC7B1B,SAAAqB,EAAAA,IAAA,MAAA,CAAA,aAAiBhB,EAA4B,kBAAAC,KAAoBmD,WAC9DzD,MAGJwC,GAA0BV,GAA4BD,GACrDR,EAAMC,IAAA,OAAA,CAAA2C,GAAInC,WACRT,EAACC,IAAA4C,EAAgBA,iBAAE,CAAAlE,SAAA6B,MAGtBW,GAA0BT,GAAiBV,MAAC8C,EAAUA,WAAA,CAAAnE,SAAE+B,IACxDS,GACCnB,EAAAA,IAAC+C,EAAAA,kBACK,IAAAzC,EACJW,kBAAmB3B,EACnBiB,mBAAoBA,MAI1B"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact/compat', './useCurrentValueReducer-faded381', './useFocusableTextField-8b755b15', './FormContext-6b0879a0', './useFormContext-b8cbbb21', './FormFieldContext-a024b891', 'preact/hooks', './useId-c9578d26', './useLengthFilter-c05fd679', './useSelectableTextField-900d2860', './useTextField-3ab0a23b', './useTranslationBundle-e4dd341e', './HiddenAccessible-037ef42d', './Label-701506b1', './keyboardUtils-fb6219eb', './TextFieldInput-f8635c62', 'css!./ObfuscatedTextFieldInputStyles.styles.css', './ReadonlyTextFieldInput-41384d7e', './StyledTextField-2b62c81d', './TextField-c8c71735', './MaxLengthLiveRegion-8f9f7247', './UNSAFE_TextField/themes/TextFieldStyles.css', 'css!./SkeletonStyles.styles.css', 'css!./TextFieldLoadingStyles.styles.css', 'css!./TextFieldStyles.styles.css', 'module', './UNSAFE_TextField/themes/redwood/TextFieldVariants.css', './logger-0f873e29', './TabbableModeContext-a9c97640', 'css!./UserAssistanceStyles.styles.css', 'module', './UNSAFE_UserAssistance/themes/redwood/UserAssistanceVariants.css', './InlineUserAssistance-a59440e5', './CompactUserAssistance-fcc04dcc', './mergeProps-bcfa6a92', './LayerHost-0b288129', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'preact', 'css!./IconStyle.styles.css', './Popup-6b57cc3e', 'css!./LabelStyles.styles.css', 'module', './UNSAFE_Label/themes/redwood/LabelVariants.css', './InputGroupContext-372087af', 'module', './UNSAFE_Popup/themes/redwood/PopupVariants.css', './formControlUtils-de035f75', './classNames-08d99695', './usePress-949a0d03', './useFormFieldContext-9260f081', 'css!./MaxLengthCounterStyles.styles.css'], (function(e,s,t,n,a,l,i,o,r,d,c,u,x,m,h,p,b,F,y,f,g,L,T,v,A,S,C,R,U,I,E,j,_,w,D,P,k,M,N,V,B,H,q,K,z,W,$,G,O,X,J,Q,Y,Z,ee,se){"use strict";var te="MaxLengthCounterStyles_spanStyles__7dy9j72";const ne=()=>{};function ae({maxLength:e,valueLength:t=0,onClick:n}){const{isFocused:a}=ee.useFormFieldContext(),l=r.useCallback((e=>e.preventDefault()),[]),i=Y.classNames([!a&&"MaxLengthCounterStyles_hide__7dy9j71"]),{pressProps:o}=Z.usePress(n??ne);return s.jsx("div",{class:"MaxLengthCounterStyles_maxLengthCounterBase__7dy9j70",onMouseDown:l,...o,children:s.jsxs("span",{class:i,children:[s.jsx("span",{class:te,children:t}),s.jsx("span",{class:te,children:"/"}),s.jsx("span",{class:te,children:e})]})})}const le=({onInput:e,textAreaRef:s})=>{const[t,n]=r.useState(),a=r.useCallback((s=>{if(s.altKey&&"Enter"===s.key){s.preventDefault();const t=s.target,{selectionStart:a,selectionEnd:l,value:i}=t,o=i.substring(0,a)+"\n"+i.substring(l),r={previousValue:i,value:o};n(a+1),e(r)}}),[e]);return r.useLayoutEffect((()=>{t&&(s.current?.setSelectionRange(t,t),n(void 0))}),[t,s]),{handleKeyDown:a}},ie=t.forwardRef((({"aria-describedby":e,assistiveText:l,autoComplete:r="off",autoFocus:b=!1,columnSpan:y,helpSourceLink:v,helpSourceText:A,isDisabled:S,isReadonly:C,isRequired:R=!1,isRequiredShown:U,label:I,labelEdge:E,labelStartWidth:j,maxLength:_,maxLengthCounter:w="remaining",maxLengthUnit:M,messages:N,placeholder:V,resize:B,role:H,rows:q,textAlign:K,userAssistanceDensity:z,value:W,variant:$="default",onInput:G,onCommit:O,testId:X},J)=>{const Y=m.useTranslationBundle("@oracle/oraclejet-preact"),Z=_?Y.formControl_limitReached({CHARACTER_LIMIT:_}):"",{currentCommitValue:ee,dispatch:se}=n.useCurrentValueReducer({value:W}),te=t.useCallback((e=>{se({type:"input",payload:e.value}),G?.(e)}),[G,se]),ne=t.useCallback((e=>{se({type:"commit",payload:e.value}),O?.(e)}),[O,se]),{isDisabled:ie,isReadonly:oe,labelEdge:re,labelStartWidth:de,textAlign:ce,userAssistanceDensity:ue}=i.useFormContext(),xe=S??ie,me=C??oe,he=E??re,pe=j??de,be=K??ce??Q.defaultTextAlignForVariant($),Fe=z??ue,ye=t.useRef(d.useId()),fe=e?`${e} ${ye.current}`:ye.current,ge=t.useRef(null),Le=t.useRef(null),{handleKeyDown:Te}=le({onInput:te,textAreaRef:ge}),{focusProps:ve,isFocused:Ae,methods:Se}=a.useFocusableTextField({isDisabled:xe,isReadonly:me,enabledElementRef:ge,readonlyElementRef:Le}),{methods:Ce}=u.useSelectableTextField(ge);t.useImperativeHandle(J,(()=>k.mergeProps(Se,Ce)),[Se,Ce]);const{isMaxLengthExceeded:Re,isMaxLengthReached:Ue,valueLength:Ie,onFilteredInput:Ee}=c.useLengthFilter({maxLength:_,maxLengthUnit:M,value:W,onInput:te,onCommit:ne}),je=[...N??[],...Ue?[{detail:Z,severity:"info"}]:[]],{formFieldContext:_e,inputProps:we,labelProps:De,textFieldProps:Pe,userAssistanceProps:ke}=x.useTextField({ariaDescribedBy:me||xe?e:fe,contentVariant:"textarea",helpSourceLink:v,helpSourceText:A,isDisabled:xe,isFocused:Ae,isReadonly:me,isRequiredShown:U,labelEdge:he,messages:je,styleVariant:$,userAssistanceDensity:Fe,value:W}),Me=t.useCallback((()=>{const e=ge.current,s=e?e.value.length:null;ge.current?.setSelectionRange(s,s),ge.current?.focus()}),[ge]),Ne="none"!==he?s.jsx(p.Label,{...De,children:I}):void 0,Ve={label:"none"!==he?Ne:void 0,labelEdge:"none"!==he?he:void 0,labelStartWidth:"none"!==he?pe:void 0,labelText:"inside"!==he||xe?void 0:I},Be="none"===he?I:void 0,He="efficient"===Fe||"reflow"===Fe?xe?"efficient"!==Fe?void 0:s.jsx(D.InlineUserAssistance,{userAssistanceDensity:Fe,...ke}):me?s.jsx(D.InlineUserAssistance,{fieldLabel:I,messages:N,userAssistanceDensity:Fe,...ke}):s.jsx(D.InlineUserAssistance,{assistiveText:l,fieldLabel:I,helpSourceLink:v,helpSourceText:A,messages:je,isRequiredShown:U,userAssistanceDensity:Fe,...ke}):void 0,qe=t.useRef(null),Ke="compact"===Fe?s.jsx(P.CompactUserAssistance,{anchorRef:qe,messages:je,assistiveText:l,...ke}):void 0;if(me){const e=s.jsx(f.ReadonlyTextFieldInput,{"aria-describedby":we["aria-describedby"],"aria-label":Be,"aria-labelledby":De.id,as:"textarea",elementRef:Le,formVariant:$,rows:q,autoFocus:b,textAlign:be,value:W,variant:"textarea",hasEmptyLabel:""===I&&"none"===he,hasInsideLabel:void 0!==I&&"inside"===he,onBlur:we.onBlur,onFocus:we.onFocus});return s.jsx(o.FormFieldContext.Provider,{value:_e,children:s.jsx(g.ReadonlyTextField,{role:"presentation",columnSpan:y,compactUserAssistance:Ke,inlineUserAssistance:He,ref:qe,testId:X,variant:"textarea",mainContent:e,resize:B,...Ve})})}const ze=void 0!==_,We=s.jsxs(s.Fragment,{children:[s.jsx(F.TextFieldInput,{as:"textarea","aria-label":Be,autoComplete:r,autoFocus:b,currentCommitValue:ee,hasEmptyLabel:""===I&&"none"===he,hasInsideLabel:void 0!==Ne&&"inside"===he,isRequired:R,inputRef:ge,onCommit:ne,onInput:Ee,onKeyDown:Te,placeholder:V,role:H,rows:q,textAlign:be,value:W,...we}),"remaining"===w&&ze&&s.jsx(ae,{maxLength:_,valueLength:Ie,onClick:Me}),ze&&s.jsx(h.HiddenAccessible,{id:ye.current,isHidden:!0,children:Y.formControl_maxLength({MAX_LENGTH:`${_}`})}),ze&&Ae&&s.jsx(T.MaxLengthLiveRegion,{isMaxLengthExceeded:Re,maxLength:_,valueLength:Ie,testId:X?X+"_maxLength":void 0})]});return s.jsx(o.FormFieldContext.Provider,{value:_e,children:s.jsx(L.TextField,{mainContent:We,columnSpan:y,compactUserAssistance:Ke,inlineUserAssistance:He,onBlur:ve?.onFocusOut,onFocus:ve?.onFocusIn,mainFieldRef:qe,resize:B,testId:X,...Pe,...Ve})})}));e.MaxLengthCounter=ae,e.TextArea=ie,e.useTextAreaAltEnter=le}));
2
+ //# sourceMappingURL=TextArea-345f89d4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea-93ce78a7.js","sources":["../../src/UNSAFE_TextArea/MaxLengthCounter.tsx","../../src/UNSAFE_TextArea/useTextAreaAltEnter.ts","../../src/UNSAFE_TextArea/TextArea.tsx"],"sourcesContent":["import { useCallback } from 'preact/hooks';\n\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { usePress } from '../hooks/UNSAFE_usePress';\nimport { useFormFieldContext } from '../hooks/UNSAFE_useFormFieldContext';\nimport { hide, maxLengthCounterBase, spanStyles } from './MaxLengthCounterStyles.css';\n\ntype Props = {\n maxLength: number;\n valueLength?: number;\n onClick?: () => void; // the calling component should focus on the appropriate element when clicked.\n};\n\nconst noop = () => {};\n\nexport function MaxLengthCounter({ maxLength, valueLength = 0, onClick }: Props) {\n const { isFocused } = useFormFieldContext();\n // We don't want mousedown on this component to do anything, so prevent the default behavior.\n const killEvent = useCallback((event: Event) => event.preventDefault(), []);\n const textClasses = classNames([!isFocused && hide]);\n const { pressProps } = usePress(onClick ?? noop);\n return (\n <div class={maxLengthCounterBase} onMouseDown={killEvent} {...pressProps}>\n <span class={textClasses}>\n <span class={spanStyles}>{valueLength}</span>\n <span class={spanStyles}>/</span>\n <span class={spanStyles}>{maxLength}</span>\n </span>\n </div>\n );\n}\n","import { ComponentProps, RefObject } from 'preact';\nimport { useCallback, useLayoutEffect, useState } from 'preact/hooks';\n\nimport { TextFieldInput } from '#UNSAFE_TextField';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\n\ntype UseTextAreaAltEnterOptions = {\n /**\n * The onInput of the TextFieldInput\n */\n onInput: NonNullable<ComponentProps<typeof TextFieldInput>['onInput']>;\n /**\n * The ref to the textarea element\n */\n textAreaRef: RefObject<HTMLTextAreaElement>;\n};\n\n/**\n * A custom hook to enable an alternate way for entering a new line in the TextArea components using\n * Alt + Enter (or option + return in MacOS). This is particularly useful in scenarios where pressing Enter\n * could mean a different action, like exiting from edit mode in a Table/DataGrid containing a TextArea.\n */\nexport const useTextAreaAltEnter = ({ onInput, textAreaRef }: UseTextAreaAltEnterOptions) => {\n // We want to have alt/option+Enter to insert a newline like Enter does.\n const [selectionStart, setSelectionStart] = useState<number>();\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n // If we see an alt+enter (or option+return on a Mac), we insert a newline and call onInputAndDispatch\n // since that is what is called any time the input value changes.\n if (event.altKey && event.key === 'Enter') {\n event.preventDefault(); // Prevent default Enter behavior\n const textarea = event.target as HTMLTextAreaElement;\n const { selectionStart: start, selectionEnd: end, value: previousValue } = textarea;\n const newValue = previousValue.substring(0, start) + '\\n' + previousValue.substring(end);\n\n const valueUpdateDetail: ValueUpdateDetail<string> = {\n previousValue: previousValue,\n value: newValue\n };\n setSelectionStart(start + 1);\n onInput(valueUpdateDetail);\n }\n },\n [onInput]\n );\n\n useLayoutEffect(() => {\n if (selectionStart) {\n textAreaRef.current?.setSelectionRange(selectionStart, selectionStart);\n // reset to undefined, so the next selectionStart will trigger the useLayoutEffect\n // even if it is the same as the previous selectionStart that was set. This is\n // because we are only setting selectionStart for alt+enter.\n setSelectionStart(undefined);\n }\n }, [selectionStart, textAreaRef]);\n\n return { handleKeyDown };\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps, Ref } from 'preact';\nimport { forwardRef, useCallback, useImperativeHandle, useRef } from 'preact/compat';\n\nimport { useCurrentValueReducer } from '#hooks/UNSAFE_useCurrentValueReducer';\nimport { FocusableHandle, useFocusableTextField } from '#hooks/UNSAFE_useFocusableTextField';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { CountUnit, useLengthFilter } from '#hooks/UNSAFE_useLengthFilter';\nimport { SelectableHandle, useSelectableTextField } from '#hooks/UNSAFE_useSelectableTextField';\nimport type { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { useTextField } from '#hooks/UNSAFE_useTextField';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { ComponentMessageItem } from '#UNSAFE_ComponentMessage';\nimport { HiddenAccessible } from '#UNSAFE_HiddenAccessible';\nimport { Label } from '#UNSAFE_Label';\nimport {\n MaxLengthLiveRegion,\n ReadonlyTextField,\n ReadonlyTextFieldInput,\n TextField,\n TextFieldInput\n} from '#UNSAFE_TextField';\nimport {\n CompactUserAssistance,\n InlineUserAssistance,\n UserAssistanceDensityType\n} from '#UNSAFE_UserAssistance';\nimport { defaultTextAlignForVariant } from '#utils/PRIVATE_formControlUtils';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { Size } from '#utils/UNSAFE_size';\nimport { LayoutColumnSpan } from '#utils/UNSAFE_styles/Layout';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { MaxLengthCounter } from './MaxLengthCounter';\nimport { useTextAreaAltEnter } from './useTextAreaAltEnter';\n\ntype TextFieldProps = ComponentProps<typeof TextField>;\ntype TextFieldInputProps = ComponentProps<typeof TextFieldInput>;\ntype InlineUserAssistanceProps = ComponentProps<typeof InlineUserAssistance>;\n\ntype Props = TestIdProps & {\n /**\n * The ID of an element (or space separated IDs of multiple elements) that\n * describes the input.\n */\n 'aria-describedby'?: TextFieldInputProps['aria-describedby'];\n\n /**\n * Text to provide guidance to help the user understand what to enter.\n */\n assistiveText?: InlineUserAssistanceProps['assistiveText'];\n /**\n * Dictates component's autocomplete state.\n * This attribute indicates whether the value of the control can be automatically completed by the browser.\n * The common values are \"on\" and \"off\".\n */\n autoComplete?: TextFieldInputProps['autoComplete'];\n /**\n * Autofocus specifies whether the component will get focus when the page is loaded.\n * If it is set to true then the associated component will get input focus when the page is loaded.\n * Setting this property doesn't set the focus to the component; it tells the browser to focus\n * to it when the element is inserted in the document.\n */\n autoFocus?: TextFieldInputProps['autoFocus'];\n /**\n * Specifies how many columns to span in a FormLayout with direction === 'row'\n */\n columnSpan?: LayoutColumnSpan;\n /**\n * Help source URL associated with the component.\n */\n helpSourceLink?: InlineUserAssistanceProps['helpSourceLink'];\n /**\n * Custom text to be rendered for the <code>helpSourceLink</code>.\n */\n helpSourceText?: InlineUserAssistanceProps['helpSourceText'];\n /**\n * Specifies whether the component is disabled.\n */\n isDisabled?: boolean;\n /**\n * Specifies whether the component is readonly.\n */\n isReadonly?: boolean;\n /**\n * Specifies for accessibility purposes whether a value is required.\n *\n * Setting this property to <code>false</code> means that a value is not required to be\n * committed by the user. Setting this property to <code>true</code> means that a value\n * is required to be committed by the user.\n */\n isRequired?: TextFieldInputProps['isRequired'];\n /**\n * Specifies whether to show an indicator on screen that a value is required, for example\n * before the user has committed a value.\n */\n isRequiredShown?: InlineUserAssistanceProps['isRequiredShown'];\n /**\n * Specifies the label associated with the field.\n */\n label: string;\n /**\n * Specifies where the label is positioned relative to the field.\n */\n labelEdge?: 'inside' | 'start' | 'top' | 'none';\n /**\n * Specifies the width of the label when <code>labelEdge</code> is <code>\"start\"</code>\n */\n labelStartWidth?: Size;\n /**\n * Specifies the maximum number of characters that can be entered in the input field.\n */\n maxLength?: number;\n /**\n * Determines whether the remaining number of characters that can be entered is shown or not.\n */\n maxLengthCounter?: 'none' | 'remaining';\n /**\n * Specifies how the input text characters are to be counted when maxLength is specified.\n */\n maxLengthUnit?: CountUnit;\n /**\n * Messages to show on screen that are associated with the component.\n */\n messages?: InlineUserAssistanceProps['messages'];\n /**\n * A short hint to display before the user enters a value.\n */\n placeholder?: TextFieldInputProps['placeholder'];\n /**\n * Specifies how the user is allowed to manually resize the TextArea component.\n */\n resize?: TextFieldProps['resize'];\n /**\n * Specifies the ARIA role type.\n */\n role?: TextFieldInputProps['role'];\n /**\n * Specifies the number of rows to display\n */\n rows?: TextFieldInputProps['rows'];\n /**\n * Specifies how to align text within the field.\n */\n textAlign?: TextFieldInputProps['textAlign'];\n /**\n * Specifies the density of the user assistance presentation. It can be set to:\n * <ul>\n * <li><code>'efficient'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * <li><code>'reflow'</code>: Show inline. Layout will reflow when text is displayed.</li>\n * <li><code>'compact'</code>: Messages, help, hints, and required will not be shown inline; they will show in a mode that keeps the screen more compact, like a popup for the messages, and a required icon to indicate Required. </li>\n * </ul>\n */\n userAssistanceDensity?: UserAssistanceDensityType;\n /**\n * The current display value of the component.\n */\n value?: TextFieldInputProps['value'];\n /**\n * The style variant of the component.\n */\n variant?: TextFieldInputProps['variant'];\n /**\n * Callback invoked when the user commits the entered value by blurring out of the field.\n */\n onCommit?: TextFieldInputProps['onCommit'];\n /**\n * Callback invoked each time the user changes the value of the field. For example, if the user\n * types 'abcd', this callback will be called four times with the value as 'a', 'ab', 'abc' and 'abcd'\n * respectively.\n */\n onInput: TextFieldInputProps['onInput'];\n};\n\ntype FocusSelectHandle = FocusableHandle & SelectableHandle;\n\n/**\n * A text area displays a field that allows a user to enter a multi-line text value.\n */\nexport const TextArea = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n assistiveText,\n autoComplete = 'off',\n autoFocus = false,\n columnSpan,\n helpSourceLink,\n helpSourceText,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n isRequired = false,\n isRequiredShown,\n label,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n maxLength,\n maxLengthCounter = 'remaining',\n maxLengthUnit,\n messages,\n placeholder,\n resize,\n role,\n rows,\n textAlign: propTextAlign,\n userAssistanceDensity: propUserAssistanceDensity,\n value,\n variant = 'default',\n onInput,\n onCommit,\n testId\n }: Props,\n ref?: Ref<FocusSelectHandle>\n ) => {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const formControl_limitReached = maxLength\n ? translations.formControl_limitReached({\n CHARACTER_LIMIT: maxLength\n })\n : '';\n\n const { currentCommitValue, dispatch } = useCurrentValueReducer({ value });\n const onInputAndDispatch = useCallback(\n (detail: ValueUpdateDetail<string>) => {\n // Should dispatch happen first? This will queue up a re-render, ordering should not cause issues (this is async)\n dispatch({ type: 'input', payload: detail.value });\n onInput?.(detail);\n },\n [onInput, dispatch]\n );\n const onCommitAndDispatch = useCallback(\n (detail: ValueUpdateDetail<string>) => {\n // Should dispatch happen first? This will queue up a re-render, ordering should not cause issues (this is async)\n dispatch({ type: 'commit', payload: detail.value });\n onCommit?.(detail);\n },\n [onCommit, dispatch]\n );\n\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n textAlign: formTextAlign,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n const textAlign = propTextAlign ?? formTextAlign ?? defaultTextAlignForVariant(variant);\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n const maxLengthDescribedByIdRef = useRef<string>(useId());\n // The enabledAriaDescribedBy includes the maxLengthDescribedById in addition to what was passed in to aria-describedby.\n // We don't need to announce the max length message for readonly, as it only applies when editing the value.\n const enabledAriaDescribedBy = ariaDescribedBy\n ? `${ariaDescribedBy} ${maxLengthDescribedByIdRef.current}`\n : maxLengthDescribedByIdRef.current;\n\n const enabledElementRef = useRef<HTMLTextAreaElement>(null);\n const readonlyElementRef = useRef<HTMLTextAreaElement>(null);\n\n // We want to have alt/option+Enter to insert a newline like Enter does.\n const { handleKeyDown } = useTextAreaAltEnter({\n onInput: onInputAndDispatch,\n textAreaRef: enabledElementRef\n });\n\n const {\n focusProps,\n isFocused,\n methods: focusMethods\n } = useFocusableTextField<HTMLTextAreaElement, HTMLTextAreaElement>({\n isDisabled,\n isReadonly,\n enabledElementRef,\n readonlyElementRef\n });\n\n const { methods: selectMethods } =\n useSelectableTextField<HTMLTextAreaElement>(enabledElementRef);\n\n useImperativeHandle(ref!, () => mergeProps(focusMethods, selectMethods), [\n focusMethods,\n selectMethods\n ]);\n\n // Handle length filter for user-typed inputs and controlled inputs\n const { isMaxLengthExceeded, isMaxLengthReached, valueLength, onFilteredInput } =\n useLengthFilter({\n maxLength,\n maxLengthUnit,\n value,\n onInput: onInputAndDispatch,\n onCommit: onCommitAndDispatch\n });\n\n const limitMessage = [{ detail: formControl_limitReached, severity: 'info' }];\n const allMessages = [\n ...(messages ?? []),\n ...(isMaxLengthReached ? limitMessage : [])\n ] as ComponentMessageItem[];\n\n const { formFieldContext, inputProps, labelProps, textFieldProps, userAssistanceProps } =\n useTextField({\n ariaDescribedBy: isReadonly || isDisabled ? ariaDescribedBy : enabledAriaDescribedBy,\n contentVariant: 'textarea',\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isFocused,\n isReadonly,\n isRequiredShown,\n labelEdge,\n messages: allMessages,\n styleVariant: variant,\n userAssistanceDensity,\n value\n });\n\n const onClickCounter = useCallback(() => {\n const elm = enabledElementRef.current;\n // for setSelectionRange(), len needs to be a number or null.\n const len = elm ? elm.value.length : null;\n // Since the counter element is after the text, clicking in this\n // should put the selection at the end of the text\n enabledElementRef.current?.setSelectionRange(len, len);\n // Clicking the counter should put the focus on the input field\n enabledElementRef.current?.focus();\n }, [enabledElementRef]);\n\n const labelComp = labelEdge !== 'none' ? <Label {...labelProps}>{label}</Label> : undefined;\n\n const fieldLabelProps = {\n label: labelEdge !== 'none' ? labelComp : undefined,\n labelEdge: labelEdge !== 'none' ? labelEdge : undefined,\n labelStartWidth: labelEdge !== 'none' ? labelStartWidth : undefined,\n labelText: labelEdge === 'inside' && !isDisabled ? label : undefined\n };\n\n const ariaLabel = labelEdge === 'none' ? label : undefined;\n const isInlineDensity =\n userAssistanceDensity === 'efficient' || userAssistanceDensity === 'reflow';\n\n const inlineUserAssistance = isInlineDensity ? (\n isDisabled ? (\n // save space for user assistance if density is 'efficient', even though we don't\n // render user assistance for disabled fields\n userAssistanceDensity !== 'efficient' ? undefined : (\n <InlineUserAssistance\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n )\n ) : isReadonly ? (\n <InlineUserAssistance\n fieldLabel={label}\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n ) : (\n <InlineUserAssistance\n assistiveText={assistiveText}\n fieldLabel={label}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n messages={allMessages}\n isRequiredShown={isRequiredShown}\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n )\n ) : undefined;\n\n const anchorRef = useRef<HTMLDivElement>(null);\n\n const compactUserAssistance =\n userAssistanceDensity === 'compact' ? (\n <CompactUserAssistance\n anchorRef={anchorRef}\n messages={allMessages}\n assistiveText={assistiveText}\n {...userAssistanceProps}\n />\n ) : undefined;\n\n if (isReadonly) {\n const mainContent = (\n <ReadonlyTextFieldInput\n aria-describedby={inputProps['aria-describedby']}\n aria-label={ariaLabel}\n aria-labelledby={labelProps.id}\n as=\"textarea\"\n elementRef={readonlyElementRef}\n formVariant={variant}\n rows={rows}\n autoFocus={autoFocus}\n textAlign={textAlign}\n value={value}\n variant=\"textarea\"\n hasEmptyLabel={label === '' && labelEdge === 'none'}\n hasInsideLabel={label !== undefined && labelEdge === 'inside'}\n onBlur={inputProps.onBlur}\n onFocus={inputProps.onFocus}\n />\n );\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <ReadonlyTextField\n role=\"presentation\"\n columnSpan={columnSpan}\n compactUserAssistance={compactUserAssistance}\n inlineUserAssistance={inlineUserAssistance}\n ref={anchorRef}\n testId={testId}\n variant=\"textarea\"\n mainContent={mainContent}\n resize={resize}\n {...fieldLabelProps}\n />\n </FormFieldContext.Provider>\n );\n }\n const hasMaxLength = maxLength !== undefined;\n const mainContent = (\n <>\n <TextFieldInput\n as=\"textarea\"\n aria-label={ariaLabel}\n autoComplete={autoComplete}\n autoFocus={autoFocus}\n currentCommitValue={currentCommitValue}\n hasEmptyLabel={label === '' && labelEdge === 'none'}\n hasInsideLabel={labelComp !== undefined && labelEdge === 'inside'}\n isRequired={isRequired}\n inputRef={enabledElementRef}\n onCommit={onCommitAndDispatch}\n onInput={onFilteredInput}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n role={role}\n rows={rows}\n textAlign={textAlign}\n value={value}\n {...inputProps}\n />\n {maxLengthCounter === 'remaining' && hasMaxLength && (\n <MaxLengthCounter\n maxLength={maxLength}\n valueLength={valueLength}\n onClick={onClickCounter}\n />\n )}\n {hasMaxLength && (\n <HiddenAccessible id={maxLengthDescribedByIdRef.current} isHidden={true}>\n {translations.formControl_maxLength({\n MAX_LENGTH: `${maxLength}`\n })}\n </HiddenAccessible>\n )}\n {hasMaxLength && isFocused && (\n <MaxLengthLiveRegion\n isMaxLengthExceeded={isMaxLengthExceeded}\n maxLength={maxLength}\n valueLength={valueLength}\n testId={testId ? testId + '_maxLength' : undefined}\n />\n )}\n </>\n );\n\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <TextField\n mainContent={mainContent}\n columnSpan={columnSpan}\n compactUserAssistance={compactUserAssistance}\n inlineUserAssistance={inlineUserAssistance}\n onBlur={focusProps?.onFocusOut}\n onFocus={focusProps?.onFocusIn}\n mainFieldRef={anchorRef}\n resize={resize}\n testId={testId}\n {...textFieldProps}\n {...fieldLabelProps}></TextField>\n </FormFieldContext.Provider>\n );\n }\n);\n"],"names":["_jsx","_jsxs","useCallback","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"TextArea-345f89d4.js","sources":["../../src/UNSAFE_TextArea/MaxLengthCounter.tsx","../../src/UNSAFE_TextArea/useTextAreaAltEnter.ts","../../src/UNSAFE_TextArea/TextArea.tsx"],"sourcesContent":["import { useCallback } from 'preact/hooks';\n\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { usePress } from '../hooks/UNSAFE_usePress';\nimport { useFormFieldContext } from '../hooks/UNSAFE_useFormFieldContext';\nimport { hide, maxLengthCounterBase, spanStyles } from './MaxLengthCounterStyles.css';\n\ntype Props = {\n maxLength: number;\n valueLength?: number;\n onClick?: () => void; // the calling component should focus on the appropriate element when clicked.\n};\n\nconst noop = () => {};\n\nexport function MaxLengthCounter({ maxLength, valueLength = 0, onClick }: Props) {\n const { isFocused } = useFormFieldContext();\n // We don't want mousedown on this component to do anything, so prevent the default behavior.\n const killEvent = useCallback((event: Event) => event.preventDefault(), []);\n const textClasses = classNames([!isFocused && hide]);\n const { pressProps } = usePress(onClick ?? noop);\n return (\n <div class={maxLengthCounterBase} onMouseDown={killEvent} {...pressProps}>\n <span class={textClasses}>\n <span class={spanStyles}>{valueLength}</span>\n <span class={spanStyles}>/</span>\n <span class={spanStyles}>{maxLength}</span>\n </span>\n </div>\n );\n}\n","import { ComponentProps, RefObject } from 'preact';\nimport { useCallback, useLayoutEffect, useState } from 'preact/hooks';\n\nimport { TextFieldInput } from '#UNSAFE_TextField';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\n\ntype UseTextAreaAltEnterOptions = {\n /**\n * The onInput of the TextFieldInput\n */\n onInput: NonNullable<ComponentProps<typeof TextFieldInput>['onInput']>;\n /**\n * The ref to the textarea element\n */\n textAreaRef: RefObject<HTMLTextAreaElement>;\n};\n\n/**\n * A custom hook to enable an alternate way for entering a new line in the TextArea components using\n * Alt + Enter (or option + return in MacOS). This is particularly useful in scenarios where pressing Enter\n * could mean a different action, like exiting from edit mode in a Table/DataGrid containing a TextArea.\n */\nexport const useTextAreaAltEnter = ({ onInput, textAreaRef }: UseTextAreaAltEnterOptions) => {\n // We want to have alt/option+Enter to insert a newline like Enter does.\n const [selectionStart, setSelectionStart] = useState<number>();\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n // If we see an alt+enter (or option+return on a Mac), we insert a newline and call onInputAndDispatch\n // since that is what is called any time the input value changes.\n if (event.altKey && event.key === 'Enter') {\n event.preventDefault(); // Prevent default Enter behavior\n const textarea = event.target as HTMLTextAreaElement;\n const { selectionStart: start, selectionEnd: end, value: previousValue } = textarea;\n const newValue = previousValue.substring(0, start) + '\\n' + previousValue.substring(end);\n\n const valueUpdateDetail: ValueUpdateDetail<string> = {\n previousValue: previousValue,\n value: newValue\n };\n setSelectionStart(start + 1);\n onInput(valueUpdateDetail);\n }\n },\n [onInput]\n );\n\n useLayoutEffect(() => {\n if (selectionStart) {\n textAreaRef.current?.setSelectionRange(selectionStart, selectionStart);\n // reset to undefined, so the next selectionStart will trigger the useLayoutEffect\n // even if it is the same as the previous selectionStart that was set. This is\n // because we are only setting selectionStart for alt+enter.\n setSelectionStart(undefined);\n }\n }, [selectionStart, textAreaRef]);\n\n return { handleKeyDown };\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps, Ref } from 'preact';\nimport { forwardRef, useCallback, useImperativeHandle, useRef } from 'preact/compat';\n\nimport { useCurrentValueReducer } from '#hooks/UNSAFE_useCurrentValueReducer';\nimport { FocusableHandle, useFocusableTextField } from '#hooks/UNSAFE_useFocusableTextField';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { CountUnit, useLengthFilter } from '#hooks/UNSAFE_useLengthFilter';\nimport { SelectableHandle, useSelectableTextField } from '#hooks/UNSAFE_useSelectableTextField';\nimport type { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { useTextField } from '#hooks/UNSAFE_useTextField';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { ComponentMessageItem } from '#UNSAFE_ComponentMessage';\nimport { HiddenAccessible } from '#UNSAFE_HiddenAccessible';\nimport { Label } from '#UNSAFE_Label';\nimport {\n MaxLengthLiveRegion,\n ReadonlyTextField,\n ReadonlyTextFieldInput,\n TextField,\n TextFieldInput\n} from '#UNSAFE_TextField';\nimport {\n CompactUserAssistance,\n InlineUserAssistance,\n UserAssistanceDensityType\n} from '#UNSAFE_UserAssistance';\nimport { defaultTextAlignForVariant } from '#utils/PRIVATE_formControlUtils';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { Size } from '#utils/UNSAFE_size';\nimport { LayoutColumnSpan } from '#utils/UNSAFE_styles/Layout';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { MaxLengthCounter } from './MaxLengthCounter';\nimport { useTextAreaAltEnter } from './useTextAreaAltEnter';\n\ntype TextFieldProps = ComponentProps<typeof TextField>;\ntype TextFieldInputProps = ComponentProps<typeof TextFieldInput>;\ntype InlineUserAssistanceProps = ComponentProps<typeof InlineUserAssistance>;\n\ntype Props = TestIdProps & {\n /**\n * The ID of an element (or space separated IDs of multiple elements) that\n * describes the input.\n */\n 'aria-describedby'?: TextFieldInputProps['aria-describedby'];\n\n /**\n * Text to provide guidance to help the user understand what to enter.\n */\n assistiveText?: InlineUserAssistanceProps['assistiveText'];\n /**\n * Dictates component's autocomplete state.\n * This attribute indicates whether the value of the control can be automatically completed by the browser.\n * The common values are \"on\" and \"off\".\n */\n autoComplete?: TextFieldInputProps['autoComplete'];\n /**\n * Autofocus specifies whether the component will get focus when the page is loaded.\n * If it is set to true then the associated component will get input focus when the page is loaded.\n * Setting this property doesn't set the focus to the component; it tells the browser to focus\n * to it when the element is inserted in the document.\n */\n autoFocus?: TextFieldInputProps['autoFocus'];\n /**\n * Specifies how many columns to span in a FormLayout with direction === 'row'\n */\n columnSpan?: LayoutColumnSpan;\n /**\n * Help source URL associated with the component.\n */\n helpSourceLink?: InlineUserAssistanceProps['helpSourceLink'];\n /**\n * Custom text to be rendered for the <code>helpSourceLink</code>.\n */\n helpSourceText?: InlineUserAssistanceProps['helpSourceText'];\n /**\n * Specifies whether the component is disabled.\n */\n isDisabled?: boolean;\n /**\n * Specifies whether the component is readonly.\n */\n isReadonly?: boolean;\n /**\n * Specifies for accessibility purposes whether a value is required.\n *\n * Setting this property to <code>false</code> means that a value is not required to be\n * committed by the user. Setting this property to <code>true</code> means that a value\n * is required to be committed by the user.\n */\n isRequired?: TextFieldInputProps['isRequired'];\n /**\n * Specifies whether to show an indicator on screen that a value is required, for example\n * before the user has committed a value.\n */\n isRequiredShown?: InlineUserAssistanceProps['isRequiredShown'];\n /**\n * Specifies the label associated with the field.\n */\n label: string;\n /**\n * Specifies where the label is positioned relative to the field.\n */\n labelEdge?: 'inside' | 'start' | 'top' | 'none';\n /**\n * Specifies the width of the label when <code>labelEdge</code> is <code>\"start\"</code>\n */\n labelStartWidth?: Size;\n /**\n * Specifies the maximum number of characters that can be entered in the input field.\n */\n maxLength?: number;\n /**\n * Determines whether the remaining number of characters that can be entered is shown or not.\n */\n maxLengthCounter?: 'none' | 'remaining';\n /**\n * Specifies how the input text characters are to be counted when maxLength is specified.\n */\n maxLengthUnit?: CountUnit;\n /**\n * Messages to show on screen that are associated with the component.\n */\n messages?: InlineUserAssistanceProps['messages'];\n /**\n * A short hint to display before the user enters a value.\n */\n placeholder?: TextFieldInputProps['placeholder'];\n /**\n * Specifies how the user is allowed to manually resize the TextArea component.\n */\n resize?: TextFieldProps['resize'];\n /**\n * Specifies the ARIA role type.\n */\n role?: TextFieldInputProps['role'];\n /**\n * Specifies the number of rows to display\n */\n rows?: TextFieldInputProps['rows'];\n /**\n * Specifies how to align text within the field.\n */\n textAlign?: TextFieldInputProps['textAlign'];\n /**\n * Specifies the density of the user assistance presentation. It can be set to:\n * <ul>\n * <li><code>'efficient'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * <li><code>'reflow'</code>: Show inline. Layout will reflow when text is displayed.</li>\n * <li><code>'compact'</code>: Messages, help, hints, and required will not be shown inline; they will show in a mode that keeps the screen more compact, like a popup for the messages, and a required icon to indicate Required. </li>\n * </ul>\n */\n userAssistanceDensity?: UserAssistanceDensityType;\n /**\n * The current display value of the component.\n */\n value?: TextFieldInputProps['value'];\n /**\n * The style variant of the component.\n */\n variant?: TextFieldInputProps['variant'];\n /**\n * Callback invoked when the user commits the entered value by blurring out of the field.\n */\n onCommit?: TextFieldInputProps['onCommit'];\n /**\n * Callback invoked each time the user changes the value of the field. For example, if the user\n * types 'abcd', this callback will be called four times with the value as 'a', 'ab', 'abc' and 'abcd'\n * respectively.\n */\n onInput: TextFieldInputProps['onInput'];\n};\n\ntype FocusSelectHandle = FocusableHandle & SelectableHandle;\n\n/**\n * A text area displays a field that allows a user to enter a multi-line text value.\n */\nexport const TextArea = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n assistiveText,\n autoComplete = 'off',\n autoFocus = false,\n columnSpan,\n helpSourceLink,\n helpSourceText,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n isRequired = false,\n isRequiredShown,\n label,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n maxLength,\n maxLengthCounter = 'remaining',\n maxLengthUnit,\n messages,\n placeholder,\n resize,\n role,\n rows,\n textAlign: propTextAlign,\n userAssistanceDensity: propUserAssistanceDensity,\n value,\n variant = 'default',\n onInput,\n onCommit,\n testId\n }: Props,\n ref?: Ref<FocusSelectHandle>\n ) => {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const formControl_limitReached = maxLength\n ? translations.formControl_limitReached({\n CHARACTER_LIMIT: maxLength\n })\n : '';\n\n const { currentCommitValue, dispatch } = useCurrentValueReducer({ value });\n const onInputAndDispatch = useCallback(\n (detail: ValueUpdateDetail<string>) => {\n // Should dispatch happen first? This will queue up a re-render, ordering should not cause issues (this is async)\n dispatch({ type: 'input', payload: detail.value });\n onInput?.(detail);\n },\n [onInput, dispatch]\n );\n const onCommitAndDispatch = useCallback(\n (detail: ValueUpdateDetail<string>) => {\n // Should dispatch happen first? This will queue up a re-render, ordering should not cause issues (this is async)\n dispatch({ type: 'commit', payload: detail.value });\n onCommit?.(detail);\n },\n [onCommit, dispatch]\n );\n\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n textAlign: formTextAlign,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n const textAlign = propTextAlign ?? formTextAlign ?? defaultTextAlignForVariant(variant);\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n const maxLengthDescribedByIdRef = useRef<string>(useId());\n // The enabledAriaDescribedBy includes the maxLengthDescribedById in addition to what was passed in to aria-describedby.\n // We don't need to announce the max length message for readonly, as it only applies when editing the value.\n const enabledAriaDescribedBy = ariaDescribedBy\n ? `${ariaDescribedBy} ${maxLengthDescribedByIdRef.current}`\n : maxLengthDescribedByIdRef.current;\n\n const enabledElementRef = useRef<HTMLTextAreaElement>(null);\n const readonlyElementRef = useRef<HTMLTextAreaElement>(null);\n\n // We want to have alt/option+Enter to insert a newline like Enter does.\n const { handleKeyDown } = useTextAreaAltEnter({\n onInput: onInputAndDispatch,\n textAreaRef: enabledElementRef\n });\n\n const {\n focusProps,\n isFocused,\n methods: focusMethods\n } = useFocusableTextField<HTMLTextAreaElement, HTMLTextAreaElement>({\n isDisabled,\n isReadonly,\n enabledElementRef,\n readonlyElementRef\n });\n\n const { methods: selectMethods } =\n useSelectableTextField<HTMLTextAreaElement>(enabledElementRef);\n\n useImperativeHandle(ref!, () => mergeProps(focusMethods, selectMethods), [\n focusMethods,\n selectMethods\n ]);\n\n // Handle length filter for user-typed inputs and controlled inputs\n const { isMaxLengthExceeded, isMaxLengthReached, valueLength, onFilteredInput } =\n useLengthFilter({\n maxLength,\n maxLengthUnit,\n value,\n onInput: onInputAndDispatch,\n onCommit: onCommitAndDispatch\n });\n\n const limitMessage = [{ detail: formControl_limitReached, severity: 'info' }];\n const allMessages = [\n ...(messages ?? []),\n ...(isMaxLengthReached ? limitMessage : [])\n ] as ComponentMessageItem[];\n\n const { formFieldContext, inputProps, labelProps, textFieldProps, userAssistanceProps } =\n useTextField({\n ariaDescribedBy: isReadonly || isDisabled ? ariaDescribedBy : enabledAriaDescribedBy,\n contentVariant: 'textarea',\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isFocused,\n isReadonly,\n isRequiredShown,\n labelEdge,\n messages: allMessages,\n styleVariant: variant,\n userAssistanceDensity,\n value\n });\n\n const onClickCounter = useCallback(() => {\n const elm = enabledElementRef.current;\n // for setSelectionRange(), len needs to be a number or null.\n const len = elm ? elm.value.length : null;\n // Since the counter element is after the text, clicking in this\n // should put the selection at the end of the text\n enabledElementRef.current?.setSelectionRange(len, len);\n // Clicking the counter should put the focus on the input field\n enabledElementRef.current?.focus();\n }, [enabledElementRef]);\n\n const labelComp = labelEdge !== 'none' ? <Label {...labelProps}>{label}</Label> : undefined;\n\n const fieldLabelProps = {\n label: labelEdge !== 'none' ? labelComp : undefined,\n labelEdge: labelEdge !== 'none' ? labelEdge : undefined,\n labelStartWidth: labelEdge !== 'none' ? labelStartWidth : undefined,\n labelText: labelEdge === 'inside' && !isDisabled ? label : undefined\n };\n\n const ariaLabel = labelEdge === 'none' ? label : undefined;\n const isInlineDensity =\n userAssistanceDensity === 'efficient' || userAssistanceDensity === 'reflow';\n\n const inlineUserAssistance = isInlineDensity ? (\n isDisabled ? (\n // save space for user assistance if density is 'efficient', even though we don't\n // render user assistance for disabled fields\n userAssistanceDensity !== 'efficient' ? undefined : (\n <InlineUserAssistance\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n )\n ) : isReadonly ? (\n <InlineUserAssistance\n fieldLabel={label}\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n ) : (\n <InlineUserAssistance\n assistiveText={assistiveText}\n fieldLabel={label}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n messages={allMessages}\n isRequiredShown={isRequiredShown}\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n )\n ) : undefined;\n\n const anchorRef = useRef<HTMLDivElement>(null);\n\n const compactUserAssistance =\n userAssistanceDensity === 'compact' ? (\n <CompactUserAssistance\n anchorRef={anchorRef}\n messages={allMessages}\n assistiveText={assistiveText}\n {...userAssistanceProps}\n />\n ) : undefined;\n\n if (isReadonly) {\n const mainContent = (\n <ReadonlyTextFieldInput\n aria-describedby={inputProps['aria-describedby']}\n aria-label={ariaLabel}\n aria-labelledby={labelProps.id}\n as=\"textarea\"\n elementRef={readonlyElementRef}\n formVariant={variant}\n rows={rows}\n autoFocus={autoFocus}\n textAlign={textAlign}\n value={value}\n variant=\"textarea\"\n hasEmptyLabel={label === '' && labelEdge === 'none'}\n hasInsideLabel={label !== undefined && labelEdge === 'inside'}\n onBlur={inputProps.onBlur}\n onFocus={inputProps.onFocus}\n />\n );\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <ReadonlyTextField\n role=\"presentation\"\n columnSpan={columnSpan}\n compactUserAssistance={compactUserAssistance}\n inlineUserAssistance={inlineUserAssistance}\n ref={anchorRef}\n testId={testId}\n variant=\"textarea\"\n mainContent={mainContent}\n resize={resize}\n {...fieldLabelProps}\n />\n </FormFieldContext.Provider>\n );\n }\n const hasMaxLength = maxLength !== undefined;\n const mainContent = (\n <>\n <TextFieldInput\n as=\"textarea\"\n aria-label={ariaLabel}\n autoComplete={autoComplete}\n autoFocus={autoFocus}\n currentCommitValue={currentCommitValue}\n hasEmptyLabel={label === '' && labelEdge === 'none'}\n hasInsideLabel={labelComp !== undefined && labelEdge === 'inside'}\n isRequired={isRequired}\n inputRef={enabledElementRef}\n onCommit={onCommitAndDispatch}\n onInput={onFilteredInput}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n role={role}\n rows={rows}\n textAlign={textAlign}\n value={value}\n {...inputProps}\n />\n {maxLengthCounter === 'remaining' && hasMaxLength && (\n <MaxLengthCounter\n maxLength={maxLength}\n valueLength={valueLength}\n onClick={onClickCounter}\n />\n )}\n {hasMaxLength && (\n <HiddenAccessible id={maxLengthDescribedByIdRef.current} isHidden={true}>\n {translations.formControl_maxLength({\n MAX_LENGTH: `${maxLength}`\n })}\n </HiddenAccessible>\n )}\n {hasMaxLength && isFocused && (\n <MaxLengthLiveRegion\n isMaxLengthExceeded={isMaxLengthExceeded}\n maxLength={maxLength}\n valueLength={valueLength}\n testId={testId ? testId + '_maxLength' : undefined}\n />\n )}\n </>\n );\n\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <TextField\n mainContent={mainContent}\n columnSpan={columnSpan}\n compactUserAssistance={compactUserAssistance}\n inlineUserAssistance={inlineUserAssistance}\n onBlur={focusProps?.onFocusOut}\n onFocus={focusProps?.onFocusIn}\n mainFieldRef={anchorRef}\n resize={resize}\n testId={testId}\n {...textFieldProps}\n {...fieldLabelProps}></TextField>\n </FormFieldContext.Provider>\n );\n }\n);\n"],"names":["noop","MaxLengthCounter","maxLength","valueLength","onClick","isFocused","useFormFieldContext","killEvent","useCallback","event","preventDefault","textClasses","classNames","pressProps","usePress","_jsx","jsx","class","onMouseDown","_jsxs","jsxs","children","spanStyles","useTextAreaAltEnter","onInput","textAreaRef","selectionStart","setSelectionStart","useState","handleKeyDown","altKey","key","textarea","target","start","selectionEnd","end","value","previousValue","newValue","substring","valueUpdateDetail","useLayoutEffect","current","setSelectionRange","undefined","TextArea","forwardRef","ariaDescribedBy","assistiveText","autoComplete","autoFocus","columnSpan","helpSourceLink","helpSourceText","isDisabled","propIsDisabled","isReadonly","propIsReadonly","isRequired","isRequiredShown","label","labelEdge","propLabelEdge","labelStartWidth","propLabelStartWidth","maxLengthCounter","maxLengthUnit","messages","placeholder","resize","role","rows","textAlign","propTextAlign","userAssistanceDensity","propUserAssistanceDensity","variant","onCommit","testId","ref","translations","useTranslationBundle","formControl_limitReached","CHARACTER_LIMIT","currentCommitValue","dispatch","useCurrentValueReducer","onInputAndDispatch","detail","type","payload","onCommitAndDispatch","isFormDisabled","isFormReadonly","formLabelEdge","formLabelStartWidth","formTextAlign","formUserAssistanceDensity","useFormContext","defaultTextAlignForVariant","maxLengthDescribedByIdRef","useRef","useId","enabledAriaDescribedBy","enabledElementRef","readonlyElementRef","focusProps","methods","focusMethods","useFocusableTextField","selectMethods","useSelectableTextField","useImperativeHandle","mergeProps","isMaxLengthExceeded","isMaxLengthReached","onFilteredInput","useLengthFilter","allMessages","severity","formFieldContext","inputProps","labelProps","textFieldProps","userAssistanceProps","useTextField","contentVariant","styleVariant","onClickCounter","elm","len","length","focus","labelComp","Label","fieldLabelProps","labelText","ariaLabel","inlineUserAssistance","InlineUserAssistance","fieldLabel","anchorRef","compactUserAssistance","CompactUserAssistance","mainContent","ReadonlyTextFieldInput","id","as","elementRef","formVariant","hasEmptyLabel","hasInsideLabel","onBlur","onFocus","FormFieldContext","Provider","ReadonlyTextField","hasMaxLength","_Fragment","Fragment","TextFieldInput","inputRef","onKeyDown","HiddenAccessible","isHidden","formControl_maxLength","MAX_LENGTH","MaxLengthLiveRegion","TextField","onFocusOut","onFocusIn","mainFieldRef"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact/compat', './useCurrentValueReducer-faded381', './useFocusableTextField-8b755b15', './FormContext-6b0879a0', './useFormContext-b8cbbb21', './FormFieldContext-a024b891', 'preact/hooks', './useId-c9578d26', './useLengthFilter-c05fd679', './useSelectableTextField-900d2860', './useTextField-3ab0a23b', './useTranslationBundle-e4dd341e', './HiddenAccessible-037ef42d', './Label-701506b1', './TextArea-345f89d4', './keyboardUtils-fb6219eb', './TextFieldInput-f8635c62', 'css!./ObfuscatedTextFieldInputStyles.styles.css', './ReadonlyTextFieldInput-41384d7e', './StyledTextField-2b62c81d', './TextField-c8c71735', './MaxLengthLiveRegion-8f9f7247', './UNSAFE_TextField/themes/TextFieldStyles.css', 'css!./SkeletonStyles.styles.css', 'css!./TextFieldLoadingStyles.styles.css', 'css!./TextFieldStyles.styles.css', 'module', './UNSAFE_TextField/themes/redwood/TextFieldVariants.css', './logger-0f873e29', './TabbableModeContext-a9c97640', 'css!./UserAssistanceStyles.styles.css', 'module', './UNSAFE_UserAssistance/themes/redwood/UserAssistanceVariants.css', './InlineUserAssistance-a59440e5', './CompactUserAssistance-fcc04dcc', './mergeProps-bcfa6a92', './LayerHost-0b288129', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', 'preact', 'css!./IconStyle.styles.css', './Popup-6b57cc3e', 'css!./LabelStyles.styles.css', 'module', './UNSAFE_Label/themes/redwood/LabelVariants.css', './InputGroupContext-372087af', 'module', './UNSAFE_Popup/themes/redwood/PopupVariants.css', './formControlUtils-de035f75'], (function(e,s,t,n,a,o,l,i,r,d,c,u,m,x,p,h,b,F,f,y,g,T,A,R,v,L,S,C,U,E,w,I,j,_,D,P,B,H,V,k,N,M,q,W,$,z,G,K,O,X,J,Q,Y){"use strict";const Z=({isReadonly:e,enabledElementRef:s,readonlyElementRef:t,minRows:n=2,maxRows:a,value:o})=>{r.useLayoutEffect((()=>{const o=e?t:s;if(null===o.current)return;if(o.current instanceof HTMLDivElement)return;const l=o.current,i=(e=>{const s=window.getComputedStyle(e),t=s.lineHeight;if("normal"===t)return 1.2*parseFloat(s.fontSize);return parseFloat(t)})(l);l.style.height="0";const{paddingHeight:r,borderHeight:d}=(e=>{const s=window.getComputedStyle(e);return{paddingHeight:parseFloat(s.paddingTop)+parseFloat(s.paddingBottom),borderHeight:parseFloat(s.borderTop)+parseFloat(s.borderBottom)}})(l),c=i*n+r+d,u=l.scrollHeight+d;let m=0;if(void 0===a)m=u<c?c:u;else if(a>n){const e=i*a+r+d;m=u>e?e:u<c?c:u}else m=c;l.style.height=m+.5+"px"}),[o,n,a,e,s,t])},ee=t.forwardRef((({"aria-describedby":e,assistiveText:o,autoComplete:r="off",autoFocus:F=!1,columnSpan:y,helpSourceLink:v,helpSourceText:L,isDisabled:S,isReadonly:C,isRequired:U=!1,isRequiredShown:E,label:w,labelEdge:I,labelStartWidth:j,maxLength:_,maxLengthCounter:D="remaining",maxLengthUnit:V,maxRows:k,messages:N,minRows:M=2,placeholder:q,role:W,textAlign:$,userAssistanceDensity:z,value:G,variant:K="default",onInput:O,onCommit:X,testId:J},Q)=>{const ee=x.useTranslationBundle("@oracle/oraclejet-preact"),se=_?ee.formControl_limitReached({CHARACTER_LIMIT:_}):"",{currentCommitValue:te,dispatch:ne}=n.useCurrentValueReducer({value:G}),ae=t.useCallback((e=>{ne({type:"input",payload:e.value}),O?.(e)}),[O,ne]),oe=t.useCallback((e=>{ne({type:"commit",payload:e.value}),X?.(e)}),[X,ne]),{isDisabled:le,isReadonly:ie,labelEdge:re,labelStartWidth:de,textAlign:ce,userAssistanceDensity:ue}=l.useFormContext(),me=S??le,xe=C??ie,pe=I??re,he=j??de,be=$??ce??Y.defaultTextAlignForVariant(K),Fe=z??ue,fe=t.useRef(d.useId()),ye=e?`${e} ${fe.current}`:fe.current,ge=t.useRef(null),Te=t.useRef(null),{handleKeyDown:Ae}=b.useTextAreaAltEnter({onInput:ae,textAreaRef:ge}),{focusProps:Re,isFocused:ve,methods:Le}=a.useFocusableTextField({isDisabled:me,isReadonly:xe,enabledElementRef:ge,readonlyElementRef:Te}),{methods:Se}=u.useSelectableTextField(ge);t.useImperativeHandle(Q,(()=>H.mergeProps(Le,Se)),[Le,Se]);const{isMaxLengthExceeded:Ce,isMaxLengthReached:Ue,valueLength:Ee,onFilteredInput:we}=c.useLengthFilter({maxLength:_,maxLengthUnit:V,value:G,onInput:ae,onCommit:oe}),Ie=[...N??[],...Ue?[{detail:se,severity:"info"}]:[]],{formFieldContext:je,inputProps:_e,labelProps:De,textFieldProps:Pe,userAssistanceProps:Be}=m.useTextField({ariaDescribedBy:xe||me?e:ye,contentVariant:"textarea",helpSourceLink:v,helpSourceText:L,isDisabled:me,isFocused:ve,isReadonly:xe,isRequiredShown:E,labelEdge:pe,messages:Ie,styleVariant:K,userAssistanceDensity:Fe,value:G}),He=t.useCallback((()=>{const e=ge.current,s=e?e.value.length:null;ge.current?.setSelectionRange(s,s),ge.current?.focus()}),[ge]),Ve="none"!==pe?s.jsx(h.Label,{...De,children:w}):void 0,ke={label:"none"!==pe?Ve:void 0,labelEdge:"none"!==pe?pe:void 0,labelStartWidth:"none"!==pe?he:void 0,labelText:"inside"!==pe||me?void 0:w},Ne="none"===pe?w:void 0,Me="efficient"===Fe||"reflow"===Fe?me?"efficient"!==Fe?void 0:s.jsx(P.InlineUserAssistance,{userAssistanceDensity:Fe,...Be}):xe?s.jsx(P.InlineUserAssistance,{fieldLabel:w,messages:N,userAssistanceDensity:Fe,...Be}):s.jsx(P.InlineUserAssistance,{assistiveText:o,fieldLabel:w,helpSourceLink:v,helpSourceText:L,messages:Ie,isRequiredShown:E,userAssistanceDensity:Fe,...Be}):void 0,qe=t.useRef(null),We="compact"===Fe?s.jsx(B.CompactUserAssistance,{anchorRef:qe,messages:Ie,assistiveText:o,...Be}):void 0;if(Z({isReadonly:xe,enabledElementRef:ge,readonlyElementRef:Te,minRows:M,maxRows:k,value:G}),xe){const e=s.jsx(g.ReadonlyTextFieldInput,{"aria-describedby":_e["aria-describedby"],"aria-label":Ne,"aria-labelledby":De.id,autoFocus:F,elementRef:Te,formVariant:K,...k?{as:"textarea",rows:M}:{as:"div"},onBlur:_e.onBlur,onFocus:_e.onFocus,textAlign:be,value:G,variant:"textarea",hasEmptyLabel:""===w&&"none"===pe,hasInsideLabel:void 0!==w&&"inside"===pe});return s.jsx(i.FormFieldContext.Provider,{value:je,children:s.jsx(T.ReadonlyTextField,{role:"presentation",columnSpan:y,compactUserAssistance:We,inlineUserAssistance:Me,variant:"textarea",mainContent:e,ref:qe,testId:J,...ke})})}const $e=void 0!==_,ze=s.jsxs(s.Fragment,{children:[s.jsx(f.TextFieldInput,{as:"textarea","aria-label":Ne,autoComplete:r,autoFocus:F,currentCommitValue:te,hasEmptyLabel:""===w&&"none"===pe,hasInsideLabel:void 0!==Ve&&"inside"===pe,isRequired:U,inputRef:ge,onCommit:oe,onInput:we,onKeyDown:Ae,placeholder:q,role:W,rows:M,textAlign:be,value:G,..._e}),"remaining"===D&&$e&&s.jsx(b.MaxLengthCounter,{maxLength:_,valueLength:Ee,onClick:He}),$e&&s.jsx(p.HiddenAccessible,{id:fe.current,children:ee.formControl_maxLength({MAX_LENGTH:`${_}`})}),$e&&ve&&s.jsx(R.MaxLengthLiveRegion,{isMaxLengthExceeded:Ce,maxLength:_,valueLength:Ee,testId:J?J+"_maxLength":void 0})]});return s.jsx(i.FormFieldContext.Provider,{value:je,children:s.jsx(A.TextField,{mainContent:ze,columnSpan:y,compactUserAssistance:We,inlineUserAssistance:Me,onBlur:Re?.onFocusOut,onFocus:Re?.onFocusIn,mainFieldRef:qe,testId:J,...Pe,...ke})})}));e.TextAreaAutosize=ee}));
2
+ //# sourceMappingURL=TextAreaAutosize-01dfd98e.js.map