@oracle/oraclejet-preact 18.0.5 → 18.0.7
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-3f86f73f.js +1 -1
- package/amd/BarChart-5e9f46b4.js +1 -1
- package/amd/BarGroup-76ef0839.js +1 -1
- package/amd/BaseButton-19a622bc.js +1 -1
- package/amd/BaseCardView-ab799b69.js +2 -0
- package/amd/BaseCardView-ab799b69.js.map +1 -0
- package/amd/BaseCardViewSelectionTest-d026d26c.js +2 -0
- package/amd/BaseCardViewSelectionTest-d026d26c.js.map +1 -0
- package/amd/BaseNavigationListItem-fe9cb691.js +1 -1
- package/amd/BaseRichSelection-9d8f3ee4.js +1 -1
- package/amd/ButtonSet-d95872cc.js +1 -1
- package/amd/ButtonSetIconButton-7a2c113c.js +1 -1
- package/amd/Card-8e081def.js +2 -0
- package/amd/Card-8e081def.js.map +1 -0
- package/amd/CardFlexView-296f97f5.js +2 -0
- package/amd/CardFlexView-296f97f5.js.map +1 -0
- package/amd/CardGridView-054ffc3f.js +2 -0
- package/amd/CardGridView-054ffc3f.js.map +1 -0
- package/amd/Center-9ec5524e.js +2 -0
- package/amd/Center-9ec5524e.js.map +1 -0
- package/amd/Chart-e2807ff7.js +1 -1
- package/amd/CheckboxControl-83484a5a.js +1 -1
- package/amd/CheckboxRadioField-9733dd24.js +1 -1
- package/amd/Chip-cd210507.js +1 -1
- package/amd/ClearIcon-de20285c.js +1 -1
- package/amd/CollapseIcon-e030531c.js +1 -1
- package/amd/Collapsible-924afd71.js +1 -1
- package/amd/ComboChart-71c0f51f.js +1 -1
- package/amd/CompactHelpSource-74498e92.js +1 -1
- package/amd/CompactLabelAssistance-c6928282.js +2 -0
- package/amd/CompactLabelAssistance-c6928282.js.map +1 -0
- package/amd/CompactUserAssistance-3370a318.js +1 -1
- package/amd/ComponentMessageContainer-8028ba70.js +1 -1
- package/amd/ConveyorBeltItem-08720127.js +1 -1
- package/amd/DatePicker-bf0e0c69.js +2 -0
- package/amd/DatePicker-bf0e0c69.js.map +1 -0
- package/amd/DatePickerHeader-f21e020d.js +1 -1
- package/amd/Diagram-04db0931.js +2 -0
- package/amd/Diagram-04db0931.js.map +1 -0
- package/amd/Dialog-5f36f8aa.js +2 -0
- package/amd/Dialog-5f36f8aa.js.map +1 -0
- package/amd/DirectionalCollapseArrowIcon-20cef34d.js +1 -1
- package/amd/DirectionalExpandArrowIcon-e9bdb06e.js +1 -1
- package/amd/DragHandle-406d7f9a.js +2 -0
- package/amd/DragHandle-406d7f9a.js.map +1 -0
- package/amd/Dropdown-abcacf49.js +2 -0
- package/amd/Dropdown-abcacf49.js.map +1 -0
- package/amd/EnvironmentProvider-c0e1e39b.js +2 -0
- package/amd/EnvironmentProvider-c0e1e39b.js.map +1 -0
- package/amd/ExpandableList-dd3a05b4.js +1 -1
- package/amd/FilePicker-4636b49b.js +1 -1
- package/amd/Flex-3421f0df.js +2 -0
- package/amd/Flex-3421f0df.js.map +1 -0
- package/amd/Floating-5d98c1ca.js +2 -0
- package/amd/Floating-5d98c1ca.js.map +1 -0
- package/amd/FormLayout-a4a29a2d.js +1 -1
- package/amd/Gantt-d94af58e.js +1 -1
- package/amd/Grid-8911aa0f.js +2 -0
- package/amd/Grid-8911aa0f.js.map +1 -0
- package/amd/Gridlines-bef7bbfc.js +2 -0
- package/amd/Gridlines-bef7bbfc.js.map +1 -0
- package/amd/GroupLoadingIndicator-6b2ab709.js +1 -1
- package/amd/HighlightText-644bc74e.js +2 -0
- package/amd/HighlightText-644bc74e.js.map +1 -0
- package/amd/Icon-2d38c876.js +1 -1
- package/amd/IconButton-ae9a01ce.js +1 -1
- package/amd/IconMenuButton-b0468fa8.js +1 -1
- package/amd/IconProgressButton-ff5372eb.js +1 -1
- package/amd/IconSwitchButton-22f907e7.js +1 -1
- package/amd/IconToggleButton-20d411e6.js +1 -1
- package/amd/IconUserAssistance-37107cea.js +2 -0
- package/amd/IconUserAssistance-37107cea.js.map +1 -0
- package/amd/Indexer-1531dbc3.js +2 -0
- package/amd/Indexer-1531dbc3.js.map +1 -0
- package/amd/InlineHelpSource-85961e81.js +1 -1
- package/amd/InlineUserAssistance-4656c2a6.js +1 -1
- package/amd/InputDateMask-6d54c3e6.js +1 -1
- package/amd/InputDatePicker-fc39f0a6.js +1 -1
- package/amd/InputPassword-f6ea728a.js +1 -1
- package/amd/InputText-57f60b6f.js +1 -1
- package/amd/Label-3912beb2.js +1 -1
- package/amd/LabelValueLayout-194e64d9.js +1 -1
- package/amd/Layer-6f29b67f.js +2 -0
- package/amd/Layer-6f29b67f.js.map +1 -0
- package/amd/LayerHost-639b3284.js +2 -0
- package/amd/LayerHost-639b3284.js.map +1 -0
- package/amd/LayerManager-2972de92.js +2 -0
- package/amd/LayerManager-2972de92.js.map +1 -0
- package/amd/Legend-e4949499.js +1 -1
- package/amd/LineAreaChart-2ba275ab.js +2 -0
- package/amd/LineAreaChart-2ba275ab.js.map +1 -0
- package/amd/LineSeries-797d8d16.js +2 -0
- package/amd/LineSeries-797d8d16.js.map +1 -0
- package/amd/Link-c4a57187.js +1 -1
- package/amd/List-0b764e84.js +2 -0
- package/amd/List-0b764e84.js.map +1 -0
- package/amd/ListItemLayout-e0b2c71e.js +2 -0
- package/amd/ListItemLayout-e0b2c71e.js.map +1 -0
- package/amd/ListView-5bb45f81.js +2 -0
- package/amd/ListView-5bb45f81.js.map +1 -0
- package/amd/LiveRegion-9a362373.js +2 -0
- package/amd/LiveRegion-9a362373.js.map +1 -0
- package/amd/LoadMoreCollection-83413a59.js +2 -0
- package/amd/LoadMoreCollection-83413a59.js.map +1 -0
- package/amd/MaxLengthLiveRegion-bb956138.js +2 -0
- package/amd/MaxLengthLiveRegion-bb956138.js.map +1 -0
- package/amd/Menu-5d447084.js +1 -1
- package/amd/MenuButton-410aa4e1.js +1 -1
- package/amd/MenuItem-87cd59b8.js +1 -1
- package/amd/Message-621fb578.js +1 -1
- package/amd/MessageLayer-8bac8c50.js +2 -0
- package/amd/MessageLayer-8bac8c50.js.map +1 -0
- package/amd/MessageToast-06773c79.js +1 -1
- package/amd/MessagesManager-d5686336.js +1 -1
- package/amd/MeterBar-e1b4a93b.js +1 -1
- package/amd/MeterCircle-9887cf28.js +1 -1
- package/amd/Modal-7bece8d5.js +2 -0
- package/amd/Modal-7bece8d5.js.map +1 -0
- package/amd/MonthView-3d0968a1.js +2 -0
- package/amd/MonthView-3d0968a1.js.map +1 -0
- package/amd/NavigationListItem-044a79fd.js +2 -0
- package/amd/NavigationListItem-044a79fd.js.map +1 -0
- package/amd/NumberInputText-cac12eb3.js +1 -1
- package/amd/OverflowTabBar-339f34cf.js +2 -0
- package/amd/OverflowTabBar-339f34cf.js.map +1 -0
- package/amd/OverflowTabBarItem-c59db4a2.js +2 -0
- package/amd/OverflowTabBarItem-c59db4a2.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_LoadMoreCollection.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_VirtualizedCollection.js +1 -1
- package/amd/PRIVATE_VisOverview.js +1 -1
- package/amd/PRIVATE_VisTabularDatatip.js +1 -1
- package/amd/PictoChart-48a25c75.js +1 -1
- package/amd/PieChart-2197746d.js +1 -1
- package/amd/Popup-66e79afa.js +2 -0
- package/amd/Popup-66e79afa.js.map +1 -0
- package/amd/ProgressBar-e72c5a67.js +2 -0
- package/amd/ProgressBar-e72c5a67.js.map +1 -0
- package/amd/ProgressButton-f1d27773.js +1 -1
- package/amd/ProgressButtonLabelLayout-6df4290e.js +1 -1
- package/amd/ProgressCircle-2b4ba9cd.js +2 -0
- package/amd/ProgressCircle-2b4ba9cd.js.map +1 -0
- package/amd/RadioItem-b17c346c.js +1 -1
- package/amd/RatingGauge-539ede8e.js +1 -1
- package/amd/ReadonlyTextFieldInput-608bddc1.js +1 -1
- package/amd/RemovableNavigationListItem-e01b6693.js +1 -1
- package/amd/RemovableTabBarItem-29b54206.js +1 -1
- package/amd/ReorderableTabBar-462d357c.js +1 -1
- package/amd/RevealToggleIcon-f975229d.js +1 -1
- package/amd/ScatterChart-7f0b817b.js +2 -0
- package/amd/ScatterChart-7f0b817b.js.map +1 -0
- package/amd/SectionalLegend-8f203cac.js +1 -1
- package/amd/SectionedContent-19bef3cc.js +2 -0
- package/amd/SectionedContent-19bef3cc.js.map +1 -0
- package/amd/SelectMultiple-7e9bd455.js +2 -0
- package/amd/SelectMultiple-7e9bd455.js.map +1 -0
- package/amd/SelectSingle-466bcd67.js +2 -0
- package/amd/SelectSingle-466bcd67.js.map +1 -0
- package/amd/SelectionCard-13aac54a.js +2 -0
- package/amd/SelectionCard-13aac54a.js.map +1 -0
- package/amd/Selector-2b0c34a7.js +1 -1
- package/amd/SelectorAll-1c889a9c.js +2 -0
- package/amd/SelectorAll-1c889a9c.js.map +1 -0
- package/amd/Sheet-0b58b0a5.js +2 -0
- package/amd/Sheet-0b58b0a5.js.map +1 -0
- package/amd/SplitMenuButton-031ae5e3.js +1 -1
- package/amd/StyledCard-0da6f6b5.js +2 -0
- package/amd/StyledCard-0da6f6b5.js.map +1 -0
- package/amd/StyledTextField-b4278437.js +1 -1
- package/amd/TabBar-d8890a47.js +1 -1
- package/amd/TabBarItem-547825e2.js +1 -1
- package/amd/TabBarLayout-685ac295.js +1 -1
- package/amd/TabBarMixed-a75796a6.js +1 -1
- package/amd/TabBarMixedSeparator-ed764207.js +2 -0
- package/amd/TabBarMixedSeparator-ed764207.js.map +1 -0
- package/amd/Table-87f7e3c4.js +2 -0
- package/amd/Table-87f7e3c4.js.map +1 -0
- package/amd/TableView-2b884e2c.js +2 -0
- package/amd/TableView-2b884e2c.js.map +1 -0
- package/amd/TagCloud-5dc4b5ff.js +1 -1
- package/amd/TextArea-a7a3d82f.js +1 -1
- package/amd/TextAreaAutosize-9cd2c1e8.js +1 -1
- package/amd/TextField-1021f00b.js +1 -1
- package/amd/TextFieldInput-ba4e508c.js +1 -1
- package/amd/Theme-redwood/theme.css +143 -143
- package/amd/Theme-stable/theme.css +389 -389
- package/amd/TimeComponentCanvas2D-6b4e6ead.js +1 -1
- package/amd/Toolbar-05d42276.js +1 -1
- package/amd/TruncatingBadge-7f66faaf.js +2 -0
- package/amd/TruncatingBadge-7f66faaf.js.map +1 -0
- package/amd/TruncatingText-69770aa9.js +2 -0
- package/amd/TruncatingText-69770aa9.js.map +1 -0
- 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_ChartWithLegend.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-bd5c7fa7.js +2 -0
- package/amd/View-bd5c7fa7.js.map +1 -0
- package/amd/VirtualizedCollection-897516a5.js +2 -0
- package/amd/VirtualizedCollection-897516a5.js.map +1 -0
- package/amd/VirtualizedListView-cbe87ec2.js +2 -0
- package/amd/VirtualizedListView-cbe87ec2.js.map +1 -0
- package/amd/VisNoData-10983ace.js +2 -0
- package/amd/VisNoData-10983ace.js.map +1 -0
- package/amd/VisProgressiveLoader-06a60c8f.js +2 -0
- package/amd/VisProgressiveLoader-06a60c8f.js.map +1 -0
- package/amd/VisTabularDatatip-55bbd19f.js +2 -0
- package/amd/VisTabularDatatip-55bbd19f.js.map +1 -0
- package/amd/WindowOverlay-43c10424.js +2 -0
- package/amd/WindowOverlay-43c10424.js.map +1 -0
- package/amd/YearsGridView-d7b2184e.js +2 -0
- package/amd/YearsGridView-d7b2184e.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_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-95227deb.js +2 -0
- package/amd/index-95227deb.js.map +1 -0
- package/amd/listViewSelectionTests-c9777ea8.js +1 -1
- package/amd/render-85c034d7.js +2 -0
- package/amd/render-85c034d7.js.map +1 -0
- package/amd/tabbableUtils-591fdc8d.js +2 -0
- package/amd/tabbableUtils-591fdc8d.js.map +1 -0
- package/amd/testData-02652eda.js +2 -0
- package/amd/testData-02652eda.js.map +1 -0
- package/amd/tooltipUtils-e5bdb734.js +2 -0
- package/amd/tooltipUtils-e5bdb734.js.map +1 -0
- package/amd/useCellNavigation-1feec094.js +1 -1
- package/amd/useChartContextMenu-8606bfa2.js +1 -1
- package/amd/useChartDatatip-947eeffe.js +2 -0
- package/amd/useChartDatatip-947eeffe.js.map +1 -0
- package/amd/useColorScheme-443e7cc7.js +2 -0
- package/amd/useColorScheme-443e7cc7.js.map +1 -0
- package/amd/useContextMenu-e08aad46.js +1 -1
- package/amd/useCssVars-dc52806c.js +2 -0
- package/amd/useCssVars-dc52806c.js.map +1 -0
- package/amd/useCurrentBgColor-50142bd8.js +2 -0
- package/amd/useCurrentBgColor-50142bd8.js.map +1 -0
- package/amd/useCurrentKey-a993db56.js +2 -0
- package/amd/useCurrentKey-a993db56.js.map +1 -0
- package/amd/useDatatip-9942601b.js +2 -0
- package/amd/useDatatip-9942601b.js.map +1 -0
- package/amd/useDensity-f0f7ae9a.js +2 -0
- package/amd/useDensity-f0f7ae9a.js.map +1 -0
- package/amd/useFloating-bf8ed6cb.js +2 -0
- package/amd/useFloating-bf8ed6cb.js.map +1 -0
- package/amd/useKeyboardEvents-8ada7a1f.js +2 -0
- package/amd/useKeyboardEvents-8ada7a1f.js.map +1 -0
- package/amd/useLegendContextMenu-e629139a.js +1 -1
- package/amd/useMeterDatatip-173593b4.js +2 -0
- package/amd/useMeterDatatip-173593b4.js.map +1 -0
- package/amd/useOutsideClick-76c1ff6e.js +2 -0
- package/amd/useOutsideClick-76c1ff6e.js.map +1 -0
- package/amd/usePopupAnimation-6e53a0fe.js +2 -0
- package/amd/usePopupAnimation-6e53a0fe.js.map +1 -0
- package/amd/usePrefixSuffix-f7544e05.js +2 -0
- package/amd/usePrefixSuffix-f7544e05.js.map +1 -0
- package/amd/useReorderableItem-726c3c03.js +2 -0
- package/amd/useReorderableItem-726c3c03.js.map +1 -0
- package/amd/useRovingTabIndexContainer-473f7e43.js +2 -0
- package/amd/useRovingTabIndexContainer-473f7e43.js.map +1 -0
- package/amd/useScale-e311d35f.js +2 -0
- package/amd/useScale-e311d35f.js.map +1 -0
- package/amd/useSelectCommon-d9c4a7bd.js +2 -0
- package/amd/useSelectCommon-d9c4a7bd.js.map +1 -0
- package/amd/useSelectDrill-216c007c.js +2 -0
- package/amd/useSelectDrill-216c007c.js.map +1 -0
- package/amd/useSelection-01203394.js +2 -0
- package/amd/useSelection-01203394.js.map +1 -0
- package/amd/useSelection-4249360e.js +2 -0
- package/amd/useSelection-4249360e.js.map +1 -0
- package/amd/useTabBar-2c4573fe.js +1 -1
- package/amd/useTestId-b5cd4766.js +2 -0
- package/amd/useTestId-b5cd4766.js.map +1 -0
- package/amd/useTheme-a8334e06.js +2 -0
- package/amd/useTheme-a8334e06.js.map +1 -0
- package/amd/useThemeInterpolations-ab618dee.js +2 -0
- package/amd/useThemeInterpolations-ab618dee.js.map +1 -0
- package/amd/useTooltip-b43ad881.js +2 -0
- package/amd/useTooltip-b43ad881.js.map +1 -0
- package/amd/useTooltipControlled-ee3276de.js +2 -0
- package/amd/useTooltipControlled-ee3276de.js.map +1 -0
- package/amd/useTranslationBundle-d07d4b20.js +2 -0
- package/amd/useTranslationBundle-d07d4b20.js.map +1 -0
- package/amd/useUser-3ef25571.js +2 -0
- package/amd/useUser-3ef25571.js.map +1 -0
- package/amd/useVisDragModeControls-a5685835.js +1 -1
- package/amd/useVisEvents-dc86164f.js +2 -0
- package/amd/useVisEvents-dc86164f.js.map +1 -0
- package/amd/utils/PRIVATE_tooltipUtils.js +1 -1
- package/amd/utils/PRIVATE_visTestUtils.js +1 -1
- package/amd/withDirectionIcon-74c39ee3.js +2 -0
- package/amd/withDirectionIcon-74c39ee3.js.map +1 -0
- package/amd/withThemeProps-4c23997e.js +1 -1
- package/cjs/ActionCard-61b21d6c.js +1 -1
- package/cjs/BarChart-93a3813c.js +181 -0
- package/cjs/BarChart-93a3813c.js.map +1 -0
- package/cjs/BarGroup-4a24a995.js +1 -1
- package/cjs/BaseButton-3a0bf8e4.js +2 -2
- package/cjs/BaseCardView-ade994f5.js +7 -7
- package/cjs/BaseCardViewSelectionTest-c6f05079.js +734 -0
- package/cjs/BaseCardViewSelectionTest-c6f05079.js.map +1 -0
- package/cjs/BaseNavigationListItem-50e4c603.js +1 -1
- package/cjs/BaseRichSelection-e73cac1d.js +8 -8
- package/cjs/ButtonSet-90db1168.js +2 -2
- package/cjs/ButtonSetIconButton-f3b4a721.js +3 -3
- package/cjs/Card-a0dadf5f.js +17 -0
- package/cjs/Card-a0dadf5f.js.map +1 -0
- package/cjs/Center-9f407cb2.js +18 -0
- package/cjs/Center-9f407cb2.js.map +1 -0
- package/cjs/Chart-40d95d14.js +451 -0
- package/cjs/Chart-40d95d14.js.map +1 -0
- package/cjs/CheckboxControl-5beb656d.js +6 -6
- package/cjs/CheckboxRadioField-0d5c9def.js +6 -6
- package/cjs/CheckboxSet-1bdbc419.js +53 -0
- package/cjs/CheckboxSet-1bdbc419.js.map +1 -0
- package/cjs/Chip-f12bb8cd.js +1 -1
- package/cjs/ClearIcon-edcc3f6e.js +1 -1
- package/cjs/CollapseIcon-2394e7ea.js +1 -1
- package/cjs/Collapsible-41311eb0.js +2 -2
- package/cjs/ComboChart-cffd0759.js +174 -0
- package/cjs/ComboChart-cffd0759.js.map +1 -0
- package/cjs/CompactHelpSource-61ead0c7.js +2 -2
- package/cjs/CompactLabelAssistance-ec1e72af.js +36 -0
- package/cjs/CompactLabelAssistance-ec1e72af.js.map +1 -0
- package/cjs/CompactUserAssistance-391bf7ca.js +4 -4
- package/cjs/ComponentMessageContainer-24e79106.js +4 -4
- package/cjs/ConveyorBeltItem-ac146ef0.js +2 -2
- package/cjs/DatePicker-d99097e4.js +566 -0
- package/cjs/DatePicker-d99097e4.js.map +1 -0
- package/cjs/DatePickerHeader-0938a3aa.js +3 -3
- package/cjs/Diagram-aceccb23.js +2028 -0
- package/cjs/Diagram-aceccb23.js.map +1 -0
- package/cjs/Dialog-2219a24f.js +318 -0
- package/cjs/Dialog-2219a24f.js.map +1 -0
- package/cjs/DirectionalCollapseArrowIcon-0cf2279a.js +1 -1
- package/cjs/DirectionalExpandArrowIcon-a362cb2f.js +1 -1
- package/cjs/DragHandle-951c36ef.js +24 -0
- package/cjs/DragHandle-951c36ef.js.map +1 -0
- package/cjs/Dropdown-00e73e4d.js +82 -0
- package/cjs/Dropdown-00e73e4d.js.map +1 -0
- package/cjs/EnvironmentProvider-bfd5febc.js +61 -0
- package/cjs/EnvironmentProvider-bfd5febc.js.map +1 -0
- package/cjs/ExpandableList-be84ca8e.js +3 -3
- package/cjs/FilePicker-f93470cf.js +2 -2
- package/cjs/Flex-ce16a2fa.js +33 -0
- package/cjs/Flex-ce16a2fa.js.map +1 -0
- package/cjs/Floating-3a80c067.js +464 -0
- package/cjs/Floating-3a80c067.js.map +1 -0
- package/cjs/FormLayout-86e60b6c.js +1 -1
- package/cjs/Gantt-7b6b99a0.js +9 -9
- package/cjs/Grid-b8fadf4a.js +29 -0
- package/cjs/Grid-b8fadf4a.js.map +1 -0
- package/cjs/Gridlines-22c46764.js +171 -0
- package/cjs/Gridlines-22c46764.js.map +1 -0
- package/cjs/GroupLoadingIndicator-5940d185.js +1 -1
- package/cjs/HighlightText-2061d12d.js +33 -0
- package/cjs/HighlightText-2061d12d.js.map +1 -0
- package/cjs/Icon-c024b93c.js +3 -3
- package/cjs/IconButton-28559efb.js +3 -3
- package/cjs/IconMenuButton-2a108d43.js +3 -3
- package/cjs/IconProgressButton-01d95e57.js +3 -3
- package/cjs/IconSwitchButton-a1016218.js +3 -3
- package/cjs/IconToggleButton-52f6f126.js +3 -3
- package/cjs/IconUserAssistance-3faf6a09.js +75 -0
- package/cjs/IconUserAssistance-3faf6a09.js.map +1 -0
- package/cjs/Indexer-72430806.js +4 -4
- package/cjs/InlineHelpSource-0549100d.js +1 -1
- package/cjs/InlineUserAssistance-820162f4.js +5 -5
- package/cjs/InputDateMask-a7575cef.js +7 -7
- package/cjs/InputDatePicker-bc2c534a.js +8 -8
- package/cjs/InputPassword-eb6d227b.js +4 -4
- package/cjs/InputText-a9c423c3.js +6 -6
- package/cjs/Label-e0d15892.js +5 -5
- package/cjs/LabelValueLayout-4049c1a1.js +1 -1
- package/cjs/Layer-49394ca6.js +91 -0
- package/cjs/Layer-49394ca6.js.map +1 -0
- package/cjs/LayerHost-7182bfaf.js +45 -0
- package/cjs/LayerHost-7182bfaf.js.map +1 -0
- package/cjs/LayerManager-db087520.js +36 -0
- package/cjs/LayerManager-db087520.js.map +1 -0
- package/cjs/Legend-33a7824e.js +3 -3
- package/cjs/LineAreaChart-bb1350fa.js +172 -0
- package/cjs/LineAreaChart-bb1350fa.js.map +1 -0
- package/cjs/LineSeries-995be81c.js +112 -0
- package/cjs/LineSeries-995be81c.js.map +1 -0
- package/cjs/Link-b8435440.js +1 -1
- package/cjs/List-0dc2c4c4.js +5 -5
- package/cjs/ListItemLayout-bc581097.js +112 -0
- package/cjs/ListItemLayout-bc581097.js.map +1 -0
- package/cjs/ListView-17b8250d.js +3 -3
- package/cjs/LiveRegion-3bc583c6.js +41 -0
- package/cjs/LiveRegion-3bc583c6.js.map +1 -0
- package/cjs/MaxLengthCounter-9ab3f74b.js +27 -0
- package/cjs/MaxLengthCounter-9ab3f74b.js.map +1 -0
- package/cjs/MaxLengthLiveRegion-5e31c44e.js +25 -0
- package/cjs/MaxLengthLiveRegion-5e31c44e.js.map +1 -0
- package/cjs/Menu-658212ed.js +6 -6
- package/cjs/MenuButton-1599ce50.js +2 -2
- package/cjs/MenuItem-c459d748.js +1 -1
- package/cjs/Message-33a66325.js +2 -2
- package/cjs/MessageLayer-fc21a223.js +61 -0
- package/cjs/MessageLayer-fc21a223.js.map +1 -0
- package/cjs/MessageToast-0b1d66ed.js +8 -8
- package/cjs/MessagesManager-1ae749bf.js +3 -3
- package/cjs/MeterBar-0adbe81a.js +5 -5
- package/cjs/MeterCircle-97a75b35.js +5 -5
- package/cjs/Modal-76b3a4d9.js +264 -0
- package/cjs/Modal-76b3a4d9.js.map +1 -0
- package/cjs/MonthView-458d3d61.js +210 -0
- package/cjs/MonthView-458d3d61.js.map +1 -0
- package/cjs/NavigationListItem-4c4e804d.js +5 -5
- package/cjs/NumberInputText-3f25f408.js +6 -6
- package/cjs/OverflowTabBarItem-3c7adb01.js +3 -3
- package/cjs/PRIVATE_BaseCardView.js +22 -22
- package/cjs/PRIVATE_Chart.js +35 -35
- package/cjs/PRIVATE_CheckboxControl.js +23 -23
- package/cjs/PRIVATE_CheckboxRadioField.js +24 -24
- package/cjs/PRIVATE_ClearIcon.js +18 -18
- package/cjs/PRIVATE_DatePickerHeader.js +19 -19
- package/cjs/PRIVATE_DatePickerLayout.js +4 -4
- package/cjs/PRIVATE_EmbeddedIconButton.js +3 -3
- package/cjs/PRIVATE_FormControls.js +19 -19
- package/cjs/PRIVATE_IconSwitchButton.js +16 -16
- package/cjs/PRIVATE_Icons/CheckboxMixed.js +16 -16
- package/cjs/PRIVATE_Icons/CheckboxOff.js +16 -16
- package/cjs/PRIVATE_Icons/CheckboxOn.js +16 -16
- package/cjs/PRIVATE_Icons/DragV.js +16 -16
- package/cjs/PRIVATE_Icons/WarningS.js +16 -16
- package/cjs/PRIVATE_List.js +20 -20
- package/cjs/PRIVATE_Message.js +19 -19
- package/cjs/PRIVATE_MessageLayer.js +12 -12
- package/cjs/PRIVATE_MonthView.js +7 -7
- package/cjs/PRIVATE_MonthYearGridView.js +7 -7
- package/cjs/PRIVATE_PlotArea.js +4 -4
- package/cjs/PRIVATE_RevealToggleIcon.js +17 -17
- package/cjs/PRIVATE_RichSelectionCommon.js +25 -25
- package/cjs/PRIVATE_SelectCommon.js +28 -28
- package/cjs/PRIVATE_StyledCard.js +4 -4
- package/cjs/PRIVATE_StyledCheckbox.js +16 -16
- package/cjs/PRIVATE_Table.js +24 -24
- package/cjs/PRIVATE_ThemedIcons/CalendarIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/ChartPanIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/ChartZoomIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/CheckIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/CheckboxOffIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/CheckboxOnIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/CloseIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/CollapseIcon.js +17 -17
- package/cjs/PRIVATE_ThemedIcons/CollapseUpIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/DecrementIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/DeleteIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +17 -17
- package/cjs/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +17 -17
- package/cjs/PRIVATE_ThemedIcons/DragHandleIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/DropdownArrowIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/ExpandIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/HelpIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/IncrementIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/MessageErrorIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/MessageInfoIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/MessageWarningIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/MinusIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/NavDownIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/PlusIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/RadioOffIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/RadioOnIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/SortAscendingIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/SortDescendingIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/ViewHideIcon.js +16 -16
- package/cjs/PRIVATE_ThemedIcons/ViewIcon.js +16 -16
- package/cjs/PRIVATE_TimeComponent.js +18 -18
- package/cjs/PRIVATE_VisOverview.js +16 -16
- package/cjs/PRIVATE_VisTabularDatatip.js +4 -4
- package/cjs/PictoChart-292f6c54.js +6 -6
- package/cjs/PieChart-411377a1.js +6 -6
- package/cjs/Popup-3e6b37ba.js +249 -0
- package/cjs/Popup-3e6b37ba.js.map +1 -0
- package/cjs/ProgressBar-ee008afc.js +64 -0
- package/cjs/ProgressBar-ee008afc.js.map +1 -0
- package/cjs/ProgressButton-433a67b5.js +3 -3
- package/cjs/ProgressButtonLabelLayout-13908869.js +3 -3
- package/cjs/ProgressCircle-e91f65f3.js +50 -0
- package/cjs/ProgressCircle-e91f65f3.js.map +1 -0
- package/cjs/RadioItem-c6ada23a.js +6 -6
- package/cjs/RatingGauge-4f129f42.js +7 -7
- package/cjs/ReadonlyTextFieldInput-af4ddced.js +1 -1
- package/cjs/RemovableNavigationListItem-0eea31bc.js +1 -1
- package/cjs/RemovableTabBarItem-ff408dff.js +2 -2
- package/cjs/ReorderableTabBar-344938e7.js +3 -3
- package/cjs/RevealToggleIcon-2e88a00a.js +1 -1
- package/cjs/ScatterChart-763e1f3e.js +105 -0
- package/cjs/ScatterChart-763e1f3e.js.map +1 -0
- package/cjs/SectionalLegend-da9d7dc4.js +4 -4
- package/cjs/SectionedContent-2210037c.js +67 -0
- package/cjs/SectionedContent-2210037c.js.map +1 -0
- package/cjs/SelectMultiple-b1f05b9f.js +8 -8
- package/cjs/SelectSingle-84b0b3eb.js +7 -7
- package/cjs/SelectionCard-e26feb4d.js +18 -0
- package/cjs/SelectionCard-e26feb4d.js.map +1 -0
- package/cjs/Selector-565b3810.js +1 -1
- package/cjs/SelectorAll-e81b943f.js +71 -0
- package/cjs/SelectorAll-e81b943f.js.map +1 -0
- package/cjs/Sheet-73cb51b2.js +161 -0
- package/cjs/Sheet-73cb51b2.js.map +1 -0
- package/cjs/SplitMenuButton-de680884.js +2 -2
- package/cjs/StyledCard-f6b7f046.js +107 -0
- package/cjs/StyledCard-f6b7f046.js.map +1 -0
- package/cjs/StyledTextField-3289e35c.js +3 -3
- package/cjs/TabBar-bf94b95a.js +5 -5
- package/cjs/TabBarItem-00fcf601.js +3 -3
- package/cjs/TabBarLayout-846a4d9a.js +1 -1
- package/cjs/TabBarMixed-975141a6.js +5 -5
- package/cjs/TabBarMixedSeparator-0f55c6f6.js +21 -0
- package/cjs/TabBarMixedSeparator-0f55c6f6.js.map +1 -0
- package/cjs/Table-90fe7ad8.js +9 -9
- package/cjs/TagCloud-ff6f5158.js +8 -8
- package/cjs/TextArea-e7f98e9f.js +162 -0
- package/cjs/TextArea-e7f98e9f.js.map +1 -0
- package/cjs/TextAreaAutosize-d96c7038.js +246 -0
- package/cjs/TextAreaAutosize-d96c7038.js.map +1 -0
- package/cjs/TextField-976ee745.js +3 -3
- package/cjs/TextFieldInput-e83921a4.js +1 -1
- package/cjs/Theme-redwood/theme.css +189 -189
- package/cjs/Theme-stable/theme.css +269 -269
- package/cjs/TimeComponentCanvas2D-952a80c3.js +5 -5
- package/cjs/Toolbar-f94296cb.js +1 -1
- package/cjs/TruncatingBadge-3a82f13b.js +36 -0
- package/cjs/TruncatingBadge-3a82f13b.js.map +1 -0
- package/cjs/TruncatingText-df3db482.js +50 -0
- package/cjs/TruncatingText-df3db482.js.map +1 -0
- package/cjs/UNSAFE_ActionCard.js +3 -3
- package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +36 -36
- package/cjs/UNSAFE_BarChart.js +36 -36
- package/cjs/UNSAFE_BaseButton.js +3 -3
- package/cjs/UNSAFE_Button.js +3 -3
- package/cjs/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +21 -21
- package/cjs/UNSAFE_ButtonSet.js +4 -4
- package/cjs/UNSAFE_ButtonSetButton.js +3 -3
- package/cjs/UNSAFE_ButtonSetIconButton.js +16 -16
- package/cjs/UNSAFE_ButtonSetItem.js +16 -16
- package/cjs/UNSAFE_ButtonSetMultiple.js +4 -4
- package/cjs/UNSAFE_ButtonSetSingle.js +4 -4
- package/cjs/UNSAFE_Card.js +5 -5
- package/cjs/UNSAFE_CardFlexView.js +22 -22
- package/cjs/UNSAFE_CardGridView.js +22 -22
- package/cjs/UNSAFE_Center.js +5 -5
- package/cjs/UNSAFE_ChartWithLegend.js +4 -4
- package/cjs/UNSAFE_Checkbox.js +23 -23
- package/cjs/UNSAFE_CheckboxItem.js +103 -52
- package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
- package/cjs/UNSAFE_CheckboxSet.js +38 -67
- package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_Chip.js +2 -2
- package/cjs/UNSAFE_Collapsible.js +18 -18
- package/cjs/UNSAFE_ComboChart.js +38 -38
- package/cjs/UNSAFE_ComponentMessage.js +19 -19
- package/cjs/UNSAFE_ConveyorBelt.js +16 -16
- package/cjs/UNSAFE_DatePicker.js +24 -24
- package/cjs/UNSAFE_Diagram.js +21 -21
- package/cjs/UNSAFE_Dialog.js +21 -21
- package/cjs/UNSAFE_DragHandle.js +18 -18
- package/cjs/UNSAFE_DrawerLayout.js +12 -12
- package/cjs/UNSAFE_DrawerPopup.js +11 -11
- package/cjs/UNSAFE_Dropdown.js +13 -13
- package/cjs/UNSAFE_Environment.js +4 -4
- package/cjs/UNSAFE_ExpandableList.js +23 -23
- package/cjs/UNSAFE_FilePicker.js +4 -4
- package/cjs/UNSAFE_Flex.js +4 -4
- package/cjs/UNSAFE_Floating.js +11 -11
- package/cjs/UNSAFE_FormLayout.js +2 -2
- package/cjs/UNSAFE_Gantt.js +23 -23
- package/cjs/UNSAFE_Grid.js +4 -4
- package/cjs/UNSAFE_HighlightText.js +4 -4
- package/cjs/UNSAFE_Icon.js +16 -16
- package/cjs/UNSAFE_IconButton.js +16 -16
- package/cjs/UNSAFE_IconMenuButton.js +21 -21
- package/cjs/UNSAFE_IconProgressButton.js +19 -19
- package/cjs/UNSAFE_IconToggleButton.js +16 -16
- package/cjs/UNSAFE_Indexer.js +6 -6
- package/cjs/UNSAFE_InputDateMask.js +24 -24
- package/cjs/UNSAFE_InputDatePicker.js +32 -32
- package/cjs/UNSAFE_InputPassword.js +23 -23
- package/cjs/UNSAFE_InputSensitiveText.js +25 -25
- package/cjs/UNSAFE_InputText.js +26 -26
- package/cjs/UNSAFE_InputTimeMask.js +24 -24
- package/cjs/UNSAFE_Label.js +23 -23
- package/cjs/UNSAFE_LabelValueLayout.js +4 -4
- package/cjs/UNSAFE_LabelledLink.js +24 -24
- package/cjs/UNSAFE_Layer.js +8 -8
- package/cjs/UNSAFE_Legend.js +24 -24
- package/cjs/UNSAFE_LineAreaChart.js +38 -38
- package/cjs/UNSAFE_Link.js +2 -2
- package/cjs/UNSAFE_ListItemLayout.js +5 -5
- package/cjs/UNSAFE_ListView.js +28 -28
- package/cjs/UNSAFE_LiveRegion.js +4 -4
- package/cjs/UNSAFE_Menu.js +23 -23
- package/cjs/UNSAFE_MenuButton.js +21 -21
- package/cjs/UNSAFE_MessageBanner.js +19 -19
- package/cjs/UNSAFE_MessageToast.js +22 -22
- package/cjs/UNSAFE_MeterBar.js +16 -16
- package/cjs/UNSAFE_MeterCircle.js +17 -17
- package/cjs/UNSAFE_Modal.js +8 -8
- package/cjs/UNSAFE_NavigationList.js +20 -20
- package/cjs/UNSAFE_NavigationListCommon.js +18 -18
- package/cjs/UNSAFE_NumberInputText.js +25 -25
- package/cjs/UNSAFE_OverflowTabBar.js +24 -24
- package/cjs/UNSAFE_PictoChart.js +14 -14
- package/cjs/UNSAFE_PieChart/__test__/PieChart.spec.js +21 -21
- package/cjs/UNSAFE_PieChart.js +21 -21
- package/cjs/UNSAFE_Popup.js +16 -16
- package/cjs/UNSAFE_ProgressBar.js +5 -5
- package/cjs/UNSAFE_ProgressButton.js +19 -19
- package/cjs/UNSAFE_ProgressButtonLabelLayout.js +10 -10
- package/cjs/UNSAFE_ProgressCircle.js +4 -4
- package/cjs/UNSAFE_RadioItem.js +23 -23
- package/cjs/UNSAFE_RadioSet.js +23 -23
- package/cjs/UNSAFE_RatingGauge.js +17 -17
- package/cjs/UNSAFE_ReorderableTabBar.js +24 -24
- package/cjs/UNSAFE_RichCheckboxSet.js +39 -37
- package/cjs/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_RichRadioSet.js +25 -25
- package/cjs/UNSAFE_RichSelectionItem.js +196 -59
- package/cjs/UNSAFE_RichSelectionItem.js.map +1 -1
- package/cjs/UNSAFE_ScatterChart.js +38 -38
- package/cjs/UNSAFE_SectionalLegend.js +25 -25
- package/cjs/UNSAFE_SelectMultiple.js +30 -30
- package/cjs/UNSAFE_SelectSingle.js +30 -30
- package/cjs/UNSAFE_SelectionCard.js +5 -5
- package/cjs/UNSAFE_Selector.js +16 -16
- package/cjs/UNSAFE_SelectorAll.js +20 -20
- package/cjs/UNSAFE_Sheet/__test__/Sheet.spec.js +14 -14
- package/cjs/UNSAFE_Sheet.js +11 -11
- package/cjs/UNSAFE_SplitMenuButton.js +21 -21
- package/cjs/UNSAFE_TabBar.js +25 -25
- package/cjs/UNSAFE_TabBarCommon.js +25 -25
- package/cjs/UNSAFE_TabBarMixed.js +26 -26
- package/cjs/UNSAFE_TableView.js +24 -24
- package/cjs/UNSAFE_TagCloud.js +23 -23
- package/cjs/UNSAFE_TextArea.js +29 -28
- package/cjs/UNSAFE_TextArea.js.map +1 -1
- package/cjs/UNSAFE_TextAreaAutosize.js +28 -28
- package/cjs/UNSAFE_TextField.js +7 -7
- package/cjs/UNSAFE_ToggleButton.js +3 -3
- package/cjs/UNSAFE_Toolbar/tests/Toolbar.spec.js +23 -23
- package/cjs/UNSAFE_Toolbar.js +4 -4
- package/cjs/UNSAFE_Train.js +17 -17
- package/cjs/UNSAFE_TruncatingBadge.js +18 -18
- package/cjs/UNSAFE_TruncatingText.js +17 -17
- package/cjs/UNSAFE_UserAssistance.js +24 -24
- package/cjs/UNSAFE_View.js +7 -7
- package/cjs/UNSAFE_VirtualizedListView.js +20 -20
- package/cjs/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
- package/cjs/UNSAFE_VisProgressiveLoader.js +6 -6
- package/cjs/UNSAFE_VisStatusMessage.js +6 -6
- package/cjs/UNSAFE_WindowOverlay.js +4 -4
- package/cjs/View-145a402d.js +170 -0
- package/cjs/View-145a402d.js.map +1 -0
- package/cjs/VisNoData-210b0385.js +35 -0
- package/cjs/VisNoData-210b0385.js.map +1 -0
- package/cjs/VisProgressiveLoader-5ed4eb9d.js +53 -0
- package/cjs/VisProgressiveLoader-5ed4eb9d.js.map +1 -0
- package/cjs/VisTabularDatatip-a06f4ca3.js +26 -0
- package/cjs/VisTabularDatatip-a06f4ca3.js.map +1 -0
- package/cjs/WindowOverlay-de3bd373.js +112 -0
- package/cjs/WindowOverlay-de3bd373.js.map +1 -0
- package/cjs/YearsGridView-e8d7a02c.js +190 -0
- package/cjs/YearsGridView-e8d7a02c.js.map +1 -0
- package/cjs/hoc/PRIVATE_withDirectionIcon.js +4 -4
- package/cjs/hoc/PRIVATE_withThemeIcon.js +3 -3
- package/cjs/hoc/UNSAFE_withThemeProps.js +3 -3
- package/cjs/hooks/PRIVATE_useChartContextMenu.js +20 -20
- package/cjs/hooks/PRIVATE_useChartDatatip.js +14 -14
- package/cjs/hooks/PRIVATE_useChartEvents.js +18 -18
- package/cjs/hooks/PRIVATE_useChartMarquee.js +18 -18
- package/cjs/hooks/PRIVATE_useCssVars.js +7 -7
- package/cjs/hooks/PRIVATE_useCurrentKey.js +4 -4
- package/cjs/hooks/PRIVATE_useDatatip.js +12 -12
- package/cjs/hooks/PRIVATE_useFloating.js +4 -4
- package/cjs/hooks/PRIVATE_useReorderable.js +5 -5
- package/cjs/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
- package/cjs/hooks/PRIVATE_useSelection.js +4 -4
- package/cjs/hooks/PRIVATE_useTabBar.js +4 -4
- package/cjs/hooks/PRIVATE_useVisContextMenu.js +20 -20
- package/cjs/hooks/PRIVATE_useVisDragModeControls.js +18 -18
- package/cjs/hooks/PRIVATE_useVisEvents.js +4 -4
- package/cjs/hooks/PRIVATE_useVisMeterEvents.js +14 -14
- package/cjs/hooks/PRIVATE_useVisSelection.js +13 -13
- package/cjs/hooks/UNSAFE_useColorScheme.js +3 -3
- package/cjs/hooks/UNSAFE_useCurrentBgColor.js +3 -3
- package/cjs/hooks/UNSAFE_useDensity.js +3 -3
- package/cjs/hooks/UNSAFE_useOutsideClick.js +8 -8
- package/cjs/hooks/UNSAFE_usePrefixSuffix.js +4 -4
- package/cjs/hooks/UNSAFE_useScale.js +3 -3
- package/cjs/hooks/UNSAFE_useTestId.js +3 -3
- package/cjs/hooks/UNSAFE_useTheme.js +3 -3
- package/cjs/hooks/UNSAFE_useThemeInterpolations.js +6 -6
- package/cjs/hooks/UNSAFE_useTooltip.js +17 -17
- package/cjs/hooks/UNSAFE_useTranslationBundle.js +3 -3
- package/cjs/hooks/UNSAFE_useUser.js +3 -3
- package/cjs/index-8c93d858.js +13 -0
- package/cjs/index-8c93d858.js.map +1 -0
- package/cjs/listViewSelectionTests-858bb12a.js +3 -3
- package/cjs/render-bc47fc7e.js +41 -0
- package/cjs/render-bc47fc7e.js.map +1 -0
- package/cjs/tabbableUtils-b14a04ea.js +81 -0
- package/cjs/tabbableUtils-b14a04ea.js.map +1 -0
- package/cjs/testData-c996c33b.js +271 -0
- package/cjs/testData-c996c33b.js.map +1 -0
- package/cjs/tooltipUtils-2228b0f7.js +97 -0
- package/cjs/tooltipUtils-2228b0f7.js.map +1 -0
- package/cjs/useCellNavigation-6f7cd4c8.js +1 -1
- package/cjs/useChartContextMenu-d114824a.js +2 -2
- package/cjs/useChartDatatip-538a4577.js +166 -0
- package/cjs/useChartDatatip-538a4577.js.map +1 -0
- package/cjs/useColorScheme-e6bef5a4.js +21 -0
- package/cjs/useColorScheme-e6bef5a4.js.map +1 -0
- package/cjs/useContextMenu-3ebf8f80.js +2 -2
- package/cjs/useCssVars-9bea15a9.js +60 -0
- package/cjs/useCssVars-9bea15a9.js.map +1 -0
- package/cjs/useCurrentBgColor-6835bf45.js +21 -0
- package/cjs/useCurrentBgColor-6835bf45.js.map +1 -0
- package/cjs/useCurrentKey-d8d41864.js +83 -0
- package/cjs/useCurrentKey-d8d41864.js.map +1 -0
- package/cjs/useDatatip-1dda9a86.js +89 -0
- package/cjs/useDatatip-1dda9a86.js.map +1 -0
- package/cjs/useDensity-38283c57.js +21 -0
- package/cjs/useDensity-38283c57.js.map +1 -0
- package/cjs/useFloating-c9e127d3.js +1926 -0
- package/cjs/useFloating-c9e127d3.js.map +1 -0
- package/cjs/useKeyboardEvents-7ab0d8ee.js +81 -0
- package/cjs/useKeyboardEvents-7ab0d8ee.js.map +1 -0
- package/cjs/useLegendContextMenu-82be007a.js +4 -4
- package/cjs/useMeterDatatip-945883f5.js +77 -0
- package/cjs/useMeterDatatip-945883f5.js.map +1 -0
- package/cjs/useOutsideClick-ad999b14.js +103 -0
- package/cjs/useOutsideClick-ad999b14.js.map +1 -0
- package/cjs/usePopupAnimation-b911e9ed.js +87 -0
- package/cjs/usePopupAnimation-b911e9ed.js.map +1 -0
- package/cjs/usePrefixSuffix-1de3a724.js +72 -0
- package/cjs/usePrefixSuffix-1de3a724.js.map +1 -0
- package/cjs/useReorderableItem-5fc4d599.js +271 -0
- package/cjs/useReorderableItem-5fc4d599.js.map +1 -0
- package/cjs/useRovingTabIndexContainer-bbdf3acd.js +100 -0
- package/cjs/useRovingTabIndexContainer-bbdf3acd.js.map +1 -0
- package/cjs/useScale-a47864b4.js +21 -0
- package/cjs/useScale-a47864b4.js.map +1 -0
- package/cjs/useSelectCommon-5b46ac60.js +11 -11
- package/cjs/useSelectDrill-51fdccac.js +106 -0
- package/cjs/useSelectDrill-51fdccac.js.map +1 -0
- package/cjs/useSelection-0dbc2f40.js +241 -0
- package/cjs/useSelection-0dbc2f40.js.map +1 -0
- package/cjs/useSelection-8362b6c6.js +187 -0
- package/cjs/useSelection-8362b6c6.js.map +1 -0
- package/cjs/useTabBar-048ffd9f.js +1 -1
- package/cjs/useTestId-e267a39d.js +23 -0
- package/cjs/useTestId-e267a39d.js.map +1 -0
- package/cjs/useTheme-6cedf9c8.js +21 -0
- package/cjs/useTheme-6cedf9c8.js.map +1 -0
- package/cjs/useThemeInterpolations-316c1636.js +59 -0
- package/cjs/useThemeInterpolations-316c1636.js.map +1 -0
- package/cjs/useTooltip-ea036f82.js +51 -0
- package/cjs/useTooltip-ea036f82.js.map +1 -0
- package/cjs/useTooltipControlled-61581889.js +371 -0
- package/cjs/useTooltipControlled-61581889.js.map +1 -0
- package/cjs/useTranslationBundle-6b0281a9.js +31 -0
- package/cjs/useTranslationBundle-6b0281a9.js.map +1 -0
- package/cjs/useUser-8aaad5a7.js +21 -0
- package/cjs/useUser-8aaad5a7.js.map +1 -0
- package/cjs/useVisDragModeControls-95caebc9.js +1 -1
- package/cjs/useVisEvents-99f1bf51.js +155 -0
- package/cjs/useVisEvents-99f1bf51.js.map +1 -0
- package/cjs/utils/PRIVATE_tooltipUtils.js +14 -14
- package/cjs/utils/PRIVATE_visTestUtils.js +5 -5
- package/cjs/withDirectionIcon-7f758093.js +16 -0
- package/cjs/withDirectionIcon-7f758093.js.map +1 -0
- package/cjs/withThemeProps-6e15f1c3.js +2 -2
- package/es/ActionCard-e64b1771.js +1 -1
- package/es/AvatarVariants.styles.css +25 -25
- package/es/AvatarVariants.styles2.css +25 -25
- package/es/BarChart-a3209793.js +1 -1
- package/es/BarGroup-740cd159.js +1 -1
- package/es/BaseButton-3ce1f027.js +2 -2
- package/es/BaseCardView-229fa119.js +683 -0
- package/es/BaseCardView-229fa119.js.map +1 -0
- package/es/BaseCardViewSelectionTest-cf72be09.js +721 -0
- package/es/BaseCardViewSelectionTest-cf72be09.js.map +1 -0
- package/es/BaseNavigationListItem-530bc3df.js +1 -1
- package/es/BaseRichSelection-9fa49816.js +8 -8
- package/es/ButtonSet-51dcff96.js +2 -2
- package/es/ButtonSetIconButton-536c1045.js +3 -3
- package/es/Card-de0aef24.js +15 -0
- package/es/Card-de0aef24.js.map +1 -0
- package/es/CardFlexView-3ef6bf4d.js +27 -0
- package/es/CardFlexView-3ef6bf4d.js.map +1 -0
- package/es/CardGridView-e15226c9.js +15 -0
- package/es/CardGridView-e15226c9.js.map +1 -0
- package/es/Center-9f355d44.js +16 -0
- package/es/Center-9f355d44.js.map +1 -0
- package/es/Chart-b97e00f1.js +8 -8
- package/es/CheckboxControl-ee327a6d.js +6 -6
- package/es/CheckboxRadioField-a4db2c10.js +6 -6
- package/es/CheckboxSet-3c3b7c71.js +49 -0
- package/es/CheckboxSet-3c3b7c71.js.map +1 -0
- package/es/Chip-8554d3ff.js +1 -1
- package/es/ClearIcon-95064ad6.js +1 -1
- package/es/CollapseIcon-4e943f42.js +1 -1
- package/es/Collapsible-cb2ba356.js +2 -2
- package/es/ComboChart-b8c2be4d.js +2 -2
- package/es/CompactHelpSource-9c0d4cb4.js +2 -2
- package/es/CompactLabelAssistance-7912767d.js +34 -0
- package/es/CompactLabelAssistance-7912767d.js.map +1 -0
- package/es/CompactUserAssistance-12950e48.js +4 -4
- package/es/ComponentMessageContainer-f2837e7f.js +4 -4
- package/es/ConveyorBeltItem-188fcaf0.js +2 -2
- package/es/DatePicker-38a71007.js +564 -0
- package/es/DatePicker-38a71007.js.map +1 -0
- package/es/DatePickerHeader-5806fbea.js +3 -3
- package/es/Diagram-ee9ec4a9.js +2026 -0
- package/es/Diagram-ee9ec4a9.js.map +1 -0
- package/es/Dialog-2248109e.js +316 -0
- package/es/Dialog-2248109e.js.map +1 -0
- package/es/DirectionalCollapseArrowIcon-daafb64c.js +1 -1
- package/es/DirectionalExpandArrowIcon-35def552.js +1 -1
- package/es/DragHandle-5cba8c4b.js +22 -0
- package/es/DragHandle-5cba8c4b.js.map +1 -0
- package/es/Dropdown-f7fbfa81.js +80 -0
- package/es/Dropdown-f7fbfa81.js.map +1 -0
- package/es/EnvironmentProvider-a3819bde.js +58 -0
- package/es/EnvironmentProvider-a3819bde.js.map +1 -0
- package/es/ExpandableList-478db30a.js +4 -4
- package/es/FilePicker-ecfad7d4.js +2 -2
- package/es/Flex-2d51e914.js +30 -0
- package/es/Flex-2d51e914.js.map +1 -0
- package/es/Floating-c13f9f62.js +462 -0
- package/es/Floating-c13f9f62.js.map +1 -0
- package/es/FormLayout-2efb00f6.js +1 -1
- package/es/Gantt-0adf9527.js +9 -9
- package/es/Grid-c2385b22.js +27 -0
- package/es/Grid-c2385b22.js.map +1 -0
- package/es/Gridlines-89b5506f.js +168 -0
- package/es/Gridlines-89b5506f.js.map +1 -0
- package/es/GroupLoadingIndicator-63035d08.js +2 -2
- package/es/HighlightText-d505bf35.js +31 -0
- package/es/HighlightText-d505bf35.js.map +1 -0
- package/es/Icon-bdd49f29.js +3 -3
- package/es/IconButton-62cd1cf9.js +3 -3
- package/es/IconMenuButton-242dc102.js +3 -3
- package/es/IconProgressButton-193d58bf.js +3 -3
- package/es/IconSwitchButton-a92911d0.js +3 -3
- package/es/IconToggleButton-fb7ccce9.js +3 -3
- package/es/IconUserAssistance-2b494a2e.js +73 -0
- package/es/IconUserAssistance-2b494a2e.js.map +1 -0
- package/es/Indexer-eb00ba0b.js +336 -0
- package/es/Indexer-eb00ba0b.js.map +1 -0
- package/es/InlineHelpSource-fcdcd122.js +1 -1
- package/es/InlineUserAssistance-04cce83e.js +5 -5
- package/es/InputDateMask-23aef570.js +7 -7
- package/es/InputDatePicker-59bbd31d.js +307 -0
- package/es/InputDatePicker-59bbd31d.js.map +1 -0
- package/es/InputPassword-2c87ceb9.js +4 -4
- package/es/InputText-3701adf8.js +6 -6
- package/es/Label-6d90e627.js +5 -5
- package/es/LabelValueLayout-bcf482be.js +1 -1
- package/es/Layer-7497a324.js +88 -0
- package/es/Layer-7497a324.js.map +1 -0
- package/es/LayerHost-7a2149f5.js +40 -0
- package/es/LayerHost-7a2149f5.js.map +1 -0
- package/es/LayerManager-be34be40.js +34 -0
- package/es/LayerManager-be34be40.js.map +1 -0
- package/es/Legend-588633b2.js +3 -3
- package/es/LineAreaChart-d6924882.js +170 -0
- package/es/LineAreaChart-d6924882.js.map +1 -0
- package/es/LineSeries-00fa2ab7.js +109 -0
- package/es/LineSeries-00fa2ab7.js.map +1 -0
- package/es/Link-9f8b5c41.js +1 -1
- package/es/List-e6886091.js +717 -0
- package/es/List-e6886091.js.map +1 -0
- package/es/ListItemLayout-b3d899d6.js +110 -0
- package/es/ListItemLayout-b3d899d6.js.map +1 -0
- package/es/ListView-137e31fd.js +428 -0
- package/es/ListView-137e31fd.js.map +1 -0
- package/es/LiveRegion-5302331c.js +39 -0
- package/es/LiveRegion-5302331c.js.map +1 -0
- package/es/LoadMoreCollection-7df1be36.js +31 -0
- package/es/LoadMoreCollection-7df1be36.js.map +1 -0
- package/es/MaxLengthCounter-181b4fc9.js +25 -0
- package/es/MaxLengthCounter-181b4fc9.js.map +1 -0
- package/es/MaxLengthLiveRegion-9b386b63.js +23 -0
- package/es/MaxLengthLiveRegion-9b386b63.js.map +1 -0
- package/es/Menu-a37635b8.js +6 -6
- package/es/MenuButton-422a74de.js +2 -2
- package/es/MenuItem-831dfd05.js +1 -1
- package/es/Message-9d1504b6.js +2 -2
- package/es/MessageLayer-9ea7cf82.js +58 -0
- package/es/MessageLayer-9ea7cf82.js.map +1 -0
- package/es/MessageToast-7058b181.js +8 -8
- package/es/MessagesManager-9dd3eb3d.js +3 -3
- package/es/MeterBar-551d32db.js +5 -5
- package/es/MeterCircle-5e2ee267.js +5 -5
- package/es/Modal-1710fdd2.js +262 -0
- package/es/Modal-1710fdd2.js.map +1 -0
- package/es/MonthView-9c0b40f1.js +208 -0
- package/es/MonthView-9c0b40f1.js.map +1 -0
- package/es/NavigationListItem-5b25b2f5.js +5 -5
- package/es/NumberInputText-58e80ab7.js +6 -6
- package/es/OverflowTabBarItem-08625093.js +3 -3
- package/es/PRIVATE_BaseCardView.js +25 -25
- package/es/PRIVATE_Chart.js +31 -31
- package/es/PRIVATE_CheckboxControl.js +23 -23
- package/es/PRIVATE_CheckboxRadioField.js +24 -24
- package/es/PRIVATE_ClearIcon.js +18 -18
- package/es/PRIVATE_DatePickerHeader.js +19 -19
- package/es/PRIVATE_DatePickerLayout.js +4 -4
- package/es/PRIVATE_EmbeddedIconButton.js +3 -3
- package/es/PRIVATE_FormControls.js +19 -19
- package/es/PRIVATE_IconSwitchButton.js +16 -16
- package/es/PRIVATE_Icons/CheckboxMixed.js +16 -16
- package/es/PRIVATE_Icons/CheckboxOff.js +16 -16
- package/es/PRIVATE_Icons/CheckboxOn.js +16 -16
- package/es/PRIVATE_Icons/DragV.js +16 -16
- package/es/PRIVATE_Icons/WarningS.js +16 -16
- package/es/PRIVATE_List.js +24 -24
- package/es/PRIVATE_LoadMoreCollection.js +2 -2
- package/es/PRIVATE_Message.js +19 -19
- package/es/PRIVATE_MessageLayer.js +12 -12
- package/es/PRIVATE_MonthView.js +7 -7
- package/es/PRIVATE_MonthYearGridView.js +7 -7
- package/es/PRIVATE_PlotArea.js +4 -4
- package/es/PRIVATE_RevealToggleIcon.js +17 -17
- package/es/PRIVATE_RichSelectionCommon.js +25 -25
- package/es/PRIVATE_SelectCommon.js +33 -33
- package/es/PRIVATE_StyledCard.js +4 -4
- package/es/PRIVATE_StyledCheckbox.js +16 -16
- package/es/PRIVATE_Table.js +27 -27
- package/es/PRIVATE_ThemedIcons/CalendarIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ChartPanIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ChartZoomIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CheckIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CheckboxOffIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CheckboxOnIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CloseIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/CollapseIcon.js +17 -17
- package/es/PRIVATE_ThemedIcons/CollapseUpIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/DecrementIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/DeleteIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +17 -17
- package/es/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +17 -17
- package/es/PRIVATE_ThemedIcons/DragHandleIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/DropdownArrowIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ExpandIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/HelpIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/IncrementIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MessageErrorIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MessageInfoIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MessageWarningIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/MinusIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/NavDownIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/PlusIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/RadioOffIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/RadioOnIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/SortAscendingIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/SortDescendingIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ViewHideIcon.js +16 -16
- package/es/PRIVATE_ThemedIcons/ViewIcon.js +16 -16
- package/es/PRIVATE_TimeComponent.js +18 -18
- package/es/PRIVATE_VirtualizedCollection.js +2 -2
- package/es/PRIVATE_VisOverview.js +16 -16
- package/es/PRIVATE_VisTabularDatatip.js +4 -4
- package/es/PictoChart-3f059ad1.js +6 -6
- package/es/PieChart-ca02932e.js +6 -6
- package/es/Popup-a4be2769.js +247 -0
- package/es/Popup-a4be2769.js.map +1 -0
- package/es/ProgressBar-4fbb27ab.js +62 -0
- package/es/ProgressBar-4fbb27ab.js.map +1 -0
- package/es/ProgressButton-2497c81b.js +3 -3
- package/es/ProgressButtonLabelLayout-bfc7c805.js +3 -3
- package/es/ProgressCircle-2d3833fa.js +48 -0
- package/es/ProgressCircle-2d3833fa.js.map +1 -0
- package/es/RadioItem-35f68420.js +6 -6
- package/es/RatingGauge-5346d0bf.js +7 -7
- package/es/ReadonlyTextFieldInput-a15badb6.js +1 -1
- package/es/RemovableNavigationListItem-29fdaddc.js +1 -1
- package/es/RemovableTabBarItem-1cc7a0ca.js +2 -2
- package/es/ReorderableTabBar-b9019d0a.js +3 -3
- package/es/RevealToggleIcon-51514e37.js +1 -1
- package/es/ScatterChart-d26d4ea9.js +103 -0
- package/es/ScatterChart-d26d4ea9.js.map +1 -0
- package/es/SectionalLegend-c71d48a3.js +4 -4
- package/es/SectionedContent-2d0a744d.js +64 -0
- package/es/SectionedContent-2d0a744d.js.map +1 -0
- package/es/SelectMultiple-488a49d1.js +1303 -0
- package/es/SelectMultiple-488a49d1.js.map +1 -0
- package/es/SelectSingle-e8b9a33a.js +736 -0
- package/es/SelectSingle-e8b9a33a.js.map +1 -0
- package/es/SelectionCard-792c249d.js +16 -0
- package/es/SelectionCard-792c249d.js.map +1 -0
- package/es/Selector-5892544f.js +1 -1
- package/es/SelectorAll-ab748274.js +69 -0
- package/es/SelectorAll-ab748274.js.map +1 -0
- package/es/Sheet-31e6970c.js +158 -0
- package/es/Sheet-31e6970c.js.map +1 -0
- package/es/SplitMenuButton-3dbd83b7.js +2 -2
- package/es/StyledCard-6913b45c.js +105 -0
- package/es/StyledCard-6913b45c.js.map +1 -0
- package/es/StyledTextField-ebb5409d.js +3 -3
- package/es/TabBar-fb7f97d2.js +5 -5
- package/es/TabBarItem-252cba76.js +3 -3
- package/es/TabBarLayout-8caaa060.js +1 -1
- package/es/TabBarMixed-f60c2c7a.js +5 -5
- package/es/TabBarMixedSeparator-16c88691.js +19 -0
- package/es/TabBarMixedSeparator-16c88691.js.map +1 -0
- package/es/Table-3cfb9443.js +5509 -0
- package/es/Table-3cfb9443.js.map +1 -0
- package/es/TableView-fd5104cd.js +31 -0
- package/es/TableView-fd5104cd.js.map +1 -0
- package/es/TagCloud-f7e50ac4.js +8 -8
- package/es/TextArea-7230675f.js +160 -0
- package/es/TextArea-7230675f.js.map +1 -0
- package/es/TextAreaAutosize-0d293016.js +244 -0
- package/es/TextAreaAutosize-0d293016.js.map +1 -0
- package/es/TextField-cb494638.js +3 -3
- package/es/TextFieldInput-3c2e920d.js +1 -1
- package/es/Theme-redwood/theme.css +1151 -1151
- package/es/Theme-stable/theme.css +404 -404
- package/es/TimeComponentCanvas2D-2a4a0c94.js +5 -5
- package/es/Toolbar-7676795b.js +1 -1
- package/es/TruncatingBadge-0f04b894.js +34 -0
- package/es/TruncatingBadge-0f04b894.js.map +1 -0
- package/es/TruncatingText-ccad557f.js +48 -0
- package/es/TruncatingText-ccad557f.js.map +1 -0
- package/es/UNSAFE_ActionCard.js +3 -3
- package/es/UNSAFE_Avatar/themes/redwood/AvatarTheme.js +1 -1
- package/es/UNSAFE_Avatar/themes/redwood/AvatarVariants.css.js +1 -1
- package/es/UNSAFE_Avatar/themes/stable/AvatarTheme.js +1 -1
- package/es/UNSAFE_Avatar/themes/stable/AvatarVariants.css.js +1 -1
- package/es/UNSAFE_Avatar.js +1 -1
- package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +31 -31
- package/es/UNSAFE_BarChart.js +31 -31
- 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 +16 -16
- package/es/UNSAFE_ButtonSetItem.js +16 -16
- package/es/UNSAFE_ButtonSetMultiple.js +4 -4
- package/es/UNSAFE_ButtonSetSingle.js +4 -4
- package/es/UNSAFE_Card.js +5 -5
- package/es/UNSAFE_CardFlexView.js +26 -26
- package/es/UNSAFE_CardGridView.js +26 -26
- package/es/UNSAFE_Center.js +5 -5
- package/es/UNSAFE_ChartWithLegend.js +4 -4
- package/es/UNSAFE_Checkbox.js +23 -23
- package/es/UNSAFE_CheckboxItem.js +103 -52
- package/es/UNSAFE_CheckboxItem.js.map +1 -1
- package/es/UNSAFE_CheckboxSet.js +33 -67
- package/es/UNSAFE_CheckboxSet.js.map +1 -1
- package/es/UNSAFE_Chip.js +2 -2
- package/es/UNSAFE_Collapsible.js +18 -18
- package/es/UNSAFE_ComboChart.js +33 -33
- package/es/UNSAFE_ComponentMessage.js +19 -19
- package/es/UNSAFE_ConveyorBelt.js +16 -16
- package/es/UNSAFE_DatePicker.js +24 -24
- package/es/UNSAFE_Diagram.js +21 -21
- package/es/UNSAFE_Dialog.js +21 -21
- package/es/UNSAFE_DragHandle.js +18 -18
- package/es/UNSAFE_DrawerLayout.js +12 -12
- package/es/UNSAFE_DrawerPopup.js +11 -11
- package/es/UNSAFE_Dropdown.js +13 -13
- package/es/UNSAFE_Environment.js +4 -4
- package/es/UNSAFE_ExpandableList.js +26 -26
- package/es/UNSAFE_FilePicker.js +4 -4
- package/es/UNSAFE_Flex.js +4 -4
- package/es/UNSAFE_Floating.js +11 -11
- package/es/UNSAFE_FormLayout.js +2 -2
- package/es/UNSAFE_Gantt.js +23 -23
- package/es/UNSAFE_Grid.js +4 -4
- package/es/UNSAFE_HighlightText.js +4 -4
- package/es/UNSAFE_Icon.js +16 -16
- package/es/UNSAFE_IconButton.js +16 -16
- package/es/UNSAFE_IconMenuButton.js +21 -21
- package/es/UNSAFE_IconProgressButton.js +19 -19
- package/es/UNSAFE_IconToggleButton.js +16 -16
- package/es/UNSAFE_Indexer.js +8 -8
- package/es/UNSAFE_InputDateMask.js +24 -24
- package/es/UNSAFE_InputDatePicker.js +113 -113
- package/es/UNSAFE_InputPassword.js +23 -23
- package/es/UNSAFE_InputSensitiveText.js +25 -25
- package/es/UNSAFE_InputText.js +26 -26
- package/es/UNSAFE_InputTimeMask.js +24 -24
- package/es/UNSAFE_Label.js +23 -23
- package/es/UNSAFE_LabelValueLayout.js +4 -4
- package/es/UNSAFE_LabelledLink.js +24 -24
- package/es/UNSAFE_Layer.js +8 -8
- package/es/UNSAFE_Legend.js +24 -24
- package/es/UNSAFE_LineAreaChart.js +34 -34
- 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 +19 -19
- package/es/UNSAFE_MessageToast.js +22 -22
- package/es/UNSAFE_MeterBar.js +16 -16
- package/es/UNSAFE_MeterCircle.js +17 -17
- package/es/UNSAFE_Modal.js +8 -8
- package/es/UNSAFE_NavigationList.js +20 -20
- package/es/UNSAFE_NavigationListCommon.js +18 -18
- package/es/UNSAFE_NumberInputText.js +25 -25
- package/es/UNSAFE_OverflowTabBar.js +24 -24
- package/es/UNSAFE_PictoChart.js +14 -14
- package/es/UNSAFE_PieChart/__test__/PieChart.spec.js +21 -21
- package/es/UNSAFE_PieChart.js +21 -21
- package/es/UNSAFE_Popup.js +16 -16
- package/es/UNSAFE_ProgressBar.js +5 -5
- package/es/UNSAFE_ProgressButton.js +19 -19
- package/es/UNSAFE_ProgressButtonLabelLayout.js +10 -10
- package/es/UNSAFE_ProgressCircle.js +4 -4
- package/es/UNSAFE_RadioItem.js +23 -23
- package/es/UNSAFE_RadioSet.js +23 -23
- package/es/UNSAFE_RatingGauge.js +17 -17
- package/es/UNSAFE_ReorderableTabBar.js +24 -24
- package/es/UNSAFE_RichCheckboxSet.js +38 -36
- package/es/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/es/UNSAFE_RichRadioSet.js +25 -25
- package/es/UNSAFE_RichSelectionItem.js +195 -58
- package/es/UNSAFE_RichSelectionItem.js.map +1 -1
- package/es/UNSAFE_ScatterChart.js +34 -34
- package/es/UNSAFE_SectionalLegend.js +25 -25
- package/es/UNSAFE_SelectMultiple.js +36 -36
- package/es/UNSAFE_SelectSingle.js +36 -36
- package/es/UNSAFE_SelectionCard.js +5 -5
- package/es/UNSAFE_Selector.js +16 -16
- package/es/UNSAFE_SelectorAll.js +20 -20
- package/es/UNSAFE_Sheet/__test__/Sheet.spec.js +14 -14
- package/es/UNSAFE_Sheet.js +11 -11
- package/es/UNSAFE_SplitMenuButton.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 +23 -23
- package/es/UNSAFE_TextArea.js +28 -27
- package/es/UNSAFE_TextArea.js.map +1 -1
- package/es/UNSAFE_TextAreaAutosize.js +28 -28
- package/es/UNSAFE_TextField.js +7 -7
- 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 +17 -17
- package/es/UNSAFE_TruncatingBadge.js +18 -18
- package/es/UNSAFE_TruncatingText.js +17 -17
- package/es/UNSAFE_UserAssistance.js +24 -24
- package/es/UNSAFE_View.js +7 -7
- package/es/UNSAFE_VirtualizedListView.js +25 -25
- 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-a8a64eb1.js +167 -0
- package/es/View-a8a64eb1.js.map +1 -0
- package/es/VirtualizedCollection-f048fbb8.js +176 -0
- package/es/VirtualizedCollection-f048fbb8.js.map +1 -0
- package/es/VirtualizedListView-0532e46c.js +14 -0
- package/es/VirtualizedListView-0532e46c.js.map +1 -0
- package/es/VisNoData-794ddc21.js +32 -0
- package/es/VisNoData-794ddc21.js.map +1 -0
- package/es/VisProgressiveLoader-66dde1ff.js +51 -0
- package/es/VisProgressiveLoader-66dde1ff.js.map +1 -0
- package/es/VisTabularDatatip-6aa607bb.js +24 -0
- package/es/VisTabularDatatip-6aa607bb.js.map +1 -0
- package/es/WindowOverlay-de5d0819.js +110 -0
- package/es/WindowOverlay-de5d0819.js.map +1 -0
- package/es/YearsGridView-cb510d1e.js +187 -0
- package/es/YearsGridView-cb510d1e.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 +20 -20
- package/es/hooks/PRIVATE_useChartDatatip.js +14 -14
- package/es/hooks/PRIVATE_useChartEvents.js +18 -18
- package/es/hooks/PRIVATE_useChartMarquee.js +18 -18
- package/es/hooks/PRIVATE_useCssVars.js +7 -7
- package/es/hooks/PRIVATE_useCurrentKey.js +4 -4
- package/es/hooks/PRIVATE_useDatatip.js +12 -12
- package/es/hooks/PRIVATE_useFloating.js +4 -4
- package/es/hooks/PRIVATE_useReorderable.js +5 -5
- package/es/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
- package/es/hooks/PRIVATE_useSelection.js +4 -4
- package/es/hooks/PRIVATE_useTabBar.js +4 -4
- package/es/hooks/PRIVATE_useVisContextMenu.js +20 -20
- package/es/hooks/PRIVATE_useVisDragModeControls.js +18 -18
- package/es/hooks/PRIVATE_useVisEvents.js +4 -4
- package/es/hooks/PRIVATE_useVisMeterEvents.js +14 -14
- package/es/hooks/PRIVATE_useVisSelection.js +13 -13
- package/es/hooks/UNSAFE_useColorScheme.js +3 -3
- package/es/hooks/UNSAFE_useCurrentBgColor.js +3 -3
- package/es/hooks/UNSAFE_useDensity.js +3 -3
- package/es/hooks/UNSAFE_useOutsideClick.js +8 -8
- package/es/hooks/UNSAFE_usePrefixSuffix.js +4 -4
- package/es/hooks/UNSAFE_useScale.js +3 -3
- package/es/hooks/UNSAFE_useTestId.js +3 -3
- package/es/hooks/UNSAFE_useTheme.js +3 -3
- package/es/hooks/UNSAFE_useThemeInterpolations.js +6 -6
- package/es/hooks/UNSAFE_useTooltip.js +17 -17
- package/es/hooks/UNSAFE_useTranslationBundle.js +3 -3
- package/es/hooks/UNSAFE_useUser.js +3 -3
- package/es/index-f4c1d6de.js +11 -0
- package/es/index-f4c1d6de.js.map +1 -0
- package/es/listViewSelectionTests-79aa17b2.js +3 -3
- package/es/render-9dce082a.js +34 -0
- package/es/render-9dce082a.js.map +1 -0
- package/es/tabbableUtils-93a7cd6f.js +79 -0
- package/es/tabbableUtils-93a7cd6f.js.map +1 -0
- package/es/testData-a9ced8ec.js +256 -0
- package/es/testData-a9ced8ec.js.map +1 -0
- package/es/tooltipUtils-fcfd7dbb.js +92 -0
- package/es/tooltipUtils-fcfd7dbb.js.map +1 -0
- package/es/useCellNavigation-00d575ca.js +1 -1
- package/es/useChartContextMenu-121a5f6d.js +2 -2
- package/es/useChartDatatip-c929f857.js +164 -0
- package/es/useChartDatatip-c929f857.js.map +1 -0
- package/es/useColorScheme-f69d53b5.js +19 -0
- package/es/useColorScheme-f69d53b5.js.map +1 -0
- package/es/useContextMenu-8c47333e.js +2 -2
- package/es/useCssVars-48595cd2.js +58 -0
- package/es/useCssVars-48595cd2.js.map +1 -0
- package/es/useCurrentBgColor-894d059b.js +19 -0
- package/es/useCurrentBgColor-894d059b.js.map +1 -0
- package/es/useCurrentKey-aa75ec92.js +81 -0
- package/es/useCurrentKey-aa75ec92.js.map +1 -0
- package/es/useDatatip-40475371.js +87 -0
- package/es/useDatatip-40475371.js.map +1 -0
- package/es/useDensity-04a01caf.js +19 -0
- package/es/useDensity-04a01caf.js.map +1 -0
- package/es/useFloating-dad3f791.js +1916 -0
- package/es/useFloating-dad3f791.js.map +1 -0
- package/es/useKeyboardEvents-b02e5fda.js +78 -0
- package/es/useKeyboardEvents-b02e5fda.js.map +1 -0
- package/es/useLegendContextMenu-1043d63c.js +4 -4
- package/es/useMeterDatatip-4adf64f2.js +74 -0
- package/es/useMeterDatatip-4adf64f2.js.map +1 -0
- package/es/useOutsideClick-c19a8d7f.js +101 -0
- package/es/useOutsideClick-c19a8d7f.js.map +1 -0
- package/es/usePopupAnimation-267b444c.js +85 -0
- package/es/usePopupAnimation-267b444c.js.map +1 -0
- package/es/usePrefixSuffix-995d4cda.js +70 -0
- package/es/usePrefixSuffix-995d4cda.js.map +1 -0
- package/es/useReorderableItem-7f7c13b5.js +268 -0
- package/es/useReorderableItem-7f7c13b5.js.map +1 -0
- package/es/useRovingTabIndexContainer-7ec9f36f.js +98 -0
- package/es/useRovingTabIndexContainer-7ec9f36f.js.map +1 -0
- package/es/useScale-3b323ab2.js +19 -0
- package/es/useScale-3b323ab2.js.map +1 -0
- package/es/useSelectCommon-af8e715e.js +686 -0
- package/es/useSelectCommon-af8e715e.js.map +1 -0
- package/es/useSelectDrill-232b571c.js +103 -0
- package/es/useSelectDrill-232b571c.js.map +1 -0
- package/es/useSelection-bbd2320f.js +185 -0
- package/es/useSelection-bbd2320f.js.map +1 -0
- package/es/useSelection-c46ba985.js +239 -0
- package/es/useSelection-c46ba985.js.map +1 -0
- package/es/useTabBar-efad9075.js +1 -1
- package/es/useTestId-af32a9eb.js +21 -0
- package/es/useTestId-af32a9eb.js.map +1 -0
- package/es/useTheme-73aca0e4.js +19 -0
- package/es/useTheme-73aca0e4.js.map +1 -0
- package/es/useThemeInterpolations-242b30ed.js +57 -0
- package/es/useThemeInterpolations-242b30ed.js.map +1 -0
- package/es/useTooltip-72f5cf2e.js +49 -0
- package/es/useTooltip-72f5cf2e.js.map +1 -0
- package/es/useTooltipControlled-97142fd1.js +368 -0
- package/es/useTooltipControlled-97142fd1.js.map +1 -0
- package/es/useTranslationBundle-6da03e52.js +29 -0
- package/es/useTranslationBundle-6da03e52.js.map +1 -0
- package/es/useUser-bca8cf2d.js +19 -0
- package/es/useUser-bca8cf2d.js.map +1 -0
- package/es/useVisDragModeControls-4d8d8a3b.js +1 -1
- package/es/useVisEvents-37c78cfe.js +153 -0
- package/es/useVisEvents-37c78cfe.js.map +1 -0
- package/es/utils/PRIVATE_tooltipUtils.js +14 -14
- package/es/utils/PRIVATE_visTestUtils.js +6 -6
- package/es/withDirectionIcon-389870a2.js +14 -0
- package/es/withDirectionIcon-389870a2.js.map +1 -0
- package/es/withThemeProps-6545df54.js +2 -2
- package/package.json +2 -2
- package/amd/BaseCardView-70b177ed.js +0 -2
- package/amd/BaseCardView-70b177ed.js.map +0 -1
- package/amd/BaseCardViewSelectionTest-0ec52156.js +0 -2
- package/amd/BaseCardViewSelectionTest-0ec52156.js.map +0 -1
- package/amd/Card-f6f2dc90.js +0 -2
- package/amd/Card-f6f2dc90.js.map +0 -1
- package/amd/CardFlexView-bb5c4369.js +0 -2
- package/amd/CardFlexView-bb5c4369.js.map +0 -1
- package/amd/CardGridView-c28ff2f7.js +0 -2
- package/amd/CardGridView-c28ff2f7.js.map +0 -1
- package/amd/Center-b449a95c.js +0 -2
- package/amd/Center-b449a95c.js.map +0 -1
- package/amd/CompactLabelAssistance-44ba87b0.js +0 -2
- package/amd/CompactLabelAssistance-44ba87b0.js.map +0 -1
- package/amd/DatePicker-2c94a3bb.js +0 -2
- package/amd/DatePicker-2c94a3bb.js.map +0 -1
- package/amd/Diagram-c3afb211.js +0 -2
- package/amd/Diagram-c3afb211.js.map +0 -1
- package/amd/Dialog-53f92591.js +0 -2
- package/amd/Dialog-53f92591.js.map +0 -1
- package/amd/DragHandle-699fefd6.js +0 -2
- package/amd/DragHandle-699fefd6.js.map +0 -1
- package/amd/Dropdown-4b421eff.js +0 -2
- package/amd/Dropdown-4b421eff.js.map +0 -1
- package/amd/EnvironmentProvider-8f6fc388.js +0 -2
- package/amd/EnvironmentProvider-8f6fc388.js.map +0 -1
- package/amd/Flex-56ecdf4c.js +0 -2
- package/amd/Flex-56ecdf4c.js.map +0 -1
- package/amd/Floating-1ec5ec2a.js +0 -2
- package/amd/Floating-1ec5ec2a.js.map +0 -1
- package/amd/Grid-160f4885.js +0 -2
- package/amd/Grid-160f4885.js.map +0 -1
- package/amd/Gridlines-7851bb20.js +0 -2
- package/amd/Gridlines-7851bb20.js.map +0 -1
- package/amd/HighlightText-bd4c0101.js +0 -2
- package/amd/HighlightText-bd4c0101.js.map +0 -1
- package/amd/IconUserAssistance-d2bd2691.js +0 -2
- package/amd/IconUserAssistance-d2bd2691.js.map +0 -1
- package/amd/Indexer-357554c4.js +0 -2
- package/amd/Indexer-357554c4.js.map +0 -1
- package/amd/Layer-447c68e6.js +0 -2
- package/amd/Layer-447c68e6.js.map +0 -1
- package/amd/LayerHost-e95c5f30.js +0 -2
- package/amd/LayerHost-e95c5f30.js.map +0 -1
- package/amd/LayerManager-76fcfb58.js +0 -2
- package/amd/LayerManager-76fcfb58.js.map +0 -1
- package/amd/LineAreaChart-b4acee62.js +0 -2
- package/amd/LineAreaChart-b4acee62.js.map +0 -1
- package/amd/LineSeries-a549e727.js +0 -2
- package/amd/LineSeries-a549e727.js.map +0 -1
- package/amd/List-04c4fed0.js +0 -2
- package/amd/List-04c4fed0.js.map +0 -1
- package/amd/ListItemLayout-4208363c.js +0 -2
- package/amd/ListItemLayout-4208363c.js.map +0 -1
- package/amd/ListView-bf740071.js +0 -2
- package/amd/ListView-bf740071.js.map +0 -1
- package/amd/LiveRegion-8142ed0d.js +0 -2
- package/amd/LiveRegion-8142ed0d.js.map +0 -1
- package/amd/LoadMoreCollection-a6adbc3f.js +0 -2
- package/amd/LoadMoreCollection-a6adbc3f.js.map +0 -1
- package/amd/MaxLengthLiveRegion-8954fc30.js +0 -2
- package/amd/MaxLengthLiveRegion-8954fc30.js.map +0 -1
- package/amd/MessageLayer-ba56f7e2.js +0 -2
- package/amd/MessageLayer-ba56f7e2.js.map +0 -1
- package/amd/Modal-d6b2e905.js +0 -2
- package/amd/Modal-d6b2e905.js.map +0 -1
- package/amd/MonthView-4a0401cd.js +0 -2
- package/amd/MonthView-4a0401cd.js.map +0 -1
- package/amd/NavigationListItem-021b2d58.js +0 -2
- package/amd/NavigationListItem-021b2d58.js.map +0 -1
- package/amd/OverflowTabBar-ea3a4742.js +0 -2
- package/amd/OverflowTabBar-ea3a4742.js.map +0 -1
- package/amd/OverflowTabBarItem-763773c9.js +0 -2
- package/amd/OverflowTabBarItem-763773c9.js.map +0 -1
- package/amd/Popup-d51bf3f4.js +0 -2
- package/amd/Popup-d51bf3f4.js.map +0 -1
- package/amd/ProgressBar-3f4cd8d6.js +0 -2
- package/amd/ProgressBar-3f4cd8d6.js.map +0 -1
- package/amd/ProgressCircle-74b6fc89.js +0 -2
- package/amd/ProgressCircle-74b6fc89.js.map +0 -1
- package/amd/ScatterChart-0ca7c658.js +0 -2
- package/amd/ScatterChart-0ca7c658.js.map +0 -1
- package/amd/SectionedContent-2a261004.js +0 -2
- package/amd/SectionedContent-2a261004.js.map +0 -1
- package/amd/SelectMultiple-e3a6732b.js +0 -2
- package/amd/SelectMultiple-e3a6732b.js.map +0 -1
- package/amd/SelectSingle-9d0dca8f.js +0 -2
- package/amd/SelectSingle-9d0dca8f.js.map +0 -1
- package/amd/SelectionCard-895b014d.js +0 -2
- package/amd/SelectionCard-895b014d.js.map +0 -1
- package/amd/SelectorAll-e884a225.js +0 -2
- package/amd/SelectorAll-e884a225.js.map +0 -1
- package/amd/Sheet-46782f99.js +0 -2
- package/amd/Sheet-46782f99.js.map +0 -1
- package/amd/StyledCard-c4d0324d.js +0 -2
- package/amd/StyledCard-c4d0324d.js.map +0 -1
- package/amd/TabBarMixedSeparator-8c278254.js +0 -2
- package/amd/TabBarMixedSeparator-8c278254.js.map +0 -1
- package/amd/Table-31cc83c6.js +0 -2
- package/amd/Table-31cc83c6.js.map +0 -1
- package/amd/TableView-ab5d0c12.js +0 -2
- package/amd/TableView-ab5d0c12.js.map +0 -1
- package/amd/TruncatingBadge-04f9ef4c.js +0 -2
- package/amd/TruncatingBadge-04f9ef4c.js.map +0 -1
- package/amd/TruncatingText-d18d41c5.js +0 -2
- package/amd/TruncatingText-d18d41c5.js.map +0 -1
- package/amd/View-ce970ed7.js +0 -2
- package/amd/View-ce970ed7.js.map +0 -1
- package/amd/VirtualizedCollection-63223f5e.js +0 -2
- package/amd/VirtualizedCollection-63223f5e.js.map +0 -1
- package/amd/VirtualizedListView-554eaee6.js +0 -2
- package/amd/VirtualizedListView-554eaee6.js.map +0 -1
- package/amd/VisNoData-6fa39277.js +0 -2
- package/amd/VisNoData-6fa39277.js.map +0 -1
- package/amd/VisProgressiveLoader-68d8d8b3.js +0 -2
- package/amd/VisProgressiveLoader-68d8d8b3.js.map +0 -1
- package/amd/VisTabularDatatip-1051eaca.js +0 -2
- package/amd/VisTabularDatatip-1051eaca.js.map +0 -1
- package/amd/WindowOverlay-a2d80d55.js +0 -2
- package/amd/WindowOverlay-a2d80d55.js.map +0 -1
- package/amd/YearsGridView-d799dc5c.js +0 -2
- package/amd/YearsGridView-d799dc5c.js.map +0 -1
- package/amd/index-b7b9300d.js +0 -2
- package/amd/index-b7b9300d.js.map +0 -1
- package/amd/render-366c27ff.js +0 -2
- package/amd/render-366c27ff.js.map +0 -1
- package/amd/tabbableUtils-88d4fa35.js +0 -2
- package/amd/tabbableUtils-88d4fa35.js.map +0 -1
- package/amd/testData-783b8823.js +0 -2
- package/amd/testData-783b8823.js.map +0 -1
- package/amd/tooltipUtils-69ce0a2d.js +0 -2
- package/amd/tooltipUtils-69ce0a2d.js.map +0 -1
- package/amd/useChartDatatip-ee3783af.js +0 -2
- package/amd/useChartDatatip-ee3783af.js.map +0 -1
- package/amd/useColorScheme-10dc88de.js +0 -2
- package/amd/useColorScheme-10dc88de.js.map +0 -1
- package/amd/useCssVars-c043f8da.js +0 -2
- package/amd/useCssVars-c043f8da.js.map +0 -1
- package/amd/useCurrentBgColor-2426ee24.js +0 -2
- package/amd/useCurrentBgColor-2426ee24.js.map +0 -1
- package/amd/useCurrentKey-31c18053.js +0 -2
- package/amd/useCurrentKey-31c18053.js.map +0 -1
- package/amd/useDatatip-ac26447a.js +0 -2
- package/amd/useDatatip-ac26447a.js.map +0 -1
- package/amd/useDensity-c83df7b4.js +0 -2
- package/amd/useDensity-c83df7b4.js.map +0 -1
- package/amd/useFloating-acd30a55.js +0 -2
- package/amd/useFloating-acd30a55.js.map +0 -1
- package/amd/useKeyboardEvents-d87e3587.js +0 -2
- package/amd/useKeyboardEvents-d87e3587.js.map +0 -1
- package/amd/useMeterDatatip-fff3c329.js +0 -2
- package/amd/useMeterDatatip-fff3c329.js.map +0 -1
- package/amd/useOutsideClick-f99b7a84.js +0 -2
- package/amd/useOutsideClick-f99b7a84.js.map +0 -1
- package/amd/usePopupAnimation-f679a4b0.js +0 -2
- package/amd/usePopupAnimation-f679a4b0.js.map +0 -1
- package/amd/usePrefixSuffix-09bd5925.js +0 -2
- package/amd/usePrefixSuffix-09bd5925.js.map +0 -1
- package/amd/useReorderableItem-4c4779f7.js +0 -2
- package/amd/useReorderableItem-4c4779f7.js.map +0 -1
- package/amd/useRovingTabIndexContainer-955e23a8.js +0 -2
- package/amd/useRovingTabIndexContainer-955e23a8.js.map +0 -1
- package/amd/useScale-37d42c9d.js +0 -2
- package/amd/useScale-37d42c9d.js.map +0 -1
- package/amd/useSelectCommon-e7f123ce.js +0 -2
- package/amd/useSelectCommon-e7f123ce.js.map +0 -1
- package/amd/useSelectDrill-6361116b.js +0 -2
- package/amd/useSelectDrill-6361116b.js.map +0 -1
- package/amd/useSelection-af7b4b52.js +0 -2
- package/amd/useSelection-af7b4b52.js.map +0 -1
- package/amd/useSelection-f0c7d74d.js +0 -2
- package/amd/useSelection-f0c7d74d.js.map +0 -1
- package/amd/useTestId-3a316499.js +0 -2
- package/amd/useTestId-3a316499.js.map +0 -1
- package/amd/useTheme-ac980f9a.js +0 -2
- package/amd/useTheme-ac980f9a.js.map +0 -1
- package/amd/useThemeInterpolations-6b2de213.js +0 -2
- package/amd/useThemeInterpolations-6b2de213.js.map +0 -1
- package/amd/useTooltip-7b11fd35.js +0 -2
- package/amd/useTooltip-7b11fd35.js.map +0 -1
- package/amd/useTooltipControlled-52183a08.js +0 -2
- package/amd/useTooltipControlled-52183a08.js.map +0 -1
- package/amd/useTranslationBundle-516b1b83.js +0 -2
- package/amd/useTranslationBundle-516b1b83.js.map +0 -1
- package/amd/useUser-85c781ea.js +0 -2
- package/amd/useUser-85c781ea.js.map +0 -1
- package/amd/useVisEvents-0166e4cc.js +0 -2
- package/amd/useVisEvents-0166e4cc.js.map +0 -1
- package/amd/withDirectionIcon-ce0c7432.js +0 -2
- package/amd/withDirectionIcon-ce0c7432.js.map +0 -1
- package/cjs/BarChart-ca7f8ed5.js +0 -181
- package/cjs/BarChart-ca7f8ed5.js.map +0 -1
- package/cjs/BaseCardViewSelectionTest-df948f2c.js +0 -734
- package/cjs/BaseCardViewSelectionTest-df948f2c.js.map +0 -1
- package/cjs/Card-a6693442.js +0 -17
- package/cjs/Card-a6693442.js.map +0 -1
- package/cjs/Center-c0baccb0.js +0 -18
- package/cjs/Center-c0baccb0.js.map +0 -1
- package/cjs/Chart-fbbd3329.js +0 -451
- package/cjs/Chart-fbbd3329.js.map +0 -1
- package/cjs/CheckboxSetContext-c62db26d.js +0 -12
- package/cjs/CheckboxSetContext-c62db26d.js.map +0 -1
- package/cjs/ComboChart-95863e7a.js +0 -174
- package/cjs/ComboChart-95863e7a.js.map +0 -1
- package/cjs/CompactLabelAssistance-fd841834.js +0 -36
- package/cjs/CompactLabelAssistance-fd841834.js.map +0 -1
- package/cjs/DatePicker-65b047ad.js +0 -566
- package/cjs/DatePicker-65b047ad.js.map +0 -1
- package/cjs/Diagram-2e66a8cb.js +0 -2028
- package/cjs/Diagram-2e66a8cb.js.map +0 -1
- package/cjs/Dialog-4160338c.js +0 -318
- package/cjs/Dialog-4160338c.js.map +0 -1
- package/cjs/DragHandle-67b6118b.js +0 -24
- package/cjs/DragHandle-67b6118b.js.map +0 -1
- package/cjs/Dropdown-34b8f141.js +0 -82
- package/cjs/Dropdown-34b8f141.js.map +0 -1
- package/cjs/EnvironmentProvider-75eb79f3.js +0 -61
- package/cjs/EnvironmentProvider-75eb79f3.js.map +0 -1
- package/cjs/Flex-e7a85bef.js +0 -33
- package/cjs/Flex-e7a85bef.js.map +0 -1
- package/cjs/Floating-56621d20.js +0 -464
- package/cjs/Floating-56621d20.js.map +0 -1
- package/cjs/Grid-a7316edd.js +0 -29
- package/cjs/Grid-a7316edd.js.map +0 -1
- package/cjs/Gridlines-ef3af190.js +0 -171
- package/cjs/Gridlines-ef3af190.js.map +0 -1
- package/cjs/HighlightText-dd11dd32.js +0 -33
- package/cjs/HighlightText-dd11dd32.js.map +0 -1
- package/cjs/IconUserAssistance-52208fde.js +0 -75
- package/cjs/IconUserAssistance-52208fde.js.map +0 -1
- package/cjs/Layer-0053053a.js +0 -91
- package/cjs/Layer-0053053a.js.map +0 -1
- package/cjs/LayerHost-a8c7f182.js +0 -45
- package/cjs/LayerHost-a8c7f182.js.map +0 -1
- package/cjs/LayerManager-2d0b83ac.js +0 -36
- package/cjs/LayerManager-2d0b83ac.js.map +0 -1
- package/cjs/LineAreaChart-506308c1.js +0 -172
- package/cjs/LineAreaChart-506308c1.js.map +0 -1
- package/cjs/LineSeries-0e984080.js +0 -112
- package/cjs/LineSeries-0e984080.js.map +0 -1
- package/cjs/ListItemLayout-ec53f199.js +0 -112
- package/cjs/ListItemLayout-ec53f199.js.map +0 -1
- package/cjs/LiveRegion-567427c5.js +0 -41
- package/cjs/LiveRegion-567427c5.js.map +0 -1
- package/cjs/MaxLengthLiveRegion-f03f07c6.js +0 -25
- package/cjs/MaxLengthLiveRegion-f03f07c6.js.map +0 -1
- package/cjs/MessageLayer-f9aa9828.js +0 -61
- package/cjs/MessageLayer-f9aa9828.js.map +0 -1
- package/cjs/Modal-b9987f2d.js +0 -264
- package/cjs/Modal-b9987f2d.js.map +0 -1
- package/cjs/MonthView-9c2819f0.js +0 -210
- package/cjs/MonthView-9c2819f0.js.map +0 -1
- package/cjs/Popup-84ce41d3.js +0 -249
- package/cjs/Popup-84ce41d3.js.map +0 -1
- package/cjs/ProgressBar-aa9edb7a.js +0 -64
- package/cjs/ProgressBar-aa9edb7a.js.map +0 -1
- package/cjs/ProgressCircle-1d9fbade.js +0 -50
- package/cjs/ProgressCircle-1d9fbade.js.map +0 -1
- package/cjs/ScatterChart-80ef4bee.js +0 -105
- package/cjs/ScatterChart-80ef4bee.js.map +0 -1
- package/cjs/SectionedContent-06dc071c.js +0 -67
- package/cjs/SectionedContent-06dc071c.js.map +0 -1
- package/cjs/SelectionCard-67f7003e.js +0 -18
- package/cjs/SelectionCard-67f7003e.js.map +0 -1
- package/cjs/SelectorAll-b55e1b61.js +0 -71
- package/cjs/SelectorAll-b55e1b61.js.map +0 -1
- package/cjs/Sheet-86989265.js +0 -161
- package/cjs/Sheet-86989265.js.map +0 -1
- package/cjs/StyledCard-a0496c88.js +0 -107
- package/cjs/StyledCard-a0496c88.js.map +0 -1
- package/cjs/TabBarMixedSeparator-0e258647.js +0 -21
- package/cjs/TabBarMixedSeparator-0e258647.js.map +0 -1
- package/cjs/TextArea-4c8f0284.js +0 -180
- package/cjs/TextArea-4c8f0284.js.map +0 -1
- package/cjs/TextAreaAutosize-466a21cc.js +0 -246
- package/cjs/TextAreaAutosize-466a21cc.js.map +0 -1
- package/cjs/TruncatingBadge-efe34bb7.js +0 -36
- package/cjs/TruncatingBadge-efe34bb7.js.map +0 -1
- package/cjs/TruncatingText-33c06a6c.js +0 -50
- package/cjs/TruncatingText-33c06a6c.js.map +0 -1
- package/cjs/View-5930179e.js +0 -170
- package/cjs/View-5930179e.js.map +0 -1
- package/cjs/VisNoData-5b2aa6a2.js +0 -35
- package/cjs/VisNoData-5b2aa6a2.js.map +0 -1
- package/cjs/VisProgressiveLoader-dacfe618.js +0 -53
- package/cjs/VisProgressiveLoader-dacfe618.js.map +0 -1
- package/cjs/VisTabularDatatip-eca8aa8f.js +0 -26
- package/cjs/VisTabularDatatip-eca8aa8f.js.map +0 -1
- package/cjs/WindowOverlay-06408f56.js +0 -112
- package/cjs/WindowOverlay-06408f56.js.map +0 -1
- package/cjs/YearsGridView-09f2f6c4.js +0 -190
- package/cjs/YearsGridView-09f2f6c4.js.map +0 -1
- package/cjs/index-ce6f9627.js +0 -13
- package/cjs/index-ce6f9627.js.map +0 -1
- package/cjs/render-9767e967.js +0 -41
- package/cjs/render-9767e967.js.map +0 -1
- package/cjs/tabbableUtils-a38b7148.js +0 -81
- package/cjs/tabbableUtils-a38b7148.js.map +0 -1
- package/cjs/testData-7439df49.js +0 -271
- package/cjs/testData-7439df49.js.map +0 -1
- package/cjs/tooltipUtils-669c2ae0.js +0 -97
- package/cjs/tooltipUtils-669c2ae0.js.map +0 -1
- package/cjs/useChartDatatip-c6107d63.js +0 -166
- package/cjs/useChartDatatip-c6107d63.js.map +0 -1
- package/cjs/useColorScheme-ce2a88b1.js +0 -21
- package/cjs/useColorScheme-ce2a88b1.js.map +0 -1
- package/cjs/useCssVars-bd95e715.js +0 -60
- package/cjs/useCssVars-bd95e715.js.map +0 -1
- package/cjs/useCurrentBgColor-6e39eb3a.js +0 -21
- package/cjs/useCurrentBgColor-6e39eb3a.js.map +0 -1
- package/cjs/useCurrentKey-88495da2.js +0 -83
- package/cjs/useCurrentKey-88495da2.js.map +0 -1
- package/cjs/useDatatip-83ab0540.js +0 -89
- package/cjs/useDatatip-83ab0540.js.map +0 -1
- package/cjs/useDensity-1f8cc921.js +0 -21
- package/cjs/useDensity-1f8cc921.js.map +0 -1
- package/cjs/useFloating-480d365a.js +0 -1926
- package/cjs/useFloating-480d365a.js.map +0 -1
- package/cjs/useKeyboardEvents-5e808fe3.js +0 -81
- package/cjs/useKeyboardEvents-5e808fe3.js.map +0 -1
- package/cjs/useMeterDatatip-641afcc6.js +0 -77
- package/cjs/useMeterDatatip-641afcc6.js.map +0 -1
- package/cjs/useOutsideClick-03a6c38c.js +0 -103
- package/cjs/useOutsideClick-03a6c38c.js.map +0 -1
- package/cjs/usePopupAnimation-2afacc4b.js +0 -87
- package/cjs/usePopupAnimation-2afacc4b.js.map +0 -1
- package/cjs/usePrefixSuffix-23341de3.js +0 -72
- package/cjs/usePrefixSuffix-23341de3.js.map +0 -1
- package/cjs/useReorderableItem-0dbb8843.js +0 -271
- package/cjs/useReorderableItem-0dbb8843.js.map +0 -1
- package/cjs/useRovingTabIndexContainer-dc12b802.js +0 -100
- package/cjs/useRovingTabIndexContainer-dc12b802.js.map +0 -1
- package/cjs/useScale-a681a5cb.js +0 -21
- package/cjs/useScale-a681a5cb.js.map +0 -1
- package/cjs/useSelectDrill-c95b1a51.js +0 -106
- package/cjs/useSelectDrill-c95b1a51.js.map +0 -1
- package/cjs/useSelection-228ef3ce.js +0 -241
- package/cjs/useSelection-228ef3ce.js.map +0 -1
- package/cjs/useSelection-efdf0e84.js +0 -187
- package/cjs/useSelection-efdf0e84.js.map +0 -1
- package/cjs/useTestId-5e6af45d.js +0 -23
- package/cjs/useTestId-5e6af45d.js.map +0 -1
- package/cjs/useTheme-8fb5546b.js +0 -21
- package/cjs/useTheme-8fb5546b.js.map +0 -1
- package/cjs/useThemeInterpolations-28ca9a13.js +0 -59
- package/cjs/useThemeInterpolations-28ca9a13.js.map +0 -1
- package/cjs/useTooltip-81b7b753.js +0 -51
- package/cjs/useTooltip-81b7b753.js.map +0 -1
- package/cjs/useTooltipControlled-33832163.js +0 -371
- package/cjs/useTooltipControlled-33832163.js.map +0 -1
- package/cjs/useTranslationBundle-51f4c22c.js +0 -31
- package/cjs/useTranslationBundle-51f4c22c.js.map +0 -1
- package/cjs/useUser-a4bfc560.js +0 -21
- package/cjs/useUser-a4bfc560.js.map +0 -1
- package/cjs/useVisEvents-e48065f4.js +0 -155
- package/cjs/useVisEvents-e48065f4.js.map +0 -1
- package/cjs/withDirectionIcon-1affce30.js +0 -16
- package/cjs/withDirectionIcon-1affce30.js.map +0 -1
- package/es/BaseCardView-c5a8ee6a.js +0 -683
- package/es/BaseCardView-c5a8ee6a.js.map +0 -1
- package/es/BaseCardViewSelectionTest-1a6585af.js +0 -721
- package/es/BaseCardViewSelectionTest-1a6585af.js.map +0 -1
- package/es/Card-44b7de2f.js +0 -15
- package/es/Card-44b7de2f.js.map +0 -1
- package/es/CardFlexView-529906e0.js +0 -27
- package/es/CardFlexView-529906e0.js.map +0 -1
- package/es/CardGridView-ec18c929.js +0 -15
- package/es/CardGridView-ec18c929.js.map +0 -1
- package/es/Center-8b48ab02.js +0 -16
- package/es/Center-8b48ab02.js.map +0 -1
- package/es/CheckboxSetContext-1be56556.js +0 -9
- package/es/CheckboxSetContext-1be56556.js.map +0 -1
- package/es/CompactLabelAssistance-6a627bbb.js +0 -34
- package/es/CompactLabelAssistance-6a627bbb.js.map +0 -1
- package/es/DatePicker-d4c3ec06.js +0 -564
- package/es/DatePicker-d4c3ec06.js.map +0 -1
- package/es/Diagram-a6348a41.js +0 -2026
- package/es/Diagram-a6348a41.js.map +0 -1
- package/es/Dialog-d64dd573.js +0 -316
- package/es/Dialog-d64dd573.js.map +0 -1
- package/es/DragHandle-d3a739f5.js +0 -22
- package/es/DragHandle-d3a739f5.js.map +0 -1
- package/es/Dropdown-f0cdaeae.js +0 -80
- package/es/Dropdown-f0cdaeae.js.map +0 -1
- package/es/EnvironmentProvider-0fc2fd0c.js +0 -58
- package/es/EnvironmentProvider-0fc2fd0c.js.map +0 -1
- package/es/Flex-8696b27b.js +0 -30
- package/es/Flex-8696b27b.js.map +0 -1
- package/es/Floating-9bf456f9.js +0 -462
- package/es/Floating-9bf456f9.js.map +0 -1
- package/es/Grid-7fd29a9e.js +0 -27
- package/es/Grid-7fd29a9e.js.map +0 -1
- package/es/Gridlines-5ac89a84.js +0 -168
- package/es/Gridlines-5ac89a84.js.map +0 -1
- package/es/HighlightText-cc043982.js +0 -31
- package/es/HighlightText-cc043982.js.map +0 -1
- package/es/IconUserAssistance-627f9d18.js +0 -73
- package/es/IconUserAssistance-627f9d18.js.map +0 -1
- package/es/Indexer-ba2c7593.js +0 -336
- package/es/Indexer-ba2c7593.js.map +0 -1
- package/es/InputDatePicker-dd3b6c89.js +0 -307
- package/es/InputDatePicker-dd3b6c89.js.map +0 -1
- package/es/Layer-12a734d1.js +0 -88
- package/es/Layer-12a734d1.js.map +0 -1
- package/es/LayerHost-15b42a3e.js +0 -40
- package/es/LayerHost-15b42a3e.js.map +0 -1
- package/es/LayerManager-af39e736.js +0 -34
- package/es/LayerManager-af39e736.js.map +0 -1
- package/es/LineAreaChart-94387b8b.js +0 -170
- package/es/LineAreaChart-94387b8b.js.map +0 -1
- package/es/LineSeries-ca5836e7.js +0 -109
- package/es/LineSeries-ca5836e7.js.map +0 -1
- package/es/List-97b7be70.js +0 -718
- package/es/List-97b7be70.js.map +0 -1
- package/es/ListItemLayout-e87958e3.js +0 -110
- package/es/ListItemLayout-e87958e3.js.map +0 -1
- package/es/ListView-936d8a4f.js +0 -428
- package/es/ListView-936d8a4f.js.map +0 -1
- package/es/LiveRegion-cb4f8a54.js +0 -39
- package/es/LiveRegion-cb4f8a54.js.map +0 -1
- package/es/LoadMoreCollection-95a49d2a.js +0 -31
- package/es/LoadMoreCollection-95a49d2a.js.map +0 -1
- package/es/MaxLengthLiveRegion-59087064.js +0 -23
- package/es/MaxLengthLiveRegion-59087064.js.map +0 -1
- package/es/MessageLayer-8bed437a.js +0 -58
- package/es/MessageLayer-8bed437a.js.map +0 -1
- package/es/Modal-103da2aa.js +0 -262
- package/es/Modal-103da2aa.js.map +0 -1
- package/es/MonthView-3f86e858.js +0 -208
- package/es/MonthView-3f86e858.js.map +0 -1
- package/es/Popup-6c3f0839.js +0 -247
- package/es/Popup-6c3f0839.js.map +0 -1
- package/es/ProgressBar-95461222.js +0 -62
- package/es/ProgressBar-95461222.js.map +0 -1
- package/es/ProgressCircle-93c309cb.js +0 -48
- package/es/ProgressCircle-93c309cb.js.map +0 -1
- package/es/ScatterChart-739a9ec0.js +0 -103
- package/es/ScatterChart-739a9ec0.js.map +0 -1
- package/es/SectionedContent-3fd063af.js +0 -64
- package/es/SectionedContent-3fd063af.js.map +0 -1
- package/es/SelectMultiple-ad8fc99a.js +0 -1303
- package/es/SelectMultiple-ad8fc99a.js.map +0 -1
- package/es/SelectSingle-abaf271c.js +0 -736
- package/es/SelectSingle-abaf271c.js.map +0 -1
- package/es/SelectionCard-1f8585cb.js +0 -16
- package/es/SelectionCard-1f8585cb.js.map +0 -1
- package/es/SelectorAll-e833da6d.js +0 -69
- package/es/SelectorAll-e833da6d.js.map +0 -1
- package/es/Sheet-0861fcc0.js +0 -158
- package/es/Sheet-0861fcc0.js.map +0 -1
- package/es/StyledCard-f5965d6d.js +0 -105
- package/es/StyledCard-f5965d6d.js.map +0 -1
- package/es/TabBarMixedSeparator-da56f4c0.js +0 -19
- package/es/TabBarMixedSeparator-da56f4c0.js.map +0 -1
- package/es/Table-1ba124ec.js +0 -5509
- package/es/Table-1ba124ec.js.map +0 -1
- package/es/TableView-20223ba6.js +0 -31
- package/es/TableView-20223ba6.js.map +0 -1
- package/es/TextArea-64b4e972.js +0 -177
- package/es/TextArea-64b4e972.js.map +0 -1
- package/es/TextAreaAutosize-4e0f60ef.js +0 -244
- package/es/TextAreaAutosize-4e0f60ef.js.map +0 -1
- package/es/TruncatingBadge-b69c1ceb.js +0 -34
- package/es/TruncatingBadge-b69c1ceb.js.map +0 -1
- package/es/TruncatingText-68acfafd.js +0 -48
- package/es/TruncatingText-68acfafd.js.map +0 -1
- package/es/View-63980a9b.js +0 -167
- package/es/View-63980a9b.js.map +0 -1
- package/es/VirtualizedCollection-e73890a1.js +0 -176
- package/es/VirtualizedCollection-e73890a1.js.map +0 -1
- package/es/VirtualizedListView-3ef40bde.js +0 -14
- package/es/VirtualizedListView-3ef40bde.js.map +0 -1
- package/es/VisNoData-02cab8f6.js +0 -32
- package/es/VisNoData-02cab8f6.js.map +0 -1
- package/es/VisProgressiveLoader-2b2103c8.js +0 -51
- package/es/VisProgressiveLoader-2b2103c8.js.map +0 -1
- package/es/VisTabularDatatip-2ae7ee48.js +0 -24
- package/es/VisTabularDatatip-2ae7ee48.js.map +0 -1
- package/es/WindowOverlay-9b43e658.js +0 -110
- package/es/WindowOverlay-9b43e658.js.map +0 -1
- package/es/YearsGridView-cc0574f2.js +0 -187
- package/es/YearsGridView-cc0574f2.js.map +0 -1
- package/es/index-20f848bc.js +0 -11
- package/es/index-20f848bc.js.map +0 -1
- package/es/render-2b908d4f.js +0 -34
- package/es/render-2b908d4f.js.map +0 -1
- package/es/tabbableUtils-20bbaf8d.js +0 -79
- package/es/tabbableUtils-20bbaf8d.js.map +0 -1
- package/es/testData-70bebfae.js +0 -256
- package/es/testData-70bebfae.js.map +0 -1
- package/es/tooltipUtils-38192add.js +0 -92
- package/es/tooltipUtils-38192add.js.map +0 -1
- package/es/useChartDatatip-977bc33d.js +0 -164
- package/es/useChartDatatip-977bc33d.js.map +0 -1
- package/es/useColorScheme-d8a80e2b.js +0 -19
- package/es/useColorScheme-d8a80e2b.js.map +0 -1
- package/es/useCssVars-8e6932f8.js +0 -58
- package/es/useCssVars-8e6932f8.js.map +0 -1
- package/es/useCurrentBgColor-5418492b.js +0 -19
- package/es/useCurrentBgColor-5418492b.js.map +0 -1
- package/es/useCurrentKey-63f6afcc.js +0 -81
- package/es/useCurrentKey-63f6afcc.js.map +0 -1
- package/es/useDatatip-bce558e2.js +0 -87
- package/es/useDatatip-bce558e2.js.map +0 -1
- package/es/useDensity-64ecb649.js +0 -19
- package/es/useDensity-64ecb649.js.map +0 -1
- package/es/useFloating-41d21e7d.js +0 -1916
- package/es/useFloating-41d21e7d.js.map +0 -1
- package/es/useKeyboardEvents-5c311766.js +0 -78
- package/es/useKeyboardEvents-5c311766.js.map +0 -1
- package/es/useMeterDatatip-5268869e.js +0 -74
- package/es/useMeterDatatip-5268869e.js.map +0 -1
- package/es/useOutsideClick-8a582d08.js +0 -101
- package/es/useOutsideClick-8a582d08.js.map +0 -1
- package/es/usePopupAnimation-e2e6a2ca.js +0 -85
- package/es/usePopupAnimation-e2e6a2ca.js.map +0 -1
- package/es/usePrefixSuffix-435a9c59.js +0 -70
- package/es/usePrefixSuffix-435a9c59.js.map +0 -1
- package/es/useReorderableItem-96616318.js +0 -268
- package/es/useReorderableItem-96616318.js.map +0 -1
- package/es/useRovingTabIndexContainer-9afe3ee0.js +0 -98
- package/es/useRovingTabIndexContainer-9afe3ee0.js.map +0 -1
- package/es/useScale-c86ecc6e.js +0 -19
- package/es/useScale-c86ecc6e.js.map +0 -1
- package/es/useSelectCommon-1dafa6f9.js +0 -686
- package/es/useSelectCommon-1dafa6f9.js.map +0 -1
- package/es/useSelectDrill-24264e6b.js +0 -103
- package/es/useSelectDrill-24264e6b.js.map +0 -1
- package/es/useSelection-1b256f77.js +0 -185
- package/es/useSelection-1b256f77.js.map +0 -1
- package/es/useSelection-879c64aa.js +0 -239
- package/es/useSelection-879c64aa.js.map +0 -1
- package/es/useTestId-3bc3958c.js +0 -21
- package/es/useTestId-3bc3958c.js.map +0 -1
- package/es/useTheme-4b0f211c.js +0 -19
- package/es/useTheme-4b0f211c.js.map +0 -1
- package/es/useThemeInterpolations-8bee52ac.js +0 -57
- package/es/useThemeInterpolations-8bee52ac.js.map +0 -1
- package/es/useTooltip-98b6d3b5.js +0 -49
- package/es/useTooltip-98b6d3b5.js.map +0 -1
- package/es/useTooltipControlled-b565c75b.js +0 -368
- package/es/useTooltipControlled-b565c75b.js.map +0 -1
- package/es/useTranslationBundle-98df6291.js +0 -29
- package/es/useTranslationBundle-98df6291.js.map +0 -1
- package/es/useUser-a15426fc.js +0 -19
- package/es/useUser-a15426fc.js.map +0 -1
- package/es/useVisEvents-7d4753c4.js +0 -153
- package/es/useVisEvents-7d4753c4.js.map +0 -1
- package/es/withDirectionIcon-90d7c798.js +0 -14
- package/es/withDirectionIcon-90d7c798.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Diagram-04db0931.js","sources":["../../src/UNSAFE_Diagram/utils/diagramUtils.ts","../../src/UNSAFE_Diagram/DiagramNodeElement.tsx","../../src/UNSAFE_Diagram/DiagramNodeLayer.tsx","../../src/UNSAFE_Diagram/DiagramLinkElement.tsx","../../src/UNSAFE_Diagram/DiagramLinkLayer.tsx","../../src/UNSAFE_Diagram/DiagramLabel.tsx","../../src/UNSAFE_Diagram/DiagramLabelLayer.tsx","../../src/UNSAFE_Diagram/DiagramLayers.tsx","../../src/UNSAFE_Diagram/DiagramPanZoomContainer.tsx","../../src/UNSAFE_Diagram/utils/navUtils.ts","../../src/UNSAFE_Diagram/hooks/useDiagramNavigation.ts","../../src/UNSAFE_Diagram/hooks/useEvents.ts","../../src/UNSAFE_Diagram/hooks/useDiagramDatatip.ts","../../src/UNSAFE_Diagram/hooks/usePointerGesture.ts","../../src/UNSAFE_Diagram/utils/panUtils.ts","../../src/UNSAFE_Diagram/hooks/useDragPan.ts","../../src/UNSAFE_Diagram/hooks/useDrag.ts","../../src/UNSAFE_Diagram/utils/zoomUtils.ts","../../src/UNSAFE_Diagram/hooks/usePinch.ts","../../src/UNSAFE_Diagram/hooks/usePinchZoom.ts","../../src/UNSAFE_Diagram/hooks/usePanZoom.ts","../../src/UNSAFE_Diagram/hooks/useWheelZoom.ts","../../src/UNSAFE_Diagram/hooks/useWheel.ts","../../src/UNSAFE_Diagram/DiagramWithDimensions.tsx","../../src/UNSAFE_Diagram/hooks/useDiagramSelection.ts","../../src/UNSAFE_Diagram/Diagram.tsx"],"sourcesContent":["import type {\n Pan,\n Zoom,\n DiagramNodeData,\n DiagramLinkData,\n DiagramLayoutOutput,\n ItemInfo,\n Bounds,\n Position,\n Dimensions,\n DatatipContext,\n DiagramLabelStyles,\n DiagramLabelPosition\n} from '../diagram.types';\nimport type { RefObject } from 'preact';\nimport type { BundleType } from '#resources/nls/bundle';\nimport type { Font, GetTextDimensionsType, TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { ComponentChildren } from 'preact';\nimport { Property } from 'csstype';\nimport { generateAriaLabel } from '#utils/UNSAFE_visUtils/accUtils';\n\nconst ZOOM_TO_FIT_PADDING = 20;\n/**\n * Returns the pan properties for the diagram.\n */\nexport function getPanProps(\n props: Pan,\n contentBounds: Bounds,\n userDragMode: string | undefined,\n isDeviceTouch: boolean\n) {\n return {\n panning: isDeviceTouch\n ? userDragMode === 'pan' && props.panning\n ? props.panning\n : 'off'\n : props.panning\n ? props.panning\n : 'off',\n panDirection: props.panDirection ? props.panDirection : 'any',\n centerX: props.centerX !== undefined ? props.centerX : contentBounds.w / 2 + contentBounds.x,\n centerY: props.centerY !== undefined ? props.centerY : contentBounds.h / 2 + contentBounds.y,\n onPan: props.onPan\n };\n}\n\n/**\n * Returns the zoom properties for the diagram.\n */\nexport function getZoomProps(props: Zoom, width: number, height: number, contentBounds: Bounds) {\n const minZoom = props.minZoom ? props.minZoom : getZoomToFitZoom(width, height, contentBounds);\n const maxZoom = props.maxZoom !== undefined ? props.maxZoom : 1;\n const zoom = props.zoomValue ? props.zoomValue : getZoomToFitZoom(width, height, contentBounds);\n return {\n zooming: props.zooming ? props.zooming : 'off',\n // default value of 0 indicates zoom-to-fit level\n minZoom: minZoom,\n maxZoom: maxZoom,\n // zoom value of 0 will default to zoom to fit\n zoomValue: constrainZoom(zoom, minZoom, maxZoom),\n onZoom: props.onZoom\n };\n}\n\n/**\n * Constructs the json object to be passed into the layout function\n */\nexport function constructLayoutJSON<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(\n nodes: D1[],\n nodeItems: Map<K1, D1>,\n linkItems: Map<K2, D2>,\n dimensions: Dimensions[],\n width: number,\n height: number,\n getTextDimensions?: GetTextDimensionsType\n) {\n const labelDims: Map<K1 | K2, TextDimensions> = new Map();\n const nodeKeys = Array.from(nodeItems.keys());\n for (const id of nodeKeys) {\n const item = nodeItems.get(id as K1);\n if (item && getTextDimensions && item.label) {\n const label = item.label;\n const fontProps = _getFontProps(item.labelStyle);\n labelDims.set(id as K1 | K2, getTextDimensions(label, fontProps));\n }\n }\n const linkKeys = Array.from(linkItems.keys());\n for (const id of linkKeys) {\n const item = linkItems.get(id as K2);\n if (item && getTextDimensions && item.label) {\n const label = item.label;\n const fontProps = _getFontProps(item.labelStyle);\n labelDims.set(id as K1 | K2, getTextDimensions(label, fontProps));\n }\n }\n const getLabelDimensions = function (data: D1 | D2) {\n return labelDims.get(data.id);\n };\n const getNodeDimensions = function (data: D1) {\n for (let i = 0; i < nodes.length; i++) {\n if (data.id === nodes[i].id) {\n return dimensions[i];\n }\n }\n return dimensions[0];\n };\n\n return {\n layoutJSON: {\n getNodeDimensions: getNodeDimensions,\n getLabelDimensions: getLabelDimensions,\n componentSize: {\n width: width,\n height: height\n }\n },\n labelDims: labelDims\n };\n}\n\n/**\n * Deconstructs the output of the layout function\n */\nexport function deconstructLayoutJSON<\n K1 extends string | number,\n K2 extends string | number,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>,\n L extends DiagramLayoutOutput<K1, K2>\n>(layoutJSON: L, nodeData: D1[], linkData: D2[]) {\n const nodes = layoutJSON.nodes;\n const links = layoutJSON.links;\n const positions: Position[] = [];\n const nodeLabelPos: (DiagramLabelPosition | undefined)[] = [];\n const linkLabelPos: DiagramLabelPosition[] = [];\n let hasNodeLabels = false;\n let hasLinkLabels = false;\n let node, link;\n for (let i = 0; i < nodeData.length; i++) {\n node = nodes[nodeData[i].id];\n positions.push(node.position);\n if (node.label) hasNodeLabels = true;\n nodeLabelPos.push(node.label);\n }\n if (links) {\n for (let i = 0; i < linkData.length; i++) {\n link = links[linkData[i].id];\n if (link.label) hasLinkLabels = true;\n linkLabelPos.push(link.label);\n }\n }\n return {\n nodePoints: positions,\n nodeLabelPos: hasNodeLabels ? nodeLabelPos : undefined,\n linkLabelPos: hasLinkLabels ? linkLabelPos : undefined\n };\n}\n\n/**\n * Merges the node points into the dimensions\n */\nexport function mergeDimensions(dimensions: Dimensions[], nodePoints: Position[]) {\n const newBounds: Bounds[] = [];\n for (let i = 0; i < dimensions.length; i++) {\n const point = nodePoints[i];\n const dim = dimensions[i];\n newBounds.push({ x: point.x, y: point.y, w: dim.w, h: dim.h });\n }\n return newBounds;\n}\n\n/**\n * Deep equality check for whether two arrays of bounds are the same\n */\nexport function isEqualBounds(bounds1: Bounds[], bounds2: Bounds[]) {\n if (bounds1.length !== bounds2.length) return false;\n return bounds1.every(\n ({ x, y, w, h }, i) =>\n bounds2[i].x === x && bounds2[i].y === y && bounds2[i].w === w && bounds2[i].h === h\n );\n}\n\n/**\n * Returns the text for the diagram datatip.\n */\nexport function getDatatipContent<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(\n nodesMap: Map<K1, D1>,\n linksMap: Map<K2, D2>,\n focusedItem?: ItemInfo<K1, K2>,\n hoveredItem?: ItemInfo<K1, K2>,\n datatip?: (detail: DatatipContext<D1, D2>) => {\n content: ComponentChildren;\n borderColor?: Property.BorderColor;\n }\n) {\n let itemInfo;\n const isPointerActive = hoveredItem?.isCurrent;\n if (isPointerActive && hoveredItem.id != null) {\n itemInfo = hoveredItem;\n }\n if (focusedItem && focusedItem.isCurrent) {\n itemInfo = focusedItem;\n }\n if (itemInfo && datatip) {\n return datatip(\n itemInfo.isNode\n ? { data: nodesMap.get(itemInfo.id as K1) as D1, type: 'node' }\n : { data: linksMap.get(itemInfo.id as K2) as D2, type: 'link' }\n );\n }\n if (itemInfo) {\n const text = (\n itemInfo.isNode ? nodesMap.get(itemInfo.id as K1) : linksMap.get(itemInfo.id as K2)\n )?.accessibleLabel;\n return {\n content: text\n };\n }\n return;\n}\n\n/**\n * Creates a map with key id and value node or link data\n */\nexport function createItemMap<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(items: (D1 | D2)[]) {\n const itemIdToDataMap = new Map();\n const itemIdToIndexMap = new Map();\n const itemIndexToIdMap = new Map();\n for (let i = 0; i < items.length; i++) {\n itemIdToDataMap.set(items[i].id, items[i]);\n itemIdToIndexMap.set(items[i].id, i);\n itemIndexToIdMap.set(i, items[i].id);\n }\n return {\n itemIdToDataMap,\n itemIdToIndexMap,\n itemIndexToIdMap\n };\n}\n\n/**\n * Filter out links with no start or end nodes\n */\nexport function filterLinksWithNoEndNodes<K2, K1, D1, D2 extends DiagramLinkData<K2, K1>>(\n links: D2[],\n nodesMap: Map<K1, D1>\n) {\n const newLinks: D2[] = [];\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n if (nodesMap.get(link.startNode) && nodesMap.get(link.endNode)) {\n newLinks.push(link);\n }\n }\n return newLinks;\n}\n\n/**\n * Pulls out the dimensions from an array of bounds\n */\nexport function getDimensionsFromBounds(bounds: Bounds[]) {\n const dims: Dimensions[] = [];\n for (let i = 0; i < bounds.length; i++) {\n dims.push({ w: bounds[i].w, h: bounds[i].h });\n }\n return dims;\n}\n\n/**\n * Returns true if event is a selection event\n */\nexport function isSelectionEvent(event: KeyboardEvent): boolean {\n if (event.altKey && (event.key === '≥' || event.key === '≤')) {\n return true;\n }\n return false;\n}\n\n/**\n * Returns the center position of the node or link\n * For links, draws a straight line between the centers of the start/end node\n * and returns the center of that line\n */\nexport function getFocusedItemBounds<K1, K2, D2 extends DiagramLinkData<K2, K1>>(\n focusedItemInfo: ItemInfo<K1, K2>,\n bounds: Bounds[],\n links: D2[],\n nodeIdToIndexMap: Map<K1, number>,\n linkIdToIndexMap: Map<K2, number>\n) {\n if (focusedItemInfo.isNode) {\n const idx = nodeIdToIndexMap.get(focusedItemInfo.id as K1);\n // Return the first element if cannot find the Node index\n return bounds[idx || 0];\n } else {\n // Center of a straight line between start/end node centers\n const link = links[linkIdToIndexMap.get(focusedItemInfo.id as K2) || 0];\n const startNB = bounds[nodeIdToIndexMap.get(link.startNode) || 0];\n const endNB = bounds[nodeIdToIndexMap.get(link.endNode) || 0];\n const startNCenter = { x: startNB.x + startNB.w / 2, y: startNB.y + startNB.h / 2 };\n const endNCenter = { x: endNB.x + endNB.w / 2, y: endNB.y + endNB.h / 2 };\n const minX = Math.min(startNCenter.x, endNCenter.x);\n const minY = Math.min(startNCenter.y, endNCenter.y);\n return {\n x: minX,\n y: minY,\n w: Math.abs(startNCenter.x - endNCenter.x),\n h: Math.abs(startNCenter.y - endNCenter.y)\n };\n }\n}\n/**\n * Combines the node and link ids into one array\n */\nexport function combineIds<K1, K2>(nodeIds?: K1[], linkIds?: K2[]) {\n const combinedIds: (K1 | K2)[] = [];\n if (nodeIds) {\n for (let i = 0; i < nodeIds.length; i++) {\n combinedIds.push(nodeIds[i]);\n }\n }\n if (linkIds) {\n for (let i = 0; i < linkIds.length; i++) {\n combinedIds.push(linkIds[i]);\n }\n }\n return combinedIds;\n}\n\n/**\n * Returns the bounds of the diagram content\n */\nexport function getContentBounds(nodeBounds: Bounds[], labelBounds?: Bounds): Bounds {\n if (nodeBounds.length === 0) return { x: 0, w: Infinity, y: 0, h: Infinity };\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n let dims;\n for (let i = 0; i < nodeBounds.length; i++) {\n dims = nodeBounds[i];\n minX = dims.x < minX ? dims.x : minX;\n minY = dims.y < minY ? dims.y : minY;\n maxX = dims.x + dims.w > maxX ? dims.x + dims.w : maxX;\n maxY = dims.y + dims.h > maxY ? dims.y + dims.h : maxY;\n }\n if (labelBounds) {\n minX = labelBounds.x < minX ? labelBounds.x : minX;\n minY = labelBounds.y < minY ? labelBounds.y : minY;\n maxX = labelBounds.x + labelBounds.w > maxX ? labelBounds.x + labelBounds.w : maxX;\n maxY = labelBounds.y + labelBounds.h > maxY ? labelBounds.y + labelBounds.h : maxY;\n }\n return { x: minX, w: maxX - minX, y: minY, h: maxY - minY };\n}\n\n/**\n * Returns the label bounds\n */\nexport function getAllLabelBounds<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(\n labelDims: Map<K1 | K2, TextDimensions>,\n nodes: D1[],\n links: D2[],\n nodeLabelPos: (DiagramLabelPosition | undefined)[] = [],\n linkLabelPos: DiagramLabelPosition[] = [],\n isRTL: boolean\n) {\n if (nodeLabelPos.length === 0 && linkLabelPos.length === 0) return undefined;\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n let dims, label;\n for (let i = 0; i < nodeLabelPos.length; i++) {\n label = nodeLabelPos[i];\n if (!label) continue;\n dims = getLabelBounds(label, labelDims.get(nodes[i].id)!, isRTL);\n minX = dims.x < minX ? dims.x : minX;\n minY = dims.y < minY ? dims.y : minY;\n maxX = dims.x + dims.w > maxX ? dims.x + dims.w : maxX;\n maxY = dims.y + dims.h > maxY ? dims.y + dims.h : maxY;\n }\n for (let i = 0; i < linkLabelPos.length; i++) {\n label = linkLabelPos[i];\n if (!label) continue;\n dims = getLabelBounds(label, labelDims.get(links[i].id)!, isRTL);\n minX = dims.x < minX ? dims.x : minX;\n minY = dims.y < minY ? dims.y : minY;\n maxX = dims.x + dims.w > maxX ? dims.x + dims.w : maxX;\n maxY = dims.y + dims.h > maxY ? dims.y + dims.h : maxY;\n }\n return { x: minX, w: maxX - minX, y: minY, h: maxY - minY };\n}\n\nfunction getLabelBounds(label: DiagramLabelPosition, dims: TextDimensions, isRTL: boolean) {\n const labelPos = getLabelPosition(dims, label, isRTL);\n const isRotating = label.rotationAngle;\n if (!isRotating) {\n return { x: labelPos.x, y: labelPos.y, w: dims.width, h: dims.height };\n } else {\n // Find the 4 corners of the label bounds relative to the rotation point\n const rotationPoint = label.rotationPoint\n ? label.rotationPoint\n : { x: dims.width / 2, y: dims.height / 2 };\n const angle = label.rotationAngle!;\n const topLeft = getCoordsRelToRotPoint({ x: 0, y: 0 }, rotationPoint);\n const topRight = getCoordsRelToRotPoint({ x: dims.width, y: 0 }, rotationPoint);\n const bottomLeft = getCoordsRelToRotPoint({ x: 0, y: dims.height }, rotationPoint);\n const bottomRight = getCoordsRelToRotPoint({ x: dims.width, y: dims.height }, rotationPoint);\n const rotTopLeft = rotatePoint(topLeft, angle);\n const rotBotLeft = rotatePoint(bottomLeft, angle);\n const rotTopRight = rotatePoint(topRight, angle);\n const rotBotRight = rotatePoint(bottomRight, angle);\n const points = [rotTopLeft, rotBotLeft, rotTopRight, rotBotRight].map((pos: Position) => {\n return {\n x: pos.x + labelPos.x + rotationPoint.x,\n y: pos.y + labelPos.y + rotationPoint.y\n };\n });\n return getBoundsFromPoints(points);\n }\n}\n\nfunction getCoordsRelToRotPoint(labelPoint: Position, rotPoint: Position) {\n return { x: labelPoint.x - rotPoint.x, y: labelPoint.y - rotPoint.y };\n}\n\nfunction rotatePoint(pos: Position, angle: number) {\n return {\n x: pos.x * Math.cos(angle) - pos.y * Math.sin(angle),\n y: pos.x * Math.sin(angle) + pos.y * Math.cos(angle)\n };\n}\n\nfunction getBoundsFromPoints(points: Position[]) {\n let minX = points[0].x;\n let minY = points[0].y;\n let maxX = points[0].x;\n let maxY = points[0].y;\n for (let i = 1; i < points.length; i++) {\n const point = points[i];\n if (point.x < minX) minX = point.x;\n else if (point.x > maxX) maxX = point.x;\n if (point.y < minY) minY = point.y;\n else if (point.y > maxY) maxY = point.y;\n }\n return {\n x: minX,\n y: minY,\n w: maxX - minX,\n h: maxY - minY\n };\n}\n\n/**\n * Returns the position of the label\n * @param dimensions\n * @param positionProps\n * @returns position of the label\n */\nexport function getLabelPosition(\n dimensions: TextDimensions,\n positionProps: DiagramLabelPosition,\n isRTL: boolean\n) {\n const position = positionProps.position;\n const hAlign = positionProps.hAlign ? positionProps.hAlign : isRTL ? 'right' : 'left';\n const vAlign = positionProps.vAlign;\n let x, y;\n if (hAlign === 'center') {\n x = position.x - dimensions.width / 2;\n } else if (hAlign === 'right') {\n x = position.x - dimensions.width;\n } else {\n x = position.x;\n }\n\n if (vAlign === 'middle') {\n y = position.y - dimensions.height / 2;\n } else if (vAlign === 'bottom') {\n y = position.y - dimensions.height;\n } else if (vAlign === 'baseline') {\n y = position.y + dimensions.y;\n } else {\n y = position.y;\n }\n return {\n x: x,\n y: y\n };\n}\n\n/**\n * Converts centerX,Y coordinates to panX,Y coordinates\n */\nexport function centerXYToPanXY(\n centerX: number,\n centerY: number,\n zoom: number,\n width: number,\n height: number\n) {\n return {\n panX: width / 2 - centerX * zoom,\n panY: height / 2 - centerY * zoom\n };\n}\n/**\n * Converts panX,Y coordinates to centerX,Y coordinates\n */\nexport function panXYToCenterXY(\n panX: number,\n panY: number,\n zoom: number,\n width: number,\n height: number\n) {\n return {\n centerX: (width / 2 - panX) / zoom,\n centerY: (height / 2 - panY) / zoom\n };\n}\n\n/**\n * Compares if two ItemInfo are equal\n */\nexport function isEqualItem<K1, K2>(item1?: ItemInfo<K1, K2>, item2?: ItemInfo<K1, K2>) {\n return item1?.id === item2?.id && item1?.isNode === item2?.isNode;\n}\n\n/**\n * Returns the item info of the data-oj-node or data-oj-link attribute for a given element.\n */\nexport function getNavigableInfo<K1, K2>(\n element: HTMLElement,\n rootElementRef?: RefObject<HTMLDivElement>\n): ItemInfo<K1, K2> {\n let isNode = false;\n let elem = element;\n let navigableId;\n while (!navigableId) {\n navigableId = elem.dataset['node'];\n if (navigableId) {\n isNode = true;\n } else {\n navigableId = elem.dataset['link'];\n }\n if (!navigableId) {\n if (elem.parentElement && elem.parentElement !== rootElementRef?.current) {\n elem = elem.parentElement;\n } else {\n break;\n }\n }\n }\n return {\n id: navigableId as K1 | K2,\n isNode: isNode\n };\n}\n\n/**\n * Returns the id of the focused item.\n */\nexport function getFocusedItem<K1, K2>(\n focusedItemInfo: ItemInfo<K1, K2>,\n hoveredItemInfo?: ItemInfo<K1, K2>\n) {\n let focused;\n if (focusedItemInfo.isCurrent && focusedItemInfo.isFocusVisible) {\n focused = focusedItemInfo.id;\n } else if (hoveredItemInfo?.isCurrent) {\n focused = hoveredItemInfo.id;\n }\n return focused;\n}\n\n/**\n * Returns the aria label\n */\nexport function getItemAriaLabel(\n translations: BundleType,\n supportsSelection: boolean,\n isSelected?: boolean,\n accessibleLabel?: string\n) {\n return generateAriaLabel(translations, accessibleLabel || '', {\n isSelected: !supportsSelection ? undefined : isSelected\n });\n}\n\n/**\n * Returns the zoom to fit zoom level\n */\nexport function getZoomToFitZoom(width: number, height: number, contentBounds: Bounds) {\n const zoomX = (width - 2 * ZOOM_TO_FIT_PADDING) / contentBounds.w;\n const zoomY = (height - 2 * ZOOM_TO_FIT_PADDING) / contentBounds.h;\n return Math.min(zoomX, zoomY);\n}\n\n/**\n * Constrains the zoom level\n */\nfunction constrainZoom(zoom: number, minZoom: number, maxZoom: number) {\n let newZoom = Math.max(minZoom, zoom);\n newZoom = Math.min(maxZoom, newZoom);\n return newZoom;\n}\n\n/**\n * Returns the font props for a node or link\n */\nfunction _getFontProps(styles?: DiagramLabelStyles) {\n const fontProps: Font = {};\n if (!styles) return fontProps;\n if (styles.fontFamily) fontProps.fontFamily = styles.fontFamily;\n if (styles.fontSize) fontProps.fontSize = styles.fontSize;\n if (styles.fontStyle) fontProps.fontStyle = styles.fontStyle;\n if (styles.fontWeight) fontProps.fontWeight = styles.fontWeight;\n return fontProps;\n}\n\n/**\n * Returns the panX, panY, and zoom when zooming and centering an item\n */\nexport function zoomAndCenterItemFromInfo<K1, K2, D2 extends DiagramLinkData<K2, K1>>(\n info: ItemInfo<K1, K2>,\n linkIdToDataMap: Map<K2, D2>,\n bounds: Bounds[],\n nodeIdToIndex: Map<K1, number>,\n width: number,\n height: number,\n maxZoom: number\n) {\n const isNode = info.isNode;\n let totalBounds;\n if (isNode) {\n const nodeIndex = nodeIdToIndex.get(info.id as K1)!;\n totalBounds = bounds[nodeIndex];\n } else {\n const link = linkIdToDataMap.get(info.id as K2)!;\n const startNodeBounds = bounds[nodeIdToIndex.get(link.startNode)!];\n const endNodeBounds = bounds[nodeIdToIndex.get(link.endNode)!];\n const minX = Math.min(startNodeBounds.x, endNodeBounds.x);\n const minY = Math.min(startNodeBounds.y, endNodeBounds.y);\n const maxX = Math.max(\n startNodeBounds.x + startNodeBounds.w,\n endNodeBounds.x + startNodeBounds.w\n );\n const maxY = Math.max(startNodeBounds.y + startNodeBounds.h, endNodeBounds.y + endNodeBounds.h);\n totalBounds = { x: minX, y: minY, w: maxX - minX, h: maxY - minY };\n }\n return getPanZoomToCenterNode(totalBounds, maxZoom, width, height);\n}\n\n/**\n * Returns the pan and zoom values in order\n * to center a node or link\n */\nfunction getPanZoomToCenterNode(bounds: Bounds, maxZoom: number, width: number, height: number) {\n const zoomX = (width - 2 * ZOOM_TO_FIT_PADDING) / bounds.w;\n const zoomY = (height - 2 * ZOOM_TO_FIT_PADDING) / bounds.h;\n const zoom = Math.min(zoomX, zoomY, maxZoom);\n const cX = bounds.w / 2 + bounds.x;\n const cY = bounds.h / 2 + bounds.y;\n return { centerX: cX, centerY: cY, zoom: zoom };\n}\n","import type { Position, State, NodeRendererContext } from './diagram.types';\nimport { useResizeObserver } from '#hooks/UNSAFE_useResizeObserver';\nimport { useCallback, useRef } from 'preact/hooks';\nimport { getItemAriaLabel } from './utils/diagramUtils';\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { itemStyles } from './themes/DiagramStyles.css';\nimport { ComponentChildren } from 'preact';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '#resources/nls/bundle';\n\n/**\n * Props for node component\n */\ntype NodeProps<K1, D1> = {\n id: K1;\n position: Position;\n label?: string;\n state: State;\n previousState: State;\n isDimmed?: boolean;\n activeId?: string;\n accessibleLabel?: string;\n nodeIndex: number;\n data: D1;\n nodeRenderer: (context: NodeRendererContext<D1>) => ComponentChildren;\n onNodeSizeChanged: (width: number, height: number, idx: number) => void;\n supportsSelection: boolean;\n};\n\nexport const DiagramNodeElement = <K1, D1>({\n id,\n state,\n previousState,\n position,\n activeId,\n nodeRenderer,\n onNodeSizeChanged,\n nodeIndex,\n data,\n accessibleLabel,\n isDimmed,\n supportsSelection\n}: NodeProps<K1, D1>) => {\n const { nodeStyles, dimmedItemStyle } = itemStyles;\n const context = {\n state: state,\n previousState: previousState,\n data: data\n };\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const ref = useRef<HTMLDivElement>(null);\n // TODO JET-62472 change to one resize observer function\n const optionsRef = useRef({ box: 'border-box' as const });\n useResizeObserver(\n ref,\n useCallback(\n (entry: ResizeObserverEntry) => {\n const boxSize = entry.borderBoxSize;\n const width = boxSize[0].inlineSize;\n const height = boxSize[0].blockSize;\n onNodeSizeChanged(width, height, nodeIndex);\n },\n [nodeIndex, onNodeSizeChanged]\n ),\n optionsRef.current\n );\n return (\n <div\n ref={ref}\n key={id}\n class={classNames([nodeStyles, isDimmed ? dimmedItemStyle : undefined])}\n data-node={id}\n role=\"img\"\n aria-label={getItemAriaLabel(\n translations,\n supportsSelection,\n state.selected,\n accessibleLabel\n )}\n style={{\n top: position.y,\n left: position.x\n }}\n id={state.focused || state.hovered ? activeId : undefined}>\n {nodeRenderer(context)}\n </div>\n );\n};\n","import { ComponentChildren } from 'preact';\nimport type { States, NodeRendererContext, Bounds, DiagramNodeData } from './diagram.types';\nimport { DiagramNodeElement } from './DiagramNodeElement';\nimport { layerStyles } from './themes/DiagramStyles.css';\n\ntype Props<K1, K2, D1> = {\n nodes: D1[];\n states: States<K1, K2>;\n previousStates: States<K1, K2>;\n nodeRenderer: (context: NodeRendererContext<D1>) => ComponentChildren;\n onNodeSizeChanged: (width: number, height: number, idx: number) => void;\n nodeBounds?: Bounds[];\n supportsSelection: boolean;\n};\n\nexport function DiagramNodeLayer<K1, K2, D1 extends DiagramNodeData<K1>>({\n nodes,\n states,\n previousStates,\n nodeRenderer,\n nodeBounds,\n onNodeSizeChanged,\n supportsSelection\n}: Props<K1, K2, D1>) {\n return (\n <div class={layerStyles}>\n {nodes.map((node, i) => {\n // this is for initial render before the layout function so render all nodes at 0,0\n const position =\n nodeBounds && nodeBounds[i] ? { x: nodeBounds[i].x, y: nodeBounds[i].y } : { x: 0, y: 0 };\n const state = {\n selected: states.selectedNodeIds.includes(node.id),\n focused: states.focusedId === node.id,\n hovered: states.hoveredId === node.id,\n zoom: states.zoom\n };\n const previousState = {\n selected: previousStates.selectedNodeIds.includes(node.id),\n focused: previousStates.focusedId === node.id,\n hovered: previousStates.hoveredId === node.id,\n zoom: previousStates.zoom\n };\n return (\n <DiagramNodeElement\n id={node.id}\n position={position}\n state={state}\n previousState={previousState}\n isDimmed={\n states.highlightedIds.length !== 0 && !states.highlightedIds.includes(node.id)\n }\n activeId={states.activeId}\n nodeRenderer={nodeRenderer}\n onNodeSizeChanged={onNodeSizeChanged}\n nodeIndex={i}\n accessibleLabel={node.accessibleLabel}\n data={node}\n supportsSelection={supportsSelection}\n />\n );\n })}\n </div>\n );\n}\n","import type { State, LinkRendererContext } from './diagram.types';\nimport { getItemAriaLabel } from './utils/diagramUtils';\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { itemStyles } from './themes/DiagramStyles.css';\nimport { ComponentChildren } from 'preact';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport type { BundleType } from '#resources/nls/bundle';\n\n/**\n * Props for Link\n */\nexport type LinkProps<K2, D2, L> = {\n id: K2;\n label?: string;\n state: State;\n previousState: State;\n isDimmed?: boolean;\n activeId?: string;\n accessibleLabel?: string;\n data: D2;\n linkRenderer: (context: LinkRendererContext<D2, L>) => ComponentChildren;\n supportsSelection: boolean;\n layoutOutput: L;\n};\n\nexport const DiagramLinkElement = <K2, D2, L>({\n id,\n state,\n previousState,\n activeId,\n data,\n linkRenderer,\n accessibleLabel,\n isDimmed,\n supportsSelection,\n layoutOutput\n}: LinkProps<K2, D2, L>) => {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const { dimmedItemStyle, linkStyles } = itemStyles;\n const context = {\n state: state,\n previousState: previousState,\n data: data,\n layoutOutput: layoutOutput\n };\n return (\n <g\n key={id}\n id={state.focused ? activeId : undefined}\n aria-label={getItemAriaLabel(\n translations,\n supportsSelection,\n state.selected,\n accessibleLabel\n )}\n data-link={id}\n role=\"img\"\n class={classNames([linkStyles, isDimmed && dimmedItemStyle])}>\n {linkRenderer(context)}\n </g>\n );\n};\n","import { ComponentChildren } from 'preact';\nimport type {\n States,\n LinkRendererContext,\n DiagramLinkData,\n DiagramLayoutOutput\n} from './diagram.types';\nimport { DiagramLinkElement } from './DiagramLinkElement';\nimport { layerStyles } from './themes/DiagramStyles.css';\n\ntype Props<K2, K1, D2, L> = {\n links: D2[];\n states: States<K1, K2>;\n previousStates: States<K1, K2>;\n linkRenderer: (context: LinkRendererContext<D2, L>) => ComponentChildren;\n width: number;\n height: number;\n supportsSelection: boolean;\n layoutOutput: L;\n};\n\nexport function DiagramLinkLayer<\n K2 extends string | number,\n K1 extends string | number,\n D2 extends DiagramLinkData<K2, K1> = DiagramLinkData<K2, K1>,\n L extends DiagramLayoutOutput<K1, K2> = DiagramLayoutOutput<K1, K2>\n>({\n links,\n states,\n previousStates,\n linkRenderer,\n width,\n height,\n supportsSelection,\n layoutOutput\n}: Props<K2, K1, D2, L>) {\n return (\n <svg class={layerStyles} width={width} height={height}>\n {links.map((link) => {\n const state = {\n selected: states.selectedLinkIds.includes(link.id),\n focused: states.focusedId === link.id,\n hovered: states.hoveredId === link.id,\n zoom: states.zoom\n };\n const previousState = {\n selected: previousStates.selectedLinkIds.includes(link.id),\n focused: previousStates.focusedId === link.id,\n hovered: previousStates.hoveredId === link.id,\n zoom: previousStates.zoom\n };\n return (\n <DiagramLinkElement\n id={link.id}\n label={link.label}\n state={state}\n previousState={previousState}\n isDimmed={\n states.highlightedIds.length !== 0 && !states.highlightedIds.includes(link.id)\n }\n activeId={states.activeId}\n accessibleLabel={link.accessibleLabel}\n data={link}\n linkRenderer={linkRenderer}\n supportsSelection={supportsSelection}\n layoutOutput={layoutOutput}\n />\n );\n })}\n </svg>\n );\n}\n","import type { DiagramLabelPosition, DiagramLabelStyles } from './diagram.types';\nimport { getLabelPosition } from './utils/diagramUtils';\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { labelStyles } from './themes/DiagramStyles.css';\nimport type { TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { Property } from 'csstype';\n\n/**\n * Props for the label component\n */\ntype LabelProps = {\n styles?: LabelStyles;\n text: string;\n position: DiagramLabelPosition;\n dimensions: TextDimensions;\n isRTL: boolean;\n};\n\n/**\n * Label styles\n */\ntype LabelStyles = DiagramLabelStyles & {\n borderStyle?: Property.BorderStyle;\n};\n\nexport const DiagramLabel = ({ text, position, styles, dimensions, isRTL }: LabelProps) => {\n const { labelStyle, labelBorderStyle } = labelStyles;\n\n const labelPosition = getLabelPosition(dimensions, position, isRTL);\n const labelRotation = getLabelRotation(position);\n return (\n <div\n class={classNames([labelStyle, styles && styles.borderColor && labelBorderStyle])}\n style={{\n top: labelPosition.y,\n left: labelPosition.x,\n ...styles,\n ...labelRotation\n }}>\n {text}\n </div>\n );\n};\n\n/**\n * Returns the label rotation props\n * @param position\n * @returns rotation props\n */\nfunction getLabelRotation(position: DiagramLabelPosition) {\n const rotationAngle = position.rotationAngle;\n const rotationPoint = position.rotationPoint;\n const rotation: {\n transform?: string;\n 'transform-origin'?: string;\n } = {};\n if (rotationAngle) {\n rotation['transform'] = `rotate(${rotationAngle}deg)`;\n }\n if (rotationPoint) {\n rotation['transform-origin'] = `${rotationPoint.x}px ${rotationPoint.y}px`;\n }\n return rotation;\n}\n","import type { DiagramLabelPosition, DiagramNodeData, DiagramLinkData } from './diagram.types';\nimport { DiagramLabel } from './DiagramLabel';\nimport type { TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { layerStyles } from './themes/DiagramStyles.css';\nimport { useUser } from '#hooks/UNSAFE_useUser';\n\ntype Props<K1, K2, D1, D2> = {\n labelPosition: (DiagramLabelPosition | undefined)[];\n itemProps: (D1 | D2)[];\n labelDimensions: Map<K1 | K2, TextDimensions>;\n};\n\nexport function DiagramLabelLayer<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>({ labelPosition, itemProps, labelDimensions }: Props<K1, K2, D1, D2>) {\n const { direction } = useUser();\n return (\n <div class={layerStyles}>\n {itemProps.map((item, i) => {\n if (item.label && labelPosition[i]) {\n return (\n <DiagramLabel\n styles={item.labelStyle}\n text={item.label}\n position={labelPosition[i]!}\n dimensions={labelDimensions.get(item.id)!}\n isRTL={direction === 'rtl'}\n />\n );\n }\n return undefined;\n })}\n </div>\n );\n}\n","import type {\n NodeRendererContext,\n LinkRendererContext,\n States,\n Bounds,\n DiagramLabelPosition,\n DiagramNodeData,\n DiagramLinkData,\n DiagramLayoutOutput\n} from './diagram.types';\nimport { DiagramNodeLayer } from './DiagramNodeLayer';\nimport { DiagramLinkLayer } from './DiagramLinkLayer';\nimport { DiagramLabelLayer } from './DiagramLabelLayer';\nimport { ComponentChildren } from 'preact';\nimport type { TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\n\n/**\n * Props for Diagram layers component\n */\ntype DiagramLayersProps<K1, K2, D1, D2, L> = {\n nodes: D1[];\n links: D2[];\n nodeRenderer: (context: NodeRendererContext<D1>) => ComponentChildren;\n linkRenderer?: (context: LinkRendererContext<D2, L>) => ComponentChildren;\n states: States<K1, K2>;\n previousStates: States<K1, K2>;\n nodeBounds: Bounds[];\n // width height are for svg for links\n width: number;\n height: number;\n onNodeSizeChanged: (width: number, height: number, idx: number) => void;\n nodeLabelPositions?: (DiagramLabelPosition | undefined)[];\n linkLabelPositions?: (DiagramLabelPosition | undefined)[];\n labelDimensions?: Map<K1 | K2, TextDimensions>;\n supportsSelection: boolean;\n layoutOutput?: L;\n};\n\nexport function DiagramLayers<\n K1 extends string | number,\n K2 extends string | number,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>,\n L extends DiagramLayoutOutput<K1, K2>\n>({\n nodes,\n links,\n nodeRenderer,\n linkRenderer,\n states,\n previousStates,\n nodeBounds,\n onNodeSizeChanged,\n width,\n height,\n nodeLabelPositions,\n linkLabelPositions,\n labelDimensions,\n supportsSelection,\n layoutOutput\n}: DiagramLayersProps<K1, K2, D1, D2, L>) {\n return (\n <>\n {links.length > 0 && layoutOutput && linkRenderer && width !== Infinity && (\n <DiagramLinkLayer\n links={links}\n states={states}\n previousStates={previousStates}\n linkRenderer={linkRenderer}\n width={width}\n height={height}\n supportsSelection={supportsSelection}\n layoutOutput={layoutOutput}\n />\n )}\n <DiagramNodeLayer\n nodes={nodes}\n nodeBounds={nodeBounds}\n states={states}\n previousStates={previousStates}\n nodeRenderer={nodeRenderer}\n onNodeSizeChanged={onNodeSizeChanged}\n supportsSelection={supportsSelection}\n />\n {labelDimensions ? (\n <div>\n {nodeLabelPositions ? (\n <DiagramLabelLayer\n labelPosition={nodeLabelPositions}\n itemProps={nodes}\n labelDimensions={labelDimensions}\n />\n ) : undefined}\n {links && linkLabelPositions ? (\n <DiagramLabelLayer\n labelPosition={linkLabelPositions}\n itemProps={links}\n labelDimensions={labelDimensions}\n />\n ) : undefined}\n </div>\n ) : undefined}\n </>\n );\n}\n","import { ComponentChildren } from 'preact';\nimport { centerXYToPanXY } from './utils/diagramUtils';\nimport { panZoomStyles } from './themes/DiagramStyles.css';\n\ntype Props = {\n centerX: number;\n centerY: number;\n zoom: number;\n width: number;\n height: number;\n children: ComponentChildren;\n};\n\nexport function DiagramPanZoomContainer({\n centerX,\n centerY,\n children,\n zoom,\n width,\n height\n}: Props) {\n const panValues = centerXYToPanXY(centerX, centerY, zoom, width, height);\n return (\n <div\n class={panZoomStyles}\n style={{\n //TODO JET-62471 look at using matrices or both in transform instead\n translate: `${panValues.panX}px ${panValues.panY}px`,\n transform: `scale(${zoom})`\n }}>\n {children}\n </div>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport type { DiagramNodeData, DiagramLinkData, Bounds, ItemInfo } from '../diagram.types';\n\n/**\n * Navigation direction\n */\nexport type NavDirection = 'right' | 'left' | 'up' | 'down';\n\ntype linkDetailType<K2> = {\n id: K2;\n angle: number;\n distance: number;\n /**\n * Ingoing = 1, outgoing = 0\n */\n direction: 0 | 1;\n};\n\n/**\n * Returns the node data based on node info in a diagram.\n * @param itemInfo\n * @returns\n */\nexport function getNodeDetailFromInfo<K1, K2, D1 extends DiagramNodeData<K1>>(\n itemInfo: ItemInfo<K1, K2>,\n nodes: D1[]\n): D1 | undefined {\n let node;\n for (let i = 0; i < nodes.length; i++) {\n node = nodes[i];\n if (itemInfo.id === node.id) {\n return node;\n }\n }\n return undefined;\n}\n\n/**\n * Returns the link data based on link info in a diagram.\n * @param itemInfo\n * @returns\n */\nexport function getLinkDetailFromInfo<K1, K2, D2 extends DiagramLinkData<K2, K1>>(\n itemInfo: ItemInfo<K1, K2>,\n links: D2[]\n): D2 | undefined {\n let link;\n for (let i = 0; i < links.length; i++) {\n link = links[i];\n if (itemInfo.id === link.id) {\n return link;\n }\n }\n return undefined;\n}\n\n/**\n * Creates a map with key node id and value node bounds\n */\nexport function createNodeBoundsMap<K1, D1 extends DiagramNodeData<K1>>(\n nodes: D1[],\n bounds: Bounds[]\n) {\n const nodeBounds: Map<K1, Bounds> = new Map();\n for (let i = 0; i < nodes.length; i++) {\n nodeBounds.set(nodes[i].id, bounds[i]);\n }\n return nodeBounds;\n}\n\n/**\n * Utility method that adds sorting attributes of each link to an array\n */\nexport function addSortingAttributes<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(node: D1, listOfLinks: D2[], nodes: D1[], nodeBounds: Map<K1, Bounds>) {\n let angle, distance, direction;\n const linkDetail: linkDetailType<K2>[] = [];\n for (let i = 0; i < listOfLinks.length; i++) {\n const link = listOfLinks[i];\n angle = _getClockwiseAngle(node, link, nodes, nodeBounds);\n distance = _getNodesDistance(link, nodes, nodeBounds);\n direction = _getLinkDirection(node, link);\n linkDetail.push({ id: link.id, angle: angle, distance: distance, direction: direction });\n }\n return linkDetail;\n}\n\n/**\n * Returns a function that compares two link around a given node\n * The links are analyzed by angle, distance from the node and direction. The sorting attributes are added to the links before sorting.\n */\nexport function getLinkComparator<K2>() {\n return (link1: linkDetailType<K2>, link2: linkDetailType<K2>) => {\n const { angle: linkAngle1, distance: linkDistance1, direction: linkDirection1 } = link1;\n const { angle: linkAngle2, distance: linkDistance2, direction: linkDirection2 } = link2;\n let res = -1;\n\n if (!_anglesAreEqualWithinTolerance(linkAngle1, linkAngle2) && linkAngle1 > linkAngle2) {\n res = 1;\n } else if (_anglesAreEqualWithinTolerance(linkAngle1, linkAngle2)) {\n //check distance and direction\n if (linkDistance1 > linkDistance2) {\n res = 1;\n } else if (linkDistance2 == linkDistance1 && linkDirection1 > linkDirection2) {\n //outgoing to ingoing\n res = 1;\n } else if (linkDistance2 == linkDistance1 && linkDirection1 == linkDirection2) {\n res = 0;\n }\n }\n return res;\n };\n}\n\n/**\n * Returns navigable links for a given node\n */\nexport function getNavigableLinksForNodeId<K1, K2, D2 extends DiagramLinkData<K2, K1>>(\n nodeId: K1,\n listOfLinks: D2[]\n) {\n const links: D2[] = [];\n listOfLinks.forEach((link) => {\n const startId = link.startNode;\n const endId = link.endNode;\n\n if (startId == nodeId || endId == nodeId) links.push(link);\n });\n return links;\n}\n\n/**\n * Get the clockwise angle for the link given node as a center\n */\nfunction _getClockwiseAngle<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(node: D1, link: D2, nodes: D1[], nodeBounds: Map<K1, Bounds>) {\n //find opposite node\n let currNode;\n let startNode = nodes[0];\n let endNode = nodes[0];\n for (let i = 0; i < nodes.length; i++) {\n currNode = nodes[i];\n if (currNode.id === link.startNode) {\n startNode = currNode;\n } else if (currNode.id === link.endNode) {\n endNode = currNode;\n }\n }\n const oppositeNode = node.id == startNode.id ? endNode : startNode;\n\n const p1 = _getNodeCenter(node, nodeBounds);\n const p2 = _getNodeCenter(oppositeNode, nodeBounds);\n let angle = Math.atan2(p2.y - p1.y, p2.x - p1.x);\n angle = angle < 0 ? angle + Math.PI * 2 : angle;\n return angle;\n}\n\n/**\n * Get the distance between start and end nodes for the given link\n */\nfunction _getNodesDistance<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(link: D2, nodes: D1[], nodeBounds: Map<K1, Bounds>) {\n let currNode;\n let startNode = nodes[0];\n let endNode = nodes[0];\n for (let i = 0; i < nodes.length; i++) {\n currNode = nodes[i];\n if (currNode.id === link.startNode) {\n startNode = currNode;\n } else if (currNode.id === link.endNode) {\n endNode = currNode;\n }\n }\n const p1 = _getNodeCenter(startNode, nodeBounds);\n const p2 = _getNodeCenter(endNode, nodeBounds);\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\n/**\n * Get link direction for the given node. 1 if the node is the end node\n * and 0 if it is the start node\n */\nfunction _getLinkDirection<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(node: D1, link: D2): 0 | 1 {\n if (link.endNode === node.id) {\n return 1;\n }\n return 0;\n}\n\n/**\n * Get node center\n */\nfunction _getNodeCenter<K1, D1 extends DiagramNodeData<K1>>(node: D1, nodeBounds: Map<K1, Bounds>) {\n const nodeBB = nodeBounds.get(node.id)!;\n return { x: nodeBB.x + nodeBB.w / 2, y: nodeBB.y + nodeBB.h / 2 };\n}\n\n/**\n * Calculates the angle weighted by distance\n */\nexport function calcDistanceAngleWeighted(\n objectBB: Bounds,\n currentBB: Bounds,\n direction: NavDirection\n) {\n // Variables used for calculating penalties when calculating distances between two navigables.\n const optimalAngle1 = (15 / 180) * Math.PI;\n const optimalAngle2 = (40 / 180) * Math.PI;\n const suboptimalAnglePenalty1 = 2; // multiplier to the distance\n const suboptimalAnglePenalty2 = 6; // multiplier to the distance\n\n const objCenterX = objectBB.x + objectBB.w / 2;\n const objCenterY = objectBB.y + objectBB.h / 2;\n\n const curCenterX = currentBB.x + currentBB.w / 2;\n const curCenterY = currentBB.y + currentBB.h / 2;\n\n const x_dist = Math.abs(objCenterX - curCenterX);\n const y_dist = Math.abs(objCenterY - curCenterY);\n\n const angle = Math.atan2(y_dist, x_dist);\n\n let distance = Math.sqrt(x_dist * x_dist + y_dist * y_dist);\n\n // Angle penalty based on direction\n if (\n (angle > optimalAngle1 && (direction == 'right' || direction == 'left')) ||\n (angle < Math.PI / 2 - optimalAngle1 && (direction == 'up' || direction == 'down'))\n ) {\n if (\n (angle > optimalAngle2 && (direction == 'right' || direction == 'left')) ||\n (angle < Math.PI / 2 - optimalAngle2 && (direction == 'up' || direction == 'down'))\n ) {\n distance *= suboptimalAnglePenalty2;\n } else {\n distance *= suboptimalAnglePenalty1;\n }\n }\n\n return distance;\n}\n\n/**\n * Given a direction, is a certain node is a valid destination to navigate to\n */\nexport function isValidDestination(\n objBB: Bounds,\n curBB: Bounds,\n direction: NavDirection,\n compareCenters: boolean\n) {\n // compare the centers of the navigable and to be valid, the navigable must be in the right direction\n // without tolerance\n if (compareCenters) {\n const objCenterX = objBB.x + 0.5 * objBB.w;\n const curCenterX = curBB.x + 0.5 * curBB.w;\n const objCenterY = objBB.y + 0.5 * objBB.h;\n const curCenterY = curBB.y + 0.5 * curBB.h;\n\n switch (direction) {\n case 'up':\n return objCenterY < curCenterY;\n case 'down':\n return objBB.y > curCenterY;\n case 'right':\n return objCenterX > curCenterX;\n case 'left':\n return objCenterX < curCenterX;\n default:\n break;\n }\n return true;\n }\n\n switch (direction) {\n case 'up':\n return objBB.y < curBB.y || _areEqualWithinTolerance(objBB.y, curBB.y);\n case 'down':\n return objBB.y > curBB.y || _areEqualWithinTolerance(objBB.y, curBB.y);\n case 'right':\n return objBB.x > curBB.x || _areEqualWithinTolerance(objBB.x, curBB.x);\n case 'left':\n return objBB.x < curBB.x || _areEqualWithinTolerance(objBB.x, curBB.x);\n default:\n break;\n }\n return true;\n}\n\n/**\n * Returns true if two nodes are in contact\n */\nexport function calcInContact(objRect: Bounds, curRect: Bounds, direction: NavDirection) {\n switch (direction) {\n case 'up':\n return (\n _isVerticallyAligned(objRect, curRect) &&\n (curRect.y <= objRect.y + objRect.h ||\n _areEqualWithinTolerance(curRect.y, objRect.y + objRect.h))\n );\n case 'down':\n return (\n _isVerticallyAligned(objRect, curRect) &&\n (objRect.y <= curRect.y + curRect.h ||\n _areEqualWithinTolerance(objRect.y, curRect.y + curRect.h))\n );\n case 'right':\n return (\n _isHorizontallyAligned(objRect, curRect) &&\n (objRect.x <= curRect.x + curRect.w ||\n _areEqualWithinTolerance(objRect.x, curRect.x + curRect.w))\n );\n case 'left':\n return (\n _isHorizontallyAligned(objRect, curRect) &&\n (curRect.x <= objRect.x + objRect.w ||\n _areEqualWithinTolerance(curRect.x, objRect.x + objRect.w))\n );\n default:\n break;\n }\n\n return false;\n}\n\nfunction _isVerticallyAligned(rect1: Bounds, rect2: Bounds) {\n return (\n (rect1.x >= rect2.x && rect1.x <= rect2.x + rect2.w) ||\n (rect2.x >= rect1.x && rect2.x <= rect1.x + rect1.w)\n );\n}\n\nfunction _isHorizontallyAligned(rect1: Bounds, rect2: Bounds) {\n return (\n (rect1.y >= rect2.y && rect1.y <= rect2.y + rect2.h) ||\n (rect2.y >= rect1.y && rect2.y <= rect1.y + rect1.h)\n );\n}\n\nfunction _areEqualWithinTolerance(a: number, b: number) {\n return Math.abs(a - b) <= 0.0000001;\n}\n\nfunction _anglesAreEqualWithinTolerance(a1: number, a2: number) {\n let res = Math.abs(a1 - a2) <= 0.0000001;\n if (!res) {\n res = Math.abs(Math.PI * 2 + Math.min(a1, a2) - Math.max(a1, a2)) <= 0.0000001;\n }\n return res;\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport {\n NavDirection,\n addSortingAttributes,\n calcDistanceAngleWeighted,\n calcInContact,\n createNodeBoundsMap,\n getLinkComparator,\n getNavigableLinksForNodeId,\n getNodeDetailFromInfo,\n isValidDestination\n} from '../utils/navUtils';\nimport type { DiagramNodeData, DiagramLinkData, Bounds, ItemInfo } from '../diagram.types';\nimport { useRef } from 'preact/hooks';\n\nexport function useDiagramNavigation<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(nodes: D1[], links: D2[], bounds: Bounds[], linkIdToDataMap: Map<K2, D2>) {\n const currentKeyboardFocusNode = useRef<K1>();\n const nodeBoundsById = createNodeBoundsMap<K1, D1>(nodes, bounds);\n\n function getNextNavigableNode(\n direction: NavDirection,\n compareCenters: boolean,\n current?: D1,\n listOfObjects?: D1[]\n ) {\n if (!listOfObjects) return current;\n\n if (!current) return listOfObjects[0];\n const currBB = nodeBoundsById.get(current.id);\n if (!currBB) return listOfObjects[0];\n\n let nextObject = current; //init to current object\n let nextDistance = Number.MAX_VALUE;\n\n // If an object is in contact it overrules all other attributes\n // Only another in contact object with better attributes will have higher precedence\n let nextInContact = false;\n\n // Whether or not the for loop has encountered the current object\n let hasFoundCurrent = false;\n\n let object, inContact, distance;\n for (let i = 0; i < listOfObjects.length; i++) {\n object = listOfObjects[i];\n\n if (object === current) {\n hasFoundCurrent = true;\n continue;\n }\n const objBB = nodeBoundsById.get(object.id);\n if (!objBB) continue;\n\n const objBounds = { x: objBB.x, y: objBB.y, w: objBB.w, h: objBB.h };\n const currBounds = { x: currBB.x, y: currBB.y, w: currBB.w, h: currBB.h };\n if (!isValidDestination(objBounds, currBounds, direction, compareCenters)) continue;\n\n inContact = calcInContact(objBounds, currBounds, direction);\n\n if (nextInContact && !inContact) continue;\n\n distance = calcDistanceAngleWeighted(objBounds, currBounds, direction);\n\n if (distance == 0 && !hasFoundCurrent) continue;\n\n // Make sure incontact flag have highest precedence\n if (\n (!nextInContact && inContact) ||\n (distance < nextDistance && ((nextInContact && inContact) || !nextInContact))\n ) {\n nextDistance = distance;\n nextObject = object;\n nextInContact = inContact;\n }\n }\n return nextObject;\n }\n\n /**\n * Get next navigavle link depending on direction - clockwise or conter clockwise.\n * The decision is made based on location of nodes centers rather than link paths or link angles.\n */\n function getNextNavigableLink(\n direction: string,\n listOfNodes: D1[],\n currentLink?: D2,\n listOfLinks?: D2[]\n ) {\n if (!listOfLinks) return currentLink;\n\n if (!currentLink) return listOfLinks[0];\n const keyboardFocusNode = currentKeyboardFocusNode.current;\n const nodeId = keyboardFocusNode ? keyboardFocusNode : currentLink.startNode;\n const node = getNodeDetailFromInfo({ id: nodeId, isNode: true }, listOfNodes);\n\n if (!node) return currentLink;\n const adjLinks = getNavigableLinksForNodeId(node.id, listOfLinks);\n listOfLinks = adjLinks;\n const linksWithSortingAttributes = addSortingAttributes<K1, K2, D1, D2>(\n node,\n listOfLinks,\n listOfNodes,\n nodeBoundsById\n );\n linksWithSortingAttributes.sort(getLinkComparator());\n //clockwise direction\n const bForward = direction == 'down' ? true : false;\n let index = 0;\n for (let i = 0; i < linksWithSortingAttributes.length; i++) {\n const link = linksWithSortingAttributes[i];\n if (link.id === currentLink.id) {\n if (bForward) index = i == linksWithSortingAttributes.length - 1 ? 0 : i + 1;\n else index = i == 0 ? linksWithSortingAttributes.length - 1 : i - 1;\n break;\n }\n }\n return linksWithSortingAttributes[index];\n }\n\n /**\n * Returns the link detail when a node to link navigation occurs\n */\n function navigateFromNodeToLink(listOfLinks: D2[], event: KeyboardEvent, node?: D1) {\n if (!node) return undefined;\n const adjLinks = getNavigableLinksForNodeId(node.id, listOfLinks);\n if (adjLinks.length < 1) return undefined;\n let link = adjLinks[0];\n const nodeBB = nodeBoundsById.get(node.id)!;\n let object, currNode, currNodeBB, currNodeBBCenterX;\n const nodeCenterX = nodeBB.x + nodeBB.w / 2;\n currentKeyboardFocusNode.current = node.id;\n for (let i = 0; i < adjLinks.length; i++) {\n object = adjLinks[i];\n currNode = object.startNode === node.id ? object.endNode : object.startNode;\n currNodeBB = nodeBoundsById.get(currNode);\n currNodeBBCenterX = currNodeBB!.x + currNodeBB!.w / 2;\n if (\n // equivalent of ≤ and ≥\n (event.altKey && event.code === 'Comma' && currNodeBBCenterX <= nodeCenterX) ||\n (event.altKey && event.code === 'Period' && currNodeBBCenterX >= nodeCenterX)\n ) {\n link = object;\n break;\n }\n }\n return { id: link.id, isNode: false };\n }\n\n /**\n * Returns the node detail when a link to node navigation occurs\n */\n function navigateFromLinkToNode(linkId: K2, event: KeyboardEvent) {\n const key = event.key;\n const linkData = linkIdToDataMap.get(linkId)!;\n const startNodeBB = nodeBoundsById.get(linkData.startNode);\n const endNodeBB = nodeBoundsById.get(linkData.endNode);\n if (!startNodeBB || !endNodeBB) return undefined;\n const startNodeCenterX = startNodeBB.x + startNodeBB.w / 2;\n const endNodeCenterX = endNodeBB.x + endNodeBB.w / 2;\n const newNode =\n (endNodeCenterX > startNodeCenterX && key === 'ArrowRight') ||\n (endNodeCenterX < startNodeCenterX && key === 'ArrowLeft')\n ? linkData.endNode\n : linkData.startNode;\n return { id: newNode, isNode: true };\n }\n\n return {\n isNode: (itemInfo: ItemInfo<K1, K2>): boolean => {\n let node, link;\n for (let i = 0; i < nodes.length; i++) {\n node = nodes[i];\n link = links[i];\n if (itemInfo.id === node.id) {\n return true;\n }\n if (itemInfo.id === link.id) {\n return true;\n }\n }\n return false;\n },\n getNextNavigableNode,\n getNextNavigableLink,\n navigateFromNodeToLink,\n navigateFromLinkToNode\n };\n}\n","import {\n ItemInfo,\n ItemHoverDetail,\n ItemFocusDetail,\n Bounds,\n DiagramNodeData,\n DiagramLinkData\n} from '../diagram.types';\nimport { useRef, useState } from 'preact/hooks';\nimport { isEqualItem, getNavigableInfo, zoomAndCenterItemFromInfo } from '../utils/diagramUtils';\nimport { getRandomId } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport { getNodeDetailFromInfo, getLinkDetailFromInfo } from '../utils/navUtils';\nimport { useDiagramNavigation } from './useDiagramNavigation';\nimport type { NavDirection } from '../utils/navUtils';\nimport { useVisHover } from '#hooks/PRIVATE_useVisHover';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\n\nconst DEFAULT_KB_PAN = 15;\nconst DEFAULT_KB_ZOOM = 0.15;\n\nexport function useEvents<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>(\n touchResponse: 'touchStart' | 'touchHold',\n initNode: D1,\n nodes: D1[],\n links: D2[],\n nodeBounds: Bounds[],\n linkIdToDataMap: Map<K2, D2>,\n nodeIdToDataMap: Map<K1, D1>,\n nodeIdToIndexMap: Map<K1, number>,\n width: number,\n height: number,\n maxZoom: number,\n onItemHover?: (detail: ItemHoverDetail<K1, K2, D1, D2>) => void,\n onItemFocus?: (detail: ItemFocusDetail<K1, K2, D1, D2>) => void,\n kbPanCallback?: (props: {\n dPan?: { dx: number; dy: number };\n nPan?: { cx: number; cy: number };\n center?: boolean;\n }) => void,\n kbZoomCallback?: (props: { dZoom?: number; nZoom?: number }) => void\n) {\n const {\n getNextNavigableNode,\n getNextNavigableLink,\n navigateFromNodeToLink,\n navigateFromLinkToNode\n } = useDiagramNavigation<K1, K2, D1, D2>(nodes, links, nodeBounds, linkIdToDataMap);\n const [focusedItemInfo, setfocusedItemInfo] = useState<ItemInfo<K1, K2>>({\n id: initNode.id,\n isNode: true\n });\n const [hoveredItemInfo, sethoveredItemInfo] = useState<ItemInfo<K1, K2>>();\n const activeId = useRef<string>();\n\n const cancelEvent = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n };\n\n const keyDownHandler = (event: KeyboardEvent) => {\n const key = event.key;\n let eventConsumed = false;\n // tabbing out of the diagram\n if (key === 'TAB') {\n return;\n }\n // if this a switch from node to link or vice versa\n if (isChangeItemType(event)) {\n const nextItemInfo = focusedItemInfo.isNode\n ? navigateFromNodeToLink(links, event, getNodeDetailFromInfo(focusedItemInfo, nodes))\n : navigateFromLinkToNode(focusedItemInfo.id as K2, event);\n handleKeyboardInput(nextItemInfo);\n eventConsumed = true;\n } else if (isNavigationEvent(key)) {\n const nextItemInfo = handleKeyboardNavigationEvent(key);\n handleKeyboardInput(nextItemInfo);\n eventConsumed = true;\n } else {\n switch (key) {\n case 'PageUp': {\n kbPanCallback &&\n kbPanCallback({\n dPan: {\n dx: event.shiftKey ? -DEFAULT_KB_PAN : 0,\n dy: event.shiftKey ? 0 : -DEFAULT_KB_PAN\n }\n });\n eventConsumed = true;\n break;\n }\n case 'PageDown': {\n kbPanCallback &&\n kbPanCallback({\n dPan: {\n dx: event.shiftKey ? DEFAULT_KB_PAN : 0,\n dy: event.shiftKey ? 0 : DEFAULT_KB_PAN\n }\n });\n eventConsumed = true;\n eventConsumed = true;\n break;\n }\n case '+':\n case '=': {\n kbZoomCallback && kbZoomCallback({ dZoom: DEFAULT_KB_ZOOM });\n eventConsumed = true;\n break;\n }\n case '-':\n case '_': {\n kbZoomCallback && kbZoomCallback({ dZoom: -DEFAULT_KB_ZOOM });\n eventConsumed = true;\n break;\n }\n case '0': {\n if (event.ctrlKey && event.altKey) {\n const { centerX, centerY, zoom } = zoomAndCenterItemFromInfo(\n focusedItemInfo,\n linkIdToDataMap,\n nodeBounds,\n nodeIdToIndexMap,\n width,\n height,\n maxZoom\n );\n kbZoomCallback && kbZoomCallback({ nZoom: zoom });\n kbPanCallback && kbPanCallback({ nPan: { cx: centerX, cy: centerY } });\n } else {\n // zoom to fit\n kbZoomCallback && kbZoomCallback({});\n kbPanCallback && kbPanCallback({ center: true });\n }\n eventConsumed = true;\n }\n }\n }\n if (eventConsumed) {\n cancelEvent(event);\n }\n };\n\n const keyUpHandler = (event: KeyboardEvent) => {\n const key = event.code;\n switch (key) {\n case 'Tab': {\n updatefocusedItemInfo({\n ...focusedItemInfo,\n isCurrent: true,\n isFocusVisible: true\n });\n break;\n }\n }\n };\n\n const blurHandler = () => {\n if (hoveredItemInfo != null || focusedItemInfo.isCurrent) {\n onItemFocus?.({ id: undefined, data: undefined });\n }\n const itemInfo = { ...focusedItemInfo, isCurrent: false, isFocusVisible: false };\n setfocusedItemInfo(itemInfo);\n };\n\n const onHover = (event: PointerEvent) => {\n const itemInfo = getNavigableInfo<K1, K2>(event.target as HTMLElement);\n if (itemInfo && !isEqualItem(itemInfo, hoveredItemInfo)) {\n sethoveredItemInfo({ ...itemInfo, isCurrent: true });\n activeId.current = getRandomId();\n setfocusedItemInfo({ ...focusedItemInfo, isCurrent: false });\n if (itemInfo.isNode) {\n onItemHover?.({\n id: itemInfo.id,\n type: 'node',\n data: nodeIdToDataMap.get(itemInfo.id as K1)\n });\n } else {\n onItemHover?.({\n id: itemInfo.id,\n type: 'link',\n data: linkIdToDataMap.get(itemInfo.id as K2)\n });\n }\n }\n };\n\n const onHoverLeave = () => {\n sethoveredItemInfo(undefined);\n activeId.current = undefined;\n onItemHover?.({ id: undefined, data: undefined });\n };\n\n const hoverHandlers = useVisHover(onHover, undefined, onHoverLeave, touchResponse);\n\n const pointerUpHandler = (event: PointerEvent) => {\n const itemInfo = getNavigableInfo<K1, K2>(event.target as HTMLElement);\n if (itemInfo.id != null) {\n setfocusedItemInfo(itemInfo);\n activeId.current = getRandomId();\n }\n };\n\n function updatefocusedItemInfo(itemInfo: ItemInfo<K1, K2>) {\n if (itemInfo.isNode) {\n onItemFocus?.({\n id: itemInfo.id,\n type: 'node',\n data: nodeIdToDataMap.get(itemInfo.id as K1)\n });\n } else {\n onItemFocus?.({\n id: itemInfo.id,\n type: 'link',\n data: linkIdToDataMap.get(itemInfo.id as K2)\n });\n }\n activeId.current = getRandomId();\n setfocusedItemInfo(itemInfo);\n }\n\n function handleKeyboardInput(item?: ItemInfo<K1, K2>) {\n if (!item) return;\n if (!isEqualItem(item, focusedItemInfo)) {\n item.isCurrent = true;\n item.isFocusVisible = true;\n if (hoveredItemInfo) {\n sethoveredItemInfo({ ...hoveredItemInfo, isCurrent: false });\n }\n updatefocusedItemInfo(item);\n }\n }\n\n function isNavigationEvent(key: string) {\n switch (key) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowRight':\n case 'ArrowLeft': {\n return true;\n }\n }\n return false;\n }\n\n function isChangeItemType(event: KeyboardEvent) {\n const key = event.code;\n // check if switching from node to link\n // equivalent of ≤ and ≥\n if (focusedItemInfo.isNode && event.altKey && (key === 'Period' || key === 'Comma')) {\n return true;\n // check if switching from link to node\n } else if (!focusedItemInfo.isNode && (key === 'ArrowLeft' || key === 'ArrowRight')) {\n return true;\n }\n return false;\n }\n\n function handleKeyboardNavigationEvent(key: string) {\n let direction: NavDirection = 'down';\n switch (key) {\n case 'ArrowDown': {\n direction = 'down';\n break;\n }\n case 'ArrowUp': {\n direction = 'up';\n break;\n }\n case 'ArrowRight': {\n direction = 'right';\n break;\n }\n case 'ArrowLeft': {\n direction = 'left';\n break;\n }\n }\n if (focusedItemInfo.isNode) {\n const itemDetail = getNextNavigableNode(\n direction,\n true,\n getNodeDetailFromInfo(focusedItemInfo, nodes),\n nodes\n );\n return itemDetail ? { id: itemDetail.id, isNode: true } : focusedItemInfo;\n } else {\n const linkDetail = getLinkDetailFromInfo(focusedItemInfo, links);\n const itemDetail = getNextNavigableLink(direction, nodes, linkDetail, links);\n return itemDetail ? { id: itemDetail.id } : { id: focusedItemInfo.id };\n }\n }\n\n return {\n focusedItemInfo,\n hoveredItemInfo,\n activeId: activeId.current,\n eventsProps: mergeProps(hoverHandlers, {\n onKeyUp: keyUpHandler,\n onKeyDown: keyDownHandler,\n onBlur: blurHandler,\n onPointerUp: pointerUpHandler\n })\n };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport type {\n ItemInfo,\n Bounds,\n DatatipContext,\n DiagramNodeData,\n DiagramLinkData\n} from '../diagram.types';\nimport type { RefObject } from 'preact';\nimport { useDatatip } from '#hooks/PRIVATE_useDatatip';\nimport { calculateOffset } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport type { Pan } from '../utils/panUtils';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { getDatatipContent } from '../utils/diagramUtils';\nimport { ComponentChildren } from 'preact';\nimport { Property } from 'csstype';\n\ntype props<K1, K2, D1, D2> = {\n touchResponse: 'touchStart' | 'touchHold';\n datatip?: (context: DatatipContext<D1, D2>) => {\n content: ComponentChildren;\n borderColor?: Property.BorderColor;\n };\n text?: string;\n focusedItemInfo: ItemInfo<K1, K2>;\n focusedItemBoundsRef: RefObject<Bounds | null>;\n panState: Pan;\n zoom: number;\n width: number;\n nodesMap: Map<K1, D1>;\n linksMap: Map<K2, D2>;\n hoveredItem?: ItemInfo<K1, K2>;\n};\n\n/**\n * Returns the datatip.\n * @param text The text string for the diagram item.\n * @param rootRef The ref for root of the diagram.\n * @param focusedItemBoundsRef The ref for focused item bounds.\n * @param focusedItemInfo The ItemInfo for focused item.\n * @returns\n */\nexport const useDiagramDatatip = <\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>({\n touchResponse,\n datatip,\n focusedItemBoundsRef,\n focusedItemInfo,\n panState,\n zoom,\n width,\n nodesMap,\n linksMap,\n hoveredItem\n}: props<K1, K2, D1, D2>) => {\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const datatipC = getDatatipContent(nodesMap, linksMap, focusedItemInfo, hoveredItem, datatip);\n\n const elementBounds = focusedItemBoundsRef.current\n ? {\n x: focusedItemBoundsRef.current.x * zoom + panState.panX,\n y: focusedItemBoundsRef.current.y * zoom + panState.panY,\n width: focusedItemBoundsRef.current.w * zoom,\n height: focusedItemBoundsRef.current.h * zoom\n }\n : undefined;\n\n const { datatipContent, datatipProps } = useDatatip({\n content: datatipC?.content,\n borderColor: datatipC?.borderColor,\n placement: 'top-start',\n offset: calculateOffset(isRtl, width, elementBounds),\n anchor: focusedItemInfo?.isCurrent ? 'element' : 'pointer',\n touchResponse\n });\n return { datatipContent: datatipContent, datatipProps: datatipProps };\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport type { RefObject } from 'preact';\nimport { useRef } from 'preact/hooks';\n\ntype PointerGesture = {\n pointers: PointerEvent[];\n};\n\ntype UsePointerGestureOptions = {\n captureTargetRef: RefObject<HTMLDivElement>;\n numPointers: number;\n onPointerGestureDown?: (detail: PointerGesture) => void;\n onPointerGestureMove?: (detail: PointerGesture) => void;\n onPointerGestureEnd?: (detail: PointerGesture) => void;\n onExtraneousPointerDown?: (detail: PointerGesture) => void;\n isDisabled?: boolean;\n};\n\nconst usePointerGesture = ({\n captureTargetRef,\n numPointers = 1,\n onPointerGestureDown,\n onPointerGestureMove,\n onPointerGestureEnd,\n onExtraneousPointerDown,\n isDisabled = false\n}: UsePointerGestureOptions) => {\n const activePointers = useRef<PointerEvent[]>([]);\n\n if (isDisabled) {\n activePointers.current = [];\n }\n\n const onPointerDown = (e: PointerEvent) => {\n activePointers.current.push(e);\n if (activePointers.current.length === numPointers) {\n onPointerGestureDown && onPointerGestureDown({ pointers: activePointers.current });\n } else if (activePointers.current.length > numPointers) {\n onExtraneousPointerDown && onExtraneousPointerDown({ pointers: activePointers.current });\n }\n };\n\n const onPointerMove = (e: PointerEvent) => {\n if (activePointers.current.length === 0) return;\n\n const index = activePointers.current.findIndex(\n (pointerEvent) => pointerEvent.pointerId === e.pointerId\n );\n if (index === -1) return;\n\n activePointers.current[index] = e;\n if (activePointers.current.length === numPointers) {\n activePointers.current.forEach((e) =>\n captureTargetRef.current!.setPointerCapture(e.pointerId)\n );\n\n onPointerGestureMove && onPointerGestureMove({ pointers: activePointers.current });\n }\n };\n\n const onPointerUp = (e: PointerEvent) => {\n const index = activePointers.current.findIndex(\n (pointerEvent) => pointerEvent.pointerId === e.pointerId\n );\n if (index === -1) return;\n\n activePointers.current[index] = e;\n if (activePointers.current.length === numPointers) {\n onPointerGestureEnd && onPointerGestureEnd({ pointers: activePointers.current });\n }\n activePointers.current.splice(index, 1);\n };\n\n const onPointerCancel = onPointerUp;\n const onPointerLeave = onPointerUp;\n\n return isDisabled\n ? {}\n : {\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onPointerCancel,\n onPointerLeave\n };\n};\n\nexport { usePointerGesture };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { Bounds, PanState } from '../diagram.types';\nimport { panXYToCenterXY } from './diagramUtils';\nexport type PanBounds = {\n minX: number;\n minY: number;\n maxX: number;\n maxY: number;\n};\n\n/**\n * The pan values that describes where the diagram content\n * is panned\n */\nexport type Pan = {\n panX: number;\n panY: number;\n};\n\nconst constrainPan = (\n previousPan: Pan,\n nextPan: Pan,\n panBounds: PanBounds,\n panDirection: 'x' | 'y' | 'any'\n) => {\n const panX = panDirection !== 'y' ? nextPan.panX : previousPan.panX;\n const panY = panDirection !== 'x' ? nextPan.panY : previousPan.panY;\n return {\n panX: panX > panBounds.maxX ? panBounds.maxX : panX < panBounds.minX ? panBounds.minX : panX,\n panY: panY > panBounds.maxY ? panBounds.maxY : panY < panBounds.minY ? panBounds.minY : panY\n };\n};\n\nexport const pan = (\n previousPan: Pan,\n nextPan: Pan,\n panDirection: 'x' | 'y' | 'any',\n zoom: number,\n width: number,\n height: number,\n panBounds?: PanBounds,\n onPanChange?: (detail: PanState) => void\n) => {\n if (!panBounds) {\n //On initial render before nodes are rendered\n return { newPan: { panX: 0, panY: 0 } };\n }\n const newPan = constrainPan(previousPan, nextPan, panBounds, panDirection);\n const isPanChanged = newPan.panX !== previousPan.panX || newPan.panY !== previousPan.panY;\n const center = panXYToCenterXY(newPan.panX, newPan.panY, zoom, width, height);\n isPanChanged &&\n onPanChange &&\n onPanChange({\n centerX: center.centerX,\n centerY: center.centerY\n });\n return { newPan };\n};\n\nexport const getPanBounds = (\n width: number,\n height: number,\n elemBounds: Bounds,\n zoom: number,\n minZoom: number,\n initPanZoomState: {\n zoom: number;\n centerX?: number;\n centerY?: number;\n },\n panType?: string\n): PanBounds => {\n const { x, y, w, h } = elemBounds;\n let minX, maxX, minY, maxY;\n if (panType === 'centerContent') {\n minX = width / 2 - (w + x) * zoom;\n minY = height / 2 - (h + y) * zoom;\n maxX = width / 2 - x * zoom;\n maxY = height / 2 - y * zoom;\n } else {\n // panType equals fixed\n const zoomRatio = zoom / minZoom;\n // Find left corner of the content at min zoom and content is centered\n const minZoomX = (width - w * minZoom) / 2 - x * minZoom;\n const minZoomY = (height - h * minZoom) / 2 - y * minZoom;\n // When we pan all the way to the right, the left corner of displayable area is 0,0 as in min zoom.\n // When we pan all the way to the left, lets find the corner of the displayable area\n const leftCornerX = width - width * zoomRatio;\n const leftCornerY = height - height * zoomRatio;\n // Now we have everything to calculate pan zoom constraints\n minX = leftCornerX + minZoomX * zoomRatio;\n minY = leftCornerY + minZoomY * zoomRatio;\n maxX = minZoomX * zoomRatio;\n maxY = minZoomY * zoomRatio;\n }\n const initZoom = initPanZoomState.zoom;\n const initCenterX = initPanZoomState.centerX;\n const initCenterY = initPanZoomState.centerY;\n // If an initial panZoomState is set, should expand pan bounds to include it\n let dx, dy;\n if (initCenterX) {\n const boundsX = initCenterX * initZoom - width / 2;\n if (-boundsX * initZoom < minX) {\n dx = minX - boundsX * initZoom;\n minX -= dx;\n maxX += dx;\n } else if (-boundsX * initZoom > maxX) {\n dx = -boundsX * initZoom - maxX;\n minX -= dx;\n maxX += dx;\n }\n }\n if (initCenterY) {\n const boundsY = initCenterY * initZoom - height / 2;\n if (-boundsY * initZoom < minY) {\n dy = minY - boundsY * initZoom;\n minY -= dy;\n maxY += dy;\n } else if (-boundsY * initZoom > maxY) {\n dy = -boundsY * initZoom - maxY;\n minY -= dy;\n maxY += dy;\n }\n }\n return {\n minX: minX,\n maxX: maxX,\n minY: minY,\n maxY: maxY\n };\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport type { PanState } from '../diagram.types';\nimport type { RefObject } from 'preact';\nimport { useRef } from 'preact/hooks';\nimport { useDrag } from './useDrag';\nimport { PanBounds, pan } from '../utils/panUtils';\nimport { centerXYToPanXY } from '../utils/diagramUtils';\n/**\n * Options for useDragPan hook\n */\ntype UseDragPanOptions = {\n panProps: {\n centerX: number;\n centerY: number;\n panDirection: 'x' | 'y' | 'any';\n onPan?: (detail: PanState) => void;\n panning?: 'centerContent' | 'fixed' | 'off';\n };\n captureTargetRef: RefObject<HTMLDivElement>;\n panBounds?: PanBounds;\n onDragPanStart?: () => void;\n onDragPanEnd?: () => void;\n zoom: number;\n width: number;\n height: number;\n};\n\nconst useDragPan = ({\n panProps,\n captureTargetRef,\n panBounds,\n width,\n height,\n zoom,\n onDragPanStart,\n onDragPanEnd\n}: UseDragPanOptions) => {\n const prevPanState = useRef({ panX: 0, panY: 0 });\n const initialPanState = useRef({ panX: 0, panY: 0 });\n const dragProps = useDrag({\n captureTargetRef,\n onDragStart: () => {\n const panValues = centerXYToPanXY(panProps.centerX, panProps.centerY, zoom, width, height);\n initialPanState.current = {\n panX: panValues.panX,\n panY: panValues.panY\n };\n onDragPanStart && onDragPanStart();\n },\n onDragMove: ({ dx, dy }) => {\n const nextPan = {\n panX: initialPanState.current.panX + dx,\n panY: initialPanState.current.panY + dy\n };\n const { newPan } = pan(\n prevPanState.current,\n nextPan,\n panProps.panDirection,\n zoom,\n width,\n height,\n panBounds,\n panProps.onPan\n );\n prevPanState.current = newPan;\n },\n onDragEnd: ({ originalEvent }) => {\n // If panning occurred, call preventDefault to prevent selection from occurring\n if (\n initialPanState.current.panX !== prevPanState.current.panX ||\n initialPanState.current.panY !== prevPanState.current.panY\n )\n originalEvent.preventDefault();\n onDragPanEnd && onDragPanEnd();\n },\n isDisabled: panProps.panning === 'off'\n });\n\n return dragProps;\n};\n\nexport { useDragPan };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport type { RefObject } from 'preact';\nimport { useRef } from 'preact/hooks';\nimport { usePointerGesture } from './usePointerGesture';\n/**\n * Draggable region\n */\ntype DraggableRegion = {\n xMin: number;\n xMax: number;\n yMin: number;\n yMax: number;\n};\n\ntype DragDetail = {\n x: number;\n y: number;\n dx: number;\n dy: number;\n regionOffsetX: number;\n regionOffsetY: number;\n originalEvent: PointerEvent;\n};\n\ntype UseDragOptions = {\n captureTargetRef: RefObject<HTMLDivElement>;\n draggableRegion?: DraggableRegion;\n onDragStart?: (detail: Omit<DragDetail, 'dx' | 'dy'>) => void;\n onDragMove?: (detail: DragDetail) => void;\n onDragEnd?: (detail: DragDetail) => void;\n isDisabled?: boolean;\n};\n/**\n * Whether point with coordinates are in the draggable region\n */\nconst inDraggableRegion = (x: number, y: number, region?: DraggableRegion) => {\n if (!region) return true;\n const { xMin, xMax, yMin, yMax } = region;\n return x >= xMin && x <= xMax && y >= yMin && y <= yMax;\n};\n\n/**\n * Returns region offset\n */\nconst getRegionOffset = (x: number, y: number, region?: DraggableRegion) => {\n if (!region) return { regionOffsetX: x, regionOffsetY: y };\n return { regionOffsetX: x - region.xMin, regionOffsetY: y - region.yMin };\n};\n\nconst useDrag = ({\n captureTargetRef,\n draggableRegion,\n onDragStart,\n onDragMove,\n onDragEnd,\n isDisabled = false\n}: UseDragOptions) => {\n const inactiveState = { isDragging: false, x0: -1, y0: -1, regionOffsetX: -1, regionOffsetY: -1 };\n const dragState = useRef(inactiveState);\n\n const handlePointerEvent = (e: PointerEvent, cb?: (detail: DragDetail) => void) => {\n const { isDragging, x0, y0, regionOffsetX, regionOffsetY } = dragState.current;\n if (!isDragging) return;\n const x = e.pageX;\n const y = e.pageY;\n cb && cb({ x, y, dx: x - x0, dy: y - y0, regionOffsetX, regionOffsetY, originalEvent: e });\n };\n\n const dragProps = usePointerGesture({\n captureTargetRef,\n numPointers: 1, // Only allow 1 pointer dragging\n onExtraneousPointerDown: () => {\n dragState.current = inactiveState;\n },\n onPointerGestureDown: ({ pointers: [e] }) => {\n const x = e.pageX;\n const y = e.pageY;\n if (e.button !== 0 || !inDraggableRegion(x, y, draggableRegion)) return;\n const { regionOffsetX, regionOffsetY } = getRegionOffset(x, y, draggableRegion);\n dragState.current = { isDragging: true, x0: x, y0: y, regionOffsetX, regionOffsetY };\n onDragStart && onDragStart({ x, y, regionOffsetX, regionOffsetY, originalEvent: e });\n },\n onPointerGestureMove: ({ pointers: [e] }) => {\n handlePointerEvent(e, onDragMove);\n },\n onPointerGestureEnd: ({ pointers: [e] }) => {\n handlePointerEvent(e, onDragEnd);\n dragState.current = inactiveState;\n }\n });\n\n return isDisabled ? {} : dragProps;\n};\n\nexport { useDrag };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nexport const ZOOM_INCREMENT = 0.05;\n\nexport const zoom = (\n nextZoom: number,\n zoom: number,\n minZoom: number,\n maxZoom: number,\n onZoomChange?: (detail: { zoomValue: number }) => void\n) => {\n const newZoom = nextZoom > maxZoom || nextZoom < minZoom ? zoom : nextZoom;\n const isZoomChanged = newZoom !== zoom;\n isZoomChanged &&\n onZoomChange &&\n onZoomChange({\n zoomValue: newZoom\n });\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport type { RefObject } from 'preact';\nimport { useRef } from 'preact/hooks';\nimport { usePointerGesture } from './usePointerGesture';\n\ntype Point = { x: number; y: number };\n\nconst getMidpoint = (p1: Point, p2: Point) => ({ x: (p1.x + p2.x) / 2, y: (p1.y + p2.y) / 2 });\nconst getDistance = (p1: Point, p2: Point) => Math.sqrt((p2.x - p1.x) ** 2 + (p2.y - p2.y) ** 2);\n\ntype PinchDetail = {\n origin: Point;\n delta: number;\n};\n\ntype UsePinchOptions = {\n captureTargetRef: RefObject<HTMLDivElement>;\n onPinchZoomStart?: (detail: PinchDetail) => void;\n onPinchZoomChange?: (detail: PinchDetail) => void;\n onPinchZoomEnd?: () => void;\n isDisabled?: boolean;\n};\n\nconst usePinch = ({\n captureTargetRef,\n onPinchZoomStart,\n onPinchZoomChange,\n onPinchZoomEnd,\n isDisabled = false\n}: UsePinchOptions) => {\n const origin = useRef({ x: -1, y: -1 });\n const prevDistance = useRef(-1);\n const reset = () => {\n origin.current = { x: -1, y: -1 };\n prevDistance.current = -1;\n };\n\n if (isDisabled) reset();\n\n const pinchProps = usePointerGesture({\n captureTargetRef,\n numPointers: 2, // Pinch gesture requires 2 pointers\n onPointerGestureDown: ({ pointers: [pointer1, pointer2] }) => {\n const p1 = { x: pointer1.offsetX, y: pointer1.offsetY };\n const p2 = { x: pointer2.offsetX, y: pointer2.offsetY };\n origin.current = getMidpoint(p1, p2);\n prevDistance.current = getDistance(p1, p2);\n onPinchZoomStart &&\n onPinchZoomStart({\n origin: origin.current,\n delta: 0\n });\n },\n onPointerGestureMove: ({ pointers: [pointer1, pointer2] }) => {\n const p1 = { x: pointer1.offsetX, y: pointer1.offsetY };\n const p2 = { x: pointer2.offsetX, y: pointer2.offsetY };\n const distance = getDistance(p1, p2);\n const delta = distance - prevDistance.current;\n prevDistance.current = distance;\n onPinchZoomChange &&\n onPinchZoomChange({\n origin: origin.current,\n delta\n });\n },\n onPointerGestureEnd: () => {\n reset();\n onPinchZoomEnd && onPinchZoomEnd();\n }\n });\n\n return isDisabled ? {} : pinchProps;\n};\n\nexport { usePinch };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport type { RefObject } from 'preact';\nimport { usePinch } from './usePinch';\nimport { zoom, ZOOM_INCREMENT } from '../utils/zoomUtils';\n\ntype UsePinchZoomOptions = {\n captureTargetRef: RefObject<HTMLDivElement>;\n zooming: 'on' | 'off';\n minZoom: number;\n maxZoom: number;\n zoomValue: number;\n onZoom?: (detail: { zoomValue: number }) => void;\n};\n\nconst usePinchZoom = ({\n captureTargetRef,\n zooming,\n minZoom,\n maxZoom,\n zoomValue,\n onZoom\n}: UsePinchZoomOptions) => {\n const pinchProps = usePinch({\n captureTargetRef,\n onPinchZoomChange: ({ delta }) => {\n const newZoom = zoomValue * (1 + ZOOM_INCREMENT * delta);\n zoom(newZoom, zoomValue, minZoom, maxZoom, onZoom);\n },\n isDisabled: zooming === 'off'\n });\n\n return pinchProps;\n};\n\nexport { usePinchZoom };\n","import { Pan, Zoom, Bounds } from '../diagram.types';\nimport type { RefObject } from 'preact';\nimport { useState, useRef } from 'preact/hooks';\nimport { useDragPan } from './useDragPan';\nimport { useWheelZoom } from './useWheelZoom';\nimport { usePinchZoom } from './usePinchZoom';\nimport {\n centerXYToPanXY,\n getPanProps,\n getZoomProps,\n getZoomToFitZoom\n} from '../utils/diagramUtils';\nimport { PanBounds, getPanBounds, pan } from '../utils/panUtils';\nimport { zoom } from '../utils/zoomUtils';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { isTouch } from '#utils/UNSAFE_visUtils/clientUtils';\nimport { Property } from 'csstype';\nimport { useVisDragModeControls } from '#hooks/PRIVATE_useVisDragModeControls';\n\nexport type PanZoomProps = {\n props: Pan & Zoom;\n captureTargetRef: RefObject<HTMLDivElement>;\n width: number;\n height: number;\n contentBounds: Bounds;\n isRtl: boolean;\n};\n\nexport const usePanZoom = ({\n props,\n captureTargetRef,\n width,\n height,\n contentBounds,\n isRtl\n}: PanZoomProps) => {\n const [cursor, setCursor] = useState<Property.Cursor>();\n const zoomProps = getZoomProps(props, width, height, contentBounds);\n const panBounds = useRef<PanBounds>();\n const prevZoom = useRef<number>();\n const panning = useRef<string>();\n const initPanZoomState = useRef({\n zoom: props.zoomValue || 0,\n centerX: props.centerX,\n centerY: props.centerY\n });\n\n const isDeviceTouch = isTouch();\n const plotArea = {\n width: width,\n height: height,\n x: 0,\n y: 0\n };\n\n const showPanButton = isDeviceTouch ? props.panning && props.panning !== 'off' : undefined;\n const dragModeOptions = {\n isZoomScroll: true,\n plotAreaSpace: plotArea,\n componentWidth: width,\n isRtl,\n showPanButton: showPanButton ?? false,\n showZoomButton: false,\n showSelectButton: false,\n isDisabled: !isDeviceTouch\n };\n\n const { toggleButtonContent, userDragMode } = useVisDragModeControls(dragModeOptions);\n const panProps = getPanProps(props, contentBounds, userDragMode, isDeviceTouch);\n if (\n contentBounds.w !== Infinity &&\n (zoomProps.zoomValue !== prevZoom.current || panProps.panning !== panning.current)\n ) {\n panBounds.current = getPanBounds(\n width,\n height,\n contentBounds,\n zoomProps.zoomValue,\n zoomProps.minZoom,\n initPanZoomState.current,\n panProps.panning\n );\n prevZoom.current = zoomProps.zoomValue;\n panning.current = panProps.panning;\n }\n const dragPanProps = useDragPan({\n panProps: panProps,\n captureTargetRef: captureTargetRef,\n panBounds: panBounds.current,\n zoom: zoomProps.zoomValue,\n width,\n height,\n onDragPanStart: () => setCursor('grabbing'),\n onDragPanEnd: () => setCursor('auto')\n });\n //dZoom or nZoom is required\n const kbZoomCallback = (props: { dZoom?: number; nZoom?: number }) => {\n const newZoom = props.dZoom\n ? zoomProps.zoomValue + props.dZoom\n : getZoomToFitZoom(width, height, contentBounds);\n zoom(\n props.nZoom ? props.nZoom : newZoom,\n zoomProps.zoomValue,\n zoomProps.minZoom,\n zoomProps.maxZoom,\n zoomProps.onZoom\n );\n };\n const prevPanState = useRef({ panX: 0, panY: 0 });\n\n // dPan or nPan is required\n const kbPanCallback = (props: {\n dPan?: { dx: number; dy: number };\n nPan?: { cx: number; cy: number };\n center?: boolean;\n }) => {\n let centerX;\n let centerY;\n if (props.center) {\n centerX = contentBounds.x + contentBounds.w / 2;\n centerY = contentBounds.y + contentBounds.h / 2;\n } else if (props.dPan) {\n centerX = panProps.centerX + props.dPan.dx;\n centerY = panProps.centerY + props.dPan.dy;\n } else {\n centerX = props.nPan!.cx;\n centerY = props.nPan!.cy;\n }\n const panValues = centerXYToPanXY(centerX, centerY, zoomProps.zoomValue, width, height);\n const { newPan } = pan(\n prevPanState.current,\n panValues,\n panProps.panDirection,\n zoomProps.zoomValue,\n width,\n height,\n panBounds.current,\n panProps.onPan\n );\n prevPanState.current = newPan;\n };\n const wheelZoomProps = useWheelZoom(zoomProps);\n const pinchZoomProps = usePinchZoom({\n captureTargetRef,\n zooming: zoomProps.zooming,\n minZoom: zoomProps.minZoom,\n maxZoom: zoomProps.maxZoom,\n zoomValue: zoomProps.zoomValue,\n onZoom: zoomProps.onZoom\n });\n const panZoomProps = mergeProps(dragPanProps, wheelZoomProps, pinchZoomProps);\n\n return {\n panZoomProps,\n panProps,\n zoomProps,\n toggleButtonContent,\n cursor,\n centerX: panProps.centerX,\n centerY: panProps.centerY,\n zoomValue: zoomProps.zoomValue,\n kbPanCallback: panProps.panning !== 'off' ? kbPanCallback : undefined,\n kbZoomCallback: zoomProps.zooming !== 'off' ? kbZoomCallback : undefined\n };\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { useWheel } from './useWheel';\nimport { zoom, ZOOM_INCREMENT } from '../utils/zoomUtils';\n\ntype UseWheelZoomOptions = {\n zooming: 'on' | 'off';\n minZoom: number;\n maxZoom: number;\n zoomValue: number;\n onZoom?: (detail: { zoomValue: number }) => void;\n};\n\nconst useWheelZoom = ({ zooming, minZoom, maxZoom, zoomValue, onZoom }: UseWheelZoomOptions) => {\n const wheelProps = useWheel({\n onWheel: ({ deltaY }) => {\n const newZoom = zoomValue * (1 + ZOOM_INCREMENT * deltaY);\n zoom(newZoom, zoomValue, minZoom, maxZoom, onZoom);\n },\n isDisabled: zooming === 'off'\n });\n\n return wheelProps;\n};\n\nexport { useWheelZoom };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\ntype WheelDetail = {\n x: number;\n y: number;\n deltaX: number;\n deltaY: number;\n ctrlKey: boolean;\n};\n\ntype UseWheelOptions = {\n onWheel: (detail: WheelDetail) => void;\n preventDefault?: boolean;\n isDisabled?: boolean;\n};\n\nconst PX_FACTOR_PER_LINE = 15; // Value used in Toolkit\nconst PX_FACTOR_PER_PAGE = 40; // Value copied from datagrid; this is not handled in Toolkit\n\nconst getNormalizedDelta = (e: WheelEvent) => {\n const { deltaX, deltaY, deltaMode } = e;\n\n switch (deltaMode) {\n case e.DOM_DELTA_PIXEL:\n return { deltaX: -deltaX, deltaY: -deltaY };\n case e.DOM_DELTA_LINE:\n return { deltaX: -deltaX * PX_FACTOR_PER_LINE, deltaY: -deltaY * PX_FACTOR_PER_LINE };\n case e.DOM_DELTA_PAGE:\n return { deltaX: -deltaX * PX_FACTOR_PER_PAGE, deltaY: -deltaY * PX_FACTOR_PER_PAGE };\n default:\n return { deltaX: -deltaX, deltaY: -deltaY };\n }\n};\n\nconst useWheel = ({\n onWheel: onWheelCallback,\n preventDefault = true,\n isDisabled = false\n}: UseWheelOptions) => {\n const onWheel = (e: WheelEvent) => {\n const { deltaX, deltaY } = getNormalizedDelta(e);\n if (preventDefault) e.preventDefault();\n onWheelCallback({\n x: e.offsetX,\n y: e.offsetY,\n deltaX,\n deltaY,\n ctrlKey: e.ctrlKey || e.metaKey\n });\n };\n return isDisabled ? {} : { onWheel };\n};\n\nexport { useWheel, PX_FACTOR_PER_LINE };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport type {\n DiagramProps,\n Bounds,\n DiagramLabelPosition,\n States,\n DiagramNodeData,\n DiagramLinkData,\n DiagramLayoutOutput\n} from './diagram.types';\nimport type { TextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { DiagramLayers } from './DiagramLayers';\nimport { DiagramPanZoomContainer } from './DiagramPanZoomContainer';\nimport { useEvents } from './hooks/useEvents';\nimport { useDiagramDatatip } from './hooks/useDiagramDatatip';\nimport { useTextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { usePanZoom } from './hooks/usePanZoom';\nimport { useRef, useState } from 'preact/hooks';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { useDiagramSelection } from './hooks/useDiagramSelection';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport {\n constructLayoutJSON,\n deconstructLayoutJSON,\n createItemMap,\n getFocusedItemBounds,\n mergeDimensions,\n isEqualBounds,\n getDimensionsFromBounds,\n combineIds,\n getContentBounds,\n centerXYToPanXY,\n filterLinksWithNoEndNodes,\n getAllLabelBounds\n} from './utils/diagramUtils';\nimport { outerStyles } from './themes/DiagramStyles.css';\nimport { useVisTouchResponse } from '#hooks/PRIVATE_useVisTouchResponse';\nimport { merge } from '#utils/UNSAFE_stringUtils';\n\ntype DiagramWithDimensionsProps<K1, K2, D1, D2, L> = Omit<\n DiagramProps<K1, K2, D1, D2, L>,\n 'width' | 'height'\n> & {\n width: number;\n height: number;\n};\n\nexport function DiagramWithDimensions<\n K1 extends string | number,\n K2 extends string | number,\n D1 extends DiagramNodeData<K1> = DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1> = DiagramLinkData<K2, K1>,\n L extends DiagramLayoutOutput<K1, K2> = DiagramLayoutOutput<K1, K2>\n>({\n nodes = [],\n links = [],\n width,\n height,\n selectedIds = {},\n selectionMode = 'none',\n layout,\n nodeRenderer,\n linkRenderer,\n onSelectionChange,\n onItemHover,\n onItemFocus,\n highlightedIds = {},\n datatip,\n ...otherProps\n}: DiagramWithDimensionsProps<K1, K2, D1, D2, L>) {\n const focusedItemBoundsRef = useRef<Bounds | null>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n //TODO JET-62563 change bounds to a MAP\n const [bounds, setBounds] = useState<Bounds[]>([]);\n const [combinedLabelBounds, setCombinedLabelBounds] = useState<Bounds>();\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n\n const diagramNodes = nodes;\n const nodeMap = createItemMap<K1, K2, D1, D2>(diagramNodes);\n const nodeIdToDataMap = nodeMap.itemIdToDataMap;\n const diagramLinks = filterLinksWithNoEndNodes(links, nodeIdToDataMap);\n const linkMap = createItemMap<K1, K2, D1, D2>(diagramLinks);\n const linkIdToDataMap = linkMap.itemIdToDataMap;\n const resizeThrottling = useRef<boolean>(false);\n const newDimensions = getDimensionsFromBounds(bounds);\n const { textMeasureContent, getTextDimensions } = useTextDimensions();\n const labelDimensions = useRef<Map<K1 | K2, TextDimensions>>(new Map());\n const nodeLabelPosRef = useRef<(DiagramLabelPosition | undefined)[] | undefined>([]);\n const linkLabelPosRef = useRef<(DiagramLabelPosition | undefined)[] | undefined>([]);\n const layoutOutputRef = useRef<L>();\n\n const contentBounds = getContentBounds(bounds, combinedLabelBounds);\n const {\n panZoomProps,\n panProps,\n zoomProps,\n toggleButtonContent,\n cursor,\n centerX,\n centerY,\n zoomValue,\n kbPanCallback,\n kbZoomCallback\n } = usePanZoom({\n props: otherProps,\n captureTargetRef: rootRef,\n width: width,\n height: height,\n contentBounds,\n isRtl\n });\n\n const { touchResponse, touchResponseStyle } = useVisTouchResponse({\n type: 'auto',\n supportsTouchDragGestures: zoomProps.zooming === 'on' || panProps.panning !== 'off',\n rootRef\n });\n\n const { focusedItemInfo, hoveredItemInfo, activeId, eventsProps } = useEvents<K1, K2, D1, D2>(\n touchResponse,\n diagramNodes[0],\n diagramNodes,\n diagramLinks,\n bounds,\n linkIdToDataMap,\n nodeIdToDataMap,\n nodeMap.itemIdToIndexMap,\n width,\n height,\n otherProps.maxZoom || 1,\n onItemHover,\n onItemFocus,\n kbPanCallback,\n kbZoomCallback\n );\n\n const { selectionProps, selectionContent } = useDiagramSelection<K1, K2, D1, D2>({\n selectedIds,\n selectionMode,\n nodeMap,\n linkMap,\n focusedItemInfo,\n onSelectionChange,\n rootRef\n });\n\n // This is for the datatip kb position\n if (focusedItemInfo && bounds.length > 0) {\n focusedItemBoundsRef.current = getFocusedItemBounds(\n focusedItemInfo,\n bounds,\n diagramLinks,\n nodeMap.itemIdToIndexMap,\n linkMap.itemIdToIndexMap\n );\n }\n\n const {\n datatipContent,\n datatipProps: { 'aria-describedby': datatipAriaDescribedby, ...datatipProps }\n } = useDiagramDatatip({\n touchResponse,\n datatip,\n focusedItemInfo,\n focusedItemBoundsRef,\n panState: centerXYToPanXY(centerX, centerY, zoomValue, width, height),\n zoom: zoomValue,\n width: width,\n nodesMap: nodeIdToDataMap,\n linksMap: linkIdToDataMap,\n hoveredItem: hoveredItemInfo\n });\n\n const style = {\n width: width,\n height: height,\n cursor: cursor,\n ...touchResponseStyle\n };\n\n const states = useRef<States<K1, K2>>();\n const previousState = states.current // states.current is previous state\n ? states.current\n : {\n selectedNodeIds: [],\n selectedLinkIds: [],\n focusedId: undefined,\n hoveredId: undefined,\n activeId: undefined,\n highlightedIds: [],\n zoom: 0\n };\n\n states.current = {\n // update states to new state\n selectedNodeIds: selectedIds.nodes ?? [],\n selectedLinkIds: selectedIds.links ?? [],\n focusedId:\n focusedItemInfo.isCurrent && focusedItemInfo.isFocusVisible ? focusedItemInfo.id : undefined,\n hoveredId: hoveredItemInfo?.isCurrent ? hoveredItemInfo.id : undefined,\n activeId,\n highlightedIds: combineIds(highlightedIds.nodes, highlightedIds.links),\n zoom: zoomValue\n };\n\n const mergedEventProps = mergeProps(panZoomProps, eventsProps, selectionProps, datatipProps);\n\n // Called anytime node changes size\n const onNodeSizeChanged = (nodeWidth: number, nodeHeight: number, idx: number) => {\n newDimensions[idx] = { w: nodeWidth, h: nodeHeight };\n if (resizeThrottling.current) {\n return;\n }\n\n resizeThrottling.current = true;\n // performs layout at the next available animation frame when all measurements should be ready\n window.requestAnimationFrame(() => {\n const { labelDims, layoutJSON } = constructLayoutJSON(\n diagramNodes,\n nodeIdToDataMap,\n linkIdToDataMap,\n newDimensions,\n width,\n height,\n getTextDimensions\n );\n labelDimensions.current = labelDims;\n const layoutOutput = layout(layoutJSON);\n const { nodePoints, nodeLabelPos, linkLabelPos } = deconstructLayoutJSON<K1, K2, D1, D2, L>(\n layoutOutput,\n diagramNodes,\n diagramLinks\n );\n nodeLabelPosRef.current = nodeLabelPos;\n linkLabelPosRef.current = linkLabelPos;\n layoutOutputRef.current = layoutOutput;\n const nodeBounds = mergeDimensions(newDimensions, nodePoints);\n if (!isEqualBounds(nodeBounds, bounds)) {\n setBounds(nodeBounds);\n }\n const labelBounds = getAllLabelBounds(\n labelDims,\n diagramNodes,\n diagramLinks,\n nodeLabelPos,\n linkLabelPos,\n direction === 'rtl'\n );\n setCombinedLabelBounds(labelBounds);\n resizeThrottling.current = false;\n });\n };\n return (\n <div\n ref={rootRef}\n class={outerStyles}\n {...mergedEventProps}\n style={style}\n tabIndex={0}\n role=\"application\"\n aria-label={otherProps['aria-label']}\n aria-labelledby={otherProps['aria-labelledby']}\n aria-describedby={merge([otherProps['aria-describedby'], datatipAriaDescribedby])}\n aria-activedescendant={activeId}>\n {getTextDimensions ? (\n <DiagramPanZoomContainer\n centerX={centerX}\n centerY={centerY}\n zoom={zoomValue}\n width={width}\n height={height}>\n <DiagramLayers\n nodes={diagramNodes}\n links={diagramLinks}\n nodeRenderer={nodeRenderer}\n linkRenderer={linkRenderer}\n width={width}\n height={height}\n nodeBounds={bounds}\n states={states.current!}\n previousStates={previousState}\n onNodeSizeChanged={onNodeSizeChanged}\n nodeLabelPositions={nodeLabelPosRef.current}\n linkLabelPositions={linkLabelPosRef.current}\n labelDimensions={labelDimensions.current}\n supportsSelection={\n selectionMode !== 'none' ||\n !!(selectedIds?.nodes && selectedIds.nodes.length > 0) ||\n !!(selectedIds?.links && selectedIds.links.length > 0)\n }\n layoutOutput={layoutOutputRef.current}\n />\n </DiagramPanZoomContainer>\n ) : undefined}\n {textMeasureContent}\n {datatipContent}\n {selectionContent}\n {toggleButtonContent}\n </div>\n );\n}\n","import { useSelection } from '#hooks/PRIVATE_useVisSelection';\nimport type { DiagramLinkData, DiagramNodeData, ItemInfo } from '../diagram.types';\nimport { getNavigableInfo } from '../utils/diagramUtils';\nimport type { RefObject } from 'preact';\n\ntype SelectionProps<K1, K2, D1, D2> = {\n selectedIds: {\n nodes?: K1[];\n links?: K2[];\n };\n selectionMode: 'none' | 'single' | 'multiple';\n nodeMap: {\n itemIdToDataMap: Map<K1, D1>;\n itemIdToIndexMap: Map<K1, number>;\n itemIndexToIdMap: Map<number, K1>;\n };\n linkMap: {\n itemIdToDataMap: Map<K2, D2>;\n itemIdToIndexMap: Map<K2, number>;\n itemIndexToIdMap: Map<number, K2>;\n };\n focusedItemInfo: ItemInfo<K1, K2>;\n onSelectionChange?: (detail: {\n nodes: K1[];\n links: K2[];\n nodeData: (D1 | undefined)[];\n linkData: (D2 | undefined)[];\n }) => void;\n rootRef: RefObject<HTMLDivElement>;\n};\n\ntype EncodedNodeId = `N_${number}`;\ntype EncodedLinkId = `L_${number}`;\n\nexport function useDiagramSelection<\n K1,\n K2,\n D1 extends DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1>\n>({\n selectedIds,\n selectionMode,\n nodeMap,\n linkMap,\n focusedItemInfo,\n onSelectionChange,\n rootRef\n}: SelectionProps<K1, K2, D1, D2>) {\n const nodeIdToIndexMap = nodeMap.itemIdToIndexMap;\n const nodeIndexToIdMap = nodeMap.itemIndexToIdMap;\n const nodeIdToDataMap = nodeMap.itemIdToDataMap;\n const linkIdToIndexMap = linkMap.itemIdToIndexMap;\n const linkIndexToIdMap = linkMap.itemIndexToIdMap;\n const linkIdToDataMap = linkMap.itemIdToDataMap;\n const encodeNodeId = (id: K1) => `N_${nodeIdToIndexMap.get(id)}` as EncodedNodeId;\n const decodeNodeId = (id: EncodedNodeId) => nodeIndexToIdMap.get(Number(id.slice(2)));\n const encodeLinkId = (id: K2) => `L_${linkIdToIndexMap.get(id)}` as EncodedLinkId;\n const decodeLinkId = (id: EncodedLinkId) => linkIndexToIdMap.get(Number(id.slice(2)));\n\n const encodedNodesSelection = selectedIds.nodes ? selectedIds.nodes.map(encodeNodeId) : [];\n const encodedLinksSelection = selectedIds.links ? selectedIds.links.map(encodeLinkId) : [];\n const encodedSelection = [...encodedNodesSelection, ...encodedLinksSelection];\n const idExtracter = (event: Event) => {\n // return encodeNodeId(id) or encodeLinkId(id) depending on node or link selection or undefined if clicked on empty space\n const info =\n event.type === 'keyup'\n ? focusedItemInfo\n : getNavigableInfo<K1, K2>(event.target as HTMLElement, rootRef);\n return info.id !== undefined\n ? info.isNode\n ? encodeNodeId(info.id as K1)\n : encodeLinkId(info.id as K2)\n : undefined;\n };\n\n const onEncodedSelectionChange = (detail: { ids: (EncodedNodeId | EncodedLinkId)[] }) => {\n const newNodeIds = detail.ids\n .filter((encId) => encId[0] === 'N')\n .map((encId) => decodeNodeId(encId as EncodedNodeId)!);\n const newLinkIds = detail.ids\n .filter((encId) => encId[0] === 'L')\n .map((encId) => decodeLinkId(encId as EncodedLinkId)!);\n\n const newSelectedNodeIds = newNodeIds.filter(\n (id) => nodeIdToDataMap.get(id)?.selectable !== 'off'\n );\n const newSelectedLinkIds = newLinkIds.filter(\n (id) => linkIdToDataMap.get(id)?.selectable !== 'off'\n );\n\n const nodeData = newSelectedNodeIds.map((selectedId) => {\n return nodeIdToDataMap.get(selectedId);\n });\n const linkData = newSelectedLinkIds.map((selectedId) => {\n return linkIdToDataMap.get(selectedId);\n });\n return (\n onSelectionChange &&\n onSelectionChange({\n nodes: newSelectedNodeIds,\n links: newSelectedLinkIds,\n nodeData,\n linkData\n })\n );\n };\n\n const getDataById = (id: EncodedNodeId | EncodedLinkId) => {\n let data;\n if (id[0] === 'N') {\n const nodeId = decodeNodeId(id as EncodedNodeId)!;\n data = nodeMap.itemIdToDataMap.get(nodeId);\n } else if (id[0] === 'L') {\n const linkId = decodeLinkId(id as EncodedLinkId)!;\n data = linkMap.itemIdToDataMap.get(linkId);\n }\n return data;\n };\n\n const { selectionContent, selectionProps } = useSelection<`N_${number}` | `L_${number}`, D1 | D2>(\n {\n selection: encodedSelection,\n idExtracter,\n selectionMode,\n getDataById,\n onChange: onEncodedSelectionChange\n }\n );\n\n return { selectionContent, selectionProps };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport type {\n DiagramProps,\n DiagramNodeData,\n DiagramLinkData,\n DiagramLayoutOutput\n} from './diagram.types';\nimport { TrackResizeContainer } from '#PRIVATE_TrackResizeContainer';\nimport { dimensionStyle } from './themes/DiagramStyles.css';\nimport { DiagramWithDimensions } from './DiagramWithDimensions';\n\n/**\n * Diagrams are used to display a set of nodes and the links between them.\n */\nexport function Diagram<\n K1 extends string | number,\n K2 extends string | number,\n D1 extends DiagramNodeData<K1> = DiagramNodeData<K1>,\n D2 extends DiagramLinkData<K2, K1> = DiagramLinkData<K2, K1>,\n L extends DiagramLayoutOutput<K1, K2> = DiagramLayoutOutput<K1, K2>\n>({ width, height, ...otherProps }: DiagramProps<K1, K2, D1, D2, L>) {\n return otherProps.nodes && otherProps.nodes.length > 0 ? (\n <TrackResizeContainer width={width} height={height} class={dimensionStyle}>\n {(width, height) => <DiagramWithDimensions width={width} height={height} {...otherProps} />}\n </TrackResizeContainer>\n ) : null;\n}\n"],"names":["ZOOM_TO_FIT_PADDING","createItemMap","items","itemIdToDataMap","Map","itemIdToIndexMap","itemIndexToIdMap","i","length","set","id","combineIds","nodeIds","linkIds","combinedIds","push","getLabelBounds","label","dims","isRTL","labelPos","getLabelPosition","rotationAngle","rotationPoint","x","width","y","height","angle","topLeft","getCoordsRelToRotPoint","topRight","bottomLeft","bottomRight","points","minX","minY","maxX","maxY","point","w","h","getBoundsFromPoints","rotatePoint","map","pos","labelPoint","rotPoint","Math","cos","sin","dimensions","positionProps","position","hAlign","vAlign","centerXYToPanXY","centerX","centerY","zoom","panX","panY","isEqualItem","item1","item2","isNode","getNavigableInfo","element","rootElementRef","navigableId","elem","dataset","parentElement","current","getItemAriaLabel","translations","supportsSelection","isSelected","accessibleLabel","generateAriaLabel","undefined","getZoomToFitZoom","contentBounds","zoomX","zoomY","min","constrainZoom","minZoom","maxZoom","newZoom","max","_getFontProps","styles","fontProps","fontFamily","fontSize","fontStyle","fontWeight","zoomAndCenterItemFromInfo","info","linkIdToDataMap","bounds","nodeIdToIndex","totalBounds","get","link","startNodeBounds","startNode","endNodeBounds","endNode","cX","cY","getPanZoomToCenterNode","DiagramNodeElement","state","previousState","activeId","nodeRenderer","onNodeSizeChanged","nodeIndex","data","isDimmed","nodeStyles","dimmedItemStyle","itemStyles","context","useTranslationBundle","ref","useRef","optionsRef","box","useResizeObserver","useCallback","entry","boxSize","borderBoxSize","inlineSize","blockSize","_jsx","class","classNames","role","selected","style","top","left","focused","hovered","children","DiagramNodeLayer","nodes","states","previousStates","nodeBounds","layerStyles","node","selectedNodeIds","includes","focusedId","hoveredId","jsx","highlightedIds","DiagramLinkElement","linkRenderer","layoutOutput","linkStyles","DiagramLinkLayer","links","selectedLinkIds","DiagramLabel","text","labelStyle","labelBorderStyle","labelStyles","labelPosition","labelRotation","rotation","getLabelRotation","borderColor","DiagramLabelLayer","itemProps","labelDimensions","direction","useUser","item","DiagramLayers","nodeLabelPositions","linkLabelPositions","_jsxs","jsxs","_Fragment","Fragment","Infinity","DiagramPanZoomContainer","panValues","panZoomStyles","translate","transform","getNodeDetailFromInfo","itemInfo","getNavigableLinksForNodeId","nodeId","listOfLinks","forEach","startId","endId","_getClockwiseAngle","currNode","oppositeNode","p1","_getNodeCenter","p2","atan2","PI","_getNodesDistance","sqrt","pow","_getLinkDirection","nodeBB","calcDistanceAngleWeighted","objectBB","currentBB","optimalAngle1","optimalAngle2","objCenterX","objCenterY","curCenterX","curCenterY","x_dist","abs","y_dist","distance","isValidDestination","objBB","curBB","compareCenters","_areEqualWithinTolerance","calcInContact","objRect","curRect","_isVerticallyAligned","_isHorizontallyAligned","rect1","rect2","a","b","_anglesAreEqualWithinTolerance","a1","a2","res","useDiagramNavigation","currentKeyboardFocusNode","nodeBoundsById","createNodeBoundsMap","getNextNavigableNode","listOfObjects","currBB","object","inContact","nextObject","nextDistance","Number","MAX_VALUE","nextInContact","hasFoundCurrent","objBounds","currBounds","getNextNavigableLink","listOfNodes","currentLink","keyboardFocusNode","linksWithSortingAttributes","linkDetail","addSortingAttributes","sort","link1","link2","linkAngle1","linkDistance1","linkDirection1","linkAngle2","linkDistance2","linkDirection2","bForward","index","navigateFromNodeToLink","event","adjLinks","currNodeBB","currNodeBBCenterX","nodeCenterX","altKey","code","navigateFromLinkToNode","linkId","key","linkData","startNodeBB","endNodeBB","startNodeCenterX","endNodeCenterX","DEFAULT_KB_PAN","DEFAULT_KB_ZOOM","useEvents","touchResponse","initNode","nodeIdToDataMap","nodeIdToIndexMap","onItemHover","onItemFocus","kbPanCallback","kbZoomCallback","focusedItemInfo","setfocusedItemInfo","useState","hoveredItemInfo","sethoveredItemInfo","hoverHandlers","useVisHover","target","isCurrent","getRandomId","type","updatefocusedItemInfo","handleKeyboardInput","isFocusVisible","eventsProps","mergeProps","onKeyUp","onKeyDown","eventConsumed","isChangeItemType","isNavigationEvent","nextItemInfo","itemDetail","getLinkDetailFromInfo","handleKeyboardNavigationEvent","dPan","dx","shiftKey","dy","dZoom","ctrlKey","nZoom","nPan","cx","cy","center","preventDefault","stopPropagation","cancelEvent","onBlur","onPointerUp","useDiagramDatatip","datatip","focusedItemBoundsRef","panState","nodesMap","linksMap","hoveredItem","isRtl","datatipC","focusedItem","isPointerActive","content","getDatatipContent","elementBounds","datatipContent","datatipProps","useDatatip","placement","offset","calculateOffset","anchor","usePointerGesture","captureTargetRef","numPointers","onPointerGestureDown","onPointerGestureMove","onPointerGestureEnd","onExtraneousPointerDown","isDisabled","activePointers","e","findIndex","pointerEvent","pointerId","pointers","splice","onPointerDown","onPointerMove","setPointerCapture","onPointerCancel","onPointerLeave","pan","previousPan","nextPan","panDirection","panBounds","onPanChange","newPan","constrainPan","isPanChanged","panXYToCenterXY","useDragPan","panProps","onDragPanStart","onDragPanEnd","prevPanState","initialPanState","dragProps","draggableRegion","onDragStart","onDragMove","onDragEnd","inactiveState","isDragging","x0","y0","regionOffsetX","regionOffsetY","dragState","handlePointerEvent","cb","pageX","pageY","originalEvent","button","region","xMin","xMax","yMin","yMax","inDraggableRegion","getRegionOffset","useDrag","onPan","panning","nextZoom","onZoomChange","zoomValue","getDistance","usePinchZoom","zooming","onZoom","pinchProps","onPinchZoomStart","onPinchZoomChange","onPinchZoomEnd","origin","prevDistance","reset","pointer1","pointer2","offsetX","offsetY","getMidpoint","delta","usePinch","usePanZoom","props","cursor","setCursor","zoomProps","getZoomProps","prevZoom","initPanZoomState","isDeviceTouch","isTouch","plotArea","showPanButton","dragModeOptions","isZoomScroll","plotAreaSpace","componentWidth","showZoomButton","showSelectButton","toggleButtonContent","userDragMode","useVisDragModeControls","getPanProps","elemBounds","panType","zoomRatio","minZoomX","minZoomY","initZoom","initCenterX","initCenterY","boundsX","boundsY","getPanBounds","dragPanProps","wheelZoomProps","onWheel","onWheelCallback","deltaX","deltaY","deltaMode","DOM_DELTA_PIXEL","DOM_DELTA_LINE","DOM_DELTA_PAGE","getNormalizedDelta","metaKey","useWheel","useWheelZoom","pinchZoomProps","panZoomProps","DiagramWithDimensions","selectedIds","selectionMode","layout","onSelectionChange","otherProps","rootRef","setBounds","combinedLabelBounds","setCombinedLabelBounds","diagramNodes","nodeMap","diagramLinks","newLinks","filterLinksWithNoEndNodes","linkMap","resizeThrottling","newDimensions","getDimensionsFromBounds","textMeasureContent","getTextDimensions","useTextDimensions","nodeLabelPosRef","linkLabelPosRef","layoutOutputRef","labelBounds","getContentBounds","touchResponseStyle","useVisTouchResponse","supportsTouchDragGestures","selectionProps","selectionContent","nodeIndexToIdMap","linkIdToIndexMap","linkIndexToIdMap","encodeNodeId","decodeNodeId","slice","encodeLinkId","decodeLinkId","encodedSelection","useSelection","selection","idExtracter","getDataById","onChange","detail","newNodeIds","ids","filter","encId","newLinkIds","newSelectedNodeIds","selectable","newSelectedLinkIds","nodeData","selectedId","useDiagramSelection","startNB","endNB","startNCenter","endNCenter","getFocusedItemBounds","datatipAriaDescribedby","mergedEventProps","outerStyles","tabIndex","merge","nodeWidth","nodeHeight","idx","window","requestAnimationFrame","labelDims","layoutJSON","nodeItems","linkItems","nodeKeys","Array","from","keys","linkKeys","getNodeDimensions","getLabelDimensions","componentSize","constructLayoutJSON","nodePoints","nodeLabelPos","linkLabelPos","positions","hasNodeLabels","hasLinkLabels","deconstructLayoutJSON","newBounds","dim","mergeDimensions","bounds1","bounds2","every","getAllLabelBounds","TrackResizeContainer","dimensionStyle"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(['exports', 'preact/jsx-runtime', 'preact/compat', './WindowOverlay-43c10424', './useTestId-b5cd4766', './useAnimation-5a74955f', 'preact/hooks', './refUtils-d354a169', './UNSAFE_Dialog/themes/redwood/DialogTheme', './FocusTrap-60520575', './Layer-6f29b67f', './LayerHost-639b3284', './Modal-7bece8d5', './classNames-08d99695', './ImageVars.css-17386400', './useComponentTheme-5aa41a8f', './useId-c9578d26', './dimensions-60420dbb', './mergeInterpolations-9ede4cf7', './useResizeObserver-275c3e83', './useDraggable-7f591a3d', './Floating-5d98c1ca', './IconButton-ae9a01ce', './Close-04d8a398', './Resizable-d12fcde1', './useBreakpoints-52d11a72', './useTranslationBundle-d07d4b20', './animationUtils-716a9aa6', './tabbableUtils-85aa6918'], (function(e,n,o,a,s,i,t,r,l,c,d,u,m,f,b,g,h,p,y,R,v,D,S,x,E,z,j,I,A){"use strict";const O=({children:e,id:o,cancelBehavior:a,onClose:s,draggableProps:i,headerDecoration:t="on"})=>{const{styles:r}=g.useComponentTheme(l.DialogRedwoodTheme),c=f.classNames([r.dialogHeaderStyle,..."on"===t?[r.dialogHeaderDecorationStyle]:[]]),d="string"==typeof e?n.jsx("h1",{id:o,className:r.dialogTitleStyle,children:e}):n.jsx("div",{children:e}),u=j.useTranslationBundle("@oracle/oraclejet-preact"),m="icon"===a?n.jsx("div",{children:n.jsx("div",{className:r.dialogHeaderCloseIconStyle,children:n.jsx(S.IconButton,{"aria-label":u.message_close(),size:"sm",variant:"ghost",onAction:()=>{s?.({reason:"icon"})},children:n.jsx(x.SvgClose,{})})})}):null;return n.jsxs("div",{className:c,...i,children:[d,m]})},B=o.forwardRef((({children:e,style:o},a)=>n.jsx("div",{ref:a,className:o,children:e}))),C=o.forwardRef((({children:e,header:o,footer:a,visibility:i,labelId:c,role:d,ariaLabelledBy:u,ariaDescribedBy:m,cancelBehavior:h,draggableProps:p,isResizable:y,headerDecoration:v,containerRef:D,onClose:S,onResizeStart:x,onResize:j,onResizeEnd:I,onKeyDown:A,testId:C,style:T,footerRef:w},N)=>{const k=t.useRef(null),L=r.mergeRefs(N,k),[F,U]=t.useState(!1),P=!z.useBreakpoints().md,{classes:_,styles:W}=g.useComponentTheme(l.DialogRedwoodTheme),H=t.useCallback((()=>{k.current&&(k.current.clientHeight<400?U(!0):U(!1))}),[]);t.useEffect((()=>{H()}),[H]),R.useResizeObserver(k,H);const M=P?W.baseStyleSmallWidth:W.baseStyleDesktop,X=F?W.dialogContentStyleNoShrink:W.dialogContentStyle,G="visible"===i?W.visibilityVisible:W.visibilityHidden,K=s.useTestId(C);return n.jsxs("div",{ref:L,className:f.classNames([_,M,G,b.globalImages]),style:T,onKeyDown:A,role:d,"aria-labelledby":u,"aria-describedby":m,...K,children:[n.jsxs("div",{className:W.dialogContainerStyle,children:[n.jsx(O,{id:c,onClose:S,headerDecoration:v,cancelBehavior:h,draggableProps:p,children:o}),n.jsx("div",{className:X,children:n.jsx("div",{className:W.dialogBodyStyle,children:e})}),n.jsx(B,{ref:w,style:W.dialogFooterStyle,children:a})]}),y&&n.jsx(E.Resizable,{onResizeStart:x,onResize:j,onResizeEnd:I,containerRef:D})]})})),T=o.forwardRef((({autoFocusRef:e,children:o,isOpen:s,header:l="",footer:u,modality:f="modal",launcherRef:b,anchorRef:g,placement:R,offset:S=0,cancelBehavior:x="none",dragAffordance:E="none",resizeBehavior:j="none",headerDecoration:I="on",onDragStart:O,onDragMove:B,onDragEnd:T,onResizeStart:N,onResize:k,onResizeEnd:L,onFocusSet:F,onClose:U,onTransitionEnd:P,role:_="dialog","aria-labelledby":W,"aria-describedby":H,testId:M,...X},G)=>{const[K,Y]=t.useState(s?"initial":"unmounted"),[V,q]=t.useState("hidden"),J=t.useRef(null),Q=t.useRef(null),Z=t.useRef(null),$=t.useRef(null),ee=!z.useBreakpoints().md,ne=ee?"bottom":R||"center",oe=ee?"opening"===K?"slideUp":"slideDown":"opening"===K?"zoomIn":"zoomOut",ae=h.useId(),se=W||ae,ie=[...Object.values(p.dimensionInterpolations)],te=y.mergeInterpolations(ie),{...re}=te(X),le=t.useCallback((()=>{$.current&&A.allTabbableElements($.current).length>0?A.focusWithin($.current):A.focusWithin(Q.current),F?.()}),[F]),ce=t.useCallback((()=>{const e=Z.current;e&&A.focusOn(e)}),[Z]),{nodeRef:de}=i.useAnimation(oe,{animationStates:w,isAnimatedOnMount:!0,onAnimationEnd:()=>{s?P?.(!0):s||(ce(),de(null),q("hidden"),Y("unmounted"),P?.(!1))}}),ue=t.useMemo((()=>r.mergeRefs(Q,G)),[Q,G]),me=t.useCallback((e=>{Z.current===A.getActiveElement()&&"F6"===e.code&&(e.preventDefault(),e.stopPropagation(),A.focusWithin(Q.current),F?.())}),[f]),{draggableProps:fe}=v.useDraggable({isDisabled:"none"===E,containerRef:J,onDragStart:O,onDragMove:B,onDragEnd:T});t.useEffect((()=>{if("unmounted"!==K||s){if("unmounted"!==K||!s)return"initial"===K&&s?(de(Q.current),void Y("opening")):void("opening"===K&&s?q("visible"):s||Y("closing"));Y("initial")}}),[s,K,de]),t.useEffect((()=>(s&&(b?.current&&b.current instanceof Element?Z.current=document.body.contains(b.current)?b.current:A.getActiveElement():Z.current=A.getActiveElement(),"modeless"===f&&Z.current?.addEventListener("keydown",me)),()=>{"modeless"===f&&Z.current?.removeEventListener("keydown",me)})),[s,b,me,f]),t.useEffect((()=>{"visible"===V&&le()}),[V,le]);const be=e=>{switch(e.code){case"Escape":U?.({reason:"escapeKey"});break;case"F6":Z.current&&"modeless"===f&&A.focusOn(Z.current),e.preventDefault(),e.stopPropagation()}},ge=()=>n.jsx(c.FocusTrap,{autoFocusRef:e,children:n.jsx(C,{ref:ue,labelId:se,header:l,footer:u,role:_,ariaLabelledBy:se,ariaDescribedBy:H,onKeyDown:be,testId:M,style:re,visibility:V,cancelBehavior:x,draggableProps:fe,isResizable:"resizable"===j,headerDecoration:I,containerRef:J,onClose:U,onResizeStart:N,onResize:k,onResizeEnd:L,footerRef:$,children:o})}),he=()=>g&&g.current?n.jsx(D.Floating,{ref:J,anchorRef:g,placement:"bottom-start",flipOptions:{mainAxis:!1,crossAxis:!1},shiftOptions:{mainAxis:!1,crossAxis:!1},children:ge()}):n.jsx(a.WindowOverlay,{placement:ne,offset:S,children:ge()});return"modal"===f?n.jsx(m.Modal,{isOpen:"unmounted"!==K,children:he()}):"unmounted"!==K?n.jsx(d.Layer,{children:he()}):null})),w={zoomIn:{from:{scaleX:.9,scaleY:.9,transformOrigin:"center",opacity:0},to:{scaleX:1,scaleY:1,opacity:1},options:{duration:200}},zoomOut:{from:{scaleX:1,scaleY:1,transformOrigin:"center",opacity:1},to:{scaleX:.9,scaleY:.9,opacity:0},options:{duration:200}},slideUp:{...I.SLIDE_UP_XLARGE,options:{duration:I.DURATION_LARGE}},slideDown:{...I.SLIDE_DOWN_XLARGE,options:{duration:I.DURATION_LARGE}}};e.Dialog=T}));
|
|
2
|
+
//# sourceMappingURL=Dialog-5f36f8aa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog-5f36f8aa.js","sources":["../../src/UNSAFE_Dialog/Dialog.tsx"],"sourcesContent":["import type { ComponentChild, RefObject } from 'preact';\nimport { ForwardedRef, forwardRef } from 'preact/compat';\nimport { Offset, WindowOverlay, WindowOverlayPlacement } from '../UNSAFE_WindowOverlay';\nimport { TestIdProps, useTestId } from '../hooks/UNSAFE_useTestId';\nimport { useAnimation } from '../hooks/UNSAFE_useAnimation';\nimport { useEffect, useRef, useCallback, useMemo, useState } from 'preact/hooks';\nimport { mergeRefs } from '../utils/PRIVATE_refUtils';\n\nimport { DialogRedwoodTheme } from './themes/redwood/DialogTheme';\nimport { DialogStyles } from './themes/DialogStyles.css';\nimport { FocusTrap } from '../UNSAFE_FocusTrap';\nimport { HTMLAttributesSignalExcluded } from '../utils/UNSAFE_attributeUtils';\nimport { Layer } from '../UNSAFE_Layer';\nimport { Modal } from '../UNSAFE_Modal';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { globalImages } from '#/ImageVars.css';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { dimensionInterpolations, DimensionProps } from '../utils/UNSAFE_interpolations/dimensions';\nimport { mergeInterpolations } from '../utils/UNSAFE_mergeInterpolations';\nimport { useResizeObserver } from '../hooks/UNSAFE_useResizeObserver';\n\nimport { DraggableProps, useDraggable } from '../hooks/PRIVATE_useDraggable';\nimport { Floating, Coords } from '../UNSAFE_Floating';\nimport { IconButton } from '../UNSAFE_IconButton';\nimport { CloseIcon } from '../PRIVATE_ThemedIcons/CloseIcon';\nimport { Resizable } from '../PRIVATE_Resizable/Resizable';\nimport { Position, Rect } from '../utils/UNSAFE_flexibleComponentUtils';\nimport { useBreakpoints } from '../hooks/UNSAFE_useBreakpoints';\nimport { useTranslationBundle } from '../hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '../resources/nls/bundle';\nimport {\n SLIDE_DOWN_XLARGE,\n SLIDE_UP_XLARGE,\n DURATION_LARGE\n} from '../utils/PRIVATE_animationUtils';\nimport {\n allTabbableElements,\n focusOn,\n focusWithin,\n getActiveElement\n} from '../utils/PRIVATE_tabbableUtils';\n\n// dialog states\ntype Status = 'initial' | 'opening' | 'closing' | 'unmounted';\ntype VisibilityStatus = 'hidden' | 'visible';\ntype Animations = 'zoomIn' | 'zoomOut' | 'slideUp' | 'slideDown';\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children' | 'role'>;\n\nexport type OnCloseDetail = {\n reason: 'escapeKey' | 'icon';\n};\n\nexport type CancelBehavior = 'none' | 'escape' | 'icon';\n\ntype DialogProps = IntrinsicProps &\n DimensionProps & {\n /**\n * Optional ref for an element to focus on when component mounts\n */\n autoFocusRef?: RefObject<HTMLElement>;\n\n /**\n * On Close callback.\n */\n onClose?: (detail: OnCloseDetail) => void;\n\n /**\n * On opening or closing transition end callback.\n */\n onTransitionEnd?: (value: boolean) => void;\n\n /**\n * Determines whether the Dialog is open.\n */\n isOpen: boolean;\n\n /**\n * Dialog header content. Can be a string or VNode (Component Child).\n * <p>\n * When a plain string is passed, it will be used as the dialog title. Otherwise, the prop value\n * will be used as the header content.\n * </p>\n * <p>\n * Dialog will automatically refer to the header content as the accessible label.\n * The user can override this behavior by specifying the <code>aria-labelledby</code> property\n * and setting its value as needed.\n * </p>\n */\n header?: ComponentChild;\n\n /**\n * Dialog footer content.\n */\n footer?: ComponentChild;\n\n /**\n * Determines dialog modality. Default is 'modal'.\n */\n modality?: 'modal' | 'modeless';\n\n /**\n * Specifies dialog's cancel behavior. Default is 'none'.\n */\n cancelBehavior?: CancelBehavior;\n\n /**\n * Specifies dialog's launcher. After dialog closes, it returns focus to the launcher.\n * If not specified, focus goes back to the last active element before dialog opened.\n */\n launcherRef?: RefObject<HTMLElement>;\n\n /**\n * Specifies dialog's anchor. Dialog is placed relative to its anchor. If not specified,\n * it is placed relatively to window.\n */\n anchorRef?: RefObject<Element | Coords>;\n\n /**\n * Determines placement of the dialog relative to the viewport.\n * Supported values are:\n * <p> <code>center</code>, <code>top</code>, <code>top-start</code>, <code>top-end</code>,\n * <code>end</code>, <code>end-top</code>, <code>end-bottom</code>,\n * <code>bottom</code>, <code>bottom-start</code>, <code>bottom-end</code>,\n * <code>start</code>, <code>start-top</code>, <code>start-bottom</code>\n * </p>\n * Default is <code>center</code>.\n */\n placement?: WindowOverlayPlacement;\n\n /**\n * Determines the offset of the Dialog from its core placement along the specified axes.\n *\n * Offset could be a number or an object\n *\n * An object has the following type:\n * <pre>\n * {\n * mainAxis?: number;\n * crossAxis?: number;\n * }\n * </pre>\n * For the <code>center</code> placement the convention for the offset type is that mainAxis defines\n * offset from the top, crossAxis defines offset from the left side of the view port.\n *\n * A number is a shortcut for setting the mainAxis.\n */\n offset?: Offset;\n\n /**\n * Determines if the Dialog should be sensitive to drag gestures. To create a draggable dialog,\n * set <code>dragAffordance='header'</code> and specify the <code>onDragMove</code> handler.\n */\n dragAffordance?: 'none' | 'header';\n\n /**\n * Determines if the Dialog should support resizing. To create a resizable dialog,\n * set <code>resizeBehavior='resizable'</code> and specify the <code>onResize</code> handler.\n */\n resizeBehavior?: 'none' | 'resizable';\n\n /**\n * Callback to be invoked if <code>dragAffordance</code> is set to <code>header</code> and a drag gesture is initiated.\n * The current position is reported in the <code>pos</code> parameter.\n *\n * @param pos\n */\n onDragStart?: (pos: Position) => void;\n\n /**\n * Callback to be invoked if <code>dragAffordance</code> is set to <code>header</code> and a drag gesture is detected.\n * The current position is reported in the <code>pos</code> parameter.\n *\n * @param pos\n */\n onDragMove?: (pos: Position) => void;\n\n /**\n * Callback to be invoked if <code>dragAffordance</code> is set to <code>header</code> and a drag gesture is completed.\n * The current position is reported in the <code>pos</code> parameter.\n *\n * @param pos\n */\n onDragEnd?: (pos: Position) => void;\n\n /**\n * Callback to be invoked if <code>resizeBehavior</code> is set to <code>resizable</code> and\n * a resize gesture is initiated. The current position and dimensions are reported in the\n * <code>rect</code> parameter.\n *\n * @param rect\n */\n onResizeStart?: (rect: Rect) => void;\n\n /**\n * Callback to be invoked if <code>resizeBehavior</code> is set to <code>resizable</code> and\n * a resize gesture is detected. The current position and dimensions are reported in the\n * <code>rect</code> parameter.\n *\n * @param rect\n */\n onResize?: (rect: Rect) => void;\n\n /**\n * Callback to be invoked if <code>resizeBehavior</code> is set to <code>resizable</code> and\n * a resize gesture is completed. The current position and dimensions are reported in the\n * <code>rect</code> parameter.\n *\n * @param rect\n */\n onResizeEnd?: (rect: Rect) => void;\n\n /**\n * Specifies callback triggered when initial focus is set or when a modeless dialog receives focus\n * via the F6 key.\n */\n onFocusSet?: () => void;\n\n /**\n * Determines if the header decoration should be displayed. The default is <code>on</code>\n * which renders a textured strip at the top of the dialog header in the Redwood theme.\n * If set to <code>off</code>, no decoration is rendered.\n */\n headerDecoration?: 'off' | 'on';\n\n /**\n * Specifies the ARIA role type. Depending on how the dialog is used in the page, the developer\n * should choose from the following:\n * <ul>\n * <li><code>dialog</code> defines an application window that is designed to interrupt the current\n * processing of an application in order to prompt the user to enter information or require\n * a response.</li>\n * <li><code>alertdialog</code> defines type of dialog that contains an alert message, where initial\n * focus goes to an element within the dialog.</li>\n * </ul>\n */\n role?: string;\n\n /**\n * Optional <code>aria-labelledby</code> property referring to the content to be used as Dialog's\n * accessible <label htmlFor=\"\" className=\"\"></label>\n * If not specified, the Dialog will automatically refer to the entire header content as the accessible label.\n */\n 'aria-labelledby'?: string;\n\n /**\n * Optional accessible description for the dialog.\n */\n 'aria-describedby'?: string;\n } & TestIdProps;\n\n// dialog header\ntype DialogHeaderProps = Pick<DialogProps, 'children'> & {\n id?: string;\n cancelBehavior?: CancelBehavior;\n onClose?: (detail: OnCloseDetail) => void;\n draggableProps?: DraggableProps;\n headerDecoration?: 'off' | 'on';\n};\n\nconst StyledDialogHeader = ({\n children,\n id,\n cancelBehavior,\n onClose,\n draggableProps,\n headerDecoration = 'on'\n}: DialogHeaderProps) => {\n const { styles } = useComponentTheme<never, DialogStyles>(DialogRedwoodTheme);\n\n const classes = classNames([\n styles.dialogHeaderStyle,\n ...(headerDecoration === 'on' ? [styles.dialogHeaderDecorationStyle] : [])\n ]);\n\n const content: ComponentChild =\n typeof children === 'string' ? (\n <h1 id={id} className={styles.dialogTitleStyle}>\n {children}\n </h1>\n ) : (\n <div>{children}</div>\n );\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const handleIconClose = () => {\n onClose?.({ reason: 'icon' });\n };\n\n const closeIcon: ComponentChild =\n cancelBehavior === 'icon' ? (\n <div>\n <div className={styles.dialogHeaderCloseIconStyle}>\n <IconButton\n aria-label={translations.message_close()}\n size=\"sm\"\n variant=\"ghost\"\n onAction={handleIconClose}>\n <CloseIcon />\n </IconButton>\n </div>\n </div>\n ) : null;\n\n return (\n <div className={classes} {...draggableProps}>\n {content}\n {closeIcon}\n </div>\n );\n};\n\n// dialog footer\n\ntype DialogFooterProps = Pick<DialogProps, 'children'> & {\n style?: string;\n};\n\nconst StyledDialogFooter = forwardRef(\n ({ children, style }: DialogFooterProps, ref: ForwardedRef<HTMLDivElement | null>) => {\n return (\n <div ref={ref} className={style}>\n {children}\n </div>\n );\n }\n);\n\n// styled dialog\n\ntype MainProps = Pick<DialogProps, 'children' | 'header' | 'footer' | 'role'> &\n Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'style' | 'onKeyDown'> & {\n visibility: VisibilityStatus;\n labelId?: string;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n cancelBehavior?: CancelBehavior;\n draggableProps?: DraggableProps;\n isResizable?: boolean;\n headerDecoration?: 'off' | 'on';\n containerRef?: RefObject<HTMLElement>;\n onClose?: (detail: OnCloseDetail) => void;\n onResizeStart?: (rect: Rect) => void;\n onResize?: (rect: Rect) => void;\n onResizeEnd?: (rect: Rect) => void;\n footerRef?: RefObject<HTMLDivElement | null>;\n } & TestIdProps;\n\nconst StyledDialog = forwardRef(\n (\n {\n children,\n header,\n footer,\n visibility,\n labelId,\n role,\n ariaLabelledBy,\n ariaDescribedBy,\n cancelBehavior,\n draggableProps,\n isResizable,\n headerDecoration,\n containerRef,\n onClose,\n onResizeStart,\n onResize,\n onResizeEnd,\n onKeyDown,\n testId,\n style,\n footerRef\n }: MainProps,\n ref: ForwardedRef<HTMLDivElement | null>\n ) => {\n const elementRef = useRef<HTMLDivElement>(null);\n const mergedRef = mergeRefs(ref, elementRef);\n\n const [isSmallHeight, setSmallHeight] = useState<boolean>(false);\n const isSmallWidth = !useBreakpoints()['md'];\n\n const { classes: styleClasses, styles } = useComponentTheme<never, DialogStyles>(\n DialogRedwoodTheme\n );\n\n const resizeHandler = useCallback(() => {\n if (elementRef.current) {\n if (elementRef.current.clientHeight < 400) {\n setSmallHeight(true);\n } else {\n setSmallHeight(false);\n }\n }\n }, []);\n\n // set initial Height\n useEffect(() => {\n resizeHandler();\n }, [resizeHandler]);\n\n useResizeObserver(elementRef, resizeHandler);\n\n // for small widths (mobile), use the 'smallWidth' dialog style\n // otherwise, check for small height to apply 'smallWidth' or 'desktop' styles accordingly\n const baseStyle = isSmallWidth ? styles.baseStyleSmallWidth : styles.baseStyleDesktop;\n\n // content should scroll depending on the viewport height\n // on large screens, the header and footer should be \"sticky\",\n // at small viewport heights, the entire content should be scrollable\n const contentStyle = isSmallHeight\n ? styles.dialogContentStyleNoShrink\n : styles.dialogContentStyle;\n\n const visibilityStyle =\n visibility === 'visible' ? styles.visibilityVisible : styles.visibilityHidden;\n\n const testIdProps = useTestId(testId);\n\n return (\n <div\n ref={mergedRef}\n className={classNames([styleClasses, baseStyle, visibilityStyle, globalImages])}\n style={style}\n onKeyDown={onKeyDown}\n role={role}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n {...testIdProps}>\n <div className={styles.dialogContainerStyle}>\n <StyledDialogHeader\n id={labelId}\n onClose={onClose}\n headerDecoration={headerDecoration}\n cancelBehavior={cancelBehavior}\n draggableProps={draggableProps}>\n {header}\n </StyledDialogHeader>\n <div className={contentStyle}>\n <div className={styles.dialogBodyStyle}>{children}</div>\n </div>\n <StyledDialogFooter ref={footerRef} style={styles.dialogFooterStyle}>\n {footer}\n </StyledDialogFooter>\n </div>\n {isResizable && (\n <Resizable\n onResizeStart={onResizeStart}\n onResize={onResize}\n onResizeEnd={onResizeEnd}\n containerRef={containerRef}></Resizable>\n )}\n </div>\n );\n }\n);\n\n// main Dialog component\n\n/**\n * WAI-ARIA-compliant dialog component. A dialog is a floating window that typically contains\n * a title bar and a content area.\n * The dialog is generally placed on top of the rest of the page content. It can be either modal\n * (only the content in the dialog can be interacted with) or non-modal (it's still possible\n * to interact with content outside of the dialog).\n */\nexport const Dialog = forwardRef(\n (\n {\n autoFocusRef,\n children,\n isOpen,\n header = '',\n footer,\n modality = 'modal',\n launcherRef,\n anchorRef,\n placement,\n offset = 0,\n cancelBehavior = 'none',\n dragAffordance = 'none',\n resizeBehavior = 'none',\n headerDecoration = 'on',\n onDragStart,\n onDragMove,\n onDragEnd,\n onResizeStart,\n onResize,\n onResizeEnd,\n onFocusSet,\n onClose,\n onTransitionEnd,\n role = 'dialog',\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n testId,\n ...props\n }: DialogProps,\n ref: ForwardedRef<HTMLDivElement | null>\n ) => {\n const [status, setStatus] = useState<Status>(isOpen ? 'initial' : 'unmounted');\n const [visibility, setVisibility] = useState<VisibilityStatus>('hidden');\n\n const floatingRef = useRef<HTMLDivElement>(null);\n const contentWrapperRef = useRef<HTMLDivElement | null>(null);\n const localLauncherRef = useRef<HTMLElement | null>(null);\n const footerRef = useRef<HTMLDivElement | null>(null);\n\n const isSmallWidth = !useBreakpoints()['md'];\n const derivedPlacement = isSmallWidth ? 'bottom' : placement ? placement : 'center';\n const animationType = isSmallWidth\n ? status === 'opening'\n ? 'slideUp'\n : 'slideDown'\n : status === 'opening'\n ? 'zoomIn'\n : 'zoomOut';\n\n const uniqueId = useId();\n const labelId = ariaLabelledBy ? ariaLabelledBy : uniqueId;\n\n const interpolations = [...Object.values(dimensionInterpolations)];\n const styleInterpolations = mergeInterpolations<DimensionProps>(interpolations);\n const { ...styles } = styleInterpolations(props);\n\n const setInitialFocus = useCallback(() => {\n // Focus on first tabbable in the Dialog container or container itself if there is none\n if (footerRef.current && allTabbableElements(footerRef.current).length > 0) {\n focusWithin(footerRef.current);\n } else {\n focusWithin(contentWrapperRef.current as HTMLElement);\n }\n onFocusSet?.();\n }, [onFocusSet]);\n\n const returnFocus = useCallback((): void => {\n // Try to return focus to 1.launcher or 2.anchor\n const launcherEl = localLauncherRef.current;\n\n if (launcherEl) {\n focusOn(launcherEl);\n // Checking instanceof to avoid Coords type that can not be focused\n }\n }, [localLauncherRef]);\n\n // Animation\n const { nodeRef } = useAnimation<Animations, HTMLDivElement>(animationType, {\n animationStates,\n isAnimatedOnMount: true,\n onAnimationEnd: () => {\n if (isOpen) {\n onTransitionEnd?.(true);\n } else if (!isOpen) {\n returnFocus();\n nodeRef(null);\n setVisibility('hidden');\n setStatus('unmounted');\n onTransitionEnd?.(false);\n }\n }\n });\n\n const mergedRef = useMemo(() => mergeRefs(contentWrapperRef, ref), [contentWrapperRef, ref]);\n\n const launcherKeyDownCallback = useCallback(\n (event: KeyboardEvent): void => {\n if (localLauncherRef.current === getActiveElement() && event.code === 'F6') {\n // Prevent default F6 handlers.\n // F6 is a standard Chrome address bar shortcut on Windows.\n event.preventDefault();\n event.stopPropagation();\n\n focusWithin(contentWrapperRef.current as HTMLElement);\n onFocusSet?.();\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [modality]\n );\n\n const { draggableProps } = useDraggable({\n isDisabled: dragAffordance === 'none',\n containerRef: floatingRef,\n onDragStart,\n onDragMove,\n onDragEnd\n });\n\n useEffect(() => {\n // 1. Ignore status update on initial render\n if (status === 'unmounted' && !isOpen) {\n return;\n }\n\n // 2. Mount visually hidden component\n // Component gets mounted, but will be visually hidden to avoid flickering\n // Flickering happens because it gets rendered before animation hook repositions\n // it in next render cycle\n if (status === 'unmounted' && isOpen) {\n setStatus('initial');\n return;\n }\n\n // 3. Setup animation\n // Component has been mounted.\n // We will kick out animation as node is already present in DOM.\n // To avoid flickering, we still keep it visually hidden until the next render cycle.\n if (status === 'initial' && isOpen) {\n nodeRef(contentWrapperRef.current);\n setStatus('opening');\n return;\n }\n\n // 3. Unhide component. It becomes visible.\n if (status === 'opening' && isOpen) {\n setVisibility('visible');\n return;\n }\n\n // 4. Closing\n if (!isOpen) {\n setStatus('closing');\n }\n }, [isOpen, status, nodeRef]);\n\n // Initialize launcher\n useEffect(() => {\n if (isOpen) {\n if (!launcherRef?.current) {\n // 1. If launcher is not defined, most frequent scenario is,\n // that element, that has focus before opening the dialog is considered launcher\n localLauncherRef.current = getActiveElement() as HTMLElement;\n } else if (launcherRef.current instanceof Element) {\n // 2. launcherRef element was provided.\n // Verify, if it exists in DOM, otherwise use the last active element\n localLauncherRef.current = document.body.contains(launcherRef.current)\n ? launcherRef.current\n : (getActiveElement() as HTMLElement);\n } else {\n localLauncherRef.current = getActiveElement() as HTMLElement;\n }\n // Register F6 key handler to enter a modeless dialog\n if (modality === 'modeless') {\n localLauncherRef.current?.addEventListener('keydown', launcherKeyDownCallback);\n }\n }\n return () => {\n // Deregister F6 key handler\n if (modality === 'modeless') {\n localLauncherRef.current?.removeEventListener('keydown', launcherKeyDownCallback);\n }\n };\n }, [isOpen, launcherRef, launcherKeyDownCallback, modality]);\n\n // setInitialFocus when the dialog becomes visible\n useEffect(() => {\n if (visibility === 'visible') {\n setInitialFocus();\n }\n }, [visibility, setInitialFocus]);\n\n const handleKeyDown = (event: KeyboardEvent) => {\n switch (event.code) {\n case 'Escape':\n onClose?.({ reason: 'escapeKey' });\n break;\n case 'F6':\n // Focus launcher\n if (localLauncherRef.current && modality === 'modeless') {\n focusOn(localLauncherRef.current);\n }\n // Prevent default F6 handlers. F6 is a standard Chrome address bar shortcut on Windows.\n event.preventDefault();\n event.stopPropagation();\n break;\n }\n };\n\n const renderDialogContent = () => {\n return (\n <FocusTrap autoFocusRef={autoFocusRef}>\n <StyledDialog\n ref={mergedRef}\n labelId={labelId}\n header={header}\n footer={footer}\n role={role}\n ariaLabelledBy={labelId}\n ariaDescribedBy={ariaDescribedBy}\n onKeyDown={handleKeyDown}\n testId={testId}\n style={styles}\n visibility={visibility}\n cancelBehavior={cancelBehavior}\n draggableProps={draggableProps}\n isResizable={resizeBehavior === 'resizable'}\n headerDecoration={headerDecoration}\n containerRef={floatingRef}\n onClose={onClose}\n onResizeStart={onResizeStart}\n onResize={onResize}\n onResizeEnd={onResizeEnd}\n footerRef={footerRef}>\n {children}\n </StyledDialog>\n </FocusTrap>\n );\n };\n\n const renderDialog = () => {\n if (anchorRef && anchorRef.current) {\n return (\n <Floating\n ref={floatingRef}\n anchorRef={anchorRef}\n placement={'bottom-start'}\n flipOptions={{ mainAxis: false, crossAxis: false }}\n shiftOptions={{ mainAxis: false, crossAxis: false }}>\n {renderDialogContent()}\n </Floating>\n );\n } else {\n return (\n <WindowOverlay placement={derivedPlacement} offset={offset}>\n {renderDialogContent()}\n </WindowOverlay>\n );\n }\n };\n\n if (modality === 'modal') {\n return <Modal isOpen={status !== 'unmounted'}>{renderDialog()}</Modal>;\n } else {\n return status !== 'unmounted' ? <Layer>{renderDialog()}</Layer> : null;\n }\n }\n);\n\nconst animationStates = {\n zoomIn: {\n from: {\n scaleX: 0.9,\n scaleY: 0.9,\n transformOrigin: 'center',\n opacity: 0\n },\n to: {\n scaleX: 1,\n scaleY: 1,\n opacity: 1\n },\n options: {\n duration: 200\n }\n },\n zoomOut: {\n from: {\n scaleX: 1,\n scaleY: 1,\n transformOrigin: 'center',\n opacity: 1\n },\n to: {\n scaleX: 0.9,\n scaleY: 0.9,\n opacity: 0\n },\n options: {\n duration: 200\n }\n },\n slideUp: {\n ...SLIDE_UP_XLARGE,\n options: {\n duration: DURATION_LARGE\n }\n },\n slideDown: {\n ...SLIDE_DOWN_XLARGE,\n options: {\n duration: DURATION_LARGE\n }\n }\n};\n"],"names":["StyledDialogHeader","children","id","cancelBehavior","onClose","draggableProps","headerDecoration","styles","useComponentTheme","DialogRedwoodTheme","classes","classNames","dialogHeaderStyle","dialogHeaderDecorationStyle","content","_jsx","className","dialogTitleStyle","jsx","translations","useTranslationBundle","closeIcon","dialogHeaderCloseIconStyle","IconButton","message_close","size","variant","onAction","reason","CloseIcon","SvgClose","_jsxs","StyledDialogFooter","forwardRef","style","ref","StyledDialog","header","footer","visibility","labelId","role","ariaLabelledBy","ariaDescribedBy","isResizable","containerRef","onResizeStart","onResize","onResizeEnd","onKeyDown","testId","footerRef","elementRef","useRef","mergedRef","mergeRefs","isSmallHeight","setSmallHeight","useState","isSmallWidth","useBreakpoints","styleClasses","resizeHandler","useCallback","current","clientHeight","useEffect","useResizeObserver","baseStyle","baseStyleSmallWidth","baseStyleDesktop","contentStyle","dialogContentStyleNoShrink","dialogContentStyle","visibilityStyle","visibilityVisible","visibilityHidden","testIdProps","useTestId","jsxs","globalImages","dialogContainerStyle","dialogBodyStyle","dialogFooterStyle","Resizable","Dialog","autoFocusRef","isOpen","modality","launcherRef","anchorRef","placement","offset","dragAffordance","resizeBehavior","onDragStart","onDragMove","onDragEnd","onFocusSet","onTransitionEnd","props","status","setStatus","setVisibility","floatingRef","contentWrapperRef","localLauncherRef","derivedPlacement","animationType","uniqueId","useId","interpolations","Object","values","dimensionInterpolations","styleInterpolations","mergeInterpolations","setInitialFocus","allTabbableElements","length","focusWithin","returnFocus","launcherEl","focusOn","nodeRef","useAnimation","animationStates","isAnimatedOnMount","onAnimationEnd","useMemo","launcherKeyDownCallback","event","getActiveElement","code","preventDefault","stopPropagation","useDraggable","isDisabled","Element","document","body","contains","addEventListener","removeEventListener","handleKeyDown","renderDialogContent","FocusTrap","renderDialog","Floating","flipOptions","mainAxis","crossAxis","shiftOptions","WindowOverlay","Modal","Layer","zoomIn","from","scaleX","scaleY","transformOrigin","opacity","to","options","duration","zoomOut","slideUp","SLIDE_UP_XLARGE","DURATION_LARGE","slideDown","SLIDE_DOWN_XLARGE"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', './CaretLeft-2331a7c8', './withDirectionIcon-
|
|
1
|
+
define(['exports', 'preact/jsx-runtime', './CaretLeft-2331a7c8', './withDirectionIcon-74c39ee3'], (function(t,e,r,i){"use strict";t.DirectionalCollapseArrowIcon=t=>{const c=i.withDirectionIcon(r.SvgCaretLeft,r.SvgCaretRight);return e.jsx(c,{...t})}}));
|
|
2
2
|
//# sourceMappingURL=DirectionalCollapseArrowIcon-20cef34d.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(['exports', 'preact/jsx-runtime', './CaretLeft-2331a7c8', './withDirectionIcon-
|
|
1
|
+
define(['exports', 'preact/jsx-runtime', './CaretLeft-2331a7c8', './withDirectionIcon-74c39ee3'], (function(t,e,r,i){"use strict";t.DirectionalExpandArrowIcon=t=>{const n=i.withDirectionIcon(r.SvgCaretRight,r.SvgCaretLeft);return e.jsx(n,{...t})}}));
|
|
2
2
|
//# sourceMappingURL=DirectionalExpandArrowIcon-e9bdb06e.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(['exports', 'preact/jsx-runtime', './classNames-08d99695', './mergeProps-bcfa6a92', './useActive-bb5dc069', './useTestId-b5cd4766', './DragV-a31b64bd', './UNSAFE_DragHandle/themes/DragHandleStyles.css'], (function(e,s,t,a,r,c,i,n){"use strict";e.DragHandle=function({testId:e}){const{isActive:d,activeProps:l}=r.useActive(),o=c.useTestId(e),g=t.classNames([n.iconStyle,d?n.activeStyle:n.hoverStyle]);return s.jsx("div",{...a.mergeProps(l,o),draggable:!0,class:g,role:"presentation",children:s.jsx(i.SvgDragV,{})})}}));
|
|
2
|
+
//# sourceMappingURL=DragHandle-406d7f9a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragHandle-406d7f9a.js","sources":["../../src/UNSAFE_DragHandle/DragHandle.tsx"],"sourcesContent":["import { classNames } from '../utils/UNSAFE_classNames';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useActive } from '../hooks/UNSAFE_useActive';\nimport { useTestId, TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { DragHandleIcon } from '../PRIVATE_ThemedIcons/DragHandleIcon';\nimport { iconStyle, hoverStyle, activeStyle } from './themes/DragHandleStyles.css';\n\ntype Props = TestIdProps;\n\n/**\n * A draggable icon that shows grab cursor when users hover the mouse on it,\n * and shows grabbing cursor when users click the icon.\n */\nexport function DragHandle({ testId }: Props) {\n const { isActive, activeProps } = useActive();\n const testIdProps = useTestId(testId);\n const classes = classNames([iconStyle, isActive ? activeStyle : hoverStyle]);\n return (\n <div\n {...mergeProps(activeProps, testIdProps)}\n draggable={true}\n class={classes}\n role=\"presentation\">\n <DragHandleIcon />\n </div>\n );\n}\n"],"names":["testId","isActive","activeProps","useActive","testIdProps","useTestId","classes","classNames","iconStyle","activeStyle","hoverStyle","_jsx","jsx","mergeProps","draggable","class","role","children","DragHandleIcon"],"mappings":"gQAagB,UAAWA,OAAEA,IAC3B,MAAMC,SAAEA,EAAQC,YAAEA,GAAgBC,EAASA,YACrCC,EAAcC,YAAUL,GACxBM,EAAUC,EAAAA,WAAW,CAACC,EAAAA,UAAWP,EAAWQ,EAAWA,YAAGC,EAAUA,aAC1E,OACEC,EACMC,IAAA,MAAA,IAAAC,EAAAA,WAAWX,EAAaE,GAC5BU,WAAW,EACXC,MAAOT,EACPU,KAAK,eACLC,SAAAN,EAAAC,IAACM,WAAc,CAAA,IAGrB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(['exports', 'preact/jsx-runtime', 'preact/hooks', './Floating-5d98c1ca', './Layer-6f29b67f', 'preact/compat', './LayerHost-639b3284', './keyboardUtils-fbb389f8', './tabbableUtils-85aa6918', './usePopupAnimation-6e53a0fe', './popupAnimationUtils-49b93365', './CollectionInteractionContext-0b4ed98b', './UNSAFE_Dropdown/themes/dropdownStyles.css', './useOutsideMousedown-73d5a78a', './animationUtils-716a9aa6'], (function(e,n,t,i,o,s,a,r,d,l,c,u,p,f,m){"use strict";const b={mainAxis:4,crossAxis:0},h={isMaxWidthAdjusted:!0,isMaxHeightAdjusted:!0},O={mainAxis:!0,crossAxis:!0},g={opening:e=>m.mergeAnimationStateObjects([m.SCALE_UP_FULL,{from:{transformOrigin:c.getTransformOrigin(e.placement,e.direction)},to:{transformOrigin:c.getTransformOrigin(e.placement,e.direction)}}],{duration:m.DURATION_LARGE})};e.Dropdown=function({isOpen:e=!1,anchorRef:s,children:a,id:c,onClose:m,minWidth:A,placement:x="bottom-start",offset:C=b,onPosition:P,flipOptions:j=O,sizeOptions:w=h,shiftOptions:y,initialFocus:S="none"}){const E=t.useRef(null),U=t.useCallback((e=>{if(e&&"firstFocusable"===S){const e=E.current;e&&d.focusWithin(e)}}),[S]),{status:F,setAnimationElementRef:L,onPosition:R}=l.usePopupAnimation({isOpen:e,placement:x,isAnimatedOnMount:!0,animationStates:g,onPosition:P,onTransitionEnd:U}),M=t.useCallback((e=>{m?.({reason:"outsideMousedown",target:e.target})}),[m]),k=t.useCallback((e=>{if(!e.defaultPrevented)switch(e.code){case r.KEYS.ESC:case r.KEYS.TAB:m?.({reason:"dismissed"})}}),[m]);return f.useOutsideMousedown({isDisabled:!1,ref:[E],handler:M}),n.jsx(n.Fragment,{children:"unmounted"!==F?n.jsx(o.Layer,{logicalParentRef:s,children:n.jsx(i.Floating,{anchorRef:s,ref:L,placement:x,flipOptions:j,shiftOptions:y,sizeOptions:w,offsetValue:C,onPosition:R,boundaryOptions:{padding:{top:8,bottom:8,left:0,right:0}},children:n.jsx("div",{ref:E,id:c,class:p.dropdownStyles.base,style:{minWidth:`${A||0}px`},onKeyDown:k,children:n.jsx(u.CollectionInteractionContext.Provider,{value:"embedded",children:a})})})}):null})}}));
|
|
2
|
+
//# sourceMappingURL=Dropdown-abcacf49.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown-abcacf49.js","sources":["../../src/UNSAFE_Dropdown/Dropdown.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps, RefObject, JSX } from 'preact';\nimport { useCallback, useRef } from 'preact/hooks';\n\nimport { Floating } from '../UNSAFE_Floating';\nimport { Layer } from '../UNSAFE_Layer';\nimport { KEYS } from '../utils/PRIVATE_keyboardUtils';\nimport { focusWithin } from '../utils/PRIVATE_tabbableUtils';\nimport { usePopupAnimation } from '#UNSAFE_Popup/usePopupAnimation';\nimport { getTransformOrigin } from '#utils/PRIVATE_popupAnimationUtils';\nimport { AnimationPopupElement } from '../UNSAFE_Popup/usePopupAnimation';\nimport { CollectionInteractionContext } from '#hooks/UNSAFE_useCollectionInteractionContext';\n\nimport { dropdownStyles } from './themes/dropdownStyles.css';\nimport { useOutsideMousedown } from '../hooks/PRIVATE_useOutsideMousedown';\nimport {\n DURATION_LARGE,\n SCALE_UP_FULL,\n mergeAnimationStateObjects\n} from '#utils/PRIVATE_animationUtils';\n\ntype FloatingProps = ComponentProps<typeof Floating>;\n\n//Same as Menu onClose, only difference is mouseDown instead of outside click\n//Once menu consumes dropdown is going to start using mouseDown\nexport type CloseDetail = { reason: 'dismissed' } | { reason: 'outsideMousedown'; target: Element };\n\ntype IntrinsicProps = Pick<JSX.HTMLAttributes<HTMLDivElement>, 'children'>;\n\ntype Props = IntrinsicProps & {\n /**\n *Specifies whether Dropdown is open.\n */\n isOpen?: boolean;\n /**\n * Trigger element reference.\n */\n anchorRef: FloatingProps['anchorRef'];\n /**\n * Id of the dropdown container.\n * Used usually for accesibility reasons.\n */\n id?: string;\n /**\n * Called when dropdown is supposed to be closed.\n * Called when user tab/esc or mouseDown outside the dropdown.\n */\n onClose?: (detail: CloseDetail) => void;\n /**\n *Min width represented in pixels of the dropdown container.\n */\n minWidth?: number;\n /**\n * Placement of the floating element relative to its reference element.\n */\n placement?: FloatingProps['placement'];\n /**\n * Offset displaces the floating element from its core placement along the specified axes.\n */\n offset?: FloatingProps['offsetValue'];\n /**\n * Triggered when placement or coordinates are changed after collision is detected.\n */\n onPosition?: FloatingProps['onPosition'];\n /**\n * Specifies the flipping behavior along the respective axis.\n */\n flipOptions?: FloatingProps['flipOptions'];\n /**\n * Specifies the resizing behaviour for max-height and max-width of the floating component.\n */\n sizeOptions?: FloatingProps['sizeOptions'];\n\n /**\n * Specifies the shift behavior along the respective axis\n */\n shiftOptions?: FloatingProps['shiftOptions'];\n /**\n * Specifies initial focus.\n */\n initialFocus?: 'none' | 'firstFocusable';\n};\n\nconst DEFAULT_PLACEMENT = 'bottom-start';\nconst DEFAULT_OFFSET = { mainAxis: 4, crossAxis: 0 };\nconst DEFAULT_SIZE_OPTIONS = { isMaxWidthAdjusted: true, isMaxHeightAdjusted: true };\nconst DEFAULT_FLIP_OPTIONS = { mainAxis: true, crossAxis: true };\n\nconst animationStates: Parameters<typeof usePopupAnimation>[0]['animationStates'] = {\n opening: (node: AnimationPopupElement) => {\n return mergeAnimationStateObjects(\n [\n SCALE_UP_FULL,\n {\n from: { transformOrigin: getTransformOrigin(node.placement, node.direction) },\n to: { transformOrigin: getTransformOrigin(node.placement, node.direction) }\n }\n ],\n {\n duration: DURATION_LARGE\n }\n );\n }\n};\n\n//TODO: Add animation to dropdown. JET-62628\n//TODO: Investigate best approach to have different virtual padding depending on the position and implement it.JET-57950\nexport function Dropdown({\n isOpen = false,\n anchorRef,\n children,\n id,\n onClose,\n minWidth,\n placement = DEFAULT_PLACEMENT,\n offset = DEFAULT_OFFSET,\n onPosition,\n flipOptions = DEFAULT_FLIP_OPTIONS,\n sizeOptions = DEFAULT_SIZE_OPTIONS,\n shiftOptions,\n initialFocus = 'none'\n}: Props) {\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n const onTransitionEnd = useCallback(\n (isOpen: boolean) => {\n if (isOpen && initialFocus === 'firstFocusable') {\n const dropdownElement = dropdownRef.current;\n if (dropdownElement) {\n focusWithin(dropdownElement);\n }\n }\n },\n [initialFocus]\n );\n\n const {\n status,\n setAnimationElementRef,\n onPosition: onPositionAnimated\n } = usePopupAnimation({\n isOpen,\n placement,\n isAnimatedOnMount: true,\n animationStates,\n onPosition,\n onTransitionEnd\n });\n\n const handleMousedownClose = useCallback(\n (event: MouseEvent) => {\n onClose?.({ reason: 'outsideMousedown', target: event.target as Element });\n },\n [onClose]\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.defaultPrevented) {\n return;\n }\n switch (event.code) {\n case KEYS.ESC:\n onClose?.({ reason: 'dismissed' });\n break;\n case KEYS.TAB:\n onClose?.({ reason: 'dismissed' });\n break;\n default:\n break;\n }\n },\n [onClose]\n );\n\n // use the mousedown event to be consistent with legacy JET\n useOutsideMousedown({\n isDisabled: false,\n ref: [dropdownRef],\n handler: handleMousedownClose\n });\n\n return (\n <>\n {status !== 'unmounted' ? (\n <Layer logicalParentRef={anchorRef as RefObject<Element>}>\n <Floating\n anchorRef={anchorRef}\n ref={setAnimationElementRef}\n placement={placement}\n flipOptions={flipOptions}\n shiftOptions={shiftOptions}\n sizeOptions={sizeOptions}\n offsetValue={offset}\n onPosition={onPositionAnimated}\n boundaryOptions={{ padding: { top: 8, bottom: 8, left: 0, right: 0 } }}>\n <div\n ref={dropdownRef}\n id={id}\n class={dropdownStyles.base}\n style={{ minWidth: `${minWidth || 0}px` }}\n onKeyDown={handleKeyDown}>\n <CollectionInteractionContext.Provider value={'embedded'}>\n {children}\n </CollectionInteractionContext.Provider>\n </div>\n </Floating>\n </Layer>\n ) : null}\n </>\n );\n}\n"],"names":["DEFAULT_OFFSET","mainAxis","crossAxis","DEFAULT_SIZE_OPTIONS","isMaxWidthAdjusted","isMaxHeightAdjusted","DEFAULT_FLIP_OPTIONS","animationStates","opening","node","mergeAnimationStateObjects","SCALE_UP_FULL","from","transformOrigin","getTransformOrigin","placement","direction","to","duration","DURATION_LARGE","isOpen","anchorRef","children","id","onClose","minWidth","offset","onPosition","flipOptions","sizeOptions","shiftOptions","initialFocus","dropdownRef","useRef","onTransitionEnd","useCallback","dropdownElement","current","focusWithin","status","setAnimationElementRef","onPositionAnimated","usePopupAnimation","isAnimatedOnMount","handleMousedownClose","event","reason","target","handleKeyDown","defaultPrevented","code","KEYS","ESC","TAB","useOutsideMousedown","isDisabled","ref","handler","_jsx","_Fragment","jsx","Layer","logicalParentRef","Floating","offsetValue","boundaryOptions","padding","top","bottom","left","right","class","dropdownStyles","base","style","onKeyDown","CollectionInteractionContext","Provider","value"],"mappings":"wcA0FA,MACMA,EAAiB,CAAEC,SAAU,EAAGC,UAAW,GAC3CC,EAAuB,CAAEC,oBAAoB,EAAMC,qBAAqB,GACxEC,EAAuB,CAAEL,UAAU,EAAMC,WAAW,GAEpDK,EAA8E,CAClFC,QAAUC,GACDC,6BACL,CACEC,EAAaA,cACb,CACEC,KAAM,CAAEC,gBAAiBC,EAAkBA,mBAACL,EAAKM,UAAWN,EAAKO,YACjEC,GAAI,CAAEJ,gBAAiBC,EAAkBA,mBAACL,EAAKM,UAAWN,EAAKO,cAGnE,CACEE,SAAUC,EAAcA,uCAQPC,OACvBA,GAAS,EAAKC,UACdA,EAASC,SACTA,EAAQC,GACRA,EAAEC,QACFA,EAAOC,SACPA,EAAQV,UACRA,EA/BwB,eA+BKW,OAC7BA,EAAS1B,EAAc2B,WACvBA,EAAUC,YACVA,EAActB,EAAoBuB,YAClCA,EAAc1B,EAAoB2B,aAClCA,EAAYC,aACZA,EAAe,SAEf,MAAMC,EAAcC,SAAuB,MAErCC,EAAkBC,eACrBf,IACC,GAAIA,GAA2B,mBAAjBW,EAAmC,CAC/C,MAAMK,EAAkBJ,EAAYK,QAChCD,GACFE,EAAWA,YAACF,EAEf,IAEH,CAACL,KAGGQ,OACJA,EAAMC,uBACNA,EACAb,WAAYc,GACVC,EAAAA,kBAAkB,CACpBtB,SACAL,YACA4B,mBAAmB,EACnBpC,kBACAoB,aACAO,oBAGIU,EAAuBT,eAC1BU,IACCrB,IAAU,CAAEsB,OAAQ,mBAAoBC,OAAQF,EAAME,QAAoB,GAE5E,CAACvB,IAGGwB,EAAgBb,eACnBU,IACC,IAAIA,EAAMI,iBAGV,OAAQJ,EAAMK,MACZ,KAAKC,EAAIA,KAACC,IAGV,KAAKD,EAAIA,KAACE,IACR7B,IAAU,CAAEsB,OAAQ,cAIvB,GAEH,CAACtB,IAUH,OANA8B,sBAAoB,CAClBC,YAAY,EACZC,IAAK,CAACxB,GACNyB,QAASb,IAITc,EAAAA,IAAAC,EAAAA,SAAA,CAAArC,SACc,cAAXiB,EACCmB,EAAAE,IAACC,QAAK,CAACC,iBAAkBzC,EAA+BC,SACtDoC,EAAAA,IAACK,EAAQA,SACP,CAAA1C,UAAWA,EACXmC,IAAKhB,EACLzB,UAAWA,EACXa,YAAaA,EACbE,aAAcA,EACdD,YAAaA,EACbmC,YAAatC,EACbC,WAAYc,EACZwB,gBAAiB,CAAEC,QAAS,CAAEC,IAAK,EAAGC,OAAQ,EAAGC,KAAM,EAAGC,MAAO,IAAKhD,SACtEoC,EAAAA,IACE,MAAA,CAAAF,IAAKxB,EACLT,GAAIA,EACJgD,MAAOC,EAAAA,eAAeC,KACtBC,MAAO,CAAEjD,SAAU,GAAGA,GAAY,OAClCkD,UAAW3B,EAAa1B,SACxBoC,MAACkB,EAAAA,6BAA6BC,SAAS,CAAAC,MAAO,WAC3CxD,SAAAA,UAKP,MAGV"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(['exports', 'preact/jsx-runtime', './LayerHost-639b3284', 'preact/hooks', './LayerManager-2972de92'], (function(e,n,r,t,o){"use strict";function s(e,n){const r=Object.assign({},e.user,n?.user),t=Object.assign({},e.theme,n?.theme),o=Object.assign({},e.translations),s=n?.translations||{};return Object.keys(s).forEach((e=>{let n=s[e];o[e]&&(n=Object.assign({},o[e],n)),o[e]=n})),{user:r,theme:t,translations:o,colorScheme:n?.colorScheme??e.colorScheme,scale:n?.scale??e.scale,currentBgColor:n?.currentBgColor??e.currentBgColor,mode:n?.mode??e.mode,density:n?.density??e.density}}e.EnvironmentProvider=function({children:e,environment:o}){const i=t.useContext(r.EnvironmentContext),c=t.useMemo((()=>s(i,o)),[i,o]);return n.jsx(r.EnvironmentContext.Provider,{value:c,children:e})},e.RootEnvironmentProvider=function({children:e,environment:i}){const c=t.useMemo((()=>s(r.DefaultEnvironment,i)),[i]);return n.jsx(r.EnvironmentContext.Provider,{value:c,children:n.jsx(o.LayerManager,{children:e})})}}));
|
|
2
|
+
//# sourceMappingURL=EnvironmentProvider-c0e1e39b.js.map
|