@sectile/vue 0.2.1
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/LICENSE +21 -0
- package/README.md +13 -0
- package/dist/accordion.d.ts +250 -0
- package/dist/accordion.d.ts.map +1 -0
- package/dist/accordion.js +242 -0
- package/dist/accordion.js.map +1 -0
- package/dist/alert-dialog.d.ts +16 -0
- package/dist/alert-dialog.d.ts.map +1 -0
- package/dist/alert-dialog.js +18 -0
- package/dist/alert-dialog.js.map +1 -0
- package/dist/calendar.d.ts +232 -0
- package/dist/calendar.d.ts.map +1 -0
- package/dist/calendar.js +109 -0
- package/dist/calendar.js.map +1 -0
- package/dist/carousel.d.ts +365 -0
- package/dist/carousel.d.ts.map +1 -0
- package/dist/carousel.js +140 -0
- package/dist/carousel.js.map +1 -0
- package/dist/cascade-select.d.ts +442 -0
- package/dist/cascade-select.d.ts.map +1 -0
- package/dist/cascade-select.js +111 -0
- package/dist/cascade-select.js.map +1 -0
- package/dist/checkbox-group.d.ts +206 -0
- package/dist/checkbox-group.d.ts.map +1 -0
- package/dist/checkbox-group.js +98 -0
- package/dist/checkbox-group.js.map +1 -0
- package/dist/checkbox.d.ts +152 -0
- package/dist/checkbox.d.ts.map +1 -0
- package/dist/checkbox.js +164 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/color-picker.d.ts +602 -0
- package/dist/color-picker.d.ts.map +1 -0
- package/dist/color-picker.js +129 -0
- package/dist/color-picker.js.map +1 -0
- package/dist/combobox.d.ts +320 -0
- package/dist/combobox.d.ts.map +1 -0
- package/dist/combobox.js +176 -0
- package/dist/combobox.js.map +1 -0
- package/dist/date-field.d.ts +15 -0
- package/dist/date-field.d.ts.map +1 -0
- package/dist/date-field.js +19 -0
- package/dist/date-field.js.map +1 -0
- package/dist/date-picker.d.ts +554 -0
- package/dist/date-picker.d.ts.map +1 -0
- package/dist/date-picker.js +18 -0
- package/dist/date-picker.js.map +1 -0
- package/dist/date-range-field.d.ts +129 -0
- package/dist/date-range-field.d.ts.map +1 -0
- package/dist/date-range-field.js +134 -0
- package/dist/date-range-field.js.map +1 -0
- package/dist/date-range-picker.d.ts +594 -0
- package/dist/date-range-picker.d.ts.map +1 -0
- package/dist/date-range-picker.js +19 -0
- package/dist/date-range-picker.js.map +1 -0
- package/dist/date-time-field.d.ts +15 -0
- package/dist/date-time-field.d.ts.map +1 -0
- package/dist/date-time-field.js +19 -0
- package/dist/date-time-field.js.map +1 -0
- package/dist/date-time-picker.d.ts +635 -0
- package/dist/date-time-picker.d.ts.map +1 -0
- package/dist/date-time-picker.js +20 -0
- package/dist/date-time-picker.js.map +1 -0
- package/dist/date-time-range-picker.d.ts +755 -0
- package/dist/date-time-range-picker.d.ts.map +1 -0
- package/dist/date-time-range-picker.js +23 -0
- package/dist/date-time-range-picker.js.map +1 -0
- package/dist/dialog.d.ts +16 -0
- package/dist/dialog.d.ts.map +1 -0
- package/dist/dialog.js +15 -0
- package/dist/dialog.js.map +1 -0
- package/dist/disclosure.d.ts +147 -0
- package/dist/disclosure.d.ts.map +1 -0
- package/dist/disclosure.js +129 -0
- package/dist/disclosure.js.map +1 -0
- package/dist/editable.d.ts +300 -0
- package/dist/editable.d.ts.map +1 -0
- package/dist/editable.js +181 -0
- package/dist/editable.js.map +1 -0
- package/dist/feed.d.ts +216 -0
- package/dist/feed.d.ts.map +1 -0
- package/dist/feed.js +85 -0
- package/dist/feed.js.map +1 -0
- package/dist/form.d.ts +356 -0
- package/dist/form.d.ts.map +1 -0
- package/dist/form.js +752 -0
- package/dist/form.js.map +1 -0
- package/dist/grid.d.ts +254 -0
- package/dist/grid.d.ts.map +1 -0
- package/dist/grid.js +95 -0
- package/dist/grid.js.map +1 -0
- package/dist/host-provider.d.ts +46 -0
- package/dist/host-provider.d.ts.map +1 -0
- package/dist/host-provider.js +39 -0
- package/dist/host-provider.js.map +1 -0
- package/dist/index.d.ts +124 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/date-picker.d.ts +539 -0
- package/dist/internal/date-picker.d.ts.map +1 -0
- package/dist/internal/date-picker.js +522 -0
- package/dist/internal/date-picker.js.map +1 -0
- package/dist/internal/form-control-inventory.d.ts +154 -0
- package/dist/internal/form-control-inventory.d.ts.map +1 -0
- package/dist/internal/form-control-inventory.js +43 -0
- package/dist/internal/form-control-inventory.js.map +1 -0
- package/dist/internal/form-control.d.ts +41 -0
- package/dist/internal/form-control.d.ts.map +1 -0
- package/dist/internal/form-control.js +52 -0
- package/dist/internal/form-control.js.map +1 -0
- package/dist/internal/native-field.d.ts +49 -0
- package/dist/internal/native-field.d.ts.map +1 -0
- package/dist/internal/native-field.js +81 -0
- package/dist/internal/native-field.js.map +1 -0
- package/dist/internal/native-input.d.ts +9 -0
- package/dist/internal/native-input.d.ts.map +1 -0
- package/dist/internal/native-input.js +9 -0
- package/dist/internal/native-input.js.map +1 -0
- package/dist/internal/part-contract.d.ts +9 -0
- package/dist/internal/part-contract.d.ts.map +1 -0
- package/dist/internal/part-contract.js +12 -0
- package/dist/internal/part-contract.js.map +1 -0
- package/dist/internal/popup.d.ts +99 -0
- package/dist/internal/popup.d.ts.map +1 -0
- package/dist/internal/popup.js +238 -0
- package/dist/internal/popup.js.map +1 -0
- package/dist/internal/tabs-context.d.ts +25 -0
- package/dist/internal/tabs-context.d.ts.map +1 -0
- package/dist/internal/tabs-context.js +9 -0
- package/dist/internal/tabs-context.js.map +1 -0
- package/dist/listbox.d.ts +275 -0
- package/dist/listbox.d.ts.map +1 -0
- package/dist/listbox.js +258 -0
- package/dist/listbox.js.map +1 -0
- package/dist/menu-button.d.ts +2 -0
- package/dist/menu-button.d.ts.map +1 -0
- package/dist/menu-button.js +2 -0
- package/dist/menu-button.js.map +1 -0
- package/dist/menu.d.ts +638 -0
- package/dist/menu.d.ts.map +1 -0
- package/dist/menu.js +167 -0
- package/dist/menu.js.map +1 -0
- package/dist/menubar.d.ts +2 -0
- package/dist/menubar.d.ts.map +1 -0
- package/dist/menubar.js +2 -0
- package/dist/menubar.js.map +1 -0
- package/dist/month-picker.d.ts +353 -0
- package/dist/month-picker.d.ts.map +1 -0
- package/dist/month-picker.js +10 -0
- package/dist/month-picker.js.map +1 -0
- package/dist/month-range-picker.d.ts +393 -0
- package/dist/month-range-picker.d.ts.map +1 -0
- package/dist/month-range-picker.js +11 -0
- package/dist/month-range-picker.js.map +1 -0
- package/dist/multi-thumb-slider.d.ts +299 -0
- package/dist/multi-thumb-slider.d.ts.map +1 -0
- package/dist/multi-thumb-slider.js +204 -0
- package/dist/multi-thumb-slider.js.map +1 -0
- package/dist/navigation-menu.d.ts +114 -0
- package/dist/navigation-menu.d.ts.map +1 -0
- package/dist/navigation-menu.js +36 -0
- package/dist/navigation-menu.js.map +1 -0
- package/dist/number-field.d.ts +12 -0
- package/dist/number-field.d.ts.map +1 -0
- package/dist/number-field.js +21 -0
- package/dist/number-field.js.map +1 -0
- package/dist/pagination.d.ts +294 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +145 -0
- package/dist/pagination.js.map +1 -0
- package/dist/pin-input.d.ts +207 -0
- package/dist/pin-input.d.ts.map +1 -0
- package/dist/pin-input.js +129 -0
- package/dist/pin-input.js.map +1 -0
- package/dist/popover.d.ts +17 -0
- package/dist/popover.d.ts.map +1 -0
- package/dist/popover.js +16 -0
- package/dist/popover.js.map +1 -0
- package/dist/primitive.d.ts +41 -0
- package/dist/primitive.d.ts.map +1 -0
- package/dist/primitive.js +27 -0
- package/dist/primitive.js.map +1 -0
- package/dist/quantity-field.d.ts +249 -0
- package/dist/quantity-field.d.ts.map +1 -0
- package/dist/quantity-field.js +131 -0
- package/dist/quantity-field.js.map +1 -0
- package/dist/radio-group.d.ts +225 -0
- package/dist/radio-group.d.ts.map +1 -0
- package/dist/radio-group.js +198 -0
- package/dist/radio-group.js.map +1 -0
- package/dist/range-calendar.d.ts +336 -0
- package/dist/range-calendar.d.ts.map +1 -0
- package/dist/range-calendar.js +15 -0
- package/dist/range-calendar.js.map +1 -0
- package/dist/rating.d.ts +228 -0
- package/dist/rating.d.ts.map +1 -0
- package/dist/rating.js +118 -0
- package/dist/rating.js.map +1 -0
- package/dist/reorder.d.ts +209 -0
- package/dist/reorder.d.ts.map +1 -0
- package/dist/reorder.js +186 -0
- package/dist/reorder.js.map +1 -0
- package/dist/select.d.ts +352 -0
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +191 -0
- package/dist/select.js.map +1 -0
- package/dist/slider.d.ts +269 -0
- package/dist/slider.d.ts.map +1 -0
- package/dist/slider.js +197 -0
- package/dist/slider.js.map +1 -0
- package/dist/spin-button.d.ts +272 -0
- package/dist/spin-button.d.ts.map +1 -0
- package/dist/spin-button.js +190 -0
- package/dist/spin-button.js.map +1 -0
- package/dist/stepper.d.ts +310 -0
- package/dist/stepper.d.ts.map +1 -0
- package/dist/stepper.js +87 -0
- package/dist/stepper.js.map +1 -0
- package/dist/switch.d.ts +149 -0
- package/dist/switch.d.ts.map +1 -0
- package/dist/switch.js +140 -0
- package/dist/switch.js.map +1 -0
- package/dist/tabs.d.ts +290 -0
- package/dist/tabs.d.ts.map +1 -0
- package/dist/tabs.js +258 -0
- package/dist/tabs.js.map +1 -0
- package/dist/tags-input.d.ts +297 -0
- package/dist/tags-input.d.ts.map +1 -0
- package/dist/tags-input.js +196 -0
- package/dist/tags-input.js.map +1 -0
- package/dist/text.d.ts +138 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +125 -0
- package/dist/text.js.map +1 -0
- package/dist/time-field.d.ts +15 -0
- package/dist/time-field.d.ts.map +1 -0
- package/dist/time-field.js +19 -0
- package/dist/time-field.js.map +1 -0
- package/dist/time-range-field.d.ts +128 -0
- package/dist/time-range-field.d.ts.map +1 -0
- package/dist/time-range-field.js +44 -0
- package/dist/time-range-field.js.map +1 -0
- package/dist/timer.d.ts +232 -0
- package/dist/timer.d.ts.map +1 -0
- package/dist/timer.js +51 -0
- package/dist/timer.js.map +1 -0
- package/dist/toast.d.ts +189 -0
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +78 -0
- package/dist/toast.js.map +1 -0
- package/dist/toggle-button.d.ts +81 -0
- package/dist/toggle-button.d.ts.map +1 -0
- package/dist/toggle-button.js +75 -0
- package/dist/toggle-button.js.map +1 -0
- package/dist/toggle-group.d.ts +228 -0
- package/dist/toggle-group.d.ts.map +1 -0
- package/dist/toggle-group.js +143 -0
- package/dist/toggle-group.js.map +1 -0
- package/dist/toolbar.d.ts +202 -0
- package/dist/toolbar.d.ts.map +1 -0
- package/dist/toolbar.js +82 -0
- package/dist/toolbar.js.map +1 -0
- package/dist/tooltip.d.ts +13 -0
- package/dist/tooltip.d.ts.map +1 -0
- package/dist/tooltip.js +15 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/tree-grid.d.ts +359 -0
- package/dist/tree-grid.d.ts.map +1 -0
- package/dist/tree-grid.js +125 -0
- package/dist/tree-grid.js.map +1 -0
- package/dist/tree-view.d.ts +304 -0
- package/dist/tree-view.d.ts.map +1 -0
- package/dist/tree-view.js +131 -0
- package/dist/tree-view.js.map +1 -0
- package/dist/window-splitter.d.ts +204 -0
- package/dist/window-splitter.d.ts.map +1 -0
- package/dist/window-splitter.js +82 -0
- package/dist/window-splitter.js.map +1 -0
- package/dist/year-picker.d.ts +353 -0
- package/dist/year-picker.d.ts.map +1 -0
- package/dist/year-picker.js +10 -0
- package/dist/year-picker.js.map +1 -0
- package/dist/year-range-picker.d.ts +393 -0
- package/dist/year-range-picker.d.ts.map +1 -0
- package/dist/year-range-picker.js +11 -0
- package/dist/year-range-picker.js.map +1 -0
- package/package.json +356 -0
package/dist/listbox.js
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { computed, defineComponent, h, inject, mergeProps, nextTick, provide, ref, shallowRef, watch, } from 'vue';
|
|
2
|
+
import { createListboxControllerFromItems, getListboxItemAttributes, getListboxRootAttributes, } from '@sectile/dom/listbox';
|
|
3
|
+
import { Primitive } from './primitive.js';
|
|
4
|
+
import { visuallyHiddenInputStyle } from './internal/native-input.js';
|
|
5
|
+
import { hiddenSelectSubmissionCapabilities, useCompositeFormControl } from './internal/form-control.js';
|
|
6
|
+
import { useHostDirection } from './host-provider.js';
|
|
7
|
+
const listboxRootContextKey = Symbol('SectileListboxRoot');
|
|
8
|
+
const listboxItemContextKey = Symbol('SectileListboxItem');
|
|
9
|
+
const listboxPartProps = {
|
|
10
|
+
as: { type: [String, Object, Function], default: 'span' },
|
|
11
|
+
asChild: { type: Boolean, default: false },
|
|
12
|
+
};
|
|
13
|
+
export const ListboxRoot = defineComponent({
|
|
14
|
+
name: 'SectileListboxRoot',
|
|
15
|
+
inheritAttrs: false,
|
|
16
|
+
props: {
|
|
17
|
+
items: { type: Array, required: true },
|
|
18
|
+
selectionMode: { type: String, default: 'single' },
|
|
19
|
+
modelValue: { type: [String, Array], default: undefined },
|
|
20
|
+
defaultValue: { type: [String, Array], default: undefined },
|
|
21
|
+
disabledItems: { type: Array, default: () => [] },
|
|
22
|
+
disabled: { type: Boolean, default: false },
|
|
23
|
+
readonly: { type: Boolean, default: false },
|
|
24
|
+
orientation: { type: String, default: 'vertical' },
|
|
25
|
+
name: { type: String, default: undefined },
|
|
26
|
+
form: { type: String, default: undefined },
|
|
27
|
+
required: { type: Boolean, default: false },
|
|
28
|
+
textValue: { type: Function, default: undefined },
|
|
29
|
+
as: { type: [String, Object, Function], default: 'div' },
|
|
30
|
+
asChild: { type: Boolean, default: false },
|
|
31
|
+
},
|
|
32
|
+
emits: {
|
|
33
|
+
'update:modelValue': (_value) => true,
|
|
34
|
+
highlight: (_value) => true,
|
|
35
|
+
activate: (_value) => true,
|
|
36
|
+
},
|
|
37
|
+
slots: Object,
|
|
38
|
+
setup(props, { attrs, emit, slots }) {
|
|
39
|
+
const direction = useHostDirection();
|
|
40
|
+
const rootElement = ref(null);
|
|
41
|
+
const submissionElement = ref(null);
|
|
42
|
+
const participation = useCompositeFormControl({
|
|
43
|
+
root: rootElement,
|
|
44
|
+
submissions: [{ element: submissionElement, capabilities: hiddenSelectSubmissionCapabilities }],
|
|
45
|
+
});
|
|
46
|
+
const controlled = props.modelValue !== undefined;
|
|
47
|
+
const controller = shallowRef(createController(controlled, toIDs(controlled ? props.modelValue : props.defaultValue, props.selectionMode), { ...props, direction: direction.value }, emit));
|
|
48
|
+
const snapshot = shallowRef(controller.value.getSnapshot());
|
|
49
|
+
const rebuild = () => {
|
|
50
|
+
const value = controlled
|
|
51
|
+
? toIDs(props.modelValue, props.selectionMode)
|
|
52
|
+
: snapshot.value.state.selection.selected;
|
|
53
|
+
controller.value = createController(controlled, value, { ...props, direction: direction.value }, emit);
|
|
54
|
+
snapshot.value = controller.value.getSnapshot();
|
|
55
|
+
};
|
|
56
|
+
watch(() => props.modelValue, (value) => {
|
|
57
|
+
if (!controlled || value === undefined)
|
|
58
|
+
return;
|
|
59
|
+
const result = controller.value.syncControlledValues({
|
|
60
|
+
value: toIDs(value, props.selectionMode),
|
|
61
|
+
});
|
|
62
|
+
if (!result.ok)
|
|
63
|
+
throw new TypeError(result.error.message);
|
|
64
|
+
snapshot.value = result.value;
|
|
65
|
+
});
|
|
66
|
+
watch([() => props.items, () => props.selectionMode, () => props.disabledItems,
|
|
67
|
+
() => props.disabled, () => props.readonly, () => props.orientation, () => props.textValue, direction], rebuild);
|
|
68
|
+
const selectedIDs = computed(() => snapshot.value.state.selection.selected);
|
|
69
|
+
const highlightedValue = computed(() => snapshot.value.state.cursor.current);
|
|
70
|
+
const disabled = computed(() => props.disabled);
|
|
71
|
+
const readonly = computed(() => props.readonly);
|
|
72
|
+
const disabledItems = computed(() => new Set(props.disabledItems));
|
|
73
|
+
const slotProps = computed(() => Object.freeze({
|
|
74
|
+
value: fromIDs(selectedIDs.value, props.selectionMode),
|
|
75
|
+
highlightedValue: highlightedValue.value,
|
|
76
|
+
disabled: disabled.value,
|
|
77
|
+
readonly: readonly.value,
|
|
78
|
+
}));
|
|
79
|
+
const applyResult = (result, root) => {
|
|
80
|
+
if (!result.ok)
|
|
81
|
+
return false;
|
|
82
|
+
snapshot.value = result.snapshot;
|
|
83
|
+
applyEffects(result.commands, emit);
|
|
84
|
+
if (root !== undefined)
|
|
85
|
+
void nextTick(() => focusListboxItem(root, result.snapshot.state.cursor.current));
|
|
86
|
+
return true;
|
|
87
|
+
};
|
|
88
|
+
const select = (id, target) => {
|
|
89
|
+
const event = props.selectionMode === 'multiple'
|
|
90
|
+
? { type: 'toggle', id }
|
|
91
|
+
: { type: 'activate', id };
|
|
92
|
+
applyResult(controller.value.handleEvent(event), target.closest('[role="listbox"]'));
|
|
93
|
+
};
|
|
94
|
+
const handleKeydown = (event) => {
|
|
95
|
+
const result = controller.value.handleKeyboardInput(event);
|
|
96
|
+
if (!applyResult(result, event.currentTarget))
|
|
97
|
+
return;
|
|
98
|
+
event.preventDefault();
|
|
99
|
+
};
|
|
100
|
+
provide(listboxRootContextKey, {
|
|
101
|
+
selectedIDs,
|
|
102
|
+
highlightedValue,
|
|
103
|
+
disabled,
|
|
104
|
+
readonly,
|
|
105
|
+
disabledItems,
|
|
106
|
+
select,
|
|
107
|
+
});
|
|
108
|
+
const rootAttributes = computed(() => getListboxRootAttributes({
|
|
109
|
+
selectionMode: props.selectionMode,
|
|
110
|
+
orientation: props.orientation,
|
|
111
|
+
direction: direction.value,
|
|
112
|
+
disabled: props.disabled,
|
|
113
|
+
readOnly: props.readonly,
|
|
114
|
+
}));
|
|
115
|
+
return () => {
|
|
116
|
+
const root = h(Primitive, mergeProps(attrs, rootAttributes.value, {
|
|
117
|
+
as: props.as, asChild: props.asChild, onKeydown: handleKeydown,
|
|
118
|
+
elementRef: (element) => { rootElement.value = element; },
|
|
119
|
+
}, participation.controlProps.value), { default: () => slots['default']?.(slotProps.value) });
|
|
120
|
+
if (!participation.participating && props.name === undefined && props.form === undefined && !props.required)
|
|
121
|
+
return root;
|
|
122
|
+
return [root, h('select', {
|
|
123
|
+
ref: submissionElement,
|
|
124
|
+
name: props.name,
|
|
125
|
+
form: props.form,
|
|
126
|
+
required: props.required,
|
|
127
|
+
multiple: props.selectionMode === 'multiple',
|
|
128
|
+
tabindex: -1,
|
|
129
|
+
'aria-hidden': 'true',
|
|
130
|
+
style: visuallyHiddenInputStyle,
|
|
131
|
+
}, props.items.map((id) => h('option', {
|
|
132
|
+
value: id,
|
|
133
|
+
selected: selectedIDs.value.includes(id),
|
|
134
|
+
}, id)))];
|
|
135
|
+
};
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
export const ListboxItem = defineComponent({
|
|
139
|
+
name: 'SectileListboxItem',
|
|
140
|
+
inheritAttrs: false,
|
|
141
|
+
props: {
|
|
142
|
+
value: { type: String, required: true },
|
|
143
|
+
disabled: { type: Boolean, default: false },
|
|
144
|
+
as: { type: [String, Object, Function], default: 'div' },
|
|
145
|
+
asChild: { type: Boolean, default: false },
|
|
146
|
+
},
|
|
147
|
+
slots: Object,
|
|
148
|
+
setup(props, { attrs, slots }) {
|
|
149
|
+
const root = useListboxRootContext('ListboxItem');
|
|
150
|
+
const slotProps = computed(() => Object.freeze({
|
|
151
|
+
value: props.value,
|
|
152
|
+
selected: root.selectedIDs.value.includes(props.value),
|
|
153
|
+
highlighted: root.highlightedValue.value === props.value,
|
|
154
|
+
disabled: root.disabled.value || props.disabled || root.disabledItems.value.has(props.value),
|
|
155
|
+
}));
|
|
156
|
+
provide(listboxItemContextKey, { slotProps });
|
|
157
|
+
const attributes = computed(() => getListboxItemAttributes({
|
|
158
|
+
cursor: { current: root.highlightedValue.value },
|
|
159
|
+
selection: { has: (id) => root.selectedIDs.value.includes(id) },
|
|
160
|
+
}, { id: props.value, disabled: props.disabled }, { disabled: slotProps.value.disabled }));
|
|
161
|
+
const handleClick = (event) => {
|
|
162
|
+
if (!event.defaultPrevented && !slotProps.value.disabled) {
|
|
163
|
+
root.select(props.value, event.currentTarget);
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
return () => h(Primitive, mergeProps(attrs, attributes.value, { as: props.as, asChild: props.asChild, onClick: handleClick }), { default: () => slots['default']?.(slotProps.value) });
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
export const ListboxItemText = defineComponent({
|
|
170
|
+
name: 'SectileListboxItemText',
|
|
171
|
+
inheritAttrs: false,
|
|
172
|
+
props: listboxPartProps,
|
|
173
|
+
slots: Object,
|
|
174
|
+
setup(props, { attrs, slots }) {
|
|
175
|
+
const item = useListboxItemContext('ListboxItemText');
|
|
176
|
+
return () => h(Primitive, mergeProps(attrs, {
|
|
177
|
+
as: props.as,
|
|
178
|
+
asChild: props.asChild,
|
|
179
|
+
'data-scope': 'listbox',
|
|
180
|
+
'data-part': 'item-text',
|
|
181
|
+
'data-state': item.slotProps.value.selected ? 'checked' : 'unchecked',
|
|
182
|
+
}), { default: () => slots['default']?.(item.slotProps.value) });
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
export const ListboxItemIndicator = defineComponent({
|
|
186
|
+
name: 'SectileListboxItemIndicator',
|
|
187
|
+
inheritAttrs: false,
|
|
188
|
+
props: listboxPartProps,
|
|
189
|
+
slots: Object,
|
|
190
|
+
setup(props, { attrs, slots }) {
|
|
191
|
+
const item = useListboxItemContext('ListboxItemIndicator');
|
|
192
|
+
return () => h(Primitive, mergeProps(attrs, {
|
|
193
|
+
as: props.as,
|
|
194
|
+
asChild: props.asChild,
|
|
195
|
+
hidden: !item.slotProps.value.selected,
|
|
196
|
+
'aria-hidden': 'true',
|
|
197
|
+
'data-scope': 'listbox',
|
|
198
|
+
'data-part': 'item-indicator',
|
|
199
|
+
'data-state': item.slotProps.value.selected ? 'checked' : 'unchecked',
|
|
200
|
+
}), { default: () => slots['default']?.(item.slotProps.value) });
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
function useListboxRootContext(part) {
|
|
204
|
+
const context = inject(listboxRootContextKey);
|
|
205
|
+
if (context === undefined)
|
|
206
|
+
throw new TypeError(`${part} must be used inside ListboxRoot.`);
|
|
207
|
+
return context;
|
|
208
|
+
}
|
|
209
|
+
function useListboxItemContext(part) {
|
|
210
|
+
const context = inject(listboxItemContextKey);
|
|
211
|
+
if (context === undefined)
|
|
212
|
+
throw new TypeError(`${part} must be used inside ListboxItem.`);
|
|
213
|
+
return context;
|
|
214
|
+
}
|
|
215
|
+
function createController(controlled, value, props, emit) {
|
|
216
|
+
const result = createListboxControllerFromItems({
|
|
217
|
+
items: props.items,
|
|
218
|
+
selectionMode: props.selectionMode,
|
|
219
|
+
disabledItems: props.disabledItems,
|
|
220
|
+
disabled: props.disabled,
|
|
221
|
+
readOnly: props.readonly,
|
|
222
|
+
orientation: props.orientation,
|
|
223
|
+
direction: props.direction,
|
|
224
|
+
typeahead: { textValue: props.textValue ?? ((id) => id) },
|
|
225
|
+
...(controlled ? { value } : { defaultValue: value }),
|
|
226
|
+
defaultHighlightedValue: value[0] ?? props.items.find((id) => !props.disabledItems.includes(id)) ?? null,
|
|
227
|
+
onValueChange: (change) => emit('update:modelValue', fromIDs(change.value, props.selectionMode)),
|
|
228
|
+
onHighlightedValueChange: (change) => emit('highlight', change.value),
|
|
229
|
+
});
|
|
230
|
+
if (!result.ok)
|
|
231
|
+
throw new TypeError(result.error.message);
|
|
232
|
+
return result.value;
|
|
233
|
+
}
|
|
234
|
+
function applyEffects(effects, emit) {
|
|
235
|
+
for (const effect of effects) {
|
|
236
|
+
if (effect.type === 'dispatch-activation')
|
|
237
|
+
emit('activate', effect.id);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
function toIDs(value, mode) {
|
|
241
|
+
if (value === undefined || value === '')
|
|
242
|
+
return [];
|
|
243
|
+
if (Array.isArray(value))
|
|
244
|
+
return mode === 'single' ? value.slice(0, 1) : value;
|
|
245
|
+
return [value];
|
|
246
|
+
}
|
|
247
|
+
function fromIDs(value, mode) {
|
|
248
|
+
return mode === 'single' ? value[0] ?? '' : value;
|
|
249
|
+
}
|
|
250
|
+
function focusListboxItem(root, id) {
|
|
251
|
+
if (id === null)
|
|
252
|
+
return;
|
|
253
|
+
for (const item of root.querySelectorAll('[data-listbox-id]')) {
|
|
254
|
+
if (item.dataset['listboxId'] === id)
|
|
255
|
+
item.focus();
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=listbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listbox.js","sourceRoot":"","sources":["../src/listbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { MenuButtonContent, MenuButtonRoot, MenuButtonTrigger, MenuItem, MenuSeparator, MenuSubContent, type MenuButtonRootProps, type MenuItemProps, type MenuItemSlotProps, type MenuPartProps, type MenuRootSlotProps, type MenuSubContentProps, } from './menu.js';
|
|
2
|
+
//# sourceMappingURL=menu-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-button.d.ts","sourceRoot":"","sources":["../src/menu-button.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-button.js","sourceRoot":"","sources":["../src/menu-button.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,cAAc,GAOf,MAAM,WAAW,CAAC"}
|