@oracle/oraclejet-preact 19.0.5 → 19.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/amd/{BarChart-8521c53a.js → BarChart-d94f9c56.js} +2 -2
  2. package/amd/{BarChart-8521c53a.js.map → BarChart-d94f9c56.js.map} +1 -1
  3. package/amd/{Chart-061335fe.js → Chart-3108fa88.js} +2 -2
  4. package/amd/{Chart-061335fe.js.map → Chart-3108fa88.js.map} +1 -1
  5. package/amd/CheckboxSet-678ea1d4.js +2 -0
  6. package/{es/CheckboxSet-751d4298.js.map → amd/CheckboxSet-678ea1d4.js.map} +1 -1
  7. package/amd/ColorPicker-8ef0b6e0.js +2 -0
  8. package/amd/{ColorPicker-d8bda48d.js.map → ColorPicker-8ef0b6e0.js.map} +1 -1
  9. package/amd/{ComboChart-f3876b51.js → ComboChart-e61b5581.js} +2 -2
  10. package/amd/{ComboChart-f3876b51.js.map → ComboChart-e61b5581.js.map} +1 -1
  11. package/amd/{InputColor-192a309b.js → InputColor-5315b76a.js} +2 -2
  12. package/amd/{InputColor-192a309b.js.map → InputColor-5315b76a.js.map} +1 -1
  13. package/amd/InputDatePicker-c5ceeb44.js +2 -0
  14. package/amd/{InputDatePicker-8c8e14ca.js.map → InputDatePicker-c5ceeb44.js.map} +1 -1
  15. package/amd/{LineAreaChart-68050d87.js → LineAreaChart-f8aefe07.js} +2 -2
  16. package/amd/{LineAreaChart-68050d87.js.map → LineAreaChart-f8aefe07.js.map} +1 -1
  17. package/amd/NavigationListItem-82b0c382.js +2 -0
  18. package/amd/{NavigationListItem-cdbcc394.js.map → NavigationListItem-82b0c382.js.map} +1 -1
  19. package/amd/{OverflowTabBar-587b7c2a.js → OverflowTabBar-e2b5f36e.js} +2 -2
  20. package/amd/{OverflowTabBar-587b7c2a.js.map → OverflowTabBar-e2b5f36e.js.map} +1 -1
  21. package/amd/{OverflowTabBarItem-bcf24ceb.js → OverflowTabBarItem-e01e53ae.js} +2 -2
  22. package/amd/{OverflowTabBarItem-bcf24ceb.js.map → OverflowTabBarItem-e01e53ae.js.map} +1 -1
  23. package/amd/PRIVATE_Chart.js +1 -1
  24. package/amd/{ScatterChart-6fc3c47e.js → ScatterChart-1999acf0.js} +2 -2
  25. package/amd/{ScatterChart-6fc3c47e.js.map → ScatterChart-1999acf0.js.map} +1 -1
  26. package/amd/Theme-redwood/theme.css +187 -187
  27. package/amd/Theme-stable/theme.css +173 -173
  28. package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
  29. package/amd/UNSAFE_BarChart.js +1 -1
  30. package/amd/UNSAFE_CheckboxItem.js +1 -1
  31. package/amd/UNSAFE_CheckboxItem.js.map +1 -1
  32. package/amd/UNSAFE_CheckboxSet.js +1 -1
  33. package/amd/UNSAFE_CheckboxSet.js.map +1 -1
  34. package/amd/UNSAFE_ColorPicker.js +1 -1
  35. package/amd/UNSAFE_ComboChart.js +1 -1
  36. package/amd/UNSAFE_InputColor.js +1 -1
  37. package/amd/UNSAFE_InputDatePicker.js +1 -1
  38. package/amd/UNSAFE_LineAreaChart.js +1 -1
  39. package/amd/UNSAFE_NavigationList.js +1 -1
  40. package/amd/UNSAFE_OverflowTabBar.js +1 -1
  41. package/amd/UNSAFE_RichCheckboxSet.js +1 -1
  42. package/amd/UNSAFE_RichCheckboxSet.js.map +1 -1
  43. package/amd/UNSAFE_RichSelectionItem.js +1 -1
  44. package/amd/UNSAFE_RichSelectionItem.js.map +1 -1
  45. package/amd/UNSAFE_ScatterChart.js +1 -1
  46. package/amd/UNSAFE_TabBar.js +1 -1
  47. package/amd/UNSAFE_TabBarCommon.js +1 -1
  48. package/amd/UNSAFE_TabBarMixed.js +1 -1
  49. package/cjs/{Chart-55c4cd8f.js → Chart-c07adbbd.js} +2 -2
  50. package/cjs/{Chart-55c4cd8f.js.map → Chart-c07adbbd.js.map} +1 -1
  51. package/cjs/{ColorPalette-ea5e1bed.js → ColorPalette-f8fbe6a4.js} +2 -2
  52. package/cjs/{ColorPalette-ea5e1bed.js.map → ColorPalette-f8fbe6a4.js.map} +1 -1
  53. package/cjs/{ColorPicker-03036ee3.js → ColorPicker-efe1edb3.js} +2 -2
  54. package/cjs/{ColorPicker-03036ee3.js.map → ColorPicker-efe1edb3.js.map} +1 -1
  55. package/cjs/{Expander-96ce2888.js → Expander-01af6642.js} +2 -2
  56. package/cjs/{Expander-96ce2888.js.map → Expander-01af6642.js.map} +1 -1
  57. package/cjs/MaxLengthCounter-39055ba1.js +27 -0
  58. package/cjs/MaxLengthCounter-39055ba1.js.map +1 -0
  59. package/cjs/{NavigationListItem-24abe2ab.js → NavigationListItem-843e014d.js} +4 -2
  60. package/cjs/{NavigationListItem-24abe2ab.js.map → NavigationListItem-843e014d.js.map} +1 -1
  61. package/cjs/{NavigationListLinkItem-35f33123.js → NavigationListLinkItem-0931af4d.js} +2 -2
  62. package/cjs/{NavigationListLinkItem-35f33123.js.map → NavigationListLinkItem-0931af4d.js.map} +1 -1
  63. package/cjs/{OverflowTabBarItem-c8809159.js → OverflowTabBarItem-6c3c9629.js} +4 -4
  64. package/cjs/{OverflowTabBarItem-c8809159.js.map → OverflowTabBarItem-6c3c9629.js.map} +1 -1
  65. package/cjs/PRIVATE_Chart.js +4 -4
  66. package/cjs/PRIVATE_Expander.js +55 -55
  67. package/cjs/PRIVATE_Table.js +5 -5
  68. package/cjs/{SortControl-7be650eb.js → SortControl-5ca85c6b.js} +2 -2
  69. package/cjs/{SortControl-7be650eb.js.map → SortControl-5ca85c6b.js.map} +1 -1
  70. package/cjs/{TabBar-afd26c75.js → TabBar-1885c9c5.js} +3 -1
  71. package/cjs/{TabBar-afd26c75.js.map → TabBar-1885c9c5.js.map} +1 -1
  72. package/cjs/{TabBarLinkItem-4e4f8da0.js → TabBarLinkItem-cdff6676.js} +2 -2
  73. package/cjs/{TabBarLinkItem-4e4f8da0.js.map → TabBarLinkItem-cdff6676.js.map} +1 -1
  74. package/cjs/{Table-0bca32d4.js → Table-49575528.js} +2 -2
  75. package/cjs/{Table-0bca32d4.js.map → Table-49575528.js.map} +1 -1
  76. package/cjs/Theme-redwood/theme.css +148 -148
  77. package/cjs/Theme-stable/theme.css +239 -239
  78. package/cjs/UNSAFE_BarChart.js +4 -4
  79. package/cjs/UNSAFE_ColorPalette.js +69 -69
  80. package/cjs/UNSAFE_ColorPicker.js +64 -64
  81. package/cjs/UNSAFE_ComboChart.js +4 -4
  82. package/cjs/UNSAFE_FlatTreeView.js +30 -30
  83. package/cjs/UNSAFE_InputColor.js +12 -12
  84. package/cjs/UNSAFE_InputDatePicker.js +92 -92
  85. package/cjs/UNSAFE_LineAreaChart.js +4 -4
  86. package/cjs/UNSAFE_NavigationList.js +13 -13
  87. package/cjs/UNSAFE_NavigationListCommon.js +2 -2
  88. package/cjs/UNSAFE_OverflowTabBar.js +35 -35
  89. package/cjs/UNSAFE_ReorderableTabBar.js +30 -9
  90. package/cjs/UNSAFE_ReorderableTabBar.js.map +1 -1
  91. package/cjs/UNSAFE_ScatterChart.js +4 -4
  92. package/cjs/UNSAFE_SortControl.js +47 -47
  93. package/cjs/UNSAFE_TabBar.js +35 -35
  94. package/cjs/UNSAFE_TabBarCommon.js +55 -55
  95. package/cjs/UNSAFE_TabBarMixed.js +34 -34
  96. package/cjs/UNSAFE_TableView.js +5 -5
  97. package/cjs/UNSAFE_TextArea.js +216 -106
  98. package/cjs/UNSAFE_TextArea.js.map +1 -1
  99. package/cjs/UNSAFE_TextAreaAutosize.js +2 -2
  100. package/cjs/UNSAFE_TextAreaAutosize.js.map +1 -1
  101. package/es/CheckboxSetContext-1be56556.js +9 -0
  102. package/{amd/CheckboxSetContext-2e486ea8.js.map → es/CheckboxSetContext-1be56556.js.map} +1 -1
  103. package/es/{ColorPicker-3bb4cad3.js → ColorPicker-b0f5a7f2.js} +2 -2
  104. package/es/{ColorPicker-3bb4cad3.js.map → ColorPicker-b0f5a7f2.js.map} +1 -1
  105. package/es/DiagramStyles.styles.css +10 -16
  106. package/es/DiagramStyles.styles2.css +16 -10
  107. package/es/PRIVATE_ContainerDiagram/themes/DiagramStyles.css.js +1 -1
  108. package/es/PRIVATE_ContainerDiagram.js +1 -1
  109. package/es/Theme-redwood/theme.css +406 -406
  110. package/es/Theme-stable/theme.css +457 -457
  111. package/es/UNSAFE_CheckboxItem.js +47 -101
  112. package/es/UNSAFE_CheckboxItem.js.map +1 -1
  113. package/es/UNSAFE_CheckboxSet.js +44 -10
  114. package/es/UNSAFE_CheckboxSet.js.map +1 -1
  115. package/es/UNSAFE_ColorPicker.js +25 -25
  116. package/es/UNSAFE_Diagram/themes/DiagramStyles.css.js +1 -1
  117. package/es/UNSAFE_Diagram.js +1 -1
  118. package/es/UNSAFE_InputColor.js +2 -2
  119. package/es/UNSAFE_InputDatePicker.js +92 -92
  120. package/es/UNSAFE_RichCheckboxSet.js +25 -29
  121. package/es/UNSAFE_RichCheckboxSet.js.map +1 -1
  122. package/es/UNSAFE_RichSelectionItem.js +29 -172
  123. package/es/UNSAFE_RichSelectionItem.js.map +1 -1
  124. package/package.json +2 -2
  125. package/amd/CheckboxSetContext-2e486ea8.js +0 -2
  126. package/amd/ColorPicker-d8bda48d.js +0 -2
  127. package/amd/InputDatePicker-8c8e14ca.js +0 -2
  128. package/amd/NavigationListItem-cdbcc394.js +0 -2
  129. package/cjs/TextArea-8608dba1.js +0 -187
  130. package/cjs/TextArea-8608dba1.js.map +0 -1
  131. package/es/CheckboxSet-751d4298.js +0 -49
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', './utils-8ccd1b88', './useUser-988f7da2', './BarGroup-c171e6cb', './dataStyleUtils-9895ff76', './Chart-061335fe'], (function(e,t,r,i,n,o,s){"use strict";function a(e,t,r,i){const n=o.getNextItemInGroup(e,r,i);if(n)return n;if(e.groupIndex<t){let n={seriesIndex:0,groupIndex:e.groupIndex+1};if(i(n.seriesIndex,n.groupIndex))return n;if(n=a(n,t,r,i),n)return n}}function d(e,t,r,i){const n=o.getPrevItemInGroup(e,i);if(n)return n;if(e.groupIndex>t){let n={groupIndex:e.groupIndex-1,seriesIndex:r-1};if(i(n.seriesIndex,n.groupIndex))return n;if(n=d(n,t,r,i),n)return n}return e}function I(e){return t.jsx(g,{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"})}function g({width:e,height:g,selectedIds:l=[],hiddenIds:u=[],highlightedIds:x,hideAndShowBehavior:c="none",orientation:p="vertical",yAxis:f,series:A,groups:h,isStacked:m=!1,getDataItem:S,selectionMode:w="none",drilling:v="off",dataItemGaps:y=.5,...D}){const{direction:G}=i.useUser(),R="rtl"===G,b=new Set(u),L="horizontal"===p,P=D.xAxis?.timeAxisType,k=new Set(l),B=new Set(x),j="number"==typeof D.y2Axis?.split;return t.jsx(s.Chart,{width:e,height:g,selectedIds:k,hiddenIds:u,hideAndShowBehavior:c,orientation:p,yAxis:f,series:A,groups:h,isStacked:m,getDataItem:S,selectionMode:w,drilling:v,renderGridLinesInFront:!1,findNearest:(e,t,i,o,s,a)=>{const d=n.getSeriesOffsetAndWidth(o,s,A,S,a,y,m,R,L);return r.findNearestDataPoint(A,h,e,t,S,m,d,n.getBarCenterCoordinate,"log"===f?.scale,y,b,P,i)},getDataItemPos:(e,t,r,i,o,s)=>n.getBarPosition(A,h,S,e,t,r,b,y,i,o,s,"log"===f?.scale,m,R,L,j,P),getNavUtil:(e,t)=>function(e,t,r,i,n,s,I){const g=(t,r)=>{const i=e(t,r);return Boolean(i)};return(e,l)=>{if(!n&&(("ArrowDown"===l||"ArrowUp"===l)&&!I||("ArrowLeft"===l||"ArrowRight"===l)&&I))return e;let u;const x={groupIndex:e.groupIndex,seriesIndex:e.seriesIndex};return x.groupIndex<r?(x.groupIndex=r,x):x.groupIndex>i?(x.groupIndex=i,x):(n?"ArrowLeft"===l&&!I||"ArrowUp"===l&&I?u=s&&!I?o.getNextItemInSeries(x,i,g):o.getPrevItemInSeries(x,r,g):"ArrowRight"===l&&!I||"ArrowDown"===l&&I?u=s&&!I?o.getPrevItemInSeries(x,r,g):o.getNextItemInSeries(x,i,g):"ArrowDown"===l&&!I||"ArrowLeft"===l&&I?u=s&&I?o.getNextItemInGroup(x,t,g):o.getPrevItemInGroup(x,g):("ArrowUp"===l&&!I||"ArrowRight"===l&&I)&&(u=s&&I?o.getPrevItemInGroup(x,g):o.getNextItemInGroup(x,t,g)):I?"ArrowDown"===l?u=a(x,i,t,g):"ArrowUp"===l&&(u=d(x,r,t,g)):"ArrowRight"===l?u=s?d(x,r,t,g):a(x,i,t,g):"ArrowLeft"===l&&(u=s?a(x,i,t,g):d(x,r,t,g)),u||x)}}(S,A.length,e,t,m,R,L),getGapRatio:(e,t)=>r.getBarGapRatio(m,e,t),getMarkerInfo:(e,t)=>({color:o.getItemColor(e,t,A,S),type:"circle"}),isRtl:R,getStartAndEndAxesOffset:e=>r.getStartAndEndAxesOffset(!1,!1,L,e,!0),defaultOverviewContentRenderer:()=>t.jsx(I,{series:A,groups:h,getDataItem:S}),...D,children:({groupsInfo:e,xStartIndex:r,xEndIndex:i,xScale:o,yScale:s,y2Scale:a,gapRatio:d,activeId:I,focusedItemInfo:g,hoveredItemInfo:l,axisStepWidth:u,averageGroupZ:c,isPointInsideMarquee:h,getTextDimensions:G,defaultFontSize:L,colors:P,getItemAriaLabel:C,plotAreaClipPathId:N})=>t.jsx("g",{clipPath:`url(#${N})`,children:e.slice(r,i+1).map((({item:e},i)=>t.jsx(n.BarGroup,{yScale:s,splitDualY:j,y2Scale:a,xScale:o,groupIndex:i+r,selectedIds:k,hiddenIds:b,highlightedIds:x?B:x,isDrillEnabled:"on"===v,series:A,barGapRatio:d,dataItemGaps:y,isPointInsideMarquee:h,isStacked:m,axisStepWidth:u,averageGroupZ:c,group:e,timeAxisType:D.xAxis?.timeAxisType,colors:P,activeId:I,isLog:"log"===f?.scale,orientation:p,getDataItem:S,isSelectionEnabled:"none"!=w,isRtl:R,focusedItemInfo:g,hoveredItemInfo:l,getTextDimensions:G,defaultFontSize:L,getStackLabel:D.getStackLabel,getItemAriaLabel:C})))})})}e.BarChart=g}));
2
- //# sourceMappingURL=BarChart-8521c53a.js.map
1
+ define(['exports', 'preact/jsx-runtime', './utils-8ccd1b88', './useUser-988f7da2', './BarGroup-c171e6cb', './dataStyleUtils-9895ff76', './Chart-3108fa88'], (function(e,t,r,i,n,o,s){"use strict";function a(e,t,r,i){const n=o.getNextItemInGroup(e,r,i);if(n)return n;if(e.groupIndex<t){let n={seriesIndex:0,groupIndex:e.groupIndex+1};if(i(n.seriesIndex,n.groupIndex))return n;if(n=a(n,t,r,i),n)return n}}function d(e,t,r,i){const n=o.getPrevItemInGroup(e,i);if(n)return n;if(e.groupIndex>t){let n={groupIndex:e.groupIndex-1,seriesIndex:r-1};if(i(n.seriesIndex,n.groupIndex))return n;if(n=d(n,t,r,i),n)return n}return e}function I(e){return t.jsx(g,{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"})}function g({width:e,height:g,selectedIds:l=[],hiddenIds:u=[],highlightedIds:x,hideAndShowBehavior:c="none",orientation:p="vertical",yAxis:f,series:A,groups:h,isStacked:m=!1,getDataItem:S,selectionMode:w="none",drilling:v="off",dataItemGaps:y=.5,...D}){const{direction:G}=i.useUser(),R="rtl"===G,b=new Set(u),L="horizontal"===p,P=D.xAxis?.timeAxisType,k=new Set(l),B=new Set(x),j="number"==typeof D.y2Axis?.split;return t.jsx(s.Chart,{width:e,height:g,selectedIds:k,hiddenIds:u,hideAndShowBehavior:c,orientation:p,yAxis:f,series:A,groups:h,isStacked:m,getDataItem:S,selectionMode:w,drilling:v,renderGridLinesInFront:!1,findNearest:(e,t,i,o,s,a)=>{const d=n.getSeriesOffsetAndWidth(o,s,A,S,a,y,m,R,L);return r.findNearestDataPoint(A,h,e,t,S,m,d,n.getBarCenterCoordinate,"log"===f?.scale,y,b,P,i)},getDataItemPos:(e,t,r,i,o,s)=>n.getBarPosition(A,h,S,e,t,r,b,y,i,o,s,"log"===f?.scale,m,R,L,j,P),getNavUtil:(e,t)=>function(e,t,r,i,n,s,I){const g=(t,r)=>{const i=e(t,r);return Boolean(i)};return(e,l)=>{if(!n&&(("ArrowDown"===l||"ArrowUp"===l)&&!I||("ArrowLeft"===l||"ArrowRight"===l)&&I))return e;let u;const x={groupIndex:e.groupIndex,seriesIndex:e.seriesIndex};return x.groupIndex<r?(x.groupIndex=r,x):x.groupIndex>i?(x.groupIndex=i,x):(n?"ArrowLeft"===l&&!I||"ArrowUp"===l&&I?u=s&&!I?o.getNextItemInSeries(x,i,g):o.getPrevItemInSeries(x,r,g):"ArrowRight"===l&&!I||"ArrowDown"===l&&I?u=s&&!I?o.getPrevItemInSeries(x,r,g):o.getNextItemInSeries(x,i,g):"ArrowDown"===l&&!I||"ArrowLeft"===l&&I?u=s&&I?o.getNextItemInGroup(x,t,g):o.getPrevItemInGroup(x,g):("ArrowUp"===l&&!I||"ArrowRight"===l&&I)&&(u=s&&I?o.getPrevItemInGroup(x,g):o.getNextItemInGroup(x,t,g)):I?"ArrowDown"===l?u=a(x,i,t,g):"ArrowUp"===l&&(u=d(x,r,t,g)):"ArrowRight"===l?u=s?d(x,r,t,g):a(x,i,t,g):"ArrowLeft"===l&&(u=s?a(x,i,t,g):d(x,r,t,g)),u||x)}}(S,A.length,e,t,m,R,L),getGapRatio:(e,t)=>r.getBarGapRatio(m,e,t),getMarkerInfo:(e,t)=>({color:o.getItemColor(e,t,A,S),type:"circle"}),isRtl:R,getStartAndEndAxesOffset:e=>r.getStartAndEndAxesOffset(!1,!1,L,e,!0),defaultOverviewContentRenderer:()=>t.jsx(I,{series:A,groups:h,getDataItem:S}),...D,children:({groupsInfo:e,xStartIndex:r,xEndIndex:i,xScale:o,yScale:s,y2Scale:a,gapRatio:d,activeId:I,focusedItemInfo:g,hoveredItemInfo:l,axisStepWidth:u,averageGroupZ:c,isPointInsideMarquee:h,getTextDimensions:G,defaultFontSize:L,colors:P,getItemAriaLabel:C,plotAreaClipPathId:N})=>t.jsx("g",{clipPath:`url(#${N})`,children:e.slice(r,i+1).map((({item:e},i)=>t.jsx(n.BarGroup,{yScale:s,splitDualY:j,y2Scale:a,xScale:o,groupIndex:i+r,selectedIds:k,hiddenIds:b,highlightedIds:x?B:x,isDrillEnabled:"on"===v,series:A,barGapRatio:d,dataItemGaps:y,isPointInsideMarquee:h,isStacked:m,axisStepWidth:u,averageGroupZ:c,group:e,timeAxisType:D.xAxis?.timeAxisType,colors:P,activeId:I,isLog:"log"===f?.scale,orientation:p,getDataItem:S,isSelectionEnabled:"none"!=w,isRtl:R,focusedItemInfo:g,hoveredItemInfo:l,getTextDimensions:G,defaultFontSize:L,getStackLabel:D.getStackLabel,getItemAriaLabel:C})))})})}e.BarChart=g}));
2
+ //# sourceMappingURL=BarChart-d94f9c56.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart-8521c53a.js","sources":["../../src/UNSAFE_BarChart/utils/barNavUtils.ts","../../src/UNSAFE_BarChart/OverviewBarChart.tsx","../../src/UNSAFE_BarChart/BarChart.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 { Info, ItemInfo } from '#utils/UNSAFE_visTypes/chart';\nimport {\n getNextItemInGroup,\n getNextItemInSeries,\n getPrevItemInGroup,\n getPrevItemInSeries\n} from '#utils/PRIVATE_chartUtils/navUtils';\nimport { BarItemData } from '#UNSAFE_BarChart/barChart.types';\n\ntype isItemNavigableType = (seriesIndex: number, groupIndex: number) => boolean;\n\n/**\n * Get next item in unstacked bar chart.\n * @param info\n * @param viewportEndIndex\n * @param numSeries\n * @param isNavigable\n * @returns\n */\nexport function getNextItem(\n info: ItemInfo,\n viewportEndIndex: number,\n numSeries: number,\n isNavigable: isItemNavigableType\n): ItemInfo | undefined {\n const nextItemInGroup = getNextItemInGroup(info, numSeries, isNavigable);\n if (nextItemInGroup) return nextItemInGroup;\n\n if (info.groupIndex < viewportEndIndex) {\n let nextItem: ItemInfo | undefined = { seriesIndex: 0, groupIndex: info.groupIndex + 1 };\n if (isNavigable(nextItem.seriesIndex, nextItem.groupIndex)) return nextItem;\n nextItem = getNextItem(nextItem, viewportEndIndex, numSeries, isNavigable);\n if (nextItem) return nextItem;\n }\n return;\n}\n\n/**\n * Get prev item in unstacked bar chart.\n * @param info\n * @param viewportStartIndex\n * @param numSeries\n * @param isNavigable\n * @returns\n */\nexport function getPreviousItem(\n info: ItemInfo,\n viewportStartIndex: number,\n numSeries: number,\n isNavigable: (seriesIndex: number, groupIndex: number) => boolean\n) {\n const prevItemInGroup = getPrevItemInGroup(info, isNavigable);\n if (prevItemInGroup) return prevItemInGroup;\n\n if (info.groupIndex > viewportStartIndex) {\n let prevItem = { groupIndex: info.groupIndex - 1, seriesIndex: numSeries - 1 };\n if (isNavigable(prevItem.seriesIndex, prevItem.groupIndex)) return prevItem;\n prevItem = getPreviousItem(prevItem, viewportStartIndex, numSeries, isNavigable);\n if (prevItem) return prevItem;\n }\n return info;\n}\n\nexport function getBarChartNavUtil<K, D extends BarItemData<K>>(\n getDataItem: (seriesIndex: number, groupIndex: number) => D | undefined,\n numSeries: number,\n viewportStartIndex: number,\n viewportEndIndex: number,\n isStacked: boolean,\n isRtl: boolean,\n isHoriz: boolean\n) {\n const isItemNavigable = (seriesIndex: number, groupIndex: number) => {\n const barItem = getDataItem(seriesIndex, groupIndex);\n return Boolean(barItem);\n };\n\n const getNextChartItem = (\n itemInfo: Info,\n arrow: 'ArrowLeft' | 'ArrowRight' | 'ArrowDown' | 'ArrowUp'\n ): Info => {\n if (\n !isStacked &&\n (((arrow === 'ArrowDown' || arrow === 'ArrowUp') && !isHoriz) ||\n ((arrow === 'ArrowLeft' || arrow === 'ArrowRight') && isHoriz))\n ) {\n return itemInfo;\n }\n\n let newInfo: Info | undefined;\n // TODO: this is just to keep typescript happy.\n // figure out consistent typing while doing type cleanup.\n const info = {\n groupIndex: itemInfo.groupIndex!,\n seriesIndex: itemInfo.seriesIndex!\n };\n\n if (info.groupIndex! < viewportStartIndex) {\n info.groupIndex = viewportStartIndex;\n return info;\n } else if (info.groupIndex! > viewportEndIndex) {\n info.groupIndex = viewportEndIndex;\n return info;\n }\n\n if (isStacked) {\n if ((arrow === 'ArrowLeft' && !isHoriz) || (arrow === 'ArrowUp' && isHoriz)) {\n newInfo =\n isRtl && !isHoriz\n ? getNextItemInSeries(info, viewportEndIndex, isItemNavigable)\n : getPrevItemInSeries(info, viewportStartIndex, isItemNavigable);\n } else if ((arrow === 'ArrowRight' && !isHoriz) || (arrow === 'ArrowDown' && isHoriz)) {\n newInfo =\n isRtl && !isHoriz\n ? getPrevItemInSeries(info, viewportStartIndex, isItemNavigable)\n : getNextItemInSeries(info, viewportEndIndex, isItemNavigable);\n } else if ((arrow === 'ArrowDown' && !isHoriz) || (arrow === 'ArrowLeft' && isHoriz)) {\n newInfo =\n isRtl && isHoriz\n ? getNextItemInGroup(info, numSeries, isItemNavigable)\n : getPrevItemInGroup(info, isItemNavigable);\n } else if ((arrow === 'ArrowUp' && !isHoriz) || (arrow === 'ArrowRight' && isHoriz)) {\n newInfo =\n isRtl && isHoriz\n ? getPrevItemInGroup(info, isItemNavigable)\n : getNextItemInGroup(info, numSeries, isItemNavigable);\n }\n } else {\n if (!isHoriz) {\n if (arrow === 'ArrowRight') {\n newInfo = isRtl\n ? getPreviousItem(info, viewportStartIndex, numSeries, isItemNavigable)\n : getNextItem(info, viewportEndIndex, numSeries, isItemNavigable);\n } else if (arrow === 'ArrowLeft') {\n newInfo = isRtl\n ? getNextItem(info, viewportEndIndex, numSeries, isItemNavigable)\n : getPreviousItem(info, viewportStartIndex, numSeries, isItemNavigable);\n }\n } else {\n if (arrow === 'ArrowDown') {\n newInfo = getNextItem(info, viewportEndIndex, numSeries, isItemNavigable);\n } else if (arrow === 'ArrowUp') {\n newInfo = getPreviousItem(info, viewportStartIndex, numSeries, isItemNavigable);\n }\n }\n }\n return newInfo || info;\n };\n\n return getNextChartItem;\n}\n","import { BarChart } from './BarChart';\nimport { BarChartProps, BarItemData } from './barChart.types';\n\nexport function OverviewBarChart<K extends string | number, D extends BarItemData<K>>(\n props: BarChartProps<K, D>\n) {\n return (\n <BarChart\n datatip={() => ({ content: '' })}\n zoomAndScroll=\"off\"\n plotArea={{\n yMajorTick: {\n isRendered: false\n },\n xMajorTick: {}\n }}\n xAxis={{\n tickLabel: {\n autoRotate: false,\n // @ts-ignore\n isRendered: props.xAxis?.timeAxisType ? true : false\n }\n }}\n series={props.series}\n groups={props.groups}\n getDataItem={props.getDataItem}\n yAxis={{\n tickLabel: {\n isRendered: false\n }\n }}\n overview=\"off\"\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 { BarChartProps, BarItemData } from './barChart.types';\nimport { getBarGapRatio } from './utils/barSeriesUtils';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { BarGroup } from './BarGroup';\nimport {\n findNearestDataPoint,\n getStartAndEndAxesOffset\n} from '#utils/PRIVATE_chartUtils/layoutUtils';\nimport {\n getBarCenterCoordinate,\n getBarPosition,\n getSeriesOffsetAndWidth\n} from './utils/barLayoutUtils';\nimport { getBarChartNavUtil } from './utils/barNavUtils';\nimport { Chart } from '#PRIVATE_Chart';\nimport { TimeAxisProps, Scale } from '#utils/UNSAFE_visTypes/chart';\nimport { getItemColor } from '#utils/PRIVATE_chartUtils/dataStyleUtils';\nimport { OverviewBarChart } from './OverviewBarChart';\nimport { GroupLevelItem } from '#PRIVATE_Axis/groupAxis/hierarchicalUtils';\n\n/**\n * A Bar chart displays information graphically using rectangular bars with heights or lengths proportional to the values that they represent,\n * making relationships among the data easier to understand.\n */\nexport function BarChart<K extends string | number, D extends BarItemData<K>>({\n width,\n height,\n selectedIds = [],\n hiddenIds = [],\n highlightedIds,\n hideAndShowBehavior = 'none',\n orientation = 'vertical',\n yAxis,\n series,\n groups,\n isStacked = false,\n getDataItem,\n selectionMode = 'none',\n drilling = 'off',\n dataItemGaps = 0.5,\n ...props\n}: BarChartProps<K, D>) {\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n const hiddenSet = new Set(hiddenIds);\n const isHoriz = orientation === 'horizontal';\n const timeAxisType = (props.xAxis as TimeAxisProps)?.timeAxisType;\n const selectedSet = new Set(selectedIds);\n const highlightedSet = new Set(highlightedIds);\n const getGapRatio = (startIndex: number, endIndex: number) => {\n return getBarGapRatio(isStacked, startIndex, endIndex);\n };\n const getNextChartItemFunc = (startIndex: number, endIndex: number) => {\n return getBarChartNavUtil(\n getDataItem,\n series.length,\n startIndex,\n endIndex,\n isStacked,\n isRtl,\n isHoriz\n );\n };\n const isSplitDualY = typeof props.y2Axis?.split === 'number';\n const getDataItemPos = (\n xScale: Scale,\n yScale: Scale,\n y2Scale: Scale,\n axisStepWidth: number,\n averageGroupZ: number,\n gapRatio: number\n ) => {\n return getBarPosition(\n series,\n groups,\n getDataItem,\n xScale,\n yScale,\n y2Scale,\n hiddenSet,\n dataItemGaps,\n axisStepWidth,\n averageGroupZ,\n gapRatio,\n yAxis?.scale === 'log',\n isStacked,\n isRtl,\n isHoriz,\n isSplitDualY,\n timeAxisType\n );\n };\n\n const findNearest = (\n xScale: Scale,\n yScale: Scale,\n y2Scale: Scale,\n axisStepWidth: number,\n averageGroupZ: number,\n gapRatio: number\n ) => {\n const getSeriesDataInfo = getSeriesOffsetAndWidth(\n axisStepWidth,\n averageGroupZ,\n series,\n getDataItem,\n gapRatio,\n dataItemGaps,\n isStacked,\n isRtl,\n isHoriz\n );\n return findNearestDataPoint(\n series,\n groups,\n xScale,\n yScale,\n getDataItem,\n isStacked,\n getSeriesDataInfo,\n getBarCenterCoordinate,\n yAxis?.scale === 'log',\n dataItemGaps,\n hiddenSet,\n timeAxisType,\n y2Scale\n );\n };\n\n const getMarkerColorAndType = (seriesIndex: number, groupIndex: number) => {\n return {\n color: getItemColor(seriesIndex, groupIndex, series, getDataItem),\n type: 'circle' as const\n };\n };\n\n const getOffset = (groupCount: number) => {\n return getStartAndEndAxesOffset(false, false, isHoriz, groupCount, true);\n };\n\n return (\n <Chart\n width={width}\n height={height}\n selectedIds={selectedSet}\n hiddenIds={hiddenIds}\n hideAndShowBehavior={hideAndShowBehavior}\n orientation={orientation}\n yAxis={yAxis}\n series={series}\n groups={groups}\n isStacked={isStacked}\n getDataItem={getDataItem}\n selectionMode={selectionMode}\n drilling={drilling}\n renderGridLinesInFront={false}\n findNearest={findNearest}\n getDataItemPos={getDataItemPos}\n getNavUtil={getNextChartItemFunc}\n getGapRatio={getGapRatio}\n getMarkerInfo={getMarkerColorAndType}\n isRtl={isRtl}\n getStartAndEndAxesOffset={getOffset}\n defaultOverviewContentRenderer={() => {\n return <OverviewBarChart series={series} groups={groups} getDataItem={getDataItem} />;\n }}\n {...props}>\n {({\n groupsInfo,\n xStartIndex,\n xEndIndex,\n xScale,\n yScale,\n y2Scale,\n gapRatio,\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n axisStepWidth,\n averageGroupZ,\n isPointInsideMarquee,\n getTextDimensions,\n defaultFontSize,\n colors,\n getItemAriaLabel,\n plotAreaClipPathId\n }) => {\n return (\n <g clipPath={`url(#${plotAreaClipPathId})`}>\n {groupsInfo\n .slice(xStartIndex, xEndIndex + 1)\n .map(({ item: group }: GroupLevelItem, index: number) => (\n <BarGroup\n yScale={yScale}\n splitDualY={isSplitDualY}\n y2Scale={y2Scale}\n xScale={xScale}\n groupIndex={index + xStartIndex}\n selectedIds={selectedSet}\n hiddenIds={hiddenSet}\n highlightedIds={highlightedIds ? highlightedSet : highlightedIds}\n isDrillEnabled={drilling === 'on'}\n series={series}\n barGapRatio={gapRatio}\n dataItemGaps={dataItemGaps}\n isPointInsideMarquee={isPointInsideMarquee}\n isStacked={isStacked}\n axisStepWidth={axisStepWidth}\n averageGroupZ={averageGroupZ!}\n group={group}\n timeAxisType={(props.xAxis as TimeAxisProps)?.timeAxisType}\n colors={colors}\n activeId={activeId}\n isLog={yAxis?.scale === 'log'}\n orientation={orientation}\n getDataItem={getDataItem}\n isSelectionEnabled={selectionMode != 'none'}\n isRtl={isRtl}\n focusedItemInfo={focusedItemInfo}\n hoveredItemInfo={hoveredItemInfo}\n getTextDimensions={getTextDimensions}\n defaultFontSize={defaultFontSize}\n getStackLabel={props.getStackLabel}\n getItemAriaLabel={getItemAriaLabel}\n />\n ))}\n </g>\n );\n }}\n </Chart>\n );\n}\n"],"names":["getNextItem","info","viewportEndIndex","numSeries","isNavigable","nextItemInGroup","getNextItemInGroup","groupIndex","nextItem","seriesIndex","getPreviousItem","viewportStartIndex","prevItemInGroup","getPrevItemInGroup","prevItem","OverviewBarChart","props","_jsx","BarChart","datatip","content","zoomAndScroll","plotArea","yMajorTick","isRendered","xMajorTick","xAxis","tickLabel","autoRotate","timeAxisType","series","groups","getDataItem","yAxis","overview","width","height","selectedIds","hiddenIds","highlightedIds","hideAndShowBehavior","orientation","isStacked","selectionMode","drilling","dataItemGaps","direction","useUser","isRtl","hiddenSet","Set","isHoriz","selectedSet","highlightedSet","isSplitDualY","y2Axis","split","Chart","renderGridLinesInFront","findNearest","xScale","yScale","y2Scale","axisStepWidth","averageGroupZ","gapRatio","getSeriesDataInfo","getSeriesOffsetAndWidth","findNearestDataPoint","getBarCenterCoordinate","scale","getDataItemPos","getBarPosition","getNavUtil","startIndex","endIndex","isItemNavigable","barItem","Boolean","itemInfo","arrow","newInfo","getNextItemInSeries","getPrevItemInSeries","getBarChartNavUtil","length","getGapRatio","getBarGapRatio","getMarkerInfo","color","getItemColor","type","getStartAndEndAxesOffset","groupCount","defaultOverviewContentRenderer","jsx","children","groupsInfo","xStartIndex","xEndIndex","activeId","focusedItemInfo","hoveredItemInfo","isPointInsideMarquee","getTextDimensions","defaultFontSize","colors","getItemAriaLabel","plotAreaClipPathId","clipPath","slice","map","item","group","index","BarGroup","splitDualY","isDrillEnabled","barGapRatio","isLog","isSelectionEnabled","getStackLabel"],"mappings":"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"}
1
+ {"version":3,"file":"BarChart-d94f9c56.js","sources":["../../src/UNSAFE_BarChart/utils/barNavUtils.ts","../../src/UNSAFE_BarChart/OverviewBarChart.tsx","../../src/UNSAFE_BarChart/BarChart.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 { Info, ItemInfo } from '#utils/UNSAFE_visTypes/chart';\nimport {\n getNextItemInGroup,\n getNextItemInSeries,\n getPrevItemInGroup,\n getPrevItemInSeries\n} from '#utils/PRIVATE_chartUtils/navUtils';\nimport { BarItemData } from '#UNSAFE_BarChart/barChart.types';\n\ntype isItemNavigableType = (seriesIndex: number, groupIndex: number) => boolean;\n\n/**\n * Get next item in unstacked bar chart.\n * @param info\n * @param viewportEndIndex\n * @param numSeries\n * @param isNavigable\n * @returns\n */\nexport function getNextItem(\n info: ItemInfo,\n viewportEndIndex: number,\n numSeries: number,\n isNavigable: isItemNavigableType\n): ItemInfo | undefined {\n const nextItemInGroup = getNextItemInGroup(info, numSeries, isNavigable);\n if (nextItemInGroup) return nextItemInGroup;\n\n if (info.groupIndex < viewportEndIndex) {\n let nextItem: ItemInfo | undefined = { seriesIndex: 0, groupIndex: info.groupIndex + 1 };\n if (isNavigable(nextItem.seriesIndex, nextItem.groupIndex)) return nextItem;\n nextItem = getNextItem(nextItem, viewportEndIndex, numSeries, isNavigable);\n if (nextItem) return nextItem;\n }\n return;\n}\n\n/**\n * Get prev item in unstacked bar chart.\n * @param info\n * @param viewportStartIndex\n * @param numSeries\n * @param isNavigable\n * @returns\n */\nexport function getPreviousItem(\n info: ItemInfo,\n viewportStartIndex: number,\n numSeries: number,\n isNavigable: (seriesIndex: number, groupIndex: number) => boolean\n) {\n const prevItemInGroup = getPrevItemInGroup(info, isNavigable);\n if (prevItemInGroup) return prevItemInGroup;\n\n if (info.groupIndex > viewportStartIndex) {\n let prevItem = { groupIndex: info.groupIndex - 1, seriesIndex: numSeries - 1 };\n if (isNavigable(prevItem.seriesIndex, prevItem.groupIndex)) return prevItem;\n prevItem = getPreviousItem(prevItem, viewportStartIndex, numSeries, isNavigable);\n if (prevItem) return prevItem;\n }\n return info;\n}\n\nexport function getBarChartNavUtil<K, D extends BarItemData<K>>(\n getDataItem: (seriesIndex: number, groupIndex: number) => D | undefined,\n numSeries: number,\n viewportStartIndex: number,\n viewportEndIndex: number,\n isStacked: boolean,\n isRtl: boolean,\n isHoriz: boolean\n) {\n const isItemNavigable = (seriesIndex: number, groupIndex: number) => {\n const barItem = getDataItem(seriesIndex, groupIndex);\n return Boolean(barItem);\n };\n\n const getNextChartItem = (\n itemInfo: Info,\n arrow: 'ArrowLeft' | 'ArrowRight' | 'ArrowDown' | 'ArrowUp'\n ): Info => {\n if (\n !isStacked &&\n (((arrow === 'ArrowDown' || arrow === 'ArrowUp') && !isHoriz) ||\n ((arrow === 'ArrowLeft' || arrow === 'ArrowRight') && isHoriz))\n ) {\n return itemInfo;\n }\n\n let newInfo: Info | undefined;\n // TODO: this is just to keep typescript happy.\n // figure out consistent typing while doing type cleanup.\n const info = {\n groupIndex: itemInfo.groupIndex!,\n seriesIndex: itemInfo.seriesIndex!\n };\n\n if (info.groupIndex! < viewportStartIndex) {\n info.groupIndex = viewportStartIndex;\n return info;\n } else if (info.groupIndex! > viewportEndIndex) {\n info.groupIndex = viewportEndIndex;\n return info;\n }\n\n if (isStacked) {\n if ((arrow === 'ArrowLeft' && !isHoriz) || (arrow === 'ArrowUp' && isHoriz)) {\n newInfo =\n isRtl && !isHoriz\n ? getNextItemInSeries(info, viewportEndIndex, isItemNavigable)\n : getPrevItemInSeries(info, viewportStartIndex, isItemNavigable);\n } else if ((arrow === 'ArrowRight' && !isHoriz) || (arrow === 'ArrowDown' && isHoriz)) {\n newInfo =\n isRtl && !isHoriz\n ? getPrevItemInSeries(info, viewportStartIndex, isItemNavigable)\n : getNextItemInSeries(info, viewportEndIndex, isItemNavigable);\n } else if ((arrow === 'ArrowDown' && !isHoriz) || (arrow === 'ArrowLeft' && isHoriz)) {\n newInfo =\n isRtl && isHoriz\n ? getNextItemInGroup(info, numSeries, isItemNavigable)\n : getPrevItemInGroup(info, isItemNavigable);\n } else if ((arrow === 'ArrowUp' && !isHoriz) || (arrow === 'ArrowRight' && isHoriz)) {\n newInfo =\n isRtl && isHoriz\n ? getPrevItemInGroup(info, isItemNavigable)\n : getNextItemInGroup(info, numSeries, isItemNavigable);\n }\n } else {\n if (!isHoriz) {\n if (arrow === 'ArrowRight') {\n newInfo = isRtl\n ? getPreviousItem(info, viewportStartIndex, numSeries, isItemNavigable)\n : getNextItem(info, viewportEndIndex, numSeries, isItemNavigable);\n } else if (arrow === 'ArrowLeft') {\n newInfo = isRtl\n ? getNextItem(info, viewportEndIndex, numSeries, isItemNavigable)\n : getPreviousItem(info, viewportStartIndex, numSeries, isItemNavigable);\n }\n } else {\n if (arrow === 'ArrowDown') {\n newInfo = getNextItem(info, viewportEndIndex, numSeries, isItemNavigable);\n } else if (arrow === 'ArrowUp') {\n newInfo = getPreviousItem(info, viewportStartIndex, numSeries, isItemNavigable);\n }\n }\n }\n return newInfo || info;\n };\n\n return getNextChartItem;\n}\n","import { BarChart } from './BarChart';\nimport { BarChartProps, BarItemData } from './barChart.types';\n\nexport function OverviewBarChart<K extends string | number, D extends BarItemData<K>>(\n props: BarChartProps<K, D>\n) {\n return (\n <BarChart\n datatip={() => ({ content: '' })}\n zoomAndScroll=\"off\"\n plotArea={{\n yMajorTick: {\n isRendered: false\n },\n xMajorTick: {}\n }}\n xAxis={{\n tickLabel: {\n autoRotate: false,\n // @ts-ignore\n isRendered: props.xAxis?.timeAxisType ? true : false\n }\n }}\n series={props.series}\n groups={props.groups}\n getDataItem={props.getDataItem}\n yAxis={{\n tickLabel: {\n isRendered: false\n }\n }}\n overview=\"off\"\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 { BarChartProps, BarItemData } from './barChart.types';\nimport { getBarGapRatio } from './utils/barSeriesUtils';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { BarGroup } from './BarGroup';\nimport {\n findNearestDataPoint,\n getStartAndEndAxesOffset\n} from '#utils/PRIVATE_chartUtils/layoutUtils';\nimport {\n getBarCenterCoordinate,\n getBarPosition,\n getSeriesOffsetAndWidth\n} from './utils/barLayoutUtils';\nimport { getBarChartNavUtil } from './utils/barNavUtils';\nimport { Chart } from '#PRIVATE_Chart';\nimport { TimeAxisProps, Scale } from '#utils/UNSAFE_visTypes/chart';\nimport { getItemColor } from '#utils/PRIVATE_chartUtils/dataStyleUtils';\nimport { OverviewBarChart } from './OverviewBarChart';\nimport { GroupLevelItem } from '#PRIVATE_Axis/groupAxis/hierarchicalUtils';\n\n/**\n * A Bar chart displays information graphically using rectangular bars with heights or lengths proportional to the values that they represent,\n * making relationships among the data easier to understand.\n */\nexport function BarChart<K extends string | number, D extends BarItemData<K>>({\n width,\n height,\n selectedIds = [],\n hiddenIds = [],\n highlightedIds,\n hideAndShowBehavior = 'none',\n orientation = 'vertical',\n yAxis,\n series,\n groups,\n isStacked = false,\n getDataItem,\n selectionMode = 'none',\n drilling = 'off',\n dataItemGaps = 0.5,\n ...props\n}: BarChartProps<K, D>) {\n const { direction } = useUser();\n const isRtl = direction === 'rtl';\n const hiddenSet = new Set(hiddenIds);\n const isHoriz = orientation === 'horizontal';\n const timeAxisType = (props.xAxis as TimeAxisProps)?.timeAxisType;\n const selectedSet = new Set(selectedIds);\n const highlightedSet = new Set(highlightedIds);\n const getGapRatio = (startIndex: number, endIndex: number) => {\n return getBarGapRatio(isStacked, startIndex, endIndex);\n };\n const getNextChartItemFunc = (startIndex: number, endIndex: number) => {\n return getBarChartNavUtil(\n getDataItem,\n series.length,\n startIndex,\n endIndex,\n isStacked,\n isRtl,\n isHoriz\n );\n };\n const isSplitDualY = typeof props.y2Axis?.split === 'number';\n const getDataItemPos = (\n xScale: Scale,\n yScale: Scale,\n y2Scale: Scale,\n axisStepWidth: number,\n averageGroupZ: number,\n gapRatio: number\n ) => {\n return getBarPosition(\n series,\n groups,\n getDataItem,\n xScale,\n yScale,\n y2Scale,\n hiddenSet,\n dataItemGaps,\n axisStepWidth,\n averageGroupZ,\n gapRatio,\n yAxis?.scale === 'log',\n isStacked,\n isRtl,\n isHoriz,\n isSplitDualY,\n timeAxisType\n );\n };\n\n const findNearest = (\n xScale: Scale,\n yScale: Scale,\n y2Scale: Scale,\n axisStepWidth: number,\n averageGroupZ: number,\n gapRatio: number\n ) => {\n const getSeriesDataInfo = getSeriesOffsetAndWidth(\n axisStepWidth,\n averageGroupZ,\n series,\n getDataItem,\n gapRatio,\n dataItemGaps,\n isStacked,\n isRtl,\n isHoriz\n );\n return findNearestDataPoint(\n series,\n groups,\n xScale,\n yScale,\n getDataItem,\n isStacked,\n getSeriesDataInfo,\n getBarCenterCoordinate,\n yAxis?.scale === 'log',\n dataItemGaps,\n hiddenSet,\n timeAxisType,\n y2Scale\n );\n };\n\n const getMarkerColorAndType = (seriesIndex: number, groupIndex: number) => {\n return {\n color: getItemColor(seriesIndex, groupIndex, series, getDataItem),\n type: 'circle' as const\n };\n };\n\n const getOffset = (groupCount: number) => {\n return getStartAndEndAxesOffset(false, false, isHoriz, groupCount, true);\n };\n\n return (\n <Chart\n width={width}\n height={height}\n selectedIds={selectedSet}\n hiddenIds={hiddenIds}\n hideAndShowBehavior={hideAndShowBehavior}\n orientation={orientation}\n yAxis={yAxis}\n series={series}\n groups={groups}\n isStacked={isStacked}\n getDataItem={getDataItem}\n selectionMode={selectionMode}\n drilling={drilling}\n renderGridLinesInFront={false}\n findNearest={findNearest}\n getDataItemPos={getDataItemPos}\n getNavUtil={getNextChartItemFunc}\n getGapRatio={getGapRatio}\n getMarkerInfo={getMarkerColorAndType}\n isRtl={isRtl}\n getStartAndEndAxesOffset={getOffset}\n defaultOverviewContentRenderer={() => {\n return <OverviewBarChart series={series} groups={groups} getDataItem={getDataItem} />;\n }}\n {...props}>\n {({\n groupsInfo,\n xStartIndex,\n xEndIndex,\n xScale,\n yScale,\n y2Scale,\n gapRatio,\n activeId,\n focusedItemInfo,\n hoveredItemInfo,\n axisStepWidth,\n averageGroupZ,\n isPointInsideMarquee,\n getTextDimensions,\n defaultFontSize,\n colors,\n getItemAriaLabel,\n plotAreaClipPathId\n }) => {\n return (\n <g clipPath={`url(#${plotAreaClipPathId})`}>\n {groupsInfo\n .slice(xStartIndex, xEndIndex + 1)\n .map(({ item: group }: GroupLevelItem, index: number) => (\n <BarGroup\n yScale={yScale}\n splitDualY={isSplitDualY}\n y2Scale={y2Scale}\n xScale={xScale}\n groupIndex={index + xStartIndex}\n selectedIds={selectedSet}\n hiddenIds={hiddenSet}\n highlightedIds={highlightedIds ? highlightedSet : highlightedIds}\n isDrillEnabled={drilling === 'on'}\n series={series}\n barGapRatio={gapRatio}\n dataItemGaps={dataItemGaps}\n isPointInsideMarquee={isPointInsideMarquee}\n isStacked={isStacked}\n axisStepWidth={axisStepWidth}\n averageGroupZ={averageGroupZ!}\n group={group}\n timeAxisType={(props.xAxis as TimeAxisProps)?.timeAxisType}\n colors={colors}\n activeId={activeId}\n isLog={yAxis?.scale === 'log'}\n orientation={orientation}\n getDataItem={getDataItem}\n isSelectionEnabled={selectionMode != 'none'}\n isRtl={isRtl}\n focusedItemInfo={focusedItemInfo}\n hoveredItemInfo={hoveredItemInfo}\n getTextDimensions={getTextDimensions}\n defaultFontSize={defaultFontSize}\n getStackLabel={props.getStackLabel}\n getItemAriaLabel={getItemAriaLabel}\n />\n ))}\n </g>\n );\n }}\n </Chart>\n );\n}\n"],"names":["getNextItem","info","viewportEndIndex","numSeries","isNavigable","nextItemInGroup","getNextItemInGroup","groupIndex","nextItem","seriesIndex","getPreviousItem","viewportStartIndex","prevItemInGroup","getPrevItemInGroup","prevItem","OverviewBarChart","props","_jsx","BarChart","datatip","content","zoomAndScroll","plotArea","yMajorTick","isRendered","xMajorTick","xAxis","tickLabel","autoRotate","timeAxisType","series","groups","getDataItem","yAxis","overview","width","height","selectedIds","hiddenIds","highlightedIds","hideAndShowBehavior","orientation","isStacked","selectionMode","drilling","dataItemGaps","direction","useUser","isRtl","hiddenSet","Set","isHoriz","selectedSet","highlightedSet","isSplitDualY","y2Axis","split","Chart","renderGridLinesInFront","findNearest","xScale","yScale","y2Scale","axisStepWidth","averageGroupZ","gapRatio","getSeriesDataInfo","getSeriesOffsetAndWidth","findNearestDataPoint","getBarCenterCoordinate","scale","getDataItemPos","getBarPosition","getNavUtil","startIndex","endIndex","isItemNavigable","barItem","Boolean","itemInfo","arrow","newInfo","getNextItemInSeries","getPrevItemInSeries","getBarChartNavUtil","length","getGapRatio","getBarGapRatio","getMarkerInfo","color","getItemColor","type","getStartAndEndAxesOffset","groupCount","defaultOverviewContentRenderer","jsx","children","groupsInfo","xStartIndex","xEndIndex","activeId","focusedItemInfo","hoveredItemInfo","isPointInsideMarquee","getTextDimensions","defaultFontSize","colors","getItemAriaLabel","plotAreaClipPathId","clipPath","slice","map","item","group","index","BarGroup","splitDualY","isDrillEnabled","barGapRatio","isLog","isSelectionEnabled","getStackLabel"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- define(['exports', 'preact/jsx-runtime', './PRIVATE_Chart/themes/ChartStyles.css', './TrackResizeContainer-a4999df9', './useTextDimensions-f254e8f5', './useCssVars-d782da3d', 'preact/hooks', './Gridlines-545ae30a', './useId-c9578d26', './Axis-3b37075a', './useChartViewport-167a8e6b', './utils-8ccd1b88', './useChartNav-a162c821', './mergeProps-bcfa6a92', './ScrollBar-fae26188', './useSelectDrill-05d4e28f', './useUser-988f7da2', './useTestId-a2e433c2', './cssUtils-1609d0af', './useChartContextMenu-59688a67', './useChartDnd-e1facca9', './eventsUtils-5fb81c3e', './accUtils-acd70e81', './layoutUtils-641af87a', './useTooltip-e14d62f1', './logger-0f873e29', './LayerHost-7d4aa6d3', 'preact/compat', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-3c8a0253', './useChartMarquee-33a329da', './useVisTouchResponse-88a7bb09', './stringUtils-4ffd9d59', './useOverviewContext-dd00c487', './scale-2f3251e1', './OverviewSlidingWindow-366528eb', './PRIVATE_VisOverview/themes/VisOverview.css', './useTranslationBundle-27bf6340', './useChartDatatip-cdfc4089'], (function(e,t,o,r,i,a,n,s,l,d,c,u,x,p,g,h,v,f,I,m,y,w,S,A,C,b,D,P,T,j,M,R,G,k,F,O,L,V,B,N,z){"use strict";function E(e,t,o,r){if(1===e[t][o].path.length)return{levelIndex:t,groupIndex:o};let i=Math.max(0,t-1);const a=e[t][o],{start:n,end:s}=a;for(;i>=0;){for(let t=0;t<e[i].length;t++){const{start:o,end:a}=e[i][t];if(o<=n&&s<=a&&r(i,t))return{groupIndex:t,levelIndex:i}}i-=1}return{levelIndex:t,groupIndex:o}}function U(e,t,o,r){if(t===e.length-1)return{levelIndex:t,groupIndex:o};const i=Math.min(e.length-1,t+1),a=e[t][o],{start:n,end:s}=a;for(;i<=e.length-1;)for(let t=0;t<e[i].length;t++){const{start:o,end:a}=e[i][t];if(n<=o&&a<=s&&r(i,t))return{groupIndex:t,levelIndex:i}}return{levelIndex:t,groupIndex:o}}function W(e,t,o){const r=t.groupIndex+1,i=t.levelIndex;if(!(r>e[i].length-1))return o(i,r)?{groupIndex:r,levelIndex:i}:W(e,{groupIndex:r,levelIndex:i},o)}function H(e,t){const o=e.groupIndex-1,r=e.levelIndex;if(!(o<0))return t(r,o)?{groupIndex:o,levelIndex:r}:H({groupIndex:o,levelIndex:r},t)}function X({x:e,width:o,height:r,y:i,windowX:a,windowHeight:n,windowWidth:s,windowY:l}){return t.jsxs(t.Fragment,{children:[t.jsx("rect",{x:e,y:i,width:Math.max(0,a-e),height:r,class:B.styles.overviewBackground}),t.jsx("rect",{x:a+s,width:Math.max(0,e+o-a-s),y:i,height:r,class:B.styles.overviewBackground}),t.jsx("rect",{x:a,y:i,height:Math.max(0,l-i),width:s,class:B.styles.overviewBackground}),t.jsx("rect",{x:a,y:l+n,width:s,class:B.styles.overviewBackground,height:Math.max(i+r-l-n,0)})]})}const q=I.getChartVars();function Y({width:e,height:r,selectedIds:I,hiddenIds:S,hideAndShowBehavior:b="none",orientation:D="vertical",xAxis:P,yAxis:T,y2Axis:j,plotArea:M,dragMode:R="user",series:B,groups:Y,isStacked:Z=!1,getDataItem:$,selectionMode:_="none",drilling:J="off",dataCursorPosition:K,onSelectionChange:Q,isDataCursorEnabled:ee,dataCursorStyle:te,onViewportChange:oe,onDataCursorPositionChange:re,onItemDrill:ie,onGroupDrill:ae,onItemHover:ne,onItemFocus:se,datatip:le,zoomAndScroll:de="off",getNavUtil:ce,getDataItemPos:ue,getGapRatio:xe,valueFormats:pe,findNearest:ge,getMarkerInfo:he,isRtl:ve,children:fe,testId:Ie,renderGridLinesInFront:me,isDataXAxis:ye,contextMenuConfig:we,overview:Se="off",getStartAndEndAxesOffset:Ae,defaultOverviewContentRenderer:Ce,isOverview:be,yAxisSize:De,overviewRenderer:Pe,...Te}){const je=f.useTestId(Ie),Me=n.useRef(null),Re=void 0!==je["data-testid"],Ge="horizontal"===D,{xAxisPosition:ke,yAxisPosition:Fe,y2AxisPosition:Oe}=u.getAxesPosition(T,j,Ge,ve),{resolvedVars:Le,cssContent:Ve}=a.useCssVars(q),Be=Array.from(Array(12)).map(((e,t)=>Le[`color${t+1}`])),{textMeasureContent:Ne,getTextDimensions:ze}=i.useTextDimensions();let Ee=u.getAvailSpace(e,r);if(be&&De){const e=Ee.width-De,t=u.getOuterGaps(e,r);Ee.width-=De-2*t.width,Ee.x+=De-t.width}const Ue=null!=P?.timeAxisType,We=u.getScrollBarSpace(Ue,Ee,de,ke,Se);let He=We.scrollDims;Ee=We.availSpace;const{locale:Xe}=v.useUser(),{x:qe,y:Ye,width:Ze,height:$e}=Ee,_e=Le.labelFontSize,Je=j?.split??"off",Ke="off"!==Je,Qe="off"!==Je?Je:.5,et=n.useMemo((()=>{const e=new Set(S);return u.getLayoutInfo(B,Y,$,P,T,j,{x:qe,y:Ye,width:Ze,height:$e},e,b,Ge,ve,Z,_e,Ae,Xe,Ke,Qe,ze,Re,ye)}),[qe,Ye,Ze,$e,$,ze,Y,S,b,ye,Ge,ve,Z,Re,Xe,Ae,_e,B,P,T,j,Qe,Ke]),{getGroupFromPath:tt,levelsArray:ot,xAxisInfo:rt,xProps:it,xScale:at,yProps:nt,y2Props:st,yScale:lt,y2Scale:dt,yMaxDim:ct,yAxisInfo:ut,plotAreaSpace:xt,xSpace:pt,ySpace:gt,y2Space:ht,idToDataMap:vt,y2AxisInfo:ft}=et,It=ot.length>0?ot[ot.length-1]:[];He=u.updateScrollBarSpace(He,"bottom"===ke,ve,ct);const mt=xe(rt.startIndex,rt.endIndex),yt=ce(rt.startIndex,rt.endIndex),{getNextNavGroup:wt,getDefaultNavGroup:St}=function(e,t,o,r,i){const a=(o,r)=>{const a=e[o][r].item,n=a.name||a.id,s=a.drilling;return!!i?.(o,r)&&null!=n&&("on"===t||"groupsOnly"===t)&&"off"!=s};return{getNextNavGroup:(t,i)=>{let n;return"ArrowRight"===i?n=r?o?E(e,t.levelIndex,t.groupIndex,a):U(e,t.levelIndex,t.groupIndex,a):o?H(t,a):W(e,t,a):"ArrowLeft"===i?n=r?o?U(e,t.levelIndex,t.groupIndex,a):E(e,t.levelIndex,t.groupIndex,a):o?W(e,t,a):H(t,a):"ArrowDown"===i?n=r?W(e,t,a):E(e,t.levelIndex,t.groupIndex,a):"ArrowUp"===i&&(n=r?H(t,a):U(e,t.levelIndex,t.groupIndex,a)),n||t},getDefaultNavGroup:()=>{for(let t=0;t<e.length;t++){const o=e[t].length;for(let e=0;e<o;e++)if(a(t,e))return{groupIndex:e,levelIndex:t}}return{groupIndex:0,levelIndex:0}}}}(ot,J,ve,Ge,it.isGroupLabelRendered),{ignoreSelectPointerUp:At,cursor:Ct,yAxisCursor:bt,marqueeProps:Dt,marqueeContent:Pt,toggleButtonContent:Tt,isPointInsideMarquee:jt,dragMode:Mt}=G.useChartMarquee({rootRef:Me,plotAreaSpace:xt,xSpace:pt,ySpace:gt,dragMode:R,chartWidth:e,isMultiSelection:"multiple"===_,onViewportChange:oe,isZoomScroll:"live"===de,xScale:at,selectedIds:I,getDataById:e=>vt.get(e),onSelectionChange:Q,isRtl:ve,xAxisInfo:rt}),{touchResponse:Rt,touchResponseStyle:Gt}=k.useVisTouchResponse({type:"auto",supportsTouchDragGestures:"off"!==Mt,rootRef:Me}),{activeId:kt,focusedItemInfo:Ft,hoveredItemInfo:Ot,focusedGroupInfo:Lt,navProps:Vt,onFocusUpdate:Bt}=x.useChartNav({rootRef:Me,getNextChartItem:yt,getNextNavGroup:wt,getDefaultNavGroup:St,touchResponse:Rt,onItemHover:ne,onItemFocus:se,drilling:J,xAxisInfo:rt}),Nt=N.useTranslationBundle("@oracle/oraclejet-preact"),{tooltipContent:zt,tooltipProps:Et}=function({getTextAndBounds:e,width:t,isRtl:o}){const[r,i]=n.useState(),a=n.useRef(),{tooltipContent:s,tooltipProps:l}=C.useTooltip({text:r,position:"top-start",offset:A.calculateOffset(o,t,a.current)});return{tooltipContent:s,tooltipProps:p.mergeProps({onPointerMove:t=>{const o=e(t.target);o?(a.current=o.bounds,i(o.text)):i(void 0)}},l)}}({getTextAndBounds:e=>{if(e!=Me.current){const t=w.getElementData(Me,e),o=t?.ojPrivateText;if(!o)return;if(o===P?.title)return{text:o,bounds:it.titleProps?.dims};if(o===T?.title)return{text:o,bounds:nt.titleProps?.dims};if(o===j?.title)return{text:o,bounds:st.titleProps?.dims};if(t?.ojPrivateGroupIndex&&t?.ojPrivateLevelIndex)return{bounds:it.tickLabels.find((({dataProps:e})=>e["data-oj-private-level-index"]===t.ojPrivateLevelIndex&&e["data-oj-private-group-index"]===t.ojPrivateGroupIndex)).dims,text:o}}if(e===Me.current&&Lt.isFocusVisible){const e=Y[Lt.groupIndex||0];return{bounds:it.tickLabels[Lt?.groupIndex||0].dims,text:e.name||e.id}}},width:e,isRtl:ve}),Ut=c.useChartViewport({rootRef:Me,width:e,height:r,xAxisInfo:rt,yAxisInfo:ut,y2AxisInfo:ft,xScale:at,yScale:lt,y2Scale:dt,plotAreaSpace:xt,isRtl:ve,isHoriz:Ge,zoomAndScroll:de,onViewportChange:oe}),{selectDrillProps:Wt,selectionContent:Ht}=h.useSelectDrill({selectionMode:_,selection:[...I],onChange:Q,rootRef:Me,drilling:J,onItemDrill:ie,onGroupDrill:ae,focusedGroupInfo:Lt,focusedItemInfo:Ft,levelsArray:ot,getDataItem:$,getDataById:e=>vt.get(e),ignoreAsTrigger:e=>{if(!e)return!1;const t=w.getElementData(Me,e);return!((!t||"marquee"!==t.ojPrivateObject&&"dragModeControls"!==t.ojPrivateObject&&"scrollBar"!==t.ojPrivateObject)&&!At)}}),Xt=ge(at,lt,dt,it.axisStepWidth,it.averageGroupZ,mt),qt=ue(at,lt,dt,it.axisStepWidth,it.averageGroupZ,mt),[Yt,Zt]=n.useState(!1),$t=z.getAriaLabelGenerator(B,Nt,pe,It,P,!!ye,tt,it.defaultLabelFormatter,nt.defaultLabelFormatter,st.defaultLabelFormatter),{datatipContent:_t,dataCursorContent:Jt,datatipProps:{"aria-describedby":Kt,...Qt}}=h.useChartDatatipAndCursor({series:B,leafGroupsInfo:It,width:e,height:r,findNearest:Xt,plotAreaSpace:xt,onDataCursorPositionChange:re,isDataCursorEnabled:ee,dataCursorPosition:K,dataCursorStyle:te,hoveredItemInfo:Ot,focusedItemInfo:Ft,getDataItem:$,getMarkerInfo:he,getDataItemPos:qt,datatip:le,valueFormats:pe,isHoriz:Ge,touchResponse:Rt,isDisabled:Yt,xScale:at,yScale:lt,y2Scale:dt,timeAxisType:P?.timeAxisType,defaultXFormatter:it.defaultLabelFormatter,defaultYFormatter:nt.defaultLabelFormatter,defaultY2Formatter:st.defaultLabelFormatter,hasXYValues:ye,getGroupFromPath:tt,translations:Nt}),eo=l.useId(),to=t.jsx(s.Gridlines,{plotArea:M,availSpace:xt,xAxisPosition:ke,isRtl:ve,yMinorTicks:ut.minorTicks,xMinorTicks:rt.minorTicks,xScale:at,yScale:lt,y2Scale:dt,isLog:"log"===T?.scale,yAxisPosition:Fe,isDataXAxis:ye,xAxis:P,yAxis:T,y2Axis:j,hasAxisLine:!be,y2MinorTicks:ft?.minorTicks,y2Ticks:ft.ticks,yTicks:ut.ticks,xTicks:rt.ticks,isSplitDualY:Ke}),oo=B.length>0&&Y.length>0,{contextMenuContent:ro,contextMenuProps:io}=m.useChartContextMenu({isRtl:ve,width:e,height:r,getDataItemPosition:qt,series:B,levelsArray:ot,focusedGroupInfo:Lt,getDataItem:$,focusedItemInfo:Ft,rootRef:Me,xAxisTitle:P?.title,yAxisTitle:T?.title,contextMenuConfig:oo?we:void 0,onContextMenuDismissed:e=>{"keyboard"===e&&Bt()}}),[ao,no]=n.useState({accepted:void 0,type:""}),{draggable:so,dndProps:lo,dndContent:co}=y.useChartDnd({onDrag:Te.onDrag,onDragStart:Te.onDragStart,onDragEnd:Te.onDragEnd,onDragEnter:Te.onDragEnter,onDragLeave:Te.onDragLeave,onDragOver:Te.onDragOver,onDrop:Te.onDrop,itemsDraggable:Te.itemsDraggable,groupDraggable:Te.groupDraggable,rootRef:Me,levelsArray:ot,series:B,selectedIds:I,getDataItem:$,xSpace:pt,ySpace:gt,plotAreaSpace:xt,setDragOver:no,setDatatipDisabled:Zt,onSelectionChange:Q}),uo=p.mergeProps(Vt,Wt,Ut,Qt,Dt,Et,io,lo),xo="off"==Se||"on"!==Se&&Se.renderer?void 0:Ce,{background:po,slidingWindow:go}=Pe(xt);return t.jsxs(t.Fragment,{children:[ze&&null!=Le.labelFontSize&&t.jsxs("div",{tabIndex:be?void 0:0,draggable:so,ref:Me,"aria-activedescendant":kt,"aria-label":Te["aria-label"],"aria-labelledby":Te["aria-labelledby"],"aria-describedby":F.l([Te["aria-describedby"],Kt]),style:{...Gt},role:be?void 0:"application",className:o.styles.baseChartStyle,"data-oj-private-selection-mode":Re?_:void 0,...je,...be?{}:uo,children:[t.jsxs("svg",{width:"100%",height:0!=He.height&&"off"!=Se?Math.ceil(100*(We.availSpace.height+10))/r+"%":"100%",children:[t.jsx("clipPath",{id:`${eo}`,children:t.jsx("rect",{...xt})}),po,t.jsx(s.PlotArea,{color:M?.color,dragOverStyle:"plotArea"!==ao.type?"none":ao.accepted?"accept":"reject",cursor:Ct,availSpace:xt}),!me&&to,t.jsx(d.Axis,{...nt,axisPosition:Fe,isRtl:ve,cursor:bt,availSpace:gt,dragOverStyle:"yAxis"!==ao.type?"none":ao.accepted?"accept":"reject"}),t.jsx(d.Axis,{...st,axisPosition:Oe,isRtl:ve,cursor:bt,availSpace:ht,dragOverStyle:"y2Axis"!==ao.type?"none":ao.accepted?"accept":"reject"}),t.jsx(d.Axis,{...it,isRtl:ve,axisPosition:ke,isTextInteractive:e=>{if(null!=P?.timeAxisType)return!1;const t=Y[e]?.drilling;return"on"===t||"off"!=t&&("on"===J||"groupsOnly"===J)},activeId:kt,cursor:Ct,focusedGroupIndex:Lt.isFocusVisible?Lt.groupIndex:void 0,focusedGroupLevelIndex:Lt.isFocusVisible?Lt.levelIndex:void 0,availSpace:pt,dragOverStyle:"xAxis"!==ao.type?"none":ao.accepted?"accept":"reject",separatorColor:P?.groupSeparators?.color}),t.jsxs("g",{children:[fe({xStartIndex:rt.startIndex,xEndIndex:rt.endIndex,getItemAriaLabel:$t,groupsInfo:It,colors:Be,xScale:at,yScale:lt,y2Scale:dt,isPointInsideMarquee:jt,defaultFontSize:Le.labelFontSize,gapRatio:mt,activeId:kt,focusedItemInfo:Ft,hoveredItemInfo:Ot,getTextDimensions:ze,axisStepWidth:it.axisStepWidth,averageGroupZ:it.averageGroupZ,plotAreaClipPathId:eo}),me&&to,Jt]}),go,"live"===de&&!be&&t.jsx(g.ScrollBar,{availSpace:He,isRtl:ve,viewport:rt,axisExtent:rt,isHoriz:"bottom"===ke}),Pt]}),t.jsx(O.OverviewContext.Provider,{value:{yAxisSize:gt.width,isOverview:!0,width:e,height:He.height,overviewRenderer:e=>{const{xScale:o,...r}=function(e,t,o,r,i,a){const n=[o.min,o.max],s=e?[a.x+a.width,a.x]:[a.x,a.x+a.width],l=new L.ScaleLinear(n,s),d=[i.min,i.max],c=[a.y+a.height,a.y],u=new L.ScaleLinear(d,c),x=l.transform(t.viewportMin),p=Math.abs(l.transform(t.viewportMax)-l.transform(t.viewportMin));return{windowX:e?x-p:x,windowWidth:p,windowY:u.transform(r.viewportMax),windowHeight:Math.abs(u.transform(r.viewportMax)-u.transform(r.viewportMin)),xScale:l,yScale:u}}(ve,rt,rt,ut,ut,e);return function(e,o,r,i,a,n,s){return{slidingWindow:t.jsx(V.OverviewSlidingWindow,{...i,...a,hasHandles:n,onWindowDimsChange:t=>{u.updateViewportFromOverview(e,o,a.windowX,a.windowWidth,t.deltaX,t.deltaWidth,r,s)}}),background:t.jsx(X,{...i,...a})}}(rt,ve,o,e,r,!0,oe)}},children:!be&&"off"!==Se&&xo&&t.jsx("div",{style:{width:e,height:He.height},children:xo()})}),Tt,_t,zt,ro,Ht,co]}),Ne,Ve]})}e.Chart=function({width:e,height:i,...a}){const{isOverview:n,overviewRenderer:s,yAxisSize:l,width:d,height:c}=O.useOverviewContext();let u=e,x=i;return void 0===u&&n&&void 0!==d&&(u=`${d}px`),void 0===x&&n&&void 0!==c&&(x=`${c}px`),t.jsx(r.TrackResizeContainer,{width:u,height:x,class:o.dimensionStyle,children:(e,o)=>e||o?t.jsx(Y,{width:e,height:o,...a,yAxisSize:l,isOverview:n,overviewRenderer:s}):void 0})}}));
2
- //# sourceMappingURL=Chart-061335fe.js.map
1
+ define(['exports', 'preact/jsx-runtime', './PRIVATE_Chart/themes/ChartStyles.css', './TrackResizeContainer-a4999df9', './useTextDimensions-f254e8f5', './useCssVars-d782da3d', 'preact/hooks', './Gridlines-545ae30a', './useId-c9578d26', './Axis-3b37075a', './useChartViewport-167a8e6b', './utils-8ccd1b88', './useChartNav-a162c821', './mergeProps-bcfa6a92', './useSelectDrill-05d4e28f', './useUser-988f7da2', './useTestId-a2e433c2', './cssUtils-1609d0af', './useChartContextMenu-59688a67', './useChartDnd-e1facca9', './eventsUtils-5fb81c3e', './accUtils-acd70e81', './layoutUtils-641af87a', './useTooltip-e14d62f1', './logger-0f873e29', './LayerHost-7d4aa6d3', 'preact/compat', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-3c8a0253', './useChartMarquee-33a329da', './useVisTouchResponse-88a7bb09', './stringUtils-4ffd9d59', './useOverviewContext-dd00c487', './scale-2f3251e1', './OverviewSlidingWindow-366528eb', './PRIVATE_VisOverview/themes/VisOverview.css', './useTranslationBundle-27bf6340', './useChartDatatip-cdfc4089', './ScrollBar-fae26188'], (function(e,t,o,r,i,a,n,s,l,d,c,u,x,p,g,h,v,f,I,m,y,w,S,A,C,b,D,P,T,j,M,R,G,k,F,O,L,V,B,N,z){"use strict";function E(e,t,o,r){if(1===e[t][o].path.length)return{levelIndex:t,groupIndex:o};let i=Math.max(0,t-1);const a=e[t][o],{start:n,end:s}=a;for(;i>=0;){for(let t=0;t<e[i].length;t++){const{start:o,end:a}=e[i][t];if(o<=n&&s<=a&&r(i,t))return{groupIndex:t,levelIndex:i}}i-=1}return{levelIndex:t,groupIndex:o}}function U(e,t,o,r){if(t===e.length-1)return{levelIndex:t,groupIndex:o};const i=Math.min(e.length-1,t+1),a=e[t][o],{start:n,end:s}=a;for(;i<=e.length-1;)for(let t=0;t<e[i].length;t++){const{start:o,end:a}=e[i][t];if(n<=o&&a<=s&&r(i,t))return{groupIndex:t,levelIndex:i}}return{levelIndex:t,groupIndex:o}}function W(e,t,o){const r=t.groupIndex+1,i=t.levelIndex;if(!(r>e[i].length-1))return o(i,r)?{groupIndex:r,levelIndex:i}:W(e,{groupIndex:r,levelIndex:i},o)}function H(e,t){const o=e.groupIndex-1,r=e.levelIndex;if(!(o<0))return t(r,o)?{groupIndex:o,levelIndex:r}:H({groupIndex:o,levelIndex:r},t)}function X({x:e,width:o,height:r,y:i,windowX:a,windowHeight:n,windowWidth:s,windowY:l}){return t.jsxs(t.Fragment,{children:[t.jsx("rect",{x:e,y:i,width:Math.max(0,a-e),height:r,class:V.styles.overviewBackground}),t.jsx("rect",{x:a+s,width:Math.max(0,e+o-a-s),y:i,height:r,class:V.styles.overviewBackground}),t.jsx("rect",{x:a,y:i,height:Math.max(0,l-i),width:s,class:V.styles.overviewBackground}),t.jsx("rect",{x:a,y:l+n,width:s,class:V.styles.overviewBackground,height:Math.max(i+r-l-n,0)})]})}const q=f.getChartVars();function Y({width:e,height:r,selectedIds:f,hiddenIds:w,hideAndShowBehavior:C="none",orientation:b="vertical",xAxis:D,yAxis:P,y2Axis:T,plotArea:j,dragMode:M="user",series:V,groups:Y,isStacked:Z=!1,getDataItem:$,selectionMode:_="none",drilling:J="off",dataCursorPosition:K,onSelectionChange:Q,isDataCursorEnabled:ee,dataCursorStyle:te,onViewportChange:oe,onDataCursorPositionChange:re,onItemDrill:ie,onGroupDrill:ae,onItemHover:ne,onItemFocus:se,datatip:le,zoomAndScroll:de="off",getNavUtil:ce,getDataItemPos:ue,getGapRatio:xe,valueFormats:pe,findNearest:ge,getMarkerInfo:he,isRtl:ve,children:fe,testId:Ie,renderGridLinesInFront:me,isDataXAxis:ye,contextMenuConfig:we,overview:Se="off",getStartAndEndAxesOffset:Ae,defaultOverviewContentRenderer:Ce,isOverview:be,yAxisSize:De,overviewRenderer:Pe,...Te}){const je=v.useTestId(Ie),Me=n.useRef(null),Re=void 0!==je["data-testid"],Ge="horizontal"===b,{xAxisPosition:ke,yAxisPosition:Fe,y2AxisPosition:Oe}=u.getAxesPosition(P,T,Ge,ve),{resolvedVars:Le,cssContent:Ve}=a.useCssVars(q),Be=Array.from(Array(12)).map(((e,t)=>Le[`color${t+1}`])),{textMeasureContent:Ne,getTextDimensions:ze}=i.useTextDimensions();let Ee=u.getAvailSpace(e,r);if(be&&De){const e=Ee.width-De,t=u.getOuterGaps(e,r);Ee.width-=De-2*t.width,Ee.x+=De-t.width}const Ue=null!=D?.timeAxisType,We=u.getScrollBarSpace(Ue,Ee,de,ke,Se);let He=We.scrollDims;Ee=We.availSpace;const{locale:Xe}=h.useUser(),{x:qe,y:Ye,width:Ze,height:$e}=Ee,_e=Le.labelFontSize,Je=T?.split??"off",Ke="off"!==Je,Qe="off"!==Je?Je:.5,et=n.useMemo((()=>{const e=new Set(w);return u.getLayoutInfo(V,Y,$,D,P,T,{x:qe,y:Ye,width:Ze,height:$e},e,C,Ge,ve,Z,_e,Ae,Xe,Ke,Qe,ze,Re,ye)}),[qe,Ye,Ze,$e,$,ze,Y,w,C,ye,Ge,ve,Z,Re,Xe,Ae,_e,V,D,P,T,Qe,Ke]),{getGroupFromPath:tt,levelsArray:ot,xAxisInfo:rt,xProps:it,xScale:at,yProps:nt,y2Props:st,yScale:lt,y2Scale:dt,yMaxDim:ct,yAxisInfo:ut,plotAreaSpace:xt,xSpace:pt,ySpace:gt,y2Space:ht,idToDataMap:vt,y2AxisInfo:ft}=et,It=ot.length>0?ot[ot.length-1]:[];He=u.updateScrollBarSpace(He,"bottom"===ke,ve,ct);const mt=xe(rt.startIndex,rt.endIndex),yt=ce(rt.startIndex,rt.endIndex),{getNextNavGroup:wt,getDefaultNavGroup:St}=function(e,t,o,r,i){const a=(o,r)=>{const a=e[o][r].item,n=a.name||a.id,s=a.drilling;return!!i?.(o,r)&&null!=n&&("on"===t||"groupsOnly"===t)&&"off"!=s};return{getNextNavGroup:(t,i)=>{let n;return"ArrowRight"===i?n=r?o?E(e,t.levelIndex,t.groupIndex,a):U(e,t.levelIndex,t.groupIndex,a):o?H(t,a):W(e,t,a):"ArrowLeft"===i?n=r?o?U(e,t.levelIndex,t.groupIndex,a):E(e,t.levelIndex,t.groupIndex,a):o?W(e,t,a):H(t,a):"ArrowDown"===i?n=r?W(e,t,a):E(e,t.levelIndex,t.groupIndex,a):"ArrowUp"===i&&(n=r?H(t,a):U(e,t.levelIndex,t.groupIndex,a)),n||t},getDefaultNavGroup:()=>{for(let t=0;t<e.length;t++){const o=e[t].length;for(let e=0;e<o;e++)if(a(t,e))return{groupIndex:e,levelIndex:t}}return{groupIndex:0,levelIndex:0}}}}(ot,J,ve,Ge,it.isGroupLabelRendered),{ignoreSelectPointerUp:At,cursor:Ct,yAxisCursor:bt,marqueeProps:Dt,marqueeContent:Pt,toggleButtonContent:Tt,isPointInsideMarquee:jt,dragMode:Mt}=R.useChartMarquee({rootRef:Me,plotAreaSpace:xt,xSpace:pt,ySpace:gt,dragMode:M,chartWidth:e,isMultiSelection:"multiple"===_,onViewportChange:oe,isZoomScroll:"live"===de,xScale:at,selectedIds:f,getDataById:e=>vt.get(e),onSelectionChange:Q,isRtl:ve,xAxisInfo:rt}),{touchResponse:Rt,touchResponseStyle:Gt}=G.useVisTouchResponse({type:"auto",supportsTouchDragGestures:"off"!==Mt,rootRef:Me}),{activeId:kt,focusedItemInfo:Ft,hoveredItemInfo:Ot,focusedGroupInfo:Lt,navProps:Vt,onFocusUpdate:Bt}=x.useChartNav({rootRef:Me,getNextChartItem:yt,getNextNavGroup:wt,getDefaultNavGroup:St,touchResponse:Rt,onItemHover:ne,onItemFocus:se,drilling:J,xAxisInfo:rt}),Nt=B.useTranslationBundle("@oracle/oraclejet-preact"),{tooltipContent:zt,tooltipProps:Et}=function({getTextAndBounds:e,width:t,isRtl:o}){const[r,i]=n.useState(),a=n.useRef(),{tooltipContent:s,tooltipProps:l}=A.useTooltip({text:r,position:"top-start",offset:S.calculateOffset(o,t,a.current)});return{tooltipContent:s,tooltipProps:p.mergeProps({onPointerMove:t=>{const o=e(t.target);o?(a.current=o.bounds,i(o.text)):i(void 0)}},l)}}({getTextAndBounds:e=>{if(e!=Me.current){const t=y.getElementData(Me,e),o=t?.ojPrivateText;if(!o)return;if(o===D?.title)return{text:o,bounds:it.titleProps?.dims};if(o===P?.title)return{text:o,bounds:nt.titleProps?.dims};if(o===T?.title)return{text:o,bounds:st.titleProps?.dims};if(t?.ojPrivateGroupIndex&&t?.ojPrivateLevelIndex)return{bounds:it.tickLabels.find((({dataProps:e})=>e["data-oj-private-level-index"]===t.ojPrivateLevelIndex&&e["data-oj-private-group-index"]===t.ojPrivateGroupIndex)).dims,text:o}}if(e===Me.current&&Lt.isFocusVisible){const e=Y[Lt.groupIndex||0];return{bounds:it.tickLabels[Lt?.groupIndex||0].dims,text:e.name||e.id}}},width:e,isRtl:ve}),Ut=c.useChartViewport({rootRef:Me,width:e,height:r,xAxisInfo:rt,yAxisInfo:ut,y2AxisInfo:ft,xScale:at,yScale:lt,y2Scale:dt,plotAreaSpace:xt,isRtl:ve,isHoriz:Ge,zoomAndScroll:de,onViewportChange:oe}),{selectDrillProps:Wt,selectionContent:Ht}=g.useSelectDrill({selectionMode:_,selection:[...f],onChange:Q,rootRef:Me,drilling:J,onItemDrill:ie,onGroupDrill:ae,focusedGroupInfo:Lt,focusedItemInfo:Ft,levelsArray:ot,getDataItem:$,getDataById:e=>vt.get(e),ignoreAsTrigger:e=>{if(!e)return!1;const t=y.getElementData(Me,e);return!((!t||"marquee"!==t.ojPrivateObject&&"dragModeControls"!==t.ojPrivateObject&&"scrollBar"!==t.ojPrivateObject)&&!At)}}),Xt=ge(at,lt,dt,it.axisStepWidth,it.averageGroupZ,mt),qt=ue(at,lt,dt,it.axisStepWidth,it.averageGroupZ,mt),[Yt,Zt]=n.useState(!1),$t=N.getAriaLabelGenerator(V,Nt,pe,It,D,!!ye,tt,it.defaultLabelFormatter,nt.defaultLabelFormatter,st.defaultLabelFormatter),{datatipContent:_t,dataCursorContent:Jt,datatipProps:{"aria-describedby":Kt,...Qt}}=g.useChartDatatipAndCursor({series:V,leafGroupsInfo:It,width:e,height:r,findNearest:Xt,plotAreaSpace:xt,onDataCursorPositionChange:re,isDataCursorEnabled:ee,dataCursorPosition:K,dataCursorStyle:te,hoveredItemInfo:Ot,focusedItemInfo:Ft,getDataItem:$,getMarkerInfo:he,getDataItemPos:qt,datatip:le,valueFormats:pe,isHoriz:Ge,touchResponse:Rt,isDisabled:Yt,xScale:at,yScale:lt,y2Scale:dt,timeAxisType:D?.timeAxisType,defaultXFormatter:it.defaultLabelFormatter,defaultYFormatter:nt.defaultLabelFormatter,defaultY2Formatter:st.defaultLabelFormatter,hasXYValues:ye,getGroupFromPath:tt,translations:Nt}),eo=l.useId(),to=t.jsx(s.Gridlines,{plotArea:j,availSpace:xt,xAxisPosition:ke,isRtl:ve,yMinorTicks:ut.minorTicks,xMinorTicks:rt.minorTicks,xScale:at,yScale:lt,y2Scale:dt,isLog:"log"===P?.scale,yAxisPosition:Fe,isDataXAxis:ye,xAxis:D,yAxis:P,y2Axis:T,hasAxisLine:!be,y2MinorTicks:ft?.minorTicks,y2Ticks:ft.ticks,yTicks:ut.ticks,xTicks:rt.ticks,isSplitDualY:Ke}),oo=V.length>0&&Y.length>0,{contextMenuContent:ro,contextMenuProps:io}=I.useChartContextMenu({isRtl:ve,width:e,height:r,getDataItemPosition:qt,series:V,levelsArray:ot,focusedGroupInfo:Lt,getDataItem:$,focusedItemInfo:Ft,rootRef:Me,xAxisTitle:D?.title,yAxisTitle:P?.title,contextMenuConfig:oo?we:void 0,onContextMenuDismissed:e=>{"keyboard"===e&&Bt()}}),[ao,no]=n.useState({accepted:void 0,type:""}),{draggable:so,dndProps:lo,dndContent:co}=m.useChartDnd({onDrag:Te.onDrag,onDragStart:Te.onDragStart,onDragEnd:Te.onDragEnd,onDragEnter:Te.onDragEnter,onDragLeave:Te.onDragLeave,onDragOver:Te.onDragOver,onDrop:Te.onDrop,itemsDraggable:Te.itemsDraggable,groupDraggable:Te.groupDraggable,rootRef:Me,levelsArray:ot,series:V,selectedIds:f,getDataItem:$,xSpace:pt,ySpace:gt,plotAreaSpace:xt,setDragOver:no,setDatatipDisabled:Zt,onSelectionChange:Q}),uo=p.mergeProps(Vt,Wt,Ut,Qt,Dt,Et,io,lo),xo="off"==Se||"on"!==Se&&Se.renderer?void 0:Ce,{background:po,slidingWindow:go}=Pe(xt);return t.jsxs(t.Fragment,{children:[ze&&null!=Le.labelFontSize&&t.jsxs("div",{tabIndex:be?void 0:0,draggable:so,ref:Me,"aria-activedescendant":kt,"aria-label":Te["aria-label"],"aria-labelledby":Te["aria-labelledby"],"aria-describedby":k.l([Te["aria-describedby"],Kt]),style:{...Gt},role:be?void 0:"application",className:o.styles.baseChartStyle,"data-oj-private-selection-mode":Re?_:void 0,...je,...be?{}:uo,children:[t.jsxs("svg",{width:"100%",height:0!=He.height&&"off"!=Se?Math.ceil(100*(We.availSpace.height+10))/r+"%":"100%",children:[t.jsx("clipPath",{id:`${eo}`,children:t.jsx("rect",{...xt})}),po,t.jsx(s.PlotArea,{color:j?.color,dragOverStyle:"plotArea"!==ao.type?"none":ao.accepted?"accept":"reject",cursor:Ct,availSpace:xt}),!me&&to,t.jsx(d.Axis,{...nt,axisPosition:Fe,isRtl:ve,cursor:bt,availSpace:gt,dragOverStyle:"yAxis"!==ao.type?"none":ao.accepted?"accept":"reject"}),t.jsx(d.Axis,{...st,axisPosition:Oe,isRtl:ve,cursor:bt,availSpace:ht,dragOverStyle:"y2Axis"!==ao.type?"none":ao.accepted?"accept":"reject"}),t.jsx(d.Axis,{...it,isRtl:ve,axisPosition:ke,isTextInteractive:e=>{if(null!=D?.timeAxisType)return!1;const t=Y[e]?.drilling;return"on"===t||"off"!=t&&("on"===J||"groupsOnly"===J)},activeId:kt,cursor:Ct,focusedGroupIndex:Lt.isFocusVisible?Lt.groupIndex:void 0,focusedGroupLevelIndex:Lt.isFocusVisible?Lt.levelIndex:void 0,availSpace:pt,dragOverStyle:"xAxis"!==ao.type?"none":ao.accepted?"accept":"reject",separatorColor:D?.groupSeparators?.color}),t.jsxs("g",{children:[fe({xStartIndex:rt.startIndex,xEndIndex:rt.endIndex,getItemAriaLabel:$t,groupsInfo:It,colors:Be,xScale:at,yScale:lt,y2Scale:dt,isPointInsideMarquee:jt,defaultFontSize:Le.labelFontSize,gapRatio:mt,activeId:kt,focusedItemInfo:Ft,hoveredItemInfo:Ot,getTextDimensions:ze,axisStepWidth:it.axisStepWidth,averageGroupZ:it.averageGroupZ,plotAreaClipPathId:eo}),me&&to,Jt]}),go,"live"===de&&!be&&t.jsx(z.ScrollBar,{availSpace:He,isRtl:ve,viewport:rt,axisExtent:rt,isHoriz:"bottom"===ke}),Pt]}),t.jsx(F.OverviewContext.Provider,{value:{yAxisSize:gt.width,isOverview:!0,width:e,height:He.height,overviewRenderer:e=>{const{xScale:o,...r}=function(e,t,o,r,i,a){const n=[o.min,o.max],s=e?[a.x+a.width,a.x]:[a.x,a.x+a.width],l=new O.ScaleLinear(n,s),d=[i.min,i.max],c=[a.y+a.height,a.y],u=new O.ScaleLinear(d,c),x=l.transform(t.viewportMin),p=Math.abs(l.transform(t.viewportMax)-l.transform(t.viewportMin));return{windowX:e?x-p:x,windowWidth:p,windowY:u.transform(r.viewportMax),windowHeight:Math.abs(u.transform(r.viewportMax)-u.transform(r.viewportMin)),xScale:l,yScale:u}}(ve,rt,rt,ut,ut,e);return function(e,o,r,i,a,n,s){return{slidingWindow:t.jsx(L.OverviewSlidingWindow,{...i,...a,hasHandles:n,onWindowDimsChange:t=>{u.updateViewportFromOverview(e,o,a.windowX,a.windowWidth,t.deltaX,t.deltaWidth,r,s)}}),background:t.jsx(X,{...i,...a})}}(rt,ve,o,e,r,!0,oe)}},children:!be&&"off"!==Se&&xo&&t.jsx("div",{style:{width:e,height:He.height},children:xo()})}),Tt,_t,zt,ro,Ht,co]}),Ne,Ve]})}e.Chart=function({width:e,height:i,...a}){const{isOverview:n,overviewRenderer:s,yAxisSize:l,width:d,height:c}=F.useOverviewContext();let u=e,x=i;return void 0===u&&n&&void 0!==d&&(u=`${d}px`),void 0===x&&n&&void 0!==c&&(x=`${c}px`),t.jsx(r.TrackResizeContainer,{width:u,height:x,class:o.dimensionStyle,children:(e,o)=>e||o?t.jsx(Y,{width:e,height:o,...a,yAxisSize:l,isOverview:n,overviewRenderer:s}):void 0})}}));
2
+ //# sourceMappingURL=Chart-3108fa88.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chart-061335fe.js","sources":["../../src/PRIVATE_Axis/utils/axisNavUtils.ts","../../src/PRIVATE_VisOverview/OverviewBackground.tsx","../../src/PRIVATE_Chart/ChartWithDimensions.tsx","../../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","/**\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 { useTextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { useCssVars } from '#hooks/PRIVATE_useCssVars/useCssVars';\nimport { styles } from './themes/ChartStyles.css';\nimport { useMemo, useRef, useState } 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 { 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 { GroupAxisProps, DataAxisProps, TimeAxisProps } from '#utils/UNSAFE_visTypes/chart';\nimport { Gridlines } from '#PRIVATE_PlotArea/Gridlines';\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 { merge } from '@oracle/oraclejet-internal-utilities/stringUtils';\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 } from 'preact';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { getAriaLabelGenerator } from '#utils/PRIVATE_chartUtils/dataTipUtils';\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\nexport function ChartWithDimensions<\n K extends string | number,\n 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 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 ...props\n}: ChartWithDimensionsProps<K, D>) {\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 colors = 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 const isTimeAxis = (xAxis as TimeAxisProps)?.timeAxisType != null;\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 getTextDimensions,\n isTestEnv,\n isDataXAxis\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 ]);\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 } = layoutInfo;\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 {\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 { activeId, focusedItemInfo, hoveredItemInfo, focusedGroupInfo, navProps, onFocusUpdate } =\n useChartNav({\n rootRef,\n getNextChartItem,\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 if (target != rootRef.current) {\n const dataSet = getElementData(rootRef, target as HTMLElement);\n const text = dataSet?.['ojPrivateText']!;\n\n if (!text) {\n return;\n }\n\n if (text === xAxis?.title) {\n return {\n text,\n bounds: xProps.titleProps?.dims\n };\n } else if (text === yAxis?.title) {\n return {\n text,\n bounds: yProps.titleProps?.dims\n };\n } else if (text === y2Axis?.title) {\n return {\n text,\n bounds: y2Props.titleProps?.dims\n };\n } else if (dataSet?.['ojPrivateGroupIndex'] && dataSet?.['ojPrivateLevelIndex']) {\n return {\n // @ts-ignore\n bounds: xProps.tickLabels.find(\n ({ dataProps }) =>\n dataProps['data-oj-private-level-index'] === dataSet['ojPrivateLevelIndex'] &&\n dataProps['data-oj-private-group-index'] === dataSet['ojPrivateGroupIndex']\n ).dims,\n text: text!\n };\n }\n }\n\n if (target === rootRef.current && focusedGroupInfo.isFocusVisible) {\n const group = groups[focusedGroupInfo.groupIndex || 0];\n return {\n bounds: xProps.tickLabels[focusedGroupInfo?.groupIndex || 0].dims,\n text: group.name || group.id\n };\n }\n return;\n };\n\n const { tooltipContent, tooltipProps } = useTextTruncation({\n getTextAndBounds,\n width,\n isRtl\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 {\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 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: (xAxis as TimeAxisProps)?.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 ((xAxis as TimeAxisProps)?.timeAxisType != null) {\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 const hasData = series.length > 0 && groups.length > 0;\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 ? 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 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>\n {children({\n xStartIndex: xAxisInfo.startIndex!,\n xEndIndex: xAxisInfo.endIndex!,\n getItemAriaLabel,\n groupsInfo: leafGroupsInfo,\n colors,\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 {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","/**\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 { 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};\n\nexport function useTextTruncation({ getTextAndBounds, width, isRtl }: Props) {\n const [text, setText] = useState<string>();\n const bounds = useRef<Dimension>();\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 } else {\n setText(undefined);\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} from '#utils/UNSAFE_visTypes/chart';\nimport { Dimension, MarkerShapes } from '#utils/UNSAFE_visTypes/common';\nimport { ComponentChildren } 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';\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 colors: 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} & Omit<ChartCommonProps<K, D>, 'highlightedIds' | 'hoverBehavior' | 'selectedIds'>;\n\nexport function Chart<\n K extends string | number,\n D extends LineAreaItem<K> | ScatterItem<K> | BarItemData<K>\n>({ width, height, ...props }: ChartProps<K, D>) {\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 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"],"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","chartVars","getChartVars","ChartWithDimensions","selectedIds","hiddenIds","hideAndShowBehavior","orientation","xAxis","yAxis","y2Axis","plotArea","dragMode","series","groups","isStacked","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","props","testIdProps","useTestId","rootRef","useRef","isTestEnv","undefined","isHoriz","xAxisPosition","yAxisPosition","y2AxisPosition","getAxesPosition","resolvedVars","cssContent","useCssVars","colors","Array","from","map","_","index","textMeasureContent","getTextDimensions","useTextDimensions","availSpace","getAvailSpace","w","gaps","getOuterGaps","isTimeAxis","timeAxisType","updatedSpace","getScrollBarSpace","scrollDims","locale","useUser","_width","_height","labelFontSize","split","isSplitDualY","splitterPosition","layoutInfo","useMemo","hiddenSet","Set","getLayoutInfo","getGroupFromPath","xAxisInfo","xProps","xScale","yProps","y2Props","yScale","y2Scale","yMaxDim","yAxisInfo","plotAreaSpace","xSpace","ySpace","y2Space","idToDataMap","y2AxisInfo","leafGroupsInfo","updateScrollBarSpace","gapRatio","startIndex","endIndex","getNextChartItem","getNextNavGroup","getDefaultNavGroup","isGroupLabelRendered","group","item","groupName","name","id","groupsDrilling","arrow","nextGroup","numGroups","getGroupNavUtil","ignoreSelectPointerUp","cursor","yAxisCursor","marqueeProps","marqueeContent","toggleButtonContent","isPointInsideMarquee","mode","useChartMarquee","chartWidth","isMultiSelection","isZoomScroll","getDataById","get","touchResponse","touchResponseStyle","useVisTouchResponse","type","supportsTouchDragGestures","activeId","focusedItemInfo","hoveredItemInfo","focusedGroupInfo","navProps","onFocusUpdate","useChartNav","translations","useTranslationBundle","tooltipContent","tooltipProps","getTextAndBounds","text","setText","useState","bounds","useTooltip","position","offset","calculateOffset","current","mergeProps","onPointerMove","event","textAndBounds","target","useTextTruncation","dataSet","getElementData","title","titleProps","dims","tickLabels","find","dataProps","isFocusVisible","viewportProps","useChartViewport","selectDrillProps","selectionContent","useSelectDrill","selection","onChange","ignoreAsTrigger","dataset","findNearestData","axisStepWidth","averageGroupZ","getDataItemPosition","datatipDisabled","setDatatipDisabled","getItemAriaLabel","getAriaLabelGenerator","defaultLabelFormatter","datatipContent","dataCursorContent","datatipProps","datatipAriaDescribedby","useChartDatatipAndCursor","isDisabled","defaultXFormatter","defaultYFormatter","defaultY2Formatter","hasXYValues","plotAreaClipPathId","useId","gridLines","Gridlines","yMinorTicks","minorTicks","xMinorTicks","isLog","scale","hasAxisLine","y2MinorTicks","y2Ticks","ticks","yTicks","xTicks","hasData","contextMenuContent","contextMenuProps","useChartContextMenu","xAxisTitle","yAxisTitle","onContextMenuDismissed","gesture","dragOver","setDragOver","accepted","draggable","dndProps","dndContent","useChartDnd","onDrag","onDragStart","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop","itemsDraggable","groupDraggable","eventsProps","overviewContentRenderer","renderer","background","slidingWindow","tabIndex","ref","merge","l","style","role","className","baseChartStyle","ceil","PlotArea","color","dragOverStyle","Axis","axisPosition","isTextInteractive","groupDrill","focusedGroupIndex","focusedGroupLevelIndex","separatorColor","groupSeparators","xStartIndex","xEndIndex","groupsInfo","defaultFontSize","ScrollBar","viewport","axisExtent","OverviewContext","Provider","value","overviewChartPlotArea","overviewXScale","windowCoords","xViewportExtent","xAxisExtent","yViewportExtent","yAxisExtent","xDomain","xRange","ScaleLinear","yDomain","yRange","transform","viewportMin","abs","viewportMax","getWindowCoords","hasHandles","OverviewSlidingWindow","onWindowDimsChange","updateViewportFromOverview","deltaX","deltaWidth","getRenderer","overviewWidth","overviewHeight","useOverviewContext","chartHeight","TrackResizeContainer","dimensionStyle"],"mappings":"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"}
1
+ {"version":3,"file":"Chart-3108fa88.js","sources":["../../src/PRIVATE_Axis/utils/axisNavUtils.ts","../../src/PRIVATE_VisOverview/OverviewBackground.tsx","../../src/PRIVATE_Chart/ChartWithDimensions.tsx","../../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","/**\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 { useTextDimensions } from '#hooks/PRIVATE_useTextDimensions';\nimport { useCssVars } from '#hooks/PRIVATE_useCssVars/useCssVars';\nimport { styles } from './themes/ChartStyles.css';\nimport { useMemo, useRef, useState } 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 { 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 { GroupAxisProps, DataAxisProps, TimeAxisProps } from '#utils/UNSAFE_visTypes/chart';\nimport { Gridlines } from '#PRIVATE_PlotArea/Gridlines';\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 { merge } from '@oracle/oraclejet-internal-utilities/stringUtils';\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 } from 'preact';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { getAriaLabelGenerator } from '#utils/PRIVATE_chartUtils/dataTipUtils';\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\nexport function ChartWithDimensions<\n K extends string | number,\n 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 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 ...props\n}: ChartWithDimensionsProps<K, D>) {\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 colors = 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 const isTimeAxis = (xAxis as TimeAxisProps)?.timeAxisType != null;\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 getTextDimensions,\n isTestEnv,\n isDataXAxis\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 ]);\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 } = layoutInfo;\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 {\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 { activeId, focusedItemInfo, hoveredItemInfo, focusedGroupInfo, navProps, onFocusUpdate } =\n useChartNav({\n rootRef,\n getNextChartItem,\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 if (target != rootRef.current) {\n const dataSet = getElementData(rootRef, target as HTMLElement);\n const text = dataSet?.['ojPrivateText']!;\n\n if (!text) {\n return;\n }\n\n if (text === xAxis?.title) {\n return {\n text,\n bounds: xProps.titleProps?.dims\n };\n } else if (text === yAxis?.title) {\n return {\n text,\n bounds: yProps.titleProps?.dims\n };\n } else if (text === y2Axis?.title) {\n return {\n text,\n bounds: y2Props.titleProps?.dims\n };\n } else if (dataSet?.['ojPrivateGroupIndex'] && dataSet?.['ojPrivateLevelIndex']) {\n return {\n // @ts-ignore\n bounds: xProps.tickLabels.find(\n ({ dataProps }) =>\n dataProps['data-oj-private-level-index'] === dataSet['ojPrivateLevelIndex'] &&\n dataProps['data-oj-private-group-index'] === dataSet['ojPrivateGroupIndex']\n ).dims,\n text: text!\n };\n }\n }\n\n if (target === rootRef.current && focusedGroupInfo.isFocusVisible) {\n const group = groups[focusedGroupInfo.groupIndex || 0];\n return {\n bounds: xProps.tickLabels[focusedGroupInfo?.groupIndex || 0].dims,\n text: group.name || group.id\n };\n }\n return;\n };\n\n const { tooltipContent, tooltipProps } = useTextTruncation({\n getTextAndBounds,\n width,\n isRtl\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 {\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 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: (xAxis as TimeAxisProps)?.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 ((xAxis as TimeAxisProps)?.timeAxisType != null) {\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 const hasData = series.length > 0 && groups.length > 0;\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 ? 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 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>\n {children({\n xStartIndex: xAxisInfo.startIndex!,\n xEndIndex: xAxisInfo.endIndex!,\n getItemAriaLabel,\n groupsInfo: leafGroupsInfo,\n colors,\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 {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","/**\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 { 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};\n\nexport function useTextTruncation({ getTextAndBounds, width, isRtl }: Props) {\n const [text, setText] = useState<string>();\n const bounds = useRef<Dimension>();\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 } else {\n setText(undefined);\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} from '#utils/UNSAFE_visTypes/chart';\nimport { Dimension, MarkerShapes } from '#utils/UNSAFE_visTypes/common';\nimport { ComponentChildren } 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';\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 colors: 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} & Omit<ChartCommonProps<K, D>, 'highlightedIds' | 'hoverBehavior' | 'selectedIds'>;\n\nexport function Chart<\n K extends string | number,\n D extends LineAreaItem<K> | ScatterItem<K> | BarItemData<K>\n>({ width, height, ...props }: ChartProps<K, D>) {\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 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"],"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","chartVars","getChartVars","ChartWithDimensions","selectedIds","hiddenIds","hideAndShowBehavior","orientation","xAxis","yAxis","y2Axis","plotArea","dragMode","series","groups","isStacked","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","props","testIdProps","useTestId","rootRef","useRef","isTestEnv","undefined","isHoriz","xAxisPosition","yAxisPosition","y2AxisPosition","getAxesPosition","resolvedVars","cssContent","useCssVars","colors","Array","from","map","_","index","textMeasureContent","getTextDimensions","useTextDimensions","availSpace","getAvailSpace","w","gaps","getOuterGaps","isTimeAxis","timeAxisType","updatedSpace","getScrollBarSpace","scrollDims","locale","useUser","_width","_height","labelFontSize","split","isSplitDualY","splitterPosition","layoutInfo","useMemo","hiddenSet","Set","getLayoutInfo","getGroupFromPath","xAxisInfo","xProps","xScale","yProps","y2Props","yScale","y2Scale","yMaxDim","yAxisInfo","plotAreaSpace","xSpace","ySpace","y2Space","idToDataMap","y2AxisInfo","leafGroupsInfo","updateScrollBarSpace","gapRatio","startIndex","endIndex","getNextChartItem","getNextNavGroup","getDefaultNavGroup","isGroupLabelRendered","group","item","groupName","name","id","groupsDrilling","arrow","nextGroup","numGroups","getGroupNavUtil","ignoreSelectPointerUp","cursor","yAxisCursor","marqueeProps","marqueeContent","toggleButtonContent","isPointInsideMarquee","mode","useChartMarquee","chartWidth","isMultiSelection","isZoomScroll","getDataById","get","touchResponse","touchResponseStyle","useVisTouchResponse","type","supportsTouchDragGestures","activeId","focusedItemInfo","hoveredItemInfo","focusedGroupInfo","navProps","onFocusUpdate","useChartNav","translations","useTranslationBundle","tooltipContent","tooltipProps","getTextAndBounds","text","setText","useState","bounds","useTooltip","position","offset","calculateOffset","current","mergeProps","onPointerMove","event","textAndBounds","target","useTextTruncation","dataSet","getElementData","title","titleProps","dims","tickLabels","find","dataProps","isFocusVisible","viewportProps","useChartViewport","selectDrillProps","selectionContent","useSelectDrill","selection","onChange","ignoreAsTrigger","dataset","findNearestData","axisStepWidth","averageGroupZ","getDataItemPosition","datatipDisabled","setDatatipDisabled","getItemAriaLabel","getAriaLabelGenerator","defaultLabelFormatter","datatipContent","dataCursorContent","datatipProps","datatipAriaDescribedby","useChartDatatipAndCursor","isDisabled","defaultXFormatter","defaultYFormatter","defaultY2Formatter","hasXYValues","plotAreaClipPathId","useId","gridLines","Gridlines","yMinorTicks","minorTicks","xMinorTicks","isLog","scale","hasAxisLine","y2MinorTicks","y2Ticks","ticks","yTicks","xTicks","hasData","contextMenuContent","contextMenuProps","useChartContextMenu","xAxisTitle","yAxisTitle","onContextMenuDismissed","gesture","dragOver","setDragOver","accepted","draggable","dndProps","dndContent","useChartDnd","onDrag","onDragStart","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop","itemsDraggable","groupDraggable","eventsProps","overviewContentRenderer","renderer","background","slidingWindow","tabIndex","ref","merge","l","style","role","className","baseChartStyle","ceil","PlotArea","color","dragOverStyle","Axis","axisPosition","isTextInteractive","groupDrill","focusedGroupIndex","focusedGroupLevelIndex","separatorColor","groupSeparators","xStartIndex","xEndIndex","groupsInfo","defaultFontSize","ScrollBar","viewport","axisExtent","OverviewContext","Provider","value","overviewChartPlotArea","overviewXScale","windowCoords","xViewportExtent","xAxisExtent","yViewportExtent","yAxisExtent","xDomain","xRange","ScaleLinear","yDomain","yRange","transform","viewportMin","abs","viewportMax","getWindowCoords","hasHandles","OverviewSlidingWindow","onWindowDimsChange","updateViewportFromOverview","deltaX","deltaWidth","getRenderer","overviewWidth","overviewHeight","useOverviewContext","chartHeight","TrackResizeContainer","dimensionStyle"],"mappings":"wvCAoBM,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,CCeA,MAEMY,EAAYC,EAAYA,eAExB,SAAUC,GAGdlB,MACAA,EAAKC,OACLA,EAAMkB,YACNA,EAAWC,UACXA,EAASC,oBACTA,EAAsB,OAAMC,YAC5BA,EAAc,WAAUC,MACxBA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,SACNA,EAAQC,SACRA,EAAW,OAAMC,OACjBA,EAAMC,OACNA,EAAMC,UACNA,GAAY,EAAKC,YACjBA,EAAWC,cACXA,EAAgB,OAAMC,SACtBA,EAAW,MAAKC,mBAChBA,EAAkBC,kBAClBA,EAAiBC,oBACjBA,GAAmBC,gBACnBA,GAAeC,iBACfA,GAAgBC,2BAChBA,GAA0BC,YAC1BA,GAAWC,aACXA,GAAYC,YACZA,GAAWC,YACXA,GAAWC,QACXA,GAAOC,cACPA,GAAgB,MAAKC,WACrBA,GAAUC,eACVA,GAAcC,YACdA,GAAWC,aACXA,GAAYC,YACZA,GAAWC,cACXA,GAAaC,MACbA,GAAK1C,SACLA,GAAQ2C,OACRA,GAAMC,uBACNA,GAAsBC,YACtBA,GAAWC,kBACXA,GAAiBC,SACjBA,GAAW,MAAKC,yBAChBA,GAAwBC,+BACxBA,GAA8BC,WAC9BA,GAAUC,UACVA,GAASC,iBACTA,MACGC,KAEH,MAAMC,GAAcC,YAAUZ,IACxBa,GAAUC,SAAuB,MACjCC,QAA2CC,IAA/BL,GAAY,eACxBM,GAA0B,eAAhBhD,GACViD,cAAEA,GAAaC,cAAEA,GAAaC,eAAEA,IAAmBC,kBACvDlD,EACAC,EACA6C,GACAlB,KAEIuB,aAAEA,GAAYC,WAAEA,IAAeC,EAAUA,WAAC7D,GAC1C8D,GAASC,MAAMC,KAAKD,MAAM,KAAKE,KAAI,CAACC,EAAGC,IACpCR,GAAa,QAAQQ,EAAQ,QAEhCC,mBAAEA,GAAkBC,kBAAEA,IAAsBC,EAAiBA,oBACnE,IAAIC,GAAaC,EAAAA,cAAcxF,EAAOC,GAEtC,GAAI2D,IAAcC,GAAW,CAC3B,MAAM4B,EAAIF,GAAWvF,MAAQ6D,GACvB6B,EAAOC,EAAAA,aAAaF,EAAGxF,GAC7BsF,GAAWvF,OAAS6D,GAAY,EAAI6B,EAAK1F,MACzCuF,GAAWxF,GAAK8D,GAAY6B,EAAK1F,KAClC,CACD,MAAM4F,GAAuD,MAAzCrE,GAAyBsE,aAEvCC,GAAeC,EAAAA,kBACnBH,GACAL,GACA1C,GACA0B,GACAd,IAEF,IAAIuC,GAAaF,GAAaE,WAC9BT,GAAaO,GAAaP,WAC1B,MAAMU,OAAEA,IAAWC,EAAAA,WACbnG,EAAEA,GAACG,EAAEA,GAAGF,MAAOmG,GAAQlG,OAAQmG,IAAYb,GAC3Cc,GAAgB1B,GAA4B,cAE5C2B,GAAQ7E,GAAQ6E,OAAS,MACzBC,GAAyB,QAAVD,GACfE,GAA6B,QAAVF,GAAkBA,GAAQ,GAE7CG,GAAaC,EAAAA,SAAQ,KACzB,MAAMC,EAAY,IAAIC,IAAIxF,GAC1B,OAAOyF,EAAaA,cAClBjF,EACAC,EACAE,EACAR,EACAC,EACAC,EACA,CAAE1B,KAAGG,KAAGF,MAAOmG,GAAQlG,OAAQmG,IAC/BO,EACAtF,EACAiD,GACAlB,GACAtB,EACAuE,GACA3C,GACAuC,GACAM,GACAC,GACAnB,GACAjB,GACAb,GACD,GACA,CACDxD,GACAG,GACAiG,GACAC,GACArE,EACAsD,GACAxD,EACAT,EACAC,EACAkC,GACAe,GACAlB,GACAtB,EACAsC,GACA6B,GACAvC,GACA2C,GACAzE,EACAL,EACAC,EACAC,EACA+E,GACAD,MAGIO,iBACJA,GAAgBpI,YAChBA,GAAWqI,UACXA,GAASC,OACTA,GAAMC,OACNA,GAAMC,OACNA,GAAMC,QACNA,GAAOC,OACPA,GAAMC,QACNA,GAAOC,QACPA,GAAOC,UACPA,GAASC,cACTA,GAAaC,OACbA,GAAMC,OACNA,GAAMC,QACNA,GAAOC,YACPA,GAAWC,WACXA,IACEpB,GAEEqB,GAAiBpJ,GAAYK,OAAS,EAAIL,GAAYA,GAAYK,OAAS,GAAK,GAEtFiH,GAAa+B,EAAoBA,qBAAC/B,GAA8B,WAAlBzB,GAA4BnB,GAAOkE,IAEjF,MAAMU,GAAWhF,GAAY+D,GAAUkB,WAAalB,GAAUmB,UAExDC,GAAmBrF,GAAWiE,GAAUkB,WAAalB,GAAUmB,WAE/DE,gBAAEA,GAAeC,mBAAEA,IFpHrB,SACJ3J,EACAuD,EACAmB,EACAkB,EACAgE,GAEA,MAAMzJ,EAAmB,CAACF,EAAoBC,KAC5C,MAAM2J,EAAQ7J,EAAYC,GAAYC,GAAY4J,KAC5CC,EAAYF,EAAMG,MAAQH,EAAMI,GAChCC,EAAiBL,EAAMtG,SAE7B,QAD0BqG,IAAuB3J,EAAYC,IAG9C,MAAb6J,IACc,OAAbxG,GAAkC,eAAbA,IACJ,OAAlB2G,CACA,EAqDJ,MAAO,CAAER,gBAtCe,CACtBxI,EACAiJ,KAEA,IAAIC,EA+BJ,MA7Bc,eAAVD,EAEAC,EADExE,EACWlB,EAET3E,EAAeC,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,GADhEY,EAAcf,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,GAGvDuE,EACRvD,EAAiBD,EAAMf,GACvBc,EAAajB,EAAakB,EAAMf,GAEnB,cAAVgK,EAEPC,EADExE,EACUlB,EACR3D,EAAcf,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,GAC/DJ,EAAeC,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,GAExDuE,EACRzD,EAAajB,EAAakB,EAAMf,GAChCgB,EAAiBD,EAAMf,GAEV,cAAVgK,EACTC,EAAYxE,EACR3E,EAAajB,EAAakB,EAAMf,GAChCJ,EAAeC,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,GACjD,YAAVgK,IACTC,EAAYxE,EACRzE,EAAiBD,EAAMf,GACvBY,EAAcf,EAAakB,EAAKjB,WAAaiB,EAAKhB,WAAaC,IAE9DiK,GAAalJ,CAAI,EAGAyI,mBAlDC,KACzB,IAAK,IAAI1J,EAAa,EAAGA,EAAaD,EAAYK,OAAQJ,IAAc,CACtE,MAAMoK,EAAYrK,EAAYC,GAAYI,OAC1C,IAAK,IAAIH,EAAa,EAAGA,EAAamK,EAAWnK,IAC/C,GAAIC,EAAiBF,EAAYC,GAC/B,MAAO,CAAEA,aAAYD,aAG1B,CACD,MAAO,CAAEC,WAAY,EAAGD,WAAY,EAAG,EA0C3C,CE6CkDqK,CAC9CtK,GACAuD,EACAmB,GACAkB,GACA0C,GAAOsB,uBAGHW,sBACJA,GAAqBC,OACrBA,GAAMC,YACNA,GAAWC,aACXA,GAAYC,eACZA,GAAcC,oBACdA,GAAmBC,qBACnBA,GACA5H,SAAU6H,IACRC,EAAAA,gBAAsB,CACxBvF,WACAsD,iBACAC,UACAC,UACA/F,WACA+H,WAAY1J,EACZ2J,iBAAoC,aAAlB3H,EAClBM,oBACAsH,aAAgC,SAAlB/G,GACdoE,UACA9F,cACA0I,YAAclB,GAAOf,GAAYkC,IAAInB,GACrCxG,oBACAiB,SACA2D,gBAGIgD,cAAEA,GAAaC,mBAAEA,IAAuBC,sBAAoB,CAChEC,KAAM,OACNC,0BAAoC,QAATX,GAC3BtF,cAGIkG,SAAEA,GAAQC,gBAAEA,GAAeC,gBAAEA,GAAeC,iBAAEA,GAAgBC,SAAEA,GAAQC,cAAEA,IAC9EC,cAAY,CACVxG,WACAiE,oBACAC,mBACAC,sBACA0B,iBACArH,eACAC,eACAV,WACA8E,eASE4D,GAAeC,uBAAiC,6BAiDhDC,eAAEA,GAAcC,aAAEA,ICxUpB,UAA4BC,iBAAEA,EAAgB/K,MAAEA,EAAKoD,MAAEA,IAC3D,MAAO4H,EAAMC,GAAWC,EAAQA,WAC1BC,EAAShH,EAAAA,UAET0G,eAAEA,EAAcC,aAAEA,GAAiBM,aAAW,CAClDJ,OACAK,SAAU,YACVC,OAAQC,EAAAA,gBAAgBnI,EAAOpD,EAAOmL,EAAOK,WAc/C,MAAO,CACLX,iBACAC,aAAcW,EAAUA,WAAC,CAAEC,cAbNC,IACrB,MAAMC,EAAgBb,EAAiBY,EAAME,QAEzCD,GACFT,EAAOK,QAAUI,EAAcT,OAC/BF,EAAQW,EAAcZ,OAEtBC,OAAQ5G,EACT,GAK2CyG,GAEhD,CD+S2CgB,CAAkB,CACzDf,iBAhDwBc,IACxB,GAAIA,GAAU3H,GAAQsH,QAAS,CAC7B,MAAMO,EAAUC,EAAAA,eAAe9H,GAAS2H,GAClCb,EAAOe,GAAyB,cAEtC,IAAKf,EACH,OAGF,GAAIA,IAASzJ,GAAO0K,MAClB,MAAO,CACLjB,OACAG,OAAQnE,GAAOkF,YAAYC,MAExB,GAAInB,IAASxJ,GAAOyK,MACzB,MAAO,CACLjB,OACAG,OAAQjE,GAAOgF,YAAYC,MAExB,GAAInB,IAASvJ,GAAQwK,MAC1B,MAAO,CACLjB,OACAG,OAAQhE,GAAQ+E,YAAYC,MAEzB,GAAIJ,GAA+B,qBAAKA,GAA+B,oBAC5E,MAAO,CAELZ,OAAQnE,GAAOoF,WAAWC,MACxB,EAAGC,eACDA,EAAU,iCAAmCP,EAA6B,qBAC1EO,EAAU,iCAAmCP,EAA6B,sBAC5EI,KACFnB,KAAMA,EAGX,CAED,GAAIa,IAAW3H,GAAQsH,SAAWjB,GAAiBgC,eAAgB,CACjE,MAAMhE,EAAQ1G,EAAO0I,GAAiB3L,YAAc,GACpD,MAAO,CACLuM,OAAQnE,GAAOoF,WAAW7B,IAAkB3L,YAAc,GAAGuN,KAC7DnB,KAAMzC,EAAMG,MAAQH,EAAMI,GAE7B,CACM,EAKP3I,QACAoD,WAGIoJ,GAAgBC,EAAAA,iBAAiB,CACrCvI,WACAlE,QACAC,SACA8G,aACAQ,aACAM,cACAZ,UACAG,UACAC,WACAG,iBACApE,SACAkB,WACAzB,iBACAP,uBAsBIoK,iBAAEA,GAAgBC,iBAAEA,IAAqBC,iBAAqB,CAClE5K,gBACA6K,UAAW,IAAI1L,GACf2L,SAAU3K,EACV+B,WACAjC,WACAO,eACAC,gBACA8H,oBACAF,mBACA3L,eACAqD,cACA8H,YAAclB,GAAOf,GAAYkC,IAAInB,GACrCoE,gBAhCuBlB,IACvB,IAAKA,EACH,OAAO,EAGT,MAAMmB,EAAUhB,EAAAA,eAAe9H,GAAS2H,GACxC,UACGmB,GACiC,YAA/BA,EAAyB,iBACO,qBAA/BA,EAAyB,iBACM,cAA/BA,EAAyB,mBAC7B/D,GAKU,IAmBRgE,GAAkB/J,GACtB+D,GACAG,GACAC,GACAL,GAAOkG,cACPlG,GAAOmG,cACPnF,IAEIoF,GAAsBrK,GAC1BkE,GACAG,GACAC,GACAL,GAAOkG,cACPlG,GAAOmG,cACPnF,KAEKqF,GAAiBC,IAAsBpC,EAAQA,UAAC,GAEjDqC,GAAmBC,EAAAA,sBACvB5L,EACA+I,GACA1H,GACA6E,GACAvG,IACEgC,GACFuD,GACAE,GAAOyG,sBACPvG,GAAOuG,sBACPtG,GAAQsG,wBAGJC,eACJA,GAAcC,kBACdA,GACAC,cAAgB,mBAAoBC,MAA2BD,KAC7DE,2BAA+B,CACjClM,SACAkG,kBACA9H,QACAC,SACAiD,YAAa+J,GACbzF,iBACAjF,8BACAH,uBACAF,qBACAG,mBACAiI,mBACAD,mBACAtI,cACAoB,iBACAJ,eAAgBqK,GAChBxK,WACAK,gBACAqB,WACAyF,iBACAgE,WAAYV,GACZpG,OAAQA,GACRG,UACAC,WACAxB,aAAetE,GAAyBsE,aACxCmI,kBAAmBhH,GAAOyG,sBAC1BQ,kBAAmB/G,GAAOuG,sBAC1BS,mBAAoB/G,GAAQsG,sBAC5BU,YAAa5K,GACbuD,oBACA6D,kBAkBIyD,GAAqBC,EAAAA,QAGrBC,GACJ3N,EAACC,IAAA2N,aACC7M,SAAUA,EACV6D,WAAYiC,GACZjD,cAAeA,GACfnB,MAAOA,GACPoL,YAAajH,GAAUkH,WACvBC,YAAa3H,GAAU0H,WACvBxH,OAAQA,GACRG,OAAQA,GACRC,QAASA,GACTsH,MAAwB,QAAjBnN,GAAOoN,MACdpK,cAAeA,GACfjB,YAAaA,GACbhC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACRoN,aAAcjL,GACdkL,aAAcjH,IAAY4G,WAC1BM,QAASlH,GAAWmH,MACpBC,OAAQ1H,GAAUyH,MAClBE,OAAQnI,GAAUiI,MAClBzI,aAAcA,KAGZ4I,GAAUvN,EAAO7C,OAAS,GAAK8C,EAAO9C,OAAS,GAE/CqQ,mBAAEA,GAAkBC,iBAAEA,IAAqBC,sBAA0B,CACzElM,SACApD,QACAC,SACAmN,uBACAxL,SACAlD,eACA6L,oBACAxI,cACAsI,mBACAnG,WACAqL,WAAYhO,GAAO0K,MACnBuD,WAAYhO,GAAOyK,MACnBzI,kBAAmB2L,GAAU3L,QAAoBa,EACjDoL,uBAhP8BC,IACd,aAAZA,GACFjF,IACD,KAgPIkF,GAAUC,IAAe1E,WAA0D,CACxF2E,cAAUxL,EACV6F,KAAM,MAGF4F,UAAEA,GAASC,SAAEA,GAAQC,WAAEA,IAAeC,EAAAA,YAAkB,CAC5DC,OAAQnM,GAAMmM,OACdC,YAAapM,GAAMoM,YACnBC,UAAWrM,GAAMqM,UACjBC,YAAatM,GAAMsM,YACnBC,YAAavM,GAAMuM,YACnBC,WAAYxM,GAAMwM,WAClBC,OAAQzM,GAAMyM,OACdC,eAAgB1M,GAAM0M,eACtBC,eAAgB3M,GAAM2M,eACtBxM,WACAxF,eACAkD,SACAT,cACAY,cACA0F,UACAC,UACAF,iBACAoI,eACAtC,sBACAnL,sBAGIwO,GAAclF,EAAAA,WAClBjB,GACAkC,GACAF,GACAoB,GACAxE,GACA0B,GACAuE,GACAU,IAGIa,GACQ,OAAZnN,IAAmC,OAAbA,IAAsBA,GAASoN,cAEjDxM,EADAV,IAGAmN,WAAEA,GAAUC,cAAEA,IAAkBjN,GAAiB0D,IACvD,OACEjH,EAAAA,KACGE,EAAAA,SAAA,CAAAC,SAAA,CAAA2E,IAAsDhB,MAAjCM,GAA4B,eAChDpE,EAAAA,KAAA,MAAA,CACEyQ,SAAUpN,QAAaS,EAAY,EACnCyL,UAAWA,GACXmB,IAAK/M,GACkB,wBAAAkG,GACX,aAAArG,GAAM,cAAa,kBACdA,GAAM,mBACL,mBAAAmN,EAAKC,EAAC,CAACpN,GAAM,oBAAqB8J,KACpDuD,MAAO,IAAKpH,IACZqH,KAAMzN,QAAaS,EAAY,cAC/BiN,UAAWxQ,EAAAA,OAAOyQ,eACc,iCAAAnN,GAAYpC,OAAgBqC,KACxDL,MACCJ,GAAa,CAAE,EAAG+M,GACvBjQ,SAAA,CAAAH,OAAA,MAAA,CACEP,MAAM,OACNC,OACuB,GAArB+F,GAAW/F,QAA2B,OAAZwD,GACnBxE,KAAKuS,KAAuD,KAAjD1L,GAAaP,WAAWtF,OA5hBnC,KA4hBmEA,EAAtE,IACA,OAENS,SAAA,CAAAC,EAAAA,IAAA,WAAA,CAAUgI,GAAI,GAAGyF,KAAoB1N,SACnCC,EAAUC,IAAA,OAAA,IAAA4G,OAEXsJ,GACDnQ,EAAAC,IAAC6Q,EAAQA,SAAA,CACPC,MAAOhQ,GAAUgQ,MACjBC,cACoB,aAAlBhC,GAASzF,KAAsB,OAASyF,GAASE,SAAW,SAAW,SAEzE3G,OAAQA,GACR3D,WAAYiC,MAEZlE,IAA0BgL,GAC5B3N,EAAAA,IAACiR,EAAAA,KACM,IAAA1K,GACL2K,aAAcrN,GACdpB,MAAOA,GACP8F,OAAQC,GACR5D,WAAYmC,GACZiK,cACoB,UAAlBhC,GAASzF,KAAmB,OAASyF,GAASE,SAAW,SAAW,WAGxElP,EAAAC,IAACgR,EAAIA,KAAA,IACEzK,GACL0K,aAAcpN,GACdrB,MAAOA,GACP8F,OAAQC,GACR5D,WAAYoC,GACZgK,cACoB,WAAlBhC,GAASzF,KAAoB,OAASyF,GAASE,SAAW,SAAW,WAGzElP,EAAAC,IAACgR,EAAIA,KAAA,IACC5K,GACJ5D,MAAOA,GACPyO,aAActN,GACduN,kBAxKgB3M,IAC1B,GAA8C,MAAzC5D,GAAyBsE,aAC5B,OAAO,EAET,MAAMkM,EAAalQ,EAAOsD,IAAQlD,SAClC,MAAmB,OAAf8P,GAIc,OAAdA,IAAqC,OAAb9P,GAAkC,eAAbA,EAGrC,EA6JFmI,SAAUA,GACVlB,OAAQA,GACR8I,kBACEzH,GAAiBgC,eAAiBhC,GAAiB3L,gBAAayF,EAElE4N,uBACE1H,GAAiBgC,eAAiBhC,GAAiB5L,gBAAa0F,EAElEkB,WAAYkC,GACZkK,cACoB,UAAlBhC,GAASzF,KAAmB,OAASyF,GAASE,SAAW,SAAW,SAEtEqC,eAAiB3Q,GAA0B4Q,iBAAiBT,QAE9DnR,EAAAC,KAAA,IAAA,CAAAE,SAAA,CACGA,GAAS,CACR0R,YAAarL,GAAUkB,WACvBoK,UAAWtL,GAAUmB,SACrBqF,oBACA+E,WAAYxK,GACZhD,UACAmC,OAAQA,GACRG,UACAC,WACAkC,wBACAgJ,gBAAiB5N,GAA4B,cAC7CqD,YACAoC,YACAC,mBACAC,mBACAjF,qBACA6H,cAAelG,GAAOkG,cACtBC,cAAenG,GAAOmG,cACtBiB,wBAED9K,IAA0BgL,GAC1BX,MAEFoD,GACkB,SAAlBlO,KAA6Be,IAC5BjD,EAAAC,IAAC4R,EAASA,UAAA,CACRjN,WAAYS,GACZ5C,MAAOA,GACPqP,SAAU1L,GACV2L,WAAY3L,GACZzC,QAA2B,WAAlBC,KAGZ8E,MAEH1I,EAAAA,IAACgS,EAAAA,gBAAgBC,SACf,CAAAC,MAAO,CACLhP,UAAW6D,GAAO1H,MAClB4D,YAAY,EACZ5D,QACAC,OAAQ+F,GAAW/F,OACnB6D,iBAAmBgP,IACjB,MAAQ7L,OAAQ8L,KAAmBC,GEtrBnC,SACd5P,EACA6P,EACAC,EACAC,EACAC,EACA5L,GAEA,MAAM6L,EAAU,CAACH,EAAYxT,IAAKwT,EAAYhU,KACxCoU,EACJlQ,EACI,CAACoE,EAAczH,EAAIyH,EAAcxH,MAAOwH,EAAczH,GACtD,CAACyH,EAAczH,EAAGyH,EAAczH,EAAIyH,EAAcxH,OAElDiH,EAAS,IAAIsM,EAAAA,YAAYF,EAASC,GAElCE,EAAU,CAACJ,EAAY1T,IAAK0T,EAAYlU,KACxCuU,EAAS,CAACjM,EAActH,EAAIsH,EAAcvH,OAAQuH,EAActH,GAEhEkH,EAAS,IAAImM,EAAAA,YAAYC,EAASC,GAElCtT,EAAU8G,EAAOyM,UAAUT,EAAgBU,aAC3CtT,EAAcpB,KAAK2U,IACvB3M,EAAOyM,UAAUT,EAAgBY,aAAe5M,EAAOyM,UAAUT,EAAgBU,cAGnF,MAAO,CACLxT,QAASiD,EAAQjD,EAAUE,EAAcF,EACzCE,YAAaA,EACbC,QAAS8G,EAAOsM,UAAUP,EAAgBU,aAC1CzT,aAAcnB,KAAK2U,IACjBxM,EAAOsM,UAAUP,EAAgBU,aAAezM,EAAOsM,UAAUP,EAAgBQ,cAEnF1M,SACAG,SAEJ,CFkpBoE0M,CAClD1Q,GACA2D,GACAA,GACAQ,GACAA,GACAuL,GAEF,OG3rBA,SACdI,EACA9P,EACA2P,EACAvL,EACAwL,EACAe,EACAzR,GAOA,MAAO,CACLyO,cACEpQ,EAAAC,IAACoT,wBACK,IAAAxM,KACAwL,EACJe,WAAYA,EACZE,mBAAqBlQ,IACnBmQ,EAAAA,2BACEhB,EACA9P,EACA4P,EAAa7S,QACb6S,EAAa3S,YACb0D,EAAMoQ,OACNpQ,EAAMqQ,WACNrB,EACAzQ,EACD,IAIPwO,WAAYnQ,EAACC,IAAAd,MAAuB0H,KAAmBwL,IAE3D,CHupBuBqB,CACLtN,GACA3D,GACA2P,EACAD,EACAE,GACA,EACA1Q,GACD,GAGJ5B,UAACkD,IAA2B,QAAbH,IAAsBmN,IACpCjQ,EAAAC,IAAA,MAAA,CAAKwQ,MAAO,CAAEpR,QAAOC,OAAQ+F,GAAW/F,QAAWS,SAAAkQ,SAGtDtH,GACAoE,GACA7C,GACAuE,GACAzC,GACAqD,MAGJ5K,GACAR,KAGP,SIjoBM,UAGJ5E,MAAEA,EAAKC,OAAEA,KAAW8D,IAEpB,MAAMH,WACJA,EAAUE,iBACVA,EAAgBD,UAChBA,EACA7D,MAAOsU,EACPrU,OAAQsU,GACNC,EAAAA,qBAEJ,IAAI9K,EAAa1J,EACbyU,EAAcxU,EAUlB,YARmBoE,IAAfqF,GAA4B9F,QAAgCS,IAAlBiQ,IAC5C5K,EAAa,GAAG4K,YAGEjQ,IAAhBoQ,GAA6B7Q,QAAiCS,IAAnBkQ,IAC7CE,EAAc,GAAGF,OAIjB5T,EAAAA,IAAC+T,EAAAA,qBAAoB,CAAC1U,MAAO0J,EAAYzJ,OAAQwU,EAAa5T,MAAO8T,EAAcA,eAAAjU,SAChF,CAACV,EAAOC,IACPD,GAASC,EACPU,EAAAC,IAACM,EAAmB,CAClBlB,MAAOA,EACPC,OAAQA,KACJ8D,EACJF,UAAWA,EACXD,WAAYA,EACZE,iBAAkBA,SAElBO,GAIZ"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', 'preact', 'preact/hooks', 'preact/compat', './FormContext-6b0879a0', './useFormContext-b8cbbb21', './FormFieldContext-a024b891', './useFormFieldContextProps-08e673cf', 'css!./CheckboxSetStyles.styles.css', './useId-c9578d26', './CheckboxRadioField-18bf3cc2'], (function(e,s,t,i,o,a,l,r,n,d,c,u){"use strict";const b=t.createContext({});var x="CheckboxSetStyles_styles_ul__68p6630";const h=o.forwardRef((({"aria-describedby":e,assistiveText:o,columnSpan:a,direction:d="column",helpSourceLink:h,helpSourceText:m,isDisabled:C,isReadonly:p,isRequired:S=!1,label:y,labelEdge:F,labelStartWidth:k,messages:v,onCommit:R,userAssistanceDensity:f,value:D,children:g,testId:j},I)=>{const A=void 0!==D&&D.size>0,P=c.useId(),{isDisabled:T,isReadonly:_,labelEdge:E,labelStartWidth:V,userAssistanceDensity:W}=l.useFormContext(),q=C??T,L=p??_,w=F??E,z=k??V,B=f??W,M=n.useFormFieldContextProps({hasValue:A,isDisabled:q,isReadonly:L}),N=i.useMemo((()=>({name:P,value:D,onCommit:R})),[P,R,D]),G=t.toChildArray(g).filter(Boolean).map((e=>s.jsx("li",{children:e})));return s.jsx(r.FormFieldContext.Provider,{value:M,children:s.jsx(u.CheckboxRadioField,{"aria-describedby":e,assistiveText:o,baseId:P,columnSpan:a,direction:d,helpSourceLink:h,helpSourceText:m,isDisabled:q,isReadonly:L,isRequired:S,label:y,labelEdge:w,labelStartWidth:z,parentComponentVariant:"checkboxSet",messages:v,userAssistanceDensity:B,hasValue:A,role:"group",testId:j,ref:I,children:s.jsx(b.Provider,{value:N,children:s.jsx("ul",{className:x,children:G})})})})}));e.CheckboxSet=h,e.CheckboxSetContext=b,e.useCheckboxSetContext=()=>i.useContext(b)}));
2
+ //# sourceMappingURL=CheckboxSet-678ea1d4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxSet-751d4298.js","sources":["../../src/UNSAFE_CheckboxSet/CheckboxSetContext.ts","../../src/UNSAFE_CheckboxSet/CheckboxSet.tsx"],"sourcesContent":["import { createContext } from 'preact';\nimport { useContext } from 'preact/hooks';\n\nimport { ValueUpdateDetail } from '../utils/UNSAFE_valueUpdateDetail';\n\ntype CheckboxSetContextValue = {\n name: string;\n value?: Set<string | number>;\n onCommit?: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n};\n\nconst CheckboxSetContext = createContext<CheckboxSetContextValue>({} as CheckboxSetContextValue);\nconst useCheckboxSetContext = () => useContext(CheckboxSetContext);\n\nexport { CheckboxSetContext, useCheckboxSetContext };\n","import { ComponentChildren, ComponentProps, Ref, toChildArray, JSX } from 'preact';\nimport { useMemo } from 'preact/hooks';\nimport { forwardRef } from 'preact/compat';\n\nimport { CheckboxSetContext } from './CheckboxSetContext';\nimport { CheckboxRadioField } from '#PRIVATE_CheckboxRadioField';\nimport { InlineUserAssistance, UserAssistanceDensityType } from '#UNSAFE_UserAssistance';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport { useFormFieldContextProps } from '#hooks/UNSAFE_useFormFieldContextProps';\nimport { FlexboxProps } from '#utils/UNSAFE_interpolations/flexbox';\nimport { Size } from '#utils/UNSAFE_size';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { FocusableHandle } from '#hooks/UNSAFE_useFocusableTextField';\nimport { styles } from './CheckboxSetStyles.css';\nimport type { UnpackSignals } from '@oracle/oraclejet-internal-utilities/attributeUtils';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { LayoutColumnSpan } from '#utils/UNSAFE_styles/Layout';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\n\ntype InlineUserAssistanceProps = ComponentProps<typeof InlineUserAssistance>;\n\ntype Props = {\n /**\n * The ID of an element (or space separated IDs of multiple elements) that\n * describes the input.\n */\n 'aria-describedby'?: UnpackSignals<JSX.AriaAttributes>['aria-describedby'];\n /**\n * Text to provide guidance to help the user understand what data to enter.\n */\n assistiveText?: InlineUserAssistanceProps['assistiveText'];\n /**\n * set of CheckboxItems\n */\n children: ComponentChildren;\n /**\n * Specifies how many columns to span in a FormLayout with direction === 'row'\n */\n columnSpan?: LayoutColumnSpan;\n /**\n * layout direction of the children elements\n */\n direction?: FlexboxProps['direction'];\n /**\n * Help source URL associated with the component.\n */\n helpSourceLink?: InlineUserAssistanceProps['helpSourceLink'];\n /**\n * Custom text to be rendered for the <code>helpSourceLink</code>.\n */\n helpSourceText?: InlineUserAssistanceProps['helpSourceText'];\n /**\n * Specifies whether the checkbox set requires a selection to be made.\n */\n isRequired?: boolean;\n /**\n * Specifies if the checkbox set is read-only.\n */\n isReadonly?: boolean;\n /**\n * Specifies if the checkbox set is disabled.\n */\n isDisabled?: boolean;\n /**\n * Label text for the group of checkbox items.\n */\n label: string;\n /**\n * Specifies where the label is positioned relative to the field.\n */\n labelEdge?: 'none' | 'top' | 'start' | 'inside';\n /**\n * Specifies the width of the label when <code>labelEdge</code> is <code>\"start\"</code>.\n */\n labelStartWidth?: Size;\n /**\n * Messages to show on screen that are associated with the component.\n */\n messages?: InlineUserAssistanceProps['messages'];\n /**\n * Callback invoked each time the user changes selected option.\n */\n onCommit: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n /**\n * Specifies the density of the user assistance presentation. It can be set to:\n * <ul>\n * <li><code>'reflow'</code>: Show inline. Layout will reflow when text is displayed.</li>\n * <li><code>'efficient'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * <li><code>'compact'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * </ul>\n */\n userAssistanceDensity?: UserAssistanceDensityType;\n /**\n * Value of the selected checkbox option.\n */\n value?: Set<string | number>;\n} & TestIdProps;\n/**\n * A CheckboxSet allows the user to select one or more options from a set.\n */\nexport const CheckboxSet = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n assistiveText,\n columnSpan,\n direction = 'column',\n helpSourceLink,\n helpSourceText,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n isRequired = false,\n label,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n messages,\n onCommit,\n userAssistanceDensity: propUserAssistanceDensity,\n value,\n children,\n testId\n }: Props,\n ref?: Ref<FocusableHandle>\n ) => {\n const hasValue = value !== undefined ? value.size > 0 : false;\n const baseId = useId();\n\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n\n const formFieldContext = useFormFieldContextProps({\n hasValue,\n isDisabled,\n isReadonly\n });\n\n const checkboxSetContext = useMemo(\n () => ({\n name: baseId,\n value,\n onCommit\n }),\n [baseId, onCommit, value]\n );\n\n // wrap each CheckboxItem in an <li> tag and the entire set with <ul>\n const childrenArray = toChildArray(children).filter(Boolean);\n const wrappedChildren = childrenArray.map((item) => <li>{item}</li>);\n\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <CheckboxRadioField\n aria-describedby={ariaDescribedBy}\n assistiveText={assistiveText}\n baseId={baseId}\n columnSpan={columnSpan}\n direction={direction}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n isRequired={isRequired}\n label={label}\n labelEdge={labelEdge}\n labelStartWidth={labelStartWidth}\n parentComponentVariant=\"checkboxSet\"\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n hasValue={hasValue}\n role=\"group\"\n testId={testId}\n ref={ref}>\n <CheckboxSetContext.Provider value={checkboxSetContext}>\n <ul className={styles.ul}>{wrappedChildren}</ul>\n </CheckboxSetContext.Provider>\n </CheckboxRadioField>\n </FormFieldContext.Provider>\n );\n }\n);\n"],"names":["_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxSet-678ea1d4.js","sources":["../../src/UNSAFE_CheckboxSet/CheckboxSetContext.ts","../../src/UNSAFE_CheckboxSet/CheckboxSet.tsx"],"sourcesContent":["import { createContext } from 'preact';\nimport { useContext } from 'preact/hooks';\n\nimport { ValueUpdateDetail } from '../utils/UNSAFE_valueUpdateDetail';\n\ntype CheckboxSetContextValue = {\n name: string;\n value?: Set<string | number>;\n onCommit?: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n};\n\nconst CheckboxSetContext = createContext<CheckboxSetContextValue>({} as CheckboxSetContextValue);\nconst useCheckboxSetContext = () => useContext(CheckboxSetContext);\n\nexport { CheckboxSetContext, useCheckboxSetContext };\n","import { ComponentChildren, ComponentProps, Ref, toChildArray, JSX } from 'preact';\nimport { useMemo } from 'preact/hooks';\nimport { forwardRef } from 'preact/compat';\n\nimport { CheckboxSetContext } from './CheckboxSetContext';\nimport { CheckboxRadioField } from '#PRIVATE_CheckboxRadioField';\nimport { InlineUserAssistance, UserAssistanceDensityType } from '#UNSAFE_UserAssistance';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport { useFormFieldContextProps } from '#hooks/UNSAFE_useFormFieldContextProps';\nimport { FlexboxProps } from '#utils/UNSAFE_interpolations/flexbox';\nimport { Size } from '#utils/UNSAFE_size';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { FocusableHandle } from '#hooks/UNSAFE_useFocusableTextField';\nimport { styles } from './CheckboxSetStyles.css';\nimport type { UnpackSignals } from '@oracle/oraclejet-internal-utilities/attributeUtils';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { LayoutColumnSpan } from '#utils/UNSAFE_styles/Layout';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\n\ntype InlineUserAssistanceProps = ComponentProps<typeof InlineUserAssistance>;\n\ntype Props = {\n /**\n * The ID of an element (or space separated IDs of multiple elements) that\n * describes the input.\n */\n 'aria-describedby'?: UnpackSignals<JSX.AriaAttributes>['aria-describedby'];\n /**\n * Text to provide guidance to help the user understand what data to enter.\n */\n assistiveText?: InlineUserAssistanceProps['assistiveText'];\n /**\n * set of CheckboxItems\n */\n children: ComponentChildren;\n /**\n * Specifies how many columns to span in a FormLayout with direction === 'row'\n */\n columnSpan?: LayoutColumnSpan;\n /**\n * layout direction of the children elements\n */\n direction?: FlexboxProps['direction'];\n /**\n * Help source URL associated with the component.\n */\n helpSourceLink?: InlineUserAssistanceProps['helpSourceLink'];\n /**\n * Custom text to be rendered for the <code>helpSourceLink</code>.\n */\n helpSourceText?: InlineUserAssistanceProps['helpSourceText'];\n /**\n * Specifies whether the checkbox set requires a selection to be made.\n */\n isRequired?: boolean;\n /**\n * Specifies if the checkbox set is read-only.\n */\n isReadonly?: boolean;\n /**\n * Specifies if the checkbox set is disabled.\n */\n isDisabled?: boolean;\n /**\n * Label text for the group of checkbox items.\n */\n label: string;\n /**\n * Specifies where the label is positioned relative to the field.\n */\n labelEdge?: 'none' | 'top' | 'start' | 'inside';\n /**\n * Specifies the width of the label when <code>labelEdge</code> is <code>\"start\"</code>.\n */\n labelStartWidth?: Size;\n /**\n * Messages to show on screen that are associated with the component.\n */\n messages?: InlineUserAssistanceProps['messages'];\n /**\n * Callback invoked each time the user changes selected option.\n */\n onCommit: (detail: ValueUpdateDetail<Set<string | number>>) => void;\n /**\n * Specifies the density of the user assistance presentation. It can be set to:\n * <ul>\n * <li><code>'reflow'</code>: Show inline. Layout will reflow when text is displayed.</li>\n * <li><code>'efficient'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * <li><code>'compact'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * </ul>\n */\n userAssistanceDensity?: UserAssistanceDensityType;\n /**\n * Value of the selected checkbox option.\n */\n value?: Set<string | number>;\n} & TestIdProps;\n/**\n * A CheckboxSet allows the user to select one or more options from a set.\n */\nexport const CheckboxSet = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n assistiveText,\n columnSpan,\n direction = 'column',\n helpSourceLink,\n helpSourceText,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n isRequired = false,\n label,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n messages,\n onCommit,\n userAssistanceDensity: propUserAssistanceDensity,\n value,\n children,\n testId\n }: Props,\n ref?: Ref<FocusableHandle>\n ) => {\n const hasValue = value !== undefined ? value.size > 0 : false;\n const baseId = useId();\n\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n\n const formFieldContext = useFormFieldContextProps({\n hasValue,\n isDisabled,\n isReadonly\n });\n\n const checkboxSetContext = useMemo(\n () => ({\n name: baseId,\n value,\n onCommit\n }),\n [baseId, onCommit, value]\n );\n\n // wrap each CheckboxItem in an <li> tag and the entire set with <ul>\n const childrenArray = toChildArray(children).filter(Boolean);\n const wrappedChildren = childrenArray.map((item) => <li>{item}</li>);\n\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <CheckboxRadioField\n aria-describedby={ariaDescribedBy}\n assistiveText={assistiveText}\n baseId={baseId}\n columnSpan={columnSpan}\n direction={direction}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n isRequired={isRequired}\n label={label}\n labelEdge={labelEdge}\n labelStartWidth={labelStartWidth}\n parentComponentVariant=\"checkboxSet\"\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n hasValue={hasValue}\n role=\"group\"\n testId={testId}\n ref={ref}>\n <CheckboxSetContext.Provider value={checkboxSetContext}>\n <ul className={styles.ul}>{wrappedChildren}</ul>\n </CheckboxSetContext.Provider>\n </CheckboxRadioField>\n </FormFieldContext.Provider>\n );\n }\n);\n"],"names":["CheckboxSetContext","createContext","CheckboxSet","forwardRef","ariaDescribedBy","assistiveText","columnSpan","direction","helpSourceLink","helpSourceText","isDisabled","propIsDisabled","isReadonly","propIsReadonly","isRequired","label","labelEdge","propLabelEdge","labelStartWidth","propLabelStartWidth","messages","onCommit","userAssistanceDensity","propUserAssistanceDensity","value","children","testId","ref","hasValue","undefined","size","baseId","useId","isFormDisabled","isFormReadonly","formLabelEdge","formLabelStartWidth","formUserAssistanceDensity","useFormContext","formFieldContext","useFormFieldContextProps","checkboxSetContext","useMemo","name","wrappedChildren","toChildArray","filter","Boolean","map","item","_jsx","FormFieldContext","Provider","CheckboxRadioField","parentComponentVariant","role","jsx","className","styles","useContext"],"mappings":"6UAWA,MAAMA,EAAqBC,EAAaA,cAA0B,iDC4F3D,MAAMC,EAAcC,EAAUA,YACnC,EAEI,mBAAoBC,EACpBC,gBACAC,aACAC,YAAY,SACZC,iBACAC,iBACAC,WAAYC,EACZC,WAAYC,EACZC,cAAa,EACbC,QACAC,UAAWC,EACXC,gBAAiBC,EACjBC,WACAC,WACAC,sBAAuBC,EACvBC,QACAC,WACAC,UAEFC,KAEA,MAAMC,OAAqBC,IAAVL,GAAsBA,EAAMM,KAAO,EAC9CC,EAASC,EAAAA,SAGbtB,WAAYuB,EACZrB,WAAYsB,EACZlB,UAAWmB,EACXjB,gBAAiBkB,EACjBd,sBAAuBe,GACrBC,EAAcA,iBAGZ5B,EAAaC,GAAkBsB,EAC/BrB,EAAaC,GAAkBqB,EAC/BlB,EAAYC,GAAiBkB,EAC7BjB,EAAkBC,GAAuBiB,EACzCd,EAAwBC,GAA6Bc,EAErDE,EAAmBC,EAAAA,yBAAyB,CAChDZ,WACAlB,aACAE,eAGI6B,EAAqBC,EAAAA,SACzB,KAAO,CACLC,KAAMZ,EACNP,QACAH,cAEF,CAACU,EAAQV,EAAUG,IAKfoB,EADgBC,EAAAA,aAAapB,GAAUqB,OAAOC,SACdC,KAAKC,GAASC,MAAA,KAAA,CAAAzB,SAAKwB,MAEzD,OACEC,EAAAA,IAACC,EAAAA,iBAAiBC,UAAS5B,MAAOe,EAAgBd,SAChDyB,EAAAA,IAACG,EAAAA,uCACmBjD,EAClBC,cAAeA,EACf0B,OAAQA,EACRzB,WAAYA,EACZC,UAAWA,EACXC,eAAgBA,EAChBC,eAAgBA,EAChBC,WAAYA,EACZE,WAAYA,EACZE,WAAYA,EACZC,MAAOA,EACPC,UAAWA,EACXE,gBAAiBA,EACjBoC,uBAAuB,cACvBlC,SAAUA,EACVE,sBAAuBA,EACvBM,SAAUA,EACV2B,KAAK,QACL7B,OAAQA,EACRC,IAAKA,EACLF,SAAAyB,EAAAM,IAACxD,EAAmBoD,SAAQ,CAAC5B,MAAOiB,EAAkBhB,SACpDyB,EAAAA,UAAIO,UAAWC,EAASjC,SAAGmB,SAIjC,mEDpLwB,IAAMe,EAAAA,WAAW3D"}
@@ -0,0 +1,2 @@
1
+ define(['exports', 'preact/jsx-runtime', './useTestId-a2e433c2', './UNSAFE_ColorPicker/themes/ColorPickerContract.css', './useComponentTheme-5aa41a8f', './UNSAFE_ColorPicker/themes/redwood/ColorPickerTheme', 'preact/compat', './Flex-4bc3a394', './clientUtils-f1eea2db', './ColorPalette-b26f3861'], (function(e,o,t,i,r,s,c,a,l,d){"use strict";const h=c.forwardRef((({swatchSize:e="xs",palette:c,height:h,maxWidth:m,value:n,testId:P,width:C,onCommit:p},u)=>{const{classes:x}=r.useComponentTheme(s.ColorPickerRedwoodTheme),k=t.useTestId(P);return o.jsx("div",{ref:u,class:x,...k,children:o.jsx(a.Flex,{direction:"column",height:"auto"===h||l.isMobile()?void 0:i.colorPickerPropVars.maxHeight,maxWidth:void 0!==m?m:l.isMobile()?"100%":i.colorPickerPropVars.maxWidth,width:void 0!==C?C:i.colorPickerPropVars.width,children:o.jsx(d.ColorPalette,{palette:c,swatchSize:e,value:n,testId:P?P+"_picker":void 0,onCommit:p})})})}));e.ColorPicker=h}));
2
+ //# sourceMappingURL=ColorPicker-8ef0b6e0.js.map