@tylertech/forge 3.2.0 → 3.3.1

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 (69) hide show
  1. package/custom-elements.json +117 -28
  2. package/dist/button/forge-button.css +6 -1
  3. package/dist/chips/forge-chips.css +1 -0
  4. package/dist/dialog/forge-dialog.css +483 -0
  5. package/dist/field/forge-field.css +2 -0
  6. package/dist/inline-message/forge-inline-message.css +2 -0
  7. package/dist/lib.js +1 -1
  8. package/dist/lib.js.map +4 -4
  9. package/dist/vscode.css-custom-data.json +20 -0
  10. package/dist/vscode.html-custom-data.json +12 -2
  11. package/esm/app-bar/app-bar/app-bar.d.ts +2 -0
  12. package/esm/app-bar/app-bar/app-bar.js +2 -0
  13. package/esm/app-bar/search/app-bar-search-adapter.js +0 -3
  14. package/esm/app-bar/search/app-bar-search.js +1 -1
  15. package/esm/autocomplete/autocomplete-adapter.d.ts +1 -1
  16. package/esm/autocomplete/autocomplete-adapter.js +8 -14
  17. package/esm/autocomplete/autocomplete-core.js +4 -1
  18. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  19. package/esm/button/base/base-button-adapter.js +1 -1
  20. package/esm/button/button.d.ts +3 -0
  21. package/esm/button/button.js +4 -1
  22. package/esm/chip-field/chip-field.js +1 -1
  23. package/esm/chips/chip/chip.d.ts +1 -0
  24. package/esm/chips/chip/chip.js +2 -1
  25. package/esm/circular-progress/circular-progress.js +1 -1
  26. package/esm/deprecated/button/deprecated-button.js +1 -1
  27. package/esm/dialog/dialog.js +1 -1
  28. package/esm/field/field-adapter.d.ts +2 -0
  29. package/esm/field/field-adapter.js +4 -0
  30. package/esm/field/field-core.js +1 -0
  31. package/esm/field/field.js +1 -1
  32. package/esm/inline-message/inline-message.js +1 -1
  33. package/esm/list-dropdown/list-dropdown-utils.js +1 -0
  34. package/esm/paginator/paginator.js +1 -1
  35. package/esm/popover/popover-core.js +1 -1
  36. package/esm/select/select/select.js +1 -1
  37. package/esm/skip-link/skip-link-constants.d.ts +2 -0
  38. package/esm/skip-link/skip-link-constants.js +2 -1
  39. package/esm/skip-link/skip-link.d.ts +36 -12
  40. package/esm/skip-link/skip-link.js +55 -12
  41. package/esm/tabs/tab/tab-constants.d.ts +1 -3
  42. package/esm/tabs/tab/tab-constants.js +1 -3
  43. package/esm/tabs/tab/tab.d.ts +1 -1
  44. package/esm/tabs/tab/tab.js +1 -1
  45. package/esm/tabs/tab-bar/tab-bar-core.js +2 -1
  46. package/esm/tabs/tab-bar/tab-bar.d.ts +1 -1
  47. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  48. package/esm/text-field/text-field-adapter.d.ts +8 -4
  49. package/esm/text-field/text-field-adapter.js +9 -4
  50. package/esm/text-field/text-field-constants.d.ts +2 -0
  51. package/esm/text-field/text-field-constants.js +2 -0
  52. package/esm/text-field/text-field-core.d.ts +2 -0
  53. package/esm/text-field/text-field-core.js +10 -3
  54. package/package.json +1 -1
  55. package/sass/button/_core.scss +5 -0
  56. package/sass/button/button.scss +6 -0
  57. package/sass/button/forge-button.scss +5 -0
  58. package/sass/chip-field/chip-field.scss +2 -1
  59. package/sass/chips/chip/chip.scss +1 -1
  60. package/sass/circular-progress/_core.scss +2 -2
  61. package/sass/core/styles/tokens/button/_tokens.scss +3 -1
  62. package/sass/core/styles/tokens/chips/chip/_tokens.scss +1 -0
  63. package/sass/dialog/_animations.scss +6 -6
  64. package/sass/dialog/dialog.scss +10 -10
  65. package/sass/field/_core.scss +1 -0
  66. package/sass/field/_core.theme.scss +4 -0
  67. package/sass/field/field.scss +5 -1
  68. package/sass/field/forge-field.scss +3 -1
  69. package/sass/inline-message/_core.scss +2 -0
@@ -0,0 +1,483 @@
1
+ /**
2
+ * @license
3
+ * Copyright Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @keyframes forge-dialog-zoom-in {
7
+ from {
8
+ opacity: var(--_dialog-zoom-opacity);
9
+ scale: var(--_dialog-zoom-scale);
10
+ }
11
+ to {
12
+ opacity: 1;
13
+ scale: 1;
14
+ }
15
+ }
16
+ @keyframes forge-dialog-zoom-out {
17
+ from {
18
+ opacity: 1;
19
+ scale: 1;
20
+ }
21
+ to {
22
+ opacity: var(--_dialog-zoom-opacity);
23
+ scale: var(--_dialog-zoom-scale);
24
+ }
25
+ }
26
+ @keyframes forge-dialog-fade-in {
27
+ from {
28
+ opacity: var(--_dialog-fade-opacity);
29
+ }
30
+ to {
31
+ opacity: 1;
32
+ }
33
+ }
34
+ @keyframes forge-dialog-fade-out {
35
+ from {
36
+ opacity: 1;
37
+ }
38
+ to {
39
+ opacity: var(--_dialog-fade-opacity);
40
+ }
41
+ }
42
+ @keyframes forge-dialog-slide-in {
43
+ from {
44
+ opacity: var(--_dialog-slide-opacity);
45
+ translate: var(--_dialog-slide-translate);
46
+ }
47
+ to {
48
+ opacity: 1;
49
+ translate: 0 0;
50
+ }
51
+ }
52
+ @keyframes forge-dialog-slide-out {
53
+ from {
54
+ opacity: 1;
55
+ translate: 0 0;
56
+ }
57
+ to {
58
+ opacity: var(--_dialog-slide-opacity);
59
+ translate: var(--_dialog-slide-translate);
60
+ }
61
+ }
62
+ .forge-dialog {
63
+ --_dialog-background: var(--forge-dialog-background, var(--forge-theme-surface-bright, #ffffff));
64
+ --_dialog-shape: var(--forge-dialog-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));
65
+ --_dialog-elevation: var(--forge-dialog-elevation, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12));
66
+ --_dialog-spacing: var(--forge-dialog-spacing, auto);
67
+ --_dialog-block-start-spacing: var(--forge-dialog-block-start-spacing, var(--_dialog-spacing));
68
+ --_dialog-block-end-spacing: var(--forge-dialog-block-end-spacing, var(--_dialog-spacing));
69
+ --_dialog-inline-start-spacing: var(--forge-dialog-inline-start-spacing, var(--_dialog-spacing));
70
+ --_dialog-inline-end-spacing: var(--forge-dialog-inline-end-spacing, var(--_dialog-spacing));
71
+ --_dialog-padding: var(--forge-dialog-padding, 0);
72
+ --_dialog-width: var(--forge-dialog-width, fit-content);
73
+ --_dialog-height: var(--forge-dialog-height, fit-content);
74
+ --_dialog-min-width: var(--forge-dialog-min-width, 0);
75
+ --_dialog-max-width: var(--forge-dialog-max-width, calc(100% - var(--forge-spacing-xxlarge, 48px)));
76
+ --_dialog-min-height: var(--forge-dialog-min-height, 0);
77
+ --_dialog-max-height: var(--forge-dialog-max-height, calc(100% - var(--forge-spacing-xxlarge, 48px)));
78
+ --_dialog-z-index: var(--forge-dialog-z-index, var(--forge-z-index-dialog, 8));
79
+ --_dialog-move-handle-color: var(--forge-dialog-move-handle-color, currentColor);
80
+ --_dialog-move-handle-size: var(--forge-dialog-move-handle-size, 24px);
81
+ --_dialog-move-handle-hover-cursor: var(--forge-dialog-move-handle-hover-cursor, grab);
82
+ --_dialog-move-handle-active-cursor: var(--forge-dialog-move-handle-active-cursor, grabbing);
83
+ --_dialog-move-handle-spacing: var(--forge-dialog-move-handle-spacing, calc(var(--forge-spacing-xxsmall, 4px) * -1) 0 0);
84
+ --_dialog-move-transition-duration: var(--forge-dialog-move-transition-duration, var(--forge-animation-duration-short4, 200ms));
85
+ --_dialog-move-transition-easing: var(--forge-dialog-move-transition-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));
86
+ --_dialog-moving-opacity: var(--forge-dialog-moving-opacity, 0.54);
87
+ --_dialog-enter-animation-duration: var(--forge-dialog-enter-animation-duration, var(--forge-animation-duration-medium1, 250ms));
88
+ --_dialog-enter-animation-easing: var(--forge-dialog-enter-animation-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));
89
+ --_dialog-exit-animation-duration: var(--forge-dialog-exit-animation-duration, var(--forge-animation-duration-short2, 100ms));
90
+ --_dialog-exit-animation-easing: var(--forge-dialog-exit-animation-easing, var(--forge-animation-easing-emphasized-accelerate, cubic-bezier(0.3, 0, 0.8, 0.15)));
91
+ --_dialog-zoom-opacity: var(--forge-dialog-zoom-opacity, 0);
92
+ --_dialog-zoom-scale: var(--forge-dialog-zoom-scale, 0.8);
93
+ --_dialog-fade-opacity: var(--forge-dialog-fade-opacity, 0);
94
+ --_dialog-slide-opacity: var(--forge-dialog-slide-opacity, 0);
95
+ --_dialog-slide-translate: var(--forge-dialog-slide-translate, 0 -30%);
96
+ --_dialog-backdrop-opacity: var(--forge-dialog-backdrop-opacity, var(--forge-backdrop-opacity, 0.54));
97
+ --_dialog-nonmodal-elevation: var(--forge-dialog-nonmodal-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));
98
+ --_dialog-fullscreen-enter-animation-duration: var(--forge-dialog-fullscreen-enter-animation-duration, var(--forge-animation-duration-medium1, 250ms));
99
+ --_dialog-fullscreen-exit-animation-duration: var(--forge-dialog-fullscreen-exit-animation-duration, var(--forge-animation-duration-short2, 100ms));
100
+ --_dialog-position-x: var(--forge-dialog-position-x, 0);
101
+ --_dialog-position-y: var(--forge-dialog-position-y, 0);
102
+ --_dialog-preset-sheet-enter-animation-duration: var(--forge-dialog-preset-sheet-enter-animation-duration, var(--forge-animation-duration-medium1, 250ms));
103
+ --_dialog-preset-sheet-exit-animation-duration: var(--forge-dialog-preset-sheet-exit-animation-duration, var(--forge-animation-duration-short3, 150ms));
104
+ --_backdrop-background: var(--forge-backdrop-background, #000);
105
+ --_backdrop-opacity: var(--forge-backdrop-opacity, 0.54);
106
+ --_backdrop-z-index: var(--forge-backdrop-z-index, var(--forge-z-index-backdrop, 7));
107
+ --_backdrop-enter-animation-duration: var(--forge-backdrop-enter-animation-duration, var(--forge-animation-duration-short4, 200ms));
108
+ --_backdrop-enter-animation-easing: var(--forge-backdrop-enter-animation-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));
109
+ --_backdrop-exit-animation-duration: var(--forge-backdrop-exit-animation-duration, var(--forge-animation-duration-short1, 50ms));
110
+ --_backdrop-exit-animation-easing: var(--forge-backdrop-exit-animation-easing, var(--forge-animation-easing-emphasized-accelerate, cubic-bezier(0.3, 0, 0.8, 0.15)));
111
+ --forge-theme-surface: var(--forge-theme-surface-bright, #ffffff);
112
+ }
113
+
114
+ .forge-dialog {
115
+ position: fixed;
116
+ inset: 0;
117
+ z-index: var(--_dialog-z-index);
118
+ background-color: transparent;
119
+ color: inherit;
120
+ border: none;
121
+ width: auto;
122
+ height: auto;
123
+ padding: 0;
124
+ margin: 0;
125
+ overflow: visible;
126
+ max-width: 100%;
127
+ max-height: 100%;
128
+ box-sizing: border-box;
129
+ position: absolute;
130
+ inset: 0;
131
+ display: flex;
132
+ background: var(--_dialog-background);
133
+ box-shadow: var(--_dialog-elevation);
134
+ z-index: var(--_dialog-z-index);
135
+ overflow: hidden;
136
+ border-radius: var(--_dialog-shape);
137
+ margin-block-start: var(--_dialog-block-start-spacing);
138
+ margin-block-end: var(--_dialog-block-end-spacing);
139
+ margin-inline-start: var(--_dialog-inline-start-spacing);
140
+ margin-inline-end: var(--_dialog-inline-end-spacing);
141
+ padding: var(--_dialog-padding);
142
+ width: var(--_dialog-width);
143
+ height: var(--_dialog-height);
144
+ min-width: var(--_dialog-min-width);
145
+ max-width: var(--_dialog-max-width);
146
+ min-height: var(--_dialog-min-height);
147
+ max-height: var(--_dialog-max-height);
148
+ box-sizing: border-box;
149
+ animation-duration: var(--_dialog-exit-animation-duration);
150
+ animation-timing-function: var(--_dialog-exit-animation-easing);
151
+ position: fixed;
152
+ transition-property: display, opacity, overlay, scale;
153
+ transition-behavior: allow-discrete;
154
+ }
155
+ .forge-dialog--fullscreen {
156
+ --_dialog-enter-animation-duration: var(--_dialog-fullscreen-enter-animation-duration);
157
+ --_dialog-exit-animation-duration: var(--_dialog-fullscreen-exit-animation-duration);
158
+ height: 100%;
159
+ width: 100%;
160
+ max-width: none;
161
+ max-height: none;
162
+ border-radius: 0;
163
+ box-shadow: none;
164
+ }
165
+ .forge-dialog:not(:modal) {
166
+ --_dialog-elevation: var(--_dialog-nonmodal-elevation);
167
+ pointer-events: all;
168
+ }
169
+ .forge-dialog--moveable {
170
+ user-select: none;
171
+ transition-property: opacity;
172
+ transition-duration: var(--_dialog-move-transition-duration);
173
+ transition-timing-function: var(--_dialog-move-transition-easing);
174
+ }
175
+ .forge-dialog--moved {
176
+ margin: 0;
177
+ }
178
+ .forge-dialog--moving {
179
+ opacity: var(--_dialog-moving-opacity);
180
+ }
181
+ .forge-dialog__move-handle {
182
+ fill: var(--_dialog-move-handle-color);
183
+ height: var(--_dialog-move-handle-size);
184
+ width: var(--_dialog-move-handle-size);
185
+ margin: var(--_dialog-move-handle-spacing);
186
+ touch-action: none;
187
+ }
188
+ .forge-dialog__move-handle:hover {
189
+ cursor: var(--_dialog-move-handle-hover-cursor);
190
+ }
191
+ .forge-dialog__move-handle:active {
192
+ cursor: var(--_dialog-move-handle-active-cursor);
193
+ }
194
+ .forge-dialog__move-handle-container {
195
+ position: absolute;
196
+ top: 0;
197
+ z-index: 1;
198
+ display: flex;
199
+ justify-content: center;
200
+ width: 100%;
201
+ }
202
+ .forge-dialog--top {
203
+ --_dialog-block-start-spacing: var(--forge-dialog-block-start-spacing, 0);
204
+ top: 0;
205
+ bottom: auto;
206
+ }
207
+ .forge-dialog--top-right {
208
+ --_dialog-spacing: var(--forge-dialog-spacing, 0);
209
+ top: 0;
210
+ left: auto;
211
+ right: 0;
212
+ bottom: auto;
213
+ }
214
+ .forge-dialog--top-left {
215
+ --_dialog-spacing: var(--forge-dialog-spacing, 0);
216
+ top: 0;
217
+ left: 0;
218
+ right: auto;
219
+ bottom: auto;
220
+ }
221
+ .forge-dialog--bottom {
222
+ --_dialog-block-end-spacing: var(--forge-dialog-block-end-spacing, 0);
223
+ top: auto;
224
+ bottom: 0;
225
+ }
226
+ .forge-dialog--bottom-right {
227
+ --_dialog-spacing: var(--forge-dialog-spacing, 0);
228
+ top: auto;
229
+ left: auto;
230
+ right: 0;
231
+ bottom: 0;
232
+ }
233
+ .forge-dialog--bottom-left {
234
+ --_dialog-spacing: var(--forge-dialog-spacing, 0);
235
+ top: auto;
236
+ left: 0;
237
+ right: auto;
238
+ bottom: 0;
239
+ }
240
+ .forge-dialog--right {
241
+ --_dialog-spacing: var(--forge-dialog-spacing, 0);
242
+ top: auto;
243
+ left: auto;
244
+ right: 0;
245
+ bottom: auto;
246
+ }
247
+ .forge-dialog--left {
248
+ --_dialog-spacing: var(--forge-dialog-spacing, 0);
249
+ top: auto;
250
+ left: 0;
251
+ right: auto;
252
+ bottom: auto;
253
+ }
254
+ .forge-dialog--custom {
255
+ margin: 0;
256
+ top: var(--_dialog-position-x);
257
+ left: var(--_dialog-position-y);
258
+ }
259
+ .forge-dialog--bottom-sheet {
260
+ --_dialog-enter-animation-duration: var(--_dialog-preset-sheet-enter-animation-duration);
261
+ --_dialog-exit-animation-duration: var(--_dialog-preset-sheet-exit-animation-duration);
262
+ --_dialog-max-width: var(--forge-dialog-max-width, none);
263
+ --_dialog-max-height: var(--forge-dialog-max-height, none);
264
+ inset: auto;
265
+ display: inline-flex;
266
+ bottom: 0;
267
+ left: 0;
268
+ right: 0;
269
+ border-bottom-left-radius: 0;
270
+ border-bottom-right-radius: 0;
271
+ --_dialog-slide-translate: var(--forge-dialog-slide-translate, 0 100%);
272
+ }
273
+ .forge-dialog--bottom-sheet.forge-dialog {
274
+ transition-property: display, opacity, overlay, translate;
275
+ }
276
+ .forge-dialog--bottom-sheet.forge-dialog[open] {
277
+ translate: 0 0;
278
+ }
279
+ @starting-style {
280
+ .forge-dialog--bottom-sheet.forge-dialog[open] {
281
+ opacity: var(--_dialog-slide-opacity);
282
+ translate: var(--_dialog-slide-translate);
283
+ }
284
+ }
285
+ .forge-dialog--bottom-sheet.forge-dialog:not([open]) {
286
+ opacity: var(--_dialog-slide-opacity);
287
+ scale: 1;
288
+ translate: var(--_dialog-slide-translate);
289
+ }
290
+ .forge-dialog--left-sheet {
291
+ --_dialog-enter-animation-duration: var(--_dialog-preset-sheet-enter-animation-duration);
292
+ --_dialog-exit-animation-duration: var(--_dialog-preset-sheet-exit-animation-duration);
293
+ --_dialog-max-width: var(--forge-dialog-max-width, none);
294
+ --_dialog-max-height: var(--forge-dialog-max-height, none);
295
+ inset: auto;
296
+ display: inline-flex;
297
+ left: 0;
298
+ bottom: 0;
299
+ top: 0;
300
+ height: 100%;
301
+ border-top-left-radius: 0;
302
+ border-bottom-left-radius: 0;
303
+ --_dialog-slide-translate: var(--forge-dialog-slide-translate, -100% 0);
304
+ }
305
+ .forge-dialog--left-sheet.forge-dialog {
306
+ transition-property: display, opacity, overlay, translate;
307
+ }
308
+ .forge-dialog--left-sheet.forge-dialog[open] {
309
+ translate: 0 0;
310
+ }
311
+ @starting-style {
312
+ .forge-dialog--left-sheet.forge-dialog[open] {
313
+ opacity: var(--_dialog-slide-opacity);
314
+ translate: var(--_dialog-slide-translate);
315
+ }
316
+ }
317
+ .forge-dialog--left-sheet.forge-dialog:not([open]) {
318
+ opacity: var(--_dialog-slide-opacity);
319
+ scale: 1;
320
+ translate: var(--_dialog-slide-translate);
321
+ }
322
+ .forge-dialog--right-sheet {
323
+ --_dialog-enter-animation-duration: var(--_dialog-preset-sheet-enter-animation-duration);
324
+ --_dialog-exit-animation-duration: var(--_dialog-preset-sheet-exit-animation-duration);
325
+ --_dialog-max-width: var(--forge-dialog-max-width, none);
326
+ --_dialog-max-height: var(--forge-dialog-max-height, none);
327
+ inset: auto;
328
+ display: inline-flex;
329
+ right: 0;
330
+ bottom: 0;
331
+ top: 0;
332
+ height: 100%;
333
+ border-top-right-radius: 0;
334
+ border-bottom-right-radius: 0;
335
+ --_dialog-slide-translate: var(--forge-dialog-slide-translate, 100% 0);
336
+ }
337
+ .forge-dialog--right-sheet.forge-dialog {
338
+ transition-property: display, opacity, overlay, translate;
339
+ }
340
+ .forge-dialog--right-sheet.forge-dialog[open] {
341
+ translate: 0 0;
342
+ }
343
+ @starting-style {
344
+ .forge-dialog--right-sheet.forge-dialog[open] {
345
+ opacity: var(--_dialog-slide-opacity);
346
+ translate: var(--_dialog-slide-translate);
347
+ }
348
+ }
349
+ .forge-dialog--right-sheet.forge-dialog:not([open]) {
350
+ opacity: var(--_dialog-slide-opacity);
351
+ scale: 1;
352
+ translate: var(--_dialog-slide-translate);
353
+ }
354
+ .forge-dialog--top-sheet {
355
+ --_dialog-enter-animation-duration: var(--_dialog-preset-sheet-enter-animation-duration);
356
+ --_dialog-exit-animation-duration: var(--_dialog-preset-sheet-exit-animation-duration);
357
+ --_dialog-max-width: var(--forge-dialog-max-width, none);
358
+ --_dialog-max-height: var(--forge-dialog-max-height, none);
359
+ inset: auto;
360
+ display: inline-flex;
361
+ top: 0;
362
+ left: 0;
363
+ right: 0;
364
+ border-top-left-radius: 0;
365
+ border-top-right-radius: 0;
366
+ --_dialog-slide-translate: var(--forge-dialog-slide-translate, 0 -100%);
367
+ }
368
+ .forge-dialog--top-sheet.forge-dialog {
369
+ transition-property: display, opacity, overlay, translate;
370
+ }
371
+ .forge-dialog--top-sheet.forge-dialog[open] {
372
+ translate: 0 0;
373
+ }
374
+ @starting-style {
375
+ .forge-dialog--top-sheet.forge-dialog[open] {
376
+ opacity: var(--_dialog-slide-opacity);
377
+ translate: var(--_dialog-slide-translate);
378
+ }
379
+ }
380
+ .forge-dialog--top-sheet.forge-dialog:not([open]) {
381
+ opacity: var(--_dialog-slide-opacity);
382
+ scale: 1;
383
+ translate: var(--_dialog-slide-translate);
384
+ }
385
+ .forge-dialog::backdrop {
386
+ --forge-backdrop-opacity: var(--_backdrop-opacity);
387
+ --forge-backdrop-enter-animation-duration: var(--_backdrop-enter-animation-duration);
388
+ --forge-backdrop-enter-animation-easing: var(--_backdrop-enter-animation-easing);
389
+ --forge-backdrop-exit-animation-duration: var(--_backdrop-exit-animation-duration);
390
+ --forge-backdrop-exit-animation-easing: var(--_backdrop-exit-animation-easing);
391
+ position: absolute;
392
+ inset: 0;
393
+ contain: content;
394
+ z-index: var(--_backdrop-z-index);
395
+ background: var(--_backdrop-background);
396
+ opacity: 0;
397
+ animation-fill-mode: forwards;
398
+ transition-property: display, opacity, overlay;
399
+ }
400
+ .forge-dialog[open] {
401
+ opacity: 1;
402
+ scale: 1;
403
+ transition-duration: var(--_dialog-enter-animation-duration);
404
+ transition-timing-function: var(--_dialog-enter-animation-easing);
405
+ }
406
+ @starting-style {
407
+ .forge-dialog[open] {
408
+ opacity: var(--_dialog-zoom-opacity);
409
+ scale: var(--_dialog-zoom-scale);
410
+ }
411
+ }
412
+ .forge-dialog[open]::backdrop {
413
+ opacity: var(--_backdrop-opacity);
414
+ transition-duration: var(--_backdrop-enter-animation-duration);
415
+ transition-timing-function: var(--_backdrop-enter-animation-easing);
416
+ }
417
+ @starting-style {
418
+ .forge-dialog[open]::backdrop {
419
+ opacity: 0;
420
+ }
421
+ }
422
+ .forge-dialog:not([open]) {
423
+ animation-duration: var(--_dialog-enter-animation-duration);
424
+ animation-timing-function: var(--_dialog-enter-animation-easing);
425
+ display: none;
426
+ opacity: var(--_dialog-zoom-opacity);
427
+ scale: var(--_dialog-zoom-scale);
428
+ transition-duration: var(--_dialog-exit-animation-duration);
429
+ transition-timing-function: var(--_dialog-exit-animation-easing);
430
+ }
431
+ .forge-dialog:not([open])::backdrop {
432
+ transition-duration: var(--_backdrop-exit-animation-duration);
433
+ transition-timing-function: var(--_backdrop-exit-animation-easing);
434
+ }
435
+ .forge-dialog--animation-fade.forge-dialog {
436
+ transition-property: display, opacity, overlay;
437
+ }
438
+ @starting-style {
439
+ .forge-dialog--animation-fade.forge-dialog[open] {
440
+ opacity: var(--_dialog-fade-opacity);
441
+ }
442
+ }
443
+ .forge-dialog--animation-fade.forge-dialog:not([open]) {
444
+ opacity: var(--_dialog-fade-opacity);
445
+ scale: 1;
446
+ }
447
+ .forge-dialog--animation-slide.forge-dialog {
448
+ transition-property: display, opacity, overlay, translate;
449
+ }
450
+ .forge-dialog--animation-slide.forge-dialog[open] {
451
+ translate: 0 0;
452
+ }
453
+ @starting-style {
454
+ .forge-dialog--animation-slide.forge-dialog[open] {
455
+ opacity: var(--_dialog-slide-opacity);
456
+ translate: var(--_dialog-slide-translate);
457
+ }
458
+ }
459
+ .forge-dialog--animation-slide.forge-dialog:not([open]) {
460
+ opacity: var(--_dialog-slide-opacity);
461
+ scale: 1;
462
+ translate: var(--_dialog-slide-translate);
463
+ }
464
+ .forge-dialog--animation-none {
465
+ --_dialog-enter-animation-duration: var(--forge-dialog-enter-animation-duration, 0s);
466
+ --_dialog-exit-animation-duration: var(--forge-dialog-exit-animation-duration, 0s);
467
+ --_backdrop-enter-animation-duration: var(--forge-backdrop-enter-animation-duration, 0s);
468
+ --_backdrop-exit-animation-duration: var(--forge-backdrop-exit-animation-duration, 0s);
469
+ }
470
+ @media (prefers-reduced-motion) {
471
+ .forge-dialog.forge-dialog {
472
+ transition-property: display, opacity, overlay;
473
+ }
474
+ @starting-style {
475
+ .forge-dialog.forge-dialog[open] {
476
+ opacity: var(--_dialog-fade-opacity);
477
+ }
478
+ }
479
+ .forge-dialog.forge-dialog:not([open]) {
480
+ opacity: var(--_dialog-fade-opacity);
481
+ scale: 1;
482
+ }
483
+ }
@@ -73,6 +73,7 @@
73
73
  outline-style: var(--_field-outline-style);
74
74
  outline-width: var(--_field-outline-width);
75
75
  outline-color: var(--forge-theme-outline-low, #9e9e9e);
76
+ outline-offset: calc(var(--_field-outline-width) * -1);
76
77
  background: var(--_field-background);
77
78
  opacity: var(--_field-disableable-opacity);
78
79
  cursor: var(--_field-disableable-cursor);
@@ -356,6 +357,7 @@
356
357
  }
357
358
  .forge-field--invalid.forge-field:has(:where(input, textarea, select, .forge-field__input):focus), .forge-field:has(:where(input, textarea, select, .forge-field__input):invalid).forge-field:has(:where(input, textarea, select, .forge-field__input):focus) {
358
359
  --forge-focus-indicator-color: var(--forge-theme-error, #b00020);
360
+ --forge-focus-indicator-outward-offset: calc(var(--_field-outline-width) * -1);
359
361
  }
360
362
  .forge-field--invalid label, .forge-field:has(:where(input, textarea, select, .forge-field__input):invalid) label {
361
363
  color: var(--forge-theme-error, #b00020);
@@ -38,6 +38,7 @@
38
38
  border-style: var(--_inline-message-border-style);
39
39
  border-color: var(--_inline-message-border-color);
40
40
  display: flex;
41
+ align-items: center;
41
42
  gap: var(--_inline-message-icon-gap);
42
43
  box-sizing: border-box;
43
44
  padding-inline: var(--_inline-message-padding-inline);
@@ -62,5 +63,6 @@
62
63
  }
63
64
  .forge-inline-message__icon {
64
65
  color: var(--_inline-message-icon-color);
66
+ align-self: start;
65
67
  grid-row: 1/span 2;
66
68
  }