@orange-halo/components 2.1.0 → 2.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 (88) hide show
  1. package/custom-elements.json +369 -0
  2. package/dist/base.d.ts.map +1 -1
  3. package/dist/base.js +1 -2
  4. package/dist/base.js.map +1 -1
  5. package/dist/index.d.ts +3 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/oh-accordion.d.ts.map +1 -1
  10. package/dist/oh-accordion.js +24 -16
  11. package/dist/oh-accordion.js.map +1 -1
  12. package/dist/oh-alert.d.ts.map +1 -1
  13. package/dist/oh-alert.js +64 -22
  14. package/dist/oh-alert.js.map +1 -1
  15. package/dist/oh-badge.d.ts.map +1 -1
  16. package/dist/oh-badge.js +3 -3
  17. package/dist/oh-badge.js.map +1 -1
  18. package/dist/oh-breadcrumb.d.ts.map +1 -1
  19. package/dist/oh-breadcrumb.js +27 -8
  20. package/dist/oh-breadcrumb.js.map +1 -1
  21. package/dist/oh-button.d.ts.map +1 -1
  22. package/dist/oh-button.figma.js +1 -3
  23. package/dist/oh-button.figma.js.map +1 -1
  24. package/dist/oh-button.js +70 -38
  25. package/dist/oh-button.js.map +1 -1
  26. package/dist/oh-card.d.ts.map +1 -1
  27. package/dist/oh-card.js +42 -23
  28. package/dist/oh-card.js.map +1 -1
  29. package/dist/oh-checkbox-group.d.ts.map +1 -1
  30. package/dist/oh-checkbox-group.js +41 -18
  31. package/dist/oh-checkbox-group.js.map +1 -1
  32. package/dist/oh-checkbox.d.ts.map +1 -1
  33. package/dist/oh-checkbox.js +47 -20
  34. package/dist/oh-checkbox.js.map +1 -1
  35. package/dist/oh-drawer.d.ts.map +1 -1
  36. package/dist/oh-drawer.js +21 -10
  37. package/dist/oh-drawer.js.map +1 -1
  38. package/dist/oh-grid.d.ts.map +1 -1
  39. package/dist/oh-grid.js +1 -2
  40. package/dist/oh-grid.js.map +1 -1
  41. package/dist/oh-hero.d.ts.map +1 -1
  42. package/dist/oh-hero.js +3 -1
  43. package/dist/oh-hero.js.map +1 -1
  44. package/dist/oh-icon.d.ts.map +1 -1
  45. package/dist/oh-icon.js +6 -4
  46. package/dist/oh-icon.js.map +1 -1
  47. package/dist/oh-input.d.ts +9 -4
  48. package/dist/oh-input.d.ts.map +1 -1
  49. package/dist/oh-input.js +35 -18
  50. package/dist/oh-input.js.map +1 -1
  51. package/dist/oh-link.d.ts.map +1 -1
  52. package/dist/oh-link.js +36 -9
  53. package/dist/oh-link.js.map +1 -1
  54. package/dist/oh-modal.d.ts +6 -0
  55. package/dist/oh-modal.d.ts.map +1 -1
  56. package/dist/oh-modal.js +54 -24
  57. package/dist/oh-modal.js.map +1 -1
  58. package/dist/oh-navbar.d.ts.map +1 -1
  59. package/dist/oh-navbar.js +2 -1
  60. package/dist/oh-navbar.js.map +1 -1
  61. package/dist/oh-progress.d.ts.map +1 -1
  62. package/dist/oh-progress.js +4 -2
  63. package/dist/oh-progress.js.map +1 -1
  64. package/dist/oh-radio-group.d.ts.map +1 -1
  65. package/dist/oh-radio-group.js +53 -22
  66. package/dist/oh-radio-group.js.map +1 -1
  67. package/dist/oh-radio.d.ts.map +1 -1
  68. package/dist/oh-radio.js +49 -21
  69. package/dist/oh-radio.js.map +1 -1
  70. package/dist/oh-select.d.ts +1 -0
  71. package/dist/oh-select.d.ts.map +1 -1
  72. package/dist/oh-select.js +77 -42
  73. package/dist/oh-select.js.map +1 -1
  74. package/dist/oh-skip-link.d.ts.map +1 -1
  75. package/dist/oh-skip-link.js +7 -9
  76. package/dist/oh-skip-link.js.map +1 -1
  77. package/dist/oh-tabs.d.ts.map +1 -1
  78. package/dist/oh-tabs.js +25 -16
  79. package/dist/oh-tabs.js.map +1 -1
  80. package/dist/oh-textarea.d.ts +98 -0
  81. package/dist/oh-textarea.d.ts.map +1 -0
  82. package/dist/oh-textarea.js +370 -0
  83. package/dist/oh-textarea.js.map +1 -0
  84. package/dist/oh-toggle.d.ts.map +1 -1
  85. package/dist/oh-toggle.js +26 -11
  86. package/dist/oh-toggle.js.map +1 -1
  87. package/dist/styles/typography.js +1 -1
  88. package/package.json +7 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oh-textarea.d.ts","sourceRoot":"","sources":["../src/oh-textarea.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD;;;;;;;;;;GAUG;AACH,qBACa,UAAW,SAAQ,SAAS;IACvC,MAAM,CAAC,cAAc,UAAQ;IAE7B,OAAgB,MAAM,4BA4HpB;IAEF,6DAA6D;IAE7D,KAAK,SAAM;IAEX,4BAA4B;IAE5B,KAAK,SAAM;IAEX,mFAAmF;IAEnF,WAAW,SAAM;IAEjB,kDAAkD;IAElD,UAAU,SAAM;IAEhB,kGAAkG;IAElG,SAAS,SAAM;IAEf,4CAA4C;IAE5C,IAAI,SAAM;IAEV,gDAAgD;IAEhD,QAAQ,UAAS;IAEjB,oDAAoD;IAEpD,QAAQ,UAAS;IAEjB,iFAAiF;IAEjF,IAAI,SAAK;IAET,0CAA0C;IAE1C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8FAA8F;IAE9F,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,OAAO,CAAC,SAAS,CAAuB;IAExC,OAAO,CAAC,UAAU,CAA0B;IAE5C,uDAAuD;IACvD,OAAO,CAAC,aAAa,CAAM;IAE3B,2DAA2D;IAE3D,OAAO,CAAC,aAAa,CAAS;IAE9B;;;;OAIG;IAEH,OAAO,CAAC,cAAc,CAAS;IAE/B,iBAAiB;IAKjB,qCAAqC;IACrC,IAAI,IAAI,2BAEP;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAI5B,IAAI;IAIJ,iBAAiB;IAIjB,oBAAoB,CAAC,QAAQ,EAAE,OAAO;IAItC,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI;IAI/D,UAAU,CAAC,OAAO,EAAE,cAAc;IAMlC,OAAO,CAAC,OAAO,EAAE,cAAc;IAe/B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;IAIrB,MAAM;CAsEP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
@@ -0,0 +1,370 @@
1
+ /**
2
+ * oh-textarea
3
+ *
4
+ * A multi-line text field for messages, comments and feedback. The same
5
+ * chunky, inset field as oh-input, and the first OHDS control that takes
6
+ * part in a native <form>.
7
+ *
8
+ * DESIGN DECISIONS:
9
+ * ─────────────────
10
+ * 1. SAME FAMILY AS oh-input
11
+ * - Thick border (stroke.control), inset shadow, shape.control corners
12
+ * - Focus thickens the border inward with an inset ring in
13
+ * focus.ringColor; background switches to color.surface.highlight
14
+ *
15
+ * 2. ON THE GRID
16
+ * - Line height is 1.5 times the text size, rounded up to the brand's
17
+ * grid (grid.unit), so every line of a long message sits on it
18
+ *
19
+ * 3. A REAL FORM CONTROL
20
+ * - Form-associated: its value submits with the form under its name,
21
+ * `required` blocks submission with the browser's own message, a
22
+ * form reset restores the starting text, and a disabled <fieldset>
23
+ * disables it
24
+ *
25
+ * 4. ERRORS BEFORE THE FIELD
26
+ * - Error text sits after the label and before the field, with an icon,
27
+ * so it's read before the field is reached. Helper text sits after
28
+ */
29
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
30
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
31
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
32
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
33
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
34
+ };
35
+ import { html, css, nothing } from "lit";
36
+ import { customElement, property, query, state } from "lit/decorators.js";
37
+ import { OhElement, baseStyles } from "./base.js";
38
+ /**
39
+ * A multi-line text field that submits with a native form.
40
+ *
41
+ * @element oh-textarea
42
+ * @fires oh-input - On every keystroke. detail: { value, originalEvent }
43
+ * @fires oh-change - When the value is committed (on blur). detail: { value, originalEvent }
44
+ * @csspart label - The visible label
45
+ * @csspart textarea - The text field
46
+ * @csspart helper - The helper text
47
+ * @csspart error - The error message
48
+ */
49
+ let OhTextarea = class OhTextarea extends OhElement {
50
+ constructor() {
51
+ super(...arguments);
52
+ /** The visible label. Always set one: it names the field. */
53
+ this.label = "";
54
+ /** The text in the field */
55
+ this.value = "";
56
+ /** Example text shown while the field is empty. Not a replacement for the label */
57
+ this.placeholder = "";
58
+ /** Help shown under the field and linked to it */
59
+ this.helperText = "";
60
+ /** Error shown before the field and linked to it. Setting it puts the field in its error state */
61
+ this.errorText = "";
62
+ /** The name the value is submitted under */
63
+ this.name = "";
64
+ /** Must be filled in before the form submits */
65
+ this.required = false;
66
+ /** Not editable, and left out of the form's data */
67
+ this.disabled = false;
68
+ /** Visible lines of text before the field scrolls (people can drag it taller) */
69
+ this.rows = 4;
70
+ this._internals = this.attachInternals();
71
+ /** The starting text, restored when the form resets */
72
+ this._defaultValue = "";
73
+ /** Set when a disabled <fieldset> around it disables it */
74
+ this._formDisabled = false;
75
+ /**
76
+ * Errors that appear after first render (e.g. on submit) are announced via
77
+ * role="alert". Errors present on page load are only linked with
78
+ * aria-describedby, so they aren't read out unprompted.
79
+ */
80
+ this._announceError = false;
81
+ }
82
+ static { this.formAssociated = true; }
83
+ static { this.styles = [
84
+ baseStyles,
85
+ css `
86
+ :host {
87
+ display: block;
88
+ }
89
+
90
+ .wrapper {
91
+ display: flex;
92
+ flex-direction: column;
93
+ gap: var(--oh-spacing-2);
94
+ }
95
+
96
+ .label {
97
+ font-family: var(--oh-typography-control-font-family);
98
+ font-size: var(--oh-typography-control-font-size-sm);
99
+ font-weight: var(--oh-typography-control-font-weight);
100
+ color: var(--oh-color-text-primary);
101
+ letter-spacing: var(--oh-typography-control-letter-spacing);
102
+ }
103
+
104
+ .label--required::after {
105
+ content: " *";
106
+ color: var(--oh-color-feedback-error);
107
+ }
108
+
109
+ .textarea {
110
+ display: block;
111
+ width: 100%;
112
+ margin: 0;
113
+ resize: vertical;
114
+ font-family: var(--oh-typography-control-font-family);
115
+ font-size: var(--oh-typography-control-font-size-md);
116
+ /* 1.5 x the text size, rounded up to the brand's grid */
117
+ line-height: 1.5;
118
+ line-height: round(
119
+ up,
120
+ calc(var(--oh-typography-control-font-size-md) * 1.5),
121
+ var(--oh-grid-unit)
122
+ );
123
+ color: var(--oh-color-text-primary);
124
+ background-color: var(--oh-color-surface-base);
125
+ padding: var(--oh-spacing-3) var(--oh-spacing-4);
126
+ border: var(--oh-stroke-control) solid var(--oh-color-border-emphasis);
127
+ border-radius: var(--oh-shape-control);
128
+ box-shadow: inset var(--oh-elevation-offset-md)
129
+ var(--oh-elevation-offset-md) 0 0 var(--oh-shadow-field);
130
+ transition:
131
+ border-color var(--oh-motion-snappy) ease,
132
+ box-shadow var(--oh-motion-snappy) ease,
133
+ background-color var(--oh-motion-quick) ease;
134
+ }
135
+
136
+ .textarea::placeholder {
137
+ color: var(--oh-color-text-secondary);
138
+ }
139
+
140
+ .textarea:hover:not(:focus):not(:disabled) {
141
+ border-color: var(--oh-color-border-hover);
142
+ }
143
+
144
+ .textarea:focus {
145
+ outline: none;
146
+ background-color: var(--oh-color-surface-highlight);
147
+ border-color: var(--oh-focus-ring-color);
148
+ box-shadow: inset 0 0 0 2px var(--oh-focus-ring-color);
149
+ }
150
+
151
+ .textarea--error {
152
+ border-color: var(--oh-color-feedback-error);
153
+ background-color: var(--oh-color-feedback-error-subtle);
154
+ box-shadow: inset var(--oh-elevation-offset-md)
155
+ var(--oh-elevation-offset-md) 0 0 var(--oh-shadow-error);
156
+ }
157
+
158
+ .textarea--error:focus {
159
+ border-color: var(--oh-color-feedback-error);
160
+ box-shadow: inset 0 0 0 2px var(--oh-color-feedback-error);
161
+ }
162
+
163
+ /* Disabled: quiet, not broken */
164
+ .textarea:disabled {
165
+ cursor: not-allowed;
166
+ resize: none;
167
+ color: var(--oh-color-text-disabled);
168
+ background-color: var(--oh-color-surface-disabled);
169
+ border-color: var(--oh-color-border-disabled);
170
+ box-shadow: none;
171
+ }
172
+
173
+ .label--disabled {
174
+ color: var(--oh-color-text-disabled);
175
+ }
176
+
177
+ .helper {
178
+ font-family: var(--oh-typography-body-font-family);
179
+ font-size: var(--oh-typography-body-base-font-size);
180
+ line-height: var(--oh-typography-body-base-line-height);
181
+ color: var(--oh-color-text-secondary);
182
+ letter-spacing: var(--oh-typography-control-letter-spacing);
183
+ }
184
+
185
+ .error {
186
+ display: flex;
187
+ align-items: center;
188
+ gap: var(--oh-spacing-2);
189
+ font-family: var(--oh-typography-body-font-family);
190
+ font-size: var(--oh-typography-body-base-font-size);
191
+ line-height: var(--oh-typography-body-base-line-height);
192
+ color: var(--oh-color-feedback-error);
193
+ }
194
+
195
+ .error-icon {
196
+ flex-shrink: 0;
197
+ width: var(--oh-spacing-4);
198
+ height: var(--oh-spacing-4);
199
+ }
200
+
201
+ @media (prefers-reduced-motion: reduce) {
202
+ .textarea {
203
+ transition-duration: 0.01ms !important;
204
+ }
205
+ }
206
+ `,
207
+ ]; }
208
+ connectedCallback() {
209
+ super.connectedCallback();
210
+ if (!this.hasUpdated)
211
+ this._defaultValue = this.value;
212
+ }
213
+ /** The form this field belongs to */
214
+ get form() {
215
+ return this._internals.form;
216
+ }
217
+ focus(options) {
218
+ this._textarea?.focus(options);
219
+ }
220
+ blur() {
221
+ this._textarea?.blur();
222
+ }
223
+ formResetCallback() {
224
+ this.value = this._defaultValue;
225
+ }
226
+ formDisabledCallback(disabled) {
227
+ this._formDisabled = disabled;
228
+ }
229
+ formStateRestoreCallback(state) {
230
+ if (typeof state === "string")
231
+ this.value = state;
232
+ }
233
+ willUpdate(changed) {
234
+ if (this.hasUpdated && changed.has("errorText")) {
235
+ this._announceError = !!this.errorText;
236
+ }
237
+ }
238
+ updated(changed) {
239
+ if (changed.has("value"))
240
+ this._internals.setFormValue(this.value);
241
+ if (changed.has("value") ||
242
+ changed.has("required") ||
243
+ changed.has("maxlength")) {
244
+ this._internals.setValidity(this._textarea.validity, this._textarea.validationMessage, this._textarea);
245
+ }
246
+ }
247
+ _handleInput(event) {
248
+ this.value = event.target.value;
249
+ this.emit("oh-input", { value: this.value, originalEvent: event });
250
+ }
251
+ _handleChange(event) {
252
+ this.emit("oh-change", { value: this.value, originalEvent: event });
253
+ }
254
+ render() {
255
+ const hasError = !!this.errorText;
256
+ const disabled = this.disabled || this._formDisabled;
257
+ const describedBy = hasError ? "error" : this.helperText ? "helper" : "";
258
+ return html `
259
+ <div class="wrapper">
260
+ ${this.label
261
+ ? html `<label
262
+ class=${this.classMap({
263
+ label: true,
264
+ "label--required": this.required,
265
+ "label--disabled": disabled,
266
+ })}
267
+ part="label"
268
+ for="textarea"
269
+ >${this.label}</label
270
+ >`
271
+ : nothing}
272
+ ${hasError
273
+ ? html `<span
274
+ id="error"
275
+ class="error"
276
+ part="error"
277
+ role=${this._announceError ? "alert" : nothing}
278
+ >
279
+ <svg
280
+ class="error-icon"
281
+ viewBox="0 0 20 20"
282
+ fill="currentColor"
283
+ aria-hidden="true"
284
+ >
285
+ <path
286
+ fill-rule="evenodd"
287
+ d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z"
288
+ clip-rule="evenodd"
289
+ />
290
+ </svg>
291
+ ${this.errorText}
292
+ </span>`
293
+ : nothing}
294
+
295
+ <textarea
296
+ id="textarea"
297
+ part="textarea"
298
+ class=${this.classMap({
299
+ textarea: true,
300
+ "textarea--error": hasError,
301
+ })}
302
+ .value=${this.value}
303
+ rows=${this.rows}
304
+ placeholder=${this.placeholder || nothing}
305
+ maxlength=${this.maxlength ?? nothing}
306
+ autocomplete=${this.autocomplete || nothing}
307
+ ?required=${this.required}
308
+ ?disabled=${disabled}
309
+ aria-invalid=${hasError ? "true" : nothing}
310
+ aria-describedby=${describedBy || nothing}
311
+ @input=${this._handleInput}
312
+ @change=${this._handleChange}
313
+ ></textarea>
314
+
315
+ ${this.helperText && !hasError
316
+ ? html `<span id="helper" class="helper" part="helper"
317
+ >${this.helperText}</span
318
+ >`
319
+ : nothing}
320
+ </div>
321
+ `;
322
+ }
323
+ };
324
+ __decorate([
325
+ property({ type: String })
326
+ ], OhTextarea.prototype, "label", void 0);
327
+ __decorate([
328
+ property({ type: String })
329
+ ], OhTextarea.prototype, "value", void 0);
330
+ __decorate([
331
+ property({ type: String })
332
+ ], OhTextarea.prototype, "placeholder", void 0);
333
+ __decorate([
334
+ property({ type: String, attribute: "helper-text" })
335
+ ], OhTextarea.prototype, "helperText", void 0);
336
+ __decorate([
337
+ property({ type: String, attribute: "error-text" })
338
+ ], OhTextarea.prototype, "errorText", void 0);
339
+ __decorate([
340
+ property({ type: String, reflect: true })
341
+ ], OhTextarea.prototype, "name", void 0);
342
+ __decorate([
343
+ property({ type: Boolean, reflect: true })
344
+ ], OhTextarea.prototype, "required", void 0);
345
+ __decorate([
346
+ property({ type: Boolean, reflect: true })
347
+ ], OhTextarea.prototype, "disabled", void 0);
348
+ __decorate([
349
+ property({ type: Number })
350
+ ], OhTextarea.prototype, "rows", void 0);
351
+ __decorate([
352
+ property({ type: Number })
353
+ ], OhTextarea.prototype, "maxlength", void 0);
354
+ __decorate([
355
+ property({ type: String })
356
+ ], OhTextarea.prototype, "autocomplete", void 0);
357
+ __decorate([
358
+ query("textarea")
359
+ ], OhTextarea.prototype, "_textarea", void 0);
360
+ __decorate([
361
+ state()
362
+ ], OhTextarea.prototype, "_formDisabled", void 0);
363
+ __decorate([
364
+ state()
365
+ ], OhTextarea.prototype, "_announceError", void 0);
366
+ OhTextarea = __decorate([
367
+ customElement("oh-textarea")
368
+ ], OhTextarea);
369
+ export { OhTextarea };
370
+ //# sourceMappingURL=oh-textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oh-textarea.js","sourceRoot":"","sources":["../src/oh-textarea.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oh-toggle.d.ts","sourceRoot":"","sources":["../src/oh-toggle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,qBACa,QAAS,SAAQ,SAAS;IACrC,OAAgB,MAAM,4BAkHpB;IAEF,uCAAuC;IAEvC,OAAO,UAAS;IAEhB,8CAA8C;IAE9C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IAEH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,+BAA+B;IAE/B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gCAAgC;IAEhC,KAAK,SAAQ;IAEb,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+D;IAExF,MAAM;CAqBP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"oh-toggle.d.ts","sourceRoot":"","sources":["../src/oh-toggle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,SAAS,EAAc,MAAM,WAAW,CAAC;AAElD,qBACa,QAAS,SAAQ,SAAS;IACrC,OAAgB,MAAM,4BA0HpB;IAEF,uCAAuC;IAEvC,OAAO,UAAS;IAEhB,8CAA8C;IAE9C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IAEH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,+BAA+B;IAE/B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gCAAgC;IAEhC,KAAK,SAAQ;IAEb,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+D;IAExF,MAAM;CA4BP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
package/dist/oh-toggle.js CHANGED
@@ -99,8 +99,9 @@ let OhToggle = class OhToggle extends OhElement {
99
99
  background-color: var(--oh-color-surface-base);
100
100
  border: var(--oh-stroke-control) solid var(--oh-color-border-emphasis);
101
101
  border-radius: 50%;
102
- box-shadow: var(--oh-elevation-offset-md) var(--oh-elevation-offset-md) 0 0 var(--oh-shadow-secondary);
103
- transition:
102
+ box-shadow: var(--oh-elevation-offset-md) var(--oh-elevation-offset-md)
103
+ 0 0 var(--oh-shadow-secondary);
104
+ transition:
104
105
  transform var(--oh-motion-snappy) var(--oh-motion-ease-gentle),
105
106
  box-shadow var(--oh-motion-snappy) ease;
106
107
  }
@@ -108,31 +109,38 @@ let OhToggle = class OhToggle extends OhElement {
108
109
  /* Checked: thumb moves right, shadow flips to bottom-left */
109
110
  .toggle__track--checked .toggle__thumb {
110
111
  transform: translateX(30px);
111
- box-shadow: calc(-1 * var(--oh-elevation-offset-md)) var(--oh-elevation-offset-md) 0 0 var(--oh-shadow-primary);
112
+ box-shadow: calc(-1 * var(--oh-elevation-offset-md))
113
+ var(--oh-elevation-offset-md) 0 0 var(--oh-shadow-primary);
112
114
  }
113
115
 
114
116
  /* Hover state - lift further up-left, shadow grows */
115
117
  .toggle__track:hover .toggle__thumb {
116
118
  transform: translate(var(--oh-lift-hover-sm), var(--oh-lift-hover-sm));
117
- box-shadow: var(--oh-elevation-offset-lg) var(--oh-elevation-offset-lg) 0 0 var(--oh-shadow-secondary);
119
+ box-shadow: var(--oh-elevation-offset-lg) var(--oh-elevation-offset-lg)
120
+ 0 0 var(--oh-shadow-secondary);
118
121
  }
119
122
 
120
123
  /* Checked hover - shadow flipped and grows */
121
124
  .toggle__track--checked:hover .toggle__thumb {
122
- transform: translateX(30px) translate(var(--oh-lift-press-sm), var(--oh-lift-hover-sm));
123
- box-shadow: calc(-1 * var(--oh-elevation-offset-lg)) var(--oh-elevation-offset-lg) 0 0 var(--oh-shadow-primary);
125
+ transform: translateX(30px)
126
+ translate(var(--oh-lift-press-sm), var(--oh-lift-hover-sm));
127
+ box-shadow: calc(-1 * var(--oh-elevation-offset-lg))
128
+ var(--oh-elevation-offset-lg) 0 0 var(--oh-shadow-primary);
124
129
  }
125
130
 
126
131
  /* Active/pressed state - press down, shadow shrinks */
127
132
  .toggle__track:active .toggle__thumb {
128
133
  transform: translate(var(--oh-lift-press-sm), var(--oh-lift-press-sm));
129
- box-shadow: var(--oh-elevation-offset-xs) var(--oh-elevation-offset-xs) 0 0 var(--oh-shadow-secondary);
134
+ box-shadow: var(--oh-elevation-offset-xs) var(--oh-elevation-offset-xs)
135
+ 0 0 var(--oh-shadow-secondary);
130
136
  }
131
137
 
132
138
  /* Checked active - shadow flipped and shrinks */
133
139
  .toggle__track--checked:active .toggle__thumb {
134
- transform: translateX(30px) translate(var(--oh-lift-hover-sm), var(--oh-lift-press-sm));
135
- box-shadow: calc(-1 * var(--oh-elevation-offset-xs)) var(--oh-elevation-offset-xs) 0 0 var(--oh-shadow-primary);
140
+ transform: translateX(30px)
141
+ translate(var(--oh-lift-hover-sm), var(--oh-lift-press-sm));
142
+ box-shadow: calc(-1 * var(--oh-elevation-offset-xs))
143
+ var(--oh-elevation-offset-xs) 0 0 var(--oh-shadow-primary);
136
144
  }
137
145
 
138
146
  /* ═══════════════════════════════════════════════════════════════
@@ -182,7 +190,9 @@ let OhToggle = class OhToggle extends OhElement {
182
190
  role="switch"
183
191
  aria-checked="${this.checked}"
184
192
  aria-labelledby="${hasVisibleLabel ? this._labelId : nothing}"
185
- aria-label="${!hasVisibleLabel && this.accessibleLabel ? this.accessibleLabel : nothing}"
193
+ aria-label="${!hasVisibleLabel && this.accessibleLabel
194
+ ? this.accessibleLabel
195
+ : nothing}"
186
196
  tabindex="0"
187
197
  @click="${this._handleClick}"
188
198
  @keydown="${this._handleKeydown}"
@@ -190,7 +200,12 @@ let OhToggle = class OhToggle extends OhElement {
190
200
  <div class="toggle__thumb"></div>
191
201
  </div>
192
202
  ${hasVisibleLabel
193
- ? html `<span id="${this._labelId}" class="toggle__label" @click="${this._handleClick}">${this.label}</span>`
203
+ ? html `<span
204
+ id="${this._labelId}"
205
+ class="toggle__label"
206
+ @click="${this._handleClick}"
207
+ >${this.label}</span
208
+ >`
194
209
  : nothing}
195
210
  `;
196
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oh-toggle.js","sourceRoot":"","sources":["../src/oh-toggle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;;;;;AAEH,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG3C,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,SAAS;IAAhC;;QAqHL,uCAAuC;QAEvC,YAAO,GAAG,KAAK,CAAC;QAiBhB,gCAAgC;QAEhC,UAAK,GAAG,IAAI,CAAC;QAwBI,aAAQ,GAAG,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAuB1F,CAAC;aAxLiB,WAAM,GAAG;QACvB,UAAU;QACV,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+GF;KACF,AAlHqB,CAkHpB;IAyBM,OAAO;QACb,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,WAAW,EAAE;YAC3B,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACjC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,CAAgB;QACrC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACvC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAID,MAAM;QACJ,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAA;;+BAEgB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE;;wBAEnD,IAAI,CAAC,OAAO;2BACT,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;sBAC9C,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO;;kBAE7E,IAAI,CAAC,YAAY;oBACf,IAAI,CAAC,cAAc;;;;QAI/B,eAAe;YACf,CAAC,CAAC,IAAI,CAAA,aAAa,IAAI,CAAC,QAAQ,mCAAmC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,SAAS;YAC5G,CAAC,CAAC,OAAO;KACZ,CAAC;IACJ,CAAC;;AAjED;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAC3B;AAIhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uCACZ;AAOf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;iDACjC;AAIzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACb;AAId;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uCACd;AA1IF,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAyLpB"}
1
+ {"version":3,"file":"oh-toggle.js","sourceRoot":"","sources":["../src/oh-toggle.ts"],"names":[],"mappings":"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"}
@@ -124,7 +124,7 @@ export const typographyStyles = css `
124
124
 
125
125
  a::after,
126
126
  .oh-link::after {
127
- content: '';
127
+ content: "";
128
128
  position: absolute;
129
129
  left: 0;
130
130
  right: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orange-halo/components",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Web Components for Orange Halo Design System",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -115,6 +115,10 @@
115
115
  "types": "./dist/oh-tabs.d.ts",
116
116
  "import": "./dist/oh-tabs.js"
117
117
  },
118
+ "./oh-textarea.js": {
119
+ "types": "./dist/oh-textarea.d.ts",
120
+ "import": "./dist/oh-textarea.js"
121
+ },
118
122
  "./oh-toggle.js": {
119
123
  "types": "./dist/oh-toggle.d.ts",
120
124
  "import": "./dist/oh-toggle.js"
@@ -129,12 +133,12 @@
129
133
  "lit": "^3.2.1"
130
134
  },
131
135
  "peerDependencies": {
132
- "@orange-halo/tokens": "^2.1.0",
136
+ "@orange-halo/tokens": "^2.2.0",
133
137
  "@orange-halo/utils": "^1.1.0"
134
138
  },
135
139
  "devDependencies": {
136
140
  "@custom-elements-manifest/analyzer": "^0.11.0",
137
- "@orange-halo/tokens": "2.1.0",
141
+ "@orange-halo/tokens": "2.2.0",
138
142
  "@orange-halo/utils": "1.1.0"
139
143
  },
140
144
  "publishConfig": {