ropav 0.12.3 → 0.14.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/components/accordion/index.d.ts +1 -0
- package/dist/components/autocomplete/autocomplete-filter.js +2 -1
- package/dist/components/autocomplete/autocomplete-root.js +3 -1
- package/dist/components/autocomplete/autocomplete.context.d.ts +3 -1
- package/dist/components/autocomplete/index.d.ts +1 -0
- package/dist/components/calendar/index.d.ts +1 -0
- package/dist/components/checkbox-group/index.d.ts +1 -0
- package/dist/components/color-slider/index.d.ts +1 -0
- package/dist/components/combo-box/combo-box-root.js +3 -5
- package/dist/components/combo-box/combo-box.types.d.ts +7 -4
- package/dist/components/combo-box/index.d.ts +2 -0
- package/dist/components/date-field/index.d.ts +1 -0
- package/dist/components/date-picker/index.d.ts +2 -0
- package/dist/components/date-range-picker/index.d.ts +2 -0
- package/dist/components/date-range-picker/use-date-range-picker.js +1 -1
- package/dist/components/disclosure-group/index.d.ts +1 -0
- package/dist/components/dropdown/dropdown-menu.js +7 -3
- package/dist/components/dropdown/dropdown-root.js +1 -1
- package/dist/components/dropdown/dropdown-submenu-trigger.js +1 -1
- package/dist/components/dropdown/dropdown.context.d.ts +1 -1
- package/dist/components/dropdown/index.d.ts +1 -0
- package/dist/components/field-error/field-error-root.js +1 -1
- package/dist/components/form/form-root.js +1 -1
- package/dist/components/list-box/list-box-root.js +6 -5
- package/dist/components/list-box/list-box.context.d.ts +8 -0
- package/dist/components/number-field/index.d.ts +1 -0
- package/dist/components/overlay/overlay-popover.js +1 -1
- package/dist/components/radio-group/index.d.ts +1 -0
- package/dist/components/range-calendar/index.d.ts +1 -0
- package/dist/components/segmented-control/index.d.ts +1 -0
- package/dist/components/segmented-control/segmented-control.types.d.ts +1 -1
- package/dist/components/select/index.d.ts +1 -0
- package/dist/components/select/select-root.js +2 -1
- package/dist/components/select/select.types.d.ts +4 -1
- package/dist/components/slider/index.d.ts +1 -0
- package/dist/components/table/table-drag-handle.js +1 -1
- package/dist/components/tabs/index.d.ts +1 -0
- package/dist/components/tabs/tabs-root.js +5 -0
- package/dist/components/tabs/tabs.types.d.ts +8 -0
- package/dist/components/textfield/textfield.context.d.ts +3 -2
- package/dist/components/textfield/textfield.types.d.ts +3 -2
- package/dist/components/time-field/index.d.ts +2 -0
- package/dist/components/toggle-button/index.d.ts +1 -0
- package/dist/components/toggle-button-group/index.d.ts +1 -0
- package/dist/components/tooltip/index.d.ts +1 -0
- package/dist/composables/drag-manager.js +1 -1
- package/dist/composables/drag-modality.js +2 -1
- package/dist/composables/focus-scope-registry.d.ts +19 -0
- package/dist/composables/focus-scope-registry.js +38 -0
- package/dist/composables/form-context.d.ts +25 -0
- package/dist/composables/form-context.js +17 -0
- package/dist/composables/index.d.ts +0 -24
- package/dist/composables/interaction-modality.d.ts +42 -0
- package/dist/composables/interaction-modality.js +91 -0
- package/dist/composables/use-calendar-cell.js +1 -1
- package/dist/composables/use-checkbox-group-state.js +2 -1
- package/dist/composables/use-combo-box-state.d.ts +2 -1
- package/dist/composables/use-combo-box-state.js +3 -2
- package/dist/composables/use-css-variable.js +1 -5
- package/dist/composables/use-default-locale.d.ts +9 -0
- package/dist/composables/use-default-locale.js +39 -0
- package/dist/composables/use-dismissable.js +1 -1
- package/dist/composables/use-display-names.js +1 -1
- package/dist/composables/use-drag.js +1 -1
- package/dist/composables/use-droppable-collection.js +1 -1
- package/dist/composables/use-focus-scope.d.ts +0 -12
- package/dist/composables/use-focus-scope.js +4 -31
- package/dist/composables/use-form-validation-state.d.ts +1 -60
- package/dist/composables/use-form-validation-state.js +3 -134
- package/dist/composables/use-form-validation.d.ts +2 -1
- package/dist/composables/use-form-validation.js +2 -2
- package/dist/composables/use-interaction-states.d.ts +0 -36
- package/dist/composables/use-interaction-states.js +8 -91
- package/dist/composables/use-locale.d.ts +0 -14
- package/dist/composables/use-locale.js +4 -37
- package/dist/composables/use-localized-string-dictionary.d.ts +10 -0
- package/dist/composables/use-localized-string-dictionary.js +26 -0
- package/dist/composables/use-localized-string-formatter.d.ts +0 -9
- package/dist/composables/use-localized-string-formatter.js +3 -24
- package/dist/composables/use-long-press.d.ts +0 -2
- package/dist/composables/use-long-press.js +2 -2
- package/dist/composables/use-menu-trigger-state.d.ts +64 -0
- package/dist/composables/use-menu-trigger-state.js +90 -0
- package/dist/composables/use-menu-trigger.d.ts +2 -1
- package/dist/composables/use-modal-overlay.d.ts +2 -1
- package/dist/composables/use-modal-overlay.js +3 -2
- package/dist/composables/use-overlay-trigger-state.d.ts +0 -62
- package/dist/composables/use-overlay-trigger-state.js +2 -87
- package/dist/composables/use-page-size.d.ts +14 -0
- package/dist/composables/use-page-size.js +42 -0
- package/dist/composables/use-press.d.ts +0 -20
- package/dist/composables/use-press.js +3 -26
- package/dist/composables/use-range-calendar.js +1 -1
- package/dist/composables/use-select-state.d.ts +1 -1
- package/dist/composables/use-select-state.js +1 -1
- package/dist/composables/use-slider.js +1 -1
- package/dist/composables/use-toast-region.js +2 -1
- package/dist/composables/use-tooltip-trigger-state.js +1 -15
- package/dist/composables/use-tooltip-trigger.js +1 -1
- package/dist/composables/use-viewport-size.d.ts +0 -13
- package/dist/composables/use-viewport-size.js +1 -38
- package/dist/composables/validation-result.d.ts +37 -0
- package/dist/composables/validation-result.js +122 -0
- package/dist/composables/virtual-event.d.ts +20 -0
- package/dist/composables/virtual-event.js +28 -0
- package/dist/index.js +11 -35
- package/dist/ropav.min.css +1 -1
- package/dist/utils/date-validation.js +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -7,5 +7,6 @@ import AccordionRoot from "./accordion-root.js";
|
|
|
7
7
|
import AccordionTrigger from "./accordion-trigger.js";
|
|
8
8
|
export { AccordionRoot as Accordion, AccordionItem, AccordionHeading, AccordionTrigger, AccordionPanel, AccordionIndicator, AccordionBody, };
|
|
9
9
|
export type { AccordionRootProps as AccordionProps, AccordionItemProps, AccordionHeadingProps, AccordionTriggerProps, AccordionPanelProps, AccordionIndicatorProps, AccordionBodyProps, } from "./accordion.types.js";
|
|
10
|
+
export type { DisclosureKey } from "../../composables/use-disclosure-group.js";
|
|
10
11
|
export { accordionVariants } from "@ropav/styles";
|
|
11
12
|
export type { AccordionVariants } from "@ropav/styles";
|
|
@@ -132,7 +132,8 @@ var autocomplete_filter_vue_vue_type_script_setup_true_vapor_true_lang_default =
|
|
|
132
132
|
},
|
|
133
133
|
selection,
|
|
134
134
|
shouldFocusOnHover: true,
|
|
135
|
-
shouldUseVirtualFocus: () => !props.disableVirtualFocus
|
|
135
|
+
shouldUseVirtualFocus: () => !props.disableVirtualFocus,
|
|
136
|
+
size: () => root.size.value
|
|
136
137
|
});
|
|
137
138
|
provideAutocompleteInputContext({
|
|
138
139
|
inputAttributes: autocomplete.inputAttributes,
|
|
@@ -166,6 +166,7 @@ var autocomplete_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /
|
|
|
166
166
|
setTriggerElement: (element) => {
|
|
167
167
|
triggerElement.value = element;
|
|
168
168
|
},
|
|
169
|
+
size: computed(() => props.size),
|
|
169
170
|
slots: styles,
|
|
170
171
|
state,
|
|
171
172
|
triggerElement
|
|
@@ -201,7 +202,8 @@ var autocomplete_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /
|
|
|
201
202
|
labelledBy: () => select.labelledBy.value,
|
|
202
203
|
listId: () => select.listId.value,
|
|
203
204
|
selection: state.selection,
|
|
204
|
-
shouldFocusOnHover: true
|
|
205
|
+
shouldFocusOnHover: true,
|
|
206
|
+
size: () => props.size
|
|
205
207
|
});
|
|
206
208
|
/**
|
|
207
209
|
* The popover is anchored to the trigger group, not to the button inside it.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CollectionKey } from "../../composables/use-collection.js";
|
|
2
2
|
import type { UseSelectReturn } from "../../composables/use-select.js";
|
|
3
3
|
import type { SelectedItem, UseSelectStateReturn } from "../../composables/use-select-state.js";
|
|
4
|
-
import type { autocompleteVariants } from "@ropav/styles";
|
|
4
|
+
import type { AutocompleteVariants, autocompleteVariants } from "@ropav/styles";
|
|
5
5
|
import type { ComputedRef, ShallowRef } from "vue";
|
|
6
6
|
export interface AutocompleteContext {
|
|
7
7
|
slots: ComputedRef<ReturnType<typeof autocompleteVariants>>;
|
|
@@ -14,6 +14,8 @@ export interface AutocompleteContext {
|
|
|
14
14
|
/** What the trigger shows when nothing is chosen, already resolved to the localized default. */
|
|
15
15
|
placeholder: ComputedRef<string>;
|
|
16
16
|
isDisabled: ComputedRef<boolean>;
|
|
17
|
+
/** The root's size, which `AutocompleteFilter` hands on to the listbox in the popover. */
|
|
18
|
+
size: ComputedRef<AutocompleteVariants["size"] | undefined>;
|
|
17
19
|
/**
|
|
18
20
|
* The group the trigger renders, which the popover is measured and positioned against.
|
|
19
21
|
*
|
|
@@ -10,5 +10,6 @@ export type { AutocompleteClearButtonProps, AutocompleteFilterEmits, Autocomplet
|
|
|
10
10
|
export { useAutocompleteContext } from "./autocomplete.context.js";
|
|
11
11
|
export type { AutocompleteContext } from "./autocomplete.context.js";
|
|
12
12
|
export type { UseSelectReturn } from "../../composables/use-select.js";
|
|
13
|
+
export type { SelectedItem, SelectedValue, UseSelectStateReturn, } from "../../composables/use-select-state.js";
|
|
13
14
|
export { autocompleteVariants } from "@ropav/styles";
|
|
14
15
|
export type { AutocompleteVariants } from "@ropav/styles";
|
|
@@ -14,5 +14,6 @@ export { provideCalendarOwnerContext, provideCalendarStateContext, useCalendarOw
|
|
|
14
14
|
export type { CalendarOwnedProps, CalendarOwnerContext, CalendarStateContext, } from "./calendar.context.js";
|
|
15
15
|
export type { AnyCalendarState, UseCalendarReturn } from "../../composables/use-calendar.js";
|
|
16
16
|
export type { CalendarHeadingFormatOptions } from "../../composables/use-calendar-heading.js";
|
|
17
|
+
export type { CalendarSelectionMode, CalendarValue, PageBehavior, SelectionAlignment, } from "../../composables/use-calendar-state.js";
|
|
17
18
|
export { calendarVariants } from "@ropav/styles";
|
|
18
19
|
export type { CalendarVariants } from "@ropav/styles";
|
|
@@ -3,5 +3,6 @@ export { CheckboxGroupRoot as CheckboxGroup };
|
|
|
3
3
|
export type { CheckboxGroupRootProps as CheckboxGroupProps, CheckboxGroupSlotProps, } from "./checkbox-group.types.js";
|
|
4
4
|
export { useCheckboxGroupContext, provideCheckboxGroupContext } from "./checkbox-group.context.js";
|
|
5
5
|
export type { CheckboxGroupContext } from "./checkbox-group.context.js";
|
|
6
|
+
export type { CheckboxGroupState } from "../../composables/use-checkbox-group-state.js";
|
|
6
7
|
export { checkboxGroupVariants } from "@ropav/styles";
|
|
7
8
|
export type { CheckboxGroupVariants } from "@ropav/styles";
|
|
@@ -4,5 +4,6 @@ import ColorSliderThumb from "./color-slider-thumb.js";
|
|
|
4
4
|
import ColorSliderTrack from "./color-slider-track.js";
|
|
5
5
|
export { ColorSliderRoot as ColorSlider, ColorSliderOutput, ColorSliderTrack, ColorSliderThumb };
|
|
6
6
|
export type { ColorSliderRootProps as ColorSliderProps, ColorSliderOutputProps, ColorSliderTrackProps, ColorSliderThumbProps, ColorSliderSlotProps, ColorSliderThumbSlotProps, } from "./color-slider.types.js";
|
|
7
|
+
export type { SliderOrientation } from "../../composables/use-slider-state.js";
|
|
7
8
|
export { colorSliderVariants } from "@ropav/styles";
|
|
8
9
|
export type { ColorSliderVariants } from "@ropav/styles";
|
|
@@ -189,10 +189,7 @@ var combo_box_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@_
|
|
|
189
189
|
if (state.selectionMode.value === "single") return texts[0] ?? "";
|
|
190
190
|
return new Intl.ListFormat(locale.value.locale).format(texts);
|
|
191
191
|
});
|
|
192
|
-
const styles = computed(() => comboBoxVariants({
|
|
193
|
-
fullWidth: props.fullWidth,
|
|
194
|
-
size: props.size
|
|
195
|
-
}));
|
|
192
|
+
const styles = computed(() => comboBoxVariants({ fullWidth: props.fullWidth }));
|
|
196
193
|
const isDisabled = computed(() => Boolean(props.isDisabled));
|
|
197
194
|
/**
|
|
198
195
|
* The options that matched, handed to whoever writes the listbox.
|
|
@@ -245,7 +242,8 @@ var combo_box_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@_
|
|
|
245
242
|
},
|
|
246
243
|
selection: state.selection,
|
|
247
244
|
shouldFocusOnHover: true,
|
|
248
|
-
shouldUseVirtualFocus: true
|
|
245
|
+
shouldUseVirtualFocus: true,
|
|
246
|
+
size: () => props.size
|
|
249
247
|
});
|
|
250
248
|
/**
|
|
251
249
|
* The popover is anchored to the group around the field, not to the chevron inside it.
|
|
@@ -4,7 +4,7 @@ import type { ValidationBehavior, ValidationFunction } from "../../composables/u
|
|
|
4
4
|
import type { SelectSelectionMode, SelectedItem, SelectedValue } from "../../composables/use-select-state.js";
|
|
5
5
|
import type { DisabledBehavior } from "../../composables/use-selection-manager.js";
|
|
6
6
|
import type { Placement } from "../../utils/position.js";
|
|
7
|
-
import type {
|
|
7
|
+
import type { InputVariants } from "@ropav/styles";
|
|
8
8
|
/**
|
|
9
9
|
* A combo box is a text field that filters a list of options, and the text is part of the value.
|
|
10
10
|
*
|
|
@@ -95,12 +95,15 @@ export interface ComboBoxRootProps<T = unknown> {
|
|
|
95
95
|
ariaLabel?: string;
|
|
96
96
|
ariaLabelledby?: string;
|
|
97
97
|
ariaDescribedby?: string;
|
|
98
|
-
/**
|
|
99
|
-
|
|
98
|
+
/**
|
|
99
|
+
* How tall the field stands, matching a button of the same size. Handed to the `Input` inside and
|
|
100
|
+
* to the listbox in the popover, unless either declares one of its own. @default "md"
|
|
101
|
+
*/
|
|
102
|
+
size?: InputVariants["size"];
|
|
100
103
|
/** Whether the combo box stretches to fill its container. */
|
|
101
104
|
fullWidth?: boolean;
|
|
102
105
|
/** Visual variant the `Input` inside picks up. @default "primary" */
|
|
103
|
-
variant?: "
|
|
106
|
+
variant?: InputVariants["variant"];
|
|
104
107
|
}
|
|
105
108
|
export interface ComboBoxRootEmits {
|
|
106
109
|
change: [value: SelectedValue];
|
|
@@ -8,5 +8,7 @@ export type { ComboBoxInputGroupProps, ComboBoxInputGroupSlotProps, ComboBoxPopo
|
|
|
8
8
|
export { useComboBoxContext } from "./combo-box.context.js";
|
|
9
9
|
export type { ComboBoxContext } from "./combo-box.context.js";
|
|
10
10
|
export type { UseComboBoxReturn } from "../../composables/use-combo-box.js";
|
|
11
|
+
export type { ComboBoxFilter, ComboBoxMenuTrigger, ComboBoxValidationValue, UseComboBoxStateReturn, } from "../../composables/use-combo-box-state.js";
|
|
12
|
+
export type { SelectSelectionMode, SelectedItem, SelectedValue, } from "../../composables/use-select-state.js";
|
|
11
13
|
export { comboBoxVariants } from "@ropav/styles";
|
|
12
14
|
export type { ComboBoxVariants } from "@ropav/styles";
|
|
@@ -4,5 +4,6 @@ export { DateInputGroupInput as DateFieldInput, DateInputGroupInputContainer as
|
|
|
4
4
|
export { DateFieldRoot as DateField };
|
|
5
5
|
export type { DateFieldRootProps as DateFieldProps, DateFieldRootSlotProps as DateFieldSlotProps, } from "./date-field.types.js";
|
|
6
6
|
export type { DateInputGroupInputContainerProps as DateFieldInputContainerProps, DateInputGroupInputProps as DateFieldInputProps, DateInputGroupInputSlotProps as DateFieldInputSlotProps, DateInputGroupPrefixProps as DateFieldPrefixProps, DateInputGroupRootProps as DateFieldGroupProps, DateInputGroupRootSlotProps as DateFieldGroupSlotProps, DateInputGroupSegmentProps as DateFieldSegmentProps, DateInputGroupSuffixProps as DateFieldSuffixProps, } from "../date-input-group/index.js";
|
|
7
|
+
export type { DateSegment } from "../../composables/use-date-field-state.js";
|
|
7
8
|
export { dateFieldVariants, dateInputGroupVariants } from "@ropav/styles";
|
|
8
9
|
export type { DateFieldVariants, DateInputGroupVariants } from "@ropav/styles";
|
|
@@ -9,5 +9,7 @@ export type { DatePickerPopoverProps, DatePickerRootProps as DatePickerProps, Da
|
|
|
9
9
|
export type { DateInputGroupInputContainerProps as DatePickerInputContainerProps, DateInputGroupInputProps as DatePickerInputProps, DateInputGroupInputSlotProps as DatePickerInputSlotProps, DateInputGroupPrefixProps as DatePickerPrefixProps, DateInputGroupRootProps as DatePickerGroupProps, DateInputGroupRootSlotProps as DatePickerGroupSlotProps, DateInputGroupSegmentProps as DatePickerSegmentProps, DateInputGroupSuffixProps as DatePickerSuffixProps, } from "../date-input-group/index.js";
|
|
10
10
|
export { provideDatePickerContext, useDatePickerContext } from "./date-picker.context.js";
|
|
11
11
|
export type { DatePickerContext } from "./date-picker.context.js";
|
|
12
|
+
export type { PageBehavior } from "../../composables/use-calendar-state.js";
|
|
13
|
+
export type { DateSegment } from "../../composables/use-date-field-state.js";
|
|
12
14
|
export { dateInputGroupVariants, datePickerVariants } from "@ropav/styles";
|
|
13
15
|
export type { DateInputGroupVariants, DatePickerVariants } from "@ropav/styles";
|
|
@@ -11,5 +11,7 @@ export type { DateInputGroupInputContainerProps as DateRangePickerInputContainer
|
|
|
11
11
|
export { provideDateRangePickerContext, useDateRangePickerContext, } from "./date-range-picker.context.js";
|
|
12
12
|
export type { DateRangePickerContext } from "./date-range-picker.context.js";
|
|
13
13
|
export type { DateRange } from "../../composables/use-calendar.js";
|
|
14
|
+
export type { PageBehavior } from "../../composables/use-calendar-state.js";
|
|
15
|
+
export type { DateSegment } from "../../composables/use-date-field-state.js";
|
|
14
16
|
export { dateInputGroupVariants, dateRangePickerVariants } from "@ropav/styles";
|
|
15
17
|
export type { DateInputGroupVariants, DateRangePickerVariants } from "@ropav/styles";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useId as useId$1 } from "../../composables/use-id.js";
|
|
2
2
|
import { createFocusManager } from "../../utils/focus.js";
|
|
3
3
|
import { useFieldIds } from "../../composables/use-field-ids.js";
|
|
4
|
-
import { DEFAULT_VALIDATION_RESULT, mergeValidation } from "../../composables/
|
|
4
|
+
import { DEFAULT_VALIDATION_RESULT, mergeValidation } from "../../composables/validation-result.js";
|
|
5
5
|
import { useLocale } from "../../composables/use-locale.js";
|
|
6
6
|
import { useLocalizedStringFormatter } from "../../composables/use-localized-string-formatter.js";
|
|
7
7
|
import { useDescription } from "../../composables/use-description.js";
|
|
@@ -3,6 +3,7 @@ export { DisclosureGroupRoot as DisclosureGroup };
|
|
|
3
3
|
export type { DisclosureGroupRootProps as DisclosureGroupProps } from "./disclosure-group.types.js";
|
|
4
4
|
export { useDisclosureGroupContext } from "./disclosure-group.context.js";
|
|
5
5
|
export type { DisclosureGroupContext } from "./disclosure-group.context.js";
|
|
6
|
+
export type { DisclosureKey, UseDisclosureGroupReturn, } from "../../composables/use-disclosure-group.js";
|
|
6
7
|
export { useDisclosureGroupNavigation } from "../../composables/use-disclosure-group-navigation.js";
|
|
7
8
|
export type { UseDisclosureGroupNavigationOptions, UseDisclosureGroupNavigationReturn, } from "../../composables/use-disclosure-group-navigation.js";
|
|
8
9
|
export { disclosureGroupVariants } from "@ropav/styles";
|
|
@@ -2,6 +2,7 @@ import { provideSeparatorContext } from "../separator/separator.context.js";
|
|
|
2
2
|
import { useMenu } from "../../composables/use-menu.js";
|
|
3
3
|
import { useDropdownPopoverTarget } from "./dropdown.context.js";
|
|
4
4
|
import { computed, createIf, createSlot, defineVaporComponent, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, template, unref, useSlots } from "vue";
|
|
5
|
+
import { menuVariants } from "@ropav/styles";
|
|
5
6
|
//#region src/components/dropdown/dropdown-menu.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
6
7
|
var t0 = template("<div>");
|
|
7
8
|
var t1 = template("<div>", 1);
|
|
@@ -36,6 +37,10 @@ var dropdown_menu_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__
|
|
|
36
37
|
const emit = __emit;
|
|
37
38
|
const callerSlots = useSlots();
|
|
38
39
|
const target = useDropdownPopoverTarget();
|
|
40
|
+
const styles = computed(() => menuVariants({
|
|
41
|
+
class: ["rp-dropdown__menu", props.class],
|
|
42
|
+
size: props.size
|
|
43
|
+
}));
|
|
39
44
|
provideSeparatorContext({ elementType: "div" });
|
|
40
45
|
const menu = useMenu({
|
|
41
46
|
autoFocus: target.autoFocus,
|
|
@@ -62,12 +67,11 @@ var dropdown_menu_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__
|
|
|
62
67
|
const hasEmptySlot = computed(() => Boolean(callerSlots["empty"]));
|
|
63
68
|
const n5 = t1();
|
|
64
69
|
renderEffect(() => {
|
|
65
|
-
const _props = props;
|
|
66
70
|
const _menu = unref(menu);
|
|
67
71
|
setDynamicProps(n5, [
|
|
68
72
|
{
|
|
69
|
-
class:
|
|
70
|
-
"data-selection-mode":
|
|
73
|
+
class: styles.value,
|
|
74
|
+
"data-selection-mode": props.selectionMode,
|
|
71
75
|
"data-slot": "dropdown-menu"
|
|
72
76
|
},
|
|
73
77
|
_menu.menuAttributes.value,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { providePressResponder } from "../../composables/press-responder.js";
|
|
2
|
-
import { useMenuTriggerState } from "../../composables/use-
|
|
2
|
+
import { useMenuTriggerState } from "../../composables/use-menu-trigger-state.js";
|
|
3
3
|
import { useMenuTrigger } from "../../composables/use-menu-trigger.js";
|
|
4
4
|
import { provideDropdownContext, provideDropdownPopoverTarget } from "./dropdown.context.js";
|
|
5
5
|
import { computed, createSlot, defineVaporComponent } from "vue";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useId as useId$1 } from "../../composables/use-id.js";
|
|
2
|
-
import { useSubmenuTriggerState } from "../../composables/use-
|
|
2
|
+
import { useSubmenuTriggerState } from "../../composables/use-menu-trigger-state.js";
|
|
3
3
|
import { provideMenuItemPopupContext } from "../menu-item/menu-item.context.js";
|
|
4
4
|
import { useMenuContext } from "../menu/menu.context.js";
|
|
5
5
|
import { provideDropdownPopoverTarget, useDropdownContext } from "./dropdown.context.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RootMenuTriggerState } from "../../composables/use-
|
|
1
|
+
import type { RootMenuTriggerState } from "../../composables/use-menu-trigger-state.js";
|
|
2
2
|
import type { OverlayTargetContext } from "../overlay/index.js";
|
|
3
3
|
import type { dropdownVariants } from "@ropav/styles";
|
|
4
4
|
import type { ComputedRef } from "vue";
|
|
@@ -8,5 +8,6 @@ export type { DropdownMenuProps, DropdownPopoverProps, DropdownRootEmits as Drop
|
|
|
8
8
|
export { useDropdownContext, useDropdownPopoverTarget } from "./dropdown.context.js";
|
|
9
9
|
export type { DropdownContext, DropdownPopoverTarget } from "./dropdown.context.js";
|
|
10
10
|
export type { MenuTriggerType } from "../../composables/use-menu-trigger.js";
|
|
11
|
+
export type { RootMenuTriggerState } from "../../composables/use-menu-trigger-state.js";
|
|
11
12
|
export { dropdownVariants } from "@ropav/styles";
|
|
12
13
|
export type { DropdownVariants } from "@ropav/styles";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_VALIDATION_RESULT } from "../../composables/
|
|
1
|
+
import { DEFAULT_VALIDATION_RESULT } from "../../composables/validation-result.js";
|
|
2
2
|
import field_error_content_default from "./field-error-content.js";
|
|
3
3
|
import { useFieldErrorContext } from "./field-error.context.js";
|
|
4
4
|
import { computed, createComponent, createIf, createSlot, defineVaporComponent, extend, renderEffect, setText, template, toDisplayString } from "vue";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { provideFormContext } from "../../composables/
|
|
1
|
+
import { provideFormContext } from "../../composables/form-context.js";
|
|
2
2
|
import { computed, createSlot, defineVaporComponent, on, renderEffect, setClass, setInsertionState, setProp, shallowRef, template } from "vue";
|
|
3
3
|
//#region src/components/form/form-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
4
4
|
var t0 = template("<form>", 1);
|
|
@@ -59,11 +59,6 @@ var list_box_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__
|
|
|
59
59
|
* built the collection out of its own `items`, so naming `T` here restates what went in.
|
|
60
60
|
*/
|
|
61
61
|
const itemOf = (node) => node?.content;
|
|
62
|
-
const styles = computed(() => listboxVariants({
|
|
63
|
-
class: props.class,
|
|
64
|
-
size: props.size,
|
|
65
|
-
variant: props.variant
|
|
66
|
-
}));
|
|
67
62
|
/**
|
|
68
63
|
* The state this listbox runs on, which is not always its own.
|
|
69
64
|
*
|
|
@@ -72,6 +67,12 @@ var list_box_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__
|
|
|
72
67
|
* one is there the listbox borrows it whole rather than keeping a second copy that would drift.
|
|
73
68
|
*/
|
|
74
69
|
const owner = useListBoxStateContext();
|
|
70
|
+
const resolvedSize = computed(() => props.size ?? toValue(owner?.size));
|
|
71
|
+
const styles = computed(() => listboxVariants({
|
|
72
|
+
class: props.class,
|
|
73
|
+
size: resolvedSize.value,
|
|
74
|
+
variant: props.variant
|
|
75
|
+
}));
|
|
75
76
|
const ownListId = useId$1();
|
|
76
77
|
const collectionId = useId$1();
|
|
77
78
|
const listId = computed(() => toValue(owner?.listId) ?? ownListId.value);
|
|
@@ -5,6 +5,7 @@ import type { UseDroppableCollectionStateReturn } from "../../composables/use-dr
|
|
|
5
5
|
import type { UseListKeyboardReturn } from "../../composables/use-list-keyboard.js";
|
|
6
6
|
import type { FocusStrategy } from "../../composables/use-overlay-trigger-state.js";
|
|
7
7
|
import type { UseSelectionManagerReturn } from "../../composables/use-selection-manager.js";
|
|
8
|
+
import type { ListBoxVariants } from "@ropav/styles";
|
|
8
9
|
import type { ComputedRef, MaybeRefOrGetter } from "vue";
|
|
9
10
|
export interface ListBoxContext {
|
|
10
11
|
collection: UseCollectionReturn;
|
|
@@ -66,6 +67,13 @@ export interface ListBoxStateContext {
|
|
|
66
67
|
ariaLabel?: MaybeRefOrGetter<string | undefined>;
|
|
67
68
|
/** Where focus lands when the listbox appears, given how its owner was opened. */
|
|
68
69
|
autoFocus?: MaybeRefOrGetter<boolean | FocusStrategy | undefined>;
|
|
70
|
+
/**
|
|
71
|
+
* The owner's size, which the listbox's rows take when it declares none of its own.
|
|
72
|
+
*
|
|
73
|
+
* Handed down rather than reached by a selector: a picker's listbox is teleported out of the
|
|
74
|
+
* picker's DOM along with the popover, so no rule keyed on the root can find its rows.
|
|
75
|
+
*/
|
|
76
|
+
size?: MaybeRefOrGetter<ListBoxVariants["size"] | undefined>;
|
|
69
77
|
/** Whether hovering an option moves focus to it. @default false */
|
|
70
78
|
shouldFocusOnHover?: MaybeRefOrGetter<boolean | undefined>;
|
|
71
79
|
/**
|
|
@@ -8,5 +8,6 @@ export type { NumberFieldRootProps as NumberFieldProps, NumberFieldRootSlotProps
|
|
|
8
8
|
export { provideNumberFieldContext, useNumberFieldContext } from "./number-field.context.js";
|
|
9
9
|
export type { NumberFieldContext } from "./number-field.context.js";
|
|
10
10
|
export type { NumberFieldStepper, UseNumberFieldReturn } from "../../composables/use-number-field.js";
|
|
11
|
+
export type { NumberFieldCommitBehavior } from "../../composables/use-number-field-state.js";
|
|
11
12
|
export { numberFieldVariants } from "@ropav/styles";
|
|
12
13
|
export type { NumberFieldVariants } from "@ropav/styles";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { dataAttr } from "../../utils/assertion.js";
|
|
2
2
|
import { provideSurfaceContext } from "../surface/surface.context.js";
|
|
3
3
|
import { ariaHideOutside, keepVisible } from "../../utils/aria-hide-outside.js";
|
|
4
|
-
import { useFocusScope } from "../../composables/use-focus-scope.js";
|
|
5
4
|
import { useDismissable } from "../../composables/use-dismissable.js";
|
|
5
|
+
import { useFocusScope } from "../../composables/use-focus-scope.js";
|
|
6
6
|
import { usePreventScroll } from "../../composables/use-prevent-scroll.js";
|
|
7
7
|
import { useEnterExit } from "../../composables/use-enter-exit.js";
|
|
8
8
|
import { provideOverlayGroupContext, useOverlayGroupContext, useOverlayTargetContext } from "./overlay.context.js";
|
|
@@ -3,5 +3,6 @@ export { RadioGroupRoot as RadioGroup };
|
|
|
3
3
|
export type { RadioGroupRootProps as RadioGroupProps, RadioGroupSlotProps, } from "./radio-group.types.js";
|
|
4
4
|
export { useRadioGroupContext, provideRadioGroupContext } from "./radio-group.context.js";
|
|
5
5
|
export type { RadioGroupContext } from "./radio-group.context.js";
|
|
6
|
+
export type { RadioGroupState } from "../../composables/use-radio-group-state.js";
|
|
6
7
|
export { radioGroupVariants } from "@ropav/styles";
|
|
7
8
|
export type { RadioGroupVariants } from "@ropav/styles";
|
|
@@ -14,6 +14,7 @@ export { provideRangeCalendarContext, provideRangeCalendarOwnerContext, useRange
|
|
|
14
14
|
export type { RangeCalendarContext, RangeCalendarOwnedProps, RangeCalendarOwnerContext, } from "./range-calendar.context.js";
|
|
15
15
|
export type { AnyCalendarState, DateRange } from "../../composables/use-calendar.js";
|
|
16
16
|
export type { CalendarHeadingFormatOptions } from "../../composables/use-calendar-heading.js";
|
|
17
|
+
export type { PageBehavior, SelectionAlignment } from "../../composables/use-calendar-state.js";
|
|
17
18
|
export type { RangeCalendarCommitBehavior } from "../../composables/use-range-calendar.js";
|
|
18
19
|
export { rangeCalendarVariants } from "@ropav/styles";
|
|
19
20
|
export type { RangeCalendarVariants } from "@ropav/styles";
|
|
@@ -6,5 +6,6 @@ export { SegmentedControlRoot as SegmentedControl, SegmentedControlItem, Segment
|
|
|
6
6
|
export type { SegmentedControlRootProps as SegmentedControlProps, SegmentedControlRootSlotProps as SegmentedControlSlotProps, SegmentedControlItemProps, SegmentedControlItemSlotProps, SegmentedControlIndicatorProps, SegmentedControlSeparatorProps, SegmentedControlOrientation, } from "./segmented-control.types.js";
|
|
7
7
|
export { useSegmentedControlContext, useSegmentedControlItemContext, } from "./segmented-control.context.js";
|
|
8
8
|
export type { SegmentedControlContext, SegmentedControlItemContext, } from "./segmented-control.context.js";
|
|
9
|
+
export type { UseSingleSelectListStateReturn } from "../../composables/use-single-select-list-state.js";
|
|
9
10
|
export { segmentedControlVariants } from "@ropav/styles";
|
|
10
11
|
export type { SegmentedControlVariants } from "@ropav/styles";
|
|
@@ -6,7 +6,7 @@ export interface SegmentedControlRootProps {
|
|
|
6
6
|
/**
|
|
7
7
|
* The control's scale.
|
|
8
8
|
*
|
|
9
|
-
* The track lands on 32/36/40px, the
|
|
9
|
+
* The track lands on 28/32/36/40px, the four heights a button and a field stand at, so a
|
|
10
10
|
* segmented control lines up with either.
|
|
11
11
|
*
|
|
12
12
|
* @default "md"
|
|
@@ -9,5 +9,6 @@ export type { SelectClearButtonProps, SelectIndicatorProps, SelectPopoverProps,
|
|
|
9
9
|
export { useSelectContext } from "./select.context.js";
|
|
10
10
|
export type { SelectContext } from "./select.context.js";
|
|
11
11
|
export type { UseSelectReturn } from "../../composables/use-select.js";
|
|
12
|
+
export type { SelectSelectionMode, SelectedItem, SelectedValue, UseSelectStateReturn, } from "../../composables/use-select-state.js";
|
|
12
13
|
export { selectVariants } from "@ropav/styles";
|
|
13
14
|
export type { SelectVariants } from "@ropav/styles";
|
|
@@ -170,7 +170,8 @@ var select_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PU
|
|
|
170
170
|
labelledBy: () => select.labelledBy.value,
|
|
171
171
|
listId: () => select.listId.value,
|
|
172
172
|
selection: state.selection,
|
|
173
|
-
shouldFocusOnHover: true
|
|
173
|
+
shouldFocusOnHover: true,
|
|
174
|
+
size: () => props.size
|
|
174
175
|
});
|
|
175
176
|
provideOverlayTargetContext({
|
|
176
177
|
autoFocus: computed(() => state.focusStrategy.value ?? true),
|
|
@@ -60,7 +60,10 @@ export interface SelectRootProps<T = unknown> {
|
|
|
60
60
|
ariaLabelledby?: string;
|
|
61
61
|
ariaDescribedby?: string;
|
|
62
62
|
variant?: SelectVariants["variant"];
|
|
63
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* How tall the trigger stands, matching a button of the same size. Handed to the listbox in the
|
|
65
|
+
* popover, unless it declares one of its own. @default "md"
|
|
66
|
+
*/
|
|
64
67
|
size?: SelectVariants["size"];
|
|
65
68
|
fullWidth?: boolean;
|
|
66
69
|
}
|
|
@@ -6,5 +6,6 @@ import SliderThumb from "./slider-thumb.js";
|
|
|
6
6
|
import SliderTrack from "./slider-track.js";
|
|
7
7
|
export { SliderRoot as Slider, SliderOutput, SliderTrack, SliderFill, SliderThumb, SliderMarks };
|
|
8
8
|
export type { SliderRootProps as SliderProps, SliderOutputProps, SliderTrackProps, SliderFillProps, SliderThumbProps, SliderMarksProps, SliderSlotProps, SliderThumbSlotProps, } from "./slider.types.js";
|
|
9
|
+
export type { SliderOrientation } from "../../composables/use-slider-state.js";
|
|
9
10
|
export { sliderVariants } from "@ropav/styles";
|
|
10
11
|
export type { SliderVariants } from "@ropav/styles";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { providePressResponder } from "../../composables/press-responder.js";
|
|
2
|
-
import { isVirtualClick, isVirtualPointerEvent } from "../../composables/
|
|
2
|
+
import { isVirtualClick, isVirtualPointerEvent } from "../../composables/virtual-event.js";
|
|
3
3
|
import { useTableRowContext } from "./table.context.js";
|
|
4
4
|
import { computed, createSlot, defineVaporComponent, shallowRef } from "vue";
|
|
5
5
|
//#region src/components/table/table-drag-handle.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
@@ -9,5 +9,6 @@ export { TabsRoot as Tabs, TabsListContainer, TabsList, TabsTab, TabsIndicator,
|
|
|
9
9
|
export type { TabsRootProps as TabsProps, TabsRootSlotProps as TabsSlotProps, TabsListContainerProps, TabsListProps, TabsTabProps, TabsTabSlotProps, TabsIndicatorProps, TabsSeparatorProps, TabsPanelProps, TabsPanelSlotProps, TabsKeyboardActivation, TabsOrientation, } from "./tabs.types.js";
|
|
10
10
|
export { useTabsContext, useTabsTabContext } from "./tabs.context.js";
|
|
11
11
|
export type { TabsContext, TabsTabContext } from "./tabs.context.js";
|
|
12
|
+
export type { UseTabListStateReturn } from "../../composables/use-tab-list-state.js";
|
|
12
13
|
export { tabsVariants } from "@ropav/styles";
|
|
13
14
|
export type { TabsVariants } from "@ropav/styles";
|
|
@@ -13,6 +13,10 @@ var tabs_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
13
13
|
props: {
|
|
14
14
|
class: {},
|
|
15
15
|
align: { default: void 0 },
|
|
16
|
+
fullWidth: {
|
|
17
|
+
type: Boolean,
|
|
18
|
+
default: void 0
|
|
19
|
+
},
|
|
16
20
|
selectedKey: {},
|
|
17
21
|
defaultSelectedKey: {},
|
|
18
22
|
disabledKeys: {},
|
|
@@ -34,6 +38,7 @@ var tabs_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
34
38
|
const isDisabled = computed(() => Boolean(props.isDisabled));
|
|
35
39
|
const slots = computed(() => tabsVariants({
|
|
36
40
|
align: props.align,
|
|
41
|
+
fullWidth: props.fullWidth,
|
|
37
42
|
variant: props.variant
|
|
38
43
|
}));
|
|
39
44
|
const state = useTabListState({
|
|
@@ -14,6 +14,14 @@ export interface TabsRootProps {
|
|
|
14
14
|
* @default "center"
|
|
15
15
|
*/
|
|
16
16
|
align?: TabsVariants["align"];
|
|
17
|
+
/**
|
|
18
|
+
* Whether the tabs share the row between them. `false` sizes each tab to its label and starts
|
|
19
|
+
* the row at the inline start, which is the header-bar layout; the primary track then hugs the
|
|
20
|
+
* tabs too. A vertical list is unaffected — its tabs always take the widest one's width.
|
|
21
|
+
*
|
|
22
|
+
* @default true
|
|
23
|
+
*/
|
|
24
|
+
fullWidth?: boolean;
|
|
17
25
|
/** The selected tab, when the caller drives it. */
|
|
18
26
|
selectedKey?: CollectionKey;
|
|
19
27
|
/** The initially selected tab. Falls back to the first tab that is not disabled. */
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { InputVariants } from "@ropav/styles";
|
|
1
2
|
import type { ComputedRef } from "vue";
|
|
2
3
|
export interface TextFieldContext {
|
|
3
4
|
/** Visual variant the control inside picks up when it declares none of its own. */
|
|
4
|
-
variant: ComputedRef<"
|
|
5
|
+
variant: ComputedRef<InputVariants["variant"] | undefined>;
|
|
5
6
|
/** Size the control inside picks up when it declares none of its own. */
|
|
6
|
-
size: ComputedRef<"
|
|
7
|
+
size: ComputedRef<InputVariants["size"] | undefined>;
|
|
7
8
|
}
|
|
8
9
|
/**
|
|
9
10
|
* Carries the variant alone, kept apart from the control context that carries the behaviour.
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { ValidationBehavior, ValidationDetails, ValidationFunction } from "../../composables/use-form-validation-state.js";
|
|
2
|
+
import type { InputVariants } from "@ropav/styles";
|
|
2
3
|
export interface TextFieldRootProps {
|
|
3
4
|
class?: string;
|
|
4
5
|
/** Visual variant handed down to the control inside. @default "primary" */
|
|
5
|
-
variant?: "
|
|
6
|
+
variant?: InputVariants["variant"];
|
|
6
7
|
/**
|
|
7
8
|
* How tall the control inside stands, matching a button of the same size. Handed to the control
|
|
8
9
|
* unless it declares one of its own. @default "md"
|
|
9
10
|
*/
|
|
10
|
-
size?: "
|
|
11
|
+
size?: InputVariants["size"];
|
|
11
12
|
/** Whether the field stretches to fill its container. */
|
|
12
13
|
fullWidth?: boolean;
|
|
13
14
|
/** Text in the field. Makes it controlled. */
|
|
@@ -4,5 +4,7 @@ export { DateInputGroupInput as TimeFieldInput, DateInputGroupInputContainer as
|
|
|
4
4
|
export { TimeFieldRoot as TimeField };
|
|
5
5
|
export type { TimeFieldRootProps as TimeFieldProps, TimeFieldRootSlotProps as TimeFieldSlotProps, } from "./time-field.types.js";
|
|
6
6
|
export type { DateInputGroupInputContainerProps as TimeFieldInputContainerProps, DateInputGroupInputProps as TimeFieldInputProps, DateInputGroupInputSlotProps as TimeFieldInputSlotProps, DateInputGroupPrefixProps as TimeFieldPrefixProps, DateInputGroupRootProps as TimeFieldGroupProps, DateInputGroupRootSlotProps as TimeFieldGroupSlotProps, DateInputGroupSegmentProps as TimeFieldSegmentProps, DateInputGroupSuffixProps as TimeFieldSuffixProps, } from "../date-input-group/index.js";
|
|
7
|
+
export type { DateSegment } from "../../composables/use-date-field-state.js";
|
|
8
|
+
export type { TimeGranularity } from "../../composables/use-time-field-state.js";
|
|
7
9
|
export { dateInputGroupVariants, timeFieldVariants } from "@ropav/styles";
|
|
8
10
|
export type { DateInputGroupVariants, TimeFieldVariants } from "@ropav/styles";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import ToggleButtonRoot from "./toggle-button-root.js";
|
|
2
2
|
export { ToggleButtonRoot as ToggleButton };
|
|
3
3
|
export type { ToggleButtonRootProps as ToggleButtonProps, ToggleButtonSlotProps, } from "./toggle-button.types.js";
|
|
4
|
+
export type { ToggleGroupKey } from "../../composables/use-toggle-group-state.js";
|
|
4
5
|
export { toggleButtonVariants } from "@ropav/styles";
|
|
5
6
|
export type { ToggleButtonVariants } from "@ropav/styles";
|
|
@@ -4,5 +4,6 @@ export { ToggleButtonGroupRoot as ToggleButtonGroup, ToggleButtonGroupSeparator
|
|
|
4
4
|
export type { ToggleButtonGroupRootProps as ToggleButtonGroupProps, ToggleButtonGroupSeparatorProps, } from "./toggle-button-group.types.js";
|
|
5
5
|
export { useToggleButtonGroupContext } from "./toggle-button-group.context.js";
|
|
6
6
|
export type { ToggleButtonGroupContext } from "./toggle-button-group.context.js";
|
|
7
|
+
export type { ToggleGroupKey, ToggleGroupSelectionMode, UseToggleGroupStateReturn, } from "../../composables/use-toggle-group-state.js";
|
|
7
8
|
export { toggleButtonGroupVariants } from "@ropav/styles";
|
|
8
9
|
export type { ToggleButtonGroupVariants } from "@ropav/styles";
|
|
@@ -6,5 +6,6 @@ export { TooltipArrow, TooltipContent, TooltipRoot as Tooltip, TooltipTrigger };
|
|
|
6
6
|
export type { TooltipArrowProps, TooltipContentProps, TooltipRootEmits as TooltipEmits, TooltipRootProps as TooltipProps, TooltipTriggerProps, } from "./tooltip.types.js";
|
|
7
7
|
export { useTooltipContext } from "./tooltip.context.js";
|
|
8
8
|
export type { TooltipContext } from "./tooltip.context.js";
|
|
9
|
+
export type { TooltipTriggerState } from "../../composables/use-tooltip-trigger-state.js";
|
|
9
10
|
export { tooltipVariants } from "@ropav/styles";
|
|
10
11
|
export type { TooltipVariants } from "@ropav/styles";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ariaHideOutside } from "../utils/aria-hide-outside.js";
|
|
2
|
-
import { isVirtualClick, isVirtualPointerEvent } from "./
|
|
2
|
+
import { isVirtualClick, isVirtualPointerEvent } from "./virtual-event.js";
|
|
3
3
|
import { announce } from "../utils/live-announcer.js";
|
|
4
4
|
import { getTypes } from "../utils/dnd-data-transfer.js";
|
|
5
5
|
import { getDragModality } from "./drag-modality.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { getInteractionModality
|
|
1
|
+
import { getInteractionModality } from "./interaction-modality.js";
|
|
2
|
+
import { useInteractionModality } from "./use-interaction-states.js";
|
|
2
3
|
import { computed } from "vue";
|
|
3
4
|
//#region src/composables/drag-modality.ts
|
|
4
5
|
var mapModality = (modality) => {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface RegisteredScope {
|
|
2
|
+
root: () => HTMLElement | null;
|
|
3
|
+
contain: () => boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const innermostContainingScope: () => RegisteredScope | null;
|
|
6
|
+
/**
|
|
7
|
+
* Whether the element sits inside any registered scope.
|
|
8
|
+
*
|
|
9
|
+
* Any scope rather than only the descendants of one, because an overlay opened from inside
|
|
10
|
+
* another is a **sibling** in the DOM rather than a descendant — a submenu renders into its root
|
|
11
|
+
* popover's container, and a dropdown opened from a popover makes a container of its own. There
|
|
12
|
+
* is no tree to walk here, so a scope boundary is the thing that answers "focus is still in an
|
|
13
|
+
* overlay". React Aria walks its scope tree and asks the narrower question; the difference shows
|
|
14
|
+
* only when two unrelated overlays are open at once and focus moves between them, where this
|
|
15
|
+
* errs towards leaving them open.
|
|
16
|
+
*/
|
|
17
|
+
export declare const isElementInAnyFocusScope: (element: Element) => boolean;
|
|
18
|
+
/** Add a scope as the innermost, returning its removal. */
|
|
19
|
+
export declare const registerFocusScope: (scope: RegisteredScope) => (() => void);
|