@central-design-system/components 3.0.0-alpha.4 → 3.0.0-alpha.6

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 (72) hide show
  1. package/dist/cds.css +1 -1
  2. package/dist/cds.d.ts +51 -47
  3. package/dist/cds.es.js +4479 -3571
  4. package/dist/cds.umd.js +1 -1
  5. package/dist/components/CdsButton/CdsButton.vue.d.ts +10 -0
  6. package/dist/components/CdsCheckbox/CdsCheckbox.vue.d.ts +11 -11
  7. package/dist/components/CdsCheckbox/CdsCheckboxGroup.vue.d.ts +18 -18
  8. package/dist/components/CdsCombobox/CdsCombobox.vue.d.ts +127 -185
  9. package/dist/components/CdsDatePicker/CdsDatePicker.vue.d.ts +17 -17
  10. package/dist/components/CdsDatePicker/composable/calendar.d.ts +3 -1
  11. package/dist/components/CdsDropdown/CdsDropdown.vue.d.ts +94 -95
  12. package/dist/components/CdsForm/CdsForm.vue.d.ts +1 -1
  13. package/dist/components/CdsGrid/composable/grid.d.ts +2 -1
  14. package/dist/components/CdsInput/CdsInput.vue.d.ts +11 -11
  15. package/dist/components/CdsMenu/CdsMenu.vue.d.ts +24 -18
  16. package/dist/components/CdsOverlay/CdsOverlay.vue.d.ts +9 -13
  17. package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +3 -0
  18. package/dist/components/CdsPagination/CdsPagination.vue.d.ts +142 -0
  19. package/dist/components/CdsRadioButton/CdsRadio.vue.d.ts +18 -18
  20. package/dist/components/CdsRadioButton/CdsRadioButton.vue.d.ts +18 -18
  21. package/dist/components/CdsSelect/CdsSelect.vue.d.ts +51 -33
  22. package/dist/components/CdsTextArea/CdsTextArea.vue.d.ts +83 -62
  23. package/dist/components/CdsTextInput/CdsTextInput.vue.d.ts +37 -73
  24. package/dist/components/CdsTimePicker/CdsTimePicker.vue.d.ts +171 -0
  25. package/dist/components/CdsTimePicker/composable/index.d.ts +1 -0
  26. package/dist/components/CdsTimePicker/composable/time.d.ts +134 -0
  27. package/dist/components/CdsTooltip/CdsTooltip.vue.d.ts +765 -0
  28. package/dist/components/index.d.ts +4 -1
  29. package/dist/composable/datetime.d.ts +2 -17
  30. package/dist/composable/dimensions.d.ts +23 -5
  31. package/dist/composable/display.d.ts +56 -0
  32. package/dist/composable/index.d.ts +4 -0
  33. package/dist/composable/overlay.d.ts +1 -1
  34. package/dist/composable/readonly.d.ts +19 -0
  35. package/dist/composable/refs.d.ts +6 -0
  36. package/dist/composable/resizeObserver.d.ts +7 -0
  37. package/dist/composable/validation.d.ts +0 -16
  38. package/dist/create.d.ts +21 -0
  39. package/dist/globals.d.ts +2 -0
  40. package/dist/utils/date.d.ts +2 -1
  41. package/dist/utils/helpers.d.ts +3 -0
  42. package/package.json +1 -2
  43. package/src/scss/themes/index.ts +1 -1
  44. package/dist/types/CdsOptions.d.ts +0 -3
  45. package/src/utils/__test__/helper.test.ts +0 -59
  46. package/src/utils/__test__/mocks/helper.mock.ts +0 -362
  47. package/src/utils/__test__/mocks/propFactory.mock.ts +0 -88
  48. package/src/utils/__test__/propFactory.test.ts +0 -9
  49. package/src/utils/anchor.ts +0 -76
  50. package/src/utils/animation.ts +0 -62
  51. package/src/utils/box.ts +0 -39
  52. package/src/utils/cache.ts +0 -12
  53. package/src/utils/changeCase/__test__/lowerCase.test.ts +0 -12
  54. package/src/utils/changeCase/__test__/mocks/lowerCase.mock.ts +0 -80
  55. package/src/utils/changeCase/__test__/mocks/noCase.mock.ts +0 -131
  56. package/src/utils/changeCase/__test__/mocks/paramCase.mock.ts +0 -39
  57. package/src/utils/changeCase/__test__/mocks/pascalCase.mock.ts +0 -46
  58. package/src/utils/changeCase/__test__/noCase.test.ts +0 -8
  59. package/src/utils/changeCase/__test__/paramCase.test.ts +0 -8
  60. package/src/utils/changeCase/__test__/pascalCase.test.ts +0 -8
  61. package/src/utils/changeCase/lowerCase.ts +0 -56
  62. package/src/utils/changeCase/noCase.ts +0 -45
  63. package/src/utils/changeCase/paramCase.ts +0 -11
  64. package/src/utils/changeCase/pascalCase.ts +0 -24
  65. package/src/utils/date.ts +0 -1100
  66. package/src/utils/dom.ts +0 -24
  67. package/src/utils/getCurrentInstance.ts +0 -43
  68. package/src/utils/getScrollParent.ts +0 -29
  69. package/src/utils/globals.ts +0 -8
  70. package/src/utils/helpers.ts +0 -311
  71. package/src/utils/index.ts +0 -19
  72. package/src/utils/propsFactory.ts +0 -92
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Automatically generated by CDS CLI
3
- * Generated on 5/10/2023, 7:16:03 PM
3
+ * Generated on 6/1/2023, 2:01:09 PM
4
4
  **/
5
5
  export { default as CdsBadge } from './CdsBadge/CdsBadge.vue';
6
6
  export { default as CdsBreadcrumbs } from './CdsBreadcrumbs/CdsBreadcrumbs.vue';
@@ -30,6 +30,7 @@ export { default as CdsListItem } from './CdsList/CdsListItem.vue';
30
30
  export { default as CdsLoader } from './CdsLoader/CdsLoader.vue';
31
31
  export { default as CdsMenu } from './CdsMenu/CdsMenu.vue';
32
32
  export { default as CdsOverlay } from './CdsOverlay/CdsOverlay.vue';
33
+ export { default as CdsPagination } from './CdsPagination/CdsPagination.vue';
33
34
  export { default as CdsRadio } from './CdsRadioButton/CdsRadio.vue';
34
35
  export { default as CdsRadioButton } from './CdsRadioButton/CdsRadioButton.vue';
35
36
  export { default as CdsSelect } from './CdsSelect/CdsSelect.vue';
@@ -39,3 +40,5 @@ export { default as CdsStatus } from './CdsStatus/CdsStatus.vue';
39
40
  export { default as CdsTag } from './CdsTag/CdsTag.vue';
40
41
  export { default as CdsTextArea } from './CdsTextArea/CdsTextArea.vue';
41
42
  export { default as CdsTextInput } from './CdsTextInput/CdsTextInput.vue';
43
+ export { default as CdsTimePicker } from './CdsTimePicker/CdsTimePicker.vue';
44
+ export { default as CdsTooltip } from './CdsTooltip/CdsTooltip.vue';
@@ -1,5 +1,5 @@
1
- import type { IRawDate, TDateLocale } from '../utils';
2
1
  import type { ComputedRef, PropType } from 'vue';
2
+ import type { IRawDate, TDateLocale } from '../utils';
3
3
  export interface IDatetimeProps {
4
4
  modelValue: string | TDatetimeValueRange | Array<string | TDatetimeValueRange>;
5
5
  mask: string;
@@ -25,8 +25,6 @@ export declare const makeDatetimeProps: <Defaults extends {
25
25
  modelValue?: unknown;
26
26
  mask?: unknown;
27
27
  locale?: unknown;
28
- readonly?: unknown;
29
- disabled?: unknown;
30
28
  } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
31
29
  /**
32
30
  * Значение модели
@@ -58,19 +56,6 @@ export declare const makeDatetimeProps: <Defaults extends {
58
56
  }>;
59
57
  default: null;
60
58
  };
61
- /**
62
- * Только для чтения
63
- */
64
- readonly: {
65
- type: PropType<boolean>;
66
- default: boolean;
67
- };
68
- /**
69
- * Заблокированный
70
- */
71
- disabled: {
72
- type: PropType<boolean>;
73
- default: boolean;
74
- };
75
59
  }, Defaults>;
76
60
  export declare function useDatetime(props: IDatetimeProps): IUseDatetime;
61
+ export declare function getDayHash(date: IRawDate): string;
@@ -13,35 +13,53 @@ export interface IUseDimensions {
13
13
  }
14
14
  export declare const makeDimensionProps: <Defaults extends {
15
15
  height?: unknown;
16
+ width?: unknown;
16
17
  maxHeight?: unknown;
17
18
  maxWidth?: unknown;
18
19
  minHeight?: unknown;
19
20
  minWidth?: unknown;
20
- width?: unknown;
21
21
  } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
22
+ /**
23
+ * Высота
24
+ */
22
25
  height: {
23
26
  type: PropType<string | number>;
24
27
  default: string;
25
28
  };
29
+ /**
30
+ * Ширина
31
+ */
32
+ width: {
33
+ type: PropType<string | number>;
34
+ default: string;
35
+ };
36
+ /**
37
+ * Максимальная высота
38
+ */
26
39
  maxHeight: {
27
40
  type: PropType<string | number>;
28
41
  default: string;
29
42
  };
43
+ /**
44
+ * Максимальная ширина
45
+ */
30
46
  maxWidth: {
31
47
  type: PropType<string | number>;
32
48
  default: string;
33
49
  };
50
+ /**
51
+ * Минимальная высота
52
+ */
34
53
  minHeight: {
35
54
  type: PropType<string | number>;
36
55
  default: string;
37
56
  };
57
+ /**
58
+ * Минимальная ширина
59
+ */
38
60
  minWidth: {
39
61
  type: PropType<string | number>;
40
62
  default: string;
41
63
  };
42
- width: {
43
- type: PropType<string | number>;
44
- default: string;
45
- };
46
64
  }, Defaults>;
47
65
  export declare function useDimensions(props: IDimensionsProps): IUseDimensions;
@@ -0,0 +1,56 @@
1
+ import type { InjectionKey, Ref } from 'vue';
2
+ export declare const breakpoints: readonly ["xs", "sm", "md", "lg", "xl"];
3
+ export declare type TBreakpoint = typeof breakpoints[number];
4
+ export interface IDisplayOptions {
5
+ mobileBreakpoint?: number | TBreakpoint;
6
+ thresholds?: Partial<TDisplayThresholds>;
7
+ }
8
+ export interface IDisplayInstance {
9
+ name: Ref<TBreakpoint>;
10
+ xs: Ref<boolean>;
11
+ sm: Ref<boolean>;
12
+ md: Ref<boolean>;
13
+ lg: Ref<boolean>;
14
+ xl: Ref<boolean>;
15
+ smUp: Ref<boolean>;
16
+ mdUp: Ref<boolean>;
17
+ lgUp: Ref<boolean>;
18
+ xlUp: Ref<boolean>;
19
+ smDown: Ref<boolean>;
20
+ mdDown: Ref<boolean>;
21
+ lgDown: Ref<boolean>;
22
+ xlDown: Ref<boolean>;
23
+ mobile: Ref<boolean>;
24
+ mobileBreakpoint: Ref<number | TBreakpoint>;
25
+ width: Ref<number>;
26
+ height: Ref<number>;
27
+ platform: Ref<TDisplayPlatform>;
28
+ thresholds: Ref<TDisplayThresholds>;
29
+ ssr: boolean;
30
+ update(): void;
31
+ }
32
+ export declare type TDisplayThresholds = {
33
+ [key in TBreakpoint]: number;
34
+ };
35
+ export declare type TDisplayPlatform = {
36
+ android: boolean;
37
+ ios: boolean;
38
+ cordova: boolean;
39
+ electron: boolean;
40
+ chrome: boolean;
41
+ edge: boolean;
42
+ firefox: boolean;
43
+ opera: boolean;
44
+ win: boolean;
45
+ mac: boolean;
46
+ linux: boolean;
47
+ touch: boolean;
48
+ ssr: boolean;
49
+ };
50
+ export declare type TSSROptions = boolean | {
51
+ clientWidth: number;
52
+ clientHeight?: number;
53
+ };
54
+ export declare const DisplaySymbol: InjectionKey<IDisplayInstance>;
55
+ export declare function createDisplay(options?: IDisplayOptions, ssr?: TSSROptions): IDisplayInstance;
56
+ export declare function useDisplay(): IDisplayInstance;
@@ -6,6 +6,7 @@ export * from './loading';
6
6
  export * from './appearance';
7
7
  export * from './size';
8
8
  export * from './disabled';
9
+ export * from './readonly';
9
10
  export * from './dark';
10
11
  export * from './color';
11
12
  export * from './status';
@@ -33,3 +34,6 @@ export * from './select';
33
34
  export * from './filter';
34
35
  export * from './menu';
35
36
  export * from './datetime';
37
+ export * from './resizeObserver';
38
+ export * from './refs';
39
+ export * from './display';
@@ -75,7 +75,7 @@ export declare const makeOverlayProps: <Defaults extends {
75
75
  default: boolean;
76
76
  };
77
77
  /**
78
- * Значение z-index для оверлея
78
+ * Значение z-index
79
79
  */
80
80
  zIndex: {
81
81
  type: PropType<string | number>;
@@ -0,0 +1,19 @@
1
+ import type { ComputedRef, PropType } from 'vue';
2
+ export interface IReadonlyProps {
3
+ readonly: boolean;
4
+ }
5
+ export interface IUseReadonly {
6
+ readonlyClasses: ComputedRef<string | undefined>;
7
+ }
8
+ export declare const makeReadonlyProps: <Defaults extends {
9
+ readonly?: unknown;
10
+ } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
11
+ /**
12
+ * Только для чтения
13
+ */
14
+ readonly: {
15
+ type: PropType<boolean>;
16
+ default: boolean;
17
+ };
18
+ }, Defaults>;
19
+ export declare function useReadonly(props: IReadonlyProps): IUseReadonly;
@@ -0,0 +1,6 @@
1
+ import type { Ref } from 'vue';
2
+ export interface IUseRefs<T extends {}> {
3
+ refs: Ref<(T | undefined)[]>;
4
+ updateRef: (value: any, index: number) => void;
5
+ }
6
+ export declare function useRefs<T extends {}>(): IUseRefs<T>;
@@ -0,0 +1,7 @@
1
+ import type { DeepReadonly, Ref } from 'vue';
2
+ interface IUseResizeObserver {
3
+ resizeRef: Ref<HTMLElement | undefined>;
4
+ contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>;
5
+ }
6
+ export declare function useResizeObserver(callback?: ResizeObserverCallback): IUseResizeObserver;
7
+ export {};
@@ -33,25 +33,16 @@ export interface IUseValidation {
33
33
  }
34
34
  export declare const allowedValidationOn: readonly ["blur", "input", "submit"];
35
35
  export declare const makeValidationProps: <Defaults extends {
36
- disabled?: unknown;
37
36
  error?: unknown;
38
37
  errorMessages?: unknown;
39
38
  maxErrors?: unknown;
40
39
  name?: unknown;
41
- readonly?: unknown;
42
40
  rules?: unknown;
43
41
  modelValue?: unknown;
44
42
  validateOn?: unknown;
45
43
  validationValue?: unknown;
46
44
  hideMessages?: unknown;
47
45
  } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
48
- /**
49
- * Заблокированное состояние
50
- */
51
- disabled: {
52
- type: PropType<boolean>;
53
- default: boolean;
54
- };
55
46
  /**
56
47
  * Состояние ошибки
57
48
  */
@@ -80,13 +71,6 @@ export declare const makeValidationProps: <Defaults extends {
80
71
  type: PropType<string | undefined>;
81
72
  default: undefined;
82
73
  };
83
- /**
84
- * Только для чтения
85
- */
86
- readonly: {
87
- type: PropType<boolean>;
88
- default: boolean;
89
- };
90
74
  /**
91
75
  * Правила валидации
92
76
  */
@@ -0,0 +1,21 @@
1
+ import type { App } from 'vue';
2
+ import type { IDisplayOptions } from './composable';
3
+ export interface ICdsOptions {
4
+ components?: Record<string, any>;
5
+ directives?: Record<string, any>;
6
+ icons?: Record<string, any>;
7
+ illustrations?: Record<string, any>;
8
+ display?: IDisplayOptions;
9
+ cssGrid?: boolean;
10
+ ssr?: boolean;
11
+ }
12
+ interface NuxtApp {
13
+ $nuxt?: {
14
+ hook: (name: string, fn: () => void) => void;
15
+ };
16
+ }
17
+ export declare function createCds(options?: ICdsOptions): {
18
+ install: (app: App & NuxtApp) => void;
19
+ display: import("./composable").IDisplayInstance;
20
+ };
21
+ export {};
package/dist/globals.d.ts CHANGED
@@ -13,4 +13,6 @@ declare global {
13
13
  | undefined
14
14
  > & { lastMousedownWasOutside: boolean };
15
15
  }
16
+
17
+ export const __VUE_OPTIONS_API__: boolean | undefined;
16
18
  }
@@ -11,6 +11,7 @@ export interface IRawDate {
11
11
  dateHash?: string;
12
12
  timeHash?: string;
13
13
  date?: number;
14
+ changed?: boolean;
14
15
  }
15
16
  export declare type TDateLocale = ILocale['date'];
16
17
  /**
@@ -43,7 +44,7 @@ export declare function extractDate(str: string, mask: string, dateLocale: TDate
43
44
  * @param dateLocale
44
45
  * @param defaultModel
45
46
  */
46
- export declare function splitDate(str: string, mask: string, dateLocale: TDateLocale, defaultModel?: IRawDate): IRawDate;
47
+ export declare function splitDate(str?: string | any, mask?: string, dateLocale?: TDateLocale, defaultModel?: IRawDate): IRawDate;
47
48
  /**
48
49
  * Check a date string for validity.
49
50
  * @param date
@@ -30,6 +30,7 @@ export declare const classesStates: Readonly<{
30
30
  invalid: "cds-state-invalid";
31
31
  empty: "cds-state-empty";
32
32
  loading: "cds-state-loading";
33
+ readonly: "cds-state-readonly";
33
34
  }>;
34
35
  /**
35
36
  * Check if value is a object.
@@ -100,6 +101,7 @@ export declare function convertToUnit(str: string | number | null | undefined, u
100
101
  * @param max
101
102
  */
102
103
  export declare function clamp(value: number, min?: number, max?: number): number;
104
+ export declare function createRange(length: number, start?: number): number[];
103
105
  /**
104
106
  * Is value an like event
105
107
  * @param key
@@ -110,6 +112,7 @@ export declare function isComponentInstance(obj: any): obj is ComponentPublicIns
110
112
  export declare function isFixedPosition(el?: HTMLElement): boolean;
111
113
  export declare function padStart(string: number | string, targetLength: number, padString: string): string;
112
114
  export declare function pad(n: string | number, length?: number): string;
115
+ export declare function refElement<T extends Record<string, any> | undefined>(obj: T): Exclude<T, ComponentPublicInstance> | HTMLElement;
113
116
  /**
114
117
  * Types
115
118
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@central-design-system/components",
3
- "version": "3.0.0-alpha.4",
3
+ "version": "3.0.0-alpha.6",
4
4
  "description": "Central Design System on the Vue 3.0 and TypeScript",
5
5
  "author": "magersoft",
6
6
  "license": "ISC",
@@ -19,7 +19,6 @@
19
19
  },
20
20
  "files": [
21
21
  "dist",
22
- "src/utils",
23
22
  "src/scss",
24
23
  "nuxt.js"
25
24
  ],
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Automatically generated by CDS CLI
3
- * Generated on 5/22/2023, 2:54:43 PM
3
+ * Generated on 6/1/2023, 2:19:29 PM
4
4
  **/
5
5
 
6
6
  /**
@@ -1,3 +0,0 @@
1
- export interface ICdsOptions {
2
- cssGrid?: boolean;
3
- }
@@ -1,59 +0,0 @@
1
- import { pick, isObject, mergeDeep, getNestedValue, getObjectValueByPath, getPropertyFromItem } from '../helpers';
2
- import {
3
- mockHelpersIsObject,
4
- mockHelpersMergeDeep,
5
- mockHelpersGetNestedValue,
6
- mockHelpersGetObjectValueByPath,
7
- mockHelpersGetPropertyFromItem,
8
- mockHelpersPick
9
- } from './mocks/helper.mock';
10
-
11
- describe('isObject', () => {
12
- mockHelpersIsObject.forEach(({ name, initial, expected }) => {
13
- it(name, () => {
14
- expect(isObject(initial)).toEqual(expected);
15
- });
16
- });
17
- });
18
-
19
- describe('mergeDeep', () => {
20
- mockHelpersMergeDeep.forEach(({ name, initial, expected }) => {
21
- it(name, () => {
22
- expect(mergeDeep(initial.source, initial.target, initial.arrayFn)).toEqual(expected);
23
- });
24
- });
25
- });
26
-
27
- describe('getNestedValue', () => {
28
- mockHelpersGetNestedValue.forEach(({ name, initial, expected }) => {
29
- it(name, () => {
30
- expect(getNestedValue(initial.obj, initial.path, initial.fallback)).toEqual(expected);
31
- });
32
- });
33
- });
34
-
35
- describe('getObjectValueByPath', () => {
36
- mockHelpersGetObjectValueByPath.forEach(({ name, initial, expected }) => {
37
- it(name, () => {
38
- expect(getObjectValueByPath(initial.obj, initial.path, initial.fallback)).toEqual(expected);
39
- });
40
- });
41
- });
42
-
43
- describe('getPropertyFromItem', () => {
44
- mockHelpersGetPropertyFromItem.forEach(({ name, initial, expected }) => {
45
- it(name, () => {
46
- expect(getPropertyFromItem(initial.item, initial.property, initial.fallback)).toEqual(expected);
47
- });
48
- });
49
- });
50
-
51
- describe('pick', () => {
52
- mockHelpersPick.forEach(({ name, initial, expected }) => {
53
- it(name, () => {
54
- const [yes, no] = pick(initial.obj, initial.paths);
55
- expect(yes).toEqual(expected.yes);
56
- expect(no).toEqual(expected.no);
57
- });
58
- });
59
- });