@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,482 @@
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
+ "showGrid": { "type": "boolean", "required": false },
10
+ "showLabels": { "type": "boolean", "required": false },
11
+ "curved": { "type": "boolean", "required": false },
12
+ "showPoints": { "type": "boolean", "required": false },
13
+ "pointRadius": { "type": "number", "required": false },
14
+ "strokeWidth": { "type": "number", "required": false },
15
+ "fillOpacity": { "type": "number", "required": false }
16
+ },
17
+ "localState": {
18
+ "_width": {
19
+ "type": "number",
20
+ "initial": {
21
+ "expr": "cond",
22
+ "test": { "expr": "param", "name": "width" },
23
+ "then": { "expr": "param", "name": "width" },
24
+ "else": { "expr": "lit", "value": 400 }
25
+ }
26
+ },
27
+ "_height": {
28
+ "type": "number",
29
+ "initial": {
30
+ "expr": "cond",
31
+ "test": { "expr": "param", "name": "height" },
32
+ "then": { "expr": "param", "name": "height" },
33
+ "else": { "expr": "lit", "value": 300 }
34
+ }
35
+ }
36
+ },
37
+ "view": {
38
+ "kind": "element",
39
+ "tag": "svg",
40
+ "props": {
41
+ "role": { "expr": "lit", "value": "img" },
42
+ "aria-label": { "expr": "lit", "value": "Area Chart" },
43
+ "aria-labelledby": { "expr": "lit", "value": "area-chart-title" },
44
+ "viewBox": {
45
+ "expr": "call",
46
+ "target": null,
47
+ "method": "concat",
48
+ "args": [
49
+ { "expr": "lit", "value": "0 0 " },
50
+ { "expr": "local", "name": "_width" },
51
+ { "expr": "lit", "value": " " },
52
+ { "expr": "local", "name": "_height" }
53
+ ]
54
+ },
55
+ "className": {
56
+ "expr": "style",
57
+ "preset": "chartSvg",
58
+ "props": {
59
+ "size": { "expr": "lit", "value": "default" }
60
+ }
61
+ }
62
+ },
63
+ "children": [
64
+ {
65
+ "kind": "element",
66
+ "tag": "title",
67
+ "props": {
68
+ "id": { "expr": "lit", "value": "area-chart-title" }
69
+ },
70
+ "children": [
71
+ { "kind": "text", "content": { "expr": "lit", "value": "Area Chart" } }
72
+ ]
73
+ },
74
+ {
75
+ "kind": "if",
76
+ "test": { "expr": "param", "name": "showGrid" },
77
+ "then": {
78
+ "kind": "element",
79
+ "tag": "g",
80
+ "props": {
81
+ "className": {
82
+ "expr": "style",
83
+ "preset": "chartGrid",
84
+ "props": {
85
+ "axis": { "expr": "lit", "value": "both" }
86
+ }
87
+ }
88
+ },
89
+ "children": [
90
+ {
91
+ "kind": "element",
92
+ "tag": "line",
93
+ "props": {
94
+ "x1": { "expr": "lit", "value": "40" },
95
+ "y1": { "expr": "lit", "value": "0" },
96
+ "x2": { "expr": "lit", "value": "40" },
97
+ "y2": { "expr": "local", "name": "_height" }
98
+ }
99
+ }
100
+ ]
101
+ }
102
+ },
103
+ {
104
+ "kind": "element",
105
+ "tag": "path",
106
+ "props": {
107
+ "d": {
108
+ "expr": "call",
109
+ "target": null,
110
+ "method": "getAreaPath",
111
+ "args": [
112
+ {
113
+ "expr": "call",
114
+ "target": { "expr": "param", "name": "data" },
115
+ "method": "map",
116
+ "args": [
117
+ {
118
+ "expr": "lambda",
119
+ "params": ["item", "idx"],
120
+ "body": {
121
+ "expr": "obj",
122
+ "props": {
123
+ "x": {
124
+ "expr": "bin",
125
+ "op": "+",
126
+ "left": { "expr": "lit", "value": 40 },
127
+ "right": {
128
+ "expr": "bin",
129
+ "op": "*",
130
+ "left": { "expr": "var", "name": "idx" },
131
+ "right": {
132
+ "expr": "bin",
133
+ "op": "/",
134
+ "left": {
135
+ "expr": "bin",
136
+ "op": "-",
137
+ "left": { "expr": "local", "name": "_width" },
138
+ "right": { "expr": "lit", "value": 80 }
139
+ },
140
+ "right": {
141
+ "expr": "bin",
142
+ "op": "-",
143
+ "left": {
144
+ "expr": "call",
145
+ "target": { "expr": "param", "name": "data" },
146
+ "method": "length",
147
+ "args": []
148
+ },
149
+ "right": { "expr": "lit", "value": 1 }
150
+ }
151
+ }
152
+ }
153
+ },
154
+ "y": {
155
+ "expr": "bin",
156
+ "op": "-",
157
+ "left": { "expr": "local", "name": "_height" },
158
+ "right": {
159
+ "expr": "bin",
160
+ "op": "*",
161
+ "left": {
162
+ "expr": "get",
163
+ "obj": { "expr": "var", "name": "item" },
164
+ "key": { "expr": "param", "name": "valueKey" }
165
+ },
166
+ "right": { "expr": "lit", "value": 2 }
167
+ }
168
+ }
169
+ }
170
+ }
171
+ }
172
+ ]
173
+ },
174
+ { "expr": "local", "name": "_height" },
175
+ { "expr": "param", "name": "curved" }
176
+ ]
177
+ },
178
+ "fill": {
179
+ "expr": "cond",
180
+ "test": { "expr": "param", "name": "colors" },
181
+ "then": {
182
+ "expr": "call",
183
+ "target": { "expr": "param", "name": "colors" },
184
+ "method": "at",
185
+ "args": [{ "expr": "lit", "value": 0 }]
186
+ },
187
+ "else": { "expr": "lit", "value": "#3b82f6" }
188
+ },
189
+ "fill-opacity": {
190
+ "expr": "cond",
191
+ "test": { "expr": "param", "name": "fillOpacity" },
192
+ "then": { "expr": "param", "name": "fillOpacity" },
193
+ "else": { "expr": "lit", "value": 0.3 }
194
+ },
195
+ "className": {
196
+ "expr": "style",
197
+ "preset": "chartArea",
198
+ "props": {
199
+ "opacity": { "expr": "lit", "value": "default" }
200
+ }
201
+ }
202
+ }
203
+ },
204
+ {
205
+ "kind": "element",
206
+ "tag": "path",
207
+ "props": {
208
+ "d": {
209
+ "expr": "call",
210
+ "target": null,
211
+ "method": "getLinePath",
212
+ "args": [
213
+ {
214
+ "expr": "call",
215
+ "target": { "expr": "param", "name": "data" },
216
+ "method": "map",
217
+ "args": [
218
+ {
219
+ "expr": "lambda",
220
+ "params": ["item", "idx"],
221
+ "body": {
222
+ "expr": "obj",
223
+ "props": {
224
+ "x": {
225
+ "expr": "bin",
226
+ "op": "+",
227
+ "left": { "expr": "lit", "value": 40 },
228
+ "right": {
229
+ "expr": "bin",
230
+ "op": "*",
231
+ "left": { "expr": "var", "name": "idx" },
232
+ "right": {
233
+ "expr": "bin",
234
+ "op": "/",
235
+ "left": {
236
+ "expr": "bin",
237
+ "op": "-",
238
+ "left": { "expr": "local", "name": "_width" },
239
+ "right": { "expr": "lit", "value": 80 }
240
+ },
241
+ "right": {
242
+ "expr": "bin",
243
+ "op": "-",
244
+ "left": {
245
+ "expr": "call",
246
+ "target": { "expr": "param", "name": "data" },
247
+ "method": "length",
248
+ "args": []
249
+ },
250
+ "right": { "expr": "lit", "value": 1 }
251
+ }
252
+ }
253
+ }
254
+ },
255
+ "y": {
256
+ "expr": "bin",
257
+ "op": "-",
258
+ "left": { "expr": "local", "name": "_height" },
259
+ "right": {
260
+ "expr": "bin",
261
+ "op": "*",
262
+ "left": {
263
+ "expr": "get",
264
+ "obj": { "expr": "var", "name": "item" },
265
+ "key": { "expr": "param", "name": "valueKey" }
266
+ },
267
+ "right": { "expr": "lit", "value": 2 }
268
+ }
269
+ }
270
+ }
271
+ }
272
+ }
273
+ ]
274
+ },
275
+ { "expr": "param", "name": "curved" }
276
+ ]
277
+ },
278
+ "stroke": {
279
+ "expr": "cond",
280
+ "test": { "expr": "param", "name": "colors" },
281
+ "then": {
282
+ "expr": "call",
283
+ "target": { "expr": "param", "name": "colors" },
284
+ "method": "at",
285
+ "args": [{ "expr": "lit", "value": 0 }]
286
+ },
287
+ "else": { "expr": "lit", "value": "#3b82f6" }
288
+ },
289
+ "stroke-width": {
290
+ "expr": "cond",
291
+ "test": { "expr": "param", "name": "strokeWidth" },
292
+ "then": { "expr": "param", "name": "strokeWidth" },
293
+ "else": { "expr": "lit", "value": 2 }
294
+ },
295
+ "className": {
296
+ "expr": "style",
297
+ "preset": "chartLine"
298
+ }
299
+ }
300
+ },
301
+ {
302
+ "kind": "if",
303
+ "test": { "expr": "param", "name": "showPoints" },
304
+ "then": {
305
+ "kind": "element",
306
+ "tag": "g",
307
+ "props": {},
308
+ "children": [
309
+ {
310
+ "kind": "each",
311
+ "items": { "expr": "param", "name": "data" },
312
+ "as": "item",
313
+ "index": "idx",
314
+ "body": {
315
+ "kind": "element",
316
+ "tag": "circle",
317
+ "props": {
318
+ "cx": {
319
+ "expr": "bin",
320
+ "op": "+",
321
+ "left": { "expr": "lit", "value": 40 },
322
+ "right": {
323
+ "expr": "bin",
324
+ "op": "*",
325
+ "left": { "expr": "var", "name": "idx" },
326
+ "right": {
327
+ "expr": "bin",
328
+ "op": "/",
329
+ "left": {
330
+ "expr": "bin",
331
+ "op": "-",
332
+ "left": { "expr": "local", "name": "_width" },
333
+ "right": { "expr": "lit", "value": 80 }
334
+ },
335
+ "right": {
336
+ "expr": "bin",
337
+ "op": "-",
338
+ "left": {
339
+ "expr": "call",
340
+ "target": { "expr": "param", "name": "data" },
341
+ "method": "length",
342
+ "args": []
343
+ },
344
+ "right": { "expr": "lit", "value": 1 }
345
+ }
346
+ }
347
+ }
348
+ },
349
+ "cy": {
350
+ "expr": "bin",
351
+ "op": "-",
352
+ "left": { "expr": "local", "name": "_height" },
353
+ "right": {
354
+ "expr": "bin",
355
+ "op": "*",
356
+ "left": {
357
+ "expr": "get",
358
+ "obj": { "expr": "var", "name": "item" },
359
+ "key": { "expr": "param", "name": "valueKey" }
360
+ },
361
+ "right": { "expr": "lit", "value": 2 }
362
+ }
363
+ },
364
+ "r": {
365
+ "expr": "cond",
366
+ "test": { "expr": "param", "name": "pointRadius" },
367
+ "then": { "expr": "param", "name": "pointRadius" },
368
+ "else": { "expr": "lit", "value": 4 }
369
+ },
370
+ "fill": {
371
+ "expr": "cond",
372
+ "test": { "expr": "param", "name": "colors" },
373
+ "then": {
374
+ "expr": "call",
375
+ "target": { "expr": "param", "name": "colors" },
376
+ "method": "at",
377
+ "args": [{ "expr": "lit", "value": 0 }]
378
+ },
379
+ "else": { "expr": "lit", "value": "#3b82f6" }
380
+ },
381
+ "tabindex": { "expr": "lit", "value": "0" },
382
+ "className": {
383
+ "expr": "style",
384
+ "preset": "chartPoint",
385
+ "props": {
386
+ "size": { "expr": "lit", "value": "default" },
387
+ "state": { "expr": "lit", "value": "default" }
388
+ }
389
+ }
390
+ }
391
+ }
392
+ }
393
+ ]
394
+ }
395
+ },
396
+ {
397
+ "kind": "if",
398
+ "test": { "expr": "param", "name": "showLabels" },
399
+ "then": {
400
+ "kind": "element",
401
+ "tag": "g",
402
+ "props": {
403
+ "className": {
404
+ "expr": "style",
405
+ "preset": "chartLabel",
406
+ "props": {
407
+ "type": { "expr": "lit", "value": "axis" }
408
+ }
409
+ }
410
+ },
411
+ "children": [
412
+ {
413
+ "kind": "each",
414
+ "items": { "expr": "param", "name": "data" },
415
+ "as": "item",
416
+ "index": "idx",
417
+ "body": {
418
+ "kind": "element",
419
+ "tag": "text",
420
+ "props": {
421
+ "x": {
422
+ "expr": "bin",
423
+ "op": "+",
424
+ "left": { "expr": "lit", "value": 40 },
425
+ "right": {
426
+ "expr": "bin",
427
+ "op": "*",
428
+ "left": { "expr": "var", "name": "idx" },
429
+ "right": {
430
+ "expr": "bin",
431
+ "op": "/",
432
+ "left": {
433
+ "expr": "bin",
434
+ "op": "-",
435
+ "left": { "expr": "local", "name": "_width" },
436
+ "right": { "expr": "lit", "value": 80 }
437
+ },
438
+ "right": {
439
+ "expr": "bin",
440
+ "op": "-",
441
+ "left": {
442
+ "expr": "call",
443
+ "target": { "expr": "param", "name": "data" },
444
+ "method": "length",
445
+ "args": []
446
+ },
447
+ "right": { "expr": "lit", "value": 1 }
448
+ }
449
+ }
450
+ }
451
+ },
452
+ "y": {
453
+ "expr": "bin",
454
+ "op": "+",
455
+ "left": { "expr": "local", "name": "_height" },
456
+ "right": { "expr": "lit", "value": 15 }
457
+ },
458
+ "text-anchor": { "expr": "lit", "value": "middle" }
459
+ },
460
+ "children": [
461
+ {
462
+ "kind": "text",
463
+ "content": {
464
+ "expr": "cond",
465
+ "test": { "expr": "param", "name": "labelKey" },
466
+ "then": {
467
+ "expr": "get",
468
+ "obj": { "expr": "var", "name": "item" },
469
+ "key": { "expr": "param", "name": "labelKey" }
470
+ },
471
+ "else": { "expr": "var", "name": "idx" }
472
+ }
473
+ }
474
+ ]
475
+ }
476
+ }
477
+ ]
478
+ }
479
+ }
480
+ ]
481
+ }
482
+ }