@codeandfunction/callaloo 1.13.0 → 1.13.2

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 (39) hide show
  1. package/README.md +9 -1
  2. package/dist/assets/index.css +1 -1
  3. package/dist/components/Assets/Icon.vue.d.ts +7 -3
  4. package/dist/components/Buttons/A11yButton.vue.d.ts +4 -0
  5. package/dist/components/Buttons/Button.vue.d.ts +61 -6
  6. package/dist/components/Containers/Card.vue.d.ts +2 -2
  7. package/dist/components/Containers/Carousel/Carousel.vue.d.ts +24 -1
  8. package/dist/components/Containers/Carousel/CarouselNavigation.vue.d.ts +15 -8
  9. package/dist/components/Containers/Carousel/CarouselSlide.vue.d.ts +16 -0
  10. package/dist/components/Containers/Disclosure.vue.d.ts +23 -4
  11. package/dist/components/Form/Checkbox.vue.d.ts +48 -3
  12. package/dist/components/Form/Input.vue.d.ts +72 -3
  13. package/dist/components/Form/RadioButton.vue.d.ts +48 -3
  14. package/dist/components/Form/Select.vue.d.ts +50 -3
  15. package/dist/components/Form/TextArea.vue.d.ts +68 -3
  16. package/dist/components/Indicators/Badge.vue.d.ts +8 -0
  17. package/dist/components/Indicators/Banner.vue.d.ts +3 -2
  18. package/dist/components/Indicators/Pill.vue.d.ts +13 -3
  19. package/dist/components/Loading/Skeleton.vue.d.ts +8 -1
  20. package/dist/components/Loading/Spinner.vue.d.ts +9 -2
  21. package/dist/components/Modals/CLModal.vue.d.ts +12 -3
  22. package/dist/components/Navigation/Link.vue.d.ts +12 -3
  23. package/dist/components/Navigation/NavLink.vue.d.ts +12 -3
  24. package/dist/components/Navigation/NavSection.vue.d.ts +5 -1
  25. package/dist/components/Popups/DropdownMenu.vue.d.ts +36 -11
  26. package/dist/components/Popups/Toast.vue.d.ts +3 -2
  27. package/dist/components/Table/Table.vue.d.ts +12 -0
  28. package/dist/components/Table/TableCell.vue.d.ts +14 -7
  29. package/dist/components/Table/TableRow.vue.d.ts +3 -1
  30. package/dist/components/Typography/Heading.vue.d.ts +36 -14
  31. package/dist/components/Typography/Text.vue.d.ts +40 -16
  32. package/dist/constants.d.ts +22 -0
  33. package/dist/index.d.ts +3 -2
  34. package/dist/index.js +996 -595
  35. package/dist/index.js.map +1 -1
  36. package/dist/types.d.ts +98 -54
  37. package/dist/{helper.d.ts → utils/helper.d.ts} +9 -2
  38. package/dist/utils/tests.d.ts +9 -0
  39. package/package.json +61 -33
package/dist/types.d.ts CHANGED
@@ -4,18 +4,32 @@ export declare enum Align {
4
4
  Right = "right"
5
5
  }
6
6
  export interface BannerProps {
7
+ /** Set the horizontal alignment of content. The property can be one of `CLAlign`, e.g. `CLAlign.Left` */
8
+ align?: Align;
9
+ /** Sets the aria-label on the banner if the `onClick` property has been set. It should be used when the `onClick` property has been set. */
7
10
  ariaLabel?: string;
11
+ /** The border radius size. The property can be one of `CLBorderRadius`, e.g. `CLBorderRadius.Medium`. */
8
12
  borderRadius?: BorderRadius;
13
+ /** A `boolean` value which dictates the busy state of the Banner. When set to `true`, it utilizes the `<CLSkeleton />` component. */
9
14
  busy?: boolean;
10
- title?: string;
15
+ /** Sets the height of the Banner, it's default value is `auto`. */
16
+ height?: string;
17
+ /** The text to be displayed as the message. */
11
18
  message?: string;
19
+ /** A callback function to handle click events. It should be used when in conjunction with the `ariaLabel` property. */
20
+ onClick?: GenericFunction;
21
+ /** A callback function to handle when the banner is dismissed. */
22
+ onDismiss?: GenericFunction;
23
+ /** When set to `false` it will not render a Banner with rounded corners. */
24
+ rounded?: boolean;
25
+ /** Sets a custom ID used for unit tests. */
26
+ testId?: string;
27
+ /** Sets the style/theme. The property can be one of `CLThemes`, e.g. `CLThemes.Primary`. */
12
28
  theme?: BannerThemes;
29
+ /** Set the text of the title which should be displayed. */
30
+ title?: string;
31
+ /** Sets the width of the Banner, it's default value is `100%`. */
13
32
  width?: string;
14
- height?: string;
15
- rounded?: boolean;
16
- align?: Align;
17
- onDismiss?: (event?: Event) => void;
18
- onClick?: (event?: Event) => void;
19
33
  }
20
34
  export type BadgeThemes = Exclude<Themes, Themes.Transparent>;
21
35
  export type BannerThemes = Exclude<Themes, Themes.Transparent>;
@@ -44,30 +58,55 @@ export declare enum CardTypes {
44
58
  XLarge = "xlarge"
45
59
  }
46
60
  export interface CardProps {
61
+ /** When set to `true`, it elelvates the card to indicate it's active state. */
47
62
  active?: boolean;
63
+ /** Set the horizontal alignment of content. The property can be one of `CLAlign`, e.g. `CLAlign.Left` */
48
64
  align?: Align;
65
+ /** The border radius size. The property can be one of `CLBorderRadius`, e.g. `CLBorderRadius.Medium`. */
49
66
  borderRadius?: BorderRadius;
67
+ /** A `boolean` value which dictates the busy state of the card. When set to `true`, it utilizes the `<CLSkeleton />` component. */
50
68
  busy?: boolean;
69
+ /** Appears below the title. Can be used to provide meta data, e.g. the time and date. */
51
70
  byline?: string;
71
+ /** The `elevated` property displays a shadow to indicate elevation. */
52
72
  elevated?: boolean;
73
+ /** A callback function which provides a reference to the button. */
53
74
  forwardRef?: (elem: HTMLDivElement) => void;
75
+ /** Sets the height of the Card, it's default value is `auto`. */
54
76
  height?: string;
77
+ /** Provide a URL for the entire Card to behave as a link. */
55
78
  href?: string;
79
+ /** Provide a URL/relative path to an image to be displayed. */
56
80
  image?: string;
81
+ /** Set the alt text for an image, when the image prop has been set. */
57
82
  imageAltText?: string;
83
+ /** Set the position of the image. If the row prop is not set, the image can be set to appear to the left or right of the slot content. */
58
84
  imageOrder?: Order;
85
+ /** Sets the height of the image, it's default value is `auto`. */
59
86
  imageHeight?: string;
87
+ /** Sets the width of the image, it's default value is `auto`. */
60
88
  imageWidth?: string;
61
- onClick?: (event?: Event) => void;
89
+ /** A callback function to handle click events. */
90
+ onClick?: GenericFunction;
91
+ /** When set to `false`, it will remove any horizontal and vertical padding of the slot content. */
62
92
  padded?: boolean;
93
+ /** When set to `false` it will not render a Card with rounded corners. */
63
94
  rounded?: boolean;
95
+ /** Sets where to display the linked URL. */
64
96
  target?: LinkTarget;
97
+ /** Sets a custom ID used for unit tests. */
65
98
  testId?: string;
99
+ /** Set the text of the title which should be displayed. */
66
100
  title?: string;
101
+ /** Set the title type. The property can be one of `CLHeadingTypes`, e.g. `CLHeadingTypes.Title` */
67
102
  titleType?: HeadingTypes;
103
+ /** Set the title heading level. The property can be one of `CLHeadingLevels`, e.g. `CLHeadingLevels.H1` */
68
104
  titleHLevel?: HeadingLevels;
105
+ /** Sets the style/theme. The property can be one of `CLThemes`, e.g. `CLThemes.Primary`. */
69
106
  theme?: Themes;
107
+ /** Sets the Card type. The property can be one of `CLCardTypes`, e.g. `CLCardTypes.Medium`. */
70
108
  type?: CardTypes;
109
+ /** Sets the width of the Card, it's default value is `auto`. */
71
110
  width?: string;
72
111
  }
73
112
  export type CheckboxThemes = Exclude<Themes, Themes.Transparent | Themes.Outline | Themes.OutlineDanger | Themes.OutlineInfo | Themes.OutlinePrimary | Themes.OutlineSecondary | Themes.OutlineSuccess | Themes.OutlineWarning>;
@@ -76,6 +115,8 @@ export declare enum DarkMode {
76
115
  Off = "light",
77
116
  System = "system"
78
117
  }
118
+ export type GenericFunction = (event?: Event) => void;
119
+ export type GenericFocusFunction = (event: FocusEvent) => void;
79
120
  export type HeadingThemes = Extract<Themes, Themes.Light | Themes.Dark>;
80
121
  export declare enum HeadingLevels {
81
122
  H1 = "h1",
@@ -95,6 +136,16 @@ export declare enum HeadingTypes {
95
136
  Large = "large",
96
137
  XLarge = "xlarge"
97
138
  }
139
+ export declare enum IconSizes {
140
+ Tiny = "tiny",
141
+ Small = "small",
142
+ Medium = "medium",
143
+ Large = "large",
144
+ XLarge = "xlarge",
145
+ XXLarge = "xxlarge",
146
+ XXXLarge = "xxxlarge",
147
+ XXXXLarge = "xxxxlarge"
148
+ }
98
149
  export declare enum IconNames {
99
150
  Activity = "tabler:activity",
100
151
  Ai = "tabler:ai",
@@ -230,7 +281,6 @@ export declare enum IconNames {
230
281
  ListTree = "tabler:list-tree",
231
282
  LogIn = "tabler:login",
232
283
  LogOut = "tabler:logout",
233
- Music = "tabler:music",
234
284
  Palette = "tabler:palette",
235
285
  Paint = "tabler:paint",
236
286
  Marquee = "tabler:marquee",
@@ -242,15 +292,23 @@ export declare enum IconNames {
242
292
  MessageDots = "tabler:message-dots",
243
293
  MoodDollar = "tabler:mood-dollar",
244
294
  MoodHeart = "tabler:mood-heart",
295
+ MoodKid = "tabler:mood-kid",
296
+ MoodNerd = "tabler:mood-nerd",
297
+ MoodNeutral = "tabler:mood-neutral",
245
298
  MoodPuzzled = "tabler:mood-puzzled",
246
299
  MoodSadSquint = "tabler:mood-sad-squint",
247
300
  MoodSmile = "tabler:mood-smile",
301
+ MoodTongue = "tabler:mood-tongue",
302
+ MoodTongueWink = "tabler:mood-tongue-wink",
303
+ MoodTongueWink2 = "tabler:mood-tongue-wink-2",
248
304
  MoodWink2 = "tabler:mood-wink-2",
249
305
  MoodWrrr = "tabler:mood-wrrr",
306
+ Moon = "tabler:moon",
250
307
  Mouse = "tabler:mouse",
251
308
  MoreHorizontal = "tabler:dots",
252
309
  MoreVertical = "tabler:dots-vertical",
253
310
  Movie = "tabler:movie",
311
+ Music = "tabler:music",
254
312
  NewSection = "tabler:new-section",
255
313
  PlusCircle = "tabler:circle-plus",
256
314
  Plus = "tabler:plus",
@@ -288,6 +346,7 @@ export declare enum IconNames {
288
346
  WindowMinimize = "tabler:window-minimize"
289
347
  }
290
348
  export type InlineTextHtmlTags = 'a' | 'abbr' | 'b' | 'bdi' | 'bdo' | 'br' | 'cite' | 'code' | 'data' | 'dfn' | 'em' | 'i' | 'kbd' | 'mark' | 'q' | 'rp' | 'rt' | 'ruby' | 's' | 'samp' | 'small' | 'span' | 'strong' | 'sub' | 'sup' | 'time' | 'u' | 'var' | 'wbr';
349
+ export type InputThemes = Extract<Themes, Themes.Danger | Themes.Default | Themes.Success | Themes.Warning>;
291
350
  export declare enum InputTypes {
292
351
  Color = "color",
293
352
  Date = "date",
@@ -316,14 +375,23 @@ export declare enum MessageType {
316
375
  Warning = "warning"
317
376
  }
318
377
  export interface NavItem {
378
+ /** Sets the aria-label on the NavLink element. */
319
379
  ariaLabel?: string;
380
+ /** Sets the external attribute on the NavLink element. If set, it adds an icon indicating that the link will open a new tab/window. */
320
381
  external?: boolean;
382
+ /** Sets the href attribute on the NavLink element. */
321
383
  href?: string;
384
+ /** Sets the ID attribute on the NavLink element. */
322
385
  id: string;
386
+ /** The text to be displayed as the label. */
323
387
  label: string;
324
- onClick?: (event?: Event) => void;
388
+ /** A callback function to handle click events. */
389
+ onClick?: GenericFunction;
390
+ /** Sets the rel attribute on the NavLink element. */
325
391
  rel?: string;
392
+ /** Sets the target attribute on the NavLink element. The property can be one of `CLLinkTarget`, e.g. `CLLinkTarget.Self` */
326
393
  target?: LinkTarget;
394
+ /** Sets the theme of the NavLink element. The property can be one of `CLSimpleThemes`, e.g. `CLThemes.Default` */
327
395
  theme?: SimpleThemes;
328
396
  }
329
397
  export interface Option {
@@ -331,44 +399,6 @@ export interface Option {
331
399
  value: string | number | null;
332
400
  }
333
401
  export type PillThemes = Exclude<Themes, Themes.Transparent>;
334
- export interface InputProps {
335
- ariaLabel?: string;
336
- autoComplete?: boolean;
337
- borderRadius?: BorderRadius;
338
- busy?: boolean;
339
- checked?: boolean;
340
- disabled?: boolean;
341
- fluid?: boolean;
342
- form?: string;
343
- grouped?: boolean;
344
- id?: string;
345
- label?: string;
346
- maxLength?: number;
347
- minLength?: number;
348
- messages?: string[];
349
- messageType?: MessageType;
350
- name: string;
351
- options?: Option[];
352
- pattern?: string;
353
- pill?: string;
354
- placeholder?: string;
355
- prefix?: string | IconNames;
356
- readonly?: boolean;
357
- required?: boolean;
358
- resizable?: boolean;
359
- rounded?: boolean;
360
- rows?: number;
361
- size?: Sizes;
362
- spellCheck?: boolean;
363
- suffix?: string | IconNames;
364
- type?: InputTypes;
365
- theme?: Themes;
366
- value?: string | number;
367
- onInput?: (event: Event) => void;
368
- onBlur?: (event: FocusEvent) => void;
369
- onFocus?: (event: FocusEvent) => void;
370
- onChange?: (event: Event) => void;
371
- }
372
402
  export declare enum Order {
373
403
  After = "after",
374
404
  Before = "before"
@@ -377,6 +407,11 @@ export declare enum Orientation {
377
407
  Horizontal = "horizontal",
378
408
  Vertical = "vertical"
379
409
  }
410
+ export declare enum PaginationType {
411
+ Dots = "dots",
412
+ Hidden = "hidden",
413
+ Numbered = "numbered"
414
+ }
380
415
  export declare enum Placement {
381
416
  Bottom = "bottom",
382
417
  BottomEnd = "bottom-end",
@@ -401,10 +436,7 @@ export declare enum Sizes {
401
436
  Small = "small",
402
437
  Medium = "medium",
403
438
  Large = "large",
404
- XLarge = "xlarge",
405
- XXLarge = "xlarge",
406
- XXXLarge = "xlarge",
407
- XXXXLarge = "xlarge"
439
+ XLarge = "xlarge"
408
440
  }
409
441
  export type SpinnerThemes = Exclude<Themes, Themes.Transparent | Themes.Outline | Themes.OutlineDanger | Themes.OutlineInfo | Themes.OutlinePrimary | Themes.OutlineSecondary | Themes.OutlineSuccess | Themes.OutlineWarning>;
410
442
  export declare enum TableTypes {
@@ -443,16 +475,28 @@ export declare enum Themes {
443
475
  Dark = "dark"
444
476
  }
445
477
  export interface ToastProps {
478
+ /** The action label text to be displayed. */
446
479
  actionLabel?: string;
480
+ /** The border radius size. The property can be one of `CLBorderRadius`, e.g. `CLBorderRadius.Medium`. */
447
481
  borderRadius?: BorderRadius;
448
482
  /** Time in seconds e.g 5 = 5 seconds */
449
483
  dismissTimer?: number;
484
+ /** The icon to be displayed. The property can be one of `CLIconNames`, e.g. `CLIconNames.Info`. */
450
485
  icon?: IconNames;
451
- iconSize?: Sizes;
486
+ /** The size of the icon. The property can be one of `CLSizes`, e.g. `CLSizes.Medium */
487
+ iconSize?: IconSizes;
488
+ /** The text to be displayed as the message. */
452
489
  message?: string;
453
- onAction?: (event?: Event) => void;
454
- onDismiss: () => void;
490
+ /** A callback function to handle click events. */
491
+ onAction?: GenericFunction;
492
+ /** A callback function to handle when the toast is dismissed. */
493
+ onDismiss: GenericFunction;
494
+ /** When set to `false` it will not render a Toast with rounded corners. */
455
495
  rounded?: boolean;
496
+ /** Sets a custom ID used for unit tests. */
497
+ testId?: string;
498
+ /** Set the text of the title which should be displayed. */
456
499
  title?: string;
500
+ /** Sets the width of the Toast, it's default value is `24rem`. */
457
501
  width?: string;
458
502
  }
@@ -3,6 +3,13 @@ export interface IAnimate {
3
3
  stop: () => void;
4
4
  }
5
5
  export declare const animate: () => IAnimate;
6
- export declare const getMaxZIndex: () => number;
7
- export declare const hasSlotContent: (slots: any, slotName: string, component: string) => boolean;
6
+ interface ChildIsVisibleInput {
7
+ parent: HTMLElement;
8
+ child: HTMLElement;
9
+ threshold?: number;
10
+ }
11
+ export declare const childIsVisible: ({ parent, child, threshold, }: ChildIsVisibleInput) => boolean;
8
12
  export declare const debounce: (fn: () => void, ms?: number) => (this: any, ...args: any | any[]) => void;
13
+ export declare const hasSlotContent: (slots: any, slotName: string, component: string) => boolean;
14
+ export declare const getMaxZIndex: () => number;
15
+ export {};
@@ -0,0 +1,9 @@
1
+ import { VueWrapper } from '@vue/test-utils';
2
+ interface Input {
3
+ defaultProps: Record<string, any>;
4
+ component: any;
5
+ componentProps?: Record<string, any>;
6
+ }
7
+ export declare const renderComponent: (input: Input) => VueWrapper;
8
+ export declare const sleep: (ms: number) => Promise<unknown>;
9
+ export {};
package/package.json CHANGED
@@ -1,24 +1,45 @@
1
1
  {
2
2
  "name": "@codeandfunction/callaloo",
3
- "description": "a simple vue component library",
3
+ "description": "Callaloo is a Vue UI library. It is easy to integrate into any Vue3+ project, has a small footprint, can be easily themed, and provides commonly used components.",
4
4
  "author": {
5
5
  "name": "Anthony Cholmondeley",
6
6
  "url": "https://callaloo.codeandfunction.com"
7
7
  },
8
- "version": "1.13.0",
8
+ "keywords": [
9
+ "callaloo",
10
+ "vue",
11
+ "vue3",
12
+ "vue.js",
13
+ "simple",
14
+ "ui library",
15
+ "a11y",
16
+ "component library"
17
+ ],
18
+ "version": "1.13.2",
9
19
  "license": "MIT",
10
20
  "type": "module",
11
21
  "scripts": {
12
22
  "build:lib": "yarn export:icons && vite build && npm pack",
13
23
  "build:watch": "vite build --watch",
14
24
  "build:web": "yarn export:icons && yarn storybook build",
25
+ "coverage": "vitest run --coverage",
15
26
  "export:icons": "npx tsx export-icons.ts",
16
27
  "lint": "yarn lint:js && yarn lint:prettier",
17
28
  "lint:js": "eslint 'src/**/*.{ts,vue}'",
18
29
  "lint:js:fix": "eslint 'src/**/*.{ts,vue}' --fix",
19
30
  "lint:prettier": "prettier --check 'src/**/*.{ts,vue}'",
20
31
  "start": "yarn export:icons && storybook dev -p 4400 --no-open",
21
- "test-storybook": "test-storybook --url http://127.0.0.1:4400"
32
+ "test": "vitest --run",
33
+ "test:watch": "vitest",
34
+ "test:ui": "vitest --ui --coverage",
35
+ "test:storybook": "test-storybook --url http://127.0.0.1:4400",
36
+ "prepare": "husky",
37
+ "pre-commit": "lint-staged"
38
+ },
39
+ "lint-staged": {
40
+ "src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}": [
41
+ "yarn test"
42
+ ]
22
43
  },
23
44
  "files": [
24
45
  "dist"
@@ -38,46 +59,53 @@
38
59
  ],
39
60
  "devDependencies": {
40
61
  "@chromatic-com/storybook": "^3.2.2",
41
- "@eslint/eslintrc": "^3.1.0",
42
- "@eslint/js": "^9.14.0",
62
+ "@eslint/eslintrc": "^3.2.0",
63
+ "@eslint/js": "^9.15.0",
43
64
  "@floating-ui/vue": "^1.1.5",
44
- "@iconify-json/tabler": "^1.2.7",
65
+ "@iconify-json/tabler": "^1.2.8",
45
66
  "@iconify/types": "^2.0.0",
46
- "@storybook/addon-a11y": "^8.4.2",
47
- "@storybook/addon-essentials": "^8.4.2",
48
- "@storybook/addon-interactions": "^8.4.2",
49
- "@storybook/cli": "^8.4.2",
50
- "@storybook/core-server": "^8.4.2",
51
- "@storybook/test": "^8.4.2",
67
+ "@storybook/addon-a11y": "^8.4.5",
68
+ "@storybook/addon-essentials": "^8.4.5",
69
+ "@storybook/addon-interactions": "^8.4.5",
70
+ "@storybook/cli": "^8.4.5",
71
+ "@storybook/core-server": "^8.4.5",
72
+ "@storybook/test": "^8.4.5",
52
73
  "@storybook/test-runner": "^0.19.1",
53
- "@storybook/vue3": "^8.4.2",
54
- "@storybook/vue3-vite": "^8.4.2",
55
- "@types/node": "22.9.0",
56
- "@typescript-eslint/eslint-plugin": "8.13.0",
57
- "@typescript-eslint/parser": "8.13.0",
58
- "@vitejs/plugin-vue": "^5.1.4",
59
- "@vitejs/plugin-vue-jsx": "^4.0.1",
74
+ "@storybook/vue3": "^8.4.5",
75
+ "@storybook/vue3-vite": "^8.4.5",
76
+ "@types/lodash": "^4.17.13",
77
+ "@types/node": "22.10.1",
78
+ "@typescript-eslint/eslint-plugin": "8.16.0",
79
+ "@typescript-eslint/parser": "8.16.0",
80
+ "@vitejs/plugin-vue": "^5.2.1",
81
+ "@vitejs/plugin-vue-jsx": "^4.1.1",
60
82
  "@vitest/coverage-c8": "~0.33.0",
61
- "@vitest/coverage-v8": "2.1.4",
62
- "@vitest/ui": "2.1.4",
83
+ "@vitest/coverage-istanbul": "2.1.6",
84
+ "@vitest/coverage-v8": "2.1.6",
85
+ "@vitest/ui": "^2.1.6",
86
+ "@vue/test-utils": "^2.4.6",
63
87
  "@vue/tsconfig": "^0.5.1",
64
- "eslint": "9.14.0",
88
+ "eslint": "9.15.0",
65
89
  "eslint-config-prettier": "9.1.0",
66
- "eslint-plugin-vue": "^9.30.0",
90
+ "eslint-plugin-vue": "^9.31.0",
67
91
  "glob": "^11.0.0",
68
92
  "globals": "^15.12.0",
69
- "playwright": "^1.48.2",
70
- "prettier": "^3.3.3",
71
- "sass": "^1.80.6",
72
- "storybook": "^8.4.2",
73
- "typescript": "^5.6.3",
74
- "vite": "5.4.10",
93
+ "husky": "^9.1.7",
94
+ "jsdom": "^25.0.1",
95
+ "lint-staged": "^15.2.10",
96
+ "lodash": "^4.17.21",
97
+ "playwright": "^1.49.0",
98
+ "prettier": "^3.4.1",
99
+ "sass": "^1.81.0",
100
+ "storybook": "^8.4.5",
101
+ "typescript": "^5.7.2",
102
+ "vite": "5.4.11",
75
103
  "vite-plugin-dts": "^4.3.0",
76
104
  "vite-plugin-lib-inject-css": "^2.1.1",
77
- "vite-tsconfig-paths": "^5.1.0",
78
- "vitest": "2.1.4",
79
- "vue": "^3.5.12",
80
- "vue-router": "^4.4.5",
105
+ "vite-tsconfig-paths": "^5.1.3",
106
+ "vitest": "2.1.6",
107
+ "vue": "^3.5.13",
108
+ "vue-router": "^4.5.0",
81
109
  "vue-tsc": "^2.1.10"
82
110
  },
83
111
  "packageManager": "yarn@4.5.0",