@expcat/tigercat-vue 1.2.47 → 1.2.52

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.
Files changed (135) hide show
  1. package/dist/{chunk-6GPX4ONB.mjs → chunk-35NT2WJR.mjs} +1 -1
  2. package/dist/{chunk-ICECZVMX.js → chunk-3XCQRM3L.js} +5 -5
  3. package/dist/{chunk-VKW2O36D.mjs → chunk-5HNDLUUM.mjs} +2 -1
  4. package/dist/{chunk-UETVHC4K.mjs → chunk-6BFGY5W7.mjs} +2 -2
  5. package/dist/{chunk-5TJI4HOT.js → chunk-6YI6UAEY.js} +2 -2
  6. package/dist/{chunk-CKXZONMO.js → chunk-72DDCIVL.js} +9 -1
  7. package/dist/{chunk-DMNOK6OP.js → chunk-7VHDBN6U.js} +3 -3
  8. package/dist/{chunk-LFKY2QRD.mjs → chunk-7WQN5BYE.mjs} +5 -2
  9. package/dist/{chunk-IGSAOYXD.mjs → chunk-BC74Z6IG.mjs} +10 -2
  10. package/dist/{chunk-G36MH6G4.mjs → chunk-BH4AJQTL.mjs} +1 -1
  11. package/dist/{chunk-2KDSHEZT.js → chunk-BPAZBRCR.js} +2 -0
  12. package/dist/{chunk-JKJ7HMFO.mjs → chunk-BWIHL7LK.mjs} +2 -2
  13. package/dist/{chunk-WQXZ3234.mjs → chunk-DBCSR4WY.mjs} +30 -5
  14. package/dist/{chunk-V6T5GRLE.js → chunk-EW2IW2JW.js} +5 -5
  15. package/dist/{chunk-3G4VPV4D.mjs → chunk-G6ULKE6H.mjs} +3 -1
  16. package/dist/{chunk-SGAUVRUS.js → chunk-H6V26X2R.js} +66 -8
  17. package/dist/{chunk-4VLNT2ED.js → chunk-HA5QZ76M.js} +2 -0
  18. package/dist/{chunk-BXS7OSVF.js → chunk-HFRPZA5S.js} +3 -3
  19. package/dist/{chunk-WH4J6PHF.mjs → chunk-IORFQMZH.mjs} +1 -1
  20. package/dist/{chunk-FRI62O2J.js → chunk-JJXYM6QR.js} +2 -2
  21. package/dist/{chunk-I4LQXUMW.js → chunk-JTVFVAM3.js} +9 -1
  22. package/dist/{chunk-BPRKQVIL.mjs → chunk-K4VUUEFQ.mjs} +2 -2
  23. package/dist/{chunk-RY2I56HB.js → chunk-K6DYTMBE.js} +30 -5
  24. package/dist/{chunk-SZFEDBLT.mjs → chunk-LA5YKXPH.mjs} +9 -1
  25. package/dist/{chunk-QIXG7OIN.mjs → chunk-MJP2SNLK.mjs} +3 -3
  26. package/dist/{chunk-BIDBJNTL.mjs → chunk-NF5O27AM.mjs} +137 -81
  27. package/dist/{chunk-B2RH4CMG.js → chunk-NKVEXKM5.js} +5 -2
  28. package/dist/{chunk-WIQPVVUQ.js → chunk-NYR6OQO4.js} +7 -7
  29. package/dist/{chunk-PXSV3J2H.js → chunk-O4V7VULF.js} +136 -80
  30. package/dist/{chunk-OHCC6NNC.mjs → chunk-OU6PJQXN.mjs} +51 -7
  31. package/dist/{chunk-QJLFHHI2.js → chunk-Q3IZQUW7.js} +9 -1
  32. package/dist/{chunk-YS6FW775.js → chunk-Q47OK3FR.js} +2 -2
  33. package/dist/{chunk-7IVLFDZI.js → chunk-R62HQDKS.js} +2 -1
  34. package/dist/{chunk-27T3QDSF.js → chunk-RBHF7NOQ.js} +3 -1
  35. package/dist/{chunk-NP6KUJ4X.mjs → chunk-RGAHV6QG.mjs} +32 -13
  36. package/dist/{chunk-V2IDOR7Y.mjs → chunk-RNQOMMLM.mjs} +1 -1
  37. package/dist/{chunk-GQPSQJ5I.mjs → chunk-SL5KAVZK.mjs} +10 -2
  38. package/dist/{chunk-KOTSKHPQ.mjs → chunk-TC6ZPQFT.mjs} +13 -3
  39. package/dist/{chunk-L6W3XL3A.js → chunk-TZDNF5SK.js} +12 -12
  40. package/dist/{chunk-XGXGAK27.js → chunk-UG6O4F2A.js} +12 -2
  41. package/dist/{chunk-LBGTABIU.mjs → chunk-VCBBWDOV.mjs} +3 -1
  42. package/dist/{chunk-JE7AWY34.js → chunk-W5GVB54A.js} +32 -13
  43. package/dist/{chunk-VWEH6TGR.mjs → chunk-W6VKVYWZ.mjs} +66 -8
  44. package/dist/{chunk-ROMVD7LS.mjs → chunk-XP6C3MNM.mjs} +1 -1
  45. package/dist/{chunk-PO5GVU4Q.mjs → chunk-YZBQ6IR7.mjs} +3 -1
  46. package/dist/{chunk-6WM7E6C4.js → chunk-ZONC44YH.js} +60 -16
  47. package/dist/components/ActivityFeed.js +5 -5
  48. package/dist/components/ActivityFeed.mjs +4 -4
  49. package/dist/components/Button.js +2 -2
  50. package/dist/components/Button.mjs +1 -1
  51. package/dist/components/Card.d.mts +20 -0
  52. package/dist/components/Card.d.ts +20 -0
  53. package/dist/components/Card.js +2 -2
  54. package/dist/components/Card.mjs +1 -1
  55. package/dist/components/ChatWindow.js +3 -3
  56. package/dist/components/ChatWindow.mjs +2 -2
  57. package/dist/components/CommentThread.js +4 -4
  58. package/dist/components/CommentThread.mjs +3 -3
  59. package/dist/components/Content.d.mts +18 -0
  60. package/dist/components/Content.d.ts +18 -0
  61. package/dist/components/Content.js +2 -2
  62. package/dist/components/Content.mjs +1 -1
  63. package/dist/components/CropUpload.js +4 -4
  64. package/dist/components/CropUpload.mjs +3 -3
  65. package/dist/components/DataTableWithToolbar.d.mts +25 -3
  66. package/dist/components/DataTableWithToolbar.d.ts +25 -3
  67. package/dist/components/DataTableWithToolbar.js +4 -4
  68. package/dist/components/DataTableWithToolbar.mjs +3 -3
  69. package/dist/components/Drawer.d.mts +19 -1
  70. package/dist/components/Drawer.d.ts +19 -1
  71. package/dist/components/Drawer.js +2 -2
  72. package/dist/components/Drawer.mjs +1 -1
  73. package/dist/components/Dropdown.d.mts +1 -1
  74. package/dist/components/Dropdown.d.ts +1 -1
  75. package/dist/components/Dropdown.js +2 -2
  76. package/dist/components/Dropdown.mjs +1 -1
  77. package/dist/components/DropdownItem.js +3 -3
  78. package/dist/components/DropdownItem.mjs +2 -2
  79. package/dist/components/DropdownMenu.js +3 -3
  80. package/dist/components/DropdownMenu.mjs +1 -1
  81. package/dist/components/Form.d.mts +2 -2
  82. package/dist/components/Form.d.ts +2 -2
  83. package/dist/components/Form.js +2 -2
  84. package/dist/components/Form.mjs +1 -1
  85. package/dist/components/FormItem.js +3 -3
  86. package/dist/components/FormItem.mjs +2 -2
  87. package/dist/components/FormWizard.js +3 -3
  88. package/dist/components/FormWizard.mjs +2 -2
  89. package/dist/components/Header.d.mts +19 -0
  90. package/dist/components/Header.d.ts +19 -0
  91. package/dist/components/Header.js +2 -2
  92. package/dist/components/Header.mjs +1 -1
  93. package/dist/components/Icon.d.mts +19 -1
  94. package/dist/components/Icon.d.ts +19 -1
  95. package/dist/components/Icon.js +2 -2
  96. package/dist/components/Icon.mjs +1 -1
  97. package/dist/components/Image.d.mts +11 -1
  98. package/dist/components/Image.d.ts +11 -1
  99. package/dist/components/Image.js +4 -2
  100. package/dist/components/Image.mjs +3 -1
  101. package/dist/components/ImagePreview.d.mts +1 -1
  102. package/dist/components/ImagePreview.d.ts +1 -1
  103. package/dist/components/Menu.d.mts +2 -2
  104. package/dist/components/Menu.d.ts +2 -2
  105. package/dist/components/Menu.js +2 -2
  106. package/dist/components/Menu.mjs +1 -1
  107. package/dist/components/MenuItem.js +3 -3
  108. package/dist/components/MenuItem.mjs +1 -1
  109. package/dist/components/MenuItemGroup.js +3 -3
  110. package/dist/components/MenuItemGroup.mjs +1 -1
  111. package/dist/components/Modal.js +3 -3
  112. package/dist/components/Modal.mjs +2 -2
  113. package/dist/components/NotificationCenter.js +4 -4
  114. package/dist/components/NotificationCenter.mjs +3 -3
  115. package/dist/components/Popconfirm.d.mts +1 -1
  116. package/dist/components/Popconfirm.d.ts +1 -1
  117. package/dist/components/SubMenu.js +3 -3
  118. package/dist/components/SubMenu.mjs +1 -1
  119. package/dist/components/Table.d.mts +31 -1
  120. package/dist/components/Table.d.ts +31 -1
  121. package/dist/components/Table.js +2 -2
  122. package/dist/components/Table.mjs +1 -1
  123. package/dist/components/Tabs.d.mts +1 -1
  124. package/dist/components/Tabs.d.ts +1 -1
  125. package/dist/components/Tag.js +2 -2
  126. package/dist/components/Tag.mjs +1 -1
  127. package/dist/components/Timeline.js +2 -2
  128. package/dist/components/Timeline.mjs +1 -1
  129. package/dist/components/Tree.d.mts +1 -1
  130. package/dist/components/Tree.d.ts +1 -1
  131. package/dist/index.d.mts +1 -1
  132. package/dist/index.d.ts +1 -1
  133. package/dist/index.js +24 -24
  134. package/dist/index.mjs +23 -23
  135. package/package.json +2 -2
@@ -13,11 +13,20 @@ var _vue = require('vue');
13
13
 
14
14
 
15
15
 
16
+
16
17
  var _tigercatcore = require('@expcat/tigercat-core');
17
18
  var Icon = _vue.defineComponent.call(void 0, {
18
19
  name: "TigerIcon",
19
20
  inheritAttrs: false,
20
21
  props: {
22
+ /**
23
+ * Built-in icon name. Renders the matching glyph from the built-in icon
24
+ * set when no custom SVG children are provided.
25
+ */
26
+ name: {
27
+ type: String,
28
+ default: void 0
29
+ },
21
30
  /**
22
31
  * Icon size
23
32
  * @default 'md'
@@ -42,11 +51,26 @@ var Icon = _vue.defineComponent.call(void 0, {
42
51
  const svgClasses = _vue.computed.call(void 0, () => _tigercatcore.classNames.call(void 0, _tigercatcore.iconSvgBaseClasses, _tigercatcore.iconSizeClasses[props.size]));
43
52
  return () => {
44
53
  const defaultSlot = _optionalChain([slots, 'access', _ => _.default, 'optionalCall', _2 => _2()]);
54
+ const hasSlotContent = Array.isArray(defaultSlot) && defaultSlot.length > 0;
45
55
  const isDecorative = attrs["aria-label"] == null && attrs["aria-labelledby"] == null && attrs.role == null;
46
- const children = (_nullishCoalesce(defaultSlot, () => ( []))).map((node) => {
56
+ const definition = !hasSlotContent && props.name ? _tigercatcore.getIconDefinition.call(void 0, props.name) : void 0;
57
+ const builtInSvg = definition ? _vue.h.call(void 0,
58
+ "svg",
59
+ {
60
+ class: svgClasses.value,
61
+ xmlns: _tigercatcore.SVG_DEFAULT_XMLNS,
62
+ viewBox: definition.viewBox,
63
+ fill: definition.mode === "fill" ? "currentColor" : _tigercatcore.SVG_DEFAULT_FILL,
64
+ stroke: definition.mode === "stroke" ? "currentColor" : _tigercatcore.SVG_DEFAULT_STROKE,
65
+ "stroke-width": definition.mode === "stroke" ? 1.5 : void 0,
66
+ "stroke-linecap": definition.mode === "stroke" ? _tigercatcore.iconSvgDefaultStrokeLinecap : void 0,
67
+ "stroke-linejoin": definition.mode === "stroke" ? _tigercatcore.iconSvgDefaultStrokeLinejoin : void 0
68
+ },
69
+ definition.paths.map((d) => _vue.h.call(void 0, "path", { d }))
70
+ ) : null;
71
+ const normalizeSlotNode = (node) => {
47
72
  if (node && typeof node === "object" && node.type === "svg") {
48
- const svgNode = node;
49
- const svgProps = _nullishCoalesce(svgNode.props, () => ( {}));
73
+ const svgProps = _nullishCoalesce(node.props, () => ( {}));
50
74
  return _vue.h.call(void 0,
51
75
  "svg",
52
76
  {
@@ -60,11 +84,12 @@ var Icon = _vue.defineComponent.call(void 0, {
60
84
  "stroke-linecap": _nullishCoalesce(svgProps["stroke-linecap"], () => ( _tigercatcore.iconSvgDefaultStrokeLinecap)),
61
85
  "stroke-linejoin": _nullishCoalesce(svgProps["stroke-linejoin"], () => ( _tigercatcore.iconSvgDefaultStrokeLinejoin))
62
86
  },
63
- svgNode.children === null ? void 0 : svgNode.children
87
+ node.children === null ? void 0 : node.children
64
88
  );
65
89
  }
66
90
  return node;
67
- });
91
+ };
92
+ const children = builtInSvg ? [builtInSvg] : (_nullishCoalesce(defaultSlot, () => ( []))).map(normalizeSlotNode);
68
93
  return _vue.h.call(void 0,
69
94
  "span",
70
95
  {
@@ -137,6 +137,14 @@ var Drawer = defineComponent({
137
137
  type: String,
138
138
  default: void 0
139
139
  },
140
+ /**
141
+ * Padding override for the drawer body. `false` removes the built-in
142
+ * padding; a string supplies a custom padding utility class.
143
+ */
144
+ bodyPadding: {
145
+ type: [Boolean, String],
146
+ default: void 0
147
+ },
140
148
  /**
141
149
  * Whether to destroy content on close
142
150
  * @default false
@@ -343,7 +351,7 @@ var Drawer = defineComponent({
343
351
  } : void 0;
344
352
  const mergedStyle = mergeStyleValues(attrs.style, props.panelStyle, props.style, widthStyle);
345
353
  const headerClasses = getDrawerHeaderClasses();
346
- const bodyClasses = getDrawerBodyClasses(props.bodyClassName);
354
+ const bodyClasses = getDrawerBodyClasses(props.bodyClassName, props.bodyPadding);
347
355
  const footerClasses = getDrawerFooterClasses();
348
356
  const closeButtonClasses = getDrawerCloseButtonClasses();
349
357
  const titleClasses = getDrawerTitleClasses();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Timeline
3
- } from "./chunk-LBGTABIU.mjs";
3
+ } from "./chunk-VCBBWDOV.mjs";
4
4
  import {
5
5
  Loading
6
6
  } from "./chunk-XQRKFOXS.mjs";
@@ -9,13 +9,13 @@ import {
9
9
  } from "./chunk-3MO7A4GU.mjs";
10
10
  import {
11
11
  Tag
12
- } from "./chunk-3G4VPV4D.mjs";
12
+ } from "./chunk-G6ULKE6H.mjs";
13
13
  import {
14
14
  Text
15
15
  } from "./chunk-NN6AINLG.mjs";
16
16
  import {
17
17
  Card
18
- } from "./chunk-KOTSKHPQ.mjs";
18
+ } from "./chunk-TC6ZPQFT.mjs";
19
19
  import {
20
20
  Avatar
21
21
  } from "./chunk-ZCT56WB7.mjs";
@@ -34,6 +34,7 @@ import {
34
34
  getImmediateTigerLocale,
35
35
  getTableLabels,
36
36
  getTableWrapperClasses,
37
+ getTableResponsiveCardClasses,
37
38
  getTableResponsiveCardListClasses,
38
39
  getTableResponsiveTableClasses,
39
40
  getTableVirtualRecommendation,
@@ -41,7 +42,6 @@ import {
41
42
  mergeTigerLocale,
42
43
  resolveTigerLocale,
43
44
  tableBaseClasses,
44
- tableResponsiveCardClasses,
45
45
  tableResponsiveCardLabelClasses,
46
46
  tableResponsiveCardRowClasses,
47
47
  tableResponsiveCardTitleClasses,
@@ -168,6 +168,18 @@ var tableProps = {
168
168
  renderCard: {
169
169
  type: Function
170
170
  },
171
+ cardSelectionPosition: {
172
+ type: String,
173
+ default: "controls-row"
174
+ },
175
+ cardPadding: {
176
+ type: [String, Boolean],
177
+ default: void 0
178
+ },
179
+ cardFieldGap: {
180
+ type: String,
181
+ default: "gap-3"
182
+ },
171
183
  // --- v0.6.0 props ---
172
184
  virtual: { type: Boolean, default: false },
173
185
  autoVirtual: { type: Boolean, default: true },
@@ -1430,44 +1442,48 @@ var Table = defineComponent({
1430
1442
  }
1431
1443
  if (sortableColumns.length > 0) {
1432
1444
  cardChildren.push(
1433
- h6("div", {
1434
- class: "rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] px-3 py-2"
1435
- }, [
1436
- h6(Select, {
1437
- size: "sm",
1438
- modelValue: ctx.sortState.value.key && ctx.sortState.value.direction ? `${ctx.sortState.value.key}:${ctx.sortState.value.direction}` : "",
1439
- options: [
1440
- { label: tableLabels.value.clearSortText, value: "" },
1441
- ...sortableColumns.flatMap((column) => [
1442
- {
1443
- label: `${formatTableSortByText(tableLabels.value.sortByText, column.title)} \u2191`,
1444
- value: `${column.key}:asc`
1445
- },
1446
- {
1447
- label: `${formatTableSortByText(tableLabels.value.sortByText, column.title)} \u2193`,
1448
- value: `${column.key}:desc`
1445
+ h6(
1446
+ "div",
1447
+ {
1448
+ class: "rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] px-3 py-2"
1449
+ },
1450
+ [
1451
+ h6(Select, {
1452
+ size: "sm",
1453
+ modelValue: ctx.sortState.value.key && ctx.sortState.value.direction ? `${ctx.sortState.value.key}:${ctx.sortState.value.direction}` : "",
1454
+ options: [
1455
+ { label: tableLabels.value.clearSortText, value: "" },
1456
+ ...sortableColumns.flatMap((column) => [
1457
+ {
1458
+ label: `${formatTableSortByText(tableLabels.value.sortByText, column.title)} \u2191`,
1459
+ value: `${column.key}:asc`
1460
+ },
1461
+ {
1462
+ label: `${formatTableSortByText(tableLabels.value.sortByText, column.title)} \u2193`,
1463
+ value: `${column.key}:desc`
1464
+ }
1465
+ ])
1466
+ ],
1467
+ clearable: false,
1468
+ "onUpdate:modelValue": (value) => {
1469
+ const nextValue = String(value ?? "");
1470
+ if (!nextValue) {
1471
+ ctx.handleSetSort({ key: null, direction: null });
1472
+ return;
1449
1473
  }
1450
- ])
1451
- ],
1452
- clearable: false,
1453
- "onUpdate:modelValue": (value) => {
1454
- const nextValue = String(value ?? "");
1455
- if (!nextValue) {
1456
- ctx.handleSetSort({ key: null, direction: null });
1457
- return;
1474
+ const separatorIndex = nextValue.lastIndexOf(":");
1475
+ const key = nextValue.slice(0, separatorIndex);
1476
+ const direction = nextValue.slice(separatorIndex + 1);
1477
+ ctx.handleSetSort({ key, direction });
1458
1478
  }
1459
- const separatorIndex = nextValue.lastIndexOf(":");
1460
- const key = nextValue.slice(0, separatorIndex);
1461
- const direction = nextValue.slice(separatorIndex + 1);
1462
- ctx.handleSetSort({ key, direction });
1463
- }
1464
- })
1465
- ])
1479
+ })
1480
+ ]
1481
+ )
1466
1482
  );
1467
1483
  }
1468
1484
  if (ctx.paginatedData.value.length === 0) {
1469
1485
  cardChildren.push(
1470
- h6("div", { class: tableResponsiveCardClasses }, [
1486
+ h6("div", { class: getTableResponsiveCardClasses(resolvedProps.cardPadding) }, [
1471
1487
  h6(Empty, { showImage: false, description: tableLabels.value.emptyText })
1472
1488
  ])
1473
1489
  );
@@ -1489,33 +1505,56 @@ var Table = defineComponent({
1489
1505
  const rows = hasCustomCardLayout.value ? [
1490
1506
  h6(
1491
1507
  "div",
1492
- { class: "grid grid-cols-12 gap-3 mt-2" },
1508
+ {
1509
+ class: classNames3(
1510
+ "grid grid-cols-12 mt-2",
1511
+ resolvedProps.cardFieldGap ?? "gap-3"
1512
+ )
1513
+ },
1493
1514
  bodyColumns.map((column) => {
1494
1515
  const layoutItem = cardLayoutMap.value.get(column.key);
1495
1516
  const gridInfo = getCardGridInfo(column, layoutItem);
1496
1517
  if (gridInfo.hideLabel) {
1497
1518
  return h6(
1498
1519
  "div",
1499
- { key: column.key, class: gridInfo.className },
1520
+ {
1521
+ key: column.key,
1522
+ class: classNames3(
1523
+ gridInfo.className,
1524
+ gridInfo.divider && "border-t border-[var(--tiger-border,#e5e7eb)] pt-3"
1525
+ )
1526
+ },
1500
1527
  [renderCardCellContent(column)]
1501
1528
  );
1502
1529
  }
1503
1530
  if (gridInfo.labelPosition === "top") {
1504
1531
  return h6(
1505
1532
  "div",
1506
- { key: column.key, class: gridInfo.className },
1533
+ {
1534
+ key: column.key,
1535
+ class: classNames3(
1536
+ gridInfo.className,
1537
+ gridInfo.divider && "border-t border-[var(--tiger-border,#e5e7eb)] pt-3"
1538
+ )
1539
+ },
1507
1540
  [
1508
1541
  h6(
1509
1542
  "div",
1510
1543
  {
1511
- class: "text-xs font-medium uppercase tracking-wider text-[var(--tiger-text-muted,#6b7280)] mb-1"
1544
+ class: classNames3(
1545
+ "text-xs font-medium uppercase tracking-wider text-[var(--tiger-text-muted,#6b7280)] mb-1",
1546
+ gridInfo.labelClassName
1547
+ )
1512
1548
  },
1513
1549
  column.title
1514
1550
  ),
1515
1551
  h6(
1516
1552
  "div",
1517
1553
  {
1518
- class: "min-w-0 text-sm text-[var(--tiger-text,#111827)] break-words"
1554
+ class: classNames3(
1555
+ "min-w-0 text-sm text-[var(--tiger-text,#111827)] break-words",
1556
+ gridInfo.valueClassName
1557
+ )
1519
1558
  },
1520
1559
  [renderCardCellContent(column)]
1521
1560
  )
@@ -1528,21 +1567,28 @@ var Table = defineComponent({
1528
1567
  key: column.key,
1529
1568
  class: classNames3(
1530
1569
  gridInfo.className,
1531
- "grid grid-cols-[auto_1fr] gap-2 items-baseline"
1570
+ "grid grid-cols-[auto_1fr] gap-2 items-baseline",
1571
+ gridInfo.divider && "border-t border-[var(--tiger-border,#e5e7eb)] pt-3"
1532
1572
  )
1533
1573
  },
1534
1574
  [
1535
1575
  h6(
1536
1576
  "div",
1537
1577
  {
1538
- class: "text-xs font-medium uppercase tracking-wider text-[var(--tiger-text-muted,#6b7280)] shrink-0"
1578
+ class: classNames3(
1579
+ "text-xs font-medium uppercase tracking-wider text-[var(--tiger-text-muted,#6b7280)] shrink-0",
1580
+ gridInfo.labelClassName
1581
+ )
1539
1582
  },
1540
1583
  column.title
1541
1584
  ),
1542
1585
  h6(
1543
1586
  "div",
1544
1587
  {
1545
- class: "min-w-0 text-sm text-[var(--tiger-text,#111827)] break-words"
1588
+ class: classNames3(
1589
+ "min-w-0 text-sm text-[var(--tiger-text,#111827)] break-words",
1590
+ gridInfo.valueClassName
1591
+ )
1546
1592
  },
1547
1593
  [renderCardCellContent(column)]
1548
1594
  )
@@ -1551,48 +1597,40 @@ var Table = defineComponent({
1551
1597
  })
1552
1598
  )
1553
1599
  ] : bodyColumns.map(
1554
- (column) => h6(
1555
- "div",
1556
- { key: column.key, class: tableResponsiveCardRowClasses },
1557
- [
1558
- h6("div", { class: tableResponsiveCardLabelClasses }, column.title),
1559
- h6("div", { class: tableResponsiveCardValueClasses }, [
1560
- renderCardCellContent(column)
1561
- ])
1562
- ]
1563
- )
1600
+ (column) => h6("div", { key: column.key, class: tableResponsiveCardRowClasses }, [
1601
+ h6("div", { class: tableResponsiveCardLabelClasses }, column.title),
1602
+ h6("div", { class: tableResponsiveCardValueClasses }, [
1603
+ renderCardCellContent(column)
1604
+ ])
1605
+ ])
1564
1606
  );
1565
1607
  const controls = [];
1566
1608
  if (resolvedProps.rowSelection && resolvedProps.rowSelection.showCheckbox !== false) {
1567
1609
  const checkboxProps = resolvedProps.rowSelection.getCheckboxProps?.(record) || {};
1568
1610
  controls.push(
1569
- h6(
1570
- "span",
1571
- { onClick: (event) => event.stopPropagation() },
1572
- [
1573
- resolvedProps.rowSelection.type === "radio" ? h6(Radio, {
1574
- value: key,
1575
- checked: isSelected,
1576
- disabled: checkboxProps.disabled,
1577
- "aria-label": formatTableSelectRowAriaLabel(
1578
- tableLabels.value.selectRowAriaLabel,
1579
- index + 1,
1580
- tableLocale.value?.locale
1581
- ),
1582
- onChange: () => ctx.handleSelectRow(key, true)
1583
- }) : h6(Checkbox, {
1584
- size: "sm",
1585
- modelValue: isSelected,
1586
- disabled: checkboxProps.disabled,
1587
- "aria-label": formatTableSelectRowAriaLabel(
1588
- tableLabels.value.selectRowAriaLabel,
1589
- index + 1,
1590
- tableLocale.value?.locale
1591
- ),
1592
- onChange: (checked) => ctx.handleSelectRow(key, checked)
1593
- })
1594
- ]
1595
- )
1611
+ h6("span", { onClick: (event) => event.stopPropagation() }, [
1612
+ resolvedProps.rowSelection.type === "radio" ? h6(Radio, {
1613
+ value: key,
1614
+ checked: isSelected,
1615
+ disabled: checkboxProps.disabled,
1616
+ "aria-label": formatTableSelectRowAriaLabel(
1617
+ tableLabels.value.selectRowAriaLabel,
1618
+ index + 1,
1619
+ tableLocale.value?.locale
1620
+ ),
1621
+ onChange: () => ctx.handleSelectRow(key, true)
1622
+ }) : h6(Checkbox, {
1623
+ size: "sm",
1624
+ modelValue: isSelected,
1625
+ disabled: checkboxProps.disabled,
1626
+ "aria-label": formatTableSelectRowAriaLabel(
1627
+ tableLabels.value.selectRowAriaLabel,
1628
+ index + 1,
1629
+ tableLocale.value?.locale
1630
+ ),
1631
+ onChange: (checked) => ctx.handleSelectRow(key, checked)
1632
+ })
1633
+ ])
1596
1634
  );
1597
1635
  }
1598
1636
  if (resolvedProps.expandable && isRowExpandable) {
@@ -1612,6 +1650,21 @@ var Table = defineComponent({
1612
1650
  )
1613
1651
  );
1614
1652
  }
1653
+ const titleWithInlineControls = titleNode && resolvedProps.cardSelectionPosition === "title-inline" && controls.length ? h6(
1654
+ "div",
1655
+ {
1656
+ class: classNames3(
1657
+ tableResponsiveCardTitleClasses,
1658
+ "flex items-center gap-3"
1659
+ )
1660
+ },
1661
+ [
1662
+ ...controls,
1663
+ h6("span", { class: "min-w-0 flex-1" }, [
1664
+ renderCardCellContent(titleColumn)
1665
+ ])
1666
+ ]
1667
+ ) : titleNode;
1615
1668
  const expandedContent = resolvedProps.expandable && isExpanded && isRowExpandable ? slots["expanded-row"]?.({ record, index }) ?? resolvedProps.expandable.expandedRowRender?.(record, index) : null;
1616
1669
  const cardContext = {
1617
1670
  record,
@@ -1628,12 +1681,15 @@ var Table = defineComponent({
1628
1681
  "div",
1629
1682
  {
1630
1683
  key,
1631
- class: classNames3(tableResponsiveCardClasses, resolvedCardClassName),
1684
+ class: classNames3(
1685
+ getTableResponsiveCardClasses(resolvedProps.cardPadding),
1686
+ resolvedCardClassName
1687
+ ),
1632
1688
  onClick: () => ctx.handleRowClick(record, index, key)
1633
1689
  },
1634
1690
  customCard !== void 0 && customCard !== null ? [customCard] : [
1635
- controls.length ? h6("div", { class: "mb-2 flex items-center gap-3" }, controls) : null,
1636
- titleNode,
1691
+ controls.length && (!titleNode || resolvedProps.cardSelectionPosition !== "title-inline") ? h6("div", { class: "mb-2 flex items-center gap-3" }, controls) : null,
1692
+ titleWithInlineControls,
1637
1693
  ...rows,
1638
1694
  expandedContent ? h6(
1639
1695
  "div",
@@ -65,7 +65,7 @@ var Form = _vue.defineComponent.call(void 0, {
65
65
  */
66
66
  labelAlign: {
67
67
  type: String,
68
- default: "right"
68
+ default: void 0
69
69
  },
70
70
  /**
71
71
  * Form size (applies to all form items)
@@ -371,6 +371,9 @@ var Form = _vue.defineComponent.call(void 0, {
371
371
  };
372
372
  const canUndoNow = _vue.computed.call(void 0, () => props.undoable && _tigercatcore.canUndo.call(void 0, history.value));
373
373
  const canRedoNow = _vue.computed.call(void 0, () => props.undoable && _tigercatcore.canRedo.call(void 0, history.value));
374
+ const resolvedLabelAlign = _vue.computed.call(void 0,
375
+ () => _nullishCoalesce(props.labelAlign, () => ( (props.labelPosition === "top" ? "left" : "right")))
376
+ );
374
377
  const handleSubmit = async (event) => {
375
378
  event.preventDefault();
376
379
  if (props.loading) return;
@@ -382,7 +385,7 @@ var Form = _vue.defineComponent.call(void 0, {
382
385
  rules: props.rules,
383
386
  labelWidth: props.labelWidth,
384
387
  labelPosition: props.labelPosition,
385
- labelAlign: props.labelAlign,
388
+ labelAlign: resolvedLabelAlign.value,
386
389
  size: props.size,
387
390
  inlineMessage: props.inlineMessage,
388
391
  showRequiredAsterisk: props.showRequiredAsterisk,
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunk27T3QDSFjs = require('./chunk-27T3QDSF.js');
3
+ var _chunkRBHF7NOQjs = require('./chunk-RBHF7NOQ.js');
4
4
 
5
5
 
6
6
  var _chunk6XI4VDU4js = require('./chunk-6XI4VDU4.js');
@@ -9,13 +9,13 @@ var _chunk6XI4VDU4js = require('./chunk-6XI4VDU4.js');
9
9
  var _chunk2DC3BMEDjs = require('./chunk-2DC3BMED.js');
10
10
 
11
11
 
12
- var _chunk2KDSHEZTjs = require('./chunk-2KDSHEZT.js');
12
+ var _chunkBPAZBRCRjs = require('./chunk-BPAZBRCR.js');
13
13
 
14
14
 
15
15
  var _chunkTGHB5XSTjs = require('./chunk-TGHB5XST.js');
16
16
 
17
17
 
18
- var _chunkXGXGAK27js = require('./chunk-XGXGAK27.js');
18
+ var _chunkUG6O4F2Ajs = require('./chunk-UG6O4F2A.js');
19
19
 
20
20
 
21
21
  var _chunkZ6HBM73Wjs = require('./chunk-Z6HBM73W.js');
@@ -159,7 +159,7 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
159
159
  { default: () => titleText }
160
160
  ) : null,
161
161
  item.status ? _vue.h.call(void 0,
162
- _chunk2KDSHEZTjs.Tag,
162
+ _chunkBPAZBRCRjs.Tag,
163
163
  {
164
164
  variant: _nullishCoalesce(item.status.variant, () => ( "default")),
165
165
  size: "sm",
@@ -216,7 +216,7 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
216
216
  },
217
217
  [
218
218
  _vue.h.call(void 0,
219
- _chunkXGXGAK27js.Card,
219
+ _chunkUG6O4F2Ajs.Card,
220
220
  {
221
221
  variant: "bordered",
222
222
  size: "sm",
@@ -258,7 +258,7 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
258
258
  },
259
259
  [
260
260
  _vue.h.call(void 0,
261
- _chunkXGXGAK27js.Card,
261
+ _chunkUG6O4F2Ajs.Card,
262
262
  {
263
263
  variant: "bordered",
264
264
  size: "sm",
@@ -295,7 +295,7 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
295
295
  )
296
296
  ]))) : null,
297
297
  _vue.h.call(void 0,
298
- _chunk27T3QDSFjs.Timeline,
298
+ _chunkRBHF7NOQjs.Timeline,
299
299
  {
300
300
  items: timelineItems,
301
301
  style: {