ropav 0.4.0 → 0.6.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/breadcrumbs/breadcrumbs-item.js +1 -0
- package/dist/components/breadcrumbs/index.d.ts +1 -0
- 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 +1 -0
- 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-range-picker/date-range-picker-root.js +1 -1
- package/dist/components/date-range-picker/index.d.ts +15 -14
- 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/drop-zone/drop-zone-root.d.ts +23 -0
- package/dist/components/drop-zone/drop-zone-root.js +153 -0
- package/dist/components/drop-zone/drop-zone-trigger.d.ts +21 -0
- package/dist/components/drop-zone/drop-zone-trigger.js +20 -0
- package/dist/components/drop-zone/drop-zone.accept.d.ts +19 -0
- package/dist/components/drop-zone/drop-zone.accept.js +28 -0
- package/dist/components/drop-zone/drop-zone.context.d.ts +6 -0
- package/dist/components/drop-zone/drop-zone.context.js +5 -0
- package/dist/components/drop-zone/drop-zone.types.d.ts +30 -0
- package/dist/components/drop-zone/index.d.ts +86 -0
- package/dist/components/drop-zone/index.js +11 -0
- package/dist/components/dropdown/dropdown-menu.js +1 -0
- package/dist/components/dropdown/dropdown-submenu-trigger.js +1 -1
- 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 +2 -0
- package/dist/components/input/input-root.js +3 -0
- package/dist/components/input/input.types.d.ts +5 -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 +53 -32
- package/dist/components/list-box/list-box.types.d.ts +2 -0
- package/dist/components/menu/index.d.ts +2 -0
- package/dist/components/menu/menu-root.js +5 -1
- package/dist/components/menu/menu.types.d.ts +3 -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/progress-bar/index.d.ts +4 -0
- package/dist/components/progress-bar/progress-bar-root.js +4 -0
- package/dist/components/progress-bar/progress-bar.types.d.ts +7 -0
- package/dist/components/radio/radio-content.js +1 -1
- package/dist/components/range-calendar/index.d.ts +18 -15
- 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/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/sidebar/index.d.ts +546 -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 +140 -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 +273 -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/textarea/index.d.ts +2 -0
- package/dist/components/textarea/textarea-root.js +3 -0
- package/dist/components/textarea/textarea.types.d.ts +5 -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/toolbar/index.d.ts +3 -2
- package/dist/components/tooltip/index.js +1 -1
- package/dist/components/tooltip/tooltip-root.js +1 -1
- 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 -70
- 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.d.ts +6 -5
- package/dist/composables/use-draggable-item.d.ts +2 -2
- package/dist/composables/use-droppable-collection.js +3 -3
- 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-number-field.js +1 -1
- package/dist/composables/use-select.js +2 -2
- 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 +10 -29
- package/dist/composables/use-tab-list-state.js +10 -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 +60 -83
- 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 +25 -5
- package/dist/composables/use-table-column-layout.js +0 -214
- /package/dist/{composables → components/dropdown}/use-safely-mouse-to-submenu.d.ts +0 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { dataAttr } from "../../utils/assertion.js";
|
|
2
|
+
import { useFocusWithin, useInteractionStates } from "../../composables/use-interaction-states.js";
|
|
3
|
+
import { visuallyHiddenStyle } from "../../utils/visually-hidden.js";
|
|
4
|
+
import { isVirtualDragging } from "../../composables/drag-manager.js";
|
|
5
|
+
import { useDrop } from "../../composables/use-drop.js";
|
|
6
|
+
import { isDirectoryDropItem, isFileDropItem } from "../../utils/dnd-types.js";
|
|
7
|
+
import { isDragRefused, isFileAccepted, parseAccept } from "./drop-zone.accept.js";
|
|
8
|
+
import { provideDropZoneContext } from "./drop-zone.context.js";
|
|
9
|
+
import { child, computed, createSlot, createTemplateRefSetter, defineVaporComponent, on, renderEffect, setAttr, setClass, setInsertionState, setProp, setStyle, setTemplateRefBinding, shallowRef, template, unref } from "vue";
|
|
10
|
+
import { dropZoneVariants } from "@ropav/styles";
|
|
11
|
+
//#region src/components/drop-zone/drop-zone-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
12
|
+
var t0 = template("<div data-slot=drop-zone><span><input type=file></span>", 1);
|
|
13
|
+
var drop_zone_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
|
|
14
|
+
__name: "drop-zone-root",
|
|
15
|
+
props: {
|
|
16
|
+
class: {},
|
|
17
|
+
accept: {},
|
|
18
|
+
multiple: { type: Boolean },
|
|
19
|
+
isDisabled: { type: Boolean },
|
|
20
|
+
ariaLabel: {},
|
|
21
|
+
ariaLabelledby: {},
|
|
22
|
+
ariaDescribedby: {}
|
|
23
|
+
},
|
|
24
|
+
emits: ["select"],
|
|
25
|
+
setup(__props, { emit: __emit }) {
|
|
26
|
+
const props = __props;
|
|
27
|
+
const emit = __emit;
|
|
28
|
+
const rootEl = shallowRef(null);
|
|
29
|
+
const inputEl = shallowRef(null);
|
|
30
|
+
const setRootEl = (element) => {
|
|
31
|
+
rootEl.value = element instanceof HTMLElement ? element : null;
|
|
32
|
+
};
|
|
33
|
+
const setInputEl = (element) => {
|
|
34
|
+
inputEl.value = element instanceof HTMLInputElement ? element : null;
|
|
35
|
+
};
|
|
36
|
+
const acceptTokens = computed(() => parseAccept(props.accept));
|
|
37
|
+
/** Refused drags are still entered, so the zone can say no rather than ignore the pointer. */
|
|
38
|
+
const isRefusing = shallowRef(false);
|
|
39
|
+
const interaction = useInteractionStates({ isDisabled: () => props.isDisabled });
|
|
40
|
+
const focusWithin = useFocusWithin({ isDisabled: () => props.isDisabled });
|
|
41
|
+
/**
|
|
42
|
+
* Flattens a drop into plain files, walking any directory that came with it.
|
|
43
|
+
*
|
|
44
|
+
* `for await` covers both the array a drop arrives as and the async iterable a directory hands
|
|
45
|
+
* back, so one function serves both levels.
|
|
46
|
+
*/
|
|
47
|
+
const collectFiles = async (items) => {
|
|
48
|
+
const files = [];
|
|
49
|
+
for await (const item of items) if (isFileDropItem(item)) files.push(await item.getFile());
|
|
50
|
+
else if (isDirectoryDropItem(item)) files.push(...await collectFiles(item.getEntries()));
|
|
51
|
+
return files;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* What the zone hands on, out of what arrived.
|
|
55
|
+
*
|
|
56
|
+
* Filtering rather than reporting: the browser already filters the picker half silently from
|
|
57
|
+
* the same `accept`, and enforces `multiple` there on its own, so the drop half matches that
|
|
58
|
+
* instead of inventing an error channel this component has no way to show.
|
|
59
|
+
*/
|
|
60
|
+
const takeable = (files) => {
|
|
61
|
+
const accepted = files.filter((file) => isFileAccepted(file, acceptTokens.value));
|
|
62
|
+
return props.multiple ? accepted : accepted.slice(0, 1);
|
|
63
|
+
};
|
|
64
|
+
const announce = (files) => {
|
|
65
|
+
if (files.length > 0) emit("select", files);
|
|
66
|
+
};
|
|
67
|
+
const drop = useDrop({
|
|
68
|
+
getDropOperation: (types) => {
|
|
69
|
+
isRefusing.value = isDragRefused(types, acceptTokens.value);
|
|
70
|
+
return "copy";
|
|
71
|
+
},
|
|
72
|
+
hasDropButton: true,
|
|
73
|
+
isDisabled: () => props.isDisabled,
|
|
74
|
+
onDrop: (event) => {
|
|
75
|
+
if (isRefusing.value) return;
|
|
76
|
+
collectFiles(event.items).then((files) => announce(takeable(files)));
|
|
77
|
+
},
|
|
78
|
+
onDropExit: () => {
|
|
79
|
+
isRefusing.value = false;
|
|
80
|
+
},
|
|
81
|
+
ref: rootEl
|
|
82
|
+
});
|
|
83
|
+
const status = computed(() => {
|
|
84
|
+
if (!drop.isDropTarget.value) return "idle";
|
|
85
|
+
return isRefusing.value ? "reject" : "accept";
|
|
86
|
+
});
|
|
87
|
+
const open = () => {
|
|
88
|
+
if (props.isDisabled) return;
|
|
89
|
+
inputEl.value?.click();
|
|
90
|
+
};
|
|
91
|
+
const onClick = (event) => {
|
|
92
|
+
if (event.target === inputEl.value) return;
|
|
93
|
+
if (isVirtualDragging()) return;
|
|
94
|
+
open();
|
|
95
|
+
};
|
|
96
|
+
const onInputChange = (event) => {
|
|
97
|
+
const input = event.target;
|
|
98
|
+
announce(takeable(Array.from(input.files ?? [])));
|
|
99
|
+
input.value = "";
|
|
100
|
+
};
|
|
101
|
+
/** The drag instructions, plus whatever help text the caller wired up. */
|
|
102
|
+
const describedBy = computed(() => {
|
|
103
|
+
const ids = [drop.dropButtonAttrs.value["aria-describedby"], props.ariaDescribedby].filter(Boolean);
|
|
104
|
+
return ids.length > 0 ? ids.join(" ") : void 0;
|
|
105
|
+
});
|
|
106
|
+
const styles = computed(() => dropZoneVariants());
|
|
107
|
+
provideDropZoneContext({ slots: styles });
|
|
108
|
+
const _setTemplateRef = createTemplateRefSetter();
|
|
109
|
+
const n3 = t0();
|
|
110
|
+
const n1 = child(n3);
|
|
111
|
+
const n0 = child(n1);
|
|
112
|
+
on(n0, "change", onInputChange);
|
|
113
|
+
renderEffect(() => {
|
|
114
|
+
const _props = props;
|
|
115
|
+
const _dataAttr = unref(dataAttr);
|
|
116
|
+
setClass(n3, styles.value.base({ class: _props.class }));
|
|
117
|
+
setAttr(n3, "data-disabled", _dataAttr(_props.isDisabled));
|
|
118
|
+
setAttr(n3, "data-drop-target", _dataAttr(unref(drop).isDropTarget.value));
|
|
119
|
+
setAttr(n3, "data-focus-visible", _dataAttr(unref(focusWithin).isFocusVisible.value));
|
|
120
|
+
setAttr(n3, "data-hovered", _dataAttr(unref(interaction).isHovered.value));
|
|
121
|
+
setAttr(n3, "data-status", status.value);
|
|
122
|
+
setStyle(n1, unref(visuallyHiddenStyle));
|
|
123
|
+
setProp(n0, "accept", _props.accept);
|
|
124
|
+
setAttr(n0, "aria-describedby", describedBy.value);
|
|
125
|
+
setAttr(n0, "aria-label", _props.ariaLabel);
|
|
126
|
+
setAttr(n0, "aria-labelledby", _props.ariaLabelledby);
|
|
127
|
+
setProp(n0, "disabled", _props.isDisabled || void 0);
|
|
128
|
+
setProp(n0, "multiple", _props.multiple || void 0);
|
|
129
|
+
_setTemplateRef(n0, setInputEl);
|
|
130
|
+
});
|
|
131
|
+
setInsertionState(n3, 1);
|
|
132
|
+
createSlot("default", {
|
|
133
|
+
isDisabled: () => Boolean(props.isDisabled),
|
|
134
|
+
isDropTarget: () => unref(drop).isDropTarget.value,
|
|
135
|
+
open: () => open,
|
|
136
|
+
status: () => status.value
|
|
137
|
+
});
|
|
138
|
+
on(n3, "click", onClick);
|
|
139
|
+
on(n3, "dragenter", (e) => unref(drop).handlers.onDragenter(e));
|
|
140
|
+
on(n3, "dragleave", (e) => unref(drop).handlers.onDragleave(e));
|
|
141
|
+
on(n3, "dragover", (e) => unref(drop).handlers.onDragover(e));
|
|
142
|
+
on(n3, "drop", (e) => unref(drop).handlers.onDrop(e));
|
|
143
|
+
on(n3, "focusin", (e) => unref(focusWithin).onFocusin(e));
|
|
144
|
+
on(n3, "focusout", (e) => unref(focusWithin).onFocusout(e));
|
|
145
|
+
on(n3, "pointerenter", (e) => unref(interaction).onPointerenter(e));
|
|
146
|
+
on(n3, "pointerleave", (e) => unref(interaction).onPointerleave(e));
|
|
147
|
+
setProp(n3, "tabindex", -1);
|
|
148
|
+
setTemplateRefBinding(n3, () => setRootEl);
|
|
149
|
+
return n3;
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
//#endregion
|
|
153
|
+
export { drop_zone_root_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { DropZoneTriggerProps } from "./drop-zone.types.js";
|
|
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<DropZoneTriggerProps> & (typeof globalThis extends {
|
|
4
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
5
|
+
} ? P : {});
|
|
6
|
+
expose: (exposed: {}) => void;
|
|
7
|
+
attrs: any;
|
|
8
|
+
slots: {
|
|
9
|
+
default?: () => unknown;
|
|
10
|
+
};
|
|
11
|
+
emit: {};
|
|
12
|
+
}>) => import('vue').VNode & {
|
|
13
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
14
|
+
};
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
18
|
+
[K in keyof T]: T[K];
|
|
19
|
+
} : {
|
|
20
|
+
[K in keyof T as K]: T[K];
|
|
21
|
+
}) & {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { composeSlotClassName } from "../../utils/compose.js";
|
|
2
|
+
import { useDropZoneContext } from "./drop-zone.context.js";
|
|
3
|
+
import { createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, template, unref } from "vue";
|
|
4
|
+
//#region src/components/drop-zone/drop-zone-trigger.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
5
|
+
var t0 = template("<span data-slot=drop-zone-trigger>", 1);
|
|
6
|
+
var drop_zone_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
|
|
7
|
+
__name: "drop-zone-trigger",
|
|
8
|
+
props: { class: {} },
|
|
9
|
+
setup(__props) {
|
|
10
|
+
const props = __props;
|
|
11
|
+
const { slots } = useDropZoneContext();
|
|
12
|
+
const n1 = t0();
|
|
13
|
+
renderEffect(() => setClass(n1, unref(composeSlotClassName)(unref(slots).trigger, props.class)));
|
|
14
|
+
setInsertionState(n1);
|
|
15
|
+
createSlot();
|
|
16
|
+
return n1;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
//#endregion
|
|
20
|
+
export { drop_zone_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DragTypes } from "../../utils/dnd-types.js";
|
|
2
|
+
/** The tokens of an `accept` list, lowercased, with the empties dropped. */
|
|
3
|
+
export declare const parseAccept: (accept: string | undefined) => string[];
|
|
4
|
+
/** Whether one file satisfies an `accept` list. An empty list accepts everything. */
|
|
5
|
+
export declare const isFileAccepted: (file: File, tokens: string[]) => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Whether a drag still in flight should be refused.
|
|
8
|
+
*
|
|
9
|
+
* A drag advertises mime types and nothing else — never a file name, and never how many files
|
|
10
|
+
* it carries. So the answer is only ever "certainly not takeable"; everything unprovable is
|
|
11
|
+
* left to the drop, which filters what it emits. Three cases are unprovable:
|
|
12
|
+
*
|
|
13
|
+
* - an `.ext` token, which needs a file name;
|
|
14
|
+
* - {@link GENERIC_TYPE}, which is what a file with no known mime type reports — and also what
|
|
15
|
+
* a directory reports, since the two are indistinguishable until the drop;
|
|
16
|
+
* - a transfer whose types are hidden, which `DragTypes` already answers `true` to for
|
|
17
|
+
* everything (Safari reports no items at all while dragging files).
|
|
18
|
+
*/
|
|
19
|
+
export declare const isDragRefused: (types: DragTypes, tokens: string[]) => boolean;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import "../../utils/dnd-constants.js";
|
|
2
|
+
//#region src/components/drop-zone/drop-zone.accept.ts
|
|
3
|
+
/** The tokens of an `accept` list, lowercased, with the empties dropped. */
|
|
4
|
+
var parseAccept = (accept) => accept?.split(",").map((token) => token.trim().toLowerCase()).filter(Boolean) ?? [];
|
|
5
|
+
var matchesMimeToken = (type, token) => token.endsWith("/*") ? type.startsWith(token.slice(0, -1)) : type === token;
|
|
6
|
+
/** Whether one file satisfies an `accept` list. An empty list accepts everything. */
|
|
7
|
+
var isFileAccepted = (file, tokens) => tokens.length === 0 || tokens.some((token) => token.startsWith(".") ? file.name.toLowerCase().endsWith(token) : matchesMimeToken(file.type.toLowerCase(), token));
|
|
8
|
+
/**
|
|
9
|
+
* Whether a drag still in flight should be refused.
|
|
10
|
+
*
|
|
11
|
+
* A drag advertises mime types and nothing else — never a file name, and never how many files
|
|
12
|
+
* it carries. So the answer is only ever "certainly not takeable"; everything unprovable is
|
|
13
|
+
* left to the drop, which filters what it emits. Three cases are unprovable:
|
|
14
|
+
*
|
|
15
|
+
* - an `.ext` token, which needs a file name;
|
|
16
|
+
* - {@link GENERIC_TYPE}, which is what a file with no known mime type reports — and also what
|
|
17
|
+
* a directory reports, since the two are indistinguishable until the drop;
|
|
18
|
+
* - a transfer whose types are hidden, which `DragTypes` already answers `true` to for
|
|
19
|
+
* everything (Safari reports no items at all while dragging files).
|
|
20
|
+
*/
|
|
21
|
+
var isDragRefused = (types, tokens) => {
|
|
22
|
+
if (tokens.length === 0) return false;
|
|
23
|
+
if (tokens.some((token) => token.startsWith("."))) return false;
|
|
24
|
+
if (types.has("application/octet-stream")) return false;
|
|
25
|
+
return !tokens.some((token) => types.has(token));
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { isDragRefused, isFileAccepted, parseAccept };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { dropZoneVariants } from "@ropav/styles";
|
|
2
|
+
import type { ComputedRef } from "vue";
|
|
3
|
+
export interface DropZoneContext {
|
|
4
|
+
slots: ComputedRef<ReturnType<typeof dropZoneVariants>>;
|
|
5
|
+
}
|
|
6
|
+
export declare const useDropZoneContext: () => DropZoneContext, provideDropZoneContext: (value: DropZoneContext) => DropZoneContext;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createContext } from "../../utils/create-context.js";
|
|
2
|
+
//#region src/components/drop-zone/drop-zone.context.ts
|
|
3
|
+
var [useDropZoneContext, provideDropZoneContext] = createContext({ name: "DropZoneContext" });
|
|
4
|
+
//#endregion
|
|
5
|
+
export { provideDropZoneContext, useDropZoneContext };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** What the zone makes of the drag currently over it. */
|
|
2
|
+
export type DropZoneStatus = "accept" | "idle" | "reject";
|
|
3
|
+
export interface DropZoneRootProps {
|
|
4
|
+
class?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Which files to take, spelled the way the native `accept` attribute spells it: a comma
|
|
7
|
+
* separated list of mime types, `type/*` wildcards and `.ext` suffixes.
|
|
8
|
+
*
|
|
9
|
+
* It filters the picker, judges a drag while it is still moving, and filters what a drop
|
|
10
|
+
* emits. A drag is only refused where the refusal is certain — see `drop-zone-root.vue`.
|
|
11
|
+
*/
|
|
12
|
+
accept?: string;
|
|
13
|
+
/** Whether more than one file may arrive at once. */
|
|
14
|
+
multiple?: boolean;
|
|
15
|
+
isDisabled?: boolean;
|
|
16
|
+
ariaLabel?: string;
|
|
17
|
+
ariaLabelledby?: string;
|
|
18
|
+
ariaDescribedby?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface DropZoneSlotProps {
|
|
21
|
+
status: DropZoneStatus;
|
|
22
|
+
/** Whether a drag the zone would take is over it. */
|
|
23
|
+
isDropTarget: boolean;
|
|
24
|
+
isDisabled: boolean;
|
|
25
|
+
/** Opens the file picker, as clicking the zone does. */
|
|
26
|
+
open: () => void;
|
|
27
|
+
}
|
|
28
|
+
export interface DropZoneTriggerProps {
|
|
29
|
+
class?: string;
|
|
30
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import DropZoneRoot from "./drop-zone-root.js";
|
|
2
|
+
import DropZoneTrigger from "./drop-zone-trigger.js";
|
|
3
|
+
export declare const DropZone: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
|
|
4
|
+
attrs: any;
|
|
5
|
+
slots: {
|
|
6
|
+
default?: (props: import("./drop-zone.types.js").DropZoneSlotProps) => unknown;
|
|
7
|
+
};
|
|
8
|
+
emit: (evt: "select", files: File[]) => void;
|
|
9
|
+
}, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
|
|
10
|
+
props: import('vue').PublicProps & {
|
|
11
|
+
class?: string;
|
|
12
|
+
accept?: string;
|
|
13
|
+
multiple?: boolean;
|
|
14
|
+
isDisabled?: boolean;
|
|
15
|
+
ariaLabel?: string;
|
|
16
|
+
ariaLabelledby?: string;
|
|
17
|
+
ariaDescribedby?: string;
|
|
18
|
+
onSelect?: ((files: File[]) => any) | undefined;
|
|
19
|
+
} & (typeof globalThis extends {
|
|
20
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
21
|
+
} ? P : {});
|
|
22
|
+
expose: (exposed: {}) => void;
|
|
23
|
+
attrs: any;
|
|
24
|
+
slots: {
|
|
25
|
+
default?: (props: import("./drop-zone.types.js").DropZoneSlotProps) => unknown;
|
|
26
|
+
};
|
|
27
|
+
emit: (evt: "select", files: File[]) => void;
|
|
28
|
+
}>) => import('vue').VNode & {
|
|
29
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
30
|
+
}) & {
|
|
31
|
+
Root: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
|
|
32
|
+
attrs: any;
|
|
33
|
+
slots: {
|
|
34
|
+
default?: (props: import("./drop-zone.types.js").DropZoneSlotProps) => unknown;
|
|
35
|
+
};
|
|
36
|
+
emit: (evt: "select", files: File[]) => void;
|
|
37
|
+
}, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
|
|
38
|
+
props: import('vue').PublicProps & {
|
|
39
|
+
class?: string;
|
|
40
|
+
accept?: string;
|
|
41
|
+
multiple?: boolean;
|
|
42
|
+
isDisabled?: boolean;
|
|
43
|
+
ariaLabel?: string;
|
|
44
|
+
ariaLabelledby?: string;
|
|
45
|
+
ariaDescribedby?: string;
|
|
46
|
+
onSelect?: ((files: File[]) => any) | undefined;
|
|
47
|
+
} & (typeof globalThis extends {
|
|
48
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
49
|
+
} ? P : {});
|
|
50
|
+
expose: (exposed: {}) => void;
|
|
51
|
+
attrs: any;
|
|
52
|
+
slots: {
|
|
53
|
+
default?: (props: import("./drop-zone.types.js").DropZoneSlotProps) => unknown;
|
|
54
|
+
};
|
|
55
|
+
emit: (evt: "select", files: File[]) => void;
|
|
56
|
+
}>) => import('vue').VNode & {
|
|
57
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
58
|
+
};
|
|
59
|
+
Trigger: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
|
|
60
|
+
attrs: any;
|
|
61
|
+
slots: {
|
|
62
|
+
default?: () => unknown;
|
|
63
|
+
};
|
|
64
|
+
emit: {};
|
|
65
|
+
}, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
|
|
66
|
+
props: import('vue').PublicProps & {
|
|
67
|
+
class?: string;
|
|
68
|
+
} & (typeof globalThis extends {
|
|
69
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
70
|
+
} ? P : {});
|
|
71
|
+
expose: (exposed: {}) => void;
|
|
72
|
+
attrs: any;
|
|
73
|
+
slots: {
|
|
74
|
+
default?: () => unknown;
|
|
75
|
+
};
|
|
76
|
+
emit: {};
|
|
77
|
+
}>) => import('vue').VNode & {
|
|
78
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
export { DropZoneRoot, DropZoneTrigger };
|
|
82
|
+
export type { DropZoneRootProps, DropZoneRootProps as DropZoneProps, DropZoneSlotProps, DropZoneStatus, DropZoneTriggerProps, } from "./drop-zone.types.js";
|
|
83
|
+
export { useDropZoneContext, provideDropZoneContext } from "./drop-zone.context.js";
|
|
84
|
+
export type { DropZoneContext } from "./drop-zone.context.js";
|
|
85
|
+
export { dropZoneVariants } from "@ropav/styles";
|
|
86
|
+
export type { DropZoneVariants } from "@ropav/styles";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { provideDropZoneContext, useDropZoneContext } from "./drop-zone.context.js";
|
|
2
|
+
import drop_zone_root_default from "./drop-zone-root.js";
|
|
3
|
+
import drop_zone_trigger_default from "./drop-zone-trigger.js";
|
|
4
|
+
import { dropZoneVariants } from "@ropav/styles";
|
|
5
|
+
//#region src/components/drop-zone/index.ts
|
|
6
|
+
var DropZone = Object.assign(drop_zone_root_default, {
|
|
7
|
+
Root: drop_zone_root_default,
|
|
8
|
+
Trigger: drop_zone_trigger_default
|
|
9
|
+
});
|
|
10
|
+
//#endregion
|
|
11
|
+
export { DropZone, drop_zone_root_default as DropZoneRoot, drop_zone_trigger_default as DropZoneTrigger, dropZoneVariants, provideDropZoneContext, useDropZoneContext };
|
|
@@ -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",
|
|
@@ -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: {} },
|
|
@@ -30,6 +30,7 @@ export * from "./disclosure/index.js";
|
|
|
30
30
|
export * from "./disclosure-group/index.js";
|
|
31
31
|
export * from "./dnd/index.js";
|
|
32
32
|
export * from "./drawer/index.js";
|
|
33
|
+
export * from "./drop-zone/index.js";
|
|
33
34
|
export * from "./dropdown/index.js";
|
|
34
35
|
export * from "./empty-state/index.js";
|
|
35
36
|
export * from "./error-message/index.js";
|
|
@@ -61,13 +62,17 @@ export * from "./progress-circle/index.js";
|
|
|
61
62
|
export * from "./radio/index.js";
|
|
62
63
|
export * from "./radio-group/index.js";
|
|
63
64
|
export * from "./range-calendar/index.js";
|
|
65
|
+
export * from "./router-provider/index.js";
|
|
64
66
|
export * from "./scroll-shadow/index.js";
|
|
65
67
|
export * from "./search-field/index.js";
|
|
68
|
+
export * from "./segmented-control/index.js";
|
|
66
69
|
export * from "./select/index.js";
|
|
67
70
|
export * from "./separator/index.js";
|
|
71
|
+
export * from "./sidebar/index.js";
|
|
68
72
|
export * from "./skeleton/index.js";
|
|
69
73
|
export * from "./slider/index.js";
|
|
70
74
|
export * from "./spinner/index.js";
|
|
75
|
+
export * from "./splitter/index.js";
|
|
71
76
|
export * from "./surface/index.js";
|
|
72
77
|
export * from "./switch/index.js";
|
|
73
78
|
export * from "./switch-group/index.js";
|
|
@@ -8,6 +8,7 @@ export declare const Input: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setu
|
|
|
8
8
|
class?: string;
|
|
9
9
|
value?: string;
|
|
10
10
|
variant?: import("@ropav/styles").InputVariants["variant"];
|
|
11
|
+
size?: import("@ropav/styles").InputVariants["size"];
|
|
11
12
|
fullWidth?: boolean;
|
|
12
13
|
placeholder?: string;
|
|
13
14
|
onChange?: ((value: string) => any) | undefined;
|
|
@@ -31,6 +32,7 @@ export declare const Input: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setu
|
|
|
31
32
|
class?: string;
|
|
32
33
|
value?: string;
|
|
33
34
|
variant?: import("@ropav/styles").InputVariants["variant"];
|
|
35
|
+
size?: import("@ropav/styles").InputVariants["size"];
|
|
34
36
|
fullWidth?: boolean;
|
|
35
37
|
placeholder?: string;
|
|
36
38
|
onChange?: ((value: string) => any) | undefined;
|
|
@@ -13,6 +13,7 @@ var input_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PUR
|
|
|
13
13
|
class: {},
|
|
14
14
|
value: {},
|
|
15
15
|
variant: { default: void 0 },
|
|
16
|
+
size: {},
|
|
16
17
|
fullWidth: {
|
|
17
18
|
type: Boolean,
|
|
18
19
|
default: void 0
|
|
@@ -31,9 +32,11 @@ var input_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PUR
|
|
|
31
32
|
control?.registerElement(element.value);
|
|
32
33
|
};
|
|
33
34
|
const resolvedVariant = computed(() => props.variant ?? textField?.variant.value);
|
|
35
|
+
const resolvedSize = computed(() => props.size ?? textField?.size.value);
|
|
34
36
|
const styles = computed(() => inputVariants({
|
|
35
37
|
class: props.class,
|
|
36
38
|
fullWidth: props.fullWidth,
|
|
39
|
+
size: resolvedSize.value,
|
|
37
40
|
variant: resolvedVariant.value
|
|
38
41
|
}));
|
|
39
42
|
const attrs = computed(() => {
|
|
@@ -9,6 +9,11 @@ export interface InputRootProps {
|
|
|
9
9
|
value?: string;
|
|
10
10
|
/** Visual variant. Taken from the surrounding field when unset. @default "primary" */
|
|
11
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"];
|
|
12
17
|
/** Whether the control stretches to fill its container. */
|
|
13
18
|
fullWidth?: boolean;
|
|
14
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;
|