@oracle/oraclejet-preact 17.1.0 → 17.1.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 (633) hide show
  1. package/amd/ActionCard-01322111.js +1 -1
  2. package/amd/BarChart-aba4a793.js +1 -1
  3. package/amd/BaseButton-51e50f77.js +1 -1
  4. package/amd/{BaseCardView-c5624c8a.js → BaseCardView-a11e4dec.js} +2 -2
  5. package/amd/{BaseCardView-c5624c8a.js.map → BaseCardView-a11e4dec.js.map} +1 -1
  6. package/amd/{BaseCardViewSelectionTest-b80dd91b.js → BaseCardViewSelectionTest-9627e4ab.js} +2 -2
  7. package/amd/{BaseCardViewSelectionTest-b80dd91b.js.map → BaseCardViewSelectionTest-9627e4ab.js.map} +1 -1
  8. package/amd/BaseNavigationListItem-368284be.js +1 -1
  9. package/amd/ButtonSet-c389d5c7.js +1 -1
  10. package/amd/ButtonSetIconButton-141a8745.js +1 -1
  11. package/amd/CardFlexView-9688d264.js +2 -0
  12. package/amd/{CardFlexView-14fada63.js.map → CardFlexView-9688d264.js.map} +1 -1
  13. package/amd/{CardGridView-00ba53a9.js → CardGridView-b7f4f205.js} +2 -2
  14. package/amd/{CardGridView-00ba53a9.js.map → CardGridView-b7f4f205.js.map} +1 -1
  15. package/amd/{Center-9ec5524e.js → Center-b449a95c.js} +2 -2
  16. package/amd/{Center-9ec5524e.js.map → Center-b449a95c.js.map} +1 -1
  17. package/amd/Chart-1046ac5b.js +1 -1
  18. package/amd/CheckboxControl-74a7fead.js +1 -1
  19. package/amd/CheckboxRadioField-005a110c.js +1 -1
  20. package/amd/CheckboxSet-e523552e.js +2 -0
  21. package/amd/CheckboxSet-e523552e.js.map +1 -0
  22. package/amd/Chip-3062b3d3.js +1 -1
  23. package/amd/ClearIcon-c13664cd.js +1 -1
  24. package/amd/CollapseIcon-38899da0.js +1 -1
  25. package/amd/Collapsible-ba4eef8f.js +1 -1
  26. package/amd/CompactHelpSource-be790e15.js +1 -1
  27. package/amd/CompactLabelAssistance-7db2fde2.js +2 -0
  28. package/amd/{CompactLabelAssistance-bc14e060.js.map → CompactLabelAssistance-7db2fde2.js.map} +1 -1
  29. package/amd/CompactUserAssistance-a7b3ffc0.js +1 -1
  30. package/amd/ComponentMessageContainer-3b691959.js +1 -1
  31. package/amd/ConveyorBeltItem-bc128f62.js +1 -1
  32. package/amd/{DatePicker-dd358026.js → DatePicker-d7802b3e.js} +2 -2
  33. package/amd/{DatePicker-dd358026.js.map → DatePicker-d7802b3e.js.map} +1 -1
  34. package/amd/DatePickerHeader-c03ca6b4.js +1 -1
  35. package/amd/{Diagram-1b48168a.js → Diagram-14fd94c3.js} +2 -2
  36. package/amd/{Diagram-1b48168a.js.map → Diagram-14fd94c3.js.map} +1 -1
  37. package/amd/{Dialog-c34f9e89.js → Dialog-f6da299c.js} +2 -2
  38. package/amd/{Dialog-c34f9e89.js.map → Dialog-f6da299c.js.map} +1 -1
  39. package/amd/DirectionalCollapseArrowIcon-1c72e459.js +1 -1
  40. package/amd/DirectionalExpandArrowIcon-198cec2b.js +1 -1
  41. package/amd/DragHandle-e4959d2b.js +1 -1
  42. package/amd/DrawerLayoutStyles.styles.css +1 -0
  43. package/amd/{Dropdown-b36aa071.js → Dropdown-5f68516d.js} +2 -2
  44. package/amd/{Dropdown-b36aa071.js.map → Dropdown-5f68516d.js.map} +1 -1
  45. package/amd/{EnvironmentProvider-c0e1e39b.js → EnvironmentProvider-8f6fc388.js} +2 -2
  46. package/amd/{EnvironmentProvider-c0e1e39b.js.map → EnvironmentProvider-8f6fc388.js.map} +1 -1
  47. package/amd/FilePicker-e13f405f.js +1 -1
  48. package/amd/Flex-56ecdf4c.js +2 -0
  49. package/amd/{Flex-3421f0df.js.map → Flex-56ecdf4c.js.map} +1 -1
  50. package/amd/{Floating-25e0092b.js → Floating-a658b79c.js} +2 -2
  51. package/amd/{Floating-25e0092b.js.map → Floating-a658b79c.js.map} +1 -1
  52. package/amd/FormLayout-c6f1fdff.js +1 -1
  53. package/amd/Gantt-7be8d8bc.js +1 -1
  54. package/amd/{Grid-8911aa0f.js → Grid-160f4885.js} +2 -2
  55. package/amd/{Grid-8911aa0f.js.map → Grid-160f4885.js.map} +1 -1
  56. package/amd/{Gridlines-071ff524.js → Gridlines-b1d59999.js} +2 -2
  57. package/amd/{Gridlines-071ff524.js.map → Gridlines-b1d59999.js.map} +1 -1
  58. package/amd/GroupLoadingIndicator-cd9192c9.js +1 -1
  59. package/amd/HighlightText-bd4c0101.js +2 -0
  60. package/amd/{HighlightText-644bc74e.js.map → HighlightText-bd4c0101.js.map} +1 -1
  61. package/amd/Icon-2d805acb.js +1 -1
  62. package/amd/IconButton-81c8463f.js +1 -1
  63. package/amd/IconMenuButton-3e3db121.js +1 -1
  64. package/amd/IconProgressButton-04979469.js +1 -1
  65. package/amd/IconSwitchButton-bc007cbd.js +1 -1
  66. package/amd/IconToggleButton-28960894.js +1 -1
  67. package/amd/{IconUserAssistance-dda606e6.js → IconUserAssistance-2f809060.js} +2 -2
  68. package/amd/{IconUserAssistance-dda606e6.js.map → IconUserAssistance-2f809060.js.map} +1 -1
  69. package/amd/{Indexer-74c989ce.js → Indexer-6833ad40.js} +2 -2
  70. package/amd/{Indexer-74c989ce.js.map → Indexer-6833ad40.js.map} +1 -1
  71. package/amd/InlineHelpSource-85961e81.js +1 -1
  72. package/amd/InlineUserAssistance-2a480664.js +1 -1
  73. package/amd/InputDateMask-9aba967d.js +1 -1
  74. package/amd/InputDatePicker-6167ff45.js +2 -0
  75. package/amd/{InputDatePicker-97756bcd.js.map → InputDatePicker-6167ff45.js.map} +1 -1
  76. package/amd/InputPassword-bf533999.js +1 -1
  77. package/amd/InputText-a4234d1f.js +1 -1
  78. package/amd/Label-a4172af7.js +1 -1
  79. package/amd/LabelValueLayout-194e64d9.js +1 -1
  80. package/amd/{Layer-e835aed8.js → Layer-276d62e8.js} +2 -2
  81. package/amd/{Layer-e835aed8.js.map → Layer-276d62e8.js.map} +1 -1
  82. package/amd/{LayerHost-639b3284.js → LayerHost-e95c5f30.js} +2 -2
  83. package/amd/{LayerHost-639b3284.js.map → LayerHost-e95c5f30.js.map} +1 -1
  84. package/amd/{LayerManager-2972de92.js → LayerManager-76fcfb58.js} +2 -2
  85. package/amd/{LayerManager-2972de92.js.map → LayerManager-76fcfb58.js.map} +1 -1
  86. package/amd/Legend-cd2f78b2.js +1 -1
  87. package/amd/{LineAreaChart-5224fce6.js → LineAreaChart-07630832.js} +2 -2
  88. package/amd/{LineAreaChart-5224fce6.js.map → LineAreaChart-07630832.js.map} +1 -1
  89. package/amd/Link-cb232696.js +1 -1
  90. package/amd/List-3ebac3fc.js +2 -0
  91. package/amd/{List-61d64cd6.js.map → List-3ebac3fc.js.map} +1 -1
  92. package/amd/{ListItemLayout-1d8f166a.js → ListItemLayout-90873fb8.js} +2 -2
  93. package/amd/{ListItemLayout-1d8f166a.js.map → ListItemLayout-90873fb8.js.map} +1 -1
  94. package/amd/{ListView-a49e52c3.js → ListView-c8082c0c.js} +2 -2
  95. package/amd/{ListView-a49e52c3.js.map → ListView-c8082c0c.js.map} +1 -1
  96. package/amd/LiveRegion-8142ed0d.js +2 -0
  97. package/amd/{LiveRegion-9a362373.js.map → LiveRegion-8142ed0d.js.map} +1 -1
  98. package/amd/LoadMoreCollection-a6adbc3f.js +2 -0
  99. package/amd/{LoadMoreCollection-83413a59.js.map → LoadMoreCollection-a6adbc3f.js.map} +1 -1
  100. package/amd/MaxLengthLiveRegion-8954fc30.js +2 -0
  101. package/amd/{MaxLengthLiveRegion-bb956138.js.map → MaxLengthLiveRegion-8954fc30.js.map} +1 -1
  102. package/amd/{Menu-e682ccb9.js → Menu-8f3a1e8c.js} +2 -2
  103. package/amd/{Menu-e682ccb9.js.map → Menu-8f3a1e8c.js.map} +1 -1
  104. package/amd/MenuButton-e4d7ec34.js +1 -1
  105. package/amd/MenuItem-44b2547b.js +1 -1
  106. package/amd/Message-1b166e4f.js +1 -1
  107. package/amd/{MessageLayer-3742e608.js → MessageLayer-cf9265e0.js} +2 -2
  108. package/amd/{MessageLayer-3742e608.js.map → MessageLayer-cf9265e0.js.map} +1 -1
  109. package/amd/MessageToast-7aba4a66.js +1 -1
  110. package/amd/MessagesManager-d6d43884.js +1 -1
  111. package/amd/MeterBar-90569d10.js +1 -1
  112. package/amd/MeterCircle-b14ff590.js +1 -1
  113. package/amd/{Modal-2b6ce101.js → Modal-36acfc12.js} +2 -2
  114. package/amd/{Modal-2b6ce101.js.map → Modal-36acfc12.js.map} +1 -1
  115. package/amd/{MonthView-8a1fde80.js → MonthView-ac27389f.js} +2 -2
  116. package/amd/{MonthView-8a1fde80.js.map → MonthView-ac27389f.js.map} +1 -1
  117. package/amd/NavigationListItem-1742f912.js +1 -1
  118. package/amd/NumberInputText-83ba7a58.js +1 -1
  119. package/amd/OverflowTabBarItem-4c4b75e0.js +1 -1
  120. package/amd/PRIVATE_BaseCardView.js +1 -1
  121. package/amd/PRIVATE_Chart.js +1 -1
  122. package/amd/PRIVATE_CheckboxControl.js +1 -1
  123. package/amd/PRIVATE_CheckboxRadioField.js +1 -1
  124. package/amd/PRIVATE_ClearIcon.js +1 -1
  125. package/amd/PRIVATE_DatePickerHeader.js +1 -1
  126. package/amd/PRIVATE_DatePickerLayout.js +1 -1
  127. package/amd/PRIVATE_EmbeddedIconButton.js +1 -1
  128. package/amd/PRIVATE_FormControls.js +1 -1
  129. package/amd/PRIVATE_IconSwitchButton.js +1 -1
  130. package/amd/PRIVATE_Icons/CheckboxMixed.js +1 -1
  131. package/amd/PRIVATE_Icons/CheckboxOff.js +1 -1
  132. package/amd/PRIVATE_Icons/CheckboxOn.js +1 -1
  133. package/amd/PRIVATE_Icons/RadiobuttonOff.js +1 -1
  134. package/amd/PRIVATE_Icons/RadiobuttonOn.js +1 -1
  135. package/amd/PRIVATE_Icons/WarningS.js +1 -1
  136. package/amd/PRIVATE_List.js +1 -1
  137. package/amd/PRIVATE_LoadMoreCollection.js +1 -1
  138. package/amd/PRIVATE_Message.js +1 -1
  139. package/amd/PRIVATE_MessageLayer.js +1 -1
  140. package/amd/PRIVATE_MonthView.js +1 -1
  141. package/amd/PRIVATE_MonthYearGridView.js +1 -1
  142. package/amd/PRIVATE_PlotArea.js +1 -1
  143. package/amd/PRIVATE_RevealToggleIcon.js +1 -1
  144. package/amd/PRIVATE_SelectCommon.js +1 -1
  145. package/amd/PRIVATE_StyledCheckbox.js +1 -1
  146. package/amd/PRIVATE_Table.js +1 -1
  147. package/amd/PRIVATE_ThemedIcons/CalendarIcon.js +1 -1
  148. package/amd/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +1 -1
  149. package/amd/PRIVATE_ThemedIcons/ChartPanIcon.js +1 -1
  150. package/amd/PRIVATE_ThemedIcons/ChartZoomIcon.js +1 -1
  151. package/amd/PRIVATE_ThemedIcons/CheckIcon.js +1 -1
  152. package/amd/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +1 -1
  153. package/amd/PRIVATE_ThemedIcons/CheckboxOffIcon.js +1 -1
  154. package/amd/PRIVATE_ThemedIcons/CheckboxOnIcon.js +1 -1
  155. package/amd/PRIVATE_ThemedIcons/CloseIcon.js +1 -1
  156. package/amd/PRIVATE_ThemedIcons/CollapseIcon.js +1 -1
  157. package/amd/PRIVATE_ThemedIcons/CollapseUpIcon.js +1 -1
  158. package/amd/PRIVATE_ThemedIcons/DecrementIcon.js +1 -1
  159. package/amd/PRIVATE_ThemedIcons/DeleteIcon.js +1 -1
  160. package/amd/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +1 -1
  161. package/amd/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +1 -1
  162. package/amd/PRIVATE_ThemedIcons/DropdownArrowIcon.js +1 -1
  163. package/amd/PRIVATE_ThemedIcons/ExpandIcon.js +1 -1
  164. package/amd/PRIVATE_ThemedIcons/HelpIcon.js +1 -1
  165. package/amd/PRIVATE_ThemedIcons/IncrementIcon.js +1 -1
  166. package/amd/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +1 -1
  167. package/amd/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +1 -1
  168. package/amd/PRIVATE_ThemedIcons/MessageErrorIcon.js +1 -1
  169. package/amd/PRIVATE_ThemedIcons/MessageInfoIcon.js +1 -1
  170. package/amd/PRIVATE_ThemedIcons/MessageWarningIcon.js +1 -1
  171. package/amd/PRIVATE_ThemedIcons/MinusIcon.js +1 -1
  172. package/amd/PRIVATE_ThemedIcons/NavDownIcon.js +1 -1
  173. package/amd/PRIVATE_ThemedIcons/PlusIcon.js +1 -1
  174. package/amd/PRIVATE_ThemedIcons/RadioOffIcon.js +1 -1
  175. package/amd/PRIVATE_ThemedIcons/RadioOnIcon.js +1 -1
  176. package/amd/PRIVATE_ThemedIcons/SortAscendingIcon.js +1 -1
  177. package/amd/PRIVATE_ThemedIcons/SortDefaultIcon.js +1 -1
  178. package/amd/PRIVATE_ThemedIcons/SortDescendingIcon.js +1 -1
  179. package/amd/PRIVATE_ThemedIcons/ViewHideIcon.js +1 -1
  180. package/amd/PRIVATE_ThemedIcons/ViewIcon.js +1 -1
  181. package/amd/PRIVATE_TimeComponent.js +1 -1
  182. package/amd/PRIVATE_VirtualizedCollection.js +1 -1
  183. package/amd/PRIVATE_VisTabularDatatip.js +1 -1
  184. package/amd/PictoChart-98b54953.js +1 -1
  185. package/amd/{PieChart-45cc3798.js → PieChart-cbe2806f.js} +2 -2
  186. package/amd/{PieChart-45cc3798.js.map → PieChart-cbe2806f.js.map} +1 -1
  187. package/amd/{Popup-059eb48a.js → Popup-956e6d7d.js} +2 -2
  188. package/amd/{Popup-059eb48a.js.map → Popup-956e6d7d.js.map} +1 -1
  189. package/amd/{ProgressBar-479b35e5.js → ProgressBar-d7cfdb63.js} +2 -2
  190. package/amd/{ProgressBar-479b35e5.js.map → ProgressBar-d7cfdb63.js.map} +1 -1
  191. package/amd/ProgressButton-c98e276b.js +1 -1
  192. package/amd/ProgressButtonLabelLayout-3a78ba61.js +1 -1
  193. package/amd/{ProgressCircle-365c4568.js → ProgressCircle-1e4cefde.js} +2 -2
  194. package/amd/{ProgressCircle-365c4568.js.map → ProgressCircle-1e4cefde.js.map} +1 -1
  195. package/amd/RadioItem-ce699d94.js +1 -1
  196. package/amd/RatingGauge-138a7d8b.js +1 -1
  197. package/amd/ReadonlyTextFieldInput-608bddc1.js +1 -1
  198. package/amd/RemovableNavigationListItem-dd14305f.js +1 -1
  199. package/amd/RemovableTabBarItem-6a25d890.js +1 -1
  200. package/amd/ReorderableTabBar-e40ffae9.js +1 -1
  201. package/amd/RevealToggleIcon-c5b17f49.js +1 -1
  202. package/amd/SectionalLegend-5d4afed4.js +1 -1
  203. package/amd/SectionedContent-6031f8f7.js +2 -0
  204. package/amd/{SectionedContent-2b89af7b.js.map → SectionedContent-6031f8f7.js.map} +1 -1
  205. package/amd/{SelectMultiple-1ff92cc3.js → SelectMultiple-3eb4a268.js} +2 -2
  206. package/amd/{SelectMultiple-1ff92cc3.js.map → SelectMultiple-3eb4a268.js.map} +1 -1
  207. package/amd/{SelectSingle-641a4cac.js → SelectSingle-9fcc38fc.js} +2 -2
  208. package/amd/{SelectSingle-641a4cac.js.map → SelectSingle-9fcc38fc.js.map} +1 -1
  209. package/amd/{SelectionCard-3973de1b.js → SelectionCard-062e1c6f.js} +2 -2
  210. package/amd/{SelectionCard-3973de1b.js.map → SelectionCard-062e1c6f.js.map} +1 -1
  211. package/amd/Selector-039f7481.js +1 -1
  212. package/amd/SelectorAll-53efae22.js +2 -0
  213. package/amd/{SelectorAll-7288e923.js.map → SelectorAll-53efae22.js.map} +1 -1
  214. package/amd/{Sheet-c6fc15b2.js → Sheet-e6308643.js} +2 -2
  215. package/amd/{Sheet-c6fc15b2.js.map → Sheet-e6308643.js.map} +1 -1
  216. package/amd/SplitMenuButton-09d7b66f.js +1 -1
  217. package/amd/StyledTextField-a51060bb.js +1 -1
  218. package/amd/Submenu-8cb31b61.js +1 -1
  219. package/amd/TabBar-1c002b5b.js +1 -1
  220. package/amd/TabBarItem-16383a92.js +1 -1
  221. package/amd/TabBarLayout-685ac295.js +1 -1
  222. package/amd/TabBarMixed-4e0326f5.js +1 -1
  223. package/amd/TabBarMixedSeparator-8c278254.js +2 -0
  224. package/amd/{TabBarMixedSeparator-ed764207.js.map → TabBarMixedSeparator-8c278254.js.map} +1 -1
  225. package/amd/{Table-986ae70c.js → Table-611e08d5.js} +2 -2
  226. package/amd/{Table-986ae70c.js.map → Table-611e08d5.js.map} +1 -1
  227. package/amd/{TableView-452fa547.js → TableView-cf113195.js} +2 -2
  228. package/amd/{TableView-452fa547.js.map → TableView-cf113195.js.map} +1 -1
  229. package/amd/TagCloud-58b4a81b.js +1 -1
  230. package/amd/TextArea-259d741c.js +1 -1
  231. package/amd/TextAreaAutosize-e8dc13b4.js +1 -1
  232. package/amd/TextField-51daf13e.js +1 -1
  233. package/amd/TextFieldInput-d6645f5b.js +1 -1
  234. package/amd/Theme-redwood/theme.css +80 -80
  235. package/amd/Theme-stable/theme.css +306 -306
  236. package/amd/TimeComponentCanvas2D-2f1cede4.js +1 -1
  237. package/amd/Toolbar-e84c90ac.js +1 -1
  238. package/amd/{TruncatingBadge-b6a271ea.js → TruncatingBadge-5b720ad3.js} +2 -2
  239. package/amd/{TruncatingBadge-b6a271ea.js.map → TruncatingBadge-5b720ad3.js.map} +1 -1
  240. package/amd/TruncatingText-17a6d4b6.js +2 -0
  241. package/amd/{TruncatingText-e1aceee7.js.map → TruncatingText-17a6d4b6.js.map} +1 -1
  242. package/amd/UNSAFE_ActionCard.js +1 -1
  243. package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
  244. package/amd/UNSAFE_BarChart.js +1 -1
  245. package/amd/UNSAFE_BaseButton.js +1 -1
  246. package/amd/UNSAFE_Button.js +1 -1
  247. package/amd/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
  248. package/amd/UNSAFE_ButtonSet.js +1 -1
  249. package/amd/UNSAFE_ButtonSetButton.js +1 -1
  250. package/amd/UNSAFE_ButtonSetIconButton.js +1 -1
  251. package/amd/UNSAFE_ButtonSetItem.js +1 -1
  252. package/amd/UNSAFE_ButtonSetMultiple.js +1 -1
  253. package/amd/UNSAFE_ButtonSetSingle.js +1 -1
  254. package/amd/UNSAFE_CardFlexView.js +1 -1
  255. package/amd/UNSAFE_CardGridView.js +1 -1
  256. package/amd/UNSAFE_Center.js +1 -1
  257. package/amd/UNSAFE_ChartWithLegend.js +1 -1
  258. package/amd/UNSAFE_Checkbox.js +1 -1
  259. package/amd/UNSAFE_CheckboxItem.js +1 -1
  260. package/amd/UNSAFE_CheckboxItem.js.map +1 -1
  261. package/amd/UNSAFE_CheckboxSet.js +1 -1
  262. package/amd/UNSAFE_CheckboxSet.js.map +1 -1
  263. package/amd/UNSAFE_Chip.js +1 -1
  264. package/amd/UNSAFE_Collapsible.js +1 -1
  265. package/amd/UNSAFE_ComponentMessage.js +1 -1
  266. package/amd/UNSAFE_ConveyorBelt.js +1 -1
  267. package/amd/UNSAFE_DatePicker.js +1 -1
  268. package/amd/UNSAFE_Diagram.js +1 -1
  269. package/amd/UNSAFE_Dialog.js +1 -1
  270. package/amd/UNSAFE_DragHandle.js +1 -1
  271. package/amd/UNSAFE_DrawerLayout.js +1 -1
  272. package/amd/UNSAFE_DrawerLayout.js.map +1 -1
  273. package/amd/UNSAFE_DrawerPopup.js +1 -1
  274. package/amd/UNSAFE_Dropdown.js +1 -1
  275. package/amd/UNSAFE_Environment.js +1 -1
  276. package/amd/UNSAFE_ExpandableList.js +1 -1
  277. package/amd/UNSAFE_FilePicker.js +1 -1
  278. package/amd/UNSAFE_Flex.js +1 -1
  279. package/amd/UNSAFE_Floating.js +1 -1
  280. package/amd/UNSAFE_FormLayout.js +1 -1
  281. package/amd/UNSAFE_Gantt.js +1 -1
  282. package/amd/UNSAFE_Grid.js +1 -1
  283. package/amd/UNSAFE_HighlightText.js +1 -1
  284. package/amd/UNSAFE_Icon.js +1 -1
  285. package/amd/UNSAFE_IconButton.js +1 -1
  286. package/amd/UNSAFE_IconMenuButton.js +1 -1
  287. package/amd/UNSAFE_IconProgressButton.js +1 -1
  288. package/amd/UNSAFE_IconToggleButton.js +1 -1
  289. package/amd/UNSAFE_Indexer.js +1 -1
  290. package/amd/UNSAFE_InputDateMask.js +1 -1
  291. package/amd/UNSAFE_InputDatePicker.js +1 -1
  292. package/amd/UNSAFE_InputPassword.js +1 -1
  293. package/amd/UNSAFE_InputSensitiveText.js +1 -1
  294. package/amd/UNSAFE_InputText.js +1 -1
  295. package/amd/UNSAFE_Label.js +1 -1
  296. package/amd/UNSAFE_LabelValueLayout.js +1 -1
  297. package/amd/UNSAFE_LabelledLink.js +1 -1
  298. package/amd/UNSAFE_Layer.js +1 -1
  299. package/amd/UNSAFE_Legend.js +1 -1
  300. package/amd/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +1 -1
  301. package/amd/UNSAFE_LineAreaChart.js +1 -1
  302. package/amd/UNSAFE_Link.js +1 -1
  303. package/amd/UNSAFE_ListItemLayout.js +1 -1
  304. package/amd/UNSAFE_ListView.js +1 -1
  305. package/amd/UNSAFE_LiveRegion.js +1 -1
  306. package/amd/UNSAFE_Menu.js +1 -1
  307. package/amd/UNSAFE_MenuButton.js +1 -1
  308. package/amd/UNSAFE_MessageBanner.js +1 -1
  309. package/amd/UNSAFE_MessageToast.js +1 -1
  310. package/amd/UNSAFE_MeterBar.js +1 -1
  311. package/amd/UNSAFE_MeterCircle.js +1 -1
  312. package/amd/UNSAFE_Modal.js +1 -1
  313. package/amd/UNSAFE_NavigationList.js +1 -1
  314. package/amd/UNSAFE_NavigationListCommon.js +1 -1
  315. package/amd/UNSAFE_NumberInputText.js +1 -1
  316. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  317. package/amd/UNSAFE_PictoChart.js +1 -1
  318. package/amd/UNSAFE_PieChart/__test__/PieChart.spec.js +1 -1
  319. package/amd/UNSAFE_PieChart.js +1 -1
  320. package/amd/UNSAFE_Popup.js +1 -1
  321. package/amd/UNSAFE_ProgressBar.js +1 -1
  322. package/amd/UNSAFE_ProgressButton.js +1 -1
  323. package/amd/UNSAFE_ProgressButtonLabelLayout.js +1 -1
  324. package/amd/UNSAFE_ProgressCircle.js +1 -1
  325. package/amd/UNSAFE_RadioItem.js +1 -1
  326. package/amd/UNSAFE_RadioSet.js +1 -1
  327. package/amd/UNSAFE_RatingGauge.js +1 -1
  328. package/amd/UNSAFE_ReorderableTabBar.js +1 -1
  329. package/amd/UNSAFE_SectionalLegend.js +1 -1
  330. package/amd/UNSAFE_SelectMultiple.js +1 -1
  331. package/amd/UNSAFE_SelectSingle.js +1 -1
  332. package/amd/UNSAFE_SelectionCard.js +1 -1
  333. package/amd/UNSAFE_Selector.js +1 -1
  334. package/amd/UNSAFE_SelectorAll.js +1 -1
  335. package/amd/UNSAFE_Sheet/__test__/Sheet.spec.js +1 -1
  336. package/amd/UNSAFE_Sheet.js +1 -1
  337. package/amd/UNSAFE_SplitMenuButton.js +1 -1
  338. package/amd/UNSAFE_TabBar.js +1 -1
  339. package/amd/UNSAFE_TabBarCommon.js +1 -1
  340. package/amd/UNSAFE_TabBarMixed.js +1 -1
  341. package/amd/UNSAFE_TableView.js +1 -1
  342. package/amd/UNSAFE_TagCloud.js +1 -1
  343. package/amd/UNSAFE_TextArea.js +1 -1
  344. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  345. package/amd/UNSAFE_TextField.js +1 -1
  346. package/amd/UNSAFE_ToggleButton.js +1 -1
  347. package/amd/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
  348. package/amd/UNSAFE_Toolbar.js +1 -1
  349. package/amd/UNSAFE_Train.js +1 -1
  350. package/amd/UNSAFE_TruncatingBadge.js +1 -1
  351. package/amd/UNSAFE_TruncatingText.js +1 -1
  352. package/amd/UNSAFE_UserAssistance.js +1 -1
  353. package/amd/UNSAFE_View.js +1 -1
  354. package/amd/UNSAFE_VirtualizedListView.js +1 -1
  355. package/amd/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +1 -1
  356. package/amd/UNSAFE_VisProgressiveLoader.js +1 -1
  357. package/amd/UNSAFE_VisStatusMessage.js +1 -1
  358. package/amd/UNSAFE_WindowOverlay.js +1 -1
  359. package/amd/{View-bd5c7fa7.js → View-ce970ed7.js} +2 -2
  360. package/amd/{View-bd5c7fa7.js.map → View-ce970ed7.js.map} +1 -1
  361. package/amd/{VirtualizedCollection-897516a5.js → VirtualizedCollection-63223f5e.js} +2 -2
  362. package/amd/{VirtualizedCollection-897516a5.js.map → VirtualizedCollection-63223f5e.js.map} +1 -1
  363. package/amd/VirtualizedListView-cf795207.js +2 -0
  364. package/amd/{VirtualizedListView-96ddfd98.js.map → VirtualizedListView-cf795207.js.map} +1 -1
  365. package/amd/{VisNoData-ed2bd5cf.js → VisNoData-7d5f77c3.js} +2 -2
  366. package/amd/{VisNoData-ed2bd5cf.js.map → VisNoData-7d5f77c3.js.map} +1 -1
  367. package/amd/{VisProgressiveLoader-06a60c8f.js → VisProgressiveLoader-68d8d8b3.js} +2 -2
  368. package/amd/{VisProgressiveLoader-06a60c8f.js.map → VisProgressiveLoader-68d8d8b3.js.map} +1 -1
  369. package/amd/{VisTabularDatatip-55bbd19f.js → VisTabularDatatip-1051eaca.js} +2 -2
  370. package/amd/{VisTabularDatatip-55bbd19f.js.map → VisTabularDatatip-1051eaca.js.map} +1 -1
  371. package/amd/{WindowOverlay-43c10424.js → WindowOverlay-a2d80d55.js} +2 -2
  372. package/amd/{WindowOverlay-43c10424.js.map → WindowOverlay-a2d80d55.js.map} +1 -1
  373. package/amd/{YearsGridView-ddc90c36.js → YearsGridView-e758c73a.js} +2 -2
  374. package/amd/{YearsGridView-ddc90c36.js.map → YearsGridView-e758c73a.js.map} +1 -1
  375. package/amd/hoc/PRIVATE_withDirectionIcon.js +1 -1
  376. package/amd/hoc/PRIVATE_withThemeIcon.js +1 -1
  377. package/amd/hoc/UNSAFE_withThemeProps.js +1 -1
  378. package/amd/hooks/PRIVATE_useChartContextMenu.js +1 -1
  379. package/amd/hooks/PRIVATE_useChartDatatip.js +1 -1
  380. package/amd/hooks/PRIVATE_useChartEvents.js +1 -1
  381. package/amd/hooks/PRIVATE_useChartMarquee.js +1 -1
  382. package/amd/hooks/PRIVATE_useCssVars.js +1 -1
  383. package/amd/hooks/PRIVATE_useCurrentKey.js +1 -1
  384. package/amd/hooks/PRIVATE_useDatatip.js +1 -1
  385. package/amd/hooks/PRIVATE_useFloating.js +1 -1
  386. package/amd/hooks/PRIVATE_useReorderable.js +1 -1
  387. package/amd/hooks/PRIVATE_useRovingTabIndexContainer.js +1 -1
  388. package/amd/hooks/PRIVATE_useSelection.js +1 -1
  389. package/amd/hooks/PRIVATE_useTabBar.js +1 -1
  390. package/amd/hooks/PRIVATE_useVisContextMenu.js +1 -1
  391. package/amd/hooks/PRIVATE_useVisEvents.js +1 -1
  392. package/amd/hooks/PRIVATE_useVisMeterEvents.js +1 -1
  393. package/amd/hooks/PRIVATE_useVisSelection.js +1 -1
  394. package/amd/hooks/UNSAFE_useColorScheme.js +1 -1
  395. package/amd/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  396. package/amd/hooks/UNSAFE_useCurrentBgColor.js +1 -1
  397. package/amd/hooks/UNSAFE_useDensity.js +1 -1
  398. package/amd/hooks/UNSAFE_useOutsideClick.js +1 -1
  399. package/amd/hooks/UNSAFE_usePrefixSuffix.js +1 -1
  400. package/amd/hooks/UNSAFE_useScale.js +1 -1
  401. package/amd/hooks/UNSAFE_useTestId.js +1 -1
  402. package/amd/hooks/UNSAFE_useTheme.js +1 -1
  403. package/amd/hooks/UNSAFE_useThemeInterpolations.js +1 -1
  404. package/amd/hooks/UNSAFE_useTooltip.js +1 -1
  405. package/amd/hooks/UNSAFE_useTranslationBundle.js +1 -1
  406. package/amd/hooks/UNSAFE_useUser.js +1 -1
  407. package/amd/{index-a444ef75.js → index-735cad6d.js} +2 -2
  408. package/amd/index-735cad6d.js.map +1 -0
  409. package/amd/listViewSelectionTests-a8209843.js +1 -1
  410. package/amd/render-4250c759.js +2 -0
  411. package/amd/{render-a1ae323f.js.map → render-4250c759.js.map} +1 -1
  412. package/amd/{tabbableUtils-f5e521c8.js → tabbableUtils-9887f50b.js} +2 -2
  413. package/amd/{tabbableUtils-f5e521c8.js.map → tabbableUtils-9887f50b.js.map} +1 -1
  414. package/amd/{testData-b22c8f34.js → testData-71364772.js} +2 -2
  415. package/amd/{testData-b22c8f34.js.map → testData-71364772.js.map} +1 -1
  416. package/amd/tooltipUtils-3b34c2bc.js +2 -0
  417. package/amd/{tooltipUtils-79293e46.js.map → tooltipUtils-3b34c2bc.js.map} +1 -1
  418. package/amd/useCellNavigation-1feec094.js +1 -1
  419. package/amd/useChartContextMenu-673e3de0.js +1 -1
  420. package/amd/{useChartDatatip-04fa72c7.js → useChartDatatip-c702890c.js} +2 -2
  421. package/amd/{useChartDatatip-04fa72c7.js.map → useChartDatatip-c702890c.js.map} +1 -1
  422. package/amd/useChartMarquee-62e7676c.js +1 -1
  423. package/amd/{useColorScheme-443e7cc7.js → useColorScheme-10dc88de.js} +2 -2
  424. package/amd/{useColorScheme-443e7cc7.js.map → useColorScheme-10dc88de.js.map} +1 -1
  425. package/amd/useContextMenu-57f18e97.js +1 -1
  426. package/amd/{useCssVars-dc52806c.js → useCssVars-c043f8da.js} +2 -2
  427. package/amd/{useCssVars-dc52806c.js.map → useCssVars-c043f8da.js.map} +1 -1
  428. package/amd/{useCurrentBgColor-50142bd8.js → useCurrentBgColor-2426ee24.js} +2 -2
  429. package/amd/{useCurrentBgColor-50142bd8.js.map → useCurrentBgColor-2426ee24.js.map} +1 -1
  430. package/amd/useCurrentKey-1d869ff4.js +2 -0
  431. package/amd/{useCurrentKey-db6f418a.js.map → useCurrentKey-1d869ff4.js.map} +1 -1
  432. package/amd/{useDatatip-748e233f.js → useDatatip-87792500.js} +2 -2
  433. package/amd/{useDatatip-748e233f.js.map → useDatatip-87792500.js.map} +1 -1
  434. package/amd/{useDensity-f0f7ae9a.js → useDensity-c83df7b4.js} +2 -2
  435. package/amd/{useDensity-f0f7ae9a.js.map → useDensity-c83df7b4.js.map} +1 -1
  436. package/amd/{useFloating-a2399a51.js → useFloating-8726c4bb.js} +2 -2
  437. package/amd/{useFloating-a2399a51.js.map → useFloating-8726c4bb.js.map} +1 -1
  438. package/amd/useKeyboardEvents-d87e3587.js +2 -0
  439. package/amd/{useKeyboardEvents-8ada7a1f.js.map → useKeyboardEvents-d87e3587.js.map} +1 -1
  440. package/amd/useLegendContextMenu-09c7a5a9.js +1 -1
  441. package/amd/useMeterDatatip-3abdf66a.js +2 -0
  442. package/amd/{useMeterDatatip-3b5a5112.js.map → useMeterDatatip-3abdf66a.js.map} +1 -1
  443. package/amd/{useOutsideClick-476e0577.js → useOutsideClick-5c2a47be.js} +2 -2
  444. package/amd/{useOutsideClick-476e0577.js.map → useOutsideClick-5c2a47be.js.map} +1 -1
  445. package/amd/usePopupAnimation-916ff96d.js +2 -0
  446. package/amd/{usePopupAnimation-6445a247.js.map → usePopupAnimation-916ff96d.js.map} +1 -1
  447. package/amd/usePrefixSuffix-09bd5925.js +2 -0
  448. package/amd/{usePrefixSuffix-f7544e05.js.map → usePrefixSuffix-09bd5925.js.map} +1 -1
  449. package/amd/useReorderableItem-7fd4d629.js +1 -1
  450. package/amd/{useRovingTabIndexContainer-94cc3710.js → useRovingTabIndexContainer-05e87912.js} +2 -2
  451. package/amd/{useRovingTabIndexContainer-94cc3710.js.map → useRovingTabIndexContainer-05e87912.js.map} +1 -1
  452. package/amd/useScale-37d42c9d.js +2 -0
  453. package/amd/{useScale-e311d35f.js.map → useScale-37d42c9d.js.map} +1 -1
  454. package/amd/{useSelectCommon-4e256cf0.js → useSelectCommon-94d5e5bb.js} +2 -2
  455. package/amd/{useSelectCommon-4e256cf0.js.map → useSelectCommon-94d5e5bb.js.map} +1 -1
  456. package/amd/{useSelectDrill-65d98139.js → useSelectDrill-a7d833b6.js} +2 -2
  457. package/amd/{useSelectDrill-65d98139.js.map → useSelectDrill-a7d833b6.js.map} +1 -1
  458. package/amd/{useSelection-4d3a1ea8.js → useSelection-396ce75f.js} +2 -2
  459. package/amd/{useSelection-4d3a1ea8.js.map → useSelection-396ce75f.js.map} +1 -1
  460. package/amd/useSelection-e2791513.js +2 -0
  461. package/amd/{useSelection-a6fd13cf.js.map → useSelection-e2791513.js.map} +1 -1
  462. package/amd/{useTabBar-40842fb9.js → useTabBar-423a0c03.js} +2 -2
  463. package/amd/{useTabBar-40842fb9.js.map → useTabBar-423a0c03.js.map} +1 -1
  464. package/amd/{useTestId-b5cd4766.js → useTestId-3a316499.js} +2 -2
  465. package/amd/{useTestId-b5cd4766.js.map → useTestId-3a316499.js.map} +1 -1
  466. package/amd/{useTheme-a8334e06.js → useTheme-ac980f9a.js} +2 -2
  467. package/amd/{useTheme-a8334e06.js.map → useTheme-ac980f9a.js.map} +1 -1
  468. package/amd/useThemeInterpolations-b1d98ea4.js +2 -0
  469. package/amd/{useThemeInterpolations-e20f8cfa.js.map → useThemeInterpolations-b1d98ea4.js.map} +1 -1
  470. package/amd/useTooltip-6a5fedfa.js +2 -0
  471. package/amd/{useTooltip-e4089d1a.js.map → useTooltip-6a5fedfa.js.map} +1 -1
  472. package/amd/{useTooltipControlled-fafb2f01.js → useTooltipControlled-fb57eb02.js} +2 -2
  473. package/amd/{useTooltipControlled-fafb2f01.js.map → useTooltipControlled-fb57eb02.js.map} +1 -1
  474. package/amd/{useTranslationBundle-d07d4b20.js → useTranslationBundle-516b1b83.js} +2 -2
  475. package/amd/{useTranslationBundle-d07d4b20.js.map → useTranslationBundle-516b1b83.js.map} +1 -1
  476. package/amd/{useUser-3ef25571.js → useUser-85c781ea.js} +2 -2
  477. package/amd/{useUser-3ef25571.js.map → useUser-85c781ea.js.map} +1 -1
  478. package/amd/{useVisEvents-48144382.js → useVisEvents-954dcd88.js} +2 -2
  479. package/amd/{useVisEvents-48144382.js.map → useVisEvents-954dcd88.js.map} +1 -1
  480. package/amd/utils/PRIVATE_tooltipUtils.js +1 -1
  481. package/amd/utils/PRIVATE_visTestUtils.js +1 -1
  482. package/amd/{withDirectionIcon-74c39ee3.js → withDirectionIcon-ce0c7432.js} +2 -2
  483. package/amd/{withDirectionIcon-74c39ee3.js.map → withDirectionIcon-ce0c7432.js.map} +1 -1
  484. package/amd/withThemeProps-4c23997e.js +1 -1
  485. package/cjs/{BarChart-f132cd7c.js → BarChart-6b34be7b.js} +2 -2
  486. package/cjs/{BarChart-f132cd7c.js.map → BarChart-6b34be7b.js.map} +1 -1
  487. package/cjs/{BaseCardView-b5471a69.js → BaseCardView-55bc5e6f.js} +2 -2
  488. package/cjs/{BaseCardView-b5471a69.js.map → BaseCardView-55bc5e6f.js.map} +1 -1
  489. package/cjs/{CardFlexView-075d4013.js → CardFlexView-ae79f8f1.js} +2 -2
  490. package/cjs/{CardFlexView-075d4013.js.map → CardFlexView-ae79f8f1.js.map} +1 -1
  491. package/cjs/{CardGridView-3c07cf2a.js → CardGridView-4936ffd6.js} +2 -2
  492. package/cjs/{CardGridView-3c07cf2a.js.map → CardGridView-4936ffd6.js.map} +1 -1
  493. package/cjs/{Chart-42a979a7.js → Chart-4eee682b.js} +2 -2
  494. package/cjs/{Chart-42a979a7.js.map → Chart-4eee682b.js.map} +1 -1
  495. package/cjs/CheckboxSet-368b907b.js +53 -0
  496. package/cjs/CheckboxSet-368b907b.js.map +1 -0
  497. package/cjs/DrawerLayoutStyles.styles.css +1 -0
  498. package/cjs/GroupLoadingIndicator-397feb37.js +1 -1
  499. package/cjs/{Indexer-8ba89fa5.js → Indexer-1dfa7ec4.js} +2 -2
  500. package/cjs/{Indexer-8ba89fa5.js.map → Indexer-1dfa7ec4.js.map} +1 -1
  501. package/cjs/{InputDatePicker-fe21408c.js → InputDatePicker-c2ef8b45.js} +2 -2
  502. package/cjs/{InputDatePicker-fe21408c.js.map → InputDatePicker-c2ef8b45.js.map} +1 -1
  503. package/cjs/{LineAreaChart-4f443939.js → LineAreaChart-28268084.js} +2 -2
  504. package/cjs/{LineAreaChart-4f443939.js.map → LineAreaChart-28268084.js.map} +1 -1
  505. package/cjs/{List-5374e621.js → List-2baf37ae.js} +4 -3
  506. package/cjs/{List-5374e621.js.map → List-2baf37ae.js.map} +1 -1
  507. package/cjs/{ListView-a8278334.js → ListView-4db96cfd.js} +2 -2
  508. package/cjs/{ListView-a8278334.js.map → ListView-4db96cfd.js.map} +1 -1
  509. package/cjs/{LoadMoreCollection-69bc038c.js → LoadMoreCollection-73112ff0.js} +2 -2
  510. package/cjs/{LoadMoreCollection-69bc038c.js.map → LoadMoreCollection-73112ff0.js.map} +1 -1
  511. package/cjs/MaxLengthCounter-a5370f66.js +27 -0
  512. package/cjs/MaxLengthCounter-a5370f66.js.map +1 -0
  513. package/cjs/PRIVATE_BaseCardView.js +3 -3
  514. package/cjs/PRIVATE_Chart.js +4 -4
  515. package/cjs/PRIVATE_List.js +4 -4
  516. package/cjs/PRIVATE_LoadMoreCollection.js +2 -2
  517. package/cjs/PRIVATE_SelectCommon.js +5 -5
  518. package/cjs/PRIVATE_Table.js +3 -3
  519. package/cjs/PRIVATE_VirtualizedCollection.js +2 -2
  520. package/cjs/{SelectMultiple-79cebd04.js → SelectMultiple-2d4eba14.js} +2 -2
  521. package/cjs/{SelectMultiple-79cebd04.js.map → SelectMultiple-2d4eba14.js.map} +1 -1
  522. package/cjs/{SelectSingle-d8cf56db.js → SelectSingle-731c2ecd.js} +2 -2
  523. package/cjs/{SelectSingle-d8cf56db.js.map → SelectSingle-731c2ecd.js.map} +1 -1
  524. package/cjs/{Table-d70de040.js → Table-b137c360.js} +2 -2
  525. package/cjs/{Table-d70de040.js.map → Table-b137c360.js.map} +1 -1
  526. package/cjs/{TableView-d91ebb19.js → TableView-3a1f0c38.js} +2 -2
  527. package/cjs/{TableView-d91ebb19.js.map → TableView-3a1f0c38.js.map} +1 -1
  528. package/cjs/{TextArea-792069d7.js → TextArea-096f18ad.js} +4 -22
  529. package/cjs/TextArea-096f18ad.js.map +1 -0
  530. package/cjs/{TextAreaAutosize-1989de68.js → TextAreaAutosize-4d30faec.js} +3 -3
  531. package/cjs/{TextAreaAutosize-1989de68.js.map → TextAreaAutosize-4d30faec.js.map} +1 -1
  532. package/cjs/Theme-redwood/theme.css +171 -171
  533. package/cjs/Theme-stable/theme.css +281 -281
  534. package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +5 -5
  535. package/cjs/UNSAFE_BarChart.js +5 -5
  536. package/cjs/UNSAFE_CardFlexView.js +4 -4
  537. package/cjs/UNSAFE_CardGridView.js +4 -4
  538. package/cjs/UNSAFE_CheckboxItem.js +80 -30
  539. package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
  540. package/cjs/UNSAFE_CheckboxSet.js +15 -44
  541. package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
  542. package/cjs/UNSAFE_DrawerLayout.js +4 -2
  543. package/cjs/UNSAFE_DrawerLayout.js.map +1 -1
  544. package/cjs/UNSAFE_ExpandableList.js +3 -3
  545. package/cjs/UNSAFE_Indexer.js +2 -2
  546. package/cjs/UNSAFE_InputDatePicker.js +90 -90
  547. package/cjs/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +5 -5
  548. package/cjs/UNSAFE_LineAreaChart.js +5 -5
  549. package/cjs/UNSAFE_ListView.js +5 -5
  550. package/cjs/UNSAFE_SelectMultiple.js +6 -6
  551. package/cjs/UNSAFE_SelectSingle.js +6 -6
  552. package/cjs/UNSAFE_TableView.js +4 -4
  553. package/cjs/UNSAFE_TextArea.js +4 -3
  554. package/cjs/UNSAFE_TextArea.js.map +1 -1
  555. package/cjs/UNSAFE_TextAreaAutosize.js +3 -3
  556. package/cjs/UNSAFE_VirtualizedListView.js +5 -5
  557. package/cjs/{VirtualizedCollection-9e8c48b9.js → VirtualizedCollection-00aedb8b.js} +2 -2
  558. package/cjs/{VirtualizedCollection-9e8c48b9.js.map → VirtualizedCollection-00aedb8b.js.map} +1 -1
  559. package/cjs/{VirtualizedListView-16222e22.js → VirtualizedListView-75610c90.js} +2 -2
  560. package/cjs/{VirtualizedListView-16222e22.js.map → VirtualizedListView-75610c90.js.map} +1 -1
  561. package/cjs/{useSelectCommon-309c1746.js → useSelectCommon-12313cdd.js} +2 -2
  562. package/cjs/{useSelectCommon-309c1746.js.map → useSelectCommon-12313cdd.js.map} +1 -1
  563. package/es/{BarChart-c68a559c.js → BarChart-cbd9c2bf.js} +2 -2
  564. package/es/{BarChart-c68a559c.js.map → BarChart-cbd9c2bf.js.map} +1 -1
  565. package/es/ButtonLayoutVariants.styles.css +2 -2
  566. package/es/ButtonLayoutVariants.styles2.css +2 -2
  567. package/es/{Chart-f2438968.js → Chart-8922a0b3.js} +2 -2
  568. package/es/{Chart-f2438968.js.map → Chart-8922a0b3.js.map} +1 -1
  569. package/es/DrawerLayoutStyles.styles.css +1 -0
  570. package/es/{LineAreaChart-e2e762e8.js → LineAreaChart-85b37b1c.js} +2 -2
  571. package/es/{LineAreaChart-e2e762e8.js.map → LineAreaChart-85b37b1c.js.map} +1 -1
  572. package/es/NavigationListItemVariants.styles.css +5 -5
  573. package/es/NavigationListItemVariants.styles2.css +5 -5
  574. package/es/PRIVATE_Chart.js +4 -4
  575. package/es/Theme-redwood/theme.css +505 -505
  576. package/es/Theme-stable/theme.css +632 -632
  577. package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +5 -5
  578. package/es/UNSAFE_BarChart.js +5 -5
  579. package/es/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
  580. package/es/UNSAFE_ButtonLayout/themes/redwood/ButtonLayoutTheme.js +1 -1
  581. package/es/UNSAFE_ButtonLayout/themes/redwood/ButtonLayoutVariants.css.js +1 -1
  582. package/es/UNSAFE_ButtonLayout/themes/stable/ButtonLayoutTheme.js +1 -1
  583. package/es/UNSAFE_ButtonLayout/themes/stable/ButtonLayoutVariants.css.js +1 -1
  584. package/es/UNSAFE_ButtonLayout.js +1 -1
  585. package/es/UNSAFE_DrawerLayout.js +4 -2
  586. package/es/UNSAFE_DrawerLayout.js.map +1 -1
  587. package/es/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +5 -5
  588. package/es/UNSAFE_LineAreaChart.js +5 -5
  589. package/es/UNSAFE_NavigationList/themes/redwood/NavigationListItemVariants.css.js +1 -1
  590. package/es/UNSAFE_NavigationList/themes/stable/NavigationListItemTheme.js +1 -1
  591. package/es/UNSAFE_NavigationList/themes/stable/NavigationListItemVariants.css.js +1 -1
  592. package/es/UNSAFE_NavigationList.js +1 -1
  593. package/es/UNSAFE_NavigationListCommon/themes/redwood/NavigationListItemTheme.js +1 -1
  594. package/es/UNSAFE_NavigationListCommon.js +1 -1
  595. package/es/UNSAFE_OverflowTabBar.js +1 -1
  596. package/es/UNSAFE_TabBar.js +1 -1
  597. package/es/UNSAFE_TabBarCommon.js +1 -1
  598. package/es/UNSAFE_TabBarMixed.js +1 -1
  599. package/es/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
  600. package/es/UNSAFE_Toolbar.js +1 -1
  601. package/es/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  602. package/package.json +2 -2
  603. package/amd/CardFlexView-14fada63.js +0 -2
  604. package/amd/CheckboxSetContext-2e486ea8.js +0 -2
  605. package/amd/CheckboxSetContext-2e486ea8.js.map +0 -1
  606. package/amd/CompactLabelAssistance-bc14e060.js +0 -2
  607. package/amd/Flex-3421f0df.js +0 -2
  608. package/amd/HighlightText-644bc74e.js +0 -2
  609. package/amd/InputDatePicker-97756bcd.js +0 -2
  610. package/amd/List-61d64cd6.js +0 -2
  611. package/amd/LiveRegion-9a362373.js +0 -2
  612. package/amd/LoadMoreCollection-83413a59.js +0 -2
  613. package/amd/MaxLengthLiveRegion-bb956138.js +0 -2
  614. package/amd/SectionedContent-2b89af7b.js +0 -2
  615. package/amd/SelectorAll-7288e923.js +0 -2
  616. package/amd/TabBarMixedSeparator-ed764207.js +0 -2
  617. package/amd/TruncatingText-e1aceee7.js +0 -2
  618. package/amd/VirtualizedListView-96ddfd98.js +0 -2
  619. package/amd/index-a444ef75.js.map +0 -1
  620. package/amd/render-a1ae323f.js +0 -2
  621. package/amd/tooltipUtils-79293e46.js +0 -2
  622. package/amd/useCurrentKey-db6f418a.js +0 -2
  623. package/amd/useKeyboardEvents-8ada7a1f.js +0 -2
  624. package/amd/useMeterDatatip-3b5a5112.js +0 -2
  625. package/amd/usePopupAnimation-6445a247.js +0 -2
  626. package/amd/usePrefixSuffix-f7544e05.js +0 -2
  627. package/amd/useScale-e311d35f.js +0 -2
  628. package/amd/useSelection-a6fd13cf.js +0 -2
  629. package/amd/useThemeInterpolations-e20f8cfa.js +0 -2
  630. package/amd/useTooltip-e4089d1a.js +0 -2
  631. package/cjs/CheckboxSetContext-c62db26d.js +0 -12
  632. package/cjs/CheckboxSetContext-c62db26d.js.map +0 -1
  633. package/cjs/TextArea-792069d7.js.map +0 -1
@@ -0,0 +1,53 @@
1
+ /* @oracle/oraclejet-preact: undefined */
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('preact/jsx-runtime');
5
+ var preact = require('preact');
6
+ var hooks = require('preact/hooks');
7
+ var compat = require('preact/compat');
8
+ require('./FormContext-9452bd30.js');
9
+ var useFormContext = require('./useFormContext-4c3091dc.js');
10
+ var FormFieldContext = require('./FormFieldContext-8418dc68.js');
11
+ var useFormFieldContextProps = require('./useFormFieldContextProps-8c04ed0f.js');
12
+
13
+ var useId = require('./useId-6c0eeb27.js');
14
+ var CheckboxRadioField = require('./CheckboxRadioField-0242222e.js');
15
+
16
+ const CheckboxSetContext = preact.createContext({});
17
+ const useCheckboxSetContext = () => hooks.useContext(CheckboxSetContext);
18
+
19
+ var styles = {ul:'CheckboxSetStyles_styles_ul__68p6630'};
20
+
21
+ /**
22
+ * A CheckboxSet set allows the user to select one or more options from a set.
23
+ */
24
+ const CheckboxSet = compat.forwardRef(({ 'aria-describedby': ariaDescribedBy, assistiveText, columnSpan, direction = 'column', helpSourceLink, helpSourceText, isDisabled: propIsDisabled, isReadonly: propIsReadonly, isRequired = false, label, labelEdge: propLabelEdge, labelStartWidth: propLabelStartWidth, messages, onCommit, userAssistanceDensity: propUserAssistanceDensity, value, children, testId }, ref) => {
25
+ const hasValue = value !== undefined ? value.size > 0 : false;
26
+ const baseId = useId.useId();
27
+ const { isDisabled: isFormDisabled, isReadonly: isFormReadonly, labelEdge: formLabelEdge, labelStartWidth: formLabelStartWidth, userAssistanceDensity: formUserAssistanceDensity } = useFormContext.useFormContext();
28
+ // default to FormContext values if component properties are not specified
29
+ const isDisabled = propIsDisabled ?? isFormDisabled;
30
+ const isReadonly = propIsReadonly ?? isFormReadonly;
31
+ const labelEdge = propLabelEdge ?? formLabelEdge;
32
+ const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;
33
+ const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;
34
+ const formFieldContext = useFormFieldContextProps.useFormFieldContextProps({
35
+ hasValue,
36
+ isDisabled,
37
+ isReadonly
38
+ });
39
+ const checkboxSetContext = hooks.useMemo(() => ({
40
+ name: baseId,
41
+ value,
42
+ onCommit
43
+ }), [baseId, onCommit, value]);
44
+ // wrap each CheckboxItem in an <li> tag and the entire set with <ul>
45
+ const childrenArray = preact.toChildArray(children).filter(Boolean);
46
+ const wrappedChildren = childrenArray.map((item) => jsxRuntime.jsx("li", { children: item }));
47
+ return (jsxRuntime.jsx(FormFieldContext.FormFieldContext.Provider, { value: formFieldContext, children: jsxRuntime.jsx(CheckboxRadioField.CheckboxRadioField, { "aria-describedby": ariaDescribedBy, assistiveText: assistiveText, baseId: baseId, columnSpan: columnSpan, direction: direction, helpSourceLink: helpSourceLink, helpSourceText: helpSourceText, isDisabled: isDisabled, isReadonly: isReadonly, isRequired: isRequired, label: label, labelEdge: labelEdge, labelStartWidth: labelStartWidth, parentComponentVariant: "checkboxSet", messages: messages, userAssistanceDensity: userAssistanceDensity, hasValue: hasValue, role: "group", testId: testId, ref: ref, children: jsxRuntime.jsx(CheckboxSetContext.Provider, { value: checkboxSetContext, children: jsxRuntime.jsx("ul", { className: styles.ul, children: wrappedChildren }) }) }) }));
48
+ });
49
+
50
+ exports.CheckboxSet = CheckboxSet;
51
+ exports.CheckboxSetContext = CheckboxSetContext;
52
+ exports.useCheckboxSetContext = useCheckboxSetContext;
53
+ //# sourceMappingURL=CheckboxSet-368b907b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxSet-368b907b.js","sources":["../../src/UNSAFE_CheckboxSet/CheckboxSetContext.ts","../../src/UNSAFE_CheckboxSet/CheckboxSet.tsx"],"sourcesContent":["import { createContext } from 'preact';\nimport { useContext } from 'preact/hooks';\n\nimport { ValueUpdateDetail } from '../utils/UNSAFE_valueUpdateDetail';\n\ntype CheckboxSetContextValue = {\n name: string;\n value?: Set<string | number>;\n onCommit?: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n};\n\nconst CheckboxSetContext = createContext<CheckboxSetContextValue>({} as CheckboxSetContextValue);\nconst useCheckboxSetContext = () => useContext(CheckboxSetContext);\n\nexport { CheckboxSetContext, useCheckboxSetContext };\n","import { ComponentChildren, ComponentProps, Ref, toChildArray } from 'preact';\nimport { useMemo } from 'preact/hooks';\nimport { forwardRef } from 'preact/compat';\n\nimport { CheckboxSetContext } from './CheckboxSetContext';\nimport { CheckboxRadioField } from '#PRIVATE_CheckboxRadioField';\nimport { InlineUserAssistance, UserAssistanceDensityType } from '#UNSAFE_UserAssistance';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport { useFormFieldContextProps } from '#hooks/UNSAFE_useFormFieldContextProps';\nimport { FlexboxProps } from '#utils/UNSAFE_interpolations/flexbox';\nimport { Size } from '#utils/UNSAFE_size';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { FocusableHandle } from '#hooks/UNSAFE_useFocusableTextField';\nimport { styles } from './CheckboxSetStyles.css';\nimport { AriaAttributesSignalExcluded } from '#utils/UNSAFE_attributeUtils';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { LayoutColumnSpan } from '#utils/UNSAFE_styles/Layout';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\n\ntype InlineUserAssistanceProps = ComponentProps<typeof InlineUserAssistance>;\n\ntype Props = {\n /**\n * The ID of an element (or space separated IDs of multiple elements) that\n * describes the input.\n */\n 'aria-describedby'?: AriaAttributesSignalExcluded['aria-describedby'];\n /**\n * Text to provide guidance to help the user understand what data to enter.\n */\n assistiveText?: InlineUserAssistanceProps['assistiveText'];\n /**\n * set of CheckboxItems\n */\n children: ComponentChildren;\n /**\n * Specifies how many columns to span in a FormLayout with direction === 'row'\n */\n columnSpan?: LayoutColumnSpan;\n /**\n * layout direction of the children elements\n */\n direction?: FlexboxProps['direction'];\n /**\n * Help source URL associated with the component.\n */\n helpSourceLink?: InlineUserAssistanceProps['helpSourceLink'];\n /**\n * Custom text to be rendered for the <code>helpSourceLink</code>.\n */\n helpSourceText?: InlineUserAssistanceProps['helpSourceText'];\n /**\n * Specifies whether the checkbox set requires a selection to be made.\n */\n isRequired?: boolean;\n /**\n * Specifies if the checkbox set is read-only.\n */\n isReadonly?: boolean;\n /**\n * Specifies if the checkbox set is disabled.\n */\n isDisabled?: boolean;\n /**\n * Label text for the group of checkbox items.\n */\n label: string;\n /**\n * Specifies where the label is positioned relative to the field.\n */\n labelEdge?: 'none' | 'top' | 'start' | 'inside';\n /**\n * Specifies the width of the label when <code>labelEdge</code> is <code>\"start\"</code>.\n */\n labelStartWidth?: Size;\n /**\n * Messages to show on screen that are associated with the component.\n */\n messages?: InlineUserAssistanceProps['messages'];\n /**\n * Callback invoked each time the user changes selected option.\n */\n onCommit: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n /**\n * Specifies the density of the user assistance presentation. It can be set to:\n * <ul>\n * <li><code>'reflow'</code>: Show inline. Layout will reflow when text is displayed.</li>\n * <li><code>'efficient'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * <li><code>'compact'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * </ul>\n */\n userAssistanceDensity?: UserAssistanceDensityType;\n /**\n * Value of the selected checkbox option.\n */\n value?: Set<string | number>;\n} & TestIdProps;\n/**\n * A CheckboxSet set allows the user to select one or more options from a set.\n */\nexport const CheckboxSet = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n assistiveText,\n columnSpan,\n direction = 'column',\n helpSourceLink,\n helpSourceText,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n isRequired = false,\n label,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n messages,\n onCommit,\n userAssistanceDensity: propUserAssistanceDensity,\n value,\n children,\n testId\n }: Props,\n ref?: Ref<FocusableHandle>\n ) => {\n const hasValue = value !== undefined ? value.size > 0 : false;\n const baseId = useId();\n\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n\n const formFieldContext = useFormFieldContextProps({\n hasValue,\n isDisabled,\n isReadonly\n });\n\n const checkboxSetContext = useMemo(\n () => ({\n name: baseId,\n value,\n onCommit\n }),\n [baseId, onCommit, value]\n );\n\n // wrap each CheckboxItem in an <li> tag and the entire set with <ul>\n const childrenArray = toChildArray(children).filter(Boolean);\n const wrappedChildren = childrenArray.map((item) => <li>{item}</li>);\n\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <CheckboxRadioField\n aria-describedby={ariaDescribedBy}\n assistiveText={assistiveText}\n baseId={baseId}\n columnSpan={columnSpan}\n direction={direction}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n isRequired={isRequired}\n label={label}\n labelEdge={labelEdge}\n labelStartWidth={labelStartWidth}\n parentComponentVariant=\"checkboxSet\"\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n hasValue={hasValue}\n role=\"group\"\n testId={testId}\n ref={ref}>\n <CheckboxSetContext.Provider value={checkboxSetContext}>\n <ul className={styles.ul}>{wrappedChildren}</ul>\n </CheckboxSetContext.Provider>\n </CheckboxRadioField>\n </FormFieldContext.Provider>\n );\n }\n);\n"],"names":["createContext","useContext","forwardRef","useId","useFormContext","useFormFieldContextProps","useMemo","toChildArray","_jsx","FormFieldContext","CheckboxRadioField"],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  flex-grow: 1;
10
10
  display: flex;
11
11
  flex-direction: column;
12
+ overflow-y: auto;
12
13
  }
13
14
  .DrawerLayoutStyles_mainContent__18a5d602 {
14
15
  flex-grow: 1;
@@ -16,7 +16,7 @@ var PRIVATE_List_themes_ListStyles_css = require('./PRIVATE_List/themes/ListStyl
16
16
  var UNSAFE_GroupedList_themes_redwood_GroupedListTheme = require('./UNSAFE_GroupedList/themes/redwood/GroupedListTheme.js');
17
17
  var Flex = require('./Flex-ce16a2fa.js');
18
18
  var Skeleton = require('./Skeleton-ef5ed022.js');
19
- var List = require('./List-5374e621.js');
19
+ var List = require('./List-2baf37ae.js');
20
20
 
21
21
  // default style class for items in ListView
22
22
  const GROUP_SELECTOR = '[data-oj-listview-group]';
@@ -13,12 +13,12 @@ var collectionUtils = require('./collectionUtils-1535080e.js');
13
13
  var useId = require('./useId-6c0eeb27.js');
14
14
  var useTranslationBundle = require('./useTranslationBundle-6b0281a9.js');
15
15
  var HiddenAccessible = require('./HiddenAccessible-087eb49a.js');
16
+ var Collection = require('./Collection-9880039f.js');
16
17
  var classNames = require('./classNames-c14c6ef3.js');
17
18
  var compat = require('preact/compat');
18
19
  var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
19
20
  var UNSAFE_Indexer_themes_redwood_IndexerTheme = require('./UNSAFE_Indexer/themes/redwood/IndexerTheme.js');
20
21
  var useTestId = require('./useTestId-e267a39d.js');
21
- var Collection = require('./Collection-9880039f.js');
22
22
 
23
23
  /**
24
24
  * The others section variable that application could use
@@ -336,4 +336,4 @@ function getIndexerDescription(translations) {
336
336
 
337
337
  exports.Indexer = Indexer;
338
338
  exports.SECTION_OTHERS = SECTION_OTHERS;
339
- //# sourceMappingURL=Indexer-8ba89fa5.js.map
339
+ //# sourceMappingURL=Indexer-1dfa7ec4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Indexer-8ba89fa5.js","sources":["../../src/UNSAFE_Indexer/IndexerItems.tsx","../../src/UNSAFE_Indexer/Indexer.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 */\nimport { Fragment } from 'preact';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { Flex } from '../UNSAFE_Flex';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '../resources/nls/bundle';\nimport { ItemContext } from 'src/UNSAFE_Collection';\nimport { forwardRef, ForwardedRef } from 'preact/compat';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { IndexerStyles, IndexerItemVariantOptions } from './themes/IndexerStyles.css';\nimport { IndexerRedwoodTheme } from './themes/redwood/IndexerTheme';\n\n/**\n * Type of a section\n */\nexport type Section<K> = {\n /**\n * The key of each section\n */\n key: K;\n /**\n * The label of each section\n */\n label?: string;\n /**\n * A property that indicates whether the section\n * is disabled or not. Typically, when Indexer is\n * used with ListView, a disabled section implies\n * that there's no corresponding items in the ListView\n */\n isDisabled?: boolean;\n};\n\n/**\n * The others section variable that application could use\n * to compare value\n */\n// const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\nexport const SECTION_OTHERS: Section<string> = Object.freeze({\n key: '__others__',\n label: '#'\n});\n\nexport const ITEM_SELECTOR = '[data-oj-key]';\n\nexport type SectionProps<K> = {\n context: ItemContext<Section<K>>;\n currentKey: K;\n selectedKey: K;\n valueNow: number; // the index of an item within currently visible sections\n isFocusRingVisible: boolean;\n};\n\nexport const SectionItem = forwardRef(\n <K extends string | number>(props: SectionProps<K>, ref: ForwardedRef<HTMLLIElement>) => {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const { context, selectedKey } = props;\n const isSelected = context.data.key === selectedKey;\n const commonProps = getCommonProps(props, ref);\n\n const { classes } = useComponentTheme<IndexerItemVariantOptions, IndexerStyles>(\n IndexerRedwoodTheme,\n {\n focused: commonProps.ref && commonProps.isFocusRingVisible ? 'isFocused' : 'notFocused',\n disabled: context.data.isDisabled ? 'isDisabled' : 'notDisabled',\n selected: isSelected ? 'isSelected' : 'notSelected'\n }\n );\n const itemClasses = classNames([classes]);\n\n const sectionLabel = context.data.label || context.data.key;\n const valueText = context.data.isDisabled\n ? translations.indexer_disabledLabel({ SECTION: `${sectionLabel}` })\n : `${sectionLabel}`;\n\n return (\n <li\n {...commonProps}\n class={itemClasses}\n data-oj-valuetext={valueText}\n data-oj-disabled={context.data.isDisabled}>\n {context.data.label || context.data.key}\n </li>\n );\n }\n);\n\nfunction getCommonProps<K>(\n { context, currentKey, valueNow, isFocusRingVisible }: SectionProps<K>,\n ref: ForwardedRef<HTMLLIElement>\n) {\n const isCurrent = context.data.key === currentKey;\n return {\n ...(isCurrent && { ref }),\n key: context.data.key,\n 'data-oj-key': context.data.key,\n 'data-oj-key-type': typeof context.data.key,\n 'data-oj-valuenow': valueNow,\n isFocusRingVisible: !!isFocusRingVisible\n };\n}\n\ntype LastSectionProps<K> = SectionProps<K> & {\n lastValueNow: number;\n};\n\n// render the last section, that contains the last character and others character\nexport const LastSectionItem = forwardRef(\n <K extends string | number>(\n { lastValueNow, ...sectionProps }: LastSectionProps<K>,\n ref: ForwardedRef<HTMLLIElement>\n ) => {\n const commonProps = { ...sectionProps, ref };\n return (\n <Fragment>\n <SectionItem {...commonProps} />\n <OthersItem\n {...commonProps}\n ref={ref}\n context={{ index: -1, data: SECTION_OTHERS } as ItemContext<Section<K>>}\n valueNow={lastValueNow}\n />\n </Fragment>\n );\n }\n);\n\nconst OthersItem = forwardRef(<K,>(props: SectionProps<K>, ref: ForwardedRef<HTMLLIElement>) => {\n const { context, selectedKey } = props;\n const commonProps = getCommonProps(props, ref);\n\n const isSelected = context.data.key === selectedKey;\n const { classes } = useComponentTheme<IndexerItemVariantOptions>(IndexerRedwoodTheme, {\n focused: commonProps.ref && commonProps.isFocusRingVisible ? 'isFocused' : 'notFocused',\n selected: isSelected ? 'isSelected' : 'notSelected'\n });\n const othersClasses = classNames([classes]);\n const othersValueText = SECTION_OTHERS.label;\n\n return (\n <li {...commonProps} class={othersClasses} data-oj-valuetext={othersValueText}>\n {context.data.label}\n </li>\n );\n});\n\ntype SeparatorProps<K> = SectionProps<K> & {\n sectionsPerTruncation: number;\n last: number;\n sections: Section<K>[];\n};\n\nexport const SeparatorItem = forwardRef(\n <K extends string | number>(props: SeparatorProps<K>, ref: ForwardedRef<HTMLLIElement>) => {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const { context, sections } = props;\n const commonProps = getCommonProps(props, ref);\n const { from, to } = getSeparatorRange(props);\n const {\n classes,\n styles: { dotStyle }\n } = useComponentTheme<IndexerItemVariantOptions, IndexerStyles>(IndexerRedwoodTheme, {\n focused: commonProps.ref && commonProps.isFocusRingVisible ? 'isFocused' : 'notFocused'\n });\n\n if (!isInSeparatorMiddle(context.index, from, to)) {\n return null;\n }\n\n const fromText = sections[from].label || sections[from].key;\n const toText = sections[to].label || sections[to].key;\n\n const separatorClasses = classNames([classes]);\n\n const separatorValueText = translations.indexer_separatorLabel({\n FROM_SECTION: `${fromText}`,\n TO_SECTION: `${toText}`\n });\n\n return (\n <li {...commonProps} class={separatorClasses} data-oj-valuetext={separatorValueText}>\n <Flex align=\"center\" justify=\"center\">\n <div class={dotStyle}></div>\n </Flex>\n </li>\n );\n }\n);\n\nexport function hasSeparator<K>(props: SeparatorProps<K>) {\n const { from, to } = getSeparatorRange(props);\n return isInSeparatorMiddle(props.context.index, from, to);\n}\n\nfunction getSeparatorRange<K>({ context, sectionsPerTruncation, last }: SeparatorProps<K>) {\n const from = context.index - (context.index % sectionsPerTruncation) + 1;\n let to = from + sectionsPerTruncation - 2;\n to = to >= last ? last - 1 : to;\n\n return { from, to };\n}\n\nfunction isInSeparatorMiddle(index: number, from: number, to: number) {\n return index === Math.floor((from + to) / 2);\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren, createRef, RefObject } from 'preact';\nimport { useEffect, useRef, useState, StateUpdater, useCallback, Dispatch } from 'preact/hooks';\nimport { Flex } from '../UNSAFE_Flex';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useSingleSelection } from '../hooks/PRIVATE_useSingleSelection/useSingleSelection';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { keyExtractor, getPrevNextKey, isMobile } from '../utils/PRIVATE_collectionUtils';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '../resources/nls/bundle';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { ItemContext, CurrentKeyDetail, SingleSelectionDetail } from '../UNSAFE_Collection';\nimport { Collection } from '../PRIVATE_Collection';\nimport {\n Section,\n SectionItem,\n LastSectionItem,\n SeparatorItem,\n SECTION_OTHERS,\n hasSeparator,\n ITEM_SELECTOR\n} from './IndexerItems';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { IndexerStyles } from './themes/IndexerStyles.css';\nimport { IndexerRedwoodTheme } from './themes/redwood/IndexerTheme';\nimport { useTestId, TestIdProps } from '../hooks/UNSAFE_useTestId';\n\nexport type CommitDetail<K> = {\n value: K;\n};\n\ntype Props<K> = {\n /**\n * An array of sections, the default sections is an\n * array of 26 English alphabets and the # others character\n */\n sections?: Section<K>[];\n\n /**\n * The currently selected Section\n */\n value?: K;\n\n /**\n * A function that will be invoked when selection happens,\n * no matter the Section was selected before or not.\n */\n onCommit?: (detail: CommitDetail<K>) => void;\n};\n\nconst defaultSections: Section<string>[] = [\n { key: 'A' },\n { key: 'B' },\n { key: 'C' },\n { key: 'D' },\n { key: 'E' },\n { key: 'F' },\n { key: 'G' },\n { key: 'H' },\n { key: 'I' },\n { key: 'J' },\n { key: 'K' },\n { key: 'L' },\n { key: 'M' },\n { key: 'N' },\n { key: 'O' },\n { key: 'P' },\n { key: 'Q' },\n { key: 'R' },\n { key: 'S' },\n { key: 'T' },\n { key: 'U' },\n { key: 'V' },\n { key: 'W' },\n { key: 'X' },\n { key: 'Y' },\n { key: 'Z' }\n];\n\n/**\n * Pure Preact based component that consumes Collection component\n * and renders an indexer.\n */\nexport function Indexer<K extends string | number>({\n sections = defaultSections as Section<K>[],\n value,\n onCommit = () => {},\n testId\n}: Props<K> & TestIdProps) {\n const rootRef = useRef<HTMLDivElement>(null);\n const ulRef = useRef<HTMLUListElement>(null);\n const currElementRef = createRef<HTMLLIElement>();\n const [current, setCurrent] = useState<K | undefined>(sections[0]?.key);\n // the number of sections in each truncation\n const [sectionsPerTruncation, setSectionsPerTruncation] = useState<number>(-1);\n // the total number of rendered sections and separators\n const renderedSectionsCount = useRef<number>(-1);\n const itemHeightRef = useRef<number>(0);\n // the id for aria describedby\n const uniqueId = useId();\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(rootRef, ['ArrowUp', 'ArrowDown']);\n\n const { currentKeyProps } = useCurrentKey(\n (element) => keyExtractor(element, ITEM_SELECTOR),\n true,\n getPrevNextKey(rootRef.current, current, true, ITEM_SELECTOR),\n getPrevNextKey(rootRef.current, current, false, ITEM_SELECTOR),\n undefined,\n undefined,\n current,\n (detail: CurrentKeyDetail<K>) => setCurrent(detail.value)\n );\n\n const { selectionProps } = useSingleSelection(\n (element) => handleKeyExtract(element, ulRef, current as K),\n // pass in undefined so onCommit handler will be called\n // no matter whether the Section was selected before or not\n undefined,\n (detail: SingleSelectionDetail<K>) => handleSelection(detail, onCommit, sections)\n );\n\n /**\n * Item renderer that will return a section item or a section separator\n * based on the sectionsPerTruncation and item context index.\n * @param context item context\n */\n const itemRenderer = (context: ItemContext<Section<K>>): ComponentChildren => {\n const last = sections.length - 1;\n renderedSectionsCount.current += 1;\n\n const commonProps = {\n context,\n ref: currElementRef,\n currentKey: current as K,\n selectedKey: value as K,\n valueNow: renderedSectionsCount.current,\n isFocusRingVisible: !!showFocusRing\n };\n\n // render the last and the others character, they are always present\n if (context.index === last) {\n return <LastSectionItem {...commonProps} lastValueNow={renderedSectionsCount.current + 1} />;\n }\n\n // render a section, in the non-truncation case or when it is the first in a truncation\n if (sectionsPerTruncation <= 1 || context.index % sectionsPerTruncation === 0) {\n return <SectionItem {...commonProps} />;\n }\n\n // render the separator in the middle of a truncation\n const separatorProps = { ...commonProps, sectionsPerTruncation, last, sections };\n if (hasSeparator(separatorProps)) {\n return <SeparatorItem {...separatorProps} />;\n }\n\n // remove the count for truncated sections\n renderedSectionsCount.current -= 1;\n\n return null;\n };\n\n // truncate the Indexer during resize\n const handleResize = useCallback(\n (entries: ResizeObserverEntry[]) => {\n for (const entry of entries) {\n updateSectionsPerTruncation(\n entry.contentRect.height,\n itemHeightRef.current,\n sections.length,\n sections[0]?.key,\n sectionsPerTruncation,\n setSectionsPerTruncation,\n setCurrent\n );\n }\n },\n [sections, sectionsPerTruncation]\n );\n\n useEffect(() => {\n if (ulRef.current) {\n // Get aria values from IndexerItem to update aria values on Indexer ul element\n ulRef.current.setAttribute('aria-valuemax', renderedSectionsCount.current + 1 + '');\n ulRef.current.setAttribute(\n 'aria-valuetext',\n currElementRef.current?.dataset?.['ojValuetext'] || ''\n );\n ulRef.current.setAttribute(\n 'aria-valuenow',\n currElementRef.current?.dataset?.['ojValuenow'] || ''\n );\n }\n renderedSectionsCount.current = -1;\n });\n\n /**\n * Set up the initial values for sectionsPerTruncation and event listeners\n */\n useEffect(() => {\n const root = rootRef.current;\n if (root) {\n itemHeightRef.current = root.querySelector('li')?.offsetHeight || 0;\n updateSectionsPerTruncation(\n root.offsetHeight,\n itemHeightRef.current,\n sections.length,\n sections[0]?.key,\n sectionsPerTruncation,\n setSectionsPerTruncation,\n setCurrent\n );\n }\n }, [sections, sectionsPerTruncation]);\n\n /**\n * Set up resize observer and refresh the resize observer when\n * sectionsPerTruncation is changed, otherwise it will only have the\n * old copy of sectionsPerTruncation.\n */\n useEffect(() => {\n const root = rootRef.current;\n if (root) {\n const resizeObserver = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n handleResize(entries);\n });\n resizeObserver.observe(root);\n return () => {\n resizeObserver.unobserve(root);\n };\n }\n return undefined;\n }, [sectionsPerTruncation, handleResize]);\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const {\n styles: { baseStyle, innerStyle }\n } = useComponentTheme<never, IndexerStyles>(IndexerRedwoodTheme);\n const testIdProps = useTestId(testId);\n\n return (\n <div ref={rootRef} class={baseStyle} {...testIdProps}>\n <Flex align=\"center\" width=\"6x\" height=\"100%\">\n <ul\n {...mergeProps(currentKeyProps, focusRingProps, selectionProps)}\n ref={ulRef}\n tabIndex={0}\n aria-label=\"Indexer\"\n aria-orientation=\"vertical\"\n aria-valuemin={0}\n aria-describedby={uniqueId}\n role=\"slider\"\n class={innerStyle}>\n <Collection items={sections}>{itemRenderer}</Collection>\n </ul>\n </Flex>\n <HiddenAccessible>\n <span id={uniqueId}>{getIndexerDescription(translations)}</span>\n </HiddenAccessible>\n </div>\n );\n}\n\n// A function to extract key for selection\nconst handleKeyExtract = <K extends string | number>(\n element: HTMLElement,\n rootRef: RefObject<HTMLElement>,\n current: K\n) => {\n if (element === rootRef.current) {\n return current === undefined ? null : current;\n }\n return keyExtractor(element, ITEM_SELECTOR) as K;\n};\n\nconst handleSelection = <K extends string | number>(\n detail: SingleSelectionDetail<K>,\n onCommit: (value: CommitDetail<K>) => void,\n sections: Section<K>[]\n) => {\n if (detail.value === SECTION_OTHERS.key) {\n onCommit({ value: SECTION_OTHERS.key as K });\n } else {\n const selectedSection = sections.find((section) => section.key === detail.value) as Section<K>;\n onCommit({ value: selectedSection.key as K });\n }\n};\n\n/**\n * A function that calculates the section count, based on\n * the container height and the number of sections\n * @param height height of Indexer container\n */\nconst updateSectionsPerTruncation = <K extends string | number>(\n height: number,\n itemHeight: number,\n sectionsLength: number,\n firstSectionKey: K,\n sectionsPerTruncation: number,\n setSectionsPerTruncation: Dispatch<StateUpdater<number>>,\n setCurrent: Dispatch<StateUpdater<K | undefined>>\n) => {\n if (height === 0 || itemHeight === 0) {\n return;\n }\n\n const maxSections = height / itemHeight;\n const last = sectionsLength - 1;\n\n // when the container size is too small to hold two sections\n if (maxSections < 2) {\n if (sectionsPerTruncation !== last) {\n setSectionsPerTruncation(last);\n setCurrent(firstSectionKey);\n }\n\n // no truncation\n // compare with < 0.01 for the deviation from calculation, when sectionsLength and maxSections\n // are about the same, maxNum === sectionsLength doesn't work\n } else if (maxSections > sectionsLength || sectionsLength - maxSections < 0.01) {\n if (sectionsPerTruncation > 1) {\n setSectionsPerTruncation(1);\n setCurrent(firstSectionKey);\n }\n\n // need truncation\n } else {\n const tempSectionCount = findSectionCount(maxSections, last);\n if (tempSectionCount !== sectionsPerTruncation && tempSectionCount < sectionsLength) {\n setSectionsPerTruncation(tempSectionCount);\n setCurrent(firstSectionKey);\n }\n }\n};\n\n/**\n * A helper function to find the best section count\n * in a truncation\n *\n * @param maxSections maximum number of sections allowed in a truncation\n * @param last the index of last section\n */\nconst findSectionCount = (maxSections: number, last: number) => {\n // need truncation\n maxSections -= 2; // minus the last character and the others character\n maxSections /= 2; // each truncation has a section and a separator\n\n const newSectionCount = Math.round(last / maxSections) + 1;\n const truncationLeftover = last % newSectionCount;\n const truncationCount = Math.floor(last / newSectionCount) + (truncationLeftover > 1 ? 1 : 0);\n\n // When the sectionCount becomes greater, it will result in\n // same truncations but with different sections appearing.\n // The following is to find the best sectionCount in this case\n // and prevent unnecessary truncations.\n let tempLeftover = last - (truncationCount - 1) * newSectionCount;\n let tempSectionCount = newSectionCount;\n while (tempSectionCount > tempLeftover) {\n tempSectionCount -= 1;\n tempLeftover = last - (truncationCount - 1) * tempSectionCount;\n }\n if (tempSectionCount != newSectionCount) {\n tempSectionCount += 1;\n }\n\n return tempSectionCount;\n};\n\n/**\n * Helper function to find the aria description for Indexer,\n * based on whether current device is a mobile device\n */\nfunction getIndexerDescription(translations: any) {\n if (isMobile()) {\n return translations.indexer_touchInstructionText();\n } else {\n return translations.indexer_keyboardInstructionText();\n }\n}\n"],"names":["forwardRef","useTranslationBundle","useComponentTheme","IndexerRedwoodTheme","classNames","_jsx","_jsxs","Fragment","Flex","useRef","createRef","useState","useId","useCollectionFocusRing","useCurrentKey","keyExtractor","getPrevNextKey","useSingleSelection","useCallback","useEffect","useTestId","mergeProps","Collection","HiddenAccessible","isMobile"],"mappings":"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"}
1
+ {"version":3,"file":"Indexer-1dfa7ec4.js","sources":["../../src/UNSAFE_Indexer/IndexerItems.tsx","../../src/UNSAFE_Indexer/Indexer.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 */\nimport { Fragment } from 'preact';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { Flex } from '../UNSAFE_Flex';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '../resources/nls/bundle';\nimport { ItemContext } from 'src/UNSAFE_Collection';\nimport { forwardRef, ForwardedRef } from 'preact/compat';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { IndexerStyles, IndexerItemVariantOptions } from './themes/IndexerStyles.css';\nimport { IndexerRedwoodTheme } from './themes/redwood/IndexerTheme';\n\n/**\n * Type of a section\n */\nexport type Section<K> = {\n /**\n * The key of each section\n */\n key: K;\n /**\n * The label of each section\n */\n label?: string;\n /**\n * A property that indicates whether the section\n * is disabled or not. Typically, when Indexer is\n * used with ListView, a disabled section implies\n * that there's no corresponding items in the ListView\n */\n isDisabled?: boolean;\n};\n\n/**\n * The others section variable that application could use\n * to compare value\n */\n// const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\nexport const SECTION_OTHERS: Section<string> = Object.freeze({\n key: '__others__',\n label: '#'\n});\n\nexport const ITEM_SELECTOR = '[data-oj-key]';\n\nexport type SectionProps<K> = {\n context: ItemContext<Section<K>>;\n currentKey: K;\n selectedKey: K;\n valueNow: number; // the index of an item within currently visible sections\n isFocusRingVisible: boolean;\n};\n\nexport const SectionItem = forwardRef(\n <K extends string | number>(props: SectionProps<K>, ref: ForwardedRef<HTMLLIElement>) => {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const { context, selectedKey } = props;\n const isSelected = context.data.key === selectedKey;\n const commonProps = getCommonProps(props, ref);\n\n const { classes } = useComponentTheme<IndexerItemVariantOptions, IndexerStyles>(\n IndexerRedwoodTheme,\n {\n focused: commonProps.ref && commonProps.isFocusRingVisible ? 'isFocused' : 'notFocused',\n disabled: context.data.isDisabled ? 'isDisabled' : 'notDisabled',\n selected: isSelected ? 'isSelected' : 'notSelected'\n }\n );\n const itemClasses = classNames([classes]);\n\n const sectionLabel = context.data.label || context.data.key;\n const valueText = context.data.isDisabled\n ? translations.indexer_disabledLabel({ SECTION: `${sectionLabel}` })\n : `${sectionLabel}`;\n\n return (\n <li\n {...commonProps}\n class={itemClasses}\n data-oj-valuetext={valueText}\n data-oj-disabled={context.data.isDisabled}>\n {context.data.label || context.data.key}\n </li>\n );\n }\n);\n\nfunction getCommonProps<K>(\n { context, currentKey, valueNow, isFocusRingVisible }: SectionProps<K>,\n ref: ForwardedRef<HTMLLIElement>\n) {\n const isCurrent = context.data.key === currentKey;\n return {\n ...(isCurrent && { ref }),\n key: context.data.key,\n 'data-oj-key': context.data.key,\n 'data-oj-key-type': typeof context.data.key,\n 'data-oj-valuenow': valueNow,\n isFocusRingVisible: !!isFocusRingVisible\n };\n}\n\ntype LastSectionProps<K> = SectionProps<K> & {\n lastValueNow: number;\n};\n\n// render the last section, that contains the last character and others character\nexport const LastSectionItem = forwardRef(\n <K extends string | number>(\n { lastValueNow, ...sectionProps }: LastSectionProps<K>,\n ref: ForwardedRef<HTMLLIElement>\n ) => {\n const commonProps = { ...sectionProps, ref };\n return (\n <Fragment>\n <SectionItem {...commonProps} />\n <OthersItem\n {...commonProps}\n ref={ref}\n context={{ index: -1, data: SECTION_OTHERS } as ItemContext<Section<K>>}\n valueNow={lastValueNow}\n />\n </Fragment>\n );\n }\n);\n\nconst OthersItem = forwardRef(<K,>(props: SectionProps<K>, ref: ForwardedRef<HTMLLIElement>) => {\n const { context, selectedKey } = props;\n const commonProps = getCommonProps(props, ref);\n\n const isSelected = context.data.key === selectedKey;\n const { classes } = useComponentTheme<IndexerItemVariantOptions>(IndexerRedwoodTheme, {\n focused: commonProps.ref && commonProps.isFocusRingVisible ? 'isFocused' : 'notFocused',\n selected: isSelected ? 'isSelected' : 'notSelected'\n });\n const othersClasses = classNames([classes]);\n const othersValueText = SECTION_OTHERS.label;\n\n return (\n <li {...commonProps} class={othersClasses} data-oj-valuetext={othersValueText}>\n {context.data.label}\n </li>\n );\n});\n\ntype SeparatorProps<K> = SectionProps<K> & {\n sectionsPerTruncation: number;\n last: number;\n sections: Section<K>[];\n};\n\nexport const SeparatorItem = forwardRef(\n <K extends string | number>(props: SeparatorProps<K>, ref: ForwardedRef<HTMLLIElement>) => {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const { context, sections } = props;\n const commonProps = getCommonProps(props, ref);\n const { from, to } = getSeparatorRange(props);\n const {\n classes,\n styles: { dotStyle }\n } = useComponentTheme<IndexerItemVariantOptions, IndexerStyles>(IndexerRedwoodTheme, {\n focused: commonProps.ref && commonProps.isFocusRingVisible ? 'isFocused' : 'notFocused'\n });\n\n if (!isInSeparatorMiddle(context.index, from, to)) {\n return null;\n }\n\n const fromText = sections[from].label || sections[from].key;\n const toText = sections[to].label || sections[to].key;\n\n const separatorClasses = classNames([classes]);\n\n const separatorValueText = translations.indexer_separatorLabel({\n FROM_SECTION: `${fromText}`,\n TO_SECTION: `${toText}`\n });\n\n return (\n <li {...commonProps} class={separatorClasses} data-oj-valuetext={separatorValueText}>\n <Flex align=\"center\" justify=\"center\">\n <div class={dotStyle}></div>\n </Flex>\n </li>\n );\n }\n);\n\nexport function hasSeparator<K>(props: SeparatorProps<K>) {\n const { from, to } = getSeparatorRange(props);\n return isInSeparatorMiddle(props.context.index, from, to);\n}\n\nfunction getSeparatorRange<K>({ context, sectionsPerTruncation, last }: SeparatorProps<K>) {\n const from = context.index - (context.index % sectionsPerTruncation) + 1;\n let to = from + sectionsPerTruncation - 2;\n to = to >= last ? last - 1 : to;\n\n return { from, to };\n}\n\nfunction isInSeparatorMiddle(index: number, from: number, to: number) {\n return index === Math.floor((from + to) / 2);\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren, createRef, RefObject } from 'preact';\nimport { useEffect, useRef, useState, StateUpdater, useCallback, Dispatch } from 'preact/hooks';\nimport { Flex } from '../UNSAFE_Flex';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useSingleSelection } from '../hooks/PRIVATE_useSingleSelection/useSingleSelection';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { keyExtractor, getPrevNextKey, isMobile } from '../utils/PRIVATE_collectionUtils';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '../resources/nls/bundle';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { ItemContext, CurrentKeyDetail, SingleSelectionDetail } from '../UNSAFE_Collection';\nimport { Collection } from '../PRIVATE_Collection';\nimport {\n Section,\n SectionItem,\n LastSectionItem,\n SeparatorItem,\n SECTION_OTHERS,\n hasSeparator,\n ITEM_SELECTOR\n} from './IndexerItems';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { IndexerStyles } from './themes/IndexerStyles.css';\nimport { IndexerRedwoodTheme } from './themes/redwood/IndexerTheme';\nimport { useTestId, TestIdProps } from '../hooks/UNSAFE_useTestId';\n\nexport type CommitDetail<K> = {\n value: K;\n};\n\ntype Props<K> = {\n /**\n * An array of sections, the default sections is an\n * array of 26 English alphabets and the # others character\n */\n sections?: Section<K>[];\n\n /**\n * The currently selected Section\n */\n value?: K;\n\n /**\n * A function that will be invoked when selection happens,\n * no matter the Section was selected before or not.\n */\n onCommit?: (detail: CommitDetail<K>) => void;\n};\n\nconst defaultSections: Section<string>[] = [\n { key: 'A' },\n { key: 'B' },\n { key: 'C' },\n { key: 'D' },\n { key: 'E' },\n { key: 'F' },\n { key: 'G' },\n { key: 'H' },\n { key: 'I' },\n { key: 'J' },\n { key: 'K' },\n { key: 'L' },\n { key: 'M' },\n { key: 'N' },\n { key: 'O' },\n { key: 'P' },\n { key: 'Q' },\n { key: 'R' },\n { key: 'S' },\n { key: 'T' },\n { key: 'U' },\n { key: 'V' },\n { key: 'W' },\n { key: 'X' },\n { key: 'Y' },\n { key: 'Z' }\n];\n\n/**\n * Pure Preact based component that consumes Collection component\n * and renders an indexer.\n */\nexport function Indexer<K extends string | number>({\n sections = defaultSections as Section<K>[],\n value,\n onCommit = () => {},\n testId\n}: Props<K> & TestIdProps) {\n const rootRef = useRef<HTMLDivElement>(null);\n const ulRef = useRef<HTMLUListElement>(null);\n const currElementRef = createRef<HTMLLIElement>();\n const [current, setCurrent] = useState<K | undefined>(sections[0]?.key);\n // the number of sections in each truncation\n const [sectionsPerTruncation, setSectionsPerTruncation] = useState<number>(-1);\n // the total number of rendered sections and separators\n const renderedSectionsCount = useRef<number>(-1);\n const itemHeightRef = useRef<number>(0);\n // the id for aria describedby\n const uniqueId = useId();\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(rootRef, ['ArrowUp', 'ArrowDown']);\n\n const { currentKeyProps } = useCurrentKey(\n (element) => keyExtractor(element, ITEM_SELECTOR),\n true,\n getPrevNextKey(rootRef.current, current, true, ITEM_SELECTOR),\n getPrevNextKey(rootRef.current, current, false, ITEM_SELECTOR),\n undefined,\n undefined,\n current,\n (detail: CurrentKeyDetail<K>) => setCurrent(detail.value)\n );\n\n const { selectionProps } = useSingleSelection(\n (element) => handleKeyExtract(element, ulRef, current as K),\n // pass in undefined so onCommit handler will be called\n // no matter whether the Section was selected before or not\n undefined,\n (detail: SingleSelectionDetail<K>) => handleSelection(detail, onCommit, sections)\n );\n\n /**\n * Item renderer that will return a section item or a section separator\n * based on the sectionsPerTruncation and item context index.\n * @param context item context\n */\n const itemRenderer = (context: ItemContext<Section<K>>): ComponentChildren => {\n const last = sections.length - 1;\n renderedSectionsCount.current += 1;\n\n const commonProps = {\n context,\n ref: currElementRef,\n currentKey: current as K,\n selectedKey: value as K,\n valueNow: renderedSectionsCount.current,\n isFocusRingVisible: !!showFocusRing\n };\n\n // render the last and the others character, they are always present\n if (context.index === last) {\n return <LastSectionItem {...commonProps} lastValueNow={renderedSectionsCount.current + 1} />;\n }\n\n // render a section, in the non-truncation case or when it is the first in a truncation\n if (sectionsPerTruncation <= 1 || context.index % sectionsPerTruncation === 0) {\n return <SectionItem {...commonProps} />;\n }\n\n // render the separator in the middle of a truncation\n const separatorProps = { ...commonProps, sectionsPerTruncation, last, sections };\n if (hasSeparator(separatorProps)) {\n return <SeparatorItem {...separatorProps} />;\n }\n\n // remove the count for truncated sections\n renderedSectionsCount.current -= 1;\n\n return null;\n };\n\n // truncate the Indexer during resize\n const handleResize = useCallback(\n (entries: ResizeObserverEntry[]) => {\n for (const entry of entries) {\n updateSectionsPerTruncation(\n entry.contentRect.height,\n itemHeightRef.current,\n sections.length,\n sections[0]?.key,\n sectionsPerTruncation,\n setSectionsPerTruncation,\n setCurrent\n );\n }\n },\n [sections, sectionsPerTruncation]\n );\n\n useEffect(() => {\n if (ulRef.current) {\n // Get aria values from IndexerItem to update aria values on Indexer ul element\n ulRef.current.setAttribute('aria-valuemax', renderedSectionsCount.current + 1 + '');\n ulRef.current.setAttribute(\n 'aria-valuetext',\n currElementRef.current?.dataset?.['ojValuetext'] || ''\n );\n ulRef.current.setAttribute(\n 'aria-valuenow',\n currElementRef.current?.dataset?.['ojValuenow'] || ''\n );\n }\n renderedSectionsCount.current = -1;\n });\n\n /**\n * Set up the initial values for sectionsPerTruncation and event listeners\n */\n useEffect(() => {\n const root = rootRef.current;\n if (root) {\n itemHeightRef.current = root.querySelector('li')?.offsetHeight || 0;\n updateSectionsPerTruncation(\n root.offsetHeight,\n itemHeightRef.current,\n sections.length,\n sections[0]?.key,\n sectionsPerTruncation,\n setSectionsPerTruncation,\n setCurrent\n );\n }\n }, [sections, sectionsPerTruncation]);\n\n /**\n * Set up resize observer and refresh the resize observer when\n * sectionsPerTruncation is changed, otherwise it will only have the\n * old copy of sectionsPerTruncation.\n */\n useEffect(() => {\n const root = rootRef.current;\n if (root) {\n const resizeObserver = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n handleResize(entries);\n });\n resizeObserver.observe(root);\n return () => {\n resizeObserver.unobserve(root);\n };\n }\n return undefined;\n }, [sectionsPerTruncation, handleResize]);\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const {\n styles: { baseStyle, innerStyle }\n } = useComponentTheme<never, IndexerStyles>(IndexerRedwoodTheme);\n const testIdProps = useTestId(testId);\n\n return (\n <div ref={rootRef} class={baseStyle} {...testIdProps}>\n <Flex align=\"center\" width=\"6x\" height=\"100%\">\n <ul\n {...mergeProps(currentKeyProps, focusRingProps, selectionProps)}\n ref={ulRef}\n tabIndex={0}\n aria-label=\"Indexer\"\n aria-orientation=\"vertical\"\n aria-valuemin={0}\n aria-describedby={uniqueId}\n role=\"slider\"\n class={innerStyle}>\n <Collection items={sections}>{itemRenderer}</Collection>\n </ul>\n </Flex>\n <HiddenAccessible>\n <span id={uniqueId}>{getIndexerDescription(translations)}</span>\n </HiddenAccessible>\n </div>\n );\n}\n\n// A function to extract key for selection\nconst handleKeyExtract = <K extends string | number>(\n element: HTMLElement,\n rootRef: RefObject<HTMLElement>,\n current: K\n) => {\n if (element === rootRef.current) {\n return current === undefined ? null : current;\n }\n return keyExtractor(element, ITEM_SELECTOR) as K;\n};\n\nconst handleSelection = <K extends string | number>(\n detail: SingleSelectionDetail<K>,\n onCommit: (value: CommitDetail<K>) => void,\n sections: Section<K>[]\n) => {\n if (detail.value === SECTION_OTHERS.key) {\n onCommit({ value: SECTION_OTHERS.key as K });\n } else {\n const selectedSection = sections.find((section) => section.key === detail.value) as Section<K>;\n onCommit({ value: selectedSection.key as K });\n }\n};\n\n/**\n * A function that calculates the section count, based on\n * the container height and the number of sections\n * @param height height of Indexer container\n */\nconst updateSectionsPerTruncation = <K extends string | number>(\n height: number,\n itemHeight: number,\n sectionsLength: number,\n firstSectionKey: K,\n sectionsPerTruncation: number,\n setSectionsPerTruncation: Dispatch<StateUpdater<number>>,\n setCurrent: Dispatch<StateUpdater<K | undefined>>\n) => {\n if (height === 0 || itemHeight === 0) {\n return;\n }\n\n const maxSections = height / itemHeight;\n const last = sectionsLength - 1;\n\n // when the container size is too small to hold two sections\n if (maxSections < 2) {\n if (sectionsPerTruncation !== last) {\n setSectionsPerTruncation(last);\n setCurrent(firstSectionKey);\n }\n\n // no truncation\n // compare with < 0.01 for the deviation from calculation, when sectionsLength and maxSections\n // are about the same, maxNum === sectionsLength doesn't work\n } else if (maxSections > sectionsLength || sectionsLength - maxSections < 0.01) {\n if (sectionsPerTruncation > 1) {\n setSectionsPerTruncation(1);\n setCurrent(firstSectionKey);\n }\n\n // need truncation\n } else {\n const tempSectionCount = findSectionCount(maxSections, last);\n if (tempSectionCount !== sectionsPerTruncation && tempSectionCount < sectionsLength) {\n setSectionsPerTruncation(tempSectionCount);\n setCurrent(firstSectionKey);\n }\n }\n};\n\n/**\n * A helper function to find the best section count\n * in a truncation\n *\n * @param maxSections maximum number of sections allowed in a truncation\n * @param last the index of last section\n */\nconst findSectionCount = (maxSections: number, last: number) => {\n // need truncation\n maxSections -= 2; // minus the last character and the others character\n maxSections /= 2; // each truncation has a section and a separator\n\n const newSectionCount = Math.round(last / maxSections) + 1;\n const truncationLeftover = last % newSectionCount;\n const truncationCount = Math.floor(last / newSectionCount) + (truncationLeftover > 1 ? 1 : 0);\n\n // When the sectionCount becomes greater, it will result in\n // same truncations but with different sections appearing.\n // The following is to find the best sectionCount in this case\n // and prevent unnecessary truncations.\n let tempLeftover = last - (truncationCount - 1) * newSectionCount;\n let tempSectionCount = newSectionCount;\n while (tempSectionCount > tempLeftover) {\n tempSectionCount -= 1;\n tempLeftover = last - (truncationCount - 1) * tempSectionCount;\n }\n if (tempSectionCount != newSectionCount) {\n tempSectionCount += 1;\n }\n\n return tempSectionCount;\n};\n\n/**\n * Helper function to find the aria description for Indexer,\n * based on whether current device is a mobile device\n */\nfunction getIndexerDescription(translations: any) {\n if (isMobile()) {\n return translations.indexer_touchInstructionText();\n } else {\n return translations.indexer_keyboardInstructionText();\n }\n}\n"],"names":["forwardRef","useTranslationBundle","useComponentTheme","IndexerRedwoodTheme","classNames","_jsx","_jsxs","Fragment","Flex","useRef","createRef","useState","useId","useCollectionFocusRing","useCurrentKey","keyExtractor","getPrevNextKey","useSingleSelection","useCallback","useEffect","useTestId","mergeProps","Collection","HiddenAccessible","isMobile"],"mappings":"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"}
@@ -5,6 +5,7 @@ var jsxRuntime = require('preact/jsx-runtime');
5
5
  var compat = require('preact/compat');
6
6
  var hooks = require('preact/hooks');
7
7
  var Calendar = require('./Calendar-26c6a932.js');
8
+ var InputDateMask = require('./InputDateMask-3642bfa3.js');
8
9
  var HiddenAccessible = require('./HiddenAccessible-087eb49a.js');
9
10
  var IconButton = require('./IconButton-e120d23e.js');
10
11
  var clientHints = require('./clientHints-9e411b6e.js');
@@ -54,7 +55,6 @@ var useId = require('./useId-6c0eeb27.js');
54
55
  require('./getFormatParse-6ae3c221.js');
55
56
  var maskUtils = require('./maskUtils-895dacfa.js');
56
57
  var calendarDateUtils = require('./calendarDateUtils-a5962aae.js');
57
- var InputDateMask = require('./InputDateMask-3642bfa3.js');
58
58
 
59
59
  /**
60
60
  * Component that renders DatePicker either inside a dropdown or sheet; at small screen
@@ -306,4 +306,4 @@ const InputDatePicker = compat.forwardRef(({ 'aria-describedby': propDescribedBy
306
306
  });
307
307
 
308
308
  exports.InputDatePicker = InputDatePicker;
309
- //# sourceMappingURL=InputDatePicker-fe21408c.js.map
309
+ //# sourceMappingURL=InputDatePicker-c2ef8b45.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputDatePicker-fe21408c.js","sources":["../../src/UNSAFE_InputDatePicker/InputDatePickerDropdown.tsx","../../src/UNSAFE_InputDatePicker/useInputDatePickerState.ts","../../src/UNSAFE_InputDatePicker/useInputDatePicker.ts","../../src/UNSAFE_InputDatePicker/InputDatePicker.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps } from 'preact';\nimport { useCallback, useState } from 'preact/hooks';\nimport { BundleType } from '../resources/nls/bundle';\nimport { DatePicker } from '#UNSAFE_DatePicker';\nimport { type CloseDetail as DropdownCloseDetail } from '#UNSAFE_Dropdown';\nimport { getClientHints } from '#utils/PRIVATE_clientHints';\nimport { FormFieldContext } from '../hooks/UNSAFE_useFormFieldContext';\nimport { InlineUserAssistance } from '../UNSAFE_UserAssistance';\nimport { InputDatePicker } from './InputDatePicker';\nimport { dropdownStyles, userAssistanceStyles } from './themes/InputDatePickerDropdownStyles.css';\nimport { PositionData } from '../UNSAFE_Floating';\nimport { StickyPositioningDropdown } from '#PRIVATE_FormControls';\nimport { SectionedContent } from '#PRIVATE_FormControls';\nimport { type CloseDetail as SheetCloseDetail, Sheet } from '#UNSAFE_Sheet';\nimport type { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { SizeOptions } from '#UNSAFE_Floating/Floating';\n\ntype StickyPositioningDropdownProps = ComponentProps<typeof StickyPositioningDropdown>;\ntype InputDatePickerProps = ComponentProps<typeof InputDatePicker>;\ntype PickedPropsFromInputDatePicker = Pick<\n InputDatePickerProps,\n | 'assistiveText'\n | 'dayFormatter'\n | 'daysOutsideMonth'\n | 'helpSourceLink'\n | 'helpSourceText'\n | 'isDisabled'\n | 'isReadonly'\n | 'label'\n | 'messages'\n | 'min'\n | 'max'\n | 'monthAndYearPicker'\n | 'todayButton'\n | 'todayTimeZone'\n | 'userAssistanceDensity'\n | 'value'\n | 'weekDisplay'\n>;\ntype DatePickerProps = ComponentProps<typeof DatePicker>;\ntype PickedPropsFromDatePicker = Pick<DatePickerProps, 'value' | 'onCommit'>;\ntype PickedPropsFromDropdown = Omit<StickyPositioningDropdownProps, 'onClose'>;\ntype CloseDetail = SheetCloseDetail | DropdownCloseDetail;\n\ntype Props = PickedPropsFromDatePicker &\n PickedPropsFromInputDatePicker &\n PickedPropsFromDropdown &\n TestIdProps & {\n /**\n * Called when the dropdown or sheet is supposed to be closed.\n */\n onClose?: (detail: CloseDetail) => void;\n };\n\n/**\n * Component that renders DatePicker either inside a dropdown or sheet; at small screen\n * widths, it renders inside a sheet. Additionally, when a dropdown is being shown beneath\n * the component, we also show any user assistance text or messages below the picker\n * because otherwise that information would be obscured from view. When a sheet is being\n * shown, it will always display UA and messages at the bottom of the sheet.\n */\nconst InputDatePickerDropdown = ({\n anchorRef,\n assistiveText,\n dayFormatter,\n daysOutsideMonth,\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isOpen,\n isReadonly,\n label,\n onClose,\n onCommit,\n max,\n messages,\n min,\n monthAndYearPicker,\n testId,\n todayButton,\n todayTimeZone,\n userAssistanceDensity,\n value,\n weekDisplay\n}: Props) => {\n // If the dropdown opens above the component, we don't want to show UA or messages.\n const [isDropdownAbove, setDropdownAbove] = useState(false);\n const [prevIsOpen, setPrevIsOpen] = useState(isOpen);\n const handleDropdownPosition = useCallback<\n NonNullable<StickyPositioningDropdownProps['onPosition']>\n >((data: PositionData) => {\n setDropdownAbove(data.placement.startsWith('top'));\n }, []);\n // Reset the flag when the dropdown is closed.\n if (prevIsOpen !== isOpen) {\n setPrevIsOpen(isOpen);\n if (!isOpen) {\n setDropdownAbove(false);\n }\n }\n\n const sizeOptions: SizeOptions = {\n isMaxWidthAdjusted: false,\n isMaxHeightAdjusted: true\n };\n\n // On mobile phones, the dropdown becomes a sheet.\n const shouldShowSheet = isPhone();\n\n const { datePicker_label } = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const datePickerAriaLabel = datePicker_label();\n\n const datePickerMainContent = (\n <DatePicker\n dayFormatter={dayFormatter}\n daysOutsideMonth={daysOutsideMonth}\n height={!shouldShowSheet ? 'auto' : undefined}\n onCommit={onCommit}\n max={max}\n min={min}\n // for sheet, we want the width to grow to the width of the sheet, otherwise it will use the theme default.\n maxWidth={shouldShowSheet ? '100%' : undefined}\n width=\"100%\"\n monthAndYearPicker={monthAndYearPicker}\n testId={testId}\n todayTimeZone={todayTimeZone}\n todayButton={todayButton}\n value={value}\n weekDisplay={weekDisplay}\n />\n );\n\n const inlineUserAssistanceFooter =\n isOpen &&\n (!isDropdownAbove || shouldShowSheet) &&\n !isDisabled &&\n !isReadonly &&\n (assistiveText || helpSourceLink || (messages && messages.length > 0)) &&\n (userAssistanceDensity === 'efficient' || userAssistanceDensity === 'reflow') ? (\n <FormFieldContext.Provider value={{ isFocused: true }}>\n <div class={userAssistanceStyles}>\n <InlineUserAssistance\n assistiveText={assistiveText}\n fieldLabel={label}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n />\n </div>\n </FormFieldContext.Provider>\n ) : undefined;\n\n const contentTestId = testId ? testId + (shouldShowSheet ? '_sheet' : '_dropdown') : undefined;\n\n // The same content is displayed either in a dropdown or sheet: date picker and inline UA.\n // Add styling to the dropdown to enforce a fixed width.\n const dropdownContent = (\n <div class={dropdownStyles}>\n <SectionedContent\n aria-label={datePickerAriaLabel}\n footer={inlineUserAssistanceFooter}\n hasFocusTrap={true}\n main={datePickerMainContent}\n role=\"dialog\"\n testId={contentTestId}\n />\n </div>\n );\n\n const dropdown = shouldShowSheet ? (\n <Sheet initialFocus=\"firstFocusable\" isOpen={isOpen} onClose={onClose}>\n <SectionedContent\n aria-label={datePickerAriaLabel}\n footer={inlineUserAssistanceFooter}\n hasFocusTrap={true}\n main={datePickerMainContent}\n role=\"dialog\"\n testId={contentTestId}\n />\n </Sheet>\n ) : (\n <StickyPositioningDropdown\n anchorRef={anchorRef}\n initialFocus=\"firstFocusable\"\n isOpen={isOpen}\n onClose={onClose}\n onPosition={handleDropdownPosition}\n sizeOptions={sizeOptions}>\n {dropdownContent}\n </StickyPositioningDropdown>\n );\n\n return dropdown;\n};\n\nconst isPhone = () => {\n return getClientHints().deviceType === 'phone';\n};\n\nexport { InputDatePickerDropdown, type CloseDetail };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useReducer } from 'preact/hooks';\nimport type { CalendarDate, CalendarDateRequired } from '#utils/UNSAFE_calendarDateUtils';\nimport { isCompleteCalendarDate } from '#utils/UNSAFE_calendarDateUtils';\n\ntype InputDatePickerState = {\n /**\n * If dateValue is a complete date, then completeDateValue is the same as dateValue\n * otherwise is is undefined. We need to maintain separate states because\n * InputDateMask uses CalendarDate, but DatePicker uses CalendarDateRequired.\n * If the user types a partial date then opens the picker, we treat that as\n * no selection. The picker opens to the current month showing today.\n */\n completeDateValue?: CalendarDateRequired;\n\n /**\n * Represents the current date value of the component. The user either selected\n * the date in the picker, or typed it into the date field.\n */\n dateValue?: CalendarDate;\n};\n\ntype DateChangedAction = { type: 'dateChanged'; data?: CalendarDate };\ntype DateResetAction = { type: 'reset'; data?: CalendarDate };\ntype DateSelectedAction = { type: 'dateSelected'; data?: CalendarDateRequired };\ntype InputDatePickerReducerAction = DateChangedAction | DateResetAction | DateSelectedAction;\n\n// If dateVal is a complete date, return it as a CalendarDateRequired\n// otherwise return undefined.\nconst convertToCalendarDateRequired = (dateVal?: CalendarDate) => {\n return !dateVal || !isCompleteCalendarDate(dateVal)\n ? undefined\n : (dateVal as CalendarDateRequired);\n};\n\n// Use a reducer function to manage InputDatePickerState.\nconst inputDatePickerReducer = (\n state: InputDatePickerState,\n action: InputDatePickerReducerAction\n): InputDatePickerState => {\n switch (action.type) {\n case 'dateChanged': {\n return {\n ...state,\n dateValue: action.data,\n completeDateValue: convertToCalendarDateRequired(action.data)\n };\n }\n case 'dateSelected': {\n return { ...state, dateValue: action.data, completeDateValue: action.data };\n }\n case 'reset': {\n return {\n completeDateValue: convertToCalendarDateRequired(action.data),\n dateValue: action.data\n };\n }\n default:\n return state;\n }\n};\n\ntype Props = {\n /**\n * The value of the InputDatePicker, or undefined.\n */\n value?: CalendarDate;\n};\n\n/**\n * useInputDatePickerState calls useReducer to determine the initial state. Any changes to that state\n * are managed by dispatching actions to the reducer function.\n */\nconst useInputDatePickerState = ({ value }: Props) => {\n const [state, dispatch] = useReducer(inputDatePickerReducer, {\n completeDateValue: convertToCalendarDateRequired(value),\n dateValue: value\n });\n\n return { state, dispatch };\n};\n\nexport { useInputDatePickerState };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps, RefObject } from 'preact';\nimport { useCallback, useEffect, useRef, useState } from 'preact/hooks';\nimport type { CalendarDate, CalendarDateRequired } from '#utils/UNSAFE_calendarDateUtils';\nimport { calendarDatesAreDifferent } from '#utils/PRIVATE_dayUtils';\nimport { DatePicker } from '#UNSAFE_DatePicker';\nimport { CloseDetail, InputDatePickerDropdown } from './InputDatePickerDropdown';\nimport { IconButton } from '#UNSAFE_IconButton';\nimport { InputDateMask } from '#UNSAFE_InputDateMask';\nimport { InputDatePicker } from './InputDatePicker';\nimport { useInputDatePickerState } from './useInputDatePickerState';\nimport type { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\n\ntype InputDatePickerProps = ComponentProps<typeof InputDatePicker>;\ntype InputDateMaskProps = ComponentProps<typeof InputDateMask>;\ntype DatePickerProps = ComponentProps<typeof DatePicker>;\ntype IconButtonProps = ComponentProps<typeof IconButton>;\ntype DropdownProps = ComponentProps<typeof InputDatePickerDropdown>;\n\ntype Props = {\n onCommit: InputDatePickerProps['onCommit'];\n onInput: InputDatePickerProps['onInput'];\n value: InputDatePickerProps['value'];\n};\n\n/**\n * Hook that provides handlers and other functionality for InputDatePicker.\n */\nconst useInputDatePicker = ({ onCommit, onInput, value: currentValue }: Props) => {\n // Whether the dropdown is open.\n const [isOpen, setIsOpen] = useState(false);\n\n // Ref to the calendar icon button.\n const iconRef: RefObject<HTMLButtonElement> = useRef<HTMLButtonElement>(null);\n\n // Ref to the InputDateMask component.\n const maskRef: RefObject<HTMLElement> = useRef<HTMLElement>(null);\n\n // Keep track of whether the dropdown was just dismissed from an outside mousedown event.\n const outsideMousedownRef = useRef<boolean>(false);\n const outsideMousedownTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>();\n\n // Keep track of the last date values passed to onInput and onCommit.\n const lastCommittedDateRef = useRef<CalendarDate | undefined>(currentValue);\n const lastDateRef = useRef<CalendarDate | undefined>(currentValue);\n\n // Keep track of the last controlled value passed from the parent, so we can detect a programmatic change.\n const lastValueFromParentRef = useRef<CalendarDate | undefined>(currentValue);\n\n // Keep track of whether a date was selected in the date picker.\n const dateSelectedRef = useRef<boolean>(false);\n\n const { state, dispatch } = useInputDatePickerState({ value: currentValue });\n\n // If a new value is being pushed from the parent, and that value differs from\n // the current value of the reducer, then this is a programmatic update\n // and we need to call 'reset' to update the reducer state. Otherwise, the only\n // time the reducer state is updated from the value is on mount.\n if (calendarDatesAreDifferent(lastValueFromParentRef.current, currentValue)) {\n lastValueFromParentRef.current = currentValue;\n if (calendarDatesAreDifferent(currentValue, state.dateValue)) {\n dispatch({ type: 'reset', data: currentValue });\n lastDateRef.current = currentValue;\n lastCommittedDateRef.current = currentValue;\n }\n }\n\n // Reducer updates are async, so wait until the state updates and then call our callbacks.\n useEffect(() => {\n if (calendarDatesAreDifferent(state.dateValue, lastDateRef.current)) {\n onInput({ previousValue: lastDateRef.current, value: state.dateValue });\n lastDateRef.current = state.dateValue;\n }\n if (\n dateSelectedRef.current &&\n calendarDatesAreDifferent(state.dateValue, lastCommittedDateRef.current)\n ) {\n onCommit?.({ previousValue: lastCommittedDateRef.current, value: state.dateValue });\n lastCommittedDateRef.current = state.dateValue;\n dateSelectedRef.current = false;\n }\n }, [onCommit, onInput, state.dateValue]);\n\n // Handle onInput from InputDateMask as segment values are being added or changed in the input field.\n // We wait for the state to update before calling onInput.\n const maskInputHandler = useCallback<InputDateMaskProps['onInput']>(\n (detail: ValueUpdateDetail<CalendarDate>) => {\n dispatch({ type: 'dateChanged', data: detail.value });\n },\n [dispatch]\n );\n\n // Handle onCommit from InputDateMask, which is called when the user presses Enter or the field is blurred.\n const maskCommitHandler = useCallback<NonNullable<InputDateMaskProps['onCommit']>>(() => {\n // If the current date value differs from the last committed value, then call onCommit.\n if (calendarDatesAreDifferent(lastCommittedDateRef.current, state.dateValue)) {\n onCommit?.({ value: state.dateValue, previousValue: lastCommittedDateRef.current });\n lastCommittedDateRef.current = state.dateValue;\n }\n }, [onCommit, state.dateValue]);\n\n // Respond to onAction event from the calendar icon button. Toggles the date picker dropdown.\n const calendarIconActionHandler = useCallback<NonNullable<IconButtonProps['onAction']>>(() => {\n // Only toggle the value of isOpen if we didn't just dismiss the dropdown.\n if (!outsideMousedownRef.current) {\n setIsOpen((prevIsOpen) => !prevIsOpen);\n }\n outsideMousedownRef.current = false;\n }, []);\n\n const dropdownCloseHandler = useCallback<NonNullable<DropdownProps['onClose']>>(\n (detail: CloseDetail) => {\n // Keep track of when the dropdown is closed via outside mousedown, including when the calendar icon\n // is clicked. We need this in order to toggle visibility of the picker and dropdown.\n if (detail.reason === 'outsideMousedown') {\n outsideMousedownRef.current = true;\n clearTimeout(outsideMousedownTimerRef.current);\n\n // Clear the flag after a short delay to ensure the dropdown can be opened again.\n outsideMousedownTimerRef.current = setTimeout(() => {\n outsideMousedownRef.current = false;\n }, 200);\n } else if (detail.reason === 'dismissed' || detail.reason === 'keyboardDismissed') {\n // Focus the calendar icon when the dropdown is closed.\n iconRef.current?.focus();\n }\n setIsOpen(false);\n },\n []\n );\n\n // Handle date selection in the picker.\n // - Updates the value in state.\n // - Closes the dropdown.\n // - Sets focus to the date field.\n const datePickerCommitHandler = useCallback<DatePickerProps['onCommit']>(\n (detail: ValueUpdateDetail<CalendarDateRequired>) => {\n // Set focus to the calendar icon when a date is selected.\n iconRef.current?.focus();\n\n // Set a ref indicating a date was selected.\n dateSelectedRef.current = true;\n dispatch({ type: 'dateSelected', data: detail.value });\n setIsOpen(false);\n },\n [dispatch]\n );\n\n return {\n calendarIconActionHandler,\n datePickerCommitHandler,\n dropdownCloseHandler,\n completeDateValue: state.completeDateValue,\n dateValue: state.dateValue,\n iconRef,\n isOpen,\n maskCommitHandler,\n maskInputHandler,\n maskRef\n };\n};\n\nexport { useInputDatePicker };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentProps, Ref } from 'preact';\nimport { forwardRef } from 'preact/compat';\nimport { useImperativeHandle, useRef } from 'preact/hooks';\nimport { BundleType } from '../resources/nls/bundle';\nimport { CalendarIcon } from '#PRIVATE_ThemedIcons/CalendarIcon';\nimport {\n CalendarDate,\n CalendarDatePlaceholders,\n InputDateMask,\n InputDateMaskContext\n} from '#UNSAFE_InputDateMask';\nimport { DatePicker } from '#UNSAFE_DatePicker';\nimport { HiddenAccessible } from '#UNSAFE_HiddenAccessible';\nimport { IconButton } from '#UNSAFE_IconButton';\nimport { InputDatePickerDropdown } from './InputDatePickerDropdown';\nimport { FocusableHandle } from '#hooks/UNSAFE_useFocusableTextField';\nimport { merge } from '#utils/UNSAFE_stringUtils';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { useInputDatePicker } from './useInputDatePicker';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\n\ntype InputDateMaskProps = ComponentProps<typeof InputDateMask>;\ntype PickedPropsFromInputDateMask = Pick<\n InputDateMaskProps,\n | 'aria-describedby'\n | 'assistiveText'\n | 'columnSpan'\n | 'helpSourceLink'\n | 'helpSourceText'\n | 'isDisabled'\n | 'isReadonly'\n | 'isRequired'\n | 'isRequiredShown'\n | 'label'\n | 'labelEdge'\n | 'labelStartWidth'\n | 'messages'\n | 'textAlign'\n | 'testId'\n | 'userAssistanceDensity'\n | 'variant'\n>;\n\ntype DatePickerProps = ComponentProps<typeof DatePicker>;\ntype PickedPropsFromDatePicker = Pick<\n DatePickerProps,\n | 'dayFormatter'\n | 'daysOutsideMonth'\n | 'max'\n | 'min'\n | 'monthAndYearPicker'\n | 'todayTimeZone'\n | 'todayButton'\n | 'weekDisplay'\n>;\n\ntype Props = PickedPropsFromInputDateMask &\n PickedPropsFromDatePicker & {\n /**\n * If specified, overrides the locale specific order of the individual date segments\n * in the date field as well as the locale specific separator. The value of each placeholder\n * is only used when the type is 'literal', otherwise it is replaced with a translated\n * placeholder for month, day, or year. The placeholders must include month, day, and year.\n */\n masks?: CalendarDatePlaceholders;\n\n /**\n * The current display value of the component.\n * This is a CalendarDate, not CalendarDateRequired, because this is a controlled component and\n * the user may type the month, day, and year separately. If a selection is made in the date\n * picker, then the value is a complete date.\n */\n value?: CalendarDate;\n\n /**\n * Callback invoked when the user commits the entered value by blurring or hitting the enter key.\n * It is also called when a selection is made in the date picker.\n */\n onCommit?: (detail: ValueUpdateDetail<CalendarDate>) => void;\n\n /**\n * Callback invoked each time the user changes the value of a segment. For example, if the user\n * types '12' into the month segment, this callback will be called twice to change the month\n * first to '1' and then '12'.\n */\n onInput: (detail: ValueUpdateDetail<CalendarDate>) => void;\n };\n\n/**\n * InputDatePicker allows users to enter or select a single date using a calendar interface.\n */\nexport const InputDatePicker = forwardRef(\n (\n {\n 'aria-describedby': propDescribedBy,\n assistiveText,\n dayFormatter,\n daysOutsideMonth,\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isReadonly,\n label,\n max,\n messages,\n min,\n monthAndYearPicker,\n todayTimeZone,\n todayButton,\n value,\n onCommit,\n onInput,\n testId,\n userAssistanceDensity: propUserAssistanceDensity,\n weekDisplay,\n ...dateMaskProps\n }: Props,\n ref?: Ref<FocusableHandle>\n ) => {\n const {\n calendarIconActionHandler,\n datePickerCommitHandler,\n completeDateValue,\n dateValue,\n dropdownCloseHandler,\n iconRef,\n isOpen,\n maskCommitHandler,\n maskInputHandler,\n maskRef\n } = useInputDatePicker({\n onCommit,\n onInput,\n value\n });\n\n const mainFieldRef = useRef<HTMLDivElement>(null);\n const { inputDatePicker_selectDate, inputDatePicker_instruction } =\n useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const calendarIconAriaLabel = inputDatePicker_selectDate();\n\n // We need this to determine if UA/messaging should be shown in the dropdown.\n const { userAssistanceDensity: formUserAssistanceDensity } = useFormContext();\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n\n useImperativeHandle(ref!, () => ({\n focus: () => {\n maskRef.current?.focus();\n },\n blur: () => {\n maskRef.current?.blur();\n }\n }));\n\n const maskFieldInstructionId = useId();\n const maskFieldInstructionText = inputDatePicker_instruction();\n const maskFieldInstruction =\n !isDisabled && !isReadonly ? (\n <HiddenAccessible id={maskFieldInstructionId} isHidden={true}>\n {maskFieldInstructionText}\n </HiddenAccessible>\n ) : undefined;\n const ariaDescribedBy =\n !isDisabled && !isReadonly\n ? merge([propDescribedBy, maskFieldInstructionId])\n : propDescribedBy;\n\n const endContent = (\n <IconButton\n aria-haspopup=\"dialog\"\n aria-label={calendarIconAriaLabel}\n isDisabled={isDisabled}\n ref={iconRef}\n size=\"sm\"\n testId={testId ? testId + '_calendarIcon' : undefined}\n variant=\"ghost\"\n onAction={calendarIconActionHandler}>\n <CalendarIcon />\n </IconButton>\n );\n\n const shouldShowDropdown = isOpen as boolean;\n\n return (\n <>\n <InputDateMaskContext.Provider\n value={{ isDropdownOpen: isOpen, isInputDatePickerParent: true }}>\n <InputDateMask\n aria-describedby={ariaDescribedBy}\n assistiveText={assistiveText}\n endContent={endContent}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n label={label}\n onCommit={maskCommitHandler}\n onInput={maskInputHandler}\n mainFieldRef={mainFieldRef}\n messages={messages}\n testId={testId}\n ref={maskRef}\n userAssistanceDensity={propUserAssistanceDensity}\n value={dateValue}\n {...dateMaskProps}\n />\n </InputDateMaskContext.Provider>\n\n {maskFieldInstruction}\n\n {shouldShowDropdown && (\n <InputDatePickerDropdown\n anchorRef={mainFieldRef}\n assistiveText={assistiveText}\n dayFormatter={dayFormatter}\n daysOutsideMonth={daysOutsideMonth}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n isOpen={isOpen}\n label={label}\n onClose={dropdownCloseHandler}\n onCommit={datePickerCommitHandler}\n max={max}\n messages={messages}\n min={min}\n monthAndYearPicker={monthAndYearPicker}\n testId={testId ? testId + '_datePicker' : undefined}\n todayTimeZone={todayTimeZone}\n todayButton={todayButton}\n userAssistanceDensity={userAssistanceDensity}\n value={completeDateValue}\n weekDisplay={weekDisplay}\n />\n )}\n </>\n );\n }\n);\n"],"names":["useState","useCallback","useTranslationBundle","_jsx","DatePicker","FormFieldContext","userAssistanceStyles","InlineUserAssistance","dropdownStyles","SectionedContent","Sheet","StickyPositioningDropdown","getClientHints","isCompleteCalendarDate","useReducer","useRef","calendarDatesAreDifferent","useEffect","forwardRef","useFormContext","useImperativeHandle","useId","HiddenAccessible","merge","IconButton","CalendarIcon","_jsxs","InputDateMaskContext","InputDateMask"],"mappings":"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"}
1
+ {"version":3,"file":"InputDatePicker-c2ef8b45.js","sources":["../../src/UNSAFE_InputDatePicker/InputDatePickerDropdown.tsx","../../src/UNSAFE_InputDatePicker/useInputDatePickerState.ts","../../src/UNSAFE_InputDatePicker/useInputDatePicker.ts","../../src/UNSAFE_InputDatePicker/InputDatePicker.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps } from 'preact';\nimport { useCallback, useState } from 'preact/hooks';\nimport { BundleType } from '../resources/nls/bundle';\nimport { DatePicker } from '#UNSAFE_DatePicker';\nimport { type CloseDetail as DropdownCloseDetail } from '#UNSAFE_Dropdown';\nimport { getClientHints } from '#utils/PRIVATE_clientHints';\nimport { FormFieldContext } from '../hooks/UNSAFE_useFormFieldContext';\nimport { InlineUserAssistance } from '../UNSAFE_UserAssistance';\nimport { InputDatePicker } from './InputDatePicker';\nimport { dropdownStyles, userAssistanceStyles } from './themes/InputDatePickerDropdownStyles.css';\nimport { PositionData } from '../UNSAFE_Floating';\nimport { StickyPositioningDropdown } from '#PRIVATE_FormControls';\nimport { SectionedContent } from '#PRIVATE_FormControls';\nimport { type CloseDetail as SheetCloseDetail, Sheet } from '#UNSAFE_Sheet';\nimport type { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { SizeOptions } from '#UNSAFE_Floating/Floating';\n\ntype StickyPositioningDropdownProps = ComponentProps<typeof StickyPositioningDropdown>;\ntype InputDatePickerProps = ComponentProps<typeof InputDatePicker>;\ntype PickedPropsFromInputDatePicker = Pick<\n InputDatePickerProps,\n | 'assistiveText'\n | 'dayFormatter'\n | 'daysOutsideMonth'\n | 'helpSourceLink'\n | 'helpSourceText'\n | 'isDisabled'\n | 'isReadonly'\n | 'label'\n | 'messages'\n | 'min'\n | 'max'\n | 'monthAndYearPicker'\n | 'todayButton'\n | 'todayTimeZone'\n | 'userAssistanceDensity'\n | 'value'\n | 'weekDisplay'\n>;\ntype DatePickerProps = ComponentProps<typeof DatePicker>;\ntype PickedPropsFromDatePicker = Pick<DatePickerProps, 'value' | 'onCommit'>;\ntype PickedPropsFromDropdown = Omit<StickyPositioningDropdownProps, 'onClose'>;\ntype CloseDetail = SheetCloseDetail | DropdownCloseDetail;\n\ntype Props = PickedPropsFromDatePicker &\n PickedPropsFromInputDatePicker &\n PickedPropsFromDropdown &\n TestIdProps & {\n /**\n * Called when the dropdown or sheet is supposed to be closed.\n */\n onClose?: (detail: CloseDetail) => void;\n };\n\n/**\n * Component that renders DatePicker either inside a dropdown or sheet; at small screen\n * widths, it renders inside a sheet. Additionally, when a dropdown is being shown beneath\n * the component, we also show any user assistance text or messages below the picker\n * because otherwise that information would be obscured from view. When a sheet is being\n * shown, it will always display UA and messages at the bottom of the sheet.\n */\nconst InputDatePickerDropdown = ({\n anchorRef,\n assistiveText,\n dayFormatter,\n daysOutsideMonth,\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isOpen,\n isReadonly,\n label,\n onClose,\n onCommit,\n max,\n messages,\n min,\n monthAndYearPicker,\n testId,\n todayButton,\n todayTimeZone,\n userAssistanceDensity,\n value,\n weekDisplay\n}: Props) => {\n // If the dropdown opens above the component, we don't want to show UA or messages.\n const [isDropdownAbove, setDropdownAbove] = useState(false);\n const [prevIsOpen, setPrevIsOpen] = useState(isOpen);\n const handleDropdownPosition = useCallback<\n NonNullable<StickyPositioningDropdownProps['onPosition']>\n >((data: PositionData) => {\n setDropdownAbove(data.placement.startsWith('top'));\n }, []);\n // Reset the flag when the dropdown is closed.\n if (prevIsOpen !== isOpen) {\n setPrevIsOpen(isOpen);\n if (!isOpen) {\n setDropdownAbove(false);\n }\n }\n\n const sizeOptions: SizeOptions = {\n isMaxWidthAdjusted: false,\n isMaxHeightAdjusted: true\n };\n\n // On mobile phones, the dropdown becomes a sheet.\n const shouldShowSheet = isPhone();\n\n const { datePicker_label } = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const datePickerAriaLabel = datePicker_label();\n\n const datePickerMainContent = (\n <DatePicker\n dayFormatter={dayFormatter}\n daysOutsideMonth={daysOutsideMonth}\n height={!shouldShowSheet ? 'auto' : undefined}\n onCommit={onCommit}\n max={max}\n min={min}\n // for sheet, we want the width to grow to the width of the sheet, otherwise it will use the theme default.\n maxWidth={shouldShowSheet ? '100%' : undefined}\n width=\"100%\"\n monthAndYearPicker={monthAndYearPicker}\n testId={testId}\n todayTimeZone={todayTimeZone}\n todayButton={todayButton}\n value={value}\n weekDisplay={weekDisplay}\n />\n );\n\n const inlineUserAssistanceFooter =\n isOpen &&\n (!isDropdownAbove || shouldShowSheet) &&\n !isDisabled &&\n !isReadonly &&\n (assistiveText || helpSourceLink || (messages && messages.length > 0)) &&\n (userAssistanceDensity === 'efficient' || userAssistanceDensity === 'reflow') ? (\n <FormFieldContext.Provider value={{ isFocused: true }}>\n <div class={userAssistanceStyles}>\n <InlineUserAssistance\n assistiveText={assistiveText}\n fieldLabel={label}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n />\n </div>\n </FormFieldContext.Provider>\n ) : undefined;\n\n const contentTestId = testId ? testId + (shouldShowSheet ? '_sheet' : '_dropdown') : undefined;\n\n // The same content is displayed either in a dropdown or sheet: date picker and inline UA.\n // Add styling to the dropdown to enforce a fixed width.\n const dropdownContent = (\n <div class={dropdownStyles}>\n <SectionedContent\n aria-label={datePickerAriaLabel}\n footer={inlineUserAssistanceFooter}\n hasFocusTrap={true}\n main={datePickerMainContent}\n role=\"dialog\"\n testId={contentTestId}\n />\n </div>\n );\n\n const dropdown = shouldShowSheet ? (\n <Sheet initialFocus=\"firstFocusable\" isOpen={isOpen} onClose={onClose}>\n <SectionedContent\n aria-label={datePickerAriaLabel}\n footer={inlineUserAssistanceFooter}\n hasFocusTrap={true}\n main={datePickerMainContent}\n role=\"dialog\"\n testId={contentTestId}\n />\n </Sheet>\n ) : (\n <StickyPositioningDropdown\n anchorRef={anchorRef}\n initialFocus=\"firstFocusable\"\n isOpen={isOpen}\n onClose={onClose}\n onPosition={handleDropdownPosition}\n sizeOptions={sizeOptions}>\n {dropdownContent}\n </StickyPositioningDropdown>\n );\n\n return dropdown;\n};\n\nconst isPhone = () => {\n return getClientHints().deviceType === 'phone';\n};\n\nexport { InputDatePickerDropdown, type CloseDetail };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useReducer } from 'preact/hooks';\nimport type { CalendarDate, CalendarDateRequired } from '#utils/UNSAFE_calendarDateUtils';\nimport { isCompleteCalendarDate } from '#utils/UNSAFE_calendarDateUtils';\n\ntype InputDatePickerState = {\n /**\n * If dateValue is a complete date, then completeDateValue is the same as dateValue\n * otherwise is is undefined. We need to maintain separate states because\n * InputDateMask uses CalendarDate, but DatePicker uses CalendarDateRequired.\n * If the user types a partial date then opens the picker, we treat that as\n * no selection. The picker opens to the current month showing today.\n */\n completeDateValue?: CalendarDateRequired;\n\n /**\n * Represents the current date value of the component. The user either selected\n * the date in the picker, or typed it into the date field.\n */\n dateValue?: CalendarDate;\n};\n\ntype DateChangedAction = { type: 'dateChanged'; data?: CalendarDate };\ntype DateResetAction = { type: 'reset'; data?: CalendarDate };\ntype DateSelectedAction = { type: 'dateSelected'; data?: CalendarDateRequired };\ntype InputDatePickerReducerAction = DateChangedAction | DateResetAction | DateSelectedAction;\n\n// If dateVal is a complete date, return it as a CalendarDateRequired\n// otherwise return undefined.\nconst convertToCalendarDateRequired = (dateVal?: CalendarDate) => {\n return !dateVal || !isCompleteCalendarDate(dateVal)\n ? undefined\n : (dateVal as CalendarDateRequired);\n};\n\n// Use a reducer function to manage InputDatePickerState.\nconst inputDatePickerReducer = (\n state: InputDatePickerState,\n action: InputDatePickerReducerAction\n): InputDatePickerState => {\n switch (action.type) {\n case 'dateChanged': {\n return {\n ...state,\n dateValue: action.data,\n completeDateValue: convertToCalendarDateRequired(action.data)\n };\n }\n case 'dateSelected': {\n return { ...state, dateValue: action.data, completeDateValue: action.data };\n }\n case 'reset': {\n return {\n completeDateValue: convertToCalendarDateRequired(action.data),\n dateValue: action.data\n };\n }\n default:\n return state;\n }\n};\n\ntype Props = {\n /**\n * The value of the InputDatePicker, or undefined.\n */\n value?: CalendarDate;\n};\n\n/**\n * useInputDatePickerState calls useReducer to determine the initial state. Any changes to that state\n * are managed by dispatching actions to the reducer function.\n */\nconst useInputDatePickerState = ({ value }: Props) => {\n const [state, dispatch] = useReducer(inputDatePickerReducer, {\n completeDateValue: convertToCalendarDateRequired(value),\n dateValue: value\n });\n\n return { state, dispatch };\n};\n\nexport { useInputDatePickerState };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps, RefObject } from 'preact';\nimport { useCallback, useEffect, useRef, useState } from 'preact/hooks';\nimport type { CalendarDate, CalendarDateRequired } from '#utils/UNSAFE_calendarDateUtils';\nimport { calendarDatesAreDifferent } from '#utils/PRIVATE_dayUtils';\nimport { DatePicker } from '#UNSAFE_DatePicker';\nimport { CloseDetail, InputDatePickerDropdown } from './InputDatePickerDropdown';\nimport { IconButton } from '#UNSAFE_IconButton';\nimport { InputDateMask } from '#UNSAFE_InputDateMask';\nimport { InputDatePicker } from './InputDatePicker';\nimport { useInputDatePickerState } from './useInputDatePickerState';\nimport type { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\n\ntype InputDatePickerProps = ComponentProps<typeof InputDatePicker>;\ntype InputDateMaskProps = ComponentProps<typeof InputDateMask>;\ntype DatePickerProps = ComponentProps<typeof DatePicker>;\ntype IconButtonProps = ComponentProps<typeof IconButton>;\ntype DropdownProps = ComponentProps<typeof InputDatePickerDropdown>;\n\ntype Props = {\n onCommit: InputDatePickerProps['onCommit'];\n onInput: InputDatePickerProps['onInput'];\n value: InputDatePickerProps['value'];\n};\n\n/**\n * Hook that provides handlers and other functionality for InputDatePicker.\n */\nconst useInputDatePicker = ({ onCommit, onInput, value: currentValue }: Props) => {\n // Whether the dropdown is open.\n const [isOpen, setIsOpen] = useState(false);\n\n // Ref to the calendar icon button.\n const iconRef: RefObject<HTMLButtonElement> = useRef<HTMLButtonElement>(null);\n\n // Ref to the InputDateMask component.\n const maskRef: RefObject<HTMLElement> = useRef<HTMLElement>(null);\n\n // Keep track of whether the dropdown was just dismissed from an outside mousedown event.\n const outsideMousedownRef = useRef<boolean>(false);\n const outsideMousedownTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>();\n\n // Keep track of the last date values passed to onInput and onCommit.\n const lastCommittedDateRef = useRef<CalendarDate | undefined>(currentValue);\n const lastDateRef = useRef<CalendarDate | undefined>(currentValue);\n\n // Keep track of the last controlled value passed from the parent, so we can detect a programmatic change.\n const lastValueFromParentRef = useRef<CalendarDate | undefined>(currentValue);\n\n // Keep track of whether a date was selected in the date picker.\n const dateSelectedRef = useRef<boolean>(false);\n\n const { state, dispatch } = useInputDatePickerState({ value: currentValue });\n\n // If a new value is being pushed from the parent, and that value differs from\n // the current value of the reducer, then this is a programmatic update\n // and we need to call 'reset' to update the reducer state. Otherwise, the only\n // time the reducer state is updated from the value is on mount.\n if (calendarDatesAreDifferent(lastValueFromParentRef.current, currentValue)) {\n lastValueFromParentRef.current = currentValue;\n if (calendarDatesAreDifferent(currentValue, state.dateValue)) {\n dispatch({ type: 'reset', data: currentValue });\n lastDateRef.current = currentValue;\n lastCommittedDateRef.current = currentValue;\n }\n }\n\n // Reducer updates are async, so wait until the state updates and then call our callbacks.\n useEffect(() => {\n if (calendarDatesAreDifferent(state.dateValue, lastDateRef.current)) {\n onInput({ previousValue: lastDateRef.current, value: state.dateValue });\n lastDateRef.current = state.dateValue;\n }\n if (\n dateSelectedRef.current &&\n calendarDatesAreDifferent(state.dateValue, lastCommittedDateRef.current)\n ) {\n onCommit?.({ previousValue: lastCommittedDateRef.current, value: state.dateValue });\n lastCommittedDateRef.current = state.dateValue;\n dateSelectedRef.current = false;\n }\n }, [onCommit, onInput, state.dateValue]);\n\n // Handle onInput from InputDateMask as segment values are being added or changed in the input field.\n // We wait for the state to update before calling onInput.\n const maskInputHandler = useCallback<InputDateMaskProps['onInput']>(\n (detail: ValueUpdateDetail<CalendarDate>) => {\n dispatch({ type: 'dateChanged', data: detail.value });\n },\n [dispatch]\n );\n\n // Handle onCommit from InputDateMask, which is called when the user presses Enter or the field is blurred.\n const maskCommitHandler = useCallback<NonNullable<InputDateMaskProps['onCommit']>>(() => {\n // If the current date value differs from the last committed value, then call onCommit.\n if (calendarDatesAreDifferent(lastCommittedDateRef.current, state.dateValue)) {\n onCommit?.({ value: state.dateValue, previousValue: lastCommittedDateRef.current });\n lastCommittedDateRef.current = state.dateValue;\n }\n }, [onCommit, state.dateValue]);\n\n // Respond to onAction event from the calendar icon button. Toggles the date picker dropdown.\n const calendarIconActionHandler = useCallback<NonNullable<IconButtonProps['onAction']>>(() => {\n // Only toggle the value of isOpen if we didn't just dismiss the dropdown.\n if (!outsideMousedownRef.current) {\n setIsOpen((prevIsOpen) => !prevIsOpen);\n }\n outsideMousedownRef.current = false;\n }, []);\n\n const dropdownCloseHandler = useCallback<NonNullable<DropdownProps['onClose']>>(\n (detail: CloseDetail) => {\n // Keep track of when the dropdown is closed via outside mousedown, including when the calendar icon\n // is clicked. We need this in order to toggle visibility of the picker and dropdown.\n if (detail.reason === 'outsideMousedown') {\n outsideMousedownRef.current = true;\n clearTimeout(outsideMousedownTimerRef.current);\n\n // Clear the flag after a short delay to ensure the dropdown can be opened again.\n outsideMousedownTimerRef.current = setTimeout(() => {\n outsideMousedownRef.current = false;\n }, 200);\n } else if (detail.reason === 'dismissed' || detail.reason === 'keyboardDismissed') {\n // Focus the calendar icon when the dropdown is closed.\n iconRef.current?.focus();\n }\n setIsOpen(false);\n },\n []\n );\n\n // Handle date selection in the picker.\n // - Updates the value in state.\n // - Closes the dropdown.\n // - Sets focus to the date field.\n const datePickerCommitHandler = useCallback<DatePickerProps['onCommit']>(\n (detail: ValueUpdateDetail<CalendarDateRequired>) => {\n // Set focus to the calendar icon when a date is selected.\n iconRef.current?.focus();\n\n // Set a ref indicating a date was selected.\n dateSelectedRef.current = true;\n dispatch({ type: 'dateSelected', data: detail.value });\n setIsOpen(false);\n },\n [dispatch]\n );\n\n return {\n calendarIconActionHandler,\n datePickerCommitHandler,\n dropdownCloseHandler,\n completeDateValue: state.completeDateValue,\n dateValue: state.dateValue,\n iconRef,\n isOpen,\n maskCommitHandler,\n maskInputHandler,\n maskRef\n };\n};\n\nexport { useInputDatePicker };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentProps, Ref } from 'preact';\nimport { forwardRef } from 'preact/compat';\nimport { useImperativeHandle, useRef } from 'preact/hooks';\nimport { BundleType } from '../resources/nls/bundle';\nimport { CalendarIcon } from '#PRIVATE_ThemedIcons/CalendarIcon';\nimport {\n CalendarDate,\n CalendarDatePlaceholders,\n InputDateMask,\n InputDateMaskContext\n} from '#UNSAFE_InputDateMask';\nimport { DatePicker } from '#UNSAFE_DatePicker';\nimport { HiddenAccessible } from '#UNSAFE_HiddenAccessible';\nimport { IconButton } from '#UNSAFE_IconButton';\nimport { InputDatePickerDropdown } from './InputDatePickerDropdown';\nimport { FocusableHandle } from '#hooks/UNSAFE_useFocusableTextField';\nimport { merge } from '#utils/UNSAFE_stringUtils';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { useInputDatePicker } from './useInputDatePicker';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\n\ntype InputDateMaskProps = ComponentProps<typeof InputDateMask>;\ntype PickedPropsFromInputDateMask = Pick<\n InputDateMaskProps,\n | 'aria-describedby'\n | 'assistiveText'\n | 'columnSpan'\n | 'helpSourceLink'\n | 'helpSourceText'\n | 'isDisabled'\n | 'isReadonly'\n | 'isRequired'\n | 'isRequiredShown'\n | 'label'\n | 'labelEdge'\n | 'labelStartWidth'\n | 'messages'\n | 'textAlign'\n | 'testId'\n | 'userAssistanceDensity'\n | 'variant'\n>;\n\ntype DatePickerProps = ComponentProps<typeof DatePicker>;\ntype PickedPropsFromDatePicker = Pick<\n DatePickerProps,\n | 'dayFormatter'\n | 'daysOutsideMonth'\n | 'max'\n | 'min'\n | 'monthAndYearPicker'\n | 'todayTimeZone'\n | 'todayButton'\n | 'weekDisplay'\n>;\n\ntype Props = PickedPropsFromInputDateMask &\n PickedPropsFromDatePicker & {\n /**\n * If specified, overrides the locale specific order of the individual date segments\n * in the date field as well as the locale specific separator. The value of each placeholder\n * is only used when the type is 'literal', otherwise it is replaced with a translated\n * placeholder for month, day, or year. The placeholders must include month, day, and year.\n */\n masks?: CalendarDatePlaceholders;\n\n /**\n * The current display value of the component.\n * This is a CalendarDate, not CalendarDateRequired, because this is a controlled component and\n * the user may type the month, day, and year separately. If a selection is made in the date\n * picker, then the value is a complete date.\n */\n value?: CalendarDate;\n\n /**\n * Callback invoked when the user commits the entered value by blurring or hitting the enter key.\n * It is also called when a selection is made in the date picker.\n */\n onCommit?: (detail: ValueUpdateDetail<CalendarDate>) => void;\n\n /**\n * Callback invoked each time the user changes the value of a segment. For example, if the user\n * types '12' into the month segment, this callback will be called twice to change the month\n * first to '1' and then '12'.\n */\n onInput: (detail: ValueUpdateDetail<CalendarDate>) => void;\n };\n\n/**\n * InputDatePicker allows users to enter or select a single date using a calendar interface.\n */\nexport const InputDatePicker = forwardRef(\n (\n {\n 'aria-describedby': propDescribedBy,\n assistiveText,\n dayFormatter,\n daysOutsideMonth,\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isReadonly,\n label,\n max,\n messages,\n min,\n monthAndYearPicker,\n todayTimeZone,\n todayButton,\n value,\n onCommit,\n onInput,\n testId,\n userAssistanceDensity: propUserAssistanceDensity,\n weekDisplay,\n ...dateMaskProps\n }: Props,\n ref?: Ref<FocusableHandle>\n ) => {\n const {\n calendarIconActionHandler,\n datePickerCommitHandler,\n completeDateValue,\n dateValue,\n dropdownCloseHandler,\n iconRef,\n isOpen,\n maskCommitHandler,\n maskInputHandler,\n maskRef\n } = useInputDatePicker({\n onCommit,\n onInput,\n value\n });\n\n const mainFieldRef = useRef<HTMLDivElement>(null);\n const { inputDatePicker_selectDate, inputDatePicker_instruction } =\n useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const calendarIconAriaLabel = inputDatePicker_selectDate();\n\n // We need this to determine if UA/messaging should be shown in the dropdown.\n const { userAssistanceDensity: formUserAssistanceDensity } = useFormContext();\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n\n useImperativeHandle(ref!, () => ({\n focus: () => {\n maskRef.current?.focus();\n },\n blur: () => {\n maskRef.current?.blur();\n }\n }));\n\n const maskFieldInstructionId = useId();\n const maskFieldInstructionText = inputDatePicker_instruction();\n const maskFieldInstruction =\n !isDisabled && !isReadonly ? (\n <HiddenAccessible id={maskFieldInstructionId} isHidden={true}>\n {maskFieldInstructionText}\n </HiddenAccessible>\n ) : undefined;\n const ariaDescribedBy =\n !isDisabled && !isReadonly\n ? merge([propDescribedBy, maskFieldInstructionId])\n : propDescribedBy;\n\n const endContent = (\n <IconButton\n aria-haspopup=\"dialog\"\n aria-label={calendarIconAriaLabel}\n isDisabled={isDisabled}\n ref={iconRef}\n size=\"sm\"\n testId={testId ? testId + '_calendarIcon' : undefined}\n variant=\"ghost\"\n onAction={calendarIconActionHandler}>\n <CalendarIcon />\n </IconButton>\n );\n\n const shouldShowDropdown = isOpen as boolean;\n\n return (\n <>\n <InputDateMaskContext.Provider\n value={{ isDropdownOpen: isOpen, isInputDatePickerParent: true }}>\n <InputDateMask\n aria-describedby={ariaDescribedBy}\n assistiveText={assistiveText}\n endContent={endContent}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n label={label}\n onCommit={maskCommitHandler}\n onInput={maskInputHandler}\n mainFieldRef={mainFieldRef}\n messages={messages}\n testId={testId}\n ref={maskRef}\n userAssistanceDensity={propUserAssistanceDensity}\n value={dateValue}\n {...dateMaskProps}\n />\n </InputDateMaskContext.Provider>\n\n {maskFieldInstruction}\n\n {shouldShowDropdown && (\n <InputDatePickerDropdown\n anchorRef={mainFieldRef}\n assistiveText={assistiveText}\n dayFormatter={dayFormatter}\n daysOutsideMonth={daysOutsideMonth}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n isOpen={isOpen}\n label={label}\n onClose={dropdownCloseHandler}\n onCommit={datePickerCommitHandler}\n max={max}\n messages={messages}\n min={min}\n monthAndYearPicker={monthAndYearPicker}\n testId={testId ? testId + '_datePicker' : undefined}\n todayTimeZone={todayTimeZone}\n todayButton={todayButton}\n userAssistanceDensity={userAssistanceDensity}\n value={completeDateValue}\n weekDisplay={weekDisplay}\n />\n )}\n </>\n );\n }\n);\n"],"names":["useState","useCallback","useTranslationBundle","_jsx","DatePicker","FormFieldContext","userAssistanceStyles","InlineUserAssistance","dropdownStyles","SectionedContent","Sheet","StickyPositioningDropdown","getClientHints","isCompleteCalendarDate","useReducer","useRef","calendarDatesAreDifferent","useEffect","forwardRef","useFormContext","useImperativeHandle","useId","HiddenAccessible","merge","IconButton","CalendarIcon","_jsxs","InputDateMaskContext","InputDateMask"],"mappings":"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"}
@@ -13,7 +13,7 @@ var useUser = require('./useUser-8aaad5a7.js');
13
13
  var colorUtils = require('./colorUtils-8e657d89.js');
14
14
  var utils = require('./utils-7c0b6a81.js');
15
15
  var PRIVATE_Chart_themes_ChartStyles_css = require('./PRIVATE_Chart/themes/ChartStyles.css.js');
16
- var Chart = require('./Chart-42a979a7.js');
16
+ var Chart = require('./Chart-4eee682b.js');
17
17
 
18
18
  function AreaSeries({ yScale, lineType = 'straight', color, isHorizontal, isLog, areaColorOpacity, lineSegments, bottomCoords, isHighlighted, isBottomSegmentCurved, seriesIndex }) {
19
19
  const style = {
@@ -247,4 +247,4 @@ function LineAreaChart({ width, height, selectedIds = [], hiddenIds = [], highli
247
247
  }
248
248
 
249
249
  exports.LineAreaChart = LineAreaChart;
250
- //# sourceMappingURL=LineAreaChart-4f443939.js.map
250
+ //# sourceMappingURL=LineAreaChart-28268084.js.map