playbook_ui 15.3.0.pre.alpha.PLAY2577reactpopoverappendToPOC11730 → 15.3.0.pre.alpha.PLAY260211779
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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +15 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx +4 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.md +3 -2
- data/app/pb_kits/playbook/pb_popover/_popover.tsx +5 -26
- data/app/pb_kits/playbook/pb_popover/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_popover/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_popover/popover.test.js +0 -80
- data/dist/chunks/{_line_graph-BzjyTvYN.js → _line_graph-h5H-imfn.js} +1 -1
- data/dist/chunks/_typeahead-U8AjZIIW.js +6 -0
- data/dist/chunks/{_weekday_stacked-aFv39NoP.js → _weekday_stacked-DHXLQcpy.js} +2 -2
- data/dist/chunks/vendor.js +1 -1
- data/dist/playbook-doc.js +1 -1
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/lib/playbook/version.rb +1 -1
- metadata +6 -8
- data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to.jsx +0 -68
- data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to_react.md +0 -1
- data/dist/chunks/_typeahead-esKmpSrF.js +0 -6
- /data/app/pb_kits/playbook/pb_popover/docs/{_popover_append_to_rails.md → _popover_append_to.md} +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e4131d3b1a39f7a18d2a53f8b64239f74ec62d7cb521c9bf7dcb424e715834a5
         | 
| 4 | 
            +
              data.tar.gz: 494b210ae6cc537df815f2f887d31a8e4f4be76448665ec7c6bad79561da83ec
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 97a50255fb64a0551705adefa0ee56142f43acb24a6d79d83345796d9b12c8282d3711ec97196ccfdef8c57f7b56442ffaca09b212e4c357542d248483eca699
         | 
| 7 | 
            +
              data.tar.gz: 239508374e53bfb654fb181b02f82cb6a656ada5fd83fe5fe58647dfceba774ea01122a4301337edecd02e13318d5e9c680a83f3607d9699bfb0f8455927c641
         | 
| @@ -250,6 +250,21 @@ export function useTableState({ | |
| 250 250 | 
             
                }
         | 
| 251 251 | 
             
              }, [pagination, inlineRowLoading, paginationProps?.pageIndex, paginationProps?.pageSize]);
         | 
| 252 252 |  | 
| 253 | 
            +
              // Call the callback with the new page index when localPagination.pageIndex changes (for inlineRowLoading)
         | 
| 254 | 
            +
              useEffect(() => {
         | 
| 255 | 
            +
                if (pagination && inlineRowLoading && paginationProps) {
         | 
| 256 | 
            +
                  paginationProps.onPageChange(localPagination.pageIndex);
         | 
| 257 | 
            +
                }
         | 
| 258 | 
            +
              }, [localPagination.pageIndex, pagination, inlineRowLoading, paginationProps]);
         | 
| 259 | 
            +
             | 
| 260 | 
            +
              // Call the callback with the new page index when table pagination state changes (for default pagination)
         | 
| 261 | 
            +
              useEffect(() => {
         | 
| 262 | 
            +
                if (pagination && !inlineRowLoading && paginationProps) {
         | 
| 263 | 
            +
                  const currentPageIndex = table.getState().pagination.pageIndex;
         | 
| 264 | 
            +
                  paginationProps.onPageChange(currentPageIndex);
         | 
| 265 | 
            +
                }
         | 
| 266 | 
            +
              }, [table.getState().pagination.pageIndex, pagination, inlineRowLoading, paginationProps]);
         | 
| 267 | 
            +
             | 
| 253 268 | 
             
              // Check if table has any sub-rows
         | 
| 254 269 | 
             
              const hasAnySubRows = table.getRowModel().rows.some(row => row.subRows && row.subRows.length > 0);
         | 
| 255 270 | 
             
              const selectedRowsLength = Object.keys(table.getState().rowSelection).length;
         | 
| @@ -1,5 +1,6 @@ | |
| 1 | 
            -
            `paginationProps` is an optional prop that can be used to further customize pagination for the AdvancedTable. This prop is an object with  | 
| 1 | 
            +
            `paginationProps` is an optional prop that can be used to further customize pagination for the AdvancedTable. This prop is an object with the following optional items:
         | 
| 2 2 |  | 
| 3 3 | 
             
            - `pageIndex`: An optional prop to set which page is set to open on initial load. Default is '0'
         | 
| 4 4 | 
             
            - `pageSize`: An optional prop to set total number of rows for each page before the Table paginates. Default is '20'
         | 
| 5 | 
            -
            - `range`: The range prop determines how many pages to display in the Pagination component. Regardless of this value, the first two and last two pages are always visible to facilitate navigation to the beginning and end of the pagination. If these always-visible pages fall within the specified range, they are included in the display. If they fall outside the range, the pagination will show additional pages up to the number defined by the range prop. See [here for more details](https://playbook.powerapp.cloud/kits/pagination/react#default). Default is set to '5'
         | 
| 5 | 
            +
            - `range`: The range prop determines how many pages to display in the Pagination component. Regardless of this value, the first two and last two pages are always visible to facilitate navigation to the beginning and end of the pagination. If these always-visible pages fall within the specified range, they are included in the display. If they fall outside the range, the pagination will show additional pages up to the number defined by the range prop. See [here for more details](https://playbook.powerapp.cloud/kits/pagination/react#default). Default is set to '5'
         | 
| 6 | 
            +
            - `onPageChange`: A callback function that gives to access to the current page index.
         | 
| @@ -24,7 +24,6 @@ import { uniqueId } from '../utilities/object'; | |
| 24 24 | 
             
            type ModifiedGlobalProps = Omit<GlobalProps, 'minWidth' | 'maxHeight' | 'minHeight'>
         | 
| 25 25 |  | 
| 26 26 | 
             
            type PbPopoverProps = {
         | 
| 27 | 
            -
              appendTo?: string;
         | 
| 28 27 | 
             
              aria?: { [key: string]: string };
         | 
| 29 28 | 
             
              className?: string;
         | 
| 30 29 | 
             
              closeOnClick?: "outside" | "inside" | "any";
         | 
| @@ -63,25 +62,6 @@ const popoverModifiers = ({ | |
| 63 62 | 
             
              return offset ? modifiers.concat([POPOVER_MODIFIERS.offset]) : modifiers;
         | 
| 64 63 | 
             
            };
         | 
| 65 64 |  | 
| 66 | 
            -
            const getAppendTarget = (
         | 
| 67 | 
            -
              appendTo: string | undefined,
         | 
| 68 | 
            -
              targetId: string
         | 
| 69 | 
            -
            ): HTMLElement => {
         | 
| 70 | 
            -
              if (!appendTo || appendTo === "body") return document.body;
         | 
| 71 | 
            -
             | 
| 72 | 
            -
              if (appendTo === "parent") {
         | 
| 73 | 
            -
                const referenceWrapper = document.querySelector(`#reference-${targetId}`);
         | 
| 74 | 
            -
                if (referenceWrapper?.parentElement) {
         | 
| 75 | 
            -
                  return referenceWrapper.parentElement;
         | 
| 76 | 
            -
                }
         | 
| 77 | 
            -
              }
         | 
| 78 | 
            -
             | 
| 79 | 
            -
              const selectorMatch = document.querySelector(appendTo);
         | 
| 80 | 
            -
              if (selectorMatch instanceof HTMLElement) return selectorMatch;
         | 
| 81 | 
            -
             | 
| 82 | 
            -
              return document.body;
         | 
| 83 | 
            -
            };
         | 
| 84 | 
            -
             | 
| 85 65 | 
             
            const Popover = (props: PbPopoverProps) => {
         | 
| 86 66 | 
             
              const {
         | 
| 87 67 | 
             
                aria = {},
         | 
| @@ -133,7 +113,7 @@ const Popover = (props: PbPopoverProps) => { | |
| 133 113 |  | 
| 134 114 | 
             
              return (
         | 
| 135 115 | 
             
                <Popper
         | 
| 136 | 
            -
                    modifiers={popoverModifiers({ modifiers, offset | 
| 116 | 
            +
                    modifiers={popoverModifiers({ modifiers, offset })}
         | 
| 137 117 | 
             
                    placement={placement}
         | 
| 138 118 | 
             
                    referenceElement={referenceElement}
         | 
| 139 119 | 
             
                >
         | 
| @@ -174,7 +154,6 @@ const Popover = (props: PbPopoverProps) => { | |
| 174 154 | 
             
            const PbReactPopover = (props: PbPopoverProps): React.ReactElement => {
         | 
| 175 155 | 
             
              const [targetId] = useState(uniqueId('id-'))
         | 
| 176 156 | 
             
              const {
         | 
| 177 | 
            -
                appendTo,
         | 
| 178 157 | 
             
                className,
         | 
| 179 158 | 
             
                children,
         | 
| 180 159 | 
             
                modifiers = [],
         | 
| @@ -267,10 +246,10 @@ const PbReactPopover = (props: PbPopoverProps): React.ReactElement => { | |
| 267 246 | 
             
                    {show &&
         | 
| 268 247 | 
             
                      (usePortal ? (
         | 
| 269 248 | 
             
                        <>
         | 
| 270 | 
            -
             | 
| 271 | 
            -
             | 
| 272 | 
            -
             | 
| 273 | 
            -
             | 
| 249 | 
            +
                          {ReactDOM.createPortal(
         | 
| 250 | 
            +
                            popoverComponent,
         | 
| 251 | 
            +
                            document.querySelector(portal)
         | 
| 252 | 
            +
                          )}
         | 
| 274 253 | 
             
                        </>
         | 
| 275 254 | 
             
                      ) : (
         | 
| 276 255 | 
             
                        { popoverComponent }
         | 
| @@ -4,4 +4,3 @@ export { default as PopoverClose } from './_popover_close.jsx' | |
| 4 4 | 
             
            export { default as PopoverZIndex } from './_popover_z_index.jsx'
         | 
| 5 5 | 
             
            export { default as PopoverScrollHeight } from './_popover_scroll_height.jsx'
         | 
| 6 6 | 
             
            export { default as PopoverActionableContent } from './_popover_actionable_content.jsx'
         | 
| 7 | 
            -
            export { default as PopoverAppendTo } from './_popover_append_to.jsx'
         | 
| @@ -159,62 +159,6 @@ const PopoverTestClicktoClose3 = () => { | |
| 159 159 | 
             
              )
         | 
| 160 160 | 
             
            };
         | 
| 161 161 |  | 
| 162 | 
            -
            //Test Popover with appendTo="parent"
         | 
| 163 | 
            -
            const PopoverTestAppendToParent = () => {
         | 
| 164 | 
            -
              const [mockState, setMockState] = React.useState(false)
         | 
| 165 | 
            -
              const togglePopover = () => {
         | 
| 166 | 
            -
                setMockState(!mockState)
         | 
| 167 | 
            -
              }
         | 
| 168 | 
            -
             | 
| 169 | 
            -
              const popoverReference = (
         | 
| 170 | 
            -
                <Button onClick={togglePopover}
         | 
| 171 | 
            -
                    text="Click Me"
         | 
| 172 | 
            -
                />
         | 
| 173 | 
            -
              );
         | 
| 174 | 
            -
              return (
         | 
| 175 | 
            -
                <div data-testid="parent-container"
         | 
| 176 | 
            -
                    id="parent-container"
         | 
| 177 | 
            -
                >
         | 
| 178 | 
            -
                  <PbReactPopover
         | 
| 179 | 
            -
                      appendTo="parent"
         | 
| 180 | 
            -
                      offset
         | 
| 181 | 
            -
                      reference={popoverReference}
         | 
| 182 | 
            -
                      show={mockState}
         | 
| 183 | 
            -
                  >
         | 
| 184 | 
            -
                    {"Appended to parent"}
         | 
| 185 | 
            -
                  </PbReactPopover>
         | 
| 186 | 
            -
                </div>
         | 
| 187 | 
            -
              )
         | 
| 188 | 
            -
            };
         | 
| 189 | 
            -
             | 
| 190 | 
            -
            //Test Popover with appendTo CSS selector
         | 
| 191 | 
            -
            const PopoverTestAppendToSelector = () => {
         | 
| 192 | 
            -
              const [mockState, setMockState] = React.useState(false)
         | 
| 193 | 
            -
              const togglePopover = () => {
         | 
| 194 | 
            -
                setMockState(!mockState)
         | 
| 195 | 
            -
              }
         | 
| 196 | 
            -
             | 
| 197 | 
            -
              const popoverReference = (
         | 
| 198 | 
            -
                <Button onClick={togglePopover}
         | 
| 199 | 
            -
                    text="Click Me"
         | 
| 200 | 
            -
                />
         | 
| 201 | 
            -
              );
         | 
| 202 | 
            -
              return (
         | 
| 203 | 
            -
                <div data-testid="custom-container"
         | 
| 204 | 
            -
                    id="custom-container"
         | 
| 205 | 
            -
                >
         | 
| 206 | 
            -
                  <PbReactPopover
         | 
| 207 | 
            -
                      appendTo="#custom-container"
         | 
| 208 | 
            -
                      offset
         | 
| 209 | 
            -
                      reference={popoverReference}
         | 
| 210 | 
            -
                      show={mockState}
         | 
| 211 | 
            -
                  >
         | 
| 212 | 
            -
                    {"Appended to custom container"}
         | 
| 213 | 
            -
                  </PbReactPopover>
         | 
| 214 | 
            -
                </div>
         | 
| 215 | 
            -
              )
         | 
| 216 | 
            -
            };
         | 
| 217 | 
            -
             | 
| 218 162 |  | 
| 219 163 | 
             
              test("renders Popover", () => {
         | 
| 220 164 | 
             
                render(<PopoverTest data={{ testid: testId}}/>)
         | 
| @@ -273,28 +217,4 @@ const PopoverTestAppendToSelector = () => { | |
| 273 217 | 
             
                fireEvent.click(btn);
         | 
| 274 218 |  | 
| 275 219 | 
             
                expect(kit).not.toBeInTheDocument;
         | 
| 276 | 
            -
              });
         | 
| 277 | 
            -
             | 
| 278 | 
            -
              test("renders Popover with appendTo parent", () => {
         | 
| 279 | 
            -
                render(<PopoverTestAppendToParent data={{ testid: testId}}/>)
         | 
| 280 | 
            -
                const btn = screen.getByText(/click me/i)
         | 
| 281 | 
            -
                fireEvent.click(btn);
         | 
| 282 | 
            -
                const kit = screen.getByText("Appended to parent");
         | 
| 283 | 
            -
                expect(kit).toBeInTheDocument();
         | 
| 284 | 
            -
                
         | 
| 285 | 
            -
                // Check that the popover is rendered inside the parent container
         | 
| 286 | 
            -
                const parentContainer = screen.getByTestId("parent-container");
         | 
| 287 | 
            -
                expect(parentContainer).toContainElement(kit);
         | 
| 288 | 
            -
              });
         | 
| 289 | 
            -
             | 
| 290 | 
            -
              test("renders Popover with appendTo CSS selector", () => {
         | 
| 291 | 
            -
                render(<PopoverTestAppendToSelector data={{ testid: testId}}/>)
         | 
| 292 | 
            -
                const btn = screen.getByText(/click me/i)
         | 
| 293 | 
            -
                fireEvent.click(btn);
         | 
| 294 | 
            -
                const kit = screen.getByText("Appended to custom container");
         | 
| 295 | 
            -
                expect(kit).toBeInTheDocument();
         | 
| 296 | 
            -
                
         | 
| 297 | 
            -
                // Check that the popover is rendered inside the custom container
         | 
| 298 | 
            -
                const customContainer = screen.getByTestId("custom-container");
         | 
| 299 | 
            -
                expect(customContainer).toContainElement(kit);
         | 
| 300 220 | 
             
              });
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            import{jsx,Fragment,jsxs}from"react/jsx-runtime";import{useState,useEffect}from"react";import{f as buildAriaProps,g as buildDataProps,h as buildHtmlProps,H as HighchartsReact,i as Highcharts,j as classnames,k as globalProps,l as HighchartsMore,S as SolidGauge,m as buildCss}from"./_typeahead-esKmpSrF.js";import{c as colors,h as highchartsTheme,m as merge,a as highchartsDarkTheme,t as typography}from"./lib-CGxXTQ75.js";const mapColors=array=>{const regex=/(data)\-[1-8]/;const newArray=array.map((item=>regex.test(item)?`${colors[`data_${item[item.length-1]}`]}`:item));return newArray};const BarGraph=({aria:aria={},data:data={},align:align="center",axisTitle:axisTitle,dark:dark=false,chartData:chartData,className:className="pb_bar_graph",colors:colors2,htmlOptions:htmlOptions={},customOptions:customOptions={},axisFormat:axisFormat,id:id,pointStart:pointStart,stacking:stacking,subTitle:subTitle,type:type="column",title:title="Title",xAxisCategories:xAxisCategories,yAxisMin:yAxisMin,yAxisMax:yAxisMax,legend:legend=false,toggleLegendClick:toggleLegendClick=true,height:height,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();const staticOptions={title:{text:title},chart:{height:height,type:type},subtitle:{text:subTitle},yAxis:[{labels:{format:typeof axisFormat==="string"?axisFormat:axisFormat&&axisFormat[0]?axisFormat[0].format:""},min:yAxisMin,max:yAxisMax,opposite:false,title:{text:Array.isArray(axisTitle)?axisTitle.length>0?axisTitle[0].name:null:axisTitle},plotLines:typeof yAxisMin!=="undefined"&&yAxisMin!==null?[]:[{value:0,zIndex:10,color:"#E4E8F0"}]}],xAxis:{categories:xAxisCategories},legend:{enabled:legend,align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},colors:colors2!==void 0&&colors2.length>0?mapColors(colors2):highchartsTheme.colors,plotOptions:{series:{stacking:stacking,pointStart:pointStart,borderWidth:stacking?0:"",events:{},dataLabels:{enabled:false}}},series:chartData,credits:false};if(Array.isArray(axisTitle)&&axisTitle.length>1&&axisTitle[1].name){staticOptions.yAxis.push({labels:{format:typeof axisFormat==="string"?axisFormat:axisFormat[1].format},min:yAxisMin,max:yAxisMax,opposite:true,title:{text:axisTitle[1].name},plotLines:typeof yAxisMin!=="undefined"&&yAxisMin!==null?[]:[{value:0,zIndex:10,color:"#E4E8F0"}]})}if(!toggleLegendClick){staticOptions.plotOptions.series.events={legendItemClick:()=>false}}const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(globalProps(filteredProps),className),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};const alignBlockElement=event=>{const itemToMove=document.querySelector(`#wrapper-circle-chart-${event.target.renderTo.id} .pb-circle-chart-block`);const chartContainer=document.querySelector(`#${event.target.renderTo.id}`);if(itemToMove!==null&&chartContainer!==null){itemToMove.style.height=`${event.target.chartHeight}px`;itemToMove.style.width=`${event.target.chartWidth}px`;if(chartContainer.firstChild!==null){chartContainer.firstChild.before(itemToMove)}}};const CircleChart=({align:align="center",aria:aria={},rounded:rounded=false,borderColor:borderColor=(rounded?null:""),borderWidth:borderWidth=(rounded?20:null),chartData:chartData,children:children,className:className,colors:colors2=[],customOptions:customOptions={},dark:dark=false,data:data={},dataLabelHtml:dataLabelHtml="<div>{point.name}</div>",dataLabels:dataLabels=false,height:height,htmlOptions:htmlOptions={},id:id,innerSize:innerSize="md",legend:legend=false,maxPointSize:maxPointSize=null,minPointSize:minPointSize=null,startAngle:startAngle=null,style:style="pie",title:title,tooltipHtml:tooltipHtml,useHtml:useHtml=false,zMin:zMin=null,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);HighchartsMore(Highcharts);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();Highcharts.setOptions({tooltip:{headerFormat:null,pointFormat:tooltipHtml?tooltipHtml:'<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: <b>{point.y}</b>',useHTML:useHtml}});const innerSizes={sm:"35%",md:"50%",lg:"85%",none:"0%"};const innerSizeFormat=size=>innerSizes[size];const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{const formattedChartData=chartData.map((obj=>{obj.y=obj.value;delete obj.value;return obj}));const staticOptions={title:{text:title},chart:{height:height,type:style,events:{render:event=>alignBlockElement(event),redraw:event=>alignBlockElement(event)}},legend:{align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},plotOptions:{pie:{colors:colors2.length>0?mapColors(colors2):highchartsTheme.colors,dataLabels:{enabled:dataLabels,connectorShape:"straight",connectorWidth:3,format:dataLabelHtml},showInLegend:legend}},series:[{minPointSize:minPointSize,maxPointSize:maxPointSize,innerSize:borderWidth==20?"100%":innerSizeFormat(innerSize),data:formattedChartData,zMin:zMin,startAngle:startAngle,borderWidth:borderWidth,borderColor:borderColor}],credits:false};setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(Fragment,{children:children?jsxs("div",{id:`wrapper-circle-chart-${id}`,children:[jsx(HighchartsReact,{containerProps:{className:classnames("pb_circle_chart",globalProps(filteredProps)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options}),jsx("div",{className:"pb-circle-chart-block",children:children})]}):jsx(HighchartsReact,{containerProps:{className:classnames("pb_circle_chart",globalProps(filteredProps)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})})};const Gauge=({aria:aria={},chartData:chartData,customOptions:customOptions={},dark:dark=false,data:data={},disableAnimation:disableAnimation=false,fullCircle:fullCircle=false,height:height=null,htmlOptions:htmlOptions={},id:id,max:max=100,min:min=0,prefix:prefix="",showLabels:showLabels=false,style:style="solidgauge",suffix:suffix="",title:title="",tooltipHtml:tooltipHtml='<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: <b>{point.y}</b>',colors:colors$1=[],minorTickInterval:minorTickInterval=null,circumference:circumference=(fullCircle?[0,360]:[-100,100]),...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);HighchartsMore(Highcharts);SolidGauge(Highcharts);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();Highcharts.setOptions({tooltip:{pointFormat:tooltipHtml,followPointer:true}});const css=buildCss({pb_gauge_kit:true});const[options,setOptions]=useState({});useEffect((()=>{const formattedChartData=chartData.map((obj=>{obj.y=obj.value;delete obj.value;return obj}));const staticOptions={chart:{events:{load(){setTimeout(this.reflow.bind(this),0)}},type:style,height:height},title:{text:title},yAxis:{min:min,max:max,lineWidth:0,tickWidth:0,minorTickInterval:minorTickInterval,tickAmount:2,tickPositions:[min,max],labels:{y:26,enabled:showLabels}},credits:false,series:[{data:formattedChartData}],pane:{center:["50%","50%"],size:"90%",startAngle:circumference[0],endAngle:circumference[1],background:{borderWidth:20,innerRadius:"90%",outerRadius:"90%",shape:"arc",className:"gauge-pane"}},colors:colors$1!==void 0&&colors$1.length>0?mapColors(colors$1):highchartsTheme.colors,plotOptions:{series:{animation:!disableAnimation},solidgauge:{borderColor:colors$1!==void 0&&colors$1.length===1?mapColors(colors$1).join():highchartsTheme.colors[0],borderWidth:20,radius:90,innerRadius:"90%",dataLabels:{borderWidth:0,color:colors.text_lt_default,enabled:true,format:`<span class="prefix${dark?" dark":""}">${prefix}</span><span class="fix${dark?" dark":""}">{y:,f}</span><span class="suffix${dark?" dark":""}">${suffix}</span>`,style:{fontFamily:typography.font_family_base,fontWeight:typography.regular,fontSize:typography.heading_2},y:-26}}}};setOptions(merge(staticOptions,customOptions));if(document.querySelector(".prefix")){document.querySelectorAll(".prefix").forEach((prefix2=>{prefix2.setAttribute("y","28")}));document.querySelectorAll(".fix").forEach((fix=>fix.setAttribute("y","38")))}}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(css,globalProps(props)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};const LineGraph=({aria:aria={},data:data={},align:align="center",className:className="pb_bar_graph",customOptions:customOptions={},dark:dark=false,gradient:gradient=false,type:type="line",htmlOptions:htmlOptions={},id:id,legend:legend=false,toggleLegendClick:toggleLegendClick=true,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,axisTitle:axisTitle,xAxisCategories:xAxisCategories,yAxisMin:yAxisMin,yAxisMax:yAxisMax,chartData:chartData,pointStart:pointStart,subTitle:subTitle,title:title,height:height,colors:colors2=[],...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();const staticOptions={title:{text:title},chart:{height:height,type:type},subtitle:{text:subTitle},yAxis:{min:yAxisMin,max:yAxisMax,title:{text:axisTitle}},xAxis:{categories:xAxisCategories},legend:{enabled:legend,align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},colors:colors2!==void 0&&colors2.length>0?mapColors(colors2):highchartsTheme.colors,plotOptions:{series:{pointStart:pointStart,events:{},dataLabels:{enabled:false}}},series:chartData,credits:false};if(!toggleLegendClick){staticOptions.plotOptions.series.events={legendItemClick:()=>false}}const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(globalProps(filteredProps),className),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};export{BarGraph as B,CircleChart as C,Gauge as G,LineGraph as L};
         | 
| 1 | 
            +
            import{jsx,Fragment,jsxs}from"react/jsx-runtime";import{useState,useEffect}from"react";import{f as buildAriaProps,g as buildDataProps,h as buildHtmlProps,H as HighchartsReact,i as Highcharts,j as classnames,k as globalProps,l as HighchartsMore,S as SolidGauge,m as buildCss}from"./_typeahead-U8AjZIIW.js";import{c as colors,h as highchartsTheme,m as merge,a as highchartsDarkTheme,t as typography}from"./lib-CGxXTQ75.js";const mapColors=array=>{const regex=/(data)\-[1-8]/;const newArray=array.map((item=>regex.test(item)?`${colors[`data_${item[item.length-1]}`]}`:item));return newArray};const BarGraph=({aria:aria={},data:data={},align:align="center",axisTitle:axisTitle,dark:dark=false,chartData:chartData,className:className="pb_bar_graph",colors:colors2,htmlOptions:htmlOptions={},customOptions:customOptions={},axisFormat:axisFormat,id:id,pointStart:pointStart,stacking:stacking,subTitle:subTitle,type:type="column",title:title="Title",xAxisCategories:xAxisCategories,yAxisMin:yAxisMin,yAxisMax:yAxisMax,legend:legend=false,toggleLegendClick:toggleLegendClick=true,height:height,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();const staticOptions={title:{text:title},chart:{height:height,type:type},subtitle:{text:subTitle},yAxis:[{labels:{format:typeof axisFormat==="string"?axisFormat:axisFormat&&axisFormat[0]?axisFormat[0].format:""},min:yAxisMin,max:yAxisMax,opposite:false,title:{text:Array.isArray(axisTitle)?axisTitle.length>0?axisTitle[0].name:null:axisTitle},plotLines:typeof yAxisMin!=="undefined"&&yAxisMin!==null?[]:[{value:0,zIndex:10,color:"#E4E8F0"}]}],xAxis:{categories:xAxisCategories},legend:{enabled:legend,align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},colors:colors2!==void 0&&colors2.length>0?mapColors(colors2):highchartsTheme.colors,plotOptions:{series:{stacking:stacking,pointStart:pointStart,borderWidth:stacking?0:"",events:{},dataLabels:{enabled:false}}},series:chartData,credits:false};if(Array.isArray(axisTitle)&&axisTitle.length>1&&axisTitle[1].name){staticOptions.yAxis.push({labels:{format:typeof axisFormat==="string"?axisFormat:axisFormat[1].format},min:yAxisMin,max:yAxisMax,opposite:true,title:{text:axisTitle[1].name},plotLines:typeof yAxisMin!=="undefined"&&yAxisMin!==null?[]:[{value:0,zIndex:10,color:"#E4E8F0"}]})}if(!toggleLegendClick){staticOptions.plotOptions.series.events={legendItemClick:()=>false}}const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(globalProps(filteredProps),className),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};const alignBlockElement=event=>{const itemToMove=document.querySelector(`#wrapper-circle-chart-${event.target.renderTo.id} .pb-circle-chart-block`);const chartContainer=document.querySelector(`#${event.target.renderTo.id}`);if(itemToMove!==null&&chartContainer!==null){itemToMove.style.height=`${event.target.chartHeight}px`;itemToMove.style.width=`${event.target.chartWidth}px`;if(chartContainer.firstChild!==null){chartContainer.firstChild.before(itemToMove)}}};const CircleChart=({align:align="center",aria:aria={},rounded:rounded=false,borderColor:borderColor=(rounded?null:""),borderWidth:borderWidth=(rounded?20:null),chartData:chartData,children:children,className:className,colors:colors2=[],customOptions:customOptions={},dark:dark=false,data:data={},dataLabelHtml:dataLabelHtml="<div>{point.name}</div>",dataLabels:dataLabels=false,height:height,htmlOptions:htmlOptions={},id:id,innerSize:innerSize="md",legend:legend=false,maxPointSize:maxPointSize=null,minPointSize:minPointSize=null,startAngle:startAngle=null,style:style="pie",title:title,tooltipHtml:tooltipHtml,useHtml:useHtml=false,zMin:zMin=null,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);HighchartsMore(Highcharts);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();Highcharts.setOptions({tooltip:{headerFormat:null,pointFormat:tooltipHtml?tooltipHtml:'<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: <b>{point.y}</b>',useHTML:useHtml}});const innerSizes={sm:"35%",md:"50%",lg:"85%",none:"0%"};const innerSizeFormat=size=>innerSizes[size];const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{const formattedChartData=chartData.map((obj=>{obj.y=obj.value;delete obj.value;return obj}));const staticOptions={title:{text:title},chart:{height:height,type:style,events:{render:event=>alignBlockElement(event),redraw:event=>alignBlockElement(event)}},legend:{align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},plotOptions:{pie:{colors:colors2.length>0?mapColors(colors2):highchartsTheme.colors,dataLabels:{enabled:dataLabels,connectorShape:"straight",connectorWidth:3,format:dataLabelHtml},showInLegend:legend}},series:[{minPointSize:minPointSize,maxPointSize:maxPointSize,innerSize:borderWidth==20?"100%":innerSizeFormat(innerSize),data:formattedChartData,zMin:zMin,startAngle:startAngle,borderWidth:borderWidth,borderColor:borderColor}],credits:false};setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(Fragment,{children:children?jsxs("div",{id:`wrapper-circle-chart-${id}`,children:[jsx(HighchartsReact,{containerProps:{className:classnames("pb_circle_chart",globalProps(filteredProps)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options}),jsx("div",{className:"pb-circle-chart-block",children:children})]}):jsx(HighchartsReact,{containerProps:{className:classnames("pb_circle_chart",globalProps(filteredProps)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})})};const Gauge=({aria:aria={},chartData:chartData,customOptions:customOptions={},dark:dark=false,data:data={},disableAnimation:disableAnimation=false,fullCircle:fullCircle=false,height:height=null,htmlOptions:htmlOptions={},id:id,max:max=100,min:min=0,prefix:prefix="",showLabels:showLabels=false,style:style="solidgauge",suffix:suffix="",title:title="",tooltipHtml:tooltipHtml='<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: <b>{point.y}</b>',colors:colors$1=[],minorTickInterval:minorTickInterval=null,circumference:circumference=(fullCircle?[0,360]:[-100,100]),...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);HighchartsMore(Highcharts);SolidGauge(Highcharts);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();Highcharts.setOptions({tooltip:{pointFormat:tooltipHtml,followPointer:true}});const css=buildCss({pb_gauge_kit:true});const[options,setOptions]=useState({});useEffect((()=>{const formattedChartData=chartData.map((obj=>{obj.y=obj.value;delete obj.value;return obj}));const staticOptions={chart:{events:{load(){setTimeout(this.reflow.bind(this),0)}},type:style,height:height},title:{text:title},yAxis:{min:min,max:max,lineWidth:0,tickWidth:0,minorTickInterval:minorTickInterval,tickAmount:2,tickPositions:[min,max],labels:{y:26,enabled:showLabels}},credits:false,series:[{data:formattedChartData}],pane:{center:["50%","50%"],size:"90%",startAngle:circumference[0],endAngle:circumference[1],background:{borderWidth:20,innerRadius:"90%",outerRadius:"90%",shape:"arc",className:"gauge-pane"}},colors:colors$1!==void 0&&colors$1.length>0?mapColors(colors$1):highchartsTheme.colors,plotOptions:{series:{animation:!disableAnimation},solidgauge:{borderColor:colors$1!==void 0&&colors$1.length===1?mapColors(colors$1).join():highchartsTheme.colors[0],borderWidth:20,radius:90,innerRadius:"90%",dataLabels:{borderWidth:0,color:colors.text_lt_default,enabled:true,format:`<span class="prefix${dark?" dark":""}">${prefix}</span><span class="fix${dark?" dark":""}">{y:,f}</span><span class="suffix${dark?" dark":""}">${suffix}</span>`,style:{fontFamily:typography.font_family_base,fontWeight:typography.regular,fontSize:typography.heading_2},y:-26}}}};setOptions(merge(staticOptions,customOptions));if(document.querySelector(".prefix")){document.querySelectorAll(".prefix").forEach((prefix2=>{prefix2.setAttribute("y","28")}));document.querySelectorAll(".fix").forEach((fix=>fix.setAttribute("y","38")))}}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(css,globalProps(props)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};const LineGraph=({aria:aria={},data:data={},align:align="center",className:className="pb_bar_graph",customOptions:customOptions={},dark:dark=false,gradient:gradient=false,type:type="line",htmlOptions:htmlOptions={},id:id,legend:legend=false,toggleLegendClick:toggleLegendClick=true,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,axisTitle:axisTitle,xAxisCategories:xAxisCategories,yAxisMin:yAxisMin,yAxisMax:yAxisMax,chartData:chartData,pointStart:pointStart,subTitle:subTitle,title:title,height:height,colors:colors2=[],...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();const staticOptions={title:{text:title},chart:{height:height,type:type},subtitle:{text:subTitle},yAxis:{min:yAxisMin,max:yAxisMax,title:{text:axisTitle}},xAxis:{categories:xAxisCategories},legend:{enabled:legend,align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},colors:colors2!==void 0&&colors2.length>0?mapColors(colors2):highchartsTheme.colors,plotOptions:{series:{pointStart:pointStart,events:{},dataLabels:{enabled:false}}},series:chartData,credits:false};if(!toggleLegendClick){staticOptions.plotOptions.series.events={legendItemClick:()=>false}}const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(globalProps(filteredProps),className),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};export{BarGraph as B,CircleChart as C,Gauge as G,LineGraph as L};
         |