@frontpanel/vue 0.4.0 → 0.5.0
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/FpCheckbox.vue.d.ts +29 -0
- package/dist/FpCheckboxGroup.vue.d.ts +31 -0
- package/dist/FpKnob.vue.d.ts +3 -3
- package/dist/FpMeter.vue.d.ts +2 -2
- package/dist/FpRadioGroup.vue.d.ts +31 -0
- package/dist/FpSlider.vue.d.ts +4 -4
- package/dist/index.d.ts +7 -0
- package/dist/index.js +262 -79
- package/dist/keys.d.ts +16 -0
- package/package.json +2 -2
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { FpLedColor } from './FpLed.vue';
|
|
2
|
+
import type { FpKeyLed } from './keys';
|
|
3
|
+
export interface FpCheckboxProps {
|
|
4
|
+
/** A silkscreen label over the key, which also names it. Without one, give it an `aria-label`. */
|
|
5
|
+
label?: string;
|
|
6
|
+
/** Standing up, or on its side with the label before it. */
|
|
7
|
+
orientation?: 'vertical' | 'horizontal';
|
|
8
|
+
/** Where the light is: the strip at the foot of the key, an LED over the label, or none. */
|
|
9
|
+
led?: FpKeyLed;
|
|
10
|
+
/** The colour its LED lights in. */
|
|
11
|
+
color?: FpLedColor;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
type __VLS_Props = FpCheckboxProps;
|
|
15
|
+
type __VLS_ModelProps = {
|
|
16
|
+
modelValue?: boolean;
|
|
17
|
+
};
|
|
18
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
19
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
20
|
+
"update:modelValue": (value: boolean) => any;
|
|
21
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
22
|
+
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
23
|
+
}>, {
|
|
24
|
+
color: FpLedColor;
|
|
25
|
+
orientation: "vertical" | "horizontal";
|
|
26
|
+
led: FpKeyLed;
|
|
27
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
28
|
+
declare const _default: typeof __VLS_export;
|
|
29
|
+
export default _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { FpLedColor } from './FpLed.vue';
|
|
2
|
+
import type { FpKeyLed, FpKeyOption } from './keys';
|
|
3
|
+
export interface FpCheckboxGroupProps {
|
|
4
|
+
/** The keys, left to right or top to bottom. */
|
|
5
|
+
options: FpKeyOption[];
|
|
6
|
+
/** A silkscreen label under the keys, which also names the group. Without one, give it an `aria-label`. */
|
|
7
|
+
label?: string;
|
|
8
|
+
/** Keys standing side by side, or on their side and stacked. */
|
|
9
|
+
orientation?: 'vertical' | 'horizontal';
|
|
10
|
+
/** Where the light is: the strip at the foot of each key, an LED over each label, or none. */
|
|
11
|
+
led?: FpKeyLed;
|
|
12
|
+
/** The colour the LEDs light in, unless an option sets its own. */
|
|
13
|
+
color?: FpLedColor;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
type __VLS_Props = FpCheckboxGroupProps;
|
|
17
|
+
type __VLS_ModelProps = {
|
|
18
|
+
modelValue?: string[];
|
|
19
|
+
};
|
|
20
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
21
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
22
|
+
"update:modelValue": (value: string[]) => any;
|
|
23
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
24
|
+
"onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
|
|
25
|
+
}>, {
|
|
26
|
+
color: FpLedColor;
|
|
27
|
+
orientation: "vertical" | "horizontal";
|
|
28
|
+
led: FpKeyLed;
|
|
29
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
30
|
+
declare const _default: typeof __VLS_export;
|
|
31
|
+
export default _default;
|
package/dist/FpKnob.vue.d.ts
CHANGED
|
@@ -17,14 +17,14 @@ type __VLS_ModelProps = {
|
|
|
17
17
|
};
|
|
18
18
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
19
19
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
20
|
-
valueCommit: (value: number) => any;
|
|
21
20
|
"update:modelValue": (value: number) => any;
|
|
21
|
+
valueCommit: (value: number) => any;
|
|
22
22
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
23
|
-
onValueCommit?: ((value: number) => any) | undefined;
|
|
24
23
|
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
|
|
24
|
+
onValueCommit?: ((value: number) => any) | undefined;
|
|
25
25
|
}>, {
|
|
26
|
-
min: number;
|
|
27
26
|
max: number;
|
|
27
|
+
min: number;
|
|
28
28
|
step: number;
|
|
29
29
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
30
30
|
declare const _default: typeof __VLS_export;
|
package/dist/FpMeter.vue.d.ts
CHANGED
|
@@ -22,11 +22,11 @@ export interface FpMeterProps {
|
|
|
22
22
|
valueText?: (value: number) => string;
|
|
23
23
|
}
|
|
24
24
|
declare const __VLS_export: import("vue").DefineComponent<FpMeterProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<FpMeterProps> & Readonly<{}>, {
|
|
25
|
+
orientation: "vertical" | "horizontal";
|
|
25
26
|
value: number;
|
|
26
|
-
min: number;
|
|
27
27
|
max: number;
|
|
28
|
+
min: number;
|
|
28
29
|
segments: number;
|
|
29
|
-
orientation: "vertical" | "horizontal";
|
|
30
30
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
31
31
|
declare const _default: typeof __VLS_export;
|
|
32
32
|
export default _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { FpLedColor } from './FpLed.vue';
|
|
2
|
+
import type { FpKeyLed, FpKeyOption } from './keys';
|
|
3
|
+
export interface FpRadioGroupProps {
|
|
4
|
+
/** The keys, left to right or top to bottom. */
|
|
5
|
+
options: FpKeyOption[];
|
|
6
|
+
/** A silkscreen label under the keys, which also names the group. Without one, give it an `aria-label`. */
|
|
7
|
+
label?: string;
|
|
8
|
+
/** Keys standing side by side, or on their side and stacked. */
|
|
9
|
+
orientation?: 'vertical' | 'horizontal';
|
|
10
|
+
/** Where the light is: the strip at the foot of each key, an LED over each label, or none. */
|
|
11
|
+
led?: FpKeyLed;
|
|
12
|
+
/** The colour the LEDs light in, unless an option sets its own. */
|
|
13
|
+
color?: FpLedColor;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
type __VLS_Props = FpRadioGroupProps;
|
|
17
|
+
type __VLS_ModelProps = {
|
|
18
|
+
modelValue?: string;
|
|
19
|
+
};
|
|
20
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
21
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
22
|
+
"update:modelValue": (value: string | undefined) => any;
|
|
23
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
24
|
+
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
25
|
+
}>, {
|
|
26
|
+
color: FpLedColor;
|
|
27
|
+
orientation: "vertical" | "horizontal";
|
|
28
|
+
led: FpKeyLed;
|
|
29
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
30
|
+
declare const _default: typeof __VLS_export;
|
|
31
|
+
export default _default;
|
package/dist/FpSlider.vue.d.ts
CHANGED
|
@@ -19,16 +19,16 @@ type __VLS_ModelProps = {
|
|
|
19
19
|
};
|
|
20
20
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
21
21
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
22
|
-
valueCommit: (value: number) => any;
|
|
23
22
|
"update:modelValue": (value: number) => any;
|
|
23
|
+
valueCommit: (value: number) => any;
|
|
24
24
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
25
|
-
onValueCommit?: ((value: number) => any) | undefined;
|
|
26
25
|
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
|
|
26
|
+
onValueCommit?: ((value: number) => any) | undefined;
|
|
27
27
|
}>, {
|
|
28
|
-
|
|
28
|
+
orientation: "vertical" | "horizontal";
|
|
29
29
|
max: number;
|
|
30
|
+
min: number;
|
|
30
31
|
step: number;
|
|
31
|
-
orientation: "vertical" | "horizontal";
|
|
32
32
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
33
33
|
declare const _default: typeof __VLS_export;
|
|
34
34
|
export default _default;
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ export { default as FpButtonGroup } from './FpButtonGroup.vue';
|
|
|
5
5
|
export type { FpButtonGroupProps } from './FpButtonGroup.vue';
|
|
6
6
|
export { default as FpCap } from './FpCap.vue';
|
|
7
7
|
export type { FpCapColor, FpCapProps } from './FpCap.vue';
|
|
8
|
+
export { default as FpCheckbox } from './FpCheckbox.vue';
|
|
9
|
+
export type { FpCheckboxProps } from './FpCheckbox.vue';
|
|
10
|
+
export { default as FpCheckboxGroup } from './FpCheckboxGroup.vue';
|
|
11
|
+
export type { FpCheckboxGroupProps } from './FpCheckboxGroup.vue';
|
|
8
12
|
export { default as FpDevice } from './FpDevice.vue';
|
|
9
13
|
export type { FpDeviceProps } from './FpDevice.vue';
|
|
10
14
|
export { default as FpGelButton } from './FpGelButton.vue';
|
|
@@ -28,6 +32,8 @@ export type { FpMenuItemProps } from './FpMenuItem.vue';
|
|
|
28
32
|
export { default as FpMenuSeparator } from './FpMenuSeparator.vue';
|
|
29
33
|
export { default as FpMeter } from './FpMeter.vue';
|
|
30
34
|
export type { FpMeterProps } from './FpMeter.vue';
|
|
35
|
+
export { default as FpRadioGroup } from './FpRadioGroup.vue';
|
|
36
|
+
export type { FpRadioGroupProps } from './FpRadioGroup.vue';
|
|
31
37
|
export { default as FpReadout } from './FpReadout.vue';
|
|
32
38
|
export type { FpReadoutProps } from './FpReadout.vue';
|
|
33
39
|
export { default as FpScrew } from './FpScrew.vue';
|
|
@@ -43,5 +49,6 @@ export { default as FpWindow } from './FpWindow.vue';
|
|
|
43
49
|
export type { FpWindowProps } from './FpWindow.vue';
|
|
44
50
|
export { fpIconNames } from './icons';
|
|
45
51
|
export type { FpIconName } from './icons';
|
|
52
|
+
export type { FpKeyLed, FpKeyOption } from './keys';
|
|
46
53
|
export type { FpLens } from './lens';
|
|
47
54
|
export { fpReadoutGlyph } from './readout';
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, mergeModels as l, mergeProps as u, normalizeClass as d, normalizeStyle as f, onMounted as p, openBlock as m, ref as h, renderList as g, renderSlot as _, resolveDynamicComponent as v, shallowRef as y, toDisplayString as b, unref as x, useAttrs as S, useId as C, useModel as w, useTemplateRef as T, warn as E, watch as D, withCtx as O } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { CheckboxGroupRoot as k, CheckboxRoot as A, DropdownMenuContent as ee, DropdownMenuItem as te, DropdownMenuPortal as j, DropdownMenuRoot as ne, DropdownMenuSeparator as re, DropdownMenuTrigger as ie, Primitive as M, RadioGroupItem as ae, RadioGroupRoot as oe, SliderRoot as se, SliderThumb as ce, SliderTrack as le, SwitchRoot as ue, SwitchThumb as de } from "reka-ui";
|
|
3
3
|
//#endregion
|
|
4
4
|
//#region src/FpButton.vue
|
|
5
|
-
var
|
|
5
|
+
var N = /* @__PURE__ */ c({
|
|
6
6
|
__name: "FpButton",
|
|
7
7
|
props: {
|
|
8
8
|
pressed: {
|
|
@@ -14,7 +14,7 @@ var L = /* @__PURE__ */ c({
|
|
|
14
14
|
},
|
|
15
15
|
setup(e) {
|
|
16
16
|
let t = e;
|
|
17
|
-
return (e, r) => (m(), n(x(
|
|
17
|
+
return (e, r) => (m(), n(x(M), {
|
|
18
18
|
as: t.as,
|
|
19
19
|
"as-child": t.asChild,
|
|
20
20
|
class: "fp-chrome-btn",
|
|
@@ -30,7 +30,7 @@ var L = /* @__PURE__ */ c({
|
|
|
30
30
|
"aria-pressed"
|
|
31
31
|
]));
|
|
32
32
|
}
|
|
33
|
-
}),
|
|
33
|
+
}), P = /* @__PURE__ */ c({
|
|
34
34
|
__name: "FpButtonGroup",
|
|
35
35
|
props: {
|
|
36
36
|
asChild: { type: Boolean },
|
|
@@ -38,7 +38,7 @@ var L = /* @__PURE__ */ c({
|
|
|
38
38
|
},
|
|
39
39
|
setup(e) {
|
|
40
40
|
let t = e;
|
|
41
|
-
return (e, r) => (m(), n(x(
|
|
41
|
+
return (e, r) => (m(), n(x(M), {
|
|
42
42
|
as: t.as,
|
|
43
43
|
"as-child": t.asChild,
|
|
44
44
|
class: "fp-button-group",
|
|
@@ -48,7 +48,7 @@ var L = /* @__PURE__ */ c({
|
|
|
48
48
|
_: 3
|
|
49
49
|
}, 8, ["as", "as-child"]));
|
|
50
50
|
}
|
|
51
|
-
}),
|
|
51
|
+
}), F = /* @__PURE__ */ c({
|
|
52
52
|
__name: "FpCap",
|
|
53
53
|
props: {
|
|
54
54
|
color: { default: "white" },
|
|
@@ -67,7 +67,7 @@ var L = /* @__PURE__ */ c({
|
|
|
67
67
|
graphite: "fp-cap-graphite",
|
|
68
68
|
berry: "fp-cap-berry"
|
|
69
69
|
};
|
|
70
|
-
return (e, i) => (m(), n(x(
|
|
70
|
+
return (e, i) => (m(), n(x(M), {
|
|
71
71
|
as: t.as,
|
|
72
72
|
"as-child": t.asChild,
|
|
73
73
|
class: d(["fp-cap", r[t.color]]),
|
|
@@ -84,10 +84,130 @@ var L = /* @__PURE__ */ c({
|
|
|
84
84
|
"aria-pressed"
|
|
85
85
|
]));
|
|
86
86
|
}
|
|
87
|
+
}), I = {
|
|
88
|
+
green: "fp-led-green",
|
|
89
|
+
amber: "fp-led-amber",
|
|
90
|
+
red: "fp-led-red"
|
|
91
|
+
}, L = ["data-orientation"], R = ["id"], z = /* @__PURE__ */ c({
|
|
92
|
+
inheritAttrs: !1,
|
|
93
|
+
__name: "FpCheckbox",
|
|
94
|
+
props: /*@__PURE__*/ l({
|
|
95
|
+
label: {},
|
|
96
|
+
orientation: { default: "horizontal" },
|
|
97
|
+
led: { default: "strip" },
|
|
98
|
+
color: { default: "green" },
|
|
99
|
+
disabled: { type: Boolean }
|
|
100
|
+
}, {
|
|
101
|
+
modelValue: {
|
|
102
|
+
type: Boolean,
|
|
103
|
+
default: !1
|
|
104
|
+
},
|
|
105
|
+
modelModifiers: {}
|
|
106
|
+
}),
|
|
107
|
+
emits: ["update:modelValue"],
|
|
108
|
+
setup(e) {
|
|
109
|
+
let n = e, a = w(e, "modelValue"), c = C(), l = S(), f = t(() => ({
|
|
110
|
+
class: l.class,
|
|
111
|
+
style: l.style
|
|
112
|
+
})), p = t(() => {
|
|
113
|
+
let { class: e, style: t, ...n } = l;
|
|
114
|
+
return n;
|
|
115
|
+
});
|
|
116
|
+
return (e, t) => (m(), i("div", u({
|
|
117
|
+
class: "fp-keys",
|
|
118
|
+
"data-orientation": n.orientation
|
|
119
|
+
}, f.value), [n.label ? (m(), i("span", {
|
|
120
|
+
key: 0,
|
|
121
|
+
id: x(c),
|
|
122
|
+
class: "fp-silk"
|
|
123
|
+
}, [n.led === "above" ? (m(), i("span", {
|
|
124
|
+
key: 0,
|
|
125
|
+
class: d(["fp-led", [x(I)[n.color], { "fp-led-lit": a.value }]]),
|
|
126
|
+
"aria-hidden": "true"
|
|
127
|
+
}, null, 2)) : r("", !0), o(b(n.label), 1)], 8, R)) : r("", !0), s(x(A), u(p.value, {
|
|
128
|
+
modelValue: a.value,
|
|
129
|
+
"onUpdate:modelValue": t[0] ||= (e) => a.value = e,
|
|
130
|
+
class: ["fp-key", n.led === "strip" ? x(I)[n.color] : void 0],
|
|
131
|
+
"data-strip": n.led === "strip" ? void 0 : "plain",
|
|
132
|
+
disabled: n.disabled,
|
|
133
|
+
"aria-labelledby": n.label ? x(c) : void 0
|
|
134
|
+
}), null, 16, [
|
|
135
|
+
"modelValue",
|
|
136
|
+
"class",
|
|
137
|
+
"data-strip",
|
|
138
|
+
"disabled",
|
|
139
|
+
"aria-labelledby"
|
|
140
|
+
])], 16, L));
|
|
141
|
+
}
|
|
142
|
+
}), B = ["id"], V = /* @__PURE__ */ c({
|
|
143
|
+
inheritAttrs: !1,
|
|
144
|
+
__name: "FpCheckboxGroup",
|
|
145
|
+
props: /*@__PURE__*/ l({
|
|
146
|
+
options: {},
|
|
147
|
+
label: {},
|
|
148
|
+
orientation: { default: "horizontal" },
|
|
149
|
+
led: { default: "strip" },
|
|
150
|
+
color: { default: "green" },
|
|
151
|
+
disabled: { type: Boolean }
|
|
152
|
+
}, {
|
|
153
|
+
modelValue: { default: () => [] },
|
|
154
|
+
modelModifiers: {}
|
|
155
|
+
}),
|
|
156
|
+
emits: ["update:modelValue"],
|
|
157
|
+
setup(n) {
|
|
158
|
+
let c = n, l = w(n, "modelValue"), f = C(), p = `${f}-label`, h = (e) => `${f}-key-${e}`, _ = (e) => I[e.color ?? c.color], v = S(), y = t(() => ({
|
|
159
|
+
class: v.class,
|
|
160
|
+
style: v.style
|
|
161
|
+
})), T = t(() => {
|
|
162
|
+
let { class: e, style: t, ...n } = v;
|
|
163
|
+
return n;
|
|
164
|
+
});
|
|
165
|
+
return (t, n) => (m(), i("div", u({ class: "fp-unit" }, y.value), [s(x(k), u(T.value, {
|
|
166
|
+
modelValue: l.value,
|
|
167
|
+
"onUpdate:modelValue": n[0] ||= (e) => l.value = e,
|
|
168
|
+
class: "fp-keys",
|
|
169
|
+
role: "group",
|
|
170
|
+
"roving-focus": !1,
|
|
171
|
+
"data-orientation": c.orientation,
|
|
172
|
+
disabled: c.disabled,
|
|
173
|
+
"aria-labelledby": c.label ? p : void 0
|
|
174
|
+
}), {
|
|
175
|
+
default: O(() => [(m(!0), i(e, null, g(c.options, (t, n) => (m(), i(e, { key: t.value }, [a("span", {
|
|
176
|
+
id: h(n),
|
|
177
|
+
class: "fp-silk"
|
|
178
|
+
}, [c.led === "above" ? (m(), i("span", {
|
|
179
|
+
key: 0,
|
|
180
|
+
class: d(["fp-led", [_(t), { "fp-led-lit": l.value.includes(t.value) }]]),
|
|
181
|
+
"aria-hidden": "true"
|
|
182
|
+
}, null, 2)) : r("", !0), o(b(t.label), 1)], 8, B), s(x(A), {
|
|
183
|
+
value: t.value,
|
|
184
|
+
disabled: t.disabled,
|
|
185
|
+
class: d(["fp-key", c.led === "strip" ? _(t) : void 0]),
|
|
186
|
+
"data-strip": c.led === "strip" ? void 0 : "plain",
|
|
187
|
+
"aria-labelledby": h(n)
|
|
188
|
+
}, null, 8, [
|
|
189
|
+
"value",
|
|
190
|
+
"disabled",
|
|
191
|
+
"class",
|
|
192
|
+
"data-strip",
|
|
193
|
+
"aria-labelledby"
|
|
194
|
+
])], 64))), 128))]),
|
|
195
|
+
_: 1
|
|
196
|
+
}, 16, [
|
|
197
|
+
"modelValue",
|
|
198
|
+
"data-orientation",
|
|
199
|
+
"disabled",
|
|
200
|
+
"aria-labelledby"
|
|
201
|
+
]), c.label ? (m(), i("span", {
|
|
202
|
+
key: 0,
|
|
203
|
+
id: p,
|
|
204
|
+
class: "fp-silk"
|
|
205
|
+
}, b(c.label), 1)) : r("", !0)], 16));
|
|
206
|
+
}
|
|
87
207
|
});
|
|
88
208
|
//#endregion
|
|
89
209
|
//#region src/fit.ts
|
|
90
|
-
function
|
|
210
|
+
function H(e, t, n, r) {
|
|
91
211
|
if (t.width <= 0 || n.width <= 0) return null;
|
|
92
212
|
let i = t.width / n.width;
|
|
93
213
|
if (e === "contain") {
|
|
@@ -98,7 +218,7 @@ function oe(e, t, n, r) {
|
|
|
98
218
|
}
|
|
99
219
|
//#endregion
|
|
100
220
|
//#region src/FpDevice.vue?vue&type=script&setup=true&lang.ts
|
|
101
|
-
var
|
|
221
|
+
var fe = { class: "fp-device-body" }, pe = /* @__PURE__ */ c({
|
|
102
222
|
__name: "FpDevice",
|
|
103
223
|
props: {
|
|
104
224
|
backdrop: {
|
|
@@ -118,7 +238,7 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
118
238
|
let n = e, r = T("stage"), o = T("device"), s = y({
|
|
119
239
|
width: 0,
|
|
120
240
|
height: 0
|
|
121
|
-
}), c = y(0), l = t(() => n.fit === "none" ? !1 : n.width !== void 0 || (E(`FpDevice: fit="${n.fit}" needs a design width; the device is not scaled.`), !1)), u = t(() => n.height ?? c.value), p = t(() => !l.value || n.fit === "none" ? null :
|
|
241
|
+
}), c = y(0), l = t(() => n.fit === "none" ? !1 : n.width !== void 0 || (E(`FpDevice: fit="${n.fit}" needs a design width; the device is not scaled.`), !1)), u = t(() => n.height ?? c.value), p = t(() => !l.value || n.fit === "none" ? null : H(n.fit, s.value, {
|
|
122
242
|
width: n.width,
|
|
123
243
|
height: u.value
|
|
124
244
|
}, n.maxScale));
|
|
@@ -170,7 +290,7 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
170
290
|
ref: o,
|
|
171
291
|
class: "fp-device-rim",
|
|
172
292
|
style: f(b.value)
|
|
173
|
-
}, [a("div",
|
|
293
|
+
}, [a("div", fe, [_(e.$slots, "default")])], 4)) : (m(), i("div", {
|
|
174
294
|
key: 1,
|
|
175
295
|
ref_key: "device",
|
|
176
296
|
ref: o,
|
|
@@ -178,7 +298,7 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
178
298
|
style: f(b.value)
|
|
179
299
|
}, [_(e.$slots, "default")], 4))], 4)], 6));
|
|
180
300
|
}
|
|
181
|
-
}),
|
|
301
|
+
}), me = /* @__PURE__ */ c({
|
|
182
302
|
__name: "FpGelButton",
|
|
183
303
|
props: {
|
|
184
304
|
asChild: { type: Boolean },
|
|
@@ -186,7 +306,7 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
186
306
|
},
|
|
187
307
|
setup(e) {
|
|
188
308
|
let t = e;
|
|
189
|
-
return (e, r) => (m(), n(x(
|
|
309
|
+
return (e, r) => (m(), n(x(M), {
|
|
190
310
|
as: t.as,
|
|
191
311
|
"as-child": t.asChild,
|
|
192
312
|
class: "fp-gel",
|
|
@@ -200,7 +320,7 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
200
320
|
"type"
|
|
201
321
|
]));
|
|
202
322
|
}
|
|
203
|
-
}),
|
|
323
|
+
}), he = /* @__PURE__ */ c({
|
|
204
324
|
__name: "FpHousing",
|
|
205
325
|
props: {
|
|
206
326
|
asChild: { type: Boolean },
|
|
@@ -208,7 +328,7 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
208
328
|
},
|
|
209
329
|
setup(e) {
|
|
210
330
|
let t = e;
|
|
211
|
-
return (e, r) => (m(), n(x(
|
|
331
|
+
return (e, r) => (m(), n(x(M), {
|
|
212
332
|
as: t.as,
|
|
213
333
|
"as-child": t.asChild,
|
|
214
334
|
class: "fp-housing"
|
|
@@ -217,7 +337,7 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
217
337
|
_: 3
|
|
218
338
|
}, 8, ["as", "as-child"]));
|
|
219
339
|
}
|
|
220
|
-
}),
|
|
340
|
+
}), U = [
|
|
221
341
|
"................",
|
|
222
342
|
"................",
|
|
223
343
|
".....#..........",
|
|
@@ -234,7 +354,7 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
234
354
|
"................",
|
|
235
355
|
"................",
|
|
236
356
|
"................"
|
|
237
|
-
],
|
|
357
|
+
], W = [
|
|
238
358
|
"................",
|
|
239
359
|
"................",
|
|
240
360
|
".........##.....",
|
|
@@ -251,7 +371,7 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
251
371
|
".........##.....",
|
|
252
372
|
"................",
|
|
253
373
|
"................"
|
|
254
|
-
],
|
|
374
|
+
], G = (e) => e.map((e) => [...e].reverse().join("")), K = {
|
|
255
375
|
add: [
|
|
256
376
|
"................",
|
|
257
377
|
"................",
|
|
@@ -288,8 +408,8 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
288
408
|
"................",
|
|
289
409
|
"................"
|
|
290
410
|
],
|
|
291
|
-
left:
|
|
292
|
-
right: W
|
|
411
|
+
left: W,
|
|
412
|
+
right: G(W),
|
|
293
413
|
down: [
|
|
294
414
|
"................",
|
|
295
415
|
"................",
|
|
@@ -344,8 +464,8 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
344
464
|
"................",
|
|
345
465
|
"................"
|
|
346
466
|
],
|
|
347
|
-
undo:
|
|
348
|
-
redo:
|
|
467
|
+
undo: U,
|
|
468
|
+
redo: G(U),
|
|
349
469
|
home: [
|
|
350
470
|
"................",
|
|
351
471
|
".......##.......",
|
|
@@ -563,7 +683,7 @@ var R = { class: "fp-device-body" }, z = /* @__PURE__ */ c({
|
|
|
563
683
|
"................"
|
|
564
684
|
]
|
|
565
685
|
};
|
|
566
|
-
function
|
|
686
|
+
function ge(e) {
|
|
567
687
|
let t = "";
|
|
568
688
|
return e.forEach((e, n) => {
|
|
569
689
|
let r = 0;
|
|
@@ -579,27 +699,27 @@ function K(e) {
|
|
|
579
699
|
}
|
|
580
700
|
}), t;
|
|
581
701
|
}
|
|
582
|
-
var q = Object.keys(
|
|
702
|
+
var q = Object.keys(K), _e = Object.fromEntries(q.map((e) => [e, ge(K[e])])), ve = [
|
|
583
703
|
"role",
|
|
584
704
|
"aria-label",
|
|
585
705
|
"aria-hidden"
|
|
586
|
-
],
|
|
706
|
+
], ye = ["d"], J = /* @__PURE__ */ c({
|
|
587
707
|
__name: "FpIcon",
|
|
588
708
|
props: {
|
|
589
709
|
name: {},
|
|
590
710
|
label: {}
|
|
591
711
|
},
|
|
592
712
|
setup(e) {
|
|
593
|
-
let n = e, r = t(() =>
|
|
713
|
+
let n = e, r = t(() => _e[n.name]);
|
|
594
714
|
return (e, t) => (m(), i("svg", {
|
|
595
715
|
viewBox: "0 0 16 16",
|
|
596
716
|
class: "fp-icon",
|
|
597
717
|
role: n.label ? "img" : void 0,
|
|
598
718
|
"aria-label": n.label || void 0,
|
|
599
719
|
"aria-hidden": n.label ? void 0 : "true"
|
|
600
|
-
}, [a("path", { d: r.value }, null, 8,
|
|
720
|
+
}, [a("path", { d: r.value }, null, 8, ye)], 8, ve));
|
|
601
721
|
}
|
|
602
|
-
}),
|
|
722
|
+
}), be = [
|
|
603
723
|
"tabindex",
|
|
604
724
|
"aria-valuemin",
|
|
605
725
|
"aria-valuemax",
|
|
@@ -607,7 +727,7 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
607
727
|
"aria-valuetext",
|
|
608
728
|
"aria-labelledby",
|
|
609
729
|
"aria-disabled"
|
|
610
|
-
],
|
|
730
|
+
], xe = ["id"], Se = 200, Ce = .1, Y = 270, we = /* @__PURE__ */ c({
|
|
611
731
|
inheritAttrs: !1,
|
|
612
732
|
__name: "FpKnob",
|
|
613
733
|
props: /*@__PURE__*/ l({
|
|
@@ -672,7 +792,7 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
672
792
|
}
|
|
673
793
|
function k(e) {
|
|
674
794
|
if (!D || e.pointerId !== D.pointerId) return;
|
|
675
|
-
let t = (o.max - o.min) /
|
|
795
|
+
let t = (o.max - o.min) / Se * (e.shiftKey ? Ce : 1);
|
|
676
796
|
D.raw = Math.min(o.max, Math.max(o.min, D.raw + (D.y - e.clientY) * t)), D.y = e.clientY, T(D.raw);
|
|
677
797
|
}
|
|
678
798
|
function A(e) {
|
|
@@ -698,13 +818,13 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
698
818
|
}), [a("span", {
|
|
699
819
|
class: "fp-knob-mark",
|
|
700
820
|
style: f({ rotate: `${y.value}deg` })
|
|
701
|
-
}, null, 4)], 16,
|
|
821
|
+
}, null, 4)], 16, be), o.label ? (m(), i("span", {
|
|
702
822
|
key: 0,
|
|
703
823
|
id: x(h),
|
|
704
824
|
class: "fp-silk"
|
|
705
|
-
}, b(o.label), 9,
|
|
825
|
+
}, b(o.label), 9, xe)) : r("", !0)], 16));
|
|
706
826
|
}
|
|
707
|
-
}),
|
|
827
|
+
}), Te = /* @__PURE__ */ c({
|
|
708
828
|
__name: "FpLcd",
|
|
709
829
|
props: {
|
|
710
830
|
asChild: { type: Boolean },
|
|
@@ -712,7 +832,7 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
712
832
|
},
|
|
713
833
|
setup(e) {
|
|
714
834
|
let t = e;
|
|
715
|
-
return (e, r) => (m(), n(x(
|
|
835
|
+
return (e, r) => (m(), n(x(M), {
|
|
716
836
|
as: t.as,
|
|
717
837
|
"as-child": t.asChild,
|
|
718
838
|
class: "fp-lcd"
|
|
@@ -721,11 +841,11 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
721
841
|
_: 3
|
|
722
842
|
}, 8, ["as", "as-child"]));
|
|
723
843
|
}
|
|
724
|
-
}),
|
|
844
|
+
}), Ee = {
|
|
725
845
|
key: 0,
|
|
726
846
|
class: "fp-lcd-ghost",
|
|
727
847
|
"aria-hidden": "true"
|
|
728
|
-
},
|
|
848
|
+
}, De = { key: 2 }, Oe = /* @__PURE__ */ c({
|
|
729
849
|
__name: "FpLcdLine",
|
|
730
850
|
props: {
|
|
731
851
|
text: {},
|
|
@@ -737,15 +857,15 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
737
857
|
},
|
|
738
858
|
setup(e) {
|
|
739
859
|
let a = e, o = t(() => "8".repeat(a.cells ?? a.text.length));
|
|
740
|
-
return (e, t) => (m(), n(x(
|
|
860
|
+
return (e, t) => (m(), n(x(M), {
|
|
741
861
|
as: a.as,
|
|
742
862
|
"as-child": a.asChild,
|
|
743
863
|
class: "fp-lcd-line"
|
|
744
864
|
}, {
|
|
745
|
-
default: O(() => [a.ghost ? (m(), i("span",
|
|
865
|
+
default: O(() => [a.ghost ? (m(), i("span", Ee, b(o.value), 1)) : r("", !0), a.redraw ? (m(), i("span", {
|
|
746
866
|
key: a.text,
|
|
747
867
|
class: "fp-lcd-redraw"
|
|
748
|
-
}, b(a.text), 1)) : (m(), i("span",
|
|
868
|
+
}, b(a.text), 1)) : (m(), i("span", De, b(a.text), 1))]),
|
|
749
869
|
_: 1
|
|
750
870
|
}, 8, ["as", "as-child"]));
|
|
751
871
|
}
|
|
@@ -753,11 +873,11 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
753
873
|
flat: "fp-lens-flat",
|
|
754
874
|
diffused: "fp-lens-diffused",
|
|
755
875
|
clear: "fp-lens-clear"
|
|
756
|
-
},
|
|
876
|
+
}, ke = [
|
|
757
877
|
"role",
|
|
758
878
|
"aria-label",
|
|
759
879
|
"aria-hidden"
|
|
760
|
-
],
|
|
880
|
+
], Ae = /* @__PURE__ */ c({
|
|
761
881
|
__name: "FpLed",
|
|
762
882
|
props: {
|
|
763
883
|
color: { default: "green" },
|
|
@@ -784,9 +904,9 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
784
904
|
role: t.label ? "img" : void 0,
|
|
785
905
|
"aria-label": t.label || void 0,
|
|
786
906
|
"aria-hidden": t.label ? void 0 : "true"
|
|
787
|
-
}, null, 10,
|
|
907
|
+
}, null, 10, ke));
|
|
788
908
|
}
|
|
789
|
-
}),
|
|
909
|
+
}), je = /* @__PURE__ */ c({
|
|
790
910
|
inheritAttrs: !1,
|
|
791
911
|
__name: "FpMenu",
|
|
792
912
|
props: /*@__PURE__*/ l({
|
|
@@ -815,12 +935,12 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
815
935
|
e && c();
|
|
816
936
|
}), p(() => {
|
|
817
937
|
r.value && c();
|
|
818
|
-
}), (e, c) => (m(), n(x(
|
|
938
|
+
}), (e, c) => (m(), n(x(ne), {
|
|
819
939
|
open: r.value,
|
|
820
940
|
"onUpdate:open": c[0] ||= (e) => r.value = e,
|
|
821
941
|
modal: t.modal
|
|
822
942
|
}, {
|
|
823
|
-
default: O(() => [s(x(
|
|
943
|
+
default: O(() => [s(x(ie), {
|
|
824
944
|
ref_key: "trigger",
|
|
825
945
|
ref: a,
|
|
826
946
|
"as-child": ""
|
|
@@ -828,7 +948,7 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
828
948
|
default: O(() => [_(e.$slots, "trigger", { open: r.value })]),
|
|
829
949
|
_: 3
|
|
830
950
|
}, 512), s(x(j), { to: t.to }, {
|
|
831
|
-
default: O(() => [s(x(
|
|
951
|
+
default: O(() => [s(x(ee), u(x(i), {
|
|
832
952
|
class: "fp-menu",
|
|
833
953
|
"data-fp-skin": o.value,
|
|
834
954
|
side: t.side,
|
|
@@ -849,7 +969,7 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
849
969
|
_: 3
|
|
850
970
|
}, 8, ["open", "modal"]));
|
|
851
971
|
}
|
|
852
|
-
}),
|
|
972
|
+
}), Me = /* @__PURE__ */ c({
|
|
853
973
|
__name: "FpMenuItem",
|
|
854
974
|
props: {
|
|
855
975
|
disabled: { type: Boolean },
|
|
@@ -860,7 +980,7 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
860
980
|
emits: ["select"],
|
|
861
981
|
setup(e, { emit: t }) {
|
|
862
982
|
let r = e, i = t;
|
|
863
|
-
return (e, t) => (m(), n(x(
|
|
983
|
+
return (e, t) => (m(), n(x(te), {
|
|
864
984
|
as: r.as,
|
|
865
985
|
"as-child": r.asChild,
|
|
866
986
|
disabled: r.disabled,
|
|
@@ -877,19 +997,19 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
877
997
|
"text-value"
|
|
878
998
|
]));
|
|
879
999
|
}
|
|
880
|
-
}),
|
|
1000
|
+
}), Ne = /* @__PURE__ */ c({
|
|
881
1001
|
__name: "FpMenuSeparator",
|
|
882
1002
|
setup(e) {
|
|
883
|
-
return (e, t) => (m(), n(x(
|
|
1003
|
+
return (e, t) => (m(), n(x(re), { class: "fp-menu-separator" }));
|
|
884
1004
|
}
|
|
885
|
-
}),
|
|
1005
|
+
}), Pe = [
|
|
886
1006
|
"data-orientation",
|
|
887
1007
|
"aria-valuemin",
|
|
888
1008
|
"aria-valuemax",
|
|
889
1009
|
"aria-valuenow",
|
|
890
1010
|
"aria-valuetext",
|
|
891
1011
|
"aria-labelledby"
|
|
892
|
-
],
|
|
1012
|
+
], Fe = ["id"], Ie = /* @__PURE__ */ c({
|
|
893
1013
|
inheritAttrs: !1,
|
|
894
1014
|
__name: "FpMeter",
|
|
895
1015
|
props: {
|
|
@@ -938,11 +1058,74 @@ var q = Object.keys(G), se = Object.fromEntries(q.map((e) => [e, K(G[e])])), ce
|
|
|
938
1058
|
"aria-valuetext": n.valueText?.(d.value),
|
|
939
1059
|
"aria-labelledby": n.label ? x(l) : void 0,
|
|
940
1060
|
style: h.value
|
|
941
|
-
}), null, 16,
|
|
1061
|
+
}), null, 16, Pe), n.label ? (m(), i("span", {
|
|
942
1062
|
key: 0,
|
|
943
1063
|
id: x(l),
|
|
944
1064
|
class: "fp-silk"
|
|
945
|
-
}, b(n.label), 9,
|
|
1065
|
+
}, b(n.label), 9, Fe)) : r("", !0)], 16));
|
|
1066
|
+
}
|
|
1067
|
+
}), Le = ["id"], Re = /* @__PURE__ */ c({
|
|
1068
|
+
inheritAttrs: !1,
|
|
1069
|
+
__name: "FpRadioGroup",
|
|
1070
|
+
props: /*@__PURE__*/ l({
|
|
1071
|
+
options: {},
|
|
1072
|
+
label: {},
|
|
1073
|
+
orientation: { default: "horizontal" },
|
|
1074
|
+
led: { default: "strip" },
|
|
1075
|
+
color: { default: "green" },
|
|
1076
|
+
disabled: { type: Boolean }
|
|
1077
|
+
}, {
|
|
1078
|
+
modelValue: {},
|
|
1079
|
+
modelModifiers: {}
|
|
1080
|
+
}),
|
|
1081
|
+
emits: ["update:modelValue"],
|
|
1082
|
+
setup(n) {
|
|
1083
|
+
let c = n, l = w(n, "modelValue"), f = C(), p = `${f}-label`, h = (e) => `${f}-key-${e}`, _ = (e) => I[e.color ?? c.color], v = S(), y = t(() => ({
|
|
1084
|
+
class: v.class,
|
|
1085
|
+
style: v.style
|
|
1086
|
+
})), T = t(() => {
|
|
1087
|
+
let { class: e, style: t, ...n } = v;
|
|
1088
|
+
return n;
|
|
1089
|
+
});
|
|
1090
|
+
return (t, n) => (m(), i("div", u({ class: "fp-unit" }, y.value), [s(x(oe), u(T.value, {
|
|
1091
|
+
modelValue: l.value,
|
|
1092
|
+
"onUpdate:modelValue": n[0] ||= (e) => l.value = e,
|
|
1093
|
+
class: "fp-keys",
|
|
1094
|
+
orientation: c.orientation,
|
|
1095
|
+
disabled: c.disabled,
|
|
1096
|
+
"aria-labelledby": c.label ? p : void 0
|
|
1097
|
+
}), {
|
|
1098
|
+
default: O(() => [(m(!0), i(e, null, g(c.options, (t, n) => (m(), i(e, { key: t.value }, [a("span", {
|
|
1099
|
+
id: h(n),
|
|
1100
|
+
class: "fp-silk"
|
|
1101
|
+
}, [c.led === "above" ? (m(), i("span", {
|
|
1102
|
+
key: 0,
|
|
1103
|
+
class: d(["fp-led", [_(t), { "fp-led-lit": l.value === t.value }]]),
|
|
1104
|
+
"aria-hidden": "true"
|
|
1105
|
+
}, null, 2)) : r("", !0), o(b(t.label), 1)], 8, Le), s(x(ae), {
|
|
1106
|
+
value: t.value,
|
|
1107
|
+
disabled: t.disabled,
|
|
1108
|
+
class: d(["fp-key", c.led === "strip" ? _(t) : void 0]),
|
|
1109
|
+
"data-strip": c.led === "strip" ? void 0 : "plain",
|
|
1110
|
+
"aria-labelledby": h(n)
|
|
1111
|
+
}, null, 8, [
|
|
1112
|
+
"value",
|
|
1113
|
+
"disabled",
|
|
1114
|
+
"class",
|
|
1115
|
+
"data-strip",
|
|
1116
|
+
"aria-labelledby"
|
|
1117
|
+
])], 64))), 128))]),
|
|
1118
|
+
_: 1
|
|
1119
|
+
}, 16, [
|
|
1120
|
+
"modelValue",
|
|
1121
|
+
"orientation",
|
|
1122
|
+
"disabled",
|
|
1123
|
+
"aria-labelledby"
|
|
1124
|
+
]), c.label ? (m(), i("span", {
|
|
1125
|
+
key: 0,
|
|
1126
|
+
id: p,
|
|
1127
|
+
class: "fp-silk"
|
|
1128
|
+
}, b(c.label), 1)) : r("", !0)], 16));
|
|
946
1129
|
}
|
|
947
1130
|
}), Z = {
|
|
948
1131
|
0: "abcdef",
|
|
@@ -988,10 +1171,10 @@ function Q(e) {
|
|
|
988
1171
|
}
|
|
989
1172
|
//#endregion
|
|
990
1173
|
//#region src/FpReadout.vue?vue&type=script&setup=true&lang.ts
|
|
991
|
-
var
|
|
1174
|
+
var ze = { class: "fp-readout-text" }, Be = ["data-colon"], Ve = { class: "fp-readout-lit" }, He = ["data-segment"], Ue = {
|
|
992
1175
|
key: 0,
|
|
993
1176
|
"data-segment": "dp"
|
|
994
|
-
},
|
|
1177
|
+
}, We = /* @__PURE__ */ c({
|
|
995
1178
|
__name: "FpReadout",
|
|
996
1179
|
props: {
|
|
997
1180
|
value: {},
|
|
@@ -1026,25 +1209,25 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1026
1209
|
dot: !1
|
|
1027
1210
|
})), ...e];
|
|
1028
1211
|
});
|
|
1029
|
-
return (t, n) => (m(), i("span", { class: d(["fp-readout", [s[o.color], o.lens && x(X)[o.lens]]]) }, [a("span",
|
|
1212
|
+
return (t, n) => (m(), i("span", { class: d(["fp-readout", [s[o.color], o.lens && x(X)[o.lens]]]) }, [a("span", ze, b(o.valueText ? o.valueText(c.value) : c.value), 1), (m(!0), i(e, null, g(l.value, (t, o) => (m(), i("span", {
|
|
1030
1213
|
key: o,
|
|
1031
1214
|
class: "fp-readout-cell",
|
|
1032
1215
|
"data-colon": t.colon ? "" : void 0,
|
|
1033
1216
|
"aria-hidden": "true"
|
|
1034
|
-
}, [a("span",
|
|
1217
|
+
}, [a("span", Ve, [t.colon ? (m(), i(e, { key: 0 }, [n[0] ||= a("span", { "data-segment": "colon-upper" }, null, -1), n[1] ||= a("span", { "data-segment": "colon-lower" }, null, -1)], 64)) : (m(), i(e, { key: 1 }, [(m(!0), i(e, null, g(t.lit, (e) => (m(), i("span", {
|
|
1035
1218
|
key: e,
|
|
1036
1219
|
"data-segment": e
|
|
1037
|
-
}, null, 8,
|
|
1220
|
+
}, null, 8, He))), 128)), t.dot ? (m(), i("span", Ue)) : r("", !0)], 64))])], 8, Be))), 128))], 2));
|
|
1038
1221
|
}
|
|
1039
|
-
}),
|
|
1222
|
+
}), $ = {
|
|
1040
1223
|
class: "fp-screw",
|
|
1041
1224
|
"aria-hidden": "true"
|
|
1042
|
-
},
|
|
1225
|
+
}, Ge = /* @__PURE__ */ c({
|
|
1043
1226
|
__name: "FpScrew",
|
|
1044
1227
|
setup(e) {
|
|
1045
|
-
return (e, t) => (m(), i("span",
|
|
1228
|
+
return (e, t) => (m(), i("span", $));
|
|
1046
1229
|
}
|
|
1047
|
-
}),
|
|
1230
|
+
}), Ke = /* @__PURE__ */ c({
|
|
1048
1231
|
__name: "FpSilk",
|
|
1049
1232
|
props: {
|
|
1050
1233
|
asChild: { type: Boolean },
|
|
@@ -1052,7 +1235,7 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1052
1235
|
},
|
|
1053
1236
|
setup(e) {
|
|
1054
1237
|
let t = e;
|
|
1055
|
-
return (e, r) => (m(), n(x(
|
|
1238
|
+
return (e, r) => (m(), n(x(M), {
|
|
1056
1239
|
as: t.as,
|
|
1057
1240
|
"as-child": t.asChild,
|
|
1058
1241
|
class: "fp-silk"
|
|
@@ -1061,7 +1244,7 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1061
1244
|
_: 3
|
|
1062
1245
|
}, 8, ["as", "as-child"]));
|
|
1063
1246
|
}
|
|
1064
|
-
}),
|
|
1247
|
+
}), qe = ["id"], Je = /* @__PURE__ */ c({
|
|
1065
1248
|
inheritAttrs: !1,
|
|
1066
1249
|
__name: "FpSlider",
|
|
1067
1250
|
props: /*@__PURE__*/ l({
|
|
@@ -1102,7 +1285,7 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1102
1285
|
ref_key: "unit",
|
|
1103
1286
|
ref: _,
|
|
1104
1287
|
class: "fp-unit"
|
|
1105
|
-
}, d.value, { onPointerdownCapture: v }), [s(x(
|
|
1288
|
+
}, d.value, { onPointerdownCapture: v }), [s(x(se), {
|
|
1106
1289
|
class: "fp-fader",
|
|
1107
1290
|
"model-value": h.value,
|
|
1108
1291
|
min: a.min,
|
|
@@ -1113,7 +1296,7 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1113
1296
|
"onUpdate:modelValue": g,
|
|
1114
1297
|
onValueCommit: y
|
|
1115
1298
|
}, {
|
|
1116
|
-
default: O(() => [s(x(
|
|
1299
|
+
default: O(() => [s(x(le), { class: "fp-fader-slot" }), s(x(ce), u(f.value, {
|
|
1117
1300
|
class: "fp-fader-cap",
|
|
1118
1301
|
"aria-valuetext": a.valueText?.(c.value),
|
|
1119
1302
|
"aria-labelledby": a.label ? x(p) : void 0,
|
|
@@ -1135,9 +1318,9 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1135
1318
|
key: 0,
|
|
1136
1319
|
id: x(p),
|
|
1137
1320
|
class: "fp-silk"
|
|
1138
|
-
}, b(a.label), 9,
|
|
1321
|
+
}, b(a.label), 9, qe)) : r("", !0)], 16));
|
|
1139
1322
|
}
|
|
1140
|
-
}),
|
|
1323
|
+
}), Ye = ["data-label-placement"], Xe = ["id"], Ze = /* @__PURE__ */ c({
|
|
1141
1324
|
inheritAttrs: !1,
|
|
1142
1325
|
__name: "FpSwitch",
|
|
1143
1326
|
props: /*@__PURE__*/ l({
|
|
@@ -1169,7 +1352,7 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1169
1352
|
return (e, t) => (m(), i("div", u({
|
|
1170
1353
|
class: "fp-unit",
|
|
1171
1354
|
"data-label-placement": n.labelPlacement
|
|
1172
|
-
}, f.value), [s(x(
|
|
1355
|
+
}, f.value), [s(x(ue), u(p.value, {
|
|
1173
1356
|
modelValue: c.value,
|
|
1174
1357
|
"onUpdate:modelValue": t[0] ||= (e) => c.value = e,
|
|
1175
1358
|
class: ["fp-switch", o[n.color]],
|
|
@@ -1177,7 +1360,7 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1177
1360
|
disabled: n.disabled,
|
|
1178
1361
|
"aria-labelledby": n.label ? x(l) : void 0
|
|
1179
1362
|
}), {
|
|
1180
|
-
default: O(() => [s(x(
|
|
1363
|
+
default: O(() => [s(x(de), { class: "fp-switch-rocker" }, {
|
|
1181
1364
|
default: O(() => [...t[1] ||= [a("span", { class: "fp-switch-lamp" }, null, -1), a("span", { class: "fp-switch-face" }, null, -1)]]),
|
|
1182
1365
|
_: 1
|
|
1183
1366
|
})]),
|
|
@@ -1192,9 +1375,9 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1192
1375
|
key: 0,
|
|
1193
1376
|
id: x(l),
|
|
1194
1377
|
class: "fp-silk"
|
|
1195
|
-
}, b(n.label), 9,
|
|
1378
|
+
}, b(n.label), 9, Xe)) : r("", !0)], 16, Ye));
|
|
1196
1379
|
}
|
|
1197
|
-
}),
|
|
1380
|
+
}), Qe = /* @__PURE__ */ c({
|
|
1198
1381
|
__name: "FpWell",
|
|
1199
1382
|
props: {
|
|
1200
1383
|
asChild: { type: Boolean },
|
|
@@ -1202,7 +1385,7 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1202
1385
|
},
|
|
1203
1386
|
setup(e) {
|
|
1204
1387
|
let t = e;
|
|
1205
|
-
return (e, r) => (m(), n(x(
|
|
1388
|
+
return (e, r) => (m(), n(x(M), {
|
|
1206
1389
|
as: t.as,
|
|
1207
1390
|
"as-child": t.asChild,
|
|
1208
1391
|
class: "fp-well"
|
|
@@ -1211,7 +1394,7 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1211
1394
|
_: 3
|
|
1212
1395
|
}, 8, ["as", "as-child"]));
|
|
1213
1396
|
}
|
|
1214
|
-
}),
|
|
1397
|
+
}), $e = { class: "fp-module-title" }, et = /* @__PURE__ */ c({
|
|
1215
1398
|
__name: "FpWindow",
|
|
1216
1399
|
props: {
|
|
1217
1400
|
as: { default: "section" },
|
|
@@ -1225,12 +1408,12 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1225
1408
|
emits: ["close"],
|
|
1226
1409
|
setup(e, { emit: t }) {
|
|
1227
1410
|
let i = e, c = t, l = C();
|
|
1228
|
-
return (e, t) => (m(), n(x(
|
|
1411
|
+
return (e, t) => (m(), n(x(M), {
|
|
1229
1412
|
as: i.as,
|
|
1230
1413
|
class: d(["fp-window", [i.sheet ? "fp-sheet-panel" : "fp-module"]]),
|
|
1231
1414
|
"aria-labelledby": x(l)
|
|
1232
1415
|
}, {
|
|
1233
|
-
default: O(() => [a("div",
|
|
1416
|
+
default: O(() => [a("div", $e, [
|
|
1234
1417
|
(m(), n(v(`h${i.level}`), {
|
|
1235
1418
|
id: x(l),
|
|
1236
1419
|
class: "fp-silk fp-window-title"
|
|
@@ -1239,7 +1422,7 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1239
1422
|
_: 1
|
|
1240
1423
|
}, 8, ["id"])),
|
|
1241
1424
|
_(e.$slots, "actions"),
|
|
1242
|
-
i.closable ? (m(), n(
|
|
1425
|
+
i.closable ? (m(), n(N, {
|
|
1243
1426
|
key: 0,
|
|
1244
1427
|
"aria-label": i.closeLabel ?? `Close ${i.title}`,
|
|
1245
1428
|
onClick: t[0] ||= (e) => c("close")
|
|
@@ -1257,4 +1440,4 @@ var De = { class: "fp-readout-text" }, Oe = ["data-colon"], ke = { class: "fp-re
|
|
|
1257
1440
|
}
|
|
1258
1441
|
});
|
|
1259
1442
|
//#endregion
|
|
1260
|
-
export {
|
|
1443
|
+
export { N as FpButton, P as FpButtonGroup, F as FpCap, z as FpCheckbox, V as FpCheckboxGroup, pe as FpDevice, me as FpGelButton, he as FpHousing, J as FpIcon, we as FpKnob, Te as FpLcd, Oe as FpLcdLine, Ae as FpLed, je as FpMenu, Me as FpMenuItem, Ne as FpMenuSeparator, Ie as FpMeter, Re as FpRadioGroup, We as FpReadout, Ge as FpScrew, Ke as FpSilk, Je as FpSlider, Ze as FpSwitch, Qe as FpWell, et as FpWindow, q as fpIconNames, Q as fpReadoutGlyph };
|
package/dist/keys.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FpLedColor } from './FpLed.vue';
|
|
2
|
+
/** One key in an FpRadioGroup or FpCheckboxGroup. */
|
|
3
|
+
export interface FpKeyOption {
|
|
4
|
+
value: string;
|
|
5
|
+
/** Its silkscreen label, printed over the key, which also names it. */
|
|
6
|
+
label: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
/** The colour its LED lights in. Unset, it takes the group's colour. */
|
|
9
|
+
color?: FpLedColor;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Where a piano key's light is: the strip at the foot of the key is the LED, an LED sits over its
|
|
13
|
+
* label, or there is none and the strip is plain plastic.
|
|
14
|
+
*/
|
|
15
|
+
export type FpKeyLed = 'strip' | 'above' | 'none';
|
|
16
|
+
export declare const ledColorClass: Record<FpLedColor, string>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontpanel/vue",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.5.0",
|
|
5
5
|
"description": "Vue 3 components for the Frontpanel early-2000s hardware skin: a scale-to-fit device frame, windows, chrome and gel buttons, caps, LCDs and LEDs, built on Reka UI.",
|
|
6
6
|
"author": "Dulan Katukurundage",
|
|
7
7
|
"license": "MIT",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"reka-ui": "^2.11.0",
|
|
39
|
-
"@frontpanel/css": "^0.
|
|
39
|
+
"@frontpanel/css": "^0.5.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@tailwindcss/oxide": "^4.3.3",
|