@nexdom/uimed-vue 2.0.0-beta.55 → 2.0.0-beta.57

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.
@@ -319,8 +319,8 @@ type MainProps = {
319
319
  *
320
320
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/main | Main Guide}
321
321
  */
322
- declare const _default$14: typeof __VLS_export$20;
323
- declare const __VLS_export$20: __VLS_WithSlots$11<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<MainProps & {
322
+ declare const _default$14: typeof __VLS_export$21;
323
+ declare const __VLS_export$21: __VLS_WithSlots$12<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<MainProps & {
324
324
  notificationsOpen?: boolean;
325
325
  }, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
326
326
  "update:notificationsOpen": (value: boolean) => any;
@@ -331,7 +331,7 @@ declare const __VLS_export$20: __VLS_WithSlots$11<import("vue", { with: { "resol
331
331
  }>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
332
332
  default?: (props: {}) => any;
333
333
  }>;
334
- type __VLS_WithSlots$11<T, S> = T & {
334
+ type __VLS_WithSlots$12<T, S> = T & {
335
335
  new (): {
336
336
  $slots: S;
337
337
  };
@@ -352,15 +352,15 @@ type __VLS_WithSlots$11<T, S> = T & {
352
352
  *
353
353
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/button | Button Guide}
354
354
  */
355
- declare const _default$1: typeof __VLS_export$19;
356
- 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, {} & {
355
+ declare const _default$1: typeof __VLS_export$20;
356
+ declare const __VLS_export$20: __VLS_WithSlots$11<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {} & {
357
357
  click: (event: MouseEvent) => any;
358
358
  }, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<ButtonProps> & Readonly<{
359
359
  onClick?: ((event: MouseEvent) => any) | undefined;
360
360
  }>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
361
361
  default?: (props: {}) => any;
362
362
  }>;
363
- type __VLS_WithSlots$10<T, S> = T & {
363
+ type __VLS_WithSlots$11<T, S> = T & {
364
364
  new (): {
365
365
  $slots: S;
366
366
  };
@@ -410,8 +410,8 @@ type IconButtonProps = {
410
410
  *
411
411
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/icon-button | IconButton Guide}
412
412
  */
413
- declare const _default$11: typeof __VLS_export$18;
414
- 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, {} & {
413
+ declare const _default$11: typeof __VLS_export$19;
414
+ declare const __VLS_export$19: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<IconButtonProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {} & {
415
415
  click: (event: MouseEvent) => any;
416
416
  }, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<IconButtonProps> & Readonly<{
417
417
  onClick?: ((event: MouseEvent) => any) | undefined;
@@ -583,8 +583,8 @@ type AutocompleteFieldProps<T = string, Multiple extends boolean = false> = {
583
583
  *
584
584
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/autocomplete-field | AutocompleteField Guide}
585
585
  */
586
- declare const _default: typeof __VLS_export$17;
587
- 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<{
586
+ declare const _default: typeof __VLS_export$18;
587
+ declare const __VLS_export$18: <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<{
588
588
  props: import("vue").PublicProps & __VLS_PrettifyLocal$2<(AutocompleteFieldProps<T, Multiple> & {
589
589
  modelValue?: Multiple extends true ? T[] : T;
590
590
  }) & {
@@ -614,8 +614,8 @@ type __VLS_PrettifyLocal$2<T> = (T extends any ? { [K in keyof T]: T[K]; } : { [
614
614
  *
615
615
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/text-field | TextField Guide}
616
616
  */
617
- declare const _default$20: typeof __VLS_export$16;
618
- declare const __VLS_export$16: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<TextFieldProps & {
617
+ declare const _default$21: typeof __VLS_export$17;
618
+ declare const __VLS_export$17: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<TextFieldProps & {
619
619
  modelValue?: string;
620
620
  }, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
621
621
  "update:modelValue": (value: string) => any;
@@ -677,8 +677,8 @@ type CheckboxProps<T = boolean> = {
677
677
  *
678
678
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/checkbox | Checkbox Guide}
679
679
  */
680
- declare const _default$2: typeof __VLS_export$15;
681
- 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<{
680
+ declare const _default$2: typeof __VLS_export$16;
681
+ declare const __VLS_export$16: <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<{
682
682
  props: import("vue").PublicProps & __VLS_PrettifyLocal$1<(CheckboxProps<boolean | T> & {
683
683
  modelValue?: T;
684
684
  }) & {
@@ -794,8 +794,8 @@ type DateTimeFieldProps = {
794
794
  *
795
795
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/date-time-field | DateTimeField Guide}
796
796
  */
797
- declare const _default$7: typeof __VLS_export$14;
798
- declare const __VLS_export$14: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<DateTimeFieldProps & {
797
+ declare const _default$7: typeof __VLS_export$15;
798
+ declare const __VLS_export$15: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<DateTimeFieldProps & {
799
799
  modelValue?: string;
800
800
  }, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
801
801
  "update:modelValue": (value: string) => any;
@@ -942,8 +942,8 @@ type MaskFieldProps = {
942
942
  *
943
943
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/mask-field | MaskField Guide}
944
944
  */
945
- declare const _default$15: typeof __VLS_export$13;
946
- declare const __VLS_export$13: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<MaskFieldProps & {
945
+ declare const _default$15: typeof __VLS_export$14;
946
+ declare const __VLS_export$14: import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<MaskFieldProps & {
947
947
  modelValue?: string;
948
948
  }, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
949
949
  "update:modelValue": (value: string) => any;
@@ -987,11 +987,11 @@ type ContainerProps = {
987
987
  *
988
988
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/layout | Container Guide}
989
989
  */
990
- declare const _default$4: typeof __VLS_export$12;
991
- 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>, {
990
+ declare const _default$4: typeof __VLS_export$13;
991
+ declare const __VLS_export$13: __VLS_WithSlots$10<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>, {
992
992
  default?: (props: {}) => any;
993
993
  }>;
994
- type __VLS_WithSlots$9<T, S> = T & {
994
+ type __VLS_WithSlots$10<T, S> = T & {
995
995
  new (): {
996
996
  $slots: S;
997
997
  };
@@ -1088,11 +1088,11 @@ type RowProps = {
1088
1088
  *
1089
1089
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/layout | Row Guide}
1090
1090
  */
1091
- declare const _default$16: typeof __VLS_export$11;
1092
- 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>, {
1091
+ declare const _default$17: typeof __VLS_export$12;
1092
+ declare const __VLS_export$12: __VLS_WithSlots$9<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>, {
1093
1093
  default?: (props: {}) => any;
1094
1094
  }>;
1095
- type __VLS_WithSlots$8<T, S> = T & {
1095
+ type __VLS_WithSlots$9<T, S> = T & {
1096
1096
  new (): {
1097
1097
  $slots: S;
1098
1098
  };
@@ -1144,13 +1144,13 @@ type Cols = "auto" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10"
1144
1144
  *
1145
1145
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/layout | Column Guide}
1146
1146
  */
1147
- declare const _default$3: typeof __VLS_export$10;
1148
- 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<{}>, {
1147
+ declare const _default$3: typeof __VLS_export$11;
1148
+ declare const __VLS_export$11: __VLS_WithSlots$8<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<{}>, {
1149
1149
  cols: "12" | "auto" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11";
1150
1150
  }, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
1151
1151
  default?: (props: {}) => any;
1152
1152
  }>;
1153
- type __VLS_WithSlots$7<T, S> = T & {
1153
+ type __VLS_WithSlots$8<T, S> = T & {
1154
1154
  new (): {
1155
1155
  $slots: S;
1156
1156
  };
@@ -1187,15 +1187,15 @@ type FormProps = {
1187
1187
  *
1188
1188
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/form | Form Guide}
1189
1189
  */
1190
- declare const _default$10: typeof __VLS_export$9;
1191
- 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, {} & {
1190
+ declare const _default$10: typeof __VLS_export$10;
1191
+ declare const __VLS_export$10: __VLS_WithSlots$7<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<FormProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {} & {
1192
1192
  submit: (event: SubmitEvent) => any;
1193
1193
  }, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<FormProps> & Readonly<{
1194
1194
  onSubmit?: ((event: SubmitEvent) => any) | undefined;
1195
1195
  }>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
1196
1196
  default?: (props: {}) => any;
1197
1197
  }>;
1198
- type __VLS_WithSlots$6<T, S> = T & {
1198
+ type __VLS_WithSlots$7<T, S> = T & {
1199
1199
  new (): {
1200
1200
  $slots: S;
1201
1201
  };
@@ -1217,11 +1217,11 @@ type __VLS_WithSlots$6<T, S> = T & {
1217
1217
  *
1218
1218
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/section | Section Guide}
1219
1219
  */
1220
- declare const _default$18: typeof __VLS_export$8;
1221
- 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>, {
1220
+ declare const _default$19: typeof __VLS_export$9;
1221
+ declare const __VLS_export$9: __VLS_WithSlots$6<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>, {
1222
1222
  default?: (props: {}) => any;
1223
1223
  }>;
1224
- type __VLS_WithSlots$5<T, S> = T & {
1224
+ type __VLS_WithSlots$6<T, S> = T & {
1225
1225
  new (): {
1226
1226
  $slots: S;
1227
1227
  };
@@ -1322,11 +1322,11 @@ interface SectionAction extends ButtonProps {
1322
1322
  *
1323
1323
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/section | Section Guide}
1324
1324
  */
1325
- declare const _default$17: typeof __VLS_export$7;
1326
- 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>, {
1325
+ declare const _default$18: typeof __VLS_export$8;
1326
+ declare const __VLS_export$8: __VLS_WithSlots$5<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>, {
1327
1327
  default?: (props: {}) => any;
1328
1328
  }>;
1329
- type __VLS_WithSlots$4<T, S> = T & {
1329
+ type __VLS_WithSlots$5<T, S> = T & {
1330
1330
  new (): {
1331
1331
  $slots: S;
1332
1332
  };
@@ -1397,8 +1397,8 @@ type TableProps = {
1397
1397
  *
1398
1398
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/table | Table Guide}
1399
1399
  */
1400
- declare const _default$19: typeof __VLS_export$6;
1401
- 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>;
1400
+ declare const _default$20: typeof __VLS_export$7;
1401
+ declare const __VLS_export$7: 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>;
1402
1402
  //#endregion
1403
1403
  //#region src/components/details/types.d.ts
1404
1404
  type DetailsVariant = "primary" | "secondary";
@@ -1445,11 +1445,11 @@ type DetailsProps = {
1445
1445
  *
1446
1446
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/details | Details Guide}
1447
1447
  */
1448
- declare const _default$8: typeof __VLS_export$5;
1449
- 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>, {
1448
+ declare const _default$8: typeof __VLS_export$6;
1449
+ declare const __VLS_export$6: __VLS_WithSlots$4<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>, {
1450
1450
  default?: (props: {}) => any;
1451
1451
  }>;
1452
- type __VLS_WithSlots$3<T, S> = T & {
1452
+ type __VLS_WithSlots$4<T, S> = T & {
1453
1453
  new (): {
1454
1454
  $slots: S;
1455
1455
  };
@@ -1516,8 +1516,8 @@ type ImgProps = {
1516
1516
  *
1517
1517
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/img | Img Guide}
1518
1518
  */
1519
- declare const _default$12: typeof __VLS_export$4;
1520
- 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>;
1519
+ declare const _default$12: typeof __VLS_export$5;
1520
+ declare const __VLS_export$5: 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>;
1521
1521
  //#endregion
1522
1522
  //#region src/components/link/types.d.ts
1523
1523
  /**
@@ -1551,11 +1551,11 @@ type LinkProps = {
1551
1551
  *
1552
1552
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/link | Link Guide}
1553
1553
  */
1554
- declare const _default$13: typeof __VLS_export$3;
1555
- 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>, {
1554
+ declare const _default$13: typeof __VLS_export$4;
1555
+ declare const __VLS_export$4: __VLS_WithSlots$3<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>, {
1556
1556
  default?: (props: {}) => any;
1557
1557
  }>;
1558
- type __VLS_WithSlots$2<T, S> = T & {
1558
+ type __VLS_WithSlots$3<T, S> = T & {
1559
1559
  new (): {
1560
1560
  $slots: S;
1561
1561
  };
@@ -1595,7 +1595,21 @@ type DataSetProps<T extends object> = {
1595
1595
  */
1596
1596
  itemsPerPage?: number;
1597
1597
  /**
1598
- * Shows a search field above the records, bound to `v-model:search`.
1598
+ * List of actions about the whole list, such as creating a record, displayed
1599
+ * as buttons at the start of the bar above the records, before the search
1600
+ * field. Same shape as `USection`'s actions.
1601
+ *
1602
+ * With the search field, the actions take the first half of the bar,
1603
+ * wrapping within it, or a line of their own when the data set isn't wide
1604
+ * enough for two records side by side. On extra small screens, each action
1605
+ * takes a line of its own and the full width. When undefined or empty, and
1606
+ * `searchable` is false, no bar is rendered.
1607
+ */
1608
+ actions?: SectionAction[];
1609
+ /**
1610
+ * Shows a search field at the end of the bar above the records, bound to
1611
+ * `v-model:search`. It's 240px wide, the same as a card's minimum width. On
1612
+ * extra small screens, it takes a line of its own and the full width.
1599
1613
  * @default false
1600
1614
  */
1601
1615
  searchable?: boolean;
@@ -1640,13 +1654,19 @@ type DataSetSlots<T extends object> = {
1640
1654
  //#region src/components/data-sets/data-set/data-set.vue.d.ts
1641
1655
  /**
1642
1656
  * Data set component to list records as a responsive grid of cards, with
1643
- * client-side pagination and an optional search field. Each record of the
1644
- * current page is rendered by the default slot, usually with `UDataSetItem`.
1657
+ * client-side pagination, and an optional bar above the records with actions
1658
+ * about the list and a search field. Each record of the current page is
1659
+ * rendered by the default slot, usually with `UDataSetItem`.
1645
1660
  *
1646
1661
  * @example
1647
1662
  * ```vue
1648
1663
  * <template>
1649
- * <u-data-set :items="patients" :columns="4" searchable>
1664
+ * <u-data-set
1665
+ * :items="patients"
1666
+ * :columns="4"
1667
+ * :actions="[{ label: 'Novo paciente', onClick: create }]"
1668
+ * searchable
1669
+ * >
1650
1670
  * <template #default="{ item }">
1651
1671
  * <u-data-set-item :title="item.name" :subtitle="item.plan" />
1652
1672
  * </template>
@@ -1656,8 +1676,8 @@ type DataSetSlots<T extends object> = {
1656
1676
  *
1657
1677
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/data-set | DataSet Guide}
1658
1678
  */
1659
- declare const _default$5: typeof __VLS_export$2;
1660
- 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<{
1679
+ declare const _default$5: typeof __VLS_export$3;
1680
+ declare const __VLS_export$3: <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<{
1661
1681
  props: import("vue").PublicProps & __VLS_PrettifyLocal<(DataSetProps<T> & {
1662
1682
  page?: number;
1663
1683
  search?: string;
@@ -1742,9 +1762,9 @@ type DataSetItemSlots = {
1742
1762
  *
1743
1763
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/data-set | DataSet Guide}
1744
1764
  */
1745
- declare const _default$6: typeof __VLS_export$1;
1746
- 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>;
1747
- type __VLS_WithSlots$1<T, S> = T & {
1765
+ declare const _default$6: typeof __VLS_export$2;
1766
+ declare const __VLS_export$2: __VLS_WithSlots$2<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>;
1767
+ type __VLS_WithSlots$2<T, S> = T & {
1748
1768
  new (): {
1749
1769
  $slots: S;
1750
1770
  };
@@ -1812,8 +1832,8 @@ interface DialogButtonAction extends ButtonProps {
1812
1832
  *
1813
1833
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/dialog | Dialog Guide}
1814
1834
  */
1815
- declare const _default$9: typeof __VLS_export;
1816
- declare const __VLS_export: __VLS_WithSlots<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<DialogProps & {
1835
+ declare const _default$9: typeof __VLS_export$1;
1836
+ declare const __VLS_export$1: __VLS_WithSlots$1<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<DialogProps & {
1817
1837
  modelValue?: boolean;
1818
1838
  }, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {
1819
1839
  "update:modelValue": (value: boolean) => any;
@@ -1824,10 +1844,66 @@ declare const __VLS_export: __VLS_WithSlots<import("vue", { with: { "resolution-
1824
1844
  }>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
1825
1845
  default?: (props: {}) => any;
1826
1846
  }>;
1847
+ type __VLS_WithSlots$1<T, S> = T & {
1848
+ new (): {
1849
+ $slots: S;
1850
+ };
1851
+ };
1852
+ //#endregion
1853
+ //#region src/components/page-transition/types.d.ts
1854
+ /**
1855
+ * Props exposed by the {@link PageTransition} component.
1856
+ */
1857
+ type PageTransitionProps = {
1858
+ /**
1859
+ * Identifies the page on display: the change is animated whenever it
1860
+ * changes. Defaults to the current route's `fullPath`, so every navigation
1861
+ * is animated, including the ones that only change the route's params,
1862
+ * query or hash. Pass another value to choose which navigations are
1863
+ * animated, e.g. `route.path` to not animate when only the query or the
1864
+ * hash changes.
1865
+ *
1866
+ * @default route.fullPath
1867
+ */
1868
+ transitionKey?: string;
1869
+ };
1870
+ //#endregion
1871
+ //#region src/components/page-transition/page-transition.vue.d.ts
1872
+ /**
1873
+ * Animates the change between the pages rendered by the app's router: the
1874
+ * current page fades out before the next one fades in. When the operating
1875
+ * system asks for reduced motion, the pages change without animation.
1876
+ *
1877
+ * The page is rendered inside a `div` that takes the whole height of its
1878
+ * parent, so any page is animated, whatever it renders at its root. The
1879
+ * change is animated whenever `transitionKey` changes, which defaults to the
1880
+ * current route's `fullPath`: every navigation is animated, including the
1881
+ * ones that only change the route's params, query or hash. Attributes
1882
+ * (`class`, `style`...) aren't passed on.
1883
+ *
1884
+ * @example
1885
+ * ```vue
1886
+ * <template>
1887
+ * <u-main>
1888
+ * <router-view v-slot="{ Component }">
1889
+ * <u-page-transition>
1890
+ * <component :is="Component" />
1891
+ * </u-page-transition>
1892
+ * </router-view>
1893
+ * </u-main>
1894
+ * </template>
1895
+ * ```
1896
+ *
1897
+ * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/page-transition | Page Transition Guide}
1898
+ */
1899
+ declare const _default$16: typeof __VLS_export;
1900
+ declare const __VLS_export: __VLS_WithSlots<import("vue", { with: { "resolution-mode": "import" } }).DefineComponent<PageTransitionProps, {}, {}, {}, {}, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, import("vue", { with: { "resolution-mode": "import" } }).ComponentOptionsMixin, {}, string, import("vue", { with: { "resolution-mode": "import" } }).PublicProps, Readonly<PageTransitionProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
1901
+ default?: (props: {}) => any;
1902
+ }>;
1827
1903
  type __VLS_WithSlots<T, S> = T & {
1828
1904
  new (): {
1829
1905
  $slots: S;
1830
1906
  };
1831
1907
  };
1832
1908
  //#endregion
1833
- 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 };
1909
+ 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 UPageTransition, _default$17 as URow, _default$18 as USection, _default$19 as USectionContent, _default$20 as UTable, _default$21 as UTextField };
@@ -3,10 +3,10 @@ import { a as messages, c as colorToVuetifyTextColor, n as owners$1, r as reques
3
3
  import { useLocale, useMask } from "vuetify";
4
4
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, inject, isRef, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, onMounted, onScopeDispose, onUnmounted, openBlock, provide, readonly, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toValue, unref, useId, useModel, useSlots, useTemplateRef, watch, withCtx, withKeys, withModifiers } from "vue";
5
5
  import { pt } from "vuetify/locale";
6
- import { VApp, VAppBar, VAppBarNavIcon, VAppBarTitle, VAutocomplete, VAvatar, VBadge, VBtn, VCard, VCardActions, VCardItem, VCardText, VCheckboxBtn, VCol, VCombobox, VContainer, VDataIterator, VDatePicker, VDialog, VDivider, VEmptyState, VExpansionPanel, VExpansionPanelText, VExpansionPanelTitle, VExpansionPanels, VFooter, VForm, VIcon, VIconBtn, VImg, VList, VListGroup, VListItem, VListItemAction, VListSubheader, VLocaleProvider, VMain, VMenu, VNavigationDrawer, VPagination, VProgressCircular, VProgressLinear, VRow, VSkeletonLoader, VSnackbarQueue, VTable, VTextField, VTimePicker } from "vuetify/components";
6
+ import { VApp, VAppBar, VAppBarNavIcon, VAppBarTitle, VAutocomplete, VAvatar, VBadge, VBtn, VCard, VCardActions, VCardItem, VCardText, VCheckboxBtn, VCol, VCombobox, VContainer, VDataIterator, VDatePicker, VDefaultsProvider, VDialog, VDivider, VEmptyState, VExpansionPanel, VExpansionPanelText, VExpansionPanelTitle, VExpansionPanels, VFadeTransition, VFooter, VForm, VIcon, VIconBtn, VImg, VList, VListGroup, VListItem, VListItemAction, VListSubheader, VLocaleProvider, VMain, VMenu, VNavigationDrawer, VPagination, VProgressCircular, VProgressLinear, VRow, VSkeletonLoader, VSnackbarQueue, VTable, VTextField, VTimePicker } from "vuetify/components";
7
7
  import { formatDateTime, isEmail, isEmpty, isPhone, isUrl, toInitials } from "@nexdom/shared/utils";
8
8
  import { VHighlight } from "vuetify/labs/VHighlight";
9
- import { RouterLink } from "vue-router";
9
+ import { RouterLink, useRoute } from "vue-router";
10
10
  //#region src/composables/navigation/use-route-props.ts
11
11
  function useRouteProps(route) {
12
12
  return computed(() => routeToProps(route));
@@ -2984,6 +2984,15 @@ function useDataSetColumnCols(columns) {
2984
2984
  return computed(() => dataSetColumnsToColumnCols[toValue(columns)]);
2985
2985
  }
2986
2986
  /**
2987
+ * Width, out of the bar's 12 columns, of the actions and of the search field
2988
+ * above the records of a data set `width` pixels wide: they share the bar in
2989
+ * halves (`"6"`) where two cards fit side by side, so the search field, as wide
2990
+ * as a card, fits in its half, and take a line each (`"12"`) otherwise.
2991
+ */
2992
+ function useDataSetBarCols(width) {
2993
+ return computed(() => getDataSetFittingColumns(2, toValue(width)) === 2 ? "6" : "12");
2994
+ }
2995
+ /**
2987
2996
  * Maps the record properties considered by the search to Vuetify's filter
2988
2997
  * keys. An empty list means every property, just like an undefined one.
2989
2998
  */
@@ -3019,6 +3028,92 @@ function useDataSetSearchPageReset(search, page) {
3019
3028
  });
3020
3029
  }
3021
3030
  //#endregion
3031
+ //#region src/components/data-sets/data-set-bar.vue
3032
+ var data_set_bar_default = /* @__PURE__ */ defineComponent({
3033
+ inheritAttrs: false,
3034
+ __name: "data-set-bar",
3035
+ props: /*@__PURE__*/ mergeModels({
3036
+ actions: {
3037
+ type: Array,
3038
+ required: false
3039
+ },
3040
+ searchable: {
3041
+ type: Boolean,
3042
+ required: false
3043
+ },
3044
+ cols: {
3045
+ type: String,
3046
+ required: true
3047
+ }
3048
+ }, {
3049
+ "modelValue": {
3050
+ type: String,
3051
+ default: ""
3052
+ },
3053
+ "modelModifiers": {}
3054
+ }),
3055
+ emits: ["update:modelValue"],
3056
+ setup(__props) {
3057
+ const props = __props;
3058
+ const search = useModel(__props, "modelValue");
3059
+ const searchFieldDefaults = { VTextField: {
3060
+ hideDetails: "auto",
3061
+ minWidth: 240
3062
+ } };
3063
+ return (_ctx, _cache) => {
3064
+ return openBlock(), createBlock(row_default, { "align-y": "end" }, {
3065
+ default: withCtx(() => [
3066
+ createCommentVNode(" The search field leaves room above its text for the floating label, so its text, icon and\n underline sit below its middle. Centered on it, the actions would look higher than the\n field, so they line up with its underline instead "),
3067
+ createCommentVNode(" No column grows to push the search field to the end of the line, so the actions and the\n search field share it in two columns, and the search field is aligned to the end of its\n own "),
3068
+ props.actions?.length ? (openBlock(), createBlock(column_default, {
3069
+ key: 0,
3070
+ cols: props.searchable ? props.cols : "12"
3071
+ }, {
3072
+ default: withCtx(() => [createVNode(row_default, null, {
3073
+ default: withCtx(() => [createCommentVNode(" Each action takes the full width of its column, which only stretches it below sm "), (openBlock(true), createElementBlock(Fragment, null, renderList(props.actions, ({ label, onClick, ...action }, index) => {
3074
+ return openBlock(), createBlock(column_default, {
3075
+ key: index,
3076
+ cols: "auto"
3077
+ }, {
3078
+ default: withCtx(() => [createVNode(button_default, mergeProps({ "full-width": "" }, { ref_for: true }, action, { onClick }), {
3079
+ default: withCtx(() => [createTextVNode(toDisplayString(label), 1)]),
3080
+ _: 2
3081
+ }, 1040, ["onClick"])]),
3082
+ _: 2
3083
+ }, 1024);
3084
+ }), 128))]),
3085
+ _: 1
3086
+ })]),
3087
+ _: 1
3088
+ }, 8, ["cols"])) : createCommentVNode("v-if", true),
3089
+ props.searchable ? (openBlock(), createBlock(column_default, {
3090
+ key: 1,
3091
+ cols: props.actions?.length ? props.cols : "12"
3092
+ }, {
3093
+ default: withCtx(() => [createVNode(row_default, { "align-x": "end" }, {
3094
+ default: withCtx(() => [createVNode(column_default, { cols: "auto" }, {
3095
+ default: withCtx(() => [createCommentVNode(" Hides the empty messages area, which would misalign the field with the actions, and\n keeps the field from shrinking to its label, which is all a column of its own width\n would leave it "), createVNode(unref(VDefaultsProvider), { defaults: searchFieldDefaults }, {
3096
+ default: withCtx(() => [createVNode(text_field_default, {
3097
+ modelValue: search.value,
3098
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => search.value = $event),
3099
+ type: "search",
3100
+ label: "Pesquisar"
3101
+ }, null, 8, ["modelValue"])]),
3102
+ _: 1
3103
+ })]),
3104
+ _: 1
3105
+ })]),
3106
+ _: 1
3107
+ })]),
3108
+ _: 1
3109
+ }, 8, ["cols"])) : createCommentVNode("v-if", true)
3110
+ ]),
3111
+ _: 1
3112
+ });
3113
+ };
3114
+ }
3115
+ });
3116
+ //#endregion
3022
3117
  //#region src/components/data-sets/data-set/data-set.vue
3023
3118
  var data_set_default = /* @__PURE__ */ defineComponent({
3024
3119
  inheritAttrs: false,
@@ -3038,6 +3133,10 @@ var data_set_default = /* @__PURE__ */ defineComponent({
3038
3133
  required: false,
3039
3134
  default: 10
3040
3135
  },
3136
+ actions: {
3137
+ type: Array,
3138
+ required: false
3139
+ },
3041
3140
  searchable: {
3042
3141
  type: Boolean,
3043
3142
  required: false
@@ -3078,7 +3177,9 @@ var data_set_default = /* @__PURE__ */ defineComponent({
3078
3177
  const page = useModel(__props, "page");
3079
3178
  const search = useModel(__props, "search");
3080
3179
  const iterator = useTemplateRef("iterator");
3081
- const columnCols = useDataSetColumnCols(useDataSetFittingColumns(() => props.columns, useDataSetWidth(() => iterator.value?.$el)));
3180
+ const width = useDataSetWidth(() => iterator.value?.$el);
3181
+ const columnCols = useDataSetColumnCols(useDataSetFittingColumns(() => props.columns, width));
3182
+ const barColumnCols = useDataSetBarCols(width);
3082
3183
  const filterKeys = useDataSetFilterKeys(() => props.searchKeys);
3083
3184
  useDataSetSearchPageReset(search, page);
3084
3185
  return (_ctx, _cache) => {
@@ -3087,64 +3188,75 @@ var data_set_default = /* @__PURE__ */ defineComponent({
3087
3188
  type: "card",
3088
3189
  "full-width": ""
3089
3190
  }, {
3090
- default: withCtx(() => [createVNode(unref(VDataIterator), {
3091
- ref_key: "iterator",
3092
- ref: iterator,
3093
- page: page.value,
3094
- "onUpdate:page": _cache[2] || (_cache[2] = ($event) => page.value = $event),
3095
- items: props.items,
3096
- "items-per-page": props.itemsPerPage,
3097
- search: search.value,
3098
- "filter-keys": unref(filterKeys),
3099
- "data-testid": props.dataTestid
3100
- }, {
3101
- header: withCtx(() => [props.searchable ? (openBlock(), createBlock(text_field_default, {
3102
- key: 0,
3103
- modelValue: search.value,
3104
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => search.value = $event),
3105
- type: "search",
3106
- label: "Pesquisar"
3107
- }, null, 8, ["modelValue"])) : createCommentVNode("v-if", true)]),
3108
- default: withCtx(({ items: pageItems }) => [createCommentVNode(" Stretched, so the items of the same line (e.g. full-height cards) share its height "), createVNode(row_default, {
3109
- list: "",
3110
- "align-y": "stretch"
3111
- }, {
3112
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(pageItems, (pageItem, index) => {
3113
- return openBlock(), createBlock(column_default, {
3114
- key: index,
3115
- cols: unref(columnCols),
3116
- "list-item": ""
3191
+ default: withCtx(() => [createCommentVNode(" The bar and the records take a line each of the same row, so the grid spaces them as it\n spaces its lines. The bar stays out of the iterator's header, where nothing would space\n it from the records "), createVNode(row_default, { "data-testid": props.dataTestid }, {
3192
+ default: withCtx(() => [props.actions?.length || props.searchable ? (openBlock(), createBlock(column_default, { key: 0 }, {
3193
+ default: withCtx(() => [createVNode(data_set_bar_default, {
3194
+ modelValue: search.value,
3195
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => search.value = $event),
3196
+ actions: props.actions,
3197
+ searchable: props.searchable,
3198
+ cols: unref(barColumnCols)
3199
+ }, null, 8, [
3200
+ "modelValue",
3201
+ "actions",
3202
+ "searchable",
3203
+ "cols"
3204
+ ])]),
3205
+ _: 1
3206
+ })) : createCommentVNode("v-if", true), createVNode(column_default, null, {
3207
+ default: withCtx(() => [createVNode(unref(VDataIterator), {
3208
+ ref_key: "iterator",
3209
+ ref: iterator,
3210
+ page: page.value,
3211
+ "onUpdate:page": _cache[2] || (_cache[2] = ($event) => page.value = $event),
3212
+ items: props.items,
3213
+ "items-per-page": props.itemsPerPage,
3214
+ search: search.value,
3215
+ "filter-keys": unref(filterKeys)
3216
+ }, {
3217
+ default: withCtx(({ items: pageItems }) => [createCommentVNode(" Stretched, so the items of the same line (e.g. full-height cards) share its height "), createVNode(row_default, {
3218
+ list: "",
3219
+ "align-y": "stretch"
3117
3220
  }, {
3118
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
3119
- item: pageItem.raw,
3120
- index
3121
- })]),
3221
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(pageItems, (pageItem, index) => {
3222
+ return openBlock(), createBlock(column_default, {
3223
+ key: index,
3224
+ cols: unref(columnCols),
3225
+ "list-item": ""
3226
+ }, {
3227
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
3228
+ item: pageItem.raw,
3229
+ index
3230
+ })]),
3231
+ _: 2
3232
+ }, 1032, ["cols"]);
3233
+ }), 128))]),
3122
3234
  _: 2
3123
- }, 1032, ["cols"]);
3124
- }), 128))]),
3125
- _: 2
3126
- }, 1024)]),
3127
- "no-data": withCtx(() => [createVNode(unref(VEmptyState), { text: props.noDataText }, null, 8, ["text"])]),
3128
- footer: withCtx(({ pageCount }) => [pageCount > 1 ? (openBlock(), createBlock(unref(VPagination), {
3129
- key: 0,
3130
- modelValue: page.value,
3131
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => page.value = $event),
3132
- length: pageCount,
3133
- "total-visible": unref(getDataSetTotalVisible)(pageCount)
3134
- }, null, 8, [
3135
- "modelValue",
3136
- "length",
3137
- "total-visible"
3138
- ])) : createCommentVNode("v-if", true)]),
3235
+ }, 1024)]),
3236
+ "no-data": withCtx(() => [createVNode(unref(VEmptyState), { text: props.noDataText }, null, 8, ["text"])]),
3237
+ footer: withCtx(({ pageCount }) => [pageCount > 1 ? (openBlock(), createBlock(unref(VPagination), {
3238
+ key: 0,
3239
+ modelValue: page.value,
3240
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => page.value = $event),
3241
+ length: pageCount,
3242
+ "total-visible": unref(getDataSetTotalVisible)(pageCount)
3243
+ }, null, 8, [
3244
+ "modelValue",
3245
+ "length",
3246
+ "total-visible"
3247
+ ])) : createCommentVNode("v-if", true)]),
3248
+ _: 3
3249
+ }, 8, [
3250
+ "page",
3251
+ "items",
3252
+ "items-per-page",
3253
+ "search",
3254
+ "filter-keys"
3255
+ ])]),
3256
+ _: 3
3257
+ })]),
3139
3258
  _: 3
3140
- }, 8, [
3141
- "page",
3142
- "items",
3143
- "items-per-page",
3144
- "search",
3145
- "filter-keys",
3146
- "data-testid"
3147
- ])]),
3259
+ }, 8, ["data-testid"])]),
3148
3260
  _: 3
3149
3261
  }, 8, ["loading"]);
3150
3262
  };
@@ -3205,4 +3317,28 @@ var data_set_item_default = /* @__PURE__ */ defineComponent({
3205
3317
  }
3206
3318
  });
3207
3319
  //#endregion
3208
- export { autocomplete_field_default as UAutocompleteField, button_default as UButton, checkbox_default as UCheckbox, column_default as UColumn, container_default as UContainer, data_set_default as UDataSet, data_set_item_default as UDataSetItem, date_time_field_default as UDateTimeField, details_default as UDetails, dialog_default as UDialog, form_default as UForm, icon_button_default as UIconButton, img_default as UImg, link_default as ULink, main_default as UMain, mask_field_default as UMaskField, row_default as URow, section_default as USection, section_content_default as USectionContent, table_default as UTable, text_field_default as UTextField };
3320
+ //#region src/components/page-transition/page-transition.vue
3321
+ var page_transition_default = /* @__PURE__ */ defineComponent({
3322
+ inheritAttrs: false,
3323
+ __name: "page-transition",
3324
+ props: { transitionKey: {
3325
+ type: String,
3326
+ required: false
3327
+ } },
3328
+ setup(__props) {
3329
+ const props = __props;
3330
+ const route = useRoute();
3331
+ const pageKey = computed(() => props.transitionKey ?? route.fullPath);
3332
+ return (_ctx, _cache) => {
3333
+ return openBlock(), createElementBlock(Fragment, null, [createCommentVNode(" The page is wrapped so any page can be animated, whatever it renders at its root. The\n wrapper takes the parent's height, so pages with `fullHeight` still have a height to fill "), createVNode(unref(VFadeTransition), { mode: "out-in" }, {
3334
+ default: withCtx(() => [(openBlock(), createElementBlock("div", {
3335
+ key: pageKey.value,
3336
+ class: "h-100"
3337
+ }, [renderSlot(_ctx.$slots, "default")]))]),
3338
+ _: 3
3339
+ })], 2112);
3340
+ };
3341
+ }
3342
+ });
3343
+ //#endregion
3344
+ export { autocomplete_field_default as UAutocompleteField, button_default as UButton, checkbox_default as UCheckbox, column_default as UColumn, container_default as UContainer, data_set_default as UDataSet, data_set_item_default as UDataSetItem, date_time_field_default as UDateTimeField, details_default as UDetails, dialog_default as UDialog, form_default as UForm, icon_button_default as UIconButton, img_default as UImg, link_default as ULink, main_default as UMain, mask_field_default as UMaskField, page_transition_default as UPageTransition, row_default as URow, section_default as USection, section_content_default as USectionContent, table_default as UTable, text_field_default as UTextField };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexdom/uimed-vue",
3
- "version": "2.0.0-beta.55",
3
+ "version": "2.0.0-beta.57",
4
4
  "description": "A ui framework for NEXDOM applications.",
5
5
  "keywords": [
6
6
  "lib",