@pnx-mixtape/mxds 0.0.7 → 0.0.8
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.
- package/dist/build/accordion.css +108 -0
- package/dist/build/accordion.entry.js +139 -0
- package/dist/build/accordion.entry.js.map +1 -0
- package/dist/build/base.css +996 -0
- package/dist/build/breadcrumb.css +51 -0
- package/dist/build/button.css +132 -0
- package/dist/build/callout.css +11 -0
- package/dist/build/card.css +149 -0
- package/dist/build/chunks/disclosure-widget-CQLPJ8Ta.js +124 -0
- package/dist/build/chunks/disclosure-widget-CQLPJ8Ta.js.map +1 -0
- package/dist/build/chunks/drop-menu.entry-BC6x9vst.js +132 -0
- package/dist/build/chunks/drop-menu.entry-BC6x9vst.js.map +1 -0
- package/dist/build/chunks/keyboard-C73DHu0c.js +101 -0
- package/dist/build/chunks/keyboard-C73DHu0c.js.map +1 -0
- package/dist/build/chunks/polyfills-CJ5uTmUJ.js +749 -0
- package/dist/build/chunks/polyfills-CJ5uTmUJ.js.map +1 -0
- package/dist/build/chunks/popover-wbPSyFRj.js +654 -0
- package/dist/build/chunks/popover-wbPSyFRj.js.map +1 -0
- package/dist/build/chunks/utilities-B4YZb689.js +243 -0
- package/dist/build/chunks/utilities-B4YZb689.js.map +1 -0
- package/dist/build/constants.css +120 -0
- package/dist/build/container-grid.css +208 -0
- package/dist/build/content-block.css +36 -0
- package/dist/build/dialog.css +98 -0
- package/dist/build/dialog.entry.js +113 -0
- package/dist/build/dialog.entry.js.map +1 -0
- package/dist/build/drop-menu.css +78 -0
- package/dist/build/drop-menu.entry.js +2 -0
- package/dist/build/drop-menu.entry.js.map +1 -0
- package/dist/build/drupal.css +74 -0
- package/dist/build/footer.css +151 -0
- package/dist/build/form.css +517 -0
- package/dist/build/global-alert.css +60 -0
- package/dist/build/global-alert.entry.js +68 -0
- package/dist/build/global-alert.entry.js.map +1 -0
- package/dist/build/grid.css +200 -0
- package/dist/build/header.css +138 -0
- package/dist/build/header.entry.js +103 -0
- package/dist/build/header.entry.js.map +1 -0
- package/dist/build/hero-banner.css +62 -0
- package/dist/build/icon.css +399 -0
- package/dist/build/in-page-alert.css +94 -0
- package/dist/build/in-page-navigation.css +17 -0
- package/dist/build/in-page-navigation.entry.js +89 -0
- package/dist/build/in-page-navigation.entry.js.map +1 -0
- package/dist/build/link-list.css +72 -0
- package/dist/build/list-item.css +114 -0
- package/dist/build/masthead.css +30 -0
- package/dist/build/navigation.css +392 -0
- package/dist/build/navigation.entry.js +124 -0
- package/dist/build/navigation.entry.js.map +1 -0
- package/dist/build/page.css +80 -0
- package/dist/build/pagination.css +130 -0
- package/dist/build/section.css +163 -0
- package/dist/build/side-navigation.css +88 -0
- package/dist/build/sidebar.css +105 -0
- package/dist/build/social-links.css +20 -0
- package/dist/build/steps.css +118 -0
- package/dist/build/steps.entry.js +2 -0
- package/dist/build/steps.entry.js.map +1 -0
- package/dist/build/sticky.css +47 -0
- package/dist/build/sticky.entry.js +60 -0
- package/dist/build/sticky.entry.js.map +1 -0
- package/dist/build/tabs.css +109 -0
- package/dist/build/tabs.entry.js +202 -0
- package/dist/build/tabs.entry.js.map +1 -0
- package/dist/build/tag.css +67 -0
- package/dist/build/tiles.css +61 -0
- package/dist/build/utilities.css +178 -0
- package/package.json +2 -2
- package/src/Component/Card/Card.tsx +7 -7
- package/src/Component/Card/__snapshots__/Card.stories.ts.snap +1 -1
- package/src/Component/Card/__snapshots__/Card.stories.tsx.snap +5 -5
- package/src/Component/Card/card.css +3 -3
- package/src/Component/ContentBlock/ContentBlock.tsx +1 -1
- package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.tsx.snap +1 -1
- package/src/Component/ListItem/__snapshots__/ListItem.stories.ts.snap +1 -1
- package/src/Component/ListItem/list-item.css +1 -1
- package/src/Layout/Footer/Footer.stories.ts +1 -1
|
@@ -0,0 +1,517 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
@layer design-system.atoms {
|
|
6
|
+
.mx-form-item {
|
|
7
|
+
max-inline-size: var(--container-max-width);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.mx-form-item--inline {
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: flex-start;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Form actions.
|
|
17
|
+
*/
|
|
18
|
+
.mx-form-actions {
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-wrap: wrap;
|
|
21
|
+
align-items: center;
|
|
22
|
+
gap: var(--spacing-s);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Text Input
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
@layer design-system.atoms {
|
|
31
|
+
:is(.mx-input__text, .mx-input__select, .mx-input__textarea) {
|
|
32
|
+
box-shadow: none;
|
|
33
|
+
font: inherit;
|
|
34
|
+
letter-spacing: inherit;
|
|
35
|
+
word-spacing: inherit;
|
|
36
|
+
max-inline-size: 100%;
|
|
37
|
+
padding-block: calc(
|
|
38
|
+
var(--form-spacing, var(--spacing-s)) - (2px * 2)
|
|
39
|
+
);
|
|
40
|
+
padding-block: calc(
|
|
41
|
+
var(--form-spacing, var(--spacing-s)) - (var(--line-width, 2px) * 2)
|
|
42
|
+
);
|
|
43
|
+
padding-inline: var(--form-spacing, var(--spacing-s));
|
|
44
|
+
border: 2px solid
|
|
45
|
+
var(--line-colour, var(--line-colour, var(--colour-border)));
|
|
46
|
+
border: var(--line-width, 2px) solid
|
|
47
|
+
var(--line-colour, var(--line-colour, var(--colour-border)));
|
|
48
|
+
border-radius: var(--border-radius);
|
|
49
|
+
background-color: var(--colour-background);
|
|
50
|
+
color: var(--form-colour, var(--foreground, var(--colour-foreground)));
|
|
51
|
+
line-height: var(--line-height-ui);
|
|
52
|
+
block-size: var(--form-element-height, var(--spacing-xxl));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
:is(.mx-input__text, .mx-input__select, .mx-input__textarea):focus-visible {
|
|
56
|
+
outline-offset: calc(2px * -1);
|
|
57
|
+
outline-offset: calc(var(--line-width, 2px) * -1);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
:is(.mx-input__text, .mx-input__select, .mx-input__textarea)::-moz-placeholder {
|
|
61
|
+
color: var(--placeholder-colour, var(--colour-foreground-alt));
|
|
62
|
+
opacity: 1;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
:is(.mx-input__text, .mx-input__select, .mx-input__textarea)::placeholder {
|
|
66
|
+
color: var(--placeholder-colour, var(--colour-foreground-alt));
|
|
67
|
+
opacity: 1;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
[disabled]:is(.mx-input__text, .mx-input__select, .mx-input__textarea) {
|
|
71
|
+
opacity: 0.6;
|
|
72
|
+
opacity: var(--disabled-opacity, 0.6);
|
|
73
|
+
cursor: not-allowed;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.error:is(.mx-input__text, .mx-input__select, .mx-input__textarea) {
|
|
77
|
+
border-color: var(--error-foreground, var(--colour-error-foreground));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.success:is(.mx-input__text, .mx-input__select, .mx-input__textarea) {
|
|
81
|
+
border-color: var(--success-foreground, var(--colour-success-foreground));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.mx-input--small {
|
|
85
|
+
min-inline-size: 0;
|
|
86
|
+
border-width: 1px;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.mx-input--wide {
|
|
90
|
+
inline-size: 100%;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Input Divider
|
|
96
|
+
*/
|
|
97
|
+
|
|
98
|
+
@layer design-system.atoms {
|
|
99
|
+
.mx-input__divider {
|
|
100
|
+
padding: var(--form-spacing, var(--spacing-s));
|
|
101
|
+
line-height: var(--line-height-ui);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Text Input with Icon
|
|
107
|
+
*/
|
|
108
|
+
|
|
109
|
+
@layer design-system.atoms {
|
|
110
|
+
.mx-input--icon {
|
|
111
|
+
display: inline-block;
|
|
112
|
+
max-inline-size: 100%;
|
|
113
|
+
min-inline-size: 100%;
|
|
114
|
+
border-radius: var(--border-radius);
|
|
115
|
+
background-color: var(--background, var(--colour-background));
|
|
116
|
+
position: relative;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.mx-input--icon::before {
|
|
120
|
+
position: absolute;
|
|
121
|
+
block-size: 100%;
|
|
122
|
+
inset-block-start: 0;
|
|
123
|
+
inset-inline-start: var(--form-spacing, var(--spacing-s));
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.mx-input--icon .mx-input__text {
|
|
127
|
+
inline-size: 100%;
|
|
128
|
+
padding-inline-start: calc(var(--form-spacing, var(--spacing-s)) * 2.5);
|
|
129
|
+
background-color: transparent;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.mx-input--icon:has(.error)::before {
|
|
133
|
+
background-color: var(--error-foreground, var(--colour-error-foreground));
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.mx-input--icon:has(.success)::before {
|
|
137
|
+
background-color: var(
|
|
138
|
+
--success-foreground,
|
|
139
|
+
var(--colour-success-foreground)
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Text Input with Inline Button
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
@layer design-system.atoms {
|
|
149
|
+
.mx-form--inline-button {
|
|
150
|
+
position: relative;
|
|
151
|
+
display: flex;
|
|
152
|
+
max-inline-size: 100%;
|
|
153
|
+
min-inline-size: 100%;
|
|
154
|
+
border-radius: var(--border-radius);
|
|
155
|
+
background-color: var(--background, var(--colour-background));
|
|
156
|
+
border: 2px solid
|
|
157
|
+
var(--line-colour, var(--line-colour, var(--colour-border)));
|
|
158
|
+
border: var(--line-width, 2px) solid
|
|
159
|
+
var(--line-colour, var(--line-colour, var(--colour-border)));
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.mx-form--inline-button:has(.mx-input__text:focus-visible) {
|
|
163
|
+
--outline-size: max(0.125rem, 0.15em);
|
|
164
|
+
|
|
165
|
+
outline: max(0.125rem, 0.15em)
|
|
166
|
+
solid currentcolor;
|
|
167
|
+
|
|
168
|
+
outline: var(--outline-width, var(--outline-size))
|
|
169
|
+
var(--outline-style, solid) var(--outline-color, currentcolor);
|
|
170
|
+
outline-offset: calc(2px * -1);
|
|
171
|
+
outline-offset: calc(var(--line-width, 2px) * -1);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.mx-form--inline-button .mx-input__text {
|
|
175
|
+
background-color: transparent;
|
|
176
|
+
border: 0;
|
|
177
|
+
flex-grow: 1;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.mx-form--inline-button .mx-input__text:focus-visible {
|
|
181
|
+
outline: none;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.mx-form--inline-button .mx-button {
|
|
185
|
+
margin: var(--spacing-xxxxs);
|
|
186
|
+
flex-shrink: 0;
|
|
187
|
+
border: 0;
|
|
188
|
+
border-radius: 3px;
|
|
189
|
+
block-size: calc(
|
|
190
|
+
var(--form-element-height, var(--spacing-xxl)) - var(--spacing-xxxs)
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Label
|
|
197
|
+
*/
|
|
198
|
+
|
|
199
|
+
@layer design-system.atoms {
|
|
200
|
+
:is(.mx-label, .mx-legend) {
|
|
201
|
+
display: block;
|
|
202
|
+
margin-block-end: var(--spacing-xxxs);
|
|
203
|
+
font-size: var(--font-size);
|
|
204
|
+
color: var(--label-foreground, var(--foreground, var(--colour-foreground)));
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.mx-label--inline:is(.mx-label, .mx-legend) {
|
|
208
|
+
display: inline-block;
|
|
209
|
+
margin-block-end: 0;
|
|
210
|
+
margin-inline-end: var(--spacing-xxs);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.mx-checkbox [type="checkbox"] {
|
|
214
|
+
box-shadow: none;
|
|
215
|
+
-webkit-appearance: none;
|
|
216
|
+
-moz-appearance: none;
|
|
217
|
+
appearance: none;
|
|
218
|
+
inline-size: var(--control-size, var(--spacing-m));
|
|
219
|
+
block-size: var(--control-size, var(--spacing-m));
|
|
220
|
+
background-color: var(--background, var(--colour-background));
|
|
221
|
+
border: 2px solid
|
|
222
|
+
var(--line-colour, var(--colour-border));
|
|
223
|
+
border: var(--line-width, 2px) solid
|
|
224
|
+
var(--line-colour, var(--colour-border));
|
|
225
|
+
border-radius: var(--border-radius);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
@media (pointer: coarse) {
|
|
229
|
+
|
|
230
|
+
.mx-checkbox [type="checkbox"] {
|
|
231
|
+
--control-size: 2rem;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.mx-checkbox [type="checkbox"]:checked {
|
|
236
|
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M5.6 9.6L2.4 6.4 0 8.8l5.6 5.6L16 4l-2.4-2.4z'/%3E%3C/svg%3E");
|
|
237
|
+
background-size: 0.75rem;
|
|
238
|
+
background-position: center;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.mx-checkbox [type="checkbox"]:focus-visible {
|
|
242
|
+
outline: 2px auto var(--outline-color);
|
|
243
|
+
outline: var(--line-width, 2px) auto var(--outline-color);
|
|
244
|
+
outline-offset: 0;
|
|
245
|
+
}
|
|
246
|
+
.mx-checkbox [type="checkbox"][disabled]::after {
|
|
247
|
+
opacity: 0.6;
|
|
248
|
+
opacity: var(--disabled-opacity, 0.6);
|
|
249
|
+
cursor: not-allowed;
|
|
250
|
+
content: "";
|
|
251
|
+
display: block;
|
|
252
|
+
inline-size: 100%;
|
|
253
|
+
block-size: 100%;
|
|
254
|
+
border-radius: var(--border-radius);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.mx-checkbox [type="checkbox"][disabled] + label {
|
|
258
|
+
opacity: 0.6;
|
|
259
|
+
opacity: var(--disabled-opacity, 0.6);
|
|
260
|
+
cursor: not-allowed;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.mx-checkbox .error[type="checkbox"] {
|
|
264
|
+
border-color: var(--error-foreground, var(--colour-error-foreground));
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.mx-checkbox .success[type="checkbox"] {
|
|
268
|
+
border-color: var(--success-foreground, var(--colour-success-foreground));
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Checkboxes
|
|
274
|
+
*/
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Radios
|
|
278
|
+
*/
|
|
279
|
+
|
|
280
|
+
@layer design-system.atoms {
|
|
281
|
+
.mx-radio [type="radio"] {
|
|
282
|
+
box-shadow: none;
|
|
283
|
+
-webkit-appearance: none;
|
|
284
|
+
-moz-appearance: none;
|
|
285
|
+
appearance: none;
|
|
286
|
+
display: flex;
|
|
287
|
+
inline-size: var(--control-size, var(--spacing-m));
|
|
288
|
+
block-size: var(--control-size, var(--spacing-m));
|
|
289
|
+
background-color: var(--background, var(--colour-background));
|
|
290
|
+
border: 2px solid
|
|
291
|
+
var(--line-colour, var(--colour-border));
|
|
292
|
+
border: var(--line-width, 2px) solid
|
|
293
|
+
var(--line-colour, var(--colour-border));
|
|
294
|
+
border-radius: 50%;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
@media (pointer: coarse) {
|
|
298
|
+
.mx-radio [type="radio"] {
|
|
299
|
+
--control-size: 2rem;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
.mx-radio [type="radio"]:checked::after {
|
|
303
|
+
content: "";
|
|
304
|
+
display: block;
|
|
305
|
+
inline-size: 0.5rem;
|
|
306
|
+
block-size: 0.5rem;
|
|
307
|
+
margin: auto;
|
|
308
|
+
border-radius: 50%;
|
|
309
|
+
background-color: var(--radio-colour, var(--colour-primary));
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.mx-radio [type="radio"]:focus-visible {
|
|
313
|
+
outline: 2px auto var(--outline-color);
|
|
314
|
+
outline: var(--line-width, 2px) auto var(--outline-color);
|
|
315
|
+
outline-offset: 0;
|
|
316
|
+
}
|
|
317
|
+
.mx-radio [type="radio"][disabled]::after {
|
|
318
|
+
opacity: 0.6;
|
|
319
|
+
opacity: var(--disabled-opacity, 0.6);
|
|
320
|
+
cursor: not-allowed;
|
|
321
|
+
content: "";
|
|
322
|
+
display: block;
|
|
323
|
+
inline-size: 100%;
|
|
324
|
+
block-size: 100%;
|
|
325
|
+
border-radius: 50%;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
.mx-radio [type="radio"][disabled] + label {
|
|
329
|
+
opacity: 0.6;
|
|
330
|
+
opacity: var(--disabled-opacity, 0.6);
|
|
331
|
+
cursor: not-allowed;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.mx-radio .error[type="radio"] {
|
|
335
|
+
border-color: var(--error-foreground, var(--colour-error-foreground));
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.mx-radio .success[type="radio"] {
|
|
339
|
+
border-color: var(--success-foreground, var(--colour-success-foreground));
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
:is(.mx-radio, .mx-checkbox) {
|
|
343
|
+
margin-block-end: var(--spacing-xxxs);
|
|
344
|
+
display: flex;
|
|
345
|
+
align-items: center;
|
|
346
|
+
gap: var(--control-gap, var(--spacing-xxs));
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
:is(.mx-radio, .mx-checkbox):last-child {
|
|
350
|
+
margin-block-end: 0;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
:is(.mx-radio, .mx-checkbox) label {
|
|
354
|
+
cursor: pointer;
|
|
355
|
+
margin: 0;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
:is(.mx-radio, .mx-checkbox) input {
|
|
359
|
+
flex-shrink: 0;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.mx-form-item--inline:is(.mx-radio, .mx-checkbox) {
|
|
363
|
+
display: inline-flex;
|
|
364
|
+
margin-inline-end: var(--control-gap, var(--spacing-xxs));
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Select
|
|
370
|
+
*/
|
|
371
|
+
|
|
372
|
+
@layer design-system.atoms {
|
|
373
|
+
.mx-input__select {
|
|
374
|
+
-webkit-appearance: none;
|
|
375
|
+
-moz-appearance: none;
|
|
376
|
+
appearance: none;
|
|
377
|
+
cursor: pointer;
|
|
378
|
+
background-color: var(--background, var(--colour-background));
|
|
379
|
+
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 11.4L2.6 6 4 4.6l4 4 4-4L13.4 6z'/%3E%3C/svg%3E");
|
|
380
|
+
background-position: right var(--form-spacing, var(--spacing-s)) center;
|
|
381
|
+
padding-block: 0;
|
|
382
|
+
padding-inline-end: var(--spacing-xl);
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.mx-input__select[multiple] {
|
|
386
|
+
block-size: auto;
|
|
387
|
+
background-image: none;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.mx-input__select.mx-input--small {
|
|
391
|
+
padding-inline-end: var(--spacing-m);
|
|
392
|
+
background-position: right var(--spacing-xs) center;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
:is(.translated-rtl .mx-input__select, [dir="rtl"] .mx-input__select) {
|
|
396
|
+
background-position: left var(--spacing-s) center;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.mx-input--small:is(.translated-rtl .mx-input__select, [dir="rtl"] .mx-input__select) {
|
|
400
|
+
background-position: left var(--spacing-xs) center;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Textarea
|
|
406
|
+
*/
|
|
407
|
+
|
|
408
|
+
@layer design-system.atoms {
|
|
409
|
+
.mx-input__textarea {
|
|
410
|
+
block-size: calc(4 * var(--form-element-height, var(--spacing-xxl)));
|
|
411
|
+
inline-size: 100%;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Fieldset
|
|
417
|
+
*/
|
|
418
|
+
|
|
419
|
+
@layer design-system.atoms {
|
|
420
|
+
.mx-fieldset {
|
|
421
|
+
border: 2px solid
|
|
422
|
+
var(--line-colour, var(--colour-border));
|
|
423
|
+
border: var(--line-width, 2px) solid
|
|
424
|
+
var(--line-colour, var(--colour-border));
|
|
425
|
+
border-radius: var(--border-radius);
|
|
426
|
+
padding: var(--form-spacing, var(--spacing-s));
|
|
427
|
+
min-inline-size: 0;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
.mx-fieldset legend {
|
|
431
|
+
padding-block: 0;
|
|
432
|
+
padding-inline: var(--form-spacing, var(--spacing-s));
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
.mx-fieldset:is(.mx-fieldset--plain, :has(.mx-checkbox, .mx-radio)) {
|
|
436
|
+
border: 0;
|
|
437
|
+
padding: 0;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.mx-fieldset:is(.mx-fieldset--plain, :has(.mx-checkbox, .mx-radio)) legend {
|
|
441
|
+
padding: 0;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
.mx-fieldset.mx-fieldset--inline {
|
|
445
|
+
display: flex;
|
|
446
|
+
flex-wrap: wrap;
|
|
447
|
+
gap: var(--spacing-xxs);
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
.mx-fieldset.mx-fieldset--inline :is(.form__item, .form__item--inline) {
|
|
451
|
+
margin: 0;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* Description
|
|
457
|
+
*/
|
|
458
|
+
|
|
459
|
+
@layer design-system.atoms {
|
|
460
|
+
.mx-description {
|
|
461
|
+
margin-block: var(--form-spacing, var(--spacing-s));
|
|
462
|
+
margin-inline: 0;
|
|
463
|
+
font-size: var(--font-size-xs);
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.mx-description:last-child {
|
|
467
|
+
margin-block-end: 0;
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Messages
|
|
473
|
+
*/
|
|
474
|
+
|
|
475
|
+
@layer design-system.atoms {
|
|
476
|
+
:is(.mx-success-message, .mx-error-message) {
|
|
477
|
+
margin-block: var(--form-spacing, var(--spacing-s));
|
|
478
|
+
margin-inline: 0;
|
|
479
|
+
font-size: var(--font-size-s);
|
|
480
|
+
color: var(--foreground, var(--colour-foreground));
|
|
481
|
+
display: flex;
|
|
482
|
+
gap: var(--spacing-xxs);
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
:is(.mx-success-message, .mx-error-message):last-child {
|
|
486
|
+
margin-block-end: 0;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
:is(.mx-success-message, .mx-error-message)::before {
|
|
490
|
+
content: "";
|
|
491
|
+
display: block;
|
|
492
|
+
inline-size: var(--spacing-m);
|
|
493
|
+
block-size: var(--spacing-m);
|
|
494
|
+
-webkit-mask-position: center;
|
|
495
|
+
mask-position: center;
|
|
496
|
+
-webkit-mask-repeat: no-repeat;
|
|
497
|
+
mask-repeat: no-repeat;
|
|
498
|
+
flex-shrink: 0;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
.mx-error-message::before {
|
|
502
|
+
-webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm3.5 10.1l-1.4 1.4L8 9.4l-2.1 2.1-1.4-1.4L6.6 8 4.5 5.9l1.4-1.4L8 6.6l2.1-2.1 1.4 1.4L9.4 8l2.1 2.1z'/%3E%3C/svg%3E");
|
|
503
|
+
mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm3.5 10.1l-1.4 1.4L8 9.4l-2.1 2.1-1.4-1.4L6.6 8 4.5 5.9l1.4-1.4L8 6.6l2.1-2.1 1.4 1.4L9.4 8l2.1 2.1z'/%3E%3C/svg%3E");
|
|
504
|
+
background-color: var(--error-foreground, var(--colour-error-foreground));
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
.mx-success-message::before {
|
|
508
|
+
-webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zM7 11.4L3.6 8 5 6.6l2 2 4-4L12.4 6 7 11.4z'/%3E%3C/svg%3E");
|
|
509
|
+
mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zM7 11.4L3.6 8 5 6.6l2 2 4-4L12.4 6 7 11.4z'/%3E%3C/svg%3E");
|
|
510
|
+
background-color: var(
|
|
511
|
+
--success-foreground,
|
|
512
|
+
var(--colour-success-foreground)
|
|
513
|
+
);
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/*# sourceMappingURL=data:application/json;base64,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O2NBQXJCLHFCQUFxQjtNQUNyQiw4QkFBc0I7Y0FBdEIsc0JBQXNCO01BQ3RCLGNBQWM7SUFDaEI7O0VBR0Y7SUFDRSxnVEFBK0M7WUFBL0Msd1NBQStDO0lBQy9DLHlFQUF5RTtFQUMzRTs7RUFFQTtJQUNFLHNQQUFpRDtZQUFqRCw4T0FBaUQ7SUFDakQ7OztLQUdDO0VBQ0g7QUFDRiIsImZpbGUiOiJmb3JtLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRm9ybVxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmF0b21zIHtcbiAgLm14LWZvcm0taXRlbSB7XG4gICAgbWF4LWlubGluZS1zaXplOiB2YXIoLS1jb250YWluZXItbWF4LXdpZHRoKTtcbiAgfVxuXG4gIC5teC1mb3JtLWl0ZW0tLWlubGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtIGFjdGlvbnMuXG4gICAqL1xuICAubXgtZm9ybS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgfVxufVxuXG4vKipcbiAqIFRleHQgSW5wdXRcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIDppcygubXgtaW5wdXRfX3RleHQsIC5teC1pbnB1dF9fc2VsZWN0LCAubXgtaW5wdXRfX3RleHRhcmVhKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgIHdvcmQtc3BhY2luZzogaW5oZXJpdDtcbiAgICBtYXgtaW5saW5lLXNpemU6IDEwMCU7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyhcbiAgICAgIHZhcigtLWZvcm0tc3BhY2luZywgdmFyKC0tc3BhY2luZy1zKSkgLSAodmFyKC0tbGluZS13aWR0aCwgMnB4KSAqIDIpXG4gICAgKTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZm9ybS1zcGFjaW5nLCB2YXIoLS1zcGFjaW5nLXMpKTtcbiAgICBib3JkZXI6IHZhcigtLWxpbmUtd2lkdGgsIDJweCkgc29saWRcbiAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1saW5lLWNvbG91ciwgdmFyKC0tY29sb3VyLWJvcmRlcikpKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvdXItYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tY29sb3VyLCB2YXIoLS1mb3JlZ3JvdW5kLCB2YXIoLS1jb2xvdXItZm9yZWdyb3VuZCkpKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdWkpO1xuICAgIGJsb2NrLXNpemU6IHZhcigtLWZvcm0tZWxlbWVudC1oZWlnaHQsIHZhcigtLXNwYWNpbmcteHhsKSk7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IGNhbGModmFyKC0tbGluZS13aWR0aCwgMnB4KSAqIC0xKTtcbiAgICB9XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tcGxhY2Vob2xkZXItY29sb3VyLCB2YXIoLS1jb2xvdXItZm9yZWdyb3VuZC1hbHQpKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogdmFyKC0tZGlzYWJsZWQtb3BhY2l0eSwgMC42KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJi5lcnJvciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLWZvcmVncm91bmQsIHZhcigtLWNvbG91ci1lcnJvci1mb3JlZ3JvdW5kKSk7XG4gICAgfVxuXG4gICAgJi5zdWNjZXNzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc3VjY2Vzcy1mb3JlZ3JvdW5kLCB2YXIoLS1jb2xvdXItc3VjY2Vzcy1mb3JlZ3JvdW5kKSk7XG4gICAgfVxuICB9XG5cbiAgLm14LWlucHV0LS1zbWFsbCB7XG4gICAgbWluLWlubGluZS1zaXplOiAwO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICB9XG5cbiAgLm14LWlucHV0LS13aWRlIHtcbiAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgfVxufVxuXG4vKipcbiAqIElucHV0IERpdmlkZXJcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIC5teC1pbnB1dF9fZGl2aWRlciB7XG4gICAgcGFkZGluZzogdmFyKC0tZm9ybS1zcGFjaW5nLCB2YXIoLS1zcGFjaW5nLXMpKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdWkpO1xuICB9XG59XG5cbi8qKlxuICogVGV4dCBJbnB1dCB3aXRoIEljb25cbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIC5teC1pbnB1dC0taWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC1pbmxpbmUtc2l6ZTogMTAwJTtcbiAgICBtaW4taW5saW5lLXNpemU6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQpKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmxvY2stc2l6ZTogMTAwJTtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1mb3JtLXNwYWNpbmcsIHZhcigtLXNwYWNpbmctcykpO1xuICAgIH1cblxuICAgICYgLm14LWlucHV0X190ZXh0IHtcbiAgICAgIGlubGluZS1zaXplOiAxMDAlO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tZm9ybS1zcGFjaW5nLCB2YXIoLS1zcGFjaW5nLXMpKSAqIDIuNSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmhhcyguZXJyb3IpOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItZm9yZWdyb3VuZCwgdmFyKC0tY29sb3VyLWVycm9yLWZvcmVncm91bmQpKTtcbiAgICB9XG5cbiAgICAmOmhhcyguc3VjY2Vzcyk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgIC0tc3VjY2Vzcy1mb3JlZ3JvdW5kLFxuICAgICAgICB2YXIoLS1jb2xvdXItc3VjY2Vzcy1mb3JlZ3JvdW5kKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUZXh0IElucHV0IHdpdGggSW5saW5lIEJ1dHRvblxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmF0b21zIHtcbiAgLm14LWZvcm0tLWlubGluZS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC1pbmxpbmUtc2l6ZTogMTAwJTtcbiAgICBtaW4taW5saW5lLXNpemU6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQpKTtcbiAgICBib3JkZXI6IHZhcigtLWxpbmUtd2lkdGgsIDJweCkgc29saWRcbiAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1saW5lLWNvbG91ciwgdmFyKC0tY29sb3VyLWJvcmRlcikpKTtcblxuICAgICY6aGFzKC5teC1pbnB1dF9fdGV4dDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAtLW91dGxpbmUtc2l6ZTogbWF4KDAuMTI1cmVtLCAwLjE1ZW0pO1xuXG4gICAgICBvdXRsaW5lOiB2YXIoLS1vdXRsaW5lLXdpZHRoLCB2YXIoLS1vdXRsaW5lLXNpemUpKVxuICAgICAgICB2YXIoLS1vdXRsaW5lLXN0eWxlLCBzb2xpZCkgdmFyKC0tb3V0bGluZS1jb2xvciwgY3VycmVudGNvbG9yKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiBjYWxjKHZhcigtLWxpbmUtd2lkdGgsIDJweCkgKiAtMSk7XG4gICAgfVxuXG4gICAgJiAubXgtaW5wdXRfX3RleHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAubXgtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tc3BhY2luZy14eHh4cyk7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJsb2NrLXNpemU6IGNhbGMoXG4gICAgICAgIHZhcigtLWZvcm0tZWxlbWVudC1oZWlnaHQsIHZhcigtLXNwYWNpbmcteHhsKSkgLSB2YXIoLS1zcGFjaW5nLXh4eHMpXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIExhYmVsXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uYXRvbXMge1xuICA6aXMoLm14LWxhYmVsLCAubXgtbGVnZW5kKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0tc3BhY2luZy14eHhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6IHZhcigtLWxhYmVsLWZvcmVncm91bmQsIHZhcigtLWZvcmVncm91bmQsIHZhcigtLWNvbG91ci1mb3JlZ3JvdW5kKSkpO1xuXG4gICAgJi5teC1sYWJlbC0taW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tc3BhY2luZy14eHMpO1xuICAgIH1cbiAgfVxuXG4gIC5teC1jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgaW5saW5lLXNpemU6IHZhcigtLWNvbnRyb2wtc2l6ZSwgdmFyKC0tc3BhY2luZy1tKSk7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tY29udHJvbC1zaXplLCB2YXIoLS1zcGFjaW5nLW0pKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLCB2YXIoLS1jb2xvdXItYmFja2dyb3VuZCkpO1xuICAgIGJvcmRlcjogdmFyKC0tbGluZS13aWR0aCwgMnB4KSBzb2xpZFxuICAgICAgdmFyKC0tbGluZS1jb2xvdXIsIHZhcigtLWNvbG91ci1ib3JkZXIpKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgICAtLWNvbnRyb2wtc2l6ZTogMnJlbTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuL2ltYWdlcy9jaGVja21hcmsuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAwLjc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiB2YXIoLS1saW5lLXdpZHRoLCAycHgpIGF1dG8gdmFyKC0tb3V0bGluZS1jb2xvcik7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IHZhcigtLWRpc2FibGVkLW9wYWNpdHksIDAuNik7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICAgICAgYmxvY2stc2l6ZTogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG5cbiAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgIG9wYWNpdHk6IHZhcigtLWRpc2FibGVkLW9wYWNpdHksIDAuNik7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5lcnJvciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLWZvcmVncm91bmQsIHZhcigtLWNvbG91ci1lcnJvci1mb3JlZ3JvdW5kKSk7XG4gICAgfVxuXG4gICAgJi5zdWNjZXNzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc3VjY2Vzcy1mb3JlZ3JvdW5kLCB2YXIoLS1jb2xvdXItc3VjY2Vzcy1mb3JlZ3JvdW5kKSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQ2hlY2tib3hlc1xuICovXG5cbi8qKlxuICogUmFkaW9zXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uYXRvbXMge1xuICAubXgtcmFkaW8gW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaW5saW5lLXNpemU6IHZhcigtLWNvbnRyb2wtc2l6ZSwgdmFyKC0tc3BhY2luZy1tKSk7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tY29udHJvbC1zaXplLCB2YXIoLS1zcGFjaW5nLW0pKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLCB2YXIoLS1jb2xvdXItYmFja2dyb3VuZCkpO1xuICAgIGJvcmRlcjogdmFyKC0tbGluZS13aWR0aCwgMnB4KSBzb2xpZFxuICAgICAgdmFyKC0tbGluZS1jb2xvdXIsIHZhcigtLWNvbG91ci1ib3JkZXIpKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICBAbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICAgLS1jb250cm9sLXNpemU6IDJyZW07XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGlubGluZS1zaXplOiAwLjVyZW07XG4gICAgICAgIGJsb2NrLXNpemU6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJhZGlvLWNvbG91ciwgdmFyKC0tY29sb3VyLXByaW1hcnkpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogdmFyKC0tbGluZS13aWR0aCwgMnB4KSBhdXRvIHZhcigtLW91dGxpbmUtY29sb3IpO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiB2YXIoLS1kaXNhYmxlZC1vcGFjaXR5LCAwLjYpO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaW5saW5lLXNpemU6IDEwMCU7XG4gICAgICAgIGJsb2NrLXNpemU6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cblxuICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogdmFyKC0tZGlzYWJsZWQtb3BhY2l0eSwgMC42KTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmVycm9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZXJyb3ItZm9yZWdyb3VuZCwgdmFyKC0tY29sb3VyLWVycm9yLWZvcmVncm91bmQpKTtcbiAgICB9XG5cbiAgICAmLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zdWNjZXNzLWZvcmVncm91bmQsIHZhcigtLWNvbG91ci1zdWNjZXNzLWZvcmVncm91bmQpKTtcbiAgICB9XG4gIH1cblxuICA6aXMoLm14LXJhZGlvLCAubXgtY2hlY2tib3gpIHtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zcGFjaW5nLXh4eHMpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLWNvbnRyb2wtZ2FwLCB2YXIoLS1zcGFjaW5nLXh4cykpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgfVxuXG4gICAgJiBsYWJlbCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJiBpbnB1dCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAmLm14LWZvcm0taXRlbS0taW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWNvbnRyb2wtZ2FwLCB2YXIoLS1zcGFjaW5nLXh4cykpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFNlbGVjdFxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmF0b21zIHtcbiAgLm14LWlucHV0X19zZWxlY3Qge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQsIHZhcigtLWNvbG91ci1iYWNrZ3JvdW5kKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuL2ltYWdlcy9mb3JtLWNoZXZyb24tZG93bi5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdmFyKC0tZm9ybS1zcGFjaW5nLCB2YXIoLS1zcGFjaW5nLXMpKSBjZW50ZXI7XG4gICAgcGFkZGluZy1ibG9jazogMDtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNwYWNpbmcteGwpO1xuXG4gICAgJlttdWx0aXBsZV0ge1xuICAgICAgYmxvY2stc2l6ZTogYXV0bztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5teC1pbnB1dC0tc21hbGwge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdmFyKC0tc3BhY2luZy14cykgY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIDppcygudHJhbnNsYXRlZC1ydGwgLm14LWlucHV0X19zZWxlY3QsIFtkaXI9XCJydGxcIl0gLm14LWlucHV0X19zZWxlY3QpIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHZhcigtLXNwYWNpbmctcykgY2VudGVyO1xuXG4gICAgJi5teC1pbnB1dC0tc21hbGwge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB2YXIoLS1zcGFjaW5nLXhzKSBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVGV4dGFyZWFcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIC5teC1pbnB1dF9fdGV4dGFyZWEge1xuICAgIGJsb2NrLXNpemU6IGNhbGMoNCAqIHZhcigtLWZvcm0tZWxlbWVudC1oZWlnaHQsIHZhcigtLXNwYWNpbmcteHhsKSkpO1xuICAgIGlubGluZS1zaXplOiAxMDAlO1xuICB9XG59XG5cbi8qKlxuICogRmllbGRzZXRcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIC5teC1maWVsZHNldCB7XG4gICAgYm9yZGVyOiB2YXIoLS1saW5lLXdpZHRoLCAycHgpIHNvbGlkXG4gICAgICB2YXIoLS1saW5lLWNvbG91ciwgdmFyKC0tY29sb3VyLWJvcmRlcikpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IHZhcigtLWZvcm0tc3BhY2luZywgdmFyKC0tc3BhY2luZy1zKSk7XG4gICAgbWluLWlubGluZS1zaXplOiAwO1xuXG4gICAgJiBsZWdlbmQge1xuICAgICAgcGFkZGluZy1ibG9jazogMDtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1mb3JtLXNwYWNpbmcsIHZhcigtLXNwYWNpbmctcykpO1xuICAgIH1cblxuICAgICY6aXMoLm14LWZpZWxkc2V0LS1wbGFpbiwgOmhhcygubXgtY2hlY2tib3gsIC5teC1yYWRpbykpIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICYgbGVnZW5kIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14LWZpZWxkc2V0LS1pbmxpbmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogdmFyKC0tc3BhY2luZy14eHMpO1xuXG4gICAgICAmIDppcyguZm9ybV9faXRlbSwgLmZvcm1fX2l0ZW0tLWlubGluZSkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRGVzY3JpcHRpb25cbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIC5teC1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJsb2NrOiB2YXIoLS1mb3JtLXNwYWNpbmcsIHZhcigtLXNwYWNpbmctcykpO1xuICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogTWVzc2FnZXNcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIDppcygubXgtc3VjY2Vzcy1tZXNzYWdlLCAubXgtZXJyb3ItbWVzc2FnZSkge1xuICAgIG1hcmdpbi1ibG9jazogdmFyKC0tZm9ybS1zcGFjaW5nLCB2YXIoLS1zcGFjaW5nLXMpKTtcbiAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JlZ3JvdW5kLCB2YXIoLS1jb2xvdXItZm9yZWdyb3VuZCkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLXh4cyk7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaW5saW5lLXNpemU6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgICBibG9jay1zaXplOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5teC1lcnJvci1tZXNzYWdlOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHN2Zy1sb2FkKFwiLi9pbWFnZXMvZm9ybS1lcnJvci5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItZm9yZWdyb3VuZCwgdmFyKC0tY29sb3VyLWVycm9yLWZvcmVncm91bmQpKTtcbiAgfVxuXG4gIC5teC1zdWNjZXNzLW1lc3NhZ2U6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogc3ZnLWxvYWQoXCIuL2ltYWdlcy9mb3JtLXN1Y2Nlc3Muc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAgIC0tc3VjY2Vzcy1mb3JlZ3JvdW5kLFxuICAgICAgdmFyKC0tY29sb3VyLXN1Y2Nlc3MtZm9yZWdyb3VuZClcbiAgICApO1xuICB9XG59XG4iXX0= */
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Messages
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
@layer design-system.defaults {
|
|
6
|
+
mx-closable-alert {
|
|
7
|
+
display: block;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@layer design-system.components {
|
|
12
|
+
.mx-global-alert {
|
|
13
|
+
background-color: var(--background, var(--colour-primary-light));
|
|
14
|
+
color: var(--foreground, var(--colour-foreground));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.mx-global-alert .mx-global-alert__inner {
|
|
18
|
+
display: grid;
|
|
19
|
+
grid-gap: var(--gap-s);
|
|
20
|
+
gap: var(--gap-s);
|
|
21
|
+
padding-block: var(--spacing-xxs);
|
|
22
|
+
padding-inline: var(--spacing-s);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.mx-global-alert .mx-global-alert__inner:has(.mx-icon--close) {
|
|
26
|
+
grid-template-columns: auto min-content;
|
|
27
|
+
grid-template-areas: "content close";
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.mx-global-alert .mx-global-alert__inner:has(.mx-icon--close) .message__content {
|
|
31
|
+
grid-area: content;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.mx-global-alert a {
|
|
35
|
+
color: inherit;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.mx-global-alert.mx-global-alert--critical {
|
|
39
|
+
--foreground: var(--colour-error-foreground);
|
|
40
|
+
--background: var(--colour-error-background);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.mx-global-alert .mx-icon--close {
|
|
44
|
+
--icon-size: 1rem;
|
|
45
|
+
|
|
46
|
+
grid-area: close;
|
|
47
|
+
-webkit-appearance: none;
|
|
48
|
+
-moz-appearance: none;
|
|
49
|
+
appearance: none;
|
|
50
|
+
inline-size: var(--spacing-l);
|
|
51
|
+
block-size: var(--spacing-l);
|
|
52
|
+
padding: 0;
|
|
53
|
+
border: 0;
|
|
54
|
+
background-color: transparent;
|
|
55
|
+
justify-content: end;
|
|
56
|
+
color: inherit;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC1hbGVydC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBRUY7RUFDRTtJQUNFLGNBQWM7RUFDaEI7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsZ0VBQWdFO0lBQ2hFLGtEQUFrRDtFQXdDcEQ7O0lBdENFO01BQ0UsYUFBYTtNQUNiLHNCQUFpQjtNQUFqQixpQkFBaUI7TUFDakIsaUNBQWlDO01BQ2pDLGdDQUFnQztJQVVsQzs7TUFSRTtRQUNFLHVDQUF1QztRQUN2QyxvQ0FBb0M7TUFLdEM7O1FBSEU7VUFDRSxrQkFBa0I7UUFDcEI7O0lBSUo7TUFDRSxjQUFjO0lBQ2hCOztJQUVBO01BQ0UsNENBQTRDO01BQzVDLDRDQUE0QztJQUM5Qzs7SUFFQTtNQUNFLGlCQUFpQjs7TUFFakIsZ0JBQWdCO01BQ2hCLHdCQUFnQjtTQUFoQixxQkFBZ0I7Y0FBaEIsZ0JBQWdCO01BQ2hCLDZCQUE2QjtNQUM3Qiw0QkFBNEI7TUFDNUIsVUFBVTtNQUNWLFNBQVM7TUFDVCw2QkFBNkI7TUFDN0Isb0JBQW9CO01BQ3BCLGNBQWM7SUFDaEI7QUFFSiIsImZpbGUiOiJnbG9iYWwtYWxlcnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNZXNzYWdlc1xuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmRlZmF1bHRzIHtcbiAgbXgtY2xvc2FibGUtYWxlcnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmNvbXBvbmVudHMge1xuICAubXgtZ2xvYmFsLWFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLCB2YXIoLS1jb2xvdXItcHJpbWFyeS1saWdodCkpO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JlZ3JvdW5kLCB2YXIoLS1jb2xvdXItZm9yZWdyb3VuZCkpO1xuXG4gICAgJiAubXgtZ2xvYmFsLWFsZXJ0X19pbm5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ2FwOiB2YXIoLS1nYXAtcyk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zcGFjaW5nLXh4cyk7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tc3BhY2luZy1zKTtcblxuICAgICAgJjpoYXMoLm14LWljb24tLWNsb3NlKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW4tY29udGVudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJjb250ZW50IGNsb3NlXCI7XG5cbiAgICAgICAgJiAubWVzc2FnZV9fY29udGVudCB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICYubXgtZ2xvYmFsLWFsZXJ0LS1jcml0aWNhbCB7XG4gICAgICAtLWZvcmVncm91bmQ6IHZhcigtLWNvbG91ci1lcnJvci1mb3JlZ3JvdW5kKTtcbiAgICAgIC0tYmFja2dyb3VuZDogdmFyKC0tY29sb3VyLWVycm9yLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgICYgLm14LWljb24tLWNsb3NlIHtcbiAgICAgIC0taWNvbi1zaXplOiAxcmVtO1xuXG4gICAgICBncmlkLWFyZWE6IGNsb3NlO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGlubGluZS1zaXplOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgICAgYmxvY2stc2l6ZTogdmFyKC0tc3BhY2luZy1sKTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iXX0= */
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { c as createElement, m as makeAnchor } from "./chunks/utilities-B4YZb689.js";
|
|
2
|
+
class GlobalAlert extends HTMLElement {
|
|
3
|
+
constructor() {
|
|
4
|
+
super();
|
|
5
|
+
this.handleClose = () => {
|
|
6
|
+
this.controller.abort();
|
|
7
|
+
this.remove();
|
|
8
|
+
this.localStorage = "true";
|
|
9
|
+
const newEvent = new CustomEvent("GlobalAlert-close", {
|
|
10
|
+
bubbles: true,
|
|
11
|
+
cancelable: true,
|
|
12
|
+
detail: {
|
|
13
|
+
id: this.id,
|
|
14
|
+
target: this
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
this.dispatchEvent(newEvent);
|
|
18
|
+
};
|
|
19
|
+
this.internals_ = this.attachInternals();
|
|
20
|
+
this.controller = new AbortController();
|
|
21
|
+
}
|
|
22
|
+
connectedCallback() {
|
|
23
|
+
if (!this.container) return;
|
|
24
|
+
this.id = this.id || this.generatedId();
|
|
25
|
+
if (this.localStorage) {
|
|
26
|
+
this.controller.abort();
|
|
27
|
+
this.remove();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const { signal } = this.controller;
|
|
31
|
+
this.close?.addEventListener("click", this.handleClose, { signal });
|
|
32
|
+
}
|
|
33
|
+
disconnectedCallback() {
|
|
34
|
+
this.controller.abort();
|
|
35
|
+
this.close.remove();
|
|
36
|
+
}
|
|
37
|
+
get localStorage() {
|
|
38
|
+
return localStorage.getItem(this.id);
|
|
39
|
+
}
|
|
40
|
+
set localStorage(value) {
|
|
41
|
+
localStorage.setItem(this.id, value);
|
|
42
|
+
}
|
|
43
|
+
get container() {
|
|
44
|
+
const element = this.querySelector("[data-container]");
|
|
45
|
+
if (!element) {
|
|
46
|
+
throw new Error(
|
|
47
|
+
`${this.localName} must contain a [data-container] element.`
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
return element;
|
|
51
|
+
}
|
|
52
|
+
get close() {
|
|
53
|
+
let closeBtn = this.querySelector(".mx-icon--close");
|
|
54
|
+
if (!closeBtn) {
|
|
55
|
+
closeBtn = createElement(
|
|
56
|
+
`<button class="mx-icon mx-icon--close" aria-controls="${this.id}" aria-label="Close GlobalAlert" type="button"></button>`
|
|
57
|
+
);
|
|
58
|
+
this.container.appendChild(closeBtn);
|
|
59
|
+
}
|
|
60
|
+
return closeBtn;
|
|
61
|
+
}
|
|
62
|
+
generatedId() {
|
|
63
|
+
const id = `mx-alert-${Math.floor(Math.random() * Math.floor(1e4))}`;
|
|
64
|
+
return makeAnchor(id, 20);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
customElements.define("mx-closable-alert", GlobalAlert);
|
|
68
|
+
//# sourceMappingURL=global-alert.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-alert.entry.js","sources":["../../src/Component/GlobalAlert/Elements/ClosableAlert.ts"],"sourcesContent":["/**\n * @file GlobalAlerts\n *\n * When a GlobalAlert is closed the id is written to local storage.\n * This is checked as the page is re-rendered, if a GlobalAlert with the same ID is\n * created it will be removed from the dom.\n */\n\nimport { makeAnchor, createElement } from \"../../../Utility/utilities\"\n\nexport default class GlobalAlert extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n }\n\n connectedCallback(): void {\n if (!this.container) return\n this.id = this.id || this.generatedId()\n if (this.localStorage) {\n this.controller.abort()\n this.remove()\n return\n }\n const { signal }: AbortController = this.controller\n this.close?.addEventListener(\"click\", this.handleClose, { signal })\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n this.close.remove()\n }\n\n /**\n * Handle close button click event.\n */\n handleClose = (): void => {\n this.controller.abort()\n this.remove()\n this.localStorage = \"true\"\n const newEvent: CustomEvent<{ id: string; target: GlobalAlert }> =\n new CustomEvent(\"GlobalAlert-close\", {\n bubbles: true,\n cancelable: true,\n detail: {\n id: this.id,\n target: this,\n },\n })\n this.dispatchEvent(newEvent)\n }\n\n get localStorage(): string {\n return localStorage.getItem(this.id)\n }\n\n set localStorage(value: string) {\n localStorage.setItem(this.id, value)\n }\n\n get container(): HTMLElement {\n const element: HTMLElement = this.querySelector(\"[data-container]\")\n if (!element) {\n throw new Error(\n `${this.localName} must contain a [data-container] element.`,\n )\n }\n return element\n }\n\n get close(): HTMLButtonElement {\n let closeBtn: HTMLButtonElement = this.querySelector(\".mx-icon--close\")\n if (!closeBtn) {\n closeBtn = createElement(\n `<button class=\"mx-icon mx-icon--close\" aria-controls=\"${this.id}\" aria-label=\"Close GlobalAlert\" type=\"button\"></button>`,\n ) as HTMLButtonElement\n this.container.appendChild(closeBtn)\n }\n return closeBtn\n }\n\n generatedId(): string {\n const id = `mx-alert-${Math.floor(Math.random() * Math.floor(10000))}`\n return makeAnchor(id, 20)\n }\n}\n\ncustomElements.define(\"mx-closable-alert\", GlobalAlert)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-closable-alert\": GlobalAlert\n }\n}\n"],"names":[],"mappings":";AAUA,MAAqB,oBAAoB,YAAY;AAAA,EAInD,cAAc;AACN;AAyBR,SAAA,cAAc,MAAY;AACxB,WAAK,WAAW;AAChB,WAAK,OAAO;AACZ,WAAK,eAAe;AACd,YAAA,WACJ,IAAI,YAAY,qBAAqB;AAAA,QACnC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,UACN,IAAI,KAAK;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MAAA,CACD;AACH,WAAK,cAAc,QAAQ;AAAA,IAAA;AArCtB,SAAA,aAAa,KAAK;AAClB,SAAA,aAAa,IAAI;EACxB;AAAA,EAEA,oBAA0B;AACpB,QAAA,CAAC,KAAK,UAAW;AACrB,SAAK,KAAK,KAAK,MAAM,KAAK,YAAY;AACtC,QAAI,KAAK,cAAc;AACrB,WAAK,WAAW;AAChB,WAAK,OAAO;AACZ;AAAA,IACF;AACM,UAAA,EAAE,OAAO,IAAqB,KAAK;AACzC,SAAK,OAAO,iBAAiB,SAAS,KAAK,aAAa,EAAE,QAAQ;AAAA,EACpE;AAAA,EAEA,uBAA6B;AAC3B,SAAK,WAAW;AAChB,SAAK,MAAM;EACb;AAAA,EAqBA,IAAI,eAAuB;AAClB,WAAA,aAAa,QAAQ,KAAK,EAAE;AAAA,EACrC;AAAA,EAEA,IAAI,aAAa,OAAe;AACjB,iBAAA,QAAQ,KAAK,IAAI,KAAK;AAAA,EACrC;AAAA,EAEA,IAAI,YAAyB;AACrB,UAAA,UAAuB,KAAK,cAAc,kBAAkB;AAClE,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI;AAAA,QACR,GAAG,KAAK,SAAS;AAAA,MAAA;AAAA,IAErB;AACO,WAAA;AAAA,EACT;AAAA,EAEA,IAAI,QAA2B;AACzB,QAAA,WAA8B,KAAK,cAAc,iBAAiB;AACtE,QAAI,CAAC,UAAU;AACF,iBAAA;AAAA,QACT,yDAAyD,KAAK,EAAE;AAAA,MAAA;AAE7D,WAAA,UAAU,YAAY,QAAQ;AAAA,IACrC;AACO,WAAA;AAAA,EACT;AAAA,EAEA,cAAsB;AACd,UAAA,KAAK,YAAY,KAAK,MAAM,KAAK,OAAO,IAAI,KAAK,MAAM,GAAK,CAAC,CAAC;AAC7D,WAAA,WAAW,IAAI,EAAE;AAAA,EAC1B;AACF;AAEA,eAAe,OAAO,qBAAqB,WAAW;"}
|