@oracle/oraclejet-preact 20.0.0 → 20.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/amd/BaseCardView-16fda4c3.js +2 -0
- package/amd/{BaseCardView-b8119561.js.map → BaseCardView-16fda4c3.js.map} +1 -1
- package/amd/BaseTabBarItem-d7c2922b.js +2 -0
- package/amd/BaseTabBarItem-d7c2922b.js.map +1 -0
- package/amd/CardFlexView-d3eb7373.js +2 -0
- package/amd/{CardFlexView-aa2f3de8.js.map → CardFlexView-d3eb7373.js.map} +1 -1
- package/amd/CardGridView-842f70cd.js +2 -0
- package/amd/{CardGridView-85f90c75.js.map → CardGridView-842f70cd.js.map} +1 -1
- package/amd/CheckboxSetContext-2e486ea8.js +2 -0
- package/{cjs/CheckboxSetContext-c62db26d.js.map → amd/CheckboxSetContext-2e486ea8.js.map} +1 -1
- package/amd/{CollapsibleNavigationList-f0072c90.js → CollapsibleNavigationList-fdeccbfb.js} +2 -2
- package/amd/{CollapsibleNavigationList-f0072c90.js.map → CollapsibleNavigationList-fdeccbfb.js.map} +1 -1
- package/amd/{DatePicker-88c5bbcd.js → DatePicker-bf521b1c.js} +2 -2
- package/amd/{DatePicker-88c5bbcd.js.map → DatePicker-bf521b1c.js.map} +1 -1
- package/amd/ExpandableList-a9a86ad8.js +2 -0
- package/amd/{ExpandableList-233c279e.js.map → ExpandableList-a9a86ad8.js.map} +1 -1
- package/amd/{FlatTreeView-9ecf2be6.js → FlatTreeView-15edd439.js} +2 -2
- package/amd/{FlatTreeView-9ecf2be6.js.map → FlatTreeView-15edd439.js.map} +1 -1
- package/amd/{InlineSelectSingle-f4438110.js → InlineSelectSingle-7c1cc5b5.js} +2 -2
- package/amd/{InlineSelectSingle-f4438110.js.map → InlineSelectSingle-7c1cc5b5.js.map} +1 -1
- package/amd/InputDatePicker-7227a858.js +2 -0
- package/amd/{InputDatePicker-48633486.js.map → InputDatePicker-7227a858.js.map} +1 -1
- package/amd/ListView-6d21e8f9.js +2 -0
- package/amd/{ListView-2678b2af.js.map → ListView-6d21e8f9.js.map} +1 -1
- package/amd/{MonthView-ea883c49.js → MonthView-96fafba4.js} +2 -2
- package/amd/{MonthView-ea883c49.js.map → MonthView-96fafba4.js.map} +1 -1
- package/amd/{OverflowTabBar-b142f8d4.js → OverflowTabBar-5ff68da7.js} +2 -2
- package/amd/{OverflowTabBar-b142f8d4.js.map → OverflowTabBar-5ff68da7.js.map} +1 -1
- package/amd/{OverflowTabBarItem-49a82149.js → OverflowTabBarItem-926b0c8a.js} +2 -2
- package/amd/{OverflowTabBarItem-49a82149.js.map → OverflowTabBarItem-926b0c8a.js.map} +1 -1
- package/amd/PRIVATE_BaseCardView.js +1 -1
- package/amd/PRIVATE_CollapsibleNavigationList.js +1 -1
- package/amd/PRIVATE_MonthView.js +1 -1
- package/amd/PRIVATE_MonthYearGridView.js +1 -1
- package/amd/PRIVATE_SelectCommon.js +1 -1
- package/amd/PRIVATE_StyledDatePickerButton.js +1 -1
- package/amd/PRIVATE_TableList.js +1 -1
- package/amd/{RemovableTabBarItem-e1bee7fa.js → RemovableTabBarItem-9ae273fe.js} +2 -2
- package/amd/{RemovableTabBarItem-e1bee7fa.js.map → RemovableTabBarItem-9ae273fe.js.map} +1 -1
- package/amd/ReorderableTabBar-0c69bfd4.js +2 -0
- package/amd/{ReorderableTabBar-46683bcb.js.map → ReorderableTabBar-0c69bfd4.js.map} +1 -1
- package/amd/{SelectMobileFieldInput-83f56b22.js → SelectMobileFieldInput-d499ef86.js} +2 -2
- package/amd/{SelectMobileFieldInput-83f56b22.js.map → SelectMobileFieldInput-d499ef86.js.map} +1 -1
- package/amd/{SelectMultiple-cb5fdd20.js → SelectMultiple-cc9bffc6.js} +2 -2
- package/amd/{SelectMultiple-cb5fdd20.js.map → SelectMultiple-cc9bffc6.js.map} +1 -1
- package/amd/{SelectSingle-02e85b6e.js → SelectSingle-2bb35b67.js} +2 -2
- package/amd/{SelectSingle-02e85b6e.js.map → SelectSingle-2bb35b67.js.map} +1 -1
- package/amd/StyledDatePickerButton-bceb62e1.js +2 -0
- package/amd/StyledDatePickerButton-bceb62e1.js.map +1 -0
- package/amd/StyledDatePickerButtonStyles.styles.css +17 -0
- package/amd/TabBar-de723fbc.js +2 -0
- package/amd/{TabBar-fcebb560.js.map → TabBar-de723fbc.js.map} +1 -1
- package/amd/TabBarItem-a39c5de3.js +2 -0
- package/amd/{TabBarItem-224bc6b3.js.map → TabBarItem-a39c5de3.js.map} +1 -1
- package/amd/TabBarLinkItem-944b1e8d.js +2 -0
- package/amd/{TabBarLinkItem-57587dbd.js.map → TabBarLinkItem-944b1e8d.js.map} +1 -1
- package/amd/TabBarMixed-cfd346bf.js +2 -0
- package/amd/{TabBarMixed-8cc4b4ed.js.map → TabBarMixed-cfd346bf.js.map} +1 -1
- package/amd/Theme-redwood/theme.css +201 -201
- package/amd/Theme-stable/theme.css +218 -218
- package/amd/UNSAFE_CardFlexView.js +1 -1
- package/amd/UNSAFE_CardGridView.js +1 -1
- package/amd/UNSAFE_CheckboxItem.js +1 -1
- package/amd/UNSAFE_CheckboxItem.js.map +1 -1
- package/amd/UNSAFE_CheckboxSet.js +1 -1
- package/amd/UNSAFE_CheckboxSet.js.map +1 -1
- package/amd/UNSAFE_DatePicker.js +1 -1
- package/amd/UNSAFE_ExpandableList.js +1 -1
- package/amd/UNSAFE_FlatTreeView.js +1 -1
- package/amd/UNSAFE_InlineSelectSingle.js +1 -1
- package/amd/UNSAFE_InputDatePicker.js +1 -1
- package/amd/UNSAFE_ListView.js +1 -1
- package/amd/UNSAFE_OverflowTabBar.js +1 -1
- package/amd/UNSAFE_ReorderableTabBar.js +1 -1
- package/amd/UNSAFE_RichCheckboxSet.js +1 -1
- package/amd/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/amd/UNSAFE_RichSelectionItem.js +1 -1
- package/amd/UNSAFE_RichSelectionItem.js.map +1 -1
- package/amd/UNSAFE_SelectMultiple.js +1 -1
- package/amd/UNSAFE_SelectSingle.js +1 -1
- package/amd/UNSAFE_TabBar.js +1 -1
- package/amd/UNSAFE_TabBarCommon.js +1 -1
- package/amd/UNSAFE_TabBarMixed.js +1 -1
- package/amd/UNSAFE_VirtualizedListView.js +1 -1
- package/amd/VirtualizedListView-1ae7151d.js +2 -0
- package/amd/{VirtualizedListView-a0f338c2.js.map → VirtualizedListView-1ae7151d.js.map} +1 -1
- package/amd/{YearsGridView-4aa7bc66.js → YearsGridView-561c3074.js} +2 -2
- package/amd/{YearsGridView-4aa7bc66.js.map → YearsGridView-561c3074.js.map} +1 -1
- package/amd/{useDisplayValue-e70c76d8.js → useDisplayValue-0e90bf4c.js} +2 -2
- package/amd/{useDisplayValue-e70c76d8.js.map → useDisplayValue-0e90bf4c.js.map} +1 -1
- package/amd/useSelectCommon-a02ddf3c.js +2 -0
- package/amd/useSelectCommon-a02ddf3c.js.map +1 -0
- package/cjs/{Chart-13a198f3.js → Chart-966da017.js} +2 -2
- package/cjs/{Chart-13a198f3.js.map → Chart-966da017.js.map} +1 -1
- package/cjs/CheckboxSet-6865f4fd.js +55 -0
- package/{amd/CheckboxSet-f000e5c2.js.map → cjs/CheckboxSet-6865f4fd.js.map} +1 -1
- package/cjs/{ColorPalette-9f041744.js → ColorPalette-b14114d8.js} +2 -2
- package/cjs/{ColorPalette-9f041744.js.map → ColorPalette-b14114d8.js.map} +1 -1
- package/cjs/{ColorPicker-9af6707c.js → ColorPicker-8f0b6000.js} +2 -2
- package/cjs/{ColorPicker-9af6707c.js.map → ColorPicker-8f0b6000.js.map} +1 -1
- package/cjs/{DatePicker-48c602ff.js → DatePicker-b60f8a7e.js} +3 -3
- package/cjs/{DatePicker-48c602ff.js.map → DatePicker-b60f8a7e.js.map} +1 -1
- package/cjs/{MonthView-59452edc.js → MonthView-a2661a58.js} +2 -2
- package/cjs/{MonthView-59452edc.js.map → MonthView-a2661a58.js.map} +1 -1
- package/cjs/{OverflowTabBarItem-2c967a89.js → OverflowTabBarItem-abcd2327.js} +6 -3
- package/cjs/OverflowTabBarItem-abcd2327.js.map +1 -0
- package/cjs/PRIVATE_Chart.js +4 -4
- package/cjs/PRIVATE_MonthView.js +2 -3
- package/cjs/PRIVATE_MonthView.js.map +1 -1
- package/cjs/PRIVATE_MonthYearGridView.js +2 -3
- package/cjs/PRIVATE_MonthYearGridView.js.map +1 -1
- package/cjs/PRIVATE_SelectCommon.js +2 -2
- package/cjs/PRIVATE_StyledDatePickerButton.js +1 -2
- package/cjs/PRIVATE_StyledDatePickerButton.js.map +1 -1
- package/cjs/SegmentStyles.styles.css +12 -9
- package/cjs/SegmentStyles.styles2.css +9 -12
- package/cjs/{SelectMobileFieldInput-111a95a5.js → SelectMobileFieldInput-cbf57541.js} +2 -2
- package/cjs/{SelectMobileFieldInput-111a95a5.js.map → SelectMobileFieldInput-cbf57541.js.map} +1 -1
- package/cjs/{StyledDatePickerButton-cf4e4dc0.js → StyledDatePickerButton-becd2a7d.js} +2 -8
- package/cjs/StyledDatePickerButton-becd2a7d.js.map +1 -0
- package/cjs/StyledDatePickerButtonStyles.styles.css +17 -0
- package/cjs/{TabBarLinkItem-42785eb3.js → TabBarLinkItem-b0c4b100.js} +2 -2
- package/cjs/{TabBarLinkItem-42785eb3.js.map → TabBarLinkItem-b0c4b100.js.map} +1 -1
- package/cjs/Theme-redwood/theme.css +117 -117
- package/cjs/Theme-stable/theme.css +224 -224
- package/cjs/UNSAFE_BarChart.js +4 -4
- package/cjs/UNSAFE_CheckboxItem.js +117 -56
- package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
- package/cjs/UNSAFE_CheckboxSet.js +21 -50
- package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_ColorPalette.js +80 -80
- package/cjs/UNSAFE_ColorPicker.js +60 -60
- package/cjs/UNSAFE_ComboChart.js +4 -4
- package/cjs/UNSAFE_DatePicker.js +4 -4
- package/cjs/UNSAFE_InlineSelectSingle.js +2 -2
- package/cjs/UNSAFE_InputColor.js +11 -11
- package/cjs/UNSAFE_InputDatePicker.js +96 -96
- package/cjs/UNSAFE_LineAreaChart.js +4 -4
- package/cjs/UNSAFE_OverflowTabBar.js +2 -2
- package/cjs/UNSAFE_RichCheckboxSet.js +46 -42
- package/cjs/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_RichSelectionItem.js +154 -91
- package/cjs/UNSAFE_RichSelectionItem.js.map +1 -1
- package/cjs/UNSAFE_ScatterChart.js +4 -4
- package/cjs/UNSAFE_SelectMultiple.js +2 -2
- package/cjs/UNSAFE_SelectSingle.js +3 -3
- package/cjs/UNSAFE_TabBar.js +2 -2
- package/cjs/UNSAFE_TabBarCommon.js +4 -4
- package/cjs/UNSAFE_TabBarMixed.js +3 -3
- package/cjs/{YearsGridView-b56f7f42.js → YearsGridView-d0d4e8e1.js} +2 -2
- package/cjs/{YearsGridView-b56f7f42.js.map → YearsGridView-d0d4e8e1.js.map} +1 -1
- package/cjs/{useDisplayValue-60dbe1c3.js → useDisplayValue-4ace417c.js} +2 -2
- package/cjs/{useDisplayValue-60dbe1c3.js.map → useDisplayValue-4ace417c.js.map} +1 -1
- package/cjs/{useSelectCommon-b0d7feb3.js → useSelectCommon-27afecfa.js} +8 -3
- package/cjs/useSelectCommon-27afecfa.js.map +1 -0
- package/es/{BaseCardView-85b9a71e.js → BaseCardView-b3d8bae0.js} +4 -1
- package/es/{BaseCardView-85b9a71e.js.map → BaseCardView-b3d8bae0.js.map} +1 -1
- package/es/{DatePicker-2ab05fbe.js → DatePicker-7287f0f9.js} +3 -3
- package/es/{DatePicker-2ab05fbe.js.map → DatePicker-7287f0f9.js.map} +1 -1
- package/es/{MonthView-097171eb.js → MonthView-4b2b483a.js} +2 -2
- package/es/{MonthView-097171eb.js.map → MonthView-4b2b483a.js.map} +1 -1
- package/es/{NavigationListItem-dbd29973.js → NavigationListItem-340ab770.js} +19 -1
- package/es/{NavigationListItem-dbd29973.js.map → NavigationListItem-340ab770.js.map} +1 -1
- package/es/{OverflowTabBarItem-6966fbc7.js → OverflowTabBarItem-aa0ce915.js} +7 -4
- package/es/OverflowTabBarItem-aa0ce915.js.map +1 -0
- package/es/PRIVATE_BaseCardView.js +1 -1
- package/es/PRIVATE_CollapsibleNavigationList.js +25 -25
- package/es/PRIVATE_MonthView.js +2 -3
- package/es/PRIVATE_MonthView.js.map +1 -1
- package/es/PRIVATE_MonthYearGridView.js +2 -3
- package/es/PRIVATE_MonthYearGridView.js.map +1 -1
- package/es/PRIVATE_SelectCommon.js +2 -2
- package/es/PRIVATE_StyledDatePickerButton.js +1 -2
- package/es/PRIVATE_StyledDatePickerButton.js.map +1 -1
- package/es/PRIVATE_TableList.js +4 -4
- package/es/RadioIconVariants.styles.css +3 -3
- package/es/RadioIconVariants.styles2.css +3 -3
- package/es/SegmentStyles.styles.css +9 -12
- package/es/SegmentStyles.styles2.css +12 -9
- package/es/{SelectMobileFieldInput-0a7c968c.js → SelectMobileFieldInput-345c4d45.js} +2 -2
- package/es/{SelectMobileFieldInput-0a7c968c.js.map → SelectMobileFieldInput-345c4d45.js.map} +1 -1
- package/es/{StyledDatePickerButton-f3971567.js → StyledDatePickerButton-78f2f6e8.js} +2 -8
- package/es/StyledDatePickerButton-78f2f6e8.js.map +1 -0
- package/es/StyledDatePickerButtonStyles.styles.css +17 -0
- package/es/{TabBar-10488830.js → TabBar-67ca442c.js} +3 -1
- package/es/{TabBar-10488830.js.map → TabBar-67ca442c.js.map} +1 -1
- package/es/{TabBarLinkItem-a9c1072b.js → TabBarLinkItem-e7be54fa.js} +2 -2
- package/es/{TabBarLinkItem-a9c1072b.js.map → TabBarLinkItem-e7be54fa.js.map} +1 -1
- package/es/Theme-redwood/theme.css +442 -442
- package/es/Theme-stable/theme.css +507 -507
- package/es/TrainVariants.styles.css +6 -6
- package/es/TrainVariants.styles2.css +6 -6
- package/es/UNSAFE_CardFlexView.js +1 -1
- package/es/UNSAFE_CardGridView.js +1 -1
- package/es/UNSAFE_DatePicker.js +4 -4
- package/es/UNSAFE_FlatTreeView.js +14 -14
- package/es/UNSAFE_InlineSelectSingle.js +2 -2
- package/es/UNSAFE_InputDateMask/themes/SegmentStyles.css.js +1 -1
- package/es/UNSAFE_InputDateMask.js +1 -1
- package/es/UNSAFE_InputDatePicker.js +5 -5
- package/es/UNSAFE_InputTimeMask/themes/SegmentStyles.css.js +1 -1
- package/es/UNSAFE_InputTimeMask.js +1 -1
- package/es/UNSAFE_ListView.js +53 -53
- package/es/UNSAFE_NavigationList.js +13 -13
- package/es/UNSAFE_OverflowTabBar.js +13 -13
- package/es/UNSAFE_RadioItem/themes/redwood/RadioIconTheme.js +1 -1
- package/es/UNSAFE_RadioItem/themes/redwood/RadioIconVariants.css.js +1 -1
- package/es/UNSAFE_RadioItem/themes/stable/RadioIconTheme.js +1 -1
- package/es/UNSAFE_RadioItem/themes/stable/RadioIconVariants.css.js +1 -1
- package/es/UNSAFE_RadioItem.js +1 -1
- package/es/UNSAFE_ReorderableTabBar.js +12 -12
- package/es/UNSAFE_RichSelectionItem.js +1 -1
- package/es/UNSAFE_SelectMultiple.js +2 -2
- package/es/UNSAFE_SelectSingle.js +3 -3
- package/es/UNSAFE_TabBar.js +13 -13
- package/es/UNSAFE_TabBarCommon.js +5 -5
- package/es/UNSAFE_TabBarMixed.js +12 -12
- package/es/UNSAFE_TextArea.js +226 -106
- package/es/UNSAFE_TextArea.js.map +1 -1
- package/es/UNSAFE_TextAreaAutosize.js +1 -1
- package/es/UNSAFE_Train/themes/redwood/TrainTheme.js +1 -1
- package/es/UNSAFE_Train/themes/redwood/TrainVariants.css.js +1 -1
- package/es/UNSAFE_Train/themes/stable/TrainTheme.js +1 -1
- package/es/UNSAFE_Train/themes/stable/TrainVariants.css.js +1 -1
- package/es/UNSAFE_Train.js +1 -1
- package/es/{YearsGridView-cac4710a.js → YearsGridView-6c18094a.js} +2 -2
- package/es/{YearsGridView-cac4710a.js.map → YearsGridView-6c18094a.js.map} +1 -1
- package/es/{useDisplayValue-5bbf2830.js → useDisplayValue-65bbc74e.js} +2 -2
- package/es/{useDisplayValue-5bbf2830.js.map → useDisplayValue-65bbc74e.js.map} +1 -1
- package/es/{useSelectCommon-309d0f07.js → useSelectCommon-a3c69d60.js} +8 -3
- package/es/useSelectCommon-a3c69d60.js.map +1 -0
- package/es/useTextAreaAltEnter-ac460f4c.js +61 -0
- package/es/useTextAreaAltEnter-ac460f4c.js.map +1 -0
- package/package.json +2 -2
- package/amd/BaseCardView-b8119561.js +0 -2
- package/amd/BaseTabBarItem-03c91d3f.js +0 -2
- package/amd/BaseTabBarItem-03c91d3f.js.map +0 -1
- package/amd/CardFlexView-aa2f3de8.js +0 -2
- package/amd/CardGridView-85f90c75.js +0 -2
- package/amd/CheckboxSet-f000e5c2.js +0 -2
- package/amd/ExpandableList-233c279e.js +0 -2
- package/amd/InputDatePicker-48633486.js +0 -2
- package/amd/ListView-2678b2af.js +0 -2
- package/amd/ReorderableTabBar-46683bcb.js +0 -2
- package/amd/StyledDatePickerButton-b664f4f0.js +0 -2
- package/amd/StyledDatePickerButton-b664f4f0.js.map +0 -1
- package/amd/TabBar-fcebb560.js +0 -2
- package/amd/TabBarItem-224bc6b3.js +0 -2
- package/amd/TabBarLinkItem-57587dbd.js +0 -2
- package/amd/TabBarMixed-8cc4b4ed.js +0 -2
- package/amd/VirtualizedListView-a0f338c2.js +0 -2
- package/amd/useSelectCommon-28307b63.js +0 -2
- package/amd/useSelectCommon-28307b63.js.map +0 -1
- package/cjs/CheckboxSetContext-c62db26d.js +0 -12
- package/cjs/OverflowTabBarItem-2c967a89.js.map +0 -1
- package/cjs/StyledDatePickerButton-cf4e4dc0.js.map +0 -1
- package/cjs/useSelectCommon-b0d7feb3.js.map +0 -1
- package/es/OverflowTabBarItem-6966fbc7.js.map +0 -1
- package/es/StyledDatePickerButton-f3971567.js.map +0 -1
- package/es/TextArea-93ce78a7.js +0 -225
- package/es/TextArea-93ce78a7.js.map +0 -1
- package/es/useSelectCommon-309d0f07.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart-13a198f3.js","sources":["../../src/PRIVATE_Axis/utils/axisNavUtils.ts","../../src/utils/PRIVATE_chartUtils/refObjectsNavUtils.ts","../../src/PRIVATE_VisSVGText/useTextTruncation.ts","../../src/PRIVATE_VisOverview/utils.ts","../../src/PRIVATE_VisOverview/OverviewBackground.tsx","../../src/PRIVATE_Chart/overviewUtils.tsx","../../src/PRIVATE_PlotArea/ReferenceObjects.tsx","../../src/PRIVATE_Chart/ChartWithDimensions.tsx","../../src/PRIVATE_Chart/Chart.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { GroupLevelItem } from '#PRIVATE_Axis/groupAxis/hierarchicalUtils';\nimport { ChartGroupInfo } from '#utils/UNSAFE_visTypes/chart';\n\ntype isGroupNavigableType = (levelIndex: number, groupIndex: number) => boolean;\n\n/**\n * Returns the parent group for the navigable item.\n * @param levelsArray The levels array.\n * @param levelIndex The levelIndex of current naviable group..\n * @param groupIndex The groupIndex of current navigable group.\n * @returns\n */\nexport function getParentGroup(\n levelsArray: GroupLevelItem[][],\n levelIndex: number,\n groupIndex: number,\n isGroupNavigable: isGroupNavigableType\n) {\n const path = levelsArray[levelIndex][groupIndex].path;\n if (path.length === 1) {\n return {\n levelIndex,\n groupIndex\n };\n }\n\n let lIndex = Math.max(0, levelIndex - 1);\n const groupItem = levelsArray[levelIndex][groupIndex];\n const { start, end } = groupItem;\n\n while (lIndex >= 0) {\n for (let i = 0; i < levelsArray[lIndex].length; i++) {\n const { start: s, end: e } = levelsArray[lIndex][i];\n if (s <= start && end <= e) {\n if (isGroupNavigable(lIndex, i)) {\n return { groupIndex: i, levelIndex: lIndex };\n }\n }\n }\n lIndex -= 1;\n }\n\n return {\n levelIndex,\n groupIndex\n };\n}\n\n/**\n * @param levelsArray The levels array.\n * @param levelIndex The levelIndex of current navigable item.\n * @param groupIndex The groupIndex of current navigable item.\n * @returns\n */\nexport function getChildGroup(\n levelsArray: GroupLevelItem[][],\n levelIndex: number,\n groupIndex: number,\n isGroupNavigable: isGroupNavigableType\n) {\n if (levelIndex === levelsArray.length - 1) {\n return { levelIndex, groupIndex };\n }\n\n const lIndex = Math.min(levelsArray.length - 1, levelIndex + 1);\n\n const groupItem = levelsArray[levelIndex][groupIndex];\n const { start, end } = groupItem;\n\n while (lIndex <= levelsArray.length - 1) {\n for (let i = 0; i < levelsArray[lIndex].length; i++) {\n const { start: s, end: e } = levelsArray[lIndex][i];\n if (start <= s && e <= end) {\n if (isGroupNavigable(lIndex, i)) {\n return { groupIndex: i, levelIndex: lIndex };\n }\n }\n }\n }\n return {\n levelIndex,\n groupIndex\n };\n}\n\nexport function getNextGroup(\n levelsArray: GroupLevelItem[][],\n info: ChartGroupInfo,\n isGroupNavigable: isGroupNavigableType\n): ChartGroupInfo | undefined {\n const groupIndex = info.groupIndex! + 1;\n const levelIndex = info.levelIndex!;\n\n const maxgroup = levelsArray[levelIndex].length - 1;\n\n if (groupIndex > maxgroup) {\n return;\n }\n\n if (isGroupNavigable(levelIndex!, groupIndex)) {\n return { groupIndex, levelIndex };\n }\n return getNextGroup(levelsArray, { groupIndex, levelIndex }, isGroupNavigable);\n}\n\nexport function getPreviousGroup(\n info: ChartGroupInfo,\n isGroupNavigable: isGroupNavigableType\n): ChartGroupInfo | undefined {\n const groupIndex = info.groupIndex! - 1;\n const levelIndex = info.levelIndex;\n if (groupIndex < 0) {\n return;\n }\n if (isGroupNavigable(levelIndex!, groupIndex)) {\n return { groupIndex, levelIndex };\n }\n return getPreviousGroup({ groupIndex, levelIndex }, isGroupNavigable);\n}\n\nexport function getGroupNavUtil(\n levelsArray: GroupLevelItem[][],\n drilling: 'on' | 'off' | 'groupsOnly',\n isRtl: boolean,\n isHoriz: boolean,\n isGroupLabelRendered?: (levelIndex: number, groupIndex: number) => boolean\n) {\n const isGroupNavigable = (levelIndex: number, groupIndex: number) => {\n const group = levelsArray[levelIndex][groupIndex].item;\n const groupName = group.name || group.id;\n const groupsDrilling = group.drilling;\n const isLabelRendered = !!isGroupLabelRendered?.(levelIndex, groupIndex);\n return (\n isLabelRendered &&\n groupName != null &&\n (drilling === 'on' || drilling === 'groupsOnly') &&\n groupsDrilling != 'off'\n );\n };\n\n const getDefaultNavGroup = () => {\n for (let levelIndex = 0; levelIndex < levelsArray.length; levelIndex++) {\n const numGroups = levelsArray[levelIndex].length;\n for (let groupIndex = 0; groupIndex < numGroups; groupIndex++) {\n if (isGroupNavigable(levelIndex, groupIndex)) {\n return { groupIndex, levelIndex };\n }\n }\n }\n return { groupIndex: 0, levelIndex: 0 };\n };\n\n const getNextNavGroup = (\n info: ChartGroupInfo,\n arrow: 'ArrowRight' | 'ArrowLeft' | 'ArrowUp' | 'ArrowDown'\n ) => {\n let nextGroup;\n\n if (arrow === 'ArrowRight') {\n if (isHoriz) {\n nextGroup = !isRtl\n ? getChildGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable)\n : getParentGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable);\n } else {\n nextGroup = isRtl\n ? getPreviousGroup(info, isGroupNavigable)\n : getNextGroup(levelsArray, info, isGroupNavigable);\n }\n } else if (arrow === 'ArrowLeft') {\n if (isHoriz) {\n nextGroup = isRtl\n ? getChildGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable)\n : getParentGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable);\n } else {\n nextGroup = isRtl\n ? getNextGroup(levelsArray, info, isGroupNavigable)\n : getPreviousGroup(info, isGroupNavigable);\n }\n } else if (arrow === 'ArrowDown') {\n nextGroup = isHoriz\n ? getNextGroup(levelsArray, info, isGroupNavigable)\n : getParentGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable);\n } else if (arrow === 'ArrowUp') {\n nextGroup = isHoriz\n ? getPreviousGroup(info, isGroupNavigable)\n : getChildGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable);\n }\n return nextGroup || info;\n };\n\n return { getNextNavGroup, getDefaultNavGroup };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ReferenceObjectData, Scale } from '#utils/UNSAFE_visTypes/chart';\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\n\nexport function getRefObjectPosition(object: ReferenceObjectData): number | undefined {\n if (object.type === 'line') {\n return object.value;\n }\n if (object.type === 'area') {\n if (object.low != null && object.high != null) {\n return (object.low + object.high) / 2;\n }\n }\n return undefined;\n}\n\nexport function buildNavigableRefObjects(\n xRefs?: ReferenceObjectData[],\n yRefs?: ReferenceObjectData[],\n y2Refs?: ReferenceObjectData[]\n): { id: string; val: number }[] {\n const normalize = (arr?: ReferenceObjectData[]) =>\n (arr ?? [])\n .map((obj) => ({ id: obj.id, val: getRefObjectPosition(obj) }))\n .filter((obj) => obj.id != null && obj.val != null)\n .sort((a, b) => a.val! - b.val!);\n\n const xList = normalize(xRefs);\n const yList = normalize(yRefs);\n const y2List = normalize(y2Refs);\n\n return [...xList, ...yList, ...y2List] as { id: string; val: number }[];\n}\n\n/**\n * Compute an anchor bounds for a reference object by id. Returns a 1x1 box positioned\n * at a reasonable anchor point for the ref so datatips can use element anchoring.\n */\nexport function getRefObjectBounds(\n id: string,\n xRefs: ReferenceObjectData[] | undefined,\n yRefs: ReferenceObjectData[] | undefined,\n y2Refs: ReferenceObjectData[] | undefined,\n xScale: Scale | undefined,\n yScale: Scale | undefined,\n y2Scale: Scale | undefined,\n orientation: 'horizontal' | 'vertical',\n plotAreaSpace: Dimension\n): Dimension | undefined {\n const ref =\n xRefs?.find((item) => item.id === id) ??\n yRefs?.find((item) => item.id === id) ??\n y2Refs?.find((item) => item.id === id);\n if (!ref) return undefined;\n\n const isInX = xRefs?.some((item) => item.id === id);\n const isInY2 = y2Refs?.some((item) => item.id === id);\n\n const isXRef = !!isInX;\n\n const targetScale = isXRef ? xScale : isInY2 ? y2Scale : yScale;\n const spanningScale = isXRef ? yScale : xScale;\n\n const asPoint = (cx: number, cy: number): Dimension => ({ x: cx, y: cy, width: 1, height: 1 });\n\n if (ref.type === 'line' && ref.value != null) {\n const pos = targetScale?.transform(ref.value);\n const range = spanningScale?.range?.();\n const span1 = range?.[0];\n const span2 = range?.[1];\n if (typeof pos !== 'number' || isNaN(pos) || span1 == null || span2 == null) return undefined;\n\n const mid = (span1 + span2) / 2;\n const isHorizontalLine =\n (orientation === 'vertical' && !isXRef) || (orientation === 'horizontal' && isXRef);\n return isHorizontalLine ? asPoint(mid, pos) : asPoint(pos, mid);\n }\n\n // Constant area (low/high)\n if (ref.type === 'area') {\n const domain = targetScale?.domain?.();\n const domMin = domain ? Math.min(domain[0], domain[1]) : -Infinity;\n const domMax = domain ? Math.max(domain[0], domain[1]) : Infinity;\n\n const clampedLow = ref.low != null ? Math.max(ref.low, domMin) : domMin;\n const clampedHigh = ref.high != null ? Math.min(ref.high, domMax) : domMax;\n\n const pos1 = targetScale?.transform(clampedLow);\n const pos2 = targetScale?.transform(clampedHigh);\n const range = spanningScale?.range?.();\n const span1 = range?.[0];\n const span2 = range?.[1];\n\n if (\n typeof pos1 !== 'number' ||\n typeof pos2 !== 'number' ||\n isNaN(pos1) ||\n isNaN(pos2) ||\n span1 == null ||\n span2 == null\n ) {\n return undefined;\n }\n\n const midSpan = (span1 + span2) / 2;\n const midPos = (pos1 + pos2) / 2;\n const isHorizontalArea =\n (orientation === 'vertical' && !isXRef) || (orientation === 'horizontal' && isXRef);\n return isHorizontalArea ? asPoint(midSpan, midPos) : asPoint(midPos, midSpan);\n }\n\n const centerX = plotAreaSpace.x + plotAreaSpace.width / 2;\n const centerY = plotAreaSpace.y + plotAreaSpace.height / 2;\n return asPoint(centerX, centerY);\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\nimport { calculateOffset } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport { useTooltip } from '#hooks/UNSAFE_useTooltip';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { useEffect, useRef, useState } from 'preact/hooks';\n\ntype Props = {\n getTextAndBounds: (target: EventTarget | null) =>\n | {\n text?: string;\n bounds?: Dimension;\n }\n | undefined;\n isRtl: boolean;\n width: number;\n textAndBounds: {\n text?: string;\n bounds?: Dimension;\n };\n};\n\nexport function useTextTruncation({ getTextAndBounds, width, isRtl, textAndBounds }: Props) {\n const [text, setText] = useState<string>();\n const bounds = useRef<Dimension>();\n\n const hoveredRef = useRef(false);\n\n useEffect(() => {\n if (textAndBounds.text) {\n bounds.current = textAndBounds.bounds;\n setText(textAndBounds.text);\n } else if (!hoveredRef.current) {\n setText(undefined);\n }\n }, [textAndBounds]);\n\n const { tooltipContent, tooltipProps } = useTooltip({\n text,\n position: 'top-start',\n offset: calculateOffset(isRtl, width, bounds.current)\n });\n\n const onPointerMove = (event: Event) => {\n const textAndBounds = getTextAndBounds(event.target);\n\n if (textAndBounds) {\n bounds.current = textAndBounds.bounds;\n setText(textAndBounds.text);\n hoveredRef.current = true;\n } else {\n setText(undefined);\n hoveredRef.current = false;\n }\n };\n\n return {\n tooltipContent,\n tooltipProps: mergeProps({ onPointerMove }, tooltipProps)\n };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ScaleLinear } from '#utils/PRIVATE_chartUtils';\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\n\nexport function getWindowCoords(\n isRtl: boolean,\n xViewportExtent: { viewportMin: number; viewportMax: number },\n xAxisExtent: { min: number; max: number },\n yViewportExtent: { viewportMin: number; viewportMax: number },\n yAxisExtent: { min: number; max: number },\n plotAreaSpace: Dimension\n) {\n const xDomain = [xAxisExtent.min, xAxisExtent.max] as [number, number];\n const xRange = (\n isRtl\n ? [plotAreaSpace.x + plotAreaSpace.width, plotAreaSpace.x]\n : [plotAreaSpace.x, plotAreaSpace.x + plotAreaSpace.width]\n ) as [number, number];\n const xScale = new ScaleLinear(xDomain, xRange);\n\n const yDomain = [yAxisExtent.min, yAxisExtent.max] as [number, number];\n const yRange = [plotAreaSpace.y + plotAreaSpace.height, plotAreaSpace.y] as [number, number];\n\n const yScale = new ScaleLinear(yDomain, yRange);\n\n const windowX = xScale.transform(xViewportExtent.viewportMin);\n const windowWidth = Math.abs(\n xScale.transform(xViewportExtent.viewportMax) - xScale.transform(xViewportExtent.viewportMin)\n );\n\n return {\n windowX: isRtl ? windowX - windowWidth : windowX,\n windowWidth: windowWidth,\n windowY: yScale.transform(yViewportExtent.viewportMax),\n windowHeight: Math.abs(\n yScale.transform(yViewportExtent.viewportMax) - yScale.transform(yViewportExtent.viewportMin)\n ),\n xScale,\n yScale\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 { OverviewProps } from './overview.types';\nimport { styles } from './themes/VisOverview.css';\n\nexport function OverviewBackground({\n x,\n width,\n height,\n y,\n windowX,\n windowHeight,\n windowWidth,\n windowY\n}: OverviewProps) {\n return (\n <>\n <rect\n x={x}\n y={y}\n width={Math.max(0, windowX - x)}\n height={height}\n class={styles.overviewBackground}></rect>\n\n <rect\n x={windowX + windowWidth}\n width={Math.max(0, x + width - windowX - windowWidth)}\n y={y}\n height={height}\n class={styles.overviewBackground}></rect>\n\n <rect\n x={windowX}\n y={y}\n height={Math.max(0, windowY - y)}\n width={windowWidth}\n class={styles.overviewBackground}></rect>\n\n <rect\n x={windowX}\n y={windowY + windowHeight}\n width={windowWidth}\n class={styles.overviewBackground}\n height={Math.max(y + height - windowY - windowHeight, 0)}></rect>\n </>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { OverviewSlidingWindow } from '#PRIVATE_VisOverview';\nimport { OverviewBackground } from '#PRIVATE_VisOverview/OverviewBackground';\nimport { updateViewportFromOverview } from '#utils/PRIVATE_chartUtils/overviewUtils';\nimport { Scale } from '#utils/UNSAFE_visTypes/chart';\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\n\nexport function getRenderer(\n xAxisExtent: { min: number; max: number },\n isRtl: boolean,\n overviewXScale: Scale,\n plotAreaSpace: Dimension,\n windowCoords: { windowX: number; windowY: number; windowHeight: number; windowWidth: number },\n hasHandles: boolean,\n onViewportChange?: (detail: {\n xMin?: number;\n xMax?: number;\n yMin?: number;\n yMax?: number;\n }) => void\n) {\n return {\n slidingWindow: (\n <OverviewSlidingWindow\n {...plotAreaSpace}\n {...windowCoords}\n hasHandles={hasHandles}\n onWindowDimsChange={(props: { deltaX: number; deltaWidth: number }) => {\n updateViewportFromOverview(\n xAxisExtent,\n isRtl,\n windowCoords.windowX,\n windowCoords.windowWidth,\n props.deltaX,\n props.deltaWidth,\n overviewXScale,\n onViewportChange\n );\n }}\n />\n ),\n background: <OverviewBackground {...plotAreaSpace} {...windowCoords} />\n };\n}\n","import { Info, ReferenceObjectData } from '../utils/UNSAFE_visTypes/chart';\nimport { Group, Scale } from '../utils/UNSAFE_visTypes/chart';\nimport { ReferenceLineArea } from './ReferenceLineArea';\n\n// Main renderer component\nexport function ReferenceObjects({\n location,\n xAxis,\n yAxis,\n y2Axis,\n xScale,\n yScale,\n y2Scale,\n orientation,\n xAxisInfo,\n groups,\n activeId,\n activeInfo\n}: {\n location: 'front' | 'back';\n xAxis?: { referenceObjects?: ReferenceObjectData[] };\n yAxis?: { referenceObjects?: ReferenceObjectData[] };\n y2Axis?: { referenceObjects?: ReferenceObjectData[] };\n xScale: Scale;\n yScale: Scale;\n y2Scale: Scale;\n orientation: string;\n xAxisInfo: { startIndex: number; endIndex: number };\n groups: Group[];\n activeId?: string;\n activeInfo?: Info;\n}) {\n const filterFunc = (item: ReferenceObjectData) =>\n location === 'front' ? item.location === 'front' : item.location !== 'front';\n\n return (\n <>\n {xAxis?.referenceObjects\n ?.filter(filterFunc)\n .map((item, index) => (\n <ReferenceLineArea\n {...item}\n key={item.id}\n xScale={xScale}\n yScale={yScale}\n orientation={orientation as 'horizontal' | 'vertical'}\n groups={groups}\n xStartIndex={xAxisInfo.startIndex}\n xEndIndex={xAxisInfo.endIndex}\n seriesIndex={index}\n isXRef={true}\n activeId={item.id === activeInfo?.refObjId ? activeId : undefined}\n />\n ))}\n\n {yAxis?.referenceObjects\n ?.filter(filterFunc)\n .map((item, index) => (\n <ReferenceLineArea\n {...item}\n xScale={xScale}\n yScale={yScale}\n orientation={orientation as 'horizontal' | 'vertical'}\n groups={groups}\n xStartIndex={xAxisInfo.startIndex}\n xEndIndex={xAxisInfo.endIndex}\n seriesIndex={index}\n activeId={item.id === activeInfo?.refObjId ? activeId : undefined}\n />\n ))}\n\n {y2Axis?.referenceObjects\n ?.filter(filterFunc)\n .map((item, index) => (\n <ReferenceLineArea\n {...item}\n xScale={xScale}\n yScale={y2Scale}\n orientation={orientation as 'horizontal' | 'vertical'}\n groups={groups}\n xStartIndex={xAxisInfo.startIndex}\n xEndIndex={xAxisInfo.endIndex}\n seriesIndex={index}\n activeId={item.id === activeInfo?.refObjId ? activeId : undefined}\n />\n ))}\n </>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { VisInvalidDataError } from '#UNSAFE_visErrors';\nimport { useTextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { useCssVars } from '#hooks/PRIVATE_useCssVars/useCssVars';\nimport { styles } from './themes/ChartStyles.css';\nimport { useMemo, useRef, useState, useImperativeHandle } from 'preact/hooks';\nimport { PlotArea } from '#PRIVATE_PlotArea';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { Axis } from '#PRIVATE_Axis/Axis';\nimport { useChartViewport } from '#hooks/PRIVATE_useChartViewport';\nimport {\n getAvailSpace,\n getLayoutInfo,\n getOuterGaps,\n getScrollBarSpace,\n updateScrollBarSpace\n} from '#utils/PRIVATE_chartUtils/layoutUtils';\nimport {\n GroupAxisProps,\n DataAxisProps,\n TimeAxisProps,\n SizeHandle,\n Info\n} from '#utils/UNSAFE_visTypes/chart';\nimport { useChartNav } from '#hooks/PRIVATE_useChartNav/useChartNav';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { getAxesPosition } from '#PRIVATE_Axis/utils/axisUtils';\nimport { ScrollBar } from '#PRIVATE_ChartScrollBar';\nimport { useSelectDrill } from '#hooks/PRIVATE_useChartEvents/useSelectDrill';\nimport { useChartDatatipAndCursor } from '#hooks/PRIVATE_useChartEvents/useDatatipAndCursor';\nimport { getGroupNavUtil } from '#PRIVATE_Axis/utils/axisNavUtils';\nimport { Gridlines } from '#PRIVATE_PlotArea/Gridlines';\nimport {\n buildNavigableRefObjects,\n getRefObjectBounds as computeRefObjectBounds\n} from '#utils/PRIVATE_chartUtils/refObjectsNavUtils';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { useTestId } from '#hooks/UNSAFE_useTestId';\nimport { getChartVars } from '#utils/PRIVATE_chartUtils';\nimport { useChartContextMenu } from '#hooks/PRIVATE_useChartContextMenu';\nimport { useChartDnd } from '#hooks/PRIVATE_useChartDnd';\nimport { getElementData } from '#utils/UNSAFE_visUtils';\nimport { useTextTruncation } from '#PRIVATE_VisSVGText/useTextTruncation';\nimport { useChartMarquee } from '#hooks/PRIVATE_useChartMarquee';\nimport { ChartProps } from './Chart';\nimport type { gestureTypes } from '#hooks/PRIVATE_useVisContextMenu';\nimport { useVisTouchResponse } from '#hooks/PRIVATE_useVisTouchResponse';\nimport { LineAreaItem } from '#UNSAFE_LineAreaChart/lineAreaChart.types';\nimport { ScatterItem } from '#UNSAFE_ScatterChart/scatterChart.types';\nimport { BarItemData } from '#UNSAFE_BarChart/barChart.types';\nimport { OverviewContext } from '#hooks/PRIVATE_useOverviewContext';\nimport { getWindowCoords } from '#PRIVATE_VisOverview/utils';\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\nimport { getRenderer } from './overviewUtils';\nimport { ComponentChildren, Ref, VNode } from 'preact';\nimport { forwardRef } from 'preact/compat';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport {\n getAriaLabelGenerator,\n getTextAndBoundsUtil,\n getTextAndDimsInfo\n} from '#utils/PRIVATE_chartUtils/dataTipUtils';\nimport { hasData, hasInvalidData } from '#utils/PRIVATE_chartUtils/dataUtils';\nimport { ReferenceObjects } from '#PRIVATE_PlotArea/ReferenceObjects';\nimport { getActiveInfo } from '#utils/PRIVATE_chartUtils/utils';\nimport { merge } from '#utils/UNSAFE_stringUtils';\n\ntype ChartWithDimensionsProps<K, D> = Omit<ChartProps<K, D>, 'width' | 'height'> & {\n width: number;\n height: number;\n overviewRenderer: (props: Dimension) => {\n background: ComponentChildren;\n slidingWindow: ComponentChildren;\n };\n yAxisSize: number;\n isOverview: boolean;\n};\n\nconst OVERVIEW_GAP = 10;\n\nconst chartVars = getChartVars();\n\ntype ForwardRefChart = <\n K extends string | number,\n D extends LineAreaItem<K> | ScatterItem<K> | BarItemData<K>\n>(\n props: ChartWithDimensionsProps<K, D> & {\n ref?: Ref<SizeHandle>;\n }\n) => VNode | null;\n\nexport const ChartWithDimensions = forwardRef(\n <K extends string | number, D extends LineAreaItem<K> | ScatterItem<K> | BarItemData<K>>(\n {\n width,\n height,\n selectedIds,\n hiddenIds,\n hideAndShowBehavior = 'none',\n orientation = 'vertical',\n xAxis,\n yAxis,\n y2Axis,\n plotArea,\n dragMode = 'user',\n series,\n groups,\n isStacked = false,\n stackLabelStyle,\n getStackGroup,\n getDataItem,\n selectionMode = 'none',\n drilling = 'off',\n dataCursorPosition,\n onSelectionChange,\n isDataCursorEnabled,\n dataCursorStyle,\n onViewportChange,\n onDataCursorPositionChange,\n onItemDrill,\n onGroupDrill,\n onItemHover,\n onItemFocus,\n datatip,\n zoomAndScroll = 'off',\n getNavUtil,\n getDataItemPos,\n getGapRatio,\n valueFormats,\n findNearest,\n getMarkerInfo,\n isRtl,\n children,\n testId,\n renderGridLinesInFront,\n isDataXAxis,\n contextMenuConfig,\n overview = 'off',\n getStartAndEndAxesOffset,\n defaultOverviewContentRenderer,\n isOverview,\n yAxisSize,\n overviewRenderer,\n initialZooming = 'none',\n ...props\n }: ChartWithDimensionsProps<K, D>,\n ref: Ref<SizeHandle> = null\n ) => {\n const timeAxisType = (xAxis as TimeAxisProps)?.timeAxisType;\n const isTimeAxis = timeAxisType != null;\n if (hasInvalidData(timeAxisType, series, groups, getDataItem)) {\n throw new VisInvalidDataError('Chart received invalid data');\n }\n\n const testIdProps = useTestId(testId);\n const rootRef = useRef<HTMLDivElement>(null);\n const isTestEnv = testIdProps['data-testid'] !== undefined;\n const isHoriz = orientation === 'horizontal';\n const { xAxisPosition, yAxisPosition, y2AxisPosition } = getAxesPosition(\n yAxis,\n y2Axis,\n isHoriz,\n isRtl\n );\n const { resolvedVars, cssContent } = useCssVars(chartVars);\n const resolvedColors = Array.from(Array(12)).map((_, index) => {\n return resolvedVars[`color${index + 1}`];\n });\n const { textMeasureContent, getTextDimensions } = useTextDimensions();\n let availSpace = getAvailSpace(width, height);\n\n if (isOverview && yAxisSize) {\n const w = availSpace.width - yAxisSize;\n const gaps = getOuterGaps(w, height);\n availSpace.width -= yAxisSize - 2 * gaps.width;\n availSpace.x += yAxisSize - gaps.width;\n }\n\n const updatedSpace = getScrollBarSpace(\n isTimeAxis,\n availSpace,\n zoomAndScroll,\n xAxisPosition,\n overview\n );\n let scrollDims = updatedSpace.scrollDims;\n availSpace = updatedSpace.availSpace;\n const { locale } = useUser();\n const { x, y, width: _width, height: _height } = availSpace;\n const labelFontSize = resolvedVars['labelFontSize'];\n\n const split = y2Axis?.split ?? 'off';\n const isSplitDualY = split !== 'off';\n const splitterPosition = split !== 'off' ? split : 0.5;\n\n const layoutInfo = useMemo(() => {\n const hiddenSet = new Set(hiddenIds);\n return getLayoutInfo<K, D>(\n series,\n groups,\n getDataItem,\n xAxis,\n yAxis,\n y2Axis,\n { x, y, width: _width, height: _height }, // availSpace\n hiddenSet,\n hideAndShowBehavior,\n isHoriz,\n isRtl,\n isStacked,\n labelFontSize,\n getStartAndEndAxesOffset,\n locale,\n isSplitDualY,\n splitterPosition,\n getStackGroup,\n getTextDimensions,\n isTestEnv,\n isDataXAxis,\n initialZooming,\n zoomAndScroll\n );\n }, [\n x,\n y,\n _width,\n _height,\n getDataItem,\n getTextDimensions,\n groups,\n hiddenIds,\n hideAndShowBehavior,\n isDataXAxis,\n isHoriz,\n isRtl,\n isStacked,\n isTestEnv,\n locale,\n getStartAndEndAxesOffset,\n labelFontSize,\n series,\n xAxis,\n yAxis,\n y2Axis,\n splitterPosition,\n isSplitDualY,\n getStackGroup,\n initialZooming,\n zoomAndScroll\n ]);\n\n const {\n getGroupFromPath,\n levelsArray,\n xAxisInfo,\n xProps,\n xScale,\n yProps,\n y2Props,\n yScale,\n y2Scale,\n yMaxDim,\n yAxisInfo,\n plotAreaSpace,\n xSpace,\n ySpace,\n y2Space,\n idToDataMap,\n y2AxisInfo,\n getYPreferredSize,\n getY2PreferredSize,\n getXPreferredSize\n } = layoutInfo;\n\n useImperativeHandle(ref!, () => ({\n _getYaxis: () => {\n return { getPreferredSize: getYPreferredSize, bounds: ySpace };\n },\n _getY2axis: () => {\n return { getPreferredSize: getY2PreferredSize, bounds: y2Space };\n },\n _getXaxis: () => {\n return { getPreferredSize: getXPreferredSize, bounds: xSpace };\n }\n }));\n\n const leafGroupsInfo = levelsArray.length > 0 ? levelsArray[levelsArray.length - 1] : [];\n\n scrollDims = updateScrollBarSpace(scrollDims, xAxisPosition === 'bottom', isRtl, yMaxDim);\n\n const gapRatio = getGapRatio(xAxisInfo.startIndex!, xAxisInfo.endIndex!);\n\n const getNextChartItem = getNavUtil(xAxisInfo.startIndex!, xAxisInfo.endIndex!);\n\n const { getNextNavGroup, getDefaultNavGroup } = getGroupNavUtil(\n levelsArray,\n drilling,\n isRtl,\n isHoriz,\n xProps.isGroupLabelRendered\n );\n\n const navigableRefObjects = useMemo(\n () =>\n buildNavigableRefObjects(\n xAxis?.referenceObjects,\n yAxis?.referenceObjects,\n y2Axis?.referenceObjects\n ),\n [xAxis?.referenceObjects, yAxis?.referenceObjects, y2Axis?.referenceObjects]\n );\n\n const getNextRefObject = (\n info: Info,\n arrow: 'ArrowLeft' | 'ArrowRight' | 'ArrowDown' | 'ArrowUp'\n ): Info => {\n const list = navigableRefObjects;\n if (!list || list.length === 0) {\n return {};\n }\n const dir = arrow === 'ArrowLeft' || arrow === 'ArrowUp' ? -1 : 1;\n\n const idx =\n info.refObjId != null\n ? list.findIndex((o) => o.id === info.refObjId)\n : dir > 0\n ? -1\n : list.length;\n\n // Move one step in the desired direction. Clamp at the ends.\n let nextIdx = idx + dir;\n if (nextIdx < 0) nextIdx = 0;\n if (nextIdx >= list.length) nextIdx = list.length - 1;\n\n return { refObjId: list[nextIdx].id };\n };\n\n const {\n ignoreSelectPointerUp,\n cursor,\n yAxisCursor,\n marqueeProps,\n marqueeContent,\n toggleButtonContent,\n isPointInsideMarquee,\n dragMode: mode\n } = useChartMarquee<K, D>({\n rootRef,\n plotAreaSpace,\n xSpace,\n ySpace,\n dragMode,\n chartWidth: width,\n isMultiSelection: selectionMode === 'multiple',\n onViewportChange,\n isZoomScroll: zoomAndScroll === 'live',\n xScale,\n selectedIds,\n getDataById: (id) => idToDataMap.get(id),\n onSelectionChange,\n isRtl,\n xAxisInfo\n });\n\n const { touchResponse, touchResponseStyle } = useVisTouchResponse({\n type: 'auto',\n supportsTouchDragGestures: mode !== 'off',\n rootRef\n });\n\n const {\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n focusedGroupInfo,\n navProps,\n onFocusUpdate\n } = useChartNav({\n rootRef,\n getNextChartItem,\n getNextRefObject,\n getNextNavGroup,\n getDefaultNavGroup,\n touchResponse,\n onItemHover,\n onItemFocus,\n drilling,\n xAxisInfo\n });\n\n const onContextMenuDismissed = (gesture: gestureTypes) => {\n if (gesture === 'keyboard') {\n onFocusUpdate();\n }\n };\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const getTextAndBounds = (target: EventTarget | null) => {\n return getTextAndBoundsUtil(\n target,\n rootRef,\n xAxis?.title,\n yAxis?.title,\n y2Axis?.title,\n xProps.titleProps?.dims,\n yProps.titleProps?.dims,\n y2Props.titleProps?.dims,\n xProps.tickLabels,\n focusedGroupInfo\n );\n };\n\n const dimsAndTextInfo = getTextAndDimsInfo(\n xProps.tickLabels,\n focusedGroupInfo.groupIndex,\n focusedGroupInfo.levelIndex\n );\n const { tooltipContent, tooltipProps } = useTextTruncation({\n getTextAndBounds,\n width,\n isRtl,\n textAndBounds: {\n bounds: dimsAndTextInfo?.dims,\n text: dimsAndTextInfo?.text\n }\n });\n\n const viewportProps = useChartViewport({\n rootRef,\n width,\n height,\n xAxisInfo,\n yAxisInfo,\n y2AxisInfo,\n xScale,\n yScale,\n y2Scale,\n plotAreaSpace,\n isRtl,\n isHoriz,\n zoomAndScroll,\n onViewportChange\n });\n\n const ignoreAsTrigger = (target: EventTarget | null) => {\n if (!target) {\n return false;\n }\n\n const dataset = getElementData(rootRef, target as HTMLElement);\n if (\n (dataset &&\n (dataset['ojPrivateObject'] === 'marquee' ||\n dataset['ojPrivateObject'] === 'dragModeControls' ||\n dataset['ojPrivateObject'] === 'scrollBar')) ||\n ignoreSelectPointerUp\n ) {\n return true;\n }\n\n return false;\n };\n\n const { selectDrillProps, selectionContent } = useSelectDrill<K, D>({\n selectionMode,\n selection: [...selectedIds],\n onChange: onSelectionChange,\n rootRef,\n drilling,\n onItemDrill,\n onGroupDrill,\n focusedGroupInfo,\n focusedItemInfo,\n levelsArray,\n getDataItem,\n getDataById: (id) => idToDataMap.get(id),\n ignoreAsTrigger\n });\n\n const findNearestData = findNearest(\n xScale as any,\n yScale,\n y2Scale,\n xProps.axisStepWidth!,\n xProps.averageGroupZ!,\n gapRatio\n );\n const getDataItemPosition = getDataItemPos(\n xScale as any,\n yScale,\n y2Scale,\n xProps.axisStepWidth!,\n xProps.averageGroupZ!,\n gapRatio\n );\n const [datatipDisabled, setDatatipDisabled] = useState(false);\n\n const getItemAriaLabel = getAriaLabelGenerator(\n series,\n translations,\n valueFormats,\n leafGroupsInfo,\n xAxis,\n !!isDataXAxis,\n getGroupFromPath,\n xProps.defaultLabelFormatter,\n yProps.defaultLabelFormatter,\n y2Props.defaultLabelFormatter\n );\n\n const getRefItem = (id: number | string) => {\n return (\n xAxis?.referenceObjects?.find((item) => item.id === id) ??\n yAxis?.referenceObjects?.find((item) => item.id === id) ??\n y2Axis?.referenceObjects?.find((item) => item.id === id)\n );\n };\n\n const getRefObjectBounds = (id: string): Dimension | undefined => {\n return computeRefObjectBounds(\n id,\n xAxis?.referenceObjects,\n yAxis?.referenceObjects,\n y2Axis?.referenceObjects,\n xScale as any,\n yScale,\n y2Scale,\n orientation as 'horizontal' | 'vertical',\n plotAreaSpace\n );\n };\n\n const getRefAxis = (id: string): 'x' | 'y' | 'y2' | undefined => {\n if (xAxis?.referenceObjects?.some((item) => item.id === id)) return 'x';\n if (yAxis?.referenceObjects?.some((item) => item.id === id)) return 'y';\n if (y2Axis?.referenceObjects?.some((item) => item.id === id)) return 'y2';\n return undefined;\n };\n\n const {\n datatipContent,\n dataCursorContent,\n datatipProps: { 'aria-describedby': datatipAriaDescribedby, ...datatipProps }\n } = useChartDatatipAndCursor<K, D>({\n series,\n leafGroupsInfo,\n width,\n height,\n findNearest: findNearestData,\n plotAreaSpace,\n onDataCursorPositionChange,\n isDataCursorEnabled,\n dataCursorPosition,\n dataCursorStyle,\n hoveredItemInfo,\n focusedItemInfo,\n getDataItem,\n getRefItem,\n getRefObjectBounds,\n getRefAxis,\n getMarkerInfo,\n getDataItemPos: getDataItemPosition,\n datatip,\n valueFormats,\n isHoriz,\n touchResponse,\n isDisabled: datatipDisabled,\n xScale: xScale as any,\n yScale,\n y2Scale,\n timeAxisType,\n defaultXFormatter: xProps.defaultLabelFormatter,\n defaultYFormatter: yProps.defaultLabelFormatter,\n defaultY2Formatter: y2Props.defaultLabelFormatter,\n hasXYValues: isDataXAxis,\n getGroupFromPath,\n translations\n });\n\n const isGroupInteractive = (index: number) => {\n if (isTimeAxis) {\n return false;\n }\n const groupDrill = groups[index]?.drilling;\n if (groupDrill === 'on') {\n return true;\n }\n\n if (groupDrill != 'off' && (drilling === 'on' || drilling === 'groupsOnly')) {\n return true;\n }\n return false;\n };\n\n const plotAreaClipPathId = useId();\n\n // const { yTicks, y2Ticks } = getYY2Ticks(yAxisInfo.ticks, y2AxisInfo.ticks, isHoriz, isSplitDualY);\n const gridLines = (\n <Gridlines\n plotArea={plotArea}\n availSpace={plotAreaSpace}\n xAxisPosition={xAxisPosition}\n isRtl={isRtl}\n yMinorTicks={yAxisInfo.minorTicks}\n xMinorTicks={xAxisInfo.minorTicks}\n xScale={xScale}\n yScale={yScale}\n y2Scale={y2Scale}\n isLog={yAxis?.scale === 'log'}\n yAxisPosition={yAxisPosition}\n isDataXAxis={isDataXAxis}\n xAxis={xAxis as DataAxisProps}\n yAxis={yAxis}\n y2Axis={y2Axis}\n hasAxisLine={!isOverview}\n y2MinorTicks={y2AxisInfo?.minorTicks}\n y2Ticks={y2AxisInfo.ticks}\n yTicks={yAxisInfo.ticks}\n xTicks={xAxisInfo.ticks}\n isSplitDualY={isSplitDualY}\n />\n );\n\n const { contextMenuContent, contextMenuProps } = useChartContextMenu<K, D>({\n isRtl,\n width,\n height,\n getDataItemPosition,\n series,\n levelsArray,\n focusedGroupInfo,\n getDataItem,\n focusedItemInfo,\n rootRef,\n xAxisTitle: xAxis?.title,\n yAxisTitle: yAxis?.title,\n contextMenuConfig: hasData(series, groups) ? contextMenuConfig : undefined,\n onContextMenuDismissed\n });\n\n const [dragOver, setDragOver] = useState<{ accepted: boolean | undefined; type: string }>({\n accepted: undefined,\n type: ''\n });\n\n const { draggable, dndProps, dndContent } = useChartDnd<K, D>({\n onDrag: props.onDrag,\n onDragStart: props.onDragStart,\n onDragEnd: props.onDragEnd,\n onDragEnter: props.onDragEnter,\n onDragLeave: props.onDragLeave,\n onDragOver: props.onDragOver,\n onDrop: props.onDrop,\n itemsDraggable: props.itemsDraggable,\n groupDraggable: props.groupDraggable,\n rootRef,\n levelsArray,\n series,\n selectedIds,\n getDataItem,\n xSpace,\n ySpace,\n plotAreaSpace,\n setDragOver,\n setDatatipDisabled,\n onSelectionChange\n });\n\n const eventsProps = mergeProps(\n navProps,\n selectDrillProps,\n viewportProps,\n datatipProps,\n marqueeProps,\n tooltipProps,\n contextMenuProps,\n dndProps\n );\n\n const overviewContentRenderer =\n overview != 'off' && (overview === 'on' || !overview.renderer)\n ? defaultOverviewContentRenderer\n : undefined;\n\n const { background, slidingWindow } = overviewRenderer(plotAreaSpace);\n\n const isActiveInfoRef = focusedItemInfo.refObjId != null && focusedItemInfo.isFocusVisible;\n const activeInfo = getActiveInfo(focusedItemInfo, hoveredItemInfo);\n return (\n <>\n {getTextDimensions && resolvedVars['labelFontSize'] != undefined && (\n <div\n tabIndex={isOverview ? undefined : 0}\n draggable={draggable}\n ref={rootRef}\n aria-activedescendant={activeId}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n aria-describedby={merge([props['aria-describedby'], datatipAriaDescribedby])}\n style={{ ...touchResponseStyle }}\n role={isOverview ? undefined : 'application'}\n className={styles.baseChartStyle}\n data-oj-private-selection-mode={isTestEnv ? selectionMode : undefined}\n {...testIdProps}\n {...(isOverview ? {} : eventsProps)}>\n <svg\n width=\"100%\"\n height={\n scrollDims.height != 0 && overview != 'off'\n ? `${Math.ceil((updatedSpace.availSpace.height + OVERVIEW_GAP) * 100) / height}%`\n : '100%'\n }>\n <clipPath id={`${plotAreaClipPathId}`}>\n <rect {...plotAreaSpace}></rect>\n </clipPath>\n {background}\n <PlotArea\n color={plotArea?.color}\n dragOverStyle={\n dragOver.type !== 'plotArea' ? 'none' : dragOver.accepted ? 'accept' : 'reject'\n }\n cursor={cursor}\n availSpace={plotAreaSpace}\n />\n {!renderGridLinesInFront && gridLines}\n <Axis\n {...(yProps as any)}\n axisPosition={yAxisPosition}\n isRtl={isRtl}\n cursor={yAxisCursor}\n availSpace={ySpace}\n dragOverStyle={\n dragOver.type !== 'yAxis' ? 'none' : dragOver.accepted ? 'accept' : 'reject'\n }\n />\n <Axis\n {...(y2Props as any)}\n axisPosition={y2AxisPosition}\n isRtl={isRtl}\n cursor={yAxisCursor}\n availSpace={y2Space}\n dragOverStyle={\n dragOver.type !== 'y2Axis' ? 'none' : dragOver.accepted ? 'accept' : 'reject'\n }\n />\n <Axis\n {...xProps}\n isRtl={isRtl}\n axisPosition={xAxisPosition}\n isTextInteractive={isGroupInteractive}\n activeId={activeId}\n cursor={cursor}\n focusedGroupIndex={\n focusedGroupInfo.isFocusVisible ? focusedGroupInfo.groupIndex : undefined\n }\n focusedGroupLevelIndex={\n focusedGroupInfo.isFocusVisible ? focusedGroupInfo.levelIndex : undefined\n }\n availSpace={xSpace}\n dragOverStyle={\n dragOver.type !== 'xAxis' ? 'none' : dragOver.accepted ? 'accept' : 'reject'\n }\n separatorColor={(xAxis as GroupAxisProps)?.groupSeparators?.color}\n />\n <g clip-path={`url(#${plotAreaClipPathId})`}>\n <ReferenceObjects\n location=\"back\"\n activeId={isActiveInfoRef ? activeId : undefined}\n activeInfo={activeInfo}\n xAxis={xAxis}\n yAxis={yAxis}\n y2Axis={y2Axis}\n xScale={xScale}\n yScale={yScale}\n y2Scale={y2Scale}\n orientation={orientation}\n xAxisInfo={xAxisInfo}\n groups={groups}\n />\n {children({\n xStartIndex: xAxisInfo.startIndex!,\n xEndIndex: xAxisInfo.endIndex!,\n getItemAriaLabel,\n groupsInfo: leafGroupsInfo,\n resolvedColors,\n xScale: xScale as any,\n yScale,\n y2Scale,\n isPointInsideMarquee,\n defaultFontSize: resolvedVars['labelFontSize'],\n gapRatio,\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n getTextDimensions,\n axisStepWidth: xProps.axisStepWidth!,\n averageGroupZ: xProps.averageGroupZ!,\n plotAreaClipPathId\n })}\n {renderGridLinesInFront && gridLines}\n <ReferenceObjects\n location=\"front\"\n xAxis={xAxis}\n yAxis={yAxis}\n y2Axis={y2Axis}\n activeId={activeId}\n activeInfo={activeInfo}\n xScale={xScale}\n yScale={yScale}\n y2Scale={y2Scale}\n orientation={orientation}\n xAxisInfo={xAxisInfo}\n groups={groups}\n />\n {dataCursorContent}\n </g>\n {slidingWindow}\n {zoomAndScroll === 'live' && !isOverview && (\n <ScrollBar\n availSpace={scrollDims}\n isRtl={isRtl}\n viewport={xAxisInfo}\n axisExtent={xAxisInfo}\n isHoriz={xAxisPosition === 'bottom'}\n />\n )}\n {marqueeContent}\n </svg>\n <OverviewContext.Provider\n value={{\n yAxisSize: ySpace.width,\n isOverview: true,\n width,\n height: scrollDims.height,\n overviewRenderer: (overviewChartPlotArea: Dimension) => {\n const { xScale: overviewXScale, ...windowCoords } = getWindowCoords(\n isRtl,\n xAxisInfo,\n xAxisInfo,\n yAxisInfo,\n yAxisInfo,\n overviewChartPlotArea\n );\n return getRenderer(\n xAxisInfo,\n isRtl,\n overviewXScale,\n overviewChartPlotArea,\n windowCoords,\n true,\n onViewportChange\n );\n }\n }}>\n {!isOverview && overview !== 'off' && overviewContentRenderer && (\n <div style={{ width, height: scrollDims.height }}>{overviewContentRenderer()}</div>\n )}\n </OverviewContext.Provider>\n {toggleButtonContent}\n {datatipContent}\n {tooltipContent}\n {contextMenuContent}\n {selectionContent}\n {dndContent}\n </div>\n )}\n {textMeasureContent}\n {cssContent}\n </>\n );\n }\n) as ForwardRefChart;\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { dimensionStyle } from './themes/ChartStyles.css';\nimport { TrackResizeContainer } from '#UNSAFE_TrackResizeContainer';\nimport { ChartWithDimensions } from './ChartWithDimensions';\nimport {\n ChartCommonProps,\n ChartSeriesData,\n GetNextChartItemType,\n Info,\n Scale,\n getDataPosType,\n SizeHandle\n} from '#utils/UNSAFE_visTypes/chart';\nimport { Dimension, MarkerShapes, VisTextStyle } from '#utils/UNSAFE_visTypes/common';\nimport { ComponentChildren, Ref, VNode } from 'preact';\nimport { Property } from 'csstype';\nimport { LineAreaItem } from '#UNSAFE_LineAreaChart/lineAreaChart.types';\nimport { ScatterItem } from '#UNSAFE_ScatterChart/scatterChart.types';\nimport { BarItemData } from '#UNSAFE_BarChart/barChart.types';\nimport { useOverviewContext } from '#hooks/PRIVATE_useOverviewContext';\nimport { GroupLevelItem } from '#PRIVATE_Axis/groupAxis/hierarchicalUtils';\nimport { forwardRef } from 'preact/compat';\n\nexport type ChartProps<K, D> = {\n selectedIds: Set<K>;\n getGapRatio: (startIndex: number, endIndex: number) => number;\n getNavUtil: (startIndex: number, endIndex: number) => GetNextChartItemType;\n getDataItemPos: (\n xScale: Scale,\n yScale: Scale,\n y2Scale: Scale,\n axisStepWidth: number,\n averageGroupZ: number,\n gapRatio: number\n ) => getDataPosType;\n findNearest: (\n xScale: Scale,\n yScale: Scale,\n y2Scale: Scale,\n axisStepWidth: number,\n averageGroupZ: number,\n gapRatio: number\n ) => (\n x: number,\n y?: number,\n y2?: number\n ) =>\n | {\n seriesIndex: number;\n groupIndex: number;\n y: number | undefined;\n y2: number | undefined;\n x: number;\n }\n | undefined;\n children: (context: {\n getItemAriaLabel: (\n data: D,\n seriesIndex: number,\n groupIndex: number,\n isSelectionEnabled: boolean,\n isSelected: boolean,\n isDrillable: boolean\n ) => string;\n xStartIndex: number;\n xEndIndex: number;\n xScale: Scale;\n yScale: Scale;\n y2Scale: Scale;\n gapRatio: number;\n activeId?: string;\n focusedItemInfo: Info;\n hoveredItemInfo?: Info;\n axisStepWidth: number;\n averageGroupZ: number;\n isPointInsideMarquee: ((id: K, point: { x: number; y: number }) => boolean) | undefined;\n getTextDimensions?: (text: string, style: Record<string, any>) => Dimension;\n defaultFontSize: string;\n resolvedColors: string[];\n groupsInfo: GroupLevelItem[];\n plotAreaClipPathId: string;\n }) => ComponentChildren;\n getStartAndEndAxesOffset: (groupCount: number) => { startOffset: number; endOffset: number };\n series: ChartSeriesData<K, D>[];\n isRtl: boolean;\n renderGridLinesInFront: boolean;\n isDataXAxis?: boolean;\n getMarkerInfo: (\n seriesIndex: number,\n groupIndex: number\n ) => { color: Property.Color | undefined; type?: MarkerShapes };\n defaultOverviewContentRenderer: () => ComponentChildren;\n isStacked?: boolean;\n getStackGroup?: (series: ChartSeriesData<K, D>) => string | undefined;\n stackLabelStyle?: VisTextStyle;\n} & Omit<ChartCommonProps<K, D>, 'highlightedIds' | 'hoverBehavior' | 'selectedIds'>;\n\ntype ForwardRefChart = <\n K extends string | number,\n D extends LineAreaItem<K> | ScatterItem<K> | BarItemData<K>\n>(\n props: ChartProps<K, D> & { ref?: Ref<SizeHandle> }\n) => VNode | null;\n\nexport const Chart = forwardRef(\n <K extends string | number, D extends LineAreaItem<K> | ScatterItem<K> | BarItemData<K>>(\n { width, height, ...props }: ChartProps<K, D>,\n ref: Ref<SizeHandle> = null\n ) => {\n // TODO: reevaluate how we handle empty data\n const {\n isOverview,\n overviewRenderer,\n yAxisSize,\n width: overviewWidth,\n height: overviewHeight\n } = useOverviewContext();\n\n let chartWidth = width;\n let chartHeight = height;\n\n if (chartWidth === undefined && isOverview && overviewWidth !== undefined) {\n chartWidth = `${overviewWidth}px`;\n }\n\n if (chartHeight === undefined && isOverview && overviewHeight !== undefined) {\n chartHeight = `${overviewHeight}px`;\n }\n\n return (\n <TrackResizeContainer width={chartWidth} height={chartHeight} class={dimensionStyle}>\n {(width, height) =>\n width || height ? (\n <ChartWithDimensions\n ref={ref}\n width={width}\n height={height}\n {...props}\n yAxisSize={yAxisSize}\n isOverview={isOverview}\n overviewRenderer={overviewRenderer}\n />\n ) : undefined\n }\n </TrackResizeContainer>\n );\n }\n) as ForwardRefChart;\n"],"names":["useState","useRef","useEffect","useTooltip","calculateOffset","mergeProps","ScaleLinear","_jsxs","_Fragment","_jsx","styles","OverviewSlidingWindow","updateViewportFromOverview","_createElement","ReferenceLineArea","getChartVars","forwardRef","hasInvalidData","VisInvalidDataError","useTestId","getAxesPosition","useCssVars","useTextDimensions","getAvailSpace","getOuterGaps","getScrollBarSpace","useUser","useMemo","getLayoutInfo","useImperativeHandle","updateScrollBarSpace","useChartMarquee","useVisTouchResponse","useChartNav","useTranslationBundle","getTextAndBoundsUtil","getTextAndDimsInfo","useChartViewport","getElementData","useSelectDrill","getAriaLabelGenerator","getRefObjectBounds","computeRefObjectBounds","useChartDatatipAndCursor","useId","Gridlines","useChartContextMenu","hasData","useChartDnd","getActiveInfo","merge","PlotArea","Axis","ScrollBar","OverviewContext","useOverviewContext","TrackResizeContainer","dimensionStyle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Chart-966da017.js","sources":["../../src/PRIVATE_Axis/utils/axisNavUtils.ts","../../src/utils/PRIVATE_chartUtils/refObjectsNavUtils.ts","../../src/PRIVATE_VisSVGText/useTextTruncation.ts","../../src/PRIVATE_VisOverview/utils.ts","../../src/PRIVATE_VisOverview/OverviewBackground.tsx","../../src/PRIVATE_Chart/overviewUtils.tsx","../../src/PRIVATE_PlotArea/ReferenceObjects.tsx","../../src/PRIVATE_Chart/ChartWithDimensions.tsx","../../src/PRIVATE_Chart/Chart.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { GroupLevelItem } from '#PRIVATE_Axis/groupAxis/hierarchicalUtils';\nimport { ChartGroupInfo } from '#utils/UNSAFE_visTypes/chart';\n\ntype isGroupNavigableType = (levelIndex: number, groupIndex: number) => boolean;\n\n/**\n * Returns the parent group for the navigable item.\n * @param levelsArray The levels array.\n * @param levelIndex The levelIndex of current naviable group..\n * @param groupIndex The groupIndex of current navigable group.\n * @returns\n */\nexport function getParentGroup(\n levelsArray: GroupLevelItem[][],\n levelIndex: number,\n groupIndex: number,\n isGroupNavigable: isGroupNavigableType\n) {\n const path = levelsArray[levelIndex][groupIndex].path;\n if (path.length === 1) {\n return {\n levelIndex,\n groupIndex\n };\n }\n\n let lIndex = Math.max(0, levelIndex - 1);\n const groupItem = levelsArray[levelIndex][groupIndex];\n const { start, end } = groupItem;\n\n while (lIndex >= 0) {\n for (let i = 0; i < levelsArray[lIndex].length; i++) {\n const { start: s, end: e } = levelsArray[lIndex][i];\n if (s <= start && end <= e) {\n if (isGroupNavigable(lIndex, i)) {\n return { groupIndex: i, levelIndex: lIndex };\n }\n }\n }\n lIndex -= 1;\n }\n\n return {\n levelIndex,\n groupIndex\n };\n}\n\n/**\n * @param levelsArray The levels array.\n * @param levelIndex The levelIndex of current navigable item.\n * @param groupIndex The groupIndex of current navigable item.\n * @returns\n */\nexport function getChildGroup(\n levelsArray: GroupLevelItem[][],\n levelIndex: number,\n groupIndex: number,\n isGroupNavigable: isGroupNavigableType\n) {\n if (levelIndex === levelsArray.length - 1) {\n return { levelIndex, groupIndex };\n }\n\n const lIndex = Math.min(levelsArray.length - 1, levelIndex + 1);\n\n const groupItem = levelsArray[levelIndex][groupIndex];\n const { start, end } = groupItem;\n\n while (lIndex <= levelsArray.length - 1) {\n for (let i = 0; i < levelsArray[lIndex].length; i++) {\n const { start: s, end: e } = levelsArray[lIndex][i];\n if (start <= s && e <= end) {\n if (isGroupNavigable(lIndex, i)) {\n return { groupIndex: i, levelIndex: lIndex };\n }\n }\n }\n }\n return {\n levelIndex,\n groupIndex\n };\n}\n\nexport function getNextGroup(\n levelsArray: GroupLevelItem[][],\n info: ChartGroupInfo,\n isGroupNavigable: isGroupNavigableType\n): ChartGroupInfo | undefined {\n const groupIndex = info.groupIndex! + 1;\n const levelIndex = info.levelIndex!;\n\n const maxgroup = levelsArray[levelIndex].length - 1;\n\n if (groupIndex > maxgroup) {\n return;\n }\n\n if (isGroupNavigable(levelIndex!, groupIndex)) {\n return { groupIndex, levelIndex };\n }\n return getNextGroup(levelsArray, { groupIndex, levelIndex }, isGroupNavigable);\n}\n\nexport function getPreviousGroup(\n info: ChartGroupInfo,\n isGroupNavigable: isGroupNavigableType\n): ChartGroupInfo | undefined {\n const groupIndex = info.groupIndex! - 1;\n const levelIndex = info.levelIndex;\n if (groupIndex < 0) {\n return;\n }\n if (isGroupNavigable(levelIndex!, groupIndex)) {\n return { groupIndex, levelIndex };\n }\n return getPreviousGroup({ groupIndex, levelIndex }, isGroupNavigable);\n}\n\nexport function getGroupNavUtil(\n levelsArray: GroupLevelItem[][],\n drilling: 'on' | 'off' | 'groupsOnly',\n isRtl: boolean,\n isHoriz: boolean,\n isGroupLabelRendered?: (levelIndex: number, groupIndex: number) => boolean\n) {\n const isGroupNavigable = (levelIndex: number, groupIndex: number) => {\n const group = levelsArray[levelIndex][groupIndex].item;\n const groupName = group.name || group.id;\n const groupsDrilling = group.drilling;\n const isLabelRendered = !!isGroupLabelRendered?.(levelIndex, groupIndex);\n return (\n isLabelRendered &&\n groupName != null &&\n (drilling === 'on' || drilling === 'groupsOnly') &&\n groupsDrilling != 'off'\n );\n };\n\n const getDefaultNavGroup = () => {\n for (let levelIndex = 0; levelIndex < levelsArray.length; levelIndex++) {\n const numGroups = levelsArray[levelIndex].length;\n for (let groupIndex = 0; groupIndex < numGroups; groupIndex++) {\n if (isGroupNavigable(levelIndex, groupIndex)) {\n return { groupIndex, levelIndex };\n }\n }\n }\n return { groupIndex: 0, levelIndex: 0 };\n };\n\n const getNextNavGroup = (\n info: ChartGroupInfo,\n arrow: 'ArrowRight' | 'ArrowLeft' | 'ArrowUp' | 'ArrowDown'\n ) => {\n let nextGroup;\n\n if (arrow === 'ArrowRight') {\n if (isHoriz) {\n nextGroup = !isRtl\n ? getChildGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable)\n : getParentGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable);\n } else {\n nextGroup = isRtl\n ? getPreviousGroup(info, isGroupNavigable)\n : getNextGroup(levelsArray, info, isGroupNavigable);\n }\n } else if (arrow === 'ArrowLeft') {\n if (isHoriz) {\n nextGroup = isRtl\n ? getChildGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable)\n : getParentGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable);\n } else {\n nextGroup = isRtl\n ? getNextGroup(levelsArray, info, isGroupNavigable)\n : getPreviousGroup(info, isGroupNavigable);\n }\n } else if (arrow === 'ArrowDown') {\n nextGroup = isHoriz\n ? getNextGroup(levelsArray, info, isGroupNavigable)\n : getParentGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable);\n } else if (arrow === 'ArrowUp') {\n nextGroup = isHoriz\n ? getPreviousGroup(info, isGroupNavigable)\n : getChildGroup(levelsArray, info.levelIndex!, info.groupIndex!, isGroupNavigable);\n }\n return nextGroup || info;\n };\n\n return { getNextNavGroup, getDefaultNavGroup };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ReferenceObjectData, Scale } from '#utils/UNSAFE_visTypes/chart';\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\n\nexport function getRefObjectPosition(object: ReferenceObjectData): number | undefined {\n if (object.type === 'line') {\n return object.value;\n }\n if (object.type === 'area') {\n if (object.low != null && object.high != null) {\n return (object.low + object.high) / 2;\n }\n }\n return undefined;\n}\n\nexport function buildNavigableRefObjects(\n xRefs?: ReferenceObjectData[],\n yRefs?: ReferenceObjectData[],\n y2Refs?: ReferenceObjectData[]\n): { id: string; val: number }[] {\n const normalize = (arr?: ReferenceObjectData[]) =>\n (arr ?? [])\n .map((obj) => ({ id: obj.id, val: getRefObjectPosition(obj) }))\n .filter((obj) => obj.id != null && obj.val != null)\n .sort((a, b) => a.val! - b.val!);\n\n const xList = normalize(xRefs);\n const yList = normalize(yRefs);\n const y2List = normalize(y2Refs);\n\n return [...xList, ...yList, ...y2List] as { id: string; val: number }[];\n}\n\n/**\n * Compute an anchor bounds for a reference object by id. Returns a 1x1 box positioned\n * at a reasonable anchor point for the ref so datatips can use element anchoring.\n */\nexport function getRefObjectBounds(\n id: string,\n xRefs: ReferenceObjectData[] | undefined,\n yRefs: ReferenceObjectData[] | undefined,\n y2Refs: ReferenceObjectData[] | undefined,\n xScale: Scale | undefined,\n yScale: Scale | undefined,\n y2Scale: Scale | undefined,\n orientation: 'horizontal' | 'vertical',\n plotAreaSpace: Dimension\n): Dimension | undefined {\n const ref =\n xRefs?.find((item) => item.id === id) ??\n yRefs?.find((item) => item.id === id) ??\n y2Refs?.find((item) => item.id === id);\n if (!ref) return undefined;\n\n const isInX = xRefs?.some((item) => item.id === id);\n const isInY2 = y2Refs?.some((item) => item.id === id);\n\n const isXRef = !!isInX;\n\n const targetScale = isXRef ? xScale : isInY2 ? y2Scale : yScale;\n const spanningScale = isXRef ? yScale : xScale;\n\n const asPoint = (cx: number, cy: number): Dimension => ({ x: cx, y: cy, width: 1, height: 1 });\n\n if (ref.type === 'line' && ref.value != null) {\n const pos = targetScale?.transform(ref.value);\n const range = spanningScale?.range?.();\n const span1 = range?.[0];\n const span2 = range?.[1];\n if (typeof pos !== 'number' || isNaN(pos) || span1 == null || span2 == null) return undefined;\n\n const mid = (span1 + span2) / 2;\n const isHorizontalLine =\n (orientation === 'vertical' && !isXRef) || (orientation === 'horizontal' && isXRef);\n return isHorizontalLine ? asPoint(mid, pos) : asPoint(pos, mid);\n }\n\n // Constant area (low/high)\n if (ref.type === 'area') {\n const domain = targetScale?.domain?.();\n const domMin = domain ? Math.min(domain[0], domain[1]) : -Infinity;\n const domMax = domain ? Math.max(domain[0], domain[1]) : Infinity;\n\n const clampedLow = ref.low != null ? Math.max(ref.low, domMin) : domMin;\n const clampedHigh = ref.high != null ? Math.min(ref.high, domMax) : domMax;\n\n const pos1 = targetScale?.transform(clampedLow);\n const pos2 = targetScale?.transform(clampedHigh);\n const range = spanningScale?.range?.();\n const span1 = range?.[0];\n const span2 = range?.[1];\n\n if (\n typeof pos1 !== 'number' ||\n typeof pos2 !== 'number' ||\n isNaN(pos1) ||\n isNaN(pos2) ||\n span1 == null ||\n span2 == null\n ) {\n return undefined;\n }\n\n const midSpan = (span1 + span2) / 2;\n const midPos = (pos1 + pos2) / 2;\n const isHorizontalArea =\n (orientation === 'vertical' && !isXRef) || (orientation === 'horizontal' && isXRef);\n return isHorizontalArea ? asPoint(midSpan, midPos) : asPoint(midPos, midSpan);\n }\n\n const centerX = plotAreaSpace.x + plotAreaSpace.width / 2;\n const centerY = plotAreaSpace.y + plotAreaSpace.height / 2;\n return asPoint(centerX, centerY);\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\nimport { calculateOffset } from '#utils/PRIVATE_visLayoutUtils/layoutUtils';\nimport { useTooltip } from '#hooks/UNSAFE_useTooltip';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { useEffect, useRef, useState } from 'preact/hooks';\n\ntype Props = {\n getTextAndBounds: (target: EventTarget | null) =>\n | {\n text?: string;\n bounds?: Dimension;\n }\n | undefined;\n isRtl: boolean;\n width: number;\n textAndBounds: {\n text?: string;\n bounds?: Dimension;\n };\n};\n\nexport function useTextTruncation({ getTextAndBounds, width, isRtl, textAndBounds }: Props) {\n const [text, setText] = useState<string>();\n const bounds = useRef<Dimension>();\n\n const hoveredRef = useRef(false);\n\n useEffect(() => {\n if (textAndBounds.text) {\n bounds.current = textAndBounds.bounds;\n setText(textAndBounds.text);\n } else if (!hoveredRef.current) {\n setText(undefined);\n }\n }, [textAndBounds]);\n\n const { tooltipContent, tooltipProps } = useTooltip({\n text,\n position: 'top-start',\n offset: calculateOffset(isRtl, width, bounds.current)\n });\n\n const onPointerMove = (event: Event) => {\n const textAndBounds = getTextAndBounds(event.target);\n\n if (textAndBounds) {\n bounds.current = textAndBounds.bounds;\n setText(textAndBounds.text);\n hoveredRef.current = true;\n } else {\n setText(undefined);\n hoveredRef.current = false;\n }\n };\n\n return {\n tooltipContent,\n tooltipProps: mergeProps({ onPointerMove }, tooltipProps)\n };\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ScaleLinear } from '#utils/PRIVATE_chartUtils';\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\n\nexport function getWindowCoords(\n isRtl: boolean,\n xViewportExtent: { viewportMin: number; viewportMax: number },\n xAxisExtent: { min: number; max: number },\n yViewportExtent: { viewportMin: number; viewportMax: number },\n yAxisExtent: { min: number; max: number },\n plotAreaSpace: Dimension\n) {\n const xDomain = [xAxisExtent.min, xAxisExtent.max] as [number, number];\n const xRange = (\n isRtl\n ? [plotAreaSpace.x + plotAreaSpace.width, plotAreaSpace.x]\n : [plotAreaSpace.x, plotAreaSpace.x + plotAreaSpace.width]\n ) as [number, number];\n const xScale = new ScaleLinear(xDomain, xRange);\n\n const yDomain = [yAxisExtent.min, yAxisExtent.max] as [number, number];\n const yRange = [plotAreaSpace.y + plotAreaSpace.height, plotAreaSpace.y] as [number, number];\n\n const yScale = new ScaleLinear(yDomain, yRange);\n\n const windowX = xScale.transform(xViewportExtent.viewportMin);\n const windowWidth = Math.abs(\n xScale.transform(xViewportExtent.viewportMax) - xScale.transform(xViewportExtent.viewportMin)\n );\n\n return {\n windowX: isRtl ? windowX - windowWidth : windowX,\n windowWidth: windowWidth,\n windowY: yScale.transform(yViewportExtent.viewportMax),\n windowHeight: Math.abs(\n yScale.transform(yViewportExtent.viewportMax) - yScale.transform(yViewportExtent.viewportMin)\n ),\n xScale,\n yScale\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 { OverviewProps } from './overview.types';\nimport { styles } from './themes/VisOverview.css';\n\nexport function OverviewBackground({\n x,\n width,\n height,\n y,\n windowX,\n windowHeight,\n windowWidth,\n windowY\n}: OverviewProps) {\n return (\n <>\n <rect\n x={x}\n y={y}\n width={Math.max(0, windowX - x)}\n height={height}\n class={styles.overviewBackground}></rect>\n\n <rect\n x={windowX + windowWidth}\n width={Math.max(0, x + width - windowX - windowWidth)}\n y={y}\n height={height}\n class={styles.overviewBackground}></rect>\n\n <rect\n x={windowX}\n y={y}\n height={Math.max(0, windowY - y)}\n width={windowWidth}\n class={styles.overviewBackground}></rect>\n\n <rect\n x={windowX}\n y={windowY + windowHeight}\n width={windowWidth}\n class={styles.overviewBackground}\n height={Math.max(y + height - windowY - windowHeight, 0)}></rect>\n </>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { OverviewSlidingWindow } from '#PRIVATE_VisOverview';\nimport { OverviewBackground } from '#PRIVATE_VisOverview/OverviewBackground';\nimport { updateViewportFromOverview } from '#utils/PRIVATE_chartUtils/overviewUtils';\nimport { Scale } from '#utils/UNSAFE_visTypes/chart';\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\n\nexport function getRenderer(\n xAxisExtent: { min: number; max: number },\n isRtl: boolean,\n overviewXScale: Scale,\n plotAreaSpace: Dimension,\n windowCoords: { windowX: number; windowY: number; windowHeight: number; windowWidth: number },\n hasHandles: boolean,\n onViewportChange?: (detail: {\n xMin?: number;\n xMax?: number;\n yMin?: number;\n yMax?: number;\n }) => void\n) {\n return {\n slidingWindow: (\n <OverviewSlidingWindow\n {...plotAreaSpace}\n {...windowCoords}\n hasHandles={hasHandles}\n onWindowDimsChange={(props: { deltaX: number; deltaWidth: number }) => {\n updateViewportFromOverview(\n xAxisExtent,\n isRtl,\n windowCoords.windowX,\n windowCoords.windowWidth,\n props.deltaX,\n props.deltaWidth,\n overviewXScale,\n onViewportChange\n );\n }}\n />\n ),\n background: <OverviewBackground {...plotAreaSpace} {...windowCoords} />\n };\n}\n","import { Info, ReferenceObjectData } from '../utils/UNSAFE_visTypes/chart';\nimport { Group, Scale } from '../utils/UNSAFE_visTypes/chart';\nimport { ReferenceLineArea } from './ReferenceLineArea';\n\n// Main renderer component\nexport function ReferenceObjects({\n location,\n xAxis,\n yAxis,\n y2Axis,\n xScale,\n yScale,\n y2Scale,\n orientation,\n xAxisInfo,\n groups,\n activeId,\n activeInfo\n}: {\n location: 'front' | 'back';\n xAxis?: { referenceObjects?: ReferenceObjectData[] };\n yAxis?: { referenceObjects?: ReferenceObjectData[] };\n y2Axis?: { referenceObjects?: ReferenceObjectData[] };\n xScale: Scale;\n yScale: Scale;\n y2Scale: Scale;\n orientation: string;\n xAxisInfo: { startIndex: number; endIndex: number };\n groups: Group[];\n activeId?: string;\n activeInfo?: Info;\n}) {\n const filterFunc = (item: ReferenceObjectData) =>\n location === 'front' ? item.location === 'front' : item.location !== 'front';\n\n return (\n <>\n {xAxis?.referenceObjects\n ?.filter(filterFunc)\n .map((item, index) => (\n <ReferenceLineArea\n {...item}\n key={item.id}\n xScale={xScale}\n yScale={yScale}\n orientation={orientation as 'horizontal' | 'vertical'}\n groups={groups}\n xStartIndex={xAxisInfo.startIndex}\n xEndIndex={xAxisInfo.endIndex}\n seriesIndex={index}\n isXRef={true}\n activeId={item.id === activeInfo?.refObjId ? activeId : undefined}\n />\n ))}\n\n {yAxis?.referenceObjects\n ?.filter(filterFunc)\n .map((item, index) => (\n <ReferenceLineArea\n {...item}\n xScale={xScale}\n yScale={yScale}\n orientation={orientation as 'horizontal' | 'vertical'}\n groups={groups}\n xStartIndex={xAxisInfo.startIndex}\n xEndIndex={xAxisInfo.endIndex}\n seriesIndex={index}\n activeId={item.id === activeInfo?.refObjId ? activeId : undefined}\n />\n ))}\n\n {y2Axis?.referenceObjects\n ?.filter(filterFunc)\n .map((item, index) => (\n <ReferenceLineArea\n {...item}\n xScale={xScale}\n yScale={y2Scale}\n orientation={orientation as 'horizontal' | 'vertical'}\n groups={groups}\n xStartIndex={xAxisInfo.startIndex}\n xEndIndex={xAxisInfo.endIndex}\n seriesIndex={index}\n activeId={item.id === activeInfo?.refObjId ? activeId : undefined}\n />\n ))}\n </>\n );\n}\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { VisInvalidDataError } from '#UNSAFE_visErrors';\nimport { useTextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { useCssVars } from '#hooks/PRIVATE_useCssVars/useCssVars';\nimport { styles } from './themes/ChartStyles.css';\nimport { useMemo, useRef, useState, useImperativeHandle } from 'preact/hooks';\nimport { PlotArea } from '#PRIVATE_PlotArea';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { Axis } from '#PRIVATE_Axis/Axis';\nimport { useChartViewport } from '#hooks/PRIVATE_useChartViewport';\nimport {\n getAvailSpace,\n getLayoutInfo,\n getOuterGaps,\n getScrollBarSpace,\n updateScrollBarSpace\n} from '#utils/PRIVATE_chartUtils/layoutUtils';\nimport {\n GroupAxisProps,\n DataAxisProps,\n TimeAxisProps,\n SizeHandle,\n Info\n} from '#utils/UNSAFE_visTypes/chart';\nimport { useChartNav } from '#hooks/PRIVATE_useChartNav/useChartNav';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { getAxesPosition } from '#PRIVATE_Axis/utils/axisUtils';\nimport { ScrollBar } from '#PRIVATE_ChartScrollBar';\nimport { useSelectDrill } from '#hooks/PRIVATE_useChartEvents/useSelectDrill';\nimport { useChartDatatipAndCursor } from '#hooks/PRIVATE_useChartEvents/useDatatipAndCursor';\nimport { getGroupNavUtil } from '#PRIVATE_Axis/utils/axisNavUtils';\nimport { Gridlines } from '#PRIVATE_PlotArea/Gridlines';\nimport {\n buildNavigableRefObjects,\n getRefObjectBounds as computeRefObjectBounds\n} from '#utils/PRIVATE_chartUtils/refObjectsNavUtils';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { useTestId } from '#hooks/UNSAFE_useTestId';\nimport { getChartVars } from '#utils/PRIVATE_chartUtils';\nimport { useChartContextMenu } from '#hooks/PRIVATE_useChartContextMenu';\nimport { useChartDnd } from '#hooks/PRIVATE_useChartDnd';\nimport { getElementData } from '#utils/UNSAFE_visUtils';\nimport { useTextTruncation } from '#PRIVATE_VisSVGText/useTextTruncation';\nimport { useChartMarquee } from '#hooks/PRIVATE_useChartMarquee';\nimport { ChartProps } from './Chart';\nimport type { gestureTypes } from '#hooks/PRIVATE_useVisContextMenu';\nimport { useVisTouchResponse } from '#hooks/PRIVATE_useVisTouchResponse';\nimport { LineAreaItem } from '#UNSAFE_LineAreaChart/lineAreaChart.types';\nimport { ScatterItem } from '#UNSAFE_ScatterChart/scatterChart.types';\nimport { BarItemData } from '#UNSAFE_BarChart/barChart.types';\nimport { OverviewContext } from '#hooks/PRIVATE_useOverviewContext';\nimport { getWindowCoords } from '#PRIVATE_VisOverview/utils';\nimport { Dimension } from '#utils/UNSAFE_visTypes/common';\nimport { getRenderer } from './overviewUtils';\nimport { ComponentChildren, Ref, VNode } from 'preact';\nimport { forwardRef } from 'preact/compat';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport {\n getAriaLabelGenerator,\n getTextAndBoundsUtil,\n getTextAndDimsInfo\n} from '#utils/PRIVATE_chartUtils/dataTipUtils';\nimport { hasData, hasInvalidData } from '#utils/PRIVATE_chartUtils/dataUtils';\nimport { ReferenceObjects } from '#PRIVATE_PlotArea/ReferenceObjects';\nimport { getActiveInfo } from '#utils/PRIVATE_chartUtils/utils';\nimport { merge } from '#utils/UNSAFE_stringUtils';\n\ntype ChartWithDimensionsProps<K, D> = Omit<ChartProps<K, D>, 'width' | 'height'> & {\n width: number;\n height: number;\n overviewRenderer: (props: Dimension) => {\n background: ComponentChildren;\n slidingWindow: ComponentChildren;\n };\n yAxisSize: number;\n isOverview: boolean;\n};\n\nconst OVERVIEW_GAP = 10;\n\nconst chartVars = getChartVars();\n\ntype ForwardRefChart = <\n K extends string | number,\n D extends LineAreaItem<K> | ScatterItem<K> | BarItemData<K>\n>(\n props: ChartWithDimensionsProps<K, D> & {\n ref?: Ref<SizeHandle>;\n }\n) => VNode | null;\n\nexport const ChartWithDimensions = forwardRef(\n <K extends string | number, D extends LineAreaItem<K> | ScatterItem<K> | BarItemData<K>>(\n {\n width,\n height,\n selectedIds,\n hiddenIds,\n hideAndShowBehavior = 'none',\n orientation = 'vertical',\n xAxis,\n yAxis,\n y2Axis,\n plotArea,\n dragMode = 'user',\n series,\n groups,\n isStacked = false,\n stackLabelStyle,\n getStackGroup,\n getDataItem,\n selectionMode = 'none',\n drilling = 'off',\n dataCursorPosition,\n onSelectionChange,\n isDataCursorEnabled,\n dataCursorStyle,\n onViewportChange,\n onDataCursorPositionChange,\n onItemDrill,\n onGroupDrill,\n onItemHover,\n onItemFocus,\n datatip,\n zoomAndScroll = 'off',\n getNavUtil,\n getDataItemPos,\n getGapRatio,\n valueFormats,\n findNearest,\n getMarkerInfo,\n isRtl,\n children,\n testId,\n renderGridLinesInFront,\n isDataXAxis,\n contextMenuConfig,\n overview = 'off',\n getStartAndEndAxesOffset,\n defaultOverviewContentRenderer,\n isOverview,\n yAxisSize,\n overviewRenderer,\n initialZooming = 'none',\n ...props\n }: ChartWithDimensionsProps<K, D>,\n ref: Ref<SizeHandle> = null\n ) => {\n const timeAxisType = (xAxis as TimeAxisProps)?.timeAxisType;\n const isTimeAxis = timeAxisType != null;\n if (hasInvalidData(timeAxisType, series, groups, getDataItem)) {\n throw new VisInvalidDataError('Chart received invalid data');\n }\n\n const testIdProps = useTestId(testId);\n const rootRef = useRef<HTMLDivElement>(null);\n const isTestEnv = testIdProps['data-testid'] !== undefined;\n const isHoriz = orientation === 'horizontal';\n const { xAxisPosition, yAxisPosition, y2AxisPosition } = getAxesPosition(\n yAxis,\n y2Axis,\n isHoriz,\n isRtl\n );\n const { resolvedVars, cssContent } = useCssVars(chartVars);\n const resolvedColors = Array.from(Array(12)).map((_, index) => {\n return resolvedVars[`color${index + 1}`];\n });\n const { textMeasureContent, getTextDimensions } = useTextDimensions();\n let availSpace = getAvailSpace(width, height);\n\n if (isOverview && yAxisSize) {\n const w = availSpace.width - yAxisSize;\n const gaps = getOuterGaps(w, height);\n availSpace.width -= yAxisSize - 2 * gaps.width;\n availSpace.x += yAxisSize - gaps.width;\n }\n\n const updatedSpace = getScrollBarSpace(\n isTimeAxis,\n availSpace,\n zoomAndScroll,\n xAxisPosition,\n overview\n );\n let scrollDims = updatedSpace.scrollDims;\n availSpace = updatedSpace.availSpace;\n const { locale } = useUser();\n const { x, y, width: _width, height: _height } = availSpace;\n const labelFontSize = resolvedVars['labelFontSize'];\n\n const split = y2Axis?.split ?? 'off';\n const isSplitDualY = split !== 'off';\n const splitterPosition = split !== 'off' ? split : 0.5;\n\n const layoutInfo = useMemo(() => {\n const hiddenSet = new Set(hiddenIds);\n return getLayoutInfo<K, D>(\n series,\n groups,\n getDataItem,\n xAxis,\n yAxis,\n y2Axis,\n { x, y, width: _width, height: _height }, // availSpace\n hiddenSet,\n hideAndShowBehavior,\n isHoriz,\n isRtl,\n isStacked,\n labelFontSize,\n getStartAndEndAxesOffset,\n locale,\n isSplitDualY,\n splitterPosition,\n getStackGroup,\n getTextDimensions,\n isTestEnv,\n isDataXAxis,\n initialZooming,\n zoomAndScroll\n );\n }, [\n x,\n y,\n _width,\n _height,\n getDataItem,\n getTextDimensions,\n groups,\n hiddenIds,\n hideAndShowBehavior,\n isDataXAxis,\n isHoriz,\n isRtl,\n isStacked,\n isTestEnv,\n locale,\n getStartAndEndAxesOffset,\n labelFontSize,\n series,\n xAxis,\n yAxis,\n y2Axis,\n splitterPosition,\n isSplitDualY,\n getStackGroup,\n initialZooming,\n zoomAndScroll\n ]);\n\n const {\n getGroupFromPath,\n levelsArray,\n xAxisInfo,\n xProps,\n xScale,\n yProps,\n y2Props,\n yScale,\n y2Scale,\n yMaxDim,\n yAxisInfo,\n plotAreaSpace,\n xSpace,\n ySpace,\n y2Space,\n idToDataMap,\n y2AxisInfo,\n getYPreferredSize,\n getY2PreferredSize,\n getXPreferredSize\n } = layoutInfo;\n\n useImperativeHandle(ref!, () => ({\n _getYaxis: () => {\n return { getPreferredSize: getYPreferredSize, bounds: ySpace };\n },\n _getY2axis: () => {\n return { getPreferredSize: getY2PreferredSize, bounds: y2Space };\n },\n _getXaxis: () => {\n return { getPreferredSize: getXPreferredSize, bounds: xSpace };\n }\n }));\n\n const leafGroupsInfo = levelsArray.length > 0 ? levelsArray[levelsArray.length - 1] : [];\n\n scrollDims = updateScrollBarSpace(scrollDims, xAxisPosition === 'bottom', isRtl, yMaxDim);\n\n const gapRatio = getGapRatio(xAxisInfo.startIndex!, xAxisInfo.endIndex!);\n\n const getNextChartItem = getNavUtil(xAxisInfo.startIndex!, xAxisInfo.endIndex!);\n\n const { getNextNavGroup, getDefaultNavGroup } = getGroupNavUtil(\n levelsArray,\n drilling,\n isRtl,\n isHoriz,\n xProps.isGroupLabelRendered\n );\n\n const navigableRefObjects = useMemo(\n () =>\n buildNavigableRefObjects(\n xAxis?.referenceObjects,\n yAxis?.referenceObjects,\n y2Axis?.referenceObjects\n ),\n [xAxis?.referenceObjects, yAxis?.referenceObjects, y2Axis?.referenceObjects]\n );\n\n const getNextRefObject = (\n info: Info,\n arrow: 'ArrowLeft' | 'ArrowRight' | 'ArrowDown' | 'ArrowUp'\n ): Info => {\n const list = navigableRefObjects;\n if (!list || list.length === 0) {\n return {};\n }\n const dir = arrow === 'ArrowLeft' || arrow === 'ArrowUp' ? -1 : 1;\n\n const idx =\n info.refObjId != null\n ? list.findIndex((o) => o.id === info.refObjId)\n : dir > 0\n ? -1\n : list.length;\n\n // Move one step in the desired direction. Clamp at the ends.\n let nextIdx = idx + dir;\n if (nextIdx < 0) nextIdx = 0;\n if (nextIdx >= list.length) nextIdx = list.length - 1;\n\n return { refObjId: list[nextIdx].id };\n };\n\n const {\n ignoreSelectPointerUp,\n cursor,\n yAxisCursor,\n marqueeProps,\n marqueeContent,\n toggleButtonContent,\n isPointInsideMarquee,\n dragMode: mode\n } = useChartMarquee<K, D>({\n rootRef,\n plotAreaSpace,\n xSpace,\n ySpace,\n dragMode,\n chartWidth: width,\n isMultiSelection: selectionMode === 'multiple',\n onViewportChange,\n isZoomScroll: zoomAndScroll === 'live',\n xScale,\n selectedIds,\n getDataById: (id) => idToDataMap.get(id),\n onSelectionChange,\n isRtl,\n xAxisInfo\n });\n\n const { touchResponse, touchResponseStyle } = useVisTouchResponse({\n type: 'auto',\n supportsTouchDragGestures: mode !== 'off',\n rootRef\n });\n\n const {\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n focusedGroupInfo,\n navProps,\n onFocusUpdate\n } = useChartNav({\n rootRef,\n getNextChartItem,\n getNextRefObject,\n getNextNavGroup,\n getDefaultNavGroup,\n touchResponse,\n onItemHover,\n onItemFocus,\n drilling,\n xAxisInfo\n });\n\n const onContextMenuDismissed = (gesture: gestureTypes) => {\n if (gesture === 'keyboard') {\n onFocusUpdate();\n }\n };\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n\n const getTextAndBounds = (target: EventTarget | null) => {\n return getTextAndBoundsUtil(\n target,\n rootRef,\n xAxis?.title,\n yAxis?.title,\n y2Axis?.title,\n xProps.titleProps?.dims,\n yProps.titleProps?.dims,\n y2Props.titleProps?.dims,\n xProps.tickLabels,\n focusedGroupInfo\n );\n };\n\n const dimsAndTextInfo = getTextAndDimsInfo(\n xProps.tickLabels,\n focusedGroupInfo.groupIndex,\n focusedGroupInfo.levelIndex\n );\n const { tooltipContent, tooltipProps } = useTextTruncation({\n getTextAndBounds,\n width,\n isRtl,\n textAndBounds: {\n bounds: dimsAndTextInfo?.dims,\n text: dimsAndTextInfo?.text\n }\n });\n\n const viewportProps = useChartViewport({\n rootRef,\n width,\n height,\n xAxisInfo,\n yAxisInfo,\n y2AxisInfo,\n xScale,\n yScale,\n y2Scale,\n plotAreaSpace,\n isRtl,\n isHoriz,\n zoomAndScroll,\n onViewportChange\n });\n\n const ignoreAsTrigger = (target: EventTarget | null) => {\n if (!target) {\n return false;\n }\n\n const dataset = getElementData(rootRef, target as HTMLElement);\n if (\n (dataset &&\n (dataset['ojPrivateObject'] === 'marquee' ||\n dataset['ojPrivateObject'] === 'dragModeControls' ||\n dataset['ojPrivateObject'] === 'scrollBar')) ||\n ignoreSelectPointerUp\n ) {\n return true;\n }\n\n return false;\n };\n\n const { selectDrillProps, selectionContent } = useSelectDrill<K, D>({\n selectionMode,\n selection: [...selectedIds],\n onChange: onSelectionChange,\n rootRef,\n drilling,\n onItemDrill,\n onGroupDrill,\n focusedGroupInfo,\n focusedItemInfo,\n levelsArray,\n getDataItem,\n getDataById: (id) => idToDataMap.get(id),\n ignoreAsTrigger\n });\n\n const findNearestData = findNearest(\n xScale as any,\n yScale,\n y2Scale,\n xProps.axisStepWidth!,\n xProps.averageGroupZ!,\n gapRatio\n );\n const getDataItemPosition = getDataItemPos(\n xScale as any,\n yScale,\n y2Scale,\n xProps.axisStepWidth!,\n xProps.averageGroupZ!,\n gapRatio\n );\n const [datatipDisabled, setDatatipDisabled] = useState(false);\n\n const getItemAriaLabel = getAriaLabelGenerator(\n series,\n translations,\n valueFormats,\n leafGroupsInfo,\n xAxis,\n !!isDataXAxis,\n getGroupFromPath,\n xProps.defaultLabelFormatter,\n yProps.defaultLabelFormatter,\n y2Props.defaultLabelFormatter\n );\n\n const getRefItem = (id: number | string) => {\n return (\n xAxis?.referenceObjects?.find((item) => item.id === id) ??\n yAxis?.referenceObjects?.find((item) => item.id === id) ??\n y2Axis?.referenceObjects?.find((item) => item.id === id)\n );\n };\n\n const getRefObjectBounds = (id: string): Dimension | undefined => {\n return computeRefObjectBounds(\n id,\n xAxis?.referenceObjects,\n yAxis?.referenceObjects,\n y2Axis?.referenceObjects,\n xScale as any,\n yScale,\n y2Scale,\n orientation as 'horizontal' | 'vertical',\n plotAreaSpace\n );\n };\n\n const getRefAxis = (id: string): 'x' | 'y' | 'y2' | undefined => {\n if (xAxis?.referenceObjects?.some((item) => item.id === id)) return 'x';\n if (yAxis?.referenceObjects?.some((item) => item.id === id)) return 'y';\n if (y2Axis?.referenceObjects?.some((item) => item.id === id)) return 'y2';\n return undefined;\n };\n\n const {\n datatipContent,\n dataCursorContent,\n datatipProps: { 'aria-describedby': datatipAriaDescribedby, ...datatipProps }\n } = useChartDatatipAndCursor<K, D>({\n series,\n leafGroupsInfo,\n width,\n height,\n findNearest: findNearestData,\n plotAreaSpace,\n onDataCursorPositionChange,\n isDataCursorEnabled,\n dataCursorPosition,\n dataCursorStyle,\n hoveredItemInfo,\n focusedItemInfo,\n getDataItem,\n getRefItem,\n getRefObjectBounds,\n getRefAxis,\n getMarkerInfo,\n getDataItemPos: getDataItemPosition,\n datatip,\n valueFormats,\n isHoriz,\n touchResponse,\n isDisabled: datatipDisabled,\n xScale: xScale as any,\n yScale,\n y2Scale,\n timeAxisType,\n defaultXFormatter: xProps.defaultLabelFormatter,\n defaultYFormatter: yProps.defaultLabelFormatter,\n defaultY2Formatter: y2Props.defaultLabelFormatter,\n hasXYValues: isDataXAxis,\n getGroupFromPath,\n translations\n });\n\n const isGroupInteractive = (index: number) => {\n if (isTimeAxis) {\n return false;\n }\n const groupDrill = groups[index]?.drilling;\n if (groupDrill === 'on') {\n return true;\n }\n\n if (groupDrill != 'off' && (drilling === 'on' || drilling === 'groupsOnly')) {\n return true;\n }\n return false;\n };\n\n const plotAreaClipPathId = useId();\n\n // const { yTicks, y2Ticks } = getYY2Ticks(yAxisInfo.ticks, y2AxisInfo.ticks, isHoriz, isSplitDualY);\n const gridLines = (\n <Gridlines\n plotArea={plotArea}\n availSpace={plotAreaSpace}\n xAxisPosition={xAxisPosition}\n isRtl={isRtl}\n yMinorTicks={yAxisInfo.minorTicks}\n xMinorTicks={xAxisInfo.minorTicks}\n xScale={xScale}\n yScale={yScale}\n y2Scale={y2Scale}\n isLog={yAxis?.scale === 'log'}\n yAxisPosition={yAxisPosition}\n isDataXAxis={isDataXAxis}\n xAxis={xAxis as DataAxisProps}\n yAxis={yAxis}\n y2Axis={y2Axis}\n hasAxisLine={!isOverview}\n y2MinorTicks={y2AxisInfo?.minorTicks}\n y2Ticks={y2AxisInfo.ticks}\n yTicks={yAxisInfo.ticks}\n xTicks={xAxisInfo.ticks}\n isSplitDualY={isSplitDualY}\n />\n );\n\n const { contextMenuContent, contextMenuProps } = useChartContextMenu<K, D>({\n isRtl,\n width,\n height,\n getDataItemPosition,\n series,\n levelsArray,\n focusedGroupInfo,\n getDataItem,\n focusedItemInfo,\n rootRef,\n xAxisTitle: xAxis?.title,\n yAxisTitle: yAxis?.title,\n contextMenuConfig: hasData(series, groups) ? contextMenuConfig : undefined,\n onContextMenuDismissed\n });\n\n const [dragOver, setDragOver] = useState<{ accepted: boolean | undefined; type: string }>({\n accepted: undefined,\n type: ''\n });\n\n const { draggable, dndProps, dndContent } = useChartDnd<K, D>({\n onDrag: props.onDrag,\n onDragStart: props.onDragStart,\n onDragEnd: props.onDragEnd,\n onDragEnter: props.onDragEnter,\n onDragLeave: props.onDragLeave,\n onDragOver: props.onDragOver,\n onDrop: props.onDrop,\n itemsDraggable: props.itemsDraggable,\n groupDraggable: props.groupDraggable,\n rootRef,\n levelsArray,\n series,\n selectedIds,\n getDataItem,\n xSpace,\n ySpace,\n plotAreaSpace,\n setDragOver,\n setDatatipDisabled,\n onSelectionChange\n });\n\n const eventsProps = mergeProps(\n navProps,\n selectDrillProps,\n viewportProps,\n datatipProps,\n marqueeProps,\n tooltipProps,\n contextMenuProps,\n dndProps\n );\n\n const overviewContentRenderer =\n overview != 'off' && (overview === 'on' || !overview.renderer)\n ? defaultOverviewContentRenderer\n : undefined;\n\n const { background, slidingWindow } = overviewRenderer(plotAreaSpace);\n\n const isActiveInfoRef = focusedItemInfo.refObjId != null && focusedItemInfo.isFocusVisible;\n const activeInfo = getActiveInfo(focusedItemInfo, hoveredItemInfo);\n return (\n <>\n {getTextDimensions && resolvedVars['labelFontSize'] != undefined && (\n <div\n tabIndex={isOverview ? undefined : 0}\n draggable={draggable}\n ref={rootRef}\n aria-activedescendant={activeId}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n aria-describedby={merge([props['aria-describedby'], datatipAriaDescribedby])}\n style={{ ...touchResponseStyle }}\n role={isOverview ? undefined : 'application'}\n className={styles.baseChartStyle}\n data-oj-private-selection-mode={isTestEnv ? selectionMode : undefined}\n {...testIdProps}\n {...(isOverview ? {} : eventsProps)}>\n <svg\n width=\"100%\"\n height={\n scrollDims.height != 0 && overview != 'off'\n ? `${Math.ceil((updatedSpace.availSpace.height + OVERVIEW_GAP) * 100) / height}%`\n : '100%'\n }>\n <clipPath id={`${plotAreaClipPathId}`}>\n <rect {...plotAreaSpace}></rect>\n </clipPath>\n {background}\n <PlotArea\n color={plotArea?.color}\n dragOverStyle={\n dragOver.type !== 'plotArea' ? 'none' : dragOver.accepted ? 'accept' : 'reject'\n }\n cursor={cursor}\n availSpace={plotAreaSpace}\n />\n {!renderGridLinesInFront && gridLines}\n <Axis\n {...(yProps as any)}\n axisPosition={yAxisPosition}\n isRtl={isRtl}\n cursor={yAxisCursor}\n availSpace={ySpace}\n dragOverStyle={\n dragOver.type !== 'yAxis' ? 'none' : dragOver.accepted ? 'accept' : 'reject'\n }\n />\n <Axis\n {...(y2Props as any)}\n axisPosition={y2AxisPosition}\n isRtl={isRtl}\n cursor={yAxisCursor}\n availSpace={y2Space}\n dragOverStyle={\n dragOver.type !== 'y2Axis' ? 'none' : dragOver.accepted ? 'accept' : 'reject'\n }\n />\n <Axis\n {...xProps}\n isRtl={isRtl}\n axisPosition={xAxisPosition}\n isTextInteractive={isGroupInteractive}\n activeId={activeId}\n cursor={cursor}\n focusedGroupIndex={\n focusedGroupInfo.isFocusVisible ? focusedGroupInfo.groupIndex : undefined\n }\n focusedGroupLevelIndex={\n focusedGroupInfo.isFocusVisible ? focusedGroupInfo.levelIndex : undefined\n }\n availSpace={xSpace}\n dragOverStyle={\n dragOver.type !== 'xAxis' ? 'none' : dragOver.accepted ? 'accept' : 'reject'\n }\n separatorColor={(xAxis as GroupAxisProps)?.groupSeparators?.color}\n />\n <g clip-path={`url(#${plotAreaClipPathId})`}>\n <ReferenceObjects\n location=\"back\"\n activeId={isActiveInfoRef ? activeId : undefined}\n activeInfo={activeInfo}\n xAxis={xAxis}\n yAxis={yAxis}\n y2Axis={y2Axis}\n xScale={xScale}\n yScale={yScale}\n y2Scale={y2Scale}\n orientation={orientation}\n xAxisInfo={xAxisInfo}\n groups={groups}\n />\n {children({\n xStartIndex: xAxisInfo.startIndex!,\n xEndIndex: xAxisInfo.endIndex!,\n getItemAriaLabel,\n groupsInfo: leafGroupsInfo,\n resolvedColors,\n xScale: xScale as any,\n yScale,\n y2Scale,\n isPointInsideMarquee,\n defaultFontSize: resolvedVars['labelFontSize'],\n gapRatio,\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n getTextDimensions,\n axisStepWidth: xProps.axisStepWidth!,\n averageGroupZ: xProps.averageGroupZ!,\n plotAreaClipPathId\n })}\n {renderGridLinesInFront && gridLines}\n <ReferenceObjects\n location=\"front\"\n xAxis={xAxis}\n yAxis={yAxis}\n y2Axis={y2Axis}\n activeId={activeId}\n activeInfo={activeInfo}\n xScale={xScale}\n yScale={yScale}\n y2Scale={y2Scale}\n orientation={orientation}\n xAxisInfo={xAxisInfo}\n groups={groups}\n />\n {dataCursorContent}\n </g>\n {slidingWindow}\n {zoomAndScroll === 'live' && !isOverview && (\n <ScrollBar\n availSpace={scrollDims}\n isRtl={isRtl}\n viewport={xAxisInfo}\n axisExtent={xAxisInfo}\n isHoriz={xAxisPosition === 'bottom'}\n />\n )}\n {marqueeContent}\n </svg>\n <OverviewContext.Provider\n value={{\n yAxisSize: ySpace.width,\n isOverview: true,\n width,\n height: scrollDims.height,\n overviewRenderer: (overviewChartPlotArea: Dimension) => {\n const { xScale: overviewXScale, ...windowCoords } = getWindowCoords(\n isRtl,\n xAxisInfo,\n xAxisInfo,\n yAxisInfo,\n yAxisInfo,\n overviewChartPlotArea\n );\n return getRenderer(\n xAxisInfo,\n isRtl,\n overviewXScale,\n overviewChartPlotArea,\n windowCoords,\n true,\n onViewportChange\n );\n }\n }}>\n {!isOverview && overview !== 'off' && overviewContentRenderer && (\n <div style={{ width, height: scrollDims.height }}>{overviewContentRenderer()}</div>\n )}\n </OverviewContext.Provider>\n {toggleButtonContent}\n {datatipContent}\n {tooltipContent}\n {contextMenuContent}\n {selectionContent}\n {dndContent}\n </div>\n )}\n {textMeasureContent}\n {cssContent}\n </>\n );\n }\n) as ForwardRefChart;\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { dimensionStyle } from './themes/ChartStyles.css';\nimport { TrackResizeContainer } from '#UNSAFE_TrackResizeContainer';\nimport { ChartWithDimensions } from './ChartWithDimensions';\nimport {\n ChartCommonProps,\n ChartSeriesData,\n GetNextChartItemType,\n Info,\n Scale,\n getDataPosType,\n SizeHandle\n} from '#utils/UNSAFE_visTypes/chart';\nimport { Dimension, MarkerShapes, VisTextStyle } from '#utils/UNSAFE_visTypes/common';\nimport { ComponentChildren, Ref, VNode } from 'preact';\nimport { Property } from 'csstype';\nimport { LineAreaItem } from '#UNSAFE_LineAreaChart/lineAreaChart.types';\nimport { ScatterItem } from '#UNSAFE_ScatterChart/scatterChart.types';\nimport { BarItemData } from '#UNSAFE_BarChart/barChart.types';\nimport { useOverviewContext } from '#hooks/PRIVATE_useOverviewContext';\nimport { GroupLevelItem } from '#PRIVATE_Axis/groupAxis/hierarchicalUtils';\nimport { forwardRef } from 'preact/compat';\n\nexport type ChartProps<K, D> = {\n selectedIds: Set<K>;\n getGapRatio: (startIndex: number, endIndex: number) => number;\n getNavUtil: (startIndex: number, endIndex: number) => GetNextChartItemType;\n getDataItemPos: (\n xScale: Scale,\n yScale: Scale,\n y2Scale: Scale,\n axisStepWidth: number,\n averageGroupZ: number,\n gapRatio: number\n ) => getDataPosType;\n findNearest: (\n xScale: Scale,\n yScale: Scale,\n y2Scale: Scale,\n axisStepWidth: number,\n averageGroupZ: number,\n gapRatio: number\n ) => (\n x: number,\n y?: number,\n y2?: number\n ) =>\n | {\n seriesIndex: number;\n groupIndex: number;\n y: number | undefined;\n y2: number | undefined;\n x: number;\n }\n | undefined;\n children: (context: {\n getItemAriaLabel: (\n data: D,\n seriesIndex: number,\n groupIndex: number,\n isSelectionEnabled: boolean,\n isSelected: boolean,\n isDrillable: boolean\n ) => string;\n xStartIndex: number;\n xEndIndex: number;\n xScale: Scale;\n yScale: Scale;\n y2Scale: Scale;\n gapRatio: number;\n activeId?: string;\n focusedItemInfo: Info;\n hoveredItemInfo?: Info;\n axisStepWidth: number;\n averageGroupZ: number;\n isPointInsideMarquee: ((id: K, point: { x: number; y: number }) => boolean) | undefined;\n getTextDimensions?: (text: string, style: Record<string, any>) => Dimension;\n defaultFontSize: string;\n resolvedColors: string[];\n groupsInfo: GroupLevelItem[];\n plotAreaClipPathId: string;\n }) => ComponentChildren;\n getStartAndEndAxesOffset: (groupCount: number) => { startOffset: number; endOffset: number };\n series: ChartSeriesData<K, D>[];\n isRtl: boolean;\n renderGridLinesInFront: boolean;\n isDataXAxis?: boolean;\n getMarkerInfo: (\n seriesIndex: number,\n groupIndex: number\n ) => { color: Property.Color | undefined; type?: MarkerShapes };\n defaultOverviewContentRenderer: () => ComponentChildren;\n isStacked?: boolean;\n getStackGroup?: (series: ChartSeriesData<K, D>) => string | undefined;\n stackLabelStyle?: VisTextStyle;\n} & Omit<ChartCommonProps<K, D>, 'highlightedIds' | 'hoverBehavior' | 'selectedIds'>;\n\ntype ForwardRefChart = <\n K extends string | number,\n D extends LineAreaItem<K> | ScatterItem<K> | BarItemData<K>\n>(\n props: ChartProps<K, D> & { ref?: Ref<SizeHandle> }\n) => VNode | null;\n\nexport const Chart = forwardRef(\n <K extends string | number, D extends LineAreaItem<K> | ScatterItem<K> | BarItemData<K>>(\n { width, height, ...props }: ChartProps<K, D>,\n ref: Ref<SizeHandle> = null\n ) => {\n // TODO: reevaluate how we handle empty data\n const {\n isOverview,\n overviewRenderer,\n yAxisSize,\n width: overviewWidth,\n height: overviewHeight\n } = useOverviewContext();\n\n let chartWidth = width;\n let chartHeight = height;\n\n if (chartWidth === undefined && isOverview && overviewWidth !== undefined) {\n chartWidth = `${overviewWidth}px`;\n }\n\n if (chartHeight === undefined && isOverview && overviewHeight !== undefined) {\n chartHeight = `${overviewHeight}px`;\n }\n\n return (\n <TrackResizeContainer width={chartWidth} height={chartHeight} class={dimensionStyle}>\n {(width, height) =>\n width || height ? (\n <ChartWithDimensions\n ref={ref}\n width={width}\n height={height}\n {...props}\n yAxisSize={yAxisSize}\n isOverview={isOverview}\n overviewRenderer={overviewRenderer}\n />\n ) : undefined\n }\n </TrackResizeContainer>\n );\n }\n) as ForwardRefChart;\n"],"names":["useState","useRef","useEffect","useTooltip","calculateOffset","mergeProps","ScaleLinear","_jsxs","_Fragment","_jsx","styles","OverviewSlidingWindow","updateViewportFromOverview","_createElement","ReferenceLineArea","getChartVars","forwardRef","hasInvalidData","VisInvalidDataError","useTestId","getAxesPosition","useCssVars","useTextDimensions","getAvailSpace","getOuterGaps","getScrollBarSpace","useUser","useMemo","getLayoutInfo","useImperativeHandle","updateScrollBarSpace","useChartMarquee","useVisTouchResponse","useChartNav","useTranslationBundle","getTextAndBoundsUtil","getTextAndDimsInfo","useChartViewport","getElementData","useSelectDrill","getAriaLabelGenerator","getRefObjectBounds","computeRefObjectBounds","useChartDatatipAndCursor","useId","Gridlines","useChartContextMenu","hasData","useChartDnd","getActiveInfo","merge","PlotArea","Axis","ScrollBar","OverviewContext","useOverviewContext","TrackResizeContainer","dimensionStyle"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* @oracle/oraclejet-preact: undefined */
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('preact/jsx-runtime');
|
|
5
|
+
var preact = require('preact');
|
|
6
|
+
var hooks = require('preact/hooks');
|
|
7
|
+
var compat = require('preact/compat');
|
|
8
|
+
require('./FormContext-d1d05967.js');
|
|
9
|
+
var useFormContext = require('./useFormContext-a794f7b6.js');
|
|
10
|
+
var FormFieldContext = require('./FormFieldContext-69fe83d2.js');
|
|
11
|
+
var useFormFieldContextProps = require('./useFormFieldContextProps-0fa67f6c.js');
|
|
12
|
+
|
|
13
|
+
var useId = require('./useId-6c0eeb27.js');
|
|
14
|
+
var Flex = require('./Flex-3a257bc3.js');
|
|
15
|
+
var utils = require('./utils-c0efcd5e.js');
|
|
16
|
+
var CheckboxRadioField = require('./CheckboxRadioField-24e06523.js');
|
|
17
|
+
|
|
18
|
+
const CheckboxSetContext = preact.createContext({});
|
|
19
|
+
const useCheckboxSetContext = () => hooks.useContext(CheckboxSetContext);
|
|
20
|
+
|
|
21
|
+
var styles = {ul:'CheckboxSetStyles_styles_ul__68p6630'};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A CheckboxSet allows the user to select one or more options from a set.
|
|
25
|
+
*/
|
|
26
|
+
const CheckboxSet = compat.forwardRef(({ 'aria-describedby': ariaDescribedBy, assistiveText, columnSpan, direction = 'column', helpSourceLink, helpSourceText, isDisabled: propIsDisabled, isReadonly: propIsReadonly, isRequired = false, label, labelEdge: propLabelEdge, labelStartWidth: propLabelStartWidth, messages, onCommit, userAssistanceDensity: propUserAssistanceDensity, value, children, testId }, ref) => {
|
|
27
|
+
const hasValue = value !== undefined ? value.size > 0 : false;
|
|
28
|
+
const baseId = useId.useId();
|
|
29
|
+
const { isDisabled: isFormDisabled, isReadonly: isFormReadonly, labelEdge: formLabelEdge, labelStartWidth: formLabelStartWidth, userAssistanceDensity: formUserAssistanceDensity } = useFormContext.useFormContext();
|
|
30
|
+
// default to FormContext values if component properties are not specified
|
|
31
|
+
const isDisabled = propIsDisabled ?? isFormDisabled;
|
|
32
|
+
const isReadonly = propIsReadonly ?? isFormReadonly;
|
|
33
|
+
const labelEdge = propLabelEdge ?? formLabelEdge;
|
|
34
|
+
const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;
|
|
35
|
+
const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;
|
|
36
|
+
const formFieldContext = useFormFieldContextProps.useFormFieldContextProps({
|
|
37
|
+
hasValue,
|
|
38
|
+
isDisabled,
|
|
39
|
+
isReadonly
|
|
40
|
+
});
|
|
41
|
+
const checkboxSetContext = hooks.useMemo(() => ({
|
|
42
|
+
name: baseId,
|
|
43
|
+
value,
|
|
44
|
+
onCommit
|
|
45
|
+
}), [baseId, onCommit, value]);
|
|
46
|
+
// wrap each CheckboxItem in an <li> tag and the entire set with <ul>
|
|
47
|
+
const childrenArray = preact.toChildArray(children).filter(Boolean);
|
|
48
|
+
const wrappedChildren = childrenArray.map((item) => jsxRuntime.jsx("li", { children: item }));
|
|
49
|
+
return (jsxRuntime.jsx(FormFieldContext.FormFieldContext.Provider, { value: formFieldContext, children: jsxRuntime.jsx(CheckboxRadioField.CheckboxRadioField, { "aria-describedby": ariaDescribedBy, assistiveText: assistiveText, baseId: baseId, columnSpan: columnSpan, helpSourceLink: helpSourceLink, helpSourceText: helpSourceText, isDisabled: isDisabled, isReadonly: isReadonly, isRequired: isRequired, label: label, labelEdge: labelEdge, labelStartWidth: labelStartWidth, parentComponentVariant: "checkboxSet", messages: messages, userAssistanceDensity: userAssistanceDensity, hasValue: hasValue, role: "group", testId: testId, ref: ref, children: jsxRuntime.jsx(CheckboxSetContext.Provider, { value: checkboxSetContext, children: jsxRuntime.jsx(Flex.Flex, { direction: direction, ...(direction === 'row' && { gap: [0, utils.xUnits(8)], wrap: 'wrap' }), children: jsxRuntime.jsx("ul", { className: styles.ul, children: wrappedChildren }) }) }) }) }));
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
exports.CheckboxSet = CheckboxSet;
|
|
53
|
+
exports.CheckboxSetContext = CheckboxSetContext;
|
|
54
|
+
exports.useCheckboxSetContext = useCheckboxSetContext;
|
|
55
|
+
//# sourceMappingURL=CheckboxSet-6865f4fd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxSet-f000e5c2.js","sources":["../../src/UNSAFE_CheckboxSet/CheckboxSetContext.ts","../../src/UNSAFE_CheckboxSet/CheckboxSet.tsx"],"sourcesContent":["import { createContext } from 'preact';\nimport { useContext } from 'preact/hooks';\n\nimport { ValueUpdateDetail } from '../utils/UNSAFE_valueUpdateDetail';\n\ntype CheckboxSetContextValue = {\n name: string;\n value?: Set<string | number>;\n onCommit?: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n};\n\nconst CheckboxSetContext = createContext<CheckboxSetContextValue>({} as CheckboxSetContextValue);\nconst useCheckboxSetContext = () => useContext(CheckboxSetContext);\n\nexport { CheckboxSetContext, useCheckboxSetContext };\n","import { ComponentChildren, ComponentProps, Ref, toChildArray, JSX } from 'preact';\nimport { useMemo } from 'preact/hooks';\nimport { forwardRef } from 'preact/compat';\n\nimport { CheckboxSetContext } from './CheckboxSetContext';\nimport { CheckboxRadioField } from '#PRIVATE_CheckboxRadioField';\nimport { InlineUserAssistance, UserAssistanceDensityType } from '#UNSAFE_UserAssistance';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport { useFormFieldContextProps } from '#hooks/UNSAFE_useFormFieldContextProps';\nimport { FlexboxProps } from '#utils/UNSAFE_interpolations/flexbox';\nimport { Size } from '#utils/UNSAFE_size';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { FocusableHandle } from '#hooks/UNSAFE_useFocusableTextField';\nimport { styles } from './CheckboxSetStyles.css';\nimport type { UnpackSignals } from '@oracle/oraclejet-internal-utilities/attributeUtils';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { LayoutColumnSpan } from '#utils/UNSAFE_styles/Layout';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { Flex } from '#UNSAFE_Flex';\nimport { xUnits } from '#UNSAFE_Theme';\n\ntype InlineUserAssistanceProps = ComponentProps<typeof InlineUserAssistance>;\n\ntype Props = {\n /**\n * The ID of an element (or space separated IDs of multiple elements) that\n * describes the input.\n */\n 'aria-describedby'?: UnpackSignals<JSX.AriaAttributes>['aria-describedby'];\n /**\n * Text to provide guidance to help the user understand what data to enter.\n */\n assistiveText?: InlineUserAssistanceProps['assistiveText'];\n /**\n * set of CheckboxItems\n */\n children: ComponentChildren;\n /**\n * Specifies how many columns to span in a FormLayout with direction === 'row'\n */\n columnSpan?: LayoutColumnSpan;\n /**\n * layout direction of the children elements\n */\n direction?: FlexboxProps['direction'];\n /**\n * Help source URL associated with the component.\n */\n helpSourceLink?: InlineUserAssistanceProps['helpSourceLink'];\n /**\n * Custom text to be rendered for the <code>helpSourceLink</code>.\n */\n helpSourceText?: InlineUserAssistanceProps['helpSourceText'];\n /**\n * Specifies whether the checkbox set requires a selection to be made.\n */\n isRequired?: boolean;\n /**\n * Specifies if the checkbox set is read-only.\n */\n isReadonly?: boolean;\n /**\n * Specifies if the checkbox set is disabled.\n */\n isDisabled?: boolean;\n /**\n * Label text for the group of checkbox items.\n */\n label: string;\n /**\n * Specifies where the label is positioned relative to the field.\n */\n labelEdge?: 'none' | 'top' | 'start' | 'inside';\n /**\n * Specifies the width of the label when <code>labelEdge</code> is <code>\"start\"</code>.\n */\n labelStartWidth?: Size;\n /**\n * Messages to show on screen that are associated with the component.\n */\n messages?: InlineUserAssistanceProps['messages'];\n /**\n * Callback invoked each time the user changes selected option.\n */\n onCommit: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n /**\n * Specifies the density of the user assistance presentation. It can be set to:\n * <ul>\n * <li><code>'reflow'</code>: Show inline. Layout will reflow when text is displayed.</li>\n * <li><code>'efficient'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * <li><code>'compact'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * </ul>\n */\n userAssistanceDensity?: UserAssistanceDensityType;\n /**\n * Value of the selected checkbox option.\n */\n value?: Set<string | number>;\n} & TestIdProps;\n/**\n * A CheckboxSet allows the user to select one or more options from a set.\n */\nexport const CheckboxSet = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n assistiveText,\n columnSpan,\n direction = 'column',\n helpSourceLink,\n helpSourceText,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n isRequired = false,\n label,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n messages,\n onCommit,\n userAssistanceDensity: propUserAssistanceDensity,\n value,\n children,\n testId\n }: Props,\n ref?: Ref<FocusableHandle>\n ) => {\n const hasValue = value !== undefined ? value.size > 0 : false;\n const baseId = useId();\n\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n\n const formFieldContext = useFormFieldContextProps({\n hasValue,\n isDisabled,\n isReadonly\n });\n\n const checkboxSetContext = useMemo(\n () => ({\n name: baseId,\n value,\n onCommit\n }),\n [baseId, onCommit, value]\n );\n\n // wrap each CheckboxItem in an <li> tag and the entire set with <ul>\n const childrenArray = toChildArray(children).filter(Boolean);\n const wrappedChildren = childrenArray.map((item) => <li>{item}</li>);\n\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <CheckboxRadioField\n aria-describedby={ariaDescribedBy}\n assistiveText={assistiveText}\n baseId={baseId}\n columnSpan={columnSpan}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n isRequired={isRequired}\n label={label}\n labelEdge={labelEdge}\n labelStartWidth={labelStartWidth}\n parentComponentVariant=\"checkboxSet\"\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n hasValue={hasValue}\n role=\"group\"\n testId={testId}\n ref={ref}>\n <CheckboxSetContext.Provider value={checkboxSetContext}>\n <Flex\n direction={direction}\n {...(direction === 'row' && { gap: [0, xUnits(8) as Size], wrap: 'wrap' })}>\n <ul className={styles.ul}>{wrappedChildren}</ul>\n </Flex>\n </CheckboxSetContext.Provider>\n </CheckboxRadioField>\n </FormFieldContext.Provider>\n );\n }\n);\n"],"names":["CheckboxSetContext","createContext","CheckboxSet","forwardRef","ariaDescribedBy","assistiveText","columnSpan","direction","helpSourceLink","helpSourceText","isDisabled","propIsDisabled","isReadonly","propIsReadonly","isRequired","label","labelEdge","propLabelEdge","labelStartWidth","propLabelStartWidth","messages","onCommit","userAssistanceDensity","propUserAssistanceDensity","value","children","testId","ref","hasValue","undefined","size","baseId","useId","isFormDisabled","isFormReadonly","formLabelEdge","formLabelStartWidth","formUserAssistanceDensity","useFormContext","formFieldContext","useFormFieldContextProps","checkboxSetContext","useMemo","name","wrappedChildren","toChildArray","filter","Boolean","map","item","_jsx","jsx","FormFieldContext","Provider","CheckboxRadioField","parentComponentVariant","role","Flex","gap","xUnits","wrap","className","styles","useContext"],"mappings":"sXAWA,MAAMA,EAAqBC,EAAaA,cAA0B,iDC8F3D,MAAMC,EAAcC,EAAUA,YACnC,EAEI,mBAAoBC,EACpBC,gBACAC,aACAC,YAAY,SACZC,iBACAC,iBACAC,WAAYC,EACZC,WAAYC,EACZC,cAAa,EACbC,QACAC,UAAWC,EACXC,gBAAiBC,EACjBC,WACAC,WACAC,sBAAuBC,EACvBC,QACAC,WACAC,UAEFC,KAEA,MAAMC,OAAqBC,IAAVL,GAAsBA,EAAMM,KAAO,EAC9CC,EAASC,EAAAA,SAGbtB,WAAYuB,EACZrB,WAAYsB,EACZlB,UAAWmB,EACXjB,gBAAiBkB,EACjBd,sBAAuBe,GACrBC,EAAcA,iBAGZ5B,EAAaC,GAAkBsB,EAC/BrB,EAAaC,GAAkBqB,EAC/BlB,EAAYC,GAAiBkB,EAC7BjB,EAAkBC,GAAuBiB,EACzCd,EAAwBC,GAA6Bc,EAErDE,EAAmBC,EAAAA,yBAAyB,CAChDZ,WACAlB,aACAE,eAGI6B,EAAqBC,EAAAA,SACzB,KAAO,CACLC,KAAMZ,EACNP,QACAH,cAEF,CAACU,EAAQV,EAAUG,IAKfoB,EADgBC,EAAAA,aAAapB,GAAUqB,OAAOC,SACdC,KAAKC,GAASC,MAAA,KAAA,CAAAzB,SAAKwB,MAEzD,OACEC,EAAAC,IAACC,EAAgBA,iBAACC,SAAS,CAAA7B,MAAOe,EAChCd,SAAAyB,EAAAC,IAACG,qBAAkB,CAAA,mBACClD,EAClBC,cAAeA,EACf0B,OAAQA,EACRzB,WAAYA,EACZE,eAAgBA,EAChBC,eAAgBA,EAChBC,WAAYA,EACZE,WAAYA,EACZE,WAAYA,EACZC,MAAOA,EACPC,UAAWA,EACXE,gBAAiBA,EACjBqC,uBAAuB,cACvBnC,SAAUA,EACVE,sBAAuBA,EACvBM,SAAUA,EACV4B,KAAK,QACL9B,OAAQA,EACRC,IAAKA,EACLF,SAAAyB,EAAAC,IAACnD,EAAmBqD,SAAQ,CAAC7B,MAAOiB,EAClChB,SAAAyB,MAACO,EAAAA,KAAI,CACHlD,UAAWA,KACQ,QAAdA,GAAuB,CAAEmD,IAAK,CAAC,EAAGC,EAAMA,OAAC,IAAaC,KAAM,QAASnC,SAC1EyB,EAAAA,IAAI,KAAA,CAAAW,UAAWC,EAASrC,SAAGmB,WAKnC,mEDzLwB,IAAMmB,EAAAA,WAAW/D"}
|
|
1
|
+
{"version":3,"file":"CheckboxSet-6865f4fd.js","sources":["../../src/UNSAFE_CheckboxSet/CheckboxSetContext.ts","../../src/UNSAFE_CheckboxSet/CheckboxSet.tsx"],"sourcesContent":["import { createContext } from 'preact';\nimport { useContext } from 'preact/hooks';\n\nimport { ValueUpdateDetail } from '../utils/UNSAFE_valueUpdateDetail';\n\ntype CheckboxSetContextValue = {\n name: string;\n value?: Set<string | number>;\n onCommit?: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n};\n\nconst CheckboxSetContext = createContext<CheckboxSetContextValue>({} as CheckboxSetContextValue);\nconst useCheckboxSetContext = () => useContext(CheckboxSetContext);\n\nexport { CheckboxSetContext, useCheckboxSetContext };\n","import { ComponentChildren, ComponentProps, Ref, toChildArray, JSX } from 'preact';\nimport { useMemo } from 'preact/hooks';\nimport { forwardRef } from 'preact/compat';\n\nimport { CheckboxSetContext } from './CheckboxSetContext';\nimport { CheckboxRadioField } from '#PRIVATE_CheckboxRadioField';\nimport { InlineUserAssistance, UserAssistanceDensityType } from '#UNSAFE_UserAssistance';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport { useFormFieldContextProps } from '#hooks/UNSAFE_useFormFieldContextProps';\nimport { FlexboxProps } from '#utils/UNSAFE_interpolations/flexbox';\nimport { Size } from '#utils/UNSAFE_size';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { FocusableHandle } from '#hooks/UNSAFE_useFocusableTextField';\nimport { styles } from './CheckboxSetStyles.css';\nimport type { UnpackSignals } from '@oracle/oraclejet-internal-utilities/attributeUtils';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { LayoutColumnSpan } from '#utils/UNSAFE_styles/Layout';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { Flex } from '#UNSAFE_Flex';\nimport { xUnits } from '#UNSAFE_Theme';\n\ntype InlineUserAssistanceProps = ComponentProps<typeof InlineUserAssistance>;\n\ntype Props = {\n /**\n * The ID of an element (or space separated IDs of multiple elements) that\n * describes the input.\n */\n 'aria-describedby'?: UnpackSignals<JSX.AriaAttributes>['aria-describedby'];\n /**\n * Text to provide guidance to help the user understand what data to enter.\n */\n assistiveText?: InlineUserAssistanceProps['assistiveText'];\n /**\n * set of CheckboxItems\n */\n children: ComponentChildren;\n /**\n * Specifies how many columns to span in a FormLayout with direction === 'row'\n */\n columnSpan?: LayoutColumnSpan;\n /**\n * layout direction of the children elements\n */\n direction?: FlexboxProps['direction'];\n /**\n * Help source URL associated with the component.\n */\n helpSourceLink?: InlineUserAssistanceProps['helpSourceLink'];\n /**\n * Custom text to be rendered for the <code>helpSourceLink</code>.\n */\n helpSourceText?: InlineUserAssistanceProps['helpSourceText'];\n /**\n * Specifies whether the checkbox set requires a selection to be made.\n */\n isRequired?: boolean;\n /**\n * Specifies if the checkbox set is read-only.\n */\n isReadonly?: boolean;\n /**\n * Specifies if the checkbox set is disabled.\n */\n isDisabled?: boolean;\n /**\n * Label text for the group of checkbox items.\n */\n label: string;\n /**\n * Specifies where the label is positioned relative to the field.\n */\n labelEdge?: 'none' | 'top' | 'start' | 'inside';\n /**\n * Specifies the width of the label when <code>labelEdge</code> is <code>\"start\"</code>.\n */\n labelStartWidth?: Size;\n /**\n * Messages to show on screen that are associated with the component.\n */\n messages?: InlineUserAssistanceProps['messages'];\n /**\n * Callback invoked each time the user changes selected option.\n */\n onCommit: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n /**\n * Specifies the density of the user assistance presentation. It can be set to:\n * <ul>\n * <li><code>'reflow'</code>: Show inline. Layout will reflow when text is displayed.</li>\n * <li><code>'efficient'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * <li><code>'compact'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * </ul>\n */\n userAssistanceDensity?: UserAssistanceDensityType;\n /**\n * Value of the selected checkbox option.\n */\n value?: Set<string | number>;\n} & TestIdProps;\n/**\n * A CheckboxSet allows the user to select one or more options from a set.\n */\nexport const CheckboxSet = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n assistiveText,\n columnSpan,\n direction = 'column',\n helpSourceLink,\n helpSourceText,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n isRequired = false,\n label,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n messages,\n onCommit,\n userAssistanceDensity: propUserAssistanceDensity,\n value,\n children,\n testId\n }: Props,\n ref?: Ref<FocusableHandle>\n ) => {\n const hasValue = value !== undefined ? value.size > 0 : false;\n const baseId = useId();\n\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n\n const formFieldContext = useFormFieldContextProps({\n hasValue,\n isDisabled,\n isReadonly\n });\n\n const checkboxSetContext = useMemo(\n () => ({\n name: baseId,\n value,\n onCommit\n }),\n [baseId, onCommit, value]\n );\n\n // wrap each CheckboxItem in an <li> tag and the entire set with <ul>\n const childrenArray = toChildArray(children).filter(Boolean);\n const wrappedChildren = childrenArray.map((item) => <li>{item}</li>);\n\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <CheckboxRadioField\n aria-describedby={ariaDescribedBy}\n assistiveText={assistiveText}\n baseId={baseId}\n columnSpan={columnSpan}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n isRequired={isRequired}\n label={label}\n labelEdge={labelEdge}\n labelStartWidth={labelStartWidth}\n parentComponentVariant=\"checkboxSet\"\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n hasValue={hasValue}\n role=\"group\"\n testId={testId}\n ref={ref}>\n <CheckboxSetContext.Provider value={checkboxSetContext}>\n <Flex\n direction={direction}\n {...(direction === 'row' && { gap: [0, xUnits(8) as Size], wrap: 'wrap' })}>\n <ul className={styles.ul}>{wrappedChildren}</ul>\n </Flex>\n </CheckboxSetContext.Provider>\n </CheckboxRadioField>\n </FormFieldContext.Provider>\n );\n }\n);\n"],"names":["createContext","useContext","forwardRef","useId","useFormContext","useFormFieldContextProps","useMemo","toChildArray","_jsx","FormFieldContext","CheckboxRadioField","Flex","xUnits"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
var jsxRuntime = require('preact/jsx-runtime');
|
|
5
5
|
var compat = require('preact/compat');
|
|
6
6
|
var hooks = require('preact/hooks');
|
|
7
|
+
var ColorSwatch = require('./ColorSwatch-cddebd6b.js');
|
|
7
8
|
var swatchData = require('./swatchData-17c1d335.js');
|
|
8
9
|
var Flex = require('./Flex-3a257bc3.js');
|
|
9
10
|
var useTestId = require('./useTestId-4f53d561.js');
|
|
@@ -14,7 +15,6 @@ var aria = require('./aria-889aedd0.js');
|
|
|
14
15
|
var mergeInterpolations = require('./mergeInterpolations-6727b536.js');
|
|
15
16
|
var resources_nls_en_bundle = require('./resources/nls/en/bundle.js');
|
|
16
17
|
var SwatchFlexView = require('./SwatchFlexView-35c68cf1.js');
|
|
17
|
-
var ColorSwatch = require('./ColorSwatch-cddebd6b.js');
|
|
18
18
|
|
|
19
19
|
const interpolations = [
|
|
20
20
|
...Object.values(dimensions.dimensionInterpolations),
|
|
@@ -80,4 +80,4 @@ const ColorPalette = compat.forwardRef(({ value, swatchSize = 'sm', palette, onC
|
|
|
80
80
|
ColorPalette.displayName = 'ColorPalette';
|
|
81
81
|
|
|
82
82
|
exports.ColorPalette = ColorPalette;
|
|
83
|
-
//# sourceMappingURL=ColorPalette-
|
|
83
|
+
//# sourceMappingURL=ColorPalette-b14114d8.js.map
|