@nordmanai/nif 0.2.8 → 0.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +578 -569
- package/dist/styles.css +1 -1
- package/dist/ui/config/nm-appearance.d.ts +13 -1
- package/dist/ui/lib/appearance/appearanceState.d.ts +2 -1
- package/package.json +1 -1
- package/registry/index.json +1 -1
- package/registry/ui/components/nm-ai/nm-ai.css +3 -3
- package/registry/ui/components/nm-alert/nm-alert.css +1 -1
- package/registry/ui/components/nm-button/nm-button.css +2 -2
- package/registry/ui/components/nm-button-group/nm-button-group.css +1 -1
- package/registry/ui/components/nm-calendar/nm-calendar.css +1 -1
- package/registry/ui/components/nm-card/nm-card.css +2 -2
- package/registry/ui/components/nm-chatbox/nm-chatbox.css +1 -1
- package/registry/ui/components/nm-checkbox/nm-checkbox.css +2 -2
- package/registry/ui/components/nm-chip/nm-chip.css +1 -1
- package/registry/ui/components/nm-code-block/nm-code-block.css +1 -1
- package/registry/ui/components/nm-collection/nm-collection.css +2 -2
- package/registry/ui/components/nm-color-picker/nm-color-picker.css +1 -1
- package/registry/ui/components/nm-combobox/nm-combobox.css +2 -2
- package/registry/ui/components/nm-combobox/nm-combobox.tsx +0 -3
- package/registry/ui/components/nm-command/nm-command.css +1 -1
- package/registry/ui/components/nm-composer/nm-composer.css +3 -3
- package/registry/ui/components/nm-date-picker/nm-date-picker.css +2 -2
- package/registry/ui/components/nm-dialog/nm-dialog.css +1 -1
- package/registry/ui/components/nm-drawer/nm-drawer.css +2 -2
- package/registry/ui/components/nm-dropdown/nm-dropdown.css +2 -2
- package/registry/ui/components/nm-dropdown-menu/nm-dropdown-menu.css +1 -1
- package/registry/ui/components/nm-field/nm-field.css +6 -6
- package/registry/ui/components/nm-hover-card/nm-hover-card.css +1 -1
- package/registry/ui/components/nm-input/nm-input.css +3 -3
- package/registry/ui/components/nm-input-group/nm-input-group.css +2 -2
- package/registry/ui/components/nm-message/nm-message.css +1 -1
- package/registry/ui/components/nm-native-select/nm-native-select.css +2 -2
- package/registry/ui/components/nm-popover/nm-popover.css +1 -1
- package/registry/ui/components/nm-prose/nm-prose.css +3 -3
- package/registry/ui/components/nm-questionnaire/nm-questionnaire.css +3 -3
- package/registry/ui/components/nm-radio-group/nm-radio-group.css +2 -2
- package/registry/ui/components/nm-segmented/nm-segmented.css +1 -1
- package/registry/ui/components/nm-select/nm-select.css +9 -5
- package/registry/ui/components/nm-select/nm-select.tsx +0 -3
- package/registry/ui/components/nm-separator/nm-separator.css +1 -1
- package/registry/ui/components/nm-side-panel/nm-side-panel.css +1 -1
- package/registry/ui/components/nm-sidebar/nm-sidebar.css +9 -9
- package/registry/ui/components/nm-spinner/nm-spinner.css +1 -1
- package/registry/ui/components/nm-switch/nm-switch.css +1 -1
- package/registry/ui/components/nm-table/nm-table.css +4 -4
- package/registry/ui/components/nm-tabs/nm-tabs.css +1 -1
- package/registry/ui/components/nm-textarea/nm-textarea.css +5 -5
- package/registry/ui/components/nm-toggle/nm-toggle.css +1 -1
- package/registry/ui/components/nordman-icon-button/nordman-icon-button.css +2 -2
- package/registry/ui/components/nordman-login/nordman-login.css +3 -3
- package/registry/ui/components/nordman-toggle/nordman-toggle.css +1 -1
- package/registry/ui/config/nm-appearance.ts +17 -0
- package/registry/ui/lib/appearance/appearanceState.ts +8 -0
- package/registry/ui/lib/appearance/applyAppearance.ts +3 -1
- package/registry/ui/lib/appearance/deriveTokens.ts +2 -0
- package/registry/ui/styles/light-appearance.css +3 -3
- package/registry/ui/styles/tokens.css +21 -0
|
@@ -60,6 +60,17 @@ export declare const NM_UI_SPACE_PERCENT: {
|
|
|
60
60
|
readonly max: 125;
|
|
61
61
|
readonly default: 100;
|
|
62
62
|
};
|
|
63
|
+
/**
|
|
64
|
+
* How visible the borders are. Every border colour in the kit is mixed through one strength, so default is the kit as
|
|
65
|
+
* drawn, subtle is barely there, and none removes them. Geometry does not change: the border turns transparent and keeps
|
|
66
|
+
* its width. Fills and tracks that share the line colours are untouched, and so are state borders: focus, selection, checked and
|
|
67
|
+
* error keep their colour.
|
|
68
|
+
*/
|
|
69
|
+
export declare const NM_BORDER_STYLES: readonly ['default', 'subtle', 'none'];
|
|
70
|
+
export type NmBorderStyle = (typeof NM_BORDER_STYLES)[number];
|
|
71
|
+
export declare const NM_BORDER_STRENGTH: Record<NmBorderStyle, string>;
|
|
72
|
+
/** Set on the root beside the tokens, so a product can style a state without the appearance script: `:root[data-nm-borders="none"]`. */
|
|
73
|
+
export declare const NM_BORDER_ATTRIBUTE: 'data-nm-borders';
|
|
63
74
|
export declare const NM_APPEARANCE_CONTRAST: {
|
|
64
75
|
readonly min: 0;
|
|
65
76
|
readonly max: 100;
|
|
@@ -94,7 +105,8 @@ export declare const NM_APPEARANCE_DEFAULTS: {
|
|
|
94
105
|
readonly uiRadiusPercent: 100;
|
|
95
106
|
readonly uiSpacePercent: 100;
|
|
96
107
|
readonly contrast: 0;
|
|
108
|
+
readonly borders: NmBorderStyle;
|
|
97
109
|
};
|
|
98
|
-
export declare const NM_APPEARANCE_CSS_VARS: readonly ['--nm-canvas', '--nm-fg', '--nm-fg-muted', '--nm-fg-subtle', '--nm-stroke', '--nm-line', '--nm-line-strong', '--nm-divider', '--control-fs', '--nm-panel', '--nm-raised', '--nm-inset', '--nm-mark-primary', '--nm-mark-secondary', '--nm-mark-tertiary', '--nm-mark-surface', '--nm-canvas-rgb', '--nm-fg-rgb', '--nm-fg-muted-rgb', '--nm-fg-subtle-rgb', '--nm-stroke-rgb', '--nm-line-rgb', '--nm-panel-rgb', '--nm-raised-rgb', '--nm-inset-rgb', '--sand', '--nm-accent', '--nm-accent-rgb', '--orb-ui-cloud-appearance-deepColor', '--orb-ui-cloud-appearance-upperColor', '--orb-ui-cloud-appearance-lowerColor', '--orb-ui-cloud-appearance-highlightColor', '--orb-ui-cloud-appearance-launchColor', '--orb-ui-cloud-appearance-spinnerColor', '--nm-weight-light', '--nm-weight-regular', '--nm-weight-medium', '--nm-weight-semibold', '--nm-weight-bold', '--nm-type-body', '--nm-type-ui', '--nm-type-ui-sm', '--nm-type-lede', '--nm-type-section', '--nm-type-card', '--nm-type-caption', '--markdown-font-size', '--font-size-base', '--font-size-sm', '--nm-icon-button', '--nm-icon-sm', '--nm-rail-icon', '--nm-ui-chip-min-height', '--nm-radius-scale', '--nm-space-scale', '--text-primary', '--text-secondary', '--text-tertiary', '--text-muted', '--presentation', '--surface-primary', '--surface-chat', '--surface-secondary', '--surface-secondary-alt', '--surface-tertiary', '--surface-primary-alt', '--surface-dialog', '--surface-hover', '--surface-active', '--border-light', '--border-medium', '--link', '--link-hover', '--link-visited', '--accent-primary', '--ring-primary', '--brand-purple', '--nordman-accent'];
|
|
110
|
+
export declare const NM_APPEARANCE_CSS_VARS: readonly ['--nm-canvas', '--nm-fg', '--nm-fg-muted', '--nm-fg-subtle', '--nm-stroke', '--nm-line', '--nm-line-strong', '--nm-divider', '--control-fs', '--nm-panel', '--nm-raised', '--nm-inset', '--nm-mark-primary', '--nm-mark-secondary', '--nm-mark-tertiary', '--nm-mark-surface', '--nm-canvas-rgb', '--nm-fg-rgb', '--nm-fg-muted-rgb', '--nm-fg-subtle-rgb', '--nm-stroke-rgb', '--nm-line-rgb', '--nm-panel-rgb', '--nm-raised-rgb', '--nm-inset-rgb', '--sand', '--nm-accent', '--nm-accent-rgb', '--orb-ui-cloud-appearance-deepColor', '--orb-ui-cloud-appearance-upperColor', '--orb-ui-cloud-appearance-lowerColor', '--orb-ui-cloud-appearance-highlightColor', '--orb-ui-cloud-appearance-launchColor', '--orb-ui-cloud-appearance-spinnerColor', '--nm-weight-light', '--nm-weight-regular', '--nm-weight-medium', '--nm-weight-semibold', '--nm-weight-bold', '--nm-type-body', '--nm-type-ui', '--nm-type-ui-sm', '--nm-type-lede', '--nm-type-section', '--nm-type-card', '--nm-type-caption', '--markdown-font-size', '--font-size-base', '--font-size-sm', '--nm-icon-button', '--nm-icon-sm', '--nm-rail-icon', '--nm-ui-chip-min-height', '--nm-radius-scale', '--nm-space-scale', '--nm-border-strength', '--text-primary', '--text-secondary', '--text-tertiary', '--text-muted', '--presentation', '--surface-primary', '--surface-chat', '--surface-secondary', '--surface-secondary-alt', '--surface-tertiary', '--surface-primary-alt', '--surface-dialog', '--surface-hover', '--surface-active', '--border-light', '--border-medium', '--link', '--link-hover', '--link-visited', '--accent-primary', '--ring-primary', '--brand-purple', '--nordman-accent'];
|
|
99
111
|
export declare function findThemePreset(id: string): NmThemePresetDefinition | undefined;
|
|
100
112
|
export declare function defaultThemePresetId(): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NM_APPEARANCE_STORAGE_KEY, type NmAccentPreset, type NmAppearanceMode } from '../../config/nm-appearance.ts';
|
|
1
|
+
import { NM_APPEARANCE_STORAGE_KEY, type NmAccentPreset, type NmAppearanceMode, type NmBorderStyle } from '../../config/nm-appearance.ts';
|
|
2
2
|
export type NmAppearanceState = {
|
|
3
3
|
mode: NmAppearanceMode;
|
|
4
4
|
themePresetId: string;
|
|
@@ -12,6 +12,7 @@ export type NmAppearanceState = {
|
|
|
12
12
|
uiRadiusPercent: number;
|
|
13
13
|
uiSpacePercent: number;
|
|
14
14
|
contrast: number;
|
|
15
|
+
borders: NmBorderStyle;
|
|
15
16
|
};
|
|
16
17
|
export { NM_APPEARANCE_STORAGE_KEY };
|
|
17
18
|
export declare function resolveAppearanceScheme(mode: NmAppearanceMode, prefersDark?: boolean): 'light' | 'dark';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nordmanai/nif",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.10",
|
|
4
4
|
"description": "Nordman Interface Framework: the one UI and UX system for every Nordman product. Base UI, in the shadcn composition, styled by NIF tokens.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
package/registry/index.json
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
box-sizing: border-box;
|
|
51
51
|
width: 100%;
|
|
52
52
|
padding: var(--nm-space-12);
|
|
53
|
-
border: var(--nm-rule) solid var(--nm-
|
|
53
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
54
54
|
border-radius: var(--nm-control-r);
|
|
55
55
|
background: var(--nm-raised);
|
|
56
56
|
color: var(--nm-fg);
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
gap: var(--nm-space-12);
|
|
95
95
|
width: 100%;
|
|
96
96
|
padding: var(--nm-panel-pad);
|
|
97
|
-
border: var(--nm-rule) solid var(--nm-
|
|
97
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
98
98
|
border-radius: var(--nm-control-menu-radius);
|
|
99
99
|
background: var(--nm-panel);
|
|
100
100
|
color: var(--nm-fg);
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
flex-shrink: 0;
|
|
249
249
|
height: var(--control-h);
|
|
250
250
|
padding: 0 var(--control-px);
|
|
251
|
-
border: var(--nm-rule) solid var(--nm-
|
|
251
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
252
252
|
border-radius: var(--toggle-r);
|
|
253
253
|
background: transparent;
|
|
254
254
|
color: var(--nm-fg);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
row-gap: var(--nm-space-4);
|
|
7
7
|
align-items: start;
|
|
8
8
|
padding: var(--nm-space-16);
|
|
9
|
-
border: var(--nm-rule) solid var(--nm-
|
|
9
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
10
10
|
border-radius: var(--nm-radius-lg);
|
|
11
11
|
background: var(--nm-panel);
|
|
12
12
|
color: var(--nm-fg);
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
.nm-button--outline {
|
|
44
|
-
border-color: var(--nm-
|
|
44
|
+
border-color: var(--nm-border-strong);
|
|
45
45
|
background: var(--nm-raised);
|
|
46
46
|
color: var(--nm-fg);
|
|
47
47
|
}
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
.nm-button--panel {
|
|
56
|
-
border-color: var(--nm-
|
|
56
|
+
border-color: var(--nm-border-strong);
|
|
57
57
|
background: var(--nm-panel);
|
|
58
58
|
color: var(--nm-fg);
|
|
59
59
|
}
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
gap: var(--nm-space-8);
|
|
89
89
|
min-height: var(--control-h);
|
|
90
90
|
padding: 0 var(--control-px);
|
|
91
|
-
border: var(--nm-rule) solid var(--nm-
|
|
91
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
92
92
|
border-radius: var(--nm-control-r);
|
|
93
93
|
background: var(--nm-raised);
|
|
94
94
|
color: var(--nm-fg-muted);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
gap: var(--nm-space-12);
|
|
7
7
|
min-width: 0;
|
|
8
8
|
padding: var(--nm-card-pad);
|
|
9
|
-
border: var(--nm-rule) solid var(--nm-
|
|
9
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
10
10
|
border-radius: var(--nm-radius-lg);
|
|
11
11
|
background: var(--nm-raised);
|
|
12
12
|
color: var(--nm-fg);
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
.nm-card[data-interactive]:hover:not([data-disabled]) {
|
|
42
|
-
border-color: var(--nm-stroke);
|
|
42
|
+
border-color: var(--nm-border-stroke);
|
|
43
43
|
background: var(--nm-inset);
|
|
44
44
|
}
|
|
45
45
|
|
|
@@ -407,7 +407,7 @@
|
|
|
407
407
|
align-items: center;
|
|
408
408
|
gap: var(--nm-space-4);
|
|
409
409
|
padding: var(--nm-icon-pad);
|
|
410
|
-
border: var(--nm-rule) solid var(--nm-
|
|
410
|
+
border: var(--nm-rule) solid var(--nm-border);
|
|
411
411
|
border-radius: calc((var(--nm-icon-control) + var(--nm-rule) * 2) / 2);
|
|
412
412
|
background: transparent;
|
|
413
413
|
color: var(--nm-fg-subtle);
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
width: var(--nm-icon-button);
|
|
9
9
|
height: var(--nm-icon-button);
|
|
10
10
|
padding: 0;
|
|
11
|
-
border: var(--nm-rule) solid var(--nm-stroke);
|
|
11
|
+
border: var(--nm-rule) solid var(--nm-border-stroke);
|
|
12
12
|
border-radius: var(--nm-radius-sm);
|
|
13
|
-
background:
|
|
13
|
+
background: var(--nm-borderless-fill);
|
|
14
14
|
color: var(--nm-canvas);
|
|
15
15
|
cursor: pointer;
|
|
16
16
|
transition:
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
justify-content: space-between;
|
|
97
97
|
gap: var(--nm-space-8);
|
|
98
98
|
padding: var(--table-cell-py) var(--table-gap);
|
|
99
|
-
border-bottom: var(--nm-rule) solid var(--nm-
|
|
99
|
+
border-bottom: var(--nm-rule) solid var(--nm-border);
|
|
100
100
|
border-radius: 0;
|
|
101
101
|
color: var(--nm-fg-subtle);
|
|
102
102
|
font-size: var(--table-fs);
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
.nm-collection__head:hover,
|
|
112
112
|
.nm-collection__head:focus-within {
|
|
113
113
|
padding-block: var(--table-head-py);
|
|
114
|
-
border-bottom-color: var(--nm-
|
|
114
|
+
border-bottom-color: var(--nm-border-strong);
|
|
115
115
|
background: transparent;
|
|
116
116
|
color: var(--nm-fg-subtle);
|
|
117
117
|
font-size: var(--table-head-fs);
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
box-sizing: border-box;
|
|
10
10
|
width: var(--nm-icon-button);
|
|
11
11
|
height: var(--nm-icon-button);
|
|
12
|
-
border: var(--nm-rule) solid var(--nm-
|
|
12
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
13
13
|
border-radius: var(--nm-radius-sm);
|
|
14
14
|
background: var(--nm-swatch);
|
|
15
15
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
min-width: 0;
|
|
8
8
|
height: var(--nm-field-h);
|
|
9
9
|
padding: 0 var(--control-px);
|
|
10
|
-
border: var(--nm-rule) solid var(--nm-
|
|
10
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
11
11
|
border-radius: var(--nm-control-r);
|
|
12
12
|
background: var(--nm-raised);
|
|
13
13
|
color: var(--nm-fg);
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
.nm-combobox__group:not([data-bare]):focus-within {
|
|
26
|
-
border-color: var(--nm-stroke);
|
|
26
|
+
border-color: var(--nm-border-stroke);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
.nm-combobox__input {
|
|
@@ -55,9 +55,6 @@ export function NmComboboxItem({ className, children, ...props }: ComboboxPrimit
|
|
|
55
55
|
return (
|
|
56
56
|
<ComboboxPrimitive.Item data-slot="combobox-item" className={nmClass('nm-menu__item nm-select__item', className as string)} {...props}>
|
|
57
57
|
<span className="nm-select__text">{children}</span>
|
|
58
|
-
<ComboboxPrimitive.ItemIndicator className="nm-select__check">
|
|
59
|
-
<NmIcon id="check" />
|
|
60
|
-
</ComboboxPrimitive.ItemIndicator>
|
|
61
58
|
</ComboboxPrimitive.Item>
|
|
62
59
|
);
|
|
63
60
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
width: 100%;
|
|
8
8
|
padding: var(--nm-space-12) var(--nm-space-24) var(--nm-space-24);
|
|
9
9
|
overflow: hidden;
|
|
10
|
-
border: var(--nm-rule) solid var(--nm-
|
|
10
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
11
11
|
border-radius: var(--nm-radius-lg);
|
|
12
12
|
background: var(--nm-panel);
|
|
13
13
|
color: var(--nm-fg);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
gap: var(--nm-space-24);
|
|
7
7
|
width: 100%;
|
|
8
8
|
padding: var(--nm-space-12);
|
|
9
|
-
border: var(--nm-rule) solid var(--nm-
|
|
9
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
10
10
|
border-radius: var(--nm-radius-lg);
|
|
11
11
|
background: var(--nm-raised);
|
|
12
12
|
color: var(--nm-fg);
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
.nm-composer:focus-within {
|
|
18
|
-
border-color: var(--nm-stroke);
|
|
18
|
+
border-color: var(--nm-border-stroke);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
.nm-composer[data-disabled='true'] {
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
margin: 0;
|
|
218
218
|
padding: 0 0 var(--nm-space-12);
|
|
219
219
|
list-style: none;
|
|
220
|
-
border-bottom: var(--nm-rule) solid var(--nm-
|
|
220
|
+
border-bottom: var(--nm-rule) solid var(--nm-border);
|
|
221
221
|
}
|
|
222
222
|
|
|
223
223
|
.nm-composer__queued {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
min-width: var(--nm-width-date);
|
|
8
8
|
height: var(--nm-field-h);
|
|
9
9
|
padding: 0 var(--control-px);
|
|
10
|
-
border: var(--nm-rule) solid var(--nm-
|
|
10
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
11
11
|
border-radius: var(--nm-control-r);
|
|
12
12
|
background: var(--nm-raised);
|
|
13
13
|
color: var(--nm-fg);
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.nm-picker__trigger:hover:not(:disabled) {
|
|
31
|
-
border-color: var(--nm-stroke);
|
|
31
|
+
border-color: var(--nm-border-stroke);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.nm-picker__trigger:focus-visible,
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
width: min(var(--nm-width-dialog), calc(100% - var(--nm-space-24) * 2));
|
|
24
24
|
max-height: 70%;
|
|
25
25
|
overflow: hidden;
|
|
26
|
-
border: var(--nm-rule) solid var(--nm-
|
|
26
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
27
27
|
border-radius: var(--nm-radius-lg);
|
|
28
28
|
background: var(--nm-panel);
|
|
29
29
|
color: var(--nm-fg);
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
}
|
|
30
30
|
.nm-drawer[data-side='left'] {
|
|
31
31
|
inset-inline-start: 0;
|
|
32
|
-
border-inline-end: var(--nm-rule) solid var(--nm-
|
|
32
|
+
border-inline-end: var(--nm-rule) solid var(--nm-border-strong);
|
|
33
33
|
}
|
|
34
34
|
.nm-drawer[data-side='right'] {
|
|
35
35
|
inset-inline-end: 0;
|
|
36
|
-
border-inline-start: var(--nm-rule) solid var(--nm-
|
|
36
|
+
border-inline-start: var(--nm-rule) solid var(--nm-border-strong);
|
|
37
37
|
}
|
|
38
38
|
.nm-drawer[data-starting-style],
|
|
39
39
|
.nm-drawer[data-ending-style] {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
max-height: var(--nm-dropdown-max);
|
|
84
84
|
margin: 0;
|
|
85
85
|
padding: var(--nm-list-pad);
|
|
86
|
-
border: var(--nm-rule) solid var(--nm-
|
|
86
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
87
87
|
border-radius: var(--nm-menu-radius);
|
|
88
88
|
background: var(--nm-panel);
|
|
89
89
|
color: var(--nm-fg);
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
height: 0;
|
|
161
161
|
margin: var(--nm-space-8) 0;
|
|
162
162
|
border: 0;
|
|
163
|
-
border-top: var(--nm-rule) solid var(--nm-
|
|
163
|
+
border-top: var(--nm-rule) solid var(--nm-border);
|
|
164
164
|
background: transparent;
|
|
165
165
|
}
|
|
166
166
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
padding: var(--nm-list-pad);
|
|
16
16
|
overflow-x: hidden;
|
|
17
17
|
overflow-y: auto;
|
|
18
|
-
border: var(--nm-rule) solid var(--nm-
|
|
18
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
19
19
|
border-radius: var(--nm-menu-radius);
|
|
20
20
|
background: var(--nm-panel);
|
|
21
21
|
color: var(--nm-fg);
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
box-sizing: border-box;
|
|
8
8
|
min-height: var(--nm-field-h);
|
|
9
9
|
padding: 0 var(--control-px);
|
|
10
|
-
border: var(--nm-rule) solid var(--nm-
|
|
10
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
11
11
|
border-radius: var(--nm-control-r);
|
|
12
12
|
background: var(--nm-raised);
|
|
13
13
|
color: var(--nm-fg-subtle);
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
.nm-field:not(.nm-field--stack):focus-within,
|
|
24
24
|
.nm-field__box:focus-within {
|
|
25
|
-
border-color: var(--nm-stroke);
|
|
25
|
+
border-color: var(--nm-border-stroke);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.nm-field__icon,
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
min-height: var(--nm-field-h);
|
|
132
132
|
max-height: var(--nm-field-h);
|
|
133
133
|
padding: 0 var(--control-px);
|
|
134
|
-
border: var(--nm-rule) solid var(--nm-
|
|
134
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
135
135
|
border-radius: var(--nm-control-r);
|
|
136
136
|
background: var(--nm-raised);
|
|
137
137
|
}
|
|
@@ -256,7 +256,7 @@
|
|
|
256
256
|
width: var(--nm-field-h);
|
|
257
257
|
height: var(--nm-field-h);
|
|
258
258
|
padding: 0;
|
|
259
|
-
border: var(--nm-rule) solid var(--nm-
|
|
259
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
260
260
|
border-radius: var(--nm-control-r);
|
|
261
261
|
background: var(--nm-raised);
|
|
262
262
|
color: var(--nm-fg);
|
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
padding: var(--nm-menu-pad);
|
|
280
280
|
overflow: auto;
|
|
281
281
|
list-style: none;
|
|
282
|
-
border: var(--nm-rule) solid var(--nm-
|
|
282
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
283
283
|
border-radius: var(--nm-control-menu-radius);
|
|
284
284
|
background: var(--nm-panel);
|
|
285
285
|
max-height: var(--nm-dropdown-max);
|
|
@@ -290,7 +290,7 @@
|
|
|
290
290
|
align-items: center;
|
|
291
291
|
gap: var(--nm-space-8);
|
|
292
292
|
padding: var(--nm-space-8) var(--nm-control-option-inset);
|
|
293
|
-
border-bottom: var(--nm-rule) solid var(--nm-
|
|
293
|
+
border-bottom: var(--nm-rule) solid var(--nm-border);
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
.nm-field__search-input {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
gap: var(--nm-space-12);
|
|
10
10
|
width: var(--nm-width-popup-sm);
|
|
11
11
|
padding: var(--nm-panel-pad);
|
|
12
|
-
border: var(--nm-rule) solid var(--nm-
|
|
12
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
13
13
|
border-radius: var(--nm-control-menu-radius);
|
|
14
14
|
background: var(--nm-panel);
|
|
15
15
|
color: var(--nm-fg);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
min-width: 0;
|
|
6
6
|
height: var(--nm-field-h);
|
|
7
7
|
padding: 0 var(--control-px);
|
|
8
|
-
border: var(--nm-rule) solid var(--nm-
|
|
8
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
9
9
|
border-radius: var(--nm-control-r);
|
|
10
10
|
background: var(--nm-raised);
|
|
11
11
|
color: var(--nm-fg);
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
.nm-input:hover:not(:disabled) {
|
|
27
|
-
border-color: var(--nm-stroke);
|
|
27
|
+
border-color: var(--nm-border-stroke);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.nm-input:focus-visible {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
margin-right: var(--control-px);
|
|
52
52
|
padding: 0 var(--control-px);
|
|
53
53
|
border: 0;
|
|
54
|
-
border-right: var(--nm-rule) solid var(--nm-
|
|
54
|
+
border-right: var(--nm-rule) solid var(--nm-border-strong);
|
|
55
55
|
background: var(--nm-panel);
|
|
56
56
|
color: var(--nm-fg);
|
|
57
57
|
font: inherit;
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
box-sizing: border-box;
|
|
5
5
|
width: 100%;
|
|
6
6
|
height: var(--nm-field-h);
|
|
7
|
-
border: var(--nm-rule) solid var(--nm-
|
|
7
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
8
8
|
border-radius: var(--nm-control-r);
|
|
9
9
|
background: var(--nm-raised);
|
|
10
10
|
transition: border-color 0.15s;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.nm-input-group:hover {
|
|
14
|
-
border-color: var(--nm-stroke);
|
|
14
|
+
border-color: var(--nm-border-stroke);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
.nm-input-group:focus-within {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
width: 100%;
|
|
9
9
|
height: var(--nm-field-h);
|
|
10
10
|
padding: 0 calc(var(--control-px) + var(--nm-icon-button) + var(--nm-space-8)) 0 var(--control-px);
|
|
11
|
-
border: var(--nm-rule) solid var(--nm-
|
|
11
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
12
12
|
border-radius: var(--nm-control-r);
|
|
13
13
|
background: var(--nm-raised);
|
|
14
14
|
color: var(--nm-fg);
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
.nm-native-select__control:hover:not(:disabled) {
|
|
24
|
-
border-color: var(--nm-stroke);
|
|
24
|
+
border-color: var(--nm-border-stroke);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
.nm-native-select__control:focus-visible {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
gap: var(--nm-space-12);
|
|
10
10
|
width: var(--nm-width-popup);
|
|
11
11
|
padding: var(--nm-panel-pad);
|
|
12
|
-
border: var(--nm-rule) solid var(--nm-
|
|
12
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
13
13
|
border-radius: var(--nm-control-menu-radius);
|
|
14
14
|
background: var(--nm-panel);
|
|
15
15
|
color: var(--nm-fg);
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
|
|
46
46
|
.nm-prose blockquote {
|
|
47
47
|
padding-inline-start: var(--nm-space-12);
|
|
48
|
-
border-inline-start: var(--nm-space-2) solid var(--nm-
|
|
48
|
+
border-inline-start: var(--nm-space-2) solid var(--nm-border-strong);
|
|
49
49
|
color: var(--nm-fg-muted);
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
.nm-prose hr {
|
|
67
67
|
margin: var(--nm-space-24) 0;
|
|
68
68
|
border: 0;
|
|
69
|
-
border-top: var(--nm-rule) solid var(--nm-divider);
|
|
69
|
+
border-top: var(--nm-rule) solid var(--nm-border-divider);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
.nm-prose table {
|
|
@@ -76,6 +76,6 @@
|
|
|
76
76
|
|
|
77
77
|
.nm-prose :is(th, td) {
|
|
78
78
|
padding: var(--nm-space-8) var(--nm-space-12);
|
|
79
|
-
border-bottom: var(--nm-rule) solid var(--nm-
|
|
79
|
+
border-bottom: var(--nm-rule) solid var(--nm-border);
|
|
80
80
|
text-align: start;
|
|
81
81
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
.nm-questionnaire--card {
|
|
14
14
|
padding: var(--nm-space-24);
|
|
15
|
-
border: var(--nm-rule) solid var(--nm-
|
|
15
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
16
16
|
border-radius: var(--nm-radius-lg);
|
|
17
17
|
background: var(--nm-raised);
|
|
18
18
|
}
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
gap: var(--nm-space-12);
|
|
69
69
|
box-sizing: border-box;
|
|
70
70
|
padding: var(--nm-space-12);
|
|
71
|
-
border: var(--nm-rule) solid var(--nm-
|
|
71
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
72
72
|
border-radius: var(--nm-control-r);
|
|
73
73
|
background: transparent;
|
|
74
74
|
cursor: pointer;
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
width: var(--nm-icon-button);
|
|
103
103
|
height: var(--nm-icon-button);
|
|
104
104
|
margin-top: var(--nm-space-2);
|
|
105
|
-
border: var(--nm-rule) solid var(--nm-stroke);
|
|
105
|
+
border: var(--nm-rule) solid var(--nm-border-stroke);
|
|
106
106
|
border-radius: 50%;
|
|
107
107
|
color: var(--nm-canvas);
|
|
108
108
|
}
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
width: var(--nm-icon-button);
|
|
16
16
|
height: var(--nm-icon-button);
|
|
17
17
|
padding: 0;
|
|
18
|
-
border: var(--nm-rule) solid var(--nm-stroke);
|
|
18
|
+
border: var(--nm-rule) solid var(--nm-border-stroke);
|
|
19
19
|
border-radius: 50%;
|
|
20
|
-
background:
|
|
20
|
+
background: var(--nm-borderless-fill);
|
|
21
21
|
cursor: pointer;
|
|
22
22
|
transition: border-color 0.15s;
|
|
23
23
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
min-width: 0;
|
|
8
8
|
height: var(--nm-field-h);
|
|
9
9
|
padding: 0 var(--control-px);
|
|
10
|
-
border: var(--nm-rule) solid var(--nm-
|
|
10
|
+
border: var(--nm-rule) solid var(--nm-border-strong);
|
|
11
11
|
border-radius: var(--nm-control-r);
|
|
12
12
|
background: var(--nm-raised);
|
|
13
13
|
color: var(--nm-fg);
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
.nm-select__trigger:hover,
|
|
28
28
|
.nm-select__trigger[data-popup-open],
|
|
29
29
|
.nm-select__trigger:focus-visible {
|
|
30
|
-
border-color: var(--nm-stroke);
|
|
30
|
+
border-color: var(--nm-border-stroke);
|
|
31
31
|
outline: none;
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -72,7 +72,11 @@
|
|
|
72
72
|
min-width: 0;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
.
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
/* One choice is in effect, so the chosen row is shown by its fill. No mark: a mark reads as a toggle. */
|
|
76
|
+
.nm-select__item[data-selected] {
|
|
77
|
+
background: var(--nm-panel);
|
|
78
|
+
color: var(--nm-fg);
|
|
79
|
+
}
|
|
80
|
+
.nm-select__item[data-selected][data-highlighted] {
|
|
81
|
+
background: var(--nm-line);
|
|
78
82
|
}
|
|
@@ -44,9 +44,6 @@ export function NmSelectItem({ className, children, ...props }: SelectPrimitive.
|
|
|
44
44
|
return (
|
|
45
45
|
<SelectPrimitive.Item data-slot="select-item" className={nmClass('nm-menu__item nm-select__item', className as string)} {...props}>
|
|
46
46
|
<SelectPrimitive.ItemText className="nm-select__text">{children}</SelectPrimitive.ItemText>
|
|
47
|
-
<SelectPrimitive.ItemIndicator className="nm-select__check">
|
|
48
|
-
<NmIcon id="check" />
|
|
49
|
-
</SelectPrimitive.ItemIndicator>
|
|
50
47
|
</SelectPrimitive.Item>
|
|
51
48
|
);
|
|
52
49
|
}
|