@reliability-design/web 1.0.6 → 1.2.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 (78) hide show
  1. package/dist/components/rel-accordion/rel-accordion.ts +20 -31
  2. package/dist/components/rel-alert/rel-alert.ts +81 -11
  3. package/dist/components/rel-avatar/rel-avatar.ts +6 -3
  4. package/dist/components/rel-badge/rel-badge.ts +8 -3
  5. package/dist/components/rel-breadcrumb/rel-breadcrumb.ts +6 -6
  6. package/dist/components/rel-button/rel-button.ts +118 -16
  7. package/dist/components/rel-calendar/rel-calendar.ts +16 -9
  8. package/dist/components/rel-card/rel-card.ts +9 -17
  9. package/dist/components/rel-cardmedia/rel-cardmedia.ts +20 -23
  10. package/dist/components/rel-carousel/rel-carousel.ts +596 -469
  11. package/dist/components/rel-checkbox/rel-checkbox.ts +98 -15
  12. package/dist/components/rel-chip/rel-chip.ts +291 -186
  13. package/dist/components/rel-container/rel-container.ts +2 -2
  14. package/dist/components/rel-date-picker/rel-date-picker.ts +23 -19
  15. package/dist/components/rel-divider/rel-divider.ts +12 -3
  16. package/dist/components/rel-drawer/rel-drawer-footer.ts +27 -0
  17. package/dist/components/rel-drawer/rel-drawer.ts +57 -113
  18. package/dist/components/rel-kbd/rel-kbd.ts +94 -118
  19. package/dist/components/rel-layout/rel-layout.ts +49 -58
  20. package/dist/components/rel-menu/rel-menu.ts +359 -327
  21. package/dist/components/rel-menubar/rel-menubar-menu.css +3 -0
  22. package/dist/components/rel-menubar/rel-menubar-menu.ts +2 -1
  23. package/dist/components/rel-menubar/rel-menubar.ts +602 -576
  24. package/dist/components/rel-nav-menu/rel-nav-menu-item.ts +240 -143
  25. package/dist/components/rel-nav-menu/rel-nav-menu.ts +227 -331
  26. package/dist/components/rel-navbar/rel-navbar.ts +13 -0
  27. package/dist/components/rel-otp/rel-otp.ts +22 -25
  28. package/dist/components/rel-pagination/rel-pagination.ts +112 -63
  29. package/dist/components/rel-popover/rel-popover-content.ts +6 -5
  30. package/dist/components/rel-popover/rel-popover.ts +42 -20
  31. package/dist/components/rel-progress/rel-progress.ts +10 -9
  32. package/dist/components/rel-radio/rel-radio.ts +228 -155
  33. package/dist/components/rel-range-picker/rel-range-picker.css +349 -0
  34. package/dist/components/rel-range-picker/rel-range-picker.ts +1079 -0
  35. package/dist/components/rel-resizable/rel-resizable-handle.ts +12 -15
  36. package/dist/components/rel-segmented-button/rel-segmented-button.ts +41 -20
  37. package/dist/components/rel-select/rel-select.ts +112 -27
  38. package/dist/components/rel-sheet/rel-sheet.ts +362 -683
  39. package/dist/components/rel-sidebar/rel-sidebar.ts +13 -5
  40. package/dist/components/rel-slider/rel-slider.ts +74 -29
  41. package/dist/components/rel-snackbar/rel-snackbar.ts +67 -37
  42. package/dist/components/rel-stepper/rel-stepper.ts +43 -31
  43. package/dist/components/rel-switch/rel-switch.ts +26 -12
  44. package/dist/components/rel-tab/rel-tab.ts +57 -37
  45. package/dist/components/rel-table/rel-table-body.ts +5 -0
  46. package/dist/components/rel-table/rel-table-caption.ts +6 -1
  47. package/dist/components/rel-table/rel-table-cell.ts +42 -49
  48. package/dist/components/rel-table/rel-table-footer.ts +5 -0
  49. package/dist/components/rel-table/rel-table-head.ts +13 -1
  50. package/dist/components/rel-table/rel-table-header.ts +5 -0
  51. package/dist/components/rel-table/rel-table-row.ts +7 -3
  52. package/dist/components/rel-table/rel-table.ts +8 -2
  53. package/dist/components/rel-textfield/rel-textfield.ts +153 -44
  54. package/dist/components/rel-toast/rel-toast.ts +56 -22
  55. package/dist/components/rel-tooltip/rel-tooltip.ts +52 -9
  56. package/dist/components/rel-topbar/rel-topbar-actions.ts +24 -0
  57. package/dist/components/rel-topbar/rel-topbar-brand.ts +47 -0
  58. package/dist/components/rel-topbar/rel-topbar-dropdown-item.ts +63 -0
  59. package/dist/components/rel-topbar/rel-topbar-dropdown.ts +28 -0
  60. package/dist/components/rel-topbar/rel-topbar-item.ts +320 -0
  61. package/dist/components/rel-topbar/rel-topbar-mobile-panel.ts +24 -0
  62. package/dist/components/rel-topbar/rel-topbar-profile.ts +222 -0
  63. package/dist/components/rel-topbar/rel-topbar-utilities.ts +24 -0
  64. package/dist/components/rel-topbar/rel-topbar.ts +438 -0
  65. package/dist/index.d.mts +375 -411
  66. package/dist/index.d.ts +375 -411
  67. package/dist/index.js +7587 -7980
  68. package/dist/index.js.map +1 -1
  69. package/dist/index.mjs +7647 -8023
  70. package/dist/index.mjs.map +1 -1
  71. package/dist/rel-menubar-menu-BEEQDAXW.css +3 -0
  72. package/dist/styles/vars-v2.css +525 -0
  73. package/dist/styles/vars.css +79 -27
  74. package/dist/{vars-ITL2K3KO.css → vars-I2PC74XD.css} +79 -27
  75. package/dist/vars-v2-VMGWTFJZ.css +525 -0
  76. package/package.json +3 -1
  77. package/dist/components/rel-quote-page/README.md +0 -166
  78. package/dist/components/rel-quote-page/rel-quote-page.ts +0 -816
@@ -1,118 +1,94 @@
1
- import { LitElement, html, css } from "lit";
2
- import { customElement, property } from "lit/decorators.js";
3
-
4
- @customElement("rel-kbd")
5
- export class RelKbd extends LitElement {
6
- @property({ type: String, reflect: true })
7
- size: "sm" | "md" | "lg" = "md";
8
-
9
- @property({ type: String, reflect: true })
10
- variant: "default" | "muted" = "default";
11
-
12
- @property({ type: Boolean, reflect: true })
13
- pill = false;
14
-
15
- @property({ type: Boolean, reflect: true })
16
- inset = false;
17
-
18
- static styles = css`
19
- :host {
20
- display: inline-flex;
21
- }
22
-
23
- kbd {
24
- display: inline-flex;
25
- align-items: center;
26
- justify-content: center;
27
- font-family: var(--rel-fontFamilies-primary);
28
- font-weight: var(--rel-fontWeights-medium);
29
- white-space: nowrap;
30
- user-select: none;
31
- transition: all 0.15s ease;
32
- line-height: 1;
33
- vertical-align: middle;
34
- }
35
-
36
- /* Size variants */
37
- .kbd-sm {
38
- font-size: var(--rel-fontSizes-xs);
39
- padding: var(--rel-spacing-space-3xs) var(--rel-spacing-space-xs);
40
- min-width: 20px;
41
- height: 20px;
42
- border-radius: var(--rel-borders-radius-border-radius-100);
43
- }
44
-
45
- .kbd-md {
46
- font-size: var(--rel-fontSizes-sm);
47
- padding: var(--rel-spacing-space-2xs) var(--rel-spacing-space-sm);
48
- min-width: 24px;
49
- height: 24px;
50
- border-radius: var(--rel-borders-radius-border-radius-100);
51
- }
52
-
53
- .kbd-lg {
54
- font-size: var(--rel-fontSizes-md);
55
- padding: var(--rel-spacing-space-xs) var(--rel-spacing-space-md);
56
- min-width: 32px;
57
- height: 32px;
58
- border-radius: var(--rel-borders-radius-border-radius-200);
59
- }
60
-
61
- /* Variant: default */
62
- .kbd-default {
63
- background: var(--rel-colors-gray-light);
64
- color: var(--rel-colors-gray-heading);
65
- border: var(--rel-borders-width-stroke-100) solid var(--rel-colors-gray-border);
66
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 1px 0 0 rgba(255, 255, 255, 0.5) inset;
67
- }
68
-
69
- /* Variant: muted */
70
- .kbd-muted {
71
- background: var(--rel-surface-secondary, #fafafa);
72
- color: var(--rel-colors-gray-placeholder);
73
- border: var(--rel-borders-width-stroke-100) solid var(--rel-colors-gray-divider);
74
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03);
75
- }
76
-
77
- /* Pill modifier */
78
- :host([pill]) .kbd-sm {
79
- border-radius: var(--rel-borders-radius-border-radius-500);
80
- }
81
-
82
- :host([pill]) .kbd-md {
83
- border-radius: var(--rel-borders-radius-border-radius-500);
84
- }
85
-
86
- :host([pill]) .kbd-lg {
87
- border-radius: var(--rel-borders-radius-border-radius-500);
88
- }
89
-
90
- /* Inset modifier - pressed appearance */
91
- :host([inset]) kbd {
92
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset, 0 1px 0 0 rgba(0, 0, 0, 0.05);
93
- transform: translateY(1px);
94
- }
95
-
96
- :host([inset]) .kbd-default {
97
- background: var(--rel-surface-secondary, #fafafa);
98
- border-color: var(--rel-colors-gray-divider);
99
- }
100
-
101
- :host([inset]) .kbd-muted {
102
- background: var(--rel-colors-gray-divider);
103
- border-color: var(--rel-colors-gray-border);
104
- }
105
- `;
106
-
107
- private get classes() {
108
- return ["kbd", `kbd-${this.size}`, `kbd-${this.variant}`].join(" ");
109
- }
110
-
111
- render() {
112
- return html`
113
- <kbd class="${this.classes}" role="presentation">
114
- <slot></slot>
115
- </kbd>
116
- `;
117
- }
118
- }
1
+ import { LitElement, html, css } from "lit";
2
+ import { customElement, property } from "lit/decorators.js";
3
+ import "../../styles/vars-v2.css";
4
+
5
+ @customElement("rel-kbd")
6
+ export class RelKbd extends LitElement {
7
+ @property({ type: String, reflect: true })
8
+ size: "sm" | "md" | "lg" = "md";
9
+
10
+ @property({ type: String, reflect: true })
11
+ variant: "default" | "muted" = "default";
12
+
13
+ @property({ type: Boolean, reflect: true })
14
+ pill = false;
15
+
16
+ @property({ type: Boolean, reflect: true })
17
+ inset = false;
18
+
19
+ static styles = css`
20
+ :host {
21
+ display: inline-flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ font-family: var(--rel-fontFamilies-primary);
25
+ font-weight: var(--rel-fontWeights-medium);
26
+ white-space: nowrap;
27
+ user-select: none;
28
+ transition: box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
29
+ line-height: 1;
30
+ vertical-align: middle;
31
+ }
32
+
33
+ :host([size="sm"]) {
34
+ font-size: var(--rel-fontSizes-xs);
35
+ padding: var(--rel-spacing-space-3xs) var(--rel-spacing-space-xs);
36
+ min-width: 20px;
37
+ height: 20px;
38
+ border-radius: var(--rel-borders-radius-border-radius-100);
39
+ }
40
+
41
+ :host([size="md"]) {
42
+ font-size: var(--rel-fontSizes-sm);
43
+ padding: var(--rel-spacing-space-2xs) var(--rel-spacing-space-sm);
44
+ min-width: 24px;
45
+ height: 24px;
46
+ border-radius: var(--rel-borders-radius-border-radius-100);
47
+ }
48
+
49
+ :host([size="lg"]) {
50
+ font-size: var(--rel-fontSizes-md);
51
+ padding: var(--rel-spacing-space-xs) var(--rel-spacing-space-md);
52
+ min-width: 32px;
53
+ height: 32px;
54
+ border-radius: var(--rel-borders-radius-border-radius-200);
55
+ }
56
+
57
+ :host([variant="default"]) {
58
+ background: var(--rel-color-bg-secondary);
59
+ color: var(--rel-color-text-heading);
60
+ border: var(--rel-borders-width-stroke-100) solid var(--rel-color-border-default);
61
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 1px 0 0 rgba(255, 255, 255, 0.5) inset;
62
+ }
63
+
64
+ :host([variant="muted"]) {
65
+ background: var(--rel-color-bg-secondary);
66
+ color: var(--rel-color-text-placeholder);
67
+ border: var(--rel-borders-width-stroke-100) solid var(--rel-color-border-divider);
68
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03);
69
+ }
70
+
71
+ :host([pill]) {
72
+ border-radius: var(--rel-borders-radius-border-radius-500);
73
+ }
74
+
75
+ :host([inset]) {
76
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset, 0 1px 0 0 rgba(0, 0, 0, 0.05);
77
+ transform: translateY(1px);
78
+ }
79
+
80
+ :host([inset][variant="default"]) {
81
+ background: var(--rel-color-bg-secondary);
82
+ border-color: var(--rel-color-border-divider);
83
+ }
84
+
85
+ :host([inset][variant="muted"]) {
86
+ background: var(--rel-color-border-divider);
87
+ border-color: var(--rel-color-border-default);
88
+ }
89
+ `;
90
+
91
+ render() {
92
+ return html`<slot></slot>`;
93
+ }
94
+ }
@@ -1,58 +1,49 @@
1
- import { LitElement, html, css } from "lit";
2
- import { customElement, property } from "lit/decorators.js";
3
-
4
- @customElement("rel-layout")
5
- export class RelLayout extends LitElement {
6
- @property({ type: String }) gap = "1rem";
7
-
8
- @property({ type: Number }) columns = 4;
9
-
10
- // 🔥 IMPORTANT: reflect so CSS selectors work
11
- @property({ type: Boolean, reflect: true }) responsive = true;
12
-
13
- static styles = css`
14
- :host {
15
- display: block;
16
- width: 100%;
17
- }
18
-
19
- .layout-grid {
20
- display: grid;
21
- width: 100%;
22
- font-family: var(--rel-fontFamilies-primary);
23
- }
24
-
25
- /* Responsive breakpoints — only when attribute exists */
26
- @media (max-width: 1024px) {
27
- :host([responsive]) .layout-grid {
28
- grid-template-columns: repeat(3, 1fr) !important;
29
- }
30
- }
31
-
32
- @media (max-width: 768px) {
33
- :host([responsive]) .layout-grid {
34
- grid-template-columns: repeat(2, 1fr) !important;
35
- }
36
- }
37
-
38
- @media (max-width: 480px) {
39
- :host([responsive]) .layout-grid {
40
- grid-template-columns: 1fr !important;
41
- }
42
- }
43
- `;
44
-
45
- render() {
46
- return html`
47
- <div
48
- class="layout-grid"
49
- style="
50
- gap: ${this.gap};
51
- grid-template-columns: repeat(${this.columns}, 1fr);
52
- "
53
- >
54
- <slot></slot>
55
- </div>
56
- `;
57
- }
58
- }
1
+ import { LitElement, html, css } from "lit";
2
+ import { customElement, property } from "lit/decorators.js";
3
+ import "../../styles/vars-v2.css";
4
+
5
+ @customElement("rel-layout")
6
+ export class RelLayout extends LitElement {
7
+ @property({ type: String }) gap = "1rem";
8
+
9
+ @property({ type: Number }) columns = 4;
10
+
11
+ @property({ type: Boolean, reflect: true }) responsive = true;
12
+
13
+ static styles = css`
14
+ :host {
15
+ display: grid;
16
+ width: 100%;
17
+ font-family: var(--rel-fontFamilies-primary);
18
+ gap: var(--_gap, 1rem);
19
+ grid-template-columns: repeat(var(--_columns, 4), 1fr);
20
+ }
21
+
22
+ @media (max-width: 1024px) {
23
+ :host([responsive]) {
24
+ grid-template-columns: repeat(3, 1fr);
25
+ }
26
+ }
27
+
28
+ @media (max-width: 768px) {
29
+ :host([responsive]) {
30
+ grid-template-columns: repeat(2, 1fr);
31
+ }
32
+ }
33
+
34
+ @media (max-width: 480px) {
35
+ :host([responsive]) {
36
+ grid-template-columns: 1fr;
37
+ }
38
+ }
39
+ `;
40
+
41
+ willUpdate() {
42
+ this.style.setProperty('--_gap', this.gap);
43
+ this.style.setProperty('--_columns', String(this.columns));
44
+ }
45
+
46
+ render() {
47
+ return html`<slot></slot>`;
48
+ }
49
+ }