@nexdom/uimed-vue 2.0.0-beta.5 → 2.0.0-beta.51
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.
- package/AGENTS.md +129 -16
- package/README.md +1 -1
- package/dist/components.d.ts +1152 -97
- package/dist/components.js +2458 -319
- package/dist/composables.d.ts +216 -4
- package/dist/composables.js +141 -4
- package/dist/icons-H53IqH1s.js +69 -0
- package/dist/index.d.ts +3 -16
- package/dist/index.js +38 -14
- package/dist/locale-CM4o8cD_.js +12 -0
- package/dist/plugins.d.ts +17 -7
- package/dist/plugins.js +54 -3
- package/dist/styles/fonts/UnimedSlab-Regular.woff2 +0 -0
- package/dist/styles/fonts/fonts.css +5 -0
- package/dist/styles/settings.scss +6 -0
- package/dist/types-BbWo6RIy.d.ts +69 -0
- package/dist/unit-test.d.ts +2 -3
- package/dist/unit-test.js +10 -1
- package/dist/use-dialog-Bn54H-K3.js +135 -0
- package/package.json +11 -12
- package/dist/types-BPXXtbmW.d.ts +0 -5
- package/dist/use-toast-CACuYhK_.js +0 -53
package/dist/components.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r as ColorVariant, t as ButtonProps } from "./types-BbWo6RIy.js";
|
|
2
2
|
import { RouteLocationRaw } from "vue-router";
|
|
3
3
|
//#region src/components/app-bar/types.d.ts
|
|
4
4
|
/**
|
|
@@ -43,13 +43,15 @@ interface AppBarNotification {
|
|
|
43
43
|
*/
|
|
44
44
|
read?: boolean;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* Free text telling when the notification was generated, shown as is (e.g.
|
|
47
|
+
* `"10:30"`, `"Ontem"` or `"28/09/2026"`). Hidden when omitted or empty.
|
|
47
48
|
*/
|
|
48
|
-
|
|
49
|
+
when?: string;
|
|
49
50
|
}
|
|
50
51
|
interface AppBarUserProps {
|
|
51
52
|
/**
|
|
52
|
-
* Major identifier, like the user full name.
|
|
53
|
+
* Major identifier, like the user full name. Without an `img`, the
|
|
54
|
+
* avatar shows its initials (e.g. `"RP"` for `"Rafael Perini"`).
|
|
53
55
|
*/
|
|
54
56
|
title?: string;
|
|
55
57
|
/**
|
|
@@ -57,7 +59,8 @@ interface AppBarUserProps {
|
|
|
57
59
|
*/
|
|
58
60
|
subtitle?: string;
|
|
59
61
|
/**
|
|
60
|
-
* URL leading to a user picture.
|
|
62
|
+
* URL leading to a user picture. When omitted, the avatar shows the initials
|
|
63
|
+
* of the `title`, or a generic icon when there's no title either.
|
|
61
64
|
*/
|
|
62
65
|
img?: string;
|
|
63
66
|
/**
|
|
@@ -92,6 +95,84 @@ interface Option {
|
|
|
92
95
|
action?: () => void;
|
|
93
96
|
}
|
|
94
97
|
//#endregion
|
|
98
|
+
//#region src/consts/icons.d.ts
|
|
99
|
+
/**
|
|
100
|
+
* SVG path of each icon, by its name, in the order the "Ícones" guide page lists them. The paths
|
|
101
|
+
* come from `@mdi/js`, which exports one constant per icon, so the apps' bundles only take the
|
|
102
|
+
* icons used here.
|
|
103
|
+
*
|
|
104
|
+
* Every name can be passed to the components that accept an icon (e.g. `UIconButton` and the items
|
|
105
|
+
* of the navigation menu). The map is also the set of icon aliases of the underlying components,
|
|
106
|
+
* which draw some icons by name on their own (e.g. `close`, the arrows of the pagination and the
|
|
107
|
+
* checkbox marks): those names must match the aliases exactly, and a component that renders an
|
|
108
|
+
* alias missing here draws an empty icon. The unit tests of `src/consts/icons.ts` check each
|
|
109
|
+
* component that renders one.
|
|
110
|
+
*
|
|
111
|
+
* - The first names describe the icon's drawing. A name ending in `Alternative` is an alternative
|
|
112
|
+
* version of the same drawing (currently, outlined).
|
|
113
|
+
* - The others describe what the components use the icon for.
|
|
114
|
+
*
|
|
115
|
+
* To add an icon, add it here and to the list on the "Ícones" guide page (`docs/guide/icons.md`).
|
|
116
|
+
*/
|
|
117
|
+
declare const icons: {
|
|
118
|
+
home: string;
|
|
119
|
+
homeAlternative: string;
|
|
120
|
+
account: string;
|
|
121
|
+
accountAlternative: string;
|
|
122
|
+
accountGroup: string;
|
|
123
|
+
accountGroupAlternative: string;
|
|
124
|
+
calendar: string;
|
|
125
|
+
calendarAlternative: string;
|
|
126
|
+
clipboardText: string;
|
|
127
|
+
clipboardTextAlternative: string;
|
|
128
|
+
fileDocument: string;
|
|
129
|
+
fileDocumentAlternative: string;
|
|
130
|
+
flask: string;
|
|
131
|
+
flaskAlternative: string;
|
|
132
|
+
folder: string;
|
|
133
|
+
folderAlternative: string;
|
|
134
|
+
chartBox: string;
|
|
135
|
+
chartBoxAlternative: string;
|
|
136
|
+
wallet: string;
|
|
137
|
+
walletAlternative: string;
|
|
138
|
+
cog: string;
|
|
139
|
+
cogAlternative: string;
|
|
140
|
+
stethoscope: string;
|
|
141
|
+
pill: string;
|
|
142
|
+
hospital: string;
|
|
143
|
+
help: string;
|
|
144
|
+
notifications: string;
|
|
145
|
+
menu: string;
|
|
146
|
+
search: string;
|
|
147
|
+
showPassword: string;
|
|
148
|
+
hidePassword: string;
|
|
149
|
+
close: string;
|
|
150
|
+
clear: string;
|
|
151
|
+
dropdown: string;
|
|
152
|
+
subgroup: string;
|
|
153
|
+
expand: string;
|
|
154
|
+
collapse: string;
|
|
155
|
+
prev: string;
|
|
156
|
+
next: string;
|
|
157
|
+
checkboxOn: string;
|
|
158
|
+
checkboxOff: string;
|
|
159
|
+
success: string;
|
|
160
|
+
info: string;
|
|
161
|
+
warning: string;
|
|
162
|
+
error: string;
|
|
163
|
+
};
|
|
164
|
+
//#endregion
|
|
165
|
+
//#region src/consts/types.d.ts
|
|
166
|
+
/**
|
|
167
|
+
* Name of an icon available to the components that accept one (e.g. `UIconButton` and the items
|
|
168
|
+
* of the navigation menu): the content icons, such as `home` and `calendar`, and the icons the
|
|
169
|
+
* components draw on their own, such as `close` and `search`. The full list, with a preview of
|
|
170
|
+
* each icon, is on the "Ícones" guide page.
|
|
171
|
+
*
|
|
172
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/icons | Icons Guide}
|
|
173
|
+
*/
|
|
174
|
+
type Icon = keyof typeof icons;
|
|
175
|
+
//#endregion
|
|
95
176
|
//#region src/components/navigation-menu/types.d.ts
|
|
96
177
|
/**
|
|
97
178
|
* Props exposed by the {@link NavigationMenu} component.
|
|
@@ -113,6 +194,13 @@ type NavigationMenuParentItem = {
|
|
|
113
194
|
* Text to present for the group.
|
|
114
195
|
*/
|
|
115
196
|
description: string;
|
|
197
|
+
/**
|
|
198
|
+
* Icon shown before the group's description. One of the names listed on the "Ícones" guide
|
|
199
|
+
* page.
|
|
200
|
+
*
|
|
201
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/icons | Icons Guide}
|
|
202
|
+
*/
|
|
203
|
+
icon?: Icon;
|
|
116
204
|
/**
|
|
117
205
|
* Child {@link NavigationMenuItem} list.
|
|
118
206
|
*/
|
|
@@ -123,6 +211,13 @@ interface NavigationMenuItem {
|
|
|
123
211
|
* Text to present for the item.
|
|
124
212
|
*/
|
|
125
213
|
description: string;
|
|
214
|
+
/**
|
|
215
|
+
* Icon shown before the item's description. One of the names listed on the "Ícones" guide
|
|
216
|
+
* page.
|
|
217
|
+
*
|
|
218
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/icons | Icons Guide}
|
|
219
|
+
*/
|
|
220
|
+
icon?: Icon;
|
|
126
221
|
/**
|
|
127
222
|
* Route to navigate when item is clicked.
|
|
128
223
|
*/
|
|
@@ -133,6 +228,22 @@ interface NavigationMenuItem {
|
|
|
133
228
|
action?: () => void;
|
|
134
229
|
}
|
|
135
230
|
//#endregion
|
|
231
|
+
//#region src/components/footer/types.d.ts
|
|
232
|
+
/**
|
|
233
|
+
* Props of the footer shown by the {@link Main} component.
|
|
234
|
+
*/
|
|
235
|
+
type FooterProps = {
|
|
236
|
+
/**
|
|
237
|
+
* Text shown in the footer, e.g. the application version ("Versão 1.4.2").
|
|
238
|
+
* The footer is hidden when it's empty or omitted.
|
|
239
|
+
*/
|
|
240
|
+
description?: string;
|
|
241
|
+
/**
|
|
242
|
+
* Component id to use on automated tests.
|
|
243
|
+
*/
|
|
244
|
+
dataTestid?: string;
|
|
245
|
+
};
|
|
246
|
+
//#endregion
|
|
136
247
|
//#region src/components/main/types.d.ts
|
|
137
248
|
/**
|
|
138
249
|
* Props exposed by the {@link Main} component.
|
|
@@ -144,6 +255,9 @@ type MainProps = {
|
|
|
144
255
|
dataTestid?: string;
|
|
145
256
|
/**
|
|
146
257
|
* URL to logo image.
|
|
258
|
+
*
|
|
259
|
+
* The logo is decorative (`alt=""`): screen readers identify the app by
|
|
260
|
+
* the app bar title (`appBar.title`).
|
|
147
261
|
*/
|
|
148
262
|
logo?: string;
|
|
149
263
|
/**
|
|
@@ -154,6 +268,35 @@ type MainProps = {
|
|
|
154
268
|
* Navigation menu properties.
|
|
155
269
|
*/
|
|
156
270
|
navigationMenu?: NavigationMenuProps;
|
|
271
|
+
/**
|
|
272
|
+
* Footer properties. The footer is fixed at the bottom of the screen and
|
|
273
|
+
* is hidden when it's omitted or its `description` is empty.
|
|
274
|
+
*
|
|
275
|
+
* @example
|
|
276
|
+
* ```vue
|
|
277
|
+
* <u-main :footer="{ description: `Versão ${version}` }" />
|
|
278
|
+
* ```
|
|
279
|
+
*/
|
|
280
|
+
footer?: FooterProps;
|
|
281
|
+
/**
|
|
282
|
+
* Shows skeleton loaders in place of the user-related parts of the app bar
|
|
283
|
+
* and of the navigation menu items while their data is being loaded.
|
|
284
|
+
* The main content (default slot) isn't affected.
|
|
285
|
+
* @default false
|
|
286
|
+
*/
|
|
287
|
+
loading?: boolean;
|
|
288
|
+
/**
|
|
289
|
+
* Applies a color to the background of the whole app, e.g. on landing pages. Text placed
|
|
290
|
+
* directly on the background takes the color the theme pairs with it (white or black), while
|
|
291
|
+
* the app bar, the footer, sections and dialogs keep their own backgrounds. When omitted, the
|
|
292
|
+
* app uses the theme's default background.
|
|
293
|
+
*
|
|
294
|
+
* @example
|
|
295
|
+
* ```vue
|
|
296
|
+
* <u-main background="primary" />
|
|
297
|
+
* ```
|
|
298
|
+
*/
|
|
299
|
+
background?: ColorVariant;
|
|
157
300
|
};
|
|
158
301
|
//#endregion
|
|
159
302
|
//#region src/components/main/main.vue.d.ts
|
|
@@ -171,8 +314,8 @@ type MainProps = {
|
|
|
171
314
|
*
|
|
172
315
|
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/main | Main Guide}
|
|
173
316
|
*/
|
|
174
|
-
declare const _default$
|
|
175
|
-
declare const __VLS_export$
|
|
317
|
+
declare const _default$14: typeof __VLS_export$20;
|
|
318
|
+
declare const __VLS_export$20: __VLS_WithSlots$11<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<MainProps & {
|
|
176
319
|
notificationsOpen?: boolean;
|
|
177
320
|
}, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
|
|
178
321
|
"update:notificationsOpen": (value: boolean) => any;
|
|
@@ -183,84 +326,91 @@ declare const __VLS_export$10: __VLS_WithSlots$7<import("vue", { with: { "resolu
|
|
|
183
326
|
}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
|
|
184
327
|
default?: (props: {}) => any;
|
|
185
328
|
}>;
|
|
186
|
-
type __VLS_WithSlots$
|
|
329
|
+
type __VLS_WithSlots$11<T, S> = T & {
|
|
330
|
+
new (): {
|
|
331
|
+
$slots: S;
|
|
332
|
+
};
|
|
333
|
+
};
|
|
334
|
+
//#endregion
|
|
335
|
+
//#region src/components/button/button.vue.d.ts
|
|
336
|
+
/**
|
|
337
|
+
* Button component to be used throughout the application.
|
|
338
|
+
*
|
|
339
|
+
* @example
|
|
340
|
+
* ```vue
|
|
341
|
+
* <template>
|
|
342
|
+
* <u-button color="danger" @click="onClick">
|
|
343
|
+
* Confirmar
|
|
344
|
+
* </u-button>
|
|
345
|
+
* </template>
|
|
346
|
+
* ```
|
|
347
|
+
*
|
|
348
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/button | Button Guide}
|
|
349
|
+
*/
|
|
350
|
+
declare const _default$1: typeof __VLS_export$19;
|
|
351
|
+
declare const __VLS_export$19: __VLS_WithSlots$10<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {} & {
|
|
352
|
+
click: (event: MouseEvent) => any;
|
|
353
|
+
}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<ButtonProps> & Readonly<{
|
|
354
|
+
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
355
|
+
}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
|
|
356
|
+
default?: (props: {}) => any;
|
|
357
|
+
}>;
|
|
358
|
+
type __VLS_WithSlots$10<T, S> = T & {
|
|
187
359
|
new (): {
|
|
188
360
|
$slots: S;
|
|
189
361
|
};
|
|
190
362
|
};
|
|
191
363
|
//#endregion
|
|
192
|
-
//#region src/components/button/types.d.ts
|
|
193
|
-
type ButtonVariant = "primary" | "secondary" | "ghost";
|
|
364
|
+
//#region src/components/icon-button/types.d.ts
|
|
194
365
|
/**
|
|
195
|
-
* Props exposed by the {@link
|
|
366
|
+
* Props exposed by the {@link IconButton} component.
|
|
196
367
|
*/
|
|
197
|
-
type
|
|
368
|
+
type IconButtonProps = {
|
|
198
369
|
/**
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
370
|
+
* Icon drawn on the button. One of the names listed on the "Ícones" guide page. Assistive
|
|
371
|
+
* technologies ignore it and read `label` instead.
|
|
372
|
+
*
|
|
373
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/icons | Icons Guide}
|
|
202
374
|
*/
|
|
203
|
-
|
|
375
|
+
icon: Icon;
|
|
204
376
|
/**
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
377
|
+
* Accessible name of the button, read by assistive technologies instead of the icon. Describe
|
|
378
|
+
* the action the button performs (e.g. "Editar paciente"), not the icon's drawing (e.g.
|
|
379
|
+
* "Lápis").
|
|
208
380
|
*/
|
|
209
|
-
|
|
381
|
+
label: string;
|
|
210
382
|
/**
|
|
211
383
|
* Applies a color to the button.
|
|
212
384
|
* One of `primary`, `secondary`, `positive`, `informative`, `caution`, or `danger`.
|
|
213
385
|
* @default "primary"
|
|
214
386
|
*/
|
|
215
387
|
color?: ColorVariant;
|
|
216
|
-
/**
|
|
217
|
-
* Removes the ability to click or target the button.
|
|
218
|
-
* @default false
|
|
219
|
-
*/
|
|
220
|
-
disabled?: boolean;
|
|
221
|
-
/**
|
|
222
|
-
* Displays a loading indicator on the button, disabling interaction.
|
|
223
|
-
* @default false
|
|
224
|
-
*/
|
|
225
|
-
loading?: boolean;
|
|
226
|
-
/**
|
|
227
|
-
* Associated [form](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/form) id.
|
|
228
|
-
*/
|
|
229
|
-
form?: string;
|
|
230
388
|
/**
|
|
231
389
|
* Component id to use on automated tests.
|
|
232
390
|
*/
|
|
233
391
|
dataTestid?: string;
|
|
234
392
|
};
|
|
235
393
|
//#endregion
|
|
236
|
-
//#region src/components/button/button.vue.d.ts
|
|
394
|
+
//#region src/components/icon-button/icon-button.vue.d.ts
|
|
237
395
|
/**
|
|
238
|
-
* Button
|
|
396
|
+
* Button that shows only an icon, for actions whose icon is enough to identify them, such as
|
|
397
|
+
* editing a record of a list. Its `label` is the name assistive technologies read.
|
|
239
398
|
*
|
|
240
399
|
* @example
|
|
241
400
|
* ```vue
|
|
242
401
|
* <template>
|
|
243
|
-
*
|
|
244
|
-
* Confirmar
|
|
245
|
-
* </u-button>
|
|
402
|
+
* <u-icon-button icon="cog" label="Configurações" @click="onClick" />
|
|
246
403
|
* </template>
|
|
247
404
|
* ```
|
|
248
405
|
*
|
|
249
|
-
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/button |
|
|
406
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/icon-button | IconButton Guide}
|
|
250
407
|
*/
|
|
251
|
-
declare const _default: typeof __VLS_export$
|
|
252
|
-
declare const __VLS_export$
|
|
408
|
+
declare const _default$11: typeof __VLS_export$18;
|
|
409
|
+
declare const __VLS_export$18: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<IconButtonProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {} & {
|
|
253
410
|
click: (event: MouseEvent) => any;
|
|
254
|
-
}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<
|
|
411
|
+
}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<IconButtonProps> & Readonly<{
|
|
255
412
|
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
256
|
-
}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any
|
|
257
|
-
default?: (props: {}) => any;
|
|
258
|
-
}>;
|
|
259
|
-
type __VLS_WithSlots$6<T, S> = T & {
|
|
260
|
-
new (): {
|
|
261
|
-
$slots: S;
|
|
262
|
-
};
|
|
263
|
-
};
|
|
413
|
+
}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>;
|
|
264
414
|
//#endregion
|
|
265
415
|
//#region src/components/inputs/text-field/types.d.ts
|
|
266
416
|
type TextFieldVariant = "primary" | "secondary";
|
|
@@ -278,6 +428,10 @@ type TextFieldProps = {
|
|
|
278
428
|
/**
|
|
279
429
|
* Applies a distinct behavior to the field.
|
|
280
430
|
* One of `text`, `phone`, `email`, `url`, `password` or `search`.
|
|
431
|
+
*
|
|
432
|
+
* With `password`, the field hides its value and shows a "Mostrar senha"
|
|
433
|
+
* button that toggles between showing and hiding it. The value hides again
|
|
434
|
+
* when the button is pressed again or the type changes.
|
|
281
435
|
* @default "text"
|
|
282
436
|
*/
|
|
283
437
|
type?: TextFieldType;
|
|
@@ -287,7 +441,9 @@ type TextFieldProps = {
|
|
|
287
441
|
*/
|
|
288
442
|
disabled?: boolean;
|
|
289
443
|
/**
|
|
290
|
-
* Displays a loading indicator on the input.
|
|
444
|
+
* Displays a loading indicator on the input. The field keeps its label as
|
|
445
|
+
* accessible name and is marked as busy, and assistive technologies ignore
|
|
446
|
+
* the indicator.
|
|
291
447
|
* @default false
|
|
292
448
|
*/
|
|
293
449
|
loading?: boolean;
|
|
@@ -326,6 +482,120 @@ type TextFieldProps = {
|
|
|
326
482
|
dataTestid?: string;
|
|
327
483
|
};
|
|
328
484
|
//#endregion
|
|
485
|
+
//#region src/components/inputs/autocomplete-field/types.d.ts
|
|
486
|
+
/**
|
|
487
|
+
* Autocomplete/Combobox item type that can be either a string or an object with label and value.
|
|
488
|
+
*/
|
|
489
|
+
type AutocompleteItem<T = string> = string | {
|
|
490
|
+
label: string;
|
|
491
|
+
value: T;
|
|
492
|
+
};
|
|
493
|
+
/**
|
|
494
|
+
* Props exposed by the {@link AutocompleteField} component.
|
|
495
|
+
*/
|
|
496
|
+
type AutocompleteFieldProps<T = string, Multiple extends boolean = false> = {
|
|
497
|
+
/**
|
|
498
|
+
* Applies a distinct style variation to the field.
|
|
499
|
+
* One of `primary` or `secondary`.
|
|
500
|
+
* @default "primary"
|
|
501
|
+
*/
|
|
502
|
+
variant?: TextFieldVariant;
|
|
503
|
+
/**
|
|
504
|
+
* Removes the ability to click or target the field.
|
|
505
|
+
* @default false
|
|
506
|
+
*/
|
|
507
|
+
disabled?: boolean;
|
|
508
|
+
/**
|
|
509
|
+
* Displays a loading indicator on the input. The field keeps its label as
|
|
510
|
+
* accessible name and is marked as busy, and assistive technologies ignore
|
|
511
|
+
* the indicator.
|
|
512
|
+
* @default false
|
|
513
|
+
*/
|
|
514
|
+
loading?: boolean;
|
|
515
|
+
/**
|
|
516
|
+
* Displays clear action.
|
|
517
|
+
* @default false
|
|
518
|
+
*/
|
|
519
|
+
clearable?: boolean;
|
|
520
|
+
/**
|
|
521
|
+
* Prevent value changes.
|
|
522
|
+
* @default false
|
|
523
|
+
*/
|
|
524
|
+
readonly?: boolean;
|
|
525
|
+
/**
|
|
526
|
+
* Add rules to require field to be filled before form submission.
|
|
527
|
+
* @default false
|
|
528
|
+
*/
|
|
529
|
+
required?: boolean;
|
|
530
|
+
/**
|
|
531
|
+
* Field label.
|
|
532
|
+
*/
|
|
533
|
+
label?: string;
|
|
534
|
+
/**
|
|
535
|
+
* Field placeholder.
|
|
536
|
+
*/
|
|
537
|
+
placeholder?: string;
|
|
538
|
+
/**
|
|
539
|
+
* Field message to show and direct user to fill field correctly.
|
|
540
|
+
*
|
|
541
|
+
* This message will be replaced when there's an error message to be shown.
|
|
542
|
+
*/
|
|
543
|
+
hint?: string;
|
|
544
|
+
/**
|
|
545
|
+
* Component id to use on automated tests.
|
|
546
|
+
*/
|
|
547
|
+
dataTestid?: string;
|
|
548
|
+
/**
|
|
549
|
+
* Used to prevent user from adding new values to the list.
|
|
550
|
+
* @default false
|
|
551
|
+
*/
|
|
552
|
+
strict?: boolean;
|
|
553
|
+
/**
|
|
554
|
+
* Allow selecting/typing more than one value.
|
|
555
|
+
*
|
|
556
|
+
* Passing the literal `true` narrows `modelValue` and `update:modelValue`
|
|
557
|
+
* to `T[]` instead of `T`.
|
|
558
|
+
* @default false
|
|
559
|
+
*/
|
|
560
|
+
multiple?: Multiple;
|
|
561
|
+
/**
|
|
562
|
+
* List of autocomplete items. Can be strings or objects with label and value.
|
|
563
|
+
* @default []
|
|
564
|
+
*/
|
|
565
|
+
items?: AutocompleteItem<T>[];
|
|
566
|
+
};
|
|
567
|
+
//#endregion
|
|
568
|
+
//#region src/components/inputs/autocomplete-field/autocomplete-field.vue.d.ts
|
|
569
|
+
/**
|
|
570
|
+
* Select field component to be used throughout the application.
|
|
571
|
+
*
|
|
572
|
+
* @example
|
|
573
|
+
* ```vue
|
|
574
|
+
* <template>
|
|
575
|
+
* <u-autocomplete-field label="Country" :items="['Brazil', 'Argentina']" />
|
|
576
|
+
* </template>
|
|
577
|
+
* ```
|
|
578
|
+
*
|
|
579
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/autocomplete-field | AutocompleteField Guide}
|
|
580
|
+
*/
|
|
581
|
+
declare const _default: typeof __VLS_export$17;
|
|
582
|
+
declare const __VLS_export$17: <T = string, Multiple extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal$2<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
583
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal$2<(AutocompleteFieldProps<T, Multiple> & {
|
|
584
|
+
modelValue?: Multiple extends true ? T[] : T;
|
|
585
|
+
}) & {
|
|
586
|
+
"onUpdate:modelValue"?: ((value: Multiple extends true ? T[] : T | undefined) => any) | undefined;
|
|
587
|
+
}> & (typeof globalThis extends {
|
|
588
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
589
|
+
} ? P : {});
|
|
590
|
+
expose: (exposed: {}) => void;
|
|
591
|
+
attrs: any;
|
|
592
|
+
slots: {};
|
|
593
|
+
emit: (event: "update:modelValue", value: Multiple extends true ? T[] : T | undefined) => void;
|
|
594
|
+
}>) => import("vue").VNode & {
|
|
595
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
596
|
+
};
|
|
597
|
+
type __VLS_PrettifyLocal$2<T> = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};
|
|
598
|
+
//#endregion
|
|
329
599
|
//#region src/components/inputs/text-field/text-field.vue.d.ts
|
|
330
600
|
/**
|
|
331
601
|
* Text field component to be used throughout the application.
|
|
@@ -339,8 +609,8 @@ type TextFieldProps = {
|
|
|
339
609
|
*
|
|
340
610
|
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/text-field | TextField Guide}
|
|
341
611
|
*/
|
|
342
|
-
declare const _default$
|
|
343
|
-
declare const __VLS_export$
|
|
612
|
+
declare const _default$20: typeof __VLS_export$16;
|
|
613
|
+
declare const __VLS_export$16: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<TextFieldProps & {
|
|
344
614
|
modelValue?: string;
|
|
345
615
|
}, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
|
|
346
616
|
"update:modelValue": (value: string) => any;
|
|
@@ -402,9 +672,9 @@ type CheckboxProps<T = boolean> = {
|
|
|
402
672
|
*
|
|
403
673
|
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/checkbox | Checkbox Guide}
|
|
404
674
|
*/
|
|
405
|
-
declare const _default$
|
|
406
|
-
declare const __VLS_export$
|
|
407
|
-
props: import("vue").PublicProps & __VLS_PrettifyLocal<(CheckboxProps<boolean | T> & {
|
|
675
|
+
declare const _default$2: typeof __VLS_export$15;
|
|
676
|
+
declare const __VLS_export$15: <T = any>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal$1<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
677
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal$1<(CheckboxProps<boolean | T> & {
|
|
408
678
|
modelValue?: T;
|
|
409
679
|
}) & {
|
|
410
680
|
"onUpdate:modelValue"?: ((value: T) => any) | undefined;
|
|
@@ -418,49 +688,378 @@ declare const __VLS_export$7: <T = any>(__VLS_props: NonNullable<Awaited<typeof
|
|
|
418
688
|
}>) => import("vue").VNode & {
|
|
419
689
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
420
690
|
};
|
|
421
|
-
type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};
|
|
691
|
+
type __VLS_PrettifyLocal$1<T> = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};
|
|
422
692
|
//#endregion
|
|
423
|
-
//#region src/components/
|
|
693
|
+
//#region src/components/inputs/date-time-field/types.d.ts
|
|
694
|
+
type DateTimeFieldVariant = TextFieldVariant;
|
|
695
|
+
type DateTimeFieldType = "date" | "time" | "datetime";
|
|
424
696
|
/**
|
|
425
|
-
* Props exposed by the {@link
|
|
697
|
+
* Props exposed by the {@link DateTimeField} component.
|
|
426
698
|
*/
|
|
427
|
-
type
|
|
699
|
+
type DateTimeFieldProps = {
|
|
700
|
+
/**
|
|
701
|
+
* Applies a distinct style variation to the field.
|
|
702
|
+
* One of `primary` or `secondary`.
|
|
703
|
+
* @default "primary"
|
|
704
|
+
*/
|
|
705
|
+
variant?: DateTimeFieldVariant;
|
|
706
|
+
/**
|
|
707
|
+
* Defines which pickers are available and the format of the value.
|
|
708
|
+
*
|
|
709
|
+
* - `date`: value formatted as `YYYY-MM-DD` (e.g. `2026-09-24`);
|
|
710
|
+
* - `time`: value formatted as `HH:mm`, 24h (e.g. `14:30`);
|
|
711
|
+
* - `datetime`: value formatted as `YYYY-MM-DDTHH:mm` (e.g. `2026-09-24T14:30`).
|
|
712
|
+
* @default "datetime"
|
|
713
|
+
*/
|
|
714
|
+
type?: DateTimeFieldType;
|
|
715
|
+
/**
|
|
716
|
+
* Minimum allowed value, in the same format as the value for the current `type`.
|
|
717
|
+
*
|
|
718
|
+
* Earlier options can't be picked, and an earlier value shows an error message.
|
|
719
|
+
* For `datetime`, the time limit only applies to the minimum's own date.
|
|
720
|
+
*/
|
|
721
|
+
min?: string;
|
|
722
|
+
/**
|
|
723
|
+
* Maximum allowed value, in the same format as the value for the current `type`.
|
|
724
|
+
*
|
|
725
|
+
* Later options can't be picked, and a later value shows an error message.
|
|
726
|
+
* For `datetime`, the time limit only applies to the maximum's own date.
|
|
727
|
+
*/
|
|
728
|
+
max?: string;
|
|
729
|
+
/**
|
|
730
|
+
* Removes the ability to click or target the field.
|
|
731
|
+
* @default false
|
|
732
|
+
*/
|
|
733
|
+
disabled?: boolean;
|
|
734
|
+
/**
|
|
735
|
+
* Displays a loading indicator on the input. The field keeps its label as
|
|
736
|
+
* accessible name and is marked as busy, and assistive technologies ignore
|
|
737
|
+
* the indicator.
|
|
738
|
+
* @default false
|
|
739
|
+
*/
|
|
740
|
+
loading?: boolean;
|
|
741
|
+
/**
|
|
742
|
+
* Displays clear action, which is hidden while the field is `readonly`.
|
|
743
|
+
* @default false
|
|
744
|
+
*/
|
|
745
|
+
clearable?: boolean;
|
|
746
|
+
/**
|
|
747
|
+
* Prevent value changes. The pickers won't open.
|
|
748
|
+
* @default false
|
|
749
|
+
*/
|
|
750
|
+
readonly?: boolean;
|
|
751
|
+
/**
|
|
752
|
+
* Add `rules` to require field to be filled before form submission.
|
|
753
|
+
* @default false
|
|
754
|
+
*/
|
|
755
|
+
required?: boolean;
|
|
756
|
+
/**
|
|
757
|
+
* Field label.
|
|
758
|
+
*/
|
|
759
|
+
label?: string;
|
|
760
|
+
/**
|
|
761
|
+
* Field placeholder.
|
|
762
|
+
*/
|
|
763
|
+
placeholder?: string;
|
|
764
|
+
/**
|
|
765
|
+
* Field message to show and direct user to fill field correctly.
|
|
766
|
+
*
|
|
767
|
+
* This message will be replaced when there's an error message to be shown.
|
|
768
|
+
*/
|
|
769
|
+
hint?: string;
|
|
428
770
|
/**
|
|
429
771
|
* Component id to use on automated tests.
|
|
430
772
|
*/
|
|
431
773
|
dataTestid?: string;
|
|
432
774
|
};
|
|
433
775
|
//#endregion
|
|
434
|
-
//#region src/components/
|
|
776
|
+
//#region src/components/inputs/date-time-field/date-time-field.vue.d.ts
|
|
435
777
|
/**
|
|
436
|
-
*
|
|
778
|
+
* Date and/or time field component to be used throughout the application.
|
|
779
|
+
*
|
|
780
|
+
* Its value uses the native input formats: `YYYY-MM-DD` for `date`, `HH:mm`
|
|
781
|
+
* for `time` and `YYYY-MM-DDTHH:mm` for `datetime`.
|
|
437
782
|
*
|
|
438
783
|
* @example
|
|
439
784
|
* ```vue
|
|
440
785
|
* <template>
|
|
441
|
-
* <u-
|
|
442
|
-
* <!-- uimed-components -->
|
|
443
|
-
* </u-container>
|
|
786
|
+
* <u-date-time-field v-model="birthDate" label="Data de nascimento" type="date" />
|
|
444
787
|
* <template>
|
|
445
788
|
* ```
|
|
446
789
|
*
|
|
447
|
-
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/
|
|
790
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/date-time-field | DateTimeField Guide}
|
|
448
791
|
*/
|
|
449
|
-
declare const _default$
|
|
450
|
-
declare const __VLS_export$
|
|
451
|
-
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
792
|
+
declare const _default$7: typeof __VLS_export$14;
|
|
793
|
+
declare const __VLS_export$14: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<DateTimeFieldProps & {
|
|
794
|
+
modelValue?: string;
|
|
795
|
+
}, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
|
|
796
|
+
"update:modelValue": (value: string) => any;
|
|
797
|
+
}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<DateTimeFieldProps & {
|
|
798
|
+
modelValue?: string;
|
|
799
|
+
}> & Readonly<{
|
|
800
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
801
|
+
}>, {
|
|
802
|
+
variant: DateTimeFieldVariant;
|
|
803
|
+
type: DateTimeFieldType;
|
|
804
|
+
}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>;
|
|
458
805
|
//#endregion
|
|
459
|
-
//#region src/components/
|
|
806
|
+
//#region src/components/inputs/mask-field/types.d.ts
|
|
807
|
+
type MaskFieldVariant = TextFieldVariant;
|
|
460
808
|
/**
|
|
461
|
-
*
|
|
809
|
+
* Masks the library provides:
|
|
810
|
+
*
|
|
811
|
+
* - `cpf`: `###.###.###-##` (e.g. `123.456.789-09`);
|
|
812
|
+
* - `cnpj`: `##.###.###/####-##`, where the first 12 positions also accept
|
|
813
|
+
* letters, typed in uppercase or lowercase and kept in uppercase (e.g.
|
|
814
|
+
* `12.345.678/0001-95` or the alphanumeric `12.ABC.345/01DE-35`);
|
|
815
|
+
* - `cep`: `#####-###` (e.g. `01310-100`);
|
|
816
|
+
* - `phone`: `(##) #####-####` (e.g. `(11) 91234-5678`);
|
|
817
|
+
* - `date`: `##/##/####` (e.g. `31/12/2026`), formatting only.
|
|
818
|
+
*/
|
|
819
|
+
type MaskFieldPreset = "cpf" | "cnpj" | "cep" | "phone" | "date";
|
|
820
|
+
/**
|
|
821
|
+
* A preset name, or the mask itself, where `#` is a digit (0–9) and any other
|
|
822
|
+
* character, letters included, is a literal inserted automatically (e.g.
|
|
823
|
+
* `####-##/####` or `Nº ####`).
|
|
824
|
+
*
|
|
825
|
+
* A custom mask must contain at least one `#`, so a misspelled preset (e.g.
|
|
826
|
+
* `"cpff"`) is a type error.
|
|
827
|
+
*
|
|
828
|
+
* @example
|
|
829
|
+
* ```ts
|
|
830
|
+
* const preset: MaskFieldMask = "cpf";
|
|
831
|
+
* const custom: MaskFieldMask = "####-##/####";
|
|
832
|
+
* const withLetters: MaskFieldMask = "Nº ####";
|
|
833
|
+
* ```
|
|
834
|
+
*/
|
|
835
|
+
type MaskFieldMask = MaskFieldPreset | `${string}#${string}`;
|
|
836
|
+
/**
|
|
837
|
+
* Props exposed by the {@link MaskField} component.
|
|
838
|
+
*/
|
|
839
|
+
type MaskFieldProps = {
|
|
840
|
+
/**
|
|
841
|
+
* Applies a distinct style variation to the field.
|
|
842
|
+
* One of `primary` or `secondary`.
|
|
843
|
+
* @default "primary"
|
|
844
|
+
*/
|
|
845
|
+
variant?: MaskFieldVariant;
|
|
846
|
+
/**
|
|
847
|
+
* Mask applied to the value while the user types. One of the presets
|
|
848
|
+
* (`cpf`, `cnpj`, `cep`, `phone` or `date`), or the mask itself, where `#`
|
|
849
|
+
* is a digit (0–9) and any other character, letters included, is a literal
|
|
850
|
+
* inserted automatically (e.g. `####-##/####` or `Nº ####`). A custom mask
|
|
851
|
+
* must contain at least one `#`.
|
|
852
|
+
*
|
|
853
|
+
* Only digits are accepted, up to the number of `#` in the mask, except in
|
|
854
|
+
* the first 12 positions of `cnpj`, which also accept letters (A–Z, without
|
|
855
|
+
* accents, typed in uppercase or lowercase) for the alphanumeric CNPJ (only
|
|
856
|
+
* with `cnpj`: the custom mask `##.###.###/####-##` accepts only digits). The
|
|
857
|
+
* `v-model` holds only these characters, with letters in uppercase (e.g.
|
|
858
|
+
* `12345678909` for `cpf`, and `12345678000195` or `12ABC34501DE35` for
|
|
859
|
+
* `cnpj`). A literal the user could also type, such as a fixed digit
|
|
860
|
+
* (`0800 ###-####`), isn't supported: where the literal is expected, the
|
|
861
|
+
* same character is read as the literal.
|
|
862
|
+
*
|
|
863
|
+
* Editing in the middle of the value shifts the characters after it, and one
|
|
864
|
+
* that doesn't fit its new position (e.g. a letter of `cnpj` shifted into
|
|
865
|
+
* the last 2 positions) is discarded.
|
|
866
|
+
*
|
|
867
|
+
* The `cpf` and `cnpj` masks don't validate check digits.
|
|
868
|
+
*
|
|
869
|
+
* Changing it keeps the `v-model`: a value that doesn't fit the new mask
|
|
870
|
+
* (e.g. longer than it) is displayed cut and fails validation with "Valor
|
|
871
|
+
* inválido".
|
|
872
|
+
*/
|
|
873
|
+
mask: MaskFieldMask;
|
|
874
|
+
/**
|
|
875
|
+
* Removes the ability to click or target the field.
|
|
876
|
+
* @default false
|
|
877
|
+
*/
|
|
878
|
+
disabled?: boolean;
|
|
879
|
+
/**
|
|
880
|
+
* Displays a loading indicator on the input. The field keeps its label as
|
|
881
|
+
* accessible name and is marked as busy, and assistive technologies ignore
|
|
882
|
+
* the indicator.
|
|
883
|
+
* @default false
|
|
884
|
+
*/
|
|
885
|
+
loading?: boolean;
|
|
886
|
+
/**
|
|
887
|
+
* Displays clear action.
|
|
888
|
+
* @default false
|
|
889
|
+
*/
|
|
890
|
+
clearable?: boolean;
|
|
891
|
+
/**
|
|
892
|
+
* Prevent value changes.
|
|
893
|
+
* @default false
|
|
894
|
+
*/
|
|
895
|
+
readonly?: boolean;
|
|
896
|
+
/**
|
|
897
|
+
* Add `rules` to require field to be filled before form submission.
|
|
898
|
+
* @default false
|
|
899
|
+
*/
|
|
900
|
+
required?: boolean;
|
|
901
|
+
/**
|
|
902
|
+
* Field label.
|
|
903
|
+
*/
|
|
904
|
+
label?: string;
|
|
905
|
+
/**
|
|
906
|
+
* Field placeholder. Defaults to the mask, with `0` in place of each `#`,
|
|
907
|
+
* e.g. `000.000.000-00` for `cpf`, `00.000.000/0000-00` for `cnpj` and
|
|
908
|
+
* `Nº 0000` for `Nº ####`.
|
|
909
|
+
*/
|
|
910
|
+
placeholder?: string;
|
|
911
|
+
/**
|
|
912
|
+
* Field message to show and direct user to fill field correctly.
|
|
913
|
+
*
|
|
914
|
+
* This message will be replaced when there's an error message to be shown.
|
|
915
|
+
*/
|
|
916
|
+
hint?: string;
|
|
917
|
+
/**
|
|
918
|
+
* Component id to use on automated tests.
|
|
919
|
+
*/
|
|
920
|
+
dataTestid?: string;
|
|
921
|
+
};
|
|
922
|
+
//#endregion
|
|
923
|
+
//#region src/components/inputs/mask-field/mask-field.vue.d.ts
|
|
924
|
+
/**
|
|
925
|
+
* Text field that masks the value while the user types, such as CPF, CNPJ
|
|
926
|
+
* (numeric or alphanumeric), CEP, phone or a custom mask. Its value holds only
|
|
927
|
+
* the typed characters, without the mask's literals and with letters in
|
|
928
|
+
* uppercase.
|
|
929
|
+
*
|
|
930
|
+
* @example
|
|
931
|
+
* ```vue
|
|
932
|
+
* <template>
|
|
933
|
+
* <u-mask-field v-model="cpf" label="CPF" mask="cpf" />
|
|
934
|
+
* <u-mask-field v-model="protocol" label="Protocolo" mask="####-##/####" />
|
|
935
|
+
* </template>
|
|
936
|
+
* ```
|
|
937
|
+
*
|
|
938
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/mask-field | MaskField Guide}
|
|
939
|
+
*/
|
|
940
|
+
declare const _default$15: typeof __VLS_export$13;
|
|
941
|
+
declare const __VLS_export$13: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<MaskFieldProps & {
|
|
942
|
+
modelValue?: string;
|
|
943
|
+
}, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
|
|
944
|
+
"update:modelValue": (value: string) => any;
|
|
945
|
+
}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<MaskFieldProps & {
|
|
946
|
+
modelValue?: string;
|
|
947
|
+
}> & Readonly<{
|
|
948
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
949
|
+
}>, {
|
|
950
|
+
variant: MaskFieldVariant;
|
|
951
|
+
}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>;
|
|
952
|
+
//#endregion
|
|
953
|
+
//#region src/components/grid/container/types.d.ts
|
|
954
|
+
/**
|
|
955
|
+
* Props exposed by the {@link Container} component.
|
|
956
|
+
*/
|
|
957
|
+
type ContainerProps = {
|
|
958
|
+
/**
|
|
959
|
+
* Stretches the container to the whole height of its parent, which must have a height of its
|
|
960
|
+
* own, e.g. the content area of `UMain`.
|
|
961
|
+
* @default false
|
|
962
|
+
*/
|
|
963
|
+
fullHeight?: boolean;
|
|
964
|
+
/**
|
|
965
|
+
* Component id to use on automated tests.
|
|
966
|
+
*/
|
|
967
|
+
dataTestid?: string;
|
|
968
|
+
};
|
|
969
|
+
//#endregion
|
|
970
|
+
//#region src/components/grid/container/container.vue.d.ts
|
|
971
|
+
/**
|
|
972
|
+
* Container component to be placed at the top of the component tree.
|
|
973
|
+
*
|
|
974
|
+
* @example
|
|
975
|
+
* ```vue
|
|
976
|
+
* <template>
|
|
977
|
+
* <u-container>
|
|
978
|
+
* <!-- uimed-components -->
|
|
979
|
+
* </u-container>
|
|
980
|
+
* <template>
|
|
981
|
+
* ```
|
|
982
|
+
*
|
|
983
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/layout | Container Guide}
|
|
984
|
+
*/
|
|
985
|
+
declare const _default$4: typeof __VLS_export$12;
|
|
986
|
+
declare const __VLS_export$12: __VLS_WithSlots$9<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<ContainerProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<ContainerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
|
|
987
|
+
default?: (props: {}) => any;
|
|
988
|
+
}>;
|
|
989
|
+
type __VLS_WithSlots$9<T, S> = T & {
|
|
990
|
+
new (): {
|
|
991
|
+
$slots: S;
|
|
992
|
+
};
|
|
993
|
+
};
|
|
994
|
+
//#endregion
|
|
995
|
+
//#region src/composables/alignment/types.d.ts
|
|
996
|
+
/**
|
|
997
|
+
* Horizontal alignment of a component's items: to the start, to the center or to the end,
|
|
998
|
+
* following the text direction.
|
|
999
|
+
*/
|
|
1000
|
+
type AlignX = "start" | "center" | "end";
|
|
1001
|
+
/**
|
|
1002
|
+
* Vertical alignment of a component's items: to the top, to the center, to the bottom, or
|
|
1003
|
+
* stretched to the whole height available.
|
|
1004
|
+
*/
|
|
1005
|
+
type AlignY = "start" | "center" | "end" | "stretch";
|
|
1006
|
+
//#endregion
|
|
1007
|
+
//#region src/components/grid/row/types.d.ts
|
|
1008
|
+
/**
|
|
1009
|
+
* Props exposed by the {@link Row} component.
|
|
462
1010
|
*/
|
|
463
1011
|
type RowProps = {
|
|
1012
|
+
/**
|
|
1013
|
+
* Horizontal alignment of the row's columns on each line.
|
|
1014
|
+
* Available options are:
|
|
1015
|
+
* - `"start"`: aligns the columns to the start of the line;
|
|
1016
|
+
* - `"center"`: centers the columns horizontally;
|
|
1017
|
+
* - `"end"`: aligns the columns to the end of the line.
|
|
1018
|
+
*
|
|
1019
|
+
* `"start"` and `"end"` follow the text direction. It only has a visible effect when the
|
|
1020
|
+
* columns of a line don't fill it, e.g. with `cols="auto"` or sizes adding up to less than 12.
|
|
1021
|
+
* When the columns wrap into several lines, each line is aligned on its own.
|
|
1022
|
+
*
|
|
1023
|
+
* Columns sit side by side only from the `sm` breakpoint up. Below it, each column takes a
|
|
1024
|
+
* whole line, so the alignment has no visible effect.
|
|
1025
|
+
* @default "start"
|
|
1026
|
+
*/
|
|
1027
|
+
alignX?: AlignX;
|
|
1028
|
+
/**
|
|
1029
|
+
* Vertical alignment of the row's columns, relative to the tallest column on the same line.
|
|
1030
|
+
* Available options are:
|
|
1031
|
+
* - `"start"`: aligns the columns to the top;
|
|
1032
|
+
* - `"center"`: centers the columns vertically;
|
|
1033
|
+
* - `"end"`: aligns the columns to the bottom;
|
|
1034
|
+
* - `"stretch"`: stretches every column to the height of the tallest one.
|
|
1035
|
+
*
|
|
1036
|
+
* Use `"stretch"` to keep side by side columns at the same height, e.g. cards made of
|
|
1037
|
+
* `USection`s with `fullHeight`.
|
|
1038
|
+
*
|
|
1039
|
+
* Columns sit side by side only from the `sm` breakpoint up. Below it, each column takes a
|
|
1040
|
+
* whole line, so the alignment has no visible effect, unless the row has `fullHeight`: then
|
|
1041
|
+
* the columns, as a group, are aligned within the row's height.
|
|
1042
|
+
* @default "start"
|
|
1043
|
+
*/
|
|
1044
|
+
alignY?: AlignY;
|
|
1045
|
+
/**
|
|
1046
|
+
* Stretches the row to the whole height of its parent: the visible content area of `UMain`
|
|
1047
|
+
* (below its app bar) or a `UContainer` with `fullHeight`.
|
|
1048
|
+
*
|
|
1049
|
+
* Combine it with `alignY` to place the columns within that height, e.g. `alignY="center"`
|
|
1050
|
+
* and `alignX="center"` to center a login form on the screen. A row with `fullHeight` takes
|
|
1051
|
+
* the whole height by itself, so other rows next to it are pushed below the visible area.
|
|
1052
|
+
* @default false
|
|
1053
|
+
*/
|
|
1054
|
+
fullHeight?: boolean;
|
|
1055
|
+
/**
|
|
1056
|
+
* Renders the row as a list (`<ul>`), without the list's default indentation
|
|
1057
|
+
* and bullets, so assistive technologies announce its columns as the items
|
|
1058
|
+
* of a list. Use it for a grid of records that is, semantically, a list,
|
|
1059
|
+
* like cards of patients, and set `listItem` on each of its `UColumn`s.
|
|
1060
|
+
* @default false
|
|
1061
|
+
*/
|
|
1062
|
+
list?: boolean;
|
|
464
1063
|
/**
|
|
465
1064
|
* Component id to use on automated tests.
|
|
466
1065
|
*/
|
|
@@ -475,7 +1074,7 @@ type RowProps = {
|
|
|
475
1074
|
* ```vue
|
|
476
1075
|
* <template>
|
|
477
1076
|
* <u-container>
|
|
478
|
-
*
|
|
1077
|
+
* <u-row align-x="center" align-y="center">
|
|
479
1078
|
* <!-- uimed-column -->
|
|
480
1079
|
* </u-row>
|
|
481
1080
|
* </u-container>
|
|
@@ -484,11 +1083,11 @@ type RowProps = {
|
|
|
484
1083
|
*
|
|
485
1084
|
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/layout | Row Guide}
|
|
486
1085
|
*/
|
|
487
|
-
declare const _default$
|
|
488
|
-
declare const __VLS_export$
|
|
1086
|
+
declare const _default$16: typeof __VLS_export$11;
|
|
1087
|
+
declare const __VLS_export$11: __VLS_WithSlots$8<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<RowProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<RowProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
|
|
489
1088
|
default?: (props: {}) => any;
|
|
490
1089
|
}>;
|
|
491
|
-
type __VLS_WithSlots$
|
|
1090
|
+
type __VLS_WithSlots$8<T, S> = T & {
|
|
492
1091
|
new (): {
|
|
493
1092
|
$slots: S;
|
|
494
1093
|
};
|
|
@@ -507,6 +1106,13 @@ type ColumnProps = {
|
|
|
507
1106
|
* @default "12"
|
|
508
1107
|
*/
|
|
509
1108
|
cols?: Cols;
|
|
1109
|
+
/**
|
|
1110
|
+
* Renders the column as an item of a list (`<li>`), without its bullet.
|
|
1111
|
+
* Use it on every column of a `URow` with `list`, whose records are,
|
|
1112
|
+
* semantically, the items of a list.
|
|
1113
|
+
* @default false
|
|
1114
|
+
*/
|
|
1115
|
+
listItem?: boolean;
|
|
510
1116
|
/**
|
|
511
1117
|
* Component id to use on automated tests.
|
|
512
1118
|
*/
|
|
@@ -533,13 +1139,13 @@ type Cols = "auto" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10"
|
|
|
533
1139
|
*
|
|
534
1140
|
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/layout | Column Guide}
|
|
535
1141
|
*/
|
|
536
|
-
declare const _default$
|
|
537
|
-
declare const __VLS_export$
|
|
1142
|
+
declare const _default$3: typeof __VLS_export$10;
|
|
1143
|
+
declare const __VLS_export$10: __VLS_WithSlots$7<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<ColumnProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<ColumnProps> & Readonly<{}>, {
|
|
538
1144
|
cols: "12" | "auto" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11";
|
|
539
1145
|
}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
|
|
540
1146
|
default?: (props: {}) => any;
|
|
541
1147
|
}>;
|
|
542
|
-
type __VLS_WithSlots$
|
|
1148
|
+
type __VLS_WithSlots$7<T, S> = T & {
|
|
543
1149
|
new (): {
|
|
544
1150
|
$slots: S;
|
|
545
1151
|
};
|
|
@@ -576,15 +1182,15 @@ type FormProps = {
|
|
|
576
1182
|
*
|
|
577
1183
|
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/form | Form Guide}
|
|
578
1184
|
*/
|
|
579
|
-
declare const _default$
|
|
580
|
-
declare const __VLS_export$
|
|
1185
|
+
declare const _default$10: typeof __VLS_export$9;
|
|
1186
|
+
declare const __VLS_export$9: __VLS_WithSlots$6<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<FormProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {} & {
|
|
581
1187
|
submit: (event: SubmitEvent) => any;
|
|
582
1188
|
}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<FormProps> & Readonly<{
|
|
583
1189
|
onSubmit?: ((event: SubmitEvent) => any) | undefined;
|
|
584
1190
|
}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
|
|
585
1191
|
default?: (props: {}) => any;
|
|
586
1192
|
}>;
|
|
587
|
-
type __VLS_WithSlots$
|
|
1193
|
+
type __VLS_WithSlots$6<T, S> = T & {
|
|
588
1194
|
new (): {
|
|
589
1195
|
$slots: S;
|
|
590
1196
|
};
|
|
@@ -606,11 +1212,11 @@ type __VLS_WithSlots$2<T, S> = T & {
|
|
|
606
1212
|
*
|
|
607
1213
|
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/section | Section Guide}
|
|
608
1214
|
*/
|
|
609
|
-
declare const _default$
|
|
610
|
-
declare const __VLS_export$
|
|
1215
|
+
declare const _default$18: typeof __VLS_export$8;
|
|
1216
|
+
declare const __VLS_export$8: __VLS_WithSlots$5<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<{}, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, true, {}, any>, {
|
|
611
1217
|
default?: (props: {}) => any;
|
|
612
1218
|
}>;
|
|
613
|
-
type __VLS_WithSlots$
|
|
1219
|
+
type __VLS_WithSlots$5<T, S> = T & {
|
|
614
1220
|
new (): {
|
|
615
1221
|
$slots: S;
|
|
616
1222
|
};
|
|
@@ -618,6 +1224,7 @@ type __VLS_WithSlots$1<T, S> = T & {
|
|
|
618
1224
|
//#endregion
|
|
619
1225
|
//#region src/components/sections/section/types.d.ts
|
|
620
1226
|
type SectionVariant = "primary" | "secondary";
|
|
1227
|
+
type SectionTextAlign = "start" | "center" | "end";
|
|
621
1228
|
/**
|
|
622
1229
|
* Props exposed by the {@link Section} component.
|
|
623
1230
|
*/
|
|
@@ -636,6 +1243,20 @@ type SectionProps = {
|
|
|
636
1243
|
* Subtitle displayed below the title.
|
|
637
1244
|
*/
|
|
638
1245
|
subtitle?: string;
|
|
1246
|
+
/**
|
|
1247
|
+
* Horizontal alignment of the section's title, subtitle, content and actions.
|
|
1248
|
+
* Available options are:
|
|
1249
|
+
* - `"start"`: aligns the text to the start (left in left-to-right languages)
|
|
1250
|
+
* and keeps the actions at the end;
|
|
1251
|
+
* - `"center"`: centers the text and the actions;
|
|
1252
|
+
* - `"end"`: aligns the text and the actions to the end.
|
|
1253
|
+
*
|
|
1254
|
+
* Uses `start`/`end` instead of `left`/`right`, so it follows the text
|
|
1255
|
+
* direction in right-to-left languages. Nested components inherit the
|
|
1256
|
+
* alignment, unless they define their own.
|
|
1257
|
+
* @default "start"
|
|
1258
|
+
*/
|
|
1259
|
+
textAlign?: SectionTextAlign;
|
|
639
1260
|
/**
|
|
640
1261
|
* List of actions displayed at the bottom of the section, inside
|
|
641
1262
|
* `v-card-actions`. When undefined or empty, no actions area is rendered.
|
|
@@ -648,6 +1269,9 @@ type SectionProps = {
|
|
|
648
1269
|
fullWidth?: boolean;
|
|
649
1270
|
/**
|
|
650
1271
|
* Makes the section occupy 100% of its parent's height.
|
|
1272
|
+
*
|
|
1273
|
+
* Inside a `URow`, set its `alignY` to `"stretch"` so the section takes the height of the
|
|
1274
|
+
* tallest column on the same line.
|
|
651
1275
|
* @default false
|
|
652
1276
|
*/
|
|
653
1277
|
fullHeight?: boolean;
|
|
@@ -671,7 +1295,8 @@ interface SectionAction extends ButtonProps {
|
|
|
671
1295
|
*/
|
|
672
1296
|
label: string;
|
|
673
1297
|
/**
|
|
674
|
-
* Called when the action button is clicked.
|
|
1298
|
+
* Called when the action button is clicked. Not called while the action is `disabled` or
|
|
1299
|
+
* `loading`.
|
|
675
1300
|
*/
|
|
676
1301
|
onClick?: (event: MouseEvent) => void;
|
|
677
1302
|
}
|
|
@@ -692,11 +1317,11 @@ interface SectionAction extends ButtonProps {
|
|
|
692
1317
|
*
|
|
693
1318
|
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/section | Section Guide}
|
|
694
1319
|
*/
|
|
695
|
-
declare const _default$
|
|
696
|
-
declare const __VLS_export$
|
|
1320
|
+
declare const _default$17: typeof __VLS_export$7;
|
|
1321
|
+
declare const __VLS_export$7: __VLS_WithSlots$4<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<SectionProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<SectionProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
|
|
697
1322
|
default?: (props: {}) => any;
|
|
698
1323
|
}>;
|
|
699
|
-
type __VLS_WithSlots<T, S> = T & {
|
|
1324
|
+
type __VLS_WithSlots$4<T, S> = T & {
|
|
700
1325
|
new (): {
|
|
701
1326
|
$slots: S;
|
|
702
1327
|
};
|
|
@@ -767,7 +1392,437 @@ type TableProps = {
|
|
|
767
1392
|
*
|
|
768
1393
|
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/table | Table Guide}
|
|
769
1394
|
*/
|
|
1395
|
+
declare const _default$19: typeof __VLS_export$6;
|
|
1396
|
+
declare const __VLS_export$6: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<TableProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<TableProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>;
|
|
1397
|
+
//#endregion
|
|
1398
|
+
//#region src/components/details/types.d.ts
|
|
1399
|
+
type DetailsVariant = "primary" | "secondary";
|
|
1400
|
+
/**
|
|
1401
|
+
* Props exposed by the {@link Details} component.
|
|
1402
|
+
*/
|
|
1403
|
+
type DetailsProps = {
|
|
1404
|
+
/**
|
|
1405
|
+
* Applies a distinct style variation to the details.
|
|
1406
|
+
* One of `primary` or `secondary`.
|
|
1407
|
+
* @default "primary"
|
|
1408
|
+
*/
|
|
1409
|
+
variant?: DetailsVariant;
|
|
1410
|
+
/**
|
|
1411
|
+
* Title displayed on the header, which expands or collapses the content
|
|
1412
|
+
* when clicked. The header stays clickable even without a title.
|
|
1413
|
+
*/
|
|
1414
|
+
title?: string;
|
|
1415
|
+
/**
|
|
1416
|
+
* Shows a skeleton loader in place of the details while data is being
|
|
1417
|
+
* loaded.
|
|
1418
|
+
* @default false
|
|
1419
|
+
*/
|
|
1420
|
+
loading?: boolean;
|
|
1421
|
+
/**
|
|
1422
|
+
* Component id to use on automated tests.
|
|
1423
|
+
*/
|
|
1424
|
+
dataTestid?: string;
|
|
1425
|
+
};
|
|
1426
|
+
//#endregion
|
|
1427
|
+
//#region src/components/details/details.vue.d.ts
|
|
1428
|
+
/**
|
|
1429
|
+
* Details component to show content that can be expanded or collapsed by
|
|
1430
|
+
* clicking on its title. Starts collapsed.
|
|
1431
|
+
*
|
|
1432
|
+
* @example
|
|
1433
|
+
* ```vue
|
|
1434
|
+
* <template>
|
|
1435
|
+
* <u-details title="Title">
|
|
1436
|
+
* Content
|
|
1437
|
+
* </u-details>
|
|
1438
|
+
* </template>
|
|
1439
|
+
* ```
|
|
1440
|
+
*
|
|
1441
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/details | Details Guide}
|
|
1442
|
+
*/
|
|
1443
|
+
declare const _default$8: typeof __VLS_export$5;
|
|
1444
|
+
declare const __VLS_export$5: __VLS_WithSlots$3<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<DetailsProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<DetailsProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
|
|
1445
|
+
default?: (props: {}) => any;
|
|
1446
|
+
}>;
|
|
1447
|
+
type __VLS_WithSlots$3<T, S> = T & {
|
|
1448
|
+
new (): {
|
|
1449
|
+
$slots: S;
|
|
1450
|
+
};
|
|
1451
|
+
};
|
|
1452
|
+
//#endregion
|
|
1453
|
+
//#region src/components/img/types.d.ts
|
|
1454
|
+
/**
|
|
1455
|
+
* Props exposed by the {@link Img} component.
|
|
1456
|
+
*/
|
|
1457
|
+
type ImgProps = {
|
|
1458
|
+
/**
|
|
1459
|
+
* Path or URL of the image.
|
|
1460
|
+
*/
|
|
1461
|
+
src: string;
|
|
1462
|
+
/**
|
|
1463
|
+
* Width of the image. A number sets it in pixels, and a string sets it in
|
|
1464
|
+
* any CSS unit (e.g. `"100%"`). Shrinks to fit the available width when
|
|
1465
|
+
* it's larger (e.g. inside a narrow `UColumn`).
|
|
1466
|
+
*/
|
|
1467
|
+
width?: number | string;
|
|
1468
|
+
/**
|
|
1469
|
+
* Height of the image. A number sets it in pixels, and a string sets it in
|
|
1470
|
+
* any CSS unit (e.g. `"10rem"`).
|
|
1471
|
+
*/
|
|
1472
|
+
height?: number | string;
|
|
1473
|
+
/**
|
|
1474
|
+
* Proportion between width and height (e.g. `16 / 9`), used to reserve the
|
|
1475
|
+
* image's space before it loads. Ignored when `height` is set.
|
|
1476
|
+
*/
|
|
1477
|
+
aspectRatio?: number;
|
|
1478
|
+
/**
|
|
1479
|
+
* Fills the image's area, cropping the image when its proportion differs
|
|
1480
|
+
* from the area's. By default, the whole image is shown inside the area.
|
|
1481
|
+
* @default false
|
|
1482
|
+
*/
|
|
1483
|
+
cover?: boolean;
|
|
1484
|
+
/**
|
|
1485
|
+
* Loads the image right away, instead of when it's about to become
|
|
1486
|
+
* visible. Use it for images visible when the page opens, such as a logo.
|
|
1487
|
+
* @default false
|
|
1488
|
+
*/
|
|
1489
|
+
eager?: boolean;
|
|
1490
|
+
/**
|
|
1491
|
+
* Component id to use on automated tests.
|
|
1492
|
+
*/
|
|
1493
|
+
dataTestid?: string;
|
|
1494
|
+
};
|
|
1495
|
+
//#endregion
|
|
1496
|
+
//#region src/components/img/img.vue.d.ts
|
|
1497
|
+
/**
|
|
1498
|
+
* Decorative image, ignored by assistive technologies, loaded when it's about
|
|
1499
|
+
* to become visible. Set its dimensions to reserve its space before it loads.
|
|
1500
|
+
*
|
|
1501
|
+
* @example
|
|
1502
|
+
* ```vue
|
|
1503
|
+
* <template>
|
|
1504
|
+
* <u-row>
|
|
1505
|
+
* <u-column cols="12">
|
|
1506
|
+
* <u-img src="/logo.svg" :width="380" :height="88" eager />
|
|
1507
|
+
* </u-column>
|
|
1508
|
+
* </u-row>
|
|
1509
|
+
* </template>
|
|
1510
|
+
* ```
|
|
1511
|
+
*
|
|
1512
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/img | Img Guide}
|
|
1513
|
+
*/
|
|
1514
|
+
declare const _default$12: typeof __VLS_export$4;
|
|
1515
|
+
declare const __VLS_export$4: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<ImgProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<ImgProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>;
|
|
1516
|
+
//#endregion
|
|
1517
|
+
//#region src/components/link/types.d.ts
|
|
1518
|
+
/**
|
|
1519
|
+
* Props exposed by the {@link Link} component.
|
|
1520
|
+
*/
|
|
1521
|
+
type LinkProps = {
|
|
1522
|
+
/**
|
|
1523
|
+
* Where the link goes. A route inside the app (`"/login"`,
|
|
1524
|
+
* `{ name: "forgot-password" }`) navigates through the app's router; a URL
|
|
1525
|
+
* starting with `http` navigates through the browser, in the same tab.
|
|
1526
|
+
*/
|
|
1527
|
+
route: RouteLocationRaw;
|
|
1528
|
+
/**
|
|
1529
|
+
* Component id to use on automated tests.
|
|
1530
|
+
*/
|
|
1531
|
+
dataTestid?: string;
|
|
1532
|
+
};
|
|
1533
|
+
//#endregion
|
|
1534
|
+
//#region src/components/link/link.vue.d.ts
|
|
1535
|
+
/**
|
|
1536
|
+
* Standalone text link, such as "Forgot your password?" below a login form.
|
|
1537
|
+
* Routes inside the app navigate through the app's router, and URLs starting
|
|
1538
|
+
* with `http` navigate through the browser, in the same tab.
|
|
1539
|
+
*
|
|
1540
|
+
* @example
|
|
1541
|
+
* ```vue
|
|
1542
|
+
* <template>
|
|
1543
|
+
* <u-link route="/forgot-password">Forgot your password?</u-link>
|
|
1544
|
+
* </template>
|
|
1545
|
+
* ```
|
|
1546
|
+
*
|
|
1547
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/link | Link Guide}
|
|
1548
|
+
*/
|
|
1549
|
+
declare const _default$13: typeof __VLS_export$3;
|
|
1550
|
+
declare const __VLS_export$3: __VLS_WithSlots$2<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<LinkProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<LinkProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
|
|
1551
|
+
default?: (props: {}) => any;
|
|
1552
|
+
}>;
|
|
1553
|
+
type __VLS_WithSlots$2<T, S> = T & {
|
|
1554
|
+
new (): {
|
|
1555
|
+
$slots: S;
|
|
1556
|
+
};
|
|
1557
|
+
};
|
|
1558
|
+
//#endregion
|
|
1559
|
+
//#region src/components/data-sets/data-set/types.d.ts
|
|
1560
|
+
/**
|
|
1561
|
+
* Number of records shown side by side on each row of a {@link DataSet}.
|
|
1562
|
+
*/
|
|
1563
|
+
type DataSetColumns = 1 | 2 | 3 | 4 | 6;
|
|
1564
|
+
/**
|
|
1565
|
+
* Props exposed by the {@link DataSet} component.
|
|
1566
|
+
*/
|
|
1567
|
+
type DataSetProps<T extends object> = {
|
|
1568
|
+
/**
|
|
1569
|
+
* Records to be listed. Each record of the current page is passed, as is,
|
|
1570
|
+
* to the default slot.
|
|
1571
|
+
* @default []
|
|
1572
|
+
*/
|
|
1573
|
+
items?: T[];
|
|
1574
|
+
/**
|
|
1575
|
+
* Maximum number of records shown side by side on each row of the grid.
|
|
1576
|
+
* One of `1`, `2`, `3`, `4` or `6`.
|
|
1577
|
+
*
|
|
1578
|
+
* It's reduced to the largest of these values that keeps each record's card
|
|
1579
|
+
* at least 240px wide within the data set's own width, so narrow
|
|
1580
|
+
* containers, like dialogs or side panels, show fewer records per row, down
|
|
1581
|
+
* to a single one. On extra small screens, each record always takes the
|
|
1582
|
+
* full width.
|
|
1583
|
+
* @default 3
|
|
1584
|
+
*/
|
|
1585
|
+
columns?: DataSetColumns;
|
|
1586
|
+
/**
|
|
1587
|
+
* Maximum number of records shown per page. Page controls are only shown
|
|
1588
|
+
* when there's more than one page.
|
|
1589
|
+
* @default 10
|
|
1590
|
+
*/
|
|
1591
|
+
itemsPerPage?: number;
|
|
1592
|
+
/**
|
|
1593
|
+
* Shows a search field above the records, bound to `v-model:search`.
|
|
1594
|
+
* @default false
|
|
1595
|
+
*/
|
|
1596
|
+
searchable?: boolean;
|
|
1597
|
+
/**
|
|
1598
|
+
* Record properties considered by the search. When undefined or empty,
|
|
1599
|
+
* every property of the record is considered.
|
|
1600
|
+
*/
|
|
1601
|
+
searchKeys?: Array<Extract<keyof T, string>>;
|
|
1602
|
+
/**
|
|
1603
|
+
* Message shown when there are no records to list, either because `items`
|
|
1604
|
+
* is empty or because no record matches the search.
|
|
1605
|
+
* @default "Nenhum registro encontrado."
|
|
1606
|
+
*/
|
|
1607
|
+
noDataText?: string;
|
|
1608
|
+
/**
|
|
1609
|
+
* Shows a skeleton loader in place of the records while data is being
|
|
1610
|
+
* loaded.
|
|
1611
|
+
* @default false
|
|
1612
|
+
*/
|
|
1613
|
+
loading?: boolean;
|
|
1614
|
+
/**
|
|
1615
|
+
* Component id to use on automated tests.
|
|
1616
|
+
*/
|
|
1617
|
+
dataTestid?: string;
|
|
1618
|
+
};
|
|
1619
|
+
/**
|
|
1620
|
+
* Slots exposed by the {@link DataSet} component.
|
|
1621
|
+
*/
|
|
1622
|
+
type DataSetSlots<T extends object> = {
|
|
1623
|
+
/**
|
|
1624
|
+
* Renders each record of the current page in its own grid column, usually
|
|
1625
|
+
* with `UDataSetItem`.
|
|
1626
|
+
* @param props.item The original record, from `items`.
|
|
1627
|
+
* @param props.index Position of the record inside the current page.
|
|
1628
|
+
*/
|
|
1629
|
+
default?: (props: {
|
|
1630
|
+
item: T;
|
|
1631
|
+
index: number;
|
|
1632
|
+
}) => unknown;
|
|
1633
|
+
};
|
|
1634
|
+
//#endregion
|
|
1635
|
+
//#region src/components/data-sets/data-set/data-set.vue.d.ts
|
|
1636
|
+
/**
|
|
1637
|
+
* Data set component to list records as a responsive grid of cards, with
|
|
1638
|
+
* client-side pagination and an optional search field. Each record of the
|
|
1639
|
+
* current page is rendered by the default slot, usually with `UDataSetItem`.
|
|
1640
|
+
*
|
|
1641
|
+
* @example
|
|
1642
|
+
* ```vue
|
|
1643
|
+
* <template>
|
|
1644
|
+
* <u-data-set :items="patients" :columns="4" searchable>
|
|
1645
|
+
* <template #default="{ item }">
|
|
1646
|
+
* <u-data-set-item :title="item.name" :subtitle="item.plan" />
|
|
1647
|
+
* </template>
|
|
1648
|
+
* </u-data-set>
|
|
1649
|
+
* </template>
|
|
1650
|
+
* ```
|
|
1651
|
+
*
|
|
1652
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/data-set | DataSet Guide}
|
|
1653
|
+
*/
|
|
1654
|
+
declare const _default$5: typeof __VLS_export$2;
|
|
1655
|
+
declare const __VLS_export$2: <T extends object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
1656
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<(DataSetProps<T> & {
|
|
1657
|
+
page?: number;
|
|
1658
|
+
search?: string;
|
|
1659
|
+
}) & {
|
|
1660
|
+
"onUpdate:page"?: ((value: number) => any) | undefined;
|
|
1661
|
+
"onUpdate:search"?: ((value: string) => any) | undefined;
|
|
1662
|
+
}> & (typeof globalThis extends {
|
|
1663
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
1664
|
+
} ? P : {});
|
|
1665
|
+
expose: (exposed: {}) => void;
|
|
1666
|
+
attrs: any;
|
|
1667
|
+
slots: DataSetSlots<T>;
|
|
1668
|
+
emit: ((event: "update:page", value: number) => void) & ((event: "update:search", value: string) => void);
|
|
1669
|
+
}>) => import("vue").VNode & {
|
|
1670
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
1671
|
+
};
|
|
1672
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};
|
|
1673
|
+
//#endregion
|
|
1674
|
+
//#region src/components/data-sets/data-set-item/types.d.ts
|
|
1675
|
+
/**
|
|
1676
|
+
* Props exposed by the {@link DataSetItem} component.
|
|
1677
|
+
*/
|
|
1678
|
+
type DataSetItemProps = {
|
|
1679
|
+
/**
|
|
1680
|
+
* Title displayed at the top of the record's card.
|
|
1681
|
+
*/
|
|
1682
|
+
title?: string;
|
|
1683
|
+
/**
|
|
1684
|
+
* Short description displayed below the title.
|
|
1685
|
+
*/
|
|
1686
|
+
subtitle?: string;
|
|
1687
|
+
/**
|
|
1688
|
+
* Applies a distinct style variation to the record's card, just like on
|
|
1689
|
+
* `USection`. One of `primary` or `secondary`.
|
|
1690
|
+
* @default "primary"
|
|
1691
|
+
*/
|
|
1692
|
+
variant?: SectionVariant;
|
|
1693
|
+
/**
|
|
1694
|
+
* Actions of the record, like "Editar" and "Excluir", displayed at the
|
|
1695
|
+
* bottom of its card, just like on `USection`. When undefined or empty, no
|
|
1696
|
+
* actions area is rendered.
|
|
1697
|
+
*/
|
|
1698
|
+
actions?: SectionAction[];
|
|
1699
|
+
/**
|
|
1700
|
+
* Component id to use on automated tests.
|
|
1701
|
+
*/
|
|
1702
|
+
dataTestid?: string;
|
|
1703
|
+
};
|
|
1704
|
+
/**
|
|
1705
|
+
* Slots exposed by the {@link DataSetItem} component.
|
|
1706
|
+
*/
|
|
1707
|
+
type DataSetItemSlots = {
|
|
1708
|
+
/**
|
|
1709
|
+
* Details of the record, displayed below the title and subtitle, like a
|
|
1710
|
+
* vertical `UTable` with some of its fields.
|
|
1711
|
+
*/
|
|
1712
|
+
default?: () => unknown;
|
|
1713
|
+
};
|
|
1714
|
+
//#endregion
|
|
1715
|
+
//#region src/components/data-sets/data-set-item/data-set-item.vue.d.ts
|
|
1716
|
+
/**
|
|
1717
|
+
* Card of a single record listed by a {@link DataSet}, built on `USection`.
|
|
1718
|
+
* It fills the height of its grid column, so the cards of a row line up. Its
|
|
1719
|
+
* details, like a vertical `UTable`, go in the default slot.
|
|
1720
|
+
*
|
|
1721
|
+
* @example
|
|
1722
|
+
* ```vue
|
|
1723
|
+
* <template>
|
|
1724
|
+
* <u-data-set :items="patients">
|
|
1725
|
+
* <template #default="{ item }">
|
|
1726
|
+
* <u-data-set-item
|
|
1727
|
+
* :title="item.name"
|
|
1728
|
+
* subtitle="Beneficiário"
|
|
1729
|
+
* :actions="[{ label: 'Editar', variant: 'secondary', onClick: () => edit(item) }]"
|
|
1730
|
+
* >
|
|
1731
|
+
* <u-table :headers="['Plano', 'Idade']" :items="[[item.plan, item.age]]" vertical />
|
|
1732
|
+
* </u-data-set-item>
|
|
1733
|
+
* </template>
|
|
1734
|
+
* </u-data-set>
|
|
1735
|
+
* </template>
|
|
1736
|
+
* ```
|
|
1737
|
+
*
|
|
1738
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/data-set | DataSet Guide}
|
|
1739
|
+
*/
|
|
1740
|
+
declare const _default$6: typeof __VLS_export$1;
|
|
1741
|
+
declare const __VLS_export$1: __VLS_WithSlots$1<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<DataSetItemProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<DataSetItemProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, DataSetItemSlots>;
|
|
1742
|
+
type __VLS_WithSlots$1<T, S> = T & {
|
|
1743
|
+
new (): {
|
|
1744
|
+
$slots: S;
|
|
1745
|
+
};
|
|
1746
|
+
};
|
|
1747
|
+
//#endregion
|
|
1748
|
+
//#region src/components/dialogs/dialog/types.d.ts
|
|
1749
|
+
type DialogSize = "small" | "medium" | "large";
|
|
1750
|
+
/**
|
|
1751
|
+
* Props exposed by the {@link Dialog} component.
|
|
1752
|
+
*/
|
|
1753
|
+
type DialogProps = {
|
|
1754
|
+
/**
|
|
1755
|
+
* Plain text displayed as the dialog's title, in a single line. HTML isn't interpreted.
|
|
1756
|
+
* Also used as the dialog's accessible name. Without it, the content is the accessible name.
|
|
1757
|
+
*/
|
|
1758
|
+
title?: string;
|
|
1759
|
+
/**
|
|
1760
|
+
* Buttons displayed at the bottom of the dialog, right-aligned, in the given order.
|
|
1761
|
+
* Place the main action last. When undefined or empty, no actions area is rendered.
|
|
1762
|
+
* Clicking an action doesn't close the dialog: set `v-model` to `false` in `onClick`.
|
|
1763
|
+
* While any action is `loading`, the user can't close the dialog with `Esc`, a click outside or
|
|
1764
|
+
* the browser's back button, but setting `v-model` to `false` still closes it.
|
|
1765
|
+
*/
|
|
1766
|
+
actions?: DialogButtonAction[];
|
|
1767
|
+
/**
|
|
1768
|
+
* Maximum width of the dialog.
|
|
1769
|
+
* One of `small` (400px), `medium` (560px), or `large` (800px).
|
|
1770
|
+
* @default "medium"
|
|
1771
|
+
*/
|
|
1772
|
+
size?: DialogSize;
|
|
1773
|
+
/**
|
|
1774
|
+
* Component id to use on automated tests.
|
|
1775
|
+
*/
|
|
1776
|
+
dataTestid?: string;
|
|
1777
|
+
};
|
|
1778
|
+
/**
|
|
1779
|
+
* A single action rendered inside {@link Dialog}'s actions area. Same shape as `USection`'s
|
|
1780
|
+
* actions. While it's `loading`, the user can't close the dialog, but setting `v-model` to `false` still does.
|
|
1781
|
+
*/
|
|
1782
|
+
interface DialogButtonAction extends ButtonProps {
|
|
1783
|
+
/**
|
|
1784
|
+
* Text displayed on the action button.
|
|
1785
|
+
*/
|
|
1786
|
+
label: string;
|
|
1787
|
+
/**
|
|
1788
|
+
* Called when the action button is clicked. Not called while the action is `disabled` or
|
|
1789
|
+
* `loading`. The dialog stays open.
|
|
1790
|
+
*/
|
|
1791
|
+
onClick?: (event: MouseEvent) => void;
|
|
1792
|
+
}
|
|
1793
|
+
//#endregion
|
|
1794
|
+
//#region src/components/dialogs/dialog/dialog.vue.d.ts
|
|
1795
|
+
/**
|
|
1796
|
+
* Dialog component to display content in a modal window, over the page, until it's closed.
|
|
1797
|
+
* Its title and actions stay in place while the content scrolls.
|
|
1798
|
+
*
|
|
1799
|
+
* @example
|
|
1800
|
+
* ```vue
|
|
1801
|
+
* <template>
|
|
1802
|
+
* <u-dialog v-model="open" title="Title" :actions="[{ label: 'Close', onClick: () => (open = false) }]">
|
|
1803
|
+
* Content
|
|
1804
|
+
* </u-dialog>
|
|
1805
|
+
* </template>
|
|
1806
|
+
* ```
|
|
1807
|
+
*
|
|
1808
|
+
* @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/dialog | Dialog Guide}
|
|
1809
|
+
*/
|
|
770
1810
|
declare const _default$9: typeof __VLS_export;
|
|
771
|
-
declare const __VLS_export: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<
|
|
1811
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<DialogProps & {
|
|
1812
|
+
modelValue?: boolean;
|
|
1813
|
+
}, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
|
|
1814
|
+
"update:modelValue": (value: boolean) => any;
|
|
1815
|
+
}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<DialogProps & {
|
|
1816
|
+
modelValue?: boolean;
|
|
1817
|
+
}> & Readonly<{
|
|
1818
|
+
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
1819
|
+
}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
|
|
1820
|
+
default?: (props: {}) => any;
|
|
1821
|
+
}>;
|
|
1822
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
1823
|
+
new (): {
|
|
1824
|
+
$slots: S;
|
|
1825
|
+
};
|
|
1826
|
+
};
|
|
772
1827
|
//#endregion
|
|
773
|
-
export { _default as
|
|
1828
|
+
export { _default as UAutocompleteField, _default$1 as UButton, _default$2 as UCheckbox, _default$3 as UColumn, _default$4 as UContainer, _default$5 as UDataSet, _default$6 as UDataSetItem, _default$7 as UDateTimeField, _default$8 as UDetails, _default$9 as UDialog, _default$10 as UForm, _default$11 as UIconButton, _default$12 as UImg, _default$13 as ULink, _default$14 as UMain, _default$15 as UMaskField, _default$16 as URow, _default$17 as USection, _default$18 as USectionContent, _default$19 as UTable, _default$20 as UTextField };
|