@codeandfunction/callaloo 1.13.4 → 1.14.0

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 +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/utils.d.ts +8 -0
  15. package/dist/components/Loading/utils.d.ts +6 -0
  16. package/dist/components/Modals/CLModal.vue.d.ts +3 -1
  17. package/dist/components/Modals/utils.d.ts +1 -0
  18. package/dist/components/Navigation/CLNavSection.vue.d.ts +1 -0
  19. package/dist/components/Navigation/utils.d.ts +7 -0
  20. package/dist/components/Popups/CLDropdownMenu.vue.d.ts +16 -10
  21. package/dist/components/Popups/{Toast.vue.d.ts → CLToast.vue.d.ts} +1 -0
  22. package/dist/components/Popups/utils.d.ts +4 -0
  23. package/dist/components/Table/utils.d.ts +1 -0
  24. package/dist/components/Theme/CLThemeProvider.vue.d.ts +21 -0
  25. package/dist/components/Theme/base-theme.d.ts +188 -0
  26. package/dist/components/Theme/utils.d.ts +20 -0
  27. package/dist/components/Typography/CLHeading.vue.d.ts +5 -5
  28. package/dist/components/Typography/CLText.vue.d.ts +4 -6
  29. package/dist/components/Typography/utils.d.ts +7 -0
  30. package/dist/composables/useDropdown.d.ts +1 -0
  31. package/dist/composables/useEsc.d.ts +3 -1
  32. package/dist/index.d.ts +5 -3
  33. package/dist/index.js +7202 -4436
  34. package/dist/index.js.map +1 -1
  35. package/dist/types.d.ts +32 -1
  36. package/dist/utils/helper.d.ts +1 -0
  37. package/package.json +37 -29
  38. package/dist/utils/tests.d.ts +0 -9
  39. /package/dist/components/Indicators/{Pill.vue.d.ts → CLPill.vue.d.ts} +0 -0
package/dist/types.d.ts CHANGED
@@ -64,6 +64,8 @@ export interface CardProps {
64
64
  align?: Align;
65
65
  /** The border radius size. The property can be one of `CLBorderRadius`, e.g. `CLBorderRadius.Medium`. */
66
66
  borderRadius?: BorderRadius;
67
+ /** A boolean value when set to `true`, adds a border to the card. */
68
+ bordered?: boolean;
67
69
  /** A `boolean` value which dictates the busy state of the card. When set to `true`, it utilizes the `<CLSkeleton />` component. */
68
70
  busy?: boolean;
69
71
  /** Appears below the title. Can be used to provide meta data, e.g. the time and date. */
@@ -368,6 +370,7 @@ export declare enum LinkTarget {
368
370
  Blank = "_blank",
369
371
  Self = "_self"
370
372
  }
373
+ export type MessageThemes = Extract<Themes, Themes.Danger | Themes.Default | Themes.Success | Themes.Warning>;
371
374
  export declare enum MessageType {
372
375
  Default = "default",
373
376
  Danger = "danger",
@@ -430,7 +433,7 @@ export declare enum Position {
430
433
  Absolute = "absolute",
431
434
  Relative = "relative"
432
435
  }
433
- export type SimpleThemes = Extract<Themes, Themes.Dark | Themes.Danger | Themes.Default | Themes.Light | Themes.Primary | Themes.Success | Themes.Warning>;
436
+ export type SimpleThemes = Extract<Themes, Themes.Dark | Themes.Danger | Themes.Default | Themes.Light | Themes.Primary | Themes.Secondary | Themes.Success | Themes.Warning>;
434
437
  export declare enum Sizes {
435
438
  Tiny = "tiny",
436
439
  Small = "small",
@@ -455,6 +458,31 @@ export declare enum TextTypes {
455
458
  Large = "large",
456
459
  XLarge = "xlarge"
457
460
  }
461
+ export interface Shades {
462
+ 100?: string;
463
+ 200?: string;
464
+ 300?: string;
465
+ 400?: string;
466
+ 500?: string;
467
+ 600?: string;
468
+ 700?: string;
469
+ 800?: string;
470
+ 900?: string;
471
+ }
472
+ export interface Theme {
473
+ primary?: Shades;
474
+ secondary?: Shades;
475
+ neutral?: Shades;
476
+ danger?: Shades;
477
+ warning?: Shades;
478
+ success?: Shades;
479
+ info?: Shades;
480
+ }
481
+ export interface ThemeConfig {
482
+ colors: Theme;
483
+ radius?: BorderRadius;
484
+ }
485
+ export type ThemeKeys = keyof Theme;
458
486
  export declare enum Themes {
459
487
  Default = "default",
460
488
  Primary = "primary",
@@ -495,8 +523,11 @@ export interface ToastProps {
495
523
  rounded?: boolean;
496
524
  /** Sets a custom ID used for unit tests. */
497
525
  testId?: string;
526
+ /** Sets the theme of the Toast. The property can be one of `CLToastThemes`, e.g. `CLThemes.Default` */
527
+ theme?: ToastThemes;
498
528
  /** Set the text of the title which should be displayed. */
499
529
  title?: string;
500
530
  /** Sets the width of the Toast, it's default value is `24rem`. */
501
531
  width?: string;
502
532
  }
533
+ 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.4",
18
+ "version": "1.14.0",
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 {};