@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.
Files changed (287) hide show
  1. package/dist/accordion/Accordion.vue.d.ts +51 -0
  2. package/dist/accordion/Accordion.vue.d.ts.map +1 -0
  3. package/dist/accordion/accordion.types.d.ts +97 -0
  4. package/dist/accordion/accordion.types.d.ts.map +1 -0
  5. package/dist/accordion/index.d.ts +3 -0
  6. package/dist/accordion/index.d.ts.map +1 -0
  7. package/dist/alert/Alert.vue.d.ts +49 -0
  8. package/dist/alert/Alert.vue.d.ts.map +1 -0
  9. package/dist/alert/alert.types.d.ts +52 -0
  10. package/dist/alert/alert.types.d.ts.map +1 -0
  11. package/dist/alert/index.d.ts +3 -0
  12. package/dist/alert/index.d.ts.map +1 -0
  13. package/dist/badge/Badge.vue.d.ts +22 -0
  14. package/dist/badge/Badge.vue.d.ts.map +1 -0
  15. package/dist/badge/badge.types.d.ts +7 -0
  16. package/dist/badge/badge.types.d.ts.map +1 -0
  17. package/dist/badge/index.d.ts +3 -0
  18. package/dist/badge/index.d.ts.map +1 -0
  19. package/dist/banner/Banner.vue.d.ts +36 -0
  20. package/dist/banner/Banner.vue.d.ts.map +1 -0
  21. package/dist/banner/banner.types.d.ts +70 -0
  22. package/dist/banner/banner.types.d.ts.map +1 -0
  23. package/dist/banner/index.d.ts +3 -0
  24. package/dist/banner/index.d.ts.map +1 -0
  25. package/dist/button/Button.vue.d.ts +36 -0
  26. package/dist/button/Button.vue.d.ts.map +1 -0
  27. package/dist/button/button.types.d.ts +24 -0
  28. package/dist/button/button.types.d.ts.map +1 -0
  29. package/dist/button/index.d.ts +3 -0
  30. package/dist/button/index.d.ts.map +1 -0
  31. package/dist/checkbox/Checkbox.vue.d.ts +39 -0
  32. package/dist/checkbox/Checkbox.vue.d.ts.map +1 -0
  33. package/dist/checkbox/checkbox.types.d.ts +95 -0
  34. package/dist/checkbox/checkbox.types.d.ts.map +1 -0
  35. package/dist/checkbox/index.d.ts +3 -0
  36. package/dist/checkbox/index.d.ts.map +1 -0
  37. package/dist/chip/Chip.vue.d.ts +29 -0
  38. package/dist/chip/Chip.vue.d.ts.map +1 -0
  39. package/dist/chip/chip.types.d.ts +59 -0
  40. package/dist/chip/chip.types.d.ts.map +1 -0
  41. package/dist/chip/index.d.ts +3 -0
  42. package/dist/chip/index.d.ts.map +1 -0
  43. package/dist/datepicker/Datepicker.vue.d.ts +41 -0
  44. package/dist/datepicker/Datepicker.vue.d.ts.map +1 -0
  45. package/dist/datepicker/datepicker.types.d.ts +38 -0
  46. package/dist/datepicker/datepicker.types.d.ts.map +1 -0
  47. package/dist/datepicker/index.d.ts +3 -0
  48. package/dist/datepicker/index.d.ts.map +1 -0
  49. package/dist/dialog/Dialog.vue.d.ts +44 -0
  50. package/dist/dialog/Dialog.vue.d.ts.map +1 -0
  51. package/dist/dialog/dialog.types.d.ts +18 -0
  52. package/dist/dialog/dialog.types.d.ts.map +1 -0
  53. package/dist/dialog/index.d.ts +3 -0
  54. package/dist/dialog/index.d.ts.map +1 -0
  55. package/dist/drawer/Drawer.vue.d.ts +42 -0
  56. package/dist/drawer/Drawer.vue.d.ts.map +1 -0
  57. package/dist/drawer/drawer.types.d.ts +18 -0
  58. package/dist/drawer/drawer.types.d.ts.map +1 -0
  59. package/dist/drawer/index.d.ts +3 -0
  60. package/dist/drawer/index.d.ts.map +1 -0
  61. package/dist/dropdown/Dropdown.vue.d.ts +59 -0
  62. package/dist/dropdown/Dropdown.vue.d.ts.map +1 -0
  63. package/dist/dropdown/dropdown.types.d.ts +92 -0
  64. package/dist/dropdown/dropdown.types.d.ts.map +1 -0
  65. package/dist/dropdown/index.d.ts +3 -0
  66. package/dist/dropdown/index.d.ts.map +1 -0
  67. package/dist/file-upload/FileUpload.vue.d.ts +44 -0
  68. package/dist/file-upload/FileUpload.vue.d.ts.map +1 -0
  69. package/dist/file-upload/file-upload.types.d.ts +76 -0
  70. package/dist/file-upload/file-upload.types.d.ts.map +1 -0
  71. package/dist/file-upload/index.d.ts +3 -0
  72. package/dist/file-upload/index.d.ts.map +1 -0
  73. package/dist/icon/Icon.vue.d.ts +29 -0
  74. package/dist/icon/Icon.vue.d.ts.map +1 -0
  75. package/dist/icon/icon.types.d.ts +23 -0
  76. package/dist/icon/icon.types.d.ts.map +1 -0
  77. package/dist/icon/index.d.ts +3 -0
  78. package/dist/icon/index.d.ts.map +1 -0
  79. package/dist/image/Image.vue.d.ts +30 -0
  80. package/dist/image/Image.vue.d.ts.map +1 -0
  81. package/dist/image/image.types.d.ts +48 -0
  82. package/dist/image/image.types.d.ts.map +1 -0
  83. package/dist/image/index.d.ts +3 -0
  84. package/dist/image/index.d.ts.map +1 -0
  85. package/dist/index.css +474 -0
  86. package/dist/index.d.ts +42 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.js +2404 -0
  89. package/dist/index.js.map +1 -0
  90. package/dist/input/Input.vue.d.ts +39 -0
  91. package/dist/input/Input.vue.d.ts.map +1 -0
  92. package/dist/input/index.d.ts +3 -0
  93. package/dist/input/index.d.ts.map +1 -0
  94. package/dist/input/input.types.d.ts +122 -0
  95. package/dist/input/input.types.d.ts.map +1 -0
  96. package/dist/link/Link.vue.d.ts +38 -0
  97. package/dist/link/Link.vue.d.ts.map +1 -0
  98. package/dist/link/index.d.ts +3 -0
  99. package/dist/link/index.d.ts.map +1 -0
  100. package/dist/link/link.types.d.ts +40 -0
  101. package/dist/link/link.types.d.ts.map +1 -0
  102. package/dist/notification/Notification.vue.d.ts +7 -0
  103. package/dist/notification/Notification.vue.d.ts.map +1 -0
  104. package/dist/notification/index.d.ts +3 -0
  105. package/dist/notification/index.d.ts.map +1 -0
  106. package/dist/notification/notification.types.d.ts +25 -0
  107. package/dist/notification/notification.types.d.ts.map +1 -0
  108. package/dist/pagination/Pagination.vue.d.ts +34 -0
  109. package/dist/pagination/Pagination.vue.d.ts.map +1 -0
  110. package/dist/pagination/index.d.ts +3 -0
  111. package/dist/pagination/index.d.ts.map +1 -0
  112. package/dist/pagination/pagination.types.d.ts +54 -0
  113. package/dist/pagination/pagination.types.d.ts.map +1 -0
  114. package/dist/radio/Radio.vue.d.ts +42 -0
  115. package/dist/radio/Radio.vue.d.ts.map +1 -0
  116. package/dist/radio/index.d.ts +3 -0
  117. package/dist/radio/index.d.ts.map +1 -0
  118. package/dist/radio/radio.types.d.ts +84 -0
  119. package/dist/radio/radio.types.d.ts.map +1 -0
  120. package/dist/scroll-to-top/ScrollToTop.vue.d.ts +14 -0
  121. package/dist/scroll-to-top/ScrollToTop.vue.d.ts.map +1 -0
  122. package/dist/scroll-to-top/index.d.ts +3 -0
  123. package/dist/scroll-to-top/index.d.ts.map +1 -0
  124. package/dist/scroll-to-top/scroll-to-top.types.d.ts +33 -0
  125. package/dist/scroll-to-top/scroll-to-top.types.d.ts.map +1 -0
  126. package/dist/select/Select.vue.d.ts +42 -0
  127. package/dist/select/Select.vue.d.ts.map +1 -0
  128. package/dist/select/index.d.ts +3 -0
  129. package/dist/select/index.d.ts.map +1 -0
  130. package/dist/select/select.types.d.ts +52 -0
  131. package/dist/select/select.types.d.ts.map +1 -0
  132. package/dist/skeleton/Skeleton.vue.d.ts +9 -0
  133. package/dist/skeleton/Skeleton.vue.d.ts.map +1 -0
  134. package/dist/skeleton/index.d.ts +3 -0
  135. package/dist/skeleton/index.d.ts.map +1 -0
  136. package/dist/skeleton/skeleton.types.d.ts +30 -0
  137. package/dist/skeleton/skeleton.types.d.ts.map +1 -0
  138. package/dist/spinner/Spinner.vue.d.ts +8 -0
  139. package/dist/spinner/Spinner.vue.d.ts.map +1 -0
  140. package/dist/spinner/index.d.ts +3 -0
  141. package/dist/spinner/index.d.ts.map +1 -0
  142. package/dist/spinner/spinner.types.d.ts +12 -0
  143. package/dist/spinner/spinner.types.d.ts.map +1 -0
  144. package/dist/split-button/SplitButton.vue.d.ts +25 -0
  145. package/dist/split-button/SplitButton.vue.d.ts.map +1 -0
  146. package/dist/split-button/index.d.ts +3 -0
  147. package/dist/split-button/index.d.ts.map +1 -0
  148. package/dist/split-button/split-button.types.d.ts +19 -0
  149. package/dist/split-button/split-button.types.d.ts.map +1 -0
  150. package/dist/stepper/Stepper.vue.d.ts +30 -0
  151. package/dist/stepper/Stepper.vue.d.ts.map +1 -0
  152. package/dist/stepper/index.d.ts +3 -0
  153. package/dist/stepper/index.d.ts.map +1 -0
  154. package/dist/stepper/stepper.types.d.ts +29 -0
  155. package/dist/stepper/stepper.types.d.ts.map +1 -0
  156. package/dist/switch/Switch.vue.d.ts +32 -0
  157. package/dist/switch/Switch.vue.d.ts.map +1 -0
  158. package/dist/switch/index.d.ts +3 -0
  159. package/dist/switch/index.d.ts.map +1 -0
  160. package/dist/switch/switch.types.d.ts +14 -0
  161. package/dist/switch/switch.types.d.ts.map +1 -0
  162. package/dist/tab/Tab.vue.d.ts +31 -0
  163. package/dist/tab/Tab.vue.d.ts.map +1 -0
  164. package/dist/tab/index.d.ts +3 -0
  165. package/dist/tab/index.d.ts.map +1 -0
  166. package/dist/tab/tab.types.d.ts +17 -0
  167. package/dist/tab/tab.types.d.ts.map +1 -0
  168. package/dist/table/Table.vue.d.ts +181 -0
  169. package/dist/table/Table.vue.d.ts.map +1 -0
  170. package/dist/table/index.d.ts +3 -0
  171. package/dist/table/index.d.ts.map +1 -0
  172. package/dist/table/table.types.d.ts +61 -0
  173. package/dist/table/table.types.d.ts.map +1 -0
  174. package/dist/tag/Tag.vue.d.ts +31 -0
  175. package/dist/tag/Tag.vue.d.ts.map +1 -0
  176. package/dist/tag/index.d.ts +3 -0
  177. package/dist/tag/index.d.ts.map +1 -0
  178. package/dist/tag/tag.types.d.ts +22 -0
  179. package/dist/tag/tag.types.d.ts.map +1 -0
  180. package/dist/textarea/Textarea.vue.d.ts +35 -0
  181. package/dist/textarea/Textarea.vue.d.ts.map +1 -0
  182. package/dist/textarea/index.d.ts +3 -0
  183. package/dist/textarea/index.d.ts.map +1 -0
  184. package/dist/textarea/textarea.types.d.ts +37 -0
  185. package/dist/textarea/textarea.types.d.ts.map +1 -0
  186. package/dist/tooltip/Tooltip.vue.d.ts +33 -0
  187. package/dist/tooltip/Tooltip.vue.d.ts.map +1 -0
  188. package/dist/tooltip/index.d.ts +3 -0
  189. package/dist/tooltip/index.d.ts.map +1 -0
  190. package/dist/tooltip/tooltip.types.d.ts +17 -0
  191. package/dist/tooltip/tooltip.types.d.ts.map +1 -0
  192. package/dist/utils/loadBaklavaResources.d.ts +2 -0
  193. package/dist/utils/loadBaklavaResources.d.ts.map +1 -0
  194. package/package.json +28 -4
  195. package/.releaserc.json +0 -14
  196. package/CHANGELOG.md +0 -56
  197. package/index.ts +0 -1
  198. package/src/accordion/Accordion.vue +0 -206
  199. package/src/accordion/accordion.types.ts +0 -109
  200. package/src/accordion/index.ts +0 -3
  201. package/src/alert/Alert.vue +0 -199
  202. package/src/alert/alert.types.ts +0 -58
  203. package/src/alert/index.ts +0 -2
  204. package/src/badge/Badge.vue +0 -20
  205. package/src/badge/badge.types.ts +0 -7
  206. package/src/badge/index.ts +0 -2
  207. package/src/button/Button.vue +0 -45
  208. package/src/button/button.types.ts +0 -30
  209. package/src/button/index.ts +0 -3
  210. package/src/checkbox/Checkbox.vue +0 -148
  211. package/src/checkbox/checkbox.types.ts +0 -108
  212. package/src/checkbox/index.ts +0 -2
  213. package/src/datepicker/Datepicker.vue +0 -172
  214. package/src/datepicker/datepicker.types.ts +0 -39
  215. package/src/datepicker/index.ts +0 -2
  216. package/src/dialog/Dialog.vue +0 -178
  217. package/src/dialog/dialog.types.ts +0 -17
  218. package/src/dialog/index.ts +0 -2
  219. package/src/drawer/Drawer.vue +0 -162
  220. package/src/drawer/drawer.types.ts +0 -17
  221. package/src/drawer/index.ts +0 -2
  222. package/src/dropdown/Dropdown.vue +0 -231
  223. package/src/dropdown/dropdown.types.ts +0 -110
  224. package/src/dropdown/index.ts +0 -2
  225. package/src/file-upload/FileUpload.vue +0 -440
  226. package/src/file-upload/file-upload.types.ts +0 -89
  227. package/src/file-upload/index.ts +0 -7
  228. package/src/icon/Icon.vue +0 -102
  229. package/src/icon/icon.types.ts +0 -25
  230. package/src/icon/index.ts +0 -2
  231. package/src/image/Image.vue +0 -144
  232. package/src/image/image.types.ts +0 -57
  233. package/src/image/index.ts +0 -3
  234. package/src/index.ts +0 -41
  235. package/src/input/Input.vue +0 -148
  236. package/src/input/index.ts +0 -3
  237. package/src/input/input.types.ts +0 -156
  238. package/src/link/Link.vue +0 -133
  239. package/src/link/index.ts +0 -2
  240. package/src/link/link.types.ts +0 -42
  241. package/src/notification/Notification.vue +0 -57
  242. package/src/notification/index.ts +0 -2
  243. package/src/notification/notification.types.ts +0 -25
  244. package/src/pagination/Pagination.vue +0 -137
  245. package/src/pagination/index.ts +0 -2
  246. package/src/pagination/pagination.types.ts +0 -61
  247. package/src/radio/Radio.vue +0 -205
  248. package/src/radio/index.ts +0 -2
  249. package/src/radio/radio.types.ts +0 -95
  250. package/src/scroll-to-top/ScrollToTop.vue +0 -130
  251. package/src/scroll-to-top/index.ts +0 -2
  252. package/src/scroll-to-top/scroll-to-top.types.ts +0 -42
  253. package/src/select/Select.vue +0 -147
  254. package/src/select/index.ts +0 -2
  255. package/src/select/select.types.ts +0 -53
  256. package/src/skeleton/Skeleton.vue +0 -115
  257. package/src/skeleton/index.ts +0 -2
  258. package/src/skeleton/skeleton.types.ts +0 -33
  259. package/src/spinner/Spinner.vue +0 -49
  260. package/src/spinner/index.ts +0 -2
  261. package/src/spinner/spinner.types.ts +0 -11
  262. package/src/split-button/SplitButton.vue +0 -73
  263. package/src/split-button/index.ts +0 -2
  264. package/src/split-button/split-button.types.ts +0 -19
  265. package/src/stepper/Stepper.vue +0 -100
  266. package/src/stepper/index.ts +0 -2
  267. package/src/stepper/stepper.types.ts +0 -29
  268. package/src/switch/Switch.vue +0 -80
  269. package/src/switch/index.ts +0 -2
  270. package/src/switch/switch.types.ts +0 -13
  271. package/src/tab/Tab.vue +0 -99
  272. package/src/tab/index.ts +0 -2
  273. package/src/tab/tab.types.ts +0 -17
  274. package/src/table/Table.vue +0 -264
  275. package/src/table/index.ts +0 -7
  276. package/src/table/table.types.ts +0 -62
  277. package/src/tag/Tag.vue +0 -83
  278. package/src/tag/index.ts +0 -2
  279. package/src/tag/tag.types.ts +0 -24
  280. package/src/textarea/Textarea.vue +0 -84
  281. package/src/textarea/index.ts +0 -2
  282. package/src/textarea/textarea.types.ts +0 -37
  283. package/src/tooltip/Tooltip.vue +0 -81
  284. package/src/tooltip/index.ts +0 -3
  285. package/src/tooltip/tooltip.types.ts +0 -29
  286. package/src/utils/loadBaklavaResources.ts +0 -24
  287. 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
@@ -1,2 +0,0 @@
1
- export { default as BvTag } from "./Tag.vue";
2
- export type { TagProps, TagVariant, TagSize } from "./tag.types";
@@ -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>
@@ -1,2 +0,0 @@
1
- export { default as BvTextarea } from "./Textarea.vue";
2
- export type { TextareaProps, TextareaSize } from "./textarea.types";
@@ -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
- }
@@ -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>
@@ -1,3 +0,0 @@
1
- // Component exports must use the "Bv-" prefix
2
- export { default as BvTooltip } from "./Tooltip.vue";
3
- export type { TooltipProps, TooltipPlacement } from "./tooltip.types";
@@ -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
- }