@oracle/oraclejet-preact 20.0.3 → 20.0.4

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.
Files changed (182) hide show
  1. package/amd/{BarChart-f429b382.js → BarChart-994cb8f0.js} +2 -2
  2. package/amd/{BarChart-f429b382.js.map → BarChart-994cb8f0.js.map} +1 -1
  3. package/amd/BaseCardView-16fda4c3.js +2 -0
  4. package/amd/{BaseCardView-b8119561.js.map → BaseCardView-16fda4c3.js.map} +1 -1
  5. package/amd/CardFlexView-d3eb7373.js +2 -0
  6. package/amd/{CardFlexView-aa2f3de8.js.map → CardFlexView-d3eb7373.js.map} +1 -1
  7. package/amd/CardGridView-842f70cd.js +2 -0
  8. package/amd/{CardGridView-85f90c75.js.map → CardGridView-842f70cd.js.map} +1 -1
  9. package/amd/{Chart-57965de4.js → Chart-d9eafc7a.js} +2 -2
  10. package/amd/{Chart-57965de4.js.map → Chart-d9eafc7a.js.map} +1 -1
  11. package/amd/CheckboxSetContext-2e486ea8.js +2 -0
  12. package/amd/CheckboxSetContext-2e486ea8.js.map +1 -0
  13. package/amd/{ComboChart-c42ed049.js → ComboChart-5a6f6c8a.js} +2 -2
  14. package/amd/{ComboChart-c42ed049.js.map → ComboChart-5a6f6c8a.js.map} +1 -1
  15. package/amd/{LineAreaChart-48efb7f7.js → LineAreaChart-47fc17d2.js} +2 -2
  16. package/amd/{LineAreaChart-48efb7f7.js.map → LineAreaChart-47fc17d2.js.map} +1 -1
  17. package/amd/ListView-02a92d18.js +2 -0
  18. package/amd/{ListView-2678b2af.js.map → ListView-02a92d18.js.map} +1 -1
  19. package/amd/NavigationListItem-9df5446c.js +2 -0
  20. package/amd/NavigationListItem-9df5446c.js.map +1 -0
  21. package/amd/NavigationListLinkItem-161049bb.js +2 -0
  22. package/amd/NavigationListLinkItem-161049bb.js.map +1 -0
  23. package/amd/{OverflowTabBar-f8bf9356.js → OverflowTabBar-5ff68da7.js} +2 -2
  24. package/amd/{OverflowTabBar-f8bf9356.js.map → OverflowTabBar-5ff68da7.js.map} +1 -1
  25. package/amd/OverflowTabBarItem-926b0c8a.js +2 -0
  26. package/amd/{OverflowTabBarItem-0aa39512.js.map → OverflowTabBarItem-926b0c8a.js.map} +1 -1
  27. package/amd/PRIVATE_BaseCardView.js +1 -1
  28. package/amd/PRIVATE_Chart.js +1 -1
  29. package/amd/PRIVATE_TableList.js +1 -1
  30. package/amd/RemovableNavigationListItem-e298c5de.js +2 -0
  31. package/amd/{RemovableNavigationListItem-60593d4c.js.map → RemovableNavigationListItem-e298c5de.js.map} +1 -1
  32. package/amd/ReorderableTabBar-0c69bfd4.js +2 -0
  33. package/amd/{ReorderableTabBar-19a503c7.js.map → ReorderableTabBar-0c69bfd4.js.map} +1 -1
  34. package/amd/{ScatterChart-6427e7ec.js → ScatterChart-7bd0f601.js} +2 -2
  35. package/amd/{ScatterChart-6427e7ec.js.map → ScatterChart-7bd0f601.js.map} +1 -1
  36. package/amd/TabBar-de723fbc.js +2 -0
  37. package/amd/{TabBar-92bac52f.js.map → TabBar-de723fbc.js.map} +1 -1
  38. package/amd/TabBarMixed-cfd346bf.js +2 -0
  39. package/amd/{TabBarMixed-5b5a5047.js.map → TabBarMixed-cfd346bf.js.map} +1 -1
  40. package/amd/TextArea-4a3b8b56.js +2 -0
  41. package/amd/TextArea-4a3b8b56.js.map +1 -0
  42. package/amd/TextAreaAutosize-3a13ebb2.js +2 -0
  43. package/amd/{TextAreaAutosize-01dfd98e.js.map → TextAreaAutosize-3a13ebb2.js.map} +1 -1
  44. package/amd/Theme-redwood/theme.css +181 -181
  45. package/amd/Theme-stable/theme.css +182 -182
  46. package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
  47. package/amd/UNSAFE_BarChart.js +1 -1
  48. package/amd/UNSAFE_CardFlexView.js +1 -1
  49. package/amd/UNSAFE_CardGridView.js +1 -1
  50. package/amd/UNSAFE_CheckboxItem.js +1 -1
  51. package/amd/UNSAFE_CheckboxItem.js.map +1 -1
  52. package/amd/UNSAFE_CheckboxSet.js +1 -1
  53. package/amd/UNSAFE_CheckboxSet.js.map +1 -1
  54. package/amd/UNSAFE_ComboChart.js +1 -1
  55. package/amd/UNSAFE_LineAreaChart.js +1 -1
  56. package/amd/UNSAFE_ListView.js +1 -1
  57. package/amd/UNSAFE_NavigationList.js +1 -1
  58. package/amd/UNSAFE_NavigationListCommon.js +1 -1
  59. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  60. package/amd/UNSAFE_ReorderableTabBar.js +1 -1
  61. package/amd/UNSAFE_RichCheckboxSet.js +1 -1
  62. package/amd/UNSAFE_RichCheckboxSet.js.map +1 -1
  63. package/amd/UNSAFE_RichSelectionItem.js +1 -1
  64. package/amd/UNSAFE_RichSelectionItem.js.map +1 -1
  65. package/amd/UNSAFE_ScatterChart.js +1 -1
  66. package/amd/UNSAFE_TabBar.js +1 -1
  67. package/amd/UNSAFE_TabBarCommon.js +1 -1
  68. package/amd/UNSAFE_TabBarMixed.js +1 -1
  69. package/amd/UNSAFE_TextArea.js +1 -1
  70. package/amd/UNSAFE_TextAreaAutosize.js +1 -1
  71. package/amd/useTextAreaAltEnter-32272da6.js +2 -0
  72. package/amd/useTextAreaAltEnter-32272da6.js.map +1 -0
  73. package/cjs/{NavigationList-d0d74565.js → NavigationListItem-3b9eb0fb.js} +8 -21
  74. package/cjs/NavigationListItem-3b9eb0fb.js.map +1 -0
  75. package/cjs/{NavigationListLinkItem-317a5200.js → NavigationListLinkItem-62c3912e.js} +99 -8
  76. package/cjs/NavigationListLinkItem-62c3912e.js.map +1 -0
  77. package/cjs/{OverflowTabBarItem-19ad4971.js → OverflowTabBarItem-abcd2327.js} +4 -6
  78. package/cjs/{OverflowTabBarItem-19ad4971.js.map → OverflowTabBarItem-abcd2327.js.map} +1 -1
  79. package/cjs/{TabBar-d84e222e.js → TabBar-4bc753a9.js} +1 -7
  80. package/{es/TabBar-67ca442c.js.map → cjs/TabBar-4bc753a9.js.map} +1 -1
  81. package/cjs/{TabBarLinkItem-e924f83b.js → TabBarLinkItem-b0c4b100.js} +2 -2
  82. package/cjs/{TabBarLinkItem-e924f83b.js.map → TabBarLinkItem-b0c4b100.js.map} +1 -1
  83. package/cjs/Theme-redwood/theme.css +130 -130
  84. package/cjs/Theme-stable/theme.css +220 -220
  85. package/cjs/UNSAFE_NavigationList.js +15 -17
  86. package/cjs/UNSAFE_NavigationList.js.map +1 -1
  87. package/cjs/UNSAFE_NavigationListCommon.js +13 -14
  88. package/cjs/UNSAFE_NavigationListCommon.js.map +1 -1
  89. package/cjs/UNSAFE_OverflowTabBar.js +59 -62
  90. package/cjs/UNSAFE_OverflowTabBar.js.map +1 -1
  91. package/cjs/UNSAFE_ReorderableTabBar.js +19 -32
  92. package/cjs/UNSAFE_ReorderableTabBar.js.map +1 -1
  93. package/cjs/UNSAFE_TabBar.js +60 -63
  94. package/cjs/UNSAFE_TabBar.js.map +1 -1
  95. package/cjs/UNSAFE_TabBarCommon.js +75 -78
  96. package/cjs/UNSAFE_TabBarCommon.js.map +1 -1
  97. package/cjs/UNSAFE_TabBarMixed.js +33 -36
  98. package/cjs/UNSAFE_TabBarMixed.js.map +1 -1
  99. package/es/{BaseCardView-b3d8bae0.js → BaseCardView-85b9a71e.js} +1 -4
  100. package/es/{BaseCardView-b3d8bae0.js.map → BaseCardView-85b9a71e.js.map} +1 -1
  101. package/es/ButtonLayoutVariants.styles.css +2 -2
  102. package/es/ButtonLayoutVariants.styles2.css +2 -2
  103. package/es/CheckboxSetContext-1be56556.js +9 -0
  104. package/es/CheckboxSetContext-1be56556.js.map +1 -0
  105. package/es/{ColorPicker-ae648c4c.js → ColorPicker-fa103067.js} +2 -2
  106. package/es/{ColorPicker-ae648c4c.js.map → ColorPicker-fa103067.js.map} +1 -1
  107. package/es/PRIVATE_BaseCardView.js +1 -1
  108. package/es/PRIVATE_CollapsibleNavigationList.js +25 -25
  109. package/es/PRIVATE_TableList.js +4 -4
  110. package/es/SegmentStyles.styles.css +12 -9
  111. package/es/SegmentStyles.styles2.css +9 -12
  112. package/es/{TabBar-67ca442c.js → TabBar-10488830.js} +1 -3
  113. package/{cjs/TabBar-d84e222e.js.map → es/TabBar-10488830.js.map} +1 -1
  114. package/es/Theme-redwood/theme.css +401 -401
  115. package/es/Theme-stable/theme.css +451 -451
  116. package/es/UNSAFE_ButtonLayout/themes/redwood/ButtonLayoutTheme.js +1 -1
  117. package/es/UNSAFE_ButtonLayout/themes/redwood/ButtonLayoutVariants.css.js +1 -1
  118. package/es/UNSAFE_ButtonLayout/themes/stable/ButtonLayoutTheme.js +1 -1
  119. package/es/UNSAFE_ButtonLayout/themes/stable/ButtonLayoutVariants.css.js +1 -1
  120. package/es/UNSAFE_ButtonLayout.js +1 -1
  121. package/es/UNSAFE_CardFlexView.js +1 -1
  122. package/es/UNSAFE_CardGridView.js +1 -1
  123. package/es/UNSAFE_CheckboxItem.js +61 -122
  124. package/es/UNSAFE_CheckboxItem.js.map +1 -1
  125. package/es/UNSAFE_CheckboxSet.js +49 -15
  126. package/es/UNSAFE_CheckboxSet.js.map +1 -1
  127. package/es/UNSAFE_ColorPicker.js +25 -25
  128. package/es/UNSAFE_FlatTreeView.js +14 -14
  129. package/es/UNSAFE_InputColor.js +2 -2
  130. package/es/UNSAFE_InputDateMask/themes/SegmentStyles.css.js +1 -1
  131. package/es/UNSAFE_InputDateMask.js +1 -1
  132. package/es/UNSAFE_InputDatePicker.js +1 -1
  133. package/es/UNSAFE_InputTimeMask/themes/SegmentStyles.css.js +1 -1
  134. package/es/UNSAFE_InputTimeMask.js +1 -1
  135. package/es/UNSAFE_ListView.js +53 -53
  136. package/es/UNSAFE_OverflowTabBar.js +10 -10
  137. package/es/UNSAFE_ReorderableTabBar.js +12 -12
  138. package/es/UNSAFE_RichCheckboxSet.js +42 -46
  139. package/es/UNSAFE_RichCheckboxSet.js.map +1 -1
  140. package/es/UNSAFE_RichSelectionItem.js +89 -152
  141. package/es/UNSAFE_RichSelectionItem.js.map +1 -1
  142. package/es/UNSAFE_TabBar.js +10 -10
  143. package/es/UNSAFE_TabBarMixed.js +8 -8
  144. package/es/UNSAFE_TextArea.js +226 -106
  145. package/es/UNSAFE_TextArea.js.map +1 -1
  146. package/es/UNSAFE_TextAreaAutosize.js +1 -1
  147. package/es/UNSAFE_Toolbar.js +1 -1
  148. package/es/useTextAreaAltEnter-ac460f4c.js +61 -0
  149. package/es/useTextAreaAltEnter-ac460f4c.js.map +1 -0
  150. package/package.json +2 -2
  151. package/amd/BaseCardView-b8119561.js +0 -2
  152. package/amd/CardFlexView-aa2f3de8.js +0 -2
  153. package/amd/CardGridView-85f90c75.js +0 -2
  154. package/amd/CheckboxSet-f000e5c2.js +0 -2
  155. package/amd/CheckboxSet-f000e5c2.js.map +0 -1
  156. package/amd/ListView-2678b2af.js +0 -2
  157. package/amd/NavigationList-a6bb123d.js +0 -2
  158. package/amd/NavigationList-a6bb123d.js.map +0 -1
  159. package/amd/NavigationListItem-10bf6656.js +0 -2
  160. package/amd/NavigationListItem-10bf6656.js.map +0 -1
  161. package/amd/NavigationListLinkItem-df1826e6.js +0 -2
  162. package/amd/NavigationListLinkItem-df1826e6.js.map +0 -1
  163. package/amd/OverflowTabBarItem-0aa39512.js +0 -2
  164. package/amd/RemovableNavigationListItem-60593d4c.js +0 -2
  165. package/amd/ReorderableTabBar-19a503c7.js +0 -2
  166. package/amd/TabBar-92bac52f.js +0 -2
  167. package/amd/TabBarMixed-5b5a5047.js +0 -2
  168. package/amd/TextArea-345f89d4.js +0 -2
  169. package/amd/TextArea-345f89d4.js.map +0 -1
  170. package/amd/TextAreaAutosize-01dfd98e.js +0 -2
  171. package/amd/useNavigationListItem-582f5564.js +0 -2
  172. package/amd/useNavigationListItem-582f5564.js.map +0 -1
  173. package/cjs/NavigationList-d0d74565.js.map +0 -1
  174. package/cjs/NavigationListItem-b0b03089.js +0 -12
  175. package/cjs/NavigationListItem-b0b03089.js.map +0 -1
  176. package/cjs/NavigationListLinkItem-317a5200.js.map +0 -1
  177. package/cjs/useNavigationListItem-b97e76d5.js +0 -104
  178. package/cjs/useNavigationListItem-b97e76d5.js.map +0 -1
  179. package/es/CheckboxSet-3aab5935.js +0 -51
  180. package/es/CheckboxSet-3aab5935.js.map +0 -1
  181. package/es/TextArea-93ce78a7.js +0 -225
  182. package/es/TextArea-93ce78a7.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CardGridView-85f90c75.js","sources":["../../src/UNSAFE_CardGridView/CardGridView.tsx"],"sourcesContent":["import { useCallback, useState } from 'preact/hooks';\nimport { BaseCardView } from '../PRIVATE_BaseCardView';\nimport { Props } from '../UNSAFE_CardFlexView';\n\ntype CardGridProps<K extends string | number, D> = Props<K, D> & {\n /**\n * Provide the number of columns to render. The number of columns is required for CardGridView component.\n * If the number of columns is not provided, please use CardFlexView component.\n */\n columns: number;\n};\n\nexport function CardGridView<K extends string | number, D>(props: CardGridProps<K, D>) {\n const [cardSize, setCardSize] = useState<{ width?: number; height?: number }>({});\n const updateCardSize = useCallback((width: number, height: number) => {\n setCardSize({ width, height });\n }, []);\n\n return (\n <BaseCardView {...props} layout=\"grid\" cardSize={cardSize} updateCardSize={updateCardSize} />\n );\n}\n"],"names":["props","cardSize","setCardSize","useState","updateCardSize","useCallback","width","height","_jsx","BaseCardView","layout"],"mappings":"gIAYM,SAAqDA,GACzD,MAAOC,EAAUC,GAAeC,EAAQA,SAAsC,CAAE,GAC1EC,EAAiBC,EAAAA,aAAY,CAACC,EAAeC,KACjDL,EAAY,CAAEI,QAAOC,UAAS,GAC7B,IAEH,OACEC,MAACC,EAAAA,iBAAiBT,EAAOU,OAAO,OAAOT,SAAUA,EAAUG,eAAgBA,GAE/E"}
1
+ {"version":3,"file":"CardGridView-842f70cd.js","sources":["../../src/UNSAFE_CardGridView/CardGridView.tsx"],"sourcesContent":["import { useCallback, useState } from 'preact/hooks';\nimport { BaseCardView } from '../PRIVATE_BaseCardView';\nimport { Props } from '../UNSAFE_CardFlexView';\n\ntype CardGridProps<K extends string | number, D> = Props<K, D> & {\n /**\n * Provide the number of columns to render. The number of columns is required for CardGridView component.\n * If the number of columns is not provided, please use CardFlexView component.\n */\n columns: number;\n};\n\nexport function CardGridView<K extends string | number, D>(props: CardGridProps<K, D>) {\n const [cardSize, setCardSize] = useState<{ width?: number; height?: number }>({});\n const updateCardSize = useCallback((width: number, height: number) => {\n setCardSize({ width, height });\n }, []);\n\n return (\n <BaseCardView {...props} layout=\"grid\" cardSize={cardSize} updateCardSize={updateCardSize} />\n );\n}\n"],"names":["props","cardSize","setCardSize","useState","updateCardSize","useCallback","width","height","_jsx","BaseCardView","layout"],"mappings":"gIAYM,SAAqDA,GACzD,MAAOC,EAAUC,GAAeC,EAAQA,SAAsC,CAAE,GAC1EC,EAAiBC,EAAAA,aAAY,CAACC,EAAeC,KACjDL,EAAY,CAAEI,QAAOC,UAAS,GAC7B,IAEH,OACEC,MAACC,EAAAA,iBAAiBT,EAAOU,OAAO,OAAOT,SAAUA,EAAUG,eAAgBA,GAE/E"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', './PRIVATE_Chart/themes/ChartStyles.css', './TrackResizeContainer-d8fa612c', './UNSAFE_visErrors', './useTextDimensions-f254e8f5', './useCssVars-3194b2f6', 'preact/hooks', './ReferenceLineArea-450530dd', './utils-8bf50f08', './useUser-08901aba', 'css!./PlotAreaStyles.styles.css', './useId-c9578d26', './Axis-ea0bc4f9', './useChartViewport-ef746160', './useChartNav-0cd4f614', './mergeProps-bcfa6a92', './useSelectDrill-441c90a9', './useTestId-f4240cbd', './cssUtils-af3bf5fd', './useChartContextMenu-abadeabc', './useChartDnd-cee046fb', './eventsUtils-1f5dc91a', './accUtils-7e057eef', './layoutUtils-517a546d', './useTooltip-3a2fd217', './logger-0f873e29', './LayerHost-0b288129', 'preact/compat', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', './useChartMarquee-3865426f', './useVisTouchResponse-88a7bb09', './useOverviewContext-dd00c487', './scale-2f3251e1', './OverviewSlidingWindow-c5db4da0', './PRIVATE_VisOverview/themes/VisOverview.css', './useTranslationBundle-e4dd341e', './useChartDatatip-73405a48', 'preact', './stringUtils-4ffd9d59', './ScrollBar-fae26188'], (function(e,t,r,o,n,i,a,s,l,d,c,u,x,f,g,p,h,v,I,m,y,S,w,b,A,C,D,j,P,O,R,M,T,k,F,G,L,N,z,B,E,V,U,W){"use strict";function X(e,t,r,o){if(1===e[t][r].path.length)return{levelIndex:t,groupIndex:r};let n=Math.max(0,t-1);const i=e[t][r],{start:a,end:s}=i;for(;n>=0;){for(let t=0;t<e[n].length;t++){const{start:r,end:i}=e[n][t];if(r<=a&&s<=i&&o(n,t))return{groupIndex:t,levelIndex:n}}n-=1}return{levelIndex:t,groupIndex:r}}function H(e,t,r,o){if(t===e.length-1)return{levelIndex:t,groupIndex:r};const n=Math.min(e.length-1,t+1),i=e[t][r],{start:a,end:s}=i;for(;n<=e.length-1;)for(let t=0;t<e[n].length;t++){const{start:r,end:i}=e[n][t];if(a<=r&&i<=s&&o(n,t))return{groupIndex:t,levelIndex:n}}return{levelIndex:t,groupIndex:r}}function Y(e,t,r){const o=t.groupIndex+1,n=t.levelIndex;if(!(o>e[n].length-1))return r(n,o)?{groupIndex:o,levelIndex:n}:Y(e,{groupIndex:o,levelIndex:n},r)}function _(e,t){const r=e.groupIndex-1,o=e.levelIndex;if(!(r<0))return t(o,r)?{groupIndex:r,levelIndex:o}:_({groupIndex:r,levelIndex:o},t)}function q({x:e,width:r,height:o,y:n,windowX:i,windowHeight:a,windowWidth:s,windowY:l}){return t.jsxs(t.Fragment,{children:[t.jsx("rect",{x:e,y:n,width:Math.max(0,i-e),height:o,class:z.styles.overviewBackground}),t.jsx("rect",{x:i+s,width:Math.max(0,e+r-i-s),y:n,height:o,class:z.styles.overviewBackground}),t.jsx("rect",{x:i,y:n,height:Math.max(0,l-n),width:s,class:z.styles.overviewBackground}),t.jsx("rect",{x:i,y:l+a,width:s,class:z.styles.overviewBackground,height:Math.max(n+o-l-a,0)})]})}function Z({location:e,xAxis:r,yAxis:o,y2Axis:n,xScale:i,yScale:a,y2Scale:s,orientation:d,xAxisInfo:c,groups:u,activeId:x,activeInfo:f}){const g=t=>"front"===e?"front"===t.location:"front"!==t.location;return t.jsxs(t.Fragment,{children:[r?.referenceObjects?.filter(g).map(((e,t)=>V.createElement(l.ReferenceLineArea,{...e,key:e.id,xScale:i,yScale:a,orientation:d,groups:u,xStartIndex:c.startIndex,xEndIndex:c.endIndex,seriesIndex:t,isXRef:!0,activeId:e.id===f?.refObjId?x:void 0}))),o?.referenceObjects?.filter(g).map(((e,r)=>t.jsx(l.ReferenceLineArea,{...e,xScale:i,yScale:a,orientation:d,groups:u,xStartIndex:c.startIndex,xEndIndex:c.endIndex,seriesIndex:r,activeId:e.id===f?.refObjId?x:void 0}))),n?.referenceObjects?.filter(g).map(((e,r)=>t.jsx(l.ReferenceLineArea,{...e,xScale:i,yScale:s,orientation:d,groups:u,xStartIndex:c.startIndex,xEndIndex:c.endIndex,seriesIndex:r,activeId:e.id===f?.refObjId?x:void 0})))]})}const $=m.getChartVars(),J=P.forwardRef((({width:e,height:o,selectedIds:u,hiddenIds:m,hideAndShowBehavior:b="none",orientation:D="vertical",xAxis:j,yAxis:P,y2Axis:O,plotArea:R,dragMode:M="user",series:T,groups:z,isStacked:V=!1,stackLabelStyle:J,getStackGroup:K,getDataItem:Q,selectionMode:ee="none",drilling:te="off",dataCursorPosition:re,onSelectionChange:oe,isDataCursorEnabled:ne,dataCursorStyle:ie,onViewportChange:ae,onDataCursorPositionChange:se,onItemDrill:le,onGroupDrill:de,onItemHover:ce,onItemFocus:ue,datatip:xe,zoomAndScroll:fe="off",getNavUtil:ge,getDataItemPos:pe,getGapRatio:he,valueFormats:ve,findNearest:Ie,getMarkerInfo:me,isRtl:ye,children:Se,testId:we,renderGridLinesInFront:be,isDataXAxis:Ae,contextMenuConfig:Ce,overview:De="off",getStartAndEndAxesOffset:je,defaultOverviewContentRenderer:Pe,isOverview:Oe,yAxisSize:Re,overviewRenderer:Me,initialZooming:Te="none",...ke},Fe=null)=>{const Ge=j?.timeAxisType,Le=null!=Ge;if(d.hasInvalidData(Ge,T,z,Q))throw new n.VisInvalidDataError("Chart received invalid data");const Ne=I.useTestId(we),ze=s.useRef(null),Be=void 0!==Ne["data-testid"],Ee="horizontal"===D,{xAxisPosition:Ve,yAxisPosition:Ue,y2AxisPosition:We}=d.getAxesPosition(P,O,Ee,ye),{resolvedVars:Xe,cssContent:He}=a.useCssVars($),Ye=Array.from(Array(12)).map(((e,t)=>Xe[`color${t+1}`])),{textMeasureContent:_e,getTextDimensions:qe}=i.useTextDimensions();let Ze=d.getAvailSpace(e,o);if(Oe&&Re){const e=Ze.width-Re,t=d.getOuterGaps(e,o);Ze.width-=Re-2*t.width,Ze.x+=Re-t.width}const $e=d.getScrollBarSpace(Le,Ze,fe,Ve,De);let Je=$e.scrollDims;Ze=$e.availSpace;const{locale:Ke}=c.useUser(),{x:Qe,y:et,width:tt,height:rt}=Ze,ot=Xe.labelFontSize,nt=O?.split??"off",it="off"!==nt,at="off"!==nt?nt:.5,st=s.useMemo((()=>{const e=new Set(m);return d.getLayoutInfo(T,z,Q,j,P,O,{x:Qe,y:et,width:tt,height:rt},e,b,Ee,ye,V,ot,je,Ke,it,at,K,qe,Be,Ae,Te,fe)}),[Qe,et,tt,rt,Q,qe,z,m,b,Ae,Ee,ye,V,Be,Ke,je,ot,T,j,P,O,at,it,K,Te,fe]),{getGroupFromPath:lt,levelsArray:dt,xAxisInfo:ct,xProps:ut,xScale:xt,yProps:ft,y2Props:gt,yScale:pt,y2Scale:ht,yMaxDim:vt,yAxisInfo:It,plotAreaSpace:mt,xSpace:yt,ySpace:St,y2Space:wt,idToDataMap:bt,y2AxisInfo:At,getYPreferredSize:Ct,getY2PreferredSize:Dt,getXPreferredSize:jt}=st;s.useImperativeHandle(Fe,(()=>({_getYaxis:()=>({getPreferredSize:Ct,bounds:St}),_getY2axis:()=>({getPreferredSize:Dt,bounds:wt}),_getXaxis:()=>({getPreferredSize:jt,bounds:yt})})));const Pt=dt.length>0?dt[dt.length-1]:[];Je=d.updateScrollBarSpace(Je,"bottom"===Ve,ye,vt);const Ot=he(ct.startIndex,ct.endIndex),Rt=ge(ct.startIndex,ct.endIndex),{getNextNavGroup:Mt,getDefaultNavGroup:Tt}=function(e,t,r,o,n){const i=(r,o)=>{const i=e[r][o].item,a=i.name||i.id,s=i.drilling;return!!n?.(r,o)&&null!=a&&("on"===t||"groupsOnly"===t)&&"off"!=s};return{getNextNavGroup:(t,n)=>{let a;return"ArrowRight"===n?a=o?r?X(e,t.levelIndex,t.groupIndex,i):H(e,t.levelIndex,t.groupIndex,i):r?_(t,i):Y(e,t,i):"ArrowLeft"===n?a=o?r?H(e,t.levelIndex,t.groupIndex,i):X(e,t.levelIndex,t.groupIndex,i):r?Y(e,t,i):_(t,i):"ArrowDown"===n?a=o?Y(e,t,i):X(e,t.levelIndex,t.groupIndex,i):"ArrowUp"===n&&(a=o?_(t,i):H(e,t.levelIndex,t.groupIndex,i)),a||t},getDefaultNavGroup:()=>{for(let t=0;t<e.length;t++){const r=e[t].length;for(let e=0;e<r;e++)if(i(t,e))return{groupIndex:e,levelIndex:t}}return{groupIndex:0,levelIndex:0}}}}(dt,te,ye,Ee,ut.isGroupLabelRendered),kt=s.useMemo((()=>function(e,t,r){const o=e=>(e??[]).map((e=>{return{id:e.id,val:(t=e,"line"===t.type?t.value:"area"===t.type&&null!=t.low&&null!=t.high?(t.low+t.high)/2:void 0)};var t})).filter((e=>null!=e.id&&null!=e.val)).sort(((e,t)=>e.val-t.val));return[...o(e),...o(t),...o(r)]}(j?.referenceObjects,P?.referenceObjects,O?.referenceObjects)),[j?.referenceObjects,P?.referenceObjects,O?.referenceObjects]),{ignoreSelectPointerUp:Ft,cursor:Gt,yAxisCursor:Lt,marqueeProps:Nt,marqueeContent:zt,toggleButtonContent:Bt,isPointInsideMarquee:Et,dragMode:Vt}=k.useChartMarquee({rootRef:ze,plotAreaSpace:mt,xSpace:yt,ySpace:St,dragMode:M,chartWidth:e,isMultiSelection:"multiple"===ee,onViewportChange:ae,isZoomScroll:"live"===fe,xScale:xt,selectedIds:u,getDataById:e=>bt.get(e),onSelectionChange:oe,isRtl:ye,xAxisInfo:ct}),{touchResponse:Ut,touchResponseStyle:Wt}=F.useVisTouchResponse({type:"auto",supportsTouchDragGestures:"off"!==Vt,rootRef:ze}),{activeId:Xt,focusedItemInfo:Ht,hoveredItemInfo:Yt,focusedGroupInfo:_t,navProps:qt,onFocusUpdate:Zt}=p.useChartNav({rootRef:ze,getNextChartItem:Rt,getNextRefObject:(e,t)=>{const r=kt;if(!r||0===r.length)return{};const o="ArrowLeft"===t||"ArrowUp"===t?-1:1;let n=(null!=e.refObjId?r.findIndex((t=>t.id===e.refObjId)):o>0?-1:r.length)+o;return n<0&&(n=0),n>=r.length&&(n=r.length-1),{refObjId:r[n].id}},getNextNavGroup:Mt,getDefaultNavGroup:Tt,touchResponse:Ut,onItemHover:ce,onItemFocus:ue,drilling:te,xAxisInfo:ct}),$t=B.useTranslationBundle("@oracle/oraclejet-preact"),Jt=E.getTextAndDimsInfo(ut.tickLabels,_t.groupIndex,_t.levelIndex),{tooltipContent:Kt,tooltipProps:Qt}=function({getTextAndBounds:e,width:t,isRtl:r,textAndBounds:o}){const[n,i]=s.useState(),a=s.useRef(),l=s.useRef(!1);s.useEffect((()=>{o.text?(a.current=o.bounds,i(o.text)):l.current||i(void 0)}),[o]);const{tooltipContent:d,tooltipProps:c}=C.useTooltip({text:n,position:"top-start",offset:A.calculateOffset(r,t,a.current)});return{tooltipContent:d,tooltipProps:h.mergeProps({onPointerMove:t=>{const r=e(t.target);r?(a.current=r.bounds,i(r.text),l.current=!0):(i(void 0),l.current=!1)}},c)}}({getTextAndBounds:e=>E.getTextAndBoundsUtil(e,ze,j?.title,P?.title,O?.title,ut.titleProps?.dims,ft.titleProps?.dims,gt.titleProps?.dims,ut.tickLabels,_t),width:e,isRtl:ye,textAndBounds:{bounds:Jt?.dims,text:Jt?.text}}),er=g.useChartViewport({rootRef:ze,width:e,height:o,xAxisInfo:ct,yAxisInfo:It,y2AxisInfo:At,xScale:xt,yScale:pt,y2Scale:ht,plotAreaSpace:mt,isRtl:ye,isHoriz:Ee,zoomAndScroll:fe,onViewportChange:ae}),{selectDrillProps:tr,selectionContent:rr}=v.useSelectDrill({selectionMode:ee,selection:[...u],onChange:oe,rootRef:ze,drilling:te,onItemDrill:le,onGroupDrill:de,focusedGroupInfo:_t,focusedItemInfo:Ht,levelsArray:dt,getDataItem:Q,getDataById:e=>bt.get(e),ignoreAsTrigger:e=>{if(!e)return!1;const t=w.getElementData(ze,e);return!((!t||"marquee"!==t.ojPrivateObject&&"dragModeControls"!==t.ojPrivateObject&&"scrollBar"!==t.ojPrivateObject)&&!Ft)}}),or=Ie(xt,pt,ht,ut.axisStepWidth,ut.averageGroupZ,Ot),nr=pe(xt,pt,ht,ut.axisStepWidth,ut.averageGroupZ,Ot),[ir,ar]=s.useState(!1),sr=E.getAriaLabelGenerator(T,$t,ve,Pt,j,!!Ae,lt,ut.defaultLabelFormatter,ft.defaultLabelFormatter,gt.defaultLabelFormatter),{datatipContent:lr,dataCursorContent:dr,datatipProps:{"aria-describedby":cr,...ur}}=v.useChartDatatipAndCursor({series:T,leafGroupsInfo:Pt,width:e,height:o,findNearest:or,plotAreaSpace:mt,onDataCursorPositionChange:se,isDataCursorEnabled:ne,dataCursorPosition:re,dataCursorStyle:ie,hoveredItemInfo:Yt,focusedItemInfo:Ht,getDataItem:Q,getRefItem:e=>j?.referenceObjects?.find((t=>t.id===e))??P?.referenceObjects?.find((t=>t.id===e))??O?.referenceObjects?.find((t=>t.id===e)),getRefObjectBounds:e=>function(e,t,r,o,n,i,a,s,l){const d=t?.find((t=>t.id===e))??r?.find((t=>t.id===e))??o?.find((t=>t.id===e));if(!d)return;const c=t?.some((t=>t.id===e)),u=o?.some((t=>t.id===e)),x=!!c,f=x?n:u?a:i,g=x?i:n,p=(e,t)=>({x:e,y:t,width:1,height:1});if("line"===d.type&&null!=d.value){const e=f?.transform(d.value),t=g?.range?.(),r=t?.[0],o=t?.[1];if("number"!=typeof e||isNaN(e)||null==r||null==o)return;const n=(r+o)/2;return"vertical"===s&&!x||"horizontal"===s&&x?p(n,e):p(e,n)}if("area"===d.type){const e=f?.domain?.(),t=e?Math.min(e[0],e[1]):-1/0,r=e?Math.max(e[0],e[1]):1/0,o=null!=d.low?Math.max(d.low,t):t,n=null!=d.high?Math.min(d.high,r):r,i=f?.transform(o),a=f?.transform(n),l=g?.range?.(),c=l?.[0],u=l?.[1];if("number"!=typeof i||"number"!=typeof a||isNaN(i)||isNaN(a)||null==c||null==u)return;const h=(c+u)/2,v=(i+a)/2;return"vertical"===s&&!x||"horizontal"===s&&x?p(h,v):p(v,h)}return p(l.x+l.width/2,l.y+l.height/2)}(e,j?.referenceObjects,P?.referenceObjects,O?.referenceObjects,xt,pt,ht,D,mt),getRefAxis:e=>j?.referenceObjects?.some((t=>t.id===e))?"x":P?.referenceObjects?.some((t=>t.id===e))?"y":O?.referenceObjects?.some((t=>t.id===e))?"y2":void 0,getMarkerInfo:me,getDataItemPos:nr,datatip:xe,valueFormats:ve,isHoriz:Ee,touchResponse:Ut,isDisabled:ir,xScale:xt,yScale:pt,y2Scale:ht,timeAxisType:Ge,defaultXFormatter:ut.defaultLabelFormatter,defaultYFormatter:ft.defaultLabelFormatter,defaultY2Formatter:gt.defaultLabelFormatter,hasXYValues:Ae,getGroupFromPath:lt,translations:$t}),xr=x.useId(),fr=t.jsx(l.Gridlines,{plotArea:R,availSpace:mt,xAxisPosition:Ve,isRtl:ye,yMinorTicks:It.minorTicks,xMinorTicks:ct.minorTicks,xScale:xt,yScale:pt,y2Scale:ht,isLog:"log"===P?.scale,yAxisPosition:Ue,isDataXAxis:Ae,xAxis:j,yAxis:P,y2Axis:O,hasAxisLine:!Oe,y2MinorTicks:At?.minorTicks,y2Ticks:At.ticks,yTicks:It.ticks,xTicks:ct.ticks,isSplitDualY:it}),{contextMenuContent:gr,contextMenuProps:pr}=y.useChartContextMenu({isRtl:ye,width:e,height:o,getDataItemPosition:nr,series:T,levelsArray:dt,focusedGroupInfo:_t,getDataItem:Q,focusedItemInfo:Ht,rootRef:ze,xAxisTitle:j?.title,yAxisTitle:P?.title,contextMenuConfig:d.hasData(T,z)?Ce:void 0,onContextMenuDismissed:e=>{"keyboard"===e&&Zt()}}),[hr,vr]=s.useState({accepted:void 0,type:""}),{draggable:Ir,dndProps:mr,dndContent:yr}=S.useChartDnd({onDrag:ke.onDrag,onDragStart:ke.onDragStart,onDragEnd:ke.onDragEnd,onDragEnter:ke.onDragEnter,onDragLeave:ke.onDragLeave,onDragOver:ke.onDragOver,onDrop:ke.onDrop,itemsDraggable:ke.itemsDraggable,groupDraggable:ke.groupDraggable,rootRef:ze,levelsArray:dt,series:T,selectedIds:u,getDataItem:Q,xSpace:yt,ySpace:St,plotAreaSpace:mt,setDragOver:vr,setDatatipDisabled:ar,onSelectionChange:oe}),Sr=h.mergeProps(qt,tr,er,ur,Nt,Qt,pr,mr),wr="off"==De||"on"!==De&&De.renderer?void 0:Pe,{background:br,slidingWindow:Ar}=Me(mt),Cr=null!=Ht.refObjId&&Ht.isFocusVisible,Dr=d.getActiveInfo(Ht,Yt);return t.jsxs(t.Fragment,{children:[qe&&null!=Xe.labelFontSize&&t.jsxs("div",{tabIndex:Oe?void 0:0,draggable:Ir,ref:ze,"aria-activedescendant":Xt,"aria-label":ke["aria-label"],"aria-labelledby":ke["aria-labelledby"],"aria-describedby":U.l([ke["aria-describedby"],cr]),style:{...Wt},role:Oe?void 0:"application",className:r.styles.baseChartStyle,"data-oj-private-selection-mode":Be?ee:void 0,...Ne,...Oe?{}:Sr,children:[t.jsxs("svg",{width:"100%",height:0!=Je.height&&"off"!=De?Math.ceil(100*($e.availSpace.height+10))/o+"%":"100%",children:[t.jsx("clipPath",{id:`${xr}`,children:t.jsx("rect",{...mt})}),br,t.jsx(l.PlotArea,{color:R?.color,dragOverStyle:"plotArea"!==hr.type?"none":hr.accepted?"accept":"reject",cursor:Gt,availSpace:mt}),!be&&fr,t.jsx(f.Axis,{...ft,axisPosition:Ue,isRtl:ye,cursor:Lt,availSpace:St,dragOverStyle:"yAxis"!==hr.type?"none":hr.accepted?"accept":"reject"}),t.jsx(f.Axis,{...gt,axisPosition:We,isRtl:ye,cursor:Lt,availSpace:wt,dragOverStyle:"y2Axis"!==hr.type?"none":hr.accepted?"accept":"reject"}),t.jsx(f.Axis,{...ut,isRtl:ye,axisPosition:Ve,isTextInteractive:e=>{if(Le)return!1;const t=z[e]?.drilling;return"on"===t||"off"!=t&&("on"===te||"groupsOnly"===te)},activeId:Xt,cursor:Gt,focusedGroupIndex:_t.isFocusVisible?_t.groupIndex:void 0,focusedGroupLevelIndex:_t.isFocusVisible?_t.levelIndex:void 0,availSpace:yt,dragOverStyle:"xAxis"!==hr.type?"none":hr.accepted?"accept":"reject",separatorColor:j?.groupSeparators?.color}),t.jsxs("g",{"clip-path":`url(#${xr})`,children:[t.jsx(Z,{location:"back",activeId:Cr?Xt:void 0,activeInfo:Dr,xAxis:j,yAxis:P,y2Axis:O,xScale:xt,yScale:pt,y2Scale:ht,orientation:D,xAxisInfo:ct,groups:z}),Se({xStartIndex:ct.startIndex,xEndIndex:ct.endIndex,getItemAriaLabel:sr,groupsInfo:Pt,resolvedColors:Ye,xScale:xt,yScale:pt,y2Scale:ht,isPointInsideMarquee:Et,defaultFontSize:Xe.labelFontSize,gapRatio:Ot,activeId:Xt,focusedItemInfo:Ht,hoveredItemInfo:Yt,getTextDimensions:qe,axisStepWidth:ut.axisStepWidth,averageGroupZ:ut.averageGroupZ,plotAreaClipPathId:xr}),be&&fr,t.jsx(Z,{location:"front",xAxis:j,yAxis:P,y2Axis:O,activeId:Xt,activeInfo:Dr,xScale:xt,yScale:pt,y2Scale:ht,orientation:D,xAxisInfo:ct,groups:z}),dr]}),Ar,"live"===fe&&!Oe&&t.jsx(W.ScrollBar,{availSpace:Je,isRtl:ye,viewport:ct,axisExtent:ct,isHoriz:"bottom"===Ve}),zt]}),t.jsx(G.OverviewContext.Provider,{value:{yAxisSize:St.width,isOverview:!0,width:e,height:Je.height,overviewRenderer:e=>{const{xScale:r,...o}=function(e,t,r,o,n,i){const a=[r.min,r.max],s=e?[i.x+i.width,i.x]:[i.x,i.x+i.width],l=new L.ScaleLinear(a,s),d=[n.min,n.max],c=[i.y+i.height,i.y],u=new L.ScaleLinear(d,c),x=l.transform(t.viewportMin),f=Math.abs(l.transform(t.viewportMax)-l.transform(t.viewportMin));return{windowX:e?x-f:x,windowWidth:f,windowY:u.transform(o.viewportMax),windowHeight:Math.abs(u.transform(o.viewportMax)-u.transform(o.viewportMin)),xScale:l,yScale:u}}(ye,ct,ct,It,It,e);return function(e,r,o,n,i,a,s){return{slidingWindow:t.jsx(N.OverviewSlidingWindow,{...n,...i,hasHandles:a,onWindowDimsChange:t=>{d.updateViewportFromOverview(e,r,i.windowX,i.windowWidth,t.deltaX,t.deltaWidth,o,s)}}),background:t.jsx(q,{...n,...i})}}(ct,ye,r,e,o,!0,ae)}},children:!Oe&&"off"!==De&&wr&&t.jsx("div",{style:{width:e,height:Je.height},children:wr()})}),Bt,lr,Kt,gr,rr,yr]}),_e,He]})})),K=P.forwardRef((({width:e,height:n,...i},a=null)=>{const{isOverview:s,overviewRenderer:l,yAxisSize:d,width:c,height:u}=G.useOverviewContext();let x=e,f=n;return void 0===x&&s&&void 0!==c&&(x=`${c}px`),void 0===f&&s&&void 0!==u&&(f=`${u}px`),t.jsx(o.TrackResizeContainer,{width:x,height:f,class:r.dimensionStyle,children:(e,r)=>e||r?t.jsx(J,{ref:a,width:e,height:r,...i,yAxisSize:d,isOverview:s,overviewRenderer:l}):void 0})}));e.Chart=K}));
2
- //# sourceMappingURL=Chart-57965de4.js.map
1
+ define(['exports', 'preact/jsx-runtime', './PRIVATE_Chart/themes/ChartStyles.css', './TrackResizeContainer-d8fa612c', './UNSAFE_visErrors', './useTextDimensions-f254e8f5', './useCssVars-3194b2f6', 'preact/hooks', './ReferenceLineArea-450530dd', './utils-8bf50f08', './useUser-08901aba', 'css!./PlotAreaStyles.styles.css', './useId-c9578d26', './Axis-ea0bc4f9', './useChartViewport-ef746160', './useChartNav-0cd4f614', './mergeProps-bcfa6a92', './ScrollBar-fae26188', './useSelectDrill-441c90a9', './useTestId-f4240cbd', './cssUtils-af3bf5fd', './useChartContextMenu-abadeabc', './useChartDnd-cee046fb', './eventsUtils-1f5dc91a', './accUtils-7e057eef', './layoutUtils-517a546d', './useTooltip-3a2fd217', './logger-0f873e29', './LayerHost-0b288129', 'preact/compat', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-2bb62284', './useChartMarquee-3865426f', './useVisTouchResponse-88a7bb09', './useOverviewContext-dd00c487', './scale-2f3251e1', './OverviewSlidingWindow-c5db4da0', './PRIVATE_VisOverview/themes/VisOverview.css', './useTranslationBundle-e4dd341e', './useChartDatatip-73405a48', 'preact', './stringUtils-4ffd9d59'], (function(e,t,r,o,n,i,a,s,l,d,c,u,x,f,g,p,h,v,I,m,y,S,w,b,A,C,D,j,P,O,R,M,T,k,F,G,L,N,z,B,E,V,U,W){"use strict";function X(e,t,r,o){if(1===e[t][r].path.length)return{levelIndex:t,groupIndex:r};let n=Math.max(0,t-1);const i=e[t][r],{start:a,end:s}=i;for(;n>=0;){for(let t=0;t<e[n].length;t++){const{start:r,end:i}=e[n][t];if(r<=a&&s<=i&&o(n,t))return{groupIndex:t,levelIndex:n}}n-=1}return{levelIndex:t,groupIndex:r}}function H(e,t,r,o){if(t===e.length-1)return{levelIndex:t,groupIndex:r};const n=Math.min(e.length-1,t+1),i=e[t][r],{start:a,end:s}=i;for(;n<=e.length-1;)for(let t=0;t<e[n].length;t++){const{start:r,end:i}=e[n][t];if(a<=r&&i<=s&&o(n,t))return{groupIndex:t,levelIndex:n}}return{levelIndex:t,groupIndex:r}}function Y(e,t,r){const o=t.groupIndex+1,n=t.levelIndex;if(!(o>e[n].length-1))return r(n,o)?{groupIndex:o,levelIndex:n}:Y(e,{groupIndex:o,levelIndex:n},r)}function _(e,t){const r=e.groupIndex-1,o=e.levelIndex;if(!(r<0))return t(o,r)?{groupIndex:r,levelIndex:o}:_({groupIndex:r,levelIndex:o},t)}function q({x:e,width:r,height:o,y:n,windowX:i,windowHeight:a,windowWidth:s,windowY:l}){return t.jsxs(t.Fragment,{children:[t.jsx("rect",{x:e,y:n,width:Math.max(0,i-e),height:o,class:B.styles.overviewBackground}),t.jsx("rect",{x:i+s,width:Math.max(0,e+r-i-s),y:n,height:o,class:B.styles.overviewBackground}),t.jsx("rect",{x:i,y:n,height:Math.max(0,l-n),width:s,class:B.styles.overviewBackground}),t.jsx("rect",{x:i,y:l+a,width:s,class:B.styles.overviewBackground,height:Math.max(n+o-l-a,0)})]})}function Z({location:e,xAxis:r,yAxis:o,y2Axis:n,xScale:i,yScale:a,y2Scale:s,orientation:d,xAxisInfo:c,groups:u,activeId:x,activeInfo:f}){const g=t=>"front"===e?"front"===t.location:"front"!==t.location;return t.jsxs(t.Fragment,{children:[r?.referenceObjects?.filter(g).map(((e,t)=>U.createElement(l.ReferenceLineArea,{...e,key:e.id,xScale:i,yScale:a,orientation:d,groups:u,xStartIndex:c.startIndex,xEndIndex:c.endIndex,seriesIndex:t,isXRef:!0,activeId:e.id===f?.refObjId?x:void 0}))),o?.referenceObjects?.filter(g).map(((e,r)=>t.jsx(l.ReferenceLineArea,{...e,xScale:i,yScale:a,orientation:d,groups:u,xStartIndex:c.startIndex,xEndIndex:c.endIndex,seriesIndex:r,activeId:e.id===f?.refObjId?x:void 0}))),n?.referenceObjects?.filter(g).map(((e,r)=>t.jsx(l.ReferenceLineArea,{...e,xScale:i,yScale:s,orientation:d,groups:u,xStartIndex:c.startIndex,xEndIndex:c.endIndex,seriesIndex:r,activeId:e.id===f?.refObjId?x:void 0})))]})}const $=y.getChartVars(),J=O.forwardRef((({width:e,height:o,selectedIds:u,hiddenIds:y,hideAndShowBehavior:A="none",orientation:j="vertical",xAxis:P,yAxis:O,y2Axis:R,plotArea:M,dragMode:T="user",series:k,groups:B,isStacked:U=!1,stackLabelStyle:J,getStackGroup:K,getDataItem:Q,selectionMode:ee="none",drilling:te="off",dataCursorPosition:re,onSelectionChange:oe,isDataCursorEnabled:ne,dataCursorStyle:ie,onViewportChange:ae,onDataCursorPositionChange:se,onItemDrill:le,onGroupDrill:de,onItemHover:ce,onItemFocus:ue,datatip:xe,zoomAndScroll:fe="off",getNavUtil:ge,getDataItemPos:pe,getGapRatio:he,valueFormats:ve,findNearest:Ie,getMarkerInfo:me,isRtl:ye,children:Se,testId:we,renderGridLinesInFront:be,isDataXAxis:Ae,contextMenuConfig:Ce,overview:De="off",getStartAndEndAxesOffset:je,defaultOverviewContentRenderer:Pe,isOverview:Oe,yAxisSize:Re,overviewRenderer:Me,initialZooming:Te="none",...ke},Fe=null)=>{const Ge=P?.timeAxisType,Le=null!=Ge;if(d.hasInvalidData(Ge,k,B,Q))throw new n.VisInvalidDataError("Chart received invalid data");const Ne=m.useTestId(we),ze=s.useRef(null),Be=void 0!==Ne["data-testid"],Ee="horizontal"===j,{xAxisPosition:Ve,yAxisPosition:Ue,y2AxisPosition:We}=d.getAxesPosition(O,R,Ee,ye),{resolvedVars:Xe,cssContent:He}=a.useCssVars($),Ye=Array.from(Array(12)).map(((e,t)=>Xe[`color${t+1}`])),{textMeasureContent:_e,getTextDimensions:qe}=i.useTextDimensions();let Ze=d.getAvailSpace(e,o);if(Oe&&Re){const e=Ze.width-Re,t=d.getOuterGaps(e,o);Ze.width-=Re-2*t.width,Ze.x+=Re-t.width}const $e=d.getScrollBarSpace(Le,Ze,fe,Ve,De);let Je=$e.scrollDims;Ze=$e.availSpace;const{locale:Ke}=c.useUser(),{x:Qe,y:et,width:tt,height:rt}=Ze,ot=Xe.labelFontSize,nt=R?.split??"off",it="off"!==nt,at="off"!==nt?nt:.5,st=s.useMemo((()=>{const e=new Set(y);return d.getLayoutInfo(k,B,Q,P,O,R,{x:Qe,y:et,width:tt,height:rt},e,A,Ee,ye,U,ot,je,Ke,it,at,K,qe,Be,Ae,Te,fe)}),[Qe,et,tt,rt,Q,qe,B,y,A,Ae,Ee,ye,U,Be,Ke,je,ot,k,P,O,R,at,it,K,Te,fe]),{getGroupFromPath:lt,levelsArray:dt,xAxisInfo:ct,xProps:ut,xScale:xt,yProps:ft,y2Props:gt,yScale:pt,y2Scale:ht,yMaxDim:vt,yAxisInfo:It,plotAreaSpace:mt,xSpace:yt,ySpace:St,y2Space:wt,idToDataMap:bt,y2AxisInfo:At,getYPreferredSize:Ct,getY2PreferredSize:Dt,getXPreferredSize:jt}=st;s.useImperativeHandle(Fe,(()=>({_getYaxis:()=>({getPreferredSize:Ct,bounds:St}),_getY2axis:()=>({getPreferredSize:Dt,bounds:wt}),_getXaxis:()=>({getPreferredSize:jt,bounds:yt})})));const Pt=dt.length>0?dt[dt.length-1]:[];Je=d.updateScrollBarSpace(Je,"bottom"===Ve,ye,vt);const Ot=he(ct.startIndex,ct.endIndex),Rt=ge(ct.startIndex,ct.endIndex),{getNextNavGroup:Mt,getDefaultNavGroup:Tt}=function(e,t,r,o,n){const i=(r,o)=>{const i=e[r][o].item,a=i.name||i.id,s=i.drilling;return!!n?.(r,o)&&null!=a&&("on"===t||"groupsOnly"===t)&&"off"!=s};return{getNextNavGroup:(t,n)=>{let a;return"ArrowRight"===n?a=o?r?X(e,t.levelIndex,t.groupIndex,i):H(e,t.levelIndex,t.groupIndex,i):r?_(t,i):Y(e,t,i):"ArrowLeft"===n?a=o?r?H(e,t.levelIndex,t.groupIndex,i):X(e,t.levelIndex,t.groupIndex,i):r?Y(e,t,i):_(t,i):"ArrowDown"===n?a=o?Y(e,t,i):X(e,t.levelIndex,t.groupIndex,i):"ArrowUp"===n&&(a=o?_(t,i):H(e,t.levelIndex,t.groupIndex,i)),a||t},getDefaultNavGroup:()=>{for(let t=0;t<e.length;t++){const r=e[t].length;for(let e=0;e<r;e++)if(i(t,e))return{groupIndex:e,levelIndex:t}}return{groupIndex:0,levelIndex:0}}}}(dt,te,ye,Ee,ut.isGroupLabelRendered),kt=s.useMemo((()=>function(e,t,r){const o=e=>(e??[]).map((e=>{return{id:e.id,val:(t=e,"line"===t.type?t.value:"area"===t.type&&null!=t.low&&null!=t.high?(t.low+t.high)/2:void 0)};var t})).filter((e=>null!=e.id&&null!=e.val)).sort(((e,t)=>e.val-t.val));return[...o(e),...o(t),...o(r)]}(P?.referenceObjects,O?.referenceObjects,R?.referenceObjects)),[P?.referenceObjects,O?.referenceObjects,R?.referenceObjects]),{ignoreSelectPointerUp:Ft,cursor:Gt,yAxisCursor:Lt,marqueeProps:Nt,marqueeContent:zt,toggleButtonContent:Bt,isPointInsideMarquee:Et,dragMode:Vt}=F.useChartMarquee({rootRef:ze,plotAreaSpace:mt,xSpace:yt,ySpace:St,dragMode:T,chartWidth:e,isMultiSelection:"multiple"===ee,onViewportChange:ae,isZoomScroll:"live"===fe,xScale:xt,selectedIds:u,getDataById:e=>bt.get(e),onSelectionChange:oe,isRtl:ye,xAxisInfo:ct}),{touchResponse:Ut,touchResponseStyle:Wt}=G.useVisTouchResponse({type:"auto",supportsTouchDragGestures:"off"!==Vt,rootRef:ze}),{activeId:Xt,focusedItemInfo:Ht,hoveredItemInfo:Yt,focusedGroupInfo:_t,navProps:qt,onFocusUpdate:Zt}=p.useChartNav({rootRef:ze,getNextChartItem:Rt,getNextRefObject:(e,t)=>{const r=kt;if(!r||0===r.length)return{};const o="ArrowLeft"===t||"ArrowUp"===t?-1:1;let n=(null!=e.refObjId?r.findIndex((t=>t.id===e.refObjId)):o>0?-1:r.length)+o;return n<0&&(n=0),n>=r.length&&(n=r.length-1),{refObjId:r[n].id}},getNextNavGroup:Mt,getDefaultNavGroup:Tt,touchResponse:Ut,onItemHover:ce,onItemFocus:ue,drilling:te,xAxisInfo:ct}),$t=E.useTranslationBundle("@oracle/oraclejet-preact"),Jt=V.getTextAndDimsInfo(ut.tickLabels,_t.groupIndex,_t.levelIndex),{tooltipContent:Kt,tooltipProps:Qt}=function({getTextAndBounds:e,width:t,isRtl:r,textAndBounds:o}){const[n,i]=s.useState(),a=s.useRef(),l=s.useRef(!1);s.useEffect((()=>{o.text?(a.current=o.bounds,i(o.text)):l.current||i(void 0)}),[o]);const{tooltipContent:d,tooltipProps:c}=D.useTooltip({text:n,position:"top-start",offset:C.calculateOffset(r,t,a.current)});return{tooltipContent:d,tooltipProps:h.mergeProps({onPointerMove:t=>{const r=e(t.target);r?(a.current=r.bounds,i(r.text),l.current=!0):(i(void 0),l.current=!1)}},c)}}({getTextAndBounds:e=>V.getTextAndBoundsUtil(e,ze,P?.title,O?.title,R?.title,ut.titleProps?.dims,ft.titleProps?.dims,gt.titleProps?.dims,ut.tickLabels,_t),width:e,isRtl:ye,textAndBounds:{bounds:Jt?.dims,text:Jt?.text}}),er=g.useChartViewport({rootRef:ze,width:e,height:o,xAxisInfo:ct,yAxisInfo:It,y2AxisInfo:At,xScale:xt,yScale:pt,y2Scale:ht,plotAreaSpace:mt,isRtl:ye,isHoriz:Ee,zoomAndScroll:fe,onViewportChange:ae}),{selectDrillProps:tr,selectionContent:rr}=I.useSelectDrill({selectionMode:ee,selection:[...u],onChange:oe,rootRef:ze,drilling:te,onItemDrill:le,onGroupDrill:de,focusedGroupInfo:_t,focusedItemInfo:Ht,levelsArray:dt,getDataItem:Q,getDataById:e=>bt.get(e),ignoreAsTrigger:e=>{if(!e)return!1;const t=b.getElementData(ze,e);return!((!t||"marquee"!==t.ojPrivateObject&&"dragModeControls"!==t.ojPrivateObject&&"scrollBar"!==t.ojPrivateObject)&&!Ft)}}),or=Ie(xt,pt,ht,ut.axisStepWidth,ut.averageGroupZ,Ot),nr=pe(xt,pt,ht,ut.axisStepWidth,ut.averageGroupZ,Ot),[ir,ar]=s.useState(!1),sr=V.getAriaLabelGenerator(k,$t,ve,Pt,P,!!Ae,lt,ut.defaultLabelFormatter,ft.defaultLabelFormatter,gt.defaultLabelFormatter),{datatipContent:lr,dataCursorContent:dr,datatipProps:{"aria-describedby":cr,...ur}}=I.useChartDatatipAndCursor({series:k,leafGroupsInfo:Pt,width:e,height:o,findNearest:or,plotAreaSpace:mt,onDataCursorPositionChange:se,isDataCursorEnabled:ne,dataCursorPosition:re,dataCursorStyle:ie,hoveredItemInfo:Yt,focusedItemInfo:Ht,getDataItem:Q,getRefItem:e=>P?.referenceObjects?.find((t=>t.id===e))??O?.referenceObjects?.find((t=>t.id===e))??R?.referenceObjects?.find((t=>t.id===e)),getRefObjectBounds:e=>function(e,t,r,o,n,i,a,s,l){const d=t?.find((t=>t.id===e))??r?.find((t=>t.id===e))??o?.find((t=>t.id===e));if(!d)return;const c=t?.some((t=>t.id===e)),u=o?.some((t=>t.id===e)),x=!!c,f=x?n:u?a:i,g=x?i:n,p=(e,t)=>({x:e,y:t,width:1,height:1});if("line"===d.type&&null!=d.value){const e=f?.transform(d.value),t=g?.range?.(),r=t?.[0],o=t?.[1];if("number"!=typeof e||isNaN(e)||null==r||null==o)return;const n=(r+o)/2;return"vertical"===s&&!x||"horizontal"===s&&x?p(n,e):p(e,n)}if("area"===d.type){const e=f?.domain?.(),t=e?Math.min(e[0],e[1]):-1/0,r=e?Math.max(e[0],e[1]):1/0,o=null!=d.low?Math.max(d.low,t):t,n=null!=d.high?Math.min(d.high,r):r,i=f?.transform(o),a=f?.transform(n),l=g?.range?.(),c=l?.[0],u=l?.[1];if("number"!=typeof i||"number"!=typeof a||isNaN(i)||isNaN(a)||null==c||null==u)return;const h=(c+u)/2,v=(i+a)/2;return"vertical"===s&&!x||"horizontal"===s&&x?p(h,v):p(v,h)}return p(l.x+l.width/2,l.y+l.height/2)}(e,P?.referenceObjects,O?.referenceObjects,R?.referenceObjects,xt,pt,ht,j,mt),getRefAxis:e=>P?.referenceObjects?.some((t=>t.id===e))?"x":O?.referenceObjects?.some((t=>t.id===e))?"y":R?.referenceObjects?.some((t=>t.id===e))?"y2":void 0,getMarkerInfo:me,getDataItemPos:nr,datatip:xe,valueFormats:ve,isHoriz:Ee,touchResponse:Ut,isDisabled:ir,xScale:xt,yScale:pt,y2Scale:ht,timeAxisType:Ge,defaultXFormatter:ut.defaultLabelFormatter,defaultYFormatter:ft.defaultLabelFormatter,defaultY2Formatter:gt.defaultLabelFormatter,hasXYValues:Ae,getGroupFromPath:lt,translations:$t}),xr=x.useId(),fr=t.jsx(l.Gridlines,{plotArea:M,availSpace:mt,xAxisPosition:Ve,isRtl:ye,yMinorTicks:It.minorTicks,xMinorTicks:ct.minorTicks,xScale:xt,yScale:pt,y2Scale:ht,isLog:"log"===O?.scale,yAxisPosition:Ue,isDataXAxis:Ae,xAxis:P,yAxis:O,y2Axis:R,hasAxisLine:!Oe,y2MinorTicks:At?.minorTicks,y2Ticks:At.ticks,yTicks:It.ticks,xTicks:ct.ticks,isSplitDualY:it}),{contextMenuContent:gr,contextMenuProps:pr}=S.useChartContextMenu({isRtl:ye,width:e,height:o,getDataItemPosition:nr,series:k,levelsArray:dt,focusedGroupInfo:_t,getDataItem:Q,focusedItemInfo:Ht,rootRef:ze,xAxisTitle:P?.title,yAxisTitle:O?.title,contextMenuConfig:d.hasData(k,B)?Ce:void 0,onContextMenuDismissed:e=>{"keyboard"===e&&Zt()}}),[hr,vr]=s.useState({accepted:void 0,type:""}),{draggable:Ir,dndProps:mr,dndContent:yr}=w.useChartDnd({onDrag:ke.onDrag,onDragStart:ke.onDragStart,onDragEnd:ke.onDragEnd,onDragEnter:ke.onDragEnter,onDragLeave:ke.onDragLeave,onDragOver:ke.onDragOver,onDrop:ke.onDrop,itemsDraggable:ke.itemsDraggable,groupDraggable:ke.groupDraggable,rootRef:ze,levelsArray:dt,series:k,selectedIds:u,getDataItem:Q,xSpace:yt,ySpace:St,plotAreaSpace:mt,setDragOver:vr,setDatatipDisabled:ar,onSelectionChange:oe}),Sr=h.mergeProps(qt,tr,er,ur,Nt,Qt,pr,mr),wr="off"==De||"on"!==De&&De.renderer?void 0:Pe,{background:br,slidingWindow:Ar}=Me(mt),Cr=null!=Ht.refObjId&&Ht.isFocusVisible,Dr=d.getActiveInfo(Ht,Yt);return t.jsxs(t.Fragment,{children:[qe&&null!=Xe.labelFontSize&&t.jsxs("div",{tabIndex:Oe?void 0:0,draggable:Ir,ref:ze,"aria-activedescendant":Xt,"aria-label":ke["aria-label"],"aria-labelledby":ke["aria-labelledby"],"aria-describedby":W.l([ke["aria-describedby"],cr]),style:{...Wt},role:Oe?void 0:"application",className:r.styles.baseChartStyle,"data-oj-private-selection-mode":Be?ee:void 0,...Ne,...Oe?{}:Sr,children:[t.jsxs("svg",{width:"100%",height:0!=Je.height&&"off"!=De?Math.ceil(100*($e.availSpace.height+10))/o+"%":"100%",children:[t.jsx("clipPath",{id:`${xr}`,children:t.jsx("rect",{...mt})}),br,t.jsx(l.PlotArea,{color:M?.color,dragOverStyle:"plotArea"!==hr.type?"none":hr.accepted?"accept":"reject",cursor:Gt,availSpace:mt}),!be&&fr,t.jsx(f.Axis,{...ft,axisPosition:Ue,isRtl:ye,cursor:Lt,availSpace:St,dragOverStyle:"yAxis"!==hr.type?"none":hr.accepted?"accept":"reject"}),t.jsx(f.Axis,{...gt,axisPosition:We,isRtl:ye,cursor:Lt,availSpace:wt,dragOverStyle:"y2Axis"!==hr.type?"none":hr.accepted?"accept":"reject"}),t.jsx(f.Axis,{...ut,isRtl:ye,axisPosition:Ve,isTextInteractive:e=>{if(Le)return!1;const t=B[e]?.drilling;return"on"===t||"off"!=t&&("on"===te||"groupsOnly"===te)},activeId:Xt,cursor:Gt,focusedGroupIndex:_t.isFocusVisible?_t.groupIndex:void 0,focusedGroupLevelIndex:_t.isFocusVisible?_t.levelIndex:void 0,availSpace:yt,dragOverStyle:"xAxis"!==hr.type?"none":hr.accepted?"accept":"reject",separatorColor:P?.groupSeparators?.color}),t.jsxs("g",{"clip-path":`url(#${xr})`,children:[t.jsx(Z,{location:"back",activeId:Cr?Xt:void 0,activeInfo:Dr,xAxis:P,yAxis:O,y2Axis:R,xScale:xt,yScale:pt,y2Scale:ht,orientation:j,xAxisInfo:ct,groups:B}),Se({xStartIndex:ct.startIndex,xEndIndex:ct.endIndex,getItemAriaLabel:sr,groupsInfo:Pt,resolvedColors:Ye,xScale:xt,yScale:pt,y2Scale:ht,isPointInsideMarquee:Et,defaultFontSize:Xe.labelFontSize,gapRatio:Ot,activeId:Xt,focusedItemInfo:Ht,hoveredItemInfo:Yt,getTextDimensions:qe,axisStepWidth:ut.axisStepWidth,averageGroupZ:ut.averageGroupZ,plotAreaClipPathId:xr}),be&&fr,t.jsx(Z,{location:"front",xAxis:P,yAxis:O,y2Axis:R,activeId:Xt,activeInfo:Dr,xScale:xt,yScale:pt,y2Scale:ht,orientation:j,xAxisInfo:ct,groups:B}),dr]}),Ar,"live"===fe&&!Oe&&t.jsx(v.ScrollBar,{availSpace:Je,isRtl:ye,viewport:ct,axisExtent:ct,isHoriz:"bottom"===Ve}),zt]}),t.jsx(L.OverviewContext.Provider,{value:{yAxisSize:St.width,isOverview:!0,width:e,height:Je.height,overviewRenderer:e=>{const{xScale:r,...o}=function(e,t,r,o,n,i){const a=[r.min,r.max],s=e?[i.x+i.width,i.x]:[i.x,i.x+i.width],l=new N.ScaleLinear(a,s),d=[n.min,n.max],c=[i.y+i.height,i.y],u=new N.ScaleLinear(d,c),x=l.transform(t.viewportMin),f=Math.abs(l.transform(t.viewportMax)-l.transform(t.viewportMin));return{windowX:e?x-f:x,windowWidth:f,windowY:u.transform(o.viewportMax),windowHeight:Math.abs(u.transform(o.viewportMax)-u.transform(o.viewportMin)),xScale:l,yScale:u}}(ye,ct,ct,It,It,e);return function(e,r,o,n,i,a,s){return{slidingWindow:t.jsx(z.OverviewSlidingWindow,{...n,...i,hasHandles:a,onWindowDimsChange:t=>{d.updateViewportFromOverview(e,r,i.windowX,i.windowWidth,t.deltaX,t.deltaWidth,o,s)}}),background:t.jsx(q,{...n,...i})}}(ct,ye,r,e,o,!0,ae)}},children:!Oe&&"off"!==De&&wr&&t.jsx("div",{style:{width:e,height:Je.height},children:wr()})}),Bt,lr,Kt,gr,rr,yr]}),_e,He]})})),K=O.forwardRef((({width:e,height:n,...i},a=null)=>{const{isOverview:s,overviewRenderer:l,yAxisSize:d,width:c,height:u}=L.useOverviewContext();let x=e,f=n;return void 0===x&&s&&void 0!==c&&(x=`${c}px`),void 0===f&&s&&void 0!==u&&(f=`${u}px`),t.jsx(o.TrackResizeContainer,{width:x,height:f,class:r.dimensionStyle,children:(e,r)=>e||r?t.jsx(J,{ref:a,width:e,height:r,...i,yAxisSize:d,isOverview:s,overviewRenderer:l}):void 0})}));e.Chart=K}));
2
+ //# sourceMappingURL=Chart-d9eafc7a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chart-57965de4.js","sources":["../../src/PRIVATE_Axis/utils/axisNavUtils.ts","../../src/PRIVATE_VisOverview/OverviewBackground.tsx","../../src/PRIVATE_PlotArea/ReferenceObjects.tsx","../../src/PRIVATE_Chart/ChartWithDimensions.tsx","../../src/utils/PRIVATE_chartUtils/refObjectsNavUtils.ts","../../src/PRIVATE_VisSVGText/useTextTruncation.ts","../../src/PRIVATE_VisOverview/utils.ts","../../src/PRIVATE_Chart/overviewUtils.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 * 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","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 { 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 * 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","/**\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":["getParentGroup","levelsArray","levelIndex","groupIndex","isGroupNavigable","path","length","lIndex","Math","max","groupItem","start","end","i","s","e","getChildGroup","min","getNextGroup","info","getPreviousGroup","OverviewBackground","x","width","height","y","windowX","windowHeight","windowWidth","windowY","_jsxs","jsxs","_Fragment","children","_jsx","jsx","class","styles","overviewBackground","ReferenceObjects","location","xAxis","yAxis","y2Axis","xScale","yScale","y2Scale","orientation","xAxisInfo","groups","activeId","activeInfo","filterFunc","item","Fragment","referenceObjects","filter","map","index","_createElement","ReferenceLineArea","key","id","xStartIndex","startIndex","xEndIndex","endIndex","seriesIndex","isXRef","refObjId","undefined","chartVars","getChartVars","ChartWithDimensions","forwardRef","selectedIds","hiddenIds","hideAndShowBehavior","plotArea","dragMode","series","isStacked","stackLabelStyle","getStackGroup","getDataItem","selectionMode","drilling","dataCursorPosition","onSelectionChange","isDataCursorEnabled","dataCursorStyle","onViewportChange","onDataCursorPositionChange","onItemDrill","onGroupDrill","onItemHover","onItemFocus","datatip","zoomAndScroll","getNavUtil","getDataItemPos","getGapRatio","valueFormats","findNearest","getMarkerInfo","isRtl","testId","renderGridLinesInFront","isDataXAxis","contextMenuConfig","overview","getStartAndEndAxesOffset","defaultOverviewContentRenderer","isOverview","yAxisSize","overviewRenderer","initialZooming","props","ref","timeAxisType","isTimeAxis","hasInvalidData","VisInvalidDataError","testIdProps","useTestId","rootRef","useRef","isTestEnv","isHoriz","xAxisPosition","yAxisPosition","y2AxisPosition","getAxesPosition","resolvedVars","cssContent","useCssVars","resolvedColors","Array","from","_","textMeasureContent","getTextDimensions","useTextDimensions","availSpace","getAvailSpace","w","gaps","getOuterGaps","updatedSpace","getScrollBarSpace","scrollDims","locale","useUser","_width","_height","labelFontSize","split","isSplitDualY","splitterPosition","layoutInfo","useMemo","hiddenSet","Set","getLayoutInfo","getGroupFromPath","xProps","yProps","y2Props","yMaxDim","yAxisInfo","plotAreaSpace","xSpace","ySpace","y2Space","idToDataMap","y2AxisInfo","getYPreferredSize","getY2PreferredSize","getXPreferredSize","useImperativeHandle","_getYaxis","getPreferredSize","bounds","_getY2axis","_getXaxis","leafGroupsInfo","updateScrollBarSpace","gapRatio","getNextChartItem","getNextNavGroup","getDefaultNavGroup","isGroupLabelRendered","group","groupName","name","groupsDrilling","arrow","nextGroup","numGroups","getGroupNavUtil","navigableRefObjects","xRefs","yRefs","y2Refs","normalize","arr","obj","val","object","type","value","low","high","sort","a","b","buildNavigableRefObjects","ignoreSelectPointerUp","cursor","yAxisCursor","marqueeProps","marqueeContent","toggleButtonContent","isPointInsideMarquee","mode","useChartMarquee","chartWidth","isMultiSelection","isZoomScroll","getDataById","get","touchResponse","touchResponseStyle","useVisTouchResponse","supportsTouchDragGestures","focusedItemInfo","hoveredItemInfo","focusedGroupInfo","navProps","onFocusUpdate","useChartNav","getNextRefObject","list","dir","nextIdx","findIndex","o","translations","useTranslationBundle","dimsAndTextInfo","getTextAndDimsInfo","tickLabels","tooltipContent","tooltipProps","getTextAndBounds","textAndBounds","text","setText","useState","hoveredRef","useEffect","current","useTooltip","position","offset","calculateOffset","mergeProps","onPointerMove","event","target","useTextTruncation","getTextAndBoundsUtil","title","titleProps","dims","viewportProps","useChartViewport","selectDrillProps","selectionContent","useSelectDrill","selection","onChange","ignoreAsTrigger","dataset","getElementData","findNearestData","axisStepWidth","averageGroupZ","getDataItemPosition","datatipDisabled","setDatatipDisabled","getItemAriaLabel","getAriaLabelGenerator","defaultLabelFormatter","datatipContent","dataCursorContent","datatipProps","datatipAriaDescribedby","useChartDatatipAndCursor","getRefItem","find","isInX","some","isInY2","targetScale","spanningScale","asPoint","cx","cy","pos","transform","range","span1","span2","isNaN","mid","domain","domMin","domMax","Infinity","clampedLow","clampedHigh","pos1","pos2","midSpan","midPos","computeRefObjectBounds","getRefAxis","isDisabled","defaultXFormatter","defaultYFormatter","defaultY2Formatter","hasXYValues","plotAreaClipPathId","useId","gridLines","Gridlines","yMinorTicks","minorTicks","xMinorTicks","isLog","scale","hasAxisLine","y2MinorTicks","y2Ticks","ticks","yTicks","xTicks","contextMenuContent","contextMenuProps","useChartContextMenu","xAxisTitle","yAxisTitle","hasData","onContextMenuDismissed","gesture","dragOver","setDragOver","accepted","draggable","dndProps","dndContent","useChartDnd","onDrag","onDragStart","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop","itemsDraggable","groupDraggable","eventsProps","overviewContentRenderer","renderer","background","slidingWindow","isActiveInfoRef","isFocusVisible","getActiveInfo","tabIndex","merge","l","style","role","className","baseChartStyle","ceil","PlotArea","color","dragOverStyle","Axis","axisPosition","isTextInteractive","groupDrill","focusedGroupIndex","focusedGroupLevelIndex","separatorColor","groupSeparators","groupsInfo","defaultFontSize","ScrollBar","viewport","axisExtent","OverviewContext","Provider","overviewChartPlotArea","overviewXScale","windowCoords","xViewportExtent","xAxisExtent","yViewportExtent","yAxisExtent","xDomain","xRange","ScaleLinear","yDomain","yRange","viewportMin","abs","viewportMax","getWindowCoords","hasHandles","OverviewSlidingWindow","onWindowDimsChange","updateViewportFromOverview","deltaX","deltaWidth","getRenderer","Chart","overviewWidth","overviewHeight","useOverviewContext","chartHeight","TrackResizeContainer","dimensionStyle"],"mappings":"k0CAoBM,SAAUA,EACdC,EACAC,EACAC,EACAC,GAGA,GAAoB,IADPH,EAAYC,GAAYC,GAAYE,KACxCC,OACP,MAAO,CACLJ,aACAC,cAIJ,IAAII,EAASC,KAAKC,IAAI,EAAGP,EAAa,GACtC,MAAMQ,EAAYT,EAAYC,GAAYC,IACpCQ,MAAEA,EAAKC,IAAEA,GAAQF,EAEvB,KAAOH,GAAU,GAAG,CAClB,IAAK,IAAIM,EAAI,EAAGA,EAAIZ,EAAYM,GAAQD,OAAQO,IAAK,CACnD,MAAQF,MAAOG,EAAGF,IAAKG,GAAMd,EAAYM,GAAQM,GACjD,GAAIC,GAAKH,GAASC,GAAOG,GACnBX,EAAiBG,EAAQM,GAC3B,MAAO,CAAEV,WAAYU,EAAGX,WAAYK,EAGzC,CACDA,GAAU,CACX,CAED,MAAO,CACLL,aACAC,aAEJ,CAQM,SAAUa,EACdf,EACAC,EACAC,EACAC,GAEA,GAAIF,IAAeD,EAAYK,OAAS,EACtC,MAAO,CAAEJ,aAAYC,cAGvB,MAAMI,EAASC,KAAKS,IAAIhB,EAAYK,OAAS,EAAGJ,EAAa,GAEvDQ,EAAYT,EAAYC,GAAYC,IACpCQ,MAAEA,EAAKC,IAAEA,GAAQF,EAEvB,KAAOH,GAAUN,EAAYK,OAAS,GACpC,IAAK,IAAIO,EAAI,EAAGA,EAAIZ,EAAYM,GAAQD,OAAQO,IAAK,CACnD,MAAQF,MAAOG,EAAGF,IAAKG,GAAMd,EAAYM,GAAQM,GACjD,GAAIF,GAASG,GAAKC,GAAKH,GACjBR,EAAiBG,EAAQM,GAC3B,MAAO,CAAEV,WAAYU,EAAGX,WAAYK,EAGzC,CAEH,MAAO,CACLL,aACAC,aAEJ,UAEgBe,EACdjB,EACAkB,EACAf,GAEA,MAAMD,EAAagB,EAAKhB,WAAc,EAChCD,EAAaiB,EAAKjB,WAIxB,KAAIC,EAFaF,EAAYC,GAAYI,OAAS,GAMlD,OAAIF,EAAiBF,EAAaC,GACzB,CAAEA,aAAYD,cAEhBgB,EAAajB,EAAa,CAAEE,aAAYD,cAAcE,EAC/D,CAEgB,SAAAgB,EACdD,EACAf,GAEA,MAAMD,EAAagB,EAAKhB,WAAc,EAChCD,EAAaiB,EAAKjB,WACxB,KAAIC,EAAa,GAGjB,OAAIC,EAAiBF,EAAaC,GACzB,CAAEA,aAAYD,cAEhBkB,EAAiB,CAAEjB,aAAYD,cAAcE,EACtD,UCnHgBiB,GAAmBC,EACjCA,EAACC,MACDA,EAAKC,OACLA,EAAMC,EACNA,EAACC,QACDA,EAAOC,aACPA,EAAYC,YACZA,EAAWC,QACXA,IAEA,OACEC,EAAAC,KAAAC,WAAA,CAAAC,SAAA,CACEC,EACEC,IAAA,OAAA,CAAAb,EAAGA,EACHG,EAAGA,EACHF,MAAOf,KAAKC,IAAI,EAAGiB,EAAUJ,GAC7BE,OAAQA,EACRY,MAAOC,EAAAA,OAAOC,qBAEhBJ,MACE,OAAA,CAAAZ,EAAGI,EAAUE,EACbL,MAAOf,KAAKC,IAAI,EAAGa,EAAIC,EAAQG,EAAUE,GACzCH,EAAGA,EACHD,OAAQA,EACRY,MAAOC,EAAMA,OAACC,qBAEhBJ,EAAAA,IAAA,OAAA,CACEZ,EAAGI,EACHD,EAAGA,EACHD,OAAQhB,KAAKC,IAAI,EAAGoB,EAAUJ,GAC9BF,MAAOK,EACPQ,MAAOC,SAAOC,qBAEhBJ,MAAA,OAAA,CACEZ,EAAGI,EACHD,EAAGI,EAAUF,EACbJ,MAAOK,EACPQ,MAAOC,EAAAA,OAAOC,mBACdd,OAAQhB,KAAKC,IAAIgB,EAAID,EAASK,EAAUF,EAAc,OAG9D,CC/CM,SAAUY,GAAiBC,SAC/BA,EAAQC,MACRA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,OACNA,EAAMC,OACNA,EAAMC,QACNA,EAAOC,YACPA,EAAWC,UACXA,EAASC,OACTA,EAAMC,SACNA,EAAQC,WACRA,IAeA,MAAMC,EAAcC,GACL,UAAbb,EAAyC,UAAlBa,EAAKb,SAAyC,UAAlBa,EAAKb,SAE1D,OACEV,EAAAC,KAAAC,EAAAsB,SAAA,CAAArB,SAAA,CACGQ,GAAOc,kBACJC,OAAOJ,GACRK,KAAI,CAACJ,EAAMK,IACVC,EAAAA,cAACC,EAAAA,kBACK,IAAAP,EACJQ,IAAKR,EAAKS,GACVlB,OAAQA,EACRC,OAAQA,EACRE,YAAaA,EACbE,OAAQA,EACRc,YAAaf,EAAUgB,WACvBC,UAAWjB,EAAUkB,SACrBC,YAAaT,EACbU,QAAQ,EACRlB,SAAUG,EAAKS,KAAOX,GAAYkB,SAAWnB,OAAWoB,MAI7D5B,GAAOa,kBACJC,OAAOJ,GACRK,KAAI,CAACJ,EAAMK,IACVxB,EAAAA,IAAC0B,EAAAA,kBACK,IAAAP,EACJT,OAAQA,EACRC,OAAQA,EACRE,YAAaA,EACbE,OAAQA,EACRc,YAAaf,EAAUgB,WACvBC,UAAWjB,EAAUkB,SACrBC,YAAaT,EACbR,SAAUG,EAAKS,KAAOX,GAAYkB,SAAWnB,OAAWoB,MAI7D3B,GAAQY,kBACLC,OAAOJ,GACRK,KAAI,CAACJ,EAAMK,IACVxB,EAAAA,IAAC0B,EAAAA,kBACK,IAAAP,EACJT,OAAQA,EACRC,OAAQC,EACRC,YAAaA,EACbE,OAAQA,EACRc,YAAaf,EAAUgB,WACvBC,UAAWjB,EAAUkB,SACrBC,YAAaT,EACbR,SAAUG,EAAKS,KAAOX,GAAYkB,SAAWnB,OAAWoB,QAKpE,CCFA,MAEMC,EAAYC,EAAYA,eAWjBC,EAAsBC,EAAUA,YAC3C,EAEInD,QACAC,SACAmD,cACAC,YACAC,sBAAsB,OACtB9B,cAAc,WACdN,QACAC,QACAC,SACAmC,WACAC,WAAW,OACXC,SACA/B,SACAgC,aAAY,EACZC,kBACAC,gBACAC,cACAC,iBAAgB,OAChBC,YAAW,MACXC,sBACAC,qBACAC,uBACAC,mBACAC,oBACAC,8BACAC,eACAC,gBACAC,eACAC,eACAC,WACAC,iBAAgB,MAChBC,cACAC,kBACAC,eACAC,gBACAC,eACAC,iBACAC,SACAxE,YACAyE,UACAC,0BACAC,eACAC,qBACAC,YAAW,MACXC,4BACAC,kCACAC,cACAC,aACAC,oBACAC,kBAAiB,UACdC,IAELC,GAAuB,QAEvB,MAAMC,GAAgB9E,GAAyB8E,aACzCC,GAA6B,MAAhBD,GACnB,GAAIE,EAAcA,eAACF,GAAcvC,EAAQ/B,EAAQmC,GAC/C,MAAM,IAAIsC,EAAAA,oBAAoB,+BAGhC,MAAMC,GAAcC,YAAUlB,IACxBmB,GAAUC,SAAuB,MACjCC,QAA2CzD,IAA/BqD,GAAY,eACxBK,GAA0B,eAAhBjF,GACVkF,cAAEA,GAAaC,cAAEA,GAAaC,eAAEA,IAAmBC,kBACvD1F,EACAC,EACAqF,GACAvB,KAEI4B,aAAEA,GAAYC,WAAEA,IAAeC,EAAUA,WAAChE,GAC1CiE,GAAiBC,MAAMC,KAAKD,MAAM,KAAKhF,KAAI,CAACkF,EAAGjF,IAC5C2E,GAAa,QAAQ3E,EAAQ,QAEhCkF,mBAAEA,GAAkBC,kBAAEA,IAAsBC,EAAiBA,oBACnE,IAAIC,GAAaC,EAAAA,cAAczH,EAAOC,GAEtC,GAAIyF,IAAcC,GAAW,CAC3B,MAAM+B,EAAIF,GAAWxH,MAAQ2F,GACvBgC,EAAOC,EAAAA,aAAaF,EAAGzH,GAC7BuH,GAAWxH,OAAS2F,GAAY,EAAIgC,EAAK3H,MACzCwH,GAAWzH,GAAK4F,GAAYgC,EAAK3H,KAClC,CAED,MAAM6H,GAAeC,EAAAA,kBACnB7B,GACAuB,GACA7C,GACA+B,GACAnB,IAEF,IAAIwC,GAAaF,GAAaE,WAC9BP,GAAaK,GAAaL,WAC1B,MAAMQ,OAAEA,IAAWC,EAAAA,WACblI,EAAEA,GAACG,EAAEA,GAAGF,MAAOkI,GAAQjI,OAAQkI,IAAYX,GAC3CY,GAAgBtB,GAA4B,cAE5CuB,GAAQjH,GAAQiH,OAAS,MACzBC,GAAyB,QAAVD,GACfE,GAA6B,QAAVF,GAAkBA,GAAQ,GAE7CG,GAAaC,EAAAA,SAAQ,KACzB,MAAMC,EAAY,IAAIC,IAAItF,GAC1B,OAAOuF,EAAaA,cAClBnF,EACA/B,EACAmC,EACA3C,EACAC,EACAC,EACA,CAAErB,KAAGG,KAAGF,MAAOkI,GAAQjI,OAAQkI,IAC/BO,EACApF,EACAmD,GACAvB,GACAxB,EACA0E,GACA5C,GACAwC,GACAM,GACAC,GACA3E,EACA0D,GACAd,GACAnB,GACAQ,GACAlB,GACD,GACA,CACD5E,GACAG,GACAgI,GACAC,GACAtE,EACAyD,GACA5F,EACA2B,EACAC,EACA+B,GACAoB,GACAvB,GACAxB,EACA8C,GACAwB,GACAxC,GACA4C,GACA3E,EACAvC,EACAC,EACAC,EACAmH,GACAD,GACA1E,EACAiC,GACAlB,MAGIkE,iBACJA,GAAgBnK,YAChBA,GAAW+C,UACXA,GAASqH,OACTA,GAAMzH,OACNA,GAAM0H,OACNA,GAAMC,QACNA,GAAO1H,OACPA,GAAMC,QACNA,GAAO0H,QACPA,GAAOC,UACPA,GAASC,cACTA,GAAaC,OACbA,GAAMC,OACNA,GAAMC,QACNA,GAAOC,YACPA,GAAWC,WACXA,GAAUC,kBACVA,GAAiBC,mBACjBA,GAAkBC,kBAClBA,IACEnB,GAEJoB,EAAmBA,oBAAC7D,IAAM,KAAO,CAC/B8D,UAAW,KACF,CAAEC,iBAAkBL,GAAmBM,OAAQV,KAExDW,WAAY,KACH,CAAEF,iBAAkBJ,GAAoBK,OAAQT,KAEzDW,UAAW,KACF,CAAEH,iBAAkBH,GAAmBI,OAAQX,SAI1D,MAAMc,GAAiBxL,GAAYK,OAAS,EAAIL,GAAYA,GAAYK,OAAS,GAAK,GAEtFgJ,GAAaoC,EAAoBA,qBAACpC,GAA8B,WAAlBrB,GAA4BxB,GAAO+D,IAEjF,MAAMmB,GAAWtF,GAAYrD,GAAUgB,WAAahB,GAAUkB,UAExD0H,GAAmBzF,GAAWnD,GAAUgB,WAAahB,GAAUkB,WAE/D2H,gBAAEA,GAAeC,mBAAEA,IH9KvB,SACJ7L,EACAqF,EACAmB,EACAuB,EACA+D,GAEA,MAAM3L,EAAmB,CAACF,EAAoBC,KAC5C,MAAM6L,EAAQ/L,EAAYC,GAAYC,GAAYkD,KAC5C4I,EAAYD,EAAME,MAAQF,EAAMlI,GAChCqI,EAAiBH,EAAM1G,SAE7B,QAD0ByG,IAAuB7L,EAAYC,IAG9C,MAAb8L,IACc,OAAb3G,GAAkC,eAAbA,IACJ,OAAlB6G,CACA,EAqDJ,MAAO,CAAEN,gBAtCe,CACtB1K,EACAiL,KAEA,IAAIC,EA+BJ,MA7Bc,eAAVD,EAEAC,EADErE,EACWvB,EAETzG,EAAeC,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,GADhEY,EAAcf,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,GAGvDqG,EACRrF,EAAiBD,EAAMf,GACvBc,EAAajB,EAAakB,EAAMf,GAEnB,cAAVgM,EAEPC,EADErE,EACUvB,EACRzF,EAAcf,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,GAC/DJ,EAAeC,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,GAExDqG,EACRvF,EAAajB,EAAakB,EAAMf,GAChCgB,EAAiBD,EAAMf,GAEV,cAAVgM,EACTC,EAAYrE,EACR9G,EAAajB,EAAakB,EAAMf,GAChCJ,EAAeC,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,GACjD,YAAVgM,IACTC,EAAYrE,EACR5G,EAAiBD,EAAMf,GACvBY,EAAcf,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,IAE9DiM,GAAalL,CAAI,EAGA2K,mBAlDC,KACzB,IAAK,IAAI5L,EAAa,EAAGA,EAAaD,EAAYK,OAAQJ,IAAc,CACtE,MAAMoM,EAAYrM,EAAYC,GAAYI,OAC1C,IAAK,IAAIH,EAAa,EAAGA,EAAamM,EAAWnM,IAC/C,GAAIC,EAAiBF,EAAYC,GAC/B,MAAO,CAAEA,aAAYD,aAG1B,CACD,MAAO,CAAEC,WAAY,EAAGD,WAAY,EAAG,EA0C3C,CGuGoDqM,CAC9CtM,GACAqF,GACAmB,GACAuB,GACAqC,GAAO0B,sBAGHS,GAAsBxC,EAAAA,SAC1B,aC/RJyC,EACAC,EACAC,GAEA,MAAMC,EAAaC,IAChBA,GAAO,IACLpJ,KAAKqJ,WAAWhJ,GAAIgJ,EAAIhJ,GAAIiJ,KAnBEC,EAmBwBF,EAlBvC,SAAhBE,EAAOC,KACFD,EAAOE,MAEI,SAAhBF,EAAOC,MACS,MAAdD,EAAOG,KAA8B,MAAfH,EAAOI,MACvBJ,EAAOG,IAAMH,EAAOI,MAAQ,OAFxC,IAJI,IAA+BJ,CAmB+B,IAC7DxJ,QAAQsJ,GAAkB,MAAVA,EAAIhJ,IAAyB,MAAXgJ,EAAIC,MACtCM,MAAK,CAACC,EAAGC,IAAMD,EAAEP,IAAOQ,EAAER,MAM/B,MAAO,IAJOH,EAAUH,MACVG,EAAUF,MACTE,EAAUD,GAG3B,CDiRQa,CACE/K,GAAOc,iBACPb,GAAOa,iBACPZ,GAAQY,mBAEZ,CAACd,GAAOc,iBAAkBb,GAAOa,iBAAkBZ,GAAQY,oBA4BvDkK,sBACJA,GAAqBC,OACrBA,GAAMC,YACNA,GAAWC,aACXA,GAAYC,eACZA,GAAcC,oBACdA,GAAmBC,qBACnBA,GACAhJ,SAAUiJ,IACRC,EAAAA,gBAAsB,CACxBpG,WACA6C,iBACAC,UACAC,UACA7F,WACAmJ,WAAY3M,EACZ4M,iBAAoC,aAAlB9I,GAClBM,oBACAyI,aAAgC,SAAlBlI,GACdtD,UACA+B,cACA0J,YAAcvK,GAAOgH,GAAYwD,IAAIxK,GACrC0B,qBACAiB,SACAzD,gBAGIuL,cAAEA,GAAaC,mBAAEA,IAAuBC,sBAAoB,CAChExB,KAAM,OACNyB,0BAAoC,QAATV,GAC3BnG,cAGI3E,SACJA,GAAQyL,gBACRA,GAAeC,gBACfA,GAAeC,iBACfA,GAAgBC,SAChBA,GAAQC,cACRA,IACEC,cAAY,CACdnH,WACA+D,oBACAqD,iBApEuB,CACvB9N,EACAiL,KAEA,MAAM8C,EAAO1C,GACb,IAAK0C,GAAwB,IAAhBA,EAAK5O,OAChB,MAAO,GAET,MAAM6O,EAAgB,cAAV/C,GAAmC,YAAVA,GAAuB,EAAI,EAUhE,IAAIgD,GAPe,MAAjBjO,EAAKkD,SACD6K,EAAKG,WAAWC,GAAMA,EAAExL,KAAO3C,EAAKkD,WACpC8K,EAAM,GACL,EACDD,EAAK5O,QAGS6O,EAIpB,OAHIC,EAAU,IAAGA,EAAU,GACvBA,GAAWF,EAAK5O,SAAQ8O,EAAUF,EAAK5O,OAAS,GAE7C,CAAE+D,SAAU6K,EAAKE,GAAStL,GAAI,EA+CrC+H,mBACAC,sBACAyC,iBACAxI,eACAC,eACAV,YACAtC,eASIuM,GAAeC,uBAAiC,4BAiBhDC,GAAkBC,EAAkBA,mBACxCrF,GAAOsF,WACPd,GAAiB1O,WACjB0O,GAAiB3O,aAEb0P,eAAEA,GAAcC,aAAEA,IE7YtB,UAA4BC,iBAAEA,EAAgBvO,MAAEA,EAAKkF,MAAEA,EAAKsJ,cAAEA,IAClE,MAAOC,EAAMC,GAAWC,EAAQA,WAC1B5E,EAASxD,EAAAA,SAETqI,EAAarI,UAAO,GAE1BsI,EAAAA,WAAU,KACJL,EAAcC,MAChB1E,EAAO+E,QAAUN,EAAczE,OAC/B2E,EAAQF,EAAcC,OACZG,EAAWE,SACrBJ,OAAQ3L,EACT,GACA,CAACyL,IAEJ,MAAMH,eAAEA,EAAcC,aAAEA,GAAiBS,aAAW,CAClDN,OACAO,SAAU,YACVC,OAAQC,EAAAA,gBAAgBhK,EAAOlF,EAAO+J,EAAO+E,WAgB/C,MAAO,CACLT,iBACAC,aAAca,EAAUA,WAAC,CAAEC,cAfNC,IACrB,MAAMb,EAAgBD,EAAiBc,EAAMC,QAEzCd,GACFzE,EAAO+E,QAAUN,EAAczE,OAC/B2E,EAAQF,EAAcC,MACtBG,EAAWE,SAAU,IAErBJ,OAAQ3L,GACR6L,EAAWE,SAAU,EACtB,GAK2CR,GAEhD,CFuW6CiB,CAAkB,CACzDhB,iBArBwBe,GACjBE,EAAoBA,qBACzBF,EACAhJ,GACApF,GAAOuO,MACPtO,GAAOsO,MACPrO,GAAQqO,MACR3G,GAAO4G,YAAYC,KACnB5G,GAAO2G,YAAYC,KACnB3G,GAAQ0G,YAAYC,KACpB7G,GAAOsF,WACPd,IAWFtN,QACAkF,SACAsJ,cAAe,CACbzE,OAAQmE,IAAiByB,KACzBlB,KAAMP,IAAiBO,QAIrBmB,GAAgBC,EAAAA,iBAAiB,CACrCvJ,WACAtG,QACAC,SACAwB,aACAyH,aACAM,cACAnI,UACAC,UACAC,WACA4H,iBACAjE,SACAuB,WACA9B,iBACAP,uBAsBI0L,iBAAEA,GAAgBC,iBAAEA,IAAqBC,iBAAqB,CAClElM,iBACAmM,UAAW,IAAI7M,GACf8M,SAAUjM,GACVqC,WACAvC,YACAO,eACAC,gBACA+I,oBACAF,mBACA1O,eACAmF,cACAiJ,YAAcvK,GAAOgH,GAAYwD,IAAIxK,GACrC4N,gBAhCuBb,IACvB,IAAKA,EACH,OAAO,EAGT,MAAMc,EAAUC,EAAAA,eAAe/J,GAASgJ,GACxC,UACGc,GACiC,YAA/BA,EAAyB,iBACO,qBAA/BA,EAAyB,iBACM,cAA/BA,EAAyB,mBAC7BlE,GAKU,IAmBRoE,GAAkBtL,GACtB3D,GACAC,GACAC,GACAuH,GAAOyH,cACPzH,GAAO0H,cACPpG,IAEIqG,GAAsB5L,GAC1BxD,GACAC,GACAC,GACAuH,GAAOyH,cACPzH,GAAO0H,cACPpG,KAEKsG,GAAiBC,IAAsBhC,EAAQA,UAAC,GAEjDiC,GAAmBC,EAAAA,sBACvBpN,EACAuK,GACAjJ,GACAmF,GACAhJ,IACEmE,GACFwD,GACAC,GAAOgI,sBACP/H,GAAO+H,sBACP9H,GAAQ8H,wBAgCJC,eACJA,GAAcC,kBACdA,GACAC,cAAgB,mBAAoBC,MAA2BD,KAC7DE,2BAA+B,CACjC1N,SACAyG,kBACAlK,QACAC,SACA+E,YAAasL,GACbnH,iBACA9E,8BACAH,uBACAF,sBACAG,mBACAkJ,mBACAD,mBACAvJ,cACAuN,WA/CkB7O,GAEhBrB,GAAOc,kBAAkBqP,MAAMvP,GAASA,EAAKS,KAAOA,KACpDpB,GAAOa,kBAAkBqP,MAAMvP,GAASA,EAAKS,KAAOA,KACpDnB,GAAQY,kBAAkBqP,MAAMvP,GAASA,EAAKS,KAAOA,uBAI7BA,YCje9BA,EACA2I,EACAC,EACAC,EACA/J,EACAC,EACAC,EACAC,EACA2H,GAEA,MAAMpD,EACJmF,GAAOmG,MAAMvP,GAASA,EAAKS,KAAOA,KAClC4I,GAAOkG,MAAMvP,GAASA,EAAKS,KAAOA,KAClC6I,GAAQiG,MAAMvP,GAASA,EAAKS,KAAOA,IACrC,IAAKwD,EAAK,OAEV,MAAMuL,EAAQpG,GAAOqG,MAAMzP,GAASA,EAAKS,KAAOA,IAC1CiP,EAASpG,GAAQmG,MAAMzP,GAASA,EAAKS,KAAOA,IAE5CM,IAAWyO,EAEXG,EAAc5O,EAASxB,EAASmQ,EAASjQ,EAAUD,EACnDoQ,EAAgB7O,EAASvB,EAASD,EAElCsQ,EAAU,CAACC,EAAYC,KAA2B,CAAE9R,EAAG6R,EAAI1R,EAAG2R,EAAI7R,MAAO,EAAGC,OAAQ,IAE1F,GAAiB,SAAb8F,EAAI2F,MAAgC,MAAb3F,EAAI4F,MAAe,CAC5C,MAAMmG,EAAML,GAAaM,UAAUhM,EAAI4F,OACjCqG,EAAQN,GAAeM,UACvBC,EAAQD,IAAQ,GAChBE,EAAQF,IAAQ,GACtB,GAAmB,iBAARF,GAAoBK,MAAML,IAAiB,MAATG,GAA0B,MAATC,EAAe,OAE7E,MAAME,GAAOH,EAAQC,GAAS,EAG9B,MADmB,aAAhB1Q,IAA+BqB,GAA4B,eAAhBrB,GAAgCqB,EACpD8O,EAAQS,EAAKN,GAAOH,EAAQG,EAAKM,EAC5D,CAGD,GAAiB,SAAbrM,EAAI2F,KAAiB,CACvB,MAAM2G,EAASZ,GAAaY,WACtBC,EAASD,EAASpT,KAAKS,IAAI2S,EAAO,GAAIA,EAAO,KAAM,IACnDE,EAASF,EAASpT,KAAKC,IAAImT,EAAO,GAAIA,EAAO,IAAMG,IAEnDC,EAAwB,MAAX1M,EAAI6F,IAAc3M,KAAKC,IAAI6G,EAAI6F,IAAK0G,GAAUA,EAC3DI,EAA0B,MAAZ3M,EAAI8F,KAAe5M,KAAKS,IAAIqG,EAAI8F,KAAM0G,GAAUA,EAE9DI,EAAOlB,GAAaM,UAAUU,GAC9BG,EAAOnB,GAAaM,UAAUW,GAC9BV,EAAQN,GAAeM,UACvBC,EAAQD,IAAQ,GAChBE,EAAQF,IAAQ,GAEtB,GACkB,iBAATW,GACS,iBAATC,GACPT,MAAMQ,IACNR,MAAMS,IACG,MAATX,GACS,MAATC,EAEA,OAGF,MAAMW,GAAWZ,EAAQC,GAAS,EAC5BY,GAAUH,EAAOC,GAAQ,EAG/B,MADmB,aAAhBpR,IAA+BqB,GAA4B,eAAhBrB,GAAgCqB,EACpD8O,EAAQkB,EAASC,GAAUnB,EAAQmB,EAAQD,EACtE,CAID,OAAOlB,EAFSxI,EAAcpJ,EAAIoJ,EAAcnJ,MAAQ,EACxCmJ,EAAcjJ,EAAIiJ,EAAclJ,OAAS,EAE3D,CDuZa8S,CACLxQ,EACArB,GAAOc,iBACPb,GAAOa,iBACPZ,GAAQY,iBACRX,GACAC,GACAC,GACAC,EACA2H,IA+BF6J,WA3BkBzQ,GACdrB,GAAOc,kBAAkBuP,MAAMzP,GAASA,EAAKS,KAAOA,IAAY,IAChEpB,GAAOa,kBAAkBuP,MAAMzP,GAASA,EAAKS,KAAOA,IAAY,IAChEnB,GAAQY,kBAAkBuP,MAAMzP,GAASA,EAAKS,KAAOA,IAAY,UAArE,EAyBA0C,iBACAJ,eAAgB4L,GAChB/L,WACAK,gBACA0B,WACAuG,iBACAiG,WAAYvC,GACZrP,OAAQA,GACRC,UACAC,WACAyE,gBACAkN,kBAAmBpK,GAAOgI,sBAC1BqC,kBAAmBpK,GAAO+H,sBAC1BsC,mBAAoBpK,GAAQ8H,sBAC5BuC,YAAahO,GACbwD,oBACAmF,kBAkBIsF,GAAqBC,EAAAA,QAGrBC,GACJ7S,EAACC,IAAA6S,aACClQ,SAAUA,EACViE,WAAY2B,GACZzC,cAAeA,GACfxB,MAAOA,GACPwO,YAAaxK,GAAUyK,WACvBC,YAAanS,GAAUkS,WACvBtS,OAAQA,GACRC,OAAQA,GACRC,QAASA,GACTsS,MAAwB,QAAjB1S,GAAO2S,MACdnN,cAAeA,GACftB,YAAaA,GACbnE,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACR2S,aAAcrO,GACdsO,aAAcxK,IAAYmK,WAC1BM,QAASzK,GAAW0K,MACpBC,OAAQjL,GAAUgL,MAClBE,OAAQ3S,GAAUyS,MAClB5L,aAAcA,MAIZ+L,mBAAEA,GAAkBC,iBAAEA,IAAqBC,sBAA0B,CACzErP,SACAlF,QACAC,SACAwQ,uBACAhN,SACA/E,eACA4O,oBACAzJ,cACAuJ,mBACA9G,WACAkO,WAAYtT,GAAOuO,MACnBgF,WAAYtT,GAAOsO,MACnBnK,kBAAmBoP,EAAAA,QAAQjR,EAAQ/B,GAAU4D,QAAoBvC,EACjE4R,uBAxP8BC,IACd,aAAZA,GACFpH,IACD,KAwPIqH,GAAUC,IAAenG,WAA0D,CACxFoG,cAAUhS,EACV2I,KAAM,MAGFsJ,UAAEA,GAASC,SAAEA,GAAQC,WAAEA,IAAeC,EAAAA,YAAkB,CAC5DC,OAAQtP,GAAMsP,OACdC,YAAavP,GAAMuP,YACnBC,UAAWxP,GAAMwP,UACjBC,YAAazP,GAAMyP,YACnBC,YAAa1P,GAAM0P,YACnBC,WAAY3P,GAAM2P,WAClBC,OAAQ5P,GAAM4P,OACdC,eAAgB7P,GAAM6P,eACtBC,eAAgB9P,GAAM8P,eACtBtP,WACA5H,eACA+E,SACAL,cACAS,cACAuF,UACAC,UACAF,iBACA2L,eACAnE,sBACA1M,uBAGI4R,GAAc1G,EAAAA,WAClB5B,GACAuC,GACAF,GACAqB,GACA5E,GACAiC,GACAgG,GACAW,IAGIa,GACQ,OAAZvQ,IAAmC,OAAbA,IAAsBA,GAASwQ,cAEjDhT,EADA0C,IAGAuQ,WAAEA,GAAUC,cAAEA,IAAkBrQ,GAAiBuD,IAEjD+M,GAA8C,MAA5B9I,GAAgBtK,UAAoBsK,GAAgB+I,eACtEvU,GAAawU,EAAAA,cAAchJ,GAAiBC,IAClD,OACE9M,EAAAA,KACGE,EAAAA,SAAA,CAAAC,SAAA,CAAA4G,IAAsDvE,MAAjC+D,GAA4B,eAChDvG,EAAAA,KAAA,MAAA,CACE8V,SAAU3Q,QAAa3C,EAAY,EACnCiS,UAAWA,GACXjP,IAAKO,GACkB,wBAAA3E,GACX,aAAAmE,GAAM,cAAa,kBACdA,GAAM,mBACL,mBAAAwQ,EAAKC,EAAC,CAACzQ,GAAM,oBAAqBoL,KACpDsF,MAAO,IAAKvJ,IACZwJ,KAAM/Q,QAAa3C,EAAY,cAC/B2T,UAAW5V,EAAAA,OAAO6V,eACc,iCAAAnQ,GAAY1C,QAAgBf,KACxDqD,MACCV,GAAa,CAAE,EAAGmQ,GACvBnV,SAAA,CAAAH,OAAA,MAAA,CACEP,MAAM,OACNC,OACuB,GAArB8H,GAAW9H,QAA2B,OAAZsF,GACnBtG,KAAK2X,KAAuD,KAAjD/O,GAAaL,WAAWvH,OAxnBrC,KAwnBqEA,EAAtE,IACA,OAAMS,SAAA,CAEZC,MAAU,WAAA,CAAA4B,GAAI,GAAG+Q,KAAoB5S,SACnCC,iBAAUwI,OAEX6M,GACDrV,EAAAC,IAACiW,WAAQ,CACPC,MAAOvT,GAAUuT,MACjBC,cACoB,aAAlBlC,GAASnJ,KAAsB,OAASmJ,GAASE,SAAW,SAAW,SAEzE5I,OAAQA,GACR3E,WAAY2B,MAEZ/D,IAA0BoO,GAC5B7S,MAACqW,EAAAA,KAAI,IACEjO,GACLkO,aAActQ,GACdzB,MAAOA,GACPiH,OAAQC,GACR5E,WAAY6B,GACZ0N,cACoB,UAAlBlC,GAASnJ,KAAmB,OAASmJ,GAASE,SAAW,SAAW,WAGxEpU,EAAAC,IAACoW,OACM,IAAAhO,GACLiO,aAAcrQ,GACd1B,MAAOA,GACPiH,OAAQC,GACR5E,WAAY8B,GACZyN,cACoB,WAAlBlC,GAASnJ,KAAoB,OAASmJ,GAASE,SAAW,SAAW,WAGzEpU,MAACqW,EAAAA,SACKlO,GACJ5D,MAAOA,GACP+R,aAAcvQ,GACdwQ,kBA1KgB/U,IAC1B,GAAI8D,GACF,OAAO,EAET,MAAMkR,EAAazV,EAAOS,IAAQ4B,SAClC,MAAmB,OAAfoT,GAIc,OAAdA,IAAqC,OAAbpT,IAAkC,eAAbA,GAGrC,EA+JFpC,SAAUA,GACVwK,OAAQA,GACRiL,kBACE9J,GAAiB6I,eAAiB7I,GAAiB1O,gBAAamE,EAElEsU,uBACE/J,GAAiB6I,eAAiB7I,GAAiB3O,gBAAaoE,EAElEyE,WAAY4B,GACZ2N,cACoB,UAAlBlC,GAASnJ,KAAmB,OAASmJ,GAASE,SAAW,SAAW,SAEtEuC,eAAiBpW,GAA0BqW,iBAAiBT,QAE9DvW,EAAAC,KAAA,IAAA,CAAA,YAAc,QAAQ8S,MACpB5S,SAAA,CAAAC,EAAAA,IAACK,EAAgB,CACfC,SAAS,OACTU,SAAUuU,GAAkBvU,QAAWoB,EACvCnB,WAAYA,GACZV,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACRC,OAAQA,GACRC,OAAQA,GACRC,QAASA,GACTC,YAAaA,EACbC,UAAWA,GACXC,OAAQA,IAEThB,GAAS,CACR8B,YAAaf,GAAUgB,WACvBC,UAAWjB,GAAUkB,SACrBiO,oBACA4G,WAAYtN,GACZjD,kBACA5F,OAAQA,GACRC,UACAC,WACAiL,wBACAiL,gBAAiB3Q,GAA4B,cAC7CsD,YACAzI,YACAyL,mBACAC,mBACA/F,qBACAiJ,cAAezH,GAAOyH,cACtBC,cAAe1H,GAAO0H,cACtB8C,wBAEDlO,IAA0BoO,GAC3B7S,EAAAA,IAACK,EACC,CAAAC,SAAS,QACTC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACRO,SAAUA,GACVC,WAAYA,GACZP,OAAQA,GACRC,OAAQA,GACRC,QAASA,GACTC,YAAaA,EACbC,UAAWA,GACXC,OAAQA,IAETsP,MAEFiF,GACkB,SAAlBtR,KAA6Be,IAC5B/E,EAAAC,IAAC8W,EAASA,UAAA,CACRlQ,WAAYO,GACZ7C,MAAOA,GACPyS,SAAUlW,GACVmW,WAAYnW,GACZgF,QAA2B,WAAlBC,KAGZ4F,MAEH3L,EAAAC,IAACiX,EAAeA,gBAACC,SACf,CAAAnM,MAAO,CACLhG,UAAW0D,GAAOrJ,MAClB0F,YAAY,EACZ1F,QACAC,OAAQ8H,GAAW9H,OACnB2F,iBAAmBmS,IACjB,MAAQ1W,OAAQ2W,KAAmBC,GGj0BrC,SACd/S,EACAgT,EACAC,EACAC,EACAC,EACAlP,GAEA,MAAMmP,EAAU,CAACH,EAAYzY,IAAKyY,EAAYjZ,KACxCqZ,EACJrT,EACI,CAACiE,EAAcpJ,EAAIoJ,EAAcnJ,MAAOmJ,EAAcpJ,GACtD,CAACoJ,EAAcpJ,EAAGoJ,EAAcpJ,EAAIoJ,EAAcnJ,OAElDqB,EAAS,IAAImX,EAAAA,YAAYF,EAASC,GAElCE,EAAU,CAACJ,EAAY3Y,IAAK2Y,EAAYnZ,KACxCwZ,EAAS,CAACvP,EAAcjJ,EAAIiJ,EAAclJ,OAAQkJ,EAAcjJ,GAEhEoB,EAAS,IAAIkX,EAAAA,YAAYC,EAASC,GAElCvY,EAAUkB,EAAO0Q,UAAUmG,EAAgBS,aAC3CtY,EAAcpB,KAAK2Z,IACvBvX,EAAO0Q,UAAUmG,EAAgBW,aAAexX,EAAO0Q,UAAUmG,EAAgBS,cAGnF,MAAO,CACLxY,QAAS+E,EAAQ/E,EAAUE,EAAcF,EACzCE,YAAaA,EACbC,QAASgB,EAAOyQ,UAAUqG,EAAgBS,aAC1CzY,aAAcnB,KAAK2Z,IACjBtX,EAAOyQ,UAAUqG,EAAgBS,aAAevX,EAAOyQ,UAAUqG,EAAgBO,cAEnFtX,SACAC,SAEJ,CH6xBsEwX,CAClD5T,GACAzD,GACAA,GACAyH,GACAA,GACA6O,GAEF,OIt0BF,SACdI,EACAjT,EACA8S,EACA7O,EACA8O,EACAc,EACA3U,GAOA,MAAO,CACL6R,cACEtV,EAAAC,IAACoY,wBACK,IAAA7P,KACA8O,EACJc,WAAYA,EACZE,mBAAqBnT,IACnBoT,EAAAA,2BACEf,EACAjT,EACA+S,EAAa9X,QACb8X,EAAa5X,YACbyF,EAAMqT,OACNrT,EAAMsT,WACNpB,EACA5T,EACD,IAIP4R,WAAYrV,EAACC,IAAAd,MAAuBqJ,KAAmB8O,IAE3D,CJkyByBoB,CACL5X,GACAyD,GACA8S,EACAD,EACAE,GACA,EACA7T,GACD,GAGJ1D,UAACgF,IAA2B,QAAbH,IAAsBuQ,IACpCnV,EAAAC,IAAA,MAAA,CAAK4V,MAAO,CAAExW,QAAOC,OAAQ8H,GAAW9H,QAAWS,SAAAoV,SAGtDvJ,GACAwE,GACA1C,GACAgG,GACAtE,GACAmF,MAGJ7N,GACAN,KAEH,IK/vBOuS,EAAQnW,EAAAA,YACnB,EACInD,QAAOC,YAAW6F,GACpBC,EAAuB,QAGvB,MAAML,WACJA,EAAUE,iBACVA,EAAgBD,UAChBA,EACA3F,MAAOuZ,EACPtZ,OAAQuZ,GACNC,EAAAA,qBAEJ,IAAI9M,EAAa3M,EACb0Z,EAAczZ,EAUlB,YARmB8C,IAAf4J,GAA4BjH,QAAgC3C,IAAlBwW,IAC5C5M,EAAa,GAAG4M,YAGExW,IAAhB2W,GAA6BhU,QAAiC3C,IAAnByW,IAC7CE,EAAc,GAAGF,OAIjB7Y,EAAAA,IAACgZ,EAAAA,qBAAoB,CAAC3Z,MAAO2M,EAAY1M,OAAQyZ,EAAa7Y,MAAO+Y,EAAAA,eAClElZ,SAAA,CAACV,EAAOC,IACPD,GAASC,EACPU,EAAAA,IAACuC,EAAmB,CAClB6C,IAAKA,EACL/F,MAAOA,EACPC,OAAQA,KACJ6F,EACJH,UAAWA,EACXD,WAAYA,EACZE,iBAAkBA,SAElB7C,GAGR"}
1
+ {"version":3,"file":"Chart-d9eafc7a.js","sources":["../../src/PRIVATE_Axis/utils/axisNavUtils.ts","../../src/PRIVATE_VisOverview/OverviewBackground.tsx","../../src/PRIVATE_PlotArea/ReferenceObjects.tsx","../../src/PRIVATE_Chart/ChartWithDimensions.tsx","../../src/utils/PRIVATE_chartUtils/refObjectsNavUtils.ts","../../src/PRIVATE_VisSVGText/useTextTruncation.ts","../../src/PRIVATE_VisOverview/utils.ts","../../src/PRIVATE_Chart/overviewUtils.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 * 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","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 { 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 * 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","/**\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":["getParentGroup","levelsArray","levelIndex","groupIndex","isGroupNavigable","path","length","lIndex","Math","max","groupItem","start","end","i","s","e","getChildGroup","min","getNextGroup","info","getPreviousGroup","OverviewBackground","x","width","height","y","windowX","windowHeight","windowWidth","windowY","_jsxs","jsxs","_Fragment","children","_jsx","jsx","class","styles","overviewBackground","ReferenceObjects","location","xAxis","yAxis","y2Axis","xScale","yScale","y2Scale","orientation","xAxisInfo","groups","activeId","activeInfo","filterFunc","item","Fragment","referenceObjects","filter","map","index","_createElement","ReferenceLineArea","key","id","xStartIndex","startIndex","xEndIndex","endIndex","seriesIndex","isXRef","refObjId","undefined","chartVars","getChartVars","ChartWithDimensions","forwardRef","selectedIds","hiddenIds","hideAndShowBehavior","plotArea","dragMode","series","isStacked","stackLabelStyle","getStackGroup","getDataItem","selectionMode","drilling","dataCursorPosition","onSelectionChange","isDataCursorEnabled","dataCursorStyle","onViewportChange","onDataCursorPositionChange","onItemDrill","onGroupDrill","onItemHover","onItemFocus","datatip","zoomAndScroll","getNavUtil","getDataItemPos","getGapRatio","valueFormats","findNearest","getMarkerInfo","isRtl","testId","renderGridLinesInFront","isDataXAxis","contextMenuConfig","overview","getStartAndEndAxesOffset","defaultOverviewContentRenderer","isOverview","yAxisSize","overviewRenderer","initialZooming","props","ref","timeAxisType","isTimeAxis","hasInvalidData","VisInvalidDataError","testIdProps","useTestId","rootRef","useRef","isTestEnv","isHoriz","xAxisPosition","yAxisPosition","y2AxisPosition","getAxesPosition","resolvedVars","cssContent","useCssVars","resolvedColors","Array","from","_","textMeasureContent","getTextDimensions","useTextDimensions","availSpace","getAvailSpace","w","gaps","getOuterGaps","updatedSpace","getScrollBarSpace","scrollDims","locale","useUser","_width","_height","labelFontSize","split","isSplitDualY","splitterPosition","layoutInfo","useMemo","hiddenSet","Set","getLayoutInfo","getGroupFromPath","xProps","yProps","y2Props","yMaxDim","yAxisInfo","plotAreaSpace","xSpace","ySpace","y2Space","idToDataMap","y2AxisInfo","getYPreferredSize","getY2PreferredSize","getXPreferredSize","useImperativeHandle","_getYaxis","getPreferredSize","bounds","_getY2axis","_getXaxis","leafGroupsInfo","updateScrollBarSpace","gapRatio","getNextChartItem","getNextNavGroup","getDefaultNavGroup","isGroupLabelRendered","group","groupName","name","groupsDrilling","arrow","nextGroup","numGroups","getGroupNavUtil","navigableRefObjects","xRefs","yRefs","y2Refs","normalize","arr","obj","val","object","type","value","low","high","sort","a","b","buildNavigableRefObjects","ignoreSelectPointerUp","cursor","yAxisCursor","marqueeProps","marqueeContent","toggleButtonContent","isPointInsideMarquee","mode","useChartMarquee","chartWidth","isMultiSelection","isZoomScroll","getDataById","get","touchResponse","touchResponseStyle","useVisTouchResponse","supportsTouchDragGestures","focusedItemInfo","hoveredItemInfo","focusedGroupInfo","navProps","onFocusUpdate","useChartNav","getNextRefObject","list","dir","nextIdx","findIndex","o","translations","useTranslationBundle","dimsAndTextInfo","getTextAndDimsInfo","tickLabels","tooltipContent","tooltipProps","getTextAndBounds","textAndBounds","text","setText","useState","hoveredRef","useEffect","current","useTooltip","position","offset","calculateOffset","mergeProps","onPointerMove","event","target","useTextTruncation","getTextAndBoundsUtil","title","titleProps","dims","viewportProps","useChartViewport","selectDrillProps","selectionContent","useSelectDrill","selection","onChange","ignoreAsTrigger","dataset","getElementData","findNearestData","axisStepWidth","averageGroupZ","getDataItemPosition","datatipDisabled","setDatatipDisabled","getItemAriaLabel","getAriaLabelGenerator","defaultLabelFormatter","datatipContent","dataCursorContent","datatipProps","datatipAriaDescribedby","useChartDatatipAndCursor","getRefItem","find","isInX","some","isInY2","targetScale","spanningScale","asPoint","cx","cy","pos","transform","range","span1","span2","isNaN","mid","domain","domMin","domMax","Infinity","clampedLow","clampedHigh","pos1","pos2","midSpan","midPos","computeRefObjectBounds","getRefAxis","isDisabled","defaultXFormatter","defaultYFormatter","defaultY2Formatter","hasXYValues","plotAreaClipPathId","useId","gridLines","Gridlines","yMinorTicks","minorTicks","xMinorTicks","isLog","scale","hasAxisLine","y2MinorTicks","y2Ticks","ticks","yTicks","xTicks","contextMenuContent","contextMenuProps","useChartContextMenu","xAxisTitle","yAxisTitle","hasData","onContextMenuDismissed","gesture","dragOver","setDragOver","accepted","draggable","dndProps","dndContent","useChartDnd","onDrag","onDragStart","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop","itemsDraggable","groupDraggable","eventsProps","overviewContentRenderer","renderer","background","slidingWindow","isActiveInfoRef","isFocusVisible","getActiveInfo","tabIndex","merge","l","style","role","className","baseChartStyle","ceil","PlotArea","color","dragOverStyle","Axis","axisPosition","isTextInteractive","groupDrill","focusedGroupIndex","focusedGroupLevelIndex","separatorColor","groupSeparators","groupsInfo","defaultFontSize","ScrollBar","viewport","axisExtent","OverviewContext","Provider","overviewChartPlotArea","overviewXScale","windowCoords","xViewportExtent","xAxisExtent","yViewportExtent","yAxisExtent","xDomain","xRange","ScaleLinear","yDomain","yRange","viewportMin","abs","viewportMax","getWindowCoords","hasHandles","OverviewSlidingWindow","onWindowDimsChange","updateViewportFromOverview","deltaX","deltaWidth","getRenderer","Chart","overviewWidth","overviewHeight","useOverviewContext","chartHeight","TrackResizeContainer","dimensionStyle"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact', 'preact/hooks'], (function(e,t,o){"use strict";const c=t.createContext({});e.CheckboxSetContext=c,e.useCheckboxSetContext=()=>o.useContext(c)}));
2
+ //# sourceMappingURL=CheckboxSetContext-2e486ea8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxSetContext-2e486ea8.js","sources":["../../src/UNSAFE_CheckboxSet/CheckboxSetContext.ts"],"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"],"names":["CheckboxSetContext","createContext","useContext"],"mappings":"yEAWA,MAAMA,EAAqBC,EAAaA,cAA0B,mDACpC,IAAMC,EAAAA,WAAWF"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', './utils-8bf50f08', './ReferenceLineArea-450530dd', './MarkersWithLabel-2960e007', './dataStyleUtils-1a157bd8', './useUser-08901aba', './colorUtils-1c8d0c00', './accUtils-7e057eef', './themeContract.css-b6ec3943', './BarGroup-6f67e7ca', './chartUtils-2415ea65', 'preact/compat', './Chart-57965de4'], (function(e,t,i,a,r,s,n,o,l,d,c,g,p,h){"use strict";const I=p.forwardRef((({width:e,height:l,selectedIds:p=[],hiddenIds:I=[],highlightedIds:x,hideAndShowBehavior:m="none",orientation:S="vertical",yAxis:f,series:y,groups:A,getDataItem:b,selectionMode:v="none",drilling:C="off",dataItemGaps:L=.5,dataLabelEffect:T="outline",stacking:k="off",...D},R)=>{const{direction:j,forcedColors:M}=n.useUser(),G="active"===M,U=y.filter((e=>"bar"===e.type)),W="rtl"===j,B="log"===f?.scale,P=D.xAxis?.timeAxisType,w=new Set(I),E=new Set(p),z=new Set(x),F="horizontal"===S,H=o.getColorRamp();let N=i.getSeriesData(y.length,A.length,b,w,B);const O="off"!=k,q="string"==typeof k?void 0:k.stackLabelStyle,V=("on"===k?e=>e.id:"off"!=k?k.getStackGroup:void 0)||(()=>"default"),Y="object"==typeof k&&k.getStackLabel?k.getStackLabel:void 0,Z=(e,t)=>O?{...b(e,t),value:N[e][t]}:b(e,t),J="number"==typeof D.y2Axis?.split,K=i.getMarkers(),Q=[],{hasBar:X,hasCenteredSeries:$,hasUncenteredSeries:_,hasArea:ee}=y.reduce(((e,t)=>({hasArea:e.hasArea||"area"===t.type||"lineWithArea"===t.type,hasBar:e.hasBar||"bar"===t.type,hasCenteredSeries:e.hasCenteredSeries||"centeredSegmented"===t.lineType||"centeredStepped"===t.lineType,hasUncenteredSeries:e.hasUncenteredSeries||"segmented"===t.lineType||"stepped"===t.lineType})),{hasBar:!1,hasCenteredSeries:!1,hasUncenteredSeries:!1,hasArea:!1});return t.jsx(h.Chart,{ref:R,width:e,height:l,selectedIds:E,hiddenIds:I,hideAndShowBehavior:m,orientation:S,yAxis:f,series:y,defaultOverviewContentRenderer:()=>t.jsx(u,{groups:A,series:y,getDataItem:b}),groups:A,selectionMode:v,drilling:C,isStacked:O,getDataItem:b,findNearest:(e,t,a)=>i.findNearestDataPoint(y,A,e,t,Z,O,(()=>({offset:0,dataWidth:0})),((e,t)=>t.transform(e)),B,0,w,P,a),getDataItemPos:(e,t,i,a,r,s)=>{const n=X?c.getBarPosition(U,A,b,e,t,i,w,L,a,r,s,"log"===f?.scale,O,W,F,J,V,P):void 0;return(i,a)=>"bar"===y[i].type?n?n(i,a):void 0:g.getLineAreaChartItemPosition(i,a,N,b,A,F,e,t,P)},getMarkerInfo:(e,t)=>({color:s.getItemColor(e,t,y,b),markerType:s.getMarkerType(e,t,b)}),renderGridLinesInFront:ee,getNavUtil:(e,t)=>s.getLineAreaChartNavUtil(b,y.length,e,t,O,W,F),getGapRatio:()=>1,getStartAndEndAxesOffset:e=>i.getStartAndEndAxesOffset($,_,F,e,X),isRtl:W,stackLabelStyle:q,getStackGroup:V,...D,children:({xStartIndex:e,xEndIndex:s,xScale:n,groupsInfo:o,yScale:l,y2Scale:g,activeId:p,focusedItemInfo:h,hoveredItemInfo:I,isPointInsideMarquee:u,getTextDimensions:m,defaultFontSize:A,resolvedColors:k,axisStepWidth:R,averageGroupZ:j,getItemAriaLabel:M,plotAreaClipPathId:q})=>{let V=-1;const X=o.map((({item:e})=>e));return N=i.getSeriesData(y.length,X.length,b,w,B),t.jsx(t.Fragment,{children:N.map(((o,$)=>{const _=y[$],ee="y2"===_.associatedYAxis,te="lineWithArea"===_.type?.2:1,ie="area"===_.type||"lineWithArea"===_.type,ae="area"===_.type;if(0===o.length)return;const re=i.getLineAreaSegments(ee?g:l,n,o,e,s,B,X,$,Z,P);Q[$]=re[0];const se="bar"!==_.type?"curved"===_.lineType&&O&&N.length>1&&$>0:O&&N.length>1&&$>0,ne=void 0===x||0===z.size||z.has(_.id),oe=O&&0!=$?Q.reduce(((e,t,i)=>i>=$?e:t.length>0?i:e),0):void 0;return"bar"===_.type&&(V+=1),t.jsxs(t.Fragment,{children:["bar"===_.type&&X.slice(e,s+1).map(((a,r)=>t.jsx(c.BarGroup,{plotAreaClipPathId:q,yScale:l,y2Scale:g,xScale:n,splitDualY:J,groupIndex:r+e,selectedIds:E,hiddenIds:w,highlightedIds:x?z:x,isDrillEnabled:"on"===C,series:U,barGapRatio:i.getBarGapRatio(O,e,s),dataItemGaps:L,isPointInsideMarquee:u,isStacked:O,axisStepWidth:R,averageGroupZ:j,group:X[r],timeAxisType:D.xAxis?.timeAxisType,colors:k,activeId:p,isLog:"log"===f?.scale,orientation:S,getDataItem:b,isSelectionEnabled:"none"!=v,isRtl:W,focusedItemInfo:h,hoveredItemInfo:I,getTextDimensions:m,defaultFontSize:A,seriesIndex:V,getItemAriaLabel:M,getStackLabel:Y}))),ie&&t.jsx(a.AreaSeries,{yScale:ee?g:l,plotAreaClipPathId:q,lineType:_.lineType,color:_.areaColor||H[$%H.length],isHorizontal:F,areaColorOpacity:te,isBottomSegmentCurved:se,bottomCoords:void 0!==oe&&Q[oe].some((e=>null!=e))?Q[oe]:void 0,lineSegments:re,isLog:B,isHighlighted:ne,seriesIndex:$,groupWidth:R,isRtl:W,timeAxisType:P}),"line"===_.type&&t.jsx(a.LineSeries,{plotAreaClipPathId:q,lineType:_.lineType,lineColor:ae?d.colorSchemeVars.dvt.contrastLine:_.lineColor,lineWidth:ae?1.25:_.lineWidth,lineStyle:_.lineStyle||"solid",color:_.lineColor||H[$%H.length],lineSegmentCoords:re,isHorizontal:F,isHighlighted:ne,seriesIndex:$,groupWidth:R,isRtl:W,timeAxisType:P}),!O&&("line"===_.type||ie)&&t.jsx(r.MarkersWithLabel,{yScale:ee?g:l,xScale:n,groups:X,series:_,timeAxisType:P,color:H[$%H.length],seriesIndex:$,startIndex:e,endIndex:s,markerType:K[$%K.length],orientation:S,isLog:B,activeId:p,getDataItem:b,isPointInsideMarquee:u,selectedIds:E,focusedItemIndex:h.seriesIndex!==$||!h.isFocusVisible||D.isDataCursorEnabled&&D.dataCursorStyle?.isMarkerDisplayed?void 0:h.groupIndex,hoveredItemIndex:I?.isCurrent&&I.seriesIndex===$?I.groupIndex:void 0,isSelectionEnabled:"single"===v||"multiple"===v,isDrillEnabled:"on"===C,defaultFontSize:A,dataLabelEffect:T,isHighContrast:G,getItemAriaLabel:M,isRtl:W})]})}))})}})}));function u(e){return t.jsx(I,{datatip:()=>({content:""}),zoomAndScroll:"off",plotArea:{yMajorTick:{isRendered:!1},xMajorTick:{}},xAxis:{tickLabel:{autoRotate:!1,isRendered:!!e.xAxis?.timeAxisType}},series:e.series,groups:e.groups,getDataItem:e.getDataItem,yAxis:{tickLabel:{isRendered:!1}},overview:"off"})}e.ComboChart=I}));
2
- //# sourceMappingURL=ComboChart-c42ed049.js.map
1
+ define(['exports', 'preact/jsx-runtime', './utils-8bf50f08', './ReferenceLineArea-450530dd', './MarkersWithLabel-2960e007', './dataStyleUtils-1a157bd8', './useUser-08901aba', './colorUtils-1c8d0c00', './accUtils-7e057eef', './themeContract.css-b6ec3943', './BarGroup-6f67e7ca', './chartUtils-2415ea65', 'preact/compat', './Chart-d9eafc7a'], (function(e,t,i,a,r,s,n,o,l,d,c,g,p,h){"use strict";const I=p.forwardRef((({width:e,height:l,selectedIds:p=[],hiddenIds:I=[],highlightedIds:x,hideAndShowBehavior:f="none",orientation:m="vertical",yAxis:S,series:y,groups:A,getDataItem:b,selectionMode:v="none",drilling:C="off",dataItemGaps:L=.5,dataLabelEffect:T="outline",stacking:k="off",...D},R)=>{const{direction:j,forcedColors:M}=n.useUser(),G="active"===M,U=y.filter((e=>"bar"===e.type)),W="rtl"===j,B="log"===S?.scale,P=D.xAxis?.timeAxisType,w=new Set(I),E=new Set(p),z=new Set(x),F="horizontal"===m,H=o.getColorRamp();let N=i.getSeriesData(y.length,A.length,b,w,B);const O="off"!=k,q="string"==typeof k?void 0:k.stackLabelStyle,V=("on"===k?e=>e.id:"off"!=k?k.getStackGroup:void 0)||(()=>"default"),Y="object"==typeof k&&k.getStackLabel?k.getStackLabel:void 0,Z=(e,t)=>O?{...b(e,t),value:N[e][t]}:b(e,t),J="number"==typeof D.y2Axis?.split,K=i.getMarkers(),Q=[],{hasBar:X,hasCenteredSeries:$,hasUncenteredSeries:_,hasArea:ee}=y.reduce(((e,t)=>({hasArea:e.hasArea||"area"===t.type||"lineWithArea"===t.type,hasBar:e.hasBar||"bar"===t.type,hasCenteredSeries:e.hasCenteredSeries||"centeredSegmented"===t.lineType||"centeredStepped"===t.lineType,hasUncenteredSeries:e.hasUncenteredSeries||"segmented"===t.lineType||"stepped"===t.lineType})),{hasBar:!1,hasCenteredSeries:!1,hasUncenteredSeries:!1,hasArea:!1});return t.jsx(h.Chart,{ref:R,width:e,height:l,selectedIds:E,hiddenIds:I,hideAndShowBehavior:f,orientation:m,yAxis:S,series:y,defaultOverviewContentRenderer:()=>t.jsx(u,{groups:A,series:y,getDataItem:b}),groups:A,selectionMode:v,drilling:C,isStacked:O,getDataItem:b,findNearest:(e,t,a)=>i.findNearestDataPoint(y,A,e,t,Z,O,(()=>({offset:0,dataWidth:0})),((e,t)=>t.transform(e)),B,0,w,P,a),getDataItemPos:(e,t,i,a,r,s)=>{const n=X?c.getBarPosition(U,A,b,e,t,i,w,L,a,r,s,"log"===S?.scale,O,W,F,J,V,P):void 0;return(i,a)=>"bar"===y[i].type?n?n(i,a):void 0:g.getLineAreaChartItemPosition(i,a,N,b,A,F,e,t,P)},getMarkerInfo:(e,t)=>({color:s.getItemColor(e,t,y,b),markerType:s.getMarkerType(e,t,b)}),renderGridLinesInFront:ee,getNavUtil:(e,t)=>s.getLineAreaChartNavUtil(b,y.length,e,t,O,W,F),getGapRatio:()=>1,getStartAndEndAxesOffset:e=>i.getStartAndEndAxesOffset($,_,F,e,X),isRtl:W,stackLabelStyle:q,getStackGroup:V,...D,children:({xStartIndex:e,xEndIndex:s,xScale:n,groupsInfo:o,yScale:l,y2Scale:g,activeId:p,focusedItemInfo:h,hoveredItemInfo:I,isPointInsideMarquee:u,getTextDimensions:f,defaultFontSize:A,resolvedColors:k,axisStepWidth:R,averageGroupZ:j,getItemAriaLabel:M,plotAreaClipPathId:q})=>{let V=-1;const X=o.map((({item:e})=>e));return N=i.getSeriesData(y.length,X.length,b,w,B),t.jsx(t.Fragment,{children:N.map(((o,$)=>{const _=y[$],ee="y2"===_.associatedYAxis,te="lineWithArea"===_.type?.2:1,ie="area"===_.type||"lineWithArea"===_.type,ae="area"===_.type;if(0===o.length)return;const re=i.getLineAreaSegments(ee?g:l,n,o,e,s,B,X,$,Z,P);Q[$]=re[0];const se="bar"!==_.type?"curved"===_.lineType&&O&&N.length>1&&$>0:O&&N.length>1&&$>0,ne=void 0===x||0===z.size||z.has(_.id),oe=O&&0!=$?Q.reduce(((e,t,i)=>i>=$?e:t.length>0?i:e),0):void 0;return"bar"===_.type&&(V+=1),t.jsxs(t.Fragment,{children:["bar"===_.type&&X.slice(e,s+1).map(((a,r)=>t.jsx(c.BarGroup,{plotAreaClipPathId:q,yScale:l,y2Scale:g,xScale:n,splitDualY:J,groupIndex:r+e,selectedIds:E,hiddenIds:w,highlightedIds:x?z:x,isDrillEnabled:"on"===C,series:U,barGapRatio:i.getBarGapRatio(O,e,s),dataItemGaps:L,isPointInsideMarquee:u,isStacked:O,axisStepWidth:R,averageGroupZ:j,group:X[r],timeAxisType:D.xAxis?.timeAxisType,colors:k,activeId:p,isLog:"log"===S?.scale,orientation:m,getDataItem:b,isSelectionEnabled:"none"!=v,isRtl:W,focusedItemInfo:h,hoveredItemInfo:I,getTextDimensions:f,defaultFontSize:A,seriesIndex:V,getItemAriaLabel:M,getStackLabel:Y}))),ie&&t.jsx(a.AreaSeries,{yScale:ee?g:l,plotAreaClipPathId:q,lineType:_.lineType,color:_.areaColor||H[$%H.length],isHorizontal:F,areaColorOpacity:te,isBottomSegmentCurved:se,bottomCoords:void 0!==oe&&Q[oe].some((e=>null!=e))?Q[oe]:void 0,lineSegments:re,isLog:B,isHighlighted:ne,seriesIndex:$,groupWidth:R,isRtl:W,timeAxisType:P}),"line"===_.type&&t.jsx(a.LineSeries,{plotAreaClipPathId:q,lineType:_.lineType,lineColor:ae?d.colorSchemeVars.dvt.contrastLine:_.lineColor,lineWidth:ae?1.25:_.lineWidth,lineStyle:_.lineStyle||"solid",color:_.lineColor||H[$%H.length],lineSegmentCoords:re,isHorizontal:F,isHighlighted:ne,seriesIndex:$,groupWidth:R,isRtl:W,timeAxisType:P}),!O&&("line"===_.type||ie)&&t.jsx(r.MarkersWithLabel,{yScale:ee?g:l,xScale:n,groups:X,series:_,timeAxisType:P,color:H[$%H.length],seriesIndex:$,startIndex:e,endIndex:s,markerType:K[$%K.length],orientation:m,isLog:B,activeId:p,getDataItem:b,isPointInsideMarquee:u,selectedIds:E,focusedItemIndex:h.seriesIndex!==$||!h.isFocusVisible||D.isDataCursorEnabled&&D.dataCursorStyle?.isMarkerDisplayed?void 0:h.groupIndex,hoveredItemIndex:I?.isCurrent&&I.seriesIndex===$?I.groupIndex:void 0,isSelectionEnabled:"single"===v||"multiple"===v,isDrillEnabled:"on"===C,defaultFontSize:A,dataLabelEffect:T,isHighContrast:G,getItemAriaLabel:M,isRtl:W})]})}))})}})}));function u(e){return t.jsx(I,{datatip:()=>({content:""}),zoomAndScroll:"off",plotArea:{yMajorTick:{isRendered:!1},xMajorTick:{}},xAxis:{tickLabel:{autoRotate:!1,isRendered:!!e.xAxis?.timeAxisType}},series:e.series,groups:e.groups,getDataItem:e.getDataItem,yAxis:{tickLabel:{isRendered:!1}},overview:"off"})}e.ComboChart=I}));
2
+ //# sourceMappingURL=ComboChart-5a6f6c8a.js.map