pxd 0.0.60 → 0.0.62
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/LICENSE +21 -0
- package/dist/components/_internal/dismiss-container.d.vue.ts +28 -0
- package/dist/components/_internal/dismiss-container.vue +162 -0
- package/dist/components/_internal/popover-arrow.d.vue.ts +9 -0
- package/dist/components/_internal/popover-arrow.vue +38 -0
- package/dist/components/active-graph/index.vue +5 -5
- package/dist/components/avatar/index.vue +5 -7
- package/dist/components/avatar-group/index.d.vue.ts +0 -1
- package/dist/components/avatar-group/index.vue +1 -1
- package/dist/components/backtop/index.vue +1 -1
- package/dist/components/badge/index.d.vue.ts +6 -2
- package/dist/components/badge/index.vue +19 -5
- package/dist/components/badge/types.d.ts +5 -0
- package/dist/components/book/index.vue +1 -1
- package/dist/components/browser/index.vue +1 -1
- package/dist/components/bubble/index.d.vue.ts +22 -0
- package/dist/components/bubble/index.vue +59 -0
- package/dist/components/bubble/types.d.ts +6 -0
- package/dist/components/button/index.d.vue.ts +0 -2
- package/dist/components/button/index.vue +31 -22
- package/dist/components/button/types.d.ts +3 -2
- package/dist/components/button-group/index.d.vue.ts +14 -0
- package/dist/components/button-group/index.vue +26 -0
- package/dist/components/button-group/types.d.ts +9 -0
- package/dist/components/carousel/index.d.vue.ts +3 -3
- package/dist/components/carousel/index.vue +146 -113
- package/dist/components/carousel/types.d.ts +1 -1
- package/dist/components/carousel-item/index.vue +22 -17
- package/dist/components/checkbox/index.vue +7 -7
- package/dist/components/checkbox-group/index.d.vue.ts +1 -1
- package/dist/components/chip/index.d.vue.ts +1 -5
- package/dist/components/chip/index.vue +5 -5
- package/dist/components/choicebox/index.vue +1 -1
- package/dist/components/collapse-group/index.vue +1 -1
- package/dist/components/color-selector/index.d.vue.ts +12 -0
- package/dist/components/color-selector/index.vue +64 -0
- package/dist/components/color-selector/types.d.ts +12 -0
- package/dist/components/command-menu/index.d.vue.ts +6 -6
- package/dist/components/command-menu/index.vue +24 -33
- package/dist/components/command-menu/types.d.ts +1 -1
- package/dist/components/command-menu-group/index.vue +15 -6
- package/dist/components/command-menu-group/types.d.ts +1 -1
- package/dist/components/config-provider/index.d.vue.ts +1 -1
- package/dist/components/countdown/index.d.vue.ts +11 -11
- package/dist/components/drawer/index.d.vue.ts +8 -8
- package/dist/components/drawer/index.vue +13 -10
- package/dist/components/drawer/types.d.ts +4 -3
- package/dist/components/ellipsis-text/index.d.vue.ts +4 -1
- package/dist/components/ellipsis-text/index.vue +86 -109
- package/dist/components/ellipsis-text/types.d.ts +2 -1
- package/dist/components/error/index.vue +2 -2
- package/dist/components/fader/index.vue +5 -9
- package/dist/components/gauge/index.vue +34 -29
- package/dist/components/grid/index.vue +1 -1
- package/dist/components/grid-item/index.vue +1 -1
- package/dist/components/hold-button/index.d.vue.ts +8 -10
- package/dist/components/hold-button/index.vue +15 -27
- package/dist/components/hold-button/types.d.ts +5 -6
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.js +7 -0
- package/dist/components/input/index.d.vue.ts +8 -8
- package/dist/components/input/index.vue +7 -6
- package/dist/components/intersection-observer/index.vue +4 -4
- package/dist/components/kbd/index.vue +2 -2
- package/dist/components/link-button/index.d.vue.ts +4 -4
- package/dist/components/link-button/index.vue +5 -7
- package/dist/components/link-button/types.d.ts +0 -3
- package/dist/components/list/index.d.vue.ts +10 -15
- package/dist/components/list/index.vue +58 -131
- package/dist/components/list/types.d.ts +4 -4
- package/dist/components/list-item/index.d.vue.ts +2 -2
- package/dist/components/list-item/index.vue +45 -40
- package/dist/components/loading-bar/index.vue +9 -8
- package/dist/components/material/index.vue +24 -46
- package/dist/components/menu/index.d.vue.ts +6 -8
- package/dist/components/menu/index.vue +18 -24
- package/dist/components/menu/types.d.ts +1 -2
- package/dist/components/message/composables/use-group-expand.d.ts +13 -0
- package/dist/components/message/composables/use-group-expand.js +50 -0
- package/dist/components/message/composables/use-message-timer.d.ts +9 -0
- package/dist/components/message/composables/use-message-timer.js +61 -0
- package/dist/components/message/composables/use-promise-message.d.ts +4 -0
- package/dist/components/message/composables/use-promise-message.js +49 -0
- package/dist/components/message/index.d.vue.ts +6 -33
- package/dist/components/message/index.vue +33 -185
- package/dist/components/message/types.d.ts +2 -2
- package/dist/components/message-item/index.vue +26 -2
- package/dist/components/modal/index.d.vue.ts +7 -7
- package/dist/components/modal/index.vue +7 -3
- package/dist/components/modal/types.d.ts +7 -3
- package/dist/components/note/index.vue +3 -3
- package/dist/components/number-input/index.d.vue.ts +5 -4
- package/dist/components/number-input/index.vue +3 -0
- package/dist/components/number-input/types.d.ts +1 -0
- package/dist/components/overlay/index.d.vue.ts +6 -3
- package/dist/components/overlay/index.vue +63 -68
- package/dist/components/overlay/types.d.ts +5 -4
- package/dist/components/pagination/index.vue +2 -2
- package/dist/components/pin-input/index.d.vue.ts +2 -2
- package/dist/components/pin-input/index.vue +9 -8
- package/dist/components/placeholder/index.vue +14 -12
- package/dist/components/popover/index.d.vue.ts +8 -9
- package/dist/components/popover/index.vue +150 -240
- package/dist/components/popover/types.d.ts +6 -7
- package/dist/components/progress/index.vue +3 -3
- package/dist/components/project-banner/index.vue +1 -1
- package/dist/components/radio/index.vue +3 -3
- package/dist/components/radio-group/index.vue +1 -1
- package/dist/components/resizable/index.vue +43 -51
- package/dist/components/resizable/types.d.ts +1 -1
- package/dist/components/resizable-handle/index.d.vue.ts +4 -1
- package/dist/components/resizable-handle/index.vue +29 -3
- package/dist/components/resizable-panel/index.vue +3 -7
- package/dist/components/scalable-text/index.d.vue.ts +9 -0
- package/dist/components/scalable-text/index.vue +147 -0
- package/dist/components/scalable-text/types.d.ts +12 -0
- package/dist/components/scrollable/index.d.vue.ts +2 -2
- package/dist/components/scrollable/index.vue +4 -3
- package/dist/components/scrollable/types.d.ts +1 -2
- package/dist/components/separator/index.d.vue.ts +6 -0
- package/dist/components/separator/index.vue +18 -0
- package/dist/components/separator/types.d.ts +5 -0
- package/dist/components/skeleton/index.d.vue.ts +1 -1
- package/dist/components/skeleton/index.vue +1 -1
- package/dist/components/slider/index.d.vue.ts +1 -1
- package/dist/components/slider/index.vue +41 -9
- package/dist/components/snippet/index.vue +18 -15
- package/dist/components/spinner/index.vue +3 -1
- package/dist/components/stack/index.d.vue.ts +1 -1
- package/dist/components/stack/index.vue +2 -2
- package/dist/components/switch/index.d.vue.ts +1 -1
- package/dist/components/switch/index.vue +5 -4
- package/dist/components/switch-item/index.vue +3 -3
- package/dist/components/tabs/index.d.vue.ts +12 -0
- package/dist/components/tabs/index.vue +270 -0
- package/dist/components/tabs/types.d.ts +12 -0
- package/dist/components/tabs-item/index.d.vue.ts +4 -0
- package/dist/components/tabs-item/index.vue +16 -0
- package/dist/components/tabs-item/types.d.ts +10 -0
- package/dist/components/text/index.vue +2 -2
- package/dist/components/textarea/index.d.vue.ts +2 -2
- package/dist/components/textarea/index.vue +3 -3
- package/dist/components/time-picker/index.d.vue.ts +3 -5
- package/dist/components/time-picker/index.vue +54 -46
- package/dist/components/time-picker/types.d.ts +1 -2
- package/dist/components/toggle/index.d.vue.ts +0 -2
- package/dist/components/toggle/index.vue +7 -7
- package/dist/components/toggle-button/index.vue +11 -9
- package/dist/components/toggle-button-group/index.vue +3 -3
- package/dist/components/tooltip/index.d.vue.ts +1 -1
- package/dist/components/tooltip/index.vue +19 -11
- package/dist/components/tooltip/types.d.ts +2 -3
- package/dist/components/virtual-list/index.d.vue.ts +8 -8
- package/dist/components/virtual-list/index.vue +29 -7
- package/dist/components/virtual-list/types.d.ts +3 -0
- package/dist/composables/index.d.ts +4 -1
- package/dist/composables/index.js +4 -1
- package/dist/composables/use-browser-observer.d.ts +1 -1
- package/dist/composables/use-browser-observer.js +2 -2
- package/dist/composables/use-client-online.js +2 -2
- package/dist/composables/use-color-scheme.js +2 -2
- package/dist/composables/use-countdown.js +3 -2
- package/dist/composables/use-deferred-value.js +2 -2
- package/dist/composables/use-delay-destroy.d.ts +1 -1
- package/dist/composables/use-delay-destroy.js +11 -6
- package/dist/composables/use-document-hidden.js +2 -2
- package/dist/composables/use-focus-trap.d.ts +1 -1
- package/dist/composables/use-focus-trap.js +2 -2
- package/dist/composables/use-list-filter.d.ts +11 -0
- package/dist/composables/use-list-filter.js +56 -0
- package/dist/composables/use-list-navigation.d.ts +27 -0
- package/dist/composables/use-list-navigation.js +159 -0
- package/dist/composables/use-lock-scroll.js +12 -12
- package/dist/composables/use-media-query.js +2 -2
- package/dist/composables/use-message.d.ts +1 -1
- package/dist/composables/use-outside-click.d.ts +1 -1
- package/dist/composables/use-outside-click.js +8 -11
- package/dist/composables/use-overlay-manager.d.ts +18 -0
- package/dist/composables/use-overlay-manager.js +80 -0
- package/dist/composables/use-popover-responsive.d.ts +6 -8
- package/dist/composables/use-popover-responsive.js +9 -12
- package/dist/composables/use-repeat-action.d.ts +1 -1
- package/dist/composables/use-repeat-action.js +2 -2
- package/dist/composables/use-swipe-gesture.d.ts +65 -0
- package/dist/composables/use-swipe-gesture.js +99 -0
- package/dist/composables/use-virtual-list.d.ts +6 -4
- package/dist/composables/use-virtual-list.js +25 -14
- package/dist/composables/use-window-size.js +2 -2
- package/dist/constants/size.d.ts +12 -0
- package/dist/constants/size.js +12 -0
- package/dist/contexts/button.d.ts +5 -0
- package/dist/contexts/button.js +5 -0
- package/dist/contexts/carousel.d.ts +3 -2
- package/dist/contexts/checkbox.d.ts +1 -1
- package/dist/contexts/choicebox.d.ts +1 -1
- package/dist/contexts/collapse.d.ts +1 -1
- package/dist/contexts/list.d.ts +23 -3
- package/dist/contexts/list.js +6 -2
- package/dist/contexts/radio.d.ts +1 -1
- package/dist/contexts/resizable.d.ts +3 -11
- package/dist/contexts/switch.d.ts +1 -1
- package/dist/contexts/tabs.d.ts +15 -0
- package/dist/contexts/tabs.js +2 -0
- package/dist/contexts/toggle-button.d.ts +1 -1
- package/dist/locales/en-us.d.ts +4 -4
- package/dist/locales/en-us.js +4 -4
- package/dist/locales/zh-cn.d.ts +4 -4
- package/dist/locales/zh-cn.js +4 -4
- package/dist/plugins/dayjs-millisecond-token.js +1 -1
- package/dist/styles/source.css +133 -128
- package/dist/styles/styles.css +2 -2
- package/dist/styles/tw.css +133 -128
- package/dist/types/shared/props.d.ts +1 -0
- package/dist/types/shared/utils.d.ts +1 -4
- package/dist/utils/date.d.ts +3 -3
- package/dist/utils/dom.d.ts +1 -0
- package/dist/utils/dom.js +4 -0
- package/dist/utils/event.d.ts +2 -1
- package/dist/utils/event.js +7 -1
- package/dist/utils/format.d.ts +3 -3
- package/dist/utils/format.js +5 -4
- package/dist/utils/fuzzy-search.d.ts +7 -0
- package/dist/utils/fuzzy-search.js +61 -0
- package/dist/utils/get.d.ts +2 -0
- package/dist/utils/get.js +15 -1
- package/dist/utils/index.d.ts +10 -11
- package/dist/utils/index.js +2 -3
- package/dist/utils/ref.d.ts +2 -2
- package/dist/utils/{throttle.d.ts → timing.d.ts} +1 -0
- package/dist/utils/{throttle.js → timing.js} +4 -2
- package/package.json +67 -63
- package/volar.d.ts +7 -0
- package/dist/components/overlay/overlay-stack.d.ts +0 -3
- package/dist/components/overlay/overlay-stack.js +0 -17
- package/dist/composables/use-pointer-gesture.d.ts +0 -180
- package/dist/composables/use-pointer-gesture.js +0 -406
- package/dist/utils/debounce.d.ts +0 -1
- package/dist/utils/debounce.js +0 -1
- package/dist/utils/regexp.d.ts +0 -8
- package/dist/utils/regexp.js +0 -8
- package/dist/utils/responsive.d.ts +0 -3
- package/dist/utils/responsive.js +0 -14
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { onBeforeUnmount, onMounted, shallowRef } from "vue";
|
|
2
|
+
import { onBeforeUnmount, onMounted, computed, shallowRef } from "vue";
|
|
3
3
|
import { useCarouselContext } from "../../contexts/carousel";
|
|
4
4
|
import { getUniqueId } from "../../utils/uid";
|
|
5
5
|
defineOptions({
|
|
@@ -7,30 +7,35 @@ defineOptions({
|
|
|
7
7
|
inheritAttrs: false
|
|
8
8
|
});
|
|
9
9
|
const uniqueId = getUniqueId();
|
|
10
|
-
const
|
|
10
|
+
const itemIndex = shallowRef(0);
|
|
11
11
|
const carouselContext = useCarouselContext();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
function translateItem(index, activeIndex) {
|
|
20
|
-
const maxLength = carouselContext.carousels.value.length;
|
|
12
|
+
const transformStyle = computed(() => {
|
|
13
|
+
if (!carouselContext.props.loop) {
|
|
14
|
+
return "";
|
|
15
|
+
}
|
|
16
|
+
const { carousels, virtualIndex } = carouselContext;
|
|
17
|
+
const maxLength = carousels.value.length;
|
|
21
18
|
const lastIndex = maxLength - 1;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
const activeIndex = virtualIndex.value;
|
|
20
|
+
if (itemIndex.value === 0 && activeIndex >= lastIndex) {
|
|
21
|
+
return getTranslateValue(maxLength * 100);
|
|
22
|
+
} else if (itemIndex.value === lastIndex && activeIndex <= 0) {
|
|
23
|
+
return getTranslateValue(-maxLength * 100);
|
|
26
24
|
} else {
|
|
27
|
-
|
|
25
|
+
return "";
|
|
28
26
|
}
|
|
27
|
+
});
|
|
28
|
+
function updateItemIndex(index) {
|
|
29
|
+
itemIndex.value = index;
|
|
30
|
+
}
|
|
31
|
+
function getTranslateValue(translate) {
|
|
32
|
+
const isHorizontal = carouselContext.props.direction === "horizontal";
|
|
33
|
+
return `translate${isHorizontal ? "X" : "Y"}(${translate}%)`;
|
|
29
34
|
}
|
|
30
35
|
onMounted(() => {
|
|
31
36
|
carouselContext?.registerCarousel({
|
|
32
37
|
uid: uniqueId,
|
|
33
|
-
|
|
38
|
+
updateItemIndex
|
|
34
39
|
});
|
|
35
40
|
});
|
|
36
41
|
onBeforeUnmount(() => {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import CheckIcon from "@gdsicon/vue/check";
|
|
3
3
|
import MinusIcon from "@gdsicon/vue/minus";
|
|
4
|
+
import { tv } from "tailwind-variants";
|
|
4
5
|
import { computed } from "vue";
|
|
5
6
|
import { useModelValue } from "../../composables/use-model-value";
|
|
6
7
|
import { useCheckboxGroupContext } from "../../contexts/checkbox";
|
|
7
8
|
import { getUniqueId } from "../../utils/uid";
|
|
8
|
-
import { tv } from "tailwind-variants";
|
|
9
9
|
defineOptions({
|
|
10
10
|
name: "PCheckbox",
|
|
11
11
|
inheritAttrs: false,
|
|
@@ -24,10 +24,10 @@ const props = defineProps({
|
|
|
24
24
|
});
|
|
25
25
|
const emits = defineEmits(["change", "update:modelValue"]);
|
|
26
26
|
const checkboxVariant = tv({
|
|
27
|
-
base: "pxd-checkbox--inner size-4 p-0.5 inline-flex shrink-0 transform-gpu items-center justify-center overflow-hidden border peer-focus-ring motion-safe:transition-colors",
|
|
27
|
+
base: "pxd-checkbox--inner size-4 p-0.5 pointer-events-none inline-flex shrink-0 transform-gpu items-center justify-center overflow-hidden border peer-focus-ring motion-safe:transition-colors",
|
|
28
28
|
variants: {
|
|
29
29
|
checked: {
|
|
30
|
-
true: "",
|
|
30
|
+
true: "text-gray-100",
|
|
31
31
|
false: ""
|
|
32
32
|
},
|
|
33
33
|
disabled: {
|
|
@@ -121,12 +121,12 @@ function onInputChange(event) {
|
|
|
121
121
|
/>
|
|
122
122
|
|
|
123
123
|
<span aria-hidden="true" :class="computedClasses">
|
|
124
|
-
<CheckIcon v-if="isChecked" class="size-3
|
|
125
|
-
<MinusIcon v-else-if="indeterminate" class="size-3
|
|
126
|
-
<span v-else class="size-3
|
|
124
|
+
<CheckIcon v-if="isChecked" class="size-3" />
|
|
125
|
+
<MinusIcon v-else-if="indeterminate" class="size-3" />
|
|
126
|
+
<span v-else class="size-3" />
|
|
127
127
|
</span>
|
|
128
128
|
|
|
129
|
-
<span class="text-sm flex-1 shrink-0 empty:hidden">
|
|
129
|
+
<span class="text-sm flex-1 shrink-0 leading-none empty:hidden">
|
|
130
130
|
<slot>
|
|
131
131
|
{{ label }}
|
|
132
132
|
</slot>
|
|
@@ -10,8 +10,8 @@ declare const __VLS_base: import("vue").DefineComponent<CheckboxGroupProps, {},
|
|
|
10
10
|
onChange?: ((args_0: import("../../types/shared").ComponentValue[]) => any) | undefined;
|
|
11
11
|
"onUpdate:modelValue"?: ((args_0: import("../../types/shared").ComponentValue[]) => any) | undefined;
|
|
12
12
|
}>, {
|
|
13
|
-
options: import("../../types/shared").ComponentOption[];
|
|
14
13
|
modelValue: import("../../types/shared").ComponentValue[];
|
|
14
|
+
options: import("../../types/shared").ComponentOption[];
|
|
15
15
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
16
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
17
17
|
declare const _default: typeof __VLS_export;
|
|
@@ -3,11 +3,7 @@ declare var __VLS_1: {};
|
|
|
3
3
|
type __VLS_Slots = {} & {
|
|
4
4
|
default?: (props: typeof __VLS_1) => any;
|
|
5
5
|
};
|
|
6
|
-
declare const __VLS_base: import("vue").DefineComponent<ChipProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ChipProps> & Readonly<{}>, {
|
|
7
|
-
label: import("../../types/shared").ComponentLabel;
|
|
8
|
-
size: number | string;
|
|
9
|
-
variant: import("../../types/shared").ComponentVariant | "secondary";
|
|
10
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
6
|
+
declare const __VLS_base: import("vue").DefineComponent<ChipProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ChipProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
11
7
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
8
|
declare const _default: typeof __VLS_export;
|
|
13
9
|
export default _default;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { tv } from "tailwind-variants";
|
|
2
3
|
import { computed } from "vue";
|
|
3
4
|
import { getCssUnitValue, isTruthyProp } from "../../utils/format";
|
|
4
|
-
import { tv } from "tailwind-variants";
|
|
5
5
|
defineOptions({
|
|
6
6
|
name: "PChip",
|
|
7
7
|
inheritAttrs: false
|
|
8
8
|
});
|
|
9
9
|
const props = defineProps({
|
|
10
|
-
size: { type: [Number, String], required: false
|
|
10
|
+
size: { type: [Number, String], required: false },
|
|
11
11
|
inset: { type: Boolean, required: false },
|
|
12
|
-
label: { type: [String, Number, Array, null], required: false
|
|
13
|
-
variant: { type: String, required: false
|
|
12
|
+
label: { type: [String, Number, Array, null], required: false },
|
|
13
|
+
variant: { type: String, required: false }
|
|
14
14
|
});
|
|
15
15
|
const chipVariant = tv({
|
|
16
|
-
base: "pxd-chip--label text-xs top-0 right-0 absolute rounded-full border border-background-100 motion-safe:transition-
|
|
16
|
+
base: "pxd-chip--label text-xs top-0 right-0 absolute rounded-full border border-background-100 motion-safe:transition-appearance",
|
|
17
17
|
variants: {
|
|
18
18
|
variant: {
|
|
19
19
|
primary: "bg-primary text-background-100",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed, markRaw } from "vue";
|
|
3
|
+
import { provideChoiceboxContext } from "../../contexts/choicebox";
|
|
3
4
|
import PCheckboxGroup from "../checkbox-group/index.vue";
|
|
4
5
|
import PChoiceboxItem from "../choicebox-item/index.vue";
|
|
5
6
|
import PRadioGroup from "../radio-group/index.vue";
|
|
6
|
-
import { provideChoiceboxContext } from "../../contexts/choicebox";
|
|
7
7
|
defineOptions({
|
|
8
8
|
name: "PChoicebox",
|
|
9
9
|
inheritAttrs: false,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed, ref } from "vue";
|
|
3
|
-
import { useConfigProvider } from "../../contexts/config-provider";
|
|
4
3
|
import { provideCollapseGroupContext } from "../../contexts/collapse";
|
|
4
|
+
import { useConfigProvider } from "../../contexts/config-provider";
|
|
5
5
|
import { getFallbackValue } from "../../utils/get";
|
|
6
6
|
defineOptions({
|
|
7
7
|
name: "PCollapseGroup",
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ColorSelectorProps } from './types';
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<ColorSelectorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
3
|
+
change: (args_0: string) => any;
|
|
4
|
+
"update:modelValue": (args_0: string) => any;
|
|
5
|
+
}, string, import("vue").PublicProps, Readonly<ColorSelectorProps> & Readonly<{
|
|
6
|
+
onChange?: ((args_0: string) => any) | undefined;
|
|
7
|
+
"onUpdate:modelValue"?: ((args_0: string) => any) | undefined;
|
|
8
|
+
}>, {
|
|
9
|
+
colors: string[];
|
|
10
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { tv } from "tailwind-variants";
|
|
3
|
+
import { computed } from "vue";
|
|
4
|
+
import { useModelValue } from "../../composables/use-model-value";
|
|
5
|
+
import { useConfigProvider } from "../../contexts/config-provider";
|
|
6
|
+
import { getUniqueId } from "../../utils/uid";
|
|
7
|
+
defineOptions({
|
|
8
|
+
name: "PColorSelector",
|
|
9
|
+
inheritAttrs: false,
|
|
10
|
+
model: {
|
|
11
|
+
prop: "modelValue",
|
|
12
|
+
event: "update:modelValue"
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const props = defineProps({
|
|
16
|
+
size: { type: String, required: false },
|
|
17
|
+
colors: { type: Array, required: false, default: () => ["#000000", "#FFFFFF", "#FF0000", "#00FF00", "#0000FF"] },
|
|
18
|
+
modelValue: { type: String, required: false }
|
|
19
|
+
});
|
|
20
|
+
const emits = defineEmits(["change", "update:modelValue"]);
|
|
21
|
+
const uniqueName = getUniqueId("color-selector");
|
|
22
|
+
const colorSelectorVariants = tv({
|
|
23
|
+
base: "pxd-color-selector--item size-5 cursor-pointer appearance-none rounded-full border-2 border-transparent bg-current self-focus-ring checked:border-current active:scale-85 motion-safe:transition-appearance",
|
|
24
|
+
variants: {
|
|
25
|
+
size: {
|
|
26
|
+
sm: "size-4",
|
|
27
|
+
md: "size-5",
|
|
28
|
+
lg: "size-6"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
const configProvider = useConfigProvider();
|
|
33
|
+
const modelValue = useModelValue(props, emits);
|
|
34
|
+
const computedClasses = computed(
|
|
35
|
+
() => colorSelectorVariants({
|
|
36
|
+
size: props.size || configProvider.size
|
|
37
|
+
})
|
|
38
|
+
);
|
|
39
|
+
function isActive(color) {
|
|
40
|
+
return modelValue.value === color;
|
|
41
|
+
}
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<template>
|
|
45
|
+
<div role="tabpanel" class="pxd-color-selector gap-2 flex" v-bind="$attrs">
|
|
46
|
+
<template v-for="color in colors" :key="color">
|
|
47
|
+
<input
|
|
48
|
+
type="radio"
|
|
49
|
+
:name="uniqueName"
|
|
50
|
+
:value="color"
|
|
51
|
+
:style="{ color }"
|
|
52
|
+
:class="computedClasses"
|
|
53
|
+
:aria-selected="isActive(color)"
|
|
54
|
+
:checked="isActive(color)"
|
|
55
|
+
:tabindex="isActive(color) ? 0 : -1"
|
|
56
|
+
@change="modelValue = color"
|
|
57
|
+
/>
|
|
58
|
+
</template>
|
|
59
|
+
</div>
|
|
60
|
+
</template>
|
|
61
|
+
|
|
62
|
+
<style>
|
|
63
|
+
.pxd-color-selector--item:checked{box-shadow:inset 0 0 0 2px var(--color-background-100)}
|
|
64
|
+
</style>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ComponentSize } from '../../types/shared/props'
|
|
2
|
+
|
|
3
|
+
export interface ColorSelectorProps {
|
|
4
|
+
size?: ComponentSize
|
|
5
|
+
colors?: string[]
|
|
6
|
+
modelValue?: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface ColorSelectorEmits {
|
|
10
|
+
change: [NonNullable<ColorSelectorProps['modelValue']>]
|
|
11
|
+
'update:modelValue': [NonNullable<ColorSelectorProps['modelValue']>]
|
|
12
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import type { ListOptionSelected } from '../list/types';
|
|
2
2
|
import type { CommandMenuProps } from './types';
|
|
3
|
-
declare var
|
|
3
|
+
declare var __VLS_20: {}, __VLS_22: {};
|
|
4
4
|
type __VLS_Slots = {} & {
|
|
5
|
-
default?: (props: typeof
|
|
5
|
+
default?: (props: typeof __VLS_20) => any;
|
|
6
6
|
} & {
|
|
7
|
-
footer?: (props: typeof
|
|
7
|
+
footer?: (props: typeof __VLS_22) => any;
|
|
8
8
|
};
|
|
9
9
|
declare const __VLS_base: import("vue").DefineComponent<CommandMenuProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
-
select: (args_0: MouseEvent, args_1: ListOptionSelected) => any;
|
|
11
10
|
change: (args_0: boolean) => any;
|
|
12
11
|
"update:modelValue": (args_0: boolean) => any;
|
|
12
|
+
select: (args_0: ListOptionSelected, args_1: MouseEvent) => any;
|
|
13
13
|
show: () => any;
|
|
14
14
|
hide: () => any;
|
|
15
15
|
}, string, import("vue").PublicProps, Readonly<CommandMenuProps> & Readonly<{
|
|
16
|
-
onSelect?: ((args_0: MouseEvent, args_1: ListOptionSelected) => any) | undefined;
|
|
17
16
|
onChange?: ((args_0: boolean) => any) | undefined;
|
|
18
17
|
"onUpdate:modelValue"?: ((args_0: boolean) => any) | undefined;
|
|
18
|
+
onSelect?: ((args_0: ListOptionSelected, args_1: MouseEvent) => any) | undefined;
|
|
19
19
|
onShow?: (() => any) | undefined;
|
|
20
20
|
onHide?: (() => any) | undefined;
|
|
21
21
|
}>, {
|
|
22
|
-
placeholder: string;
|
|
23
22
|
modelValue: boolean;
|
|
23
|
+
placeholder: string;
|
|
24
24
|
closeOnPressEscape: boolean;
|
|
25
25
|
closeOnClickOverlay: boolean;
|
|
26
26
|
closeOnSelectItem: boolean;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { useDeferredValue } from "../../composables/use-deferred-value";
|
|
2
|
+
import { computed, shallowRef } from "vue";
|
|
3
|
+
import { useListFilter } from "../../composables/use-list-filter";
|
|
5
4
|
import { PRESET_MEDIA_QUERIES, useMediaQuery } from "../../composables/use-media-query";
|
|
6
5
|
import { useModelValue } from "../../composables/use-model-value";
|
|
7
|
-
import {
|
|
6
|
+
import { useConfigProvider } from "../../contexts/config-provider";
|
|
7
|
+
import { provideListFilterContext } from "../../contexts/list";
|
|
8
8
|
import { getUniqueId } from "../../utils/uid";
|
|
9
|
-
import PButton from "../button/index.vue";
|
|
10
9
|
import PList from "../list/index.vue";
|
|
11
10
|
import PModal from "../modal/index.vue";
|
|
12
11
|
defineOptions({
|
|
@@ -29,20 +28,10 @@ const emits = defineEmits(["update:modelValue", "select", "change", "show", "hid
|
|
|
29
28
|
const uniqueId = getUniqueId();
|
|
30
29
|
const configProvider = useConfigProvider();
|
|
31
30
|
const modelValue = useModelValue(props, emits);
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
async valueChange(v) {
|
|
37
|
-
if (!v) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
await nextTick();
|
|
41
|
-
listRef.value.updateListItem();
|
|
42
|
-
listRef.value.setFirstAsActive();
|
|
43
|
-
isEmptyResult.value = listRef.value.isNoVisibleItem();
|
|
44
|
-
}
|
|
45
|
-
});
|
|
31
|
+
const filterKeyword = shallowRef("");
|
|
32
|
+
const filterContext = useListFilter({ keyword: filterKeyword });
|
|
33
|
+
const isSmallScreen = useMediaQuery(PRESET_MEDIA_QUERIES.IS_XS);
|
|
34
|
+
const isEmptyResult = computed(() => filterKeyword.value && filterContext.visibleCount.value === 0);
|
|
46
35
|
function hideModal() {
|
|
47
36
|
filterKeyword.value = "";
|
|
48
37
|
emits("hide");
|
|
@@ -53,23 +42,23 @@ function showModal() {
|
|
|
53
42
|
function closeModal() {
|
|
54
43
|
modelValue.value = false;
|
|
55
44
|
}
|
|
56
|
-
function onListItemSelect(
|
|
57
|
-
emits("select",
|
|
45
|
+
function onListItemSelect(item, ev) {
|
|
46
|
+
emits("select", item, ev);
|
|
58
47
|
if (props.closeOnSelectItem) {
|
|
59
48
|
closeModal();
|
|
60
49
|
}
|
|
61
50
|
}
|
|
62
|
-
|
|
51
|
+
provideListFilterContext(filterContext);
|
|
63
52
|
</script>
|
|
64
53
|
|
|
65
54
|
<template>
|
|
66
55
|
<PModal
|
|
67
56
|
v-model="modelValue"
|
|
68
57
|
width="640px"
|
|
69
|
-
class="pxd-command-menu max-sm:
|
|
58
|
+
class="pxd-command-menu max-sm:h-full"
|
|
70
59
|
content-class="!p-0 overflow-hidden"
|
|
71
60
|
wrapper-class="sm:top-1/8 sm:translate-y-0"
|
|
72
|
-
:auto-focus-element="
|
|
61
|
+
:auto-focus-element="!isSmallScreen"
|
|
73
62
|
:close-on-press-escape="closeOnPressEscape"
|
|
74
63
|
:close-on-click-overlay="closeOnClickOverlay"
|
|
75
64
|
v-bind="$attrs"
|
|
@@ -98,29 +87,31 @@ provideListFilterValue(deferredFilterKeyword);
|
|
|
98
87
|
class="h-7 flex-1 shrink-0 appearance-none border-none bg-transparent font-inherit text-foreground outline-none"
|
|
99
88
|
/>
|
|
100
89
|
|
|
101
|
-
<
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
class="px-0! text-xs shrink-0"
|
|
90
|
+
<button
|
|
91
|
+
type="button"
|
|
92
|
+
class="px-1.5 h-5 text-xs shrink-0 cursor-pointer appearance-none rounded-sm border bg-background-100 self-focus-ring hover:bg-background-hover active:bg-background-active motion-safe:transition-colors"
|
|
105
93
|
@click="closeModal"
|
|
106
94
|
>
|
|
107
95
|
Esc
|
|
108
|
-
</
|
|
96
|
+
</button>
|
|
109
97
|
</label>
|
|
110
98
|
</template>
|
|
111
99
|
|
|
112
100
|
<PList
|
|
113
|
-
ref="listRef"
|
|
114
101
|
:loop="false"
|
|
115
102
|
class="sm:max-h-110 h-full"
|
|
103
|
+
:default-active-index="0"
|
|
116
104
|
:toggle-on-key-press="modelValue"
|
|
117
105
|
@select="onListItemSelect"
|
|
118
106
|
>
|
|
119
107
|
<slot />
|
|
120
108
|
|
|
121
|
-
<p
|
|
122
|
-
|
|
123
|
-
|
|
109
|
+
<p
|
|
110
|
+
v-if="filterKeyword && isEmptyResult"
|
|
111
|
+
class="py-7.5 text-sm text-center text-foreground-secondary"
|
|
112
|
+
>
|
|
113
|
+
{{ configProvider.locale.results.searchText }}
|
|
114
|
+
<span class="whitespace-pre text-foreground">"{{ filterKeyword }}"</span>
|
|
124
115
|
</p>
|
|
125
116
|
</PList>
|
|
126
117
|
|
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { computed } from "vue";
|
|
3
|
+
import { provideListFilterGroupId, useListFilterContext } from "../../contexts/list";
|
|
4
|
+
import { getUniqueId } from "../../utils/uid";
|
|
2
5
|
defineOptions({
|
|
3
6
|
name: "PCommandMenuGroup",
|
|
4
7
|
inheritAttrs: false
|
|
5
8
|
});
|
|
6
9
|
defineProps({
|
|
7
|
-
label: { type: [String, Number, Array, null], required:
|
|
10
|
+
label: { type: [String, Number, Array, null], required: true }
|
|
8
11
|
});
|
|
12
|
+
const groupId = getUniqueId("list-group");
|
|
13
|
+
const listFilterContext = useListFilterContext(null);
|
|
14
|
+
const isHidden = computed(() => {
|
|
15
|
+
if (!listFilterContext || !listFilterContext.searchValue.value.trim()) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return !listFilterContext.isGroupVisible(groupId);
|
|
19
|
+
});
|
|
20
|
+
provideListFilterGroupId(groupId);
|
|
9
21
|
</script>
|
|
10
22
|
|
|
11
23
|
<template>
|
|
12
|
-
<div class="pxd-command-menu-group" role="presentation" v-bind="$attrs">
|
|
13
|
-
<div
|
|
14
|
-
aria-hidden="true"
|
|
15
|
-
class="h-10 px-2 flex items-center text-13px text-foreground-secondary only:hidden empty:hidden"
|
|
16
|
-
>
|
|
24
|
+
<div class="pxd-command-menu-group" role="presentation" :hidden="isHidden" v-bind="$attrs">
|
|
25
|
+
<div aria-hidden="true" class="h-10 px-2 flex items-center text-13 text-gray-900">
|
|
17
26
|
{{ label }}
|
|
18
27
|
</div>
|
|
19
28
|
|
|
@@ -2,11 +2,11 @@ import type { CountdownProps } from './types';
|
|
|
2
2
|
declare var __VLS_1: {
|
|
3
3
|
active: boolean;
|
|
4
4
|
times: {
|
|
5
|
-
dd:
|
|
6
|
-
hh:
|
|
7
|
-
mm:
|
|
8
|
-
ss:
|
|
9
|
-
ms:
|
|
5
|
+
dd: string;
|
|
6
|
+
hh: string;
|
|
7
|
+
mm: string;
|
|
8
|
+
ss: string;
|
|
9
|
+
ms: string;
|
|
10
10
|
};
|
|
11
11
|
};
|
|
12
12
|
type __VLS_Slots = {} & {
|
|
@@ -15,11 +15,11 @@ type __VLS_Slots = {} & {
|
|
|
15
15
|
declare const __VLS_base: import("vue").DefineComponent<CountdownProps, {
|
|
16
16
|
reset: () => void;
|
|
17
17
|
times: import("vue").ComputedRef<{
|
|
18
|
-
dd:
|
|
19
|
-
hh:
|
|
20
|
-
mm:
|
|
21
|
-
ss:
|
|
22
|
-
ms:
|
|
18
|
+
dd: string;
|
|
19
|
+
hh: string;
|
|
20
|
+
mm: string;
|
|
21
|
+
ss: string;
|
|
22
|
+
ms: string;
|
|
23
23
|
}>;
|
|
24
24
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
25
25
|
change: (active: boolean) => any;
|
|
@@ -31,12 +31,12 @@ declare const __VLS_base: import("vue").DefineComponent<CountdownProps, {
|
|
|
31
31
|
onFinish?: (() => any) | undefined;
|
|
32
32
|
}>, {
|
|
33
33
|
format: string;
|
|
34
|
+
millisecond: boolean;
|
|
34
35
|
endTime: number;
|
|
35
36
|
durations: number;
|
|
36
37
|
active: boolean;
|
|
37
38
|
autoReset: boolean;
|
|
38
39
|
precision: number;
|
|
39
|
-
millisecond: boolean;
|
|
40
40
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
41
41
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
42
42
|
declare const _default: typeof __VLS_export;
|
|
@@ -13,27 +13,27 @@ type __VLS_Slots = {} & {
|
|
|
13
13
|
};
|
|
14
14
|
declare const __VLS_base: import("vue").DefineComponent<DrawerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
15
15
|
change: (args_0: boolean) => any;
|
|
16
|
-
"update:modelValue": (
|
|
16
|
+
"update:modelValue": (visible: boolean) => any;
|
|
17
17
|
show: () => any;
|
|
18
18
|
hide: () => any;
|
|
19
|
-
"
|
|
20
|
-
"
|
|
19
|
+
"outside-click": (args_0: PointerEvent) => any;
|
|
20
|
+
"visible-change": (visible: boolean) => any;
|
|
21
21
|
}, string, import("vue").PublicProps, Readonly<DrawerProps> & Readonly<{
|
|
22
22
|
onChange?: ((args_0: boolean) => any) | undefined;
|
|
23
|
-
"onUpdate:modelValue"?: ((
|
|
23
|
+
"onUpdate:modelValue"?: ((visible: boolean) => any) | undefined;
|
|
24
24
|
onShow?: (() => any) | undefined;
|
|
25
25
|
onHide?: (() => any) | undefined;
|
|
26
|
-
"
|
|
27
|
-
"
|
|
26
|
+
"onOutside-click"?: ((args_0: PointerEvent) => any) | undefined;
|
|
27
|
+
"onVisible-change"?: ((visible: boolean) => any) | undefined;
|
|
28
28
|
}>, {
|
|
29
29
|
modelValue: boolean;
|
|
30
|
-
|
|
30
|
+
position: import("../../types/shared").BasePosition;
|
|
31
31
|
autoFocusElement: string | boolean;
|
|
32
32
|
appendToBody: boolean;
|
|
33
|
+
closeOnPressEscape: boolean;
|
|
33
34
|
closeOnClickOverlay: boolean;
|
|
34
35
|
defaultHeaderStyle: boolean;
|
|
35
36
|
defaultFooterStyle: boolean;
|
|
36
|
-
position: import("../../types/shared").BasePosition;
|
|
37
37
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
38
38
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
39
39
|
declare const _default: typeof __VLS_export;
|
|
@@ -13,6 +13,7 @@ defineOptions({
|
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
const props = defineProps({
|
|
16
|
+
zIndex: { type: Number, required: false },
|
|
16
17
|
title: { type: [String, Number, Array, null], required: false },
|
|
17
18
|
subtitle: { type: [String, Number, Array, null], required: false },
|
|
18
19
|
size: { type: [Number, String], required: false },
|
|
@@ -43,13 +44,10 @@ const defaultStyles = computed(() => ({
|
|
|
43
44
|
footerClass: props.defaultFooterStyle ? "border-t pt-4 bg-background-200 dark:bg-background-100" : ""
|
|
44
45
|
}));
|
|
45
46
|
const transitionName = computed(() => `pxd-transition--drawer-${ensurePosition.value}`);
|
|
46
|
-
const computedStyle = computed(() => {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
return styles;
|
|
52
|
-
});
|
|
47
|
+
const computedStyle = computed(() => ({
|
|
48
|
+
"--modal-index": props.zIndex,
|
|
49
|
+
"--drawer-size": getCssUnitValue(props.size)
|
|
50
|
+
}));
|
|
53
51
|
const focusTrapOptions = computed(() => ({
|
|
54
52
|
autoFocusElement: props.autoFocusElement,
|
|
55
53
|
escapeDeactivates: props.closeOnPressEscape,
|
|
@@ -90,7 +88,12 @@ watch(
|
|
|
90
88
|
@escape="closeOverlayIfNeed"
|
|
91
89
|
@click="onOverlayClick"
|
|
92
90
|
>
|
|
93
|
-
<Transition
|
|
91
|
+
<Transition
|
|
92
|
+
appear
|
|
93
|
+
mode="out-in"
|
|
94
|
+
:name="transitionName"
|
|
95
|
+
class="default-transition-duration default-transition-timing-function"
|
|
96
|
+
>
|
|
94
97
|
<div
|
|
95
98
|
v-if="isVisible"
|
|
96
99
|
ref="drawerRef"
|
|
@@ -98,7 +101,7 @@ watch(
|
|
|
98
101
|
tabindex="-1"
|
|
99
102
|
aria-modal="true"
|
|
100
103
|
:aria-expanded="isVisible"
|
|
101
|
-
class="pxd-drawer group/drawer translate-z-0
|
|
104
|
+
class="pxd-drawer group/drawer translate-z-0 pointer-events-auto fixed z-(--modal-index) flex max-h-full max-w-full flex-col bg-background-100 shadow-border-modal outline-none"
|
|
102
105
|
:class="wrapperClass"
|
|
103
106
|
:style="computedStyle"
|
|
104
107
|
:data-position="ensurePosition"
|
|
@@ -146,5 +149,5 @@ watch(
|
|
|
146
149
|
</template>
|
|
147
150
|
|
|
148
151
|
<style>
|
|
149
|
-
.pxd-drawer[data-position=left]{bottom:0;left:0;top:0}.pxd-drawer[data-position=top]{left:0;right:0;top:0}.pxd-drawer[data-position=right]{bottom:0;right:0;top:0}.pxd-drawer[data-position=bottom]{bottom:0;left:0;right:0}.pxd-drawer[data-position=left],.pxd-drawer[data-position=right]{width:var(--drawer-size,
|
|
152
|
+
.pxd-drawer[data-position=left]{bottom:0;left:0;top:0}.pxd-drawer[data-position=top]{left:0;right:0;top:0}.pxd-drawer[data-position=right]{bottom:0;right:0;top:0}.pxd-drawer[data-position=bottom]{bottom:0;left:0;right:0}.pxd-drawer[data-position=left],.pxd-drawer[data-position=right]{width:var(--drawer-size,30vw)}.pxd-drawer[data-position=bottom],.pxd-drawer[data-position=top]{height:var(--drawer-size,30vh)}.pxd-transition--drawer-bottom-enter-active,.pxd-transition--drawer-bottom-leave-active,.pxd-transition--drawer-left-enter-active,.pxd-transition--drawer-left-leave-active,.pxd-transition--drawer-right-enter-active,.pxd-transition--drawer-right-leave-active,.pxd-transition--drawer-top-enter-active,.pxd-transition--drawer-top-leave-active{transition-property:transform}.pxd-transition--drawer-right-enter-from,.pxd-transition--drawer-right-leave-to{transform:translateX(100%)}.pxd-transition--drawer-left-enter-from,.pxd-transition--drawer-left-leave-to{transform:translateX(-100%)}.pxd-transition--drawer-top-enter-from,.pxd-transition--drawer-top-leave-to{transform:translateY(-100%)}.pxd-transition--drawer-bottom-enter-from,.pxd-transition--drawer-bottom-leave-to{transform:translateY(100%)}
|
|
150
153
|
</style>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BasePosition, ComponentClass, ComponentLabel } from '../../types/shared'
|
|
2
2
|
|
|
3
3
|
export interface DrawerProps {
|
|
4
|
+
zIndex?: number
|
|
4
5
|
title?: ComponentLabel
|
|
5
6
|
subtitle?: ComponentLabel
|
|
6
7
|
size?: number | string
|
|
@@ -21,7 +22,7 @@ export interface DrawerEmits {
|
|
|
21
22
|
show: []
|
|
22
23
|
hide: []
|
|
23
24
|
change: [boolean]
|
|
24
|
-
'outside-click': [
|
|
25
|
-
'visible-change': [boolean]
|
|
26
|
-
'update:modelValue': [boolean]
|
|
25
|
+
'outside-click': [PointerEvent]
|
|
26
|
+
'visible-change': [visible: boolean]
|
|
27
|
+
'update:modelValue': [visible: boolean]
|
|
27
28
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { EllipsisTextProps } from './types';
|
|
2
|
-
declare const __VLS_export: import("vue").DefineComponent<EllipsisTextProps, {
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<EllipsisTextProps, {
|
|
3
|
+
isExpanded: import("vue").ShallowRef<boolean, boolean>;
|
|
4
|
+
isOverflow: import("vue").ShallowRef<boolean, boolean>;
|
|
5
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
3
6
|
toggle: (expanded: boolean) => any;
|
|
4
7
|
}, string, import("vue").PublicProps, Readonly<EllipsisTextProps> & Readonly<{
|
|
5
8
|
onToggle?: ((expanded: boolean) => any) | undefined;
|