@nexdom/uimed-vue 2.0.0-beta.3 → 2.0.0-beta.31

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,4 +1,4 @@
1
- import { t as ColorVariant } from "./types-BPXXtbmW.js";
1
+ import { t as ButtonProps } from "./types-DNT_odv7.js";
2
2
  import { RouteLocationRaw } from "vue-router";
3
3
  //#region src/components/app-bar/types.d.ts
4
4
  /**
@@ -43,9 +43,10 @@ interface AppBarNotification {
43
43
  */
44
44
  read?: boolean;
45
45
  /**
46
- * Date the notification was generated.
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
- date?: Date;
49
+ when?: string;
49
50
  }
50
51
  interface AppBarUserProps {
51
52
  /**
@@ -144,6 +145,9 @@ type MainProps = {
144
145
  dataTestid?: string;
145
146
  /**
146
147
  * URL to logo image.
148
+ *
149
+ * The logo is decorative (`alt=""`): screen readers identify the app by
150
+ * the app bar title (`appBar.title`).
147
151
  */
148
152
  logo?: string;
149
153
  /**
@@ -154,6 +158,13 @@ type MainProps = {
154
158
  * Navigation menu properties.
155
159
  */
156
160
  navigationMenu?: NavigationMenuProps;
161
+ /**
162
+ * Shows skeleton loaders in place of the user-related parts of the app bar
163
+ * and of the navigation menu items while their data is being loaded.
164
+ * The main content (default slot) isn't affected.
165
+ * @default false
166
+ */
167
+ loading?: boolean;
157
168
  };
158
169
  //#endregion
159
170
  //#region src/components/main/main.vue.d.ts
@@ -171,8 +182,8 @@ type MainProps = {
171
182
  *
172
183
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/main | Main Guide}
173
184
  */
174
- declare const _default$4: typeof __VLS_export$9;
175
- declare const __VLS_export$9: __VLS_WithSlots$7<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<MainProps & {
185
+ declare const _default$12: typeof __VLS_export$17;
186
+ declare const __VLS_export$17: __VLS_WithSlots$10<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<MainProps & {
176
187
  notificationsOpen?: boolean;
177
188
  }, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
178
189
  "update:notificationsOpen": (value: boolean) => any;
@@ -183,56 +194,12 @@ declare const __VLS_export$9: __VLS_WithSlots$7<import("vue", { with: { "resolut
183
194
  }>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
184
195
  default?: (props: {}) => any;
185
196
  }>;
186
- type __VLS_WithSlots$7<T, S> = T & {
197
+ type __VLS_WithSlots$10<T, S> = T & {
187
198
  new (): {
188
199
  $slots: S;
189
200
  };
190
201
  };
191
202
  //#endregion
192
- //#region src/components/button/types.d.ts
193
- type ButtonVariant = "primary" | "secondary" | "ghost";
194
- /**
195
- * Props exposed by the {@link Button} component.
196
- */
197
- type ButtonProps = {
198
- /**
199
- * Applies a distinct style variation to the button.
200
- * One of `primary`, `secondary`, or `ghost`.
201
- * @default "primary"
202
- */
203
- variant?: ButtonVariant;
204
- /**
205
- * Applies a distinct behavior to the button.
206
- * One of `button` or `submit`.
207
- * @default "button"
208
- */
209
- type?: "submit" | "button";
210
- /**
211
- * Applies a color to the button.
212
- * One of `primary`, `secondary`, `positive`, `informative`, `caution`, or `danger`.
213
- * @default "primary"
214
- */
215
- 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
- /**
231
- * Component id to use on automated tests.
232
- */
233
- dataTestid?: string;
234
- };
235
- //#endregion
236
203
  //#region src/components/button/button.vue.d.ts
237
204
  /**
238
205
  * Button component to be used throughout the application.
@@ -248,15 +215,15 @@ type ButtonProps = {
248
215
  *
249
216
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/button | Button Guide}
250
217
  */
251
- declare const _default: typeof __VLS_export$8;
252
- declare const __VLS_export$8: __VLS_WithSlots$6<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {} & {
218
+ declare const _default$1: typeof __VLS_export$16;
219
+ declare const __VLS_export$16: __VLS_WithSlots$9<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {} & {
253
220
  click: (event: MouseEvent) => any;
254
221
  }, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<ButtonProps> & Readonly<{
255
222
  onClick?: ((event: MouseEvent) => any) | undefined;
256
223
  }>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
257
224
  default?: (props: {}) => any;
258
225
  }>;
259
- type __VLS_WithSlots$6<T, S> = T & {
226
+ type __VLS_WithSlots$9<T, S> = T & {
260
227
  new (): {
261
228
  $slots: S;
262
229
  };
@@ -287,7 +254,9 @@ type TextFieldProps = {
287
254
  */
288
255
  disabled?: boolean;
289
256
  /**
290
- * Displays a loading indicator on the input.
257
+ * Displays a loading indicator on the input. The field keeps its label as
258
+ * accessible name and is marked as busy, and assistive technologies ignore
259
+ * the indicator.
291
260
  * @default false
292
261
  */
293
262
  loading?: boolean;
@@ -326,6 +295,120 @@ type TextFieldProps = {
326
295
  dataTestid?: string;
327
296
  };
328
297
  //#endregion
298
+ //#region src/components/inputs/autocomplete-field/types.d.ts
299
+ /**
300
+ * Autocomplete/Combobox item type that can be either a string or an object with label and value.
301
+ */
302
+ type AutocompleteItem<T = string> = string | {
303
+ label: string;
304
+ value: T;
305
+ };
306
+ /**
307
+ * Props exposed by the {@link AutocompleteField} component.
308
+ */
309
+ type AutocompleteFieldProps<T = string, Multiple extends boolean = false> = {
310
+ /**
311
+ * Applies a distinct style variation to the field.
312
+ * One of `primary` or `secondary`.
313
+ * @default "primary"
314
+ */
315
+ variant?: TextFieldVariant;
316
+ /**
317
+ * Removes the ability to click or target the field.
318
+ * @default false
319
+ */
320
+ disabled?: boolean;
321
+ /**
322
+ * Displays a loading indicator on the input. The field keeps its label as
323
+ * accessible name and is marked as busy, and assistive technologies ignore
324
+ * the indicator.
325
+ * @default false
326
+ */
327
+ loading?: boolean;
328
+ /**
329
+ * Displays clear action.
330
+ * @default false
331
+ */
332
+ clearable?: boolean;
333
+ /**
334
+ * Prevent value changes.
335
+ * @default false
336
+ */
337
+ readonly?: boolean;
338
+ /**
339
+ * Add rules to require field to be filled before form submission.
340
+ * @default false
341
+ */
342
+ required?: boolean;
343
+ /**
344
+ * Field label.
345
+ */
346
+ label?: string;
347
+ /**
348
+ * Field placeholder.
349
+ */
350
+ placeholder?: string;
351
+ /**
352
+ * Field message to show and direct user to fill field correctly.
353
+ *
354
+ * This message will be replaced when there's an error message to be shown.
355
+ */
356
+ hint?: string;
357
+ /**
358
+ * Component id to use on automated tests.
359
+ */
360
+ dataTestid?: string;
361
+ /**
362
+ * Used to prevent user from adding new values to the list.
363
+ * @default false
364
+ */
365
+ strict?: boolean;
366
+ /**
367
+ * Allow selecting/typing more than one value.
368
+ *
369
+ * Passing the literal `true` narrows `modelValue` and `update:modelValue`
370
+ * to `T[]` instead of `T`.
371
+ * @default false
372
+ */
373
+ multiple?: Multiple;
374
+ /**
375
+ * List of autocomplete items. Can be strings or objects with label and value.
376
+ * @default []
377
+ */
378
+ items?: AutocompleteItem<T>[];
379
+ };
380
+ //#endregion
381
+ //#region src/components/inputs/autocomplete-field/autocomplete-field.vue.d.ts
382
+ /**
383
+ * Select field component to be used throughout the application.
384
+ *
385
+ * @example
386
+ * ```vue
387
+ * <template>
388
+ * <u-autocomplete-field label="Country" :items="['Brazil', 'Argentina']" />
389
+ * </template>
390
+ * ```
391
+ *
392
+ * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/autocomplete-field | AutocompleteField Guide}
393
+ */
394
+ declare const _default: typeof __VLS_export$15;
395
+ declare const __VLS_export$15: <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<{
396
+ props: import("vue").PublicProps & __VLS_PrettifyLocal$2<(AutocompleteFieldProps<T, Multiple> & {
397
+ modelValue?: Multiple extends true ? T[] : T;
398
+ }) & {
399
+ "onUpdate:modelValue"?: ((value: Multiple extends true ? T[] : T | undefined) => any) | undefined;
400
+ }> & (typeof globalThis extends {
401
+ __VLS_PROPS_FALLBACK: infer P;
402
+ } ? P : {});
403
+ expose: (exposed: {}) => void;
404
+ attrs: any;
405
+ slots: {};
406
+ emit: (event: "update:modelValue", value: Multiple extends true ? T[] : T | undefined) => void;
407
+ }>) => import("vue").VNode & {
408
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
409
+ };
410
+ type __VLS_PrettifyLocal$2<T> = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};
411
+ //#endregion
329
412
  //#region src/components/inputs/text-field/text-field.vue.d.ts
330
413
  /**
331
414
  * Text field component to be used throughout the application.
@@ -339,8 +422,8 @@ type TextFieldProps = {
339
422
  *
340
423
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/text-field | TextField Guide}
341
424
  */
342
- declare const _default$9: typeof __VLS_export$7;
343
- declare const __VLS_export$7: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<TextFieldProps & {
425
+ declare const _default$17: typeof __VLS_export$14;
426
+ declare const __VLS_export$14: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<TextFieldProps & {
344
427
  modelValue?: string;
345
428
  }, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
346
429
  "update:modelValue": (value: string) => any;
@@ -349,16 +432,201 @@ declare const __VLS_export$7: import("vue", { with: { "resolution-mode": "import
349
432
  }> & Readonly<{
350
433
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
351
434
  }>, {
352
- type: TextFieldType;
353
435
  variant: TextFieldVariant;
436
+ type: TextFieldType;
354
437
  clearable: boolean;
355
438
  }, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>;
356
439
  //#endregion
440
+ //#region src/components/inputs/checkbox/types.d.ts
441
+ /**
442
+ * Props exposed by the {@link Checkbox} component.
443
+ */
444
+ type CheckboxProps<T = boolean> = {
445
+ /**
446
+ * Field label.
447
+ */
448
+ label?: string;
449
+ /**
450
+ * Removes the ability to click or target the checkbox.
451
+ * @default false
452
+ */
453
+ disabled?: boolean;
454
+ /**
455
+ * Prevent value changes.
456
+ * @default false
457
+ */
458
+ readonly?: boolean;
459
+ /**
460
+ * Value applied to the model when the checkbox is checked.
461
+ * @default true
462
+ */
463
+ trueValue?: T;
464
+ /**
465
+ * Value applied to the model when the checkbox is unchecked.
466
+ * @default false
467
+ */
468
+ falseValue?: T;
469
+ /**
470
+ * Component id to use on automated tests.
471
+ */
472
+ dataTestid?: string;
473
+ };
474
+ //#endregion
475
+ //#region src/components/inputs/checkbox/checkbox.vue.d.ts
476
+ /**
477
+ * Checkbox component to be used throughout the application.
478
+ *
479
+ * @example
480
+ * ```vue
481
+ * <template>
482
+ * <u-checkbox label="Aceito os termos" />
483
+ * </template>
484
+ * ```
485
+ *
486
+ * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/checkbox | Checkbox Guide}
487
+ */
488
+ declare const _default$2: typeof __VLS_export$13;
489
+ declare const __VLS_export$13: <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<{
490
+ props: import("vue").PublicProps & __VLS_PrettifyLocal$1<(CheckboxProps<boolean | T> & {
491
+ modelValue?: T;
492
+ }) & {
493
+ "onUpdate:modelValue"?: ((value: T) => any) | undefined;
494
+ }> & (typeof globalThis extends {
495
+ __VLS_PROPS_FALLBACK: infer P;
496
+ } ? P : {});
497
+ expose: (exposed: {}) => void;
498
+ attrs: any;
499
+ slots: {};
500
+ emit: (event: "update:modelValue", value: T) => void;
501
+ }>) => import("vue").VNode & {
502
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
503
+ };
504
+ type __VLS_PrettifyLocal$1<T> = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};
505
+ //#endregion
506
+ //#region src/components/inputs/date-time-field/types.d.ts
507
+ type DateTimeFieldVariant = TextFieldVariant;
508
+ type DateTimeFieldType = "date" | "time" | "datetime";
509
+ /**
510
+ * Props exposed by the {@link DateTimeField} component.
511
+ */
512
+ type DateTimeFieldProps = {
513
+ /**
514
+ * Applies a distinct style variation to the field.
515
+ * One of `primary` or `secondary`.
516
+ * @default "primary"
517
+ */
518
+ variant?: DateTimeFieldVariant;
519
+ /**
520
+ * Defines which pickers are available and the format of the value.
521
+ *
522
+ * - `date`: value formatted as `YYYY-MM-DD` (e.g. `2026-09-24`);
523
+ * - `time`: value formatted as `HH:mm`, 24h (e.g. `14:30`);
524
+ * - `datetime`: value formatted as `YYYY-MM-DDTHH:mm` (e.g. `2026-09-24T14:30`).
525
+ * @default "datetime"
526
+ */
527
+ type?: DateTimeFieldType;
528
+ /**
529
+ * Minimum allowed value, in the same format as the value for the current `type`.
530
+ *
531
+ * Earlier options can't be picked, and an earlier value shows an error message.
532
+ * For `datetime`, the time limit only applies to the minimum's own date.
533
+ */
534
+ min?: string;
535
+ /**
536
+ * Maximum allowed value, in the same format as the value for the current `type`.
537
+ *
538
+ * Later options can't be picked, and a later value shows an error message.
539
+ * For `datetime`, the time limit only applies to the maximum's own date.
540
+ */
541
+ max?: string;
542
+ /**
543
+ * Removes the ability to click or target the field.
544
+ * @default false
545
+ */
546
+ disabled?: boolean;
547
+ /**
548
+ * Displays a loading indicator on the input. The field keeps its label as
549
+ * accessible name and is marked as busy, and assistive technologies ignore
550
+ * the indicator.
551
+ * @default false
552
+ */
553
+ loading?: boolean;
554
+ /**
555
+ * Displays clear action, which is hidden while the field is `readonly`.
556
+ * @default false
557
+ */
558
+ clearable?: boolean;
559
+ /**
560
+ * Prevent value changes. The pickers won't open.
561
+ * @default false
562
+ */
563
+ readonly?: boolean;
564
+ /**
565
+ * Add `rules` to require field to be filled before form submission.
566
+ * @default false
567
+ */
568
+ required?: boolean;
569
+ /**
570
+ * Field label.
571
+ */
572
+ label?: string;
573
+ /**
574
+ * Field placeholder.
575
+ */
576
+ placeholder?: string;
577
+ /**
578
+ * Field message to show and direct user to fill field correctly.
579
+ *
580
+ * This message will be replaced when there's an error message to be shown.
581
+ */
582
+ hint?: string;
583
+ /**
584
+ * Component id to use on automated tests.
585
+ */
586
+ dataTestid?: string;
587
+ };
588
+ //#endregion
589
+ //#region src/components/inputs/date-time-field/date-time-field.vue.d.ts
590
+ /**
591
+ * Date and/or time field component to be used throughout the application.
592
+ *
593
+ * Its value uses the native input formats: `YYYY-MM-DD` for `date`, `HH:mm`
594
+ * for `time` and `YYYY-MM-DDTHH:mm` for `datetime`.
595
+ *
596
+ * @example
597
+ * ```vue
598
+ * <template>
599
+ * <u-date-time-field v-model="birthDate" label="Data de nascimento" type="date" />
600
+ * <template>
601
+ * ```
602
+ *
603
+ * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/date-time-field | DateTimeField Guide}
604
+ */
605
+ declare const _default$7: typeof __VLS_export$12;
606
+ declare const __VLS_export$12: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<DateTimeFieldProps & {
607
+ modelValue?: string;
608
+ }, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
609
+ "update:modelValue": (value: string) => any;
610
+ }, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<DateTimeFieldProps & {
611
+ modelValue?: string;
612
+ }> & Readonly<{
613
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
614
+ }>, {
615
+ variant: DateTimeFieldVariant;
616
+ type: DateTimeFieldType;
617
+ }, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>;
618
+ //#endregion
357
619
  //#region src/components/grid/container/types.d.ts
358
620
  /**
359
621
  * Props exposed by the {@link Container} component.
360
622
  */
361
623
  type ContainerProps = {
624
+ /**
625
+ * Stretches the container to the whole height of its parent, which must have a height of its
626
+ * own, e.g. the content area of `UMain`.
627
+ * @default false
628
+ */
629
+ fullHeight?: boolean;
362
630
  /**
363
631
  * Component id to use on automated tests.
364
632
  */
@@ -380,21 +648,84 @@ type ContainerProps = {
380
648
  *
381
649
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/layout | Container Guide}
382
650
  */
383
- declare const _default$2: typeof __VLS_export$6;
384
- declare const __VLS_export$6: __VLS_WithSlots$5<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>, {
651
+ declare const _default$4: typeof __VLS_export$11;
652
+ declare const __VLS_export$11: __VLS_WithSlots$8<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>, {
385
653
  default?: (props: {}) => any;
386
654
  }>;
387
- type __VLS_WithSlots$5<T, S> = T & {
655
+ type __VLS_WithSlots$8<T, S> = T & {
388
656
  new (): {
389
657
  $slots: S;
390
658
  };
391
659
  };
392
660
  //#endregion
661
+ //#region src/composables/alignment/types.d.ts
662
+ /**
663
+ * Horizontal alignment of a component's items: to the start, to the center or to the end,
664
+ * following the text direction.
665
+ */
666
+ type AlignX = "start" | "center" | "end";
667
+ /**
668
+ * Vertical alignment of a component's items: to the top, to the center, to the bottom, or
669
+ * stretched to the whole height available.
670
+ */
671
+ type AlignY = "start" | "center" | "end" | "stretch";
672
+ //#endregion
393
673
  //#region src/components/grid/row/types.d.ts
394
674
  /**
395
675
  * Props exposed by the {@link Row} component.
396
676
  */
397
677
  type RowProps = {
678
+ /**
679
+ * Horizontal alignment of the row's columns on each line.
680
+ * Available options are:
681
+ * - `"start"`: aligns the columns to the start of the line;
682
+ * - `"center"`: centers the columns horizontally;
683
+ * - `"end"`: aligns the columns to the end of the line.
684
+ *
685
+ * `"start"` and `"end"` follow the text direction. It only has a visible effect when the
686
+ * columns of a line don't fill it, e.g. with `cols="auto"` or sizes adding up to less than 12.
687
+ * When the columns wrap into several lines, each line is aligned on its own.
688
+ *
689
+ * Columns sit side by side only from the `sm` breakpoint up. Below it, each column takes a
690
+ * whole line, so the alignment has no visible effect.
691
+ * @default "start"
692
+ */
693
+ alignX?: AlignX;
694
+ /**
695
+ * Vertical alignment of the row's columns, relative to the tallest column on the same line.
696
+ * Available options are:
697
+ * - `"start"`: aligns the columns to the top;
698
+ * - `"center"`: centers the columns vertically;
699
+ * - `"end"`: aligns the columns to the bottom;
700
+ * - `"stretch"`: stretches every column to the height of the tallest one.
701
+ *
702
+ * Use `"stretch"` to keep side by side columns at the same height, e.g. cards made of
703
+ * `USection`s with `fullHeight`.
704
+ *
705
+ * Columns sit side by side only from the `sm` breakpoint up. Below it, each column takes a
706
+ * whole line, so the alignment has no visible effect, unless the row has `fullHeight`: then
707
+ * the columns, as a group, are aligned within the row's height.
708
+ * @default "start"
709
+ */
710
+ alignY?: AlignY;
711
+ /**
712
+ * Stretches the row to the whole height of its parent: the visible content area of `UMain`
713
+ * (below its app bar) or a `UContainer` with `fullHeight`.
714
+ *
715
+ * Combine it with `alignY` to place the columns within that height, e.g. `alignY="center"`
716
+ * and `alignX="center"` to center a login form on the screen. A row with `fullHeight` takes
717
+ * the whole height by itself, so other rows next to it are pushed below the visible area.
718
+ * @default false
719
+ */
720
+ fullHeight?: boolean;
721
+ /**
722
+ * Renders the row as a list (`<ul>`), without the list's default indentation
723
+ * and bullets, so assistive technologies announce its columns as the items
724
+ * of a list. Use it for a grid of records that is, semantically, a list,
725
+ * like cards of patients, and set `listItem` on each of its `UColumn`s.
726
+ * @default false
727
+ */
728
+ list?: boolean;
398
729
  /**
399
730
  * Component id to use on automated tests.
400
731
  */
@@ -409,7 +740,7 @@ type RowProps = {
409
740
  * ```vue
410
741
  * <template>
411
742
  * <u-container>
412
- * <u-row>
743
+ * <u-row align-x="center" align-y="center">
413
744
  * <!-- uimed-column -->
414
745
  * </u-row>
415
746
  * </u-container>
@@ -418,11 +749,11 @@ type RowProps = {
418
749
  *
419
750
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/layout | Row Guide}
420
751
  */
421
- declare const _default$5: typeof __VLS_export$5;
422
- declare const __VLS_export$5: __VLS_WithSlots$4<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>, {
752
+ declare const _default$13: typeof __VLS_export$10;
753
+ declare const __VLS_export$10: __VLS_WithSlots$7<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>, {
423
754
  default?: (props: {}) => any;
424
755
  }>;
425
- type __VLS_WithSlots$4<T, S> = T & {
756
+ type __VLS_WithSlots$7<T, S> = T & {
426
757
  new (): {
427
758
  $slots: S;
428
759
  };
@@ -441,6 +772,13 @@ type ColumnProps = {
441
772
  * @default "12"
442
773
  */
443
774
  cols?: Cols;
775
+ /**
776
+ * Renders the column as an item of a list (`<li>`), without its bullet.
777
+ * Use it on every column of a `URow` with `list`, whose records are,
778
+ * semantically, the items of a list.
779
+ * @default false
780
+ */
781
+ listItem?: boolean;
444
782
  /**
445
783
  * Component id to use on automated tests.
446
784
  */
@@ -467,13 +805,13 @@ type Cols = "auto" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10"
467
805
  *
468
806
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/layout | Column Guide}
469
807
  */
470
- declare const _default$1: typeof __VLS_export$4;
471
- declare const __VLS_export$4: __VLS_WithSlots$3<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<{}>, {
808
+ declare const _default$3: typeof __VLS_export$9;
809
+ declare const __VLS_export$9: __VLS_WithSlots$6<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<{}>, {
472
810
  cols: "12" | "auto" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11";
473
811
  }, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
474
812
  default?: (props: {}) => any;
475
813
  }>;
476
- type __VLS_WithSlots$3<T, S> = T & {
814
+ type __VLS_WithSlots$6<T, S> = T & {
477
815
  new (): {
478
816
  $slots: S;
479
817
  };
@@ -510,15 +848,15 @@ type FormProps = {
510
848
  *
511
849
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/form | Form Guide}
512
850
  */
513
- declare const _default$3: typeof __VLS_export$3;
514
- declare const __VLS_export$3: __VLS_WithSlots$2<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<FormProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {} & {
851
+ declare const _default$10: typeof __VLS_export$8;
852
+ declare const __VLS_export$8: __VLS_WithSlots$5<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<FormProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {} & {
515
853
  submit: (event: SubmitEvent) => any;
516
854
  }, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<FormProps> & Readonly<{
517
855
  onSubmit?: ((event: SubmitEvent) => any) | undefined;
518
856
  }>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
519
857
  default?: (props: {}) => any;
520
858
  }>;
521
- type __VLS_WithSlots$2<T, S> = T & {
859
+ type __VLS_WithSlots$5<T, S> = T & {
522
860
  new (): {
523
861
  $slots: S;
524
862
  };
@@ -540,11 +878,11 @@ type __VLS_WithSlots$2<T, S> = T & {
540
878
  *
541
879
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/section | Section Guide}
542
880
  */
543
- declare const _default$7: typeof __VLS_export$2;
544
- declare const __VLS_export$2: __VLS_WithSlots$1<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>, {
881
+ declare const _default$15: typeof __VLS_export$7;
882
+ declare const __VLS_export$7: __VLS_WithSlots$4<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>, {
545
883
  default?: (props: {}) => any;
546
884
  }>;
547
- type __VLS_WithSlots$1<T, S> = T & {
885
+ type __VLS_WithSlots$4<T, S> = T & {
548
886
  new (): {
549
887
  $slots: S;
550
888
  };
@@ -552,6 +890,7 @@ type __VLS_WithSlots$1<T, S> = T & {
552
890
  //#endregion
553
891
  //#region src/components/sections/section/types.d.ts
554
892
  type SectionVariant = "primary" | "secondary";
893
+ type SectionTextAlign = "start" | "center" | "end";
555
894
  /**
556
895
  * Props exposed by the {@link Section} component.
557
896
  */
@@ -570,6 +909,20 @@ type SectionProps = {
570
909
  * Subtitle displayed below the title.
571
910
  */
572
911
  subtitle?: string;
912
+ /**
913
+ * Horizontal alignment of the section's title, subtitle, content and actions.
914
+ * Available options are:
915
+ * - `"start"`: aligns the text to the start (left in left-to-right languages)
916
+ * and keeps the actions at the end;
917
+ * - `"center"`: centers the text and the actions;
918
+ * - `"end"`: aligns the text and the actions to the end.
919
+ *
920
+ * Uses `start`/`end` instead of `left`/`right`, so it follows the text
921
+ * direction in right-to-left languages. Nested components inherit the
922
+ * alignment, unless they define their own.
923
+ * @default "start"
924
+ */
925
+ textAlign?: SectionTextAlign;
573
926
  /**
574
927
  * List of actions displayed at the bottom of the section, inside
575
928
  * `v-card-actions`. When undefined or empty, no actions area is rendered.
@@ -582,6 +935,9 @@ type SectionProps = {
582
935
  fullWidth?: boolean;
583
936
  /**
584
937
  * Makes the section occupy 100% of its parent's height.
938
+ *
939
+ * Inside a `URow`, set its `alignY` to `"stretch"` so the section takes the height of the
940
+ * tallest column on the same line.
585
941
  * @default false
586
942
  */
587
943
  fullHeight?: boolean;
@@ -626,11 +982,11 @@ interface SectionAction extends ButtonProps {
626
982
  *
627
983
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/section | Section Guide}
628
984
  */
629
- declare const _default$6: typeof __VLS_export$1;
630
- declare const __VLS_export$1: __VLS_WithSlots<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>, {
985
+ declare const _default$14: typeof __VLS_export$6;
986
+ declare const __VLS_export$6: __VLS_WithSlots$3<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>, {
631
987
  default?: (props: {}) => any;
632
988
  }>;
633
- type __VLS_WithSlots<T, S> = T & {
989
+ type __VLS_WithSlots$3<T, S> = T & {
634
990
  new (): {
635
991
  $slots: S;
636
992
  };
@@ -701,7 +1057,392 @@ type TableProps = {
701
1057
  *
702
1058
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/table | Table Guide}
703
1059
  */
704
- declare const _default$8: typeof __VLS_export;
705
- declare const __VLS_export: 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>;
1060
+ declare const _default$16: typeof __VLS_export$5;
1061
+ declare const __VLS_export$5: 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>;
1062
+ //#endregion
1063
+ //#region src/components/details/types.d.ts
1064
+ type DetailsVariant = "primary" | "secondary";
1065
+ /**
1066
+ * Props exposed by the {@link Details} component.
1067
+ */
1068
+ type DetailsProps = {
1069
+ /**
1070
+ * Applies a distinct style variation to the details.
1071
+ * One of `primary` or `secondary`.
1072
+ * @default "primary"
1073
+ */
1074
+ variant?: DetailsVariant;
1075
+ /**
1076
+ * Title displayed on the header, which expands or collapses the content
1077
+ * when clicked. The header stays clickable even without a title.
1078
+ */
1079
+ title?: string;
1080
+ /**
1081
+ * Shows a skeleton loader in place of the details while data is being
1082
+ * loaded.
1083
+ * @default false
1084
+ */
1085
+ loading?: boolean;
1086
+ /**
1087
+ * Component id to use on automated tests.
1088
+ */
1089
+ dataTestid?: string;
1090
+ };
1091
+ //#endregion
1092
+ //#region src/components/details/details.vue.d.ts
1093
+ /**
1094
+ * Details component to show content that can be expanded or collapsed by
1095
+ * clicking on its title. Starts collapsed.
1096
+ *
1097
+ * @example
1098
+ * ```vue
1099
+ * <template>
1100
+ * <u-details title="Title">
1101
+ * Content
1102
+ * </u-details>
1103
+ * </template>
1104
+ * ```
1105
+ *
1106
+ * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/details | Details Guide}
1107
+ */
1108
+ declare const _default$8: typeof __VLS_export$4;
1109
+ declare const __VLS_export$4: __VLS_WithSlots$2<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>, {
1110
+ default?: (props: {}) => any;
1111
+ }>;
1112
+ type __VLS_WithSlots$2<T, S> = T & {
1113
+ new (): {
1114
+ $slots: S;
1115
+ };
1116
+ };
1117
+ //#endregion
1118
+ //#region src/components/img/types.d.ts
1119
+ /**
1120
+ * Props exposed by the {@link Img} component.
1121
+ */
1122
+ type ImgProps = {
1123
+ /**
1124
+ * Path or URL of the image.
1125
+ */
1126
+ src: string;
1127
+ /**
1128
+ * Width of the image. A number sets it in pixels, and a string sets it in
1129
+ * any CSS unit (e.g. `"100%"`). Shrinks to fit the available width when
1130
+ * it's larger (e.g. inside a narrow `UColumn`).
1131
+ */
1132
+ width?: number | string;
1133
+ /**
1134
+ * Height of the image. A number sets it in pixels, and a string sets it in
1135
+ * any CSS unit (e.g. `"10rem"`).
1136
+ */
1137
+ height?: number | string;
1138
+ /**
1139
+ * Proportion between width and height (e.g. `16 / 9`), used to reserve the
1140
+ * image's space before it loads. Ignored when `height` is set.
1141
+ */
1142
+ aspectRatio?: number;
1143
+ /**
1144
+ * Fills the image's area, cropping the image when its proportion differs
1145
+ * from the area's. By default, the whole image is shown inside the area.
1146
+ * @default false
1147
+ */
1148
+ cover?: boolean;
1149
+ /**
1150
+ * Loads the image right away, instead of when it's about to become
1151
+ * visible. Use it for images visible when the page opens, such as a logo.
1152
+ * @default false
1153
+ */
1154
+ eager?: boolean;
1155
+ /**
1156
+ * Component id to use on automated tests.
1157
+ */
1158
+ dataTestid?: string;
1159
+ };
1160
+ //#endregion
1161
+ //#region src/components/img/img.vue.d.ts
1162
+ /**
1163
+ * Decorative image, ignored by assistive technologies, loaded when it's about
1164
+ * to become visible. Set its dimensions to reserve its space before it loads.
1165
+ *
1166
+ * @example
1167
+ * ```vue
1168
+ * <template>
1169
+ * <u-row>
1170
+ * <u-column cols="12">
1171
+ * <u-img src="/logo.svg" :width="380" :height="88" eager />
1172
+ * </u-column>
1173
+ * </u-row>
1174
+ * </template>
1175
+ * ```
1176
+ *
1177
+ * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/img | Img Guide}
1178
+ */
1179
+ declare const _default$11: typeof __VLS_export$3;
1180
+ declare const __VLS_export$3: 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>;
1181
+ //#endregion
1182
+ //#region src/components/data-sets/data-set/types.d.ts
1183
+ /**
1184
+ * Number of records shown side by side on each row of a {@link DataSet}.
1185
+ */
1186
+ type DataSetColumns = 1 | 2 | 3 | 4 | 6;
1187
+ /**
1188
+ * Props exposed by the {@link DataSet} component.
1189
+ */
1190
+ type DataSetProps<T extends object> = {
1191
+ /**
1192
+ * Records to be listed. Each record of the current page is passed, as is,
1193
+ * to the default slot.
1194
+ * @default []
1195
+ */
1196
+ items?: T[];
1197
+ /**
1198
+ * Maximum number of records shown side by side on each row of the grid.
1199
+ * One of `1`, `2`, `3`, `4` or `6`.
1200
+ *
1201
+ * It's reduced to the largest of these values that keeps each record's card
1202
+ * at least 240px wide within the data set's own width, so narrow
1203
+ * containers, like dialogs or side panels, show fewer records per row, down
1204
+ * to a single one. On extra small screens, each record always takes the
1205
+ * full width.
1206
+ * @default 3
1207
+ */
1208
+ columns?: DataSetColumns;
1209
+ /**
1210
+ * Maximum number of records shown per page. Page controls are only shown
1211
+ * when there's more than one page.
1212
+ * @default 10
1213
+ */
1214
+ itemsPerPage?: number;
1215
+ /**
1216
+ * Shows a search field above the records, bound to `v-model:search`.
1217
+ * @default false
1218
+ */
1219
+ searchable?: boolean;
1220
+ /**
1221
+ * Record properties considered by the search. When undefined or empty,
1222
+ * every property of the record is considered.
1223
+ */
1224
+ searchKeys?: Array<Extract<keyof T, string>>;
1225
+ /**
1226
+ * Message shown when there are no records to list, either because `items`
1227
+ * is empty or because no record matches the search.
1228
+ * @default "Nenhum registro encontrado."
1229
+ */
1230
+ noDataText?: string;
1231
+ /**
1232
+ * Shows a skeleton loader in place of the records while data is being
1233
+ * loaded.
1234
+ * @default false
1235
+ */
1236
+ loading?: boolean;
1237
+ /**
1238
+ * Component id to use on automated tests.
1239
+ */
1240
+ dataTestid?: string;
1241
+ };
1242
+ /**
1243
+ * Slots exposed by the {@link DataSet} component.
1244
+ */
1245
+ type DataSetSlots<T extends object> = {
1246
+ /**
1247
+ * Renders each record of the current page in its own grid column, usually
1248
+ * with `UDataSetItem`.
1249
+ * @param props.item The original record, from `items`.
1250
+ * @param props.index Position of the record inside the current page.
1251
+ */
1252
+ default?: (props: {
1253
+ item: T;
1254
+ index: number;
1255
+ }) => unknown;
1256
+ };
1257
+ //#endregion
1258
+ //#region src/components/data-sets/data-set/data-set.vue.d.ts
1259
+ /**
1260
+ * Data set component to list records as a responsive grid of cards, with
1261
+ * client-side pagination and an optional search field. Each record of the
1262
+ * current page is rendered by the default slot, usually with `UDataSetItem`.
1263
+ *
1264
+ * @example
1265
+ * ```vue
1266
+ * <template>
1267
+ * <u-data-set :items="patients" :columns="4" searchable>
1268
+ * <template #default="{ item }">
1269
+ * <u-data-set-item :title="item.name" :subtitle="item.plan" />
1270
+ * </template>
1271
+ * </u-data-set>
1272
+ * </template>
1273
+ * ```
1274
+ *
1275
+ * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/data-set | DataSet Guide}
1276
+ */
1277
+ declare const _default$5: typeof __VLS_export$2;
1278
+ 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<{
1279
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(DataSetProps<T> & {
1280
+ page?: number;
1281
+ search?: string;
1282
+ }) & {
1283
+ "onUpdate:page"?: ((value: number) => any) | undefined;
1284
+ "onUpdate:search"?: ((value: string) => any) | undefined;
1285
+ }> & (typeof globalThis extends {
1286
+ __VLS_PROPS_FALLBACK: infer P;
1287
+ } ? P : {});
1288
+ expose: (exposed: {}) => void;
1289
+ attrs: any;
1290
+ slots: DataSetSlots<T>;
1291
+ emit: ((event: "update:page", value: number) => void) & ((event: "update:search", value: string) => void);
1292
+ }>) => import("vue").VNode & {
1293
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
1294
+ };
1295
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};
1296
+ //#endregion
1297
+ //#region src/components/data-sets/data-set-item/types.d.ts
1298
+ /**
1299
+ * Props exposed by the {@link DataSetItem} component.
1300
+ */
1301
+ type DataSetItemProps = {
1302
+ /**
1303
+ * Title displayed at the top of the record's card.
1304
+ */
1305
+ title?: string;
1306
+ /**
1307
+ * Short description displayed below the title.
1308
+ */
1309
+ subtitle?: string;
1310
+ /**
1311
+ * Applies a distinct style variation to the record's card, just like on
1312
+ * `USection`. One of `primary` or `secondary`.
1313
+ * @default "primary"
1314
+ */
1315
+ variant?: SectionVariant;
1316
+ /**
1317
+ * Actions of the record, like "Editar" and "Excluir", displayed at the
1318
+ * bottom of its card, just like on `USection`. When undefined or empty, no
1319
+ * actions area is rendered.
1320
+ */
1321
+ actions?: SectionAction[];
1322
+ /**
1323
+ * Component id to use on automated tests.
1324
+ */
1325
+ dataTestid?: string;
1326
+ };
1327
+ /**
1328
+ * Slots exposed by the {@link DataSetItem} component.
1329
+ */
1330
+ type DataSetItemSlots = {
1331
+ /**
1332
+ * Details of the record, displayed below the title and subtitle, like a
1333
+ * vertical `UTable` with some of its fields.
1334
+ */
1335
+ default?: () => unknown;
1336
+ };
1337
+ //#endregion
1338
+ //#region src/components/data-sets/data-set-item/data-set-item.vue.d.ts
1339
+ /**
1340
+ * Card of a single record listed by a {@link DataSet}, built on `USection`.
1341
+ * It fills the height of its grid column, so the cards of a row line up. Its
1342
+ * details, like a vertical `UTable`, go in the default slot.
1343
+ *
1344
+ * @example
1345
+ * ```vue
1346
+ * <template>
1347
+ * <u-data-set :items="patients">
1348
+ * <template #default="{ item }">
1349
+ * <u-data-set-item
1350
+ * :title="item.name"
1351
+ * subtitle="Beneficiário"
1352
+ * :actions="[{ label: 'Editar', variant: 'secondary', onClick: () => edit(item) }]"
1353
+ * >
1354
+ * <u-table :headers="['Plano', 'Idade']" :items="[[item.plan, item.age]]" vertical />
1355
+ * </u-data-set-item>
1356
+ * </template>
1357
+ * </u-data-set>
1358
+ * </template>
1359
+ * ```
1360
+ *
1361
+ * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/data-set | DataSet Guide}
1362
+ */
1363
+ declare const _default$6: typeof __VLS_export$1;
1364
+ 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>;
1365
+ type __VLS_WithSlots$1<T, S> = T & {
1366
+ new (): {
1367
+ $slots: S;
1368
+ };
1369
+ };
1370
+ //#endregion
1371
+ //#region src/components/dialogs/dialog/types.d.ts
1372
+ type DialogSize = "small" | "medium" | "large";
1373
+ /**
1374
+ * Props exposed by the {@link Dialog} component.
1375
+ */
1376
+ type DialogProps = {
1377
+ /**
1378
+ * Plain text displayed as the dialog's title, in a single line. HTML isn't interpreted.
1379
+ * Also used as the dialog's accessible name. Without it, the content is the accessible name.
1380
+ */
1381
+ title?: string;
1382
+ /**
1383
+ * Buttons displayed at the bottom of the dialog, right-aligned, in the given order.
1384
+ * Place the main action last. When undefined or empty, no actions area is rendered.
1385
+ * Clicking an action doesn't close the dialog: set `v-model` to `false` in `onClick`.
1386
+ */
1387
+ actions?: DialogButtonAction[];
1388
+ /**
1389
+ * Maximum width of the dialog.
1390
+ * One of `small` (400px), `medium` (560px), or `large` (800px).
1391
+ * @default "medium"
1392
+ */
1393
+ size?: DialogSize;
1394
+ /**
1395
+ * Component id to use on automated tests.
1396
+ */
1397
+ dataTestid?: string;
1398
+ };
1399
+ /**
1400
+ * A single action rendered inside {@link Dialog}'s actions area. Same shape as `USection`'s
1401
+ * actions.
1402
+ */
1403
+ interface DialogButtonAction extends ButtonProps {
1404
+ /**
1405
+ * Text displayed on the action button.
1406
+ */
1407
+ label: string;
1408
+ /**
1409
+ * Called when the action button is clicked. The dialog stays open.
1410
+ */
1411
+ onClick?: (event: MouseEvent) => void;
1412
+ }
1413
+ //#endregion
1414
+ //#region src/components/dialogs/dialog/dialog.vue.d.ts
1415
+ /**
1416
+ * Dialog component to display content in a modal window, over the page, until it's closed.
1417
+ * Its title and actions stay in place while the content scrolls.
1418
+ *
1419
+ * @example
1420
+ * ```vue
1421
+ * <template>
1422
+ * <u-dialog v-model="open" title="Title" :actions="[{ label: 'Close', onClick: () => (open = false) }]">
1423
+ * Content
1424
+ * </u-dialog>
1425
+ * </template>
1426
+ * ```
1427
+ *
1428
+ * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/dialog | Dialog Guide}
1429
+ */
1430
+ declare const _default$9: typeof __VLS_export;
1431
+ declare const __VLS_export: __VLS_WithSlots<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<DialogProps & {
1432
+ modelValue?: boolean;
1433
+ }, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
1434
+ "update:modelValue": (value: boolean) => any;
1435
+ }, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<DialogProps & {
1436
+ modelValue?: boolean;
1437
+ }> & Readonly<{
1438
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1439
+ }>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
1440
+ default?: (props: {}) => any;
1441
+ }>;
1442
+ type __VLS_WithSlots<T, S> = T & {
1443
+ new (): {
1444
+ $slots: S;
1445
+ };
1446
+ };
706
1447
  //#endregion
707
- export { _default as UButton, _default$1 as UColumn, _default$2 as UContainer, _default$3 as UForm, _default$4 as UMain, _default$5 as URow, _default$6 as USection, _default$7 as USectionContent, _default$8 as UTable, _default$9 as UTextField };
1448
+ 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 UImg, _default$12 as UMain, _default$13 as URow, _default$14 as USection, _default$15 as USectionContent, _default$16 as UTable, _default$17 as UTextField };