@proounce/shared-common 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -384
- package/dist/charts/fusion.cjs +61 -3
- package/dist/charts/fusion.cjs.map +1 -1
- package/dist/charts/fusion.d.cts +15 -15
- package/dist/charts/fusion.d.ts +15 -15
- package/dist/charts/fusion.js +61 -3
- package/dist/charts/fusion.js.map +1 -1
- package/dist/grids/ag-grid.cjs +91 -16
- package/dist/grids/ag-grid.cjs.map +1 -1
- package/dist/grids/ag-grid.d.cts +4 -4
- package/dist/grids/ag-grid.d.ts +4 -4
- package/dist/grids/ag-grid.js +90 -16
- package/dist/grids/ag-grid.js.map +1 -1
- package/dist/icons/lucide.d.cts +150 -0
- package/dist/icons/lucide.d.ts +150 -0
- package/dist/index.cjs +15809 -4245
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3751 -1718
- package/dist/index.d.ts +3751 -1718
- package/dist/index.js +15539 -3133
- package/dist/index.js.map +1 -1
- package/docs/COMPATIBILITY_MATRIX.md +325 -0
- package/docs/COMPONENT_AUDIT.md +71 -153
- package/docs/LEGACY_CLOSURE.json +1143 -0
- package/package.json +25 -4
- package/dist/mui-b9ldbP0Q.d.cts +0 -306
- package/dist/mui-b9ldbP0Q.d.ts +0 -306
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/charts/FusionChart.tsx","../../src/charts/CommonChart.tsx"],"names":["useState","useEffect","ReactFusioncharts","FusionCharts","charts","jsx","useMemo","Stack","jsxs","Typography","TextField","MenuItem"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAI,gBAAA,GAAmB,KAAA;AAiBhB,SAAS,WAAA,CAAY;AAAA,EAC1B,IAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA,GAAQ,MAAA;AAAA,EACR,MAAA,GAAS,GAAA;AAAA,EACT,MAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB,cAAc,SAAA,GAAY;AAC5B,CAAA,EAAqB;AACnB,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,eAAS,gBAAgB,CAAA;AAC7D,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,cAAA,CAAS,CAAC,UAAU,CAAA;AAE5D,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,gBAAA,EAAkB;AACrB,MAAAC,kCAAA,CAAkB,MAAA,CAAOC,+BAAcC,uBAAM,CAAA;AAC7C,MAAA,gBAAA,GAAmB,IAAA;AAAA,IACrB;AACA,IAAA,aAAA,CAAc,IAAI,CAAA;AAAA,EACpB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAAH,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,MAAA,GAAS,IAAA;AACb,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,IAAA,KAAK,QAAQ,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAA,CAAK,CAAC,GAAA,KAAQ;AAC7C,MAAA,MAAM,UAAUE,6BAAA,CAAa,OAAA;AAG7B,MAAA,OAAA,CAAQ,OAAA,CAAQ,EAAE,GAAA,EAAK,WAAA,EAAa,OAAO,CAAA;AAC3C,MAAA,IAAI,MAAA,kBAAwB,IAAI,CAAA;AAAA,IAClC,CAAC,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAA,MAAA,GAAS,KAAA;AAAA,IACX,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,IAAI,CAAC,UAAA,IAAc,CAAC,YAAA,EAAc,OAAO,eAAA;AAEzC,EAAA,uBACEE,cAAA,CAAC,KAAA,EAAA,EAAI,IAAA,EAAK,KAAA,EAAM,cAAY,SAAA,EAC1B,QAAA,kBAAAA,cAAA;AAAA,IAACH,kCAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA,EAAW,MAAA;AAAA,MACX,UAAA;AAAA,MACC,GAAI,MAAA,GAAS,EAAE,MAAA,KAAW;AAAC;AAAA,GAC9B,EACF,CAAA;AAEJ;AAIO,SAAS,eAAe,KAAA,EAA+B;AAC5D,EAAA,uBAAOG,cAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,OAAA,EAAS,GAAG,KAAA,EAAO,CAAA;AAC9C;AAEO,SAAS,kBAAkB,KAAA,EAA+B;AAC/D,EAAA,uBAAOA,cAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,UAAA,EAAY,GAAG,KAAA,EAAO,CAAA;AACjD;AAEO,SAAS,oBAAoB,KAAA,EAA+B;AACjE,EAAA,uBAAOA,cAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,YAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AACnD;AAEO,IAAM,YAAA,GAAe;AACrB,IAAM,mBAAA,GAAsB;AAC5B,IAAM,gBAAA,GAAmB;AACzB,IAAM,qBAAA,GAAwB;AAC9B,IAAM,qBAAA,GAAwB;ACvE9B,IAAM,mBAAA,GAAwD;AAAA,EACnE,EAAE,KAAA,EAAO,UAAA,EAAY,KAAA,EAAO,QAAA,EAAS;AAAA,EACrC,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,KAAA,EAAM;AAAA,EAC/B,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAO;AAAA,EAC/B,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,MAAA,EAAO;AAAA,EACjC,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,KAAA,EAAM;AAAA,EAC/B,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,UAAA;AAChC;AAyBO,SAAS,WAAA,CAAY;AAAA,EAC1B,IAAA,GAAO,UAAA;AAAA,EACP,KAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,eAAA,GAAkB,mBAAA;AAAA,EAClB,gBAAA,GAAmB,KAAA;AAAA,EACnB,aAAA,GAAgB,YAAA;AAAA,EAChB,WAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,cAAA,GAAiB,iBAAA;AAAA,EACjB,YAAA;AAAA,EACA,YAAA,EAAc,SAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIL,eAAwB,IAAI,CAAA;AACpE,EAAA,MAAM,aAAa,YAAA,IAAgB,IAAA;AAEnC,EAAA,MAAM,UAAA,GAAaM,aAAA;AAAA,IACjB,OAAO;AAAA,MACL,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,OAAA,KAAY,OAAO,KAAA,KAAU,WAAW,KAAA,GAAQ,MAAA,CAAA;AAAA,QACzD,UAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA;AAAA,QACA,QAAA,EAAU,mBAAA;AAAA,QACV,YAAA,EAAc,IAAA;AAAA,QACd,UAAA,EAAY,GAAA;AAAA,QACZ,gBAAA,EAAkB,GAAA;AAAA,QAClB,oBAAA,EAAsB,GAAA;AAAA,QACtB,cAAA,EAAgB,GAAA;AAAA,QAChB,UAAA,EAAY,GAAA;AAAA,QACZ,UAAA,EAAY,GAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,YAAA,EAAc,QAAA;AAAA,QACd,WAAA,EAAa,GAAA;AAAA,QACb,WAAA,EAAa,IAAA;AAAA,QACb,YAAA,EAAc,IAAA;AAAA,QACd,SAAA,EAAW,GAAA;AAAA,QACX,GAAG;AAAA,OACL;AAAA,MACA,IAAA,EAAM,CAAC,GAAG,KAAK;AAAA,KACjB,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,YAAA,EAAc,OAAO,UAAA,EAAY,KAAA,EAAO,WAAW,SAAS;AAAA,GACxE;AAEA,EAAA,MAAM,iBACJ,SAAA,IAAa,OAAA,KAAY,OAAO,KAAA,KAAU,WAAW,KAAA,GAAQ,OAAA,CAAA;AAE/D,EAAA,uCACGC,sBAAA,EAAA,EAAM,SAAA,EAAU,WAAU,OAAA,EAAS,GAAA,EAAK,cAAY,cAAA,EAClD,QAAA,EAAA;AAAA,IAAA,KAAA,IAAS,gBAAA,mBACRC,eAAA;AAAA,MAACD,sBAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAE,EAAA,EAAI,QAAA,EAAU,IAAI,KAAA,EAAM;AAAA,QACrC,UAAA,EAAY,EAAE,EAAA,EAAI,SAAA,EAAW,IAAI,QAAA,EAAS;AAAA,QAC1C,cAAA,EAAe,eAAA;AAAA,QACf,GAAA,EAAK,CAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,UAAA,KAAA,mBAAQF,eAACI,2BAAA,EAAA,EAAW,SAAA,EAAU,MAAK,OAAA,EAAQ,IAAA,EAAM,iBAAM,CAAA,GAAgB,IAAA;AAAA,UACvE,mCACCJ,cAAAA;AAAA,YAACK,0BAAA;AAAA,YAAA;AAAA,cACC,MAAA,EAAM,IAAA;AAAA,cACN,IAAA,EAAK,OAAA;AAAA,cACL,KAAA,EAAO,aAAA;AAAA,cACP,KAAA,EAAO,UAAA;AAAA,cACP,QAAA,EAAU,CAAC,KAAA,KAAU;AACnB,gBAAA,eAAA,CAAgB,KAAA,CAAM,OAAO,KAAK,CAAA;AAClC,gBAAA,YAAA,GAAe,KAAA,CAAM,OAAO,KAAK,CAAA;AAAA,cACnC,CAAA;AAAA,cACA,EAAA,EAAI,EAAE,QAAA,EAAU,GAAA,EAAI;AAAA,cAEnB,QAAA,EAAA,eAAA,CAAgB,GAAA,CAAI,CAAC,MAAA,qBACpBL,cAAAA,CAACM,yBAAA,EAAA,EAA4B,KAAA,EAAO,MAAA,CAAO,KAAA,EACxC,QAAA,EAAA,MAAA,CAAO,KAAA,EAAA,EADK,MAAA,CAAO,KAEtB,CACD;AAAA;AAAA,WACH,GACE;AAAA;AAAA;AAAA,KACN,GACE,IAAA;AAAA,IACH,8BAAcN,cAAAA,CAACI,+BAAW,KAAA,EAAM,gBAAA,EAAkB,uBAAY,CAAA,GAAgB,IAAA;AAAA,oBAC/EJ,cAAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,UAAA;AAAA,QACN,UAAA;AAAA,QACA,YAAA,EAAY,cAAA;AAAA,QACX,GAAG;AAAA;AAAA,KACN;AAAA,IACC,aAAA,mCACE,SAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAAA,cAAAA,CAAC,aAAS,QAAA,EAAA,cAAA,EAAe,CAAA;AAAA,sCACxB,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAAA,cAAAA,CAAC,aAAS,QAAA,EAAA,cAAA,EAAe,CAAA;AAAA,wBACzBA,cAAAA,CAAC,OAAA,EAAA,EAAM,QAAA,kBAAAG,eAAA,CAAC,IAAA,EAAA,EAAG,QAAA,EAAA;AAAA,0BAAAH,cAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAM,KAAA,EAAM,QAAA,EAAA,OAAA,EAAK,CAAA;AAAA,0BAAKA,cAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAM,OAAM,QAAA,EAAA,OAAA,EAAK;AAAA,SAAA,EAAK,CAAA,EAAK,CAAA;AAAA,wBACpEA,eAAC,OAAA,EAAA,EACE,QAAA,EAAA,KAAA,CAAM,IAAI,CAAC,IAAA,qCACT,IAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAAA,cAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAM,KAAA,EAAO,eAAK,KAAA,EAAM,CAAA;AAAA,0BAC5BA,cAAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,CAAK,YAAA,IAAgB,KAAK,KAAA,EAAM;AAAA,SAAA,EAAA,EAF9B,IAAA,CAAK,KAGd,CACD,CAAA,EACH;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA,GACE;AAAA,GAAA,EACN,CAAA;AAEJ;AAIO,SAAS,eAAe,KAAA,EAA+B;AAC5D,EAAA,uBAAOA,cAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,OAAA,EAAS,GAAG,KAAA,EAAO,CAAA;AAC9C;AACO,SAAS,kBAAkB,KAAA,EAA+B;AAC/D,EAAA,uBAAOA,cAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,UAAA,EAAY,GAAG,KAAA,EAAO,CAAA;AACjD;AACO,SAAS,UAAU,KAAA,EAA+B;AACvD,EAAA,uBAAOA,cAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,MAAA,EAAQ,GAAG,KAAA,EAAO,CAAA;AAC7C;AACO,SAAS,UAAU,KAAA,EAA+B;AACvD,EAAA,uBAAOA,cAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,QAAA,EAAU,GAAG,KAAA,EAAO,CAAA;AAC/C;AACO,SAAS,SAAS,KAAA,EAA+B;AACtD,EAAA,uBAAOA,cAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,OAAA,EAAS,GAAG,KAAA,EAAO,CAAA;AAC9C;AACO,SAAS,oBAAoB,KAAA,EAA+B;AACjE,EAAA,uBAAOA,cAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,YAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AACnD;AAMA,SAAS,YACP,KAAA,EACiC;AACjC,EAAA,OAAO,YAAA,IAAgB,KAAA;AACzB;AAGO,SAAS,SAAS,KAAA,EAAmC;AAC1D,EAAA,OAAO,WAAA,CAAY,KAAK,CAAA,mBACtBA,eAAC,WAAA,EAAA,EAAY,IAAA,EAAK,OAAA,EAAS,GAAG,OAAO,CAAA,mBAErCA,cAAAA,CAAC,cAAA,EAAA,EAAgB,GAAG,KAAA,EAAO,CAAA;AAE/B;AAEO,SAAS,YAAY,KAAA,EAAmC;AAC7D,EAAA,OAAO,WAAA,CAAY,KAAK,CAAA,mBACtBA,eAAC,WAAA,EAAA,EAAY,IAAA,EAAK,UAAA,EAAY,GAAG,OAAO,CAAA,mBAExCA,cAAAA,CAAC,iBAAA,EAAA,EAAmB,GAAG,KAAA,EAAO,CAAA;AAElC;AAEO,IAAM,aAAA,GAAgB;AAEtB,SAAS,cAAc,KAAA,EAAmC;AAC/D,EAAA,OAAO,WAAA,CAAY,KAAK,CAAA,mBACtBA,eAAC,WAAA,EAAA,EAAY,IAAA,EAAK,YAAA,EAAc,GAAG,OAAO,CAAA,mBAE1CA,cAAAA,CAAC,mBAAA,EAAA,EAAqB,GAAG,KAAA,EAAO,CAAA;AAEpC","file":"fusion.cjs","sourcesContent":["import FusionCharts from \"fusioncharts\";\nimport charts from \"fusioncharts/fusioncharts.charts.js\";\nimport ReactFusioncharts from \"react-fusioncharts\";\nimport { useEffect, useState } from \"react\";\n\nlet fusionRegistered = false;\n\nexport interface FusionChartProps {\n type: string;\n dataSource: Record<string, unknown>;\n width?: string | number;\n height?: string | number;\n events?: Record<string, (...args: unknown[]) => void>;\n licenseKey?: string | Promise<string>;\n loadingFallback?: React.ReactNode;\n \"aria-label\"?: string;\n}\n\n/**\n * Generic FusionCharts renderer. Data and optional licensing are injected by the\n * consuming application, so this package never performs an API request.\n */\nexport function FusionChart({\n type,\n dataSource,\n width = \"100%\",\n height = 400,\n events,\n licenseKey,\n loadingFallback = null,\n \"aria-label\": ariaLabel = \"Chart\",\n}: FusionChartProps) {\n const [registered, setRegistered] = useState(fusionRegistered);\n const [licenseReady, setLicenseReady] = useState(!licenseKey);\n\n useEffect(() => {\n if (!fusionRegistered) {\n ReactFusioncharts.fcRoot(FusionCharts, charts);\n fusionRegistered = true;\n }\n setRegistered(true);\n }, []);\n\n useEffect(() => {\n let active = true;\n if (!licenseKey) {\n setLicenseReady(true);\n return undefined;\n }\n setLicenseReady(false);\n void Promise.resolve(licenseKey).then((key) => {\n const options = FusionCharts.options as typeof FusionCharts.options & {\n license: (settings: { key: string; creditLabel: boolean }) => void;\n };\n options.license({ key, creditLabel: false });\n if (active) setLicenseReady(true);\n });\n return () => {\n active = false;\n };\n }, [licenseKey]);\n\n if (!registered || !licenseReady) return loadingFallback;\n\n return (\n <div role=\"img\" aria-label={ariaLabel}>\n <ReactFusioncharts\n type={type}\n width={width}\n height={height}\n dataFormat=\"json\"\n dataSource={dataSource}\n {...(events ? { events } : {})}\n />\n </div>\n );\n}\n\nexport type FusionChartPresetProps = Omit<FusionChartProps, \"type\">;\n\nexport function FusionBarChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"bar2d\" {...props} />;\n}\n\nexport function FusionColumnChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"column2d\" {...props} />;\n}\n\nexport function FusionDoughnutChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"doughnut2d\" {...props} />;\n}\n\nexport const GenericChart = FusionChart;\nexport const FusionDefaultCharts = FusionChart;\nexport const GenericChartCDMS = FusionChart;\nexport const FusionDefaultChartsPF = FusionChart;\nexport const FusionDefaultChartsPH = FusionChart;\n","import MenuItem from \"@mui/material/MenuItem\";\nimport Stack from \"@mui/material/Stack\";\nimport TextField from \"@mui/material/TextField\";\nimport Typography from \"@mui/material/Typography\";\nimport { useMemo, useState, type ReactNode } from \"react\";\nimport {\n FusionChart,\n type FusionChartPresetProps,\n type FusionChartProps,\n} from \"./FusionChart\";\n\nexport interface CommonChartDatum extends Record<string, unknown> {\n label: string;\n value: string | number;\n displayValue?: string;\n color?: string;\n toolText?: string;\n link?: string;\n}\n\nexport interface CommonChartTypeOption {\n value: string;\n label: string;\n}\n\nexport const DEFAULT_CHART_TYPES: readonly CommonChartTypeOption[] = [\n { value: \"column2d\", label: \"Column\" },\n { value: \"bar2d\", label: \"Bar\" },\n { value: \"line\", label: \"Line\" },\n { value: \"area2d\", label: \"Area\" },\n { value: \"pie2d\", label: \"Pie\" },\n { value: \"doughnut2d\", label: \"Doughnut\" },\n];\n\nexport interface CommonChartProps\n extends Omit<FusionChartProps, \"type\" | \"dataSource\"> {\n type?: string;\n title?: ReactNode;\n caption?: string;\n subCaption?: string;\n xAxisName?: string;\n yAxisName?: string;\n items: readonly CommonChartDatum[];\n chartOptions?: Record<string, unknown>;\n selectableTypes?: readonly CommonChartTypeOption[];\n showTypeSelector?: boolean;\n selectorLabel?: string;\n description?: ReactNode;\n showDataTable?: boolean;\n dataTableLabel?: string;\n onTypeChange?: (type: string) => void;\n}\n\n/**\n * Common chart contract used by applications: data, labels and display options\n * are supplied through props and no API or license lookup is performed.\n */\nexport function CommonChart({\n type = \"column2d\",\n title,\n caption,\n subCaption,\n xAxisName,\n yAxisName,\n items,\n chartOptions,\n selectableTypes = DEFAULT_CHART_TYPES,\n showTypeSelector = false,\n selectorLabel = \"Chart type\",\n description,\n showDataTable = false,\n dataTableLabel = \"View chart data\",\n onTypeChange,\n \"aria-label\": ariaLabel,\n ...chartProps\n}: CommonChartProps) {\n const [selectedType, setSelectedType] = useState<string | null>(null);\n const activeType = selectedType ?? type;\n\n const dataSource = useMemo(\n () => ({\n chart: {\n caption: caption ?? (typeof title === \"string\" ? title : undefined),\n subCaption,\n xAxisName,\n yAxisName,\n baseFont: \"Inter, sans-serif\",\n baseFontSize: \"13\",\n showBorder: \"0\",\n showCanvasBorder: \"0\",\n usePlotGradientColor: \"0\",\n showPlotBorder: \"0\",\n showShadow: \"0\",\n showLegend: \"1\",\n legendPosition: \"bottom\",\n labelDisplay: \"rotate\",\n slantLabels: \"1\",\n maxColWidth: \"15\",\n maxBarHeight: \"15\",\n animation: \"1\",\n ...chartOptions,\n },\n data: [...items],\n }),\n [caption, chartOptions, items, subCaption, title, xAxisName, yAxisName],\n );\n\n const accessibleName =\n ariaLabel ?? caption ?? (typeof title === \"string\" ? title : \"Chart\");\n\n return (\n <Stack component=\"section\" spacing={1.5} aria-label={accessibleName}>\n {title || showTypeSelector ? (\n <Stack\n direction={{ xs: \"column\", sm: \"row\" }}\n alignItems={{ xs: \"stretch\", sm: \"center\" }}\n justifyContent=\"space-between\"\n gap={1}\n >\n {title ? <Typography component=\"h2\" variant=\"h6\">{title}</Typography> : null}\n {showTypeSelector ? (\n <TextField\n select\n size=\"small\"\n label={selectorLabel}\n value={activeType}\n onChange={(event) => {\n setSelectedType(event.target.value);\n onTypeChange?.(event.target.value);\n }}\n sx={{ minWidth: 160 }}\n >\n {selectableTypes.map((option) => (\n <MenuItem key={option.value} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </TextField>\n ) : null}\n </Stack>\n ) : null}\n {description ? <Typography color=\"text.secondary\">{description}</Typography> : null}\n <FusionChart\n type={activeType}\n dataSource={dataSource}\n aria-label={accessibleName}\n {...chartProps}\n />\n {showDataTable ? (\n <details>\n <summary>{dataTableLabel}</summary>\n <table>\n <caption>{accessibleName}</caption>\n <thead><tr><th scope=\"col\">Label</th><th scope=\"col\">Value</th></tr></thead>\n <tbody>\n {items.map((item) => (\n <tr key={item.label}>\n <th scope=\"row\">{item.label}</th>\n <td>{item.displayValue ?? item.value}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </details>\n ) : null}\n </Stack>\n );\n}\n\nexport type CommonChartPresetProps = Omit<CommonChartProps, \"type\">;\n\nexport function CommonBarChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"bar2d\" {...props} />;\n}\nexport function CommonColumnChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"column2d\" {...props} />;\n}\nexport function LineChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"line\" {...props} />;\n}\nexport function AreaChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"area2d\" {...props} />;\n}\nexport function PieChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"pie2d\" {...props} />;\n}\nexport function CommonDoughnutChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"doughnut2d\" {...props} />;\n}\n\nexport type CompatibleChartPresetProps =\n | CommonChartPresetProps\n | FusionChartPresetProps;\n\nfunction isRawPreset(\n props: CompatibleChartPresetProps,\n): props is FusionChartPresetProps {\n return \"dataSource\" in props;\n}\n\n/** Accepts both the legacy title/items contract and the raw dataSource contract. */\nexport function BarChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"bar2d\" {...props} />\n ) : (\n <CommonBarChart {...props} />\n );\n}\n\nexport function ColumnChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"column2d\" {...props} />\n ) : (\n <CommonColumnChart {...props} />\n );\n}\n\nexport const ChartColumn2D = ColumnChart;\n\nexport function DoughnutChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"doughnut2d\" {...props} />\n ) : (\n <CommonDoughnutChart {...props} />\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/charts/FusionChart.tsx","../../src/accessibility/controlNames.ts","../../src/inputs/SharedTextField.tsx","../../src/charts/CommonChart.tsx"],"names":["useState","useEffect","ReactFusioncharts","FusionCharts","charts","jsx","useId","TextField","useMemo","Stack","jsxs","Typography","MenuItem"],"mappings":"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","file":"fusion.cjs","sourcesContent":["import FusionCharts from \"fusioncharts\";\nimport charts from \"fusioncharts/fusioncharts.charts.js\";\nimport ReactFusioncharts from \"react-fusioncharts\";\nimport { useEffect, useState } from \"react\";\n\nlet fusionRegistered = false;\n\nexport interface FusionChartProps {\n type: string;\n dataSource: Record<string, unknown>;\n width?: string | number;\n height?: string | number;\n events?: Record<string, (...args: unknown[]) => void>;\n licenseKey?: string | Promise<string>;\n loadingFallback?: React.ReactNode;\n \"aria-label\"?: string;\n}\n\n/**\n * Generic FusionCharts renderer. Data and optional licensing are injected by the\n * consuming application, so this package never performs an API request.\n */\nexport function FusionChart({\n type,\n dataSource,\n width = \"100%\",\n height = 400,\n events,\n licenseKey,\n loadingFallback = null,\n \"aria-label\": ariaLabel = \"Chart\",\n}: FusionChartProps) {\n const [registered, setRegistered] = useState(fusionRegistered);\n const [licenseReady, setLicenseReady] = useState(!licenseKey);\n\n useEffect(() => {\n if (!fusionRegistered) {\n ReactFusioncharts.fcRoot(FusionCharts, charts);\n fusionRegistered = true;\n }\n setRegistered(true);\n }, []);\n\n useEffect(() => {\n let active = true;\n if (!licenseKey) {\n setLicenseReady(true);\n return undefined;\n }\n setLicenseReady(false);\n void Promise.resolve(licenseKey).then((key) => {\n const options = FusionCharts.options as typeof FusionCharts.options & {\n license: (settings: { key: string; creditLabel: boolean }) => void;\n };\n options.license({ key, creditLabel: false });\n if (active) setLicenseReady(true);\n });\n return () => {\n active = false;\n };\n }, [licenseKey]);\n\n if (!registered || !licenseReady) return loadingFallback;\n\n return (\n <div role=\"img\" aria-label={ariaLabel}>\n <ReactFusioncharts\n type={type}\n width={width}\n height={height}\n dataFormat=\"json\"\n dataSource={dataSource}\n {...(events ? { events } : {})}\n />\n </div>\n );\n}\n\nexport type FusionChartPresetProps = Omit<FusionChartProps, \"type\">;\n\nexport function FusionBarChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"bar2d\" {...props} />;\n}\n\nexport function FusionColumnChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"column2d\" {...props} />;\n}\n\nexport function FusionDoughnutChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"doughnut2d\" {...props} />;\n}\n\nexport const GenericChart = FusionChart;\nexport const FusionDefaultCharts = FusionChart;\nexport const GenericChartCDMS = FusionChart;\nexport const FusionDefaultChartsPF = FusionChart;\nexport const FusionDefaultChartsPH = FusionChart;\n","export interface ControlNameOptions {\n label?: unknown;\n ariaLabel?: unknown;\n name?: string;\n id?: string;\n backupName: string;\n}\n\n/** Turns common field identifiers into a readable last-resort accessible name. */\nexport function humanizeControlName(value?: string) {\n const normalized = value\n ?.replace(/[_-]+/g, \" \")\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/\\s+/g, \" \")\n .trim();\n return normalized ? normalized.charAt(0).toUpperCase() + normalized.slice(1) : undefined;\n}\n\n/**\n * A visible string label is associated by the component and therefore wins.\n * Otherwise prefer an explicit aria-label, then a readable name/id, then the\n * component's documented backup name.\n */\nexport function resolveControlName({\n label,\n ariaLabel,\n name,\n id,\n backupName,\n}: ControlNameOptions) {\n if (typeof label === \"string\" && label.trim()) return label.trim();\n if (typeof ariaLabel === \"string\" && ariaLabel.trim()) return ariaLabel.trim();\n return humanizeControlName(name) ?? humanizeControlName(id) ?? backupName;\n}\n","import TextField, { type TextFieldProps } from \"@mui/material/TextField\";\nimport FormControl from \"@mui/material/FormControl\";\nimport { useId } from \"react\";\nimport { resolveControlName } from \"../accessibility/controlNames\";\n\nexport type SharedTextFieldProps = TextFieldProps & {\n /** Accessible name used only when label, aria-label, name and id are absent. */\n backupName?: string;\n};\n\n/** A full-width text field with the legacy library's compact defaults. */\nexport function SharedTextField({\n size = \"small\",\n variant = \"outlined\",\n InputLabelProps,\n inputProps,\n id,\n name,\n label,\n backupName = \"Text input\",\n ...props\n}: SharedTextFieldProps) {\n const generatedId = useId().replace(/:/g, \"\");\n const controlId = id ?? `shared-text-field-${generatedId}`;\n const accessibleName = resolveControlName({\n label,\n ariaLabel: inputProps?.[\"aria-label\"],\n name,\n id,\n backupName,\n });\n return (\n <TextField\n fullWidth\n size={size}\n variant={variant}\n id={controlId}\n name={name}\n label={label}\n InputLabelProps={{ shrink: true, ...InputLabelProps }}\n inputProps={{\n autoComplete: \"off\",\n \"data-gramm\": \"false\",\n ...(!label && !inputProps?.[\"aria-labelledby\"] ? { \"aria-label\": accessibleName } : {}),\n ...inputProps,\n }}\n {...props}\n />\n );\n}\n\nexport default SharedTextField;\n\n/** Visual-compatible version of the legacy `TextField` export. */\nexport function LegacyTextField({\n InputProps,\n inputProps,\n label,\n name,\n id,\n backupName = \"Text input\",\n ...props\n}: SharedTextFieldProps) {\n const accessibleName = resolveControlName({\n label,\n ariaLabel: inputProps?.[\"aria-label\"] ?? InputProps?.inputProps?.[\"aria-label\"],\n name,\n id,\n backupName,\n });\n\n return (\n <TextField\n {...props}\n label={label}\n name={name}\n id={id}\n InputProps={{\n ...InputProps,\n inputProps: {\n ...InputProps?.inputProps,\n ...inputProps,\n style: {\n padding: \"10px 10px\",\n fontSize: \"14px\",\n ...InputProps?.inputProps?.style,\n ...inputProps?.style,\n },\n ...(!label && !inputProps?.[\"aria-labelledby\"] ? { \"aria-label\": accessibleName } : {}),\n },\n }}\n />\n );\n}\n\nexport type LegacyStyledTextFieldProps = SharedTextFieldProps & {\n errorMessage?: string | null;\n};\n\n/** Visual-compatible version of the legacy `StyledTextField` export. */\nexport function LegacyStyledTextField({\n errorMessage = null,\n variant = \"outlined\",\n size = \"small\",\n disabled = false,\n InputLabelProps,\n inputProps,\n sx,\n ...props\n}: LegacyStyledTextFieldProps) {\n return (\n <FormControl\n style={{ width: \"100%\", border: \"none\" }}\n error={Boolean(errorMessage && errorMessage.length > 0)}\n >\n <SharedTextField\n variant={variant}\n size={size}\n disabled={disabled}\n InputLabelProps={{\n shrink: true,\n sx: {\n color: \"#000\",\n fontSize: 18,\n background: \"#fff\",\n px: 0.5,\n zIndex: 1,\n letterSpacing: \"0.5px\",\n },\n ...InputLabelProps,\n }}\n sx={{\n \"& .MuiOutlinedInput-root\": { borderRadius: \"6px\" },\n \"& .MuiInputLabel-root\": {\n color: \"#000\",\n fontSize: 18,\n background: \"#fff\",\n px: 0.5,\n zIndex: 1,\n letterSpacing: \"0.5px\",\n },\n \"& .MuiInputLabel-shrink\": {\n transform: \"translate(11px, -9px) scale(0.75)\",\n background: \"#fff\",\n px: 0.5,\n zIndex: 1,\n },\n ...sx,\n }}\n inputProps={{\n autoComplete: \"off\",\n \"data-gramm\": \"false\",\n style: { fontSize: \"16px\", padding: \"14px 12px\", ...inputProps?.style },\n ...inputProps,\n }}\n {...props}\n />\n </FormControl>\n );\n}\n","import MenuItem from \"@mui/material/MenuItem\";\nimport Stack from \"@mui/material/Stack\";\nimport Typography from \"@mui/material/Typography\";\nimport { useMemo, useState, type ReactNode } from \"react\";\nimport { SharedTextField } from \"../inputs/SharedTextField\";\nimport {\n FusionChart,\n type FusionChartPresetProps,\n type FusionChartProps,\n} from \"./FusionChart\";\n\nexport interface CommonChartDatum extends Record<string, unknown> {\n label: string;\n value: string | number;\n displayValue?: string;\n color?: string;\n toolText?: string;\n link?: string;\n}\n\nexport interface CommonChartTypeOption {\n value: string;\n label: string;\n}\n\nexport const DEFAULT_CHART_TYPES: readonly CommonChartTypeOption[] = [\n { value: \"column2d\", label: \"Column\" },\n { value: \"bar2d\", label: \"Bar\" },\n { value: \"line\", label: \"Line\" },\n { value: \"area2d\", label: \"Area\" },\n { value: \"pie2d\", label: \"Pie\" },\n { value: \"doughnut2d\", label: \"Doughnut\" },\n];\n\nexport interface CommonChartProps\n extends Omit<FusionChartProps, \"type\" | \"dataSource\"> {\n type?: string;\n title?: ReactNode;\n caption?: string;\n subCaption?: string;\n xAxisName?: string;\n yAxisName?: string;\n items: readonly CommonChartDatum[];\n chartOptions?: Record<string, unknown>;\n selectableTypes?: readonly CommonChartTypeOption[];\n showTypeSelector?: boolean;\n selectorLabel?: string;\n description?: ReactNode;\n showDataTable?: boolean;\n dataTableLabel?: string;\n onTypeChange?: (type: string) => void;\n}\n\n/**\n * Common chart contract used by applications: data, labels and display options\n * are supplied through props and no API or license lookup is performed.\n */\nexport function CommonChart({\n type = \"column2d\",\n title,\n caption,\n subCaption,\n xAxisName,\n yAxisName,\n items,\n chartOptions,\n selectableTypes = DEFAULT_CHART_TYPES,\n showTypeSelector = false,\n selectorLabel = \"Chart type\",\n description,\n showDataTable = false,\n dataTableLabel = \"View chart data\",\n onTypeChange,\n \"aria-label\": ariaLabel,\n ...chartProps\n}: CommonChartProps) {\n const [selectedType, setSelectedType] = useState<string | null>(null);\n const activeType = selectedType ?? type;\n\n const dataSource = useMemo(\n () => ({\n chart: {\n caption: caption ?? (typeof title === \"string\" ? title : undefined),\n subCaption,\n xAxisName,\n yAxisName,\n baseFont: \"Inter, sans-serif\",\n baseFontSize: \"13\",\n showBorder: \"0\",\n showCanvasBorder: \"0\",\n usePlotGradientColor: \"0\",\n showPlotBorder: \"0\",\n showShadow: \"0\",\n showLegend: \"1\",\n legendPosition: \"bottom\",\n labelDisplay: \"rotate\",\n slantLabels: \"1\",\n maxColWidth: \"15\",\n maxBarHeight: \"15\",\n animation: \"1\",\n ...chartOptions,\n },\n data: [...items],\n }),\n [caption, chartOptions, items, subCaption, title, xAxisName, yAxisName],\n );\n\n const accessibleName =\n ariaLabel ?? caption ?? (typeof title === \"string\" ? title : \"Chart\");\n\n return (\n <Stack component=\"section\" spacing={1.5} aria-label={accessibleName}>\n {title || showTypeSelector ? (\n <Stack\n direction={{ xs: \"column\", sm: \"row\" }}\n alignItems={{ xs: \"stretch\", sm: \"center\" }}\n justifyContent=\"space-between\"\n gap={1}\n >\n {title ? <Typography component=\"h2\" variant=\"h6\">{title}</Typography> : null}\n {showTypeSelector ? (\n <SharedTextField\n select\n size=\"small\"\n label={selectorLabel}\n value={activeType}\n onChange={(event) => {\n setSelectedType(event.target.value);\n onTypeChange?.(event.target.value);\n }}\n sx={{ minWidth: 160 }}\n >\n {selectableTypes.map((option) => (\n <MenuItem key={option.value} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </SharedTextField>\n ) : null}\n </Stack>\n ) : null}\n {description ? <Typography color=\"text.secondary\">{description}</Typography> : null}\n <FusionChart\n type={activeType}\n dataSource={dataSource}\n aria-label={accessibleName}\n {...chartProps}\n />\n {showDataTable ? (\n <details>\n <summary>{dataTableLabel}</summary>\n <table>\n <caption>{accessibleName}</caption>\n <thead><tr><th scope=\"col\">Label</th><th scope=\"col\">Value</th></tr></thead>\n <tbody>\n {items.map((item) => (\n <tr key={item.label}>\n <th scope=\"row\">{item.label}</th>\n <td>{item.displayValue ?? item.value}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </details>\n ) : null}\n </Stack>\n );\n}\n\nexport type CommonChartPresetProps = Omit<CommonChartProps, \"type\">;\n\nexport function CommonBarChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"bar2d\" {...props} />;\n}\nexport function CommonColumnChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"column2d\" {...props} />;\n}\nexport function LineChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"line\" {...props} />;\n}\nexport function AreaChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"area2d\" {...props} />;\n}\nexport function PieChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"pie2d\" {...props} />;\n}\nexport function CommonDoughnutChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"doughnut2d\" {...props} />;\n}\n\nexport type CompatibleChartPresetProps =\n | CommonChartPresetProps\n | FusionChartPresetProps;\n\nfunction isRawPreset(\n props: CompatibleChartPresetProps,\n): props is FusionChartPresetProps {\n return \"dataSource\" in props;\n}\n\n/** Accepts both the legacy title/items contract and the raw dataSource contract. */\nexport function BarChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"bar2d\" {...props} />\n ) : (\n <CommonBarChart {...props} />\n );\n}\n\nexport function ColumnChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"column2d\" {...props} />\n ) : (\n <CommonColumnChart {...props} />\n );\n}\n\nexport const ChartColumn2D = ColumnChart;\n\nexport function DoughnutChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"doughnut2d\" {...props} />\n ) : (\n <CommonDoughnutChart {...props} />\n );\n}\n"]}
|
package/dist/charts/fusion.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
4
|
interface FusionChartProps {
|
|
@@ -15,11 +15,11 @@ interface FusionChartProps {
|
|
|
15
15
|
* Generic FusionCharts renderer. Data and optional licensing are injected by the
|
|
16
16
|
* consuming application, so this package never performs an API request.
|
|
17
17
|
*/
|
|
18
|
-
declare function FusionChart({ type, dataSource, width, height, events, licenseKey, loadingFallback, "aria-label": ariaLabel, }: FusionChartProps): string | number | boolean | Iterable<
|
|
18
|
+
declare function FusionChart({ type, dataSource, width, height, events, licenseKey, loadingFallback, "aria-label": ariaLabel, }: FusionChartProps): string | number | boolean | Iterable<React$1.ReactNode> | React$1.JSX.Element | null;
|
|
19
19
|
type FusionChartPresetProps = Omit<FusionChartProps, "type">;
|
|
20
|
-
declare function FusionBarChart(props: FusionChartPresetProps):
|
|
21
|
-
declare function FusionColumnChart(props: FusionChartPresetProps):
|
|
22
|
-
declare function FusionDoughnutChart(props: FusionChartPresetProps):
|
|
20
|
+
declare function FusionBarChart(props: FusionChartPresetProps): React$1.JSX.Element;
|
|
21
|
+
declare function FusionColumnChart(props: FusionChartPresetProps): React$1.JSX.Element;
|
|
22
|
+
declare function FusionDoughnutChart(props: FusionChartPresetProps): React$1.JSX.Element;
|
|
23
23
|
declare const GenericChart: typeof FusionChart;
|
|
24
24
|
declare const FusionDefaultCharts: typeof FusionChart;
|
|
25
25
|
declare const GenericChartCDMS: typeof FusionChart;
|
|
@@ -60,19 +60,19 @@ interface CommonChartProps extends Omit<FusionChartProps, "type" | "dataSource">
|
|
|
60
60
|
* Common chart contract used by applications: data, labels and display options
|
|
61
61
|
* are supplied through props and no API or license lookup is performed.
|
|
62
62
|
*/
|
|
63
|
-
declare function CommonChart({ type, title, caption, subCaption, xAxisName, yAxisName, items, chartOptions, selectableTypes, showTypeSelector, selectorLabel, description, showDataTable, dataTableLabel, onTypeChange, "aria-label": ariaLabel, ...chartProps }: CommonChartProps):
|
|
63
|
+
declare function CommonChart({ type, title, caption, subCaption, xAxisName, yAxisName, items, chartOptions, selectableTypes, showTypeSelector, selectorLabel, description, showDataTable, dataTableLabel, onTypeChange, "aria-label": ariaLabel, ...chartProps }: CommonChartProps): React$1.JSX.Element;
|
|
64
64
|
type CommonChartPresetProps = Omit<CommonChartProps, "type">;
|
|
65
|
-
declare function CommonBarChart(props: CommonChartPresetProps):
|
|
66
|
-
declare function CommonColumnChart(props: CommonChartPresetProps):
|
|
67
|
-
declare function LineChart(props: CommonChartPresetProps):
|
|
68
|
-
declare function AreaChart(props: CommonChartPresetProps):
|
|
69
|
-
declare function PieChart(props: CommonChartPresetProps):
|
|
70
|
-
declare function CommonDoughnutChart(props: CommonChartPresetProps):
|
|
65
|
+
declare function CommonBarChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
66
|
+
declare function CommonColumnChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
67
|
+
declare function LineChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
68
|
+
declare function AreaChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
69
|
+
declare function PieChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
70
|
+
declare function CommonDoughnutChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
71
71
|
type CompatibleChartPresetProps = CommonChartPresetProps | FusionChartPresetProps;
|
|
72
72
|
/** Accepts both the legacy title/items contract and the raw dataSource contract. */
|
|
73
|
-
declare function BarChart(props: CompatibleChartPresetProps):
|
|
74
|
-
declare function ColumnChart(props: CompatibleChartPresetProps):
|
|
73
|
+
declare function BarChart(props: CompatibleChartPresetProps): React$1.JSX.Element;
|
|
74
|
+
declare function ColumnChart(props: CompatibleChartPresetProps): React$1.JSX.Element;
|
|
75
75
|
declare const ChartColumn2D: typeof ColumnChart;
|
|
76
|
-
declare function DoughnutChart(props: CompatibleChartPresetProps):
|
|
76
|
+
declare function DoughnutChart(props: CompatibleChartPresetProps): React$1.JSX.Element;
|
|
77
77
|
|
|
78
78
|
export { AreaChart, BarChart, ChartColumn2D, ColumnChart, CommonBarChart, CommonChart, type CommonChartDatum, type CommonChartPresetProps, type CommonChartProps, type CommonChartTypeOption, CommonColumnChart, CommonDoughnutChart, type CompatibleChartPresetProps, DEFAULT_CHART_TYPES, DoughnutChart, FusionBarChart, FusionChart, type FusionChartPresetProps, type FusionChartProps, FusionColumnChart, FusionDefaultCharts, FusionDefaultChartsPF, FusionDefaultChartsPH, FusionDoughnutChart, GenericChart, GenericChartCDMS, LineChart, PieChart };
|
package/dist/charts/fusion.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
4
|
interface FusionChartProps {
|
|
@@ -15,11 +15,11 @@ interface FusionChartProps {
|
|
|
15
15
|
* Generic FusionCharts renderer. Data and optional licensing are injected by the
|
|
16
16
|
* consuming application, so this package never performs an API request.
|
|
17
17
|
*/
|
|
18
|
-
declare function FusionChart({ type, dataSource, width, height, events, licenseKey, loadingFallback, "aria-label": ariaLabel, }: FusionChartProps): string | number | boolean | Iterable<
|
|
18
|
+
declare function FusionChart({ type, dataSource, width, height, events, licenseKey, loadingFallback, "aria-label": ariaLabel, }: FusionChartProps): string | number | boolean | Iterable<React$1.ReactNode> | React$1.JSX.Element | null;
|
|
19
19
|
type FusionChartPresetProps = Omit<FusionChartProps, "type">;
|
|
20
|
-
declare function FusionBarChart(props: FusionChartPresetProps):
|
|
21
|
-
declare function FusionColumnChart(props: FusionChartPresetProps):
|
|
22
|
-
declare function FusionDoughnutChart(props: FusionChartPresetProps):
|
|
20
|
+
declare function FusionBarChart(props: FusionChartPresetProps): React$1.JSX.Element;
|
|
21
|
+
declare function FusionColumnChart(props: FusionChartPresetProps): React$1.JSX.Element;
|
|
22
|
+
declare function FusionDoughnutChart(props: FusionChartPresetProps): React$1.JSX.Element;
|
|
23
23
|
declare const GenericChart: typeof FusionChart;
|
|
24
24
|
declare const FusionDefaultCharts: typeof FusionChart;
|
|
25
25
|
declare const GenericChartCDMS: typeof FusionChart;
|
|
@@ -60,19 +60,19 @@ interface CommonChartProps extends Omit<FusionChartProps, "type" | "dataSource">
|
|
|
60
60
|
* Common chart contract used by applications: data, labels and display options
|
|
61
61
|
* are supplied through props and no API or license lookup is performed.
|
|
62
62
|
*/
|
|
63
|
-
declare function CommonChart({ type, title, caption, subCaption, xAxisName, yAxisName, items, chartOptions, selectableTypes, showTypeSelector, selectorLabel, description, showDataTable, dataTableLabel, onTypeChange, "aria-label": ariaLabel, ...chartProps }: CommonChartProps):
|
|
63
|
+
declare function CommonChart({ type, title, caption, subCaption, xAxisName, yAxisName, items, chartOptions, selectableTypes, showTypeSelector, selectorLabel, description, showDataTable, dataTableLabel, onTypeChange, "aria-label": ariaLabel, ...chartProps }: CommonChartProps): React$1.JSX.Element;
|
|
64
64
|
type CommonChartPresetProps = Omit<CommonChartProps, "type">;
|
|
65
|
-
declare function CommonBarChart(props: CommonChartPresetProps):
|
|
66
|
-
declare function CommonColumnChart(props: CommonChartPresetProps):
|
|
67
|
-
declare function LineChart(props: CommonChartPresetProps):
|
|
68
|
-
declare function AreaChart(props: CommonChartPresetProps):
|
|
69
|
-
declare function PieChart(props: CommonChartPresetProps):
|
|
70
|
-
declare function CommonDoughnutChart(props: CommonChartPresetProps):
|
|
65
|
+
declare function CommonBarChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
66
|
+
declare function CommonColumnChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
67
|
+
declare function LineChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
68
|
+
declare function AreaChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
69
|
+
declare function PieChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
70
|
+
declare function CommonDoughnutChart(props: CommonChartPresetProps): React$1.JSX.Element;
|
|
71
71
|
type CompatibleChartPresetProps = CommonChartPresetProps | FusionChartPresetProps;
|
|
72
72
|
/** Accepts both the legacy title/items contract and the raw dataSource contract. */
|
|
73
|
-
declare function BarChart(props: CompatibleChartPresetProps):
|
|
74
|
-
declare function ColumnChart(props: CompatibleChartPresetProps):
|
|
73
|
+
declare function BarChart(props: CompatibleChartPresetProps): React$1.JSX.Element;
|
|
74
|
+
declare function ColumnChart(props: CompatibleChartPresetProps): React$1.JSX.Element;
|
|
75
75
|
declare const ChartColumn2D: typeof ColumnChart;
|
|
76
|
-
declare function DoughnutChart(props: CompatibleChartPresetProps):
|
|
76
|
+
declare function DoughnutChart(props: CompatibleChartPresetProps): React$1.JSX.Element;
|
|
77
77
|
|
|
78
78
|
export { AreaChart, BarChart, ChartColumn2D, ColumnChart, CommonBarChart, CommonChart, type CommonChartDatum, type CommonChartPresetProps, type CommonChartProps, type CommonChartTypeOption, CommonColumnChart, CommonDoughnutChart, type CompatibleChartPresetProps, DEFAULT_CHART_TYPES, DoughnutChart, FusionBarChart, FusionChart, type FusionChartPresetProps, type FusionChartProps, FusionColumnChart, FusionDefaultCharts, FusionDefaultChartsPF, FusionDefaultChartsPH, FusionDoughnutChart, GenericChart, GenericChartCDMS, LineChart, PieChart };
|
package/dist/charts/fusion.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import FusionCharts from 'fusioncharts';
|
|
2
2
|
import charts from 'fusioncharts/fusioncharts.charts.js';
|
|
3
3
|
import ReactFusioncharts from 'react-fusioncharts';
|
|
4
|
-
import { useState, useEffect, useMemo } from 'react';
|
|
4
|
+
import { useState, useEffect, useMemo, useId } from 'react';
|
|
5
5
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
6
|
import MenuItem from '@mui/material/MenuItem';
|
|
7
7
|
import Stack from '@mui/material/Stack';
|
|
8
|
-
import TextField from '@mui/material/TextField';
|
|
9
8
|
import Typography from '@mui/material/Typography';
|
|
9
|
+
import TextField from '@mui/material/TextField';
|
|
10
|
+
import '@mui/material/FormControl';
|
|
10
11
|
|
|
11
12
|
// src/charts/FusionChart.tsx
|
|
12
13
|
var fusionRegistered = false;
|
|
@@ -72,6 +73,63 @@ var FusionDefaultCharts = FusionChart;
|
|
|
72
73
|
var GenericChartCDMS = FusionChart;
|
|
73
74
|
var FusionDefaultChartsPF = FusionChart;
|
|
74
75
|
var FusionDefaultChartsPH = FusionChart;
|
|
76
|
+
|
|
77
|
+
// src/accessibility/controlNames.ts
|
|
78
|
+
function humanizeControlName(value) {
|
|
79
|
+
const normalized = value?.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\s+/g, " ").trim();
|
|
80
|
+
return normalized ? normalized.charAt(0).toUpperCase() + normalized.slice(1) : void 0;
|
|
81
|
+
}
|
|
82
|
+
function resolveControlName({
|
|
83
|
+
label,
|
|
84
|
+
ariaLabel,
|
|
85
|
+
name,
|
|
86
|
+
id,
|
|
87
|
+
backupName
|
|
88
|
+
}) {
|
|
89
|
+
if (typeof label === "string" && label.trim()) return label.trim();
|
|
90
|
+
if (typeof ariaLabel === "string" && ariaLabel.trim()) return ariaLabel.trim();
|
|
91
|
+
return humanizeControlName(name) ?? humanizeControlName(id) ?? backupName;
|
|
92
|
+
}
|
|
93
|
+
function SharedTextField({
|
|
94
|
+
size = "small",
|
|
95
|
+
variant = "outlined",
|
|
96
|
+
InputLabelProps,
|
|
97
|
+
inputProps,
|
|
98
|
+
id,
|
|
99
|
+
name,
|
|
100
|
+
label,
|
|
101
|
+
backupName = "Text input",
|
|
102
|
+
...props
|
|
103
|
+
}) {
|
|
104
|
+
const generatedId = useId().replace(/:/g, "");
|
|
105
|
+
const controlId = id ?? `shared-text-field-${generatedId}`;
|
|
106
|
+
const accessibleName = resolveControlName({
|
|
107
|
+
label,
|
|
108
|
+
ariaLabel: inputProps?.["aria-label"],
|
|
109
|
+
name,
|
|
110
|
+
id,
|
|
111
|
+
backupName
|
|
112
|
+
});
|
|
113
|
+
return /* @__PURE__ */ jsx(
|
|
114
|
+
TextField,
|
|
115
|
+
{
|
|
116
|
+
fullWidth: true,
|
|
117
|
+
size,
|
|
118
|
+
variant,
|
|
119
|
+
id: controlId,
|
|
120
|
+
name,
|
|
121
|
+
label,
|
|
122
|
+
InputLabelProps: { shrink: true, ...InputLabelProps },
|
|
123
|
+
inputProps: {
|
|
124
|
+
autoComplete: "off",
|
|
125
|
+
"data-gramm": "false",
|
|
126
|
+
...!label && !inputProps?.["aria-labelledby"] ? { "aria-label": accessibleName } : {},
|
|
127
|
+
...inputProps
|
|
128
|
+
},
|
|
129
|
+
...props
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
}
|
|
75
133
|
var DEFAULT_CHART_TYPES = [
|
|
76
134
|
{ value: "column2d", label: "Column" },
|
|
77
135
|
{ value: "bar2d", label: "Bar" },
|
|
@@ -140,7 +198,7 @@ function CommonChart({
|
|
|
140
198
|
children: [
|
|
141
199
|
title ? /* @__PURE__ */ jsx(Typography, { component: "h2", variant: "h6", children: title }) : null,
|
|
142
200
|
showTypeSelector ? /* @__PURE__ */ jsx(
|
|
143
|
-
|
|
201
|
+
SharedTextField,
|
|
144
202
|
{
|
|
145
203
|
select: true,
|
|
146
204
|
size: "small",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/charts/FusionChart.tsx","../../src/charts/CommonChart.tsx"],"names":["useState","jsx"],"mappings":";;;;;;;;;;;AAKA,IAAI,gBAAA,GAAmB,KAAA;AAiBhB,SAAS,WAAA,CAAY;AAAA,EAC1B,IAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA,GAAQ,MAAA;AAAA,EACR,MAAA,GAAS,GAAA;AAAA,EACT,MAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB,cAAc,SAAA,GAAY;AAC5B,CAAA,EAAqB;AACnB,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,gBAAgB,CAAA;AAC7D,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,QAAA,CAAS,CAAC,UAAU,CAAA;AAE5D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,gBAAA,EAAkB;AACrB,MAAA,iBAAA,CAAkB,MAAA,CAAO,cAAc,MAAM,CAAA;AAC7C,MAAA,gBAAA,GAAmB,IAAA;AAAA,IACrB;AACA,IAAA,aAAA,CAAc,IAAI,CAAA;AAAA,EACpB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,MAAA,GAAS,IAAA;AACb,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,eAAA,CAAgB,KAAK,CAAA;AACrB,IAAA,KAAK,QAAQ,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAA,CAAK,CAAC,GAAA,KAAQ;AAC7C,MAAA,MAAM,UAAU,YAAA,CAAa,OAAA;AAG7B,MAAA,OAAA,CAAQ,OAAA,CAAQ,EAAE,GAAA,EAAK,WAAA,EAAa,OAAO,CAAA;AAC3C,MAAA,IAAI,MAAA,kBAAwB,IAAI,CAAA;AAAA,IAClC,CAAC,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAA,MAAA,GAAS,KAAA;AAAA,IACX,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,IAAI,CAAC,UAAA,IAAc,CAAC,YAAA,EAAc,OAAO,eAAA;AAEzC,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,IAAA,EAAK,KAAA,EAAM,cAAY,SAAA,EAC1B,QAAA,kBAAA,GAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA,EAAW,MAAA;AAAA,MACX,UAAA;AAAA,MACC,GAAI,MAAA,GAAS,EAAE,MAAA,KAAW;AAAC;AAAA,GAC9B,EACF,CAAA;AAEJ;AAIO,SAAS,eAAe,KAAA,EAA+B;AAC5D,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,OAAA,EAAS,GAAG,KAAA,EAAO,CAAA;AAC9C;AAEO,SAAS,kBAAkB,KAAA,EAA+B;AAC/D,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,UAAA,EAAY,GAAG,KAAA,EAAO,CAAA;AACjD;AAEO,SAAS,oBAAoB,KAAA,EAA+B;AACjE,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,YAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AACnD;AAEO,IAAM,YAAA,GAAe;AACrB,IAAM,mBAAA,GAAsB;AAC5B,IAAM,gBAAA,GAAmB;AACzB,IAAM,qBAAA,GAAwB;AAC9B,IAAM,qBAAA,GAAwB;ACvE9B,IAAM,mBAAA,GAAwD;AAAA,EACnE,EAAE,KAAA,EAAO,UAAA,EAAY,KAAA,EAAO,QAAA,EAAS;AAAA,EACrC,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,KAAA,EAAM;AAAA,EAC/B,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAO;AAAA,EAC/B,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,MAAA,EAAO;AAAA,EACjC,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,KAAA,EAAM;AAAA,EAC/B,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,UAAA;AAChC;AAyBO,SAAS,WAAA,CAAY;AAAA,EAC1B,IAAA,GAAO,UAAA;AAAA,EACP,KAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,eAAA,GAAkB,mBAAA;AAAA,EAClB,gBAAA,GAAmB,KAAA;AAAA,EACnB,aAAA,GAAgB,YAAA;AAAA,EAChB,WAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,cAAA,GAAiB,iBAAA;AAAA,EACjB,YAAA;AAAA,EACA,YAAA,EAAc,SAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,SAAwB,IAAI,CAAA;AACpE,EAAA,MAAM,aAAa,YAAA,IAAgB,IAAA;AAEnC,EAAA,MAAM,UAAA,GAAa,OAAA;AAAA,IACjB,OAAO;AAAA,MACL,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,OAAA,KAAY,OAAO,KAAA,KAAU,WAAW,KAAA,GAAQ,MAAA,CAAA;AAAA,QACzD,UAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA;AAAA,QACA,QAAA,EAAU,mBAAA;AAAA,QACV,YAAA,EAAc,IAAA;AAAA,QACd,UAAA,EAAY,GAAA;AAAA,QACZ,gBAAA,EAAkB,GAAA;AAAA,QAClB,oBAAA,EAAsB,GAAA;AAAA,QACtB,cAAA,EAAgB,GAAA;AAAA,QAChB,UAAA,EAAY,GAAA;AAAA,QACZ,UAAA,EAAY,GAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,YAAA,EAAc,QAAA;AAAA,QACd,WAAA,EAAa,GAAA;AAAA,QACb,WAAA,EAAa,IAAA;AAAA,QACb,YAAA,EAAc,IAAA;AAAA,QACd,SAAA,EAAW,GAAA;AAAA,QACX,GAAG;AAAA,OACL;AAAA,MACA,IAAA,EAAM,CAAC,GAAG,KAAK;AAAA,KACjB,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,YAAA,EAAc,OAAO,UAAA,EAAY,KAAA,EAAO,WAAW,SAAS;AAAA,GACxE;AAEA,EAAA,MAAM,iBACJ,SAAA,IAAa,OAAA,KAAY,OAAO,KAAA,KAAU,WAAW,KAAA,GAAQ,OAAA,CAAA;AAE/D,EAAA,4BACG,KAAA,EAAA,EAAM,SAAA,EAAU,WAAU,OAAA,EAAS,GAAA,EAAK,cAAY,cAAA,EAClD,QAAA,EAAA;AAAA,IAAA,KAAA,IAAS,gBAAA,mBACR,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAE,EAAA,EAAI,QAAA,EAAU,IAAI,KAAA,EAAM;AAAA,QACrC,UAAA,EAAY,EAAE,EAAA,EAAI,SAAA,EAAW,IAAI,QAAA,EAAS;AAAA,QAC1C,cAAA,EAAe,eAAA;AAAA,QACf,GAAA,EAAK,CAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,UAAA,KAAA,mBAAQC,IAAC,UAAA,EAAA,EAAW,SAAA,EAAU,MAAK,OAAA,EAAQ,IAAA,EAAM,iBAAM,CAAA,GAAgB,IAAA;AAAA,UACvE,mCACCA,GAAAA;AAAA,YAAC,SAAA;AAAA,YAAA;AAAA,cACC,MAAA,EAAM,IAAA;AAAA,cACN,IAAA,EAAK,OAAA;AAAA,cACL,KAAA,EAAO,aAAA;AAAA,cACP,KAAA,EAAO,UAAA;AAAA,cACP,QAAA,EAAU,CAAC,KAAA,KAAU;AACnB,gBAAA,eAAA,CAAgB,KAAA,CAAM,OAAO,KAAK,CAAA;AAClC,gBAAA,YAAA,GAAe,KAAA,CAAM,OAAO,KAAK,CAAA;AAAA,cACnC,CAAA;AAAA,cACA,EAAA,EAAI,EAAE,QAAA,EAAU,GAAA,EAAI;AAAA,cAEnB,QAAA,EAAA,eAAA,CAAgB,GAAA,CAAI,CAAC,MAAA,qBACpBA,GAAAA,CAAC,QAAA,EAAA,EAA4B,KAAA,EAAO,MAAA,CAAO,KAAA,EACxC,QAAA,EAAA,MAAA,CAAO,KAAA,EAAA,EADK,MAAA,CAAO,KAEtB,CACD;AAAA;AAAA,WACH,GACE;AAAA;AAAA;AAAA,KACN,GACE,IAAA;AAAA,IACH,8BAAcA,GAAAA,CAAC,cAAW,KAAA,EAAM,gBAAA,EAAkB,uBAAY,CAAA,GAAgB,IAAA;AAAA,oBAC/EA,GAAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,UAAA;AAAA,QACN,UAAA;AAAA,QACA,YAAA,EAAY,cAAA;AAAA,QACX,GAAG;AAAA;AAAA,KACN;AAAA,IACC,aAAA,wBACE,SAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAAA,GAAAA,CAAC,aAAS,QAAA,EAAA,cAAA,EAAe,CAAA;AAAA,2BACxB,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAAA,GAAAA,CAAC,aAAS,QAAA,EAAA,cAAA,EAAe,CAAA;AAAA,wBACzBA,GAAAA,CAAC,OAAA,EAAA,EAAM,QAAA,kBAAA,IAAA,CAAC,IAAA,EAAA,EAAG,QAAA,EAAA;AAAA,0BAAAA,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAM,KAAA,EAAM,QAAA,EAAA,OAAA,EAAK,CAAA;AAAA,0BAAKA,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAM,OAAM,QAAA,EAAA,OAAA,EAAK;AAAA,SAAA,EAAK,CAAA,EAAK,CAAA;AAAA,wBACpEA,IAAC,OAAA,EAAA,EACE,QAAA,EAAA,KAAA,CAAM,IAAI,CAAC,IAAA,0BACT,IAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAAA,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAM,KAAA,EAAO,eAAK,KAAA,EAAM,CAAA;AAAA,0BAC5BA,GAAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,CAAK,YAAA,IAAgB,KAAK,KAAA,EAAM;AAAA,SAAA,EAAA,EAF9B,IAAA,CAAK,KAGd,CACD,CAAA,EACH;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA,GACE;AAAA,GAAA,EACN,CAAA;AAEJ;AAIO,SAAS,eAAe,KAAA,EAA+B;AAC5D,EAAA,uBAAOA,GAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,OAAA,EAAS,GAAG,KAAA,EAAO,CAAA;AAC9C;AACO,SAAS,kBAAkB,KAAA,EAA+B;AAC/D,EAAA,uBAAOA,GAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,UAAA,EAAY,GAAG,KAAA,EAAO,CAAA;AACjD;AACO,SAAS,UAAU,KAAA,EAA+B;AACvD,EAAA,uBAAOA,GAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,MAAA,EAAQ,GAAG,KAAA,EAAO,CAAA;AAC7C;AACO,SAAS,UAAU,KAAA,EAA+B;AACvD,EAAA,uBAAOA,GAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,QAAA,EAAU,GAAG,KAAA,EAAO,CAAA;AAC/C;AACO,SAAS,SAAS,KAAA,EAA+B;AACtD,EAAA,uBAAOA,GAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,OAAA,EAAS,GAAG,KAAA,EAAO,CAAA;AAC9C;AACO,SAAS,oBAAoB,KAAA,EAA+B;AACjE,EAAA,uBAAOA,GAAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,YAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AACnD;AAMA,SAAS,YACP,KAAA,EACiC;AACjC,EAAA,OAAO,YAAA,IAAgB,KAAA;AACzB;AAGO,SAAS,SAAS,KAAA,EAAmC;AAC1D,EAAA,OAAO,WAAA,CAAY,KAAK,CAAA,mBACtBA,IAAC,WAAA,EAAA,EAAY,IAAA,EAAK,OAAA,EAAS,GAAG,OAAO,CAAA,mBAErCA,GAAAA,CAAC,cAAA,EAAA,EAAgB,GAAG,KAAA,EAAO,CAAA;AAE/B;AAEO,SAAS,YAAY,KAAA,EAAmC;AAC7D,EAAA,OAAO,WAAA,CAAY,KAAK,CAAA,mBACtBA,IAAC,WAAA,EAAA,EAAY,IAAA,EAAK,UAAA,EAAY,GAAG,OAAO,CAAA,mBAExCA,GAAAA,CAAC,iBAAA,EAAA,EAAmB,GAAG,KAAA,EAAO,CAAA;AAElC;AAEO,IAAM,aAAA,GAAgB;AAEtB,SAAS,cAAc,KAAA,EAAmC;AAC/D,EAAA,OAAO,WAAA,CAAY,KAAK,CAAA,mBACtBA,IAAC,WAAA,EAAA,EAAY,IAAA,EAAK,YAAA,EAAc,GAAG,OAAO,CAAA,mBAE1CA,GAAAA,CAAC,mBAAA,EAAA,EAAqB,GAAG,KAAA,EAAO,CAAA;AAEpC","file":"fusion.js","sourcesContent":["import FusionCharts from \"fusioncharts\";\nimport charts from \"fusioncharts/fusioncharts.charts.js\";\nimport ReactFusioncharts from \"react-fusioncharts\";\nimport { useEffect, useState } from \"react\";\n\nlet fusionRegistered = false;\n\nexport interface FusionChartProps {\n type: string;\n dataSource: Record<string, unknown>;\n width?: string | number;\n height?: string | number;\n events?: Record<string, (...args: unknown[]) => void>;\n licenseKey?: string | Promise<string>;\n loadingFallback?: React.ReactNode;\n \"aria-label\"?: string;\n}\n\n/**\n * Generic FusionCharts renderer. Data and optional licensing are injected by the\n * consuming application, so this package never performs an API request.\n */\nexport function FusionChart({\n type,\n dataSource,\n width = \"100%\",\n height = 400,\n events,\n licenseKey,\n loadingFallback = null,\n \"aria-label\": ariaLabel = \"Chart\",\n}: FusionChartProps) {\n const [registered, setRegistered] = useState(fusionRegistered);\n const [licenseReady, setLicenseReady] = useState(!licenseKey);\n\n useEffect(() => {\n if (!fusionRegistered) {\n ReactFusioncharts.fcRoot(FusionCharts, charts);\n fusionRegistered = true;\n }\n setRegistered(true);\n }, []);\n\n useEffect(() => {\n let active = true;\n if (!licenseKey) {\n setLicenseReady(true);\n return undefined;\n }\n setLicenseReady(false);\n void Promise.resolve(licenseKey).then((key) => {\n const options = FusionCharts.options as typeof FusionCharts.options & {\n license: (settings: { key: string; creditLabel: boolean }) => void;\n };\n options.license({ key, creditLabel: false });\n if (active) setLicenseReady(true);\n });\n return () => {\n active = false;\n };\n }, [licenseKey]);\n\n if (!registered || !licenseReady) return loadingFallback;\n\n return (\n <div role=\"img\" aria-label={ariaLabel}>\n <ReactFusioncharts\n type={type}\n width={width}\n height={height}\n dataFormat=\"json\"\n dataSource={dataSource}\n {...(events ? { events } : {})}\n />\n </div>\n );\n}\n\nexport type FusionChartPresetProps = Omit<FusionChartProps, \"type\">;\n\nexport function FusionBarChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"bar2d\" {...props} />;\n}\n\nexport function FusionColumnChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"column2d\" {...props} />;\n}\n\nexport function FusionDoughnutChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"doughnut2d\" {...props} />;\n}\n\nexport const GenericChart = FusionChart;\nexport const FusionDefaultCharts = FusionChart;\nexport const GenericChartCDMS = FusionChart;\nexport const FusionDefaultChartsPF = FusionChart;\nexport const FusionDefaultChartsPH = FusionChart;\n","import MenuItem from \"@mui/material/MenuItem\";\nimport Stack from \"@mui/material/Stack\";\nimport TextField from \"@mui/material/TextField\";\nimport Typography from \"@mui/material/Typography\";\nimport { useMemo, useState, type ReactNode } from \"react\";\nimport {\n FusionChart,\n type FusionChartPresetProps,\n type FusionChartProps,\n} from \"./FusionChart\";\n\nexport interface CommonChartDatum extends Record<string, unknown> {\n label: string;\n value: string | number;\n displayValue?: string;\n color?: string;\n toolText?: string;\n link?: string;\n}\n\nexport interface CommonChartTypeOption {\n value: string;\n label: string;\n}\n\nexport const DEFAULT_CHART_TYPES: readonly CommonChartTypeOption[] = [\n { value: \"column2d\", label: \"Column\" },\n { value: \"bar2d\", label: \"Bar\" },\n { value: \"line\", label: \"Line\" },\n { value: \"area2d\", label: \"Area\" },\n { value: \"pie2d\", label: \"Pie\" },\n { value: \"doughnut2d\", label: \"Doughnut\" },\n];\n\nexport interface CommonChartProps\n extends Omit<FusionChartProps, \"type\" | \"dataSource\"> {\n type?: string;\n title?: ReactNode;\n caption?: string;\n subCaption?: string;\n xAxisName?: string;\n yAxisName?: string;\n items: readonly CommonChartDatum[];\n chartOptions?: Record<string, unknown>;\n selectableTypes?: readonly CommonChartTypeOption[];\n showTypeSelector?: boolean;\n selectorLabel?: string;\n description?: ReactNode;\n showDataTable?: boolean;\n dataTableLabel?: string;\n onTypeChange?: (type: string) => void;\n}\n\n/**\n * Common chart contract used by applications: data, labels and display options\n * are supplied through props and no API or license lookup is performed.\n */\nexport function CommonChart({\n type = \"column2d\",\n title,\n caption,\n subCaption,\n xAxisName,\n yAxisName,\n items,\n chartOptions,\n selectableTypes = DEFAULT_CHART_TYPES,\n showTypeSelector = false,\n selectorLabel = \"Chart type\",\n description,\n showDataTable = false,\n dataTableLabel = \"View chart data\",\n onTypeChange,\n \"aria-label\": ariaLabel,\n ...chartProps\n}: CommonChartProps) {\n const [selectedType, setSelectedType] = useState<string | null>(null);\n const activeType = selectedType ?? type;\n\n const dataSource = useMemo(\n () => ({\n chart: {\n caption: caption ?? (typeof title === \"string\" ? title : undefined),\n subCaption,\n xAxisName,\n yAxisName,\n baseFont: \"Inter, sans-serif\",\n baseFontSize: \"13\",\n showBorder: \"0\",\n showCanvasBorder: \"0\",\n usePlotGradientColor: \"0\",\n showPlotBorder: \"0\",\n showShadow: \"0\",\n showLegend: \"1\",\n legendPosition: \"bottom\",\n labelDisplay: \"rotate\",\n slantLabels: \"1\",\n maxColWidth: \"15\",\n maxBarHeight: \"15\",\n animation: \"1\",\n ...chartOptions,\n },\n data: [...items],\n }),\n [caption, chartOptions, items, subCaption, title, xAxisName, yAxisName],\n );\n\n const accessibleName =\n ariaLabel ?? caption ?? (typeof title === \"string\" ? title : \"Chart\");\n\n return (\n <Stack component=\"section\" spacing={1.5} aria-label={accessibleName}>\n {title || showTypeSelector ? (\n <Stack\n direction={{ xs: \"column\", sm: \"row\" }}\n alignItems={{ xs: \"stretch\", sm: \"center\" }}\n justifyContent=\"space-between\"\n gap={1}\n >\n {title ? <Typography component=\"h2\" variant=\"h6\">{title}</Typography> : null}\n {showTypeSelector ? (\n <TextField\n select\n size=\"small\"\n label={selectorLabel}\n value={activeType}\n onChange={(event) => {\n setSelectedType(event.target.value);\n onTypeChange?.(event.target.value);\n }}\n sx={{ minWidth: 160 }}\n >\n {selectableTypes.map((option) => (\n <MenuItem key={option.value} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </TextField>\n ) : null}\n </Stack>\n ) : null}\n {description ? <Typography color=\"text.secondary\">{description}</Typography> : null}\n <FusionChart\n type={activeType}\n dataSource={dataSource}\n aria-label={accessibleName}\n {...chartProps}\n />\n {showDataTable ? (\n <details>\n <summary>{dataTableLabel}</summary>\n <table>\n <caption>{accessibleName}</caption>\n <thead><tr><th scope=\"col\">Label</th><th scope=\"col\">Value</th></tr></thead>\n <tbody>\n {items.map((item) => (\n <tr key={item.label}>\n <th scope=\"row\">{item.label}</th>\n <td>{item.displayValue ?? item.value}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </details>\n ) : null}\n </Stack>\n );\n}\n\nexport type CommonChartPresetProps = Omit<CommonChartProps, \"type\">;\n\nexport function CommonBarChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"bar2d\" {...props} />;\n}\nexport function CommonColumnChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"column2d\" {...props} />;\n}\nexport function LineChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"line\" {...props} />;\n}\nexport function AreaChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"area2d\" {...props} />;\n}\nexport function PieChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"pie2d\" {...props} />;\n}\nexport function CommonDoughnutChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"doughnut2d\" {...props} />;\n}\n\nexport type CompatibleChartPresetProps =\n | CommonChartPresetProps\n | FusionChartPresetProps;\n\nfunction isRawPreset(\n props: CompatibleChartPresetProps,\n): props is FusionChartPresetProps {\n return \"dataSource\" in props;\n}\n\n/** Accepts both the legacy title/items contract and the raw dataSource contract. */\nexport function BarChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"bar2d\" {...props} />\n ) : (\n <CommonBarChart {...props} />\n );\n}\n\nexport function ColumnChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"column2d\" {...props} />\n ) : (\n <CommonColumnChart {...props} />\n );\n}\n\nexport const ChartColumn2D = ColumnChart;\n\nexport function DoughnutChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"doughnut2d\" {...props} />\n ) : (\n <CommonDoughnutChart {...props} />\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/charts/FusionChart.tsx","../../src/accessibility/controlNames.ts","../../src/inputs/SharedTextField.tsx","../../src/charts/CommonChart.tsx"],"names":["jsx","useState"],"mappings":"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","file":"fusion.js","sourcesContent":["import FusionCharts from \"fusioncharts\";\nimport charts from \"fusioncharts/fusioncharts.charts.js\";\nimport ReactFusioncharts from \"react-fusioncharts\";\nimport { useEffect, useState } from \"react\";\n\nlet fusionRegistered = false;\n\nexport interface FusionChartProps {\n type: string;\n dataSource: Record<string, unknown>;\n width?: string | number;\n height?: string | number;\n events?: Record<string, (...args: unknown[]) => void>;\n licenseKey?: string | Promise<string>;\n loadingFallback?: React.ReactNode;\n \"aria-label\"?: string;\n}\n\n/**\n * Generic FusionCharts renderer. Data and optional licensing are injected by the\n * consuming application, so this package never performs an API request.\n */\nexport function FusionChart({\n type,\n dataSource,\n width = \"100%\",\n height = 400,\n events,\n licenseKey,\n loadingFallback = null,\n \"aria-label\": ariaLabel = \"Chart\",\n}: FusionChartProps) {\n const [registered, setRegistered] = useState(fusionRegistered);\n const [licenseReady, setLicenseReady] = useState(!licenseKey);\n\n useEffect(() => {\n if (!fusionRegistered) {\n ReactFusioncharts.fcRoot(FusionCharts, charts);\n fusionRegistered = true;\n }\n setRegistered(true);\n }, []);\n\n useEffect(() => {\n let active = true;\n if (!licenseKey) {\n setLicenseReady(true);\n return undefined;\n }\n setLicenseReady(false);\n void Promise.resolve(licenseKey).then((key) => {\n const options = FusionCharts.options as typeof FusionCharts.options & {\n license: (settings: { key: string; creditLabel: boolean }) => void;\n };\n options.license({ key, creditLabel: false });\n if (active) setLicenseReady(true);\n });\n return () => {\n active = false;\n };\n }, [licenseKey]);\n\n if (!registered || !licenseReady) return loadingFallback;\n\n return (\n <div role=\"img\" aria-label={ariaLabel}>\n <ReactFusioncharts\n type={type}\n width={width}\n height={height}\n dataFormat=\"json\"\n dataSource={dataSource}\n {...(events ? { events } : {})}\n />\n </div>\n );\n}\n\nexport type FusionChartPresetProps = Omit<FusionChartProps, \"type\">;\n\nexport function FusionBarChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"bar2d\" {...props} />;\n}\n\nexport function FusionColumnChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"column2d\" {...props} />;\n}\n\nexport function FusionDoughnutChart(props: FusionChartPresetProps) {\n return <FusionChart type=\"doughnut2d\" {...props} />;\n}\n\nexport const GenericChart = FusionChart;\nexport const FusionDefaultCharts = FusionChart;\nexport const GenericChartCDMS = FusionChart;\nexport const FusionDefaultChartsPF = FusionChart;\nexport const FusionDefaultChartsPH = FusionChart;\n","export interface ControlNameOptions {\n label?: unknown;\n ariaLabel?: unknown;\n name?: string;\n id?: string;\n backupName: string;\n}\n\n/** Turns common field identifiers into a readable last-resort accessible name. */\nexport function humanizeControlName(value?: string) {\n const normalized = value\n ?.replace(/[_-]+/g, \" \")\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/\\s+/g, \" \")\n .trim();\n return normalized ? normalized.charAt(0).toUpperCase() + normalized.slice(1) : undefined;\n}\n\n/**\n * A visible string label is associated by the component and therefore wins.\n * Otherwise prefer an explicit aria-label, then a readable name/id, then the\n * component's documented backup name.\n */\nexport function resolveControlName({\n label,\n ariaLabel,\n name,\n id,\n backupName,\n}: ControlNameOptions) {\n if (typeof label === \"string\" && label.trim()) return label.trim();\n if (typeof ariaLabel === \"string\" && ariaLabel.trim()) return ariaLabel.trim();\n return humanizeControlName(name) ?? humanizeControlName(id) ?? backupName;\n}\n","import TextField, { type TextFieldProps } from \"@mui/material/TextField\";\nimport FormControl from \"@mui/material/FormControl\";\nimport { useId } from \"react\";\nimport { resolveControlName } from \"../accessibility/controlNames\";\n\nexport type SharedTextFieldProps = TextFieldProps & {\n /** Accessible name used only when label, aria-label, name and id are absent. */\n backupName?: string;\n};\n\n/** A full-width text field with the legacy library's compact defaults. */\nexport function SharedTextField({\n size = \"small\",\n variant = \"outlined\",\n InputLabelProps,\n inputProps,\n id,\n name,\n label,\n backupName = \"Text input\",\n ...props\n}: SharedTextFieldProps) {\n const generatedId = useId().replace(/:/g, \"\");\n const controlId = id ?? `shared-text-field-${generatedId}`;\n const accessibleName = resolveControlName({\n label,\n ariaLabel: inputProps?.[\"aria-label\"],\n name,\n id,\n backupName,\n });\n return (\n <TextField\n fullWidth\n size={size}\n variant={variant}\n id={controlId}\n name={name}\n label={label}\n InputLabelProps={{ shrink: true, ...InputLabelProps }}\n inputProps={{\n autoComplete: \"off\",\n \"data-gramm\": \"false\",\n ...(!label && !inputProps?.[\"aria-labelledby\"] ? { \"aria-label\": accessibleName } : {}),\n ...inputProps,\n }}\n {...props}\n />\n );\n}\n\nexport default SharedTextField;\n\n/** Visual-compatible version of the legacy `TextField` export. */\nexport function LegacyTextField({\n InputProps,\n inputProps,\n label,\n name,\n id,\n backupName = \"Text input\",\n ...props\n}: SharedTextFieldProps) {\n const accessibleName = resolveControlName({\n label,\n ariaLabel: inputProps?.[\"aria-label\"] ?? InputProps?.inputProps?.[\"aria-label\"],\n name,\n id,\n backupName,\n });\n\n return (\n <TextField\n {...props}\n label={label}\n name={name}\n id={id}\n InputProps={{\n ...InputProps,\n inputProps: {\n ...InputProps?.inputProps,\n ...inputProps,\n style: {\n padding: \"10px 10px\",\n fontSize: \"14px\",\n ...InputProps?.inputProps?.style,\n ...inputProps?.style,\n },\n ...(!label && !inputProps?.[\"aria-labelledby\"] ? { \"aria-label\": accessibleName } : {}),\n },\n }}\n />\n );\n}\n\nexport type LegacyStyledTextFieldProps = SharedTextFieldProps & {\n errorMessage?: string | null;\n};\n\n/** Visual-compatible version of the legacy `StyledTextField` export. */\nexport function LegacyStyledTextField({\n errorMessage = null,\n variant = \"outlined\",\n size = \"small\",\n disabled = false,\n InputLabelProps,\n inputProps,\n sx,\n ...props\n}: LegacyStyledTextFieldProps) {\n return (\n <FormControl\n style={{ width: \"100%\", border: \"none\" }}\n error={Boolean(errorMessage && errorMessage.length > 0)}\n >\n <SharedTextField\n variant={variant}\n size={size}\n disabled={disabled}\n InputLabelProps={{\n shrink: true,\n sx: {\n color: \"#000\",\n fontSize: 18,\n background: \"#fff\",\n px: 0.5,\n zIndex: 1,\n letterSpacing: \"0.5px\",\n },\n ...InputLabelProps,\n }}\n sx={{\n \"& .MuiOutlinedInput-root\": { borderRadius: \"6px\" },\n \"& .MuiInputLabel-root\": {\n color: \"#000\",\n fontSize: 18,\n background: \"#fff\",\n px: 0.5,\n zIndex: 1,\n letterSpacing: \"0.5px\",\n },\n \"& .MuiInputLabel-shrink\": {\n transform: \"translate(11px, -9px) scale(0.75)\",\n background: \"#fff\",\n px: 0.5,\n zIndex: 1,\n },\n ...sx,\n }}\n inputProps={{\n autoComplete: \"off\",\n \"data-gramm\": \"false\",\n style: { fontSize: \"16px\", padding: \"14px 12px\", ...inputProps?.style },\n ...inputProps,\n }}\n {...props}\n />\n </FormControl>\n );\n}\n","import MenuItem from \"@mui/material/MenuItem\";\nimport Stack from \"@mui/material/Stack\";\nimport Typography from \"@mui/material/Typography\";\nimport { useMemo, useState, type ReactNode } from \"react\";\nimport { SharedTextField } from \"../inputs/SharedTextField\";\nimport {\n FusionChart,\n type FusionChartPresetProps,\n type FusionChartProps,\n} from \"./FusionChart\";\n\nexport interface CommonChartDatum extends Record<string, unknown> {\n label: string;\n value: string | number;\n displayValue?: string;\n color?: string;\n toolText?: string;\n link?: string;\n}\n\nexport interface CommonChartTypeOption {\n value: string;\n label: string;\n}\n\nexport const DEFAULT_CHART_TYPES: readonly CommonChartTypeOption[] = [\n { value: \"column2d\", label: \"Column\" },\n { value: \"bar2d\", label: \"Bar\" },\n { value: \"line\", label: \"Line\" },\n { value: \"area2d\", label: \"Area\" },\n { value: \"pie2d\", label: \"Pie\" },\n { value: \"doughnut2d\", label: \"Doughnut\" },\n];\n\nexport interface CommonChartProps\n extends Omit<FusionChartProps, \"type\" | \"dataSource\"> {\n type?: string;\n title?: ReactNode;\n caption?: string;\n subCaption?: string;\n xAxisName?: string;\n yAxisName?: string;\n items: readonly CommonChartDatum[];\n chartOptions?: Record<string, unknown>;\n selectableTypes?: readonly CommonChartTypeOption[];\n showTypeSelector?: boolean;\n selectorLabel?: string;\n description?: ReactNode;\n showDataTable?: boolean;\n dataTableLabel?: string;\n onTypeChange?: (type: string) => void;\n}\n\n/**\n * Common chart contract used by applications: data, labels and display options\n * are supplied through props and no API or license lookup is performed.\n */\nexport function CommonChart({\n type = \"column2d\",\n title,\n caption,\n subCaption,\n xAxisName,\n yAxisName,\n items,\n chartOptions,\n selectableTypes = DEFAULT_CHART_TYPES,\n showTypeSelector = false,\n selectorLabel = \"Chart type\",\n description,\n showDataTable = false,\n dataTableLabel = \"View chart data\",\n onTypeChange,\n \"aria-label\": ariaLabel,\n ...chartProps\n}: CommonChartProps) {\n const [selectedType, setSelectedType] = useState<string | null>(null);\n const activeType = selectedType ?? type;\n\n const dataSource = useMemo(\n () => ({\n chart: {\n caption: caption ?? (typeof title === \"string\" ? title : undefined),\n subCaption,\n xAxisName,\n yAxisName,\n baseFont: \"Inter, sans-serif\",\n baseFontSize: \"13\",\n showBorder: \"0\",\n showCanvasBorder: \"0\",\n usePlotGradientColor: \"0\",\n showPlotBorder: \"0\",\n showShadow: \"0\",\n showLegend: \"1\",\n legendPosition: \"bottom\",\n labelDisplay: \"rotate\",\n slantLabels: \"1\",\n maxColWidth: \"15\",\n maxBarHeight: \"15\",\n animation: \"1\",\n ...chartOptions,\n },\n data: [...items],\n }),\n [caption, chartOptions, items, subCaption, title, xAxisName, yAxisName],\n );\n\n const accessibleName =\n ariaLabel ?? caption ?? (typeof title === \"string\" ? title : \"Chart\");\n\n return (\n <Stack component=\"section\" spacing={1.5} aria-label={accessibleName}>\n {title || showTypeSelector ? (\n <Stack\n direction={{ xs: \"column\", sm: \"row\" }}\n alignItems={{ xs: \"stretch\", sm: \"center\" }}\n justifyContent=\"space-between\"\n gap={1}\n >\n {title ? <Typography component=\"h2\" variant=\"h6\">{title}</Typography> : null}\n {showTypeSelector ? (\n <SharedTextField\n select\n size=\"small\"\n label={selectorLabel}\n value={activeType}\n onChange={(event) => {\n setSelectedType(event.target.value);\n onTypeChange?.(event.target.value);\n }}\n sx={{ minWidth: 160 }}\n >\n {selectableTypes.map((option) => (\n <MenuItem key={option.value} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </SharedTextField>\n ) : null}\n </Stack>\n ) : null}\n {description ? <Typography color=\"text.secondary\">{description}</Typography> : null}\n <FusionChart\n type={activeType}\n dataSource={dataSource}\n aria-label={accessibleName}\n {...chartProps}\n />\n {showDataTable ? (\n <details>\n <summary>{dataTableLabel}</summary>\n <table>\n <caption>{accessibleName}</caption>\n <thead><tr><th scope=\"col\">Label</th><th scope=\"col\">Value</th></tr></thead>\n <tbody>\n {items.map((item) => (\n <tr key={item.label}>\n <th scope=\"row\">{item.label}</th>\n <td>{item.displayValue ?? item.value}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </details>\n ) : null}\n </Stack>\n );\n}\n\nexport type CommonChartPresetProps = Omit<CommonChartProps, \"type\">;\n\nexport function CommonBarChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"bar2d\" {...props} />;\n}\nexport function CommonColumnChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"column2d\" {...props} />;\n}\nexport function LineChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"line\" {...props} />;\n}\nexport function AreaChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"area2d\" {...props} />;\n}\nexport function PieChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"pie2d\" {...props} />;\n}\nexport function CommonDoughnutChart(props: CommonChartPresetProps) {\n return <CommonChart type=\"doughnut2d\" {...props} />;\n}\n\nexport type CompatibleChartPresetProps =\n | CommonChartPresetProps\n | FusionChartPresetProps;\n\nfunction isRawPreset(\n props: CompatibleChartPresetProps,\n): props is FusionChartPresetProps {\n return \"dataSource\" in props;\n}\n\n/** Accepts both the legacy title/items contract and the raw dataSource contract. */\nexport function BarChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"bar2d\" {...props} />\n ) : (\n <CommonBarChart {...props} />\n );\n}\n\nexport function ColumnChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"column2d\" {...props} />\n ) : (\n <CommonColumnChart {...props} />\n );\n}\n\nexport const ChartColumn2D = ColumnChart;\n\nexport function DoughnutChart(props: CompatibleChartPresetProps) {\n return isRawPreset(props) ? (\n <FusionChart type=\"doughnut2d\" {...props} />\n ) : (\n <CommonDoughnutChart {...props} />\n );\n}\n"]}
|
package/dist/grids/ag-grid.cjs
CHANGED
|
@@ -7,8 +7,10 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
7
7
|
var FunctionsIcon = require('@mui/icons-material/Functions');
|
|
8
8
|
var InfoOutlinedIcon = require('@mui/icons-material/InfoOutlined');
|
|
9
9
|
var Stack = require('@mui/material/Stack');
|
|
10
|
-
var
|
|
10
|
+
var Button = require('@mui/material/Button');
|
|
11
11
|
var IconButton = require('@mui/material/IconButton');
|
|
12
|
+
var Tooltip = require('@mui/material/Tooltip');
|
|
13
|
+
var styles = require('@mui/material/styles');
|
|
12
14
|
var Box = require('@mui/material/Box');
|
|
13
15
|
|
|
14
16
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -16,8 +18,9 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
16
18
|
var FunctionsIcon__default = /*#__PURE__*/_interopDefault(FunctionsIcon);
|
|
17
19
|
var InfoOutlinedIcon__default = /*#__PURE__*/_interopDefault(InfoOutlinedIcon);
|
|
18
20
|
var Stack__default = /*#__PURE__*/_interopDefault(Stack);
|
|
19
|
-
var
|
|
21
|
+
var Button__default = /*#__PURE__*/_interopDefault(Button);
|
|
20
22
|
var IconButton__default = /*#__PURE__*/_interopDefault(IconButton);
|
|
23
|
+
var Tooltip__default = /*#__PURE__*/_interopDefault(Tooltip);
|
|
21
24
|
var Box__default = /*#__PURE__*/_interopDefault(Box);
|
|
22
25
|
|
|
23
26
|
// src/grids/ag-grid/CustomAgGrid.tsx
|
|
@@ -100,15 +103,89 @@ var CustomGridTable = react.memo(
|
|
|
100
103
|
CustomGridTableComponent
|
|
101
104
|
);
|
|
102
105
|
var AgGridTable = CustomGridTable;
|
|
103
|
-
|
|
106
|
+
var colorOpacity = {
|
|
107
|
+
primary: "#1976d2",
|
|
108
|
+
secondary: "#9c27b0",
|
|
109
|
+
error: "#d32f2f",
|
|
110
|
+
warning: "#ed6c02",
|
|
111
|
+
info: "#0288d1",
|
|
112
|
+
success: "#2e7d32",
|
|
113
|
+
inherit: "#1976d2",
|
|
114
|
+
default: "#1976d2"
|
|
115
|
+
};
|
|
116
|
+
function accessibleText(children) {
|
|
117
|
+
let text = "";
|
|
118
|
+
react.Children.forEach(children, (child) => {
|
|
119
|
+
if (typeof child === "string" || typeof child === "number") {
|
|
120
|
+
text += String(child);
|
|
121
|
+
} else if (react.isValidElement(child)) {
|
|
122
|
+
text += accessibleText(child.props.children);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
return text.trim() || "Button";
|
|
126
|
+
}
|
|
127
|
+
function SharedButton({
|
|
128
|
+
children,
|
|
129
|
+
color = "primary",
|
|
130
|
+
variant,
|
|
131
|
+
disabled = false,
|
|
132
|
+
sx,
|
|
133
|
+
...props
|
|
134
|
+
}) {
|
|
135
|
+
const baseColor = colorOpacity[color] ?? colorOpacity.primary;
|
|
136
|
+
const customSx = variant === "outlined" && !disabled ? {
|
|
137
|
+
textTransform: "capitalize",
|
|
138
|
+
backgroundColor: `${baseColor}20`,
|
|
139
|
+
"&:hover": { backgroundColor: `${baseColor}35` },
|
|
140
|
+
...sx
|
|
141
|
+
} : { textTransform: "capitalize", ...sx };
|
|
142
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
143
|
+
Button__default.default,
|
|
144
|
+
{
|
|
145
|
+
"aria-label": props["aria-label"] ?? accessibleText(children),
|
|
146
|
+
color,
|
|
147
|
+
variant,
|
|
148
|
+
disabled,
|
|
149
|
+
sx: {
|
|
150
|
+
...customSx,
|
|
151
|
+
minWidth: "40px",
|
|
152
|
+
height: "40px",
|
|
153
|
+
padding: "6px",
|
|
154
|
+
borderRadius: "4px"
|
|
155
|
+
},
|
|
156
|
+
...props,
|
|
157
|
+
children
|
|
158
|
+
}
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
function inferIconLabel(children) {
|
|
162
|
+
if (!react.isValidElement(children)) return "Icon Button";
|
|
163
|
+
const type = children.type;
|
|
164
|
+
const name = type.displayName ?? type.name ?? "Icon Button";
|
|
165
|
+
return name.replace(/(Icon|Outlined|Filled|Rounded|Sharp|TwoTone)$/g, "").replace(/([a-z])([A-Z])/g, "$1 $2").toLowerCase();
|
|
166
|
+
}
|
|
167
|
+
function SharedIconButton({ children, ...props }) {
|
|
104
168
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
105
169
|
IconButton__default.default,
|
|
106
170
|
{
|
|
107
|
-
|
|
108
|
-
...props
|
|
171
|
+
"aria-label": props["aria-label"] ?? inferIconLabel(children),
|
|
172
|
+
...props,
|
|
173
|
+
children
|
|
109
174
|
}
|
|
110
175
|
);
|
|
111
176
|
}
|
|
177
|
+
var LightTooltip = styles.styled(({ className, children, ...props }) => {
|
|
178
|
+
const disabled = react.isValidElement(children) && Boolean(children.props.disabled);
|
|
179
|
+
if (disabled) return /* @__PURE__ */ jsxRuntime.jsx("span", { children });
|
|
180
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tooltip__default.default, { ...props, classes: className ? { popper: className } : void 0, children });
|
|
181
|
+
})(({ theme }) => ({
|
|
182
|
+
[`& .${Tooltip.tooltipClasses.tooltip}`]: {
|
|
183
|
+
backgroundColor: theme.palette.common.white,
|
|
184
|
+
color: "rgba(0, 0, 0, 0.87)",
|
|
185
|
+
boxShadow: theme.shadows[1],
|
|
186
|
+
fontSize: 14
|
|
187
|
+
}
|
|
188
|
+
}));
|
|
112
189
|
function CustomGridHeaderCellWithInfo({
|
|
113
190
|
displayName,
|
|
114
191
|
title,
|
|
@@ -128,21 +205,19 @@ function CustomGridHeaderCellWithInfo({
|
|
|
128
205
|
};
|
|
129
206
|
return /* @__PURE__ */ jsxRuntime.jsxs(Stack__default.default, { direction: "row", alignItems: "center", spacing: 0.5, width: "100%", children: [
|
|
130
207
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
131
|
-
|
|
208
|
+
SharedButton,
|
|
132
209
|
{
|
|
133
|
-
|
|
210
|
+
variant: "text",
|
|
134
211
|
disabled: !enableSorting,
|
|
135
212
|
"aria-label": sortLabel,
|
|
136
213
|
onClick: requestSort,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
background: "transparent",
|
|
214
|
+
sx: {
|
|
215
|
+
minWidth: 40,
|
|
216
|
+
px: 0.5,
|
|
141
217
|
color: "inherit",
|
|
142
|
-
font: "inherit",
|
|
143
218
|
fontWeight: 600,
|
|
144
|
-
|
|
145
|
-
|
|
219
|
+
justifyContent: "flex-start",
|
|
220
|
+
whiteSpace: "nowrap"
|
|
146
221
|
},
|
|
147
222
|
children: [
|
|
148
223
|
headerTitle,
|
|
@@ -150,8 +225,8 @@ function CustomGridHeaderCellWithInfo({
|
|
|
150
225
|
]
|
|
151
226
|
}
|
|
152
227
|
),
|
|
153
|
-
info ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
154
|
-
formula ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
228
|
+
info ? /* @__PURE__ */ jsxRuntime.jsx(LightTooltip, { title: info, arrow: true, children: /* @__PURE__ */ jsxRuntime.jsx(SharedIconButton, { "aria-label": infoLabel, size: "small", children: /* @__PURE__ */ jsxRuntime.jsx(InfoOutlinedIcon__default.default, { fontSize: "small" }) }) }) : null,
|
|
229
|
+
formula ? /* @__PURE__ */ jsxRuntime.jsx(LightTooltip, { title: formula, arrow: true, children: /* @__PURE__ */ jsxRuntime.jsx(SharedIconButton, { "aria-label": formulaLabel, size: "small", children: /* @__PURE__ */ jsxRuntime.jsx(FunctionsIcon__default.default, { fontSize: "small" }) }) }) : null
|
|
155
230
|
] });
|
|
156
231
|
}
|
|
157
232
|
function CustomGridTableWrapper({ children, sx, ...props }) {
|