@moduix/react 2.4.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,225 +32,336 @@
32
32
  * SOFTWARE.
33
33
  */
34
34
  @layer moduix.reset {
35
- *, :after, :before {
36
- box-sizing: border-box;
37
- border: 0 solid;
38
- margin: 0;
39
- padding: 0;
40
- }
41
-
42
- ::backdrop {
43
- box-sizing: border-box;
44
- border: 0 solid;
45
- margin: 0;
46
- padding: 0;
47
- }
48
-
35
+ /*
36
+ 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
37
+ 2. Remove default margins and padding
38
+ 3. Reset all borders.
39
+ */
40
+ *,
41
+ ::after,
42
+ ::before,
43
+ ::backdrop,
49
44
  ::file-selector-button {
50
- box-sizing: border-box;
51
- border: 0 solid;
52
- margin: 0;
53
- padding: 0;
54
- }
55
-
56
- html, :host {
57
- -webkit-text-size-adjust: 100%;
58
- tab-size: 4;
59
- font-feature-settings: normal;
60
- font-variation-settings: normal;
61
- -webkit-tap-highlight-color: transparent;
62
- font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
63
- line-height: 1.5;
64
- }
65
-
45
+ box-sizing: border-box; /* 1 */
46
+ margin: 0; /* 2 */
47
+ padding: 0; /* 2 */
48
+ border: 0 solid; /* 3 */
49
+ }
50
+
51
+ /*
52
+ 1. Use a consistent sensible line-height in all browsers.
53
+ 2. Prevent adjustments of font size after orientation changes in iOS.
54
+ 3. Use a more readable tab size.
55
+ 4. Use the user's configured `sans` font-family by default.
56
+ 5. Use the user's configured `sans` font-feature-settings by default.
57
+ 6. Use the user's configured `sans` font-variation-settings by default.
58
+ 7. Disable tap highlights on iOS.
59
+ */
60
+ html,
61
+ :host {
62
+ line-height: 1.5; /* 1 */
63
+ -webkit-text-size-adjust: 100%; /* 2 */
64
+ tab-size: 4; /* 3 */
65
+ font-family:
66
+ ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
67
+ 'Segoe UI Symbol', 'Noto Color Emoji'; /* 4 */
68
+ font-feature-settings: normal; /* 5 */
69
+ font-variation-settings: normal; /* 6 */
70
+ -webkit-tap-highlight-color: transparent; /* 7 */
71
+ }
72
+
73
+ /*
74
+ 1. Add the correct height in Firefox.
75
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
76
+ 3. Reset the default border style to a 1px solid border.
77
+ */
66
78
  hr {
67
- height: 0;
68
- color: inherit;
69
- border-top-width: 1px;
79
+ height: 0; /* 1 */
80
+ color: inherit; /* 2 */
81
+ border-top-width: 1px; /* 3 */
70
82
  }
71
83
 
84
+ /*
85
+ Add the correct text decoration in Chrome, Edge, and Safari.
86
+ */
72
87
  abbr:where([title]) {
73
88
  -webkit-text-decoration: underline dotted;
74
89
  text-decoration: underline dotted;
75
90
  }
76
91
 
77
- h1, h2, h3, h4, h5, h6 {
92
+ /*
93
+ Remove the default font size and weight for headings.
94
+ */
95
+ h1,
96
+ h2,
97
+ h3,
98
+ h4,
99
+ h5,
100
+ h6 {
78
101
  font-size: inherit;
79
102
  font-weight: inherit;
80
103
  }
81
104
 
105
+ /*
106
+ Reset links to optimize for opt-in styling instead of opt-out.
107
+ */
82
108
  a {
83
109
  color: inherit;
84
110
  -webkit-text-decoration: inherit;
85
- -webkit-text-decoration: inherit;
86
111
  text-decoration: inherit;
87
112
  }
88
113
 
89
- b, strong {
114
+ /*
115
+ Add the correct font weight in Edge and Safari.
116
+ */
117
+ b,
118
+ strong {
90
119
  font-weight: bolder;
91
120
  }
92
121
 
93
- code, kbd, samp, pre {
94
- font-feature-settings: normal;
95
- font-variation-settings: normal;
96
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
97
- font-size: 1em;
98
- }
99
-
122
+ /*
123
+ 1. Use the user's configured `mono` font-family by default.
124
+ 2. Use the user's configured `mono` font-feature-settings by default.
125
+ 3. Use the user's configured `mono` font-variation-settings by default.
126
+ 4. Correct the odd `em` font sizing in all browsers.
127
+ */
128
+ code,
129
+ kbd,
130
+ samp,
131
+ pre {
132
+ font-family:
133
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
134
+ monospace; /* 1 */
135
+ font-feature-settings: normal; /* 2 */
136
+ font-variation-settings: normal; /* 3 */
137
+ font-size: 1em; /* 4 */
138
+ }
139
+
140
+ /*
141
+ Add the correct font size in all browsers.
142
+ */
100
143
  small {
101
144
  font-size: 80%;
102
145
  }
103
146
 
104
- sub, sup {
105
- vertical-align: baseline;
147
+ /*
148
+ Prevent `sub` and `sup` elements from affecting the line height in all browsers.
149
+ */
150
+ sub,
151
+ sup {
106
152
  font-size: 75%;
107
153
  line-height: 0;
108
154
  position: relative;
155
+ vertical-align: baseline;
109
156
  }
110
157
 
111
158
  sub {
112
- bottom: -.25em;
159
+ bottom: -0.25em;
113
160
  }
114
161
 
115
162
  sup {
116
- top: -.5em;
163
+ top: -0.5em;
117
164
  }
118
165
 
166
+ /*
167
+ 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
168
+ 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
169
+ 3. Remove gaps between table borders by default.
170
+ */
119
171
  table {
120
- text-indent: 0;
121
- border-color: inherit;
122
- border-collapse: collapse;
172
+ text-indent: 0; /* 1 */
173
+ border-color: inherit; /* 2 */
174
+ border-collapse: collapse; /* 3 */
123
175
  }
124
176
 
177
+ /*
178
+ Use the modern Firefox focus style for all focusable elements.
179
+ */
125
180
  :-moz-focusring {
126
181
  outline: auto;
127
182
  }
128
183
 
184
+ /*
185
+ Add the correct vertical alignment in Chrome and Firefox.
186
+ */
129
187
  progress {
130
188
  vertical-align: baseline;
131
189
  }
132
190
 
191
+ /*
192
+ Add the correct display in Chrome and Safari.
193
+ */
133
194
  summary {
134
195
  display: list-item;
135
196
  }
136
197
 
137
- ol, ul, menu {
198
+ /*
199
+ Make lists unstyled by default.
200
+ */
201
+ ol,
202
+ ul,
203
+ menu {
138
204
  list-style: none;
139
205
  }
140
206
 
141
- img, svg, video, canvas, audio, iframe, embed, object {
142
- vertical-align: middle;
143
- display: block;
144
- }
145
-
146
- img, video {
207
+ /*
208
+ 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
209
+ 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
210
+ This can trigger a poorly considered lint error in some tools but is included by design.
211
+ */
212
+ img,
213
+ svg,
214
+ video,
215
+ canvas,
216
+ audio,
217
+ iframe,
218
+ embed,
219
+ object {
220
+ display: block; /* 1 */
221
+ vertical-align: middle; /* 2 */
222
+ }
223
+
224
+ /*
225
+ Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
226
+ */
227
+ img,
228
+ video {
147
229
  max-width: 100%;
148
230
  height: auto;
149
231
  }
150
232
 
151
- button, input, select, optgroup, textarea {
152
- font: inherit;
153
- font-feature-settings: inherit;
154
- font-variation-settings: inherit;
155
- letter-spacing: inherit;
156
- color: inherit;
157
- opacity: 1;
158
- background-color: #0000;
159
- border-radius: 0;
160
- }
161
-
233
+ /*
234
+ 1. Inherit font styles in all browsers.
235
+ 2. Remove border radius in all browsers.
236
+ 3. Remove background color in all browsers.
237
+ 4. Ensure consistent opacity for disabled states in all browsers.
238
+ */
239
+ button,
240
+ input,
241
+ select,
242
+ optgroup,
243
+ textarea,
162
244
  ::file-selector-button {
163
- font: inherit;
164
- font-feature-settings: inherit;
165
- font-variation-settings: inherit;
166
- letter-spacing: inherit;
167
- color: inherit;
168
- opacity: 1;
169
- background-color: #0000;
170
- border-radius: 0;
171
- }
172
-
245
+ font: inherit; /* 1 */
246
+ font-feature-settings: inherit; /* 1 */
247
+ font-variation-settings: inherit; /* 1 */
248
+ letter-spacing: inherit; /* 1 */
249
+ color: inherit; /* 1 */
250
+ border-radius: 0; /* 2 */
251
+ background-color: transparent; /* 3 */
252
+ opacity: 1; /* 4 */
253
+ }
254
+
255
+ /*
256
+ Restore default font weight.
257
+ */
173
258
  :where(select:is([multiple], [size])) optgroup {
174
259
  font-weight: bolder;
175
260
  }
176
261
 
262
+ /*
263
+ Restore indentation.
264
+ */
177
265
  :where(select:is([multiple], [size])) optgroup option {
178
266
  padding-inline-start: 20px;
179
267
  }
180
268
 
269
+ /*
270
+ Restore space after button.
271
+ */
181
272
  ::file-selector-button {
182
273
  margin-inline-end: 4px;
183
274
  }
184
275
 
276
+ /*
277
+ Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
278
+ */
185
279
  ::placeholder {
186
280
  opacity: 1;
187
281
  }
188
282
 
189
- @supports (contain-intrinsic-size: 1px) {
283
+ /*
284
+ Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
285
+ crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
286
+ */
287
+ @supports (contain-intrinsic-size: 1px) /* Safari 17+ */ {
190
288
  ::placeholder {
191
289
  color: color-mix(in oklab, currentcolor 50%, transparent);
192
290
  }
193
291
  }
194
292
 
293
+ /*
294
+ Prevent resizing textareas horizontally by default.
295
+ */
195
296
  textarea {
196
297
  resize: vertical;
197
298
  }
198
299
 
300
+ /*
301
+ Remove the inner padding in Chrome and Safari on macOS.
302
+ */
199
303
  ::-webkit-search-decoration {
200
304
  -webkit-appearance: none;
201
305
  }
202
306
 
307
+ /*
308
+ 1. Ensure date/time inputs have the same height when empty in iOS Safari.
309
+ 2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
310
+ */
203
311
  ::-webkit-date-and-time-value {
204
- min-height: 1lh;
205
- text-align: inherit;
312
+ min-height: 1lh; /* 1 */
313
+ text-align: inherit; /* 2 */
206
314
  }
207
315
 
316
+ /*
317
+ Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
318
+ */
208
319
  ::-webkit-datetime-edit-fields-wrapper {
209
320
  padding: 0;
210
321
  }
211
322
 
212
- ::-webkit-datetime-edit-year-field {
213
- padding-block: 0;
214
- }
215
-
216
- ::-webkit-datetime-edit-month-field {
217
- padding-block: 0;
218
- }
219
-
220
- ::-webkit-datetime-edit-day-field {
221
- padding-block: 0;
222
- }
223
-
323
+ ::-webkit-datetime-edit-year-field,
324
+ ::-webkit-datetime-edit-month-field,
325
+ ::-webkit-datetime-edit-day-field,
224
326
  ::-webkit-datetime-edit-hour-field {
225
327
  padding-block: 0;
226
328
  }
227
329
 
330
+ /*
331
+ Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
332
+ */
228
333
  ::-webkit-calendar-picker-indicator {
229
334
  line-height: 1;
230
335
  }
231
336
 
337
+ /*
338
+ Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
339
+ */
232
340
  :-moz-ui-invalid {
233
341
  box-shadow: none;
234
342
  }
235
343
 
236
- button, input:where([type="button"], [type="reset"], [type="submit"]) {
237
- appearance: button;
238
- }
239
-
344
+ /*
345
+ Correct the inability to style the border radius in iOS Safari.
346
+ */
347
+ button,
348
+ input:where([type='button'], [type='reset'], [type='submit']),
240
349
  ::file-selector-button {
241
350
  appearance: button;
242
351
  }
243
352
 
244
- ::-webkit-inner-spin-button {
245
- height: auto;
246
- }
247
-
353
+ /*
354
+ Correct the cursor style of increment and decrement buttons in Safari.
355
+ */
356
+ ::-webkit-inner-spin-button,
248
357
  ::-webkit-outer-spin-button {
249
358
  height: auto;
250
359
  }
251
360
 
252
- [hidden]:where(:not([hidden="until-found"])) {
361
+ /*
362
+ Make elements with the HTML hidden attribute stay hidden by default.
363
+ */
364
+ [hidden]:where(:not([hidden='until-found'])) {
253
365
  display: none !important;
254
366
  }
255
- }
256
-
367
+ }
@@ -2,5 +2,4 @@
2
2
  --moduix-shadow-sm: 0 2px 4px 0 #0000001a, 0 1px 2px -1px #0000001a;
3
3
  --moduix-shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
4
4
  --moduix-shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
5
- }
6
-
5
+ }
@@ -1,8 +1,11 @@
1
+ /*
2
+ * Control sizes (Input, Button, Select, etc.)
3
+ * Keeps elements in the same row at a consistent height.
4
+ */
1
5
  :root {
2
6
  --moduix-size-xs: 24px;
3
7
  --moduix-size-sm: 32px;
4
8
  --moduix-size-md: 36px;
5
9
  --moduix-size-lg: 40px;
6
10
  --moduix-size-xl: 48px;
7
- }
8
-
11
+ }
@@ -1,4 +1,5 @@
1
1
  :root {
2
+ /* Primitives */
2
3
  --moduix-spacing-0: 0px;
3
4
  --moduix-spacing-1: 4px;
4
5
  --moduix-spacing-0-5: calc((var(--moduix-spacing-0) + var(--moduix-spacing-1)) / 2);
@@ -14,11 +15,12 @@
14
15
  --moduix-spacing-7: calc((var(--moduix-spacing-6) + var(--moduix-spacing-8)) / 2);
15
16
  --moduix-spacing-8: 32px;
16
17
  --moduix-spacing-10: 40px;
17
- --moduix-spacing-xs: var(--moduix-spacing-1);
18
- --moduix-spacing-sm: var(--moduix-spacing-2);
19
- --moduix-spacing-md: var(--moduix-spacing-3);
20
- --moduix-spacing-lg: var(--moduix-spacing-4);
21
- --moduix-spacing-xl: var(--moduix-spacing-5);
22
- --moduix-spacing-2xl: var(--moduix-spacing-6);
23
- }
24
18
 
19
+ /* Semantic (for components; use primitives directly for larger values) */
20
+ --moduix-spacing-xs: var(--moduix-spacing-1); /* 4px */
21
+ --moduix-spacing-sm: var(--moduix-spacing-2); /* 8px */
22
+ --moduix-spacing-md: var(--moduix-spacing-3); /* 12px */
23
+ --moduix-spacing-lg: var(--moduix-spacing-4); /* 16px */
24
+ --moduix-spacing-xl: var(--moduix-spacing-5); /* 20px */
25
+ --moduix-spacing-2xl: var(--moduix-spacing-6); /* 24px */
26
+ }
@@ -1,14 +1,14 @@
1
1
  @layer moduix.reset, moduix.tokens, moduix.base, moduix.components;
2
- @import "./animations.css" layer(moduix.tokens);
3
- @import "./borders.css" layer(moduix.tokens);
4
- @import "./colors.css" layer(moduix.tokens);
5
- @import "./opacity.css" layer(moduix.tokens);
6
- @import "./radius.css" layer(moduix.tokens);
7
- @import "./shadows.css" layer(moduix.tokens);
8
- @import "./sizing.css" layer(moduix.tokens);
9
- @import "./spacing.css" layer(moduix.tokens);
10
- @import "./transforms.css" layer(moduix.tokens);
11
- @import "./transitions.css" layer(moduix.tokens);
12
- @import "./typography.css" layer(moduix.tokens);
13
- @import "./z-index.css" layer(moduix.tokens);
14
2
 
3
+ @import './animations.css' layer(moduix.tokens);
4
+ @import './borders.css' layer(moduix.tokens);
5
+ @import './colors.css' layer(moduix.tokens);
6
+ @import './opacity.css' layer(moduix.tokens);
7
+ @import './radius.css' layer(moduix.tokens);
8
+ @import './shadows.css' layer(moduix.tokens);
9
+ @import './sizing.css' layer(moduix.tokens);
10
+ @import './spacing.css' layer(moduix.tokens);
11
+ @import './transforms.css' layer(moduix.tokens);
12
+ @import './transitions.css' layer(moduix.tokens);
13
+ @import './typography.css' layer(moduix.tokens);
14
+ @import './z-index.css' layer(moduix.tokens);
@@ -1,5 +1,4 @@
1
1
  :root {
2
- --moduix-scale-popup: .9;
3
- --moduix-scale-dropdown: .95;
4
- }
5
-
2
+ --moduix-scale-popup: 0.9; /* overlays: dialog, popover, tooltip, menu, hover-card, toast, nav-menu */
3
+ --moduix-scale-dropdown: 0.95; /* dropdown lists: select, combobox */
4
+ }
@@ -1,14 +1,19 @@
1
1
  :root {
2
- --moduix-duration-fast: .15s;
3
- --moduix-duration-normal: .2s;
4
- --moduix-duration-slow: .35s;
5
- --moduix-duration-slower: .45s;
6
- --moduix-ease-in: cubic-bezier(.4, 0, 1, 1);
7
- --moduix-ease-out: cubic-bezier(0, 0, .2, 1);
8
- --moduix-ease-in-out: cubic-bezier(.4, 0, .2, 1);
2
+ /* Duration */
3
+ --moduix-duration-fast: 150ms;
4
+ --moduix-duration-normal: 200ms;
5
+ --moduix-duration-slow: 350ms;
6
+ --moduix-duration-slower: 450ms;
7
+
8
+ /* Easing */
9
+ --moduix-ease-in: cubic-bezier(0.4, 0, 1, 1);
10
+ --moduix-ease-out: cubic-bezier(0, 0, 0.2, 1);
11
+ --moduix-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
9
12
  --moduix-ease-standard: ease;
10
- --moduix-ease-spring: cubic-bezier(.32, .72, 0, 1);
11
- --moduix-ease-emphasized: cubic-bezier(.22, 1, .36, 1);
13
+ --moduix-ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
14
+ --moduix-ease-emphasized: cubic-bezier(0.22, 1, 0.36, 1);
15
+
16
+ /* Composed (shorthand) */
12
17
  --moduix-transition-default: var(--moduix-duration-normal) var(--moduix-ease-in-out);
13
18
  --moduix-transition-fast: var(--moduix-duration-fast) var(--moduix-ease-in-out);
14
19
  --moduix-transition-slow: var(--moduix-duration-slow) var(--moduix-ease-in-out);
@@ -19,10 +24,9 @@
19
24
 
20
25
  @media (prefers-reduced-motion: reduce) {
21
26
  :root {
22
- --moduix-duration-fast: .01ms;
23
- --moduix-duration-normal: .01ms;
24
- --moduix-duration-slow: .01ms;
25
- --moduix-duration-slower: .01ms;
27
+ --moduix-duration-fast: 0.01ms;
28
+ --moduix-duration-normal: 0.01ms;
29
+ --moduix-duration-slow: 0.01ms;
30
+ --moduix-duration-slower: 0.01ms;
26
31
  }
27
- }
28
-
32
+ }
@@ -1,12 +1,19 @@
1
1
  :root {
2
- --moduix-font-sans: "Noto Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
3
- "Segoe UI Symbol", "Noto Color Emoji";
4
- --moduix-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
2
+ /* Font-family */
3
+ --moduix-font-sans:
4
+ 'Noto Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
5
+ 'Segoe UI Symbol', 'Noto Color Emoji';
6
+ --moduix-font-mono:
7
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
5
8
  monospace;
9
+
10
+ /* Weight */
6
11
  --moduix-weight-regular: 400;
7
12
  --moduix-weight-medium: 500;
8
13
  --moduix-weight-semibold: 600;
9
14
  --moduix-weight-bold: 700;
15
+
16
+ /* Font-size */
10
17
  --moduix-text-xs: 12px;
11
18
  --moduix-text-sm: 14px;
12
19
  --moduix-text-md: 16px;
@@ -14,6 +21,8 @@
14
21
  --moduix-text-xl: 20px;
15
22
  --moduix-text-2xl: 24px;
16
23
  --moduix-text-3xl: 30px;
24
+
25
+ /* Line-height */
17
26
  --moduix-line-height-text-xs: 16px;
18
27
  --moduix-line-height-text-sm: 20px;
19
28
  --moduix-line-height-text-md: 24px;
@@ -21,7 +30,8 @@
21
30
  --moduix-line-height-text-xl: 28px;
22
31
  --moduix-line-height-text-2xl: 32px;
23
32
  --moduix-line-height-text-3xl: 36px;
24
- --moduix-tracking-text-sm: -.01em;
25
- --moduix-tracking-text-xs: -.016em;
26
- }
27
33
 
34
+ /* Letter-spacing */
35
+ --moduix-tracking-text-sm: -0.01em; /* -1% */
36
+ --moduix-tracking-text-xs: -0.016em; /* -1.6% */
37
+ }
@@ -5,9 +5,9 @@
5
5
  --moduix-z-md: 20;
6
6
  --moduix-z-lg: 30;
7
7
  --moduix-z-xl: 40;
8
+
8
9
  --moduix-z-backdrop: 40;
9
10
  --moduix-z-modal: 50;
10
11
  --moduix-z-popup: 60;
11
12
  --moduix-z-toast: 70;
12
- }
13
-
13
+ }