@salemcobalt/ui 0.2.0-rc.31 → 0.2.0-rc.33

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.
package/dist/styles.css CHANGED
@@ -1,4 +1,4 @@
1
- /* @salemcobalt/ui 0.2.0-rc.31 — requires @salemcobalt/tokens/css. */
1
+ /* @salemcobalt/ui 0.2.0-rc.33 — requires @salemcobalt/tokens/css. */
2
2
  @layer sc {
3
3
  /* ---- base.css ---- */
4
4
  /* Shared: focus ring, reduced motion. Component files follow. */
@@ -887,7 +887,7 @@
887
887
  max-inline-size: var(--_max);
888
888
  max-block-size: min(100dvh - 2 * var(--_gutter), 85dvh);
889
889
  block-size: fit-content;
890
- overflow: auto;
890
+ overflow: hidden auto; /* vertical only: a 44px touch target on an edge button must not scroll it sideways */
891
891
  padding: var(--sc-spacing-lg);
892
892
  border-radius: var(--sc-radius-xl);
893
893
  background: var(--sc-color-surface-raised);
@@ -926,17 +926,20 @@
926
926
  font-weight: var(--sc-font-weight-semibold);
927
927
  letter-spacing: var(--sc-font-tracking-snug);
928
928
  padding-inline-end: var(--sc-spacing-xl);
929
+ text-wrap-style: balance;
929
930
  }
930
931
  .sc-dialog__description {
931
932
  margin: var(--sc-spacing-2xs) 0 0;
932
933
  font-size: var(--sc-font-size-sm);
933
934
  line-height: var(--sc-font-line-height-normal);
934
935
  color: var(--sc-color-text-muted);
936
+ text-wrap-style: pretty;
935
937
  }
936
938
  .sc-dialog__body {
937
939
  margin-block-start: var(--sc-spacing-md);
938
940
  font-size: var(--sc-font-size-sm);
939
941
  line-height: var(--sc-font-line-height-normal);
942
+ text-wrap-style: pretty;
940
943
  }
941
944
  /* Content wraps instead of widening the popup: long URLs break, fields and media stay inside the box. */
942
945
  .sc-dialog__title,
@@ -988,7 +991,7 @@
988
991
  .sc-dialog__popup[data-variant='sheet'] > .sc-dialog__body {
989
992
  flex: 1 1 auto;
990
993
  min-block-size: 0;
991
- overflow: auto;
994
+ overflow: hidden auto; /* vertical only: a 44px touch target on an edge button must not scroll it sideways */
992
995
  overscroll-behavior: contain;
993
996
  }
994
997
  /* The sheet's grab handle shows only where the sheet docks. */
@@ -1119,7 +1122,7 @@
1119
1122
  .sc-dialog__popup[data-variant='fullscreen'] > .sc-dialog__body {
1120
1123
  flex: 1 1 auto;
1121
1124
  min-block-size: 0;
1122
- overflow: auto;
1125
+ overflow: hidden auto; /* vertical only: a 44px touch target on an edge button must not scroll it sideways */
1123
1126
  overscroll-behavior: contain;
1124
1127
  }
1125
1128
  /* From 900px the backdrop shows a margin around it, so it still reads as a layer over the app. */
@@ -1269,7 +1272,7 @@
1269
1272
  min-inline-size: 180px;
1270
1273
  max-inline-size: min(100vw - 2 * var(--sc-spacing-md), 320px);
1271
1274
  max-block-size: var(--available-height);
1272
- overflow: auto;
1275
+ overflow: hidden auto; /* vertical only: a 44px touch target on an edge button must not scroll it sideways */
1273
1276
  padding: var(--sc-spacing-2xs);
1274
1277
  border-radius: var(--sc-radius-lg);
1275
1278
  background: var(--sc-color-surface-raised);
@@ -1360,6 +1363,7 @@
1360
1363
  min-inline-size: 0;
1361
1364
  color: var(--sc-color-text-muted);
1362
1365
  font-size: var(--sc-font-size-xs);
1366
+ text-wrap-style: pretty;
1363
1367
  }
1364
1368
  .sc-menu__trailing {
1365
1369
  grid-column: 3;
@@ -1442,11 +1446,13 @@
1442
1446
  margin: 0;
1443
1447
  color: var(--sc-color-text-muted);
1444
1448
  font-size: var(--sc-font-size-xs);
1449
+ text-wrap-style: pretty;
1445
1450
  }
1446
1451
  .sc-field__error {
1447
1452
  margin: 0;
1448
1453
  color: var(--sc-color-danger-text);
1449
1454
  font-size: var(--sc-font-size-xs);
1455
+ text-wrap-style: pretty;
1450
1456
  }
1451
1457
  /* Input */
1452
1458
  .sc-input-wrap {
@@ -1785,6 +1791,7 @@
1785
1791
  grid-column: 2;
1786
1792
  color: var(--sc-color-text-muted);
1787
1793
  font-size: var(--sc-font-size-xs);
1794
+ text-wrap-style: pretty;
1788
1795
  }
1789
1796
  .sc-choice[data-label-position='start'] > .sc-choice__description {
1790
1797
  grid-column: 1;
@@ -2317,7 +2324,7 @@
2317
2324
  inline-size: max-content;
2318
2325
  max-inline-size: min(100vw - 2 * var(--sc-spacing-md), 360px);
2319
2326
  max-block-size: var(--available-height);
2320
- overflow: auto;
2327
+ overflow: hidden auto; /* vertical only: a 44px touch target on an edge button must not scroll it sideways */
2321
2328
  padding: var(--sc-spacing-md);
2322
2329
  border-radius: var(--sc-radius-lg);
2323
2330
  background: var(--sc-color-surface-raised);
@@ -2355,6 +2362,7 @@
2355
2362
  font-size: var(--sc-font-size-md);
2356
2363
  line-height: var(--sc-font-line-height-snug);
2357
2364
  font-weight: var(--sc-font-weight-semibold);
2365
+ text-wrap-style: balance;
2358
2366
  }
2359
2367
  .sc-popover__title:has(~ .sc-popover__close),
2360
2368
  .sc-popover__close ~ .sc-popover__title {
@@ -2363,6 +2371,7 @@
2363
2371
  .sc-popover__description {
2364
2372
  margin: var(--sc-spacing-2xs) 0 0;
2365
2373
  color: var(--sc-color-text-muted);
2374
+ text-wrap-style: pretty;
2366
2375
  }
2367
2376
  .sc-popover__close {
2368
2377
  position: absolute;
@@ -2859,6 +2868,7 @@
2859
2868
  font-size: var(--sc-font-size-xs);
2860
2869
  text-align: start;
2861
2870
  caption-side: top;
2871
+ text-wrap-style: pretty;
2862
2872
  }
2863
2873
  .sc-table__header,
2864
2874
  .sc-table__cell {
@@ -3167,11 +3177,13 @@
3167
3177
  margin: 0;
3168
3178
  font-size: inherit;
3169
3179
  font-weight: var(--sc-font-weight-medium);
3180
+ text-wrap-style: balance;
3170
3181
  }
3171
3182
  .sc-toast__description {
3172
3183
  margin: 0;
3173
3184
  color: var(--sc-color-text-muted);
3174
3185
  font-size: var(--sc-font-size-xs);
3186
+ text-wrap-style: pretty;
3175
3187
  }
3176
3188
  .sc-toast__action,
3177
3189
  .sc-toast__close {
@@ -3276,6 +3288,7 @@
3276
3288
  grid-area: hint;
3277
3289
  color: var(--sc-color-text-muted);
3278
3290
  font-size: var(--sc-font-size-xs);
3291
+ text-wrap-style: pretty;
3279
3292
  }
3280
3293
 
3281
3294
  /* ---- chip.css ---- */
@@ -5042,6 +5055,7 @@
5042
5055
  .sc-file-preview__note {
5043
5056
  margin: var(--sc-spacing-xs) 0 0;
5044
5057
  color: var(--sc-color-text-muted);
5058
+ text-wrap-style: pretty;
5045
5059
  }
5046
5060
  .sc-file-preview__tab > .sc-file-preview__note {
5047
5061
  margin: 0;
@@ -5282,6 +5296,7 @@
5282
5296
  background: var(--sc-color-surface-sunken);
5283
5297
  font-size: var(--sc-font-size-xs);
5284
5298
  color: var(--sc-color-text-muted);
5299
+ text-wrap-style: pretty;
5285
5300
  }
5286
5301
  @media (height <= 820px) {
5287
5302
  .sc-flow__rail-note {
@@ -5386,6 +5401,7 @@
5386
5401
  .sc-flow__step-description {
5387
5402
  max-inline-size: 60ch;
5388
5403
  color: var(--sc-color-text-muted);
5404
+ text-wrap-style: pretty;
5389
5405
  }
5390
5406
 
5391
5407
  /* Footer: back at the start, hint and primary action at the end, every button a 44px target. */
@@ -5639,6 +5655,7 @@
5639
5655
  font-size: var(--sc-font-size-sm);
5640
5656
  line-height: var(--sc-font-line-height-ui);
5641
5657
  color: var(--sc-color-text-muted);
5658
+ text-wrap-style: pretty;
5642
5659
  }
5643
5660
  .sc-reason-list[data-size='sm'] {
5644
5661
  --_m: 7px;
@@ -5776,6 +5793,7 @@
5776
5793
  font-size: var(--sc-font-size-sm);
5777
5794
  line-height: var(--sc-font-line-height-ui);
5778
5795
  color: var(--sc-color-text-muted);
5796
+ text-wrap-style: pretty;
5779
5797
  }
5780
5798
  .sc-quote__label {
5781
5799
  display: inline;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salemcobalt/ui",
3
- "version": "0.2.0-rc.31",
3
+ "version": "0.2.0-rc.33",
4
4
  "description": "React components for the Salem Cobalt design system: Button, IconButton, Icon set, BroomIcon, Badge, Card, Stack, Inline, Kbd, Dialog, FullScreenFlow, Tooltip, Menu, Popover, PriorityNav, Toolbar, Banner, Spinner, Progress, Tabs, Input, Textarea, Select, FileInput, Checkbox, Switch, Heading, Text, Table, Stat, Chip, Disclosure, EmptyState, Skeleton, Score, ReasonList, WordDiff, Quote; TextEditor (CodeMirror 6, inline word diffs) at @salemcobalt/ui/editor.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -46,7 +46,7 @@
46
46
  "diff": "^8.0.4",
47
47
  "react": "^19.0.0",
48
48
  "react-dom": "^19.0.0",
49
- "@salemcobalt/tokens": "^0.2.0-rc.31"
49
+ "@salemcobalt/tokens": "^0.2.0-rc.33"
50
50
  },
51
51
  "peerDependenciesMeta": {
52
52
  "@codemirror/commands": {
@@ -109,7 +109,7 @@
109
109
  "tsup": "^9.0.0",
110
110
  "typescript": "^5.9.3",
111
111
  "vitest": "^5.0.5",
112
- "@salemcobalt/tokens": "^0.2.0-rc.31"
112
+ "@salemcobalt/tokens": "^0.2.0-rc.33"
113
113
  },
114
114
  "publishConfig": {
115
115
  "access": "public"