pxd 0.1.2 → 0.1.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/_internal/calendar-day.vue +19 -19
- package/dist/components/_internal/dismiss-container.d.vue.ts +1 -1
- package/dist/components/_internal/dismiss-container.vue +19 -19
- package/dist/components/_internal/loading-mask.vue +9 -1
- package/dist/components/_internal/mention-editor.d.vue.ts +1 -1
- package/dist/components/_internal/mention-editor.vue +1 -1
- package/dist/components/_internal/popover-arrow.d.vue.ts +1 -1
- package/dist/components/_internal/popover-arrow.vue +1 -1
- package/dist/components/{steps → _internal}/step-item.d.vue.ts +1 -1
- package/dist/components/{steps → _internal}/step-item.vue +1 -1
- package/dist/components/_internal/tree-node.d.vue.ts +20 -20
- package/dist/components/_internal/tree-node.vue +53 -45
- package/dist/components/active-graph/index.d.vue.ts +2 -2
- package/dist/components/approval-card/index.d.vue.ts +1 -1
- package/dist/components/approval-card/index.vue +34 -17
- package/dist/components/approval-card/types.d.ts +1 -1
- package/dist/components/avatar/index.d.vue.ts +2 -2
- package/dist/components/avatar/index.vue +1 -1
- package/dist/components/backtop/index.d.vue.ts +3 -3
- package/dist/components/backtop/index.vue +17 -17
- package/dist/components/backtop/types.d.ts +1 -1
- package/dist/components/badge/index.d.vue.ts +3 -3
- package/dist/components/badge/index.vue +43 -43
- package/dist/components/badge/types.d.ts +1 -1
- package/dist/components/book/types.d.ts +1 -1
- package/dist/components/border-beam/index.vue +1 -1
- package/dist/components/border-beam/types.d.ts +1 -1
- package/dist/components/bubble/index.vue +1 -1
- package/dist/components/bubble-group/index.d.vue.ts +4 -4
- package/dist/components/button/index.d.vue.ts +5 -5
- package/dist/components/button/index.vue +13 -13
- package/dist/components/button/types.d.ts +1 -1
- package/dist/components/button-group/types.d.ts +1 -1
- package/dist/components/calendar/index.d.vue.ts +2 -2
- package/dist/components/calendar/index.vue +5 -5
- package/dist/components/calendar/types.d.ts +1 -1
- package/dist/components/card/types.d.ts +1 -1
- package/dist/components/carousel/index.d.vue.ts +7 -7
- package/dist/components/carousel/index.vue +1 -1
- package/dist/components/carousel/types.d.ts +1 -1
- package/dist/components/checkbox/index.vue +1 -1
- package/dist/components/checkbox/types.d.ts +1 -1
- package/dist/components/checkbox-group/index.d.vue.ts +2 -2
- package/dist/components/checkbox-group/types.d.ts +1 -1
- package/dist/components/chip/index.d.vue.ts +1 -1
- package/dist/components/chip/types.d.ts +1 -1
- package/dist/components/choicebox/index.d.vue.ts +3 -3
- package/dist/components/choicebox/types.d.ts +1 -1
- package/dist/components/choicebox-item/index.vue +8 -8
- package/dist/components/choicebox-item/types.d.ts +1 -1
- package/dist/components/collapse/index.vue +2 -2
- package/dist/components/collapse-group/index.vue +1 -1
- package/dist/components/collapse-group/types.d.ts +1 -1
- package/dist/components/command-menu/index.d.vue.ts +5 -5
- package/dist/components/command-menu/index.vue +10 -3
- package/dist/components/config-provider/index.d.vue.ts +40 -5
- package/dist/components/config-provider/types.d.ts +2 -1
- package/dist/components/confirm-popover/index.d.vue.ts +39 -0
- package/dist/components/confirm-popover/index.vue +177 -0
- package/dist/components/confirm-popover/types.d.ts +23 -0
- package/dist/components/copy-button/index.d.vue.ts +2 -6
- package/dist/components/copy-button/index.vue +4 -6
- package/dist/components/dash-line/index.d.vue.ts +1 -1
- package/dist/components/dash-line/index.vue +8 -8
- package/dist/components/dash-line/types.d.ts +1 -1
- package/dist/components/date-picker/index.d.vue.ts +1 -1
- package/dist/components/date-picker/index.vue +3 -3
- package/dist/components/date-picker/types.d.ts +1 -1
- package/dist/components/drawer/index.d.vue.ts +7 -7
- package/dist/components/drawer/index.vue +30 -15
- package/dist/components/drawer/types.d.ts +2 -2
- package/dist/components/effort-slider/index.vue +12 -18
- package/dist/components/effort-slider/types.d.ts +1 -1
- package/dist/components/ellipsis-text/index.d.vue.ts +2 -2
- package/dist/components/ellipsis-text/index.vue +75 -75
- package/dist/components/error/types.d.ts +1 -1
- package/dist/components/fader/index.vue +2 -2
- package/dist/components/fader/types.d.ts +1 -1
- package/dist/components/gauge/index.vue +2 -2
- package/dist/components/gauge/types.d.ts +1 -1
- package/dist/components/grid/types.d.ts +1 -1
- package/dist/components/grid-item/types.d.ts +1 -1
- package/dist/components/hint/index.d.vue.ts +32 -0
- package/dist/components/hint/index.vue +239 -0
- package/dist/components/hint/types.d.ts +17 -0
- package/dist/components/hold-button/index.d.vue.ts +4 -4
- package/dist/components/hold-button/index.vue +10 -10
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +4 -0
- package/dist/components/input/index.d.vue.ts +1 -1
- package/dist/components/input/index.vue +14 -7
- package/dist/components/input/types.d.ts +1 -1
- package/dist/components/intersection-observer/index.vue +3 -3
- package/dist/components/kbd/index.vue +2 -2
- package/dist/components/kbd/types.d.ts +1 -1
- package/dist/components/link-button/index.d.vue.ts +5 -5
- package/dist/components/list/index.d.vue.ts +4 -4
- package/dist/components/list/index.vue +126 -47
- package/dist/components/list/types.d.ts +1 -1
- package/dist/components/list-group/types.d.ts +1 -1
- package/dist/components/list-item/index.d.vue.ts +2 -2
- package/dist/components/list-item/index.vue +26 -8
- package/dist/components/loading-bar/index.vue +5 -5
- package/dist/components/marching-ants/index.d.vue.ts +2 -2
- package/dist/components/marching-ants/index.vue +56 -56
- package/dist/components/marching-ants/types.d.ts +1 -1
- package/dist/components/marquee/index.d.vue.ts +6 -6
- package/dist/components/marquee/index.vue +16 -16
- package/dist/components/marquee/types.d.ts +1 -1
- package/dist/components/material/index.d.vue.ts +3 -3
- package/dist/components/mention/index.d.vue.ts +5 -5
- package/dist/components/mention/index.vue +68 -68
- package/dist/components/menu/index.d.vue.ts +4 -4
- package/dist/components/menu/index.vue +10 -10
- package/dist/components/menu/types.d.ts +1 -1
- package/dist/components/message/index.d.vue.ts +1 -1
- package/dist/components/message/index.vue +19 -25
- package/dist/components/message/types.d.ts +1 -1
- package/dist/components/message-item/index.vue +2 -6
- package/dist/components/modal/index.d.vue.ts +7 -7
- package/dist/components/modal/index.vue +26 -11
- package/dist/components/modal/types.d.ts +2 -2
- package/dist/components/noise-background/types.d.ts +1 -1
- package/dist/components/note/index.vue +6 -2
- package/dist/components/note/types.d.ts +2 -1
- package/dist/components/number-input/index.d.vue.ts +11 -6
- package/dist/components/number-input/index.vue +57 -16
- package/dist/components/number-input/types.d.ts +2 -1
- package/dist/components/overlay/index.d.vue.ts +2 -3
- package/dist/components/overlay/index.vue +10 -62
- package/dist/components/overlay/types.d.ts +0 -2
- package/dist/components/page-number/index.vue +30 -29
- package/dist/components/page-number/types.d.ts +1 -1
- package/dist/components/pin-input/index.d.vue.ts +1 -1
- package/dist/components/pin-input/index.vue +6 -6
- package/dist/components/pin-input/types.d.ts +1 -1
- package/dist/components/popover/index.vue +49 -21
- package/dist/components/popover/types.d.ts +3 -1
- package/dist/components/progress/index.d.vue.ts +2 -2
- package/dist/components/progress/index.vue +12 -12
- package/dist/components/progress/types.d.ts +1 -1
- package/dist/components/project-banner/types.d.ts +1 -1
- package/dist/components/questionnaire/index.vue +14 -14
- package/dist/components/radio/index.vue +1 -1
- package/dist/components/radio/types.d.ts +1 -1
- package/dist/components/radio-group/index.d.vue.ts +2 -2
- package/dist/components/radio-group/types.d.ts +1 -1
- package/dist/components/rating/index.vue +28 -28
- package/dist/components/rating/types.d.ts +1 -1
- package/dist/components/resizable/index.d.vue.ts +1 -0
- package/dist/components/resizable/index.vue +130 -195
- package/dist/components/resizable/types.d.ts +2 -10
- package/dist/components/reveal/index.d.vue.ts +3 -3
- package/dist/components/reveal/index.vue +4 -4
- package/dist/components/reveal/types.d.ts +1 -1
- package/dist/components/rolling-number/index.d.vue.ts +2 -2
- package/dist/components/rolling-number/index.vue +15 -15
- package/dist/components/scalable-text/index.vue +9 -9
- package/dist/components/scroll-text/index.d.vue.ts +3 -3
- package/dist/components/scroll-text/index.vue +6 -6
- package/dist/components/scroll-text/types.d.ts +1 -1
- package/dist/components/scrollable/types.d.ts +2 -1
- package/dist/components/search-input/index.d.vue.ts +5 -5
- package/dist/components/search-input/index.vue +2 -1
- package/dist/components/select/index.d.vue.ts +12 -9
- package/dist/components/select/index.vue +165 -42
- package/dist/components/select/types.d.ts +3 -1
- package/dist/components/separator/index.d.vue.ts +1 -1
- package/dist/components/separator/types.d.ts +1 -1
- package/dist/components/skeleton/index.d.vue.ts +1 -1
- package/dist/components/skeleton/index.vue +11 -11
- package/dist/components/skeleton/types.d.ts +1 -1
- package/dist/components/slider/index.d.vue.ts +1 -1
- package/dist/components/slider/index.vue +1 -1
- package/dist/components/slider/types.d.ts +1 -1
- package/dist/components/snippet/index.d.vue.ts +3 -3
- package/dist/components/snippet/index.vue +7 -5
- package/dist/components/snippet/types.d.ts +1 -1
- package/dist/components/spinner/index.vue +5 -1
- package/dist/components/spinner-dots/index.d.vue.ts +1 -1
- package/dist/components/split-button/index.d.vue.ts +5 -5
- package/dist/components/split-button/types.d.ts +1 -1
- package/dist/components/stack/index.d.vue.ts +3 -3
- package/dist/components/stack/index.vue +28 -29
- package/dist/components/stack/types.d.ts +1 -1
- package/dist/components/status-dot/types.d.ts +1 -1
- package/dist/components/steps/index.d.vue.ts +2 -2
- package/dist/components/steps/index.vue +6 -6
- package/dist/components/steps/types.d.ts +1 -1
- package/dist/components/stick-to-bottom/types.d.ts +1 -1
- package/dist/components/swipe-cell/index.d.vue.ts +6 -6
- package/dist/components/swipe-cell/index.vue +64 -64
- package/dist/components/swipe-cell/types.d.ts +2 -1
- package/dist/components/switch/index.vue +1 -1
- package/dist/components/switch/types.d.ts +1 -1
- package/dist/components/switch-item/index.vue +1 -1
- package/dist/components/switch-item/types.d.ts +1 -1
- package/dist/components/tabs/index.d.vue.ts +1 -1
- package/dist/components/tabs/index.vue +48 -51
- package/dist/components/tabs/types.d.ts +1 -1
- package/dist/components/teleport/index.vue +2 -2
- package/dist/components/text/index.d.vue.ts +3 -3
- package/dist/components/text/index.vue +11 -11
- package/dist/components/text/types.d.ts +1 -1
- package/dist/components/textarea/index.vue +1 -1
- package/dist/components/textarea/types.d.ts +1 -1
- package/dist/components/theme-switcher/index.d.vue.ts +3 -2
- package/dist/components/theme-switcher/index.vue +15 -7
- package/dist/components/theme-switcher/types.d.ts +2 -2
- package/dist/components/time-ago/index.d.vue.ts +6 -0
- package/dist/components/time-ago/index.vue +143 -0
- package/dist/components/time-ago/types.d.ts +4 -0
- package/dist/components/time-picker/index.d.vue.ts +1 -1
- package/dist/components/time-picker/index.vue +7 -7
- package/dist/components/time-picker/types.d.ts +1 -1
- package/dist/components/toc/index.d.vue.ts +2 -2
- package/dist/components/toc/index.vue +1 -1
- package/dist/components/todo-list/index.d.vue.ts +4 -4
- package/dist/components/todo-list/index.vue +15 -15
- package/dist/components/todo-list/types.d.ts +1 -1
- package/dist/components/toggle/index.vue +3 -3
- package/dist/components/toggle/types.d.ts +1 -1
- package/dist/components/toggle-button/index.vue +14 -11
- package/dist/components/toggle-button/types.d.ts +2 -2
- package/dist/components/toggle-button-group/index.d.vue.ts +3 -3
- package/dist/components/toggle-button-group/index.vue +2 -2
- package/dist/components/toggle-button-group/types.d.ts +2 -2
- package/dist/components/tool-call/index.vue +5 -5
- package/dist/components/tooltip/index.d.vue.ts +4 -5
- package/dist/components/tooltip/index.vue +4 -49
- package/dist/components/tooltip/types.d.ts +3 -7
- package/dist/components/tour/index.d.vue.ts +33 -0
- package/dist/components/tour/index.vue +302 -0
- package/dist/components/tour/types.d.ts +29 -0
- package/dist/components/tree/index.d.vue.ts +24 -28
- package/dist/components/tree/index.vue +290 -223
- package/dist/components/tree/types.d.ts +38 -13
- package/dist/components/virtual-list/index.d.vue.ts +4 -4
- package/dist/composables/_internal/use-list-keyboard-controller.js +9 -10
- package/dist/composables/_internal/use-list-rows.d.ts +4 -0
- package/dist/composables/_internal/use-list-rows.js +12 -4
- package/dist/composables/_internal/use-list-selection.d.ts +1 -1
- package/dist/composables/_internal/use-lock-scroll.d.ts +8 -1
- package/dist/composables/_internal/use-lock-scroll.js +57 -36
- package/dist/composables/_internal/use-mention-editor.js +1 -1
- package/dist/composables/_internal/use-message-group.d.ts +22 -0
- package/dist/composables/_internal/use-message-group.js +143 -0
- package/dist/composables/_internal/use-overlay-dialog.js +1 -3
- package/dist/composables/_internal/use-overlay-manager.d.ts +4 -1
- package/dist/composables/_internal/use-overlay-manager.js +67 -8
- package/dist/composables/_internal/use-swipe-gesture.d.ts +1 -1
- package/dist/composables/_internal/use-tour-target.d.ts +29 -0
- package/dist/composables/_internal/use-tour-target.js +201 -0
- package/dist/composables/_internal/use-tree.d.ts +103 -0
- package/dist/composables/_internal/use-tree.js +676 -0
- package/dist/composables/_internal/use-word-limit.d.ts +1 -1
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.js +1 -0
- package/dist/composables/use-color-scheme.d.ts +1 -1
- package/dist/composables/use-color-scheme.js +7 -6
- package/dist/composables/use-delay-destroy.d.ts +1 -1
- package/dist/composables/use-document-hidden.d.ts +1 -1
- package/dist/composables/use-intersection-observer.d.ts +1 -1
- package/dist/composables/use-intersection-observer.js +1 -1
- package/dist/composables/{_internal/use-motion-reduce.js → use-motion-reduce.js} +2 -2
- package/dist/composables/use-mutation-observer.d.ts +1 -1
- package/dist/composables/use-mutation-observer.js +1 -1
- package/dist/composables/use-resize-observer.d.ts +1 -1
- package/dist/composables/use-resize-observer.js +1 -1
- package/dist/composables/use-view-transition.js +1 -0
- package/dist/composables/use-virtual-list.d.ts +1 -1
- package/dist/constants/tooltip-variants.d.ts +28 -0
- package/dist/constants/tooltip-variants.js +27 -0
- package/dist/contexts/avatar.js +1 -1
- package/dist/contexts/breadcrumb.js +1 -1
- package/dist/contexts/button.js +1 -1
- package/dist/contexts/checkbox.js +1 -1
- package/dist/contexts/choicebox.js +1 -1
- package/dist/contexts/collapse.js +1 -1
- package/dist/contexts/config-provider.js +1 -1
- package/dist/contexts/list.js +1 -1
- package/dist/contexts/radio.js +1 -1
- package/dist/contexts/switch.js +1 -1
- package/dist/contexts/toggle-button.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/locales/en-us.d.ts +35 -0
- package/dist/locales/en-us.js +20 -0
- package/dist/locales/zh-cn.d.ts +35 -0
- package/dist/locales/zh-cn.js +20 -0
- package/dist/styles/styles.css +1 -1
- package/dist/styles/tw.css +43 -30
- package/dist/utils/{context.js → _internal/context.js} +1 -1
- package/dist/utils/{observer.d.ts → _internal/observer.d.ts} +1 -1
- package/dist/utils/{observer.js → _internal/observer.js} +4 -4
- package/dist/{components/swipe-cell/instances.d.ts → utils/_internal/swipe-cell-instances.d.ts} +1 -1
- package/dist/utils/event.d.ts +2 -1
- package/dist/utils/event.js +3 -0
- package/package.json +26 -50
- package/volar.d.ts +4 -0
- package/dist/components/message/composables/use-group-expand.d.ts +0 -13
- package/dist/components/message/composables/use-group-expand.js +0 -50
- package/dist/components/message/composables/use-message-timer.d.ts +0 -9
- package/dist/components/message/composables/use-message-timer.js +0 -62
- package/dist/components/message/composables/use-promise-message.d.ts +0 -4
- package/dist/components/message/composables/use-promise-message.js +0 -49
- package/dist/components/resizable/utils.d.ts +0 -4
- package/dist/components/resizable/utils.js +0 -10
- package/dist/composables/_internal/use-tree-drag.d.ts +0 -23
- package/dist/composables/_internal/use-tree-drag.js +0 -196
- package/dist/composables/_internal/use-tree-move.d.ts +0 -20
- package/dist/composables/_internal/use-tree-move.js +0 -96
- package/dist/composables/_internal/use-tree-rows.d.ts +0 -46
- package/dist/composables/_internal/use-tree-rows.js +0 -101
- package/dist/composables/_internal/use-tree-selection.d.ts +0 -22
- package/dist/composables/_internal/use-tree-selection.js +0 -87
- package/dist/styles/source.css +0 -675
- package/dist/types/shared/index.d.ts +0 -2
- /package/dist/composables/{_internal/use-motion-reduce.d.ts → use-motion-reduce.d.ts} +0 -0
- /package/dist/utils/{context.d.ts → _internal/context.d.ts} +0 -0
- /package/dist/utils/{mention-html.d.ts → _internal/mention-html.d.ts} +0 -0
- /package/dist/utils/{mention-html.js → _internal/mention-html.js} +0 -0
- /package/dist/{components/swipe-cell/instances.js → utils/_internal/swipe-cell-instances.js} +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import DeviceAlternateIcon from "@gdsicon/vue/device-alternate";
|
|
2
3
|
import MoonIcon from "@gdsicon/vue/moon";
|
|
3
4
|
import SunIcon from "@gdsicon/vue/sun";
|
|
4
5
|
import { computed, watch } from "vue";
|
|
@@ -9,22 +10,29 @@ defineOptions({
|
|
|
9
10
|
inheritAttrs: false
|
|
10
11
|
});
|
|
11
12
|
const emits = defineEmits(["toggle"]);
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
const SCHEME_ICONS = {
|
|
14
|
+
auto: DeviceAlternateIcon,
|
|
15
|
+
light: SunIcon,
|
|
16
|
+
dark: MoonIcon
|
|
17
|
+
};
|
|
18
|
+
const { colorScheme, toggleDarkMode } = useColorScheme({ syncStatus: true });
|
|
19
|
+
const renderIcon = computed(() => SCHEME_ICONS[colorScheme.value]);
|
|
20
|
+
watch(() => colorScheme.value, (newVal) => {
|
|
21
|
+
emits("toggle", newVal);
|
|
16
22
|
});
|
|
17
23
|
</script>
|
|
18
24
|
|
|
19
25
|
<template>
|
|
20
26
|
<PButton
|
|
27
|
+
icon
|
|
21
28
|
data-theme-switcher
|
|
22
29
|
aria-label="Toggle color mode"
|
|
23
30
|
class="pxd-theme-switcher"
|
|
24
31
|
v-bind="$attrs"
|
|
25
|
-
|
|
26
|
-
@click="toggleDarkMode"
|
|
32
|
+
@click="toggleDarkMode()"
|
|
27
33
|
>
|
|
28
|
-
<
|
|
34
|
+
<Transition name="pxd-transition--fade-scale" mode="out-in">
|
|
35
|
+
<Component :is="renderIcon" class="size-em" />
|
|
36
|
+
</Transition>
|
|
29
37
|
</PButton>
|
|
30
38
|
</template>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TimeAgoProps } from './types';
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<TimeAgoProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TimeAgoProps> & Readonly<{}>, {
|
|
3
|
+
refresh: boolean;
|
|
4
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
5
|
+
declare const _default: typeof __VLS_export;
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, onActivated, onDeactivated, onMounted, onUnmounted, shallowRef, watch } from "vue";
|
|
3
|
+
import { useConfigProvider } from "../../contexts/config-provider.js";
|
|
4
|
+
import { dayjs } from "../../utils/date.js";
|
|
5
|
+
import { cachedOn, cachedOff } from "../../utils/event.js";
|
|
6
|
+
defineOptions({
|
|
7
|
+
name: "PTimeAgo",
|
|
8
|
+
inheritAttrs: false
|
|
9
|
+
});
|
|
10
|
+
const props = defineProps({
|
|
11
|
+
value: {
|
|
12
|
+
type: [
|
|
13
|
+
String,
|
|
14
|
+
Number,
|
|
15
|
+
Date
|
|
16
|
+
],
|
|
17
|
+
required: true
|
|
18
|
+
},
|
|
19
|
+
refresh: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
required: false,
|
|
22
|
+
default: true
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const SECOND = 1e3;
|
|
26
|
+
const MINUTE = 60 * SECOND;
|
|
27
|
+
const HOUR = 60 * MINUTE;
|
|
28
|
+
const DAY = 24 * HOUR;
|
|
29
|
+
const MONTH = 30 * DAY;
|
|
30
|
+
const YEAR = 365 * DAY;
|
|
31
|
+
const BUCKETS = [
|
|
32
|
+
{
|
|
33
|
+
unit: "now",
|
|
34
|
+
size: MINUTE,
|
|
35
|
+
limit: MINUTE
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
unit: "minute",
|
|
39
|
+
size: MINUTE,
|
|
40
|
+
limit: HOUR
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
unit: "hour",
|
|
44
|
+
size: HOUR,
|
|
45
|
+
limit: DAY
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
unit: "day",
|
|
49
|
+
size: DAY,
|
|
50
|
+
limit: MONTH
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
unit: "month",
|
|
54
|
+
size: MONTH,
|
|
55
|
+
limit: YEAR
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
unit: "year",
|
|
59
|
+
size: YEAR,
|
|
60
|
+
limit: Infinity
|
|
61
|
+
}
|
|
62
|
+
];
|
|
63
|
+
let refreshTimer;
|
|
64
|
+
const timestamp = computed(() => dayjs(props.value).valueOf());
|
|
65
|
+
const now = shallowRef(Date.now());
|
|
66
|
+
const dateTime = computed(() => Number.isFinite(timestamp.value) ? dayjs(timestamp.value).toISOString() : undefined);
|
|
67
|
+
const configProvider = useConfigProvider();
|
|
68
|
+
const text = computed(() => {
|
|
69
|
+
const locale = configProvider.locale.timeAgo;
|
|
70
|
+
if (!Number.isFinite(timestamp.value)) {
|
|
71
|
+
return locale.invalid;
|
|
72
|
+
}
|
|
73
|
+
const diff = now.value - timestamp.value;
|
|
74
|
+
const { bucket, value } = resolveBucket(Math.abs(diff));
|
|
75
|
+
if (bucket.unit === "now") {
|
|
76
|
+
return locale.now;
|
|
77
|
+
}
|
|
78
|
+
const labels = locale.unit[bucket.unit];
|
|
79
|
+
const unit = value === 1 ? labels.one : labels.other;
|
|
80
|
+
return (diff >= 0 ? locale.past : locale.future).replace("{value}", String(value)).replace("{unit}", unit);
|
|
81
|
+
});
|
|
82
|
+
function resolveBucket(age) {
|
|
83
|
+
const bucket = BUCKETS.find((item) => age < item.limit) ?? BUCKETS[BUCKETS.length - 1];
|
|
84
|
+
return {
|
|
85
|
+
bucket,
|
|
86
|
+
value: Math.floor(age / bucket.size)
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function getNextDelay() {
|
|
90
|
+
const age = Math.abs(now.value - timestamp.value);
|
|
91
|
+
const { bucket, value } = resolveBucket(age);
|
|
92
|
+
return Math.min((value + 1) * bucket.size, bucket.limit) - age;
|
|
93
|
+
}
|
|
94
|
+
function stopTimer() {
|
|
95
|
+
clearTimeout(refreshTimer);
|
|
96
|
+
}
|
|
97
|
+
function startTimer() {
|
|
98
|
+
stopTimer();
|
|
99
|
+
if (!props.refresh) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const delay = getNextDelay();
|
|
103
|
+
if (!Number.isFinite(delay) || delay > DAY) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
refreshTimer = setTimeout(syncNow, delay);
|
|
107
|
+
}
|
|
108
|
+
function syncNow() {
|
|
109
|
+
if (!props.refresh) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
now.value = Date.now();
|
|
113
|
+
startTimer();
|
|
114
|
+
}
|
|
115
|
+
function handleVisibilityChange() {
|
|
116
|
+
if (document.visibilityState === "visible") {
|
|
117
|
+
syncNow();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
watch(() => [timestamp.value, props.refresh], startTimer);
|
|
121
|
+
onActivated(syncNow);
|
|
122
|
+
onDeactivated(stopTimer);
|
|
123
|
+
onMounted(() => {
|
|
124
|
+
startTimer();
|
|
125
|
+
cachedOn(document, "visibilitychange", handleVisibilityChange);
|
|
126
|
+
});
|
|
127
|
+
onUnmounted(() => {
|
|
128
|
+
stopTimer();
|
|
129
|
+
cachedOff(document, "visibilitychange", handleVisibilityChange);
|
|
130
|
+
});
|
|
131
|
+
</script>
|
|
132
|
+
|
|
133
|
+
<template>
|
|
134
|
+
<time
|
|
135
|
+
class="pxd-time-ago"
|
|
136
|
+
data-time-ago
|
|
137
|
+
data-allow-mismatch="text"
|
|
138
|
+
:datetime="dateTime"
|
|
139
|
+
v-bind="$attrs"
|
|
140
|
+
>
|
|
141
|
+
{{ text }}
|
|
142
|
+
</time>
|
|
143
|
+
</template>
|
|
@@ -10,7 +10,7 @@ declare const __VLS_export: import("vue").DefineComponent<TimePickerProps, {}, {
|
|
|
10
10
|
closeOnPressEscape: boolean;
|
|
11
11
|
valueFormat: string;
|
|
12
12
|
suffixIcon: boolean;
|
|
13
|
-
presets: import("./types").DateTimePreset[];
|
|
13
|
+
presets: import("./types").DateTimePreset<Date>[];
|
|
14
14
|
showSeconds: boolean;
|
|
15
15
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
16
|
declare const _default: typeof __VLS_export;
|
|
@@ -92,18 +92,12 @@ const paddedTimes = {
|
|
|
92
92
|
minutes: Array.from({ length: 60 }, (_, i) => padStringZero(i)),
|
|
93
93
|
seconds: Array.from({ length: 60 }, (_, i) => padStringZero(i))
|
|
94
94
|
};
|
|
95
|
-
const
|
|
96
|
-
const { isAdaptive, responsiveClasses } = usePopoverResponsive();
|
|
95
|
+
const scrollTimers = [];
|
|
97
96
|
const timeHoursRef = shallowRef();
|
|
98
97
|
const timeMinutesRef = shallowRef();
|
|
99
98
|
const timeSecondsRef = shallowRef();
|
|
100
99
|
const popoverVisible = shallowRef(false);
|
|
101
100
|
const dayjsDateTime = shallowRef(null);
|
|
102
|
-
const committedValue = shallowRef("");
|
|
103
|
-
const modelValue = useModelValue(props, emits, { get() {
|
|
104
|
-
return dayjsDateTime.value ? dayjsDateTime.value.format(props.labelFormat ?? "HH:mm:ss") : "";
|
|
105
|
-
} });
|
|
106
|
-
const scrollTimers = [];
|
|
107
101
|
const onTimeListScroll = throttleByRaf((ev) => {
|
|
108
102
|
const target = ev.target;
|
|
109
103
|
const value = Math.round(target.scrollTop / HEIGHT);
|
|
@@ -122,6 +116,12 @@ const onTimeListScroll = throttleByRaf((ev) => {
|
|
|
122
116
|
dayjsDateTime.value = dayjsDateTime.value.set(type, clampedValue);
|
|
123
117
|
}, 100);
|
|
124
118
|
});
|
|
119
|
+
const committedValue = shallowRef("");
|
|
120
|
+
const configProvider = useConfigProvider();
|
|
121
|
+
const { isAdaptive, responsiveClasses } = usePopoverResponsive();
|
|
122
|
+
const modelValue = useModelValue(props, emits, { get() {
|
|
123
|
+
return dayjsDateTime.value ? dayjsDateTime.value.format(props.labelFormat ?? "HH:mm:ss") : "";
|
|
124
|
+
} });
|
|
125
125
|
function padStringZero(value) {
|
|
126
126
|
return String(value).padStart(2, "0");
|
|
127
127
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TocItem, TocProps } from './types';
|
|
2
2
|
declare function scrollTo(id: string): boolean;
|
|
3
|
-
declare var
|
|
3
|
+
declare var __VLS_2: {
|
|
4
4
|
active: boolean;
|
|
5
5
|
select: (event: PointerEvent) => void;
|
|
6
6
|
item: TocItem;
|
|
@@ -8,7 +8,7 @@ declare var __VLS_1: {
|
|
|
8
8
|
depth: number;
|
|
9
9
|
};
|
|
10
10
|
type __VLS_Slots = {} & {
|
|
11
|
-
item?: (props: typeof
|
|
11
|
+
item?: (props: typeof __VLS_2) => any;
|
|
12
12
|
};
|
|
13
13
|
declare const __VLS_base: import("vue").DefineComponent<TocProps, {
|
|
14
14
|
activeId: import("vue").ComputedRef<string | null>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed, ref, shallowRef, watch } from "vue";
|
|
3
|
-
import { useMotionReduced } from "../../composables/
|
|
3
|
+
import { useMotionReduced } from "../../composables/use-motion-reduce.js";
|
|
4
4
|
import { useTailwindVariant } from "../../composables/_internal/use-tailwind-variant.js";
|
|
5
5
|
import { useMutationObserver } from "../../composables/use-mutation-observer.js";
|
|
6
6
|
import { useScrollspy } from "../../composables/use-scrollspy.js";
|
|
@@ -11,12 +11,12 @@ declare var __VLS_6: {
|
|
|
11
11
|
stats: TodoStats;
|
|
12
12
|
title: string | number;
|
|
13
13
|
summary: string;
|
|
14
|
-
}, __VLS_13: {},
|
|
14
|
+
}, __VLS_13: {}, __VLS_16: {
|
|
15
15
|
item: TodoOption;
|
|
16
16
|
index: number;
|
|
17
17
|
status: TodoStatus;
|
|
18
18
|
toggle: () => void;
|
|
19
|
-
},
|
|
19
|
+
}, __VLS_33: {
|
|
20
20
|
item: TodoOption;
|
|
21
21
|
index: number;
|
|
22
22
|
status: TodoStatus;
|
|
@@ -26,9 +26,9 @@ type __VLS_Slots = {} & {
|
|
|
26
26
|
} & {
|
|
27
27
|
empty?: (props: typeof __VLS_13) => any;
|
|
28
28
|
} & {
|
|
29
|
-
item?: (props: typeof
|
|
29
|
+
item?: (props: typeof __VLS_16) => any;
|
|
30
30
|
} & {
|
|
31
|
-
'item-content'?: (props: typeof
|
|
31
|
+
'item-content'?: (props: typeof __VLS_33) => any;
|
|
32
32
|
};
|
|
33
33
|
declare const __VLS_base: import("vue").DefineComponent<TodoProps, {
|
|
34
34
|
isExpanded: import("vue").ShallowRef<boolean, boolean>;
|
|
@@ -58,11 +58,6 @@ const emits = defineEmits([
|
|
|
58
58
|
"update:modelValue",
|
|
59
59
|
"toggle"
|
|
60
60
|
]);
|
|
61
|
-
const configProvider = useConfigProvider();
|
|
62
|
-
const slots = useSlots();
|
|
63
|
-
const hasItemSlot = computed(() => !!slots.item);
|
|
64
|
-
const hasEmptySlot = computed(() => !!slots.empty);
|
|
65
|
-
const hasItemContentSlot = computed(() => !!slots["item-content"]);
|
|
66
61
|
const MARKER_CLASSES = {
|
|
67
62
|
pending: "border-2 border-gray-alpha-400",
|
|
68
63
|
in_progress: "",
|
|
@@ -79,16 +74,7 @@ const innerValue = shallowRef(props.defaultValue);
|
|
|
79
74
|
const isExpanded = shallowRef(props.defaultExpanded);
|
|
80
75
|
const contentRef = shallowRef();
|
|
81
76
|
const currentOptions = computed(() => props.modelValue ?? innerValue.value ?? props.options);
|
|
82
|
-
watch(() => props.options, (options) => {
|
|
83
|
-
if (props.modelValue === undefined) {
|
|
84
|
-
innerValue.value = options;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
77
|
const expanded = computed(() => !props.collapsible || isExpanded.value);
|
|
88
|
-
const { detailsOpen, isLeaving, skipEnterMotion } = useCollapseMotion(contentRef, expanded);
|
|
89
|
-
function resolveStatus(item) {
|
|
90
|
-
return item.status ?? "pending";
|
|
91
|
-
}
|
|
92
78
|
const stats = computed(() => {
|
|
93
79
|
const options = currentOptions.value;
|
|
94
80
|
const result = {
|
|
@@ -112,14 +98,23 @@ const stats = computed(() => {
|
|
|
112
98
|
}
|
|
113
99
|
return result;
|
|
114
100
|
});
|
|
115
|
-
const headerTitle = computed(() => props.title ?? configProvider.locale.todo.title);
|
|
116
101
|
const summaryText = computed(() => {
|
|
117
102
|
const { inProgress, pending, total, canceled } = stats.value;
|
|
118
103
|
const totalCount = total - canceled;
|
|
119
104
|
const currentCount = totalCount - inProgress - pending;
|
|
120
105
|
return totalCount > 0 ? `${currentCount}/${totalCount}` : "";
|
|
121
106
|
});
|
|
107
|
+
const configProvider = useConfigProvider();
|
|
108
|
+
const headerTitle = computed(() => props.title ?? configProvider.locale.todo.title);
|
|
122
109
|
const emptyText = computed(() => props.empty ?? configProvider.locale.results.noData);
|
|
110
|
+
const slots = useSlots();
|
|
111
|
+
const hasItemSlot = computed(() => !!slots.item);
|
|
112
|
+
const hasEmptySlot = computed(() => !!slots.empty);
|
|
113
|
+
const hasItemContentSlot = computed(() => !!slots["item-content"]);
|
|
114
|
+
const { detailsOpen, isLeaving, skipEnterMotion } = useCollapseMotion(contentRef, expanded);
|
|
115
|
+
function resolveStatus(item) {
|
|
116
|
+
return item.status ?? "pending";
|
|
117
|
+
}
|
|
123
118
|
function commit(index, status) {
|
|
124
119
|
const prev = currentOptions.value[index];
|
|
125
120
|
if (!prev) {
|
|
@@ -203,6 +198,11 @@ function onDetailsToggle(ev) {
|
|
|
203
198
|
isExpanded.value = true;
|
|
204
199
|
}
|
|
205
200
|
}
|
|
201
|
+
watch(() => props.options, (options) => {
|
|
202
|
+
if (props.modelValue === undefined) {
|
|
203
|
+
innerValue.value = options;
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
206
|
defineExpose({
|
|
207
207
|
isExpanded,
|
|
208
208
|
stats,
|
|
@@ -82,11 +82,11 @@ const SIZES = {
|
|
|
82
82
|
lg: "w-11 h-6"
|
|
83
83
|
};
|
|
84
84
|
const uniqueId = getUniqueId();
|
|
85
|
+
const isDisabled = computed(() => props.disabled || props.loading);
|
|
85
86
|
const configProvider = useConfigProvider();
|
|
87
|
+
const computedSize = computed(() => getFallbackValue(props.size, SIZES, configProvider.size));
|
|
86
88
|
const modelValue = useModelValue(props, emits);
|
|
87
89
|
const isChecked = computed(() => modelValue.value === props.activeValue);
|
|
88
|
-
const isDisabled = computed(() => props.disabled || props.loading);
|
|
89
|
-
const computedSize = computed(() => getFallbackValue(props.size, SIZES, configProvider.size));
|
|
90
90
|
async function onCheckboxChange(e) {
|
|
91
91
|
if (props.loading) {
|
|
92
92
|
return;
|
|
@@ -142,7 +142,7 @@ async function onCheckboxChange(e) {
|
|
|
142
142
|
<div
|
|
143
143
|
:data-checked="isChecked"
|
|
144
144
|
:data-disabled="isDisabled"
|
|
145
|
-
class="pxd-toggle--handle-icon
|
|
145
|
+
class="pxd-toggle--handle-icon shadow-sm bg-white relative flex aspect-square h-full translate-x-(--tx) transform-gpu items-center justify-center overflow-hidden rounded-full text-[10px] text-foreground-secondary motion-safe:transition-appearance dark:data-[checked=true]:bg-background-100 dark:data-[disabled=true]:bg-gray-900 dark:data-[disabled=true]:text-gray-500"
|
|
146
146
|
>
|
|
147
147
|
<div class="inset-0 pointer-events-none absolute flex items-center justify-center">
|
|
148
148
|
<Transition name="pxd-transition--fade" mode="out-in">
|
|
@@ -52,20 +52,20 @@ const props = defineProps({
|
|
|
52
52
|
});
|
|
53
53
|
const emits = defineEmits(["change", "update:modelValue"]);
|
|
54
54
|
const toggleButtonGroupContext = useToggleButtonGroupContext();
|
|
55
|
-
const modelValue = useModelValue(toggleButtonGroupContext?.props ?? props, toggleButtonGroupContext?.emits ?? emits);
|
|
56
|
-
const configProvider = useConfigProvider();
|
|
57
55
|
const isDisabled = computed(() => props.disabled || toggleButtonGroupContext?.props.disabled || false);
|
|
56
|
+
const computedVariant = computed(() => {
|
|
57
|
+
return props.variant || toggleButtonGroupContext?.props.variant || "default";
|
|
58
|
+
});
|
|
59
|
+
const modelValue = useModelValue(toggleButtonGroupContext?.props ?? props, toggleButtonGroupContext?.emits ?? emits);
|
|
58
60
|
const isChecked = computed(() => {
|
|
59
61
|
if (toggleButtonGroupContext?.props.multiple) {
|
|
60
62
|
return toArray(modelValue.value).includes(props.value);
|
|
61
63
|
}
|
|
62
64
|
return modelValue.value === props.value;
|
|
63
65
|
});
|
|
64
|
-
const
|
|
65
|
-
return props.variant || toggleButtonGroupContext?.props.variant || "ghost";
|
|
66
|
-
});
|
|
66
|
+
const configProvider = useConfigProvider();
|
|
67
67
|
const { attrs, classes } = useTailwindVariant({
|
|
68
|
-
base: "pxd-toggle-button gap-2 font-medium relative inline-flex shrink-0 appearance-none items-center justify-center border outline-none group-data-[gap=0]/toggle-button-group:not-first:rounded-l-none group-data-[gap=0]/toggle-button-group:not-first:border-l-0 group-data-[gap=0]/toggle-button-group:not-last:rounded-r-none motion-safe:transition-colors",
|
|
68
|
+
base: "pxd-toggle-button gap-2 font-medium relative inline-flex shrink-0 appearance-none items-center justify-center border self-focus-ring outline-none group-data-[gap=0]/toggle-button-group:not-first:rounded-l-none group-data-[gap=0]/toggle-button-group:not-first:border-l-0 group-data-[gap=0]/toggle-button-group:not-last:rounded-r-none focus-visible:z-1 motion-safe:transition-colors",
|
|
69
69
|
variants: {
|
|
70
70
|
size: {
|
|
71
71
|
xs: `${BASIC_HEIGHTS.xs} px-1.25 text-xs rounded-sm`,
|
|
@@ -74,10 +74,13 @@ const { attrs, classes } = useTailwindVariant({
|
|
|
74
74
|
lg: `${BASIC_HEIGHTS.lg} px-2.75 text-base rounded-lg`
|
|
75
75
|
},
|
|
76
76
|
variant: {
|
|
77
|
-
|
|
77
|
+
default: "border-gray-400 bg-background-100",
|
|
78
78
|
ghost: "border-transparent bg-transparent"
|
|
79
79
|
},
|
|
80
|
-
disabled: {
|
|
80
|
+
disabled: {
|
|
81
|
+
true: "cursor-not-allowed",
|
|
82
|
+
false: "cursor-pointer"
|
|
83
|
+
},
|
|
81
84
|
checked: {}
|
|
82
85
|
},
|
|
83
86
|
compoundVariants: [
|
|
@@ -94,15 +97,15 @@ const { attrs, classes } = useTailwindVariant({
|
|
|
94
97
|
{
|
|
95
98
|
checked: false,
|
|
96
99
|
disabled: true,
|
|
97
|
-
class: "
|
|
100
|
+
class: "text-gray-400"
|
|
98
101
|
},
|
|
99
102
|
{
|
|
100
103
|
checked: false,
|
|
101
104
|
disabled: false,
|
|
102
|
-
class: "hover:bg-background-hover
|
|
105
|
+
class: "hover:bg-background-hover"
|
|
103
106
|
},
|
|
104
107
|
{
|
|
105
|
-
variant: "
|
|
108
|
+
variant: "default",
|
|
106
109
|
checked: true,
|
|
107
110
|
disabled: true,
|
|
108
111
|
class: "bg-gray-100"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentLabel, ComponentSize, ComponentValue } from '../../types/shared'
|
|
1
|
+
import type { ComponentLabel, ComponentSize, ComponentValue } from '../../types/shared/props'
|
|
2
2
|
import type { CheckboxProps } from '../checkbox/types'
|
|
3
3
|
|
|
4
4
|
type ToggleButtonModelValue = ComponentValue | boolean
|
|
@@ -7,7 +7,7 @@ export interface ToggleButtonProps {
|
|
|
7
7
|
size?: ComponentSize
|
|
8
8
|
label?: ComponentLabel
|
|
9
9
|
value?: ToggleButtonModelValue
|
|
10
|
-
variant?: '
|
|
10
|
+
variant?: 'default' | 'ghost'
|
|
11
11
|
disabled?: boolean
|
|
12
12
|
modelValue?: ToggleButtonModelValue | ToggleButtonModelValue[]
|
|
13
13
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToggleButtonGroupProps } from './types';
|
|
2
|
-
declare var
|
|
2
|
+
declare var __VLS_7: {};
|
|
3
3
|
type __VLS_Slots = {} & {
|
|
4
|
-
default?: (props: typeof
|
|
4
|
+
default?: (props: typeof __VLS_7) => any;
|
|
5
5
|
};
|
|
6
6
|
declare const __VLS_base: import("vue").DefineComponent<ToggleButtonGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
7
|
change: (args_0: NonNullable<import("../checkbox/types.js").CheckboxModelValue | import("../checkbox/types.js").CheckboxModelValue[] | undefined>) => any;
|
|
@@ -10,7 +10,7 @@ declare const __VLS_base: import("vue").DefineComponent<ToggleButtonGroupProps,
|
|
|
10
10
|
onChange?: ((args_0: NonNullable<import("../checkbox/types.js").CheckboxModelValue | import("../checkbox/types.js").CheckboxModelValue[] | undefined>) => any) | undefined;
|
|
11
11
|
"onUpdate:modelValue"?: ((args_0: NonNullable<import("../checkbox/types.js").CheckboxModelValue | import("../checkbox/types.js").CheckboxModelValue[] | undefined>) => any) | undefined;
|
|
12
12
|
}>, {
|
|
13
|
-
variant: "
|
|
13
|
+
variant: "default" | "ghost";
|
|
14
14
|
modelValue: import("../../types/shared/props.js").ComponentValue | import("../../types/shared/props.js").ComponentValue[];
|
|
15
15
|
gap: import("../../types/shared/props.js").ResponsiveValue<string | number>;
|
|
16
16
|
multiple: boolean;
|
|
@@ -42,7 +42,7 @@ const props = defineProps({
|
|
|
42
42
|
variant: {
|
|
43
43
|
type: String,
|
|
44
44
|
required: false,
|
|
45
|
-
default: "
|
|
45
|
+
default: "default"
|
|
46
46
|
},
|
|
47
47
|
modelValue: {
|
|
48
48
|
type: [
|
|
@@ -57,7 +57,7 @@ const props = defineProps({
|
|
|
57
57
|
const emits = defineEmits(["change", "update:modelValue"]);
|
|
58
58
|
const configProvider = useConfigProvider();
|
|
59
59
|
const { attrs, classes } = useTailwindVariant({
|
|
60
|
-
base: "pxd-toggle-button-group group/toggle-button-group w-max
|
|
60
|
+
base: "pxd-toggle-button-group group/toggle-button-group w-max",
|
|
61
61
|
variants: { size: {
|
|
62
62
|
sm: "rounded-md",
|
|
63
63
|
md: "rounded-md",
|
|
@@ -3,7 +3,7 @@ import type {
|
|
|
3
3
|
ComponentValue,
|
|
4
4
|
ComponentOption,
|
|
5
5
|
ResponsiveValue,
|
|
6
|
-
} from '../../types/shared'
|
|
6
|
+
} from '../../types/shared/props'
|
|
7
7
|
import type { CheckboxProps } from '../checkbox/types'
|
|
8
8
|
|
|
9
9
|
export interface ToggleButtonGroupProps {
|
|
@@ -12,7 +12,7 @@ export interface ToggleButtonGroupProps {
|
|
|
12
12
|
disabled?: boolean
|
|
13
13
|
multiple?: boolean
|
|
14
14
|
options?: ComponentOption[]
|
|
15
|
-
variant?: '
|
|
15
|
+
variant?: 'default' | 'ghost'
|
|
16
16
|
modelValue?: ComponentValue | ComponentValue[]
|
|
17
17
|
}
|
|
18
18
|
|
|
@@ -31,10 +31,6 @@ const props = defineProps({
|
|
|
31
31
|
required: false
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
-
const isOpen = shallowRef(true);
|
|
35
|
-
const configProvider = useConfigProvider();
|
|
36
|
-
const contentRef = shallowRef();
|
|
37
|
-
const { detailsOpen, isLeaving, skipEnterMotion } = useCollapseMotion(contentRef, isOpen);
|
|
38
34
|
const STATUS_META = {
|
|
39
35
|
pending: {
|
|
40
36
|
icon: ClockIcon,
|
|
@@ -57,12 +53,16 @@ const STATUS_META = {
|
|
|
57
53
|
badge: "red-subtle"
|
|
58
54
|
}
|
|
59
55
|
};
|
|
56
|
+
const isOpen = shallowRef(true);
|
|
57
|
+
const contentRef = shallowRef();
|
|
60
58
|
const statusMeta = computed(() => STATUS_META[props.status]);
|
|
61
|
-
const statusLabel = computed(() => configProvider.locale.toolCall[props.status]);
|
|
62
59
|
const inputText = computed(() => formatPayload(props.input));
|
|
63
60
|
const outputText = computed(() => formatPayload(props.output));
|
|
64
61
|
const inputTokens = computed(() => inputText.value ? tokenizeJson(inputText.value) : []);
|
|
65
62
|
const outputTokens = computed(() => outputText.value ? tokenizeJson(outputText.value) : []);
|
|
63
|
+
const configProvider = useConfigProvider();
|
|
64
|
+
const statusLabel = computed(() => configProvider.locale.toolCall[props.status]);
|
|
65
|
+
const { detailsOpen, isLeaving, skipEnterMotion } = useCollapseMotion(contentRef, isOpen);
|
|
66
66
|
function formatPayload(value) {
|
|
67
67
|
if (value === undefined) {
|
|
68
68
|
return "";
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import type { TooltipProps } from './types';
|
|
2
|
-
declare var
|
|
2
|
+
declare var __VLS_7: {}, __VLS_10: {
|
|
3
3
|
activeTrigger: HTMLElement | null;
|
|
4
4
|
activeTriggerIndex: number;
|
|
5
5
|
};
|
|
6
6
|
type __VLS_Slots = {} & {
|
|
7
|
-
default?: (props: typeof
|
|
7
|
+
default?: (props: typeof __VLS_7) => any;
|
|
8
8
|
} & {
|
|
9
|
-
content?: (props: typeof
|
|
9
|
+
content?: (props: typeof __VLS_10) => any;
|
|
10
10
|
};
|
|
11
11
|
declare const __VLS_base: import("vue").DefineComponent<TooltipProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TooltipProps> & Readonly<{}>, {
|
|
12
|
-
variant: "default" | "
|
|
12
|
+
variant: "default" | "violet" | "error" | "warning" | "success" | "invert";
|
|
13
13
|
position: import("../../types/shared/props.js").ComponentPosition;
|
|
14
14
|
showDelay: number;
|
|
15
15
|
hideDelay: number;
|
|
16
|
-
showArrow: boolean;
|
|
17
16
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
17
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
19
18
|
declare const _default: typeof __VLS_export;
|