@oracle/oraclejet-preact 18.0.0 → 18.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/amd/InputDatePicker-18e2546b.js +2 -0
  2. package/amd/{InputDatePicker-fc39f0a6.js.map → InputDatePicker-18e2546b.js.map} +1 -1
  3. package/amd/ReadonlyTextFieldVariants.styles.css +20 -20
  4. package/amd/ReadonlyTextFieldVariants.styles2.css +20 -20
  5. package/amd/Theme-redwood/theme.css +142 -142
  6. package/amd/Theme-stable/theme.css +216 -216
  7. package/amd/UNSAFE_InputDateMask.js +1 -1
  8. package/amd/UNSAFE_InputDatePicker.js +1 -1
  9. package/amd/UNSAFE_InputPassword.js +1 -1
  10. package/amd/UNSAFE_InputSensitiveText.js +1 -1
  11. package/amd/UNSAFE_InputSensitiveText.js.map +1 -1
  12. package/amd/UNSAFE_InputText.js +1 -1
  13. package/amd/UNSAFE_InputTimeMask.js +1 -1
  14. package/amd/UNSAFE_InputTimeMask.js.map +1 -1
  15. package/amd/UNSAFE_LabelledLink.js +1 -1
  16. package/amd/UNSAFE_LabelledLink.js.map +1 -1
  17. package/amd/UNSAFE_NumberInputText.js +1 -1
  18. package/amd/UNSAFE_SelectMultiple.js +1 -1
  19. package/amd/UNSAFE_SelectSingle.js +1 -1
  20. package/amd/UNSAFE_TextArea.js +1 -1
  21. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  22. package/amd/UNSAFE_TextField/themes/redwood/ReadonlyTextFieldTheme.js +1 -1
  23. package/amd/UNSAFE_TextField/themes/redwood/ReadonlyTextFieldTheme.js.map +1 -1
  24. package/amd/UNSAFE_TextField/themes/redwood/ReadonlyTextFieldVariants.css.js +1 -1
  25. package/amd/UNSAFE_TextField/themes/stable/ReadonlyTextFieldTheme.js +1 -1
  26. package/amd/UNSAFE_TextField/themes/stable/ReadonlyTextFieldTheme.js.map +1 -1
  27. package/amd/UNSAFE_TextField/themes/stable/ReadonlyTextFieldVariants.css.js +1 -1
  28. package/amd/UNSAFE_TextField.js +1 -1
  29. package/cjs/ActionCard-61b21d6c.js +1 -1
  30. package/cjs/{BarChart-ca7f8ed5.js → BarChart-93a3813c.js} +3 -3
  31. package/cjs/{BarChart-ca7f8ed5.js.map → BarChart-93a3813c.js.map} +1 -1
  32. package/cjs/BarGroup-4a24a995.js +1 -1
  33. package/cjs/BaseButton-3a0bf8e4.js +2 -2
  34. package/cjs/BaseCardView-ade994f5.js +7 -7
  35. package/cjs/{BaseCardViewSelectionTest-df948f2c.js → BaseCardViewSelectionTest-c6f05079.js} +7 -7
  36. package/cjs/{BaseCardViewSelectionTest-df948f2c.js.map → BaseCardViewSelectionTest-c6f05079.js.map} +1 -1
  37. package/cjs/{useNavigationListItem-ae481fdc.js → BaseNavigationListItem-50e4c603.js} +40 -2
  38. package/cjs/BaseNavigationListItem-50e4c603.js.map +1 -0
  39. package/cjs/BaseRichSelection-e73cac1d.js +8 -8
  40. package/cjs/ButtonSet-90db1168.js +2 -2
  41. package/cjs/ButtonSetIconButton-f3b4a721.js +3 -3
  42. package/cjs/{Card-a6693442.js → Card-a0dadf5f.js} +2 -2
  43. package/cjs/{Card-a6693442.js.map → Card-a0dadf5f.js.map} +1 -1
  44. package/cjs/{Center-c0baccb0.js → Center-9f407cb2.js} +2 -2
  45. package/cjs/{Center-c0baccb0.js.map → Center-9f407cb2.js.map} +1 -1
  46. package/cjs/{Chart-fbbd3329.js → Chart-40d95d14.js} +10 -10
  47. package/cjs/{Chart-fbbd3329.js.map → Chart-40d95d14.js.map} +1 -1
  48. package/cjs/CheckboxControl-5beb656d.js +6 -6
  49. package/cjs/CheckboxRadioField-0d5c9def.js +6 -6
  50. package/cjs/Chip-f12bb8cd.js +1 -1
  51. package/cjs/ClearIcon-edcc3f6e.js +1 -1
  52. package/cjs/CollapseIcon-2394e7ea.js +1 -1
  53. package/cjs/Collapsible-41311eb0.js +2 -2
  54. package/cjs/{ComboChart-95863e7a.js → ComboChart-cffd0759.js} +4 -4
  55. package/cjs/{ComboChart-95863e7a.js.map → ComboChart-cffd0759.js.map} +1 -1
  56. package/cjs/CompactHelpSource-61ead0c7.js +2 -2
  57. package/cjs/{CompactLabelAssistance-fd841834.js → CompactLabelAssistance-ec1e72af.js} +5 -5
  58. package/cjs/{CompactLabelAssistance-fd841834.js.map → CompactLabelAssistance-ec1e72af.js.map} +1 -1
  59. package/cjs/CompactUserAssistance-391bf7ca.js +4 -4
  60. package/cjs/ComponentMessageContainer-24e79106.js +4 -4
  61. package/cjs/ConveyorBeltItem-ac146ef0.js +2 -2
  62. package/cjs/{DatePicker-65b047ad.js → DatePicker-d99097e4.js} +6 -6
  63. package/cjs/{DatePicker-65b047ad.js.map → DatePicker-d99097e4.js.map} +1 -1
  64. package/cjs/DatePickerHeader-0938a3aa.js +3 -3
  65. package/cjs/{Diagram-2e66a8cb.js → Diagram-aceccb23.js} +5 -5
  66. package/cjs/{Diagram-2e66a8cb.js.map → Diagram-aceccb23.js.map} +1 -1
  67. package/cjs/{Dialog-4160338c.js → Dialog-2219a24f.js} +8 -8
  68. package/cjs/{Dialog-4160338c.js.map → Dialog-2219a24f.js.map} +1 -1
  69. package/cjs/DirectionalCollapseArrowIcon-0cf2279a.js +1 -1
  70. package/cjs/DirectionalExpandArrowIcon-a362cb2f.js +1 -1
  71. package/cjs/{DragHandle-67b6118b.js → DragHandle-951c36ef.js} +2 -2
  72. package/cjs/{DragHandle-67b6118b.js.map → DragHandle-951c36ef.js.map} +1 -1
  73. package/cjs/{Dropdown-34b8f141.js → Dropdown-00e73e4d.js} +5 -5
  74. package/cjs/{Dropdown-34b8f141.js.map → Dropdown-00e73e4d.js.map} +1 -1
  75. package/cjs/{EnvironmentProvider-75eb79f3.js → EnvironmentProvider-bfd5febc.js} +3 -3
  76. package/cjs/{EnvironmentProvider-75eb79f3.js.map → EnvironmentProvider-bfd5febc.js.map} +1 -1
  77. package/cjs/ExpandableList-be84ca8e.js +3 -3
  78. package/cjs/FilePicker-f93470cf.js +2 -2
  79. package/cjs/{Flex-e7a85bef.js → Flex-ce16a2fa.js} +2 -2
  80. package/cjs/{Flex-e7a85bef.js.map → Flex-ce16a2fa.js.map} +1 -1
  81. package/cjs/{Floating-56621d20.js → Floating-3a80c067.js} +4 -4
  82. package/cjs/{Floating-56621d20.js.map → Floating-3a80c067.js.map} +1 -1
  83. package/cjs/FormLayout-86e60b6c.js +1 -1
  84. package/cjs/Gantt-7b6b99a0.js +9 -9
  85. package/cjs/{Grid-a7316edd.js → Grid-b8fadf4a.js} +2 -2
  86. package/cjs/{Grid-a7316edd.js.map → Grid-b8fadf4a.js.map} +1 -1
  87. package/cjs/{Gridlines-ef3af190.js → Gridlines-22c46764.js} +2 -2
  88. package/cjs/{Gridlines-ef3af190.js.map → Gridlines-22c46764.js.map} +1 -1
  89. package/cjs/GroupLoadingIndicator-5940d185.js +1 -1
  90. package/cjs/{HighlightText-dd11dd32.js → HighlightText-2061d12d.js} +2 -2
  91. package/cjs/{HighlightText-dd11dd32.js.map → HighlightText-2061d12d.js.map} +1 -1
  92. package/cjs/Icon-c024b93c.js +3 -3
  93. package/cjs/IconButton-28559efb.js +3 -3
  94. package/cjs/IconMenuButton-2a108d43.js +3 -3
  95. package/cjs/IconProgressButton-01d95e57.js +3 -3
  96. package/cjs/IconSwitchButton-a1016218.js +3 -3
  97. package/cjs/IconToggleButton-52f6f126.js +3 -3
  98. package/cjs/{IconUserAssistance-52208fde.js → IconUserAssistance-3faf6a09.js} +3 -3
  99. package/cjs/{IconUserAssistance-52208fde.js.map → IconUserAssistance-3faf6a09.js.map} +1 -1
  100. package/cjs/Indexer-72430806.js +4 -4
  101. package/cjs/InlineHelpSource-0549100d.js +1 -1
  102. package/cjs/InlineUserAssistance-820162f4.js +5 -5
  103. package/cjs/InputDateMask-a7575cef.js +7 -7
  104. package/cjs/{InputDatePicker-bc2c534a.js → InputDatePicker-4d36637f.js} +10 -10
  105. package/cjs/{InputDatePicker-bc2c534a.js.map → InputDatePicker-4d36637f.js.map} +1 -1
  106. package/cjs/InputPassword-eb6d227b.js +4 -4
  107. package/cjs/InputText-a9c423c3.js +6 -6
  108. package/cjs/Label-e0d15892.js +5 -5
  109. package/cjs/LabelValueLayout-4049c1a1.js +1 -1
  110. package/cjs/{Layer-0053053a.js → Layer-49394ca6.js} +3 -3
  111. package/cjs/{Layer-0053053a.js.map → Layer-49394ca6.js.map} +1 -1
  112. package/cjs/{LayerHost-a8c7f182.js → LayerHost-7182bfaf.js} +2 -2
  113. package/cjs/{LayerHost-a8c7f182.js.map → LayerHost-7182bfaf.js.map} +1 -1
  114. package/cjs/{LayerManager-2d0b83ac.js → LayerManager-db087520.js} +2 -2
  115. package/cjs/{LayerManager-2d0b83ac.js.map → LayerManager-db087520.js.map} +1 -1
  116. package/cjs/Legend-33a7824e.js +3 -3
  117. package/cjs/{LineAreaChart-4a54a017.js → LineAreaChart-57408e94.js} +4 -4
  118. package/cjs/{LineAreaChart-4a54a017.js.map → LineAreaChart-57408e94.js.map} +1 -1
  119. package/cjs/{LineSeries-0e984080.js → LineSeries-995be81c.js} +2 -2
  120. package/cjs/{LineSeries-0e984080.js.map → LineSeries-995be81c.js.map} +1 -1
  121. package/cjs/Link-b8435440.js +1 -1
  122. package/cjs/List-0dc2c4c4.js +5 -5
  123. package/cjs/{ListItemLayout-ec53f199.js → ListItemLayout-bc581097.js} +2 -2
  124. package/cjs/{ListItemLayout-ec53f199.js.map → ListItemLayout-bc581097.js.map} +1 -1
  125. package/cjs/ListView-17b8250d.js +3 -3
  126. package/cjs/{LiveRegion-567427c5.js → LiveRegion-3bc583c6.js} +2 -2
  127. package/cjs/{LiveRegion-567427c5.js.map → LiveRegion-3bc583c6.js.map} +1 -1
  128. package/cjs/{MaxLengthLiveRegion-f03f07c6.js → MaxLengthLiveRegion-5e31c44e.js} +3 -3
  129. package/cjs/{MaxLengthLiveRegion-f03f07c6.js.map → MaxLengthLiveRegion-5e31c44e.js.map} +1 -1
  130. package/cjs/Menu-658212ed.js +6 -6
  131. package/cjs/MenuButton-1599ce50.js +2 -2
  132. package/cjs/MenuItem-c459d748.js +1 -1
  133. package/cjs/Message-33a66325.js +2 -2
  134. package/cjs/{MessageLayer-f9aa9828.js → MessageLayer-fc21a223.js} +6 -6
  135. package/cjs/{MessageLayer-f9aa9828.js.map → MessageLayer-fc21a223.js.map} +1 -1
  136. package/cjs/MessageToast-0b1d66ed.js +8 -8
  137. package/cjs/MessagesManager-1ae749bf.js +3 -3
  138. package/cjs/MeterBar-0adbe81a.js +5 -5
  139. package/cjs/MeterCircle-97a75b35.js +5 -5
  140. package/cjs/{Modal-b9987f2d.js → Modal-76b3a4d9.js} +3 -3
  141. package/cjs/{Modal-b9987f2d.js.map → Modal-76b3a4d9.js.map} +1 -1
  142. package/cjs/{MonthView-9c2819f0.js → MonthView-458d3d61.js} +4 -4
  143. package/cjs/{MonthView-9c2819f0.js.map → MonthView-458d3d61.js.map} +1 -1
  144. package/cjs/{NavigationList-7495908b.js → NavigationListItem-4c4e804d.js} +23 -5
  145. package/cjs/NavigationListItem-4c4e804d.js.map +1 -0
  146. package/cjs/NumberInputText-3f25f408.js +6 -6
  147. package/cjs/{OverflowTabBar-e92bab53.js → OverflowTabBar-428798a0.js} +3 -3
  148. package/cjs/{OverflowTabBar-e92bab53.js.map → OverflowTabBar-428798a0.js.map} +1 -1
  149. package/cjs/{OverflowTabBarItem-5820e1fa.js → OverflowTabBarItem-3c7adb01.js} +7 -8
  150. package/cjs/{OverflowTabBarItem-5820e1fa.js.map → OverflowTabBarItem-3c7adb01.js.map} +1 -1
  151. package/cjs/PRIVATE_BaseCardView.js +22 -22
  152. package/cjs/PRIVATE_Chart.js +35 -35
  153. package/cjs/PRIVATE_CheckboxControl.js +23 -23
  154. package/cjs/PRIVATE_CheckboxRadioField.js +24 -24
  155. package/cjs/PRIVATE_ClearIcon.js +18 -18
  156. package/cjs/PRIVATE_DatePickerHeader.js +19 -19
  157. package/cjs/PRIVATE_DatePickerLayout.js +4 -4
  158. package/cjs/PRIVATE_EmbeddedIconButton.js +3 -3
  159. package/cjs/PRIVATE_FormControls.js +19 -19
  160. package/cjs/PRIVATE_IconSwitchButton.js +16 -16
  161. package/cjs/PRIVATE_Icons/CheckboxMixed.js +16 -16
  162. package/cjs/PRIVATE_Icons/CheckboxOff.js +16 -16
  163. package/cjs/PRIVATE_Icons/CheckboxOn.js +16 -16
  164. package/cjs/PRIVATE_Icons/DragV.js +16 -16
  165. package/cjs/PRIVATE_Icons/WarningS.js +16 -16
  166. package/cjs/PRIVATE_List.js +20 -20
  167. package/cjs/PRIVATE_Message.js +19 -19
  168. package/cjs/PRIVATE_MessageLayer.js +12 -12
  169. package/cjs/PRIVATE_MonthView.js +7 -7
  170. package/cjs/PRIVATE_MonthYearGridView.js +7 -7
  171. package/cjs/PRIVATE_PlotArea.js +4 -4
  172. package/cjs/PRIVATE_RevealToggleIcon.js +17 -17
  173. package/cjs/PRIVATE_RichSelectionCommon.js +25 -25
  174. package/cjs/PRIVATE_SelectCommon.js +28 -28
  175. package/cjs/PRIVATE_StyledCard.js +4 -4
  176. package/cjs/PRIVATE_StyledCheckbox.js +16 -16
  177. package/cjs/PRIVATE_Table.js +24 -24
  178. package/cjs/PRIVATE_ThemedIcons/CalendarIcon.js +16 -16
  179. package/cjs/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +16 -16
  180. package/cjs/PRIVATE_ThemedIcons/ChartPanIcon.js +16 -16
  181. package/cjs/PRIVATE_ThemedIcons/ChartZoomIcon.js +16 -16
  182. package/cjs/PRIVATE_ThemedIcons/CheckIcon.js +16 -16
  183. package/cjs/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +16 -16
  184. package/cjs/PRIVATE_ThemedIcons/CheckboxOffIcon.js +16 -16
  185. package/cjs/PRIVATE_ThemedIcons/CheckboxOnIcon.js +16 -16
  186. package/cjs/PRIVATE_ThemedIcons/CloseIcon.js +16 -16
  187. package/cjs/PRIVATE_ThemedIcons/CollapseIcon.js +17 -17
  188. package/cjs/PRIVATE_ThemedIcons/CollapseUpIcon.js +16 -16
  189. package/cjs/PRIVATE_ThemedIcons/DecrementIcon.js +16 -16
  190. package/cjs/PRIVATE_ThemedIcons/DeleteIcon.js +16 -16
  191. package/cjs/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +17 -17
  192. package/cjs/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +17 -17
  193. package/cjs/PRIVATE_ThemedIcons/DragHandleIcon.js +16 -16
  194. package/cjs/PRIVATE_ThemedIcons/DropdownArrowIcon.js +16 -16
  195. package/cjs/PRIVATE_ThemedIcons/ExpandIcon.js +16 -16
  196. package/cjs/PRIVATE_ThemedIcons/HelpIcon.js +16 -16
  197. package/cjs/PRIVATE_ThemedIcons/IncrementIcon.js +16 -16
  198. package/cjs/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +16 -16
  199. package/cjs/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +16 -16
  200. package/cjs/PRIVATE_ThemedIcons/MessageErrorIcon.js +16 -16
  201. package/cjs/PRIVATE_ThemedIcons/MessageInfoIcon.js +16 -16
  202. package/cjs/PRIVATE_ThemedIcons/MessageWarningIcon.js +16 -16
  203. package/cjs/PRIVATE_ThemedIcons/MinusIcon.js +16 -16
  204. package/cjs/PRIVATE_ThemedIcons/NavDownIcon.js +16 -16
  205. package/cjs/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +16 -16
  206. package/cjs/PRIVATE_ThemedIcons/PlusIcon.js +16 -16
  207. package/cjs/PRIVATE_ThemedIcons/RadioOffIcon.js +16 -16
  208. package/cjs/PRIVATE_ThemedIcons/RadioOnIcon.js +16 -16
  209. package/cjs/PRIVATE_ThemedIcons/SortAscendingIcon.js +16 -16
  210. package/cjs/PRIVATE_ThemedIcons/SortDescendingIcon.js +16 -16
  211. package/cjs/PRIVATE_ThemedIcons/ViewHideIcon.js +16 -16
  212. package/cjs/PRIVATE_ThemedIcons/ViewIcon.js +16 -16
  213. package/cjs/PRIVATE_TimeComponent.js +18 -18
  214. package/cjs/PRIVATE_VisOverview.js +16 -16
  215. package/cjs/PRIVATE_VisTabularDatatip.js +4 -4
  216. package/cjs/PictoChart-292f6c54.js +6 -6
  217. package/cjs/PieChart-411377a1.js +6 -6
  218. package/cjs/{Popup-84ce41d3.js → Popup-3e6b37ba.js} +9 -9
  219. package/cjs/{Popup-84ce41d3.js.map → Popup-3e6b37ba.js.map} +1 -1
  220. package/cjs/{ProgressBar-aa9edb7a.js → ProgressBar-ee008afc.js} +3 -3
  221. package/cjs/{ProgressBar-aa9edb7a.js.map → ProgressBar-ee008afc.js.map} +1 -1
  222. package/cjs/ProgressButton-433a67b5.js +3 -3
  223. package/cjs/ProgressButtonLabelLayout-13908869.js +3 -3
  224. package/cjs/{ProgressCircle-1d9fbade.js → ProgressCircle-e91f65f3.js} +2 -2
  225. package/cjs/{ProgressCircle-1d9fbade.js.map → ProgressCircle-e91f65f3.js.map} +1 -1
  226. package/cjs/RadioItem-c6ada23a.js +6 -6
  227. package/cjs/RatingGauge-4f129f42.js +7 -7
  228. package/cjs/ReadonlyTextFieldInput-af4ddced.js +1 -1
  229. package/cjs/{RemovableNavigationListItem-39312f9c.js → RemovableNavigationListItem-0eea31bc.js} +4 -5
  230. package/cjs/{RemovableNavigationListItem-39312f9c.js.map → RemovableNavigationListItem-0eea31bc.js.map} +1 -1
  231. package/cjs/RemovableTabBarItem-ff408dff.js +2 -2
  232. package/cjs/{ReorderableTabBar-5614d872.js → ReorderableTabBar-344938e7.js} +5 -5
  233. package/cjs/{ReorderableTabBar-5614d872.js.map → ReorderableTabBar-344938e7.js.map} +1 -1
  234. package/cjs/RevealToggleIcon-2e88a00a.js +1 -1
  235. package/cjs/{ScatterChart-80ef4bee.js → ScatterChart-763e1f3e.js} +4 -4
  236. package/cjs/{ScatterChart-80ef4bee.js.map → ScatterChart-763e1f3e.js.map} +1 -1
  237. package/cjs/SectionalLegend-da9d7dc4.js +4 -4
  238. package/cjs/{SectionedContent-06dc071c.js → SectionedContent-2210037c.js} +5 -5
  239. package/cjs/{SectionedContent-06dc071c.js.map → SectionedContent-2210037c.js.map} +1 -1
  240. package/cjs/SelectMultiple-b1f05b9f.js +8 -8
  241. package/cjs/SelectSingle-84b0b3eb.js +7 -7
  242. package/cjs/{SelectionCard-67f7003e.js → SelectionCard-e26feb4d.js} +2 -2
  243. package/cjs/{SelectionCard-67f7003e.js.map → SelectionCard-e26feb4d.js.map} +1 -1
  244. package/cjs/Selector-565b3810.js +1 -1
  245. package/cjs/{SelectorAll-b55e1b61.js → SelectorAll-e81b943f.js} +7 -7
  246. package/cjs/{SelectorAll-b55e1b61.js.map → SelectorAll-e81b943f.js.map} +1 -1
  247. package/cjs/{Sheet-86989265.js → Sheet-73cb51b2.js} +3 -3
  248. package/cjs/{Sheet-86989265.js.map → Sheet-73cb51b2.js.map} +1 -1
  249. package/cjs/SplitMenuButton-de680884.js +2 -2
  250. package/cjs/{StyledCard-a0496c88.js → StyledCard-f6b7f046.js} +2 -2
  251. package/cjs/{StyledCard-a0496c88.js.map → StyledCard-f6b7f046.js.map} +1 -1
  252. package/cjs/StyledTextField-3289e35c.js +3 -3
  253. package/cjs/{TabBar-bcf66387.js → TabBar-bf94b95a.js} +6 -11
  254. package/cjs/{TabBar-bcf66387.js.map → TabBar-bf94b95a.js.map} +1 -1
  255. package/cjs/TabBarItem-00fcf601.js +3 -3
  256. package/cjs/TabBarLayout-846a4d9a.js +1 -1
  257. package/cjs/{TabBarMixed-ac642788.js → TabBarMixed-975141a6.js} +6 -11
  258. package/cjs/{TabBarMixed-ac642788.js.map → TabBarMixed-975141a6.js.map} +1 -1
  259. package/cjs/{TabBarMixedSeparator-0e258647.js → TabBarMixedSeparator-0f55c6f6.js} +2 -2
  260. package/cjs/{TabBarMixedSeparator-0e258647.js.map → TabBarMixedSeparator-0f55c6f6.js.map} +1 -1
  261. package/cjs/Table-90fe7ad8.js +9 -9
  262. package/cjs/TagCloud-ff6f5158.js +8 -8
  263. package/cjs/{TextArea-e7f98e9f.js → TextArea-4c8f0284.js} +27 -9
  264. package/{es/TextArea-64b4e972.js.map → cjs/TextArea-4c8f0284.js.map} +1 -1
  265. package/cjs/{TextAreaAutosize-d96c7038.js → TextAreaAutosize-466a21cc.js} +8 -8
  266. package/cjs/{TextAreaAutosize-d96c7038.js.map → TextAreaAutosize-466a21cc.js.map} +1 -1
  267. package/cjs/TextField-976ee745.js +3 -3
  268. package/cjs/TextFieldInput-e83921a4.js +1 -1
  269. package/cjs/Theme-redwood/theme.css +221 -221
  270. package/cjs/Theme-stable/theme.css +307 -307
  271. package/cjs/TimeComponentCanvas2D-952a80c3.js +5 -5
  272. package/cjs/Toolbar-f94296cb.js +1 -1
  273. package/cjs/{TruncatingBadge-efe34bb7.js → TruncatingBadge-3a82f13b.js} +4 -4
  274. package/cjs/{TruncatingBadge-efe34bb7.js.map → TruncatingBadge-3a82f13b.js.map} +1 -1
  275. package/cjs/{TruncatingText-33c06a6c.js → TruncatingText-df3db482.js} +4 -4
  276. package/cjs/{TruncatingText-33c06a6c.js.map → TruncatingText-df3db482.js.map} +1 -1
  277. package/cjs/UNSAFE_ActionCard.js +3 -3
  278. package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +36 -36
  279. package/cjs/UNSAFE_BarChart.js +36 -36
  280. package/cjs/UNSAFE_BaseButton.js +3 -3
  281. package/cjs/UNSAFE_Button.js +3 -3
  282. package/cjs/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +21 -21
  283. package/cjs/UNSAFE_ButtonSet.js +4 -4
  284. package/cjs/UNSAFE_ButtonSetButton.js +3 -3
  285. package/cjs/UNSAFE_ButtonSetIconButton.js +16 -16
  286. package/cjs/UNSAFE_ButtonSetItem.js +16 -16
  287. package/cjs/UNSAFE_ButtonSetMultiple.js +4 -4
  288. package/cjs/UNSAFE_ButtonSetSingle.js +4 -4
  289. package/cjs/UNSAFE_Card.js +5 -5
  290. package/cjs/UNSAFE_CardFlexView.js +22 -22
  291. package/cjs/UNSAFE_CardGridView.js +22 -22
  292. package/cjs/UNSAFE_Center.js +5 -5
  293. package/cjs/UNSAFE_ChartWithLegend.js +4 -4
  294. package/cjs/UNSAFE_Checkbox.js +23 -23
  295. package/cjs/UNSAFE_CheckboxItem.js +24 -24
  296. package/cjs/UNSAFE_CheckboxSet.js +23 -23
  297. package/cjs/UNSAFE_Chip.js +2 -2
  298. package/cjs/UNSAFE_Collapsible.js +18 -18
  299. package/cjs/UNSAFE_ComboChart.js +38 -38
  300. package/cjs/UNSAFE_ComponentMessage.js +19 -19
  301. package/cjs/UNSAFE_ConveyorBelt.js +16 -16
  302. package/cjs/UNSAFE_DatePicker.js +24 -24
  303. package/cjs/UNSAFE_Diagram.js +21 -21
  304. package/cjs/UNSAFE_Dialog.js +21 -21
  305. package/cjs/UNSAFE_DragHandle.js +18 -18
  306. package/cjs/UNSAFE_DrawerLayout.js +12 -12
  307. package/cjs/UNSAFE_DrawerPopup.js +11 -11
  308. package/cjs/UNSAFE_Dropdown.js +13 -13
  309. package/cjs/UNSAFE_Environment.js +4 -4
  310. package/cjs/UNSAFE_ExpandableList.js +23 -23
  311. package/cjs/UNSAFE_FilePicker.js +4 -4
  312. package/cjs/UNSAFE_Flex.js +4 -4
  313. package/cjs/UNSAFE_Floating.js +11 -11
  314. package/cjs/UNSAFE_FormLayout.js +2 -2
  315. package/cjs/UNSAFE_Gantt.js +23 -23
  316. package/cjs/UNSAFE_Grid.js +4 -4
  317. package/cjs/UNSAFE_HighlightText.js +4 -4
  318. package/cjs/UNSAFE_Icon.js +16 -16
  319. package/cjs/UNSAFE_IconButton.js +16 -16
  320. package/cjs/UNSAFE_IconMenuButton.js +21 -21
  321. package/cjs/UNSAFE_IconProgressButton.js +19 -19
  322. package/cjs/UNSAFE_IconToggleButton.js +16 -16
  323. package/cjs/UNSAFE_Indexer.js +6 -6
  324. package/cjs/UNSAFE_InputDateMask.js +24 -24
  325. package/cjs/UNSAFE_InputDatePicker.js +112 -112
  326. package/cjs/UNSAFE_InputPassword.js +23 -23
  327. package/cjs/UNSAFE_InputSensitiveText.js +25 -25
  328. package/cjs/UNSAFE_InputText.js +26 -26
  329. package/cjs/UNSAFE_InputTimeMask.js +24 -24
  330. package/cjs/UNSAFE_Label.js +23 -23
  331. package/cjs/UNSAFE_LabelValueLayout.js +4 -4
  332. package/cjs/UNSAFE_LabelledLink.js +24 -24
  333. package/cjs/UNSAFE_Layer.js +8 -8
  334. package/cjs/UNSAFE_Legend.js +24 -24
  335. package/cjs/UNSAFE_LineAreaChart.js +38 -38
  336. package/cjs/UNSAFE_Link.js +2 -2
  337. package/cjs/UNSAFE_ListItemLayout.js +5 -5
  338. package/cjs/UNSAFE_ListView.js +28 -28
  339. package/cjs/UNSAFE_LiveRegion.js +4 -4
  340. package/cjs/UNSAFE_Menu.js +23 -23
  341. package/cjs/UNSAFE_MenuButton.js +21 -21
  342. package/cjs/UNSAFE_MessageBanner.js +19 -19
  343. package/cjs/UNSAFE_MessageToast.js +22 -22
  344. package/cjs/UNSAFE_MeterBar.js +16 -16
  345. package/cjs/UNSAFE_MeterCircle.js +17 -17
  346. package/cjs/UNSAFE_Modal.js +8 -8
  347. package/cjs/UNSAFE_NavigationList.js +34 -36
  348. package/cjs/UNSAFE_NavigationList.js.map +1 -1
  349. package/cjs/UNSAFE_NavigationListCommon.js +70 -71
  350. package/cjs/UNSAFE_NavigationListCommon.js.map +1 -1
  351. package/cjs/UNSAFE_NumberInputText.js +25 -25
  352. package/cjs/UNSAFE_OverflowTabBar.js +50 -52
  353. package/cjs/UNSAFE_OverflowTabBar.js.map +1 -1
  354. package/cjs/UNSAFE_PictoChart.js +14 -14
  355. package/cjs/UNSAFE_PieChart/__test__/PieChart.spec.js +21 -21
  356. package/cjs/UNSAFE_PieChart.js +21 -21
  357. package/cjs/UNSAFE_Popup.js +16 -16
  358. package/cjs/UNSAFE_ProgressBar.js +5 -5
  359. package/cjs/UNSAFE_ProgressButton.js +19 -19
  360. package/cjs/UNSAFE_ProgressButtonLabelLayout.js +10 -10
  361. package/cjs/UNSAFE_ProgressCircle.js +4 -4
  362. package/cjs/UNSAFE_RadioItem.js +23 -23
  363. package/cjs/UNSAFE_RadioSet.js +23 -23
  364. package/cjs/UNSAFE_RatingGauge.js +17 -17
  365. package/cjs/UNSAFE_ReorderableTabBar.js +37 -48
  366. package/cjs/UNSAFE_ReorderableTabBar.js.map +1 -1
  367. package/cjs/UNSAFE_RichCheckboxSet.js +25 -25
  368. package/cjs/UNSAFE_RichRadioSet.js +25 -25
  369. package/cjs/UNSAFE_RichSelectionItem.js +27 -27
  370. package/cjs/UNSAFE_ScatterChart.js +38 -38
  371. package/cjs/UNSAFE_SectionalLegend.js +25 -25
  372. package/cjs/UNSAFE_SelectMultiple.js +30 -30
  373. package/cjs/UNSAFE_SelectSingle.js +30 -30
  374. package/cjs/UNSAFE_SelectionCard.js +5 -5
  375. package/cjs/UNSAFE_Selector.js +16 -16
  376. package/cjs/UNSAFE_SelectorAll.js +20 -20
  377. package/cjs/UNSAFE_Sheet/__test__/Sheet.spec.js +14 -14
  378. package/cjs/UNSAFE_Sheet.js +11 -11
  379. package/cjs/UNSAFE_SplitMenuButton.js +21 -21
  380. package/cjs/UNSAFE_TabBar.js +50 -52
  381. package/cjs/UNSAFE_TabBar.js.map +1 -1
  382. package/cjs/UNSAFE_TabBarCommon.js +42 -44
  383. package/cjs/UNSAFE_TabBarCommon.js.map +1 -1
  384. package/cjs/UNSAFE_TabBarMixed.js +59 -61
  385. package/cjs/UNSAFE_TabBarMixed.js.map +1 -1
  386. package/cjs/UNSAFE_TableView.js +24 -24
  387. package/cjs/UNSAFE_TagCloud.js +23 -23
  388. package/cjs/UNSAFE_TextArea.js +28 -29
  389. package/cjs/UNSAFE_TextArea.js.map +1 -1
  390. package/cjs/UNSAFE_TextAreaAutosize.js +28 -28
  391. package/cjs/UNSAFE_TextField.js +7 -7
  392. package/cjs/UNSAFE_ToggleButton.js +3 -3
  393. package/cjs/UNSAFE_Toolbar/tests/Toolbar.spec.js +23 -23
  394. package/cjs/UNSAFE_Toolbar.js +4 -4
  395. package/cjs/UNSAFE_Train.js +17 -17
  396. package/cjs/UNSAFE_TruncatingBadge.js +18 -18
  397. package/cjs/UNSAFE_TruncatingText.js +17 -17
  398. package/cjs/UNSAFE_UserAssistance.js +24 -24
  399. package/cjs/UNSAFE_View.js +7 -7
  400. package/cjs/UNSAFE_VirtualizedListView.js +20 -20
  401. package/cjs/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  402. package/cjs/UNSAFE_VisProgressiveLoader.js +6 -6
  403. package/cjs/UNSAFE_VisStatusMessage.js +6 -6
  404. package/cjs/UNSAFE_WindowOverlay.js +4 -4
  405. package/cjs/{View-5930179e.js → View-145a402d.js} +5 -5
  406. package/cjs/{View-5930179e.js.map → View-145a402d.js.map} +1 -1
  407. package/cjs/{VisNoData-5b2aa6a2.js → VisNoData-210b0385.js} +3 -3
  408. package/cjs/{VisNoData-5b2aa6a2.js.map → VisNoData-210b0385.js.map} +1 -1
  409. package/cjs/{VisProgressiveLoader-dacfe618.js → VisProgressiveLoader-5ed4eb9d.js} +3 -3
  410. package/cjs/{VisProgressiveLoader-dacfe618.js.map → VisProgressiveLoader-5ed4eb9d.js.map} +1 -1
  411. package/cjs/{VisTabularDatatip-eca8aa8f.js → VisTabularDatatip-a06f4ca3.js} +2 -2
  412. package/cjs/{VisTabularDatatip-eca8aa8f.js.map → VisTabularDatatip-a06f4ca3.js.map} +1 -1
  413. package/cjs/{WindowOverlay-06408f56.js → WindowOverlay-de3bd373.js} +2 -2
  414. package/cjs/{WindowOverlay-06408f56.js.map → WindowOverlay-de3bd373.js.map} +1 -1
  415. package/cjs/{YearsGridView-09f2f6c4.js → YearsGridView-e8d7a02c.js} +4 -4
  416. package/cjs/{YearsGridView-09f2f6c4.js.map → YearsGridView-e8d7a02c.js.map} +1 -1
  417. package/cjs/hoc/PRIVATE_withDirectionIcon.js +4 -4
  418. package/cjs/hoc/PRIVATE_withThemeIcon.js +3 -3
  419. package/cjs/hoc/UNSAFE_withThemeProps.js +3 -3
  420. package/cjs/hooks/PRIVATE_useChartContextMenu.js +20 -20
  421. package/cjs/hooks/PRIVATE_useChartDatatip.js +14 -14
  422. package/cjs/hooks/PRIVATE_useChartEvents.js +18 -18
  423. package/cjs/hooks/PRIVATE_useChartMarquee.js +18 -18
  424. package/cjs/hooks/PRIVATE_useCssVars.js +7 -7
  425. package/cjs/hooks/PRIVATE_useCurrentKey.js +4 -4
  426. package/cjs/hooks/PRIVATE_useDatatip.js +12 -12
  427. package/cjs/hooks/PRIVATE_useFloating.js +4 -4
  428. package/cjs/hooks/PRIVATE_useReorderable.js +5 -5
  429. package/cjs/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  430. package/cjs/hooks/PRIVATE_useSelection.js +4 -4
  431. package/cjs/hooks/PRIVATE_useTabBar.js +4 -4
  432. package/cjs/hooks/PRIVATE_useVisContextMenu.js +20 -20
  433. package/cjs/hooks/PRIVATE_useVisDragModeControls.js +18 -18
  434. package/cjs/hooks/PRIVATE_useVisEvents.js +4 -4
  435. package/cjs/hooks/PRIVATE_useVisMeterEvents.js +14 -14
  436. package/cjs/hooks/PRIVATE_useVisSelection.js +13 -13
  437. package/cjs/hooks/UNSAFE_useColorScheme.js +3 -3
  438. package/cjs/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  439. package/cjs/hooks/UNSAFE_useDensity.js +3 -3
  440. package/cjs/hooks/UNSAFE_useOutsideClick.js +8 -8
  441. package/cjs/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  442. package/cjs/hooks/UNSAFE_useScale.js +3 -3
  443. package/cjs/hooks/UNSAFE_useTestId.js +3 -3
  444. package/cjs/hooks/UNSAFE_useTheme.js +3 -3
  445. package/cjs/hooks/UNSAFE_useThemeInterpolations.js +6 -6
  446. package/cjs/hooks/UNSAFE_useTooltip.js +17 -17
  447. package/cjs/hooks/UNSAFE_useTranslationBundle.js +3 -3
  448. package/cjs/hooks/UNSAFE_useUser.js +3 -3
  449. package/cjs/{index-ce6f9627.js → index-8c93d858.js} +2 -2
  450. package/cjs/index-8c93d858.js.map +1 -0
  451. package/cjs/listViewSelectionTests-858bb12a.js +3 -3
  452. package/cjs/{render-9767e967.js → render-bc47fc7e.js} +3 -3
  453. package/cjs/{render-9767e967.js.map → render-bc47fc7e.js.map} +1 -1
  454. package/cjs/{tabbableUtils-a38b7148.js → tabbableUtils-b14a04ea.js} +3 -3
  455. package/cjs/{tabbableUtils-a38b7148.js.map → tabbableUtils-b14a04ea.js.map} +1 -1
  456. package/cjs/{testData-7439df49.js → testData-c996c33b.js} +3 -3
  457. package/cjs/{testData-7439df49.js.map → testData-c996c33b.js.map} +1 -1
  458. package/cjs/{tooltipUtils-669c2ae0.js → tooltipUtils-2228b0f7.js} +5 -5
  459. package/cjs/{tooltipUtils-669c2ae0.js.map → tooltipUtils-2228b0f7.js.map} +1 -1
  460. package/cjs/useCellNavigation-6f7cd4c8.js +1 -1
  461. package/cjs/useChartContextMenu-d114824a.js +2 -2
  462. package/cjs/{useChartDatatip-c6107d63.js → useChartDatatip-538a4577.js} +4 -4
  463. package/cjs/{useChartDatatip-c6107d63.js.map → useChartDatatip-538a4577.js.map} +1 -1
  464. package/cjs/{useColorScheme-ce2a88b1.js → useColorScheme-e6bef5a4.js} +2 -2
  465. package/cjs/{useColorScheme-ce2a88b1.js.map → useColorScheme-e6bef5a4.js.map} +1 -1
  466. package/cjs/useContextMenu-3ebf8f80.js +2 -2
  467. package/cjs/{useCssVars-bd95e715.js → useCssVars-9bea15a9.js} +5 -5
  468. package/cjs/{useCssVars-bd95e715.js.map → useCssVars-9bea15a9.js.map} +1 -1
  469. package/cjs/{useCurrentBgColor-6e39eb3a.js → useCurrentBgColor-6835bf45.js} +2 -2
  470. package/cjs/{useCurrentBgColor-6e39eb3a.js.map → useCurrentBgColor-6835bf45.js.map} +1 -1
  471. package/cjs/{useCurrentKey-88495da2.js → useCurrentKey-d8d41864.js} +2 -2
  472. package/cjs/{useCurrentKey-88495da2.js.map → useCurrentKey-d8d41864.js.map} +1 -1
  473. package/cjs/{useDatatip-83ab0540.js → useDatatip-1dda9a86.js} +4 -4
  474. package/cjs/{useDatatip-83ab0540.js.map → useDatatip-1dda9a86.js.map} +1 -1
  475. package/cjs/{useDensity-1f8cc921.js → useDensity-38283c57.js} +2 -2
  476. package/cjs/{useDensity-1f8cc921.js.map → useDensity-38283c57.js.map} +1 -1
  477. package/cjs/{useFloating-480d365a.js → useFloating-c9e127d3.js} +2 -2
  478. package/cjs/{useFloating-480d365a.js.map → useFloating-c9e127d3.js.map} +1 -1
  479. package/cjs/{useKeyboardEvents-5e808fe3.js → useKeyboardEvents-7ab0d8ee.js} +2 -2
  480. package/cjs/{useKeyboardEvents-5e808fe3.js.map → useKeyboardEvents-7ab0d8ee.js.map} +1 -1
  481. package/cjs/useLegendContextMenu-82be007a.js +4 -4
  482. package/cjs/{useMeterDatatip-641afcc6.js → useMeterDatatip-945883f5.js} +3 -3
  483. package/cjs/{useMeterDatatip-641afcc6.js.map → useMeterDatatip-945883f5.js.map} +1 -1
  484. package/cjs/{useOutsideClick-03a6c38c.js → useOutsideClick-ad999b14.js} +2 -2
  485. package/cjs/{useOutsideClick-03a6c38c.js.map → useOutsideClick-ad999b14.js.map} +1 -1
  486. package/cjs/{usePopupAnimation-2afacc4b.js → usePopupAnimation-b911e9ed.js} +2 -2
  487. package/cjs/{usePopupAnimation-2afacc4b.js.map → usePopupAnimation-b911e9ed.js.map} +1 -1
  488. package/cjs/{usePrefixSuffix-23341de3.js → usePrefixSuffix-1de3a724.js} +2 -2
  489. package/cjs/{usePrefixSuffix-23341de3.js.map → usePrefixSuffix-1de3a724.js.map} +1 -1
  490. package/cjs/{useReorderableItem-0dbb8843.js → useReorderableItem-5fc4d599.js} +3 -3
  491. package/cjs/{useReorderableItem-0dbb8843.js.map → useReorderableItem-5fc4d599.js.map} +1 -1
  492. package/cjs/{useRovingTabIndexContainer-dc12b802.js → useRovingTabIndexContainer-bbdf3acd.js} +2 -2
  493. package/cjs/{useRovingTabIndexContainer-dc12b802.js.map → useRovingTabIndexContainer-bbdf3acd.js.map} +1 -1
  494. package/cjs/{useScale-a681a5cb.js → useScale-a47864b4.js} +2 -2
  495. package/cjs/{useScale-a681a5cb.js.map → useScale-a47864b4.js.map} +1 -1
  496. package/cjs/useSelectCommon-5b46ac60.js +11 -11
  497. package/cjs/{useSelectDrill-c95b1a51.js → useSelectDrill-51fdccac.js} +3 -3
  498. package/cjs/{useSelectDrill-c95b1a51.js.map → useSelectDrill-51fdccac.js.map} +1 -1
  499. package/cjs/{useSelection-228ef3ce.js → useSelection-0dbc2f40.js} +2 -2
  500. package/cjs/{useSelection-228ef3ce.js.map → useSelection-0dbc2f40.js.map} +1 -1
  501. package/cjs/{useSelection-efdf0e84.js → useSelection-8362b6c6.js} +5 -5
  502. package/cjs/{useSelection-efdf0e84.js.map → useSelection-8362b6c6.js.map} +1 -1
  503. package/cjs/useTabBar-048ffd9f.js +1 -1
  504. package/cjs/{useTestId-5e6af45d.js → useTestId-e267a39d.js} +2 -2
  505. package/cjs/{useTestId-5e6af45d.js.map → useTestId-e267a39d.js.map} +1 -1
  506. package/cjs/{useTheme-8fb5546b.js → useTheme-6cedf9c8.js} +2 -2
  507. package/cjs/{useTheme-8fb5546b.js.map → useTheme-6cedf9c8.js.map} +1 -1
  508. package/cjs/{useThemeInterpolations-28ca9a13.js → useThemeInterpolations-316c1636.js} +5 -5
  509. package/cjs/{useThemeInterpolations-28ca9a13.js.map → useThemeInterpolations-316c1636.js.map} +1 -1
  510. package/cjs/{useTooltip-81b7b753.js → useTooltip-ea036f82.js} +2 -2
  511. package/cjs/{useTooltip-81b7b753.js.map → useTooltip-ea036f82.js.map} +1 -1
  512. package/cjs/{useTooltipControlled-33832163.js → useTooltipControlled-61581889.js} +5 -5
  513. package/cjs/{useTooltipControlled-33832163.js.map → useTooltipControlled-61581889.js.map} +1 -1
  514. package/cjs/{useTranslationBundle-51f4c22c.js → useTranslationBundle-6b0281a9.js} +2 -2
  515. package/cjs/{useTranslationBundle-51f4c22c.js.map → useTranslationBundle-6b0281a9.js.map} +1 -1
  516. package/cjs/{useUser-a4bfc560.js → useUser-8aaad5a7.js} +2 -2
  517. package/cjs/{useUser-a4bfc560.js.map → useUser-8aaad5a7.js.map} +1 -1
  518. package/cjs/useVisDragModeControls-95caebc9.js +1 -1
  519. package/cjs/{useVisEvents-e48065f4.js → useVisEvents-99f1bf51.js} +2 -2
  520. package/cjs/{useVisEvents-e48065f4.js.map → useVisEvents-99f1bf51.js.map} +1 -1
  521. package/cjs/utils/PRIVATE_tooltipUtils.js +14 -14
  522. package/cjs/utils/PRIVATE_visTestUtils.js +5 -5
  523. package/cjs/{withDirectionIcon-1affce30.js → withDirectionIcon-7f758093.js} +2 -2
  524. package/cjs/{withDirectionIcon-1affce30.js.map → withDirectionIcon-7f758093.js.map} +1 -1
  525. package/cjs/withThemeProps-6e15f1c3.js +2 -2
  526. package/es/{InputDatePicker-dd3b6c89.js → InputDatePicker-59bbd31d.js} +2 -2
  527. package/es/{InputDatePicker-dd3b6c89.js.map → InputDatePicker-59bbd31d.js.map} +1 -1
  528. package/es/MaxLengthCounter-181b4fc9.js +25 -0
  529. package/{cjs/MaxLengthCounter-9ab3f74b.js.map → es/MaxLengthCounter-181b4fc9.js.map} +1 -1
  530. package/es/MeterBarVariants.styles.css +4 -4
  531. package/es/MeterBarVariants.styles2.css +4 -4
  532. package/es/SplitMenuButtonTheme.styles.css +4 -4
  533. package/es/SplitMenuButtonTheme.styles2.css +4 -4
  534. package/es/{TextArea-64b4e972.js → TextArea-7230675f.js} +8 -25
  535. package/{cjs/TextArea-e7f98e9f.js.map → es/TextArea-7230675f.js.map} +1 -1
  536. package/es/{TextAreaAutosize-4e0f60ef.js → TextAreaAutosize-0d293016.js} +2 -2
  537. package/es/{TextAreaAutosize-4e0f60ef.js.map → TextAreaAutosize-0d293016.js.map} +1 -1
  538. package/es/Theme-redwood/theme.css +378 -378
  539. package/es/Theme-stable/theme.css +498 -498
  540. package/es/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
  541. package/es/UNSAFE_InputDatePicker.js +91 -91
  542. package/es/UNSAFE_MeterBar/themes/redwood/MeterBarTheme.js +1 -1
  543. package/es/UNSAFE_MeterBar/themes/redwood/MeterBarVariants.css.js +1 -1
  544. package/es/UNSAFE_MeterBar/themes/stable/MeterBarTheme.js +1 -1
  545. package/es/UNSAFE_MeterBar/themes/stable/MeterBarVariants.css.js +1 -1
  546. package/es/UNSAFE_MeterBar.js +1 -1
  547. package/es/UNSAFE_SplitMenuButton/themes/redwood/SplitMenuButtonTheme.css.js +1 -1
  548. package/es/UNSAFE_SplitMenuButton/themes/stable/SplitMenuButtonTheme.css.js +1 -1
  549. package/es/UNSAFE_SplitMenuButton.js +1 -1
  550. package/es/UNSAFE_TextArea.js +3 -2
  551. package/es/UNSAFE_TextArea.js.map +1 -1
  552. package/es/UNSAFE_TextAreaAutosize.js +3 -3
  553. package/es/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
  554. package/package.json +2 -2
  555. package/amd/InputDatePicker-fc39f0a6.js +0 -2
  556. package/cjs/BaseNavigationListItem-ac85812c.js +0 -49
  557. package/cjs/BaseNavigationListItem-ac85812c.js.map +0 -1
  558. package/cjs/MaxLengthCounter-9ab3f74b.js +0 -27
  559. package/cjs/NavigationList-7495908b.js.map +0 -1
  560. package/cjs/NavigationListItem-d927906d.js +0 -12
  561. package/cjs/NavigationListItem-d927906d.js.map +0 -1
  562. package/cjs/index-ce6f9627.js.map +0 -1
  563. package/cjs/useNavigationListItem-ae481fdc.js.map +0 -1
@@ -10,12 +10,12 @@ var hooks = require('preact/hooks');
10
10
  var preact = require('preact');
11
11
  var mergeProps = require('./mergeProps-e3da7237.js');
12
12
  require('./logger-2b636482.js');
13
- require('./LayerHost-a8c7f182.js');
13
+ require('./LayerHost-7182bfaf.js');
14
14
  var compat = require('preact/compat');
15
15
 
16
16
 
17
17
  require('./hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css.js');
18
- require('./tooltipUtils-669c2ae0.js');
18
+ require('./tooltipUtils-2228b0f7.js');
19
19
 
20
20
  require('./SelectMenuGroupContext-bbb4f7e0.js');
21
21
  require('./UNSAFE_Separator/themes/SeparatorStyles.css.js');
@@ -8,7 +8,7 @@ var classNames = require('./classNames-c14c6ef3.js');
8
8
  var useId = require('./useId-6c0eeb27.js');
9
9
  var mergeProps = require('./mergeProps-e3da7237.js');
10
10
  var usePress = require('./usePress-886180e4.js');
11
- var useUser = require('./useUser-a4bfc560.js');
11
+ var useUser = require('./useUser-8aaad5a7.js');
12
12
  var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
13
13
  var mergeInterpolations = require('./mergeInterpolations-6727b536.js');
14
14
  var flexitem = require('./flexitem-fee13e26.js');
@@ -3,14 +3,14 @@
3
3
 
4
4
  var jsxRuntime = require('preact/jsx-runtime');
5
5
  var hooks = require('preact/hooks');
6
- var Flex = require('./Flex-e7a85bef.js');
6
+ var Flex = require('./Flex-ce16a2fa.js');
7
7
  var UNSAFE_MessageBanner_themes_redwood_MessageBannerTheme = require('./UNSAFE_MessageBanner/themes/redwood/MessageBannerTheme.js');
8
8
  var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
9
9
  var timer = require('./timer-c32f7725.js');
10
10
  var classNames = require('./classNames-c14c6ef3.js');
11
11
  var Close = require('./Close-1f08733f.js');
12
12
  var IconButton = require('./IconButton-28559efb.js');
13
- var useTranslationBundle = require('./useTranslationBundle-51f4c22c.js');
13
+ var useTranslationBundle = require('./useTranslationBundle-6b0281a9.js');
14
14
  var PRIVATE_Message_themes_MessageStyles_css = require('./PRIVATE_Message/themes/MessageStyles.css.js');
15
15
  var preact = require('preact');
16
16
  var MessageFormattingUtils = require('./MessageFormattingUtils-42d84399.js');
@@ -2,12 +2,12 @@
2
2
  'use strict';
3
3
 
4
4
  var jsxRuntime = require('preact/jsx-runtime');
5
- var Flex = require('./Flex-e7a85bef.js');
6
- var WindowOverlay = require('./WindowOverlay-06408f56.js');
7
- var useUser = require('./useUser-a4bfc560.js');
8
- var Layer = require('./Layer-0053053a.js');
5
+ var Flex = require('./Flex-ce16a2fa.js');
6
+ var WindowOverlay = require('./WindowOverlay-de3bd373.js');
7
+ var useUser = require('./useUser-8aaad5a7.js');
8
+ var Layer = require('./Layer-49394ca6.js');
9
9
  require('preact/compat');
10
- require('./LayerHost-a8c7f182.js');
10
+ require('./LayerHost-7182bfaf.js');
11
11
 
12
12
  const positions = [
13
13
  'top',
@@ -58,4 +58,4 @@ const MessageLayer = ({ children, offset, testId, position = 'bottom' }) => {
58
58
 
59
59
  exports.MessageLayer = MessageLayer;
60
60
  exports.positions = positions;
61
- //# sourceMappingURL=MessageLayer-f9aa9828.js.map
61
+ //# sourceMappingURL=MessageLayer-fc21a223.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageLayer-f9aa9828.js","sources":["../../src/PRIVATE_MessageLayer/MessageLayer.tsx"],"sourcesContent":["import { ComponentChildren } from 'preact';\nimport { Flex } from '../UNSAFE_Flex';\nimport { WindowOverlay, WindowOverlayPlacement } from '../UNSAFE_WindowOverlay';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { Layer } from '../UNSAFE_Layer';\n\nconst positions = [\n 'top',\n 'top-left',\n 'top-right',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-left',\n 'bottom-right',\n 'bottom-start',\n 'bottom-end'\n] as const;\n\ntype Position = (typeof positions)[number];\n\ntype Offset =\n | number\n | {\n horizontal?: number;\n vertical?: number;\n };\n\ntype Props = {\n children: ComponentChildren;\n\n /**\n * Defines the fixed position where the notifications will to be placed on the screen.\n * - top-start resolves to top-left in LTR (top-right in RTL)\n * - top-end resolves to top-right in LTR (top-left in RTL)\n * - bottom-start resolves to bottom-left in LTR (bottom-right in RTL)\n * - bottom-end resolves to bottom-right in LTR (bottom-left in RTL)\n *\n * default bottom\n */\n position?: Position;\n\n /**\n * Defines an offset (in pixels) in the placement. Value can be supplied as a number or\n * an object with horizontal and vertical values.\n *\n * default 0\n */\n offset?: Offset;\n\n /**\n * The test id which is assigned to the \"data-testid\" for the component's element.\n * Used for test automation, it is assigned to the wrapper element rendered by the component.\n */\n testId?: string;\n};\n\nconst MessageLayer = ({ children, offset, testId, position = 'bottom' }: Props) => {\n const side = position.split('-')[0];\n let windowOverlayOffset;\n if (typeof offset === 'number') {\n windowOverlayOffset = { mainAxis: offset, crossAxis: offset };\n } else if (side == 'top' || side == 'bottom') {\n windowOverlayOffset = { mainAxis: offset?.vertical, crossAxis: offset?.horizontal };\n } else {\n windowOverlayOffset = { mainAxis: offset?.horizontal, crossAxis: offset?.vertical };\n }\n\n const { direction } = useUser();\n const isLtr = direction === 'ltr';\n let windowOverlayPlacement: WindowOverlayPlacement | undefined;\n switch (position) {\n case 'top-left':\n windowOverlayPlacement = isLtr ? 'top-start' : 'top-end';\n break;\n case 'top-right':\n windowOverlayPlacement = isLtr ? 'top-end' : 'top-start';\n break;\n case 'bottom-left':\n windowOverlayPlacement = isLtr ? 'bottom-start' : 'bottom-end';\n break;\n case 'bottom-right':\n windowOverlayPlacement = isLtr ? 'bottom-end' : 'bottom-start';\n break;\n default:\n windowOverlayPlacement = position;\n break;\n }\n return (\n <Layer priority=\"messages\" level=\"topLevel\">\n <WindowOverlay placement={windowOverlayPlacement} offset={windowOverlayOffset}>\n <div data-testid={testId}>\n <Flex direction=\"column\" gap=\"2x\">\n {children}\n </Flex>\n </div>\n </WindowOverlay>\n </Layer>\n );\n};\n\nexport type { Position, Offset };\nexport { MessageLayer, positions };\n"],"names":["useUser","_jsx","Layer","WindowOverlay","Flex"],"mappings":";;;;;;;;;;;AAMA,MAAM,SAAS,GAAG;IAChB,KAAK;IACL,UAAU;IACV,WAAW;IACX,WAAW;IACX,SAAS;IACT,QAAQ;IACR,aAAa;IACb,cAAc;IACd,cAAc;IACd,YAAY;EACH;AAwCX,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAS,KAAI;IAChF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,IAAA,IAAI,mBAAmB,CAAC;AACxB,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;KAC/D;SAAM,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE;AAC5C,QAAA,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;KACrF;SAAM;AACL,QAAA,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACrF;AAED,IAAA,MAAM,EAAE,SAAS,EAAE,GAAGA,eAAO,EAAE,CAAC;AAChC,IAAA,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,CAAC;AAClC,IAAA,IAAI,sBAA0D,CAAC;IAC/D,QAAQ,QAAQ;AACd,QAAA,KAAK,UAAU;YACb,sBAAsB,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,CAAC;YACzD,MAAM;AACR,QAAA,KAAK,WAAW;YACd,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;YACzD,MAAM;AACR,QAAA,KAAK,aAAa;YAChB,sBAAsB,GAAG,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC;YAC/D,MAAM;AACR,QAAA,KAAK,cAAc;YACjB,sBAAsB,GAAG,KAAK,GAAG,YAAY,GAAG,cAAc,CAAC;YAC/D,MAAM;AACR,QAAA;YACE,sBAAsB,GAAG,QAAQ,CAAC;YAClC,MAAM;KACT;AACD,IAAA,QACEC,cAAC,CAAAC,WAAK,IAAC,QAAQ,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,EAAA,QAAA,EACzCD,eAACE,2BAAa,EAAA,EAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,mBAAmB,EAC3E,QAAA,EAAAF,cAAA,CAAA,KAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EACtB,QAAA,EAAAA,cAAA,CAACG,SAAI,EAAC,EAAA,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,IAAI,YAC9B,QAAQ,EAAA,CACJ,GACH,EACQ,CAAA,EAAA,CACV,EACR;AACJ;;;;;"}
1
+ {"version":3,"file":"MessageLayer-fc21a223.js","sources":["../../src/PRIVATE_MessageLayer/MessageLayer.tsx"],"sourcesContent":["import { ComponentChildren } from 'preact';\nimport { Flex } from '../UNSAFE_Flex';\nimport { WindowOverlay, WindowOverlayPlacement } from '../UNSAFE_WindowOverlay';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { Layer } from '../UNSAFE_Layer';\n\nconst positions = [\n 'top',\n 'top-left',\n 'top-right',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-left',\n 'bottom-right',\n 'bottom-start',\n 'bottom-end'\n] as const;\n\ntype Position = (typeof positions)[number];\n\ntype Offset =\n | number\n | {\n horizontal?: number;\n vertical?: number;\n };\n\ntype Props = {\n children: ComponentChildren;\n\n /**\n * Defines the fixed position where the notifications will to be placed on the screen.\n * - top-start resolves to top-left in LTR (top-right in RTL)\n * - top-end resolves to top-right in LTR (top-left in RTL)\n * - bottom-start resolves to bottom-left in LTR (bottom-right in RTL)\n * - bottom-end resolves to bottom-right in LTR (bottom-left in RTL)\n *\n * default bottom\n */\n position?: Position;\n\n /**\n * Defines an offset (in pixels) in the placement. Value can be supplied as a number or\n * an object with horizontal and vertical values.\n *\n * default 0\n */\n offset?: Offset;\n\n /**\n * The test id which is assigned to the \"data-testid\" for the component's element.\n * Used for test automation, it is assigned to the wrapper element rendered by the component.\n */\n testId?: string;\n};\n\nconst MessageLayer = ({ children, offset, testId, position = 'bottom' }: Props) => {\n const side = position.split('-')[0];\n let windowOverlayOffset;\n if (typeof offset === 'number') {\n windowOverlayOffset = { mainAxis: offset, crossAxis: offset };\n } else if (side == 'top' || side == 'bottom') {\n windowOverlayOffset = { mainAxis: offset?.vertical, crossAxis: offset?.horizontal };\n } else {\n windowOverlayOffset = { mainAxis: offset?.horizontal, crossAxis: offset?.vertical };\n }\n\n const { direction } = useUser();\n const isLtr = direction === 'ltr';\n let windowOverlayPlacement: WindowOverlayPlacement | undefined;\n switch (position) {\n case 'top-left':\n windowOverlayPlacement = isLtr ? 'top-start' : 'top-end';\n break;\n case 'top-right':\n windowOverlayPlacement = isLtr ? 'top-end' : 'top-start';\n break;\n case 'bottom-left':\n windowOverlayPlacement = isLtr ? 'bottom-start' : 'bottom-end';\n break;\n case 'bottom-right':\n windowOverlayPlacement = isLtr ? 'bottom-end' : 'bottom-start';\n break;\n default:\n windowOverlayPlacement = position;\n break;\n }\n return (\n <Layer priority=\"messages\" level=\"topLevel\">\n <WindowOverlay placement={windowOverlayPlacement} offset={windowOverlayOffset}>\n <div data-testid={testId}>\n <Flex direction=\"column\" gap=\"2x\">\n {children}\n </Flex>\n </div>\n </WindowOverlay>\n </Layer>\n );\n};\n\nexport type { Position, Offset };\nexport { MessageLayer, positions };\n"],"names":["useUser","_jsx","Layer","WindowOverlay","Flex"],"mappings":";;;;;;;;;;;AAMA,MAAM,SAAS,GAAG;IAChB,KAAK;IACL,UAAU;IACV,WAAW;IACX,WAAW;IACX,SAAS;IACT,QAAQ;IACR,aAAa;IACb,cAAc;IACd,cAAc;IACd,YAAY;EACH;AAwCX,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAS,KAAI;IAChF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,IAAA,IAAI,mBAAmB,CAAC;AACxB,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;KAC/D;SAAM,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE;AAC5C,QAAA,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;KACrF;SAAM;AACL,QAAA,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACrF;AAED,IAAA,MAAM,EAAE,SAAS,EAAE,GAAGA,eAAO,EAAE,CAAC;AAChC,IAAA,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,CAAC;AAClC,IAAA,IAAI,sBAA0D,CAAC;IAC/D,QAAQ,QAAQ;AACd,QAAA,KAAK,UAAU;YACb,sBAAsB,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,CAAC;YACzD,MAAM;AACR,QAAA,KAAK,WAAW;YACd,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;YACzD,MAAM;AACR,QAAA,KAAK,aAAa;YAChB,sBAAsB,GAAG,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC;YAC/D,MAAM;AACR,QAAA,KAAK,cAAc;YACjB,sBAAsB,GAAG,KAAK,GAAG,YAAY,GAAG,cAAc,CAAC;YAC/D,MAAM;AACR,QAAA;YACE,sBAAsB,GAAG,QAAQ,CAAC;YAClC,MAAM;KACT;AACD,IAAA,QACEC,cAAC,CAAAC,WAAK,IAAC,QAAQ,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,EAAA,QAAA,EACzCD,eAACE,2BAAa,EAAA,EAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,mBAAmB,EAC3E,QAAA,EAAAF,cAAA,CAAA,KAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EACtB,QAAA,EAAAA,cAAA,CAACG,SAAI,EAAC,EAAA,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,IAAI,YAC9B,QAAQ,EAAA,CACJ,GACH,EACQ,CAAA,EAAA,CACV,EACR;AACJ;;;;;"}
@@ -3,32 +3,32 @@
3
3
 
4
4
  var jsxRuntime = require('preact/jsx-runtime');
5
5
  var hooks = require('preact/hooks');
6
- require('./LayerHost-a8c7f182.js');
7
- var EnvironmentProvider = require('./EnvironmentProvider-75eb79f3.js');
6
+ require('./LayerHost-7182bfaf.js');
7
+ var EnvironmentProvider = require('./EnvironmentProvider-bfd5febc.js');
8
8
  var useMessagesFocusManager = require('./useMessagesFocusManager-1bf493a6.js');
9
9
  var useBreakpointValues = require('./useBreakpointValues-77cb15bb.js');
10
10
  require('./MessagesContext-4e939750.js');
11
11
  var useMessagesContext = require('./useMessagesContext-23d62331.js');
12
- var useTranslationBundle = require('./useTranslationBundle-51f4c22c.js');
12
+ var useTranslationBundle = require('./useTranslationBundle-6b0281a9.js');
13
13
  var Message = require('./Message-33a66325.js');
14
14
  require('preact');
15
15
  var utils = require('./utils-7c0b6a81.js');
16
16
  var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
17
- var useTestId = require('./useTestId-5e6af45d.js');
17
+ var useTestId = require('./useTestId-e267a39d.js');
18
18
 
19
19
 
20
20
  require('./hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css.js');
21
- require('./tooltipUtils-669c2ae0.js');
21
+ require('./tooltipUtils-2228b0f7.js');
22
22
 
23
23
  require('./IconButton-28559efb.js');
24
24
 
25
25
  require('./MessageFormattingUtils-42d84399.js');
26
26
  var MessagesManager = require('./MessagesManager-1ae749bf.js');
27
- var Flex = require('./Flex-e7a85bef.js');
27
+ var Flex = require('./Flex-ce16a2fa.js');
28
28
  var FocusTrap = require('./FocusTrap-bfe96498.js');
29
- var LiveRegion = require('./LiveRegion-567427c5.js');
29
+ var LiveRegion = require('./LiveRegion-3bc583c6.js');
30
30
  var UNSAFE_MessageToast_themes_redwood_MessageToastTheme = require('./UNSAFE_MessageToast/themes/redwood/MessageToastTheme.js');
31
- var MessageLayer = require('./MessageLayer-f9aa9828.js');
31
+ var MessageLayer = require('./MessageLayer-fc21a223.js');
32
32
 
33
33
  /**
34
34
  * Animation states for toast messages
@@ -7,10 +7,10 @@ var SuccessS = require('./SuccessS-0f71f148.js');
7
7
  var ErrorS = require('./ErrorS-ed472612.js');
8
8
  var InformationS = require('./InformationS-6d8c46d3.js');
9
9
  var WarningS = require('./WarningS-5771be9f.js');
10
- var Flex = require('./Flex-e7a85bef.js');
10
+ var Flex = require('./Flex-ce16a2fa.js');
11
11
  var PRIVATE_Message_themes_MessageStyles_css = require('./PRIVATE_Message/themes/MessageStyles.css.js');
12
- var useTranslationBundle = require('./useTranslationBundle-51f4c22c.js');
13
- var useTestId = require('./useTestId-5e6af45d.js');
12
+ var useTranslationBundle = require('./useTranslationBundle-6b0281a9.js');
13
+ var useTestId = require('./useTestId-e267a39d.js');
14
14
  var logger = require('./logger-2b636482.js');
15
15
  var soundUtils = require('./soundUtils-ff3c9c0d.js');
16
16
  var MessageFormattingUtils = require('./MessageFormattingUtils-42d84399.js');
@@ -6,9 +6,9 @@ var TrackResizeContainer = require('./TrackResizeContainer-261fcfa5.js');
6
6
  var classNames = require('./classNames-c14c6ef3.js');
7
7
  var mergeProps = require('./mergeProps-e3da7237.js');
8
8
  var hooks = require('preact/hooks');
9
- var useUser = require('./useUser-a4bfc560.js');
10
- var useMeterDatatip = require('./useMeterDatatip-641afcc6.js');
11
- var useKeyboardEvents = require('./useKeyboardEvents-5e808fe3.js');
9
+ var useUser = require('./useUser-8aaad5a7.js');
10
+ var useMeterDatatip = require('./useMeterDatatip-945883f5.js');
11
+ var useKeyboardEvents = require('./useKeyboardEvents-7ab0d8ee.js');
12
12
  var meterUtils = require('./meterUtils-9be969dc.js');
13
13
  var utils = require('./utils-7c0b6a81.js');
14
14
  var UNSAFE_MeterBar_themes_MeterBarContract_css = require('./UNSAFE_MeterBar/themes/MeterBarContract.css.js');
@@ -19,9 +19,9 @@ require('./TabbableModeContext-e99d527e.js');
19
19
  var useTabbableMode = require('./useTabbableMode-5c8fd9e5.js');
20
20
  var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
21
21
  var UNSAFE_MeterBar_themes_redwood_MeterBarTheme = require('./UNSAFE_MeterBar/themes/redwood/MeterBarTheme.js');
22
- var useTestId = require('./useTestId-5e6af45d.js');
22
+ var useTestId = require('./useTestId-e267a39d.js');
23
23
  var useTextDimensions = require('./useTextDimensions-a651f0d4.js');
24
- var useCssVars = require('./useCssVars-bd95e715.js');
24
+ var useCssVars = require('./useCssVars-9bea15a9.js');
25
25
  var Common_themes_themeContract_css = require('./Common/themes/themeContract.css.js');
26
26
  var LinearMeter = require('./LinearMeter-01730327.js');
27
27
 
@@ -2,7 +2,7 @@
2
2
  'use strict';
3
3
 
4
4
  var jsxRuntime = require('preact/jsx-runtime');
5
- var useUser = require('./useUser-a4bfc560.js');
5
+ var useUser = require('./useUser-8aaad5a7.js');
6
6
  var hooks = require('preact/hooks');
7
7
  var mergeProps = require('./mergeProps-e3da7237.js');
8
8
  var classNames = require('./classNames-c14c6ef3.js');
@@ -14,14 +14,14 @@ var UNSAFE_MeterCircle_themes_MeterCircleContract_css = require('./UNSAFE_MeterC
14
14
  var Common_themes_themeContract_css = require('./Common/themes/themeContract.css.js');
15
15
  var utils = require('./utils-7c0b6a81.js');
16
16
  var TrackResizeContainer = require('./TrackResizeContainer-261fcfa5.js');
17
- var useMeterDatatip = require('./useMeterDatatip-641afcc6.js');
18
- var useKeyboardEvents = require('./useKeyboardEvents-5e808fe3.js');
17
+ var useMeterDatatip = require('./useMeterDatatip-945883f5.js');
18
+ var useKeyboardEvents = require('./useKeyboardEvents-7ab0d8ee.js');
19
19
  require('./TabbableModeContext-e99d527e.js');
20
20
  var useTabbableMode = require('./useTabbableMode-5c8fd9e5.js');
21
21
  var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
22
22
  var UNSAFE_MeterCircle_themes_redwood_MeterCircleTheme = require('./UNSAFE_MeterCircle/themes/redwood/MeterCircleTheme.js');
23
- var useTestId = require('./useTestId-5e6af45d.js');
24
- var useCssVars = require('./useCssVars-bd95e715.js');
23
+ var useTestId = require('./useTestId-e267a39d.js');
24
+ var useCssVars = require('./useCssVars-9bea15a9.js');
25
25
  var useTextDimensions = require('./useTextDimensions-a651f0d4.js');
26
26
  var CircularMeter = require('./CircularMeter-516284b6.js');
27
27
 
@@ -4,8 +4,8 @@
4
4
  var jsxRuntime = require('preact/jsx-runtime');
5
5
  var compat = require('preact/compat');
6
6
  var useModal = require('./useModal-0739a528.js');
7
- var Layer = require('./Layer-0053053a.js');
8
- require('./LayerHost-a8c7f182.js');
7
+ var Layer = require('./Layer-49394ca6.js');
8
+ require('./LayerHost-7182bfaf.js');
9
9
  var UNSAFE_Modal_themes_ModalStyles_css = require('./UNSAFE_Modal/themes/ModalStyles.css.js');
10
10
  var tabbableUtils = require('./tabbableUtils-39e647b7.js');
11
11
 
@@ -261,4 +261,4 @@ const Modal = ({ children, isOpen, onBackdropClick, backdropVariant }) => {
261
261
  };
262
262
 
263
263
  exports.Modal = Modal;
264
- //# sourceMappingURL=Modal-b9987f2d.js.map
264
+ //# sourceMappingURL=Modal-76b3a4d9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-b9987f2d.js","sources":["../../src/UNSAFE_Modal/ModalBackdrop.tsx","../../src/UNSAFE_Modal/ModalManager.ts","../../src/UNSAFE_Modal/Modal.tsx"],"sourcesContent":["import { forwardRef, ForwardedRef } from 'preact/compat';\nimport { multiVariantStyles } from './themes/ModalStyles.css';\nimport { HTMLAttributesSignalExcluded } from '../utils/UNSAFE_attributeUtils';\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children'>;\n\ntype Props = IntrinsicProps & {\n /**\n * Specifies the backdrop is visible or transparent. Default is 'scrim' (visible).\n */\n variant?: 'scrim' | 'transparent';\n};\n\nconst ModalBackdrop = forwardRef<HTMLDivElement, Props>(\n ({ variant = 'scrim' }, ref: ForwardedRef<HTMLDivElement | null>) => {\n const variantClasses = multiVariantStyles({\n backdrop: variant === 'transparent' ? 'transparent' : 'scrim'\n });\n\n return <div ref={ref} class={variantClasses} />;\n }\n);\n\nexport default ModalBackdrop;\n","import { focusWithin, allTabbableElements } from '../utils/PRIVATE_tabbableUtils';\n\ninterface Modal {\n modalRef?: HTMLDivElement | null;\n}\n\n/**\n * CSS property backup type.\n */\ntype StyleBackup = Array<{\n property: string;\n value: string;\n}>;\n\n/**\n * ModalDescriptor. Associates an open Modal with overlayed aria-hidden children.\n */\ntype ModalDescriptor = {\n modal: Modal;\n ariaHiddenChildren: Element[];\n};\n\n/**\n * Returns an array of element's siblings.\n *\n * @param elem\n * @returns\n */\nfunction getSiblings(elem: Element): Element[] {\n const siblings: Element[] = [];\n let sibling = elem.previousSibling;\n while (sibling != null) {\n if (sibling.nodeType === 1) {\n siblings.push(sibling as Element);\n }\n sibling = sibling.previousSibling;\n }\n sibling = elem.nextSibling;\n while (sibling != null) {\n if (sibling.nodeType === 1) {\n siblings.push(sibling as Element);\n }\n sibling = sibling.nextSibling;\n }\n return siblings;\n}\n\n/**\n * Sets aria-hidden=true on Modal ancestors and siblings.\n *\n * @param modal\n * @returns An array of modified elements.\n */\nfunction setAriaHiddenOnBackgroundElements(modal: Modal) {\n if (!modal.modalRef) {\n return [];\n }\n const ariaHiddenElements: Element[] = [];\n let node: Element | null = modal.modalRef.parentElement as Element;\n\n do {\n if (!node) {\n break;\n }\n const siblings = getSiblings(node);\n siblings.forEach((elem: Element) => {\n if (elem.tagName.toLowerCase() !== 'script' && elem.getAttribute('aria-hidden') !== 'true') {\n ariaHiddenElements.push(elem);\n elem.setAttribute('aria-hidden', 'true');\n }\n });\n node = node.parentElement;\n } while (node && node.tagName.toLowerCase() !== 'body');\n\n return ariaHiddenElements;\n}\n\n/**\n * Resets the aria-hidden state on previously aria-hidden elements.\n *\n * @param elements\n */\nfunction resetAriaHiddenOnBackgroundElements(elements: Element[]) {\n elements.forEach((elem) => {\n elem.removeAttribute('aria-hidden');\n });\n}\n\nexport default class ModalManager {\n /**\n * Array of ModalDescriptors managed by ModalManager\n */\n private modals: ModalDescriptor[];\n /**\n * Backup of the main container's (body) CSS props potentially altered by Modal.\n */\n private styleBackup: StyleBackup;\n /**\n * A flag indicating that the ModalManager's focus handler is installed\n */\n private isFocusHandlerActive = false;\n\n constructor() {\n this.modals = [];\n this.styleBackup = [];\n }\n\n /**\n * A focus handler to keep focus in the top-most modal.\n */\n private focusHandler = (event: FocusEvent) => {\n const topModal = this.getTopModal();\n const target = event.target as HTMLElement;\n\n // if there is an open modal and valid focus event target...\n if (topModal && target) {\n const modalElement = topModal.modalRef;\n if (modalElement && !modalElement.contains(target)) {\n // Focus is outside of the top modal container, let's try to fix it\n const tabbableElements = allTabbableElements(modalElement);\n if (tabbableElements.length > 0) {\n // re-directing focus to the element inside top modal\n focusWithin(modalElement);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n };\n\n /**\n * Registers a modal with ModalManager\n *\n * @param modal\n * @returns\n */\n push(modal: Modal) {\n const modalIndex = this._findModalIndex(modal);\n\n if (modalIndex !== -1) {\n // Do not try to register the same modal multiple times\n return;\n }\n\n this.modals.push({\n modal: modal,\n ariaHiddenChildren: setAriaHiddenOnBackgroundElements(modal)\n });\n\n // if this is the first modal in the container, block container scrolling\n if (this.modals.length === 1) {\n const ownerDocument = this._getOwnerDocument(modal.modalRef);\n const scrollContainer = ownerDocument.body;\n\n const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarWidth > 1) {\n // in RTL, scrollbar is on the left\n const scrollBarLeft =\n Math.round(document.documentElement.getBoundingClientRect().left) +\n document.documentElement.scrollLeft;\n\n if (scrollBarLeft) {\n this.styleBackup.push({\n property: 'padding-left',\n value: scrollContainer.style.paddingLeft\n });\n scrollContainer.style.paddingLeft = `${scrollBarWidth}px`;\n } else {\n this.styleBackup.push({\n property: 'padding-right',\n value: scrollContainer.style.paddingRight\n });\n scrollContainer.style.paddingRight = `${scrollBarWidth}px`;\n }\n }\n\n this.styleBackup.push({ property: 'overflow', value: scrollContainer.style.overflow });\n this.styleBackup.push({ property: 'overflow-x', value: scrollContainer.style.overflowX });\n this.styleBackup.push({ property: 'overflow-y', value: scrollContainer.style.overflowY });\n\n scrollContainer.style.overflow = 'hidden';\n }\n\n // also install the focus handler when the first modal becomes active\n if (this.modals.length === 1 && !this.islegacyLayerSupportAvailable()) {\n document.addEventListener('focus', this.focusHandler, true);\n this.isFocusHandlerActive = true;\n }\n }\n\n /**\n * Unegisters a modal from ModalManager\n *\n * @param modal\n * @returns\n */\n pop(modal: Modal) {\n const modalIndex = this._findModalIndex(modal);\n\n if (modalIndex === -1) {\n // modal to be removed not found!'\n return;\n }\n\n if (modalIndex !== this.modals.length - 1) {\n // trying to remove modal out of order!\n return;\n }\n\n // remove the focus handler when the last modal is about to be removed\n if (this.isFocusHandlerActive && this.modals.length === 1) {\n document.removeEventListener('focus', this.focusHandler, true);\n }\n\n const modalDescriptor = this.modals.pop();\n\n if (modalDescriptor) {\n resetAriaHiddenOnBackgroundElements(modalDescriptor?.ariaHiddenChildren);\n }\n\n // if this was the last modal in the container, restore its overflow props\n if (this.modals.length === 0) {\n const ownerDocument = this._getOwnerDocument(modal.modalRef);\n const scrollContainer = ownerDocument.body;\n\n this.styleBackup.forEach(({ property, value }) => {\n scrollContainer.style.setProperty(property, value);\n });\n }\n }\n\n isTopModal(modal: Modal): boolean {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n\n getTopModal = (): Modal | null => {\n return this.modals.length > 0 ? this.modals[this.modals.length - 1].modal : null;\n };\n\n private _findModalIndex(modal: Modal): number {\n let index = -1;\n this.modals.forEach((elem, idx) => {\n if (elem.modal === modal) {\n index = idx;\n return;\n }\n });\n return index;\n }\n\n private _getOwnerDocument(node: Node | null | undefined): Document {\n return (node && node.ownerDocument) || document;\n }\n\n // TODO: replace with a proper API\n /**\n * Checks if the legacy popup service is available\n */\n private islegacyLayerSupportAvailable = () => {\n return document.getElementById('__oj_zorder_container') !== null;\n };\n}\n","import { useEffect, useRef } from 'preact/compat';\nimport { useModal } from './hooks/useModal';\nimport { Layer } from '../UNSAFE_Layer';\nimport ModalBackdrop from './ModalBackdrop';\nimport ModalManager from './ModalManager';\nimport { baseStyle } from './themes/ModalStyles.css';\nimport { HTMLAttributesSignalExcluded } from '../utils/UNSAFE_attributeUtils';\n\n// Global ModalManager singleton instance\nconst globalModalManager = new ModalManager();\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children'>;\ntype UseModalProps = Parameters<typeof useModal>[0];\ntype Props = UseModalProps &\n IntrinsicProps & {\n /**\n * Determines if the modal is active.\n */\n isOpen: boolean;\n /**\n * Specifies if modal backdrop is visible or transparent. Default is 'scrim' (visible).\n */\n backdropVariant?: 'scrim' | 'transparent';\n /**\n * A callback to be invoked when a click on the modal backdrop occurs.\n */\n onBackdropClick?: (event: MouseEvent) => void;\n };\n\n/**\n * Modal is a low-level component that provides the 'modality' feature with built-in overlay (scrim).\n * It is typically used for building higher-level components (such as 'Dialog' or 'Popup') that need\n * to support modal behavior preventing interaction with the rest of the page while the modal is open.\n */\nconst Modal = ({ children, isOpen, onBackdropClick, backdropVariant }: Props) => {\n // get the global ModalContext instance\n const modalManager = globalModalManager;\n\n const { backdropRef } = useModal({ isOpen, onBackdropClick });\n // main modal element ref\n const modalRef = useRef<HTMLDivElement>(null);\n\n // modal ref cache, required to lookup the item in modal manager when the actual ref is unmounted\n const modal = useRef<{\n modalRef?: typeof modalRef.current;\n }>({});\n\n // populates and returns the modal ref cache\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n return modal.current;\n };\n\n useEffect(() => {\n if (isOpen && modalRef.current) {\n modalManager?.push(getModal());\n } else {\n if (modal.current.modalRef) {\n modalManager?.pop(getModal());\n }\n }\n }, [isOpen, modalManager]);\n\n useEffect(() => {\n const modalRef = modal.current.modalRef;\n return () => {\n if (modalRef) {\n modalManager?.pop(getModal());\n }\n };\n }, [modalManager]);\n\n return isOpen ? (\n <Layer isModal={true}>\n <div ref={modalRef} class={baseStyle}>\n <ModalBackdrop ref={backdropRef} variant={backdropVariant} />\n {children}\n </div>\n </Layer>\n ) : null;\n};\n\nexport default Modal;\n"],"names":["forwardRef","multiVariantStyles","_jsx","allTabbableElements","focusWithin","useModal","useRef","useEffect","Layer","_jsxs","baseStyle"],"mappings":"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"}
1
+ {"version":3,"file":"Modal-76b3a4d9.js","sources":["../../src/UNSAFE_Modal/ModalBackdrop.tsx","../../src/UNSAFE_Modal/ModalManager.ts","../../src/UNSAFE_Modal/Modal.tsx"],"sourcesContent":["import { forwardRef, ForwardedRef } from 'preact/compat';\nimport { multiVariantStyles } from './themes/ModalStyles.css';\nimport { HTMLAttributesSignalExcluded } from '../utils/UNSAFE_attributeUtils';\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children'>;\n\ntype Props = IntrinsicProps & {\n /**\n * Specifies the backdrop is visible or transparent. Default is 'scrim' (visible).\n */\n variant?: 'scrim' | 'transparent';\n};\n\nconst ModalBackdrop = forwardRef<HTMLDivElement, Props>(\n ({ variant = 'scrim' }, ref: ForwardedRef<HTMLDivElement | null>) => {\n const variantClasses = multiVariantStyles({\n backdrop: variant === 'transparent' ? 'transparent' : 'scrim'\n });\n\n return <div ref={ref} class={variantClasses} />;\n }\n);\n\nexport default ModalBackdrop;\n","import { focusWithin, allTabbableElements } from '../utils/PRIVATE_tabbableUtils';\n\ninterface Modal {\n modalRef?: HTMLDivElement | null;\n}\n\n/**\n * CSS property backup type.\n */\ntype StyleBackup = Array<{\n property: string;\n value: string;\n}>;\n\n/**\n * ModalDescriptor. Associates an open Modal with overlayed aria-hidden children.\n */\ntype ModalDescriptor = {\n modal: Modal;\n ariaHiddenChildren: Element[];\n};\n\n/**\n * Returns an array of element's siblings.\n *\n * @param elem\n * @returns\n */\nfunction getSiblings(elem: Element): Element[] {\n const siblings: Element[] = [];\n let sibling = elem.previousSibling;\n while (sibling != null) {\n if (sibling.nodeType === 1) {\n siblings.push(sibling as Element);\n }\n sibling = sibling.previousSibling;\n }\n sibling = elem.nextSibling;\n while (sibling != null) {\n if (sibling.nodeType === 1) {\n siblings.push(sibling as Element);\n }\n sibling = sibling.nextSibling;\n }\n return siblings;\n}\n\n/**\n * Sets aria-hidden=true on Modal ancestors and siblings.\n *\n * @param modal\n * @returns An array of modified elements.\n */\nfunction setAriaHiddenOnBackgroundElements(modal: Modal) {\n if (!modal.modalRef) {\n return [];\n }\n const ariaHiddenElements: Element[] = [];\n let node: Element | null = modal.modalRef.parentElement as Element;\n\n do {\n if (!node) {\n break;\n }\n const siblings = getSiblings(node);\n siblings.forEach((elem: Element) => {\n if (elem.tagName.toLowerCase() !== 'script' && elem.getAttribute('aria-hidden') !== 'true') {\n ariaHiddenElements.push(elem);\n elem.setAttribute('aria-hidden', 'true');\n }\n });\n node = node.parentElement;\n } while (node && node.tagName.toLowerCase() !== 'body');\n\n return ariaHiddenElements;\n}\n\n/**\n * Resets the aria-hidden state on previously aria-hidden elements.\n *\n * @param elements\n */\nfunction resetAriaHiddenOnBackgroundElements(elements: Element[]) {\n elements.forEach((elem) => {\n elem.removeAttribute('aria-hidden');\n });\n}\n\nexport default class ModalManager {\n /**\n * Array of ModalDescriptors managed by ModalManager\n */\n private modals: ModalDescriptor[];\n /**\n * Backup of the main container's (body) CSS props potentially altered by Modal.\n */\n private styleBackup: StyleBackup;\n /**\n * A flag indicating that the ModalManager's focus handler is installed\n */\n private isFocusHandlerActive = false;\n\n constructor() {\n this.modals = [];\n this.styleBackup = [];\n }\n\n /**\n * A focus handler to keep focus in the top-most modal.\n */\n private focusHandler = (event: FocusEvent) => {\n const topModal = this.getTopModal();\n const target = event.target as HTMLElement;\n\n // if there is an open modal and valid focus event target...\n if (topModal && target) {\n const modalElement = topModal.modalRef;\n if (modalElement && !modalElement.contains(target)) {\n // Focus is outside of the top modal container, let's try to fix it\n const tabbableElements = allTabbableElements(modalElement);\n if (tabbableElements.length > 0) {\n // re-directing focus to the element inside top modal\n focusWithin(modalElement);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n };\n\n /**\n * Registers a modal with ModalManager\n *\n * @param modal\n * @returns\n */\n push(modal: Modal) {\n const modalIndex = this._findModalIndex(modal);\n\n if (modalIndex !== -1) {\n // Do not try to register the same modal multiple times\n return;\n }\n\n this.modals.push({\n modal: modal,\n ariaHiddenChildren: setAriaHiddenOnBackgroundElements(modal)\n });\n\n // if this is the first modal in the container, block container scrolling\n if (this.modals.length === 1) {\n const ownerDocument = this._getOwnerDocument(modal.modalRef);\n const scrollContainer = ownerDocument.body;\n\n const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarWidth > 1) {\n // in RTL, scrollbar is on the left\n const scrollBarLeft =\n Math.round(document.documentElement.getBoundingClientRect().left) +\n document.documentElement.scrollLeft;\n\n if (scrollBarLeft) {\n this.styleBackup.push({\n property: 'padding-left',\n value: scrollContainer.style.paddingLeft\n });\n scrollContainer.style.paddingLeft = `${scrollBarWidth}px`;\n } else {\n this.styleBackup.push({\n property: 'padding-right',\n value: scrollContainer.style.paddingRight\n });\n scrollContainer.style.paddingRight = `${scrollBarWidth}px`;\n }\n }\n\n this.styleBackup.push({ property: 'overflow', value: scrollContainer.style.overflow });\n this.styleBackup.push({ property: 'overflow-x', value: scrollContainer.style.overflowX });\n this.styleBackup.push({ property: 'overflow-y', value: scrollContainer.style.overflowY });\n\n scrollContainer.style.overflow = 'hidden';\n }\n\n // also install the focus handler when the first modal becomes active\n if (this.modals.length === 1 && !this.islegacyLayerSupportAvailable()) {\n document.addEventListener('focus', this.focusHandler, true);\n this.isFocusHandlerActive = true;\n }\n }\n\n /**\n * Unegisters a modal from ModalManager\n *\n * @param modal\n * @returns\n */\n pop(modal: Modal) {\n const modalIndex = this._findModalIndex(modal);\n\n if (modalIndex === -1) {\n // modal to be removed not found!'\n return;\n }\n\n if (modalIndex !== this.modals.length - 1) {\n // trying to remove modal out of order!\n return;\n }\n\n // remove the focus handler when the last modal is about to be removed\n if (this.isFocusHandlerActive && this.modals.length === 1) {\n document.removeEventListener('focus', this.focusHandler, true);\n }\n\n const modalDescriptor = this.modals.pop();\n\n if (modalDescriptor) {\n resetAriaHiddenOnBackgroundElements(modalDescriptor?.ariaHiddenChildren);\n }\n\n // if this was the last modal in the container, restore its overflow props\n if (this.modals.length === 0) {\n const ownerDocument = this._getOwnerDocument(modal.modalRef);\n const scrollContainer = ownerDocument.body;\n\n this.styleBackup.forEach(({ property, value }) => {\n scrollContainer.style.setProperty(property, value);\n });\n }\n }\n\n isTopModal(modal: Modal): boolean {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n\n getTopModal = (): Modal | null => {\n return this.modals.length > 0 ? this.modals[this.modals.length - 1].modal : null;\n };\n\n private _findModalIndex(modal: Modal): number {\n let index = -1;\n this.modals.forEach((elem, idx) => {\n if (elem.modal === modal) {\n index = idx;\n return;\n }\n });\n return index;\n }\n\n private _getOwnerDocument(node: Node | null | undefined): Document {\n return (node && node.ownerDocument) || document;\n }\n\n // TODO: replace with a proper API\n /**\n * Checks if the legacy popup service is available\n */\n private islegacyLayerSupportAvailable = () => {\n return document.getElementById('__oj_zorder_container') !== null;\n };\n}\n","import { useEffect, useRef } from 'preact/compat';\nimport { useModal } from './hooks/useModal';\nimport { Layer } from '../UNSAFE_Layer';\nimport ModalBackdrop from './ModalBackdrop';\nimport ModalManager from './ModalManager';\nimport { baseStyle } from './themes/ModalStyles.css';\nimport { HTMLAttributesSignalExcluded } from '../utils/UNSAFE_attributeUtils';\n\n// Global ModalManager singleton instance\nconst globalModalManager = new ModalManager();\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children'>;\ntype UseModalProps = Parameters<typeof useModal>[0];\ntype Props = UseModalProps &\n IntrinsicProps & {\n /**\n * Determines if the modal is active.\n */\n isOpen: boolean;\n /**\n * Specifies if modal backdrop is visible or transparent. Default is 'scrim' (visible).\n */\n backdropVariant?: 'scrim' | 'transparent';\n /**\n * A callback to be invoked when a click on the modal backdrop occurs.\n */\n onBackdropClick?: (event: MouseEvent) => void;\n };\n\n/**\n * Modal is a low-level component that provides the 'modality' feature with built-in overlay (scrim).\n * It is typically used for building higher-level components (such as 'Dialog' or 'Popup') that need\n * to support modal behavior preventing interaction with the rest of the page while the modal is open.\n */\nconst Modal = ({ children, isOpen, onBackdropClick, backdropVariant }: Props) => {\n // get the global ModalContext instance\n const modalManager = globalModalManager;\n\n const { backdropRef } = useModal({ isOpen, onBackdropClick });\n // main modal element ref\n const modalRef = useRef<HTMLDivElement>(null);\n\n // modal ref cache, required to lookup the item in modal manager when the actual ref is unmounted\n const modal = useRef<{\n modalRef?: typeof modalRef.current;\n }>({});\n\n // populates and returns the modal ref cache\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n return modal.current;\n };\n\n useEffect(() => {\n if (isOpen && modalRef.current) {\n modalManager?.push(getModal());\n } else {\n if (modal.current.modalRef) {\n modalManager?.pop(getModal());\n }\n }\n }, [isOpen, modalManager]);\n\n useEffect(() => {\n const modalRef = modal.current.modalRef;\n return () => {\n if (modalRef) {\n modalManager?.pop(getModal());\n }\n };\n }, [modalManager]);\n\n return isOpen ? (\n <Layer isModal={true}>\n <div ref={modalRef} class={baseStyle}>\n <ModalBackdrop ref={backdropRef} variant={backdropVariant} />\n {children}\n </div>\n </Layer>\n ) : null;\n};\n\nexport default Modal;\n"],"names":["forwardRef","multiVariantStyles","_jsx","allTabbableElements","focusWithin","useModal","useRef","useEffect","Layer","_jsxs","baseStyle"],"mappings":"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"}
@@ -9,11 +9,11 @@ var calendarDateUtils = require('./calendarDateUtils-101197aa.js');
9
9
  var hooks = require('preact/hooks');
10
10
  var StyledDatePickerButton = require('./StyledDatePickerButton-58ed99e0.js');
11
11
  var compat = require('preact/compat');
12
- var useTranslationBundle = require('./useTranslationBundle-51f4c22c.js');
12
+ var useTranslationBundle = require('./useTranslationBundle-6b0281a9.js');
13
13
  var useCellNavigation = require('./useCellNavigation-6f7cd4c8.js');
14
14
  var PRIVATE_MonthView_themes_DayCellStyles_css = require('./PRIVATE_MonthView/themes/DayCellStyles.css.js');
15
- var useUser = require('./useUser-a4bfc560.js');
16
- var Grid = require('./Grid-a7316edd.js');
15
+ var useUser = require('./useUser-8aaad5a7.js');
16
+ var Grid = require('./Grid-b8fadf4a.js');
17
17
  var PRIVATE_MonthView_themes_redwood_MonthViewTheme = require('./PRIVATE_MonthView/themes/redwood/MonthViewTheme.js');
18
18
  var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
19
19
  var PRIVATE_MonthView_themes_MonthViewContract_css = require('./PRIVATE_MonthView/themes/MonthViewContract.css.js');
@@ -207,4 +207,4 @@ function isOutOfMonth(date1, currentMonthDate) {
207
207
  }
208
208
 
209
209
  exports.MonthView = MonthView;
210
- //# sourceMappingURL=MonthView-9c2819f0.js.map
210
+ //# sourceMappingURL=MonthView-458d3d61.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MonthView-9c2819f0.js","sources":["../../src/PRIVATE_MonthView/useDayCell.ts","../../src/PRIVATE_MonthView/DayCell.tsx","../../src/PRIVATE_MonthView/WeekNumberCell.tsx","../../src/PRIVATE_MonthView/MonthView.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport type { CalendarDateRequired } from '#utils/UNSAFE_calendarDateUtils';\nimport { DateISOStr } from '#UNSAFE_IntlDateTime';\nimport { FormatterFunc } from '#UNSAFE_IntlFormatParse';\nimport { getIsoDateStr, toJSDate } from '#utils/UNSAFE_calendarDateUtils';\nimport { ComponentProps, useCallback } from 'preact/compat';\n\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { useFocusableCell } from '#UNSAFE_DatePicker/useFocusableCell';\nimport { useCellNavigation } from '#UNSAFE_DatePicker/useCellNavigation';\nimport { StyledDatePickerButton } from '#PRIVATE_StyledDatePickerButton';\n\ntype NavigationDirections =\n | 'previousDay'\n | 'nextDay'\n | 'previousWeek'\n | 'nextWeek'\n | 'previousMonth'\n | 'nextMonth'\n | 'previousYear'\n | 'nextYear'\n | 'firstDayOfMonth'\n | 'lastDayOfMonth'\n | 'today';\n\nexport type DayFormatOptions = {\n state: 'enabled' | 'disabled' | 'restricted';\n};\n\n// These are the properties the useDayCell hook takes.\nexport type UseDayCellProps = {\n /**\n * Date of the day cell. This will be formatted as a full date and put in the aria-label.\n */\n date: CalendarDateRequired;\n /**\n * A function used to format the day cell date as a full date.\n */\n dateFormatter: FormatterFunc<DateISOStr>;\n /**\n * A function that receives a date and returns an object specifying how to format the provided date.\n * This function is called for each date that is rendered and this can be used to control how individual\n * dates are rendered - disabled, restricted, or enabled.\n * @param date The date to format\n * @returns The format options\n */\n dayFormatter?: (date: CalendarDateRequired) => DayFormatOptions;\n /**\n * Whether the day cell is in an adjacent month, not the current month.\n */\n isAdjacentMonth: boolean;\n /**\n * Whether the day cell is disabled, like if it is out of the min/max range.\n */\n isDisabled?: boolean;\n /**\n * Whether the day cell is focusable, meaning it will have tabIndex 0.\n */\n isFocusable: boolean;\n /**\n * Whether the day cell has focus.\n */\n isFocused: boolean;\n /**\n * Whether the day cell is hidden. For example, days outside of the current month are hidden by default.\n */\n isHidden: boolean;\n /**\n * Whether the day cell is readonly. It is not activeable.\n */\n isReadonly: boolean;\n /**\n * Whether the day cell looks selected.\n */\n isSelected: boolean;\n /**\n * Whether the day cell's date is today.\n */\n isToday: boolean;\n /**\n * A callback that will be invoked when the user selects the date by clicking on a day cell or selecting the enter or space key on a day cell.\n * @param payload The payload containing the date represented by this cell.\n */\n onAction: (payload: { date: CalendarDateRequired }) => void;\n /**\n * A callback that will be invoked when the user navigates.\n */\n onNavigation: (detail: { direction: NavigationDirections; date: CalendarDateRequired }) => void;\n};\n\n/**\n * The useDayCell hook returns properties for an individual DayCell. The properties returned should be spread on the StyledDatePickerButton.\n * These include the event handlers for keydown and click.\n */\nexport const useDayCell = ({\n date,\n dayFormatter = defaultDayFormatter,\n dateFormatter,\n isAdjacentMonth,\n isDisabled,\n isFocusable,\n isFocused,\n isHidden,\n isReadonly,\n isSelected,\n isToday,\n onAction,\n onNavigation\n}: UseDayCellProps) => {\n // apply day formatting\n const { state } = dayFormatter(date);\n const isDisabledFormat = state === 'disabled';\n const isRestrictedFormat = state === 'restricted';\n\n // Focus the day cell with isFocused true when the state updates.\n const buttonProps = useFocusableCell({ isFocusable, isFocused });\n // Override onAction to not call it if disabled, readonly or restricted\n const handleAction: UseDayCellProps['onAction'] = useCallback(\n (payload) => {\n if (isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat) return;\n onAction(payload);\n },\n [isDisabled, isDisabledFormat, isReadonly, isRestrictedFormat, onAction]\n );\n const buttonEventHandlers = useCellNavigation({\n navigationMap: {\n ArrowLeft: { ltr: 'previousDay', rtl: 'nextDay' },\n ArrowRight: { ltr: 'nextDay', rtl: 'previousDay' },\n ArrowDown: 'nextWeek',\n ArrowUp: 'previousWeek',\n PageDown: 'nextMonth',\n PageUp: 'previousMonth',\n Home: 'firstDayOfMonth',\n End: 'lastDayOfMonth',\n ShiftPageDown: 'nextYear',\n ShiftPageUp: 'previousYear',\n CtrlAltT: 'today'\n },\n payload: { date },\n onAction: handleAction,\n onNavigation\n });\n\n // For accessibility, we want a full date.\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const today = translations.datePicker_today();\n const selected = translations.datePicker_selected();\n const restricted = translations.datePicker_restricted();\n\n const dateIsoStr = getIsoDateStr(date.year, date.month, date.day);\n const formattedDate = dateFormatter(dateIsoStr);\n let ariaLabel = isToday ? `${today}, ${formattedDate}` : formattedDate;\n ariaLabel = isRestrictedFormat ? `${ariaLabel}, ${restricted}` : ariaLabel;\n ariaLabel = isSelected ? `${ariaLabel}, ${selected}` : ariaLabel;\n const dayOfMonth = toJSDate(date.year, date.month, date.day).getDate().toString();\n\n return {\n buttonProps: {\n 'aria-label': ariaLabel,\n ...((isHidden || isDisabled || isDisabledFormat || isRestrictedFormat) && {\n 'aria-disabled': true\n }),\n isActivable: !(isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat),\n isAdjacentMonth,\n isDimmed: isDisabled || isDisabledFormat,\n isHidden,\n isHoverable: !(isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat),\n isReadonly,\n isSelected,\n isRestricted: isRestrictedFormat,\n isToday,\n label: dayOfMonth,\n ...buttonProps,\n ...buttonEventHandlers\n } as ComponentProps<typeof StyledDatePickerButton>\n };\n};\n\n/**\n * A default day formatter that always formats as enabled state.\n */\nconst defaultDayFormatter = () => ({ state: 'enabled' }) as DayFormatOptions;\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { StyledDatePickerButton } from '#PRIVATE_StyledDatePickerButton';\nimport { UseDayCellProps, useDayCell } from './useDayCell';\nimport { dayCellStyles } from './themes/DayCellStyles.css';\n\ntype PickedUseDayCellProps = Pick<\n UseDayCellProps,\n | 'date'\n | 'dateFormatter'\n | 'dayFormatter'\n | 'isAdjacentMonth'\n | 'isDisabled'\n | 'isFocusable'\n | 'isFocused'\n | 'isHidden'\n | 'isReadonly'\n | 'isSelected'\n | 'isToday'\n | 'onAction'\n | 'onNavigation'\n>;\n\ntype DayCellProps = PickedUseDayCellProps;\n\n/**\n * The DayCell is the cell within the DatePicker's month view that contains the day in the month view.\n * This component will format the date for the aria-label.\n * The DayCell components uses the useDayCell hook to handle the user interactions with the day cell.\n */\nexport const DayCell = (props: DayCellProps) => {\n const { buttonProps } = useDayCell(props);\n // buttonProps, e.g., tabIndex, aria-label, onclick, onkeydown and visual states\n return (\n <div role=\"gridcell\" class={dayCellStyles}>\n <StyledDatePickerButton {...buttonProps} />\n </div>\n );\n};\n","import { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { CalendarDateRequired, toJSDate } from '#utils/UNSAFE_calendarDateUtils';\nimport { weekNumberCellStyles, weekNumberStyles } from './themes/WeekNumberCellStyle.css';\nimport * as Logger from '../utils/UNSAFE_logger';\n\ntype Props = {\n /**\n * startDateOfWeek is the first date of the week row\n */\n startDateOfWeek: CalendarDateRequired;\n};\n\n/**\n * The ISO 8601 definition for week 01 is the week with the first Thursday of the Gregorian year (i.e. of January) in it.\n * https://en.wikipedia.org/wiki/ISO_week_date\n * @param date The first date of the week row to be used to calculate the week number.\n * The date must be a Saturday, Sunday, or Monday. We assume this because the week for\n * all the locales we support start on one of these days.\n * @returns the number of week in the year\n */\nconst calculateWeekNumber = (date: CalendarDateRequired) => {\n const checkDate = toJSDate(date.year, date.month, date.day);\n const dayNumber = checkDate.getUTCDay(); // 0 for Sunday, 1 for Monday, 2 for Tuesday, etc.\n\n if (dayNumber !== 0 && dayNumber !== 1 && dayNumber !== 6) {\n // This message is for internal JET developers. We should never see this message. In all locales the day of the\n // week starts on Sunday, Monday or Saturday.\n Logger.warn(`calculateWeekNumber's date property's getUTCDay() is assumed to be 0 (Sunday), 1 (Monday) or 6 (Saturday)\n since that is the first day of the week for the locale's JET supports.`);\n }\n\n // For ISO week, we set the start of the week to Monday\n if (dayNumber !== 1) {\n // If it is already Monday, do nothing.\n // If it is Sunday (0), add 1 to move it up to Monday.\n // If it is Saturday (6), move it up two days to Monday.\n checkDate.setUTCDate(checkDate.getUTCDate() + (dayNumber === 0 ? 1 : 2));\n }\n\n // Find Thursday (day value of 4) of this week. Since we know checkDate at this point is a Monday,\n // we move it up 3 days.\n checkDate.setUTCDate(checkDate.getUTCDate() + 3);\n\n // Create the start of the year date\n const janFirst = toJSDate(checkDate.getUTCFullYear(), 1, 1);\n\n return Math.floor(Math.round((checkDate.getTime() - janFirst.getTime()) / 86400000) / 7) + 1;\n};\n\n/**\n * The WeekNumberCell is the cell at the start of a week's row within the DatePicker's\n * month view that contains the week's number within the year. This displays when\n * the DatePicker's 'weekDisplay' prop is set to 'number'.\n * This component will format the week number for the aria-label.\n */\nconst WeekNumberCell = ({ startDateOfWeek }: Props) => {\n const weekNumber = calculateWeekNumber(startDateOfWeek);\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n return (\n <div\n aria-label={translations.datePicker_weekNum({ NUM: String(weekNumber) })}\n class={weekNumberCellStyles}\n role=\"rowheader\">\n <span class={weekNumberStyles}>{weekNumber}</span>\n </div>\n );\n};\n\nexport { WeekNumberCell };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport {\n getWeeksInMonth,\n getDatesInWeek,\n getStartOfWeek,\n getDaysOfWeekNames,\n WeekInMonthIndex\n} from '#utils/PRIVATE_dayUtils';\nimport { ComponentProps } from 'preact/compat';\nimport { useMemo } from 'preact/hooks';\nimport {\n CalendarDateRequired,\n checkNoCalendarExtension,\n formatFullCalendarDate,\n isDateOutOfRange\n} from '#utils/UNSAFE_calendarDateUtils';\nimport { getFormatParse, NativeDateTimeOptions } from '#UNSAFE_IntlDateTime';\nimport { DayCell } from './DayCell';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { Grid } from '#UNSAFE_Grid';\nimport {\n MonthViewStyles,\n MonthViewVariantOptions\n} from '#PRIVATE_MonthView/themes/MonthViewStyles.css';\nimport { MonthViewRedwoodTheme } from '#PRIVATE_MonthView/themes/redwood/MonthViewTheme';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { monthViewScaleVars } from '#PRIVATE_MonthView/themes/MonthViewContract.css';\nimport { WeekNumberCell } from './WeekNumberCell';\n\ntype PickedDayCellProps = Pick<\n ComponentProps<typeof DayCell>,\n 'dayFormatter' | 'onAction' | 'onNavigation'\n>;\n\ntype MonthViewProps = TestIdProps &\n PickedDayCellProps & {\n /**\n * The daysOutsideMonth property affects the day cells that are outside of the current month.\n * If set to 'hidden', then the days outside of the current month will be hidden.\n * If set to 'selectable', then the days outside of the current month will be visible and selectable.\n * This defaults to 'hidden'.\n */\n daysOutsideMonth?: 'hidden' | 'selectable';\n /**\n * The MonthView renders with the month of the focusableDate.\n * The focusableDate is the only day in the MonthView that has tabIndex: 0 on it.\n * The focusableDate doesn't have focus until the user tabs in to the Month View.\n * The focusableDate is never undefined.\n */\n focusableDate: CalendarDateRequired;\n /**\n * If set to true, the focusableDate will be focused and you will see the focus ring. It will be\n * false when no date has focus.\n * @default false\n */\n isFocused?: boolean;\n /**\n * Specifies whether the component is readonly.\n */\n isReadonly?: boolean;\n /**\n * The maximum selectable date. The max must be greater than the min if they are both specified.\n */\n max?: CalendarDateRequired;\n /**\n * The minimum selectable date. The min must be less than the max if they are both specified.\n */\n min?: CalendarDateRequired;\n /**\n * The selected date of the MonthView, or undefined is there is no selected date. This\n * is used to highlight the selected day cell if it is within the min/max range.\n */\n selectedDate?: CalendarDateRequired;\n /**\n * Today's date. This is used to highlight the Today day cell.\n */\n todaysDate: CalendarDateRequired;\n /**\n * Whether week of the year will be shown in the DatePicker. The default calculation follows the\n * ISO 8601 definition: the first week of the year contains the first Thursday of the year.\n * This means that some days from one year may be placed into weeks 'belonging' to another year.\n */\n weekDisplay?: 'none' | 'number';\n };\n\n/**\n * A MonthView is a month interface that allows users to select a single date. The MonthView is the week day header\n * abbreviations and the days of the month. A MonthView is used inside of a DatePicker\n * along with the DatePickerHeader and the MonthGridView and YearGridView.\n */\nexport const MonthView = ({\n dayFormatter,\n daysOutsideMonth = 'hidden',\n isReadonly = false,\n max,\n min,\n onAction,\n onNavigation,\n selectedDate,\n focusableDate,\n isFocused = false,\n testId,\n todaysDate,\n weekDisplay = 'none'\n}: MonthViewProps) => {\n const { locale } = useUser();\n const weeksInMonth = getWeeksInMonth(focusableDate.year, focusableDate.month, locale);\n const { baseTheme, styles } = useComponentTheme<MonthViewVariantOptions, MonthViewStyles>(\n MonthViewRedwoodTheme,\n {}\n );\n const isWeekNumberDisplayed = weekDisplay === 'number';\n const gridTemplateColumns = `repeat(${isWeekNumberDisplayed ? 8 : 7}, 1fr)`;\n\n const dateFormatter = useMemo(() => {\n checkNoCalendarExtension(locale);\n const dateFormatOptions: NativeDateTimeOptions = {\n locale,\n dateStyle: 'full'\n };\n const { format } = getFormatParse(dateFormatOptions);\n return format;\n }, [locale]);\n\n const renderMonthViewHeaderRow = () => {\n const weekDays = getDaysOfWeekNames(locale, 'short');\n\n return (\n <div class={styles.sticky}>\n <Grid\n role=\"row\"\n aria-hidden=\"true\"\n gridTemplateColumns={gridTemplateColumns}\n gap={monthViewScaleVars.columnGap}>\n {isWeekNumberDisplayed && <div role=\"presentation\" />}\n {weekDays.map((day) => (\n <div role=\"columnheader\" class={styles.dayOfTheWeek}>\n <span>{day}</span>\n </div>\n ))}\n </Grid>\n </div>\n );\n };\n\n const renderMonthView = () => {\n const calendarGrid: JSX.Element[] = [];\n\n for (let weekIndex = 0; weekIndex < weeksInMonth; weekIndex++) {\n const startDateOfWeek = getStartOfWeek(focusableDate.year, focusableDate.month, 1, locale);\n\n const weekDates = getDatesInWeek(\n weekIndex as WeekInMonthIndex,\n startDateOfWeek.year,\n startDateOfWeek.month,\n startDateOfWeek.day\n );\n\n const weekCells = weekDates.map((dayCellDate) => {\n // This figures out the visual state of the DayCell.\n const isDisabled = isDateOutOfRange(dayCellDate, min, max);\n\n // Even if the selected date is out of range, the UX design shows it as selected.\n const isSelected = selectedDate ? isSameDate(dayCellDate, selectedDate) : false;\n const isToday = isSameDate(dayCellDate, todaysDate);\n const isFocusable = isSameDate(dayCellDate, focusableDate);\n const isAdjacentMonth = isOutOfMonth(dayCellDate, focusableDate);\n const isHidden = isAdjacentMonth && daysOutsideMonth === 'hidden';\n\n return (\n <DayCell\n key={`${dayCellDate.year}-${dayCellDate.month}-${dayCellDate.day}`}\n date={dayCellDate}\n dateFormatter={dateFormatter}\n dayFormatter={dayFormatter}\n isAdjacentMonth={isAdjacentMonth}\n isDisabled={isDisabled}\n isFocusable={isFocusable}\n isFocused={isFocusable && isFocused}\n isHidden={isHidden}\n isReadonly={isReadonly}\n isSelected={isSelected}\n isToday={isToday}\n onAction={onAction}\n onNavigation={onNavigation}></DayCell>\n );\n });\n\n calendarGrid.push(\n <Grid\n key={weekIndex}\n role=\"row\"\n gridTemplateColumns={gridTemplateColumns}\n gap={monthViewScaleVars.columnGap}>\n {isWeekNumberDisplayed && <WeekNumberCell startDateOfWeek={weekDates[0]} />}\n {weekCells}\n </Grid>\n );\n }\n\n return calendarGrid;\n };\n\n const monthViewAriaLabel = formatFullCalendarDate(locale, focusableDate, 'month');\n return (\n <div class={baseTheme}>\n <Grid\n gap={monthViewScaleVars.rowGap}\n aria-label={monthViewAriaLabel}\n role=\"grid\"\n testId={testId}>\n {renderMonthViewHeaderRow()}\n {renderMonthView()}\n </Grid>\n </div>\n );\n};\n\nfunction isSameDate(date1: CalendarDateRequired, date2: CalendarDateRequired) {\n return date1.year === date2.year && date1.month === date2.month && date1.day === date2.day;\n}\n\nfunction isOutOfMonth(date1: CalendarDateRequired, currentMonthDate: CalendarDateRequired) {\n return date1.month !== currentMonthDate.month;\n}\n"],"names":["useFocusableCell","useCallback","useCellNavigation","useTranslationBundle","getIsoDateStr","toJSDate","_jsx","dayCellStyles","StyledDatePickerButton","Logger.warn","weekNumberCellStyles","weekNumberStyles","useUser","getWeeksInMonth","useComponentTheme","MonthViewRedwoodTheme","useMemo","checkNoCalendarExtension","getFormatParse","getDaysOfWeekNames","_jsxs","Grid","monthViewScaleVars","getStartOfWeek","getDatesInWeek","isDateOutOfRange","formatFullCalendarDate"],"mappings":"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"}
1
+ {"version":3,"file":"MonthView-458d3d61.js","sources":["../../src/PRIVATE_MonthView/useDayCell.ts","../../src/PRIVATE_MonthView/DayCell.tsx","../../src/PRIVATE_MonthView/WeekNumberCell.tsx","../../src/PRIVATE_MonthView/MonthView.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport type { CalendarDateRequired } from '#utils/UNSAFE_calendarDateUtils';\nimport { DateISOStr } from '#UNSAFE_IntlDateTime';\nimport { FormatterFunc } from '#UNSAFE_IntlFormatParse';\nimport { getIsoDateStr, toJSDate } from '#utils/UNSAFE_calendarDateUtils';\nimport { ComponentProps, useCallback } from 'preact/compat';\n\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { useFocusableCell } from '#UNSAFE_DatePicker/useFocusableCell';\nimport { useCellNavigation } from '#UNSAFE_DatePicker/useCellNavigation';\nimport { StyledDatePickerButton } from '#PRIVATE_StyledDatePickerButton';\n\ntype NavigationDirections =\n | 'previousDay'\n | 'nextDay'\n | 'previousWeek'\n | 'nextWeek'\n | 'previousMonth'\n | 'nextMonth'\n | 'previousYear'\n | 'nextYear'\n | 'firstDayOfMonth'\n | 'lastDayOfMonth'\n | 'today';\n\nexport type DayFormatOptions = {\n state: 'enabled' | 'disabled' | 'restricted';\n};\n\n// These are the properties the useDayCell hook takes.\nexport type UseDayCellProps = {\n /**\n * Date of the day cell. This will be formatted as a full date and put in the aria-label.\n */\n date: CalendarDateRequired;\n /**\n * A function used to format the day cell date as a full date.\n */\n dateFormatter: FormatterFunc<DateISOStr>;\n /**\n * A function that receives a date and returns an object specifying how to format the provided date.\n * This function is called for each date that is rendered and this can be used to control how individual\n * dates are rendered - disabled, restricted, or enabled.\n * @param date The date to format\n * @returns The format options\n */\n dayFormatter?: (date: CalendarDateRequired) => DayFormatOptions;\n /**\n * Whether the day cell is in an adjacent month, not the current month.\n */\n isAdjacentMonth: boolean;\n /**\n * Whether the day cell is disabled, like if it is out of the min/max range.\n */\n isDisabled?: boolean;\n /**\n * Whether the day cell is focusable, meaning it will have tabIndex 0.\n */\n isFocusable: boolean;\n /**\n * Whether the day cell has focus.\n */\n isFocused: boolean;\n /**\n * Whether the day cell is hidden. For example, days outside of the current month are hidden by default.\n */\n isHidden: boolean;\n /**\n * Whether the day cell is readonly. It is not activeable.\n */\n isReadonly: boolean;\n /**\n * Whether the day cell looks selected.\n */\n isSelected: boolean;\n /**\n * Whether the day cell's date is today.\n */\n isToday: boolean;\n /**\n * A callback that will be invoked when the user selects the date by clicking on a day cell or selecting the enter or space key on a day cell.\n * @param payload The payload containing the date represented by this cell.\n */\n onAction: (payload: { date: CalendarDateRequired }) => void;\n /**\n * A callback that will be invoked when the user navigates.\n */\n onNavigation: (detail: { direction: NavigationDirections; date: CalendarDateRequired }) => void;\n};\n\n/**\n * The useDayCell hook returns properties for an individual DayCell. The properties returned should be spread on the StyledDatePickerButton.\n * These include the event handlers for keydown and click.\n */\nexport const useDayCell = ({\n date,\n dayFormatter = defaultDayFormatter,\n dateFormatter,\n isAdjacentMonth,\n isDisabled,\n isFocusable,\n isFocused,\n isHidden,\n isReadonly,\n isSelected,\n isToday,\n onAction,\n onNavigation\n}: UseDayCellProps) => {\n // apply day formatting\n const { state } = dayFormatter(date);\n const isDisabledFormat = state === 'disabled';\n const isRestrictedFormat = state === 'restricted';\n\n // Focus the day cell with isFocused true when the state updates.\n const buttonProps = useFocusableCell({ isFocusable, isFocused });\n // Override onAction to not call it if disabled, readonly or restricted\n const handleAction: UseDayCellProps['onAction'] = useCallback(\n (payload) => {\n if (isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat) return;\n onAction(payload);\n },\n [isDisabled, isDisabledFormat, isReadonly, isRestrictedFormat, onAction]\n );\n const buttonEventHandlers = useCellNavigation({\n navigationMap: {\n ArrowLeft: { ltr: 'previousDay', rtl: 'nextDay' },\n ArrowRight: { ltr: 'nextDay', rtl: 'previousDay' },\n ArrowDown: 'nextWeek',\n ArrowUp: 'previousWeek',\n PageDown: 'nextMonth',\n PageUp: 'previousMonth',\n Home: 'firstDayOfMonth',\n End: 'lastDayOfMonth',\n ShiftPageDown: 'nextYear',\n ShiftPageUp: 'previousYear',\n CtrlAltT: 'today'\n },\n payload: { date },\n onAction: handleAction,\n onNavigation\n });\n\n // For accessibility, we want a full date.\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const today = translations.datePicker_today();\n const selected = translations.datePicker_selected();\n const restricted = translations.datePicker_restricted();\n\n const dateIsoStr = getIsoDateStr(date.year, date.month, date.day);\n const formattedDate = dateFormatter(dateIsoStr);\n let ariaLabel = isToday ? `${today}, ${formattedDate}` : formattedDate;\n ariaLabel = isRestrictedFormat ? `${ariaLabel}, ${restricted}` : ariaLabel;\n ariaLabel = isSelected ? `${ariaLabel}, ${selected}` : ariaLabel;\n const dayOfMonth = toJSDate(date.year, date.month, date.day).getDate().toString();\n\n return {\n buttonProps: {\n 'aria-label': ariaLabel,\n ...((isHidden || isDisabled || isDisabledFormat || isRestrictedFormat) && {\n 'aria-disabled': true\n }),\n isActivable: !(isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat),\n isAdjacentMonth,\n isDimmed: isDisabled || isDisabledFormat,\n isHidden,\n isHoverable: !(isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat),\n isReadonly,\n isSelected,\n isRestricted: isRestrictedFormat,\n isToday,\n label: dayOfMonth,\n ...buttonProps,\n ...buttonEventHandlers\n } as ComponentProps<typeof StyledDatePickerButton>\n };\n};\n\n/**\n * A default day formatter that always formats as enabled state.\n */\nconst defaultDayFormatter = () => ({ state: 'enabled' }) as DayFormatOptions;\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { StyledDatePickerButton } from '#PRIVATE_StyledDatePickerButton';\nimport { UseDayCellProps, useDayCell } from './useDayCell';\nimport { dayCellStyles } from './themes/DayCellStyles.css';\n\ntype PickedUseDayCellProps = Pick<\n UseDayCellProps,\n | 'date'\n | 'dateFormatter'\n | 'dayFormatter'\n | 'isAdjacentMonth'\n | 'isDisabled'\n | 'isFocusable'\n | 'isFocused'\n | 'isHidden'\n | 'isReadonly'\n | 'isSelected'\n | 'isToday'\n | 'onAction'\n | 'onNavigation'\n>;\n\ntype DayCellProps = PickedUseDayCellProps;\n\n/**\n * The DayCell is the cell within the DatePicker's month view that contains the day in the month view.\n * This component will format the date for the aria-label.\n * The DayCell components uses the useDayCell hook to handle the user interactions with the day cell.\n */\nexport const DayCell = (props: DayCellProps) => {\n const { buttonProps } = useDayCell(props);\n // buttonProps, e.g., tabIndex, aria-label, onclick, onkeydown and visual states\n return (\n <div role=\"gridcell\" class={dayCellStyles}>\n <StyledDatePickerButton {...buttonProps} />\n </div>\n );\n};\n","import { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { CalendarDateRequired, toJSDate } from '#utils/UNSAFE_calendarDateUtils';\nimport { weekNumberCellStyles, weekNumberStyles } from './themes/WeekNumberCellStyle.css';\nimport * as Logger from '../utils/UNSAFE_logger';\n\ntype Props = {\n /**\n * startDateOfWeek is the first date of the week row\n */\n startDateOfWeek: CalendarDateRequired;\n};\n\n/**\n * The ISO 8601 definition for week 01 is the week with the first Thursday of the Gregorian year (i.e. of January) in it.\n * https://en.wikipedia.org/wiki/ISO_week_date\n * @param date The first date of the week row to be used to calculate the week number.\n * The date must be a Saturday, Sunday, or Monday. We assume this because the week for\n * all the locales we support start on one of these days.\n * @returns the number of week in the year\n */\nconst calculateWeekNumber = (date: CalendarDateRequired) => {\n const checkDate = toJSDate(date.year, date.month, date.day);\n const dayNumber = checkDate.getUTCDay(); // 0 for Sunday, 1 for Monday, 2 for Tuesday, etc.\n\n if (dayNumber !== 0 && dayNumber !== 1 && dayNumber !== 6) {\n // This message is for internal JET developers. We should never see this message. In all locales the day of the\n // week starts on Sunday, Monday or Saturday.\n Logger.warn(`calculateWeekNumber's date property's getUTCDay() is assumed to be 0 (Sunday), 1 (Monday) or 6 (Saturday)\n since that is the first day of the week for the locale's JET supports.`);\n }\n\n // For ISO week, we set the start of the week to Monday\n if (dayNumber !== 1) {\n // If it is already Monday, do nothing.\n // If it is Sunday (0), add 1 to move it up to Monday.\n // If it is Saturday (6), move it up two days to Monday.\n checkDate.setUTCDate(checkDate.getUTCDate() + (dayNumber === 0 ? 1 : 2));\n }\n\n // Find Thursday (day value of 4) of this week. Since we know checkDate at this point is a Monday,\n // we move it up 3 days.\n checkDate.setUTCDate(checkDate.getUTCDate() + 3);\n\n // Create the start of the year date\n const janFirst = toJSDate(checkDate.getUTCFullYear(), 1, 1);\n\n return Math.floor(Math.round((checkDate.getTime() - janFirst.getTime()) / 86400000) / 7) + 1;\n};\n\n/**\n * The WeekNumberCell is the cell at the start of a week's row within the DatePicker's\n * month view that contains the week's number within the year. This displays when\n * the DatePicker's 'weekDisplay' prop is set to 'number'.\n * This component will format the week number for the aria-label.\n */\nconst WeekNumberCell = ({ startDateOfWeek }: Props) => {\n const weekNumber = calculateWeekNumber(startDateOfWeek);\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n return (\n <div\n aria-label={translations.datePicker_weekNum({ NUM: String(weekNumber) })}\n class={weekNumberCellStyles}\n role=\"rowheader\">\n <span class={weekNumberStyles}>{weekNumber}</span>\n </div>\n );\n};\n\nexport { WeekNumberCell };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport {\n getWeeksInMonth,\n getDatesInWeek,\n getStartOfWeek,\n getDaysOfWeekNames,\n WeekInMonthIndex\n} from '#utils/PRIVATE_dayUtils';\nimport { ComponentProps } from 'preact/compat';\nimport { useMemo } from 'preact/hooks';\nimport {\n CalendarDateRequired,\n checkNoCalendarExtension,\n formatFullCalendarDate,\n isDateOutOfRange\n} from '#utils/UNSAFE_calendarDateUtils';\nimport { getFormatParse, NativeDateTimeOptions } from '#UNSAFE_IntlDateTime';\nimport { DayCell } from './DayCell';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { Grid } from '#UNSAFE_Grid';\nimport {\n MonthViewStyles,\n MonthViewVariantOptions\n} from '#PRIVATE_MonthView/themes/MonthViewStyles.css';\nimport { MonthViewRedwoodTheme } from '#PRIVATE_MonthView/themes/redwood/MonthViewTheme';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { monthViewScaleVars } from '#PRIVATE_MonthView/themes/MonthViewContract.css';\nimport { WeekNumberCell } from './WeekNumberCell';\n\ntype PickedDayCellProps = Pick<\n ComponentProps<typeof DayCell>,\n 'dayFormatter' | 'onAction' | 'onNavigation'\n>;\n\ntype MonthViewProps = TestIdProps &\n PickedDayCellProps & {\n /**\n * The daysOutsideMonth property affects the day cells that are outside of the current month.\n * If set to 'hidden', then the days outside of the current month will be hidden.\n * If set to 'selectable', then the days outside of the current month will be visible and selectable.\n * This defaults to 'hidden'.\n */\n daysOutsideMonth?: 'hidden' | 'selectable';\n /**\n * The MonthView renders with the month of the focusableDate.\n * The focusableDate is the only day in the MonthView that has tabIndex: 0 on it.\n * The focusableDate doesn't have focus until the user tabs in to the Month View.\n * The focusableDate is never undefined.\n */\n focusableDate: CalendarDateRequired;\n /**\n * If set to true, the focusableDate will be focused and you will see the focus ring. It will be\n * false when no date has focus.\n * @default false\n */\n isFocused?: boolean;\n /**\n * Specifies whether the component is readonly.\n */\n isReadonly?: boolean;\n /**\n * The maximum selectable date. The max must be greater than the min if they are both specified.\n */\n max?: CalendarDateRequired;\n /**\n * The minimum selectable date. The min must be less than the max if they are both specified.\n */\n min?: CalendarDateRequired;\n /**\n * The selected date of the MonthView, or undefined is there is no selected date. This\n * is used to highlight the selected day cell if it is within the min/max range.\n */\n selectedDate?: CalendarDateRequired;\n /**\n * Today's date. This is used to highlight the Today day cell.\n */\n todaysDate: CalendarDateRequired;\n /**\n * Whether week of the year will be shown in the DatePicker. The default calculation follows the\n * ISO 8601 definition: the first week of the year contains the first Thursday of the year.\n * This means that some days from one year may be placed into weeks 'belonging' to another year.\n */\n weekDisplay?: 'none' | 'number';\n };\n\n/**\n * A MonthView is a month interface that allows users to select a single date. The MonthView is the week day header\n * abbreviations and the days of the month. A MonthView is used inside of a DatePicker\n * along with the DatePickerHeader and the MonthGridView and YearGridView.\n */\nexport const MonthView = ({\n dayFormatter,\n daysOutsideMonth = 'hidden',\n isReadonly = false,\n max,\n min,\n onAction,\n onNavigation,\n selectedDate,\n focusableDate,\n isFocused = false,\n testId,\n todaysDate,\n weekDisplay = 'none'\n}: MonthViewProps) => {\n const { locale } = useUser();\n const weeksInMonth = getWeeksInMonth(focusableDate.year, focusableDate.month, locale);\n const { baseTheme, styles } = useComponentTheme<MonthViewVariantOptions, MonthViewStyles>(\n MonthViewRedwoodTheme,\n {}\n );\n const isWeekNumberDisplayed = weekDisplay === 'number';\n const gridTemplateColumns = `repeat(${isWeekNumberDisplayed ? 8 : 7}, 1fr)`;\n\n const dateFormatter = useMemo(() => {\n checkNoCalendarExtension(locale);\n const dateFormatOptions: NativeDateTimeOptions = {\n locale,\n dateStyle: 'full'\n };\n const { format } = getFormatParse(dateFormatOptions);\n return format;\n }, [locale]);\n\n const renderMonthViewHeaderRow = () => {\n const weekDays = getDaysOfWeekNames(locale, 'short');\n\n return (\n <div class={styles.sticky}>\n <Grid\n role=\"row\"\n aria-hidden=\"true\"\n gridTemplateColumns={gridTemplateColumns}\n gap={monthViewScaleVars.columnGap}>\n {isWeekNumberDisplayed && <div role=\"presentation\" />}\n {weekDays.map((day) => (\n <div role=\"columnheader\" class={styles.dayOfTheWeek}>\n <span>{day}</span>\n </div>\n ))}\n </Grid>\n </div>\n );\n };\n\n const renderMonthView = () => {\n const calendarGrid: JSX.Element[] = [];\n\n for (let weekIndex = 0; weekIndex < weeksInMonth; weekIndex++) {\n const startDateOfWeek = getStartOfWeek(focusableDate.year, focusableDate.month, 1, locale);\n\n const weekDates = getDatesInWeek(\n weekIndex as WeekInMonthIndex,\n startDateOfWeek.year,\n startDateOfWeek.month,\n startDateOfWeek.day\n );\n\n const weekCells = weekDates.map((dayCellDate) => {\n // This figures out the visual state of the DayCell.\n const isDisabled = isDateOutOfRange(dayCellDate, min, max);\n\n // Even if the selected date is out of range, the UX design shows it as selected.\n const isSelected = selectedDate ? isSameDate(dayCellDate, selectedDate) : false;\n const isToday = isSameDate(dayCellDate, todaysDate);\n const isFocusable = isSameDate(dayCellDate, focusableDate);\n const isAdjacentMonth = isOutOfMonth(dayCellDate, focusableDate);\n const isHidden = isAdjacentMonth && daysOutsideMonth === 'hidden';\n\n return (\n <DayCell\n key={`${dayCellDate.year}-${dayCellDate.month}-${dayCellDate.day}`}\n date={dayCellDate}\n dateFormatter={dateFormatter}\n dayFormatter={dayFormatter}\n isAdjacentMonth={isAdjacentMonth}\n isDisabled={isDisabled}\n isFocusable={isFocusable}\n isFocused={isFocusable && isFocused}\n isHidden={isHidden}\n isReadonly={isReadonly}\n isSelected={isSelected}\n isToday={isToday}\n onAction={onAction}\n onNavigation={onNavigation}></DayCell>\n );\n });\n\n calendarGrid.push(\n <Grid\n key={weekIndex}\n role=\"row\"\n gridTemplateColumns={gridTemplateColumns}\n gap={monthViewScaleVars.columnGap}>\n {isWeekNumberDisplayed && <WeekNumberCell startDateOfWeek={weekDates[0]} />}\n {weekCells}\n </Grid>\n );\n }\n\n return calendarGrid;\n };\n\n const monthViewAriaLabel = formatFullCalendarDate(locale, focusableDate, 'month');\n return (\n <div class={baseTheme}>\n <Grid\n gap={monthViewScaleVars.rowGap}\n aria-label={monthViewAriaLabel}\n role=\"grid\"\n testId={testId}>\n {renderMonthViewHeaderRow()}\n {renderMonthView()}\n </Grid>\n </div>\n );\n};\n\nfunction isSameDate(date1: CalendarDateRequired, date2: CalendarDateRequired) {\n return date1.year === date2.year && date1.month === date2.month && date1.day === date2.day;\n}\n\nfunction isOutOfMonth(date1: CalendarDateRequired, currentMonthDate: CalendarDateRequired) {\n return date1.month !== currentMonthDate.month;\n}\n"],"names":["useFocusableCell","useCallback","useCellNavigation","useTranslationBundle","getIsoDateStr","toJSDate","_jsx","dayCellStyles","StyledDatePickerButton","Logger.warn","weekNumberCellStyles","weekNumberStyles","useUser","getWeeksInMonth","useComponentTheme","MonthViewRedwoodTheme","useMemo","checkNoCalendarExtension","getFormatParse","getDaysOfWeekNames","_jsxs","Grid","monthViewScaleVars","getStartOfWeek","getDatesInWeek","isDateOutOfRange","formatFullCalendarDate"],"mappings":"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"}
@@ -9,10 +9,23 @@ var useId = require('./useId-6c0eeb27.js');
9
9
  var UNSAFE_NavigationList_themes_NavigationListStyles_css = require('./UNSAFE_NavigationList/themes/NavigationListStyles.css.js');
10
10
  var collectionUtils = require('./collectionUtils-d9fdec19.js');
11
11
  var useCollectionFocusRing = require('./useCollectionFocusRing-5af82f66.js');
12
- var useCurrentKey = require('./useCurrentKey-88495da2.js');
12
+ var useCurrentKey = require('./useCurrentKey-d8d41864.js');
13
13
  var compat = require('preact/compat');
14
- var useTestId = require('./useTestId-5e6af45d.js');
15
- var useNavigationListItem = require('./useNavigationListItem-ae481fdc.js');
14
+ var useTestId = require('./useTestId-e267a39d.js');
15
+ require('./UNSAFE_Text/themes/TextStyles.css.js');
16
+ var BaseNavigationListItem = require('./BaseNavigationListItem-50e4c603.js');
17
+ require('./Flex-ce16a2fa.js');
18
+ require('./logger-2b636482.js');
19
+ require('preact');
20
+ require('./LayerHost-7182bfaf.js');
21
+
22
+
23
+ require('./hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css.js');
24
+ require('./tooltipUtils-2228b0f7.js');
25
+
26
+ require('./UNSAFE_NavigationList/themes/NavigationListItemStyles.css.js');
27
+
28
+ require('./UNSAFE_NavigationList/themes/redwood/NavigationListItemVariants.css.js');
16
29
 
17
30
  /*TODO: JET-58534. Create a hook to share some logic between navlist and tabbar. Hook will be used inside this one. */
18
31
  function useNavigationList({ containerRef, selection, onRemove, onSelectionChange, children }) {
@@ -133,7 +146,7 @@ const NavigationList = compat.forwardRef(({ children, selection, onSelectionChan
133
146
  }
134
147
  }
135
148
  }));
136
- return (jsxRuntime.jsx("ul", { "aria-label": ariaLabel, "aria-labelledby": ariaLabelLedBy, role: "tablist", ref: containerRef, "aria-orientation": 'vertical', tabIndex: 0, "aria-activedescendant": currentKey ? navigationListItemPrefix + currentKey : '', ...mergeProps.mergeProps(eventProps, containerHandlers), ...testIdProps, class: navigationListClass, children: jsxRuntime.jsx(useNavigationListItem.NavigationListContext.Provider, { value: {
149
+ return (jsxRuntime.jsx("ul", { "aria-label": ariaLabel, "aria-labelledby": ariaLabelLedBy, role: "tablist", ref: containerRef, "aria-orientation": 'vertical', tabIndex: 0, "aria-activedescendant": currentKey ? navigationListItemPrefix + currentKey : '', ...mergeProps.mergeProps(eventProps, containerHandlers), ...testIdProps, class: navigationListClass, children: jsxRuntime.jsx(BaseNavigationListItem.NavigationListContext.Provider, { value: {
137
150
  selection,
138
151
  onSelectionChange,
139
152
  onCurrentKeyChange,
@@ -144,5 +157,10 @@ const NavigationList = compat.forwardRef(({ children, selection, onSelectionChan
144
157
  }, children: children }) }));
145
158
  });
146
159
 
160
+ function NavigationListItem({ itemKey, label, badge, metadata, severity }) {
161
+ return (jsxRuntime.jsx(BaseNavigationListItem.BaseNavigationListItem, { itemKey: itemKey, label: label, badge: badge, metadata: metadata, severity: severity }));
162
+ }
163
+
147
164
  exports.NavigationList = NavigationList;
148
- //# sourceMappingURL=NavigationList-7495908b.js.map
165
+ exports.NavigationListItem = NavigationListItem;
166
+ //# sourceMappingURL=NavigationListItem-4c4e804d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationListItem-4c4e804d.js","sources":["../../src/UNSAFE_NavigationList/useNavigationList.ts","../../src/UNSAFE_NavigationList/NavigationList.tsx","../../src/UNSAFE_NavigationList/NavigationListItem.tsx"],"sourcesContent":["import { useState, useCallback, MutableRef, useRef, useEffect } from 'preact/hooks';\nimport {\n keyExtractor,\n getFirstVisibleKey,\n getKey,\n getPrevNextKeyUsingRef,\n findElementByKey\n} from '../utils/PRIVATE_collectionUtils';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { NavigationListContextProps } from '../UNSAFE_NavigationListCommon';\n\nimport { ComponentChildren } from 'preact';\n\n/**\n * type for payload of current key change event handler\n */\ntype CurrentKeyDetail<K> = {\n value: K;\n};\n/**\n * type for payload of selection change event handler\n */\ntype SelectionDetail<K> = {\n value: K;\n reason: 'pointer' | 'keyboard';\n};\n/**\n * type for payload of remove event handler\n */\ntype RemoveDetail<K> = {\n value: K;\n};\n\n/*TODO: JET-58534. Create a hook to share some logic between navlist and tabbar. Hook will be used inside this one. */\nexport function useNavigationList<K extends string | number>({\n containerRef,\n selection,\n onRemove,\n onSelectionChange,\n children\n}: {\n containerRef: MutableRef<HTMLUListElement>;\n selection?: K;\n onRemove?: <K extends string | number>(detail: RemoveDetail<K>) => void;\n onSelectionChange?: <K extends string | number>(detail: SelectionDetail<K>) => void;\n children: ComponentChildren;\n}) {\n const ITEM_SELECTOR = '[role=\"tab\"]';\n const REMOVAL_ICON_SELECTOR = '[data-oj-navigationlist-item-remove-icon]';\n const [currentKey, setCurrentKey] = useState<K | undefined>(selection);\n\n const onCurrentKeyChange = useCallback((detail: CurrentKeyDetail<K | undefined>) => {\n setCurrentKey(detail.value);\n }, []) as NavigationListContextProps<K>['onCurrentKeyChange'];\n\n const { currentKeyProps } = useCurrentKey(\n (element) =>\n onRemove\n ? (extractOnlyItemKey(element, ITEM_SELECTOR, REMOVAL_ICON_SELECTOR) as K)\n : keyExtractor(element, ITEM_SELECTOR),\n false,\n getPrevNextKeyUsingRef(containerRef, currentKey, true, ITEM_SELECTOR),\n getPrevNextKeyUsingRef(containerRef, currentKey, false, ITEM_SELECTOR),\n undefined,\n undefined,\n currentKey,\n onCurrentKeyChange\n );\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(containerRef, [\n 'Home',\n 'End',\n 'ArrowUp',\n 'ArrowDown'\n ]);\n\n const onFocus = useCallback(() => {\n if (containerRef.current && currentKey === undefined) {\n const key = getFirstVisibleKey(containerRef.current, ITEM_SELECTOR);\n if (key) {\n setCurrentKey(key as K);\n }\n }\n }, [currentKey, containerRef]);\n\n const onFocusProps = { onFocus };\n const prevNavItems = useRef<K[]>();\n\n useEffect(() => {\n if (containerRef.current) {\n const navListItemKeys = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n if (currentKey != null && navListItemKeys.indexOf(currentKey) !== -1) {\n const navListItem = findElementByKey(\n containerRef.current,\n currentKey,\n ITEM_SELECTOR\n ) as any;\n if (navListItem.scrollIntoViewIfNeeded) {\n // for some browsers, we'll need the non-standard scrollIntoViewIfNeeded\n navListItem.scrollIntoViewIfNeeded();\n } else {\n navListItem.scrollIntoView({ block: 'nearest' });\n }\n } else {\n if (currentKey && navListItemKeys.indexOf(currentKey) === -1) {\n prevNavItems.current\n ? setCurrentKey(findNextCurrentKey(currentKey, navListItemKeys, prevNavItems.current))\n : setCurrentKey(navListItemKeys[0] as K);\n }\n prevNavItems.current = navListItemKeys;\n }\n }\n }, [children, currentKey, containerRef]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if ((event.key === 'Home' || event.key === 'End') && containerRef.current && currentKey) {\n const navListItemKey = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n onCurrentKeyChange?.({\n value: navListItemKey[event.key === 'Home' ? 0 : navListItemKey.length - 1] as K\n });\n }\n if (currentKey && (event.key === 'Enter' || event.key === ' ')) {\n onSelectionChange?.({\n value: currentKey as K,\n reason: 'keyboard'\n });\n }\n if (currentKey && event.key === 'Delete') {\n onRemove?.({ value: currentKey as K });\n }\n },\n [currentKey, onSelectionChange, onRemove, onCurrentKeyChange, containerRef]\n );\n\n return {\n showFocusRing,\n currentKey,\n onCurrentKeyChange,\n onKeyDown,\n containerHandlers: mergeProps(focusRingProps, currentKeyProps, onFocusProps)\n };\n}\n\nconst extractOnlyItemKey = (element: HTMLElement, itemSelector: string, itemEliminator: string) => {\n const navigationListItem = element.closest(itemSelector);\n const removeButton = element.closest(itemEliminator);\n return navigationListItem?.contains(removeButton) ? null : keyExtractor(element, itemSelector);\n};\n\nconst findNextCurrentKey = <K>(currentKey: K, currNavs: K[], prevNavs: K[]) => {\n const index = prevNavs.indexOf(currentKey);\n if (index > 0) {\n const nextIndex = index === prevNavs.length - 1 ? index - 1 : index + 1;\n const nextKey = prevNavs[nextIndex];\n if (currNavs.indexOf(nextKey) !== -1) {\n return nextKey;\n }\n }\n // update current key to be the first one if we can't find a suitable next key\n return currNavs[0];\n};\n","import { Ref } from 'preact';\nimport { MutableRef, useRef } from 'preact/hooks';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { navigationListStyles } from './themes/NavigationListStyles.css';\nimport { useNavigationList } from './useNavigationList';\nimport { forwardRef, useImperativeHandle } from 'preact/compat';\nimport { useTestId, TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { NavigationListProps, NavigationListContext } from '../UNSAFE_NavigationListCommon';\nexport { RemovableNavigationListItem } from '../UNSAFE_NavigationListCommon';\n\nexport type FocusableHandle = {\n focus: () => void;\n blur: () => void;\n};\n\nexport const NavigationList = forwardRef(\n <K extends string | number>(\n {\n children,\n selection,\n onSelectionChange,\n onRemove,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelLedBy,\n testId\n }: NavigationListProps<K> & TestIdProps,\n ref?: Ref<FocusableHandle>\n ) => {\n const containerRef = useRef<HTMLUListElement>(null);\n\n const { showFocusRing, currentKey, onCurrentKeyChange, containerHandlers, onKeyDown } =\n useNavigationList({\n containerRef: containerRef as MutableRef<HTMLUListElement>,\n selection,\n onRemove,\n onSelectionChange,\n children\n });\n\n const eventProps = { onKeyDown };\n const navigationListClass = classNames([navigationListStyles.uListStyle]);\n const navigationListItemPrefix = useId() + '_';\n const testIdProps = useTestId(testId);\n\n //Allows to call focus on rootRef without having to expose it\n useImperativeHandle(ref!, () => ({\n focus: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n },\n blur: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n }\n }));\n\n return (\n <ul\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelLedBy}\n role=\"tablist\"\n ref={containerRef}\n aria-orientation={'vertical'}\n tabIndex={0}\n aria-activedescendant={currentKey ? navigationListItemPrefix + currentKey : ''}\n {...mergeProps(eventProps, containerHandlers)}\n {...testIdProps}\n class={navigationListClass}>\n <NavigationListContext.Provider\n value={{\n selection,\n onSelectionChange,\n onCurrentKeyChange,\n currentKey,\n showFocusRing,\n navigationListItemPrefix,\n onRemove\n }}>\n {children}\n </NavigationListContext.Provider>\n </ul>\n );\n }\n);\n","import {\n BaseNavigationListItem,\n BaseNavigationListItemProps\n} from '../UNSAFE_NavigationListCommon/BaseNavigationListItem';\n\nexport type NavigationListItemProps<K extends string | number> = Omit<\n BaseNavigationListItemProps<K>,\n 'removeIcon'\n>;\n\nexport function NavigationListItem<K extends string | number>({\n itemKey,\n label,\n badge,\n metadata,\n severity\n}: NavigationListItemProps<K>) {\n return (\n <BaseNavigationListItem\n itemKey={itemKey}\n label={label}\n badge={badge}\n metadata={metadata}\n severity={severity}\n />\n );\n}\n"],"names":["useState","useCallback","useCurrentKey","keyExtractor","getPrevNextKeyUsingRef","useCollectionFocusRing","getFirstVisibleKey","useRef","useEffect","getKey","findElementByKey","mergeProps","forwardRef","classNames","navigationListStyles","useId","useTestId","useImperativeHandle","_jsx","NavigationListContext","BaseNavigationListItem"],"mappings":"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"}