@codeandfunction/callaloo 1.13.6 → 1.14.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 (40) hide show
  1. package/README.md +11 -3
  2. package/dist/assets/index.css +1 -1
  3. package/dist/components/Buttons/CLButton.vue.d.ts +13 -10
  4. package/dist/components/Buttons/utils.d.ts +7 -0
  5. package/dist/components/Containers/CLCard.vue.d.ts +1 -0
  6. package/dist/components/Containers/utils.d.ts +7 -0
  7. package/dist/components/Form/CLCheckbox.vue.d.ts +2 -2
  8. package/dist/components/Form/CLInput.vue.d.ts +8 -8
  9. package/dist/components/Form/CLInputMessages.vue.d.ts +5 -3
  10. package/dist/components/Form/CLRadioButton.vue.d.ts +2 -2
  11. package/dist/components/Form/CLSelect.vue.d.ts +3 -3
  12. package/dist/components/Form/CLTextArea.vue.d.ts +8 -8
  13. package/dist/components/Form/utils.d.ts +12 -0
  14. package/dist/components/Indicators/CLBanner.vue.d.ts +1 -0
  15. package/dist/components/Indicators/utils.d.ts +8 -0
  16. package/dist/components/Loading/utils.d.ts +6 -0
  17. package/dist/components/Modals/CLModal.vue.d.ts +3 -1
  18. package/dist/components/Modals/utils.d.ts +1 -0
  19. package/dist/components/Navigation/CLNavSection.vue.d.ts +1 -0
  20. package/dist/components/Navigation/utils.d.ts +7 -0
  21. package/dist/components/Popups/CLDropdownMenu.vue.d.ts +18 -10
  22. package/dist/components/Popups/{Toast.vue.d.ts → CLToast.vue.d.ts} +1 -0
  23. package/dist/components/Popups/utils.d.ts +4 -0
  24. package/dist/components/Table/utils.d.ts +1 -0
  25. package/dist/components/Theme/CLThemeProvider.vue.d.ts +21 -0
  26. package/dist/components/Theme/base-theme.d.ts +188 -0
  27. package/dist/components/Theme/utils.d.ts +21 -0
  28. package/dist/components/Typography/CLHeading.vue.d.ts +5 -5
  29. package/dist/components/Typography/CLText.vue.d.ts +4 -6
  30. package/dist/components/Typography/utils.d.ts +7 -0
  31. package/dist/composables/useDropdown.d.ts +1 -0
  32. package/dist/composables/useEsc.d.ts +4 -2
  33. package/dist/index.d.ts +5 -3
  34. package/dist/index.js +7217 -4444
  35. package/dist/index.js.map +1 -1
  36. package/dist/types.d.ts +34 -1
  37. package/dist/utils/helper.d.ts +1 -0
  38. package/package.json +37 -29
  39. package/dist/utils/tests.d.ts +0 -9
  40. /package/dist/components/Indicators/{Pill.vue.d.ts → CLPill.vue.d.ts} +0 -0
package/dist/types.d.ts CHANGED
@@ -8,6 +8,8 @@ export interface BannerProps {
8
8
  align?: Align;
9
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. */
10
10
  ariaLabel?: string;
11
+ /** A boolean value when set to `true`, adds a border to the banner. */
12
+ bordered?: boolean;
11
13
  /** The border radius size. The property can be one of `CLBorderRadius`, e.g. `CLBorderRadius.Medium`. */
12
14
  borderRadius?: BorderRadius;
13
15
  /** A `boolean` value which dictates the busy state of the Banner. When set to `true`, it utilizes the `<CLSkeleton />` component. */
@@ -64,6 +66,8 @@ export interface CardProps {
64
66
  align?: Align;
65
67
  /** The border radius size. The property can be one of `CLBorderRadius`, e.g. `CLBorderRadius.Medium`. */
66
68
  borderRadius?: BorderRadius;
69
+ /** A boolean value when set to `true`, adds a border to the card. */
70
+ bordered?: boolean;
67
71
  /** A `boolean` value which dictates the busy state of the card. When set to `true`, it utilizes the `<CLSkeleton />` component. */
68
72
  busy?: boolean;
69
73
  /** Appears below the title. Can be used to provide meta data, e.g. the time and date. */
@@ -368,6 +372,7 @@ export declare enum LinkTarget {
368
372
  Blank = "_blank",
369
373
  Self = "_self"
370
374
  }
375
+ export type MessageThemes = Extract<Themes, Themes.Danger | Themes.Default | Themes.Success | Themes.Warning>;
371
376
  export declare enum MessageType {
372
377
  Default = "default",
373
378
  Danger = "danger",
@@ -430,7 +435,7 @@ export declare enum Position {
430
435
  Absolute = "absolute",
431
436
  Relative = "relative"
432
437
  }
433
- export type SimpleThemes = Extract<Themes, Themes.Dark | Themes.Danger | Themes.Default | Themes.Light | Themes.Primary | Themes.Success | Themes.Warning>;
438
+ export type SimpleThemes = Extract<Themes, Themes.Dark | Themes.Danger | Themes.Default | Themes.Light | Themes.Primary | Themes.Secondary | Themes.Success | Themes.Warning>;
434
439
  export declare enum Sizes {
435
440
  Tiny = "tiny",
436
441
  Small = "small",
@@ -455,6 +460,31 @@ export declare enum TextTypes {
455
460
  Large = "large",
456
461
  XLarge = "xlarge"
457
462
  }
463
+ export interface Shades {
464
+ 100?: string;
465
+ 200?: string;
466
+ 300?: string;
467
+ 400?: string;
468
+ 500?: string;
469
+ 600?: string;
470
+ 700?: string;
471
+ 800?: string;
472
+ 900?: string;
473
+ }
474
+ export interface Theme {
475
+ primary?: Shades;
476
+ secondary?: Shades;
477
+ neutral?: Shades;
478
+ danger?: Shades;
479
+ warning?: Shades;
480
+ success?: Shades;
481
+ info?: Shades;
482
+ }
483
+ export interface ThemeConfig {
484
+ colors: Theme;
485
+ radius?: BorderRadius;
486
+ }
487
+ export type ThemeKeys = keyof Theme;
458
488
  export declare enum Themes {
459
489
  Default = "default",
460
490
  Primary = "primary",
@@ -495,8 +525,11 @@ export interface ToastProps {
495
525
  rounded?: boolean;
496
526
  /** Sets a custom ID used for unit tests. */
497
527
  testId?: string;
528
+ /** Sets the theme of the Toast. The property can be one of `CLToastThemes`, e.g. `CLThemes.Default` */
529
+ theme?: ToastThemes;
498
530
  /** Set the text of the title which should be displayed. */
499
531
  title?: string;
500
532
  /** Sets the width of the Toast, it's default value is `24rem`. */
501
533
  width?: string;
502
534
  }
535
+ export type ToastThemes = Extract<Themes, Themes.Danger | Themes.Default | Themes.Primary | Themes.Secondary | Themes.Success | Themes.Warning>;
@@ -11,5 +11,6 @@ interface ChildIsVisibleInput {
11
11
  export declare const childIsVisible: ({ parent, child, threshold, }: ChildIsVisibleInput) => boolean;
12
12
  export declare const debounce: (fn: () => void, ms?: number) => (this: any, ...args: any | any[]) => void;
13
13
  export declare const hasSlotContent: (slots: any, slotName: string, component: string) => boolean;
14
+ export declare const isBrowser: boolean;
14
15
  export declare const getMaxZIndex: () => number;
15
16
  export {};
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
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
- "url": "https://callaloo.codeandfunction.com"
6
+ "url": "https://callaloo.dev"
7
7
  },
8
8
  "keywords": [
9
9
  "callaloo",
@@ -15,7 +15,7 @@
15
15
  "a11y",
16
16
  "component library"
17
17
  ],
18
- "version": "1.13.6",
18
+ "version": "1.14.1",
19
19
  "license": "MIT",
20
20
  "type": "module",
21
21
  "scripts": {
@@ -29,7 +29,7 @@
29
29
  "lint:js:fix": "eslint 'src/**/*.{ts,vue}' --fix",
30
30
  "lint:prettier": "prettier --check 'src/**/*.{ts,vue}'",
31
31
  "start": "yarn export:icons && storybook dev -p 4400 --no-open",
32
- "test": "vitest --run",
32
+ "test": "vitest --run --passWithNoTests",
33
33
  "test:watch": "vitest",
34
34
  "test:ui": "vitest --ui --coverage",
35
35
  "test:storybook": "test-storybook --url http://127.0.0.1:4400",
@@ -37,6 +37,9 @@
37
37
  "pre-commit": "lint-staged"
38
38
  },
39
39
  "lint-staged": {
40
+ "src/**/*.vue": [
41
+ "yarn test"
42
+ ],
40
43
  "src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}": [
41
44
  "yarn test"
42
45
  ]
@@ -60,56 +63,61 @@
60
63
  "devDependencies": {
61
64
  "@chromatic-com/storybook": "^3.2.2",
62
65
  "@eslint/eslintrc": "^3.2.0",
63
- "@eslint/js": "^9.15.0",
66
+ "@eslint/js": "^9.16.0",
64
67
  "@floating-ui/vue": "^1.1.5",
65
- "@iconify-json/tabler": "^1.2.8",
68
+ "@iconify-json/tabler": "^1.2.10",
66
69
  "@iconify/types": "^2.0.0",
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",
73
- "@storybook/test-runner": "^0.19.1",
74
- "@storybook/vue3": "^8.4.5",
75
- "@storybook/vue3-vite": "^8.4.5",
70
+ "@storybook/addon-a11y": "^8.4.7",
71
+ "@storybook/addon-essentials": "^8.4.7",
72
+ "@storybook/addon-interactions": "^8.4.7",
73
+ "@storybook/cli": "^8.4.7",
74
+ "@storybook/core-server": "^8.4.7",
75
+ "@storybook/test": "^8.4.7",
76
+ "@storybook/test-runner": "^0.20.1",
77
+ "@storybook/vue3": "^8.4.7",
78
+ "@storybook/vue3-vite": "^8.4.7",
76
79
  "@types/lodash": "^4.17.13",
77
80
  "@types/node": "22.10.1",
78
- "@typescript-eslint/eslint-plugin": "8.16.0",
79
- "@typescript-eslint/parser": "8.16.0",
81
+ "@types/stylis": "^4",
82
+ "@typescript-eslint/eslint-plugin": "8.17.0",
83
+ "@typescript-eslint/parser": "8.17.0",
80
84
  "@vitejs/plugin-vue": "^5.2.1",
81
85
  "@vitejs/plugin-vue-jsx": "^4.1.1",
82
86
  "@vitest/coverage-c8": "~0.33.0",
83
- "@vitest/coverage-istanbul": "2.1.6",
84
- "@vitest/coverage-v8": "2.1.6",
85
- "@vitest/ui": "^2.1.6",
87
+ "@vitest/coverage-istanbul": "2.1.8",
88
+ "@vitest/coverage-v8": "2.1.8",
89
+ "@vitest/ui": "^2.1.8",
86
90
  "@vue/test-utils": "^2.4.6",
87
- "@vue/tsconfig": "^0.5.1",
88
- "eslint": "9.15.0",
91
+ "@vue/tsconfig": "^0.7.0",
92
+ "@wdns/vue-code-block": "^2.3.3",
93
+ "eslint": "9.16.0",
89
94
  "eslint-config-prettier": "9.1.0",
90
- "eslint-plugin-vue": "^9.31.0",
95
+ "eslint-plugin-vue": "^9.32.0",
91
96
  "glob": "^11.0.0",
92
- "globals": "^15.12.0",
97
+ "globals": "^15.13.0",
93
98
  "husky": "^9.1.7",
94
99
  "jsdom": "^25.0.1",
95
100
  "lint-staged": "^15.2.10",
96
101
  "lodash": "^4.17.21",
102
+ "murmurhash": "^2.0.1",
97
103
  "playwright": "^1.49.0",
98
- "prettier": "^3.4.1",
99
- "sass": "^1.81.0",
100
- "storybook": "^8.4.5",
104
+ "prettier": "^3.4.2",
105
+ "sass": "^1.82.0",
106
+ "storybook": "^8.4.7",
107
+ "stylis": "^4.3.4",
101
108
  "typescript": "^5.7.2",
102
- "vite": "5.4.11",
109
+ "vite": "6.0.3",
103
110
  "vite-plugin-dts": "^4.3.0",
104
111
  "vite-plugin-lib-inject-css": "^2.1.1",
105
- "vite-tsconfig-paths": "^5.1.3",
106
- "vitest": "2.1.6",
112
+ "vite-tsconfig-paths": "^5.1.4",
113
+ "vitest": "2.1.8",
107
114
  "vue": "^3.5.13",
108
115
  "vue-router": "^4.5.0",
109
116
  "vue-tsc": "^2.1.10"
110
117
  },
111
118
  "packageManager": "yarn@4.5.0",
112
119
  "peerDependencies": {
120
+ "@floating-ui/vue": "^1.1.5",
113
121
  "vue": "^3.5.10"
114
122
  }
115
123
  }
@@ -1,9 +0,0 @@
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 {};