@nexdom/uimed-vue 2.0.0-beta.17 → 2.0.0-beta.18

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.
@@ -429,8 +429,8 @@ declare const __VLS_export$13: import("vue", { with: { "resolution-mode": "impor
429
429
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
430
430
  }>, {
431
431
  variant: TextFieldVariant;
432
- type: TextFieldType;
433
432
  clearable: boolean;
433
+ type: TextFieldType;
434
434
  }, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>;
435
435
  //#endregion
436
436
  //#region src/components/inputs/checkbox/types.d.ts
@@ -651,6 +651,22 @@ type __VLS_WithSlots$8<T, S> = T & {
651
651
  * Props exposed by the {@link Row} component.
652
652
  */
653
653
  type RowProps = {
654
+ /**
655
+ * Vertical alignment of the row's columns, relative to the tallest column on the same line.
656
+ * Available options are:
657
+ * - `"start"`: aligns the columns to the top;
658
+ * - `"center"`: centers the columns vertically;
659
+ * - `"end"`: aligns the columns to the bottom;
660
+ * - `"stretch"`: stretches every column to the height of the tallest one.
661
+ *
662
+ * Use `"stretch"` to keep side by side columns at the same height, e.g. cards made of
663
+ * `USection`s with `fullHeight`.
664
+ *
665
+ * Columns sit side by side only from the `sm` breakpoint up. Below it, each column takes a
666
+ * whole line, so the alignment has no visible effect.
667
+ * @default "start"
668
+ */
669
+ align?: RowAlign;
654
670
  /**
655
671
  * Renders the row as a list (`<ul>`), without the list's default indentation
656
672
  * and bullets, so assistive technologies announce its columns as the items
@@ -664,6 +680,7 @@ type RowProps = {
664
680
  */
665
681
  dataTestid?: string;
666
682
  };
683
+ type RowAlign = "start" | "center" | "end" | "stretch";
667
684
  //#endregion
668
685
  //#region src/components/grid/row/row.vue.d.ts
669
686
  /**
@@ -673,7 +690,7 @@ type RowProps = {
673
690
  * ```vue
674
691
  * <template>
675
692
  * <u-container>
676
- * <u-row>
693
+ * <u-row align="center">
677
694
  * <!-- uimed-column -->
678
695
  * </u-row>
679
696
  * </u-container>
@@ -683,7 +700,9 @@ type RowProps = {
683
700
  * @see {@link https://nexdom-healthtech.github.io/uimed-vue/guide/components/layout | Row Guide}
684
701
  */
685
702
  declare const _default$12: typeof __VLS_export$9;
686
- declare const __VLS_export$9: __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>, {
703
+ declare const __VLS_export$9: __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<{}>, {
704
+ align: RowAlign;
705
+ }, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>, {
687
706
  default?: (props: {}) => any;
688
707
  }>;
689
708
  type __VLS_WithSlots$7<T, S> = T & {
@@ -853,6 +872,9 @@ type SectionProps = {
853
872
  fullWidth?: boolean;
854
873
  /**
855
874
  * Makes the section occupy 100% of its parent's height.
875
+ *
876
+ * Inside a `URow`, set its `align` to `"stretch"` so the section takes the height of the
877
+ * tallest column on the same line.
856
878
  * @default false
857
879
  */
858
880
  fullHeight?: boolean;
@@ -1458,6 +1458,11 @@ var row_default = /* @__PURE__ */ defineComponent({
1458
1458
  inheritAttrs: false,
1459
1459
  __name: "row",
1460
1460
  props: {
1461
+ align: {
1462
+ type: String,
1463
+ required: false,
1464
+ default: "start"
1465
+ },
1461
1466
  list: {
1462
1467
  type: Boolean,
1463
1468
  required: false
@@ -1469,12 +1474,19 @@ var row_default = /* @__PURE__ */ defineComponent({
1469
1474
  },
1470
1475
  setup(__props) {
1471
1476
  const props = __props;
1477
+ const rowAlignToClass = {
1478
+ start: "align-start",
1479
+ center: "align-center",
1480
+ end: "align-end",
1481
+ stretch: "align-stretch"
1482
+ };
1483
+ const alignClass = computed(() => rowAlignToClass[props.align]);
1472
1484
  const tag = computed(() => props.list ? "ul" : void 0);
1473
1485
  const listClasses = computed(() => props.list ? "pa-0 ma-0" : void 0);
1474
1486
  return (_ctx, _cache) => {
1475
1487
  return openBlock(), createBlock(unref(VRow), {
1476
1488
  tag: tag.value,
1477
- class: normalizeClass(listClasses.value),
1489
+ class: normalizeClass([alignClass.value, listClasses.value]),
1478
1490
  "data-testid": props.dataTestid
1479
1491
  }, {
1480
1492
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
@@ -2025,7 +2037,10 @@ var data_set_default = /* @__PURE__ */ defineComponent({
2025
2037
  type: "search",
2026
2038
  label: "Pesquisar"
2027
2039
  }, null, 8, ["modelValue"])) : createCommentVNode("v-if", true)]),
2028
- default: withCtx(({ items: pageItems }) => [createVNode(row_default, { list: "" }, {
2040
+ default: withCtx(({ items: pageItems }) => [createCommentVNode(" Stretched, so the items of the same line (e.g. full-height cards) share its height "), createVNode(row_default, {
2041
+ list: "",
2042
+ align: "stretch"
2043
+ }, {
2029
2044
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(pageItems, (pageItem, index) => {
2030
2045
  return openBlock(), createBlock(column_default, {
2031
2046
  key: index,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexdom/uimed-vue",
3
- "version": "2.0.0-beta.17",
3
+ "version": "2.0.0-beta.18",
4
4
  "description": "A ui framework for NEXDOM applications.",
5
5
  "keywords": [
6
6
  "lib",