ropav 0.0.7 → 0.0.8
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/accordion.js +0 -2
- package/dist/badge.js +0 -2
- package/dist/bem.js +0 -2
- package/dist/button-group.js +0 -2
- package/dist/button.js +0 -2
- package/dist/card.css +40 -20
- package/dist/card.js +69 -38
- package/dist/checkbox.js +0 -2
- package/dist/collapse.css +6 -6
- package/dist/collapse.js +3 -9
- package/dist/componentColors.js +0 -2
- package/dist/components/card/card.d.ts +4 -0
- package/dist/components/card/types.d.ts +4 -0
- package/dist/components/collapse/types.d.ts +0 -2
- package/dist/components/field/useField.d.ts +1 -0
- package/dist/components/modal/types.d.ts +0 -1
- package/dist/components/popover/types.d.ts +4 -1
- package/dist/components/popover/usePopover.d.ts +5 -2
- package/dist/dropdown-menu.js +0 -2
- package/dist/field.css +11 -8
- package/dist/field.js +46 -23
- package/dist/icon-button.js +0 -2
- package/dist/input.js +0 -2
- package/dist/modal.css +28 -28
- package/dist/modal.js +9 -15
- package/dist/overlay.js +0 -2
- package/dist/popover.css +16 -16
- package/dist/popover.js +17 -7
- package/dist/progress.js +0 -2
- package/dist/radio.js +0 -2
- package/dist/select.js +0 -2
- package/dist/slider.js +0 -2
- package/dist/switch.js +0 -2
- package/dist/tabs.js +0 -2
- package/dist/textarea.js +0 -2
- package/dist/tooltip.js +0 -2
- package/dist/useButtonColor.js +0 -2
- package/dist/useClickOutside.js +0 -2
- package/dist/useCollapse.js +1 -3
- package/dist/useControlState.js +0 -2
- package/dist/useRequiredInject.js +0 -2
- package/dist/x.js +0 -2
- package/package.json +6 -2
- package/dist/accordion.js.map +0 -1
- package/dist/badge.js.map +0 -1
- package/dist/bem.js.map +0 -1
- package/dist/button-group.js.map +0 -1
- package/dist/button.js.map +0 -1
- package/dist/card.js.map +0 -1
- package/dist/checkbox.js.map +0 -1
- package/dist/collapse.js.map +0 -1
- package/dist/componentColors.js.map +0 -1
- package/dist/dropdown-menu.js.map +0 -1
- package/dist/field.js.map +0 -1
- package/dist/icon-button.js.map +0 -1
- package/dist/input.js.map +0 -1
- package/dist/modal.js.map +0 -1
- package/dist/overlay.js.map +0 -1
- package/dist/popover.js.map +0 -1
- package/dist/progress.js.map +0 -1
- package/dist/radio.js.map +0 -1
- package/dist/select.js.map +0 -1
- package/dist/slider.js.map +0 -1
- package/dist/switch.js.map +0 -1
- package/dist/tabs.js.map +0 -1
- package/dist/textarea.js.map +0 -1
- package/dist/tooltip.js.map +0 -1
- package/dist/useButtonColor.js.map +0 -1
- package/dist/useClickOutside.js.map +0 -1
- package/dist/useCollapse.js.map +0 -1
- package/dist/useControlState.js.map +0 -1
- package/dist/useRequiredInject.js.map +0 -1
- package/dist/x.js.map +0 -1
package/dist/accordion.js
CHANGED
|
@@ -356,5 +356,3 @@ var accordion_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
356
356
|
}), [["__scopeId", "data-v-8528e537"]]);
|
|
357
357
|
//#endregion
|
|
358
358
|
export { useAccordionItem as i, accordion_default as n, useAccordion as r, accordion_item_default as t };
|
|
359
|
-
|
|
360
|
-
//# sourceMappingURL=accordion.js.map
|
package/dist/badge.js
CHANGED
package/dist/bem.js
CHANGED
package/dist/button-group.js
CHANGED
package/dist/button.js
CHANGED
package/dist/card.css
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
.rp-card[data-v-
|
|
1
|
+
.rp-card[data-v-269e2bc4] {
|
|
2
2
|
--_rp-card-bg: var(--rp-color-surface-raised);
|
|
3
3
|
--_rp-card-border: var(--rp-color-border);
|
|
4
4
|
--_rp-card-fg: var(--rp-color-text);
|
|
5
|
+
--_rp-card-header-border: var(--rp-color-border);
|
|
6
|
+
--_rp-card-footer-border: var(--rp-color-border);
|
|
5
7
|
--_rp-card-padding: var(--rp-spacing-5);
|
|
6
8
|
--_rp-card-radius: var(--rp-radius-sm);
|
|
7
9
|
box-sizing: border-box;
|
|
@@ -16,71 +18,89 @@
|
|
|
16
18
|
border-radius: var(--_rp-card-radius);
|
|
17
19
|
transition: background-color var(--rp-transition-fast), border-color var(--rp-transition-fast);
|
|
18
20
|
}
|
|
19
|
-
.rp-card--layer-base[data-v-
|
|
21
|
+
.rp-card--layer-base[data-v-269e2bc4] {
|
|
20
22
|
--_rp-card-bg: var(--rp-color-background);
|
|
21
23
|
}
|
|
22
|
-
.rp-card--layer-surface[data-v-
|
|
24
|
+
.rp-card--layer-surface[data-v-269e2bc4] {
|
|
23
25
|
--_rp-card-bg: var(--rp-color-surface);
|
|
24
26
|
}
|
|
25
|
-
.rp-card--layer-raised[data-v-
|
|
27
|
+
.rp-card--layer-raised[data-v-269e2bc4] {
|
|
26
28
|
--_rp-card-bg: var(--rp-color-surface-raised);
|
|
27
29
|
}
|
|
28
|
-
.rp-card--borderless[data-v-
|
|
30
|
+
.rp-card--borderless[data-v-269e2bc4] {
|
|
29
31
|
--_rp-card-border: transparent;
|
|
30
32
|
}
|
|
31
|
-
.rp-card--
|
|
33
|
+
.rp-card--header-bordered .rp-card__header[data-v-269e2bc4] {
|
|
34
|
+
border-bottom: var(--rp-border-width-thin) solid var(--_rp-card-header-border);
|
|
35
|
+
}
|
|
36
|
+
.rp-card--footer-bordered .rp-card__footer[data-v-269e2bc4] {
|
|
37
|
+
border-top: var(--rp-border-width-thin) solid var(--_rp-card-footer-border);
|
|
38
|
+
}
|
|
39
|
+
.rp-card--header-compact .rp-card__header[data-v-269e2bc4] {
|
|
40
|
+
padding-block-end: calc(var(--_rp-card-padding) / 2);
|
|
41
|
+
}
|
|
42
|
+
.rp-card--header-compact .rp-card__body[data-v-269e2bc4] {
|
|
43
|
+
padding-block-start: calc(var(--_rp-card-padding) / 2);
|
|
44
|
+
}
|
|
45
|
+
.rp-card--footer-compact .rp-card__body[data-v-269e2bc4] {
|
|
46
|
+
padding-block-end: calc(var(--_rp-card-padding) / 2);
|
|
47
|
+
}
|
|
48
|
+
.rp-card--footer-compact .rp-card__footer[data-v-269e2bc4] {
|
|
49
|
+
padding-block-start: calc(var(--_rp-card-padding) / 2);
|
|
50
|
+
}
|
|
51
|
+
.rp-card--padding-none[data-v-269e2bc4] {
|
|
32
52
|
--_rp-card-padding: var(--rp-spacing-0);
|
|
33
53
|
}
|
|
34
|
-
.rp-card--padding-sm[data-v-
|
|
54
|
+
.rp-card--padding-sm[data-v-269e2bc4] {
|
|
35
55
|
--_rp-card-padding: var(--rp-spacing-3);
|
|
36
56
|
}
|
|
37
|
-
.rp-card--padding-md[data-v-
|
|
57
|
+
.rp-card--padding-md[data-v-269e2bc4] {
|
|
38
58
|
--_rp-card-padding: var(--rp-spacing-5);
|
|
39
59
|
}
|
|
40
|
-
.rp-card--padding-lg[data-v-
|
|
60
|
+
.rp-card--padding-lg[data-v-269e2bc4] {
|
|
41
61
|
--_rp-card-padding: var(--rp-spacing-6);
|
|
42
62
|
}
|
|
43
|
-
.rp-card--radius-none[data-v-
|
|
63
|
+
.rp-card--radius-none[data-v-269e2bc4] {
|
|
44
64
|
--_rp-card-radius: var(--rp-radius-none);
|
|
45
65
|
}
|
|
46
|
-
.rp-card--radius-xs[data-v-
|
|
66
|
+
.rp-card--radius-xs[data-v-269e2bc4] {
|
|
47
67
|
--_rp-card-radius: var(--rp-radius-xs);
|
|
48
68
|
}
|
|
49
|
-
.rp-card--radius-sm[data-v-
|
|
69
|
+
.rp-card--radius-sm[data-v-269e2bc4] {
|
|
50
70
|
--_rp-card-radius: var(--rp-radius-sm);
|
|
51
71
|
}
|
|
52
|
-
.rp-card--radius-md[data-v-
|
|
72
|
+
.rp-card--radius-md[data-v-269e2bc4] {
|
|
53
73
|
--_rp-card-radius: var(--rp-radius-md);
|
|
54
74
|
}
|
|
55
|
-
.rp-card--radius-lg[data-v-
|
|
75
|
+
.rp-card--radius-lg[data-v-269e2bc4] {
|
|
56
76
|
--_rp-card-radius: var(--rp-radius-lg);
|
|
57
77
|
}
|
|
58
|
-
.rp-card--radius-xl[data-v-
|
|
78
|
+
.rp-card--radius-xl[data-v-269e2bc4] {
|
|
59
79
|
--_rp-card-radius: var(--rp-radius-xl);
|
|
60
80
|
}
|
|
61
|
-
.rp-card__header[data-v-
|
|
81
|
+
.rp-card__header[data-v-269e2bc4], .rp-card__body[data-v-269e2bc4], .rp-card__footer[data-v-269e2bc4] {
|
|
62
82
|
box-sizing: border-box;
|
|
63
83
|
padding: var(--_rp-card-padding);
|
|
64
84
|
}
|
|
65
|
-
.rp-card__header[data-v-
|
|
85
|
+
.rp-card__header[data-v-269e2bc4], .rp-card__footer[data-v-269e2bc4] {
|
|
66
86
|
display: grid;
|
|
67
87
|
gap: var(--rp-spacing-1);
|
|
68
88
|
}
|
|
69
|
-
.rp-card__body[data-v-
|
|
89
|
+
.rp-card__body[data-v-269e2bc4] {
|
|
70
90
|
flex: 1 1 auto;
|
|
71
91
|
min-width: 0;
|
|
72
92
|
color: var(--rp-color-text);
|
|
73
93
|
font-size: var(--rp-font-size-base);
|
|
74
94
|
line-height: var(--rp-line-height-normal);
|
|
75
95
|
}
|
|
76
|
-
.rp-card__title[data-v-
|
|
96
|
+
.rp-card__title[data-v-269e2bc4] {
|
|
77
97
|
margin: 0;
|
|
78
98
|
color: var(--rp-color-text);
|
|
79
99
|
font-size: var(--rp-font-size-lg);
|
|
80
100
|
font-weight: var(--rp-font-weight-semibold);
|
|
81
101
|
line-height: var(--rp-line-height-tight);
|
|
82
102
|
}
|
|
83
|
-
.rp-card__description[data-v-
|
|
103
|
+
.rp-card__description[data-v-269e2bc4] {
|
|
84
104
|
margin: 0;
|
|
85
105
|
color: var(--rp-color-text-secondary);
|
|
86
106
|
font-size: var(--rp-font-size-sm);
|
package/dist/card.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import './card.css';
|
|
2
2
|
import { t as bem } from "./bem.js";
|
|
3
3
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
4
|
-
import { computed, createIf, createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, setText, template, toDisplayString, txt } from "vue";
|
|
4
|
+
import { computed, createIf, createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, setText, template, toDisplayString, txt, useSlots } from "vue";
|
|
5
5
|
//#region src/components/card/card.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
6
|
-
var t0 = template("<div data-v-
|
|
7
|
-
var t1 = template("<p data-v-
|
|
8
|
-
var t2 = template("<div data-v-
|
|
9
|
-
var t3 = template("<div data-v-
|
|
10
|
-
var t4 = template("<div data-v-
|
|
6
|
+
var t0 = template("<div data-v-269e2bc4 class=rp-card__title> ");
|
|
7
|
+
var t1 = template("<p data-v-269e2bc4 class=rp-card__description> ");
|
|
8
|
+
var t2 = template("<div data-v-269e2bc4 class=rp-card__header>");
|
|
9
|
+
var t3 = template("<div data-v-269e2bc4>");
|
|
10
|
+
var t4 = template("<div data-v-269e2bc4 class=rp-card__footer>");
|
|
11
|
+
var t5 = template("<div data-v-269e2bc4>", 1);
|
|
11
12
|
//#endregion
|
|
12
13
|
//#region src/components/card/card.vue
|
|
13
14
|
var card_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -21,52 +22,82 @@ var card_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
21
22
|
type: Boolean,
|
|
22
23
|
default: true
|
|
23
24
|
},
|
|
25
|
+
headerBorder: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
default: false
|
|
28
|
+
},
|
|
29
|
+
footerBorder: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: false
|
|
32
|
+
},
|
|
24
33
|
title: { default: "" },
|
|
25
|
-
description: { default: "" }
|
|
34
|
+
description: { default: "" },
|
|
35
|
+
bodyClass: { type: [
|
|
36
|
+
Boolean,
|
|
37
|
+
null,
|
|
38
|
+
String,
|
|
39
|
+
Object,
|
|
40
|
+
Array
|
|
41
|
+
] }
|
|
26
42
|
},
|
|
27
|
-
setup(__props
|
|
43
|
+
setup(__props) {
|
|
28
44
|
const props = __props;
|
|
45
|
+
const slots = useSlots();
|
|
29
46
|
const hasTitle = computed(() => Boolean(props.title));
|
|
30
47
|
const hasDescription = computed(() => Boolean(props.description));
|
|
31
|
-
const hasHeader = computed(() => Boolean(hasTitle.value || hasDescription.value));
|
|
48
|
+
const hasHeader = computed(() => Boolean(slots.header || hasTitle.value || hasDescription.value));
|
|
49
|
+
const hasBody = computed(() => Boolean(slots.default));
|
|
50
|
+
const hasFooter = computed(() => Boolean(slots.footer));
|
|
51
|
+
const hasCompactHeaderSpacing = computed(() => Boolean(hasHeader.value && hasBody.value && !props.headerBorder));
|
|
52
|
+
const hasCompactFooterSpacing = computed(() => Boolean(hasFooter.value && hasBody.value && !props.footerBorder));
|
|
32
53
|
const rootClass = computed(() => bem("rp-card", {
|
|
33
54
|
[`layer-${props.layer}`]: Boolean(props.layer),
|
|
34
55
|
[`padding-${props.padding}`]: Boolean(props.padding),
|
|
35
56
|
[`radius-${props.radius}`]: Boolean(props.radius),
|
|
36
|
-
borderless: !props.border
|
|
57
|
+
borderless: !props.border,
|
|
58
|
+
"header-bordered": props.headerBorder,
|
|
59
|
+
"header-compact": hasCompactHeaderSpacing.value,
|
|
60
|
+
"footer-bordered": props.footerBorder,
|
|
61
|
+
"footer-compact": hasCompactFooterSpacing.value
|
|
37
62
|
}));
|
|
38
|
-
const
|
|
39
|
-
renderEffect(() => setClass(
|
|
40
|
-
setInsertionState(
|
|
63
|
+
const n19 = t5();
|
|
64
|
+
renderEffect(() => setClass(n19, rootClass.value));
|
|
65
|
+
setInsertionState(n19, null, 0);
|
|
41
66
|
createIf(() => hasHeader.value, () => {
|
|
42
|
-
const
|
|
43
|
-
setInsertionState(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
});
|
|
57
|
-
return
|
|
67
|
+
const n10 = t2();
|
|
68
|
+
setInsertionState(n10, null, 0);
|
|
69
|
+
createSlot("header", null, () => {
|
|
70
|
+
return [createIf(() => hasTitle.value, () => {
|
|
71
|
+
const n6 = t0();
|
|
72
|
+
const x6 = txt(n6);
|
|
73
|
+
renderEffect(() => setText(x6, toDisplayString(__props.title)));
|
|
74
|
+
return n6;
|
|
75
|
+
}), createIf(() => hasDescription.value, () => {
|
|
76
|
+
const n9 = t1();
|
|
77
|
+
const x9 = txt(n9);
|
|
78
|
+
renderEffect(() => setText(x9, toDisplayString(__props.description)));
|
|
79
|
+
return n9;
|
|
80
|
+
})];
|
|
81
|
+
}, 1);
|
|
82
|
+
return n10;
|
|
58
83
|
});
|
|
59
|
-
setInsertionState(
|
|
60
|
-
createIf(() =>
|
|
61
|
-
const
|
|
62
|
-
|
|
84
|
+
setInsertionState(n19, null, 1);
|
|
85
|
+
createIf(() => hasBody.value, () => {
|
|
86
|
+
const n14 = t3();
|
|
87
|
+
renderEffect(() => setClass(n14, ["rp-card__body", __props.bodyClass]));
|
|
88
|
+
setInsertionState(n14, null, 0);
|
|
63
89
|
createSlot("default", null, null, 1);
|
|
64
|
-
return
|
|
90
|
+
return n14;
|
|
91
|
+
});
|
|
92
|
+
setInsertionState(n19, null, 2);
|
|
93
|
+
createIf(() => hasFooter.value, () => {
|
|
94
|
+
const n18 = t4();
|
|
95
|
+
setInsertionState(n18, null, 0);
|
|
96
|
+
createSlot("footer", null, null, 1);
|
|
97
|
+
return n18;
|
|
65
98
|
});
|
|
66
|
-
return
|
|
99
|
+
return n19;
|
|
67
100
|
}
|
|
68
|
-
}), [["__scopeId", "data-v-
|
|
101
|
+
}), [["__scopeId", "data-v-269e2bc4"]]);
|
|
69
102
|
//#endregion
|
|
70
103
|
export { card_default as t };
|
|
71
|
-
|
|
72
|
-
//# sourceMappingURL=card.js.map
|
package/dist/checkbox.js
CHANGED
package/dist/collapse.css
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
.rp-collapse[data-v-
|
|
1
|
+
.rp-collapse[data-v-a78ac964] {
|
|
2
2
|
--_rp-collapse-duration: var(--rp-transition-fast);
|
|
3
3
|
display: block;
|
|
4
4
|
min-width: 0;
|
|
5
5
|
font-family: var(--rp-font-family);
|
|
6
6
|
color: var(--rp-color-text);
|
|
7
7
|
}
|
|
8
|
-
.rp-collapse--disabled[data-v-
|
|
8
|
+
.rp-collapse--disabled[data-v-a78ac964] {
|
|
9
9
|
opacity: var(--rp-opacity-disabled);
|
|
10
10
|
cursor: not-allowed;
|
|
11
11
|
}
|
|
12
|
-
.rp-collapse__content[data-v-
|
|
12
|
+
.rp-collapse__content[data-v-a78ac964] {
|
|
13
13
|
box-sizing: border-box;
|
|
14
14
|
display: grid;
|
|
15
15
|
min-width: 0;
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
grid-template-rows: 1fr;
|
|
21
21
|
transition: grid-template-rows var(--_rp-collapse-duration), opacity var(--_rp-collapse-duration);
|
|
22
22
|
}
|
|
23
|
-
.rp-collapse__inner[data-v-
|
|
23
|
+
.rp-collapse__inner[data-v-a78ac964] {
|
|
24
24
|
min-height: 0;
|
|
25
25
|
min-width: 0;
|
|
26
26
|
overflow: hidden;
|
|
27
27
|
}
|
|
28
|
-
.rp-collapse-content-enter-from[data-v-
|
|
29
|
-
.rp-collapse-content-leave-to[data-v-
|
|
28
|
+
.rp-collapse-content-enter-from[data-v-a78ac964],
|
|
29
|
+
.rp-collapse-content-leave-to[data-v-a78ac964] {
|
|
30
30
|
opacity: 0;
|
|
31
31
|
grid-template-rows: 0fr;
|
|
32
32
|
}
|
package/dist/collapse.js
CHANGED
|
@@ -3,8 +3,8 @@ import { t as useCollapse } from "./useCollapse.js";
|
|
|
3
3
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
4
4
|
import { VaporTransition, applyVShow, child, createComponent, createIf, createSlot, defineVaporComponent, extend, renderEffect, setDynamicProps, setInsertionState, template, unref } from "vue";
|
|
5
5
|
//#region src/components/collapse/collapse.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
6
|
-
var t0 = template("<section data-v-
|
|
7
|
-
var t1 = template("<div data-v-
|
|
6
|
+
var t0 = template("<section data-v-a78ac964><div data-v-a78ac964 class=rp-collapse__inner>");
|
|
7
|
+
var t1 = template("<div data-v-a78ac964>", 1);
|
|
8
8
|
//#endregion
|
|
9
9
|
//#region src/components/collapse/collapse.vue
|
|
10
10
|
var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -16,10 +16,6 @@ var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
16
16
|
type: Boolean,
|
|
17
17
|
default: void 0
|
|
18
18
|
},
|
|
19
|
-
defaultOpen: {
|
|
20
|
-
type: Boolean,
|
|
21
|
-
default: false
|
|
22
|
-
},
|
|
23
19
|
disabled: {
|
|
24
20
|
type: Boolean,
|
|
25
21
|
default: false
|
|
@@ -61,8 +57,6 @@ var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
61
57
|
}, { _: 8 }));
|
|
62
58
|
return n7;
|
|
63
59
|
}
|
|
64
|
-
}), [["__scopeId", "data-v-
|
|
60
|
+
}), [["__scopeId", "data-v-a78ac964"]]);
|
|
65
61
|
//#endregion
|
|
66
62
|
export { collapse_default as t };
|
|
67
|
-
|
|
68
|
-
//# sourceMappingURL=collapse.js.map
|
package/dist/componentColors.js
CHANGED
|
@@ -6,7 +6,11 @@ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup
|
|
|
6
6
|
expose: (exposed: {}) => void;
|
|
7
7
|
attrs: any;
|
|
8
8
|
slots: {
|
|
9
|
+
header?: (props: {}) => any;
|
|
10
|
+
} & {
|
|
9
11
|
default?: (props: {}) => any;
|
|
12
|
+
} & {
|
|
13
|
+
footer?: (props: {}) => any;
|
|
10
14
|
};
|
|
11
15
|
emit: {};
|
|
12
16
|
}>) => import('vue').VNode & {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
1
2
|
export type CardPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
2
3
|
export type CardRadius = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3
4
|
export type CardLayer = 'base' | 'surface' | 'raised';
|
|
@@ -6,6 +7,9 @@ export interface CardProps {
|
|
|
6
7
|
padding?: CardPadding;
|
|
7
8
|
radius?: CardRadius;
|
|
8
9
|
border?: boolean;
|
|
10
|
+
headerBorder?: boolean;
|
|
11
|
+
footerBorder?: boolean;
|
|
9
12
|
title?: string;
|
|
10
13
|
description?: string;
|
|
14
|
+
bodyClass?: HTMLAttributes['class'];
|
|
11
15
|
}
|
|
@@ -37,7 +37,6 @@ export interface CollapseTriggerSlotProps extends CollapseSlotProps {
|
|
|
37
37
|
export interface CollapseProps {
|
|
38
38
|
id?: string;
|
|
39
39
|
open?: boolean;
|
|
40
|
-
defaultOpen?: boolean;
|
|
41
40
|
disabled?: boolean;
|
|
42
41
|
unmountOnExit?: boolean;
|
|
43
42
|
role?: CollapseContentRole;
|
|
@@ -48,7 +47,6 @@ export interface CollapseProps {
|
|
|
48
47
|
export interface UseCollapseOptions {
|
|
49
48
|
id?: CollapseOption<string | undefined>;
|
|
50
49
|
open?: CollapseOption<boolean | undefined>;
|
|
51
|
-
defaultOpen?: CollapseOption<boolean | undefined>;
|
|
52
50
|
disabled?: CollapseOption<boolean | undefined>;
|
|
53
51
|
unmountOnExit?: CollapseOption<boolean | undefined>;
|
|
54
52
|
role?: CollapseOption<CollapseContentRole | undefined>;
|
|
@@ -13,4 +13,5 @@ export declare function useField(props: Readonly<FieldProps>): {
|
|
|
13
13
|
controlDescribedby: import('vue').ComputedRef<string | undefined>;
|
|
14
14
|
rootClass: import('vue').ComputedRef<string[]>;
|
|
15
15
|
controlProps: import('vue').ComputedRef<FieldControlProps>;
|
|
16
|
+
focusControl: (e: MouseEvent) => void;
|
|
16
17
|
};
|
|
@@ -6,7 +6,7 @@ export interface PopoverOffsetOptions {
|
|
|
6
6
|
crossAxis?: number;
|
|
7
7
|
}
|
|
8
8
|
export type PopoverOffset = number | PopoverOffsetOptions;
|
|
9
|
-
export type PopoverRole = 'dialog'
|
|
9
|
+
export type PopoverRole = 'dialog';
|
|
10
10
|
export interface PopoverTriggerProps {
|
|
11
11
|
'aria-controls'?: string;
|
|
12
12
|
'aria-expanded'?: boolean;
|
|
@@ -35,6 +35,9 @@ export interface PopoverProps {
|
|
|
35
35
|
open?: boolean;
|
|
36
36
|
disabled?: boolean;
|
|
37
37
|
role?: PopoverRole;
|
|
38
|
+
ariaLabel?: string;
|
|
39
|
+
ariaLabelledby?: string;
|
|
40
|
+
ariaDescribedby?: string;
|
|
38
41
|
closeOnOutsideClick?: boolean;
|
|
39
42
|
closeOnEscape?: boolean;
|
|
40
43
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { CSSProperties } from 'vue';
|
|
2
|
-
import { PopoverContentSlotProps, PopoverProps,
|
|
2
|
+
import { PopoverContentSlotProps, PopoverProps, PopoverSlotProps, PopoverTriggerProps } from './types';
|
|
3
3
|
export declare function usePopover(props: Readonly<PopoverProps>, emitOpenChange?: (open: boolean) => void): {
|
|
4
4
|
rootRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
|
|
5
5
|
popoverId: import('vue').ComputedRef<string>;
|
|
6
6
|
isOpen: import('vue').ComputedRef<boolean>;
|
|
7
7
|
isVisible: import('vue').ComputedRef<boolean>;
|
|
8
8
|
isTargetMode: import('vue').ComputedRef<boolean>;
|
|
9
|
-
popoverRole: import('vue').ComputedRef<
|
|
9
|
+
popoverRole: import('vue').ComputedRef<"dialog">;
|
|
10
|
+
ariaLabel: import('vue').ComputedRef<string | undefined>;
|
|
11
|
+
ariaLabelledby: import('vue').ComputedRef<string | undefined>;
|
|
12
|
+
ariaDescribedby: import('vue').ComputedRef<string | undefined>;
|
|
10
13
|
shouldRenderContent: import('vue').ComputedRef<boolean>;
|
|
11
14
|
rootClass: import('vue').ComputedRef<string[]>;
|
|
12
15
|
contentStyle: import('vue').ComputedRef<CSSProperties | undefined>;
|
package/dist/dropdown-menu.js
CHANGED
package/dist/field.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.rp-field[data-v-
|
|
1
|
+
.rp-field[data-v-0d027ead] {
|
|
2
2
|
--_rp-field-danger: var(--rp-color-danger);
|
|
3
3
|
display: grid;
|
|
4
4
|
gap: var(--rp-spacing-1);
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
font-family: var(--rp-font-family);
|
|
7
7
|
color: var(--rp-color-text);
|
|
8
8
|
}
|
|
9
|
-
html.dark .rp-field[data-v-
|
|
9
|
+
html.dark .rp-field[data-v-0d027ead] {
|
|
10
10
|
--_rp-field-danger: var(--rp-color-danger-fg);
|
|
11
11
|
}
|
|
12
|
-
.rp-field__label[data-v-
|
|
12
|
+
.rp-field__label[data-v-0d027ead] {
|
|
13
13
|
display: inline-flex;
|
|
14
14
|
width: fit-content;
|
|
15
15
|
align-items: center;
|
|
@@ -19,22 +19,25 @@ html.dark .rp-field[data-v-50e7f3a5] {
|
|
|
19
19
|
font-weight: var(--rp-font-weight-medium);
|
|
20
20
|
line-height: var(--rp-line-height-normal);
|
|
21
21
|
}
|
|
22
|
-
.rp-field__required[data-v-
|
|
22
|
+
.rp-field__required[data-v-0d027ead] {
|
|
23
23
|
color: var(--_rp-field-danger);
|
|
24
24
|
line-height: var(--rp-line-height-none);
|
|
25
25
|
}
|
|
26
|
-
.rp-field__control[data-v-
|
|
26
|
+
.rp-field__label + .rp-field__control[data-v-0d027ead] {
|
|
27
|
+
margin-block-start: var(--rp-spacing-1);
|
|
28
|
+
}
|
|
29
|
+
.rp-field__control[data-v-0d027ead] {
|
|
27
30
|
min-width: 0;
|
|
28
31
|
}
|
|
29
|
-
.rp-field__description[data-v-
|
|
32
|
+
.rp-field__description[data-v-0d027ead], .rp-field__message[data-v-0d027ead] {
|
|
30
33
|
margin: 0;
|
|
31
34
|
color: var(--rp-color-text-secondary);
|
|
32
35
|
font-size: var(--rp-font-size-sm);
|
|
33
36
|
line-height: var(--rp-line-height-normal);
|
|
34
37
|
}
|
|
35
|
-
.rp-field--invalid .rp-field__message[data-v-
|
|
38
|
+
.rp-field--invalid .rp-field__message[data-v-0d027ead] {
|
|
36
39
|
color: var(--_rp-field-danger);
|
|
37
40
|
}
|
|
38
|
-
.rp-field--disabled .rp-field__label[data-v-
|
|
41
|
+
.rp-field--disabled .rp-field__label[data-v-0d027ead], .rp-field--disabled .rp-field__description[data-v-0d027ead], .rp-field--disabled .rp-field__message[data-v-0d027ead] {
|
|
39
42
|
color: var(--rp-color-text-disabled);
|
|
40
43
|
}
|
package/dist/field.js
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import './field.css';
|
|
2
2
|
import { t as bem } from "./bem.js";
|
|
3
3
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
4
|
-
import { child, computed, createIf, createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, setProp, setText, template, toDisplayString, unref, useId, useSlots } from "vue";
|
|
4
|
+
import { child, computed, createIf, createInvoker, createSlot, defineVaporComponent, delegateEvents, renderEffect, setClass, setInsertionState, setProp, setText, template, toDisplayString, unref, useId, useSlots } from "vue";
|
|
5
5
|
//#region src/components/field/useField.ts
|
|
6
|
+
var INTERACTIVE_LABEL_SELECTOR = [
|
|
7
|
+
"button",
|
|
8
|
+
"a[href]",
|
|
9
|
+
"input",
|
|
10
|
+
"select",
|
|
11
|
+
"textarea",
|
|
12
|
+
"[contenteditable=\"true\"]",
|
|
13
|
+
"[tabindex]:not([tabindex=\"-1\"])"
|
|
14
|
+
].join(",");
|
|
15
|
+
function isInteractiveLabelTarget(target) {
|
|
16
|
+
return Boolean(target.closest(INTERACTIVE_LABEL_SELECTOR));
|
|
17
|
+
}
|
|
6
18
|
function useField(props) {
|
|
7
19
|
const slots = useSlots();
|
|
8
20
|
const generatedId = useId();
|
|
@@ -17,6 +29,27 @@ function useField(props) {
|
|
|
17
29
|
const hasMessage = computed(() => Boolean(messageText.value || slots.message));
|
|
18
30
|
const controlLabelledby = computed(() => hasLabel.value ? labelId.value : void 0);
|
|
19
31
|
const controlDescribedby = computed(() => [hasDescription.value ? descriptionId.value : void 0, hasMessage.value ? messageId.value : void 0].filter(Boolean).join(" ") || void 0);
|
|
32
|
+
const rootClass = computed(() => bem("rp-field", {
|
|
33
|
+
disabled: props.disabled,
|
|
34
|
+
required: props.required,
|
|
35
|
+
invalid: isInvalid.value
|
|
36
|
+
}));
|
|
37
|
+
const controlProps = computed(() => ({
|
|
38
|
+
id: controlId.value,
|
|
39
|
+
disabled: props.disabled || void 0,
|
|
40
|
+
required: props.required || void 0,
|
|
41
|
+
invalid: isInvalid.value || void 0,
|
|
42
|
+
labelledby: controlLabelledby.value,
|
|
43
|
+
describedby: controlDescribedby.value
|
|
44
|
+
}));
|
|
45
|
+
function focusControl(e) {
|
|
46
|
+
if (props.disabled) return;
|
|
47
|
+
const target = e.target;
|
|
48
|
+
if (target instanceof Element && isInteractiveLabelTarget(target)) return;
|
|
49
|
+
const label = e.currentTarget;
|
|
50
|
+
const control = label instanceof HTMLLabelElement ? label.control ?? label.ownerDocument.getElementById(controlId.value) : void 0;
|
|
51
|
+
if (control instanceof HTMLElement) control.focus();
|
|
52
|
+
}
|
|
20
53
|
return {
|
|
21
54
|
controlId,
|
|
22
55
|
labelId,
|
|
@@ -29,29 +62,20 @@ function useField(props) {
|
|
|
29
62
|
hasMessage,
|
|
30
63
|
controlLabelledby,
|
|
31
64
|
controlDescribedby,
|
|
32
|
-
rootClass
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
invalid: isInvalid.value
|
|
36
|
-
})),
|
|
37
|
-
controlProps: computed(() => ({
|
|
38
|
-
id: controlId.value,
|
|
39
|
-
disabled: props.disabled || void 0,
|
|
40
|
-
required: props.required || void 0,
|
|
41
|
-
invalid: isInvalid.value || void 0,
|
|
42
|
-
labelledby: controlLabelledby.value,
|
|
43
|
-
describedby: controlDescribedby.value
|
|
44
|
-
}))
|
|
65
|
+
rootClass,
|
|
66
|
+
controlProps,
|
|
67
|
+
focusControl
|
|
45
68
|
};
|
|
46
69
|
}
|
|
47
70
|
//#endregion
|
|
48
71
|
//#region src/components/field/field.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
49
72
|
var t0 = template(" ");
|
|
50
|
-
var t1 = template("<span data-v-
|
|
51
|
-
var t2 = template("<label data-v-
|
|
52
|
-
var t3 = template("<p data-v-
|
|
53
|
-
var t4 = template("<p data-v-
|
|
54
|
-
var t5 = template("<div data-v-
|
|
73
|
+
var t1 = template("<span data-v-0d027ead class=rp-field__required aria-hidden=true>*", 2);
|
|
74
|
+
var t2 = template("<label data-v-0d027ead class=rp-field__label>");
|
|
75
|
+
var t3 = template("<p data-v-0d027ead class=rp-field__description>");
|
|
76
|
+
var t4 = template("<p data-v-0d027ead class=rp-field__message>");
|
|
77
|
+
var t5 = template("<div data-v-0d027ead><div data-v-0d027ead class=rp-field__control></div>", 1);
|
|
78
|
+
delegateEvents("mousedown");
|
|
55
79
|
//#endregion
|
|
56
80
|
//#region src/components/field/field.vue
|
|
57
81
|
var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -77,7 +101,7 @@ var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
77
101
|
}
|
|
78
102
|
},
|
|
79
103
|
setup(__props) {
|
|
80
|
-
const { controlId, labelId, descriptionId, messageId, isInvalid, messageText, hasLabel, hasDescription, hasMessage, controlLabelledby, controlDescribedby, rootClass, controlProps } = useField(__props);
|
|
104
|
+
const { controlId, labelId, descriptionId, messageId, isInvalid, messageText, hasLabel, hasDescription, hasMessage, controlLabelledby, controlDescribedby, rootClass, controlProps, focusControl } = useField(__props);
|
|
81
105
|
const n23 = t5();
|
|
82
106
|
const n10 = child(n23, 1);
|
|
83
107
|
renderEffect(() => setClass(n23, unref(rootClass)));
|
|
@@ -98,6 +122,7 @@ var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
98
122
|
createIf(() => __props.required, () => {
|
|
99
123
|
return t1();
|
|
100
124
|
});
|
|
125
|
+
n8.$evtmousedown = createInvoker((e) => unref(focusControl)(e));
|
|
101
126
|
return n8;
|
|
102
127
|
});
|
|
103
128
|
setInsertionState(n10, null, 0);
|
|
@@ -139,8 +164,6 @@ var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
139
164
|
});
|
|
140
165
|
return n23;
|
|
141
166
|
}
|
|
142
|
-
}), [["__scopeId", "data-v-
|
|
167
|
+
}), [["__scopeId", "data-v-0d027ead"]]);
|
|
143
168
|
//#endregion
|
|
144
169
|
export { field_default as t };
|
|
145
|
-
|
|
146
|
-
//# sourceMappingURL=field.js.map
|