ropav 0.12.1 → 0.12.3
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/alert-dialog/alert-dialog-container.js +2 -4
- package/dist/components/alert-dialog/alert-dialog-trigger.js +26 -19
- package/dist/components/autocomplete/autocomplete-indicator.js +32 -19
- package/dist/components/autocomplete/autocomplete-value.js +1 -1
- package/dist/components/avatar-group/avatar-group-overflow.js +1 -1
- package/dist/components/breadcrumbs/breadcrumbs-item.js +6 -3
- package/dist/components/button/button-root.js +44 -25
- package/dist/components/calendar/calendar-cell.js +60 -40
- package/dist/components/calendar/calendar-grid.js +17 -9
- package/dist/components/calendar/calendar-nav-button.js +31 -18
- package/dist/components/calendar/calendar-root.js +2 -1
- package/dist/components/calendar-year-picker/calendar-year-picker-grid.js +1 -0
- package/dist/components/close-button/close-button-root.js +45 -26
- package/dist/components/color-area/color-area-root.js +5 -4
- package/dist/components/color-area/color-area-thumb.js +28 -13
- package/dist/components/color-input-group/color-input-group-input.js +31 -19
- package/dist/components/color-picker/color-picker-trigger.js +30 -19
- package/dist/components/color-slider/color-slider-output.js +2 -1
- package/dist/components/color-slider/color-slider-thumb.js +6 -4
- package/dist/components/color-slider/color-slider-track.js +7 -5
- package/dist/components/combo-box/combo-box-trigger.js +33 -20
- package/dist/components/combo-box/combo-box-value.js +1 -1
- package/dist/components/date-input-group/date-input-group-hidden-input.js +2 -1
- package/dist/components/date-input-group/date-input-group-input.js +23 -13
- package/dist/components/date-input-group/date-input-group-root.js +21 -13
- package/dist/components/date-input-group/date-input-group-segment.js +21 -12
- package/dist/components/date-picker/date-picker-trigger.js +19 -10
- package/dist/components/date-range-picker/date-range-picker-trigger.js +19 -10
- package/dist/components/drawer/drawer-content.js +2 -4
- package/dist/components/drawer/drawer-trigger.js +39 -23
- package/dist/components/dropdown/dropdown-menu.js +17 -10
- package/dist/components/dropdown/dropdown-trigger.js +39 -23
- package/dist/components/input/input-root.js +30 -18
- package/dist/components/input-group/input-group-input.js +30 -18
- package/dist/components/input-group/input-group-textarea.js +30 -18
- package/dist/components/input-otp/input-otp-root.js +38 -21
- package/dist/components/list-box/list-box-drop-indicator.js +4 -6
- package/dist/components/list-box-item/list-box-item-root.js +38 -16
- package/dist/components/menu/menu-root.js +17 -9
- package/dist/components/modal/modal-container.js +2 -4
- package/dist/components/modal/modal-trigger.js +26 -19
- package/dist/components/number-field/number-field-decrement-button.js +30 -18
- package/dist/components/number-field/number-field-group.js +25 -13
- package/dist/components/number-field/number-field-increment-button.js +30 -18
- package/dist/components/number-field/number-field-input.js +31 -19
- package/dist/components/popover/popover-trigger.js +31 -19
- package/dist/components/radio-group/radio-group-root.js +2 -1
- package/dist/components/range-calendar/range-calendar-cell.js +65 -43
- package/dist/components/range-calendar/range-calendar-grid.js +17 -9
- package/dist/components/range-calendar/range-calendar-nav-button.js +31 -18
- package/dist/components/range-calendar/range-calendar-root.js +13 -8
- package/dist/components/search-field/search-field-input.js +30 -18
- package/dist/components/search-field/search-field-search-icon.js +1 -1
- package/dist/components/segmented-control/segmented-control-root.js +1 -3
- package/dist/components/segmented-control/segmented-control.types.d.ts +0 -1
- package/dist/components/select/select-trigger.js +36 -22
- package/dist/components/select/select-value.js +1 -1
- package/dist/components/slider/slider-output.js +2 -1
- package/dist/components/slider/slider-root.js +5 -4
- package/dist/components/slider/slider-thumb.js +5 -4
- package/dist/components/splitter/splitter.state.js +6 -1
- package/dist/components/table/table-body.js +1 -1
- package/dist/components/table/table-cell.js +3 -1
- package/dist/components/table/table-column-resizer.js +2 -1
- package/dist/components/table/table-drop-indicator.js +9 -6
- package/dist/components/table/table-load-more.js +1 -1
- package/dist/components/table/table-row.js +9 -6
- package/dist/components/table/use-grid-selection-announcement.js +3 -1
- package/dist/components/table/use-table-collection.js +3 -0
- package/dist/components/tabs/tabs-list-container.js +2 -1
- package/dist/components/tabs/tabs-root.js +1 -3
- package/dist/components/tabs/tabs.types.d.ts +0 -1
- package/dist/components/textarea/textarea-root.js +30 -18
- package/dist/components/toast/toast-default-content.js +1 -1
- package/dist/components/toast/toast-provider.js +19 -13
- package/dist/components/toast/toast-renderable.js +1 -1
- package/dist/components/toast/toast-root.js +10 -1
- package/dist/components/tooltip/tooltip-trigger.js +27 -15
- package/dist/composables/use-calendar-grid.js +2 -1
- package/dist/composables/use-collection.js +12 -0
- package/dist/composables/use-color-field.js +31 -29
- package/dist/composables/use-combo-box-state.js +2 -1
- package/dist/composables/use-combo-box.js +2 -1
- package/dist/composables/use-disclosure-panel.js +2 -1
- package/dist/composables/use-drag.js +9 -6
- package/dist/composables/use-drop.js +2 -1
- package/dist/composables/use-droppable-collection.js +2 -1
- package/dist/composables/use-input-otp.js +5 -2
- package/dist/composables/use-move.js +2 -1
- package/dist/composables/use-single-select-list-state.js +1 -0
- package/dist/composables/use-time-field-state.js +2 -1
- package/dist/composables/use-virtualizer.js +1 -0
- package/dist/ropav.min.css +1 -1
- package/dist/utils/create-context.js +2 -1
- package/dist/utils/platform.js +2 -1
- package/dist/utils/position.js +4 -2
- package/dist/version.js +1 -1
- package/package.json +2 -6
- package/dist/styles-compat-0.10.css +0 -3
|
@@ -25,9 +25,11 @@ var registry = () => {
|
|
|
25
25
|
const version = shallowRef(0);
|
|
26
26
|
return {
|
|
27
27
|
get: (key) => {
|
|
28
|
+
version.value;
|
|
28
29
|
return items.get(key);
|
|
29
30
|
},
|
|
30
31
|
keys: computed(() => {
|
|
32
|
+
version.value;
|
|
31
33
|
return sortByDocumentOrder([...items.entries()], ([, meta]) => meta.element()).map(([key]) => key);
|
|
32
34
|
}),
|
|
33
35
|
register: (key, meta) => {
|
|
@@ -83,7 +85,8 @@ var useSplitterState = (options) => {
|
|
|
83
85
|
const indexOf = (key) => panels.keys.value.indexOf(key);
|
|
84
86
|
const getPanelSize = (key) => layout.value[indexOf(key)] ?? 0;
|
|
85
87
|
const boundsOf = (index) => {
|
|
86
|
-
const
|
|
88
|
+
const key = panels.keys.value[index];
|
|
89
|
+
const panel = panels.get(key);
|
|
87
90
|
const available = availableSize.value;
|
|
88
91
|
const min = getMinSize(panel.minSize(), available);
|
|
89
92
|
const shut = panel.isCollapsible() ? getMinSize(panel.collapsedSize() ?? 0, available) : min;
|
|
@@ -206,6 +209,8 @@ var useSplitterState = (options) => {
|
|
|
206
209
|
};
|
|
207
210
|
};
|
|
208
211
|
const neighbourCache = computed(() => {
|
|
212
|
+
panels.keys.value;
|
|
213
|
+
handles.keys.value;
|
|
209
214
|
return /* @__PURE__ */ new Map();
|
|
210
215
|
});
|
|
211
216
|
const neighboursOf = (handleKey) => {
|
|
@@ -107,7 +107,7 @@ var table_body_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PUR
|
|
|
107
107
|
return createDynamicComponent(() => unref(virtualizer) ? "div" : "td", {
|
|
108
108
|
"aria-colspan": () => unref(virtualizer) ? columnCount.value : void 0,
|
|
109
109
|
colspan: () => unref(virtualizer) ? void 0 : columnCount.value,
|
|
110
|
-
role: "
|
|
110
|
+
role: "gridcell",
|
|
111
111
|
style: () => emptyStateStyle.value
|
|
112
112
|
}, extend(() => {
|
|
113
113
|
return createSlot("empty", null, null, 4);
|
|
@@ -58,7 +58,8 @@ var table_cell_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PUR
|
|
|
58
58
|
const virtualizer = useTableVirtualizerContext();
|
|
59
59
|
const layoutInfo = computed(() => {
|
|
60
60
|
if (!virtualizer || columnKey.value == null) return null;
|
|
61
|
-
|
|
61
|
+
const collection = virtualizer.collection.value;
|
|
62
|
+
return virtualizer.getLayoutInfo(collection.cellKey(rowKey.value, columnKey.value));
|
|
62
63
|
});
|
|
63
64
|
const parentLayoutInfo = computed(() => virtualizer ? virtualizer.getLayoutInfo(rowKey.value) : null);
|
|
64
65
|
const placement = virtualizer ? useVirtualizerItem({
|
|
@@ -69,6 +70,7 @@ var table_cell_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PUR
|
|
|
69
70
|
const n1 = createDynamicComponent(() => unref(virtualizer) ? "div" : "td", {
|
|
70
71
|
id: () => cellId.value,
|
|
71
72
|
"aria-colindex": () => unref(virtualizer) && index.value >= 0 ? index.value + 1 : void 0,
|
|
73
|
+
"aria-label": () => isRowHeader.value ? props.textValue : void 0,
|
|
72
74
|
class: () => ["rp-table__cell", props.class],
|
|
73
75
|
"data-collection": () => unref(collectionId),
|
|
74
76
|
"data-column-index": () => index.value < 0 ? void 0 : index.value,
|
|
@@ -103,7 +103,8 @@ var table_column_resizer_vue_vue_type_script_setup_true_vapor_true_lang_default
|
|
|
103
103
|
* arrow press does.
|
|
104
104
|
*/
|
|
105
105
|
const onChange = (event) => {
|
|
106
|
-
|
|
106
|
+
const next = parseFloat(event.target.value);
|
|
107
|
+
resize(next > columnWidth.value ? columnWidth.value + KEYBOARD_STEP : columnWidth.value - KEYBOARD_STEP);
|
|
107
108
|
};
|
|
108
109
|
const n1 = t0();
|
|
109
110
|
const n0 = child(n1);
|
|
@@ -3,7 +3,7 @@ import { useVirtualizerStateContext } from "../virtualizer/virtualizer.context.j
|
|
|
3
3
|
import { visuallyHiddenStyle } from "../../utils/visually-hidden.js";
|
|
4
4
|
import { useTableGridContext, useTableVirtualizerContext } from "./table.context.js";
|
|
5
5
|
import table_virtualizer_item_default from "./table-virtualizer-item.js";
|
|
6
|
-
import { computed, createComponent, createDynamicComponent, createIf, defineVaporComponent, extend,
|
|
6
|
+
import { computed, createComponent, createDynamicComponent, createIf, defineVaporComponent, extend, renderEffect, setDynamicProps, setStaticTemplateRef, shallowRef, template, unref } from "vue";
|
|
7
7
|
//#region src/components/table/table-drop-indicator.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
8
8
|
var t0 = template("<div>");
|
|
9
9
|
/**
|
|
@@ -81,12 +81,15 @@ var table_drop_indicator_vue_vue_type_script_setup_true_vapor_true_lang_default
|
|
|
81
81
|
style: { padding: 0 }
|
|
82
82
|
}, () => {
|
|
83
83
|
const n2 = t0();
|
|
84
|
-
on(n2, "click", () => unref(indicator)?.handlers.onClick());
|
|
85
84
|
setStaticTemplateRef(n2, element, null, "element");
|
|
86
|
-
renderEffect(() =>
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
renderEffect(() => {
|
|
86
|
+
const _indicator = unref(indicator);
|
|
87
|
+
setDynamicProps(n2, [_indicator?.attrs.value, {
|
|
88
|
+
role: "button",
|
|
89
|
+
style: unref(visuallyHiddenStyle),
|
|
90
|
+
onClick: () => _indicator?.handlers.onClick()
|
|
91
|
+
}]);
|
|
92
|
+
});
|
|
90
93
|
return n2;
|
|
91
94
|
}, 4);
|
|
92
95
|
}, { _: 1 }), 4);
|
|
@@ -100,7 +100,7 @@ var table_load_more_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@
|
|
|
100
100
|
return createDynamicComponent(() => unref(virtualizer) ? "div" : "td", {
|
|
101
101
|
"aria-colspan": () => unref(virtualizer) ? columnCount.value : void 0,
|
|
102
102
|
colspan: () => unref(virtualizer) ? void 0 : columnCount.value,
|
|
103
|
-
role: "
|
|
103
|
+
role: "gridcell",
|
|
104
104
|
style: () => indicatorStyle.value
|
|
105
105
|
}, extend(() => {
|
|
106
106
|
return createSlot("default", null, null, 4);
|
|
@@ -6,7 +6,7 @@ import { useVirtualizerItem } from "../virtualizer/use-virtualizer-item.js";
|
|
|
6
6
|
import { visuallyHiddenStyle } from "../../utils/visually-hidden.js";
|
|
7
7
|
import { provideTableRowContext, useTableGridContext, useTableVirtualizerContext } from "./table.context.js";
|
|
8
8
|
import { createTableRegistry, tableCellId } from "./use-table-collection.js";
|
|
9
|
-
import { computed, createDynamicComponent, createIf, createSlot, defineVaporComponent, extend,
|
|
9
|
+
import { computed, createDynamicComponent, createIf, createSlot, defineVaporComponent, extend, renderEffect, setDynamicProps, setStaticTemplateRef, shallowRef, template, unref, watch } from "vue";
|
|
10
10
|
//#region src/components/table/table-row.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
11
11
|
var t0 = template("<div>");
|
|
12
12
|
var table_row_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
|
|
@@ -173,12 +173,15 @@ var table_row_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
173
173
|
style: { padding: 0 }
|
|
174
174
|
}, () => {
|
|
175
175
|
const n2 = t0();
|
|
176
|
-
on(n2, "click", () => unref(dropIndicator).handlers.onClick());
|
|
177
176
|
setStaticTemplateRef(n2, dropIndicatorElement, null, "dropIndicatorElement");
|
|
178
|
-
renderEffect(() =>
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
177
|
+
renderEffect(() => {
|
|
178
|
+
const _dropIndicator = unref(dropIndicator);
|
|
179
|
+
setDynamicProps(n2, [_dropIndicator.attrs.value, {
|
|
180
|
+
role: "button",
|
|
181
|
+
style: unref(visuallyHiddenStyle),
|
|
182
|
+
onClick: () => _dropIndicator.handlers.onClick()
|
|
183
|
+
}]);
|
|
184
|
+
});
|
|
182
185
|
return n2;
|
|
183
186
|
}, 4);
|
|
184
187
|
}, { _: 1 }));
|
|
@@ -41,7 +41,9 @@ var useGridSelectionAnnouncement = (options) => {
|
|
|
41
41
|
else if (added.size === 1 && removed.size === 0) single([...added][0], "selected");
|
|
42
42
|
else if (removed.size === 1 && added.size === 0) single([...removed][0], "not selected");
|
|
43
43
|
if (selection.selectionMode.value === "multiple") {
|
|
44
|
-
|
|
44
|
+
const size = current === "all" ? 0 : current.size;
|
|
45
|
+
const lastSize = last === "all" ? 0 : last.size;
|
|
46
|
+
if (messages.length === 0 || current === "all" || size > 1 || last === "all" || lastSize > 1) messages.push(current === "all" ? "All items selected." : countMessage(selection.selectedKeys.value.size));
|
|
45
47
|
}
|
|
46
48
|
if (messages.length > 0) announce(messages.join(" "));
|
|
47
49
|
});
|
|
@@ -19,10 +19,12 @@ var createTableRegistry = () => {
|
|
|
19
19
|
const items = /* @__PURE__ */ new Map();
|
|
20
20
|
const version = shallowRef(0);
|
|
21
21
|
const orderedKeys = computed(() => {
|
|
22
|
+
version.value;
|
|
22
23
|
return [...items.entries()].filter(([, meta]) => meta.element()?.isConnected).sort(([, a], [, b]) => a.element().compareDocumentPosition(b.element()) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1).map(([key]) => key);
|
|
23
24
|
});
|
|
24
25
|
return {
|
|
25
26
|
getItem: (key) => {
|
|
27
|
+
version.value;
|
|
26
28
|
return items.get(key);
|
|
27
29
|
},
|
|
28
30
|
indexOf: (key) => orderedKeys.value.indexOf(key),
|
|
@@ -39,6 +41,7 @@ var createTableRegistry = () => {
|
|
|
39
41
|
};
|
|
40
42
|
},
|
|
41
43
|
size: computed(() => {
|
|
44
|
+
version.value;
|
|
42
45
|
return orderedKeys.value.length;
|
|
43
46
|
})
|
|
44
47
|
};
|
|
@@ -26,7 +26,8 @@ var tabs_list_container_vue_vue_type_script_setup_true_vapor_true_lang_default =
|
|
|
26
26
|
if (!element) return;
|
|
27
27
|
const vertical = isVertical.value;
|
|
28
28
|
const size = vertical ? element.clientHeight : element.clientWidth;
|
|
29
|
-
const
|
|
29
|
+
const scrollSize = vertical ? element.scrollHeight : element.scrollWidth;
|
|
30
|
+
const maxScroll = Math.max(0, scrollSize - size);
|
|
30
31
|
const isRtl = !vertical && getComputedStyle(element).direction === "rtl";
|
|
31
32
|
const delta = direction * size * SCROLL_FRACTION * (isRtl ? -1 : 1);
|
|
32
33
|
const current = vertical ? element.scrollTop : element.scrollLeft;
|
|
@@ -23,8 +23,7 @@ var tabs_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
23
23
|
},
|
|
24
24
|
orientation: { default: void 0 },
|
|
25
25
|
variant: { default: void 0 },
|
|
26
|
-
id: {}
|
|
27
|
-
onSelectionChange: {}
|
|
26
|
+
id: {}
|
|
28
27
|
},
|
|
29
28
|
emits: ["selectionChange", "update:selectedKey"],
|
|
30
29
|
setup(__props, { emit: __emit }) {
|
|
@@ -43,7 +42,6 @@ var tabs_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE
|
|
|
43
42
|
id: () => props.id,
|
|
44
43
|
isDisabled: () => props.isDisabled,
|
|
45
44
|
onSelectionChange: (key) => {
|
|
46
|
-
props.onSelectionChange?.(key);
|
|
47
45
|
emit("selectionChange", key);
|
|
48
46
|
emit("update:selectedKey", key);
|
|
49
47
|
},
|
|
@@ -4,10 +4,17 @@ import { setFormValue } from "../../utils/form-value.js";
|
|
|
4
4
|
import { useTextFieldControlContext } from "../../composables/use-text-field.js";
|
|
5
5
|
import { useTextFieldContext } from "../textfield/textfield.context.js";
|
|
6
6
|
import { useTextareaAutosize } from "../../composables/use-textarea-autosize.js";
|
|
7
|
-
import { computed, createTemplateRefSetter, defineVaporComponent,
|
|
7
|
+
import { computed, createTemplateRefSetter, defineVaporComponent, renderEffect, setDynamicProps, shallowRef, template, unref, watch } from "vue";
|
|
8
8
|
import { textAreaVariants } from "@ropav/styles";
|
|
9
9
|
//#region src/components/textarea/textarea-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
10
10
|
var t0 = template("<textarea>", 1);
|
|
11
|
+
var k0 = [
|
|
12
|
+
"data-disabled",
|
|
13
|
+
"data-focus-visible",
|
|
14
|
+
"data-focused",
|
|
15
|
+
"data-hovered",
|
|
16
|
+
"data-invalid"
|
|
17
|
+
];
|
|
11
18
|
var textarea_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
|
|
12
19
|
__name: "textarea-root",
|
|
13
20
|
props: {
|
|
@@ -101,27 +108,32 @@ var textarea_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__
|
|
|
101
108
|
};
|
|
102
109
|
const _setTemplateRef = createTemplateRefSetter();
|
|
103
110
|
const n0 = t0();
|
|
104
|
-
on(n0, "blur", onBlur);
|
|
105
|
-
on(n0, "focus", onFocus);
|
|
106
|
-
on(n0, "input", onInput);
|
|
107
|
-
on(n0, "keydown", (e) => unref(control)?.handlers.onKeydown(e));
|
|
108
|
-
on(n0, "keyup", (e) => unref(control)?.handlers.onKeyup(e));
|
|
109
|
-
on(n0, "pointerdown", (e) => unref(interaction).onPointerdown(e));
|
|
110
|
-
on(n0, "pointerenter", (e) => unref(interaction).onPointerenter(e));
|
|
111
|
-
on(n0, "pointerleave", (e) => unref(interaction).onPointerleave(e));
|
|
112
111
|
renderEffect(() => {
|
|
113
112
|
const _dataAttr = unref(dataAttr);
|
|
114
113
|
const _control = unref(control);
|
|
115
114
|
const _interaction = unref(interaction);
|
|
116
|
-
setDynamicProps(n0, [
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
115
|
+
setDynamicProps(n0, [
|
|
116
|
+
{
|
|
117
|
+
class: styles.value,
|
|
118
|
+
"data-disabled": _dataAttr(_control?.isDisabled.value),
|
|
119
|
+
"data-focus-visible": _dataAttr(_interaction.isFocusVisible.value),
|
|
120
|
+
"data-focused": _dataAttr(_interaction.isFocused.value),
|
|
121
|
+
"data-hovered": _dataAttr(_interaction.isHovered.value),
|
|
122
|
+
"data-invalid": _dataAttr(_control?.isInvalid.value),
|
|
123
|
+
"data-slot": "textarea"
|
|
124
|
+
},
|
|
125
|
+
attrs.value,
|
|
126
|
+
{
|
|
127
|
+
onBlur,
|
|
128
|
+
onFocus,
|
|
129
|
+
onInput,
|
|
130
|
+
onKeydown: (e) => _control?.handlers.onKeydown(e),
|
|
131
|
+
onKeyup: (e) => _control?.handlers.onKeyup(e),
|
|
132
|
+
onPointerdown: (e) => _interaction.onPointerdown(e),
|
|
133
|
+
onPointerenter: (e) => _interaction.onPointerenter(e),
|
|
134
|
+
onPointerleave: (e) => _interaction.onPointerleave(e)
|
|
135
|
+
}
|
|
136
|
+
], k0);
|
|
125
137
|
_setTemplateRef(n0, setElement);
|
|
126
138
|
});
|
|
127
139
|
return n0;
|
|
@@ -73,7 +73,7 @@ var toast_default_content_vue_vue_type_script_setup_true_vapor_true_lang_default
|
|
|
73
73
|
variant: () => content.value.variant
|
|
74
74
|
});
|
|
75
75
|
}, 517), 261);
|
|
76
|
-
}),
|
|
76
|
+
}, null, 2),
|
|
77
77
|
createComponent(toast_content_default, null, extend(() => {
|
|
78
78
|
return [
|
|
79
79
|
createIf(() => Boolean(content.value.title), () => {
|
|
@@ -6,11 +6,12 @@ import { DEFAULT_SCALE_FACTOR, EXIT_FALLBACK } from "./toast.constants.js";
|
|
|
6
6
|
import { useToastRegion } from "../../composables/use-toast-region.js";
|
|
7
7
|
import toast_default_content_default from "./toast-default-content.js";
|
|
8
8
|
import { toastQueue, useToastQueue } from "./toast-queue.js";
|
|
9
|
-
import { VaporTeleport, child, computed, createComponent, createFor, createIf, createSlot, defineVaporComponent,
|
|
9
|
+
import { VaporTeleport, child, computed, createComponent, createFor, createIf, createSlot, defineVaporComponent, onScopeDispose, renderEffect, setDynamicProps, setInsertionState, setStyle, setTemplateRefBinding, shallowRef, template, unref, watch } from "vue";
|
|
10
10
|
import { toastVariants } from "@ropav/styles";
|
|
11
11
|
//#region src/components/toast/toast-provider.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
12
12
|
var t0 = template("<li>");
|
|
13
13
|
var t1 = template("<div><ol>");
|
|
14
|
+
var k0 = ["data-expanded", "dir"];
|
|
14
15
|
var toast_provider_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
|
|
15
16
|
__name: "toast-provider",
|
|
16
17
|
props: {
|
|
@@ -133,13 +134,23 @@ var toast_provider_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@_
|
|
|
133
134
|
const n8 = child(n9);
|
|
134
135
|
renderEffect(() => {
|
|
135
136
|
const _region = unref(region);
|
|
136
|
-
setDynamicProps(n9, [
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
setDynamicProps(n9, [
|
|
138
|
+
{
|
|
139
|
+
class: styles.value,
|
|
140
|
+
"data-expanded": unref(dataAttr)(_region.isExpanded.value),
|
|
141
|
+
"data-slot": "toast-region",
|
|
142
|
+
dir: unref(locale).direction,
|
|
143
|
+
style: regionStyle.value
|
|
144
|
+
},
|
|
145
|
+
_region.regionAttrs.value,
|
|
146
|
+
{
|
|
147
|
+
onFocusin: (e) => _region.onFocusin(e),
|
|
148
|
+
onFocusout: (e) => _region.onFocusout(e),
|
|
149
|
+
onPointerenter: (e) => _region.onPointerenter(e),
|
|
150
|
+
onPointerleave: (e) => _region.onPointerleave(e),
|
|
151
|
+
onPointermove: (e) => _region.onPointermove(e)
|
|
152
|
+
}
|
|
153
|
+
], k0);
|
|
143
154
|
setStyle(n8, CONTENTS_STYLE);
|
|
144
155
|
});
|
|
145
156
|
setInsertionState(n8);
|
|
@@ -155,11 +166,6 @@ var toast_provider_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@_
|
|
|
155
166
|
});
|
|
156
167
|
return n7;
|
|
157
168
|
}, (entry) => entry.key, 9);
|
|
158
|
-
on(n9, "focusin", (e) => unref(region).onFocusin(e));
|
|
159
|
-
on(n9, "focusout", (e) => unref(region).onFocusout(e));
|
|
160
|
-
on(n9, "pointerenter", (e) => unref(region).onPointerenter(e));
|
|
161
|
-
on(n9, "pointerleave", (e) => unref(region).onPointerleave(e));
|
|
162
|
-
on(n9, "pointermove", (e) => unref(region).onPointermove(e));
|
|
163
169
|
setTemplateRefBinding(n9, () => setElement);
|
|
164
170
|
return n9;
|
|
165
171
|
}, true);
|
|
@@ -7,6 +7,15 @@ import { useToast } from "../../composables/use-toast.js";
|
|
|
7
7
|
import { computed, createSlot, defineVaporComponent, onMounted, onScopeDispose, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, shallowRef, template, unref, watch } from "vue";
|
|
8
8
|
//#region src/components/toast/toast-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
9
9
|
var t0 = template("<div>", 1);
|
|
10
|
+
var k0 = [
|
|
11
|
+
"data-entering",
|
|
12
|
+
"data-exiting",
|
|
13
|
+
"data-expanded",
|
|
14
|
+
"data-frontmost",
|
|
15
|
+
"data-hidden",
|
|
16
|
+
"data-index",
|
|
17
|
+
"tabindex"
|
|
18
|
+
];
|
|
10
19
|
var toast_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
|
|
11
20
|
__name: "toast-root",
|
|
12
21
|
props: {
|
|
@@ -143,7 +152,7 @@ var toast_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PUR
|
|
|
143
152
|
"data-slot": "toast",
|
|
144
153
|
style: style.value,
|
|
145
154
|
tabindex: _isFrontmost && !_isExiting ? 0 : -1
|
|
146
|
-
}, unref(api).toastAttrs.value]);
|
|
155
|
+
}, unref(api).toastAttrs.value], k0);
|
|
147
156
|
});
|
|
148
157
|
setInsertionState(n1);
|
|
149
158
|
createSlot();
|
|
@@ -2,9 +2,15 @@ import { dataAttr } from "../../utils/assertion.js";
|
|
|
2
2
|
import { useInteractionStates } from "../../composables/use-interaction-states.js";
|
|
3
3
|
import { composeFocusResponder, useFocusResponder } from "../../composables/focus-responder.js";
|
|
4
4
|
import { FOCUSABLE_SELECTOR } from "../../utils/focus.js";
|
|
5
|
-
import { computed, createSlot, defineVaporComponent,
|
|
5
|
+
import { computed, createSlot, defineVaporComponent, renderEffect, setDynamicProps, setInsertionState, setTemplateRefBinding, shallowRef, template, unref, watch } from "vue";
|
|
6
6
|
//#region src/components/tooltip/tooltip-trigger.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
7
7
|
var t0 = template("<div>", 1);
|
|
8
|
+
var k0 = [
|
|
9
|
+
"data-focus-visible",
|
|
10
|
+
"data-hovered",
|
|
11
|
+
"role",
|
|
12
|
+
"tabindex"
|
|
13
|
+
];
|
|
8
14
|
var tooltip_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
|
|
9
15
|
__name: "tooltip-trigger",
|
|
10
16
|
props: { class: {} },
|
|
@@ -32,23 +38,29 @@ var tooltip_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@
|
|
|
32
38
|
renderEffect(() => {
|
|
33
39
|
const _dataAttr = unref(dataAttr);
|
|
34
40
|
const _states = unref(states);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
const _focus = unref(focus);
|
|
42
|
+
setDynamicProps(n1, [
|
|
43
|
+
{
|
|
44
|
+
class: ["rp-tooltip__trigger", props.class],
|
|
45
|
+
"data-focus-visible": _dataAttr(_states.isFocusVisible.value),
|
|
46
|
+
"data-hovered": _dataAttr(_states.isHovered.value),
|
|
47
|
+
"data-slot": "tooltip-trigger",
|
|
48
|
+
role: hasFocusableContent.value ? void 0 : "button",
|
|
49
|
+
tabindex: hasFocusableContent.value ? void 0 : 0
|
|
50
|
+
},
|
|
51
|
+
wrapperAttrs.value,
|
|
52
|
+
{
|
|
53
|
+
onBlur: (e) => _focus.onBlur(e),
|
|
54
|
+
onFocus: (e) => _focus.onFocus(e),
|
|
55
|
+
onKeydown: (e) => _focus.onKeydown(e),
|
|
56
|
+
onPointerdown: (e) => _focus.onPointerdown(e),
|
|
57
|
+
onPointerenter: (e) => _focus.onPointerenter(e),
|
|
58
|
+
onPointerleave: (e) => _focus.onPointerleave(e)
|
|
59
|
+
}
|
|
60
|
+
], k0);
|
|
43
61
|
});
|
|
44
62
|
setInsertionState(n1);
|
|
45
63
|
createSlot();
|
|
46
|
-
on(n1, "blur", (e) => unref(focus).onBlur(e));
|
|
47
|
-
on(n1, "focus", (e) => unref(focus).onFocus(e));
|
|
48
|
-
on(n1, "keydown", (e) => unref(focus).onKeydown(e));
|
|
49
|
-
on(n1, "pointerdown", (e) => unref(focus).onPointerdown(e));
|
|
50
|
-
on(n1, "pointerenter", (e) => unref(focus).onPointerenter(e));
|
|
51
|
-
on(n1, "pointerleave", (e) => unref(focus).onPointerleave(e));
|
|
52
64
|
setTemplateRefBinding(n1, () => setElement);
|
|
53
65
|
return n1;
|
|
54
66
|
}
|
|
@@ -92,7 +92,8 @@ var useCalendarGrid = (options, state, shared) => {
|
|
|
92
92
|
const isDayView = Boolean(duration.days && duration.days < 7);
|
|
93
93
|
const firstDayOfWeek = toValue(options.firstDayOfWeek);
|
|
94
94
|
const weekStart = isDayView ? startDate.value : startOfWeek(today(state.timeZone.value), locale.value.locale, firstDayOfWeek);
|
|
95
|
-
|
|
95
|
+
const days = isDayView ? duration.days : 7;
|
|
96
|
+
return Array.from({ length: days }, (_, index) => dayFormatter.value.format(weekStart.add({ days: index }).toDate(state.timeZone.value)));
|
|
96
97
|
});
|
|
97
98
|
return {
|
|
98
99
|
attrs: computed(() => ({
|
|
@@ -123,13 +123,24 @@ var useCollection = (options = {}) => {
|
|
|
123
123
|
if (index === -1) return null;
|
|
124
124
|
return keys[index + step] ?? null;
|
|
125
125
|
};
|
|
126
|
+
/**
|
|
127
|
+
* Read the registration counter, so a lookup made inside a `computed` re-runs once the item
|
|
128
|
+
* it asked about registers. `getItem` and `getElement` are read during render — an item's
|
|
129
|
+
* own disabled state and tabindex come from them — unlike `orderedKeys()`, which is only ever
|
|
130
|
+
* read on an interaction and so deliberately stays outside reactivity.
|
|
131
|
+
*/
|
|
132
|
+
const track = () => {
|
|
133
|
+
version.value;
|
|
134
|
+
};
|
|
126
135
|
return {
|
|
127
136
|
getElement: (key) => {
|
|
137
|
+
track();
|
|
128
138
|
return items.get(key)?.element() ?? null;
|
|
129
139
|
},
|
|
130
140
|
getFirstKey: () => keyAt(0),
|
|
131
141
|
getIndex: (key) => order().indexOf(key),
|
|
132
142
|
getItem: (key) => {
|
|
143
|
+
track();
|
|
133
144
|
return items.get(key) ?? metaFromSource(key);
|
|
134
145
|
},
|
|
135
146
|
getKeyAfter: (key) => neighbour(key, 1),
|
|
@@ -138,6 +149,7 @@ var useCollection = (options = {}) => {
|
|
|
138
149
|
orderedKeys,
|
|
139
150
|
register,
|
|
140
151
|
size: computed(() => {
|
|
152
|
+
track();
|
|
141
153
|
return source()?.itemCount ?? items.size;
|
|
142
154
|
}),
|
|
143
155
|
withOrder
|
|
@@ -108,38 +108,40 @@ var useColorField = (options = {}) => {
|
|
|
108
108
|
else if (deltaY < 0) state.decrement();
|
|
109
109
|
}
|
|
110
110
|
});
|
|
111
|
+
const attrs = computed(() => {
|
|
112
|
+
const all = {
|
|
113
|
+
...field.attrs.value,
|
|
114
|
+
"aria-disabled": isDisabled.value || void 0,
|
|
115
|
+
"aria-readonly": isReadOnly.value || void 0
|
|
116
|
+
};
|
|
117
|
+
for (const key of Object.keys(all)) if (all[key] === void 0) delete all[key];
|
|
118
|
+
return all;
|
|
119
|
+
});
|
|
120
|
+
const handlers = {
|
|
121
|
+
onBlur: (event) => {
|
|
122
|
+
isFocused.value = false;
|
|
123
|
+
spin.onBlur();
|
|
124
|
+
state.commit();
|
|
125
|
+
reassert();
|
|
126
|
+
field.handlers.onBlur(event);
|
|
127
|
+
},
|
|
128
|
+
onFocus: (event) => {
|
|
129
|
+
isFocused.value = true;
|
|
130
|
+
spin.onFocus();
|
|
131
|
+
field.handlers.onFocus(event);
|
|
132
|
+
},
|
|
133
|
+
onInput: field.handlers.onInput,
|
|
134
|
+
onKeydown: (event) => {
|
|
135
|
+
spin.onKeydown(event);
|
|
136
|
+
field.handlers.onKeydown(event);
|
|
137
|
+
},
|
|
138
|
+
onKeyup: field.handlers.onKeyup
|
|
139
|
+
};
|
|
111
140
|
return {
|
|
112
|
-
attrs
|
|
113
|
-
const all = {
|
|
114
|
-
...field.attrs.value,
|
|
115
|
-
"aria-disabled": isDisabled.value || void 0,
|
|
116
|
-
"aria-readonly": isReadOnly.value || void 0
|
|
117
|
-
};
|
|
118
|
-
for (const key of Object.keys(all)) if (all[key] === void 0) delete all[key];
|
|
119
|
-
return all;
|
|
120
|
-
}),
|
|
141
|
+
attrs,
|
|
121
142
|
element,
|
|
122
143
|
fieldIds: field.fieldIds,
|
|
123
|
-
handlers
|
|
124
|
-
onBlur: (event) => {
|
|
125
|
-
isFocused.value = false;
|
|
126
|
-
spin.onBlur();
|
|
127
|
-
state.commit();
|
|
128
|
-
reassert();
|
|
129
|
-
field.handlers.onBlur(event);
|
|
130
|
-
},
|
|
131
|
-
onFocus: (event) => {
|
|
132
|
-
isFocused.value = true;
|
|
133
|
-
spin.onFocus();
|
|
134
|
-
field.handlers.onFocus(event);
|
|
135
|
-
},
|
|
136
|
-
onInput: field.handlers.onInput,
|
|
137
|
-
onKeydown: (event) => {
|
|
138
|
-
spin.onKeydown(event);
|
|
139
|
-
field.handlers.onKeydown(event);
|
|
140
|
-
},
|
|
141
|
-
onKeyup: field.handlers.onKeyup
|
|
142
|
-
},
|
|
144
|
+
handlers,
|
|
143
145
|
isDisabled,
|
|
144
146
|
isInvalid: field.isInvalid,
|
|
145
147
|
isReadOnly,
|
|
@@ -128,7 +128,8 @@ var useComboBoxState = (options) => {
|
|
|
128
128
|
const given = toValue(options.defaultInputValue);
|
|
129
129
|
if (given != null) return given;
|
|
130
130
|
const value = defaultValue.value;
|
|
131
|
-
|
|
131
|
+
const key = Array.isArray(value) ? value[0] ?? null : value;
|
|
132
|
+
return selectionMode.value === "single" ? textOf(key) : "";
|
|
132
133
|
});
|
|
133
134
|
const input = useControllableState({
|
|
134
135
|
defaultValue: defaultInputValue.value,
|
|
@@ -176,7 +176,8 @@ var useComboBox = (options, state) => {
|
|
|
176
176
|
},
|
|
177
177
|
onPressStart: (event) => {
|
|
178
178
|
if (event.pointerType === "touch") return;
|
|
179
|
-
|
|
179
|
+
const strategy = event.pointerType === "keyboard" || event.pointerType === "virtual" ? "first" : null;
|
|
180
|
+
state.toggle(strategy, "manual");
|
|
180
181
|
focusInput();
|
|
181
182
|
},
|
|
182
183
|
preventFocusOnPress: true
|
|
@@ -34,7 +34,8 @@ var useDisclosurePanel = (options) => {
|
|
|
34
34
|
panel.style.setProperty("--disclosure-panel-height", height);
|
|
35
35
|
};
|
|
36
36
|
const applyPanelState = (panel, expanded) => {
|
|
37
|
-
|
|
37
|
+
const canAnimate = typeof panel.getAnimations === "function";
|
|
38
|
+
if (wasExpanded === null || !canAnimate) {
|
|
38
39
|
if (expanded) {
|
|
39
40
|
panel.removeAttribute("hidden");
|
|
40
41
|
setSize(panel, "auto", "auto");
|
|
@@ -160,12 +160,15 @@ var useDrag = (options) => {
|
|
|
160
160
|
};
|
|
161
161
|
const onDragend = (event) => {
|
|
162
162
|
event.stopPropagation();
|
|
163
|
-
if (options.onDragEnd)
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
163
|
+
if (options.onDragEnd) {
|
|
164
|
+
const dropEffect = event.dataTransfer?.dropEffect ?? "none";
|
|
165
|
+
options.onDragEnd({
|
|
166
|
+
dropOperation: DROP_EFFECT_TO_DROP_OPERATION[globalDropEffect ?? dropEffect] ?? "cancel",
|
|
167
|
+
type: "dragend",
|
|
168
|
+
x: event.clientX,
|
|
169
|
+
y: event.clientY
|
|
170
|
+
});
|
|
171
|
+
}
|
|
169
172
|
draggingElement.value = null;
|
|
170
173
|
releaseDropGuard?.();
|
|
171
174
|
releaseDropGuard = null;
|
|
@@ -14,7 +14,8 @@ var DROP_ACTIVATE_TIMEOUT = 800;
|
|
|
14
14
|
* Ported from React Aria's `getAllowedOperations`.
|
|
15
15
|
*/
|
|
16
16
|
var getAllowedOperations = (event) => {
|
|
17
|
-
|
|
17
|
+
const effectAllowed = event.dataTransfer?.effectAllowed ?? "uninitialized";
|
|
18
|
+
let allowed = DROP_OPERATION_ALLOWED[effectAllowed] ?? DROP_OPERATION.all;
|
|
18
19
|
if (globalAllowedDropOperations) allowed &= globalAllowedDropOperations;
|
|
19
20
|
let allowedModifiers = DROP_OPERATION.none;
|
|
20
21
|
if (isMac()) {
|
|
@@ -100,7 +100,8 @@ var useDroppableCollection = (options, state, element) => {
|
|
|
100
100
|
if (inserted.length > 0) {
|
|
101
101
|
selectionManager.setSelectedKeys(inserted);
|
|
102
102
|
if (selectionManager.focusedKey.value === focusedKey) {
|
|
103
|
-
|
|
103
|
+
const first = inserted[0];
|
|
104
|
+
selectionManager.setFocusedKey(first);
|
|
104
105
|
if (selectionManager.selectionMode.value === "none") setInteractionModality("keyboard");
|
|
105
106
|
}
|
|
106
107
|
}
|