@nordcode/ui 1.0.12 → 1.1.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.
@@ -8,11 +8,5 @@
8
8
 
9
9
  --input-height-base: 2.5rem;
10
10
  --input-height-small: 2rem;
11
-
12
- --triangle-down-url-dark: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 84L12.7609 19.5L87.2391 19.5L50 84Z' fill='%23fff4f5'/%3E%3C/svg%3E");
13
- --triangle-up-url-dark: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 16L87.2391 80.5H12.7609L50 16Z' fill='%23fff4f5'/%3E%3C/svg%3E%0A");
14
-
15
- --triangle-down-url-light: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 84L12.7609 19.5L87.2391 19.5L50 84Z' fill='%231a0004'/%3E%3C/svg%3E");
16
- --triangle-up-url-light: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 16L87.2391 80.5H12.7609L50 16Z' fill='%231a0004'/%3E%3C/svg%3E%0A");
17
11
  }
18
12
  }
@@ -11,7 +11,7 @@
11
11
  color-scheme: dark;
12
12
  }
13
13
 
14
- :where(*) {
14
+ :where(:root) {
15
15
  --l-brand-primary: light-dark(var(--l-brand-primary-light), var(--l-brand-primary-dark));
16
16
 
17
17
  --color-brand-primary-emphasis: light-dark(var(--color-brand-primary-emphasis-light),
@@ -1,4 +1,10 @@
1
1
  @layer base {
2
+ :where(:root) {
3
+ accent-color: var(--color-brand-primary-base);
4
+ caret-color: var(--color-brand-primary-base);
5
+ scrollbar-color: var(--color-text-subtle) transparent;
6
+ }
7
+
2
8
  :where(dt) {
3
9
  font-weight: var(--font-weight-active);
4
10
  color: var(--color-text-base);
@@ -69,9 +75,6 @@
69
75
 
70
76
  :where(figcaption) {
71
77
  display: block;
72
- font-family: var(--font-family-sans);
73
- font-weight: var(--font-weight-default);
74
- line-height: var(--line-height-base);
75
78
  color: var(--color-surface-subtle);
76
79
  background-color: var(--color-text-base);
77
80
  padding: 0.3lh 1ch;
@@ -79,33 +82,28 @@
79
82
 
80
83
  :where(details) {
81
84
  --p-x-details: 2ch;
82
- --p-y-details: 0.75lh;
85
+ --p-y-details: 0.8lh;
83
86
 
84
- inline-size: 100%;
85
- background-color: var(--color-surface-subtle);
87
+ background-color: var(--color-surface-muted);
86
88
  border-radius: var(--border-radius-medium);
87
89
  border: var(--border-width-thin) solid var(--color-border-base);
90
+ padding: var(--p-y-details) var(--p-x-details);
91
+ inline-size: 100%;
88
92
 
89
- &>* {
90
- padding-inline: var(--p-x-details);
91
- }
92
-
93
- &>*:last-child {
94
- padding-block-end: var(--p-y-details);
93
+ & > summary {
94
+ color: var(--color-text-base);
95
+ background: var(--color-surface-subtle);
96
+ border-radius: var(--border-radius-medium);
97
+ font-weight: var(--font-weight-heading);
98
+ padding: var(--p-y-details) var(--p-x-details);
99
+ margin: calc(-1 * var(--p-y-details))
100
+ calc(-1 * var(--p-x-details) + var(--border-width-thin));
95
101
  }
96
102
 
97
- &>summary::-webkit-details-marker {
98
- display: none;
99
- }
100
-
101
- &>summary {
102
- list-style: none;
103
- cursor: pointer;
104
- color: var(--color-text-base);
105
- inline-size: 100%;
106
- font-weight: var(--font-weight-strong);
107
- padding-inline: var(--p-x-details);
108
- padding-block: var(--p-y-details);
103
+ &[open] > summary {
104
+ border-end-start-radius: 0;
105
+ border-end-end-radius: 0;
106
+ margin-block-end: var(--p-y-details);
109
107
  }
110
108
  }
111
109
 
@@ -139,9 +137,11 @@
139
137
  margin-block-start: var(--spacing-near);
140
138
  font-size: var(--font-size-base);
141
139
  max-inline-size: max-content;
142
- color: color-mix(in oklch,
143
- currentColor calc(var(--transparency-weaker) * 100%),
144
- transparent);
140
+ color: color-mix(
141
+ in oklch,
142
+ currentColor calc(var(--transparency-weaker) * 100%),
143
+ transparent
144
+ );
145
145
  }
146
146
 
147
147
  & cite:before {
@@ -157,8 +157,9 @@
157
157
 
158
158
  :where(hr) {
159
159
  inline-size: 100%;
160
- block-size: 0;
161
- border-top: var(--border-width-medium) solid var(--color-border-base);
160
+ block-size: var(--border-width-medium);
161
+ background: var(--color-border-base);
162
+ border-block-start: 0;
162
163
  }
163
164
 
164
165
  :where(h1, h2, h3, h4, h5, h6) {
@@ -236,6 +237,10 @@
236
237
  font-weight: var(--font-weight-default);
237
238
  }
238
239
 
240
+ :where(abbr) {
241
+ text-decoration-color: var(--color-brand-primary-base);
242
+ }
243
+
239
244
  :where([aria-disabled="true"], .disabled, :disabled) {
240
245
  color: inherit;
241
246
  opacity: 1;
@@ -402,10 +407,10 @@
402
407
  }
403
408
 
404
409
  :where(li + li) {
405
- margin-top: 0.5lh;
410
+ margin-block-start: 0.5lh;
406
411
  }
407
412
 
408
413
  :where(li > :is(ul, ol)) {
409
- margin-top: 0.5lh;
414
+ margin-block-start: 0.3lh;
410
415
  }
411
416
  }
@@ -55,7 +55,7 @@
55
55
 
56
56
  :where(.nc-flow) {
57
57
  >*+* {
58
- margin-block-start: var(--flow-gap, 0.6lh);
58
+ margin-block-start: var(--flow-gap, 0.8lh);
59
59
  }
60
60
 
61
61
  >* {
@@ -67,17 +67,12 @@
67
67
  --flow-gap: 1.3lh;
68
68
  }
69
69
 
70
- >*:is(h1, h2, h3, h4, h5, h6)+p {
71
- --flow-gap: 0.5lh;
72
- }
73
-
74
- >p+p {
75
- --flow-gap: 0.8lh;
70
+ >*:is(h1, h2, h3, h4, h5, h6)+ :not([class]) {
71
+ --flow-gap: 0.3lh;
76
72
  }
77
73
 
78
74
  >figure {
79
75
  margin-inline: 0;
80
- margin-block: 1lh;
81
76
  }
82
77
 
83
78
  .breakAfter {
@@ -1,13 +1,8 @@
1
1
  @layer reset {
2
-
3
2
  *,
4
3
  :after,
5
4
  :before {
6
5
  box-sizing: border-box;
7
- accent-color: var(--color-brand-primary-base);
8
- font-kerning: normal;
9
- -moz-osx-font-smoothing: grayscale;
10
- -webkit-font-smoothing: antialiased;
11
6
  }
12
7
 
13
8
  :where(:not(dialog)) {
@@ -21,11 +16,17 @@
21
16
  background-repeat: no-repeat;
22
17
  }
23
18
 
24
- :where(:focus-visible) {
25
- transition: outline-offset var(--transition-duration-short) var(--ease-2);
19
+ @media (prefers-reduced-motion: no-preference) {
20
+ :where(:focus-visible) {
21
+ transition: outline-offset var(--transition-duration-short) var(--ease-2);
22
+ }
23
+
24
+ :where(:not(:active):focus-visible) {
25
+ transition-duration: var(--transition-duration-base);
26
+ }
26
27
  }
27
28
 
28
- :where(:focus-visible, :focus) {
29
+ :where(:not(:active):focus-visible) {
29
30
  outline: var(--border-width-medium) solid var(--color-brand-primary-base);
30
31
  outline-offset: 1ch;
31
32
  }
@@ -34,26 +35,27 @@
34
35
  outline: none;
35
36
  }
36
37
 
37
- :where(html) {
38
+ :where(:root) {
38
39
  -moz-text-size-adjust: none;
39
40
  -webkit-text-size-adjust: none;
40
41
  text-size-adjust: none;
41
42
  block-size: 100%;
42
- }
43
-
44
- :where(body) {
43
+ color: var(--color-text-base);
44
+ background-color: var(--color-surface-muted);
45
45
  font-family: var(--font-family-default);
46
+ line-height: var(--line-height-base);
46
47
  font-weight: var(--font-weight-default);
47
48
  font-size-adjust: from-font;
48
- line-height: var(--line-height-base);
49
- color: var(--color-text-base);
50
- background-color: var(--color-surface-muted);
51
- min-block-size: 100vh;
49
+
50
+ interpolate-size: allow-keywords;
51
+
52
+ font-kerning: normal;
53
+ -moz-osx-font-smoothing: grayscale;
54
+ -webkit-font-smoothing: antialiased;
52
55
  }
53
56
 
54
- /* Remove default margin in favour of better control in authored CSS */
55
- :where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd) {
56
- margin: 0;
57
+ :where(body) {
58
+ min-block-size: 100vh;
57
59
  }
58
60
 
59
61
  /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
@@ -82,21 +84,44 @@
82
84
  }
83
85
 
84
86
  :where(figure) {
85
- display: flex;
86
- flex-direction: column;
87
+ display: grid;
88
+ place-content: center;
89
+ grid-template-rows: 1fr auto;
87
90
  gap: 0;
88
91
  }
89
92
 
90
- :where(a[href],
91
- area,
92
- button,
93
- input,
94
- label[for],
95
- select,
96
- summary,
97
- textarea,
98
- [tabindex]:not([tabindex*="-"])) {
93
+ :where(
94
+ a[href],
95
+ area,
96
+ button,
97
+ input:not(
98
+ [type="text"],
99
+ [type="email"],
100
+ [type="number"],
101
+ [type="password"],
102
+ [type=""],
103
+ [type="tel"],
104
+ [type="url"]
105
+ ),
106
+ label[for],
107
+ select,
108
+ summary,
109
+ [tabindex]:not([tabindex*="-"], pre)
110
+ ) {
99
111
  cursor: pointer;
112
+ }
113
+
114
+ :where(
115
+ a[href],
116
+ area,
117
+ button,
118
+ input,
119
+ label[for],
120
+ select,
121
+ summary,
122
+ textarea,
123
+ [tabindex]:not([tabindex*="-"])
124
+ ) {
100
125
  touch-action: manipulation;
101
126
  -webkit-tap-highlight-color: transparent;
102
127
  }
@@ -108,19 +133,10 @@
108
133
  letter-spacing: inherit;
109
134
  }
110
135
 
111
- :where(label:not(class) + input, label:not(class) + select, label:not(class) + textarea) {
112
- display: block;
113
- }
114
-
115
- :where(p, summary) {
116
- max-inline-size: var(--measure-base);
117
- font-size: inherit;
118
- line-height: var(--line-height-base);
119
- margin: 0;
120
- }
121
-
122
136
  :where(p) {
137
+ text-wrap: balance;
123
138
  text-wrap: pretty;
139
+ max-inline-size: var(--measure-base);
124
140
  }
125
141
 
126
142
  :where(html):has(dialog:modal) {