@oracle/oraclejet-preact 18.1.6 → 18.1.8

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 (1058) hide show
  1. package/amd/{BaseCardView-a1c5a21d.js → BaseCardView-4f88499c.js} +2 -2
  2. package/amd/{BaseCardView-a1c5a21d.js.map → BaseCardView-4f88499c.js.map} +1 -1
  3. package/amd/CardFlexView-86cb369a.js +2 -0
  4. package/amd/{CardFlexView-f7fdfac8.js.map → CardFlexView-86cb369a.js.map} +1 -1
  5. package/amd/CardGridView-b3f11290.js +2 -0
  6. package/amd/{CardGridView-b8a60fae.js.map → CardGridView-b3f11290.js.map} +1 -1
  7. package/amd/ExpandableList-daabc548.js +1 -1
  8. package/amd/GroupLoadingIndicator-9fd33355.js +1 -1
  9. package/amd/{Indexer-5df524f2.js → Indexer-510aaf3a.js} +2 -2
  10. package/amd/{Indexer-5df524f2.js.map → Indexer-510aaf3a.js.map} +1 -1
  11. package/amd/List-37e37948.js +2 -0
  12. package/amd/{List-0da6ee9c.js.map → List-37e37948.js.map} +1 -1
  13. package/amd/{ListView-cdfac903.js → ListView-325e1814.js} +2 -2
  14. package/amd/{ListView-cdfac903.js.map → ListView-325e1814.js.map} +1 -1
  15. package/amd/LoadMoreCollection-83413a59.js +2 -0
  16. package/amd/{LoadMoreCollection-a6adbc3f.js.map → LoadMoreCollection-83413a59.js.map} +1 -1
  17. package/amd/PRIVATE_BaseCardView.js +1 -1
  18. package/amd/PRIVATE_List.js +1 -1
  19. package/amd/PRIVATE_LoadMoreCollection.js +1 -1
  20. package/amd/PRIVATE_SelectCommon.js +1 -1
  21. package/amd/PRIVATE_Table.js +1 -1
  22. package/amd/PRIVATE_VirtualizedCollection.js +1 -1
  23. package/amd/{SelectMultiple-a159ccbf.js → SelectMultiple-19db7af2.js} +2 -2
  24. package/amd/{SelectMultiple-a159ccbf.js.map → SelectMultiple-19db7af2.js.map} +1 -1
  25. package/amd/{SelectSingle-e3d0d8d2.js → SelectSingle-7edde065.js} +2 -2
  26. package/amd/{SelectSingle-e3d0d8d2.js.map → SelectSingle-7edde065.js.map} +1 -1
  27. package/amd/{Table-f5ebf3d4.js → Table-f1101855.js} +2 -2
  28. package/amd/{Table-f5ebf3d4.js.map → Table-f1101855.js.map} +1 -1
  29. package/amd/{TableView-e8cab364.js → TableView-c72953df.js} +2 -2
  30. package/amd/{TableView-e8cab364.js.map → TableView-c72953df.js.map} +1 -1
  31. package/amd/TextArea-fe8d9067.js +2 -0
  32. package/{es/TextArea-6584935d.js.map → amd/TextArea-fe8d9067.js.map} +1 -1
  33. package/amd/TextAreaAutosize-c9c00a1c.js +2 -0
  34. package/amd/{TextAreaAutosize-8cac0a54.js.map → TextAreaAutosize-c9c00a1c.js.map} +1 -1
  35. package/amd/Theme-redwood/theme.css +221 -221
  36. package/amd/Theme-stable/theme.css +362 -362
  37. package/amd/UNSAFE_CardFlexView.js +1 -1
  38. package/amd/UNSAFE_CardGridView.js +1 -1
  39. package/amd/UNSAFE_ExpandableList.js +1 -1
  40. package/amd/UNSAFE_Indexer.js +1 -1
  41. package/amd/UNSAFE_ListView.js +1 -1
  42. package/amd/UNSAFE_SelectMultiple.js +1 -1
  43. package/amd/UNSAFE_SelectSingle.js +1 -1
  44. package/amd/UNSAFE_TableView.js +1 -1
  45. package/amd/UNSAFE_TextArea.js +1 -1
  46. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  47. package/amd/UNSAFE_VirtualizedListView.js +1 -1
  48. package/amd/{VirtualizedCollection-63223f5e.js → VirtualizedCollection-897516a5.js} +2 -2
  49. package/amd/{VirtualizedCollection-63223f5e.js.map → VirtualizedCollection-897516a5.js.map} +1 -1
  50. package/amd/{VirtualizedListView-d353d174.js → VirtualizedListView-0b9e1c53.js} +2 -2
  51. package/amd/{VirtualizedListView-d353d174.js.map → VirtualizedListView-0b9e1c53.js.map} +1 -1
  52. package/amd/{useSelectCommon-380baecd.js → useSelectCommon-70527342.js} +2 -2
  53. package/amd/{useSelectCommon-380baecd.js.map → useSelectCommon-70527342.js.map} +1 -1
  54. package/cjs/ActionCard-77ff45d9.js +1 -1
  55. package/cjs/BarChart-66dbe5be.js +1 -1
  56. package/cjs/BarGroup-022d6009.js +1 -1
  57. package/cjs/BaseButton-590432e4.js +2 -2
  58. package/cjs/BaseCardView-5c483f52.js +7 -7
  59. package/cjs/{BaseCardViewSelectionTest-f29b3ecf.js → BaseCardViewSelectionTest-72b500ec.js} +7 -7
  60. package/cjs/{BaseCardViewSelectionTest-f29b3ecf.js.map → BaseCardViewSelectionTest-72b500ec.js.map} +1 -1
  61. package/cjs/BaseNavigationListItem-709591de.js +1 -1
  62. package/cjs/BaseRichSelection-07d33b2a.js +9 -9
  63. package/cjs/ButtonSet-9ba7b760.js +2 -2
  64. package/cjs/ButtonSetIconButton-c632a294.js +3 -3
  65. package/cjs/{Card-cdb1becd.js → Card-21a0b079.js} +2 -2
  66. package/cjs/{Card-cdb1becd.js.map → Card-21a0b079.js.map} +1 -1
  67. package/cjs/{Center-22231ea7.js → Center-269b4172.js} +2 -2
  68. package/cjs/{Center-22231ea7.js.map → Center-269b4172.js.map} +1 -1
  69. package/cjs/Chart-13ccd345.js +8 -8
  70. package/cjs/Checkbox-07e4794b.js +4 -4
  71. package/cjs/CheckboxControl-697725cb.js +6 -6
  72. package/cjs/CheckboxRadioField-1bb0d57d.js +7 -7
  73. package/cjs/Chip-f376df81.js +1 -1
  74. package/cjs/ClearIcon-22a24975.js +1 -1
  75. package/cjs/CollapseIcon-dae29332.js +1 -1
  76. package/cjs/Collapsible-43b8b228.js +2 -2
  77. package/cjs/ComboChart-7188af92.js +2 -2
  78. package/cjs/CompactHelpSource-e8f7d4ab.js +2 -2
  79. package/cjs/{CompactLabelAssistance-d0290426.js → CompactLabelAssistance-2d1e9b41.js} +5 -5
  80. package/cjs/{CompactLabelAssistance-d0290426.js.map → CompactLabelAssistance-2d1e9b41.js.map} +1 -1
  81. package/cjs/CompactUserAssistance-54247e7e.js +4 -4
  82. package/cjs/ComponentMessageContainer-f8dc57aa.js +4 -4
  83. package/cjs/ConveyorBeltItem-324014ba.js +2 -2
  84. package/cjs/{DatePicker-9c362a68.js → DatePicker-003fd833.js} +6 -6
  85. package/cjs/{DatePicker-9c362a68.js.map → DatePicker-003fd833.js.map} +1 -1
  86. package/cjs/DatePickerHeader-4223c919.js +3 -3
  87. package/cjs/{Diagram-151103ac.js → Diagram-89e05c01.js} +5 -5
  88. package/cjs/{Diagram-151103ac.js.map → Diagram-89e05c01.js.map} +1 -1
  89. package/cjs/{Dialog-40a1b708.js → Dialog-4a0ba834.js} +8 -8
  90. package/cjs/{Dialog-40a1b708.js.map → Dialog-4a0ba834.js.map} +1 -1
  91. package/cjs/DirectionalCollapseArrowIcon-bf371f0c.js +1 -1
  92. package/cjs/DirectionalExpandArrowIcon-523cb952.js +1 -1
  93. package/cjs/{DragHandle-d5fb5905.js → DragHandle-636fb438.js} +2 -2
  94. package/cjs/{DragHandle-d5fb5905.js.map → DragHandle-636fb438.js.map} +1 -1
  95. package/cjs/{DrawerPopup-bfda88b2.js → DrawerPopup-2d34b341.js} +7 -7
  96. package/cjs/{DrawerPopup-bfda88b2.js.map → DrawerPopup-2d34b341.js.map} +1 -1
  97. package/cjs/{Dropdown-5f2b1927.js → Dropdown-f12a07c1.js} +5 -5
  98. package/cjs/{Dropdown-5f2b1927.js.map → Dropdown-f12a07c1.js.map} +1 -1
  99. package/cjs/{EnvironmentProvider-2e3ce052.js → EnvironmentProvider-753342f1.js} +3 -3
  100. package/cjs/{EnvironmentProvider-2e3ce052.js.map → EnvironmentProvider-753342f1.js.map} +1 -1
  101. package/cjs/ExpandableList-0a0d75b3.js +3 -3
  102. package/cjs/FilePicker-4df0ff29.js +2 -2
  103. package/cjs/{Flex-1784952c.js → Flex-da9f223a.js} +2 -2
  104. package/cjs/{Flex-1784952c.js.map → Flex-da9f223a.js.map} +1 -1
  105. package/cjs/{Floating-182ac2fe.js → Floating-dd6667de.js} +4 -4
  106. package/cjs/{Floating-182ac2fe.js.map → Floating-dd6667de.js.map} +1 -1
  107. package/cjs/FormLayout-04a48d51.js +1 -1
  108. package/cjs/Gantt-aa6f41d6.js +9 -9
  109. package/cjs/{Grid-fc707583.js → Grid-2579fce6.js} +2 -2
  110. package/cjs/{Grid-fc707583.js.map → Grid-2579fce6.js.map} +1 -1
  111. package/cjs/{Gridlines-2b411cf3.js → Gridlines-a64f52a4.js} +2 -2
  112. package/cjs/{Gridlines-2b411cf3.js.map → Gridlines-a64f52a4.js.map} +1 -1
  113. package/cjs/GroupLoadingIndicator-824d658f.js +1 -1
  114. package/cjs/{HighlightText-1ce21104.js → HighlightText-180547bc.js} +2 -2
  115. package/cjs/{HighlightText-1ce21104.js.map → HighlightText-180547bc.js.map} +1 -1
  116. package/cjs/Icon-6baa1a6f.js +3 -3
  117. package/cjs/IconButton-fad4e4b2.js +3 -3
  118. package/cjs/IconMenuButton-70ef4775.js +3 -3
  119. package/cjs/IconProgressButton-b4116a09.js +3 -3
  120. package/cjs/IconSwitchButton-2f946274.js +3 -3
  121. package/cjs/IconToggleButton-493cf27c.js +3 -3
  122. package/cjs/{IconUserAssistance-11dc4c4f.js → IconUserAssistance-f247ab50.js} +3 -3
  123. package/cjs/{IconUserAssistance-11dc4c4f.js.map → IconUserAssistance-f247ab50.js.map} +1 -1
  124. package/cjs/Indexer-a4a2d6b8.js +4 -4
  125. package/cjs/InlineHelpSource-d60cde6f.js +1 -1
  126. package/cjs/InlineUserAssistance-6c6d3250.js +5 -5
  127. package/cjs/InputDateMask-d6b1a660.js +7 -7
  128. package/cjs/{InputDatePicker-7eb5931a.js → InputDatePicker-026ea769.js} +10 -10
  129. package/cjs/{InputDatePicker-7eb5931a.js.map → InputDatePicker-026ea769.js.map} +1 -1
  130. package/cjs/InputPassword-e15aa37b.js +4 -4
  131. package/cjs/InputText-6a6ae7e5.js +6 -6
  132. package/cjs/Label-c51bd5de.js +5 -5
  133. package/cjs/LabelValueLayout-6b9232f5.js +1 -1
  134. package/cjs/{Layer-e2da85e2.js → Layer-2352de5e.js} +3 -3
  135. package/cjs/{Layer-e2da85e2.js.map → Layer-2352de5e.js.map} +1 -1
  136. package/cjs/{LayerHost-e7422109.js → LayerHost-8ec73638.js} +2 -2
  137. package/cjs/{LayerHost-e7422109.js.map → LayerHost-8ec73638.js.map} +1 -1
  138. package/cjs/{LayerManager-7fafa4ef.js → LayerManager-4857dbaf.js} +2 -2
  139. package/cjs/{LayerManager-7fafa4ef.js.map → LayerManager-4857dbaf.js.map} +1 -1
  140. package/cjs/Legend-7e72e911.js +3 -3
  141. package/cjs/{LineAreaChart-05a58ac5.js → LineAreaChart-bdd9e12c.js} +3 -3
  142. package/cjs/{LineAreaChart-05a58ac5.js.map → LineAreaChart-bdd9e12c.js.map} +1 -1
  143. package/cjs/{LineSeries-e66c1f73.js → LineSeries-a658f2b0.js} +2 -2
  144. package/cjs/{LineSeries-e66c1f73.js.map → LineSeries-a658f2b0.js.map} +1 -1
  145. package/cjs/Link-c928d5f1.js +1 -1
  146. package/cjs/List-bad74e43.js +5 -5
  147. package/cjs/{ListItemLayout-4a68e847.js → ListItemLayout-65dc2d2f.js} +2 -2
  148. package/cjs/{ListItemLayout-4a68e847.js.map → ListItemLayout-65dc2d2f.js.map} +1 -1
  149. package/cjs/ListView-80a9c725.js +3 -3
  150. package/cjs/{LiveRegion-e68b3027.js → LiveRegion-e3c8541c.js} +2 -2
  151. package/cjs/{LiveRegion-e68b3027.js.map → LiveRegion-e3c8541c.js.map} +1 -1
  152. package/cjs/{MaxLengthLiveRegion-fdcfe20c.js → MaxLengthLiveRegion-19583398.js} +3 -3
  153. package/cjs/{MaxLengthLiveRegion-fdcfe20c.js.map → MaxLengthLiveRegion-19583398.js.map} +1 -1
  154. package/cjs/Menu-77687523.js +6 -6
  155. package/cjs/MenuButton-e6eb6e3e.js +2 -2
  156. package/cjs/MenuItem-1878e08e.js +1 -1
  157. package/cjs/Message-20bc90cd.js +2 -2
  158. package/cjs/{MessageLayer-d90f7c1f.js → MessageLayer-5887f05d.js} +6 -6
  159. package/cjs/{MessageLayer-d90f7c1f.js.map → MessageLayer-5887f05d.js.map} +1 -1
  160. package/cjs/MessageToast-c0730ed5.js +8 -8
  161. package/cjs/MessagesManager-62fc84b8.js +3 -3
  162. package/cjs/MeterBar-1ae1adde.js +5 -5
  163. package/cjs/MeterCircle-7d18b5f3.js +5 -5
  164. package/cjs/{Modal-4e259a60.js → Modal-64a0608b.js} +4 -4
  165. package/cjs/{Modal-4e259a60.js.map → Modal-64a0608b.js.map} +1 -1
  166. package/cjs/{MonthView-03da0bd2.js → MonthView-f6d571ab.js} +4 -4
  167. package/cjs/{MonthView-03da0bd2.js.map → MonthView-f6d571ab.js.map} +1 -1
  168. package/cjs/NavigationListItem-0a49d6b5.js +5 -5
  169. package/cjs/NumberInputText-c58f78da.js +6 -6
  170. package/cjs/OverflowTabBarItem-70484f54.js +3 -3
  171. package/cjs/PRIVATE_BaseCardView.js +21 -21
  172. package/cjs/PRIVATE_Chart.js +31 -31
  173. package/cjs/PRIVATE_CheckboxControl.js +23 -23
  174. package/cjs/PRIVATE_CheckboxRadioField.js +25 -25
  175. package/cjs/PRIVATE_ClearIcon.js +17 -17
  176. package/cjs/PRIVATE_DatePickerHeader.js +18 -18
  177. package/cjs/PRIVATE_DatePickerLayout.js +4 -4
  178. package/cjs/PRIVATE_EmbeddedIconButton.js +3 -3
  179. package/cjs/PRIVATE_FormControls.js +19 -19
  180. package/cjs/PRIVATE_IconSwitchButton.js +15 -15
  181. package/cjs/PRIVATE_Icons/CheckboxMixed.js +15 -15
  182. package/cjs/PRIVATE_Icons/CheckboxOff.js +15 -15
  183. package/cjs/PRIVATE_Icons/CheckboxOn.js +15 -15
  184. package/cjs/PRIVATE_Icons/DragV.js +15 -15
  185. package/cjs/PRIVATE_Icons/WarningS.js +15 -15
  186. package/cjs/PRIVATE_List.js +19 -19
  187. package/cjs/PRIVATE_Message.js +18 -18
  188. package/cjs/PRIVATE_MessageLayer.js +12 -12
  189. package/cjs/PRIVATE_MonthView.js +7 -7
  190. package/cjs/PRIVATE_MonthYearGridView.js +7 -7
  191. package/cjs/PRIVATE_PlotArea.js +4 -4
  192. package/cjs/PRIVATE_RevealToggleIcon.js +16 -16
  193. package/cjs/PRIVATE_RichSelectionCommon.js +26 -26
  194. package/cjs/PRIVATE_SelectCommon.js +28 -28
  195. package/cjs/PRIVATE_StyledCard.js +4 -4
  196. package/cjs/PRIVATE_StyledCheckbox.js +15 -15
  197. package/cjs/PRIVATE_Table.js +24 -24
  198. package/cjs/PRIVATE_ThemedIcons/CalendarIcon.js +15 -15
  199. package/cjs/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +15 -15
  200. package/cjs/PRIVATE_ThemedIcons/ChartPanIcon.js +15 -15
  201. package/cjs/PRIVATE_ThemedIcons/ChartZoomIcon.js +15 -15
  202. package/cjs/PRIVATE_ThemedIcons/CheckIcon.js +15 -15
  203. package/cjs/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +15 -15
  204. package/cjs/PRIVATE_ThemedIcons/CheckboxOffIcon.js +15 -15
  205. package/cjs/PRIVATE_ThemedIcons/CheckboxOnIcon.js +15 -15
  206. package/cjs/PRIVATE_ThemedIcons/CloseIcon.js +15 -15
  207. package/cjs/PRIVATE_ThemedIcons/CollapseIcon.js +16 -16
  208. package/cjs/PRIVATE_ThemedIcons/CollapseUpIcon.js +15 -15
  209. package/cjs/PRIVATE_ThemedIcons/DecrementIcon.js +15 -15
  210. package/cjs/PRIVATE_ThemedIcons/DeleteIcon.js +15 -15
  211. package/cjs/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +16 -16
  212. package/cjs/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +16 -16
  213. package/cjs/PRIVATE_ThemedIcons/DragHandleIcon.js +15 -15
  214. package/cjs/PRIVATE_ThemedIcons/DropdownArrowIcon.js +15 -15
  215. package/cjs/PRIVATE_ThemedIcons/ExpandIcon.js +15 -15
  216. package/cjs/PRIVATE_ThemedIcons/HelpIcon.js +15 -15
  217. package/cjs/PRIVATE_ThemedIcons/IncrementIcon.js +15 -15
  218. package/cjs/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +15 -15
  219. package/cjs/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +15 -15
  220. package/cjs/PRIVATE_ThemedIcons/MessageErrorIcon.js +15 -15
  221. package/cjs/PRIVATE_ThemedIcons/MessageInfoIcon.js +15 -15
  222. package/cjs/PRIVATE_ThemedIcons/MessageWarningIcon.js +15 -15
  223. package/cjs/PRIVATE_ThemedIcons/MinusIcon.js +15 -15
  224. package/cjs/PRIVATE_ThemedIcons/NavDownIcon.js +15 -15
  225. package/cjs/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +15 -15
  226. package/cjs/PRIVATE_ThemedIcons/PlusIcon.js +15 -15
  227. package/cjs/PRIVATE_ThemedIcons/RadioOffIcon.js +15 -15
  228. package/cjs/PRIVATE_ThemedIcons/RadioOnIcon.js +15 -15
  229. package/cjs/PRIVATE_ThemedIcons/SortAscendingIcon.js +15 -15
  230. package/cjs/PRIVATE_ThemedIcons/SortDescendingIcon.js +15 -15
  231. package/cjs/PRIVATE_ThemedIcons/ViewHideIcon.js +15 -15
  232. package/cjs/PRIVATE_ThemedIcons/ViewIcon.js +15 -15
  233. package/cjs/PRIVATE_TimeComponent.js +17 -17
  234. package/cjs/PRIVATE_VisOverview.js +15 -15
  235. package/cjs/PRIVATE_VisTabularDatatip.js +4 -4
  236. package/cjs/PictoChart-fd613c80.js +6 -6
  237. package/cjs/PieChart-4ad1a50d.js +6 -6
  238. package/cjs/{Popup-75881ab5.js → Popup-17440baa.js} +9 -9
  239. package/cjs/{Popup-75881ab5.js.map → Popup-17440baa.js.map} +1 -1
  240. package/cjs/{ProgressBar-17a9e768.js → ProgressBar-06d15d77.js} +3 -3
  241. package/cjs/{ProgressBar-17a9e768.js.map → ProgressBar-06d15d77.js.map} +1 -1
  242. package/cjs/ProgressButton-81474622.js +3 -3
  243. package/cjs/ProgressButtonLabelLayout-b47ca0c8.js +3 -3
  244. package/cjs/{ProgressCircle-d67a420b.js → ProgressCircle-b3e0fbca.js} +2 -2
  245. package/cjs/{ProgressCircle-d67a420b.js.map → ProgressCircle-b3e0fbca.js.map} +1 -1
  246. package/cjs/RadioItem-3cc743ff.js +6 -6
  247. package/cjs/RatingGauge-75a971eb.js +8 -8
  248. package/cjs/ReadonlyTextFieldInput-9a0101dd.js +1 -1
  249. package/cjs/RemovableNavigationListItem-f3ad6e8e.js +1 -1
  250. package/cjs/RemovableTabBarItem-5c05fa32.js +2 -2
  251. package/cjs/ReorderableTabBar-0a94441d.js +3 -3
  252. package/cjs/RevealToggleIcon-4ec10dbe.js +1 -1
  253. package/cjs/{ScatterChart-9226c20d.js → ScatterChart-b2bdfc36.js} +3 -3
  254. package/cjs/{ScatterChart-9226c20d.js.map → ScatterChart-b2bdfc36.js.map} +1 -1
  255. package/cjs/SectionalLegend-ea2ac46d.js +4 -4
  256. package/cjs/{SectionedContent-7047a981.js → SectionedContent-265246da.js} +5 -5
  257. package/cjs/{SectionedContent-7047a981.js.map → SectionedContent-265246da.js.map} +1 -1
  258. package/cjs/SelectMultiple-3569988d.js +8 -8
  259. package/cjs/SelectSingle-43d6953e.js +7 -7
  260. package/cjs/{SelectionCard-1800ef8c.js → SelectionCard-ddefd698.js} +2 -2
  261. package/cjs/{SelectionCard-1800ef8c.js.map → SelectionCard-ddefd698.js.map} +1 -1
  262. package/cjs/Selector-1625dc85.js +1 -1
  263. package/cjs/{SelectorAll-89585d10.js → SelectorAll-e0989aef.js} +7 -7
  264. package/cjs/{SelectorAll-89585d10.js.map → SelectorAll-e0989aef.js.map} +1 -1
  265. package/cjs/{Sheet-6a7643e6.js → Sheet-78113d87.js} +3 -3
  266. package/cjs/{Sheet-6a7643e6.js.map → Sheet-78113d87.js.map} +1 -1
  267. package/cjs/SplitMenuButton-9c1b081c.js +2 -2
  268. package/cjs/{StyledCard-f06e0971.js → StyledCard-67d90e2e.js} +2 -2
  269. package/cjs/{StyledCard-f06e0971.js.map → StyledCard-67d90e2e.js.map} +1 -1
  270. package/cjs/{StyledLabelValueLayout-98aa97cc.js → StyledLabelValueLayout-5198483a.js} +2 -2
  271. package/cjs/{StyledLabelValueLayout-98aa97cc.js.map → StyledLabelValueLayout-5198483a.js.map} +1 -1
  272. package/cjs/StyledTextField-4b29d77a.js +3 -3
  273. package/cjs/TabBar-ae497b21.js +5 -5
  274. package/cjs/TabBarItem-868455a3.js +3 -3
  275. package/cjs/TabBarLayout-5cf3939d.js +1 -1
  276. package/cjs/TabBarMixed-d6b512da.js +5 -5
  277. package/cjs/{TabBarMixedSeparator-a280a0d4.js → TabBarMixedSeparator-2b8893d7.js} +2 -2
  278. package/cjs/{TabBarMixedSeparator-a280a0d4.js.map → TabBarMixedSeparator-2b8893d7.js.map} +1 -1
  279. package/cjs/Table-6987731e.js +9 -9
  280. package/cjs/TagCloud-2715c0e8.js +8 -8
  281. package/cjs/TextArea-d8516f11.js +5 -5
  282. package/cjs/TextAreaAutosize-1797d5b7.js +5 -5
  283. package/cjs/TextField-ea5d00e0.js +3 -3
  284. package/cjs/TextFieldInput-e803efee.js +1 -1
  285. package/cjs/Theme-redwood/theme.css +308 -308
  286. package/cjs/Theme-stable/theme.css +582 -582
  287. package/cjs/TimeComponentCanvas2D-13c06086.js +5 -5
  288. package/cjs/Toolbar-412dd092.js +1 -1
  289. package/cjs/TruncatingBadge-9c25bfc6.js +1 -1
  290. package/cjs/TruncatingText-c6b19242.js +1 -1
  291. package/cjs/UNSAFE_ActionCard.js +3 -3
  292. package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +31 -31
  293. package/cjs/UNSAFE_BarChart.js +31 -31
  294. package/cjs/UNSAFE_BaseButton.js +3 -3
  295. package/cjs/UNSAFE_Button.js +3 -3
  296. package/cjs/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +21 -21
  297. package/cjs/UNSAFE_ButtonSet.js +4 -4
  298. package/cjs/UNSAFE_ButtonSetButton.js +3 -3
  299. package/cjs/UNSAFE_ButtonSetIconButton.js +15 -15
  300. package/cjs/UNSAFE_ButtonSetItem.js +15 -15
  301. package/cjs/UNSAFE_ButtonSetMultiple.js +4 -4
  302. package/cjs/UNSAFE_ButtonSetSingle.js +4 -4
  303. package/cjs/UNSAFE_Card.js +5 -5
  304. package/cjs/UNSAFE_CardFlexView.js +21 -21
  305. package/cjs/UNSAFE_CardGridView.js +21 -21
  306. package/cjs/UNSAFE_Center.js +5 -5
  307. package/cjs/UNSAFE_Checkbox.js +23 -23
  308. package/cjs/UNSAFE_CheckboxItem.js +23 -23
  309. package/cjs/UNSAFE_CheckboxSet.js +24 -24
  310. package/cjs/UNSAFE_Chip.js +2 -2
  311. package/cjs/UNSAFE_Collapsible.js +17 -17
  312. package/cjs/UNSAFE_ComboChart.js +33 -33
  313. package/cjs/UNSAFE_ComponentMessage.js +18 -18
  314. package/cjs/UNSAFE_ConveyorBelt.js +15 -15
  315. package/cjs/UNSAFE_DatePicker.js +23 -23
  316. package/cjs/UNSAFE_Diagram.js +20 -20
  317. package/cjs/UNSAFE_Dialog.js +21 -21
  318. package/cjs/UNSAFE_DragHandle.js +17 -17
  319. package/cjs/UNSAFE_DrawerLayout.js +12 -12
  320. package/cjs/UNSAFE_DrawerPopup.js +13 -13
  321. package/cjs/UNSAFE_Dropdown.js +13 -13
  322. package/cjs/UNSAFE_Environment.js +4 -4
  323. package/cjs/UNSAFE_ExpandableList.js +22 -22
  324. package/cjs/UNSAFE_FilePicker.js +4 -4
  325. package/cjs/UNSAFE_Flex.js +4 -4
  326. package/cjs/UNSAFE_Floating.js +11 -11
  327. package/cjs/UNSAFE_FormLayout.js +2 -2
  328. package/cjs/UNSAFE_Gantt.js +22 -22
  329. package/cjs/UNSAFE_Grid.js +4 -4
  330. package/cjs/UNSAFE_HighlightText.js +4 -4
  331. package/cjs/UNSAFE_Icon.js +15 -15
  332. package/cjs/UNSAFE_IconButton.js +15 -15
  333. package/cjs/UNSAFE_IconMenuButton.js +21 -21
  334. package/cjs/UNSAFE_IconProgressButton.js +18 -18
  335. package/cjs/UNSAFE_IconToggleButton.js +15 -15
  336. package/cjs/UNSAFE_Indexer.js +6 -6
  337. package/cjs/UNSAFE_InputDateMask.js +25 -25
  338. package/cjs/UNSAFE_InputDatePicker.js +113 -113
  339. package/cjs/UNSAFE_InputPassword.js +24 -24
  340. package/cjs/UNSAFE_InputSensitiveText.js +26 -26
  341. package/cjs/UNSAFE_InputText.js +27 -27
  342. package/cjs/UNSAFE_InputTimeMask.js +25 -25
  343. package/cjs/UNSAFE_Label.js +23 -23
  344. package/cjs/UNSAFE_LabelValueLayout.js +4 -4
  345. package/cjs/UNSAFE_LabelledLink.js +25 -25
  346. package/cjs/UNSAFE_Layer.js +8 -8
  347. package/cjs/UNSAFE_Legend.js +25 -25
  348. package/cjs/UNSAFE_LineAreaChart.js +34 -34
  349. package/cjs/UNSAFE_Link.js +2 -2
  350. package/cjs/UNSAFE_ListItemLayout.js +5 -5
  351. package/cjs/UNSAFE_ListView.js +28 -28
  352. package/cjs/UNSAFE_LiveRegion.js +4 -4
  353. package/cjs/UNSAFE_Menu.js +23 -23
  354. package/cjs/UNSAFE_MenuButton.js +21 -21
  355. package/cjs/UNSAFE_MessageBanner.js +18 -18
  356. package/cjs/UNSAFE_MessageToast.js +21 -21
  357. package/cjs/UNSAFE_MeterBar.js +16 -16
  358. package/cjs/UNSAFE_MeterCircle.js +17 -17
  359. package/cjs/UNSAFE_Modal.js +9 -9
  360. package/cjs/UNSAFE_NavigationList.js +19 -19
  361. package/cjs/UNSAFE_NavigationListCommon.js +17 -17
  362. package/cjs/UNSAFE_NumberInputText.js +26 -26
  363. package/cjs/UNSAFE_OverflowTabBar.js +24 -24
  364. package/cjs/UNSAFE_PictoChart.js +14 -14
  365. package/cjs/UNSAFE_PieChart/__test__/PieChart.spec.js +22 -22
  366. package/cjs/UNSAFE_PieChart.js +22 -22
  367. package/cjs/UNSAFE_Popup.js +17 -17
  368. package/cjs/UNSAFE_ProgressBar.js +5 -5
  369. package/cjs/UNSAFE_ProgressButton.js +18 -18
  370. package/cjs/UNSAFE_ProgressButtonLabelLayout.js +10 -10
  371. package/cjs/UNSAFE_ProgressCircle.js +4 -4
  372. package/cjs/UNSAFE_RadioItem.js +23 -23
  373. package/cjs/UNSAFE_RadioSet.js +24 -24
  374. package/cjs/UNSAFE_RatingGauge.js +17 -17
  375. package/cjs/UNSAFE_ReorderableTabBar.js +25 -25
  376. package/cjs/UNSAFE_RichCheckboxSet.js +26 -26
  377. package/cjs/UNSAFE_RichRadioSet.js +26 -26
  378. package/cjs/UNSAFE_RichSelectionItem.js +20 -20
  379. package/cjs/UNSAFE_ScatterChart.js +34 -34
  380. package/cjs/UNSAFE_SectionalLegend.js +26 -26
  381. package/cjs/UNSAFE_SelectMultiple.js +31 -31
  382. package/cjs/UNSAFE_SelectSingle.js +31 -31
  383. package/cjs/UNSAFE_SelectionCard.js +5 -5
  384. package/cjs/UNSAFE_Selector.js +15 -15
  385. package/cjs/UNSAFE_SelectorAll.js +19 -19
  386. package/cjs/UNSAFE_Sheet/__test__/Sheet.spec.js +15 -15
  387. package/cjs/UNSAFE_Sheet.js +12 -12
  388. package/cjs/UNSAFE_SplitMenuButton.js +21 -21
  389. package/cjs/UNSAFE_TabBar.js +25 -25
  390. package/cjs/UNSAFE_TabBarCommon.js +25 -25
  391. package/cjs/UNSAFE_TabBarMixed.js +26 -26
  392. package/cjs/UNSAFE_TableView.js +24 -24
  393. package/cjs/UNSAFE_TagCloud.js +24 -24
  394. package/cjs/UNSAFE_TextArea.js +26 -26
  395. package/cjs/UNSAFE_TextAreaAutosize.js +26 -26
  396. package/cjs/UNSAFE_TextField.js +8 -8
  397. package/cjs/UNSAFE_ToggleButton.js +3 -3
  398. package/cjs/UNSAFE_Toolbar/tests/Toolbar.spec.js +23 -23
  399. package/cjs/UNSAFE_Toolbar.js +4 -4
  400. package/cjs/UNSAFE_Train.js +16 -16
  401. package/cjs/UNSAFE_TruncatingBadge.js +16 -16
  402. package/cjs/UNSAFE_TruncatingText.js +16 -16
  403. package/cjs/UNSAFE_UserAssistance.js +24 -24
  404. package/cjs/UNSAFE_View.js +7 -7
  405. package/cjs/UNSAFE_VirtualizedListView.js +19 -19
  406. package/cjs/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  407. package/cjs/UNSAFE_VisProgressiveLoader.js +6 -6
  408. package/cjs/UNSAFE_VisStatusMessage.js +6 -6
  409. package/cjs/UNSAFE_WindowOverlay.js +4 -4
  410. package/cjs/{View-d1f755d6.js → View-216e5184.js} +5 -5
  411. package/cjs/{View-d1f755d6.js.map → View-216e5184.js.map} +1 -1
  412. package/cjs/{VisNoData-42b0a337.js → VisNoData-cb7e51db.js} +3 -3
  413. package/cjs/{VisNoData-42b0a337.js.map → VisNoData-cb7e51db.js.map} +1 -1
  414. package/cjs/{VisProgressiveLoader-9df623f7.js → VisProgressiveLoader-a23d091a.js} +3 -3
  415. package/cjs/{VisProgressiveLoader-9df623f7.js.map → VisProgressiveLoader-a23d091a.js.map} +1 -1
  416. package/cjs/{VisTabularDatatip-45ad4745.js → VisTabularDatatip-275aecb1.js} +2 -2
  417. package/cjs/{VisTabularDatatip-45ad4745.js.map → VisTabularDatatip-275aecb1.js.map} +1 -1
  418. package/cjs/{WindowOverlay-7c4308eb.js → WindowOverlay-7ef8a86f.js} +2 -2
  419. package/cjs/{WindowOverlay-7c4308eb.js.map → WindowOverlay-7ef8a86f.js.map} +1 -1
  420. package/cjs/{YearsGridView-67ce0a3a.js → YearsGridView-2a44d096.js} +4 -4
  421. package/cjs/{YearsGridView-67ce0a3a.js.map → YearsGridView-2a44d096.js.map} +1 -1
  422. package/cjs/hoc/PRIVATE_withDirectionIcon.js +4 -4
  423. package/cjs/hoc/PRIVATE_withThemeIcon.js +3 -3
  424. package/cjs/hoc/UNSAFE_withThemeProps.js +3 -3
  425. package/cjs/hooks/PRIVATE_useChartContextMenu.js +21 -21
  426. package/cjs/hooks/PRIVATE_useChartDatatip.js +14 -14
  427. package/cjs/hooks/PRIVATE_useChartEvents.js +18 -18
  428. package/cjs/hooks/PRIVATE_useChartMarquee.js +17 -17
  429. package/cjs/hooks/PRIVATE_useCssVars.js +7 -7
  430. package/cjs/hooks/PRIVATE_useCurrentKey.js +4 -4
  431. package/cjs/hooks/PRIVATE_useDatatip.js +12 -12
  432. package/cjs/hooks/PRIVATE_useFloating.js +4 -4
  433. package/cjs/hooks/PRIVATE_useReorderable.js +5 -5
  434. package/cjs/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  435. package/cjs/hooks/PRIVATE_useSelection.js +4 -4
  436. package/cjs/hooks/PRIVATE_useTabBar.js +4 -4
  437. package/cjs/hooks/PRIVATE_useTooltipOnTruncation.js +16 -16
  438. package/cjs/hooks/PRIVATE_useVisContextMenu.js +21 -21
  439. package/cjs/hooks/PRIVATE_useVisDragModeControls.js +17 -17
  440. package/cjs/hooks/PRIVATE_useVisEvents.js +4 -4
  441. package/cjs/hooks/PRIVATE_useVisMeterEvents.js +14 -14
  442. package/cjs/hooks/PRIVATE_useVisSelection.js +13 -13
  443. package/cjs/hooks/UNSAFE_useColorScheme.js +3 -3
  444. package/cjs/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  445. package/cjs/hooks/UNSAFE_useDensity.js +3 -3
  446. package/cjs/hooks/UNSAFE_useOutsideClick.js +8 -8
  447. package/cjs/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  448. package/cjs/hooks/UNSAFE_useScale.js +3 -3
  449. package/cjs/hooks/UNSAFE_useTestId.js +3 -3
  450. package/cjs/hooks/UNSAFE_useTheme.js +3 -3
  451. package/cjs/hooks/UNSAFE_useThemeInterpolations.js +6 -6
  452. package/cjs/hooks/UNSAFE_useTooltip.js +16 -16
  453. package/cjs/hooks/UNSAFE_useTranslationBundle.js +3 -3
  454. package/cjs/hooks/UNSAFE_useUser.js +3 -3
  455. package/cjs/{index-91cbbc8f.js → index-2f29df43.js} +2 -2
  456. package/cjs/index-2f29df43.js.map +1 -0
  457. package/cjs/listViewSelectionTests-dd1cb645.js +3 -3
  458. package/cjs/{popupUtils-06257231.js → popupUtils-79b1d484.js} +2 -2
  459. package/cjs/{popupUtils-06257231.js.map → popupUtils-79b1d484.js.map} +1 -1
  460. package/cjs/{render-bbb56123.js → render-c0edd1df.js} +3 -3
  461. package/cjs/{render-bbb56123.js.map → render-c0edd1df.js.map} +1 -1
  462. package/cjs/{tabbableUtils-bf2872af.js → tabbableUtils-79cc438a.js} +3 -3
  463. package/cjs/{tabbableUtils-bf2872af.js.map → tabbableUtils-79cc438a.js.map} +1 -1
  464. package/cjs/{testData-e9f1958f.js → testData-37f37783.js} +3 -3
  465. package/cjs/{testData-e9f1958f.js.map → testData-37f37783.js.map} +1 -1
  466. package/cjs/{tooltipUtils-de8fb707.js → tooltipUtils-d461919d.js} +5 -5
  467. package/cjs/{tooltipUtils-de8fb707.js.map → tooltipUtils-d461919d.js.map} +1 -1
  468. package/cjs/useCellNavigation-d503e35f.js +1 -1
  469. package/cjs/useChartContextMenu-deb506be.js +2 -2
  470. package/cjs/{useChartDatatip-cdf6b355.js → useChartDatatip-8ac215db.js} +4 -4
  471. package/cjs/{useChartDatatip-cdf6b355.js.map → useChartDatatip-8ac215db.js.map} +1 -1
  472. package/cjs/{useColorScheme-608bfb12.js → useColorScheme-b4de9e67.js} +2 -2
  473. package/cjs/{useColorScheme-608bfb12.js.map → useColorScheme-b4de9e67.js.map} +1 -1
  474. package/cjs/useContextMenu-24530094.js +2 -2
  475. package/cjs/{useCssVars-5f04a6a7.js → useCssVars-99ce6e96.js} +5 -5
  476. package/cjs/{useCssVars-5f04a6a7.js.map → useCssVars-99ce6e96.js.map} +1 -1
  477. package/cjs/{useCurrentBgColor-71248657.js → useCurrentBgColor-c7fc57f9.js} +2 -2
  478. package/cjs/{useCurrentBgColor-71248657.js.map → useCurrentBgColor-c7fc57f9.js.map} +1 -1
  479. package/cjs/{useCurrentKey-186268c7.js → useCurrentKey-a667c275.js} +2 -2
  480. package/cjs/{useCurrentKey-186268c7.js.map → useCurrentKey-a667c275.js.map} +1 -1
  481. package/cjs/{useDatatip-b826df26.js → useDatatip-14e6aeb0.js} +4 -4
  482. package/cjs/{useDatatip-b826df26.js.map → useDatatip-14e6aeb0.js.map} +1 -1
  483. package/cjs/{useDensity-90bf4230.js → useDensity-301606ec.js} +2 -2
  484. package/cjs/{useDensity-90bf4230.js.map → useDensity-301606ec.js.map} +1 -1
  485. package/cjs/{useFloating-adaff3c2.js → useFloating-c64ecd7f.js} +2 -2
  486. package/cjs/{useFloating-adaff3c2.js.map → useFloating-c64ecd7f.js.map} +1 -1
  487. package/cjs/{useKeyboardEvents-37b75506.js → useKeyboardEvents-01439376.js} +2 -2
  488. package/cjs/{useKeyboardEvents-37b75506.js.map → useKeyboardEvents-01439376.js.map} +1 -1
  489. package/cjs/useLegendContextMenu-d8d7169f.js +4 -4
  490. package/cjs/{useMeterDatatip-5fec5498.js → useMeterDatatip-cd934c90.js} +3 -3
  491. package/cjs/{useMeterDatatip-5fec5498.js.map → useMeterDatatip-cd934c90.js.map} +1 -1
  492. package/cjs/{useOutsideClick-0a44efb7.js → useOutsideClick-8e9209c6.js} +2 -2
  493. package/cjs/{useOutsideClick-0a44efb7.js.map → useOutsideClick-8e9209c6.js.map} +1 -1
  494. package/cjs/{usePopupAnimation-8feebb14.js → usePopupAnimation-be93af25.js} +2 -2
  495. package/cjs/{usePopupAnimation-8feebb14.js.map → usePopupAnimation-be93af25.js.map} +1 -1
  496. package/cjs/{usePrefixSuffix-cf0928b7.js → usePrefixSuffix-6b098390.js} +2 -2
  497. package/cjs/{usePrefixSuffix-cf0928b7.js.map → usePrefixSuffix-6b098390.js.map} +1 -1
  498. package/cjs/{useReorderableItem-395fb94f.js → useReorderableItem-72595ee3.js} +3 -3
  499. package/cjs/{useReorderableItem-395fb94f.js.map → useReorderableItem-72595ee3.js.map} +1 -1
  500. package/cjs/{useRovingTabIndexContainer-c7777956.js → useRovingTabIndexContainer-a94dee6f.js} +2 -2
  501. package/cjs/{useRovingTabIndexContainer-c7777956.js.map → useRovingTabIndexContainer-a94dee6f.js.map} +1 -1
  502. package/cjs/{useScale-789866f5.js → useScale-779458a9.js} +2 -2
  503. package/cjs/{useScale-789866f5.js.map → useScale-779458a9.js.map} +1 -1
  504. package/cjs/useSelectCommon-38a38427.js +11 -11
  505. package/cjs/{useSelectDrill-ad5864fd.js → useSelectDrill-7a60b9e6.js} +3 -3
  506. package/cjs/{useSelectDrill-ad5864fd.js.map → useSelectDrill-7a60b9e6.js.map} +1 -1
  507. package/cjs/{useSelection-8f68a23a.js → useSelection-64ee26f0.js} +5 -5
  508. package/cjs/{useSelection-8f68a23a.js.map → useSelection-64ee26f0.js.map} +1 -1
  509. package/cjs/{useSelection-2c02e7f5.js → useSelection-fc1ebcfc.js} +2 -2
  510. package/cjs/{useSelection-2c02e7f5.js.map → useSelection-fc1ebcfc.js.map} +1 -1
  511. package/cjs/useTabBar-697db61c.js +1 -1
  512. package/cjs/{useTestId-1fac9baa.js → useTestId-32c35bff.js} +2 -2
  513. package/cjs/{useTestId-1fac9baa.js.map → useTestId-32c35bff.js.map} +1 -1
  514. package/cjs/{useTheme-08782a3b.js → useTheme-b256f71f.js} +2 -2
  515. package/cjs/{useTheme-08782a3b.js.map → useTheme-b256f71f.js.map} +1 -1
  516. package/cjs/{useThemeInterpolations-d1968de3.js → useThemeInterpolations-e3c7807c.js} +5 -5
  517. package/cjs/{useThemeInterpolations-d1968de3.js.map → useThemeInterpolations-e3c7807c.js.map} +1 -1
  518. package/cjs/{useTooltip-8542c678.js → useTooltip-cf4a15f3.js} +5 -5
  519. package/cjs/{useTooltip-8542c678.js.map → useTooltip-cf4a15f3.js.map} +1 -1
  520. package/cjs/{useTooltipOnTruncation-2884dbf2.js → useTooltipOnTruncation-cea31e18.js} +4 -4
  521. package/cjs/{useTooltipOnTruncation-2884dbf2.js.map → useTooltipOnTruncation-cea31e18.js.map} +1 -1
  522. package/cjs/{useTranslationBundle-40fa4c27.js → useTranslationBundle-38c0edae.js} +2 -2
  523. package/cjs/{useTranslationBundle-40fa4c27.js.map → useTranslationBundle-38c0edae.js.map} +1 -1
  524. package/cjs/{useUser-3175822e.js → useUser-c85f9587.js} +2 -2
  525. package/cjs/{useUser-3175822e.js.map → useUser-c85f9587.js.map} +1 -1
  526. package/cjs/useVisDragModeControls-d3a7aa57.js +1 -1
  527. package/cjs/{useVisEvents-58b584ab.js → useVisEvents-eb36d5e5.js} +2 -2
  528. package/cjs/{useVisEvents-58b584ab.js.map → useVisEvents-eb36d5e5.js.map} +1 -1
  529. package/cjs/utils/PRIVATE_tooltipUtils.js +14 -14
  530. package/cjs/utils/PRIVATE_visTestUtils.js +5 -5
  531. package/cjs/utils/UNSAFE_popupUtils.js +8 -8
  532. package/cjs/{withDirectionIcon-92109463.js → withDirectionIcon-8c57ce02.js} +2 -2
  533. package/cjs/{withDirectionIcon-92109463.js.map → withDirectionIcon-8c57ce02.js.map} +1 -1
  534. package/cjs/withThemeProps-c4127d27.js +2 -2
  535. package/es/ActionCard-bac27bb9.js +1 -1
  536. package/es/AvatarVariants.styles.css +25 -25
  537. package/es/AvatarVariants.styles2.css +25 -25
  538. package/es/BarChart-43dec3b7.js +1 -1
  539. package/es/BarGroup-dbf70e2c.js +1 -1
  540. package/es/BaseButton-61f6baa8.js +2 -2
  541. package/es/BaseCardView-724422f3.js +8 -8
  542. package/es/{BaseCardViewSelectionTest-ef070684.js → BaseCardViewSelectionTest-ef8b024a.js} +7 -7
  543. package/es/{BaseCardViewSelectionTest-ef070684.js.map → BaseCardViewSelectionTest-ef8b024a.js.map} +1 -1
  544. package/es/BaseNavigationListItem-1c75c13f.js +1 -1
  545. package/es/BaseRichSelection-72edca7c.js +9 -9
  546. package/es/ButtonSet-9b2c41be.js +2 -2
  547. package/es/ButtonSetIconButton-0081167a.js +3 -3
  548. package/es/{Card-31dc8dc2.js → Card-f3b7c723.js} +2 -2
  549. package/es/{Card-31dc8dc2.js.map → Card-f3b7c723.js.map} +1 -1
  550. package/es/{Center-2be68188.js → Center-76b761ea.js} +2 -2
  551. package/es/{Center-2be68188.js.map → Center-76b761ea.js.map} +1 -1
  552. package/es/Chart-4ec13697.js +8 -8
  553. package/es/Checkbox-74259575.js +4 -4
  554. package/es/CheckboxControl-c3c34028.js +6 -6
  555. package/es/CheckboxRadioField-294463ba.js +7 -7
  556. package/es/CheckboxSet-140804f2.js +49 -0
  557. package/es/CheckboxSet-140804f2.js.map +1 -0
  558. package/es/Chip-8fd813ce.js +1 -1
  559. package/es/ClearIcon-acca9670.js +1 -1
  560. package/es/CollapseIcon-152e59b4.js +1 -1
  561. package/es/Collapsible-4dddc4f7.js +2 -2
  562. package/es/ComboChart-d1c3e17a.js +2 -2
  563. package/es/CompactHelpSource-c3044924.js +2 -2
  564. package/es/{CompactLabelAssistance-0d70fceb.js → CompactLabelAssistance-fd3fb481.js} +5 -5
  565. package/es/{CompactLabelAssistance-0d70fceb.js.map → CompactLabelAssistance-fd3fb481.js.map} +1 -1
  566. package/es/CompactUserAssistance-4f0ff3fc.js +4 -4
  567. package/es/ComponentMessageContainer-13005c12.js +4 -4
  568. package/es/ConveyorBeltItem-53f383e1.js +2 -2
  569. package/es/{DatePicker-a57b08b1.js → DatePicker-383fc43a.js} +6 -6
  570. package/es/{DatePicker-a57b08b1.js.map → DatePicker-383fc43a.js.map} +1 -1
  571. package/es/DatePickerHeader-8eee60aa.js +3 -3
  572. package/es/{Diagram-29d78c10.js → Diagram-7af64b34.js} +5 -5
  573. package/es/{Diagram-29d78c10.js.map → Diagram-7af64b34.js.map} +1 -1
  574. package/es/{Dialog-8a9a90a2.js → Dialog-fbbcc306.js} +8 -8
  575. package/es/{Dialog-8a9a90a2.js.map → Dialog-fbbcc306.js.map} +1 -1
  576. package/es/DirectionalCollapseArrowIcon-e1b04846.js +1 -1
  577. package/es/DirectionalExpandArrowIcon-c9218fa7.js +1 -1
  578. package/es/{DragHandle-198c3118.js → DragHandle-99d4c921.js} +2 -2
  579. package/es/{DragHandle-198c3118.js.map → DragHandle-99d4c921.js.map} +1 -1
  580. package/es/{DrawerPopup-5292bdfc.js → DrawerPopup-9cdb203a.js} +7 -7
  581. package/es/{DrawerPopup-5292bdfc.js.map → DrawerPopup-9cdb203a.js.map} +1 -1
  582. package/es/{Dropdown-698afbc6.js → Dropdown-60833900.js} +5 -5
  583. package/es/{Dropdown-698afbc6.js.map → Dropdown-60833900.js.map} +1 -1
  584. package/es/{EnvironmentProvider-713d0dec.js → EnvironmentProvider-bada8909.js} +3 -3
  585. package/es/{EnvironmentProvider-713d0dec.js.map → EnvironmentProvider-bada8909.js.map} +1 -1
  586. package/es/ExpandableList-27f4f0d4.js +3 -3
  587. package/es/FilePicker-c3f06d6f.js +2 -2
  588. package/es/{Flex-2d9ebee9.js → Flex-ce31b351.js} +2 -2
  589. package/es/{Flex-2d9ebee9.js.map → Flex-ce31b351.js.map} +1 -1
  590. package/es/{Floating-5191a9e6.js → Floating-f02677ba.js} +4 -4
  591. package/es/{Floating-5191a9e6.js.map → Floating-f02677ba.js.map} +1 -1
  592. package/es/FormLayout-b2993e0c.js +1 -1
  593. package/es/Gantt-e156bd33.js +9 -9
  594. package/es/{Grid-238d8757.js → Grid-421eb560.js} +2 -2
  595. package/es/{Grid-238d8757.js.map → Grid-421eb560.js.map} +1 -1
  596. package/es/{Gridlines-d37f55d2.js → Gridlines-6098cb5b.js} +2 -2
  597. package/es/{Gridlines-d37f55d2.js.map → Gridlines-6098cb5b.js.map} +1 -1
  598. package/es/GroupLoadingIndicator-93bcf33f.js +1 -1
  599. package/es/{HighlightText-fef35694.js → HighlightText-86d92552.js} +2 -2
  600. package/es/{HighlightText-fef35694.js.map → HighlightText-86d92552.js.map} +1 -1
  601. package/es/Icon-030b6dd4.js +3 -3
  602. package/es/IconButton-19fcf0a8.js +3 -3
  603. package/es/IconMenuButton-4118bde6.js +3 -3
  604. package/es/IconProgressButton-a595c052.js +3 -3
  605. package/es/IconSwitchButton-dcafa86c.js +3 -3
  606. package/es/IconToggleButton-94cbea2b.js +3 -3
  607. package/es/{IconUserAssistance-d9bc82d4.js → IconUserAssistance-92be9618.js} +3 -3
  608. package/es/{IconUserAssistance-d9bc82d4.js.map → IconUserAssistance-92be9618.js.map} +1 -1
  609. package/es/Indexer-18ec7af3.js +4 -4
  610. package/es/InlineHelpSource-5ed4bb7d.js +1 -1
  611. package/es/InlineUserAssistance-65ca8810.js +5 -5
  612. package/es/InputDateMask-8258be53.js +7 -7
  613. package/es/{InputDatePicker-a659ed3a.js → InputDatePicker-163d1e3f.js} +10 -10
  614. package/es/{InputDatePicker-a659ed3a.js.map → InputDatePicker-163d1e3f.js.map} +1 -1
  615. package/es/InputPassword-65336899.js +4 -4
  616. package/es/InputText-21591785.js +6 -6
  617. package/es/Label-25eba25e.js +5 -5
  618. package/es/LabelValueLayout-1db91391.js +1 -1
  619. package/es/{Layer-1eb18747.js → Layer-446bf21e.js} +3 -3
  620. package/es/{Layer-1eb18747.js.map → Layer-446bf21e.js.map} +1 -1
  621. package/es/{LayerHost-8b98d97d.js → LayerHost-e6402730.js} +2 -2
  622. package/es/{LayerHost-8b98d97d.js.map → LayerHost-e6402730.js.map} +1 -1
  623. package/es/{LayerManager-221afe20.js → LayerManager-fa745cec.js} +2 -2
  624. package/es/{LayerManager-221afe20.js.map → LayerManager-fa745cec.js.map} +1 -1
  625. package/es/Legend-0e274097.js +3 -3
  626. package/es/{LineAreaChart-6fabda31.js → LineAreaChart-32cf5c62.js} +3 -3
  627. package/es/{LineAreaChart-6fabda31.js.map → LineAreaChart-32cf5c62.js.map} +1 -1
  628. package/es/{LineSeries-139bda1a.js → LineSeries-fc167ea2.js} +2 -2
  629. package/es/{LineSeries-139bda1a.js.map → LineSeries-fc167ea2.js.map} +1 -1
  630. package/es/Link-c7061441.js +1 -1
  631. package/es/List-58b8d3c9.js +5 -5
  632. package/es/{ListItemLayout-af86b17d.js → ListItemLayout-e9854821.js} +2 -2
  633. package/es/{ListItemLayout-af86b17d.js.map → ListItemLayout-e9854821.js.map} +1 -1
  634. package/es/ListView-be2e2736.js +3 -3
  635. package/es/{LiveRegion-c7bf2f21.js → LiveRegion-b56a1aa2.js} +2 -2
  636. package/es/{LiveRegion-c7bf2f21.js.map → LiveRegion-b56a1aa2.js.map} +1 -1
  637. package/es/MaxLengthCounter-181b4fc9.js +25 -0
  638. package/{amd/MaxLengthCounter-9a95922c.js.map → es/MaxLengthCounter-181b4fc9.js.map} +1 -1
  639. package/es/{MaxLengthLiveRegion-d790e55c.js → MaxLengthLiveRegion-2f3d34cf.js} +3 -3
  640. package/es/{MaxLengthLiveRegion-d790e55c.js.map → MaxLengthLiveRegion-2f3d34cf.js.map} +1 -1
  641. package/es/Menu-a5bf756f.js +6 -6
  642. package/es/MenuButton-e012a909.js +2 -2
  643. package/es/MenuItem-54015ca3.js +1 -1
  644. package/es/Message-b0150c6f.js +2 -2
  645. package/es/{MessageLayer-d9129e22.js → MessageLayer-7e3184aa.js} +6 -6
  646. package/es/{MessageLayer-d9129e22.js.map → MessageLayer-7e3184aa.js.map} +1 -1
  647. package/es/MessageToast-933a0339.js +8 -8
  648. package/es/MessagesManager-91ade5dc.js +3 -3
  649. package/es/MeterBar-732e3b2c.js +5 -5
  650. package/es/MeterCircle-2156d7ff.js +5 -5
  651. package/es/{Modal-9980f6d1.js → Modal-24a0bf4b.js} +4 -4
  652. package/es/{Modal-9980f6d1.js.map → Modal-24a0bf4b.js.map} +1 -1
  653. package/es/{MonthView-d60a5df7.js → MonthView-21b2163a.js} +4 -4
  654. package/es/{MonthView-d60a5df7.js.map → MonthView-21b2163a.js.map} +1 -1
  655. package/es/NavigationList-fb05e081.js +5 -5
  656. package/es/NumberInputText-2d1aef12.js +6 -6
  657. package/es/OverflowTabBarItem-a578401b.js +3 -3
  658. package/es/PRIVATE_BaseCardView/themes/redwood/BaseCardViewBaseTheme.css.js +1 -1
  659. package/es/PRIVATE_BaseCardView/themes/stable/BaseCardViewBaseTheme.css.js +1 -1
  660. package/es/PRIVATE_BaseCardView.js +22 -22
  661. package/es/PRIVATE_Chart.js +31 -31
  662. package/es/PRIVATE_CheckboxControl.js +23 -23
  663. package/es/PRIVATE_CheckboxRadioField.js +25 -25
  664. package/es/PRIVATE_ClearIcon.js +17 -17
  665. package/es/PRIVATE_DatePickerHeader.js +18 -18
  666. package/es/PRIVATE_DatePickerLayout.js +4 -4
  667. package/es/PRIVATE_EmbeddedIconButton.js +3 -3
  668. package/es/PRIVATE_FormControls.js +19 -19
  669. package/es/PRIVATE_IconSwitchButton.js +15 -15
  670. package/es/PRIVATE_Icons/CheckboxMixed.js +15 -15
  671. package/es/PRIVATE_Icons/CheckboxOff.js +15 -15
  672. package/es/PRIVATE_Icons/CheckboxOn.js +15 -15
  673. package/es/PRIVATE_Icons/DragV.js +15 -15
  674. package/es/PRIVATE_Icons/WarningS.js +15 -15
  675. package/es/PRIVATE_List.js +19 -19
  676. package/es/PRIVATE_Message.js +18 -18
  677. package/es/PRIVATE_MessageLayer.js +12 -12
  678. package/es/PRIVATE_MonthView.js +7 -7
  679. package/es/PRIVATE_MonthYearGridView.js +7 -7
  680. package/es/PRIVATE_PlotArea.js +4 -4
  681. package/es/PRIVATE_RevealToggleIcon.js +16 -16
  682. package/es/PRIVATE_RichSelectionCommon.js +26 -26
  683. package/es/PRIVATE_SelectCommon.js +28 -28
  684. package/es/PRIVATE_StyledCard.js +4 -4
  685. package/es/PRIVATE_StyledCheckbox.js +15 -15
  686. package/es/PRIVATE_Table.js +24 -24
  687. package/es/PRIVATE_ThemedIcons/CalendarIcon.js +15 -15
  688. package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +15 -15
  689. package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +15 -15
  690. package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +15 -15
  691. package/es/PRIVATE_ThemedIcons/CheckIcon.js +15 -15
  692. package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +15 -15
  693. package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +15 -15
  694. package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +15 -15
  695. package/es/PRIVATE_ThemedIcons/CloseIcon.js +15 -15
  696. package/es/PRIVATE_ThemedIcons/CollapseIcon.js +16 -16
  697. package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +15 -15
  698. package/es/PRIVATE_ThemedIcons/DecrementIcon.js +15 -15
  699. package/es/PRIVATE_ThemedIcons/DeleteIcon.js +15 -15
  700. package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +16 -16
  701. package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +16 -16
  702. package/es/PRIVATE_ThemedIcons/DragHandleIcon.js +15 -15
  703. package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +15 -15
  704. package/es/PRIVATE_ThemedIcons/ExpandIcon.js +15 -15
  705. package/es/PRIVATE_ThemedIcons/HelpIcon.js +15 -15
  706. package/es/PRIVATE_ThemedIcons/IncrementIcon.js +15 -15
  707. package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +15 -15
  708. package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +15 -15
  709. package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +15 -15
  710. package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +15 -15
  711. package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +15 -15
  712. package/es/PRIVATE_ThemedIcons/MinusIcon.js +15 -15
  713. package/es/PRIVATE_ThemedIcons/NavDownIcon.js +15 -15
  714. package/es/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +15 -15
  715. package/es/PRIVATE_ThemedIcons/PlusIcon.js +15 -15
  716. package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +15 -15
  717. package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +15 -15
  718. package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +15 -15
  719. package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +15 -15
  720. package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +15 -15
  721. package/es/PRIVATE_ThemedIcons/ViewIcon.js +15 -15
  722. package/es/PRIVATE_TimeComponent.js +17 -17
  723. package/es/PRIVATE_VisOverview.js +15 -15
  724. package/es/PRIVATE_VisTabularDatatip.js +4 -4
  725. package/es/PictoChart-9624c62e.js +6 -6
  726. package/es/PieChart-87a2913f.js +6 -6
  727. package/es/{Popup-f6774b40.js → Popup-d8bf7f4d.js} +9 -9
  728. package/es/{Popup-f6774b40.js.map → Popup-d8bf7f4d.js.map} +1 -1
  729. package/es/{ProgressBar-6d816723.js → ProgressBar-2fa99d6f.js} +3 -3
  730. package/es/{ProgressBar-6d816723.js.map → ProgressBar-2fa99d6f.js.map} +1 -1
  731. package/es/ProgressButton-bb52347a.js +3 -3
  732. package/es/ProgressButtonLabelLayout-f1d097d6.js +3 -3
  733. package/es/{ProgressCircle-bbcf67fd.js → ProgressCircle-faf79b79.js} +2 -2
  734. package/es/{ProgressCircle-bbcf67fd.js.map → ProgressCircle-faf79b79.js.map} +1 -1
  735. package/es/RadioIconVariants.styles.css +3 -3
  736. package/es/RadioIconVariants.styles2.css +3 -3
  737. package/es/RadioItem-81e9e082.js +6 -6
  738. package/es/RatingGauge-5e1e75b4.js +8 -8
  739. package/es/ReadonlyTextFieldInput-f407b86c.js +1 -1
  740. package/es/RemovableNavigationListItem-21cd36b7.js +1 -1
  741. package/es/RemovableTabBarItem-60574a52.js +2 -2
  742. package/es/ReorderableTabBar-c280e7d4.js +3 -3
  743. package/es/RevealToggleIcon-8e650973.js +1 -1
  744. package/es/{ScatterChart-1f818935.js → ScatterChart-56abf439.js} +3 -3
  745. package/es/{ScatterChart-1f818935.js.map → ScatterChart-56abf439.js.map} +1 -1
  746. package/es/SectionalLegend-64670096.js +4 -4
  747. package/es/{SectionedContent-48fa242f.js → SectionedContent-3274d8f9.js} +5 -5
  748. package/es/{SectionedContent-48fa242f.js.map → SectionedContent-3274d8f9.js.map} +1 -1
  749. package/es/SegmentStyles.styles.css +11 -8
  750. package/es/SegmentStyles.styles2.css +8 -11
  751. package/es/SelectMultiple-c7f9e747.js +8 -8
  752. package/es/SelectSingle-75270526.js +7 -7
  753. package/es/{SelectionCard-ce3012e8.js → SelectionCard-1ed9cf08.js} +2 -2
  754. package/es/{SelectionCard-ce3012e8.js.map → SelectionCard-1ed9cf08.js.map} +1 -1
  755. package/es/Selector-41618991.js +1 -1
  756. package/es/{SelectorAll-27744634.js → SelectorAll-f52550a6.js} +7 -7
  757. package/es/{SelectorAll-27744634.js.map → SelectorAll-f52550a6.js.map} +1 -1
  758. package/es/{Sheet-924cfdab.js → Sheet-da412baf.js} +3 -3
  759. package/es/{Sheet-924cfdab.js.map → Sheet-da412baf.js.map} +1 -1
  760. package/es/SplitMenuButton-5cb6e8db.js +2 -2
  761. package/es/{StyledCard-c8d9836f.js → StyledCard-362bd74b.js} +2 -2
  762. package/es/{StyledCard-c8d9836f.js.map → StyledCard-362bd74b.js.map} +1 -1
  763. package/es/{StyledLabelValueLayout-5b9a731a.js → StyledLabelValueLayout-d4881d3b.js} +2 -2
  764. package/es/{StyledLabelValueLayout-5b9a731a.js.map → StyledLabelValueLayout-d4881d3b.js.map} +1 -1
  765. package/es/StyledTextField-6d6dd43e.js +3 -3
  766. package/es/TabBar-4d7054f7.js +5 -5
  767. package/es/TabBarItem-b97091e4.js +3 -3
  768. package/es/TabBarLayout-bb3f9f69.js +1 -1
  769. package/es/TabBarMixed-b8e2427c.js +5 -5
  770. package/es/{TabBarMixedSeparator-7669e2f0.js → TabBarMixedSeparator-51c518a1.js} +2 -2
  771. package/es/{TabBarMixedSeparator-7669e2f0.js.map → TabBarMixedSeparator-51c518a1.js.map} +1 -1
  772. package/es/Table-b8c41429.js +9 -9
  773. package/es/TagCloud-0fe9b648.js +8 -8
  774. package/es/{TextArea-6584935d.js → TextArea-a888d849.js} +13 -30
  775. package/{amd/TextArea-0ec1a311.js.map → es/TextArea-a888d849.js.map} +1 -1
  776. package/es/{TextAreaAutosize-2ca5256e.js → TextAreaAutosize-c2a52cba.js} +7 -7
  777. package/es/{TextAreaAutosize-2ca5256e.js.map → TextAreaAutosize-c2a52cba.js.map} +1 -1
  778. package/es/TextField-500c0227.js +3 -3
  779. package/es/TextFieldInput-cb551f4e.js +1 -1
  780. package/es/Theme-redwood/theme.css +471 -480
  781. package/es/Theme-stable/theme.css +484 -475
  782. package/es/TimeComponentCanvas2D-a5baa5f6.js +5 -5
  783. package/es/Toolbar-35426a1b.js +1 -1
  784. package/es/TruncatingBadge-69621d89.js +1 -1
  785. package/es/TruncatingText-fd66e0e0.js +1 -1
  786. package/es/UNSAFE_ActionCard.js +3 -3
  787. package/es/UNSAFE_Avatar/themes/redwood/AvatarTheme.js +1 -1
  788. package/es/UNSAFE_Avatar/themes/redwood/AvatarVariants.css.js +1 -1
  789. package/es/UNSAFE_Avatar/themes/stable/AvatarTheme.js +1 -1
  790. package/es/UNSAFE_Avatar/themes/stable/AvatarVariants.css.js +1 -1
  791. package/es/UNSAFE_Avatar.js +1 -1
  792. package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +31 -31
  793. package/es/UNSAFE_BarChart.js +31 -31
  794. package/es/UNSAFE_BaseButton.js +3 -3
  795. package/es/UNSAFE_Button.js +3 -3
  796. package/es/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +21 -21
  797. package/es/UNSAFE_ButtonSet.js +4 -4
  798. package/es/UNSAFE_ButtonSetButton.js +3 -3
  799. package/es/UNSAFE_ButtonSetIconButton.js +15 -15
  800. package/es/UNSAFE_ButtonSetItem.js +15 -15
  801. package/es/UNSAFE_ButtonSetMultiple.js +4 -4
  802. package/es/UNSAFE_ButtonSetSingle.js +4 -4
  803. package/es/UNSAFE_Card.js +5 -5
  804. package/es/UNSAFE_CardFlexView.js +22 -22
  805. package/es/UNSAFE_CardGridView.js +22 -22
  806. package/es/UNSAFE_Center.js +5 -5
  807. package/es/UNSAFE_Checkbox.js +23 -23
  808. package/es/UNSAFE_CheckboxItem.js +105 -53
  809. package/es/UNSAFE_CheckboxItem.js.map +1 -1
  810. package/es/UNSAFE_CheckboxSet.js +34 -68
  811. package/es/UNSAFE_CheckboxSet.js.map +1 -1
  812. package/es/UNSAFE_Chip.js +2 -2
  813. package/es/UNSAFE_Collapsible.js +17 -17
  814. package/es/UNSAFE_ComboChart.js +33 -33
  815. package/es/UNSAFE_ComponentMessage.js +18 -18
  816. package/es/UNSAFE_ConveyorBelt.js +15 -15
  817. package/es/UNSAFE_DatePicker.js +23 -23
  818. package/es/UNSAFE_Diagram.js +20 -20
  819. package/es/UNSAFE_Dialog.js +21 -21
  820. package/es/UNSAFE_DragHandle.js +17 -17
  821. package/es/UNSAFE_DrawerLayout.js +12 -12
  822. package/es/UNSAFE_DrawerPopup.js +13 -13
  823. package/es/UNSAFE_Dropdown.js +13 -13
  824. package/es/UNSAFE_Environment.js +4 -4
  825. package/es/UNSAFE_ExpandableList.js +22 -22
  826. package/es/UNSAFE_FilePicker.js +4 -4
  827. package/es/UNSAFE_Flex.js +4 -4
  828. package/es/UNSAFE_Floating.js +11 -11
  829. package/es/UNSAFE_FormLayout.js +2 -2
  830. package/es/UNSAFE_Gantt.js +22 -22
  831. package/es/UNSAFE_Grid.js +4 -4
  832. package/es/UNSAFE_HighlightText.js +4 -4
  833. package/es/UNSAFE_Icon.js +15 -15
  834. package/es/UNSAFE_IconButton.js +15 -15
  835. package/es/UNSAFE_IconMenuButton.js +21 -21
  836. package/es/UNSAFE_IconProgressButton.js +18 -18
  837. package/es/UNSAFE_IconToggleButton.js +15 -15
  838. package/es/UNSAFE_Indexer.js +6 -6
  839. package/es/UNSAFE_InputDateMask/themes/SegmentStyles.css.js +1 -1
  840. package/es/UNSAFE_InputDateMask.js +26 -26
  841. package/es/UNSAFE_InputDatePicker.js +115 -115
  842. package/es/UNSAFE_InputPassword.js +24 -24
  843. package/es/UNSAFE_InputSensitiveText.js +26 -26
  844. package/es/UNSAFE_InputText.js +27 -27
  845. package/es/UNSAFE_InputTimeMask/themes/SegmentStyles.css.js +1 -1
  846. package/es/UNSAFE_InputTimeMask.js +26 -26
  847. package/es/UNSAFE_Label.js +23 -23
  848. package/es/UNSAFE_LabelValueLayout.js +4 -4
  849. package/es/UNSAFE_LabelledLink.js +25 -25
  850. package/es/UNSAFE_Layer.js +8 -8
  851. package/es/UNSAFE_Legend.js +25 -25
  852. package/es/UNSAFE_LineAreaChart.js +34 -34
  853. package/es/UNSAFE_Link.js +2 -2
  854. package/es/UNSAFE_ListItemLayout.js +5 -5
  855. package/es/UNSAFE_ListView.js +28 -28
  856. package/es/UNSAFE_LiveRegion.js +4 -4
  857. package/es/UNSAFE_Menu.js +23 -23
  858. package/es/UNSAFE_MenuButton.js +21 -21
  859. package/es/UNSAFE_MessageBanner.js +18 -18
  860. package/es/UNSAFE_MessageToast.js +21 -21
  861. package/es/UNSAFE_MeterBar.js +16 -16
  862. package/es/UNSAFE_MeterCircle.js +17 -17
  863. package/es/UNSAFE_Modal.js +9 -9
  864. package/es/UNSAFE_NavigationList.js +19 -19
  865. package/es/UNSAFE_NavigationListCommon.js +18 -18
  866. package/es/UNSAFE_NumberInputText.js +26 -26
  867. package/es/UNSAFE_OverflowTabBar.js +24 -24
  868. package/es/UNSAFE_PictoChart.js +14 -14
  869. package/es/UNSAFE_PieChart/__test__/PieChart.spec.js +22 -22
  870. package/es/UNSAFE_PieChart.js +22 -22
  871. package/es/UNSAFE_Popup.js +17 -17
  872. package/es/UNSAFE_ProgressBar.js +5 -5
  873. package/es/UNSAFE_ProgressButton.js +18 -18
  874. package/es/UNSAFE_ProgressButtonLabelLayout.js +10 -10
  875. package/es/UNSAFE_ProgressCircle.js +4 -4
  876. package/es/UNSAFE_RadioItem/themes/redwood/RadioIconTheme.js +1 -1
  877. package/es/UNSAFE_RadioItem/themes/redwood/RadioIconVariants.css.js +1 -1
  878. package/es/UNSAFE_RadioItem/themes/stable/RadioIconTheme.js +1 -1
  879. package/es/UNSAFE_RadioItem/themes/stable/RadioIconVariants.css.js +1 -1
  880. package/es/UNSAFE_RadioItem.js +24 -24
  881. package/es/UNSAFE_RadioSet.js +24 -24
  882. package/es/UNSAFE_RatingGauge.js +17 -17
  883. package/es/UNSAFE_ReorderableTabBar.js +25 -25
  884. package/es/UNSAFE_RichCheckboxSet.js +50 -47
  885. package/es/UNSAFE_RichCheckboxSet.js.map +1 -1
  886. package/es/UNSAFE_RichRadioSet.js +26 -26
  887. package/es/UNSAFE_RichSelectionItem.js +199 -60
  888. package/es/UNSAFE_RichSelectionItem.js.map +1 -1
  889. package/es/UNSAFE_ScatterChart.js +34 -34
  890. package/es/UNSAFE_SectionalLegend.js +26 -26
  891. package/es/UNSAFE_SelectMultiple.js +31 -31
  892. package/es/UNSAFE_SelectSingle.js +31 -31
  893. package/es/UNSAFE_SelectionCard.js +5 -5
  894. package/es/UNSAFE_Selector.js +15 -15
  895. package/es/UNSAFE_SelectorAll.js +19 -19
  896. package/es/UNSAFE_Sheet/__test__/Sheet.spec.js +15 -15
  897. package/es/UNSAFE_Sheet.js +12 -12
  898. package/es/UNSAFE_SplitMenuButton.js +21 -21
  899. package/es/UNSAFE_TabBar.js +25 -25
  900. package/es/UNSAFE_TabBarCommon.js +25 -25
  901. package/es/UNSAFE_TabBarMixed.js +26 -26
  902. package/es/UNSAFE_TableView.js +24 -24
  903. package/es/UNSAFE_TagCloud.js +24 -24
  904. package/es/UNSAFE_TextArea.js +29 -28
  905. package/es/UNSAFE_TextArea.js.map +1 -1
  906. package/es/UNSAFE_TextAreaAutosize.js +29 -29
  907. package/es/UNSAFE_TextField.js +8 -8
  908. package/es/UNSAFE_ToggleButton.js +3 -3
  909. package/es/UNSAFE_Toolbar/tests/Toolbar.spec.js +23 -23
  910. package/es/UNSAFE_Toolbar.js +4 -4
  911. package/es/UNSAFE_Train.js +16 -16
  912. package/es/UNSAFE_TruncatingBadge.js +16 -16
  913. package/es/UNSAFE_TruncatingText.js +16 -16
  914. package/es/UNSAFE_UserAssistance.js +24 -24
  915. package/es/UNSAFE_View.js +7 -7
  916. package/es/UNSAFE_VirtualizedListView.js +19 -19
  917. package/es/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  918. package/es/UNSAFE_VisProgressiveLoader.js +6 -6
  919. package/es/UNSAFE_VisStatusMessage.js +6 -6
  920. package/es/UNSAFE_WindowOverlay.js +4 -4
  921. package/es/{View-cf6dfd8e.js → View-afe98b65.js} +5 -5
  922. package/es/{View-cf6dfd8e.js.map → View-afe98b65.js.map} +1 -1
  923. package/es/{VisNoData-d6e475d8.js → VisNoData-9ceb58f4.js} +3 -3
  924. package/es/{VisNoData-d6e475d8.js.map → VisNoData-9ceb58f4.js.map} +1 -1
  925. package/es/{VisProgressiveLoader-36053d5a.js → VisProgressiveLoader-36c728ac.js} +3 -3
  926. package/es/{VisProgressiveLoader-36053d5a.js.map → VisProgressiveLoader-36c728ac.js.map} +1 -1
  927. package/es/{VisTabularDatatip-3497f5ff.js → VisTabularDatatip-59629377.js} +2 -2
  928. package/es/{VisTabularDatatip-3497f5ff.js.map → VisTabularDatatip-59629377.js.map} +1 -1
  929. package/es/{WindowOverlay-ca2baa48.js → WindowOverlay-a07b2e24.js} +2 -2
  930. package/es/{WindowOverlay-ca2baa48.js.map → WindowOverlay-a07b2e24.js.map} +1 -1
  931. package/es/{YearsGridView-2c978d9f.js → YearsGridView-c5c58bf9.js} +4 -4
  932. package/es/{YearsGridView-2c978d9f.js.map → YearsGridView-c5c58bf9.js.map} +1 -1
  933. package/es/hoc/PRIVATE_withDirectionIcon.js +4 -4
  934. package/es/hoc/PRIVATE_withThemeIcon.js +3 -3
  935. package/es/hoc/UNSAFE_withThemeProps.js +3 -3
  936. package/es/hooks/PRIVATE_useChartContextMenu.js +21 -21
  937. package/es/hooks/PRIVATE_useChartDatatip.js +14 -14
  938. package/es/hooks/PRIVATE_useChartEvents.js +18 -18
  939. package/es/hooks/PRIVATE_useChartMarquee.js +17 -17
  940. package/es/hooks/PRIVATE_useCssVars.js +7 -7
  941. package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
  942. package/es/hooks/PRIVATE_useDatatip.js +12 -12
  943. package/es/hooks/PRIVATE_useFloating.js +4 -4
  944. package/es/hooks/PRIVATE_useReorderable.js +5 -5
  945. package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  946. package/es/hooks/PRIVATE_useSelection.js +4 -4
  947. package/es/hooks/PRIVATE_useTabBar.js +4 -4
  948. package/es/hooks/PRIVATE_useTooltipOnTruncation.js +16 -16
  949. package/es/hooks/PRIVATE_useVisContextMenu.js +21 -21
  950. package/es/hooks/PRIVATE_useVisDragModeControls.js +17 -17
  951. package/es/hooks/PRIVATE_useVisEvents.js +4 -4
  952. package/es/hooks/PRIVATE_useVisMeterEvents.js +14 -14
  953. package/es/hooks/PRIVATE_useVisSelection.js +13 -13
  954. package/es/hooks/UNSAFE_useColorScheme.js +3 -3
  955. package/es/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  956. package/es/hooks/UNSAFE_useDensity.js +3 -3
  957. package/es/hooks/UNSAFE_useOutsideClick.js +8 -8
  958. package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  959. package/es/hooks/UNSAFE_useScale.js +3 -3
  960. package/es/hooks/UNSAFE_useTestId.js +3 -3
  961. package/es/hooks/UNSAFE_useTheme.js +3 -3
  962. package/es/hooks/UNSAFE_useThemeInterpolations.js +6 -6
  963. package/es/hooks/UNSAFE_useTooltip.js +16 -16
  964. package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
  965. package/es/hooks/UNSAFE_useUser.js +3 -3
  966. package/es/{index-3fdaba9a.js → index-e33bcd96.js} +2 -2
  967. package/es/index-e33bcd96.js.map +1 -0
  968. package/es/listViewSelectionTests-d1f64e6f.js +3 -3
  969. package/es/{popupUtils-24a723a0.js → popupUtils-58411a98.js} +2 -2
  970. package/es/{popupUtils-24a723a0.js.map → popupUtils-58411a98.js.map} +1 -1
  971. package/es/{render-4d96f0d2.js → render-343557e9.js} +3 -3
  972. package/es/{render-4d96f0d2.js.map → render-343557e9.js.map} +1 -1
  973. package/es/{tabbableUtils-070beeed.js → tabbableUtils-d6485f5e.js} +3 -3
  974. package/es/{tabbableUtils-070beeed.js.map → tabbableUtils-d6485f5e.js.map} +1 -1
  975. package/es/{testData-e1df8616.js → testData-d5181e9f.js} +3 -3
  976. package/es/{testData-e1df8616.js.map → testData-d5181e9f.js.map} +1 -1
  977. package/es/{tooltipUtils-35655bd6.js → tooltipUtils-768450a7.js} +5 -5
  978. package/es/{tooltipUtils-35655bd6.js.map → tooltipUtils-768450a7.js.map} +1 -1
  979. package/es/useCellNavigation-bdb3248d.js +1 -1
  980. package/es/useChartContextMenu-61fe46b8.js +2 -2
  981. package/es/{useChartDatatip-b0d35cfe.js → useChartDatatip-d6a6c5e1.js} +4 -4
  982. package/es/{useChartDatatip-b0d35cfe.js.map → useChartDatatip-d6a6c5e1.js.map} +1 -1
  983. package/es/{useColorScheme-8e5e458d.js → useColorScheme-c4e237ad.js} +2 -2
  984. package/es/{useColorScheme-8e5e458d.js.map → useColorScheme-c4e237ad.js.map} +1 -1
  985. package/es/useContextMenu-3c62d9eb.js +2 -2
  986. package/es/{useCssVars-608cb842.js → useCssVars-d72a8439.js} +5 -5
  987. package/es/{useCssVars-608cb842.js.map → useCssVars-d72a8439.js.map} +1 -1
  988. package/es/{useCurrentBgColor-ee671513.js → useCurrentBgColor-14745af3.js} +2 -2
  989. package/es/{useCurrentBgColor-ee671513.js.map → useCurrentBgColor-14745af3.js.map} +1 -1
  990. package/es/{useCurrentKey-b8e62707.js → useCurrentKey-7287061f.js} +2 -2
  991. package/es/{useCurrentKey-b8e62707.js.map → useCurrentKey-7287061f.js.map} +1 -1
  992. package/es/{useDatatip-daec4346.js → useDatatip-9635bc2f.js} +4 -4
  993. package/es/{useDatatip-daec4346.js.map → useDatatip-9635bc2f.js.map} +1 -1
  994. package/es/{useDensity-556ca8b2.js → useDensity-c17603b2.js} +2 -2
  995. package/es/{useDensity-556ca8b2.js.map → useDensity-c17603b2.js.map} +1 -1
  996. package/es/{useFloating-abfd69eb.js → useFloating-953362cf.js} +2 -2
  997. package/es/{useFloating-abfd69eb.js.map → useFloating-953362cf.js.map} +1 -1
  998. package/es/{useKeyboardEvents-7202253d.js → useKeyboardEvents-2378a650.js} +2 -2
  999. package/es/{useKeyboardEvents-7202253d.js.map → useKeyboardEvents-2378a650.js.map} +1 -1
  1000. package/es/useLegendContextMenu-66d6eb7e.js +4 -4
  1001. package/es/{useMeterDatatip-dcd2a05e.js → useMeterDatatip-834e67e1.js} +3 -3
  1002. package/es/{useMeterDatatip-dcd2a05e.js.map → useMeterDatatip-834e67e1.js.map} +1 -1
  1003. package/es/{useOutsideClick-817bf098.js → useOutsideClick-fd9ad806.js} +2 -2
  1004. package/es/{useOutsideClick-817bf098.js.map → useOutsideClick-fd9ad806.js.map} +1 -1
  1005. package/es/{usePopupAnimation-6e0781b5.js → usePopupAnimation-f017bc43.js} +2 -2
  1006. package/es/{usePopupAnimation-6e0781b5.js.map → usePopupAnimation-f017bc43.js.map} +1 -1
  1007. package/es/{usePrefixSuffix-0874343c.js → usePrefixSuffix-5a74f2c4.js} +2 -2
  1008. package/es/{usePrefixSuffix-0874343c.js.map → usePrefixSuffix-5a74f2c4.js.map} +1 -1
  1009. package/es/{useReorderableItem-99a9dbce.js → useReorderableItem-22ea4c46.js} +3 -3
  1010. package/es/{useReorderableItem-99a9dbce.js.map → useReorderableItem-22ea4c46.js.map} +1 -1
  1011. package/es/{useRovingTabIndexContainer-f7972085.js → useRovingTabIndexContainer-bc7ae447.js} +2 -2
  1012. package/es/{useRovingTabIndexContainer-f7972085.js.map → useRovingTabIndexContainer-bc7ae447.js.map} +1 -1
  1013. package/es/{useScale-1cdb639e.js → useScale-83881775.js} +2 -2
  1014. package/es/{useScale-1cdb639e.js.map → useScale-83881775.js.map} +1 -1
  1015. package/es/useSelectCommon-896b594a.js +11 -11
  1016. package/es/{useSelectDrill-5525e5a3.js → useSelectDrill-f4781439.js} +3 -3
  1017. package/es/{useSelectDrill-5525e5a3.js.map → useSelectDrill-f4781439.js.map} +1 -1
  1018. package/es/{useSelection-8be05a70.js → useSelection-0bd0618d.js} +5 -5
  1019. package/es/{useSelection-8be05a70.js.map → useSelection-0bd0618d.js.map} +1 -1
  1020. package/es/{useSelection-2d26ab04.js → useSelection-649fd4f1.js} +2 -2
  1021. package/es/{useSelection-2d26ab04.js.map → useSelection-649fd4f1.js.map} +1 -1
  1022. package/es/useTabBar-cbac0c2e.js +1 -1
  1023. package/es/{useTestId-474ac6ca.js → useTestId-9b504481.js} +2 -2
  1024. package/es/{useTestId-474ac6ca.js.map → useTestId-9b504481.js.map} +1 -1
  1025. package/es/{useTheme-5aa36f52.js → useTheme-93c07059.js} +2 -2
  1026. package/es/{useTheme-5aa36f52.js.map → useTheme-93c07059.js.map} +1 -1
  1027. package/es/{useThemeInterpolations-05e58770.js → useThemeInterpolations-8dd8029f.js} +5 -5
  1028. package/es/{useThemeInterpolations-05e58770.js.map → useThemeInterpolations-8dd8029f.js.map} +1 -1
  1029. package/es/{useTooltip-138c94ee.js → useTooltip-89ca3f3e.js} +5 -5
  1030. package/es/{useTooltip-138c94ee.js.map → useTooltip-89ca3f3e.js.map} +1 -1
  1031. package/es/{useTooltipOnTruncation-a97211b6.js → useTooltipOnTruncation-175bf8a6.js} +4 -4
  1032. package/es/{useTooltipOnTruncation-a97211b6.js.map → useTooltipOnTruncation-175bf8a6.js.map} +1 -1
  1033. package/es/{useTranslationBundle-2df40edf.js → useTranslationBundle-09302c20.js} +2 -2
  1034. package/es/{useTranslationBundle-2df40edf.js.map → useTranslationBundle-09302c20.js.map} +1 -1
  1035. package/es/{useUser-6b2e271a.js → useUser-1cd223a9.js} +2 -2
  1036. package/es/{useUser-6b2e271a.js.map → useUser-1cd223a9.js.map} +1 -1
  1037. package/es/useVisDragModeControls-ed260d12.js +1 -1
  1038. package/es/{useVisEvents-d8652100.js → useVisEvents-8877743b.js} +2 -2
  1039. package/es/{useVisEvents-d8652100.js.map → useVisEvents-8877743b.js.map} +1 -1
  1040. package/es/utils/PRIVATE_tooltipUtils.js +14 -14
  1041. package/es/utils/PRIVATE_visTestUtils.js +6 -6
  1042. package/es/utils/UNSAFE_popupUtils.js +8 -8
  1043. package/es/{withDirectionIcon-fe0b69a7.js → withDirectionIcon-19a1d777.js} +2 -2
  1044. package/es/{withDirectionIcon-fe0b69a7.js.map → withDirectionIcon-19a1d777.js.map} +1 -1
  1045. package/es/withThemeProps-1621f692.js +2 -2
  1046. package/package.json +2 -2
  1047. package/amd/CardFlexView-f7fdfac8.js +0 -2
  1048. package/amd/CardGridView-b8a60fae.js +0 -2
  1049. package/amd/List-0da6ee9c.js +0 -2
  1050. package/amd/LoadMoreCollection-a6adbc3f.js +0 -2
  1051. package/amd/MaxLengthCounter-9a95922c.js +0 -2
  1052. package/amd/TextArea-0ec1a311.js +0 -2
  1053. package/amd/TextAreaAutosize-8cac0a54.js +0 -2
  1054. package/cjs/index-91cbbc8f.js.map +0 -1
  1055. package/es/CheckboxSetContext-1be56556.js +0 -9
  1056. package/es/CheckboxSetContext-1be56556.js.map +0 -1
  1057. package/es/index-3fdaba9a.js.map +0 -1
  1058. /package/es/PRIVATE_BaseCardView/themes/{redwood → stable}/BaseCardViewBaseTheme.styles.css +0 -0
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact', 'preact/compat', 'preact/hooks', './mergeProps-bcfa6a92', './keys-4755c121', './collectionUtils-f4de3e13', './useCurrentKey-b0a79216', './useCollectionFocusRing-9dab85a9', './useTabbableModeSet-343aa523', './useSelection-5f192f9f', './LayerHost-733ade2f', 'css!./DragAndDropStyles.styles.css', 'css!./ReorderableItemStyles.styles.css', './ReorderableContext-6d10a1b7', './Selector-fcfe7801', './HiddenAccessible-037ef42d', './LoadMoreCollection-a6adbc3f', './PRIVATE_BaseCardView/themes/BaseCardViewStyles.css', './classNames-08d99695', './refUtils-d354a169', './logger-0f873e29', './tabbableUtils-428c264e', './useId-c9578d26', './useAnimation-5a74955f', './useResizeObserver-275c3e83', './TabbableModeContext-a9c97640', './FocusTrap-d351e5c9', './useUser-797287de', './useReorderableItem-9e759302', './useReorderableContext-a5453bd7', './Grid-a8a51c37', './Flex-590160eb', './PRIVATE_BaseCardView/themes/BaseCardViewContract.css', './Skeleton-a09190e1', './useCurrentItemOverride-bb6266d0', 'module'], (function(e,t,r,s,n,o,a,i,l,c,d,u,y,m,f,h,g,x,b,C,p,S,R,v,E,I,T,w,A,K,L,O,j,k,M,D,P,F){"use strict";function V({currentKey:e,children:r,dragKey:s,setDragKey:o,onReorder:l,rootRef:c,gutterSize:d,columns:u,context:y}){const m=n.useRef(null),f=1===u,h=y.index%u==0,g=y.index%u==u-1,x=C.multiVariantStyles({itemOverlayFront:d}),b=C.multiVariantStyles({itemOverlayFrontVertical:d}),S={itemOverlayFront:f?b:x,itemOverlayRear:f?C.styles.itemOverlayRearVertical:C.styles.itemOverlayRear,itemDragger:C.styles.itemDragger},R=n.useCallback((()=>m?.current?.closest(i.ITEM_SELECTOR)),[]),v=n.useCallback((e=>{e.dataTransfer?.setData("text/cardview-items-key",JSON.stringify(y.metadata.key))}),[y.metadata.key]),{rootProps:E,isDragged:I,overlayZoneBeforeProps:T,overlayZoneAfterProps:w}=L.useReorderableItem({isDisabled:!l,dragKey:s,setDragKey:o,onReorder:l,rootRef:c,ref:m,getItem:R,setTransferData:v,itemStyles:S,itemSelector:i.ITEM_SELECTOR,isVertical:f}),{currentItemKey:A}=O.useReorderableContext();n.useEffect((()=>{e===y.metadata.key&&(A.current=e)}),[e,y,A]);const{direction:j}=K.useUser(),k="rtl"===j,M=p.classNames([T?.class,!f&&!k&&h&&C.styles.itemOverlayFrontEdge,!f&&k&&g&&C.styles.itemOverlayFrontEdge]),D=p.classNames([w?.class,!f&&!k&&g&&C.styles.itemOverlayRearEdge,!f&&k&&h&&C.styles.itemOverlayRearEdge]);return t.jsxs("div",{...E,children:[r,!I&&a.isKeyDefined(s)&&t.jsxs(t.Fragment,{children:[t.jsx("div",{...T,class:M}),t.jsx("div",{...w,class:D})]})]})}const B=e=>({animationStates:{slideUp:{from:{translateY:"50px"},to:{translateY:"0px"},options:{duration:300,delay:50*e,easing:[0,0,.2,1]}},slideDown:{from:{translateY:"-50px"},to:{translateY:"0"},options:{duration:300,delay:50*e,easing:[0,0,.2,1]}}},isAnimatedOnMount:!0}),_=(e,t)=>({animationStates:{opacity:{from:{opacity:0},to:{opacity:1},options:{duration:150,delay:50*e,easing:"linear"}}},isAnimatedOnMount:!0,onAnimationEnd:()=>{t.current&&clearTimeout(t.current)}}),z=s.memo((function({children:e,context:r,isTabbable:s,isFocused:o,isFocusRingVisible:a,isSelected:i,selectionMode:l,focusBehavior:c,setIsFocusBehaviorValid:d,initialAnimation:u,isGridLayout:y,updateCardSize:m,reorderItemProps:f}){const h=n.useRef(null),g=n.useRef(),x=r.metadata.key,b=r.index,K=o&&a,L=C.multiVariantStyles({itemFocused:"card"===c&&K?"isItemFocused":"isNotItemFocused",itemInitialOpacity:u?"isTransparent":"isNotTransparent",itemInGridLayout:y?"isInGridLayout":"isNotInGridLayout"}),O=p.classNames([C.styles.itemStyle,L]),j=n.useCallback((e=>{m?.(e.contentRect.width,e.contentRect.height)}),[m]),k=n.useRef(null);T.useResizeObserver(m?h:k,j),n.useLayoutEffect((()=>{if("content"===c&&K){const e=h.current?.firstElementChild?.firstElementChild,t=v.allTabbableElements(e,!0,!0);0===t.length||t.length>1?(R.warn(`${t.length} focusable elements are detected in the card. 'content' focusBehavior is intended only for use when the card has single focusable element. Please specify one focusable element in the card or switch the focusBehavior to 'card'.`),d?.(!1)):t[0].focus()}}),[c,K,d]);const{nodeRef:M,controller:D}=I.useAnimation(u||"none",B(b)),{nodeRef:P,controller:F}=I.useAnimation(u?"opacity":"none",_(b,g));n.useEffect((()=>{void 0!==u&&(g.current=setTimeout((()=>{D.cancel(),F.cancel(),h.current&&(h.current.style.opacity="1")}),1e3))}),[F,D,u]);const z=n.useMemo((()=>void 0===u?S.mergeRefs(h):S.mergeRefs(h,M,P)),[h,M,P,u]),N=f?t.jsx(V,{...f,context:r,children:e(r)}):e(r);return t.jsx("div",{id:E.useId(),ref:z,class:O,role:"gridcell","data-oj-key":x,onKeyDown:e=>{"card"!==c||!s||"ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||e.stopPropagation()},"aria-selected":"none"===l?void 0:i,..."number"==typeof x&&{"data-oj-key-type":"number"},children:t.jsx(w.TabbableModeContext.Provider,{value:{isTabbable:s},children:t.jsx(A.FocusTrap,{isDisabled:!s,restoreFocusRef:!1,children:N})})})}),((e,t)=>{return!(!e||!t)&&(e.children===t.children&&e.isTabbable===t.isTabbable&&e.isFocused===t.isFocused&&e.isFocusRingVisible===t.isFocusRingVisible&&e.isSelected===t.isSelected&&e.initialAnimation===t.initialAnimation&&e.focusBehavior===t.focusBehavior&&i.compareListItemContext(e.context,t.context)&&(r=e.reorderItemProps,s=t.reorderItemProps,r?.currentKey===s?.currentKey&&r?.dragKey===s?.dragKey&&r?.columns===s?.columns));var r,s}));function N({children:e,layout:r,gutterSize:s,columns:n}){const o=M.cardViewVars.gutterSize[s];return"grid"===r?n<1?null:t.jsx(j.Grid,{gridTemplateColumns:`repeat(${n}, 1fr)`,gap:o,children:e}):t.jsx(k.Flex,{wrap:"wrap",gap:o,children:e})}function U({children:e}){const[s,o]=n.useState(!1);return n.useEffect((()=>{setTimeout((()=>{o(!0)}),50)}),[]),s?t.jsx(r.Fragment,{children:e}):t.jsx("div",{class:b.LOADMORE_STYLE_CLASS})}const Y=(e,r=25,s,n,o=!0)=>{const a=s||("flex"===e?"60x":"100%"),i=n||"70x";return[...Array(r)].map(((e,r)=>t.jsx(D.Skeleton,{width:a,height:i},o&&`${r}${(new Date).getTime()}`)))},H=e=>t.jsx(U,{children:Y(e.layout)}),G=e=>{const r=[t.jsx("div",{class:b.LOADMORE_STYLE_CLASS,children:Y(e.layout,1)}),...Y(e.layout,24)];return t.jsx(U,{children:r})},$=()=>t.jsx("div",{class:b.LOADMORE_STYLE_CLASS}),W=e=>{if(e.colCount<1||null==e.cardWidth||null==e.cardHeight)return t.jsx($,{});{const r=[],s=e.colCount-e.totalCount%e.colCount,n=s===e.colCount,o=`calc(${e.cardWidth}px)`,a=e.cardHeight?`calc(${e.cardHeight}px)`:"70x",i="flex"===e.layout?o:"100%",l="flex"===e.layout||n?a:"100%",c=t.jsx("div",{class:b.LOADMORE_STYLE_CLASS,children:Y(e.layout,1,i,l)});return r.push(c),r.push(Y(e.layout,s-1,i,l)),n||r.push(Y(e.layout,e.colCount,i,a)),t.jsx(U,{children:r})}},Z={all:!1,keys:new Set},J={xs:12,sm:16,md:24,lg:48,xl:64},X=s.forwardRef((({children:e,data:s,onLoadMore:y=(()=>{}),hasMore:m=!1,getRowKey:f,currentItemOverride:p,onPersistCurrentItem:S,selectionMode:R="none",selectedKeys:v=Z,onSelectionChange:E,onReorder:I,viewportConfig:T,focusBehavior:w="card","aria-label":A,"aria-labelledby":K,initialAnimation:O="slideUp",gutterSize:j="sm",columns:k,layout:M,cardSize:D,updateCardSize:F,skeletonRenderer:V},B)=>{const _=n.useRef(null);n.useImperativeHandle(B,(()=>_.current),[_]);const Y=n.useRef(),$=n.useRef(),X=n.useRef(!0),te=J[j],re={layout:M,columns:k,gutterSize:j},se=n.useRef(!0);n.useEffect((()=>{null!=D.height&&null!=D.width&&(se.current=!1)}),[D]);const ne="none"===R?void 0:"multiple"===R,oe=m||!s||k<1?-1:Math.ceil(s?.length/k),ae=k<1?-1:k,[ie,le]=n.useState(!0),ce=ie?w:"card",de=n.useRef(!1),ue=null!=I,ye=n.useRef(!1),{currentKey:me,onCurrentKeyChange:fe,isCurrentItemOverridden:he}=P.useCurrentItemOverride(p,S),[ge,xe]=d.useTabbableModeSet(_,(e=>i.keyExtractor(e,i.ITEM_SELECTOR)),me,fe),{currentKeyProps:be}=l.useCurrentKey((e=>i.keyExtractor(e,i.ITEM_SELECTOR)),"multiple"!==R,(()=>i.getPrevNextKeyByCount(s,f,me,-k)),(()=>i.getPrevNextKeyByCount(s,f,me,k)),(()=>i.getPrevNextKeyByCount(s,f,me,-1)),(()=>i.getPrevNextKeyByCount(s,f,me,1)),me,fe),[Ce,pe]=c.useCollectionFocusRing(_,["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"]),Se=n.useCallback((e=>{const t=i.keyExtractor(e.target,i.ITEM_SELECTOR);a.isKeyDefined(t)&&($.current=t,t!==me&&(X.current=!1))}),[me]);n.useEffect((()=>{if(null!=me&&_.current){const e=i.findElementByKey(_.current,me,i.ITEM_SELECTOR);if(e){if("card"===ce){const t=e.closest("[role=gridcell]"),r=_.current.getAttribute("aria-activedescendant");t&&r!==t.id&&(_.current.setAttribute("aria-activedescendant",t.id),de.current=!0)}de.current&&!he&&(e.scrollIntoView({block:"nearest"}),de.current=!1)}}}),[me,s,ce,ue,he]);const Re=n.useCallback((e=>{E&&(!1===e.value.all&&e.value.keys.size>0&&(Y.current=Array.from(e.value.keys.values()).pop()),E(e))}),[Y,E]),ve=n.useCallback((e=>{if(s&&E){const t=i.handleSelectionRange(e,s,f);Array.isArray(t)&&("shiftSpace"===e.eventType?Y.current=e.value.start:Y.current=e.value.end,E({value:{all:!1,keys:new Set(t)},target:null}))}}),[s,E,f]),{selectionProps:Ee}=u.useSelection((e=>e===_.current?void 0===me?null:me:i.keyExtractor(e,i.ITEM_SELECTOR)),v,R,!1,"toggle",Re,Y.current,me,((e,t)=>()=>i.getPrevNextKeyByCount(s,f,e,t?-k:k)),((e,t)=>()=>i.getPrevNextKeyByCount(s,f,e,t?-1:1)),(e=>{if(_.current){const t=i.findElementByKey(_.current,e,i.ITEM_SELECTOR);t&&t.scrollIntoView({block:"nearest"})}}),ve),{reorderProps:Ie,reorderItemProps:Te,reorderContext:we,reorderInstructionsId:Ae,reorderInstructions:Ke}=(({currentKey:e,onReorder:t,gutterSize:r,columns:s,rootRef:o,scrollCurrItemIntoView:a})=>{const l=null!=t,[c,d]=n.useState(void 0),{reorderProps:u,reorderContext:y,reorderInstructionsId:m,reorderInstructions:f}=L.useReorderable({onReorder:t,rootRef:o,itemSelector:i.ITEM_SELECTOR,isDisabled:!l,columns:s});return l?{reorderProps:{...u,onDragOver:e=>{i.dragToScroll(e,void 0!==c,o.current),a.current=!1}},reorderItemProps:{currentKey:e,dragKey:c,setDragKey:d,onReorder:t,rootRef:o,gutterSize:r,columns:s},reorderContext:y,reorderInstructionsId:m,reorderInstructions:f}:{reorderProps:u,reorderContext:y,reorderInstructionsId:m,reorderInstructions:f}})({currentKey:me,onReorder:I,gutterSize:j,columns:k,rootRef:_,scrollCurrItemIntoView:de}),Le=ue&&t.jsx(t.Fragment,{children:t.jsx("span",{id:Ae,children:t.jsx(x.HiddenAccessible,{children:Ke})})}),Oe=n.useCallback((()=>{ye.current||(ye.current=!0,y())}),[ye,y]);n.useEffect((()=>{ye.current=!1}),[s,m]);const je=n.useCallback((e=>{const r=f(e.data),s="multiple"===R?()=>t.jsx(g.Selector,{onChange:E,rowKey:r,selectedKeys:v}):void 0;return{index:e.index,data:e.data,metadata:{key:r},selector:s,isSelected:a.containsKey(v,r)}}),[R,v,E,f]),ke=n.useCallback(((e,r)=>{const n=[];if(e){const e={loadingStatus:"initial"};n.push(t.jsx("div",{class:b.LOADMORE_STYLE_CLASS,children:r(e)})),n.push(Q(e,24,r))}else{if(0===k)return null;const e=k-s.length%k,o=e===k,a={loadingStatus:"loadMore",height:"flex"===M||o?ee(D.height):"100%",width:"flex"===M?ee(D.width):"100%"};n.push(t.jsx("div",{class:b.LOADMORE_STYLE_CLASS,children:r(a)})),n.push(Array(Q(a,e-1,r))),o||n.push(Q(a,k,r))}return t.jsx(U,{children:n})}),[D,k,s,M]),Me=s?!s.length&&m?V?ke(!0,V):t.jsx(G,{layout:M}):V?ke(!1,V):t.jsx(W,{layout:M,colCount:k,totalCount:s.length,cardWidth:D.width,cardHeight:D.height}):null;T=i.getViewportConfig(_,T);const De=t.jsx("div",{role:"row",children:t.jsx(N,{...re,children:t.jsx(b.LoadMoreCollection,{data:s,hasMore:m,onLoadMore:Oe,loadMoreIndicator:Me,loadMoreThreshold:te+4,viewportConfig:T,children:r=>{const s=je(r),n=ge(s.metadata.key),o=me===s.metadata.key&&!n,a=o&&Ce,i=s.isSelected;return(r=>t.jsx(z,{context:r,isTabbable:n,isFocused:o,isFocusRingVisible:a,isGridLayout:"grid"===M,isSelected:i,selectionMode:R,focusBehavior:ce,..."content"===w&&{setIsFocusBehaviorValid:le},...se.current&&{initialAnimation:O},...0===s.index&&!D.width&&{updateCardSize:F},...ue&&{reorderItemProps:Te},children:e},s.metadata.key))(s)}})})}),Pe=t.jsx(N,{...re,children:V?q(V):t.jsx(H,{layout:M})});return t.jsxs("div",{...o.mergeProps(be,pe,Ee,Ie,{onFocus:()=>{if(!a.isKeyDefined(me)&&fe&&ge(void 0)&&_.current){const e=$.current||i.getFirstVisibleKey(_.current,i.ITEM_SELECTOR);a.isKeyDefined(e)&&fe({value:e})}else if(a.isKeyDefined(me)&&_.current){const e=i.findElementByKey(_.current,me,i.ITEM_SELECTOR);X.current&&e?.scrollIntoView({block:"nearest"}),X.current=!0}},onPointerDown:Se,onKeyDown:e=>{"content"===ce&&"Tab"===e.key&&_.current?.focus({preventScroll:!0});ue&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)&&(de.current=!0)}},{..."card"===ce&&xe}),ref:_,role:"grid",class:C.styles.baseStyle,tabIndex:0,"aria-label":A,"aria-labelledby":K,"aria-describedby":ue?Ae:void 0,"aria-multiselectable":ne,"aria-rowcount":oe,"aria-colcount":ae,children:[t.jsx(h.ReorderableContext.Provider,{value:we,children:s?s.length||m?De:t.jsx(r.Fragment,{}):Pe}),Le]})})),q=e=>t.jsx(U,{children:Q({loadingStatus:"initial"},25,e)}),Q=(e,t,r)=>Array(t).fill(r(e)),ee=e=>`calc(${e}px)`,te=X;e.BaseCardView=te,e.getColCount=(e,t,r)=>{if(!t||!r)return 0;const s=Math.floor((r+e)/(e+t));return Math.max(1,s)},e.gutterSizeToPX=J}));
2
- //# sourceMappingURL=BaseCardView-a1c5a21d.js.map
1
+ define(['exports', 'preact/jsx-runtime', 'preact', 'preact/compat', 'preact/hooks', './mergeProps-bcfa6a92', './keys-4755c121', './collectionUtils-f4de3e13', './useCurrentKey-b0a79216', './useCollectionFocusRing-9dab85a9', './useTabbableModeSet-343aa523', './useSelection-5f192f9f', './LayerHost-733ade2f', 'css!./DragAndDropStyles.styles.css', 'css!./ReorderableItemStyles.styles.css', './ReorderableContext-6d10a1b7', './Selector-fcfe7801', './HiddenAccessible-037ef42d', './LoadMoreCollection-83413a59', './PRIVATE_BaseCardView/themes/BaseCardViewStyles.css', './classNames-08d99695', './refUtils-d354a169', './logger-0f873e29', './tabbableUtils-428c264e', './useId-c9578d26', './useAnimation-5a74955f', './useResizeObserver-275c3e83', './TabbableModeContext-a9c97640', './FocusTrap-d351e5c9', './useUser-797287de', './useReorderableItem-9e759302', './useReorderableContext-a5453bd7', './Grid-a8a51c37', './Flex-590160eb', './PRIVATE_BaseCardView/themes/BaseCardViewContract.css', './Skeleton-a09190e1', './useCurrentItemOverride-bb6266d0', 'module'], (function(e,t,r,s,n,o,a,i,l,c,d,u,y,m,f,h,g,x,b,C,p,S,R,v,E,I,T,w,A,K,L,O,j,k,M,D,P,F){"use strict";function V({currentKey:e,children:r,dragKey:s,setDragKey:o,onReorder:l,rootRef:c,gutterSize:d,columns:u,context:y}){const m=n.useRef(null),f=1===u,h=y.index%u==0,g=y.index%u==u-1,x=C.multiVariantStyles({itemOverlayFront:d}),b=C.multiVariantStyles({itemOverlayFrontVertical:d}),S={itemOverlayFront:f?b:x,itemOverlayRear:f?C.styles.itemOverlayRearVertical:C.styles.itemOverlayRear,itemDragger:C.styles.itemDragger},R=n.useCallback((()=>m?.current?.closest(i.ITEM_SELECTOR)),[]),v=n.useCallback((e=>{e.dataTransfer?.setData("text/cardview-items-key",JSON.stringify(y.metadata.key))}),[y.metadata.key]),{rootProps:E,isDragged:I,overlayZoneBeforeProps:T,overlayZoneAfterProps:w}=L.useReorderableItem({isDisabled:!l,dragKey:s,setDragKey:o,onReorder:l,rootRef:c,ref:m,getItem:R,setTransferData:v,itemStyles:S,itemSelector:i.ITEM_SELECTOR,isVertical:f}),{currentItemKey:A}=O.useReorderableContext();n.useEffect((()=>{e===y.metadata.key&&(A.current=e)}),[e,y,A]);const{direction:j}=K.useUser(),k="rtl"===j,M=p.classNames([T?.class,!f&&!k&&h&&C.styles.itemOverlayFrontEdge,!f&&k&&g&&C.styles.itemOverlayFrontEdge]),D=p.classNames([w?.class,!f&&!k&&g&&C.styles.itemOverlayRearEdge,!f&&k&&h&&C.styles.itemOverlayRearEdge]);return t.jsxs("div",{...E,children:[r,!I&&a.isKeyDefined(s)&&t.jsxs(t.Fragment,{children:[t.jsx("div",{...T,class:M}),t.jsx("div",{...w,class:D})]})]})}const B=e=>({animationStates:{slideUp:{from:{translateY:"50px"},to:{translateY:"0px"},options:{duration:300,delay:50*e,easing:[0,0,.2,1]}},slideDown:{from:{translateY:"-50px"},to:{translateY:"0"},options:{duration:300,delay:50*e,easing:[0,0,.2,1]}}},isAnimatedOnMount:!0}),_=(e,t)=>({animationStates:{opacity:{from:{opacity:0},to:{opacity:1},options:{duration:150,delay:50*e,easing:"linear"}}},isAnimatedOnMount:!0,onAnimationEnd:()=>{t.current&&clearTimeout(t.current)}}),z=s.memo((function({children:e,context:r,isTabbable:s,isFocused:o,isFocusRingVisible:a,isSelected:i,selectionMode:l,focusBehavior:c,setIsFocusBehaviorValid:d,initialAnimation:u,isGridLayout:y,updateCardSize:m,reorderItemProps:f}){const h=n.useRef(null),g=n.useRef(),x=r.metadata.key,b=r.index,K=o&&a,L=C.multiVariantStyles({itemFocused:"card"===c&&K?"isItemFocused":"isNotItemFocused",itemInitialOpacity:u?"isTransparent":"isNotTransparent",itemInGridLayout:y?"isInGridLayout":"isNotInGridLayout"}),O=p.classNames([C.styles.itemStyle,L]),j=n.useCallback((e=>{m?.(e.contentRect.width,e.contentRect.height)}),[m]),k=n.useRef(null);T.useResizeObserver(m?h:k,j),n.useLayoutEffect((()=>{if("content"===c&&K){const e=h.current?.firstElementChild?.firstElementChild,t=v.allTabbableElements(e,!0,!0);0===t.length||t.length>1?(R.warn(`${t.length} focusable elements are detected in the card. 'content' focusBehavior is intended only for use when the card has single focusable element. Please specify one focusable element in the card or switch the focusBehavior to 'card'.`),d?.(!1)):t[0].focus()}}),[c,K,d]);const{nodeRef:M,controller:D}=I.useAnimation(u||"none",B(b)),{nodeRef:P,controller:F}=I.useAnimation(u?"opacity":"none",_(b,g));n.useEffect((()=>{void 0!==u&&(g.current=setTimeout((()=>{D.cancel(),F.cancel(),h.current&&(h.current.style.opacity="1")}),1e3))}),[F,D,u]);const z=n.useMemo((()=>void 0===u?S.mergeRefs(h):S.mergeRefs(h,M,P)),[h,M,P,u]),N=f?t.jsx(V,{...f,context:r,children:e(r)}):e(r);return t.jsx("div",{id:E.useId(),ref:z,class:O,role:"gridcell","data-oj-key":x,onKeyDown:e=>{"card"!==c||!s||"ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||e.stopPropagation()},"aria-selected":"none"===l?void 0:i,..."number"==typeof x&&{"data-oj-key-type":"number"},children:t.jsx(w.TabbableModeContext.Provider,{value:{isTabbable:s},children:t.jsx(A.FocusTrap,{isDisabled:!s,restoreFocusRef:!1,children:N})})})}),((e,t)=>{return!(!e||!t)&&(e.children===t.children&&e.isTabbable===t.isTabbable&&e.isFocused===t.isFocused&&e.isFocusRingVisible===t.isFocusRingVisible&&e.isSelected===t.isSelected&&e.initialAnimation===t.initialAnimation&&e.focusBehavior===t.focusBehavior&&i.compareListItemContext(e.context,t.context)&&(r=e.reorderItemProps,s=t.reorderItemProps,r?.currentKey===s?.currentKey&&r?.dragKey===s?.dragKey&&r?.columns===s?.columns));var r,s}));function N({children:e,layout:r,gutterSize:s,columns:n}){const o=M.cardViewVars.gutterSize[s];return"grid"===r?n<1?null:t.jsx(j.Grid,{gridTemplateColumns:`repeat(${n}, 1fr)`,gap:o,children:e}):t.jsx(k.Flex,{wrap:"wrap",gap:o,children:e})}function U({children:e}){const[s,o]=n.useState(!1);return n.useEffect((()=>{setTimeout((()=>{o(!0)}),50)}),[]),s?t.jsx(r.Fragment,{children:e}):t.jsx("div",{class:b.LOADMORE_STYLE_CLASS})}const Y=(e,r=25,s,n,o=!0)=>{const a=s||("flex"===e?"60x":"100%"),i=n||"70x";return[...Array(r)].map(((e,r)=>t.jsx(D.Skeleton,{width:a,height:i},o&&`${r}${(new Date).getTime()}`)))},H=e=>t.jsx(U,{children:Y(e.layout)}),G=e=>{const r=[t.jsx("div",{class:b.LOADMORE_STYLE_CLASS,children:Y(e.layout,1)}),...Y(e.layout,24)];return t.jsx(U,{children:r})},$=()=>t.jsx("div",{class:b.LOADMORE_STYLE_CLASS}),W=e=>{if(e.colCount<1||null==e.cardWidth||null==e.cardHeight)return t.jsx($,{});{const r=[],s=e.colCount-e.totalCount%e.colCount,n=s===e.colCount,o=`calc(${e.cardWidth}px)`,a=e.cardHeight?`calc(${e.cardHeight}px)`:"70x",i="flex"===e.layout?o:"100%",l="flex"===e.layout||n?a:"100%",c=t.jsx("div",{class:b.LOADMORE_STYLE_CLASS,children:Y(e.layout,1,i,l)});return r.push(c),r.push(Y(e.layout,s-1,i,l)),n||r.push(Y(e.layout,e.colCount,i,a)),t.jsx(U,{children:r})}},Z={all:!1,keys:new Set},J={xs:12,sm:16,md:24,lg:48,xl:64},X=s.forwardRef((({children:e,data:s,onLoadMore:y=(()=>{}),hasMore:m=!1,getRowKey:f,currentItemOverride:p,onPersistCurrentItem:S,selectionMode:R="none",selectedKeys:v=Z,onSelectionChange:E,onReorder:I,viewportConfig:T,focusBehavior:w="card","aria-label":A,"aria-labelledby":K,initialAnimation:O="slideUp",gutterSize:j="sm",columns:k,layout:M,cardSize:D,updateCardSize:F,skeletonRenderer:V},B)=>{const _=n.useRef(null);n.useImperativeHandle(B,(()=>_.current),[_]);const Y=n.useRef(),$=n.useRef(),X=n.useRef(!0),te=J[j],re={layout:M,columns:k,gutterSize:j},se=n.useRef(!0);n.useEffect((()=>{null!=D.height&&null!=D.width&&(se.current=!1)}),[D]);const ne="none"===R?void 0:"multiple"===R,oe=m||!s||k<1?-1:Math.ceil(s?.length/k),ae=k<1?-1:k,[ie,le]=n.useState(!0),ce=ie?w:"card",de=n.useRef(!1),ue=null!=I,ye=n.useRef(!1),{currentKey:me,onCurrentKeyChange:fe,isCurrentItemOverridden:he}=P.useCurrentItemOverride(p,S),[ge,xe]=d.useTabbableModeSet(_,(e=>i.keyExtractor(e,i.ITEM_SELECTOR)),me,fe),{currentKeyProps:be}=l.useCurrentKey((e=>i.keyExtractor(e,i.ITEM_SELECTOR)),"multiple"!==R,(()=>i.getPrevNextKeyByCount(s,f,me,-k)),(()=>i.getPrevNextKeyByCount(s,f,me,k)),(()=>i.getPrevNextKeyByCount(s,f,me,-1)),(()=>i.getPrevNextKeyByCount(s,f,me,1)),me,fe),[Ce,pe]=c.useCollectionFocusRing(_,["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"]),Se=n.useCallback((e=>{const t=i.keyExtractor(e.target,i.ITEM_SELECTOR);a.isKeyDefined(t)&&($.current=t,t!==me&&(X.current=!1))}),[me]);n.useEffect((()=>{if(null!=me&&_.current){const e=i.findElementByKey(_.current,me,i.ITEM_SELECTOR);if(e){if("card"===ce){const t=e.closest("[role=gridcell]"),r=_.current.getAttribute("aria-activedescendant");t&&r!==t.id&&(_.current.setAttribute("aria-activedescendant",t.id),de.current=!0)}de.current&&!he&&(e.scrollIntoView({block:"nearest"}),de.current=!1)}}}),[me,s,ce,ue,he]);const Re=n.useCallback((e=>{E&&(!1===e.value.all&&e.value.keys.size>0&&(Y.current=Array.from(e.value.keys.values()).pop()),E(e))}),[Y,E]),ve=n.useCallback((e=>{if(s&&E){const t=i.handleSelectionRange(e,s,f);Array.isArray(t)&&("shiftSpace"===e.eventType?Y.current=e.value.start:Y.current=e.value.end,E({value:{all:!1,keys:new Set(t)},target:null}))}}),[s,E,f]),{selectionProps:Ee}=u.useSelection((e=>e===_.current?void 0===me?null:me:i.keyExtractor(e,i.ITEM_SELECTOR)),v,R,!1,"toggle",Re,Y.current,me,((e,t)=>()=>i.getPrevNextKeyByCount(s,f,e,t?-k:k)),((e,t)=>()=>i.getPrevNextKeyByCount(s,f,e,t?-1:1)),(e=>{if(_.current){const t=i.findElementByKey(_.current,e,i.ITEM_SELECTOR);t&&t.scrollIntoView({block:"nearest"})}}),ve),{reorderProps:Ie,reorderItemProps:Te,reorderContext:we,reorderInstructionsId:Ae,reorderInstructions:Ke}=(({currentKey:e,onReorder:t,gutterSize:r,columns:s,rootRef:o,scrollCurrItemIntoView:a})=>{const l=null!=t,[c,d]=n.useState(void 0),{reorderProps:u,reorderContext:y,reorderInstructionsId:m,reorderInstructions:f}=L.useReorderable({onReorder:t,rootRef:o,itemSelector:i.ITEM_SELECTOR,isDisabled:!l,columns:s});return l?{reorderProps:{...u,onDragOver:e=>{i.dragToScroll(e,void 0!==c,o.current),a.current=!1}},reorderItemProps:{currentKey:e,dragKey:c,setDragKey:d,onReorder:t,rootRef:o,gutterSize:r,columns:s},reorderContext:y,reorderInstructionsId:m,reorderInstructions:f}:{reorderProps:u,reorderContext:y,reorderInstructionsId:m,reorderInstructions:f}})({currentKey:me,onReorder:I,gutterSize:j,columns:k,rootRef:_,scrollCurrItemIntoView:de}),Le=ue&&t.jsx(t.Fragment,{children:t.jsx("span",{id:Ae,children:t.jsx(x.HiddenAccessible,{children:Ke})})}),Oe=n.useCallback((()=>{ye.current||(ye.current=!0,y())}),[ye,y]);n.useEffect((()=>{ye.current=!1}),[s,m]);const je=n.useCallback((e=>{const r=f(e.data),s="multiple"===R?()=>t.jsx(g.Selector,{onChange:E,rowKey:r,selectedKeys:v}):void 0;return{index:e.index,data:e.data,metadata:{key:r},selector:s,isSelected:a.containsKey(v,r)}}),[R,v,E,f]),ke=n.useCallback(((e,r)=>{const n=[];if(e){const e={loadingStatus:"initial"};n.push(t.jsx("div",{class:b.LOADMORE_STYLE_CLASS,children:r(e)})),n.push(Q(e,24,r))}else{if(0===k)return null;const e=k-s.length%k,o=e===k,a={loadingStatus:"loadMore",height:"flex"===M||o?ee(D.height):"100%",width:"flex"===M?ee(D.width):"100%"};n.push(t.jsx("div",{class:b.LOADMORE_STYLE_CLASS,children:r(a)})),n.push(Array(Q(a,e-1,r))),o||n.push(Q(a,k,r))}return t.jsx(U,{children:n})}),[D,k,s,M]),Me=s?!s.length&&m?V?ke(!0,V):t.jsx(G,{layout:M}):V?ke(!1,V):t.jsx(W,{layout:M,colCount:k,totalCount:s.length,cardWidth:D.width,cardHeight:D.height}):null;T=i.getViewportConfig(_,T);const De=t.jsx("div",{role:"row",children:t.jsx(N,{...re,children:t.jsx(b.LoadMoreCollection,{data:s,hasMore:m,onLoadMore:Oe,loadMoreIndicator:Me,loadMoreThreshold:te+4,viewportConfig:T,children:r=>{const s=je(r),n=ge(s.metadata.key),o=me===s.metadata.key&&!n,a=o&&Ce,i=s.isSelected;return(r=>t.jsx(z,{context:r,isTabbable:n,isFocused:o,isFocusRingVisible:a,isGridLayout:"grid"===M,isSelected:i,selectionMode:R,focusBehavior:ce,..."content"===w&&{setIsFocusBehaviorValid:le},...se.current&&{initialAnimation:O},...0===s.index&&!D.width&&{updateCardSize:F},...ue&&{reorderItemProps:Te},children:e},s.metadata.key))(s)}})})}),Pe=t.jsx(N,{...re,children:V?q(V):t.jsx(H,{layout:M})});return t.jsxs("div",{...o.mergeProps(be,pe,Ee,Ie,{onFocus:()=>{if(!a.isKeyDefined(me)&&fe&&ge(void 0)&&_.current){const e=$.current||i.getFirstVisibleKey(_.current,i.ITEM_SELECTOR);a.isKeyDefined(e)&&fe({value:e})}else if(a.isKeyDefined(me)&&_.current){const e=i.findElementByKey(_.current,me,i.ITEM_SELECTOR);X.current&&e?.scrollIntoView({block:"nearest"}),X.current=!0}},onPointerDown:Se,onKeyDown:e=>{"content"===ce&&"Tab"===e.key&&_.current?.focus({preventScroll:!0});ue&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)&&(de.current=!0)}},{..."card"===ce&&xe}),ref:_,role:"grid",class:C.styles.baseStyle,tabIndex:0,"aria-label":A,"aria-labelledby":K,"aria-describedby":ue?Ae:void 0,"aria-multiselectable":ne,"aria-rowcount":oe,"aria-colcount":ae,children:[t.jsx(h.ReorderableContext.Provider,{value:we,children:s?s.length||m?De:t.jsx(r.Fragment,{}):Pe}),Le]})})),q=e=>t.jsx(U,{children:Q({loadingStatus:"initial"},25,e)}),Q=(e,t,r)=>Array(t).fill(r(e)),ee=e=>`calc(${e}px)`,te=X;e.BaseCardView=te,e.getColCount=(e,t,r)=>{if(!t||!r)return 0;const s=Math.floor((r+e)/(e+t));return Math.max(1,s)},e.gutterSizeToPX=J}));
2
+ //# sourceMappingURL=BaseCardView-4f88499c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCardView-a1c5a21d.js","sources":["../../src/PRIVATE_BaseCardView/BaseCardViewReorderableItem.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewItem.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewLayout.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewSkeletonContainer.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewSkeleton.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewUtils.ts","../../src/PRIVATE_BaseCardView/BaseCardView.tsx","../../src/PRIVATE_BaseCardView/useCardViewReorder.ts"],"sourcesContent":["import { useRef, useCallback, useEffect } from 'preact/hooks';\nimport { useReorderableItem } from '../hooks/PRIVATE_useReorderable';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { ITEM_SELECTOR } from '../utils/PRIVATE_collectionUtils';\nimport { ListItemRendererContext } from '../UNSAFE_Collection';\nimport { ReorderableItemProps } from '../UNSAFE_Collection/Reorderable.types';\nimport { multiVariantStyles, styles } from './themes/BaseCardViewStyles.css';\nimport { GutterSize } from './BaseCardViewUtils';\nimport { useReorderableContext } from '#hooks/PRIVATE_useReorderable/useReorderableContext';\nimport { isKeyDefined } from '../utils/UNSAFE_keys';\n\nexport type BaseCardViewReorderableItemProps<K> = ReorderableItemProps<K> & {\n currentKey: K | undefined;\n gutterSize: GutterSize;\n columns: number;\n};\n\n/**\n * The internal component used to render a reorderable item in CardView.\n */\nexport function BaseCardViewReorderableItem<K extends string | number, D>({\n currentKey,\n children,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n gutterSize,\n columns,\n context\n}: BaseCardViewReorderableItemProps<K> & { context: ListItemRendererContext<K, D> }) {\n const itemRef = useRef<HTMLDivElement | null>(null);\n const isOneColumn = columns === 1;\n const isFirstColumn = context.index % columns === 0;\n const isLastColumn = context.index % columns === columns - 1;\n const variantClasses = multiVariantStyles({\n itemOverlayFront: gutterSize\n });\n const variantClassesVertical = multiVariantStyles({\n itemOverlayFrontVertical: gutterSize\n });\n const itemStyles = {\n itemOverlayFront: isOneColumn ? variantClassesVertical : variantClasses,\n itemOverlayRear: isOneColumn ? styles.itemOverlayRearVertical : styles.itemOverlayRear,\n itemDragger: styles.itemDragger\n };\n const getItem = useCallback(() => itemRef?.current?.closest(ITEM_SELECTOR) as HTMLElement, []);\n const setTransferData = useCallback(\n (event: DragEvent) => {\n event.dataTransfer?.setData('text/cardview-items-key', JSON.stringify(context.metadata.key));\n },\n [context.metadata.key]\n );\n const { rootProps, isDragged, overlayZoneBeforeProps, overlayZoneAfterProps } =\n useReorderableItem({\n isDisabled: onReorder ? false : true,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n ref: itemRef,\n getItem,\n setTransferData,\n itemStyles,\n itemSelector: ITEM_SELECTOR,\n isVertical: isOneColumn\n });\n\n // TODO: remove this as part of JET-70023\n const { currentItemKey } = useReorderableContext();\n useEffect(() => {\n if (currentKey === context.metadata.key) {\n currentItemKey.current = currentKey;\n }\n }, [currentKey, context, currentItemKey]);\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const overlayZoneBeforeClass = classNames([\n overlayZoneBeforeProps?.class,\n !isOneColumn && !isRtl && isFirstColumn && styles.itemOverlayFrontEdge,\n !isOneColumn && isRtl && isLastColumn && styles.itemOverlayFrontEdge\n ]);\n\n const overlayZoneAfterClass = classNames([\n overlayZoneAfterProps?.class,\n !isOneColumn && !isRtl && isLastColumn && styles.itemOverlayRearEdge,\n !isOneColumn && isRtl && isFirstColumn && styles.itemOverlayRearEdge\n ]);\n\n return (\n <div {...rootProps}>\n {children}\n {!isDragged && isKeyDefined(dragKey) && (\n <>\n <div {...overlayZoneBeforeProps} class={overlayZoneBeforeClass}></div>\n <div {...overlayZoneAfterProps} class={overlayZoneAfterClass}></div>\n </>\n )}\n </div>\n );\n}\n","/**\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 } from 'preact';\nimport { memo } from 'preact/compat';\nimport {\n useRef,\n useCallback,\n useLayoutEffect,\n useMemo,\n useEffect,\n StateUpdater,\n Dispatch,\n MutableRef\n} from 'preact/hooks';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { mergeRefs } from '../utils/PRIVATE_refUtils';\nimport { warn } from '../utils/UNSAFE_logger';\nimport { allTabbableElements } from '../utils/PRIVATE_tabbableUtils';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { useAnimation, UseAnimationConfig } from '../hooks/UNSAFE_useAnimation';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\nimport { TabbableModeContext } from '../hooks/UNSAFE_useTabbableMode';\nimport { FocusTrap } from '../UNSAFE_FocusTrap';\nimport { SelectionMode, ListItemRendererContext } from '../UNSAFE_Collection';\nimport { multiVariantStyles, styles } from './themes/BaseCardViewStyles.css';\nimport { compareListItemContext } from '../utils/PRIVATE_collectionUtils';\nimport {\n BaseCardViewReorderableItem,\n BaseCardViewReorderableItemProps\n} from './BaseCardViewReorderableItem';\n\n/**\n * Props for the BaseCardViewItem Component\n */\nexport type Props<K, D> = {\n children: (context: ListItemRendererContext<K, D>) => ComponentChildren;\n context: ListItemRendererContext<K, D>;\n isTabbable: boolean;\n isFocused: boolean;\n isFocusRingVisible: boolean;\n isSelected: boolean;\n selectionMode: SelectionMode;\n focusBehavior: 'card' | 'content';\n setIsFocusBehaviorValid?: Dispatch<StateUpdater<boolean>>;\n initialAnimation?: 'slideUp' | 'slideDown';\n isGridLayout?: boolean;\n updateCardSize?: (width: number, height: number) => void;\n} & {\n reorderItemProps?: Omit<BaseCardViewReorderableItemProps<K>, 'children'>;\n};\n\n/**\n * The internal component used to render a single item in CardView.\n */\nexport function BaseCardViewItem<K extends string | number, D>({\n children,\n context,\n isTabbable,\n isFocused,\n isFocusRingVisible,\n isSelected,\n selectionMode,\n focusBehavior,\n setIsFocusBehaviorValid,\n initialAnimation,\n isGridLayout,\n updateCardSize,\n reorderItemProps\n}: Props<K, D>) {\n const rootRef = useRef<HTMLDivElement>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout>>();\n const itemKey = context.metadata.key;\n const itemIndex = context.index;\n\n const isItemFocused = isFocused && isFocusRingVisible;\n const variantClasses = multiVariantStyles({\n itemFocused: focusBehavior === 'card' && isItemFocused ? 'isItemFocused' : 'isNotItemFocused',\n itemInitialOpacity: initialAnimation ? 'isTransparent' : 'isNotTransparent',\n itemInGridLayout: isGridLayout ? 'isInGridLayout' : 'isNotInGridLayout'\n });\n const classes = classNames([styles.itemStyle, variantClasses]);\n\n /*********************************** Tabbable Mode ***********************************/\n\n // don't bubble Arrow Up/Down/Left/Right events to parent when in isTabbable mode\n // this bubbling causes the outer CollectionFocus ring to change index while in the isTabbable mode.\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n focusBehavior === 'card' &&\n isTabbable &&\n (event.key === 'ArrowDown' ||\n event.key === 'ArrowUp' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight')\n ) {\n event.stopPropagation();\n }\n };\n\n /************************************ Card Size ************************************/\n\n const handleResize = useCallback(\n (entry: ResizeObserverEntry) => {\n updateCardSize?.(entry.contentRect.width, entry.contentRect.height);\n },\n [updateCardSize]\n );\n\n const nullRef = useRef<HTMLDivElement>(null);\n useResizeObserver(updateCardSize ? rootRef : nullRef, handleResize);\n\n /********************************* Focus Behavior *********************************/\n\n useLayoutEffect(() => {\n if (focusBehavior === 'content' && isItemFocused) {\n // rootRef is cardview item, its first child is the focus trap div, so its first grand child\n // is the actual content\n const content = rootRef.current?.firstElementChild?.firstElementChild as HTMLElement;\n const focusable = allTabbableElements(content, true, true);\n if (focusable.length === 0 || focusable.length > 1) {\n warn(\n `${focusable.length} focusable elements are detected in the card. 'content' focusBehavior is intended only for use when the card has single focusable element. Please specify one focusable element in the card or switch the focusBehavior to 'card'.`\n );\n setIsFocusBehaviorValid?.(false);\n } else {\n focusable[0].focus();\n }\n }\n }, [focusBehavior, isItemFocused, setIsFocusBehaviorValid]);\n\n /******************************** Initial Animation ********************************/\n\n // animation for slide up/down\n const { nodeRef: nodeRefSlide, controller: controllerSlide } = useAnimation<\n 'slideUp' | 'slideDown' | 'none',\n HTMLDivElement\n >(initialAnimation || 'none', animationConfigSlide(itemIndex));\n\n // animation for opacity change\n const { nodeRef: nodeRefOpacity, controller: controllerOpacity } = useAnimation<\n 'opacity' | 'none',\n HTMLDivElement\n >((initialAnimation && 'opacity') || 'none', animationConfigOpacity(itemIndex, timeoutRef));\n\n // max cap for animation is 1s\n useEffect(() => {\n if (initialAnimation !== undefined) {\n timeoutRef.current = setTimeout(() => {\n controllerSlide.cancel();\n controllerOpacity.cancel();\n if (rootRef.current) {\n rootRef.current.style.opacity = '1';\n }\n }, 1000);\n }\n }, [controllerOpacity, controllerSlide, initialAnimation]);\n\n // TODO: issue track in JET-57681, we currently have two useAnimation() because the opacity and\n // slide up/down have different durations, and the current API couldn't handle this case, we will\n // update this once the API is updated\n\n /********************************** Child Component **********************************/\n\n const itemRefs = useMemo(() => {\n // NOTE: spot an issue when we click the cards during animation is processing, the cards would not finish\n // the current animations and stay as what it is, e.g. leave itself as half transparent.\n // need to remove nodeRefSlide and nodeRefOpacity to avoid this issue.\n if (initialAnimation === undefined) {\n return mergeRefs(rootRef);\n }\n return mergeRefs(rootRef, nodeRefSlide, nodeRefOpacity);\n }, [rootRef, nodeRefSlide, nodeRefOpacity, initialAnimation]);\n\n const childrenComponent = reorderItemProps ? (\n <BaseCardViewReorderableItem {...reorderItemProps} context={context}>\n {children(context)}\n </BaseCardViewReorderableItem>\n ) : (\n children(context)\n );\n\n return (\n <div\n id={useId()}\n ref={itemRefs}\n class={classes}\n role=\"gridcell\"\n data-oj-key={itemKey}\n onKeyDown={handleKeyDown}\n aria-selected={selectionMode === 'none' ? undefined : isSelected}\n {...(typeof itemKey === 'number' && { 'data-oj-key-type': 'number' })}>\n <TabbableModeContext.Provider value={{ isTabbable }}>\n <FocusTrap isDisabled={!isTabbable} restoreFocusRef={false}>\n {childrenComponent}\n </FocusTrap>\n </TabbableModeContext.Provider>\n </div>\n );\n}\n\nconst animationConfigSlide = (\n index: number\n): UseAnimationConfig<'slideUp' | 'slideDown' | 'none', HTMLDivElement> => {\n return {\n animationStates: {\n slideUp: {\n from: {\n translateY: '50px'\n },\n to: {\n translateY: '0px'\n },\n options: {\n duration: 300,\n delay: index * 50,\n easing: [0, 0, 0.2, 1]\n }\n },\n slideDown: {\n from: {\n translateY: '-50px'\n },\n to: {\n translateY: '0'\n },\n options: {\n duration: 300,\n delay: index * 50,\n easing: [0, 0, 0.2, 1]\n }\n }\n },\n isAnimatedOnMount: true\n };\n};\n\nconst animationConfigOpacity = (\n index: number,\n timeoutRef: MutableRef<ReturnType<typeof setTimeout> | undefined>\n): UseAnimationConfig<'opacity' | 'none', HTMLDivElement> => {\n return {\n animationStates: {\n opacity: {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n },\n options: {\n duration: 150,\n delay: index * 50,\n easing: 'linear'\n }\n }\n },\n isAnimatedOnMount: true,\n onAnimationEnd: () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n }\n };\n};\n\n/**\n * Compare the equality between two reorderItemProps, especially useful for memoized items\n */\nconst compareReorderItemProps = <K, D>(\n props1: Props<K, D>['reorderItemProps'],\n props2: Props<K, D>['reorderItemProps']\n) => {\n return (\n props1?.['currentKey'] === props2?.['currentKey'] &&\n props1?.['dragKey'] === props2?.['dragKey'] &&\n props1?.['columns'] === props2?.['columns']\n );\n};\n\nexport const MemoizeBaseCardViewItem = memo(\n BaseCardViewItem,\n <K, D>(prev: Props<K, D>, next: Props<K, D>) => {\n if (prev && next) {\n return (\n prev.children === next.children &&\n prev.isTabbable === next.isTabbable &&\n prev.isFocused === next.isFocused &&\n prev.isFocusRingVisible === next.isFocusRingVisible &&\n prev.isSelected === next.isSelected &&\n prev.initialAnimation === next.initialAnimation &&\n prev.focusBehavior === next.focusBehavior &&\n compareListItemContext(prev.context, next.context) &&\n compareReorderItemProps(prev.reorderItemProps, next.reorderItemProps)\n );\n }\n return false;\n }\n);\n","import { ComponentChildren } from 'preact';\nimport { Grid } from '../UNSAFE_Grid';\nimport { Flex } from '../UNSAFE_Flex';\nimport { GutterSize } from './BaseCardViewUtils';\nimport { cardViewVars } from './themes/BaseCardViewContract.css';\n\ntype Props = {\n children: ComponentChildren;\n layout: 'grid' | 'flex';\n gutterSize: GutterSize;\n columns: number;\n};\n\nexport function BaseCardViewLayout({ children, layout, gutterSize, columns }: Props) {\n const gap = cardViewVars.gutterSize[gutterSize];\n if (layout === 'grid') {\n return columns < 1 ? null : (\n <Grid gridTemplateColumns={`repeat(${columns}, 1fr)`} gap={gap}>\n {children}\n </Grid>\n );\n } else {\n return (\n <Flex wrap=\"wrap\" gap={gap}>\n {children}\n </Flex>\n );\n }\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren, Fragment } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\n\ntype Props = {\n /**\n * Allows to pass skeletons\n **/\n children: ComponentChildren;\n};\n\n/**\n * Allows to specify the time delay for rendering the component\n **/\nconst timerValue = 50;\n\n/**\n * BaseCardViewSkeletonContainer renders skeletons after 50ms threshold defined in the Redwood spec\n **/\nexport function BaseCardViewSkeletonContainer({ children }: Props) {\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n setTimeout(() => {\n setIsVisible(true);\n }, timerValue);\n }, []);\n\n return isVisible ? <Fragment>{children}</Fragment> : <div class={LOADMORE_STYLE_CLASS}></div>;\n}\n","import { Size } from '../utils/UNSAFE_size';\nimport { Skeleton } from '../UNSAFE_Skeleton';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\nimport { BaseCardViewSkeletonContainer } from './BaseCardViewSkeletonContainer';\n\n// these are arbitrary values by now, might update them with definite values in the future\nconst DEFAULT_SKELETON_NUMBER = 25;\nconst DEFAULT_SKELETON_WIDTH = '60x';\nconst DEFAULT_SKELETON_HEIGHT = '70x';\n\ntype SkeletonProps = {\n layout: 'flex' | 'grid';\n colCount: number;\n totalCount: number;\n cardWidth?: number;\n cardHeight?: number;\n};\n\n/**\n * A function that returns an array of skeletons based on count\n * @param count the number of skeletons\n */\nconst getSkeletonsByCount = (\n layout: 'flex' | 'grid',\n count = DEFAULT_SKELETON_NUMBER,\n width?: Size,\n height?: Size,\n isUnique = true\n) => {\n const sw = width || (layout === 'flex' ? DEFAULT_SKELETON_WIDTH : '100%');\n const sh = height || DEFAULT_SKELETON_HEIGHT;\n\n return [...Array(count)].map((_v, i) => (\n // create unique keys if needed, otherwise the animations won't start at the same time, because the old copy of skeletons\n // could be reused, even the key is specified by useId(), combine count with time to make the key unique.\n <Skeleton key={isUnique && `${i}${new Date().getTime()}`} width={sw} height={sh} />\n ));\n};\n\n/**\n * When there is no data (i.e. data is an empty array or null, and hasMore is false), we will show 25 card skeletons with default size\n */\nexport const InitialLoadSkeletons = (props: { layout: SkeletonProps['layout'] }) => (\n <BaseCardViewSkeletonContainer>{getSkeletonsByCount(props.layout)}</BaseCardViewSkeletonContainer>\n);\n\n/**\n * When we are fetching the initial data (i.e. data is an empty array, and hasMore is true), we will show 25 card skeletons with default size,\n * because we don't know the card dimension at this time. Since there is more data to load, we will specify LOADMORE_STYLE_CLASS on skeletons\n */\nexport const DefaultLoadMoreSkeletons = (props: { layout: SkeletonProps['layout'] }) => {\n const firstSkeleton = (\n <div class={LOADMORE_STYLE_CLASS}>{getSkeletonsByCount(props.layout, 1)}</div>\n );\n const otherSkeletons = getSkeletonsByCount(props.layout, DEFAULT_SKELETON_NUMBER - 1);\n const skeletons = [firstSkeleton, ...otherSkeletons];\n return <BaseCardViewSkeletonContainer>{skeletons}</BaseCardViewSkeletonContainer>;\n};\n\n/**\n * During the render that we measure and update card dimension, we will hide skeletons temporarily\n * to avoid showing incorrect skeletons\n */\nconst InvisibleSkeletons = () => {\n return <div class={LOADMORE_STYLE_CLASS}></div>;\n};\n\nexport const LoadMoreSkeletons = (props: SkeletonProps) => {\n if (props.colCount < 1 || props.cardWidth == null || props.cardHeight == null) {\n // if column count / card width / card height are invalid, we will show the invisible skeletons\n return <InvisibleSkeletons />;\n } else {\n // after initial renders, show skeletons with correct dimension and count\n const skeletons = [];\n\n const firstRowColCount = props.colCount - (props.totalCount % props.colCount);\n const isOnlyOneRow = firstRowColCount === props.colCount;\n\n const cardWidth = `calc(${props.cardWidth}px)` as Size;\n const cardHeight = props.cardHeight\n ? (`calc(${props.cardHeight}px)` as Size)\n : DEFAULT_SKELETON_HEIGHT;\n\n const width: Size = props.layout === 'flex' ? cardWidth : '100%';\n const height: Size = props.layout === 'flex' || isOnlyOneRow ? cardHeight : '100%';\n\n // first row\n const firstSkeleton = (\n <div class={LOADMORE_STYLE_CLASS}>{getSkeletonsByCount(props.layout, 1, width, height)}</div>\n );\n skeletons.push(firstSkeleton);\n skeletons.push(getSkeletonsByCount(props.layout, firstRowColCount - 1, width, height));\n\n // second row\n if (!isOnlyOneRow) {\n skeletons.push(getSkeletonsByCount(props.layout, props.colCount, width, cardHeight));\n }\n\n return <BaseCardViewSkeletonContainer>{skeletons}</BaseCardViewSkeletonContainer>;\n }\n};\n","import { Size } from '../utils/UNSAFE_size';\n\nexport const emptyKeys = { all: false, keys: new Set() };\nexport type GutterSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * A mapping of gutterSize to concrete size in pixels\n */\nexport const gutterSizeToPX: Record<string, number> = {\n xs: 12,\n sm: 16,\n md: 24,\n lg: 48,\n xl: 64\n};\n\nexport const getGapSize = (gutterSize?: GutterSize) => {\n const px = gutterSizeToPX[gutterSize || 'sm'];\n const gap = `${px / 4}x` as Size;\n return gap;\n};\n\nexport const getColCount = (gapWidth: number, cardWidth?: number, rootWidth?: number) => {\n if (!cardWidth || !rootWidth) return 0;\n\n // if we have n cards, we have n-1 gaps\n const colCount = Math.floor((rootWidth + gapWidth) / (gapWidth + cardWidth));\n return Math.max(1, colCount);\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, Fragment } from 'preact';\nimport { forwardRef, ForwardedRef } from 'preact/compat';\nimport { useRef, useCallback, useEffect, useState, useImperativeHandle } from 'preact/hooks';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { containsKey, Keys, isKeyDefined } from '../utils/UNSAFE_keys';\nimport {\n getPrevNextKeyByCount,\n getFirstVisibleKey,\n getViewportConfig,\n findElementByKey,\n keyExtractor,\n handleSelectionRange,\n ITEM_SELECTOR\n} from '../utils/PRIVATE_collectionUtils';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { useTabbableModeSet } from '../hooks/PRIVATE_useTabbableModeSet';\nimport { useSelection, SelectionRangeDetail } from '../hooks/PRIVATE_useSelection';\nimport { ReorderableContext } from '../hooks/PRIVATE_useReorderable';\nimport { ItemContext, ListItemRendererContext, SelectionDetail } from '../UNSAFE_Collection';\nimport { Selector } from '../UNSAFE_Selector';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LoadMoreCollection } from '../PRIVATE_LoadMoreCollection';\nimport { styles } from './themes/BaseCardViewStyles.css';\nimport { Props } from '../UNSAFE_CardFlexView';\nimport { MemoizeBaseCardViewItem } from './BaseCardViewItem';\nimport { BaseCardViewLayout } from './BaseCardViewLayout';\nimport {\n DefaultLoadMoreSkeletons,\n LoadMoreSkeletons,\n InitialLoadSkeletons\n} from './BaseCardViewSkeleton';\nimport { gutterSizeToPX, emptyKeys } from './BaseCardViewUtils';\nimport { useCardViewReorder } from './useCardViewReorder';\nimport { useCurrentItemOverride } from '../PRIVATE_ListCardCommon';\n// TODO: add this import due to issue JET-67485, need to update once Stable is introduced\nimport './themes/redwood/BaseCardViewBaseTheme.css';\nimport { SkeletonRendererContext } from '../UNSAFE_CardFlexView';\nimport { BaseCardViewSkeletonContainer } from './BaseCardViewSkeletonContainer';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\nimport { Size } from '../utils/UNSAFE_size';\n\n/**\n * Props specific for the GradGridBaseImpl Component\n */\ntype BaseCardViewImplProps<K, D> = Props<K, D> & {\n /**\n * Provide the number of columns to render;\n */\n columns: number;\n /**\n * The layout of the BaseCardView. When we use CardGridView as parent, we will use grid layout;\n * when we use CardFlexView as parent, we will use flex layout.\n */\n layout: 'grid' | 'flex';\n /**\n * Card dimension, including width and height\n */\n cardSize: { width?: number; height?: number };\n /**\n * A callback function to update card dimension, including width and height\n */\n updateCardSize: (width: number, height: number) => void;\n};\n\nconst BaseCardViewImpl = forwardRef(\n <K extends string | number, D>(\n {\n children,\n data,\n onLoadMore = () => {},\n hasMore = false,\n getRowKey,\n currentItemOverride,\n onPersistCurrentItem,\n selectionMode = 'none',\n selectedKeys = emptyKeys as Keys<K>,\n onSelectionChange,\n onReorder,\n viewportConfig,\n focusBehavior = 'card',\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n initialAnimation = 'slideUp',\n gutterSize = 'sm',\n columns,\n layout,\n cardSize,\n updateCardSize,\n skeletonRenderer\n }: BaseCardViewImplProps<K, D>,\n ref?: ForwardedRef<HTMLDivElement>\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(ref!, () => rootRef.current!, [rootRef]);\n\n // tracking the anchor key which is used for shift+click selection\n const anchorKey = useRef<K | undefined>();\n // tracking pending current key in pointer down event\n const pendingCurrentKey = useRef<K>();\n\n // ensure current item scroll into view when cardview regains focus\n // unless pendingCurrentKey gets updated to something different than currentKey\n const focusAndScrollIntoView = useRef(true);\n\n const gutterSizePX = gutterSizeToPX[gutterSize];\n const layoutProps = { layout, columns, gutterSize };\n const isInitialAnimation = useRef(true);\n useEffect(() => {\n if (cardSize.height != undefined && cardSize.width != undefined) {\n isInitialAnimation.current = false;\n }\n }, [cardSize]);\n\n const ariaMultiSelectable = selectionMode === 'none' ? undefined : selectionMode === 'multiple';\n const ariaRowcount = hasMore || !data || columns < 1 ? -1 : Math.ceil(data?.length / columns);\n const ariaColcount = columns < 1 ? -1 : columns;\n\n const [isFocusBehaviorValid, setIsFocusBehaviorValid] = useState(true);\n const validFocusBehavior = isFocusBehaviorValid ? focusBehavior : 'card';\n\n // ensure current item is scrolled into view when current item is updated\n // during reordering, enable that during keyboard reordering, disable that during mouse reordering\n const scrollCurrItemIntoView = useRef(false);\n const isReorderEnabled = onReorder != undefined;\n\n const isFetching = useRef(false);\n\n /*****************************************************************************************/\n /************************************* Tabbable Mode *************************************/\n /*****************************************************************************************/\n const { currentKey, onCurrentKeyChange, isCurrentItemOverridden } = useCurrentItemOverride(\n currentItemOverride,\n onPersistCurrentItem\n );\n\n const [isCurrentTabbableKey, tabbableModeProps] = useTabbableModeSet(\n rootRef,\n (element) => {\n return keyExtractor(element, ITEM_SELECTOR) as K;\n },\n currentKey,\n onCurrentKeyChange\n );\n\n /*****************************************************************************************/\n /********************************* Current Key and Focus *********************************/\n /*****************************************************************************************/\n\n const { currentKeyProps } = useCurrentKey(\n (element) => keyExtractor(element, ITEM_SELECTOR),\n selectionMode !== 'multiple',\n // init a function every time to make sure we pass in the latest columns,\n // otherwise the new key might be wrong after resize\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, -columns),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, columns),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, -1),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, 1),\n currentKey,\n onCurrentKeyChange\n );\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(rootRef, [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight'\n ]);\n\n const handleFocus = () => {\n // handle initial focus\n if (\n !isKeyDefined(currentKey) &&\n onCurrentKeyChange &&\n isCurrentTabbableKey(undefined) &&\n rootRef.current\n ) {\n const firstKey =\n pendingCurrentKey.current || (getFirstVisibleKey(rootRef.current, ITEM_SELECTOR) as K);\n if (isKeyDefined(firstKey)) {\n onCurrentKeyChange({ value: firstKey });\n }\n } else if (isKeyDefined(currentKey) && rootRef.current) {\n // if currentKey is defined, make sure scroll the current item into view when cardview regains focus\n const elem = findElementByKey(rootRef.current, currentKey as K, ITEM_SELECTOR);\n if (focusAndScrollIntoView.current) {\n elem?.scrollIntoView({ block: 'nearest' });\n }\n focusAndScrollIntoView.current = true;\n }\n };\n\n // need to track pointer down element to set currentItem when initial focus happens\n const handlePointerDown = useCallback(\n (event: PointerEvent) => {\n const key = keyExtractor(event.target as HTMLElement, ITEM_SELECTOR);\n if (isKeyDefined(key)) {\n pendingCurrentKey.current = key as K;\n if (key !== currentKey) {\n focusAndScrollIntoView.current = false;\n }\n }\n },\n [currentKey]\n );\n\n const handleKeyDown = (event: KeyboardEvent) => {\n // for content focusBehavior, when users tab out, we need to focus back to card grid, to ensure\n // the tabbing order works properly, otherwise the focus might get stuck at the current item\n if (validFocusBehavior === 'content' && event.key === 'Tab') {\n rootRef.current?.focus({ preventScroll: true });\n }\n // during keyboard reordering, the current item should be scrolled into view\n const keyHandlers = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];\n if (\n isReorderEnabled &&\n (event.metaKey || event.ctrlKey) &&\n event.shiftKey &&\n keyHandlers.includes(event.key)\n ) {\n scrollCurrItemIntoView.current = true;\n }\n };\n\n useEffect(() => {\n if (currentKey != null && rootRef.current) {\n const elem = findElementByKey(rootRef.current, currentKey, ITEM_SELECTOR);\n if (elem) {\n // only update aria-activedescendant for screen reader in default focusBehavior\n if (validFocusBehavior === 'card') {\n const cell = elem.closest(`[role=gridcell]`);\n const activeDescendant = rootRef.current.getAttribute('aria-activedescendant');\n if (cell && activeDescendant !== cell.id) {\n rootRef.current.setAttribute('aria-activedescendant', cell.id);\n scrollCurrItemIntoView.current = true;\n }\n }\n // make sure current item is visible\n // scroll the current item into view only when the current item is updated internally\n if (scrollCurrItemIntoView.current && !isCurrentItemOverridden) {\n elem.scrollIntoView({ block: 'nearest' });\n scrollCurrItemIntoView.current = false;\n }\n }\n }\n // listen to data because the current item would re-render when data is updated, i.e. the id\n // of current item would be updated, so the currentKey itself couldn't guarantee the root has\n // the latest aria-activedescendant\n }, [currentKey, data, validFocusBehavior, isReorderEnabled, isCurrentItemOverridden]);\n\n /*****************************************************************************************/\n /*************************************** Selection ***************************************/\n /*****************************************************************************************/\n\n const handleSelectionChange = useCallback(\n (detail: SelectionDetail<K>) => {\n if (onSelectionChange) {\n if (detail.value.all === false && detail.value.keys.size > 0) {\n // during regular selection, the last key selected by a user gesture is the anchor key\n anchorKey.current = Array.from(detail.value.keys.values()).pop();\n }\n onSelectionChange(detail);\n }\n },\n [anchorKey, onSelectionChange]\n );\n\n const handleSelectionRangeChange = useCallback(\n (detail: SelectionRangeDetail<K>) => {\n if (data && onSelectionChange) {\n const value = handleSelectionRange(detail, data, getRowKey);\n // for non-virtualized CardView, value should always be an array\n if (Array.isArray(value)) {\n if (detail.eventType === 'shiftSpace') {\n // during range selection by shift+space, the first key selected by a user gesture is the anchor key\n anchorKey.current = detail.value.start;\n } else {\n // during range selection by shift+click/arrow keys, the last key selected by a user gesture is the anchor key\n anchorKey.current = detail.value.end;\n }\n onSelectionChange({ value: { all: false, keys: new Set(value) }, target: null });\n }\n }\n },\n [data, onSelectionChange, getRowKey]\n );\n\n const { selectionProps } = useSelection(\n (element: HTMLElement) => {\n if (element === rootRef.current) {\n return currentKey === undefined ? null : currentKey;\n }\n return keyExtractor(element, ITEM_SELECTOR) as K;\n },\n selectedKeys,\n selectionMode,\n false,\n 'toggle',\n handleSelectionChange,\n anchorKey.current,\n currentKey,\n (currentKey: K | undefined, isPrev: boolean) => () =>\n getPrevNextKeyByCount(data, getRowKey, currentKey, isPrev ? -columns : columns),\n (currentKey: K | undefined, isPrev: boolean) => () =>\n getPrevNextKeyByCount(data, getRowKey, currentKey, isPrev ? -1 : 1),\n (key: K) => {\n if (rootRef.current) {\n const elem = findElementByKey(rootRef.current, key, ITEM_SELECTOR);\n if (elem) {\n elem.scrollIntoView({ block: 'nearest' });\n }\n }\n },\n handleSelectionRangeChange\n );\n\n /*****************************************************************************************/\n /**************************************** Reorder ****************************************/\n /*****************************************************************************************/\n\n const {\n reorderProps,\n reorderItemProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } = useCardViewReorder({\n currentKey,\n onReorder,\n gutterSize,\n columns,\n rootRef,\n scrollCurrItemIntoView\n });\n\n const reorderAcc = isReorderEnabled && (\n <>\n <span id={reorderInstructionsId}>\n <HiddenAccessible>{reorderInstructions}</HiddenAccessible>\n </span>\n </>\n );\n\n /*****************************************************************************************/\n /************************************* Load More *****************************************/\n /*****************************************************************************************/\n\n const handleLoadMore = useCallback(() => {\n // check isFetching to avoid multiple load more at the same time (details in JET-61117)\n if (!isFetching.current) {\n isFetching.current = true;\n onLoadMore();\n }\n }, [isFetching, onLoadMore]);\n\n useEffect(() => {\n isFetching.current = false;\n // listen to data and hasMore because when one of them gets updated, the fetching is done\n }, [data, hasMore]);\n\n /*****************************************************************************************/\n /************************************ Child Component ************************************/\n /*****************************************************************************************/\n\n const getItemContext = useCallback(\n (context: ItemContext<D>) => {\n const key = getRowKey(context.data);\n const selectorRenderer =\n selectionMode === 'multiple'\n ? () => (\n <Selector\n onChange={onSelectionChange}\n rowKey={key}\n selectedKeys={selectedKeys}></Selector>\n )\n : undefined;\n\n return {\n index: context.index,\n data: context.data,\n metadata: { key: key },\n selector: selectorRenderer,\n isSelected: containsKey(selectedKeys, key)\n };\n },\n [selectionMode, selectedKeys, onSelectionChange, getRowKey]\n );\n\n const childrenComponent = (context: ItemContext<D>) => {\n const cardItemContext = getItemContext(context);\n const isTabbable = isCurrentTabbableKey(cardItemContext.metadata.key);\n const isFocused = currentKey === cardItemContext.metadata.key && !isTabbable;\n const isFocusRingVisible = isFocused && showFocusRing;\n const isSelected = cardItemContext.isSelected;\n const itemRenderFunc = (context: ListItemRendererContext<K, D>) => (\n <MemoizeBaseCardViewItem\n key={cardItemContext.metadata.key}\n context={context}\n isTabbable={isTabbable}\n isFocused={isFocused}\n isFocusRingVisible={isFocusRingVisible}\n isGridLayout={layout === 'grid'}\n isSelected={isSelected}\n selectionMode={selectionMode}\n focusBehavior={validFocusBehavior}\n {...(focusBehavior === 'content' && { setIsFocusBehaviorValid })}\n {...(isInitialAnimation.current && { initialAnimation })}\n {...(cardItemContext.index === 0 && !cardSize.width && { updateCardSize })}\n {...(isReorderEnabled && { reorderItemProps })}>\n {children}\n </MemoizeBaseCardViewItem>\n );\n return itemRenderFunc(cardItemContext);\n };\n\n const renderCustomLoadMoreSkeletons = useCallback(\n (\n isRenderAsInitial: boolean,\n skeletonRenderer: (context: SkeletonRendererContext) => ComponentChildren\n ) => {\n const skeletons = [];\n if (isRenderAsInitial) {\n const context: SkeletonRendererContext = { loadingStatus: 'initial' };\n skeletons.push(<div class={LOADMORE_STYLE_CLASS}>{skeletonRenderer(context)}</div>);\n skeletons.push(renderMultipleSkeletons(context, 24, skeletonRenderer));\n } else {\n if (columns === 0) {\n return null;\n }\n const fillColCount = columns - (data!.length % columns);\n const isOnlyOneRow = fillColCount === columns;\n const context: SkeletonRendererContext = {\n loadingStatus: 'loadMore',\n height: layout === 'flex' || isOnlyOneRow ? sizeCal(cardSize.height!) : '100%',\n width: layout === 'flex' ? sizeCal(cardSize.width!) : '100%'\n };\n skeletons.push(<div class={LOADMORE_STYLE_CLASS}>{skeletonRenderer(context)}</div>);\n skeletons.push(\n Array(renderMultipleSkeletons(context, fillColCount - 1, skeletonRenderer))\n );\n if (!isOnlyOneRow) {\n skeletons.push(renderMultipleSkeletons(context, columns, skeletonRenderer));\n }\n }\n return <BaseCardViewSkeletonContainer>{skeletons}</BaseCardViewSkeletonContainer>;\n },\n [cardSize, columns, data, layout]\n );\n\n // todo: issue track in JET-57952, need a way to show the skeletons in keyboard navigation\n const skeletons = data ? (\n !data.length && hasMore ? (\n skeletonRenderer ? (\n renderCustomLoadMoreSkeletons(true, skeletonRenderer)\n ) : (\n <DefaultLoadMoreSkeletons layout={layout} />\n )\n ) : skeletonRenderer ? (\n renderCustomLoadMoreSkeletons(false, skeletonRenderer)\n ) : (\n <LoadMoreSkeletons\n layout={layout}\n colCount={columns}\n totalCount={data.length}\n cardWidth={cardSize.width}\n cardHeight={cardSize.height}\n />\n )\n ) : null;\n\n viewportConfig = getViewportConfig(rootRef, viewportConfig);\n const collectionComponent = (\n <div role=\"row\">\n <BaseCardViewLayout {...layoutProps}>\n <LoadMoreCollection\n data={data}\n hasMore={hasMore}\n onLoadMore={handleLoadMore}\n loadMoreIndicator={skeletons}\n loadMoreThreshold={gutterSizePX + 4} // gap size + padding\n viewportConfig={viewportConfig}>\n {childrenComponent}\n </LoadMoreCollection>\n </BaseCardViewLayout>\n </div>\n );\n\n const initialLoadSkeletons = (\n <BaseCardViewLayout {...layoutProps}>\n {skeletonRenderer ? (\n renderCustomInitialSkeletons(skeletonRenderer)\n ) : (\n <InitialLoadSkeletons layout={layout} />\n )}\n </BaseCardViewLayout>\n );\n\n return (\n <div\n {...mergeProps(\n currentKeyProps,\n focusRingProps,\n selectionProps,\n reorderProps,\n {\n onFocus: handleFocus,\n onPointerDown: handlePointerDown,\n onKeyDown: handleKeyDown\n },\n // only enable tabbable mode in default focusBehavior\n { ...(validFocusBehavior === 'card' && tabbableModeProps) }\n )}\n ref={rootRef}\n role=\"grid\"\n class={styles.baseStyle}\n tabIndex={0}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={isReorderEnabled ? reorderInstructionsId : undefined}\n aria-multiselectable={ariaMultiSelectable}\n aria-rowcount={ariaRowcount}\n aria-colcount={ariaColcount}>\n <ReorderableContext.Provider value={reorderContext}>\n {!data ? (\n initialLoadSkeletons\n ) : data.length || hasMore ? (\n collectionComponent\n ) : (\n <Fragment />\n )}\n </ReorderableContext.Provider>\n {reorderAcc}\n </div>\n );\n }\n);\n\nconst renderCustomInitialSkeletons = (\n skeletonRenderer: (context: SkeletonRendererContext) => ComponentChildren\n) => {\n const context: SkeletonRendererContext = { loadingStatus: 'initial' };\n return (\n <BaseCardViewSkeletonContainer>\n {renderMultipleSkeletons(context, 25, skeletonRenderer)}\n </BaseCardViewSkeletonContainer>\n );\n};\n\nconst renderMultipleSkeletons = (\n context: SkeletonRendererContext,\n count: number,\n skeletonRenderer: (context: SkeletonRendererContext) => ComponentChildren\n) => {\n return Array(count).fill(skeletonRenderer(context));\n};\n\nconst sizeCal = (val: number) => {\n return `calc(${val}px)` as Size;\n};\n\n/**\n * Props specific for the BaseCardView\n */\ntype BaseCardViewProps<K, D> = BaseCardViewImplProps<K, D> & {\n ref?: ForwardedRef<HTMLDivElement>;\n};\n\n/**\n * Cast BaseCardViewImpl to generic type, because BaseCardViewImpl would infer the generic type to specific type,\n * i.e infer <K extends string | number, D> to <string | number, unknown>, which will cause type issues in the parent component\n */\nexport const BaseCardView = BaseCardViewImpl as <K extends string | number, D>(\n props: BaseCardViewProps<K, D>\n) => JSX.Element;\n","import type { RefObject } from 'preact';\nimport { useState } from 'preact/hooks';\nimport { ITEM_SELECTOR, dragToScroll } from '../utils/PRIVATE_collectionUtils';\nimport { useReorderable } from '../hooks/PRIVATE_useReorderable';\nimport { Props } from '../UNSAFE_CardFlexView';\nimport { GutterSize } from './BaseCardViewUtils';\n\ntype useCardViewReorderProps<K, D> = Pick<Props<K, D>, 'onReorder'> & {\n currentKey: K | undefined;\n gutterSize: GutterSize;\n columns: number;\n rootRef: RefObject<HTMLDivElement>;\n scrollCurrItemIntoView: RefObject<boolean>;\n};\n\nexport const useCardViewReorder = <K extends string | number, D>({\n currentKey,\n onReorder,\n gutterSize,\n columns,\n rootRef,\n scrollCurrItemIntoView\n}: useCardViewReorderProps<K, D>) => {\n const isReorderEnabled = onReorder != undefined;\n\n const [dragKey, setDragKey] = useState<K | undefined>(undefined);\n const { reorderProps, reorderContext, reorderInstructionsId, reorderInstructions } =\n useReorderable({\n onReorder,\n rootRef,\n itemSelector: ITEM_SELECTOR,\n isDisabled: !isReorderEnabled,\n columns\n });\n\n if (!isReorderEnabled) {\n return {\n reorderProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } as const;\n }\n\n const handleDragOver = (event: DragEvent) => {\n dragToScroll(event, dragKey !== undefined, rootRef.current);\n // during mouse reordering, the drag item might not be the same as current item,\n // so we should disallow current item scroll into view\n scrollCurrItemIntoView.current = false;\n };\n\n const reorderEventProps = { ...reorderProps, onDragOver: handleDragOver };\n\n const reorderItemProps = {\n currentKey,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n gutterSize,\n columns\n };\n\n return {\n reorderProps: reorderEventProps,\n reorderItemProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } as const;\n};\n"],"names":["BaseCardViewReorderableItem","currentKey","children","dragKey","setDragKey","onReorder","rootRef","gutterSize","columns","context","itemRef","useRef","isOneColumn","isFirstColumn","index","isLastColumn","variantClasses","multiVariantStyles","itemOverlayFront","variantClassesVertical","itemOverlayFrontVertical","itemStyles","itemOverlayRear","styles","itemOverlayRearVertical","itemDragger","getItem","useCallback","current","closest","ITEM_SELECTOR","setTransferData","event","dataTransfer","setData","JSON","stringify","metadata","key","rootProps","isDragged","overlayZoneBeforeProps","overlayZoneAfterProps","useReorderableItem","isDisabled","ref","itemSelector","isVertical","currentItemKey","useReorderableContext","useEffect","direction","useUser","isRtl","overlayZoneBeforeClass","classNames","class","itemOverlayFrontEdge","overlayZoneAfterClass","itemOverlayRearEdge","_jsxs","isKeyDefined","_Fragment","_jsx","jsx","animationConfigSlide","animationStates","slideUp","from","translateY","to","options","duration","delay","easing","slideDown","isAnimatedOnMount","animationConfigOpacity","timeoutRef","opacity","onAnimationEnd","clearTimeout","MemoizeBaseCardViewItem","memo","isTabbable","isFocused","isFocusRingVisible","isSelected","selectionMode","focusBehavior","setIsFocusBehaviorValid","initialAnimation","isGridLayout","updateCardSize","reorderItemProps","itemKey","itemIndex","isItemFocused","itemFocused","itemInitialOpacity","itemInGridLayout","classes","itemStyle","handleResize","entry","contentRect","width","height","nullRef","useResizeObserver","useLayoutEffect","content","firstElementChild","focusable","allTabbableElements","length","warn","focus","nodeRef","nodeRefSlide","controller","controllerSlide","useAnimation","nodeRefOpacity","controllerOpacity","undefined","setTimeout","cancel","style","itemRefs","useMemo","mergeRefs","childrenComponent","id","useId","role","onKeyDown","stopPropagation","TabbableModeContext","Provider","value","FocusTrap","restoreFocusRef","prev","next","compareListItemContext","props1","props2","BaseCardViewLayout","layout","gap","cardViewVars","Grid","gridTemplateColumns","Flex","wrap","BaseCardViewSkeletonContainer","isVisible","setIsVisible","useState","Fragment","LOADMORE_STYLE_CLASS","getSkeletonsByCount","count","isUnique","sw","sh","Array","map","_v","i","Skeleton","Date","getTime","InitialLoadSkeletons","props","DefaultLoadMoreSkeletons","skeletons","DEFAULT_SKELETON_NUMBER","InvisibleSkeletons","LoadMoreSkeletons","colCount","cardWidth","cardHeight","firstRowColCount","totalCount","isOnlyOneRow","firstSkeleton","push","emptyKeys","all","keys","Set","gutterSizeToPX","xs","sm","md","lg","xl","BaseCardViewImpl","forwardRef","data","onLoadMore","hasMore","getRowKey","currentItemOverride","onPersistCurrentItem","selectedKeys","onSelectionChange","viewportConfig","ariaLabel","ariaLabelledBy","cardSize","skeletonRenderer","useImperativeHandle","anchorKey","pendingCurrentKey","focusAndScrollIntoView","gutterSizePX","layoutProps","isInitialAnimation","ariaMultiSelectable","ariaRowcount","Math","ceil","ariaColcount","isFocusBehaviorValid","validFocusBehavior","scrollCurrItemIntoView","isReorderEnabled","isFetching","onCurrentKeyChange","isCurrentItemOverridden","useCurrentItemOverride","isCurrentTabbableKey","tabbableModeProps","useTabbableModeSet","element","keyExtractor","currentKeyProps","useCurrentKey","getPrevNextKeyByCount","showFocusRing","focusRingProps","useCollectionFocusRing","handlePointerDown","target","elem","findElementByKey","cell","activeDescendant","getAttribute","setAttribute","scrollIntoView","block","handleSelectionChange","detail","size","values","pop","handleSelectionRangeChange","handleSelectionRange","isArray","eventType","start","end","selectionProps","useSelection","isPrev","reorderProps","reorderContext","reorderInstructionsId","reorderInstructions","useReorderable","onDragOver","dragToScroll","useCardViewReorder","reorderAcc","HiddenAccessible","handleLoadMore","getItemContext","selectorRenderer","Selector","onChange","rowKey","selector","containsKey","renderCustomLoadMoreSkeletons","isRenderAsInitial","loadingStatus","renderMultipleSkeletons","fillColCount","sizeCal","getViewportConfig","collectionComponent","LoadMoreCollection","loadMoreIndicator","loadMoreThreshold","cardItemContext","itemRenderFunc","initialLoadSkeletons","renderCustomInitialSkeletons","jsxs","mergeProps","onFocus","firstKey","getFirstVisibleKey","onPointerDown","preventScroll","metaKey","ctrlKey","shiftKey","includes","baseStyle","tabIndex","ReorderableContext","fill","val","BaseCardView","gapWidth","rootWidth","floor","max"],"mappings":"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"}
1
+ {"version":3,"file":"BaseCardView-4f88499c.js","sources":["../../src/PRIVATE_BaseCardView/BaseCardViewReorderableItem.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewItem.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewLayout.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewSkeletonContainer.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewSkeleton.tsx","../../src/PRIVATE_BaseCardView/BaseCardViewUtils.ts","../../src/PRIVATE_BaseCardView/BaseCardView.tsx","../../src/PRIVATE_BaseCardView/useCardViewReorder.ts"],"sourcesContent":["import { useRef, useCallback, useEffect } from 'preact/hooks';\nimport { useReorderableItem } from '../hooks/PRIVATE_useReorderable';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { ITEM_SELECTOR } from '../utils/PRIVATE_collectionUtils';\nimport { ListItemRendererContext } from '../UNSAFE_Collection';\nimport { ReorderableItemProps } from '../UNSAFE_Collection/Reorderable.types';\nimport { multiVariantStyles, styles } from './themes/BaseCardViewStyles.css';\nimport { GutterSize } from './BaseCardViewUtils';\nimport { useReorderableContext } from '#hooks/PRIVATE_useReorderable/useReorderableContext';\nimport { isKeyDefined } from '../utils/UNSAFE_keys';\n\nexport type BaseCardViewReorderableItemProps<K> = ReorderableItemProps<K> & {\n currentKey: K | undefined;\n gutterSize: GutterSize;\n columns: number;\n};\n\n/**\n * The internal component used to render a reorderable item in CardView.\n */\nexport function BaseCardViewReorderableItem<K extends string | number, D>({\n currentKey,\n children,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n gutterSize,\n columns,\n context\n}: BaseCardViewReorderableItemProps<K> & { context: ListItemRendererContext<K, D> }) {\n const itemRef = useRef<HTMLDivElement | null>(null);\n const isOneColumn = columns === 1;\n const isFirstColumn = context.index % columns === 0;\n const isLastColumn = context.index % columns === columns - 1;\n const variantClasses = multiVariantStyles({\n itemOverlayFront: gutterSize\n });\n const variantClassesVertical = multiVariantStyles({\n itemOverlayFrontVertical: gutterSize\n });\n const itemStyles = {\n itemOverlayFront: isOneColumn ? variantClassesVertical : variantClasses,\n itemOverlayRear: isOneColumn ? styles.itemOverlayRearVertical : styles.itemOverlayRear,\n itemDragger: styles.itemDragger\n };\n const getItem = useCallback(() => itemRef?.current?.closest(ITEM_SELECTOR) as HTMLElement, []);\n const setTransferData = useCallback(\n (event: DragEvent) => {\n event.dataTransfer?.setData('text/cardview-items-key', JSON.stringify(context.metadata.key));\n },\n [context.metadata.key]\n );\n const { rootProps, isDragged, overlayZoneBeforeProps, overlayZoneAfterProps } =\n useReorderableItem({\n isDisabled: onReorder ? false : true,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n ref: itemRef,\n getItem,\n setTransferData,\n itemStyles,\n itemSelector: ITEM_SELECTOR,\n isVertical: isOneColumn\n });\n\n // TODO: remove this as part of JET-70023\n const { currentItemKey } = useReorderableContext();\n useEffect(() => {\n if (currentKey === context.metadata.key) {\n currentItemKey.current = currentKey;\n }\n }, [currentKey, context, currentItemKey]);\n\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const overlayZoneBeforeClass = classNames([\n overlayZoneBeforeProps?.class,\n !isOneColumn && !isRtl && isFirstColumn && styles.itemOverlayFrontEdge,\n !isOneColumn && isRtl && isLastColumn && styles.itemOverlayFrontEdge\n ]);\n\n const overlayZoneAfterClass = classNames([\n overlayZoneAfterProps?.class,\n !isOneColumn && !isRtl && isLastColumn && styles.itemOverlayRearEdge,\n !isOneColumn && isRtl && isFirstColumn && styles.itemOverlayRearEdge\n ]);\n\n return (\n <div {...rootProps}>\n {children}\n {!isDragged && isKeyDefined(dragKey) && (\n <>\n <div {...overlayZoneBeforeProps} class={overlayZoneBeforeClass}></div>\n <div {...overlayZoneAfterProps} class={overlayZoneAfterClass}></div>\n </>\n )}\n </div>\n );\n}\n","/**\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 } from 'preact';\nimport { memo } from 'preact/compat';\nimport {\n useRef,\n useCallback,\n useLayoutEffect,\n useMemo,\n useEffect,\n StateUpdater,\n Dispatch,\n MutableRef\n} from 'preact/hooks';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { mergeRefs } from '../utils/PRIVATE_refUtils';\nimport { warn } from '../utils/UNSAFE_logger';\nimport { allTabbableElements } from '../utils/PRIVATE_tabbableUtils';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { useAnimation, UseAnimationConfig } from '../hooks/UNSAFE_useAnimation';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\nimport { TabbableModeContext } from '../hooks/UNSAFE_useTabbableMode';\nimport { FocusTrap } from '../UNSAFE_FocusTrap';\nimport { SelectionMode, ListItemRendererContext } from '../UNSAFE_Collection';\nimport { multiVariantStyles, styles } from './themes/BaseCardViewStyles.css';\nimport { compareListItemContext } from '../utils/PRIVATE_collectionUtils';\nimport {\n BaseCardViewReorderableItem,\n BaseCardViewReorderableItemProps\n} from './BaseCardViewReorderableItem';\n\n/**\n * Props for the BaseCardViewItem Component\n */\nexport type Props<K, D> = {\n children: (context: ListItemRendererContext<K, D>) => ComponentChildren;\n context: ListItemRendererContext<K, D>;\n isTabbable: boolean;\n isFocused: boolean;\n isFocusRingVisible: boolean;\n isSelected: boolean;\n selectionMode: SelectionMode;\n focusBehavior: 'card' | 'content';\n setIsFocusBehaviorValid?: Dispatch<StateUpdater<boolean>>;\n initialAnimation?: 'slideUp' | 'slideDown';\n isGridLayout?: boolean;\n updateCardSize?: (width: number, height: number) => void;\n} & {\n reorderItemProps?: Omit<BaseCardViewReorderableItemProps<K>, 'children'>;\n};\n\n/**\n * The internal component used to render a single item in CardView.\n */\nexport function BaseCardViewItem<K extends string | number, D>({\n children,\n context,\n isTabbable,\n isFocused,\n isFocusRingVisible,\n isSelected,\n selectionMode,\n focusBehavior,\n setIsFocusBehaviorValid,\n initialAnimation,\n isGridLayout,\n updateCardSize,\n reorderItemProps\n}: Props<K, D>) {\n const rootRef = useRef<HTMLDivElement>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout>>();\n const itemKey = context.metadata.key;\n const itemIndex = context.index;\n\n const isItemFocused = isFocused && isFocusRingVisible;\n const variantClasses = multiVariantStyles({\n itemFocused: focusBehavior === 'card' && isItemFocused ? 'isItemFocused' : 'isNotItemFocused',\n itemInitialOpacity: initialAnimation ? 'isTransparent' : 'isNotTransparent',\n itemInGridLayout: isGridLayout ? 'isInGridLayout' : 'isNotInGridLayout'\n });\n const classes = classNames([styles.itemStyle, variantClasses]);\n\n /*********************************** Tabbable Mode ***********************************/\n\n // don't bubble Arrow Up/Down/Left/Right events to parent when in isTabbable mode\n // this bubbling causes the outer CollectionFocus ring to change index while in the isTabbable mode.\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n focusBehavior === 'card' &&\n isTabbable &&\n (event.key === 'ArrowDown' ||\n event.key === 'ArrowUp' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight')\n ) {\n event.stopPropagation();\n }\n };\n\n /************************************ Card Size ************************************/\n\n const handleResize = useCallback(\n (entry: ResizeObserverEntry) => {\n updateCardSize?.(entry.contentRect.width, entry.contentRect.height);\n },\n [updateCardSize]\n );\n\n const nullRef = useRef<HTMLDivElement>(null);\n useResizeObserver(updateCardSize ? rootRef : nullRef, handleResize);\n\n /********************************* Focus Behavior *********************************/\n\n useLayoutEffect(() => {\n if (focusBehavior === 'content' && isItemFocused) {\n // rootRef is cardview item, its first child is the focus trap div, so its first grand child\n // is the actual content\n const content = rootRef.current?.firstElementChild?.firstElementChild as HTMLElement;\n const focusable = allTabbableElements(content, true, true);\n if (focusable.length === 0 || focusable.length > 1) {\n warn(\n `${focusable.length} focusable elements are detected in the card. 'content' focusBehavior is intended only for use when the card has single focusable element. Please specify one focusable element in the card or switch the focusBehavior to 'card'.`\n );\n setIsFocusBehaviorValid?.(false);\n } else {\n focusable[0].focus();\n }\n }\n }, [focusBehavior, isItemFocused, setIsFocusBehaviorValid]);\n\n /******************************** Initial Animation ********************************/\n\n // animation for slide up/down\n const { nodeRef: nodeRefSlide, controller: controllerSlide } = useAnimation<\n 'slideUp' | 'slideDown' | 'none',\n HTMLDivElement\n >(initialAnimation || 'none', animationConfigSlide(itemIndex));\n\n // animation for opacity change\n const { nodeRef: nodeRefOpacity, controller: controllerOpacity } = useAnimation<\n 'opacity' | 'none',\n HTMLDivElement\n >((initialAnimation && 'opacity') || 'none', animationConfigOpacity(itemIndex, timeoutRef));\n\n // max cap for animation is 1s\n useEffect(() => {\n if (initialAnimation !== undefined) {\n timeoutRef.current = setTimeout(() => {\n controllerSlide.cancel();\n controllerOpacity.cancel();\n if (rootRef.current) {\n rootRef.current.style.opacity = '1';\n }\n }, 1000);\n }\n }, [controllerOpacity, controllerSlide, initialAnimation]);\n\n // TODO: issue track in JET-57681, we currently have two useAnimation() because the opacity and\n // slide up/down have different durations, and the current API couldn't handle this case, we will\n // update this once the API is updated\n\n /********************************** Child Component **********************************/\n\n const itemRefs = useMemo(() => {\n // NOTE: spot an issue when we click the cards during animation is processing, the cards would not finish\n // the current animations and stay as what it is, e.g. leave itself as half transparent.\n // need to remove nodeRefSlide and nodeRefOpacity to avoid this issue.\n if (initialAnimation === undefined) {\n return mergeRefs(rootRef);\n }\n return mergeRefs(rootRef, nodeRefSlide, nodeRefOpacity);\n }, [rootRef, nodeRefSlide, nodeRefOpacity, initialAnimation]);\n\n const childrenComponent = reorderItemProps ? (\n <BaseCardViewReorderableItem {...reorderItemProps} context={context}>\n {children(context)}\n </BaseCardViewReorderableItem>\n ) : (\n children(context)\n );\n\n return (\n <div\n id={useId()}\n ref={itemRefs}\n class={classes}\n role=\"gridcell\"\n data-oj-key={itemKey}\n onKeyDown={handleKeyDown}\n aria-selected={selectionMode === 'none' ? undefined : isSelected}\n {...(typeof itemKey === 'number' && { 'data-oj-key-type': 'number' })}>\n <TabbableModeContext.Provider value={{ isTabbable }}>\n <FocusTrap isDisabled={!isTabbable} restoreFocusRef={false}>\n {childrenComponent}\n </FocusTrap>\n </TabbableModeContext.Provider>\n </div>\n );\n}\n\nconst animationConfigSlide = (\n index: number\n): UseAnimationConfig<'slideUp' | 'slideDown' | 'none', HTMLDivElement> => {\n return {\n animationStates: {\n slideUp: {\n from: {\n translateY: '50px'\n },\n to: {\n translateY: '0px'\n },\n options: {\n duration: 300,\n delay: index * 50,\n easing: [0, 0, 0.2, 1]\n }\n },\n slideDown: {\n from: {\n translateY: '-50px'\n },\n to: {\n translateY: '0'\n },\n options: {\n duration: 300,\n delay: index * 50,\n easing: [0, 0, 0.2, 1]\n }\n }\n },\n isAnimatedOnMount: true\n };\n};\n\nconst animationConfigOpacity = (\n index: number,\n timeoutRef: MutableRef<ReturnType<typeof setTimeout> | undefined>\n): UseAnimationConfig<'opacity' | 'none', HTMLDivElement> => {\n return {\n animationStates: {\n opacity: {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n },\n options: {\n duration: 150,\n delay: index * 50,\n easing: 'linear'\n }\n }\n },\n isAnimatedOnMount: true,\n onAnimationEnd: () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n }\n };\n};\n\n/**\n * Compare the equality between two reorderItemProps, especially useful for memoized items\n */\nconst compareReorderItemProps = <K, D>(\n props1: Props<K, D>['reorderItemProps'],\n props2: Props<K, D>['reorderItemProps']\n) => {\n return (\n props1?.['currentKey'] === props2?.['currentKey'] &&\n props1?.['dragKey'] === props2?.['dragKey'] &&\n props1?.['columns'] === props2?.['columns']\n );\n};\n\nexport const MemoizeBaseCardViewItem = memo(\n BaseCardViewItem,\n <K, D>(prev: Props<K, D>, next: Props<K, D>) => {\n if (prev && next) {\n return (\n prev.children === next.children &&\n prev.isTabbable === next.isTabbable &&\n prev.isFocused === next.isFocused &&\n prev.isFocusRingVisible === next.isFocusRingVisible &&\n prev.isSelected === next.isSelected &&\n prev.initialAnimation === next.initialAnimation &&\n prev.focusBehavior === next.focusBehavior &&\n compareListItemContext(prev.context, next.context) &&\n compareReorderItemProps(prev.reorderItemProps, next.reorderItemProps)\n );\n }\n return false;\n }\n);\n","import { ComponentChildren } from 'preact';\nimport { Grid } from '../UNSAFE_Grid';\nimport { Flex } from '../UNSAFE_Flex';\nimport { GutterSize } from './BaseCardViewUtils';\nimport { cardViewVars } from './themes/BaseCardViewContract.css';\n\ntype Props = {\n children: ComponentChildren;\n layout: 'grid' | 'flex';\n gutterSize: GutterSize;\n columns: number;\n};\n\nexport function BaseCardViewLayout({ children, layout, gutterSize, columns }: Props) {\n const gap = cardViewVars.gutterSize[gutterSize];\n if (layout === 'grid') {\n return columns < 1 ? null : (\n <Grid gridTemplateColumns={`repeat(${columns}, 1fr)`} gap={gap}>\n {children}\n </Grid>\n );\n } else {\n return (\n <Flex wrap=\"wrap\" gap={gap}>\n {children}\n </Flex>\n );\n }\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentChildren, Fragment } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\n\ntype Props = {\n /**\n * Allows to pass skeletons\n **/\n children: ComponentChildren;\n};\n\n/**\n * Allows to specify the time delay for rendering the component\n **/\nconst timerValue = 50;\n\n/**\n * BaseCardViewSkeletonContainer renders skeletons after 50ms threshold defined in the Redwood spec\n **/\nexport function BaseCardViewSkeletonContainer({ children }: Props) {\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n setTimeout(() => {\n setIsVisible(true);\n }, timerValue);\n }, []);\n\n return isVisible ? <Fragment>{children}</Fragment> : <div class={LOADMORE_STYLE_CLASS}></div>;\n}\n","import { Size } from '../utils/UNSAFE_size';\nimport { Skeleton } from '../UNSAFE_Skeleton';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\nimport { BaseCardViewSkeletonContainer } from './BaseCardViewSkeletonContainer';\n\n// these are arbitrary values by now, might update them with definite values in the future\nconst DEFAULT_SKELETON_NUMBER = 25;\nconst DEFAULT_SKELETON_WIDTH = '60x';\nconst DEFAULT_SKELETON_HEIGHT = '70x';\n\ntype SkeletonProps = {\n layout: 'flex' | 'grid';\n colCount: number;\n totalCount: number;\n cardWidth?: number;\n cardHeight?: number;\n};\n\n/**\n * A function that returns an array of skeletons based on count\n * @param count the number of skeletons\n */\nconst getSkeletonsByCount = (\n layout: 'flex' | 'grid',\n count = DEFAULT_SKELETON_NUMBER,\n width?: Size,\n height?: Size,\n isUnique = true\n) => {\n const sw = width || (layout === 'flex' ? DEFAULT_SKELETON_WIDTH : '100%');\n const sh = height || DEFAULT_SKELETON_HEIGHT;\n\n return [...Array(count)].map((_v, i) => (\n // create unique keys if needed, otherwise the animations won't start at the same time, because the old copy of skeletons\n // could be reused, even the key is specified by useId(), combine count with time to make the key unique.\n <Skeleton key={isUnique && `${i}${new Date().getTime()}`} width={sw} height={sh} />\n ));\n};\n\n/**\n * When there is no data (i.e. data is an empty array or null, and hasMore is false), we will show 25 card skeletons with default size\n */\nexport const InitialLoadSkeletons = (props: { layout: SkeletonProps['layout'] }) => (\n <BaseCardViewSkeletonContainer>{getSkeletonsByCount(props.layout)}</BaseCardViewSkeletonContainer>\n);\n\n/**\n * When we are fetching the initial data (i.e. data is an empty array, and hasMore is true), we will show 25 card skeletons with default size,\n * because we don't know the card dimension at this time. Since there is more data to load, we will specify LOADMORE_STYLE_CLASS on skeletons\n */\nexport const DefaultLoadMoreSkeletons = (props: { layout: SkeletonProps['layout'] }) => {\n const firstSkeleton = (\n <div class={LOADMORE_STYLE_CLASS}>{getSkeletonsByCount(props.layout, 1)}</div>\n );\n const otherSkeletons = getSkeletonsByCount(props.layout, DEFAULT_SKELETON_NUMBER - 1);\n const skeletons = [firstSkeleton, ...otherSkeletons];\n return <BaseCardViewSkeletonContainer>{skeletons}</BaseCardViewSkeletonContainer>;\n};\n\n/**\n * During the render that we measure and update card dimension, we will hide skeletons temporarily\n * to avoid showing incorrect skeletons\n */\nconst InvisibleSkeletons = () => {\n return <div class={LOADMORE_STYLE_CLASS}></div>;\n};\n\nexport const LoadMoreSkeletons = (props: SkeletonProps) => {\n if (props.colCount < 1 || props.cardWidth == null || props.cardHeight == null) {\n // if column count / card width / card height are invalid, we will show the invisible skeletons\n return <InvisibleSkeletons />;\n } else {\n // after initial renders, show skeletons with correct dimension and count\n const skeletons = [];\n\n const firstRowColCount = props.colCount - (props.totalCount % props.colCount);\n const isOnlyOneRow = firstRowColCount === props.colCount;\n\n const cardWidth = `calc(${props.cardWidth}px)` as Size;\n const cardHeight = props.cardHeight\n ? (`calc(${props.cardHeight}px)` as Size)\n : DEFAULT_SKELETON_HEIGHT;\n\n const width: Size = props.layout === 'flex' ? cardWidth : '100%';\n const height: Size = props.layout === 'flex' || isOnlyOneRow ? cardHeight : '100%';\n\n // first row\n const firstSkeleton = (\n <div class={LOADMORE_STYLE_CLASS}>{getSkeletonsByCount(props.layout, 1, width, height)}</div>\n );\n skeletons.push(firstSkeleton);\n skeletons.push(getSkeletonsByCount(props.layout, firstRowColCount - 1, width, height));\n\n // second row\n if (!isOnlyOneRow) {\n skeletons.push(getSkeletonsByCount(props.layout, props.colCount, width, cardHeight));\n }\n\n return <BaseCardViewSkeletonContainer>{skeletons}</BaseCardViewSkeletonContainer>;\n }\n};\n","import { Size } from '../utils/UNSAFE_size';\n\nexport const emptyKeys = { all: false, keys: new Set() };\nexport type GutterSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * A mapping of gutterSize to concrete size in pixels\n */\nexport const gutterSizeToPX: Record<string, number> = {\n xs: 12,\n sm: 16,\n md: 24,\n lg: 48,\n xl: 64\n};\n\nexport const getGapSize = (gutterSize?: GutterSize) => {\n const px = gutterSizeToPX[gutterSize || 'sm'];\n const gap = `${px / 4}x` as Size;\n return gap;\n};\n\nexport const getColCount = (gapWidth: number, cardWidth?: number, rootWidth?: number) => {\n if (!cardWidth || !rootWidth) return 0;\n\n // if we have n cards, we have n-1 gaps\n const colCount = Math.floor((rootWidth + gapWidth) / (gapWidth + cardWidth));\n return Math.max(1, colCount);\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, Fragment } from 'preact';\nimport { forwardRef, ForwardedRef } from 'preact/compat';\nimport { useRef, useCallback, useEffect, useState, useImperativeHandle } from 'preact/hooks';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { containsKey, Keys, isKeyDefined } from '../utils/UNSAFE_keys';\nimport {\n getPrevNextKeyByCount,\n getFirstVisibleKey,\n getViewportConfig,\n findElementByKey,\n keyExtractor,\n handleSelectionRange,\n ITEM_SELECTOR\n} from '../utils/PRIVATE_collectionUtils';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { useTabbableModeSet } from '../hooks/PRIVATE_useTabbableModeSet';\nimport { useSelection, SelectionRangeDetail } from '../hooks/PRIVATE_useSelection';\nimport { ReorderableContext } from '../hooks/PRIVATE_useReorderable';\nimport { ItemContext, ListItemRendererContext, SelectionDetail } from '../UNSAFE_Collection';\nimport { Selector } from '../UNSAFE_Selector';\nimport { HiddenAccessible } from '../UNSAFE_HiddenAccessible';\nimport { LoadMoreCollection } from '../PRIVATE_LoadMoreCollection';\nimport { styles } from './themes/BaseCardViewStyles.css';\nimport { Props } from '../UNSAFE_CardFlexView';\nimport { MemoizeBaseCardViewItem } from './BaseCardViewItem';\nimport { BaseCardViewLayout } from './BaseCardViewLayout';\nimport {\n DefaultLoadMoreSkeletons,\n LoadMoreSkeletons,\n InitialLoadSkeletons\n} from './BaseCardViewSkeleton';\nimport { gutterSizeToPX, emptyKeys } from './BaseCardViewUtils';\nimport { useCardViewReorder } from './useCardViewReorder';\nimport { useCurrentItemOverride } from '../PRIVATE_ListCardCommon';\n// TODO: add this import due to issue JET-67485, need to update once Stable is introduced\nimport './themes/redwood/BaseCardViewBaseTheme.css';\nimport { SkeletonRendererContext } from '../UNSAFE_CardFlexView';\nimport { BaseCardViewSkeletonContainer } from './BaseCardViewSkeletonContainer';\nimport { LOADMORE_STYLE_CLASS } from '../PRIVATE_LoadMoreCollection';\nimport { Size } from '../utils/UNSAFE_size';\n\n/**\n * Props specific for the GradGridBaseImpl Component\n */\ntype BaseCardViewImplProps<K, D> = Props<K, D> & {\n /**\n * Provide the number of columns to render;\n */\n columns: number;\n /**\n * The layout of the BaseCardView. When we use CardGridView as parent, we will use grid layout;\n * when we use CardFlexView as parent, we will use flex layout.\n */\n layout: 'grid' | 'flex';\n /**\n * Card dimension, including width and height\n */\n cardSize: { width?: number; height?: number };\n /**\n * A callback function to update card dimension, including width and height\n */\n updateCardSize: (width: number, height: number) => void;\n};\n\nconst BaseCardViewImpl = forwardRef(\n <K extends string | number, D>(\n {\n children,\n data,\n onLoadMore = () => {},\n hasMore = false,\n getRowKey,\n currentItemOverride,\n onPersistCurrentItem,\n selectionMode = 'none',\n selectedKeys = emptyKeys as Keys<K>,\n onSelectionChange,\n onReorder,\n viewportConfig,\n focusBehavior = 'card',\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n initialAnimation = 'slideUp',\n gutterSize = 'sm',\n columns,\n layout,\n cardSize,\n updateCardSize,\n skeletonRenderer\n }: BaseCardViewImplProps<K, D>,\n ref?: ForwardedRef<HTMLDivElement>\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(ref!, () => rootRef.current!, [rootRef]);\n\n // tracking the anchor key which is used for shift+click selection\n const anchorKey = useRef<K | undefined>();\n // tracking pending current key in pointer down event\n const pendingCurrentKey = useRef<K>();\n\n // ensure current item scroll into view when cardview regains focus\n // unless pendingCurrentKey gets updated to something different than currentKey\n const focusAndScrollIntoView = useRef(true);\n\n const gutterSizePX = gutterSizeToPX[gutterSize];\n const layoutProps = { layout, columns, gutterSize };\n const isInitialAnimation = useRef(true);\n useEffect(() => {\n if (cardSize.height != undefined && cardSize.width != undefined) {\n isInitialAnimation.current = false;\n }\n }, [cardSize]);\n\n const ariaMultiSelectable = selectionMode === 'none' ? undefined : selectionMode === 'multiple';\n const ariaRowcount = hasMore || !data || columns < 1 ? -1 : Math.ceil(data?.length / columns);\n const ariaColcount = columns < 1 ? -1 : columns;\n\n const [isFocusBehaviorValid, setIsFocusBehaviorValid] = useState(true);\n const validFocusBehavior = isFocusBehaviorValid ? focusBehavior : 'card';\n\n // ensure current item is scrolled into view when current item is updated\n // during reordering, enable that during keyboard reordering, disable that during mouse reordering\n const scrollCurrItemIntoView = useRef(false);\n const isReorderEnabled = onReorder != undefined;\n\n const isFetching = useRef(false);\n\n /*****************************************************************************************/\n /************************************* Tabbable Mode *************************************/\n /*****************************************************************************************/\n const { currentKey, onCurrentKeyChange, isCurrentItemOverridden } = useCurrentItemOverride(\n currentItemOverride,\n onPersistCurrentItem\n );\n\n const [isCurrentTabbableKey, tabbableModeProps] = useTabbableModeSet(\n rootRef,\n (element) => {\n return keyExtractor(element, ITEM_SELECTOR) as K;\n },\n currentKey,\n onCurrentKeyChange\n );\n\n /*****************************************************************************************/\n /********************************* Current Key and Focus *********************************/\n /*****************************************************************************************/\n\n const { currentKeyProps } = useCurrentKey(\n (element) => keyExtractor(element, ITEM_SELECTOR),\n selectionMode !== 'multiple',\n // init a function every time to make sure we pass in the latest columns,\n // otherwise the new key might be wrong after resize\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, -columns),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, columns),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, -1),\n () => getPrevNextKeyByCount(data, getRowKey, currentKey, 1),\n currentKey,\n onCurrentKeyChange\n );\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(rootRef, [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight'\n ]);\n\n const handleFocus = () => {\n // handle initial focus\n if (\n !isKeyDefined(currentKey) &&\n onCurrentKeyChange &&\n isCurrentTabbableKey(undefined) &&\n rootRef.current\n ) {\n const firstKey =\n pendingCurrentKey.current || (getFirstVisibleKey(rootRef.current, ITEM_SELECTOR) as K);\n if (isKeyDefined(firstKey)) {\n onCurrentKeyChange({ value: firstKey });\n }\n } else if (isKeyDefined(currentKey) && rootRef.current) {\n // if currentKey is defined, make sure scroll the current item into view when cardview regains focus\n const elem = findElementByKey(rootRef.current, currentKey as K, ITEM_SELECTOR);\n if (focusAndScrollIntoView.current) {\n elem?.scrollIntoView({ block: 'nearest' });\n }\n focusAndScrollIntoView.current = true;\n }\n };\n\n // need to track pointer down element to set currentItem when initial focus happens\n const handlePointerDown = useCallback(\n (event: PointerEvent) => {\n const key = keyExtractor(event.target as HTMLElement, ITEM_SELECTOR);\n if (isKeyDefined(key)) {\n pendingCurrentKey.current = key as K;\n if (key !== currentKey) {\n focusAndScrollIntoView.current = false;\n }\n }\n },\n [currentKey]\n );\n\n const handleKeyDown = (event: KeyboardEvent) => {\n // for content focusBehavior, when users tab out, we need to focus back to card grid, to ensure\n // the tabbing order works properly, otherwise the focus might get stuck at the current item\n if (validFocusBehavior === 'content' && event.key === 'Tab') {\n rootRef.current?.focus({ preventScroll: true });\n }\n // during keyboard reordering, the current item should be scrolled into view\n const keyHandlers = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];\n if (\n isReorderEnabled &&\n (event.metaKey || event.ctrlKey) &&\n event.shiftKey &&\n keyHandlers.includes(event.key)\n ) {\n scrollCurrItemIntoView.current = true;\n }\n };\n\n useEffect(() => {\n if (currentKey != null && rootRef.current) {\n const elem = findElementByKey(rootRef.current, currentKey, ITEM_SELECTOR);\n if (elem) {\n // only update aria-activedescendant for screen reader in default focusBehavior\n if (validFocusBehavior === 'card') {\n const cell = elem.closest(`[role=gridcell]`);\n const activeDescendant = rootRef.current.getAttribute('aria-activedescendant');\n if (cell && activeDescendant !== cell.id) {\n rootRef.current.setAttribute('aria-activedescendant', cell.id);\n scrollCurrItemIntoView.current = true;\n }\n }\n // make sure current item is visible\n // scroll the current item into view only when the current item is updated internally\n if (scrollCurrItemIntoView.current && !isCurrentItemOverridden) {\n elem.scrollIntoView({ block: 'nearest' });\n scrollCurrItemIntoView.current = false;\n }\n }\n }\n // listen to data because the current item would re-render when data is updated, i.e. the id\n // of current item would be updated, so the currentKey itself couldn't guarantee the root has\n // the latest aria-activedescendant\n }, [currentKey, data, validFocusBehavior, isReorderEnabled, isCurrentItemOverridden]);\n\n /*****************************************************************************************/\n /*************************************** Selection ***************************************/\n /*****************************************************************************************/\n\n const handleSelectionChange = useCallback(\n (detail: SelectionDetail<K>) => {\n if (onSelectionChange) {\n if (detail.value.all === false && detail.value.keys.size > 0) {\n // during regular selection, the last key selected by a user gesture is the anchor key\n anchorKey.current = Array.from(detail.value.keys.values()).pop();\n }\n onSelectionChange(detail);\n }\n },\n [anchorKey, onSelectionChange]\n );\n\n const handleSelectionRangeChange = useCallback(\n (detail: SelectionRangeDetail<K>) => {\n if (data && onSelectionChange) {\n const value = handleSelectionRange(detail, data, getRowKey);\n // for non-virtualized CardView, value should always be an array\n if (Array.isArray(value)) {\n if (detail.eventType === 'shiftSpace') {\n // during range selection by shift+space, the first key selected by a user gesture is the anchor key\n anchorKey.current = detail.value.start;\n } else {\n // during range selection by shift+click/arrow keys, the last key selected by a user gesture is the anchor key\n anchorKey.current = detail.value.end;\n }\n onSelectionChange({ value: { all: false, keys: new Set(value) }, target: null });\n }\n }\n },\n [data, onSelectionChange, getRowKey]\n );\n\n const { selectionProps } = useSelection(\n (element: HTMLElement) => {\n if (element === rootRef.current) {\n return currentKey === undefined ? null : currentKey;\n }\n return keyExtractor(element, ITEM_SELECTOR) as K;\n },\n selectedKeys,\n selectionMode,\n false,\n 'toggle',\n handleSelectionChange,\n anchorKey.current,\n currentKey,\n (currentKey: K | undefined, isPrev: boolean) => () =>\n getPrevNextKeyByCount(data, getRowKey, currentKey, isPrev ? -columns : columns),\n (currentKey: K | undefined, isPrev: boolean) => () =>\n getPrevNextKeyByCount(data, getRowKey, currentKey, isPrev ? -1 : 1),\n (key: K) => {\n if (rootRef.current) {\n const elem = findElementByKey(rootRef.current, key, ITEM_SELECTOR);\n if (elem) {\n elem.scrollIntoView({ block: 'nearest' });\n }\n }\n },\n handleSelectionRangeChange\n );\n\n /*****************************************************************************************/\n /**************************************** Reorder ****************************************/\n /*****************************************************************************************/\n\n const {\n reorderProps,\n reorderItemProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } = useCardViewReorder({\n currentKey,\n onReorder,\n gutterSize,\n columns,\n rootRef,\n scrollCurrItemIntoView\n });\n\n const reorderAcc = isReorderEnabled && (\n <>\n <span id={reorderInstructionsId}>\n <HiddenAccessible>{reorderInstructions}</HiddenAccessible>\n </span>\n </>\n );\n\n /*****************************************************************************************/\n /************************************* Load More *****************************************/\n /*****************************************************************************************/\n\n const handleLoadMore = useCallback(() => {\n // check isFetching to avoid multiple load more at the same time (details in JET-61117)\n if (!isFetching.current) {\n isFetching.current = true;\n onLoadMore();\n }\n }, [isFetching, onLoadMore]);\n\n useEffect(() => {\n isFetching.current = false;\n // listen to data and hasMore because when one of them gets updated, the fetching is done\n }, [data, hasMore]);\n\n /*****************************************************************************************/\n /************************************ Child Component ************************************/\n /*****************************************************************************************/\n\n const getItemContext = useCallback(\n (context: ItemContext<D>) => {\n const key = getRowKey(context.data);\n const selectorRenderer =\n selectionMode === 'multiple'\n ? () => (\n <Selector\n onChange={onSelectionChange}\n rowKey={key}\n selectedKeys={selectedKeys}></Selector>\n )\n : undefined;\n\n return {\n index: context.index,\n data: context.data,\n metadata: { key: key },\n selector: selectorRenderer,\n isSelected: containsKey(selectedKeys, key)\n };\n },\n [selectionMode, selectedKeys, onSelectionChange, getRowKey]\n );\n\n const childrenComponent = (context: ItemContext<D>) => {\n const cardItemContext = getItemContext(context);\n const isTabbable = isCurrentTabbableKey(cardItemContext.metadata.key);\n const isFocused = currentKey === cardItemContext.metadata.key && !isTabbable;\n const isFocusRingVisible = isFocused && showFocusRing;\n const isSelected = cardItemContext.isSelected;\n const itemRenderFunc = (context: ListItemRendererContext<K, D>) => (\n <MemoizeBaseCardViewItem\n key={cardItemContext.metadata.key}\n context={context}\n isTabbable={isTabbable}\n isFocused={isFocused}\n isFocusRingVisible={isFocusRingVisible}\n isGridLayout={layout === 'grid'}\n isSelected={isSelected}\n selectionMode={selectionMode}\n focusBehavior={validFocusBehavior}\n {...(focusBehavior === 'content' && { setIsFocusBehaviorValid })}\n {...(isInitialAnimation.current && { initialAnimation })}\n {...(cardItemContext.index === 0 && !cardSize.width && { updateCardSize })}\n {...(isReorderEnabled && { reorderItemProps })}>\n {children}\n </MemoizeBaseCardViewItem>\n );\n return itemRenderFunc(cardItemContext);\n };\n\n const renderCustomLoadMoreSkeletons = useCallback(\n (\n isRenderAsInitial: boolean,\n skeletonRenderer: (context: SkeletonRendererContext) => ComponentChildren\n ) => {\n const skeletons = [];\n if (isRenderAsInitial) {\n const context: SkeletonRendererContext = { loadingStatus: 'initial' };\n skeletons.push(<div class={LOADMORE_STYLE_CLASS}>{skeletonRenderer(context)}</div>);\n skeletons.push(renderMultipleSkeletons(context, 24, skeletonRenderer));\n } else {\n if (columns === 0) {\n return null;\n }\n const fillColCount = columns - (data!.length % columns);\n const isOnlyOneRow = fillColCount === columns;\n const context: SkeletonRendererContext = {\n loadingStatus: 'loadMore',\n height: layout === 'flex' || isOnlyOneRow ? sizeCal(cardSize.height!) : '100%',\n width: layout === 'flex' ? sizeCal(cardSize.width!) : '100%'\n };\n skeletons.push(<div class={LOADMORE_STYLE_CLASS}>{skeletonRenderer(context)}</div>);\n skeletons.push(\n Array(renderMultipleSkeletons(context, fillColCount - 1, skeletonRenderer))\n );\n if (!isOnlyOneRow) {\n skeletons.push(renderMultipleSkeletons(context, columns, skeletonRenderer));\n }\n }\n return <BaseCardViewSkeletonContainer>{skeletons}</BaseCardViewSkeletonContainer>;\n },\n [cardSize, columns, data, layout]\n );\n\n // todo: issue track in JET-57952, need a way to show the skeletons in keyboard navigation\n const skeletons = data ? (\n !data.length && hasMore ? (\n skeletonRenderer ? (\n renderCustomLoadMoreSkeletons(true, skeletonRenderer)\n ) : (\n <DefaultLoadMoreSkeletons layout={layout} />\n )\n ) : skeletonRenderer ? (\n renderCustomLoadMoreSkeletons(false, skeletonRenderer)\n ) : (\n <LoadMoreSkeletons\n layout={layout}\n colCount={columns}\n totalCount={data.length}\n cardWidth={cardSize.width}\n cardHeight={cardSize.height}\n />\n )\n ) : null;\n\n viewportConfig = getViewportConfig(rootRef, viewportConfig);\n const collectionComponent = (\n <div role=\"row\">\n <BaseCardViewLayout {...layoutProps}>\n <LoadMoreCollection\n data={data}\n hasMore={hasMore}\n onLoadMore={handleLoadMore}\n loadMoreIndicator={skeletons}\n loadMoreThreshold={gutterSizePX + 4} // gap size + padding\n viewportConfig={viewportConfig}>\n {childrenComponent}\n </LoadMoreCollection>\n </BaseCardViewLayout>\n </div>\n );\n\n const initialLoadSkeletons = (\n <BaseCardViewLayout {...layoutProps}>\n {skeletonRenderer ? (\n renderCustomInitialSkeletons(skeletonRenderer)\n ) : (\n <InitialLoadSkeletons layout={layout} />\n )}\n </BaseCardViewLayout>\n );\n\n return (\n <div\n {...mergeProps(\n currentKeyProps,\n focusRingProps,\n selectionProps,\n reorderProps,\n {\n onFocus: handleFocus,\n onPointerDown: handlePointerDown,\n onKeyDown: handleKeyDown\n },\n // only enable tabbable mode in default focusBehavior\n { ...(validFocusBehavior === 'card' && tabbableModeProps) }\n )}\n ref={rootRef}\n role=\"grid\"\n class={styles.baseStyle}\n tabIndex={0}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={isReorderEnabled ? reorderInstructionsId : undefined}\n aria-multiselectable={ariaMultiSelectable}\n aria-rowcount={ariaRowcount}\n aria-colcount={ariaColcount}>\n <ReorderableContext.Provider value={reorderContext}>\n {!data ? (\n initialLoadSkeletons\n ) : data.length || hasMore ? (\n collectionComponent\n ) : (\n <Fragment />\n )}\n </ReorderableContext.Provider>\n {reorderAcc}\n </div>\n );\n }\n);\n\nconst renderCustomInitialSkeletons = (\n skeletonRenderer: (context: SkeletonRendererContext) => ComponentChildren\n) => {\n const context: SkeletonRendererContext = { loadingStatus: 'initial' };\n return (\n <BaseCardViewSkeletonContainer>\n {renderMultipleSkeletons(context, 25, skeletonRenderer)}\n </BaseCardViewSkeletonContainer>\n );\n};\n\nconst renderMultipleSkeletons = (\n context: SkeletonRendererContext,\n count: number,\n skeletonRenderer: (context: SkeletonRendererContext) => ComponentChildren\n) => {\n return Array(count).fill(skeletonRenderer(context));\n};\n\nconst sizeCal = (val: number) => {\n return `calc(${val}px)` as Size;\n};\n\n/**\n * Props specific for the BaseCardView\n */\ntype BaseCardViewProps<K, D> = BaseCardViewImplProps<K, D> & {\n ref?: ForwardedRef<HTMLDivElement>;\n};\n\n/**\n * Cast BaseCardViewImpl to generic type, because BaseCardViewImpl would infer the generic type to specific type,\n * i.e infer <K extends string | number, D> to <string | number, unknown>, which will cause type issues in the parent component\n */\nexport const BaseCardView = BaseCardViewImpl as <K extends string | number, D>(\n props: BaseCardViewProps<K, D>\n) => JSX.Element;\n","import type { RefObject } from 'preact';\nimport { useState } from 'preact/hooks';\nimport { ITEM_SELECTOR, dragToScroll } from '../utils/PRIVATE_collectionUtils';\nimport { useReorderable } from '../hooks/PRIVATE_useReorderable';\nimport { Props } from '../UNSAFE_CardFlexView';\nimport { GutterSize } from './BaseCardViewUtils';\n\ntype useCardViewReorderProps<K, D> = Pick<Props<K, D>, 'onReorder'> & {\n currentKey: K | undefined;\n gutterSize: GutterSize;\n columns: number;\n rootRef: RefObject<HTMLDivElement>;\n scrollCurrItemIntoView: RefObject<boolean>;\n};\n\nexport const useCardViewReorder = <K extends string | number, D>({\n currentKey,\n onReorder,\n gutterSize,\n columns,\n rootRef,\n scrollCurrItemIntoView\n}: useCardViewReorderProps<K, D>) => {\n const isReorderEnabled = onReorder != undefined;\n\n const [dragKey, setDragKey] = useState<K | undefined>(undefined);\n const { reorderProps, reorderContext, reorderInstructionsId, reorderInstructions } =\n useReorderable({\n onReorder,\n rootRef,\n itemSelector: ITEM_SELECTOR,\n isDisabled: !isReorderEnabled,\n columns\n });\n\n if (!isReorderEnabled) {\n return {\n reorderProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } as const;\n }\n\n const handleDragOver = (event: DragEvent) => {\n dragToScroll(event, dragKey !== undefined, rootRef.current);\n // during mouse reordering, the drag item might not be the same as current item,\n // so we should disallow current item scroll into view\n scrollCurrItemIntoView.current = false;\n };\n\n const reorderEventProps = { ...reorderProps, onDragOver: handleDragOver };\n\n const reorderItemProps = {\n currentKey,\n dragKey,\n setDragKey,\n onReorder,\n rootRef,\n gutterSize,\n columns\n };\n\n return {\n reorderProps: reorderEventProps,\n reorderItemProps,\n reorderContext,\n reorderInstructionsId,\n reorderInstructions\n } as const;\n};\n"],"names":["BaseCardViewReorderableItem","currentKey","children","dragKey","setDragKey","onReorder","rootRef","gutterSize","columns","context","itemRef","useRef","isOneColumn","isFirstColumn","index","isLastColumn","variantClasses","multiVariantStyles","itemOverlayFront","variantClassesVertical","itemOverlayFrontVertical","itemStyles","itemOverlayRear","styles","itemOverlayRearVertical","itemDragger","getItem","useCallback","current","closest","ITEM_SELECTOR","setTransferData","event","dataTransfer","setData","JSON","stringify","metadata","key","rootProps","isDragged","overlayZoneBeforeProps","overlayZoneAfterProps","useReorderableItem","isDisabled","ref","itemSelector","isVertical","currentItemKey","useReorderableContext","useEffect","direction","useUser","isRtl","overlayZoneBeforeClass","classNames","class","itemOverlayFrontEdge","overlayZoneAfterClass","itemOverlayRearEdge","_jsxs","isKeyDefined","_Fragment","_jsx","jsx","animationConfigSlide","animationStates","slideUp","from","translateY","to","options","duration","delay","easing","slideDown","isAnimatedOnMount","animationConfigOpacity","timeoutRef","opacity","onAnimationEnd","clearTimeout","MemoizeBaseCardViewItem","memo","isTabbable","isFocused","isFocusRingVisible","isSelected","selectionMode","focusBehavior","setIsFocusBehaviorValid","initialAnimation","isGridLayout","updateCardSize","reorderItemProps","itemKey","itemIndex","isItemFocused","itemFocused","itemInitialOpacity","itemInGridLayout","classes","itemStyle","handleResize","entry","contentRect","width","height","nullRef","useResizeObserver","useLayoutEffect","content","firstElementChild","focusable","allTabbableElements","length","warn","focus","nodeRef","nodeRefSlide","controller","controllerSlide","useAnimation","nodeRefOpacity","controllerOpacity","undefined","setTimeout","cancel","style","itemRefs","useMemo","mergeRefs","childrenComponent","id","useId","role","onKeyDown","stopPropagation","TabbableModeContext","Provider","value","FocusTrap","restoreFocusRef","prev","next","compareListItemContext","props1","props2","BaseCardViewLayout","layout","gap","cardViewVars","Grid","gridTemplateColumns","Flex","wrap","BaseCardViewSkeletonContainer","isVisible","setIsVisible","useState","Fragment","LOADMORE_STYLE_CLASS","getSkeletonsByCount","count","isUnique","sw","sh","Array","map","_v","i","Skeleton","Date","getTime","InitialLoadSkeletons","props","DefaultLoadMoreSkeletons","skeletons","DEFAULT_SKELETON_NUMBER","InvisibleSkeletons","LoadMoreSkeletons","colCount","cardWidth","cardHeight","firstRowColCount","totalCount","isOnlyOneRow","firstSkeleton","push","emptyKeys","all","keys","Set","gutterSizeToPX","xs","sm","md","lg","xl","BaseCardViewImpl","forwardRef","data","onLoadMore","hasMore","getRowKey","currentItemOverride","onPersistCurrentItem","selectedKeys","onSelectionChange","viewportConfig","ariaLabel","ariaLabelledBy","cardSize","skeletonRenderer","useImperativeHandle","anchorKey","pendingCurrentKey","focusAndScrollIntoView","gutterSizePX","layoutProps","isInitialAnimation","ariaMultiSelectable","ariaRowcount","Math","ceil","ariaColcount","isFocusBehaviorValid","validFocusBehavior","scrollCurrItemIntoView","isReorderEnabled","isFetching","onCurrentKeyChange","isCurrentItemOverridden","useCurrentItemOverride","isCurrentTabbableKey","tabbableModeProps","useTabbableModeSet","element","keyExtractor","currentKeyProps","useCurrentKey","getPrevNextKeyByCount","showFocusRing","focusRingProps","useCollectionFocusRing","handlePointerDown","target","elem","findElementByKey","cell","activeDescendant","getAttribute","setAttribute","scrollIntoView","block","handleSelectionChange","detail","size","values","pop","handleSelectionRangeChange","handleSelectionRange","isArray","eventType","start","end","selectionProps","useSelection","isPrev","reorderProps","reorderContext","reorderInstructionsId","reorderInstructions","useReorderable","onDragOver","dragToScroll","useCardViewReorder","reorderAcc","HiddenAccessible","handleLoadMore","getItemContext","selectorRenderer","Selector","onChange","rowKey","selector","containsKey","renderCustomLoadMoreSkeletons","isRenderAsInitial","loadingStatus","renderMultipleSkeletons","fillColCount","sizeCal","getViewportConfig","collectionComponent","LoadMoreCollection","loadMoreIndicator","loadMoreThreshold","cardItemContext","itemRenderFunc","initialLoadSkeletons","renderCustomInitialSkeletons","jsxs","mergeProps","onFocus","firstKey","getFirstVisibleKey","onPointerDown","preventScroll","metaKey","ctrlKey","shiftKey","includes","baseStyle","tabIndex","ReorderableContext","fill","val","BaseCardView","gapWidth","rootWidth","floor","max"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact/hooks', './useResizeObserver-275c3e83', './BaseCardView-4f88499c'], (function(e,t,i,r,c){"use strict";e.CardFlexView=function(e){const a=i.useRef(null),[s,n]=i.useState({}),d=i.useCallback((e=>{const t=e.contentRect.width;s.containerWidth!==t&&n((e=>({...e,containerWidth:t})))}),[s]);r.useResizeObserver(a,d);const o=c.gutterSizeToPX[e.gutterSize||"sm"],u=c.getColCount(o,s.cardWidth,s.containerWidth),h={width:s.cardWidth,height:s.cardHeight};return t.jsx(c.BaseCardView,{...e,ref:a,layout:"flex",columns:u,cardSize:h,updateCardSize:(e,t)=>{n((i=>({...i,cardWidth:e,cardHeight:t})))}})}}));
2
+ //# sourceMappingURL=CardFlexView-86cb369a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardFlexView-f7fdfac8.js","sources":["../../src/UNSAFE_CardFlexView/CardFlexView.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'preact/hooks';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\nimport { BaseCardView, gutterSizeToPX, getColCount } from '../PRIVATE_BaseCardView';\nimport { BaseCardViewPublicProps as Props } from './BaseCardView.types';\n\ntype CardFlexViewProps<K extends string | number, D> = Props<K, D>;\ntype SizeInfo = {\n cardWidth?: number;\n cardHeight?: number;\n containerWidth?: number;\n};\n\nexport function CardFlexView<K extends string | number, D>(props: CardFlexViewProps<K, D>) {\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [size, setSize] = useState<SizeInfo>({});\n const updateCardSize = (cardWidth: number, cardHeight: number) => {\n setSize((size) => ({ ...size, cardWidth, cardHeight }));\n };\n\n const handleResize = useCallback(\n (entry: ResizeObserverEntry) => {\n const containerWidth = entry.contentRect.width;\n if (size.containerWidth !== containerWidth) {\n setSize((size) => ({ ...size, containerWidth }));\n }\n },\n [size]\n );\n useResizeObserver(rootRef, handleResize);\n\n const gutterSizePX = gutterSizeToPX[props.gutterSize || 'sm'];\n const columns = getColCount(gutterSizePX, size.cardWidth, size.containerWidth);\n const cardSize = { width: size.cardWidth, height: size.cardHeight };\n\n return (\n <BaseCardView\n {...props}\n ref={rootRef}\n layout=\"flex\"\n columns={columns}\n cardSize={cardSize}\n updateCardSize={updateCardSize}\n />\n );\n}\n"],"names":["props","rootRef","useRef","size","setSize","useState","handleResize","useCallback","entry","containerWidth","contentRect","width","useResizeObserver","gutterSizePX","gutterSizeToPX","gutterSize","columns","getColCount","cardWidth","cardSize","height","cardHeight","_jsx","BaseCardView","ref","layout","updateCardSize"],"mappings":"iKAYM,SAAqDA,GACzD,MAAMC,EAAUC,SAAuB,OAEhCC,EAAMC,GAAWC,EAAQA,SAAW,CAAE,GAKvCC,EAAeC,eAClBC,IACC,MAAMC,EAAiBD,EAAME,YAAYC,MACrCR,EAAKM,iBAAmBA,GAC1BL,GAASD,IAAU,IAAKA,EAAMM,oBAC/B,GAEH,CAACN,IAEHS,oBAAkBX,EAASK,GAE3B,MAAMO,EAAeC,EAAcA,eAACd,EAAMe,YAAc,MAClDC,EAAUC,EAAAA,YAAYJ,EAAcV,EAAKe,UAAWf,EAAKM,gBACzDU,EAAW,CAAER,MAAOR,EAAKe,UAAWE,OAAQjB,EAAKkB,YAEvD,OACEC,EAAAA,IAACC,EAAAA,aACK,IAAAvB,EACJwB,IAAKvB,EACLwB,OAAO,OACPT,QAASA,EACTG,SAAUA,EACVO,eA1BmB,CAACR,EAAmBG,KACzCjB,GAASD,QAAeA,EAAMe,YAAWG,gBAAc,GA4B3D"}
1
+ {"version":3,"file":"CardFlexView-86cb369a.js","sources":["../../src/UNSAFE_CardFlexView/CardFlexView.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'preact/hooks';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\nimport { BaseCardView, gutterSizeToPX, getColCount } from '../PRIVATE_BaseCardView';\nimport { BaseCardViewPublicProps as Props } from './BaseCardView.types';\n\ntype CardFlexViewProps<K extends string | number, D> = Props<K, D>;\ntype SizeInfo = {\n cardWidth?: number;\n cardHeight?: number;\n containerWidth?: number;\n};\n\nexport function CardFlexView<K extends string | number, D>(props: CardFlexViewProps<K, D>) {\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [size, setSize] = useState<SizeInfo>({});\n const updateCardSize = (cardWidth: number, cardHeight: number) => {\n setSize((size) => ({ ...size, cardWidth, cardHeight }));\n };\n\n const handleResize = useCallback(\n (entry: ResizeObserverEntry) => {\n const containerWidth = entry.contentRect.width;\n if (size.containerWidth !== containerWidth) {\n setSize((size) => ({ ...size, containerWidth }));\n }\n },\n [size]\n );\n useResizeObserver(rootRef, handleResize);\n\n const gutterSizePX = gutterSizeToPX[props.gutterSize || 'sm'];\n const columns = getColCount(gutterSizePX, size.cardWidth, size.containerWidth);\n const cardSize = { width: size.cardWidth, height: size.cardHeight };\n\n return (\n <BaseCardView\n {...props}\n ref={rootRef}\n layout=\"flex\"\n columns={columns}\n cardSize={cardSize}\n updateCardSize={updateCardSize}\n />\n );\n}\n"],"names":["props","rootRef","useRef","size","setSize","useState","handleResize","useCallback","entry","containerWidth","contentRect","width","useResizeObserver","gutterSizePX","gutterSizeToPX","gutterSize","columns","getColCount","cardWidth","cardSize","height","cardHeight","_jsx","BaseCardView","ref","layout","updateCardSize"],"mappings":"iKAYM,SAAqDA,GACzD,MAAMC,EAAUC,SAAuB,OAEhCC,EAAMC,GAAWC,EAAQA,SAAW,CAAE,GAKvCC,EAAeC,eAClBC,IACC,MAAMC,EAAiBD,EAAME,YAAYC,MACrCR,EAAKM,iBAAmBA,GAC1BL,GAASD,IAAU,IAAKA,EAAMM,oBAC/B,GAEH,CAACN,IAEHS,oBAAkBX,EAASK,GAE3B,MAAMO,EAAeC,EAAcA,eAACd,EAAMe,YAAc,MAClDC,EAAUC,EAAAA,YAAYJ,EAAcV,EAAKe,UAAWf,EAAKM,gBACzDU,EAAW,CAAER,MAAOR,EAAKe,UAAWE,OAAQjB,EAAKkB,YAEvD,OACEC,EAAAA,IAACC,EAAAA,aACK,IAAAvB,EACJwB,IAAKvB,EACLwB,OAAO,OACPT,QAASA,EACTG,SAAUA,EACVO,eA1BmB,CAACR,EAAmBG,KACzCjB,GAASD,QAAeA,EAAMe,YAAWG,gBAAc,GA4B3D"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact/hooks', './BaseCardView-4f88499c'], (function(e,t,i,r){"use strict";e.CardGridView=function(e){const[a,d]=i.useState({});return t.jsx(r.BaseCardView,{...e,layout:"grid",cardSize:a,updateCardSize:(e,t)=>{d({width:e,height:t})}})}}));
2
+ //# sourceMappingURL=CardGridView-b3f11290.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardGridView-b8a60fae.js","sources":["../../src/UNSAFE_CardGridView/CardGridView.tsx"],"sourcesContent":["import { useState } from 'preact/hooks';\nimport { BaseCardView } from '../PRIVATE_BaseCardView';\nimport { Props } from '../UNSAFE_CardFlexView';\n\ntype CardGridProps<K extends string | number, D> = Props<K, D> & {\n /**\n * Provide the number of columns to render. The number of columns is required for CardGridView component.\n * If the number of columns is not provided, please use CardFlexView component.\n */\n columns: number;\n};\n\nexport function CardGridView<K extends string | number, D>(props: CardGridProps<K, D>) {\n const [cardSize, setCardSize] = useState<{ width?: number; height?: number }>({});\n const updateCardSize = (width: number, height: number) => {\n setCardSize({ width, height });\n };\n\n return (\n <BaseCardView {...props} layout=\"grid\" cardSize={cardSize} updateCardSize={updateCardSize} />\n );\n}\n"],"names":["props","cardSize","setCardSize","useState","_jsx","BaseCardView","layout","updateCardSize","width","height"],"mappings":"gIAYM,SAAqDA,GACzD,MAAOC,EAAUC,GAAeC,EAAQA,SAAsC,CAAE,GAKhF,OACEC,MAACC,EAAAA,iBAAiBL,EAAOM,OAAO,OAAOL,SAAUA,EAAUM,eALtC,CAACC,EAAeC,KACrCP,EAAY,CAAEM,QAAOC,UAAS,GAMlC"}
1
+ {"version":3,"file":"CardGridView-b3f11290.js","sources":["../../src/UNSAFE_CardGridView/CardGridView.tsx"],"sourcesContent":["import { useState } from 'preact/hooks';\nimport { BaseCardView } from '../PRIVATE_BaseCardView';\nimport { Props } from '../UNSAFE_CardFlexView';\n\ntype CardGridProps<K extends string | number, D> = Props<K, D> & {\n /**\n * Provide the number of columns to render. The number of columns is required for CardGridView component.\n * If the number of columns is not provided, please use CardFlexView component.\n */\n columns: number;\n};\n\nexport function CardGridView<K extends string | number, D>(props: CardGridProps<K, D>) {\n const [cardSize, setCardSize] = useState<{ width?: number; height?: number }>({});\n const updateCardSize = (width: number, height: number) => {\n setCardSize({ width, height });\n };\n\n return (\n <BaseCardView {...props} layout=\"grid\" cardSize={cardSize} updateCardSize={updateCardSize} />\n );\n}\n"],"names":["props","cardSize","setCardSize","useState","_jsx","BaseCardView","layout","updateCardSize","width","height"],"mappings":"gIAYM,SAAqDA,GACzD,MAAOC,EAAUC,GAAeC,EAAQA,SAAsC,CAAE,GAKhF,OACEC,MAACC,EAAAA,iBAAiBL,EAAOM,OAAO,OAAOL,SAAUA,EAAUM,eALtC,CAACC,EAAeC,KACrCP,EAAY,CAAEM,QAAOC,UAAS,GAMlC"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact', 'preact/hooks', 'preact/compat', './classNames-08d99695', './useId-c9578d26', './useTranslationBundle-7c40cb58', './keys-4755c121', './HiddenAccessible-037ef42d', './ChevronDown-502b16f2', './CollapseIcon-a7f8693d', './LiveRegion-1917f798', './useUser-797287de', './collectionUtils-f4de3e13', './Button-cb88d20f', './GroupLoadingIndicator-9fd33355', './List-0da6ee9c'], (function(e,t,n,a,s,o,i,r,d,l,c,u,p,x,g,y,m,f){"use strict";const k=e=>{"Enter"!==e.key&&" "!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||e.preventDefault()},h=(e,t,n,a,s)=>{const o=a(t);if(s&&o){const t=d.containsKey(n,o);(e&&t||!e&&!t)&&s({value:o})}},v=(e,t,n)=>{const a=t(e.target);n&&a&&(n({value:a}),"click"===e.type&&e.stopPropagation())};const b={all:!1,keys:new Set},C=s.memo((e=>{const n=o.classNames(["oj-listview-expander"]);return t.jsx("span",{class:n,role:"presentation",children:t.jsx(y.Button,{onAction:()=>{e.onToggle({value:e.itemKey})},variant:"ghost",startIcon:e.expanded?t.jsx(c.SvgChevronDown,{size:"6x"}):t.jsx(u.CollapseIcon,{size:"6x"})})})}),((e,t)=>e.itemKey===t.itemKey&&e.expanded===t.expanded&&e.onToggle===t.onToggle));e.ExpandableList=function({children:e,data:s,onSelectionChange:o,onToggle:c,onPersistCurrentItem:u,...y}){const[L,j]=a.useState(""),I=r.useTranslationBundle("@oracle/oraclejet-preact"),K=a.useRef(),T=a.useCallback((e=>{K.current=e.value,u?.(e)}),[u]),A=a.useCallback((e=>{if(c?.(e),s){const t=d.containsKey(s?.expanded,e.value);j(t?I.expandableList_groupCollapse():I.expandableList_groupExpand()),setTimeout((()=>{j("")}),1e3)}}),[c,s,I]),R=function(e,t,n){const{direction:s}=x.useUser(),o=a.useCallback((t=>{v(t,e,n)}),[e,n]),i=a.useCallback((a=>{if("Enter"===a.key||" "===a.key)v(a,e,n);else if("ArrowLeft"===a.key||"ArrowRight"===a.key){const o="rtl"===s,i="ArrowLeft"===a.key&&!o;h(i,a.target,t,e,n),a.preventDefault(),a.stopPropagation()}}),[e,n,t,s]);return n?{onClick:o,onKeyDown:k,onKeyUp:i}:{}}((e=>"treegrid"===e.getAttribute("role")?void 0===K.current?null:K.current:g.keyExtractor(e,m.GROUP_SELECTOR)),null==s?b:s.expanded,c&&A),w=i.useId(),D=a.useRef(w),E=a.useCallback((e=>{if(o&&s){const t=f.excludeGroup(s,e.value);d.isSameKey(t,e.value)?o(e):t.keys&&t.keys.size>0&&o({...e,value:t})}}),[o,s]);return t.jsxs(n.Fragment,{children:[t.jsx(f.List,{data:s,role:"treegrid",loadingIndicator:t.jsx(m.GroupLoadingIndicator,{}),onSelectionChange:E,customItemRenderer:n=>{const a=n.listItemContext.metadata.key,o=s&&c?{expanded:d.containsKey(s.expanded,a),onToggle:c}:void 0,i=((e,n)=>{const a=void 0!==n?()=>t.jsx(C,{itemKey:e.metadata.key,expanded:n.expanded,onToggle:n.onToggle}):void 0;return{...e,parentKey:e.metadata.parentKey,leaf:e.metadata.isLeaf??!0,depth:e.metadata.treeDepth??1,expander:a}})(n.listItemContext,o);return i.leaf?n.defaultListItem(i,{itemDepth:i.depth+1}):t.jsx(m.ListGroupHeader,{ariaDescribedBy:D.current,itemKey:i.metadata.key,itemIndex:i.index,itemDepth:i.depth,isFocused:n.isFocused,isFocusRingVisible:n.isFocusRingVisible,isActive:n.isActive,isGridlineVisible:!1,isExpandable:!0,expandedKeys:null==s?b:s.expanded,onToggle:c,children:e(i)},i.metadata.key)},onPersistCurrentItem:T,...y,...R,children:t=>e(t)}),c&&t.jsxs(n.Fragment,{children:[t.jsx(p.LiveRegion,{children:L}),t.jsx("span",{id:D.current,children:t.jsx(l.HiddenAccessible,{children:I.expandableList_expandCollapseInstructionText()})})]})]})}}));
1
+ define(['exports', 'preact/jsx-runtime', 'preact', 'preact/hooks', 'preact/compat', './classNames-08d99695', './useId-c9578d26', './useTranslationBundle-7c40cb58', './keys-4755c121', './HiddenAccessible-037ef42d', './ChevronDown-502b16f2', './CollapseIcon-a7f8693d', './LiveRegion-1917f798', './useUser-797287de', './collectionUtils-f4de3e13', './Button-cb88d20f', './GroupLoadingIndicator-9fd33355', './List-37e37948'], (function(e,t,n,a,s,o,i,r,d,l,c,u,p,x,g,y,m,f){"use strict";const k=e=>{"Enter"!==e.key&&" "!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||e.preventDefault()},h=(e,t,n,a,s)=>{const o=a(t);if(s&&o){const t=d.containsKey(n,o);(e&&t||!e&&!t)&&s({value:o})}},v=(e,t,n)=>{const a=t(e.target);n&&a&&(n({value:a}),"click"===e.type&&e.stopPropagation())};const b={all:!1,keys:new Set},C=s.memo((e=>{const n=o.classNames(["oj-listview-expander"]);return t.jsx("span",{class:n,role:"presentation",children:t.jsx(y.Button,{onAction:()=>{e.onToggle({value:e.itemKey})},variant:"ghost",startIcon:e.expanded?t.jsx(c.SvgChevronDown,{size:"6x"}):t.jsx(u.CollapseIcon,{size:"6x"})})})}),((e,t)=>e.itemKey===t.itemKey&&e.expanded===t.expanded&&e.onToggle===t.onToggle));e.ExpandableList=function({children:e,data:s,onSelectionChange:o,onToggle:c,onPersistCurrentItem:u,...y}){const[L,j]=a.useState(""),I=r.useTranslationBundle("@oracle/oraclejet-preact"),K=a.useRef(),T=a.useCallback((e=>{K.current=e.value,u?.(e)}),[u]),A=a.useCallback((e=>{if(c?.(e),s){const t=d.containsKey(s?.expanded,e.value);j(t?I.expandableList_groupCollapse():I.expandableList_groupExpand()),setTimeout((()=>{j("")}),1e3)}}),[c,s,I]),R=function(e,t,n){const{direction:s}=x.useUser(),o=a.useCallback((t=>{v(t,e,n)}),[e,n]),i=a.useCallback((a=>{if("Enter"===a.key||" "===a.key)v(a,e,n);else if("ArrowLeft"===a.key||"ArrowRight"===a.key){const o="rtl"===s,i="ArrowLeft"===a.key&&!o;h(i,a.target,t,e,n),a.preventDefault(),a.stopPropagation()}}),[e,n,t,s]);return n?{onClick:o,onKeyDown:k,onKeyUp:i}:{}}((e=>"treegrid"===e.getAttribute("role")?void 0===K.current?null:K.current:g.keyExtractor(e,m.GROUP_SELECTOR)),null==s?b:s.expanded,c&&A),w=i.useId(),D=a.useRef(w),E=a.useCallback((e=>{if(o&&s){const t=f.excludeGroup(s,e.value);d.isSameKey(t,e.value)?o(e):t.keys&&t.keys.size>0&&o({...e,value:t})}}),[o,s]);return t.jsxs(n.Fragment,{children:[t.jsx(f.List,{data:s,role:"treegrid",loadingIndicator:t.jsx(m.GroupLoadingIndicator,{}),onSelectionChange:E,customItemRenderer:n=>{const a=n.listItemContext.metadata.key,o=s&&c?{expanded:d.containsKey(s.expanded,a),onToggle:c}:void 0,i=((e,n)=>{const a=void 0!==n?()=>t.jsx(C,{itemKey:e.metadata.key,expanded:n.expanded,onToggle:n.onToggle}):void 0;return{...e,parentKey:e.metadata.parentKey,leaf:e.metadata.isLeaf??!0,depth:e.metadata.treeDepth??1,expander:a}})(n.listItemContext,o);return i.leaf?n.defaultListItem(i,{itemDepth:i.depth+1}):t.jsx(m.ListGroupHeader,{ariaDescribedBy:D.current,itemKey:i.metadata.key,itemIndex:i.index,itemDepth:i.depth,isFocused:n.isFocused,isFocusRingVisible:n.isFocusRingVisible,isActive:n.isActive,isGridlineVisible:!1,isExpandable:!0,expandedKeys:null==s?b:s.expanded,onToggle:c,children:e(i)},i.metadata.key)},onPersistCurrentItem:T,...y,...R,children:t=>e(t)}),c&&t.jsxs(n.Fragment,{children:[t.jsx(p.LiveRegion,{children:L}),t.jsx("span",{id:D.current,children:t.jsx(l.HiddenAccessible,{children:I.expandableList_expandCollapseInstructionText()})})]})]})}}));
2
2
  //# sourceMappingURL=ExpandableList-daabc548.js.map
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact/hooks', './classNames-08d99695', './keys-4755c121', './useId-c9578d26', './useViewportIntersect-b2d47a4b', './TabbableModeContext-a9c97640', './useComponentTheme-5aa41a8f', './useInteractionStyle-ee1dc0c0', './mergeInterpolations-9ede4cf7', './flexitem-5db48325', './PRIVATE_List/themes/ListStyles.css', './UNSAFE_GroupedList/themes/redwood/GroupedListTheme', './Flex-590160eb', './Skeleton-a09190e1', './List-0da6ee9c'], (function(e,i,t,s,o,n,a,r,d,l,c,u,p,b,v,x,y){"use strict";e.GROUP_SELECTOR="[data-oj-listview-group]",e.GroupLoadingIndicator=()=>i.jsx(y.SkeletonContainer,{minimumCount:3,children:e=>{const t={paddingLeft:10*e+"px"};return i.jsxs(v.Flex,{height:"12x",align:"center",children:[i.jsx("span",{style:t}),i.jsx(x.Skeleton,{height:"4x"})]})}}),e.ListGroupHeader=function({ariaDescribedBy:e,children:v,itemKey:x,itemIndex:y,itemDepth:m,isFocused:h,isFocusRingVisible:g,isActive:S,isGridlineVisible:j,isExpandable:I,expandedKeys:f,viewportConfig:E}){const[T,C]=t.useState(!1),{classes:H,styles:L}=d.useComponentTheme(b.GroupedListRedwoodTheme),{interactionProps:R,applyHoverStyle:k,applyPseudoHoverStyle:w,applyActiveStyle:V}=l.useInteractionStyle(),G=[p.listGroupHeaderMultiVariantStyles({expandable:I?"isExpandable":"notExpandable",needsEventsHover:k?"isNeedsEventsHover":"notNeedsEventsHover",pseudoHover:w?"isPseudoHover":"notPseudoHover",active:V||S?"isActive":"notActive",focusRingVisible:g&&h?"isFocusRingVisible":"notFocusRingVisible",gridlineTop:y>0?"visible":"hidden",gridlineBottom:j?"visible":"hidden"})];T&&(G.push(H),G.push(L.stuckHeader));const F=s.classNames(G),N=c.mergeInterpolations([...Object.values(u.flexitemInterpolations)]),{class:P,...A}=N({alignSelf:"center",flex:"1 0 auto"});return a.useViewportIntersect({scroller:()=>I?null:null==E?document.body:E.scroller()},0,1,"[data-oj-key="+x+"]",(()=>{C(!1)}),(e=>{e.boundingClientRect.y!==e.intersectionRect.y&&C(!0)})),i.jsx("div",{id:n.useId(),role:"row","aria-rowindex":y+1,"aria-level":isNaN(m)?void 0:m+1,"data-oj-key":x,"data-oj-listview-group":"",class:F,..."number"==typeof x&&{"data-oj-key-type":"number"},...R,children:i.jsx("div",{id:n.useId(),role:"gridcell","aria-describedby":e,"aria-colindex":1,"aria-expanded":o.containsKey(f,x),style:A,children:i.jsx(r.TabbableModeContext.Provider,{value:{isTabbable:!1},children:v})})})},e.STICKY_SELECTOR="[data-oj-listview-sticky]"}));
1
+ define(['exports', 'preact/jsx-runtime', 'preact/hooks', './classNames-08d99695', './keys-4755c121', './useId-c9578d26', './useViewportIntersect-b2d47a4b', './TabbableModeContext-a9c97640', './useComponentTheme-5aa41a8f', './useInteractionStyle-ee1dc0c0', './mergeInterpolations-9ede4cf7', './flexitem-5db48325', './PRIVATE_List/themes/ListStyles.css', './UNSAFE_GroupedList/themes/redwood/GroupedListTheme', './Flex-590160eb', './Skeleton-a09190e1', './List-37e37948'], (function(e,i,t,s,o,n,a,r,l,d,c,u,p,b,v,x,y){"use strict";e.GROUP_SELECTOR="[data-oj-listview-group]",e.GroupLoadingIndicator=()=>i.jsx(y.SkeletonContainer,{minimumCount:3,children:e=>{const t={paddingLeft:10*e+"px"};return i.jsxs(v.Flex,{height:"12x",align:"center",children:[i.jsx("span",{style:t}),i.jsx(x.Skeleton,{height:"4x"})]})}}),e.ListGroupHeader=function({ariaDescribedBy:e,children:v,itemKey:x,itemIndex:y,itemDepth:m,isFocused:h,isFocusRingVisible:g,isActive:S,isGridlineVisible:j,isExpandable:I,expandedKeys:f,viewportConfig:E}){const[T,C]=t.useState(!1),{classes:H,styles:L}=l.useComponentTheme(b.GroupedListRedwoodTheme),{interactionProps:R,applyHoverStyle:k,applyPseudoHoverStyle:w,applyActiveStyle:V}=d.useInteractionStyle(),G=[p.listGroupHeaderMultiVariantStyles({expandable:I?"isExpandable":"notExpandable",needsEventsHover:k?"isNeedsEventsHover":"notNeedsEventsHover",pseudoHover:w?"isPseudoHover":"notPseudoHover",active:V||S?"isActive":"notActive",focusRingVisible:g&&h?"isFocusRingVisible":"notFocusRingVisible",gridlineTop:y>0?"visible":"hidden",gridlineBottom:j?"visible":"hidden"})];T&&(G.push(H),G.push(L.stuckHeader));const F=s.classNames(G),N=c.mergeInterpolations([...Object.values(u.flexitemInterpolations)]),{class:P,...A}=N({alignSelf:"center",flex:"1 0 auto"});return a.useViewportIntersect({scroller:()=>I?null:null==E?document.body:E.scroller()},0,1,"[data-oj-key="+x+"]",(()=>{C(!1)}),(e=>{e.boundingClientRect.y!==e.intersectionRect.y&&C(!0)})),i.jsx("div",{id:n.useId(),role:"row","aria-rowindex":y+1,"aria-level":isNaN(m)?void 0:m+1,"data-oj-key":x,"data-oj-listview-group":"",class:F,..."number"==typeof x&&{"data-oj-key-type":"number"},...R,children:i.jsx("div",{id:n.useId(),role:"gridcell","aria-describedby":e,"aria-colindex":1,"aria-expanded":o.containsKey(f,x),style:A,children:i.jsx(r.TabbableModeContext.Provider,{value:{isTabbable:!1},children:v})})})},e.STICKY_SELECTOR="[data-oj-listview-sticky]"}));
2
2
  //# sourceMappingURL=GroupLoadingIndicator-9fd33355.js.map
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', 'preact', 'preact/hooks', './Flex-590160eb', './mergeProps-bcfa6a92', './useSingleSelection-c1bd8b03', './useCurrentKey-b0a79216', './useCollectionFocusRing-9dab85a9', './collectionUtils-f4de3e13', './useId-c9578d26', './useTranslationBundle-7c40cb58', './HiddenAccessible-037ef42d', './classNames-08d99695', 'preact/compat', './useComponentTheme-5aa41a8f', './UNSAFE_Indexer/themes/redwood/IndexerTheme', './useTestId-c286f212', './Collection-46cfa244'], (function(e,t,s,n,r,o,a,c,l,i,u,d,y,f,x,k,b,h,j){"use strict";const m=Object.freeze({key:"__others__",label:"#"}),v="[data-oj-key]",T=x.forwardRef(((e,s)=>{const n=d.useTranslationBundle("@oracle/oraclejet-preact"),{context:r,selectedKey:o}=e,a=r.data.key===o,c=R(e,s),{classes:l}=k.useComponentTheme(b.IndexerRedwoodTheme,{focused:c.ref&&c.isFocusRingVisible?"isFocused":"notFocused",disabled:r.data.isDisabled?"isDisabled":"notDisabled",selected:a?"isSelected":"notSelected"}),i=f.classNames([l]),u=r.data.label||r.data.key,y=r.data.isDisabled?n.indexer_disabledLabel({SECTION:`${u}`}):`${u}`;return t.jsx("li",{...c,class:i,"data-oj-valuetext":y,"data-oj-disabled":r.data.isDisabled,children:r.data.label||r.data.key})}));function R({context:e,currentKey:t,valueNow:s,isFocusRingVisible:n},r){return{...e.data.key===t&&{ref:r},key:e.data.key,"data-oj-key":e.data.key,"data-oj-key-type":typeof e.data.key,"data-oj-valuenow":s,isFocusRingVisible:!!n}}const g=x.forwardRef((({lastValueNow:e,...n},r)=>{const o={...n,ref:r};return t.jsxs(s.Fragment,{children:[t.jsx(T,{...o}),t.jsx(p,{...o,ref:r,context:{index:-1,data:m},valueNow:e})]})})),p=x.forwardRef(((e,s)=>{const{context:n,selectedKey:r}=e,o=R(e,s),a=n.data.key===r,{classes:c}=k.useComponentTheme(b.IndexerRedwoodTheme,{focused:o.ref&&o.isFocusRingVisible?"isFocused":"notFocused",selected:a?"isSelected":"notSelected"}),l=f.classNames([c]),i=m.label;return t.jsx("li",{...o,class:l,"data-oj-valuetext":i,children:n.data.label})})),w=x.forwardRef(((e,s)=>{const n=d.useTranslationBundle("@oracle/oraclejet-preact"),{context:o,sections:a}=e,c=R(e,s),{from:l,to:i}=F(e),{classes:u,styles:{dotStyle:y}}=k.useComponentTheme(b.IndexerRedwoodTheme,{focused:c.ref&&c.isFocusRingVisible?"isFocused":"notFocused"});if(!I(o.index,l,i))return null;const x=a[l].label||a[l].key,h=a[i].label||a[i].key,j=f.classNames([u]),m=n.indexer_separatorLabel({FROM_SECTION:`${x}`,TO_SECTION:`${h}`});return t.jsx("li",{...c,class:j,"data-oj-valuetext":m,children:t.jsx(r.Flex,{align:"center",justify:"center",children:t.jsx("div",{class:y})})})}));function F({context:e,sectionsPerTruncation:t,last:s}){const n=e.index-e.index%t+1;let r=n+t-2;return r=r>=s?s-1:r,{from:n,to:r}}function I(e,t,s){return e===Math.floor((t+s)/2)}const S=[{key:"A"},{key:"B"},{key:"C"},{key:"D"},{key:"E"},{key:"F"},{key:"G"},{key:"H"},{key:"I"},{key:"J"},{key:"K"},{key:"L"},{key:"M"},{key:"N"},{key:"O"},{key:"P"},{key:"Q"},{key:"R"},{key:"S"},{key:"T"},{key:"U"},{key:"V"},{key:"W"},{key:"X"},{key:"Y"},{key:"Z"}];const C=(e,t,s)=>e===t.current?void 0===s?null:s:i.keyExtractor(e,v),N=(e,t,s)=>{if(e.value===m.key)t({value:m.key});else{t({value:s.find((t=>t.key===e.value)).key})}},E=(e,t,s,n,r,o,a)=>{if(0===e||0===t)return;const c=e/t,l=s-1;if(c<2)r!==l&&(o(l),a(n));else if(c>s||s-c<.01)r>1&&(o(1),a(n));else{const e=_(c,l);e!==r&&e<s&&(o(e),a(n))}},_=(e,t)=>{e-=2,e/=2;const s=Math.round(t/e)+1,n=t%s,r=Math.floor(t/s)+(n>1?1:0);let o=t-(r-1)*s,a=s;for(;a>o;)a-=1,o=t-(r-1)*a;return a!=s&&(a+=1),a};function K(e){return i.isMobile()?e.indexer_touchInstructionText():e.indexer_keyboardInstructionText()}e.Indexer=function({sections:e=S,value:f,onCommit:x=(()=>{}),testId:m}){const R=n.useRef(null),p=n.useRef(null),_=s.createRef(),[V,O]=n.useState(e[0]?.key),[A,P]=n.useState(-1),D=n.useRef(-1),H=n.useRef(0),M=u.useId(),[B,U]=l.useCollectionFocusRing(R,["ArrowUp","ArrowDown"]),{currentKeyProps:$}=c.useCurrentKey((e=>i.keyExtractor(e,v)),!0,i.getPrevNextKey(R.current,V,!0,v),i.getPrevNextKey(R.current,V,!1,v),void 0,void 0,V,(e=>O(e.value))),{selectionProps:L}=a.useSingleSelection((e=>C(e,p,V)),void 0,(t=>N(t,x,e))),z=n.useCallback((t=>{for(const s of t)E(s.contentRect.height,H.current,e.length,e[0]?.key,A,P,O)}),[e,A]);n.useEffect((()=>{p.current&&(p.current.setAttribute("aria-valuemax",D.current+1+""),p.current.setAttribute("aria-valuetext",_.current?.dataset?.ojValuetext||""),p.current.setAttribute("aria-valuenow",_.current?.dataset?.ojValuenow||"")),D.current=-1})),n.useEffect((()=>{const t=R.current;t&&(H.current=t.querySelector("li")?.offsetHeight||0,E(t.offsetHeight,H.current,e.length,e[0]?.key,A,P,O))}),[e,A]),n.useEffect((()=>{const e=R.current;if(e){const t=new ResizeObserver((e=>{z(e)}));return t.observe(e),()=>{t.unobserve(e)}}}),[A,z]);const q=d.useTranslationBundle("@oracle/oraclejet-preact"),{styles:{baseStyle:G,innerStyle:J}}=k.useComponentTheme(b.IndexerRedwoodTheme),Q=h.useTestId(m);return t.jsxs("div",{ref:R,class:G,...Q,children:[t.jsx(r.Flex,{align:"center",width:"6x",height:"100%",children:t.jsx("ul",{...o.mergeProps($,U,L),ref:p,tabIndex:0,"aria-label":"Indexer","aria-orientation":"vertical","aria-valuemin":0,"aria-describedby":M,role:"slider",class:J,children:t.jsx(j.Collection,{items:e,children:s=>{const n=e.length-1;D.current+=1;const r={context:s,ref:_,currentKey:V,selectedKey:f,valueNow:D.current,isFocusRingVisible:!!B};if(s.index===n)return t.jsx(g,{...r,lastValueNow:D.current+1});if(A<=1||s.index%A==0)return t.jsx(T,{...r});const o={...r,sectionsPerTruncation:A,last:n,sections:e};return function(e){const{from:t,to:s}=F(e);return I(e.context.index,t,s)}(o)?t.jsx(w,{...o}):(D.current-=1,null)}})})}),t.jsx(y.HiddenAccessible,{children:t.jsx("span",{id:M,children:K(q)})})]})},e.SECTION_OTHERS=m}));
2
- //# sourceMappingURL=Indexer-5df524f2.js.map
1
+ define(['exports', 'preact/jsx-runtime', 'preact', 'preact/hooks', './Flex-590160eb', './mergeProps-bcfa6a92', './useSingleSelection-c1bd8b03', './useCurrentKey-b0a79216', './useCollectionFocusRing-9dab85a9', './collectionUtils-f4de3e13', './useId-c9578d26', './useTranslationBundle-7c40cb58', './HiddenAccessible-037ef42d', './Collection-46cfa244', './classNames-08d99695', 'preact/compat', './useComponentTheme-5aa41a8f', './UNSAFE_Indexer/themes/redwood/IndexerTheme', './useTestId-c286f212'], (function(e,t,s,n,r,o,a,c,l,i,u,d,y,f,x,k,b,h,j){"use strict";const m=Object.freeze({key:"__others__",label:"#"}),v="[data-oj-key]",T=k.forwardRef(((e,s)=>{const n=d.useTranslationBundle("@oracle/oraclejet-preact"),{context:r,selectedKey:o}=e,a=r.data.key===o,c=R(e,s),{classes:l}=b.useComponentTheme(h.IndexerRedwoodTheme,{focused:c.ref&&c.isFocusRingVisible?"isFocused":"notFocused",disabled:r.data.isDisabled?"isDisabled":"notDisabled",selected:a?"isSelected":"notSelected"}),i=x.classNames([l]),u=r.data.label||r.data.key,y=r.data.isDisabled?n.indexer_disabledLabel({SECTION:`${u}`}):`${u}`;return t.jsx("li",{...c,class:i,"data-oj-valuetext":y,"data-oj-disabled":r.data.isDisabled,children:r.data.label||r.data.key})}));function R({context:e,currentKey:t,valueNow:s,isFocusRingVisible:n},r){return{...e.data.key===t&&{ref:r},key:e.data.key,"data-oj-key":e.data.key,"data-oj-key-type":typeof e.data.key,"data-oj-valuenow":s,isFocusRingVisible:!!n}}const g=k.forwardRef((({lastValueNow:e,...n},r)=>{const o={...n,ref:r};return t.jsxs(s.Fragment,{children:[t.jsx(T,{...o}),t.jsx(p,{...o,ref:r,context:{index:-1,data:m},valueNow:e})]})})),p=k.forwardRef(((e,s)=>{const{context:n,selectedKey:r}=e,o=R(e,s),a=n.data.key===r,{classes:c}=b.useComponentTheme(h.IndexerRedwoodTheme,{focused:o.ref&&o.isFocusRingVisible?"isFocused":"notFocused",selected:a?"isSelected":"notSelected"}),l=x.classNames([c]),i=m.label;return t.jsx("li",{...o,class:l,"data-oj-valuetext":i,children:n.data.label})})),w=k.forwardRef(((e,s)=>{const n=d.useTranslationBundle("@oracle/oraclejet-preact"),{context:o,sections:a}=e,c=R(e,s),{from:l,to:i}=F(e),{classes:u,styles:{dotStyle:y}}=b.useComponentTheme(h.IndexerRedwoodTheme,{focused:c.ref&&c.isFocusRingVisible?"isFocused":"notFocused"});if(!I(o.index,l,i))return null;const f=a[l].label||a[l].key,k=a[i].label||a[i].key,j=x.classNames([u]),m=n.indexer_separatorLabel({FROM_SECTION:`${f}`,TO_SECTION:`${k}`});return t.jsx("li",{...c,class:j,"data-oj-valuetext":m,children:t.jsx(r.Flex,{align:"center",justify:"center",children:t.jsx("div",{class:y})})})}));function F({context:e,sectionsPerTruncation:t,last:s}){const n=e.index-e.index%t+1;let r=n+t-2;return r=r>=s?s-1:r,{from:n,to:r}}function I(e,t,s){return e===Math.floor((t+s)/2)}const S=[{key:"A"},{key:"B"},{key:"C"},{key:"D"},{key:"E"},{key:"F"},{key:"G"},{key:"H"},{key:"I"},{key:"J"},{key:"K"},{key:"L"},{key:"M"},{key:"N"},{key:"O"},{key:"P"},{key:"Q"},{key:"R"},{key:"S"},{key:"T"},{key:"U"},{key:"V"},{key:"W"},{key:"X"},{key:"Y"},{key:"Z"}];const C=(e,t,s)=>e===t.current?void 0===s?null:s:i.keyExtractor(e,v),N=(e,t,s)=>{if(e.value===m.key)t({value:m.key});else{t({value:s.find((t=>t.key===e.value)).key})}},E=(e,t,s,n,r,o,a)=>{if(0===e||0===t)return;const c=e/t,l=s-1;if(c<2)r!==l&&(o(l),a(n));else if(c>s||s-c<.01)r>1&&(o(1),a(n));else{const e=_(c,l);e!==r&&e<s&&(o(e),a(n))}},_=(e,t)=>{e-=2,e/=2;const s=Math.round(t/e)+1,n=t%s,r=Math.floor(t/s)+(n>1?1:0);let o=t-(r-1)*s,a=s;for(;a>o;)a-=1,o=t-(r-1)*a;return a!=s&&(a+=1),a};function K(e){return i.isMobile()?e.indexer_touchInstructionText():e.indexer_keyboardInstructionText()}e.Indexer=function({sections:e=S,value:x,onCommit:k=(()=>{}),testId:m}){const R=n.useRef(null),p=n.useRef(null),_=s.createRef(),[V,O]=n.useState(e[0]?.key),[A,P]=n.useState(-1),D=n.useRef(-1),H=n.useRef(0),M=u.useId(),[B,U]=l.useCollectionFocusRing(R,["ArrowUp","ArrowDown"]),{currentKeyProps:$}=c.useCurrentKey((e=>i.keyExtractor(e,v)),!0,i.getPrevNextKey(R.current,V,!0,v),i.getPrevNextKey(R.current,V,!1,v),void 0,void 0,V,(e=>O(e.value))),{selectionProps:L}=a.useSingleSelection((e=>C(e,p,V)),void 0,(t=>N(t,k,e))),z=n.useCallback((t=>{for(const s of t)E(s.contentRect.height,H.current,e.length,e[0]?.key,A,P,O)}),[e,A]);n.useEffect((()=>{p.current&&(p.current.setAttribute("aria-valuemax",D.current+1+""),p.current.setAttribute("aria-valuetext",_.current?.dataset?.ojValuetext||""),p.current.setAttribute("aria-valuenow",_.current?.dataset?.ojValuenow||"")),D.current=-1})),n.useEffect((()=>{const t=R.current;t&&(H.current=t.querySelector("li")?.offsetHeight||0,E(t.offsetHeight,H.current,e.length,e[0]?.key,A,P,O))}),[e,A]),n.useEffect((()=>{const e=R.current;if(e){const t=new ResizeObserver((e=>{z(e)}));return t.observe(e),()=>{t.unobserve(e)}}}),[A,z]);const q=d.useTranslationBundle("@oracle/oraclejet-preact"),{styles:{baseStyle:G,innerStyle:J}}=b.useComponentTheme(h.IndexerRedwoodTheme),Q=j.useTestId(m);return t.jsxs("div",{ref:R,class:G,...Q,children:[t.jsx(r.Flex,{align:"center",width:"6x",height:"100%",children:t.jsx("ul",{...o.mergeProps($,U,L),ref:p,tabIndex:0,"aria-label":"Indexer","aria-orientation":"vertical","aria-valuemin":0,"aria-describedby":M,role:"slider",class:J,children:t.jsx(f.Collection,{items:e,children:s=>{const n=e.length-1;D.current+=1;const r={context:s,ref:_,currentKey:V,selectedKey:x,valueNow:D.current,isFocusRingVisible:!!B};if(s.index===n)return t.jsx(g,{...r,lastValueNow:D.current+1});if(A<=1||s.index%A==0)return t.jsx(T,{...r});const o={...r,sectionsPerTruncation:A,last:n,sections:e};return function(e){const{from:t,to:s}=F(e);return I(e.context.index,t,s)}(o)?t.jsx(w,{...o}):(D.current-=1,null)}})})}),t.jsx(y.HiddenAccessible,{children:t.jsx("span",{id:M,children:K(q)})})]})},e.SECTION_OTHERS=m}));
2
+ //# sourceMappingURL=Indexer-510aaf3a.js.map