@evixcard/evx-ui-kit 0.2.0 → 1.0.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 (42) hide show
  1. package/dist/components/EvAlert/EvAlert.spec.d.ts +1 -0
  2. package/dist/components/EvButton/EvButton.spec.d.ts +1 -0
  3. package/dist/components/EvButton/EvButton.vue.d.ts +7 -3
  4. package/dist/components/EvButton/tokens.spec.d.ts +1 -0
  5. package/dist/components/EvButton/variants.d.ts +4 -0
  6. package/dist/components/EvDataTable/EvDataTable.spec.d.ts +1 -0
  7. package/dist/components/EvDataTable/EvDataTable.vue.d.ts +24 -0
  8. package/dist/components/EvDataTable/index.d.ts +2 -0
  9. package/dist/components/EvDataTable/types.d.ts +17 -0
  10. package/dist/components/EvModal/EvModal.spec.d.ts +1 -0
  11. package/dist/components/EvModal/EvModal.vue.d.ts +38 -0
  12. package/dist/components/EvModal/index.d.ts +3 -0
  13. package/dist/components/EvModal/modalStack.d.ts +9 -0
  14. package/dist/components/EvPopup/EvPopup.vue.d.ts +1 -1
  15. package/dist/components/EvSpinner/EvSpinner.vue.d.ts +2 -2
  16. package/dist/components/charts/ChartTooltip.vue.d.ts +16 -0
  17. package/dist/components/charts/EvxAreaChart.spec.d.ts +1 -0
  18. package/dist/components/charts/EvxAreaChart.vue.d.ts +16 -0
  19. package/dist/components/charts/EvxBarChart.spec.d.ts +1 -0
  20. package/dist/components/charts/EvxBarChart.vue.d.ts +16 -0
  21. package/dist/components/charts/EvxComposedChart.spec.d.ts +1 -0
  22. package/dist/components/charts/EvxComposedChart.vue.d.ts +18 -0
  23. package/dist/components/charts/EvxLineChart.spec.d.ts +1 -0
  24. package/dist/components/charts/EvxLineChart.vue.d.ts +16 -0
  25. package/dist/components/charts/EvxPieChart.spec.d.ts +1 -0
  26. package/dist/components/charts/EvxPieChart.vue.d.ts +17 -0
  27. package/dist/components/charts/EvxRadarChart.spec.d.ts +1 -0
  28. package/dist/components/charts/EvxRadarChart.vue.d.ts +16 -0
  29. package/dist/components/charts/EvxRadialChart.spec.d.ts +1 -0
  30. package/dist/components/charts/EvxRadialChart.vue.d.ts +16 -0
  31. package/dist/components/charts/index.d.ts +8 -0
  32. package/dist/components/charts/useCartesianFrame.d.ts +38 -0
  33. package/dist/components/charts/useChartTheme.d.ts +22 -0
  34. package/dist/evx-ui-kit.cjs.js +41 -13
  35. package/dist/evx-ui-kit.cjs.js.map +1 -1
  36. package/dist/evx-ui-kit.css +1 -1
  37. package/dist/evx-ui-kit.es.js +9988 -2256
  38. package/dist/evx-ui-kit.es.js.map +1 -1
  39. package/dist/index.d.ts +3 -0
  40. package/dist/test/setup.d.ts +1 -0
  41. package/dist/theme.css +337 -0
  42. package/package.json +16 -3
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -5,6 +5,9 @@ interface Props {
5
5
  variant: Variant;
6
6
  isLoading: boolean;
7
7
  isDisabled: boolean;
8
+ type?: 'button' | 'submit' | 'reset';
9
+ loadingText?: string;
10
+ fullWidth: boolean;
8
11
  }
9
12
  declare function __VLS_template(): {
10
13
  attrs: Partial<{}>;
@@ -15,15 +18,16 @@ declare function __VLS_template(): {
15
18
  rootEl: HTMLButtonElement;
16
19
  };
17
20
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
- declare const __VLS_component: import('vue').DefineComponent<Partial<Props>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
- click: (...args: any[]) => void;
21
+ declare const __VLS_component: import('vue').DefineComponent<Partial<Props>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
22
+ click: (event: MouseEvent) => any;
20
23
  }, string, import('vue').PublicProps, Readonly<Partial<Props>> & Readonly<{
21
- onClick?: ((...args: any[]) => any) | undefined;
24
+ onClick?: ((event: MouseEvent) => any) | undefined;
22
25
  }>, {
23
26
  size: EvButtonSize;
24
27
  variant: Variant;
25
28
  isLoading: boolean;
26
29
  isDisabled: boolean;
30
+ fullWidth: boolean;
27
31
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLButtonElement>;
28
32
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
29
33
  export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -4,6 +4,10 @@ export declare const variants: {
4
4
  link: string;
5
5
  ghost: string;
6
6
  black: string;
7
+ third: string;
8
+ danger: string;
9
+ success: string;
10
+ warning: string;
7
11
  icon: string;
8
12
  };
9
13
  export declare const sizes: {
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import { EvDataTableProps } from './types.ts';
2
+ declare const _default: <T extends Record<string, unknown> = Record<string, unknown>>(__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<{
3
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
4
+ readonly onSort?: ((field: string, direction: "desc" | "asc") => any) | undefined;
5
+ readonly "onUpdate:page"?: ((page: number) => any) | undefined;
6
+ readonly "onRow-click"?: ((row: T) => any) | undefined;
7
+ readonly "onUpdate:selectedKeys"?: ((keys: (string | number)[]) => any) | undefined;
8
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onSort" | "onUpdate:page" | "onRow-click" | "onUpdate:selectedKeys"> & EvDataTableProps<T> & Partial<{}>> & import('vue').PublicProps;
9
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
10
+ attrs: any;
11
+ slots: Partial<Record<`cell-${string}`, (_: {
12
+ row: T;
13
+ value: unknown;
14
+ }) => any>> & {
15
+ empty?(_: {}): any;
16
+ };
17
+ emit: ((evt: "sort", field: string, direction: "desc" | "asc") => void) & ((evt: "update:page", page: number) => void) & ((evt: "row-click", row: T) => void) & ((evt: "update:selectedKeys", keys: (string | number)[]) => void);
18
+ }>) => import('vue').VNode & {
19
+ __ctx?: Awaited<typeof __VLS_setup>;
20
+ };
21
+ export default _default;
22
+ type __VLS_PrettifyLocal<T> = {
23
+ [K in keyof T]: T[K];
24
+ } & {};
@@ -0,0 +1,2 @@
1
+ export { default as EvDataTable } from './EvDataTable.vue';
2
+ export type { EvDataTableColumn, EvDataTableProps } from './types.ts';
@@ -0,0 +1,17 @@
1
+ export interface EvDataTableColumn {
2
+ key: string;
3
+ label: string;
4
+ sortable?: boolean;
5
+ class?: string;
6
+ }
7
+ export interface EvDataTableProps<T extends Record<string, unknown> = Record<string, unknown>> {
8
+ data?: T[];
9
+ columns: EvDataTableColumn[];
10
+ sortField?: string;
11
+ sortDirection?: 'asc' | 'desc';
12
+ page?: number;
13
+ pageSize?: number;
14
+ selectable?: boolean;
15
+ selectedKeys?: (string | number)[];
16
+ rowKey?: string;
17
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,38 @@
1
+ export type EvModalSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
2
+ export interface EvModalProps {
3
+ open: boolean;
4
+ title: string;
5
+ size?: EvModalSize;
6
+ closable?: boolean;
7
+ }
8
+ declare function __VLS_template(): {
9
+ attrs: Partial<{}>;
10
+ slots: {
11
+ default?(_: {}): any;
12
+ footer?(_: {}): any;
13
+ };
14
+ refs: {
15
+ containerRef: HTMLDivElement;
16
+ panelRef: HTMLDivElement;
17
+ };
18
+ rootEl: any;
19
+ };
20
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
21
+ declare const __VLS_component: import('vue').DefineComponent<EvModalProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ close: () => any;
23
+ }, string, import('vue').PublicProps, Readonly<EvModalProps> & Readonly<{
24
+ onClose?: (() => any) | undefined;
25
+ }>, {
26
+ size: EvModalSize;
27
+ closable: boolean;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
29
+ containerRef: HTMLDivElement;
30
+ panelRef: HTMLDivElement;
31
+ }, any>;
32
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
33
+ export default _default;
34
+ type __VLS_WithTemplateSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -0,0 +1,3 @@
1
+ export { default as EvModal } from './EvModal.vue';
2
+ export type { EvModalProps, EvModalSize } from './EvModal.vue';
3
+ export { __resetModalStackForTests } from './modalStack.ts';
@@ -0,0 +1,9 @@
1
+ export interface ModalLayer {
2
+ backdropZ: number;
3
+ panelZ: number;
4
+ }
5
+ export declare function acquireModalZ(): ModalLayer;
6
+ export declare function releaseModalZ(layer: ModalLayer): void;
7
+ export declare function acquireScrollLock(): void;
8
+ export declare function releaseScrollLock(): void;
9
+ export declare function __resetModalStackForTests(): void;
@@ -7,7 +7,7 @@ export interface EvPopupProps {
7
7
  * - `md` (default): wider panel (`max-w-[500px]`, `rounded-lg`) with a large
8
8
  * title (`text-[24px] font-bold`) — used for generic informational dialogs.
9
9
  * - `sm`: compact panel (`max-w-sm`, `rounded-2xl`) with a smaller, near-black
10
- * title (`text-lg font-semibold text-[#231F20]`) — designed for confirmation
10
+ * title (`text-lg font-semibold text-foreground`) — designed for confirmation
11
11
  * modals and other action-focused flows.
12
12
  */
13
13
  size?: EvPopupSize;
@@ -18,7 +18,7 @@ export interface EvSpinnerProps {
18
18
  * wheel similar to `border-X/20 + border-t-X` snippets in product code.
19
19
  */
20
20
  variant?: EvSpinnerVariant;
21
- /** Indicator color (any CSS color). Default: `#232525`. */
21
+ /** Indicator color (any CSS color). Default: `var(--foreground)`. */
22
22
  color?: string;
23
23
  /** Override track tint for the `track` variant (default: 20% alpha of `color`). */
24
24
  trackColor?: string;
@@ -30,7 +30,7 @@ export interface EvSpinnerProps {
30
30
  declare const _default: import('vue').DefineComponent<EvSpinnerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvSpinnerProps> & Readonly<{}>, {
31
31
  size: EvSpinnerSize;
32
32
  variant: EvSpinnerVariant;
33
- label: string;
34
33
  color: string;
34
+ label: string;
35
35
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
36
36
  export default _default;
@@ -0,0 +1,16 @@
1
+ import { ChartTooltipStyle } from './useChartTheme.ts';
2
+ export interface ChartTooltipItem {
3
+ label: string;
4
+ color: string;
5
+ value: string | number;
6
+ }
7
+ type __VLS_Props = {
8
+ visible: boolean;
9
+ x: number;
10
+ y: number;
11
+ title?: string;
12
+ items: ChartTooltipItem[];
13
+ style: ChartTooltipStyle;
14
+ };
15
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import { ChartRow } from './useCartesianFrame.ts';
2
+ export interface EvxAreaChartProps {
3
+ data: ChartRow[];
4
+ xKey?: string;
5
+ yKeys?: string[];
6
+ seriesLabels?: string[];
7
+ height?: number;
8
+ }
9
+ declare const _default: import('vue').DefineComponent<EvxAreaChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxAreaChartProps> & Readonly<{}>, {
10
+ height: number;
11
+ xKey: string;
12
+ yKeys: string[];
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
14
+ wrapperRef: HTMLDivElement;
15
+ }, HTMLDivElement>;
16
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import { ChartRow } from './useCartesianFrame.ts';
2
+ export interface EvxBarChartProps {
3
+ data: ChartRow[];
4
+ xKey?: string;
5
+ yKeys?: string[];
6
+ seriesLabels?: string[];
7
+ height?: number;
8
+ }
9
+ declare const _default: import('vue').DefineComponent<EvxBarChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxBarChartProps> & Readonly<{}>, {
10
+ height: number;
11
+ xKey: string;
12
+ yKeys: string[];
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
14
+ wrapperRef: HTMLDivElement;
15
+ }, HTMLDivElement>;
16
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { ChartRow } from './useCartesianFrame.ts';
2
+ export interface EvxComposedChartProps {
3
+ data: ChartRow[];
4
+ xKey?: string;
5
+ barKeys?: string[];
6
+ lineKeys?: string[];
7
+ seriesLabels?: string[];
8
+ height?: number;
9
+ }
10
+ declare const _default: import('vue').DefineComponent<EvxComposedChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxComposedChartProps> & Readonly<{}>, {
11
+ height: number;
12
+ xKey: string;
13
+ barKeys: string[];
14
+ lineKeys: string[];
15
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
16
+ wrapperRef: HTMLDivElement;
17
+ }, HTMLDivElement>;
18
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import { ChartRow } from './useCartesianFrame.ts';
2
+ export interface EvxLineChartProps {
3
+ data: ChartRow[];
4
+ xKey?: string;
5
+ yKeys?: string[];
6
+ seriesLabels?: string[];
7
+ height?: number;
8
+ }
9
+ declare const _default: import('vue').DefineComponent<EvxLineChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxLineChartProps> & Readonly<{}>, {
10
+ height: number;
11
+ xKey: string;
12
+ yKeys: string[];
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
14
+ wrapperRef: HTMLDivElement;
15
+ }, HTMLDivElement>;
16
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ import { ChartRow } from './useCartesianFrame.ts';
2
+ export interface EvxPieChartProps {
3
+ data: ChartRow[];
4
+ nameKey?: string;
5
+ valueKey?: string;
6
+ donut?: boolean;
7
+ height?: number;
8
+ }
9
+ declare const _default: import('vue').DefineComponent<EvxPieChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxPieChartProps> & Readonly<{}>, {
10
+ height: number;
11
+ nameKey: string;
12
+ valueKey: string;
13
+ donut: boolean;
14
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
15
+ wrapperRef: HTMLDivElement;
16
+ }, HTMLDivElement>;
17
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import { ChartRow } from './useCartesianFrame.ts';
2
+ export interface EvxRadarChartProps {
3
+ data: ChartRow[];
4
+ nameKey?: string;
5
+ valueKeys?: string[];
6
+ seriesLabels?: string[];
7
+ height?: number;
8
+ }
9
+ declare const _default: import('vue').DefineComponent<EvxRadarChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxRadarChartProps> & Readonly<{}>, {
10
+ height: number;
11
+ nameKey: string;
12
+ valueKeys: string[];
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
14
+ wrapperRef: HTMLDivElement;
15
+ }, HTMLDivElement>;
16
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import { ChartRow } from './useCartesianFrame.ts';
2
+ export interface EvxRadialChartProps {
3
+ data: ChartRow[];
4
+ nameKey?: string;
5
+ valueKey?: string;
6
+ max?: number;
7
+ height?: number;
8
+ }
9
+ declare const _default: import('vue').DefineComponent<EvxRadialChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxRadialChartProps> & Readonly<{}>, {
10
+ height: number;
11
+ nameKey: string;
12
+ valueKey: string;
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
14
+ wrapperRef: HTMLDivElement;
15
+ }, HTMLDivElement>;
16
+ export default _default;
@@ -0,0 +1,8 @@
1
+ export { default as EvxAreaChart, type EvxAreaChartProps } from './EvxAreaChart.vue';
2
+ export { default as EvxBarChart, type EvxBarChartProps } from './EvxBarChart.vue';
3
+ export { default as EvxLineChart, type EvxLineChartProps } from './EvxLineChart.vue';
4
+ export { default as EvxPieChart, type EvxPieChartProps } from './EvxPieChart.vue';
5
+ export { default as EvxRadarChart, type EvxRadarChartProps } from './EvxRadarChart.vue';
6
+ export { default as EvxRadialChart, type EvxRadialChartProps } from './EvxRadialChart.vue';
7
+ export { default as EvxComposedChart, type EvxComposedChartProps } from './EvxComposedChart.vue';
8
+ export type { ChartRow } from './useCartesianFrame.ts';
@@ -0,0 +1,38 @@
1
+ import { Ref } from 'vue';
2
+ export type ChartRow = Record<string, number | string>;
3
+ interface FrameOptions {
4
+ wrapperRef: Ref<HTMLElement | null>;
5
+ data: () => ChartRow[];
6
+ xKey: () => string;
7
+ yKeys: () => string[];
8
+ height: () => number;
9
+ mode?: 'point' | 'band';
10
+ bandPadding?: number;
11
+ }
12
+ export declare const CHART_MARGIN: {
13
+ top: number;
14
+ right: number;
15
+ bottom: number;
16
+ left: number;
17
+ };
18
+ export declare function useCartesianFrame(opts: FrameOptions): {
19
+ width: Ref<number, number>;
20
+ margin: {
21
+ top: number;
22
+ right: number;
23
+ bottom: number;
24
+ left: number;
25
+ };
26
+ innerW: import('vue').ComputedRef<number>;
27
+ innerH: import('vue').ComputedRef<number>;
28
+ categories: import('vue').ComputedRef<string[]>;
29
+ xPoint: import('vue').ComputedRef<import('d3-scale').ScalePoint<string>>;
30
+ xBand: import('vue').ComputedRef<import('d3-scale').ScaleBand<string>>;
31
+ y: import('vue').ComputedRef<import('d3-scale').ScaleLinear<number, number, never>>;
32
+ yTicks: import('vue').ComputedRef<number[]>;
33
+ maxY: import('vue').ComputedRef<number>;
34
+ hoverIndex: Ref<number | null, number | null>;
35
+ onMove: (e: MouseEvent) => void;
36
+ onLeave: () => void;
37
+ };
38
+ export {};
@@ -0,0 +1,22 @@
1
+ export interface ChartTooltipStyle {
2
+ border: string;
3
+ radius: number;
4
+ shadow: string;
5
+ background: string;
6
+ }
7
+ export declare function useChartTheme(): {
8
+ colors: import('vue').Ref<string[], string[]>;
9
+ axis: import('vue').Ref<string, string>;
10
+ grid: import('vue').Ref<string, string>;
11
+ tooltip: import('vue').Ref<{
12
+ border: string;
13
+ radius: number;
14
+ shadow: string;
15
+ background: string;
16
+ }, ChartTooltipStyle | {
17
+ border: string;
18
+ radius: number;
19
+ shadow: string;
20
+ background: string;
21
+ }>;
22
+ };