@eui/eds-wc 22.0.0-alpha.17 → 22.0.0-alpha.19

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 (115) hide show
  1. package/eds-accordion/eds-wc-accordion.js +3 -3
  2. package/eds-alert/eds-wc-alert.d.ts +1 -1
  3. package/eds-alert/eds-wc-alert.js +2 -2
  4. package/eds-blockquote/eds-wc-blockquote.js +1 -1
  5. package/eds-calendar/eds-wc-calendar.d.ts +274 -0
  6. package/eds-calendar/eds-wc-calendar.d.ts.map +1 -0
  7. package/eds-calendar/eds-wc-calendar.js +1236 -0
  8. package/eds-calendar/eds-wc-calendar.js.map +1 -0
  9. package/eds-calendar/index.d.ts +3 -0
  10. package/eds-calendar/index.d.ts.map +1 -0
  11. package/eds-calendar/index.js +2 -0
  12. package/eds-calendar/index.js.map +1 -0
  13. package/eds-card/eds-wc-card.js +1 -1
  14. package/eds-date-block/eds-wc-date-block.js +2 -2
  15. package/eds-datepicker/eds-wc-datepicker.js +1 -1
  16. package/eds-dialog/eds-wc-dialog.js +1 -1
  17. package/eds-discussion-thread/eds-wc-discussion-thread.js +2 -2
  18. package/eds-empty-state/eds-wc-empty-state.js +1 -1
  19. package/eds-fieldset/eds-wc-fieldset.js +1 -1
  20. package/eds-file-upload/eds-wc-file-upload.js +1 -1
  21. package/eds-growl/eds-wc-growl.js +1 -1
  22. package/eds-input-checkbox/eds-wc-input-checkbox.js +3 -3
  23. package/eds-input-number/eds-wc-input-number.js +1 -1
  24. package/eds-input-radio/eds-wc-input-radio.js +3 -3
  25. package/eds-input-text/eds-wc-input-text.js +1 -1
  26. package/eds-label/eds-wc-label.js +1 -1
  27. package/eds-language-selector/eds-wc-language-selector.d.ts +108 -0
  28. package/eds-language-selector/eds-wc-language-selector.d.ts.map +1 -0
  29. package/eds-language-selector/eds-wc-language-selector.js +650 -0
  30. package/eds-language-selector/eds-wc-language-selector.js.map +1 -0
  31. package/eds-language-selector/index.d.ts +3 -0
  32. package/eds-language-selector/index.d.ts.map +1 -0
  33. package/eds-language-selector/index.js +2 -0
  34. package/eds-language-selector/index.js.map +1 -0
  35. package/eds-menu/eds-wc-menu.d.ts +178 -0
  36. package/eds-menu/eds-wc-menu.d.ts.map +1 -0
  37. package/eds-menu/eds-wc-menu.js +933 -0
  38. package/eds-menu/eds-wc-menu.js.map +1 -0
  39. package/eds-menu/index.d.ts +3 -0
  40. package/eds-menu/index.d.ts.map +1 -0
  41. package/eds-menu/index.js +2 -0
  42. package/eds-menu/index.js.map +1 -0
  43. package/eds-message-box/eds-wc-message-box.js +1 -1
  44. package/eds-multiselect/eds-wc-multiselect.d.ts +118 -0
  45. package/eds-multiselect/eds-wc-multiselect.d.ts.map +1 -0
  46. package/eds-multiselect/eds-wc-multiselect.js +617 -0
  47. package/eds-multiselect/eds-wc-multiselect.js.map +1 -0
  48. package/eds-multiselect/index.d.ts +3 -0
  49. package/eds-multiselect/index.d.ts.map +1 -0
  50. package/eds-multiselect/index.js +2 -0
  51. package/eds-multiselect/index.js.map +1 -0
  52. package/eds-overlay/eds-wc-overlay-content.d.ts +17 -0
  53. package/eds-overlay/eds-wc-overlay-content.d.ts.map +1 -0
  54. package/eds-overlay/eds-wc-overlay-content.js +34 -0
  55. package/eds-overlay/eds-wc-overlay-content.js.map +1 -0
  56. package/eds-overlay/eds-wc-overlay-footer.d.ts +17 -0
  57. package/eds-overlay/eds-wc-overlay-footer.d.ts.map +1 -0
  58. package/eds-overlay/eds-wc-overlay-footer.js +35 -0
  59. package/eds-overlay/eds-wc-overlay-footer.js.map +1 -0
  60. package/eds-overlay/eds-wc-overlay-header-action-items.d.ts +18 -0
  61. package/eds-overlay/eds-wc-overlay-header-action-items.d.ts.map +1 -0
  62. package/eds-overlay/eds-wc-overlay-header-action-items.js +34 -0
  63. package/eds-overlay/eds-wc-overlay-header-action-items.js.map +1 -0
  64. package/eds-overlay/eds-wc-overlay-header-label.d.ts +17 -0
  65. package/eds-overlay/eds-wc-overlay-header-label.d.ts.map +1 -0
  66. package/eds-overlay/eds-wc-overlay-header-label.js +32 -0
  67. package/eds-overlay/eds-wc-overlay-header-label.js.map +1 -0
  68. package/eds-overlay/eds-wc-overlay-header-sublabel.d.ts +17 -0
  69. package/eds-overlay/eds-wc-overlay-header-sublabel.d.ts.map +1 -0
  70. package/eds-overlay/eds-wc-overlay-header-sublabel.js +32 -0
  71. package/eds-overlay/eds-wc-overlay-header-sublabel.js.map +1 -0
  72. package/eds-overlay/eds-wc-overlay-header.d.ts +25 -0
  73. package/eds-overlay/eds-wc-overlay-header.d.ts.map +1 -0
  74. package/eds-overlay/eds-wc-overlay-header.js +105 -0
  75. package/eds-overlay/eds-wc-overlay-header.js.map +1 -0
  76. package/eds-overlay/eds-wc-overlay.d.ts +92 -0
  77. package/eds-overlay/eds-wc-overlay.d.ts.map +1 -0
  78. package/eds-overlay/eds-wc-overlay.js +336 -0
  79. package/eds-overlay/eds-wc-overlay.js.map +1 -0
  80. package/eds-overlay/index.d.ts +9 -0
  81. package/eds-overlay/index.d.ts.map +1 -0
  82. package/eds-overlay/index.js +8 -0
  83. package/eds-overlay/index.js.map +1 -0
  84. package/eds-popover/eds-wc-popover.js +1 -1
  85. package/eds-progress-bar/eds-wc-progress-bar.js +1 -1
  86. package/eds-progress-circle/eds-wc-progress-circle.js +3 -3
  87. package/eds-select/eds-wc-select.js +1 -1
  88. package/eds-skeleton/eds-wc-skeleton.js +1 -1
  89. package/eds-swiper/eds-wc-swiper.d.ts +100 -0
  90. package/eds-swiper/eds-wc-swiper.d.ts.map +1 -0
  91. package/eds-swiper/eds-wc-swiper.js +384 -0
  92. package/eds-swiper/eds-wc-swiper.js.map +1 -0
  93. package/eds-swiper/index.d.ts +2 -0
  94. package/eds-swiper/index.d.ts.map +1 -0
  95. package/eds-swiper/index.js +2 -0
  96. package/eds-swiper/index.js.map +1 -0
  97. package/eds-table/eds-wc-table.js +1 -1
  98. package/eds-tabs/eds-wc-tabs.js +1 -1
  99. package/eds-textarea/eds-wc-textarea.js +1 -1
  100. package/eds-timeline/eds-wc-timeline.js +2 -2
  101. package/eds-timepicker/eds-wc-timepicker.js +1 -1
  102. package/eds-user-profile/eds-wc-user-profile.d.ts +146 -0
  103. package/eds-user-profile/eds-wc-user-profile.d.ts.map +1 -0
  104. package/eds-user-profile/eds-wc-user-profile.js +562 -0
  105. package/eds-user-profile/eds-wc-user-profile.js.map +1 -0
  106. package/eds-user-profile/index.d.ts +2 -0
  107. package/eds-user-profile/index.d.ts.map +1 -0
  108. package/eds-user-profile/index.js +2 -0
  109. package/eds-user-profile/index.js.map +1 -0
  110. package/eds-wizard/eds-wc-wizard.js +1 -1
  111. package/index.d.ts +12 -0
  112. package/index.d.ts.map +1 -1
  113. package/index.js +12 -0
  114. package/index.js.map +1 -1
  115. package/package.json +29 -1
@@ -0,0 +1,336 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html, css, nothing } from 'lit';
8
+ import { customElement, property } from 'lit/decorators.js';
9
+ import { EdsBaseElement } from '../shared/eds-base.js';
10
+ /**
11
+ * `<eds-wc-overlay>` — EDS Overlay (slide-in panel) Web Component.
12
+ *
13
+ * A full-viewport slide-in panel anchored to a screen edge (`right` / `left` / `top` / `bottom`)
14
+ * with an optional dimmed backdrop, focus trap, and Escape-to-close. 1:1 projection of the Angular
15
+ * `eds-overlay` component (the panel is NOT a native `<dialog>` because it slides from a screen edge
16
+ * with a custom backdrop and directional transforms).
17
+ *
18
+ * The panel content is composed from the header / content / footer sub-elements
19
+ * (`<eds-wc-overlay-header>`, `<eds-wc-overlay-content>`, `<eds-wc-overlay-footer>`), plus a default
20
+ * slot. The header renders its own close button which dispatches `close-click`.
21
+ *
22
+ * Accessibility: the host carries `role="dialog"`, reflects `aria-hidden` and `inert` when inactive,
23
+ * traps Tab focus within the panel while active, auto-focuses the first focusable element on open,
24
+ * closes on `Escape` (dispatching `active-state` with `false`), and returns focus to the previously
25
+ * focused element on close.
26
+ *
27
+ * @example
28
+ * ```html
29
+ * <eds-wc-overlay is-active position="right" has-closed-on-click-outside>
30
+ * <eds-wc-overlay-header>
31
+ * <eds-wc-overlay-header-label slot="label">Title</eds-wc-overlay-header-label>
32
+ * <eds-wc-overlay-header-sublabel slot="sublabel">Subtitle</eds-wc-overlay-header-sublabel>
33
+ * </eds-wc-overlay-header>
34
+ * <eds-wc-overlay-content>Body content</eds-wc-overlay-content>
35
+ * <eds-wc-overlay-footer>Footer</eds-wc-overlay-footer>
36
+ * </eds-wc-overlay>
37
+ * ```
38
+ *
39
+ * @slot - Default slot for overlay panel content (in addition to the header/content/footer sub-elements).
40
+ *
41
+ * @fires active-state - Dispatched when the overlay's active state changes (Escape or backdrop click request a close). `detail: { active: boolean }` (typically `false`).
42
+ */
43
+ let EdsWcOverlay = class EdsWcOverlay extends EdsBaseElement {
44
+ constructor() {
45
+ super(...arguments);
46
+ /**
47
+ * Controls the visibility and active state of the overlay.
48
+ * @default false
49
+ */
50
+ this.isActive = false;
51
+ /**
52
+ * Screen position where the overlay appears.
53
+ * @default 'right'
54
+ */
55
+ this.position = 'right';
56
+ /**
57
+ * Responsive width variant for the overlay panel (e.g. 'small', 'medium', 'large', 'xlarge').
58
+ * @default ''
59
+ */
60
+ this.width = '';
61
+ /**
62
+ * Fixed width value (overrides responsive width).
63
+ * @default ''
64
+ */
65
+ this.fixedWidth = '';
66
+ /**
67
+ * Enables automatic closing when clicking outside the overlay (on the backdrop).
68
+ * @default false
69
+ */
70
+ this.hasClosedOnClickOutside = false;
71
+ /**
72
+ * Applies highlighted visual styling (a leading accent border on the panel).
73
+ * @default false
74
+ */
75
+ this.isHighlighted = false;
76
+ /** Element that had focus before the overlay opened; focus is returned here on close. */
77
+ this._previouslyFocused = null;
78
+ this._onKeydown = (event) => {
79
+ if (!this.isActive) {
80
+ return;
81
+ }
82
+ if (event.key === 'Escape') {
83
+ this.dispatchEvent(new CustomEvent('active-state', {
84
+ bubbles: true,
85
+ composed: true,
86
+ detail: { active: false },
87
+ }));
88
+ return;
89
+ }
90
+ if (event.key === 'Tab') {
91
+ this._trapFocus(event);
92
+ }
93
+ };
94
+ }
95
+ static { this.styles = css `
96
+ :host, *, *::before, *::after {
97
+ box-sizing: border-box;
98
+ }
99
+
100
+ :host {
101
+ position: fixed;
102
+ top: 0;
103
+ left: 0;
104
+ width: 100%;
105
+ height: 100%;
106
+ z-index: 1000;
107
+ pointer-events: none;
108
+ display: flex;
109
+ }
110
+
111
+ :host([is-active]) {
112
+ pointer-events: auto;
113
+ }
114
+
115
+ :host([position="right"]) {
116
+ justify-content: flex-end;
117
+ }
118
+
119
+ :host([position="left"]) {
120
+ justify-content: flex-start;
121
+ }
122
+
123
+ :host([position="top"]) {
124
+ align-items: flex-start;
125
+ }
126
+
127
+ :host([position="top"]) .eds-overlay-panel {
128
+ width: 100%;
129
+ max-height: 80vh;
130
+ transform: translateY(-100%);
131
+ }
132
+
133
+ :host([position="top"][is-active]) .eds-overlay-panel {
134
+ transform: translateY(0);
135
+ }
136
+
137
+ :host([position="bottom"]) {
138
+ align-items: flex-end;
139
+ }
140
+
141
+ :host([position="bottom"]) .eds-overlay-panel {
142
+ width: 100%;
143
+ max-height: 80vh;
144
+ transform: translateY(100%);
145
+ }
146
+
147
+ :host([position="bottom"][is-active]) .eds-overlay-panel {
148
+ transform: translateY(0);
149
+ }
150
+
151
+ :host(:not([is-active])) {
152
+ visibility: hidden;
153
+ }
154
+
155
+ :host(:not([is-active])) .eds-overlay-panel {
156
+ transform: translateX(100%);
157
+ }
158
+
159
+ :host([position="left"]:not([is-active])) .eds-overlay-panel {
160
+ transform: translateX(-100%);
161
+ }
162
+
163
+ :host([is-highlighted]) .eds-overlay-panel {
164
+ border-left: 3px solid var(--eds-c-border-primary);
165
+ }
166
+
167
+ .eds-overlay-backdrop {
168
+ position: absolute;
169
+ top: 0;
170
+ left: 0;
171
+ width: 100%;
172
+ height: 100%;
173
+ background: var(--eds-c-alpha-backdrop);
174
+ }
175
+
176
+ .eds-overlay-panel {
177
+ position: relative;
178
+ display: flex;
179
+ flex-direction: column;
180
+ height: 100%;
181
+ background: var(--eds-c-surface-elevation-overlay);
182
+ box-shadow: var(--eds-sh-4);
183
+ overflow: hidden;
184
+ transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
185
+ width: 400px;
186
+ max-width: 100vw;
187
+ }
188
+
189
+ /* Width variants */
190
+ :host([width="small"]) .eds-overlay-panel {
191
+ width: 320px;
192
+ }
193
+
194
+ :host([width="medium"]) .eds-overlay-panel {
195
+ width: 480px;
196
+ }
197
+
198
+ :host([width="large"]) .eds-overlay-panel {
199
+ width: 640px;
200
+ }
201
+
202
+ :host([width="xlarge"]) .eds-overlay-panel {
203
+ width: 800px;
204
+ }
205
+ `; }
206
+ connectedCallback() {
207
+ super.connectedCallback();
208
+ this.setAttribute('role', 'dialog');
209
+ this._syncInactiveAria();
210
+ document.addEventListener('keydown', this._onKeydown);
211
+ }
212
+ disconnectedCallback() {
213
+ super.disconnectedCallback();
214
+ document.removeEventListener('keydown', this._onKeydown);
215
+ }
216
+ updated(changed) {
217
+ if (changed.has('isActive')) {
218
+ this._syncInactiveAria();
219
+ if (this.isActive) {
220
+ this._previouslyFocused = document.activeElement ?? null;
221
+ // Auto-capture focus into the panel once rendered.
222
+ this.updateComplete.then(() => this._focusFirst());
223
+ }
224
+ else {
225
+ const target = this._previouslyFocused;
226
+ this._previouslyFocused = null;
227
+ target?.focus?.();
228
+ }
229
+ }
230
+ }
231
+ /** Reflect `aria-hidden` / `inert` based on the active state (matches the Angular host bindings). */
232
+ _syncInactiveAria() {
233
+ this.setAttribute('aria-hidden', this.isActive ? 'false' : 'true');
234
+ if (this.isActive) {
235
+ this.removeAttribute('inert');
236
+ }
237
+ else {
238
+ this.setAttribute('inert', '');
239
+ }
240
+ }
241
+ _getFocusable() {
242
+ const panel = this.renderRoot.querySelector('.eds-overlay-panel');
243
+ if (!panel) {
244
+ return [];
245
+ }
246
+ // Include slotted content by flattening assigned elements of the panel's slots.
247
+ const collect = (root) => {
248
+ const selector = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), ' +
249
+ 'textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
250
+ const found = [];
251
+ root.querySelectorAll(selector).forEach((el) => found.push(el));
252
+ root.querySelectorAll('slot').forEach((slot) => {
253
+ slot.assignedElements({ flatten: true }).forEach((el) => {
254
+ if (el.matches(selector)) {
255
+ found.push(el);
256
+ }
257
+ found.push(...collect(el));
258
+ });
259
+ });
260
+ return found;
261
+ };
262
+ return collect(panel).filter((el) => el.offsetParent !== null || el.getClientRects().length > 0);
263
+ }
264
+ _focusFirst() {
265
+ const focusable = this._getFocusable();
266
+ (focusable[0] ?? this.renderRoot.querySelector('.eds-overlay-panel'))?.focus?.();
267
+ }
268
+ /** Keep Tab focus cycling within the panel while active (single-shadow-root focus trap). */
269
+ _trapFocus(event) {
270
+ const focusable = this._getFocusable();
271
+ if (focusable.length === 0) {
272
+ event.preventDefault();
273
+ this.renderRoot.querySelector('.eds-overlay-panel')?.focus?.();
274
+ return;
275
+ }
276
+ const first = focusable[0];
277
+ const last = focusable[focusable.length - 1];
278
+ const active = this.renderRoot.activeElement ?? document.activeElement;
279
+ if (event.shiftKey && active === first) {
280
+ event.preventDefault();
281
+ last.focus();
282
+ }
283
+ else if (!event.shiftKey && active === last) {
284
+ event.preventDefault();
285
+ first.focus();
286
+ }
287
+ }
288
+ _onBackdropClick() {
289
+ if (this.hasClosedOnClickOutside) {
290
+ this.dispatchEvent(new CustomEvent('active-state', {
291
+ bubbles: true,
292
+ composed: true,
293
+ detail: { active: false },
294
+ }));
295
+ }
296
+ }
297
+ render() {
298
+ return html `
299
+ ${this.isActive
300
+ ? html `<div class="eds-overlay-backdrop" @click="${this._onBackdropClick}"></div>`
301
+ : nothing}
302
+ <div
303
+ class="eds-overlay-panel"
304
+ tabindex="-1"
305
+ style="${this.fixedWidth ? `width: ${this.fixedWidth}` : ''}">
306
+ <slot name="header"></slot>
307
+ <slot name="content"></slot>
308
+ <slot name="footer"></slot>
309
+ <slot></slot>
310
+ </div>
311
+ `;
312
+ }
313
+ };
314
+ __decorate([
315
+ property({ type: Boolean, reflect: true, attribute: 'is-active' })
316
+ ], EdsWcOverlay.prototype, "isActive", void 0);
317
+ __decorate([
318
+ property({ type: String, reflect: true })
319
+ ], EdsWcOverlay.prototype, "position", void 0);
320
+ __decorate([
321
+ property({ type: String, reflect: true })
322
+ ], EdsWcOverlay.prototype, "width", void 0);
323
+ __decorate([
324
+ property({ type: String, reflect: true, attribute: 'fixed-width' })
325
+ ], EdsWcOverlay.prototype, "fixedWidth", void 0);
326
+ __decorate([
327
+ property({ type: Boolean, reflect: true, attribute: 'has-closed-on-click-outside' })
328
+ ], EdsWcOverlay.prototype, "hasClosedOnClickOutside", void 0);
329
+ __decorate([
330
+ property({ type: Boolean, reflect: true, attribute: 'is-highlighted' })
331
+ ], EdsWcOverlay.prototype, "isHighlighted", void 0);
332
+ EdsWcOverlay = __decorate([
333
+ customElement('eds-wc-overlay')
334
+ ], EdsWcOverlay);
335
+ export { EdsWcOverlay };
336
+ //# sourceMappingURL=eds-wc-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eds-wc-overlay.js","sourceRoot":"","sources":["../../src/eds-overlay/eds-wc-overlay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export { EdsWcOverlay } from './eds-wc-overlay';
2
+ export type { EdsWcOverlayPosition } from './eds-wc-overlay';
3
+ export { EdsWcOverlayHeader } from './eds-wc-overlay-header';
4
+ export { EdsWcOverlayHeaderLabel } from './eds-wc-overlay-header-label';
5
+ export { EdsWcOverlayHeaderSublabel } from './eds-wc-overlay-header-sublabel';
6
+ export { EdsWcOverlayHeaderActionItems } from './eds-wc-overlay-header-action-items';
7
+ export { EdsWcOverlayContent } from './eds-wc-overlay-content';
8
+ export { EdsWcOverlayFooter } from './eds-wc-overlay-footer';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eds-overlay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { EdsWcOverlay } from './eds-wc-overlay';
2
+ export { EdsWcOverlayHeader } from './eds-wc-overlay-header';
3
+ export { EdsWcOverlayHeaderLabel } from './eds-wc-overlay-header-label';
4
+ export { EdsWcOverlayHeaderSublabel } from './eds-wc-overlay-header-sublabel';
5
+ export { EdsWcOverlayHeaderActionItems } from './eds-wc-overlay-header-action-items';
6
+ export { EdsWcOverlayContent } from './eds-wc-overlay-content';
7
+ export { EdsWcOverlayFooter } from './eds-wc-overlay-footer';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eds-overlay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -57,7 +57,7 @@ let EdsWcPopover = class EdsWcPopover extends EdsBaseElement {
57
57
  display: flex; align-items: center; justify-content: space-between;
58
58
  padding: var(--eds-sp-s) var(--eds-sp-m); border-bottom: var(--eds-bw-xs) solid var(--eds-c-border-divider);
59
59
  }
60
- .header__title { font: var(--eds-f-label-m-semi-bold); color: var(--eds-c-foreground-default); }
60
+ .header__title { font: var(--eds-f-label-m-semibold); color: var(--eds-c-foreground-default); }
61
61
  .header__close {
62
62
  background: none; border: none; cursor: pointer; padding: var(--eds-sp-3xs);
63
63
  border-radius: var(--eds-br-s); color: var(--eds-c-foreground-subtle); font-family: inherit;
@@ -63,7 +63,7 @@ let EdsWcProgressBar = class EdsWcProgressBar extends SizeMixin(ColorMixin(EdsBa
63
63
  }
64
64
 
65
65
  .header__label {
66
- font: var(--eds-f-label-s-semi-bold);
66
+ font: var(--eds-f-label-s-semibold);
67
67
  color: var(--eds-c-foreground);
68
68
  }
69
69
 
@@ -120,13 +120,13 @@ let EdsWcProgressCircle = class EdsWcProgressCircle extends SizeMixin(ColorMixin
120
120
  top: 50%;
121
121
  left: 50%;
122
122
  transform: translate(-50%, -50%);
123
- font: var(--eds-f-label-m-semi-bold);
123
+ font: var(--eds-f-label-m-semibold);
124
124
  color: var(--eds-c-foreground);
125
125
  white-space: nowrap;
126
126
  }
127
127
 
128
- :host([size="s"]) .label { font: var(--eds-f-label-s-semi-bold); }
129
- :host([size="l"]) .label { font: var(--eds-f-label-l-semi-bold); }
128
+ :host([size="s"]) .label { font: var(--eds-f-label-s-semibold); }
129
+ :host([size="l"]) .label { font: var(--eds-f-label-l-semibold); }
130
130
  `; }
131
131
  render() {
132
132
  const r = this._radius;
@@ -87,7 +87,7 @@ let EdsWcSelect = class EdsWcSelect extends EdsBaseElement {
87
87
 
88
88
  /* Disabled */
89
89
  select:disabled {
90
- background-color: var(--eds-c-suface-disabled);
90
+ background-color: var(--eds-c-surface-disabled);
91
91
  border-color: var(--eds-c-border-disabled);
92
92
  color: var(--eds-c-foreground-subtler);
93
93
  cursor: default;
@@ -36,7 +36,7 @@ let EdsWcSkeleton = class EdsWcSkeleton extends LitElement {
36
36
 
37
37
  .skel {
38
38
  position: relative;
39
- background: var(--eds-c-surface-neutral-subtler, #e8e8f0);
39
+ background: var(--eds-c-surface-neutral-subtler);
40
40
  overflow: hidden;
41
41
  width: 100%;
42
42
  height: 100%;
@@ -0,0 +1,100 @@
1
+ import { EdsBaseElement } from '../shared/eds-base.js';
2
+ /**
3
+ * `<eds-wc-swiper-item>` — a single item within `<eds-wc-swiper>`.
4
+ *
5
+ * Pure content-projection card with scroll-snap alignment and card-like styling. 1:1 projection
6
+ * of the Angular `eds-swiper-item` component (host `role="listitem"`, `.eds-swiper-item` class).
7
+ *
8
+ * @slot - Default slot for the item content.
9
+ */
10
+ export declare class EdsWcSwiperItem extends EdsBaseElement {
11
+ /**
12
+ * Data attribute value for end-to-end testing identification.
13
+ * @default 'eds-swiper-item'
14
+ */
15
+ e2eAttr: string;
16
+ static styles: import("lit").CSSResult;
17
+ connectedCallback(): void;
18
+ protected render(): import("lit-html").TemplateResult<1>;
19
+ }
20
+ /**
21
+ * `<eds-wc-swiper>` — EDS Swiper Web Component.
22
+ *
23
+ * A horizontal scrolling container that displays items in a row with optional navigation arrows
24
+ * and smooth scroll-snap behavior. Unlike the carousel (one slide at a time with transform-based
25
+ * animation), the swiper displays multiple items simultaneously and uses native scroll behavior.
26
+ * 1:1 projection of the Angular `eds-swiper` component (host `role="region"`, `.eds-swiper` class).
27
+ *
28
+ * Items are projected via the default slot — each direct child (typically an
29
+ * `<eds-wc-swiper-item>`) is one item in the scrollable track.
30
+ *
31
+ * @example
32
+ * ```html
33
+ * <eds-wc-swiper gap="20" item-min-width="320">
34
+ * <eds-wc-swiper-item>Card 1</eds-wc-swiper-item>
35
+ * <eds-wc-swiper-item>Card 2</eds-wc-swiper-item>
36
+ * <eds-wc-swiper-item>Card 3</eds-wc-swiper-item>
37
+ * </eds-wc-swiper>
38
+ * ```
39
+ *
40
+ * @slot - Default slot for the swiper items (each direct child = one item).
41
+ *
42
+ * @fires swiper-scroll - Dispatched when the track is scrolled via a navigation arrow. `detail: { direction: 'left' | 'right' }`
43
+ */
44
+ export declare class EdsWcSwiper extends EdsBaseElement {
45
+ /**
46
+ * Data attribute value for end-to-end testing identification.
47
+ * @default 'eds-swiper'
48
+ */
49
+ e2eAttr: string;
50
+ /**
51
+ * Accessible label describing the swiper region.
52
+ * @default 'Scrollable content'
53
+ */
54
+ ariaLabel: string | null;
55
+ /**
56
+ * Gap between items in pixels.
57
+ * @default 20
58
+ */
59
+ gap: number;
60
+ /**
61
+ * Minimum width of each item in pixels. Applied to slotted items via a CSS custom property.
62
+ * @default 320
63
+ */
64
+ itemMinWidth: number;
65
+ /**
66
+ * Whether to hide navigation arrows.
67
+ * @default false
68
+ */
69
+ hideNavigation: boolean;
70
+ private _canScrollLeft;
71
+ private _canScrollRight;
72
+ private _slideDirection;
73
+ private _track?;
74
+ private _slideAnimationTimer;
75
+ private _resizeObserver?;
76
+ /** Whether navigation arrows should be visible. */
77
+ private get _showNavigation();
78
+ static styles: import("lit").CSSResult;
79
+ connectedCallback(): void;
80
+ disconnectedCallback(): void;
81
+ protected firstUpdated(): void;
82
+ protected render(): import("lit-html").TemplateResult<1>;
83
+ /** Scroll the track to the left by ~one viewport width. */
84
+ scrollLeftBy(): void;
85
+ /** Scroll the track to the right by ~one viewport width. */
86
+ scrollRightBy(): void;
87
+ private _scrollLeft;
88
+ private _scrollRight;
89
+ private _triggerSlideAnimation;
90
+ private _onScroll;
91
+ private _onSlotChange;
92
+ private _updateScrollState;
93
+ }
94
+ declare global {
95
+ interface HTMLElementTagNameMap {
96
+ 'eds-wc-swiper': EdsWcSwiper;
97
+ 'eds-wc-swiper-item': EdsWcSwiperItem;
98
+ }
99
+ }
100
+ //# sourceMappingURL=eds-wc-swiper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eds-wc-swiper.d.ts","sourceRoot":"","sources":["../../src/eds-swiper/eds-wc-swiper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;GAOG;AACH,qBACa,eAAgB,SAAQ,cAAc;IAC/C;;;OAGG;IAEH,OAAO,SAAqB;IAE5B,OAAgB,MAAM,0BA0BpB;IAEO,iBAAiB,IAAI,IAAI;cAOf,MAAM;CAG5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,WAAY,SAAQ,cAAc;IAC3C;;;OAGG;IAEH,OAAO,SAAgB;IAEvB;;;OAGG;IAEM,SAAS,EAAE,MAAM,GAAG,IAAI,CAAwB;IAEzD;;;OAGG;IACyB,GAAG,SAAM;IAErC;;;OAGG;IACsD,YAAY,SAAO;IAE5E;;;OAGG;IACuE,cAAc,UAAS;IAExF,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAiC;IAEpC,OAAO,CAAC,MAAM,CAAC,CAAiB;IAE7D,OAAO,CAAC,oBAAoB,CAA8C;IAC1E,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC,mDAAmD;IACnD,OAAO,KAAK,eAAe,GAE1B;IAED,OAAgB,MAAM,0BA4GpB;IAEO,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;cAUlB,YAAY,IAAI,IAAI;cAIpB,MAAM;IA0CzB,2DAA2D;IAC3D,YAAY,IAAI,IAAI;IAYpB,4DAA4D;IAC5D,aAAa,IAAI,IAAI;IAYrB,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,YAAY,CAAoC;IAExD,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,SAAS,CAAyC;IAE1D,OAAO,CAAC,aAAa,CAAyC;IAE9D,OAAO,CAAC,kBAAkB;CAS7B;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,eAAe,EAAE,WAAW,CAAC;QAC7B,oBAAoB,EAAE,eAAe,CAAC;KACzC;CACJ"}