@baklavue/ui 1.0.0-preview.4 → 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 +28 -4
- package/.releaserc.json +0 -14
- package/CHANGELOG.md +0 -56
- package/index.ts +0 -1
- 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.vue +0 -199
- package/src/alert/alert.types.ts +0 -58
- package/src/alert/index.ts +0 -2
- package/src/badge/Badge.vue +0 -20
- package/src/badge/badge.types.ts +0 -7
- package/src/badge/index.ts +0 -2
- 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.vue +0 -148
- package/src/checkbox/checkbox.types.ts +0 -108
- package/src/checkbox/index.ts +0 -2
- 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.vue +0 -178
- package/src/dialog/dialog.types.ts +0 -17
- package/src/dialog/index.ts +0 -2
- 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.vue +0 -231
- package/src/dropdown/dropdown.types.ts +0 -110
- package/src/dropdown/index.ts +0 -2
- 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.vue +0 -102
- package/src/icon/icon.types.ts +0 -25
- package/src/icon/index.ts +0 -2
- 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 -41
- 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.vue +0 -133
- package/src/link/index.ts +0 -2
- package/src/link/link.types.ts +0 -42
- 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.vue +0 -137
- package/src/pagination/index.ts +0 -2
- package/src/pagination/pagination.types.ts +0 -61
- 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.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.vue +0 -147
- package/src/select/index.ts +0 -2
- package/src/select/select.types.ts +0 -53
- 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.vue +0 -49
- package/src/spinner/index.ts +0 -2
- package/src/spinner/spinner.types.ts +0 -11
- 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.vue +0 -100
- package/src/stepper/index.ts +0 -2
- package/src/stepper/stepper.types.ts +0 -29
- 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.vue +0 -99
- package/src/tab/index.ts +0 -2
- package/src/tab/tab.types.ts +0 -17
- 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.vue +0 -83
- package/src/tag/index.ts +0 -2
- package/src/tag/tag.types.ts +0 -24
- 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.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/tsconfig.json +0 -28
package/src/tag/Tag.vue
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
/**
|
|
3
|
-
* Tag Component
|
|
4
|
-
*
|
|
5
|
-
* A Vue UI kit component for Baklava's `bl-tag` web component for displaying tags or labels.
|
|
6
|
-
* Supports selectable and removable (closable) variants, sizes, and icons.
|
|
7
|
-
*
|
|
8
|
-
* @component
|
|
9
|
-
* @example
|
|
10
|
-
* ```vue
|
|
11
|
-
* <!-- Basic usage -->
|
|
12
|
-
* <template>
|
|
13
|
-
* <BvTag>Label</BvTag>
|
|
14
|
-
* </template>
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```vue
|
|
19
|
-
* <!-- Closable tag -->
|
|
20
|
-
* <template>
|
|
21
|
-
* <BvTag closable @close="removeTag">Removable</BvTag>
|
|
22
|
-
* </template>
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```vue
|
|
27
|
-
* <!-- With icon -->
|
|
28
|
-
* <template>
|
|
29
|
-
* <BvTag icon="info">With icon</BvTag>
|
|
30
|
-
* </template>
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
import { onMounted } from "vue";
|
|
34
|
-
import { loadBaklavaResources } from "../utils/loadBaklavaResources";
|
|
35
|
-
import type { TagProps } from "./tag.types";
|
|
36
|
-
|
|
37
|
-
const props = withDefaults(defineProps<TagProps>(), {
|
|
38
|
-
variant: undefined,
|
|
39
|
-
size: undefined,
|
|
40
|
-
closable: undefined,
|
|
41
|
-
icon: undefined,
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
const emit = defineEmits<{
|
|
45
|
-
/**
|
|
46
|
-
* Emitted when the close button is clicked (removable/closable variant only).
|
|
47
|
-
*/
|
|
48
|
-
close: [];
|
|
49
|
-
/**
|
|
50
|
-
* Emitted when a selectable tag is clicked. Payload contains the new selected state.
|
|
51
|
-
*/
|
|
52
|
-
"update:selected": [selected: boolean];
|
|
53
|
-
}>();
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Handles bl-tag-click. For removable variant, emit 'close'. For selectable, emit 'update:selected'.
|
|
57
|
-
*/
|
|
58
|
-
const handleTagClick = (event: CustomEvent<{ value: string | null; selected: boolean }>) => {
|
|
59
|
-
if (props.closable) {
|
|
60
|
-
emit("close");
|
|
61
|
-
} else if (props.variant === "selectable" && event.detail) {
|
|
62
|
-
emit("update:selected", event.detail.selected);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
onMounted(() => {
|
|
67
|
-
loadBaklavaResources();
|
|
68
|
-
});
|
|
69
|
-
</script>
|
|
70
|
-
|
|
71
|
-
<template>
|
|
72
|
-
<bl-tag
|
|
73
|
-
v-bind="{
|
|
74
|
-
...props,
|
|
75
|
-
variant: props.closable ? 'removable' : props.variant,
|
|
76
|
-
closable: undefined,
|
|
77
|
-
}"
|
|
78
|
-
@bl-tag-click="handleTagClick"
|
|
79
|
-
>
|
|
80
|
-
<slot v-if="$slots['icon']" name="icon" />
|
|
81
|
-
<slot />
|
|
82
|
-
</bl-tag>
|
|
83
|
-
</template>
|
package/src/tag/index.ts
DELETED
package/src/tag/tag.types.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { BaklavaIcon } from "@trendyol/baklava-icons";
|
|
2
|
-
|
|
3
|
-
/** Tag variant: selectable (default) or removable (closable) */
|
|
4
|
-
export type TagVariant = "selectable" | "removable";
|
|
5
|
-
|
|
6
|
-
/** Tag size */
|
|
7
|
-
export type TagSize = "small" | "medium" | "large";
|
|
8
|
-
|
|
9
|
-
export interface TagProps {
|
|
10
|
-
/** Tag variant: selectable or removable */
|
|
11
|
-
variant?: TagVariant;
|
|
12
|
-
/** Tag size */
|
|
13
|
-
size?: TagSize;
|
|
14
|
-
/** When true, shows close button (uses variant="removable" under the hood) */
|
|
15
|
-
closable?: boolean;
|
|
16
|
-
/** Icon name from Baklava icons */
|
|
17
|
-
icon?: BaklavaIcon;
|
|
18
|
-
/** Selected state (for selectable variant) */
|
|
19
|
-
selected?: boolean;
|
|
20
|
-
/** Disabled state */
|
|
21
|
-
disabled?: boolean;
|
|
22
|
-
/** Value for form/selection */
|
|
23
|
-
value?: string | null;
|
|
24
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
/**
|
|
3
|
-
* Textarea Component
|
|
4
|
-
*
|
|
5
|
-
* A Vue UI kit component for Baklava's `bl-textarea` web component with v-model support.
|
|
6
|
-
* Supports label, placeholder, validation, character counter, and help text.
|
|
7
|
-
*
|
|
8
|
-
* @component
|
|
9
|
-
* @example
|
|
10
|
-
* ```vue
|
|
11
|
-
* <!-- Basic usage with v-model -->
|
|
12
|
-
* <template>
|
|
13
|
-
* <BvTextarea v-model="message" label="Message" placeholder="Enter your message" />
|
|
14
|
-
* </template>
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```vue
|
|
19
|
-
* <!-- With validation -->
|
|
20
|
-
* <template>
|
|
21
|
-
* <BvTextarea
|
|
22
|
-
* v-model="comment"
|
|
23
|
-
* label="Comment"
|
|
24
|
-
* :maxlength="500"
|
|
25
|
-
* help-text="Max 500 characters"
|
|
26
|
-
* invalid-text="Please enter a valid comment"
|
|
27
|
-
* />
|
|
28
|
-
* </template>
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
import { onMounted } from "vue";
|
|
32
|
-
import { loadBaklavaResources } from "../utils/loadBaklavaResources";
|
|
33
|
-
import type { TextareaProps } from "./textarea.types";
|
|
34
|
-
|
|
35
|
-
const props = withDefaults(defineProps<TextareaProps>(), {
|
|
36
|
-
modelValue: undefined,
|
|
37
|
-
label: undefined,
|
|
38
|
-
placeholder: undefined,
|
|
39
|
-
rows: undefined,
|
|
40
|
-
maxlength: undefined,
|
|
41
|
-
disabled: undefined,
|
|
42
|
-
required: undefined,
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
const emit = defineEmits<{
|
|
46
|
-
/**
|
|
47
|
-
* Emitted when the value changes (use with v-model).
|
|
48
|
-
* @param {string | null} value - The new textarea value.
|
|
49
|
-
*/
|
|
50
|
-
"update:modelValue": [value: string | null];
|
|
51
|
-
/**
|
|
52
|
-
* Emitted on user input (mirrors native bl-input).
|
|
53
|
-
* @param {CustomEvent} event - The bl-input event.
|
|
54
|
-
*/
|
|
55
|
-
input: [event: CustomEvent];
|
|
56
|
-
/**
|
|
57
|
-
* Emitted when the value changes (blur or commit).
|
|
58
|
-
* @param {CustomEvent} event - The bl-change event.
|
|
59
|
-
*/
|
|
60
|
-
change: [event: CustomEvent];
|
|
61
|
-
}>();
|
|
62
|
-
|
|
63
|
-
onMounted(() => {
|
|
64
|
-
loadBaklavaResources();
|
|
65
|
-
});
|
|
66
|
-
</script>
|
|
67
|
-
|
|
68
|
-
<template>
|
|
69
|
-
<bl-textarea
|
|
70
|
-
v-bind="{
|
|
71
|
-
...props,
|
|
72
|
-
disabled: props.disabled === true ? true : undefined,
|
|
73
|
-
required: props.required === true ? true : undefined,
|
|
74
|
-
}"
|
|
75
|
-
:value="props.modelValue"
|
|
76
|
-
@bl-input="
|
|
77
|
-
emit('input', $event);
|
|
78
|
-
emit('update:modelValue', ($event.target as HTMLTextAreaElement)?.value || null);
|
|
79
|
-
"
|
|
80
|
-
@bl-change="emit('change', $event)"
|
|
81
|
-
>
|
|
82
|
-
<slot />
|
|
83
|
-
</bl-textarea>
|
|
84
|
-
</template>
|
package/src/textarea/index.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/** Textarea size */
|
|
2
|
-
export type TextareaSize = "small" | "medium" | "large";
|
|
3
|
-
|
|
4
|
-
export interface TextareaProps {
|
|
5
|
-
/** Textarea value (use with v-model) */
|
|
6
|
-
modelValue?: string | null;
|
|
7
|
-
/** Label text */
|
|
8
|
-
label?: string;
|
|
9
|
-
/** Placeholder text */
|
|
10
|
-
placeholder?: string;
|
|
11
|
-
/** Number of visible rows */
|
|
12
|
-
rows?: number;
|
|
13
|
-
/** Maximum character length */
|
|
14
|
-
maxlength?: number;
|
|
15
|
-
/** Minimum character length */
|
|
16
|
-
minlength?: number;
|
|
17
|
-
/** Disabled state */
|
|
18
|
-
disabled?: boolean;
|
|
19
|
-
/** Required field */
|
|
20
|
-
required?: boolean;
|
|
21
|
-
/** Readonly state */
|
|
22
|
-
readonly?: boolean;
|
|
23
|
-
/** Help text below the textarea */
|
|
24
|
-
helpText?: string;
|
|
25
|
-
/** Custom error/invalid message */
|
|
26
|
-
invalidText?: string;
|
|
27
|
-
/** Enable character counter */
|
|
28
|
-
characterCounter?: boolean;
|
|
29
|
-
/** Enable auto-expand up to maxRows */
|
|
30
|
-
expand?: boolean;
|
|
31
|
-
/** Max rows when expand is true */
|
|
32
|
-
maxRows?: number;
|
|
33
|
-
/** Textarea size */
|
|
34
|
-
size?: TextareaSize;
|
|
35
|
-
/** Name attribute for forms */
|
|
36
|
-
name?: string;
|
|
37
|
-
}
|
package/src/tooltip/Tooltip.vue
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
/**
|
|
3
|
-
* Tooltip Component
|
|
4
|
-
*
|
|
5
|
-
* A Vue UI kit component for Baklava's `bl-tooltip` web component for displaying contextual
|
|
6
|
-
* information on hover or focus. The trigger is provided via the default slot;
|
|
7
|
-
* content can be set via the `content` prop or the `#content` slot.
|
|
8
|
-
*
|
|
9
|
-
* @component
|
|
10
|
-
* @example
|
|
11
|
-
* ```vue
|
|
12
|
-
* <!-- Basic usage -->
|
|
13
|
-
* <template>
|
|
14
|
-
* <BvTooltip content="This is a tooltip">
|
|
15
|
-
* <BvButton>Hover me</BvButton>
|
|
16
|
-
* </BvTooltip>
|
|
17
|
-
* </template>
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```vue
|
|
22
|
-
* <!-- With placement -->
|
|
23
|
-
* <template>
|
|
24
|
-
* <BvTooltip content="Tooltip" placement="bottom">
|
|
25
|
-
* <span>Trigger</span>
|
|
26
|
-
* </BvTooltip>
|
|
27
|
-
* </template>
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
import { computed, onMounted } from "vue";
|
|
31
|
-
import { loadBaklavaResources } from "../utils/loadBaklavaResources";
|
|
32
|
-
import type { TooltipProps } from "./tooltip.types";
|
|
33
|
-
|
|
34
|
-
const props = withDefaults(defineProps<TooltipProps>(), {
|
|
35
|
-
content: undefined,
|
|
36
|
-
placement: undefined,
|
|
37
|
-
trigger: undefined,
|
|
38
|
-
disabled: undefined,
|
|
39
|
-
delay: undefined,
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
const emit = defineEmits<{
|
|
43
|
-
/**
|
|
44
|
-
* Emitted when the tooltip is shown.
|
|
45
|
-
*/
|
|
46
|
-
show: [];
|
|
47
|
-
/**
|
|
48
|
-
* Emitted when the tooltip is hidden.
|
|
49
|
-
*/
|
|
50
|
-
hide: [];
|
|
51
|
-
}>();
|
|
52
|
-
|
|
53
|
-
// bl-tooltip only supports placement and target. Do not pass trigger (read-only),
|
|
54
|
-
// content, disabled, or delay as they are not supported and cause errors.
|
|
55
|
-
const tooltipProps = computed(() => {
|
|
56
|
-
const bind: Record<string, unknown> = {};
|
|
57
|
-
if (props.placement !== undefined) bind.placement = props.placement;
|
|
58
|
-
if (props.target !== undefined) bind.target = props.target;
|
|
59
|
-
return bind;
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
onMounted(() => {
|
|
63
|
-
loadBaklavaResources();
|
|
64
|
-
});
|
|
65
|
-
</script>
|
|
66
|
-
|
|
67
|
-
<template>
|
|
68
|
-
<bl-tooltip
|
|
69
|
-
v-if="!props.disabled"
|
|
70
|
-
v-bind="tooltipProps"
|
|
71
|
-
@bl-tooltip-show="emit('show')"
|
|
72
|
-
@bl-tooltip-hide="emit('hide')"
|
|
73
|
-
>
|
|
74
|
-
<div slot="tooltip-trigger">
|
|
75
|
-
<slot />
|
|
76
|
-
</div>
|
|
77
|
-
<slot v-if="$slots['content']" name="content" />
|
|
78
|
-
<span v-else-if="content">{{ content }}</span>
|
|
79
|
-
</bl-tooltip>
|
|
80
|
-
<slot v-else />
|
|
81
|
-
</template>
|
package/src/tooltip/index.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/** Tooltip placement relative to trigger */
|
|
2
|
-
export type TooltipPlacement =
|
|
3
|
-
| "top"
|
|
4
|
-
| "top-start"
|
|
5
|
-
| "top-end"
|
|
6
|
-
| "bottom"
|
|
7
|
-
| "bottom-start"
|
|
8
|
-
| "bottom-end"
|
|
9
|
-
| "left"
|
|
10
|
-
| "left-start"
|
|
11
|
-
| "left-end"
|
|
12
|
-
| "right"
|
|
13
|
-
| "right-start"
|
|
14
|
-
| "right-end";
|
|
15
|
-
|
|
16
|
-
export interface TooltipProps {
|
|
17
|
-
/** Tooltip content text */
|
|
18
|
-
content?: string;
|
|
19
|
-
/** Placement of tooltip relative to trigger (default: 'top') */
|
|
20
|
-
placement?: TooltipPlacement;
|
|
21
|
-
/** Target element (selector or Element) when using external trigger */
|
|
22
|
-
target?: string | Element;
|
|
23
|
-
/** Trigger type: 'hover' | 'click' etc. (passed to bl-tooltip) */
|
|
24
|
-
trigger?: string;
|
|
25
|
-
/** Disabled state */
|
|
26
|
-
disabled?: boolean;
|
|
27
|
-
/** Delay before showing tooltip (ms) */
|
|
28
|
-
delay?: number;
|
|
29
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const BAKLAVA_VERSION = "3.4.2";
|
|
2
|
-
|
|
3
|
-
export const loadBaklavaResources = () => {
|
|
4
|
-
const loadScript = () => {
|
|
5
|
-
if (!document.querySelector('script[src*="baklava.js"]')) {
|
|
6
|
-
const script = document.createElement("script");
|
|
7
|
-
script.type = "module";
|
|
8
|
-
script.src = `https://cdn.jsdelivr.net/npm/@trendyol/baklava@${BAKLAVA_VERSION}/dist/baklava.js`;
|
|
9
|
-
document.head.appendChild(script);
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const loadStyles = () => {
|
|
14
|
-
if (!document.querySelector('link[href*="default.css"]')) {
|
|
15
|
-
const link = document.createElement("link");
|
|
16
|
-
link.rel = "stylesheet";
|
|
17
|
-
link.href = `https://cdn.jsdelivr.net/npm/@trendyol/baklava@${BAKLAVA_VERSION}/dist/themes/default.css`;
|
|
18
|
-
document.head.appendChild(link);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
loadScript();
|
|
23
|
-
loadStyles();
|
|
24
|
-
};
|
package/tsconfig.json
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
// Enable latest features
|
|
4
|
-
"lib": ["ESNext", "DOM"],
|
|
5
|
-
"target": "ESNext",
|
|
6
|
-
"module": "ESNext",
|
|
7
|
-
"moduleDetection": "force",
|
|
8
|
-
"jsx": "react-jsx",
|
|
9
|
-
"allowJs": true,
|
|
10
|
-
|
|
11
|
-
// Bundler mode
|
|
12
|
-
"moduleResolution": "bundler",
|
|
13
|
-
"allowImportingTsExtensions": true,
|
|
14
|
-
"verbatimModuleSyntax": true,
|
|
15
|
-
"noEmit": true,
|
|
16
|
-
|
|
17
|
-
// Best practices
|
|
18
|
-
"strict": true,
|
|
19
|
-
"skipLibCheck": true,
|
|
20
|
-
"noFallthroughCasesInSwitch": true,
|
|
21
|
-
|
|
22
|
-
// Some stricter flags (disabled by default)
|
|
23
|
-
"noUnusedLocals": true,
|
|
24
|
-
"noUnusedParameters": true,
|
|
25
|
-
"noPropertyAccessFromIndexSignature": true,
|
|
26
|
-
"noImplicitAny": true
|
|
27
|
-
}
|
|
28
|
-
}
|