@evixcard/evx-ui-kit 1.11.9 → 1.12.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 (38) hide show
  1. package/dist/ArrowLeftIcon.vue_vue_type_script_setup_true_lang-BgEtcSh1.cjs +2 -0
  2. package/dist/ArrowLeftIcon.vue_vue_type_script_setup_true_lang-BgEtcSh1.cjs.map +1 -0
  3. package/dist/{ArrowLeftIcon.vue_vue_type_script_setup_true_lang-Byh9rbRw.js → ArrowLeftIcon.vue_vue_type_script_setup_true_lang-CeR0YyDQ.js} +64 -35
  4. package/dist/ArrowLeftIcon.vue_vue_type_script_setup_true_lang-CeR0YyDQ.js.map +1 -0
  5. package/dist/components/EvPeriodSelector/EvPeriodSelector.vue.d.ts +1 -1
  6. package/dist/components/EvPopup/EvPopup.vue.d.ts +1 -1
  7. package/dist/components/EvResponsiveHeader/EvResponsiveHeader.spec.d.ts +1 -0
  8. package/dist/components/EvResponsiveHeader/EvResponsiveHeader.vue.d.ts +163 -0
  9. package/dist/components/EvResponsiveHeader/index.d.ts +5 -0
  10. package/dist/components/EvResponsiveHeader/settings.d.ts +28 -0
  11. package/dist/components/EvResponsiveHeader/settings.spec.d.ts +1 -0
  12. package/dist/components/EvResponsiveHeader/types.d.ts +121 -0
  13. package/dist/components/EvResponsiveHeader/useEvHeaderVisibility.d.ts +17 -0
  14. package/dist/components/EvResponsiveHeader/useEvHeaderVisibility.spec.d.ts +1 -0
  15. package/dist/components/EvixLoader/EvixLoader.spec.d.ts +1 -0
  16. package/dist/components/EvixLoader/EvixLoader.vue.d.ts +14 -0
  17. package/dist/components/EvixLoader/index.d.ts +2 -0
  18. package/dist/components/charts/EvxAreaChart.vue.d.ts +3 -1
  19. package/dist/components/charts/EvxBarChart.vue.d.ts +3 -1
  20. package/dist/components/charts/EvxComposedChart.vue.d.ts +3 -1
  21. package/dist/components/charts/EvxLineChart.vue.d.ts +3 -1
  22. package/dist/components/charts/index.d.ts +1 -1
  23. package/dist/components/charts/useCartesianFrame.d.ts +6 -0
  24. package/dist/components/charts/useCartesianFrame.spec.d.ts +1 -0
  25. package/dist/evx-ui-kit.cjs.js +6 -6
  26. package/dist/evx-ui-kit.cjs.js.map +1 -1
  27. package/dist/evx-ui-kit.css +1 -1
  28. package/dist/evx-ui-kit.es.js +8696 -7768
  29. package/dist/evx-ui-kit.es.js.map +1 -1
  30. package/dist/icons/EvixLogoMark.vue.d.ts +2 -0
  31. package/dist/icons/index.d.ts +1 -0
  32. package/dist/icons.cjs.js +1 -1
  33. package/dist/icons.es.js +6 -5
  34. package/dist/index.d.ts +2 -0
  35. package/package.json +3 -1
  36. package/dist/ArrowLeftIcon.vue_vue_type_script_setup_true_lang-Byh9rbRw.js.map +0 -1
  37. package/dist/ArrowLeftIcon.vue_vue_type_script_setup_true_lang-W32HEgIw.cjs +0 -2
  38. package/dist/ArrowLeftIcon.vue_vue_type_script_setup_true_lang-W32HEgIw.cjs.map +0 -1
@@ -0,0 +1,121 @@
1
+ export type EvHeaderVisibilityMode = 'persistent' | 'transient' | 'scroll-aware';
2
+ export type EvHeaderPosition = 'sticky' | 'fixed' | 'static';
3
+ export type EvHeaderGlowMode = 'off' | 'timed' | 'persistent';
4
+ /** Controls the translucent backdrop-filter layer behind the header. */
5
+ export type EvHeaderBlurMode = 'off' | 'on-scroll' | 'always';
6
+ /**
7
+ * Controls which responsive navigation renders an item.
8
+ * `hidden` is useful for feature flags without rebuilding item arrays.
9
+ */
10
+ export type EvHeaderItemVisibility = 'all' | 'desktop' | 'mobile' | 'hidden';
11
+ export type EvHeaderVisibilitySettings = {
12
+ mode: 'persistent';
13
+ durationMs?: never;
14
+ topThresholdPx?: never;
15
+ directionThresholdPx?: never;
16
+ } | {
17
+ mode: 'transient';
18
+ durationMs?: number;
19
+ topThresholdPx?: never;
20
+ directionThresholdPx?: never;
21
+ } | {
22
+ mode: 'scroll-aware';
23
+ durationMs?: never;
24
+ topThresholdPx?: number;
25
+ directionThresholdPx?: number;
26
+ };
27
+ export type EvHeaderGlowSettings = {
28
+ mode: 'off';
29
+ durationMs?: never;
30
+ } | {
31
+ mode: 'persistent';
32
+ durationMs?: never;
33
+ } | {
34
+ mode: 'timed';
35
+ durationMs?: number;
36
+ };
37
+ /**
38
+ * Canonical behavior contract for EvResponsiveHeader.
39
+ *
40
+ * Every field is optional and falls back to EV_RESPONSIVE_HEADER_DEFAULTS.
41
+ * Application content (labels, routes, authentication, locale and actions)
42
+ * intentionally stays outside this object.
43
+ */
44
+ export interface EvResponsiveHeaderSettings {
45
+ layout?: {
46
+ /** Minimum width at which desktop layout may render; real content must also fit. */
47
+ desktopFromPx?: number;
48
+ position?: EvHeaderPosition;
49
+ contentMaxWidth?: string;
50
+ };
51
+ visibility?: EvHeaderVisibilitySettings;
52
+ effects?: {
53
+ /** Set to `off` to remove the translucent blur backing. */
54
+ blur?: EvHeaderBlurMode;
55
+ glow?: EvHeaderGlowSettings;
56
+ };
57
+ drawer?: {
58
+ /** Panel and scrim transition duration. Reduced motion always resolves to 0. */
59
+ transitionDurationMs?: number;
60
+ };
61
+ }
62
+ export interface EvResponsiveHeaderResolvedSettings {
63
+ layout: {
64
+ desktopFromPx: number;
65
+ position: EvHeaderPosition;
66
+ contentMaxWidth: string;
67
+ };
68
+ visibility: {
69
+ mode: EvHeaderVisibilityMode;
70
+ transientDurationMs: number;
71
+ topThresholdPx: number;
72
+ directionThresholdPx: number;
73
+ };
74
+ effects: {
75
+ blur: EvHeaderBlurMode;
76
+ glow: {
77
+ mode: EvHeaderGlowMode;
78
+ durationMs: number;
79
+ };
80
+ };
81
+ drawer: {
82
+ transitionDurationMs: number;
83
+ };
84
+ }
85
+ export interface EvResponsiveHeaderItem {
86
+ /** Stable application-owned identifier used by navigation/action handlers. */
87
+ id: string;
88
+ /** Already-localized visible label. */
89
+ label: string;
90
+ /** Optional native-link fallback. Router applications can override the item slots. */
91
+ href?: string;
92
+ active?: boolean;
93
+ disabled?: boolean;
94
+ external?: boolean;
95
+ /** Items without an href are rendered as action buttons. */
96
+ kind?: 'link' | 'action';
97
+ /** Defaults to `all`. Primary items support every value; secondary items are mobile-only. */
98
+ visibleOn?: EvHeaderItemVisibility;
99
+ }
100
+ /**
101
+ * Secondary navigation is intentionally a mobile-drawer group.
102
+ * Desktop-only items belong in primaryItems, where the layout contract is explicit.
103
+ */
104
+ export type EvResponsiveHeaderSecondaryItem = Omit<EvResponsiveHeaderItem, 'visibleOn'> & {
105
+ visibleOn?: Exclude<EvHeaderItemVisibility, 'desktop'>;
106
+ };
107
+ export interface EvResponsiveHeaderClasses {
108
+ root?: string;
109
+ bar?: string;
110
+ desktopNavigation?: string;
111
+ desktopActions?: string;
112
+ mobileTrigger?: string;
113
+ scrim?: string;
114
+ panel?: string;
115
+ drawerHeader?: string;
116
+ drawerIdentity?: string;
117
+ mobileNavigation?: string;
118
+ mobileSecondaryNavigation?: string;
119
+ mobileItem?: string;
120
+ mobileFooter?: string;
121
+ }
@@ -0,0 +1,17 @@
1
+ import { MaybeRefOrGetter, WatchSource } from 'vue';
2
+ export interface EvHeaderVisibilityOptions {
3
+ enabled?: MaybeRefOrGetter<boolean>;
4
+ topThreshold?: MaybeRefOrGetter<number>;
5
+ directionThreshold?: MaybeRefOrGetter<number>;
6
+ restorationIdleMs?: MaybeRefOrGetter<number>;
7
+ }
8
+ /**
9
+ * Scroll-aware visibility with explicit user-intent detection. Browser/router
10
+ * scroll restoration is synchronized without hiding the header; wheel, touch,
11
+ * and scroll-key intent immediately restores normal direction handling.
12
+ */
13
+ export declare function useEvHeaderVisibility(resetOn: WatchSource<unknown>, options?: EvHeaderVisibilityOptions): {
14
+ isHeaderVisible: import('vue').Ref<boolean, boolean>;
15
+ isScrolled: import('vue').Ref<boolean, boolean>;
16
+ revealHeader: () => void;
17
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ export type EvixLoaderSize = 24 | 32 | 40 | 48;
2
+ export interface EvixLoaderProps {
3
+ size?: EvixLoaderSize;
4
+ label?: string;
5
+ color?: string;
6
+ decorative?: boolean;
7
+ }
8
+ declare const _default: import('vue').DefineComponent<EvixLoaderProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvixLoaderProps> & Readonly<{}>, {
9
+ size: EvixLoaderSize;
10
+ color: string;
11
+ label: string;
12
+ decorative: boolean;
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
14
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as EvixLoader } from './EvixLoader.vue';
2
+ export type { EvixLoaderProps, EvixLoaderSize } from './EvixLoader.vue';
@@ -1,10 +1,12 @@
1
- import { ChartRow } from './useCartesianFrame.ts';
1
+ import { ChartRow, ChartYDomain } from './useCartesianFrame.ts';
2
2
  export interface EvxAreaChartProps {
3
3
  data: ChartRow[];
4
4
  xKey?: string;
5
5
  yKeys?: string[];
6
6
  seriesLabels?: string[];
7
7
  height?: number;
8
+ /** Explicit y-axis extent. Omit for the default zero-based domain. */
9
+ yDomain?: ChartYDomain;
8
10
  }
9
11
  declare const _default: import('vue').DefineComponent<EvxAreaChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxAreaChartProps> & Readonly<{}>, {
10
12
  height: number;
@@ -1,10 +1,12 @@
1
- import { ChartRow } from './useCartesianFrame.ts';
1
+ import { ChartRow, ChartYDomain } from './useCartesianFrame.ts';
2
2
  export interface EvxBarChartProps {
3
3
  data: ChartRow[];
4
4
  xKey?: string;
5
5
  yKeys?: string[];
6
6
  seriesLabels?: string[];
7
7
  height?: number;
8
+ /** Explicit y-axis extent. Omit for the default zero-based domain. */
9
+ yDomain?: ChartYDomain;
8
10
  }
9
11
  declare const _default: import('vue').DefineComponent<EvxBarChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxBarChartProps> & Readonly<{}>, {
10
12
  height: number;
@@ -1,4 +1,4 @@
1
- import { ChartRow } from './useCartesianFrame.ts';
1
+ import { ChartRow, ChartYDomain } from './useCartesianFrame.ts';
2
2
  export interface EvxComposedChartProps {
3
3
  data: ChartRow[];
4
4
  xKey?: string;
@@ -6,6 +6,8 @@ export interface EvxComposedChartProps {
6
6
  lineKeys?: string[];
7
7
  seriesLabels?: string[];
8
8
  height?: number;
9
+ /** Explicit y-axis extent. Omit for the default zero-based domain. */
10
+ yDomain?: ChartYDomain;
9
11
  }
10
12
  declare const _default: import('vue').DefineComponent<EvxComposedChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxComposedChartProps> & Readonly<{}>, {
11
13
  height: number;
@@ -1,10 +1,12 @@
1
- import { ChartRow } from './useCartesianFrame.ts';
1
+ import { ChartRow, ChartYDomain } from './useCartesianFrame.ts';
2
2
  export interface EvxLineChartProps {
3
3
  data: ChartRow[];
4
4
  xKey?: string;
5
5
  yKeys?: string[];
6
6
  seriesLabels?: string[];
7
7
  height?: number;
8
+ /** Explicit y-axis extent. Omit for the default zero-based domain. */
9
+ yDomain?: ChartYDomain;
8
10
  }
9
11
  declare const _default: import('vue').DefineComponent<EvxLineChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EvxLineChartProps> & Readonly<{}>, {
10
12
  height: number;
@@ -5,4 +5,4 @@ export { default as EvxPieChart, type EvxPieChartProps } from './EvxPieChart.vue
5
5
  export { default as EvxRadarChart, type EvxRadarChartProps } from './EvxRadarChart.vue';
6
6
  export { default as EvxRadialChart, type EvxRadialChartProps } from './EvxRadialChart.vue';
7
7
  export { default as EvxComposedChart, type EvxComposedChartProps } from './EvxComposedChart.vue';
8
- export type { ChartRow } from './useCartesianFrame.ts';
8
+ export type { ChartRow, ChartYDomain } from './useCartesianFrame.ts';
@@ -1,5 +1,7 @@
1
1
  import { Ref } from 'vue';
2
2
  export type ChartRow = Record<string, number | string>;
3
+ /** Explicit y-axis extent, e.g. [90, 100] to zoom into a narrow band. */
4
+ export type ChartYDomain = [number, number];
3
5
  interface FrameOptions {
4
6
  wrapperRef: Ref<HTMLElement | null>;
5
7
  data: () => ChartRow[];
@@ -8,6 +10,7 @@ interface FrameOptions {
8
10
  height: () => number;
9
11
  mode?: 'point' | 'band';
10
12
  bandPadding?: number;
13
+ yDomain?: () => ChartYDomain | undefined;
11
14
  }
12
15
  export declare const CHART_MARGIN: {
13
16
  top: number;
@@ -29,7 +32,10 @@ export declare function useCartesianFrame(opts: FrameOptions): {
29
32
  xPoint: import('vue').ComputedRef<import('d3-scale').ScalePoint<string>>;
30
33
  xBand: import('vue').ComputedRef<import('d3-scale').ScaleBand<string>>;
31
34
  y: import('vue').ComputedRef<import('d3-scale').ScaleLinear<number, number, never>>;
35
+ yDomain: import('vue').ComputedRef<ChartYDomain>;
32
36
  yTicks: import('vue').ComputedRef<number[]>;
37
+ xTickIndices: import('vue').ComputedRef<number[]>;
38
+ xTickAnchor: (index: number) => "start" | "middle" | "end";
33
39
  maxY: import('vue').ComputedRef<number>;
34
40
  hoverIndex: Ref<number | null, number | null>;
35
41
  onMove: (e: MouseEvent) => void;
@@ -0,0 +1 @@
1
+ export {};