@pipelex/mthds-ui 0.34.0 → 0.34.1

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.
@@ -1448,6 +1448,24 @@ button.node-validation-badge {
1448
1448
  background: var(--surface-elevated);
1449
1449
  }
1450
1450
 
1451
+ /* Phones: below 640px (Tailwind's `sm` breakpoint) the button keeps its look
1452
+ * and its place on the first content line, and takes taps over a 44×44 area,
1453
+ * the size a fingertip needs, through an invisible `::after` reaching 10px
1454
+ * past each edge. That reach covers no other control: above and to the right
1455
+ * lie the content's padding, to the left and below the header's text. Growing
1456
+ * the button instead would push the line it shares. */
1457
+ @media (max-width: 639.98px) {
1458
+ .detail-panel-close {
1459
+ position: relative;
1460
+ }
1461
+
1462
+ .detail-panel-close::after {
1463
+ content: "";
1464
+ position: absolute;
1465
+ inset: -10px;
1466
+ }
1467
+ }
1468
+
1451
1469
  .detail-panel-content {
1452
1470
  flex: 1;
1453
1471
  overflow-y: auto;
@@ -2388,6 +2406,67 @@ button.node-validation-badge {
2388
2406
  color: var(--color-accent);
2389
2407
  }
2390
2408
 
2409
+ /* ─── Phones: 44×44 touch targets ───────────────────────────────────────── */
2410
+ /* Below 640px (Tailwind's `sm` breakpoint) every toolbar button, the style
2411
+ menu's trigger and the validation button included, is a 44×44 target, the
2412
+ size a fingertip needs. The button itself grows rather than gaining an
2413
+ invisible extended hit area: the buttons sit 4px apart, so an area reaching
2414
+ 44px would cover its neighbour's and take the taps meant for it. Desktop
2415
+ sizes are untouched.
2416
+
2417
+ A bar of 44px buttons can be wider than a phone (or, on an edge anchor,
2418
+ taller than the viewer), so below 640px it wraps, never reaching past
2419
+ ReactFlow's 15px panel margin. The group separators are hidden there, since
2420
+ a wrapped row would end on one. */
2421
+ @media (max-width: 639.98px) {
2422
+ .graph-toolbar-panel {
2423
+ /* Not the shrink-to-fit width: for a `top-center` / `bottom-center` bar
2424
+ that is the half of the viewer `left: 50%` leaves it. */
2425
+ width: max-content;
2426
+ max-width: calc(100% - 2 * 15px);
2427
+ max-height: calc(100% - 2 * 15px);
2428
+ }
2429
+
2430
+ .graph-toolbar {
2431
+ flex-wrap: wrap;
2432
+ }
2433
+
2434
+ .graph-toolbar-separator {
2435
+ display: none;
2436
+ }
2437
+
2438
+ /* A row bar's short last row sits under the side it is anchored to. */
2439
+ .graph-toolbar-panel--horizontal.right .graph-toolbar {
2440
+ justify-content: flex-end;
2441
+ }
2442
+
2443
+ .graph-toolbar-panel--horizontal.center .graph-toolbar {
2444
+ justify-content: center;
2445
+ }
2446
+
2447
+ /* An edge anchor's column, as a flex item of the panel, is held to the
2448
+ panel's capped height, so it wraps into a second column, which grows
2449
+ toward the graph rather than off the viewer's edge. */
2450
+ .graph-toolbar-panel--vertical {
2451
+ display: flex;
2452
+ }
2453
+
2454
+ .graph-toolbar-panel--vertical.right .graph-toolbar {
2455
+ flex-wrap: wrap-reverse;
2456
+ }
2457
+
2458
+ .graph-toolbar-btn {
2459
+ width: 44px;
2460
+ height: 44px;
2461
+ border-radius: 8px;
2462
+ }
2463
+
2464
+ .graph-toolbar-btn svg {
2465
+ width: 18px;
2466
+ height: 18px;
2467
+ }
2468
+ }
2469
+
2391
2470
  /* ─── Simple style — a flowchart of the method's steps in plain words ───── */
2392
2471
  /* Token-only, like every component sheet here: the palette tokens on */
2393
2472
  /* `.react-flow-container` theme it. The box metrics mirror the constants in */