@threadlabs/looma 0.9.2 → 0.10.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/components/shared/form-reset.js +21 -0
- package/components/ui-checkbox/ui-checkbox.html +17 -4
- package/components/ui-checkbox/ui-checkbox.js +9 -0
- package/components/ui-combobox/ui-combobox.html +23 -11
- package/components/ui-combobox/ui-combobox.js +31 -12
- package/components/ui-editable/ui-editable.html +3 -1
- package/components/ui-editable/ui-editable.js +7 -6
- package/components/ui-input/ui-input.html +2 -2
- package/components/ui-input/ui-input.js +5 -2
- package/components/ui-radio/ui-radio.html +3 -1
- package/components/ui-radio/ui-radio.js +11 -0
- package/components/ui-radio-group/ui-radio-group.html +7 -5
- package/components/ui-radio-group/ui-radio-group.js +16 -3
- package/components/ui-search-result-row/ui-search-result-row.html +3 -3
- package/components/ui-select/ui-select.html +3 -1
- package/components/ui-select/ui-select.js +5 -2
- package/components/ui-switch/ui-switch.html +7 -4
- package/components/ui-switch/ui-switch.js +9 -0
- package/components/ui-textarea/ui-textarea.html +2 -2
- package/components/ui-textarea/ui-textarea.js +5 -2
- package/components/ui-tree-item/ui-tree-item.html +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/vanilla/UiCheckbox.d.ts +1 -0
- package/vanilla/UiCheckbox.js +7 -4
- package/vanilla/UiCombobox.js +113 -99
- package/vanilla/UiRadioGroup.js +7 -1
- package/vanilla/UiSearchResultRow.js +4 -1
- package/vanilla/UiSwitch.d.ts +1 -0
- package/vanilla/UiSwitch.js +7 -4
- package/vue/UiCheckbox.d.ts +2 -0
- package/vue/UiCheckbox.vue +3 -0
- package/vue/UiCombobox.vue +27 -4
- package/vue/UiRadioGroup.vue +2 -0
- package/vue/UiSearchResultRow.vue +1 -0
- package/vue/UiSwitch.d.ts +2 -0
- package/vue/UiSwitch.vue +3 -0
- package/vue/chunks/UiCheckbox.js +4 -1
- package/vue/chunks/UiCombobox.js +67 -39
- package/vue/chunks/UiRadioGroup.js +8 -2
- package/vue/chunks/UiSearchResultRow.js +7 -2
- package/vue/chunks/UiSwitch.js +4 -1
- package/vue/components.css +89 -89
package/vanilla/UiRadioGroup.js
CHANGED
|
@@ -3,7 +3,7 @@ import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
|
|
|
3
3
|
import * as controller from "../components/ui-radio-group/ui-radio-group.js";
|
|
4
4
|
import "../styles/ui-radio-group.css";
|
|
5
5
|
|
|
6
|
-
const definition = {...{"contract":{"tag":"ui-radio-group","props":{"disabled":{"type":"boolean","required":false,"target":{"attribute":"disabled"},"default":false},"label":{"type":"string","required":false,"target":{"attribute":"label"},"default":"Options"},"name":{"type":"string","required":false,"target":{"attribute":"name"},"default":""},"orientation":{"type":{"enum":["horizontal","vertical"]},"required":false,"target":{"attribute":"orientation"},"default":"horizontal"},"required":{"type":"boolean","required":false,"target":{"attribute":"required"},"default":false},"value":{"type":"string","required":false,"target":{"attribute":"value"},"default":""}}},"template":{"kind":"element","name":"fieldset","attributes":[{"kind":"literal","name":"role","value":"radiogroup"}],"children":[{"kind":"element","name":"legend","attributes":[],"children":[{"kind":"element","name":"template","attributes":[{"kind":"directive","name":"value","expression":"label","expressionPlan":{"source":"label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}}],"children":[]}]},{"kind":"slot"}]},"declarations":[{"kind":"state","name":"internalValue","expression":{"source":"''","ast":{"kind":"literal","value":""},"dependencies":[]}},{"kind":"event","name":"select","type":"object({ value: string, previousValue: string, trigger: keyboard | pointer | programmatic })","bubbles":true,"composed":true,"cancelable":false},{"kind":"event","name":"change","type":"object({ checked: boolean, value: string, trigger: keyboard | pointer | programmatic })","bubbles":true,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"fieldset","choices":["fieldset"]}},source:{file:import.meta.url},css:""};
|
|
6
|
+
const definition = {...{"contract":{"tag":"ui-radio-group","props":{"disabled":{"type":"boolean","required":false,"target":{"attribute":"disabled"},"default":false},"label":{"type":"string","required":false,"target":{"attribute":"label"},"default":"Options"},"name":{"type":"string","required":false,"target":{"attribute":"name"},"default":""},"orientation":{"type":{"enum":["horizontal","vertical"]},"required":false,"target":{"attribute":"orientation"},"default":"horizontal"},"required":{"type":"boolean","required":false,"target":{"attribute":"aria-required"},"default":false},"value":{"type":"string","required":false,"target":{"attribute":"value"},"default":""}}},"template":{"kind":"element","name":"fieldset","attributes":[{"kind":"literal","name":"role","value":"radiogroup"},{"kind":"attribute","name":"aria-required","expression":"required","expressionPlan":{"source":"required","ast":{"kind":"id","name":"required"},"dependencies":["required"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}}],"children":[{"kind":"element","name":"legend","attributes":[],"children":[{"kind":"element","name":"template","attributes":[{"kind":"directive","name":"value","expression":"label","expressionPlan":{"source":"label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}}],"children":[]}]},{"kind":"slot"}]},"declarations":[{"kind":"state","name":"internalValue","expression":{"source":"''","ast":{"kind":"literal","value":""},"dependencies":[]}},{"kind":"event","name":"select","type":"object({ value: string, previousValue: string, trigger: keyboard | pointer | programmatic })","bubbles":true,"composed":true,"cancelable":false},{"kind":"event","name":"change","type":"object({ checked: boolean, value: string, trigger: keyboard | pointer | programmatic })","bubbles":true,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"fieldset","choices":["fieldset"]}},source:{file:import.meta.url},css:""};
|
|
7
7
|
|
|
8
8
|
export function createUiRadioGroup(options = {}) {
|
|
9
9
|
const { attributes = {}, children = [], slots = {}, as, ...componentProps } = options;
|
|
@@ -14,6 +14,12 @@ export function createUiRadioGroup(options = {}) {
|
|
|
14
14
|
element.setAttribute(name, value === true ? "" : String(value));
|
|
15
15
|
}
|
|
16
16
|
if (!element.hasAttribute("role")) element.setAttribute("role", "radiogroup");
|
|
17
|
+
const value0 = componentProps["required"] === undefined ? false : componentProps["required"];
|
|
18
|
+
if (typeof value0 === "boolean") element.setAttribute("aria-required", String(value0));
|
|
19
|
+
else element.removeAttribute("aria-required");
|
|
20
|
+
const value1 = componentProps["disabled"] === undefined ? false : componentProps["disabled"];
|
|
21
|
+
if (value1 === true) element.setAttribute("disabled", "");
|
|
22
|
+
else element.removeAttribute("disabled");
|
|
17
23
|
element.setAttribute("data-component", "ui-radio-group");
|
|
18
24
|
const element0 = document.createElement("legend");
|
|
19
25
|
const element1 = document.createElement("template");
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
|
|
3
3
|
import "../styles/ui-search-result-row.css";
|
|
4
4
|
|
|
5
|
-
const definition = {...{"contract":{"tag":"ui-search-result-row","props":{"disabled":{"type":"boolean","required":false,"target":{"attribute":"disabled"},"default":false},"selected":{"type":"boolean","required":false,"target":{"attribute":"
|
|
5
|
+
const definition = {...{"contract":{"tag":"ui-search-result-row","props":{"disabled":{"type":"boolean","required":false,"target":{"attribute":"disabled"},"default":false},"selected":{"type":"boolean","required":false,"target":{"attribute":"aria-current"},"default":false}}},"template":{"kind":"element","name":"button","attributes":[{"kind":"literal","name":"type","value":"button"},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"aria-current","expression":"selected","expressionPlan":{"source":"selected","ast":{"kind":"id","name":"selected"},"dependencies":["selected"]}}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"leading"}],"children":[{"kind":"slot","fallback":[],"name":"leading"}]},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"content"}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"title"}],"children":[{"kind":"slot","fallback":[],"name":"title"}]},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"meta"}],"children":[{"kind":"slot","fallback":[],"name":"meta"}]},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"excerpt"}],"children":[{"kind":"slot","fallback":[],"name":"excerpt"}]}]},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"trailing"}],"children":[{"kind":"slot","fallback":[],"name":"trailing"}]}]},"declarations":[],"root":{"kind":"native","element":"button","choices":["button"]}},source:{file:import.meta.url},css:""};
|
|
6
6
|
|
|
7
7
|
export function createUiSearchResultRow(options = {}) {
|
|
8
8
|
const { attributes = {}, children = [], slots = {}, as, ...componentProps } = options;
|
|
@@ -16,6 +16,9 @@ export function createUiSearchResultRow(options = {}) {
|
|
|
16
16
|
const value0 = componentProps["disabled"] === undefined ? false : componentProps["disabled"];
|
|
17
17
|
if (value0 === true) element.setAttribute("disabled", "");
|
|
18
18
|
else element.removeAttribute("disabled");
|
|
19
|
+
const value1 = componentProps["selected"] === undefined ? false : componentProps["selected"];
|
|
20
|
+
if (typeof value1 === "boolean") element.setAttribute("aria-current", String(value1));
|
|
21
|
+
else element.removeAttribute("aria-current");
|
|
19
22
|
element.setAttribute("data-component", "ui-search-result-row");
|
|
20
23
|
const element0 = document.createElement("span");
|
|
21
24
|
element0.setAttribute("class", "leading");
|
package/vanilla/UiSwitch.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export interface UiSwitchElement extends HTMLLabelElement {
|
|
|
9
9
|
export interface UiSwitchProps {
|
|
10
10
|
checked?: boolean | null;
|
|
11
11
|
disabled?: boolean | null;
|
|
12
|
+
name?: string | null;
|
|
12
13
|
required?: boolean | null;
|
|
13
14
|
value?: string | null;
|
|
14
15
|
attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
|
package/vanilla/UiSwitch.js
CHANGED
|
@@ -3,7 +3,7 @@ import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
|
|
|
3
3
|
import * as controller from "../components/ui-switch/ui-switch.js";
|
|
4
4
|
import "../styles/ui-switch.css";
|
|
5
5
|
|
|
6
|
-
const definition = {...{"contract":{"tag":"ui-switch","props":{"checked":{"type":"boolean","required":false,"target":{"attribute":"checked"},"default":false},"disabled":{"type":"boolean","required":false,"target":{"attribute":"disabled"},"default":false},"required":{"type":"boolean","required":false,"target":{"attribute":"required"},"default":false},"value":{"type":"string","required":false,"target":{"attribute":"value"},"default":"on"}}},"template":{"kind":"element","name":"label","attributes":[],"children":[{"kind":"element","name":"input","attributes":[{"kind":"literal","name":"type","value":"checkbox"},{"kind":"literal","name":"role","value":"switch"},{"kind":"property","key":"checked","name":"checked","expression":"internalChecked","expressionPlan":{"source":"internalChecked","ast":{"kind":"id","name":"internalChecked"},"dependencies":["internalChecked"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"required","expression":"required","expressionPlan":{"source":"required","ast":{"kind":"id","name":"required"},"dependencies":["required"]}},{"kind":"attribute","name":"value","expression":"value","expressionPlan":{"source":"value","ast":{"kind":"id","name":"value"},"dependencies":["value"]}}],"children":[],"ref":"input"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"label"}],"children":[{"kind":"slot"}]}]},"declarations":[{"kind":"state","name":"internalChecked","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"event","name":"change","type":"object({ checked: boolean, value: string, trigger: keyboard | pointer | programmatic })","bubbles":true,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"label","choices":["label"]}},source:{file:import.meta.url},css:""};
|
|
6
|
+
const definition = {...{"contract":{"tag":"ui-switch","props":{"checked":{"type":"boolean","required":false,"target":{"attribute":"checked"},"default":false},"disabled":{"type":"boolean","required":false,"target":{"attribute":"disabled"},"default":false},"name":{"type":"string","required":false,"target":{"attribute":"name"},"default":""},"required":{"type":"boolean","required":false,"target":{"attribute":"required"},"default":false},"value":{"type":"string","required":false,"target":{"attribute":"value"},"default":"on"}}},"template":{"kind":"element","name":"label","attributes":[],"children":[{"kind":"element","name":"input","attributes":[{"kind":"literal","name":"type","value":"checkbox"},{"kind":"literal","name":"role","value":"switch"},{"kind":"property","key":"checked","name":"checked","expression":"internalChecked","expressionPlan":{"source":"internalChecked","ast":{"kind":"id","name":"internalChecked"},"dependencies":["internalChecked"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"required","expression":"required","expressionPlan":{"source":"required","ast":{"kind":"id","name":"required"},"dependencies":["required"]}},{"kind":"attribute","name":"name","expression":"name","expressionPlan":{"source":"name","ast":{"kind":"id","name":"name"},"dependencies":["name"]}},{"kind":"attribute","name":"value","expression":"value","expressionPlan":{"source":"value","ast":{"kind":"id","name":"value"},"dependencies":["value"]}}],"children":[],"ref":"input"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"label"}],"children":[{"kind":"slot"}]}]},"declarations":[{"kind":"state","name":"internalChecked","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"event","name":"change","type":"object({ checked: boolean, value: string, trigger: keyboard | pointer | programmatic })","bubbles":true,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"label","choices":["label"]}},source:{file:import.meta.url},css:""};
|
|
7
7
|
|
|
8
8
|
export function createUiSwitch(options = {}) {
|
|
9
9
|
const { attributes = {}, children = [], slots = {}, as, ...componentProps } = options;
|
|
@@ -23,9 +23,12 @@ export function createUiSwitch(options = {}) {
|
|
|
23
23
|
const value1 = componentProps["required"] === undefined ? false : componentProps["required"];
|
|
24
24
|
if (value1 === true) element0.setAttribute("required", "");
|
|
25
25
|
else element0.removeAttribute("required");
|
|
26
|
-
const value2 = componentProps["
|
|
27
|
-
if (value2 === null || value2 === undefined) element0.removeAttribute("
|
|
28
|
-
else element0.setAttribute("
|
|
26
|
+
const value2 = componentProps["name"] === undefined ? "" : componentProps["name"];
|
|
27
|
+
if (value2 === null || value2 === undefined) element0.removeAttribute("name");
|
|
28
|
+
else element0.setAttribute("name", String(value2));
|
|
29
|
+
const value3 = componentProps["value"] === undefined ? "on" : componentProps["value"];
|
|
30
|
+
if (value3 === null || value3 === undefined) element0.removeAttribute("value");
|
|
31
|
+
else element0.setAttribute("value", String(value3));
|
|
29
32
|
element.append(element0);
|
|
30
33
|
const element1 = document.createElement("span");
|
|
31
34
|
element1.setAttribute("class", "label");
|
package/vue/UiCheckbox.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ type __VLS_Props = {
|
|
|
2
2
|
checked?: boolean;
|
|
3
3
|
disabled?: boolean;
|
|
4
4
|
indeterminate?: boolean;
|
|
5
|
+
name?: string;
|
|
5
6
|
required?: boolean;
|
|
6
7
|
value?: string;
|
|
7
8
|
};
|
|
@@ -26,6 +27,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
26
27
|
"onUpdate:checked"?: ((value: boolean) => any) | undefined;
|
|
27
28
|
"onUpdate:value"?: ((value: string) => any) | undefined;
|
|
28
29
|
}>, {
|
|
30
|
+
name: string;
|
|
29
31
|
value: string;
|
|
30
32
|
disabled: boolean;
|
|
31
33
|
checked: boolean;
|
package/vue/UiCheckbox.vue
CHANGED
|
@@ -11,6 +11,7 @@ const props = withDefaults(
|
|
|
11
11
|
checked?: boolean
|
|
12
12
|
disabled?: boolean
|
|
13
13
|
indeterminate?: boolean
|
|
14
|
+
name?: string
|
|
14
15
|
required?: boolean
|
|
15
16
|
value?: string
|
|
16
17
|
}>(),
|
|
@@ -18,6 +19,7 @@ const props = withDefaults(
|
|
|
18
19
|
checked: false,
|
|
19
20
|
disabled: false,
|
|
20
21
|
indeterminate: false,
|
|
22
|
+
name: '',
|
|
21
23
|
required: false,
|
|
22
24
|
value: 'on',
|
|
23
25
|
},
|
|
@@ -81,6 +83,7 @@ useComponentHost(controllerModule.default, {
|
|
|
81
83
|
:indeterminate.prop="indeterminate"
|
|
82
84
|
:disabled="disabled"
|
|
83
85
|
:required="required"
|
|
86
|
+
:name="name"
|
|
84
87
|
:value="value"
|
|
85
88
|
ref="input"
|
|
86
89
|
>
|
package/vue/UiCombobox.vue
CHANGED
|
@@ -208,6 +208,7 @@ const validation = ref<
|
|
|
208
208
|
}
|
|
209
209
|
>({ status: 'pristine', touched: false, dirty: false, issues: [] })
|
|
210
210
|
const uid = ref('')
|
|
211
|
+
const submitted = ref('')
|
|
211
212
|
const groups = ref<
|
|
212
213
|
{
|
|
213
214
|
name: string
|
|
@@ -455,6 +456,7 @@ const { host, ready } = useComponentHost(controllerModule.default, {
|
|
|
455
456
|
lookupError,
|
|
456
457
|
validation,
|
|
457
458
|
uid,
|
|
459
|
+
submitted,
|
|
458
460
|
groups,
|
|
459
461
|
creatable,
|
|
460
462
|
createIndex,
|
|
@@ -518,13 +520,33 @@ defineExpose({
|
|
|
518
520
|
:aria-busy="validationStatus === 'pending'"
|
|
519
521
|
:value.prop="display"
|
|
520
522
|
:placeholder="placeholder"
|
|
521
|
-
:name="name"
|
|
522
523
|
:disabled="disabled"
|
|
523
524
|
:readonly="readonly"
|
|
524
|
-
:required="required"
|
|
525
|
+
:required="required && !(multiple && internalItems[0])"
|
|
525
526
|
ref="input"
|
|
526
527
|
>
|
|
527
|
-
<
|
|
528
|
+
<input
|
|
529
|
+
v-if="name && !multiple"
|
|
530
|
+
type="hidden"
|
|
531
|
+
:name="name"
|
|
532
|
+
:value="submitted"
|
|
533
|
+
:disabled="disabled"
|
|
534
|
+
>
|
|
535
|
+
<template v-if="name && multiple"><input
|
|
536
|
+
v-for="item in internalItems"
|
|
537
|
+
:key="item.id"
|
|
538
|
+
type="hidden"
|
|
539
|
+
:name="name"
|
|
540
|
+
:value="item.value"
|
|
541
|
+
:disabled="disabled"
|
|
542
|
+
></template>
|
|
543
|
+
<button
|
|
544
|
+
v-if="clearable"
|
|
545
|
+
type="button"
|
|
546
|
+
data-combobox-action="clear"
|
|
547
|
+
aria-label="Clear"
|
|
548
|
+
:disabled="disabled || readonly"
|
|
549
|
+
>
|
|
528
550
|
<svg
|
|
529
551
|
class="affordance-icon"
|
|
530
552
|
aria-hidden="true"
|
|
@@ -544,6 +566,7 @@ defineExpose({
|
|
|
544
566
|
tabindex="-1"
|
|
545
567
|
aria-label="Show suggestions"
|
|
546
568
|
:aria-controls="`${uid}-listbox`"
|
|
569
|
+
:disabled="disabled || readonly"
|
|
547
570
|
>
|
|
548
571
|
<svg
|
|
549
572
|
class="affordance-icon"
|
|
@@ -630,7 +653,7 @@ defineExpose({
|
|
|
630
653
|
</div>
|
|
631
654
|
<slot name="footer" />
|
|
632
655
|
</div>
|
|
633
|
-
<div class="message" :id="`${uid}-validation`" :hidden="!validation.issues
|
|
656
|
+
<div class="message" :id="`${uid}-validation`" :hidden="!(validation.issues[0])">
|
|
634
657
|
<div v-for="(issue, index) in validation.issues" :key="index">{{ issue.message }}</div>
|
|
635
658
|
</div>
|
|
636
659
|
<div class="sr-only" role="status" aria-live="polite" aria-atomic="true">{{ statusText }}</div>
|
package/vue/UiRadioGroup.vue
CHANGED
package/vue/UiSwitch.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
2
|
checked?: boolean;
|
|
3
3
|
disabled?: boolean;
|
|
4
|
+
name?: string;
|
|
4
5
|
required?: boolean;
|
|
5
6
|
value?: string;
|
|
6
7
|
};
|
|
@@ -25,6 +26,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
25
26
|
"onUpdate:checked"?: ((value: boolean) => any) | undefined;
|
|
26
27
|
"onUpdate:value"?: ((value: string) => any) | undefined;
|
|
27
28
|
}>, {
|
|
29
|
+
name: string;
|
|
28
30
|
value: string;
|
|
29
31
|
disabled: boolean;
|
|
30
32
|
checked: boolean;
|
package/vue/UiSwitch.vue
CHANGED
|
@@ -10,12 +10,14 @@ const props = withDefaults(
|
|
|
10
10
|
defineProps<{
|
|
11
11
|
checked?: boolean
|
|
12
12
|
disabled?: boolean
|
|
13
|
+
name?: string
|
|
13
14
|
required?: boolean
|
|
14
15
|
value?: string
|
|
15
16
|
}>(),
|
|
16
17
|
{
|
|
17
18
|
checked: false,
|
|
18
19
|
disabled: false,
|
|
20
|
+
name: '',
|
|
19
21
|
required: false,
|
|
20
22
|
value: 'on',
|
|
21
23
|
},
|
|
@@ -79,6 +81,7 @@ useComponentHost(controllerModule.default, {
|
|
|
79
81
|
:checked.prop="internalChecked"
|
|
80
82
|
:disabled="disabled"
|
|
81
83
|
:required="required"
|
|
84
|
+
:name="name"
|
|
82
85
|
:value="value"
|
|
83
86
|
ref="input"
|
|
84
87
|
>
|
package/vue/chunks/UiCheckbox.js
CHANGED
|
@@ -9,6 +9,7 @@ var _hoisted_2 = [
|
|
|
9
9
|
".indeterminate",
|
|
10
10
|
"disabled",
|
|
11
11
|
"required",
|
|
12
|
+
"name",
|
|
12
13
|
"value"
|
|
13
14
|
];
|
|
14
15
|
var _hoisted_3 = { class: "label" };
|
|
@@ -30,6 +31,7 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
30
31
|
type: Boolean,
|
|
31
32
|
default: false
|
|
32
33
|
},
|
|
34
|
+
name: { default: "" },
|
|
33
35
|
required: {
|
|
34
36
|
type: Boolean,
|
|
35
37
|
default: false
|
|
@@ -76,11 +78,12 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
76
78
|
".indeterminate": __props.indeterminate,
|
|
77
79
|
disabled: __props.disabled,
|
|
78
80
|
required: __props.required,
|
|
81
|
+
name: __props.name,
|
|
79
82
|
value: __props.value,
|
|
80
83
|
ref: "input"
|
|
81
84
|
}, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
|
|
82
85
|
};
|
|
83
86
|
}
|
|
84
|
-
}), [["__scopeId", "data-v-
|
|
87
|
+
}), [["__scopeId", "data-v-44d93832"]]);
|
|
85
88
|
//#endregion
|
|
86
89
|
export { UiCheckbox_default as t };
|
package/vue/chunks/UiCombobox.js
CHANGED
|
@@ -25,50 +25,54 @@ var _hoisted_6 = [
|
|
|
25
25
|
"aria-busy",
|
|
26
26
|
".value",
|
|
27
27
|
"placeholder",
|
|
28
|
-
"name",
|
|
29
28
|
"disabled",
|
|
30
29
|
"readonly",
|
|
31
30
|
"required"
|
|
32
31
|
];
|
|
33
|
-
var _hoisted_7 =
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
var _hoisted_7 = [
|
|
33
|
+
"name",
|
|
34
|
+
"value",
|
|
35
|
+
"disabled"
|
|
36
|
+
];
|
|
37
|
+
var _hoisted_8 = [
|
|
38
|
+
"name",
|
|
39
|
+
"value",
|
|
40
|
+
"disabled"
|
|
41
|
+
];
|
|
42
|
+
var _hoisted_9 = ["disabled"];
|
|
43
|
+
var _hoisted_10 = ["aria-controls", "disabled"];
|
|
44
|
+
var _hoisted_11 = ["id", "disabled"];
|
|
45
|
+
var _hoisted_12 = ["hidden"];
|
|
46
|
+
var _hoisted_13 = [
|
|
43
47
|
"id",
|
|
44
48
|
"aria-label",
|
|
45
49
|
"aria-busy"
|
|
46
50
|
];
|
|
47
|
-
var
|
|
48
|
-
var
|
|
51
|
+
var _hoisted_14 = ["role", "aria-label"];
|
|
52
|
+
var _hoisted_15 = {
|
|
49
53
|
key: 0,
|
|
50
54
|
class: "group"
|
|
51
55
|
};
|
|
52
|
-
var
|
|
56
|
+
var _hoisted_16 = [
|
|
53
57
|
"id",
|
|
54
58
|
"aria-selected",
|
|
55
59
|
"aria-disabled",
|
|
56
60
|
"data-index"
|
|
57
61
|
];
|
|
58
|
-
var
|
|
59
|
-
var
|
|
60
|
-
var
|
|
62
|
+
var _hoisted_17 = { class: "primary" };
|
|
63
|
+
var _hoisted_18 = ["id", "data-index"];
|
|
64
|
+
var _hoisted_19 = {
|
|
61
65
|
key: 1,
|
|
62
66
|
class: "message"
|
|
63
67
|
};
|
|
64
|
-
var
|
|
65
|
-
var
|
|
68
|
+
var _hoisted_20 = ["id", "hidden"];
|
|
69
|
+
var _hoisted_21 = {
|
|
66
70
|
class: "sr-only",
|
|
67
71
|
role: "status",
|
|
68
72
|
"aria-live": "polite",
|
|
69
73
|
"aria-atomic": "true"
|
|
70
74
|
};
|
|
71
|
-
var
|
|
75
|
+
var _hoisted_22 = {
|
|
72
76
|
class: "authored-options",
|
|
73
77
|
hidden: "",
|
|
74
78
|
"aria-hidden": "true",
|
|
@@ -162,6 +166,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
162
166
|
issues: []
|
|
163
167
|
});
|
|
164
168
|
const uid = ref("");
|
|
169
|
+
const submitted = ref("");
|
|
165
170
|
const groups = ref([]);
|
|
166
171
|
const creatable = ref(false);
|
|
167
172
|
const createIndex = ref(0);
|
|
@@ -280,6 +285,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
280
285
|
lookupError,
|
|
281
286
|
validation,
|
|
282
287
|
uid,
|
|
288
|
+
submitted,
|
|
283
289
|
groups,
|
|
284
290
|
creatable,
|
|
285
291
|
createIndex,
|
|
@@ -335,13 +341,34 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
335
341
|
"aria-busy": validationStatus.value === "pending",
|
|
336
342
|
".value": display.value,
|
|
337
343
|
placeholder: __props.placeholder,
|
|
338
|
-
name: __props.name,
|
|
339
344
|
disabled: __props.disabled,
|
|
340
345
|
readonly: __props.readonly,
|
|
341
|
-
required: __props.required,
|
|
346
|
+
required: __props.required && !(__props.multiple && internalItems.value[0]),
|
|
342
347
|
ref: "input"
|
|
343
348
|
}, null, 40, _hoisted_6),
|
|
344
|
-
__props.
|
|
349
|
+
__props.name && !__props.multiple ? (openBlock(), createElementBlock("input", {
|
|
350
|
+
key: 1,
|
|
351
|
+
type: "hidden",
|
|
352
|
+
name: __props.name,
|
|
353
|
+
value: submitted.value,
|
|
354
|
+
disabled: __props.disabled
|
|
355
|
+
}, null, 8, _hoisted_7)) : createCommentVNode("v-if", true),
|
|
356
|
+
__props.name && __props.multiple ? (openBlock(true), createElementBlock(Fragment, { key: 2 }, renderList(internalItems.value, (item) => {
|
|
357
|
+
return openBlock(), createElementBlock("input", {
|
|
358
|
+
key: item.id,
|
|
359
|
+
type: "hidden",
|
|
360
|
+
name: __props.name,
|
|
361
|
+
value: item.value,
|
|
362
|
+
disabled: __props.disabled
|
|
363
|
+
}, null, 8, _hoisted_8);
|
|
364
|
+
}), 128)) : createCommentVNode("v-if", true),
|
|
365
|
+
__props.clearable ? (openBlock(), createElementBlock("button", {
|
|
366
|
+
key: 3,
|
|
367
|
+
type: "button",
|
|
368
|
+
"data-combobox-action": "clear",
|
|
369
|
+
"aria-label": "Clear",
|
|
370
|
+
disabled: __props.disabled || __props.readonly
|
|
371
|
+
}, [..._cache[0] || (_cache[0] = [createElementVNode("svg", {
|
|
345
372
|
class: "affordance-icon",
|
|
346
373
|
"aria-hidden": "true",
|
|
347
374
|
viewBox: "0 0 24 24",
|
|
@@ -349,14 +376,15 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
349
376
|
stroke: "currentColor",
|
|
350
377
|
"stroke-width": "2",
|
|
351
378
|
"stroke-linecap": "round"
|
|
352
|
-
}, [createElementVNode("path", { d: "M7 7l10 10M17 7 7 17" })], -1)])])) : createCommentVNode("v-if", true),
|
|
379
|
+
}, [createElementVNode("path", { d: "M7 7l10 10M17 7 7 17" })], -1)])], 8, _hoisted_9)) : createCommentVNode("v-if", true),
|
|
353
380
|
__props.disclosure ? (openBlock(), createElementBlock("button", {
|
|
354
|
-
key:
|
|
381
|
+
key: 4,
|
|
355
382
|
type: "button",
|
|
356
383
|
"data-combobox-action": "disclosure",
|
|
357
384
|
tabindex: "-1",
|
|
358
385
|
"aria-label": "Show suggestions",
|
|
359
|
-
"aria-controls": `${uid.value}-listbox
|
|
386
|
+
"aria-controls": `${uid.value}-listbox`,
|
|
387
|
+
disabled: __props.disabled || __props.readonly
|
|
360
388
|
}, [..._cache[1] || (_cache[1] = [createElementVNode("svg", {
|
|
361
389
|
class: "affordance-icon",
|
|
362
390
|
"aria-hidden": "true",
|
|
@@ -366,7 +394,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
366
394
|
"stroke-width": "2.25",
|
|
367
395
|
"stroke-linecap": "round",
|
|
368
396
|
"stroke-linejoin": "round"
|
|
369
|
-
}, [createElementVNode("path", { d: "m6 9 6 6 6-6" })], -1)])], 8,
|
|
397
|
+
}, [createElementVNode("path", { d: "m6 9 6 6 6-6" })], -1)])], 8, _hoisted_10)) : createCommentVNode("v-if", true)
|
|
370
398
|
], 512), __props.help ? (openBlock(), createElementBlock("button", {
|
|
371
399
|
key: 0,
|
|
372
400
|
class: "help",
|
|
@@ -391,7 +419,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
391
419
|
}),
|
|
392
420
|
createElementVNode("path", { d: "M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3" }),
|
|
393
421
|
createElementVNode("path", { d: "M12 17h.01" })
|
|
394
|
-
], -1)])], 8,
|
|
422
|
+
], -1)])], 8, _hoisted_11)) : createCommentVNode("v-if", true)]),
|
|
395
423
|
__props.help ? (openBlock(), createBlock(UiTooltip_default, {
|
|
396
424
|
key: 0,
|
|
397
425
|
trigger: "click",
|
|
@@ -417,7 +445,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
417
445
|
key: group.name,
|
|
418
446
|
role: group.role,
|
|
419
447
|
"aria-label": group.label ?? void 0
|
|
420
|
-
}, [group.name ? (openBlock(), createElementBlock("div",
|
|
448
|
+
}, [group.name ? (openBlock(), createElementBlock("div", _hoisted_15, toDisplayString(group.name), 1)) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(group.rows, (row) => {
|
|
421
449
|
return openBlock(), createElementBlock("div", {
|
|
422
450
|
key: row.id,
|
|
423
451
|
class: normalizeClass(["option", { active: row.index === active.value }]),
|
|
@@ -426,8 +454,8 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
426
454
|
"aria-selected": row.selected,
|
|
427
455
|
"aria-disabled": row.disabled,
|
|
428
456
|
"data-index": row.index
|
|
429
|
-
}, [renderSlot(_ctx.$slots, `option-${row.id}`, {}, () => [createElementVNode("span",
|
|
430
|
-
}), 128))], 8,
|
|
457
|
+
}, [renderSlot(_ctx.$slots, `option-${row.id}`, {}, () => [createElementVNode("span", _hoisted_17, toDisplayString(row.label), 1)], true)], 10, _hoisted_16);
|
|
458
|
+
}), 128))], 8, _hoisted_14);
|
|
431
459
|
}), 128)),
|
|
432
460
|
creatable.value ? (openBlock(), createElementBlock("div", {
|
|
433
461
|
key: 0,
|
|
@@ -436,21 +464,21 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
436
464
|
"aria-selected": "false",
|
|
437
465
|
id: `${uid.value}-option-${createIndex.value}`,
|
|
438
466
|
"data-index": createIndex.value
|
|
439
|
-
}, toDisplayString(`Create “${raw.value}”`), 11,
|
|
440
|
-
message.value ? (openBlock(), createElementBlock("div",
|
|
441
|
-
], 8,
|
|
467
|
+
}, toDisplayString(`Create “${raw.value}”`), 11, _hoisted_18)) : createCommentVNode("v-if", true),
|
|
468
|
+
message.value ? (openBlock(), createElementBlock("div", _hoisted_19, toDisplayString(message.value), 1)) : createCommentVNode("v-if", true)
|
|
469
|
+
], 8, _hoisted_13), renderSlot(_ctx.$slots, "footer", {}, void 0, true)], 8, _hoisted_12),
|
|
442
470
|
createElementVNode("div", {
|
|
443
471
|
class: "message",
|
|
444
472
|
id: `${uid.value}-validation`,
|
|
445
|
-
hidden: !validation.value.issues
|
|
473
|
+
hidden: !validation.value.issues[0]
|
|
446
474
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(validation.value.issues, (issue, index) => {
|
|
447
475
|
return openBlock(), createElementBlock("div", { key: index }, toDisplayString(issue.message), 1);
|
|
448
|
-
}), 128))], 8,
|
|
449
|
-
createElementVNode("div",
|
|
450
|
-
createElementVNode("div",
|
|
476
|
+
}), 128))], 8, _hoisted_20),
|
|
477
|
+
createElementVNode("div", _hoisted_21, toDisplayString(statusText.value), 1),
|
|
478
|
+
createElementVNode("div", _hoisted_22, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 512)
|
|
451
479
|
], 16, _hoisted_1);
|
|
452
480
|
};
|
|
453
481
|
}
|
|
454
|
-
}), [["__scopeId", "data-v-
|
|
482
|
+
}), [["__scopeId", "data-v-cd33b9b7"]]);
|
|
455
483
|
//#endregion
|
|
456
484
|
export { UiCombobox_default as t };
|
|
@@ -3,7 +3,11 @@ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-hel
|
|
|
3
3
|
import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, toDisplayString } from "vue";
|
|
4
4
|
import * as controllerModule from "@threadlabs/looma/components/ui-radio-group/ui-radio-group.js";
|
|
5
5
|
//#region .build/vue/UiRadioGroup.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var _hoisted_1 = [
|
|
6
|
+
var _hoisted_1 = [
|
|
7
|
+
"aria-required",
|
|
8
|
+
"disabled",
|
|
9
|
+
"data-ui-radio-group-state"
|
|
10
|
+
];
|
|
7
11
|
//#endregion
|
|
8
12
|
//#region .build/vue/UiRadioGroup.vue
|
|
9
13
|
var UiRadioGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -63,12 +67,14 @@ var UiRadioGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
63
67
|
"data-component": "ui-radio-group",
|
|
64
68
|
role: "radiogroup"
|
|
65
69
|
}, _ctx.$attrs, {
|
|
70
|
+
"aria-required": __props.required,
|
|
71
|
+
disabled: __props.disabled,
|
|
66
72
|
"data-ui-radio-group-state": hostState.value || void 0,
|
|
67
73
|
ref_key: "root",
|
|
68
74
|
ref: root
|
|
69
75
|
}), [createElementVNode("legend", null, toDisplayString(__props.label), 1), renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
|
|
70
76
|
};
|
|
71
77
|
}
|
|
72
|
-
}), [["__scopeId", "data-v-
|
|
78
|
+
}), [["__scopeId", "data-v-f54344c6"]]);
|
|
73
79
|
//#endregion
|
|
74
80
|
export { UiRadioGroup_default as t };
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
2
|
import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, renderSlot } from "vue";
|
|
3
3
|
//#region .build/vue/UiSearchResultRow.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
-
var _hoisted_1 = [
|
|
4
|
+
var _hoisted_1 = [
|
|
5
|
+
"disabled",
|
|
6
|
+
"aria-current",
|
|
7
|
+
"data-ui-search-result-row-state"
|
|
8
|
+
];
|
|
5
9
|
var _hoisted_2 = { class: "leading" };
|
|
6
10
|
var _hoisted_3 = { class: "content" };
|
|
7
11
|
var _hoisted_4 = { class: "title" };
|
|
@@ -33,6 +37,7 @@ var UiSearchResultRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
|
|
|
33
37
|
type: "button"
|
|
34
38
|
}, _ctx.$attrs, {
|
|
35
39
|
disabled: __props.disabled,
|
|
40
|
+
"aria-current": __props.selected,
|
|
36
41
|
"data-ui-search-result-row-state": hostState.value || void 0
|
|
37
42
|
}), [
|
|
38
43
|
createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "leading")]),
|
|
@@ -45,6 +50,6 @@ var UiSearchResultRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
|
|
|
45
50
|
], 16, _hoisted_1);
|
|
46
51
|
};
|
|
47
52
|
}
|
|
48
|
-
}), [["__scopeId", "data-v-
|
|
53
|
+
}), [["__scopeId", "data-v-c2562cce"]]);
|
|
49
54
|
//#endregion
|
|
50
55
|
export { UiSearchResultRow_default as t };
|
package/vue/chunks/UiSwitch.js
CHANGED
|
@@ -8,6 +8,7 @@ var _hoisted_2 = [
|
|
|
8
8
|
".checked",
|
|
9
9
|
"disabled",
|
|
10
10
|
"required",
|
|
11
|
+
"name",
|
|
11
12
|
"value"
|
|
12
13
|
];
|
|
13
14
|
var _hoisted_3 = { class: "label" };
|
|
@@ -25,6 +26,7 @@ var UiSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
25
26
|
type: Boolean,
|
|
26
27
|
default: false
|
|
27
28
|
},
|
|
29
|
+
name: { default: "" },
|
|
28
30
|
required: {
|
|
29
31
|
type: Boolean,
|
|
30
32
|
default: false
|
|
@@ -71,11 +73,12 @@ var UiSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
71
73
|
".checked": internalChecked.value,
|
|
72
74
|
disabled: __props.disabled,
|
|
73
75
|
required: __props.required,
|
|
76
|
+
name: __props.name,
|
|
74
77
|
value: __props.value,
|
|
75
78
|
ref: "input"
|
|
76
79
|
}, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
|
|
77
80
|
};
|
|
78
81
|
}
|
|
79
|
-
}), [["__scopeId", "data-v-
|
|
82
|
+
}), [["__scopeId", "data-v-aeb44053"]]);
|
|
80
83
|
//#endregion
|
|
81
84
|
export { UiSwitch_default as t };
|