@flytedan/flytebot-design-system 0.49.0 → 0.49.2
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/index.cjs +90 -72
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -1
- package/dist/index.d.ts +25 -1
- package/dist/index.js +85 -72
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/styles/components.css +63 -6
package/package.json
CHANGED
package/styles/components.css
CHANGED
|
@@ -1163,6 +1163,10 @@
|
|
|
1163
1163
|
place-items: center;
|
|
1164
1164
|
width: 18px;
|
|
1165
1165
|
height: 18px;
|
|
1166
|
+
/* MP-282: fixed at 18×18 on purpose (a real hit target) — never one of the flex items a
|
|
1167
|
+
squeezed .fd-tag shrinks to make room for a long label (see .fd-filterbar .fd-tag-label
|
|
1168
|
+
below), so it stays visible and clickable at any chip width. */
|
|
1169
|
+
flex: none;
|
|
1166
1170
|
border-radius: var(--r-full);
|
|
1167
1171
|
background: var(--border);
|
|
1168
1172
|
color: var(--text-2);
|
|
@@ -1610,7 +1614,7 @@
|
|
|
1610
1614
|
.fd-soon-cone-mark i {
|
|
1611
1615
|
font-size: 11px;
|
|
1612
1616
|
}
|
|
1613
|
-
/* z-index is set inline by ComingSoon.tsx via
|
|
1617
|
+
/* z-index is set inline by ComingSoon.tsx via useLayerZIndex (kits/layerStack.tsx). */
|
|
1614
1618
|
.fd-soon-hovercard {
|
|
1615
1619
|
transform: none;
|
|
1616
1620
|
box-shadow: 0 18px 48px rgba(11, 13, 17, 0.26);
|
|
@@ -2482,7 +2486,7 @@
|
|
|
2482
2486
|
}
|
|
2483
2487
|
|
|
2484
2488
|
/* ============ Overlays ============ */
|
|
2485
|
-
/* z-index is set inline by Modal.tsx/Drawer.tsx via
|
|
2489
|
+
/* z-index is set inline by Modal.tsx/Drawer.tsx via useLayerZIndex (kits/layerStack.tsx). */
|
|
2486
2490
|
.fd-scrim {
|
|
2487
2491
|
position: fixed;
|
|
2488
2492
|
inset: 0;
|
|
@@ -2617,7 +2621,7 @@
|
|
|
2617
2621
|
border-top: 1px solid var(--border);
|
|
2618
2622
|
background: var(--surface-2);
|
|
2619
2623
|
}
|
|
2620
|
-
/* z-index is set inline by Drawer.tsx (and its scrim's) via
|
|
2624
|
+
/* z-index is set inline by Drawer.tsx (and its scrim's) via useLayerZIndex (kits/layerStack.tsx). */
|
|
2621
2625
|
.fd-drawer {
|
|
2622
2626
|
position: fixed;
|
|
2623
2627
|
top: 0;
|
|
@@ -2642,7 +2646,7 @@
|
|
|
2642
2646
|
/* Portaled to document.body and placed by Tooltip.tsx (fixed, anchored geometry), so no
|
|
2643
2647
|
overflow: hidden ancestor of the trigger can clip it. Short labels stay on one line
|
|
2644
2648
|
(max-content); a sentence wraps at a readable measure instead of running off-screen.
|
|
2645
|
-
z-index is set inline by Tooltip.tsx via
|
|
2649
|
+
z-index is set inline by Tooltip.tsx via useLayerZIndex (kits/layerStack.tsx). */
|
|
2646
2650
|
.fd-tooltip {
|
|
2647
2651
|
position: fixed;
|
|
2648
2652
|
width: max-content;
|
|
@@ -2782,7 +2786,7 @@
|
|
|
2782
2786
|
position: relative;
|
|
2783
2787
|
}
|
|
2784
2788
|
.fd-pop {
|
|
2785
|
-
/* z-index is set inline by Popover.tsx via
|
|
2789
|
+
/* z-index is set inline by Popover.tsx via useLayerZIndex (kits/layerStack.tsx). */
|
|
2786
2790
|
position: absolute;
|
|
2787
2791
|
top: calc(100% + 6px);
|
|
2788
2792
|
left: 0;
|
|
@@ -2979,6 +2983,59 @@
|
|
|
2979
2983
|
matter (found opening three fields' chips on a 375px viewport). */
|
|
2980
2984
|
max-width: 100%;
|
|
2981
2985
|
}
|
|
2986
|
+
/* MP-282: seen live at 375px — a chip whose value is long (a full campaign name) painted
|
|
2987
|
+
637px wide inside a 297px-wide bar instead of respecting it, because .fd-tag is `flex:
|
|
2988
|
+
none; white-space: nowrap; max-width: none` with nothing to clamp it, and the ONLY thing
|
|
2989
|
+
that then hid the overflow was the page's own ancestor .fd-card `overflow: hidden` —
|
|
2990
|
+
which silently clipped the chip's × remove control right along with the label.
|
|
2991
|
+
Scoped to FilterBar's own chips, not `.fd-tag`/`.fd-tag-label` themselves: "never wider
|
|
2992
|
+
than this row" is FilterBar's rule, not Tag's. Tag is also used by RoadmapTimeline (a
|
|
2993
|
+
milestone label) and ApiSpecBrowser (an HTTP method, a module name, a screen path) —
|
|
2994
|
+
short, already-bounded-by-their-own-layout content where this bug was never observed and
|
|
2995
|
+
a forced max-width + ellipsis would only truncate text that fits today for no reason.
|
|
2996
|
+
|
|
2997
|
+
A `max-width: 100%` on `.fd-tag` ALONE does nothing here — tried first, and it left the
|
|
2998
|
+
chip at its full 633px (proven by this card's own failing-first browser test): the actual
|
|
2999
|
+
flex item .fd-filterbar-chip wraps `.fd-tag` in for select/multiSelect/range/date's chip
|
|
3000
|
+
(the extra <span> FilterBar.tsx keeps around so React preserves one stable DOM node across
|
|
3001
|
+
the editing/non-editing transition — see FilterBar.tsx's own comment on it) has `width:
|
|
3002
|
+
auto` (shrink-to-fit) with a default `min-width: auto`, which for non-wrapping text (`.fd-
|
|
3003
|
+
tag`'s inherited `white-space: nowrap`) equals the label's full intrinsic width — so the
|
|
3004
|
+
flex algorithm's shrink never actually engages, `.fd-filterbar-chip` sizes itself to fit
|
|
3005
|
+
the (unclamped) content, and a percentage `max-width` on the button THEN resolves against
|
|
3006
|
+
that same content-derived size: a circular dependency (CSS2.1 §10.2's "if the containing
|
|
3007
|
+
block's width depends on this element's width... the resulting layout is undefined"),
|
|
3008
|
+
which real browsers resolve by ignoring the percentage rather than clamping anything.
|
|
3009
|
+
`min-width: 0` on the actual flex item is what breaks the cycle: it lets the shrink
|
|
3010
|
+
algorithm bring `.fd-filterbar-chip` down to whatever room is actually left in the row —
|
|
3011
|
+
a value the flex layout itself computes from `.fd-filterbar`'s own (non-circular, genuinely
|
|
3012
|
+
definite once its own ancestor has a real width) size — and ONLY once that ancestor box has
|
|
3013
|
+
a real, non-content-derived width does `.fd-tag`'s `max-width: 100%` below have anything
|
|
3014
|
+
sound to resolve against. */
|
|
3015
|
+
.fd-filterbar-chip {
|
|
3016
|
+
min-width: 0;
|
|
3017
|
+
}
|
|
3018
|
+
.fd-filterbar .fd-tag {
|
|
3019
|
+
max-width: 100%;
|
|
3020
|
+
min-width: 0;
|
|
3021
|
+
}
|
|
3022
|
+
/* Tag.tsx always wraps its children in this span (see Tag.tsx's own MP-282 comment) so
|
|
3023
|
+
there is something block-level (flex items are blockified, .fd-tag is inline-flex) to
|
|
3024
|
+
hang `text-overflow: ellipsis` off. Unscoped, this rule would do nothing: no width is
|
|
3025
|
+
ever constrained on a bare .fd-tag-label outside FilterBar, so there is nothing for
|
|
3026
|
+
`white-space: nowrap` (inherited from .fd-tag either way) to need to ellipsise — a Tag
|
|
3027
|
+
used anywhere else keeps exactly its current look. `min-width: 0` is the same override
|
|
3028
|
+
as above, needed a second time because this label is itself a flex item of .fd-tag. The
|
|
3029
|
+
full text stays as this span's actual text content regardless of the visual ellipsis —
|
|
3030
|
+
that's what keeps the button's accessible name (computed from content, not from what's
|
|
3031
|
+
painted) the whole value; Tag's `title` prop (FilterBar passes the same full value)
|
|
3032
|
+
covers the hover-tooltip half of that same requirement. */
|
|
3033
|
+
.fd-filterbar .fd-tag-label {
|
|
3034
|
+
overflow: hidden;
|
|
3035
|
+
text-overflow: ellipsis;
|
|
3036
|
+
white-space: nowrap;
|
|
3037
|
+
min-width: 0;
|
|
3038
|
+
}
|
|
2982
3039
|
/* The text field's own inline "chip that is also an input" — its editing state reuses
|
|
2983
3040
|
.fd-tag's box but swaps in the selected/brand treatment .fd-tag[aria-pressed] already
|
|
2984
3041
|
defines elsewhere, and the raw <input> inside is stripped of its own chrome so it reads
|
|
@@ -7176,7 +7233,7 @@ button.fd-erow-metric:focus-visible {
|
|
|
7176
7233
|
border: 1.5px solid var(--surface);
|
|
7177
7234
|
animation: fd-badge-pop 260ms var(--ease) both;
|
|
7178
7235
|
}
|
|
7179
|
-
/* z-index is set inline by ModeSwitch.tsx via
|
|
7236
|
+
/* z-index is set inline by ModeSwitch.tsx via useInlinePanel, from useLayerZIndex (kits/layerStack.tsx). */
|
|
7180
7237
|
.fd-mode-pop {
|
|
7181
7238
|
position: absolute;
|
|
7182
7239
|
top: calc(100% + 8px);
|