@orange-halo/components 1.0.0 → 2.0.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 (67) hide show
  1. package/dist/base.js +3 -3
  2. package/dist/oh-accordion.js +17 -17
  3. package/dist/oh-alert.js +15 -15
  4. package/dist/oh-badge.js +11 -11
  5. package/dist/oh-breadcrumb.js +8 -8
  6. package/dist/oh-button.d.ts +6 -0
  7. package/dist/oh-button.d.ts.map +1 -1
  8. package/dist/oh-button.js +105 -76
  9. package/dist/oh-button.js.map +1 -1
  10. package/dist/oh-card.js +28 -28
  11. package/dist/oh-checkbox-group.d.ts +8 -0
  12. package/dist/oh-checkbox-group.d.ts.map +1 -1
  13. package/dist/oh-checkbox-group.js +27 -13
  14. package/dist/oh-checkbox-group.js.map +1 -1
  15. package/dist/oh-checkbox.d.ts +9 -0
  16. package/dist/oh-checkbox.d.ts.map +1 -1
  17. package/dist/oh-checkbox.js +25 -9
  18. package/dist/oh-checkbox.js.map +1 -1
  19. package/dist/oh-container.d.ts +5 -5
  20. package/dist/oh-container.js +15 -15
  21. package/dist/oh-drawer.d.ts +7 -2
  22. package/dist/oh-drawer.d.ts.map +1 -1
  23. package/dist/oh-drawer.js +52 -25
  24. package/dist/oh-drawer.js.map +1 -1
  25. package/dist/oh-footer.js +4 -4
  26. package/dist/oh-hero.d.ts.map +1 -1
  27. package/dist/oh-hero.js +50 -51
  28. package/dist/oh-hero.js.map +1 -1
  29. package/dist/oh-icon.js +6 -6
  30. package/dist/oh-input.d.ts +9 -1
  31. package/dist/oh-input.d.ts.map +1 -1
  32. package/dist/oh-input.js +45 -33
  33. package/dist/oh-input.js.map +1 -1
  34. package/dist/oh-link.d.ts +1 -1
  35. package/dist/oh-link.js +15 -15
  36. package/dist/oh-modal.d.ts +8 -2
  37. package/dist/oh-modal.d.ts.map +1 -1
  38. package/dist/oh-modal.js +68 -65
  39. package/dist/oh-modal.js.map +1 -1
  40. package/dist/oh-navbar.d.ts.map +1 -1
  41. package/dist/oh-navbar.js +3 -4
  42. package/dist/oh-navbar.js.map +1 -1
  43. package/dist/oh-progress.d.ts.map +1 -1
  44. package/dist/oh-progress.js +20 -34
  45. package/dist/oh-progress.js.map +1 -1
  46. package/dist/oh-radio-group.d.ts +8 -0
  47. package/dist/oh-radio-group.d.ts.map +1 -1
  48. package/dist/oh-radio-group.js +27 -13
  49. package/dist/oh-radio-group.js.map +1 -1
  50. package/dist/oh-radio.d.ts +9 -0
  51. package/dist/oh-radio.d.ts.map +1 -1
  52. package/dist/oh-radio.js +26 -10
  53. package/dist/oh-radio.js.map +1 -1
  54. package/dist/oh-select.d.ts +8 -0
  55. package/dist/oh-select.d.ts.map +1 -1
  56. package/dist/oh-select.js +34 -20
  57. package/dist/oh-select.js.map +1 -1
  58. package/dist/oh-skip-link.d.ts.map +1 -1
  59. package/dist/oh-skip-link.js +13 -12
  60. package/dist/oh-skip-link.js.map +1 -1
  61. package/dist/oh-tabs.js +6 -6
  62. package/dist/oh-toggle.d.ts +5 -2
  63. package/dist/oh-toggle.d.ts.map +1 -1
  64. package/dist/oh-toggle.js +7 -9
  65. package/dist/oh-toggle.js.map +1 -1
  66. package/dist/styles/typography.js +46 -46
  67. package/package.json +7 -3
package/dist/base.js CHANGED
@@ -22,9 +22,9 @@ export const baseStyles = css `
22
22
 
23
23
  /* Focus ring for keyboard navigation */
24
24
  :host(:focus-visible) {
25
- outline: var(--oh-focus-ring-width, 2px) solid
26
- var(--oh-focus-ring-color, #c54300);
27
- outline-offset: var(--oh-focus-ring-offset, 2px);
25
+ outline: var(--oh-focus-ring-width) solid
26
+ var(--oh-focus-ring-color);
27
+ outline-offset: var(--oh-focus-ring-offset);
28
28
  }
29
29
 
30
30
  /* Hide focus ring for mouse users */
@@ -49,9 +49,9 @@ let OhAccordion = class OhAccordion extends OhElement {
49
49
 
50
50
  :host {
51
51
  display: block;
52
- font-family: var(--oh-font-family-sans);
53
- font-size: var(--oh-font-size-base);
54
- line-height: var(--oh-font-line-height-normal);
52
+ font-family: var(--oh-typography-body-font-family);
53
+ font-size: var(--oh-typography-body-base-font-size);
54
+ line-height: var(--oh-typography-body-base-line-height);
55
55
  }
56
56
 
57
57
  .accordion {
@@ -94,9 +94,9 @@ let OhAccordion = class OhAccordion extends OhElement {
94
94
  cursor: pointer;
95
95
  text-align: left;
96
96
 
97
- font-family: var(--oh-font-family-sans);
98
- font-size: var(--oh-font-size-base);
99
- font-weight: var(--oh-font-weight-medium);
97
+ font-family: var(--oh-typography-body-font-family);
98
+ font-size: var(--oh-typography-body-base-font-size);
99
+ font-weight: var(--oh-typography-label-base-font-weight);
100
100
  color: var(--oh-color-text-link);
101
101
  }
102
102
 
@@ -127,7 +127,7 @@ let OhAccordion = class OhAccordion extends OhElement {
127
127
  background-size: 100% 100%;
128
128
  background-repeat: no-repeat;
129
129
  transform-origin: right;
130
- transition: transform var(--oh-motion-relaxed, 300ms) var(--oh-motion-ease-gentle, ease);
130
+ transition: transform var(--oh-motion-relaxed) var(--oh-motion-ease-gentle);
131
131
  }
132
132
 
133
133
  .accordion--subtle .accordion-trigger:hover .accordion-text::after {
@@ -156,15 +156,15 @@ let OhAccordion = class OhAccordion extends OhElement {
156
156
 
157
157
  .accordion--standout .accordion-item {
158
158
  background-color: var(--oh-color-surface-raised);
159
- border: var(--oh-input-base-border-width, 2.5px) solid var(--oh-color-border-emphasis);
160
- border-radius: var(--oh-radius-md);
159
+ border: var(--oh-input-base-border-width) solid var(--oh-color-border-emphasis);
160
+ border-radius: var(--oh-shape-container);
161
161
  overflow: hidden;
162
162
 
163
163
  /* Base shadow and lift animation */
164
164
  box-shadow: 3px 3px 0 0 rgba(107, 93, 77, 0.15);
165
165
  transition:
166
- transform var(--oh-motion-snappy, 150ms) var(--oh-motion-ease-playful, cubic-bezier(0.34, 1.56, 0.64, 1)),
167
- box-shadow var(--oh-motion-snappy, 150ms) var(--oh-motion-ease-playful, cubic-bezier(0.34, 1.56, 0.64, 1));
166
+ transform var(--oh-motion-snappy) var(--oh-motion-ease-playful),
167
+ box-shadow var(--oh-motion-snappy) var(--oh-motion-ease-playful);
168
168
  }
169
169
 
170
170
  /* Lift whole accordion only when trigger is hovered */
@@ -189,9 +189,9 @@ let OhAccordion = class OhAccordion extends OhElement {
189
189
  cursor: pointer;
190
190
  text-align: left;
191
191
 
192
- font-family: var(--oh-font-family-sans);
193
- font-size: var(--oh-font-size-base);
194
- font-weight: var(--oh-font-weight-semibold);
192
+ font-family: var(--oh-typography-body-font-family);
193
+ font-size: var(--oh-typography-body-base-font-size);
194
+ font-weight: var(--oh-typography-control-font-weight);
195
195
  color: var(--oh-color-text-primary);
196
196
  }
197
197
 
@@ -228,7 +228,7 @@ let OhAccordion = class OhAccordion extends OhElement {
228
228
  background-repeat: no-repeat;
229
229
  transform-origin: left;
230
230
  transform: scaleX(0);
231
- transition: transform var(--oh-motion-relaxed, 300ms) var(--oh-motion-ease-gentle, ease);
231
+ transition: transform var(--oh-motion-relaxed) var(--oh-motion-ease-gentle);
232
232
  }
233
233
 
234
234
  .accordion--standout .accordion-trigger:hover .accordion-text::after {
@@ -249,7 +249,7 @@ let OhAccordion = class OhAccordion extends OhElement {
249
249
  flex-shrink: 0;
250
250
  width: 1rem;
251
251
  height: 1rem;
252
- transition: transform var(--oh-motion-gentle, 200ms) var(--oh-motion-ease-gentle, ease);
252
+ transition: transform var(--oh-motion-gentle) var(--oh-motion-ease-gentle);
253
253
  }
254
254
 
255
255
  .accordion--subtle .accordion-icon {
@@ -271,7 +271,7 @@ let OhAccordion = class OhAccordion extends OhElement {
271
271
  .accordion-panel {
272
272
  display: grid;
273
273
  grid-template-rows: 0fr;
274
- transition: grid-template-rows var(--oh-motion-gentle, 200ms) ease;
274
+ transition: grid-template-rows var(--oh-motion-gentle) ease;
275
275
  }
276
276
 
277
277
  .accordion-panel[data-expanded="true"] {
package/dist/oh-alert.js CHANGED
@@ -68,10 +68,10 @@ let OhAlert = class OhAlert extends OhElement {
68
68
 
69
69
  /* Shape */
70
70
  padding: var(--oh-spacing-4);
71
- border-radius: var(--oh-radius-md);
71
+ border-radius: var(--oh-shape-container);
72
72
 
73
73
  /* Chunky border like other components */
74
- border: var(--oh-input-base-border-width, 2.5px) solid;
74
+ border: var(--oh-input-base-border-width) solid;
75
75
  }
76
76
 
77
77
  /* ═══════════════════════════════════════════════════════════════
@@ -94,9 +94,9 @@ let OhAlert = class OhAlert extends OhElement {
94
94
  min-width: 0;
95
95
 
96
96
  /* Typography */
97
- font-family: var(--oh-font-family-sans);
98
- font-size: var(--oh-font-size-base);
99
- line-height: var(--oh-font-line-height-normal);
97
+ font-family: var(--oh-typography-body-font-family);
98
+ font-size: var(--oh-typography-body-base-font-size);
99
+ line-height: var(--oh-typography-body-base-line-height);
100
100
  }
101
101
 
102
102
  /*
@@ -104,7 +104,7 @@ let OhAlert = class OhAlert extends OhElement {
104
104
  * Uses background-image approach which works with ::slotted()
105
105
  */
106
106
  .alert-content ::slotted(a) {
107
- font-weight: var(--oh-font-weight-semibold);
107
+ font-weight: var(--oh-typography-emphasis-font-weight);
108
108
  text-decoration: none;
109
109
  background-image: repeating-linear-gradient(
110
110
  to right,
@@ -117,7 +117,7 @@ let OhAlert = class OhAlert extends OhElement {
117
117
  background-position: 0 100%;
118
118
  background-repeat: no-repeat;
119
119
  padding-bottom: 2px;
120
- transition: background-size var(--oh-motion-slow, 450ms) ease;
120
+ transition: background-size var(--oh-motion-slow) ease;
121
121
  }
122
122
 
123
123
  .alert-content ::slotted(a:hover) {
@@ -146,13 +146,13 @@ let OhAlert = class OhAlert extends OhElement {
146
146
  padding: var(--oh-spacing-1) var(--oh-spacing-2);
147
147
  margin: -0.25rem -0.5rem -0.25rem 0;
148
148
 
149
- font-family: var(--oh-font-family-sans);
150
- font-size: var(--oh-font-size-base);
151
- font-weight: var(--oh-font-weight-medium);
149
+ font-family: var(--oh-typography-body-font-family);
150
+ font-size: var(--oh-typography-body-base-font-size);
151
+ font-weight: var(--oh-typography-label-base-font-weight);
152
152
 
153
153
  background: transparent;
154
154
  border: none;
155
- border-radius: var(--oh-radius-sm);
155
+ border-radius: var(--oh-shape-compact);
156
156
  cursor: pointer;
157
157
 
158
158
  /* Use primary text color for contrast */
@@ -160,13 +160,13 @@ let OhAlert = class OhAlert extends OhElement {
160
160
 
161
161
  /* Chunky animation setup */
162
162
  transition:
163
- transform var(--oh-motion-snappy, 150ms) var(--oh-motion-ease-playful, cubic-bezier(0.34, 1.56, 0.64, 1)),
164
- box-shadow var(--oh-motion-snappy, 150ms) var(--oh-motion-ease-playful, cubic-bezier(0.34, 1.56, 0.64, 1)),
165
- background-color var(--oh-motion-quick, 120ms) ease;
163
+ transform var(--oh-motion-snappy) var(--oh-motion-ease-playful),
164
+ box-shadow var(--oh-motion-snappy) var(--oh-motion-ease-playful),
165
+ background-color var(--oh-motion-quick) ease;
166
166
  }
167
167
 
168
168
  .alert-close:hover {
169
- background-color: rgba(0, 0, 0, 0.08);
169
+ background-color: var(--oh-close-button-background-hover);
170
170
  transform: translate(-2px, -2px);
171
171
  box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 0.15);
172
172
  }
package/dist/oh-badge.js CHANGED
@@ -54,15 +54,15 @@ let OhBadge = class OhBadge extends OhElement {
54
54
  gap: var(--oh-spacing-1);
55
55
 
56
56
  /* Typography */
57
- font-family: var(--oh-font-family-sans);
58
- font-size: var(--oh-font-size-base);
59
- font-weight: var(--oh-font-weight-medium);
60
- line-height: var(--oh-font-line-height-tight, 1.25);
61
- letter-spacing: var(--oh-font-letter-spacing-wide);
57
+ font-family: var(--oh-typography-body-font-family);
58
+ font-size: var(--oh-typography-body-base-font-size);
59
+ font-weight: var(--oh-typography-label-base-font-weight);
60
+ line-height: var(--oh-typography-heading-h1-line-height);
61
+ letter-spacing: var(--oh-typography-control-letter-spacing);
62
62
 
63
63
  /* Shape */
64
64
  padding: var(--oh-spacing-1) var(--oh-spacing-2-5);
65
- border-radius: var(--oh-radius-sm);
65
+ border-radius: var(--oh-shape-compact);
66
66
 
67
67
  /* No interaction */
68
68
  pointer-events: none;
@@ -94,7 +94,7 @@ let OhBadge = class OhBadge extends OhElement {
94
94
  }
95
95
 
96
96
  .badge--subtle.badge--brand {
97
- background-color: var(--oh-color-brand-subtle);
97
+ background-color: var(--oh-color-brand-primary-subtle);
98
98
  color: var(--oh-color-brand-primary);
99
99
  }
100
100
 
@@ -109,22 +109,22 @@ let OhBadge = class OhBadge extends OhElement {
109
109
 
110
110
  .badge--filled.badge--success {
111
111
  background-color: var(--oh-color-feedback-success);
112
- color: var(--oh-color-surface-white);
112
+ color: var(--oh-color-text-on-success);
113
113
  }
114
114
 
115
115
  .badge--filled.badge--error {
116
116
  background-color: var(--oh-color-feedback-error);
117
- color: var(--oh-color-surface-white);
117
+ color: var(--oh-color-text-on-error);
118
118
  }
119
119
 
120
120
  .badge--filled.badge--warning {
121
121
  background-color: var(--oh-color-feedback-warning);
122
- color: var(--oh-color-surface-white);
122
+ color: var(--oh-color-text-on-warning);
123
123
  }
124
124
 
125
125
  .badge--filled.badge--info {
126
126
  background-color: var(--oh-color-feedback-info);
127
- color: var(--oh-color-surface-white);
127
+ color: var(--oh-color-text-on-info);
128
128
  }
129
129
 
130
130
  .badge--filled.badge--brand {
@@ -44,9 +44,9 @@ let OhBreadcrumb = class OhBreadcrumb extends OhElement {
44
44
 
45
45
  :host {
46
46
  display: block;
47
- font-family: var(--oh-font-family-sans);
48
- font-size: var(--oh-font-size-base);
49
- line-height: var(--oh-font-line-height-normal);
47
+ font-family: var(--oh-typography-body-font-family);
48
+ font-size: var(--oh-typography-body-base-font-size);
49
+ line-height: var(--oh-typography-body-base-line-height);
50
50
  }
51
51
 
52
52
  /* ═══════════════════════════════════════════════════════════════
@@ -107,7 +107,7 @@ let OhBreadcrumb = class OhBreadcrumb extends OhElement {
107
107
  background-size: 100% 100%;
108
108
  background-repeat: no-repeat;
109
109
  transform-origin: right;
110
- transition: transform var(--oh-motion-relaxed, 300ms) var(--oh-motion-ease-gentle, ease);
110
+ transition: transform var(--oh-motion-relaxed) var(--oh-motion-ease-gentle);
111
111
  }
112
112
 
113
113
  .breadcrumb-link:hover::after {
@@ -117,7 +117,7 @@ let OhBreadcrumb = class OhBreadcrumb extends OhElement {
117
117
  .breadcrumb-link:focus-visible {
118
118
  outline: none;
119
119
  background-color: var(--oh-color-surface-hover);
120
- border-radius: var(--oh-radius-xs);
120
+ border-radius: var(--oh-shape-tight);
121
121
  padding: 0 2px 2px 2px;
122
122
  margin: 0 -2px;
123
123
  }
@@ -135,7 +135,7 @@ let OhBreadcrumb = class OhBreadcrumb extends OhElement {
135
135
 
136
136
  .breadcrumb-current {
137
137
  color: var(--oh-color-text-primary);
138
- font-weight: var(--oh-font-weight-medium);
138
+ font-weight: var(--oh-typography-label-base-font-weight);
139
139
  }
140
140
 
141
141
  /* ═══════════════════════════════════════════════════════════════
@@ -173,7 +173,7 @@ let OhBreadcrumb = class OhBreadcrumb extends OhElement {
173
173
  background-size: 100% 100%;
174
174
  background-repeat: no-repeat;
175
175
  transform-origin: right;
176
- transition: transform var(--oh-motion-relaxed, 300ms) var(--oh-motion-ease-gentle, ease);
176
+ transition: transform var(--oh-motion-relaxed) var(--oh-motion-ease-gentle);
177
177
  }
178
178
 
179
179
  .back-link:hover::after {
@@ -183,7 +183,7 @@ let OhBreadcrumb = class OhBreadcrumb extends OhElement {
183
183
  .back-link:focus-visible {
184
184
  outline: none;
185
185
  background-color: var(--oh-color-surface-hover);
186
- border-radius: var(--oh-radius-xs);
186
+ border-radius: var(--oh-shape-tight);
187
187
  padding: 0 2px 2px 2px;
188
188
  margin: 0 -2px;
189
189
  }
@@ -38,6 +38,12 @@ export declare class OhButton extends OhElement {
38
38
  size: ButtonSize;
39
39
  loading: boolean;
40
40
  iconOnly: boolean;
41
+ /**
42
+ * Accessible name for the inner button/anchor. Required for icon-only
43
+ * buttons. Use this, not aria-label: an aria-label on the host isn't
44
+ * forwarded into the shadow root.
45
+ */
46
+ accessibleLabel?: string;
41
47
  /**
42
48
  * Force a visual state (for documentation/Figma sync only)
43
49
  * Values: 'hover' | 'active' | 'focus'
@@ -1 +1 @@
1
- {"version":3,"file":"oh-button.d.ts","sourceRoot":"","sources":["../src/oh-button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAC/D,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC5C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnE,qBACa,QAAS,SAAQ,SAAS;IACrC,OAAgB,MAAM,4BA8VpB;IAGF,OAAO,EAAE,aAAa,CAAa;IAGnC,IAAI,EAAE,UAAU,CAAQ;IAGxB,OAAO,UAAS;IAGhB,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,UAAU,EAAE,WAAW,CAAa;IAEpC,kEAAkE;IAElE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IAEvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,YAAY;IASpB,+CAA+C;IACtC,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAKrC,8CAA8C;IACrC,IAAI;IAKb,MAAM;CA6CP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"oh-button.d.ts","sourceRoot":"","sources":["../src/oh-button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAC/D,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC5C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnE,qBACa,QAAS,SAAQ,SAAS;IACrC,OAAgB,MAAM,4BA8WpB;IAGF,OAAO,EAAE,aAAa,CAAa;IAGnC,IAAI,EAAE,UAAU,CAAQ;IAGxB,OAAO,UAAS;IAGhB,QAAQ,UAAS;IAEjB;;;;OAIG;IAEH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IAEH,UAAU,EAAE,WAAW,CAAa;IAEpC,kEAAkE;IAElE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IAEvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,YAAY;IASpB,+CAA+C;IACtC,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAKrC,8CAA8C;IACrC,IAAI;IAKb,MAAM;CAuDP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}