pxd 0.0.55 → 0.0.61
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/README.md +18 -4
- package/dist/components/_internal/fragment-container.vue +3 -2
- package/dist/components/active-graph/index.d.vue.ts +2 -3
- package/dist/components/active-graph/index.vue +23 -16
- package/dist/components/active-graph/types.d.ts +4 -3
- package/dist/components/avatar/index.vue +19 -10
- package/dist/components/avatar/types.d.ts +0 -12
- package/dist/components/avatar-group/index.d.vue.ts +2 -2
- package/dist/components/avatar-group/index.vue +4 -3
- package/dist/components/avatar-group/types.d.ts +11 -0
- package/dist/components/badge/index.d.vue.ts +1 -1
- package/dist/components/badge/index.vue +47 -3
- package/dist/components/badge/types.d.ts +24 -1
- package/dist/components/book/index.vue +3 -2
- package/dist/components/browser/index.vue +6 -2
- package/dist/components/button/index.d.vue.ts +1 -1
- package/dist/components/button/index.vue +60 -12
- package/dist/components/carousel/index.d.vue.ts +24 -2
- package/dist/components/carousel/index.vue +341 -28
- package/dist/components/carousel/types.d.ts +2 -2
- package/dist/components/carousel-item/index.d.vue.ts +13 -0
- package/dist/components/carousel-item/index.vue +49 -0
- package/dist/components/checkbox/index.d.vue.ts +1 -5
- package/dist/components/checkbox/index.vue +66 -31
- package/dist/components/checkbox/types.d.ts +2 -14
- package/dist/components/checkbox-group/index.d.vue.ts +2 -7
- package/dist/components/checkbox-group/index.vue +11 -29
- package/dist/components/checkbox-group/types.d.ts +12 -0
- package/dist/components/chip/index.d.vue.ts +1 -1
- package/dist/components/chip/index.vue +31 -2
- package/dist/components/choicebox/index.d.vue.ts +11 -5
- package/dist/components/choicebox/index.vue +36 -54
- package/dist/components/choicebox/types.d.ts +11 -18
- package/dist/components/choicebox-item/index.d.vue.ts +16 -0
- package/dist/components/choicebox-item/index.vue +67 -0
- package/dist/components/choicebox-item/types.d.ts +12 -0
- package/dist/components/collapse/index.d.vue.ts +5 -4
- package/dist/components/collapse/index.vue +47 -30
- package/dist/components/collapse/types.d.ts +2 -5
- package/dist/components/collapse-group/index.d.vue.ts +2 -4
- package/dist/components/collapse-group/index.vue +8 -20
- package/dist/components/collapse-group/types.d.ts +6 -0
- package/dist/components/command-menu/index.vue +6 -7
- package/dist/components/command-menu/types.d.ts +0 -5
- package/dist/components/command-menu-group/index.d.vue.ts +1 -1
- package/dist/components/command-menu-group/index.vue +3 -2
- package/dist/components/command-menu-group/types.d.ts +5 -0
- package/dist/components/config-provider/index.d.vue.ts +3 -3
- package/dist/components/config-provider/index.vue +6 -4
- package/dist/components/countdown/index.vue +3 -2
- package/dist/components/countdown/types.d.ts +2 -2
- package/dist/components/dash-line/index.vue +3 -1
- package/dist/components/description/index.d.vue.ts +1 -1
- package/dist/components/description/index.vue +8 -7
- package/dist/components/description/types.d.ts +1 -1
- package/dist/components/drawer/index.d.vue.ts +3 -2
- package/dist/components/drawer/index.vue +20 -15
- package/dist/components/drawer/types.d.ts +3 -3
- package/dist/components/ellipsis-text/index.d.vue.ts +14 -0
- package/dist/components/ellipsis-text/index.vue +242 -0
- package/dist/components/ellipsis-text/types.d.ts +14 -0
- package/dist/components/empty-state/index.vue +6 -2
- package/dist/components/error/index.d.vue.ts +1 -3
- package/dist/components/error/index.vue +21 -6
- package/dist/components/error/types.d.ts +7 -1
- package/dist/components/fader/index.vue +30 -11
- package/dist/components/fader/types.d.ts +2 -2
- package/dist/components/gauge/index.vue +7 -2
- package/dist/components/grid/index.vue +9 -4
- package/dist/components/grid/types.d.ts +0 -5
- package/dist/components/grid-item/index.d.vue.ts +1 -1
- package/dist/components/grid-item/index.vue +16 -8
- package/dist/components/grid-item/types.d.ts +6 -0
- package/dist/components/hold-button/index.d.vue.ts +2 -2
- package/dist/components/hold-button/index.vue +1 -1
- package/dist/components/index.d.ts +7 -3
- package/dist/components/index.js +7 -3
- package/dist/components/input/index.d.vue.ts +8 -8
- package/dist/components/input/index.vue +54 -21
- package/dist/components/input/types.d.ts +7 -10
- package/dist/components/intersection-observer/index.d.vue.ts +0 -1
- package/dist/components/intersection-observer/index.vue +12 -3
- package/dist/components/kbd/index.vue +1 -1
- package/dist/components/link-button/index.d.vue.ts +1 -1
- package/dist/components/link-button/index.vue +4 -6
- package/dist/components/link-button/types.d.ts +1 -1
- package/dist/components/list/index.d.vue.ts +8 -5
- package/dist/components/list/index.vue +50 -54
- package/dist/components/list/types.d.ts +3 -20
- package/dist/components/list-item/index.d.vue.ts +3 -2
- package/dist/components/list-item/index.vue +44 -18
- package/dist/components/list-item/types.d.ts +15 -0
- package/dist/components/loading-bar/index.vue +33 -2
- package/dist/components/loading-bar/types.d.ts +1 -1
- package/dist/components/loading-dots/index.vue +3 -2
- package/dist/components/menu/index.d.vue.ts +5 -2
- package/dist/components/menu/index.vue +4 -1
- package/dist/components/menu/types.d.ts +5 -0
- package/dist/components/message/index.d.vue.ts +11 -8
- package/dist/components/message/index.vue +4 -12
- package/dist/components/message/types.d.ts +1 -12
- package/dist/components/message-item/index.d.vue.ts +1 -3
- package/dist/components/message-item/index.vue +13 -7
- package/dist/components/message-item/types.d.ts +11 -0
- package/dist/components/modal/index.d.vue.ts +3 -2
- package/dist/components/modal/index.vue +17 -13
- package/dist/components/modal/types.d.ts +3 -3
- package/dist/components/noise-background/index.vue +4 -3
- package/dist/components/note/index.d.vue.ts +1 -2
- package/dist/components/note/index.vue +81 -29
- package/dist/components/note/types.d.ts +10 -2
- package/dist/components/number-input/index.d.vue.ts +5 -4
- package/dist/components/number-input/index.vue +36 -6
- package/dist/components/number-input/types.d.ts +2 -0
- package/dist/components/overlay/index.vue +1 -1
- package/dist/components/overlay/types.d.ts +1 -1
- package/dist/components/pagination/index.vue +5 -3
- package/dist/components/pin-input/index.d.vue.ts +6 -1
- package/dist/components/pin-input/index.vue +60 -23
- package/dist/components/pin-input/types.d.ts +0 -4
- package/dist/components/placeholder/index.vue +14 -11
- package/dist/components/popover/index.vue +116 -78
- package/dist/components/popover/types.d.ts +1 -0
- package/dist/components/progress/index.d.vue.ts +1 -1
- package/dist/components/progress/index.vue +15 -2
- package/dist/components/project-banner/index.d.vue.ts +18 -0
- package/dist/components/project-banner/index.vue +59 -0
- package/dist/components/project-banner/types.d.ts +8 -0
- package/dist/components/radio/index.vue +62 -20
- package/dist/components/radio/types.d.ts +1 -14
- package/dist/components/radio-group/index.d.vue.ts +2 -4
- package/dist/components/radio-group/index.vue +11 -16
- package/dist/components/radio-group/types.d.ts +12 -0
- package/dist/components/resizable/types.d.ts +5 -10
- package/dist/components/resizable-handle/index.vue +1 -1
- package/dist/components/resizable-panel/index.d.vue.ts +1 -1
- package/dist/components/resizable-panel/index.vue +7 -2
- package/dist/components/resizable-panel/types.d.ts +4 -0
- package/dist/components/scrollable/index.d.vue.ts +29 -0
- package/dist/components/scrollable/index.vue +98 -83
- package/dist/components/scrollable/types.d.ts +19 -6
- package/dist/components/skeleton/index.vue +24 -1
- package/dist/components/slider/index.d.vue.ts +6 -6
- package/dist/components/slider/index.vue +86 -44
- package/dist/components/slider/types.d.ts +1 -1
- package/dist/components/snippet/index.vue +28 -2
- package/dist/components/spinner/index.vue +4 -2
- package/dist/components/stack/index.d.vue.ts +2 -2
- package/dist/components/stack/index.vue +35 -3
- package/dist/components/stack/types.d.ts +1 -1
- package/dist/components/status-dot/index.vue +5 -1
- package/dist/components/switch/index.d.vue.ts +10 -1
- package/dist/components/switch/index.vue +35 -44
- package/dist/components/switch/types.d.ts +4 -12
- package/dist/components/switch-item/index.d.vue.ts +14 -0
- package/dist/components/switch-item/index.vue +79 -0
- package/dist/components/switch-item/types.d.ts +9 -0
- package/dist/components/teleport/index.d.vue.ts +1 -1
- package/dist/components/teleport/index.vue +1 -1
- package/dist/components/teleport/types.d.ts +1 -1
- package/dist/components/text/index.d.vue.ts +1 -2
- package/dist/components/text/index.vue +36 -22
- package/dist/components/text/types.d.ts +1 -1
- package/dist/components/textarea/index.d.vue.ts +4 -4
- package/dist/components/textarea/index.vue +33 -4
- package/dist/components/textarea/types.d.ts +0 -1
- package/dist/components/time-picker/index.d.vue.ts +1 -2
- package/dist/components/time-picker/index.vue +43 -9
- package/dist/components/time-picker/types.d.ts +1 -2
- package/dist/components/toggle/index.vue +11 -10
- package/dist/components/toggle-button/index.d.vue.ts +22 -0
- package/dist/components/toggle-button/index.vue +110 -0
- package/dist/components/toggle-button/types.d.ts +16 -0
- package/dist/components/{choicebox-group → toggle-button-group}/index.d.vue.ts +5 -5
- package/dist/components/toggle-button-group/index.vue +68 -0
- package/dist/components/toggle-button-group/types.d.ts +22 -0
- package/dist/components/tooltip/index.d.vue.ts +2 -0
- package/dist/components/tooltip/index.vue +9 -3
- package/dist/components/tooltip/types.d.ts +3 -2
- package/dist/components/virtual-list/index.d.vue.ts +25 -4
- package/dist/components/virtual-list/index.vue +66 -10
- package/dist/components/virtual-list/types.d.ts +9 -4
- package/dist/composables/index.d.ts +2 -2
- package/dist/composables/index.js +2 -2
- package/dist/composables/use-browser-observer.d.ts +5 -5
- package/dist/composables/use-browser-observer.js +23 -20
- package/dist/composables/use-copy-click.js +4 -0
- package/dist/composables/use-countdown.d.ts +2 -2
- package/dist/composables/use-delay-destroy.d.ts +1 -1
- package/dist/composables/use-focus-trap.d.ts +7 -3
- package/dist/composables/use-focus-trap.js +19 -7
- package/dist/composables/use-forward-ref-expose.d.ts +2 -0
- package/dist/composables/use-forward-ref-expose.js +41 -0
- package/dist/composables/use-message.d.ts +4 -7
- package/dist/composables/use-model-value.d.ts +9 -8
- package/dist/composables/use-popover-responsive.d.ts +2 -2
- package/dist/composables/use-popover-responsive.js +3 -3
- package/dist/composables/use-repeat-action.d.ts +1 -1
- package/dist/composables/use-repeat-action.js +2 -2
- package/dist/composables/use-virtual-list.d.ts +21 -12
- package/dist/composables/use-virtual-list.js +90 -158
- package/dist/composables/use-window-size.d.ts +4 -0
- package/dist/composables/use-window-size.js +27 -0
- package/dist/contexts/avatar.d.ts +5 -2
- package/dist/contexts/carousel.d.ts +4 -4
- package/dist/contexts/carousel.js +1 -1
- package/dist/contexts/checkbox.d.ts +7 -2
- package/dist/contexts/choicebox.d.ts +8 -4
- package/dist/contexts/choicebox.js +1 -4
- package/dist/contexts/collapse.d.ts +5 -6
- package/dist/contexts/collapse.js +1 -1
- package/dist/contexts/config-provider.d.ts +5 -0
- package/dist/{composables/use-config-provider-context.js → contexts/config-provider.js} +8 -5
- package/dist/contexts/list.d.ts +1 -1
- package/dist/contexts/radio.d.ts +8 -2
- package/dist/contexts/resizable.d.ts +1 -1
- package/dist/contexts/switch.d.ts +8 -4
- package/dist/contexts/switch.js +1 -2
- package/dist/contexts/toggle-button.d.ts +7 -0
- package/dist/contexts/toggle-button.js +2 -0
- package/dist/styles/source.css +14 -2
- package/dist/styles/styles.css +2 -2
- package/dist/styles/tw.css +14 -2
- package/dist/types/shared/props.d.ts +1 -3
- package/dist/types/shared/utils.d.ts +0 -3
- package/dist/utils/context.d.ts +1 -0
- package/dist/utils/get.d.ts +1 -0
- package/dist/utils/get.js +14 -0
- package/dist/utils/ref.d.ts +1 -1
- package/dist/utils/responsive.js +2 -1
- package/dist/utils/throttle.js +9 -7
- package/dist/utils/uid.d.ts +1 -1
- package/dist/utils/uid.js +2 -2
- package/package.json +23 -21
- package/volar.d.ts +7 -3
- package/dist/components/badge/cn.d.ts +0 -90
- package/dist/components/badge/cn.js +0 -44
- package/dist/components/button/cn.d.ts +0 -121
- package/dist/components/button/cn.js +0 -55
- package/dist/components/carousel-group/index.d.vue.ts +0 -35
- package/dist/components/carousel-group/index.vue +0 -368
- package/dist/components/checkbox/cn.d.ts +0 -67
- package/dist/components/checkbox/cn.js +0 -31
- package/dist/components/chip/cn.d.ts +0 -49
- package/dist/components/chip/cn.js +0 -26
- package/dist/components/choicebox-group/index.vue +0 -65
- package/dist/components/error/cn.d.ts +0 -22
- package/dist/components/error/cn.js +0 -15
- package/dist/components/input/cn.d.ts +0 -73
- package/dist/components/input/cn.js +0 -36
- package/dist/components/list-item/cn.d.ts +0 -22
- package/dist/components/list-item/cn.js +0 -15
- package/dist/components/loading-bar/cn.d.ts +0 -70
- package/dist/components/loading-bar/cn.js +0 -32
- package/dist/components/note/cn.d.ts +0 -121
- package/dist/components/note/cn.js +0 -66
- package/dist/components/pin-input/cn.d.ts +0 -46
- package/dist/components/pin-input/cn.js +0 -25
- package/dist/components/progress/cn.d.ts +0 -19
- package/dist/components/progress/cn.js +0 -14
- package/dist/components/radio/cn.d.ts +0 -46
- package/dist/components/radio/cn.js +0 -42
- package/dist/components/skeleton/cn.d.ts +0 -43
- package/dist/components/skeleton/cn.js +0 -24
- package/dist/components/snippet/cn.d.ts +0 -52
- package/dist/components/snippet/cn.js +0 -27
- package/dist/components/stack/cn.d.ts +0 -70
- package/dist/components/stack/cn.js +0 -33
- package/dist/components/switch/cn.d.ts +0 -16
- package/dist/components/switch/cn.js +0 -13
- package/dist/components/switch-group/index.d.vue.ts +0 -23
- package/dist/components/switch-group/index.vue +0 -54
- package/dist/components/text/cn.d.ts +0 -67
- package/dist/components/text/cn.js +0 -34
- package/dist/components/textarea/cn.d.ts +0 -58
- package/dist/components/textarea/cn.js +0 -30
- package/dist/composables/use-config-provider-context.d.ts +0 -3
- package/dist/composables/use-unique-id-context.d.ts +0 -2
- package/dist/composables/use-unique-id-context.js +0 -11
package/README.md
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
# PXD
|
|
2
2
|
|
|
3
|
-
A universal
|
|
3
|
+
A Vue 2.7 & 3.2 universal component library. Built-in light/dark theme. PC & mobile ready. Animation-free mode supported.
|
|
4
|
+
|
|
5
|
+
[简体中文](README-CN.md) | [Online Preview](https://pxd-ui.netlify.app/)
|
|
4
6
|
|
|
5
|
-
[Online Preview](https://pxd-ui.netlify.app/)
|
|
6
7
|
|
|
7
8
|
> [!WARNING]
|
|
8
9
|
> The project is under active development and is not ready for production.
|
|
9
10
|
|
|
10
11
|
## Features
|
|
11
12
|
|
|
12
|
-
- Vue
|
|
13
|
-
-
|
|
13
|
+
- Universal: One codebase for Vue 2.7+ and Vue 3.2+
|
|
14
|
+
- Responsive: Seamlessly works on both PC and mobile devices
|
|
15
|
+
- Built-in light & dark theme, no extra configuration needed
|
|
16
|
+
- Motion-safe: Supports fully disabling all animations
|
|
17
|
+
- Written in TypeScript with full type definitions
|
|
18
|
+
- Vue 3 Composition API with `<script setup>`
|
|
14
19
|
- Complete tree-shaking support
|
|
20
|
+
- Inspired by the [Geist Design System](https://vercel.com/geist/introduction)
|
|
15
21
|
|
|
16
22
|
## Contribution
|
|
17
23
|
|
|
@@ -43,6 +49,14 @@ pnpm build:docs
|
|
|
43
49
|
pnpm build
|
|
44
50
|
```
|
|
45
51
|
|
|
52
|
+
## Contribution Guidelines
|
|
53
|
+
|
|
54
|
+
### Component Naming Rules
|
|
55
|
+
|
|
56
|
+
- Components that can be used independently do not need to add -group/-item suffix, such as: `Checkbox`, `Radio`, `Toggle`, `ToggleButton`
|
|
57
|
+
- Components that are used to manage a group of sub-components need to add -group suffix, such as: `CheckboxGroup`, `RadioGroup`, `ToggleGroup`, `ToggleButtonGroup`
|
|
58
|
+
- Components that can only be used as a sub-component of another component need to add -item suffix, such as: `ListItem`, `GridItem`, `MessageItem`
|
|
59
|
+
|
|
46
60
|
## Reference
|
|
47
61
|
|
|
48
62
|
- [Geist Design System](https://vercel.com/geist/introduction)
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
defineOptions({
|
|
3
|
-
name: "PFragmentContainer"
|
|
3
|
+
name: "PFragmentContainer",
|
|
4
|
+
inheritAttrs: false
|
|
4
5
|
});
|
|
5
6
|
</script>
|
|
6
7
|
|
|
7
8
|
<template>
|
|
8
|
-
<div class="pxd-fragment-container">
|
|
9
|
+
<div class="pxd-fragment-container" v-bind="$attrs">
|
|
9
10
|
<slot />
|
|
10
11
|
</div>
|
|
11
12
|
</template>
|
|
@@ -6,13 +6,12 @@ type __VLS_Slots = {} & {
|
|
|
6
6
|
tooltip?: (props: typeof __VLS_7) => any;
|
|
7
7
|
};
|
|
8
8
|
declare const __VLS_base: import("vue").DefineComponent<ActiveGraphProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
-
|
|
9
|
+
select: (args_0: string, args_1: MouseEvent) => any;
|
|
10
10
|
}, string, import("vue").PublicProps, Readonly<ActiveGraphProps> & Readonly<{
|
|
11
|
-
|
|
11
|
+
onSelect?: ((args_0: string, args_1: MouseEvent) => any) | undefined;
|
|
12
12
|
}>, {
|
|
13
13
|
data: Record<string, any>[];
|
|
14
14
|
legend: boolean;
|
|
15
|
-
graphOnly: boolean;
|
|
16
15
|
tooltip: boolean;
|
|
17
16
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
17
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed, onBeforeUnmount, shallowRef } from "vue";
|
|
3
|
-
import { useConfigProvider } from "../../composables/use-config-provider-context";
|
|
4
3
|
import { useDelayChange } from "../../composables/use-delay-change";
|
|
4
|
+
import { useConfigProvider } from "../../contexts/config-provider";
|
|
5
5
|
import { getAllDatesBetween } from "../../utils/date";
|
|
6
6
|
import { getCssUnitValue } from "../../utils/format";
|
|
7
7
|
import { getColorByThreshold } from "../../utils/get";
|
|
@@ -12,19 +12,21 @@ defineOptions({
|
|
|
12
12
|
const props = defineProps({
|
|
13
13
|
data: { type: Array, required: false, default: () => [] },
|
|
14
14
|
legend: { type: Boolean, required: false, default: true },
|
|
15
|
+
colors: { type: Object, required: false },
|
|
15
16
|
startDate: { type: [String, Date], required: false },
|
|
16
17
|
endDate: { type: [String, Date], required: false },
|
|
17
|
-
colors: { type: Object, required: false },
|
|
18
|
-
graphOnly: { type: Boolean, required: false, default: false },
|
|
19
|
-
transpose: { type: Boolean, required: false },
|
|
20
18
|
tooltip: { type: Boolean, required: false, default: true },
|
|
19
|
+
graphOnly: { type: Boolean, required: false },
|
|
20
|
+
transpose: { type: Boolean, required: false },
|
|
21
21
|
fieldNames: { type: Object, required: false },
|
|
22
|
-
itemRadius: { type: [String, Number], required: false }
|
|
22
|
+
itemRadius: { type: [String, Number], required: false },
|
|
23
|
+
defaultSelect: { type: String, required: false }
|
|
23
24
|
});
|
|
24
|
-
const emits = defineEmits(["
|
|
25
|
+
const emits = defineEmits(["select"]);
|
|
25
26
|
const configProvider = useConfigProvider();
|
|
26
27
|
const CELL_GAP = 3;
|
|
27
28
|
const CELL_SIZE = 12;
|
|
29
|
+
const selectedDate = shallowRef(props.defaultSelect);
|
|
28
30
|
const getDefaultStartDate = () => {
|
|
29
31
|
const date = /* @__PURE__ */ new Date();
|
|
30
32
|
date.setFullYear(date.getFullYear() - 1);
|
|
@@ -223,7 +225,8 @@ function onCellClick(event) {
|
|
|
223
225
|
if (!date) {
|
|
224
226
|
return;
|
|
225
227
|
}
|
|
226
|
-
|
|
228
|
+
selectedDate.value = selectedDate.value === date ? "" : date;
|
|
229
|
+
emits("select", date, event);
|
|
227
230
|
}
|
|
228
231
|
let tbodyRect;
|
|
229
232
|
const tbodyRef = shallowRef();
|
|
@@ -315,9 +318,13 @@ onBeforeUnmount(() => {
|
|
|
315
318
|
<td
|
|
316
319
|
v-for="col of row"
|
|
317
320
|
:key="col.date"
|
|
318
|
-
class="pxd-active-graph--item w-3 min-w-3 rounded-(--item-radius) bg-gray-alpha-
|
|
321
|
+
class="pxd-active-graph--item w-3 min-w-3 rounded-(--item-radius) border border-transparent bg-gray-alpha-100 hover:border-primary motion-safe:transition-all"
|
|
319
322
|
:data-date="col.date"
|
|
320
|
-
:class="{
|
|
323
|
+
:class="{
|
|
324
|
+
'pointer-events-none invisible': col.hidden,
|
|
325
|
+
'opacity-30': selectedDate && col.date !== selectedDate,
|
|
326
|
+
'border-primary!': selectedDate && col.date === selectedDate
|
|
327
|
+
}"
|
|
321
328
|
:style="`background: ${col.color}`"
|
|
322
329
|
/>
|
|
323
330
|
</tr>
|
|
@@ -326,22 +333,22 @@ onBeforeUnmount(() => {
|
|
|
326
333
|
<tr class="pxd-active-graph--placeholder h-0.5 pointer-events-none" />
|
|
327
334
|
<tr class="pxd-active-graph--legend pointer-events-none">
|
|
328
335
|
<td class="h-3 relative text-foreground-secondary">
|
|
329
|
-
<span class="right-1 absolute top-1/2 -translate-y-1/2">
|
|
330
|
-
configProvider.locale.compare.less
|
|
331
|
-
|
|
336
|
+
<span class="right-1 absolute top-1/2 -translate-y-1/2">
|
|
337
|
+
{{ configProvider.locale.compare.less }}
|
|
338
|
+
</span>
|
|
332
339
|
</td>
|
|
333
340
|
|
|
334
341
|
<td
|
|
335
342
|
v-for="color in computedColors"
|
|
336
343
|
:key="color"
|
|
337
|
-
class="w-3 h-3 rounded-(--item-radius) bg-gray-alpha-
|
|
344
|
+
class="w-3 h-3 rounded-(--item-radius) bg-gray-alpha-100 motion-safe:transition-colors"
|
|
338
345
|
:style="`background-color: ${color}`"
|
|
339
346
|
/>
|
|
340
347
|
|
|
341
348
|
<td class="h-3 w-3 relative text-foreground-secondary">
|
|
342
|
-
<span class="absolute top-1/2 left-px -translate-y-1/2">
|
|
343
|
-
configProvider.locale.compare.more
|
|
344
|
-
|
|
349
|
+
<span class="absolute top-1/2 left-px -translate-y-1/2">
|
|
350
|
+
{{ configProvider.locale.compare.more }}
|
|
351
|
+
</span>
|
|
345
352
|
</td>
|
|
346
353
|
</tr>
|
|
347
354
|
</template>
|
|
@@ -6,18 +6,19 @@ interface FieldNames {
|
|
|
6
6
|
export interface ActiveGraphProps {
|
|
7
7
|
data?: Record<string, any>[]
|
|
8
8
|
legend?: boolean
|
|
9
|
+
colors?: Record<string, string>
|
|
9
10
|
startDate?: string | Date
|
|
10
11
|
endDate?: string | Date
|
|
11
|
-
|
|
12
|
+
tooltip?: boolean
|
|
12
13
|
graphOnly?: boolean
|
|
13
14
|
transpose?: boolean
|
|
14
|
-
tooltip?: boolean
|
|
15
15
|
fieldNames?: FieldNames
|
|
16
16
|
itemRadius?: string | number
|
|
17
|
+
defaultSelect?: string
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
export interface ActiveGraphEmits {
|
|
20
|
-
|
|
21
|
+
select: [string, MouseEvent]
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
export interface ActiveGraphCellData {
|
|
@@ -16,8 +16,10 @@ const props = defineProps({
|
|
|
16
16
|
const emits = defineEmits(["load", "error", "loadstart"]);
|
|
17
17
|
const loadingStatus = shallowRef("idle");
|
|
18
18
|
const avatarGroupContext = useAvatarGroupContext();
|
|
19
|
-
const computedSize = computed(
|
|
20
|
-
|
|
19
|
+
const computedSize = computed(
|
|
20
|
+
() => getCssUnitValue(props.size || avatarGroupContext?.props.size, "32px")
|
|
21
|
+
);
|
|
22
|
+
const isHideAvatar = computed(
|
|
21
23
|
() => !props.src || props.placeholder || loadingStatus.value === "error"
|
|
22
24
|
);
|
|
23
25
|
function onLoadError(event) {
|
|
@@ -42,13 +44,20 @@ defineExpose({
|
|
|
42
44
|
|
|
43
45
|
<template>
|
|
44
46
|
<div
|
|
45
|
-
class="pxd-avatar relative inline-flex size-(--avatar-size) items-center justify-center rounded-full border border-background-100 select-none before:default-animation-timing-function! motion-safe:before:
|
|
47
|
+
class="pxd-avatar relative inline-flex size-(--avatar-size) items-center justify-center rounded-full border border-background-100 bg-background-100 text-13px select-none before:default-animation-timing-function! motion-safe:before:[animation-duration:8s]"
|
|
46
48
|
:style="{ '--avatar-size': computedSize }"
|
|
49
|
+
:data-placeholder="placeholder"
|
|
47
50
|
v-bind="$attrs"
|
|
48
51
|
>
|
|
49
52
|
<slot>
|
|
53
|
+
<span
|
|
54
|
+
v-if="isHideAvatar"
|
|
55
|
+
class="font-medium px-1 relative flex size-full items-center justify-center overflow-hidden rounded-inherit"
|
|
56
|
+
>
|
|
57
|
+
{{ alt }}
|
|
58
|
+
</span>
|
|
50
59
|
<img
|
|
51
|
-
v-
|
|
60
|
+
v-else
|
|
52
61
|
:src="src"
|
|
53
62
|
:alt="alt"
|
|
54
63
|
loading="lazy"
|
|
@@ -56,7 +65,7 @@ defineExpose({
|
|
|
56
65
|
aria-hidden="true"
|
|
57
66
|
fetchpriority="low"
|
|
58
67
|
crossorigin="anonymous"
|
|
59
|
-
class="relative block size-full overflow-hidden rounded-inherit"
|
|
68
|
+
class="relative block size-full overflow-hidden rounded-inherit bg-gray-100"
|
|
60
69
|
@load="onLoadSuccess"
|
|
61
70
|
@loadstart="onLoadStart"
|
|
62
71
|
@abort="onLoadError"
|
|
@@ -80,17 +89,15 @@ defineExpose({
|
|
|
80
89
|
|
|
81
90
|
<style lang="postcss">
|
|
82
91
|
.pxd-avatar {
|
|
83
|
-
&::
|
|
84
|
-
|
|
92
|
+
&::after,
|
|
93
|
+
&[data-placeholder='true']::before {
|
|
85
94
|
content: '';
|
|
86
|
-
width: 100%;
|
|
87
|
-
height: 100%;
|
|
88
95
|
position: absolute;
|
|
89
96
|
inset: 0;
|
|
90
97
|
border-radius: inherit;
|
|
91
98
|
}
|
|
92
99
|
|
|
93
|
-
|
|
100
|
+
&[data-placeholder='true']::before {
|
|
94
101
|
background-image: linear-gradient(
|
|
95
102
|
270deg,
|
|
96
103
|
var(--color-gray-alpha-100),
|
|
@@ -99,6 +106,8 @@ defineExpose({
|
|
|
99
106
|
var(--color-gray-alpha-100)
|
|
100
107
|
);
|
|
101
108
|
background-size: 400% 100%;
|
|
109
|
+
animation-name: placeholder;
|
|
110
|
+
animation-iteration-count: infinite;
|
|
102
111
|
}
|
|
103
112
|
|
|
104
113
|
&::after {
|
|
@@ -13,15 +13,3 @@ export interface AvatarEmits {
|
|
|
13
13
|
error: [Event]
|
|
14
14
|
loadstart: [Event]
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
interface AvatarOptions {
|
|
18
|
-
src?: string
|
|
19
|
-
alt?: string
|
|
20
|
-
loading?: boolean
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface AvatarGroupProps {
|
|
24
|
-
max?: number
|
|
25
|
-
size?: number | string
|
|
26
|
-
options?: AvatarOptions[]
|
|
27
|
-
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { AvatarGroupProps } from '
|
|
1
|
+
import type { AvatarGroupProps } from './types';
|
|
2
2
|
declare const __VLS_export: import("vue").DefineComponent<AvatarGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvatarGroupProps> & Readonly<{}>, {
|
|
3
3
|
size: number | string;
|
|
4
4
|
max: number;
|
|
5
|
-
options: import("
|
|
5
|
+
options: import("./types").AvatarOptions[];
|
|
6
6
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
7
|
declare const _default: typeof __VLS_export;
|
|
8
8
|
export default _default;
|
|
@@ -3,7 +3,8 @@ import { computed } from "vue";
|
|
|
3
3
|
import { provideAvatarGroupContext } from "../../contexts/avatar";
|
|
4
4
|
import PAvatar from "../avatar/index.vue";
|
|
5
5
|
defineOptions({
|
|
6
|
-
name: "PAvatarGroup"
|
|
6
|
+
name: "PAvatarGroup",
|
|
7
|
+
inheritAttrs: false
|
|
7
8
|
});
|
|
8
9
|
const props = defineProps({
|
|
9
10
|
max: { type: Number, required: false, default: 5 },
|
|
@@ -15,11 +16,11 @@ const slicedOptions = computed(() => {
|
|
|
15
16
|
const maxCount = Math.max(Math.min(max, options.length), 1);
|
|
16
17
|
return options.slice(0, maxCount);
|
|
17
18
|
});
|
|
18
|
-
provideAvatarGroupContext(props);
|
|
19
|
+
provideAvatarGroupContext({ props });
|
|
19
20
|
</script>
|
|
20
21
|
|
|
21
22
|
<template>
|
|
22
|
-
<div class="pxd-avatar-group flex flex-wrap items-center">
|
|
23
|
+
<div class="pxd-avatar-group flex flex-wrap items-center" v-bind="$attrs">
|
|
23
24
|
<PAvatar
|
|
24
25
|
v-for="(option, index) in slicedOptions"
|
|
25
26
|
:key="index"
|
|
@@ -4,8 +4,8 @@ type __VLS_Slots = {} & {
|
|
|
4
4
|
default?: (props: typeof __VLS_8) => any;
|
|
5
5
|
};
|
|
6
6
|
declare const __VLS_base: import("vue").DefineComponent<BadgeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
|
|
7
|
-
variant: import("./cn").BadgeVariant;
|
|
8
7
|
as: import("../../types/shared").ComponentAs;
|
|
8
|
+
variant: import("./types").BadgeVariant;
|
|
9
9
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
10
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
11
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,17 +1,61 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { tv } from "tailwind-variants";
|
|
2
3
|
import { computed } from "vue";
|
|
3
|
-
import { useConfigProvider } from "../../
|
|
4
|
-
import { badgeVariant } from "./cn";
|
|
4
|
+
import { useConfigProvider } from "../../contexts/config-provider";
|
|
5
5
|
defineOptions({
|
|
6
6
|
name: "PBadge",
|
|
7
7
|
inheritAttrs: false
|
|
8
8
|
});
|
|
9
9
|
const props = defineProps({
|
|
10
|
-
as: { type:
|
|
10
|
+
as: { type: [String, Object], required: false, default: "span" },
|
|
11
11
|
href: { type: String, required: false },
|
|
12
12
|
size: { type: String, required: false },
|
|
13
13
|
variant: { type: String, required: false, default: "gray" }
|
|
14
14
|
});
|
|
15
|
+
const badgeVariant = tv({
|
|
16
|
+
base: "pxd-badge font-medium gap-1 inline-flex items-center justify-center rounded-full font-sans text-nowrap whitespace-nowrap no-underline! motion-safe:transition-all",
|
|
17
|
+
variants: {
|
|
18
|
+
variant: {
|
|
19
|
+
pill: "bg-background-100",
|
|
20
|
+
primary: "bg-primary text-gray-100",
|
|
21
|
+
gray: "text-white bg-gray-600",
|
|
22
|
+
blue: "bg-blue-700 text-gray-100 dark:text-gray-1000",
|
|
23
|
+
purple: "bg-purple-700 text-gray-100 dark:text-gray-1000",
|
|
24
|
+
amber: "bg-amber-700 text-gray-1000 dark:text-gray-100",
|
|
25
|
+
red: "bg-red-700 text-gray-100 dark:text-gray-1000",
|
|
26
|
+
pink: "bg-pink-700 text-gray-100 dark:text-gray-1000",
|
|
27
|
+
green: "bg-green-700 text-gray-100 dark:text-gray-1000",
|
|
28
|
+
teal: "bg-teal-700 text-gray-100 dark:text-gray-1000",
|
|
29
|
+
"gray-subtle": "bg-gray-200 text-gray-1000",
|
|
30
|
+
"blue-subtle": "bg-blue-200 text-blue-900",
|
|
31
|
+
"purple-subtle": "bg-purple-200 text-purple-900",
|
|
32
|
+
"amber-subtle": "bg-amber-200 text-amber-900",
|
|
33
|
+
"red-subtle": "bg-red-200 text-red-900",
|
|
34
|
+
"pink-subtle": "bg-pink-200 text-pink-900",
|
|
35
|
+
"green-subtle": "bg-green-200 text-green-900",
|
|
36
|
+
"teal-subtle": "bg-teal-200 text-teal-900",
|
|
37
|
+
inverted: "bg-gray-1000 text-gray-100",
|
|
38
|
+
vue: "text-gray-100 dark:text-gray-1000",
|
|
39
|
+
trial: "text-gray-100 dark:text-gray-1000",
|
|
40
|
+
turborepo: "text-gray-100 dark:text-gray-1000"
|
|
41
|
+
},
|
|
42
|
+
size: {
|
|
43
|
+
sm: "px-2 h-5 text-xs",
|
|
44
|
+
md: "px-2.5 h-6 text-xs",
|
|
45
|
+
lg: "px-3 h-7.5 text-sm"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
compoundVariants: [
|
|
49
|
+
{ variant: "pill", class: "pill" },
|
|
50
|
+
{ variant: "vue", class: "vue" },
|
|
51
|
+
{ variant: "trial", class: "trial" },
|
|
52
|
+
{ variant: "turborepo", class: "turborepo" }
|
|
53
|
+
],
|
|
54
|
+
defaultVariants: {
|
|
55
|
+
variant: "gray",
|
|
56
|
+
size: "md"
|
|
57
|
+
}
|
|
58
|
+
});
|
|
15
59
|
const configProvider = useConfigProvider();
|
|
16
60
|
const computedClasses = computed(() => {
|
|
17
61
|
const { variant, size = configProvider.size } = props;
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
import type { ComponentAs, ComponentSize } from '../../types/shared'
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
export type BadgeVariant =
|
|
4
|
+
| 'pill'
|
|
5
|
+
| 'primary'
|
|
6
|
+
| 'gray'
|
|
7
|
+
| 'blue'
|
|
8
|
+
| 'purple'
|
|
9
|
+
| 'amber'
|
|
10
|
+
| 'red'
|
|
11
|
+
| 'pink'
|
|
12
|
+
| 'green'
|
|
13
|
+
| 'teal'
|
|
14
|
+
| 'gray-subtle'
|
|
15
|
+
| 'blue-subtle'
|
|
16
|
+
| 'purple-subtle'
|
|
17
|
+
| 'amber-subtle'
|
|
18
|
+
| 'red-subtle'
|
|
19
|
+
| 'pink-subtle'
|
|
20
|
+
| 'green-subtle'
|
|
21
|
+
| 'teal-subtle'
|
|
22
|
+
| 'inverted'
|
|
23
|
+
| 'vue'
|
|
24
|
+
| 'trial'
|
|
25
|
+
| 'turborepo'
|
|
3
26
|
|
|
4
27
|
export interface BadgeProps {
|
|
5
28
|
as?: ComponentAs
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import { computed } from "vue";
|
|
3
3
|
import { getResponsiveValue } from "../../utils/responsive";
|
|
4
4
|
defineOptions({
|
|
5
|
-
name: "PBook"
|
|
5
|
+
name: "PBook",
|
|
6
|
+
inheritAttrs: false
|
|
6
7
|
});
|
|
7
8
|
const props = defineProps({
|
|
8
9
|
color: { type: String, required: false },
|
|
@@ -45,7 +46,7 @@ const computedClasses = computed(() => {
|
|
|
45
46
|
</script>
|
|
46
47
|
|
|
47
48
|
<template>
|
|
48
|
-
<div class="pxd-book inline-flex w-fit">
|
|
49
|
+
<div class="pxd-book inline-flex w-fit" v-bind="$attrs">
|
|
49
50
|
<div :class="computedClasses" :style="computedStyle">
|
|
50
51
|
<div
|
|
51
52
|
class="pxd-book--content translate-z-0 absolute flex size-full min-w-full flex-col overflow-hidden bg-background-200"
|
|
@@ -8,7 +8,8 @@ import { computed } from "vue";
|
|
|
8
8
|
import { useCopyClick } from "../../composables/use-copy-click";
|
|
9
9
|
import PButton from "../button/index.vue";
|
|
10
10
|
defineOptions({
|
|
11
|
-
name: "PBrowser"
|
|
11
|
+
name: "PBrowser",
|
|
12
|
+
inheritAttrs: false
|
|
12
13
|
});
|
|
13
14
|
defineProps({
|
|
14
15
|
address: { type: String, required: false }
|
|
@@ -18,7 +19,10 @@ const renderIcon = computed(() => isCopied.value ? CheckIcon : CopyIcon);
|
|
|
18
19
|
</script>
|
|
19
20
|
|
|
20
21
|
<template>
|
|
21
|
-
<div
|
|
22
|
+
<div
|
|
23
|
+
class="pxd-browser overflow-hidden rounded-md bg-background-200 shadow-border-small"
|
|
24
|
+
v-bind="$attrs"
|
|
25
|
+
>
|
|
22
26
|
<div class="py-2.5 px-5 gap-4 md:gap-6 flex justify-between bg-background-100">
|
|
23
27
|
<div
|
|
24
28
|
class="gap-4 min-w-0 md:first:max-w-35 md:last:max-w-35 max-md:first:flex-none flex flex-1 items-center justify-center first:justify-start last:justify-end"
|
|
@@ -9,9 +9,9 @@ type __VLS_Slots = {} & {
|
|
|
9
9
|
};
|
|
10
10
|
declare const __VLS_base: import("vue").DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{}>, {
|
|
11
11
|
icon: boolean;
|
|
12
|
+
as: import("../../types/shared").ComponentAs;
|
|
12
13
|
variant: import("./types").ButtonVariant;
|
|
13
14
|
align: "left" | "center" | "right";
|
|
14
|
-
as: import("../../types/shared").ComponentAs;
|
|
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;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { tv } from "tailwind-variants";
|
|
2
3
|
import { computed } from "vue";
|
|
3
|
-
import { useConfigProvider } from "../../
|
|
4
|
+
import { useConfigProvider } from "../../contexts/config-provider";
|
|
4
5
|
import { isTruthyProp } from "../../utils/format";
|
|
5
6
|
import PSpinner from "../spinner/index.vue";
|
|
6
|
-
import { buttonVariants } from "./cn";
|
|
7
7
|
defineOptions({
|
|
8
8
|
name: "PButton",
|
|
9
9
|
inheritAttrs: false
|
|
10
10
|
});
|
|
11
11
|
const props = defineProps({
|
|
12
|
-
as: { type:
|
|
12
|
+
as: { type: [String, Object], required: false, default: "button" },
|
|
13
13
|
variant: { type: String, required: false, default: "default" },
|
|
14
14
|
size: { type: String, required: false },
|
|
15
15
|
shape: { type: String, required: false },
|
|
@@ -19,8 +19,62 @@ const props = defineProps({
|
|
|
19
19
|
disabled: { type: Boolean, required: false },
|
|
20
20
|
fullWidth: { type: Boolean, required: false }
|
|
21
21
|
});
|
|
22
|
+
const buttonVariants = tv({
|
|
23
|
+
base: "pxd-button inline-flex shrink-0 cursor-pointer touch-manipulation items-center font-inherit select-none motion-safe:transition-all",
|
|
24
|
+
variants: {
|
|
25
|
+
size: {
|
|
26
|
+
xs: "h-6 px-1 text-sm rounded-sm",
|
|
27
|
+
sm: "h-7.5 px-1.5 text-sm rounded-md",
|
|
28
|
+
md: "h-9 px-2.5 text-sm rounded-md",
|
|
29
|
+
lg: "h-10 px-3.5 text-base rounded-lg"
|
|
30
|
+
},
|
|
31
|
+
shape: {
|
|
32
|
+
square: "rounded-none",
|
|
33
|
+
rounded: "rounded-full",
|
|
34
|
+
default: ""
|
|
35
|
+
},
|
|
36
|
+
align: {
|
|
37
|
+
left: "justify-start",
|
|
38
|
+
center: "justify-center",
|
|
39
|
+
right: "justify-end"
|
|
40
|
+
},
|
|
41
|
+
variant: {
|
|
42
|
+
simple: "",
|
|
43
|
+
icon: "p-0! aspect-square",
|
|
44
|
+
link: "font-medium hover:underline hover:opacity-70 active:opacity-90 motion-safe:transition-opacity",
|
|
45
|
+
default: "border-input bg-background-100 text-foreground hover:bg-background-hover active:bg-background-active",
|
|
46
|
+
ghost: "border-transparent bg-transparent text-foreground hover:bg-background-hover active:bg-background-active",
|
|
47
|
+
primary: "border-transparent bg-primary text-gray-100 hover:bg-primary-hover active:bg-primary-active",
|
|
48
|
+
error: "text-white border-transparent bg-red-800 hover:bg-red-700 active:bg-red-900",
|
|
49
|
+
warning: "text-black border-transparent bg-amber-800 hover:bg-amber-700 active:bg-amber-900",
|
|
50
|
+
success: "text-white border-transparent bg-green-800 hover:bg-green-700 active:bg-green-900"
|
|
51
|
+
},
|
|
52
|
+
disabled: {
|
|
53
|
+
true: "is-disabled hover:bg-gray-100 active:bg-gray-100 disabled:cursor-not-allowed disabled:border-gray-300 disabled:bg-gray-100 disabled:text-gray-700"
|
|
54
|
+
},
|
|
55
|
+
fullWidth: {
|
|
56
|
+
true: "w-full"
|
|
57
|
+
},
|
|
58
|
+
icon: {
|
|
59
|
+
true: "p-0! aspect-square"
|
|
60
|
+
},
|
|
61
|
+
loading: {
|
|
62
|
+
true: ""
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
compoundVariants: [
|
|
66
|
+
{
|
|
67
|
+
variant: ["default", "ghost", "primary", "error", "warning", "success"],
|
|
68
|
+
class: "border self-focus-ring outline-none"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
icon: true,
|
|
72
|
+
class: "p-0! aspect-square"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
});
|
|
22
76
|
const configProvider = useConfigProvider();
|
|
23
|
-
const
|
|
77
|
+
const isDisabled = computed(
|
|
24
78
|
() => isTruthyProp(props.disabled) || isTruthyProp(props.loading)
|
|
25
79
|
);
|
|
26
80
|
const computedClasses = computed(() => {
|
|
@@ -32,19 +86,13 @@ const computedClasses = computed(() => {
|
|
|
32
86
|
align,
|
|
33
87
|
variant,
|
|
34
88
|
fullWidth,
|
|
35
|
-
disabled:
|
|
89
|
+
disabled: isDisabled.value
|
|
36
90
|
});
|
|
37
91
|
});
|
|
38
92
|
</script>
|
|
39
93
|
|
|
40
94
|
<template>
|
|
41
|
-
<Component
|
|
42
|
-
:is="as"
|
|
43
|
-
role="button"
|
|
44
|
-
:class="computedClasses"
|
|
45
|
-
:disabled="computedDisabled"
|
|
46
|
-
v-bind="$attrs"
|
|
47
|
-
>
|
|
95
|
+
<Component :is="as" role="button" :class="computedClasses" :disabled="isDisabled" v-bind="$attrs">
|
|
48
96
|
<PSpinner v-if="loading" />
|
|
49
97
|
|
|
50
98
|
<slot name="prefix" />
|
|
@@ -1,8 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
import type { CarouselProps } from './types';
|
|
2
|
+
declare var __VLS_1: {}, __VLS_3: {
|
|
3
|
+
current: number;
|
|
4
|
+
total: number;
|
|
5
|
+
};
|
|
2
6
|
type __VLS_Slots = {} & {
|
|
3
7
|
default?: (props: typeof __VLS_1) => any;
|
|
8
|
+
} & {
|
|
9
|
+
indicator?: (props: typeof __VLS_3) => any;
|
|
4
10
|
};
|
|
5
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
11
|
+
declare const __VLS_base: import("vue").DefineComponent<CarouselProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
12
|
+
change: (index: number) => any;
|
|
13
|
+
}, string, import("vue").PublicProps, Readonly<CarouselProps> & Readonly<{
|
|
14
|
+
onChange?: ((index: number) => any) | undefined;
|
|
15
|
+
}>, {
|
|
16
|
+
index: number;
|
|
17
|
+
height: number | string;
|
|
18
|
+
loop: boolean;
|
|
19
|
+
arrow: boolean;
|
|
20
|
+
autoplay: boolean;
|
|
21
|
+
interval: number;
|
|
22
|
+
indicator: boolean;
|
|
23
|
+
direction: import("../../types/shared").ComponentDirection;
|
|
24
|
+
indicatorType: "dot" | "line";
|
|
25
|
+
indicatorPosition: import("../../types/shared").BasePosition;
|
|
26
|
+
pauseOnHover: boolean;
|
|
27
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
6
28
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
7
29
|
declare const _default: typeof __VLS_export;
|
|
8
30
|
export default _default;
|