@vielzeug/refine 1.3.0 → 1.4.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/button.cjs +1 -1
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +3 -3
- package/dist/button.js.map +1 -1
- package/dist/checkbox-group.cjs +7 -7
- package/dist/checkbox-group.cjs.map +1 -1
- package/dist/checkbox-group.js +35 -26
- package/dist/checkbox-group.js.map +1 -1
- package/dist/checkbox.cjs +3 -3
- package/dist/checkbox.cjs.map +1 -1
- package/dist/checkbox.js +24 -19
- package/dist/checkbox.js.map +1 -1
- package/dist/combobox.cjs +24 -24
- package/dist/combobox.cjs.map +1 -1
- package/dist/combobox.js +133 -129
- package/dist/combobox.js.map +1 -1
- package/dist/content/card/card.css.cjs +1 -1
- package/dist/content/card/card.css.cjs.map +1 -1
- package/dist/content/card/card.css.js +1 -1
- package/dist/content/card/card.css.js.map +1 -1
- package/dist/content/icon/icon.css.cjs +1 -1
- package/dist/content/icon/icon.css.cjs.map +1 -1
- package/dist/content/icon/icon.css.js +1 -1
- package/dist/content/icon/icon.css.js.map +1 -1
- package/dist/custom-elements.json +4711 -4209
- package/dist/feedback/toast/toast.css.cjs +1 -1
- package/dist/feedback/toast/toast.css.cjs.map +1 -1
- package/dist/feedback/toast/toast.css.js +1 -1
- package/dist/feedback/toast/toast.css.js.map +1 -1
- package/dist/headless/auto-resize.cjs +2 -0
- package/dist/headless/auto-resize.cjs.map +1 -0
- package/dist/headless/auto-resize.d.ts +29 -0
- package/dist/headless/auto-resize.d.ts.map +1 -0
- package/dist/headless/auto-resize.js +16 -0
- package/dist/headless/auto-resize.js.map +1 -0
- package/dist/headless/checkable.cjs +1 -1
- package/dist/headless/checkable.cjs.map +1 -1
- package/dist/headless/checkable.d.ts +25 -7
- package/dist/headless/checkable.d.ts.map +1 -1
- package/dist/headless/checkable.js +19 -14
- package/dist/headless/checkable.js.map +1 -1
- package/dist/headless/choice-field.cjs +1 -1
- package/dist/headless/choice-field.cjs.map +1 -1
- package/dist/headless/choice-field.d.ts +21 -0
- package/dist/headless/choice-field.d.ts.map +1 -1
- package/dist/headless/choice-field.js +27 -19
- package/dist/headless/choice-field.js.map +1 -1
- package/dist/headless/composer.cjs +2 -0
- package/dist/headless/composer.cjs.map +1 -0
- package/dist/headless/composer.d.ts +44 -0
- package/dist/headless/composer.d.ts.map +1 -0
- package/dist/headless/composer.js +21 -0
- package/dist/headless/composer.js.map +1 -0
- package/dist/headless/field-base.cjs +1 -1
- package/dist/headless/field-base.cjs.map +1 -1
- package/dist/headless/field-base.d.ts +97 -84
- package/dist/headless/field-base.d.ts.map +1 -1
- package/dist/headless/field-base.js +43 -32
- package/dist/headless/field-base.js.map +1 -1
- package/dist/headless/index.d.ts +3 -1
- package/dist/headless/index.d.ts.map +1 -1
- package/dist/headless/text-field.cjs +1 -1
- package/dist/headless/text-field.cjs.map +1 -1
- package/dist/headless/text-field.d.ts +40 -0
- package/dist/headless/text-field.d.ts.map +1 -1
- package/dist/headless/text-field.js +30 -25
- package/dist/headless/text-field.js.map +1 -1
- package/dist/headless.cjs +1 -1
- package/dist/headless.js +27 -25
- package/dist/index.cjs +1 -1
- package/dist/index.js +61 -60
- package/dist/input.cjs +9 -9
- package/dist/input.cjs.map +1 -1
- package/dist/input.js +49 -44
- package/dist/input.js.map +1 -1
- package/dist/inputs/button/button.css.cjs +1 -1
- package/dist/inputs/button/button.css.cjs.map +1 -1
- package/dist/inputs/button/button.css.js +1 -1
- package/dist/inputs/button/button.css.js.map +1 -1
- package/dist/inputs/checkbox/checkbox.css.cjs +1 -1
- package/dist/inputs/checkbox/checkbox.css.cjs.map +1 -1
- package/dist/inputs/checkbox/checkbox.css.js +1 -1
- package/dist/inputs/checkbox/checkbox.css.js.map +1 -1
- package/dist/inputs/checkbox/checkbox.d.ts +3 -0
- package/dist/inputs/checkbox/checkbox.d.ts.map +1 -1
- package/dist/inputs/checkbox-group/checkbox-group.css.cjs +1 -1
- package/dist/inputs/checkbox-group/checkbox-group.css.cjs.map +1 -1
- package/dist/inputs/checkbox-group/checkbox-group.css.js +1 -1
- package/dist/inputs/checkbox-group/checkbox-group.css.js.map +1 -1
- package/dist/inputs/combobox/combobox.d.ts +1 -0
- package/dist/inputs/combobox/combobox.d.ts.map +1 -1
- package/dist/inputs/combobox/combobox.types.d.ts +2 -0
- package/dist/inputs/combobox/combobox.types.d.ts.map +1 -1
- package/dist/inputs/file-input/file-input.css.cjs +1 -1
- package/dist/inputs/file-input/file-input.css.cjs.map +1 -1
- package/dist/inputs/file-input/file-input.css.js +1 -1
- package/dist/inputs/file-input/file-input.css.js.map +1 -1
- package/dist/inputs/index.d.ts +2 -0
- package/dist/inputs/index.d.ts.map +1 -1
- package/dist/inputs/input/input.css.cjs +1 -1
- package/dist/inputs/input/input.css.cjs.map +1 -1
- package/dist/inputs/input/input.css.js +1 -1
- package/dist/inputs/input/input.css.js.map +1 -1
- package/dist/inputs/input/input.d.ts.map +1 -1
- package/dist/inputs/message-composer/message-composer.css.cjs +2 -0
- package/dist/inputs/message-composer/message-composer.css.cjs.map +1 -0
- package/dist/inputs/message-composer/message-composer.css.js +6 -0
- package/dist/inputs/message-composer/message-composer.css.js.map +1 -0
- package/dist/inputs/message-composer/message-composer.d.ts +139 -0
- package/dist/inputs/message-composer/message-composer.d.ts.map +1 -0
- package/dist/inputs/otp-input/otp-input.css.cjs +1 -1
- package/dist/inputs/otp-input/otp-input.css.cjs.map +1 -1
- package/dist/inputs/otp-input/otp-input.css.js +1 -1
- package/dist/inputs/otp-input/otp-input.css.js.map +1 -1
- package/dist/inputs/radio/radio.css.cjs +1 -1
- package/dist/inputs/radio/radio.css.cjs.map +1 -1
- package/dist/inputs/radio/radio.css.js +1 -1
- package/dist/inputs/radio/radio.css.js.map +1 -1
- package/dist/inputs/radio-group/radio-group.css.cjs +1 -1
- package/dist/inputs/radio-group/radio-group.css.cjs.map +1 -1
- package/dist/inputs/radio-group/radio-group.css.js +1 -1
- package/dist/inputs/radio-group/radio-group.css.js.map +1 -1
- package/dist/inputs/rating/rating.css.cjs +1 -1
- package/dist/inputs/rating/rating.css.cjs.map +1 -1
- package/dist/inputs/rating/rating.css.js +1 -1
- package/dist/inputs/rating/rating.css.js.map +1 -1
- package/dist/inputs/shared/field-binding.cjs +1 -1
- package/dist/inputs/shared/field-binding.cjs.map +1 -1
- package/dist/inputs/shared/field-binding.d.ts +15 -0
- package/dist/inputs/shared/field-binding.d.ts.map +1 -1
- package/dist/inputs/shared/field-binding.js +4 -3
- package/dist/inputs/shared/field-binding.js.map +1 -1
- package/dist/inputs/shared/form-context.cjs.map +1 -1
- package/dist/inputs/shared/form-context.d.ts +6 -0
- package/dist/inputs/shared/form-context.d.ts.map +1 -1
- package/dist/inputs/shared/form-context.js.map +1 -1
- package/dist/inputs/slider/slider.css.cjs +1 -1
- package/dist/inputs/slider/slider.css.cjs.map +1 -1
- package/dist/inputs/slider/slider.css.js +1 -1
- package/dist/inputs/slider/slider.css.js.map +1 -1
- package/dist/inputs/switch/switch.css.cjs +1 -1
- package/dist/inputs/switch/switch.css.cjs.map +1 -1
- package/dist/inputs/switch/switch.css.js +1 -1
- package/dist/inputs/switch/switch.css.js.map +1 -1
- package/dist/inputs/textarea/textarea.css.cjs +1 -1
- package/dist/inputs/textarea/textarea.css.cjs.map +1 -1
- package/dist/inputs/textarea/textarea.css.js +1 -1
- package/dist/inputs/textarea/textarea.css.js.map +1 -1
- package/dist/inputs/textarea/textarea.d.ts.map +1 -1
- package/dist/layout/navbar/navbar.css.cjs +1 -1
- package/dist/layout/navbar/navbar.css.cjs.map +1 -1
- package/dist/layout/navbar/navbar.css.js +1 -1
- package/dist/layout/navbar/navbar.css.js.map +1 -1
- package/dist/layout/sidebar/sidebar.css.cjs +1 -1
- package/dist/layout/sidebar/sidebar.css.cjs.map +1 -1
- package/dist/layout/sidebar/sidebar.css.js +1 -1
- package/dist/layout/sidebar/sidebar.css.js.map +1 -1
- package/dist/message-composer.cjs +52 -0
- package/dist/message-composer.cjs.map +1 -0
- package/dist/message-composer.js +168 -0
- package/dist/message-composer.js.map +1 -0
- package/dist/ore/dist/base-element.cjs +1 -1
- package/dist/ore/dist/base-element.cjs.map +1 -1
- package/dist/ore/dist/base-element.js +13 -3
- package/dist/ore/dist/base-element.js.map +1 -1
- package/dist/ore/dist/forms/field.cjs +1 -1
- package/dist/ore/dist/forms/field.cjs.map +1 -1
- package/dist/ore/dist/forms/field.js +29 -22
- package/dist/ore/dist/forms/field.js.map +1 -1
- package/dist/ore/dist/runtime.cjs +1 -1
- package/dist/ore/dist/runtime.cjs.map +1 -1
- package/dist/ore/dist/runtime.js +3 -1
- package/dist/ore/dist/runtime.js.map +1 -1
- package/dist/overlay/menu/menu.css.cjs +1 -1
- package/dist/overlay/menu/menu.css.cjs.map +1 -1
- package/dist/overlay/menu/menu.css.js +1 -1
- package/dist/overlay/menu/menu.css.js.map +1 -1
- package/dist/radio-group.cjs +9 -9
- package/dist/radio-group.cjs.map +1 -1
- package/dist/radio-group.js +44 -38
- package/dist/radio-group.js.map +1 -1
- package/dist/radio.cjs +3 -3
- package/dist/radio.cjs.map +1 -1
- package/dist/radio.js +23 -24
- package/dist/radio.js.map +1 -1
- package/dist/refine.cjs +228 -181
- package/dist/refine.cjs.map +1 -1
- package/dist/refine.iife.js +228 -181
- package/dist/refine.iife.js.map +1 -1
- package/dist/refine.js +251 -204
- package/dist/refine.js.map +1 -1
- package/dist/select.cjs +31 -31
- package/dist/select.cjs.map +1 -1
- package/dist/select.js +125 -122
- package/dist/select.js.map +1 -1
- package/dist/shared/size-presets.cjs +1 -1
- package/dist/shared/size-presets.cjs.map +1 -1
- package/dist/shared/size-presets.d.ts +23 -0
- package/dist/shared/size-presets.d.ts.map +1 -1
- package/dist/shared/size-presets.js +17 -1
- package/dist/shared/size-presets.js.map +1 -1
- package/dist/styles/mixins/animation.css.cjs +0 -3
- package/dist/styles/mixins/animation.css.cjs.map +1 -1
- package/dist/styles/mixins/animation.css.d.ts +12 -4
- package/dist/styles/mixins/animation.css.d.ts.map +1 -1
- package/dist/styles/mixins/animation.css.js +0 -3
- package/dist/styles/mixins/animation.css.js.map +1 -1
- package/dist/styles/mixins/variants.css.cjs.map +1 -1
- package/dist/styles/mixins/variants.css.d.ts +7 -2
- package/dist/styles/mixins/variants.css.d.ts.map +1 -1
- package/dist/styles/mixins/variants.css.js.map +1 -1
- package/dist/styles/theme.css +341 -132
- package/dist/switch.cjs +3 -3
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.js +17 -18
- package/dist/switch.js.map +1 -1
- package/dist/textarea.cjs +15 -15
- package/dist/textarea.cjs.map +1 -1
- package/dist/textarea.js +64 -60
- package/dist/textarea.js.map +1 -1
- package/package.json +21 -9
package/dist/combobox.js
CHANGED
|
@@ -8,77 +8,81 @@ import "./ore/dist/forms.js";
|
|
|
8
8
|
import { FORM_CTX as ne, useFormContext as re } from "./inputs/shared/form-context.js";
|
|
9
9
|
import { filterOptions as a, getCreatableLabel as ie, makeCreatableValue as ae, parseSlottedOptions as oe } from "./inputs/combobox/combobox-options.js";
|
|
10
10
|
import o from "./inputs/combobox/combobox.css.js";
|
|
11
|
-
import { bind as se, define as s, getHost as ce, html as c, inject as le, onCleanup as
|
|
12
|
-
import { computed as
|
|
11
|
+
import { bind as se, define as s, getHost as ce, html as c, inject as le, onCleanup as l, onElement as ue, prop as u, ref as de, useEmit as fe, watchEffect as pe } from "@vielzeug/ore";
|
|
12
|
+
import { computed as d, signal as f } from "@vielzeug/ripple";
|
|
13
13
|
//#region src/inputs/combobox/combobox.ts
|
|
14
|
-
var
|
|
15
|
-
s(
|
|
14
|
+
var p = "ore-combobox";
|
|
15
|
+
s(p, {
|
|
16
16
|
formAssociated: !0,
|
|
17
17
|
props: {
|
|
18
|
-
autoclose:
|
|
19
|
-
color:
|
|
20
|
-
creatable:
|
|
21
|
-
disabled:
|
|
22
|
-
error:
|
|
23
|
-
fullwidth:
|
|
24
|
-
helper:
|
|
25
|
-
label:
|
|
26
|
-
"label-placement":
|
|
27
|
-
loading:
|
|
28
|
-
multiple:
|
|
29
|
-
name:
|
|
30
|
-
"no-filter":
|
|
31
|
-
options:
|
|
32
|
-
placeholder:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
18
|
+
autoclose: u.bool(!1),
|
|
19
|
+
color: u.string(),
|
|
20
|
+
creatable: u.bool(!1),
|
|
21
|
+
disabled: u.bool(!1),
|
|
22
|
+
error: u.string(),
|
|
23
|
+
fullwidth: u.bool(!1),
|
|
24
|
+
helper: u.string(),
|
|
25
|
+
label: u.string(),
|
|
26
|
+
"label-placement": u.oneOf(["inset", "outside"], "inset"),
|
|
27
|
+
loading: u.bool(!1),
|
|
28
|
+
multiple: u.bool(!1),
|
|
29
|
+
name: u.string(),
|
|
30
|
+
"no-filter": u.bool(!1),
|
|
31
|
+
options: u.data(),
|
|
32
|
+
placeholder: u.string("Select..."),
|
|
33
|
+
required: u.bool(!1),
|
|
34
|
+
rounded: u.string(),
|
|
35
|
+
size: u.string(),
|
|
36
|
+
value: u.string(),
|
|
37
|
+
variant: u.string()
|
|
37
38
|
},
|
|
38
39
|
setup(e) {
|
|
39
|
-
let t = ce(), o =
|
|
40
|
-
disabled:
|
|
40
|
+
let t = ce(), o = fe(), s = pe, u = le(ne), p = re(e, u), m = f(""), h = null, g = null, _ = null, v = null, y = de(), b = n(l), x = r({
|
|
41
|
+
disabled: p.disabled,
|
|
41
42
|
error: e.error,
|
|
42
|
-
getFormField: () => b,
|
|
43
43
|
helper: e.helper,
|
|
44
44
|
label: e.label,
|
|
45
45
|
labelPlacement: e["label-placement"],
|
|
46
46
|
multiple: e.multiple,
|
|
47
47
|
prefix: "combobox",
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
required: e.required,
|
|
49
|
+
signal: b,
|
|
50
|
+
validateOn: u?.validateOn,
|
|
50
51
|
value: e.value
|
|
51
|
-
}), S =
|
|
52
|
+
}), S = f([]), C = ee({
|
|
52
53
|
getBoundary: () => t,
|
|
53
|
-
getFocusedOptionElement: () =>
|
|
54
|
+
getFocusedOptionElement: () => _?.querySelector("[data-focused]") ?? null,
|
|
54
55
|
getItems: () => S.value,
|
|
55
56
|
getOptionId: (e) => `${x.fieldId}-opt-${e}`,
|
|
56
|
-
getPanel: () =>
|
|
57
|
-
getReference: () =>
|
|
58
|
-
getTrigger: () =>
|
|
57
|
+
getPanel: () => _,
|
|
58
|
+
getReference: () => g,
|
|
59
|
+
getTrigger: () => h,
|
|
59
60
|
isDisabled: () => x.disabled.value,
|
|
60
61
|
onClose: (e) => {
|
|
61
|
-
o("close", { reason: e }),
|
|
62
|
+
o("close", { reason: e }), b.aborted || Te(), x.triggerValidation("blur");
|
|
62
63
|
},
|
|
63
64
|
onOpen: (e) => o("open", { reason: e }),
|
|
64
65
|
restoreFocus: !1,
|
|
65
|
-
signal:
|
|
66
|
+
signal: b
|
|
66
67
|
}), { disabled: w, fieldId: T, selectedValues: E, triggerValidation: D } = x;
|
|
67
|
-
|
|
68
|
+
x.attachFormField(te({
|
|
68
69
|
disabled: x.disabled,
|
|
70
|
+
onReset: x.reset,
|
|
69
71
|
toFormValue: (e) => e,
|
|
72
|
+
validationMessage: x.validationMessage,
|
|
73
|
+
validity: x.validity,
|
|
70
74
|
value: x.formValue
|
|
71
|
-
});
|
|
72
|
-
let { focusedIndex: O, isOpen: k, scrollFocusedIntoView:
|
|
75
|
+
}));
|
|
76
|
+
let { focusedIndex: O, isOpen: k, scrollFocusedIntoView: me, updatePosition: he } = C, A = () => !!e.multiple.value, ge = () => !!e.creatable.value, _e = () => !!e["no-filter"].value;
|
|
73
77
|
se({ attr: {
|
|
74
78
|
open: () => k.value ? !0 : void 0,
|
|
75
|
-
size:
|
|
76
|
-
variant:
|
|
79
|
+
size: p.size,
|
|
80
|
+
variant: p.variant
|
|
77
81
|
} });
|
|
78
|
-
let
|
|
82
|
+
let j = null, M = !1, N = d(() => E.value[0] ?? "");
|
|
79
83
|
Object.defineProperty(t, "value", {
|
|
80
84
|
configurable: !0,
|
|
81
|
-
get: () => A() ? E.value :
|
|
85
|
+
get: () => A() ? E.value : N.value,
|
|
82
86
|
set: (e) => {
|
|
83
87
|
let t = e;
|
|
84
88
|
if (Array.isArray(t)) {
|
|
@@ -93,10 +97,10 @@ s(f, {
|
|
|
93
97
|
}
|
|
94
98
|
});
|
|
95
99
|
let ve = () => E.value.length > 0;
|
|
96
|
-
function
|
|
97
|
-
|
|
100
|
+
function P() {
|
|
101
|
+
h?.focus();
|
|
98
102
|
}
|
|
99
|
-
let
|
|
103
|
+
let F = f([]), I = f([]), ye = () => !!e.loading.value;
|
|
100
104
|
function be(e) {
|
|
101
105
|
return {
|
|
102
106
|
disabled: !!e.disabled,
|
|
@@ -105,10 +109,10 @@ s(f, {
|
|
|
105
109
|
value: e.value
|
|
106
110
|
};
|
|
107
111
|
}
|
|
108
|
-
let
|
|
109
|
-
let t = e.options.value, n = Array.isArray(t) ? t.map(be) :
|
|
110
|
-
return
|
|
111
|
-
}),
|
|
112
|
+
let L = d(() => {
|
|
113
|
+
let t = e.options.value, n = Array.isArray(t) ? t.map(be) : F.value;
|
|
114
|
+
return I.value.length === 0 ? n : [...n, ...I.value];
|
|
115
|
+
}), R = {
|
|
112
116
|
clear: () => {
|
|
113
117
|
x.clear();
|
|
114
118
|
},
|
|
@@ -122,18 +126,18 @@ s(f, {
|
|
|
122
126
|
x.toggleValue(e);
|
|
123
127
|
}
|
|
124
128
|
};
|
|
125
|
-
function
|
|
126
|
-
if (
|
|
127
|
-
let e =
|
|
128
|
-
|
|
129
|
+
function z(e = Array.from(t.children)) {
|
|
130
|
+
if (F.value = oe(e), !A()) {
|
|
131
|
+
let e = L.value.find((e) => e.value === N.value);
|
|
132
|
+
m.value = e?.label ?? N.value;
|
|
129
133
|
}
|
|
130
134
|
}
|
|
131
|
-
|
|
132
|
-
let e = a(
|
|
135
|
+
z(), s(() => {
|
|
136
|
+
let e = a(L.value, m.value, _e());
|
|
133
137
|
S.value = A() ? e.filter((e) => !E.value.includes(e.value)) : e;
|
|
134
138
|
});
|
|
135
|
-
let
|
|
136
|
-
function
|
|
139
|
+
let B = d(() => ie(m.value, ge(), S.value)), xe = () => A() && E.value.length > 0 ? "" : e.placeholder.value || "", Se = d(() => E.value), Ce = d(() => E.value.map((e) => L.value.find((t) => t.value === e)?.label ?? e));
|
|
140
|
+
function V(e) {
|
|
137
141
|
o("change", {
|
|
138
142
|
labels: Ce.value,
|
|
139
143
|
originalEvent: e,
|
|
@@ -143,53 +147,53 @@ s(f, {
|
|
|
143
147
|
function we(e) {
|
|
144
148
|
e.stopPropagation();
|
|
145
149
|
let t = e.detail?.value;
|
|
146
|
-
t !== void 0 && (
|
|
150
|
+
t !== void 0 && (R.remove(t), V(e), D("change"));
|
|
147
151
|
}
|
|
148
152
|
function Te() {
|
|
149
153
|
if (!A()) {
|
|
150
|
-
let e =
|
|
151
|
-
|
|
152
|
-
|
|
154
|
+
let e = L.value.find((e) => e.value === N.value);
|
|
155
|
+
M = !0, m.value = e?.label ?? "", Promise.resolve().then(() => {
|
|
156
|
+
M = !1;
|
|
153
157
|
});
|
|
154
158
|
return;
|
|
155
159
|
}
|
|
156
|
-
|
|
160
|
+
m.value = "";
|
|
157
161
|
}
|
|
158
162
|
s(() => {
|
|
159
|
-
if (k.value && !A() &&
|
|
160
|
-
let e = S.value.findIndex((e) => e.value ===
|
|
163
|
+
if (k.value && !A() && N.value && O.value === -1 && m.value === "") {
|
|
164
|
+
let e = S.value.findIndex((e) => e.value === N.value);
|
|
161
165
|
e >= 0 && C.set(e);
|
|
162
166
|
}
|
|
163
167
|
});
|
|
164
|
-
function
|
|
165
|
-
if (e && (
|
|
166
|
-
let e = a(
|
|
168
|
+
function H(e = !0, t = "programmatic") {
|
|
169
|
+
if (e && (j = m.value, m.value = ""), !A() && N.value) {
|
|
170
|
+
let e = a(L.value, "", _e()).findIndex((e) => e.value === N.value);
|
|
167
171
|
e >= 0 && C.set(e);
|
|
168
172
|
}
|
|
169
|
-
C.open(t), !A() &&
|
|
170
|
-
|
|
173
|
+
C.open(t), !A() && N.value && O.value >= 0 && requestAnimationFrame(() => {
|
|
174
|
+
me();
|
|
171
175
|
});
|
|
172
176
|
}
|
|
173
|
-
function
|
|
177
|
+
function U(e = "programmatic") {
|
|
174
178
|
C.close(e);
|
|
175
179
|
}
|
|
176
180
|
let Ee = i({
|
|
177
181
|
disabled: w,
|
|
178
182
|
onPress: () => {
|
|
179
|
-
k.value ||
|
|
183
|
+
k.value || H(!0, "click"), P();
|
|
180
184
|
}
|
|
181
185
|
}), De = i({
|
|
182
186
|
disabled: w,
|
|
183
187
|
keys: ["Enter"],
|
|
184
188
|
onPress: (e) => {
|
|
185
189
|
let t = S.value;
|
|
186
|
-
k.value && O.value >= 0 && O.value < t.length ?
|
|
190
|
+
k.value && O.value >= 0 && O.value < t.length ? W(t[O.value], e) : k.value && O.value === -1 && B.value ? Y(m.value, e) : k.value || H(!0, "keyboard");
|
|
187
191
|
}
|
|
188
192
|
});
|
|
189
|
-
function
|
|
190
|
-
t.disabled || (A() ? (
|
|
193
|
+
function W(t, n) {
|
|
194
|
+
t.disabled || (A() ? (R.toggle(t.value), m.value = "", V(n), D("change"), e.autoclose.value && U(), P(), requestAnimationFrame(() => P())) : (R.select(t.value), m.value = t.label, V(n), D("change"), U(), P()));
|
|
191
195
|
}
|
|
192
|
-
function
|
|
196
|
+
function G(e) {
|
|
193
197
|
let t = e.getAttribute("data-option-index"), n = t ? Number(t) : -1;
|
|
194
198
|
if (Number.isInteger(n) && n >= 0 && n < S.value.length) return S.value[n] ?? null;
|
|
195
199
|
let r = e.getAttribute("data-option-value");
|
|
@@ -201,40 +205,40 @@ s(f, {
|
|
|
201
205
|
return i ? S.value.find((e) => e.label === i || e.value === i) ?? null : null;
|
|
202
206
|
}
|
|
203
207
|
function Oe(e) {
|
|
204
|
-
e.stopPropagation(),
|
|
208
|
+
e.stopPropagation(), R.clear(), m.value = "", V(e), D("change"), P();
|
|
205
209
|
}
|
|
206
|
-
function
|
|
210
|
+
function K(e) {
|
|
207
211
|
let t = e.target, n = t.value;
|
|
208
|
-
if (!
|
|
209
|
-
if (
|
|
210
|
-
let e = E.value[0], t = e ?
|
|
211
|
-
n === "" &&
|
|
212
|
+
if (!M && n !== m.value) {
|
|
213
|
+
if (m.value = n, !A()) {
|
|
214
|
+
let e = E.value[0], t = e ? L.value.find((t) => t.value === e)?.label ?? e : "";
|
|
215
|
+
n === "" && j === t && (j = null);
|
|
212
216
|
}
|
|
213
|
-
C.navigate("first"), k.value ||
|
|
217
|
+
C.navigate("first"), k.value || H(!1, "keyboard"), o("search", { query: t.value });
|
|
214
218
|
}
|
|
215
219
|
}
|
|
216
|
-
function
|
|
217
|
-
function
|
|
220
|
+
function q() {}
|
|
221
|
+
function J(e) {
|
|
218
222
|
if (!w.value && !C.handleKeydown(e)) switch (e.key) {
|
|
219
223
|
case "ArrowDown":
|
|
220
|
-
e.preventDefault(), k.value ? C.navigate("next") : (
|
|
224
|
+
e.preventDefault(), k.value ? C.navigate("next") : (H(!0, "keyboard"), C.navigate("first"));
|
|
221
225
|
break;
|
|
222
226
|
case "ArrowUp":
|
|
223
|
-
e.preventDefault(), k.value ? C.navigate("prev") :
|
|
227
|
+
e.preventDefault(), k.value ? C.navigate("prev") : H(!0, "keyboard");
|
|
224
228
|
break;
|
|
225
229
|
case "Backspace":
|
|
226
|
-
A() && !
|
|
230
|
+
A() && !m.value && E.value.length > 0 && (x.removeValue(E.value[E.value.length - 1] ?? ""), V(e), D("change"));
|
|
227
231
|
break;
|
|
228
232
|
case "Enter":
|
|
229
233
|
De.handleKeydown(e);
|
|
230
234
|
break;
|
|
231
235
|
case "Tab":
|
|
232
|
-
|
|
236
|
+
U("programmatic");
|
|
233
237
|
break;
|
|
234
238
|
default: break;
|
|
235
239
|
}
|
|
236
240
|
}
|
|
237
|
-
function
|
|
241
|
+
function Y(e, t) {
|
|
238
242
|
let n = e.trim();
|
|
239
243
|
if (!n) return;
|
|
240
244
|
let r = {
|
|
@@ -243,11 +247,11 @@ s(f, {
|
|
|
243
247
|
label: n,
|
|
244
248
|
value: ae(n)
|
|
245
249
|
};
|
|
246
|
-
|
|
250
|
+
I.value = [...I.value, r], W(r, t);
|
|
247
251
|
}
|
|
248
252
|
let ke = (() => {
|
|
249
253
|
let e = new MutationObserver(() => {
|
|
250
|
-
|
|
254
|
+
z();
|
|
251
255
|
});
|
|
252
256
|
return e.observe(t, {
|
|
253
257
|
attributeFilter: [
|
|
@@ -259,36 +263,36 @@ s(f, {
|
|
|
259
263
|
childList: !0,
|
|
260
264
|
subtree: !0
|
|
261
265
|
}), () => e.disconnect();
|
|
262
|
-
})(),
|
|
266
|
+
})(), X = (e) => {
|
|
263
267
|
let t = e.target;
|
|
264
268
|
if (!(t instanceof Element)) return;
|
|
265
269
|
let n = t.closest(".option");
|
|
266
270
|
if (!n) return;
|
|
267
|
-
let r =
|
|
271
|
+
let r = G(n);
|
|
268
272
|
if (!r || r.disabled) return;
|
|
269
273
|
let i = S.value.findIndex((e) => e.value === r.value);
|
|
270
274
|
i >= 0 && C.set(i);
|
|
271
275
|
}, Z = t.shadowRoot;
|
|
272
|
-
Z && Z.addEventListener("pointermove",
|
|
273
|
-
let
|
|
276
|
+
Z && Z.addEventListener("pointermove", X);
|
|
277
|
+
let Ae = (e) => {
|
|
274
278
|
let t = (e) => {
|
|
275
279
|
let t = e.target;
|
|
276
280
|
if (!(t instanceof Element)) return;
|
|
277
281
|
if (t.closest(".no-results-create")) {
|
|
278
|
-
e.preventDefault(), e.stopPropagation(),
|
|
282
|
+
e.preventDefault(), e.stopPropagation(), Y(m.value, e);
|
|
279
283
|
return;
|
|
280
284
|
}
|
|
281
285
|
let n = t.closest(".option");
|
|
282
286
|
if (!n) return;
|
|
283
287
|
e.preventDefault(), e.stopPropagation();
|
|
284
|
-
let r =
|
|
285
|
-
r &&
|
|
288
|
+
let r = G(n);
|
|
289
|
+
r && W(r, e);
|
|
286
290
|
}, n = (e) => {
|
|
287
291
|
let t = e.target;
|
|
288
292
|
if (!(t instanceof Element)) return;
|
|
289
293
|
let n = t.closest(".option");
|
|
290
294
|
if (!n) return;
|
|
291
|
-
let r =
|
|
295
|
+
let r = G(n);
|
|
292
296
|
if (!r) return;
|
|
293
297
|
let i = S.value.findIndex((e) => e.value === r.value);
|
|
294
298
|
i >= 0 && C.set(i);
|
|
@@ -296,45 +300,45 @@ s(f, {
|
|
|
296
300
|
return e.addEventListener("click", t), e.addEventListener("pointermove", n), () => {
|
|
297
301
|
e.removeEventListener("click", t), e.removeEventListener("pointermove", n);
|
|
298
302
|
};
|
|
299
|
-
}, Q = null, $ = null,
|
|
300
|
-
|
|
301
|
-
},
|
|
302
|
-
|
|
303
|
+
}, Q = null, $ = null, je = (e) => {
|
|
304
|
+
v = e, $ !== e && (Q?.(), Q = null, $ = null, e && (Q = Ae(e), $ = e));
|
|
305
|
+
}, Me = () => {
|
|
306
|
+
v && ($ === v && Q || (Q?.(), Q = Ae(v), $ = v));
|
|
303
307
|
};
|
|
304
308
|
return s(() => {
|
|
305
|
-
|
|
306
|
-
}),
|
|
307
|
-
|
|
309
|
+
Me(), k.value ? (_ && "showPopover" in _ && !_.matches(":popover-open") && _.showPopover(), he()) : _ && "hidePopover" in _ && _.matches(":popover-open") && _.hidePopover();
|
|
310
|
+
}), ue(y, (e) => {
|
|
311
|
+
g = e;
|
|
308
312
|
let t = e.shadowRoot?.querySelector("input") ?? null;
|
|
309
313
|
if (!t) return;
|
|
310
|
-
|
|
314
|
+
h = t, t.setAttribute("role", "combobox"), t.setAttribute("autocomplete", "off"), t.setAttribute("aria-autocomplete", "list"), t.setAttribute("aria-haspopup", "listbox"), t.setAttribute("spellcheck", "false"), t.setAttribute("aria-controls", `${T}-listbox`);
|
|
311
315
|
let n = () => {
|
|
312
|
-
k.value ||
|
|
316
|
+
k.value || H(!0, "click"), P();
|
|
313
317
|
};
|
|
314
|
-
return t.addEventListener("input",
|
|
315
|
-
|
|
318
|
+
return t.addEventListener("input", K), t.addEventListener("keydown", J), t.addEventListener("focus", q), t.addEventListener("click", n), () => {
|
|
319
|
+
h = null, g = null, t.removeEventListener("input", K), t.removeEventListener("keydown", J), t.removeEventListener("focus", q), t.removeEventListener("click", n);
|
|
316
320
|
};
|
|
317
321
|
}), s(() => {
|
|
318
|
-
if (!
|
|
319
|
-
let t =
|
|
322
|
+
if (!y.value) return;
|
|
323
|
+
let t = h;
|
|
320
324
|
t && (t.setAttribute("aria-expanded", String(k.value)), w.value ? t.setAttribute("aria-disabled", "true") : t.removeAttribute("aria-disabled"), e.error.value ? (t.setAttribute("aria-invalid", "true"), t.setAttribute("aria-errormessage", `${T}-error`)) : (t.removeAttribute("aria-invalid"), t.removeAttribute("aria-errormessage")));
|
|
321
325
|
}), s(() => {
|
|
322
|
-
if (!
|
|
323
|
-
let e =
|
|
324
|
-
e && e.value !==
|
|
325
|
-
}),
|
|
326
|
-
Z?.removeEventListener("pointermove",
|
|
326
|
+
if (!y.value) return;
|
|
327
|
+
let e = h;
|
|
328
|
+
e && e.value !== m.value && (e.value = m.value);
|
|
329
|
+
}), l(() => {
|
|
330
|
+
Z?.removeEventListener("pointermove", X), Q?.(), Q = null, $ = null, ke();
|
|
327
331
|
}), c`
|
|
328
332
|
<slot></slot>
|
|
329
333
|
<ore-input
|
|
330
334
|
class="trigger"
|
|
331
|
-
ref=${
|
|
335
|
+
ref=${y}
|
|
332
336
|
:label="${() => e.label.value ?? ""}"
|
|
333
337
|
:placeholder="${xe}"
|
|
334
338
|
:label-placement="${() => e["label-placement"].value ?? "inset"}"
|
|
335
339
|
:color="${() => e.color?.value ?? void 0}"
|
|
336
|
-
:size="${() =>
|
|
337
|
-
:variant="${() =>
|
|
340
|
+
:size="${() => p.size?.value ?? void 0}"
|
|
341
|
+
:variant="${() => p.variant?.value ?? void 0}"
|
|
338
342
|
:rounded="${() => e.rounded?.value ?? void 0}"
|
|
339
343
|
:helper="${() => e.helper.value ?? ""}"
|
|
340
344
|
:error="${() => e.error.value ?? ""}"
|
|
@@ -352,13 +356,13 @@ s(f, {
|
|
|
352
356
|
${() => (A() ? E.value : []).map((t) => c`
|
|
353
357
|
<ore-chip
|
|
354
358
|
value=${t}
|
|
355
|
-
label=${
|
|
359
|
+
label=${L.value.find((e) => e.value === t)?.label ?? t}
|
|
356
360
|
mode="removable"
|
|
357
361
|
variant="flat"
|
|
358
362
|
size="sm"
|
|
359
363
|
color="${e.color}"
|
|
360
364
|
@remove=${we}>
|
|
361
|
-
${
|
|
365
|
+
${L.value.find((e) => e.value === t)?.label ?? t}
|
|
362
366
|
</ore-chip>
|
|
363
367
|
`)}
|
|
364
368
|
</span>
|
|
@@ -397,7 +401,7 @@ s(f, {
|
|
|
397
401
|
popover="manual"
|
|
398
402
|
?data-open=${() => k.value}
|
|
399
403
|
ref=${(e) => {
|
|
400
|
-
|
|
404
|
+
_ = e;
|
|
401
405
|
}}>
|
|
402
406
|
<div
|
|
403
407
|
role="listbox"
|
|
@@ -405,24 +409,24 @@ s(f, {
|
|
|
405
409
|
:style="${() => k.value && S.value.length > 0 ? `height:${S.value.length * 36}px;` : ""}"
|
|
406
410
|
aria-label="${() => e.label.value || e.placeholder.value || "Options"}"
|
|
407
411
|
ref=${(e) => {
|
|
408
|
-
|
|
412
|
+
je(e);
|
|
409
413
|
}}>
|
|
410
|
-
${() => k.value ? ye() ? c`<div class="dropdown-loading">Loading...</div>` : S.value.length === 0 ?
|
|
414
|
+
${() => k.value ? ye() ? c`<div class="dropdown-loading">Loading...</div>` : S.value.length === 0 ? B.value ? c`<button
|
|
411
415
|
type="button"
|
|
412
416
|
class="no-results-create"
|
|
413
417
|
?data-focused=${() => O.value === -1}>
|
|
414
|
-
${
|
|
418
|
+
${B.value}
|
|
415
419
|
</button>` : c`<div class="no-results" role="presentation">No results found</div>` : S.value.map((e, t) => c`<div
|
|
416
420
|
class="option"
|
|
417
421
|
role="option"
|
|
418
422
|
id="${`${T}-opt-${t}`}"
|
|
419
423
|
data-option-index="${t}"
|
|
420
424
|
data-option-value="${e.value}"
|
|
421
|
-
:aria-selected="${() => String(A() ? E.value.includes(e.value) :
|
|
425
|
+
:aria-selected="${() => String(A() ? E.value.includes(e.value) : N.value === e.value)}"
|
|
422
426
|
aria-disabled="${String(e.disabled)}"
|
|
423
427
|
style="${`position:absolute;top:0;left:0;right:0;transform:translateY(${t * 36}px);`}"
|
|
424
428
|
?data-focused=${() => O.value === t}
|
|
425
|
-
?data-selected=${() => A() ? E.value.includes(e.value) :
|
|
429
|
+
?data-selected=${() => A() ? E.value.includes(e.value) : N.value === e.value}
|
|
426
430
|
?data-disabled=${e.disabled}>
|
|
427
431
|
<span>${e.label}</span>
|
|
428
432
|
<span class="option-check" aria-hidden="true"
|
|
@@ -441,6 +445,6 @@ s(f, {
|
|
|
441
445
|
]
|
|
442
446
|
});
|
|
443
447
|
//#endregion
|
|
444
|
-
export {
|
|
448
|
+
export { p as COMBOBOX_TAG };
|
|
445
449
|
|
|
446
450
|
//# sourceMappingURL=combobox.js.map
|