elbe-ui 0.2.46 → 0.2.52

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 (54) hide show
  1. package/dist/elbe.css +60 -18
  2. package/dist/elbe.css.map +1 -1
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.js +6 -0
  5. package/dist/ui/components/banner.d.ts +12 -0
  6. package/dist/ui/components/banner.js +17 -0
  7. package/dist/ui/components/base/box.d.ts +15 -1
  8. package/dist/ui/components/base/box.js +4 -4
  9. package/dist/ui/components/base/card.d.ts +4 -1
  10. package/dist/ui/components/base/card.js +11 -2
  11. package/dist/ui/components/base/padded.js +1 -1
  12. package/dist/ui/components/button/button.d.ts +3 -2
  13. package/dist/ui/components/button/button.js +4 -2
  14. package/dist/ui/components/button/choose_button.d.ts +1 -0
  15. package/dist/ui/components/button/choose_button.js +5 -2
  16. package/dist/ui/components/button/icon_button.d.ts +3 -2
  17. package/dist/ui/components/button/icon_button.js +2 -1
  18. package/dist/ui/components/button/toggle_button.d.ts +2 -2
  19. package/dist/ui/components/button/toggle_button.js +1 -1
  20. package/dist/ui/components/dev/todo.js +3 -3
  21. package/dist/ui/components/dialog.js +1 -1
  22. package/dist/ui/components/input/checkbox.d.ts +2 -2
  23. package/dist/ui/components/input/checkbox.js +3 -1
  24. package/dist/ui/components/input/input_field.d.ts +2 -2
  25. package/dist/ui/components/input/input_field.js +1 -1
  26. package/dist/ui/components/input/range.d.ts +2 -2
  27. package/dist/ui/components/input/range.js +2 -2
  28. package/dist/ui/components/input/select.d.ts +2 -2
  29. package/dist/ui/components/input/select.js +1 -1
  30. package/dist/ui/components/input/switch.d.ts +6 -0
  31. package/dist/ui/components/input/switch.js +49 -0
  32. package/dist/ui/components/input/text_area.d.ts +2 -2
  33. package/dist/ui/components/input/text_area.js +1 -1
  34. package/dist/ui/components/layout/alignment.d.ts +9 -0
  35. package/dist/ui/components/layout/alignment.js +13 -0
  36. package/dist/ui/components/layout/flex.js +1 -1
  37. package/dist/ui/components/layout/header.d.ts +19 -0
  38. package/dist/ui/components/layout/header.js +52 -0
  39. package/dist/ui/components/layout/scaffold.d.ts +2 -17
  40. package/dist/ui/components/layout/scaffold.js +3 -34
  41. package/dist/ui/components/layout/scroll.js +1 -1
  42. package/dist/ui/components/progress_bar.d.ts +6 -0
  43. package/dist/ui/components/progress_bar.js +28 -0
  44. package/dist/ui/components/text.js +3 -2
  45. package/dist/ui/theme/color_theme.d.ts +2 -2
  46. package/dist/ui/theme/color_theme.js +51 -27
  47. package/dist/ui/theme/colors.d.ts +5 -33
  48. package/dist/ui/theme/colors.js +13 -11
  49. package/dist/ui/theme/seed.d.ts +43 -0
  50. package/dist/ui/theme/seed.js +1 -0
  51. package/dist/ui/theme/theme.d.ts +9 -5
  52. package/dist/ui/theme/theme.js +12 -4
  53. package/dist/ui/util/confirm_dialog.js +6 -3
  54. package/package.json +1 -1
package/dist/elbe.css CHANGED
@@ -112,7 +112,7 @@ body,
112
112
  .elbe .margined-none {
113
113
  margin: 0rem;
114
114
  }
115
- .elbe .sharp {
115
+ .elbe .sharp.sharp.sharp {
116
116
  border-radius: 0;
117
117
  }
118
118
  .elbe .rounded,
@@ -129,7 +129,6 @@ body,
129
129
  .elbe button {
130
130
  border-radius: var(--g-radius);
131
131
  border-color: inherit;
132
- overflow: hidden;
133
132
  }
134
133
  .elbe .round {
135
134
  border-radius: 50%;
@@ -166,7 +165,7 @@ body,
166
165
  .elbe body:has(dialog[open=""]) {
167
166
  overflow: hidden;
168
167
  }
169
- .elbe .transparent {
168
+ .elbe .transparent.transparent {
170
169
  background-color: transparent;
171
170
  }
172
171
  .elbe .disabled {
@@ -238,6 +237,15 @@ body,
238
237
  transform: rotate(359deg);
239
238
  }
240
239
  }
240
+ .elbe.high_vis a {
241
+ text-decoration: underline;
242
+ }
243
+ .elbe a {
244
+ text-decoration: none;
245
+ }
246
+ .elbe a:hover {
247
+ text-decoration: underline;
248
+ }
241
249
  .elbe .column, .elbe dialog,
242
250
  .elbe .row,
243
251
  .elbe .header,
@@ -354,6 +362,9 @@ body,
354
362
  .elbe .row-resp {
355
363
  flex-direction: column;
356
364
  }
365
+ .elbe .resp-reversed {
366
+ flex-direction: column-reverse;
367
+ }
357
368
  .elbe .if-wide {
358
369
  display: none;
359
370
  }
@@ -380,7 +391,7 @@ body,
380
391
  .elbe .borderless {
381
392
  border: none;
382
393
  }
383
- .elbe .bordered {
394
+ .elbe .bordered.bordered.bordered {
384
395
  border: var(--g-border-width) solid var(--c-context-border);
385
396
  }
386
397
  .elbe button {
@@ -421,6 +432,11 @@ body,
421
432
  min-width: 12rem;
422
433
  width: 100%;
423
434
  }
435
+ .elbe.dark dialog[open=""] > div {
436
+ border-width: var(--g-border-width);
437
+ border-style: solid;
438
+ border-color: var(--c-context-border);
439
+ }
424
440
  .elbe dialog {
425
441
  z-index: 100;
426
442
  position: fixed;
@@ -460,21 +476,22 @@ body,
460
476
  left: 0;
461
477
  top: 0;
462
478
  display: flex;
463
- font-size: larger;
479
+ font-size: 1.25rem;
464
480
  font-weight: 900;
465
481
  border-width: 20px;
466
482
  border-style: solid;
467
483
  border-width: 0 0 2px 0;
468
- padding: 0 0.75rem;
469
- background-color: color-mix(in srgb, var(--c-context-back) 50%, transparent);
470
- backdrop-filter: blur(10px);
471
- -webkit-backdrop-filter: blur(10px);
484
+ padding: 0 0.5rem;
472
485
  z-index: 20;
473
486
  box-sizing: border-box;
474
- height: 4.5rem;
475
487
  justify-content: space-between;
476
488
  align-items: center;
477
489
  }
490
+ .elbe .frosted {
491
+ background-color: color-mix(in srgb, var(--c-context-back) 50%, transparent);
492
+ backdrop-filter: blur(10px);
493
+ -webkit-backdrop-filter: blur(10px);
494
+ }
478
495
  .elbe input[type=text],
479
496
  .elbe input[type=number],
480
497
  .elbe input[type=password],
@@ -493,6 +510,16 @@ body,
493
510
  resize: vertical;
494
511
  min-height: 3rem;
495
512
  }
513
+ .elbe.high_vis input[type=range]::-webkit-slider-thumb {
514
+ border-width: var(--g-border-width);
515
+ border-style: solid;
516
+ border-color: var(--c-context-back);
517
+ }
518
+ .elbe.high_vis input[type=range]::-moz-range-thumb {
519
+ border-width: var(--g-border-width);
520
+ border-style: solid;
521
+ border-color: var(--c-context-back);
522
+ }
496
523
  .elbe input[type=range] {
497
524
  -webkit-appearance: none;
498
525
  appearance: none;
@@ -532,11 +559,11 @@ body,
532
559
  appearance: none;
533
560
  margin: 0;
534
561
  font: inherit;
535
- color: black;
536
562
  width: 1.8rem;
537
563
  height: 1.8rem;
538
- border: 0.16em solid var(--c-context-border);
539
- border-radius: 25%;
564
+ border-width: var(--g-border-width);
565
+ border-radius: var(--g-radius);
566
+ border-style: solid;
540
567
  transform: translateY(-0.075em);
541
568
  display: grid;
542
569
  place-content: center;
@@ -551,13 +578,9 @@ body,
551
578
  transform-origin: center;
552
579
  transition: 0.2s all ease-in-out;
553
580
  }
554
- .elbe input[type=checkbox]:checked {
555
- border-color: var(--c-accent);
556
- background: color-mix(in srgb, var(--c-accent) 20%, transparent);
557
- }
558
581
  .elbe input[type=checkbox]:checked::before {
559
582
  transform: scale(1);
560
- background-color: var(--c-accent);
583
+ background-color: var(--c-context-front);
561
584
  }
562
585
  .elbe input[type=checkbox]:focus {
563
586
  outline: max(2px, 0.15em) solid var(--c-accent);
@@ -567,6 +590,25 @@ body,
567
590
  cursor: not-allowed;
568
591
  border: 0.16em solid var(--c-context-border);
569
592
  }
593
+ .elbe.high_vis div[data-type=elbe_progress_bar] > * {
594
+ outline-width: var(--g-border-width);
595
+ outline-style: solid;
596
+ outline-color: var(--c-context-back);
597
+ }
598
+ .elbe hr {
599
+ border: none;
600
+ border-top: var(--g-border-width) solid var(--c-context-border);
601
+ width: 100%;
602
+ }
603
+ .elbe :focus-visible {
604
+ outline: 0.15rem solid var(--c-accent);
605
+ }
606
+ .elbe :active {
607
+ outline: none;
608
+ }
609
+ .elbe.dark :focus-visible {
610
+ outline: 0.15rem solid white;
611
+ }
570
612
 
571
613
  .toast {
572
614
  position: fixed;
package/dist/elbe.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../style/elbe.scss","../style/_base.scss","../style/_flex.scss","../style/_components.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAOQ;AAMR;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAIF;AC3DA;AAoBA;AA6DA;AAUA;AAaA;AA8BA;AC9GA;AAqBA;AAYA;AAkBA;AAqBA;AC2GA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AFzMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAMF;EACE;;AAEF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAEF;EACE;;AAGF;AAAA;EAEE;;AAGF;EACE;;AAEF;EACE;;AAGF;EACE;EACA;;AACA;EACE;;AAIJ;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;;AAOF;EACE;;AAGF;EAEE;EACA;EACA;;AAKF;AAAA;EAEE;;AAEF;AAAA;AAAA;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;EACA;;AAKF;EACE;EACA;EACA;EACA;;AAGF;EACE;IACE;;EAEF;IACE;;;ACpJJ;AAAA;AAAA;AAAA;AAAA;EAGE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAKF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAKF;EACE;;AAIA;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AAMJ;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAKF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAKF;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;;AClHF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAIF;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAJA;EACE;;AAoBJ;EACE;EACA;EACA;;AAGF;EAGE;EACA;EACA;EACA;;AAGF;EAKE;EAEA;EACA;EACA;EACA;EACA;EAEA;EAEA;EAEA;EAEA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AACA;EACE;;AAKN;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EAGC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACC;EAGD;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;AAKD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAaF;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EA5BF;EACA;EACA;EACA;EACA;EACA;EACA;;AA0BA;EAhCA;EACA;EACA;EACA;EACA;EACA;EACA;;AAsEF;EACE;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;;AAIF;EACE;EACA;;AACA;EACE;EACA;;AAMJ;EACE;EACA;;AAGF;EACE;EACA;;;AHhOF;EAIE;EACA;EACA;EACA;EACA;EACA;EACA","file":"elbe.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../style/elbe.scss","../style/_base.scss","../style/_flex.scss","../style/_components.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAOQ;AAMR;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAIF;AC3DA;AAoBA;AA6DA;AAUA;AAaA;AA8BA;AC9GA;AAqBA;AAYA;AAkBA;AAqBA;ACkIA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AFhOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAMF;EACE;;AAEF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;;AAGF;EACE;;AAEF;EACE;;AAGF;EACE;EACA;;AACA;EACE;;AAIJ;EACE;;AAGF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;;AAOF;EACE;;AAGF;EAEE;EACA;EACA;;AAKF;AAAA;EAEE;;AAEF;AAAA;AAAA;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;EACA;;AAKF;EACE;EACA;EACA;EACA;;AAGF;EACE;IACE;;EAEF;IACE;;;AAKJ;EACE;;AAEF;EACE;;AACA;EACE;;AC/JJ;AAAA;AAAA;AAAA;AAAA;EAGE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAKF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAKF;EACE;;AAIA;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AAMJ;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAKF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAKF;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;;ACvHF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAIF;EAIE;EACA;EACA;EACA;EACA;EACA;EACA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAJA;EACE;;AAoBJ;EACE;EACA;EACA;;AAGF;EAGE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EAKE;EAEA;EACA;EACA;EACA;EACA;EAEA;EAEA;EAEA;EAEA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AACA;EACE;;AAKN;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EAGC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACC;EAGD;EAEA;EAEA;EACA;;AAGD;EACE;EACD;EACA;;AAKD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAcA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EA1CF;EACA;EACA;EACA;EACA;EACA;EACA;;AAwCA;EA9CA;EACA;EACA;EACA;EACA;EACA;EACA;;AAoFF;EACE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;;AAIF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AH/PA;EACE;;AAEF;EACG;;AAGH;EACE;;;AAMJ;EAIE;EACA;EACA;EACA;EACA;EACA;EACA","file":"elbe.css"}
package/dist/index.d.ts CHANGED
@@ -12,7 +12,9 @@ export * from "./ui/components/button/button";
12
12
  export * from "./ui/components/button/choose_button";
13
13
  export * from "./ui/components/button/icon_button";
14
14
  export * from "./ui/components/button/toggle_button";
15
+ export * from "./ui/components/layout/alignment";
15
16
  export * from "./ui/components/layout/flex";
17
+ export * from "./ui/components/layout/header";
16
18
  export * from "./ui/components/layout/scaffold";
17
19
  export * from "./ui/components/layout/scroll";
18
20
  export * from "./ui/components/layout/spaced";
@@ -20,13 +22,17 @@ export * from "./ui/components/input/checkbox";
20
22
  export * from "./ui/components/input/input_field";
21
23
  export * from "./ui/components/input/range";
22
24
  export * from "./ui/components/input/select";
25
+ export * from "./ui/components/input/switch";
23
26
  export * from "./ui/components/input/text_area";
24
27
  export * from "./ui/components/badge";
28
+ export * from "./ui/components/banner";
25
29
  export * from "./ui/components/dialog";
26
30
  export * from "./ui/components/error_view";
31
+ export * from "./ui/components/progress_bar";
27
32
  export * from "./ui/components/spinner";
28
33
  export * from "./ui/components/text";
29
34
  export * from "./ui/components/dev/todo";
35
+ export * from "./ui/theme/seed";
30
36
  export * from "./ui/theme/theme";
31
37
  declare function None({}: {}): import("preact").JSX.Element;
32
38
  export declare const Icons: {
package/dist/index.js CHANGED
@@ -15,7 +15,9 @@ export * from "./ui/components/button/button";
15
15
  export * from "./ui/components/button/choose_button";
16
16
  export * from "./ui/components/button/icon_button";
17
17
  export * from "./ui/components/button/toggle_button";
18
+ export * from "./ui/components/layout/alignment";
18
19
  export * from "./ui/components/layout/flex";
20
+ export * from "./ui/components/layout/header";
19
21
  export * from "./ui/components/layout/scaffold";
20
22
  export * from "./ui/components/layout/scroll";
21
23
  export * from "./ui/components/layout/spaced";
@@ -23,13 +25,17 @@ export * from "./ui/components/input/checkbox";
23
25
  export * from "./ui/components/input/input_field";
24
26
  export * from "./ui/components/input/range";
25
27
  export * from "./ui/components/input/select";
28
+ export * from "./ui/components/input/switch";
26
29
  export * from "./ui/components/input/text_area";
27
30
  export * from "./ui/components/badge";
31
+ export * from "./ui/components/banner";
28
32
  export * from "./ui/components/dialog";
29
33
  export * from "./ui/components/error_view";
34
+ export * from "./ui/components/progress_bar";
30
35
  export * from "./ui/components/spinner";
31
36
  export * from "./ui/components/text";
32
37
  export * from "./ui/components/dev/todo";
38
+ export * from "./ui/theme/seed";
33
39
  export * from "./ui/theme/theme";
34
40
  function None({}) {
35
41
  return _jsx("div", { style: { width: "1.5rem", height: "1.5rem" } });
@@ -0,0 +1,12 @@
1
+ import { ElbeAlertKinds, IconChild } from "../..";
2
+ export declare function KindAlertIcon({ kind }: {
3
+ kind: ElbeAlertKinds;
4
+ }): import("preact").JSX.Element;
5
+ export declare function Banner({ kind, manner, title, onDismiss, dismissIcon, children, }: {
6
+ kind: ElbeAlertKinds;
7
+ manner?: "major" | "minor";
8
+ title?: string;
9
+ onDismiss?: () => void;
10
+ dismissIcon?: IconChild;
11
+ children?: React.ReactNode;
12
+ }): import("preact").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ import { AlertTriangle, CheckCircle2, CircleHelp, InfoIcon, OctagonAlert, XIcon, } from "lucide-react";
3
+ import { Align, Card, Column, IconButton, Row, Text, } from "../..";
4
+ export function KindAlertIcon({ kind }) {
5
+ if (kind === "info")
6
+ return _jsx(InfoIcon, {});
7
+ if (kind === "warning")
8
+ return _jsx(AlertTriangle, {});
9
+ if (kind === "error")
10
+ return _jsx(OctagonAlert, {});
11
+ if (kind === "success")
12
+ return _jsx(CheckCircle2, {});
13
+ return _jsx(CircleHelp, {});
14
+ }
15
+ export function Banner({ kind, manner = "major", title, onDismiss, dismissIcon = XIcon, children, }) {
16
+ return (_jsx(Card, { kind: kind, manner: manner, padding: 0, children: _jsxs(Row, { cross: "start", gap: 0, children: [_jsx(Align, { size: 3, children: _jsx(KindAlertIcon, { kind: kind }) }), _jsxs(Column, { gap: 0.5, class: "flex-1", style: { padding: ".9rem 0", paddingRight: onDismiss ? "0" : "1rem" }, children: [title && _jsx(Text, { bold: true, v: title }), children] }), onDismiss && (_jsx(IconButton, { manner: manner, kind: kind, transparent: manner === "minor", ariaLabel: "close", icon: dismissIcon, onTap: onDismiss }))] }) }));
17
+ }
@@ -8,8 +8,14 @@ export type ElbeProps = {
8
8
  tooltip?: string;
9
9
  flex?: boolean | number;
10
10
  typeLabel?: string;
11
+ ariaLabel?: string | null;
11
12
  };
12
- export declare function applyProps(p: ElbeProps, classes?: string | null | (string | false | null | undefined)[], style?: React.CSSProperties): {
13
+ export type ActionElbeProps = ElbeProps & {
14
+ ariaLabel: string | null;
15
+ };
16
+ export declare function applyProps(typeLabel: string, p: ElbeProps, classes?: string | null | (string | false | null | undefined)[], style?: React.CSSProperties): {
17
+ "aria-label": string | undefined;
18
+ ariaLabel: string | null;
13
19
  "data-type": string | undefined;
14
20
  "data-tooltip"?: string | undefined;
15
21
  id: string | undefined;
@@ -527,6 +533,8 @@ export declare class Box extends Component<ElbeBoxProps & {
527
533
  scheme: ElbeColorSchemes;
528
534
  }> {
529
535
  static primary: (p: ElbeBoxProps) => import("preact").VNode<import("preact").ClassAttributes<HTMLElement> & {
536
+ "aria-label": string | undefined;
537
+ ariaLabel: string | null;
530
538
  "data-type": string | undefined;
531
539
  "data-tooltip"?: string | undefined;
532
540
  id: string | undefined;
@@ -1035,6 +1043,8 @@ export declare class Box extends Component<ElbeBoxProps & {
1035
1043
  };
1036
1044
  }>;
1037
1045
  static secondary: (p: ElbeBoxProps) => import("preact").VNode<import("preact").ClassAttributes<HTMLElement> & {
1046
+ "aria-label": string | undefined;
1047
+ ariaLabel: string | null;
1038
1048
  "data-type": string | undefined;
1039
1049
  "data-tooltip"?: string | undefined;
1040
1050
  id: string | undefined;
@@ -1543,6 +1553,8 @@ export declare class Box extends Component<ElbeBoxProps & {
1543
1553
  };
1544
1554
  }>;
1545
1555
  static inverse: (p: ElbeBoxProps) => import("preact").VNode<import("preact").ClassAttributes<HTMLElement> & {
1556
+ "aria-label": string | undefined;
1557
+ ariaLabel: string | null;
1546
1558
  "data-type": string | undefined;
1547
1559
  "data-tooltip"?: string | undefined;
1548
1560
  id: string | undefined;
@@ -2051,6 +2063,8 @@ export declare class Box extends Component<ElbeBoxProps & {
2051
2063
  };
2052
2064
  }>;
2053
2065
  render(): import("preact").VNode<import("preact").ClassAttributes<HTMLElement> & {
2066
+ "aria-label": string | undefined;
2067
+ ariaLabel: string | null;
2054
2068
  "data-type": string | undefined;
2055
2069
  "data-tooltip"?: string | undefined;
2056
2070
  id: string | undefined;
@@ -10,17 +10,17 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { Component, h } from "preact";
13
- export function applyProps(p, classes, style) {
14
- var _a;
13
+ export function applyProps(typeLabel, p, classes, style) {
14
+ var _a, _b, _c, _d;
15
15
  if (Array.isArray(classes)) {
16
16
  classes = classes.filter((c) => c).join(" ");
17
17
  }
18
- return Object.assign(Object.assign({ id: p.id, class: `${classes || ""} ${p.class || ""}`, style: Object.assign(Object.assign(Object.assign({}, (style !== null && style !== void 0 ? style : {})), ((_a = p.style) !== null && _a !== void 0 ? _a : {})), (p.flex ? { flex: p.flex === true ? 1 : p.flex } : {})) }, (p.tooltip ? { ["data-tooltip"]: p.tooltip } : {})), { ["data-type"]: p.typeLabel });
18
+ return Object.assign(Object.assign({ id: p.id, class: `${classes || ""} ${p.class || ""}`, style: Object.assign(Object.assign(Object.assign({}, (style !== null && style !== void 0 ? style : {})), ((_a = p.style) !== null && _a !== void 0 ? _a : {})), (p.flex ? { flex: p.flex === true ? 1 : p.flex } : {})) }, (p.tooltip ? { ["data-tooltip"]: p.tooltip } : {})), { ["aria-label"]: (_b = p.ariaLabel) !== null && _b !== void 0 ? _b : undefined, ariaLabel: (_c = p.ariaLabel) !== null && _c !== void 0 ? _c : null, ["data-type"]: (_d = p.typeLabel) !== null && _d !== void 0 ? _d : (!!typeLabel ? `elbe_${typeLabel}` : undefined) });
19
19
  }
20
20
  export class Box extends Component {
21
21
  render() {
22
22
  const _a = this.props, { scheme, mode, padding, margin, children } = _a, elbe = __rest(_a, ["scheme", "mode", "padding", "margin", "children"]);
23
- return h("div", applyProps(elbe, [scheme, mode], Object.assign({ padding: `${padding}rem`, margin: `${margin}rem` }, elbe.style)), children);
23
+ return h("div", applyProps("box", elbe, [scheme, mode], Object.assign({ padding: `${padding}rem`, margin: `${margin}rem` }, elbe.style)), children);
24
24
  }
25
25
  }
26
26
  Box.primary = (p) => new Box(Object.assign(Object.assign({}, p), { scheme: "primary" })).render();
@@ -1,7 +1,7 @@
1
1
  import type { ElbeColorKinds, ElbeColorManners, ElbeColorModes, ElbeColorSchemes } from "../../theme/colors";
2
2
  import type { ElbeChildren } from "../../util/util";
3
3
  import { type ElbeProps } from "./box";
4
- export declare function Card({ mode, scheme, kind, manner, padding, margin, onTap, onLongTap, children, ...elbe }: {
4
+ export declare function Card({ mode, scheme, kind, manner, padding, margin, onTap, onLongTap, frosted, bordered, sharp, children, ...elbe }: {
5
5
  mode?: ElbeColorModes;
6
6
  scheme?: ElbeColorSchemes;
7
7
  kind?: ElbeColorKinds;
@@ -10,5 +10,8 @@ export declare function Card({ mode, scheme, kind, manner, padding, margin, onTa
10
10
  margin?: number;
11
11
  onTap?: () => void;
12
12
  onLongTap?: () => void;
13
+ frosted?: boolean;
14
+ bordered?: boolean;
15
+ sharp?: boolean;
13
16
  children?: ElbeChildren;
14
17
  } & ElbeProps): import("preact").JSX.Element;
@@ -12,8 +12,17 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { jsx as _jsx } from "preact/jsx-runtime";
13
13
  import { applyProps } from "./box";
14
14
  export function Card(_a) {
15
- var { mode, scheme = "primary", kind, manner, padding = 1, margin = 0, onTap, onLongTap, children } = _a, elbe = __rest(_a, ["mode", "scheme", "kind", "manner", "padding", "margin", "onTap", "onLongTap", "children"]);
16
- return (_jsx("div", Object.assign({}, applyProps(elbe, ["card", mode, scheme, kind, manner], {
15
+ var { mode, scheme = "primary", kind, manner, padding = 1, margin = 0, onTap, onLongTap, frosted, bordered, sharp, children } = _a, elbe = __rest(_a, ["mode", "scheme", "kind", "manner", "padding", "margin", "onTap", "onLongTap", "frosted", "bordered", "sharp", "children"]);
16
+ return (_jsx("div", Object.assign({}, applyProps("card", elbe, [
17
+ "card",
18
+ mode,
19
+ scheme,
20
+ kind,
21
+ manner,
22
+ frosted && "frosted",
23
+ bordered && "bordered",
24
+ sharp && "sharp",
25
+ ], {
17
26
  padding: `${padding}rem`,
18
27
  margin: `${margin}rem`,
19
28
  }), { onClick: onTap, onContextMenu: onLongTap, children: children })));
@@ -17,7 +17,7 @@ export class Padded extends React.Component {
17
17
  super(props);
18
18
  }
19
19
  render() {
20
- return (_jsx("div", Object.assign({}, applyProps(this.props, [], {
20
+ return (_jsx("div", Object.assign({}, applyProps("padded", this.props, [], {
21
21
  paddingTop: `${this.props.top || 0}rem`,
22
22
  paddingRight: `${this.props.right || 0}rem`,
23
23
  paddingBottom: `${this.props.bottom || 0}rem`,
@@ -1,9 +1,10 @@
1
1
  import { Component } from "preact";
2
2
  import type { ElbeColorKinds, ElbeColorManners } from "../../theme/colors";
3
- import { type ElbeProps } from "../base/box";
3
+ import { ActionElbeProps } from "../base/box";
4
4
  import type { IconChild } from "./icon_button";
5
- export type ButtonProps = ElbeProps & {
5
+ export type ButtonProps = ActionElbeProps & {
6
6
  kind?: ElbeColorKinds;
7
+ transparent?: boolean;
7
8
  onTap?: (e: Event) => void;
8
9
  } & {
9
10
  icon?: IconChild;
@@ -24,12 +24,14 @@ Button.flat = (p) => _btn(p, "flat");
24
24
  Button.plain = (p) => _btn(p, "plain");
25
25
  function _btn(_a, manner) {
26
26
  var { kind, onTap, icon, label, children } = _a, elbe = __rest(_a, ["kind", "onTap", "icon", "label", "children"]);
27
- return label || icon || children ? (_jsxs("button", Object.assign({}, applyProps(elbe, [
27
+ return label || icon || children ? (_jsxs("button", Object.assign({}, applyProps("button", elbe, [
28
28
  "row",
29
29
  "gap-half",
30
30
  "main-center",
31
31
  kind !== null && kind !== void 0 ? kind : (manner != "plain" && "accent"),
32
32
  manner,
33
33
  !onTap && "disabled",
34
- ]), { disabled: !onTap, onClick: (e) => onTap && onTap(e), children: [typeof icon === "function" ? icon({}) : icon, label && _jsx("span", { children: label }), children] }))) : (_ElbeErr("Button requires either an icon and or a label, or a child"));
34
+ ], {
35
+ backgroundColor: elbe.transparent ? "transparent" : null,
36
+ }), { disabled: !onTap, onClick: (e) => onTap && onTap(e), children: [typeof icon === "function" ? icon({}) : icon, label && _jsx("span", { children: label }), children] }))) : (_ElbeErr("Button requires either an icon and or a label, or a child"));
35
37
  }
@@ -4,6 +4,7 @@ export interface ChooseItem<T> {
4
4
  value: T;
5
5
  label?: string;
6
6
  icon?: IconChild;
7
+ ariaLabel?: string;
7
8
  }
8
9
  export declare function ChooseButton<T>({ items, value, onChange, kind, column, }: {
9
10
  items: ChooseItem<T>[];
@@ -3,6 +3,9 @@ import { CheckIcon } from "lucide-react";
3
3
  import { Spaced } from "../layout/spaced";
4
4
  import { Button } from "./button";
5
5
  export function ChooseButton({ items, value, onChange, kind, column = false, }) {
6
- return (_jsx("div", { class: `${column ? "column" : "row"} gap-none rounded accent minor card padding-none cross-stretch ${!onChange ? "disabled" : ""}`, style: "background: transparent", children: items.map((e) => (_jsxs(Button, { manner: e.value === value ? "minor" : "flat", kind: kind, onTap: onChange && (() => onChange(e.value)), class: `sharp ${column ? "main-between gap-double" : ""}`, children: [_jsxs("div", { class: "row gap-half", children: [typeof e.icon === "function" ? e.icon({}) : e.icon, e.label && _jsx("span", { children: e.label })] }), column &&
7
- (e.value === value ? _jsx(CheckIcon, {}) : _jsx(Spaced, { amount: 1.5 }))] }))) }));
6
+ return (_jsx("div", { class: `${column ? "column" : "row"} gap-none rounded accent minor card padding-none cross-stretch ${!onChange ? "disabled" : ""}`, style: "background: transparent; overflow: hidden", children: items.map((e) => {
7
+ var _a, _b;
8
+ return (_jsxs(Button, { ariaLabel: (_b = (_a = e.ariaLabel) !== null && _a !== void 0 ? _a : e.label) !== null && _b !== void 0 ? _b : null, manner: e.value === value ? "minor" : "flat", kind: kind, onTap: onChange && (() => onChange(e.value)), class: `sharp ${column ? "main-between gap-double" : ""}`, children: [_jsxs("div", { class: "row gap-half", children: [typeof e.icon === "function" ? e.icon({}) : e.icon, e.label && _jsx("span", { children: e.label })] }), column &&
9
+ (e.value === value ? _jsx(CheckIcon, {}) : _jsx(Spaced, { amount: 1.5 }))] }));
10
+ }) }));
8
11
  }
@@ -1,11 +1,12 @@
1
1
  import { Component } from "preact";
2
- import { type ElbeChild, type ElbeColorKinds, type ElbeColorManners, type ElbeProps } from "../../..";
2
+ import { ActionElbeProps, type ElbeChild, type ElbeColorKinds, type ElbeColorManners } from "../../..";
3
3
  export type IconChild = ElbeChild | ((_: any) => ElbeChild);
4
4
  export type IconButtonProps = {
5
5
  icon?: IconChild;
6
6
  kind?: ElbeColorKinds;
7
+ transparent?: boolean;
7
8
  onTap?: (e: Event) => void;
8
- } & ElbeProps;
9
+ } & ActionElbeProps;
9
10
  export declare class IconButton extends Component<IconButtonProps & {
10
11
  manner?: ElbeColorManners;
11
12
  }> {
@@ -25,7 +25,7 @@ function _btn(_a, manner) {
25
25
  var _b;
26
26
  var { icon, onTap } = _a, elbe = __rest(_a, ["icon", "onTap"]);
27
27
  if (manner === void 0) { manner = "major"; }
28
- return (_jsx("button", Object.assign({}, applyProps(elbe, [
28
+ return (_jsx("button", Object.assign({}, applyProps("icon_button", elbe, [
29
29
  "row",
30
30
  "main-center",
31
31
  "gap-half",
@@ -33,6 +33,7 @@ function _btn(_a, manner) {
33
33
  manner,
34
34
  !onTap && "disabled",
35
35
  ], {
36
+ backgroundColor: elbe.transparent ? "transparent" : null,
36
37
  border: "none",
37
38
  borderRadius: "3rem",
38
39
  height: "3rem",
@@ -1,5 +1,5 @@
1
1
  import type { ElbeColorKinds } from "../../theme/colors";
2
- import { type ElbeProps } from "../base/box";
2
+ import { ActionElbeProps } from "../base/box";
3
3
  import type { IconChild } from "./icon_button";
4
4
  export declare function ToggleButton({ value, onChange, label, icon, kind, ...elbe }: {
5
5
  value: boolean;
@@ -7,4 +7,4 @@ export declare function ToggleButton({ value, onChange, label, icon, kind, ...el
7
7
  kind?: ElbeColorKinds;
8
8
  label: string;
9
9
  icon?: IconChild;
10
- } & ElbeProps): import("preact").JSX.Element;
10
+ } & ActionElbeProps): import("preact").JSX.Element;
@@ -16,5 +16,5 @@ import { Spaced } from "../layout/spaced";
16
16
  import { Button } from "./button";
17
17
  export function ToggleButton(_a) {
18
18
  var { value, onChange, label, icon, kind } = _a, elbe = __rest(_a, ["value", "onChange", "label", "icon", "kind"]);
19
- return (_jsxs(Button, Object.assign({ manner: value ? "minor" : "flat", kind: kind, onTap: onChange && (() => onChange(!value)) }, applyProps(elbe, "main-between", { gap: "1.5rem" }), { children: [_jsxs("div", { class: "row gap-half", children: [typeof icon === "function" ? icon({}) : icon, label && _jsx("span", { children: label })] }), value ? _jsx(CheckIcon, {}) : _jsx(Spaced, { amount: 1.5 })] })));
19
+ return (_jsxs(Button, Object.assign({ manner: value ? "minor" : "flat", kind: kind, onTap: onChange && (() => onChange(!value)) }, applyProps("toggle_button", elbe, "main-between", { gap: "1.5rem" }), { children: [_jsxs("div", { class: "row gap-half", children: [typeof icon === "function" ? icon({}) : icon, label && _jsx("span", { children: label })] }), value ? _jsx(CheckIcon, {}) : _jsx(Spaced, { amount: 1.5 })] })));
20
20
  }
@@ -48,17 +48,17 @@ export var ToDo;
48
48
  ToDo.Overlay = Overlay;
49
49
  function Inline(_a) {
50
50
  var { msg } = _a, elbe = __rest(_a, ["msg"]);
51
- return (_jsxs("div", Object.assign({}, applyProps(Object.assign(Object.assign({}, elbe), { typeLabel: "todo" }), [], Object.assign(Object.assign({}, _toDoStyle), { display: "inline" })), { children: [_jsx("b", { children: "ToDo: " }), _jsx("span", { style: { fontWeight: "normal" }, children: msg })] })));
51
+ return (_jsxs("div", Object.assign({}, applyProps("todo", elbe, [], Object.assign(Object.assign({}, _toDoStyle), { display: "inline" })), { children: [_jsx("b", { children: "ToDo: " }), _jsx("span", { style: { fontWeight: "normal" }, children: msg })] })));
52
52
  }
53
53
  ToDo.Inline = Inline;
54
54
  function Block(_a) {
55
55
  var { msg, width, height } = _a, elbe = __rest(_a, ["msg", "width", "height"]);
56
- return (_jsx("div", Object.assign({}, applyProps(Object.assign(Object.assign({}, elbe), { typeLabel: "todo" }), [], Object.assign(Object.assign({}, _toDoStyle), { display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", width: width ? width + "rem" : "auto", height: height ? height + "rem" : "auto", overflow: "hidden" })), { children: _jsxs("span", { children: [_jsx("b", { children: "ToDo: " }), _jsx("span", { style: { fontWeight: "normal" }, children: msg })] }) })));
56
+ return (_jsx("div", Object.assign({}, applyProps("todo", elbe, [], Object.assign(Object.assign({}, _toDoStyle), { display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", width: width ? width + "rem" : "auto", height: height ? height + "rem" : "auto", overflow: "hidden" })), { children: _jsxs("span", { children: [_jsx("b", { children: "ToDo: " }), _jsx("span", { style: { fontWeight: "normal" }, children: msg })] }) })));
57
57
  }
58
58
  ToDo.Block = Block;
59
59
  function Placeholder(_a) {
60
60
  var { width, height } = _a, elbe = __rest(_a, ["width", "height"]);
61
- return (_jsx("div", Object.assign({}, applyProps(Object.assign(Object.assign({}, elbe), { typeLabel: "placeholder" }), [], {
61
+ return (_jsx("div", Object.assign({}, applyProps("placeholder", elbe, [], {
62
62
  padding: "0",
63
63
  width: width ? width + "rem" : "auto",
64
64
  height: height ? height + "rem" : "auto",
@@ -3,7 +3,7 @@ import { X } from "lucide-react";
3
3
  import { IconButton } from "./button/icon_button";
4
4
  import { Spaced } from "./layout/spaced";
5
5
  export function ElbeDialog({ title, open, onClose, children, _style, }) {
6
- return (_jsx("dialog", { onClick: (e) => e.stopPropagation(), open: open, style: "text-align: start" + (_style !== null && _style !== void 0 ? _style : ""), children: _jsxs("div", { class: "primary card plain-opaque padding-none", style: "max-width: 40rem; min-width: 10rem", children: [_jsxs("div", { class: "row cross-center padded main-between", children: [_jsx("div", { class: "body-l b", children: title }), _jsx(IconButton.plain, { icon: X, onTap: (e) => {
6
+ return (_jsx("dialog", { onClick: (e) => e.stopPropagation(), open: open, style: "text-align: start" + (_style !== null && _style !== void 0 ? _style : ""), children: _jsxs("div", { class: "primary card plain-opaque padding-none", style: "max-width: 40rem; min-width: 10rem", children: [_jsxs("div", { class: "row cross-center padded main-between", children: [_jsx("div", { class: "body-l b", children: title }), _jsx(IconButton.plain, { ariaLabel: "Close", icon: X, onTap: (e) => {
7
7
  e.stopPropagation();
8
8
  e.preventDefault();
9
9
  onClose();
@@ -1,6 +1,6 @@
1
- import { type ElbeProps } from "../base/box";
1
+ import { ActionElbeProps } from "../base/box";
2
2
  export declare function Checkbox({ value, label, onChange, ...elbe }: {
3
3
  value: boolean;
4
4
  label?: string;
5
5
  onChange?: ((checked: boolean) => void) | null;
6
- } & ElbeProps): import("preact").JSX.Element;
6
+ } & ActionElbeProps): import("preact").JSX.Element;
@@ -17,5 +17,7 @@ export function Checkbox(_a) {
17
17
  gap: ".75rem",
18
18
  filter: onChange ? "" : "grayscale(1)",
19
19
  opacity: onChange ? "" : "0.5",
20
- }, children: [_jsx("input", Object.assign({ type: "checkbox" }, applyProps(elbe), { disabled: !onChange, checked: value, onChange: (e) => onChange === null || onChange === void 0 ? void 0 : onChange(e.currentTarget.checked) })), label && _jsx("div", { style: "margin-top: -.25rem", children: label })] }));
20
+ }, children: [_jsx("input", Object.assign({ type: "checkbox" }, applyProps("checkbox", elbe, value ? ["accent major"] : "accent minor", {
21
+ background: value ? null : "transparent",
22
+ }), { disabled: !onChange, checked: value, onChange: (e) => onChange === null || onChange === void 0 ? void 0 : onChange(e.currentTarget.checked) })), label && _jsx("div", { style: "margin-top: -.25rem", children: label })] }));
21
23
  }
@@ -1,5 +1,5 @@
1
1
  import React from "preact/compat";
2
- import { type ElbeProps } from "../base/box";
2
+ import { ActionElbeProps } from "../base/box";
3
3
  import { _TextArea } from "./text_area";
4
4
  export type InputFieldProps = {
5
5
  label?: string;
@@ -7,7 +7,7 @@ export type InputFieldProps = {
7
7
  readonly?: boolean;
8
8
  value: string | number;
9
9
  onInput?: (value: string) => void;
10
- } & ElbeProps;
10
+ } & ActionElbeProps;
11
11
  export declare class Field extends React.Component<InputFieldProps & {
12
12
  type?: "text" | "number" | "password" | "date" | "time" | "email";
13
13
  }> {
@@ -22,7 +22,7 @@ export class Field extends React.Component {
22
22
  display: "flex",
23
23
  flexDirection: "column",
24
24
  alignItems: "stretch",
25
- }, "data-tooltip": (_a = this.props) === null || _a === void 0 ? void 0 : _a.tooltip, children: _jsx("input", Object.assign({ type: this.props.type }, applyProps(this.props, null, {
25
+ }, "data-tooltip": (_a = this.props) === null || _a === void 0 ? void 0 : _a.tooltip, children: _jsx("input", Object.assign({ type: this.props.type }, applyProps("text_field", this.props, null, {
26
26
  width: "100%",
27
27
  }), { size: 5, label: this.props.label, placeholder: this.props.hint, value: this.props.value, onInput: (e) => this.props.onInput && this.props.onInput(e.currentTarget.value), readonly: this.props.readonly })) }));
28
28
  }
@@ -1,8 +1,8 @@
1
- import { type ElbeProps } from "../base/box";
1
+ import { ActionElbeProps } from "../base/box";
2
2
  export declare function Range({ value, onChange, min, max, step, ...elbe }: {
3
3
  value: number;
4
4
  min?: number;
5
5
  step?: number;
6
6
  max?: number;
7
7
  onChange?: ((value: number) => void) | null;
8
- } & ElbeProps): import("preact").JSX.Element;
8
+ } & ActionElbeProps): import("preact").JSX.Element;
@@ -15,14 +15,14 @@ import { applyProps } from "../base/box";
15
15
  import { Card } from "../base/card";
16
16
  export function Range(_a) {
17
17
  var { value, onChange, min = 0, max = 100, step = 1 } = _a, elbe = __rest(_a, ["value", "onChange", "min", "max", "step"]);
18
- return min > max ? (_ElbeErr("Range: max is smaller than min")) : (_jsx(Card, { scheme: "secondary", kind: "accent", manner: "minor", style: {
18
+ return min > max ? (_ElbeErr("Range: max is smaller than min")) : (_jsx(Card, { ariaLabel: null, scheme: "secondary", kind: "accent", manner: "minor", style: {
19
19
  overflow: "unset",
20
20
  backgroundColor: "transparent",
21
21
  padding: "0",
22
22
  margin: "0",
23
23
  border: "none",
24
24
  width: "100%",
25
- }, children: _jsx("input", Object.assign({ type: "range" }, applyProps(elbe, null, {
25
+ }, children: _jsx("input", Object.assign({ type: "range" }, applyProps("range", elbe, null, {
26
26
  filter: onChange ? "" : "grayscale(1)",
27
27
  opacity: onChange ? "" : "0.5",
28
28
  cursor: onChange ? "pointer" : "not-allowed",