@oracle/oraclejet-preact 18.1.0 → 18.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/ActionCard-e560d08b.js +1 -1
- package/amd/BarChart-c0ba5b12.js +1 -1
- package/amd/BarGroup-b02506a8.js +1 -1
- package/amd/BaseButton-c6563bf2.js +1 -1
- package/amd/BaseCardView-e75594df.js +1 -1
- package/amd/BaseCardViewSelectionTest-b3d54b34.js +2 -0
- package/amd/BaseCardViewSelectionTest-b3d54b34.js.map +1 -0
- package/amd/BaseNavigationListItem-f2b9ae77.js +2 -0
- package/amd/BaseNavigationListItem-f2b9ae77.js.map +1 -0
- package/amd/BaseRichSelection-65bb6f89.js +1 -1
- package/amd/ButtonSet-3459b0e6.js +1 -1
- package/amd/ButtonSetIconButton-5b13a4c9.js +1 -1
- package/amd/Card-8fd9b2c8.js +2 -0
- package/amd/Card-8fd9b2c8.js.map +1 -0
- package/amd/Center-567b111f.js +2 -0
- package/amd/Center-567b111f.js.map +1 -0
- package/amd/Chart-c3a5a93d.js +1 -1
- package/amd/CheckboxControl-f3a606fe.js +1 -1
- package/amd/CheckboxRadioField-48d4dc4e.js +1 -1
- package/amd/Chip-e007a488.js +1 -1
- package/amd/ClearIcon-d0412ffa.js +1 -1
- package/amd/CollapseIcon-6d62b080.js +1 -1
- package/amd/Collapsible-8608500c.js +1 -1
- package/amd/ComboChart-cec2713a.js +1 -1
- package/amd/CompactHelpSource-e5b889f6.js +1 -1
- package/amd/CompactLabelAssistance-cd404d92.js +2 -0
- package/amd/CompactLabelAssistance-cd404d92.js.map +1 -0
- package/amd/CompactUserAssistance-eb849bc5.js +1 -1
- package/amd/ComponentMessageContainer-8198785a.js +1 -1
- package/amd/ConveyorBeltItem-297444a1.js +1 -1
- package/amd/DatePicker-e0e728f9.js +2 -0
- package/amd/DatePicker-e0e728f9.js.map +1 -0
- package/amd/DatePickerHeader-1f419e06.js +1 -1
- package/amd/Diagram-eb0ab8fb.js +2 -0
- package/amd/Diagram-eb0ab8fb.js.map +1 -0
- package/amd/Dialog-cd6713a4.js +2 -0
- package/amd/Dialog-cd6713a4.js.map +1 -0
- package/amd/DirectionalCollapseArrowIcon-58352e0f.js +1 -1
- package/amd/DirectionalExpandArrowIcon-56420acb.js +1 -1
- package/amd/DragHandle-0798a29c.js +2 -0
- package/amd/DragHandle-0798a29c.js.map +1 -0
- package/amd/DrawerPopup-439787de.js +2 -0
- package/amd/DrawerPopup-439787de.js.map +1 -0
- package/amd/Dropdown-fb803c67.js +2 -0
- package/amd/Dropdown-fb803c67.js.map +1 -0
- package/amd/EnvironmentProvider-d423bca9.js +2 -0
- package/amd/EnvironmentProvider-d423bca9.js.map +1 -0
- package/amd/ExpandableList-81f7f34d.js +1 -1
- package/amd/FilePicker-e0b7a348.js +1 -1
- package/amd/Flex-a208520e.js +2 -0
- package/amd/Flex-a208520e.js.map +1 -0
- package/amd/Floating-043a207a.js +2 -0
- package/amd/Floating-043a207a.js.map +1 -0
- package/amd/FormLayout-d7998ba5.js +1 -1
- package/amd/Gantt-a286e1a6.js +1 -1
- package/amd/Grid-3dd364a1.js +2 -0
- package/amd/Grid-3dd364a1.js.map +1 -0
- package/amd/Gridlines-3c00961a.js +2 -0
- package/amd/Gridlines-3c00961a.js.map +1 -0
- package/amd/GroupLoadingIndicator-6c6743b0.js +1 -1
- package/amd/HighlightText-b3c31e12.js +2 -0
- package/amd/HighlightText-b3c31e12.js.map +1 -0
- package/amd/Icon-906e4e3c.js +1 -1
- package/amd/IconButton-c2e5c1c5.js +1 -1
- package/amd/IconMenuButton-caf797c1.js +1 -1
- package/amd/IconProgressButton-d8c0c306.js +1 -1
- package/amd/IconSwitchButton-e6c5b20f.js +1 -1
- package/amd/IconToggleButton-e6c77f31.js +1 -1
- package/amd/IconUserAssistance-456f4b11.js +2 -0
- package/amd/IconUserAssistance-456f4b11.js.map +1 -0
- package/amd/Indexer-21549baf.js +1 -1
- package/amd/InlineHelpSource-80327d99.js +1 -1
- package/amd/InlineUserAssistance-d208ce7b.js +1 -1
- package/amd/InputDateMask-4157ef60.js +1 -1
- package/amd/InputDatePicker-84b302ea.js +2 -0
- package/amd/InputDatePicker-84b302ea.js.map +1 -0
- package/amd/InputPassword-868ad3bb.js +1 -1
- package/amd/InputText-2cd1e067.js +1 -1
- package/amd/Label-a53aabb9.js +1 -1
- package/amd/LabelValueLayout-6da5829a.js +1 -1
- package/amd/Layer-2ca542c2.js +2 -0
- package/amd/Layer-2ca542c2.js.map +1 -0
- package/amd/LayerHost-a36b1781.js +2 -0
- package/amd/LayerHost-a36b1781.js.map +1 -0
- package/amd/LayerManager-543c0bce.js +2 -0
- package/amd/LayerManager-543c0bce.js.map +1 -0
- package/amd/Legend-75b03ff3.js +1 -1
- package/amd/LineAreaChart-a6914d16.js +2 -0
- package/amd/LineAreaChart-a6914d16.js.map +1 -0
- package/amd/LineSeries-9ddf061e.js +2 -0
- package/amd/LineSeries-9ddf061e.js.map +1 -0
- package/amd/Link-ded379d9.js +1 -1
- package/amd/List-5797be06.js +1 -1
- package/amd/ListItemLayout-853acaaf.js +2 -0
- package/amd/ListItemLayout-853acaaf.js.map +1 -0
- package/amd/ListView-51898222.js +1 -1
- package/amd/LiveRegion-38fa0df8.js +2 -0
- package/amd/LiveRegion-38fa0df8.js.map +1 -0
- package/amd/MaxLengthLiveRegion-40be44ee.js +2 -0
- package/amd/MaxLengthLiveRegion-40be44ee.js.map +1 -0
- package/amd/Menu-bdd771bf.js +1 -1
- package/amd/MenuButton-da59eed0.js +1 -1
- package/amd/MenuItem-dc85fcad.js +1 -1
- package/amd/Message-d34eaeb6.js +1 -1
- package/amd/MessageLayer-4d17f62f.js +2 -0
- package/amd/MessageLayer-4d17f62f.js.map +1 -0
- package/amd/MessageToast-39315d42.js +1 -1
- package/amd/MessagesManager-8af1b1ee.js +1 -1
- package/amd/MeterBar-10ec0c50.js +1 -1
- package/amd/MeterCircle-cce2cb51.js +1 -1
- package/amd/Modal-21aed044.js +2 -0
- package/amd/Modal-21aed044.js.map +1 -0
- package/amd/MonthView-d4c06203.js +2 -0
- package/amd/MonthView-d4c06203.js.map +1 -0
- package/amd/NavigationList-6ca9cfba.js +2 -0
- package/amd/NavigationList-6ca9cfba.js.map +1 -0
- package/amd/NavigationListItem-43b6130b.js +2 -0
- package/amd/NavigationListItem-43b6130b.js.map +1 -0
- package/amd/NumberInputText-66e2d7d1.js +1 -1
- package/amd/OverflowTabBar-127659f1.js +2 -0
- package/amd/OverflowTabBar-127659f1.js.map +1 -0
- package/amd/OverflowTabBarItem-5404d133.js +2 -0
- package/amd/OverflowTabBarItem-5404d133.js.map +1 -0
- package/amd/PRIVATE_BaseCardView.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_DatePickerHeader.js +1 -1
- package/amd/PRIVATE_DatePickerLayout.js +1 -1
- package/amd/PRIVATE_EmbeddedIconButton.js +1 -1
- package/amd/PRIVATE_FormControls.js +1 -1
- package/amd/PRIVATE_IconSwitchButton.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/WarningS.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_Table.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/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/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_VisOverview.js +1 -1
- package/amd/PRIVATE_VisTabularDatatip.js +1 -1
- package/amd/PictoChart-952582dd.js +1 -1
- package/amd/PieChart-7826bf45.js +1 -1
- package/amd/Popup-92dfc51f.js +2 -0
- package/amd/Popup-92dfc51f.js.map +1 -0
- package/amd/ProgressBar-2087dde3.js +2 -0
- package/amd/ProgressBar-2087dde3.js.map +1 -0
- package/amd/ProgressButton-b830eead.js +1 -1
- package/amd/ProgressButtonLabelLayout-5404f190.js +1 -1
- package/amd/ProgressCircle-5709a095.js +2 -0
- package/amd/ProgressCircle-5709a095.js.map +1 -0
- package/amd/RadioItem-b159fce3.js +1 -1
- package/amd/RatingGauge-27c01e2c.js +1 -1
- package/amd/ReadonlyTextFieldInput-b8ee28da.js +1 -1
- package/amd/RemovableNavigationListItem-110f19ed.js +2 -0
- package/amd/RemovableNavigationListItem-110f19ed.js.map +1 -0
- package/amd/RemovableTabBarItem-3792c8fd.js +1 -1
- package/amd/ReorderableTabBar-d6720955.js +2 -0
- package/amd/ReorderableTabBar-d6720955.js.map +1 -0
- package/amd/RevealToggleIcon-e5bc966f.js +1 -1
- package/amd/ScatterChart-a7d49c89.js +2 -0
- package/amd/ScatterChart-a7d49c89.js.map +1 -0
- package/amd/SectionalLegend-e9c72ba8.js +1 -1
- package/amd/SectionedContent-5d5ff5b9.js +2 -0
- package/amd/SectionedContent-5d5ff5b9.js.map +1 -0
- package/amd/SelectMultiple-05de2e07.js +1 -1
- package/amd/SelectSingle-9e6bde58.js +1 -1
- package/amd/SelectionCard-977be789.js +2 -0
- package/amd/SelectionCard-977be789.js.map +1 -0
- package/amd/Selector-b67fe1ef.js +1 -1
- package/amd/SelectorAll-face9708.js +2 -0
- package/amd/SelectorAll-face9708.js.map +1 -0
- package/amd/Sheet-23307184.js +2 -0
- package/amd/Sheet-23307184.js.map +1 -0
- package/amd/SplitMenuButton-8d873373.js +1 -1
- package/amd/StyledCard-5c9cee13.js +2 -0
- package/amd/StyledCard-5c9cee13.js.map +1 -0
- package/amd/StyledLabelValueLayout-ddf48667.js +2 -0
- package/amd/StyledLabelValueLayout-ddf48667.js.map +1 -0
- package/amd/StyledTextField-3398bf94.js +1 -1
- package/amd/TabBar-3a35b525.js +2 -0
- package/amd/TabBar-3a35b525.js.map +1 -0
- package/amd/TabBarItem-04031938.js +1 -1
- package/amd/TabBarLayout-de1e43f5.js +1 -1
- package/amd/TabBarMixed-28b62328.js +2 -0
- package/amd/TabBarMixed-28b62328.js.map +1 -0
- package/amd/TabBarMixedSeparator-bd0668c3.js +2 -0
- package/amd/TabBarMixedSeparator-bd0668c3.js.map +1 -0
- package/amd/Table-d8edded4.js +1 -1
- package/amd/TagCloud-057fa603.js +1 -1
- package/amd/TextArea-8dcf6809.js +1 -1
- package/amd/TextAreaAutosize-97aba344.js +1 -1
- package/amd/TextField-80908a0d.js +1 -1
- package/amd/TextFieldInput-ca306ad6.js +1 -1
- package/amd/Theme-redwood/theme.css +249 -249
- package/amd/Theme-stable/theme.css +369 -369
- package/amd/TimeComponentCanvas2D-9a091053.js +1 -1
- package/amd/Toolbar-250d0ce7.js +1 -1
- package/amd/TruncatingBadge-6c7674e0.js +1 -1
- package/amd/TruncatingText-24914f42.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_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_CheckboxSet.js +1 -1
- package/amd/UNSAFE_Chip.js +1 -1
- package/amd/UNSAFE_Collapsible.js +1 -1
- package/amd/UNSAFE_ComboChart.js +1 -1
- package/amd/UNSAFE_ComponentMessage.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_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_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.js +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_RichRadioSet.js +1 -1
- package/amd/UNSAFE_RichSelectionItem.js +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_SplitMenuButton.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_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +1 -1
- package/amd/UNSAFE_VisProgressiveLoader.js +1 -1
- package/amd/UNSAFE_VisStatusMessage.js +1 -1
- package/amd/UNSAFE_WindowOverlay.js +1 -1
- package/amd/View-e15784b7.js +2 -0
- package/amd/View-e15784b7.js.map +1 -0
- package/amd/VisNoData-ac5880b9.js +2 -0
- package/amd/VisNoData-ac5880b9.js.map +1 -0
- package/amd/VisProgressiveLoader-01e7a1a8.js +2 -0
- package/amd/VisProgressiveLoader-01e7a1a8.js.map +1 -0
- package/amd/VisTabularDatatip-8e572ce2.js +2 -0
- package/amd/VisTabularDatatip-8e572ce2.js.map +1 -0
- package/amd/WindowOverlay-3d31f35a.js +2 -0
- package/amd/WindowOverlay-3d31f35a.js.map +1 -0
- package/amd/YearsGridView-f7ae554d.js +2 -0
- package/amd/YearsGridView-f7ae554d.js.map +1 -0
- 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_useCssVars.js +1 -1
- package/amd/hooks/PRIVATE_useCurrentKey.js +1 -1
- package/amd/hooks/PRIVATE_useDatatip.js +1 -1
- package/amd/hooks/PRIVATE_useFloating.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_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_useColorScheme.js +1 -1
- package/amd/hooks/UNSAFE_useCurrentBgColor.js +1 -1
- package/amd/hooks/UNSAFE_useDensity.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-191c944d.js +2 -0
- package/amd/index-191c944d.js.map +1 -0
- package/amd/listViewSelectionTests-338c9a81.js +1 -1
- package/amd/popupUtils-2308a848.js +2 -0
- package/amd/popupUtils-2308a848.js.map +1 -0
- package/amd/render-436a0489.js +2 -0
- package/amd/render-436a0489.js.map +1 -0
- package/amd/tabbableUtils-dcf7c977.js +2 -0
- package/amd/tabbableUtils-dcf7c977.js.map +1 -0
- package/amd/testData-69541e84.js +2 -0
- package/amd/testData-69541e84.js.map +1 -0
- package/amd/tooltipUtils-cf586837.js +2 -0
- package/amd/tooltipUtils-cf586837.js.map +1 -0
- package/amd/useCellNavigation-dcf1584f.js +1 -1
- package/amd/useChartContextMenu-79ff2c41.js +1 -1
- package/amd/useChartDatatip-f3574090.js +2 -0
- package/amd/useChartDatatip-f3574090.js.map +1 -0
- package/amd/useColorScheme-47c8be99.js +2 -0
- package/amd/useColorScheme-47c8be99.js.map +1 -0
- package/amd/useContextMenu-599ada89.js +1 -1
- package/amd/useCssVars-0b95ef7d.js +2 -0
- package/amd/useCssVars-0b95ef7d.js.map +1 -0
- package/amd/useCurrentBgColor-7e1d99fb.js +2 -0
- package/amd/useCurrentBgColor-7e1d99fb.js.map +1 -0
- package/amd/useCurrentKey-6e7057d0.js +2 -0
- package/amd/useCurrentKey-6e7057d0.js.map +1 -0
- package/amd/useDatatip-0c425460.js +2 -0
- package/amd/useDatatip-0c425460.js.map +1 -0
- package/amd/useDensity-5cfdc56a.js +2 -0
- package/amd/useDensity-5cfdc56a.js.map +1 -0
- package/amd/useFloating-3f7a017b.js +2 -0
- package/amd/useFloating-3f7a017b.js.map +1 -0
- package/amd/useKeyboardEvents-f1abb59c.js +2 -0
- package/amd/useKeyboardEvents-f1abb59c.js.map +1 -0
- package/amd/useLegendContextMenu-e050a6ec.js +1 -1
- package/amd/useMeterDatatip-d4ac4181.js +2 -0
- package/amd/useMeterDatatip-d4ac4181.js.map +1 -0
- package/amd/useNavigationListItem-d79484b7.js +2 -0
- package/amd/useNavigationListItem-d79484b7.js.map +1 -0
- package/amd/useOutsideClick-fc4dc457.js +2 -0
- package/amd/useOutsideClick-fc4dc457.js.map +1 -0
- package/amd/usePopupAnimation-b6303252.js +2 -0
- package/amd/usePopupAnimation-b6303252.js.map +1 -0
- package/amd/usePrefixSuffix-582e16a2.js +2 -0
- package/amd/usePrefixSuffix-582e16a2.js.map +1 -0
- package/amd/useReorderableItem-fd5a7b07.js +2 -0
- package/amd/useReorderableItem-fd5a7b07.js.map +1 -0
- package/amd/useRovingTabIndexContainer-f72b17ab.js +2 -0
- package/amd/useRovingTabIndexContainer-f72b17ab.js.map +1 -0
- package/amd/useScale-b2f29348.js +2 -0
- package/amd/useScale-b2f29348.js.map +1 -0
- package/amd/useSelectCommon-736de0ee.js +1 -1
- package/amd/useSelectDrill-6b0b6da7.js +2 -0
- package/amd/useSelectDrill-6b0b6da7.js.map +1 -0
- package/amd/useSelection-02c4c0c0.js +2 -0
- package/amd/useSelection-02c4c0c0.js.map +1 -0
- package/amd/useSelection-5128f1e7.js +2 -0
- package/amd/useSelection-5128f1e7.js.map +1 -0
- package/amd/useTabBar-b1536c9a.js +1 -1
- package/amd/useTestId-efb1c8f9.js +2 -0
- package/amd/useTestId-efb1c8f9.js.map +1 -0
- package/amd/useTheme-a99513fe.js +2 -0
- package/amd/useTheme-a99513fe.js.map +1 -0
- package/amd/useThemeInterpolations-93c8c4c0.js +2 -0
- package/amd/useThemeInterpolations-93c8c4c0.js.map +1 -0
- package/amd/useTooltip-c10bcc4e.js +2 -0
- package/amd/useTooltip-c10bcc4e.js.map +1 -0
- package/amd/useTooltipOnTruncation-a913ba8a.js +2 -0
- package/amd/useTooltipOnTruncation-a913ba8a.js.map +1 -0
- package/amd/useTranslationBundle-33399171.js +2 -0
- package/amd/useTranslationBundle-33399171.js.map +1 -0
- package/amd/useUser-33136570.js +2 -0
- package/amd/useUser-33136570.js.map +1 -0
- package/amd/useVisDragModeControls-120076e9.js +1 -1
- package/amd/useVisEvents-bc470edf.js +2 -0
- package/amd/useVisEvents-bc470edf.js.map +1 -0
- 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-56788c71.js +2 -0
- package/amd/withDirectionIcon-56788c71.js.map +1 -0
- package/amd/withThemeProps-5ba8f3bc.js +1 -1
- package/cjs/BaseCardView-dc51267e.js +687 -0
- package/cjs/BaseCardView-dc51267e.js.map +1 -0
- package/cjs/CardFlexView-9393e48c.js +29 -0
- package/cjs/CardFlexView-9393e48c.js.map +1 -0
- package/cjs/CardGridView-e796ff9d.js +17 -0
- package/cjs/CardGridView-e796ff9d.js.map +1 -0
- package/cjs/CheckboxSetContext-c62db26d.js +12 -0
- package/cjs/CheckboxSetContext-c62db26d.js.map +1 -0
- package/cjs/ExpandableList-2182c2f3.js +1 -1
- package/cjs/GroupLoadingIndicator-eea4bd1d.js +1 -1
- package/cjs/Indexer-034ba277.js +339 -0
- package/cjs/Indexer-034ba277.js.map +1 -0
- package/cjs/List-46cdf470.js +723 -0
- package/cjs/List-46cdf470.js.map +1 -0
- package/cjs/ListView-0ec2afbc.js +430 -0
- package/cjs/ListView-0ec2afbc.js.map +1 -0
- package/cjs/LoadMoreCollection-73112ff0.js +34 -0
- package/cjs/LoadMoreCollection-73112ff0.js.map +1 -0
- package/cjs/PRIVATE_BaseCardView.js +3 -3
- package/cjs/PRIVATE_List.js +4 -4
- package/cjs/PRIVATE_LoadMoreCollection.js +2 -2
- package/cjs/PRIVATE_SelectCommon.js +5 -5
- package/cjs/PRIVATE_Table.js +3 -3
- package/cjs/PRIVATE_VirtualizedCollection.js +2 -2
- package/cjs/SelectMultiple-f12df023.js +1299 -0
- package/cjs/SelectMultiple-f12df023.js.map +1 -0
- package/cjs/SelectSingle-244f066d.js +732 -0
- package/cjs/SelectSingle-244f066d.js.map +1 -0
- package/cjs/Table-687c28a1.js +5499 -0
- package/cjs/Table-687c28a1.js.map +1 -0
- package/cjs/TableView-8a2c3a0a.js +33 -0
- package/cjs/TableView-8a2c3a0a.js.map +1 -0
- package/cjs/TextArea-dcfbeab0.js +180 -0
- package/cjs/TextArea-dcfbeab0.js.map +1 -0
- package/cjs/TextAreaAutosize-fa21ae31.js +246 -0
- package/cjs/TextAreaAutosize-fa21ae31.js.map +1 -0
- package/cjs/Theme-redwood/theme.css +186 -186
- package/cjs/Theme-stable/theme.css +380 -380
- package/cjs/UNSAFE_CardFlexView.js +4 -4
- package/cjs/UNSAFE_CardGridView.js +4 -4
- package/cjs/UNSAFE_CheckboxItem.js +30 -82
- package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
- package/cjs/UNSAFE_CheckboxSet.js +44 -15
- package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_ExpandableList.js +3 -3
- package/cjs/UNSAFE_Indexer.js +2 -2
- package/cjs/UNSAFE_ListView.js +5 -5
- package/cjs/UNSAFE_RichCheckboxSet.js +26 -29
- package/cjs/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_RichSelectionItem.js +46 -184
- package/cjs/UNSAFE_RichSelectionItem.js.map +1 -1
- package/cjs/UNSAFE_SelectMultiple.js +6 -6
- package/cjs/UNSAFE_SelectSingle.js +6 -6
- package/cjs/UNSAFE_TableView.js +4 -4
- package/cjs/UNSAFE_TextArea.js +3 -4
- package/cjs/UNSAFE_TextArea.js.map +1 -1
- package/cjs/UNSAFE_TextAreaAutosize.js +3 -3
- package/cjs/UNSAFE_VirtualizedListView.js +5 -5
- package/cjs/VirtualizedCollection-00aedb8b.js +180 -0
- package/cjs/VirtualizedCollection-00aedb8b.js.map +1 -0
- package/cjs/VirtualizedListView-c5df76ea.js +16 -0
- package/cjs/VirtualizedListView-c5df76ea.js.map +1 -0
- package/cjs/useSelectCommon-a00fdf8e.js +709 -0
- package/cjs/useSelectCommon-a00fdf8e.js.map +1 -0
- package/es/ActionCard-9f4e3613.js +1 -1
- package/es/BarChart-49c7f6bb.js +179 -0
- package/es/BarChart-49c7f6bb.js.map +1 -0
- package/es/BarGroup-ac152c88.js +1 -1
- package/es/BaseButton-b5fc41a8.js +2 -2
- package/es/BaseCardView-5e0a327f.js +683 -0
- package/es/BaseCardView-5e0a327f.js.map +1 -0
- package/es/BaseCardViewSelectionTest-b3b001e6.js +721 -0
- package/es/BaseCardViewSelectionTest-b3b001e6.js.map +1 -0
- package/es/BaseNavigationListItem-44157da8.js +1 -1
- package/es/BaseRichSelection-908a6bc3.js +9 -9
- package/es/ButtonSet-474e170e.js +2 -2
- package/es/ButtonSetIconButton-34b24ad4.js +3 -3
- package/es/Card-31a1cb19.js +15 -0
- package/es/Card-31a1cb19.js.map +1 -0
- package/es/CardFlexView-36492791.js +27 -0
- package/es/CardFlexView-36492791.js.map +1 -0
- package/es/CardGridView-64f31130.js +15 -0
- package/es/CardGridView-64f31130.js.map +1 -0
- package/es/Center-903e6ea1.js +16 -0
- package/es/Center-903e6ea1.js.map +1 -0
- package/es/Chart-649fdf1c.js +491 -0
- package/es/Chart-649fdf1c.js.map +1 -0
- package/es/CheckboxControl-1e686657.js +6 -6
- package/es/CheckboxRadioField-201ef340.js +7 -7
- package/es/Chip-9540ef60.js +1 -1
- package/es/ClearIcon-215c5c34.js +1 -1
- package/es/CollapseIcon-43663109.js +1 -1
- package/es/Collapsible-757eaed6.js +2 -2
- package/es/ComboChart-8ca6f857.js +172 -0
- package/es/ComboChart-8ca6f857.js.map +1 -0
- package/es/CompactHelpSource-20f20c17.js +2 -2
- package/es/CompactLabelAssistance-d92b17d1.js +34 -0
- package/es/CompactLabelAssistance-d92b17d1.js.map +1 -0
- package/es/CompactUserAssistance-c2fafab0.js +4 -4
- package/es/ComponentMessageContainer-a06ceb16.js +4 -4
- package/es/ConveyorBeltItem-2a7cfd15.js +2 -2
- package/es/DatePicker-2838c573.js +564 -0
- package/es/DatePicker-2838c573.js.map +1 -0
- package/es/DatePickerHeader-151355b3.js +3 -3
- package/es/Diagram-7236c495.js +2035 -0
- package/es/Diagram-7236c495.js.map +1 -0
- package/es/Dialog-4a0cb90c.js +344 -0
- package/es/Dialog-4a0cb90c.js.map +1 -0
- package/es/DirectionalCollapseArrowIcon-24020989.js +1 -1
- package/es/DirectionalExpandArrowIcon-28f288ca.js +1 -1
- package/es/DragHandle-f9b35377.js +22 -0
- package/es/DragHandle-f9b35377.js.map +1 -0
- package/es/DrawerPopup-dd60ef68.js +381 -0
- package/es/DrawerPopup-dd60ef68.js.map +1 -0
- package/es/Dropdown-ab7ecd4b.js +80 -0
- package/es/Dropdown-ab7ecd4b.js.map +1 -0
- package/es/EnvironmentProvider-1580c879.js +58 -0
- package/es/EnvironmentProvider-1580c879.js.map +1 -0
- package/es/ExpandableList-84f08709.js +4 -4
- package/es/FilePicker-74669308.js +2 -2
- package/es/Flex-ba379500.js +30 -0
- package/es/Flex-ba379500.js.map +1 -0
- package/es/Floating-94a06a14.js +462 -0
- package/es/Floating-94a06a14.js.map +1 -0
- package/es/FormLayout-2fba104e.js +1 -1
- package/es/Gantt-f95290cd.js +9 -9
- package/es/Grid-48e5c78c.js +27 -0
- package/es/Grid-48e5c78c.js.map +1 -0
- package/es/Gridlines-bb3b92f4.js +168 -0
- package/es/Gridlines-bb3b92f4.js.map +1 -0
- package/es/GroupLoadingIndicator-2a294121.js +2 -2
- package/es/HighlightText-a2f81a44.js +31 -0
- package/es/HighlightText-a2f81a44.js.map +1 -0
- package/es/Icon-43d05084.js +3 -3
- package/es/IconButton-b78b5ace.js +3 -3
- package/es/IconMenuButton-441b34f8.js +3 -3
- package/es/IconProgressButton-cb75faa2.js +3 -3
- package/es/IconSwitchButton-4febde18.js +3 -3
- package/es/IconToggleButton-299d5d98.js +3 -3
- package/es/IconUserAssistance-264032b1.js +73 -0
- package/es/IconUserAssistance-264032b1.js.map +1 -0
- package/es/Indexer-6c39ddf3.js +336 -0
- package/es/Indexer-6c39ddf3.js.map +1 -0
- package/es/InlineHelpSource-e0c901ba.js +1 -1
- package/es/InlineUserAssistance-9b70db5b.js +5 -5
- package/es/InputDateMask-0b2a46b5.js +7 -7
- package/es/InputDatePicker-60465b12.js +8 -8
- package/es/InputPassword-106c544f.js +4 -4
- package/es/InputText-2bf2ce27.js +6 -6
- package/es/Label-4503b935.js +5 -5
- package/es/LabelValueLayout-fa08943c.js +1 -1
- package/es/Layer-d4aca92e.js +91 -0
- package/es/Layer-d4aca92e.js.map +1 -0
- package/es/LayerHost-f7ef254c.js +40 -0
- package/es/LayerHost-f7ef254c.js.map +1 -0
- package/es/LayerManager-4ad387dc.js +34 -0
- package/es/LayerManager-4ad387dc.js.map +1 -0
- package/es/Legend-449e7201.js +3 -3
- package/es/LineAreaChart-9a46dce5.js +170 -0
- package/es/LineAreaChart-9a46dce5.js.map +1 -0
- package/es/LineSeries-e71ae377.js +109 -0
- package/es/LineSeries-e71ae377.js.map +1 -0
- package/es/Link-9803ca5b.js +1 -1
- package/es/List-da0ce081.js +718 -0
- package/es/List-da0ce081.js.map +1 -0
- package/es/ListItemLayout-1207112f.js +110 -0
- package/es/ListItemLayout-1207112f.js.map +1 -0
- package/es/ListView-5cada8e6.js +428 -0
- package/es/ListView-5cada8e6.js.map +1 -0
- package/es/LiveRegion-d9f2bbdb.js +39 -0
- package/es/LiveRegion-d9f2bbdb.js.map +1 -0
- package/es/LoadMoreCollection-95a49d2a.js +31 -0
- package/es/LoadMoreCollection-95a49d2a.js.map +1 -0
- package/es/MaxLengthLiveRegion-db713260.js +23 -0
- package/es/MaxLengthLiveRegion-db713260.js.map +1 -0
- package/es/Menu-aa21f75f.js +6 -6
- package/es/MenuButton-fe7e2d06.js +2 -2
- package/es/MenuItem-01343558.js +1 -1
- package/es/Message-98038159.js +2 -2
- package/es/MessageLayer-7650c582.js +58 -0
- package/es/MessageLayer-7650c582.js.map +1 -0
- package/es/MessageToast-2b7922be.js +8 -8
- package/es/MessagesManager-9efc5d44.js +3 -3
- package/es/MeterBar-1319327c.js +5 -5
- package/es/MeterCircle-b52c28b1.js +5 -5
- package/es/Modal-7efd2f81.js +274 -0
- package/es/Modal-7efd2f81.js.map +1 -0
- package/es/MonthView-df043775.js +208 -0
- package/es/MonthView-df043775.js.map +1 -0
- package/es/NavigationListItem-bdf7a2ab.js +5 -5
- package/es/NumberInputText-c71b0b51.js +6 -6
- package/es/OverflowTabBarItem-b643a574.js +3 -3
- package/es/PRIVATE_BaseCardView.js +24 -24
- package/es/PRIVATE_Chart.js +35 -35
- package/es/PRIVATE_CheckboxControl.js +23 -23
- package/es/PRIVATE_CheckboxRadioField.js +25 -25
- package/es/PRIVATE_ClearIcon.js +17 -17
- package/es/PRIVATE_DatePickerHeader.js +18 -18
- package/es/PRIVATE_DatePickerLayout.js +4 -4
- package/es/PRIVATE_EmbeddedIconButton.js +3 -3
- package/es/PRIVATE_FormControls.js +19 -19
- package/es/PRIVATE_IconSwitchButton.js +15 -15
- package/es/PRIVATE_Icons/CheckboxMixed.js +15 -15
- package/es/PRIVATE_Icons/CheckboxOff.js +15 -15
- package/es/PRIVATE_Icons/CheckboxOn.js +15 -15
- package/es/PRIVATE_Icons/DragV.js +15 -15
- package/es/PRIVATE_Icons/WarningS.js +15 -15
- package/es/PRIVATE_List.js +23 -23
- package/es/PRIVATE_LoadMoreCollection.js +2 -2
- package/es/PRIVATE_Message.js +18 -18
- package/es/PRIVATE_MessageLayer.js +12 -12
- package/es/PRIVATE_MonthView.js +7 -7
- package/es/PRIVATE_MonthYearGridView.js +7 -7
- package/es/PRIVATE_PlotArea.js +4 -4
- package/es/PRIVATE_RevealToggleIcon.js +16 -16
- package/es/PRIVATE_RichSelectionCommon.js +26 -26
- package/es/PRIVATE_SelectCommon.js +33 -33
- package/es/PRIVATE_StyledCard.js +4 -4
- package/es/PRIVATE_StyledCheckbox.js +15 -15
- package/es/PRIVATE_Table.js +27 -27
- package/es/PRIVATE_ThemedIcons/CalendarIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/CheckIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/CloseIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/CollapseIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/DecrementIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/DeleteIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/DragHandleIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/ExpandIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/HelpIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/IncrementIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/MinusIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/NavDownIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/PlusIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +15 -15
- package/es/PRIVATE_ThemedIcons/ViewIcon.js +15 -15
- package/es/PRIVATE_TimeComponent.js +17 -17
- package/es/PRIVATE_VirtualizedCollection.js +2 -2
- package/es/PRIVATE_VisOverview.js +15 -15
- package/es/PRIVATE_VisTabularDatatip.js +4 -4
- package/es/PictoChart-b3fc22fd.js +6 -6
- package/es/PieChart-b54696a5.js +6 -6
- package/es/Popup-67ec4db2.js +258 -0
- package/es/Popup-67ec4db2.js.map +1 -0
- package/es/ProgressBar-cad7d04b.js +62 -0
- package/es/ProgressBar-cad7d04b.js.map +1 -0
- package/es/ProgressButton-40c3b504.js +3 -3
- package/es/ProgressButtonLabelLayout-8c64cece.js +3 -3
- package/es/ProgressCircle-7d883146.js +48 -0
- package/es/ProgressCircle-7d883146.js.map +1 -0
- package/es/RadioItem-a1599b77.js +6 -6
- package/es/RatingGauge-6c13b141.js +8 -8
- package/es/ReadonlyTextFieldInput-d6b1fac1.js +1 -1
- package/es/RemovableNavigationListItem-84fad399.js +1 -1
- package/es/RemovableTabBarItem-42735820.js +2 -2
- package/es/ReorderableTabBar-1b2c9ebe.js +3 -3
- package/es/RevealToggleIcon-abf5f233.js +1 -1
- package/es/ScatterChart-59c7f1d7.js +103 -0
- package/es/ScatterChart-59c7f1d7.js.map +1 -0
- package/es/SectionalLegend-fb0128ae.js +4 -4
- package/es/SectionedContent-db1b2e44.js +64 -0
- package/es/SectionedContent-db1b2e44.js.map +1 -0
- package/es/SegmentStyles.styles.css +11 -8
- package/es/SegmentStyles.styles2.css +8 -11
- package/es/SelectMultiple-48af2264.js +1297 -0
- package/es/SelectMultiple-48af2264.js.map +1 -0
- package/es/SelectSingle-56ff2907.js +730 -0
- package/es/SelectSingle-56ff2907.js.map +1 -0
- package/es/SelectionCard-f4e6f6f4.js +16 -0
- package/es/SelectionCard-f4e6f6f4.js.map +1 -0
- package/es/Selector-cc435916.js +1 -1
- package/es/SelectorAll-fb5a5a47.js +69 -0
- package/es/SelectorAll-fb5a5a47.js.map +1 -0
- package/es/Sheet-2d9c641b.js +158 -0
- package/es/Sheet-2d9c641b.js.map +1 -0
- package/es/SplitMenuButton-1c556d1d.js +2 -2
- package/es/StyledCard-75bcdad7.js +105 -0
- package/es/StyledCard-75bcdad7.js.map +1 -0
- package/es/StyledLabelValueLayout-1b0b4a96.js +18 -0
- package/es/StyledLabelValueLayout-1b0b4a96.js.map +1 -0
- package/es/StyledTextField-21e8afef.js +3 -3
- package/es/TabBar-ef456a2c.js +5 -5
- package/es/TabBarItem-af8b903f.js +3 -3
- package/es/TabBarLayout-d7d27c34.js +1 -1
- package/es/TabBarMixed-71314dd9.js +5 -5
- package/es/TabBarMixedSeparator-1aacc254.js +19 -0
- package/es/TabBarMixedSeparator-1aacc254.js.map +1 -0
- package/es/Table-895c20ae.js +5497 -0
- package/es/Table-895c20ae.js.map +1 -0
- package/es/TableView-7eaa6c96.js +31 -0
- package/es/TableView-7eaa6c96.js.map +1 -0
- package/es/TagCloud-ed095030.js +8 -8
- package/es/TextArea-f411ff47.js +177 -0
- package/es/TextArea-f411ff47.js.map +1 -0
- package/es/TextAreaAutosize-163b776f.js +244 -0
- package/es/TextAreaAutosize-163b776f.js.map +1 -0
- package/es/TextField-28d425d6.js +3 -3
- package/es/TextFieldInput-c9239b1e.js +1 -1
- package/es/Theme-redwood/theme.css +488 -488
- package/es/Theme-stable/theme.css +316 -316
- package/es/TimeComponentCanvas2D-70d21419.js +5 -5
- package/es/Toolbar-4fe755d3.js +1 -1
- package/es/TruncatingBadge-a6ead29d.js +1 -1
- package/es/TruncatingText-107fcc48.js +1 -1
- package/es/UNSAFE_ActionCard.js +3 -3
- package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +36 -36
- package/es/UNSAFE_BarChart.js +36 -36
- package/es/UNSAFE_BaseButton.js +3 -3
- package/es/UNSAFE_Button.js +3 -3
- package/es/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +21 -21
- package/es/UNSAFE_ButtonSet.js +4 -4
- package/es/UNSAFE_ButtonSetButton.js +3 -3
- package/es/UNSAFE_ButtonSetIconButton.js +15 -15
- package/es/UNSAFE_ButtonSetItem.js +15 -15
- package/es/UNSAFE_ButtonSetMultiple.js +4 -4
- package/es/UNSAFE_ButtonSetSingle.js +4 -4
- package/es/UNSAFE_Card.js +5 -5
- package/es/UNSAFE_CardFlexView.js +25 -25
- package/es/UNSAFE_CardGridView.js +25 -25
- package/es/UNSAFE_Center.js +5 -5
- package/es/UNSAFE_Checkbox.js +23 -23
- package/es/UNSAFE_CheckboxItem.js +23 -23
- package/es/UNSAFE_CheckboxSet.js +24 -24
- package/es/UNSAFE_Chip.js +2 -2
- package/es/UNSAFE_Collapsible.js +17 -17
- package/es/UNSAFE_ComboChart.js +38 -38
- package/es/UNSAFE_ComponentMessage.js +18 -18
- package/es/UNSAFE_ConveyorBelt.js +15 -15
- package/es/UNSAFE_DatePicker.js +23 -23
- package/es/UNSAFE_Diagram.js +20 -20
- package/es/UNSAFE_Dialog.js +21 -21
- package/es/UNSAFE_DragHandle.js +17 -17
- package/es/UNSAFE_DrawerLayout.js +12 -12
- package/es/UNSAFE_DrawerPopup.js +13 -13
- package/es/UNSAFE_Dropdown.js +13 -13
- package/es/UNSAFE_Environment.js +4 -4
- package/es/UNSAFE_ExpandableList.js +25 -25
- package/es/UNSAFE_FilePicker.js +4 -4
- package/es/UNSAFE_Flex.js +4 -4
- package/es/UNSAFE_Floating.js +11 -11
- package/es/UNSAFE_FormLayout.js +2 -2
- package/es/UNSAFE_Gantt.js +22 -22
- package/es/UNSAFE_Grid.js +4 -4
- package/es/UNSAFE_HighlightText.js +4 -4
- package/es/UNSAFE_Icon.js +15 -15
- package/es/UNSAFE_IconButton.js +15 -15
- package/es/UNSAFE_IconMenuButton.js +21 -21
- package/es/UNSAFE_IconProgressButton.js +18 -18
- package/es/UNSAFE_IconToggleButton.js +15 -15
- package/es/UNSAFE_Indexer.js +8 -8
- package/es/UNSAFE_InputDateMask/themes/SegmentStyles.css.js +1 -1
- package/es/UNSAFE_InputDateMask.js +26 -26
- package/es/UNSAFE_InputDatePicker.js +34 -34
- package/es/UNSAFE_InputPassword.js +24 -24
- package/es/UNSAFE_InputSensitiveText.js +26 -26
- package/es/UNSAFE_InputText.js +27 -27
- package/es/UNSAFE_InputTimeMask/themes/SegmentStyles.css.js +1 -1
- package/es/UNSAFE_InputTimeMask.js +26 -26
- package/es/UNSAFE_Label.js +23 -23
- package/es/UNSAFE_LabelValueLayout.js +4 -4
- package/es/UNSAFE_LabelledLink.js +25 -25
- package/es/UNSAFE_Layer.js +8 -8
- package/es/UNSAFE_Legend.js +25 -25
- package/es/UNSAFE_LineAreaChart.js +38 -38
- package/es/UNSAFE_Link.js +2 -2
- package/es/UNSAFE_ListItemLayout.js +5 -5
- package/es/UNSAFE_ListView.js +33 -33
- package/es/UNSAFE_LiveRegion.js +4 -4
- package/es/UNSAFE_Menu.js +23 -23
- package/es/UNSAFE_MenuButton.js +21 -21
- package/es/UNSAFE_MessageBanner.js +18 -18
- package/es/UNSAFE_MessageToast.js +21 -21
- package/es/UNSAFE_MeterBar.js +16 -16
- package/es/UNSAFE_MeterCircle.js +17 -17
- package/es/UNSAFE_Modal.js +9 -9
- package/es/UNSAFE_NavigationList.js +19 -19
- package/es/UNSAFE_NavigationListCommon.js +17 -17
- package/es/UNSAFE_NumberInputText.js +26 -26
- package/es/UNSAFE_OverflowTabBar.js +24 -24
- package/es/UNSAFE_PictoChart.js +14 -14
- package/es/UNSAFE_PieChart/__test__/PieChart.spec.js +22 -22
- package/es/UNSAFE_PieChart.js +22 -22
- package/es/UNSAFE_Popup.js +17 -17
- package/es/UNSAFE_ProgressBar.js +5 -5
- package/es/UNSAFE_ProgressButton.js +18 -18
- package/es/UNSAFE_ProgressButtonLabelLayout.js +10 -10
- package/es/UNSAFE_ProgressCircle.js +4 -4
- package/es/UNSAFE_RadioItem.js +23 -23
- package/es/UNSAFE_RadioSet.js +24 -24
- package/es/UNSAFE_RatingGauge.js +17 -17
- package/es/UNSAFE_ReorderableTabBar.js +25 -25
- package/es/UNSAFE_RichCheckboxSet.js +26 -26
- package/es/UNSAFE_RichRadioSet.js +26 -26
- package/es/UNSAFE_RichSelectionItem.js +20 -20
- package/es/UNSAFE_ScatterChart.js +38 -38
- package/es/UNSAFE_SectionalLegend.js +26 -26
- package/es/UNSAFE_SelectMultiple.js +37 -37
- package/es/UNSAFE_SelectSingle.js +37 -37
- package/es/UNSAFE_SelectionCard.js +5 -5
- package/es/UNSAFE_Selector.js +15 -15
- package/es/UNSAFE_SelectorAll.js +19 -19
- package/es/UNSAFE_Sheet/__test__/Sheet.spec.js +15 -15
- package/es/UNSAFE_Sheet.js +12 -12
- package/es/UNSAFE_SplitMenuButton.js +21 -21
- package/es/UNSAFE_TabBar.js +25 -25
- package/es/UNSAFE_TabBarCommon.js +25 -25
- package/es/UNSAFE_TabBarMixed.js +26 -26
- package/es/UNSAFE_TableView.js +28 -28
- package/es/UNSAFE_TagCloud.js +24 -24
- package/es/UNSAFE_TextArea.js +28 -29
- package/es/UNSAFE_TextArea.js.map +1 -1
- package/es/UNSAFE_TextAreaAutosize.js +29 -29
- package/es/UNSAFE_TextField.js +8 -8
- package/es/UNSAFE_ToggleButton.js +3 -3
- package/es/UNSAFE_Toolbar/tests/Toolbar.spec.js +23 -23
- package/es/UNSAFE_Toolbar.js +4 -4
- package/es/UNSAFE_Train.js +16 -16
- package/es/UNSAFE_TruncatingBadge.js +16 -16
- package/es/UNSAFE_TruncatingText.js +16 -16
- package/es/UNSAFE_UserAssistance.js +24 -24
- package/es/UNSAFE_View.js +7 -7
- package/es/UNSAFE_VirtualizedListView.js +24 -24
- package/es/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
- package/es/UNSAFE_VisProgressiveLoader.js +6 -6
- package/es/UNSAFE_VisStatusMessage.js +6 -6
- package/es/UNSAFE_WindowOverlay.js +4 -4
- package/es/View-79162397.js +167 -0
- package/es/View-79162397.js.map +1 -0
- package/es/VirtualizedCollection-e73890a1.js +176 -0
- package/es/VirtualizedCollection-e73890a1.js.map +1 -0
- package/es/VirtualizedListView-d9cb25e1.js +14 -0
- package/es/VirtualizedListView-d9cb25e1.js.map +1 -0
- package/es/VisNoData-f70e7c57.js +32 -0
- package/es/VisNoData-f70e7c57.js.map +1 -0
- package/es/VisProgressiveLoader-4fe41bcb.js +51 -0
- package/es/VisProgressiveLoader-4fe41bcb.js.map +1 -0
- package/es/VisTabularDatatip-24b65098.js +24 -0
- package/es/VisTabularDatatip-24b65098.js.map +1 -0
- package/es/WindowOverlay-8fbe3e1c.js +110 -0
- package/es/WindowOverlay-8fbe3e1c.js.map +1 -0
- package/es/YearsGridView-52c0d22c.js +187 -0
- package/es/YearsGridView-52c0d22c.js.map +1 -0
- package/es/hoc/PRIVATE_withDirectionIcon.js +4 -4
- package/es/hoc/PRIVATE_withThemeIcon.js +3 -3
- package/es/hoc/UNSAFE_withThemeProps.js +3 -3
- package/es/hooks/PRIVATE_useChartContextMenu.js +21 -21
- package/es/hooks/PRIVATE_useChartDatatip.js +14 -14
- package/es/hooks/PRIVATE_useChartEvents.js +18 -18
- package/es/hooks/PRIVATE_useChartMarquee.js +17 -17
- package/es/hooks/PRIVATE_useCssVars.js +7 -7
- package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
- package/es/hooks/PRIVATE_useDatatip.js +12 -12
- package/es/hooks/PRIVATE_useFloating.js +4 -4
- package/es/hooks/PRIVATE_useReorderable.js +5 -5
- package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
- package/es/hooks/PRIVATE_useSelection.js +4 -4
- package/es/hooks/PRIVATE_useTabBar.js +4 -4
- package/es/hooks/PRIVATE_useTooltipOnTruncation.js +16 -16
- package/es/hooks/PRIVATE_useVisContextMenu.js +21 -21
- package/es/hooks/PRIVATE_useVisDragModeControls.js +17 -17
- package/es/hooks/PRIVATE_useVisEvents.js +4 -4
- package/es/hooks/PRIVATE_useVisMeterEvents.js +14 -14
- package/es/hooks/PRIVATE_useVisSelection.js +13 -13
- package/es/hooks/UNSAFE_useColorScheme.js +3 -3
- package/es/hooks/UNSAFE_useCurrentBgColor.js +3 -3
- package/es/hooks/UNSAFE_useDensity.js +3 -3
- package/es/hooks/UNSAFE_useOutsideClick.js +8 -8
- package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
- package/es/hooks/UNSAFE_useScale.js +3 -3
- package/es/hooks/UNSAFE_useTestId.js +3 -3
- package/es/hooks/UNSAFE_useTheme.js +3 -3
- package/es/hooks/UNSAFE_useThemeInterpolations.js +6 -6
- package/es/hooks/UNSAFE_useTooltip.js +16 -16
- package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
- package/es/hooks/UNSAFE_useUser.js +3 -3
- package/es/index-5d0fe60d.js +11 -0
- package/es/index-5d0fe60d.js.map +1 -0
- package/es/listViewSelectionTests-cd66d645.js +3 -3
- package/es/popupUtils-a7caf5e4.js +29 -0
- package/es/popupUtils-a7caf5e4.js.map +1 -0
- package/es/render-c7ce760e.js +34 -0
- package/es/render-c7ce760e.js.map +1 -0
- package/es/tabbableUtils-b22dbd92.js +79 -0
- package/es/tabbableUtils-b22dbd92.js.map +1 -0
- package/es/testData-a52937d8.js +256 -0
- package/es/testData-a52937d8.js.map +1 -0
- package/es/tooltipUtils-179de68d.js +93 -0
- package/es/tooltipUtils-179de68d.js.map +1 -0
- package/es/useCellNavigation-1a33b90e.js +1 -1
- package/es/useChartContextMenu-bedf2f88.js +2 -2
- package/es/useChartDatatip-652d9595.js +165 -0
- package/es/useChartDatatip-652d9595.js.map +1 -0
- package/es/useColorScheme-4414c0b2.js +19 -0
- package/es/useColorScheme-4414c0b2.js.map +1 -0
- package/es/useContextMenu-006e82dd.js +2 -2
- package/es/useCssVars-0788f28c.js +58 -0
- package/es/useCssVars-0788f28c.js.map +1 -0
- package/es/useCurrentBgColor-cc39a2b0.js +19 -0
- package/es/useCurrentBgColor-cc39a2b0.js.map +1 -0
- package/es/useCurrentKey-b88513bf.js +81 -0
- package/es/useCurrentKey-b88513bf.js.map +1 -0
- package/es/useDatatip-f80a8b4e.js +90 -0
- package/es/useDatatip-f80a8b4e.js.map +1 -0
- package/es/useDensity-575ebaf2.js +19 -0
- package/es/useDensity-575ebaf2.js.map +1 -0
- package/es/useFloating-85ac3a8e.js +1916 -0
- package/es/useFloating-85ac3a8e.js.map +1 -0
- package/es/useKeyboardEvents-8d2a44b1.js +78 -0
- package/es/useKeyboardEvents-8d2a44b1.js.map +1 -0
- package/es/useLegendContextMenu-30eaa291.js +4 -4
- package/es/useMeterDatatip-ea50f0f1.js +73 -0
- package/es/useMeterDatatip-ea50f0f1.js.map +1 -0
- package/es/useOutsideClick-866db9b2.js +101 -0
- package/es/useOutsideClick-866db9b2.js.map +1 -0
- package/es/usePopupAnimation-93950404.js +85 -0
- package/es/usePopupAnimation-93950404.js.map +1 -0
- package/es/usePrefixSuffix-2741adb3.js +70 -0
- package/es/usePrefixSuffix-2741adb3.js.map +1 -0
- package/es/useReorderableItem-2a361fd4.js +268 -0
- package/es/useReorderableItem-2a361fd4.js.map +1 -0
- package/es/useRovingTabIndexContainer-7b1d563b.js +98 -0
- package/es/useRovingTabIndexContainer-7b1d563b.js.map +1 -0
- package/es/useScale-54f14cdc.js +19 -0
- package/es/useScale-54f14cdc.js.map +1 -0
- package/es/useSelectCommon-b5028a6e.js +686 -0
- package/es/useSelectCommon-b5028a6e.js.map +1 -0
- package/es/useSelectDrill-9f0f793e.js +104 -0
- package/es/useSelectDrill-9f0f793e.js.map +1 -0
- package/es/useSelection-3c8cd738.js +239 -0
- package/es/useSelection-3c8cd738.js.map +1 -0
- package/es/useSelection-82fe842d.js +186 -0
- package/es/useSelection-82fe842d.js.map +1 -0
- package/es/useTabBar-d9412667.js +1 -1
- package/es/useTestId-8b32167f.js +21 -0
- package/es/useTestId-8b32167f.js.map +1 -0
- package/es/useTheme-858b119b.js +19 -0
- package/es/useTheme-858b119b.js.map +1 -0
- package/es/useThemeInterpolations-2531ab6d.js +57 -0
- package/es/useThemeInterpolations-2531ab6d.js.map +1 -0
- package/es/useTooltip-0a3e4842.js +424 -0
- package/es/useTooltip-0a3e4842.js.map +1 -0
- package/es/useTooltipOnTruncation-f5d75b1b.js +27 -0
- package/es/useTooltipOnTruncation-f5d75b1b.js.map +1 -0
- package/es/useTranslationBundle-0dff3ab2.js +29 -0
- package/es/useTranslationBundle-0dff3ab2.js.map +1 -0
- package/es/useUser-6a7f6df3.js +19 -0
- package/es/useUser-6a7f6df3.js.map +1 -0
- package/es/useVisDragModeControls-13a8e826.js +1 -1
- package/es/useVisEvents-8d888727.js +153 -0
- package/es/useVisEvents-8d888727.js.map +1 -0
- package/es/utils/PRIVATE_tooltipUtils.js +14 -14
- package/es/utils/PRIVATE_visTestUtils.js +6 -6
- package/es/utils/UNSAFE_popupUtils.js +8 -8
- package/es/withDirectionIcon-938d7cdf.js +14 -0
- package/es/withDirectionIcon-938d7cdf.js.map +1 -0
- package/es/withThemeProps-49e8a2b5.js +2 -2
- package/package.json +2 -2
- package/amd/BaseCardViewSelectionTest-e0356b8b.js +0 -2
- package/amd/BaseCardViewSelectionTest-e0356b8b.js.map +0 -1
- package/amd/BaseNavigationListItem-ef8bf611.js +0 -2
- package/amd/BaseNavigationListItem-ef8bf611.js.map +0 -1
- package/amd/Card-7acfbca5.js +0 -2
- package/amd/Card-7acfbca5.js.map +0 -1
- package/amd/Center-5d2e4d34.js +0 -2
- package/amd/Center-5d2e4d34.js.map +0 -1
- package/amd/CompactLabelAssistance-82361ea6.js +0 -2
- package/amd/CompactLabelAssistance-82361ea6.js.map +0 -1
- package/amd/DatePicker-20e9a255.js +0 -2
- package/amd/DatePicker-20e9a255.js.map +0 -1
- package/amd/Diagram-03be2ca5.js +0 -2
- package/amd/Diagram-03be2ca5.js.map +0 -1
- package/amd/Dialog-dc55a669.js +0 -2
- package/amd/Dialog-dc55a669.js.map +0 -1
- package/amd/DragHandle-d89ea5fd.js +0 -2
- package/amd/DragHandle-d89ea5fd.js.map +0 -1
- package/amd/DrawerPopup-772c8c22.js +0 -2
- package/amd/DrawerPopup-772c8c22.js.map +0 -1
- package/amd/Dropdown-37339c89.js +0 -2
- package/amd/Dropdown-37339c89.js.map +0 -1
- package/amd/EnvironmentProvider-4597f540.js +0 -2
- package/amd/EnvironmentProvider-4597f540.js.map +0 -1
- package/amd/Flex-69dc7af4.js +0 -2
- package/amd/Flex-69dc7af4.js.map +0 -1
- package/amd/Floating-28ad0903.js +0 -2
- package/amd/Floating-28ad0903.js.map +0 -1
- package/amd/Grid-49beb801.js +0 -2
- package/amd/Grid-49beb801.js.map +0 -1
- package/amd/Gridlines-9ec65953.js +0 -2
- package/amd/Gridlines-9ec65953.js.map +0 -1
- package/amd/HighlightText-b020d84d.js +0 -2
- package/amd/HighlightText-b020d84d.js.map +0 -1
- package/amd/IconUserAssistance-b5075ca1.js +0 -2
- package/amd/IconUserAssistance-b5075ca1.js.map +0 -1
- package/amd/InputDatePicker-6af2a6a4.js +0 -2
- package/amd/InputDatePicker-6af2a6a4.js.map +0 -1
- package/amd/Layer-9fb9ca67.js +0 -2
- package/amd/Layer-9fb9ca67.js.map +0 -1
- package/amd/LayerHost-1b4d03f0.js +0 -2
- package/amd/LayerHost-1b4d03f0.js.map +0 -1
- package/amd/LayerManager-6c0b0eed.js +0 -2
- package/amd/LayerManager-6c0b0eed.js.map +0 -1
- package/amd/LineAreaChart-d6300aad.js +0 -2
- package/amd/LineAreaChart-d6300aad.js.map +0 -1
- package/amd/LineSeries-6b2d5fc5.js +0 -2
- package/amd/LineSeries-6b2d5fc5.js.map +0 -1
- package/amd/ListItemLayout-51e98343.js +0 -2
- package/amd/ListItemLayout-51e98343.js.map +0 -1
- package/amd/LiveRegion-345ac2a4.js +0 -2
- package/amd/LiveRegion-345ac2a4.js.map +0 -1
- package/amd/MaxLengthLiveRegion-7723b0df.js +0 -2
- package/amd/MaxLengthLiveRegion-7723b0df.js.map +0 -1
- package/amd/MessageLayer-4238a197.js +0 -2
- package/amd/MessageLayer-4238a197.js.map +0 -1
- package/amd/Modal-991f1310.js +0 -2
- package/amd/Modal-991f1310.js.map +0 -1
- package/amd/MonthView-1a60836e.js +0 -2
- package/amd/MonthView-1a60836e.js.map +0 -1
- package/amd/NavigationListItem-4a6857ae.js +0 -2
- package/amd/NavigationListItem-4a6857ae.js.map +0 -1
- package/amd/OverflowTabBar-d465fab5.js +0 -2
- package/amd/OverflowTabBar-d465fab5.js.map +0 -1
- package/amd/OverflowTabBarItem-e8bb4c0f.js +0 -2
- package/amd/OverflowTabBarItem-e8bb4c0f.js.map +0 -1
- package/amd/Popup-bba2ea15.js +0 -2
- package/amd/Popup-bba2ea15.js.map +0 -1
- package/amd/ProgressBar-4c24733e.js +0 -2
- package/amd/ProgressBar-4c24733e.js.map +0 -1
- package/amd/ProgressCircle-57ce7b94.js +0 -2
- package/amd/ProgressCircle-57ce7b94.js.map +0 -1
- package/amd/RemovableNavigationListItem-87e208e1.js +0 -2
- package/amd/RemovableNavigationListItem-87e208e1.js.map +0 -1
- package/amd/ReorderableTabBar-cdafd5b2.js +0 -2
- package/amd/ReorderableTabBar-cdafd5b2.js.map +0 -1
- package/amd/ScatterChart-de870222.js +0 -2
- package/amd/ScatterChart-de870222.js.map +0 -1
- package/amd/SectionedContent-d75017a3.js +0 -2
- package/amd/SectionedContent-d75017a3.js.map +0 -1
- package/amd/SelectionCard-baeadf9f.js +0 -2
- package/amd/SelectionCard-baeadf9f.js.map +0 -1
- package/amd/SelectorAll-344e3366.js +0 -2
- package/amd/SelectorAll-344e3366.js.map +0 -1
- package/amd/Sheet-f4665056.js +0 -2
- package/amd/Sheet-f4665056.js.map +0 -1
- package/amd/StyledCard-420ef03c.js +0 -2
- package/amd/StyledCard-420ef03c.js.map +0 -1
- package/amd/StyledLabelValueLayout-16380e6b.js +0 -2
- package/amd/StyledLabelValueLayout-16380e6b.js.map +0 -1
- package/amd/TabBar-8a0cbff2.js +0 -2
- package/amd/TabBar-8a0cbff2.js.map +0 -1
- package/amd/TabBarMixed-d4482b12.js +0 -2
- package/amd/TabBarMixed-d4482b12.js.map +0 -1
- package/amd/TabBarMixedSeparator-84722127.js +0 -2
- package/amd/TabBarMixedSeparator-84722127.js.map +0 -1
- package/amd/View-59fe568d.js +0 -2
- package/amd/View-59fe568d.js.map +0 -1
- package/amd/VisNoData-b60000bf.js +0 -2
- package/amd/VisNoData-b60000bf.js.map +0 -1
- package/amd/VisProgressiveLoader-c90f62c3.js +0 -2
- package/amd/VisProgressiveLoader-c90f62c3.js.map +0 -1
- package/amd/VisTabularDatatip-23cf3cfc.js +0 -2
- package/amd/VisTabularDatatip-23cf3cfc.js.map +0 -1
- package/amd/WindowOverlay-00523782.js +0 -2
- package/amd/WindowOverlay-00523782.js.map +0 -1
- package/amd/YearsGridView-b0b18b18.js +0 -2
- package/amd/YearsGridView-b0b18b18.js.map +0 -1
- package/amd/index-32a870a0.js +0 -2
- package/amd/index-32a870a0.js.map +0 -1
- package/amd/popupUtils-710dc910.js +0 -2
- package/amd/popupUtils-710dc910.js.map +0 -1
- package/amd/render-6d2dc229.js +0 -2
- package/amd/render-6d2dc229.js.map +0 -1
- package/amd/tabbableUtils-140cad66.js +0 -2
- package/amd/tabbableUtils-140cad66.js.map +0 -1
- package/amd/testData-bd34f137.js +0 -2
- package/amd/testData-bd34f137.js.map +0 -1
- package/amd/tooltipUtils-304eef18.js +0 -2
- package/amd/tooltipUtils-304eef18.js.map +0 -1
- package/amd/useChartDatatip-1f138781.js +0 -2
- package/amd/useChartDatatip-1f138781.js.map +0 -1
- package/amd/useColorScheme-8358a6c9.js +0 -2
- package/amd/useColorScheme-8358a6c9.js.map +0 -1
- package/amd/useCssVars-4d0eeaa3.js +0 -2
- package/amd/useCssVars-4d0eeaa3.js.map +0 -1
- package/amd/useCurrentBgColor-24e98c84.js +0 -2
- package/amd/useCurrentBgColor-24e98c84.js.map +0 -1
- package/amd/useCurrentKey-5a5ffb1e.js +0 -2
- package/amd/useCurrentKey-5a5ffb1e.js.map +0 -1
- package/amd/useDatatip-db874c22.js +0 -2
- package/amd/useDatatip-db874c22.js.map +0 -1
- package/amd/useDensity-2b757d02.js +0 -2
- package/amd/useDensity-2b757d02.js.map +0 -1
- package/amd/useFloating-c8c92f6f.js +0 -2
- package/amd/useFloating-c8c92f6f.js.map +0 -1
- package/amd/useKeyboardEvents-e66373bb.js +0 -2
- package/amd/useKeyboardEvents-e66373bb.js.map +0 -1
- package/amd/useMeterDatatip-8702ee6e.js +0 -2
- package/amd/useMeterDatatip-8702ee6e.js.map +0 -1
- package/amd/useOutsideClick-39a81428.js +0 -2
- package/amd/useOutsideClick-39a81428.js.map +0 -1
- package/amd/usePopupAnimation-7023407f.js +0 -2
- package/amd/usePopupAnimation-7023407f.js.map +0 -1
- package/amd/usePrefixSuffix-19a86824.js +0 -2
- package/amd/usePrefixSuffix-19a86824.js.map +0 -1
- package/amd/useReorderableItem-fa5fd0f4.js +0 -2
- package/amd/useReorderableItem-fa5fd0f4.js.map +0 -1
- package/amd/useRovingTabIndexContainer-6b89c886.js +0 -2
- package/amd/useRovingTabIndexContainer-6b89c886.js.map +0 -1
- package/amd/useScale-0fb08a15.js +0 -2
- package/amd/useScale-0fb08a15.js.map +0 -1
- package/amd/useSelectDrill-03c65602.js +0 -2
- package/amd/useSelectDrill-03c65602.js.map +0 -1
- package/amd/useSelection-4c8e905b.js +0 -2
- package/amd/useSelection-4c8e905b.js.map +0 -1
- package/amd/useSelection-569188b3.js +0 -2
- package/amd/useSelection-569188b3.js.map +0 -1
- package/amd/useTestId-d0c49456.js +0 -2
- package/amd/useTestId-d0c49456.js.map +0 -1
- package/amd/useTheme-915016ef.js +0 -2
- package/amd/useTheme-915016ef.js.map +0 -1
- package/amd/useThemeInterpolations-95e6f849.js +0 -2
- package/amd/useThemeInterpolations-95e6f849.js.map +0 -1
- package/amd/useTooltip-f7c1ad5c.js +0 -2
- package/amd/useTooltip-f7c1ad5c.js.map +0 -1
- package/amd/useTooltipOnTruncation-7a2a7106.js +0 -2
- package/amd/useTooltipOnTruncation-7a2a7106.js.map +0 -1
- package/amd/useTranslationBundle-652e08a6.js +0 -2
- package/amd/useTranslationBundle-652e08a6.js.map +0 -1
- package/amd/useUser-abae2493.js +0 -2
- package/amd/useUser-abae2493.js.map +0 -1
- package/amd/useVisEvents-a2e7394b.js +0 -2
- package/amd/useVisEvents-a2e7394b.js.map +0 -1
- package/amd/withDirectionIcon-194f3242.js +0 -2
- package/amd/withDirectionIcon-194f3242.js.map +0 -1
- package/cjs/BaseCardView-5ce88700.js +0 -687
- package/cjs/BaseCardView-5ce88700.js.map +0 -1
- package/cjs/CardFlexView-7cb060a4.js +0 -29
- package/cjs/CardFlexView-7cb060a4.js.map +0 -1
- package/cjs/CardGridView-619b8576.js +0 -17
- package/cjs/CardGridView-619b8576.js.map +0 -1
- package/cjs/CheckboxSet-3509aa56.js +0 -53
- package/cjs/CheckboxSet-3509aa56.js.map +0 -1
- package/cjs/Indexer-6f687670.js +0 -339
- package/cjs/Indexer-6f687670.js.map +0 -1
- package/cjs/List-9cf30b46.js +0 -722
- package/cjs/List-9cf30b46.js.map +0 -1
- package/cjs/ListView-1c7cb647.js +0 -430
- package/cjs/ListView-1c7cb647.js.map +0 -1
- package/cjs/LoadMoreCollection-69bc038c.js +0 -34
- package/cjs/LoadMoreCollection-69bc038c.js.map +0 -1
- package/cjs/MaxLengthCounter-9ab3f74b.js +0 -27
- package/cjs/MaxLengthCounter-9ab3f74b.js.map +0 -1
- package/cjs/SelectMultiple-bc3a3333.js +0 -1299
- package/cjs/SelectMultiple-bc3a3333.js.map +0 -1
- package/cjs/SelectSingle-0292841f.js +0 -732
- package/cjs/SelectSingle-0292841f.js.map +0 -1
- package/cjs/Table-cac0f4b6.js +0 -5499
- package/cjs/Table-cac0f4b6.js.map +0 -1
- package/cjs/TableView-edd7e48c.js +0 -33
- package/cjs/TableView-edd7e48c.js.map +0 -1
- package/cjs/TextArea-43ba72b8.js +0 -162
- package/cjs/TextArea-43ba72b8.js.map +0 -1
- package/cjs/TextAreaAutosize-05e6644a.js +0 -246
- package/cjs/TextAreaAutosize-05e6644a.js.map +0 -1
- package/cjs/VirtualizedCollection-9e8c48b9.js +0 -180
- package/cjs/VirtualizedCollection-9e8c48b9.js.map +0 -1
- package/cjs/VirtualizedListView-d9fce8ed.js +0 -16
- package/cjs/VirtualizedListView-d9fce8ed.js.map +0 -1
- package/cjs/useSelectCommon-78871095.js +0 -709
- package/cjs/useSelectCommon-78871095.js.map +0 -1
- package/es/BarChart-a39136c2.js +0 -179
- package/es/BarChart-a39136c2.js.map +0 -1
- package/es/BaseCardView-87a16541.js +0 -683
- package/es/BaseCardView-87a16541.js.map +0 -1
- package/es/BaseCardViewSelectionTest-639276bd.js +0 -721
- package/es/BaseCardViewSelectionTest-639276bd.js.map +0 -1
- package/es/Card-48705b23.js +0 -15
- package/es/Card-48705b23.js.map +0 -1
- package/es/CardFlexView-8149a998.js +0 -27
- package/es/CardFlexView-8149a998.js.map +0 -1
- package/es/CardGridView-4e967eaa.js +0 -15
- package/es/CardGridView-4e967eaa.js.map +0 -1
- package/es/Center-f5a074ea.js +0 -16
- package/es/Center-f5a074ea.js.map +0 -1
- package/es/Chart-cd1c9eb2.js +0 -491
- package/es/Chart-cd1c9eb2.js.map +0 -1
- package/es/ComboChart-1d1d46cc.js +0 -172
- package/es/ComboChart-1d1d46cc.js.map +0 -1
- package/es/CompactLabelAssistance-e6df8b6f.js +0 -34
- package/es/CompactLabelAssistance-e6df8b6f.js.map +0 -1
- package/es/DatePicker-f149bde7.js +0 -564
- package/es/DatePicker-f149bde7.js.map +0 -1
- package/es/Diagram-32842af8.js +0 -2035
- package/es/Diagram-32842af8.js.map +0 -1
- package/es/Dialog-dbd00dbd.js +0 -344
- package/es/Dialog-dbd00dbd.js.map +0 -1
- package/es/DragHandle-3010d22c.js +0 -22
- package/es/DragHandle-3010d22c.js.map +0 -1
- package/es/DrawerPopup-90be1472.js +0 -381
- package/es/DrawerPopup-90be1472.js.map +0 -1
- package/es/Dropdown-8936afb0.js +0 -80
- package/es/Dropdown-8936afb0.js.map +0 -1
- package/es/EnvironmentProvider-e6ce326b.js +0 -58
- package/es/EnvironmentProvider-e6ce326b.js.map +0 -1
- package/es/Flex-dce7c423.js +0 -30
- package/es/Flex-dce7c423.js.map +0 -1
- package/es/Floating-bd10e1bb.js +0 -462
- package/es/Floating-bd10e1bb.js.map +0 -1
- package/es/Grid-a92f6ff7.js +0 -27
- package/es/Grid-a92f6ff7.js.map +0 -1
- package/es/Gridlines-14e60b77.js +0 -168
- package/es/Gridlines-14e60b77.js.map +0 -1
- package/es/HighlightText-6fb192ee.js +0 -31
- package/es/HighlightText-6fb192ee.js.map +0 -1
- package/es/IconUserAssistance-bb4f169d.js +0 -73
- package/es/IconUserAssistance-bb4f169d.js.map +0 -1
- package/es/Indexer-80254b3c.js +0 -336
- package/es/Indexer-80254b3c.js.map +0 -1
- package/es/Layer-f309effc.js +0 -91
- package/es/Layer-f309effc.js.map +0 -1
- package/es/LayerHost-ca080d9a.js +0 -40
- package/es/LayerHost-ca080d9a.js.map +0 -1
- package/es/LayerManager-3e4e8d1a.js +0 -34
- package/es/LayerManager-3e4e8d1a.js.map +0 -1
- package/es/LineAreaChart-16cf6356.js +0 -170
- package/es/LineAreaChart-16cf6356.js.map +0 -1
- package/es/LineSeries-89d507a5.js +0 -109
- package/es/LineSeries-89d507a5.js.map +0 -1
- package/es/List-4e5ab994.js +0 -717
- package/es/List-4e5ab994.js.map +0 -1
- package/es/ListItemLayout-b580a2cb.js +0 -110
- package/es/ListItemLayout-b580a2cb.js.map +0 -1
- package/es/ListView-c8de746b.js +0 -428
- package/es/ListView-c8de746b.js.map +0 -1
- package/es/LiveRegion-7d6e9b93.js +0 -39
- package/es/LiveRegion-7d6e9b93.js.map +0 -1
- package/es/LoadMoreCollection-7df1be36.js +0 -31
- package/es/LoadMoreCollection-7df1be36.js.map +0 -1
- package/es/MaxLengthCounter-181b4fc9.js +0 -25
- package/es/MaxLengthCounter-181b4fc9.js.map +0 -1
- package/es/MaxLengthLiveRegion-3d6867c3.js +0 -23
- package/es/MaxLengthLiveRegion-3d6867c3.js.map +0 -1
- package/es/MessageLayer-707a3302.js +0 -58
- package/es/MessageLayer-707a3302.js.map +0 -1
- package/es/Modal-9bdb87a4.js +0 -274
- package/es/Modal-9bdb87a4.js.map +0 -1
- package/es/MonthView-7f913bb2.js +0 -208
- package/es/MonthView-7f913bb2.js.map +0 -1
- package/es/Popup-0b60095e.js +0 -258
- package/es/Popup-0b60095e.js.map +0 -1
- package/es/ProgressBar-717be5e8.js +0 -62
- package/es/ProgressBar-717be5e8.js.map +0 -1
- package/es/ProgressCircle-d75b0848.js +0 -48
- package/es/ProgressCircle-d75b0848.js.map +0 -1
- package/es/ScatterChart-8fa8ea38.js +0 -103
- package/es/ScatterChart-8fa8ea38.js.map +0 -1
- package/es/SectionedContent-89fd6108.js +0 -64
- package/es/SectionedContent-89fd6108.js.map +0 -1
- package/es/SelectMultiple-1e8a183a.js +0 -1297
- package/es/SelectMultiple-1e8a183a.js.map +0 -1
- package/es/SelectSingle-b66c3ae5.js +0 -730
- package/es/SelectSingle-b66c3ae5.js.map +0 -1
- package/es/SelectionCard-4cf71979.js +0 -16
- package/es/SelectionCard-4cf71979.js.map +0 -1
- package/es/SelectorAll-401564d3.js +0 -69
- package/es/SelectorAll-401564d3.js.map +0 -1
- package/es/Sheet-754bd0f0.js +0 -158
- package/es/Sheet-754bd0f0.js.map +0 -1
- package/es/StyledCard-2dc6d348.js +0 -105
- package/es/StyledCard-2dc6d348.js.map +0 -1
- package/es/StyledLabelValueLayout-f3d69ee8.js +0 -18
- package/es/StyledLabelValueLayout-f3d69ee8.js.map +0 -1
- package/es/TabBarMixedSeparator-dd80c7f2.js +0 -19
- package/es/TabBarMixedSeparator-dd80c7f2.js.map +0 -1
- package/es/Table-970adc38.js +0 -5497
- package/es/Table-970adc38.js.map +0 -1
- package/es/TableView-28ac0166.js +0 -31
- package/es/TableView-28ac0166.js.map +0 -1
- package/es/TextArea-9da8decd.js +0 -160
- package/es/TextArea-9da8decd.js.map +0 -1
- package/es/TextAreaAutosize-2e043744.js +0 -244
- package/es/TextAreaAutosize-2e043744.js.map +0 -1
- package/es/View-6941c4ec.js +0 -167
- package/es/View-6941c4ec.js.map +0 -1
- package/es/VirtualizedCollection-f048fbb8.js +0 -176
- package/es/VirtualizedCollection-f048fbb8.js.map +0 -1
- package/es/VirtualizedListView-aa8e6003.js +0 -14
- package/es/VirtualizedListView-aa8e6003.js.map +0 -1
- package/es/VisNoData-6c9dff1d.js +0 -32
- package/es/VisNoData-6c9dff1d.js.map +0 -1
- package/es/VisProgressiveLoader-af51c524.js +0 -51
- package/es/VisProgressiveLoader-af51c524.js.map +0 -1
- package/es/VisTabularDatatip-1aba2c3f.js +0 -24
- package/es/VisTabularDatatip-1aba2c3f.js.map +0 -1
- package/es/WindowOverlay-77a01a5a.js +0 -110
- package/es/WindowOverlay-77a01a5a.js.map +0 -1
- package/es/YearsGridView-38b7d276.js +0 -187
- package/es/YearsGridView-38b7d276.js.map +0 -1
- package/es/index-b52817d6.js +0 -11
- package/es/index-b52817d6.js.map +0 -1
- package/es/popupUtils-0d643529.js +0 -29
- package/es/popupUtils-0d643529.js.map +0 -1
- package/es/render-f43f5632.js +0 -34
- package/es/render-f43f5632.js.map +0 -1
- package/es/tabbableUtils-07dfa9ce.js +0 -79
- package/es/tabbableUtils-07dfa9ce.js.map +0 -1
- package/es/testData-75eb4f26.js +0 -256
- package/es/testData-75eb4f26.js.map +0 -1
- package/es/tooltipUtils-ae6aba72.js +0 -93
- package/es/tooltipUtils-ae6aba72.js.map +0 -1
- package/es/useChartDatatip-ae7cffcb.js +0 -165
- package/es/useChartDatatip-ae7cffcb.js.map +0 -1
- package/es/useColorScheme-831abf37.js +0 -19
- package/es/useColorScheme-831abf37.js.map +0 -1
- package/es/useCssVars-6295c03a.js +0 -58
- package/es/useCssVars-6295c03a.js.map +0 -1
- package/es/useCurrentBgColor-93b70106.js +0 -19
- package/es/useCurrentBgColor-93b70106.js.map +0 -1
- package/es/useCurrentKey-30089ba4.js +0 -81
- package/es/useCurrentKey-30089ba4.js.map +0 -1
- package/es/useDatatip-3f284ad3.js +0 -90
- package/es/useDatatip-3f284ad3.js.map +0 -1
- package/es/useDensity-2ca5177c.js +0 -19
- package/es/useDensity-2ca5177c.js.map +0 -1
- package/es/useFloating-b1378797.js +0 -1916
- package/es/useFloating-b1378797.js.map +0 -1
- package/es/useKeyboardEvents-7a19700e.js +0 -78
- package/es/useKeyboardEvents-7a19700e.js.map +0 -1
- package/es/useMeterDatatip-814ca87d.js +0 -73
- package/es/useMeterDatatip-814ca87d.js.map +0 -1
- package/es/useOutsideClick-d0b44256.js +0 -101
- package/es/useOutsideClick-d0b44256.js.map +0 -1
- package/es/usePopupAnimation-0c5517c7.js +0 -85
- package/es/usePopupAnimation-0c5517c7.js.map +0 -1
- package/es/usePrefixSuffix-28d8172f.js +0 -70
- package/es/usePrefixSuffix-28d8172f.js.map +0 -1
- package/es/useReorderableItem-abc9c68c.js +0 -268
- package/es/useReorderableItem-abc9c68c.js.map +0 -1
- package/es/useRovingTabIndexContainer-d8dcffff.js +0 -98
- package/es/useRovingTabIndexContainer-d8dcffff.js.map +0 -1
- package/es/useScale-c315e304.js +0 -19
- package/es/useScale-c315e304.js.map +0 -1
- package/es/useSelectCommon-410eeffd.js +0 -686
- package/es/useSelectCommon-410eeffd.js.map +0 -1
- package/es/useSelectDrill-9eb9b7fa.js +0 -104
- package/es/useSelectDrill-9eb9b7fa.js.map +0 -1
- package/es/useSelection-534b1fa0.js +0 -186
- package/es/useSelection-534b1fa0.js.map +0 -1
- package/es/useSelection-5375aa2e.js +0 -239
- package/es/useSelection-5375aa2e.js.map +0 -1
- package/es/useTestId-014cca7c.js +0 -21
- package/es/useTestId-014cca7c.js.map +0 -1
- package/es/useTheme-a4243428.js +0 -19
- package/es/useTheme-a4243428.js.map +0 -1
- package/es/useThemeInterpolations-93048af6.js +0 -57
- package/es/useThemeInterpolations-93048af6.js.map +0 -1
- package/es/useTooltip-d4dfd848.js +0 -424
- package/es/useTooltip-d4dfd848.js.map +0 -1
- package/es/useTooltipOnTruncation-82d93e22.js +0 -27
- package/es/useTooltipOnTruncation-82d93e22.js.map +0 -1
- package/es/useTranslationBundle-29a1abb3.js +0 -29
- package/es/useTranslationBundle-29a1abb3.js.map +0 -1
- package/es/useUser-9c8d0e57.js +0 -19
- package/es/useUser-9c8d0e57.js.map +0 -1
- package/es/useVisEvents-45115f09.js +0 -153
- package/es/useVisEvents-45115f09.js.map +0 -1
- package/es/withDirectionIcon-70ce263c.js +0 -14
- package/es/withDirectionIcon-70ce263c.js.map +0 -1
package/es/Diagram-32842af8.js
DELETED
|
@@ -1,2035 +0,0 @@
|
|
|
1
|
-
/* @oracle/oraclejet-preact: undefined */
|
|
2
|
-
import { jsx, jsxs, Fragment } from 'preact/jsx-runtime';
|
|
3
|
-
import { T as TrackResizeContainer } from './TrackResizeContainer-04a2c642.js';
|
|
4
|
-
import { itemStyles, layerStyles, labelStyles, panZoomStyles, outerStyles, dimensionStyle } from './UNSAFE_Diagram/themes/DiagramStyles.css.js';
|
|
5
|
-
import { u as useResizeObserver } from './useResizeObserver-838164c1.js';
|
|
6
|
-
import { useRef, useCallback, useState } from 'preact/hooks';
|
|
7
|
-
import { g as generateAriaLabel } from './accUtils-ce2d6588.js';
|
|
8
|
-
import { c as classNames } from './classNames-4e12b00d.js';
|
|
9
|
-
import { u as useTranslationBundle } from './useTranslationBundle-29a1abb3.js';
|
|
10
|
-
import { u as useUser } from './useUser-9c8d0e57.js';
|
|
11
|
-
import { g as getRandomId, c as calculateOffset } from './layoutUtils-d7613d0c.js';
|
|
12
|
-
import { u as useVisHover } from './useVisHover-d7a0b2f3.js';
|
|
13
|
-
import { m as mergeProps } from './mergeProps-88ea8306.js';
|
|
14
|
-
import { u as useDatatip } from './useDatatip-3f284ad3.js';
|
|
15
|
-
import { u as useTextDimensions } from './useTextDimensions-e08928cc.js';
|
|
16
|
-
import { i as isTouch } from './clientUtils-0df8cb15.js';
|
|
17
|
-
import { u as useVisDragModeControls } from './useVisDragModeControls-13a8e826.js';
|
|
18
|
-
import { u as useSelection } from './useSelection-534b1fa0.js';
|
|
19
|
-
import { u as useVisTouchResponse } from './useVisTouchResponse-a59ab166.js';
|
|
20
|
-
import { m as merge } from './stringUtils-16f617bc.js';
|
|
21
|
-
|
|
22
|
-
const ZOOM_TO_FIT_PADDING = 20;
|
|
23
|
-
/**
|
|
24
|
-
* Returns the pan properties for the diagram.
|
|
25
|
-
*/
|
|
26
|
-
function getPanProps(props, contentBounds, userDragMode, isDeviceTouch) {
|
|
27
|
-
return {
|
|
28
|
-
panning: isDeviceTouch
|
|
29
|
-
? userDragMode === 'pan' && props.panning
|
|
30
|
-
? props.panning
|
|
31
|
-
: 'off'
|
|
32
|
-
: props.panning
|
|
33
|
-
? props.panning
|
|
34
|
-
: 'off',
|
|
35
|
-
panDirection: props.panDirection ? props.panDirection : 'any',
|
|
36
|
-
centerX: props.centerX !== undefined ? props.centerX : contentBounds.w / 2 + contentBounds.x,
|
|
37
|
-
centerY: props.centerY !== undefined ? props.centerY : contentBounds.h / 2 + contentBounds.y,
|
|
38
|
-
onPan: props.onPan
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Returns the zoom properties for the diagram.
|
|
43
|
-
*/
|
|
44
|
-
function getZoomProps(props, width, height, contentBounds) {
|
|
45
|
-
const zoomTofitZoom = getZoomToFitZoom(width, height, contentBounds);
|
|
46
|
-
const maxZoom = props.maxZoom || 1;
|
|
47
|
-
const minZoom = props.minZoom || Math.min(maxZoom, zoomTofitZoom);
|
|
48
|
-
const zoom = props.zoomValue ? props.zoomValue : zoomTofitZoom;
|
|
49
|
-
return {
|
|
50
|
-
zooming: props.zooming ? props.zooming : 'off',
|
|
51
|
-
// default value of 0 indicates zoom-to-fit level
|
|
52
|
-
minZoom: minZoom,
|
|
53
|
-
maxZoom: maxZoom,
|
|
54
|
-
// zoom value of 0 will default to zoom to fit
|
|
55
|
-
zoomValue: constrainZoom(zoom, minZoom, maxZoom),
|
|
56
|
-
onZoom: props.onZoom
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Constructs the json object to be passed into the layout function
|
|
61
|
-
*/
|
|
62
|
-
function constructLayoutJSON(nodes, nodeItems, linkItems, dimensions, width, height, getTextDimensions) {
|
|
63
|
-
const labelDims = new Map();
|
|
64
|
-
const nodeKeys = Array.from(nodeItems.keys());
|
|
65
|
-
for (const id of nodeKeys) {
|
|
66
|
-
const item = nodeItems.get(id);
|
|
67
|
-
if (item && getTextDimensions && item.label) {
|
|
68
|
-
const label = item.label;
|
|
69
|
-
const fontProps = _getFontProps(item.labelStyle);
|
|
70
|
-
labelDims.set(id, getTextDimensions(label, fontProps));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
const linkKeys = Array.from(linkItems.keys());
|
|
74
|
-
for (const id of linkKeys) {
|
|
75
|
-
const item = linkItems.get(id);
|
|
76
|
-
if (item && getTextDimensions && item.label) {
|
|
77
|
-
const label = item.label;
|
|
78
|
-
const fontProps = _getFontProps(item.labelStyle);
|
|
79
|
-
labelDims.set(id, getTextDimensions(label, fontProps));
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
const getLabelDimensions = function (data) {
|
|
83
|
-
return labelDims.get(data.id);
|
|
84
|
-
};
|
|
85
|
-
const getNodeDimensions = function (data) {
|
|
86
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
87
|
-
if (data.id === nodes[i].id) {
|
|
88
|
-
return dimensions[i];
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return dimensions[0];
|
|
92
|
-
};
|
|
93
|
-
return {
|
|
94
|
-
layoutJSON: {
|
|
95
|
-
getNodeDimensions: getNodeDimensions,
|
|
96
|
-
getLabelDimensions: getLabelDimensions,
|
|
97
|
-
componentSize: {
|
|
98
|
-
width: width,
|
|
99
|
-
height: height
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
labelDims: labelDims
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Deconstructs the output of the layout function
|
|
107
|
-
*/
|
|
108
|
-
function deconstructLayoutJSON(layoutJSON, nodeData, linkData) {
|
|
109
|
-
const nodes = layoutJSON.nodes;
|
|
110
|
-
const links = layoutJSON.links;
|
|
111
|
-
const positions = [];
|
|
112
|
-
const nodeLabelPos = [];
|
|
113
|
-
const linkLabelPos = [];
|
|
114
|
-
let hasNodeLabels = false;
|
|
115
|
-
let hasLinkLabels = false;
|
|
116
|
-
let node, link;
|
|
117
|
-
for (let i = 0; i < nodeData.length; i++) {
|
|
118
|
-
node = nodes[nodeData[i].id];
|
|
119
|
-
positions.push(node.position);
|
|
120
|
-
if (node.label)
|
|
121
|
-
hasNodeLabels = true;
|
|
122
|
-
nodeLabelPos.push(node.label);
|
|
123
|
-
}
|
|
124
|
-
if (links) {
|
|
125
|
-
for (let i = 0; i < linkData.length; i++) {
|
|
126
|
-
link = links[linkData[i].id];
|
|
127
|
-
if (link.label)
|
|
128
|
-
hasLinkLabels = true;
|
|
129
|
-
linkLabelPos.push(link.label);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
return {
|
|
133
|
-
nodePoints: positions,
|
|
134
|
-
nodeLabelPos: hasNodeLabels ? nodeLabelPos : undefined,
|
|
135
|
-
linkLabelPos: hasLinkLabels ? linkLabelPos : undefined
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Merges the node points into the dimensions
|
|
140
|
-
*/
|
|
141
|
-
function mergeDimensions(dimensions, nodePoints) {
|
|
142
|
-
const newBounds = [];
|
|
143
|
-
for (let i = 0; i < dimensions.length; i++) {
|
|
144
|
-
const point = nodePoints[i];
|
|
145
|
-
const dim = dimensions[i];
|
|
146
|
-
newBounds.push({ x: point.x, y: point.y, w: dim.w, h: dim.h });
|
|
147
|
-
}
|
|
148
|
-
return newBounds;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Deep equality check for whether two arrays of bounds are the same
|
|
152
|
-
*/
|
|
153
|
-
function isEqualBounds(bounds1, bounds2) {
|
|
154
|
-
if (bounds1.length !== bounds2.length)
|
|
155
|
-
return false;
|
|
156
|
-
return bounds1.every(({ x, y, w, h }, i) => bounds2[i].x === x && bounds2[i].y === y && bounds2[i].w === w && bounds2[i].h === h);
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Returns the text for the diagram datatip.
|
|
160
|
-
*/
|
|
161
|
-
function getDatatipContent(nodesMap, linksMap, focusedItem, hoveredItem, datatip) {
|
|
162
|
-
let itemInfo;
|
|
163
|
-
const isPointerActive = hoveredItem?.isCurrent;
|
|
164
|
-
if (isPointerActive && hoveredItem.id != null) {
|
|
165
|
-
itemInfo = hoveredItem;
|
|
166
|
-
}
|
|
167
|
-
if (focusedItem && focusedItem.isCurrent) {
|
|
168
|
-
itemInfo = focusedItem;
|
|
169
|
-
}
|
|
170
|
-
if (itemInfo && datatip) {
|
|
171
|
-
return datatip(itemInfo.isNode
|
|
172
|
-
? { data: nodesMap.get(itemInfo.id), type: 'node' }
|
|
173
|
-
: { data: linksMap.get(itemInfo.id), type: 'link' });
|
|
174
|
-
}
|
|
175
|
-
if (itemInfo) {
|
|
176
|
-
const text = (itemInfo.isNode ? nodesMap.get(itemInfo.id) : linksMap.get(itemInfo.id))?.accessibleLabel;
|
|
177
|
-
return {
|
|
178
|
-
content: text
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Creates a map with key id and value node or link data
|
|
185
|
-
*/
|
|
186
|
-
function createItemMap(items) {
|
|
187
|
-
const itemIdToDataMap = new Map();
|
|
188
|
-
const itemIdToIndexMap = new Map();
|
|
189
|
-
const itemIndexToIdMap = new Map();
|
|
190
|
-
for (let i = 0; i < items.length; i++) {
|
|
191
|
-
itemIdToDataMap.set(items[i].id, items[i]);
|
|
192
|
-
itemIdToIndexMap.set(items[i].id, i);
|
|
193
|
-
itemIndexToIdMap.set(i, items[i].id);
|
|
194
|
-
}
|
|
195
|
-
return {
|
|
196
|
-
itemIdToDataMap,
|
|
197
|
-
itemIdToIndexMap,
|
|
198
|
-
itemIndexToIdMap
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Filter out links with no start or end nodes
|
|
203
|
-
*/
|
|
204
|
-
function filterLinksWithNoEndNodes(links, nodesMap) {
|
|
205
|
-
const newLinks = [];
|
|
206
|
-
for (let i = 0; i < links.length; i++) {
|
|
207
|
-
const link = links[i];
|
|
208
|
-
if (nodesMap.get(link.startNode) && nodesMap.get(link.endNode)) {
|
|
209
|
-
newLinks.push(link);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
return newLinks;
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Pulls out the dimensions from an array of bounds
|
|
216
|
-
*/
|
|
217
|
-
function getDimensionsFromBounds(bounds) {
|
|
218
|
-
const dims = [];
|
|
219
|
-
for (let i = 0; i < bounds.length; i++) {
|
|
220
|
-
dims.push({ w: bounds[i].w, h: bounds[i].h });
|
|
221
|
-
}
|
|
222
|
-
return dims;
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Returns the center position of the node or link
|
|
226
|
-
* For links, draws a straight line between the centers of the start/end node
|
|
227
|
-
* and returns the center of that line
|
|
228
|
-
*/
|
|
229
|
-
function getFocusedItemBounds(focusedItemInfo, bounds, links, nodeIdToIndexMap, linkIdToIndexMap) {
|
|
230
|
-
if (focusedItemInfo.isNode) {
|
|
231
|
-
const idx = nodeIdToIndexMap.get(focusedItemInfo.id);
|
|
232
|
-
// Return the first element if cannot find the Node index
|
|
233
|
-
return bounds[idx || 0];
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
// Center of a straight line between start/end node centers
|
|
237
|
-
const link = links[linkIdToIndexMap.get(focusedItemInfo.id) || 0];
|
|
238
|
-
const startNB = bounds[nodeIdToIndexMap.get(link.startNode) || 0];
|
|
239
|
-
const endNB = bounds[nodeIdToIndexMap.get(link.endNode) || 0];
|
|
240
|
-
const startNCenter = { x: startNB.x + startNB.w / 2, y: startNB.y + startNB.h / 2 };
|
|
241
|
-
const endNCenter = { x: endNB.x + endNB.w / 2, y: endNB.y + endNB.h / 2 };
|
|
242
|
-
const minX = Math.min(startNCenter.x, endNCenter.x);
|
|
243
|
-
const minY = Math.min(startNCenter.y, endNCenter.y);
|
|
244
|
-
return {
|
|
245
|
-
x: minX,
|
|
246
|
-
y: minY,
|
|
247
|
-
w: Math.abs(startNCenter.x - endNCenter.x),
|
|
248
|
-
h: Math.abs(startNCenter.y - endNCenter.y)
|
|
249
|
-
};
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Combines the node and link ids into one array
|
|
254
|
-
*/
|
|
255
|
-
function combineIds(nodeIds, linkIds) {
|
|
256
|
-
const combinedIds = [];
|
|
257
|
-
if (nodeIds) {
|
|
258
|
-
for (let i = 0; i < nodeIds.length; i++) {
|
|
259
|
-
combinedIds.push(nodeIds[i]);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
if (linkIds) {
|
|
263
|
-
for (let i = 0; i < linkIds.length; i++) {
|
|
264
|
-
combinedIds.push(linkIds[i]);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
return combinedIds;
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Returns the bounds of the diagram content
|
|
271
|
-
*/
|
|
272
|
-
function getContentBounds(nodeBounds, labelBounds) {
|
|
273
|
-
if (nodeBounds.length === 0)
|
|
274
|
-
return { x: 0, w: Infinity, y: 0, h: Infinity };
|
|
275
|
-
let minX = Infinity;
|
|
276
|
-
let minY = Infinity;
|
|
277
|
-
let maxX = -Infinity;
|
|
278
|
-
let maxY = -Infinity;
|
|
279
|
-
let dims;
|
|
280
|
-
for (let i = 0; i < nodeBounds.length; i++) {
|
|
281
|
-
dims = nodeBounds[i];
|
|
282
|
-
minX = dims.x < minX ? dims.x : minX;
|
|
283
|
-
minY = dims.y < minY ? dims.y : minY;
|
|
284
|
-
maxX = dims.x + dims.w > maxX ? dims.x + dims.w : maxX;
|
|
285
|
-
maxY = dims.y + dims.h > maxY ? dims.y + dims.h : maxY;
|
|
286
|
-
}
|
|
287
|
-
if (labelBounds) {
|
|
288
|
-
minX = labelBounds.x < minX ? labelBounds.x : minX;
|
|
289
|
-
minY = labelBounds.y < minY ? labelBounds.y : minY;
|
|
290
|
-
maxX = labelBounds.x + labelBounds.w > maxX ? labelBounds.x + labelBounds.w : maxX;
|
|
291
|
-
maxY = labelBounds.y + labelBounds.h > maxY ? labelBounds.y + labelBounds.h : maxY;
|
|
292
|
-
}
|
|
293
|
-
return { x: minX, w: maxX - minX, y: minY, h: maxY - minY };
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* Returns the label bounds
|
|
297
|
-
*/
|
|
298
|
-
function getAllLabelBounds(labelDims, nodes, links, nodeLabelPos = [], linkLabelPos = [], isRTL) {
|
|
299
|
-
if (nodeLabelPos.length === 0 && linkLabelPos.length === 0)
|
|
300
|
-
return undefined;
|
|
301
|
-
let minX = Infinity;
|
|
302
|
-
let minY = Infinity;
|
|
303
|
-
let maxX = -Infinity;
|
|
304
|
-
let maxY = -Infinity;
|
|
305
|
-
let dims, label;
|
|
306
|
-
for (let i = 0; i < nodeLabelPos.length; i++) {
|
|
307
|
-
label = nodeLabelPos[i];
|
|
308
|
-
if (!label)
|
|
309
|
-
continue;
|
|
310
|
-
dims = getLabelBounds(label, labelDims.get(nodes[i].id), isRTL);
|
|
311
|
-
minX = dims.x < minX ? dims.x : minX;
|
|
312
|
-
minY = dims.y < minY ? dims.y : minY;
|
|
313
|
-
maxX = dims.x + dims.w > maxX ? dims.x + dims.w : maxX;
|
|
314
|
-
maxY = dims.y + dims.h > maxY ? dims.y + dims.h : maxY;
|
|
315
|
-
}
|
|
316
|
-
for (let i = 0; i < linkLabelPos.length; i++) {
|
|
317
|
-
label = linkLabelPos[i];
|
|
318
|
-
if (!label)
|
|
319
|
-
continue;
|
|
320
|
-
dims = getLabelBounds(label, labelDims.get(links[i].id), isRTL);
|
|
321
|
-
minX = dims.x < minX ? dims.x : minX;
|
|
322
|
-
minY = dims.y < minY ? dims.y : minY;
|
|
323
|
-
maxX = dims.x + dims.w > maxX ? dims.x + dims.w : maxX;
|
|
324
|
-
maxY = dims.y + dims.h > maxY ? dims.y + dims.h : maxY;
|
|
325
|
-
}
|
|
326
|
-
return { x: minX, w: maxX - minX, y: minY, h: maxY - minY };
|
|
327
|
-
}
|
|
328
|
-
function getLabelBounds(label, dims, isRTL) {
|
|
329
|
-
const labelPos = getLabelPosition(dims, label, isRTL);
|
|
330
|
-
const isRotating = label.rotationAngle;
|
|
331
|
-
if (!isRotating) {
|
|
332
|
-
return { x: labelPos.x, y: labelPos.y, w: dims.width, h: dims.height };
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
// Find the 4 corners of the label bounds relative to the rotation point
|
|
336
|
-
const rotationPoint = label.rotationPoint
|
|
337
|
-
? label.rotationPoint
|
|
338
|
-
: { x: dims.width / 2, y: dims.height / 2 };
|
|
339
|
-
const angle = label.rotationAngle;
|
|
340
|
-
const topLeft = getCoordsRelToRotPoint({ x: 0, y: 0 }, rotationPoint);
|
|
341
|
-
const topRight = getCoordsRelToRotPoint({ x: dims.width, y: 0 }, rotationPoint);
|
|
342
|
-
const bottomLeft = getCoordsRelToRotPoint({ x: 0, y: dims.height }, rotationPoint);
|
|
343
|
-
const bottomRight = getCoordsRelToRotPoint({ x: dims.width, y: dims.height }, rotationPoint);
|
|
344
|
-
const rotTopLeft = rotatePoint(topLeft, angle);
|
|
345
|
-
const rotBotLeft = rotatePoint(bottomLeft, angle);
|
|
346
|
-
const rotTopRight = rotatePoint(topRight, angle);
|
|
347
|
-
const rotBotRight = rotatePoint(bottomRight, angle);
|
|
348
|
-
const points = [rotTopLeft, rotBotLeft, rotTopRight, rotBotRight].map((pos) => {
|
|
349
|
-
return {
|
|
350
|
-
x: pos.x + labelPos.x + rotationPoint.x,
|
|
351
|
-
y: pos.y + labelPos.y + rotationPoint.y
|
|
352
|
-
};
|
|
353
|
-
});
|
|
354
|
-
return getBoundsFromPoints(points);
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
function getCoordsRelToRotPoint(labelPoint, rotPoint) {
|
|
358
|
-
return { x: labelPoint.x - rotPoint.x, y: labelPoint.y - rotPoint.y };
|
|
359
|
-
}
|
|
360
|
-
function rotatePoint(pos, angle) {
|
|
361
|
-
return {
|
|
362
|
-
x: pos.x * Math.cos(angle) - pos.y * Math.sin(angle),
|
|
363
|
-
y: pos.x * Math.sin(angle) + pos.y * Math.cos(angle)
|
|
364
|
-
};
|
|
365
|
-
}
|
|
366
|
-
function getBoundsFromPoints(points) {
|
|
367
|
-
let minX = points[0].x;
|
|
368
|
-
let minY = points[0].y;
|
|
369
|
-
let maxX = points[0].x;
|
|
370
|
-
let maxY = points[0].y;
|
|
371
|
-
for (let i = 1; i < points.length; i++) {
|
|
372
|
-
const point = points[i];
|
|
373
|
-
if (point.x < minX)
|
|
374
|
-
minX = point.x;
|
|
375
|
-
else if (point.x > maxX)
|
|
376
|
-
maxX = point.x;
|
|
377
|
-
if (point.y < minY)
|
|
378
|
-
minY = point.y;
|
|
379
|
-
else if (point.y > maxY)
|
|
380
|
-
maxY = point.y;
|
|
381
|
-
}
|
|
382
|
-
return {
|
|
383
|
-
x: minX,
|
|
384
|
-
y: minY,
|
|
385
|
-
w: maxX - minX,
|
|
386
|
-
h: maxY - minY
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
/**
|
|
390
|
-
* Returns the position of the label
|
|
391
|
-
* @param dimensions
|
|
392
|
-
* @param positionProps
|
|
393
|
-
* @returns position of the label
|
|
394
|
-
*/
|
|
395
|
-
function getLabelPosition(dimensions, positionProps, isRTL) {
|
|
396
|
-
const position = positionProps.position;
|
|
397
|
-
const hAlign = positionProps.hAlign ? positionProps.hAlign : isRTL ? 'right' : 'left';
|
|
398
|
-
const vAlign = positionProps.vAlign;
|
|
399
|
-
let x, y;
|
|
400
|
-
if (hAlign === 'center') {
|
|
401
|
-
x = position.x - dimensions.width / 2;
|
|
402
|
-
}
|
|
403
|
-
else if (hAlign === 'right') {
|
|
404
|
-
x = position.x - dimensions.width;
|
|
405
|
-
}
|
|
406
|
-
else {
|
|
407
|
-
x = position.x;
|
|
408
|
-
}
|
|
409
|
-
if (vAlign === 'middle') {
|
|
410
|
-
y = position.y - dimensions.height / 2;
|
|
411
|
-
}
|
|
412
|
-
else if (vAlign === 'bottom') {
|
|
413
|
-
y = position.y - dimensions.height;
|
|
414
|
-
}
|
|
415
|
-
else if (vAlign === 'baseline') {
|
|
416
|
-
y = position.y + dimensions.y;
|
|
417
|
-
}
|
|
418
|
-
else {
|
|
419
|
-
y = position.y;
|
|
420
|
-
}
|
|
421
|
-
return {
|
|
422
|
-
x: x,
|
|
423
|
-
y: y
|
|
424
|
-
};
|
|
425
|
-
}
|
|
426
|
-
/**
|
|
427
|
-
* Converts centerX,Y coordinates to panX,Y coordinates
|
|
428
|
-
*/
|
|
429
|
-
function centerXYToPanXY(centerX, centerY, zoom, width, height) {
|
|
430
|
-
return {
|
|
431
|
-
panX: width / 2 - centerX * zoom,
|
|
432
|
-
panY: height / 2 - centerY * zoom
|
|
433
|
-
};
|
|
434
|
-
}
|
|
435
|
-
/**
|
|
436
|
-
* Converts panX,Y coordinates to centerX,Y coordinates
|
|
437
|
-
*/
|
|
438
|
-
function panXYToCenterXY(panX, panY, zoom, width, height) {
|
|
439
|
-
return {
|
|
440
|
-
centerX: (width / 2 - panX) / zoom,
|
|
441
|
-
centerY: (height / 2 - panY) / zoom
|
|
442
|
-
};
|
|
443
|
-
}
|
|
444
|
-
/**
|
|
445
|
-
* Compares if two ItemInfo are equal
|
|
446
|
-
*/
|
|
447
|
-
function isEqualItem(item1, item2) {
|
|
448
|
-
return item1?.id === item2?.id && item1?.isNode === item2?.isNode;
|
|
449
|
-
}
|
|
450
|
-
/**
|
|
451
|
-
* Returns the item info of the data-oj-node or data-oj-link attribute for a given element.
|
|
452
|
-
*/
|
|
453
|
-
function getNavigableInfo(element, rootElementRef) {
|
|
454
|
-
let isNode = false;
|
|
455
|
-
let elem = element;
|
|
456
|
-
let navigableId;
|
|
457
|
-
while (!navigableId) {
|
|
458
|
-
navigableId = elem.dataset['node'];
|
|
459
|
-
if (navigableId) {
|
|
460
|
-
isNode = true;
|
|
461
|
-
}
|
|
462
|
-
else {
|
|
463
|
-
navigableId = elem.dataset['link'];
|
|
464
|
-
}
|
|
465
|
-
if (!navigableId) {
|
|
466
|
-
if (elem.parentElement && elem.parentElement !== rootElementRef?.current) {
|
|
467
|
-
elem = elem.parentElement;
|
|
468
|
-
}
|
|
469
|
-
else {
|
|
470
|
-
break;
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
return {
|
|
475
|
-
id: navigableId,
|
|
476
|
-
isNode: isNode
|
|
477
|
-
};
|
|
478
|
-
}
|
|
479
|
-
/**
|
|
480
|
-
* Returns the aria label
|
|
481
|
-
*/
|
|
482
|
-
function getItemAriaLabel(translations, supportsSelection, isSelected, accessibleLabel) {
|
|
483
|
-
return generateAriaLabel(translations, accessibleLabel || '', {
|
|
484
|
-
isSelected: !supportsSelection ? undefined : isSelected
|
|
485
|
-
});
|
|
486
|
-
}
|
|
487
|
-
/**
|
|
488
|
-
* Returns the zoom to fit zoom level
|
|
489
|
-
*/
|
|
490
|
-
function getZoomToFitZoom(width, height, contentBounds) {
|
|
491
|
-
const zoomX = (width - 2 * ZOOM_TO_FIT_PADDING) / contentBounds.w;
|
|
492
|
-
const zoomY = (height - 2 * ZOOM_TO_FIT_PADDING) / contentBounds.h;
|
|
493
|
-
return Math.min(zoomX, zoomY);
|
|
494
|
-
}
|
|
495
|
-
/**
|
|
496
|
-
* Constrains the zoom level
|
|
497
|
-
*/
|
|
498
|
-
function constrainZoom(zoom, minZoom, maxZoom) {
|
|
499
|
-
let newZoom = Math.max(minZoom, zoom);
|
|
500
|
-
newZoom = Math.min(maxZoom, newZoom);
|
|
501
|
-
return newZoom;
|
|
502
|
-
}
|
|
503
|
-
/**
|
|
504
|
-
* Returns the font props for a node or link
|
|
505
|
-
*/
|
|
506
|
-
function _getFontProps(styles) {
|
|
507
|
-
const fontProps = {};
|
|
508
|
-
if (!styles)
|
|
509
|
-
return fontProps;
|
|
510
|
-
if (styles.fontFamily)
|
|
511
|
-
fontProps.fontFamily = styles.fontFamily;
|
|
512
|
-
if (styles.fontSize)
|
|
513
|
-
fontProps.fontSize = styles.fontSize;
|
|
514
|
-
if (styles.fontStyle)
|
|
515
|
-
fontProps.fontStyle = styles.fontStyle;
|
|
516
|
-
if (styles.fontWeight)
|
|
517
|
-
fontProps.fontWeight = styles.fontWeight;
|
|
518
|
-
return fontProps;
|
|
519
|
-
}
|
|
520
|
-
/**
|
|
521
|
-
* Returns the panX, panY, and zoom when zooming and centering an item
|
|
522
|
-
*/
|
|
523
|
-
function zoomAndCenterItemFromInfo(info, linkIdToDataMap, bounds, nodeIdToIndex, width, height, maxZoom) {
|
|
524
|
-
const isNode = info.isNode;
|
|
525
|
-
let totalBounds;
|
|
526
|
-
if (isNode) {
|
|
527
|
-
const nodeIndex = nodeIdToIndex.get(info.id);
|
|
528
|
-
totalBounds = bounds[nodeIndex];
|
|
529
|
-
}
|
|
530
|
-
else {
|
|
531
|
-
const link = linkIdToDataMap.get(info.id);
|
|
532
|
-
const startNodeBounds = bounds[nodeIdToIndex.get(link.startNode)];
|
|
533
|
-
const endNodeBounds = bounds[nodeIdToIndex.get(link.endNode)];
|
|
534
|
-
const minX = Math.min(startNodeBounds.x, endNodeBounds.x);
|
|
535
|
-
const minY = Math.min(startNodeBounds.y, endNodeBounds.y);
|
|
536
|
-
const maxX = Math.max(startNodeBounds.x + startNodeBounds.w, endNodeBounds.x + startNodeBounds.w);
|
|
537
|
-
const maxY = Math.max(startNodeBounds.y + startNodeBounds.h, endNodeBounds.y + endNodeBounds.h);
|
|
538
|
-
totalBounds = { x: minX, y: minY, w: maxX - minX, h: maxY - minY };
|
|
539
|
-
}
|
|
540
|
-
return getPanZoomToCenterNode(totalBounds, maxZoom, width, height);
|
|
541
|
-
}
|
|
542
|
-
/**
|
|
543
|
-
* Returns the pan and zoom values in order
|
|
544
|
-
* to center a node or link
|
|
545
|
-
*/
|
|
546
|
-
function getPanZoomToCenterNode(bounds, maxZoom, width, height) {
|
|
547
|
-
const zoomX = (width - 2 * ZOOM_TO_FIT_PADDING) / bounds.w;
|
|
548
|
-
const zoomY = (height - 2 * ZOOM_TO_FIT_PADDING) / bounds.h;
|
|
549
|
-
const zoom = Math.min(zoomX, zoomY, maxZoom);
|
|
550
|
-
const cX = bounds.w / 2 + bounds.x;
|
|
551
|
-
const cY = bounds.h / 2 + bounds.y;
|
|
552
|
-
return { centerX: cX, centerY: cY, zoom: zoom };
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
const DiagramNodeElement = ({ id, state, previousState, position, activeId, nodeRenderer, onNodeSizeChanged, nodeIndex, data, accessibleLabel, isDimmed, supportsSelection }) => {
|
|
556
|
-
const { nodeStyles, dimmedItemStyle } = itemStyles;
|
|
557
|
-
const context = {
|
|
558
|
-
state: state,
|
|
559
|
-
previousState: previousState,
|
|
560
|
-
data: data
|
|
561
|
-
};
|
|
562
|
-
const translations = useTranslationBundle('@oracle/oraclejet-preact');
|
|
563
|
-
const ref = useRef(null);
|
|
564
|
-
// TODO JET-62472 change to one resize observer function
|
|
565
|
-
const optionsRef = useRef({ box: 'border-box' });
|
|
566
|
-
useResizeObserver(ref, useCallback((entry) => {
|
|
567
|
-
const boxSize = entry.borderBoxSize;
|
|
568
|
-
const width = boxSize[0].inlineSize;
|
|
569
|
-
const height = boxSize[0].blockSize;
|
|
570
|
-
onNodeSizeChanged(width, height, nodeIndex);
|
|
571
|
-
}, [nodeIndex, onNodeSizeChanged]), optionsRef.current);
|
|
572
|
-
return (jsx("div", { ref: ref, class: classNames([nodeStyles, isDimmed ? dimmedItemStyle : undefined]), "data-node": id, role: "img", "aria-label": getItemAriaLabel(translations, supportsSelection, state.selected, accessibleLabel), style: {
|
|
573
|
-
top: position.y,
|
|
574
|
-
left: position.x
|
|
575
|
-
}, id: state.focused || state.hovered ? activeId : undefined, children: nodeRenderer(context) }, id));
|
|
576
|
-
};
|
|
577
|
-
|
|
578
|
-
function DiagramNodeLayer({ nodes, states, previousStates, nodeRenderer, nodeBounds, onNodeSizeChanged, supportsSelection }) {
|
|
579
|
-
return (jsx("div", { class: layerStyles, children: nodes.map((node, i) => {
|
|
580
|
-
// this is for initial render before the layout function so render all nodes at 0,0
|
|
581
|
-
const position = nodeBounds && nodeBounds[i] ? { x: nodeBounds[i].x, y: nodeBounds[i].y } : { x: 0, y: 0 };
|
|
582
|
-
const state = {
|
|
583
|
-
selected: states.selectedNodeIds.includes(node.id),
|
|
584
|
-
focused: states.focusedId === node.id,
|
|
585
|
-
hovered: states.hoveredId === node.id,
|
|
586
|
-
zoom: states.zoom
|
|
587
|
-
};
|
|
588
|
-
const previousState = {
|
|
589
|
-
selected: previousStates.selectedNodeIds.includes(node.id),
|
|
590
|
-
focused: previousStates.focusedId === node.id,
|
|
591
|
-
hovered: previousStates.hoveredId === node.id,
|
|
592
|
-
zoom: previousStates.zoom
|
|
593
|
-
};
|
|
594
|
-
return (jsx(DiagramNodeElement, { id: node.id, position: position, state: state, previousState: previousState, isDimmed: states.highlightedIds.length !== 0 && !states.highlightedIds.includes(node.id), activeId: states.activeId, nodeRenderer: nodeRenderer, onNodeSizeChanged: onNodeSizeChanged, nodeIndex: i, accessibleLabel: node.accessibleLabel, data: node, supportsSelection: supportsSelection }));
|
|
595
|
-
}) }));
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
const DiagramLinkElement = ({ id, state, previousState, activeId, data, linkRenderer, accessibleLabel, isDimmed, supportsSelection, layoutOutput }) => {
|
|
599
|
-
const translations = useTranslationBundle('@oracle/oraclejet-preact');
|
|
600
|
-
const { dimmedItemStyle, linkStyles } = itemStyles;
|
|
601
|
-
const context = {
|
|
602
|
-
state: state,
|
|
603
|
-
previousState: previousState,
|
|
604
|
-
data: data,
|
|
605
|
-
layoutOutput: layoutOutput
|
|
606
|
-
};
|
|
607
|
-
return (jsx("g", { id: state.focused ? activeId : undefined, "aria-label": getItemAriaLabel(translations, supportsSelection, state.selected, accessibleLabel), "data-link": id, role: "img", class: classNames([linkStyles, isDimmed && dimmedItemStyle]), children: linkRenderer(context) }, id));
|
|
608
|
-
};
|
|
609
|
-
|
|
610
|
-
function DiagramLinkLayer({ links, states, previousStates, linkRenderer, width, height, supportsSelection, layoutOutput, combinedNodeBounds }) {
|
|
611
|
-
const zoom = getZoomToFitZoom(width, height, combinedNodeBounds);
|
|
612
|
-
return (jsx("svg", { class: layerStyles, width: width / zoom, height: height / zoom, children: links.map((link) => {
|
|
613
|
-
const state = {
|
|
614
|
-
selected: states.selectedLinkIds.includes(link.id),
|
|
615
|
-
focused: states.focusedId === link.id,
|
|
616
|
-
hovered: states.hoveredId === link.id,
|
|
617
|
-
zoom: states.zoom
|
|
618
|
-
};
|
|
619
|
-
const previousState = {
|
|
620
|
-
selected: previousStates.selectedLinkIds.includes(link.id),
|
|
621
|
-
focused: previousStates.focusedId === link.id,
|
|
622
|
-
hovered: previousStates.hoveredId === link.id,
|
|
623
|
-
zoom: previousStates.zoom
|
|
624
|
-
};
|
|
625
|
-
return (jsx(DiagramLinkElement, { id: link.id, label: link.label, state: state, previousState: previousState, isDimmed: states.highlightedIds.length !== 0 && !states.highlightedIds.includes(link.id), activeId: states.activeId, accessibleLabel: link.accessibleLabel, data: link, linkRenderer: linkRenderer, supportsSelection: supportsSelection, layoutOutput: layoutOutput }));
|
|
626
|
-
}) }));
|
|
627
|
-
}
|
|
628
|
-
|
|
629
|
-
const DiagramLabel = ({ text, position, styles, dimensions, isRTL }) => {
|
|
630
|
-
const { labelStyle, labelBorderStyle } = labelStyles;
|
|
631
|
-
const labelPosition = getLabelPosition(dimensions, position, isRTL);
|
|
632
|
-
const labelRotation = getLabelRotation(position);
|
|
633
|
-
return (jsx("div", { class: classNames([labelStyle, styles && styles.borderColor && labelBorderStyle]), style: {
|
|
634
|
-
top: labelPosition.y,
|
|
635
|
-
left: labelPosition.x,
|
|
636
|
-
...styles,
|
|
637
|
-
...labelRotation
|
|
638
|
-
}, children: text }));
|
|
639
|
-
};
|
|
640
|
-
/**
|
|
641
|
-
* Returns the label rotation props
|
|
642
|
-
* @param position
|
|
643
|
-
* @returns rotation props
|
|
644
|
-
*/
|
|
645
|
-
function getLabelRotation(position) {
|
|
646
|
-
const rotationAngle = position.rotationAngle;
|
|
647
|
-
const rotationPoint = position.rotationPoint;
|
|
648
|
-
const rotation = {};
|
|
649
|
-
if (rotationAngle) {
|
|
650
|
-
rotation['transform'] = `rotate(${rotationAngle}deg)`;
|
|
651
|
-
}
|
|
652
|
-
if (rotationPoint) {
|
|
653
|
-
rotation['transform-origin'] = `${rotationPoint.x}px ${rotationPoint.y}px`;
|
|
654
|
-
}
|
|
655
|
-
return rotation;
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
function DiagramLabelLayer({ labelPosition, itemProps, labelDimensions }) {
|
|
659
|
-
const { direction } = useUser();
|
|
660
|
-
return (jsx("div", { class: layerStyles, children: itemProps.map((item, i) => {
|
|
661
|
-
if (item.label && labelPosition[i]) {
|
|
662
|
-
return (jsx(DiagramLabel, { styles: item.labelStyle, text: item.label, position: labelPosition[i], dimensions: labelDimensions.get(item.id), isRTL: direction === 'rtl' }));
|
|
663
|
-
}
|
|
664
|
-
return undefined;
|
|
665
|
-
}) }));
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
function DiagramLayers({ nodes, links, nodeRenderer, linkRenderer, states, previousStates, nodeBounds, onNodeSizeChanged, width, height, nodeLabelPositions, linkLabelPositions, labelDimensions, supportsSelection, layoutOutput, combinedNodeBounds }) {
|
|
669
|
-
return (jsxs(Fragment, { children: [links.length > 0 &&
|
|
670
|
-
layoutOutput &&
|
|
671
|
-
linkRenderer &&
|
|
672
|
-
width !== Infinity &&
|
|
673
|
-
combinedNodeBounds && (jsx(DiagramLinkLayer, { links: links, states: states, previousStates: previousStates, linkRenderer: linkRenderer, width: width, height: height, supportsSelection: supportsSelection, layoutOutput: layoutOutput, combinedNodeBounds: combinedNodeBounds })), jsx(DiagramNodeLayer, { nodes: nodes, nodeBounds: nodeBounds, states: states, previousStates: previousStates, nodeRenderer: nodeRenderer, onNodeSizeChanged: onNodeSizeChanged, supportsSelection: supportsSelection }), labelDimensions ? (jsxs("div", { children: [nodeLabelPositions ? (jsx(DiagramLabelLayer, { labelPosition: nodeLabelPositions, itemProps: nodes, labelDimensions: labelDimensions })) : undefined, links && linkLabelPositions ? (jsx(DiagramLabelLayer, { labelPosition: linkLabelPositions, itemProps: links, labelDimensions: labelDimensions })) : undefined] })) : undefined] }));
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
function DiagramPanZoomContainer({ centerX, centerY, children, zoom, width, height }) {
|
|
677
|
-
const panValues = centerXYToPanXY(centerX, centerY, zoom, width, height);
|
|
678
|
-
return (jsx("div", { class: panZoomStyles, style: {
|
|
679
|
-
//TODO JET-62471 look at using matrices or both in transform instead
|
|
680
|
-
translate: `${panValues.panX}px ${panValues.panY}px`,
|
|
681
|
-
transform: `scale(${zoom})`
|
|
682
|
-
}, children: children }));
|
|
683
|
-
}
|
|
684
|
-
|
|
685
|
-
/**
|
|
686
|
-
* @license
|
|
687
|
-
* Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
|
|
688
|
-
* The Universal Permissive License (UPL), Version 1.0
|
|
689
|
-
* as shown at https://oss.oracle.com/licenses/upl/
|
|
690
|
-
* @ignore
|
|
691
|
-
*/
|
|
692
|
-
/**
|
|
693
|
-
* Returns the node data based on node info in a diagram.
|
|
694
|
-
* @param itemInfo
|
|
695
|
-
* @returns
|
|
696
|
-
*/
|
|
697
|
-
function getNodeDetailFromInfo(itemInfo, nodes) {
|
|
698
|
-
let node;
|
|
699
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
700
|
-
node = nodes[i];
|
|
701
|
-
if (itemInfo.id === node.id) {
|
|
702
|
-
return node;
|
|
703
|
-
}
|
|
704
|
-
}
|
|
705
|
-
return undefined;
|
|
706
|
-
}
|
|
707
|
-
/**
|
|
708
|
-
* Returns the link data based on link info in a diagram.
|
|
709
|
-
* @param itemInfo
|
|
710
|
-
* @returns
|
|
711
|
-
*/
|
|
712
|
-
function getLinkDetailFromInfo(itemInfo, links) {
|
|
713
|
-
let link;
|
|
714
|
-
for (let i = 0; i < links.length; i++) {
|
|
715
|
-
link = links[i];
|
|
716
|
-
if (itemInfo.id === link.id) {
|
|
717
|
-
return link;
|
|
718
|
-
}
|
|
719
|
-
}
|
|
720
|
-
return undefined;
|
|
721
|
-
}
|
|
722
|
-
/**
|
|
723
|
-
* Creates a map with key node id and value node bounds
|
|
724
|
-
*/
|
|
725
|
-
function createNodeBoundsMap(nodes, bounds) {
|
|
726
|
-
const nodeBounds = new Map();
|
|
727
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
728
|
-
nodeBounds.set(nodes[i].id, bounds[i]);
|
|
729
|
-
}
|
|
730
|
-
return nodeBounds;
|
|
731
|
-
}
|
|
732
|
-
/**
|
|
733
|
-
* Utility method that adds sorting attributes of each link to an array
|
|
734
|
-
*/
|
|
735
|
-
function addSortingAttributes(node, listOfLinks, nodes, nodeBounds) {
|
|
736
|
-
let angle, distance, direction;
|
|
737
|
-
const linkDetail = [];
|
|
738
|
-
for (let i = 0; i < listOfLinks.length; i++) {
|
|
739
|
-
const link = listOfLinks[i];
|
|
740
|
-
angle = _getClockwiseAngle(node, link, nodes, nodeBounds);
|
|
741
|
-
distance = _getNodesDistance(link, nodes, nodeBounds);
|
|
742
|
-
direction = _getLinkDirection(node, link);
|
|
743
|
-
linkDetail.push({ id: link.id, angle: angle, distance: distance, direction: direction });
|
|
744
|
-
}
|
|
745
|
-
return linkDetail;
|
|
746
|
-
}
|
|
747
|
-
/**
|
|
748
|
-
* Returns a function that compares two link around a given node
|
|
749
|
-
* The links are analyzed by angle, distance from the node and direction. The sorting attributes are added to the links before sorting.
|
|
750
|
-
*/
|
|
751
|
-
function getLinkComparator() {
|
|
752
|
-
return (link1, link2) => {
|
|
753
|
-
const { angle: linkAngle1, distance: linkDistance1, direction: linkDirection1 } = link1;
|
|
754
|
-
const { angle: linkAngle2, distance: linkDistance2, direction: linkDirection2 } = link2;
|
|
755
|
-
let res = -1;
|
|
756
|
-
if (!_anglesAreEqualWithinTolerance(linkAngle1, linkAngle2) && linkAngle1 > linkAngle2) {
|
|
757
|
-
res = 1;
|
|
758
|
-
}
|
|
759
|
-
else if (_anglesAreEqualWithinTolerance(linkAngle1, linkAngle2)) {
|
|
760
|
-
//check distance and direction
|
|
761
|
-
if (linkDistance1 > linkDistance2) {
|
|
762
|
-
res = 1;
|
|
763
|
-
}
|
|
764
|
-
else if (linkDistance2 == linkDistance1 && linkDirection1 > linkDirection2) {
|
|
765
|
-
//outgoing to ingoing
|
|
766
|
-
res = 1;
|
|
767
|
-
}
|
|
768
|
-
else if (linkDistance2 == linkDistance1 && linkDirection1 == linkDirection2) {
|
|
769
|
-
res = 0;
|
|
770
|
-
}
|
|
771
|
-
}
|
|
772
|
-
return res;
|
|
773
|
-
};
|
|
774
|
-
}
|
|
775
|
-
/**
|
|
776
|
-
* Returns navigable links for a given node
|
|
777
|
-
*/
|
|
778
|
-
function getNavigableLinksForNodeId(nodeId, listOfLinks) {
|
|
779
|
-
const links = [];
|
|
780
|
-
listOfLinks.forEach((link) => {
|
|
781
|
-
const startId = link.startNode;
|
|
782
|
-
const endId = link.endNode;
|
|
783
|
-
if (startId == nodeId || endId == nodeId)
|
|
784
|
-
links.push(link);
|
|
785
|
-
});
|
|
786
|
-
return links;
|
|
787
|
-
}
|
|
788
|
-
/**
|
|
789
|
-
* Get the clockwise angle for the link given node as a center
|
|
790
|
-
*/
|
|
791
|
-
function _getClockwiseAngle(node, link, nodes, nodeBounds) {
|
|
792
|
-
//find opposite node
|
|
793
|
-
let currNode;
|
|
794
|
-
let startNode = nodes[0];
|
|
795
|
-
let endNode = nodes[0];
|
|
796
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
797
|
-
currNode = nodes[i];
|
|
798
|
-
if (currNode.id === link.startNode) {
|
|
799
|
-
startNode = currNode;
|
|
800
|
-
}
|
|
801
|
-
else if (currNode.id === link.endNode) {
|
|
802
|
-
endNode = currNode;
|
|
803
|
-
}
|
|
804
|
-
}
|
|
805
|
-
const oppositeNode = node.id == startNode.id ? endNode : startNode;
|
|
806
|
-
const p1 = _getNodeCenter(node, nodeBounds);
|
|
807
|
-
const p2 = _getNodeCenter(oppositeNode, nodeBounds);
|
|
808
|
-
let angle = Math.atan2(p2.y - p1.y, p2.x - p1.x);
|
|
809
|
-
angle = angle < 0 ? angle + Math.PI * 2 : angle;
|
|
810
|
-
return angle;
|
|
811
|
-
}
|
|
812
|
-
/**
|
|
813
|
-
* Get the distance between start and end nodes for the given link
|
|
814
|
-
*/
|
|
815
|
-
function _getNodesDistance(link, nodes, nodeBounds) {
|
|
816
|
-
let currNode;
|
|
817
|
-
let startNode = nodes[0];
|
|
818
|
-
let endNode = nodes[0];
|
|
819
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
820
|
-
currNode = nodes[i];
|
|
821
|
-
if (currNode.id === link.startNode) {
|
|
822
|
-
startNode = currNode;
|
|
823
|
-
}
|
|
824
|
-
else if (currNode.id === link.endNode) {
|
|
825
|
-
endNode = currNode;
|
|
826
|
-
}
|
|
827
|
-
}
|
|
828
|
-
const p1 = _getNodeCenter(startNode, nodeBounds);
|
|
829
|
-
const p2 = _getNodeCenter(endNode, nodeBounds);
|
|
830
|
-
return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
|
|
831
|
-
}
|
|
832
|
-
/**
|
|
833
|
-
* Get link direction for the given node. 1 if the node is the end node
|
|
834
|
-
* and 0 if it is the start node
|
|
835
|
-
*/
|
|
836
|
-
function _getLinkDirection(node, link) {
|
|
837
|
-
if (link.endNode === node.id) {
|
|
838
|
-
return 1;
|
|
839
|
-
}
|
|
840
|
-
return 0;
|
|
841
|
-
}
|
|
842
|
-
/**
|
|
843
|
-
* Get node center
|
|
844
|
-
*/
|
|
845
|
-
function _getNodeCenter(node, nodeBounds) {
|
|
846
|
-
const nodeBB = nodeBounds.get(node.id);
|
|
847
|
-
return { x: nodeBB.x + nodeBB.w / 2, y: nodeBB.y + nodeBB.h / 2 };
|
|
848
|
-
}
|
|
849
|
-
/**
|
|
850
|
-
* Calculates the angle weighted by distance
|
|
851
|
-
*/
|
|
852
|
-
function calcDistanceAngleWeighted(objectBB, currentBB, direction) {
|
|
853
|
-
// Variables used for calculating penalties when calculating distances between two navigables.
|
|
854
|
-
const optimalAngle1 = (15 / 180) * Math.PI;
|
|
855
|
-
const optimalAngle2 = (40 / 180) * Math.PI;
|
|
856
|
-
const suboptimalAnglePenalty1 = 2; // multiplier to the distance
|
|
857
|
-
const suboptimalAnglePenalty2 = 6; // multiplier to the distance
|
|
858
|
-
const objCenterX = objectBB.x + objectBB.w / 2;
|
|
859
|
-
const objCenterY = objectBB.y + objectBB.h / 2;
|
|
860
|
-
const curCenterX = currentBB.x + currentBB.w / 2;
|
|
861
|
-
const curCenterY = currentBB.y + currentBB.h / 2;
|
|
862
|
-
const x_dist = Math.abs(objCenterX - curCenterX);
|
|
863
|
-
const y_dist = Math.abs(objCenterY - curCenterY);
|
|
864
|
-
const angle = Math.atan2(y_dist, x_dist);
|
|
865
|
-
let distance = Math.sqrt(x_dist * x_dist + y_dist * y_dist);
|
|
866
|
-
// Angle penalty based on direction
|
|
867
|
-
if ((angle > optimalAngle1 && (direction == 'right' || direction == 'left')) ||
|
|
868
|
-
(angle < Math.PI / 2 - optimalAngle1 && (direction == 'up' || direction == 'down'))) {
|
|
869
|
-
if ((angle > optimalAngle2 && (direction == 'right' || direction == 'left')) ||
|
|
870
|
-
(angle < Math.PI / 2 - optimalAngle2 && (direction == 'up' || direction == 'down'))) {
|
|
871
|
-
distance *= suboptimalAnglePenalty2;
|
|
872
|
-
}
|
|
873
|
-
else {
|
|
874
|
-
distance *= suboptimalAnglePenalty1;
|
|
875
|
-
}
|
|
876
|
-
}
|
|
877
|
-
return distance;
|
|
878
|
-
}
|
|
879
|
-
/**
|
|
880
|
-
* Given a direction, is a certain node is a valid destination to navigate to
|
|
881
|
-
*/
|
|
882
|
-
function isValidDestination(objBB, curBB, direction, compareCenters) {
|
|
883
|
-
// compare the centers of the navigable and to be valid, the navigable must be in the right direction
|
|
884
|
-
// without tolerance
|
|
885
|
-
if (compareCenters) {
|
|
886
|
-
const objCenterX = objBB.x + 0.5 * objBB.w;
|
|
887
|
-
const curCenterX = curBB.x + 0.5 * curBB.w;
|
|
888
|
-
const objCenterY = objBB.y + 0.5 * objBB.h;
|
|
889
|
-
const curCenterY = curBB.y + 0.5 * curBB.h;
|
|
890
|
-
switch (direction) {
|
|
891
|
-
case 'up':
|
|
892
|
-
return objCenterY < curCenterY;
|
|
893
|
-
case 'down':
|
|
894
|
-
return objBB.y > curCenterY;
|
|
895
|
-
case 'right':
|
|
896
|
-
return objCenterX > curCenterX;
|
|
897
|
-
case 'left':
|
|
898
|
-
return objCenterX < curCenterX;
|
|
899
|
-
}
|
|
900
|
-
return true;
|
|
901
|
-
}
|
|
902
|
-
switch (direction) {
|
|
903
|
-
case 'up':
|
|
904
|
-
return objBB.y < curBB.y || _areEqualWithinTolerance(objBB.y, curBB.y);
|
|
905
|
-
case 'down':
|
|
906
|
-
return objBB.y > curBB.y || _areEqualWithinTolerance(objBB.y, curBB.y);
|
|
907
|
-
case 'right':
|
|
908
|
-
return objBB.x > curBB.x || _areEqualWithinTolerance(objBB.x, curBB.x);
|
|
909
|
-
case 'left':
|
|
910
|
-
return objBB.x < curBB.x || _areEqualWithinTolerance(objBB.x, curBB.x);
|
|
911
|
-
}
|
|
912
|
-
return true;
|
|
913
|
-
}
|
|
914
|
-
/**
|
|
915
|
-
* Returns true if two nodes are in contact
|
|
916
|
-
*/
|
|
917
|
-
function calcInContact(objRect, curRect, direction) {
|
|
918
|
-
switch (direction) {
|
|
919
|
-
case 'up':
|
|
920
|
-
return (_isVerticallyAligned(objRect, curRect) &&
|
|
921
|
-
(curRect.y <= objRect.y + objRect.h ||
|
|
922
|
-
_areEqualWithinTolerance(curRect.y, objRect.y + objRect.h)));
|
|
923
|
-
case 'down':
|
|
924
|
-
return (_isVerticallyAligned(objRect, curRect) &&
|
|
925
|
-
(objRect.y <= curRect.y + curRect.h ||
|
|
926
|
-
_areEqualWithinTolerance(objRect.y, curRect.y + curRect.h)));
|
|
927
|
-
case 'right':
|
|
928
|
-
return (_isHorizontallyAligned(objRect, curRect) &&
|
|
929
|
-
(objRect.x <= curRect.x + curRect.w ||
|
|
930
|
-
_areEqualWithinTolerance(objRect.x, curRect.x + curRect.w)));
|
|
931
|
-
case 'left':
|
|
932
|
-
return (_isHorizontallyAligned(objRect, curRect) &&
|
|
933
|
-
(curRect.x <= objRect.x + objRect.w ||
|
|
934
|
-
_areEqualWithinTolerance(curRect.x, objRect.x + objRect.w)));
|
|
935
|
-
}
|
|
936
|
-
return false;
|
|
937
|
-
}
|
|
938
|
-
function _isVerticallyAligned(rect1, rect2) {
|
|
939
|
-
return ((rect1.x >= rect2.x && rect1.x <= rect2.x + rect2.w) ||
|
|
940
|
-
(rect2.x >= rect1.x && rect2.x <= rect1.x + rect1.w));
|
|
941
|
-
}
|
|
942
|
-
function _isHorizontallyAligned(rect1, rect2) {
|
|
943
|
-
return ((rect1.y >= rect2.y && rect1.y <= rect2.y + rect2.h) ||
|
|
944
|
-
(rect2.y >= rect1.y && rect2.y <= rect1.y + rect1.h));
|
|
945
|
-
}
|
|
946
|
-
function _areEqualWithinTolerance(a, b) {
|
|
947
|
-
return Math.abs(a - b) <= 0.0000001;
|
|
948
|
-
}
|
|
949
|
-
function _anglesAreEqualWithinTolerance(a1, a2) {
|
|
950
|
-
let res = Math.abs(a1 - a2) <= 0.0000001;
|
|
951
|
-
if (!res) {
|
|
952
|
-
res = Math.abs(Math.PI * 2 + Math.min(a1, a2) - Math.max(a1, a2)) <= 0.0000001;
|
|
953
|
-
}
|
|
954
|
-
return res;
|
|
955
|
-
}
|
|
956
|
-
|
|
957
|
-
/**
|
|
958
|
-
* @license
|
|
959
|
-
* Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
|
|
960
|
-
* The Universal Permissive License (UPL), Version 1.0
|
|
961
|
-
* as shown at https://oss.oracle.com/licenses/upl/
|
|
962
|
-
* @ignore
|
|
963
|
-
*/
|
|
964
|
-
function useDiagramNavigation(nodes, links, bounds, linkIdToDataMap) {
|
|
965
|
-
const currentKeyboardFocusNode = useRef();
|
|
966
|
-
const nodeBoundsById = createNodeBoundsMap(nodes, bounds);
|
|
967
|
-
function getNextNavigableNode(direction, compareCenters, current, listOfObjects) {
|
|
968
|
-
if (!listOfObjects)
|
|
969
|
-
return current;
|
|
970
|
-
if (!current)
|
|
971
|
-
return listOfObjects[0];
|
|
972
|
-
const currBB = nodeBoundsById.get(current.id);
|
|
973
|
-
if (!currBB)
|
|
974
|
-
return listOfObjects[0];
|
|
975
|
-
let nextObject = current; //init to current object
|
|
976
|
-
let nextDistance = Number.MAX_VALUE;
|
|
977
|
-
// If an object is in contact it overrules all other attributes
|
|
978
|
-
// Only another in contact object with better attributes will have higher precedence
|
|
979
|
-
let nextInContact = false;
|
|
980
|
-
// Whether or not the for loop has encountered the current object
|
|
981
|
-
let hasFoundCurrent = false;
|
|
982
|
-
let object, inContact, distance;
|
|
983
|
-
for (let i = 0; i < listOfObjects.length; i++) {
|
|
984
|
-
object = listOfObjects[i];
|
|
985
|
-
if (object === current) {
|
|
986
|
-
hasFoundCurrent = true;
|
|
987
|
-
continue;
|
|
988
|
-
}
|
|
989
|
-
const objBB = nodeBoundsById.get(object.id);
|
|
990
|
-
if (!objBB)
|
|
991
|
-
continue;
|
|
992
|
-
const objBounds = { x: objBB.x, y: objBB.y, w: objBB.w, h: objBB.h };
|
|
993
|
-
const currBounds = { x: currBB.x, y: currBB.y, w: currBB.w, h: currBB.h };
|
|
994
|
-
if (!isValidDestination(objBounds, currBounds, direction, compareCenters))
|
|
995
|
-
continue;
|
|
996
|
-
inContact = calcInContact(objBounds, currBounds, direction);
|
|
997
|
-
if (nextInContact && !inContact)
|
|
998
|
-
continue;
|
|
999
|
-
distance = calcDistanceAngleWeighted(objBounds, currBounds, direction);
|
|
1000
|
-
if (distance == 0 && !hasFoundCurrent)
|
|
1001
|
-
continue;
|
|
1002
|
-
// Make sure incontact flag have highest precedence
|
|
1003
|
-
if ((!nextInContact && inContact) ||
|
|
1004
|
-
(distance < nextDistance && ((nextInContact && inContact) || !nextInContact))) {
|
|
1005
|
-
nextDistance = distance;
|
|
1006
|
-
nextObject = object;
|
|
1007
|
-
nextInContact = inContact;
|
|
1008
|
-
}
|
|
1009
|
-
}
|
|
1010
|
-
return nextObject;
|
|
1011
|
-
}
|
|
1012
|
-
/**
|
|
1013
|
-
* Get next navigavle link depending on direction - clockwise or conter clockwise.
|
|
1014
|
-
* The decision is made based on location of nodes centers rather than link paths or link angles.
|
|
1015
|
-
*/
|
|
1016
|
-
function getNextNavigableLink(direction, listOfNodes, currentLink, listOfLinks) {
|
|
1017
|
-
if (!listOfLinks)
|
|
1018
|
-
return currentLink;
|
|
1019
|
-
if (!currentLink)
|
|
1020
|
-
return listOfLinks[0];
|
|
1021
|
-
const keyboardFocusNode = currentKeyboardFocusNode.current;
|
|
1022
|
-
const nodeId = keyboardFocusNode ? keyboardFocusNode : currentLink.startNode;
|
|
1023
|
-
const node = getNodeDetailFromInfo({ id: nodeId, isNode: true }, listOfNodes);
|
|
1024
|
-
if (!node)
|
|
1025
|
-
return currentLink;
|
|
1026
|
-
const adjLinks = getNavigableLinksForNodeId(node.id, listOfLinks);
|
|
1027
|
-
listOfLinks = adjLinks;
|
|
1028
|
-
const linksWithSortingAttributes = addSortingAttributes(node, listOfLinks, listOfNodes, nodeBoundsById);
|
|
1029
|
-
linksWithSortingAttributes.sort(getLinkComparator());
|
|
1030
|
-
//clockwise direction
|
|
1031
|
-
const bForward = direction == 'down' ? true : false;
|
|
1032
|
-
let index = 0;
|
|
1033
|
-
for (let i = 0; i < linksWithSortingAttributes.length; i++) {
|
|
1034
|
-
const link = linksWithSortingAttributes[i];
|
|
1035
|
-
if (link.id === currentLink.id) {
|
|
1036
|
-
if (bForward)
|
|
1037
|
-
index = i == linksWithSortingAttributes.length - 1 ? 0 : i + 1;
|
|
1038
|
-
else
|
|
1039
|
-
index = i == 0 ? linksWithSortingAttributes.length - 1 : i - 1;
|
|
1040
|
-
break;
|
|
1041
|
-
}
|
|
1042
|
-
}
|
|
1043
|
-
return linksWithSortingAttributes[index];
|
|
1044
|
-
}
|
|
1045
|
-
/**
|
|
1046
|
-
* Returns the link detail when a node to link navigation occurs
|
|
1047
|
-
*/
|
|
1048
|
-
function navigateFromNodeToLink(listOfLinks, event, node) {
|
|
1049
|
-
if (!node)
|
|
1050
|
-
return undefined;
|
|
1051
|
-
const adjLinks = getNavigableLinksForNodeId(node.id, listOfLinks);
|
|
1052
|
-
if (adjLinks.length < 1)
|
|
1053
|
-
return undefined;
|
|
1054
|
-
let link = adjLinks[0];
|
|
1055
|
-
const nodeBB = nodeBoundsById.get(node.id);
|
|
1056
|
-
let object, currNode, currNodeBB, currNodeBBCenterX;
|
|
1057
|
-
const nodeCenterX = nodeBB.x + nodeBB.w / 2;
|
|
1058
|
-
currentKeyboardFocusNode.current = node.id;
|
|
1059
|
-
for (let i = 0; i < adjLinks.length; i++) {
|
|
1060
|
-
object = adjLinks[i];
|
|
1061
|
-
currNode = object.startNode === node.id ? object.endNode : object.startNode;
|
|
1062
|
-
currNodeBB = nodeBoundsById.get(currNode);
|
|
1063
|
-
currNodeBBCenterX = currNodeBB.x + currNodeBB.w / 2;
|
|
1064
|
-
if (
|
|
1065
|
-
// equivalent of ≤ and ≥
|
|
1066
|
-
(event.altKey && event.code === 'Comma' && currNodeBBCenterX <= nodeCenterX) ||
|
|
1067
|
-
(event.altKey && event.code === 'Period' && currNodeBBCenterX >= nodeCenterX)) {
|
|
1068
|
-
link = object;
|
|
1069
|
-
break;
|
|
1070
|
-
}
|
|
1071
|
-
}
|
|
1072
|
-
return { id: link.id, isNode: false };
|
|
1073
|
-
}
|
|
1074
|
-
/**
|
|
1075
|
-
* Returns the node detail when a link to node navigation occurs
|
|
1076
|
-
*/
|
|
1077
|
-
function navigateFromLinkToNode(linkId, event) {
|
|
1078
|
-
const key = event.key;
|
|
1079
|
-
const linkData = linkIdToDataMap.get(linkId);
|
|
1080
|
-
const startNodeBB = nodeBoundsById.get(linkData.startNode);
|
|
1081
|
-
const endNodeBB = nodeBoundsById.get(linkData.endNode);
|
|
1082
|
-
if (!startNodeBB || !endNodeBB)
|
|
1083
|
-
return undefined;
|
|
1084
|
-
const startNodeCenterX = startNodeBB.x + startNodeBB.w / 2;
|
|
1085
|
-
const endNodeCenterX = endNodeBB.x + endNodeBB.w / 2;
|
|
1086
|
-
const newNode = (endNodeCenterX > startNodeCenterX && key === 'ArrowRight') ||
|
|
1087
|
-
(endNodeCenterX < startNodeCenterX && key === 'ArrowLeft')
|
|
1088
|
-
? linkData.endNode
|
|
1089
|
-
: linkData.startNode;
|
|
1090
|
-
return { id: newNode, isNode: true };
|
|
1091
|
-
}
|
|
1092
|
-
return {
|
|
1093
|
-
isNode: (itemInfo) => {
|
|
1094
|
-
let node, link;
|
|
1095
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
1096
|
-
node = nodes[i];
|
|
1097
|
-
link = links[i];
|
|
1098
|
-
if (itemInfo.id === node.id) {
|
|
1099
|
-
return true;
|
|
1100
|
-
}
|
|
1101
|
-
if (itemInfo.id === link.id) {
|
|
1102
|
-
return true;
|
|
1103
|
-
}
|
|
1104
|
-
}
|
|
1105
|
-
return false;
|
|
1106
|
-
},
|
|
1107
|
-
getNextNavigableNode,
|
|
1108
|
-
getNextNavigableLink,
|
|
1109
|
-
navigateFromNodeToLink,
|
|
1110
|
-
navigateFromLinkToNode
|
|
1111
|
-
};
|
|
1112
|
-
}
|
|
1113
|
-
|
|
1114
|
-
const DEFAULT_KB_PAN = 15;
|
|
1115
|
-
const DEFAULT_KB_ZOOM = 0.15;
|
|
1116
|
-
function useEvents(touchResponse, initNode, nodes, links, nodeBounds, linkIdToDataMap, nodeIdToDataMap, nodeIdToIndexMap, width, height, maxZoom, onItemHover, onItemFocus, kbPanCallback, kbZoomCallback) {
|
|
1117
|
-
const { getNextNavigableNode, getNextNavigableLink, navigateFromNodeToLink, navigateFromLinkToNode } = useDiagramNavigation(nodes, links, nodeBounds, linkIdToDataMap);
|
|
1118
|
-
const [focusedItemInfo, setfocusedItemInfo] = useState({
|
|
1119
|
-
id: initNode.id,
|
|
1120
|
-
isNode: true
|
|
1121
|
-
});
|
|
1122
|
-
const [hoveredItemInfo, sethoveredItemInfo] = useState();
|
|
1123
|
-
const activeId = useRef();
|
|
1124
|
-
const cancelEvent = (event) => {
|
|
1125
|
-
event.preventDefault();
|
|
1126
|
-
event.stopPropagation();
|
|
1127
|
-
};
|
|
1128
|
-
const keyDownHandler = (event) => {
|
|
1129
|
-
const key = event.key;
|
|
1130
|
-
let eventConsumed = false;
|
|
1131
|
-
// tabbing out of the diagram
|
|
1132
|
-
if (key === 'TAB') {
|
|
1133
|
-
return;
|
|
1134
|
-
}
|
|
1135
|
-
// if this a switch from node to link or vice versa
|
|
1136
|
-
if (isChangeItemType(event)) {
|
|
1137
|
-
const nextItemInfo = focusedItemInfo.isNode
|
|
1138
|
-
? navigateFromNodeToLink(links, event, getNodeDetailFromInfo(focusedItemInfo, nodes))
|
|
1139
|
-
: navigateFromLinkToNode(focusedItemInfo.id, event);
|
|
1140
|
-
handleKeyboardInput(nextItemInfo);
|
|
1141
|
-
eventConsumed = true;
|
|
1142
|
-
}
|
|
1143
|
-
else if (isNavigationEvent(key)) {
|
|
1144
|
-
const nextItemInfo = handleKeyboardNavigationEvent(key);
|
|
1145
|
-
handleKeyboardInput(nextItemInfo);
|
|
1146
|
-
eventConsumed = true;
|
|
1147
|
-
}
|
|
1148
|
-
else {
|
|
1149
|
-
switch (key) {
|
|
1150
|
-
case 'PageUp': {
|
|
1151
|
-
kbPanCallback &&
|
|
1152
|
-
kbPanCallback({
|
|
1153
|
-
dPan: {
|
|
1154
|
-
dx: event.shiftKey ? -DEFAULT_KB_PAN : 0,
|
|
1155
|
-
dy: event.shiftKey ? 0 : -DEFAULT_KB_PAN
|
|
1156
|
-
}
|
|
1157
|
-
});
|
|
1158
|
-
eventConsumed = true;
|
|
1159
|
-
break;
|
|
1160
|
-
}
|
|
1161
|
-
case 'PageDown': {
|
|
1162
|
-
kbPanCallback &&
|
|
1163
|
-
kbPanCallback({
|
|
1164
|
-
dPan: {
|
|
1165
|
-
dx: event.shiftKey ? DEFAULT_KB_PAN : 0,
|
|
1166
|
-
dy: event.shiftKey ? 0 : DEFAULT_KB_PAN
|
|
1167
|
-
}
|
|
1168
|
-
});
|
|
1169
|
-
eventConsumed = true;
|
|
1170
|
-
eventConsumed = true;
|
|
1171
|
-
break;
|
|
1172
|
-
}
|
|
1173
|
-
case '+':
|
|
1174
|
-
case '=': {
|
|
1175
|
-
kbZoomCallback && kbZoomCallback({ dZoom: DEFAULT_KB_ZOOM });
|
|
1176
|
-
eventConsumed = true;
|
|
1177
|
-
break;
|
|
1178
|
-
}
|
|
1179
|
-
case '-':
|
|
1180
|
-
case '_': {
|
|
1181
|
-
kbZoomCallback && kbZoomCallback({ dZoom: -DEFAULT_KB_ZOOM });
|
|
1182
|
-
eventConsumed = true;
|
|
1183
|
-
break;
|
|
1184
|
-
}
|
|
1185
|
-
case '0': {
|
|
1186
|
-
if (event.ctrlKey && event.altKey) {
|
|
1187
|
-
const { centerX, centerY, zoom } = zoomAndCenterItemFromInfo(focusedItemInfo, linkIdToDataMap, nodeBounds, nodeIdToIndexMap, width, height, maxZoom);
|
|
1188
|
-
kbZoomCallback && kbZoomCallback({ nZoom: zoom });
|
|
1189
|
-
kbPanCallback && kbPanCallback({ nPan: { cx: centerX, cy: centerY } });
|
|
1190
|
-
}
|
|
1191
|
-
else {
|
|
1192
|
-
// zoom to fit
|
|
1193
|
-
kbZoomCallback && kbZoomCallback({});
|
|
1194
|
-
kbPanCallback && kbPanCallback({ center: true });
|
|
1195
|
-
}
|
|
1196
|
-
eventConsumed = true;
|
|
1197
|
-
}
|
|
1198
|
-
}
|
|
1199
|
-
}
|
|
1200
|
-
if (eventConsumed) {
|
|
1201
|
-
cancelEvent(event);
|
|
1202
|
-
}
|
|
1203
|
-
};
|
|
1204
|
-
const keyUpHandler = (event) => {
|
|
1205
|
-
const key = event.code;
|
|
1206
|
-
switch (key) {
|
|
1207
|
-
case 'Tab': {
|
|
1208
|
-
updatefocusedItemInfo({
|
|
1209
|
-
...focusedItemInfo,
|
|
1210
|
-
isCurrent: true,
|
|
1211
|
-
isFocusVisible: true
|
|
1212
|
-
});
|
|
1213
|
-
break;
|
|
1214
|
-
}
|
|
1215
|
-
}
|
|
1216
|
-
};
|
|
1217
|
-
const blurHandler = () => {
|
|
1218
|
-
if (hoveredItemInfo != null || focusedItemInfo.isCurrent) {
|
|
1219
|
-
onItemFocus?.({ id: undefined, data: undefined });
|
|
1220
|
-
}
|
|
1221
|
-
const itemInfo = { ...focusedItemInfo, isCurrent: false, isFocusVisible: false };
|
|
1222
|
-
setfocusedItemInfo(itemInfo);
|
|
1223
|
-
};
|
|
1224
|
-
const onHover = (event) => {
|
|
1225
|
-
const itemInfo = getNavigableInfo(event.target);
|
|
1226
|
-
if (itemInfo && !isEqualItem(itemInfo, hoveredItemInfo)) {
|
|
1227
|
-
sethoveredItemInfo({ ...itemInfo, isCurrent: true });
|
|
1228
|
-
activeId.current = getRandomId();
|
|
1229
|
-
setfocusedItemInfo({ ...focusedItemInfo, isCurrent: false });
|
|
1230
|
-
if (itemInfo.isNode) {
|
|
1231
|
-
onItemHover?.({
|
|
1232
|
-
id: itemInfo.id,
|
|
1233
|
-
type: 'node',
|
|
1234
|
-
data: nodeIdToDataMap.get(itemInfo.id)
|
|
1235
|
-
});
|
|
1236
|
-
}
|
|
1237
|
-
else {
|
|
1238
|
-
onItemHover?.({
|
|
1239
|
-
id: itemInfo.id,
|
|
1240
|
-
type: 'link',
|
|
1241
|
-
data: linkIdToDataMap.get(itemInfo.id)
|
|
1242
|
-
});
|
|
1243
|
-
}
|
|
1244
|
-
}
|
|
1245
|
-
};
|
|
1246
|
-
const onHoverLeave = () => {
|
|
1247
|
-
sethoveredItemInfo(undefined);
|
|
1248
|
-
activeId.current = undefined;
|
|
1249
|
-
onItemHover?.({ id: undefined, data: undefined });
|
|
1250
|
-
};
|
|
1251
|
-
const hoverHandlers = useVisHover(onHover, undefined, onHoverLeave, touchResponse);
|
|
1252
|
-
const pointerUpHandler = (event) => {
|
|
1253
|
-
const itemInfo = getNavigableInfo(event.target);
|
|
1254
|
-
if (itemInfo.id != null) {
|
|
1255
|
-
setfocusedItemInfo(itemInfo);
|
|
1256
|
-
activeId.current = getRandomId();
|
|
1257
|
-
}
|
|
1258
|
-
};
|
|
1259
|
-
function updatefocusedItemInfo(itemInfo) {
|
|
1260
|
-
if (itemInfo.isNode) {
|
|
1261
|
-
onItemFocus?.({
|
|
1262
|
-
id: itemInfo.id,
|
|
1263
|
-
type: 'node',
|
|
1264
|
-
data: nodeIdToDataMap.get(itemInfo.id)
|
|
1265
|
-
});
|
|
1266
|
-
}
|
|
1267
|
-
else {
|
|
1268
|
-
onItemFocus?.({
|
|
1269
|
-
id: itemInfo.id,
|
|
1270
|
-
type: 'link',
|
|
1271
|
-
data: linkIdToDataMap.get(itemInfo.id)
|
|
1272
|
-
});
|
|
1273
|
-
}
|
|
1274
|
-
activeId.current = getRandomId();
|
|
1275
|
-
setfocusedItemInfo(itemInfo);
|
|
1276
|
-
}
|
|
1277
|
-
function handleKeyboardInput(item) {
|
|
1278
|
-
if (!item)
|
|
1279
|
-
return;
|
|
1280
|
-
if (!isEqualItem(item, focusedItemInfo)) {
|
|
1281
|
-
item.isCurrent = true;
|
|
1282
|
-
item.isFocusVisible = true;
|
|
1283
|
-
if (hoveredItemInfo) {
|
|
1284
|
-
sethoveredItemInfo({ ...hoveredItemInfo, isCurrent: false });
|
|
1285
|
-
}
|
|
1286
|
-
updatefocusedItemInfo(item);
|
|
1287
|
-
}
|
|
1288
|
-
}
|
|
1289
|
-
function isNavigationEvent(key) {
|
|
1290
|
-
switch (key) {
|
|
1291
|
-
case 'ArrowDown':
|
|
1292
|
-
case 'ArrowUp':
|
|
1293
|
-
case 'ArrowRight':
|
|
1294
|
-
case 'ArrowLeft': {
|
|
1295
|
-
return true;
|
|
1296
|
-
}
|
|
1297
|
-
}
|
|
1298
|
-
return false;
|
|
1299
|
-
}
|
|
1300
|
-
function isChangeItemType(event) {
|
|
1301
|
-
const key = event.code;
|
|
1302
|
-
// check if switching from node to link
|
|
1303
|
-
// equivalent of ≤ and ≥
|
|
1304
|
-
if (focusedItemInfo.isNode && event.altKey && (key === 'Period' || key === 'Comma')) {
|
|
1305
|
-
return true;
|
|
1306
|
-
// check if switching from link to node
|
|
1307
|
-
}
|
|
1308
|
-
else if (!focusedItemInfo.isNode && (key === 'ArrowLeft' || key === 'ArrowRight')) {
|
|
1309
|
-
return true;
|
|
1310
|
-
}
|
|
1311
|
-
return false;
|
|
1312
|
-
}
|
|
1313
|
-
function handleKeyboardNavigationEvent(key) {
|
|
1314
|
-
let direction = 'down';
|
|
1315
|
-
switch (key) {
|
|
1316
|
-
case 'ArrowDown': {
|
|
1317
|
-
direction = 'down';
|
|
1318
|
-
break;
|
|
1319
|
-
}
|
|
1320
|
-
case 'ArrowUp': {
|
|
1321
|
-
direction = 'up';
|
|
1322
|
-
break;
|
|
1323
|
-
}
|
|
1324
|
-
case 'ArrowRight': {
|
|
1325
|
-
direction = 'right';
|
|
1326
|
-
break;
|
|
1327
|
-
}
|
|
1328
|
-
case 'ArrowLeft': {
|
|
1329
|
-
direction = 'left';
|
|
1330
|
-
break;
|
|
1331
|
-
}
|
|
1332
|
-
}
|
|
1333
|
-
if (focusedItemInfo.isNode) {
|
|
1334
|
-
const itemDetail = getNextNavigableNode(direction, true, getNodeDetailFromInfo(focusedItemInfo, nodes), nodes);
|
|
1335
|
-
return itemDetail ? { id: itemDetail.id, isNode: true } : focusedItemInfo;
|
|
1336
|
-
}
|
|
1337
|
-
else {
|
|
1338
|
-
const linkDetail = getLinkDetailFromInfo(focusedItemInfo, links);
|
|
1339
|
-
const itemDetail = getNextNavigableLink(direction, nodes, linkDetail, links);
|
|
1340
|
-
return itemDetail ? { id: itemDetail.id } : { id: focusedItemInfo.id };
|
|
1341
|
-
}
|
|
1342
|
-
}
|
|
1343
|
-
return {
|
|
1344
|
-
focusedItemInfo,
|
|
1345
|
-
hoveredItemInfo,
|
|
1346
|
-
activeId: activeId.current,
|
|
1347
|
-
eventsProps: mergeProps(hoverHandlers, {
|
|
1348
|
-
onKeyUp: keyUpHandler,
|
|
1349
|
-
onKeyDown: keyDownHandler,
|
|
1350
|
-
onBlur: blurHandler,
|
|
1351
|
-
onPointerUp: pointerUpHandler
|
|
1352
|
-
})
|
|
1353
|
-
};
|
|
1354
|
-
}
|
|
1355
|
-
|
|
1356
|
-
/**
|
|
1357
|
-
* Returns the datatip.
|
|
1358
|
-
* @param text The text string for the diagram item.
|
|
1359
|
-
* @param rootRef The ref for root of the diagram.
|
|
1360
|
-
* @param focusedItemBoundsRef The ref for focused item bounds.
|
|
1361
|
-
* @param focusedItemInfo The ItemInfo for focused item.
|
|
1362
|
-
* @returns
|
|
1363
|
-
*/
|
|
1364
|
-
const useDiagramDatatip = ({ touchResponse, datatip, focusedItemBoundsRef, focusedItemInfo, panState, zoom, width, nodesMap, linksMap, hoveredItem }) => {
|
|
1365
|
-
const { direction } = useUser();
|
|
1366
|
-
const isRtl = direction === 'rtl';
|
|
1367
|
-
const datatipC = getDatatipContent(nodesMap, linksMap, focusedItemInfo, hoveredItem, datatip);
|
|
1368
|
-
const elementBounds = focusedItemBoundsRef.current
|
|
1369
|
-
? {
|
|
1370
|
-
x: focusedItemBoundsRef.current.x * zoom + panState.panX,
|
|
1371
|
-
y: focusedItemBoundsRef.current.y * zoom + panState.panY,
|
|
1372
|
-
width: focusedItemBoundsRef.current.w * zoom,
|
|
1373
|
-
height: focusedItemBoundsRef.current.h * zoom
|
|
1374
|
-
}
|
|
1375
|
-
: undefined;
|
|
1376
|
-
const offset = focusedItemInfo.isCurrent
|
|
1377
|
-
? calculateOffset(isRtl, width, elementBounds)
|
|
1378
|
-
: calculateOffset(isRtl, width);
|
|
1379
|
-
const { datatipContent, datatipProps } = useDatatip({
|
|
1380
|
-
content: datatipC?.content,
|
|
1381
|
-
borderColor: datatipC?.borderColor,
|
|
1382
|
-
placement: 'top-start',
|
|
1383
|
-
offset,
|
|
1384
|
-
anchor: focusedItemInfo?.isCurrent ? 'element' : 'pointer',
|
|
1385
|
-
touchResponse
|
|
1386
|
-
});
|
|
1387
|
-
return { datatipContent: datatipContent, datatipProps: datatipProps };
|
|
1388
|
-
};
|
|
1389
|
-
|
|
1390
|
-
const usePointerGesture = ({ captureTargetRef, numPointers = 1, onPointerGestureDown, onPointerGestureMove, onPointerGestureEnd, onExtraneousPointerDown, isDisabled = false }) => {
|
|
1391
|
-
const activePointers = useRef([]);
|
|
1392
|
-
if (isDisabled) {
|
|
1393
|
-
activePointers.current = [];
|
|
1394
|
-
}
|
|
1395
|
-
const onPointerDown = (e) => {
|
|
1396
|
-
activePointers.current.push(e);
|
|
1397
|
-
if (activePointers.current.length === numPointers) {
|
|
1398
|
-
onPointerGestureDown && onPointerGestureDown({ pointers: activePointers.current });
|
|
1399
|
-
}
|
|
1400
|
-
else if (activePointers.current.length > numPointers) {
|
|
1401
|
-
onExtraneousPointerDown && onExtraneousPointerDown({ pointers: activePointers.current });
|
|
1402
|
-
}
|
|
1403
|
-
};
|
|
1404
|
-
const onPointerMove = (e) => {
|
|
1405
|
-
if (activePointers.current.length === 0)
|
|
1406
|
-
return;
|
|
1407
|
-
const index = activePointers.current.findIndex((pointerEvent) => pointerEvent.pointerId === e.pointerId);
|
|
1408
|
-
if (index === -1)
|
|
1409
|
-
return;
|
|
1410
|
-
activePointers.current[index] = e;
|
|
1411
|
-
if (activePointers.current.length === numPointers) {
|
|
1412
|
-
activePointers.current.forEach((e) => captureTargetRef.current.setPointerCapture(e.pointerId));
|
|
1413
|
-
onPointerGestureMove && onPointerGestureMove({ pointers: activePointers.current });
|
|
1414
|
-
}
|
|
1415
|
-
};
|
|
1416
|
-
const onPointerUp = (e) => {
|
|
1417
|
-
const index = activePointers.current.findIndex((pointerEvent) => pointerEvent.pointerId === e.pointerId);
|
|
1418
|
-
if (index === -1)
|
|
1419
|
-
return;
|
|
1420
|
-
activePointers.current[index] = e;
|
|
1421
|
-
if (activePointers.current.length === numPointers) {
|
|
1422
|
-
onPointerGestureEnd && onPointerGestureEnd({ pointers: activePointers.current });
|
|
1423
|
-
}
|
|
1424
|
-
activePointers.current.splice(index, 1);
|
|
1425
|
-
};
|
|
1426
|
-
const onPointerCancel = onPointerUp;
|
|
1427
|
-
const onPointerLeave = onPointerUp;
|
|
1428
|
-
return isDisabled
|
|
1429
|
-
? {}
|
|
1430
|
-
: {
|
|
1431
|
-
onPointerDown,
|
|
1432
|
-
onPointerMove,
|
|
1433
|
-
onPointerUp,
|
|
1434
|
-
onPointerCancel,
|
|
1435
|
-
onPointerLeave
|
|
1436
|
-
};
|
|
1437
|
-
};
|
|
1438
|
-
|
|
1439
|
-
/**
|
|
1440
|
-
* Whether point with coordinates are in the draggable region
|
|
1441
|
-
*/
|
|
1442
|
-
const inDraggableRegion = (x, y, region) => {
|
|
1443
|
-
if (!region)
|
|
1444
|
-
return true;
|
|
1445
|
-
const { xMin, xMax, yMin, yMax } = region;
|
|
1446
|
-
return x >= xMin && x <= xMax && y >= yMin && y <= yMax;
|
|
1447
|
-
};
|
|
1448
|
-
/**
|
|
1449
|
-
* Returns region offset
|
|
1450
|
-
*/
|
|
1451
|
-
const getRegionOffset = (x, y, region) => {
|
|
1452
|
-
if (!region)
|
|
1453
|
-
return { regionOffsetX: x, regionOffsetY: y };
|
|
1454
|
-
return { regionOffsetX: x - region.xMin, regionOffsetY: y - region.yMin };
|
|
1455
|
-
};
|
|
1456
|
-
const useDrag = ({ captureTargetRef, draggableRegion, onDragStart, onDragMove, onDragEnd, isDisabled = false }) => {
|
|
1457
|
-
const inactiveState = { isDragging: false, x0: -1, y0: -1, regionOffsetX: -1, regionOffsetY: -1 };
|
|
1458
|
-
const dragState = useRef(inactiveState);
|
|
1459
|
-
const handlePointerEvent = (e, cb) => {
|
|
1460
|
-
const { isDragging, x0, y0, regionOffsetX, regionOffsetY } = dragState.current;
|
|
1461
|
-
if (!isDragging)
|
|
1462
|
-
return;
|
|
1463
|
-
const x = e.pageX;
|
|
1464
|
-
const y = e.pageY;
|
|
1465
|
-
cb && cb({ x, y, dx: x - x0, dy: y - y0, regionOffsetX, regionOffsetY, originalEvent: e });
|
|
1466
|
-
};
|
|
1467
|
-
const dragProps = usePointerGesture({
|
|
1468
|
-
captureTargetRef,
|
|
1469
|
-
numPointers: 1, // Only allow 1 pointer dragging
|
|
1470
|
-
onExtraneousPointerDown: () => {
|
|
1471
|
-
dragState.current = inactiveState;
|
|
1472
|
-
},
|
|
1473
|
-
onPointerGestureDown: ({ pointers: [e] }) => {
|
|
1474
|
-
const x = e.pageX;
|
|
1475
|
-
const y = e.pageY;
|
|
1476
|
-
if (e.button !== 0 || !inDraggableRegion(x, y, draggableRegion))
|
|
1477
|
-
return;
|
|
1478
|
-
const { regionOffsetX, regionOffsetY } = getRegionOffset(x, y, draggableRegion);
|
|
1479
|
-
dragState.current = { isDragging: true, x0: x, y0: y, regionOffsetX, regionOffsetY };
|
|
1480
|
-
onDragStart && onDragStart({ x, y, regionOffsetX, regionOffsetY, originalEvent: e });
|
|
1481
|
-
},
|
|
1482
|
-
onPointerGestureMove: ({ pointers: [e] }) => {
|
|
1483
|
-
handlePointerEvent(e, onDragMove);
|
|
1484
|
-
},
|
|
1485
|
-
onPointerGestureEnd: ({ pointers: [e] }) => {
|
|
1486
|
-
handlePointerEvent(e, onDragEnd);
|
|
1487
|
-
dragState.current = inactiveState;
|
|
1488
|
-
}
|
|
1489
|
-
});
|
|
1490
|
-
return isDisabled ? {} : dragProps;
|
|
1491
|
-
};
|
|
1492
|
-
|
|
1493
|
-
const constrainPan = (previousPan, nextPan, panBounds, panDirection) => {
|
|
1494
|
-
const panX = panDirection !== 'y' ? nextPan.panX : previousPan.panX;
|
|
1495
|
-
const panY = panDirection !== 'x' ? nextPan.panY : previousPan.panY;
|
|
1496
|
-
return {
|
|
1497
|
-
panX: panX > panBounds.maxX ? panBounds.maxX : panX < panBounds.minX ? panBounds.minX : panX,
|
|
1498
|
-
panY: panY > panBounds.maxY ? panBounds.maxY : panY < panBounds.minY ? panBounds.minY : panY
|
|
1499
|
-
};
|
|
1500
|
-
};
|
|
1501
|
-
const pan = (previousPan, nextPan, panDirection, zoom, width, height, panBounds, onPanChange) => {
|
|
1502
|
-
if (!panBounds) {
|
|
1503
|
-
//On initial render before nodes are rendered
|
|
1504
|
-
return { newPan: { panX: 0, panY: 0 } };
|
|
1505
|
-
}
|
|
1506
|
-
const newPan = constrainPan(previousPan, nextPan, panBounds, panDirection);
|
|
1507
|
-
const isPanChanged = newPan.panX !== previousPan.panX || newPan.panY !== previousPan.panY;
|
|
1508
|
-
const center = panXYToCenterXY(newPan.panX, newPan.panY, zoom, width, height);
|
|
1509
|
-
isPanChanged &&
|
|
1510
|
-
onPanChange &&
|
|
1511
|
-
onPanChange({
|
|
1512
|
-
centerX: center.centerX,
|
|
1513
|
-
centerY: center.centerY
|
|
1514
|
-
});
|
|
1515
|
-
return { newPan };
|
|
1516
|
-
};
|
|
1517
|
-
const getPanBounds = (width, height, elemBounds, zoom, minZoom, initPanZoomState, panType) => {
|
|
1518
|
-
const { x, y, w, h } = elemBounds;
|
|
1519
|
-
let minX, maxX, minY, maxY;
|
|
1520
|
-
if (panType === 'centerContent') {
|
|
1521
|
-
minX = width / 2 - (w + x) * zoom;
|
|
1522
|
-
minY = height / 2 - (h + y) * zoom;
|
|
1523
|
-
maxX = width / 2 - x * zoom;
|
|
1524
|
-
maxY = height / 2 - y * zoom;
|
|
1525
|
-
}
|
|
1526
|
-
else {
|
|
1527
|
-
// panType equals fixed
|
|
1528
|
-
const zoomRatio = zoom / minZoom;
|
|
1529
|
-
// Find left corner of the content at min zoom and content is centered
|
|
1530
|
-
const minZoomX = (width - w * minZoom) / 2 - x * minZoom;
|
|
1531
|
-
const minZoomY = (height - h * minZoom) / 2 - y * minZoom;
|
|
1532
|
-
// When we pan all the way to the right, the left corner of displayable area is 0,0 as in min zoom.
|
|
1533
|
-
// When we pan all the way to the left, lets find the corner of the displayable area
|
|
1534
|
-
const leftCornerX = width - width * zoomRatio;
|
|
1535
|
-
const leftCornerY = height - height * zoomRatio;
|
|
1536
|
-
// Now we have everything to calculate pan zoom constraints
|
|
1537
|
-
minX = leftCornerX + minZoomX * zoomRatio;
|
|
1538
|
-
minY = leftCornerY + minZoomY * zoomRatio;
|
|
1539
|
-
maxX = minZoomX * zoomRatio;
|
|
1540
|
-
maxY = minZoomY * zoomRatio;
|
|
1541
|
-
}
|
|
1542
|
-
const initZoom = initPanZoomState.zoom;
|
|
1543
|
-
const initCenterX = initPanZoomState.centerX;
|
|
1544
|
-
const initCenterY = initPanZoomState.centerY;
|
|
1545
|
-
// If an initial panZoomState is set, should expand pan bounds to include it
|
|
1546
|
-
let dx, dy;
|
|
1547
|
-
if (initCenterX) {
|
|
1548
|
-
const boundsX = initCenterX * initZoom - width / 2;
|
|
1549
|
-
if (-boundsX * initZoom < minX) {
|
|
1550
|
-
dx = minX - boundsX * initZoom;
|
|
1551
|
-
minX -= dx;
|
|
1552
|
-
maxX += dx;
|
|
1553
|
-
}
|
|
1554
|
-
else if (-boundsX * initZoom > maxX) {
|
|
1555
|
-
dx = -boundsX * initZoom - maxX;
|
|
1556
|
-
minX -= dx;
|
|
1557
|
-
maxX += dx;
|
|
1558
|
-
}
|
|
1559
|
-
}
|
|
1560
|
-
if (initCenterY) {
|
|
1561
|
-
const boundsY = initCenterY * initZoom - height / 2;
|
|
1562
|
-
if (-boundsY * initZoom < minY) {
|
|
1563
|
-
dy = minY - boundsY * initZoom;
|
|
1564
|
-
minY -= dy;
|
|
1565
|
-
maxY += dy;
|
|
1566
|
-
}
|
|
1567
|
-
else if (-boundsY * initZoom > maxY) {
|
|
1568
|
-
dy = -boundsY * initZoom - maxY;
|
|
1569
|
-
minY -= dy;
|
|
1570
|
-
maxY += dy;
|
|
1571
|
-
}
|
|
1572
|
-
}
|
|
1573
|
-
return {
|
|
1574
|
-
minX: minX,
|
|
1575
|
-
maxX: maxX,
|
|
1576
|
-
minY: minY,
|
|
1577
|
-
maxY: maxY
|
|
1578
|
-
};
|
|
1579
|
-
};
|
|
1580
|
-
|
|
1581
|
-
const useDragPan = ({ panProps, captureTargetRef, panBounds, width, height, zoom, onDragPanStart, onDragPanEnd }) => {
|
|
1582
|
-
const prevPanState = useRef({ panX: 0, panY: 0 });
|
|
1583
|
-
const initialPanState = useRef({ panX: 0, panY: 0 });
|
|
1584
|
-
const dragProps = useDrag({
|
|
1585
|
-
captureTargetRef,
|
|
1586
|
-
onDragStart: () => {
|
|
1587
|
-
const panValues = centerXYToPanXY(panProps.centerX, panProps.centerY, zoom, width, height);
|
|
1588
|
-
initialPanState.current = {
|
|
1589
|
-
panX: panValues.panX,
|
|
1590
|
-
panY: panValues.panY
|
|
1591
|
-
};
|
|
1592
|
-
onDragPanStart && onDragPanStart();
|
|
1593
|
-
},
|
|
1594
|
-
onDragMove: ({ dx, dy }) => {
|
|
1595
|
-
const nextPan = {
|
|
1596
|
-
panX: initialPanState.current.panX + dx,
|
|
1597
|
-
panY: initialPanState.current.panY + dy
|
|
1598
|
-
};
|
|
1599
|
-
const { newPan } = pan(prevPanState.current, nextPan, panProps.panDirection, zoom, width, height, panBounds, panProps.onPan);
|
|
1600
|
-
prevPanState.current = newPan;
|
|
1601
|
-
},
|
|
1602
|
-
onDragEnd: ({ originalEvent }) => {
|
|
1603
|
-
// If panning occurred, call preventDefault to prevent selection from occurring
|
|
1604
|
-
if (initialPanState.current.panX !== prevPanState.current.panX ||
|
|
1605
|
-
initialPanState.current.panY !== prevPanState.current.panY)
|
|
1606
|
-
originalEvent.preventDefault();
|
|
1607
|
-
onDragPanEnd && onDragPanEnd();
|
|
1608
|
-
},
|
|
1609
|
-
isDisabled: panProps.panning === 'off'
|
|
1610
|
-
});
|
|
1611
|
-
return dragProps;
|
|
1612
|
-
};
|
|
1613
|
-
|
|
1614
|
-
const PX_FACTOR_PER_LINE = 15; // Value used in Toolkit
|
|
1615
|
-
const PX_FACTOR_PER_PAGE = 40; // Value copied from datagrid; this is not handled in Toolkit
|
|
1616
|
-
const getNormalizedDelta = (e) => {
|
|
1617
|
-
const { deltaX, deltaY, deltaMode } = e;
|
|
1618
|
-
switch (deltaMode) {
|
|
1619
|
-
case e.DOM_DELTA_PIXEL:
|
|
1620
|
-
return { deltaX: -deltaX, deltaY: -deltaY };
|
|
1621
|
-
case e.DOM_DELTA_LINE:
|
|
1622
|
-
return { deltaX: -deltaX * PX_FACTOR_PER_LINE, deltaY: -deltaY * PX_FACTOR_PER_LINE };
|
|
1623
|
-
case e.DOM_DELTA_PAGE:
|
|
1624
|
-
return { deltaX: -deltaX * PX_FACTOR_PER_PAGE, deltaY: -deltaY * PX_FACTOR_PER_PAGE };
|
|
1625
|
-
default:
|
|
1626
|
-
return { deltaX: -deltaX, deltaY: -deltaY };
|
|
1627
|
-
}
|
|
1628
|
-
};
|
|
1629
|
-
const useWheel = ({ onWheel: onWheelCallback, preventDefault = true, isDisabled = false }) => {
|
|
1630
|
-
const onWheel = (e) => {
|
|
1631
|
-
const { deltaX, deltaY } = getNormalizedDelta(e);
|
|
1632
|
-
if (preventDefault)
|
|
1633
|
-
e.preventDefault();
|
|
1634
|
-
onWheelCallback({
|
|
1635
|
-
x: e.offsetX,
|
|
1636
|
-
y: e.offsetY,
|
|
1637
|
-
deltaX,
|
|
1638
|
-
deltaY,
|
|
1639
|
-
ctrlKey: e.ctrlKey || e.metaKey
|
|
1640
|
-
});
|
|
1641
|
-
};
|
|
1642
|
-
return isDisabled ? {} : { onWheel };
|
|
1643
|
-
};
|
|
1644
|
-
|
|
1645
|
-
/**
|
|
1646
|
-
* @license
|
|
1647
|
-
* Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
|
|
1648
|
-
* Licensed under The Universal Permissive License (UPL), Version 1.0
|
|
1649
|
-
* as shown at https://oss.oracle.com/licenses/upl/
|
|
1650
|
-
* @ignore
|
|
1651
|
-
*/
|
|
1652
|
-
const ZOOM_INCREMENT = 0.05;
|
|
1653
|
-
const zoom = (nextZoom, zoom, minZoom, maxZoom, onZoomChange) => {
|
|
1654
|
-
const newZoom = nextZoom > maxZoom || nextZoom < minZoom ? zoom : nextZoom;
|
|
1655
|
-
const isZoomChanged = newZoom !== zoom;
|
|
1656
|
-
isZoomChanged &&
|
|
1657
|
-
onZoomChange &&
|
|
1658
|
-
onZoomChange({
|
|
1659
|
-
zoomValue: newZoom
|
|
1660
|
-
});
|
|
1661
|
-
};
|
|
1662
|
-
|
|
1663
|
-
/**
|
|
1664
|
-
* @license
|
|
1665
|
-
* Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.
|
|
1666
|
-
* Licensed under The Universal Permissive License (UPL), Version 1.0
|
|
1667
|
-
* as shown at https://oss.oracle.com/licenses/upl/
|
|
1668
|
-
* @ignore
|
|
1669
|
-
*/
|
|
1670
|
-
const useWheelZoom = ({ zooming, minZoom, maxZoom, zoomValue, onZoom }) => {
|
|
1671
|
-
const wheelProps = useWheel({
|
|
1672
|
-
onWheel: ({ deltaY }) => {
|
|
1673
|
-
const newZoom = zoomValue * (1 + ZOOM_INCREMENT * deltaY);
|
|
1674
|
-
zoom(newZoom, zoomValue, minZoom, maxZoom, onZoom);
|
|
1675
|
-
},
|
|
1676
|
-
isDisabled: zooming === 'off'
|
|
1677
|
-
});
|
|
1678
|
-
return wheelProps;
|
|
1679
|
-
};
|
|
1680
|
-
|
|
1681
|
-
const getMidpoint = (p1, p2) => ({ x: (p1.x + p2.x) / 2, y: (p1.y + p2.y) / 2 });
|
|
1682
|
-
const getDistance = (p1, p2) => Math.sqrt((p2.x - p1.x) ** 2 + (p2.y - p2.y) ** 2);
|
|
1683
|
-
const usePinch = ({ captureTargetRef, onPinchZoomStart, onPinchZoomChange, onPinchZoomEnd, isDisabled = false }) => {
|
|
1684
|
-
const origin = useRef({ x: -1, y: -1 });
|
|
1685
|
-
const prevDistance = useRef(-1);
|
|
1686
|
-
const reset = () => {
|
|
1687
|
-
origin.current = { x: -1, y: -1 };
|
|
1688
|
-
prevDistance.current = -1;
|
|
1689
|
-
};
|
|
1690
|
-
if (isDisabled)
|
|
1691
|
-
reset();
|
|
1692
|
-
const pinchProps = usePointerGesture({
|
|
1693
|
-
captureTargetRef,
|
|
1694
|
-
numPointers: 2, // Pinch gesture requires 2 pointers
|
|
1695
|
-
onPointerGestureDown: ({ pointers: [pointer1, pointer2] }) => {
|
|
1696
|
-
const p1 = { x: pointer1.offsetX, y: pointer1.offsetY };
|
|
1697
|
-
const p2 = { x: pointer2.offsetX, y: pointer2.offsetY };
|
|
1698
|
-
origin.current = getMidpoint(p1, p2);
|
|
1699
|
-
prevDistance.current = getDistance(p1, p2);
|
|
1700
|
-
onPinchZoomStart &&
|
|
1701
|
-
onPinchZoomStart({
|
|
1702
|
-
origin: origin.current,
|
|
1703
|
-
delta: 0
|
|
1704
|
-
});
|
|
1705
|
-
},
|
|
1706
|
-
onPointerGestureMove: ({ pointers: [pointer1, pointer2] }) => {
|
|
1707
|
-
const p1 = { x: pointer1.offsetX, y: pointer1.offsetY };
|
|
1708
|
-
const p2 = { x: pointer2.offsetX, y: pointer2.offsetY };
|
|
1709
|
-
const distance = getDistance(p1, p2);
|
|
1710
|
-
const delta = distance - prevDistance.current;
|
|
1711
|
-
prevDistance.current = distance;
|
|
1712
|
-
onPinchZoomChange &&
|
|
1713
|
-
onPinchZoomChange({
|
|
1714
|
-
origin: origin.current,
|
|
1715
|
-
delta
|
|
1716
|
-
});
|
|
1717
|
-
},
|
|
1718
|
-
onPointerGestureEnd: () => {
|
|
1719
|
-
reset();
|
|
1720
|
-
onPinchZoomEnd && onPinchZoomEnd();
|
|
1721
|
-
}
|
|
1722
|
-
});
|
|
1723
|
-
return isDisabled ? {} : pinchProps;
|
|
1724
|
-
};
|
|
1725
|
-
|
|
1726
|
-
const usePinchZoom = ({ captureTargetRef, zooming, minZoom, maxZoom, zoomValue, onZoom }) => {
|
|
1727
|
-
const pinchProps = usePinch({
|
|
1728
|
-
captureTargetRef,
|
|
1729
|
-
onPinchZoomChange: ({ delta }) => {
|
|
1730
|
-
const newZoom = zoomValue * (1 + ZOOM_INCREMENT * delta);
|
|
1731
|
-
zoom(newZoom, zoomValue, minZoom, maxZoom, onZoom);
|
|
1732
|
-
},
|
|
1733
|
-
isDisabled: zooming === 'off'
|
|
1734
|
-
});
|
|
1735
|
-
return pinchProps;
|
|
1736
|
-
};
|
|
1737
|
-
|
|
1738
|
-
const usePanZoom = ({ props, captureTargetRef, width, height, contentBounds, isRtl }) => {
|
|
1739
|
-
const [cursor, setCursor] = useState();
|
|
1740
|
-
const zoomProps = getZoomProps(props, width, height, contentBounds);
|
|
1741
|
-
const panBounds = useRef();
|
|
1742
|
-
const prevZoom = useRef();
|
|
1743
|
-
const panning = useRef();
|
|
1744
|
-
const initPanZoomState = useRef({
|
|
1745
|
-
zoom: props.zoomValue || 0,
|
|
1746
|
-
centerX: props.centerX,
|
|
1747
|
-
centerY: props.centerY
|
|
1748
|
-
});
|
|
1749
|
-
const isDeviceTouch = isTouch();
|
|
1750
|
-
const plotArea = {
|
|
1751
|
-
width: width,
|
|
1752
|
-
height: height,
|
|
1753
|
-
x: 0,
|
|
1754
|
-
y: 0
|
|
1755
|
-
};
|
|
1756
|
-
const showPanButton = isDeviceTouch ? props.panning && props.panning !== 'off' : undefined;
|
|
1757
|
-
const dragModeOptions = {
|
|
1758
|
-
isZoomScroll: true,
|
|
1759
|
-
plotAreaSpace: plotArea,
|
|
1760
|
-
componentWidth: width,
|
|
1761
|
-
isRtl,
|
|
1762
|
-
showPanButton: showPanButton ?? false,
|
|
1763
|
-
showZoomButton: false,
|
|
1764
|
-
showSelectButton: false,
|
|
1765
|
-
isDisabled: !isDeviceTouch
|
|
1766
|
-
};
|
|
1767
|
-
const { toggleButtonContent, userDragMode } = useVisDragModeControls(dragModeOptions);
|
|
1768
|
-
const panProps = getPanProps(props, contentBounds, userDragMode, isDeviceTouch);
|
|
1769
|
-
if (contentBounds.w !== Infinity &&
|
|
1770
|
-
(zoomProps.zoomValue !== prevZoom.current || panProps.panning !== panning.current)) {
|
|
1771
|
-
panBounds.current = getPanBounds(width, height, contentBounds, zoomProps.zoomValue, zoomProps.minZoom, initPanZoomState.current, panProps.panning);
|
|
1772
|
-
prevZoom.current = zoomProps.zoomValue;
|
|
1773
|
-
panning.current = panProps.panning;
|
|
1774
|
-
}
|
|
1775
|
-
const dragPanProps = useDragPan({
|
|
1776
|
-
panProps: panProps,
|
|
1777
|
-
captureTargetRef: captureTargetRef,
|
|
1778
|
-
panBounds: panBounds.current,
|
|
1779
|
-
zoom: zoomProps.zoomValue,
|
|
1780
|
-
width,
|
|
1781
|
-
height,
|
|
1782
|
-
onDragPanStart: () => setCursor('grabbing'),
|
|
1783
|
-
onDragPanEnd: () => setCursor('auto')
|
|
1784
|
-
});
|
|
1785
|
-
//dZoom or nZoom is required
|
|
1786
|
-
const kbZoomCallback = (props) => {
|
|
1787
|
-
const newZoom = props.dZoom
|
|
1788
|
-
? zoomProps.zoomValue + props.dZoom
|
|
1789
|
-
: getZoomToFitZoom(width, height, contentBounds);
|
|
1790
|
-
zoom(props.nZoom ? props.nZoom : newZoom, zoomProps.zoomValue, zoomProps.minZoom, zoomProps.maxZoom, zoomProps.onZoom);
|
|
1791
|
-
};
|
|
1792
|
-
const prevPanState = useRef({ panX: 0, panY: 0 });
|
|
1793
|
-
// dPan or nPan is required
|
|
1794
|
-
const kbPanCallback = (props) => {
|
|
1795
|
-
let centerX;
|
|
1796
|
-
let centerY;
|
|
1797
|
-
if (props.center) {
|
|
1798
|
-
centerX = contentBounds.x + contentBounds.w / 2;
|
|
1799
|
-
centerY = contentBounds.y + contentBounds.h / 2;
|
|
1800
|
-
}
|
|
1801
|
-
else if (props.dPan) {
|
|
1802
|
-
centerX = panProps.centerX + props.dPan.dx;
|
|
1803
|
-
centerY = panProps.centerY + props.dPan.dy;
|
|
1804
|
-
}
|
|
1805
|
-
else {
|
|
1806
|
-
centerX = props.nPan.cx;
|
|
1807
|
-
centerY = props.nPan.cy;
|
|
1808
|
-
}
|
|
1809
|
-
const panValues = centerXYToPanXY(centerX, centerY, zoomProps.zoomValue, width, height);
|
|
1810
|
-
const { newPan } = pan(prevPanState.current, panValues, panProps.panDirection, zoomProps.zoomValue, width, height, panBounds.current, panProps.onPan);
|
|
1811
|
-
prevPanState.current = newPan;
|
|
1812
|
-
};
|
|
1813
|
-
const wheelZoomProps = useWheelZoom(zoomProps);
|
|
1814
|
-
const pinchZoomProps = usePinchZoom({
|
|
1815
|
-
captureTargetRef,
|
|
1816
|
-
zooming: zoomProps.zooming,
|
|
1817
|
-
minZoom: zoomProps.minZoom,
|
|
1818
|
-
maxZoom: zoomProps.maxZoom,
|
|
1819
|
-
zoomValue: zoomProps.zoomValue,
|
|
1820
|
-
onZoom: zoomProps.onZoom
|
|
1821
|
-
});
|
|
1822
|
-
const panZoomProps = mergeProps(dragPanProps, wheelZoomProps, pinchZoomProps);
|
|
1823
|
-
return {
|
|
1824
|
-
panZoomProps,
|
|
1825
|
-
panProps,
|
|
1826
|
-
zoomProps,
|
|
1827
|
-
toggleButtonContent,
|
|
1828
|
-
cursor,
|
|
1829
|
-
centerX: panProps.centerX,
|
|
1830
|
-
centerY: panProps.centerY,
|
|
1831
|
-
zoomValue: zoomProps.zoomValue,
|
|
1832
|
-
kbPanCallback: panProps.panning !== 'off' ? kbPanCallback : undefined,
|
|
1833
|
-
kbZoomCallback: zoomProps.zooming !== 'off' ? kbZoomCallback : undefined
|
|
1834
|
-
};
|
|
1835
|
-
};
|
|
1836
|
-
|
|
1837
|
-
function useDiagramSelection({ selectedIds, selectionMode, nodeMap, linkMap, focusedItemInfo, onSelectionChange, rootRef }) {
|
|
1838
|
-
const nodeIdToIndexMap = nodeMap.itemIdToIndexMap;
|
|
1839
|
-
const nodeIndexToIdMap = nodeMap.itemIndexToIdMap;
|
|
1840
|
-
const nodeIdToDataMap = nodeMap.itemIdToDataMap;
|
|
1841
|
-
const linkIdToIndexMap = linkMap.itemIdToIndexMap;
|
|
1842
|
-
const linkIndexToIdMap = linkMap.itemIndexToIdMap;
|
|
1843
|
-
const linkIdToDataMap = linkMap.itemIdToDataMap;
|
|
1844
|
-
const encodeNodeId = (id) => `N_${nodeIdToIndexMap.get(id)}`;
|
|
1845
|
-
const decodeNodeId = (id) => nodeIndexToIdMap.get(Number(id.slice(2)));
|
|
1846
|
-
const encodeLinkId = (id) => `L_${linkIdToIndexMap.get(id)}`;
|
|
1847
|
-
const decodeLinkId = (id) => linkIndexToIdMap.get(Number(id.slice(2)));
|
|
1848
|
-
const encodedNodesSelection = selectedIds.nodes ? selectedIds.nodes.map(encodeNodeId) : [];
|
|
1849
|
-
const encodedLinksSelection = selectedIds.links ? selectedIds.links.map(encodeLinkId) : [];
|
|
1850
|
-
const encodedSelection = [...encodedNodesSelection, ...encodedLinksSelection];
|
|
1851
|
-
const idExtracter = (event) => {
|
|
1852
|
-
// return encodeNodeId(id) or encodeLinkId(id) depending on node or link selection or undefined if clicked on empty space
|
|
1853
|
-
const info = event.type === 'keyup'
|
|
1854
|
-
? focusedItemInfo
|
|
1855
|
-
: getNavigableInfo(event.target, rootRef);
|
|
1856
|
-
return info.id !== undefined
|
|
1857
|
-
? info.isNode
|
|
1858
|
-
? encodeNodeId(info.id)
|
|
1859
|
-
: encodeLinkId(info.id)
|
|
1860
|
-
: undefined;
|
|
1861
|
-
};
|
|
1862
|
-
const onEncodedSelectionChange = (detail) => {
|
|
1863
|
-
const newNodeIds = detail.ids
|
|
1864
|
-
.filter((encId) => encId[0] === 'N')
|
|
1865
|
-
.map((encId) => decodeNodeId(encId));
|
|
1866
|
-
const newLinkIds = detail.ids
|
|
1867
|
-
.filter((encId) => encId[0] === 'L')
|
|
1868
|
-
.map((encId) => decodeLinkId(encId));
|
|
1869
|
-
const newSelectedNodeIds = newNodeIds.filter((id) => nodeIdToDataMap.get(id)?.selectable !== 'off');
|
|
1870
|
-
const newSelectedLinkIds = newLinkIds.filter((id) => linkIdToDataMap.get(id)?.selectable !== 'off');
|
|
1871
|
-
const nodeData = newSelectedNodeIds.map((selectedId) => {
|
|
1872
|
-
return nodeIdToDataMap.get(selectedId);
|
|
1873
|
-
});
|
|
1874
|
-
const linkData = newSelectedLinkIds.map((selectedId) => {
|
|
1875
|
-
return linkIdToDataMap.get(selectedId);
|
|
1876
|
-
});
|
|
1877
|
-
return (onSelectionChange &&
|
|
1878
|
-
onSelectionChange({
|
|
1879
|
-
nodes: newSelectedNodeIds,
|
|
1880
|
-
links: newSelectedLinkIds,
|
|
1881
|
-
nodeData,
|
|
1882
|
-
linkData
|
|
1883
|
-
}));
|
|
1884
|
-
};
|
|
1885
|
-
const getDataById = (id) => {
|
|
1886
|
-
let data;
|
|
1887
|
-
if (id[0] === 'N') {
|
|
1888
|
-
const nodeId = decodeNodeId(id);
|
|
1889
|
-
data = nodeMap.itemIdToDataMap.get(nodeId);
|
|
1890
|
-
}
|
|
1891
|
-
else if (id[0] === 'L') {
|
|
1892
|
-
const linkId = decodeLinkId(id);
|
|
1893
|
-
data = linkMap.itemIdToDataMap.get(linkId);
|
|
1894
|
-
}
|
|
1895
|
-
return data;
|
|
1896
|
-
};
|
|
1897
|
-
const { selectionContent, selectionProps } = useSelection({
|
|
1898
|
-
selection: encodedSelection,
|
|
1899
|
-
idExtracter,
|
|
1900
|
-
selectionMode,
|
|
1901
|
-
getDataById,
|
|
1902
|
-
onChange: onEncodedSelectionChange
|
|
1903
|
-
});
|
|
1904
|
-
return { selectionContent, selectionProps };
|
|
1905
|
-
}
|
|
1906
|
-
|
|
1907
|
-
function DiagramWithDimensions({ nodes = [], links = [], width, height, selectedIds = {}, selectionMode = 'none', layout, nodeRenderer, linkRenderer, onSelectionChange, onItemHover, onItemFocus, highlightedIds = {}, datatip, ...otherProps }) {
|
|
1908
|
-
const focusedItemBoundsRef = useRef(null);
|
|
1909
|
-
const rootRef = useRef(null);
|
|
1910
|
-
//TODO JET-62563 change bounds to a MAP
|
|
1911
|
-
const [bounds, setBounds] = useState([]);
|
|
1912
|
-
const [combinedLabelBounds, setCombinedLabelBounds] = useState();
|
|
1913
|
-
const { direction } = useUser();
|
|
1914
|
-
const isRtl = direction === 'rtl';
|
|
1915
|
-
const diagramNodes = nodes;
|
|
1916
|
-
const nodeMap = createItemMap(diagramNodes);
|
|
1917
|
-
const nodeIdToDataMap = nodeMap.itemIdToDataMap;
|
|
1918
|
-
const diagramLinks = filterLinksWithNoEndNodes(links, nodeIdToDataMap);
|
|
1919
|
-
const linkMap = createItemMap(diagramLinks);
|
|
1920
|
-
const linkIdToDataMap = linkMap.itemIdToDataMap;
|
|
1921
|
-
const resizeThrottling = useRef(false);
|
|
1922
|
-
const newDimensions = getDimensionsFromBounds(bounds);
|
|
1923
|
-
const { textMeasureContent, getTextDimensions } = useTextDimensions();
|
|
1924
|
-
const labelDimensions = useRef(new Map());
|
|
1925
|
-
const nodeLabelPosRef = useRef([]);
|
|
1926
|
-
const linkLabelPosRef = useRef([]);
|
|
1927
|
-
const layoutOutputRef = useRef();
|
|
1928
|
-
const contentBounds = getContentBounds(bounds, combinedLabelBounds);
|
|
1929
|
-
const { panZoomProps, panProps, zoomProps, toggleButtonContent, cursor, centerX, centerY, zoomValue, kbPanCallback, kbZoomCallback } = usePanZoom({
|
|
1930
|
-
props: otherProps,
|
|
1931
|
-
captureTargetRef: rootRef,
|
|
1932
|
-
width: width,
|
|
1933
|
-
height: height,
|
|
1934
|
-
contentBounds,
|
|
1935
|
-
isRtl
|
|
1936
|
-
});
|
|
1937
|
-
const { touchResponse, touchResponseStyle } = useVisTouchResponse({
|
|
1938
|
-
type: 'auto',
|
|
1939
|
-
supportsTouchDragGestures: zoomProps.zooming === 'on' || panProps.panning !== 'off',
|
|
1940
|
-
rootRef
|
|
1941
|
-
});
|
|
1942
|
-
const { focusedItemInfo, hoveredItemInfo, activeId, eventsProps } = useEvents(touchResponse, diagramNodes[0], diagramNodes, diagramLinks, bounds, linkIdToDataMap, nodeIdToDataMap, nodeMap.itemIdToIndexMap, width, height, otherProps.maxZoom || 1, onItemHover, onItemFocus, kbPanCallback, kbZoomCallback);
|
|
1943
|
-
const { selectionProps, selectionContent } = useDiagramSelection({
|
|
1944
|
-
selectedIds,
|
|
1945
|
-
selectionMode,
|
|
1946
|
-
nodeMap,
|
|
1947
|
-
linkMap,
|
|
1948
|
-
focusedItemInfo,
|
|
1949
|
-
onSelectionChange,
|
|
1950
|
-
rootRef
|
|
1951
|
-
});
|
|
1952
|
-
// This is for the datatip kb position
|
|
1953
|
-
if (focusedItemInfo && bounds.length > 0) {
|
|
1954
|
-
focusedItemBoundsRef.current = getFocusedItemBounds(focusedItemInfo, bounds, diagramLinks, nodeMap.itemIdToIndexMap, linkMap.itemIdToIndexMap);
|
|
1955
|
-
}
|
|
1956
|
-
const { datatipContent, datatipProps: { 'aria-describedby': datatipAriaDescribedby, ...datatipProps } } = useDiagramDatatip({
|
|
1957
|
-
touchResponse,
|
|
1958
|
-
datatip,
|
|
1959
|
-
focusedItemInfo,
|
|
1960
|
-
focusedItemBoundsRef,
|
|
1961
|
-
panState: centerXYToPanXY(centerX, centerY, zoomValue, width, height),
|
|
1962
|
-
zoom: zoomValue,
|
|
1963
|
-
width: width,
|
|
1964
|
-
nodesMap: nodeIdToDataMap,
|
|
1965
|
-
linksMap: linkIdToDataMap,
|
|
1966
|
-
hoveredItem: hoveredItemInfo
|
|
1967
|
-
});
|
|
1968
|
-
const style = {
|
|
1969
|
-
width: width,
|
|
1970
|
-
height: height,
|
|
1971
|
-
cursor: cursor,
|
|
1972
|
-
...touchResponseStyle
|
|
1973
|
-
};
|
|
1974
|
-
const states = useRef();
|
|
1975
|
-
const previousState = states.current // states.current is previous state
|
|
1976
|
-
? states.current
|
|
1977
|
-
: {
|
|
1978
|
-
selectedNodeIds: [],
|
|
1979
|
-
selectedLinkIds: [],
|
|
1980
|
-
focusedId: undefined,
|
|
1981
|
-
hoveredId: undefined,
|
|
1982
|
-
activeId: undefined,
|
|
1983
|
-
highlightedIds: [],
|
|
1984
|
-
zoom: 0
|
|
1985
|
-
};
|
|
1986
|
-
states.current = {
|
|
1987
|
-
// update states to new state
|
|
1988
|
-
selectedNodeIds: selectedIds.nodes ?? [],
|
|
1989
|
-
selectedLinkIds: selectedIds.links ?? [],
|
|
1990
|
-
focusedId: focusedItemInfo.isCurrent && focusedItemInfo.isFocusVisible ? focusedItemInfo.id : undefined,
|
|
1991
|
-
hoveredId: hoveredItemInfo?.isCurrent ? hoveredItemInfo.id : undefined,
|
|
1992
|
-
activeId,
|
|
1993
|
-
highlightedIds: combineIds(highlightedIds.nodes, highlightedIds.links),
|
|
1994
|
-
zoom: zoomValue
|
|
1995
|
-
};
|
|
1996
|
-
const mergedEventProps = mergeProps(panZoomProps, eventsProps, selectionProps, datatipProps);
|
|
1997
|
-
// Called anytime node changes size
|
|
1998
|
-
const onNodeSizeChanged = (nodeWidth, nodeHeight, idx) => {
|
|
1999
|
-
newDimensions[idx] = { w: nodeWidth, h: nodeHeight };
|
|
2000
|
-
if (resizeThrottling.current) {
|
|
2001
|
-
return;
|
|
2002
|
-
}
|
|
2003
|
-
resizeThrottling.current = true;
|
|
2004
|
-
// performs layout at the next available animation frame when all measurements should be ready
|
|
2005
|
-
window.requestAnimationFrame(() => {
|
|
2006
|
-
const { labelDims, layoutJSON } = constructLayoutJSON(diagramNodes, nodeIdToDataMap, linkIdToDataMap, newDimensions, width, height, getTextDimensions);
|
|
2007
|
-
labelDimensions.current = labelDims;
|
|
2008
|
-
const layoutOutput = layout(layoutJSON);
|
|
2009
|
-
const { nodePoints, nodeLabelPos, linkLabelPos } = deconstructLayoutJSON(layoutOutput, diagramNodes, diagramLinks);
|
|
2010
|
-
nodeLabelPosRef.current = nodeLabelPos;
|
|
2011
|
-
linkLabelPosRef.current = linkLabelPos;
|
|
2012
|
-
layoutOutputRef.current = layoutOutput;
|
|
2013
|
-
const nodeBounds = mergeDimensions(newDimensions, nodePoints);
|
|
2014
|
-
if (!isEqualBounds(nodeBounds, bounds)) {
|
|
2015
|
-
setBounds(nodeBounds);
|
|
2016
|
-
}
|
|
2017
|
-
const labelBounds = getAllLabelBounds(labelDims, diagramNodes, diagramLinks, nodeLabelPos, linkLabelPos, direction === 'rtl');
|
|
2018
|
-
setCombinedLabelBounds(labelBounds);
|
|
2019
|
-
resizeThrottling.current = false;
|
|
2020
|
-
});
|
|
2021
|
-
};
|
|
2022
|
-
return (jsxs("div", { ref: rootRef, class: outerStyles, ...mergedEventProps, style: style, tabIndex: 0, role: "application", "aria-label": otherProps['aria-label'], "aria-labelledby": otherProps['aria-labelledby'], "aria-describedby": merge([otherProps['aria-describedby'], datatipAriaDescribedby]), "aria-activedescendant": activeId, children: [getTextDimensions ? (jsx(DiagramPanZoomContainer, { centerX: centerX, centerY: centerY, zoom: zoomValue, width: width, height: height, children: jsx(DiagramLayers, { nodes: diagramNodes, links: diagramLinks, nodeRenderer: nodeRenderer, linkRenderer: linkRenderer, width: width, height: height, nodeBounds: bounds, states: states.current, previousStates: previousState, onNodeSizeChanged: onNodeSizeChanged, nodeLabelPositions: nodeLabelPosRef.current, linkLabelPositions: linkLabelPosRef.current, labelDimensions: labelDimensions.current, supportsSelection: selectionMode !== 'none' ||
|
|
2023
|
-
!!(selectedIds?.nodes && selectedIds.nodes.length > 0) ||
|
|
2024
|
-
!!(selectedIds?.links && selectedIds.links.length > 0), layoutOutput: layoutOutputRef.current, combinedNodeBounds: contentBounds }) })) : undefined, textMeasureContent, datatipContent, selectionContent, toggleButtonContent] }));
|
|
2025
|
-
}
|
|
2026
|
-
|
|
2027
|
-
/**
|
|
2028
|
-
* Diagrams are used to display a set of nodes and the links between them.
|
|
2029
|
-
*/
|
|
2030
|
-
function Diagram({ width, height, ...otherProps }) {
|
|
2031
|
-
return otherProps.nodes && otherProps.nodes.length > 0 ? (jsx(TrackResizeContainer, { width: width, height: height, class: dimensionStyle, children: (width, height) => jsx(DiagramWithDimensions, { width: width, height: height, ...otherProps }) })) : null;
|
|
2032
|
-
}
|
|
2033
|
-
|
|
2034
|
-
export { Diagram as D };
|
|
2035
|
-
//# sourceMappingURL=Diagram-32842af8.js.map
|