ropav 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/autocomplete/autocomplete-root.js +3 -1
- package/dist/components/autocomplete/index.d.ts +3 -0
- package/dist/components/avatar/avatar-image.js +13 -2
- package/dist/components/avatar/avatar.types.d.ts +7 -1
- package/dist/components/breadcrumbs/breadcrumbs-item.js +1 -0
- package/dist/components/breadcrumbs/index.d.ts +1 -0
- package/dist/components/calendar/calendar-header.js +1 -1
- package/dist/components/calendar/index.d.ts +5 -3
- package/dist/components/calendar-year-picker/index.d.ts +4 -2
- package/dist/components/checkbox/checkbox-content.js +1 -1
- package/dist/components/color-field/index.d.ts +3 -2
- package/dist/components/color-input-group/color-input-group-root.js +2 -0
- package/dist/components/color-input-group/color-input-group.types.d.ts +2 -0
- package/dist/components/color-input-group/index.d.ts +2 -0
- package/dist/components/combo-box/combo-box-root.js +9 -2
- package/dist/components/combo-box/combo-box.types.d.ts +3 -0
- package/dist/components/combo-box/index.d.ts +3 -0
- package/dist/components/date-field/index.d.ts +1 -0
- package/dist/components/date-input-group/date-input-group-root.js +2 -0
- package/dist/components/date-input-group/date-input-group-segment.js +1 -1
- package/dist/components/date-input-group/date-input-group.types.d.ts +2 -0
- package/dist/{composables → components/date-input-group}/use-date-segment.d.ts +2 -2
- package/dist/{composables → components/date-input-group}/use-date-segment.js +9 -9
- package/dist/components/date-picker/index.d.ts +3 -2
- package/dist/components/date-picker/index.js +2 -2
- package/dist/components/date-range-picker/date-range-picker-root.js +1 -1
- package/dist/components/date-range-picker/index.d.ts +18 -16
- package/dist/components/date-range-picker/index.js +2 -2
- package/dist/{composables → components/date-range-picker}/use-date-range-picker.d.ts +7 -7
- package/dist/{composables → components/date-range-picker}/use-date-range-picker.js +10 -10
- package/dist/components/drawer/drawer-dialog.js +1 -1
- package/dist/{composables → components/drawer}/use-drawer-drag.d.ts +1 -1
- package/dist/{composables → components/drawer}/use-drawer-drag.js +1 -1
- package/dist/components/dropdown/dropdown-menu.js +3 -1
- package/dist/components/dropdown/dropdown-submenu-trigger.js +1 -1
- package/dist/components/dropdown/dropdown.types.d.ts +3 -3
- package/dist/components/dropdown/index.d.ts +4 -2
- package/dist/{composables → components/dropdown}/use-safely-mouse-to-submenu.js +1 -1
- package/dist/components/icons/icon-overlay-arrow.js +1 -1
- package/dist/components/index.d.ts +5 -0
- package/dist/components/input/index.d.ts +12 -4
- package/dist/components/input/input-root.d.ts +5 -2
- package/dist/components/input/input-root.js +46 -5
- package/dist/components/input/input.types.d.ts +11 -0
- package/dist/components/input-group/index.d.ts +2 -0
- package/dist/components/input-group/input-group-root.js +3 -0
- package/dist/components/input-group/input-group.types.d.ts +5 -0
- package/dist/components/input-otp/index.d.ts +6 -4
- package/dist/components/link/index.d.ts +2 -0
- package/dist/components/link/link-root.js +22 -5
- package/dist/components/link/link.types.d.ts +14 -3
- package/dist/{composables → components/list-box}/drag-collection.d.ts +2 -2
- package/dist/{composables → components/list-box}/drag-collection.js +1 -1
- package/dist/components/list-box/index.d.ts +4 -0
- package/dist/components/list-box/list-box-root.js +60 -35
- package/dist/components/list-box/list-box.types.d.ts +2 -0
- package/dist/components/menu/index.d.ts +4 -0
- package/dist/components/menu/menu-root.js +9 -2
- package/dist/components/menu/menu.types.d.ts +5 -0
- package/dist/components/number-field/index.d.ts +3 -0
- package/dist/components/number-field/number-field-root.js +2 -0
- package/dist/components/number-field/number-field.types.d.ts +2 -0
- package/dist/components/overlay/overlay-arrow.js +64 -11
- package/dist/components/pagination/index.d.ts +2 -0
- package/dist/components/pagination/pagination-root.js +8 -3
- package/dist/components/pagination/pagination.types.d.ts +8 -0
- package/dist/components/popover/popover-trigger.js +14 -7
- package/dist/components/radio/radio-content.js +1 -1
- package/dist/components/range-calendar/index.d.ts +18 -15
- package/dist/components/range-calendar/range-calendar-header.js +1 -1
- package/dist/components/router-provider/index.d.ts +5 -0
- package/dist/components/router-provider/index.js +3 -0
- package/dist/components/router-provider/router-provider.context.d.ts +40 -0
- package/dist/components/router-provider/router-provider.context.js +16 -0
- package/dist/components/router-provider/router-provider.d.ts +21 -0
- package/dist/components/router-provider/router-provider.js +22 -0
- package/dist/components/router-provider/router-provider.types.d.ts +23 -0
- package/dist/components/scroll-shadow/scroll-shadow-root.js +7 -1
- package/dist/components/scroll-shadow/use-scroll-shadow.js +25 -1
- package/dist/components/search-field/index.d.ts +2 -0
- package/dist/components/search-field/search-field-root.js +3 -1
- package/dist/components/search-field/search-field.types.d.ts +2 -0
- package/dist/{composables → components/search-field}/use-search-field.d.ts +2 -2
- package/dist/{composables → components/search-field}/use-search-field.js +3 -3
- package/dist/components/segmented-control/index.d.ts +134 -0
- package/dist/components/segmented-control/index.js +15 -0
- package/dist/components/segmented-control/segmented-control-indicator.d.ts +19 -0
- package/dist/components/segmented-control/segmented-control-indicator.js +36 -0
- package/dist/components/segmented-control/segmented-control-item.d.ts +21 -0
- package/dist/components/segmented-control/segmented-control-item.js +96 -0
- package/dist/components/segmented-control/segmented-control-root.d.ts +25 -0
- package/dist/components/segmented-control/segmented-control-root.js +112 -0
- package/dist/components/segmented-control/segmented-control-separator.d.ts +19 -0
- package/dist/components/segmented-control/segmented-control-separator.js +18 -0
- package/dist/components/segmented-control/segmented-control.context.d.ts +17 -0
- package/dist/components/segmented-control/segmented-control.context.js +12 -0
- package/dist/components/segmented-control/segmented-control.types.d.ts +67 -0
- package/dist/components/select/index.d.ts +3 -0
- package/dist/components/select/select-hidden-select.js +1 -1
- package/dist/components/select/select-root.js +2 -0
- package/dist/components/select/select.types.d.ts +2 -0
- package/dist/components/separator/separator-root.js +11 -5
- package/dist/components/separator/separator.context.d.ts +7 -0
- package/dist/components/sidebar/index.d.ts +544 -0
- package/dist/components/sidebar/index.js +47 -0
- package/dist/components/sidebar/sidebar-collapsible-trigger.d.ts +21 -0
- package/dist/components/sidebar/sidebar-collapsible-trigger.js +70 -0
- package/dist/components/sidebar/sidebar-collapsible.d.ts +24 -0
- package/dist/components/sidebar/sidebar-collapsible.js +78 -0
- package/dist/components/sidebar/sidebar-content.d.ts +21 -0
- package/dist/components/sidebar/sidebar-content.js +37 -0
- package/dist/components/sidebar/sidebar-footer.d.ts +21 -0
- package/dist/components/sidebar/sidebar-footer.js +24 -0
- package/dist/components/sidebar/sidebar-group-label.d.ts +21 -0
- package/dist/components/sidebar/sidebar-group-label.js +32 -0
- package/dist/components/sidebar/sidebar-group.d.ts +21 -0
- package/dist/components/sidebar/sidebar-group.js +48 -0
- package/dist/components/sidebar/sidebar-header.d.ts +21 -0
- package/dist/components/sidebar/sidebar-header.js +24 -0
- package/dist/components/sidebar/sidebar-inset.d.ts +21 -0
- package/dist/components/sidebar/sidebar-inset.js +24 -0
- package/dist/components/sidebar/sidebar-item-icon.d.ts +21 -0
- package/dist/components/sidebar/sidebar-item-icon.js +20 -0
- package/dist/components/sidebar/sidebar-item-indicator.d.ts +21 -0
- package/dist/components/sidebar/sidebar-item-indicator.js +48 -0
- package/dist/components/sidebar/sidebar-item-label.d.ts +21 -0
- package/dist/components/sidebar/sidebar-item-label.js +28 -0
- package/dist/components/sidebar/sidebar-item-tooltip.d.ts +21 -0
- package/dist/components/sidebar/sidebar-item-tooltip.js +38 -0
- package/dist/components/sidebar/sidebar-item-trailing.d.ts +21 -0
- package/dist/components/sidebar/sidebar-item-trailing.js +28 -0
- package/dist/components/sidebar/sidebar-item.d.ts +23 -0
- package/dist/components/sidebar/sidebar-item.js +160 -0
- package/dist/components/sidebar/sidebar-panel.d.ts +21 -0
- package/dist/components/sidebar/sidebar-panel.js +88 -0
- package/dist/components/sidebar/sidebar-rail.d.ts +21 -0
- package/dist/components/sidebar/sidebar-rail.js +210 -0
- package/dist/components/sidebar/sidebar-root.d.ts +31 -0
- package/dist/components/sidebar/sidebar-root.js +138 -0
- package/dist/components/sidebar/sidebar-separator.d.ts +19 -0
- package/dist/components/sidebar/sidebar-separator.js +16 -0
- package/dist/components/sidebar/sidebar-sub-menu.d.ts +23 -0
- package/dist/components/sidebar/sidebar-sub-menu.js +40 -0
- package/dist/components/sidebar/sidebar-trigger.d.ts +21 -0
- package/dist/components/sidebar/sidebar-trigger.js +69 -0
- package/dist/components/sidebar/sidebar.context.d.ts +75 -0
- package/dist/components/sidebar/sidebar.context.js +30 -0
- package/dist/components/sidebar/sidebar.state.d.ts +73 -0
- package/dist/components/sidebar/sidebar.state.js +76 -0
- package/dist/components/sidebar/sidebar.storage.d.ts +8 -0
- package/dist/components/sidebar/sidebar.storage.js +45 -0
- package/dist/components/sidebar/sidebar.types.d.ts +259 -0
- package/dist/components/splitter/index.d.ts +143 -0
- package/dist/components/splitter/index.js +13 -0
- package/dist/components/splitter/splitter-handle.d.ts +21 -0
- package/dist/components/splitter/splitter-handle.js +209 -0
- package/dist/components/splitter/splitter-panel.d.ts +21 -0
- package/dist/components/splitter/splitter-panel.js +70 -0
- package/dist/components/splitter/splitter-root.d.ts +31 -0
- package/dist/components/splitter/splitter-root.js +152 -0
- package/dist/components/splitter/splitter.context.d.ts +15 -0
- package/dist/components/splitter/splitter.context.js +5 -0
- package/dist/components/splitter/splitter.state.d.ts +87 -0
- package/dist/components/splitter/splitter.state.js +322 -0
- package/dist/components/splitter/splitter.storage.d.ts +15 -0
- package/dist/components/splitter/splitter.storage.js +56 -0
- package/dist/components/splitter/splitter.types.d.ts +98 -0
- package/dist/components/switch/switch-content.js +1 -1
- package/dist/components/table/index.d.ts +10 -9
- package/dist/components/table/table-body.js +13 -13
- package/dist/components/table/table-cell.js +49 -46
- package/dist/components/table/table-column-resizer.js +1 -1
- package/dist/components/table/table-column.js +1 -1
- package/dist/components/table/table-content.js +37 -18
- package/dist/{composables → components/table}/table-drag-collection.d.ts +1 -1
- package/dist/{composables → components/table}/table-drag-collection.js +1 -1
- package/dist/components/table/table-drop-indicator.js +3 -1
- package/dist/components/table/table-resizable-container.d.ts +4 -5
- package/dist/components/table/table-row.js +45 -14
- package/dist/components/table/table-virtualizer-item.d.ts +2 -7
- package/dist/components/table/table-virtualizer-item.js +20 -9
- package/dist/components/table/table.context.d.ts +11 -3
- package/dist/components/table/table.types.d.ts +1 -1
- package/dist/{composables → components/table}/use-grid-keyboard.d.ts +3 -3
- package/dist/{composables → components/table}/use-grid-keyboard.js +57 -55
- package/dist/{composables → components/table}/use-grid-selection-announcement.d.ts +2 -2
- package/dist/{composables → components/table}/use-grid-selection-announcement.js +2 -2
- package/dist/{composables → components/table}/use-table-collection.d.ts +2 -2
- package/dist/{composables → components/table}/use-table-collection.js +4 -4
- package/dist/{composables → components/table}/use-table-column-layout.d.ts +13 -20
- package/dist/components/table/use-table-column-layout.js +115 -0
- package/dist/components/tabs/tabs-panel.js +5 -1
- package/dist/components/tabs/tabs-tab.js +1 -1
- package/dist/components/textarea/index.d.ts +12 -4
- package/dist/components/textarea/textarea-root.d.ts +5 -2
- package/dist/components/textarea/textarea-root.js +40 -5
- package/dist/components/textarea/textarea.types.d.ts +11 -0
- package/dist/components/textfield/index.d.ts +2 -0
- package/dist/components/textfield/textfield-root.js +5 -1
- package/dist/components/textfield/textfield.context.d.ts +2 -0
- package/dist/components/textfield/textfield.types.d.ts +5 -0
- package/dist/components/time-field/index.d.ts +1 -0
- package/dist/components/toast/index.d.ts +1 -0
- package/dist/components/toast/toast-default-content.js +1 -1
- package/dist/components/toggle-button-group/toggle-button-group-root.js +3 -3
- package/dist/components/toolbar/index.d.ts +3 -2
- package/dist/components/toolbar/toolbar-root.js +3 -3
- package/dist/components/tooltip/index.js +1 -1
- package/dist/components/tooltip/tooltip-root.js +1 -1
- package/dist/components/tooltip/tooltip-trigger.js +13 -5
- package/dist/components/virtualizer/index.d.ts +3 -1
- package/dist/components/virtualizer/index.js +2 -1
- package/dist/components/virtualizer/use-virtualizer-item.d.ts +23 -0
- package/dist/components/virtualizer/use-virtualizer-item.js +45 -0
- package/dist/components/virtualizer/virtualizer-item.js +7 -41
- package/dist/components/virtualizer/virtualizer-scrollbar-track.d.ts +20 -0
- package/dist/components/virtualizer/virtualizer-scrollbar-track.js +141 -0
- package/dist/components/virtualizer/virtualizer-scrollbar.d.ts +18 -0
- package/dist/components/virtualizer/virtualizer-scrollbar.js +55 -0
- package/dist/components/virtualizer/virtualizer.context.d.ts +17 -1
- package/dist/composables/drag-manager.js +1 -13
- package/dist/composables/index.d.ts +3 -71
- package/dist/composables/use-collection.d.ts +22 -3
- package/dist/composables/use-collection.js +67 -14
- package/dist/composables/use-color-area.js +2 -2
- package/dist/composables/use-color-field.js +1 -1
- package/dist/composables/use-combo-box.js +1 -1
- package/dist/composables/use-date-field.js +1 -1
- package/dist/composables/use-drag-and-drop.js +1 -1
- package/dist/composables/use-drag.d.ts +6 -5
- package/dist/composables/use-draggable-item.d.ts +2 -2
- package/dist/composables/use-droppable-collection.js +2 -2
- package/dist/composables/use-droppable-item.js +1 -1
- package/dist/composables/use-form-reset.d.ts +6 -2
- package/dist/composables/use-form-reset.js +9 -5
- package/dist/composables/use-list-keyboard.js +64 -62
- package/dist/composables/use-menu.d.ts +10 -0
- package/dist/composables/use-menu.js +22 -0
- package/dist/composables/use-number-field.js +1 -1
- package/dist/composables/use-select.js +2 -3
- package/dist/composables/use-selection-manager.js +4 -4
- package/dist/composables/use-single-select-list-state.d.ts +37 -0
- package/dist/composables/use-single-select-list-state.js +110 -0
- package/dist/composables/use-slider-thumb.js +2 -2
- package/dist/composables/use-slider.js +1 -1
- package/dist/composables/use-tab-list-state.d.ts +20 -29
- package/dist/composables/use-tab-list-state.js +20 -99
- package/dist/composables/use-text-field.js +1 -1
- package/dist/composables/use-virtualizer-scroll.d.ts +52 -2
- package/dist/composables/use-virtualizer-scroll.js +79 -13
- package/dist/composables/use-virtualizer.d.ts +24 -4
- package/dist/composables/use-virtualizer.js +40 -6
- package/dist/index.js +58 -80
- package/dist/utils/document-order.d.ts +14 -0
- package/dist/utils/document-order.js +17 -0
- package/dist/utils/flex-sizing.d.ts +41 -0
- package/dist/utils/flex-sizing.js +140 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/open-link.d.ts +31 -0
- package/dist/utils/open-link.js +32 -0
- package/dist/utils/story-truncation.d.ts +20 -0
- package/dist/utils/story-users.d.ts +11 -0
- package/dist/utils/virtualizer-collection.d.ts +14 -4
- package/dist/utils/virtualizer-collection.js +9 -14
- package/dist/utils/virtualizer-layout-info.js +3 -2
- package/dist/utils/virtualizer-list-layout.d.ts +75 -29
- package/dist/utils/virtualizer-list-layout.js +182 -99
- package/dist/utils/virtualizer-offsets.d.ts +111 -0
- package/dist/utils/virtualizer-offsets.js +159 -0
- package/dist/utils/virtualizer-overscan.d.ts +9 -15
- package/dist/utils/virtualizer-overscan.js +14 -33
- package/dist/utils/virtualizer-table-layout.d.ts +50 -21
- package/dist/utils/virtualizer-table-layout.js +130 -89
- package/dist/version.js +1 -1
- package/package.json +19 -3
- package/dist/composables/use-table-column-layout.js +0 -214
- /package/dist/{composables → components/dropdown}/use-safely-mouse-to-submenu.d.ts +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
1
|
+
import type { PageBehavior } from "../../composables/use-calendar-state.js";
|
|
2
|
+
import type { DateRangePickerState } from "../../composables/use-date-range-picker-state.js";
|
|
3
|
+
import type { FieldIdsContext } from "../../composables/use-field-ids.js";
|
|
4
|
+
import type { FormValidationState } from "../../composables/use-form-validation-state.js";
|
|
5
|
+
import type { UsePressHandlers } from "../../composables/use-press.js";
|
|
6
|
+
import type { DayOfWeek } from "../../utils/calendar.js";
|
|
7
|
+
import type { FocusManager } from "../../utils/focus.js";
|
|
8
8
|
import type { DateValue } from "@internationalized/date";
|
|
9
9
|
import type { ComputedRef, MaybeRefOrGetter } from "vue";
|
|
10
10
|
export interface UseDateRangePickerOptions {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { useId as useId$1 } from "
|
|
2
|
-
import { createFocusManager } from "
|
|
3
|
-
import { useFieldIds } from "
|
|
4
|
-
import { DEFAULT_VALIDATION_RESULT, mergeValidation } from "
|
|
5
|
-
import { useLocale } from "
|
|
6
|
-
import { useLocalizedStringFormatter } from "
|
|
7
|
-
import { useDescription } from "
|
|
8
|
-
import { datepickerStrings } from "
|
|
9
|
-
import { useDatePickerGroup } from "
|
|
1
|
+
import { useId as useId$1 } from "../../composables/use-id.js";
|
|
2
|
+
import { createFocusManager } from "../../utils/focus.js";
|
|
3
|
+
import { useFieldIds } from "../../composables/use-field-ids.js";
|
|
4
|
+
import { DEFAULT_VALIDATION_RESULT, mergeValidation } from "../../composables/use-form-validation-state.js";
|
|
5
|
+
import { useLocale } from "../../composables/use-locale.js";
|
|
6
|
+
import { useLocalizedStringFormatter } from "../../composables/use-localized-string-formatter.js";
|
|
7
|
+
import { useDescription } from "../../composables/use-description.js";
|
|
8
|
+
import { datepickerStrings } from "../../i18n/datepicker.js";
|
|
9
|
+
import { useDatePickerGroup } from "../../composables/use-date-picker-group.js";
|
|
10
10
|
import { computed, toValue } from "vue";
|
|
11
|
-
//#region src/
|
|
11
|
+
//#region src/components/date-range-picker/use-date-range-picker.ts
|
|
12
12
|
/**
|
|
13
13
|
* The behaviour and accessibility wiring for a date range picker.
|
|
14
14
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { provideSurfaceContext } from "../surface/surface.context.js";
|
|
2
2
|
import { provideFieldIdsContext, useFieldIds } from "../../composables/use-field-ids.js";
|
|
3
3
|
import { useDrawerContext, useDrawerOverlayContext } from "./drawer.context.js";
|
|
4
|
-
import { useDrawerDrag } from "
|
|
4
|
+
import { useDrawerDrag } from "./use-drawer-drag.js";
|
|
5
5
|
import { computed, createSlot, defineVaporComponent, on, renderEffect, setAttr, setClass, setInsertionState, setProp, setStyle, setTemplateRefBinding, shallowRef, template, unref, watch } from "vue";
|
|
6
6
|
//#region src/components/drawer/drawer-dialog.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
7
7
|
var t0 = template("<section data-slot=drawer-dialog role=dialog tabindex=-1>", 1);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toValue, watch } from "vue";
|
|
2
|
-
//#region src/
|
|
2
|
+
//#region src/components/drawer/use-drawer-drag.ts
|
|
3
3
|
/** How far the pointer has to travel before the panel starts following it, in pixels. */
|
|
4
4
|
var DRAG_THRESHOLD = 8;
|
|
5
5
|
/** How much of the panel has to be dragged away before letting go dismisses it. */
|
|
@@ -3,12 +3,13 @@ import { useMenu } from "../../composables/use-menu.js";
|
|
|
3
3
|
import { useDropdownContext, useDropdownPopoverTarget } from "./dropdown.context.js";
|
|
4
4
|
import { computed, createIf, createSlot, defineVaporComponent, on, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, template, unref, useSlots } from "vue";
|
|
5
5
|
//#region src/components/dropdown/dropdown-menu.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
6
|
-
var t0 = template("<div
|
|
6
|
+
var t0 = template("<div>");
|
|
7
7
|
var t1 = template("<div>", 1);
|
|
8
8
|
var dropdown_menu_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
|
|
9
9
|
__name: "dropdown-menu",
|
|
10
10
|
props: {
|
|
11
11
|
class: {},
|
|
12
|
+
size: {},
|
|
12
13
|
selectionMode: {},
|
|
13
14
|
selectionBehavior: {},
|
|
14
15
|
selectedKeys: {},
|
|
@@ -69,6 +70,7 @@ var dropdown_menu_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__
|
|
|
69
70
|
setInsertionState(n5);
|
|
70
71
|
createIf(() => hasEmptySlot.value && unref(menu).isEmpty.value, () => {
|
|
71
72
|
const n3 = t0();
|
|
73
|
+
renderEffect(() => setDynamicProps(n3, [unref(menu).emptyAttributes.value]));
|
|
72
74
|
setInsertionState(n3);
|
|
73
75
|
createSlot("empty");
|
|
74
76
|
return n3;
|
|
@@ -3,7 +3,7 @@ import { useSubmenuTriggerState } from "../../composables/use-overlay-trigger-st
|
|
|
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";
|
|
6
|
-
import { useSafelyMouseToSubmenu } from "
|
|
6
|
+
import { useSafelyMouseToSubmenu } from "./use-safely-mouse-to-submenu.js";
|
|
7
7
|
import { computed, createSlot, defineVaporComponent, onScopeDispose, shallowRef, watch } from "vue";
|
|
8
8
|
var dropdown_submenu_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
|
|
9
9
|
__name: "dropdown-submenu-trigger",
|
|
@@ -36,7 +36,7 @@ export interface DropdownPopoverProps {
|
|
|
36
36
|
isKeyboardDismissDisabled?: boolean;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* The menu inside a dropdown. Everything a standalone menu takes, minus the ids and the
|
|
40
|
-
* strategy, which the trigger decides.
|
|
39
|
+
* The menu inside a dropdown. Everything a standalone menu takes, minus the naming, the ids and the
|
|
40
|
+
* focus strategy, all of which the trigger decides.
|
|
41
41
|
*/
|
|
42
|
-
export type DropdownMenuProps = Omit<MenuRootProps, "ariaLabelledby" | "autoFocus" | "id">;
|
|
42
|
+
export type DropdownMenuProps = Omit<MenuRootProps, "ariaLabel" | "ariaLabelledby" | "autoFocus" | "id">;
|
|
@@ -16,7 +16,7 @@ export declare const Dropdown: ((__VLS_props: NonNullable<Awaited<typeof __VLS_s
|
|
|
16
16
|
emit: ((evt: "openChange", isOpen: boolean) => void) & ((evt: "update:isOpen", isOpen: boolean) => void);
|
|
17
17
|
}, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
|
|
18
18
|
props: import('vue').PublicProps & {
|
|
19
|
-
trigger?: import("
|
|
19
|
+
trigger?: import("./index.js").MenuTriggerType;
|
|
20
20
|
isOpen?: boolean;
|
|
21
21
|
defaultOpen?: boolean;
|
|
22
22
|
isDisabled?: boolean;
|
|
@@ -91,6 +91,7 @@ export declare const Dropdown: ((__VLS_props: NonNullable<Awaited<typeof __VLS_s
|
|
|
91
91
|
}, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
|
|
92
92
|
props: import('vue').PublicProps & {
|
|
93
93
|
class?: string;
|
|
94
|
+
size?: import("@ropav/styles").MenuVariants["size"];
|
|
94
95
|
selectionMode?: import("../../index.js").SelectionMode;
|
|
95
96
|
selectionBehavior?: import("../../index.js").SelectionBehavior;
|
|
96
97
|
selectedKeys?: "all" | Iterable<import("../../index.js").CollectionKey>;
|
|
@@ -151,7 +152,7 @@ export declare const Dropdown: ((__VLS_props: NonNullable<Awaited<typeof __VLS_s
|
|
|
151
152
|
emit: ((evt: "openChange", isOpen: boolean) => void) & ((evt: "update:isOpen", isOpen: boolean) => void);
|
|
152
153
|
}, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
|
|
153
154
|
props: import('vue').PublicProps & {
|
|
154
|
-
trigger?: import("
|
|
155
|
+
trigger?: import("./index.js").MenuTriggerType;
|
|
155
156
|
isOpen?: boolean;
|
|
156
157
|
defaultOpen?: boolean;
|
|
157
158
|
isDisabled?: boolean;
|
|
@@ -269,5 +270,6 @@ export { DropdownMenu, DropdownPopover, DropdownRoot, DropdownSubmenuTrigger, Dr
|
|
|
269
270
|
export type { DropdownMenuProps, DropdownPopoverProps, DropdownRootEmits, DropdownRootProps, DropdownRootProps as DropdownProps, DropdownTriggerProps, } from "./dropdown.types.js";
|
|
270
271
|
export { useDropdownContext, useDropdownPopoverTarget } from "./dropdown.context.js";
|
|
271
272
|
export type { DropdownContext, DropdownPopoverTarget } from "./dropdown.context.js";
|
|
273
|
+
export type { MenuTriggerType } from "../../composables/use-menu-trigger.js";
|
|
272
274
|
export { dropdownVariants } from "@ropav/styles";
|
|
273
275
|
export type { DropdownVariants } from "@ropav/styles";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { onScopeDispose, toValue, watch } from "vue";
|
|
2
|
-
//#region src/
|
|
2
|
+
//#region src/components/dropdown/use-safely-mouse-to-submenu.ts
|
|
3
3
|
/** How many consecutive moves away from the submenu it takes to give up on the journey. */
|
|
4
4
|
var ALLOWED_INVALID_MOVEMENTS = 2;
|
|
5
5
|
/** Pointer moves arrive far faster than the geometry changes. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineVaporComponent, renderEffect, setClass, template } from "vue";
|
|
2
2
|
//#region src/components/icons/icon-overlay-arrow.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
3
|
-
var t0 = template("<svg fill=none height=12 viewBox=\"0 0 12 12\" width=12 xmlns=http://www.w3.org/2000/svg><path d=\"
|
|
3
|
+
var t0 = template("<svg fill=none height=12 viewBox=\"0 0 12 12\" width=12 xmlns=http://www.w3.org/2000/svg><path d=\"M1 0V2C3.2 2 4.3 8 6 8C7.7 8 8.8 2 11 2V0Z\">", 1, 1);
|
|
4
4
|
var icon_overlay_arrow_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
|
|
5
5
|
__name: "icon-overlay-arrow",
|
|
6
6
|
props: { class: {} },
|
|
@@ -16,6 +16,7 @@ export * from "./chip/index.js";
|
|
|
16
16
|
export * from "./close-button/index.js";
|
|
17
17
|
export * from "./color-area/index.js";
|
|
18
18
|
export * from "./color-field/index.js";
|
|
19
|
+
export * from "./color-input-group/index.js";
|
|
19
20
|
export * from "./color-picker/index.js";
|
|
20
21
|
export * from "./color-slider/index.js";
|
|
21
22
|
export * from "./color-swatch/index.js";
|
|
@@ -60,13 +61,17 @@ export * from "./progress-circle/index.js";
|
|
|
60
61
|
export * from "./radio/index.js";
|
|
61
62
|
export * from "./radio-group/index.js";
|
|
62
63
|
export * from "./range-calendar/index.js";
|
|
64
|
+
export * from "./router-provider/index.js";
|
|
63
65
|
export * from "./scroll-shadow/index.js";
|
|
64
66
|
export * from "./search-field/index.js";
|
|
67
|
+
export * from "./segmented-control/index.js";
|
|
65
68
|
export * from "./select/index.js";
|
|
66
69
|
export * from "./separator/index.js";
|
|
70
|
+
export * from "./sidebar/index.js";
|
|
67
71
|
export * from "./skeleton/index.js";
|
|
68
72
|
export * from "./slider/index.js";
|
|
69
73
|
export * from "./spinner/index.js";
|
|
74
|
+
export * from "./splitter/index.js";
|
|
70
75
|
export * from "./surface/index.js";
|
|
71
76
|
export * from "./switch/index.js";
|
|
72
77
|
export * from "./switch-group/index.js";
|
|
@@ -2,40 +2,48 @@ import InputRoot from "./input-root.js";
|
|
|
2
2
|
export declare const Input: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
|
|
3
3
|
attrs: any;
|
|
4
4
|
slots: {};
|
|
5
|
-
emit:
|
|
5
|
+
emit: ((evt: "change", value: string) => void) & ((evt: "update:value", value: string) => void);
|
|
6
6
|
}, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
|
|
7
7
|
props: import('vue').PublicProps & {
|
|
8
8
|
class?: string;
|
|
9
|
+
value?: string;
|
|
9
10
|
variant?: import("@ropav/styles").InputVariants["variant"];
|
|
11
|
+
size?: import("@ropav/styles").InputVariants["size"];
|
|
10
12
|
fullWidth?: boolean;
|
|
11
13
|
placeholder?: string;
|
|
14
|
+
onChange?: ((value: string) => any) | undefined;
|
|
15
|
+
"onUpdate:value"?: ((value: string) => any) | undefined;
|
|
12
16
|
} & (typeof globalThis extends {
|
|
13
17
|
__VLS_PROPS_FALLBACK: infer P;
|
|
14
18
|
} ? P : {});
|
|
15
19
|
expose: (exposed: {}) => void;
|
|
16
20
|
attrs: any;
|
|
17
21
|
slots: {};
|
|
18
|
-
emit:
|
|
22
|
+
emit: ((evt: "change", value: string) => void) & ((evt: "update:value", value: string) => void);
|
|
19
23
|
}>) => import('vue').VNode & {
|
|
20
24
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
21
25
|
}) & {
|
|
22
26
|
Root: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
|
|
23
27
|
attrs: any;
|
|
24
28
|
slots: {};
|
|
25
|
-
emit:
|
|
29
|
+
emit: ((evt: "change", value: string) => void) & ((evt: "update:value", value: string) => void);
|
|
26
30
|
}, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
|
|
27
31
|
props: import('vue').PublicProps & {
|
|
28
32
|
class?: string;
|
|
33
|
+
value?: string;
|
|
29
34
|
variant?: import("@ropav/styles").InputVariants["variant"];
|
|
35
|
+
size?: import("@ropav/styles").InputVariants["size"];
|
|
30
36
|
fullWidth?: boolean;
|
|
31
37
|
placeholder?: string;
|
|
38
|
+
onChange?: ((value: string) => any) | undefined;
|
|
39
|
+
"onUpdate:value"?: ((value: string) => any) | undefined;
|
|
32
40
|
} & (typeof globalThis extends {
|
|
33
41
|
__VLS_PROPS_FALLBACK: infer P;
|
|
34
42
|
} ? P : {});
|
|
35
43
|
expose: (exposed: {}) => void;
|
|
36
44
|
attrs: any;
|
|
37
45
|
slots: {};
|
|
38
|
-
emit:
|
|
46
|
+
emit: ((evt: "change", value: string) => void) & ((evt: "update:value", value: string) => void);
|
|
39
47
|
}>) => import('vue').VNode & {
|
|
40
48
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
41
49
|
};
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { InputRootProps } from "./input.types.js";
|
|
2
2
|
declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, 'attrs' | 'emit' | 'slots'>>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
|
|
3
|
-
props: import('vue').PublicProps & __VLS_PrettifyLocal<InputRootProps
|
|
3
|
+
props: import('vue').PublicProps & __VLS_PrettifyLocal<InputRootProps & {
|
|
4
|
+
onChange?: ((value: string) => any) | undefined;
|
|
5
|
+
"onUpdate:value"?: ((value: string) => any) | undefined;
|
|
6
|
+
}> & (typeof globalThis extends {
|
|
4
7
|
__VLS_PROPS_FALLBACK: infer P;
|
|
5
8
|
} ? P : {});
|
|
6
9
|
expose: (exposed: {}) => void;
|
|
7
10
|
attrs: any;
|
|
8
11
|
slots: {};
|
|
9
|
-
emit:
|
|
12
|
+
emit: ((evt: "change", value: string) => void) & ((evt: "update:value", value: string) => void);
|
|
10
13
|
}>) => import('vue').VNode & {
|
|
11
14
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
12
15
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { dataAttr } from "../../utils/assertion.js";
|
|
2
2
|
import { useInteractionStates } from "../../composables/use-interaction-states.js";
|
|
3
|
+
import { setFormValue } from "../../utils/form-value.js";
|
|
3
4
|
import { useTextFieldControlContext } from "../../composables/use-text-field.js";
|
|
4
5
|
import { useTextFieldContext } from "../textfield/textfield.context.js";
|
|
5
|
-
import { computed, createTemplateRefSetter, defineVaporComponent, on, renderEffect, setDynamicProps, template, unref } from "vue";
|
|
6
|
+
import { computed, createTemplateRefSetter, defineVaporComponent, on, renderEffect, setDynamicProps, shallowRef, template, unref, watch } from "vue";
|
|
6
7
|
import { inputVariants } from "@ropav/styles";
|
|
7
8
|
//#region src/components/input/input-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
8
9
|
var t0 = template("<input>", 1);
|
|
@@ -10,32 +11,72 @@ var input_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PUR
|
|
|
10
11
|
__name: "input-root",
|
|
11
12
|
props: {
|
|
12
13
|
class: {},
|
|
14
|
+
value: {},
|
|
13
15
|
variant: { default: void 0 },
|
|
16
|
+
size: {},
|
|
14
17
|
fullWidth: {
|
|
15
18
|
type: Boolean,
|
|
16
19
|
default: void 0
|
|
17
20
|
},
|
|
18
21
|
placeholder: {}
|
|
19
22
|
},
|
|
20
|
-
|
|
23
|
+
emits: ["change", "update:value"],
|
|
24
|
+
setup(__props, { emit: __emit }) {
|
|
21
25
|
const props = __props;
|
|
26
|
+
const emit = __emit;
|
|
22
27
|
const control = useTextFieldControlContext();
|
|
23
28
|
const textField = useTextFieldContext();
|
|
24
|
-
const
|
|
25
|
-
|
|
29
|
+
const element = shallowRef(null);
|
|
30
|
+
const setElement = (next) => {
|
|
31
|
+
element.value = next instanceof HTMLInputElement ? next : null;
|
|
32
|
+
control?.registerElement(element.value);
|
|
26
33
|
};
|
|
27
34
|
const resolvedVariant = computed(() => props.variant ?? textField?.variant.value);
|
|
35
|
+
const resolvedSize = computed(() => props.size ?? textField?.size.value);
|
|
28
36
|
const styles = computed(() => inputVariants({
|
|
29
37
|
class: props.class,
|
|
30
38
|
fullWidth: props.fullWidth,
|
|
39
|
+
size: resolvedSize.value,
|
|
31
40
|
variant: resolvedVariant.value
|
|
32
41
|
}));
|
|
33
42
|
const attrs = computed(() => {
|
|
34
43
|
const merged = { ...control?.attrs.value };
|
|
35
44
|
if (props.placeholder !== void 0) merged["placeholder"] = props.placeholder;
|
|
45
|
+
if (props.value !== void 0) merged["value"] = props.value;
|
|
36
46
|
return merged;
|
|
37
47
|
});
|
|
38
48
|
const interaction = useInteractionStates({ isDisabled: () => control?.isDisabled.value });
|
|
49
|
+
const inputCount = shallowRef(0);
|
|
50
|
+
const onInput = (event) => {
|
|
51
|
+
control?.handlers.onInput(event);
|
|
52
|
+
const next = event.currentTarget.value;
|
|
53
|
+
emit("change", next);
|
|
54
|
+
emit("update:value", next);
|
|
55
|
+
if (props.value !== void 0) inputCount.value++;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Put the text back to what the caller holds, reset source included. A `value` set on the control
|
|
59
|
+
* makes the caller the owner of it, and a caller that keeps it unchanged means the typing is
|
|
60
|
+
* rejected — but the browser has already moved the text, and Vapor skips writing `value` when the
|
|
61
|
+
* bound value has not changed, so nothing would put it back.
|
|
62
|
+
*
|
|
63
|
+
* Post-flush, because the value only settles once the listener that heard the change has updated
|
|
64
|
+
* whatever holds it. `immediate`, and with the element in the dependencies, because the reset
|
|
65
|
+
* source has to be there before a reset rather than after the first keystroke — `inputCount` alone
|
|
66
|
+
* never fires on a control nobody has typed into. See {@link setFormValue}.
|
|
67
|
+
*/
|
|
68
|
+
watch([
|
|
69
|
+
element,
|
|
70
|
+
() => props.value,
|
|
71
|
+
inputCount
|
|
72
|
+
], ([el, pinned]) => {
|
|
73
|
+
if (pinned === void 0) return;
|
|
74
|
+
setFormValue(el, pinned);
|
|
75
|
+
}, {
|
|
76
|
+
flush: "post",
|
|
77
|
+
immediate: true
|
|
78
|
+
});
|
|
79
|
+
watch(() => props.value !== void 0, (owned) => control?.setValueOwned(owned), { immediate: true });
|
|
39
80
|
const onFocus = (event) => {
|
|
40
81
|
interaction.onFocus();
|
|
41
82
|
control?.handlers.onFocus(event);
|
|
@@ -48,7 +89,7 @@ var input_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PUR
|
|
|
48
89
|
const n0 = t0();
|
|
49
90
|
on(n0, "blur", onBlur);
|
|
50
91
|
on(n0, "focus", onFocus);
|
|
51
|
-
on(n0, "input",
|
|
92
|
+
on(n0, "input", onInput);
|
|
52
93
|
on(n0, "keydown", (e) => unref(control)?.handlers.onKeydown(e));
|
|
53
94
|
on(n0, "keyup", (e) => unref(control)?.handlers.onKeyup(e));
|
|
54
95
|
on(n0, "pointerdown", (e) => unref(interaction).onPointerdown(e));
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import type { InputVariants } from "@ropav/styles";
|
|
2
2
|
export interface InputRootProps {
|
|
3
3
|
class?: string;
|
|
4
|
+
/**
|
|
5
|
+
* Text in the control. Set here it takes the control over from the surrounding field, so the
|
|
6
|
+
* caller owns the value even inside a `TextField` — exactly as a `value` prop does in React.
|
|
7
|
+
* Without a listener to go with it the text is pinned.
|
|
8
|
+
*/
|
|
9
|
+
value?: string;
|
|
4
10
|
/** Visual variant. Taken from the surrounding field when unset. @default "primary" */
|
|
5
11
|
variant?: InputVariants["variant"];
|
|
12
|
+
/**
|
|
13
|
+
* How tall the control stands, matching a button of the same size. Taken from the surrounding
|
|
14
|
+
* field when unset. @default "md"
|
|
15
|
+
*/
|
|
16
|
+
size?: InputVariants["size"];
|
|
6
17
|
/** Whether the control stretches to fill its container. */
|
|
7
18
|
fullWidth?: boolean;
|
|
8
19
|
/**
|
|
@@ -13,6 +13,7 @@ export declare const InputGroup: ((__VLS_props: NonNullable<Awaited<typeof __VLS
|
|
|
13
13
|
props: import('vue').PublicProps & {
|
|
14
14
|
class?: string;
|
|
15
15
|
variant?: import("@ropav/styles").InputGroupVariants["variant"];
|
|
16
|
+
size?: import("@ropav/styles").InputGroupVariants["size"];
|
|
16
17
|
fullWidth?: boolean;
|
|
17
18
|
isDisabled?: boolean;
|
|
18
19
|
isInvalid?: boolean;
|
|
@@ -81,6 +82,7 @@ export declare const InputGroup: ((__VLS_props: NonNullable<Awaited<typeof __VLS
|
|
|
81
82
|
props: import('vue').PublicProps & {
|
|
82
83
|
class?: string;
|
|
83
84
|
variant?: import("@ropav/styles").InputGroupVariants["variant"];
|
|
85
|
+
size?: import("@ropav/styles").InputGroupVariants["size"];
|
|
84
86
|
fullWidth?: boolean;
|
|
85
87
|
isDisabled?: boolean;
|
|
86
88
|
isInvalid?: boolean;
|
|
@@ -12,6 +12,7 @@ var input_group_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*
|
|
|
12
12
|
props: {
|
|
13
13
|
class: {},
|
|
14
14
|
variant: { default: void 0 },
|
|
15
|
+
size: { default: void 0 },
|
|
15
16
|
fullWidth: {
|
|
16
17
|
type: Boolean,
|
|
17
18
|
default: void 0
|
|
@@ -38,10 +39,12 @@ var input_group_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*
|
|
|
38
39
|
element.value = next instanceof HTMLDivElement ? next : null;
|
|
39
40
|
};
|
|
40
41
|
const resolvedVariant = computed(() => props.variant ?? textField?.variant.value);
|
|
42
|
+
const resolvedSize = computed(() => props.size ?? textField?.size.value);
|
|
41
43
|
const resolvedIsDisabled = computed(() => props.isDisabled ?? control?.isDisabled.value ?? false);
|
|
42
44
|
const resolvedIsInvalid = computed(() => props.isInvalid ?? control?.isInvalid.value ?? false);
|
|
43
45
|
const slots = computed(() => inputGroupVariants({
|
|
44
46
|
fullWidth: props.fullWidth,
|
|
47
|
+
size: resolvedSize.value,
|
|
45
48
|
variant: resolvedVariant.value
|
|
46
49
|
}));
|
|
47
50
|
provideInputGroupContext({ slots });
|
|
@@ -3,6 +3,11 @@ export interface InputGroupRootProps {
|
|
|
3
3
|
class?: string;
|
|
4
4
|
/** Visual variant. Taken from the surrounding field when unset. @default "primary" */
|
|
5
5
|
variant?: InputGroupVariants["variant"];
|
|
6
|
+
/**
|
|
7
|
+
* How tall the group stands, matching a button of the same size. Taken from the surrounding
|
|
8
|
+
* field when unset. @default "md"
|
|
9
|
+
*/
|
|
10
|
+
size?: InputGroupVariants["size"];
|
|
6
11
|
/** Whether the group stretches to fill its container. */
|
|
7
12
|
fullWidth?: boolean;
|
|
8
13
|
/**
|
|
@@ -18,14 +18,14 @@ export declare const InputOTP: ((__VLS_props: NonNullable<Awaited<typeof __VLS_s
|
|
|
18
18
|
defaultValue?: string;
|
|
19
19
|
pattern?: RegExp | string;
|
|
20
20
|
placeholder?: string;
|
|
21
|
-
textAlign?: import("
|
|
21
|
+
textAlign?: import("./index.js").InputOTPTextAlign;
|
|
22
22
|
inputMode?: string;
|
|
23
23
|
autoComplete?: string;
|
|
24
24
|
isDisabled?: boolean;
|
|
25
25
|
isInvalid?: boolean;
|
|
26
26
|
validationErrors?: string[];
|
|
27
27
|
validationDetails?: import("../../index.js").ValidationDetails;
|
|
28
|
-
pushPasswordManagerStrategy?: import("
|
|
28
|
+
pushPasswordManagerStrategy?: import("./index.js").PushPasswordManagerStrategy;
|
|
29
29
|
pasteTransformer?: (pasted: string) => string;
|
|
30
30
|
name?: string;
|
|
31
31
|
form?: string;
|
|
@@ -85,14 +85,14 @@ export declare const InputOTP: ((__VLS_props: NonNullable<Awaited<typeof __VLS_s
|
|
|
85
85
|
defaultValue?: string;
|
|
86
86
|
pattern?: RegExp | string;
|
|
87
87
|
placeholder?: string;
|
|
88
|
-
textAlign?: import("
|
|
88
|
+
textAlign?: import("./index.js").InputOTPTextAlign;
|
|
89
89
|
inputMode?: string;
|
|
90
90
|
autoComplete?: string;
|
|
91
91
|
isDisabled?: boolean;
|
|
92
92
|
isInvalid?: boolean;
|
|
93
93
|
validationErrors?: string[];
|
|
94
94
|
validationDetails?: import("../../index.js").ValidationDetails;
|
|
95
|
-
pushPasswordManagerStrategy?: import("
|
|
95
|
+
pushPasswordManagerStrategy?: import("./index.js").PushPasswordManagerStrategy;
|
|
96
96
|
pasteTransformer?: (pasted: string) => string;
|
|
97
97
|
name?: string;
|
|
98
98
|
form?: string;
|
|
@@ -156,5 +156,7 @@ export type { InputOTPRootProps, InputOTPRootProps as InputOTPProps, InputOTPGro
|
|
|
156
156
|
export { REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS, } from "../../composables/use-input-otp.js";
|
|
157
157
|
export { provideInputOTPContext, useInputOTPContext } from "./input-otp.context.js";
|
|
158
158
|
export type { InputOTPContext } from "./input-otp.context.js";
|
|
159
|
+
export type { InputOTPTextAlign } from "../../composables/use-input-otp.js";
|
|
160
|
+
export type { PushPasswordManagerStrategy } from "../../composables/use-password-manager-badge.js";
|
|
159
161
|
export { inputOTPVariants } from "@ropav/styles";
|
|
160
162
|
export type { InputOTPVariants } from "@ropav/styles";
|
|
@@ -18,6 +18,7 @@ export declare const Link: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup
|
|
|
18
18
|
hrefLang?: string;
|
|
19
19
|
isDisabled?: boolean;
|
|
20
20
|
ariaCurrent?: import("./link.types.js").LinkCurrent;
|
|
21
|
+
routerOptions?: unknown;
|
|
21
22
|
ariaLabel?: string;
|
|
22
23
|
ariaLabelledby?: string;
|
|
23
24
|
ariaDescribedby?: string;
|
|
@@ -73,6 +74,7 @@ export declare const Link: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup
|
|
|
73
74
|
hrefLang?: string;
|
|
74
75
|
isDisabled?: boolean;
|
|
75
76
|
ariaCurrent?: import("./link.types.js").LinkCurrent;
|
|
77
|
+
routerOptions?: unknown;
|
|
76
78
|
ariaLabel?: string;
|
|
77
79
|
ariaLabelledby?: string;
|
|
78
80
|
ariaDescribedby?: string;
|
|
@@ -2,7 +2,9 @@ import { dataAttr } from "../../utils/assertion.js";
|
|
|
2
2
|
import { useInteractionStates } from "../../composables/use-interaction-states.js";
|
|
3
3
|
import { usePress } from "../../composables/use-press.js";
|
|
4
4
|
import { provideLinkContext } from "./link.context.js";
|
|
5
|
+
import { openLink } from "../../utils/open-link.js";
|
|
5
6
|
import { useFieldsetContext } from "../fieldset/fieldset.context.js";
|
|
7
|
+
import { useRouterContext } from "../router-provider/router-provider.context.js";
|
|
6
8
|
import { computed, createIf, createSlot, defineVaporComponent, on, renderEffect, setAttr, setClass, setInsertionState, setProp, template, unref } from "vue";
|
|
7
9
|
import { linkVariants } from "@ropav/styles";
|
|
8
10
|
//#region src/components/link/link-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
@@ -30,6 +32,7 @@ var link_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
30
32
|
type: [Boolean, String],
|
|
31
33
|
default: void 0
|
|
32
34
|
},
|
|
35
|
+
routerOptions: { default: void 0 },
|
|
33
36
|
ariaLabel: {},
|
|
34
37
|
ariaLabelledby: {},
|
|
35
38
|
ariaDescribedby: {}
|
|
@@ -39,6 +42,7 @@ var link_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
39
42
|
const props = __props;
|
|
40
43
|
const emit = __emit;
|
|
41
44
|
const fieldset = useFieldsetContext();
|
|
45
|
+
const router = useRouterContext();
|
|
42
46
|
const resolvedIsDisabled = computed(() => Boolean(props.isDisabled ?? fieldset?.isDisabled.value));
|
|
43
47
|
const slots = computed(() => linkVariants());
|
|
44
48
|
provideLinkContext({ slots });
|
|
@@ -51,7 +55,12 @@ var link_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
51
55
|
const isAnchor = computed(() => Boolean(props.href) && !resolvedIsDisabled.value);
|
|
52
56
|
const role = computed(() => isAnchor.value ? void 0 : "link");
|
|
53
57
|
const tabindex = computed(() => resolvedIsDisabled.value ? void 0 : 0);
|
|
54
|
-
const
|
|
58
|
+
const ariaCurrent = computed(() => {
|
|
59
|
+
if (props.ariaCurrent !== "auto") return props.ariaCurrent;
|
|
60
|
+
return props.href && router?.isCurrent(props.href) ? "page" : void 0;
|
|
61
|
+
});
|
|
62
|
+
const isCurrent = computed(() => Boolean(ariaCurrent.value));
|
|
63
|
+
const resolvedHref = computed(() => props.href === void 0 ? void 0 : router?.resolveHref(props.href) ?? props.href);
|
|
55
64
|
const onPointerenter = (event) => {
|
|
56
65
|
interaction.onPointerenter(event);
|
|
57
66
|
press.handlers.onPointerenter(event);
|
|
@@ -60,13 +69,21 @@ var link_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
60
69
|
interaction.onPointerleave();
|
|
61
70
|
press.handlers.onPointerleave(event);
|
|
62
71
|
};
|
|
72
|
+
const onClick = (event) => {
|
|
73
|
+
press.handlers.onClick(event);
|
|
74
|
+
openLink(event, {
|
|
75
|
+
href: props.href,
|
|
76
|
+
router,
|
|
77
|
+
routerOptions: props.routerOptions
|
|
78
|
+
});
|
|
79
|
+
};
|
|
63
80
|
return createIf(() => isAnchor.value, () => {
|
|
64
81
|
const n3 = t0();
|
|
65
82
|
renderEffect(() => {
|
|
66
83
|
const _props = props;
|
|
67
84
|
const _dataAttr = unref(dataAttr);
|
|
68
85
|
const _interaction = unref(interaction);
|
|
69
|
-
setAttr(n3, "aria-current",
|
|
86
|
+
setAttr(n3, "aria-current", ariaCurrent.value);
|
|
70
87
|
setAttr(n3, "aria-describedby", _props.ariaDescribedby);
|
|
71
88
|
setAttr(n3, "aria-label", _props.ariaLabel);
|
|
72
89
|
setAttr(n3, "aria-labelledby", _props.ariaLabelledby);
|
|
@@ -77,7 +94,7 @@ var link_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
77
94
|
setAttr(n3, "data-hovered", _dataAttr(_interaction.isHovered.value));
|
|
78
95
|
setAttr(n3, "data-pressed", _dataAttr(unref(press).isPressed.value));
|
|
79
96
|
setProp(n3, "download", _props.download);
|
|
80
|
-
setProp(n3, "href",
|
|
97
|
+
setProp(n3, "href", resolvedHref.value);
|
|
81
98
|
setProp(n3, "hreflang", _props.hrefLang);
|
|
82
99
|
setProp(n3, "ping", _props.ping);
|
|
83
100
|
setProp(n3, "referrerpolicy", _props.referrerPolicy);
|
|
@@ -95,7 +112,7 @@ var link_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
95
112
|
isPressed: () => unref(press).isPressed.value
|
|
96
113
|
});
|
|
97
114
|
on(n3, "blur", (e) => unref(interaction).onBlur(e));
|
|
98
|
-
on(n3, "click",
|
|
115
|
+
on(n3, "click", onClick);
|
|
99
116
|
on(n3, "dragstart", (e) => unref(press).handlers.onDragstart(e));
|
|
100
117
|
on(n3, "focus", (e) => unref(interaction).onFocus(e));
|
|
101
118
|
on(n3, "keydown", (e) => unref(press).handlers.onKeydown(e));
|
|
@@ -112,7 +129,7 @@ var link_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
112
129
|
const _resolvedIsDisabled = resolvedIsDisabled.value;
|
|
113
130
|
const _dataAttr = unref(dataAttr);
|
|
114
131
|
const _interaction = unref(interaction);
|
|
115
|
-
setAttr(n6, "aria-current",
|
|
132
|
+
setAttr(n6, "aria-current", ariaCurrent.value);
|
|
116
133
|
setAttr(n6, "aria-describedby", _props.ariaDescribedby);
|
|
117
134
|
setAttr(n6, "aria-disabled", _resolvedIsDisabled || void 0);
|
|
118
135
|
setAttr(n6, "aria-label", _props.ariaLabel);
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
/** What the browser accepts for `referrerpolicy` on an anchor. */
|
|
2
2
|
export type LinkReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
|
|
3
|
-
/**
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* What assistive technology accepts for `aria-current`, plus `"auto"`.
|
|
5
|
+
*
|
|
6
|
+
* `"auto"` is not an ARIA token and never reaches the DOM. It asks the router supplied by
|
|
7
|
+
* `RouterProvider` whether this link's href addresses the route showing now, resolving to
|
|
8
|
+
* `"page"` when it does and to nothing at all when it does not — or when no router was supplied.
|
|
9
|
+
*/
|
|
10
|
+
export type LinkCurrent = boolean | "auto" | "date" | "false" | "location" | "page" | "step" | "time" | "true";
|
|
5
11
|
export interface LinkRootProps {
|
|
6
12
|
class?: string;
|
|
7
13
|
/** Where the link goes. Without one the link renders as a span with a link role. */
|
|
@@ -17,8 +23,13 @@ export interface LinkRootProps {
|
|
|
17
23
|
* there is no href for the browser to follow, matching React.
|
|
18
24
|
*/
|
|
19
25
|
isDisabled?: boolean;
|
|
20
|
-
/** Marks the link as the one for the current page. */
|
|
26
|
+
/** Marks the link as the one for the current page. `"auto"` asks the router instead. */
|
|
21
27
|
ariaCurrent?: LinkCurrent;
|
|
28
|
+
/**
|
|
29
|
+
* Passed through to the router's `navigate` alongside the href, for whatever options the
|
|
30
|
+
* application's router accepts. Ignored without a `RouterProvider` above.
|
|
31
|
+
*/
|
|
32
|
+
routerOptions?: unknown;
|
|
22
33
|
ariaLabel?: string;
|
|
23
34
|
ariaLabelledby?: string;
|
|
24
35
|
ariaDescribedby?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { UseCollectionReturn } from "../../composables/use-collection.js";
|
|
2
|
+
import type { DragCollection } from "../../utils/dnd-types.js";
|
|
3
3
|
/**
|
|
4
4
|
* A `DragCollection` over an ordinary flat collection.
|
|
5
5
|
*
|