@oracle/oraclejet-preact 17.1.2 → 17.1.3

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 (1035) hide show
  1. package/amd/ActionCard-01322111.js +1 -1
  2. package/amd/{BarChart-aba4a793.js → BarChart-b75423c1.js} +2 -2
  3. package/amd/{BarChart-aba4a793.js.map → BarChart-b75423c1.js.map} +1 -1
  4. package/amd/BaseButton-51e50f77.js +1 -1
  5. package/amd/{BaseCardView-a11e4dec.js → BaseCardView-c5624c8a.js} +2 -2
  6. package/amd/{BaseCardView-a11e4dec.js.map → BaseCardView-c5624c8a.js.map} +1 -1
  7. package/amd/{BaseCardViewSelectionTest-9627e4ab.js → BaseCardViewSelectionTest-b80dd91b.js} +2 -2
  8. package/amd/{BaseCardViewSelectionTest-9627e4ab.js.map → BaseCardViewSelectionTest-b80dd91b.js.map} +1 -1
  9. package/amd/BaseNavigationListItem-368284be.js +1 -1
  10. package/amd/ButtonSet-c389d5c7.js +1 -1
  11. package/amd/ButtonSetIconButton-141a8745.js +1 -1
  12. package/amd/CardFlexView-14fada63.js +2 -0
  13. package/amd/{CardFlexView-9688d264.js.map → CardFlexView-14fada63.js.map} +1 -1
  14. package/amd/{CardGridView-b7f4f205.js → CardGridView-00ba53a9.js} +2 -2
  15. package/amd/{CardGridView-b7f4f205.js.map → CardGridView-00ba53a9.js.map} +1 -1
  16. package/amd/{Center-b449a95c.js → Center-9ec5524e.js} +2 -2
  17. package/amd/{Center-b449a95c.js.map → Center-9ec5524e.js.map} +1 -1
  18. package/amd/{Chart-1046ac5b.js → Chart-96ea9fed.js} +2 -2
  19. package/amd/{Chart-1046ac5b.js.map → Chart-96ea9fed.js.map} +1 -1
  20. package/amd/CheckboxControl-74a7fead.js +1 -1
  21. package/amd/CheckboxRadioField-005a110c.js +1 -1
  22. package/amd/CheckboxSetContext-2e486ea8.js +2 -0
  23. package/amd/CheckboxSetContext-2e486ea8.js.map +1 -0
  24. package/amd/Chip-3062b3d3.js +1 -1
  25. package/amd/ClearIcon-c13664cd.js +1 -1
  26. package/amd/CollapseIcon-38899da0.js +1 -1
  27. package/amd/Collapsible-ba4eef8f.js +1 -1
  28. package/amd/CompactHelpSource-be790e15.js +1 -1
  29. package/amd/CompactLabelAssistance-bc14e060.js +2 -0
  30. package/amd/{CompactLabelAssistance-7db2fde2.js.map → CompactLabelAssistance-bc14e060.js.map} +1 -1
  31. package/amd/CompactUserAssistance-a7b3ffc0.js +1 -1
  32. package/amd/ComponentMessageContainer-3b691959.js +1 -1
  33. package/amd/ConveyorBeltItem-bc128f62.js +1 -1
  34. package/amd/{DatePicker-d7802b3e.js → DatePicker-dd358026.js} +2 -2
  35. package/amd/{DatePicker-d7802b3e.js.map → DatePicker-dd358026.js.map} +1 -1
  36. package/amd/DatePickerHeader-c03ca6b4.js +1 -1
  37. package/amd/{Diagram-14fd94c3.js → Diagram-1b48168a.js} +2 -2
  38. package/amd/{Diagram-14fd94c3.js.map → Diagram-1b48168a.js.map} +1 -1
  39. package/amd/{Dialog-f6da299c.js → Dialog-c34f9e89.js} +2 -2
  40. package/amd/{Dialog-f6da299c.js.map → Dialog-c34f9e89.js.map} +1 -1
  41. package/amd/DirectionalCollapseArrowIcon-1c72e459.js +1 -1
  42. package/amd/DirectionalExpandArrowIcon-198cec2b.js +1 -1
  43. package/amd/DragHandle-e4959d2b.js +1 -1
  44. package/amd/{Dropdown-5f68516d.js → Dropdown-b36aa071.js} +2 -2
  45. package/amd/{Dropdown-5f68516d.js.map → Dropdown-b36aa071.js.map} +1 -1
  46. package/amd/{EnvironmentProvider-8f6fc388.js → EnvironmentProvider-c0e1e39b.js} +2 -2
  47. package/amd/{EnvironmentProvider-8f6fc388.js.map → EnvironmentProvider-c0e1e39b.js.map} +1 -1
  48. package/amd/FilePicker-e13f405f.js +1 -1
  49. package/amd/Flex-3421f0df.js +2 -0
  50. package/amd/{Flex-56ecdf4c.js.map → Flex-3421f0df.js.map} +1 -1
  51. package/amd/{Floating-a658b79c.js → Floating-25e0092b.js} +2 -2
  52. package/amd/{Floating-a658b79c.js.map → Floating-25e0092b.js.map} +1 -1
  53. package/amd/FormLayout-c6f1fdff.js +1 -1
  54. package/amd/Gantt-7be8d8bc.js +1 -1
  55. package/amd/{Grid-160f4885.js → Grid-8911aa0f.js} +2 -2
  56. package/amd/{Grid-160f4885.js.map → Grid-8911aa0f.js.map} +1 -1
  57. package/amd/{Gridlines-b1d59999.js → Gridlines-071ff524.js} +2 -2
  58. package/amd/{Gridlines-b1d59999.js.map → Gridlines-071ff524.js.map} +1 -1
  59. package/amd/GroupLoadingIndicator-cd9192c9.js +1 -1
  60. package/amd/HighlightText-644bc74e.js +2 -0
  61. package/amd/{HighlightText-bd4c0101.js.map → HighlightText-644bc74e.js.map} +1 -1
  62. package/amd/Icon-2d805acb.js +1 -1
  63. package/amd/IconButton-81c8463f.js +1 -1
  64. package/amd/IconMenuButton-3e3db121.js +1 -1
  65. package/amd/IconProgressButton-04979469.js +1 -1
  66. package/amd/IconSwitchButton-bc007cbd.js +1 -1
  67. package/amd/IconToggleButton-28960894.js +1 -1
  68. package/amd/{IconUserAssistance-2f809060.js → IconUserAssistance-dda606e6.js} +2 -2
  69. package/amd/{IconUserAssistance-2f809060.js.map → IconUserAssistance-dda606e6.js.map} +1 -1
  70. package/amd/{Indexer-6833ad40.js → Indexer-74c989ce.js} +2 -2
  71. package/amd/{Indexer-6833ad40.js.map → Indexer-74c989ce.js.map} +1 -1
  72. package/amd/InlineHelpSource-85961e81.js +1 -1
  73. package/amd/InlineUserAssistance-2a480664.js +1 -1
  74. package/amd/InputDateMask-9aba967d.js +1 -1
  75. package/amd/InputDatePicker-6167ff45.js +1 -1
  76. package/amd/InputPassword-bf533999.js +1 -1
  77. package/amd/InputText-a4234d1f.js +1 -1
  78. package/amd/Label-a4172af7.js +1 -1
  79. package/amd/LabelValueLayout-194e64d9.js +1 -1
  80. package/amd/{Layer-276d62e8.js → Layer-e835aed8.js} +2 -2
  81. package/amd/{Layer-276d62e8.js.map → Layer-e835aed8.js.map} +1 -1
  82. package/amd/{LayerHost-e95c5f30.js → LayerHost-639b3284.js} +2 -2
  83. package/amd/{LayerHost-e95c5f30.js.map → LayerHost-639b3284.js.map} +1 -1
  84. package/amd/{LayerManager-76fcfb58.js → LayerManager-2972de92.js} +2 -2
  85. package/amd/{LayerManager-76fcfb58.js.map → LayerManager-2972de92.js.map} +1 -1
  86. package/amd/Legend-cd2f78b2.js +1 -1
  87. package/amd/{LineAreaChart-07630832.js → LineAreaChart-2d79c161.js} +2 -2
  88. package/amd/{LineAreaChart-07630832.js.map → LineAreaChart-2d79c161.js.map} +1 -1
  89. package/amd/Link-cb232696.js +1 -1
  90. package/amd/List-61d64cd6.js +2 -0
  91. package/amd/{List-3ebac3fc.js.map → List-61d64cd6.js.map} +1 -1
  92. package/amd/{ListItemLayout-90873fb8.js → ListItemLayout-1d8f166a.js} +2 -2
  93. package/amd/{ListItemLayout-90873fb8.js.map → ListItemLayout-1d8f166a.js.map} +1 -1
  94. package/amd/{ListView-c8082c0c.js → ListView-a49e52c3.js} +2 -2
  95. package/amd/{ListView-c8082c0c.js.map → ListView-a49e52c3.js.map} +1 -1
  96. package/amd/LiveRegion-9a362373.js +2 -0
  97. package/amd/{LiveRegion-8142ed0d.js.map → LiveRegion-9a362373.js.map} +1 -1
  98. package/amd/LoadMoreCollection-83413a59.js +2 -0
  99. package/amd/{LoadMoreCollection-a6adbc3f.js.map → LoadMoreCollection-83413a59.js.map} +1 -1
  100. package/amd/MaxLengthLiveRegion-bb956138.js +2 -0
  101. package/amd/{MaxLengthLiveRegion-8954fc30.js.map → MaxLengthLiveRegion-bb956138.js.map} +1 -1
  102. package/amd/{Menu-8f3a1e8c.js → Menu-e682ccb9.js} +2 -2
  103. package/amd/{Menu-8f3a1e8c.js.map → Menu-e682ccb9.js.map} +1 -1
  104. package/amd/MenuButton-e4d7ec34.js +1 -1
  105. package/amd/MenuItem-44b2547b.js +1 -1
  106. package/amd/Message-1b166e4f.js +1 -1
  107. package/amd/{MessageLayer-cf9265e0.js → MessageLayer-3742e608.js} +2 -2
  108. package/amd/{MessageLayer-cf9265e0.js.map → MessageLayer-3742e608.js.map} +1 -1
  109. package/amd/MessageToast-7aba4a66.js +1 -1
  110. package/amd/MessagesManager-d6d43884.js +1 -1
  111. package/amd/MeterBar-90569d10.js +1 -1
  112. package/amd/MeterCircle-b14ff590.js +1 -1
  113. package/amd/{Modal-36acfc12.js → Modal-2b6ce101.js} +2 -2
  114. package/amd/{Modal-36acfc12.js.map → Modal-2b6ce101.js.map} +1 -1
  115. package/amd/{MonthView-ac27389f.js → MonthView-8a1fde80.js} +2 -2
  116. package/amd/{MonthView-ac27389f.js.map → MonthView-8a1fde80.js.map} +1 -1
  117. package/amd/NavigationListItem-1742f912.js +1 -1
  118. package/amd/NumberInputText-83ba7a58.js +1 -1
  119. package/amd/OverflowTabBarItem-4c4b75e0.js +1 -1
  120. package/amd/PRIVATE_BaseCardView.js +1 -1
  121. package/amd/PRIVATE_Chart.js +1 -1
  122. package/amd/PRIVATE_CheckboxControl.js +1 -1
  123. package/amd/PRIVATE_CheckboxRadioField.js +1 -1
  124. package/amd/PRIVATE_ClearIcon.js +1 -1
  125. package/amd/PRIVATE_DatePickerHeader.js +1 -1
  126. package/amd/PRIVATE_DatePickerLayout.js +1 -1
  127. package/amd/PRIVATE_EmbeddedIconButton.js +1 -1
  128. package/amd/PRIVATE_FormControls.js +1 -1
  129. package/amd/PRIVATE_IconSwitchButton.js +1 -1
  130. package/amd/PRIVATE_Icons/CheckboxMixed.js +1 -1
  131. package/amd/PRIVATE_Icons/CheckboxOff.js +1 -1
  132. package/amd/PRIVATE_Icons/CheckboxOn.js +1 -1
  133. package/amd/PRIVATE_Icons/RadiobuttonOff.js +1 -1
  134. package/amd/PRIVATE_Icons/RadiobuttonOn.js +1 -1
  135. package/amd/PRIVATE_Icons/WarningS.js +1 -1
  136. package/amd/PRIVATE_List.js +1 -1
  137. package/amd/PRIVATE_LoadMoreCollection.js +1 -1
  138. package/amd/PRIVATE_Message.js +1 -1
  139. package/amd/PRIVATE_MessageLayer.js +1 -1
  140. package/amd/PRIVATE_MonthView.js +1 -1
  141. package/amd/PRIVATE_MonthYearGridView.js +1 -1
  142. package/amd/PRIVATE_PlotArea.js +1 -1
  143. package/amd/PRIVATE_RevealToggleIcon.js +1 -1
  144. package/amd/PRIVATE_SelectCommon.js +1 -1
  145. package/amd/PRIVATE_StyledCheckbox.js +1 -1
  146. package/amd/PRIVATE_Table.js +1 -1
  147. package/amd/PRIVATE_ThemedIcons/CalendarIcon.js +1 -1
  148. package/amd/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +1 -1
  149. package/amd/PRIVATE_ThemedIcons/ChartPanIcon.js +1 -1
  150. package/amd/PRIVATE_ThemedIcons/ChartZoomIcon.js +1 -1
  151. package/amd/PRIVATE_ThemedIcons/CheckIcon.js +1 -1
  152. package/amd/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +1 -1
  153. package/amd/PRIVATE_ThemedIcons/CheckboxOffIcon.js +1 -1
  154. package/amd/PRIVATE_ThemedIcons/CheckboxOnIcon.js +1 -1
  155. package/amd/PRIVATE_ThemedIcons/CloseIcon.js +1 -1
  156. package/amd/PRIVATE_ThemedIcons/CollapseIcon.js +1 -1
  157. package/amd/PRIVATE_ThemedIcons/CollapseUpIcon.js +1 -1
  158. package/amd/PRIVATE_ThemedIcons/DecrementIcon.js +1 -1
  159. package/amd/PRIVATE_ThemedIcons/DeleteIcon.js +1 -1
  160. package/amd/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +1 -1
  161. package/amd/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +1 -1
  162. package/amd/PRIVATE_ThemedIcons/DropdownArrowIcon.js +1 -1
  163. package/amd/PRIVATE_ThemedIcons/ExpandIcon.js +1 -1
  164. package/amd/PRIVATE_ThemedIcons/HelpIcon.js +1 -1
  165. package/amd/PRIVATE_ThemedIcons/IncrementIcon.js +1 -1
  166. package/amd/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +1 -1
  167. package/amd/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +1 -1
  168. package/amd/PRIVATE_ThemedIcons/MessageErrorIcon.js +1 -1
  169. package/amd/PRIVATE_ThemedIcons/MessageInfoIcon.js +1 -1
  170. package/amd/PRIVATE_ThemedIcons/MessageWarningIcon.js +1 -1
  171. package/amd/PRIVATE_ThemedIcons/MinusIcon.js +1 -1
  172. package/amd/PRIVATE_ThemedIcons/NavDownIcon.js +1 -1
  173. package/amd/PRIVATE_ThemedIcons/PlusIcon.js +1 -1
  174. package/amd/PRIVATE_ThemedIcons/RadioOffIcon.js +1 -1
  175. package/amd/PRIVATE_ThemedIcons/RadioOnIcon.js +1 -1
  176. package/amd/PRIVATE_ThemedIcons/SortAscendingIcon.js +1 -1
  177. package/amd/PRIVATE_ThemedIcons/SortDefaultIcon.js +1 -1
  178. package/amd/PRIVATE_ThemedIcons/SortDescendingIcon.js +1 -1
  179. package/amd/PRIVATE_ThemedIcons/ViewHideIcon.js +1 -1
  180. package/amd/PRIVATE_ThemedIcons/ViewIcon.js +1 -1
  181. package/amd/PRIVATE_TimeComponent.js +1 -1
  182. package/amd/PRIVATE_VirtualizedCollection.js +1 -1
  183. package/amd/PRIVATE_VisTabularDatatip.js +1 -1
  184. package/amd/PictoChart-98b54953.js +1 -1
  185. package/amd/{PieChart-cbe2806f.js → PieChart-45cc3798.js} +2 -2
  186. package/amd/{PieChart-cbe2806f.js.map → PieChart-45cc3798.js.map} +1 -1
  187. package/amd/{Popup-956e6d7d.js → Popup-059eb48a.js} +2 -2
  188. package/amd/{Popup-956e6d7d.js.map → Popup-059eb48a.js.map} +1 -1
  189. package/amd/{ProgressBar-d7cfdb63.js → ProgressBar-479b35e5.js} +2 -2
  190. package/amd/{ProgressBar-d7cfdb63.js.map → ProgressBar-479b35e5.js.map} +1 -1
  191. package/amd/ProgressButton-c98e276b.js +1 -1
  192. package/amd/ProgressButtonLabelLayout-3a78ba61.js +1 -1
  193. package/amd/{ProgressCircle-1e4cefde.js → ProgressCircle-365c4568.js} +2 -2
  194. package/amd/{ProgressCircle-1e4cefde.js.map → ProgressCircle-365c4568.js.map} +1 -1
  195. package/amd/RadioItem-ce699d94.js +1 -1
  196. package/amd/RatingGauge-138a7d8b.js +1 -1
  197. package/amd/ReadonlyTextFieldInput-608bddc1.js +1 -1
  198. package/amd/RemovableNavigationListItem-dd14305f.js +1 -1
  199. package/amd/RemovableTabBarItem-6a25d890.js +1 -1
  200. package/amd/ReorderableTabBar-e40ffae9.js +1 -1
  201. package/amd/RevealToggleIcon-c5b17f49.js +1 -1
  202. package/amd/SectionalLegend-5d4afed4.js +1 -1
  203. package/amd/SectionedContent-2b89af7b.js +2 -0
  204. package/amd/{SectionedContent-6031f8f7.js.map → SectionedContent-2b89af7b.js.map} +1 -1
  205. package/amd/{SelectMultiple-3eb4a268.js → SelectMultiple-1ff92cc3.js} +2 -2
  206. package/amd/{SelectMultiple-3eb4a268.js.map → SelectMultiple-1ff92cc3.js.map} +1 -1
  207. package/amd/{SelectSingle-9fcc38fc.js → SelectSingle-641a4cac.js} +2 -2
  208. package/amd/{SelectSingle-9fcc38fc.js.map → SelectSingle-641a4cac.js.map} +1 -1
  209. package/amd/{SelectionCard-062e1c6f.js → SelectionCard-3973de1b.js} +2 -2
  210. package/amd/{SelectionCard-062e1c6f.js.map → SelectionCard-3973de1b.js.map} +1 -1
  211. package/amd/Selector-039f7481.js +1 -1
  212. package/amd/SelectorAll-7288e923.js +2 -0
  213. package/amd/{SelectorAll-53efae22.js.map → SelectorAll-7288e923.js.map} +1 -1
  214. package/amd/{Sheet-e6308643.js → Sheet-c6fc15b2.js} +2 -2
  215. package/amd/{Sheet-e6308643.js.map → Sheet-c6fc15b2.js.map} +1 -1
  216. package/amd/SplitMenuButton-09d7b66f.js +1 -1
  217. package/amd/StyledTextField-a51060bb.js +1 -1
  218. package/amd/Submenu-8cb31b61.js +1 -1
  219. package/amd/TabBar-1c002b5b.js +1 -1
  220. package/amd/TabBarItem-16383a92.js +1 -1
  221. package/amd/TabBarLayout-685ac295.js +1 -1
  222. package/amd/TabBarMixed-4e0326f5.js +1 -1
  223. package/amd/TabBarMixedSeparator-ed764207.js +2 -0
  224. package/amd/{TabBarMixedSeparator-8c278254.js.map → TabBarMixedSeparator-ed764207.js.map} +1 -1
  225. package/amd/{Table-611e08d5.js → Table-986ae70c.js} +2 -2
  226. package/amd/{Table-611e08d5.js.map → Table-986ae70c.js.map} +1 -1
  227. package/amd/{TableView-cf113195.js → TableView-452fa547.js} +2 -2
  228. package/amd/{TableView-cf113195.js.map → TableView-452fa547.js.map} +1 -1
  229. package/amd/TagCloud-58b4a81b.js +1 -1
  230. package/amd/TextArea-259d741c.js +1 -1
  231. package/amd/TextAreaAutosize-e8dc13b4.js +1 -1
  232. package/amd/TextField-51daf13e.js +1 -1
  233. package/amd/TextFieldInput-d6645f5b.js +1 -1
  234. package/amd/Theme-redwood/theme.css +141 -141
  235. package/amd/Theme-stable/theme.css +320 -320
  236. package/amd/TimeComponentCanvas2D-2f1cede4.js +1 -1
  237. package/amd/Toolbar-e84c90ac.js +1 -1
  238. package/amd/{TruncatingBadge-5b720ad3.js → TruncatingBadge-b6a271ea.js} +2 -2
  239. package/amd/{TruncatingBadge-5b720ad3.js.map → TruncatingBadge-b6a271ea.js.map} +1 -1
  240. package/amd/TruncatingText-e1aceee7.js +2 -0
  241. package/amd/{TruncatingText-17a6d4b6.js.map → TruncatingText-e1aceee7.js.map} +1 -1
  242. package/amd/UNSAFE_ActionCard.js +1 -1
  243. package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
  244. package/amd/UNSAFE_BarChart.js +1 -1
  245. package/amd/UNSAFE_BaseButton.js +1 -1
  246. package/amd/UNSAFE_Button.js +1 -1
  247. package/amd/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
  248. package/amd/UNSAFE_ButtonSet.js +1 -1
  249. package/amd/UNSAFE_ButtonSetButton.js +1 -1
  250. package/amd/UNSAFE_ButtonSetIconButton.js +1 -1
  251. package/amd/UNSAFE_ButtonSetItem.js +1 -1
  252. package/amd/UNSAFE_ButtonSetMultiple.js +1 -1
  253. package/amd/UNSAFE_ButtonSetSingle.js +1 -1
  254. package/amd/UNSAFE_CardFlexView.js +1 -1
  255. package/amd/UNSAFE_CardGridView.js +1 -1
  256. package/amd/UNSAFE_Center.js +1 -1
  257. package/amd/UNSAFE_ChartWithLegend.js +1 -1
  258. package/amd/UNSAFE_Checkbox.js +1 -1
  259. package/amd/UNSAFE_CheckboxItem.js +1 -1
  260. package/amd/UNSAFE_CheckboxItem.js.map +1 -1
  261. package/amd/UNSAFE_CheckboxSet.js +1 -1
  262. package/amd/UNSAFE_CheckboxSet.js.map +1 -1
  263. package/amd/UNSAFE_Chip.js +1 -1
  264. package/amd/UNSAFE_Collapsible.js +1 -1
  265. package/amd/UNSAFE_ComponentMessage.js +1 -1
  266. package/amd/UNSAFE_ConveyorBelt.js +1 -1
  267. package/amd/UNSAFE_DatePicker.js +1 -1
  268. package/amd/UNSAFE_Diagram.js +1 -1
  269. package/amd/UNSAFE_Dialog.js +1 -1
  270. package/amd/UNSAFE_DragHandle.js +1 -1
  271. package/amd/UNSAFE_DrawerLayout.js +1 -1
  272. package/amd/UNSAFE_DrawerPopup.js +1 -1
  273. package/amd/UNSAFE_Dropdown.js +1 -1
  274. package/amd/UNSAFE_Environment.js +1 -1
  275. package/amd/UNSAFE_ExpandableList.js +1 -1
  276. package/amd/UNSAFE_FilePicker.js +1 -1
  277. package/amd/UNSAFE_Flex.js +1 -1
  278. package/amd/UNSAFE_Floating.js +1 -1
  279. package/amd/UNSAFE_FormLayout.js +1 -1
  280. package/amd/UNSAFE_Gantt.js +1 -1
  281. package/amd/UNSAFE_Grid.js +1 -1
  282. package/amd/UNSAFE_HighlightText.js +1 -1
  283. package/amd/UNSAFE_Icon.js +1 -1
  284. package/amd/UNSAFE_IconButton.js +1 -1
  285. package/amd/UNSAFE_IconMenuButton.js +1 -1
  286. package/amd/UNSAFE_IconProgressButton.js +1 -1
  287. package/amd/UNSAFE_IconToggleButton.js +1 -1
  288. package/amd/UNSAFE_Indexer.js +1 -1
  289. package/amd/UNSAFE_InputDateMask.js +1 -1
  290. package/amd/UNSAFE_InputDatePicker.js +1 -1
  291. package/amd/UNSAFE_InputPassword.js +1 -1
  292. package/amd/UNSAFE_InputSensitiveText.js +1 -1
  293. package/amd/UNSAFE_InputText.js +1 -1
  294. package/amd/UNSAFE_Label.js +1 -1
  295. package/amd/UNSAFE_LabelValueLayout.js +1 -1
  296. package/amd/UNSAFE_LabelledLink.js +1 -1
  297. package/amd/UNSAFE_Layer.js +1 -1
  298. package/amd/UNSAFE_Legend.js +1 -1
  299. package/amd/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +1 -1
  300. package/amd/UNSAFE_LineAreaChart.js +1 -1
  301. package/amd/UNSAFE_Link.js +1 -1
  302. package/amd/UNSAFE_ListItemLayout.js +1 -1
  303. package/amd/UNSAFE_ListView.js +1 -1
  304. package/amd/UNSAFE_LiveRegion.js +1 -1
  305. package/amd/UNSAFE_Menu.js +1 -1
  306. package/amd/UNSAFE_MenuButton.js +1 -1
  307. package/amd/UNSAFE_MessageBanner.js +1 -1
  308. package/amd/UNSAFE_MessageToast.js +1 -1
  309. package/amd/UNSAFE_MeterBar.js +1 -1
  310. package/amd/UNSAFE_MeterCircle.js +1 -1
  311. package/amd/UNSAFE_Modal.js +1 -1
  312. package/amd/UNSAFE_NavigationList.js +1 -1
  313. package/amd/UNSAFE_NavigationListCommon.js +1 -1
  314. package/amd/UNSAFE_NumberInputText.js +1 -1
  315. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  316. package/amd/UNSAFE_PictoChart.js +1 -1
  317. package/amd/UNSAFE_PieChart/__test__/PieChart.spec.js +1 -1
  318. package/amd/UNSAFE_PieChart.js +1 -1
  319. package/amd/UNSAFE_Popup.js +1 -1
  320. package/amd/UNSAFE_ProgressBar.js +1 -1
  321. package/amd/UNSAFE_ProgressButton.js +1 -1
  322. package/amd/UNSAFE_ProgressButtonLabelLayout.js +1 -1
  323. package/amd/UNSAFE_ProgressCircle.js +1 -1
  324. package/amd/UNSAFE_RadioItem.js +1 -1
  325. package/amd/UNSAFE_RadioSet.js +1 -1
  326. package/amd/UNSAFE_RatingGauge.js +1 -1
  327. package/amd/UNSAFE_ReorderableTabBar.js +1 -1
  328. package/amd/UNSAFE_SectionalLegend.js +1 -1
  329. package/amd/UNSAFE_SelectMultiple.js +1 -1
  330. package/amd/UNSAFE_SelectSingle.js +1 -1
  331. package/amd/UNSAFE_SelectionCard.js +1 -1
  332. package/amd/UNSAFE_Selector.js +1 -1
  333. package/amd/UNSAFE_SelectorAll.js +1 -1
  334. package/amd/UNSAFE_Sheet/__test__/Sheet.spec.js +1 -1
  335. package/amd/UNSAFE_Sheet.js +1 -1
  336. package/amd/UNSAFE_SplitMenuButton.js +1 -1
  337. package/amd/UNSAFE_TabBar.js +1 -1
  338. package/amd/UNSAFE_TabBarCommon.js +1 -1
  339. package/amd/UNSAFE_TabBarMixed.js +1 -1
  340. package/amd/UNSAFE_TableView.js +1 -1
  341. package/amd/UNSAFE_TagCloud.js +1 -1
  342. package/amd/UNSAFE_TextArea.js +1 -1
  343. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  344. package/amd/UNSAFE_TextField.js +1 -1
  345. package/amd/UNSAFE_ToggleButton.js +1 -1
  346. package/amd/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
  347. package/amd/UNSAFE_Toolbar.js +1 -1
  348. package/amd/UNSAFE_Train.js +1 -1
  349. package/amd/UNSAFE_TruncatingBadge.js +1 -1
  350. package/amd/UNSAFE_TruncatingText.js +1 -1
  351. package/amd/UNSAFE_UserAssistance.js +1 -1
  352. package/amd/UNSAFE_View.js +1 -1
  353. package/amd/UNSAFE_VirtualizedListView.js +1 -1
  354. package/amd/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +1 -1
  355. package/amd/UNSAFE_VisProgressiveLoader.js +1 -1
  356. package/amd/UNSAFE_VisStatusMessage.js +1 -1
  357. package/amd/UNSAFE_WindowOverlay.js +1 -1
  358. package/amd/{View-ce970ed7.js → View-bd5c7fa7.js} +2 -2
  359. package/amd/{View-ce970ed7.js.map → View-bd5c7fa7.js.map} +1 -1
  360. package/amd/{VirtualizedCollection-63223f5e.js → VirtualizedCollection-897516a5.js} +2 -2
  361. package/amd/{VirtualizedCollection-63223f5e.js.map → VirtualizedCollection-897516a5.js.map} +1 -1
  362. package/amd/VirtualizedListView-96ddfd98.js +2 -0
  363. package/amd/{VirtualizedListView-cf795207.js.map → VirtualizedListView-96ddfd98.js.map} +1 -1
  364. package/amd/{VisNoData-7d5f77c3.js → VisNoData-ed2bd5cf.js} +2 -2
  365. package/amd/{VisNoData-7d5f77c3.js.map → VisNoData-ed2bd5cf.js.map} +1 -1
  366. package/amd/{VisProgressiveLoader-68d8d8b3.js → VisProgressiveLoader-06a60c8f.js} +2 -2
  367. package/amd/{VisProgressiveLoader-68d8d8b3.js.map → VisProgressiveLoader-06a60c8f.js.map} +1 -1
  368. package/amd/{VisTabularDatatip-1051eaca.js → VisTabularDatatip-55bbd19f.js} +2 -2
  369. package/amd/{VisTabularDatatip-1051eaca.js.map → VisTabularDatatip-55bbd19f.js.map} +1 -1
  370. package/amd/{WindowOverlay-a2d80d55.js → WindowOverlay-43c10424.js} +2 -2
  371. package/amd/{WindowOverlay-a2d80d55.js.map → WindowOverlay-43c10424.js.map} +1 -1
  372. package/amd/{YearsGridView-e758c73a.js → YearsGridView-ddc90c36.js} +2 -2
  373. package/amd/{YearsGridView-e758c73a.js.map → YearsGridView-ddc90c36.js.map} +1 -1
  374. package/amd/hoc/PRIVATE_withDirectionIcon.js +1 -1
  375. package/amd/hoc/PRIVATE_withThemeIcon.js +1 -1
  376. package/amd/hoc/UNSAFE_withThemeProps.js +1 -1
  377. package/amd/hooks/PRIVATE_useChartContextMenu.js +1 -1
  378. package/amd/hooks/PRIVATE_useChartDatatip.js +1 -1
  379. package/amd/hooks/PRIVATE_useChartEvents.js +1 -1
  380. package/amd/hooks/PRIVATE_useChartMarquee.js +1 -1
  381. package/amd/hooks/PRIVATE_useCssVars.js +1 -1
  382. package/amd/hooks/PRIVATE_useCurrentKey.js +1 -1
  383. package/amd/hooks/PRIVATE_useDatatip.js +1 -1
  384. package/amd/hooks/PRIVATE_useFloating.js +1 -1
  385. package/amd/hooks/PRIVATE_useReorderable.js +1 -1
  386. package/amd/hooks/PRIVATE_useRovingTabIndexContainer.js +1 -1
  387. package/amd/hooks/PRIVATE_useSelection.js +1 -1
  388. package/amd/hooks/PRIVATE_useTabBar.js +1 -1
  389. package/amd/hooks/PRIVATE_useVisContextMenu.js +1 -1
  390. package/amd/hooks/PRIVATE_useVisEvents.js +1 -1
  391. package/amd/hooks/PRIVATE_useVisMeterEvents.js +1 -1
  392. package/amd/hooks/PRIVATE_useVisSelection.js +1 -1
  393. package/amd/hooks/UNSAFE_useColorScheme.js +1 -1
  394. package/amd/hooks/UNSAFE_useCurrentBgColor.js +1 -1
  395. package/amd/hooks/UNSAFE_useDensity.js +1 -1
  396. package/amd/hooks/UNSAFE_useOutsideClick.js +1 -1
  397. package/amd/hooks/UNSAFE_usePrefixSuffix.js +1 -1
  398. package/amd/hooks/UNSAFE_useScale.js +1 -1
  399. package/amd/hooks/UNSAFE_useSwipe.js +1 -1
  400. package/amd/hooks/UNSAFE_useTestId.js +1 -1
  401. package/amd/hooks/UNSAFE_useTheme.js +1 -1
  402. package/amd/hooks/UNSAFE_useThemeInterpolations.js +1 -1
  403. package/amd/hooks/UNSAFE_useTooltip.js +1 -1
  404. package/amd/hooks/UNSAFE_useTranslationBundle.js +1 -1
  405. package/amd/hooks/UNSAFE_useUser.js +1 -1
  406. package/amd/{index-735cad6d.js → index-a444ef75.js} +2 -2
  407. package/amd/index-a444ef75.js.map +1 -0
  408. package/amd/listViewSelectionTests-a8209843.js +1 -1
  409. package/amd/render-a1ae323f.js +2 -0
  410. package/amd/{render-4250c759.js.map → render-a1ae323f.js.map} +1 -1
  411. package/amd/{tabbableUtils-9887f50b.js → tabbableUtils-f5e521c8.js} +2 -2
  412. package/amd/{tabbableUtils-9887f50b.js.map → tabbableUtils-f5e521c8.js.map} +1 -1
  413. package/amd/{testData-71364772.js → testData-b22c8f34.js} +2 -2
  414. package/amd/{testData-71364772.js.map → testData-b22c8f34.js.map} +1 -1
  415. package/amd/tooltipUtils-79293e46.js +2 -0
  416. package/amd/{tooltipUtils-3b34c2bc.js.map → tooltipUtils-79293e46.js.map} +1 -1
  417. package/amd/useCellNavigation-1feec094.js +1 -1
  418. package/amd/useChartContextMenu-673e3de0.js +1 -1
  419. package/amd/{useChartDatatip-c702890c.js → useChartDatatip-04fa72c7.js} +2 -2
  420. package/amd/{useChartDatatip-c702890c.js.map → useChartDatatip-04fa72c7.js.map} +1 -1
  421. package/amd/useChartMarquee-62e7676c.js +1 -1
  422. package/amd/{useColorScheme-10dc88de.js → useColorScheme-443e7cc7.js} +2 -2
  423. package/amd/{useColorScheme-10dc88de.js.map → useColorScheme-443e7cc7.js.map} +1 -1
  424. package/amd/useContextMenu-57f18e97.js +1 -1
  425. package/amd/{useCssVars-c043f8da.js → useCssVars-dc52806c.js} +2 -2
  426. package/amd/{useCssVars-c043f8da.js.map → useCssVars-dc52806c.js.map} +1 -1
  427. package/amd/{useCurrentBgColor-2426ee24.js → useCurrentBgColor-50142bd8.js} +2 -2
  428. package/amd/{useCurrentBgColor-2426ee24.js.map → useCurrentBgColor-50142bd8.js.map} +1 -1
  429. package/amd/useCurrentKey-db6f418a.js +2 -0
  430. package/amd/{useCurrentKey-1d869ff4.js.map → useCurrentKey-db6f418a.js.map} +1 -1
  431. package/amd/{useDatatip-87792500.js → useDatatip-748e233f.js} +2 -2
  432. package/amd/{useDatatip-87792500.js.map → useDatatip-748e233f.js.map} +1 -1
  433. package/amd/{useDensity-c83df7b4.js → useDensity-f0f7ae9a.js} +2 -2
  434. package/amd/{useDensity-c83df7b4.js.map → useDensity-f0f7ae9a.js.map} +1 -1
  435. package/amd/{useFloating-8726c4bb.js → useFloating-a2399a51.js} +2 -2
  436. package/amd/{useFloating-8726c4bb.js.map → useFloating-a2399a51.js.map} +1 -1
  437. package/amd/useKeyboardEvents-8ada7a1f.js +2 -0
  438. package/amd/{useKeyboardEvents-d87e3587.js.map → useKeyboardEvents-8ada7a1f.js.map} +1 -1
  439. package/amd/useLegendContextMenu-09c7a5a9.js +1 -1
  440. package/amd/useMeterDatatip-3b5a5112.js +2 -0
  441. package/amd/{useMeterDatatip-3abdf66a.js.map → useMeterDatatip-3b5a5112.js.map} +1 -1
  442. package/amd/{useOutsideClick-5c2a47be.js → useOutsideClick-476e0577.js} +2 -2
  443. package/amd/{useOutsideClick-5c2a47be.js.map → useOutsideClick-476e0577.js.map} +1 -1
  444. package/amd/usePopupAnimation-6445a247.js +2 -0
  445. package/amd/{usePopupAnimation-916ff96d.js.map → usePopupAnimation-6445a247.js.map} +1 -1
  446. package/amd/usePrefixSuffix-f7544e05.js +2 -0
  447. package/amd/{usePrefixSuffix-09bd5925.js.map → usePrefixSuffix-f7544e05.js.map} +1 -1
  448. package/amd/useReorderableItem-7fd4d629.js +1 -1
  449. package/amd/{useRovingTabIndexContainer-05e87912.js → useRovingTabIndexContainer-94cc3710.js} +2 -2
  450. package/amd/{useRovingTabIndexContainer-05e87912.js.map → useRovingTabIndexContainer-94cc3710.js.map} +1 -1
  451. package/amd/useScale-e311d35f.js +2 -0
  452. package/amd/{useScale-37d42c9d.js.map → useScale-e311d35f.js.map} +1 -1
  453. package/amd/{useSelectCommon-94d5e5bb.js → useSelectCommon-4e256cf0.js} +2 -2
  454. package/amd/{useSelectCommon-94d5e5bb.js.map → useSelectCommon-4e256cf0.js.map} +1 -1
  455. package/amd/{useSelectDrill-a7d833b6.js → useSelectDrill-65d98139.js} +2 -2
  456. package/amd/{useSelectDrill-a7d833b6.js.map → useSelectDrill-65d98139.js.map} +1 -1
  457. package/amd/{useSelection-396ce75f.js → useSelection-4d3a1ea8.js} +2 -2
  458. package/amd/{useSelection-396ce75f.js.map → useSelection-4d3a1ea8.js.map} +1 -1
  459. package/amd/useSelection-a6fd13cf.js +2 -0
  460. package/amd/{useSelection-e2791513.js.map → useSelection-a6fd13cf.js.map} +1 -1
  461. package/amd/useSwipe-d22a98f1.js +2 -0
  462. package/amd/{useSwipe-9600cd2e.js.map → useSwipe-d22a98f1.js.map} +1 -1
  463. package/amd/{useTabBar-423a0c03.js → useTabBar-40842fb9.js} +2 -2
  464. package/amd/{useTabBar-423a0c03.js.map → useTabBar-40842fb9.js.map} +1 -1
  465. package/amd/{useTestId-3a316499.js → useTestId-b5cd4766.js} +2 -2
  466. package/amd/{useTestId-3a316499.js.map → useTestId-b5cd4766.js.map} +1 -1
  467. package/amd/{useTheme-ac980f9a.js → useTheme-a8334e06.js} +2 -2
  468. package/amd/{useTheme-ac980f9a.js.map → useTheme-a8334e06.js.map} +1 -1
  469. package/amd/useThemeInterpolations-e20f8cfa.js +2 -0
  470. package/amd/{useThemeInterpolations-b1d98ea4.js.map → useThemeInterpolations-e20f8cfa.js.map} +1 -1
  471. package/amd/useTooltip-e4089d1a.js +2 -0
  472. package/amd/{useTooltip-6a5fedfa.js.map → useTooltip-e4089d1a.js.map} +1 -1
  473. package/amd/{useTooltipControlled-fb57eb02.js → useTooltipControlled-fafb2f01.js} +2 -2
  474. package/amd/{useTooltipControlled-fb57eb02.js.map → useTooltipControlled-fafb2f01.js.map} +1 -1
  475. package/amd/{useTranslationBundle-516b1b83.js → useTranslationBundle-d07d4b20.js} +2 -2
  476. package/amd/{useTranslationBundle-516b1b83.js.map → useTranslationBundle-d07d4b20.js.map} +1 -1
  477. package/amd/{useUser-85c781ea.js → useUser-3ef25571.js} +2 -2
  478. package/amd/{useUser-85c781ea.js.map → useUser-3ef25571.js.map} +1 -1
  479. package/amd/{useVisEvents-954dcd88.js → useVisEvents-48144382.js} +2 -2
  480. package/amd/{useVisEvents-954dcd88.js.map → useVisEvents-48144382.js.map} +1 -1
  481. package/amd/utils/PRIVATE_tooltipUtils.js +1 -1
  482. package/amd/utils/PRIVATE_visTestUtils.js +1 -1
  483. package/amd/{withDirectionIcon-ce0c7432.js → withDirectionIcon-74c39ee3.js} +2 -2
  484. package/amd/{withDirectionIcon-ce0c7432.js.map → withDirectionIcon-74c39ee3.js.map} +1 -1
  485. package/amd/withThemeProps-4c23997e.js +1 -1
  486. package/cjs/{BarChart-6b34be7b.js → BarChart-f132cd7c.js} +2 -2
  487. package/cjs/{BarChart-6b34be7b.js.map → BarChart-f132cd7c.js.map} +1 -1
  488. package/cjs/{Chart-4eee682b.js → Chart-42a979a7.js} +2 -2
  489. package/cjs/{Chart-4eee682b.js.map → Chart-42a979a7.js.map} +1 -1
  490. package/cjs/{InputDatePicker-c2ef8b45.js → InputDatePicker-fe21408c.js} +2 -2
  491. package/cjs/{InputDatePicker-c2ef8b45.js.map → InputDatePicker-fe21408c.js.map} +1 -1
  492. package/cjs/{LineAreaChart-28268084.js → LineAreaChart-4f443939.js} +2 -2
  493. package/cjs/{LineAreaChart-28268084.js.map → LineAreaChart-4f443939.js.map} +1 -1
  494. package/cjs/PRIVATE_Chart.js +4 -4
  495. package/cjs/{TextArea-096f18ad.js → TextArea-792069d7.js} +22 -4
  496. package/cjs/TextArea-792069d7.js.map +1 -0
  497. package/cjs/{TextAreaAutosize-4d30faec.js → TextAreaAutosize-1989de68.js} +3 -3
  498. package/cjs/{TextAreaAutosize-4d30faec.js.map → TextAreaAutosize-1989de68.js.map} +1 -1
  499. package/cjs/Theme-redwood/theme.css +249 -249
  500. package/cjs/Theme-stable/theme.css +270 -270
  501. package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +5 -5
  502. package/cjs/UNSAFE_BarChart.js +5 -5
  503. package/cjs/UNSAFE_DrawerPopup.js +1 -1
  504. package/cjs/UNSAFE_InputDatePicker.js +90 -90
  505. package/cjs/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +5 -5
  506. package/cjs/UNSAFE_LineAreaChart.js +5 -5
  507. package/cjs/UNSAFE_TextArea.js +3 -4
  508. package/cjs/UNSAFE_TextArea.js.map +1 -1
  509. package/cjs/UNSAFE_TextAreaAutosize.js +3 -3
  510. package/cjs/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
  511. package/cjs/hooks/UNSAFE_useSwipe.js +1 -1
  512. package/cjs/{useSwipe-45174423.js → useSwipe-d917dcba.js} +15 -15
  513. package/cjs/{useSwipe-45174423.js.map → useSwipe-d917dcba.js.map} +1 -1
  514. package/es/ActionCard-ba1c946e.js +1 -1
  515. package/es/BarChart-cbd9c2bf.js +2 -2
  516. package/es/BaseButton-5a3335d9.js +2 -2
  517. package/es/BaseCardView-e0e8a69b.js +6 -6
  518. package/es/{BaseCardViewSelectionTest-2159b609.js → BaseCardViewSelectionTest-120542e8.js} +6 -6
  519. package/es/{BaseCardViewSelectionTest-2159b609.js.map → BaseCardViewSelectionTest-120542e8.js.map} +1 -1
  520. package/es/BaseNavigationListItem-ac7ef3c3.js +1 -1
  521. package/es/ButtonLayoutVariants.styles.css +2 -2
  522. package/es/ButtonLayoutVariants.styles2.css +2 -2
  523. package/es/ButtonSet-ac76e6e2.js +2 -2
  524. package/es/ButtonSetIconButton-9241b9fb.js +3 -3
  525. package/es/{Center-9f355d44.js → Center-8b48ab02.js} +2 -2
  526. package/es/{Center-9f355d44.js.map → Center-8b48ab02.js.map} +1 -1
  527. package/es/Chart-8922a0b3.js +9 -9
  528. package/es/CheckboxControl-f5e36d0d.js +6 -6
  529. package/es/CheckboxRadioField-bdda2573.js +6 -6
  530. package/es/CheckboxSetContext-1be56556.js +9 -0
  531. package/es/CheckboxSetContext-1be56556.js.map +1 -0
  532. package/es/Chip-f2df2078.js +1 -1
  533. package/es/ClearIcon-b5083cc8.js +1 -1
  534. package/es/CollapseIcon-de129943.js +1 -1
  535. package/es/Collapsible-09cc493a.js +2 -2
  536. package/es/CompactHelpSource-1686edf6.js +2 -2
  537. package/es/{CompactLabelAssistance-61df6dbf.js → CompactLabelAssistance-fa8264fa.js} +5 -5
  538. package/es/{CompactLabelAssistance-61df6dbf.js.map → CompactLabelAssistance-fa8264fa.js.map} +1 -1
  539. package/es/CompactUserAssistance-3a10afd4.js +4 -4
  540. package/es/ComponentMessageContainer-18e7fe34.js +4 -4
  541. package/es/ConveyorBeltItem-c8d4ba1b.js +2 -2
  542. package/es/{DatePicker-d4e027c2.js → DatePicker-4fb6d86d.js} +6 -6
  543. package/es/{DatePicker-d4e027c2.js.map → DatePicker-4fb6d86d.js.map} +1 -1
  544. package/es/DatePickerHeader-79f0b61b.js +3 -3
  545. package/es/{Diagram-d7fdc75f.js → Diagram-6f1ad2ea.js} +5 -5
  546. package/es/{Diagram-d7fdc75f.js.map → Diagram-6f1ad2ea.js.map} +1 -1
  547. package/es/{Dialog-cf69547f.js → Dialog-5e92dcd1.js} +6 -6
  548. package/es/{Dialog-cf69547f.js.map → Dialog-5e92dcd1.js.map} +1 -1
  549. package/es/DirectionalCollapseArrowIcon-20259aab.js +1 -1
  550. package/es/DirectionalExpandArrowIcon-36ba273c.js +1 -1
  551. package/es/DragHandle-3b768189.js +1 -1
  552. package/es/DrawerPopupVariants.styles.css +5 -5
  553. package/es/DrawerPopupVariants.styles2.css +5 -5
  554. package/es/{Dropdown-d017dd0a.js → Dropdown-f45f823c.js} +5 -5
  555. package/es/{Dropdown-d017dd0a.js.map → Dropdown-f45f823c.js.map} +1 -1
  556. package/es/{EnvironmentProvider-a3819bde.js → EnvironmentProvider-0fc2fd0c.js} +3 -3
  557. package/es/{EnvironmentProvider-a3819bde.js.map → EnvironmentProvider-0fc2fd0c.js.map} +1 -1
  558. package/es/FilePicker-f4582615.js +2 -2
  559. package/es/{Flex-2d51e914.js → Flex-8696b27b.js} +2 -2
  560. package/es/{Flex-2d51e914.js.map → Flex-8696b27b.js.map} +1 -1
  561. package/es/{Floating-aebc0f85.js → Floating-f9bbd276.js} +4 -4
  562. package/es/{Floating-aebc0f85.js.map → Floating-f9bbd276.js.map} +1 -1
  563. package/es/FormLayout-221e1aa8.js +1 -1
  564. package/es/Gantt-46f5f954.js +9 -9
  565. package/es/{Grid-c2385b22.js → Grid-7fd29a9e.js} +2 -2
  566. package/es/{Grid-c2385b22.js.map → Grid-7fd29a9e.js.map} +1 -1
  567. package/es/{Gridlines-0e7b33f5.js → Gridlines-dcdc34bc.js} +2 -2
  568. package/es/{Gridlines-0e7b33f5.js.map → Gridlines-dcdc34bc.js.map} +1 -1
  569. package/es/GroupLoadingIndicator-2bfdba44.js +1 -1
  570. package/es/{HighlightText-d505bf35.js → HighlightText-cc043982.js} +2 -2
  571. package/es/{HighlightText-d505bf35.js.map → HighlightText-cc043982.js.map} +1 -1
  572. package/es/Icon-4171c0d7.js +3 -3
  573. package/es/IconButton-451a225c.js +3 -3
  574. package/es/IconMenuButton-e46f8d54.js +4 -4
  575. package/es/IconProgressButton-8f2f6b27.js +3 -3
  576. package/es/IconSwitchButton-5ff7b0fe.js +3 -3
  577. package/es/IconToggleButton-375f006f.js +3 -3
  578. package/es/{IconUserAssistance-7cfd1ed2.js → IconUserAssistance-dd56b812.js} +3 -3
  579. package/es/{IconUserAssistance-7cfd1ed2.js.map → IconUserAssistance-dd56b812.js.map} +1 -1
  580. package/es/Indexer-658cee69.js +4 -4
  581. package/es/InlineHelpSource-fcdcd122.js +1 -1
  582. package/es/InlineUserAssistance-e6deb149.js +5 -5
  583. package/es/InputDateMask-3d511e39.js +7 -7
  584. package/es/{InputDatePicker-81a18a57.js → InputDatePicker-fe26a952.js} +10 -10
  585. package/es/{InputDatePicker-81a18a57.js.map → InputDatePicker-fe26a952.js.map} +1 -1
  586. package/es/InputPassword-47130b3c.js +4 -4
  587. package/es/InputText-4799b2ed.js +6 -6
  588. package/es/Label-ab276ca9.js +5 -5
  589. package/es/LabelValueLayout-bcf482be.js +1 -1
  590. package/es/LabelledLinkVariants.styles.css +3 -3
  591. package/es/LabelledLinkVariants.styles2.css +3 -3
  592. package/es/{Layer-915d986a.js → Layer-71fc666f.js} +3 -3
  593. package/es/{Layer-915d986a.js.map → Layer-71fc666f.js.map} +1 -1
  594. package/es/{LayerHost-7a2149f5.js → LayerHost-15b42a3e.js} +2 -2
  595. package/es/{LayerHost-7a2149f5.js.map → LayerHost-15b42a3e.js.map} +1 -1
  596. package/es/{LayerManager-be34be40.js → LayerManager-af39e736.js} +2 -2
  597. package/es/{LayerManager-be34be40.js.map → LayerManager-af39e736.js.map} +1 -1
  598. package/es/Legend-ae0296f0.js +3 -3
  599. package/es/{LineAreaChart-85b37b1c.js → LineAreaChart-cfb9b43d.js} +3 -3
  600. package/es/{LineAreaChart-85b37b1c.js.map → LineAreaChart-cfb9b43d.js.map} +1 -1
  601. package/es/Link-9072aa54.js +1 -1
  602. package/es/List-1d23e84f.js +5 -5
  603. package/es/{ListItemLayout-01286b56.js → ListItemLayout-32895900.js} +2 -2
  604. package/es/{ListItemLayout-01286b56.js.map → ListItemLayout-32895900.js.map} +1 -1
  605. package/es/ListView-8eba90e8.js +3 -3
  606. package/es/{LiveRegion-5302331c.js → LiveRegion-cb4f8a54.js} +2 -2
  607. package/es/{LiveRegion-5302331c.js.map → LiveRegion-cb4f8a54.js.map} +1 -1
  608. package/es/{MaxLengthLiveRegion-9b386b63.js → MaxLengthLiveRegion-59087064.js} +3 -3
  609. package/es/{MaxLengthLiveRegion-9b386b63.js.map → MaxLengthLiveRegion-59087064.js.map} +1 -1
  610. package/es/{Menu-e44a3e0b.js → Menu-b5deea24.js} +8 -8
  611. package/es/{Menu-e44a3e0b.js.map → Menu-b5deea24.js.map} +1 -1
  612. package/es/MenuButton-49b7965d.js +3 -3
  613. package/es/MenuItem-be46866f.js +1 -1
  614. package/es/Message-322f8d63.js +2 -2
  615. package/es/{MessageLayer-f09b0a1b.js → MessageLayer-34a390eb.js} +6 -6
  616. package/es/{MessageLayer-f09b0a1b.js.map → MessageLayer-34a390eb.js.map} +1 -1
  617. package/es/MessageToast-66bdffe6.js +8 -8
  618. package/es/MessagesManager-a1c3e92e.js +3 -3
  619. package/es/MeterBar-9ad34b98.js +5 -5
  620. package/es/MeterCircle-6bd257c8.js +5 -5
  621. package/es/{Modal-862b8167.js → Modal-3fd86d5a.js} +3 -3
  622. package/es/{Modal-862b8167.js.map → Modal-3fd86d5a.js.map} +1 -1
  623. package/es/{MonthView-3d90f424.js → MonthView-c3b82ace.js} +4 -4
  624. package/es/{MonthView-3d90f424.js.map → MonthView-c3b82ace.js.map} +1 -1
  625. package/es/NavigationListItem-a336f06f.js +5 -5
  626. package/es/NavigationListItemVariants.styles.css +5 -5
  627. package/es/NavigationListItemVariants.styles2.css +5 -5
  628. package/es/NumberInputText-eca11601.js +6 -6
  629. package/es/OverflowTabBarItem-12249753.js +3 -3
  630. package/es/PRIVATE_BaseCardView.js +20 -20
  631. package/es/PRIVATE_Chart.js +30 -30
  632. package/es/PRIVATE_CheckboxControl.js +22 -22
  633. package/es/PRIVATE_CheckboxRadioField.js +23 -23
  634. package/es/PRIVATE_ClearIcon.js +17 -17
  635. package/es/PRIVATE_DatePickerHeader.js +19 -19
  636. package/es/PRIVATE_DatePickerLayout.js +4 -4
  637. package/es/PRIVATE_EmbeddedIconButton.js +3 -3
  638. package/es/PRIVATE_FormControls.js +19 -19
  639. package/es/PRIVATE_IconSwitchButton.js +15 -15
  640. package/es/PRIVATE_Icons/CheckboxMixed.js +15 -15
  641. package/es/PRIVATE_Icons/CheckboxOff.js +15 -15
  642. package/es/PRIVATE_Icons/CheckboxOn.js +15 -15
  643. package/es/PRIVATE_Icons/RadiobuttonOff.js +15 -15
  644. package/es/PRIVATE_Icons/RadiobuttonOn.js +15 -15
  645. package/es/PRIVATE_Icons/WarningS.js +15 -15
  646. package/es/PRIVATE_List.js +19 -19
  647. package/es/PRIVATE_Message.js +18 -18
  648. package/es/PRIVATE_MessageLayer.js +11 -11
  649. package/es/PRIVATE_MonthView.js +7 -7
  650. package/es/PRIVATE_MonthYearGridView.js +7 -7
  651. package/es/PRIVATE_PlotArea.js +4 -4
  652. package/es/PRIVATE_RevealToggleIcon.js +16 -16
  653. package/es/PRIVATE_SelectCommon.js +27 -27
  654. package/es/PRIVATE_StyledCheckbox.js +15 -15
  655. package/es/PRIVATE_Table.js +18 -18
  656. package/es/PRIVATE_ThemedIcons/CalendarIcon.js +15 -15
  657. package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +15 -15
  658. package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +15 -15
  659. package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +15 -15
  660. package/es/PRIVATE_ThemedIcons/CheckIcon.js +15 -15
  661. package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +15 -15
  662. package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +15 -15
  663. package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +15 -15
  664. package/es/PRIVATE_ThemedIcons/CloseIcon.js +15 -15
  665. package/es/PRIVATE_ThemedIcons/CollapseIcon.js +16 -16
  666. package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +15 -15
  667. package/es/PRIVATE_ThemedIcons/DecrementIcon.js +15 -15
  668. package/es/PRIVATE_ThemedIcons/DeleteIcon.js +15 -15
  669. package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +16 -16
  670. package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +16 -16
  671. package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +15 -15
  672. package/es/PRIVATE_ThemedIcons/ExpandIcon.js +15 -15
  673. package/es/PRIVATE_ThemedIcons/HelpIcon.js +15 -15
  674. package/es/PRIVATE_ThemedIcons/IncrementIcon.js +15 -15
  675. package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +15 -15
  676. package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +15 -15
  677. package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +15 -15
  678. package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +15 -15
  679. package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +15 -15
  680. package/es/PRIVATE_ThemedIcons/MinusIcon.js +15 -15
  681. package/es/PRIVATE_ThemedIcons/NavDownIcon.js +15 -15
  682. package/es/PRIVATE_ThemedIcons/PlusIcon.js +15 -15
  683. package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +15 -15
  684. package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +15 -15
  685. package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +15 -15
  686. package/es/PRIVATE_ThemedIcons/SortDefaultIcon.js +15 -15
  687. package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +15 -15
  688. package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +15 -15
  689. package/es/PRIVATE_ThemedIcons/ViewIcon.js +15 -15
  690. package/es/PRIVATE_TimeComponent.js +18 -18
  691. package/es/PRIVATE_VisTabularDatatip.js +4 -4
  692. package/es/PictoChart-3dd90503.js +6 -6
  693. package/es/{PieChart-d4f63bd8.js → PieChart-cdb56906.js} +5 -5
  694. package/es/{PieChart-d4f63bd8.js.map → PieChart-cdb56906.js.map} +1 -1
  695. package/es/{Popup-7cc4028b.js → Popup-8becd87a.js} +9 -9
  696. package/es/{Popup-7cc4028b.js.map → Popup-8becd87a.js.map} +1 -1
  697. package/es/{ProgressBar-d647bba4.js → ProgressBar-2565d814.js} +3 -3
  698. package/es/{ProgressBar-d647bba4.js.map → ProgressBar-2565d814.js.map} +1 -1
  699. package/es/ProgressButton-645ce827.js +3 -3
  700. package/es/ProgressButtonLabelLayout-6cf150e0.js +3 -3
  701. package/es/{ProgressCircle-13dc0e4f.js → ProgressCircle-c7f945c0.js} +2 -2
  702. package/es/{ProgressCircle-13dc0e4f.js.map → ProgressCircle-c7f945c0.js.map} +1 -1
  703. package/es/RadioItem-af1bbece.js +6 -6
  704. package/es/RatingGauge-82a6a416.js +7 -7
  705. package/es/ReadonlyTextFieldInput-a15badb6.js +1 -1
  706. package/es/RemovableNavigationListItem-7032ce3e.js +1 -1
  707. package/es/RemovableTabBarItem-16d04210.js +2 -2
  708. package/es/ReorderableTabBar-981af0f2.js +2 -2
  709. package/es/RevealToggleIcon-563c241c.js +1 -1
  710. package/es/SectionalLegend-a9b719ff.js +4 -4
  711. package/es/{SectionedContent-7e36073f.js → SectionedContent-237bf539.js} +5 -5
  712. package/es/{SectionedContent-7e36073f.js.map → SectionedContent-237bf539.js.map} +1 -1
  713. package/es/SelectMultiple-c1264885.js +8 -8
  714. package/es/SelectSingle-8336ec24.js +7 -7
  715. package/es/{SelectionCard-a27bce15.js → SelectionCard-1711aae6.js} +2 -2
  716. package/es/{SelectionCard-a27bce15.js.map → SelectionCard-1711aae6.js.map} +1 -1
  717. package/es/Selector-9f40e909.js +1 -1
  718. package/es/{SelectorAll-40c76f0b.js → SelectorAll-42ce8707.js} +7 -7
  719. package/es/{SelectorAll-40c76f0b.js.map → SelectorAll-42ce8707.js.map} +1 -1
  720. package/es/{Sheet-34f3bcb4.js → Sheet-f7117b12.js} +3 -3
  721. package/es/{Sheet-34f3bcb4.js.map → Sheet-f7117b12.js.map} +1 -1
  722. package/es/SplitMenuButton-74913bcc.js +3 -3
  723. package/es/StyledTextField-9df27ab4.js +3 -3
  724. package/es/Submenu-c6663c1d.js +1 -1
  725. package/es/TabBar-90cea652.js +6 -6
  726. package/es/TabBarItem-ba695c75.js +3 -3
  727. package/es/TabBarLayout-8caaa060.js +1 -1
  728. package/es/TabBarMixed-52ac388e.js +6 -6
  729. package/es/{TabBarMixedSeparator-16c88691.js → TabBarMixedSeparator-da56f4c0.js} +2 -2
  730. package/es/{TabBarMixedSeparator-16c88691.js.map → TabBarMixedSeparator-da56f4c0.js.map} +1 -1
  731. package/es/Table-3d484e2c.js +8 -8
  732. package/es/TagCloud-823b3d82.js +9 -9
  733. package/es/TextArea-6f18b955.js +5 -5
  734. package/es/TextAreaAutosize-4cf2754b.js +5 -5
  735. package/es/TextField-d4b4661d.js +3 -3
  736. package/es/TextFieldInput-84280715.js +1 -1
  737. package/es/Theme-redwood/theme.css +497 -497
  738. package/es/Theme-stable/theme.css +475 -475
  739. package/es/TimeComponentCanvas2D-72f4af98.js +5 -5
  740. package/es/Toolbar-85379f64.js +1 -1
  741. package/es/{TruncatingBadge-e5f38bc8.js → TruncatingBadge-7eb77ed3.js} +4 -4
  742. package/es/{TruncatingBadge-e5f38bc8.js.map → TruncatingBadge-7eb77ed3.js.map} +1 -1
  743. package/es/{TruncatingText-c3719839.js → TruncatingText-93807530.js} +4 -4
  744. package/es/{TruncatingText-c3719839.js.map → TruncatingText-93807530.js.map} +1 -1
  745. package/es/UNSAFE_ActionCard.js +2 -2
  746. package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +30 -30
  747. package/es/UNSAFE_BarChart.js +30 -30
  748. package/es/UNSAFE_BaseButton.js +3 -3
  749. package/es/UNSAFE_Button.js +3 -3
  750. package/es/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +20 -20
  751. package/es/UNSAFE_ButtonLayout/themes/redwood/ButtonLayoutTheme.js +1 -1
  752. package/es/UNSAFE_ButtonLayout/themes/redwood/ButtonLayoutVariants.css.js +1 -1
  753. package/es/UNSAFE_ButtonLayout/themes/stable/ButtonLayoutTheme.js +1 -1
  754. package/es/UNSAFE_ButtonLayout/themes/stable/ButtonLayoutVariants.css.js +1 -1
  755. package/es/UNSAFE_ButtonLayout.js +1 -1
  756. package/es/UNSAFE_ButtonSet.js +4 -4
  757. package/es/UNSAFE_ButtonSetButton.js +3 -3
  758. package/es/UNSAFE_ButtonSetIconButton.js +15 -15
  759. package/es/UNSAFE_ButtonSetItem.js +15 -15
  760. package/es/UNSAFE_ButtonSetMultiple.js +4 -4
  761. package/es/UNSAFE_ButtonSetSingle.js +4 -4
  762. package/es/UNSAFE_CardFlexView.js +20 -20
  763. package/es/UNSAFE_CardGridView.js +20 -20
  764. package/es/UNSAFE_Center.js +5 -5
  765. package/es/UNSAFE_ChartWithLegend.js +4 -4
  766. package/es/UNSAFE_Checkbox.js +22 -22
  767. package/es/UNSAFE_CheckboxItem.js +51 -101
  768. package/es/UNSAFE_CheckboxItem.js.map +1 -1
  769. package/es/UNSAFE_CheckboxSet.js +66 -32
  770. package/es/UNSAFE_CheckboxSet.js.map +1 -1
  771. package/es/UNSAFE_Chip.js +2 -2
  772. package/es/UNSAFE_Collapsible.js +17 -17
  773. package/es/UNSAFE_ComponentMessage.js +18 -18
  774. package/es/UNSAFE_ConveyorBelt.js +15 -15
  775. package/es/UNSAFE_DatePicker.js +24 -24
  776. package/es/UNSAFE_Diagram.js +15 -15
  777. package/es/UNSAFE_Dialog.js +11 -11
  778. package/es/UNSAFE_DragHandle.js +16 -16
  779. package/es/UNSAFE_DrawerLayout.js +11 -11
  780. package/es/UNSAFE_DrawerPopup/themes/redwood/DrawerPopupTheme.js +1 -1
  781. package/es/UNSAFE_DrawerPopup/themes/redwood/DrawerPopupVariants.css.js +1 -1
  782. package/es/UNSAFE_DrawerPopup/themes/stable/DrawerPopupTheme.js +1 -1
  783. package/es/UNSAFE_DrawerPopup/themes/stable/DrawerPopupVariants.css.js +1 -1
  784. package/es/UNSAFE_DrawerPopup.js +12 -12
  785. package/es/UNSAFE_Dropdown.js +12 -12
  786. package/es/UNSAFE_Environment.js +4 -4
  787. package/es/UNSAFE_ExpandableList.js +22 -22
  788. package/es/UNSAFE_FilePicker.js +4 -4
  789. package/es/UNSAFE_Flex.js +4 -4
  790. package/es/UNSAFE_Floating.js +10 -10
  791. package/es/UNSAFE_FormLayout.js +2 -2
  792. package/es/UNSAFE_Gantt.js +22 -22
  793. package/es/UNSAFE_Grid.js +4 -4
  794. package/es/UNSAFE_HighlightText.js +4 -4
  795. package/es/UNSAFE_Icon.js +15 -15
  796. package/es/UNSAFE_IconButton.js +15 -15
  797. package/es/UNSAFE_IconMenuButton.js +19 -19
  798. package/es/UNSAFE_IconProgressButton.js +19 -19
  799. package/es/UNSAFE_IconToggleButton.js +15 -15
  800. package/es/UNSAFE_Indexer.js +6 -6
  801. package/es/UNSAFE_InputDateMask.js +23 -23
  802. package/es/UNSAFE_InputDatePicker.js +112 -112
  803. package/es/UNSAFE_InputPassword.js +22 -22
  804. package/es/UNSAFE_InputSensitiveText.js +24 -24
  805. package/es/UNSAFE_InputText.js +25 -25
  806. package/es/UNSAFE_Label.js +22 -22
  807. package/es/UNSAFE_LabelValueLayout.js +4 -4
  808. package/es/UNSAFE_LabelledLink/themes/redwood/LabelledLinkTheme.js +1 -1
  809. package/es/UNSAFE_LabelledLink/themes/redwood/LabelledLinkVariants.css.js +1 -1
  810. package/es/UNSAFE_LabelledLink/themes/stable/LabelledLinkTheme.js +1 -1
  811. package/es/UNSAFE_LabelledLink/themes/stable/LabelledLinkVariants.css.js +1 -1
  812. package/es/UNSAFE_LabelledLink.js +25 -25
  813. package/es/UNSAFE_Layer.js +7 -7
  814. package/es/UNSAFE_Legend.js +22 -22
  815. package/es/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +30 -30
  816. package/es/UNSAFE_LineAreaChart.js +31 -31
  817. package/es/UNSAFE_Link.js +2 -2
  818. package/es/UNSAFE_ListItemLayout.js +5 -5
  819. package/es/UNSAFE_ListView.js +25 -25
  820. package/es/UNSAFE_LiveRegion.js +4 -4
  821. package/es/UNSAFE_Menu.js +21 -21
  822. package/es/UNSAFE_MenuButton.js +19 -19
  823. package/es/UNSAFE_MessageBanner.js +18 -18
  824. package/es/UNSAFE_MessageToast.js +21 -21
  825. package/es/UNSAFE_MeterBar.js +16 -16
  826. package/es/UNSAFE_MeterCircle.js +16 -16
  827. package/es/UNSAFE_Modal.js +7 -7
  828. package/es/UNSAFE_NavigationList/themes/redwood/NavigationListItemVariants.css.js +1 -1
  829. package/es/UNSAFE_NavigationList/themes/stable/NavigationListItemTheme.js +1 -1
  830. package/es/UNSAFE_NavigationList/themes/stable/NavigationListItemVariants.css.js +1 -1
  831. package/es/UNSAFE_NavigationList.js +20 -20
  832. package/es/UNSAFE_NavigationListCommon/themes/redwood/NavigationListItemTheme.js +1 -1
  833. package/es/UNSAFE_NavigationListCommon.js +18 -18
  834. package/es/UNSAFE_NumberInputText.js +24 -24
  835. package/es/UNSAFE_OverflowTabBar.js +25 -25
  836. package/es/UNSAFE_PictoChart.js +13 -13
  837. package/es/UNSAFE_PieChart/__test__/PieChart.spec.js +14 -14
  838. package/es/UNSAFE_PieChart.js +14 -14
  839. package/es/UNSAFE_Popup.js +15 -15
  840. package/es/UNSAFE_ProgressBar.js +5 -5
  841. package/es/UNSAFE_ProgressButton.js +19 -19
  842. package/es/UNSAFE_ProgressButtonLabelLayout.js +10 -10
  843. package/es/UNSAFE_ProgressCircle.js +4 -4
  844. package/es/UNSAFE_RadioItem.js +22 -22
  845. package/es/UNSAFE_RadioSet.js +22 -22
  846. package/es/UNSAFE_RatingGauge.js +16 -16
  847. package/es/UNSAFE_ReorderableTabBar.js +21 -21
  848. package/es/UNSAFE_SectionalLegend.js +23 -23
  849. package/es/UNSAFE_SelectMultiple.js +30 -30
  850. package/es/UNSAFE_SelectSingle.js +30 -30
  851. package/es/UNSAFE_SelectionCard.js +4 -4
  852. package/es/UNSAFE_Selector.js +15 -15
  853. package/es/UNSAFE_SelectorAll.js +19 -19
  854. package/es/UNSAFE_Sheet/__test__/Sheet.spec.js +13 -13
  855. package/es/UNSAFE_Sheet.js +10 -10
  856. package/es/UNSAFE_SplitMenuButton.js +19 -19
  857. package/es/UNSAFE_TabBar.js +26 -26
  858. package/es/UNSAFE_TabBarCommon.js +25 -25
  859. package/es/UNSAFE_TabBarMixed.js +29 -29
  860. package/es/UNSAFE_TableView.js +18 -18
  861. package/es/UNSAFE_TagCloud.js +22 -22
  862. package/es/UNSAFE_TextArea.js +24 -24
  863. package/es/UNSAFE_TextAreaAutosize.js +24 -24
  864. package/es/UNSAFE_TextField.js +7 -7
  865. package/es/UNSAFE_ToggleButton.js +3 -3
  866. package/es/UNSAFE_Toolbar/tests/Toolbar.spec.js +22 -22
  867. package/es/UNSAFE_Toolbar.js +5 -5
  868. package/es/UNSAFE_Train.js +16 -16
  869. package/es/UNSAFE_TruncatingBadge.js +17 -17
  870. package/es/UNSAFE_TruncatingText.js +17 -17
  871. package/es/UNSAFE_UserAssistance.js +23 -23
  872. package/es/UNSAFE_View.js +7 -7
  873. package/es/UNSAFE_VirtualizedListView.js +19 -19
  874. package/es/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
  875. package/es/UNSAFE_VisProgressiveLoader.js +6 -6
  876. package/es/UNSAFE_VisStatusMessage.js +6 -6
  877. package/es/UNSAFE_WindowOverlay.js +4 -4
  878. package/es/{View-a8a64eb1.js → View-63980a9b.js} +5 -5
  879. package/es/{View-a8a64eb1.js.map → View-63980a9b.js.map} +1 -1
  880. package/es/{VisNoData-673b58e9.js → VisNoData-da540cbd.js} +3 -3
  881. package/es/{VisNoData-673b58e9.js.map → VisNoData-da540cbd.js.map} +1 -1
  882. package/es/{VisProgressiveLoader-66dde1ff.js → VisProgressiveLoader-2b2103c8.js} +3 -3
  883. package/es/{VisProgressiveLoader-66dde1ff.js.map → VisProgressiveLoader-2b2103c8.js.map} +1 -1
  884. package/es/{VisTabularDatatip-6aa607bb.js → VisTabularDatatip-2ae7ee48.js} +2 -2
  885. package/es/{VisTabularDatatip-6aa607bb.js.map → VisTabularDatatip-2ae7ee48.js.map} +1 -1
  886. package/es/{WindowOverlay-de5d0819.js → WindowOverlay-9b43e658.js} +2 -2
  887. package/es/{WindowOverlay-de5d0819.js.map → WindowOverlay-9b43e658.js.map} +1 -1
  888. package/es/{YearsGridView-5b5c1746.js → YearsGridView-37dfce0c.js} +4 -4
  889. package/es/{YearsGridView-5b5c1746.js.map → YearsGridView-37dfce0c.js.map} +1 -1
  890. package/es/hoc/PRIVATE_withDirectionIcon.js +4 -4
  891. package/es/hoc/PRIVATE_withThemeIcon.js +3 -3
  892. package/es/hoc/UNSAFE_withThemeProps.js +3 -3
  893. package/es/hooks/PRIVATE_useChartContextMenu.js +18 -18
  894. package/es/hooks/PRIVATE_useChartDatatip.js +13 -13
  895. package/es/hooks/PRIVATE_useChartEvents.js +17 -17
  896. package/es/hooks/PRIVATE_useChartMarquee.js +17 -17
  897. package/es/hooks/PRIVATE_useCssVars.js +7 -7
  898. package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
  899. package/es/hooks/PRIVATE_useDatatip.js +11 -11
  900. package/es/hooks/PRIVATE_useFloating.js +4 -4
  901. package/es/hooks/PRIVATE_useReorderable.js +4 -4
  902. package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
  903. package/es/hooks/PRIVATE_useSelection.js +4 -4
  904. package/es/hooks/PRIVATE_useTabBar.js +5 -5
  905. package/es/hooks/PRIVATE_useVisContextMenu.js +18 -18
  906. package/es/hooks/PRIVATE_useVisEvents.js +4 -4
  907. package/es/hooks/PRIVATE_useVisMeterEvents.js +13 -13
  908. package/es/hooks/PRIVATE_useVisSelection.js +12 -12
  909. package/es/hooks/UNSAFE_useColorScheme.js +3 -3
  910. package/es/hooks/UNSAFE_useCurrentBgColor.js +3 -3
  911. package/es/hooks/UNSAFE_useDensity.js +3 -3
  912. package/es/hooks/UNSAFE_useOutsideClick.js +7 -7
  913. package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
  914. package/es/hooks/UNSAFE_useScale.js +3 -3
  915. package/es/hooks/UNSAFE_useSwipe.js +1 -1
  916. package/es/hooks/UNSAFE_useTestId.js +3 -3
  917. package/es/hooks/UNSAFE_useTheme.js +3 -3
  918. package/es/hooks/UNSAFE_useThemeInterpolations.js +5 -5
  919. package/es/hooks/UNSAFE_useTooltip.js +16 -16
  920. package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
  921. package/es/hooks/UNSAFE_useUser.js +3 -3
  922. package/es/{index-fee93bf9.js → index-e65c9009.js} +2 -2
  923. package/es/index-e65c9009.js.map +1 -0
  924. package/es/listViewSelectionTests-0dfdcc5d.js +4 -4
  925. package/es/{render-d92a7051.js → render-ff141a3d.js} +3 -3
  926. package/es/{render-d92a7051.js.map → render-ff141a3d.js.map} +1 -1
  927. package/es/{tabbableUtils-1b4c2eea.js → tabbableUtils-375a33ee.js} +3 -3
  928. package/es/{tabbableUtils-1b4c2eea.js.map → tabbableUtils-375a33ee.js.map} +1 -1
  929. package/es/{testData-ca9503e6.js → testData-748c19ef.js} +3 -3
  930. package/es/{testData-ca9503e6.js.map → testData-748c19ef.js.map} +1 -1
  931. package/es/{tooltipUtils-06c93436.js → tooltipUtils-1131b3ca.js} +5 -5
  932. package/es/{tooltipUtils-06c93436.js.map → tooltipUtils-1131b3ca.js.map} +1 -1
  933. package/es/useCellNavigation-00d575ca.js +1 -1
  934. package/es/useChartContextMenu-8c49f584.js +3 -3
  935. package/es/{useChartDatatip-82dba484.js → useChartDatatip-25f6bc69.js} +4 -4
  936. package/es/{useChartDatatip-82dba484.js.map → useChartDatatip-25f6bc69.js.map} +1 -1
  937. package/es/useChartMarquee-08025a83.js +1 -1
  938. package/es/{useColorScheme-f69d53b5.js → useColorScheme-d8a80e2b.js} +2 -2
  939. package/es/{useColorScheme-f69d53b5.js.map → useColorScheme-d8a80e2b.js.map} +1 -1
  940. package/es/useContextMenu-12845847.js +3 -3
  941. package/es/{useCssVars-48595cd2.js → useCssVars-8e6932f8.js} +5 -5
  942. package/es/{useCssVars-48595cd2.js.map → useCssVars-8e6932f8.js.map} +1 -1
  943. package/es/{useCurrentBgColor-894d059b.js → useCurrentBgColor-5418492b.js} +2 -2
  944. package/es/{useCurrentBgColor-894d059b.js.map → useCurrentBgColor-5418492b.js.map} +1 -1
  945. package/es/{useCurrentKey-55123e83.js → useCurrentKey-76e7d7b1.js} +2 -2
  946. package/es/{useCurrentKey-55123e83.js.map → useCurrentKey-76e7d7b1.js.map} +1 -1
  947. package/es/{useDatatip-01d7ddeb.js → useDatatip-73566627.js} +4 -4
  948. package/es/{useDatatip-01d7ddeb.js.map → useDatatip-73566627.js.map} +1 -1
  949. package/es/{useDensity-04a01caf.js → useDensity-64ecb649.js} +2 -2
  950. package/es/{useDensity-04a01caf.js.map → useDensity-64ecb649.js.map} +1 -1
  951. package/es/{useFloating-c9278755.js → useFloating-d60cc8b4.js} +2 -2
  952. package/es/{useFloating-c9278755.js.map → useFloating-d60cc8b4.js.map} +1 -1
  953. package/es/{useKeyboardEvents-b02e5fda.js → useKeyboardEvents-5c311766.js} +2 -2
  954. package/es/{useKeyboardEvents-b02e5fda.js.map → useKeyboardEvents-5c311766.js.map} +1 -1
  955. package/es/useLegendContextMenu-926aca66.js +5 -5
  956. package/es/{useMeterDatatip-43e31c05.js → useMeterDatatip-2cedbd5c.js} +3 -3
  957. package/es/{useMeterDatatip-43e31c05.js.map → useMeterDatatip-2cedbd5c.js.map} +1 -1
  958. package/es/{useOutsideClick-388c62bd.js → useOutsideClick-725542a2.js} +2 -2
  959. package/es/{useOutsideClick-388c62bd.js.map → useOutsideClick-725542a2.js.map} +1 -1
  960. package/es/{usePopupAnimation-b4577940.js → usePopupAnimation-340f04b6.js} +2 -2
  961. package/es/{usePopupAnimation-b4577940.js.map → usePopupAnimation-340f04b6.js.map} +1 -1
  962. package/es/{usePrefixSuffix-995d4cda.js → usePrefixSuffix-435a9c59.js} +2 -2
  963. package/es/{usePrefixSuffix-995d4cda.js.map → usePrefixSuffix-435a9c59.js.map} +1 -1
  964. package/es/useReorderableItem-c715c504.js +2 -2
  965. package/es/{useRovingTabIndexContainer-097f96a6.js → useRovingTabIndexContainer-b9833086.js} +2 -2
  966. package/es/{useRovingTabIndexContainer-097f96a6.js.map → useRovingTabIndexContainer-b9833086.js.map} +1 -1
  967. package/es/{useScale-3b323ab2.js → useScale-c86ecc6e.js} +2 -2
  968. package/es/{useScale-3b323ab2.js.map → useScale-c86ecc6e.js.map} +1 -1
  969. package/es/useSelectCommon-7ebc86eb.js +11 -11
  970. package/es/{useSelectDrill-8b53d932.js → useSelectDrill-fbe57d95.js} +3 -3
  971. package/es/{useSelectDrill-8b53d932.js.map → useSelectDrill-fbe57d95.js.map} +1 -1
  972. package/es/{useSelection-7c94a24f.js → useSelection-1e1e89df.js} +2 -2
  973. package/es/{useSelection-7c94a24f.js.map → useSelection-1e1e89df.js.map} +1 -1
  974. package/es/{useSelection-b7c3e75e.js → useSelection-dfbd140d.js} +5 -5
  975. package/es/{useSelection-b7c3e75e.js.map → useSelection-dfbd140d.js.map} +1 -1
  976. package/es/{useSwipe-818b0c1c.js → useSwipe-b5c1b9ad.js} +15 -15
  977. package/es/{useSwipe-818b0c1c.js.map → useSwipe-b5c1b9ad.js.map} +1 -1
  978. package/es/{useTabBar-6c6847ef.js → useTabBar-b826570d.js} +2 -2
  979. package/es/{useTabBar-6c6847ef.js.map → useTabBar-b826570d.js.map} +1 -1
  980. package/es/{useTestId-af32a9eb.js → useTestId-3bc3958c.js} +2 -2
  981. package/es/{useTestId-af32a9eb.js.map → useTestId-3bc3958c.js.map} +1 -1
  982. package/es/{useTheme-73aca0e4.js → useTheme-4b0f211c.js} +2 -2
  983. package/es/{useTheme-73aca0e4.js.map → useTheme-4b0f211c.js.map} +1 -1
  984. package/es/{useThemeInterpolations-4f6cc83c.js → useThemeInterpolations-41ac870d.js} +4 -4
  985. package/es/{useThemeInterpolations-4f6cc83c.js.map → useThemeInterpolations-41ac870d.js.map} +1 -1
  986. package/es/{useTooltip-e258ea41.js → useTooltip-227887ea.js} +2 -2
  987. package/es/{useTooltip-e258ea41.js.map → useTooltip-227887ea.js.map} +1 -1
  988. package/es/{useTooltipControlled-50d5dac9.js → useTooltipControlled-7ccb5919.js} +5 -5
  989. package/es/{useTooltipControlled-50d5dac9.js.map → useTooltipControlled-7ccb5919.js.map} +1 -1
  990. package/es/{useTranslationBundle-6da03e52.js → useTranslationBundle-98df6291.js} +2 -2
  991. package/es/{useTranslationBundle-6da03e52.js.map → useTranslationBundle-98df6291.js.map} +1 -1
  992. package/es/{useUser-bca8cf2d.js → useUser-a15426fc.js} +2 -2
  993. package/es/{useUser-bca8cf2d.js.map → useUser-a15426fc.js.map} +1 -1
  994. package/es/{useVisEvents-cd3616aa.js → useVisEvents-ff4204b5.js} +2 -2
  995. package/es/{useVisEvents-cd3616aa.js.map → useVisEvents-ff4204b5.js.map} +1 -1
  996. package/es/utils/PRIVATE_tooltipUtils.js +13 -13
  997. package/es/utils/PRIVATE_visTestUtils.js +6 -6
  998. package/es/{withDirectionIcon-389870a2.js → withDirectionIcon-90d7c798.js} +2 -2
  999. package/es/{withDirectionIcon-389870a2.js.map → withDirectionIcon-90d7c798.js.map} +1 -1
  1000. package/es/withThemeProps-6545df54.js +2 -2
  1001. package/package.json +2 -2
  1002. package/amd/CardFlexView-9688d264.js +0 -2
  1003. package/amd/CheckboxSet-e523552e.js +0 -2
  1004. package/amd/CheckboxSet-e523552e.js.map +0 -1
  1005. package/amd/CompactLabelAssistance-7db2fde2.js +0 -2
  1006. package/amd/Flex-56ecdf4c.js +0 -2
  1007. package/amd/HighlightText-bd4c0101.js +0 -2
  1008. package/amd/List-3ebac3fc.js +0 -2
  1009. package/amd/LiveRegion-8142ed0d.js +0 -2
  1010. package/amd/LoadMoreCollection-a6adbc3f.js +0 -2
  1011. package/amd/MaxLengthLiveRegion-8954fc30.js +0 -2
  1012. package/amd/SectionedContent-6031f8f7.js +0 -2
  1013. package/amd/SelectorAll-53efae22.js +0 -2
  1014. package/amd/TabBarMixedSeparator-8c278254.js +0 -2
  1015. package/amd/TruncatingText-17a6d4b6.js +0 -2
  1016. package/amd/VirtualizedListView-cf795207.js +0 -2
  1017. package/amd/index-735cad6d.js.map +0 -1
  1018. package/amd/render-4250c759.js +0 -2
  1019. package/amd/tooltipUtils-3b34c2bc.js +0 -2
  1020. package/amd/useCurrentKey-1d869ff4.js +0 -2
  1021. package/amd/useKeyboardEvents-d87e3587.js +0 -2
  1022. package/amd/useMeterDatatip-3abdf66a.js +0 -2
  1023. package/amd/usePopupAnimation-916ff96d.js +0 -2
  1024. package/amd/usePrefixSuffix-09bd5925.js +0 -2
  1025. package/amd/useScale-37d42c9d.js +0 -2
  1026. package/amd/useSelection-e2791513.js +0 -2
  1027. package/amd/useSwipe-9600cd2e.js +0 -2
  1028. package/amd/useThemeInterpolations-b1d98ea4.js +0 -2
  1029. package/amd/useTooltip-6a5fedfa.js +0 -2
  1030. package/cjs/MaxLengthCounter-a5370f66.js +0 -27
  1031. package/cjs/MaxLengthCounter-a5370f66.js.map +0 -1
  1032. package/cjs/TextArea-096f18ad.js.map +0 -1
  1033. package/es/CheckboxSet-569683fe.js +0 -49
  1034. package/es/CheckboxSet-569683fe.js.map +0 -1
  1035. package/es/index-fee93bf9.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCardView-a11e4dec.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 } 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';\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 currentKey,\n isDisabled: onReorder ? false : true,\n draggable: onReorder ? true : false,\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 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} draggable={false}>\n {children}\n {!isDragged && 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 { 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';\n// TODO: add this import due to issue JET-67485, need to update once Stable is introduced\nimport './themes/redwood/BaseCardViewBaseTheme.css';\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 currentKey,\n onCurrentKeyChange,\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 }: 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 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\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 elem?.scrollIntoView({ block: 'nearest' });\n }\n };\n\n // need to track pointer down element to set currentItem when initial focus happens\n const handlePointerDown = (event: PointerEvent) => {\n const key = keyExtractor(event.target as HTMLElement, ITEM_SELECTOR);\n if (isKeyDefined(key)) {\n pendingCurrentKey.current = key as K;\n }\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 if (scrollCurrItemIntoView.current) {\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]);\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 false,\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 // todo: issue track in JET-57952, need a way to show the skeletons in keyboard navigation\n const skeletons =\n data && !data.length && hasMore ? (\n <DefaultLoadMoreSkeletons layout={layout} />\n ) : (\n <LoadMoreSkeletons\n layout={layout}\n colCount={columns}\n totalCount={data?.length || 0}\n cardWidth={cardSize.width}\n cardHeight={cardSize.height}\n />\n );\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 <InitialLoadSkeletons layout={layout} />\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-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\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 { 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>, 'currentKey' | 'onReorder'> & {\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","draggable","ref","itemSelector","isVertical","direction","useUser","isRtl","overlayZoneBeforeClass","classNames","class","itemOverlayFrontEdge","overlayZoneAfterClass","itemOverlayRearEdge","_jsxs","jsxs","_Fragment","Fragment","_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","useEffect","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","jsx","Grid","gridTemplateColumns","Flex","wrap","BaseCardViewSkeletonContainer","isVisible","setIsVisible","useState","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","BaseCardView","forwardRef","data","onLoadMore","hasMore","getRowKey","onCurrentKeyChange","selectedKeys","onSelectionChange","viewportConfig","ariaLabel","ariaLabelledBy","cardSize","useImperativeHandle","anchorKey","pendingCurrentKey","gutterSizePX","layoutProps","isInitialAnimation","ariaMultiSelectable","ariaRowcount","Math","ceil","ariaColcount","isFocusBehaviorValid","validFocusBehavior","scrollCurrItemIntoView","isReorderEnabled","isFetching","isCurrentTabbableKey","tabbableModeProps","useTabbableModeSet","element","keyExtractor","currentKeyProps","useCurrentKey","getPrevNextKeyByCount","showFocusRing","focusRingProps","useCollectionFocusRing","elem","findElementByKey","cell","activeDescendant","getAttribute","setAttribute","scrollIntoView","block","handleSelectionChange","detail","size","values","pop","handleSelectionRangeChange","handleSelectionRange","isArray","eventType","start","end","target","selectionProps","useSelection","isPrev","reorderProps","reorderContext","reorderInstructionsId","reorderInstructions","useReorderable","onDragOver","dragToScroll","useCardViewReorder","reorderAcc","HiddenAccessible","handleLoadMore","getItemContext","selectorRenderer","Selector","onChange","rowKey","selector","containsKey","getViewportConfig","collectionComponent","LoadMoreCollection","loadMoreIndicator","loadMoreThreshold","cardItemContext","itemRenderFunc","initialLoadSkeletons","mergeProps","onFocus","isKeyDefined","firstKey","getFirstVisibleKey","onPointerDown","preventScroll","metaKey","ctrlKey","shiftKey","includes","baseStyle","tabIndex","ReorderableContext","gapWidth","rootWidth","floor","max"],"mappings":"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"}
1
+ {"version":3,"file":"BaseCardView-c5624c8a.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 } 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';\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 currentKey,\n isDisabled: onReorder ? false : true,\n draggable: onReorder ? true : false,\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 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} draggable={false}>\n {children}\n {!isDragged && 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 { 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';\n// TODO: add this import due to issue JET-67485, need to update once Stable is introduced\nimport './themes/redwood/BaseCardViewBaseTheme.css';\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 currentKey,\n onCurrentKeyChange,\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 }: 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 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\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 elem?.scrollIntoView({ block: 'nearest' });\n }\n };\n\n // need to track pointer down element to set currentItem when initial focus happens\n const handlePointerDown = (event: PointerEvent) => {\n const key = keyExtractor(event.target as HTMLElement, ITEM_SELECTOR);\n if (isKeyDefined(key)) {\n pendingCurrentKey.current = key as K;\n }\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 if (scrollCurrItemIntoView.current) {\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]);\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 false,\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 // todo: issue track in JET-57952, need a way to show the skeletons in keyboard navigation\n const skeletons =\n data && !data.length && hasMore ? (\n <DefaultLoadMoreSkeletons layout={layout} />\n ) : (\n <LoadMoreSkeletons\n layout={layout}\n colCount={columns}\n totalCount={data?.length || 0}\n cardWidth={cardSize.width}\n cardHeight={cardSize.height}\n />\n );\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 <InitialLoadSkeletons layout={layout} />\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-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\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 { 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>, 'currentKey' | 'onReorder'> & {\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","draggable","ref","itemSelector","isVertical","direction","useUser","isRtl","overlayZoneBeforeClass","classNames","class","itemOverlayFrontEdge","overlayZoneAfterClass","itemOverlayRearEdge","_jsxs","jsxs","_Fragment","Fragment","_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","useEffect","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","jsx","Grid","gridTemplateColumns","Flex","wrap","BaseCardViewSkeletonContainer","isVisible","setIsVisible","useState","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","BaseCardView","forwardRef","data","onLoadMore","hasMore","getRowKey","onCurrentKeyChange","selectedKeys","onSelectionChange","viewportConfig","ariaLabel","ariaLabelledBy","cardSize","useImperativeHandle","anchorKey","pendingCurrentKey","gutterSizePX","layoutProps","isInitialAnimation","ariaMultiSelectable","ariaRowcount","Math","ceil","ariaColcount","isFocusBehaviorValid","validFocusBehavior","scrollCurrItemIntoView","isReorderEnabled","isFetching","isCurrentTabbableKey","tabbableModeProps","useTabbableModeSet","element","keyExtractor","currentKeyProps","useCurrentKey","getPrevNextKeyByCount","showFocusRing","focusRingProps","useCollectionFocusRing","elem","findElementByKey","cell","activeDescendant","getAttribute","setAttribute","scrollIntoView","block","handleSelectionChange","detail","size","values","pop","handleSelectionRangeChange","handleSelectionRange","isArray","eventType","start","end","target","selectionProps","useSelection","isPrev","reorderProps","reorderContext","reorderInstructionsId","reorderInstructions","useReorderable","onDragOver","dragToScroll","useCardViewReorder","reorderAcc","HiddenAccessible","handleLoadMore","getItemContext","selectorRenderer","Selector","onChange","rowKey","selector","containsKey","getViewportConfig","collectionComponent","LoadMoreCollection","loadMoreIndicator","loadMoreThreshold","cardItemContext","itemRenderFunc","initialLoadSkeletons","mergeProps","onFocus","isKeyDefined","firstKey","getFirstVisibleKey","onPointerDown","preventScroll","metaKey","ctrlKey","shiftKey","includes","baseStyle","tabIndex","ReorderableContext","gapWidth","rootWidth","floor","max"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', '@testing-library/preact', '@testing-library/user-event', 'chai', './resources/nls/en/bundle', './clientHints-030d25aa', './Text-e132dec0', './View-ce970ed7', './Flex-56ecdf4c', './LayerHost-e95c5f30', './EnvironmentProvider-8f6fc388', './Center-b449a95c', './DragHandle-e4959d2b', './Button-89a64825', './Avatar-27526b67'], (function(e,t,a,i,r,c,s,l,n,d,u,o,p,x,g,f){"use strict";function b(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var y=b(i);const w=(e,t)=>[...Array(e)].map(((e,a)=>({id:t?a:`${a}`,name:`Employee ${a}`,title:`Employee title ${a}`,initials:`E${a}`}))),q=async()=>a.screen.findByRole("grid"),A=async(e="row")=>a.screen.findAllByRole(e),h=async(e="gridcell")=>a.screen.findAllByRole(e),k=(e,t)=>{a.fireEvent.click(e,t)},m=(e,t)=>{a.fireEvent.keyDown(e,{key:t,code:t,shiftKey:!0,metaKey:!0})};e.CardContent=({context:e,showButton:a,isReorderEnabled:i})=>{const r=i&&t.jsx(o.RootEnvironmentProvider,{environment:{mode:"test"},children:t.jsx(p.Center,{children:t.jsx(x.DragHandle,{testId:`drag-icon-${e.metadata.key}`})})}),c=a&&t.jsx(n.View,{paddingBlockStart:"1x",children:t.jsxs(d.Flex,{direction:"row",wrap:"wrap",gap:"1x",width:"100%",children:[t.jsx(g.Button,{variant:"outlined",size:"md",label:"A"}),t.jsx(g.Button,{variant:"outlined",size:"md",label:"B"})]})});return t.jsxs(n.View,{padding:"6px",children:[r,t.jsxs(n.View,{padding:"10px",paddingBlockEnd:0,children:[t.jsx(f.Avatar,{initials:e.data.initials,size:"xl"}),t.jsxs(n.View,{paddingBlockStart:"2x",children:[t.jsx(l.Text,{variant:"primary",size:"md",lineClamp:1,children:e.data.name}),t.jsx(l.Text,{variant:"secondary",size:"md",lineClamp:1,children:e.data.title})]})]}),t.jsxs(n.View,{padding:"10px",paddingBlockStart:0,children:[c,e.selector?.()]})]})},e.getItems=A,e.getRoot=q,e.keyboardReorder=m,e.mouseItemSelection=k,e.populateData=w,e.testRender=({GenericCardGrid:e,ActionCardGrid:i,SelectionCardGrid:l,ContentUpdatableCardGrid:n})=>{it("initial render",(async function(){const i=w(100);a.render(t.jsx(e,{data:i}));const c=await A("gridcell");r.expect(c.length).eq(25)})),it("checking key type - string key",(async()=>{const i=w(3);a.render(t.jsx(e,{data:i}));const c=await A("gridcell");r.expect(void 0===c[0].dataset.ojKeyType).eq(!0),r.expect(void 0===c[1].dataset.ojKeyType).eq(!0),r.expect(void 0===c[2].dataset.ojKeyType).eq(!0)})),it("checking key type - numeric key",(async()=>{const i=w(3,!0);a.render(t.jsx(e,{data:i}));const c=await A("gridcell");r.expect(c[0].dataset.ojKeyType).eq("number"),r.expect(c[1].dataset.ojKeyType).eq("number"),r.expect(c[2].dataset.ojKeyType).eq("number")})),it("aria attributes - multiselectable and selected, selectionMode is none",(async()=>{const e=w(2);a.render(t.jsx(l,{data:e}));const i=await A("gridcell"),c=await q();r.expect(c.getAttribute("aria-multiselectable")).eq(null),r.expect(i[0].getAttribute("aria-selected")).eq(null),r.expect(i[1].getAttribute("aria-selected")).eq(null)})),it("aria attributes - multiselectable and selected, selectionMode is single",(async()=>{const e=w(2);a.render(t.jsx(l,{data:e,selectionMode:"single",selectedKeys:new Set(["1"])}));const i=await A("gridcell"),c=await q();r.expect(c.getAttribute("aria-multiselectable")).eq("false"),r.expect(i[0].getAttribute("aria-selected")).eq("false"),r.expect(i[1].getAttribute("aria-selected")).eq("true")})),it("aria attributes - multiselectable and selected, selectionMode is multiple",(async()=>{const e=w(3);a.render(t.jsx(l,{data:e,selectionMode:"multiple",selectedKeys:new Set(["1","2"])}));const i=await A("gridcell"),c=await q();r.expect(c.getAttribute("aria-multiselectable")).eq("true"),r.expect(i[0].getAttribute("aria-selected")).eq("false"),r.expect(i[1].getAttribute("aria-selected")).eq("true"),r.expect(i[2].getAttribute("aria-selected")).eq("true")})),"undefined"==typeof jest&&(it("content focusBehavior - valid case",(async()=>{const e=w(3);a.render(t.jsx(i,{data:e}));const c=await A("gridcell");await y.default.tab(),await a.waitFor((()=>{r.expect(c[0].matches(":focus-within")).to.be.true}))})),it("content focusBehavior - invalid case",(async()=>{const e=w(3);a.render(t.jsx(i,{data:e,showButton:!0}));const c=await q();await y.default.tab(),await a.waitFor((()=>{r.expect(c.matches(":focus")).to.be.true}))}))),it("memoization - update memoized children",(async()=>{const e=w(3),{queryByTestId:i}=a.render(t.jsx(n,{data:e})),c=i(e[0].id),s=i(e[1].id),l=i(e[2].id);r.expect(c?.innerHTML,"the 1st item initial count should be 0").eq("0"),r.expect(s?.innerHTML,"the 2nd item initial count should be 0").eq("0"),r.expect(l?.innerHTML,"the 3rd item initial count should be 0").eq("0");const d=i("mybutton");await y.default.click(d),r.expect(c?.innerHTML,"the 1st item new count should be 1").eq("1"),r.expect(s?.innerHTML,"the 2nd item new count should be 1").eq("1"),r.expect(l?.innerHTML,"the 3rd item new count should be 1").eq("1")})),it("reorder - fire Drag and Drop Event",(async()=>{const i=w(5),{queryByTestId:c}=a.render(t.jsx(e,{data:i,isReorderEnabled:!0}));let s=await A("gridcell");const l=s.length,n=c("drag-icon-0"),d=c("drag-icon-2"),u=s[0];var o,p;o=n,p=d,a.fireEvent.dragStart(o),a.fireEvent.dragEnter(p),a.fireEvent.drop(p),a.fireEvent.dragEnd(o),await a.waitFor((async()=>{s=await A("gridcell");const e=s[2];r.expect(u).equals(e),r.expect(s.length).equal(l)}))})),it("reorder - reorder the first item to right using keyboard",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,isReorderEnabled:!0}));const c=await q();let s=await A("gridcell");const l=s.length,n=s[0];k(n),m(c,"ArrowLeft"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[0];r.expect(n).equals(e),r.expect(s.length).equal(l)})),m(c,"ArrowRight"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[1];r.expect(n).equals(e),r.expect(s.length).equal(l)})),m(c,"ArrowRight"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[2];r.expect(n).equals(e),r.expect(s.length).equal(l)}))})),it("reorder - reorder the last item to left using keyboard",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,isReorderEnabled:!0}));const c=await q();let s=await A("gridcell");const l=s.length,n=s[s.length-1];k(n),m(c,"ArrowRight"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[s.length-1];r.expect(n).equals(e),r.expect(s.length).equal(l)})),m(c,"ArrowLeft"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[s.length-2];r.expect(n).equals(e),r.expect(s.length).equal(l)})),m(c,"ArrowLeft"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[s.length-3];r.expect(n).equals(e),r.expect(s.length).equal(l)}))})),"undefined"==typeof jest&&it("reorder - instruction text should exist when reorder is enabled",(async()=>{const{deviceType:i,platform:l}=s.getClientHints(),n="windows"===l?c.default.accControlKey():c.default.accCommandKey(),d="phone"===i||"tablet"===i?"":c.default.accReorderInstructions({keyPressed:n}),u=w(3),{rerender:o}=a.render(t.jsx(e,{data:u,isReorderEnabled:!0}));let p=a.screen.queryByText(d);r.expect(p).not.to.be.null,o(t.jsx(e,{data:u})),p=a.screen.queryByText(d),r.expect(p).to.be.null})),"undefined"==typeof jest&&it("scroll into view - when cardview regains focus",(async()=>{const i=w(10);a.render(t.jsx(e,{data:i,initialCurrentKey:i[9].id}));const c=await q();await a.waitFor((()=>{r.expect(c.scrollTop).to.greaterThanOrEqual(450)})),c.scrollTop=0,await a.waitFor((()=>{r.expect(c.scrollTop).to.eq(0)})),c.focus(),await a.waitFor((()=>{r.expect(c.scrollTop).to.greaterThanOrEqual(450)}))})),"undefined"==typeof jest&&it("load more on scroll - should fetch data once during keyboard navigation",(async()=>{const i=w(21);a.render(t.jsx(e,{data:i,fetchSize:7}));let c=await A("gridcell");const s=c[3];await y.default.click(s);const l=await q();r.expect(l.matches(":focus")).to.be.true,a.fireEvent.keyDown(l,{key:"ArrowDown"}),await a.waitFor((async()=>{c=await A("gridcell"),r.expect(c.length).to.eq(14)}));try{await a.waitFor((async()=>{c=await A("gridcell"),r.expect(c.length).to.eq(21)}))}catch(e){r.expect(e).not.null}}),6e3)},e.testSelectionRender=({SelectionCardGrid:e})=>{it("multiple selection - multiple selected items can be preserved",(async()=>{const i=w(3);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[0]),k(c[1]),await a.waitFor((()=>{r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true")}))})),it("range selection - space and then shift+space",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.keyUp(s[0],{key:" "}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("false"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyUp(s[2],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - click and then shift+space",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();k(s[0]),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("false"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyUp(s[2],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - space and then shift+click",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.keyUp(s[0],{key:" "}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("false"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),k(s[2],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - click and then shift+click",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[0]),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("false"),r.expect(c[2].getAttribute("aria-selected")).eq("false"),r.expect(c[3].getAttribute("aria-selected")).eq("false"),k(c[2],{shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("false")})),it("range selection - from current item to shift+click item",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[2],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - from current item to shift+arrow items",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - from current item to shift+click and then shift+click",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[1],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.click(s[3],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")})),it("range selection - from current item to shift+click and then shift+arrow ",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[1],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")})),it("range selection - from current item to shift+click and then shift+space",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[1],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyUp(s[3],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("false"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")})),it("range selection - from current item to shift+arrow and then shift+click",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[0]),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.click(s[3],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")})),it("range selection - from current item to shift+arrow and then shift+arrow",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("false"),r.expect(s[1].getAttribute("aria-selected")).eq("false"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")})),it("range selection - from current item to shift+arrow and then shift+space",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[0]),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),await a.waitFor((()=>{r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),a.fireEvent.keyUp(s[3],{key:" ",shiftKey:!0}),await a.waitFor((()=>{r.expect(s[0].getAttribute("aria-selected")).eq("false"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")}))})),it("range selection - from current item to shift+space and then shift+space",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.keyUp(s[0],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("false"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyDown(c,{key:"ArrowDown"}),a.fireEvent.keyDown(c,{key:"ArrowDown"}),a.fireEvent.keyUp(s[2],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - shift+space and then shift+space",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[0]),a.fireEvent.keyUp(c[2],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("false"),r.expect(c[4].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyUp(c[4],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("true"),r.expect(c[4].getAttribute("aria-selected")).eq("true")})),it("range selection - deselect selected item by shift+space",(async()=>{const i=w(3);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[0]),a.fireEvent.keyUp(c[2],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),a.fireEvent.keyUp(c[1],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("false"),r.expect(c[2].getAttribute("aria-selected")).eq("true")})),it("range selection backward - shift+space and then shift+space",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[2]),a.fireEvent.keyUp(c[0],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("false"),r.expect(c[4].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyUp(c[4],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("false"),r.expect(c[1].getAttribute("aria-selected")).eq("false"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("true"),r.expect(c[4].getAttribute("aria-selected")).eq("true")})),it("range selection backward - shift+click and then shift+space",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[2]),k(c[0],{shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("false"),r.expect(c[4].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyUp(c[4],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("true"),r.expect(c[4].getAttribute("aria-selected")).eq("true")})),it("range selection backward - shift+arrow and then shift+space",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();k(s[2]),a.fireEvent.keyDown(c,{key:"ArrowLeft",shiftKey:!0}),a.fireEvent.keyDown(c,{key:"ArrowLeft",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),r.expect(s[4].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyUp(s[4],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true"),r.expect(s[4].getAttribute("aria-selected")).eq("true")}))}}));
2
- //# sourceMappingURL=BaseCardViewSelectionTest-9627e4ab.js.map
1
+ define(['exports', 'preact/jsx-runtime', '@testing-library/preact', '@testing-library/user-event', 'chai', './resources/nls/en/bundle', './clientHints-030d25aa', './Text-e132dec0', './View-bd5c7fa7', './Flex-3421f0df', './LayerHost-639b3284', './EnvironmentProvider-c0e1e39b', './Center-9ec5524e', './DragHandle-e4959d2b', './Button-89a64825', './Avatar-27526b67'], (function(e,t,a,i,r,c,s,l,n,d,u,o,p,x,g,f){"use strict";function b(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var y=b(i);const w=(e,t)=>[...Array(e)].map(((e,a)=>({id:t?a:`${a}`,name:`Employee ${a}`,title:`Employee title ${a}`,initials:`E${a}`}))),q=async()=>a.screen.findByRole("grid"),A=async(e="row")=>a.screen.findAllByRole(e),h=async(e="gridcell")=>a.screen.findAllByRole(e),k=(e,t)=>{a.fireEvent.click(e,t)},m=(e,t)=>{a.fireEvent.keyDown(e,{key:t,code:t,shiftKey:!0,metaKey:!0})};e.CardContent=({context:e,showButton:a,isReorderEnabled:i})=>{const r=i&&t.jsx(o.RootEnvironmentProvider,{environment:{mode:"test"},children:t.jsx(p.Center,{children:t.jsx(x.DragHandle,{testId:`drag-icon-${e.metadata.key}`})})}),c=a&&t.jsx(n.View,{paddingBlockStart:"1x",children:t.jsxs(d.Flex,{direction:"row",wrap:"wrap",gap:"1x",width:"100%",children:[t.jsx(g.Button,{variant:"outlined",size:"md",label:"A"}),t.jsx(g.Button,{variant:"outlined",size:"md",label:"B"})]})});return t.jsxs(n.View,{padding:"6px",children:[r,t.jsxs(n.View,{padding:"10px",paddingBlockEnd:0,children:[t.jsx(f.Avatar,{initials:e.data.initials,size:"xl"}),t.jsxs(n.View,{paddingBlockStart:"2x",children:[t.jsx(l.Text,{variant:"primary",size:"md",lineClamp:1,children:e.data.name}),t.jsx(l.Text,{variant:"secondary",size:"md",lineClamp:1,children:e.data.title})]})]}),t.jsxs(n.View,{padding:"10px",paddingBlockStart:0,children:[c,e.selector?.()]})]})},e.getItems=A,e.getRoot=q,e.keyboardReorder=m,e.mouseItemSelection=k,e.populateData=w,e.testRender=({GenericCardGrid:e,ActionCardGrid:i,SelectionCardGrid:l,ContentUpdatableCardGrid:n})=>{it("initial render",(async function(){const i=w(100);a.render(t.jsx(e,{data:i}));const c=await A("gridcell");r.expect(c.length).eq(25)})),it("checking key type - string key",(async()=>{const i=w(3);a.render(t.jsx(e,{data:i}));const c=await A("gridcell");r.expect(void 0===c[0].dataset.ojKeyType).eq(!0),r.expect(void 0===c[1].dataset.ojKeyType).eq(!0),r.expect(void 0===c[2].dataset.ojKeyType).eq(!0)})),it("checking key type - numeric key",(async()=>{const i=w(3,!0);a.render(t.jsx(e,{data:i}));const c=await A("gridcell");r.expect(c[0].dataset.ojKeyType).eq("number"),r.expect(c[1].dataset.ojKeyType).eq("number"),r.expect(c[2].dataset.ojKeyType).eq("number")})),it("aria attributes - multiselectable and selected, selectionMode is none",(async()=>{const e=w(2);a.render(t.jsx(l,{data:e}));const i=await A("gridcell"),c=await q();r.expect(c.getAttribute("aria-multiselectable")).eq(null),r.expect(i[0].getAttribute("aria-selected")).eq(null),r.expect(i[1].getAttribute("aria-selected")).eq(null)})),it("aria attributes - multiselectable and selected, selectionMode is single",(async()=>{const e=w(2);a.render(t.jsx(l,{data:e,selectionMode:"single",selectedKeys:new Set(["1"])}));const i=await A("gridcell"),c=await q();r.expect(c.getAttribute("aria-multiselectable")).eq("false"),r.expect(i[0].getAttribute("aria-selected")).eq("false"),r.expect(i[1].getAttribute("aria-selected")).eq("true")})),it("aria attributes - multiselectable and selected, selectionMode is multiple",(async()=>{const e=w(3);a.render(t.jsx(l,{data:e,selectionMode:"multiple",selectedKeys:new Set(["1","2"])}));const i=await A("gridcell"),c=await q();r.expect(c.getAttribute("aria-multiselectable")).eq("true"),r.expect(i[0].getAttribute("aria-selected")).eq("false"),r.expect(i[1].getAttribute("aria-selected")).eq("true"),r.expect(i[2].getAttribute("aria-selected")).eq("true")})),"undefined"==typeof jest&&(it("content focusBehavior - valid case",(async()=>{const e=w(3);a.render(t.jsx(i,{data:e}));const c=await A("gridcell");await y.default.tab(),await a.waitFor((()=>{r.expect(c[0].matches(":focus-within")).to.be.true}))})),it("content focusBehavior - invalid case",(async()=>{const e=w(3);a.render(t.jsx(i,{data:e,showButton:!0}));const c=await q();await y.default.tab(),await a.waitFor((()=>{r.expect(c.matches(":focus")).to.be.true}))}))),it("memoization - update memoized children",(async()=>{const e=w(3),{queryByTestId:i}=a.render(t.jsx(n,{data:e})),c=i(e[0].id),s=i(e[1].id),l=i(e[2].id);r.expect(c?.innerHTML,"the 1st item initial count should be 0").eq("0"),r.expect(s?.innerHTML,"the 2nd item initial count should be 0").eq("0"),r.expect(l?.innerHTML,"the 3rd item initial count should be 0").eq("0");const d=i("mybutton");await y.default.click(d),r.expect(c?.innerHTML,"the 1st item new count should be 1").eq("1"),r.expect(s?.innerHTML,"the 2nd item new count should be 1").eq("1"),r.expect(l?.innerHTML,"the 3rd item new count should be 1").eq("1")})),it("reorder - fire Drag and Drop Event",(async()=>{const i=w(5),{queryByTestId:c}=a.render(t.jsx(e,{data:i,isReorderEnabled:!0}));let s=await A("gridcell");const l=s.length,n=c("drag-icon-0"),d=c("drag-icon-2"),u=s[0];var o,p;o=n,p=d,a.fireEvent.dragStart(o),a.fireEvent.dragEnter(p),a.fireEvent.drop(p),a.fireEvent.dragEnd(o),await a.waitFor((async()=>{s=await A("gridcell");const e=s[2];r.expect(u).equals(e),r.expect(s.length).equal(l)}))})),it("reorder - reorder the first item to right using keyboard",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,isReorderEnabled:!0}));const c=await q();let s=await A("gridcell");const l=s.length,n=s[0];k(n),m(c,"ArrowLeft"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[0];r.expect(n).equals(e),r.expect(s.length).equal(l)})),m(c,"ArrowRight"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[1];r.expect(n).equals(e),r.expect(s.length).equal(l)})),m(c,"ArrowRight"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[2];r.expect(n).equals(e),r.expect(s.length).equal(l)}))})),it("reorder - reorder the last item to left using keyboard",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,isReorderEnabled:!0}));const c=await q();let s=await A("gridcell");const l=s.length,n=s[s.length-1];k(n),m(c,"ArrowRight"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[s.length-1];r.expect(n).equals(e),r.expect(s.length).equal(l)})),m(c,"ArrowLeft"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[s.length-2];r.expect(n).equals(e),r.expect(s.length).equal(l)})),m(c,"ArrowLeft"),await a.waitFor((async()=>{s=await A("gridcell");const e=s[s.length-3];r.expect(n).equals(e),r.expect(s.length).equal(l)}))})),"undefined"==typeof jest&&it("reorder - instruction text should exist when reorder is enabled",(async()=>{const{deviceType:i,platform:l}=s.getClientHints(),n="windows"===l?c.default.accControlKey():c.default.accCommandKey(),d="phone"===i||"tablet"===i?"":c.default.accReorderInstructions({keyPressed:n}),u=w(3),{rerender:o}=a.render(t.jsx(e,{data:u,isReorderEnabled:!0}));let p=a.screen.queryByText(d);r.expect(p).not.to.be.null,o(t.jsx(e,{data:u})),p=a.screen.queryByText(d),r.expect(p).to.be.null})),"undefined"==typeof jest&&it("scroll into view - when cardview regains focus",(async()=>{const i=w(10);a.render(t.jsx(e,{data:i,initialCurrentKey:i[9].id}));const c=await q();await a.waitFor((()=>{r.expect(c.scrollTop).to.greaterThanOrEqual(450)})),c.scrollTop=0,await a.waitFor((()=>{r.expect(c.scrollTop).to.eq(0)})),c.focus(),await a.waitFor((()=>{r.expect(c.scrollTop).to.greaterThanOrEqual(450)}))})),"undefined"==typeof jest&&it("load more on scroll - should fetch data once during keyboard navigation",(async()=>{const i=w(21);a.render(t.jsx(e,{data:i,fetchSize:7}));let c=await A("gridcell");const s=c[3];await y.default.click(s);const l=await q();r.expect(l.matches(":focus")).to.be.true,a.fireEvent.keyDown(l,{key:"ArrowDown"}),await a.waitFor((async()=>{c=await A("gridcell"),r.expect(c.length).to.eq(14)}));try{await a.waitFor((async()=>{c=await A("gridcell"),r.expect(c.length).to.eq(21)}))}catch(e){r.expect(e).not.null}}),6e3)},e.testSelectionRender=({SelectionCardGrid:e})=>{it("multiple selection - multiple selected items can be preserved",(async()=>{const i=w(3);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[0]),k(c[1]),await a.waitFor((()=>{r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true")}))})),it("range selection - space and then shift+space",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.keyUp(s[0],{key:" "}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("false"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyUp(s[2],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - click and then shift+space",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();k(s[0]),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("false"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyUp(s[2],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - space and then shift+click",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.keyUp(s[0],{key:" "}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("false"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),k(s[2],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - click and then shift+click",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[0]),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("false"),r.expect(c[2].getAttribute("aria-selected")).eq("false"),r.expect(c[3].getAttribute("aria-selected")).eq("false"),k(c[2],{shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("false")})),it("range selection - from current item to shift+click item",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[2],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - from current item to shift+arrow items",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - from current item to shift+click and then shift+click",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[1],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.click(s[3],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")})),it("range selection - from current item to shift+click and then shift+arrow ",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[1],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")})),it("range selection - from current item to shift+click and then shift+space",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[1],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyUp(s[3],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("false"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")})),it("range selection - from current item to shift+arrow and then shift+click",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[0]),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.click(s[3],{shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")})),it("range selection - from current item to shift+arrow and then shift+arrow",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyDown(c,{key:"ArrowRight"}),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("false"),r.expect(s[1].getAttribute("aria-selected")).eq("false"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")})),it("range selection - from current item to shift+arrow and then shift+space",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.click(s[0]),a.fireEvent.keyDown(c,{key:"ArrowRight",shiftKey:!0}),await a.waitFor((()=>{r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),a.fireEvent.keyUp(s[3],{key:" ",shiftKey:!0}),await a.waitFor((()=>{r.expect(s[0].getAttribute("aria-selected")).eq("false"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true")}))})),it("range selection - from current item to shift+space and then shift+space",(async()=>{const i=w(4);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();await y.default.tab(),r.expect(c.matches(":focus")).to.be.true,a.fireEvent.keyUp(s[0],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("false"),r.expect(s[2].getAttribute("aria-selected")).eq("false"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyDown(c,{key:"ArrowDown"}),a.fireEvent.keyDown(c,{key:"ArrowDown"}),a.fireEvent.keyUp(s[2],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false")})),it("range selection - shift+space and then shift+space",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[0]),a.fireEvent.keyUp(c[2],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("false"),r.expect(c[4].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyUp(c[4],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("true"),r.expect(c[4].getAttribute("aria-selected")).eq("true")})),it("range selection - deselect selected item by shift+space",(async()=>{const i=w(3);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[0]),a.fireEvent.keyUp(c[2],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),a.fireEvent.keyUp(c[1],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("false"),r.expect(c[2].getAttribute("aria-selected")).eq("true")})),it("range selection backward - shift+space and then shift+space",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[2]),a.fireEvent.keyUp(c[0],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("false"),r.expect(c[4].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyUp(c[4],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("false"),r.expect(c[1].getAttribute("aria-selected")).eq("false"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("true"),r.expect(c[4].getAttribute("aria-selected")).eq("true")})),it("range selection backward - shift+click and then shift+space",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await h();k(c[2]),k(c[0],{shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("false"),r.expect(c[4].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyUp(c[4],{key:" ",shiftKey:!0}),r.expect(c[0].getAttribute("aria-selected")).eq("true"),r.expect(c[1].getAttribute("aria-selected")).eq("true"),r.expect(c[2].getAttribute("aria-selected")).eq("true"),r.expect(c[3].getAttribute("aria-selected")).eq("true"),r.expect(c[4].getAttribute("aria-selected")).eq("true")})),it("range selection backward - shift+arrow and then shift+space",(async()=>{const i=w(5);a.render(t.jsx(e,{data:i,selectionMode:"multiple"}));const c=await q(),s=await h();k(s[2]),a.fireEvent.keyDown(c,{key:"ArrowLeft",shiftKey:!0}),a.fireEvent.keyDown(c,{key:"ArrowLeft",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("false"),r.expect(s[4].getAttribute("aria-selected")).eq("false"),a.fireEvent.keyUp(s[4],{key:" ",shiftKey:!0}),r.expect(s[0].getAttribute("aria-selected")).eq("true"),r.expect(s[1].getAttribute("aria-selected")).eq("true"),r.expect(s[2].getAttribute("aria-selected")).eq("true"),r.expect(s[3].getAttribute("aria-selected")).eq("true"),r.expect(s[4].getAttribute("aria-selected")).eq("true")}))}}));
2
+ //# sourceMappingURL=BaseCardViewSelectionTest-b80dd91b.js.map