@constela/ui 0.2.0 → 0.3.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.
Files changed (41) hide show
  1. package/README.md +1 -1
  2. package/components/accordion/accordion-content.constela.json +20 -0
  3. package/components/accordion/accordion-item.constela.json +20 -0
  4. package/components/accordion/accordion-trigger.constela.json +21 -0
  5. package/components/accordion/accordion.constela.json +18 -0
  6. package/components/accordion/accordion.styles.json +54 -0
  7. package/components/accordion/accordion.test.ts +608 -0
  8. package/components/calendar/calendar.constela.json +195 -0
  9. package/components/calendar/calendar.styles.json +33 -0
  10. package/components/calendar/calendar.test.ts +458 -0
  11. package/components/chart/area-chart.constela.json +482 -0
  12. package/components/chart/bar-chart.constela.json +342 -0
  13. package/components/chart/chart-axis.constela.json +224 -0
  14. package/components/chart/chart-legend.constela.json +82 -0
  15. package/components/chart/chart-tooltip.constela.json +61 -0
  16. package/components/chart/chart.styles.json +183 -0
  17. package/components/chart/chart.test.ts +3260 -0
  18. package/components/chart/donut-chart.constela.json +369 -0
  19. package/components/chart/line-chart.constela.json +380 -0
  20. package/components/chart/pie-chart.constela.json +259 -0
  21. package/components/chart/radar-chart.constela.json +297 -0
  22. package/components/chart/scatter-chart.constela.json +300 -0
  23. package/components/data-table/data-table-cell.constela.json +22 -0
  24. package/components/data-table/data-table-header.constela.json +30 -0
  25. package/components/data-table/data-table-pagination.constela.json +19 -0
  26. package/components/data-table/data-table-row.constela.json +30 -0
  27. package/components/data-table/data-table.constela.json +32 -0
  28. package/components/data-table/data-table.styles.json +84 -0
  29. package/components/data-table/data-table.test.ts +873 -0
  30. package/components/datepicker/datepicker.constela.json +128 -0
  31. package/components/datepicker/datepicker.styles.json +47 -0
  32. package/components/datepicker/datepicker.test.ts +540 -0
  33. package/components/tree/tree-node.constela.json +26 -0
  34. package/components/tree/tree.constela.json +24 -0
  35. package/components/tree/tree.styles.json +50 -0
  36. package/components/tree/tree.test.ts +542 -0
  37. package/components/virtual-scroll/virtual-scroll.constela.json +27 -0
  38. package/components/virtual-scroll/virtual-scroll.styles.json +17 -0
  39. package/components/virtual-scroll/virtual-scroll.test.ts +345 -0
  40. package/dist/index.d.ts +1 -2
  41. package/package.json +3 -3
@@ -0,0 +1,369 @@
1
+ {
2
+ "params": {
3
+ "data": { "type": "list", "required": true },
4
+ "valueKey": { "type": "string", "required": true },
5
+ "labelKey": { "type": "string", "required": false },
6
+ "width": { "type": "number", "required": false },
7
+ "height": { "type": "number", "required": false },
8
+ "colors": { "type": "list", "required": false },
9
+ "showLabels": { "type": "boolean", "required": false },
10
+ "showPercentage": { "type": "boolean", "required": false },
11
+ "innerRadius": { "type": "number", "required": false },
12
+ "centerLabel": { "type": "string", "required": false }
13
+ },
14
+ "view": {
15
+ "kind": "element",
16
+ "tag": "svg",
17
+ "props": {
18
+ "role": { "expr": "lit", "value": "img" },
19
+ "aria-label": { "expr": "lit", "value": "Donut Chart" },
20
+ "aria-labelledby": { "expr": "lit", "value": "donut-chart-title" },
21
+ "viewBox": {
22
+ "expr": "call",
23
+ "target": null,
24
+ "method": "concat",
25
+ "args": [
26
+ { "expr": "lit", "value": "0 0 " },
27
+ {
28
+ "expr": "cond",
29
+ "test": { "expr": "param", "name": "width" },
30
+ "then": { "expr": "param", "name": "width" },
31
+ "else": { "expr": "lit", "value": 300 }
32
+ },
33
+ { "expr": "lit", "value": " " },
34
+ {
35
+ "expr": "cond",
36
+ "test": { "expr": "param", "name": "height" },
37
+ "then": { "expr": "param", "name": "height" },
38
+ "else": { "expr": "lit", "value": 300 }
39
+ }
40
+ ]
41
+ },
42
+ "className": {
43
+ "expr": "style",
44
+ "preset": "chartSvg",
45
+ "props": {
46
+ "size": { "expr": "lit", "value": "default" }
47
+ }
48
+ }
49
+ },
50
+ "children": [
51
+ {
52
+ "kind": "element",
53
+ "tag": "title",
54
+ "props": {
55
+ "id": { "expr": "lit", "value": "donut-chart-title" }
56
+ },
57
+ "children": [
58
+ { "kind": "text", "content": { "expr": "lit", "value": "Donut Chart" } }
59
+ ]
60
+ },
61
+ {
62
+ "kind": "element",
63
+ "tag": "g",
64
+ "props": {
65
+ "transform": {
66
+ "expr": "call",
67
+ "target": null,
68
+ "method": "concat",
69
+ "args": [
70
+ { "expr": "lit", "value": "translate(" },
71
+ {
72
+ "expr": "bin",
73
+ "op": "/",
74
+ "left": {
75
+ "expr": "cond",
76
+ "test": { "expr": "param", "name": "width" },
77
+ "then": { "expr": "param", "name": "width" },
78
+ "else": { "expr": "lit", "value": 300 }
79
+ },
80
+ "right": { "expr": "lit", "value": 2 }
81
+ },
82
+ { "expr": "lit", "value": ", " },
83
+ {
84
+ "expr": "bin",
85
+ "op": "/",
86
+ "left": {
87
+ "expr": "cond",
88
+ "test": { "expr": "param", "name": "height" },
89
+ "then": { "expr": "param", "name": "height" },
90
+ "else": { "expr": "lit", "value": 300 }
91
+ },
92
+ "right": { "expr": "lit", "value": 2 }
93
+ },
94
+ { "expr": "lit", "value": ")" }
95
+ ]
96
+ }
97
+ },
98
+ "children": [
99
+ {
100
+ "kind": "each",
101
+ "items": {
102
+ "expr": "call",
103
+ "target": null,
104
+ "method": "getDonutSlices",
105
+ "args": [
106
+ { "expr": "param", "name": "data" },
107
+ { "expr": "param", "name": "valueKey" },
108
+ {
109
+ "expr": "cond",
110
+ "test": { "expr": "param", "name": "innerRadius" },
111
+ "then": { "expr": "param", "name": "innerRadius" },
112
+ "else": { "expr": "lit", "value": 0.6 }
113
+ }
114
+ ]
115
+ },
116
+ "as": "slice",
117
+ "index": "idx",
118
+ "body": {
119
+ "kind": "element",
120
+ "tag": "path",
121
+ "props": {
122
+ "d": {
123
+ "expr": "call",
124
+ "target": null,
125
+ "method": "getArcPath",
126
+ "args": [
127
+ { "expr": "lit", "value": 0 },
128
+ { "expr": "lit", "value": 0 },
129
+ {
130
+ "expr": "bin",
131
+ "op": "*",
132
+ "left": {
133
+ "expr": "bin",
134
+ "op": "/",
135
+ "left": {
136
+ "expr": "call",
137
+ "target": { "expr": "var", "name": "Math" },
138
+ "method": "min",
139
+ "args": [
140
+ {
141
+ "expr": "cond",
142
+ "test": { "expr": "param", "name": "width" },
143
+ "then": { "expr": "param", "name": "width" },
144
+ "else": { "expr": "lit", "value": 300 }
145
+ },
146
+ {
147
+ "expr": "cond",
148
+ "test": { "expr": "param", "name": "height" },
149
+ "then": { "expr": "param", "name": "height" },
150
+ "else": { "expr": "lit", "value": 300 }
151
+ }
152
+ ]
153
+ },
154
+ "right": { "expr": "lit", "value": 2 }
155
+ },
156
+ "right": { "expr": "lit", "value": 0.9 }
157
+ },
158
+ { "expr": "get", "obj": { "expr": "var", "name": "slice" }, "key": "startAngle" },
159
+ { "expr": "get", "obj": { "expr": "var", "name": "slice" }, "key": "endAngle" }
160
+ ]
161
+ },
162
+ "fill": {
163
+ "expr": "cond",
164
+ "test": { "expr": "param", "name": "colors" },
165
+ "then": {
166
+ "expr": "call",
167
+ "target": { "expr": "param", "name": "colors" },
168
+ "method": "at",
169
+ "args": [
170
+ {
171
+ "expr": "bin",
172
+ "op": "%",
173
+ "left": { "expr": "var", "name": "idx" },
174
+ "right": {
175
+ "expr": "call",
176
+ "target": { "expr": "param", "name": "colors" },
177
+ "method": "length",
178
+ "args": []
179
+ }
180
+ }
181
+ ]
182
+ },
183
+ "else": { "expr": "lit", "value": "#3b82f6" }
184
+ },
185
+ "className": {
186
+ "expr": "style",
187
+ "preset": "chartSlice",
188
+ "props": {
189
+ "state": { "expr": "lit", "value": "default" }
190
+ }
191
+ }
192
+ }
193
+ }
194
+ },
195
+ {
196
+ "kind": "element",
197
+ "tag": "circle",
198
+ "props": {
199
+ "cx": { "expr": "lit", "value": "0" },
200
+ "cy": { "expr": "lit", "value": "0" },
201
+ "r": {
202
+ "expr": "bin",
203
+ "op": "*",
204
+ "left": {
205
+ "expr": "bin",
206
+ "op": "*",
207
+ "left": {
208
+ "expr": "bin",
209
+ "op": "/",
210
+ "left": {
211
+ "expr": "call",
212
+ "target": { "expr": "var", "name": "Math" },
213
+ "method": "min",
214
+ "args": [
215
+ {
216
+ "expr": "cond",
217
+ "test": { "expr": "param", "name": "width" },
218
+ "then": { "expr": "param", "name": "width" },
219
+ "else": { "expr": "lit", "value": 300 }
220
+ },
221
+ {
222
+ "expr": "cond",
223
+ "test": { "expr": "param", "name": "height" },
224
+ "then": { "expr": "param", "name": "height" },
225
+ "else": { "expr": "lit", "value": 300 }
226
+ }
227
+ ]
228
+ },
229
+ "right": { "expr": "lit", "value": 2 }
230
+ },
231
+ "right": { "expr": "lit", "value": 0.9 }
232
+ },
233
+ "right": {
234
+ "expr": "cond",
235
+ "test": { "expr": "param", "name": "innerRadius" },
236
+ "then": { "expr": "param", "name": "innerRadius" },
237
+ "else": { "expr": "lit", "value": 0.6 }
238
+ }
239
+ },
240
+ "fill": { "expr": "lit", "value": "white" }
241
+ }
242
+ }
243
+ ]
244
+ },
245
+ {
246
+ "kind": "if",
247
+ "test": { "expr": "param", "name": "centerLabel" },
248
+ "then": {
249
+ "kind": "element",
250
+ "tag": "text",
251
+ "props": {
252
+ "x": {
253
+ "expr": "bin",
254
+ "op": "/",
255
+ "left": {
256
+ "expr": "cond",
257
+ "test": { "expr": "param", "name": "width" },
258
+ "then": { "expr": "param", "name": "width" },
259
+ "else": { "expr": "lit", "value": 300 }
260
+ },
261
+ "right": { "expr": "lit", "value": 2 }
262
+ },
263
+ "y": {
264
+ "expr": "bin",
265
+ "op": "/",
266
+ "left": {
267
+ "expr": "cond",
268
+ "test": { "expr": "param", "name": "height" },
269
+ "then": { "expr": "param", "name": "height" },
270
+ "else": { "expr": "lit", "value": 300 }
271
+ },
272
+ "right": { "expr": "lit", "value": 2 }
273
+ },
274
+ "text-anchor": { "expr": "lit", "value": "middle" },
275
+ "dominant-baseline": { "expr": "lit", "value": "middle" },
276
+ "className": {
277
+ "expr": "style",
278
+ "preset": "chartLabel",
279
+ "props": {
280
+ "type": { "expr": "lit", "value": "title" },
281
+ "size": { "expr": "lit", "value": "lg" }
282
+ }
283
+ }
284
+ },
285
+ "children": [
286
+ {
287
+ "kind": "text",
288
+ "content": { "expr": "param", "name": "centerLabel" }
289
+ }
290
+ ]
291
+ }
292
+ },
293
+ {
294
+ "kind": "if",
295
+ "test": { "expr": "param", "name": "showLabels" },
296
+ "then": {
297
+ "kind": "element",
298
+ "tag": "g",
299
+ "props": {
300
+ "className": {
301
+ "expr": "style",
302
+ "preset": "chartLabel",
303
+ "props": {
304
+ "type": { "expr": "lit", "value": "data" }
305
+ }
306
+ }
307
+ },
308
+ "children": [
309
+ {
310
+ "kind": "each",
311
+ "items": {
312
+ "expr": "call",
313
+ "target": null,
314
+ "method": "getDonutSlices",
315
+ "args": [
316
+ { "expr": "param", "name": "data" },
317
+ { "expr": "param", "name": "valueKey" },
318
+ {
319
+ "expr": "cond",
320
+ "test": { "expr": "param", "name": "innerRadius" },
321
+ "then": { "expr": "param", "name": "innerRadius" },
322
+ "else": { "expr": "lit", "value": 0.6 }
323
+ }
324
+ ]
325
+ },
326
+ "as": "slice",
327
+ "index": "idx",
328
+ "body": {
329
+ "kind": "element",
330
+ "tag": "text",
331
+ "props": {
332
+ "x": { "expr": "lit", "value": "150" },
333
+ "y": { "expr": "lit", "value": "150" },
334
+ "text-anchor": { "expr": "lit", "value": "middle" }
335
+ },
336
+ "children": [
337
+ {
338
+ "kind": "text",
339
+ "content": {
340
+ "expr": "cond",
341
+ "test": { "expr": "param", "name": "showPercentage" },
342
+ "then": {
343
+ "expr": "call",
344
+ "target": null,
345
+ "method": "concat",
346
+ "args": [
347
+ {
348
+ "expr": "call",
349
+ "target": { "expr": "var", "name": "Math" },
350
+ "method": "round",
351
+ "args": [
352
+ { "expr": "get", "obj": { "expr": "var", "name": "slice" }, "key": "percentage" }
353
+ ]
354
+ },
355
+ { "expr": "lit", "value": "%" }
356
+ ]
357
+ },
358
+ "else": { "expr": "get", "obj": { "expr": "var", "name": "slice" }, "key": "value" }
359
+ }
360
+ }
361
+ ]
362
+ }
363
+ }
364
+ ]
365
+ }
366
+ }
367
+ ]
368
+ }
369
+ }