@evixcard/evx-ui-kit 1.11.2 → 1.11.3

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.
@@ -1,27 +1,46 @@
1
- export type EvPopupSize = 'sm' | 'md';
1
+ export type EvPopupSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
2
2
  /** Per-element class overrides, merged over the defaults via `twMerge`. */
3
3
  export interface EvPopupClasses {
4
4
  backdrop?: string;
5
5
  panel?: string;
6
6
  header?: string;
7
7
  title?: string;
8
+ /** Overrides for the top-right close button. */
9
+ closeButton?: string;
10
+ /** Overrides for the close icon inside the top-right button. */
11
+ closeIcon?: string;
8
12
  /** Overrides for the scrollable body region (the default slot wrapper). */
9
13
  body?: string;
14
+ /** Overrides for the fixed footer region (only rendered when the `#footer` slot is used). */
15
+ footer?: string;
10
16
  }
11
17
  export interface EvPopupProps {
12
18
  isOpen: boolean;
13
19
  title?: string;
14
20
  /**
15
- * Panel size preset.
16
- * - `md` (default): wider panel (`max-w-[500px]`, `rounded-lg`) with a large
17
- * title (`text-[24px] font-bold`) — used for generic informational dialogs.
18
- * - `sm`: compact panel (`max-w-sm`, `rounded-2xl`) with a smaller, near-black
19
- * title (`text-lg font-semibold text-foreground`) — designed for confirmation
20
- * modals and other action-focused flows.
21
+ * Panel size preset (max-width). `sm`/`md` are the compact defaults; `lg`/`xl`/`2xl`
22
+ * are wider presets (DEV-788, for richer forms migrated off the retired EvModal).
23
+ * - `sm`: `max-w-sm`, `rounded-2xl`.
24
+ * - `md` (default): `max-w-[500px]`, `rounded-lg`.
25
+ * - `lg`: `max-w-2xl`. `xl`: `max-w-4xl`. `2xl`: `max-w-2xl`.
21
26
  */
22
27
  size?: EvPopupSize;
23
28
  /** When `false`, the top-right close (X) button is hidden. Default: `true`. */
24
29
  showCloseButton?: boolean;
30
+ /**
31
+ * When `false`, Escape and backdrop-click no longer request close (only a
32
+ * programmatic `isOpen` change or an explicit action closes the modal) — for
33
+ * confirm/blocking dialogs. Default: `true`.
34
+ */
35
+ dismissable?: boolean;
36
+ /**
37
+ * Where to move focus when the popup opens.
38
+ * - `first` (default): let HeadlessUI focus the first focusable element.
39
+ * - `none`: focus the panel itself without auto-focusing a control.
40
+ * - any other string: query that CSS selector inside the panel and focus the
41
+ * match; fall back to `first` when nothing matches.
42
+ */
43
+ initialFocus?: 'first' | 'none' | string;
25
44
  /**
26
45
  * Backdrop style. When `true` (default), the backdrop dims and blurs the page
27
46
  * behind it (`bg-black/40 backdrop-blur-sm`). Set `false` to dim only
@@ -35,8 +54,50 @@ declare function __VLS_template(): {
35
54
  attrs: Partial<{}>;
36
55
  slots: {
37
56
  default?(_: {}): any;
57
+ footer?(_: {}): any;
58
+ };
59
+ refs: {
60
+ dialogPanelRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
61
+ as: {
62
+ type: (ObjectConstructor | StringConstructor)[];
63
+ default: string;
64
+ };
65
+ id: {
66
+ type: StringConstructor;
67
+ default: null;
68
+ };
69
+ }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
70
+ [key: string]: any;
71
+ }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
72
+ [key: string]: any;
73
+ }>[] | null, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
74
+ id: string;
75
+ as: string | Record<string, any>;
76
+ }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
77
+ P: {};
78
+ B: {};
79
+ D: {};
80
+ C: {};
81
+ M: {};
82
+ Defaults: {};
83
+ }, Readonly<import('vue').ExtractPropTypes<{
84
+ as: {
85
+ type: (ObjectConstructor | StringConstructor)[];
86
+ default: string;
87
+ };
88
+ id: {
89
+ type: StringConstructor;
90
+ default: null;
91
+ };
92
+ }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
93
+ [key: string]: any;
94
+ }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
95
+ [key: string]: any;
96
+ }>[] | null, {}, {}, {}, {
97
+ id: string;
98
+ as: string | Record<string, any>;
99
+ }> | null;
38
100
  };
39
- refs: {};
40
101
  rootEl: any;
41
102
  };
42
103
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
@@ -48,7 +109,50 @@ declare const __VLS_component: import('vue').DefineComponent<EvPopupProps, {}, {
48
109
  size: EvPopupSize;
49
110
  blur: boolean;
50
111
  showCloseButton: boolean;
51
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
112
+ dismissable: boolean;
113
+ initialFocus: "first" | "none" | string;
114
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
115
+ dialogPanelRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
116
+ as: {
117
+ type: (ObjectConstructor | StringConstructor)[];
118
+ default: string;
119
+ };
120
+ id: {
121
+ type: StringConstructor;
122
+ default: null;
123
+ };
124
+ }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
125
+ [key: string]: any;
126
+ }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
127
+ [key: string]: any;
128
+ }>[] | null, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
129
+ id: string;
130
+ as: string | Record<string, any>;
131
+ }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
132
+ P: {};
133
+ B: {};
134
+ D: {};
135
+ C: {};
136
+ M: {};
137
+ Defaults: {};
138
+ }, Readonly<import('vue').ExtractPropTypes<{
139
+ as: {
140
+ type: (ObjectConstructor | StringConstructor)[];
141
+ default: string;
142
+ };
143
+ id: {
144
+ type: StringConstructor;
145
+ default: null;
146
+ };
147
+ }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
148
+ [key: string]: any;
149
+ }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
150
+ [key: string]: any;
151
+ }>[] | null, {}, {}, {}, {
152
+ id: string;
153
+ as: string | Record<string, any>;
154
+ }> | null;
155
+ }, any>;
52
156
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
53
157
  export default _default;
54
158
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,2 +1,2 @@
1
1
  export { default as EvPopup } from './EvPopup.vue';
2
- export type { EvPopupProps, EvPopupSize } from './EvPopup.vue';
2
+ export type { EvPopupProps, EvPopupSize, EvPopupClasses } from './EvPopup.vue';