@evixcard/evx-ui-kit 1.14.0 → 1.16.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 (30) hide show
  1. package/dist/components/EvComboboxSelect/EvComboboxSelect.vue.d.ts +1 -1
  2. package/dist/components/EvConfirmDialog/EvConfirmDialog.vue.d.ts +1 -1
  3. package/dist/components/EvMultiSelect/EvMultiSelect.behavior.spec.d.ts +1 -0
  4. package/dist/components/EvMultiSelect/EvMultiSelect.vue.d.ts +12 -14
  5. package/dist/components/EvMultiSelect/index.d.ts +1 -1
  6. package/dist/components/EvMultiSelect/types.d.ts +17 -0
  7. package/dist/components/EvMultiSelect/useChipOverflow.d.ts +8 -0
  8. package/dist/components/EvPhoneInput/EvPhoneInput.spec.d.ts +1 -0
  9. package/dist/components/EvPhoneInput/EvPhoneInput.vue.d.ts +18 -0
  10. package/dist/components/EvPhoneInput/index.d.ts +2 -0
  11. package/dist/components/EvPhoneInput/phone.d.ts +16 -0
  12. package/dist/components/EvPhoneInput/phone.spec.d.ts +1 -0
  13. package/dist/components/EvPhoneInput/types.d.ts +24 -0
  14. package/dist/components/EvSelect/EvSelect.vue.d.ts +1 -1
  15. package/dist/components/EvSkeleton/EvSkeleton.vue.d.ts +1 -1
  16. package/dist/components/EvSmartSearch/EvSmartSearch.spec.d.ts +1 -0
  17. package/dist/components/EvSmartSearch/EvSmartSearch.vue.d.ts +63 -0
  18. package/dist/components/EvSmartSearch/index.d.ts +2 -0
  19. package/dist/components/EvSmartSearch/types.d.ts +8 -0
  20. package/dist/{evx-ui-kit.cjs.js → evx-ui-kit.cjs} +11 -7
  21. package/dist/evx-ui-kit.cjs.map +1 -0
  22. package/dist/evx-ui-kit.css +1 -1
  23. package/dist/evx-ui-kit.es.js +9393 -7194
  24. package/dist/evx-ui-kit.es.js.map +1 -1
  25. package/dist/{icons.cjs.js → icons.cjs} +1 -1
  26. package/dist/icons.cjs.map +1 -0
  27. package/dist/index.d.ts +3 -1
  28. package/package.json +5 -4
  29. package/dist/evx-ui-kit.cjs.js.map +0 -1
  30. package/dist/icons.cjs.js.map +0 -1
@@ -92,8 +92,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
92
92
  disabled: boolean;
93
93
  placeholder: string;
94
94
  error: boolean;
95
- searchPlaceholder: string;
96
95
  noResultsText: string;
96
+ searchPlaceholder: string;
97
97
  clearable: boolean;
98
98
  clearAllLabel: string;
99
99
  clearSearchLabel: string;
@@ -45,11 +45,11 @@ declare const __VLS_component: import('vue').DefineComponent<EvConfirmDialogProp
45
45
  destructive: boolean;
46
46
  loadingLabel: string;
47
47
  blur: boolean;
48
+ loading: boolean;
48
49
  showCloseButton: boolean;
49
50
  closeLabel: string;
50
51
  confirmLabel: string;
51
52
  cancelLabel: string;
52
- loading: boolean;
53
53
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
54
54
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
55
55
  export default _default;
@@ -1,16 +1,5 @@
1
- import { EvFieldSize } from '../EvSelectBase/fieldSize';
2
- import { EvMultiSelectOption, EvMultiSelectValue } from './types';
3
- type __VLS_Props = {
4
- options: EvMultiSelectOption[];
5
- placeholder?: string;
6
- searchable?: boolean;
7
- disabled?: boolean;
8
- error?: boolean;
9
- label?: string;
10
- /** Control min-height — sm ≈40 / md ≈42 (default) / lg ≈56. Grows with chips. */
11
- size?: EvFieldSize;
12
- class?: string;
13
- };
1
+ import { EvMultiSelectProps, EvMultiSelectValue } from './types';
2
+ type __VLS_Props = EvMultiSelectProps;
14
3
  type __VLS_PublicProps = {
15
4
  modelValue?: EvMultiSelectValue[];
16
5
  } & __VLS_Props;
@@ -19,13 +8,22 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {},
19
8
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
9
  "onUpdate:modelValue"?: ((value: EvMultiSelectValue[]) => any) | undefined;
21
10
  }>, {
22
- size: EvFieldSize;
11
+ size: import('../EvSelect').EvSelectSize;
23
12
  disabled: boolean;
24
13
  placeholder: string;
25
14
  error: boolean;
26
15
  searchable: boolean;
16
+ selectionDisplay: "wrap" | "collapse";
17
+ searchPlacement: "dropdown" | "inline";
18
+ removeOnBackspace: boolean;
19
+ clearSearchOnSelect: boolean;
27
20
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
28
21
  root: HTMLDivElement;
22
+ triggerRef: HTMLDivElement;
23
+ containerRef: HTMLDivElement;
24
+ searchRef: HTMLInputElement;
25
+ measureRef: HTMLDivElement;
26
+ summaryRef: HTMLSpanElement;
29
27
  panelRef: HTMLDivElement;
30
28
  }, any>;
31
29
  export default _default;
@@ -1,2 +1,2 @@
1
1
  export { default as EvMultiSelect } from './EvMultiSelect.vue';
2
- export type { EvMultiSelectOption, EvMultiSelectValue } from './types';
2
+ export type { EvMultiSelectOption, EvMultiSelectProps, EvMultiSelectValue } from './types';
@@ -1,5 +1,22 @@
1
+ import { InputHTMLAttributes } from 'vue';
2
+ import { EvFieldSize } from '../EvSelectBase/fieldSize';
1
3
  export type EvMultiSelectValue = string | number;
2
4
  export interface EvMultiSelectOption {
3
5
  value: EvMultiSelectValue;
4
6
  label: string;
5
7
  }
8
+ export interface EvMultiSelectProps {
9
+ options: EvMultiSelectOption[];
10
+ inputAttrs?: Pick<InputHTMLAttributes, 'id' | 'aria-labelledby' | 'aria-describedby' | 'aria-required'>;
11
+ placeholder?: string;
12
+ searchable?: boolean;
13
+ disabled?: boolean;
14
+ error?: boolean;
15
+ label?: string;
16
+ size?: EvFieldSize;
17
+ selectionDisplay?: 'wrap' | 'collapse';
18
+ searchPlacement?: 'dropdown' | 'inline';
19
+ removeOnBackspace?: boolean;
20
+ clearSearchOnSelect?: boolean;
21
+ class?: string;
22
+ }
@@ -0,0 +1,8 @@
1
+ import { Ref } from 'vue';
2
+ export declare function useChipOverflow(enabled: Ref<boolean>, labels: Ref<string[]>, controlRef: Ref<HTMLElement | null>, inlineSearch: Ref<boolean>): {
3
+ containerRef: Ref<HTMLElement | null, HTMLElement | null>;
4
+ measureRef: Ref<HTMLElement | null, HTMLElement | null>;
5
+ summaryRef: Ref<HTMLElement | null, HTMLElement | null>;
6
+ visibleCount: Ref<number, number>;
7
+ firstChipWidth: Ref<number | undefined, number | undefined>;
8
+ };
@@ -0,0 +1,18 @@
1
+ import { EvPhoneInputProps, EvPhoneInputStrings } from './types';
2
+ declare const _default: import('vue').DefineComponent<EvPhoneInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ "update:modelValue": (value: string) => any;
4
+ "update:country": (value: string) => any;
5
+ validity: (value: boolean) => any;
6
+ }, string, import('vue').PublicProps, Readonly<EvPhoneInputProps> & Readonly<{
7
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
8
+ "onUpdate:country"?: ((value: string) => any) | undefined;
9
+ onValidity?: ((value: boolean) => any) | undefined;
10
+ }>, {
11
+ disabled: boolean;
12
+ modelValue: string;
13
+ error: boolean;
14
+ locale: import('./types').EvPhoneLocale;
15
+ country: string;
16
+ strings: Partial<EvPhoneInputStrings>;
17
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
18
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as EvPhoneInput } from './EvPhoneInput.vue';
2
+ export type { EvPhoneInputProps, EvPhoneInputStrings, EvPhoneLocale } from './types';
@@ -0,0 +1,16 @@
1
+ import { CountryCode } from 'libphonenumber-js/min';
2
+ export type { CountryCode };
3
+ export type EvPhoneValidationErrorCode = 'empty' | 'country_required' | 'country_mismatch' | 'invalid';
4
+ export interface EvPhoneParseResult {
5
+ canonical: string | null;
6
+ errorCode: EvPhoneValidationErrorCode | null;
7
+ }
8
+ export declare function asPhoneCountryCode(value: string | null | undefined): CountryCode | null;
9
+ export declare function nationalFromE164(modelValue: string, country: CountryCode): string;
10
+ export interface InternationalPhoneInputResult {
11
+ country: CountryCode;
12
+ nationalNumber: string;
13
+ canonical: string;
14
+ }
15
+ export declare function applyInternationalPhoneInput(value: string, currentCountry: CountryCode): InternationalPhoneInputResult | null;
16
+ export declare function parseEvPhone(raw: string | null | undefined, countryCode: string | null | undefined): EvPhoneParseResult;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ export interface EvPhoneLocale {
2
+ regionNames: string | string[];
3
+ countrySortLocale: string;
4
+ }
5
+ export interface EvPhoneInputStrings {
6
+ label: string;
7
+ placeholder: string;
8
+ countryPlaceholder: string;
9
+ countryHeaderTitle: string;
10
+ countrySearchPlaceholder: string;
11
+ countryNoResultsText: string;
12
+ countrySelectorLabel: (name: string | null, dialCode: string) => string;
13
+ errorCountryRequired: string;
14
+ errorCountryMismatch: string;
15
+ errorInvalid: string;
16
+ }
17
+ export interface EvPhoneInputProps {
18
+ modelValue?: string;
19
+ country?: string;
20
+ disabled?: boolean;
21
+ error?: boolean;
22
+ locale?: EvPhoneLocale;
23
+ strings?: Partial<EvPhoneInputStrings>;
24
+ }
@@ -74,10 +74,10 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
74
74
  size: EvSelectSize;
75
75
  disabled: boolean;
76
76
  required: boolean;
77
+ noResultsText: string;
77
78
  native: boolean;
78
79
  searchable: boolean;
79
80
  searchPlaceholder: string;
80
- noResultsText: string;
81
81
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
82
82
  root: HTMLDivElement;
83
83
  trigger: HTMLButtonElement;
@@ -1,7 +1,7 @@
1
1
  import { EvSkeletonProps } from './types';
2
2
  declare const _default: import('vue').DefineComponent<EvSkeletonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvSkeletonProps> & Readonly<{}>, {
3
- durationMs: number;
4
3
  animation: import('./types').EvSkeletonAnimation;
4
+ durationMs: number;
5
5
  shape: import('./types').EvSkeletonShape;
6
6
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
7
7
  export default _default;
@@ -0,0 +1,63 @@
1
+ import { EvInputSize } from '../EvInput/types';
2
+ import { EvSmartSearchOption } from './types';
3
+ export interface EvSmartSearchProps<T extends EvSmartSearchOption = EvSmartSearchOption> {
4
+ /** Current search value */
5
+ modelValue?: string;
6
+ /** Search results (options to display in dropdown) */
7
+ options?: T[];
8
+ /** Loading state — shows spinner in dropdown */
9
+ loading?: boolean;
10
+ /** Placeholder text */
11
+ placeholder?: string;
12
+ /** Size of the underlying EvSearch */
13
+ size?: EvInputSize;
14
+ /** Disabled state */
15
+ disabled?: boolean;
16
+ /** Clear button label */
17
+ clearLabel?: string;
18
+ /** No results message when options.length === 0 and not loading */
19
+ noResultsText?: string;
20
+ /** Custom class for the wrapper */
21
+ class?: string;
22
+ /** Input class passed to EvSearch */
23
+ inputClass?: string;
24
+ /** Optional debounce delay in ms (consumer's responsibility to debounce if needed) */
25
+ debounce?: number;
26
+ }
27
+ declare const _default: <T extends EvSmartSearchOption>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
28
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
29
+ readonly onSelect?: ((option: T) => any) | undefined;
30
+ readonly "onUpdate:modelValue"?: ((value: string) => any) | undefined;
31
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onSelect" | "onUpdate:modelValue"> & EvSmartSearchProps<T> & Partial<{}>> & import('vue').PublicProps;
32
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
33
+ attrs: any;
34
+ slots: Readonly<{
35
+ /** Slot for rendering each option */
36
+ option(props: {
37
+ option: T;
38
+ active: boolean;
39
+ highlighted: (text: string) => string;
40
+ }): unknown;
41
+ /** Optional slot for empty state (when no results) */
42
+ empty?: () => unknown;
43
+ }> & {
44
+ /** Slot for rendering each option */
45
+ option(props: {
46
+ option: T;
47
+ active: boolean;
48
+ highlighted: (text: string) => string;
49
+ }): unknown;
50
+ /** Optional slot for empty state (when no results) */
51
+ empty?: () => unknown;
52
+ };
53
+ emit: {
54
+ (e: "update:modelValue", value: string): void;
55
+ (e: "select", option: T): void;
56
+ };
57
+ }>) => import('vue').VNode & {
58
+ __ctx?: Awaited<typeof __VLS_setup>;
59
+ };
60
+ export default _default;
61
+ type __VLS_PrettifyLocal<T> = {
62
+ [K in keyof T]: T[K];
63
+ } & {};
@@ -0,0 +1,2 @@
1
+ export { default as EvSmartSearch } from './EvSmartSearch.vue';
2
+ export type { EvSmartSearchOption } from './types';
@@ -0,0 +1,8 @@
1
+ export interface EvSmartSearchOption {
2
+ /** Unique value for the option */
3
+ value: string | number;
4
+ /** Display label */
5
+ label: string;
6
+ /** Optional metadata */
7
+ meta?: string;
8
+ }