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
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { useModelValue } from "../../composables/use-model-value";
|
|
3
2
|
import { provideCheckboxGroupContext } from "../../contexts/checkbox";
|
|
4
3
|
import PCheckbox from "../checkbox/index.vue";
|
|
5
4
|
import PStack from "../stack/index.vue";
|
|
@@ -13,40 +12,23 @@ defineOptions({
|
|
|
13
12
|
});
|
|
14
13
|
const props = defineProps({
|
|
15
14
|
disabled: { type: Boolean, required: false },
|
|
16
|
-
|
|
17
|
-
modelValue: { type: Array, required:
|
|
18
|
-
options: { type: Array, required: false, default: () => [] }
|
|
15
|
+
options: { type: Array, required: false, default: () => [] },
|
|
16
|
+
modelValue: { type: Array, required: true, default: () => [] }
|
|
19
17
|
});
|
|
20
18
|
const emits = defineEmits(["change", "update:modelValue"]);
|
|
21
|
-
|
|
22
|
-
function isCheckedAll() {
|
|
23
|
-
const { options = [] } = props;
|
|
24
|
-
if (options.length === 0) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
return options.every((option) => modelValue.value.includes(option.value));
|
|
28
|
-
}
|
|
29
|
-
function isCheckedPartial() {
|
|
30
|
-
return modelValue.value.length > 0 && !isCheckedAll();
|
|
31
|
-
}
|
|
32
|
-
provideCheckboxGroupContext(props);
|
|
33
|
-
defineExpose({
|
|
34
|
-
isCheckedAll,
|
|
35
|
-
isCheckedPartial
|
|
36
|
-
});
|
|
19
|
+
provideCheckboxGroupContext({ props, emits });
|
|
37
20
|
</script>
|
|
38
21
|
|
|
39
22
|
<template>
|
|
40
|
-
<PStack
|
|
23
|
+
<PStack
|
|
24
|
+
class="pxd-checkbox-group"
|
|
25
|
+
role="group"
|
|
26
|
+
aria-label="Checkbox Group"
|
|
27
|
+
aria-multiselectable="true"
|
|
28
|
+
v-bind="$attrs"
|
|
29
|
+
>
|
|
41
30
|
<slot>
|
|
42
|
-
<PCheckbox
|
|
43
|
-
v-for="option in options"
|
|
44
|
-
:key="option.value"
|
|
45
|
-
v-model="modelValue"
|
|
46
|
-
:label="option.label"
|
|
47
|
-
:value="option.value"
|
|
48
|
-
:disabled="option.disabled"
|
|
49
|
-
/>
|
|
31
|
+
<PCheckbox v-for="option in options" :key="option.value" v-bind="option" />
|
|
50
32
|
</slot>
|
|
51
33
|
</PStack>
|
|
52
34
|
</template>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ComponentOption, ComponentValue } from '../../types/shared'
|
|
2
|
+
|
|
3
|
+
export interface CheckboxGroupProps {
|
|
4
|
+
disabled?: boolean
|
|
5
|
+
options?: ComponentOption[]
|
|
6
|
+
modelValue: ComponentValue[]
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface CheckboxGroupEmits {
|
|
10
|
+
change: [NonNullable<CheckboxGroupProps['modelValue']>]
|
|
11
|
+
'update:modelValue': [NonNullable<CheckboxGroupProps['modelValue']>]
|
|
12
|
+
}
|
|
@@ -4,8 +4,8 @@ type __VLS_Slots = {} & {
|
|
|
4
4
|
default?: (props: typeof __VLS_1) => any;
|
|
5
5
|
};
|
|
6
6
|
declare const __VLS_base: import("vue").DefineComponent<ChipProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ChipProps> & Readonly<{}>, {
|
|
7
|
-
size: number | string;
|
|
8
7
|
label: import("../../types/shared").ComponentLabel;
|
|
8
|
+
size: number | string;
|
|
9
9
|
variant: import("../../types/shared").ComponentVariant | "secondary";
|
|
10
10
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
11
11
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,13 +1,42 @@
|
|
|
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
|
-
|
|
5
|
+
defineOptions({
|
|
6
|
+
name: "PChip",
|
|
7
|
+
inheritAttrs: false
|
|
8
|
+
});
|
|
5
9
|
const props = defineProps({
|
|
6
10
|
size: { type: [Number, String], required: false, default: 10 },
|
|
7
11
|
inset: { type: Boolean, required: false },
|
|
8
12
|
label: { type: [String, Number, Array, null], required: false, default: "" },
|
|
9
13
|
variant: { type: String, required: false, default: "primary" }
|
|
10
14
|
});
|
|
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-all",
|
|
17
|
+
variants: {
|
|
18
|
+
variant: {
|
|
19
|
+
primary: "bg-primary text-background-100",
|
|
20
|
+
error: "bg-red-700 text-background-100 dark:text-gray-1000",
|
|
21
|
+
warning: "bg-amber-700 text-gray-1000 dark:text-gray-100",
|
|
22
|
+
success: "bg-green-700 text-background-100 dark:text-gray-1000",
|
|
23
|
+
secondary: "bg-gray-700 text-background-100 dark:text-gray-1000"
|
|
24
|
+
},
|
|
25
|
+
inset: {
|
|
26
|
+
true: {},
|
|
27
|
+
false: "translate-x-1/2 -translate-y-1/3"
|
|
28
|
+
},
|
|
29
|
+
hasLabel: {
|
|
30
|
+
true: {},
|
|
31
|
+
false: "size-(--chip-size)"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
defaultVariants: {
|
|
35
|
+
variant: "primary",
|
|
36
|
+
inset: false,
|
|
37
|
+
hasLabel: false
|
|
38
|
+
}
|
|
39
|
+
});
|
|
11
40
|
const computedClasses = computed(() => {
|
|
12
41
|
return chipVariant({
|
|
13
42
|
inset: props.inset,
|
|
@@ -18,7 +47,7 @@ const computedClasses = computed(() => {
|
|
|
18
47
|
</script>
|
|
19
48
|
|
|
20
49
|
<template>
|
|
21
|
-
<div class="pxd-chip relative inline-flex shrink-0">
|
|
50
|
+
<div class="pxd-chip relative inline-flex shrink-0" v-bind="$attrs">
|
|
22
51
|
<slot />
|
|
23
52
|
|
|
24
53
|
<span
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import type { ChoiceboxProps } from './types';
|
|
2
|
-
declare var
|
|
2
|
+
declare var __VLS_10: {};
|
|
3
3
|
type __VLS_Slots = {} & {
|
|
4
|
-
|
|
5
|
-
} & {
|
|
6
|
-
description?: (props: typeof __VLS_10) => any;
|
|
4
|
+
default?: (props: typeof __VLS_10) => any;
|
|
7
5
|
};
|
|
8
|
-
declare const __VLS_base: import("vue").DefineComponent<ChoiceboxProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
|
+
declare const __VLS_base: import("vue").DefineComponent<ChoiceboxProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
|
+
change: (args_0: NonNullable<import("../../types/shared").ComponentValue | import("../../types/shared").ComponentValue[] | undefined>) => any;
|
|
8
|
+
"update:modelValue": (args_0: NonNullable<import("../../types/shared").ComponentValue | import("../../types/shared").ComponentValue[] | undefined>) => any;
|
|
9
|
+
}, string, import("vue").PublicProps, Readonly<ChoiceboxProps> & Readonly<{
|
|
10
|
+
onChange?: ((args_0: NonNullable<import("../../types/shared").ComponentValue | import("../../types/shared").ComponentValue[] | undefined>) => any) | undefined;
|
|
11
|
+
"onUpdate:modelValue"?: ((args_0: NonNullable<import("../../types/shared").ComponentValue | import("../../types/shared").ComponentValue[] | undefined>) => any) | undefined;
|
|
12
|
+
}>, {
|
|
13
|
+
gap: import("../../types/shared").ResponsiveValue<number | string>;
|
|
14
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
15
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
10
16
|
declare const _default: typeof __VLS_export;
|
|
11
17
|
export default _default;
|
|
@@ -1,67 +1,49 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed, markRaw } from "vue";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import { provideChoiceboxContext } from "../../contexts/choicebox";
|
|
4
|
+
import PCheckboxGroup from "../checkbox-group/index.vue";
|
|
5
|
+
import PChoiceboxItem from "../choicebox-item/index.vue";
|
|
6
|
+
import PRadioGroup from "../radio-group/index.vue";
|
|
6
7
|
defineOptions({
|
|
7
|
-
name: "PChoicebox"
|
|
8
|
+
name: "PChoicebox",
|
|
9
|
+
inheritAttrs: false,
|
|
10
|
+
model: {
|
|
11
|
+
prop: "modelValue",
|
|
12
|
+
event: "update:modelValue"
|
|
13
|
+
}
|
|
8
14
|
});
|
|
9
15
|
const props = defineProps({
|
|
16
|
+
gap: { type: [Number, String, Object], required: false, default: 3 },
|
|
10
17
|
label: { type: [String, Number, Array, null], required: false },
|
|
11
|
-
|
|
18
|
+
multiple: { type: Boolean, required: false },
|
|
12
19
|
disabled: { type: Boolean, required: false },
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
});
|
|
16
|
-
const choiceboxModelValue = useChoiceboxGroupModelValue();
|
|
17
|
-
const choiceboxGroupContext = useChoiceboxGroupContext();
|
|
18
|
-
const renderComponent = computed(() => markRaw(choiceboxGroupContext.multiple ? PCheckbox : PRadio));
|
|
19
|
-
const computedAttrs = computed(() => {
|
|
20
|
-
const { disabled, required, value } = props;
|
|
21
|
-
return {
|
|
22
|
-
value,
|
|
23
|
-
disabled,
|
|
24
|
-
required,
|
|
25
|
-
class: "pxd-choicebox justify-between border rounded-md flex-1 w-full p-3 flex-row-reverse hover:bg-background-hover hover:border-gray-500 motion-safe:transition-colors"
|
|
26
|
-
};
|
|
20
|
+
options: { type: Array, required: false },
|
|
21
|
+
modelValue: { type: [String, Number, Boolean, Array], required: false }
|
|
27
22
|
});
|
|
23
|
+
const emits = defineEmits(["change", "update:modelValue"]);
|
|
24
|
+
const renderAs = computed(() => markRaw(props.multiple ? PCheckboxGroup : PRadioGroup));
|
|
25
|
+
function onUpdateModelValue(value) {
|
|
26
|
+
emits("change", value);
|
|
27
|
+
emits("update:modelValue", value);
|
|
28
|
+
}
|
|
29
|
+
provideChoiceboxContext({ props, emits });
|
|
28
30
|
</script>
|
|
29
31
|
|
|
30
32
|
<template>
|
|
31
|
-
<Component
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
<Component
|
|
34
|
+
:is="renderAs"
|
|
35
|
+
:gap="gap"
|
|
36
|
+
:options="options"
|
|
37
|
+
:disabled="disabled"
|
|
38
|
+
:model-value="modelValue"
|
|
39
|
+
:aria-multiselectable="multiple"
|
|
40
|
+
class="pxd-choicebox w-full"
|
|
41
|
+
:role="multiple ? 'group' : 'radiogroup'"
|
|
42
|
+
v-bind="$attrs"
|
|
43
|
+
@update:model-value="onUpdateModelValue"
|
|
44
|
+
>
|
|
45
|
+
<slot>
|
|
46
|
+
<PChoiceboxItem v-for="option in options" :key="option.value" v-bind="option" />
|
|
47
|
+
</slot>
|
|
44
48
|
</Component>
|
|
45
49
|
</template>
|
|
46
|
-
|
|
47
|
-
<style lang="postcss">
|
|
48
|
-
.pxd-choicebox[aria-checked='true'] {
|
|
49
|
-
border-color: var(--color-primary);
|
|
50
|
-
background-color: hsla(var(--primary), 0.08);
|
|
51
|
-
|
|
52
|
-
.pxd-choicebox--label,
|
|
53
|
-
.pxd-choicebox--description {
|
|
54
|
-
color: var(--color-primary);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.pxd-choicebox.is-disabled {
|
|
59
|
-
background-color: var(--color-background-100);
|
|
60
|
-
border-color: var(--color-border);
|
|
61
|
-
|
|
62
|
-
.pxd-choicebox--label,
|
|
63
|
-
.pxd-choicebox--description {
|
|
64
|
-
color: var(--color-gray-500);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
</style>
|
|
@@ -1,27 +1,20 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import type {
|
|
2
|
+
ComponentLabel,
|
|
3
|
+
ComponentValue,
|
|
4
|
+
ComponentOption,
|
|
5
|
+
ResponsiveValue,
|
|
6
|
+
} from '../../types/shared'
|
|
6
7
|
|
|
7
8
|
export interface ChoiceboxProps {
|
|
8
|
-
|
|
9
|
-
value?: ComponentValue
|
|
10
|
-
disabled?: boolean
|
|
11
|
-
required?: boolean
|
|
12
|
-
description?: string
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface ChoiceboxGroupProps {
|
|
9
|
+
gap?: ResponsiveValue<number | string>
|
|
16
10
|
label?: ComponentLabel
|
|
17
11
|
multiple?: boolean
|
|
18
|
-
required?: boolean
|
|
19
12
|
disabled?: boolean
|
|
20
|
-
options?:
|
|
13
|
+
options?: ComponentOption[]
|
|
21
14
|
modelValue?: ComponentValue | ComponentValue[]
|
|
22
15
|
}
|
|
23
16
|
|
|
24
|
-
export interface
|
|
25
|
-
change: [NonNullable<
|
|
26
|
-
'update:modelValue': [NonNullable<
|
|
17
|
+
export interface ChoiceboxEmits {
|
|
18
|
+
change: [NonNullable<ChoiceboxProps['modelValue']>]
|
|
19
|
+
'update:modelValue': [NonNullable<ChoiceboxProps['modelValue']>]
|
|
27
20
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ChoiceboxProps } from './types';
|
|
2
|
+
declare var __VLS_8: {}, __VLS_10: {};
|
|
3
|
+
type __VLS_Slots = {} & {
|
|
4
|
+
label?: (props: typeof __VLS_8) => any;
|
|
5
|
+
} & {
|
|
6
|
+
description?: (props: typeof __VLS_10) => any;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_base: import("vue").DefineComponent<ChoiceboxProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ChoiceboxProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
11
|
+
export default _default;
|
|
12
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
13
|
+
new (): {
|
|
14
|
+
$slots: S;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, markRaw } from "vue";
|
|
3
|
+
import { useChoiceboxContext } from "../../contexts/choicebox";
|
|
4
|
+
import PCheckbox from "../checkbox/index.vue";
|
|
5
|
+
import PRadio from "../radio/index.vue";
|
|
6
|
+
defineOptions({
|
|
7
|
+
name: "PChoiceboxItem",
|
|
8
|
+
inheritAttrs: false,
|
|
9
|
+
model: {
|
|
10
|
+
prop: "modelValue",
|
|
11
|
+
event: "update:modelValue"
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
defineProps({
|
|
15
|
+
label: { type: [String, Number, Array, null], required: false },
|
|
16
|
+
value: { type: [String, Number, Boolean], required: false },
|
|
17
|
+
disabled: { type: Boolean, required: false },
|
|
18
|
+
description: { type: String, required: false }
|
|
19
|
+
});
|
|
20
|
+
const choiceboxGroupContext = useChoiceboxContext();
|
|
21
|
+
const renderAs = computed(() => markRaw(choiceboxGroupContext?.props.multiple ? PCheckbox : PRadio));
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<template>
|
|
25
|
+
<Component
|
|
26
|
+
:is="renderAs"
|
|
27
|
+
:value="value"
|
|
28
|
+
:disabled="disabled"
|
|
29
|
+
class="pxd-choicebox-item p-3 w-full flex-1 flex-row-reverse justify-between rounded-md border hover:border-gray-500 hover:bg-background-hover motion-safe:transition-colors"
|
|
30
|
+
v-bind="$attrs"
|
|
31
|
+
>
|
|
32
|
+
<div class="gap-1 flex flex-col">
|
|
33
|
+
<span class="pxd-choicebox--label font-medium">
|
|
34
|
+
<slot name="label">
|
|
35
|
+
{{ label }}
|
|
36
|
+
</slot>
|
|
37
|
+
</span>
|
|
38
|
+
<span class="pxd-choicebox--description text-sm text-foreground-secondary">
|
|
39
|
+
<slot name="description">
|
|
40
|
+
{{ description }}
|
|
41
|
+
</slot>
|
|
42
|
+
</span>
|
|
43
|
+
</div>
|
|
44
|
+
</Component>
|
|
45
|
+
</template>
|
|
46
|
+
|
|
47
|
+
<style lang="postcss">
|
|
48
|
+
.pxd-choicebox[aria-selected='true'] {
|
|
49
|
+
border-color: var(--color-primary);
|
|
50
|
+
background-color: hsla(var(--primary), 0.08);
|
|
51
|
+
|
|
52
|
+
.pxd-choicebox--label,
|
|
53
|
+
.pxd-choicebox--description {
|
|
54
|
+
color: var(--color-primary);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.pxd-choicebox[data-disabled='true'] {
|
|
59
|
+
background-color: var(--color-background-100);
|
|
60
|
+
border-color: var(--color-border);
|
|
61
|
+
|
|
62
|
+
.pxd-choicebox--label,
|
|
63
|
+
.pxd-choicebox--description {
|
|
64
|
+
color: var(--color-gray-500);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
</style>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ComponentLabel, ComponentOption, ComponentValue } from '../../types/shared'
|
|
2
|
+
|
|
3
|
+
interface Option extends ComponentOption {
|
|
4
|
+
description?: string
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface ChoiceboxProps {
|
|
8
|
+
label?: ComponentLabel
|
|
9
|
+
value?: ComponentValue
|
|
10
|
+
disabled?: boolean
|
|
11
|
+
description?: string
|
|
12
|
+
}
|
|
@@ -5,10 +5,11 @@ type __VLS_Slots = {} & {
|
|
|
5
5
|
} & {
|
|
6
6
|
default?: (props: typeof __VLS_20) => any;
|
|
7
7
|
};
|
|
8
|
-
declare const __VLS_base: import("vue").DefineComponent<CollapseProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
declare const __VLS_base: import("vue").DefineComponent<CollapseProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
toggle: (args_0: MouseEvent) => any;
|
|
10
|
+
}, string, import("vue").PublicProps, Readonly<CollapseProps> & Readonly<{
|
|
11
|
+
onToggle?: ((args_0: MouseEvent) => any) | undefined;
|
|
12
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
13
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
13
14
|
declare const _default: typeof __VLS_export;
|
|
14
15
|
export default _default;
|
|
@@ -1,41 +1,26 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import ChevronDownIcon from "@gdsicon/vue/chevron-down";
|
|
3
|
-
import { computed, onMounted,
|
|
3
|
+
import { computed, onMounted, shallowRef, watch } from "vue";
|
|
4
4
|
import { useCollapseGroupContext } from "../../contexts/collapse";
|
|
5
5
|
import { getUniqueId } from "../../utils/uid";
|
|
6
6
|
defineOptions({
|
|
7
|
-
name: "PCollapse"
|
|
7
|
+
name: "PCollapse",
|
|
8
|
+
inheritAttrs: false
|
|
8
9
|
});
|
|
10
|
+
const uid = getUniqueId();
|
|
9
11
|
const props = defineProps({
|
|
10
|
-
title: { type: String, required: false
|
|
11
|
-
expand: { type: Boolean, required: false
|
|
12
|
+
title: { type: String, required: false },
|
|
13
|
+
expand: { type: Boolean, required: false }
|
|
12
14
|
});
|
|
13
|
-
const
|
|
14
|
-
const localExpand =
|
|
15
|
-
const
|
|
15
|
+
const emits = defineEmits(["toggle"]);
|
|
16
|
+
const localExpand = shallowRef(props.expand);
|
|
17
|
+
const collapseGroupContext = useCollapseGroupContext();
|
|
16
18
|
const isExpanded = computed(() => {
|
|
17
|
-
if (
|
|
18
|
-
return
|
|
19
|
+
if (collapseGroupContext) {
|
|
20
|
+
return collapseGroupContext.expandedIds.value.has(uid);
|
|
19
21
|
}
|
|
20
22
|
return localExpand.value;
|
|
21
23
|
});
|
|
22
|
-
if (!collapseGroup) {
|
|
23
|
-
watch(
|
|
24
|
-
() => props.expand,
|
|
25
|
-
(expand) => {
|
|
26
|
-
localExpand.value = expand;
|
|
27
|
-
},
|
|
28
|
-
{ immediate: true }
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
function onTriggerClick() {
|
|
32
|
-
const newState = !isExpanded.value;
|
|
33
|
-
if (collapseGroup) {
|
|
34
|
-
collapseGroup.toggleItem(uid, newState);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
localExpand.value = newState;
|
|
38
|
-
}
|
|
39
24
|
function beforeEnter(el) {
|
|
40
25
|
;
|
|
41
26
|
el.style.height = "0";
|
|
@@ -60,20 +45,52 @@ function leave(el) {
|
|
|
60
45
|
;
|
|
61
46
|
el.style.height = "0";
|
|
62
47
|
}
|
|
48
|
+
function onToggleClick(ev) {
|
|
49
|
+
const newCheckedState = !isExpanded.value;
|
|
50
|
+
emits("toggle", ev);
|
|
51
|
+
if (collapseGroupContext) {
|
|
52
|
+
const ids = collapseGroupContext.expandedIds.value;
|
|
53
|
+
if (!collapseGroupContext.props.multiple) {
|
|
54
|
+
ids.clear();
|
|
55
|
+
}
|
|
56
|
+
if (newCheckedState) {
|
|
57
|
+
ids.add(uid);
|
|
58
|
+
} else {
|
|
59
|
+
ids.delete(uid);
|
|
60
|
+
}
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
localExpand.value = newCheckedState;
|
|
64
|
+
}
|
|
65
|
+
watch(
|
|
66
|
+
() => props.expand,
|
|
67
|
+
(expand) => {
|
|
68
|
+
if (collapseGroupContext) {
|
|
69
|
+
if (expand) {
|
|
70
|
+
collapseGroupContext.expandedIds.value.add(uid);
|
|
71
|
+
} else {
|
|
72
|
+
collapseGroupContext.expandedIds.value.delete(uid);
|
|
73
|
+
}
|
|
74
|
+
} else {
|
|
75
|
+
localExpand.value = expand;
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{ immediate: true }
|
|
79
|
+
);
|
|
63
80
|
onMounted(() => {
|
|
64
|
-
if (props.expand &&
|
|
65
|
-
|
|
81
|
+
if (props.expand && collapseGroupContext) {
|
|
82
|
+
collapseGroupContext.expandedIds.value.add(uid);
|
|
66
83
|
}
|
|
67
84
|
});
|
|
68
85
|
</script>
|
|
69
86
|
|
|
70
87
|
<template>
|
|
71
|
-
<div class="pxd-collapse group/collapse border-b">
|
|
88
|
+
<div class="pxd-collapse group/collapse border-b" v-bind="$attrs">
|
|
72
89
|
<h3 class="pxd-collapse--title">
|
|
73
90
|
<button
|
|
74
91
|
class="pxd-collapse--trigger pr-1 group/collapse flex w-full cursor-pointer touch-manipulation appearance-none items-center justify-between border-none bg-transparent font-inherit self-focus-ring outline-none"
|
|
75
92
|
:data-state="isExpanded ? 'open' : 'closed'"
|
|
76
|
-
@click="
|
|
93
|
+
@click="onToggleClick"
|
|
77
94
|
>
|
|
78
95
|
<slot name="title">
|
|
79
96
|
{{ title }}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import type { ComponentSize } from '../../types/shared'
|
|
2
|
-
|
|
3
1
|
export interface CollapseProps {
|
|
4
2
|
title?: string
|
|
5
3
|
expand?: boolean
|
|
6
4
|
}
|
|
7
5
|
|
|
8
|
-
export interface
|
|
9
|
-
|
|
10
|
-
size?: ComponentSize
|
|
6
|
+
export interface CollapseEmits {
|
|
7
|
+
toggle: [MouseEvent]
|
|
11
8
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import type { CollapseGroupProps } from '
|
|
1
|
+
import type { CollapseGroupProps } from './types';
|
|
2
2
|
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<CollapseGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CollapseGroupProps> & Readonly<{}>, {
|
|
7
|
-
multiple: boolean;
|
|
8
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
6
|
+
declare const __VLS_base: import("vue").DefineComponent<CollapseGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CollapseGroupProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
7
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
10
8
|
declare const _default: typeof __VLS_export;
|
|
11
9
|
export default _default;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed, ref } from "vue";
|
|
3
|
-
import { useConfigProvider } from "../../composables/use-config-provider-context";
|
|
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
|
-
name: "PCollapseGroup"
|
|
7
|
+
name: "PCollapseGroup",
|
|
8
|
+
inheritAttrs: false
|
|
8
9
|
});
|
|
9
10
|
const props = defineProps({
|
|
10
|
-
multiple: { type: Boolean, required: false
|
|
11
|
+
multiple: { type: Boolean, required: false },
|
|
11
12
|
size: { type: String, required: false }
|
|
12
13
|
});
|
|
13
14
|
const SIZES = {
|
|
@@ -28,7 +29,7 @@ const SIZES = {
|
|
|
28
29
|
}
|
|
29
30
|
};
|
|
30
31
|
const configProvider = useConfigProvider();
|
|
31
|
-
const
|
|
32
|
+
const expandedIds = ref(/* @__PURE__ */ new Set());
|
|
32
33
|
const computedStyle = computed(() => {
|
|
33
34
|
const { padding, fontSize, fontWeight } = getFallbackValue(props.size, SIZES, configProvider.size);
|
|
34
35
|
return {
|
|
@@ -37,27 +38,14 @@ const computedStyle = computed(() => {
|
|
|
37
38
|
"--collapse-font-weight": fontWeight
|
|
38
39
|
};
|
|
39
40
|
});
|
|
40
|
-
function toggleItem(id, expanded) {
|
|
41
|
-
if (expanded) {
|
|
42
|
-
if (props.multiple) {
|
|
43
|
-
expandedItemIds.value.push(id);
|
|
44
|
-
} else {
|
|
45
|
-
expandedItemIds.value = [id];
|
|
46
|
-
}
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
expandedItemIds.value = expandedItemIds.value.filter((item) => item !== id);
|
|
50
|
-
}
|
|
51
|
-
const isExpanded = (id) => expandedItemIds.value.includes(id);
|
|
52
41
|
provideCollapseGroupContext({
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
toggleItem
|
|
42
|
+
expandedIds,
|
|
43
|
+
props
|
|
56
44
|
});
|
|
57
45
|
</script>
|
|
58
46
|
|
|
59
47
|
<template>
|
|
60
|
-
<div class="pxd-collapse-group w-full max-w-full border-t" :style="computedStyle">
|
|
48
|
+
<div class="pxd-collapse-group w-full max-w-full border-t" :style="computedStyle" v-bind="$attrs">
|
|
61
49
|
<slot />
|
|
62
50
|
</div>
|
|
63
51
|
</template>
|