@nordcode/ui 2.2.0 → 2.2.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.
Files changed (74) hide show
  1. package/CHANGELOG.md +65 -53
  2. package/package.json +79 -79
  3. package/src/assets/icons/ArrowRightSolid.svelte +0 -0
  4. package/src/assets/icons/arrow-right-solid.svg +0 -0
  5. package/src/styles/components/inputs/base.css +4 -0
  6. package/src/styles/utils/theme.css +1 -1
  7. package/.idea/copilot.data.migration.agent.xml +0 -6
  8. package/.idea/copilot.data.migration.ask.xml +0 -6
  9. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  10. package/.idea/copilot.data.migration.edit.xml +0 -6
  11. package/.idea/modules.xml +0 -8
  12. package/.idea/ui.iml +0 -9
  13. package/.idea/vcs.xml +0 -6
  14. package/out/bundle.css +0 -1469
  15. package/out/bundle_configless.css +0 -1253
  16. package/out/colors.css +0 -82
  17. package/out/complete.css +0 -2867
  18. package/out/complete_configless.css +0 -2651
  19. package/out/src/assets/fonts/DMMono-Regular.woff +0 -0
  20. package/out/src/assets/fonts/DMMono-Regular.woff2 +0 -0
  21. package/out/src/assets/fonts/fonts.css +0 -7
  22. package/out/src/assets/icons/ArrowRightSolid.svelte +0 -1
  23. package/out/src/assets/icons/arrow-right-solid.svg +0 -1
  24. package/out/src/assets/icons/favicon.png +0 -0
  25. package/out/src/assets/icons/favicon.svg +0 -8
  26. package/out/src/assets/logos/nordcode-logo-icon.svg +0 -3
  27. package/out/src/assets/logos/nordcode-logo.svg +0 -17
  28. package/out/src/modules/copyButtons/ts/copyButtons.ts +0 -9
  29. package/out/src/modules/dialogs/svelte/dialog.svelte +0 -27
  30. package/out/src/modules/dialogs/ts/LICENCE +0 -171
  31. package/out/src/modules/dialogs/ts/dialogs.ts +0 -111
  32. package/out/src/modules/notifications/js/notifications.js +0 -294
  33. package/out/src/modules/notifications/svelte/NotificationCenter.svelte +0 -18
  34. package/out/src/modules/notifications/svelte/NotificationTemplate.svelte +0 -16
  35. package/out/src/modules/sectionObserver/ts/sectionOberserver.ts +0 -34
  36. package/out/src/styles/bundle.css +0 -7
  37. package/out/src/styles/bundle_configless.css +0 -5
  38. package/out/src/styles/complete.css +0 -5
  39. package/out/src/styles/complete_configless.css +0 -5
  40. package/out/src/styles/components/alerts.css +0 -20
  41. package/out/src/styles/components/badges.css +0 -14
  42. package/out/src/styles/components/breadcrumbs.css +0 -37
  43. package/out/src/styles/components/bundle.css +0 -13
  44. package/out/src/styles/components/buttons.css +0 -260
  45. package/out/src/styles/components/card.css +0 -55
  46. package/out/src/styles/components/dialogs.css +0 -138
  47. package/out/src/styles/components/forms.css +0 -41
  48. package/out/src/styles/components/gallery.css +0 -66
  49. package/out/src/styles/components/icons.css +0 -60
  50. package/out/src/styles/components/inputs/base.css +0 -249
  51. package/out/src/styles/components/inputs/bundle.css +0 -5
  52. package/out/src/styles/components/inputs/fields.css +0 -76
  53. package/out/src/styles/components/inputs/segmented.css +0 -114
  54. package/out/src/styles/components/inputs/switch.css +0 -42
  55. package/out/src/styles/components/inputs/tag-select.css +0 -41
  56. package/out/src/styles/components/lists.css +0 -40
  57. package/out/src/styles/components/notifications.css +0 -135
  58. package/out/src/styles/components/tables.css +0 -7
  59. package/out/src/styles/config/bundle.css +0 -2
  60. package/out/src/styles/config/config.css +0 -700
  61. package/out/src/styles/config/extras.css +0 -12
  62. package/out/src/styles/exceptions/bundle.css +0 -3
  63. package/out/src/styles/exceptions/misc.css +0 -21
  64. package/out/src/styles/exceptions/spacings.css +0 -15
  65. package/out/src/styles/exceptions/typography.css +0 -57
  66. package/out/src/styles/theme/colors.css +0 -165
  67. package/out/src/styles/theme/colors_processed.css +0 -87
  68. package/out/src/styles/utils/base.css +0 -415
  69. package/out/src/styles/utils/bundle.css +0 -6
  70. package/out/src/styles/utils/easings.css +0 -364
  71. package/out/src/styles/utils/layouts.css +0 -281
  72. package/out/src/styles/utils/media.css +0 -55
  73. package/out/src/styles/utils/reset.css +0 -145
  74. package/out/src/styles/utils/theme.css +0 -125
@@ -1,260 +0,0 @@
1
- @layer components.buttons {
2
- .buttonReset {
3
- padding: 0;
4
- border: none;
5
- background: none;
6
- }
7
-
8
- :where(button:not([class]),
9
- button[type]:not([class]),
10
- input[type='button']:not([class]),
11
- input[type='submit']:not([class]),
12
- input[type='reset']:not([class]),
13
- input[type='file']:not([class]),
14
- input[type='file']:not([class])::-webkit-file-upload-button,
15
- input[type='file']:not([class])::file-selector-button,
16
- .nc-button) {
17
- --_button-background: var(--button-background, var(--surface-hover));
18
- --_button-color: var(--button-color, var(--text-hover));
19
- --_button-border-color: var(--button-border-color, var(--surface-hover));
20
- --_button-border-radius: var(--button-border-radius, var(--border-radius-medium));
21
-
22
- --_button-background-hover: var(--button-background-hover, var(--surface));
23
- --_button-background-hover-light: var(--button-background-hover-light,
24
- color-mix(in oklch,
25
- currentColor calc(var(--transparency-weaker) * 10%),
26
- transparent));
27
- --_button-color-hover: var(--button-color-hover, var(--text));
28
- --_button-border-color-hover: var(--button-border-color-hover,
29
- var(--border));
30
-
31
- --_button-box-shadow: var(--button-box-shadow, var(--shadow-near));
32
- --_button-hover-shadow: var(--button-hover-shadow, var(--shadow-nearest));
33
-
34
- --_button-padding-inline: var(--button-padding-inline, 1ch);
35
-
36
- background-color: var(--_button-background);
37
- color: var(--_button-color);
38
- border: var(--border-width-thin) solid var(--_button-border-color);
39
- border-radius: var(--_button-border-radius);
40
- padding-inline: var(--_button-padding-inline);
41
- min-block-size: var(--button-height-base);
42
- padding-block: 0;
43
- font-family: var(--font-family-button);
44
- letter-spacing: var(--tracking-tight);
45
- font-weight: var(--font-weight-default);
46
- font-size: inherit;
47
- cursor: pointer;
48
- display: inline-flex;
49
- box-sizing: border-box;
50
- align-items: center;
51
- justify-content: center;
52
- text-align: center;
53
- position: relative;
54
- transition: var(--transition-duration-base) var(--ease-2);
55
- transition-property: box-shadow, transform;
56
- text-decoration: unset;
57
- box-shadow: var(--_button-box-shadow);
58
- user-select: none;
59
- -webkit-tap-highlight-color: transparent;
60
- -webkit-touch-callout: none;
61
-
62
- line-height: var(--line-height-base);
63
- }
64
-
65
- :where(button:not([class]),
66
- button[type]:not([class]),
67
- input[type='button']:not([class]),
68
- input[type='submit']:not([class]),
69
- input[type='reset']:not([class]),
70
- .nc-button) {
71
- &:hover {
72
- background: var(--_button-background-hover);
73
- color: var(--_button-color-hover);
74
- border-color: var(--_button-border-color-hover);
75
- box-shadow: var(--_button-hover-shadow);
76
- }
77
-
78
- &[aria-pressed='true'] {
79
- box-shadow: none;
80
- transform: none;
81
- font-weight: var(--font-weight-active);
82
- }
83
-
84
- &:active {
85
- box-shadow: none;
86
- transform: none;
87
- }
88
-
89
- &[disabled] {
90
- --_button-background: none !important;
91
- --_button-background-hover: none !important;
92
- --_button-color: var(--color-text-subtle) !important;
93
- --_button-color-hover: var(--_button-color) !important;
94
- --_button-border-color: var(--color-text-subtle) !important;
95
- --_button-border-color-hover: var(--_button-border-color);
96
-
97
- box-shadow: none !important;
98
- transform: none !important;
99
- filter: contrast(0.72) opacity(0.72);
100
- cursor: not-allowed;
101
- }
102
-
103
- &.-active {
104
- background-color: var(--_button-background-hover);
105
- color: var(--_button-color-hover);
106
- border-color: var(--_button-border-color-hover);
107
-
108
- box-shadow: none;
109
- transform: none;
110
- }
111
-
112
- &.-outline {
113
- background-color: transparent;
114
- color: var(--text);
115
- border-color: var(--border);
116
-
117
- &:hover {
118
- background-color: var(--_button-background-hover-light);
119
- color: var(--text);
120
- border-color: var(--border-hover);
121
- }
122
- }
123
-
124
- &.-stealth {
125
- background-color: transparent;
126
- border-color: transparent;
127
- color: var(--text);
128
-
129
- &:hover {
130
- background-color: var(--_button-background-hover-light);
131
- color: var(--text);
132
- border-color: transparent;
133
- }
134
-
135
- box-shadow: none !important;
136
- transform: none !important;
137
- }
138
-
139
- &.-small {
140
- --_button-padding-inline: 1ch;
141
- min-block-size: var(--button-height-small);
142
- }
143
-
144
- &.-round {
145
- --_button-border-radius: var(--border-radius-round);
146
- }
147
-
148
- &.-offset {
149
- --_button-offset-distance: var(--button-offset-distance, -0.1lh);
150
- --_button-offset-distance-hover: var(--button-offset-distance-hover, -0.05lh);
151
-
152
- --_button-transform: translate(var(--_button-offset-distance),
153
- var(--_button-offset-distance));
154
- --_button-hover-transform: translate(var(--_button-offset-distance-hover),
155
- var(--_button-offset-distance-hover));
156
-
157
- --button-box-shadow: calc(var(--_button-offset-distance) / -2) calc(var(--_button-offset-distance) / -2) 0 0 var(--shadow-color),
158
- calc(var(--_button-offset-distance) * -1) calc(var(--_button-offset-distance) * -1) 0 0 var(--shadow-color),
159
- calc(var(--_button-offset-distance) * -1) calc(var(--_button-offset-distance) * -1) calc(var(--_button-offset-distance) * -2) 0 var(--shadow-color);
160
-
161
- --button-hover-shadow: calc(var(--_button-offset-distance-hover) * -1) calc(var(--_button-offset-distance-hover) * -1) 0 0 var(--shadow-color),
162
- calc(var(--_button-offset-distance-hover) * -1) calc(var(--_button-offset-distance-hover) * -1) calc(var(--_button-offset-distance-hover) / -2) 0 var(--shadow-color);
163
-
164
- inset-block-start: calc(var(--_button-offset-distance) * -1);
165
- inset-inline-start: calc(var(--_button-offset-distance) * -1);
166
- transform: var(--_button-transform);
167
-
168
- &:hover {
169
- transform: var(--_button-hover-transform);
170
- }
171
- }
172
-
173
- /*
174
- * for inline icons
175
- */
176
-
177
- &:has(svg) {
178
- gap: 0.5ch;
179
- }
180
-
181
- /*
182
- * If there is no text node for the button,
183
- * it is assumed that an `aria-label` is that
184
- * and the button will be styled as an icon button.
185
- */
186
-
187
- &[aria-label],
188
- &.-icon {
189
- --_button-border-radius: var(--border-radius-round);
190
- padding: 0;
191
- aspect-ratio: 1;
192
- fill: currentColor;
193
-
194
- &:after {
195
- content: '';
196
- inline-size: max(var(--button-height-base), 100%);
197
- block-size: max(var(--button-height-base), 100%);
198
- aspect-ratio: 1;
199
- border-radius: 100%;
200
- inset-inline-start: calc(-0.5 * (var(--button-height-base) - 100%));
201
- inset-block-start: calc(-0.5 * (var(--button-height-base) - 100%));
202
- position: absolute;
203
- z-index: -1;
204
- pointer-events: all;
205
- }
206
-
207
- &>svg {
208
- pointer-events: none;
209
- }
210
- }
211
-
212
- &.-icon.-small {
213
- padding: 0;
214
- }
215
-
216
- &.-aligned {
217
- margin-inline: calc(-1 * var(--_button-padding-inline));
218
- }
219
- }
220
-
221
- :where(input[type='file']:not([class])) {
222
- color: var(--_input-color);
223
- background-color: var(--_input-background);
224
- border: var(--_input-border);
225
- min-block-size: var(--button-height-base);
226
- padding-inline-end: 1ch;
227
- padding-inline-start: 0;
228
- border-radius: var(--_input-border-radius);
229
- }
230
-
231
- :where(input[type='file']:not([class]))::-webkit-file-upload-button,
232
- :where(input[type='file']:not([class]))::file-selector-button {
233
- background-color: var(--_button-background);
234
- color: var(--_button-color);
235
- padding-inline: var(--_button-padding-inline);
236
- margin-inline-end: 1ch;
237
- cursor: pointer;
238
- box-shadow: none;
239
- min-block-size: calc(var(--button-height-base) - var(--border-width-thin));
240
- border: none;
241
- border-inline-end: var(--border-width-thin) solid var(--color-border-base);
242
- transform: none;
243
- inset-block-start: 0;
244
- inset-inline-start: 0;
245
- border-start-end-radius: 0;
246
- border-end-end-radius: 0;
247
- }
248
-
249
- :where(button[type='reset']:not([class]), .nc-button.-destructive) {
250
- --text: var(--color-status-danger-emphasis);
251
- --color: var(--color-status-danger-base);
252
- --surface: var(--color-status-danger-surface);
253
- --border: var(--color-status-danger-base);
254
-
255
- --text-hover: var(--color-status-danger-contrast);
256
- --color-hover: var(--color-status-danger-contrast);
257
- --surface-hover: var(--color-status-danger-base);
258
- --border-hover: var(--color-status-danger-base);
259
- }
260
- }
@@ -1,55 +0,0 @@
1
- @layer components.cards {
2
- :where(.nc-card) {
3
- --_card-background-color: var(--card-background-color, var(--color-surface-base));
4
- --_card-color: var(--card-color, var(--color-text-base));
5
- --_card-border-color: var(--card-border-color, var(--color-border-base));
6
- --_card-shadow: var(--card-shadow, var(--shadow-medium));
7
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-base));
8
- --_card-padding-block: var(--card-padding-block, var(--spacing-far));
9
- --_card-border-radius: var(--card-border-radius, var(--border-radius-large));
10
-
11
- &[data-size="xs"] {
12
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-nearest));
13
- --_card-padding-block: var(--card-padding-block, var(--spacing-near));
14
- --_card-border-radius: var(--card-border-radius, var(--border-radius-medium));
15
- }
16
-
17
- &[data-size="sm"] {
18
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-near));
19
- --_card-padding-block: var(--card-padding-block, var(--spacing-base));
20
- }
21
-
22
- inline-size: 100%;
23
- display: inline-block;
24
- box-sizing: border-box;
25
- padding-inline: var(--_card-padding-inline);
26
- padding-block: var(--_card-padding-block);
27
- color: var(--_card-color);
28
- overflow: hidden;
29
-
30
- appearance: none;
31
- border: 1px solid var(--_card-border-color);
32
-
33
- background-color: var(--_card-background-color);
34
- border-radius: var(--_card-border-radius);
35
- box-shadow: var(--_card-shadow);
36
-
37
- transition: border-color var(--transition-duration-base) var(--ease-2);
38
-
39
- @media (width >= 480px) {
40
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-far));
41
- }
42
-
43
- @media (width >= 1024px) {
44
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-farthest));
45
- }
46
-
47
- &:is([href], button) {
48
- text-decoration: none;
49
-
50
- &:hover {
51
- border-color: var(--color-brand-primary-base);
52
- }
53
- }
54
- }
55
- }
@@ -1,138 +0,0 @@
1
- @layer components.dialogs {
2
- :where(.nc-dialog) {
3
- --_dialog-padding-inline: var(--dialog-padding-inline, var(--spacing-base));
4
- --_dialog-layout-padding: var(--layout-padding, var(--spacing-base));
5
- --_dialog-close-size: var(--dialog-close-size, var(--button-height-base));
6
- --_dialog-transition-duration: var(--dialog-transition-duration,
7
- var(--transition-duration-base));
8
- --_dialog-max-block-size: var(--dialog-max-block-size, 90dvh);
9
- --_dialog-max-inline-size: var(--dialog-max-inline-size, 28rem);
10
-
11
- --_dialog-radius: 0;
12
- display: block;
13
- z-index: var(--layer-important);
14
- animation: close-dialog var(--_dialog-transition-duration) cubic-bezier(0.7, 0, 1, 1) forwards;
15
- transition: opacity var(--_dialog-transition-duration) cubic-bezier(0.7, 0, 1, 1);
16
- position: fixed;
17
- inset: 0;
18
- border: var(--border-width-thin) solid var(--color-border-base);
19
- inline-size: 100dvw;
20
- block-size: max-content;
21
- max-inline-size: var(--_dialog-max-inline-size);
22
- max-block-size: 100dvh;
23
- background: var(--color-surface-base);
24
- margin: auto 0;
25
- padding: 0;
26
- border-radius: var(--_dialog-radius);
27
- overflow: clip;
28
- overflow-clip-margin: 1rem;
29
- pointer-events: all;
30
-
31
- @media (min-width: 36rem) {
32
- --_dialog-radius: var(--dialog-radius, var(--border-radius-medium));
33
- inline-size: calc(100dvw - 2 * var(--_dialog-layout-padding));
34
- max-block-size: var(--_dialog-max-block-size);
35
- margin-inline: auto;
36
- box-shadow: var(--shadow-medium);
37
- }
38
-
39
- &[open] {
40
- animation: open-dialog var(--_dialog-transition-duration) cubic-bezier(0, 0.6, 0.58, 1);
41
- }
42
-
43
- &:not([open]) {
44
- opacity: 0;
45
- pointer-events: none;
46
- }
47
-
48
- &::backdrop {
49
- background: rgba(0, 0, 0, 0.05);
50
- backdrop-filter: blur(3px);
51
- }
52
-
53
- :where(.dialog-container) {
54
- display: grid;
55
- grid-template:
56
- "header header" auto
57
- "content content" 1fr
58
- "footer footer" auto / 1fr 1fr;
59
- inline-size: 100%;
60
- block-size: max-content;
61
- max-block-size: var(--_dialog-max-block-size);
62
- overflow: clip;
63
- overflow-clip-margin: 1rem;
64
-
65
- &>*:first-child {
66
- border-radius: var(--_dialog-radius) var(--_dialog-radius) 0 0;
67
- }
68
-
69
- &>*:last-child {
70
- border-radius: 0 0 var(--_dialog-radius) var(--_dialog-radius);
71
- }
72
- }
73
-
74
- :where(.dialog-header) {
75
- grid-area: header;
76
- border-block-end: var(--border-width-thin) solid var(--color-border-muted);
77
- background-color: var(--color-surface-subtle);
78
- padding-inline: var(--_dialog-padding-inline);
79
- display: grid;
80
- grid-template: "title close" / 1fr var(--_dialog-close-size);
81
- align-items: flex-start;
82
- padding-block: var(--spacing-near);
83
- min-inline-size: calc(2 * var(--spacing-near) + var(--_dialog-close-size));
84
- }
85
-
86
- :where(.dialog-header)>button[data-closes-dialog] {
87
- grid-area: close;
88
- inline-size: var(--_dialog-close-size);
89
- block-size: var(--_dialog-close-size);
90
- }
91
-
92
- :where(.dialog-title) {
93
- font-size: var(--font-size-large);
94
- margin: 0;
95
- padding: 0;
96
- line-height: var(--_dialog-close-size);
97
- overflow-wrap: anywhere;
98
- }
99
-
100
- :where(.dialog-content) {
101
- grid-area: content;
102
- padding-inline: var(--_dialog-padding-inline);
103
- padding-block: var(--spacing-near);
104
- overflow: auto;
105
- }
106
-
107
- :where(.dialog-actions) {
108
- grid-area: footer;
109
- padding-inline: var(--_dialog-padding-inline);
110
- padding-block: var(--spacing-near);
111
- display: flex;
112
- justify-content: flex-end;
113
- align-items: flex-start;
114
- border-block-start: var(--border-width-thin) solid var(--color-border-muted);
115
- background-color: var(--color-surface-subtle);
116
- }
117
- }
118
-
119
- @keyframes open-dialog {
120
- from {
121
- transform: translate(0%, 100dvh) rotate(0deg);
122
- }
123
-
124
- to {
125
- transform: translate(0dvh, 0%) rotate(0deg);
126
- }
127
- }
128
-
129
- @keyframes close-dialog {
130
- from {
131
- transform: translate(0dvh, 0%) rotate(0deg);
132
- }
133
-
134
- to {
135
- transform: translate(0%, 100dvh) rotate(10deg);
136
- }
137
- }
138
- }
@@ -1,41 +0,0 @@
1
- @layer components.forms {
2
- :where(.nc-form) {
3
- inline-size: min(100%, var(--nc-form-max-inline-size, var(--measure-base)));
4
- }
5
-
6
- :where(.nc-form-title) {
7
- font-size: var(--font-size-largest);
8
- font-weight: var(--font-weight-heading);
9
- line-height: var(--line-height-small);
10
- color: var(--color-text-base);
11
- }
12
-
13
- :where(.nc-form-hint) {
14
- margin-block: 0.5lh;
15
- font-size: var(--font-size-large);
16
- color: var(--color-text-muted);
17
- }
18
-
19
- :where(fieldset:not([class]), .nc-fieldset) {
20
- border: none;
21
- margin: 0;
22
- padding: 0;
23
- min-inline-size: 0;
24
- }
25
-
26
- :where(legend:not([class]), .nc-legend) {
27
- padding: 0;
28
- border: none;
29
- border-radius: 0;
30
- inline-size: 100%;
31
-
32
- &+* {
33
- margin-block-start: var(--nc-legend-spacing, 0.8lh);
34
- }
35
- }
36
-
37
- :where(:is(fieldset:not([class]), .nc-fieldset):has( :is(.nc-legend + .nc-hint, legend:not([class]) + .nc-hint)) > :is(legend:not([class]), .nc-legend) + .nc-hint) {
38
- --nc-legend-spacing: .125lh;
39
- margin-block-end: 0.5lh;
40
- }
41
- }
@@ -1,66 +0,0 @@
1
- @layer components.gallery {
2
- /**
3
- * A horizontal stacked gallery that is scrollable when it overflows.
4
- *
5
- * @example ```html
6
- * <ul class="nc-gallery">
7
- * <li>First</li>
8
- * <li>Second</li>
9
- * <li>Third</li>
10
- * </ul>
11
- * ```
12
- */
13
- :where(.nc-gallery) {
14
- display: flex;
15
- flex-direction: row;
16
- gap: var(--gallery-gap, var(--spacing-base));
17
- margin: 0;
18
- max-inline-size: 100%;
19
- block-size: var(--gallery-size, auto);
20
- padding-block-end: var(--gallery-scrollbar-padding, var(--spacing-base));
21
- overflow-x: auto;
22
- overscroll-behavior-inline: contain;
23
- scroll-snap-type: inline mandatory;
24
- scroll-snap-stop: normal;
25
- scroll-padding-inline: var(--gallery-scroll-padding-inline, var(--spacing-base));
26
- list-style: none;
27
-
28
- @media (prefers-reduced-motion: no-preference) {
29
- scroll-behavior: smooth;
30
- }
31
-
32
- & > * {
33
- display: inline-block;
34
- scroll-snap-align: start;
35
- flex: 0 0 var(--gallery-item-size, auto);
36
- }
37
-
38
- &.-custom-scrollbar {
39
- scrollbar-color: var(--gallery-scrollbar-fg, var(--color-text-on-emphasis))
40
- var(--gallery-scrollbar-bg, var(--color-surface-emphasis));
41
-
42
- &::-webkit-scrollbar {
43
- block-size: var(--gallery-scrollbar-height, var(--spacing-base));
44
- }
45
-
46
- &::-webkit-scrollbar-track {
47
- background-color: var(--gallery-scrollbar-bg, var(--color-surface-emphasis));
48
- }
49
-
50
- &::-webkit-scrollbar-thumb {
51
- background-color: var(--gallery-scrollbar-bg, var(--color-surface-emphasis));
52
- background-image: linear-gradient(
53
- var(--gallery-scrollbar-bg, var(--color-surface-emphasis)) 0,
54
- var(--gallery-scrollbar-bg, var(--color-surface-emphasis))
55
- calc(var(--gallery-scrollbar-height, var(--spacing-base)) * 0.25),
56
- var(--gallery-scrollbar-fg, var(--color-text-on-emphasis))
57
- calc(var(--gallery-scrollbar-height, var(--spacing-base)) * 0.25),
58
- var(--gallery-scrollbar-fg, var(--color-text-on-emphasis))
59
- calc(var(--gallery-scrollbar-height, var(--spacing-base)) * 0.75),
60
- var(--gallery-scrollbar-bg, var(--color-surface-emphasis))
61
- calc(var(--gallery-scrollbar-height, var(--spacing-base)) * 0.75)
62
- );
63
- }
64
- }
65
- }
66
- }
@@ -1,60 +0,0 @@
1
- @layer components.icons {
2
- :where(.nc-icon) {
3
- --icon-size: 2ex;
4
-
5
- display: block;
6
- flex-shrink: 0;
7
- inline-size: var(--icon-size);
8
- block-size: var(--icon-size);
9
-
10
- &[data-flip="true"] {
11
- transform: scaleX(-1);
12
- }
13
-
14
- &[data-size="xs"] {
15
- --icon-size: 1ex;
16
- }
17
-
18
- &[data-size="sm"] {
19
- --icon-size: 1.5ex;
20
- }
21
-
22
- &[data-size="md"] {
23
- --icon-size: 2ex;
24
- }
25
-
26
- &[data-size="lg"] {
27
- --icon-size: 3ex;
28
- }
29
-
30
- &[data-size="xl"] {
31
- --icon-size: 4ex;
32
- }
33
-
34
- &[data-size="inline"] {
35
- --icon-size: 0.75lh;
36
- }
37
-
38
- &[data-size="button"] {
39
- --icon-size: var(--button-height-base);
40
- }
41
-
42
- &[data-animation="spinning"] {
43
- animation: spinning 1s infinite linear;
44
- }
45
- }
46
-
47
- :where(button, .nc-button)>.nc-icon {
48
- --icon-size: 2ex;
49
- }
50
-
51
- @keyframes spinning {
52
- from {
53
- transform: rotate(0deg);
54
- }
55
-
56
- to {
57
- transform: rotate(360deg);
58
- }
59
- }
60
- }