@reliability-design/web 1.4.4 → 1.4.6

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 (58) hide show
  1. package/dist/components/rel-accordion/rel-accordion.ts +13 -1
  2. package/dist/components/rel-alert/rel-alert.ts +1 -1
  3. package/dist/components/rel-autocomplete/rel-autocomplete.ts +33 -2
  4. package/dist/components/rel-badge/rel-badge.ts +6 -1
  5. package/dist/components/rel-button/rel-button.ts +18 -2
  6. package/dist/components/rel-calendar/rel-calendar.ts +86 -18
  7. package/dist/components/rel-carousel/rel-carousel.ts +45 -2
  8. package/dist/components/rel-checkbox/rel-checkbox.ts +4 -1
  9. package/dist/components/rel-chip/rel-chip.ts +59 -19
  10. package/dist/components/rel-date-picker/date-parse.test.ts +116 -0
  11. package/dist/components/rel-date-picker/date-parse.ts +178 -0
  12. package/dist/components/rel-date-picker/rel-date-picker.ts +675 -93
  13. package/dist/components/rel-drawer/rel-drawer.ts +28 -61
  14. package/dist/components/rel-menu/rel-menu.ts +130 -15
  15. package/dist/components/rel-menubar/rel-menubar.ts +221 -63
  16. package/dist/components/rel-nav-menu/rel-nav-menu.ts +39 -3
  17. package/dist/components/rel-otp/rel-otp.ts +14 -4
  18. package/dist/components/rel-pagination/rel-pagination.ts +13 -0
  19. package/dist/components/rel-popover/rel-popover.ts +64 -5
  20. package/dist/components/rel-progress/rel-progress.ts +13 -4
  21. package/dist/components/rel-radio/README.md +6 -3
  22. package/dist/components/rel-radio/rel-radio.ts +236 -60
  23. package/dist/components/rel-range-picker/rel-range-picker.ts +581 -91
  24. package/dist/components/rel-resizable/rel-resizable-group.ts +20 -0
  25. package/dist/components/rel-segmented-button/rel-segmented-button.ts +55 -13
  26. package/dist/components/rel-select/rel-select.ts +203 -24
  27. package/dist/components/rel-sheet/rel-sheet.ts +184 -18
  28. package/dist/components/rel-sidebar/rel-sidebar.ts +50 -40
  29. package/dist/components/rel-skeleton/rel-skeleton.ts +9 -0
  30. package/dist/components/rel-slider/rel-slider.ts +6 -3
  31. package/dist/components/rel-snackbar/rel-snackbar.ts +20 -16
  32. package/dist/components/rel-stepper/rel-stepper.ts +47 -2
  33. package/dist/components/rel-switch/rel-switch.ts +3 -1
  34. package/dist/components/rel-tab/rel-tab.ts +32 -7
  35. package/dist/components/rel-textfield/rel-textfield.ts +263 -75
  36. package/dist/components/rel-time-picker/rel-time-picker.ts +749 -261
  37. package/dist/components/rel-time-picker/time-parse.test.ts +67 -0
  38. package/dist/components/rel-time-picker/time-parse.ts +85 -0
  39. package/dist/components/rel-toast/rel-toast.ts +4 -2
  40. package/dist/components/rel-tooltip/README.md +13 -5
  41. package/dist/components/rel-tooltip/rel-tooltip.ts +33 -0
  42. package/dist/components/rel-topbar/rel-topbar-actions.ts +1 -1
  43. package/dist/components/rel-topbar/rel-topbar-brand.ts +1 -1
  44. package/dist/components/rel-topbar/rel-topbar-dropdown-item.ts +1 -1
  45. package/dist/components/rel-topbar/rel-topbar-dropdown.ts +1 -1
  46. package/dist/components/rel-topbar/rel-topbar-item.ts +318 -319
  47. package/dist/components/rel-topbar/rel-topbar-mobile-panel.ts +1 -1
  48. package/dist/components/rel-topbar/rel-topbar-profile.ts +224 -224
  49. package/dist/components/rel-topbar/rel-topbar-utilities.ts +1 -1
  50. package/dist/components/rel-topbar/rel-topbar.ts +440 -440
  51. package/dist/components/rel-upload/rel-upload.ts +25 -0
  52. package/dist/index.d.mts +461 -23
  53. package/dist/index.d.ts +461 -23
  54. package/dist/index.js +3906 -807
  55. package/dist/index.js.map +1 -1
  56. package/dist/index.mjs +4143 -1055
  57. package/dist/index.mjs.map +1 -1
  58. package/package.json +2 -2
@@ -3,6 +3,7 @@ import { customElement, property, state, query } from "lit/decorators.js";
3
3
  import "@reliability-design/icons/rel-icon";
4
4
  import "../rel-alert/rel-alert";
5
5
  import "../rel-progress/rel-progress";
6
+ import { announce } from "../../utils/announce";
6
7
 
7
8
  /** Per-file lifecycle state. Mirrors the Figma "Upload File Row" variants 1:1. */
8
9
  export type UploadStatus = "ready" | "uploading" | "success" | "error";
@@ -143,6 +144,8 @@ export class RelUpload extends LitElement {
143
144
  private aborter?: AbortController;
144
145
  private delayTimer?: ReturnType<typeof setTimeout>;
145
146
  private lastSignature = "";
147
+ private lastHeading = "";
148
+ private lastAlertText = "";
146
149
 
147
150
  static styles = css`
148
151
  :host {
@@ -601,6 +604,13 @@ export class RelUpload extends LitElement {
601
604
  if (rejected.length) this.emit("rel-invalid", { rejected });
602
605
  this.emit("rel-files-added", { added, rejected });
603
606
  this.emit("rel-change", { files: this.files });
607
+ const accepted = added.length - rejected.length;
608
+ if (accepted > 0) {
609
+ announce(`${accepted} file${accepted === 1 ? "" : "s"} added`);
610
+ }
611
+ if (rejected.length > 0) {
612
+ announce(`${rejected.length} file${rejected.length === 1 ? "" : "s"} rejected`, "assertive");
613
+ }
604
614
  this.notify();
605
615
  }
606
616
 
@@ -727,6 +737,7 @@ export class RelUpload extends LitElement {
727
737
  this.files = this.files.filter((f) => f.id !== id);
728
738
  this.emit("rel-remove", { id, file: target?.file });
729
739
  this.emit("rel-change", { files: this.files });
740
+ if (target) announce(`${target.name} removed`);
730
741
  this.notify();
731
742
  }
732
743
 
@@ -738,6 +749,7 @@ export class RelUpload extends LitElement {
738
749
  this.delayed = false;
739
750
  if (this.inputEl) this.inputEl.value = "";
740
751
  this.emit("rel-change", { files: this.files });
752
+ announce("File list cleared");
741
753
  this.notify();
742
754
  }
743
755
 
@@ -803,6 +815,19 @@ export class RelUpload extends LitElement {
803
815
 
804
816
  updated() {
805
817
  this.notify();
818
+ const heading = this.files.length ? this.listHeading : "";
819
+ if (heading !== this.lastHeading) {
820
+ this.lastHeading = heading;
821
+ if (heading) {
822
+ announce(heading, this.phase === "failed" ? "assertive" : "polite");
823
+ }
824
+ }
825
+ const alert = this.alertContent;
826
+ const alertText = alert ? `${alert.message1}. ${alert.message2}` : "";
827
+ if (alertText !== this.lastAlertText) {
828
+ this.lastAlertText = alertText;
829
+ if (alertText) announce(alertText, "assertive");
830
+ }
806
831
  }
807
832
 
808
833
  // ── render ────────────────────────────────────────────────────────────────