@oracle/oraclejet-preact 18.0.4 → 18.0.6
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.
- package/amd/{BaseCardView-ab799b69.js → BaseCardView-70b177ed.js} +2 -2
- package/amd/{BaseCardView-ab799b69.js.map → BaseCardView-70b177ed.js.map} +1 -1
- package/amd/CardFlexView-bb5c4369.js +2 -0
- package/amd/{CardFlexView-296f97f5.js.map → CardFlexView-bb5c4369.js.map} +1 -1
- package/amd/{CardGridView-054ffc3f.js → CardGridView-c28ff2f7.js} +2 -2
- package/amd/{CardGridView-054ffc3f.js.map → CardGridView-c28ff2f7.js.map} +1 -1
- package/amd/ExpandableList-dd3a05b4.js +1 -1
- package/amd/GroupLoadingIndicator-6b2ab709.js +1 -1
- package/amd/{Indexer-1531dbc3.js → Indexer-357554c4.js} +2 -2
- package/amd/{Indexer-1531dbc3.js.map → Indexer-357554c4.js.map} +1 -1
- package/amd/InputDatePicker-fc39f0a6.js +2 -0
- package/amd/{InputDatePicker-18e2546b.js.map → InputDatePicker-fc39f0a6.js.map} +1 -1
- package/amd/{LineAreaChart-d0941475.js → LineAreaChart-4140d004.js} +2 -2
- package/amd/{LineAreaChart-d0941475.js.map → LineAreaChart-4140d004.js.map} +1 -1
- package/amd/List-04c4fed0.js +2 -0
- package/amd/{List-0b764e84.js.map → List-04c4fed0.js.map} +1 -1
- package/amd/{ListView-5bb45f81.js → ListView-bf740071.js} +2 -2
- package/amd/{ListView-5bb45f81.js.map → ListView-bf740071.js.map} +1 -1
- package/amd/LoadMoreCollection-a6adbc3f.js +2 -0
- package/amd/{LoadMoreCollection-83413a59.js.map → LoadMoreCollection-a6adbc3f.js.map} +1 -1
- package/amd/NavigationListItem-044a79fd.js +2 -0
- package/amd/{NavigationListItem-021b2d58.js.map → NavigationListItem-044a79fd.js.map} +1 -1
- package/amd/{OverflowTabBar-ea3a4742.js → OverflowTabBar-339f34cf.js} +2 -2
- package/amd/{OverflowTabBar-ea3a4742.js.map → OverflowTabBar-339f34cf.js.map} +1 -1
- package/amd/{OverflowTabBarItem-763773c9.js → OverflowTabBarItem-c59db4a2.js} +2 -2
- package/amd/{OverflowTabBarItem-763773c9.js.map → OverflowTabBarItem-c59db4a2.js.map} +1 -1
- package/amd/PRIVATE_BaseCardView.js +1 -1
- package/amd/PRIVATE_List.js +1 -1
- package/amd/PRIVATE_LoadMoreCollection.js +1 -1
- package/amd/PRIVATE_SelectCommon.js +1 -1
- package/amd/PRIVATE_Table.js +1 -1
- package/amd/PRIVATE_VirtualizedCollection.js +1 -1
- package/amd/{SelectMultiple-7e9bd455.js → SelectMultiple-e3a6732b.js} +2 -2
- package/amd/{SelectMultiple-7e9bd455.js.map → SelectMultiple-e3a6732b.js.map} +1 -1
- package/amd/{SelectSingle-466bcd67.js → SelectSingle-9d0dca8f.js} +2 -2
- package/amd/{SelectSingle-466bcd67.js.map → SelectSingle-9d0dca8f.js.map} +1 -1
- package/amd/{Table-87f7e3c4.js → Table-31cc83c6.js} +2 -2
- package/amd/{Table-87f7e3c4.js.map → Table-31cc83c6.js.map} +1 -1
- package/amd/{TableView-2b884e2c.js → TableView-ab5d0c12.js} +2 -2
- package/amd/{TableView-2b884e2c.js.map → TableView-ab5d0c12.js.map} +1 -1
- package/amd/Theme-redwood/theme.css +149 -149
- package/amd/Theme-stable/theme.css +277 -277
- package/amd/UNSAFE_CardFlexView.js +1 -1
- package/amd/UNSAFE_CardGridView.js +1 -1
- package/amd/UNSAFE_ExpandableList.js +1 -1
- package/amd/UNSAFE_Indexer.js +1 -1
- package/amd/UNSAFE_InputDatePicker.js +1 -1
- package/amd/UNSAFE_LineAreaChart.js +1 -1
- package/amd/UNSAFE_ListView.js +1 -1
- package/amd/UNSAFE_NavigationList.js +1 -1
- package/amd/UNSAFE_OverflowTabBar.js +1 -1
- package/amd/UNSAFE_SelectMultiple.js +1 -1
- package/amd/UNSAFE_SelectSingle.js +1 -1
- package/amd/UNSAFE_TabBar.js +1 -1
- package/amd/UNSAFE_TabBarCommon.js +1 -1
- package/amd/UNSAFE_TabBarMixed.js +1 -1
- package/amd/UNSAFE_TableView.js +1 -1
- package/amd/UNSAFE_VirtualizedListView.js +1 -1
- package/amd/{VirtualizedCollection-897516a5.js → VirtualizedCollection-63223f5e.js} +2 -2
- package/amd/{VirtualizedCollection-897516a5.js.map → VirtualizedCollection-63223f5e.js.map} +1 -1
- package/amd/{VirtualizedListView-cbe87ec2.js → VirtualizedListView-554eaee6.js} +2 -2
- package/amd/{VirtualizedListView-cbe87ec2.js.map → VirtualizedListView-554eaee6.js.map} +1 -1
- package/amd/{useSelectCommon-d9c4a7bd.js → useSelectCommon-e7f123ce.js} +2 -2
- package/amd/{useSelectCommon-d9c4a7bd.js.map → useSelectCommon-e7f123ce.js.map} +1 -1
- package/cjs/{BarChart-93a3813c.js → BarChart-ca7f8ed5.js} +2 -2
- package/cjs/{BarChart-93a3813c.js.map → BarChart-ca7f8ed5.js.map} +1 -1
- package/cjs/{Chart-40d95d14.js → Chart-fbbd3329.js} +2 -2
- package/cjs/{Chart-40d95d14.js.map → Chart-fbbd3329.js.map} +1 -1
- package/cjs/CheckboxSet-1bdbc419.js +53 -0
- package/cjs/CheckboxSet-1bdbc419.js.map +1 -0
- package/cjs/{ComboChart-cffd0759.js → ComboChart-95863e7a.js} +2 -2
- package/cjs/{ComboChart-cffd0759.js.map → ComboChart-95863e7a.js.map} +1 -1
- package/cjs/{LineAreaChart-57408e94.js → LineAreaChart-46dde5d3.js} +3 -3
- package/cjs/{LineAreaChart-57408e94.js.map → LineAreaChart-46dde5d3.js.map} +1 -1
- package/cjs/PRIVATE_Chart.js +4 -4
- package/cjs/{ScatterChart-763e1f3e.js → ScatterChart-0497f41a.js} +2 -2
- package/cjs/{ScatterChart-763e1f3e.js.map → ScatterChart-0497f41a.js.map} +1 -1
- package/cjs/Theme-redwood/theme.css +242 -242
- package/cjs/Theme-stable/theme.css +295 -295
- package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +5 -5
- package/cjs/UNSAFE_BarChart.js +5 -5
- package/cjs/UNSAFE_CheckboxItem.js +81 -30
- package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
- package/cjs/UNSAFE_CheckboxSet.js +15 -44
- package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_ComboChart.js +5 -5
- package/cjs/UNSAFE_LineAreaChart.js +5 -5
- package/cjs/UNSAFE_RichCheckboxSet.js +15 -13
- package/cjs/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_RichSelectionItem.js +181 -44
- package/cjs/UNSAFE_RichSelectionItem.js.map +1 -1
- package/cjs/UNSAFE_ScatterChart.js +5 -5
- package/es/ActionCard-e64b1771.js +1 -1
- package/es/{BarChart-dd37d569.js → BarChart-a3209793.js} +3 -3
- package/es/{BarChart-dd37d569.js.map → BarChart-a3209793.js.map} +1 -1
- package/es/BarGroup-740cd159.js +1 -1
- package/es/BaseButton-3ce1f027.js +2 -2
- package/es/BaseCardView-c5a8ee6a.js +7 -7
- package/es/{BaseCardViewSelectionTest-1a6585af.js → BaseCardViewSelectionTest-cf72be09.js} +7 -7
- package/es/{BaseCardViewSelectionTest-1a6585af.js.map → BaseCardViewSelectionTest-cf72be09.js.map} +1 -1
- package/es/BaseNavigationListItem-530bc3df.js +1 -1
- package/es/BaseRichSelection-9fa49816.js +8 -8
- package/es/ButtonSet-51dcff96.js +2 -2
- package/es/ButtonSetIconButton-536c1045.js +3 -3
- package/es/{Card-44b7de2f.js → Card-de0aef24.js} +2 -2
- package/es/{Card-44b7de2f.js.map → Card-de0aef24.js.map} +1 -1
- package/es/{Center-8b48ab02.js → Center-9f355d44.js} +2 -2
- package/es/{Center-8b48ab02.js.map → Center-9f355d44.js.map} +1 -1
- package/es/{Chart-b046fb6a.js → Chart-b97e00f1.js} +10 -10
- package/es/{Chart-b046fb6a.js.map → Chart-b97e00f1.js.map} +1 -1
- package/es/CheckboxControl-ee327a6d.js +6 -6
- package/es/CheckboxRadioField-a4db2c10.js +6 -6
- package/es/CheckboxSet-3c3b7c71.js +49 -0
- package/es/CheckboxSet-3c3b7c71.js.map +1 -0
- package/es/Chip-8554d3ff.js +1 -1
- package/es/ClearIcon-95064ad6.js +1 -1
- package/es/CollapseIcon-4e943f42.js +1 -1
- package/es/Collapsible-cb2ba356.js +2 -2
- package/es/{ComboChart-58ac07b4.js → ComboChart-b8c2be4d.js} +4 -4
- package/es/{ComboChart-58ac07b4.js.map → ComboChart-b8c2be4d.js.map} +1 -1
- package/es/CompactHelpSource-9c0d4cb4.js +2 -2
- package/es/{CompactLabelAssistance-6a627bbb.js → CompactLabelAssistance-7912767d.js} +5 -5
- package/es/{CompactLabelAssistance-6a627bbb.js.map → CompactLabelAssistance-7912767d.js.map} +1 -1
- package/es/CompactUserAssistance-12950e48.js +4 -4
- package/es/ComponentMessageContainer-f2837e7f.js +4 -4
- package/es/ConveyorBeltItem-188fcaf0.js +2 -2
- package/es/{DatePicker-d4c3ec06.js → DatePicker-38a71007.js} +6 -6
- package/es/{DatePicker-d4c3ec06.js.map → DatePicker-38a71007.js.map} +1 -1
- package/es/DatePickerHeader-5806fbea.js +3 -3
- package/es/{Diagram-a6348a41.js → Diagram-ee9ec4a9.js} +5 -5
- package/es/{Diagram-a6348a41.js.map → Diagram-ee9ec4a9.js.map} +1 -1
- package/es/{Dialog-d64dd573.js → Dialog-2248109e.js} +8 -8
- package/es/{Dialog-d64dd573.js.map → Dialog-2248109e.js.map} +1 -1
- package/es/DirectionalCollapseArrowIcon-daafb64c.js +1 -1
- package/es/DirectionalExpandArrowIcon-35def552.js +1 -1
- package/es/{DragHandle-d3a739f5.js → DragHandle-5cba8c4b.js} +2 -2
- package/es/{DragHandle-d3a739f5.js.map → DragHandle-5cba8c4b.js.map} +1 -1
- package/es/{Dropdown-f0cdaeae.js → Dropdown-f7fbfa81.js} +5 -5
- package/es/{Dropdown-f0cdaeae.js.map → Dropdown-f7fbfa81.js.map} +1 -1
- package/es/{EnvironmentProvider-0fc2fd0c.js → EnvironmentProvider-a3819bde.js} +3 -3
- package/es/{EnvironmentProvider-0fc2fd0c.js.map → EnvironmentProvider-a3819bde.js.map} +1 -1
- package/es/ExpandableList-478db30a.js +3 -3
- package/es/FilePicker-ecfad7d4.js +2 -2
- package/es/{Flex-8696b27b.js → Flex-2d51e914.js} +2 -2
- package/es/{Flex-8696b27b.js.map → Flex-2d51e914.js.map} +1 -1
- package/es/{Floating-9bf456f9.js → Floating-c13f9f62.js} +4 -4
- package/es/{Floating-9bf456f9.js.map → Floating-c13f9f62.js.map} +1 -1
- package/es/FormLayout-2efb00f6.js +1 -1
- package/es/Gantt-0adf9527.js +9 -9
- package/es/{Grid-7fd29a9e.js → Grid-c2385b22.js} +2 -2
- package/es/{Grid-7fd29a9e.js.map → Grid-c2385b22.js.map} +1 -1
- package/es/{Gridlines-5ac89a84.js → Gridlines-89b5506f.js} +2 -2
- package/es/{Gridlines-5ac89a84.js.map → Gridlines-89b5506f.js.map} +1 -1
- package/es/GroupLoadingIndicator-63035d08.js +1 -1
- package/es/{HighlightText-cc043982.js → HighlightText-d505bf35.js} +2 -2
- package/es/{HighlightText-cc043982.js.map → HighlightText-d505bf35.js.map} +1 -1
- package/es/Icon-bdd49f29.js +3 -3
- package/es/IconButton-62cd1cf9.js +3 -3
- package/es/IconMenuButton-242dc102.js +3 -3
- package/es/IconProgressButton-193d58bf.js +3 -3
- package/es/IconSwitchButton-a92911d0.js +3 -3
- package/es/IconToggleButton-fb7ccce9.js +3 -3
- package/es/{IconUserAssistance-627f9d18.js → IconUserAssistance-2b494a2e.js} +3 -3
- package/es/{IconUserAssistance-627f9d18.js.map → IconUserAssistance-2b494a2e.js.map} +1 -1
- package/es/Indexer-ba2c7593.js +4 -4
- package/es/InlineHelpSource-fcdcd122.js +1 -1
- package/es/InlineUserAssistance-04cce83e.js +5 -5
- package/es/InputDateMask-23aef570.js +7 -7
- package/es/{InputDatePicker-dd3b6c89.js → InputDatePicker-59bbd31d.js} +10 -10
- package/es/{InputDatePicker-dd3b6c89.js.map → InputDatePicker-59bbd31d.js.map} +1 -1
- package/es/InputPassword-2c87ceb9.js +4 -4
- package/es/InputText-3701adf8.js +6 -6
- package/es/Label-6d90e627.js +5 -5
- package/es/LabelValueLayout-bcf482be.js +1 -1
- package/es/{Layer-12a734d1.js → Layer-7497a324.js} +3 -3
- package/es/{Layer-12a734d1.js.map → Layer-7497a324.js.map} +1 -1
- package/es/{LayerHost-15b42a3e.js → LayerHost-7a2149f5.js} +2 -2
- package/es/{LayerHost-15b42a3e.js.map → LayerHost-7a2149f5.js.map} +1 -1
- package/es/{LayerManager-af39e736.js → LayerManager-be34be40.js} +2 -2
- package/es/{LayerManager-af39e736.js.map → LayerManager-be34be40.js.map} +1 -1
- package/es/Legend-588633b2.js +3 -3
- package/es/{LineAreaChart-b136ad7b.js → LineAreaChart-d6924882.js} +5 -5
- package/es/{LineAreaChart-b136ad7b.js.map → LineAreaChart-d6924882.js.map} +1 -1
- package/es/{LineSeries-ca5836e7.js → LineSeries-00fa2ab7.js} +2 -2
- package/es/{LineSeries-ca5836e7.js.map → LineSeries-00fa2ab7.js.map} +1 -1
- package/es/Link-9f8b5c41.js +1 -1
- package/es/List-97b7be70.js +5 -5
- package/es/{ListItemLayout-e87958e3.js → ListItemLayout-b3d899d6.js} +2 -2
- package/es/{ListItemLayout-e87958e3.js.map → ListItemLayout-b3d899d6.js.map} +1 -1
- package/es/ListView-936d8a4f.js +3 -3
- package/es/{LiveRegion-cb4f8a54.js → LiveRegion-5302331c.js} +2 -2
- package/es/{LiveRegion-cb4f8a54.js.map → LiveRegion-5302331c.js.map} +1 -1
- package/es/{MaxLengthLiveRegion-59087064.js → MaxLengthLiveRegion-9b386b63.js} +3 -3
- package/es/{MaxLengthLiveRegion-59087064.js.map → MaxLengthLiveRegion-9b386b63.js.map} +1 -1
- package/es/Menu-a37635b8.js +6 -6
- package/es/MenuButton-422a74de.js +2 -2
- package/es/MenuItem-831dfd05.js +1 -1
- package/es/Message-9d1504b6.js +2 -2
- package/es/{MessageLayer-8bed437a.js → MessageLayer-9ea7cf82.js} +6 -6
- package/es/{MessageLayer-8bed437a.js.map → MessageLayer-9ea7cf82.js.map} +1 -1
- package/es/MessageToast-7058b181.js +8 -8
- package/es/MessagesManager-9dd3eb3d.js +3 -3
- package/es/MeterBar-551d32db.js +5 -5
- package/es/MeterCircle-5e2ee267.js +5 -5
- package/es/{Modal-103da2aa.js → Modal-1710fdd2.js} +3 -3
- package/es/{Modal-103da2aa.js.map → Modal-1710fdd2.js.map} +1 -1
- package/es/{MonthView-3f86e858.js → MonthView-9c0b40f1.js} +4 -4
- package/es/{MonthView-3f86e858.js.map → MonthView-9c0b40f1.js.map} +1 -1
- package/es/{NavigationListItem-57a7cf4b.js → NavigationListItem-5b25b2f5.js} +16 -3
- package/es/{NavigationListItem-57a7cf4b.js.map → NavigationListItem-5b25b2f5.js.map} +1 -1
- package/es/NumberInputText-58e80ab7.js +6 -6
- package/es/{OverflowTabBar-9df72c15.js → OverflowTabBar-47a03b1f.js} +2 -2
- package/es/{OverflowTabBar-9df72c15.js.map → OverflowTabBar-47a03b1f.js.map} +1 -1
- package/es/{OverflowTabBarItem-0d925d02.js → OverflowTabBarItem-08625093.js} +5 -5
- package/es/{OverflowTabBarItem-0d925d02.js.map → OverflowTabBarItem-08625093.js.map} +1 -1
- package/es/PRIVATE_BaseCardView.js +22 -22
- package/es/PRIVATE_Chart.js +35 -35
- package/es/PRIVATE_CheckboxControl.js +23 -23
- package/es/PRIVATE_CheckboxRadioField.js +24 -24
- package/es/PRIVATE_ClearIcon.js +18 -18
- package/es/PRIVATE_DatePickerHeader.js +19 -19
- package/es/PRIVATE_DatePickerLayout.js +4 -4
- package/es/PRIVATE_EmbeddedIconButton.js +3 -3
- package/es/PRIVATE_FormControls.js +19 -19
- package/es/PRIVATE_IconSwitchButton.js +16 -16
- package/es/PRIVATE_Icons/CheckboxMixed.js +16 -16
- package/es/PRIVATE_Icons/CheckboxOff.js +16 -16
- package/es/PRIVATE_Icons/CheckboxOn.js +16 -16
- package/es/PRIVATE_Icons/DragV.js +16 -16
- package/es/PRIVATE_Icons/WarningS.js +16 -16
- package/es/PRIVATE_List.js +20 -20
- package/es/PRIVATE_Message.js +19 -19
- package/es/PRIVATE_MessageLayer.js +12 -12
- package/es/PRIVATE_MonthView.js +7 -7
- package/es/PRIVATE_MonthYearGridView.js +7 -7
- package/es/PRIVATE_PlotArea.js +4 -4
- package/es/PRIVATE_RevealToggleIcon.js +17 -17
- package/es/PRIVATE_RichSelectionCommon.js +25 -25
- package/es/PRIVATE_SelectCommon.js +28 -28
- package/es/PRIVATE_StyledCard.js +4 -4
- package/es/PRIVATE_StyledCheckbox.js +16 -16
- package/es/PRIVATE_Table.js +24 -24
- package/es/PRIVATE_ThemedIcons/CalendarIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CheckIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CloseIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CollapseIcon.js +17 -17
- package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/DecrementIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/DeleteIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +17 -17
- package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +17 -17
- package/es/PRIVATE_ThemedIcons/DragHandleIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ExpandIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/HelpIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/IncrementIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MinusIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/NavDownIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/PlusIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ViewIcon.js +16 -16
- package/es/PRIVATE_TimeComponent.js +18 -18
- package/es/PRIVATE_VisOverview.js +16 -16
- package/es/PRIVATE_VisTabularDatatip.js +4 -4
- package/es/PictoChart-3f059ad1.js +6 -6
- package/es/PieChart-ca02932e.js +6 -6
- package/es/{Popup-6c3f0839.js → Popup-a4be2769.js} +9 -9
- package/es/{Popup-6c3f0839.js.map → Popup-a4be2769.js.map} +1 -1
- package/es/{ProgressBar-95461222.js → ProgressBar-4fbb27ab.js} +3 -3
- package/es/{ProgressBar-95461222.js.map → ProgressBar-4fbb27ab.js.map} +1 -1
- package/es/ProgressButton-2497c81b.js +3 -3
- package/es/ProgressButtonLabelLayout-bfc7c805.js +3 -3
- package/es/{ProgressCircle-93c309cb.js → ProgressCircle-2d3833fa.js} +2 -2
- package/es/{ProgressCircle-93c309cb.js.map → ProgressCircle-2d3833fa.js.map} +1 -1
- package/es/RadioItem-35f68420.js +6 -6
- package/es/RatingGauge-5346d0bf.js +7 -7
- package/es/ReadonlyTextFieldInput-a15badb6.js +1 -1
- package/es/RemovableNavigationListItem-29fdaddc.js +1 -1
- package/es/RemovableTabBarItem-1cc7a0ca.js +2 -2
- package/es/ReorderableTabBar-b9019d0a.js +3 -3
- package/es/RevealToggleIcon-51514e37.js +1 -1
- package/es/{ScatterChart-0cbabd0f.js → ScatterChart-d26d4ea9.js} +4 -4
- package/es/{ScatterChart-0cbabd0f.js.map → ScatterChart-d26d4ea9.js.map} +1 -1
- package/es/SectionalLegend-c71d48a3.js +4 -4
- package/es/{SectionedContent-3fd063af.js → SectionedContent-2d0a744d.js} +5 -5
- package/es/{SectionedContent-3fd063af.js.map → SectionedContent-2d0a744d.js.map} +1 -1
- package/es/SelectMultiple-ad8fc99a.js +8 -8
- package/es/SelectSingle-abaf271c.js +7 -7
- package/es/{SelectionCard-1f8585cb.js → SelectionCard-792c249d.js} +2 -2
- package/es/{SelectionCard-1f8585cb.js.map → SelectionCard-792c249d.js.map} +1 -1
- package/es/Selector-5892544f.js +1 -1
- package/es/{SelectorAll-e833da6d.js → SelectorAll-ab748274.js} +7 -7
- package/es/{SelectorAll-e833da6d.js.map → SelectorAll-ab748274.js.map} +1 -1
- package/es/{Sheet-0861fcc0.js → Sheet-31e6970c.js} +3 -3
- package/es/{Sheet-0861fcc0.js.map → Sheet-31e6970c.js.map} +1 -1
- package/es/SplitMenuButton-3dbd83b7.js +2 -2
- package/es/SplitMenuButtonTheme.styles.css +4 -4
- package/es/SplitMenuButtonTheme.styles2.css +4 -4
- package/es/{StyledCard-f5965d6d.js → StyledCard-6913b45c.js} +2 -2
- package/es/{StyledCard-f5965d6d.js.map → StyledCard-6913b45c.js.map} +1 -1
- package/es/StyledTextField-ebb5409d.js +3 -3
- package/es/TabBar-fb7f97d2.js +5 -5
- package/es/TabBarItem-252cba76.js +3 -3
- package/es/TabBarLayout-8caaa060.js +1 -1
- package/es/TabBarMixed-f60c2c7a.js +5 -5
- package/es/{TabBarMixedSeparator-da56f4c0.js → TabBarMixedSeparator-16c88691.js} +2 -2
- package/es/{TabBarMixedSeparator-da56f4c0.js.map → TabBarMixedSeparator-16c88691.js.map} +1 -1
- package/es/Table-1ba124ec.js +9 -9
- package/es/TagCloud-f7e50ac4.js +8 -8
- package/es/TextArea-7230675f.js +5 -5
- package/es/TextAreaAutosize-0d293016.js +5 -5
- package/es/TextField-cb494638.js +3 -3
- package/es/TextFieldInput-3c2e920d.js +1 -1
- package/es/Theme-redwood/theme.css +467 -467
- package/es/Theme-stable/theme.css +560 -560
- package/es/TimeComponentCanvas2D-2a4a0c94.js +5 -5
- package/es/Toolbar-7676795b.js +1 -1
- package/es/{TruncatingBadge-b69c1ceb.js → TruncatingBadge-0f04b894.js} +4 -4
- package/es/{TruncatingBadge-b69c1ceb.js.map → TruncatingBadge-0f04b894.js.map} +1 -1
- package/es/{TruncatingText-68acfafd.js → TruncatingText-ccad557f.js} +4 -4
- package/es/{TruncatingText-68acfafd.js.map → TruncatingText-ccad557f.js.map} +1 -1
- package/es/UNSAFE_ActionCard.js +3 -3
- package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +36 -36
- package/es/UNSAFE_BarChart.js +36 -36
- package/es/UNSAFE_BaseButton.js +3 -3
- package/es/UNSAFE_Button.js +3 -3
- package/es/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +22 -22
- package/es/UNSAFE_ButtonSet.js +4 -4
- package/es/UNSAFE_ButtonSetButton.js +3 -3
- package/es/UNSAFE_ButtonSetIconButton.js +16 -16
- package/es/UNSAFE_ButtonSetItem.js +16 -16
- package/es/UNSAFE_ButtonSetMultiple.js +4 -4
- package/es/UNSAFE_ButtonSetSingle.js +4 -4
- package/es/UNSAFE_Card.js +5 -5
- package/es/UNSAFE_CardFlexView.js +22 -22
- package/es/UNSAFE_CardGridView.js +22 -22
- package/es/UNSAFE_Center.js +5 -5
- package/es/UNSAFE_ChartWithLegend.js +4 -4
- package/es/UNSAFE_Checkbox.js +23 -23
- package/es/UNSAFE_CheckboxItem.js +103 -52
- package/es/UNSAFE_CheckboxItem.js.map +1 -1
- package/es/UNSAFE_CheckboxSet.js +33 -67
- package/es/UNSAFE_CheckboxSet.js.map +1 -1
- package/es/UNSAFE_Chip.js +2 -2
- package/es/UNSAFE_Collapsible.js +18 -18
- package/es/UNSAFE_ComboChart.js +38 -38
- package/es/UNSAFE_ComponentMessage.js +19 -19
- package/es/UNSAFE_ConveyorBelt.js +16 -16
- package/es/UNSAFE_DatePicker.js +24 -24
- package/es/UNSAFE_Diagram.js +21 -21
- package/es/UNSAFE_Dialog.js +21 -21
- package/es/UNSAFE_DragHandle.js +18 -18
- package/es/UNSAFE_DrawerLayout.js +12 -12
- package/es/UNSAFE_DrawerPopup.js +11 -11
- package/es/UNSAFE_Dropdown.js +13 -13
- package/es/UNSAFE_Environment.js +4 -4
- package/es/UNSAFE_ExpandableList.js +23 -23
- package/es/UNSAFE_FilePicker.js +4 -4
- package/es/UNSAFE_Flex.js +4 -4
- package/es/UNSAFE_Floating.js +11 -11
- package/es/UNSAFE_FormLayout.js +2 -2
- package/es/UNSAFE_Gantt.js +23 -23
- package/es/UNSAFE_Grid.js +4 -4
- package/es/UNSAFE_HighlightText.js +4 -4
- package/es/UNSAFE_Icon.js +16 -16
- package/es/UNSAFE_IconButton.js +16 -16
- package/es/UNSAFE_IconMenuButton.js +21 -21
- package/es/UNSAFE_IconProgressButton.js +19 -19
- package/es/UNSAFE_IconToggleButton.js +16 -16
- package/es/UNSAFE_Indexer.js +6 -6
- package/es/UNSAFE_InputDateMask.js +24 -24
- package/es/UNSAFE_InputDatePicker.js +113 -113
- package/es/UNSAFE_InputPassword.js +23 -23
- package/es/UNSAFE_InputSensitiveText.js +25 -25
- package/es/UNSAFE_InputText.js +26 -26
- package/es/UNSAFE_InputTimeMask.js +24 -24
- package/es/UNSAFE_Label.js +23 -23
- package/es/UNSAFE_LabelValueLayout.js +4 -4
- package/es/UNSAFE_LabelledLink.js +24 -24
- package/es/UNSAFE_Layer.js +8 -8
- package/es/UNSAFE_Legend.js +24 -24
- package/es/UNSAFE_LineAreaChart.js +38 -38
- package/es/UNSAFE_Link.js +2 -2
- package/es/UNSAFE_ListItemLayout.js +5 -5
- package/es/UNSAFE_ListView.js +28 -28
- package/es/UNSAFE_LiveRegion.js +4 -4
- package/es/UNSAFE_Menu.js +23 -23
- package/es/UNSAFE_MenuButton.js +21 -21
- package/es/UNSAFE_MessageBanner.js +19 -19
- package/es/UNSAFE_MessageToast.js +22 -22
- package/es/UNSAFE_MeterBar.js +16 -16
- package/es/UNSAFE_MeterCircle.js +17 -17
- package/es/UNSAFE_Modal.js +8 -8
- package/es/UNSAFE_NavigationList.js +24 -24
- package/es/UNSAFE_NavigationListCommon.js +18 -18
- package/es/UNSAFE_NumberInputText.js +25 -25
- package/es/UNSAFE_OverflowTabBar.js +27 -27
- package/es/UNSAFE_PictoChart.js +14 -14
- package/es/UNSAFE_PieChart/__test__/PieChart.spec.js +21 -21
- package/es/UNSAFE_PieChart.js +21 -21
- package/es/UNSAFE_Popup.js +16 -16
- package/es/UNSAFE_ProgressBar.js +5 -5
- package/es/UNSAFE_ProgressButton.js +19 -19
- package/es/UNSAFE_ProgressButtonLabelLayout.js +10 -10
- package/es/UNSAFE_ProgressCircle.js +4 -4
- package/es/UNSAFE_RadioItem.js +23 -23
- package/es/UNSAFE_RadioSet.js +23 -23
- package/es/UNSAFE_RatingGauge.js +17 -17
- package/es/UNSAFE_ReorderableTabBar.js +24 -24
- package/es/UNSAFE_RichCheckboxSet.js +38 -36
- package/es/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/es/UNSAFE_RichRadioSet.js +25 -25
- package/es/UNSAFE_RichSelectionItem.js +194 -57
- package/es/UNSAFE_RichSelectionItem.js.map +1 -1
- package/es/UNSAFE_ScatterChart.js +38 -38
- package/es/UNSAFE_SectionalLegend.js +25 -25
- package/es/UNSAFE_SelectMultiple.js +30 -30
- package/es/UNSAFE_SelectSingle.js +30 -30
- package/es/UNSAFE_SelectionCard.js +5 -5
- package/es/UNSAFE_Selector.js +16 -16
- package/es/UNSAFE_SelectorAll.js +20 -20
- package/es/UNSAFE_Sheet/__test__/Sheet.spec.js +14 -14
- package/es/UNSAFE_Sheet.js +11 -11
- package/es/UNSAFE_SplitMenuButton/themes/redwood/SplitMenuButtonTheme.css.js +1 -1
- package/es/UNSAFE_SplitMenuButton/themes/stable/SplitMenuButtonTheme.css.js +1 -1
- package/es/UNSAFE_SplitMenuButton.js +22 -22
- package/es/UNSAFE_TabBar.js +27 -27
- package/es/UNSAFE_TabBarCommon.js +27 -27
- package/es/UNSAFE_TabBarMixed.js +28 -28
- package/es/UNSAFE_TableView.js +24 -24
- package/es/UNSAFE_TagCloud.js +23 -23
- package/es/UNSAFE_TextArea.js +25 -25
- package/es/UNSAFE_TextAreaAutosize.js +25 -25
- package/es/UNSAFE_TextField.js +7 -7
- package/es/UNSAFE_ToggleButton.js +3 -3
- package/es/UNSAFE_Toolbar/tests/Toolbar.spec.js +24 -24
- package/es/UNSAFE_Toolbar.js +4 -4
- package/es/UNSAFE_Train.js +17 -17
- package/es/UNSAFE_TruncatingBadge.js +18 -18
- package/es/UNSAFE_TruncatingText.js +17 -17
- package/es/UNSAFE_UserAssistance.js +24 -24
- package/es/UNSAFE_View.js +7 -7
- package/es/UNSAFE_VirtualizedListView.js +20 -20
- package/es/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
- package/es/UNSAFE_VisProgressiveLoader.js +6 -6
- package/es/UNSAFE_VisStatusMessage.js +6 -6
- package/es/UNSAFE_WindowOverlay.js +4 -4
- package/es/{View-63980a9b.js → View-a8a64eb1.js} +5 -5
- package/es/{View-63980a9b.js.map → View-a8a64eb1.js.map} +1 -1
- package/es/{VisNoData-02cab8f6.js → VisNoData-794ddc21.js} +3 -3
- package/es/{VisNoData-02cab8f6.js.map → VisNoData-794ddc21.js.map} +1 -1
- package/es/{VisProgressiveLoader-2b2103c8.js → VisProgressiveLoader-66dde1ff.js} +3 -3
- package/es/{VisProgressiveLoader-2b2103c8.js.map → VisProgressiveLoader-66dde1ff.js.map} +1 -1
- package/es/{VisTabularDatatip-2ae7ee48.js → VisTabularDatatip-6aa607bb.js} +2 -2
- package/es/{VisTabularDatatip-2ae7ee48.js.map → VisTabularDatatip-6aa607bb.js.map} +1 -1
- package/es/{WindowOverlay-9b43e658.js → WindowOverlay-de5d0819.js} +2 -2
- package/es/{WindowOverlay-9b43e658.js.map → WindowOverlay-de5d0819.js.map} +1 -1
- package/es/{YearsGridView-cc0574f2.js → YearsGridView-cb510d1e.js} +4 -4
- package/es/{YearsGridView-cc0574f2.js.map → YearsGridView-cb510d1e.js.map} +1 -1
- package/es/hoc/PRIVATE_withDirectionIcon.js +4 -4
- package/es/hoc/PRIVATE_withThemeIcon.js +3 -3
- package/es/hoc/UNSAFE_withThemeProps.js +3 -3
- package/es/hooks/PRIVATE_useChartContextMenu.js +20 -20
- package/es/hooks/PRIVATE_useChartDatatip.js +14 -14
- package/es/hooks/PRIVATE_useChartEvents.js +18 -18
- package/es/hooks/PRIVATE_useChartMarquee.js +18 -18
- package/es/hooks/PRIVATE_useCssVars.js +7 -7
- package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
- package/es/hooks/PRIVATE_useDatatip.js +12 -12
- package/es/hooks/PRIVATE_useFloating.js +4 -4
- package/es/hooks/PRIVATE_useReorderable.js +5 -5
- package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
- package/es/hooks/PRIVATE_useSelection.js +4 -4
- package/es/hooks/PRIVATE_useTabBar.js +4 -4
- package/es/hooks/PRIVATE_useVisContextMenu.js +20 -20
- package/es/hooks/PRIVATE_useVisDragModeControls.js +18 -18
- package/es/hooks/PRIVATE_useVisEvents.js +4 -4
- package/es/hooks/PRIVATE_useVisMeterEvents.js +14 -14
- package/es/hooks/PRIVATE_useVisSelection.js +13 -13
- package/es/hooks/UNSAFE_useColorScheme.js +3 -3
- package/es/hooks/UNSAFE_useCurrentBgColor.js +3 -3
- package/es/hooks/UNSAFE_useDensity.js +3 -3
- package/es/hooks/UNSAFE_useOutsideClick.js +8 -8
- package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
- package/es/hooks/UNSAFE_useScale.js +3 -3
- package/es/hooks/UNSAFE_useTestId.js +3 -3
- package/es/hooks/UNSAFE_useTheme.js +3 -3
- package/es/hooks/UNSAFE_useThemeInterpolations.js +6 -6
- package/es/hooks/UNSAFE_useTooltip.js +17 -17
- package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
- package/es/hooks/UNSAFE_useUser.js +3 -3
- package/es/{index-20f848bc.js → index-f4c1d6de.js} +2 -2
- package/es/index-f4c1d6de.js.map +1 -0
- package/es/listViewSelectionTests-79aa17b2.js +3 -3
- package/es/{render-2b908d4f.js → render-9dce082a.js} +3 -3
- package/es/{render-2b908d4f.js.map → render-9dce082a.js.map} +1 -1
- package/es/{tabbableUtils-20bbaf8d.js → tabbableUtils-93a7cd6f.js} +3 -3
- package/es/{tabbableUtils-20bbaf8d.js.map → tabbableUtils-93a7cd6f.js.map} +1 -1
- package/es/{testData-70bebfae.js → testData-a9ced8ec.js} +3 -3
- package/es/{testData-70bebfae.js.map → testData-a9ced8ec.js.map} +1 -1
- package/es/{tooltipUtils-38192add.js → tooltipUtils-fcfd7dbb.js} +5 -5
- package/es/{tooltipUtils-38192add.js.map → tooltipUtils-fcfd7dbb.js.map} +1 -1
- package/es/useCellNavigation-00d575ca.js +1 -1
- package/es/useChartContextMenu-121a5f6d.js +2 -2
- package/es/{useChartDatatip-977bc33d.js → useChartDatatip-c929f857.js} +4 -4
- package/es/{useChartDatatip-977bc33d.js.map → useChartDatatip-c929f857.js.map} +1 -1
- package/es/{useColorScheme-d8a80e2b.js → useColorScheme-f69d53b5.js} +2 -2
- package/es/{useColorScheme-d8a80e2b.js.map → useColorScheme-f69d53b5.js.map} +1 -1
- package/es/useContextMenu-8c47333e.js +2 -2
- package/es/{useCssVars-8e6932f8.js → useCssVars-48595cd2.js} +5 -5
- package/es/{useCssVars-8e6932f8.js.map → useCssVars-48595cd2.js.map} +1 -1
- package/es/{useCurrentBgColor-5418492b.js → useCurrentBgColor-894d059b.js} +2 -2
- package/es/{useCurrentBgColor-5418492b.js.map → useCurrentBgColor-894d059b.js.map} +1 -1
- package/es/{useCurrentKey-63f6afcc.js → useCurrentKey-aa75ec92.js} +2 -2
- package/es/{useCurrentKey-63f6afcc.js.map → useCurrentKey-aa75ec92.js.map} +1 -1
- package/es/{useDatatip-bce558e2.js → useDatatip-40475371.js} +4 -4
- package/es/{useDatatip-bce558e2.js.map → useDatatip-40475371.js.map} +1 -1
- package/es/{useDensity-64ecb649.js → useDensity-04a01caf.js} +2 -2
- package/es/{useDensity-64ecb649.js.map → useDensity-04a01caf.js.map} +1 -1
- package/es/{useFloating-41d21e7d.js → useFloating-dad3f791.js} +2 -2
- package/es/{useFloating-41d21e7d.js.map → useFloating-dad3f791.js.map} +1 -1
- package/es/{useKeyboardEvents-5c311766.js → useKeyboardEvents-b02e5fda.js} +2 -2
- package/es/{useKeyboardEvents-5c311766.js.map → useKeyboardEvents-b02e5fda.js.map} +1 -1
- package/es/useLegendContextMenu-1043d63c.js +4 -4
- package/es/{useMeterDatatip-5268869e.js → useMeterDatatip-4adf64f2.js} +3 -3
- package/es/{useMeterDatatip-5268869e.js.map → useMeterDatatip-4adf64f2.js.map} +1 -1
- package/es/{useOutsideClick-8a582d08.js → useOutsideClick-c19a8d7f.js} +2 -2
- package/es/{useOutsideClick-8a582d08.js.map → useOutsideClick-c19a8d7f.js.map} +1 -1
- package/es/{usePopupAnimation-e2e6a2ca.js → usePopupAnimation-267b444c.js} +2 -2
- package/es/{usePopupAnimation-e2e6a2ca.js.map → usePopupAnimation-267b444c.js.map} +1 -1
- package/es/{usePrefixSuffix-435a9c59.js → usePrefixSuffix-995d4cda.js} +2 -2
- package/es/{usePrefixSuffix-435a9c59.js.map → usePrefixSuffix-995d4cda.js.map} +1 -1
- package/es/{useReorderableItem-96616318.js → useReorderableItem-7f7c13b5.js} +3 -3
- package/es/{useReorderableItem-96616318.js.map → useReorderableItem-7f7c13b5.js.map} +1 -1
- package/es/{useRovingTabIndexContainer-9afe3ee0.js → useRovingTabIndexContainer-7ec9f36f.js} +2 -2
- package/es/{useRovingTabIndexContainer-9afe3ee0.js.map → useRovingTabIndexContainer-7ec9f36f.js.map} +1 -1
- package/es/{useScale-c86ecc6e.js → useScale-3b323ab2.js} +2 -2
- package/es/{useScale-c86ecc6e.js.map → useScale-3b323ab2.js.map} +1 -1
- package/es/useSelectCommon-1dafa6f9.js +11 -11
- package/es/{useSelectDrill-24264e6b.js → useSelectDrill-232b571c.js} +3 -3
- package/es/{useSelectDrill-24264e6b.js.map → useSelectDrill-232b571c.js.map} +1 -1
- package/es/{useSelection-1b256f77.js → useSelection-bbd2320f.js} +5 -5
- package/es/{useSelection-1b256f77.js.map → useSelection-bbd2320f.js.map} +1 -1
- package/es/{useSelection-879c64aa.js → useSelection-c46ba985.js} +2 -2
- package/es/{useSelection-879c64aa.js.map → useSelection-c46ba985.js.map} +1 -1
- package/es/useTabBar-efad9075.js +1 -1
- package/es/{useTestId-3bc3958c.js → useTestId-af32a9eb.js} +2 -2
- package/es/{useTestId-3bc3958c.js.map → useTestId-af32a9eb.js.map} +1 -1
- package/es/{useTheme-4b0f211c.js → useTheme-73aca0e4.js} +2 -2
- package/es/{useTheme-4b0f211c.js.map → useTheme-73aca0e4.js.map} +1 -1
- package/es/{useThemeInterpolations-8bee52ac.js → useThemeInterpolations-242b30ed.js} +5 -5
- package/es/{useThemeInterpolations-8bee52ac.js.map → useThemeInterpolations-242b30ed.js.map} +1 -1
- package/es/{useTooltip-98b6d3b5.js → useTooltip-72f5cf2e.js} +2 -2
- package/es/{useTooltip-98b6d3b5.js.map → useTooltip-72f5cf2e.js.map} +1 -1
- package/es/{useTooltipControlled-b565c75b.js → useTooltipControlled-97142fd1.js} +5 -5
- package/es/{useTooltipControlled-b565c75b.js.map → useTooltipControlled-97142fd1.js.map} +1 -1
- package/es/{useTranslationBundle-98df6291.js → useTranslationBundle-6da03e52.js} +2 -2
- package/es/{useTranslationBundle-98df6291.js.map → useTranslationBundle-6da03e52.js.map} +1 -1
- package/es/{useUser-a15426fc.js → useUser-bca8cf2d.js} +2 -2
- package/es/{useUser-a15426fc.js.map → useUser-bca8cf2d.js.map} +1 -1
- package/es/useVisDragModeControls-4d8d8a3b.js +1 -1
- package/es/{useVisEvents-7d4753c4.js → useVisEvents-37c78cfe.js} +2 -2
- package/es/{useVisEvents-7d4753c4.js.map → useVisEvents-37c78cfe.js.map} +1 -1
- package/es/utils/PRIVATE_tooltipUtils.js +14 -14
- package/es/utils/PRIVATE_visTestUtils.js +6 -6
- package/es/{withDirectionIcon-90d7c798.js → withDirectionIcon-389870a2.js} +2 -2
- package/es/{withDirectionIcon-90d7c798.js.map → withDirectionIcon-389870a2.js.map} +1 -1
- package/es/withThemeProps-6545df54.js +2 -2
- package/package.json +2 -2
- package/amd/CardFlexView-296f97f5.js +0 -2
- package/amd/InputDatePicker-18e2546b.js +0 -2
- package/amd/List-0b764e84.js +0 -2
- package/amd/LoadMoreCollection-83413a59.js +0 -2
- package/amd/NavigationListItem-021b2d58.js +0 -2
- package/cjs/CheckboxSetContext-c62db26d.js +0 -12
- package/cjs/CheckboxSetContext-c62db26d.js.map +0 -1
- package/es/CheckboxSetContext-1be56556.js +0 -9
- package/es/CheckboxSetContext-1be56556.js.map +0 -1
- package/es/index-20f848bc.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarChart-dd37d569.js","sources":["../../src/UNSAFE_BarChart/utils/barNavUtils.ts","../../src/UNSAFE_BarChart/OverviewBarChart.tsx","../../src/UNSAFE_BarChart/BarChart.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { Info, ItemInfo } from '#utils/UNSAFE_visTypes/chart';\nimport {\n getNextItemInGroup,\n getNextItemInSeries,\n getPrevItemInGroup,\n getPrevItemInSeries\n} from '#utils/PRIVATE_chartUtils/navUtils';\nimport { BarItemData } from '#UNSAFE_BarChart/barChart.types';\n\ntype isItemNavigableType = (seriesIndex: number, groupIndex: number) => boolean;\n\n/**\n * Get next item in unstacked bar chart.\n * @param info\n * @param viewportEndIndex\n * @param numSeries\n * @param isNavigable\n * @returns\n */\nexport function getNextItem(\n info: ItemInfo,\n viewportEndIndex: number,\n numSeries: number,\n isNavigable: isItemNavigableType\n): ItemInfo {\n const nextItemInGroup = getNextItemInGroup(info, numSeries, isNavigable);\n if (nextItemInGroup) return nextItemInGroup;\n\n if (info.groupIndex < viewportEndIndex) {\n let nextItem = { seriesIndex: 0, groupIndex: info.groupIndex + 1 };\n if (isNavigable(nextItem.seriesIndex, nextItem.groupIndex)) return nextItem;\n nextItem = getNextItem(nextItem, viewportEndIndex, numSeries, isNavigable);\n if (nextItem) return nextItem;\n }\n return info;\n}\n\n/**\n * Get prev item in unstacked bar chart.\n * @param info\n * @param viewportStartIndex\n * @param numSeries\n * @param isNavigable\n * @returns\n */\nexport function getPreviousItem(\n info: ItemInfo,\n viewportStartIndex: number,\n numSeries: number,\n isNavigable: (seriesIndex: number, groupIndex: number) => boolean\n) {\n const prevItemInGroup = getPrevItemInGroup(info, isNavigable);\n if (prevItemInGroup) return prevItemInGroup;\n\n if (info.groupIndex > viewportStartIndex) {\n let prevItem = { groupIndex: info.groupIndex - 1, seriesIndex: numSeries - 1 };\n if (isNavigable(prevItem.seriesIndex, prevItem.groupIndex)) return prevItem;\n prevItem = getPreviousItem(prevItem, viewportStartIndex, numSeries, isNavigable);\n if (prevItem) return prevItem;\n }\n return info;\n}\n\nexport function getBarChartNavUtil<K, D extends BarItemData<K>>(\n getDataItem: (seriesIndex: number, groupIndex: number) => D | undefined,\n numSeries: number,\n viewportStartIndex: number,\n viewportEndIndex: number,\n isStacked: boolean,\n isRtl: boolean\n) {\n const isItemNavigable = (seriesIndex: number, groupIndex: number) => {\n const barItem = getDataItem(seriesIndex, groupIndex);\n return Boolean(barItem);\n };\n\n const getNextChartItem = (\n itemInfo: Info,\n arrow: 'ArrowLeft' | 'ArrowRight' | 'ArrowDown' | 'ArrowUp'\n ): Info => {\n if (!isStacked && (arrow === 'ArrowDown' || arrow === 'ArrowUp')) {\n return itemInfo;\n }\n let newInfo: Info | undefined;\n // TODO: this is just to keep typescript happy.\n // figure out consistent typing while doing type cleanup.\n const info = {\n groupIndex: itemInfo.groupIndex!,\n seriesIndex: itemInfo.seriesIndex!\n };\n\n if (info.groupIndex! < viewportStartIndex) {\n info.groupIndex = viewportStartIndex;\n return info;\n } else if (info.groupIndex! > viewportEndIndex) {\n info.groupIndex = viewportEndIndex;\n return info;\n }\n\n if (isStacked) {\n if (arrow === 'ArrowLeft') {\n newInfo = isRtl\n ? getNextItemInSeries(info, viewportEndIndex, isItemNavigable)\n : getPrevItemInSeries(info, viewportStartIndex, isItemNavigable);\n } else if (arrow === 'ArrowRight') {\n newInfo = isRtl\n ? getPrevItemInSeries(info, viewportStartIndex, isItemNavigable)\n : getNextItemInSeries(info, viewportEndIndex, isItemNavigable);\n } else if (arrow === 'ArrowDown') {\n newInfo = getPrevItemInGroup(info, isItemNavigable);\n } else {\n newInfo = getNextItemInGroup(info, numSeries, isItemNavigable);\n }\n } else {\n if (arrow === 'ArrowRight') {\n newInfo = isRtl\n ? getPreviousItem(info, viewportStartIndex, numSeries, isItemNavigable)\n : getNextItem(info, viewportEndIndex, numSeries, isItemNavigable);\n } else if (arrow === 'ArrowLeft') {\n newInfo = isRtl\n ? getNextItem(info, viewportEndIndex, numSeries, isItemNavigable)\n : getPreviousItem(info, viewportStartIndex, numSeries, isItemNavigable);\n }\n }\n return newInfo || info;\n };\n\n return getNextChartItem;\n}\n","import { BarChart } from './BarChart';\nimport { BarChartProps, BarItemData } from './barChart.types';\n\nexport function OverviewBarChart<K extends string | number, D extends BarItemData<K>>(\n props: BarChartProps<K, D>\n) {\n return (\n <BarChart\n datatip={() => ({ content: '' })}\n zoomAndScroll=\"off\"\n plotArea={{\n yMajorTick: {\n isRendered: false\n },\n xMajorTick: {\n \n }\n }}\n xAxis={{\n tickLabel: {\n autoRotate: false,\n // @ts-ignore\n isRendered: props.xAxis?.timeAxisType ? true : false\n }\n }}\n series={props.series}\n groups={props.groups}\n getDataItem={props.getDataItem}\n yAxis={{\n tickLabel: {\n isRendered: false\n }\n }}\n overview=\"off\"\n />\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { BarChartProps, BarItemData } from './barChart.types';\nimport { getBarGapRatio } from './utils/barSeriesUtils';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { BarGroup } from './BarGroup';\nimport { findNearestDataPoint } from '#utils/PRIVATE_chartUtils/layoutUtils';\nimport {\n getBarCenterCoordinate,\n getBarPosition,\n getSeriesOffsetAndWidth\n} from './utils/barLayoutUtils';\nimport { getBarChartNavUtil } from './utils/barNavUtils';\nimport { Chart } from '#PRIVATE_Chart';\nimport { TimeAxisProps, Scale } from '#utils/UNSAFE_visTypes/chart';\nimport { getItemColor } from '#utils/PRIVATE_chartUtils/dataStyleUtils';\nimport { OverviewBarChart } from './OverviewBarChart';\n\n/* bar chart start and end axis offset */\nconst AXIS_OFFSET = 0.5;\n\n/**\n * A Bar chart displays information graphically using rectangular bars with heights or lengths proportional to the values that they represent,\n * making relationships among the data easier to understand.\n */\nexport function BarChart<K extends string | number, D extends BarItemData<K>>({\n width,\n height,\n selectedIds = [],\n hiddenIds = [],\n highlightedIds,\n hideAndShowBehavior = 'none',\n orientation = 'vertical',\n yAxis,\n series,\n groups,\n isStacked = false,\n getDataItem,\n selectionMode = 'none',\n drilling = 'off',\n dataItemGaps = 0.5,\n ...props\n}: BarChartProps<K, D>) {\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n const hiddenSet = new Set(hiddenIds);\n const isHoriz = orientation === 'horizontal';\n const timeAxisType = (props.xAxis as TimeAxisProps)?.timeAxisType;\n const selectedSet = new Set(selectedIds);\n const highlightedSet = new Set(highlightedIds);\n const getGapRatio = (startIndex: number, endIndex: number) => {\n return getBarGapRatio(isStacked, startIndex, endIndex);\n };\n const getNextChartItemFunc = (startIndex: number, endIndex: number) => {\n return getBarChartNavUtil(getDataItem, series.length, startIndex, endIndex, isStacked, isRtl);\n };\n const getDataItemPos = (xScale: Scale, yScale: Scale, groupWidth: number, gapRatio: number) => {\n return getBarPosition(\n series,\n groups,\n getDataItem,\n xScale,\n yScale,\n hiddenSet,\n dataItemGaps,\n groupWidth,\n gapRatio,\n yAxis?.scale === 'log',\n isStacked,\n isRtl,\n isHoriz,\n timeAxisType\n );\n };\n\n const findNearest = (xScale: Scale, yScale: Scale, groupWidth: number, gapRatio: number) => {\n const getSeriesDataInfo = getSeriesOffsetAndWidth(\n groupWidth,\n gapRatio,\n series.length,\n dataItemGaps,\n isStacked,\n isRtl\n );\n return findNearestDataPoint(\n series,\n groups,\n xScale,\n yScale,\n getDataItem,\n isStacked,\n getSeriesDataInfo,\n getBarCenterCoordinate,\n yAxis?.scale === 'log',\n dataItemGaps,\n hiddenSet,\n timeAxisType\n );\n };\n\n const getMarkerColorAndType = (seriesIndex: number, groupIndex: number) => {\n return {\n color: getItemColor(seriesIndex, groupIndex, series, getDataItem),\n type: 'circle' as const\n };\n };\n\n return (\n <Chart\n width={width}\n height={height}\n selectedIds={selectedSet}\n hiddenIds={hiddenIds}\n hideAndShowBehavior={hideAndShowBehavior}\n orientation={orientation}\n yAxis={yAxis}\n series={series}\n groups={groups}\n isStacked={isStacked}\n getDataItem={getDataItem}\n selectionMode={selectionMode}\n drilling={drilling}\n renderGridLinesInFront={false}\n findNearest={findNearest}\n getDataItemPos={getDataItemPos}\n getNavUtil={getNextChartItemFunc}\n getGapRatio={getGapRatio}\n getMarkerInfo={getMarkerColorAndType}\n isRtl={isRtl}\n offset={AXIS_OFFSET}\n defaultOverviewContentRenderer={() => {\n return <OverviewBarChart series={series} groups={groups} getDataItem={getDataItem} />;\n }}\n {...props}>\n {({\n xStartIndex,\n xEndIndex,\n xScale,\n yScale,\n gapRatio,\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n groupWidth,\n isPointInsideMarquee,\n getTextDimensions,\n defaultFontSize,\n colors\n }) => {\n return (\n <>\n {groups.slice(xStartIndex, xEndIndex + 1).map((_, index) => (\n <BarGroup\n yScale={yScale}\n xScale={xScale}\n groupIndex={index + xStartIndex}\n selectedIds={selectedSet}\n hiddenIds={hiddenSet}\n highlightedIds={highlightedIds ? highlightedSet : highlightedIds}\n isDrillEnabled={drilling === 'on'}\n series={series}\n barGapRatio={gapRatio}\n dataItemGaps={dataItemGaps}\n isPointInsideMarquee={isPointInsideMarquee}\n isStacked={isStacked}\n groupWidth={groupWidth}\n group={groups[index]}\n timeAxisType={(props.xAxis as TimeAxisProps)?.timeAxisType}\n colors={colors}\n activeId={activeId}\n isLog={yAxis?.scale === 'log'}\n orientation={orientation}\n getDataItem={getDataItem}\n isSelectionEnabled={selectionMode != 'none'}\n isRtl={isRtl}\n focusedItemInfo={focusedItemInfo}\n hoveredItemInfo={hoveredItemInfo}\n getTextDimensions={getTextDimensions}\n defaultFontSize={defaultFontSize}\n getStackLabel={props.getStackLabel}\n />\n ))}\n </>\n );\n }}\n </Chart>\n );\n}\n"],"names":["_jsx","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BarChart-a3209793.js","sources":["../../src/UNSAFE_BarChart/utils/barNavUtils.ts","../../src/UNSAFE_BarChart/OverviewBarChart.tsx","../../src/UNSAFE_BarChart/BarChart.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { Info, ItemInfo } from '#utils/UNSAFE_visTypes/chart';\nimport {\n getNextItemInGroup,\n getNextItemInSeries,\n getPrevItemInGroup,\n getPrevItemInSeries\n} from '#utils/PRIVATE_chartUtils/navUtils';\nimport { BarItemData } from '#UNSAFE_BarChart/barChart.types';\n\ntype isItemNavigableType = (seriesIndex: number, groupIndex: number) => boolean;\n\n/**\n * Get next item in unstacked bar chart.\n * @param info\n * @param viewportEndIndex\n * @param numSeries\n * @param isNavigable\n * @returns\n */\nexport function getNextItem(\n info: ItemInfo,\n viewportEndIndex: number,\n numSeries: number,\n isNavigable: isItemNavigableType\n): ItemInfo {\n const nextItemInGroup = getNextItemInGroup(info, numSeries, isNavigable);\n if (nextItemInGroup) return nextItemInGroup;\n\n if (info.groupIndex < viewportEndIndex) {\n let nextItem = { seriesIndex: 0, groupIndex: info.groupIndex + 1 };\n if (isNavigable(nextItem.seriesIndex, nextItem.groupIndex)) return nextItem;\n nextItem = getNextItem(nextItem, viewportEndIndex, numSeries, isNavigable);\n if (nextItem) return nextItem;\n }\n return info;\n}\n\n/**\n * Get prev item in unstacked bar chart.\n * @param info\n * @param viewportStartIndex\n * @param numSeries\n * @param isNavigable\n * @returns\n */\nexport function getPreviousItem(\n info: ItemInfo,\n viewportStartIndex: number,\n numSeries: number,\n isNavigable: (seriesIndex: number, groupIndex: number) => boolean\n) {\n const prevItemInGroup = getPrevItemInGroup(info, isNavigable);\n if (prevItemInGroup) return prevItemInGroup;\n\n if (info.groupIndex > viewportStartIndex) {\n let prevItem = { groupIndex: info.groupIndex - 1, seriesIndex: numSeries - 1 };\n if (isNavigable(prevItem.seriesIndex, prevItem.groupIndex)) return prevItem;\n prevItem = getPreviousItem(prevItem, viewportStartIndex, numSeries, isNavigable);\n if (prevItem) return prevItem;\n }\n return info;\n}\n\nexport function getBarChartNavUtil<K, D extends BarItemData<K>>(\n getDataItem: (seriesIndex: number, groupIndex: number) => D | undefined,\n numSeries: number,\n viewportStartIndex: number,\n viewportEndIndex: number,\n isStacked: boolean,\n isRtl: boolean\n) {\n const isItemNavigable = (seriesIndex: number, groupIndex: number) => {\n const barItem = getDataItem(seriesIndex, groupIndex);\n return Boolean(barItem);\n };\n\n const getNextChartItem = (\n itemInfo: Info,\n arrow: 'ArrowLeft' | 'ArrowRight' | 'ArrowDown' | 'ArrowUp'\n ): Info => {\n if (!isStacked && (arrow === 'ArrowDown' || arrow === 'ArrowUp')) {\n return itemInfo;\n }\n let newInfo: Info | undefined;\n // TODO: this is just to keep typescript happy.\n // figure out consistent typing while doing type cleanup.\n const info = {\n groupIndex: itemInfo.groupIndex!,\n seriesIndex: itemInfo.seriesIndex!\n };\n\n if (info.groupIndex! < viewportStartIndex) {\n info.groupIndex = viewportStartIndex;\n return info;\n } else if (info.groupIndex! > viewportEndIndex) {\n info.groupIndex = viewportEndIndex;\n return info;\n }\n\n if (isStacked) {\n if (arrow === 'ArrowLeft') {\n newInfo = isRtl\n ? getNextItemInSeries(info, viewportEndIndex, isItemNavigable)\n : getPrevItemInSeries(info, viewportStartIndex, isItemNavigable);\n } else if (arrow === 'ArrowRight') {\n newInfo = isRtl\n ? getPrevItemInSeries(info, viewportStartIndex, isItemNavigable)\n : getNextItemInSeries(info, viewportEndIndex, isItemNavigable);\n } else if (arrow === 'ArrowDown') {\n newInfo = getPrevItemInGroup(info, isItemNavigable);\n } else {\n newInfo = getNextItemInGroup(info, numSeries, isItemNavigable);\n }\n } else {\n if (arrow === 'ArrowRight') {\n newInfo = isRtl\n ? getPreviousItem(info, viewportStartIndex, numSeries, isItemNavigable)\n : getNextItem(info, viewportEndIndex, numSeries, isItemNavigable);\n } else if (arrow === 'ArrowLeft') {\n newInfo = isRtl\n ? getNextItem(info, viewportEndIndex, numSeries, isItemNavigable)\n : getPreviousItem(info, viewportStartIndex, numSeries, isItemNavigable);\n }\n }\n return newInfo || info;\n };\n\n return getNextChartItem;\n}\n","import { BarChart } from './BarChart';\nimport { BarChartProps, BarItemData } from './barChart.types';\n\nexport function OverviewBarChart<K extends string | number, D extends BarItemData<K>>(\n props: BarChartProps<K, D>\n) {\n return (\n <BarChart\n datatip={() => ({ content: '' })}\n zoomAndScroll=\"off\"\n plotArea={{\n yMajorTick: {\n isRendered: false\n },\n xMajorTick: {\n \n }\n }}\n xAxis={{\n tickLabel: {\n autoRotate: false,\n // @ts-ignore\n isRendered: props.xAxis?.timeAxisType ? true : false\n }\n }}\n series={props.series}\n groups={props.groups}\n getDataItem={props.getDataItem}\n yAxis={{\n tickLabel: {\n isRendered: false\n }\n }}\n overview=\"off\"\n />\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { BarChartProps, BarItemData } from './barChart.types';\nimport { getBarGapRatio } from './utils/barSeriesUtils';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { BarGroup } from './BarGroup';\nimport { findNearestDataPoint } from '#utils/PRIVATE_chartUtils/layoutUtils';\nimport {\n getBarCenterCoordinate,\n getBarPosition,\n getSeriesOffsetAndWidth\n} from './utils/barLayoutUtils';\nimport { getBarChartNavUtil } from './utils/barNavUtils';\nimport { Chart } from '#PRIVATE_Chart';\nimport { TimeAxisProps, Scale } from '#utils/UNSAFE_visTypes/chart';\nimport { getItemColor } from '#utils/PRIVATE_chartUtils/dataStyleUtils';\nimport { OverviewBarChart } from './OverviewBarChart';\n\n/* bar chart start and end axis offset */\nconst AXIS_OFFSET = 0.5;\n\n/**\n * A Bar chart displays information graphically using rectangular bars with heights or lengths proportional to the values that they represent,\n * making relationships among the data easier to understand.\n */\nexport function BarChart<K extends string | number, D extends BarItemData<K>>({\n width,\n height,\n selectedIds = [],\n hiddenIds = [],\n highlightedIds,\n hideAndShowBehavior = 'none',\n orientation = 'vertical',\n yAxis,\n series,\n groups,\n isStacked = false,\n getDataItem,\n selectionMode = 'none',\n drilling = 'off',\n dataItemGaps = 0.5,\n ...props\n}: BarChartProps<K, D>) {\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n const hiddenSet = new Set(hiddenIds);\n const isHoriz = orientation === 'horizontal';\n const timeAxisType = (props.xAxis as TimeAxisProps)?.timeAxisType;\n const selectedSet = new Set(selectedIds);\n const highlightedSet = new Set(highlightedIds);\n const getGapRatio = (startIndex: number, endIndex: number) => {\n return getBarGapRatio(isStacked, startIndex, endIndex);\n };\n const getNextChartItemFunc = (startIndex: number, endIndex: number) => {\n return getBarChartNavUtil(getDataItem, series.length, startIndex, endIndex, isStacked, isRtl);\n };\n const getDataItemPos = (xScale: Scale, yScale: Scale, groupWidth: number, gapRatio: number) => {\n return getBarPosition(\n series,\n groups,\n getDataItem,\n xScale,\n yScale,\n hiddenSet,\n dataItemGaps,\n groupWidth,\n gapRatio,\n yAxis?.scale === 'log',\n isStacked,\n isRtl,\n isHoriz,\n timeAxisType\n );\n };\n\n const findNearest = (xScale: Scale, yScale: Scale, groupWidth: number, gapRatio: number) => {\n const getSeriesDataInfo = getSeriesOffsetAndWidth(\n groupWidth,\n gapRatio,\n series.length,\n dataItemGaps,\n isStacked,\n isRtl\n );\n return findNearestDataPoint(\n series,\n groups,\n xScale,\n yScale,\n getDataItem,\n isStacked,\n getSeriesDataInfo,\n getBarCenterCoordinate,\n yAxis?.scale === 'log',\n dataItemGaps,\n hiddenSet,\n timeAxisType\n );\n };\n\n const getMarkerColorAndType = (seriesIndex: number, groupIndex: number) => {\n return {\n color: getItemColor(seriesIndex, groupIndex, series, getDataItem),\n type: 'circle' as const\n };\n };\n\n return (\n <Chart\n width={width}\n height={height}\n selectedIds={selectedSet}\n hiddenIds={hiddenIds}\n hideAndShowBehavior={hideAndShowBehavior}\n orientation={orientation}\n yAxis={yAxis}\n series={series}\n groups={groups}\n isStacked={isStacked}\n getDataItem={getDataItem}\n selectionMode={selectionMode}\n drilling={drilling}\n renderGridLinesInFront={false}\n findNearest={findNearest}\n getDataItemPos={getDataItemPos}\n getNavUtil={getNextChartItemFunc}\n getGapRatio={getGapRatio}\n getMarkerInfo={getMarkerColorAndType}\n isRtl={isRtl}\n offset={AXIS_OFFSET}\n defaultOverviewContentRenderer={() => {\n return <OverviewBarChart series={series} groups={groups} getDataItem={getDataItem} />;\n }}\n {...props}>\n {({\n xStartIndex,\n xEndIndex,\n xScale,\n yScale,\n gapRatio,\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n groupWidth,\n isPointInsideMarquee,\n getTextDimensions,\n defaultFontSize,\n colors\n }) => {\n return (\n <>\n {groups.slice(xStartIndex, xEndIndex + 1).map((_, index) => (\n <BarGroup\n yScale={yScale}\n xScale={xScale}\n groupIndex={index + xStartIndex}\n selectedIds={selectedSet}\n hiddenIds={hiddenSet}\n highlightedIds={highlightedIds ? highlightedSet : highlightedIds}\n isDrillEnabled={drilling === 'on'}\n series={series}\n barGapRatio={gapRatio}\n dataItemGaps={dataItemGaps}\n isPointInsideMarquee={isPointInsideMarquee}\n isStacked={isStacked}\n groupWidth={groupWidth}\n group={groups[index]}\n timeAxisType={(props.xAxis as TimeAxisProps)?.timeAxisType}\n colors={colors}\n activeId={activeId}\n isLog={yAxis?.scale === 'log'}\n orientation={orientation}\n getDataItem={getDataItem}\n isSelectionEnabled={selectionMode != 'none'}\n isRtl={isRtl}\n focusedItemInfo={focusedItemInfo}\n hoveredItemInfo={hoveredItemInfo}\n getTextDimensions={getTextDimensions}\n defaultFontSize={defaultFontSize}\n getStackLabel={props.getStackLabel}\n />\n ))}\n </>\n );\n }}\n </Chart>\n );\n}\n"],"names":["_jsx","_Fragment"],"mappings":"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"}
|
package/es/BarGroup-740cd159.js
CHANGED
|
@@ -4,7 +4,7 @@ import { createElement } from 'preact';
|
|
|
4
4
|
import { styles } from './PRIVATE_Chart/themes/ChartStyles.css.js';
|
|
5
5
|
import { c as classNames } from './classNames-4e12b00d.js';
|
|
6
6
|
import { i as getMixedFreqGroupCenter } from './layoutUtils-3bbcb977.js';
|
|
7
|
-
import { u as useTranslationBundle } from './useTranslationBundle-
|
|
7
|
+
import { u as useTranslationBundle } from './useTranslationBundle-6da03e52.js';
|
|
8
8
|
import { e as getItemAriaLabel } from './dataStyleUtils-718fe00a.js';
|
|
9
9
|
import { s as supportsMobileScreenReader } from './accUtils-60925ab1.js';
|
|
10
10
|
import { g as getContrastingTextColor } from './colorUtils-16eb823f.js';
|
|
@@ -7,7 +7,7 @@ import { u as useHover } from './useHover-19340c22.js';
|
|
|
7
7
|
import { u as useActive } from './useActive-fb6d4d52.js';
|
|
8
8
|
import './TabbableModeContext-7d8ad946.js';
|
|
9
9
|
import { u as useTabbableMode } from './useTabbableMode-a3a351d0.js';
|
|
10
|
-
import { u as useColorScheme } from './useColorScheme-
|
|
10
|
+
import { u as useColorScheme } from './useColorScheme-f69d53b5.js';
|
|
11
11
|
import { c as classNames } from './classNames-4e12b00d.js';
|
|
12
12
|
import { d as dimensionInterpolations } from './dimensions-e4b8a67e.js';
|
|
13
13
|
import { m as mergeInterpolations } from './mergeInterpolations-e2db2a66.js';
|
|
@@ -15,7 +15,7 @@ import { g as getClientHints } from './clientHints-05a97aba.js';
|
|
|
15
15
|
import { m as mergeProps } from './mergeProps-88ea8306.js';
|
|
16
16
|
import { BaseButtonRedwoodTheme } from './UNSAFE_BaseButton/themes/redwood/BaseButtonTheme.js';
|
|
17
17
|
import { u as useComponentTheme } from './useComponentTheme-d2f9e47f.js';
|
|
18
|
-
import { u as useTestId } from './useTestId-
|
|
18
|
+
import { u as useTestId } from './useTestId-af32a9eb.js';
|
|
19
19
|
|
|
20
20
|
const interpolations = [...Object.values(dimensionInterpolations)];
|
|
21
21
|
const styleInterpolations = mergeInterpolations(interpolations);
|
|
@@ -6,11 +6,11 @@ import { useRef, useCallback, useEffect, useLayoutEffect, useMemo, useState, use
|
|
|
6
6
|
import { m as mergeProps } from './mergeProps-88ea8306.js';
|
|
7
7
|
import { i as isKeyDefined, c as containsKey } from './keys-49c92dbb.js';
|
|
8
8
|
import { I as ITEM_SELECTOR, e as compareListItemContext, h as dragToScroll, k as keyExtractor, f as findElementByKey, i as handleSelectionRange, j as getViewportConfig, l as getPrevNextKeyByCount, d as getFirstVisibleKey } from './collectionUtils-ccfce5b4.js';
|
|
9
|
-
import { u as useCurrentKey } from './useCurrentKey-
|
|
9
|
+
import { u as useCurrentKey } from './useCurrentKey-aa75ec92.js';
|
|
10
10
|
import { u as useCollectionFocusRing } from './useCollectionFocusRing-0395110a.js';
|
|
11
11
|
import { u as useTabbableModeSet } from './useTabbableModeSet-92034cf1.js';
|
|
12
|
-
import { u as useSelection } from './useSelection-
|
|
13
|
-
import './LayerHost-
|
|
12
|
+
import { u as useSelection } from './useSelection-c46ba985.js';
|
|
13
|
+
import './LayerHost-7a2149f5.js';
|
|
14
14
|
import './DragAndDropStyles.styles.css';
|
|
15
15
|
import './ReorderableItemStyles.styles.css';
|
|
16
16
|
import { R as ReorderableContext } from './ReorderableContext-0daeea89.js';
|
|
@@ -27,11 +27,11 @@ import { u as useAnimation } from './useAnimation-a5eb7604.js';
|
|
|
27
27
|
import { u as useResizeObserver } from './useResizeObserver-838164c1.js';
|
|
28
28
|
import { T as TabbableModeContext } from './TabbableModeContext-7d8ad946.js';
|
|
29
29
|
import { F as FocusTrap } from './FocusTrap-c31d16c5.js';
|
|
30
|
-
import { u as useUser } from './useUser-
|
|
31
|
-
import { a as useReorderableItem, u as useReorderable } from './useReorderableItem-
|
|
30
|
+
import { u as useUser } from './useUser-bca8cf2d.js';
|
|
31
|
+
import { a as useReorderableItem, u as useReorderable } from './useReorderableItem-7f7c13b5.js';
|
|
32
32
|
import { u as useReorderableContext } from './useReorderableContext-79b1c941.js';
|
|
33
|
-
import { G as Grid } from './Grid-
|
|
34
|
-
import { F as Flex } from './Flex-
|
|
33
|
+
import { G as Grid } from './Grid-c2385b22.js';
|
|
34
|
+
import { F as Flex } from './Flex-2d51e914.js';
|
|
35
35
|
import { cardViewVars } from './PRIVATE_BaseCardView/themes/BaseCardViewContract.css.js';
|
|
36
36
|
import { S as Skeleton } from './Skeleton-4d1ce61b.js';
|
|
37
37
|
import { u as useCurrentItemOverride } from './useCurrentItemOverride-43ef8f59.js';
|
|
@@ -6,12 +6,12 @@ import { expect } from 'chai';
|
|
|
6
6
|
import bundle from './resources/nls/en/bundle.js';
|
|
7
7
|
import { g as getClientHints } from './clientHints-05a97aba.js';
|
|
8
8
|
import { T as Text } from './Text-fab01b91.js';
|
|
9
|
-
import { V as View } from './View-
|
|
10
|
-
import { F as Flex } from './Flex-
|
|
11
|
-
import './LayerHost-
|
|
12
|
-
import { R as RootEnvironmentProvider } from './EnvironmentProvider-
|
|
13
|
-
import { C as Center } from './Center-
|
|
14
|
-
import { D as DragHandle } from './DragHandle-
|
|
9
|
+
import { V as View } from './View-a8a64eb1.js';
|
|
10
|
+
import { F as Flex } from './Flex-2d51e914.js';
|
|
11
|
+
import './LayerHost-7a2149f5.js';
|
|
12
|
+
import { R as RootEnvironmentProvider } from './EnvironmentProvider-a3819bde.js';
|
|
13
|
+
import { C as Center } from './Center-9f355d44.js';
|
|
14
|
+
import { D as DragHandle } from './DragHandle-5cba8c4b.js';
|
|
15
15
|
import { B as Button } from './Button-94bdbda5.js';
|
|
16
16
|
import { A as Avatar } from './Avatar-b051ab27.js';
|
|
17
17
|
|
|
@@ -718,4 +718,4 @@ const testSelectionRender = ({ SelectionCardGrid }) => {
|
|
|
718
718
|
};
|
|
719
719
|
|
|
720
720
|
export { CardContent as C, testSelectionRender as a, getItems as b, getRoot as g, keyboardReorder as k, mouseItemSelection as m, populateData as p, testRender as t };
|
|
721
|
-
//# sourceMappingURL=BaseCardViewSelectionTest-
|
|
721
|
+
//# sourceMappingURL=BaseCardViewSelectionTest-cf72be09.js.map
|
package/es/{BaseCardViewSelectionTest-1a6585af.js.map → BaseCardViewSelectionTest-cf72be09.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCardViewSelectionTest-1a6585af.js","sources":["../../src/PRIVATE_BaseCardView/__tests__/testHelpers.tsx","../../src/PRIVATE_BaseCardView/__tests__/BaseCardViewTest.tsx","../../src/PRIVATE_BaseCardView/__tests__/BaseCardViewSelectionTest.tsx"],"sourcesContent":["import { fireEvent, screen } from '@testing-library/preact';\nimport { VNode } from 'preact';\nimport { Item, ListItemRendererContext, SelectionMode } from '../../UNSAFE_Collection';\nimport { ActionDetail } from '../../UNSAFE_BaseButton';\nimport { Avatar } from '../../UNSAFE_Avatar';\nimport { Button } from '../../UNSAFE_Button';\nimport { Text } from '../../UNSAFE_Text';\nimport { View } from '../../UNSAFE_View';\nimport { Flex } from '../../UNSAFE_Flex';\nimport { Center } from '../../UNSAFE_Center';\nimport { DragHandle } from '../../UNSAFE_DragHandle';\nimport { RootEnvironmentProvider } from '../../UNSAFE_Environment';\nimport { Employee } from '../__dev__/BaseCardViewData';\n\nexport type GenericCardGridProps<K extends string | number> = {\n data: Employee[];\n delay?: number;\n isReorderEnabled?: boolean;\n initialCurrentKey?: Item<K>;\n fetchSize?: number;\n};\n\nexport type ActionCardGridProps<K extends string | number> = GenericCardGridProps<K> & {\n handleAction?: (details: ActionDetail) => void;\n showButton?: boolean; // for testing invalid focusBehavior\n};\n\nexport type SelectionCardGridProps<K extends string | number> = GenericCardGridProps<K> & {\n selectionMode?: SelectionMode;\n selectedKeys?: Set<Employee['id']>;\n};\n\nexport type TestComponentsProps<K extends string | number> = {\n GenericCardGrid: (props: GenericCardGridProps<K>) => VNode;\n ActionCardGrid: (props: ActionCardGridProps<K>) => VNode;\n SelectionCardGrid: (props: SelectionCardGridProps<K>) => VNode;\n} & Record<string, (props: any) => VNode>;\n\nexport const CardContent = ({\n context,\n showButton,\n isReorderEnabled\n}: {\n context: ListItemRendererContext<Employee['id'], Employee>;\n showButton?: boolean;\n isReorderEnabled?: boolean;\n}) => {\n const dragIcon = isReorderEnabled && (\n <RootEnvironmentProvider environment={{ mode: 'test' }}>\n <Center>\n <DragHandle testId={`drag-icon-${context.metadata.key}`} />\n </Center>\n </RootEnvironmentProvider>\n );\n const buttons = showButton && (\n <View paddingBlockStart={'1x'}>\n <Flex direction=\"row\" wrap=\"wrap\" gap={'1x'} width={'100%'}>\n <Button variant=\"outlined\" size=\"md\" label=\"A\" />\n <Button variant=\"outlined\" size=\"md\" label=\"B\" />\n </Flex>\n </View>\n );\n\n return (\n <View padding=\"6px\">\n {dragIcon}\n <View padding=\"10px\" paddingBlockEnd={0}>\n <Avatar initials={context.data.initials} size=\"xl\" />\n <View paddingBlockStart=\"2x\">\n <Text variant=\"primary\" size=\"md\" lineClamp={1}>\n {context.data.name}\n </Text>\n <Text variant=\"secondary\" size=\"md\" lineClamp={1}>\n {context.data.title}\n </Text>\n </View>\n </View>\n <View padding=\"10px\" paddingBlockStart={0}>\n {buttons}\n {context.selector?.()}\n </View>\n </View>\n );\n};\n\nexport const populateData = (count: number, isNumberKey?: boolean) =>\n [...Array(count)].map(\n (_, i) =>\n ({\n id: isNumberKey ? i : `${i}`,\n name: `Employee ${i}`,\n title: `Employee title ${i}`,\n initials: `E${i}`\n }) as Employee\n );\n\nexport const getRoot = async () => {\n return screen.findByRole('grid');\n};\n\nexport const getItems = async (role = 'row') => {\n return screen.findAllByRole(role);\n};\n\nexport const getContents = async (role = 'gridcell') => {\n return screen.findAllByRole(role);\n};\n\nexport const mouseItemSelection = (element: HTMLElement, options?: Record<string, unknown>) => {\n fireEvent.click(element, options);\n};\n\nexport const fireDragAndDropEvent = (dragElement: HTMLElement, dropElement: HTMLElement) => {\n fireEvent.dragStart(dragElement);\n fireEvent.dragEnter(dropElement);\n fireEvent.drop(dropElement);\n fireEvent.dragEnd(dragElement);\n};\n\nexport const keyboardReorder = (\n element: HTMLElement,\n keyCode: 'ArrowLeft' | 'ArrowRight' | 'ArrowUp' | 'ArrowDown'\n) => {\n fireEvent.keyDown(element, {\n key: keyCode,\n code: keyCode,\n shiftKey: true,\n metaKey: true\n });\n};\n","import { render, waitFor, screen, fireEvent } from '@testing-library/preact';\nimport userEvent from '@testing-library/user-event';\nimport { expect } from 'chai';\n\nimport translations from '#resources/nls/en/bundle';\nimport { getClientHints } from '#utils/PRIVATE_clientHints';\nimport {\n getRoot,\n getItems,\n populateData,\n TestComponentsProps,\n mouseItemSelection,\n fireDragAndDropEvent,\n keyboardReorder\n} from './testHelpers';\n\nexport const testRender = ({\n GenericCardGrid,\n ActionCardGrid,\n SelectionCardGrid,\n ContentUpdatableCardGrid\n}: TestComponentsProps<string | number>) => {\n it('initial render', async function () {\n const data = populateData(100);\n render(<GenericCardGrid data={data}></GenericCardGrid>);\n const items = await getItems('gridcell');\n expect(items.length).eq(25);\n });\n\n it('checking key type - string key', async () => {\n const data = populateData(3);\n render(<GenericCardGrid data={data}></GenericCardGrid>);\n const items = await getItems('gridcell');\n expect((items[0] as HTMLElement).dataset['ojKeyType'] === undefined).eq(true);\n expect((items[1] as HTMLElement).dataset['ojKeyType'] === undefined).eq(true);\n expect((items[2] as HTMLElement).dataset['ojKeyType'] === undefined).eq(true);\n });\n\n it('checking key type - numeric key', async () => {\n const data = populateData(3, true);\n render(<GenericCardGrid data={data}></GenericCardGrid>);\n const items = await getItems('gridcell');\n expect((items[0] as HTMLElement).dataset['ojKeyType']).eq('number');\n expect((items[1] as HTMLElement).dataset['ojKeyType']).eq('number');\n expect((items[2] as HTMLElement).dataset['ojKeyType']).eq('number');\n });\n\n it('aria attributes - multiselectable and selected, selectionMode is none', async () => {\n const data = populateData(2);\n render(<SelectionCardGrid data={data}></SelectionCardGrid>);\n const items = await getItems('gridcell');\n const grid = await getRoot();\n\n expect((grid as HTMLElement).getAttribute('aria-multiselectable')).eq(null);\n expect((items[0] as HTMLElement).getAttribute('aria-selected')).eq(null);\n expect((items[1] as HTMLElement).getAttribute('aria-selected')).eq(null);\n });\n\n it('aria attributes - multiselectable and selected, selectionMode is single', async () => {\n const data = populateData(2);\n render(\n <SelectionCardGrid\n data={data}\n selectionMode={'single'}\n selectedKeys={new Set(['1'])}></SelectionCardGrid>\n );\n const items = await getItems('gridcell');\n const grid = await getRoot();\n\n expect((grid as HTMLElement).getAttribute('aria-multiselectable')).eq('false');\n expect((items[0] as HTMLElement).getAttribute('aria-selected')).eq('false');\n expect((items[1] as HTMLElement).getAttribute('aria-selected')).eq('true');\n });\n\n it('aria attributes - multiselectable and selected, selectionMode is multiple', async () => {\n const data = populateData(3);\n render(\n <SelectionCardGrid\n data={data}\n selectionMode={'multiple'}\n selectedKeys={new Set(['1', '2'])}></SelectionCardGrid>\n );\n const items = await getItems('gridcell');\n const grid = await getRoot();\n\n expect((grid as HTMLElement).getAttribute('aria-multiselectable')).eq('true');\n expect((items[0] as HTMLElement).getAttribute('aria-selected')).eq('false');\n expect((items[1] as HTMLElement).getAttribute('aria-selected')).eq('true');\n expect((items[2] as HTMLElement).getAttribute('aria-selected')).eq('true');\n });\n\n // skip this test in jest, only run it in karma mocha\n if (typeof jest === typeof undefined) {\n // because jest doesn't show grid layout, the number of focusable elements is not calculated correctly\n it('content focusBehavior - valid case', async () => {\n const data = populateData(3);\n render(<ActionCardGrid data={data}></ActionCardGrid>);\n const items = await getItems('gridcell');\n\n await userEvent.tab();\n\n await waitFor(() => {\n expect(items[0].matches(':focus-within')).to.be.true;\n });\n });\n\n it('content focusBehavior - invalid case', async () => {\n const data = populateData(3);\n render(<ActionCardGrid data={data} showButton={true}></ActionCardGrid>);\n const grid = await getRoot();\n\n await userEvent.tab();\n await waitFor(() => {\n expect(grid.matches(':focus')).to.be.true;\n });\n });\n }\n\n // JET-61732\n it('memoization - update memoized children', async () => {\n const data = populateData(3);\n const { queryByTestId } = render(\n <ContentUpdatableCardGrid data={data}></ContentUpdatableCardGrid>\n );\n\n const elem0 = queryByTestId(data[0].id) as HTMLElement;\n const elem1 = queryByTestId(data[1].id) as HTMLElement;\n const elem2 = queryByTestId(data[2].id) as HTMLElement;\n expect(elem0?.innerHTML, 'the 1st item initial count should be 0').eq('0');\n expect(elem1?.innerHTML, 'the 2nd item initial count should be 0').eq('0');\n expect(elem2?.innerHTML, 'the 3rd item initial count should be 0').eq('0');\n\n const button = queryByTestId('mybutton') as HTMLElement;\n await userEvent.click(button);\n\n expect(elem0?.innerHTML, 'the 1st item new count should be 1').eq('1');\n expect(elem1?.innerHTML, 'the 2nd item new count should be 1').eq('1');\n expect(elem2?.innerHTML, 'the 3rd item new count should be 1').eq('1');\n });\n\n it('reorder - fire Drag and Drop Event', async () => {\n const data = populateData(5);\n const { queryByTestId } = render(<GenericCardGrid data={data} isReorderEnabled={true} />);\n\n let items = await getItems('gridcell');\n const count = items.length;\n const firstItemDragIcon = queryByTestId('drag-icon-0') as HTMLElement;\n const thirdItemDragIcon = queryByTestId('drag-icon-2') as HTMLElement;\n const firstItem = items[0];\n\n // drag the first item and drop on the third item\n fireDragAndDropEvent(firstItemDragIcon, thirdItemDragIcon);\n await waitFor(async () => {\n items = await getItems('gridcell');\n const updatedThirdItem = items[2];\n expect(firstItem).equals(updatedThirdItem);\n expect(items.length).equal(count);\n });\n });\n\n it('reorder - fire Drag and Drop Event when id is number and start at 0', async () => {\n const data = populateData(5, true);\n const { queryByTestId } = render(<GenericCardGrid data={data} isReorderEnabled={true} />);\n\n let items = await getItems('gridcell');\n const count = items.length;\n const firstItemDragIcon = queryByTestId('drag-icon-0') as HTMLElement;\n const thirdItemDragIcon = queryByTestId('drag-icon-2') as HTMLElement;\n const firstItem = items[0];\n\n // drag the first item and drop on the third item\n fireDragAndDropEvent(firstItemDragIcon, thirdItemDragIcon);\n await waitFor(async () => {\n items = await getItems('gridcell');\n const updatedThirdItem = items[2];\n expect(firstItem).equals(updatedThirdItem);\n expect(items.length).equal(count);\n });\n });\n\n it('reorder - reorder the first item to right using keyboard', async () => {\n const data = populateData(5);\n render(<GenericCardGrid data={data} isReorderEnabled={true} />);\n\n const grid = await getRoot();\n let items = await getItems('gridcell');\n const count = items.length;\n const firstItem = items[0];\n\n // reorder the first item to left\n mouseItemSelection(firstItem);\n keyboardReorder(grid, 'ArrowLeft');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[0];\n expect(firstItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n\n // reorder the first item to right\n keyboardReorder(grid, 'ArrowRight');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[1];\n expect(firstItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n\n // continuous reorder the first item to right\n keyboardReorder(grid, 'ArrowRight');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[2];\n expect(firstItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n });\n\n it('reorder - reorder the last item to left using keyboard', async () => {\n const data = populateData(5);\n render(<GenericCardGrid data={data} isReorderEnabled={true} />);\n\n const grid = await getRoot();\n let items = await getItems('gridcell');\n const count = items.length;\n const lastItem = items[items.length - 1];\n\n // reorder the last item to right\n mouseItemSelection(lastItem);\n keyboardReorder(grid, 'ArrowRight');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[items.length - 1];\n expect(lastItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n\n // reorder the last item to left\n keyboardReorder(grid, 'ArrowLeft');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[items.length - 2];\n expect(lastItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n\n // continuous reorder the last item to left\n keyboardReorder(grid, 'ArrowLeft');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[items.length - 3];\n expect(lastItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n });\n\n if (typeof jest == typeof undefined) {\n it('reorder - instruction text should exist when reorder is enabled', async () => {\n // get instruction text\n const { deviceType, platform } = getClientHints();\n const keyPressed =\n platform === 'windows' ? translations.accControlKey() : translations.accCommandKey();\n const reorderInstructions =\n deviceType === 'phone' || deviceType === 'tablet'\n ? ''\n : translations.accReorderInstructions({\n keyPressed: keyPressed\n });\n\n // instruction text should exist when reorder is enabled\n const data = populateData(3);\n const { rerender } = render(<GenericCardGrid data={data} isReorderEnabled={true} />);\n let instructionText = screen.queryByText(reorderInstructions);\n expect(instructionText).not.to.be.null;\n\n // instruction text should not exist when reorder is disabled\n rerender(<GenericCardGrid data={data} />);\n instructionText = screen.queryByText(reorderInstructions);\n expect(instructionText).to.be.null;\n });\n }\n\n // test in karma mocha only since it involves scrolling\n if (typeof jest === typeof undefined) {\n it('scroll into view - when cardview regains focus', async () => {\n const data = populateData(10);\n render(<GenericCardGrid data={data} initialCurrentKey={{ rowKey: data[9].id }} />);\n\n // the initial current item is Employee 9, so the scrollTop is high\n const grid = await getRoot();\n await waitFor(() => {\n expect(grid.scrollTop).to.greaterThanOrEqual(450);\n });\n\n // scroll cardview up until scrollTop is 0\n grid.scrollTop = 0;\n await waitFor(() => {\n expect(grid.scrollTop).to.eq(0);\n });\n\n // tab into cardview, should scroll Employee 9 into view\n grid.focus();\n await waitFor(() => {\n expect(grid.scrollTop).to.greaterThanOrEqual(450);\n });\n });\n }\n\n // test in karma mocha only since it involves rerender\n if (typeof jest === typeof undefined) {\n it('load more on scroll - should fetch data once during keyboard navigation', async () => {\n const data = populateData(21);\n render(<GenericCardGrid data={data} fetchSize={7} />);\n\n let items = await getItems('gridcell');\n const thirdItem = items[3];\n await userEvent.click(thirdItem);\n\n const grid = await getRoot();\n expect(grid.matches(':focus')).to.be.true;\n fireEvent.keyDown(grid, { key: 'ArrowDown' });\n\n await waitFor(async () => {\n items = await getItems('gridcell');\n expect(items.length).to.eq(14);\n });\n\n // load more should only happen once\n try {\n await waitFor(async () => {\n items = await getItems('gridcell');\n expect(items.length).to.eq(21);\n });\n } catch (e) {\n expect(e).not.null;\n }\n }, 6000);\n }\n\n // JET-71257\n it('click an item different than currentItem should not scroll the currentItem back into view', async () => {\n const data = populateData(20);\n\n // the initial current item is Employee 2\n render(<GenericCardGrid data={data} initialCurrentKey={{ rowKey: data[2].id }} />);\n\n const grid = await getRoot();\n const items = await getItems();\n await waitFor(() => {\n expect(grid.scrollTop).to.eq(0);\n });\n\n // scroll cardview down to the bottom\n grid.scrollTop = 450;\n await waitFor(() => {\n expect(grid.scrollTop).to.eq(450);\n });\n\n // click an item different than currentItem\n await userEvent.click(items[19]);\n await waitFor(() => {\n expect(grid.scrollTop).to.eq(450);\n });\n });\n};\n","import { render, waitFor, fireEvent } from '@testing-library/preact';\nimport userEvent from '@testing-library/user-event';\nimport { expect } from 'chai';\nimport {\n getRoot,\n populateData,\n TestComponentsProps,\n getContents,\n mouseItemSelection\n} from './testHelpers';\n\nexport const testSelectionRender = ({\n SelectionCardGrid\n}: TestComponentsProps<string | number>) => {\n it('multiple selection - multiple selected items can be preserved', async () => {\n const data = populateData(3);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n\n mouseItemSelection(items[0]);\n mouseItemSelection(items[1]);\n await waitFor(() => {\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n });\n });\n\n it('range selection - space and then shift+space', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // press space to select the 1st item\n fireEvent.keyUp(items[0], { key: ' ' });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // arrow right to the 3rd item, then shift + space the 3rd item\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyUp(items[2], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - click and then shift+space', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // click to select the 1st item\n mouseItemSelection(items[0]);\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // arrow right to the 3rd item, then shift + space the 3rd item\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyUp(items[2], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - space and then shift+click', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // press space to select the 1st item\n fireEvent.keyUp(items[0], { key: ' ' });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + click the 3rd item\n mouseItemSelection(items[2], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - click and then shift+click', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n\n // click to select the 1st item\n mouseItemSelection(items[0]);\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + click the 3rd item\n mouseItemSelection(items[2], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - from current item to shift+click item', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + click the 3rd item\n fireEvent.click(items[2], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - from current item to shift+arrow items', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + arrow to the 3rd item\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - from current item to shift+click and then shift+click', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + click the 2nd item\n fireEvent.click(items[1], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + click the 4th item\n fireEvent.click(items[3], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - from current item to shift+click and then shift+arrow ', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + click the 2nd item\n fireEvent.click(items[1], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + arrow to the 4th item\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - from current item to shift+click and then shift+space', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + click the 2nd item\n fireEvent.click(items[1], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + space the 4th item\n fireEvent.keyUp(items[3], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('false');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - from current item to shift+arrow and then shift+click', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + arrow to the 2nd item\n fireEvent.click(items[0]);\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + click the 4th item\n fireEvent.click(items[3], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - from current item to shift+arrow and then shift+arrow', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + arrow to the 2nd item\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // arrow to the 3rd item, then shift + arrow to the 4th item\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('false');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - from current item to shift+arrow and then shift+space', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + arrow to the 2nd item\n fireEvent.click(items[0]);\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n await waitFor(() => {\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n // shift + space the 4th item\n fireEvent.keyUp(items[3], { key: ' ', shiftKey: true });\n await waitFor(() => {\n expect(items[0].getAttribute('aria-selected')).eq('false');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n });\n\n it('range selection - from current item to shift+space and then shift+space', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + space to select the 1st item\n fireEvent.keyUp(items[0], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // arrow down to the 3rd item, then shift + space the 3rd item\n fireEvent.keyDown(grid, { key: 'ArrowDown' });\n fireEvent.keyDown(grid, { key: 'ArrowDown' });\n fireEvent.keyUp(items[2], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - shift+space and then shift+space', async () => {\n const data = populateData(5);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n mouseItemSelection(items[0]);\n\n // shift + space to select the 2nd item\n fireEvent.keyUp(items[2], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n expect(items[4].getAttribute('aria-selected')).eq('false');\n\n // shift + space the last item\n fireEvent.keyUp(items[4], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n expect(items[4].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - deselect selected item by shift+space', async () => {\n const data = populateData(3);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n mouseItemSelection(items[0]);\n\n // shift + space to select the 2nd item\n fireEvent.keyUp(items[2], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n\n fireEvent.keyUp(items[1], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection backward - shift+space and then shift+space', async () => {\n const data = populateData(5);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n mouseItemSelection(items[2]);\n\n // shift + space to select the 1st item\n fireEvent.keyUp(items[0], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n expect(items[4].getAttribute('aria-selected')).eq('false');\n\n // shift + space the last item\n fireEvent.keyUp(items[4], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('false');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n expect(items[4].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection backward - shift+click and then shift+space', async () => {\n const data = populateData(5);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n mouseItemSelection(items[2]);\n\n // shift + click to select the 1st item\n mouseItemSelection(items[0], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n expect(items[4].getAttribute('aria-selected')).eq('false');\n\n // shift + space the last item\n fireEvent.keyUp(items[4], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n expect(items[4].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection backward - shift+arrow and then shift+space', async () => {\n const data = populateData(5);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n mouseItemSelection(items[2]);\n\n // shift + arrow to select the 1st item\n fireEvent.keyDown(grid, { key: 'ArrowLeft', shiftKey: true });\n fireEvent.keyDown(grid, { key: 'ArrowLeft', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n expect(items[4].getAttribute('aria-selected')).eq('false');\n\n // shift + space the last item\n fireEvent.keyUp(items[4], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n expect(items[4].getAttribute('aria-selected')).eq('true');\n });\n};\n"],"names":["_jsx","_jsxs","translations"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseCardViewSelectionTest-cf72be09.js","sources":["../../src/PRIVATE_BaseCardView/__tests__/testHelpers.tsx","../../src/PRIVATE_BaseCardView/__tests__/BaseCardViewTest.tsx","../../src/PRIVATE_BaseCardView/__tests__/BaseCardViewSelectionTest.tsx"],"sourcesContent":["import { fireEvent, screen } from '@testing-library/preact';\nimport { VNode } from 'preact';\nimport { Item, ListItemRendererContext, SelectionMode } from '../../UNSAFE_Collection';\nimport { ActionDetail } from '../../UNSAFE_BaseButton';\nimport { Avatar } from '../../UNSAFE_Avatar';\nimport { Button } from '../../UNSAFE_Button';\nimport { Text } from '../../UNSAFE_Text';\nimport { View } from '../../UNSAFE_View';\nimport { Flex } from '../../UNSAFE_Flex';\nimport { Center } from '../../UNSAFE_Center';\nimport { DragHandle } from '../../UNSAFE_DragHandle';\nimport { RootEnvironmentProvider } from '../../UNSAFE_Environment';\nimport { Employee } from '../__dev__/BaseCardViewData';\n\nexport type GenericCardGridProps<K extends string | number> = {\n data: Employee[];\n delay?: number;\n isReorderEnabled?: boolean;\n initialCurrentKey?: Item<K>;\n fetchSize?: number;\n};\n\nexport type ActionCardGridProps<K extends string | number> = GenericCardGridProps<K> & {\n handleAction?: (details: ActionDetail) => void;\n showButton?: boolean; // for testing invalid focusBehavior\n};\n\nexport type SelectionCardGridProps<K extends string | number> = GenericCardGridProps<K> & {\n selectionMode?: SelectionMode;\n selectedKeys?: Set<Employee['id']>;\n};\n\nexport type TestComponentsProps<K extends string | number> = {\n GenericCardGrid: (props: GenericCardGridProps<K>) => VNode;\n ActionCardGrid: (props: ActionCardGridProps<K>) => VNode;\n SelectionCardGrid: (props: SelectionCardGridProps<K>) => VNode;\n} & Record<string, (props: any) => VNode>;\n\nexport const CardContent = ({\n context,\n showButton,\n isReorderEnabled\n}: {\n context: ListItemRendererContext<Employee['id'], Employee>;\n showButton?: boolean;\n isReorderEnabled?: boolean;\n}) => {\n const dragIcon = isReorderEnabled && (\n <RootEnvironmentProvider environment={{ mode: 'test' }}>\n <Center>\n <DragHandle testId={`drag-icon-${context.metadata.key}`} />\n </Center>\n </RootEnvironmentProvider>\n );\n const buttons = showButton && (\n <View paddingBlockStart={'1x'}>\n <Flex direction=\"row\" wrap=\"wrap\" gap={'1x'} width={'100%'}>\n <Button variant=\"outlined\" size=\"md\" label=\"A\" />\n <Button variant=\"outlined\" size=\"md\" label=\"B\" />\n </Flex>\n </View>\n );\n\n return (\n <View padding=\"6px\">\n {dragIcon}\n <View padding=\"10px\" paddingBlockEnd={0}>\n <Avatar initials={context.data.initials} size=\"xl\" />\n <View paddingBlockStart=\"2x\">\n <Text variant=\"primary\" size=\"md\" lineClamp={1}>\n {context.data.name}\n </Text>\n <Text variant=\"secondary\" size=\"md\" lineClamp={1}>\n {context.data.title}\n </Text>\n </View>\n </View>\n <View padding=\"10px\" paddingBlockStart={0}>\n {buttons}\n {context.selector?.()}\n </View>\n </View>\n );\n};\n\nexport const populateData = (count: number, isNumberKey?: boolean) =>\n [...Array(count)].map(\n (_, i) =>\n ({\n id: isNumberKey ? i : `${i}`,\n name: `Employee ${i}`,\n title: `Employee title ${i}`,\n initials: `E${i}`\n }) as Employee\n );\n\nexport const getRoot = async () => {\n return screen.findByRole('grid');\n};\n\nexport const getItems = async (role = 'row') => {\n return screen.findAllByRole(role);\n};\n\nexport const getContents = async (role = 'gridcell') => {\n return screen.findAllByRole(role);\n};\n\nexport const mouseItemSelection = (element: HTMLElement, options?: Record<string, unknown>) => {\n fireEvent.click(element, options);\n};\n\nexport const fireDragAndDropEvent = (dragElement: HTMLElement, dropElement: HTMLElement) => {\n fireEvent.dragStart(dragElement);\n fireEvent.dragEnter(dropElement);\n fireEvent.drop(dropElement);\n fireEvent.dragEnd(dragElement);\n};\n\nexport const keyboardReorder = (\n element: HTMLElement,\n keyCode: 'ArrowLeft' | 'ArrowRight' | 'ArrowUp' | 'ArrowDown'\n) => {\n fireEvent.keyDown(element, {\n key: keyCode,\n code: keyCode,\n shiftKey: true,\n metaKey: true\n });\n};\n","import { render, waitFor, screen, fireEvent } from '@testing-library/preact';\nimport userEvent from '@testing-library/user-event';\nimport { expect } from 'chai';\n\nimport translations from '#resources/nls/en/bundle';\nimport { getClientHints } from '#utils/PRIVATE_clientHints';\nimport {\n getRoot,\n getItems,\n populateData,\n TestComponentsProps,\n mouseItemSelection,\n fireDragAndDropEvent,\n keyboardReorder\n} from './testHelpers';\n\nexport const testRender = ({\n GenericCardGrid,\n ActionCardGrid,\n SelectionCardGrid,\n ContentUpdatableCardGrid\n}: TestComponentsProps<string | number>) => {\n it('initial render', async function () {\n const data = populateData(100);\n render(<GenericCardGrid data={data}></GenericCardGrid>);\n const items = await getItems('gridcell');\n expect(items.length).eq(25);\n });\n\n it('checking key type - string key', async () => {\n const data = populateData(3);\n render(<GenericCardGrid data={data}></GenericCardGrid>);\n const items = await getItems('gridcell');\n expect((items[0] as HTMLElement).dataset['ojKeyType'] === undefined).eq(true);\n expect((items[1] as HTMLElement).dataset['ojKeyType'] === undefined).eq(true);\n expect((items[2] as HTMLElement).dataset['ojKeyType'] === undefined).eq(true);\n });\n\n it('checking key type - numeric key', async () => {\n const data = populateData(3, true);\n render(<GenericCardGrid data={data}></GenericCardGrid>);\n const items = await getItems('gridcell');\n expect((items[0] as HTMLElement).dataset['ojKeyType']).eq('number');\n expect((items[1] as HTMLElement).dataset['ojKeyType']).eq('number');\n expect((items[2] as HTMLElement).dataset['ojKeyType']).eq('number');\n });\n\n it('aria attributes - multiselectable and selected, selectionMode is none', async () => {\n const data = populateData(2);\n render(<SelectionCardGrid data={data}></SelectionCardGrid>);\n const items = await getItems('gridcell');\n const grid = await getRoot();\n\n expect((grid as HTMLElement).getAttribute('aria-multiselectable')).eq(null);\n expect((items[0] as HTMLElement).getAttribute('aria-selected')).eq(null);\n expect((items[1] as HTMLElement).getAttribute('aria-selected')).eq(null);\n });\n\n it('aria attributes - multiselectable and selected, selectionMode is single', async () => {\n const data = populateData(2);\n render(\n <SelectionCardGrid\n data={data}\n selectionMode={'single'}\n selectedKeys={new Set(['1'])}></SelectionCardGrid>\n );\n const items = await getItems('gridcell');\n const grid = await getRoot();\n\n expect((grid as HTMLElement).getAttribute('aria-multiselectable')).eq('false');\n expect((items[0] as HTMLElement).getAttribute('aria-selected')).eq('false');\n expect((items[1] as HTMLElement).getAttribute('aria-selected')).eq('true');\n });\n\n it('aria attributes - multiselectable and selected, selectionMode is multiple', async () => {\n const data = populateData(3);\n render(\n <SelectionCardGrid\n data={data}\n selectionMode={'multiple'}\n selectedKeys={new Set(['1', '2'])}></SelectionCardGrid>\n );\n const items = await getItems('gridcell');\n const grid = await getRoot();\n\n expect((grid as HTMLElement).getAttribute('aria-multiselectable')).eq('true');\n expect((items[0] as HTMLElement).getAttribute('aria-selected')).eq('false');\n expect((items[1] as HTMLElement).getAttribute('aria-selected')).eq('true');\n expect((items[2] as HTMLElement).getAttribute('aria-selected')).eq('true');\n });\n\n // skip this test in jest, only run it in karma mocha\n if (typeof jest === typeof undefined) {\n // because jest doesn't show grid layout, the number of focusable elements is not calculated correctly\n it('content focusBehavior - valid case', async () => {\n const data = populateData(3);\n render(<ActionCardGrid data={data}></ActionCardGrid>);\n const items = await getItems('gridcell');\n\n await userEvent.tab();\n\n await waitFor(() => {\n expect(items[0].matches(':focus-within')).to.be.true;\n });\n });\n\n it('content focusBehavior - invalid case', async () => {\n const data = populateData(3);\n render(<ActionCardGrid data={data} showButton={true}></ActionCardGrid>);\n const grid = await getRoot();\n\n await userEvent.tab();\n await waitFor(() => {\n expect(grid.matches(':focus')).to.be.true;\n });\n });\n }\n\n // JET-61732\n it('memoization - update memoized children', async () => {\n const data = populateData(3);\n const { queryByTestId } = render(\n <ContentUpdatableCardGrid data={data}></ContentUpdatableCardGrid>\n );\n\n const elem0 = queryByTestId(data[0].id) as HTMLElement;\n const elem1 = queryByTestId(data[1].id) as HTMLElement;\n const elem2 = queryByTestId(data[2].id) as HTMLElement;\n expect(elem0?.innerHTML, 'the 1st item initial count should be 0').eq('0');\n expect(elem1?.innerHTML, 'the 2nd item initial count should be 0').eq('0');\n expect(elem2?.innerHTML, 'the 3rd item initial count should be 0').eq('0');\n\n const button = queryByTestId('mybutton') as HTMLElement;\n await userEvent.click(button);\n\n expect(elem0?.innerHTML, 'the 1st item new count should be 1').eq('1');\n expect(elem1?.innerHTML, 'the 2nd item new count should be 1').eq('1');\n expect(elem2?.innerHTML, 'the 3rd item new count should be 1').eq('1');\n });\n\n it('reorder - fire Drag and Drop Event', async () => {\n const data = populateData(5);\n const { queryByTestId } = render(<GenericCardGrid data={data} isReorderEnabled={true} />);\n\n let items = await getItems('gridcell');\n const count = items.length;\n const firstItemDragIcon = queryByTestId('drag-icon-0') as HTMLElement;\n const thirdItemDragIcon = queryByTestId('drag-icon-2') as HTMLElement;\n const firstItem = items[0];\n\n // drag the first item and drop on the third item\n fireDragAndDropEvent(firstItemDragIcon, thirdItemDragIcon);\n await waitFor(async () => {\n items = await getItems('gridcell');\n const updatedThirdItem = items[2];\n expect(firstItem).equals(updatedThirdItem);\n expect(items.length).equal(count);\n });\n });\n\n it('reorder - fire Drag and Drop Event when id is number and start at 0', async () => {\n const data = populateData(5, true);\n const { queryByTestId } = render(<GenericCardGrid data={data} isReorderEnabled={true} />);\n\n let items = await getItems('gridcell');\n const count = items.length;\n const firstItemDragIcon = queryByTestId('drag-icon-0') as HTMLElement;\n const thirdItemDragIcon = queryByTestId('drag-icon-2') as HTMLElement;\n const firstItem = items[0];\n\n // drag the first item and drop on the third item\n fireDragAndDropEvent(firstItemDragIcon, thirdItemDragIcon);\n await waitFor(async () => {\n items = await getItems('gridcell');\n const updatedThirdItem = items[2];\n expect(firstItem).equals(updatedThirdItem);\n expect(items.length).equal(count);\n });\n });\n\n it('reorder - reorder the first item to right using keyboard', async () => {\n const data = populateData(5);\n render(<GenericCardGrid data={data} isReorderEnabled={true} />);\n\n const grid = await getRoot();\n let items = await getItems('gridcell');\n const count = items.length;\n const firstItem = items[0];\n\n // reorder the first item to left\n mouseItemSelection(firstItem);\n keyboardReorder(grid, 'ArrowLeft');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[0];\n expect(firstItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n\n // reorder the first item to right\n keyboardReorder(grid, 'ArrowRight');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[1];\n expect(firstItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n\n // continuous reorder the first item to right\n keyboardReorder(grid, 'ArrowRight');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[2];\n expect(firstItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n });\n\n it('reorder - reorder the last item to left using keyboard', async () => {\n const data = populateData(5);\n render(<GenericCardGrid data={data} isReorderEnabled={true} />);\n\n const grid = await getRoot();\n let items = await getItems('gridcell');\n const count = items.length;\n const lastItem = items[items.length - 1];\n\n // reorder the last item to right\n mouseItemSelection(lastItem);\n keyboardReorder(grid, 'ArrowRight');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[items.length - 1];\n expect(lastItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n\n // reorder the last item to left\n keyboardReorder(grid, 'ArrowLeft');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[items.length - 2];\n expect(lastItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n\n // continuous reorder the last item to left\n keyboardReorder(grid, 'ArrowLeft');\n await waitFor(async () => {\n items = await getItems('gridcell');\n const reorderedItem = items[items.length - 3];\n expect(lastItem).equals(reorderedItem);\n expect(items.length).equal(count);\n });\n });\n\n if (typeof jest == typeof undefined) {\n it('reorder - instruction text should exist when reorder is enabled', async () => {\n // get instruction text\n const { deviceType, platform } = getClientHints();\n const keyPressed =\n platform === 'windows' ? translations.accControlKey() : translations.accCommandKey();\n const reorderInstructions =\n deviceType === 'phone' || deviceType === 'tablet'\n ? ''\n : translations.accReorderInstructions({\n keyPressed: keyPressed\n });\n\n // instruction text should exist when reorder is enabled\n const data = populateData(3);\n const { rerender } = render(<GenericCardGrid data={data} isReorderEnabled={true} />);\n let instructionText = screen.queryByText(reorderInstructions);\n expect(instructionText).not.to.be.null;\n\n // instruction text should not exist when reorder is disabled\n rerender(<GenericCardGrid data={data} />);\n instructionText = screen.queryByText(reorderInstructions);\n expect(instructionText).to.be.null;\n });\n }\n\n // test in karma mocha only since it involves scrolling\n if (typeof jest === typeof undefined) {\n it('scroll into view - when cardview regains focus', async () => {\n const data = populateData(10);\n render(<GenericCardGrid data={data} initialCurrentKey={{ rowKey: data[9].id }} />);\n\n // the initial current item is Employee 9, so the scrollTop is high\n const grid = await getRoot();\n await waitFor(() => {\n expect(grid.scrollTop).to.greaterThanOrEqual(450);\n });\n\n // scroll cardview up until scrollTop is 0\n grid.scrollTop = 0;\n await waitFor(() => {\n expect(grid.scrollTop).to.eq(0);\n });\n\n // tab into cardview, should scroll Employee 9 into view\n grid.focus();\n await waitFor(() => {\n expect(grid.scrollTop).to.greaterThanOrEqual(450);\n });\n });\n }\n\n // test in karma mocha only since it involves rerender\n if (typeof jest === typeof undefined) {\n it('load more on scroll - should fetch data once during keyboard navigation', async () => {\n const data = populateData(21);\n render(<GenericCardGrid data={data} fetchSize={7} />);\n\n let items = await getItems('gridcell');\n const thirdItem = items[3];\n await userEvent.click(thirdItem);\n\n const grid = await getRoot();\n expect(grid.matches(':focus')).to.be.true;\n fireEvent.keyDown(grid, { key: 'ArrowDown' });\n\n await waitFor(async () => {\n items = await getItems('gridcell');\n expect(items.length).to.eq(14);\n });\n\n // load more should only happen once\n try {\n await waitFor(async () => {\n items = await getItems('gridcell');\n expect(items.length).to.eq(21);\n });\n } catch (e) {\n expect(e).not.null;\n }\n }, 6000);\n }\n\n // JET-71257\n it('click an item different than currentItem should not scroll the currentItem back into view', async () => {\n const data = populateData(20);\n\n // the initial current item is Employee 2\n render(<GenericCardGrid data={data} initialCurrentKey={{ rowKey: data[2].id }} />);\n\n const grid = await getRoot();\n const items = await getItems();\n await waitFor(() => {\n expect(grid.scrollTop).to.eq(0);\n });\n\n // scroll cardview down to the bottom\n grid.scrollTop = 450;\n await waitFor(() => {\n expect(grid.scrollTop).to.eq(450);\n });\n\n // click an item different than currentItem\n await userEvent.click(items[19]);\n await waitFor(() => {\n expect(grid.scrollTop).to.eq(450);\n });\n });\n};\n","import { render, waitFor, fireEvent } from '@testing-library/preact';\nimport userEvent from '@testing-library/user-event';\nimport { expect } from 'chai';\nimport {\n getRoot,\n populateData,\n TestComponentsProps,\n getContents,\n mouseItemSelection\n} from './testHelpers';\n\nexport const testSelectionRender = ({\n SelectionCardGrid\n}: TestComponentsProps<string | number>) => {\n it('multiple selection - multiple selected items can be preserved', async () => {\n const data = populateData(3);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n\n mouseItemSelection(items[0]);\n mouseItemSelection(items[1]);\n await waitFor(() => {\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n });\n });\n\n it('range selection - space and then shift+space', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // press space to select the 1st item\n fireEvent.keyUp(items[0], { key: ' ' });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // arrow right to the 3rd item, then shift + space the 3rd item\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyUp(items[2], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - click and then shift+space', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // click to select the 1st item\n mouseItemSelection(items[0]);\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // arrow right to the 3rd item, then shift + space the 3rd item\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyUp(items[2], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - space and then shift+click', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // press space to select the 1st item\n fireEvent.keyUp(items[0], { key: ' ' });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + click the 3rd item\n mouseItemSelection(items[2], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - click and then shift+click', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n\n // click to select the 1st item\n mouseItemSelection(items[0]);\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + click the 3rd item\n mouseItemSelection(items[2], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - from current item to shift+click item', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + click the 3rd item\n fireEvent.click(items[2], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - from current item to shift+arrow items', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + arrow to the 3rd item\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - from current item to shift+click and then shift+click', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + click the 2nd item\n fireEvent.click(items[1], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + click the 4th item\n fireEvent.click(items[3], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - from current item to shift+click and then shift+arrow ', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + click the 2nd item\n fireEvent.click(items[1], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + arrow to the 4th item\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - from current item to shift+click and then shift+space', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + click the 2nd item\n fireEvent.click(items[1], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + space the 4th item\n fireEvent.keyUp(items[3], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('false');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - from current item to shift+arrow and then shift+click', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + arrow to the 2nd item\n fireEvent.click(items[0]);\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // shift + click the 4th item\n fireEvent.click(items[3], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - from current item to shift+arrow and then shift+arrow', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + arrow to the 2nd item\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // arrow to the 3rd item, then shift + arrow to the 4th item\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyDown(grid, { key: 'ArrowRight' });\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('false');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - from current item to shift+arrow and then shift+space', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + arrow to the 2nd item\n fireEvent.click(items[0]);\n fireEvent.keyDown(grid, { key: 'ArrowRight', shiftKey: true });\n await waitFor(() => {\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n // shift + space the 4th item\n fireEvent.keyUp(items[3], { key: ' ', shiftKey: true });\n await waitFor(() => {\n expect(items[0].getAttribute('aria-selected')).eq('false');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n });\n });\n\n it('range selection - from current item to shift+space and then shift+space', async () => {\n const data = populateData(4);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n\n // tab and focus to make the 1st item current\n await userEvent.tab();\n expect(grid.matches(':focus')).to.be.true;\n\n // shift + space to select the 1st item\n fireEvent.keyUp(items[0], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('false');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n\n // arrow down to the 3rd item, then shift + space the 3rd item\n fireEvent.keyDown(grid, { key: 'ArrowDown' });\n fireEvent.keyDown(grid, { key: 'ArrowDown' });\n fireEvent.keyUp(items[2], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n });\n\n it('range selection - shift+space and then shift+space', async () => {\n const data = populateData(5);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n mouseItemSelection(items[0]);\n\n // shift + space to select the 2nd item\n fireEvent.keyUp(items[2], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n expect(items[4].getAttribute('aria-selected')).eq('false');\n\n // shift + space the last item\n fireEvent.keyUp(items[4], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n expect(items[4].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection - deselect selected item by shift+space', async () => {\n const data = populateData(3);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n mouseItemSelection(items[0]);\n\n // shift + space to select the 2nd item\n fireEvent.keyUp(items[2], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n\n fireEvent.keyUp(items[1], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection backward - shift+space and then shift+space', async () => {\n const data = populateData(5);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n mouseItemSelection(items[2]);\n\n // shift + space to select the 1st item\n fireEvent.keyUp(items[0], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n expect(items[4].getAttribute('aria-selected')).eq('false');\n\n // shift + space the last item\n fireEvent.keyUp(items[4], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('false');\n expect(items[1].getAttribute('aria-selected')).eq('false');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n expect(items[4].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection backward - shift+click and then shift+space', async () => {\n const data = populateData(5);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const items = await getContents();\n mouseItemSelection(items[2]);\n\n // shift + click to select the 1st item\n mouseItemSelection(items[0], { shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n expect(items[4].getAttribute('aria-selected')).eq('false');\n\n // shift + space the last item\n fireEvent.keyUp(items[4], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n expect(items[4].getAttribute('aria-selected')).eq('true');\n });\n\n it('range selection backward - shift+arrow and then shift+space', async () => {\n const data = populateData(5);\n render(<SelectionCardGrid data={data} selectionMode={'multiple'}></SelectionCardGrid>);\n\n const grid = await getRoot();\n const items = await getContents();\n mouseItemSelection(items[2]);\n\n // shift + arrow to select the 1st item\n fireEvent.keyDown(grid, { key: 'ArrowLeft', shiftKey: true });\n fireEvent.keyDown(grid, { key: 'ArrowLeft', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('false');\n expect(items[4].getAttribute('aria-selected')).eq('false');\n\n // shift + space the last item\n fireEvent.keyUp(items[4], { key: ' ', shiftKey: true });\n expect(items[0].getAttribute('aria-selected')).eq('true');\n expect(items[1].getAttribute('aria-selected')).eq('true');\n expect(items[2].getAttribute('aria-selected')).eq('true');\n expect(items[3].getAttribute('aria-selected')).eq('true');\n expect(items[4].getAttribute('aria-selected')).eq('true');\n });\n};\n"],"names":["_jsx","_jsxs","translations"],"mappings":"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"}
|