@nmorph/nmorph-ui-kit 2.2.10 → 2.2.13
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 +11 -7
- package/dist/components/basic/nmorph-icon/NmorphIcon.css +1 -1
- package/dist/components/basic/nmorph-icon/NmorphIcon.vue2.js +11 -11
- package/dist/components/data/nmorph-avatar/NmorphAvatar.css +1 -0
- package/dist/components/data/nmorph-avatar/NmorphAvatar.vue.js +74 -46
- package/dist/components/data/nmorph-avatar/NmorphAvatar.vue2.js +26 -21
- package/dist/components/data/nmorph-carousel/NmorphCarousel.vue2.js +4 -4
- package/dist/components/data/nmorph-image-preview/NmorphImagePreview.vue.js +77 -38
- package/dist/components/data/nmorph-image-preview/NmorphImagePreview.vue2.js +31 -30
- package/dist/components/data/nmorph-pagination/NmorphPagination.css +1 -1
- package/dist/components/data/nmorph-pagination/NmorphPagination.vue.js +36 -30
- package/dist/components/data/nmorph-pagination/NmorphPagination.vue2.js +48 -41
- package/dist/components/data/nmorph-table/NmorphTable.css +1 -1
- package/dist/components/data/nmorph-table/NmorphTable.vue.js +228 -103
- package/dist/components/data/nmorph-table/NmorphTable.vue2.js +49 -30
- package/dist/components/form/nmorph-autocomplete/NmorphAutocomplete.css +1 -1
- package/dist/components/form/nmorph-autocomplete/NmorphAutocomplete.vue.js +91 -35
- package/dist/components/form/nmorph-autocomplete/NmorphAutocomplete.vue2.js +48 -35
- package/dist/components/form/nmorph-checkbox/NmorphCheckbox.css +1 -1
- package/dist/components/form/nmorph-checkbox/NmorphCheckbox.vue.js +15 -13
- package/dist/components/form/nmorph-checkbox/NmorphCheckbox.vue2.js +8 -8
- package/dist/components/form/nmorph-checkbox-group/NmorphCheckboxGroup.vue2.js +22 -14
- package/dist/components/form/nmorph-color-picker/NmorphColorPicker.vue2.js +11 -10
- package/dist/components/form/nmorph-radio/NmorphRadio.css +1 -1
- package/dist/components/form/nmorph-radio/NmorphRadio.vue.js +22 -20
- package/dist/components/form/nmorph-radio/NmorphRadio.vue2.js +7 -7
- package/dist/components/form/nmorph-radio-group/NmorphRadioGroup.vue2.js +14 -14
- package/dist/components/form/nmorph-select/NmorphSelect.css +1 -1
- package/dist/components/form/nmorph-select/NmorphSelect.vue.js +115 -58
- package/dist/components/form/nmorph-select/NmorphSelect.vue2.js +104 -75
- package/dist/components/form/nmorph-select/components/nmorph-select-option/NmorphSelectOption.vue2.js +12 -10
- package/dist/components/navigation/nmorph-backtop/NmorphBacktop.vue.js +7 -7
- package/dist/components/navigation/nmorph-dropdown/NmorphDropdown.vue.js +29 -42
- package/dist/components/navigation/nmorph-dropdown/NmorphDropdown.vue2.js +39 -20
- package/dist/components/others/nmorph-overlay/NmorphOverlay.vue.js +29 -24
- package/dist/components/others/nmorph-overlay/NmorphOverlay.vue2.js +17 -15
- package/dist/hooks/use-common-styles.js +23 -20
- package/dist/hooks/use-placement.js +76 -44
- package/dist/hooks/use-virtual-list.js +46 -0
- package/dist/index.es.js +698 -694
- package/dist/index.umd.js +46 -38
- package/dist/nuxt.mjs +21 -8
- package/dist/outside-hooks/use-nmorph-browser.js +9 -9
- package/dist/outside-hooks/use-nmorph-theme.js +133 -87
- package/dist/package.json.js +1 -1
- package/dist/plugin.js +34 -29
- package/dist/src/components/data/nmorph-badge/NmorphBadge.vue.d.ts +1 -1
- package/dist/src/components/data/nmorph-image/NmorphImage.vue.d.ts +3 -3
- package/dist/src/components/data/nmorph-image-preview/NmorphImagePreview.vue.d.ts +14 -2
- package/dist/src/components/data/nmorph-pagination/NmorphPagination.vue.d.ts +3 -0
- package/dist/src/components/data/nmorph-table/NmorphTable.vue.d.ts +9 -0
- package/dist/src/components/data/nmorph-table/types.d.ts +2 -2
- package/dist/src/components/feedback/nmorph-tooltip/NmorphTooltip.vue.d.ts +1 -1
- package/dist/src/components/form/nmorph-autocomplete/NmorphAutocomplete.vue.d.ts +11 -0
- package/dist/src/components/form/nmorph-checkbox/NmorphCheckbox.vue.d.ts +1 -0
- package/dist/src/components/form/nmorph-checkbox-group/NmorphCheckboxGroup.vue.d.ts +4 -3
- package/dist/src/components/form/nmorph-radio/NmorphRadio.vue.d.ts +1 -0
- package/dist/src/components/form/nmorph-radio-group/NmorphRadioGroup.vue.d.ts +4 -3
- package/dist/src/components/form/nmorph-select/NmorphSelect.vue.d.ts +8 -0
- package/dist/src/components/form/nmorph-select/components/nmorph-select-option/NmorphSelectOption.vue.d.ts +1 -0
- package/dist/src/components/form/nmorph-select/types.d.ts +1 -0
- package/dist/src/components/navigation/nmorph-dropdown/NmorphDropdown.vue.d.ts +3 -1
- package/dist/src/components/others/nmorph-overlay/NmorphOverlay.vue.d.ts +4 -0
- package/dist/src/components/providers/nmorph-notification-provider/NmorphNotificationProvider.vue.d.ts +1 -1
- package/dist/src/hooks/index.d.ts +1 -0
- package/dist/src/hooks/use-common-styles.d.ts +1 -0
- package/dist/src/hooks/use-placement.d.ts +8 -4
- package/dist/src/hooks/use-virtual-list.d.ts +21 -0
- package/dist/src/outside-hooks/use-nmorph-notification.d.ts +2 -2
- package/dist/src/outside-hooks/use-nmorph-theme.d.ts +1 -0
- package/dist/src/plugin.d.ts +2 -0
- package/dist/src/types/index.d.ts +12 -3
- package/dist/style.css +1 -1
- package/dist/types/index.js +14 -8
- package/package.json +1 -1
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import './NmorphAutocomplete.css';
|
|
2
|
-
import
|
|
3
|
-
import { openBlock as
|
|
2
|
+
import v from "./NmorphAutocomplete.vue2.js";
|
|
3
|
+
import { openBlock as l, createElementBlock as t, normalizeClass as f, createElementVNode as r, createVNode as i, createBlock as k, withCtx as d, renderSlot as n, normalizeStyle as c, Fragment as p, renderList as s, createTextVNode as h, toDisplayString as _, createCommentVNode as y } from "vue";
|
|
4
4
|
/* empty css */
|
|
5
|
-
import
|
|
6
|
-
const
|
|
5
|
+
import g from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
6
|
+
const x = { class: "nmorph-autocomplete__input-content" }, H = {
|
|
7
7
|
ref: "nmorphAutocompleteDOMRef",
|
|
8
8
|
class: "nmorph-autocomplete__input"
|
|
9
|
-
},
|
|
9
|
+
}, N = {
|
|
10
10
|
key: 0,
|
|
11
11
|
class: "nmorph-autocomplete__loading"
|
|
12
|
-
},
|
|
13
|
-
key:
|
|
12
|
+
}, b = ["onClick"], C = {
|
|
13
|
+
key: 2,
|
|
14
14
|
class: "nmorph-autocomplete__list"
|
|
15
|
-
},
|
|
16
|
-
function V(a,
|
|
17
|
-
return
|
|
15
|
+
}, S = ["onClick"];
|
|
16
|
+
function V(a, m, z, e, L, A) {
|
|
17
|
+
return l(), t(
|
|
18
18
|
"div",
|
|
19
19
|
{
|
|
20
|
-
class:
|
|
20
|
+
class: f(e.modifiers)
|
|
21
21
|
},
|
|
22
22
|
[
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
r("div", x, [
|
|
24
|
+
r(
|
|
25
25
|
"div",
|
|
26
|
-
|
|
26
|
+
H,
|
|
27
27
|
[
|
|
28
|
-
|
|
28
|
+
i(e.NmorphTextInput, {
|
|
29
29
|
id: e.props.id,
|
|
30
30
|
name: e.props.name,
|
|
31
31
|
autocomplete: e.props.autocomplete,
|
|
@@ -42,7 +42,7 @@ function V(a, C, z, e, A, D) {
|
|
|
42
42
|
/* NEED_PATCH */
|
|
43
43
|
)
|
|
44
44
|
]),
|
|
45
|
-
e.nmorphAutocompleteDOMRef ? (
|
|
45
|
+
e.nmorphAutocompleteDOMRef ? (l(), k(e.NmorphDropdown, {
|
|
46
46
|
key: 0,
|
|
47
47
|
open: e.open,
|
|
48
48
|
"relative-element": e.nmorphAutocompleteDOMRef,
|
|
@@ -50,34 +50,90 @@ function V(a, C, z, e, A, D) {
|
|
|
50
50
|
"z-index": e.props.zIndex,
|
|
51
51
|
onOnOutsideClick: e.closeHandler
|
|
52
52
|
}, {
|
|
53
|
-
default:
|
|
54
|
-
e.loader ? (
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
default:
|
|
58
|
-
|
|
53
|
+
default: d(() => [
|
|
54
|
+
e.loader ? (l(), t("div", N, [
|
|
55
|
+
n(a.$slots, "loader", {}, () => [
|
|
56
|
+
i(e.NmorphIcon, { size: "large" }, {
|
|
57
|
+
default: d(() => [
|
|
58
|
+
i(e.NmorphIconLoader)
|
|
59
59
|
]),
|
|
60
60
|
_: 1
|
|
61
61
|
/* STABLE */
|
|
62
62
|
})
|
|
63
63
|
])
|
|
64
|
-
])) : (
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
])) : e.virtualEnabled ? (l(), t(
|
|
65
|
+
"div",
|
|
66
|
+
{
|
|
67
|
+
key: 1,
|
|
68
|
+
ref: e.virtualList.containerRef,
|
|
69
|
+
class: "nmorph-autocomplete__list nmorph-autocomplete__list--virtual",
|
|
70
|
+
style: c({ "--autocomplete-virtual-item-height": `${e.virtualItemHeight}px`, maxHeight: e.virtualMaxHeight }),
|
|
71
|
+
onScroll: m[0] || (m[0] = (...o) => e.virtualList.scrollHandler && e.virtualList.scrollHandler(...o))
|
|
72
|
+
},
|
|
73
|
+
[
|
|
74
|
+
r(
|
|
75
|
+
"div",
|
|
76
|
+
{
|
|
77
|
+
class: "nmorph-autocomplete__virtual-spacer",
|
|
78
|
+
style: c(e.virtualSpacerStyle)
|
|
79
|
+
},
|
|
80
|
+
[
|
|
81
|
+
r(
|
|
82
|
+
"div",
|
|
83
|
+
{
|
|
84
|
+
class: "nmorph-autocomplete__virtual-content",
|
|
85
|
+
style: c(e.virtualContentStyle)
|
|
86
|
+
},
|
|
87
|
+
[
|
|
88
|
+
(l(!0), t(
|
|
89
|
+
p,
|
|
90
|
+
null,
|
|
91
|
+
s(e.virtualItems, (o) => (l(), t("div", {
|
|
92
|
+
key: o.index,
|
|
93
|
+
class: "nmorph-autocomplete__list-item",
|
|
94
|
+
onClick: () => e.clickHandler(o.item)
|
|
95
|
+
}, [
|
|
96
|
+
n(a.$slots, "default", {
|
|
97
|
+
scope: o.item
|
|
98
|
+
}, () => [
|
|
99
|
+
h(
|
|
100
|
+
_(o.item.value),
|
|
101
|
+
1
|
|
102
|
+
/* TEXT */
|
|
103
|
+
)
|
|
104
|
+
])
|
|
105
|
+
], 8, b))),
|
|
106
|
+
128
|
|
107
|
+
/* KEYED_FRAGMENT */
|
|
108
|
+
))
|
|
109
|
+
],
|
|
110
|
+
4
|
|
111
|
+
/* STYLE */
|
|
112
|
+
)
|
|
113
|
+
],
|
|
114
|
+
4
|
|
115
|
+
/* STYLE */
|
|
116
|
+
)
|
|
117
|
+
],
|
|
118
|
+
36
|
|
119
|
+
/* STYLE, NEED_HYDRATION */
|
|
120
|
+
)) : (l(), t("div", C, [
|
|
121
|
+
(l(!0), t(
|
|
122
|
+
p,
|
|
67
123
|
null,
|
|
68
|
-
|
|
69
|
-
key:
|
|
124
|
+
s(e.filteredList, (o, u) => (l(), t("div", {
|
|
125
|
+
key: u,
|
|
70
126
|
class: "nmorph-autocomplete__list-item",
|
|
71
|
-
onClick: () => e.clickHandler(
|
|
127
|
+
onClick: () => e.clickHandler(o)
|
|
72
128
|
}, [
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
129
|
+
n(a.$slots, "default", { scope: o }, () => [
|
|
130
|
+
h(
|
|
131
|
+
_(o.value),
|
|
76
132
|
1
|
|
77
133
|
/* TEXT */
|
|
78
134
|
)
|
|
79
135
|
])
|
|
80
|
-
], 8,
|
|
136
|
+
], 8, S))),
|
|
81
137
|
128
|
|
82
138
|
/* KEYED_FRAGMENT */
|
|
83
139
|
))
|
|
@@ -85,13 +141,13 @@ function V(a, C, z, e, A, D) {
|
|
|
85
141
|
]),
|
|
86
142
|
_: 3
|
|
87
143
|
/* FORWARDED */
|
|
88
|
-
}, 8, ["open", "relative-element", "z-index"])) :
|
|
144
|
+
}, 8, ["open", "relative-element", "z-index"])) : y("v-if", !0)
|
|
89
145
|
],
|
|
90
146
|
2
|
|
91
147
|
/* CLASS */
|
|
92
148
|
);
|
|
93
149
|
}
|
|
94
|
-
const
|
|
150
|
+
const B = /* @__PURE__ */ g(v, [["render", V], ["__file", "/builds/ketjo/nmorph/library/src/components/form/nmorph-autocomplete/NmorphAutocomplete.vue"]]);
|
|
95
151
|
export {
|
|
96
|
-
|
|
152
|
+
B as default
|
|
97
153
|
};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import './NmorphAutocomplete.css';
|
|
2
|
-
import { defineComponent as
|
|
3
|
-
import { useModifiers as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
|
|
2
|
+
import { defineComponent as k, ref as n, computed as r, watch as p, nextTick as O } from "vue";
|
|
3
|
+
import { useModifiers as T } from "../../../utils/create-modifiers.js";
|
|
4
|
+
import { useVirtualList as M } from "../../../hooks/use-virtual-list.js";
|
|
5
|
+
import V from "../nmorph-text-input/NmorphTextInput.vue.js";
|
|
6
|
+
import A from "../../navigation/nmorph-dropdown/NmorphDropdown.vue.js";
|
|
7
|
+
import B from "../../basic/nmorph-icon/NmorphIcon.vue.js";
|
|
8
|
+
import D from "../../../assets/icons/loader.svg.js";
|
|
9
|
+
const E = /* @__PURE__ */ k({
|
|
9
10
|
__name: "NmorphAutocomplete",
|
|
10
11
|
props: {
|
|
11
12
|
modelValue: { type: String, required: !1, default: "" },
|
|
@@ -14,6 +15,10 @@ const D = /* @__PURE__ */ N({
|
|
|
14
15
|
list: { type: Array, required: !0, default: () => [] },
|
|
15
16
|
actionCallback: { type: Function, required: !1, default: void 0 },
|
|
16
17
|
zIndex: { type: Number, required: !1 },
|
|
18
|
+
virtual: { type: Boolean, required: !1, default: !1 },
|
|
19
|
+
virtualItemHeight: { type: Number, required: !1, default: 34 },
|
|
20
|
+
virtualMaxHeight: { type: [Number, String], required: !1, default: 240 },
|
|
21
|
+
virtualOverscan: { type: Number, required: !1, default: 5 },
|
|
17
22
|
id: { type: String, required: !1 },
|
|
18
23
|
name: { type: String, required: !1 },
|
|
19
24
|
autocomplete: { type: String, required: !1 },
|
|
@@ -22,44 +27,52 @@ const D = /* @__PURE__ */ N({
|
|
|
22
27
|
tabindex: { type: Number, required: !1 }
|
|
23
28
|
},
|
|
24
29
|
emits: ["update:model-value", "select"],
|
|
25
|
-
setup(
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
() =>
|
|
30
|
+
setup(h, { expose: g, emit: y }) {
|
|
31
|
+
g();
|
|
32
|
+
const t = h, a = n(t.modelValue), s = y, b = r(
|
|
33
|
+
() => T({
|
|
29
34
|
"nmorph-autocomplete": []
|
|
30
35
|
})
|
|
31
|
-
),
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
), q = (e) => {
|
|
37
|
+
a.value = e, s("update:model-value", a.value);
|
|
38
|
+
}, l = n(!1), x = n(null), N = () => {
|
|
39
|
+
l.value = !1;
|
|
40
|
+
}, u = r(() => t.list.filter((e) => Object.keys(e).some((L) => String(e[L]).toLowerCase().includes(a.value.toLowerCase())))), c = r(() => t.virtual && u.value.length > 0), d = r(() => t.virtualItemHeight), f = r(() => t.virtualOverscan), o = M(u, {
|
|
41
|
+
enabled: c,
|
|
42
|
+
itemHeight: d,
|
|
43
|
+
overscan: f
|
|
44
|
+
}), I = r(() => o.virtualItems.value), S = r(() => ({
|
|
45
|
+
height: `${o.totalHeight.value}px`
|
|
46
|
+
})), H = r(() => ({
|
|
47
|
+
transform: `translateY(${o.offsetTop.value}px)`
|
|
48
|
+
})), m = (e) => typeof e == "number" ? `${e}px` : e, _ = r(() => m(t.virtualMaxHeight));
|
|
49
|
+
p(u, async (e) => {
|
|
50
|
+
l.value = e.length > 0, await O(), o.scrollToIndex(0), o.refresh();
|
|
38
51
|
});
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
52
|
+
const C = (e) => {
|
|
53
|
+
s("select", e), a.value = e.value, setTimeout(() => {
|
|
54
|
+
l.value = !1;
|
|
42
55
|
});
|
|
43
|
-
},
|
|
44
|
-
|
|
45
|
-
},
|
|
46
|
-
|
|
47
|
-
e !== "" &&
|
|
48
|
-
}), i
|
|
49
|
-
e && (
|
|
56
|
+
}, w = () => {
|
|
57
|
+
l.value = u.value.length > 0;
|
|
58
|
+
}, i = n(!1);
|
|
59
|
+
p(a, async (e) => {
|
|
60
|
+
e !== "" && t.actionCallback && (i.value = !0, await t.actionCallback(), i.value = !1);
|
|
61
|
+
}), p(i, (e) => {
|
|
62
|
+
e && (l.value = !0);
|
|
50
63
|
});
|
|
51
|
-
const
|
|
52
|
-
return
|
|
64
|
+
const v = { props: t, initialValue: a, emit: s, modifiers: b, updateValueHandler: q, open: l, nmorphAutocompleteDOMRef: x, closeHandler: N, filteredList: u, virtualEnabled: c, virtualItemHeight: d, virtualOverscan: f, virtualList: o, virtualItems: I, virtualSpacerStyle: S, virtualContentStyle: H, getCssSize: m, virtualMaxHeight: _, clickHandler: C, focusHandler: w, loader: i, get NmorphIcon() {
|
|
65
|
+
return B;
|
|
53
66
|
}, get NmorphDropdown() {
|
|
54
|
-
return
|
|
67
|
+
return A;
|
|
55
68
|
}, get NmorphTextInput() {
|
|
56
|
-
return
|
|
69
|
+
return V;
|
|
57
70
|
}, get NmorphIconLoader() {
|
|
58
|
-
return
|
|
71
|
+
return D;
|
|
59
72
|
} };
|
|
60
|
-
return Object.defineProperty(
|
|
73
|
+
return Object.defineProperty(v, "__isScriptSetup", { enumerable: !1, value: !0 }), v;
|
|
61
74
|
}
|
|
62
75
|
});
|
|
63
76
|
export {
|
|
64
|
-
|
|
77
|
+
E as default
|
|
65
78
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.nmorph-checkbox{--size: var(--height);display:inline-flex;align-items:center;cursor:pointer}.nmorph-checkbox .nmorph-checkbox__content{position:relative;display:flex;align-items:center;justify-content:center}.nmorph-checkbox .nmorph-checkbox__input-wrapper{position:relative;width:var(--size);height:var(--size)}.nmorph-checkbox input{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%}.nmorph-checkbox input:focus-visible{opacity:1;scale:.95;outline:2px solid var(--nmorph-accent-color)}.nmorph-checkbox .nmorph-checkbox__fake{border-radius:var(--default-border-radius);width:100%;height:100%;position:absolute;top:0;left:0;background:var(--nmorph-main-color);box-shadow:inset var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),inset calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-checkbox .nmorph-checkbox__label,.nmorph-checkbox .nmorph-checkbox__fake span{font-weight:400;font-size:var(--font-size-small);line-height:var(--line-height-regular)}.nmorph-checkbox .nmorph-checkbox__fake-checked{width:50%;height:50%;background:var(--nmorph-accent-color);border-radius:var(--border-radius-20);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nmorph-checkbox .nmorph-checkbox__label{margin-left:var(--indentation-02);line-height:1}.nmorph-checkbox .nmorph-checkbox__fake span{line-height:.8}.nmorph-checkbox.nmorph-checkbox--button .nmorph-checkbox__fake{position:relative;display:flex;align-items:center;height:var(--size);padding:var(--indentation-03);border-radius:var(--default-border-radius);background:var(--nmorph-main-color);box-shadow:var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-checkbox.nmorph-checkbox--checked .nmorph-checkbox__fake{background:var(--nmorph-main-color);box-shadow:inset var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),inset calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-checkbox.nmorph-checkbox--disabled{cursor:not-allowed;opacity:.6}
|
|
1
|
+
.nmorph-checkbox{--size: var(--height);display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer}.nmorph-checkbox .nmorph-checkbox__content{position:relative;display:flex;align-items:center;justify-content:center}.nmorph-checkbox .nmorph-checkbox__input-wrapper{position:relative;width:var(--size);height:var(--size)}.nmorph-checkbox input{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%}.nmorph-checkbox input:focus-visible{opacity:1;scale:.95;outline:2px solid var(--nmorph-accent-color)}.nmorph-checkbox .nmorph-checkbox__fake{border-radius:var(--default-border-radius);width:100%;height:100%;position:absolute;top:0;left:0;background:var(--nmorph-main-color);box-shadow:inset var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),inset calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-checkbox .nmorph-checkbox__label,.nmorph-checkbox .nmorph-checkbox__fake span{font-weight:400;font-size:var(--font-size-small);line-height:var(--line-height-regular)}.nmorph-checkbox .nmorph-checkbox__fake-checked{width:50%;height:50%;background:var(--nmorph-accent-color);border-radius:var(--border-radius-20);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nmorph-checkbox .nmorph-checkbox__label{margin-left:var(--indentation-02);line-height:1}.nmorph-checkbox .nmorph-checkbox__fake span{line-height:.8}.nmorph-checkbox.nmorph-checkbox--button .nmorph-checkbox__fake{position:relative;display:flex;align-items:center;justify-content:center;width:auto;min-width:var(--size);height:var(--size);padding:var(--indentation-03);border-radius:var(--default-border-radius);background:var(--nmorph-main-color);box-shadow:var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-checkbox.nmorph--extra-thin-component .nmorph-checkbox__label,.nmorph-checkbox.nmorph--extra-thin-component .nmorph-checkbox__fake span{font-size:var(--font-size-tiny);line-height:var(--line-height-line)}.nmorph-checkbox.nmorph--extra-thin-component.nmorph-checkbox--button .nmorph-checkbox__fake{padding:var(--indentation-02)}.nmorph-checkbox.nmorph-checkbox--checked .nmorph-checkbox__fake{background:var(--nmorph-main-color);box-shadow:inset var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),inset calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-checkbox.nmorph-checkbox--disabled{cursor:not-allowed;opacity:.6}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './NmorphCheckbox.css';
|
|
2
|
-
import
|
|
3
|
-
import { openBlock as o, createElementBlock as c, normalizeClass as
|
|
2
|
+
import h from "./NmorphCheckbox.vue2.js";
|
|
3
|
+
import { openBlock as o, createElementBlock as c, normalizeClass as i, createElementVNode as n, createCommentVNode as l, toDisplayString as a, renderSlot as r } from "vue";
|
|
4
4
|
/* empty css */
|
|
5
5
|
import t from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
6
6
|
const _ = {
|
|
@@ -25,11 +25,11 @@ const _ = {
|
|
|
25
25
|
key: 1,
|
|
26
26
|
class: "nmorph-checkbox__fake"
|
|
27
27
|
};
|
|
28
|
-
function C(
|
|
28
|
+
function C(s, d, g, e, N, D) {
|
|
29
29
|
return o(), c(
|
|
30
30
|
"label",
|
|
31
31
|
{
|
|
32
|
-
class:
|
|
32
|
+
class: i(e.modifiers)
|
|
33
33
|
},
|
|
34
34
|
[
|
|
35
35
|
e.props.design === "checkbox" ? (o(), c("div", _, [
|
|
@@ -42,27 +42,27 @@ function C(l, r, g, e, N, D) {
|
|
|
42
42
|
class: "nmorph-native-input",
|
|
43
43
|
onChange: e.handleChange
|
|
44
44
|
}, null, 40, k),
|
|
45
|
-
|
|
45
|
+
d[0] || (d[0] = n(
|
|
46
46
|
"div",
|
|
47
47
|
{ class: "nmorph-checkbox__fake" },
|
|
48
48
|
null,
|
|
49
49
|
-1
|
|
50
50
|
/* HOISTED */
|
|
51
51
|
)),
|
|
52
|
-
e.checked ? (o(), c("div", b)) :
|
|
52
|
+
e.checked ? (o(), c("div", b)) : l("v-if", !0)
|
|
53
53
|
]),
|
|
54
54
|
e.props.label ? (o(), c("div", m, [
|
|
55
55
|
n(
|
|
56
56
|
"span",
|
|
57
57
|
null,
|
|
58
|
-
|
|
58
|
+
a(e.props.label),
|
|
59
59
|
1
|
|
60
60
|
/* TEXT */
|
|
61
61
|
)
|
|
62
62
|
])) : (o(), c("div", f, [
|
|
63
|
-
|
|
63
|
+
r(s.$slots, "default")
|
|
64
64
|
]))
|
|
65
|
-
])) :
|
|
65
|
+
])) : l("v-if", !0),
|
|
66
66
|
e.props.design === "button" ? (o(), c("div", x, [
|
|
67
67
|
n("input", {
|
|
68
68
|
ref: "inputDOMRef",
|
|
@@ -75,20 +75,22 @@ function C(l, r, g, e, N, D) {
|
|
|
75
75
|
n(
|
|
76
76
|
"span",
|
|
77
77
|
null,
|
|
78
|
-
|
|
78
|
+
a(e.props.label),
|
|
79
79
|
1
|
|
80
80
|
/* TEXT */
|
|
81
81
|
)
|
|
82
82
|
])) : (o(), c("div", u, [
|
|
83
|
-
|
|
83
|
+
r(s.$slots, "label", {}, () => [
|
|
84
|
+
r(s.$slots, "default")
|
|
85
|
+
])
|
|
84
86
|
]))
|
|
85
|
-
])) :
|
|
87
|
+
])) : l("v-if", !0)
|
|
86
88
|
],
|
|
87
89
|
2
|
|
88
90
|
/* CLASS */
|
|
89
91
|
);
|
|
90
92
|
}
|
|
91
|
-
const R = /* @__PURE__ */ t(
|
|
93
|
+
const R = /* @__PURE__ */ t(h, [["render", C], ["__file", "/builds/ketjo/nmorph/library/src/components/form/nmorph-checkbox/NmorphCheckbox.vue"]]);
|
|
92
94
|
export {
|
|
93
95
|
R as default
|
|
94
96
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './NmorphCheckbox.css';
|
|
2
2
|
import { defineComponent as y, inject as u, watch as k, ref as i, computed as r } from "vue";
|
|
3
3
|
import { useModifiers as x } from "../../../utils/create-modifiers.js";
|
|
4
|
-
import {
|
|
4
|
+
import { NmorphSelectionControlHeight as S } from "../../../types/index.js";
|
|
5
5
|
const $ = /* @__PURE__ */ y({
|
|
6
6
|
__name: "NmorphCheckbox",
|
|
7
7
|
props: {
|
|
@@ -9,7 +9,7 @@ const $ = /* @__PURE__ */ y({
|
|
|
9
9
|
disabled: { type: Boolean, required: !1, default: !1 },
|
|
10
10
|
modelValue: { type: Boolean, required: !1, default: !1 },
|
|
11
11
|
label: { type: String, required: !1, default: "" },
|
|
12
|
-
design: { type: String, required: !1, default: "
|
|
12
|
+
design: { type: String, required: !1, default: "button" },
|
|
13
13
|
height: { type: null, required: !1 }
|
|
14
14
|
},
|
|
15
15
|
emits: ["update:model-value"],
|
|
@@ -20,16 +20,16 @@ const $ = /* @__PURE__ */ y({
|
|
|
20
20
|
), a = u(
|
|
21
21
|
"change-checkbox-value-handler",
|
|
22
22
|
void 0
|
|
23
|
-
),
|
|
23
|
+
), n = u("checkbox-group-height", void 0), e = f;
|
|
24
24
|
k(
|
|
25
25
|
() => e.modelValue,
|
|
26
26
|
(_) => {
|
|
27
27
|
t.value = _;
|
|
28
28
|
}
|
|
29
29
|
);
|
|
30
|
-
const
|
|
31
|
-
m({ inputDOMRef:
|
|
32
|
-
const o = l !== void 0, t = o ? i(l.value) : i(e.modelValue), s = r(() => o ? l.value.includes(e.id) : e.modelValue), c = r(() => e.height ||
|
|
30
|
+
const d = i(null);
|
|
31
|
+
m({ inputDOMRef: d });
|
|
32
|
+
const o = l !== void 0, t = o ? i(l.value) : i(e.modelValue), s = r(() => o ? l.value.includes(e.id) : e.modelValue), c = r(() => e.height || n?.value || "thin"), p = v, g = () => {
|
|
33
33
|
if (!e.disabled) {
|
|
34
34
|
if (!o) {
|
|
35
35
|
t.value = !t.value, p("update:model-value", t.value);
|
|
@@ -39,14 +39,14 @@ const $ = /* @__PURE__ */ y({
|
|
|
39
39
|
}
|
|
40
40
|
}, b = r(
|
|
41
41
|
() => x({
|
|
42
|
-
nmorph: [
|
|
42
|
+
nmorph: [S[c.value]],
|
|
43
43
|
"nmorph-checkbox": [
|
|
44
44
|
`${s.value && "checked"}`,
|
|
45
45
|
`${e.disabled && "disabled"}`,
|
|
46
46
|
`${e.design === "button" && "button"}`
|
|
47
47
|
]
|
|
48
48
|
})
|
|
49
|
-
), h = { groupSelectedValue: l, changeValue: a, groupHeight:
|
|
49
|
+
), h = { groupSelectedValue: l, changeValue: a, groupHeight: n, props: e, inputDOMRef: d, hasGroup: o, initialValue: t, checked: s, height: c, emit: p, handleChange: g, modifiers: b };
|
|
50
50
|
return Object.defineProperty(h, "__isScriptSetup", { enumerable: !1, value: !0 }), h;
|
|
51
51
|
}
|
|
52
52
|
});
|
|
@@ -1,38 +1,46 @@
|
|
|
1
1
|
import './NmorphCheckboxGroup.css';
|
|
2
|
-
import { defineComponent as m, ref as h, computed as d, provide as o } from "vue";
|
|
3
|
-
import { useModifiers as
|
|
4
|
-
import
|
|
5
|
-
const
|
|
2
|
+
import { defineComponent as m, ref as h, watch as g, computed as d, provide as o } from "vue";
|
|
3
|
+
import { useModifiers as b } from "../../../utils/create-modifiers.js";
|
|
4
|
+
import y from "../nmorph-checkbox/NmorphCheckbox.vue.js";
|
|
5
|
+
const _ = /* @__PURE__ */ m({
|
|
6
6
|
__name: "NmorphCheckboxGroup",
|
|
7
7
|
props: {
|
|
8
8
|
modelValue: { type: Array, required: !0, default: () => [] },
|
|
9
9
|
options: { type: Array, required: !1, default: () => [] },
|
|
10
|
-
design: { type: String, required: !1, default: "
|
|
10
|
+
design: { type: String, required: !1, default: "button" },
|
|
11
11
|
direction: { type: null, required: !1, default: "row" },
|
|
12
|
+
height: { type: null, required: !1, default: "thin" },
|
|
12
13
|
id: { type: String, required: !1 },
|
|
13
14
|
name: { type: String, required: !1 },
|
|
14
15
|
autocomplete: { type: String, required: !1 },
|
|
15
|
-
height: { type: null, required: !1, default: "thin" },
|
|
16
16
|
disabled: { type: Boolean, required: !1, default: !1 },
|
|
17
17
|
tabindex: { type: Number, required: !1 }
|
|
18
18
|
},
|
|
19
19
|
emits: ["update:model-value"],
|
|
20
20
|
setup(n, { expose: p, emit: s }) {
|
|
21
21
|
p();
|
|
22
|
-
const r = n, e = h(r.modelValue)
|
|
23
|
-
|
|
22
|
+
const r = n, e = h([...r.modelValue]);
|
|
23
|
+
g(
|
|
24
|
+
() => r.modelValue,
|
|
25
|
+
(t) => {
|
|
26
|
+
e.value = [...t];
|
|
27
|
+
},
|
|
28
|
+
{ deep: !0 }
|
|
29
|
+
);
|
|
30
|
+
const u = s, a = (t) => {
|
|
31
|
+
e.value = e.value.includes(t) ? e.value.filter((f) => f !== t) : [...e.value, t], u("update:model-value", e.value);
|
|
24
32
|
}, c = d(
|
|
25
|
-
() =>
|
|
33
|
+
() => b({
|
|
26
34
|
"nmorph-checkbox-group": [r.design, r.direction]
|
|
27
35
|
})
|
|
28
|
-
),
|
|
29
|
-
o("checkbox-group-selected-value", e), o("change-checkbox-value-handler",
|
|
30
|
-
const i = { props: r, initialValue: e, emit: u, changeHandler:
|
|
31
|
-
return
|
|
36
|
+
), l = d(() => r.height);
|
|
37
|
+
o("checkbox-group-selected-value", e), o("change-checkbox-value-handler", a), o("checkbox-group-height", l);
|
|
38
|
+
const i = { props: r, initialValue: e, emit: u, changeHandler: a, modifiers: c, height: l, get NmorphCheckbox() {
|
|
39
|
+
return y;
|
|
32
40
|
} };
|
|
33
41
|
return Object.defineProperty(i, "__isScriptSetup", { enumerable: !1, value: !0 }), i;
|
|
34
42
|
}
|
|
35
43
|
});
|
|
36
44
|
export {
|
|
37
|
-
|
|
45
|
+
_ as default
|
|
38
46
|
};
|
|
@@ -20,44 +20,45 @@ const E = /* @__PURE__ */ R({
|
|
|
20
20
|
setup(_, { expose: q, emit: M }) {
|
|
21
21
|
const o = _, g = M, { id: V, name: S, tabindex: x } = L(o), s = (e, r = "#000000") => {
|
|
22
22
|
const t = e?.trim() || "";
|
|
23
|
-
return /^#[\da-f]{6}$/i.test(t) ? t.toLowerCase() : /^#[\da-f]{3}$/i.test(t) ? `#${t.slice(1).split("").map((
|
|
23
|
+
return /^#[\da-f]{6}$/i.test(t) ? t.toLowerCase() : /^#[\da-f]{3}$/i.test(t) ? `#${t.slice(1).split("").map((n) => `${n}${n}`).join("").toLowerCase()}` : r;
|
|
24
24
|
}, c = h(null), m = () => {
|
|
25
|
+
if (typeof document > "u") return "#006cb6";
|
|
25
26
|
const e = c.value || document.documentElement, r = getComputedStyle(e).getPropertyValue("--nmorph-accent-color").trim();
|
|
26
27
|
return s(r, "#006cb6");
|
|
27
|
-
},
|
|
28
|
+
}, a = h(s(o.modelValue)), b = h(!1);
|
|
28
29
|
j(
|
|
29
30
|
() => o.modelValue,
|
|
30
31
|
(e) => {
|
|
31
|
-
|
|
32
|
+
a.value = e ? s(e) : m();
|
|
32
33
|
}
|
|
33
34
|
);
|
|
34
35
|
const I = (e) => {
|
|
35
36
|
const r = e.target, t = s(r.value);
|
|
36
|
-
|
|
37
|
+
a.value = t, g("update:model-value", t);
|
|
37
38
|
}, p = (e) => [
|
|
38
39
|
parseInt(e.slice(1, 3), 16),
|
|
39
40
|
parseInt(e.slice(3, 5), 16),
|
|
40
41
|
parseInt(e.slice(5, 7), 16)
|
|
41
42
|
], y = (e) => {
|
|
42
|
-
const [r, t,
|
|
43
|
-
return `rgb(${r}, ${t}, ${
|
|
43
|
+
const [r, t, n] = p(e);
|
|
44
|
+
return `rgb(${r}, ${t}, ${n})`;
|
|
44
45
|
}, $ = (e) => {
|
|
45
|
-
const [r, t,
|
|
46
|
+
const [r, t, n] = p(e).map((P) => P / 255), l = Math.max(r, t, n), u = Math.min(r, t, n), f = (l + u) / 2;
|
|
46
47
|
if (l === u)
|
|
47
48
|
return `hsl(0, 0%, ${Math.round(f * 100)}%)`;
|
|
48
49
|
const i = l - u, N = f > 0.5 ? i / (2 - l - u) : i / (l + u);
|
|
49
50
|
let d = 0;
|
|
50
|
-
return l === r ? d = (t -
|
|
51
|
+
return l === r ? d = (t - n) / i + (t < n ? 6 : 0) : l === t ? d = (n - r) / i + 2 : d = (r - t) / i + 4, `hsl(${Math.round(d * 60)}, ${Math.round(N * 100)}%, ${Math.round(f * 100)}%)`;
|
|
51
52
|
};
|
|
52
53
|
k(() => {
|
|
53
|
-
o.modelValue || (
|
|
54
|
+
o.modelValue || (a.value = m());
|
|
54
55
|
}), q({ inputDOMRef: c });
|
|
55
56
|
const F = C(
|
|
56
57
|
() => H({
|
|
57
58
|
nmorph: [B[o.height], `${b.value && "focused"}`],
|
|
58
59
|
"nmorph-color-picker": [`${o.disabled && "disabled"}`, o.displayFormat]
|
|
59
60
|
})
|
|
60
|
-
), w = C(() => o.displayFormat === "rgb" ? y(
|
|
61
|
+
), w = C(() => o.displayFormat === "rgb" ? y(a.value) : o.displayFormat === "hsl" ? $(a.value) : a.value.toUpperCase()), v = { props: o, emit: g, id: V, name: S, tabindex: x, normalizeColor: s, inputDOMRef: c, resolveAccentColor: m, currentValue: a, focused: b, handleInput: I, hexToRgb: p, formatRgb: y, formatHsl: $, modifiers: F, displayValue: w };
|
|
61
62
|
return Object.defineProperty(v, "__isScriptSetup", { enumerable: !1, value: !0 }), v;
|
|
62
63
|
}
|
|
63
64
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.nmorph-radio{--size: var(--height);display:inline-flex;align-items:center;cursor:pointer}.nmorph-radio .nmorph-radio__content{position:relative;display:flex;align-items:center;justify-content:center}.nmorph-radio span{margin-top:2px}.nmorph-radio .nmorph-radio__input-wrapper{position:relative;width:var(--size);height:var(--size)}.nmorph-radio input{position:absolute;top:0;left:0;width:100%;height:100%}.nmorph-radio input:focus-visible{background:var(--nmorph-main-color);box-shadow:var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-radio .nmorph-radio__fake{border-radius:var(--border-radius-circular);width:100%;height:100%;position:absolute;top:0;left:0;background:var(--nmorph-main-color);box-shadow:inset var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),inset calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-radio .nmorph-radio__fake span,.nmorph-radio .nmorph-radio__label{font-weight:400;font-size:var(--font-size-small);line-height:var(--line-height-regular)}.nmorph-radio .nmorph-radio__fake-checked{width:50%;height:50%;background:var(--nmorph-accent-color);border-radius:var(--border-radius-circular);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nmorph-radio .nmorph-radio__label{margin-left:var(--indentation-02)}.nmorph-radio.nmorph-radio--button .nmorph-radio__fake{position:relative;display:flex;align-items:center;justify-content:center;height:var(--size);padding:var(--indentation-03);white-space:nowrap;border-radius:var(--default-border-radius);background:var(--nmorph-main-color);box-shadow:var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-radio.nmorph-radio--checked .nmorph-radio__fake{background:var(--nmorph-main-color);box-shadow:inset var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),inset calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-radio.nmorph-radio--disabled{cursor:not-allowed;opacity:.6}
|
|
1
|
+
.nmorph-radio{--size: var(--height);display:inline-flex;align-items:center;cursor:pointer}.nmorph-radio .nmorph-radio__content{position:relative;display:flex;align-items:center;justify-content:center}.nmorph-radio span{margin-top:2px}.nmorph-radio .nmorph-radio__input-wrapper{position:relative;width:var(--size);height:var(--size)}.nmorph-radio input{position:absolute;top:0;left:0;width:100%;height:100%}.nmorph-radio input:focus-visible{background:var(--nmorph-main-color);box-shadow:var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-radio .nmorph-radio__fake{border-radius:var(--border-radius-circular);width:100%;height:100%;position:absolute;top:0;left:0;background:var(--nmorph-main-color);box-shadow:inset var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),inset calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-radio .nmorph-radio__fake span,.nmorph-radio .nmorph-radio__label{font-weight:400;font-size:var(--font-size-small);line-height:var(--line-height-regular)}.nmorph-radio .nmorph-radio__fake-checked{width:50%;height:50%;background:var(--nmorph-accent-color);border-radius:var(--border-radius-circular);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nmorph-radio .nmorph-radio__label{margin-left:var(--indentation-02)}.nmorph-radio.nmorph-radio--button .nmorph-radio__fake{position:relative;display:flex;align-items:center;justify-content:center;height:var(--size);padding:var(--indentation-03);white-space:nowrap;border-radius:var(--default-border-radius);background:var(--nmorph-main-color);box-shadow:var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-radio.nmorph--extra-thin-component .nmorph-radio__fake span,.nmorph-radio.nmorph--extra-thin-component .nmorph-radio__label{font-size:var(--font-size-tiny);line-height:var(--line-height-line)}.nmorph-radio.nmorph--extra-thin-component.nmorph-radio--button .nmorph-radio__fake{padding:var(--indentation-02)}.nmorph-radio.nmorph-radio--checked .nmorph-radio__fake{background:var(--nmorph-main-color);box-shadow:inset var(--base-shadow-width) var(--base-shadow-width) var(--base-shadow-blur) var(--nmorph-dark-shade-color),inset calc(-1 * var(--base-shadow-width)) calc(-1 * var(--base-shadow-width)) var(--base-shadow-blur) var(--nmorph-light-shade-color)}.nmorph-radio.nmorph-radio--disabled{cursor:not-allowed;opacity:.6}
|