@operato/chart 2.0.0-beta.25

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 (114) hide show
  1. package/.editorconfig +29 -0
  2. package/.storybook/main.js +3 -0
  3. package/.storybook/preview.js +29 -0
  4. package/.storybook/server.mjs +8 -0
  5. package/CHANGELOG.md +17 -0
  6. package/README.md +0 -0
  7. package/assets/images/icon-editor-gradient-direction.png +0 -0
  8. package/assets/images/icon-properties-label.png +0 -0
  9. package/assets/images/icon-properties-line-type.png +0 -0
  10. package/assets/images/icon-properties-table.png +0 -0
  11. package/assets/images/no-image.png +0 -0
  12. package/demo/index.html +33 -0
  13. package/dist/src/chartjs/config-converter.d.ts +29 -0
  14. package/dist/src/chartjs/config-converter.js +218 -0
  15. package/dist/src/chartjs/config-converter.js.map +1 -0
  16. package/dist/src/chartjs/ox-chart-js.d.ts +17 -0
  17. package/dist/src/chartjs/ox-chart-js.js +46 -0
  18. package/dist/src/chartjs/ox-chart-js.js.map +1 -0
  19. package/dist/src/editors/configurer.d.ts +52 -0
  20. package/dist/src/editors/configurer.js +198 -0
  21. package/dist/src/editors/configurer.js.map +1 -0
  22. package/dist/src/editors/index.d.ts +6 -0
  23. package/dist/src/editors/index.js +8 -0
  24. package/dist/src/editors/index.js.map +1 -0
  25. package/dist/src/editors/input-chart-abstract.d.ts +27 -0
  26. package/dist/src/editors/input-chart-abstract.js +273 -0
  27. package/dist/src/editors/input-chart-abstract.js.map +1 -0
  28. package/dist/src/editors/input-chart-multi-series-abstract.d.ts +17 -0
  29. package/dist/src/editors/input-chart-multi-series-abstract.js +418 -0
  30. package/dist/src/editors/input-chart-multi-series-abstract.js.map +1 -0
  31. package/dist/src/editors/input-chart-styles.d.ts +1 -0
  32. package/dist/src/editors/input-chart-styles.js +167 -0
  33. package/dist/src/editors/input-chart-styles.js.map +1 -0
  34. package/dist/src/editors/ox-input-chart-hbar.d.ts +11 -0
  35. package/dist/src/editors/ox-input-chart-hbar.js +220 -0
  36. package/dist/src/editors/ox-input-chart-hbar.js.map +1 -0
  37. package/dist/src/editors/ox-input-chart-mixed.d.ts +8 -0
  38. package/dist/src/editors/ox-input-chart-mixed.js +237 -0
  39. package/dist/src/editors/ox-input-chart-mixed.js.map +1 -0
  40. package/dist/src/editors/ox-input-chart-pie.d.ts +11 -0
  41. package/dist/src/editors/ox-input-chart-pie.js +67 -0
  42. package/dist/src/editors/ox-input-chart-pie.js.map +1 -0
  43. package/dist/src/editors/ox-input-chart-radar.d.ts +8 -0
  44. package/dist/src/editors/ox-input-chart-radar.js +52 -0
  45. package/dist/src/editors/ox-input-chart-radar.js.map +1 -0
  46. package/dist/src/editors/ox-property-editor-chart.d.ts +10 -0
  47. package/dist/src/editors/ox-property-editor-chart.js +79 -0
  48. package/dist/src/editors/ox-property-editor-chart.js.map +1 -0
  49. package/dist/src/index.d.ts +0 -0
  50. package/dist/src/index.js +2 -0
  51. package/dist/src/index.js.map +1 -0
  52. package/dist/src/scichart/ox-scichart.d.ts +35 -0
  53. package/dist/src/scichart/ox-scichart.js +122 -0
  54. package/dist/src/scichart/ox-scichart.js.map +1 -0
  55. package/dist/src/scichart/scichart-builder.d.ts +8 -0
  56. package/dist/src/scichart/scichart-builder.js +46 -0
  57. package/dist/src/scichart/scichart-builder.js.map +1 -0
  58. package/dist/stories/common.d.ts +2 -0
  59. package/dist/stories/common.js +44 -0
  60. package/dist/stories/common.js.map +1 -0
  61. package/dist/stories/ox-input-chart-hbar.stories.d.ts +25 -0
  62. package/dist/stories/ox-input-chart-hbar.stories.js +171 -0
  63. package/dist/stories/ox-input-chart-hbar.stories.js.map +1 -0
  64. package/dist/stories/ox-input-chart-mixed.stories.d.ts +25 -0
  65. package/dist/stories/ox-input-chart-mixed.stories.js +180 -0
  66. package/dist/stories/ox-input-chart-mixed.stories.js.map +1 -0
  67. package/dist/stories/ox-input-chart-pie.stories.d.ts +27 -0
  68. package/dist/stories/ox-input-chart-pie.stories.js +111 -0
  69. package/dist/stories/ox-input-chart-pie.stories.js.map +1 -0
  70. package/dist/stories/ox-input-chart-radar.stories.d.ts +27 -0
  71. package/dist/stories/ox-input-chart-radar.stories.js +122 -0
  72. package/dist/stories/ox-input-chart-radar.stories.js.map +1 -0
  73. package/dist/tsconfig.tsbuildinfo +1 -0
  74. package/package.json +104 -0
  75. package/src/chartjs/config-converter.ts +307 -0
  76. package/src/chartjs/ox-chart-js.ts +46 -0
  77. package/src/editors/configurer.ts +243 -0
  78. package/src/editors/index.ts +8 -0
  79. package/src/editors/input-chart-abstract.ts +315 -0
  80. package/src/editors/input-chart-multi-series-abstract.ts +429 -0
  81. package/src/editors/input-chart-styles.ts +167 -0
  82. package/src/editors/ox-input-chart-hbar.ts +226 -0
  83. package/src/editors/ox-input-chart-mixed.ts +240 -0
  84. package/src/editors/ox-input-chart-pie.ts +75 -0
  85. package/src/editors/ox-input-chart-radar.ts +54 -0
  86. package/src/editors/ox-property-editor-chart.ts +79 -0
  87. package/src/globat.d.ts +1 -0
  88. package/src/index.ts +0 -0
  89. package/src/scichart/ox-scichart.ts +143 -0
  90. package/src/scichart/scichart-builder.ts +87 -0
  91. package/src/types.d.ts +74 -0
  92. package/stories/common.ts +47 -0
  93. package/stories/ox-input-chart-hbar.stories.ts +185 -0
  94. package/stories/ox-input-chart-mixed.stories.ts +194 -0
  95. package/stories/ox-input-chart-pie.stories.ts +126 -0
  96. package/stories/ox-input-chart-radar.stories.ts +137 -0
  97. package/themes/dark-hc.css +151 -0
  98. package/themes/dark-mc.css +151 -0
  99. package/themes/dark.css +151 -0
  100. package/themes/grist-theme.css +177 -0
  101. package/themes/light-hc.css +151 -0
  102. package/themes/light-mc.css +151 -0
  103. package/themes/light.css +151 -0
  104. package/themes/md-typescale-styles.css +100 -0
  105. package/themes/spacing.css +43 -0
  106. package/themes/state-color.css +6 -0
  107. package/translations/en.json +44 -0
  108. package/translations/ja.json +44 -0
  109. package/translations/ko.json +44 -0
  110. package/translations/ms.json +8 -0
  111. package/translations/zh.json +44 -0
  112. package/tsconfig.json +24 -0
  113. package/web-dev-server.config.mjs +27 -0
  114. package/web-test-runner.config.mjs +41 -0
@@ -0,0 +1,171 @@
1
+ import { html } from 'lit';
2
+ import '../src/editors/ox-input-chart-hbar.js';
3
+ import '../src/chartjs/ox-chart-js.js';
4
+ import '../src/scichart/ox-scichart.js';
5
+ import { convertConfigure } from '../src/chartjs/config-converter.js';
6
+ import { getDefaultChartConfig } from './common.js';
7
+ export default {
8
+ title: 'ox-input-chart-hbar',
9
+ component: 'ox-input-chart-hbar',
10
+ argTypes: {
11
+ value: { control: 'object' }
12
+ }
13
+ };
14
+ const Template = ({ value }) => html `
15
+ <link
16
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
17
+ rel="stylesheet"
18
+ />
19
+ <link
20
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
21
+ rel="stylesheet"
22
+ />
23
+ <link
24
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
25
+ rel="stylesheet"
26
+ />
27
+
28
+ <link href="/themes/light.css" rel="stylesheet" />
29
+ <link href="/themes/dark.css" rel="stylesheet" />
30
+ <link href="/themes/spacing.css" rel="stylesheet" />
31
+
32
+ <style>
33
+ .container {
34
+ width: 100%;
35
+ height: 100%;
36
+
37
+ display: flex;
38
+ flex-direction: row;
39
+ overflow-y: auto;
40
+ padding: var(--spacing-medium);
41
+ }
42
+
43
+ .container.dark {
44
+ background-color: black;
45
+ }
46
+
47
+ #editor {
48
+ width: 300px;
49
+ }
50
+
51
+ #charts {
52
+ flex: 1;
53
+
54
+ display: flex;
55
+ flex-direction: column;
56
+ padding: 10px;
57
+ }
58
+
59
+ #chartjs {
60
+ flex: 1;
61
+ }
62
+
63
+ #scichart {
64
+ flex: 1;
65
+ }
66
+ </style>
67
+
68
+ <div class="container light">
69
+ <ox-input-chart-hbar
70
+ id="editor"
71
+ .value=${value}
72
+ @change=${async (e) => {
73
+ const target = e.currentTarget;
74
+ const config = target.value;
75
+ const chartjs = document.querySelector('#chartjs');
76
+ if (chartjs) {
77
+ ;
78
+ chartjs.config = convertConfigure(config, {});
79
+ }
80
+ const scichart = document.querySelector('#scichart');
81
+ if (scichart) {
82
+ ;
83
+ scichart.config = config;
84
+ }
85
+ const container = document.querySelector('.container');
86
+ if (container) {
87
+ const theme = config.options.theme;
88
+ if (theme == 'dark') {
89
+ container.classList.remove('light');
90
+ container.classList.add('dark');
91
+ }
92
+ else {
93
+ container.classList.remove('dark');
94
+ container.classList.add('light');
95
+ }
96
+ }
97
+ }}
98
+ ></ox-input-chart-hbar>
99
+ <div id="charts">
100
+ <ox-chart-js id="chartjs"></ox-chart-js>
101
+ <ox-scichart id="scichart"></ox-scichart>
102
+ </div>
103
+ </div>
104
+ `;
105
+ export const Default = Template.bind({});
106
+ Default.args = {};
107
+ // 다양한 데이터셋과 함께 사용하는 스토리
108
+ export const WithData = Template.bind({});
109
+ WithData.args = {
110
+ value: {
111
+ ...getDefaultChartConfig('bar'),
112
+ data: {
113
+ datasets: [
114
+ {
115
+ label: 'Series 1',
116
+ data: [10, 20, 30],
117
+ backgroundColor: 'rgba(255, 99, 132, 0.2)',
118
+ borderColor: 'rgba(255, 99, 132, 1)',
119
+ borderWidth: 1
120
+ },
121
+ {
122
+ label: 'Series 2',
123
+ data: [15, 25, 35],
124
+ backgroundColor: 'rgba(54, 162, 235, 0.2)',
125
+ borderColor: 'rgba(54, 162, 235, 1)',
126
+ borderWidth: 1
127
+ }
128
+ ],
129
+ labelDataKey: 'labels'
130
+ },
131
+ options: {
132
+ scales: {
133
+ xAxes: [{ ticks: { beginAtZero: true } }],
134
+ yAxes: [{ ticks: { beginAtZero: true } }]
135
+ },
136
+ legend: { display: true }
137
+ }
138
+ }
139
+ };
140
+ export const MultiAxis = Template.bind({});
141
+ MultiAxis.args = {
142
+ value: {
143
+ ...getDefaultChartConfig('bar'),
144
+ options: {
145
+ ...getDefaultChartConfig('bar').options,
146
+ multiAxis: true
147
+ },
148
+ data: {
149
+ datasets: [
150
+ {
151
+ label: 'Series 1',
152
+ data: [10, 20, 30],
153
+ backgroundColor: 'rgba(255, 99, 132, 0.2)',
154
+ borderColor: 'rgba(255, 99, 132, 1)',
155
+ borderWidth: 1,
156
+ yAxisID: 'left'
157
+ },
158
+ {
159
+ label: 'Series 2',
160
+ data: [15, 25, 35],
161
+ backgroundColor: 'rgba(54, 162, 235, 0.2)',
162
+ borderColor: 'rgba(54, 162, 235, 1)',
163
+ borderWidth: 1,
164
+ yAxisID: 'right'
165
+ }
166
+ ],
167
+ labelDataKey: 'labels'
168
+ }
169
+ }
170
+ };
171
+ //# sourceMappingURL=ox-input-chart-hbar.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-input-chart-hbar.stories.js","sourceRoot":"","sources":["../../stories/ox-input-chart-hbar.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit'\n\nimport '../src/editors/ox-input-chart-hbar.js'\nimport '../src/chartjs/ox-chart-js.js'\nimport '../src/scichart/ox-scichart.js'\nimport { convertConfigure } from '../src/chartjs/config-converter.js'\n\nimport { getDefaultChartConfig } from './common.js'\n\nexport default {\n title: 'ox-input-chart-hbar',\n component: 'ox-input-chart-hbar',\n argTypes: {\n value: { control: 'object' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n value: OperatoChart.ChartConfig\n}\n\nconst Template: Story<ArgTypes> = ({ value }: ArgTypes) => html`\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n\n <link href=\"/themes/light.css\" rel=\"stylesheet\" />\n <link href=\"/themes/dark.css\" rel=\"stylesheet\" />\n <link href=\"/themes/spacing.css\" rel=\"stylesheet\" />\n\n <style>\n .container {\n width: 100%;\n height: 100%;\n\n display: flex;\n flex-direction: row;\n overflow-y: auto;\n padding: var(--spacing-medium);\n }\n\n .container.dark {\n background-color: black;\n }\n\n #editor {\n width: 300px;\n }\n\n #charts {\n flex: 1;\n\n display: flex;\n flex-direction: column;\n padding: 10px;\n }\n\n #chartjs {\n flex: 1;\n }\n\n #scichart {\n flex: 1;\n }\n </style>\n\n <div class=\"container light\">\n <ox-input-chart-hbar\n id=\"editor\"\n .value=${value}\n @change=${async (e: CustomEvent) => {\n const target = e.currentTarget as any\n const config = target.value\n const chartjs = document.querySelector('#chartjs') as HTMLElement\n if (chartjs) {\n ;(chartjs as any).config = convertConfigure(config, {})\n }\n const scichart = document.querySelector('#scichart') as HTMLElement\n if (scichart) {\n ;(scichart as any).config = config\n }\n\n const container = document.querySelector('.container') as HTMLElement\n if (container) {\n const theme = config.options.theme\n if (theme == 'dark') {\n container.classList.remove('light')\n container.classList.add('dark')\n } else {\n container.classList.remove('dark')\n container.classList.add('light')\n }\n }\n }}\n ></ox-input-chart-hbar>\n <div id=\"charts\">\n <ox-chart-js id=\"chartjs\"></ox-chart-js>\n <ox-scichart id=\"scichart\"></ox-scichart>\n </div>\n </div>\n`\n\nexport const Default = Template.bind({})\nDefault.args = {}\n\n// 다양한 데이터셋과 함께 사용하는 스토리\nexport const WithData = Template.bind({})\nWithData.args = {\n value: {\n ...getDefaultChartConfig('bar'),\n data: {\n datasets: [\n {\n label: 'Series 1',\n data: [10, 20, 30],\n backgroundColor: 'rgba(255, 99, 132, 0.2)',\n borderColor: 'rgba(255, 99, 132, 1)',\n borderWidth: 1\n },\n {\n label: 'Series 2',\n data: [15, 25, 35],\n backgroundColor: 'rgba(54, 162, 235, 0.2)',\n borderColor: 'rgba(54, 162, 235, 1)',\n borderWidth: 1\n }\n ],\n labelDataKey: 'labels'\n },\n options: {\n scales: {\n xAxes: [{ ticks: { beginAtZero: true } }],\n yAxes: [{ ticks: { beginAtZero: true } }]\n },\n legend: { display: true }\n }\n }\n}\n\nexport const MultiAxis = Template.bind({})\nMultiAxis.args = {\n value: {\n ...getDefaultChartConfig('bar'),\n options: {\n ...getDefaultChartConfig('bar').options,\n multiAxis: true\n },\n data: {\n datasets: [\n {\n label: 'Series 1',\n data: [10, 20, 30],\n backgroundColor: 'rgba(255, 99, 132, 0.2)',\n borderColor: 'rgba(255, 99, 132, 1)',\n borderWidth: 1,\n yAxisID: 'left'\n },\n {\n label: 'Series 2',\n data: [15, 25, 35],\n backgroundColor: 'rgba(54, 162, 235, 0.2)',\n borderColor: 'rgba(54, 162, 235, 1)',\n borderWidth: 1,\n yAxisID: 'right'\n }\n ],\n labelDataKey: 'labels'\n }\n }\n}\n"]}
@@ -0,0 +1,25 @@
1
+ import { TemplateResult } from 'lit';
2
+ import '../src/editors/ox-input-chart-mixed.js';
3
+ import '../src/chartjs/ox-chart-js.js';
4
+ import '../src/scichart/ox-scichart.js';
5
+ declare const _default: {
6
+ title: string;
7
+ component: string;
8
+ argTypes: {
9
+ value: {
10
+ control: string;
11
+ };
12
+ };
13
+ };
14
+ export default _default;
15
+ interface Story<T> {
16
+ (args: T): TemplateResult;
17
+ args?: Partial<T>;
18
+ argTypes?: Record<string, unknown>;
19
+ }
20
+ interface ArgTypes {
21
+ value: OperatoChart.ChartConfig;
22
+ }
23
+ export declare const Default: Story<ArgTypes>;
24
+ export declare const WithData: Story<ArgTypes>;
25
+ export declare const MultiAxis: Story<ArgTypes>;
@@ -0,0 +1,180 @@
1
+ import { html } from 'lit';
2
+ import '../src/editors/ox-input-chart-mixed.js';
3
+ import '../src/chartjs/ox-chart-js.js';
4
+ import '../src/scichart/ox-scichart.js';
5
+ import { convertConfigure } from '../src/chartjs/config-converter.js';
6
+ import { getDefaultChartConfig } from './common.js';
7
+ export default {
8
+ title: 'ox-input-chart-mixed',
9
+ component: 'ox-input-chart-mixed',
10
+ argTypes: {
11
+ value: { control: 'object' }
12
+ }
13
+ };
14
+ const Template = ({ value }) => html `
15
+ <link
16
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
17
+ rel="stylesheet"
18
+ />
19
+ <link
20
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
21
+ rel="stylesheet"
22
+ />
23
+ <link
24
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
25
+ rel="stylesheet"
26
+ />
27
+
28
+ <link href="/themes/light.css" rel="stylesheet" />
29
+ <link href="/themes/dark.css" rel="stylesheet" />
30
+ <link href="/themes/spacing.css" rel="stylesheet" />
31
+
32
+ <style>
33
+ .container {
34
+ width: 100%;
35
+ height: 100%;
36
+
37
+ display: flex;
38
+ flex-direction: row;
39
+ overflow-y: auto;
40
+ padding: var(--spacing-medium);
41
+ }
42
+
43
+ .container.dark {
44
+ background-color: black;
45
+ }
46
+
47
+ #editor {
48
+ width: 300px;
49
+ }
50
+
51
+ #charts {
52
+ flex: 1;
53
+
54
+ display: flex;
55
+ flex-direction: column;
56
+ padding: 10px;
57
+ }
58
+
59
+ #chartjs {
60
+ flex: 1;
61
+ }
62
+
63
+ #scichart {
64
+ flex: 1;
65
+ }
66
+ </style>
67
+
68
+ <div class="container light">
69
+ <ox-input-chart-mixed
70
+ id="editor"
71
+ .value=${value}
72
+ @change=${(e) => {
73
+ const target = e.currentTarget;
74
+ const config = target.value;
75
+ const chartjs = document.querySelector('#chartjs');
76
+ if (chartjs) {
77
+ ;
78
+ chartjs.config = convertConfigure(config, {});
79
+ }
80
+ const scichart = document.querySelector('#scichart');
81
+ if (scichart) {
82
+ ;
83
+ scichart.config = config;
84
+ }
85
+ const container = document.querySelector('.container');
86
+ if (container) {
87
+ const theme = config.options.theme;
88
+ if (theme == 'dark') {
89
+ container.classList.remove('light');
90
+ container.classList.add('dark');
91
+ }
92
+ else {
93
+ container.classList.remove('dark');
94
+ container.classList.add('light');
95
+ }
96
+ }
97
+ }}
98
+ ></ox-input-chart-mixed>
99
+ <div id="charts">
100
+ <ox-chart-js id="chartjs"></ox-chart-js>
101
+ <ox-scichart id="scichart"></ox-scichart>
102
+ </div>
103
+ </div>
104
+ `;
105
+ export const Default = Template.bind({});
106
+ Default.args = {};
107
+ export const WithData = Template.bind({});
108
+ WithData.args = {
109
+ value: {
110
+ ...getDefaultChartConfig('mixed'),
111
+ data: {
112
+ datasets: [
113
+ {
114
+ label: 'Bar Series',
115
+ type: 'bar',
116
+ data: [10, 20, 30],
117
+ backgroundColor: 'rgba(255, 99, 132, 0.2)',
118
+ borderColor: 'rgba(255, 99, 132, 1)',
119
+ borderWidth: 1
120
+ },
121
+ {
122
+ label: 'Line Series',
123
+ type: 'line',
124
+ data: [15, 25, 35],
125
+ borderColor: 'rgba(54, 162, 235, 1)',
126
+ borderWidth: 1,
127
+ fill: false,
128
+ lineTension: 0.4,
129
+ pointStyle: 'circle',
130
+ pointRadius: 3
131
+ }
132
+ ],
133
+ labelDataKey: 'labels'
134
+ },
135
+ options: {
136
+ scales: {
137
+ xAxes: [{ ticks: { beginAtZero: true } }],
138
+ yAxes: [{ ticks: { beginAtZero: true } }]
139
+ },
140
+ legend: { display: true }
141
+ }
142
+ }
143
+ };
144
+ export const MultiAxis = Template.bind({});
145
+ MultiAxis.args = {
146
+ value: {
147
+ ...getDefaultChartConfig('mixed'),
148
+ options: {
149
+ ...getDefaultChartConfig('mixed').options,
150
+ multiAxis: true
151
+ },
152
+ data: {
153
+ datasets: [
154
+ {
155
+ label: 'Bar Series',
156
+ type: 'bar',
157
+ data: [10, 20, 30],
158
+ backgroundColor: 'rgba(255, 99, 132, 0.2)',
159
+ borderColor: 'rgba(255, 99, 132, 1)',
160
+ borderWidth: 1,
161
+ yAxisID: 'left'
162
+ },
163
+ {
164
+ label: 'Line Series',
165
+ type: 'line',
166
+ data: [15, 25, 35],
167
+ borderColor: 'rgba(54, 162, 235, 1)',
168
+ borderWidth: 1,
169
+ fill: false,
170
+ lineTension: 0.4,
171
+ pointStyle: 'circle',
172
+ pointRadius: 3,
173
+ yAxisID: 'right'
174
+ }
175
+ ],
176
+ labelDataKey: 'labels'
177
+ }
178
+ }
179
+ };
180
+ //# sourceMappingURL=ox-input-chart-mixed.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-input-chart-mixed.stories.js","sourceRoot":"","sources":["../../stories/ox-input-chart-mixed.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit'\n\nimport '../src/editors/ox-input-chart-mixed.js'\nimport '../src/chartjs/ox-chart-js.js'\nimport '../src/scichart/ox-scichart.js'\nimport { convertConfigure } from '../src/chartjs/config-converter.js'\n\nimport { getDefaultChartConfig } from './common.js'\n\nexport default {\n title: 'ox-input-chart-mixed',\n component: 'ox-input-chart-mixed',\n argTypes: {\n value: { control: 'object' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n value: OperatoChart.ChartConfig\n}\n\nconst Template: Story<ArgTypes> = ({ value }: ArgTypes) => html`\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n\n <link href=\"/themes/light.css\" rel=\"stylesheet\" />\n <link href=\"/themes/dark.css\" rel=\"stylesheet\" />\n <link href=\"/themes/spacing.css\" rel=\"stylesheet\" />\n\n <style>\n .container {\n width: 100%;\n height: 100%;\n\n display: flex;\n flex-direction: row;\n overflow-y: auto;\n padding: var(--spacing-medium);\n }\n\n .container.dark {\n background-color: black;\n }\n\n #editor {\n width: 300px;\n }\n\n #charts {\n flex: 1;\n\n display: flex;\n flex-direction: column;\n padding: 10px;\n }\n\n #chartjs {\n flex: 1;\n }\n\n #scichart {\n flex: 1;\n }\n </style>\n\n <div class=\"container light\">\n <ox-input-chart-mixed\n id=\"editor\"\n .value=${value}\n @change=${(e: CustomEvent) => {\n const target = e.currentTarget as any\n const config = target.value\n const chartjs = document.querySelector('#chartjs') as HTMLElement\n if (chartjs) {\n ;(chartjs as any).config = convertConfigure(config, {})\n }\n const scichart = document.querySelector('#scichart') as HTMLElement\n if (scichart) {\n ;(scichart as any).config = config\n }\n\n const container = document.querySelector('.container') as HTMLElement\n if (container) {\n const theme = config.options.theme\n if (theme == 'dark') {\n container.classList.remove('light')\n container.classList.add('dark')\n } else {\n container.classList.remove('dark')\n container.classList.add('light')\n }\n }\n }}\n ></ox-input-chart-mixed>\n <div id=\"charts\">\n <ox-chart-js id=\"chartjs\"></ox-chart-js>\n <ox-scichart id=\"scichart\"></ox-scichart>\n </div>\n </div>\n`\n\nexport const Default = Template.bind({})\nDefault.args = {}\n\nexport const WithData = Template.bind({})\nWithData.args = {\n value: {\n ...getDefaultChartConfig('mixed'),\n data: {\n datasets: [\n {\n label: 'Bar Series',\n type: 'bar',\n data: [10, 20, 30],\n backgroundColor: 'rgba(255, 99, 132, 0.2)',\n borderColor: 'rgba(255, 99, 132, 1)',\n borderWidth: 1\n },\n {\n label: 'Line Series',\n type: 'line',\n data: [15, 25, 35],\n borderColor: 'rgba(54, 162, 235, 1)',\n borderWidth: 1,\n fill: false,\n lineTension: 0.4,\n pointStyle: 'circle',\n pointRadius: 3\n }\n ],\n labelDataKey: 'labels'\n },\n options: {\n scales: {\n xAxes: [{ ticks: { beginAtZero: true } }],\n yAxes: [{ ticks: { beginAtZero: true } }]\n },\n legend: { display: true }\n }\n }\n}\n\nexport const MultiAxis = Template.bind({})\nMultiAxis.args = {\n value: {\n ...getDefaultChartConfig('mixed'),\n options: {\n ...getDefaultChartConfig('mixed').options,\n multiAxis: true\n },\n data: {\n datasets: [\n {\n label: 'Bar Series',\n type: 'bar',\n data: [10, 20, 30],\n backgroundColor: 'rgba(255, 99, 132, 0.2)',\n borderColor: 'rgba(255, 99, 132, 1)',\n borderWidth: 1,\n yAxisID: 'left'\n },\n {\n label: 'Line Series',\n type: 'line',\n data: [15, 25, 35],\n borderColor: 'rgba(54, 162, 235, 1)',\n borderWidth: 1,\n fill: false,\n lineTension: 0.4,\n pointStyle: 'circle',\n pointRadius: 3,\n yAxisID: 'right'\n }\n ],\n labelDataKey: 'labels'\n }\n }\n}\n"]}
@@ -0,0 +1,27 @@
1
+ import { TemplateResult } from 'lit';
2
+ import '../src/editors/ox-input-chart-pie.js';
3
+ import '../src/chartjs/ox-chart-js.js';
4
+ declare const _default: {
5
+ title: string;
6
+ component: string;
7
+ argTypes: {
8
+ value: {
9
+ control: string;
10
+ };
11
+ currentSeriesIndex: {
12
+ control: string;
13
+ };
14
+ };
15
+ };
16
+ export default _default;
17
+ interface Story<T> {
18
+ (args: T): TemplateResult;
19
+ args?: Partial<T>;
20
+ argTypes?: Record<string, unknown>;
21
+ }
22
+ interface ArgTypes {
23
+ value: OperatoChart.ChartConfig;
24
+ currentSeriesIndex: number;
25
+ }
26
+ export declare const Default: Story<ArgTypes>;
27
+ export declare const WithData: Story<ArgTypes>;
@@ -0,0 +1,111 @@
1
+ import { html } from 'lit';
2
+ import '../src/editors/ox-input-chart-pie.js';
3
+ import '../src/chartjs/ox-chart-js.js';
4
+ import { convertConfigure } from '../src/chartjs/config-converter.js';
5
+ import { getDefaultChartConfig } from './common.js';
6
+ export default {
7
+ title: 'ox-input-chart-pie',
8
+ component: 'ox-input-chart-pie',
9
+ argTypes: {
10
+ value: { control: 'object' },
11
+ currentSeriesIndex: { control: 'number' }
12
+ }
13
+ };
14
+ const Template = ({ value, currentSeriesIndex }) => html `
15
+ <link
16
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
17
+ rel="stylesheet"
18
+ />
19
+ <link
20
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
21
+ rel="stylesheet"
22
+ />
23
+ <link
24
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
25
+ rel="stylesheet"
26
+ />
27
+
28
+ <link href="/themes/light.css" rel="stylesheet" />
29
+ <link href="/themes/dark.css" rel="stylesheet" />
30
+ <link href="/themes/spacing.css" rel="stylesheet" />
31
+
32
+ <style>
33
+ .container {
34
+ width: 100%;
35
+ height: 100%;
36
+
37
+ display: flex;
38
+ flex-direction: row;
39
+ overflow-y: auto;
40
+ padding: var(--spacing-medium);
41
+ }
42
+
43
+ .container.dark {
44
+ background-color: black;
45
+ }
46
+
47
+ #editor {
48
+ width: 300px;
49
+ }
50
+
51
+ #chart {
52
+ flex: 1;
53
+ }
54
+ </style>
55
+
56
+ <div class="container light">
57
+ <ox-input-chart-pie
58
+ id="editor"
59
+ .value=${value}
60
+ @change=${(e) => {
61
+ const target = e.currentTarget;
62
+ const config = target.value;
63
+ const chart = document.querySelector('#chart');
64
+ if (chart) {
65
+ ;
66
+ chart.config = convertConfigure(config, {});
67
+ }
68
+ const container = document.querySelector('.container');
69
+ if (container) {
70
+ const theme = config.options.theme;
71
+ if (theme == 'dark') {
72
+ container.classList.remove('light');
73
+ container.classList.add('dark');
74
+ }
75
+ else {
76
+ container.classList.remove('dark');
77
+ container.classList.add('light');
78
+ }
79
+ }
80
+ }}
81
+ ></ox-input-chart-pie>
82
+ <ox-chart-js id="chart"></ox-chart-js>
83
+ </div>
84
+ `;
85
+ export const Default = Template.bind({});
86
+ Default.args = {
87
+ currentSeriesIndex: 0
88
+ };
89
+ export const WithData = Template.bind({});
90
+ WithData.args = {
91
+ value: {
92
+ ...getDefaultChartConfig('pie'),
93
+ data: {
94
+ datasets: [
95
+ {
96
+ label: 'Pie Series 1',
97
+ data: [10, 20, 30],
98
+ backgroundColor: ['rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(75, 192, 192, 0.2)'],
99
+ borderColor: ['rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(75, 192, 192, 1)'],
100
+ borderWidth: 1
101
+ }
102
+ ],
103
+ labelDataKey: 'labels'
104
+ },
105
+ options: {
106
+ legend: { display: true }
107
+ }
108
+ },
109
+ currentSeriesIndex: 0
110
+ };
111
+ //# sourceMappingURL=ox-input-chart-pie.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-input-chart-pie.stories.js","sourceRoot":"","sources":["../../stories/ox-input-chart-pie.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAE1C,OAAO,sCAAsC,CAAA;AAC7C,OAAO,+BAA+B,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD,eAAe;IACb,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC5B,kBAAkB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;KAC1C;CACF,CAAA;AAaD,MAAM,QAAQ,GAAoB,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA6CpE,KAAK;gBACJ,CAAC,CAAc,EAAE,EAAE;IAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,aAAoB,CAAA;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAA;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAgB,CAAA;IAC7D,IAAI,KAAK,EAAE,CAAC;QACV,CAAC;QAAC,KAAa,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAgB,CAAA;IACrE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAA;QAClC,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACpB,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACnC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAClC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;AACH,CAAC;;;;CAIN,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,kBAAkB,EAAE,CAAC;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACzC,QAAQ,CAAC,IAAI,GAAG;IACd,KAAK,EAAE;QACL,GAAG,qBAAqB,CAAC,KAAK,CAAC;QAC/B,IAAI,EAAE;YACJ,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;oBAClB,eAAe,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,yBAAyB,CAAC;oBAClG,WAAW,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,CAAC;oBACxF,WAAW,EAAE,CAAC;iBACf;aACF;YACD,YAAY,EAAE,QAAQ;SACvB;QACD,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC1B;KACF;IACD,kBAAkB,EAAE,CAAC;CACtB,CAAA","sourcesContent":["import { html, TemplateResult } from 'lit'\n\nimport '../src/editors/ox-input-chart-pie.js'\nimport '../src/chartjs/ox-chart-js.js'\nimport { convertConfigure } from '../src/chartjs/config-converter.js'\n\nimport { getDefaultChartConfig } from './common.js'\n\nexport default {\n title: 'ox-input-chart-pie',\n component: 'ox-input-chart-pie',\n argTypes: {\n value: { control: 'object' },\n currentSeriesIndex: { control: 'number' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n value: OperatoChart.ChartConfig\n currentSeriesIndex: number\n}\n\nconst Template: Story<ArgTypes> = ({ value, currentSeriesIndex }: ArgTypes) => html`\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n\n <link href=\"/themes/light.css\" rel=\"stylesheet\" />\n <link href=\"/themes/dark.css\" rel=\"stylesheet\" />\n <link href=\"/themes/spacing.css\" rel=\"stylesheet\" />\n\n <style>\n .container {\n width: 100%;\n height: 100%;\n\n display: flex;\n flex-direction: row;\n overflow-y: auto;\n padding: var(--spacing-medium);\n }\n\n .container.dark {\n background-color: black;\n }\n\n #editor {\n width: 300px;\n }\n\n #chart {\n flex: 1;\n }\n </style>\n\n <div class=\"container light\">\n <ox-input-chart-pie\n id=\"editor\"\n .value=${value}\n @change=${(e: CustomEvent) => {\n const target = e.currentTarget as any\n const config = target.value\n const chart = document.querySelector('#chart') as HTMLElement\n if (chart) {\n ;(chart as any).config = convertConfigure(config, {})\n }\n\n const container = document.querySelector('.container') as HTMLElement\n if (container) {\n const theme = config.options.theme\n if (theme == 'dark') {\n container.classList.remove('light')\n container.classList.add('dark')\n } else {\n container.classList.remove('dark')\n container.classList.add('light')\n }\n }\n }}\n ></ox-input-chart-pie>\n <ox-chart-js id=\"chart\"></ox-chart-js>\n </div>\n`\n\nexport const Default = Template.bind({})\nDefault.args = {\n currentSeriesIndex: 0\n}\n\nexport const WithData = Template.bind({})\nWithData.args = {\n value: {\n ...getDefaultChartConfig('pie'),\n data: {\n datasets: [\n {\n label: 'Pie Series 1',\n data: [10, 20, 30],\n backgroundColor: ['rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(75, 192, 192, 0.2)'],\n borderColor: ['rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(75, 192, 192, 1)'],\n borderWidth: 1\n }\n ],\n labelDataKey: 'labels'\n },\n options: {\n legend: { display: true }\n }\n },\n currentSeriesIndex: 0\n}\n"]}
@@ -0,0 +1,27 @@
1
+ import { TemplateResult } from 'lit';
2
+ import '../src/editors/ox-input-chart-radar.js';
3
+ import '../src/chartjs/ox-chart-js.js';
4
+ declare const _default: {
5
+ title: string;
6
+ component: string;
7
+ argTypes: {
8
+ value: {
9
+ control: string;
10
+ };
11
+ currentSeriesIndex: {
12
+ control: string;
13
+ };
14
+ };
15
+ };
16
+ export default _default;
17
+ interface Story<T> {
18
+ (args: T): TemplateResult;
19
+ args?: Partial<T>;
20
+ argTypes?: Record<string, unknown>;
21
+ }
22
+ interface ArgTypes {
23
+ value: OperatoChart.ChartConfig;
24
+ currentSeriesIndex: number;
25
+ }
26
+ export declare const Default: Story<ArgTypes>;
27
+ export declare const WithData: Story<ArgTypes>;