@baklavue/ui 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion/Accordion.vue.d.ts +51 -0
- package/dist/accordion/Accordion.vue.d.ts.map +1 -0
- package/dist/accordion/accordion.types.d.ts +97 -0
- package/dist/accordion/accordion.types.d.ts.map +1 -0
- package/dist/accordion/index.d.ts +3 -0
- package/dist/accordion/index.d.ts.map +1 -0
- package/dist/alert/Alert.vue.d.ts +49 -0
- package/dist/alert/Alert.vue.d.ts.map +1 -0
- package/dist/alert/alert.types.d.ts +52 -0
- package/dist/alert/alert.types.d.ts.map +1 -0
- package/dist/alert/index.d.ts +3 -0
- package/dist/alert/index.d.ts.map +1 -0
- package/dist/badge/Badge.vue.d.ts +22 -0
- package/dist/badge/Badge.vue.d.ts.map +1 -0
- package/dist/badge/badge.types.d.ts +7 -0
- package/dist/badge/badge.types.d.ts.map +1 -0
- package/dist/badge/index.d.ts +3 -0
- package/dist/badge/index.d.ts.map +1 -0
- package/dist/banner/Banner.vue.d.ts +36 -0
- package/dist/banner/Banner.vue.d.ts.map +1 -0
- package/dist/banner/banner.types.d.ts +70 -0
- package/dist/banner/banner.types.d.ts.map +1 -0
- package/dist/banner/index.d.ts +3 -0
- package/dist/banner/index.d.ts.map +1 -0
- package/dist/button/Button.vue.d.ts +36 -0
- package/dist/button/Button.vue.d.ts.map +1 -0
- package/dist/button/button.types.d.ts +24 -0
- package/dist/button/button.types.d.ts.map +1 -0
- package/dist/button/index.d.ts +3 -0
- package/dist/button/index.d.ts.map +1 -0
- package/dist/checkbox/Checkbox.vue.d.ts +39 -0
- package/dist/checkbox/Checkbox.vue.d.ts.map +1 -0
- package/dist/checkbox/checkbox.types.d.ts +95 -0
- package/dist/checkbox/checkbox.types.d.ts.map +1 -0
- package/dist/checkbox/index.d.ts +3 -0
- package/dist/checkbox/index.d.ts.map +1 -0
- package/dist/chip/Chip.vue.d.ts +29 -0
- package/dist/chip/Chip.vue.d.ts.map +1 -0
- package/dist/chip/chip.types.d.ts +59 -0
- package/dist/chip/chip.types.d.ts.map +1 -0
- package/dist/chip/index.d.ts +3 -0
- package/dist/chip/index.d.ts.map +1 -0
- package/dist/datepicker/Datepicker.vue.d.ts +41 -0
- package/dist/datepicker/Datepicker.vue.d.ts.map +1 -0
- package/dist/datepicker/datepicker.types.d.ts +38 -0
- package/dist/datepicker/datepicker.types.d.ts.map +1 -0
- package/dist/datepicker/index.d.ts +3 -0
- package/dist/datepicker/index.d.ts.map +1 -0
- package/dist/dialog/Dialog.vue.d.ts +44 -0
- package/dist/dialog/Dialog.vue.d.ts.map +1 -0
- package/dist/dialog/dialog.types.d.ts +18 -0
- package/dist/dialog/dialog.types.d.ts.map +1 -0
- package/dist/dialog/index.d.ts +3 -0
- package/dist/dialog/index.d.ts.map +1 -0
- package/dist/drawer/Drawer.vue.d.ts +42 -0
- package/dist/drawer/Drawer.vue.d.ts.map +1 -0
- package/dist/drawer/drawer.types.d.ts +18 -0
- package/dist/drawer/drawer.types.d.ts.map +1 -0
- package/dist/drawer/index.d.ts +3 -0
- package/dist/drawer/index.d.ts.map +1 -0
- package/dist/dropdown/Dropdown.vue.d.ts +59 -0
- package/dist/dropdown/Dropdown.vue.d.ts.map +1 -0
- package/dist/dropdown/dropdown.types.d.ts +92 -0
- package/dist/dropdown/dropdown.types.d.ts.map +1 -0
- package/dist/dropdown/index.d.ts +3 -0
- package/dist/dropdown/index.d.ts.map +1 -0
- package/dist/file-upload/FileUpload.vue.d.ts +44 -0
- package/dist/file-upload/FileUpload.vue.d.ts.map +1 -0
- package/dist/file-upload/file-upload.types.d.ts +76 -0
- package/dist/file-upload/file-upload.types.d.ts.map +1 -0
- package/dist/file-upload/index.d.ts +3 -0
- package/dist/file-upload/index.d.ts.map +1 -0
- package/dist/icon/Icon.vue.d.ts +29 -0
- package/dist/icon/Icon.vue.d.ts.map +1 -0
- package/dist/icon/icon.types.d.ts +23 -0
- package/dist/icon/icon.types.d.ts.map +1 -0
- package/dist/icon/index.d.ts +3 -0
- package/dist/icon/index.d.ts.map +1 -0
- package/dist/image/Image.vue.d.ts +30 -0
- package/dist/image/Image.vue.d.ts.map +1 -0
- package/dist/image/image.types.d.ts +48 -0
- package/dist/image/image.types.d.ts.map +1 -0
- package/dist/image/index.d.ts +3 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/index.css +474 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2404 -0
- package/dist/index.js.map +1 -0
- package/dist/input/Input.vue.d.ts +39 -0
- package/dist/input/Input.vue.d.ts.map +1 -0
- package/dist/input/index.d.ts +3 -0
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/input.types.d.ts +122 -0
- package/dist/input/input.types.d.ts.map +1 -0
- package/dist/link/Link.vue.d.ts +38 -0
- package/dist/link/Link.vue.d.ts.map +1 -0
- package/dist/link/index.d.ts +3 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/link.types.d.ts +40 -0
- package/dist/link/link.types.d.ts.map +1 -0
- package/dist/notification/Notification.vue.d.ts +7 -0
- package/dist/notification/Notification.vue.d.ts.map +1 -0
- package/dist/notification/index.d.ts +3 -0
- package/dist/notification/index.d.ts.map +1 -0
- package/dist/notification/notification.types.d.ts +25 -0
- package/dist/notification/notification.types.d.ts.map +1 -0
- package/dist/pagination/Pagination.vue.d.ts +34 -0
- package/dist/pagination/Pagination.vue.d.ts.map +1 -0
- package/dist/pagination/index.d.ts +3 -0
- package/dist/pagination/index.d.ts.map +1 -0
- package/dist/pagination/pagination.types.d.ts +54 -0
- package/dist/pagination/pagination.types.d.ts.map +1 -0
- package/dist/radio/Radio.vue.d.ts +42 -0
- package/dist/radio/Radio.vue.d.ts.map +1 -0
- package/dist/radio/index.d.ts +3 -0
- package/dist/radio/index.d.ts.map +1 -0
- package/dist/radio/radio.types.d.ts +84 -0
- package/dist/radio/radio.types.d.ts.map +1 -0
- package/dist/scroll-to-top/ScrollToTop.vue.d.ts +14 -0
- package/dist/scroll-to-top/ScrollToTop.vue.d.ts.map +1 -0
- package/dist/scroll-to-top/index.d.ts +3 -0
- package/dist/scroll-to-top/index.d.ts.map +1 -0
- package/dist/scroll-to-top/scroll-to-top.types.d.ts +33 -0
- package/dist/scroll-to-top/scroll-to-top.types.d.ts.map +1 -0
- package/dist/select/Select.vue.d.ts +42 -0
- package/dist/select/Select.vue.d.ts.map +1 -0
- package/dist/select/index.d.ts +3 -0
- package/dist/select/index.d.ts.map +1 -0
- package/dist/select/select.types.d.ts +52 -0
- package/dist/select/select.types.d.ts.map +1 -0
- package/dist/skeleton/Skeleton.vue.d.ts +9 -0
- package/dist/skeleton/Skeleton.vue.d.ts.map +1 -0
- package/dist/skeleton/index.d.ts +3 -0
- package/dist/skeleton/index.d.ts.map +1 -0
- package/dist/skeleton/skeleton.types.d.ts +30 -0
- package/dist/skeleton/skeleton.types.d.ts.map +1 -0
- package/dist/spinner/Spinner.vue.d.ts +8 -0
- package/dist/spinner/Spinner.vue.d.ts.map +1 -0
- package/dist/spinner/index.d.ts +3 -0
- package/dist/spinner/index.d.ts.map +1 -0
- package/dist/spinner/spinner.types.d.ts +12 -0
- package/dist/spinner/spinner.types.d.ts.map +1 -0
- package/dist/split-button/SplitButton.vue.d.ts +25 -0
- package/dist/split-button/SplitButton.vue.d.ts.map +1 -0
- package/dist/split-button/index.d.ts +3 -0
- package/dist/split-button/index.d.ts.map +1 -0
- package/dist/split-button/split-button.types.d.ts +19 -0
- package/dist/split-button/split-button.types.d.ts.map +1 -0
- package/dist/stepper/Stepper.vue.d.ts +30 -0
- package/dist/stepper/Stepper.vue.d.ts.map +1 -0
- package/dist/stepper/index.d.ts +3 -0
- package/dist/stepper/index.d.ts.map +1 -0
- package/dist/stepper/stepper.types.d.ts +29 -0
- package/dist/stepper/stepper.types.d.ts.map +1 -0
- package/dist/switch/Switch.vue.d.ts +32 -0
- package/dist/switch/Switch.vue.d.ts.map +1 -0
- package/dist/switch/index.d.ts +3 -0
- package/dist/switch/index.d.ts.map +1 -0
- package/dist/switch/switch.types.d.ts +14 -0
- package/dist/switch/switch.types.d.ts.map +1 -0
- package/dist/tab/Tab.vue.d.ts +31 -0
- package/dist/tab/Tab.vue.d.ts.map +1 -0
- package/dist/tab/index.d.ts +3 -0
- package/dist/tab/index.d.ts.map +1 -0
- package/dist/tab/tab.types.d.ts +17 -0
- package/dist/tab/tab.types.d.ts.map +1 -0
- package/dist/table/Table.vue.d.ts +181 -0
- package/dist/table/Table.vue.d.ts.map +1 -0
- package/dist/table/index.d.ts +3 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/table.types.d.ts +61 -0
- package/dist/table/table.types.d.ts.map +1 -0
- package/dist/tag/Tag.vue.d.ts +31 -0
- package/dist/tag/Tag.vue.d.ts.map +1 -0
- package/dist/tag/index.d.ts +3 -0
- package/dist/tag/index.d.ts.map +1 -0
- package/dist/tag/tag.types.d.ts +22 -0
- package/dist/tag/tag.types.d.ts.map +1 -0
- package/dist/textarea/Textarea.vue.d.ts +35 -0
- package/dist/textarea/Textarea.vue.d.ts.map +1 -0
- package/dist/textarea/index.d.ts +3 -0
- package/dist/textarea/index.d.ts.map +1 -0
- package/dist/textarea/textarea.types.d.ts +37 -0
- package/dist/textarea/textarea.types.d.ts.map +1 -0
- package/dist/tooltip/Tooltip.vue.d.ts +33 -0
- package/dist/tooltip/Tooltip.vue.d.ts.map +1 -0
- package/dist/tooltip/index.d.ts +3 -0
- package/dist/tooltip/index.d.ts.map +1 -0
- package/dist/tooltip/tooltip.types.d.ts +17 -0
- package/dist/tooltip/tooltip.types.d.ts.map +1 -0
- package/dist/utils/loadBaklavaResources.d.ts +2 -0
- package/dist/utils/loadBaklavaResources.d.ts.map +1 -0
- package/package.json +18 -2
- package/.releaserc.json +0 -14
- package/CHANGELOG.md +0 -88
- package/env.d.ts +0 -5
- package/index.ts +0 -1
- package/src/accordion/Accordion.spec.ts +0 -75
- package/src/accordion/Accordion.vue +0 -206
- package/src/accordion/accordion.types.ts +0 -109
- package/src/accordion/index.ts +0 -3
- package/src/alert/Alert.spec.ts +0 -38
- package/src/alert/Alert.vue +0 -199
- package/src/alert/alert.types.ts +0 -58
- package/src/alert/index.ts +0 -2
- package/src/badge/Badge.spec.ts +0 -28
- package/src/badge/Badge.vue +0 -20
- package/src/badge/badge.types.ts +0 -7
- package/src/badge/index.ts +0 -2
- package/src/banner/Banner.spec.ts +0 -111
- package/src/banner/Banner.vue +0 -265
- package/src/banner/banner.types.ts +0 -86
- package/src/banner/index.ts +0 -2
- package/src/button/Button.spec.ts +0 -51
- package/src/button/Button.vue +0 -45
- package/src/button/button.types.ts +0 -30
- package/src/button/index.ts +0 -3
- package/src/checkbox/Checkbox.spec.ts +0 -216
- package/src/checkbox/Checkbox.vue +0 -148
- package/src/checkbox/checkbox.types.ts +0 -108
- package/src/checkbox/index.ts +0 -2
- package/src/chip/Chip.spec.ts +0 -49
- package/src/chip/Chip.vue +0 -237
- package/src/chip/chip.types.ts +0 -77
- package/src/chip/index.ts +0 -2
- package/src/datepicker/Datepicker.spec.ts +0 -129
- package/src/datepicker/Datepicker.vue +0 -172
- package/src/datepicker/datepicker.types.ts +0 -39
- package/src/datepicker/index.ts +0 -2
- package/src/dialog/Dialog.spec.ts +0 -111
- package/src/dialog/Dialog.vue +0 -178
- package/src/dialog/dialog.types.ts +0 -17
- package/src/dialog/index.ts +0 -2
- package/src/drawer/Drawer.spec.ts +0 -102
- package/src/drawer/Drawer.vue +0 -162
- package/src/drawer/drawer.types.ts +0 -17
- package/src/drawer/index.ts +0 -2
- package/src/dropdown/Dropdown.spec.ts +0 -207
- package/src/dropdown/Dropdown.vue +0 -231
- package/src/dropdown/dropdown.types.ts +0 -110
- package/src/dropdown/index.ts +0 -2
- package/src/file-upload/FileUpload.spec.ts +0 -359
- package/src/file-upload/FileUpload.vue +0 -440
- package/src/file-upload/file-upload.types.ts +0 -89
- package/src/file-upload/index.ts +0 -7
- package/src/icon/Icon.spec.ts +0 -40
- package/src/icon/Icon.vue +0 -102
- package/src/icon/icon.types.ts +0 -25
- package/src/icon/index.ts +0 -2
- package/src/image/Image.spec.ts +0 -23
- package/src/image/Image.vue +0 -144
- package/src/image/image.types.ts +0 -57
- package/src/image/index.ts +0 -3
- package/src/index.ts +0 -43
- package/src/input/Input.spec.ts +0 -69
- package/src/input/Input.vue +0 -148
- package/src/input/index.ts +0 -3
- package/src/input/input.types.ts +0 -156
- package/src/link/Link.spec.ts +0 -69
- package/src/link/Link.vue +0 -133
- package/src/link/index.ts +0 -2
- package/src/link/link.types.ts +0 -42
- package/src/notification/Notification.spec.ts +0 -18
- package/src/notification/Notification.vue +0 -57
- package/src/notification/index.ts +0 -2
- package/src/notification/notification.types.ts +0 -25
- package/src/pagination/Pagination.spec.ts +0 -39
- package/src/pagination/Pagination.vue +0 -137
- package/src/pagination/index.ts +0 -2
- package/src/pagination/pagination.types.ts +0 -61
- package/src/radio/Radio.spec.ts +0 -149
- package/src/radio/Radio.vue +0 -205
- package/src/radio/index.ts +0 -2
- package/src/radio/radio.types.ts +0 -95
- package/src/scroll-to-top/ScrollToTop.spec.ts +0 -119
- package/src/scroll-to-top/ScrollToTop.vue +0 -130
- package/src/scroll-to-top/index.ts +0 -2
- package/src/scroll-to-top/scroll-to-top.types.ts +0 -42
- package/src/select/Select.spec.ts +0 -47
- package/src/select/Select.vue +0 -147
- package/src/select/index.ts +0 -2
- package/src/select/select.types.ts +0 -53
- package/src/skeleton/Skeleton.spec.ts +0 -28
- package/src/skeleton/Skeleton.vue +0 -115
- package/src/skeleton/index.ts +0 -2
- package/src/skeleton/skeleton.types.ts +0 -33
- package/src/spinner/Spinner.spec.ts +0 -28
- package/src/spinner/Spinner.vue +0 -49
- package/src/spinner/index.ts +0 -2
- package/src/spinner/spinner.types.ts +0 -11
- package/src/split-button/SplitButton.spec.ts +0 -24
- package/src/split-button/SplitButton.vue +0 -73
- package/src/split-button/index.ts +0 -2
- package/src/split-button/split-button.types.ts +0 -19
- package/src/stepper/Stepper.spec.ts +0 -37
- package/src/stepper/Stepper.vue +0 -100
- package/src/stepper/index.ts +0 -2
- package/src/stepper/stepper.types.ts +0 -29
- package/src/switch/Switch.spec.ts +0 -30
- package/src/switch/Switch.vue +0 -80
- package/src/switch/index.ts +0 -2
- package/src/switch/switch.types.ts +0 -13
- package/src/tab/Tab.spec.ts +0 -87
- package/src/tab/Tab.vue +0 -99
- package/src/tab/index.ts +0 -2
- package/src/tab/tab.types.ts +0 -17
- package/src/table/Table.spec.ts +0 -185
- package/src/table/Table.vue +0 -264
- package/src/table/index.ts +0 -7
- package/src/table/table.types.ts +0 -62
- package/src/tag/Tag.spec.ts +0 -84
- package/src/tag/Tag.vue +0 -83
- package/src/tag/index.ts +0 -2
- package/src/tag/tag.types.ts +0 -24
- package/src/textarea/Textarea.spec.ts +0 -105
- package/src/textarea/Textarea.vue +0 -84
- package/src/textarea/index.ts +0 -2
- package/src/textarea/textarea.types.ts +0 -37
- package/src/tooltip/Tooltip.spec.ts +0 -46
- package/src/tooltip/Tooltip.vue +0 -81
- package/src/tooltip/index.ts +0 -3
- package/src/tooltip/tooltip.types.ts +0 -29
- package/src/utils/loadBaklavaResources.ts +0 -24
- package/tests/setup.ts +0 -352
- package/tsconfig.json +0 -29
- package/vitest.config.ts +0 -32
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { TextareaProps } from './textarea.types';
|
|
2
|
+
declare function __VLS_template(): {
|
|
3
|
+
attrs: Partial<{}>;
|
|
4
|
+
slots: {
|
|
5
|
+
default?(_: {}): any;
|
|
6
|
+
};
|
|
7
|
+
refs: {};
|
|
8
|
+
rootEl: any;
|
|
9
|
+
};
|
|
10
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
11
|
+
declare const __VLS_component: import('vue').DefineComponent<TextareaProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
12
|
+
input: (event: CustomEvent<any>) => any;
|
|
13
|
+
change: (event: CustomEvent<any>) => any;
|
|
14
|
+
"update:modelValue": (value: string | null) => any;
|
|
15
|
+
}, string, import('vue').PublicProps, Readonly<TextareaProps> & Readonly<{
|
|
16
|
+
onInput?: ((event: CustomEvent<any>) => any) | undefined;
|
|
17
|
+
onChange?: ((event: CustomEvent<any>) => any) | undefined;
|
|
18
|
+
"onUpdate:modelValue"?: ((value: string | null) => any) | undefined;
|
|
19
|
+
}>, {
|
|
20
|
+
label: string;
|
|
21
|
+
disabled: boolean;
|
|
22
|
+
placeholder: string;
|
|
23
|
+
modelValue: string | null;
|
|
24
|
+
required: boolean;
|
|
25
|
+
maxlength: number;
|
|
26
|
+
rows: number;
|
|
27
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
28
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
29
|
+
export default _default;
|
|
30
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
31
|
+
new (): {
|
|
32
|
+
$slots: S;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=Textarea.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.vue.d.ts","sourceRoot":"","sources":["../../src/textarea/Textarea.vue"],"names":[],"mappings":"AAqHA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA+CtD,iBAAS,cAAc;WA4DT,OAAO,IAA6B;;yBAVpB,GAAG;;;;EAehC;AAWD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;6EASnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/textarea/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Textarea size */
|
|
2
|
+
export type TextareaSize = "small" | "medium" | "large";
|
|
3
|
+
export interface TextareaProps {
|
|
4
|
+
/** Textarea value (use with v-model) */
|
|
5
|
+
modelValue?: string | null;
|
|
6
|
+
/** Label text */
|
|
7
|
+
label?: string;
|
|
8
|
+
/** Placeholder text */
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
/** Number of visible rows */
|
|
11
|
+
rows?: number;
|
|
12
|
+
/** Maximum character length */
|
|
13
|
+
maxlength?: number;
|
|
14
|
+
/** Minimum character length */
|
|
15
|
+
minlength?: number;
|
|
16
|
+
/** Disabled state */
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
/** Required field */
|
|
19
|
+
required?: boolean;
|
|
20
|
+
/** Readonly state */
|
|
21
|
+
readonly?: boolean;
|
|
22
|
+
/** Help text below the textarea */
|
|
23
|
+
helpText?: string;
|
|
24
|
+
/** Custom error/invalid message */
|
|
25
|
+
invalidText?: string;
|
|
26
|
+
/** Enable character counter */
|
|
27
|
+
characterCounter?: boolean;
|
|
28
|
+
/** Enable auto-expand up to maxRows */
|
|
29
|
+
expand?: boolean;
|
|
30
|
+
/** Max rows when expand is true */
|
|
31
|
+
maxRows?: number;
|
|
32
|
+
/** Textarea size */
|
|
33
|
+
size?: TextareaSize;
|
|
34
|
+
/** Name attribute for forms */
|
|
35
|
+
name?: string;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=textarea.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.types.d.ts","sourceRoot":"","sources":["../../src/textarea/textarea.types.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { TooltipProps } from './tooltip.types';
|
|
2
|
+
declare function __VLS_template(): {
|
|
3
|
+
attrs: Partial<{}>;
|
|
4
|
+
slots: {
|
|
5
|
+
default?(_: {}): any;
|
|
6
|
+
default?(_: {}): any;
|
|
7
|
+
content?(_: {}): any;
|
|
8
|
+
};
|
|
9
|
+
refs: {};
|
|
10
|
+
rootEl: any;
|
|
11
|
+
};
|
|
12
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
13
|
+
declare const __VLS_component: import('vue').DefineComponent<TooltipProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
14
|
+
show: () => any;
|
|
15
|
+
hide: () => any;
|
|
16
|
+
}, string, import('vue').PublicProps, Readonly<TooltipProps> & Readonly<{
|
|
17
|
+
onShow?: (() => any) | undefined;
|
|
18
|
+
onHide?: (() => any) | undefined;
|
|
19
|
+
}>, {
|
|
20
|
+
disabled: boolean;
|
|
21
|
+
placement: import('./tooltip.types').TooltipPlacement;
|
|
22
|
+
trigger: string;
|
|
23
|
+
content: string;
|
|
24
|
+
delay: number;
|
|
25
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
26
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
27
|
+
export default _default;
|
|
28
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
29
|
+
new (): {
|
|
30
|
+
$slots: S;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=Tooltip.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.vue.d.ts","sourceRoot":"","sources":["../../src/tooltip/Tooltip.vue"],"names":[],"mappings":"AAiHA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA6CpD,iBAAS,cAAc;WAoET,OAAO,IAA6B;;yBAZrB,GAAG;yBAEF,GAAG;yBADH,GAAG;;;;EAgBhC;AAYD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;6EAQnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tooltip/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Tooltip placement relative to trigger */
|
|
2
|
+
export type TooltipPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
|
|
3
|
+
export interface TooltipProps {
|
|
4
|
+
/** Tooltip content text */
|
|
5
|
+
content?: string;
|
|
6
|
+
/** Placement of tooltip relative to trigger (default: 'top') */
|
|
7
|
+
placement?: TooltipPlacement;
|
|
8
|
+
/** Target element (selector or Element) when using external trigger */
|
|
9
|
+
target?: string | Element;
|
|
10
|
+
/** Trigger type: 'hover' | 'click' etc. (passed to bl-tooltip) */
|
|
11
|
+
trigger?: string;
|
|
12
|
+
/** Disabled state */
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/** Delay before showing tooltip (ms) */
|
|
15
|
+
delay?: number;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=tooltip.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.types.d.ts","sourceRoot":"","sources":["../../src/tooltip/tooltip.types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,WAAW,GACX,SAAS,GACT,QAAQ,GACR,cAAc,GACd,YAAY,GACZ,MAAM,GACN,YAAY,GACZ,UAAU,GACV,OAAO,GACP,aAAa,GACb,WAAW,CAAC;AAEhB,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadBaklavaResources.d.ts","sourceRoot":"","sources":["../../src/utils/loadBaklavaResources.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB,YAyBhC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baklavue/ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Vue 3 UI kit for Trendyol Baklava Design System",
|
|
5
5
|
"author": "erbilnas",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,18 +22,34 @@
|
|
|
22
22
|
"components",
|
|
23
23
|
"ui"
|
|
24
24
|
],
|
|
25
|
-
"
|
|
25
|
+
"main": "dist/index.js",
|
|
26
|
+
"module": "dist/index.js",
|
|
27
|
+
"types": "dist/index.d.ts",
|
|
28
|
+
"exports": {
|
|
29
|
+
".": {
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"import": "./dist/index.js",
|
|
32
|
+
"default": "./dist/index.js"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
26
35
|
"type": "module",
|
|
27
36
|
"scripts": {
|
|
37
|
+
"build": "bunx vite build",
|
|
38
|
+
"prepublishOnly": "bun run build",
|
|
28
39
|
"release": "semantic-release -e semantic-release-monorepo",
|
|
29
40
|
"release:dry-run": "semantic-release --dry-run -e semantic-release-monorepo",
|
|
30
41
|
"test": "vitest",
|
|
31
42
|
"test:run": "vitest run",
|
|
32
43
|
"test:coverage": "vitest run --coverage"
|
|
33
44
|
},
|
|
45
|
+
"files": [
|
|
46
|
+
"dist"
|
|
47
|
+
],
|
|
34
48
|
"devDependencies": {
|
|
35
49
|
"@types/bun": "latest",
|
|
36
50
|
"@vitejs/plugin-vue": "^5.2.4",
|
|
51
|
+
"vite": "^6.0.0",
|
|
52
|
+
"vite-plugin-dts": "^4.3.0",
|
|
37
53
|
"@vitest/coverage-v8": "^4.0.18",
|
|
38
54
|
"@vue/test-utils": "^2.4.6",
|
|
39
55
|
"happy-dom": "^20.6.1",
|
package/.releaserc.json
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "semantic-release-monorepo",
|
|
3
|
-
"tagFormat": "@baklavue/ui-v${version}",
|
|
4
|
-
"branches": ["main", { "name": "preview", "prerelease": true, "channel": "beta" }],
|
|
5
|
-
"repositoryUrl": "https://github.com/erbilnas/baklavue",
|
|
6
|
-
"plugins": [
|
|
7
|
-
"@semantic-release/commit-analyzer",
|
|
8
|
-
"@semantic-release/release-notes-generator",
|
|
9
|
-
"@semantic-release/changelog",
|
|
10
|
-
["@semantic-release/npm", { "npmPublish": true }],
|
|
11
|
-
"@semantic-release/github",
|
|
12
|
-
"@semantic-release/git"
|
|
13
|
-
]
|
|
14
|
-
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
# @baklavue/ui-v1.0.0 (2026-02-12)
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
### Bug Fixes
|
|
5
|
-
|
|
6
|
-
* fix package version ([620618d](https://github.com/erbilnas/baklavue/commit/620618df664022f1b68859aee4b374f6586731bb))
|
|
7
|
-
* fix release ci ([6c22554](https://github.com/erbilnas/baklavue/commit/6c225541b182c4b8692af000e7c13ca6e546599a))
|
|
8
|
-
* fix release ci ([6e23d99](https://github.com/erbilnas/baklavue/commit/6e23d99cac122d033c72d6d98819e0329c92bcdc))
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
### Features
|
|
12
|
-
|
|
13
|
-
* add accordion and alert components ([10b8155](https://github.com/erbilnas/baklavue/commit/10b81556184432deb2772d3489c24be6115e667c))
|
|
14
|
-
* add accordion, alert and badge components ([b939941](https://github.com/erbilnas/baklavue/commit/b939941e469a29b10ddcc6196f97700951672f97))
|
|
15
|
-
* add file upload component ([7aa41b1](https://github.com/erbilnas/baklavue/commit/7aa41b1766c72572be97c84bddc2ca5dccac9be8))
|
|
16
|
-
* add github pages support ([c76dffa](https://github.com/erbilnas/baklavue/commit/c76dffa8eb32b8293aca7c7e1f5d2ee4139802b0))
|
|
17
|
-
* add image component ([609eefe](https://github.com/erbilnas/baklavue/commit/609eefe9a4a9f74fc19c7e2a8aa2ab0d7529686f))
|
|
18
|
-
* add info for npm package ([8ffbb9f](https://github.com/erbilnas/baklavue/commit/8ffbb9f81d108d633608ebe8d3854a2f6861475a))
|
|
19
|
-
* add new components ([b3c535e](https://github.com/erbilnas/baklavue/commit/b3c535e010e1e43b9b04365df2205b69a0777695))
|
|
20
|
-
* add new components ([f977070](https://github.com/erbilnas/baklavue/commit/f977070bc1634941a5566f079922410838e1e257))
|
|
21
|
-
* add new components ([fa3b4d1](https://github.com/erbilnas/baklavue/commit/fa3b4d1586f7e5b15194d182931e5bc89fd2f1dd))
|
|
22
|
-
* add new components ([ec926f0](https://github.com/erbilnas/baklavue/commit/ec926f0e9ba11c1a28a97c8afee4829b38ed8539))
|
|
23
|
-
* add new components ([5d3d7e2](https://github.com/erbilnas/baklavue/commit/5d3d7e2e5a040cb57bd964db2cee2178bb574a82))
|
|
24
|
-
* add new components ([22a1506](https://github.com/erbilnas/baklavue/commit/22a150681ad8587c92ad5546fbc256d9275b6d00))
|
|
25
|
-
* add new composables ([49105ea](https://github.com/erbilnas/baklavue/commit/49105eaa106f1a5b888f9e3f9638ed9776b3d55b))
|
|
26
|
-
* add theme customizer tool for docs ([70c08cf](https://github.com/erbilnas/baklavue/commit/70c08cf505ff02b1ab6c3e569055b703674bb822))
|
|
27
|
-
* disable npm package-lock for bun ([d91c5ca](https://github.com/erbilnas/baklavue/commit/d91c5ca0d8566aff9c021b1cad431eda86bc2d95))
|
|
28
|
-
* disable npm package-lock for bun ([86fd15e](https://github.com/erbilnas/baklavue/commit/86fd15ed42ded4e198ed22845acdb659cdfde191))
|
|
29
|
-
* initial commit ([d98b3f9](https://github.com/erbilnas/baklavue/commit/d98b3f9e6cc6e8238f197eaa117a050365987b18))
|
|
30
|
-
* remove playground to develop new docs ([043d89c](https://github.com/erbilnas/baklavue/commit/043d89c7944c8b2acff3bb21c571691f21c99162))
|
|
31
|
-
* seperate publishing packages ([e8092d8](https://github.com/erbilnas/baklavue/commit/e8092d87a6579cf6d2798053cd6150fc4ccd98a8))
|
|
32
|
-
|
|
33
|
-
# [@baklavue/ui-v1.0.0-preview.4](https://github.com/erbilnas/baklavue/compare/@baklavue/ui-v1.0.0-preview.3...@baklavue/ui-v1.0.0-preview.4) (2026-02-11)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### Features
|
|
37
|
-
|
|
38
|
-
* add file upload component ([7aa41b1](https://github.com/erbilnas/baklavue/commit/7aa41b1766c72572be97c84bddc2ca5dccac9be8))
|
|
39
|
-
* add image component ([609eefe](https://github.com/erbilnas/baklavue/commit/609eefe9a4a9f74fc19c7e2a8aa2ab0d7529686f))
|
|
40
|
-
|
|
41
|
-
# [@baklavue/ui-v1.0.0-preview.3](https://github.com/erbilnas/baklavue/compare/@baklavue/ui-v1.0.0-preview.2...@baklavue/ui-v1.0.0-preview.3) (2026-02-11)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
### Features
|
|
45
|
-
|
|
46
|
-
* add new components ([b3c535e](https://github.com/erbilnas/baklavue/commit/b3c535e010e1e43b9b04365df2205b69a0777695))
|
|
47
|
-
* add new composables ([49105ea](https://github.com/erbilnas/baklavue/commit/49105eaa106f1a5b888f9e3f9638ed9776b3d55b))
|
|
48
|
-
|
|
49
|
-
# [@baklavue/ui-v1.0.0-preview.2](https://github.com/erbilnas/baklavue/compare/@baklavue/ui-v1.0.0-preview.1...@baklavue/ui-v1.0.0-preview.2) (2026-02-11)
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
### Features
|
|
53
|
-
|
|
54
|
-
* add theme customizer tool for docs ([70c08cf](https://github.com/erbilnas/baklavue/commit/70c08cf505ff02b1ab6c3e569055b703674bb822))
|
|
55
|
-
|
|
56
|
-
# @baklavue/ui-v1.0.0-preview.1 (2026-02-11)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
### Bug Fixes
|
|
60
|
-
|
|
61
|
-
* fix package version ([620618d](https://github.com/erbilnas/baklavue/commit/620618df664022f1b68859aee4b374f6586731bb))
|
|
62
|
-
* fix release ci ([6c22554](https://github.com/erbilnas/baklavue/commit/6c225541b182c4b8692af000e7c13ca6e546599a))
|
|
63
|
-
* fix release ci ([6e23d99](https://github.com/erbilnas/baklavue/commit/6e23d99cac122d033c72d6d98819e0329c92bcdc))
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
### Features
|
|
67
|
-
|
|
68
|
-
* add accordion and alert components ([10b8155](https://github.com/erbilnas/baklavue/commit/10b81556184432deb2772d3489c24be6115e667c))
|
|
69
|
-
* add accordion, alert and badge components ([b939941](https://github.com/erbilnas/baklavue/commit/b939941e469a29b10ddcc6196f97700951672f97))
|
|
70
|
-
* add github pages support ([c76dffa](https://github.com/erbilnas/baklavue/commit/c76dffa8eb32b8293aca7c7e1f5d2ee4139802b0))
|
|
71
|
-
* add info for npm package ([8ffbb9f](https://github.com/erbilnas/baklavue/commit/8ffbb9f81d108d633608ebe8d3854a2f6861475a))
|
|
72
|
-
* add new components ([f977070](https://github.com/erbilnas/baklavue/commit/f977070bc1634941a5566f079922410838e1e257))
|
|
73
|
-
* add new components ([fa3b4d1](https://github.com/erbilnas/baklavue/commit/fa3b4d1586f7e5b15194d182931e5bc89fd2f1dd))
|
|
74
|
-
* add new components ([ec926f0](https://github.com/erbilnas/baklavue/commit/ec926f0e9ba11c1a28a97c8afee4829b38ed8539))
|
|
75
|
-
* add new components ([5d3d7e2](https://github.com/erbilnas/baklavue/commit/5d3d7e2e5a040cb57bd964db2cee2178bb574a82))
|
|
76
|
-
* add new components ([22a1506](https://github.com/erbilnas/baklavue/commit/22a150681ad8587c92ad5546fbc256d9275b6d00))
|
|
77
|
-
* disable npm package-lock for bun ([d91c5ca](https://github.com/erbilnas/baklavue/commit/d91c5ca0d8566aff9c021b1cad431eda86bc2d95))
|
|
78
|
-
* disable npm package-lock for bun ([86fd15e](https://github.com/erbilnas/baklavue/commit/86fd15ed42ded4e198ed22845acdb659cdfde191))
|
|
79
|
-
* initial commit ([d98b3f9](https://github.com/erbilnas/baklavue/commit/d98b3f9e6cc6e8238f197eaa117a050365987b18))
|
|
80
|
-
* remove playground to develop new docs ([043d89c](https://github.com/erbilnas/baklavue/commit/043d89c7944c8b2acff3bb21c571691f21c99162))
|
|
81
|
-
* seperate publishing packages ([e8092d8](https://github.com/erbilnas/baklavue/commit/e8092d87a6579cf6d2798053cd6150fc4ccd98a8))
|
|
82
|
-
|
|
83
|
-
# [1.0.0-preview.4](https://github.com/erbilnas/baklavue/compare/v1.0.0-preview.3...v1.0.0-preview.4) (2026-02-09)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
### Features
|
|
87
|
-
|
|
88
|
-
* remove playground to develop new docs ([043d89c](https://github.com/erbilnas/baklavue/commit/043d89c7944c8b2acff3bb21c571691f21c99162))
|
package/env.d.ts
DELETED
package/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./src";
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { mount } from "@vue/test-utils";
|
|
2
|
-
import { describe, expect, it } from "vitest";
|
|
3
|
-
import BvAccordion from "./Accordion.vue";
|
|
4
|
-
|
|
5
|
-
describe("BvAccordion", () => {
|
|
6
|
-
it("renders single accordion mode", () => {
|
|
7
|
-
const wrapper = mount(BvAccordion, {
|
|
8
|
-
props: { caption: "Section" },
|
|
9
|
-
slots: { default: "Content" },
|
|
10
|
-
});
|
|
11
|
-
expect(wrapper.find("bl-accordion").exists()).toBe(true);
|
|
12
|
-
expect(wrapper.text()).toContain("Content");
|
|
13
|
-
expect(wrapper.find("bl-accordion").element.getAttribute("caption")).toBe("Section");
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it("renders group mode when items and multiple provided", () => {
|
|
17
|
-
const wrapper = mount(BvAccordion, {
|
|
18
|
-
props: {
|
|
19
|
-
multiple: false,
|
|
20
|
-
items: [
|
|
21
|
-
{ caption: "Q1", content: "A1" },
|
|
22
|
-
{ caption: "Q2", content: "A2" },
|
|
23
|
-
],
|
|
24
|
-
},
|
|
25
|
-
slots: { item: "<p>Answer</p>" },
|
|
26
|
-
});
|
|
27
|
-
expect(wrapper.find("bl-accordion-group").exists()).toBe(true);
|
|
28
|
-
expect(wrapper.findAll("bl-accordion").length).toBeGreaterThan(0);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
it("emits toggle when single accordion fires bl-toggle", async () => {
|
|
32
|
-
const wrapper = mount(BvAccordion, {
|
|
33
|
-
props: { caption: "Test" },
|
|
34
|
-
slots: { default: "Content" },
|
|
35
|
-
});
|
|
36
|
-
const el = wrapper.find("bl-accordion").element;
|
|
37
|
-
el.dispatchEvent(
|
|
38
|
-
new CustomEvent("bl-toggle", { bubbles: true, detail: true }),
|
|
39
|
-
);
|
|
40
|
-
await wrapper.vm.$nextTick();
|
|
41
|
-
expect(wrapper.emitted("toggle")).toEqual([[true]]);
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
it("emits toggle false when detail is false", async () => {
|
|
45
|
-
const wrapper = mount(BvAccordion, {
|
|
46
|
-
props: { caption: "Test" },
|
|
47
|
-
slots: { default: "Content" },
|
|
48
|
-
});
|
|
49
|
-
wrapper.find("bl-accordion").element.dispatchEvent(
|
|
50
|
-
new CustomEvent("bl-toggle", { bubbles: true, detail: false }),
|
|
51
|
-
);
|
|
52
|
-
await wrapper.vm.$nextTick();
|
|
53
|
-
expect(wrapper.emitted("toggle")).toEqual([[false]]);
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
it("passes disabled to bl-accordion in single mode", () => {
|
|
57
|
-
const wrapper = mount(BvAccordion, {
|
|
58
|
-
props: { caption: "Test", disabled: true },
|
|
59
|
-
slots: { default: "Content" },
|
|
60
|
-
});
|
|
61
|
-
expect(wrapper.find("bl-accordion").element.hasAttribute("disabled")).toBe(true);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it("exposes expand and collapse methods", () => {
|
|
65
|
-
const wrapper = mount(BvAccordion, {
|
|
66
|
-
props: { caption: "Test" },
|
|
67
|
-
slots: { default: "Content" },
|
|
68
|
-
});
|
|
69
|
-
const vm = wrapper.vm as unknown as { expand: () => void; collapse: () => void };
|
|
70
|
-
expect(typeof vm.expand).toBe("function");
|
|
71
|
-
expect(typeof vm.collapse).toBe("function");
|
|
72
|
-
vm.expand();
|
|
73
|
-
vm.collapse();
|
|
74
|
-
});
|
|
75
|
-
});
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
/**
|
|
3
|
-
* Accordion Component
|
|
4
|
-
*
|
|
5
|
-
* A Vue UI kit component for Baklava's `bl-accordion` and `bl-accordion-group` web components.
|
|
6
|
-
* Can be used as either a single accordion or as a group container for multiple accordions.
|
|
7
|
-
*
|
|
8
|
-
* @component
|
|
9
|
-
* @example
|
|
10
|
-
* ```vue
|
|
11
|
-
* <!-- Single accordion -->
|
|
12
|
-
* <template>
|
|
13
|
-
* <Accordion :open="isOpen" @toggle="isOpen = $event" caption="Section Title">
|
|
14
|
-
* <p>Accordion content goes here</p>
|
|
15
|
-
* </Accordion>
|
|
16
|
-
* </template>
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```vue
|
|
21
|
-
* <!-- Accordion group - only one open at a time -->
|
|
22
|
-
* <template>
|
|
23
|
-
* <Accordion :multiple="false" :items="items">
|
|
24
|
-
* <template #item="{ item }">
|
|
25
|
-
* <p>{{ item.answer }}</p>
|
|
26
|
-
* </template>
|
|
27
|
-
* </Accordion>
|
|
28
|
-
* </template>
|
|
29
|
-
* ```
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```vue
|
|
33
|
-
* <!-- Accordion group - multiple can be open -->
|
|
34
|
-
* <template>
|
|
35
|
-
* <Accordion :multiple="true" :items="sections">
|
|
36
|
-
* <template #item="{ item }">
|
|
37
|
-
* <p>{{ item.description }}</p>
|
|
38
|
-
* </template>
|
|
39
|
-
* </Accordion>
|
|
40
|
-
* </template>
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
import { computed, onMounted, ref, watch } from "vue";
|
|
44
|
-
import { loadBaklavaResources } from "../utils/loadBaklavaResources";
|
|
45
|
-
import type { AccordionProps } from "./accordion.types";
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Component props with default values.
|
|
49
|
-
*/
|
|
50
|
-
const props = withDefaults(defineProps<AccordionProps>(), {
|
|
51
|
-
open: false,
|
|
52
|
-
caption: undefined,
|
|
53
|
-
icon: undefined,
|
|
54
|
-
disabled: false,
|
|
55
|
-
animationDuration: 250,
|
|
56
|
-
multiple: undefined,
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Component events.
|
|
61
|
-
*/
|
|
62
|
-
const emit = defineEmits<{
|
|
63
|
-
/**
|
|
64
|
-
* Emitted when the accordion is toggled (opened or closed).
|
|
65
|
-
* Only used when component is in single accordion mode.
|
|
66
|
-
*
|
|
67
|
-
* @param {boolean} open - The new open state of the accordion.
|
|
68
|
-
*/
|
|
69
|
-
toggle: [open: boolean];
|
|
70
|
-
}>();
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Reference to the underlying web component element.
|
|
74
|
-
*/
|
|
75
|
-
const accordionRef = ref<HTMLElement | null>(null);
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Determines if the component should act as a group container.
|
|
79
|
-
* When `multiple` prop is provided and `items` is defined, it acts as a group.
|
|
80
|
-
*/
|
|
81
|
-
const isGroupMode = computed(
|
|
82
|
-
() => props.multiple !== undefined && Array.isArray(props.items),
|
|
83
|
-
);
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Watches for changes to the `open` prop and syncs with the web component.
|
|
87
|
-
* Only applies when in single accordion mode.
|
|
88
|
-
*
|
|
89
|
-
* When the prop changes, it calls the appropriate expand/collapse method
|
|
90
|
-
* on the underlying web component.
|
|
91
|
-
*/
|
|
92
|
-
watch(
|
|
93
|
-
() => props.open,
|
|
94
|
-
(newValue) => {
|
|
95
|
-
if (!isGroupMode.value && accordionRef.value) {
|
|
96
|
-
const blAccordion = accordionRef.value as any;
|
|
97
|
-
if (newValue && !blAccordion.open) {
|
|
98
|
-
blAccordion.expand();
|
|
99
|
-
} else if (!newValue && blAccordion.open) {
|
|
100
|
-
blAccordion.collapse();
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
{ immediate: true },
|
|
105
|
-
);
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Handles the toggle event from the underlying web component.
|
|
109
|
-
* Only used when component is in single accordion mode.
|
|
110
|
-
*
|
|
111
|
-
* @param {CustomEvent<boolean>} event - The toggle event from bl-accordion.
|
|
112
|
-
*/
|
|
113
|
-
const handleToggle = (event: CustomEvent<boolean>): void => {
|
|
114
|
-
if (!isGroupMode.value) {
|
|
115
|
-
const isOpen = event.detail;
|
|
116
|
-
emit("toggle", isOpen);
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Lifecycle hook: Component mounted.
|
|
122
|
-
*
|
|
123
|
-
* Loads Baklava resources and syncs the initial open state with the web component
|
|
124
|
-
* (only when in single accordion mode).
|
|
125
|
-
*/
|
|
126
|
-
onMounted(() => {
|
|
127
|
-
loadBaklavaResources();
|
|
128
|
-
|
|
129
|
-
// Sync initial state (only for single accordion mode)
|
|
130
|
-
if (!isGroupMode.value && accordionRef.value) {
|
|
131
|
-
const blAccordion = accordionRef.value as any;
|
|
132
|
-
if (props.open && !blAccordion.open) {
|
|
133
|
-
blAccordion.expand();
|
|
134
|
-
} else if (!props.open && blAccordion.open) {
|
|
135
|
-
blAccordion.collapse();
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Exposed methods for programmatic control of the accordion.
|
|
142
|
-
* Only available when component is in single accordion mode.
|
|
143
|
-
*/
|
|
144
|
-
defineExpose({
|
|
145
|
-
/**
|
|
146
|
-
* Expands the accordion programmatically.
|
|
147
|
-
*
|
|
148
|
-
* @public
|
|
149
|
-
*/
|
|
150
|
-
expand: (): void => {
|
|
151
|
-
if (!isGroupMode.value && accordionRef.value) {
|
|
152
|
-
(accordionRef.value as any).expand();
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Collapses the accordion programmatically.
|
|
158
|
-
*
|
|
159
|
-
* @public
|
|
160
|
-
*/
|
|
161
|
-
collapse: (): void => {
|
|
162
|
-
if (!isGroupMode.value && accordionRef.value) {
|
|
163
|
-
(accordionRef.value as any).collapse();
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
});
|
|
167
|
-
</script>
|
|
168
|
-
|
|
169
|
-
<template>
|
|
170
|
-
<!-- Group mode: render as bl-accordion-group -->
|
|
171
|
-
<!-- Render bl-accordion for each item in props.items. Content via #item slot. -->
|
|
172
|
-
<bl-accordion-group
|
|
173
|
-
v-if="isGroupMode"
|
|
174
|
-
:multiple="props.multiple === true ? true : undefined"
|
|
175
|
-
>
|
|
176
|
-
<bl-accordion
|
|
177
|
-
v-for="(item, index) in props.items"
|
|
178
|
-
:key="index"
|
|
179
|
-
v-bind="{
|
|
180
|
-
open: item.open === true ? true : undefined,
|
|
181
|
-
caption: item.caption,
|
|
182
|
-
icon: item.icon,
|
|
183
|
-
disabled: item.disabled === true ? true : undefined,
|
|
184
|
-
animationDuration: item.animationDuration,
|
|
185
|
-
}"
|
|
186
|
-
>
|
|
187
|
-
<slot name="item" :item="item" :index="index" />
|
|
188
|
-
</bl-accordion>
|
|
189
|
-
</bl-accordion-group>
|
|
190
|
-
|
|
191
|
-
<!-- Single accordion mode: render as bl-accordion -->
|
|
192
|
-
<bl-accordion
|
|
193
|
-
v-else
|
|
194
|
-
ref="accordionRef"
|
|
195
|
-
v-bind="{
|
|
196
|
-
open: props.open === true ? true : undefined,
|
|
197
|
-
caption: props.caption,
|
|
198
|
-
icon: props.icon,
|
|
199
|
-
disabled: props.disabled === true ? true : undefined,
|
|
200
|
-
animationDuration: props.animationDuration,
|
|
201
|
-
}"
|
|
202
|
-
@bl-toggle="handleToggle"
|
|
203
|
-
>
|
|
204
|
-
<slot />
|
|
205
|
-
</bl-accordion>
|
|
206
|
-
</template>
|