@progress/kendo-react-chart-wizard 8.3.0-develop.14 → 8.3.0-develop.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/ChartWizard.js +1 -1
  2. package/ChartWizard.mjs +74 -1711
  3. package/components/ChartComponent.js +8 -0
  4. package/components/ChartComponent.mjs +69 -0
  5. package/components/FormField.js +8 -0
  6. package/components/FormField.mjs +16 -0
  7. package/components/FormFieldSet.js +8 -0
  8. package/components/FormFieldSet.mjs +13 -0
  9. package/components/SeriesGrid.js +8 -0
  10. package/{SeriesGrid.mjs → components/SeriesGrid.mjs} +5 -2
  11. package/components/SeriesTypeButton.js +8 -0
  12. package/components/SeriesTypeButton.mjs +30 -0
  13. package/{common/get-wizard-data-from-data-rows.js → components/SeriesTypesWrap.js} +1 -1
  14. package/{common/get-wizard-data-from-data-rows.mjs → components/SeriesTypesWrap.mjs} +4 -3
  15. package/components/panels/BarChartPanel.js +8 -0
  16. package/components/panels/BarChartPanel.mjs +71 -0
  17. package/components/panels/CategoryAxisPanel.js +8 -0
  18. package/components/panels/CategoryAxisPanel.mjs +315 -0
  19. package/components/panels/ChartAreaPanel.js +8 -0
  20. package/components/panels/ChartAreaPanel.mjs +200 -0
  21. package/components/panels/ColumnChartPanel.js +8 -0
  22. package/components/panels/ColumnChartPanel.mjs +77 -0
  23. package/components/panels/ConfigurationPanel.js +8 -0
  24. package/components/panels/ConfigurationPanel.mjs +102 -0
  25. package/components/panels/LegendPanel.js +8 -0
  26. package/components/panels/LegendPanel.mjs +190 -0
  27. package/components/panels/LineChartPanel.js +8 -0
  28. package/components/panels/LineChartPanel.mjs +74 -0
  29. package/components/panels/PieChartPanel.js +8 -0
  30. package/components/panels/PieChartPanel.mjs +47 -0
  31. package/components/panels/ScatterChartPanel.js +8 -0
  32. package/components/panels/ScatterChartPanel.mjs +47 -0
  33. package/components/panels/SeriesPanel.js +8 -0
  34. package/components/panels/SeriesPanel.mjs +110 -0
  35. package/components/panels/TitlePanel.js +8 -0
  36. package/components/panels/TitlePanel.mjs +172 -0
  37. package/components/panels/ValueAxisPanel.js +8 -0
  38. package/components/panels/ValueAxisPanel.mjs +332 -0
  39. package/dist/cdn/js/kendo-react-chart-wizard.js +1 -1
  40. package/index.d.mts +3 -6
  41. package/index.d.ts +3 -6
  42. package/index.js +1 -1
  43. package/index.mjs +6 -6
  44. package/package.json +14 -14
  45. package/types/export.js +8 -0
  46. package/types/export.mjs +39 -0
  47. package/utils.js +8 -0
  48. package/utils.mjs +81 -0
  49. package/SeriesGrid.js +0 -8
  50. package/chart-wizard-state.js +0 -8
  51. package/chart-wizard-state.mjs +0 -21
  52. package/export.js +0 -8
  53. package/export.mjs +0 -70
  54. /package/{SeriesGridCells.js → components/SeriesGridCells.js} +0 -0
  55. /package/{SeriesGridCells.mjs → components/SeriesGridCells.mjs} +0 -0
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as e from "react";
10
+ import { Reveal as E } from "@progress/kendo-react-animation";
11
+ import { useLocalization as f } from "@progress/kendo-react-intl";
12
+ import { ExpansionPanel as y, ExpansionPanelContent as T } from "@progress/kendo-react-layout";
13
+ import { stackState as N, mergeStates as r, createState as s, updateState as S, ActionTypes as d, stackNormal as I, stack100 as A } from "../../utils.mjs";
14
+ import { lineChart as P, messages as c, lineChartLine as b, lineChartStackedLine as w, lineChart100StackedLine as z } from "../../messages.mjs";
15
+ import { SeriesTypesWrap as R } from "../SeriesTypesWrap.mjs";
16
+ import { SeriesTypeButton as l } from "../SeriesTypeButton.mjs";
17
+ import { chartLineIcon as W, chartLineStackedIcon as v, chartLineStacked100Icon as B } from "@progress/kendo-svg-icons";
18
+ const M = (a) => {
19
+ const i = f(), t = a.state, o = t.seriesType, { isStackFalse: h, isStackNormal: k, isStack100: p } = N(t), [m, L] = e.useState(!0), C = e.useCallback((n) => {
20
+ L(!n.expanded);
21
+ }, []), g = () => {
22
+ a.onStateChange(r(t, s(t.data, "line")));
23
+ }, u = () => {
24
+ const n = r(t, s(t.data, "line"));
25
+ a.onStateChange(S(n, d.stacked, I));
26
+ }, x = () => {
27
+ const n = r(t, s(t.data, "line"));
28
+ a.onStateChange(S(n, d.stacked, A));
29
+ };
30
+ return /* @__PURE__ */ e.createElement(
31
+ y,
32
+ {
33
+ style: { maxWidth: "576px" },
34
+ title: i.toLanguageString(P, c.lineChart),
35
+ expanded: m,
36
+ tabIndex: 0,
37
+ onAction: C
38
+ },
39
+ /* @__PURE__ */ e.createElement(E, null, m && /* @__PURE__ */ e.createElement(T, null, /* @__PURE__ */ e.createElement(R, null, /* @__PURE__ */ e.createElement(
40
+ l,
41
+ {
42
+ selected: o === "line" && h,
43
+ onClick: g,
44
+ icon: W,
45
+ iconName: "chart-line"
46
+ },
47
+ i.toLanguageString(b, c.lineChartLine)
48
+ ), /* @__PURE__ */ e.createElement(
49
+ l,
50
+ {
51
+ selected: o === "line" && k,
52
+ onClick: u,
53
+ icon: v,
54
+ iconName: "chart-line-stacked"
55
+ },
56
+ i.toLanguageString(w, c.lineChartStackedLine)
57
+ ), /* @__PURE__ */ e.createElement(
58
+ l,
59
+ {
60
+ selected: o === "line" && p,
61
+ onClick: x,
62
+ icon: B,
63
+ iconName: "chart-line-stacked100"
64
+ },
65
+ i.toLanguageString(
66
+ z,
67
+ c.lineChart100StackedLine
68
+ )
69
+ ))))
70
+ );
71
+ };
72
+ export {
73
+ M as LineChartPanel
74
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react"),m=require("@progress/kendo-react-animation"),P=require("@progress/kendo-react-intl"),s=require("@progress/kendo-react-layout"),c=require("../../utils.js"),i=require("../../messages.js"),S=require("../SeriesTypesWrap.js"),y=require("../SeriesTypeButton.js"),h=require("@progress/kendo-svg-icons");function C(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const n=C(g),b=e=>{const a=P.useLocalization(),t=e.state,r=t.seriesType,[o,l]=n.useState(!0),u=n.useCallback(d=>{l(!d.expanded)},[]),p=()=>{e.onStateChange(c.mergeStates(t,c.createState(t.data,"pie")))};return n.createElement(s.ExpansionPanel,{style:{maxWidth:"576px"},title:a.toLanguageString(i.pieChart,i.messages.pieChart),expanded:o,tabIndex:0,onAction:u},n.createElement(m.Reveal,null,o&&n.createElement(s.ExpansionPanelContent,null,n.createElement(S.SeriesTypesWrap,null,n.createElement(y.SeriesTypeButton,{selected:r==="pie",onClick:p,icon:h.chartPieIcon,iconName:"chart-pie"},a.toLanguageString(i.pieChartPie,i.messages.pieChartPie))))))};exports.PieChartPanel=b;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as e from "react";
10
+ import { Reveal as l } from "@progress/kendo-react-animation";
11
+ import { useLocalization as d } from "@progress/kendo-react-intl";
12
+ import { ExpansionPanel as h, ExpansionPanelContent as u } from "@progress/kendo-react-layout";
13
+ import { mergeStates as C, createState as P } from "../../utils.mjs";
14
+ import { pieChart as x, messages as i, pieChartPie as f } from "../../messages.mjs";
15
+ import { SeriesTypesWrap as g } from "../SeriesTypesWrap.mjs";
16
+ import { SeriesTypeButton as S } from "../SeriesTypeButton.mjs";
17
+ import { chartPieIcon as E } from "@progress/kendo-svg-icons";
18
+ const R = (a) => {
19
+ const n = d(), t = a.state, o = t.seriesType, [r, s] = e.useState(!0), p = e.useCallback((m) => {
20
+ s(!m.expanded);
21
+ }, []), c = () => {
22
+ a.onStateChange(C(t, P(t.data, "pie")));
23
+ };
24
+ return /* @__PURE__ */ e.createElement(
25
+ h,
26
+ {
27
+ style: { maxWidth: "576px" },
28
+ title: n.toLanguageString(x, i.pieChart),
29
+ expanded: r,
30
+ tabIndex: 0,
31
+ onAction: p
32
+ },
33
+ /* @__PURE__ */ e.createElement(l, null, r && /* @__PURE__ */ e.createElement(u, null, /* @__PURE__ */ e.createElement(g, null, /* @__PURE__ */ e.createElement(
34
+ S,
35
+ {
36
+ selected: o === "pie",
37
+ onClick: c,
38
+ icon: E,
39
+ iconName: "chart-pie"
40
+ },
41
+ n.toLanguageString(f, i.pieChartPie)
42
+ ))))
43
+ );
44
+ };
45
+ export {
46
+ R as PieChartPanel
47
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react"),g=require("@progress/kendo-react-animation"),m=require("@progress/kendo-react-intl"),o=require("@progress/kendo-react-layout"),i=require("../../utils.js"),c=require("../../messages.js"),y=require("../SeriesTypesWrap.js"),h=require("../SeriesTypeButton.js"),C=require("@progress/kendo-svg-icons");function b(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const a=b(p),f=e=>{const n=m.useLocalization(),t=e.state,r=t.seriesType,[s,l]=a.useState(!0),u=a.useCallback(d=>{l(!d.expanded)},[]),S=()=>{e.onStateChange(i.mergeStates(t,i.createState(t.data,"scatter")))};return a.createElement(o.ExpansionPanel,{style:{maxWidth:"576px"},title:n.toLanguageString(c.scatterChart,c.messages.scatterChart),expanded:s,tabIndex:0,onAction:u},a.createElement(g.Reveal,null,s&&a.createElement(o.ExpansionPanelContent,null,a.createElement(y.SeriesTypesWrap,null,a.createElement(h.SeriesTypeButton,{selected:r==="scatter",onClick:S,icon:C.chartScatterIcon,iconName:"chart-scatter"},n.toLanguageString(c.scatterChartScatter,c.messages.scatterChartScatter))))))};exports.ScatterChartPanel=f;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as t from "react";
10
+ import { Reveal as p } from "@progress/kendo-react-animation";
11
+ import { useLocalization as S } from "@progress/kendo-react-intl";
12
+ import { ExpansionPanel as d, ExpansionPanelContent as h } from "@progress/kendo-react-layout";
13
+ import { mergeStates as u, createState as C } from "../../utils.mjs";
14
+ import { scatterChart as x, messages as o, scatterChartScatter as f } from "../../messages.mjs";
15
+ import { SeriesTypesWrap as g } from "../SeriesTypesWrap.mjs";
16
+ import { SeriesTypeButton as E } from "../SeriesTypeButton.mjs";
17
+ import { chartScatterIcon as y } from "@progress/kendo-svg-icons";
18
+ const R = (a) => {
19
+ const r = S(), e = a.state, c = e.seriesType, [n, s] = t.useState(!0), i = t.useCallback((l) => {
20
+ s(!l.expanded);
21
+ }, []), m = () => {
22
+ a.onStateChange(u(e, C(e.data, "scatter")));
23
+ };
24
+ return /* @__PURE__ */ t.createElement(
25
+ d,
26
+ {
27
+ style: { maxWidth: "576px" },
28
+ title: r.toLanguageString(x, o.scatterChart),
29
+ expanded: n,
30
+ tabIndex: 0,
31
+ onAction: i
32
+ },
33
+ /* @__PURE__ */ t.createElement(p, null, n && /* @__PURE__ */ t.createElement(h, null, /* @__PURE__ */ t.createElement(g, null, /* @__PURE__ */ t.createElement(
34
+ E,
35
+ {
36
+ selected: c === "scatter",
37
+ onClick: m,
38
+ icon: y,
39
+ iconName: "chart-scatter"
40
+ },
41
+ r.toLanguageString(f, o.scatterChartScatter)
42
+ ))))
43
+ );
44
+ };
45
+ export {
46
+ R as ScatterChartPanel
47
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),y=require("@progress/kendo-react-layout"),F=require("@progress/kendo-react-form"),m=require("../FormField.js"),v=require("@progress/kendo-react-inputs"),n=require("../../utils.js"),o=require("../../messages.js"),q=require("@progress/kendo-react-intl"),T=require("@progress/kendo-react-dropdowns"),w=require("@progress/kendo-react-animation"),P=l=>{var g,p,f,b,C;const[s,d]=t.useState(""),r=q.useLocalization(),a=l.state,u=a.seriesType,E=typeof((g=a.series[0])==null?void 0:g.stack)=="object"?(p=a.series[0])==null?void 0:p.stack.type:!1,[S,h]=t.useState(!1),k=t.useCallback(e=>{h(!e.expanded)},[]),x=e=>{s&&l.onStateChange(n.updateState(a,n.ActionTypes.seriesColor,{seriesName:s,color:e.value}))},L=e=>{l.onStateChange(n.updateState(a,n.ActionTypes.seriesLabel,{seriesName:s,all:!s,visible:e.value}))},c={name:r.toLanguageString(o.formatSeriesAllSeries,o.messages.formatSeriesAllSeries)},A=e=>{const i=e.target.value.name;d(i===c.name?"":i)};return t.useEffect(()=>{d("")},[u,E]),t.createElement(y.ExpansionPanel,{style:{maxWidth:"576px"},title:r.toLanguageString(o.formatSeries,o.messages.formatSeries),expanded:S,tabIndex:0,onAction:k},t.createElement(w.Reveal,null,S&&t.createElement(y.ExpansionPanelContent,null,t.createElement(F.FormElement,{onKeyDown:n.stopPropagation},t.createElement(m.FormField,{editorId:"apply-to-series",labelText:r.toLanguageString(o.formatSeriesApplyTo,o.messages.formatSeriesApplyTo)},t.createElement(T.DropDownList,{id:"apply-to-series",data:a.series,textField:"name",dataItemKey:"name",defaultItem:c,disabled:!n.isCategorical(u),value:a.series.find(e=>e.name===s)||c,onChange:A,...n.dropdownlistCommonProps})),t.createElement(m.FormField,{editorId:"seriesColor",labelText:r.toLanguageString(o.formatSeriesColor,o.messages.formatSeriesColor)},t.createElement(v.ColorPicker,{id:"seriesColor",value:s?(f=a.series.find(e=>e.name===s))==null?void 0:f.color:"",onChange:x,disabled:!s,view:"gradient",fillMode:"outline"})),t.createElement(m.FormField,null,t.createElement(v.Checkbox,{label:r.toLanguageString(o.formatSeriesShowLabels,o.messages.formatSeriesShowLabels),checked:s?(C=(b=a.series.find(e=>e.name===s))==null?void 0:b.labels)==null?void 0:C.visible:a.series.every(e=>{var i;return(i=e.labels)==null?void 0:i.visible}),onChange:L}))))))};exports.SeriesPanel=P;
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import t from "react";
10
+ import { ExpansionPanel as k, ExpansionPanelContent as w } from "@progress/kendo-react-layout";
11
+ import { FormElement as T } from "@progress/kendo-react-form";
12
+ import { FormField as m } from "../FormField.mjs";
13
+ import { ColorPicker as P, Checkbox as I } from "@progress/kendo-react-inputs";
14
+ import { stopPropagation as D, isCategorical as F, dropdownlistCommonProps as z, updateState as b, ActionTypes as v } from "../../utils.mjs";
15
+ import { formatSeriesAllSeries as K, messages as i, formatSeries as N, formatSeriesApplyTo as R, formatSeriesColor as _, formatSeriesShowLabels as j } from "../../messages.mjs";
16
+ import { useLocalization as M } from "@progress/kendo-react-intl";
17
+ import { DropDownList as W } from "@progress/kendo-react-dropdowns";
18
+ import { Reveal as q } from "@progress/kendo-react-animation";
19
+ const Z = (n) => {
20
+ var f, p, g, u, C;
21
+ const [a, c] = t.useState(""), r = M(), o = n.state, d = o.seriesType, E = typeof ((f = o.series[0]) == null ? void 0 : f.stack) == "object" ? (p = o.series[0]) == null ? void 0 : p.stack.type : !1, [S, h] = t.useState(!1), x = t.useCallback((e) => {
22
+ h(!e.expanded);
23
+ }, []), y = (e) => {
24
+ a && n.onStateChange(
25
+ b(o, v.seriesColor, { seriesName: a, color: e.value })
26
+ );
27
+ }, L = (e) => {
28
+ n.onStateChange(
29
+ b(o, v.seriesLabel, {
30
+ seriesName: a,
31
+ all: !a,
32
+ visible: e.value
33
+ })
34
+ );
35
+ }, l = {
36
+ name: r.toLanguageString(K, i.formatSeriesAllSeries)
37
+ }, A = (e) => {
38
+ const s = e.target.value.name;
39
+ c(s === l.name ? "" : s);
40
+ };
41
+ return t.useEffect(() => {
42
+ c("");
43
+ }, [d, E]), /* @__PURE__ */ t.createElement(
44
+ k,
45
+ {
46
+ style: { maxWidth: "576px" },
47
+ title: r.toLanguageString(N, i.formatSeries),
48
+ expanded: S,
49
+ tabIndex: 0,
50
+ onAction: x
51
+ },
52
+ /* @__PURE__ */ t.createElement(q, null, S && /* @__PURE__ */ t.createElement(w, null, /* @__PURE__ */ t.createElement(T, { onKeyDown: D }, /* @__PURE__ */ t.createElement(
53
+ m,
54
+ {
55
+ editorId: "apply-to-series",
56
+ labelText: r.toLanguageString(
57
+ R,
58
+ i.formatSeriesApplyTo
59
+ )
60
+ },
61
+ /* @__PURE__ */ t.createElement(
62
+ W,
63
+ {
64
+ id: "apply-to-series",
65
+ data: o.series,
66
+ textField: "name",
67
+ dataItemKey: "name",
68
+ defaultItem: l,
69
+ disabled: !F(d),
70
+ value: o.series.find((e) => e.name === a) || l,
71
+ onChange: A,
72
+ ...z
73
+ }
74
+ )
75
+ ), /* @__PURE__ */ t.createElement(
76
+ m,
77
+ {
78
+ editorId: "seriesColor",
79
+ labelText: r.toLanguageString(_, i.formatSeriesColor)
80
+ },
81
+ /* @__PURE__ */ t.createElement(
82
+ P,
83
+ {
84
+ id: "seriesColor",
85
+ value: a ? (g = o.series.find((e) => e.name === a)) == null ? void 0 : g.color : "",
86
+ onChange: y,
87
+ disabled: !a,
88
+ view: "gradient",
89
+ fillMode: "outline"
90
+ }
91
+ )
92
+ ), /* @__PURE__ */ t.createElement(m, null, /* @__PURE__ */ t.createElement(
93
+ I,
94
+ {
95
+ label: r.toLanguageString(
96
+ j,
97
+ i.formatSeriesShowLabels
98
+ ),
99
+ checked: a ? (C = (u = o.series.find((e) => e.name === a)) == null ? void 0 : u.labels) == null ? void 0 : C.visible : o.series.every((e) => {
100
+ var s;
101
+ return (s = e.labels) == null ? void 0 : s.visible;
102
+ }),
103
+ onChange: L
104
+ }
105
+ )))))
106
+ );
107
+ };
108
+ export {
109
+ Z as SeriesPanel
110
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react"),p=require("@progress/kendo-react-layout"),k=require("@progress/kendo-react-form"),m=require("../FormField.js"),e=require("../../utils.js"),T=require("@progress/kendo-react-dropdowns"),f=require("@progress/kendo-react-inputs"),z=require("@progress/kendo-react-intl"),t=require("../../messages.js"),I=require("@progress/kendo-react-animation");function P(n){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const i in n)if(i!=="default"){const u=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(l,i,u.get?u:{enumerable:!0,get:()=>n[i]})}}return l.default=n,Object.freeze(l)}const a=P(E),A=n=>{const l=z.useLocalization(),i=n.state,[u,v]=a.useState(!1),S=a.useCallback(o=>{v(!o.expanded)},[]),r=[{value:"chartTitle",text:l.toLanguageString(t.formatTitleChartTitle,t.messages.formatTitleChartTitle)},{value:"chartSubtitle",text:l.toLanguageString(t.formatTitleChartSubtitle,t.messages.formatTitleChartSubtitle)}],[s,C]=a.useState(r[0]),x=a.useCallback(o=>{C(o.target.value)},[]),F=o=>{const c=s.value===r[0].value?e.ActionTypes.titleText:e.ActionTypes.subtitleText;n.onStateChange(e.updateState(i,c,o.target.value))},b=o=>{const c=s.value===r[0].value?e.ActionTypes.titleFontName:e.ActionTypes.subtitleFontName,g=o.target.value||e.nullItem;n.onStateChange(e.updateState(i,c,g.value))},h=o=>{const c=s.value===r[0].value?e.ActionTypes.titleFontSize:e.ActionTypes.subtitleFontSize,g=o.target.value||e.nullItem;e.ensureValue(g)&&n.onStateChange(e.updateState(i,c,g.value))},y=o=>{const c=s.value===r[0].value?e.ActionTypes.titleColor:e.ActionTypes.subtitleColor;n.onStateChange(e.updateState(i,c,o.value))},d=(s.value===r[0].value?i.title:i.subtitle)||{text:"",font:"",color:""};return a.createElement(p.ExpansionPanel,{style:{maxWidth:"576px"},title:l.toLanguageString(t.formatTitle,t.messages.formatTitle),expanded:u,tabIndex:0,onAction:S},a.createElement(I.Reveal,null,u&&a.createElement(p.ExpansionPanelContent,null,a.createElement(k.FormElement,{onKeyDown:e.stopPropagation},a.createElement("div",{className:"k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4"},a.createElement(m.FormField,{className:"k-col-span-2",editorId:"apply-to-title",labelText:l.toLanguageString(t.formatTitleApplyTo,t.messages.formatTitleApplyTo)},a.createElement(T.DropDownList,{id:"apply-to-title",data:r,textField:"text",dataItemKey:"value",value:r.find(o=>o.value===s.value),onChange:x,...e.dropdownlistCommonProps})),a.createElement(m.FormField,{className:"k-col-span-2",editorId:"titleText",labelText:l.toLanguageString(t.formatTitleLabel,t.messages.formatTitleLabel)},a.createElement(f.Input,{id:"titleText",placeholder:s.value===r[0].value?r[0].text:r[1].text,value:d.text,onChange:F})),a.createElement(m.FormField,{className:"k-col-span-2",editorId:"titleFont",labelText:l.toLanguageString(t.formatTitleFont,t.messages.formatTitleFont)},a.createElement(T.ComboBox,{id:"titleFont",data:e.fontNames,textField:"text",dataItemKey:"value",placeholder:l.toLanguageString(t.formatTitleFontPlaceholder,t.messages.formatTitleFontPlaceholder),value:e.fontNames.find(o=>o.value===e.parseFont(d.font).name)||e.nullItem,onChange:b,itemRender:e.itemRender,...e.dropdownlistCommonProps})),a.createElement(m.FormField,{editorId:"titleFontSize",labelText:l.toLanguageString(t.formatTitleSize,t.messages.formatTitleSize)},a.createElement(T.ComboBox,{id:"titleFontSize",data:e.fontSizes,textField:"text",dataItemKey:"value",placeholder:l.toLanguageString(t.formatTitleSizePlaceholder,t.messages.formatTitleSizePlaceholder),value:e.fontSizes.find(o=>o.value===e.parseFont(d.font).size)||e.nullItem,onChange:h,itemRender:e.itemRender,allowCustom:!0,...e.dropdownlistCommonProps})),a.createElement(m.FormField,{editorId:"titleColor",labelText:l.toLanguageString(t.formatTitleColor,t.messages.formatTitleColor)},a.createElement(f.ColorPicker,{id:"titleColor",value:d.color||"",onChange:y,view:"gradient",fillMode:"outline"})))))))};exports.TitlePanel=A;
@@ -0,0 +1,172 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as t from "react";
10
+ import { ExpansionPanel as P, ExpansionPanelContent as N } from "@progress/kendo-react-layout";
11
+ import { FormElement as A } from "@progress/kendo-react-form";
12
+ import { FormField as u } from "../FormField.mjs";
13
+ import { stopPropagation as w, dropdownlistCommonProps as f, fontNames as p, parseFont as x, nullItem as g, itemRender as C, fontSizes as S, ActionTypes as n, updateState as T, ensureValue as K } from "../../utils.mjs";
14
+ import { DropDownList as D, ComboBox as h } from "@progress/kendo-react-dropdowns";
15
+ import { Input as R, ColorPicker as B } from "@progress/kendo-react-inputs";
16
+ import { useLocalization as M } from "@progress/kendo-react-intl";
17
+ import { formatTitleChartTitle as V, messages as o, formatTitleChartSubtitle as W, formatTitle as j, formatTitleApplyTo as q, formatTitleLabel as G, formatTitleFont as H, formatTitleFontPlaceholder as J, formatTitleSize as O, formatTitleSizePlaceholder as Q, formatTitleColor as U } from "../../messages.mjs";
18
+ import { Reveal as X } from "@progress/kendo-react-animation";
19
+ const nt = (c) => {
20
+ const l = M(), m = c.state, [v, F] = t.useState(!1), b = t.useCallback((e) => {
21
+ F(!e.expanded);
22
+ }, []), a = [
23
+ {
24
+ value: "chartTitle",
25
+ text: l.toLanguageString(V, o.formatTitleChartTitle)
26
+ },
27
+ {
28
+ value: "chartSubtitle",
29
+ text: l.toLanguageString(W, o.formatTitleChartSubtitle)
30
+ }
31
+ ], [i, E] = t.useState(a[0]), z = t.useCallback((e) => {
32
+ E(e.target.value);
33
+ }, []), L = (e) => {
34
+ const r = i.value === a[0].value ? n.titleText : n.subtitleText;
35
+ c.onStateChange(T(m, r, e.target.value));
36
+ }, y = (e) => {
37
+ const r = i.value === a[0].value ? n.titleFontName : n.subtitleFontName, d = e.target.value || g;
38
+ c.onStateChange(T(m, r, d.value));
39
+ }, I = (e) => {
40
+ const r = i.value === a[0].value ? n.titleFontSize : n.subtitleFontSize, d = e.target.value || g;
41
+ K(d) && c.onStateChange(T(m, r, d.value));
42
+ }, k = (e) => {
43
+ const r = i.value === a[0].value ? n.titleColor : n.subtitleColor;
44
+ c.onStateChange(T(m, r, e.value));
45
+ }, s = (i.value === a[0].value ? m.title : m.subtitle) || {
46
+ text: "",
47
+ font: "",
48
+ color: ""
49
+ };
50
+ return /* @__PURE__ */ t.createElement(
51
+ P,
52
+ {
53
+ style: { maxWidth: "576px" },
54
+ title: l.toLanguageString(j, o.formatTitle),
55
+ expanded: v,
56
+ tabIndex: 0,
57
+ onAction: b
58
+ },
59
+ /* @__PURE__ */ t.createElement(X, null, v && /* @__PURE__ */ t.createElement(N, null, /* @__PURE__ */ t.createElement(A, { onKeyDown: w }, /* @__PURE__ */ t.createElement("div", { className: "k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4" }, /* @__PURE__ */ t.createElement(
60
+ u,
61
+ {
62
+ className: "k-col-span-2",
63
+ editorId: "apply-to-title",
64
+ labelText: l.toLanguageString(
65
+ q,
66
+ o.formatTitleApplyTo
67
+ )
68
+ },
69
+ /* @__PURE__ */ t.createElement(
70
+ D,
71
+ {
72
+ id: "apply-to-title",
73
+ data: a,
74
+ textField: "text",
75
+ dataItemKey: "value",
76
+ value: a.find((e) => e.value === i.value),
77
+ onChange: z,
78
+ ...f
79
+ }
80
+ )
81
+ ), /* @__PURE__ */ t.createElement(
82
+ u,
83
+ {
84
+ className: "k-col-span-2",
85
+ editorId: "titleText",
86
+ labelText: l.toLanguageString(
87
+ G,
88
+ o.formatTitleLabel
89
+ )
90
+ },
91
+ /* @__PURE__ */ t.createElement(
92
+ R,
93
+ {
94
+ id: "titleText",
95
+ placeholder: i.value === a[0].value ? a[0].text : a[1].text,
96
+ value: s.text,
97
+ onChange: L
98
+ }
99
+ )
100
+ ), /* @__PURE__ */ t.createElement(
101
+ u,
102
+ {
103
+ className: "k-col-span-2",
104
+ editorId: "titleFont",
105
+ labelText: l.toLanguageString(H, o.formatTitleFont)
106
+ },
107
+ /* @__PURE__ */ t.createElement(
108
+ h,
109
+ {
110
+ id: "titleFont",
111
+ data: p,
112
+ textField: "text",
113
+ dataItemKey: "value",
114
+ placeholder: l.toLanguageString(
115
+ J,
116
+ o.formatTitleFontPlaceholder
117
+ ),
118
+ value: p.find((e) => e.value === x(s.font).name) || g,
119
+ onChange: y,
120
+ itemRender: C,
121
+ ...f
122
+ }
123
+ )
124
+ ), /* @__PURE__ */ t.createElement(
125
+ u,
126
+ {
127
+ editorId: "titleFontSize",
128
+ labelText: l.toLanguageString(O, o.formatTitleSize)
129
+ },
130
+ /* @__PURE__ */ t.createElement(
131
+ h,
132
+ {
133
+ id: "titleFontSize",
134
+ data: S,
135
+ textField: "text",
136
+ dataItemKey: "value",
137
+ placeholder: l.toLanguageString(
138
+ Q,
139
+ o.formatTitleSizePlaceholder
140
+ ),
141
+ value: S.find((e) => e.value === x(s.font).size) || g,
142
+ onChange: I,
143
+ itemRender: C,
144
+ allowCustom: !0,
145
+ ...f
146
+ }
147
+ )
148
+ ), /* @__PURE__ */ t.createElement(
149
+ u,
150
+ {
151
+ editorId: "titleColor",
152
+ labelText: l.toLanguageString(
153
+ U,
154
+ o.formatTitleColor
155
+ )
156
+ },
157
+ /* @__PURE__ */ t.createElement(
158
+ B,
159
+ {
160
+ id: "titleColor",
161
+ value: s.color || "",
162
+ onChange: k,
163
+ view: "gradient",
164
+ fillMode: "outline"
165
+ }
166
+ )
167
+ )))))
168
+ );
169
+ };
170
+ export {
171
+ nt as TitlePanel
172
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),h=require("@progress/kendo-react-layout"),M=require("@progress/kendo-react-form"),E=require("../FormFieldSet.js"),m=require("../FormField.js"),g=require("@progress/kendo-react-inputs"),e=require("../../utils.js"),a=require("../../messages.js"),Y=require("@progress/kendo-react-intl"),j=require("@progress/kendo-react-animation"),x=require("@progress/kendo-react-dropdowns"),O=u=>{var f,v,F,b,L,S,V,C,T,p;const s=Y.useLocalization(),n=u.state,y=n.seriesType,d={text:s.toLanguageString(a.formatValueAxisLabelsFormatText,a.messages.formatValueAxisLabelsFormatText),value:""},c=[{value:"n0",text:s.toLanguageString(a.formatValueAxisLabelsFormatNumber,a.messages.formatValueAxisLabelsFormatNumber)},{value:"c0",text:s.toLanguageString(a.formatValueAxisLabelsFormatCurrency,a.messages.formatValueAxisLabelsFormatCurrency)},{value:"p0",text:s.toLanguageString(a.formatValueAxisLabelsFormatPercent,a.messages.formatValueAxisLabelsFormatPercent)}],[A,z]=l.useState(!1),I=l.useCallback(t=>{z(!t.expanded)},[]),P=t=>{u.onStateChange(e.updateState(n,e.ActionTypes.valueAxisTitleText,t.target.value))},k=t=>{const o=t.target.value||e.nullItem;e.ensureValue(o)&&u.onStateChange(e.updateState(n,e.ActionTypes.valueAxisTitleFontSize,o.value))},R=t=>{const o=t.target.value||e.nullItem;u.onStateChange(e.updateState(n,e.ActionTypes.valueAxisTitleFontName,o.value))},N=t=>{u.onStateChange(e.updateState(n,e.ActionTypes.valueAxisTitleColor,t.value))},w=t=>{const o=t.target.value||e.nullItem;e.ensureValue(o)&&u.onStateChange(e.updateState(n,e.ActionTypes.valueAxisLabelsFontSize,o.value))},q=t=>{const o=t.target.value||e.nullItem;u.onStateChange(e.updateState(n,e.ActionTypes.valueAxisLabelsFontName,o.value))},K=t=>{u.onStateChange(e.updateState(n,e.ActionTypes.valueAxisLabelsColor,t.value))},B=t=>{u.onStateChange(e.updateState(n,e.ActionTypes.valueAxisLabelsRotation,t.target.value))},D=t=>{const o=t.target.value;u.onStateChange(e.updateState(n,e.ActionTypes.valueAxisLabelsFormat,o.value))};return l.createElement(h.ExpansionPanel,{style:{maxWidth:"576px"},title:y==="scatter"?s.toLanguageString(a.formatYAxis,a.messages.formatYAxis):s.toLanguageString(a.formatValueAxis,a.messages.formatValueAxis),expanded:A,tabIndex:0,onAction:I},l.createElement(j.Reveal,null,A&&l.createElement(h.ExpansionPanelContent,null,l.createElement(M.FormElement,{onKeyDown:e.stopPropagation},l.createElement(E.FormFieldSet,{legend:s.toLanguageString(a.formatValueAxisTitle,a.messages.formatValueAxisTitle)},l.createElement("div",{className:"k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4"},l.createElement(m.FormField,{className:"k-col-span-2"},l.createElement(g.Input,{placeholder:s.toLanguageString(a.formatValueAxisTitlePlaceholder,a.messages.formatValueAxisTitlePlaceholder),value:((v=(f=n.valueAxis[0])==null?void 0:f.title)==null?void 0:v.text)||"",onChange:P})),l.createElement(m.FormField,{className:"k-col-span-2",editorId:"valueAxisTitleFont",labelText:s.toLanguageString(a.formatValueAxisTitleFont,a.messages.formatValueAxisTitleFont)},l.createElement(x.ComboBox,{id:"valueAxisTitleFont",data:e.fontNames,textField:"text",dataItemKey:"value",itemRender:e.itemRender,placeholder:s.toLanguageString(a.formatValueAxisTitleFontPlaceholder,a.messages.formatValueAxisTitleFontPlaceholder),value:e.fontNames.find(t=>{var o,i,r;return t.value===((r=e.parseFont(((i=(o=n.valueAxis[0])==null?void 0:o.title)==null?void 0:i.font)||""))==null?void 0:r.name)})||e.nullItem,onChange:R,...e.dropdownlistCommonProps})),l.createElement(m.FormField,{editorId:"valueAxisTitleFontSize",labelText:s.toLanguageString(a.formatValueAxisTitleSize,a.messages.formatValueAxisTitleSize)},l.createElement(x.ComboBox,{id:"valueAxisTitleFontSize",data:e.fontSizes,textField:"text",dataItemKey:"value",placeholder:s.toLanguageString(a.formatValueAxisTitleSizePlaceholder,a.messages.formatValueAxisTitleSizePlaceholder),value:e.fontSizes.find(t=>{var o,i,r;return t.value===((r=e.parseFont(((i=(o=n.valueAxis[0])==null?void 0:o.title)==null?void 0:i.font)||""))==null?void 0:r.size)})||e.nullItem,onChange:k,allowCustom:!0,...e.dropdownlistCommonProps})),l.createElement(m.FormField,{editorId:"valueAxisTitleColor",labelText:s.toLanguageString(a.formatValueAxisTitleColor,a.messages.formatValueAxisTitleColor)},l.createElement(g.ColorPicker,{id:"valueAxisTitleColor",view:"gradient",value:((b=(F=n.valueAxis[0])==null?void 0:F.title)==null?void 0:b.color)||"",onChange:N,fillMode:"outline"})))),l.createElement(E.FormFieldSet,{legend:s.toLanguageString(a.formatValueAxisLabels,a.messages.formatValueAxisLabels)},l.createElement("div",{className:"k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4"},l.createElement(m.FormField,{className:"k-col-span-2",editorId:"valueAxisLabelsFormat",labelText:s.toLanguageString(a.formatValueAxisLabelsFormat,a.messages.formatValueAxisLabelsFormat)},l.createElement(x.DropDownList,{id:"valueAxisLabelsFormat",data:c,textField:"text",dataItemKey:"value",defaultItem:d,value:c.find(t=>{var o,i;return t.value===((i=(o=n.valueAxis[0])==null?void 0:o.labels)==null?void 0:i.format)})||d,onChange:D,...e.dropdownlistCommonProps})),l.createElement(m.FormField,{className:"k-col-span-2",editorId:"valueAxisLabelsFont",labelText:s.toLanguageString(a.formatValueAxisLabelsFont,a.messages.formatValueAxisLabelsFont)},l.createElement(x.ComboBox,{id:"valueAxisLabelsFont",data:e.fontNames,textField:"text",dataItemKey:"value",placeholder:s.toLanguageString(a.formatValueAxisLabelsFontPlaceholder,a.messages.formatValueAxisLabelsFontPlaceholder),value:e.fontNames.find(t=>{var o,i,r;return t.value===((r=e.parseFont(((i=(o=n.valueAxis[0])==null?void 0:o.labels)==null?void 0:i.font)||""))==null?void 0:r.name)})||e.nullItem,onChange:q,itemRender:e.itemRender,...e.dropdownlistCommonProps})),l.createElement(m.FormField,{editorId:"valueAxisLabelsFontSize",labelText:s.toLanguageString(a.formatValueAxisLabelsSize,a.messages.formatValueAxisLabelsSize)},l.createElement(x.ComboBox,{id:"valueAxisLabelsFontSize",data:e.fontSizes,textField:"text",dataItemKey:"value",placeholder:s.toLanguageString(a.formatValueAxisLabelsSizePlaceholder,a.messages.formatValueAxisLabelsSizePlaceholder),value:e.fontSizes.find(t=>{var o,i,r;return t.value===((r=e.parseFont(((i=(o=n.valueAxis[0])==null?void 0:o.labels)==null?void 0:i.font)||""))==null?void 0:r.size)})||e.nullItem,onChange:w,allowCustom:!0,...e.dropdownlistCommonProps})),l.createElement(m.FormField,{editorId:"valueAxisLabelsColor",labelText:s.toLanguageString(a.formatValueAxisLabelsColor,a.messages.formatValueAxisLabelsColor)},l.createElement(g.ColorPicker,{id:"valueAxisLabelsColor",view:"gradient",value:((S=(L=n.valueAxis[0])==null?void 0:L.labels)==null?void 0:S.color)||"",onChange:K,fillMode:"outline"})),l.createElement(m.FormField,{editorId:"valueAxisLabelsRotation",labelText:s.toLanguageString(a.formatValueAxisLabelsRotation,a.messages.formatValueAxisLabelsRotation)},l.createElement(g.NumericTextBox,{id:"valueAxisLabelsRotation",value:typeof((C=(V=n.valueAxis[0])==null?void 0:V.labels)==null?void 0:C.rotation)=="number"?(p=(T=n.valueAxis[0])==null?void 0:T.labels)==null?void 0:p.rotation:null,placeholder:s.toLanguageString(a.formatValueAxisLabelsRotationAuto,a.messages.formatValueAxisLabelsRotationAuto),onChange:B,fillMode:"outline",min:-360,max:360,step:1}))))))))};exports.ValueAxisPanel=O;