@apipass/design-system 5.8.0 → 6.1.0
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/dist/lib/charts.index.cjs +1 -1
- package/dist/lib/charts.index.js +11 -8
- package/dist/lib/charts.index.js.map +1 -1
- package/dist/lib/embedded-styles.js +2 -2
- package/dist/lib/lib.index.cjs +1 -1
- package/dist/lib/lib.index.js +183 -182
- package/dist/lib/style.css +1 -1
- package/dist/lib/ui/components/DataTable/DataTable.cjs +1 -1
- package/dist/lib/ui/components/DataTable/DataTable.cjs.map +1 -1
- package/dist/lib/ui/components/DataTable/DataTable.js +157 -124
- package/dist/lib/ui/components/DataTable/DataTable.js.map +1 -1
- package/dist/lib/ui/components/charts/BarChart/bar-chart-option.cjs +1 -1
- package/dist/lib/ui/components/charts/BarChart/bar-chart-option.cjs.map +1 -1
- package/dist/lib/ui/components/charts/BarChart/bar-chart-option.js +75 -104
- package/dist/lib/ui/components/charts/BarChart/bar-chart-option.js.map +1 -1
- package/dist/lib/ui/components/charts/ChartLegend/ChartLegend.cjs +1 -1
- package/dist/lib/ui/components/charts/ChartLegend/ChartLegend.cjs.map +1 -1
- package/dist/lib/ui/components/charts/ChartLegend/ChartLegend.js +27 -26
- package/dist/lib/ui/components/charts/ChartLegend/ChartLegend.js.map +1 -1
- package/dist/lib/ui/components/charts/PieChart/PieChart.cjs +2 -0
- package/dist/lib/ui/components/charts/PieChart/PieChart.cjs.map +1 -0
- package/dist/lib/ui/components/charts/PieChart/PieChart.js +177 -0
- package/dist/lib/ui/components/charts/PieChart/PieChart.js.map +1 -0
- package/dist/lib/ui/components/charts/PieChart/pie-chart-option.cjs +2 -0
- package/dist/lib/ui/components/charts/PieChart/pie-chart-option.cjs.map +1 -0
- package/dist/lib/ui/components/charts/PieChart/pie-chart-option.js +124 -0
- package/dist/lib/ui/components/charts/PieChart/pie-chart-option.js.map +1 -0
- package/dist/lib/ui/components/charts/PieChart/pie-chart-slices.cjs +2 -0
- package/dist/lib/ui/components/charts/PieChart/pie-chart-slices.cjs.map +1 -0
- package/dist/lib/ui/components/charts/PieChart/pie-chart-slices.js +65 -0
- package/dist/lib/ui/components/charts/PieChart/pie-chart-slices.js.map +1 -0
- package/dist/lib/ui/components/charts/chart-color-tone.cjs +2 -0
- package/dist/lib/ui/components/charts/chart-color-tone.cjs.map +1 -0
- package/dist/lib/ui/components/charts/chart-color-tone.js +14 -0
- package/dist/lib/ui/components/charts/chart-color-tone.js.map +1 -0
- package/dist/lib/ui/components/charts/chart-label-color.cjs +2 -0
- package/dist/lib/ui/components/charts/chart-label-color.cjs.map +1 -0
- package/dist/lib/ui/components/charts/chart-label-color.js +35 -0
- package/dist/lib/ui/components/charts/chart-label-color.js.map +1 -0
- package/dist/lib/ui/components/charts/chart-palette.cjs +1 -1
- package/dist/lib/ui/components/charts/chart-palette.cjs.map +1 -1
- package/dist/lib/ui/components/charts/chart-palette.js +2 -1
- package/dist/lib/ui/components/charts/chart-palette.js.map +1 -1
- package/dist/lib/ui/components/charts/chart-theme.cjs +1 -1
- package/dist/lib/ui/components/charts/chart-theme.cjs.map +1 -1
- package/dist/lib/ui/components/charts/chart-theme.js +4 -3
- package/dist/lib/ui/components/charts/chart-theme.js.map +1 -1
- package/dist/lib/ui/components/charts/echarts-modules.cjs +1 -1
- package/dist/lib/ui/components/charts/echarts-modules.cjs.map +1 -1
- package/dist/lib/ui/components/charts/echarts-modules.js +11 -9
- package/dist/lib/ui/components/charts/echarts-modules.js.map +1 -1
- package/dist/lib/ui/primitives/Accordion/Accordion.cjs +1 -1
- package/dist/lib/ui/primitives/Accordion/Accordion.cjs.map +1 -1
- package/dist/lib/ui/primitives/Accordion/Accordion.js +26 -20
- package/dist/lib/ui/primitives/Accordion/Accordion.js.map +1 -1
- package/dist/types/charts.index.d.ts +1 -0
- package/dist/types/ui/components/DataTable/DataTable.d.ts +15 -2
- package/dist/types/ui/components/charts/ChartLegend/ChartLegend.d.ts +1 -0
- package/dist/types/ui/components/charts/PieChart/PieChart.d.ts +32 -0
- package/dist/types/ui/components/charts/PieChart/pie-chart-option.d.ts +13 -0
- package/dist/types/ui/components/charts/PieChart/pie-chart-slices.d.ts +30 -0
- package/dist/types/ui/components/charts/chart-color-tone.d.ts +1 -0
- package/dist/types/ui/components/charts/chart-label-color.d.ts +2 -0
- package/dist/types/ui/components/charts/chart-palette.d.ts +1 -0
- package/dist/types/ui/components/charts/chart-theme.d.ts +1 -0
- package/dist/types/ui/primitives/Accordion/Accordion.d.ts +4 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chart-label-color.js","sources":["../../../../../src/ui/components/charts/chart-label-color.ts"],"sourcesContent":["// O rótulo dentro da fatia é lido contra a cor da série, não contra o fundo da página: a paleta\n// de séries é a mesma nos dois temas, então quem decide entre texto claro e escuro é o\n// preenchimento. O branco que o ECharts usa por padrão reprova no contraste em toda a paleta —\n// 2,24:1 sobre a `yellow-500`.\nconst LABEL_ON_DARK_FILL: string = \"#ffffff\";\n\nconst LABEL_ON_LIGHT_FILL: string = \"#1e1e1e\";\n\nconst LABEL_ON_LIGHT_FILL_LUMINANCE: number = 0.0144;\n\nconst WHITE_LUMINANCE: number = 1;\n\nfunction channelLuminance(channel: number): number {\n const normalized: number = channel / 255;\n return normalized <= 0.03928\n ? normalized / 12.92\n : Math.pow((normalized + 0.055) / 1.055, 2.4);\n}\n\nexport function parseColorChannels(color: string): [number, number, number] | undefined {\n const hexMatch: RegExpMatchArray | null = color\n .trim()\n .match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);\n if (hexMatch) {\n const digits: string = hexMatch[1];\n const expanded: string =\n digits.length === 3\n ? digits\n .split(\"\")\n .map((digit: string) => digit + digit)\n .join(\"\")\n : digits;\n return [0, 2, 4].map((start: number) => parseInt(expanded.slice(start, start + 2), 16)) as [\n number,\n number,\n number,\n ];\n }\n\n const rgbMatch: RegExpMatchArray | null = color\n .trim()\n .match(/^rgba?\\(\\s*(\\d+)[\\s,]+(\\d+)[\\s,]+(\\d+)/i);\n if (rgbMatch) {\n return [Number(rgbMatch[1]), Number(rgbMatch[2]), Number(rgbMatch[3])];\n }\n\n return undefined;\n}\n\nfunction relativeLuminance(color: string): number | undefined {\n const channels: [number, number, number] | undefined = parseColorChannels(color);\n if (!channels) return undefined;\n const [red, green, blue] = channels.map(channelLuminance);\n return 0.2126 * red + 0.7152 * green + 0.0722 * blue;\n}\n\nfunction contrastRatio(lighter: number, darker: number): number {\n return (lighter + 0.05) / (darker + 0.05);\n}\n\nexport function labelColorOnFill(fillColor: string): string {\n const luminance: number | undefined = relativeLuminance(fillColor);\n if (luminance === undefined) return LABEL_ON_DARK_FILL;\n const againstLightText: number = contrastRatio(WHITE_LUMINANCE, luminance);\n const againstDarkText: number = contrastRatio(luminance, LABEL_ON_LIGHT_FILL_LUMINANCE);\n return againstDarkText >= againstLightText ? LABEL_ON_LIGHT_FILL : LABEL_ON_DARK_FILL;\n}\n"],"names":["LABEL_ON_DARK_FILL","LABEL_ON_LIGHT_FILL","channelLuminance","channel","normalized","parseColorChannels","color","hexMatch","digits","expanded","digit","start","rgbMatch","relativeLuminance","channels","red","green","blue","contrastRatio","lighter","darker","labelColorOnFill","fillColor","luminance","againstLightText"],"mappings":"AAIA,MAAMA,IAA6B,WAE7BC,IAA8B;AAMpC,SAASC,EAAiBC,GAAyB;AACjD,QAAMC,IAAqBD,IAAU;AACrC,SAAOC,KAAc,UACjBA,IAAa,QACb,KAAK,KAAKA,IAAa,SAAS,OAAO,GAAG;AAChD;AAEO,SAASC,EAAmBC,GAAqD;AACtF,QAAMC,IAAoCD,EACvC,KAAA,EACA,MAAM,+BAA+B;AACxC,MAAIC,GAAU;AACZ,UAAMC,IAAiBD,EAAS,CAAC,GAC3BE,IACJD,EAAO,WAAW,IACdA,EACG,MAAM,EAAE,EACR,IAAI,CAACE,MAAkBA,IAAQA,CAAK,EACpC,KAAK,EAAE,IACVF;AACN,WAAO,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAACG,MAAkB,SAASF,EAAS,MAAME,GAAOA,IAAQ,CAAC,GAAG,EAAE,CAAC;AAAA,EAKxF;AAEA,QAAMC,IAAoCN,EACvC,KAAA,EACA,MAAM,yCAAyC;AAClD,MAAIM;AACF,WAAO,CAAC,OAAOA,EAAS,CAAC,CAAC,GAAG,OAAOA,EAAS,CAAC,CAAC,GAAG,OAAOA,EAAS,CAAC,CAAC,CAAC;AAIzE;AAEA,SAASC,EAAkBP,GAAmC;AAC5D,QAAMQ,IAAiDT,EAAmBC,CAAK;AAC/E,MAAI,CAACQ,EAAU;AACf,QAAM,CAACC,GAAKC,GAAOC,CAAI,IAAIH,EAAS,IAAIZ,CAAgB;AACxD,SAAO,SAASa,IAAM,SAASC,IAAQ,SAASC;AAClD;AAEA,SAASC,EAAcC,GAAiBC,GAAwB;AAC9D,UAAQD,IAAU,SAASC,IAAS;AACtC;AAEO,SAASC,EAAiBC,GAA2B;AAC1D,QAAMC,IAAgCV,EAAkBS,CAAS;AACjE,MAAIC,MAAc,OAAW,QAAOvB;AACpC,QAAMwB,IAA2BN,EAAc,GAAiBK,CAAS;AAEzE,SADgCL,EAAcK,GAAW,MAA6B,KAC5DC,IAAmBvB,IAAsBD;AACrE;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=["--sds-color-blue-500","--sds-color-green-500","--sds-color-pink-500","--sds-color-yellow-500","--sds-color-red-500","--sds-color-blue-700","--sds-color-green-700","--sds-color-pink-700","--sds-color-yellow-700","--sds-color-red-700"];exports.CHART_SERIES_COLOR_TOKENS=o;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=["--sds-color-blue-500","--sds-color-green-500","--sds-color-pink-500","--sds-color-yellow-500","--sds-color-red-500","--sds-color-blue-700","--sds-color-green-700","--sds-color-pink-700","--sds-color-yellow-700","--sds-color-red-700"],s="--sds-color-gray-400";exports.CHART_NEUTRAL_COLOR_TOKEN=s;exports.CHART_SERIES_COLOR_TOKENS=o;
|
|
2
2
|
//# sourceMappingURL=chart-palette.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-palette.cjs","sources":["../../../../../src/ui/components/charts/chart-palette.ts"],"sourcesContent":["// Ordenada para afastar ao máximo os matizes de séries vizinhas: os cinco cromáticos do tema\n// no passo 500, e só depois os mesmos cinco no 700. As rampas neutras ficam de fora porque se\n// confundem com grade e eixo — a `brand-500` deste tema é cinza.\nexport const CHART_SERIES_COLOR_TOKENS: string[] = [\n \"--sds-color-blue-500\",\n \"--sds-color-green-500\",\n \"--sds-color-pink-500\",\n \"--sds-color-yellow-500\",\n \"--sds-color-red-500\",\n \"--sds-color-blue-700\",\n \"--sds-color-green-700\",\n \"--sds-color-pink-700\",\n \"--sds-color-yellow-700\",\n \"--sds-color-red-700\",\n];\n"],"names":["CHART_SERIES_COLOR_TOKENS"],"mappings":"gFAGO,MAAMA,EAAsC,CACjD,uBACA,wBACA,uBACA,yBACA,sBACA,uBACA,wBACA,uBACA,yBACA,qBACF"}
|
|
1
|
+
{"version":3,"file":"chart-palette.cjs","sources":["../../../../../src/ui/components/charts/chart-palette.ts"],"sourcesContent":["// Ordenada para afastar ao máximo os matizes de séries vizinhas: os cinco cromáticos do tema\n// no passo 500, e só depois os mesmos cinco no 700. As rampas neutras ficam de fora porque se\n// confundem com grade e eixo — a `brand-500` deste tema é cinza.\nexport const CHART_SERIES_COLOR_TOKENS: string[] = [\n \"--sds-color-blue-500\",\n \"--sds-color-green-500\",\n \"--sds-color-pink-500\",\n \"--sds-color-yellow-500\",\n \"--sds-color-red-500\",\n \"--sds-color-blue-700\",\n \"--sds-color-green-700\",\n \"--sds-color-pink-700\",\n \"--sds-color-yellow-700\",\n \"--sds-color-red-700\",\n];\n\nexport const CHART_NEUTRAL_COLOR_TOKEN: string = \"--sds-color-gray-400\";\n"],"names":["CHART_SERIES_COLOR_TOKENS","CHART_NEUTRAL_COLOR_TOKEN"],"mappings":"gFAGO,MAAMA,EAAsC,CACjD,uBACA,wBACA,uBACA,yBACA,sBACA,uBACA,wBACA,uBACA,yBACA,qBACF,EAEaC,EAAoC"}
|
|
@@ -9,8 +9,9 @@ const o = [
|
|
|
9
9
|
"--sds-color-pink-700",
|
|
10
10
|
"--sds-color-yellow-700",
|
|
11
11
|
"--sds-color-red-700"
|
|
12
|
-
];
|
|
12
|
+
], s = "--sds-color-gray-400";
|
|
13
13
|
export {
|
|
14
|
+
s as CHART_NEUTRAL_COLOR_TOKEN,
|
|
14
15
|
o as CHART_SERIES_COLOR_TOKENS
|
|
15
16
|
};
|
|
16
17
|
//# sourceMappingURL=chart-palette.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-palette.js","sources":["../../../../../src/ui/components/charts/chart-palette.ts"],"sourcesContent":["// Ordenada para afastar ao máximo os matizes de séries vizinhas: os cinco cromáticos do tema\n// no passo 500, e só depois os mesmos cinco no 700. As rampas neutras ficam de fora porque se\n// confundem com grade e eixo — a `brand-500` deste tema é cinza.\nexport const CHART_SERIES_COLOR_TOKENS: string[] = [\n \"--sds-color-blue-500\",\n \"--sds-color-green-500\",\n \"--sds-color-pink-500\",\n \"--sds-color-yellow-500\",\n \"--sds-color-red-500\",\n \"--sds-color-blue-700\",\n \"--sds-color-green-700\",\n \"--sds-color-pink-700\",\n \"--sds-color-yellow-700\",\n \"--sds-color-red-700\",\n];\n"],"names":["CHART_SERIES_COLOR_TOKENS"],"mappings":"AAGO,MAAMA,IAAsC;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
|
|
1
|
+
{"version":3,"file":"chart-palette.js","sources":["../../../../../src/ui/components/charts/chart-palette.ts"],"sourcesContent":["// Ordenada para afastar ao máximo os matizes de séries vizinhas: os cinco cromáticos do tema\n// no passo 500, e só depois os mesmos cinco no 700. As rampas neutras ficam de fora porque se\n// confundem com grade e eixo — a `brand-500` deste tema é cinza.\nexport const CHART_SERIES_COLOR_TOKENS: string[] = [\n \"--sds-color-blue-500\",\n \"--sds-color-green-500\",\n \"--sds-color-pink-500\",\n \"--sds-color-yellow-500\",\n \"--sds-color-red-500\",\n \"--sds-color-blue-700\",\n \"--sds-color-green-700\",\n \"--sds-color-pink-700\",\n \"--sds-color-yellow-700\",\n \"--sds-color-red-700\",\n];\n\nexport const CHART_NEUTRAL_COLOR_TOKEN: string = \"--sds-color-gray-400\";\n"],"names":["CHART_SERIES_COLOR_TOKENS","CHART_NEUTRAL_COLOR_TOKEN"],"mappings":"AAGO,MAAMA,IAAsC;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEaC,IAAoC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./chart-palette.cjs");function d(t,e){const r=window.getComputedStyle(t).getPropertyValue(e).trim();return r===""?void 0:r}function o(t,e,r){const l=t.getPropertyValue(e).trim();return l===""?r:l}function n(t){const e=window.getComputedStyle(t);return{seriesColors:a.CHART_SERIES_COLOR_TOKENS.map(r=>o(e,r,"#4b5563")),neutralColor:o(e,a.CHART_NEUTRAL_COLOR_TOKEN,"#9ca3af"),axisLineColor:o(e,"--sds-color-border-default-secondary","#9ca3af"),splitLineColor:o(e,"--sds-color-border-default-default","#e5e7eb"),labelColor:o(e,"--sds-color-text-default-secondary","#6b7280"),tooltipBackgroundColor:o(e,"--sds-color-background-default-default","#ffffff"),tooltipBorderColor:o(e,"--sds-color-border-default-default","#d1d5db"),fontFamily:o(e,"--sds-typography-body-font-family","inherit")}}exports.readChartTheme=n;exports.resolveColorToken=d;
|
|
2
2
|
//# sourceMappingURL=chart-theme.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-theme.cjs","sources":["../../../../../src/ui/components/charts/chart-theme.ts"],"sourcesContent":["import { CHART_SERIES_COLOR_TOKENS } from \"./chart-palette\";\n\nexport interface ChartTheme {\n seriesColors: string[];\n axisLineColor: string;\n splitLineColor: string;\n labelColor: string;\n tooltipBackgroundColor: string;\n tooltipBorderColor: string;\n fontFamily: string;\n}\n\n// O renderizador canvas não entende `var(--token)`, então a cor precisa chegar resolvida. A\n// resolução é contra o elemento hospedeiro para que tema aplicado em escopo menor que `:root`\n// continue valendo.\nexport function resolveColorToken(element: HTMLElement, token: string): string | undefined {\n const value: string = window.getComputedStyle(element).getPropertyValue(token).trim();\n return value === \"\" ? undefined : value;\n}\n\nfunction resolveToken(styles: CSSStyleDeclaration, token: string, fallback: string): string {\n const value: string = styles.getPropertyValue(token).trim();\n return value === \"\" ? fallback : value;\n}\n\nexport function readChartTheme(element: HTMLElement): ChartTheme {\n const styles: CSSStyleDeclaration = window.getComputedStyle(element);\n return {\n seriesColors: CHART_SERIES_COLOR_TOKENS.map((token: string) =>\n resolveToken(styles, token, \"#4b5563\"),\n ),\n // A escala de borda deste tema vai do claro para o escuro: `tertiary` é a mais escura,\n // não a mais suave. A grade fica na `default` para ficar atrás do dado, e o eixo na\n // `secondary` para se separar da grade sem competir com as linhas.\n axisLineColor: resolveToken(styles, \"--sds-color-border-default-secondary\", \"#9ca3af\"),\n splitLineColor: resolveToken(styles, \"--sds-color-border-default-default\", \"#e5e7eb\"),\n labelColor: resolveToken(styles, \"--sds-color-text-default-secondary\", \"#6b7280\"),\n tooltipBackgroundColor: resolveToken(\n styles,\n \"--sds-color-background-default-default\",\n \"#ffffff\",\n ),\n tooltipBorderColor: resolveToken(styles, \"--sds-color-border-default-default\", \"#d1d5db\"),\n fontFamily: resolveToken(styles, \"--sds-typography-body-font-family\", \"inherit\"),\n };\n}\n"],"names":["resolveColorToken","element","token","value","resolveToken","styles","fallback","readChartTheme","CHART_SERIES_COLOR_TOKENS"],"mappings":"
|
|
1
|
+
{"version":3,"file":"chart-theme.cjs","sources":["../../../../../src/ui/components/charts/chart-theme.ts"],"sourcesContent":["import { CHART_SERIES_COLOR_TOKENS, CHART_NEUTRAL_COLOR_TOKEN as NEUTRAL_COLOR_TOKEN } from \"./chart-palette\";\n\nexport interface ChartTheme {\n seriesColors: string[];\n neutralColor: string;\n axisLineColor: string;\n splitLineColor: string;\n labelColor: string;\n tooltipBackgroundColor: string;\n tooltipBorderColor: string;\n fontFamily: string;\n}\n\n// O renderizador canvas não entende `var(--token)`, então a cor precisa chegar resolvida. A\n// resolução é contra o elemento hospedeiro para que tema aplicado em escopo menor que `:root`\n// continue valendo.\nexport function resolveColorToken(element: HTMLElement, token: string): string | undefined {\n const value: string = window.getComputedStyle(element).getPropertyValue(token).trim();\n return value === \"\" ? undefined : value;\n}\n\nfunction resolveToken(styles: CSSStyleDeclaration, token: string, fallback: string): string {\n const value: string = styles.getPropertyValue(token).trim();\n return value === \"\" ? fallback : value;\n}\n\nexport function readChartTheme(element: HTMLElement): ChartTheme {\n const styles: CSSStyleDeclaration = window.getComputedStyle(element);\n return {\n seriesColors: CHART_SERIES_COLOR_TOKENS.map((token: string) =>\n resolveToken(styles, token, \"#4b5563\"),\n ),\n neutralColor: resolveToken(styles, NEUTRAL_COLOR_TOKEN, \"#9ca3af\"),\n // A escala de borda deste tema vai do claro para o escuro: `tertiary` é a mais escura,\n // não a mais suave. A grade fica na `default` para ficar atrás do dado, e o eixo na\n // `secondary` para se separar da grade sem competir com as linhas.\n axisLineColor: resolveToken(styles, \"--sds-color-border-default-secondary\", \"#9ca3af\"),\n splitLineColor: resolveToken(styles, \"--sds-color-border-default-default\", \"#e5e7eb\"),\n labelColor: resolveToken(styles, \"--sds-color-text-default-secondary\", \"#6b7280\"),\n tooltipBackgroundColor: resolveToken(\n styles,\n \"--sds-color-background-default-default\",\n \"#ffffff\",\n ),\n tooltipBorderColor: resolveToken(styles, \"--sds-color-border-default-default\", \"#d1d5db\"),\n fontFamily: resolveToken(styles, \"--sds-typography-body-font-family\", \"inherit\"),\n };\n}\n"],"names":["resolveColorToken","element","token","value","resolveToken","styles","fallback","readChartTheme","CHART_SERIES_COLOR_TOKENS","NEUTRAL_COLOR_TOKEN"],"mappings":"uHAgBO,SAASA,EAAkBC,EAAsBC,EAAmC,CACzF,MAAMC,EAAgB,OAAO,iBAAiBF,CAAO,EAAE,iBAAiBC,CAAK,EAAE,KAAA,EAC/E,OAAOC,IAAU,GAAK,OAAYA,CACpC,CAEA,SAASC,EAAaC,EAA6BH,EAAeI,EAA0B,CAC1F,MAAMH,EAAgBE,EAAO,iBAAiBH,CAAK,EAAE,KAAA,EACrD,OAAOC,IAAU,GAAKG,EAAWH,CACnC,CAEO,SAASI,EAAeN,EAAkC,CAC/D,MAAMI,EAA8B,OAAO,iBAAiBJ,CAAO,EACnE,MAAO,CACL,aAAcO,EAAAA,0BAA0B,IAAKN,GAC3CE,EAAaC,EAAQH,EAAO,SAAS,CAAA,EAEvC,aAAcE,EAAaC,EAAQI,EAAAA,0BAAqB,SAAS,EAIjE,cAAeL,EAAaC,EAAQ,uCAAwC,SAAS,EACrF,eAAgBD,EAAaC,EAAQ,qCAAsC,SAAS,EACpF,WAAYD,EAAaC,EAAQ,qCAAsC,SAAS,EAChF,uBAAwBD,EACtBC,EACA,yCACA,SAAA,EAEF,mBAAoBD,EAAaC,EAAQ,qCAAsC,SAAS,EACxF,WAAYD,EAAaC,EAAQ,oCAAqC,SAAS,CAAA,CAEnF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CHART_SERIES_COLOR_TOKENS as d } from "./chart-palette.js";
|
|
1
|
+
import { CHART_SERIES_COLOR_TOKENS as d, CHART_NEUTRAL_COLOR_TOKEN as a } from "./chart-palette.js";
|
|
2
2
|
function s(t, o) {
|
|
3
3
|
const r = window.getComputedStyle(t).getPropertyValue(o).trim();
|
|
4
4
|
return r === "" ? void 0 : r;
|
|
@@ -7,12 +7,13 @@ function e(t, o, r) {
|
|
|
7
7
|
const l = t.getPropertyValue(o).trim();
|
|
8
8
|
return l === "" ? r : l;
|
|
9
9
|
}
|
|
10
|
-
function
|
|
10
|
+
function f(t) {
|
|
11
11
|
const o = window.getComputedStyle(t);
|
|
12
12
|
return {
|
|
13
13
|
seriesColors: d.map(
|
|
14
14
|
(r) => e(o, r, "#4b5563")
|
|
15
15
|
),
|
|
16
|
+
neutralColor: e(o, a, "#9ca3af"),
|
|
16
17
|
// A escala de borda deste tema vai do claro para o escuro: `tertiary` é a mais escura,
|
|
17
18
|
// não a mais suave. A grade fica na `default` para ficar atrás do dado, e o eixo na
|
|
18
19
|
// `secondary` para se separar da grade sem competir com as linhas.
|
|
@@ -29,7 +30,7 @@ function n(t) {
|
|
|
29
30
|
};
|
|
30
31
|
}
|
|
31
32
|
export {
|
|
32
|
-
|
|
33
|
+
f as readChartTheme,
|
|
33
34
|
s as resolveColorToken
|
|
34
35
|
};
|
|
35
36
|
//# sourceMappingURL=chart-theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-theme.js","sources":["../../../../../src/ui/components/charts/chart-theme.ts"],"sourcesContent":["import { CHART_SERIES_COLOR_TOKENS } from \"./chart-palette\";\n\nexport interface ChartTheme {\n seriesColors: string[];\n axisLineColor: string;\n splitLineColor: string;\n labelColor: string;\n tooltipBackgroundColor: string;\n tooltipBorderColor: string;\n fontFamily: string;\n}\n\n// O renderizador canvas não entende `var(--token)`, então a cor precisa chegar resolvida. A\n// resolução é contra o elemento hospedeiro para que tema aplicado em escopo menor que `:root`\n// continue valendo.\nexport function resolveColorToken(element: HTMLElement, token: string): string | undefined {\n const value: string = window.getComputedStyle(element).getPropertyValue(token).trim();\n return value === \"\" ? undefined : value;\n}\n\nfunction resolveToken(styles: CSSStyleDeclaration, token: string, fallback: string): string {\n const value: string = styles.getPropertyValue(token).trim();\n return value === \"\" ? fallback : value;\n}\n\nexport function readChartTheme(element: HTMLElement): ChartTheme {\n const styles: CSSStyleDeclaration = window.getComputedStyle(element);\n return {\n seriesColors: CHART_SERIES_COLOR_TOKENS.map((token: string) =>\n resolveToken(styles, token, \"#4b5563\"),\n ),\n // A escala de borda deste tema vai do claro para o escuro: `tertiary` é a mais escura,\n // não a mais suave. A grade fica na `default` para ficar atrás do dado, e o eixo na\n // `secondary` para se separar da grade sem competir com as linhas.\n axisLineColor: resolveToken(styles, \"--sds-color-border-default-secondary\", \"#9ca3af\"),\n splitLineColor: resolveToken(styles, \"--sds-color-border-default-default\", \"#e5e7eb\"),\n labelColor: resolveToken(styles, \"--sds-color-text-default-secondary\", \"#6b7280\"),\n tooltipBackgroundColor: resolveToken(\n styles,\n \"--sds-color-background-default-default\",\n \"#ffffff\",\n ),\n tooltipBorderColor: resolveToken(styles, \"--sds-color-border-default-default\", \"#d1d5db\"),\n fontFamily: resolveToken(styles, \"--sds-typography-body-font-family\", \"inherit\"),\n };\n}\n"],"names":["resolveColorToken","element","token","value","resolveToken","styles","fallback","readChartTheme","CHART_SERIES_COLOR_TOKENS"],"mappings":";
|
|
1
|
+
{"version":3,"file":"chart-theme.js","sources":["../../../../../src/ui/components/charts/chart-theme.ts"],"sourcesContent":["import { CHART_SERIES_COLOR_TOKENS, CHART_NEUTRAL_COLOR_TOKEN as NEUTRAL_COLOR_TOKEN } from \"./chart-palette\";\n\nexport interface ChartTheme {\n seriesColors: string[];\n neutralColor: string;\n axisLineColor: string;\n splitLineColor: string;\n labelColor: string;\n tooltipBackgroundColor: string;\n tooltipBorderColor: string;\n fontFamily: string;\n}\n\n// O renderizador canvas não entende `var(--token)`, então a cor precisa chegar resolvida. A\n// resolução é contra o elemento hospedeiro para que tema aplicado em escopo menor que `:root`\n// continue valendo.\nexport function resolveColorToken(element: HTMLElement, token: string): string | undefined {\n const value: string = window.getComputedStyle(element).getPropertyValue(token).trim();\n return value === \"\" ? undefined : value;\n}\n\nfunction resolveToken(styles: CSSStyleDeclaration, token: string, fallback: string): string {\n const value: string = styles.getPropertyValue(token).trim();\n return value === \"\" ? fallback : value;\n}\n\nexport function readChartTheme(element: HTMLElement): ChartTheme {\n const styles: CSSStyleDeclaration = window.getComputedStyle(element);\n return {\n seriesColors: CHART_SERIES_COLOR_TOKENS.map((token: string) =>\n resolveToken(styles, token, \"#4b5563\"),\n ),\n neutralColor: resolveToken(styles, NEUTRAL_COLOR_TOKEN, \"#9ca3af\"),\n // A escala de borda deste tema vai do claro para o escuro: `tertiary` é a mais escura,\n // não a mais suave. A grade fica na `default` para ficar atrás do dado, e o eixo na\n // `secondary` para se separar da grade sem competir com as linhas.\n axisLineColor: resolveToken(styles, \"--sds-color-border-default-secondary\", \"#9ca3af\"),\n splitLineColor: resolveToken(styles, \"--sds-color-border-default-default\", \"#e5e7eb\"),\n labelColor: resolveToken(styles, \"--sds-color-text-default-secondary\", \"#6b7280\"),\n tooltipBackgroundColor: resolveToken(\n styles,\n \"--sds-color-background-default-default\",\n \"#ffffff\",\n ),\n tooltipBorderColor: resolveToken(styles, \"--sds-color-border-default-default\", \"#d1d5db\"),\n fontFamily: resolveToken(styles, \"--sds-typography-body-font-family\", \"inherit\"),\n };\n}\n"],"names":["resolveColorToken","element","token","value","resolveToken","styles","fallback","readChartTheme","CHART_SERIES_COLOR_TOKENS","NEUTRAL_COLOR_TOKEN"],"mappings":";AAgBO,SAASA,EAAkBC,GAAsBC,GAAmC;AACzF,QAAMC,IAAgB,OAAO,iBAAiBF,CAAO,EAAE,iBAAiBC,CAAK,EAAE,KAAA;AAC/E,SAAOC,MAAU,KAAK,SAAYA;AACpC;AAEA,SAASC,EAAaC,GAA6BH,GAAeI,GAA0B;AAC1F,QAAMH,IAAgBE,EAAO,iBAAiBH,CAAK,EAAE,KAAA;AACrD,SAAOC,MAAU,KAAKG,IAAWH;AACnC;AAEO,SAASI,EAAeN,GAAkC;AAC/D,QAAMI,IAA8B,OAAO,iBAAiBJ,CAAO;AACnE,SAAO;AAAA,IACL,cAAcO,EAA0B;AAAA,MAAI,CAACN,MAC3CE,EAAaC,GAAQH,GAAO,SAAS;AAAA,IAAA;AAAA,IAEvC,cAAcE,EAAaC,GAAQI,GAAqB,SAAS;AAAA;AAAA;AAAA;AAAA,IAIjE,eAAeL,EAAaC,GAAQ,wCAAwC,SAAS;AAAA,IACrF,gBAAgBD,EAAaC,GAAQ,sCAAsC,SAAS;AAAA,IACpF,YAAYD,EAAaC,GAAQ,sCAAsC,SAAS;AAAA,IAChF,wBAAwBD;AAAA,MACtBC;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,oBAAoBD,EAAaC,GAAQ,sCAAsC,SAAS;AAAA,IACxF,YAAYD,EAAaC,GAAQ,qCAAqC,SAAS;AAAA,EAAA;AAEnF;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("echarts/charts"),o=require("echarts/components"),a=require("echarts/core"),u=require("echarts/renderers");function i(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,s.get?s:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const c=i(a);function l(){c.use([r.LineChart,r.BarChart,r.PieChart,r.SunburstChart,o.GridComponent,o.TooltipComponent,o.LegendComponent,u.CanvasRenderer])}exports.echarts=c;exports.registerEchartsModules=l;
|
|
2
2
|
//# sourceMappingURL=echarts-modules.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echarts-modules.cjs","sources":["../../../../../src/ui/components/charts/echarts-modules.ts"],"sourcesContent":["import { BarChart, LineChart } from \"echarts/charts\";\nimport { GridComponent, LegendComponent, TooltipComponent } from \"echarts/components\";\nimport * as echarts from \"echarts/core\";\nimport { CanvasRenderer } from \"echarts/renderers\";\n\n// Precisa ser função, e não efeito de módulo: no topo do arquivo o rollup apaga a chamada ao\n// empacotar a lib (retorno não usado = código morto), e o consumidor recebe os imports sem\n// registro nenhum, quebrando em runtime com \"series.type: line not exists\".\nexport function registerEchartsModules(): void {\n echarts.use([\n LineChart,\n BarChart,\n GridComponent,\n TooltipComponent,\n LegendComponent,\n CanvasRenderer,\n ]);\n}\n\nexport { echarts };\n"],"names":["registerEchartsModules","echarts","LineChart","BarChart","GridComponent","TooltipComponent","LegendComponent","CanvasRenderer"],"mappings":"qeAQO,SAASA,GAA+B,CAC7CC,EAAQ,IAAI,CACVC,EAAAA,UACAC,EAAAA,SACAC,EAAAA,cACAC,EAAAA,iBACAC,EAAAA,gBACAC,EAAAA,cAAA,CACD,CACH"}
|
|
1
|
+
{"version":3,"file":"echarts-modules.cjs","sources":["../../../../../src/ui/components/charts/echarts-modules.ts"],"sourcesContent":["import { BarChart, LineChart, PieChart, SunburstChart } from \"echarts/charts\";\nimport { GridComponent, LegendComponent, TooltipComponent } from \"echarts/components\";\nimport * as echarts from \"echarts/core\";\nimport { CanvasRenderer } from \"echarts/renderers\";\n\n// Precisa ser função, e não efeito de módulo: no topo do arquivo o rollup apaga a chamada ao\n// empacotar a lib (retorno não usado = código morto), e o consumidor recebe os imports sem\n// registro nenhum, quebrando em runtime com \"series.type: line not exists\".\nexport function registerEchartsModules(): void {\n echarts.use([\n LineChart,\n BarChart,\n PieChart,\n SunburstChart,\n GridComponent,\n TooltipComponent,\n LegendComponent,\n CanvasRenderer,\n ]);\n}\n\nexport { echarts };\n"],"names":["registerEchartsModules","echarts","LineChart","BarChart","PieChart","SunburstChart","GridComponent","TooltipComponent","LegendComponent","CanvasRenderer"],"mappings":"qeAQO,SAASA,GAA+B,CAC7CC,EAAQ,IAAI,CACVC,EAAAA,UACAC,EAAAA,SACAC,EAAAA,SACAC,EAAAA,cACAC,EAAAA,cACAC,EAAAA,iBACAC,EAAAA,gBACAC,EAAAA,cAAA,CACD,CACH"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { LineChart as
|
|
2
|
-
import { GridComponent as
|
|
3
|
-
import * as
|
|
1
|
+
import { LineChart as r, BarChart as o, PieChart as t, SunburstChart as e } from "echarts/charts";
|
|
2
|
+
import { GridComponent as n, TooltipComponent as m, LegendComponent as a } from "echarts/components";
|
|
3
|
+
import * as i from "echarts/core";
|
|
4
4
|
import { CanvasRenderer as p } from "echarts/renderers";
|
|
5
|
-
function
|
|
6
|
-
|
|
7
|
-
o,
|
|
5
|
+
function f() {
|
|
6
|
+
i.use([
|
|
8
7
|
r,
|
|
9
|
-
|
|
8
|
+
o,
|
|
10
9
|
t,
|
|
10
|
+
e,
|
|
11
11
|
n,
|
|
12
|
+
m,
|
|
13
|
+
a,
|
|
12
14
|
p
|
|
13
15
|
]);
|
|
14
16
|
}
|
|
15
17
|
export {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
i as echarts,
|
|
19
|
+
f as registerEchartsModules
|
|
18
20
|
};
|
|
19
21
|
//# sourceMappingURL=echarts-modules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echarts-modules.js","sources":["../../../../../src/ui/components/charts/echarts-modules.ts"],"sourcesContent":["import { BarChart, LineChart } from \"echarts/charts\";\nimport { GridComponent, LegendComponent, TooltipComponent } from \"echarts/components\";\nimport * as echarts from \"echarts/core\";\nimport { CanvasRenderer } from \"echarts/renderers\";\n\n// Precisa ser função, e não efeito de módulo: no topo do arquivo o rollup apaga a chamada ao\n// empacotar a lib (retorno não usado = código morto), e o consumidor recebe os imports sem\n// registro nenhum, quebrando em runtime com \"series.type: line not exists\".\nexport function registerEchartsModules(): void {\n echarts.use([\n LineChart,\n BarChart,\n GridComponent,\n TooltipComponent,\n LegendComponent,\n CanvasRenderer,\n ]);\n}\n\nexport { echarts };\n"],"names":["registerEchartsModules","echarts","LineChart","BarChart","GridComponent","TooltipComponent","LegendComponent","CanvasRenderer"],"mappings":";;;;AAQO,SAASA,IAA+B;AAC7C,EAAAC,EAAQ,IAAI;AAAA,IACVC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,CACD;AACH;"}
|
|
1
|
+
{"version":3,"file":"echarts-modules.js","sources":["../../../../../src/ui/components/charts/echarts-modules.ts"],"sourcesContent":["import { BarChart, LineChart, PieChart, SunburstChart } from \"echarts/charts\";\nimport { GridComponent, LegendComponent, TooltipComponent } from \"echarts/components\";\nimport * as echarts from \"echarts/core\";\nimport { CanvasRenderer } from \"echarts/renderers\";\n\n// Precisa ser função, e não efeito de módulo: no topo do arquivo o rollup apaga a chamada ao\n// empacotar a lib (retorno não usado = código morto), e o consumidor recebe os imports sem\n// registro nenhum, quebrando em runtime com \"series.type: line not exists\".\nexport function registerEchartsModules(): void {\n echarts.use([\n LineChart,\n BarChart,\n PieChart,\n SunburstChart,\n GridComponent,\n TooltipComponent,\n LegendComponent,\n CanvasRenderer,\n ]);\n}\n\nexport { echarts };\n"],"names":["registerEchartsModules","echarts","LineChart","BarChart","PieChart","SunburstChart","GridComponent","TooltipComponent","LegendComponent","CanvasRenderer"],"mappings":";;;;AAQO,SAASA,IAA+B;AAC7C,EAAAC,EAAQ,IAAI;AAAA,IACVC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,CACD;AACH;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../../../vendor/clsx/dist/clsx.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../../../vendor/clsx/dist/clsx.cjs"),s=require("react-aria-components");;/* empty css */const d=require("../../icons/IconChevronDown.cjs");function m({className:i,...n}){const c=r.clsx(i,"sds-accordion");return e.jsx(s.DisclosureGroup,{className:c,...n})}function u({className:i,title:n,subtitle:c,badge:o,isExpanded:x,isDisabled:j,children:a,...t}){const l=r.clsx(i,"accordion-item");return e.jsxs(s.Disclosure,{className:l,...t,children:[e.jsx(s.Heading,{className:"accordion-item-title",children:e.jsxs(s.Button,{slot:"trigger",children:[e.jsxs("span",{className:"accordion-item-titles",children:[e.jsx("span",{className:"accordion-item-title-text",children:n}),c&&e.jsx("span",{className:"accordion-item-subtitle",children:c})]}),o&&e.jsx("span",{className:"accordion-item-badge",children:o}),e.jsx("span",{role:"img","aria-hidden":"true","aria-label":"accordion item indicator",className:"accordion-item-indicator",children:e.jsx(d.IconChevronDown,{size:"20"})})]})}),e.jsx(s.DisclosurePanel,{className:"accordion-item-content",children:e.jsx(e.Fragment,{children:a})})]})}exports.Accordion=m;exports.AccordionItem=u;
|
|
2
2
|
//# sourceMappingURL=Accordion.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.cjs","sources":["../../../../../src/ui/primitives/Accordion/Accordion.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { IconChevronDown } from \"icons\";\nimport {\n Button,\n Disclosure,\n DisclosureGroup,\n DisclosurePanel,\n Heading,\n type DisclosureGroupProps,\n type DisclosureProps,\n} from \"react-aria-components\";\nimport \"./accordion.css\";\n\nexport type AccordionProps = DisclosureGroupProps;\nexport function Accordion({ className, ...props }: AccordionProps) {\n const classNames = clsx(className, \"sds-accordion\");\n return <DisclosureGroup className={classNames} {...props} />;\n}\n\nexport type AccordionItemProps = DisclosureProps & {
|
|
1
|
+
{"version":3,"file":"Accordion.cjs","sources":["../../../../../src/ui/primitives/Accordion/Accordion.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { IconChevronDown } from \"icons\";\nimport type { ReactNode } from \"react\";\nimport {\n Button,\n Disclosure,\n DisclosureGroup,\n DisclosurePanel,\n Heading,\n type DisclosureGroupProps,\n type DisclosureProps,\n} from \"react-aria-components\";\nimport \"./accordion.css\";\n\nexport type AccordionProps = DisclosureGroupProps;\nexport function Accordion({ className, ...props }: AccordionProps) {\n const classNames = clsx(className, \"sds-accordion\");\n return <DisclosureGroup className={classNames} {...props} />;\n}\n\nexport type AccordionItemProps = DisclosureProps & {\n title: string;\n subtitle?: ReactNode;\n badge?: ReactNode;\n};\nexport function AccordionItem({\n className,\n title,\n subtitle,\n badge,\n isExpanded,\n isDisabled,\n children,\n ...props\n}: AccordionItemProps) {\n const classNames = clsx(className, \"accordion-item\");\n return (\n <Disclosure className={classNames} {...props}>\n <Heading className=\"accordion-item-title\">\n <Button slot=\"trigger\">\n <span className=\"accordion-item-titles\">\n <span className=\"accordion-item-title-text\">{title}</span>\n {subtitle && (\n <span className=\"accordion-item-subtitle\">{subtitle}</span>\n )}\n </span>\n {badge && <span className=\"accordion-item-badge\">{badge}</span>}\n <span\n role=\"img\"\n aria-hidden=\"true\"\n aria-label=\"accordion item indicator\"\n className=\"accordion-item-indicator\"\n >\n <IconChevronDown size=\"20\" />\n </span>\n </Button>\n </Heading>\n <DisclosurePanel className=\"accordion-item-content\">\n <>{children}</>\n </DisclosurePanel>\n </Disclosure>\n );\n}\n"],"names":["Accordion","className","props","classNames","clsx","jsx","DisclosureGroup","AccordionItem","title","subtitle","badge","isExpanded","isDisabled","children","jsxs","Disclosure","Heading","Button","IconChevronDown","DisclosurePanel","Fragment"],"mappings":"0RAeO,SAASA,EAAU,CAAE,UAAAC,EAAW,GAAGC,GAAyB,CACjE,MAAMC,EAAaC,EAAAA,KAAKH,EAAW,eAAe,EAClD,OAAOI,EAAAA,IAACC,EAAAA,gBAAA,CAAgB,UAAWH,EAAa,GAAGD,EAAO,CAC5D,CAOO,SAASK,EAAc,CAC5B,UAAAN,EACA,MAAAO,EACA,SAAAC,EACA,MAAAC,EACA,WAAAC,EACA,WAAAC,EACA,SAAAC,EACA,GAAGX,CACL,EAAuB,CACrB,MAAMC,EAAaC,EAAAA,KAAKH,EAAW,gBAAgB,EACnD,OACEa,EAAAA,KAACC,EAAAA,WAAA,CAAW,UAAWZ,EAAa,GAAGD,EACrC,SAAA,CAAAG,EAAAA,IAACW,EAAAA,SAAQ,UAAU,uBACjB,SAAAF,EAAAA,KAACG,SAAA,CAAO,KAAK,UACX,SAAA,CAAAH,EAAAA,KAAC,OAAA,CAAK,UAAU,wBACd,SAAA,CAAAT,EAAAA,IAAC,OAAA,CAAK,UAAU,4BAA6B,SAAAG,EAAM,EAClDC,GACCJ,EAAAA,IAAC,OAAA,CAAK,UAAU,0BAA2B,SAAAI,CAAA,CAAS,CAAA,EAExD,EACCC,GAASL,EAAAA,IAAC,OAAA,CAAK,UAAU,uBAAwB,SAAAK,EAAM,EACxDL,EAAAA,IAAC,OAAA,CACC,KAAK,MACL,cAAY,OACZ,aAAW,2BACX,UAAU,2BAEV,SAAAA,EAAAA,IAACa,EAAAA,gBAAA,CAAgB,KAAK,IAAA,CAAK,CAAA,CAAA,CAC7B,CAAA,CACF,CAAA,CACF,QACCC,EAAAA,gBAAA,CAAgB,UAAU,yBACzB,SAAAd,EAAAA,IAAAe,EAAAA,SAAA,CAAG,SAAAP,EAAS,CAAA,CACd,CAAA,EACF,CAEJ"}
|
|
@@ -1,24 +1,30 @@
|
|
|
1
|
-
import { jsx as i, jsxs as
|
|
1
|
+
import { jsx as i, jsxs as a, Fragment as m } from "react/jsx-runtime";
|
|
2
2
|
import { clsx as s } from "../../../vendor/clsx/dist/clsx.js";
|
|
3
|
-
import { DisclosureGroup as
|
|
3
|
+
import { DisclosureGroup as d, Disclosure as p, Heading as h, Button as N, DisclosurePanel as u } from "react-aria-components";
|
|
4
4
|
/* empty css */
|
|
5
|
-
import { IconChevronDown as
|
|
6
|
-
function
|
|
7
|
-
const c = s(
|
|
8
|
-
return /* @__PURE__ */ i(
|
|
5
|
+
import { IconChevronDown as f } from "../../icons/IconChevronDown.js";
|
|
6
|
+
function v({ className: e, ...o }) {
|
|
7
|
+
const c = s(e, "sds-accordion");
|
|
8
|
+
return /* @__PURE__ */ i(d, { className: c, ...o });
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
className:
|
|
12
|
-
title:
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
function w({
|
|
11
|
+
className: e,
|
|
12
|
+
title: o,
|
|
13
|
+
subtitle: c,
|
|
14
|
+
badge: r,
|
|
15
|
+
isExpanded: x,
|
|
16
|
+
isDisabled: g,
|
|
15
17
|
children: n,
|
|
16
|
-
...
|
|
18
|
+
...t
|
|
17
19
|
}) {
|
|
18
|
-
const
|
|
19
|
-
return /* @__PURE__ */
|
|
20
|
-
/* @__PURE__ */ i(
|
|
21
|
-
|
|
20
|
+
const l = s(e, "accordion-item");
|
|
21
|
+
return /* @__PURE__ */ a(p, { className: l, ...t, children: [
|
|
22
|
+
/* @__PURE__ */ i(h, { className: "accordion-item-title", children: /* @__PURE__ */ a(N, { slot: "trigger", children: [
|
|
23
|
+
/* @__PURE__ */ a("span", { className: "accordion-item-titles", children: [
|
|
24
|
+
/* @__PURE__ */ i("span", { className: "accordion-item-title-text", children: o }),
|
|
25
|
+
c && /* @__PURE__ */ i("span", { className: "accordion-item-subtitle", children: c })
|
|
26
|
+
] }),
|
|
27
|
+
r && /* @__PURE__ */ i("span", { className: "accordion-item-badge", children: r }),
|
|
22
28
|
/* @__PURE__ */ i(
|
|
23
29
|
"span",
|
|
24
30
|
{
|
|
@@ -26,15 +32,15 @@ function I({
|
|
|
26
32
|
"aria-hidden": "true",
|
|
27
33
|
"aria-label": "accordion item indicator",
|
|
28
34
|
className: "accordion-item-indicator",
|
|
29
|
-
children: /* @__PURE__ */ i(
|
|
35
|
+
children: /* @__PURE__ */ i(f, { size: "20" })
|
|
30
36
|
}
|
|
31
37
|
)
|
|
32
38
|
] }) }),
|
|
33
|
-
/* @__PURE__ */ i(
|
|
39
|
+
/* @__PURE__ */ i(u, { className: "accordion-item-content", children: /* @__PURE__ */ i(m, { children: n }) })
|
|
34
40
|
] });
|
|
35
41
|
}
|
|
36
42
|
export {
|
|
37
|
-
|
|
38
|
-
|
|
43
|
+
v as Accordion,
|
|
44
|
+
w as AccordionItem
|
|
39
45
|
};
|
|
40
46
|
//# sourceMappingURL=Accordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","sources":["../../../../../src/ui/primitives/Accordion/Accordion.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { IconChevronDown } from \"icons\";\nimport {\n Button,\n Disclosure,\n DisclosureGroup,\n DisclosurePanel,\n Heading,\n type DisclosureGroupProps,\n type DisclosureProps,\n} from \"react-aria-components\";\nimport \"./accordion.css\";\n\nexport type AccordionProps = DisclosureGroupProps;\nexport function Accordion({ className, ...props }: AccordionProps) {\n const classNames = clsx(className, \"sds-accordion\");\n return <DisclosureGroup className={classNames} {...props} />;\n}\n\nexport type AccordionItemProps = DisclosureProps & {
|
|
1
|
+
{"version":3,"file":"Accordion.js","sources":["../../../../../src/ui/primitives/Accordion/Accordion.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { IconChevronDown } from \"icons\";\nimport type { ReactNode } from \"react\";\nimport {\n Button,\n Disclosure,\n DisclosureGroup,\n DisclosurePanel,\n Heading,\n type DisclosureGroupProps,\n type DisclosureProps,\n} from \"react-aria-components\";\nimport \"./accordion.css\";\n\nexport type AccordionProps = DisclosureGroupProps;\nexport function Accordion({ className, ...props }: AccordionProps) {\n const classNames = clsx(className, \"sds-accordion\");\n return <DisclosureGroup className={classNames} {...props} />;\n}\n\nexport type AccordionItemProps = DisclosureProps & {\n title: string;\n subtitle?: ReactNode;\n badge?: ReactNode;\n};\nexport function AccordionItem({\n className,\n title,\n subtitle,\n badge,\n isExpanded,\n isDisabled,\n children,\n ...props\n}: AccordionItemProps) {\n const classNames = clsx(className, \"accordion-item\");\n return (\n <Disclosure className={classNames} {...props}>\n <Heading className=\"accordion-item-title\">\n <Button slot=\"trigger\">\n <span className=\"accordion-item-titles\">\n <span className=\"accordion-item-title-text\">{title}</span>\n {subtitle && (\n <span className=\"accordion-item-subtitle\">{subtitle}</span>\n )}\n </span>\n {badge && <span className=\"accordion-item-badge\">{badge}</span>}\n <span\n role=\"img\"\n aria-hidden=\"true\"\n aria-label=\"accordion item indicator\"\n className=\"accordion-item-indicator\"\n >\n <IconChevronDown size=\"20\" />\n </span>\n </Button>\n </Heading>\n <DisclosurePanel className=\"accordion-item-content\">\n <>{children}</>\n </DisclosurePanel>\n </Disclosure>\n );\n}\n"],"names":["Accordion","className","props","classNames","clsx","jsx","DisclosureGroup","AccordionItem","title","subtitle","badge","isExpanded","isDisabled","children","jsxs","Disclosure","Heading","Button","IconChevronDown","DisclosurePanel","Fragment"],"mappings":";;;;;AAeO,SAASA,EAAU,EAAE,WAAAC,GAAW,GAAGC,KAAyB;AACjE,QAAMC,IAAaC,EAAKH,GAAW,eAAe;AAClD,SAAO,gBAAAI,EAACC,GAAA,EAAgB,WAAWH,GAAa,GAAGD,GAAO;AAC5D;AAOO,SAASK,EAAc;AAAA,EAC5B,WAAAN;AAAA,EACA,OAAAO;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGX;AACL,GAAuB;AACrB,QAAMC,IAAaC,EAAKH,GAAW,gBAAgB;AACnD,SACE,gBAAAa,EAACC,GAAA,EAAW,WAAWZ,GAAa,GAAGD,GACrC,UAAA;AAAA,IAAA,gBAAAG,EAACW,KAAQ,WAAU,wBACjB,UAAA,gBAAAF,EAACG,GAAA,EAAO,MAAK,WACX,UAAA;AAAA,MAAA,gBAAAH,EAAC,QAAA,EAAK,WAAU,yBACd,UAAA;AAAA,QAAA,gBAAAT,EAAC,QAAA,EAAK,WAAU,6BAA6B,UAAAG,GAAM;AAAA,QAClDC,KACC,gBAAAJ,EAAC,QAAA,EAAK,WAAU,2BAA2B,UAAAI,EAAA,CAAS;AAAA,MAAA,GAExD;AAAA,MACCC,KAAS,gBAAAL,EAAC,QAAA,EAAK,WAAU,wBAAwB,UAAAK,GAAM;AAAA,MACxD,gBAAAL;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,eAAY;AAAA,UACZ,cAAW;AAAA,UACX,WAAU;AAAA,UAEV,UAAA,gBAAAA,EAACa,GAAA,EAAgB,MAAK,KAAA,CAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IAC7B,EAAA,CACF,EAAA,CACF;AAAA,sBACCC,GAAA,EAAgB,WAAU,0BACzB,UAAA,gBAAAd,EAAAe,GAAA,EAAG,UAAAP,GAAS,EAAA,CACd;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -2,4 +2,5 @@ export * from "./ui/components/charts/BarChart/BarChart";
|
|
|
2
2
|
export * from "./ui/components/charts/chart-palette";
|
|
3
3
|
export * from "./ui/components/charts/ChartColorPicker/ChartColorPicker";
|
|
4
4
|
export * from "./ui/components/charts/ChartLegend/ChartLegend";
|
|
5
|
+
export * from "./ui/components/charts/PieChart/PieChart";
|
|
5
6
|
export * from "./ui/components/charts/TimeSeriesChart/TimeSeriesChart";
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
import type { Selection } from "react-aria-components";
|
|
2
|
+
import type { Selection, SortDescriptor } from "react-aria-components";
|
|
3
3
|
import "./datatable.css";
|
|
4
4
|
export interface Column<T> {
|
|
5
5
|
key: keyof T | string;
|
|
6
6
|
label: string;
|
|
7
7
|
align?: "start" | "center" | "right";
|
|
8
8
|
render?: (item: T) => ReactNode;
|
|
9
|
+
/** When true, the header becomes clickable and the rows can be sorted by this column. */
|
|
10
|
+
sortable?: boolean;
|
|
11
|
+
/** Value used to sort this column. Defaults to `item[key]`. */
|
|
12
|
+
sortValue?: (item: T) => SortableValue;
|
|
9
13
|
}
|
|
14
|
+
type SortableValue = string | number | Date | null | undefined;
|
|
10
15
|
export interface RowActionDef<T> {
|
|
11
16
|
/** Unique key for this action. */
|
|
12
17
|
key: string;
|
|
@@ -44,9 +49,16 @@ export interface DataTableProps<T extends {
|
|
|
44
49
|
* renders a round control instead of a checkbox.
|
|
45
50
|
*/
|
|
46
51
|
selectionType?: "checkbox" | "radio";
|
|
52
|
+
/** When true, draws vertical lines between columns. Off by default. */
|
|
53
|
+
grid?: boolean;
|
|
47
54
|
/** Controlled selection state. Omit to let the table manage its own selection internally. */
|
|
48
55
|
selectedKeys?: Selection;
|
|
49
56
|
onSelectionChange?: (keys: Selection) => void;
|
|
57
|
+
/** Initial sort when the table manages its own sorting. Only columns with `sortable` can be sorted. */
|
|
58
|
+
defaultSortDescriptor?: SortDescriptor;
|
|
59
|
+
/** Controlled sort state. Omit to let the table manage its own sorting internally. */
|
|
60
|
+
sortDescriptor?: SortDescriptor;
|
|
61
|
+
onSortChange?: (descriptor: SortDescriptor) => void;
|
|
50
62
|
searchPlaceholder?: string;
|
|
51
63
|
searchKeys?: (keyof T)[];
|
|
52
64
|
isLoading?: boolean;
|
|
@@ -66,4 +78,5 @@ export interface DataTableProps<T extends {
|
|
|
66
78
|
}
|
|
67
79
|
export declare function DataTable<T extends {
|
|
68
80
|
id: string;
|
|
69
|
-
}>({ columns, data, actions, rowActions, rowActionsLabel, selectable, selectionType, selectedKeys, onSelectionChange, searchPlaceholder, searchKeys, isLoading, loadingMessage, emptyMessage, previousLabel, nextLabel, pageSize, nestedColumns, getNestedData, nestedLoadingMessage, nestedEmptyMessage, nestedSearchKeys, nestedSearchPlaceholder, nestedActions, nestedPageSize, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
81
|
+
}>({ columns, data, actions, rowActions, rowActionsLabel, selectable, selectionType, grid, selectedKeys, onSelectionChange, defaultSortDescriptor, sortDescriptor: controlledSortDescriptor, onSortChange, searchPlaceholder, searchKeys, isLoading, loadingMessage, emptyMessage, previousLabel, nextLabel, pageSize, nestedColumns, getNestedData, nestedLoadingMessage, nestedEmptyMessage, nestedSearchKeys, nestedSearchPlaceholder, nestedActions, nestedPageSize, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
82
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef } from "react";
|
|
2
|
+
import { type ChartLegendLabels } from "../ChartLegend/ChartLegend";
|
|
3
|
+
import { type PieChartLabelContent, type PieChartShape } from "./pie-chart-option";
|
|
4
|
+
import { type PieChartNode } from "./pie-chart-slices";
|
|
5
|
+
import "./pie-chart.css";
|
|
6
|
+
export type { PieChartNode } from "./pie-chart-slices";
|
|
7
|
+
export type { PieChartLabelContent, PieChartShape } from "./pie-chart-option";
|
|
8
|
+
export type PieChartLegendMode = "inline" | "none";
|
|
9
|
+
export type PieChartLegendPosition = "bottom" | "right" | "top" | "left";
|
|
10
|
+
export type PieChartLegendValue = "percent" | "value";
|
|
11
|
+
export type PieChartShowTotal = "auto" | "on" | "off";
|
|
12
|
+
export interface PieChartLabels {
|
|
13
|
+
others: string;
|
|
14
|
+
total: string;
|
|
15
|
+
backToPrevious: (categoryName: string) => string;
|
|
16
|
+
}
|
|
17
|
+
export type PieChartProps = Omit<ComponentPropsWithoutRef<"div">, "children"> & {
|
|
18
|
+
data: PieChartNode[];
|
|
19
|
+
shape?: PieChartShape;
|
|
20
|
+
labelContent?: PieChartLabelContent[];
|
|
21
|
+
showTotal?: PieChartShowTotal;
|
|
22
|
+
total?: number;
|
|
23
|
+
valueFormatter?: (value: number) => string;
|
|
24
|
+
legend?: PieChartLegendMode;
|
|
25
|
+
legendPosition?: PieChartLegendPosition;
|
|
26
|
+
legendValues?: PieChartLegendValue[];
|
|
27
|
+
onSeriesColorChange?: (seriesId: string, colorToken: string | null) => void;
|
|
28
|
+
onFocusChange?: (focusedNodeId: string | null) => void;
|
|
29
|
+
legendLabels?: Partial<ChartLegendLabels>;
|
|
30
|
+
labels?: Partial<PieChartLabels>;
|
|
31
|
+
};
|
|
32
|
+
export declare function PieChart({ data, shape, labelContent, showTotal, total, valueFormatter, legend, legendPosition, legendValues, onSeriesColorChange, onFocusChange, legendLabels, labels, className, ...props }: PieChartProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ChartTheme } from "../chart-theme";
|
|
2
|
+
import type { PieSlice } from "./pie-chart-slices";
|
|
3
|
+
export type PieChartLabelContent = "name" | "percent" | "value";
|
|
4
|
+
export type PieChartShape = "donut" | "pie";
|
|
5
|
+
export interface PieChartOptionInput {
|
|
6
|
+
slices: PieSlice[];
|
|
7
|
+
shape: PieChartShape;
|
|
8
|
+
labelContent: PieChartLabelContent[];
|
|
9
|
+
theme: ChartTheme;
|
|
10
|
+
valueFormatter?: (value: number) => string;
|
|
11
|
+
}
|
|
12
|
+
export declare function formatShare(share: number): string;
|
|
13
|
+
export declare function buildPieChartOption(input: PieChartOptionInput): Record<string, unknown>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface PieChartNode {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
value: number | null;
|
|
5
|
+
colorToken?: string;
|
|
6
|
+
isOthers?: boolean;
|
|
7
|
+
children?: PieChartNode[];
|
|
8
|
+
}
|
|
9
|
+
export interface PieSlice {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
value: number;
|
|
13
|
+
share: number;
|
|
14
|
+
path: string[];
|
|
15
|
+
color: string;
|
|
16
|
+
isOthers: boolean;
|
|
17
|
+
children: PieSlice[];
|
|
18
|
+
}
|
|
19
|
+
export interface BuildPieSlicesInput {
|
|
20
|
+
nodes: PieChartNode[];
|
|
21
|
+
colorsByRootId: Record<string, string>;
|
|
22
|
+
fallbackColor: string;
|
|
23
|
+
othersName: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function displayNameOf(node: PieChartNode, othersName: string): string;
|
|
26
|
+
export declare function buildPieSlices(input: BuildPieSlicesInput): PieSlice[];
|
|
27
|
+
export declare function findSlice(slices: PieSlice[], id: string): PieSlice | undefined;
|
|
28
|
+
export declare function findParentSlice(slices: PieSlice[], id: string): PieSlice | undefined;
|
|
29
|
+
export declare function sliceDepth(slices: PieSlice[]): number;
|
|
30
|
+
export declare function totalOf(slices: PieSlice[]): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function lightenColor(color: string, amount: number): string;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
1
2
|
import { type DisclosureGroupProps, type DisclosureProps } from "react-aria-components";
|
|
2
3
|
import "./accordion.css";
|
|
3
4
|
export type AccordionProps = DisclosureGroupProps;
|
|
4
5
|
export declare function Accordion({ className, ...props }: AccordionProps): import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
export type AccordionItemProps = DisclosureProps & {
|
|
6
7
|
title: string;
|
|
8
|
+
subtitle?: ReactNode;
|
|
9
|
+
badge?: ReactNode;
|
|
7
10
|
};
|
|
8
|
-
export declare function AccordionItem({ className, title, isExpanded, isDisabled, children, ...props }: AccordionItemProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function AccordionItem({ className, title, subtitle, badge, isExpanded, isDisabled, children, ...props }: AccordionItemProps): import("react/jsx-runtime").JSX.Element;
|