@maskingtech/designsystem 0.0.1 → 0.0.2
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/README.md +12 -513
- package/dist/mtds.css +1 -1
- package/dist/mtds.d.ts +75 -69
- package/dist/mtds.js +163 -159
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
# Design System
|
|
1
|
+
# Masking Technology Design System (MTDS)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A simple, customizable design system that wraps common CSS features into elements and turns standard HTML elements into interactive components. Currently, only React is supported.
|
|
4
|
+
|
|
5
|
+
<img width="100%" alt="Example design" src="assets/example.png">
|
|
4
6
|
|
|
5
7
|
## Installation
|
|
6
8
|
|
|
@@ -8,521 +10,18 @@ Simple design system used for our internal projects.
|
|
|
8
10
|
npm install @maskingtech/designsystem
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
### Avatar
|
|
14
|
-
|
|
15
|
-
A rounded image element.
|
|
16
|
-
|
|
17
|
-
Properties:
|
|
18
|
-
|
|
19
|
-
- **source** - string (required)
|
|
20
|
-
- **title** - string (optional)
|
|
21
|
-
- **alt** - string (optional)
|
|
22
|
-
- **width** - string (optional)
|
|
23
|
-
- **height** - string (optional)
|
|
24
|
-
- **fit** - `fill` | `contain` | `cover` | `none` | `scale-down` (optional, default `contain`)
|
|
25
|
-
|
|
26
|
-
Example:
|
|
27
|
-
|
|
28
|
-
```tsx
|
|
29
|
-
import { Avatar } from '@maskingtech/designsystem';
|
|
30
|
-
|
|
31
|
-
<Avatar
|
|
32
|
-
source='http://example.com/avatar.png'
|
|
33
|
-
title='My avatar'
|
|
34
|
-
alt='My avatar'
|
|
35
|
-
width='100px'
|
|
36
|
-
/>
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Border
|
|
40
|
-
|
|
41
|
-
A bordered container element.
|
|
42
|
-
|
|
43
|
-
Properties:
|
|
44
|
-
|
|
45
|
-
- **type** - `normal`| `dashed` | `dotted` (optional, default `normal`)
|
|
46
|
-
- **size** - `large` | `medium` | `small` (optional, default `large`)
|
|
47
|
-
- **padding** - `large` | `medium` | `small` | `none` (optional, default `large`)
|
|
48
|
-
|
|
49
|
-
Example:
|
|
50
|
-
|
|
51
|
-
```tsx
|
|
52
|
-
import { Border } from '@maskingtech/designsystem';
|
|
53
|
-
|
|
54
|
-
<Border size='small' padding='small'>
|
|
55
|
-
<p>This is the bordered content</p>
|
|
56
|
-
</Border>
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Button
|
|
60
|
-
|
|
61
|
-
A clickable input element styled as a button.
|
|
62
|
-
|
|
63
|
-
Properties:
|
|
64
|
-
|
|
65
|
-
- **type** - `submit` | `primary` | `secondary` | `disabled` (optional, default `primary`)
|
|
66
|
-
- **size** - `large` | `medium` | `small` (optional, default `medium`)
|
|
67
|
-
- **text** - string (required)
|
|
68
|
-
- **onClick** - `() => void` (optional)
|
|
69
|
-
|
|
70
|
-
Example:
|
|
71
|
-
|
|
72
|
-
```tsx
|
|
73
|
-
import { Button } from '@maskingtech.designsystem';
|
|
74
|
-
|
|
75
|
-
<Button type='primary' size='medium' text='Save' onClick={() => console.log('clicked')} />
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### Cell
|
|
79
|
-
|
|
80
|
-
A layout cell that can be fixed or fluid.
|
|
81
|
-
|
|
82
|
-
Properties:
|
|
83
|
-
|
|
84
|
-
- **sizing** - `fixed` | `fluid` (optional, default `fluid`)
|
|
85
|
-
- **children** - ReactNode
|
|
86
|
-
|
|
87
|
-
Example:
|
|
88
|
-
|
|
89
|
-
```tsx
|
|
90
|
-
import { Cell } from '@maskingtech.designsystem';
|
|
91
|
-
|
|
92
|
-
<Cell sizing='fixed'>Fixed content</Cell>
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### ClickArea
|
|
96
|
-
|
|
97
|
-
A wrapper element that handles clicks and optional padding.
|
|
98
|
-
|
|
99
|
-
Properties:
|
|
100
|
-
|
|
101
|
-
- **padding** - `large` | `medium` | `small` | `none` (optional, default `none`)
|
|
102
|
-
- **onClick** - `() => void` (optional)
|
|
103
|
-
- **children** - ReactNode (optional)
|
|
104
|
-
|
|
105
|
-
Example:
|
|
106
|
-
|
|
107
|
-
```tsx
|
|
108
|
-
import { ClickArea } from '@maskingtech.designsystem';
|
|
109
|
-
|
|
110
|
-
<ClickArea padding='small' onClick={() => alert('clicked')}>Clickable content</ClickArea>
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Column
|
|
114
|
-
|
|
115
|
-
A vertical layout container with alignment and gap options.
|
|
116
|
-
|
|
117
|
-
Properties:
|
|
118
|
-
|
|
119
|
-
- **alignX** - `left` | `center` | `right` | `stretch` (optional, default `left`)
|
|
120
|
-
- **alignY** - `top` | `center` | `bottom` | `justify` (optional, default `top`)
|
|
121
|
-
- **gap** - `large` | `medium` | `small` | `none` (optional, default `medium`)
|
|
122
|
-
- **wrap** - `wrap` | `nowrap` (optional, default `nowrap`)
|
|
123
|
-
- **children** - ReactNode
|
|
124
|
-
|
|
125
|
-
Example:
|
|
126
|
-
|
|
127
|
-
```tsx
|
|
128
|
-
import { Column } from '@maskingtech.designsystem';
|
|
129
|
-
|
|
130
|
-
<Column alignX='center' gap='small'>
|
|
131
|
-
<div>Item 1</div>
|
|
132
|
-
<div>Item 2</div>
|
|
133
|
-
</Column>
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### Form
|
|
137
|
-
|
|
138
|
-
A form wrapper that prevents default submit and forwards the form element via a handler.
|
|
139
|
-
|
|
140
|
-
Properties:
|
|
141
|
-
|
|
142
|
-
- **children** - ReactNode
|
|
143
|
-
- **submitHandler** - `(form: HTMLFormElement) => void` (optional)
|
|
144
|
-
|
|
145
|
-
Example:
|
|
146
|
-
|
|
147
|
-
```tsx
|
|
148
|
-
import { Form } from '@maskingtech.designsystem';
|
|
149
|
-
|
|
150
|
-
<Form submitHandler={(form) => console.log('submit', form)}>
|
|
151
|
-
{/* inputs here */}
|
|
152
|
-
</Form>
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### Grid
|
|
156
|
-
|
|
157
|
-
A grid layout with preset column layouts and gaps.
|
|
158
|
-
|
|
159
|
-
Properties:
|
|
160
|
-
|
|
161
|
-
- **layout** - `two-columns` | `three-columns` | `four-columns` (required)
|
|
162
|
-
- **gap** - `large` | `medium` | `small` | `none` (optional, default `medium`)
|
|
163
|
-
- **children** - ReactNode
|
|
164
|
-
|
|
165
|
-
Example:
|
|
166
|
-
|
|
167
|
-
```tsx
|
|
168
|
-
import { Grid } from '@maskingtech.designsystem';
|
|
169
|
-
|
|
170
|
-
<Grid layout='three-columns' gap='small'>
|
|
171
|
-
<div>1</div>
|
|
172
|
-
<div>2</div>
|
|
173
|
-
<div>3</div>
|
|
174
|
-
</Grid>
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Icon
|
|
178
|
-
|
|
179
|
-
A simple icon span using a set of predefined icon types.
|
|
180
|
-
|
|
181
|
-
Properties:
|
|
182
|
-
|
|
183
|
-
- **type** - one of the supported icon identifiers (e.g. `attachment`, `bookmark`, `close`, `user`, `search`, etc.) (required)
|
|
184
|
-
|
|
185
|
-
Example:
|
|
186
|
-
|
|
187
|
-
```tsx
|
|
188
|
-
import { Icon } from '@maskingtech.designsystem';
|
|
189
|
-
|
|
190
|
-
<Icon type='search' />
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### Image
|
|
194
|
-
|
|
195
|
-
A styled image element.
|
|
196
|
-
|
|
197
|
-
Properties:
|
|
198
|
-
|
|
199
|
-
- **source** - string (required)
|
|
200
|
-
- **title** - string (optional)
|
|
201
|
-
- **alt** - string (optional)
|
|
202
|
-
- **width** - string (optional)
|
|
203
|
-
- **height** - string (optional)
|
|
204
|
-
- **fit** - `fill` | `contain` | `cover` | `none` | `scale-down` (optional, default `contain`)
|
|
205
|
-
|
|
206
|
-
Example:
|
|
207
|
-
|
|
208
|
-
```tsx
|
|
209
|
-
import { Image } from '@maskingtech.designsystem';
|
|
210
|
-
|
|
211
|
-
<Image source='http://example.com/photo.jpg' alt='Example' width='200px' fit='cover' />
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
### Input
|
|
215
|
-
|
|
216
|
-
A labeled input wrapper that composes `Label` with an input element (`TextBox`, `TextArea` or `Select`).
|
|
217
|
-
|
|
218
|
-
Properties:
|
|
219
|
-
|
|
220
|
-
- **label** - `ReactElement<LabelProps>` (required)
|
|
221
|
-
- **element** - `ReactElement<TextBoxProps | TextAreaProps | SelectProps>` (required)
|
|
13
|
+
## Usage
|
|
222
14
|
|
|
223
|
-
|
|
15
|
+
To activate it, its root element needs to be added to the application.
|
|
224
16
|
|
|
225
17
|
```tsx
|
|
226
|
-
import {
|
|
18
|
+
import { DesignSystem } from '@maskingtech/designsystem';
|
|
227
19
|
|
|
228
|
-
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
### Label
|
|
232
|
-
|
|
233
|
-
Simple text label for inputs.
|
|
234
|
-
|
|
235
|
-
Properties:
|
|
20
|
+
import '@maskingtech/designsystem/style.css';
|
|
236
21
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
```tsx
|
|
242
|
-
import { Label } from '@maskingtech.designsystem';
|
|
243
|
-
|
|
244
|
-
<Label value='Email' />
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### Link
|
|
248
|
-
|
|
249
|
-
A styled anchor element.
|
|
250
|
-
|
|
251
|
-
Properties:
|
|
252
|
-
|
|
253
|
-
- **url** - string (optional)
|
|
254
|
-
- **target** - string (optional)
|
|
255
|
-
- **children** - ReactNode
|
|
256
|
-
|
|
257
|
-
Example:
|
|
258
|
-
|
|
259
|
-
```tsx
|
|
260
|
-
import { Link } from '@maskingtech.designsystem';
|
|
261
|
-
|
|
262
|
-
<Link url='https://example.com' target='_blank'>Visit</Link>
|
|
22
|
+
<DesignSystem>
|
|
23
|
+
{/* elements and components here */}
|
|
24
|
+
</DesignSystem>
|
|
263
25
|
```
|
|
264
26
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
A modal dialog built on the native `<dialog>` element.
|
|
268
|
-
|
|
269
|
-
Properties:
|
|
270
|
-
|
|
271
|
-
- **open** - boolean (required)
|
|
272
|
-
- **sizing** - `full` | `content` (optional, default `content`)
|
|
273
|
-
- **children** - ReactNode (optional)
|
|
274
|
-
|
|
275
|
-
Example:
|
|
276
|
-
|
|
277
|
-
```tsx
|
|
278
|
-
import { Modal } from '@maskingtech.designsystem';
|
|
279
|
-
|
|
280
|
-
<Modal open={true} sizing='content'>
|
|
281
|
-
<p>Modal content</p>
|
|
282
|
-
</Modal>
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
### Panel
|
|
286
|
-
|
|
287
|
-
A versatile container for contextual content (alerts, messages, etc.).
|
|
288
|
-
|
|
289
|
-
Properties:
|
|
290
|
-
|
|
291
|
-
- **type** - `normal` | `alert` | `warning` | `success` | `error` | `transparent` (optional, default `normal`)
|
|
292
|
-
- **padding** - `large` | `medium` | `small` (optional, default `large`)
|
|
293
|
-
- **children** - ReactNode (optional)
|
|
294
|
-
|
|
295
|
-
Example:
|
|
296
|
-
|
|
297
|
-
```tsx
|
|
298
|
-
import { Panel } from '@maskingtech.designsystem';
|
|
299
|
-
|
|
300
|
-
<Panel type='warning' padding='small'>Check this out</Panel>
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
### Paragraph
|
|
304
|
-
|
|
305
|
-
Styled paragraph element.
|
|
306
|
-
|
|
307
|
-
Properties:
|
|
308
|
-
|
|
309
|
-
- **size** - `large` | `medium` | `small` (optional, default `medium`)
|
|
310
|
-
- **children** - ReactNode
|
|
311
|
-
|
|
312
|
-
Example:
|
|
313
|
-
|
|
314
|
-
```tsx
|
|
315
|
-
import { Paragraph } from '@maskingtech.designsystem';
|
|
316
|
-
|
|
317
|
-
<Paragraph size='small'>A short paragraph.</Paragraph>
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
### Row
|
|
321
|
-
|
|
322
|
-
A horizontal layout container with alignment and gap options.
|
|
323
|
-
|
|
324
|
-
Properties:
|
|
325
|
-
|
|
326
|
-
- **alignX** - `left` | `center` | `right` | `justify` (optional, default `left`)
|
|
327
|
-
- **alignY** - `top` | `center` | `bottom` | `stretch` (optional, default `top`)
|
|
328
|
-
- **gap** - `large` | `medium` | `small` | `none` (optional, default `medium`)
|
|
329
|
-
- **wrap** - `wrap` | `nowrap` (optional, default `nowrap`)
|
|
330
|
-
- **children** - ReactNode
|
|
331
|
-
|
|
332
|
-
Example:
|
|
333
|
-
|
|
334
|
-
```tsx
|
|
335
|
-
import { Row } from '@maskingtech.designsystem';
|
|
336
|
-
|
|
337
|
-
<Row alignX='center' gap='large'>
|
|
338
|
-
<div>Left</div>
|
|
339
|
-
<div>Right</div>
|
|
340
|
-
</Row>
|
|
341
|
-
```
|
|
342
|
-
|
|
343
|
-
### Ruler
|
|
344
|
-
|
|
345
|
-
A decorative divider either horizontal or vertical.
|
|
346
|
-
|
|
347
|
-
Properties:
|
|
348
|
-
|
|
349
|
-
- **direction** - `horizontal` | `vertical` (required)
|
|
350
|
-
- **size** - `small` | `medium` | `large` (optional, default `medium`)
|
|
351
|
-
|
|
352
|
-
Example:
|
|
353
|
-
|
|
354
|
-
```tsx
|
|
355
|
-
import { Ruler } from '@maskingtech.designsystem';
|
|
356
|
-
|
|
357
|
-
<Ruler direction='horizontal' />
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
### Select
|
|
361
|
-
|
|
362
|
-
A styled select element that accepts a `Map` of options.
|
|
363
|
-
|
|
364
|
-
Properties:
|
|
365
|
-
|
|
366
|
-
- **name** - string (required)
|
|
367
|
-
- **options** - `Map<string, string>` (required)
|
|
368
|
-
- **value** - string (optional)
|
|
369
|
-
- **size** - `large` | `medium` | `small` (optional, default `medium`)
|
|
370
|
-
- **onChange** - `ChangeEventHandler<HTMLSelectElement>` (optional)
|
|
371
|
-
|
|
372
|
-
Example:
|
|
373
|
-
|
|
374
|
-
```tsx
|
|
375
|
-
import { Select } from '@maskingtech.designsystem';
|
|
376
|
-
|
|
377
|
-
const options = new Map([['a', 'Option A'], ['b', 'Option B']]);
|
|
378
|
-
|
|
379
|
-
<Select name='example' options={options} />
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
### Spinner
|
|
383
|
-
|
|
384
|
-
A small loading indicator.
|
|
385
|
-
|
|
386
|
-
Properties:
|
|
387
|
-
|
|
388
|
-
- **active** - boolean (optional, default `true`)
|
|
389
|
-
|
|
390
|
-
Example:
|
|
391
|
-
|
|
392
|
-
```tsx
|
|
393
|
-
import { Spinner } from '@maskingtech.designsystem';
|
|
394
|
-
|
|
395
|
-
<Spinner active={true} />
|
|
396
|
-
```
|
|
397
|
-
|
|
398
|
-
### Text
|
|
399
|
-
|
|
400
|
-
Inline text element with variants for type, size and weight.
|
|
401
|
-
|
|
402
|
-
Properties:
|
|
403
|
-
|
|
404
|
-
- **value** - string (required)
|
|
405
|
-
- **type** - `primary` | `secondary` (optional, default `primary`)
|
|
406
|
-
- **size** - `large` | `medium` | `small` (optional, default `medium`)
|
|
407
|
-
- **weight** - `light` | `normal` | `bold` (optional, default `normal`)
|
|
408
|
-
- **wrap** - `none` | `normal` | `break-word` (optional, default `none`)
|
|
409
|
-
|
|
410
|
-
Example:
|
|
411
|
-
|
|
412
|
-
```tsx
|
|
413
|
-
import { Text } from '@maskingtech.designsystem';
|
|
414
|
-
|
|
415
|
-
<Text value='Label' type='secondary' size='small' />
|
|
416
|
-
```
|
|
417
|
-
|
|
418
|
-
### TextArea
|
|
419
|
-
|
|
420
|
-
A multiline text input.
|
|
421
|
-
|
|
422
|
-
Properties:
|
|
423
|
-
|
|
424
|
-
- **name** - string (required)
|
|
425
|
-
- **placeholder** - string (optional)
|
|
426
|
-
- **value** - string (optional)
|
|
427
|
-
- **size** - `large` | `medium` | `small` (optional, default `medium`)
|
|
428
|
-
- **rows** - number (optional)
|
|
429
|
-
- **limit** - number (optional)
|
|
430
|
-
- **onChange** - `ChangeEventHandler<HTMLTextAreaElement>` (optional)
|
|
431
|
-
|
|
432
|
-
Example:
|
|
433
|
-
|
|
434
|
-
```tsx
|
|
435
|
-
import { TextArea } from '@maskingtech.designsystem';
|
|
436
|
-
|
|
437
|
-
<TextArea name='message' placeholder='Write...' rows={4} />
|
|
438
|
-
```
|
|
439
|
-
|
|
440
|
-
### TextBox
|
|
441
|
-
|
|
442
|
-
A single-line text input.
|
|
443
|
-
|
|
444
|
-
Properties:
|
|
445
|
-
|
|
446
|
-
- **name** - string (required)
|
|
447
|
-
- **placeholder** - string (optional)
|
|
448
|
-
- **value** - string (optional)
|
|
449
|
-
- **limit** - number (optional)
|
|
450
|
-
- **pattern** - string (optional)
|
|
451
|
-
- **title** - string (optional)
|
|
452
|
-
- **size** - `large` | `medium` | `small` (optional, default `medium`)
|
|
453
|
-
- **required** - boolean (optional)
|
|
454
|
-
- **onChange** - `ChangeEventHandler<HTMLInputElement>` (optional)
|
|
455
|
-
|
|
456
|
-
Example:
|
|
457
|
-
|
|
458
|
-
```tsx
|
|
459
|
-
import { TextBox } from '@maskingtech.designsystem';
|
|
460
|
-
|
|
461
|
-
<TextBox name='firstName' placeholder='First name' />
|
|
462
|
-
```
|
|
463
|
-
|
|
464
|
-
### Title
|
|
465
|
-
|
|
466
|
-
Heading element that maps `size` to `h1`/`h2`/`h3`.
|
|
467
|
-
|
|
468
|
-
Properties:
|
|
469
|
-
|
|
470
|
-
- **size** - `large` | `medium` | `small` (optional, default `large`)
|
|
471
|
-
- **children** - ReactNode
|
|
472
|
-
|
|
473
|
-
Example:
|
|
474
|
-
|
|
475
|
-
```tsx
|
|
476
|
-
import { Title } from '@maskingtech.designsystem';
|
|
477
|
-
|
|
478
|
-
<Title size='medium'>Section title</Title>
|
|
479
|
-
```
|
|
480
|
-
|
|
481
|
-
## Components
|
|
482
|
-
|
|
483
|
-
### Dropdown
|
|
484
|
-
|
|
485
|
-
Simple selection dropdown (custom UI) that accepts a `Map` of options.
|
|
486
|
-
|
|
487
|
-
Properties:
|
|
488
|
-
|
|
489
|
-
- **options** - `Map<string, string>` (required)
|
|
490
|
-
- **selected** - string (optional, key of the selected option)
|
|
491
|
-
- **onChange** - `(oldKey: string, newKey: string) => void` (optional)
|
|
492
|
-
|
|
493
|
-
Example:
|
|
494
|
-
|
|
495
|
-
```tsx
|
|
496
|
-
import { Dropdown } from '@maskingtech.designsystem';
|
|
497
|
-
|
|
498
|
-
const opts = new Map([['a','A'],['b','B']]);
|
|
499
|
-
<Dropdown options={opts} selected='a' onChange={(o,n)=>console.log(o,n)} />
|
|
500
|
-
```
|
|
501
|
-
|
|
502
|
-
### Tabs / Tab
|
|
503
|
-
|
|
504
|
-
Tabs provide a tabbed navigation. Use `Tab` elements as children of `Tabs`.
|
|
505
|
-
|
|
506
|
-
`Tabs` Properties:
|
|
507
|
-
|
|
508
|
-
- **separator** - ReactNode (optional)
|
|
509
|
-
- **selectedId** - string (optional)
|
|
510
|
-
- **children** - one or more `Tab` elements (required)
|
|
511
|
-
- **onChange** - `(newId: string, oldId?: string) => void` (optional)
|
|
512
|
-
|
|
513
|
-
`Tab` Properties:
|
|
514
|
-
|
|
515
|
-
- **id** - string (required)
|
|
516
|
-
- **title** - ReactNode (required)
|
|
517
|
-
- **children** - ReactNode (required)
|
|
518
|
-
|
|
519
|
-
Example:
|
|
520
|
-
|
|
521
|
-
```tsx
|
|
522
|
-
import { Tabs, Tab } from '@maskingtech.designsystem';
|
|
523
|
-
|
|
524
|
-
<Tabs selectedId='tab1' onChange={(n,o)=>console.log(n,o)}>
|
|
525
|
-
<Tab id='tab1' title='First'>First content</Tab>
|
|
526
|
-
<Tab id='tab2' title='Second'>Second content</Tab>
|
|
527
|
-
</Tabs>
|
|
528
|
-
```
|
|
27
|
+
The list of elements, components, and customization options can be found in the [documentation](docs/README.md).
|
package/dist/mtds.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ds .selection{--background-color: transparent;--background-color-options: var(--color-primary-background);--background-color-options-hover: var(--color-background-hover);--arrow-color: var(--color-alert-foreground);--border-color: var(--color-border);display:inline-block;position:relative;min-width:fit-content;cursor:pointer}.ds .selection .text{background-color:var(--background-color);padding:.8em 2em .8em 0}.ds .selection .text:after{content:"";position:absolute;right:.7em;top:1.2em;border:.45em solid transparent;border-color:var(--arrow-color) transparent transparent transparent}.ds .selection .text.active:after{top:.8em;border-color:transparent transparent var(--arrow-color) transparent}.ds .selection .options{position:absolute;min-width:fit-content;white-space:nowrap;text-align:left;background-color:var(--background-color-options);border:.1em solid var(--border-color)}.ds .selection .options .option{padding:.8em 2em .8em .8em;background:var(--color-primary-background);cursor:pointer}.ds .selection .options .option:hover{background-color:var(--background-color-options-hover)}.ds .tabs{--margin: var(--margin-container);--foreground-color: var(--color-primary-foreground);--font-size-nav: 1.1em;--background-color-nav-item: transparent;--background-color-nav-item-active: var(--background-color-nav-item);--background-color-nav-item-hover: var(--color-background-hover);--padding-nav-item: .5em 1em;--margin-separator: .2em 0 1em 0;display:flex;flex-direction:column;margin:var(--margin)}.ds .tabs .nav{display:flex;flex-direction:row;justify-content:center;color:var(--foreground-color);font-size:var(--font-size-nav)}.ds .tabs .nav .item{background:var(--background-color-nav-item);cursor:pointer;padding:var(--padding-nav-item);width:100%;text-align:center}.ds .tabs .nav .item:hover,.ds .tabs .nav .item.active:hover{background:var(--background-color-nav-item-hover)}.ds .tabs .nav .item.active{background:var(--background-color-nav-item-active);font-weight:var(--font-weight-bold)}.ds .tabs .separator{margin:var(--margin-separator)}.ds .avatar{border-radius:50%}.ds .avatar.fit-fill{object-fit:fill}.ds .avatar.fit-contain{object-fit:contain}.ds .avatar.fit-cover{object-fit:cover}.ds .avatar.fit-none{object-fit:none}.ds .avatar.fit-scale-down{object-fit:scale-down}.ds .border{--border-radius: 0;--margin: 0;--color: var(--color-border);--size-large: .3em;--size-medium: .2em;--size-small: .1em;--padding-large: 2em;--padding-medium: 1.5em;--padding-small: 1em;border-color:var(--color);border-radius:var(--border-radius);margin:var(--margin);min-width:0}.ds .border.type-normal{border-style:solid}.ds .border.type-dashed{border-style:dashed}.ds .border.type-dotted{border-style:dotted}.ds .border.size-large{border-width:var(--size-large)}.ds .border.size-medium{border-width:var(--size-medium)}.ds .border.size-small{border-width:var(--size-small)}.ds .border.padding-none{padding:0}.ds .border.padding-small{padding:var(--padding-small)}.ds .border.padding-medium{padding:var(--padding-medium)}.ds .border.padding-large{padding:var(--padding-large)}.ds .button{--margin: 0em;--padding-small: .2em 2.2em;--padding-medium: .5em 2.2em;--padding-large: .9em 2.2em;--border-radius: 2em;--border-style: solid;--border-color: var(--color-border);--border-width: var(--width-border);--primary-background-color: var(--color-primary-action-background);--primary-foreground-color: var(--color-primary-action-foreground);--secondary-background-color: var(--color-secondary-action-background);--secondary-foreground-color: var(--color-secondary-action-foreground);--disabled-background-color: transparent;border-radius:var(--border-radius);border:0;cursor:pointer;margin:var(--margin);text-align:center;width:fit-content;font-family:inherit;font-size:inherit}.ds .button.size-small{padding:var(--padding-small)}.ds .button.size-medium{padding:var(--padding-medium)}.ds .button.size-large{padding:var(--padding-large)}.ds .button.type-primary,.ds .button.type-submit{background-color:var(--primary-background-color);color:var(--primary-foreground-color);font-weight:var(--font-weight-bold)}.ds .button.type-primary:hover,.ds .button.type-submit:hover{background-color:color-mix(in srgb,black 10%,var(--primary-background-color))}.ds .button.type-primary:focus{background-color:color-mix(in srgb,black 20%,var(--primary-background-color))}.ds .button.type-secondary{background-color:var(--secondary-background-color);color:var(--secondary-foreground-color);font-weight:var(--font-weight-normal)}.ds .button.type-secondary:hover{background-color:color-mix(in srgb,black 10%,var(--secondary-background-color))}.ds .button.type-secondary:focus{background-color:color-mix(in srgb,black 20%,var(--secondary-background-color))}.ds .button.type-disabled{background-color:var(--disabled-background-color);border-color:var(--border-color);border-style:var(--border-style);border-width:var(--border-width);font-weight:var(--font-weight-light);cursor:default}.ds .cell.sizing-fixed{flex-grow:0;flex-shrink:0;overflow:hidden}.ds .cell.sizing-fluid{flex-grow:1;flex-shrink:1;overflow:auto}.ds .clickarea{--margin: 0;--padding-large: 2em;--padding-medium: 1.5em;--padding-small: 1em;--padding-none: 0;cursor:pointer;display:inline-block;margin:var(--margin);padding:var(--padding)}.ds .clickarea.padding-none{padding:var(--padding-none)}.ds .clickarea.padding-small{padding:var(--padding-small)}.ds .clickarea.padding-medium{padding:var(--padding-medium)}.ds .clickarea.padding-large{padding:var(--padding-large)}.ds .column{--gap-small: .4em;--gap-medium: 1em;--gap-large: 2em;display:flex;flex-direction:column;min-width:0;width:100%}.ds .column>div,.ds .column>h1,.ds .column>h2,.ds .column>h3,.ds .column>p,.ds .column>form,.ds .column>label,.ds .column>input,.ds .column>textarea,.ds .column>select{margin:0}.ds .column.align-y-top{justify-content:flex-start}.ds .column.align-y-center{justify-content:center}.ds .column.align-y-bottom{justify-content:flex-end}.ds .column.align-y-justify{justify-content:space-between}.ds .column.align-x-left{align-items:flex-start}.ds .column.align-x-center{align-items:center}.ds .column.align-x-right{align-items:flex-end}.ds .column.align-x-stretch{align-items:stretch}.ds .column.gap-small{gap:var(--gap-small)}.ds .column.gap-medium{gap:var(--gap-medium)}.ds .column.gap-large{gap:var(--gap-large)}.ds .column.wrap-nowrap{flex-wrap:nowrap}.ds .column.wrap-wrap{flex-wrap:wrap}.ds .form{--margin: var(--margin-container);margin:var(--margin);min-width:0}.ds .grid{--gap-small: .5em;--gap-medium: 1em;--gap-large: 2em;display:grid;min-width:0}.ds .grid>div,.ds .grid>h1,.ds .grid>h2,.ds .grid>h3,.ds .grid>p,.ds .grid>form,.ds .grid>label,.ds .grid>input,.ds .grid>textarea,.ds .grid>select{margin:0}.ds .grid.layout-two-columns{grid-template-columns:1fr 1fr}.ds .grid.layout-three-columns{grid-template-columns:1fr 1fr 1fr}.ds .grid.layout-four-columns{grid-template-columns:1fr 1fr 1fr 1fr}.ds .grid.gap-small{grid-gap:var(--gap-small)}.ds .grid.gap-medium{grid-gap:var(--gap-medium)}.ds .grid.gap-large{grid-gap:var(--gap-large)}.ds .icon{--icon-attachment: "📎";--icon-bookmark: "🔖";--icon-box: "☐";--icon-box-checked: "☑";--icon-box-crossed: "☒";--icon-calendar: "📅";--icon-caution: "☡";--icon-check: "✓";--icon-clock: "🕔";--icon-close: "✕";--icon-cloud: "☁";--icon-comment: "💬";--icon-diamond: "♦";--icon-eye: "👁";--icon-flag: "⚑";--icon-heart: "♥";--icon-home: "⌂";--icon-info: "ℹ";--icon-lock: "🔒";--icon-mail: "✉";--icon-music: "♫";--icon-phone: "☎";--icon-piece: "☮";--icon-plus: "➕";--icon-question: "❓";--icon-rain: "⛆";--icon-recycle: "♻";--icon-search: "🔍";--icon-settings: "⚙";--icon-star: "★";--icon-sun: "☀";--icon-tag: "🏷";--icon-trash: "🗑";--icon-umbrella: "☂";--icon-unlock: "🔓";--icon-user: "👤";--icon-video: "🎬";--icon-warning: "⚠";--icon-yinyang: "☯"}.ds .icon.attachment:before{content:var(--icon-attachment)}.ds .icon.bookmark:before{content:var(--icon-bookmark)}.ds .icon.box:before{content:var(--icon-box)}.ds .icon.box-checked:before{content:var(--icon-box-checked)}.ds .icon.box-crossed:before{content:var(--icon-box-crossed)}.ds .icon.calendar:before{content:var(--icon-calendar)}.ds .icon.caution:before{content:var(--icon-caution)}.ds .icon.check:before{content:var(--icon-check)}.ds .icon.clock:before{content:var(--icon-clock)}.ds .icon.close:before{content:var(--icon-close)}.ds .icon.cloud:before{content:var(--icon-cloud)}.ds .icon.comment:before{content:var(--icon-comment)}.ds .icon.diamond:before{content:var(--icon-diamond)}.ds .icon.eye:before{content:var(--icon-eye)}.ds .icon.flag:before{content:var(--icon-flag)}.ds .icon.heart:before{content:var(--icon-heart)}.ds .icon.home:before{content:var(--icon-home)}.ds .icon.info:before{content:var(--icon-info)}.ds .icon.lock:before{content:var(--icon-lock)}.ds .icon.mail:before{content:var(--icon-mail)}.ds .icon.music:before{content:var(--icon-music)}.ds .icon.phone:before{content:var(--icon-phone)}.ds .icon.piece:before{content:var(--icon-piece)}.ds .icon.plus:before{content:var(--icon-plus)}.ds .icon.question:before{content:var(--icon-question)}.ds .icon.rain:before{content:var(--icon-rain)}.ds .icon.recycle:before{content:var(--icon-recycle)}.ds .icon.search:before{content:var(--icon-search)}.ds .icon.settings:before{content:var(--icon-settings)}.ds .icon.star:before{content:var(--icon-star)}.ds .icon.sun:before{content:var(--icon-sun)}.ds .icon.tag:before{content:var(--icon-tag)}.ds .icon.trash:before{content:var(--icon-trash)}.ds .icon.umbrella:before{content:var(--icon-umbrella)}.ds .icon.unlock:before{content:var(--icon-unlock)}.ds .icon.user:before{content:var(--icon-user)}.ds .icon.video:before{content:var(--icon-video)}.ds .icon.warning:before{content:var(--icon-warning)}.ds .icon.yinyang:before{content:var(--icon-yinyang)}.ds .image.fit-fill{object-fit:fill}.ds .image.fit-contain{object-fit:contain}.ds .image.fit-cover{object-fit:cover}.ds .image.fit-none{object-fit:none}.ds .image.fit-scale-down{object-fit:scale-down}.ds .input{--margin: 0 0 1em 0;--gap: .5em;display:flex;flex-direction:column;gap:var(--gap);margin:var(--margin)}.ds .input .label{font-weight:var(--font-weight-medium)}.ds .label{--margin: 0;margin:var(--margin)}.ds .link{--color: var(--color-primary-foreground);--color-hover: var(--color-primary-foreground);--text-decoration: dotted underline;--text-decoration-hover: underline;color:var(--color);text-decoration:var(--text-decoration)}.ds .link:hover{color:var(--color-hover);text-decoration:var(--text-decoration-hover)}.ds .modal{border:0;padding:0;min-width:0}.ds .modal.sizing-full{width:100%}.ds .modal.sizing-content{width:fit-content}.ds .panel{--border-radius: 0;--margin: 0 0 1.5em 0;--padding-large: 2em;--padding-medium: 1.5em;--padding-small: 1em;--alert-background-color: var(--color-alert-background);--alert-foreground-color: var(--color-alert-foreground);--error-background-color: var(--color-error-background);--error-foreground-color: var(--color-error-foreground);--normal-background-color: var(--color-secondary-background);--normal-foreground-color: var(--color-primary-foreground);--success-background-color: var(--color-success-background);--success-foreground-color: var(--color-success-foreground);--warning-background-color: var(--color-warning-background);--warning-foreground-color: var(--color-warning-foreground);border-radius:var(--border-radius);padding:var(--padding);margin:var(--margin);min-width:0}.ds .panel.type-alert{background-color:var(--alert-background-color);color:var(--alert-foreground-color)}.ds .panel.type-error{background-color:var(--error-background-color);color:var(--error-foreground-color)}.ds .panel.type-normal{background-color:var(--normal-background-color);color:var(--normal-foreground-color)}.ds .panel.type-success{background-color:var(--success-background-color);color:var(--success-foreground-color)}.ds .panel.type-warning{background-color:var(--warning-background-color);color:var(--warning-foreground-color)}.ds .panel.type-transparent{background-color:transparent}.ds .panel.padding-small{padding:var(--padding-small)}.ds .panel.padding-medium{padding:var(--padding-medium)}.ds .panel.padding-large{padding:var(--padding-large)}.ds .paragraph{--margin: var(--margin-container);--line-height: 1.5em;--font-size-large: 1.5em;--font-size-medium: 1em;--font-size-small: .75em;margin:var(--margin);line-height:var(--line-height);min-width:0}.ds .paragraph.size-large{font-size:var(--font-size-large)}.ds .paragraph.size-medium{font-size:var(--font-size-medium)}.ds .paragraph.size-small{font-size:var(--font-size-small)}.ds .row{--gap-small: .4em;--gap-medium: 1em;--gap-large: 2em;display:flex;flex-direction:row;min-width:0;height:100%}.ds .row>div,.ds .row>h1,.ds .row>h2,.ds .row>h3,.ds .row>p,.ds .row>form,.ds .row>label,.ds .row>input,.ds .row>textarea,.ds .row>select{margin:0}.ds .row.align-x-left{justify-content:flex-start}.ds .row.align-x-center{justify-content:center}.ds .row.align-x-right{justify-content:flex-end}.ds .row.align-x-justify{justify-content:space-between}.ds .row.align-y-top{align-items:flex-start}.ds .row.align-y-center{align-items:center}.ds .row.align-y-bottom{align-items:flex-end}.ds .row.align-y-stretch{align-items:stretch}.ds .row.gap-small{gap:var(--gap-small)}.ds .row.gap-medium{gap:var(--gap-medium)}.ds .row.gap-large{gap:var(--gap-large)}.ds .row.wrap-nowrap{flex-wrap:nowrap}.ds .row.wrap-wrap{flex-wrap:wrap}.ds .ruler{--border-width-small: .1rem;--border-width-medium: .2rem;--border-width-large: .3rem;--color: var(--color-border);background-color:var(--color)}.ds .ruler.direction-horizontal{width:100%}.ds .ruler.direction-horizontal.size-small{height:var(--border-width-small)}.ds .ruler.direction-horizontal.size-medium{height:var(--border-width-medium)}.ds .ruler.direction-horizontal.size-large{height:var(--border-width-large)}.ds .ruler.direction-vertical{height:100%}.ds .ruler.direction-vertical.size-small{width:var(--border-width-small)}.ds .ruler.direction-vertical.size-medium{width:var(--border-width-medium)}.ds .ruler.direction-vertical.size-large{width:var(--border-width-large)}.ds .select{--margin: 0;--padding-small: .4em;--padding-medium: .8em;--padding-large: 1.2em;--border-style: solid;--border-color: var(--color-border);--border-width: var(--width-border);margin:var(--margin);padding:var(--padding);border-style:var(--border-style);border-width:var(--border-width);border-color:var(--border-color);background-color:var(--color-input-background);font-family:inherit;font-size:inherit}.ds .select:focus-visible{outline-color:color-mix(in srgb,black 10%,var(--border-color))}.ds .select.size-small{padding:var(--padding-small)}.ds .select.size-medium{padding:var(--padding-medium)}.ds .select.size-large{padding:var(--padding-large)}.ds .spinner{--color: var(--color-border);--size: 2em;--speed: 1.2s;--thickness: .3em;display:inline-block;width:var(--size);height:var(--size)}.ds .spinner:after{content:" ";display:block;width:var(--size);height:var(--size);border-radius:50%;border:var(--thickness) solid var(--color);border-color:transparent var(--color) transparent var(--color)}.ds .spinner.active:after{animation:ds-spinner var(--speed) linear infinite}@keyframes ds-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ds .text{--primary-color: var(--color-primary-foreground);--secondary-color: var(--color-secondary-foreground);display:inline-block}.ds .text.type-primary{color:var(--primary-color)}.ds .text.type-secondary{color:var(--secondary-color)}.ds .text.size-small{font-size:.9em}.ds .text.size-medium{font-size:1em}.ds .text.size-large{font-size:1.2em}.ds .text.weight-light{font-weight:var(--font-weight-light)}.ds .text.weight-normal{font-weight:var(--font-weight-normal)}.ds .text.weight-bold{font-weight:var(--font-weight-bold)}.ds .text.wrap-none{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds .text.wrap-normal{white-space:normal}.ds .text.wrap-break-word{word-wrap:break-word}.ds .textarea{--margin: 0;--padding-small: .4em;--padding-medium: .8em;--padding-large: 1.2em;--border-style: solid;--border-color: var(--color-border);--border-width: var(--width-border);margin:var(--margin);padding:var(--padding);border-style:var(--border-style);border-width:var(--border-width);border-color:var(--border-color);background-color:var(--color-input-background);font-family:inherit;font-size:inherit;resize:vertical;width:100%}.ds .textarea:focus-visible{outline-color:color-mix(in srgb,black 10%,var(--border-color))}.ds .textarea.size-small{padding:var(--padding-small)}.ds .textarea.size-medium{padding:var(--padding-medium)}.ds .textarea.size-large{padding:var(--padding-large)}.ds .textbox{--margin: 0;--padding-small: .4em;--padding-medium: .8em;--padding-large: 1.2em;--border-style: solid;--border-color: var(--color-border);--border-width: var(--width-border);margin:var(--margin);border-style:var(--border-style);border-width:var(--border-width);border-color:var(--border-color);background-color:var(--color-input-background);font-family:inherit;font-size:inherit}.ds .textbox:focus-visible{outline-color:color-mix(in srgb,black 10%,var(--border-color))}.ds .textbox.size-small{padding:var(--padding-small)}.ds .textbox.size-medium{padding:var(--padding-medium)}.ds .textbox.size-large{padding:var(--padding-large)}.ds .title{--margin: 0 0 .8em 0;--font-size-large: 2em;--font-size-medium: 1.5em;--font-size-small: 1em;margin:var(--margin)}.ds .title.size-large{font-size:var(--font-size-large)}.ds .title.size-medium{font-size:var(--font-size-medium)}.ds .title.size-small{font-size:var(--font-size-small)}
|
|
1
|
+
.mtds{--font-family: sans-serif;--font-size: 16px;--font-weight-extra-light: 200;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semi-bold: 600;--font-weight-bold: 700;--color-background: transparent;--color-background-hover: #efefef;--color-foreground: #000000;--color-border: #b7b7b7;--color-primary-background: #ffffff;--color-primary-foreground: #000000;--color-secondary-background: #f3f3f3;--color-secondary-foreground: #666666;--color-primary-action-background: #cccccc;--color-primary-action-foreground: #000000;--color-secondary-action-background: #f3f3f3;--color-secondary-action-foreground: #000000;--color-input-background: #ffffff;--color-input-foreground: #000000;--color-alert-background: #d9d9d9;--color-alert-foreground: #666666;--color-error-background: #666666;--color-error-foreground: #f3f3f3;--color-warning-background: #999999;--color-warning-foreground: #f3f3f3;--color-success-background: #efefef;--color-success-foreground: #666666;--margin-container: 0 0 1.2em 0;--width-border: .05em;font-family:var(--font-family);font-size:var(--font-size);background-color:var(--color-background);color:var(--color-foreground);font-weight:var(--font-weight-light)}.mtds *{box-sizing:border-box}.mtds *:is(:last-child){margin-bottom:0}.mtds .dropdown{--background-color: transparent;--background-color-options: var(--color-primary-background);--background-color-options-hover: var(--color-background-hover);--arrow-color: var(--color-alert-foreground);--border-color: var(--color-border);display:inline-block;position:relative;min-width:fit-content;cursor:pointer}.mtds .dropdown .text{background-color:var(--background-color);padding:.8em 2em .8em 0}.mtds .dropdown .text:after{content:"";position:absolute;right:.7em;top:1.2em;border:.45em solid transparent;border-color:var(--arrow-color) transparent transparent transparent}.mtds .dropdown .text.active:after{top:.8em;border-color:transparent transparent var(--arrow-color) transparent}.mtds .dropdown .options{position:absolute;min-width:fit-content;white-space:nowrap;text-align:left;background-color:var(--background-color-options);border:.1em solid var(--border-color)}.mtds .dropdown .options .option{padding:.8em 2em .8em .8em;background:var(--color-primary-background);cursor:pointer}.mtds .dropdown .options .option:hover{background-color:var(--background-color-options-hover)}.mtds .tabs{--margin: var(--margin-container);--foreground-color: var(--color-primary-foreground);--font-size-nav: 1.1em;--background-color-nav-item: transparent;--background-color-nav-item-active: var(--background-color-nav-item);--background-color-nav-item-hover: var(--color-background-hover);--padding-nav-item: .5em 1em;--margin-separator: .2em 0 1em 0;display:flex;flex-direction:column;margin:var(--margin)}.mtds .tabs .nav{display:flex;flex-direction:row;justify-content:center;color:var(--foreground-color);font-size:var(--font-size-nav)}.mtds .tabs .nav .item{background:var(--background-color-nav-item);cursor:pointer;padding:var(--padding-nav-item);width:100%;text-align:center}.mtds .tabs .nav .item:hover,.mtds .tabs .nav .item.active:hover{background:var(--background-color-nav-item-hover)}.mtds .tabs .nav .item.active{background:var(--background-color-nav-item-active);font-weight:var(--font-weight-bold)}.mtds .tabs .separator{margin:var(--margin-separator)}.mtds .avatar{border-radius:50%}.mtds .avatar.fit-fill{object-fit:fill}.mtds .avatar.fit-contain{object-fit:contain}.mtds .avatar.fit-cover{object-fit:cover}.mtds .avatar.fit-none{object-fit:none}.mtds .avatar.fit-scale-down{object-fit:scale-down}.mtds .border{--border-radius: 0;--margin: 0;--color: var(--color-border);--size-large: .3em;--size-medium: .2em;--size-small: .1em;--padding-large: 2em;--padding-medium: 1.5em;--padding-small: 1em;border-color:var(--color);border-radius:var(--border-radius);margin:var(--margin);min-width:0}.mtds .border.type-normal{border-style:solid}.mtds .border.type-dashed{border-style:dashed}.mtds .border.type-dotted{border-style:dotted}.mtds .border.size-large{border-width:var(--size-large)}.mtds .border.size-medium{border-width:var(--size-medium)}.mtds .border.size-small{border-width:var(--size-small)}.mtds .border.padding-none{padding:0}.mtds .border.padding-small{padding:var(--padding-small)}.mtds .border.padding-medium{padding:var(--padding-medium)}.mtds .border.padding-large{padding:var(--padding-large)}.mtds .button{--margin: 0;--border-radius: 2em;--border-style: solid;--border-color: var(--color-border);--border-width: var(--width-border);--size-small: .2em 2.2em;--size-medium: .5em 2.2em;--size-large: .9em 2.2em;--type-primary-background-color: var(--color-primary-action-background);--type-primary-foreground-color: var(--color-primary-action-foreground);--type-secondary-background-color: var(--color-secondary-action-background);--type-secondary-foreground-color: var(--color-secondary-action-foreground);--type-disabled-background-color: transparent;border-radius:var(--border-radius);border:0;cursor:pointer;margin:var(--margin);text-align:center;width:fit-content;font-family:inherit;font-size:inherit}.mtds .button.size-small{padding:var(--size-small)}.mtds .button.size-medium{padding:var(--size-medium)}.mtds .button.size-large{padding:var(--size-large)}.mtds .button.type-primary,.mtds .button.type-submit{background-color:var(--type-primary-background-color);color:var(--type-primary-foreground-color);font-weight:var(--font-weight-bold)}.mtds .button.type-primary:hover,.mtds .button.type-submit:hover{background-color:color-mix(in srgb,black 10%,var(--type-primary-background-color))}.mtds .button.type-primary:focus{background-color:color-mix(in srgb,black 20%,var(--type-primary-background-color))}.mtds .button.type-secondary{background-color:var(--type-secondary-background-color);color:var(--type-secondary-foreground-color);font-weight:var(--font-weight-normal)}.mtds .button.type-secondary:hover{background-color:color-mix(in srgb,black 10%,var(--type-secondary-background-color))}.mtds .button.type-secondary:focus{background-color:color-mix(in srgb,black 20%,var(--type-secondary-background-color))}.mtds .button.type-disabled{background-color:var(--type-disabled-background-color);border-color:var(--border-color);border-style:var(--border-style);border-width:var(--border-width);font-weight:var(--font-weight-light);cursor:default}.mtds .cell.sizing-fixed{flex-grow:0;flex-shrink:0;overflow:hidden}.mtds .cell.sizing-fluid{flex-grow:1;flex-shrink:1;overflow:auto}.mtds .clickarea{--margin: 0;--padding-large: 2em;--padding-medium: 1.5em;--padding-small: 1em;--padding-none: 0;cursor:pointer;display:inline-block;margin:var(--margin);padding:var(--padding)}.mtds .clickarea.padding-none{padding:var(--padding-none)}.mtds .clickarea.padding-small{padding:var(--padding-small)}.mtds .clickarea.padding-medium{padding:var(--padding-medium)}.mtds .clickarea.padding-large{padding:var(--padding-large)}.mtds .column{--gap-small: .4em;--gap-medium: 1em;--gap-large: 2em;display:flex;flex-direction:column;min-width:0;width:100%}.mtds .column>div,.mtds .column>h1,.mtds .column>h2,.mtds .column>h3,.mtds .column>p,.mtds .column>form,.mtds .column>label,.mtds .column>input,.mtds .column>textarea,.mtds .column>select{margin:0}.mtds .column.align-y-top{justify-content:flex-start}.mtds .column.align-y-center{justify-content:center}.mtds .column.align-y-bottom{justify-content:flex-end}.mtds .column.align-y-justify{justify-content:space-between}.mtds .column.align-x-left{align-items:flex-start}.mtds .column.align-x-center{align-items:center}.mtds .column.align-x-right{align-items:flex-end}.mtds .column.align-x-stretch{align-items:stretch}.mtds .column.gap-small{gap:var(--gap-small)}.mtds .column.gap-medium{gap:var(--gap-medium)}.mtds .column.gap-large{gap:var(--gap-large)}.mtds .column.wrap-nowrap{flex-wrap:nowrap}.mtds .column.wrap-wrap{flex-wrap:wrap}.mtds .form{--margin: var(--margin-container);margin:var(--margin);min-width:0}.mtds .grid{--gap-small: .5em;--gap-medium: 1em;--gap-large: 2em;display:grid;min-width:0}.mtds .grid>div,.mtds .grid>h1,.mtds .grid>h2,.mtds .grid>h3,.mtds .grid>p,.mtds .grid>form,.mtds .grid>label,.mtds .grid>input,.mtds .grid>textarea,.mtds .grid>select{margin:0}.mtds .grid.layout-two-columns{grid-template-columns:1fr 1fr}.mtds .grid.layout-three-columns{grid-template-columns:1fr 1fr 1fr}.mtds .grid.layout-four-columns{grid-template-columns:1fr 1fr 1fr 1fr}.mtds .grid.gap-small{grid-gap:var(--gap-small)}.mtds .grid.gap-medium{grid-gap:var(--gap-medium)}.mtds .grid.gap-large{grid-gap:var(--gap-large)}.mtds .icon{--icon-attachment: "📎";--icon-bookmark: "🔖";--icon-box: "☐";--icon-box-checked: "☑";--icon-box-crossed: "☒";--icon-calendar: "📅";--icon-caution: "☡";--icon-check: "✓";--icon-clock: "🕔";--icon-close: "✕";--icon-cloud: "☁";--icon-comment: "💬";--icon-diamond: "♦";--icon-eye: "👁";--icon-flag: "⚑";--icon-heart: "♥";--icon-home: "⌂";--icon-info: "ℹ";--icon-lock: "🔒";--icon-mail: "✉";--icon-music: "♫";--icon-phone: "☎";--icon-piece: "☮";--icon-plus: "➕";--icon-question: "❓";--icon-rain: "⛆";--icon-recycle: "♻";--icon-search: "🔍";--icon-settings: "⚙";--icon-star: "★";--icon-sun: "☀";--icon-tag: "🏷";--icon-trash: "🗑";--icon-umbrella: "☂";--icon-unlock: "🔓";--icon-user: "👤";--icon-video: "🎬";--icon-warning: "⚠";--icon-yinyang: "☯"}.mtds .icon.attachment:before{content:var(--icon-attachment)}.mtds .icon.bookmark:before{content:var(--icon-bookmark)}.mtds .icon.box:before{content:var(--icon-box)}.mtds .icon.box-checked:before{content:var(--icon-box-checked)}.mtds .icon.box-crossed:before{content:var(--icon-box-crossed)}.mtds .icon.calendar:before{content:var(--icon-calendar)}.mtds .icon.caution:before{content:var(--icon-caution)}.mtds .icon.check:before{content:var(--icon-check)}.mtds .icon.clock:before{content:var(--icon-clock)}.mtds .icon.close:before{content:var(--icon-close)}.mtds .icon.cloud:before{content:var(--icon-cloud)}.mtds .icon.comment:before{content:var(--icon-comment)}.mtds .icon.diamond:before{content:var(--icon-diamond)}.mtds .icon.eye:before{content:var(--icon-eye)}.mtds .icon.flag:before{content:var(--icon-flag)}.mtds .icon.heart:before{content:var(--icon-heart)}.mtds .icon.home:before{content:var(--icon-home)}.mtds .icon.info:before{content:var(--icon-info)}.mtds .icon.lock:before{content:var(--icon-lock)}.mtds .icon.mail:before{content:var(--icon-mail)}.mtds .icon.music:before{content:var(--icon-music)}.mtds .icon.phone:before{content:var(--icon-phone)}.mtds .icon.piece:before{content:var(--icon-piece)}.mtds .icon.plus:before{content:var(--icon-plus)}.mtds .icon.question:before{content:var(--icon-question)}.mtds .icon.rain:before{content:var(--icon-rain)}.mtds .icon.recycle:before{content:var(--icon-recycle)}.mtds .icon.search:before{content:var(--icon-search)}.mtds .icon.settings:before{content:var(--icon-settings)}.mtds .icon.star:before{content:var(--icon-star)}.mtds .icon.sun:before{content:var(--icon-sun)}.mtds .icon.tag:before{content:var(--icon-tag)}.mtds .icon.trash:before{content:var(--icon-trash)}.mtds .icon.umbrella:before{content:var(--icon-umbrella)}.mtds .icon.unlock:before{content:var(--icon-unlock)}.mtds .icon.user:before{content:var(--icon-user)}.mtds .icon.video:before{content:var(--icon-video)}.mtds .icon.warning:before{content:var(--icon-warning)}.mtds .icon.yinyang:before{content:var(--icon-yinyang)}.mtds .image.fit-fill{object-fit:fill}.mtds .image.fit-contain{object-fit:contain}.mtds .image.fit-cover{object-fit:cover}.mtds .image.fit-none{object-fit:none}.mtds .image.fit-scale-down{object-fit:scale-down}.mtds .input{--margin: 0 0 1em 0;--gap: .5em;display:flex;flex-direction:column;gap:var(--gap);margin:var(--margin)}.mtds .input .label{font-weight:var(--font-weight-medium)}.mtds .label{--margin: 0;margin:var(--margin)}.mtds .link{--color: var(--color-primary-foreground);--color-hover: var(--color-primary-foreground);--text-decoration: dotted underline;--text-decoration-hover: underline;color:var(--color);text-decoration:var(--text-decoration)}.mtds .link:hover{color:var(--color-hover);text-decoration:var(--text-decoration-hover)}.mtds .modal{border:0;padding:0;min-width:0}.mtds .modal.sizing-full{width:100%}.mtds .modal.sizing-content{width:fit-content}.mtds .panel{--border-radius: 0;--margin: 0 0 1.5em 0;--padding-large: 2em;--padding-medium: 1.5em;--padding-small: 1em;--type-alert-background-color: var(--color-alert-background);--type-alert-foreground-color: var(--color-alert-foreground);--type-error-background-color: var(--color-error-background);--type-error-foreground-color: var(--color-error-foreground);--type-normal-background-color: var(--color-secondary-background);--type-normal-foreground-color: var(--color-primary-foreground);--type-success-background-color: var(--color-success-background);--type-success-foreground-color: var(--color-success-foreground);--type-warning-background-color: var(--color-warning-background);--type-warning-foreground-color: var(--color-warning-foreground);border-radius:var(--border-radius);padding:var(--padding);margin:var(--margin);min-width:0}.mtds .panel.type-alert{background-color:var(--type-alert-background-color);color:var(--type-alert-foreground-color)}.mtds .panel.type-error{background-color:var(--type-error-background-color);color:var(--type-error-foreground-color)}.mtds .panel.type-normal{background-color:var(--type-normal-background-color);color:var(--type-normal-foreground-color)}.mtds .panel.type-success{background-color:var(--type-success-background-color);color:var(--type-success-foreground-color)}.mtds .panel.type-warning{background-color:var(--type-warning-background-color);color:var(--type-warning-foreground-color)}.mtds .panel.type-transparent{background-color:transparent}.mtds .panel.padding-small{padding:var(--padding-small)}.mtds .panel.padding-medium{padding:var(--padding-medium)}.mtds .panel.padding-large{padding:var(--padding-large)}.mtds .paragraph{--margin: var(--margin-container);--line-height: 1.5em;--size-large: 1.5em;--size-medium: 1em;--size-small: .75em;margin:var(--margin);line-height:var(--line-height);min-width:0}.mtds .paragraph.size-large{font-size:var(--size-large)}.mtds .paragraph.size-medium{font-size:var(--size-medium)}.mtds .paragraph.size-small{font-size:var(--size-small)}.mtds .row{--gap-small: .4em;--gap-medium: 1em;--gap-large: 2em;display:flex;flex-direction:row;min-width:0;height:100%}.mtds .row>div,.mtds .row>h1,.mtds .row>h2,.mtds .row>h3,.mtds .row>p,.mtds .row>form,.mtds .row>label,.mtds .row>input,.mtds .row>textarea,.mtds .row>select{margin:0}.mtds .row.align-x-left{justify-content:flex-start}.mtds .row.align-x-center{justify-content:center}.mtds .row.align-x-right{justify-content:flex-end}.mtds .row.align-x-justify{justify-content:space-between}.mtds .row.align-y-top{align-items:flex-start}.mtds .row.align-y-center{align-items:center}.mtds .row.align-y-bottom{align-items:flex-end}.mtds .row.align-y-stretch{align-items:stretch}.mtds .row.gap-small{gap:var(--gap-small)}.mtds .row.gap-medium{gap:var(--gap-medium)}.mtds .row.gap-large{gap:var(--gap-large)}.mtds .row.wrap-nowrap{flex-wrap:nowrap}.mtds .row.wrap-wrap{flex-wrap:wrap}.mtds .ruler{--size-small: .1rem;--size-medium: .2rem;--size-large: .3rem;--color: var(--color-border);background-color:var(--color)}.mtds .ruler.direction-horizontal{width:100%}.mtds .ruler.direction-horizontal.size-small{height:var(--size-small)}.mtds .ruler.direction-horizontal.size-medium{height:var(--size-medium)}.mtds .ruler.direction-horizontal.size-large{height:var(--size-large)}.mtds .ruler.direction-vertical{height:100%}.mtds .ruler.direction-vertical.size-small{width:var(--size-small)}.mtds .ruler.direction-vertical.size-medium{width:var(--size-medium)}.mtds .ruler.direction-vertical.size-large{width:var(--size-large)}.mtds .select{--margin: 0;--size-small: .4em;--size-medium: .8em;--size-large: 1.2em;--border-style: solid;--border-color: var(--color-border);--border-width: var(--width-border);margin:var(--margin);padding:var(--padding);border-style:var(--border-style);border-width:var(--border-width);border-color:var(--border-color);background-color:var(--color-input-background);font-family:inherit;font-size:inherit}.mtds .select:focus-visible{outline-color:color-mix(in srgb,black 10%,var(--border-color))}.mtds .select.size-small{padding:var(--size-small)}.mtds .select.size-medium{padding:var(--size-medium)}.mtds .select.size-large{padding:var(--size-large)}.mtds .spinner{--color: var(--color-border);--size: 2em;--speed: 1.2s;--thickness: .3em;display:inline-block;width:var(--size);height:var(--size)}.mtds .spinner:after{content:" ";display:block;width:var(--size);height:var(--size);border-radius:50%;border:var(--thickness) solid var(--color);border-color:transparent var(--color) transparent var(--color)}.mtds .spinner.active:after{animation:ds-spinner var(--speed) linear infinite}@keyframes ds-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mtds .text{--primary-color: var(--color-primary-foreground);--secondary-color: var(--color-secondary-foreground);--size-small: .9em;--size-medium: 1em;--size-large: 1.2em;display:inline-block}.mtds .text.type-primary{color:var(--primary-color)}.mtds .text.type-secondary{color:var(--secondary-color)}.mtds .text.size-small{font-size:var(--size-small)}.mtds .text.size-medium{font-size:var(--size-medium)}.mtds .text.size-large{font-size:var(--size-large)}.mtds .text.weight-light{font-weight:var(--font-weight-light)}.mtds .text.weight-normal{font-weight:var(--font-weight-normal)}.mtds .text.weight-bold{font-weight:var(--font-weight-bold)}.mtds .text.wrap-none{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mtds .text.wrap-normal{white-space:normal}.mtds .text.wrap-break-word{word-wrap:break-word}.mtds .textarea{--margin: 0;--size-small: .4em;--size-medium: .8em;--size-large: 1.2em;--border-style: solid;--border-color: var(--color-border);--border-width: var(--width-border);margin:var(--margin);padding:var(--padding);border-style:var(--border-style);border-width:var(--border-width);border-color:var(--border-color);background-color:var(--color-input-background);font-family:inherit;font-size:inherit;resize:vertical;width:100%}.mtds .textarea:focus-visible{outline-color:color-mix(in srgb,black 10%,var(--border-color))}.mtds .textarea.size-small{padding:var(--size-small)}.mtds .textarea.size-medium{padding:var(--size-medium)}.mtds .textarea.size-large{padding:var(--size-large)}.mtds .textbox{--margin: 0;--size-small: .4em;--size-medium: .8em;--size-large: 1.2em;--border-style: solid;--border-color: var(--color-border);--border-width: var(--width-border);margin:var(--margin);border-style:var(--border-style);border-width:var(--border-width);border-color:var(--border-color);background-color:var(--color-input-background);font-family:inherit;font-size:inherit}.mtds .textbox:focus-visible{outline-color:color-mix(in srgb,black 10%,var(--border-color))}.mtds .textbox.size-small{padding:var(--size-small)}.mtds .textbox.size-medium{padding:var(--size-medium)}.mtds .textbox.size-large{padding:var(--size-large)}.mtds .title{--margin: 0 0 .8em 0;--size-large: 2em;--size-medium: 1.5em;--size-small: 1em;margin:var(--margin)}.mtds .title.size-large{font-size:var(--size-large)}.mtds .title.size-medium{font-size:var(--size-medium)}.mtds .title.size-small{font-size:var(--size-small)}
|