@ds-mo/ui 14.33.1 → 14.34.0

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.
@@ -916,7 +916,7 @@
916
916
  /*
917
917
  * Multiple Tags use the 20px small single-inset control. Each wrap line is a
918
918
  * 24px track (2px block margin around the tag) with no row-gap, so wrap lines
919
- * land on the same 40 / 64 / 88 ladder as text. Same-line tags keep a 2px
919
+ * land on the same 40 / 64 / 88 ladder as text. Same-line tags keep a 4px
920
920
  * column gap.
921
921
  */
922
922
  :where(.ds-table__cell--tags .ds-table__cell-content) {
@@ -928,7 +928,7 @@
928
928
  flex-wrap: wrap;
929
929
  align-content: flex-start;
930
930
  align-items: center;
931
- gap: 0 var(--dimension-space-025);
931
+ gap: 0 var(--dimension-space-050);
932
932
  box-sizing: border-box;
933
933
  inline-size: 100%;
934
934
  min-inline-size: 0;
@@ -1807,3 +1807,27 @@
1807
1807
  outline-color: var(--ds-forced-color-selected);
1808
1808
  }
1809
1809
  }
1810
+
1811
+ /* Inline tag groups share the primary-tag recipe and shrink within one track. */
1812
+ :where(.ds-table__cell-inline-tags-stack) {
1813
+ inline-size: 100%;
1814
+ }
1815
+
1816
+ :where(.ds-table__cell-inline-tags) {
1817
+ display: flex;
1818
+ align-items: center;
1819
+ flex-wrap: nowrap;
1820
+ gap: var(--dimension-space-050);
1821
+ inline-size: 100%;
1822
+ min-inline-size: 0;
1823
+ min-block-size: var(--_table-cell-track-min-block-size);
1824
+ }
1825
+
1826
+ :where(.ds-table__cell-inline-tags > ds-tag) {
1827
+ flex: 0 1 auto;
1828
+ max-inline-size: 100%;
1829
+ }
1830
+
1831
+ :where(.ds-table__cell-tag-separator) {
1832
+ flex: none;
1833
+ }
@@ -67,7 +67,7 @@ export type TableCellPresentation = {
67
67
  cellType: 'tags';
68
68
  value: TableCellTags;
69
69
  tracks: number;
70
- variant: `${number}-track`;
70
+ variant: `${number}-track` | 'inline';
71
71
  } | {
72
72
  kind: 'text';
73
73
  cellType: 'text' | 'primary-text';
@@ -243,13 +243,23 @@ export type TableCellTag = TableCellTagItem & {
243
243
  variant: Exclude<TableCellTagVariant, 'tag-only'>;
244
244
  text: string;
245
245
  });
246
- /** Multiple Tags that wrap inline while retaining the table's named track rhythm. */
247
- export interface TableCellTags {
246
+ /** Multiple Tags in wrapping tracks or a compact slash-separated primary track. */
247
+ export type TableCellTags = {
248
248
  kind: 'tags';
249
+ } & ({
250
+ variant?: 'wrap';
249
251
  items: TableCellTagItem[];
250
252
  /** Expected positive wrapped-line count used for row geometry and virtual estimates. */
251
253
  tracks: number;
252
- }
254
+ text?: never;
255
+ } | {
256
+ variant: 'inline';
257
+ /** One to three tags. Runtime inputs beyond three are capped. */
258
+ items: [TableCellTagItem] | [TableCellTagItem, TableCellTagItem] | [TableCellTagItem, TableCellTagItem, TableCellTagItem];
259
+ /** Optional secondary text beneath the non-wrapping tag track. */
260
+ text?: string;
261
+ tracks?: never;
262
+ });
253
263
  export type TableCellValue = string | number | null | undefined | TableCellText | TableCellPrimaryText | TableCellTag | TableCellTags | TableCellIcon | TableCellIconText | TableCellScoreText | TableCellImage | TableCellAction | TableCellEmpty | TableCellBlank;
254
264
  export type TableSkeletonWidth = string | number;
255
265
  /** Representative loading geometry for one table column. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ds-mo/ui",
3
- "version": "14.33.1",
3
+ "version": "14.34.0",
4
4
  "description": "CompoMo — composable web components styled with TokoMo design tokens",
5
5
  "keywords": [
6
6
  "web-components",