@oracle/oraclejet-preact 20.1.1 → 20.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/amd/AccordionItemMultiple-7cfecf03.js +1 -1
- package/amd/AccordionItemSingle-6c70951e.js +1 -1
- package/amd/BarChart-379e0e10.js +1 -1
- package/amd/{BaseButton-9bf908ec.js → BaseButton-5a0ad529.js} +2 -2
- package/amd/{BaseButton-9bf908ec.js.map → BaseButton-5a0ad529.js.map} +1 -1
- package/amd/BaseCardView-825b1327.js +1 -1
- package/amd/{BaseCardViewSelectionTest-ac780d4f.js → BaseCardViewSelectionTest-66f166ce.js} +2 -2
- package/amd/{BaseCardViewSelectionTest-ac780d4f.js.map → BaseCardViewSelectionTest-66f166ce.js.map} +1 -1
- package/amd/BaseDiagram-7757c344.js +1 -1
- package/amd/BaseRichSelection-57e02c2d.js +1 -1
- package/amd/BaseSelector-3c7b8b87.js +1 -1
- package/amd/BaseSwatchView-2c401b4d.js +1 -1
- package/amd/BaseTabBarItem-6e22fcbc.js +1 -1
- package/amd/Button-e5d7c0e3.js +2 -0
- package/amd/{Button-d541cd67.js.map → Button-e5d7c0e3.js.map} +1 -1
- package/amd/ButtonSet-9f26cc51.js +1 -1
- package/amd/ButtonSetButton-ded680bb.js +1 -1
- package/amd/ButtonSetIconButton-b64b0830.js +1 -1
- package/amd/{Center-27a71002.js → Center-17925696.js} +2 -2
- package/amd/{Center-27a71002.js.map → Center-17925696.js.map} +1 -1
- package/amd/Chart-57d1c518.js +1 -1
- package/amd/Checkbox-3e80f017.js +1 -1
- package/amd/CheckboxControl-0746682f.js +1 -1
- package/amd/CheckboxRadioField-03179844.js +1 -1
- package/amd/CheckboxRadioLabelValueLayout-b728e6ec.js +1 -1
- package/amd/CheckboxSetContext-2e486ea8.js +2 -0
- package/{es/CheckboxSetContext-1be56556.js.map → amd/CheckboxSetContext-2e486ea8.js.map} +1 -1
- package/amd/Chip-8280de2e.js +1 -1
- package/amd/ClearIcon-a066df59.js +1 -1
- package/amd/CollapseIcon-a62fd41c.js +1 -1
- package/amd/Collapsible-0bf0c371.js +1 -1
- package/amd/CollapsibleNavigationList-91858994.js +1 -1
- package/amd/ColorPalette-43ffde6d.js +2 -0
- package/amd/{ColorPalette-f05a9dad.js.map → ColorPalette-43ffde6d.js.map} +1 -1
- package/amd/ColorPicker-3b4180e9.js +2 -0
- package/amd/{ColorPicker-236d84f0.js.map → ColorPicker-3b4180e9.js.map} +1 -1
- package/amd/ColorSwatch-52a06d25.js +1 -1
- package/amd/ComboChart-9cc157af.js +1 -1
- package/amd/CompactHelpSource-09ac9fe1.js +1 -1
- package/amd/CompactLabelAssistance-65c63769.js +2 -0
- package/amd/{CompactLabelAssistance-7bb76228.js.map → CompactLabelAssistance-65c63769.js.map} +1 -1
- package/amd/CompactUserAssistance-2fc90192.js +1 -1
- package/amd/ComponentMessageContainer-d5d70f71.js +1 -1
- package/amd/ConveyorBelt-e54ce1f7.js +1 -1
- package/amd/{DatePicker-89255880.js → DatePicker-ed971798.js} +2 -2
- package/amd/{DatePicker-89255880.js.map → DatePicker-ed971798.js.map} +1 -1
- package/amd/DatePickerHeader-b75e4c72.js +1 -1
- package/amd/{Dialog-ed9c4105.js → Dialog-9a4dbe57.js} +2 -2
- package/amd/{Dialog-ed9c4105.js.map → Dialog-9a4dbe57.js.map} +1 -1
- package/amd/DirectionalCollapseArrowIcon-ddc18f4b.js +1 -1
- package/amd/DirectionalExpandArrowIcon-9c710193.js +1 -1
- package/amd/DragHandle-29eba15d.js +2 -0
- package/amd/{DragHandle-652ffa0f.js.map → DragHandle-29eba15d.js.map} +1 -1
- package/amd/{DrawerPopup-ff31d785.js → DrawerPopup-c9e6374e.js} +2 -2
- package/amd/{DrawerPopup-ff31d785.js.map → DrawerPopup-c9e6374e.js.map} +1 -1
- package/amd/{Dropdown-d1438b58.js → Dropdown-9eed614a.js} +2 -2
- package/amd/{Dropdown-d1438b58.js.map → Dropdown-9eed614a.js.map} +1 -1
- package/amd/EmbeddedIconButton-d1472ac1.js +2 -0
- package/amd/{EmbeddedIconButton-c3cb14c0.js.map → EmbeddedIconButton-d1472ac1.js.map} +1 -1
- package/amd/{EnvironmentProvider-75ba928e.js → EnvironmentProvider-403bf554.js} +2 -2
- package/amd/{EnvironmentProvider-75ba928e.js.map → EnvironmentProvider-403bf554.js.map} +1 -1
- package/amd/ExpandableList-d7b3d65c.js +1 -1
- package/amd/Expander-683df228.js +1 -1
- package/amd/FilePicker-9e24c421.js +1 -1
- package/amd/FlatTreeView-5de96ffd.js +1 -1
- package/amd/Flex-4b81b412.js +2 -0
- package/amd/{Flex-71f83c12.js.map → Flex-4b81b412.js.map} +1 -1
- package/amd/{Floating-08c98ebd.js → Floating-9d6ab071.js} +2 -2
- package/amd/{Floating-08c98ebd.js.map → Floating-9d6ab071.js.map} +1 -1
- package/amd/FormLayout-023ab8de.js +1 -1
- package/amd/Gantt-cdd9d3cb.js +1 -1
- package/amd/{Grid-5324e17b.js → Grid-caac1c86.js} +2 -2
- package/amd/{Grid-5324e17b.js.map → Grid-caac1c86.js.map} +1 -1
- package/amd/GroupLoadingIndicator-4daed099.js +1 -1
- package/amd/HighlightText-ee76c447.js +2 -0
- package/amd/{HighlightText-365ba020.js.map → HighlightText-ee76c447.js.map} +1 -1
- package/amd/Icon-b9a01da9.js +1 -1
- package/amd/IconButton-d78fe636.js +1 -1
- package/amd/IconMenuButton-74b41e62.js +1 -1
- package/amd/IconProgressButton-28f72faa.js +1 -1
- package/amd/IconSwitchButton-22893e1f.js +1 -1
- package/amd/IconToggleButton-9f1c8265.js +1 -1
- package/amd/{IconUserAssistance-e80bf779.js → IconUserAssistance-682b85a2.js} +2 -2
- package/amd/{IconUserAssistance-e80bf779.js.map → IconUserAssistance-682b85a2.js.map} +1 -1
- package/amd/Indexer-27340b0e.js +1 -1
- package/amd/InlineHelpSource-8d8b6a8b.js +1 -1
- package/amd/InlineSelectSingle-4e6a631c.js +1 -1
- package/amd/InlineUserAssistance-91f9ace1.js +1 -1
- package/amd/InputColor-3eca248b.js +2 -0
- package/amd/{InputColor-a1fcd3b3.js.map → InputColor-3eca248b.js.map} +1 -1
- package/amd/InputDateMask-acdfc589.js +1 -1
- package/amd/InputDatePicker-22518a24.js +2 -0
- package/amd/{InputDatePicker-b16a1592.js.map → InputDatePicker-22518a24.js.map} +1 -1
- package/amd/InputPassword-9a1d268d.js +1 -1
- package/amd/InputSensitiveText-e6519508.js +1 -1
- package/amd/InputText-8712623e.js +1 -1
- package/amd/Label-286bacb8.js +1 -1
- package/amd/LabelValueLayout-36bc12e2.js +1 -1
- package/amd/{Layer-64bf71ad.js → Layer-1971eddb.js} +2 -2
- package/amd/{Layer-64bf71ad.js.map → Layer-1971eddb.js.map} +1 -1
- package/amd/{LayerHost-1a734852.js → LayerHost-0b288129.js} +2 -2
- package/amd/{LayerHost-1a734852.js.map → LayerHost-0b288129.js.map} +1 -1
- package/amd/LayerManager-426c669d.js +2 -0
- package/amd/{LayerManager-5ba8e6ed.js.map → LayerManager-426c669d.js.map} +1 -1
- package/amd/Legend-e09a1733.js +1 -1
- package/amd/LineAreaChart-08247f99.js +1 -1
- package/amd/Link-20f7e72d.js +1 -1
- package/amd/List-8d95a024.js +1 -1
- package/amd/{ListItemLayout-23390b90.js → ListItemLayout-2dbba38a.js} +2 -2
- package/amd/{ListItemLayout-23390b90.js.map → ListItemLayout-2dbba38a.js.map} +1 -1
- package/amd/ListView-fe5d340a.js +1 -1
- package/amd/LiveRegion-dbefb95b.js +2 -0
- package/amd/{LiveRegion-1553833d.js.map → LiveRegion-dbefb95b.js.map} +1 -1
- package/amd/{MaxLengthLiveRegion-5172c87a.js → MaxLengthLiveRegion-8f9f7247.js} +2 -2
- package/amd/{MaxLengthLiveRegion-5172c87a.js.map → MaxLengthLiveRegion-8f9f7247.js.map} +1 -1
- package/amd/Menu-4b445ba5.js +1 -1
- package/amd/MenuButton-8428a792.js +1 -1
- package/amd/MenuItem-f3de5e35.js +1 -1
- package/amd/Message-bbea21c4.js +1 -1
- package/amd/MessageBanner-5c18f23c.js +1 -1
- package/amd/MessageLayer-cb7cbb34.js +2 -0
- package/amd/{MessageLayer-24870def.js.map → MessageLayer-cb7cbb34.js.map} +1 -1
- package/amd/MessageToast-9e27adaa.js +1 -1
- package/amd/MessagesManager-4d5f6217.js +1 -1
- package/amd/MeterBar-e8e95881.js +1 -1
- package/amd/MeterCircle-46d479de.js +1 -1
- package/amd/Modal-95bf034f.js +1 -1
- package/amd/{MonthView-15e7e2cc.js → MonthView-93a866a6.js} +2 -2
- package/amd/{MonthView-15e7e2cc.js.map → MonthView-93a866a6.js.map} +1 -1
- package/amd/NavigationListItem-dea4c9e9.js +1 -1
- package/amd/NavigationListLinkItem-e376a039.js +1 -1
- package/amd/NumberInputText-4a58ed41.js +1 -1
- package/amd/OverflowTabBarItem-f23d35fd.js +1 -1
- package/amd/PRIVATE_BaseCardView.js +1 -1
- package/amd/PRIVATE_BaseDiagram.js +1 -1
- package/amd/PRIVATE_BaseSelector.js +1 -1
- package/amd/PRIVATE_BaseSwatchView.js +1 -1
- package/amd/PRIVATE_Chart.js +1 -1
- package/amd/PRIVATE_CheckboxControl.js +1 -1
- package/amd/PRIVATE_CheckboxRadioField.js +1 -1
- package/amd/PRIVATE_ClearIcon.js +1 -1
- package/amd/PRIVATE_CollapsibleNavigationList.js +1 -1
- package/amd/PRIVATE_DatePickerHeader.js +1 -1
- package/amd/PRIVATE_DatePickerLayout.js +1 -1
- package/amd/PRIVATE_EmbeddedIconButton.js +1 -1
- package/amd/PRIVATE_Expander.js +1 -1
- package/amd/PRIVATE_FormControls.js +1 -1
- package/amd/PRIVATE_IconSwitchButton.js +1 -1
- package/amd/PRIVATE_Icons/CheckboxCrossed.js +1 -1
- package/amd/PRIVATE_Icons/CheckboxMixed.js +1 -1
- package/amd/PRIVATE_Icons/CheckboxOff.js +1 -1
- package/amd/PRIVATE_Icons/CheckboxOn.js +1 -1
- package/amd/PRIVATE_Icons/DragV.js +1 -1
- package/amd/PRIVATE_Icons/None.js +1 -1
- package/amd/PRIVATE_List.js +1 -1
- package/amd/PRIVATE_Message.js +1 -1
- package/amd/PRIVATE_MessageLayer.js +1 -1
- package/amd/PRIVATE_MonthView.js +1 -1
- package/amd/PRIVATE_MonthYearGridView.js +1 -1
- package/amd/PRIVATE_PlotArea.js +1 -1
- package/amd/PRIVATE_RevealToggleIcon.js +1 -1
- package/amd/PRIVATE_RichSelectionCommon.js +1 -1
- package/amd/PRIVATE_SelectCommon.js +1 -1
- package/amd/PRIVATE_StyledCard.js +1 -1
- package/amd/PRIVATE_StyledCheckbox.js +1 -1
- package/amd/PRIVATE_StyledSwitch.js +1 -1
- package/amd/PRIVATE_SwatchFlexView.js +1 -1
- package/amd/PRIVATE_Table.js +1 -1
- package/amd/PRIVATE_TableDisplay.js +1 -1
- package/amd/PRIVATE_TableList.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CalendarIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ChartPanIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ChartZoomIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CheckIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CheckboxCrossedIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CheckboxOffIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CheckboxOnIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CloseIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CollapseIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CollapseUpIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DecrementIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DeleteIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DragHandleIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DropdownArrowIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ExpandIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/HelpIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/IncrementIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MessageErrorIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MessageInfoIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MessageWarningIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MinusIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/NavDownIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/None.js +1 -1
- package/amd/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/PlusIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/RadioOffIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/RadioOnIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/SortAscendingIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/SortDescendingIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ViewHideIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ViewIcon.js +1 -1
- package/amd/PRIVATE_TimeComponent.js +1 -1
- package/amd/PRIVATE_TruncatingLink.js +1 -1
- package/amd/PRIVATE_VisOverview.js +1 -1
- package/amd/PRIVATE_VisStatusMessage.js +1 -1
- package/amd/PRIVATE_VisTabularDatatip.js +1 -1
- package/amd/PictoChart-1262b65e.js +1 -1
- package/amd/PieChart-0e4eacd7.js +1 -1
- package/amd/{Popup-575d49f7.js → Popup-feb5bf60.js} +2 -2
- package/amd/{Popup-575d49f7.js.map → Popup-feb5bf60.js.map} +1 -1
- package/amd/{ProgressBar-4074bb67.js → ProgressBar-d7aa356a.js} +2 -2
- package/amd/{ProgressBar-4074bb67.js.map → ProgressBar-d7aa356a.js.map} +1 -1
- package/amd/ProgressButton-71c1dda9.js +1 -1
- package/amd/ProgressButtonLabelLayout-4f7aa87d.js +1 -1
- package/amd/{ProgressCircle-df7641ef.js → ProgressCircle-8a94e670.js} +2 -2
- package/amd/{ProgressCircle-df7641ef.js.map → ProgressCircle-8a94e670.js.map} +1 -1
- package/amd/RadioItem-c5f0676c.js +1 -1
- package/amd/RadioSet-c3ad77d7.js +1 -1
- package/amd/RatingGauge-d0e95f46.js +1 -1
- package/amd/ReadonlyTextFieldInput-41384d7e.js +1 -1
- package/amd/{ReferenceLineArea-27698a8f.js → ReferenceLineArea-450530dd.js} +2 -2
- package/amd/{ReferenceLineArea-27698a8f.js.map → ReferenceLineArea-450530dd.js.map} +1 -1
- package/amd/RemovableNavigationListItem-5e5a9068.js +1 -1
- package/amd/RemovableTabBarItem-ce314e8b.js +1 -1
- package/amd/ReorderableTabBar-3ff37ba7.js +1 -1
- package/amd/RevealToggleIcon-bd35b257.js +1 -1
- package/amd/ScatterChart-af0d8118.js +1 -1
- package/amd/SectionalLegend-aa7254ff.js +1 -1
- package/amd/{SectionedContent-32ec078e.js → SectionedContent-a89bafc6.js} +2 -2
- package/amd/{SectionedContent-32ec078e.js.map → SectionedContent-a89bafc6.js.map} +1 -1
- package/amd/SegmentStyles.styles.css +12 -9
- package/amd/SegmentStyles.styles2.css +9 -12
- package/amd/SelectMobileFieldInput-b1524b1e.js +1 -1
- package/amd/SelectMultiple-f70618cf.js +1 -1
- package/amd/SelectSingle-971886ab.js +1 -1
- package/amd/{SelectorAll-e9acae58.js → SelectorAll-6652fd3f.js} +2 -2
- package/amd/{SelectorAll-e9acae58.js.map → SelectorAll-6652fd3f.js.map} +1 -1
- package/amd/Sheet-1d02491d.js +1 -1
- package/amd/SortControl-ec2db600.js +1 -1
- package/amd/SplitMenuButton-bf59897c.js +1 -1
- package/amd/StyledCard-4baafee3.js +1 -1
- package/amd/{StyledLabelValueLayout-16ac9a5e.js → StyledLabelValueLayout-907bc2d3.js} +2 -2
- package/amd/{StyledLabelValueLayout-16ac9a5e.js.map → StyledLabelValueLayout-907bc2d3.js.map} +1 -1
- package/amd/StyledSwitch-0881e505.js +1 -1
- package/amd/StyledTextField-f533c9e9.js +1 -1
- package/amd/Submenu-99c05da1.js +1 -1
- package/amd/TabBar-8ab0fd0d.js +1 -1
- package/amd/TabBarContextMenu-06f7beb2.js +1 -1
- package/amd/TabBarLayout-4eb6c732.js +1 -1
- package/amd/TabBarMixed-41258b80.js +1 -1
- package/amd/{TabBarMixedSeparator-c77d8e96.js → TabBarMixedSeparator-019d266b.js} +2 -2
- package/amd/{TabBarMixedSeparator-c77d8e96.js.map → TabBarMixedSeparator-019d266b.js.map} +1 -1
- package/amd/Table-2d35f829.js +1 -1
- package/amd/TableColGroup-30abc1ce.js +1 -1
- package/amd/TableDisplay-e3a86f26.js +1 -1
- package/amd/TagCloud-4970d243.js +1 -1
- package/amd/TextArea-6b324b42.js +1 -1
- package/amd/TextAreaAutosize-5d9bf2b2.js +1 -1
- package/amd/TextField-1da09ebc.js +1 -1
- package/amd/TextFieldInput-f8635c62.js +1 -1
- package/amd/Theme-redwood/theme.css +147 -147
- package/amd/Theme-stable/theme.css +255 -255
- package/amd/TimeComponentCanvas2D-a17f51f1.js +1 -1
- package/amd/ToggleButton-c9e433d4.js +1 -1
- package/amd/Toolbar-663b9254.js +1 -1
- package/amd/TruncatingBadge-80a8c903.js +1 -1
- package/amd/TruncatingLink-aa577ffc.js +1 -1
- package/amd/TruncatingText-bdbdd4d4.js +1 -1
- package/amd/UNSAFE_AccordionItemMultiple.js +1 -1
- package/amd/UNSAFE_AccordionItemSingle.js +1 -1
- package/amd/UNSAFE_ActionCard.js +1 -1
- package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
- package/amd/UNSAFE_BarChart.js +1 -1
- package/amd/UNSAFE_BareButton.js +1 -1
- package/amd/UNSAFE_BaseButton.js +1 -1
- package/amd/UNSAFE_Button.js +1 -1
- package/amd/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
- package/amd/UNSAFE_ButtonSet.js +1 -1
- package/amd/UNSAFE_ButtonSetButton.js +1 -1
- package/amd/UNSAFE_ButtonSetIconButton.js +1 -1
- package/amd/UNSAFE_ButtonSetItem.js +1 -1
- package/amd/UNSAFE_ButtonSetMultiple.js +1 -1
- package/amd/UNSAFE_ButtonSetSingle.js +1 -1
- package/amd/UNSAFE_Card.js +1 -1
- package/amd/UNSAFE_CardFlexView.js +1 -1
- package/amd/UNSAFE_CardGridView.js +1 -1
- package/amd/UNSAFE_Center.js +1 -1
- package/amd/UNSAFE_Checkbox.js +1 -1
- package/amd/UNSAFE_CheckboxItem.js +1 -1
- package/amd/UNSAFE_CheckboxItem.js.map +1 -1
- package/amd/UNSAFE_CheckboxRadioField.js +1 -1
- package/amd/UNSAFE_CheckboxSet.js +1 -1
- package/amd/UNSAFE_CheckboxSet.js.map +1 -1
- package/amd/UNSAFE_Chip.js +1 -1
- package/amd/UNSAFE_Collapsible.js +1 -1
- package/amd/UNSAFE_ColorPalette.js +1 -1
- package/amd/UNSAFE_ColorPicker.js +1 -1
- package/amd/UNSAFE_ColorSwatch.js +1 -1
- package/amd/UNSAFE_ComboChart.js +1 -1
- package/amd/UNSAFE_ComponentMessage.js +1 -1
- package/amd/UNSAFE_ContainerDiagram.js +1 -1
- package/amd/UNSAFE_ConveyorBelt.js +1 -1
- package/amd/UNSAFE_DatePicker.js +1 -1
- package/amd/UNSAFE_Diagram.js +1 -1
- package/amd/UNSAFE_Dialog.js +1 -1
- package/amd/UNSAFE_DragHandle.js +1 -1
- package/amd/UNSAFE_DrawerLayout.js +1 -1
- package/amd/UNSAFE_DrawerPopup.js +1 -1
- package/amd/UNSAFE_Dropdown.js +1 -1
- package/amd/UNSAFE_Environment.js +1 -1
- package/amd/UNSAFE_ExpandableList.js +1 -1
- package/amd/UNSAFE_FilePicker.js +1 -1
- package/amd/UNSAFE_FlatTreeView.js +1 -1
- package/amd/UNSAFE_Flex.js +1 -1
- package/amd/UNSAFE_Floating.js +1 -1
- package/amd/UNSAFE_FormLayout.js +1 -1
- package/amd/UNSAFE_Gantt.js +1 -1
- package/amd/UNSAFE_Grid.js +1 -1
- package/amd/UNSAFE_HighlightText.js +1 -1
- package/amd/UNSAFE_Icon.js +1 -1
- package/amd/UNSAFE_IconButton.js +1 -1
- package/amd/UNSAFE_IconMenuButton.js +1 -1
- package/amd/UNSAFE_IconProgressButton.js +1 -1
- package/amd/UNSAFE_IconToggleButton.js +1 -1
- package/amd/UNSAFE_Indexer.js +1 -1
- package/amd/UNSAFE_InlineSelectSingle.js +1 -1
- package/amd/UNSAFE_InputColor.js +1 -1
- package/amd/UNSAFE_InputDateMask/themes/SegmentStyles.css.js +1 -1
- package/amd/UNSAFE_InputDateMask.js +1 -1
- package/amd/UNSAFE_InputDatePicker.js +1 -1
- package/amd/UNSAFE_InputPassword.js +1 -1
- package/amd/UNSAFE_InputSensitiveText.js +1 -1
- package/amd/UNSAFE_InputText.js +1 -1
- package/amd/UNSAFE_InputTimeMask/themes/SegmentStyles.css.js +1 -1
- package/amd/UNSAFE_InputTimeMask.js +1 -1
- package/amd/UNSAFE_InputTimeMask.js.map +1 -1
- package/amd/UNSAFE_Label.js +1 -1
- package/amd/UNSAFE_LabelValueLayout.js +1 -1
- package/amd/UNSAFE_LabelledLink.js +1 -1
- package/amd/UNSAFE_Layer.js +1 -1
- package/amd/UNSAFE_Legend.js +1 -1
- package/amd/UNSAFE_LineAreaChart.js +1 -1
- package/amd/UNSAFE_Link.js +1 -1
- package/amd/UNSAFE_ListItemLayout.js +1 -1
- package/amd/UNSAFE_ListView.js +1 -1
- package/amd/UNSAFE_LiveRegion.js +1 -1
- package/amd/UNSAFE_Menu.js +1 -1
- package/amd/UNSAFE_MenuButton.js +1 -1
- package/amd/UNSAFE_MessageBanner.js +1 -1
- package/amd/UNSAFE_MessageToast.js +1 -1
- package/amd/UNSAFE_MeterBar.js +1 -1
- package/amd/UNSAFE_MeterCircle.js +1 -1
- package/amd/UNSAFE_Modal.js +1 -1
- package/amd/UNSAFE_NavigationList.js +1 -1
- package/amd/UNSAFE_NavigationListCommon.js +1 -1
- package/amd/UNSAFE_NumberInputText.js +1 -1
- package/amd/UNSAFE_OverflowTabBar.js +1 -1
- package/amd/UNSAFE_PictoChart.js +1 -1
- package/amd/UNSAFE_PieChart/__test__/PieChart.spec.js +1 -1
- package/amd/UNSAFE_PieChart.js +1 -1
- package/amd/UNSAFE_Popup.js +1 -1
- package/amd/UNSAFE_ProgressBar.js +1 -1
- package/amd/UNSAFE_ProgressButton.js +1 -1
- package/amd/UNSAFE_ProgressButtonLabelLayout.js +1 -1
- package/amd/UNSAFE_ProgressCircle.js +1 -1
- package/amd/UNSAFE_RadioItem.js +1 -1
- package/amd/UNSAFE_RadioSet.js +1 -1
- package/amd/UNSAFE_RatingGauge.js +1 -1
- package/amd/UNSAFE_ReorderableTabBar.js +1 -1
- package/amd/UNSAFE_RichCheckboxSet.js +1 -1
- package/amd/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/amd/UNSAFE_RichRadioSet.js +1 -1
- package/amd/UNSAFE_RichSelectionItem.js +1 -1
- package/amd/UNSAFE_RichSelectionItem.js.map +1 -1
- package/amd/UNSAFE_ScatterChart.js +1 -1
- package/amd/UNSAFE_SectionalLegend.js +1 -1
- package/amd/UNSAFE_SelectMultiple.js +1 -1
- package/amd/UNSAFE_SelectSingle.js +1 -1
- package/amd/UNSAFE_SelectionCard.js +1 -1
- package/amd/UNSAFE_Selector.js +1 -1
- package/amd/UNSAFE_SelectorAll.js +1 -1
- package/amd/UNSAFE_Sheet/__test__/Sheet.spec.js +1 -1
- package/amd/UNSAFE_Sheet.js +1 -1
- package/amd/UNSAFE_SortControl.js +1 -1
- package/amd/UNSAFE_SplitMenuButton.js +1 -1
- package/amd/UNSAFE_Switch.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_TagCloud.js +1 -1
- package/amd/UNSAFE_TextArea.js +1 -1
- package/amd/UNSAFE_TextAreaAutosize.js +1 -1
- package/amd/UNSAFE_TextField.js +1 -1
- package/amd/UNSAFE_ToggleButton.js +1 -1
- package/amd/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
- package/amd/UNSAFE_Toolbar.js +1 -1
- package/amd/UNSAFE_Train.js +1 -1
- package/amd/UNSAFE_TruncatingBadge.js +1 -1
- package/amd/UNSAFE_TruncatingText.js +1 -1
- package/amd/UNSAFE_UserAssistance.js +1 -1
- package/amd/UNSAFE_View.js +1 -1
- package/amd/UNSAFE_VirtualizedListView.js +1 -1
- package/amd/UNSAFE_VisInvalidDataMessage.js +1 -1
- package/amd/UNSAFE_VisNoDataMessage.js +1 -1
- package/amd/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +1 -1
- package/amd/UNSAFE_VisProgressiveLoader.js +1 -1
- package/amd/UNSAFE_WindowOverlay.js +1 -1
- package/amd/{View-215ec211.js → View-35699bb2.js} +2 -2
- package/amd/{View-215ec211.js.map → View-35699bb2.js.map} +1 -1
- package/amd/{VisInvalidDataMessage-139a0bf8.js → VisInvalidDataMessage-8e7534a7.js} +2 -2
- package/amd/{VisInvalidDataMessage-139a0bf8.js.map → VisInvalidDataMessage-8e7534a7.js.map} +1 -1
- package/amd/VisNoDataMessage-fc41dae3.js +2 -0
- package/amd/{VisNoDataMessage-e4eb08f6.js.map → VisNoDataMessage-fc41dae3.js.map} +1 -1
- package/amd/{VisPlaceholder-a7cac338.js → VisPlaceholder-1bbfb2f0.js} +2 -2
- package/amd/{VisPlaceholder-a7cac338.js.map → VisPlaceholder-1bbfb2f0.js.map} +1 -1
- package/amd/{VisProgressiveLoader-10192b41.js → VisProgressiveLoader-eeac2e00.js} +2 -2
- package/amd/{VisProgressiveLoader-10192b41.js.map → VisProgressiveLoader-eeac2e00.js.map} +1 -1
- package/amd/{VisStatusMessage-307f20e9.js → VisStatusMessage-ac3a90aa.js} +2 -2
- package/amd/{VisStatusMessage-307f20e9.js.map → VisStatusMessage-ac3a90aa.js.map} +1 -1
- package/amd/{VisTabularDatatip-d6b9f28f.js → VisTabularDatatip-93d56ae8.js} +2 -2
- package/amd/{VisTabularDatatip-d6b9f28f.js.map → VisTabularDatatip-93d56ae8.js.map} +1 -1
- package/amd/{WindowOverlay-55232139.js → WindowOverlay-11d88211.js} +2 -2
- package/amd/{WindowOverlay-55232139.js.map → WindowOverlay-11d88211.js.map} +1 -1
- package/amd/{YearsGridView-ef191926.js → YearsGridView-09b45b4e.js} +2 -2
- package/amd/{YearsGridView-ef191926.js.map → YearsGridView-09b45b4e.js.map} +1 -1
- package/amd/hoc/PRIVATE_withDirectionIcon.js +1 -1
- package/amd/hoc/PRIVATE_withThemeIcon.js +1 -1
- package/amd/hoc/UNSAFE_withThemeProps.js +1 -1
- package/amd/hooks/PRIVATE_useChartContextMenu.js +1 -1
- package/amd/hooks/PRIVATE_useChartDatatip.js +1 -1
- package/amd/hooks/PRIVATE_useChartEvents.js +1 -1
- package/amd/hooks/PRIVATE_useChartMarquee.js +1 -1
- package/amd/hooks/PRIVATE_useCollectionFocusRing.js +1 -1
- package/amd/hooks/PRIVATE_useCssVars.js +1 -1
- package/amd/hooks/PRIVATE_useCurrentKey.js +1 -1
- package/amd/hooks/PRIVATE_useDatatip.js +1 -1
- package/amd/hooks/PRIVATE_useDetectHorizontalOverflow.js +1 -1
- package/amd/hooks/PRIVATE_useFloating.js +1 -1
- package/amd/hooks/PRIVATE_useItemAction.js +1 -1
- package/amd/hooks/PRIVATE_useListCommon.js +1 -1
- package/amd/hooks/PRIVATE_useOutsideMousedown.js +1 -1
- package/amd/hooks/PRIVATE_useRadioFocusManager.js +1 -1
- package/amd/hooks/PRIVATE_useReorderable.js +1 -1
- package/amd/hooks/PRIVATE_useRovingTabIndexContainer.js +1 -1
- package/amd/hooks/PRIVATE_useSelection.js +1 -1
- package/amd/hooks/PRIVATE_useTabBar.js +1 -1
- package/amd/hooks/PRIVATE_useTabbableModeSet.js +1 -1
- package/amd/hooks/PRIVATE_useTooltipOnTruncation.js +1 -1
- package/amd/hooks/PRIVATE_useVisContextMenu.js +1 -1
- package/amd/hooks/PRIVATE_useVisDragModeControls.js +1 -1
- package/amd/hooks/PRIVATE_useVisEvents.js +1 -1
- package/amd/hooks/PRIVATE_useVisMeterEvents.js +1 -1
- package/amd/hooks/PRIVATE_useVisSelection.js +1 -1
- package/amd/hooks/UNSAFE_useBareButton.js +1 -1
- package/amd/hooks/UNSAFE_useColorScheme.js +1 -1
- package/amd/hooks/UNSAFE_useCurrentBgColor.js +1 -1
- package/amd/hooks/UNSAFE_useDensity.js +1 -1
- package/amd/hooks/UNSAFE_useHiddenTestMethod.js +1 -1
- package/amd/hooks/UNSAFE_useOutsideClick.js +1 -1
- package/amd/hooks/UNSAFE_usePrefixSuffix.js +1 -1
- package/amd/hooks/UNSAFE_useScale.js +1 -1
- package/amd/hooks/UNSAFE_useTestId.js +1 -1
- package/amd/hooks/UNSAFE_useTheme.js +1 -1
- package/amd/hooks/UNSAFE_useThemeInterpolations.js +1 -1
- package/amd/hooks/UNSAFE_useTooltip.js +1 -1
- package/amd/hooks/UNSAFE_useTranslationBundle.js +1 -1
- package/amd/hooks/UNSAFE_useUser.js +1 -1
- package/amd/{index-4f562976.js → index-5899fd61.js} +2 -2
- package/amd/index-5899fd61.js.map +1 -0
- package/amd/listViewSelectionTests-c5492828.js +1 -1
- package/amd/popupUtils-d42db8bf.js +2 -0
- package/amd/{popupUtils-71ea5dd1.js.map → popupUtils-d42db8bf.js.map} +1 -1
- package/amd/render-0e124b25.js +2 -0
- package/amd/{render-40923005.js.map → render-0e124b25.js.map} +1 -1
- package/amd/{tabbableUtils-7fa099af.js → tabbableUtils-0f5a148a.js} +2 -2
- package/amd/{tabbableUtils-7fa099af.js.map → tabbableUtils-0f5a148a.js.map} +1 -1
- package/amd/{testData-db08ddc1.js → testData-0ee09770.js} +2 -2
- package/amd/{testData-db08ddc1.js.map → testData-0ee09770.js.map} +1 -1
- package/amd/{testData-d92d6bdb.js → testData-c84b4335.js} +2 -2
- package/amd/{testData-d92d6bdb.js.map → testData-c84b4335.js.map} +1 -1
- package/amd/{tooltipUtils-0761844d.js → tooltipUtils-66f3844a.js} +2 -2
- package/amd/{tooltipUtils-0761844d.js.map → tooltipUtils-66f3844a.js.map} +1 -1
- package/amd/useBareButton-0afa84c2.js +1 -1
- package/amd/useCellNavigation-fe5a7be7.js +1 -1
- package/amd/useChartContextMenu-1490ade6.js +1 -1
- package/amd/{useChartDatatip-1255260f.js → useChartDatatip-1dc977ae.js} +2 -2
- package/amd/{useChartDatatip-1255260f.js.map → useChartDatatip-1dc977ae.js.map} +1 -1
- package/amd/{useColorScheme-6cb3a3b7.js → useColorScheme-097c31ff.js} +2 -2
- package/amd/{useColorScheme-6cb3a3b7.js.map → useColorScheme-097c31ff.js.map} +1 -1
- package/amd/useContextMenu-c4fc924d.js +1 -1
- package/amd/{useCssVars-d0c0bfa2.js → useCssVars-3194b2f6.js} +2 -2
- package/amd/{useCssVars-d0c0bfa2.js.map → useCssVars-3194b2f6.js.map} +1 -1
- package/amd/{useCurrentBgColor-3044b50a.js → useCurrentBgColor-6f440613.js} +2 -2
- package/amd/{useCurrentBgColor-3044b50a.js.map → useCurrentBgColor-6f440613.js.map} +1 -1
- package/amd/useCurrentKey-5749e7fb.js +2 -0
- package/amd/{useCurrentKey-05038cac.js.map → useCurrentKey-5749e7fb.js.map} +1 -1
- package/amd/{useDatatip-656c8df6.js → useDatatip-df022581.js} +2 -2
- package/amd/{useDatatip-656c8df6.js.map → useDatatip-df022581.js.map} +1 -1
- package/amd/{useDensity-622a2d34.js → useDensity-8a10fc70.js} +2 -2
- package/amd/{useDensity-622a2d34.js.map → useDensity-8a10fc70.js.map} +1 -1
- package/amd/useDisplayValue-a15b1a34.js +1 -1
- package/amd/{useExpandCollapse-d8799966.js → useExpandCollapse-41860b2a.js} +2 -2
- package/amd/{useExpandCollapse-d8799966.js.map → useExpandCollapse-41860b2a.js.map} +1 -1
- package/amd/{useFloating-0bdf9133.js → useFloating-5cb85d2b.js} +2 -2
- package/amd/{useFloating-0bdf9133.js.map → useFloating-5cb85d2b.js.map} +1 -1
- package/amd/{useHiddenTestMethod-6bbe8a43.js → useHiddenTestMethod-8321d341.js} +2 -2
- package/amd/{useHiddenTestMethod-6bbe8a43.js.map → useHiddenTestMethod-8321d341.js.map} +1 -1
- package/amd/useKeyboardEvents-f0419128.js +2 -0
- package/amd/{useKeyboardEvents-191a444a.js.map → useKeyboardEvents-f0419128.js.map} +1 -1
- package/amd/useLegendContextMenu-9b6f6083.js +1 -1
- package/amd/useMeterDatatip-5598534c.js +2 -0
- package/amd/{useMeterDatatip-d6977d41.js.map → useMeterDatatip-5598534c.js.map} +1 -1
- package/amd/useNavigation-8d7dae30.js +1 -1
- package/amd/{useOutsideClick-ace4f686.js → useOutsideClick-b9b661a4.js} +2 -2
- package/amd/{useOutsideClick-ace4f686.js.map → useOutsideClick-b9b661a4.js.map} +1 -1
- package/amd/{useOutsideMousedown-62fa309c.js → useOutsideMousedown-cb88da60.js} +2 -2
- package/amd/{useOutsideMousedown-62fa309c.js.map → useOutsideMousedown-cb88da60.js.map} +1 -1
- package/amd/usePopupAnimation-dc282b02.js +2 -0
- package/amd/{usePopupAnimation-389749fc.js.map → usePopupAnimation-dc282b02.js.map} +1 -1
- package/amd/usePrefixSuffix-dd2cae55.js +2 -0
- package/amd/{usePrefixSuffix-7371ec52.js.map → usePrefixSuffix-dd2cae55.js.map} +1 -1
- package/amd/useRadioFocusManager-462e28eb.js +2 -0
- package/amd/{useRadioFocusManager-c613d2fc.js.map → useRadioFocusManager-462e28eb.js.map} +1 -1
- package/amd/{useReorderableItem-6ab59e42.js → useReorderableItem-0f9d7742.js} +2 -2
- package/amd/{useReorderableItem-6ab59e42.js.map → useReorderableItem-0f9d7742.js.map} +1 -1
- package/amd/{useRovingTabIndexContainer-a8b8ab8f.js → useRovingTabIndexContainer-9aa2fbcf.js} +2 -2
- package/amd/{useRovingTabIndexContainer-a8b8ab8f.js.map → useRovingTabIndexContainer-9aa2fbcf.js.map} +1 -1
- package/amd/{useScale-404175fb.js → useScale-04a448c3.js} +2 -2
- package/amd/{useScale-404175fb.js.map → useScale-04a448c3.js.map} +1 -1
- package/amd/useSelectCommon-be138f8d.js +1 -1
- package/amd/{useSelectDrill-a749b7f8.js → useSelectDrill-2a3c2b81.js} +2 -2
- package/amd/{useSelectDrill-a749b7f8.js.map → useSelectDrill-2a3c2b81.js.map} +1 -1
- package/amd/{useSelection-8f66e2ab.js → useSelection-00add7e4.js} +2 -2
- package/amd/{useSelection-8f66e2ab.js.map → useSelection-00add7e4.js.map} +1 -1
- package/amd/{useSelection-48cb7bdf.js → useSelection-aecb6b23.js} +2 -2
- package/amd/{useSelection-48cb7bdf.js.map → useSelection-aecb6b23.js.map} +1 -1
- package/amd/useTabBar-50c4da2d.js +1 -1
- package/amd/{useTabBarItemTooltip-0c13e9b4.js → useTabBarItemTooltip-fac844e2.js} +2 -2
- package/amd/{useTabBarItemTooltip-0c13e9b4.js.map → useTabBarItemTooltip-fac844e2.js.map} +1 -1
- package/amd/{useTestId-6160e7a2.js → useTestId-f4240cbd.js} +2 -2
- package/amd/{useTestId-6160e7a2.js.map → useTestId-f4240cbd.js.map} +1 -1
- package/amd/{useTheme-59bafcbb.js → useTheme-da27e1d1.js} +2 -2
- package/amd/{useTheme-59bafcbb.js.map → useTheme-da27e1d1.js.map} +1 -1
- package/amd/useThemeInterpolations-cc05b0f0.js +2 -0
- package/amd/{useThemeInterpolations-53e9343f.js.map → useThemeInterpolations-cc05b0f0.js.map} +1 -1
- package/amd/useTooltip-c8aaf38a.js +2 -0
- package/amd/{useTooltip-5615359f.js.map → useTooltip-c8aaf38a.js.map} +1 -1
- package/amd/{useTooltipControlled-0e181f1a.js → useTooltipControlled-af5409d4.js} +2 -2
- package/amd/{useTooltipControlled-0e181f1a.js.map → useTooltipControlled-af5409d4.js.map} +1 -1
- package/amd/useTooltipOnTruncation-129d7663.js +2 -0
- package/amd/{useTooltipOnTruncation-5c26fe42.js.map → useTooltipOnTruncation-129d7663.js.map} +1 -1
- package/amd/{useTranslationBundle-db326955.js → useTranslationBundle-e4dd341e.js} +2 -2
- package/amd/{useTranslationBundle-db326955.js.map → useTranslationBundle-e4dd341e.js.map} +1 -1
- package/amd/{useUser-e0677e8d.js → useUser-08901aba.js} +2 -2
- package/amd/{useUser-e0677e8d.js.map → useUser-08901aba.js.map} +1 -1
- package/amd/useVisDragModeControls-47a4f754.js +1 -1
- package/amd/{useVisEvents-4860cd24.js → useVisEvents-5f18ab46.js} +2 -2
- package/amd/{useVisEvents-4860cd24.js.map → useVisEvents-5f18ab46.js.map} +1 -1
- package/amd/utils/PRIVATE_collectionUtils.js +1 -1
- package/amd/utils/PRIVATE_tabBarUtils.js +1 -1
- package/amd/utils/PRIVATE_tooltipUtils.js +1 -1
- package/amd/utils/PRIVATE_visTestUtils.js +1 -1
- package/amd/utils/UNSAFE_popupUtils.js +1 -1
- package/amd/{withDirectionIcon-07d1a4ee.js → withDirectionIcon-cea07c6e.js} +2 -2
- package/amd/{withDirectionIcon-07d1a4ee.js.map → withDirectionIcon-cea07c6e.js.map} +1 -1
- package/amd/withThemeProps-88ad9dea.js +1 -1
- package/cjs/{BaseCardView-b34fe51b.js → BaseCardView-5690e60a.js} +1 -4
- package/cjs/{BaseCardView-b34fe51b.js.map → BaseCardView-5690e60a.js.map} +1 -1
- package/cjs/{ColorPicker-24ef1a81.js → ColorPicker-3e500453.js} +2 -2
- package/cjs/{ColorPicker-24ef1a81.js.map → ColorPicker-3e500453.js.map} +1 -1
- package/cjs/PRIVATE_BaseCardView.js +1 -1
- package/cjs/PRIVATE_TableList.js +4 -4
- package/cjs/{TabBar-ab270d09.js → TabBar-a6629ef8.js} +1 -3
- package/cjs/{TabBar-ab270d09.js.map → TabBar-a6629ef8.js.map} +1 -1
- package/cjs/Theme-redwood/theme.css +152 -152
- package/cjs/Theme-stable/theme.css +164 -164
- package/cjs/UNSAFE_CardFlexView.js +1 -1
- package/cjs/UNSAFE_CardGridView.js +1 -1
- package/cjs/UNSAFE_ColorPicker.js +25 -25
- package/cjs/UNSAFE_InputColor.js +2 -2
- package/cjs/UNSAFE_ListView.js +53 -53
- package/cjs/UNSAFE_OverflowTabBar.js +10 -10
- package/cjs/UNSAFE_ReorderableTabBar.js +12 -12
- package/cjs/UNSAFE_TabBar.js +10 -10
- package/cjs/UNSAFE_TabBarMixed.js +8 -8
- package/es/{Chart-c9ad6478.js → Chart-ec6a48d2.js} +2 -2
- package/es/{Chart-c9ad6478.js.map → Chart-ec6a48d2.js.map} +1 -1
- package/es/CheckboxSet-ac2fc1ca.js +51 -0
- package/{amd/CheckboxSet-2242fd14.js.map → es/CheckboxSet-ac2fc1ca.js.map} +1 -1
- package/es/FormLayoutVariants.styles.css +14 -14
- package/es/FormLayoutVariants.styles2.css +14 -14
- package/es/PRIVATE_Chart.js +4 -4
- package/es/Theme-redwood/theme.css +435 -435
- package/es/Theme-stable/theme.css +552 -552
- package/es/UNSAFE_BarChart.js +4 -4
- package/es/UNSAFE_CheckboxItem.js +122 -61
- package/es/UNSAFE_CheckboxItem.js.map +1 -1
- package/es/UNSAFE_CheckboxSet.js +15 -49
- package/es/UNSAFE_CheckboxSet.js.map +1 -1
- package/es/UNSAFE_ComboChart.js +4 -4
- package/es/UNSAFE_FormLayout/themes/redwood/FormLayoutTheme.js +1 -1
- package/es/UNSAFE_FormLayout/themes/redwood/FormLayoutVariants.css.js +1 -1
- package/es/UNSAFE_FormLayout/themes/stable/FormLayoutTheme.js +1 -1
- package/es/UNSAFE_FormLayout/themes/stable/FormLayoutVariants.css.js +1 -1
- package/es/UNSAFE_FormLayout.js +1 -1
- package/es/UNSAFE_InputDatePicker.js +92 -92
- package/es/UNSAFE_LineAreaChart.js +4 -4
- package/es/UNSAFE_RichCheckboxSet.js +46 -42
- package/es/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/es/UNSAFE_RichSelectionItem.js +152 -89
- package/es/UNSAFE_RichSelectionItem.js.map +1 -1
- package/es/UNSAFE_ScatterChart.js +4 -4
- package/es/UNSAFE_TextArea.js +226 -106
- package/es/UNSAFE_TextArea.js.map +1 -1
- package/es/UNSAFE_TextAreaAutosize.js +1 -1
- package/es/useTextAreaAltEnter-ac460f4c.js +61 -0
- package/es/useTextAreaAltEnter-ac460f4c.js.map +1 -0
- package/package.json +2 -2
- package/amd/Button-d541cd67.js +0 -2
- package/amd/CheckboxSet-2242fd14.js +0 -2
- package/amd/ColorPalette-f05a9dad.js +0 -2
- package/amd/ColorPicker-236d84f0.js +0 -2
- package/amd/CompactLabelAssistance-7bb76228.js +0 -2
- package/amd/DragHandle-652ffa0f.js +0 -2
- package/amd/EmbeddedIconButton-c3cb14c0.js +0 -2
- package/amd/Flex-71f83c12.js +0 -2
- package/amd/HighlightText-365ba020.js +0 -2
- package/amd/InputColor-a1fcd3b3.js +0 -2
- package/amd/InputDatePicker-b16a1592.js +0 -2
- package/amd/LayerManager-5ba8e6ed.js +0 -2
- package/amd/LiveRegion-1553833d.js +0 -2
- package/amd/MessageLayer-24870def.js +0 -2
- package/amd/VisNoDataMessage-e4eb08f6.js +0 -2
- package/amd/index-4f562976.js.map +0 -1
- package/amd/popupUtils-71ea5dd1.js +0 -2
- package/amd/render-40923005.js +0 -2
- package/amd/useCurrentKey-05038cac.js +0 -2
- package/amd/useKeyboardEvents-191a444a.js +0 -2
- package/amd/useMeterDatatip-d6977d41.js +0 -2
- package/amd/usePopupAnimation-389749fc.js +0 -2
- package/amd/usePrefixSuffix-7371ec52.js +0 -2
- package/amd/useRadioFocusManager-c613d2fc.js +0 -2
- package/amd/useThemeInterpolations-53e9343f.js +0 -2
- package/amd/useTooltip-5615359f.js +0 -2
- package/amd/useTooltipOnTruncation-5c26fe42.js +0 -2
- package/es/CheckboxSetContext-1be56556.js +0 -9
- package/es/TextArea-72682112.js +0 -225
- package/es/TextArea-72682112.js.map +0 -1
package/amd/{BaseCardViewSelectionTest-ac780d4f.js.map → BaseCardViewSelectionTest-66f166ce.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCardViewSelectionTest-ac780d4f.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, ComponentProps } from 'preact';\nimport { Item, ListItemRendererContext, SelectionMode } from '../../UNSAFE_Collection';\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?: ComponentProps<typeof Button>['onAction'];\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 rowcount/colcount are always default values\n it('aria attributes - rowcount and colcount, all items are loaded', async () => {\n const data = populateData(15);\n render(<GenericCardGrid data={data}></GenericCardGrid>);\n const grid = await getRoot();\n\n expect((grid as HTMLElement).getAttribute('aria-rowcount')).eq('1');\n expect((grid as HTMLElement).getAttribute('aria-colcount')).eq('15');\n });\n\n it('aria attributes - rowcount and colcount, some items are loaded', async () => {\n const data = populateData(30);\n render(<GenericCardGrid data={data}></GenericCardGrid>);\n const grid = await getRoot();\n\n expect((grid as HTMLElement).getAttribute('aria-rowcount')).eq('1');\n expect((grid as HTMLElement).getAttribute('aria-colcount')).eq('25');\n });\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 // should not scroll into view when the current item is set by app\n const grid = await getRoot();\n await waitFor(() => {\n expect(grid.scrollTop).to.greaterThanOrEqual(0);\n });\n\n // focus in 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":["populateData","count","isNumberKey","Array","map","_","i","id","name","title","initials","getRoot","async","screen","findByRole","getItems","role","findAllByRole","getContents","mouseItemSelection","element","options","fireEvent","click","fireDragAndDropEvent","dragElement","dropElement","dragStart","dragEnter","drop","dragEnd","keyboardReorder","keyCode","keyDown","key","code","shiftKey","metaKey","context","showButton","isReorderEnabled","dragIcon","_jsx","jsx","RootEnvironmentProvider","environment","mode","children","Center","DragHandle","testId","metadata","buttons","View","paddingBlockStart","_jsxs","Flex","direction","wrap","gap","width","Button","variant","size","label","padding","jsxs","paddingBlockEnd","Avatar","data","Text","lineClamp","selector","GenericCardGrid","ActionCardGrid","SelectionCardGrid","ContentUpdatableCardGrid","it","render","items","expect","length","eq","undefined","dataset","grid","getAttribute","selectionMode","selectedKeys","Set","jest","userEvent","tab","waitFor","matches","to","be","true","queryByTestId","elem0","elem1","elem2","innerHTML","button","firstItemDragIcon","thirdItemDragIcon","firstItem","updatedThirdItem","equals","equal","reorderedItem","lastItem","deviceType","platform","getClientHints","keyPressed","translations","accControlKey","accCommandKey","reorderInstructions","accReorderInstructions","rerender","instructionText","queryByText","not","null","initialCurrentKey","rowKey","scrollTop","greaterThanOrEqual","focus","fetchSize","thirdItem","e","keyUp"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseCardViewSelectionTest-66f166ce.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, ComponentProps } from 'preact';\nimport { Item, ListItemRendererContext, SelectionMode } from '../../UNSAFE_Collection';\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?: ComponentProps<typeof Button>['onAction'];\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 rowcount/colcount are always default values\n it('aria attributes - rowcount and colcount, all items are loaded', async () => {\n const data = populateData(15);\n render(<GenericCardGrid data={data}></GenericCardGrid>);\n const grid = await getRoot();\n\n expect((grid as HTMLElement).getAttribute('aria-rowcount')).eq('1');\n expect((grid as HTMLElement).getAttribute('aria-colcount')).eq('15');\n });\n\n it('aria attributes - rowcount and colcount, some items are loaded', async () => {\n const data = populateData(30);\n render(<GenericCardGrid data={data}></GenericCardGrid>);\n const grid = await getRoot();\n\n expect((grid as HTMLElement).getAttribute('aria-rowcount')).eq('1');\n expect((grid as HTMLElement).getAttribute('aria-colcount')).eq('25');\n });\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 // should not scroll into view when the current item is set by app\n const grid = await getRoot();\n await waitFor(() => {\n expect(grid.scrollTop).to.greaterThanOrEqual(0);\n });\n\n // focus in 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":["populateData","count","isNumberKey","Array","map","_","i","id","name","title","initials","getRoot","async","screen","findByRole","getItems","role","findAllByRole","getContents","mouseItemSelection","element","options","fireEvent","click","fireDragAndDropEvent","dragElement","dropElement","dragStart","dragEnter","drop","dragEnd","keyboardReorder","keyCode","keyDown","key","code","shiftKey","metaKey","context","showButton","isReorderEnabled","dragIcon","_jsx","jsx","RootEnvironmentProvider","environment","mode","children","Center","DragHandle","testId","metadata","buttons","View","paddingBlockStart","_jsxs","Flex","direction","wrap","gap","width","Button","variant","size","label","padding","jsxs","paddingBlockEnd","Avatar","data","Text","lineClamp","selector","GenericCardGrid","ActionCardGrid","SelectionCardGrid","ContentUpdatableCardGrid","it","render","items","expect","length","eq","undefined","dataset","grid","getAttribute","selectionMode","selectedKeys","Set","jest","userEvent","tab","waitFor","matches","to","be","true","queryByTestId","elem0","elem1","elem2","innerHTML","button","firstItemDragIcon","thirdItemDragIcon","firstItem","updatedThirdItem","equals","equal","reorderedItem","lastItem","deviceType","platform","getClientHints","keyPressed","translations","accControlKey","accCommandKey","reorderInstructions","accReorderInstructions","rerender","instructionText","queryByText","not","null","initialCurrentKey","rowKey","scrollTop","greaterThanOrEqual","focus","fetchSize","thirdItem","e","keyUp"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', './TrackResizeContainer-d8fa612c', './PRIVATE_BaseDiagram/themes/DiagramStyles.css', './useResizeObserver-25032462', 'preact/hooks', './accUtils-7e057eef', './keys-4755c121', './classNames-08d99695', './useTranslationBundle-db326955', './useUser-e0677e8d', './EmbeddedIconButton-c3cb14c0', './Plus-410c880d', './Minus-5ee62ca4', './layoutUtils-517a546d', './useVisHover-28319fef', './mergeProps-bcfa6a92', './useDatatip-656c8df6', './useTextDimensions-f254e8f5', './clientUtils-df9caee0', './useVisDragModeControls-47a4f754', './useSelection-8f66e2ab', './useVisTouchResponse-88a7bb09', './stringUtils-4ffd9d59', './useContextMenu-c4fc924d', './Menu-4b445ba5', './MenuItem-f3de5e35', 'preact', './logger-0f873e29', './LayerHost-1a734852', 'preact/compat', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-0761844d', 'css!./IconStyle.styles.css', './SelectMenuGroupContext-67f24a8f', './UNSAFE_Menu/themes/MenuItemStyles.css', './UNSAFE_Separator/themes/SeparatorStyles.css', 'css!./MenuSeparatorStyles.styles.css', 'module', './UNSAFE_Menu/themes/redwood/MenuSeparatorVariants.css', 'css!./MenuStyles.styles.css'], (function(e,t,n,o,i,r,s,d,a,l,c,u,h,p,g,f,m,y,x,k,b,w,M,v,P,S,L,I,N,R,z,C,D,X,j,Y,T,B,E,O,Z,A,V){"use strict";function F(e,t,n,o,i,r,s,d,a,l){const c=new Map,u=Array.from(e.values()),h=Array.from(t.values());l&&function(e,t,n,o){e.forEach((e=>{if(e.nodes&&q(e.nodes,n,o),e.label){const t=e.label,i=re(e.labelStyle);n.set(e.id,o(t,i))}})),t.forEach((e=>{if(e.label){const t=e.label,i=re(e.labelStyle);n.set(e.id,o(t,i))}}))}(u,h,c,l);const p=Array.from(t.keys());for(const e of p){const n=t.get(e);if(n&&l&&n.label){const t=n.label,o=re(n.labelStyle);c.set(e,l(t,o))}}return{layoutJSON:{getNodeDimensions:function(e){return o.get(e.id)},getLabelDimensions:function(e){return c.get(e.id)},getContainerId:function(e,t){return ae(e,t,d)},getRelativeNodeBounds:function(e,t){const n=U(e,t,a);return n?{x:n.x/s,y:n.y/s,width:n.width/s,height:n.height/s}:void 0},getPromotedLinks:function(){return n},componentSize:{width:i,height:r}},labelDims:c}}function $(e,t){return{x:e.x/t,y:e.y/t,width:e.width/t,height:e.height/t}}function _(e,t,n,o,i,r){if(i&&i.current){let s,d;if(r){const t=`${e.startNode}_${e.endNode}`;s=i.current.querySelector(`[data-oj-private-promoted-link=${t}]`)}else s=i.current.querySelector(`[data-oj-private-link=${e}]`);t&&(d=i.current.querySelector(`[data-oj-private-node=${t}]`));const a=n.get(e);if(s&&d&&a){const e=$(s.getBoundingClientRect(),o),t=$(d.getBoundingClientRect(),o);return{x:e.x-t.x,y:e.y-t.y,width:a.width,height:a.height}}}return null}function K(e,t,n,o,i,r,s,d){let a,l,c,u=1/0,h=1/0,p=-1/0,g=-1/0;for(let t=0;t<e.length;t++){a=e[t].id;const n=o.get(a);n&&(u>n.x&&(u=n.x,c=a),h>n.y&&(h=n.y,l=a),p<n.x+n.width&&(p=n.x+n.width),g<n.y+n.height&&(g=n.y+n.height))}const f=u,m=h;let y=0,x=0,k=p-u,b=g-h;for(let e=0;e<t.length;e++){a=t[e].id;const n=_(a,l,i,s,d),o=_(a,c,i,s,d);o&&(o.x<y&&(y=o.x),k<o.x+o.width&&(k=o.x+o.width)),n&&(n.y<x&&(x=n.y),b<n.y+n.height&&(b=n.y+n.height))}for(let e=0;e<n.length;e++){a=n[e];const t=_(a,l,r,s,d,!0),o=_(a,c,r,s,d,!0);o&&(o.x<y&&(y=o.x),k<o.x+o.width&&(k=o.x+o.width)),t&&(t.y<x&&(x=t.y),b<t.y+t.height&&(b=t.y+t.height))}return{minX:f,minY:m,contentWidth:p-u,contentHeight:g-h,bounds:{x:y,y:x,width:k-y,height:b-x}}}function U(e,t,n){if(n&&n.current){const o=n.current.querySelector(`[data-oj-private-node=${e}]`);let i;if(i=t?n.current.querySelector(`[data-oj-private-child=${t}]`):n.current.querySelector("[data-oj-private-node-container]"),o&&i){const e=o.getBoundingClientRect(),t=i.getBoundingClientRect();return{x:e.x-t.x,y:e.y-t.y,width:e.width,height:e.height}}}return null}function q(e,t,n){e.forEach((e=>{if(e.nodes&&q(e.nodes,t,n),e.label){const o=e.label,i=re(e.labelStyle);t.set(e.id,n(o,i))}}))}function G(e,t,n){const o=new Map,i=new Map,r=new Map;H(e,t,o,i);const s=e.links;let d;if(s)for(let e=0;e<n.length;e++)d=s[n[e].id],d&&d.label&&r.set(n[e].id,d.label);return{nodePoints:o,nodeLabelPos:i,linkLabelPos:r}}function H(e,t,n,o){const i=e.nodes;let r;if(i)for(let s=0;s<t.length;s++){const d=t[s],a=d.id;d.nodes&&H(e,d.nodes,n,o),r=i[a],r&&(n.set(a,r.position),r.label&&o.set(a,r.label))}}function W(e,t,n,o,i,r,s,a,l,c){for(let u=0;u<e.length;u++){const h=e[u],p=`${c}_${u}`;t.set(h.id,h),n.set(h.id,p),o.set(p,h.id),i.set(h.id,l),a.push(h.id),h.nodes&&(r.push(h),d.containsKey(s,h.id)&&W(h.nodes,t,n,o,i,r,s,a,h.id,p))}}function J(e,t,n){const o=te(t,e,n);if(e.rotationAngle){const n=e.rotationPoint?e.rotationPoint:{x:t.width/2,y:t.height/2},i=e.rotationAngle,r=Q({x:0,y:0},n),s=Q({x:t.width,y:0},n),d=Q({x:0,y:t.height},n),a=Q({x:t.width,y:t.height},n);return function(e){let t=e[0].x,n=e[0].y,o=e[0].x,i=e[0].y;for(let r=1;r<e.length;r++){const s=e[r];s.x<t?t=s.x:s.x>o&&(o=s.x),s.y<n?n=s.y:s.y>i&&(i=s.y)}return{x:t,y:n,width:o-t,height:i-n}}([ee(r,i),ee(d,i),ee(s,i),ee(a,i)].map((e=>({x:e.x+o.x+n.x,y:e.y+o.y+n.y}))))}return{x:o.x,y:o.y,width:t.width,height:t.height}}function Q(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ee(e,t){return{x:e.x*Math.cos(t)-e.y*Math.sin(t),y:e.x*Math.sin(t)+e.y*Math.cos(t)}}function te(e,t,n){const o=t.position,i=t.hAlign?t.hAlign:n?"right":"left",r=t.vAlign;let s,d;return s="center"===i?o.x-e.width/2:"right"===i?o.x-e.width:o.x,d="middle"===r?o.y-e.height/2:"bottom"===r?o.y-e.height:"baseline"===r?o.y+e.y:o.y,{x:s,y:d}}function ne(e,t){return e?.id===t?.id&&e?.type===t?.type}function oe(e,t,n){let o,i,r=e;for(;!i;)if(r.dataset.ojPrivateNode?(o="node",i=r.dataset.ojPrivateNode):r.dataset.ojPrivateLink?(i=r.dataset.ojPrivateLink,o="link"):r.dataset.ojPrivatePromotedLink&&(i=t.get(r.dataset.ojPrivatePromotedLink),o="promotedLink"),!i){if(!r.parentElement||r.parentElement===n?.current)break;r=r.parentElement}return{id:i,type:o}}function ie(e,t,n,o){return s.generateAriaLabel(e,o||"",{isSelected:t?n.isSelected:void 0,isIndirect:n.isIndirect,isExpanded:n.isExpanded,isCollapsed:n.isCollapsed})}function re(e){const t={};return e?(e.fontFamily&&(t.fontFamily=e.fontFamily),e.fontSize&&(t.fontSize=e.fontSize),e.fontStyle&&(t.fontStyle=e.fontStyle),e.fontWeight&&(t.fontWeight=e.fontWeight),t):t}function se(e){return`${e.startNode}_${e.endNode}`}function de(e){return!("id"in e)}function ae(e,t,n){const o=ce(e,n),i=ce(t,n);for(let e=0;e<o.length;e++)if(i.indexOf(o[e])>-1)return o[e]}function le(e,t,n,o){const i=[],r=[];for(let n=0;n<t.length;n++){const s=t[n];ae(s.startNode,s.endNode,o)===e&&(o.get(s.startNode)||o.get(s.endNode)?i.push(s):r.push(s))}const s=[],d=[];for(let t=0;t<n.length;t++){const i=n[t];ae(i.startNode,i.endNode,o)===e&&(o.get(i.startNode)||o.get(i.endNode)?s.push(i):d.push(i))}return{frontLinks:i,frontPromotedLinks:s,backLinks:r,backPromotedLinks:d}}function ce(e,t){const n=[];let o=t.get(e);for(;void 0!==o;)n.push(o),o=t.get(o);return n}function ue(e,t){const n=t.nodes;for(let t=0;t<e.length;t++){const o=e[t];if(!n[o.startNode]||!n[o.endNode])return!1}return!0}function he(e,t){return d.containsKey(t,e)?d.removeKey(t,e,!1):d.addKey(t,e)}function pe(e,t){const n=(e,t)=>{if(t)for(let o=0;o<t.length;o++)if(t[o].id===e||n(e,t[o].nodes))return!0;return!1};for(let o=0;o<t.length;o++){const i=t[o];if(n(e,i.nodes))return i.id}return null}const ge=({text:e,position:n,styles:i,dimensions:r,isRTL:s})=>{const{labelStyle:d,labelBorderStyle:l}=o.labelStyles,c=te(r,n,s),u=function(e){const t=e.rotationAngle,n=e.rotationPoint,o={};t&&(o.transform=`rotate(${t}deg)`);n&&(o["transform-origin"]=`${n.x}px ${n.y}px`);return o}(n);return t.jsx("div",{class:a.classNames([d,i&&i.borderColor&&l]),style:{top:c.y,left:c.x,...i,...u},children:e})};const fe=({id:e,state:n,position:s,activeId:d,nodeRenderer:g,onNodeSizeChanged:f,data:m,accessibleLabel:y,isDimmed:x,supportsSelection:k,content:b,labelPosition:w,labelDimensions:M})=>{const{nodeStyles:v,dimmedItemStyle:P}=o.itemStyles,S=l.useTranslationBundle("@oracle/oraclejet-preact"),L=r.useRef(null),I=r.useRef({box:"border-box"});i.useResizeObserver(L,r.useCallback((t=>{const n=t.borderBoxSize,o=n[0].inlineSize,i=n[0].blockSize;f(o,i,e)}),[e,f]),I.current);const N=s||{x:0,y:0},{direction:R}=c.useUser(),z=m.label&&w&&M,C={state:n,data:m,childContext:b,expander:t.jsx("div",{"data-oj-private-button":e,class:o.buttonStyle,children:t.jsx(u.EmbeddedIconButton,{"aria-hidden":!0,size:"xs",children:b?t.jsx(p.SvgMinus,{}):t.jsx(h.SvgPlus,{})})})};return t.jsxs("div",{ref:L,class:v,"data-oj-private-node":e,role:b?"group":"img","aria-label":ie(S,k,{isSelected:n.isSelected,isExpanded:void 0!==b,isCollapsed:void 0===b&&void 0!==m.nodes},y),style:{top:N.y,left:N.x},id:n.isFocused||n.isHovered?d:void 0,children:[t.jsx("div",{class:a.classNames([x?P:void 0]),children:g(C)}),z?t.jsx("div",{class:o.layerStyles,children:t.jsx(ge,{styles:m.labelStyle,text:m.label,position:w,dimensions:M.get(e),isRTL:"rtl"===R})}):void 0]},e)},me=({id:e,state:n,activeId:s,data:d,linkRenderer:c,accessibleLabel:u,isDimmed:h,supportsSelection:p,layoutOutput:g,onLinkSizeChanged:f})=>{const m=l.useTranslationBundle("@oracle/oraclejet-preact"),{dimmedItemStyle:y,linkStyles:x}=o.itemStyles,k={state:n,data:d,layoutOutput:g,type:"link"},b=r.useRef(null),w=r.useRef({box:"border-box"});return i.useResizeObserver(b,r.useCallback((t=>{const n=t.borderBoxSize,o=n[0].inlineSize,i=n[0].blockSize;f(o,i,e)}),[e,f]),w.current),t.jsx("g",{ref:b,id:n.isFocused?s:void 0,"aria-label":ie(m,p,{isSelected:n.isSelected},u),"data-oj-private-link":e,role:"img",class:a.classNames([x,h&&y]),children:c(k)},e)},ye=(e,t,n,o,i)=>{const r=e>o||e<n?t:e;r!==t&&i&&i({zoomValue:r})};function xe(e,t,n){const o=(e-40)/n.width,i=(t-40)/n.height;return Math.min(o,i)}function ke(e,t,n){let o=Math.max(t,e);return o=Math.min(n,o),o}function be(e,t,n,o,i,r){let s;if("node"===e.type)s=n.get(e.id);else{const o=t.get(e.id),i=n.get(o.startNode),r=n.get(o.endNode),d=Math.min(i.x,r.x),a=Math.min(i.y,r.y);s={x:d,y:a,width:Math.max(i.x+i.width,r.x+i.width)-d,height:Math.max(i.y+i.height,r.y+r.height)-a}}return function(e,t,n,o){const i=(n-40)/e.width,r=(o-40)/e.height,s=Math.min(i,r,t),d=e.width/2+e.x,a=e.height/2+e.y;return{centerX:d,centerY:a,zoom:s}}(s,r,o,i)}function we({labelPosition:e,itemProps:n,labelDimensions:i}){const{direction:r}=c.useUser();return t.jsx("div",{class:o.layerStyles,children:n.map((n=>{if(n.label&&e.get(n.id))return t.jsx(ge,{styles:n.labelStyle,text:n.label,position:e.get(n.id),dimensions:i.get(n.id),isRTL:"rtl"===r})}))})}function Me({links:e,states:n,linkRenderer:i,width:r,height:s,supportsSelection:d,onLinkSizeChanged:a,layoutOutput:l,combinedNodeBounds:c,linkLabelPositions:u,labelDimensions:h,minX:p,minY:g}){const f=xe(r,s,c);return t.jsxs("div",{class:o.linkLayerStyle,style:{top:-g,left:-p},children:[t.jsx("svg",{width:r/f,height:s/f,class:o.layerStyles,overflow:"visible",children:e.map((e=>{const o={isSelected:n.selectedLinkIds.includes(e.id),isFocused:n.focusedId===e.id,isHovered:n.hoveredId===e.id,zoom:n.zoom};return t.jsx(me,{id:e.id,state:o,isDimmed:(0!==n.highlightedNodeIds.length||0!==n.highlightedLinkIds.length||0!==n.highlightedPromotedLinkIds.length)&&!n.highlightedLinkIds.includes(e.id),activeId:n.activeId,accessibleLabel:e.accessibleLabel,data:e,linkRenderer:i,supportsSelection:d,layoutOutput:l,onLinkSizeChanged:a})}))}),h?t.jsx("div",{children:e&&u?t.jsx(we,{labelPosition:u,itemProps:e,labelDimensions:h}):void 0}):void 0]})}const ve=({id:e,state:n,activeId:s,linkRenderer:d,isDimmed:c,supportsSelection:u,layoutOutput:h,onLinkSizeChanged:p})=>{const g=l.useTranslationBundle("@oracle/oraclejet-preact"),{dimmedItemStyle:f,linkStyles:m}=o.itemStyles,y={state:n,data:e.links,layoutOutput:h,startNode:e.startNode,endNode:e.endNode,type:"promotedLink"},x=r.useRef(null),k=r.useRef({box:"border-box"}),b=se(e);i.useResizeObserver(x,r.useCallback((e=>{const t=e.borderBoxSize,n=t[0].inlineSize,o=t[0].blockSize;p(n,o,b)}),[b,p]),k.current);const w=e.links.length,M=w>1?g.diagram_promotedLinks({num_links:w.toString()}):g.diagram_promotedLink();return t.jsx("g",{ref:x,id:n.isFocused?s:void 0,"aria-label":ie(g,u,{isSelected:n.isSelected,isIndirect:!0},M),"data-oj-private-promoted-link":b,role:"img",class:a.classNames([m,c&&f]),children:d(y)},b)};function Pe({links:e,states:n,linkRenderer:i,width:r,height:s,supportsSelection:d,onLinkSizeChanged:a,layoutOutput:l,combinedNodeBounds:c,minX:u,minY:h}){const p=xe(r,s,c);return t.jsx("div",{class:o.linkLayerStyle,style:{top:-h,left:-u},children:t.jsx("svg",{width:r/p,height:s/p,class:o.layerStyles,overflow:"visible",children:e.map((e=>{const o={isSelected:n.selectedPromotedLinkIds.includes(e),isFocused:n.focusedId===e,isHovered:n.hoveredId===e,zoom:n.zoom};return t.jsx(ve,{id:e,state:o,isDimmed:(0!==n.highlightedNodeIds.length||0!==n.highlightedLinkIds.length||0!==n.highlightedPromotedLinkIds.length)&&!n.highlightedPromotedLinkIds.includes(e),activeId:n.activeId,linkRenderer:i,supportsSelection:d,layoutOutput:l,onLinkSizeChanged:a})}))})})}function Se({nodes:e,states:n,nodeRenderer:i,linkRenderer:r,nodeBounds:s,width:a,height:l,onNodeSizeChanged:c,onLinkSizeChanged:u,onPromotedLinkSizeChanged:h,supportsSelection:p,nodeLabelPositions:g,linkLabelPositions:f,labelDimensions:m,minX:y=0,minY:x=0,parentId:k,links:b,promotedLinks:w,layoutOutput:M,zoom:v,nodeIdToParentMap:P,linkDimensions:S,promotedLinkDimensions:L,rootRef:I,combinedNodeBounds:N,nodeBoundsRef:R,normalizeLinks:z=!1}){const{frontLinks:C,frontPromotedLinks:D,backLinks:X,backPromotedLinks:j}=le(k,b,w,P);return t.jsxs("div",{class:o.layerStyles,"data-oj-private-node-container":!0,children:[M&&r&&X.length>0&&ue(X,M)&&t.jsx(Me,{links:X,states:n,linkRenderer:r,width:a/v,height:l,supportsSelection:p,labelDimensions:m,layoutOutput:M,onLinkSizeChanged:u,linkLabelPositions:f,combinedNodeBounds:N,minY:z?x:0,minX:z?y:0}),M&&r&&j.length>0&&ue(j,M)&&t.jsx(Pe,{links:j,states:n,linkRenderer:r,width:a/v,height:l,supportsSelection:p,layoutOutput:M,onLinkSizeChanged:h,combinedNodeBounds:N,minY:z?x:0,minX:z?y:0}),e.map((e=>{const o=s&&s.get(e.id)?{x:s.get(e.id).x-y,y:s.get(e.id).y-x}:void 0,k={isSelected:n.selectedNodeIds.includes(e.id),isFocused:n.focusedId===e.id,isHovered:n.hoveredId===e.id,zoom:n.zoom,isExpanded:n.expanded&&d.containsKey(n.expanded,e.id)},{backLinks:z,backPromotedLinks:C}=le(e.id,b,w,P);if(e.nodes&&d.containsKey(n.expanded,e.id)){if(s&&function(e,t,n,o,i,r){const s=e.nodes;for(let e=0;e<s?.length;e++){const n=s[e].id;if(!t.get(n))return!1}for(let e=0;e<n.length;e++){const t=n[e].id,o=i.get(t);if(!o||0===o.width&&0===o.height)return!1}for(let e=0;e<o.length;e++){const t=o[e],n=r.get(se(t));if(!n||0===n.width&&0===n.height)return!1}return!0}(e,s,z,C,S,L)){const d=Le(e,n,i,c,u,h,p,b,w,P,a,l,v,e.id,s,S,L,N,R,g,f,m,r,M,I);return t.jsx(fe,{id:e.id,position:o,state:k,isDimmed:(0!==n.highlightedNodeIds.length||0!==n.highlightedLinkIds.length||0!==n.highlightedPromotedLinkIds.length)&&!n.highlightedNodeIds.includes(e.id),activeId:n.activeId,nodeRenderer:i,onNodeSizeChanged:c,accessibleLabel:e.accessibleLabel,data:e,supportsSelection:p,content:d,labelDimensions:m,labelPosition:g?.get(e.id)})}{const o=Le(e,n,i,c,u,h,p,b,w,P,a,l,v,e.id,s,S,L,N,R,g,f,m,r,M,I);return t.jsx("div",{children:o.content})}}return t.jsx(fe,{id:e.id,position:o,state:k,isDimmed:(0!==n.highlightedNodeIds.length||0!==n.highlightedLinkIds.length||0!==n.highlightedPromotedLinkIds.length)&&!n.highlightedNodeIds.includes(e.id),activeId:n.activeId,nodeRenderer:i,onNodeSizeChanged:c,accessibleLabel:e.accessibleLabel,data:e,supportsSelection:p,labelDimensions:m,labelPosition:g?.get(e.id)})})),M&&r&&C.length>0&&ue(C,M)&&t.jsx(Me,{links:C,states:n,linkRenderer:r,width:a/v,height:l,supportsSelection:p,labelDimensions:m,layoutOutput:M,onLinkSizeChanged:u,linkLabelPositions:f,combinedNodeBounds:N,minY:z?x:0,minX:z?y:0}),M&&r&&D.length>0&&ue(D,M)&&t.jsx(Pe,{links:D,states:n,linkRenderer:r,width:a/v,height:l,supportsSelection:p,layoutOutput:M,onLinkSizeChanged:h,combinedNodeBounds:N,minY:z?x:0,minX:z?y:0})]})}function Le(e,n,o,i,r,s,d,a,l,c,u,h,p,g,f,m,y,x,k,b,w,M,v,P,S){const L=e.nodes,{backLinks:I,backPromotedLinks:N}=le(g,a,l,c),{minX:R,minY:z,contentWidth:C,contentHeight:D,bounds:X}=K(L,I,N,f,m,y,p,S),j=k.current;j?.set(e.id,X),k.current=j;return{content:t.jsx("div",{"data-oj-private-child":g,style:{position:"relative"},children:t.jsx(Se,{nodes:L,nodeBounds:f,states:n,minX:f?R:void 0,minY:f?z:void 0,nodeRenderer:o,onNodeSizeChanged:i,onLinkSizeChanged:r,onPromotedLinkSizeChanged:s,supportsSelection:d,nodeLabelPositions:b,linkLabelPositions:w,labelDimensions:M,links:a,promotedLinks:l,nodeIdToParentMap:c,linkRenderer:v,layoutOutput:P,width:u,height:h,zoom:p,parentId:g,linkDimensions:m,promotedLinkDimensions:y,rootRef:S,combinedNodeBounds:x,nodeBoundsRef:k})}),width:C||0,height:D?D-z:0,bounds:X}}function Ie({nodes:e,links:n,promotedLinks:o,nodeRenderer:i,linkRenderer:r,states:s,nodeBounds:d,width:a,height:l,onNodeSizeChanged:c,onLinkSizeChanged:u,onPromotedLinkSizeChanged:h,labelDimensions:p,nodeLabelPositions:g,linkLabelPositions:f,supportsSelection:m,layoutOutput:y,zoom:x,nodeIdToParentMap:k,linkDimensions:b,promotedLinkDimensions:w,rootRef:M,combinedNodeBounds:v,nodeBoundsRef:P,normalizeLinks:S}){const{backLinks:L,backPromotedLinks:I}=le(void 0,n,o,k),{minX:N,minY:R}=K(e,L,I,d,b,w,x,M);return t.jsx(t.Fragment,{children:t.jsx(Se,{nodes:e,nodeBounds:d,states:s,nodeRenderer:i,onNodeSizeChanged:c,onLinkSizeChanged:u,onPromotedLinkSizeChanged:h,supportsSelection:m,nodeLabelPositions:g,linkLabelPositions:f,labelDimensions:p,linkDimensions:b,promotedLinkDimensions:w,rootRef:M,links:n,promotedLinks:o,nodeIdToParentMap:k,linkRenderer:r,layoutOutput:y,width:a,height:l,zoom:x,minX:d&&N!==1/0?N:void 0,minY:d&&R!==1/0?R:void 0,combinedNodeBounds:v,nodeBoundsRef:P,normalizeLinks:S})})}const Ne=(e,t,n,o,i,r,s,d)=>{if(!s)return{newPan:{panX:0,panY:0}};const a=((e,t,n,o)=>{const i="y"!==o?t.panX:e.panX,r="x"!==o?t.panY:e.panY;return{panX:i>n.maxX?n.maxX:i<n.minX?n.minX:i,panY:r>n.maxY?n.maxY:r<n.minY?n.minY:r}})(e,t,s,n),l=a.panX!==e.panX||a.panY!==e.panY,c=function(e,t,n,o,i){return{centerX:(o/2-e)/n,centerY:(i/2-t)/n}}(a.panX,a.panY,o,i,r);return l&&d&&d({centerX:c.centerX,centerY:c.centerY}),{newPan:a}};function Re(e,t,n,o,i){return{panX:o/2-e*n,panY:i/2-t*n}}function ze({centerX:e,centerY:n,children:i,zoom:r,width:s,height:d}){const a=Re(e,n,r,s,d);return t.jsx("div",{class:o.panZoomStyles,style:{translate:`${a.panX}px ${a.panY}px`,transform:`scale(${r})`},children:i})}function Ce(e,t){const n=[];return t.forEach((t=>{const o=t.startNode,i=t.endNode;o!=e&&i!=e||n.push(t)})),n}function De(e,t,n,o){let i,r=n[0],s=n[0];for(let e=0;e<n.length;e++)i=n[e],i.id===t.startNode?r=i:i.id===t.endNode&&(s=i);const d=e.id==r.id?s:r,a=Ye(e,o),l=Ye(d,o);let c=Math.atan2(l.y-a.y,l.x-a.x);return c=c<0?c+2*Math.PI:c,c}function Xe(e,t,n){let o,i=t[0],r=t[0];for(let n=0;n<t.length;n++)o=t[n],o.id===e.startNode?i=o:o.id===e.endNode&&(r=o);const s=Ye(i,n),d=Ye(r,n);return Math.sqrt(Math.pow(d.x-s.x,2)+Math.pow(d.y-s.y,2))}function je(e,t){return t.endNode===e.id?1:0}function Ye(e,t){const n=t.get(e.id);return{x:n.x+n.width/2,y:n.y+n.height/2}}function Te(e,t,n){const o=15/180*Math.PI,i=40/180*Math.PI,r=e.x+e.width/2,s=e.y+e.height/2,d=t.x+t.width/2,a=t.y+t.height/2,l=Math.abs(r-d),c=Math.abs(s-a),u=Math.atan2(c,l);let h=Math.sqrt(l*l+c*c);return(u>o&&("right"==n||"left"==n)||u<Math.PI/2-o&&("up"==n||"down"==n))&&(u>i&&("right"==n||"left"==n)||u<Math.PI/2-i&&("up"==n||"down"==n)?h*=6:h*=2),h}function Be(e,t,n,o){if(o){const o=e.x+.5*e.width,i=t.x+.5*t.width,r=e.y+.5*e.height,s=t.y+.5*t.height;switch(n){case"up":return r<s;case"down":return e.y>s;case"right":return o>i;case"left":return o<i}return!0}switch(n){case"up":return e.y<t.y||Ae(e.y,t.y);case"down":return e.y>t.y||Ae(e.y,t.y);case"right":return e.x>t.x||Ae(e.x,t.x);case"left":return e.x<t.x||Ae(e.x,t.x)}return!0}function Ee(e,t,n){switch(n){case"up":return Oe(e,t)&&(t.y<=e.y+e.height||Ae(t.y,e.y+e.height));case"down":return Oe(e,t)&&(e.y<=t.y+t.height||Ae(e.y,t.y+t.height));case"right":return Ze(e,t)&&(e.x<=t.x+t.width||Ae(e.x,t.x+t.width));case"left":return Ze(e,t)&&(t.x<=e.x+e.width||Ae(t.x,e.x+e.width))}return!1}function Oe(e,t){return e.x>=t.x&&e.x<=t.x+t.width||t.x>=e.x&&t.x<=e.x+e.width}function Ze(e,t){return e.y>=t.y&&e.y<=t.y+t.height||t.y>=e.y&&t.y<=e.y+e.height}function Ae(e,t){return Math.abs(e-t)<=1e-7}function Ve(e,t){let n=Math.abs(e-t)<=1e-7;return n||(n=Math.abs(2*Math.PI+Math.min(e,t)-Math.max(e,t))<=1e-7),n}function Fe(e,t,n,o){const i=r.useRef(),s=e;return{getNextNavigableNode:function(e,t,n,o){if(!o)return n;if(!n)return o[0];const i=s.get(n.id);if(!i)return o[0];let r,d,a,l=n,c=Number.MAX_VALUE,u=!1,h=!1;for(let p=0;p<o.length;p++){if(r=o[p],r===n){h=!0;continue}const g=s.get(r.id);if(!g)continue;const f={x:g.x,y:g.y,width:g.width,height:g.height},m={x:i.x,y:i.y,width:i.width,height:i.height};Be(f,m,e,t)&&(d=Ee(f,m,e),u&&!d||(a=Te(f,m,e),(0!=a||h)&&(!u&&d||a<c&&(u&&d||!u))&&(c=a,l=r,u=d)))}return l},getNextNavigableLink:function(e,r,d,a,l){if(!a&&!l)return d;const c=a&&l?[...a,...l]:a||l;if(!d)return c[0];const u=i.current,h=u||d.startNode,p=o.get(h);if(!p)return d;const g=function(e,t,n,o){let i,r,s;const d=[];for(let a=0;a<t.length;a++){const l=t[a];i=De(e,l,n,o),r=Xe(l,n,o),s=je(e,l),"id"in l?d.push({id:l.id,angle:i,distance:r,direction:s,type:"link"}):d.push({id:se(l),angle:i,distance:r,direction:s,type:"promotedLink"})}return d}(p,Ce(p.id,c),r,s);g.sort(((e,t)=>{const{angle:n,distance:o,direction:i}=e,{angle:r,distance:s,direction:d}=t;let a=-1;return!Ve(n,r)&&n>r?a=1:Ve(n,r)&&(o>s||s==o&&i>d?a=1:s==o&&i==d&&(a=0)),a}));const f="down"==e;let m=0;for(let e=0;e<g.length;e++){const t="id"in d?d.id:se(d);if(g[e].id===t){m=f?e==g.length-1?0:e+1:0==e?g.length-1:e-1;break}}return"link"===g[m].type?t.get(g[m].id):n.get(g[m].id)},navigateFromNodeToLink:function(e,t,n,o){if(!o)return;const r=Ce(o.id,[...e,...t]);if(r.length<1)return;let d=r[0];const a=s.get(o.id);let l,c,u,h;const p=a.x+a.width/2;i.current=o.id;for(let e=0;e<r.length;e++)if(l=r[e],c=l.startNode===o.id?l.endNode:l.startNode,u=s.get(c),h=u.x+u.width/2,n.altKey&&"Comma"===n.code&&h<=p||n.altKey&&"Period"===n.code&&h>=p){d=l;break}return de(d)?{id:d,type:"promotedLink"}:{id:d.id,type:"link"}},navigateFromLinkToNode:function(e,t,n){const o=n.key,i=s.get(e),r=s.get(t);if(!i||!r)return;const d=i.x+i.width/2,a=r.x+r.width/2;return{id:a>d&&"ArrowRight"===o||a<d&&"ArrowLeft"===o?t:e,type:"node"}}}}function $e(e,t,n,o,i,s,d,a,l,c,u,h,p,y,x,k,b,w,M){const{getNextNavigableNode:v,getNextNavigableLink:P,navigateFromNodeToLink:S,navigateFromLinkToNode:L}=Fe(s,d,y,a),[I,N]=r.useState({id:t.id,type:"node"}),[R,z]=r.useState(),C=r.useRef(),D=f.useVisHover((e=>{const t=oe(e.target,y);if(t&&!ne(t,R)){let e;z({...t,isCurrent:!0}),C.current=g.getRandomId(),N({...I,isCurrent:!1}),"node"===t.type?e={id:t.id,type:"node",data:a.get(t.id)}:"link"===t.type?e={id:t.id,type:"link",data:d.get(t.id)}:"promotedLink"===t.type&&(e={type:"promotedLink",id:t.id}),x?.(e)}}),void 0,(()=>{z(void 0),C.current=void 0,x?.(void 0)}),e);function X(e){"node"===e.type?k?.({id:e.id,type:"node",data:a.get(e.id)}):"link"===e.type?k?.({id:e.id,type:"link",data:d.get(e.id)}):"promotedLink"===e.type&&k?.({id:e.id,type:"promotedLink"}),C.current=g.getRandomId(),N(e)}function j(e){e&&(ne(e,I)||(e.isCurrent=!0,e.isFocusVisible=!0,R&&z({...R,isCurrent:!1}),X(e)))}return{focusedItemInfo:I,hoveredItemInfo:R,activeId:C.current,onContextMenuDismissed:e=>{"keyboard"===e&&X({...I,isFocusVisible:!0,isCurrent:!0})},eventsProps:m.mergeProps(D,{onKeyUp:e=>{if("Tab"===e.code)X({...I,isCurrent:!0,isFocusVisible:!0})},onKeyDown:e=>{const t=e.key;let r=!1;if("TAB"!==t){if(function(e){const t=e.code;if("node"===I.type&&e.altKey&&("Period"===t||"Comma"===t))return!0;if("node"!==I.type&&("ArrowLeft"===t||"ArrowRight"===t))return!0;return!1}(e)){let t;if("node"===I.type)t=S(o,i,e,a.get(I.id));else if("link"===I.type){const n=d.get(I.id);t=L(n.startNode,n.endNode,e)}else{const n=I.id;t=L(n.startNode,n.endNode,e)}j(t),r=!0}else if(function(e){switch(e){case"ArrowDown":case"ArrowUp":case"ArrowRight":case"ArrowLeft":return!0}return!1}(t)){const e=function(e){let t="down";switch(e){case"ArrowDown":t="down";break;case"ArrowUp":t="up";break;case"ArrowRight":t="right";break;case"ArrowLeft":t="left"}if("node"===I.type){const e=p.get(I.id),o=e&&a.get(e)?a.get(e).nodes:n,i=v(t,!0,a.get(I.id),o);return i?{id:i.id,type:"node"}:I}{const e=function(e,t,n){let o;for(let n=0;n<t.length;n++)if(o=t[n],e.id===o.id)return o;for(let t=0;t<n.length;t++)if(o=n[t],i=e.id,r=o,i.startNode===r.startNode&&i.endNode===r.endNode)return o;var i,r}(I,o,i),r=P(t,n,e,o,i);return r&&de(r)?{id:r,type:"promotedLink"}:r&&!de(r)?{id:r.id,type:"link"}:{id:I.id,type:I.type}}}(t);j(e),r=!0}else switch(t){case"PageUp":b&&b({dPan:{dx:e.shiftKey?-15:0,dy:e.shiftKey?0:-15}}),r=!0;break;case"PageDown":b&&b({dPan:{dx:e.shiftKey?15:0,dy:e.shiftKey?0:15}}),r=!0;break;case"+":case"=":w&&w({dZoom:.15}),r=!0;break;case"-":case"_":w&&w({dZoom:-.15}),r=!0;break;case"0":if(e.ctrlKey&&e.altKey){const{centerX:e,centerY:t,zoom:n}=be(I,d,s,l,c,u);w&&w({nZoom:n}),b&&b({nPan:{cx:e,cy:t}})}else w&&w({}),b&&b({center:!0});r=!0;break;case" ":if(e.ctrlKey&&e.shiftKey&&"node"===I.type){const e=he(I.id,h);M&&M({expanded:e})}break;case"[":if("node"===I.type){const e=function(e,t){const n=t.get(e)?.nodes;if(n&&n.length>0)return n[0]}(I.id,a);if(e){j({id:e.id,type:"node"})}}r=!0;break;case"]":if("node"===I.type){const e=p.get(I.id);if(e){j({id:e,type:"node"})}}r=!0}r&&(e=>{e.preventDefault(),e.stopPropagation()})(e)}},onBlur:()=>{(null!=R||I.isCurrent)&&k?.(void 0);const e={...I,isCurrent:!1,isFocusVisible:!1};N(e)},onPointerUp:e=>{const t=oe(e.target,y);if(null!=t.id){let n;if("node"===t.type&&(n=function(e,t){let n,o=e;for(;!n;)if(n=o.dataset.ojPrivateButton,!n){if(!o.parentElement||o.parentElement.dataset.ojPrivateNode||o.parentElement===t?.current)break;o=o.parentElement}return n}(e.target),n)){const t=he(n,h);return M&&M({expanded:t}),e.preventDefault(),void e.stopPropagation()}N(t),C.current=g.getRandomId()}},onFocus:()=>{C.current=g.getRandomId()}})}}const _e=({captureTargetRef:e,numPointers:t=1,onPointerGestureDown:n,onPointerGestureMove:o,onPointerGestureEnd:i,onExtraneousPointerDown:s,isDisabled:d=!1})=>{const a=r.useRef([]);d&&(a.current=[]);const l=e=>{const n=a.current.findIndex((t=>t.pointerId===e.pointerId));-1!==n&&(a.current[n]=e,a.current.length===t&&i&&i({pointers:a.current}),a.current.splice(n,1))};return d?{}:{onPointerDown:e=>{a.current.push(e),a.current.length===t?n&&n({pointers:a.current}):a.current.length>t&&s&&s({pointers:a.current})},onPointerMove:n=>{if(0===a.current.length)return;const i=a.current.findIndex((e=>e.pointerId===n.pointerId));-1!==i&&(a.current[i]=n,a.current.length===t&&(a.current.forEach((t=>e.current.setPointerCapture(t.pointerId))),o&&o({pointers:a.current})))},onPointerUp:l,onPointerCancel:l,onPointerLeave:l}},Ke=({panProps:e,captureTargetRef:t,panBounds:n,width:o,height:i,zoom:s,onDragPanStart:d,onDragPanEnd:a})=>{const l=r.useRef({panX:0,panY:0}),c=r.useRef({panX:0,panY:0}),u=(({captureTargetRef:e,draggableRegion:t,onDragStart:n,onDragMove:o,onDragEnd:i,isDisabled:s=!1})=>{const d={isDragging:!1,x0:-1,y0:-1,regionOffsetX:-1,regionOffsetY:-1},a=r.useRef(d),l=(e,t)=>{const{isDragging:n,x0:o,y0:i,regionOffsetX:r,regionOffsetY:s}=a.current;if(!n)return;const d=e.pageX,l=e.pageY;t&&t({x:d,y:l,dx:d-o,dy:l-i,regionOffsetX:r,regionOffsetY:s,originalEvent:e})},c=_e({captureTargetRef:e,numPointers:1,onExtraneousPointerDown:()=>{a.current=d},onPointerGestureDown:({pointers:[e]})=>{const o=e.pageX,i=e.pageY;if(0!==e.button||!((e,t,n)=>{if(!n)return!0;const{xMin:o,xMax:i,yMin:r,yMax:s}=n;return e>=o&&e<=i&&t>=r&&t<=s})(o,i,t))return;const{regionOffsetX:r,regionOffsetY:s}=((e,t,n)=>n?{regionOffsetX:e-n.xMin,regionOffsetY:t-n.yMin}:{regionOffsetX:e,regionOffsetY:t})(o,i,t);a.current={isDragging:!0,x0:o,y0:i,regionOffsetX:r,regionOffsetY:s},n&&n({x:o,y:i,regionOffsetX:r,regionOffsetY:s,originalEvent:e})},onPointerGestureMove:({pointers:[e]})=>{l(e,o)},onPointerGestureEnd:({pointers:[e]})=>{l(e,i),a.current=d}});return s?{}:c})({captureTargetRef:t,onDragStart:()=>{const t=Re(e.centerX,e.centerY,s,o,i);c.current={panX:t.panX,panY:t.panY},d&&d()},onDragMove:({dx:t,dy:r})=>{const d={panX:c.current.panX+t,panY:c.current.panY+r},{newPan:a}=Ne(l.current,d,e.panDirection,s,o,i,n,e.onPan);l.current=a},onDragEnd:({originalEvent:e})=>{c.current.panX===l.current.panX&&c.current.panY===l.current.panY||e.preventDefault(),a&&a()},isDisabled:"off"===e.panning});return u},Ue=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-t.y)**2),qe=({captureTargetRef:e,zooming:t,minZoom:n,maxZoom:o,zoomValue:i,onZoom:s})=>{const d=(({captureTargetRef:e,onPinchZoomStart:t,onPinchZoomChange:n,onPinchZoomEnd:o,isDisabled:i=!1})=>{const s=r.useRef({x:-1,y:-1}),d=r.useRef(-1),a=()=>{s.current={x:-1,y:-1},d.current=-1};i&&a();const l=_e({captureTargetRef:e,numPointers:2,onPointerGestureDown:({pointers:[e,n]})=>{const o={x:e.offsetX,y:e.offsetY},i={x:n.offsetX,y:n.offsetY};s.current=((e,t)=>({x:(e.x+t.x)/2,y:(e.y+t.y)/2}))(o,i),d.current=Ue(o,i),t&&t({origin:s.current,delta:0})},onPointerGestureMove:({pointers:[e,t]})=>{const o={x:e.offsetX,y:e.offsetY},i={x:t.offsetX,y:t.offsetY},r=Ue(o,i),a=r-d.current;d.current=r,n&&n({origin:s.current,delta:a})},onPointerGestureEnd:()=>{a(),o&&o()}});return i?{}:l})({captureTargetRef:e,onPinchZoomChange:({delta:e})=>{ye(i*(1+.05*e),i,n,o,s)},isDisabled:"off"===t});return d},Ge=({props:e,captureTargetRef:t,width:n,height:o,contentBounds:i,isRtl:s})=>{const[d,a]=r.useState(),l=function(e,t,n,o){const i=xe(t,n,o),r=e.maxZoom||1,s=e.minZoom||Math.min(r,i),d=e.zoomValue?e.zoomValue:i;return{zooming:e.zooming?e.zooming:"off",minZoom:s,maxZoom:r,zoomValue:ke(d,s,r),onZoom:e.onZoom}}(e,n,o,i),c=r.useRef(),u=r.useRef(),h=r.useRef(),p=r.useRef({zoom:e.zoomValue||0,centerX:e.centerX,centerY:e.centerY}),g=k.isTouch(),f={width:n,height:o,x:0,y:0},y=g?e.panning&&"off"!==e.panning:void 0,x={isZoomScroll:!0,plotAreaSpace:f,componentWidth:n,isRtl:s,showPanButton:y??!1,showZoomButton:!1,showSelectButton:!1,isDisabled:!g},{toggleButtonContent:w,userDragMode:M}=b.useVisDragModeControls(x),v=function(e,t,n,o){return{panning:o?"pan"===n&&e.panning?e.panning:"off":e.panning?e.panning:"off",panDirection:e.panDirection?e.panDirection:"any",centerX:void 0!==e.centerX?e.centerX:t.width/2,centerY:void 0!==e.centerY?e.centerY:t.height/2,onPan:e.onPan}}(e,i,M,g);i.width===1/0||l.zoomValue===u.current&&v.panning===h.current||(c.current=((e,t,n,o,i,r,s)=>{const{x:d,y:a,width:l,height:c}=n;let u,h,p,g;if("centerContent"===s)u=e/2-(l+d)*o,p=t/2-(c+a)*o,h=e/2-d*o,g=t/2-a*o;else{const n=o/i,r=(e-l*i)/2-d*i,s=(t-c*i)/2-a*i;u=e-e*n+r*n,p=t-t*n+s*n,h=r*n,g=s*n}const f=r.zoom,m=r.centerX,y=r.centerY;let x,k;if(m){const t=m*f-e/2;-t*f<u?(x=u-t*f,u-=x,h+=x):-t*f>h&&(x=-t*f-h,u-=x,h+=x)}if(y){const e=y*f-t/2;-e*f<p?(k=p-e*f,p-=k,g+=k):-e*f>g&&(k=-e*f-g,p-=k,g+=k)}return{minX:u,maxX:h,minY:p,maxY:g}})(n,o,i,l.zoomValue,l.minZoom,p.current,v.panning),u.current=l.zoomValue,h.current=v.panning);const P=Ke({panProps:v,captureTargetRef:t,panBounds:c.current,zoom:l.zoomValue,width:n,height:o,onDragPanStart:()=>a("grabbing"),onDragPanEnd:()=>a("auto")}),S=r.useRef({panX:0,panY:0}),L=(({zooming:e,minZoom:t,maxZoom:n,zoomValue:o,onZoom:i})=>(({onWheel:e,preventDefault:t=!0,isDisabled:n=!1})=>n?{}:{onWheel:n=>{const{deltaX:o,deltaY:i}=(e=>{const{deltaX:t,deltaY:n,deltaMode:o}=e;switch(o){case e.DOM_DELTA_PIXEL:return{deltaX:-t,deltaY:-n};case e.DOM_DELTA_LINE:return{deltaX:15*-t,deltaY:15*-n};case e.DOM_DELTA_PAGE:return{deltaX:40*-t,deltaY:40*-n};default:return{deltaX:-t,deltaY:-n}}})(n);t&&n.preventDefault(),e({x:n.offsetX,y:n.offsetY,deltaX:o,deltaY:i,ctrlKey:n.ctrlKey||n.metaKey})}})({onWheel:({deltaY:e})=>{ye(o*(1+.05*e),o,t,n,i)},isDisabled:"off"===e}))(l),I=qe({captureTargetRef:t,zooming:l.zooming,minZoom:l.minZoom,maxZoom:l.maxZoom,zoomValue:l.zoomValue,onZoom:l.onZoom});return{panZoomProps:m.mergeProps(P,L,I),panProps:v,zoomProps:l,toggleButtonContent:w,cursor:d,centerX:v.centerX,centerY:v.centerY,zoomValue:l.zoomValue,kbPanCallback:"off"!==v.panning?e=>{let t,r;e.center?(t=i.x+i.width/2,r=i.y+i.height/2):e.dPan?(t=v.centerX+e.dPan.dx,r=v.centerY+e.dPan.dy):(t=e.nPan.cx,r=e.nPan.cy);const s=Re(t,r,l.zoomValue,n,o),{newPan:d}=Ne(S.current,s,v.panDirection,l.zoomValue,n,o,c.current,v.onPan);S.current=d}:void 0,kbZoomCallback:"off"!==l.zooming?e=>{const t=e.dZoom?l.zoomValue+e.dZoom:xe(n,o,i);ye(e.nZoom?e.nZoom:t,l.zoomValue,l.minZoom,l.maxZoom,l.onZoom)}:void 0}};const He={all:!1,keys:new Set};function We({nodes:e=[],links:n=[],width:i,height:s,selectedIds:a={},selectionMode:l="none",layout:u,nodeRenderer:h,linkRenderer:p,onSelectionChange:f,onItemHover:k,onItemFocus:b,highlightedIds:S={},datatip:L,expanded:I=He,onExpandedChange:N,contextMenuConfig:R,normalizeLinks:z,...C}){const D=r.useRef(null),X=r.useRef(null),[j,Y]=r.useState(new Map),[T,B]=r.useState(new Map),E=r.useRef(new Map),O=r.useRef(new Map),[Z,A]=r.useState(),{direction:V}=c.useUser(),$="rtl"===V,_=e,K=function(e,t){const n=new Map,o=new Map,i=new Map,r=new Map,s=[],a=[];for(let l=0;l<e.length;l++){const c=e[l],u=String(l);n.set(c.id,c),o.set(c.id,u),i.set(u,c.id),a.push(c.id),c.nodes&&(s.push(c),d.containsKey(t,c.id)&&W(c.nodes,n,o,i,r,s,t,a,c.id,String(l)))}return{itemIdToDataMap:n,itemIdToIndexMap:o,itemIndexToIdMap:i,itemIdToParentMap:r,allContainerNodes:s,allVisibleNodes:a}}(_,I),q=K.itemIdToParentMap,H=K.itemIdToDataMap,Q=function(e,t){const n=[];for(let o=0;o<e.length;o++){const i=e[o];t.get(i.startNode)&&t.get(i.endNode)&&n.push(i)}return n}(n,H),ee=function(e){const t=new Map,n=new Map,o=new Map,i=new Map;for(let i=0;i<e.length;i++){const r=e[i];t.set(r.id,r),n.set(r.id,i),o.set(i,r.id)}return{itemIdToDataMap:t,itemIdToIndexMap:n,itemIndexToIdMap:o,itemIdToParentMap:i}}(Q),te=ee.itemIdToDataMap,ne=r.useRef(!1),ie=function(e){const t=new Map;return e.forEach(((e,n)=>{t.set(n,{width:e.width,height:e.height})})),t}(j),{textMeasureContent:re,getTextDimensions:de}=x.useTextDimensions(),ae=r.useRef(new Map),le=r.useRef(!1),ce=r.useRef(!1),ue=r.useRef(new Map),he=r.useRef(new Map),[ge,fe]=r.useState(),me=r.useRef(new Map),ye=function(e,t,n,o){const i=[];n.forEach((e=>{d.containsKey(t,e.id)||i.push(e)}));const r=[],s=new Map,a=new Map;for(let t=0;t<e.length;t++){const n=e[t],d=n.id,l=o.includes(n.startNode)?n.startNode:pe(n.startNode,i),c=o.includes(n.endNode)?n.endNode:pe(n.endNode,i);if(l&&c&&(l!==n.startNode||c!==n.endNode)&&l!==c){const e=`${l}_${c}`;let t=a.get(e);if(t)t.push(n);else{const o={id:e,startNode:l,endNode:c};r.push(o),t=[n]}a.set(e,t),s.set(d,e)}}const l=[];for(let e=0;e<r.length;e++){const t=r[e];l.push({startNode:t.startNode,endNode:t.endNode,links:a.get(t.id)})}return l}(n,I,K.allContainerNodes,K.allVisibleNodes),xe=function(e){const t=new Map;for(let n=0;n<e.length;n++){const o=e[n];t.set(`${o.startNode}_${o.endNode}`,o)}return t}(ye),ke=function(e,t){if(0===e.size)return{x:0,width:1/0,y:0,height:1/0};let n,o=1/0,i=1/0,r=-1/0,s=-1/0;return e.forEach((e=>{n=e,o=n.x<o?n.x:o,i=n.y<i?n.y:i,r=n.x+n.width>r?n.x+n.width:r,s=n.y+n.height>s?n.y+n.height:s})),t&&(o=t.x<o?t.x:o,i=t.y<i?t.y:i,r=t.x+t.width>r?t.x+t.width:r,s=t.y+t.height>s?t.y+t.height:s),{x:o,width:r-o,y:i,height:s-i}}(j,Z),{panZoomProps:be,panProps:we,zoomProps:Me,toggleButtonContent:ve,cursor:Pe,centerX:Se,centerY:Le,zoomValue:Ne,kbPanCallback:Ce,kbZoomCallback:De}=Ge({props:C,captureTargetRef:X,width:i,height:s,contentBounds:ke,isRtl:$}),{touchResponse:Xe,touchResponseStyle:je}=M.useVisTouchResponse({type:"auto",supportsTouchDragGestures:"on"===Me.zooming||"off"!==we.panning,rootRef:X}),{onContextMenuDismissed:Ye,focusedItemInfo:Te,hoveredItemInfo:Be,activeId:Ee,eventsProps:Oe}=$e(Xe,_[0],_,Q,ye,T,te,H,i,s,C.maxZoom||1,I,q,xe,k,b,Ce,De,N),{selectionProps:Ze,selectionContent:Ae}=function({selectedIds:e,selectionMode:t,nodeMap:n,linkMap:o,focusedItemInfo:i,onSelectionChange:r,rootRef:s,promotedLinkMap:d}){const a=n.itemIdToDataMap,l=new Map,c=new Map,u=o.itemIdToDataMap,h=e=>{const t=`N_${e}`;return l.set(t,e),t},p=e=>l.get(e),g=e=>{const t=`L_${e}`;return c.set(t,e),t},f=e=>c.get(e),m=e=>`P_${JSON.stringify(e)}`,y=e=>JSON.parse(e.slice(2)),x=[...e.nodes?e.nodes.map(h):[],...e.links?e.links.map(g):[],...e.promotedLinks?e.promotedLinks.map(m):[]],{selectionContent:k,selectionProps:b}=w.useSelection({selection:x,idExtracter:e=>{const t="keyup"===e.type?i:oe(e.target,d,s);return void 0!==t.id?"node"===t.type?h(t.id):"link"===t.type?g(t.id):m(t.id):void 0},selectionMode:t,getDataById:e=>{let t;if("N"===e[0]){const o=p(e);t=n.itemIdToDataMap.get(o)}else if("L"===e[0]){const n=f(e);t=o.itemIdToDataMap.get(n)}else"P"===e[0]&&(t=y(e));return t},onChange:e=>{const t=e.ids.filter((e=>"N"===e[0])).map((e=>p(e))),n=e.ids.filter((e=>"L"===e[0])).map((e=>f(e))),o=e.ids.filter((e=>"P"===e[0])).map((e=>y(e))),i=t.filter((e=>"off"!==a.get(e)?.selectable)),s=n.filter((e=>"off"!==u.get(e)?.selectable)),d=i.map((e=>a.get(e))),l=s.map((e=>u.get(e)));return r&&r({nodes:{ids:i,data:d},links:{ids:s,data:l},promotedLinks:{ids:o}})},isKeyboardSelection:e=>"["===e.key||"]"===e.key});return{selectionContent:k,selectionProps:b}}({selectedIds:a,selectionMode:l,nodeMap:K,linkMap:ee,focusedItemInfo:Te,onSelectionChange:f,rootRef:X,promotedLinkMap:xe});Te&&T.size>0&&(D.current=function(e,t,n,o,i){if("node"===e.type){const n=U(e.id,void 0,i),o=t.get(e.id)||t.values().next().value;return{x:n?n.x:o.x,y:n?n.y:o.y,width:o.width,height:o.height}}{const i="promotedLink"===e.type?e.id:n[o.get(e.id)||0],r=t.get(i.startNode)||t.values().next().value,s=t.get(i.endNode)||t.values().next().value,d={x:r.x+r.width/2,y:r.y+r.height/2},a={x:s.x+s.width/2,y:s.y+s.height/2};return{x:Math.min(d.x,a.x),y:Math.min(d.y,a.y),width:Math.abs(d.x-a.x),height:Math.abs(d.y-a.y)}}}(Te,T,Q,ee.itemIdToIndexMap,X));const{datatipContent:Ve,datatipProps:{"aria-describedby":Fe,..._e}}=(({touchResponse:e,datatip:t,focusedItemBoundsRef:n,focusedItemInfo:o,panState:i,zoom:r,width:s,nodesMap:d,linksMap:a,hoveredItem:l})=>{const{direction:u}=c.useUser(),h="rtl"===u,p=function(e,t,n,o,i){let r;const s=o?.isCurrent;if(s&&null!=o.id&&(r=o),n&&n.isCurrent&&(r=n),r&&i){let n;switch(r.type){case"node":n={data:e.get(r.id),type:"node"};break;case"link":n={data:t.get(r.id),type:"link"};break;default:n={id:r.id,type:"promotedLink"}}return i(n)}if(r){const n=("node"===r.type?e.get(r.id):t.get(r.id))?.accessibleLabel;return{content:n}}}(d,a,o,l,t),f=n.current?{x:n.current.x+i.panX,y:n.current.y+i.panY,width:n.current.width*r,height:n.current.height*r}:void 0,m=o.isCurrent?g.calculateOffset(h,s,f):g.calculateOffset(h,s),{datatipContent:x,datatipProps:k}=y.useDatatip({content:p?.content,borderColor:p?.borderColor,placement:"top-start",offset:m,anchor:o?.isCurrent?"element":"pointer",touchResponse:e});return{datatipContent:x,datatipProps:k}})({touchResponse:Xe,datatip:L,focusedItemInfo:Te,focusedItemBoundsRef:D,panState:Re(Se,Le,Ne,i,s),zoom:Ne,width:i,nodesMap:H,linksMap:te,hoveredItem:Be}),[Ke,Ue]=r.useState("hidden"),qe={width:i,height:s,cursor:Pe,visibility:Ke,...je},We=r.useRef(!1);r.useLayoutEffect((()=>{X.current&&(We.current=!0)}),[I]),r.useLayoutEffect((()=>{"visible"===Ke&&1==We.current&&(X.current?.focus(),We.current=!1)}),[Ke]);const Je=r.useRef();Je.current={selectedNodeIds:a.nodes??[],selectedLinkIds:a.links??[],selectedPromotedLinkIds:a.promotedLinks??[],focusedId:Te.isCurrent&&Te.isFocusVisible?Te.id:void 0,hoveredId:Be?.isCurrent?Be.id:void 0,activeId:Ee,highlightedNodeIds:S.nodes??[],highlightedLinkIds:S.links??[],highlightedPromotedLinkIds:S.promotedLinks??[],zoom:Ne,expanded:I||{all:!1,keys:new Set}};const{contextMenuContent:Qe,contextMenuProps:et}=(({focusedItemInfo:e,rootRef:t,contextMenuConfig:n,onContextMenuDismissed:o,nodesMap:i,linksMap:r,promotedLinkMap:s})=>{const{contextMenuProps:d,contextMenuContent:a}=P.useContextMenu({onContextMenuHandler:({gesture:n,target:o})=>{let d,a="background";const l=o;"keyboard"===n?(d=e.id,a=e.type):l.closest("[data-oj-private-node]")?.dataset.ojPrivateNode?(d=l.closest("[data-oj-private-node]")?.dataset.ojPrivateNode,a="node"):l.closest("[data-oj-private-link]")?.dataset.ojPrivateLink?(d=l.closest("[data-oj-private-link]")?.dataset.ojPrivateLink,a="link"):l.closest("[data-oj-private-promoted-link]")?.dataset.ojPrivatePromotedLink&&(d=l.closest("[data-oj-private-promoted-link]")?.dataset.ojPrivatePromotedLink,d=s.get(d),a="promotedLink");const{context:c}=function(e,t,n,o){let i;return i="node"===n?{data:e.get(o),type:n}:"link"===n?{data:t.get(o),type:n}:"promotedLink"===n?{id:o,type:n}:{type:"background"},{context:i}}(i,r,a,d);if("keyboard"===n){let n;return n="node"===e.type?t.current?.querySelector(`[data-oj-private-node="${d}"]`):"link"===e.type?t.current?.querySelector(`[data-oj-private-link="${d}"]`):t.current?.querySelector(`[data-oj-private-promoted-link="${se(d)}"]`),{type:"element",context:c,elem:n||null}}return{type:"pointer",context:c}},contextMenuOptions:{isDisabled:!n},rootRef:t,contextMenuConfig:n,onContextMenuDismissed:o});return{contextMenuContent:a,contextMenuProps:d}})({focusedItemInfo:Te,rootRef:X,contextMenuConfig:e.length>0?R:void 0,onContextMenuDismissed:Ye,nodesMap:H,linksMap:te,promotedLinkMap:xe}),tt=m.mergeProps(be,Oe,Ze,_e,et);return t.jsxs("div",{ref:X,class:o.outerStyles,...tt,style:qe,tabIndex:0,role:"application","aria-label":C["aria-label"],"aria-labelledby":C["aria-labelledby"],"aria-describedby":v.l([C["aria-describedby"],Fe]),"aria-activedescendant":Ee,children:[de?t.jsx(ze,{centerX:Se,centerY:Le,zoom:Ne,width:i,height:s,children:t.jsx(Ie,{nodes:_,links:Q,zoom:Ne,nodeRenderer:h,linkRenderer:p,width:i,height:s,nodeBounds:j,linkDimensions:E.current,promotedLinkDimensions:O.current,states:Je.current,onNodeSizeChanged:(e,t,o)=>{ie.set(o,{width:e,height:t}),ne.current||(ne.current=!0,window.requestAnimationFrame((()=>{const{labelDims:e,layoutJSON:t}=F(H,te,ye,ie,i,s,Ne,q,X,de);ae.current=e;const o=u(t),{nodePoints:r,nodeLabelPos:d,linkLabelPos:a}=G(o,_,Q);ue.current=d,he.current=a;const{nodeBounds:l,nodeAbsBounds:c}=function(e,t,n){const o=new Map,i=new Map;return e.forEach(((e,r)=>{const s=t.get(r),d=U(r,void 0,n);s&&o.set(r,{x:s.x,y:s.y,width:e.width,height:e.height}),d&&i.set(r,{x:d.x,y:d.y,width:e.width,height:e.height})})),{nodeBounds:o,nodeAbsBounds:i}}(ie,r,X),h=function(e,t=new Map,n=new Map,o,i){if(0===t.size)return;let r,s,d=1/0,a=1/0,l=-1/0,c=-1/0;return t.forEach(((t,n)=>{r=J(t,e.get(n),o),s=U(n,null,i),s&&(d=r.x+s.x<d?r.x+s.x:d,a=r.y+s.y<a?r.y+s.y:a,l=r.x+r.width+s.x>l?r.x+r.width+s.x:l,c=r.y+r.height+s.y>c?r.y+r.height+s.y:c)})),n.forEach(((t,n)=>{r=J(t,e.get(n),o),r&&(d=r.x<d?r.x:d,a=r.y<a?r.y:a,l=r.x+r.width>l?r.x+r.width:l,c=r.y+r.height>c?r.y+r.height:c)})),{x:d,width:l-d,y:a,height:c-a}}(e,d,a,"rtl"===V,X);!function(e,t){if(e.size!==t.size)return!1;let n=!0;return e.forEach(((e,o)=>{const i=t.get(o);i?(Math.abs(e.x-i.x)>.5||Math.abs(e.y-i.y)>.5||Math.abs(e.width-i.width)>.5||Math.abs(e.height-i.height)>.5)&&(n=!1):n=!1})),n}(l,j)||le.current||ce.current?(ce.current=function(e,t,n){const o=[];n.forEach((e=>{o.includes(e.startNode)||o.push(e.startNode),o.includes(e.endNode)||o.push(e.endNode)}));let i=!1;return e.forEach(((e,n)=>{const r=t.get(n);let s=!0;r?(Math.abs(e.x-r.x)>.5||Math.abs(e.y-r.y)>.5||Math.abs(e.width-r.width)>.5||Math.abs(e.height-r.height)>.5)&&(s=!1):s=!1,!s&&o.includes(n)&&(i=!0)})),i}(l,j,n),Y(l),B(c),A(h),fe(o),le.current=!1,Ue("hidden")):"hidden"==Ke&&Ue("visible"),ne.current=!1})))},onLinkSizeChanged:(e,t,n)=>{if(0!==e||0!==t){const o=E.current.get(n);(!o||o&&(Math.abs(e-o.width)>.5||Math.abs(t-o.height)>.5))&&(E.current.set(n,{width:e,height:t}),le.current=!0)}},onPromotedLinkSizeChanged:(e,t,n)=>{if(0!==e||0!==t){const o=O.current.get(n);(!o||o&&(Math.abs(e-o.width)>.5||Math.abs(t-o.height)>.5))&&(O.current.set(n,{width:e,height:t}),le.current=!0)}},nodeLabelPositions:ue.current,linkLabelPositions:he.current,labelDimensions:ae.current,supportsSelection:"none"!==l||!!(a?.nodes&&a.nodes.length>0)||!!(a?.links&&a.links.length>0),layoutOutput:ge,nodeIdToParentMap:q,rootRef:X,combinedNodeBounds:ke,nodeBoundsRef:me,promotedLinks:ye,normalizeLinks:z})}):void 0,re,Ve,Qe,Ae,ve]})}e.BaseDiagram=function({width:e,height:i,...r}){return r.nodes&&r.nodes.length>0?t.jsx(n.TrackResizeContainer,{width:e,height:i,class:o.dimensionStyle,children:(e,n)=>t.jsx(We,{width:e,height:n,...r})}):null}}));
|
|
1
|
+
define(['exports', 'preact/jsx-runtime', './TrackResizeContainer-d8fa612c', './PRIVATE_BaseDiagram/themes/DiagramStyles.css', './useResizeObserver-25032462', 'preact/hooks', './accUtils-7e057eef', './keys-4755c121', './classNames-08d99695', './useTranslationBundle-e4dd341e', './useUser-08901aba', './EmbeddedIconButton-d1472ac1', './Plus-410c880d', './Minus-5ee62ca4', './layoutUtils-517a546d', './useVisHover-28319fef', './mergeProps-bcfa6a92', './useDatatip-df022581', './useTextDimensions-f254e8f5', './clientUtils-df9caee0', './useVisDragModeControls-47a4f754', './useSelection-00add7e4', './useVisTouchResponse-88a7bb09', './stringUtils-4ffd9d59', './useContextMenu-c4fc924d', './Menu-4b445ba5', './MenuItem-f3de5e35', 'preact', './logger-0f873e29', './LayerHost-0b288129', 'preact/compat', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-66f3844a', 'css!./IconStyle.styles.css', './SelectMenuGroupContext-67f24a8f', './UNSAFE_Menu/themes/MenuItemStyles.css', './UNSAFE_Separator/themes/SeparatorStyles.css', 'css!./MenuSeparatorStyles.styles.css', 'module', './UNSAFE_Menu/themes/redwood/MenuSeparatorVariants.css', 'css!./MenuStyles.styles.css'], (function(e,t,n,o,i,r,s,d,a,l,c,u,h,p,g,f,m,y,x,k,b,w,M,v,P,S,L,I,N,R,z,C,D,X,j,Y,T,B,E,O,Z,A,V){"use strict";function F(e,t,n,o,i,r,s,d,a,l){const c=new Map,u=Array.from(e.values()),h=Array.from(t.values());l&&function(e,t,n,o){e.forEach((e=>{if(e.nodes&&q(e.nodes,n,o),e.label){const t=e.label,i=re(e.labelStyle);n.set(e.id,o(t,i))}})),t.forEach((e=>{if(e.label){const t=e.label,i=re(e.labelStyle);n.set(e.id,o(t,i))}}))}(u,h,c,l);const p=Array.from(t.keys());for(const e of p){const n=t.get(e);if(n&&l&&n.label){const t=n.label,o=re(n.labelStyle);c.set(e,l(t,o))}}return{layoutJSON:{getNodeDimensions:function(e){return o.get(e.id)},getLabelDimensions:function(e){return c.get(e.id)},getContainerId:function(e,t){return ae(e,t,d)},getRelativeNodeBounds:function(e,t){const n=U(e,t,a);return n?{x:n.x/s,y:n.y/s,width:n.width/s,height:n.height/s}:void 0},getPromotedLinks:function(){return n},componentSize:{width:i,height:r}},labelDims:c}}function $(e,t){return{x:e.x/t,y:e.y/t,width:e.width/t,height:e.height/t}}function _(e,t,n,o,i,r){if(i&&i.current){let s,d;if(r){const t=`${e.startNode}_${e.endNode}`;s=i.current.querySelector(`[data-oj-private-promoted-link=${t}]`)}else s=i.current.querySelector(`[data-oj-private-link=${e}]`);t&&(d=i.current.querySelector(`[data-oj-private-node=${t}]`));const a=n.get(e);if(s&&d&&a){const e=$(s.getBoundingClientRect(),o),t=$(d.getBoundingClientRect(),o);return{x:e.x-t.x,y:e.y-t.y,width:a.width,height:a.height}}}return null}function K(e,t,n,o,i,r,s,d){let a,l,c,u=1/0,h=1/0,p=-1/0,g=-1/0;for(let t=0;t<e.length;t++){a=e[t].id;const n=o.get(a);n&&(u>n.x&&(u=n.x,c=a),h>n.y&&(h=n.y,l=a),p<n.x+n.width&&(p=n.x+n.width),g<n.y+n.height&&(g=n.y+n.height))}const f=u,m=h;let y=0,x=0,k=p-u,b=g-h;for(let e=0;e<t.length;e++){a=t[e].id;const n=_(a,l,i,s,d),o=_(a,c,i,s,d);o&&(o.x<y&&(y=o.x),k<o.x+o.width&&(k=o.x+o.width)),n&&(n.y<x&&(x=n.y),b<n.y+n.height&&(b=n.y+n.height))}for(let e=0;e<n.length;e++){a=n[e];const t=_(a,l,r,s,d,!0),o=_(a,c,r,s,d,!0);o&&(o.x<y&&(y=o.x),k<o.x+o.width&&(k=o.x+o.width)),t&&(t.y<x&&(x=t.y),b<t.y+t.height&&(b=t.y+t.height))}return{minX:f,minY:m,contentWidth:p-u,contentHeight:g-h,bounds:{x:y,y:x,width:k-y,height:b-x}}}function U(e,t,n){if(n&&n.current){const o=n.current.querySelector(`[data-oj-private-node=${e}]`);let i;if(i=t?n.current.querySelector(`[data-oj-private-child=${t}]`):n.current.querySelector("[data-oj-private-node-container]"),o&&i){const e=o.getBoundingClientRect(),t=i.getBoundingClientRect();return{x:e.x-t.x,y:e.y-t.y,width:e.width,height:e.height}}}return null}function q(e,t,n){e.forEach((e=>{if(e.nodes&&q(e.nodes,t,n),e.label){const o=e.label,i=re(e.labelStyle);t.set(e.id,n(o,i))}}))}function G(e,t,n){const o=new Map,i=new Map,r=new Map;H(e,t,o,i);const s=e.links;let d;if(s)for(let e=0;e<n.length;e++)d=s[n[e].id],d&&d.label&&r.set(n[e].id,d.label);return{nodePoints:o,nodeLabelPos:i,linkLabelPos:r}}function H(e,t,n,o){const i=e.nodes;let r;if(i)for(let s=0;s<t.length;s++){const d=t[s],a=d.id;d.nodes&&H(e,d.nodes,n,o),r=i[a],r&&(n.set(a,r.position),r.label&&o.set(a,r.label))}}function W(e,t,n,o,i,r,s,a,l,c){for(let u=0;u<e.length;u++){const h=e[u],p=`${c}_${u}`;t.set(h.id,h),n.set(h.id,p),o.set(p,h.id),i.set(h.id,l),a.push(h.id),h.nodes&&(r.push(h),d.containsKey(s,h.id)&&W(h.nodes,t,n,o,i,r,s,a,h.id,p))}}function J(e,t,n){const o=te(t,e,n);if(e.rotationAngle){const n=e.rotationPoint?e.rotationPoint:{x:t.width/2,y:t.height/2},i=e.rotationAngle,r=Q({x:0,y:0},n),s=Q({x:t.width,y:0},n),d=Q({x:0,y:t.height},n),a=Q({x:t.width,y:t.height},n);return function(e){let t=e[0].x,n=e[0].y,o=e[0].x,i=e[0].y;for(let r=1;r<e.length;r++){const s=e[r];s.x<t?t=s.x:s.x>o&&(o=s.x),s.y<n?n=s.y:s.y>i&&(i=s.y)}return{x:t,y:n,width:o-t,height:i-n}}([ee(r,i),ee(d,i),ee(s,i),ee(a,i)].map((e=>({x:e.x+o.x+n.x,y:e.y+o.y+n.y}))))}return{x:o.x,y:o.y,width:t.width,height:t.height}}function Q(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ee(e,t){return{x:e.x*Math.cos(t)-e.y*Math.sin(t),y:e.x*Math.sin(t)+e.y*Math.cos(t)}}function te(e,t,n){const o=t.position,i=t.hAlign?t.hAlign:n?"right":"left",r=t.vAlign;let s,d;return s="center"===i?o.x-e.width/2:"right"===i?o.x-e.width:o.x,d="middle"===r?o.y-e.height/2:"bottom"===r?o.y-e.height:"baseline"===r?o.y+e.y:o.y,{x:s,y:d}}function ne(e,t){return e?.id===t?.id&&e?.type===t?.type}function oe(e,t,n){let o,i,r=e;for(;!i;)if(r.dataset.ojPrivateNode?(o="node",i=r.dataset.ojPrivateNode):r.dataset.ojPrivateLink?(i=r.dataset.ojPrivateLink,o="link"):r.dataset.ojPrivatePromotedLink&&(i=t.get(r.dataset.ojPrivatePromotedLink),o="promotedLink"),!i){if(!r.parentElement||r.parentElement===n?.current)break;r=r.parentElement}return{id:i,type:o}}function ie(e,t,n,o){return s.generateAriaLabel(e,o||"",{isSelected:t?n.isSelected:void 0,isIndirect:n.isIndirect,isExpanded:n.isExpanded,isCollapsed:n.isCollapsed})}function re(e){const t={};return e?(e.fontFamily&&(t.fontFamily=e.fontFamily),e.fontSize&&(t.fontSize=e.fontSize),e.fontStyle&&(t.fontStyle=e.fontStyle),e.fontWeight&&(t.fontWeight=e.fontWeight),t):t}function se(e){return`${e.startNode}_${e.endNode}`}function de(e){return!("id"in e)}function ae(e,t,n){const o=ce(e,n),i=ce(t,n);for(let e=0;e<o.length;e++)if(i.indexOf(o[e])>-1)return o[e]}function le(e,t,n,o){const i=[],r=[];for(let n=0;n<t.length;n++){const s=t[n];ae(s.startNode,s.endNode,o)===e&&(o.get(s.startNode)||o.get(s.endNode)?i.push(s):r.push(s))}const s=[],d=[];for(let t=0;t<n.length;t++){const i=n[t];ae(i.startNode,i.endNode,o)===e&&(o.get(i.startNode)||o.get(i.endNode)?s.push(i):d.push(i))}return{frontLinks:i,frontPromotedLinks:s,backLinks:r,backPromotedLinks:d}}function ce(e,t){const n=[];let o=t.get(e);for(;void 0!==o;)n.push(o),o=t.get(o);return n}function ue(e,t){const n=t.nodes;for(let t=0;t<e.length;t++){const o=e[t];if(!n[o.startNode]||!n[o.endNode])return!1}return!0}function he(e,t){return d.containsKey(t,e)?d.removeKey(t,e,!1):d.addKey(t,e)}function pe(e,t){const n=(e,t)=>{if(t)for(let o=0;o<t.length;o++)if(t[o].id===e||n(e,t[o].nodes))return!0;return!1};for(let o=0;o<t.length;o++){const i=t[o];if(n(e,i.nodes))return i.id}return null}const ge=({text:e,position:n,styles:i,dimensions:r,isRTL:s})=>{const{labelStyle:d,labelBorderStyle:l}=o.labelStyles,c=te(r,n,s),u=function(e){const t=e.rotationAngle,n=e.rotationPoint,o={};t&&(o.transform=`rotate(${t}deg)`);n&&(o["transform-origin"]=`${n.x}px ${n.y}px`);return o}(n);return t.jsx("div",{class:a.classNames([d,i&&i.borderColor&&l]),style:{top:c.y,left:c.x,...i,...u},children:e})};const fe=({id:e,state:n,position:s,activeId:d,nodeRenderer:g,onNodeSizeChanged:f,data:m,accessibleLabel:y,isDimmed:x,supportsSelection:k,content:b,labelPosition:w,labelDimensions:M})=>{const{nodeStyles:v,dimmedItemStyle:P}=o.itemStyles,S=l.useTranslationBundle("@oracle/oraclejet-preact"),L=r.useRef(null),I=r.useRef({box:"border-box"});i.useResizeObserver(L,r.useCallback((t=>{const n=t.borderBoxSize,o=n[0].inlineSize,i=n[0].blockSize;f(o,i,e)}),[e,f]),I.current);const N=s||{x:0,y:0},{direction:R}=c.useUser(),z=m.label&&w&&M,C={state:n,data:m,childContext:b,expander:t.jsx("div",{"data-oj-private-button":e,class:o.buttonStyle,children:t.jsx(u.EmbeddedIconButton,{"aria-hidden":!0,size:"xs",children:b?t.jsx(p.SvgMinus,{}):t.jsx(h.SvgPlus,{})})})};return t.jsxs("div",{ref:L,class:v,"data-oj-private-node":e,role:b?"group":"img","aria-label":ie(S,k,{isSelected:n.isSelected,isExpanded:void 0!==b,isCollapsed:void 0===b&&void 0!==m.nodes},y),style:{top:N.y,left:N.x},id:n.isFocused||n.isHovered?d:void 0,children:[t.jsx("div",{class:a.classNames([x?P:void 0]),children:g(C)}),z?t.jsx("div",{class:o.layerStyles,children:t.jsx(ge,{styles:m.labelStyle,text:m.label,position:w,dimensions:M.get(e),isRTL:"rtl"===R})}):void 0]},e)},me=({id:e,state:n,activeId:s,data:d,linkRenderer:c,accessibleLabel:u,isDimmed:h,supportsSelection:p,layoutOutput:g,onLinkSizeChanged:f})=>{const m=l.useTranslationBundle("@oracle/oraclejet-preact"),{dimmedItemStyle:y,linkStyles:x}=o.itemStyles,k={state:n,data:d,layoutOutput:g,type:"link"},b=r.useRef(null),w=r.useRef({box:"border-box"});return i.useResizeObserver(b,r.useCallback((t=>{const n=t.borderBoxSize,o=n[0].inlineSize,i=n[0].blockSize;f(o,i,e)}),[e,f]),w.current),t.jsx("g",{ref:b,id:n.isFocused?s:void 0,"aria-label":ie(m,p,{isSelected:n.isSelected},u),"data-oj-private-link":e,role:"img",class:a.classNames([x,h&&y]),children:c(k)},e)},ye=(e,t,n,o,i)=>{const r=e>o||e<n?t:e;r!==t&&i&&i({zoomValue:r})};function xe(e,t,n){const o=(e-40)/n.width,i=(t-40)/n.height;return Math.min(o,i)}function ke(e,t,n){let o=Math.max(t,e);return o=Math.min(n,o),o}function be(e,t,n,o,i,r){let s;if("node"===e.type)s=n.get(e.id);else{const o=t.get(e.id),i=n.get(o.startNode),r=n.get(o.endNode),d=Math.min(i.x,r.x),a=Math.min(i.y,r.y);s={x:d,y:a,width:Math.max(i.x+i.width,r.x+i.width)-d,height:Math.max(i.y+i.height,r.y+r.height)-a}}return function(e,t,n,o){const i=(n-40)/e.width,r=(o-40)/e.height,s=Math.min(i,r,t),d=e.width/2+e.x,a=e.height/2+e.y;return{centerX:d,centerY:a,zoom:s}}(s,r,o,i)}function we({labelPosition:e,itemProps:n,labelDimensions:i}){const{direction:r}=c.useUser();return t.jsx("div",{class:o.layerStyles,children:n.map((n=>{if(n.label&&e.get(n.id))return t.jsx(ge,{styles:n.labelStyle,text:n.label,position:e.get(n.id),dimensions:i.get(n.id),isRTL:"rtl"===r})}))})}function Me({links:e,states:n,linkRenderer:i,width:r,height:s,supportsSelection:d,onLinkSizeChanged:a,layoutOutput:l,combinedNodeBounds:c,linkLabelPositions:u,labelDimensions:h,minX:p,minY:g}){const f=xe(r,s,c);return t.jsxs("div",{class:o.linkLayerStyle,style:{top:-g,left:-p},children:[t.jsx("svg",{width:r/f,height:s/f,class:o.layerStyles,overflow:"visible",children:e.map((e=>{const o={isSelected:n.selectedLinkIds.includes(e.id),isFocused:n.focusedId===e.id,isHovered:n.hoveredId===e.id,zoom:n.zoom};return t.jsx(me,{id:e.id,state:o,isDimmed:(0!==n.highlightedNodeIds.length||0!==n.highlightedLinkIds.length||0!==n.highlightedPromotedLinkIds.length)&&!n.highlightedLinkIds.includes(e.id),activeId:n.activeId,accessibleLabel:e.accessibleLabel,data:e,linkRenderer:i,supportsSelection:d,layoutOutput:l,onLinkSizeChanged:a})}))}),h?t.jsx("div",{children:e&&u?t.jsx(we,{labelPosition:u,itemProps:e,labelDimensions:h}):void 0}):void 0]})}const ve=({id:e,state:n,activeId:s,linkRenderer:d,isDimmed:c,supportsSelection:u,layoutOutput:h,onLinkSizeChanged:p})=>{const g=l.useTranslationBundle("@oracle/oraclejet-preact"),{dimmedItemStyle:f,linkStyles:m}=o.itemStyles,y={state:n,data:e.links,layoutOutput:h,startNode:e.startNode,endNode:e.endNode,type:"promotedLink"},x=r.useRef(null),k=r.useRef({box:"border-box"}),b=se(e);i.useResizeObserver(x,r.useCallback((e=>{const t=e.borderBoxSize,n=t[0].inlineSize,o=t[0].blockSize;p(n,o,b)}),[b,p]),k.current);const w=e.links.length,M=w>1?g.diagram_promotedLinks({num_links:w.toString()}):g.diagram_promotedLink();return t.jsx("g",{ref:x,id:n.isFocused?s:void 0,"aria-label":ie(g,u,{isSelected:n.isSelected,isIndirect:!0},M),"data-oj-private-promoted-link":b,role:"img",class:a.classNames([m,c&&f]),children:d(y)},b)};function Pe({links:e,states:n,linkRenderer:i,width:r,height:s,supportsSelection:d,onLinkSizeChanged:a,layoutOutput:l,combinedNodeBounds:c,minX:u,minY:h}){const p=xe(r,s,c);return t.jsx("div",{class:o.linkLayerStyle,style:{top:-h,left:-u},children:t.jsx("svg",{width:r/p,height:s/p,class:o.layerStyles,overflow:"visible",children:e.map((e=>{const o={isSelected:n.selectedPromotedLinkIds.includes(e),isFocused:n.focusedId===e,isHovered:n.hoveredId===e,zoom:n.zoom};return t.jsx(ve,{id:e,state:o,isDimmed:(0!==n.highlightedNodeIds.length||0!==n.highlightedLinkIds.length||0!==n.highlightedPromotedLinkIds.length)&&!n.highlightedPromotedLinkIds.includes(e),activeId:n.activeId,linkRenderer:i,supportsSelection:d,layoutOutput:l,onLinkSizeChanged:a})}))})})}function Se({nodes:e,states:n,nodeRenderer:i,linkRenderer:r,nodeBounds:s,width:a,height:l,onNodeSizeChanged:c,onLinkSizeChanged:u,onPromotedLinkSizeChanged:h,supportsSelection:p,nodeLabelPositions:g,linkLabelPositions:f,labelDimensions:m,minX:y=0,minY:x=0,parentId:k,links:b,promotedLinks:w,layoutOutput:M,zoom:v,nodeIdToParentMap:P,linkDimensions:S,promotedLinkDimensions:L,rootRef:I,combinedNodeBounds:N,nodeBoundsRef:R,normalizeLinks:z=!1}){const{frontLinks:C,frontPromotedLinks:D,backLinks:X,backPromotedLinks:j}=le(k,b,w,P);return t.jsxs("div",{class:o.layerStyles,"data-oj-private-node-container":!0,children:[M&&r&&X.length>0&&ue(X,M)&&t.jsx(Me,{links:X,states:n,linkRenderer:r,width:a/v,height:l,supportsSelection:p,labelDimensions:m,layoutOutput:M,onLinkSizeChanged:u,linkLabelPositions:f,combinedNodeBounds:N,minY:z?x:0,minX:z?y:0}),M&&r&&j.length>0&&ue(j,M)&&t.jsx(Pe,{links:j,states:n,linkRenderer:r,width:a/v,height:l,supportsSelection:p,layoutOutput:M,onLinkSizeChanged:h,combinedNodeBounds:N,minY:z?x:0,minX:z?y:0}),e.map((e=>{const o=s&&s.get(e.id)?{x:s.get(e.id).x-y,y:s.get(e.id).y-x}:void 0,k={isSelected:n.selectedNodeIds.includes(e.id),isFocused:n.focusedId===e.id,isHovered:n.hoveredId===e.id,zoom:n.zoom,isExpanded:n.expanded&&d.containsKey(n.expanded,e.id)},{backLinks:z,backPromotedLinks:C}=le(e.id,b,w,P);if(e.nodes&&d.containsKey(n.expanded,e.id)){if(s&&function(e,t,n,o,i,r){const s=e.nodes;for(let e=0;e<s?.length;e++){const n=s[e].id;if(!t.get(n))return!1}for(let e=0;e<n.length;e++){const t=n[e].id,o=i.get(t);if(!o||0===o.width&&0===o.height)return!1}for(let e=0;e<o.length;e++){const t=o[e],n=r.get(se(t));if(!n||0===n.width&&0===n.height)return!1}return!0}(e,s,z,C,S,L)){const d=Le(e,n,i,c,u,h,p,b,w,P,a,l,v,e.id,s,S,L,N,R,g,f,m,r,M,I);return t.jsx(fe,{id:e.id,position:o,state:k,isDimmed:(0!==n.highlightedNodeIds.length||0!==n.highlightedLinkIds.length||0!==n.highlightedPromotedLinkIds.length)&&!n.highlightedNodeIds.includes(e.id),activeId:n.activeId,nodeRenderer:i,onNodeSizeChanged:c,accessibleLabel:e.accessibleLabel,data:e,supportsSelection:p,content:d,labelDimensions:m,labelPosition:g?.get(e.id)})}{const o=Le(e,n,i,c,u,h,p,b,w,P,a,l,v,e.id,s,S,L,N,R,g,f,m,r,M,I);return t.jsx("div",{children:o.content})}}return t.jsx(fe,{id:e.id,position:o,state:k,isDimmed:(0!==n.highlightedNodeIds.length||0!==n.highlightedLinkIds.length||0!==n.highlightedPromotedLinkIds.length)&&!n.highlightedNodeIds.includes(e.id),activeId:n.activeId,nodeRenderer:i,onNodeSizeChanged:c,accessibleLabel:e.accessibleLabel,data:e,supportsSelection:p,labelDimensions:m,labelPosition:g?.get(e.id)})})),M&&r&&C.length>0&&ue(C,M)&&t.jsx(Me,{links:C,states:n,linkRenderer:r,width:a/v,height:l,supportsSelection:p,labelDimensions:m,layoutOutput:M,onLinkSizeChanged:u,linkLabelPositions:f,combinedNodeBounds:N,minY:z?x:0,minX:z?y:0}),M&&r&&D.length>0&&ue(D,M)&&t.jsx(Pe,{links:D,states:n,linkRenderer:r,width:a/v,height:l,supportsSelection:p,layoutOutput:M,onLinkSizeChanged:h,combinedNodeBounds:N,minY:z?x:0,minX:z?y:0})]})}function Le(e,n,o,i,r,s,d,a,l,c,u,h,p,g,f,m,y,x,k,b,w,M,v,P,S){const L=e.nodes,{backLinks:I,backPromotedLinks:N}=le(g,a,l,c),{minX:R,minY:z,contentWidth:C,contentHeight:D,bounds:X}=K(L,I,N,f,m,y,p,S),j=k.current;j?.set(e.id,X),k.current=j;return{content:t.jsx("div",{"data-oj-private-child":g,style:{position:"relative"},children:t.jsx(Se,{nodes:L,nodeBounds:f,states:n,minX:f?R:void 0,minY:f?z:void 0,nodeRenderer:o,onNodeSizeChanged:i,onLinkSizeChanged:r,onPromotedLinkSizeChanged:s,supportsSelection:d,nodeLabelPositions:b,linkLabelPositions:w,labelDimensions:M,links:a,promotedLinks:l,nodeIdToParentMap:c,linkRenderer:v,layoutOutput:P,width:u,height:h,zoom:p,parentId:g,linkDimensions:m,promotedLinkDimensions:y,rootRef:S,combinedNodeBounds:x,nodeBoundsRef:k})}),width:C||0,height:D?D-z:0,bounds:X}}function Ie({nodes:e,links:n,promotedLinks:o,nodeRenderer:i,linkRenderer:r,states:s,nodeBounds:d,width:a,height:l,onNodeSizeChanged:c,onLinkSizeChanged:u,onPromotedLinkSizeChanged:h,labelDimensions:p,nodeLabelPositions:g,linkLabelPositions:f,supportsSelection:m,layoutOutput:y,zoom:x,nodeIdToParentMap:k,linkDimensions:b,promotedLinkDimensions:w,rootRef:M,combinedNodeBounds:v,nodeBoundsRef:P,normalizeLinks:S}){const{backLinks:L,backPromotedLinks:I}=le(void 0,n,o,k),{minX:N,minY:R}=K(e,L,I,d,b,w,x,M);return t.jsx(t.Fragment,{children:t.jsx(Se,{nodes:e,nodeBounds:d,states:s,nodeRenderer:i,onNodeSizeChanged:c,onLinkSizeChanged:u,onPromotedLinkSizeChanged:h,supportsSelection:m,nodeLabelPositions:g,linkLabelPositions:f,labelDimensions:p,linkDimensions:b,promotedLinkDimensions:w,rootRef:M,links:n,promotedLinks:o,nodeIdToParentMap:k,linkRenderer:r,layoutOutput:y,width:a,height:l,zoom:x,minX:d&&N!==1/0?N:void 0,minY:d&&R!==1/0?R:void 0,combinedNodeBounds:v,nodeBoundsRef:P,normalizeLinks:S})})}const Ne=(e,t,n,o,i,r,s,d)=>{if(!s)return{newPan:{panX:0,panY:0}};const a=((e,t,n,o)=>{const i="y"!==o?t.panX:e.panX,r="x"!==o?t.panY:e.panY;return{panX:i>n.maxX?n.maxX:i<n.minX?n.minX:i,panY:r>n.maxY?n.maxY:r<n.minY?n.minY:r}})(e,t,s,n),l=a.panX!==e.panX||a.panY!==e.panY,c=function(e,t,n,o,i){return{centerX:(o/2-e)/n,centerY:(i/2-t)/n}}(a.panX,a.panY,o,i,r);return l&&d&&d({centerX:c.centerX,centerY:c.centerY}),{newPan:a}};function Re(e,t,n,o,i){return{panX:o/2-e*n,panY:i/2-t*n}}function ze({centerX:e,centerY:n,children:i,zoom:r,width:s,height:d}){const a=Re(e,n,r,s,d);return t.jsx("div",{class:o.panZoomStyles,style:{translate:`${a.panX}px ${a.panY}px`,transform:`scale(${r})`},children:i})}function Ce(e,t){const n=[];return t.forEach((t=>{const o=t.startNode,i=t.endNode;o!=e&&i!=e||n.push(t)})),n}function De(e,t,n,o){let i,r=n[0],s=n[0];for(let e=0;e<n.length;e++)i=n[e],i.id===t.startNode?r=i:i.id===t.endNode&&(s=i);const d=e.id==r.id?s:r,a=Ye(e,o),l=Ye(d,o);let c=Math.atan2(l.y-a.y,l.x-a.x);return c=c<0?c+2*Math.PI:c,c}function Xe(e,t,n){let o,i=t[0],r=t[0];for(let n=0;n<t.length;n++)o=t[n],o.id===e.startNode?i=o:o.id===e.endNode&&(r=o);const s=Ye(i,n),d=Ye(r,n);return Math.sqrt(Math.pow(d.x-s.x,2)+Math.pow(d.y-s.y,2))}function je(e,t){return t.endNode===e.id?1:0}function Ye(e,t){const n=t.get(e.id);return{x:n.x+n.width/2,y:n.y+n.height/2}}function Te(e,t,n){const o=15/180*Math.PI,i=40/180*Math.PI,r=e.x+e.width/2,s=e.y+e.height/2,d=t.x+t.width/2,a=t.y+t.height/2,l=Math.abs(r-d),c=Math.abs(s-a),u=Math.atan2(c,l);let h=Math.sqrt(l*l+c*c);return(u>o&&("right"==n||"left"==n)||u<Math.PI/2-o&&("up"==n||"down"==n))&&(u>i&&("right"==n||"left"==n)||u<Math.PI/2-i&&("up"==n||"down"==n)?h*=6:h*=2),h}function Be(e,t,n,o){if(o){const o=e.x+.5*e.width,i=t.x+.5*t.width,r=e.y+.5*e.height,s=t.y+.5*t.height;switch(n){case"up":return r<s;case"down":return e.y>s;case"right":return o>i;case"left":return o<i}return!0}switch(n){case"up":return e.y<t.y||Ae(e.y,t.y);case"down":return e.y>t.y||Ae(e.y,t.y);case"right":return e.x>t.x||Ae(e.x,t.x);case"left":return e.x<t.x||Ae(e.x,t.x)}return!0}function Ee(e,t,n){switch(n){case"up":return Oe(e,t)&&(t.y<=e.y+e.height||Ae(t.y,e.y+e.height));case"down":return Oe(e,t)&&(e.y<=t.y+t.height||Ae(e.y,t.y+t.height));case"right":return Ze(e,t)&&(e.x<=t.x+t.width||Ae(e.x,t.x+t.width));case"left":return Ze(e,t)&&(t.x<=e.x+e.width||Ae(t.x,e.x+e.width))}return!1}function Oe(e,t){return e.x>=t.x&&e.x<=t.x+t.width||t.x>=e.x&&t.x<=e.x+e.width}function Ze(e,t){return e.y>=t.y&&e.y<=t.y+t.height||t.y>=e.y&&t.y<=e.y+e.height}function Ae(e,t){return Math.abs(e-t)<=1e-7}function Ve(e,t){let n=Math.abs(e-t)<=1e-7;return n||(n=Math.abs(2*Math.PI+Math.min(e,t)-Math.max(e,t))<=1e-7),n}function Fe(e,t,n,o){const i=r.useRef(),s=e;return{getNextNavigableNode:function(e,t,n,o){if(!o)return n;if(!n)return o[0];const i=s.get(n.id);if(!i)return o[0];let r,d,a,l=n,c=Number.MAX_VALUE,u=!1,h=!1;for(let p=0;p<o.length;p++){if(r=o[p],r===n){h=!0;continue}const g=s.get(r.id);if(!g)continue;const f={x:g.x,y:g.y,width:g.width,height:g.height},m={x:i.x,y:i.y,width:i.width,height:i.height};Be(f,m,e,t)&&(d=Ee(f,m,e),u&&!d||(a=Te(f,m,e),(0!=a||h)&&(!u&&d||a<c&&(u&&d||!u))&&(c=a,l=r,u=d)))}return l},getNextNavigableLink:function(e,r,d,a,l){if(!a&&!l)return d;const c=a&&l?[...a,...l]:a||l;if(!d)return c[0];const u=i.current,h=u||d.startNode,p=o.get(h);if(!p)return d;const g=function(e,t,n,o){let i,r,s;const d=[];for(let a=0;a<t.length;a++){const l=t[a];i=De(e,l,n,o),r=Xe(l,n,o),s=je(e,l),"id"in l?d.push({id:l.id,angle:i,distance:r,direction:s,type:"link"}):d.push({id:se(l),angle:i,distance:r,direction:s,type:"promotedLink"})}return d}(p,Ce(p.id,c),r,s);g.sort(((e,t)=>{const{angle:n,distance:o,direction:i}=e,{angle:r,distance:s,direction:d}=t;let a=-1;return!Ve(n,r)&&n>r?a=1:Ve(n,r)&&(o>s||s==o&&i>d?a=1:s==o&&i==d&&(a=0)),a}));const f="down"==e;let m=0;for(let e=0;e<g.length;e++){const t="id"in d?d.id:se(d);if(g[e].id===t){m=f?e==g.length-1?0:e+1:0==e?g.length-1:e-1;break}}return"link"===g[m].type?t.get(g[m].id):n.get(g[m].id)},navigateFromNodeToLink:function(e,t,n,o){if(!o)return;const r=Ce(o.id,[...e,...t]);if(r.length<1)return;let d=r[0];const a=s.get(o.id);let l,c,u,h;const p=a.x+a.width/2;i.current=o.id;for(let e=0;e<r.length;e++)if(l=r[e],c=l.startNode===o.id?l.endNode:l.startNode,u=s.get(c),h=u.x+u.width/2,n.altKey&&"Comma"===n.code&&h<=p||n.altKey&&"Period"===n.code&&h>=p){d=l;break}return de(d)?{id:d,type:"promotedLink"}:{id:d.id,type:"link"}},navigateFromLinkToNode:function(e,t,n){const o=n.key,i=s.get(e),r=s.get(t);if(!i||!r)return;const d=i.x+i.width/2,a=r.x+r.width/2;return{id:a>d&&"ArrowRight"===o||a<d&&"ArrowLeft"===o?t:e,type:"node"}}}}function $e(e,t,n,o,i,s,d,a,l,c,u,h,p,y,x,k,b,w,M){const{getNextNavigableNode:v,getNextNavigableLink:P,navigateFromNodeToLink:S,navigateFromLinkToNode:L}=Fe(s,d,y,a),[I,N]=r.useState({id:t.id,type:"node"}),[R,z]=r.useState(),C=r.useRef(),D=f.useVisHover((e=>{const t=oe(e.target,y);if(t&&!ne(t,R)){let e;z({...t,isCurrent:!0}),C.current=g.getRandomId(),N({...I,isCurrent:!1}),"node"===t.type?e={id:t.id,type:"node",data:a.get(t.id)}:"link"===t.type?e={id:t.id,type:"link",data:d.get(t.id)}:"promotedLink"===t.type&&(e={type:"promotedLink",id:t.id}),x?.(e)}}),void 0,(()=>{z(void 0),C.current=void 0,x?.(void 0)}),e);function X(e){"node"===e.type?k?.({id:e.id,type:"node",data:a.get(e.id)}):"link"===e.type?k?.({id:e.id,type:"link",data:d.get(e.id)}):"promotedLink"===e.type&&k?.({id:e.id,type:"promotedLink"}),C.current=g.getRandomId(),N(e)}function j(e){e&&(ne(e,I)||(e.isCurrent=!0,e.isFocusVisible=!0,R&&z({...R,isCurrent:!1}),X(e)))}return{focusedItemInfo:I,hoveredItemInfo:R,activeId:C.current,onContextMenuDismissed:e=>{"keyboard"===e&&X({...I,isFocusVisible:!0,isCurrent:!0})},eventsProps:m.mergeProps(D,{onKeyUp:e=>{if("Tab"===e.code)X({...I,isCurrent:!0,isFocusVisible:!0})},onKeyDown:e=>{const t=e.key;let r=!1;if("TAB"!==t){if(function(e){const t=e.code;if("node"===I.type&&e.altKey&&("Period"===t||"Comma"===t))return!0;if("node"!==I.type&&("ArrowLeft"===t||"ArrowRight"===t))return!0;return!1}(e)){let t;if("node"===I.type)t=S(o,i,e,a.get(I.id));else if("link"===I.type){const n=d.get(I.id);t=L(n.startNode,n.endNode,e)}else{const n=I.id;t=L(n.startNode,n.endNode,e)}j(t),r=!0}else if(function(e){switch(e){case"ArrowDown":case"ArrowUp":case"ArrowRight":case"ArrowLeft":return!0}return!1}(t)){const e=function(e){let t="down";switch(e){case"ArrowDown":t="down";break;case"ArrowUp":t="up";break;case"ArrowRight":t="right";break;case"ArrowLeft":t="left"}if("node"===I.type){const e=p.get(I.id),o=e&&a.get(e)?a.get(e).nodes:n,i=v(t,!0,a.get(I.id),o);return i?{id:i.id,type:"node"}:I}{const e=function(e,t,n){let o;for(let n=0;n<t.length;n++)if(o=t[n],e.id===o.id)return o;for(let t=0;t<n.length;t++)if(o=n[t],i=e.id,r=o,i.startNode===r.startNode&&i.endNode===r.endNode)return o;var i,r}(I,o,i),r=P(t,n,e,o,i);return r&&de(r)?{id:r,type:"promotedLink"}:r&&!de(r)?{id:r.id,type:"link"}:{id:I.id,type:I.type}}}(t);j(e),r=!0}else switch(t){case"PageUp":b&&b({dPan:{dx:e.shiftKey?-15:0,dy:e.shiftKey?0:-15}}),r=!0;break;case"PageDown":b&&b({dPan:{dx:e.shiftKey?15:0,dy:e.shiftKey?0:15}}),r=!0;break;case"+":case"=":w&&w({dZoom:.15}),r=!0;break;case"-":case"_":w&&w({dZoom:-.15}),r=!0;break;case"0":if(e.ctrlKey&&e.altKey){const{centerX:e,centerY:t,zoom:n}=be(I,d,s,l,c,u);w&&w({nZoom:n}),b&&b({nPan:{cx:e,cy:t}})}else w&&w({}),b&&b({center:!0});r=!0;break;case" ":if(e.ctrlKey&&e.shiftKey&&"node"===I.type){const e=he(I.id,h);M&&M({expanded:e})}break;case"[":if("node"===I.type){const e=function(e,t){const n=t.get(e)?.nodes;if(n&&n.length>0)return n[0]}(I.id,a);if(e){j({id:e.id,type:"node"})}}r=!0;break;case"]":if("node"===I.type){const e=p.get(I.id);if(e){j({id:e,type:"node"})}}r=!0}r&&(e=>{e.preventDefault(),e.stopPropagation()})(e)}},onBlur:()=>{(null!=R||I.isCurrent)&&k?.(void 0);const e={...I,isCurrent:!1,isFocusVisible:!1};N(e)},onPointerUp:e=>{const t=oe(e.target,y);if(null!=t.id){let n;if("node"===t.type&&(n=function(e,t){let n,o=e;for(;!n;)if(n=o.dataset.ojPrivateButton,!n){if(!o.parentElement||o.parentElement.dataset.ojPrivateNode||o.parentElement===t?.current)break;o=o.parentElement}return n}(e.target),n)){const t=he(n,h);return M&&M({expanded:t}),e.preventDefault(),void e.stopPropagation()}N(t),C.current=g.getRandomId()}},onFocus:()=>{C.current=g.getRandomId()}})}}const _e=({captureTargetRef:e,numPointers:t=1,onPointerGestureDown:n,onPointerGestureMove:o,onPointerGestureEnd:i,onExtraneousPointerDown:s,isDisabled:d=!1})=>{const a=r.useRef([]);d&&(a.current=[]);const l=e=>{const n=a.current.findIndex((t=>t.pointerId===e.pointerId));-1!==n&&(a.current[n]=e,a.current.length===t&&i&&i({pointers:a.current}),a.current.splice(n,1))};return d?{}:{onPointerDown:e=>{a.current.push(e),a.current.length===t?n&&n({pointers:a.current}):a.current.length>t&&s&&s({pointers:a.current})},onPointerMove:n=>{if(0===a.current.length)return;const i=a.current.findIndex((e=>e.pointerId===n.pointerId));-1!==i&&(a.current[i]=n,a.current.length===t&&(a.current.forEach((t=>e.current.setPointerCapture(t.pointerId))),o&&o({pointers:a.current})))},onPointerUp:l,onPointerCancel:l,onPointerLeave:l}},Ke=({panProps:e,captureTargetRef:t,panBounds:n,width:o,height:i,zoom:s,onDragPanStart:d,onDragPanEnd:a})=>{const l=r.useRef({panX:0,panY:0}),c=r.useRef({panX:0,panY:0}),u=(({captureTargetRef:e,draggableRegion:t,onDragStart:n,onDragMove:o,onDragEnd:i,isDisabled:s=!1})=>{const d={isDragging:!1,x0:-1,y0:-1,regionOffsetX:-1,regionOffsetY:-1},a=r.useRef(d),l=(e,t)=>{const{isDragging:n,x0:o,y0:i,regionOffsetX:r,regionOffsetY:s}=a.current;if(!n)return;const d=e.pageX,l=e.pageY;t&&t({x:d,y:l,dx:d-o,dy:l-i,regionOffsetX:r,regionOffsetY:s,originalEvent:e})},c=_e({captureTargetRef:e,numPointers:1,onExtraneousPointerDown:()=>{a.current=d},onPointerGestureDown:({pointers:[e]})=>{const o=e.pageX,i=e.pageY;if(0!==e.button||!((e,t,n)=>{if(!n)return!0;const{xMin:o,xMax:i,yMin:r,yMax:s}=n;return e>=o&&e<=i&&t>=r&&t<=s})(o,i,t))return;const{regionOffsetX:r,regionOffsetY:s}=((e,t,n)=>n?{regionOffsetX:e-n.xMin,regionOffsetY:t-n.yMin}:{regionOffsetX:e,regionOffsetY:t})(o,i,t);a.current={isDragging:!0,x0:o,y0:i,regionOffsetX:r,regionOffsetY:s},n&&n({x:o,y:i,regionOffsetX:r,regionOffsetY:s,originalEvent:e})},onPointerGestureMove:({pointers:[e]})=>{l(e,o)},onPointerGestureEnd:({pointers:[e]})=>{l(e,i),a.current=d}});return s?{}:c})({captureTargetRef:t,onDragStart:()=>{const t=Re(e.centerX,e.centerY,s,o,i);c.current={panX:t.panX,panY:t.panY},d&&d()},onDragMove:({dx:t,dy:r})=>{const d={panX:c.current.panX+t,panY:c.current.panY+r},{newPan:a}=Ne(l.current,d,e.panDirection,s,o,i,n,e.onPan);l.current=a},onDragEnd:({originalEvent:e})=>{c.current.panX===l.current.panX&&c.current.panY===l.current.panY||e.preventDefault(),a&&a()},isDisabled:"off"===e.panning});return u},Ue=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-t.y)**2),qe=({captureTargetRef:e,zooming:t,minZoom:n,maxZoom:o,zoomValue:i,onZoom:s})=>{const d=(({captureTargetRef:e,onPinchZoomStart:t,onPinchZoomChange:n,onPinchZoomEnd:o,isDisabled:i=!1})=>{const s=r.useRef({x:-1,y:-1}),d=r.useRef(-1),a=()=>{s.current={x:-1,y:-1},d.current=-1};i&&a();const l=_e({captureTargetRef:e,numPointers:2,onPointerGestureDown:({pointers:[e,n]})=>{const o={x:e.offsetX,y:e.offsetY},i={x:n.offsetX,y:n.offsetY};s.current=((e,t)=>({x:(e.x+t.x)/2,y:(e.y+t.y)/2}))(o,i),d.current=Ue(o,i),t&&t({origin:s.current,delta:0})},onPointerGestureMove:({pointers:[e,t]})=>{const o={x:e.offsetX,y:e.offsetY},i={x:t.offsetX,y:t.offsetY},r=Ue(o,i),a=r-d.current;d.current=r,n&&n({origin:s.current,delta:a})},onPointerGestureEnd:()=>{a(),o&&o()}});return i?{}:l})({captureTargetRef:e,onPinchZoomChange:({delta:e})=>{ye(i*(1+.05*e),i,n,o,s)},isDisabled:"off"===t});return d},Ge=({props:e,captureTargetRef:t,width:n,height:o,contentBounds:i,isRtl:s})=>{const[d,a]=r.useState(),l=function(e,t,n,o){const i=xe(t,n,o),r=e.maxZoom||1,s=e.minZoom||Math.min(r,i),d=e.zoomValue?e.zoomValue:i;return{zooming:e.zooming?e.zooming:"off",minZoom:s,maxZoom:r,zoomValue:ke(d,s,r),onZoom:e.onZoom}}(e,n,o,i),c=r.useRef(),u=r.useRef(),h=r.useRef(),p=r.useRef({zoom:e.zoomValue||0,centerX:e.centerX,centerY:e.centerY}),g=k.isTouch(),f={width:n,height:o,x:0,y:0},y=g?e.panning&&"off"!==e.panning:void 0,x={isZoomScroll:!0,plotAreaSpace:f,componentWidth:n,isRtl:s,showPanButton:y??!1,showZoomButton:!1,showSelectButton:!1,isDisabled:!g},{toggleButtonContent:w,userDragMode:M}=b.useVisDragModeControls(x),v=function(e,t,n,o){return{panning:o?"pan"===n&&e.panning?e.panning:"off":e.panning?e.panning:"off",panDirection:e.panDirection?e.panDirection:"any",centerX:void 0!==e.centerX?e.centerX:t.width/2,centerY:void 0!==e.centerY?e.centerY:t.height/2,onPan:e.onPan}}(e,i,M,g);i.width===1/0||l.zoomValue===u.current&&v.panning===h.current||(c.current=((e,t,n,o,i,r,s)=>{const{x:d,y:a,width:l,height:c}=n;let u,h,p,g;if("centerContent"===s)u=e/2-(l+d)*o,p=t/2-(c+a)*o,h=e/2-d*o,g=t/2-a*o;else{const n=o/i,r=(e-l*i)/2-d*i,s=(t-c*i)/2-a*i;u=e-e*n+r*n,p=t-t*n+s*n,h=r*n,g=s*n}const f=r.zoom,m=r.centerX,y=r.centerY;let x,k;if(m){const t=m*f-e/2;-t*f<u?(x=u-t*f,u-=x,h+=x):-t*f>h&&(x=-t*f-h,u-=x,h+=x)}if(y){const e=y*f-t/2;-e*f<p?(k=p-e*f,p-=k,g+=k):-e*f>g&&(k=-e*f-g,p-=k,g+=k)}return{minX:u,maxX:h,minY:p,maxY:g}})(n,o,i,l.zoomValue,l.minZoom,p.current,v.panning),u.current=l.zoomValue,h.current=v.panning);const P=Ke({panProps:v,captureTargetRef:t,panBounds:c.current,zoom:l.zoomValue,width:n,height:o,onDragPanStart:()=>a("grabbing"),onDragPanEnd:()=>a("auto")}),S=r.useRef({panX:0,panY:0}),L=(({zooming:e,minZoom:t,maxZoom:n,zoomValue:o,onZoom:i})=>(({onWheel:e,preventDefault:t=!0,isDisabled:n=!1})=>n?{}:{onWheel:n=>{const{deltaX:o,deltaY:i}=(e=>{const{deltaX:t,deltaY:n,deltaMode:o}=e;switch(o){case e.DOM_DELTA_PIXEL:return{deltaX:-t,deltaY:-n};case e.DOM_DELTA_LINE:return{deltaX:15*-t,deltaY:15*-n};case e.DOM_DELTA_PAGE:return{deltaX:40*-t,deltaY:40*-n};default:return{deltaX:-t,deltaY:-n}}})(n);t&&n.preventDefault(),e({x:n.offsetX,y:n.offsetY,deltaX:o,deltaY:i,ctrlKey:n.ctrlKey||n.metaKey})}})({onWheel:({deltaY:e})=>{ye(o*(1+.05*e),o,t,n,i)},isDisabled:"off"===e}))(l),I=qe({captureTargetRef:t,zooming:l.zooming,minZoom:l.minZoom,maxZoom:l.maxZoom,zoomValue:l.zoomValue,onZoom:l.onZoom});return{panZoomProps:m.mergeProps(P,L,I),panProps:v,zoomProps:l,toggleButtonContent:w,cursor:d,centerX:v.centerX,centerY:v.centerY,zoomValue:l.zoomValue,kbPanCallback:"off"!==v.panning?e=>{let t,r;e.center?(t=i.x+i.width/2,r=i.y+i.height/2):e.dPan?(t=v.centerX+e.dPan.dx,r=v.centerY+e.dPan.dy):(t=e.nPan.cx,r=e.nPan.cy);const s=Re(t,r,l.zoomValue,n,o),{newPan:d}=Ne(S.current,s,v.panDirection,l.zoomValue,n,o,c.current,v.onPan);S.current=d}:void 0,kbZoomCallback:"off"!==l.zooming?e=>{const t=e.dZoom?l.zoomValue+e.dZoom:xe(n,o,i);ye(e.nZoom?e.nZoom:t,l.zoomValue,l.minZoom,l.maxZoom,l.onZoom)}:void 0}};const He={all:!1,keys:new Set};function We({nodes:e=[],links:n=[],width:i,height:s,selectedIds:a={},selectionMode:l="none",layout:u,nodeRenderer:h,linkRenderer:p,onSelectionChange:f,onItemHover:k,onItemFocus:b,highlightedIds:S={},datatip:L,expanded:I=He,onExpandedChange:N,contextMenuConfig:R,normalizeLinks:z,...C}){const D=r.useRef(null),X=r.useRef(null),[j,Y]=r.useState(new Map),[T,B]=r.useState(new Map),E=r.useRef(new Map),O=r.useRef(new Map),[Z,A]=r.useState(),{direction:V}=c.useUser(),$="rtl"===V,_=e,K=function(e,t){const n=new Map,o=new Map,i=new Map,r=new Map,s=[],a=[];for(let l=0;l<e.length;l++){const c=e[l],u=String(l);n.set(c.id,c),o.set(c.id,u),i.set(u,c.id),a.push(c.id),c.nodes&&(s.push(c),d.containsKey(t,c.id)&&W(c.nodes,n,o,i,r,s,t,a,c.id,String(l)))}return{itemIdToDataMap:n,itemIdToIndexMap:o,itemIndexToIdMap:i,itemIdToParentMap:r,allContainerNodes:s,allVisibleNodes:a}}(_,I),q=K.itemIdToParentMap,H=K.itemIdToDataMap,Q=function(e,t){const n=[];for(let o=0;o<e.length;o++){const i=e[o];t.get(i.startNode)&&t.get(i.endNode)&&n.push(i)}return n}(n,H),ee=function(e){const t=new Map,n=new Map,o=new Map,i=new Map;for(let i=0;i<e.length;i++){const r=e[i];t.set(r.id,r),n.set(r.id,i),o.set(i,r.id)}return{itemIdToDataMap:t,itemIdToIndexMap:n,itemIndexToIdMap:o,itemIdToParentMap:i}}(Q),te=ee.itemIdToDataMap,ne=r.useRef(!1),ie=function(e){const t=new Map;return e.forEach(((e,n)=>{t.set(n,{width:e.width,height:e.height})})),t}(j),{textMeasureContent:re,getTextDimensions:de}=x.useTextDimensions(),ae=r.useRef(new Map),le=r.useRef(!1),ce=r.useRef(!1),ue=r.useRef(new Map),he=r.useRef(new Map),[ge,fe]=r.useState(),me=r.useRef(new Map),ye=function(e,t,n,o){const i=[];n.forEach((e=>{d.containsKey(t,e.id)||i.push(e)}));const r=[],s=new Map,a=new Map;for(let t=0;t<e.length;t++){const n=e[t],d=n.id,l=o.includes(n.startNode)?n.startNode:pe(n.startNode,i),c=o.includes(n.endNode)?n.endNode:pe(n.endNode,i);if(l&&c&&(l!==n.startNode||c!==n.endNode)&&l!==c){const e=`${l}_${c}`;let t=a.get(e);if(t)t.push(n);else{const o={id:e,startNode:l,endNode:c};r.push(o),t=[n]}a.set(e,t),s.set(d,e)}}const l=[];for(let e=0;e<r.length;e++){const t=r[e];l.push({startNode:t.startNode,endNode:t.endNode,links:a.get(t.id)})}return l}(n,I,K.allContainerNodes,K.allVisibleNodes),xe=function(e){const t=new Map;for(let n=0;n<e.length;n++){const o=e[n];t.set(`${o.startNode}_${o.endNode}`,o)}return t}(ye),ke=function(e,t){if(0===e.size)return{x:0,width:1/0,y:0,height:1/0};let n,o=1/0,i=1/0,r=-1/0,s=-1/0;return e.forEach((e=>{n=e,o=n.x<o?n.x:o,i=n.y<i?n.y:i,r=n.x+n.width>r?n.x+n.width:r,s=n.y+n.height>s?n.y+n.height:s})),t&&(o=t.x<o?t.x:o,i=t.y<i?t.y:i,r=t.x+t.width>r?t.x+t.width:r,s=t.y+t.height>s?t.y+t.height:s),{x:o,width:r-o,y:i,height:s-i}}(j,Z),{panZoomProps:be,panProps:we,zoomProps:Me,toggleButtonContent:ve,cursor:Pe,centerX:Se,centerY:Le,zoomValue:Ne,kbPanCallback:Ce,kbZoomCallback:De}=Ge({props:C,captureTargetRef:X,width:i,height:s,contentBounds:ke,isRtl:$}),{touchResponse:Xe,touchResponseStyle:je}=M.useVisTouchResponse({type:"auto",supportsTouchDragGestures:"on"===Me.zooming||"off"!==we.panning,rootRef:X}),{onContextMenuDismissed:Ye,focusedItemInfo:Te,hoveredItemInfo:Be,activeId:Ee,eventsProps:Oe}=$e(Xe,_[0],_,Q,ye,T,te,H,i,s,C.maxZoom||1,I,q,xe,k,b,Ce,De,N),{selectionProps:Ze,selectionContent:Ae}=function({selectedIds:e,selectionMode:t,nodeMap:n,linkMap:o,focusedItemInfo:i,onSelectionChange:r,rootRef:s,promotedLinkMap:d}){const a=n.itemIdToDataMap,l=new Map,c=new Map,u=o.itemIdToDataMap,h=e=>{const t=`N_${e}`;return l.set(t,e),t},p=e=>l.get(e),g=e=>{const t=`L_${e}`;return c.set(t,e),t},f=e=>c.get(e),m=e=>`P_${JSON.stringify(e)}`,y=e=>JSON.parse(e.slice(2)),x=[...e.nodes?e.nodes.map(h):[],...e.links?e.links.map(g):[],...e.promotedLinks?e.promotedLinks.map(m):[]],{selectionContent:k,selectionProps:b}=w.useSelection({selection:x,idExtracter:e=>{const t="keyup"===e.type?i:oe(e.target,d,s);return void 0!==t.id?"node"===t.type?h(t.id):"link"===t.type?g(t.id):m(t.id):void 0},selectionMode:t,getDataById:e=>{let t;if("N"===e[0]){const o=p(e);t=n.itemIdToDataMap.get(o)}else if("L"===e[0]){const n=f(e);t=o.itemIdToDataMap.get(n)}else"P"===e[0]&&(t=y(e));return t},onChange:e=>{const t=e.ids.filter((e=>"N"===e[0])).map((e=>p(e))),n=e.ids.filter((e=>"L"===e[0])).map((e=>f(e))),o=e.ids.filter((e=>"P"===e[0])).map((e=>y(e))),i=t.filter((e=>"off"!==a.get(e)?.selectable)),s=n.filter((e=>"off"!==u.get(e)?.selectable)),d=i.map((e=>a.get(e))),l=s.map((e=>u.get(e)));return r&&r({nodes:{ids:i,data:d},links:{ids:s,data:l},promotedLinks:{ids:o}})},isKeyboardSelection:e=>"["===e.key||"]"===e.key});return{selectionContent:k,selectionProps:b}}({selectedIds:a,selectionMode:l,nodeMap:K,linkMap:ee,focusedItemInfo:Te,onSelectionChange:f,rootRef:X,promotedLinkMap:xe});Te&&T.size>0&&(D.current=function(e,t,n,o,i){if("node"===e.type){const n=U(e.id,void 0,i),o=t.get(e.id)||t.values().next().value;return{x:n?n.x:o.x,y:n?n.y:o.y,width:o.width,height:o.height}}{const i="promotedLink"===e.type?e.id:n[o.get(e.id)||0],r=t.get(i.startNode)||t.values().next().value,s=t.get(i.endNode)||t.values().next().value,d={x:r.x+r.width/2,y:r.y+r.height/2},a={x:s.x+s.width/2,y:s.y+s.height/2};return{x:Math.min(d.x,a.x),y:Math.min(d.y,a.y),width:Math.abs(d.x-a.x),height:Math.abs(d.y-a.y)}}}(Te,T,Q,ee.itemIdToIndexMap,X));const{datatipContent:Ve,datatipProps:{"aria-describedby":Fe,..._e}}=(({touchResponse:e,datatip:t,focusedItemBoundsRef:n,focusedItemInfo:o,panState:i,zoom:r,width:s,nodesMap:d,linksMap:a,hoveredItem:l})=>{const{direction:u}=c.useUser(),h="rtl"===u,p=function(e,t,n,o,i){let r;const s=o?.isCurrent;if(s&&null!=o.id&&(r=o),n&&n.isCurrent&&(r=n),r&&i){let n;switch(r.type){case"node":n={data:e.get(r.id),type:"node"};break;case"link":n={data:t.get(r.id),type:"link"};break;default:n={id:r.id,type:"promotedLink"}}return i(n)}if(r){const n=("node"===r.type?e.get(r.id):t.get(r.id))?.accessibleLabel;return{content:n}}}(d,a,o,l,t),f=n.current?{x:n.current.x+i.panX,y:n.current.y+i.panY,width:n.current.width*r,height:n.current.height*r}:void 0,m=o.isCurrent?g.calculateOffset(h,s,f):g.calculateOffset(h,s),{datatipContent:x,datatipProps:k}=y.useDatatip({content:p?.content,borderColor:p?.borderColor,placement:"top-start",offset:m,anchor:o?.isCurrent?"element":"pointer",touchResponse:e});return{datatipContent:x,datatipProps:k}})({touchResponse:Xe,datatip:L,focusedItemInfo:Te,focusedItemBoundsRef:D,panState:Re(Se,Le,Ne,i,s),zoom:Ne,width:i,nodesMap:H,linksMap:te,hoveredItem:Be}),[Ke,Ue]=r.useState("hidden"),qe={width:i,height:s,cursor:Pe,visibility:Ke,...je},We=r.useRef(!1);r.useLayoutEffect((()=>{X.current&&(We.current=!0)}),[I]),r.useLayoutEffect((()=>{"visible"===Ke&&1==We.current&&(X.current?.focus(),We.current=!1)}),[Ke]);const Je=r.useRef();Je.current={selectedNodeIds:a.nodes??[],selectedLinkIds:a.links??[],selectedPromotedLinkIds:a.promotedLinks??[],focusedId:Te.isCurrent&&Te.isFocusVisible?Te.id:void 0,hoveredId:Be?.isCurrent?Be.id:void 0,activeId:Ee,highlightedNodeIds:S.nodes??[],highlightedLinkIds:S.links??[],highlightedPromotedLinkIds:S.promotedLinks??[],zoom:Ne,expanded:I||{all:!1,keys:new Set}};const{contextMenuContent:Qe,contextMenuProps:et}=(({focusedItemInfo:e,rootRef:t,contextMenuConfig:n,onContextMenuDismissed:o,nodesMap:i,linksMap:r,promotedLinkMap:s})=>{const{contextMenuProps:d,contextMenuContent:a}=P.useContextMenu({onContextMenuHandler:({gesture:n,target:o})=>{let d,a="background";const l=o;"keyboard"===n?(d=e.id,a=e.type):l.closest("[data-oj-private-node]")?.dataset.ojPrivateNode?(d=l.closest("[data-oj-private-node]")?.dataset.ojPrivateNode,a="node"):l.closest("[data-oj-private-link]")?.dataset.ojPrivateLink?(d=l.closest("[data-oj-private-link]")?.dataset.ojPrivateLink,a="link"):l.closest("[data-oj-private-promoted-link]")?.dataset.ojPrivatePromotedLink&&(d=l.closest("[data-oj-private-promoted-link]")?.dataset.ojPrivatePromotedLink,d=s.get(d),a="promotedLink");const{context:c}=function(e,t,n,o){let i;return i="node"===n?{data:e.get(o),type:n}:"link"===n?{data:t.get(o),type:n}:"promotedLink"===n?{id:o,type:n}:{type:"background"},{context:i}}(i,r,a,d);if("keyboard"===n){let n;return n="node"===e.type?t.current?.querySelector(`[data-oj-private-node="${d}"]`):"link"===e.type?t.current?.querySelector(`[data-oj-private-link="${d}"]`):t.current?.querySelector(`[data-oj-private-promoted-link="${se(d)}"]`),{type:"element",context:c,elem:n||null}}return{type:"pointer",context:c}},contextMenuOptions:{isDisabled:!n},rootRef:t,contextMenuConfig:n,onContextMenuDismissed:o});return{contextMenuContent:a,contextMenuProps:d}})({focusedItemInfo:Te,rootRef:X,contextMenuConfig:e.length>0?R:void 0,onContextMenuDismissed:Ye,nodesMap:H,linksMap:te,promotedLinkMap:xe}),tt=m.mergeProps(be,Oe,Ze,_e,et);return t.jsxs("div",{ref:X,class:o.outerStyles,...tt,style:qe,tabIndex:0,role:"application","aria-label":C["aria-label"],"aria-labelledby":C["aria-labelledby"],"aria-describedby":v.l([C["aria-describedby"],Fe]),"aria-activedescendant":Ee,children:[de?t.jsx(ze,{centerX:Se,centerY:Le,zoom:Ne,width:i,height:s,children:t.jsx(Ie,{nodes:_,links:Q,zoom:Ne,nodeRenderer:h,linkRenderer:p,width:i,height:s,nodeBounds:j,linkDimensions:E.current,promotedLinkDimensions:O.current,states:Je.current,onNodeSizeChanged:(e,t,o)=>{ie.set(o,{width:e,height:t}),ne.current||(ne.current=!0,window.requestAnimationFrame((()=>{const{labelDims:e,layoutJSON:t}=F(H,te,ye,ie,i,s,Ne,q,X,de);ae.current=e;const o=u(t),{nodePoints:r,nodeLabelPos:d,linkLabelPos:a}=G(o,_,Q);ue.current=d,he.current=a;const{nodeBounds:l,nodeAbsBounds:c}=function(e,t,n){const o=new Map,i=new Map;return e.forEach(((e,r)=>{const s=t.get(r),d=U(r,void 0,n);s&&o.set(r,{x:s.x,y:s.y,width:e.width,height:e.height}),d&&i.set(r,{x:d.x,y:d.y,width:e.width,height:e.height})})),{nodeBounds:o,nodeAbsBounds:i}}(ie,r,X),h=function(e,t=new Map,n=new Map,o,i){if(0===t.size)return;let r,s,d=1/0,a=1/0,l=-1/0,c=-1/0;return t.forEach(((t,n)=>{r=J(t,e.get(n),o),s=U(n,null,i),s&&(d=r.x+s.x<d?r.x+s.x:d,a=r.y+s.y<a?r.y+s.y:a,l=r.x+r.width+s.x>l?r.x+r.width+s.x:l,c=r.y+r.height+s.y>c?r.y+r.height+s.y:c)})),n.forEach(((t,n)=>{r=J(t,e.get(n),o),r&&(d=r.x<d?r.x:d,a=r.y<a?r.y:a,l=r.x+r.width>l?r.x+r.width:l,c=r.y+r.height>c?r.y+r.height:c)})),{x:d,width:l-d,y:a,height:c-a}}(e,d,a,"rtl"===V,X);!function(e,t){if(e.size!==t.size)return!1;let n=!0;return e.forEach(((e,o)=>{const i=t.get(o);i?(Math.abs(e.x-i.x)>.5||Math.abs(e.y-i.y)>.5||Math.abs(e.width-i.width)>.5||Math.abs(e.height-i.height)>.5)&&(n=!1):n=!1})),n}(l,j)||le.current||ce.current?(ce.current=function(e,t,n){const o=[];n.forEach((e=>{o.includes(e.startNode)||o.push(e.startNode),o.includes(e.endNode)||o.push(e.endNode)}));let i=!1;return e.forEach(((e,n)=>{const r=t.get(n);let s=!0;r?(Math.abs(e.x-r.x)>.5||Math.abs(e.y-r.y)>.5||Math.abs(e.width-r.width)>.5||Math.abs(e.height-r.height)>.5)&&(s=!1):s=!1,!s&&o.includes(n)&&(i=!0)})),i}(l,j,n),Y(l),B(c),A(h),fe(o),le.current=!1,Ue("hidden")):"hidden"==Ke&&Ue("visible"),ne.current=!1})))},onLinkSizeChanged:(e,t,n)=>{if(0!==e||0!==t){const o=E.current.get(n);(!o||o&&(Math.abs(e-o.width)>.5||Math.abs(t-o.height)>.5))&&(E.current.set(n,{width:e,height:t}),le.current=!0)}},onPromotedLinkSizeChanged:(e,t,n)=>{if(0!==e||0!==t){const o=O.current.get(n);(!o||o&&(Math.abs(e-o.width)>.5||Math.abs(t-o.height)>.5))&&(O.current.set(n,{width:e,height:t}),le.current=!0)}},nodeLabelPositions:ue.current,linkLabelPositions:he.current,labelDimensions:ae.current,supportsSelection:"none"!==l||!!(a?.nodes&&a.nodes.length>0)||!!(a?.links&&a.links.length>0),layoutOutput:ge,nodeIdToParentMap:q,rootRef:X,combinedNodeBounds:ke,nodeBoundsRef:me,promotedLinks:ye,normalizeLinks:z})}):void 0,re,Ve,Qe,Ae,ve]})}e.BaseDiagram=function({width:e,height:i,...r}){return r.nodes&&r.nodes.length>0?t.jsx(n.TrackResizeContainer,{width:e,height:i,class:o.dimensionStyle,children:(e,n)=>t.jsx(We,{width:e,height:n,...r})}):null}}));
|
|
2
2
|
//# sourceMappingURL=BaseDiagram-7757c344.js.map
|