@flytedan/flytebot-design-system 0.12.10 → 0.12.11
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 +14 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/styles/components.css +106 -37
package/package.json
CHANGED
package/styles/components.css
CHANGED
|
@@ -176,13 +176,23 @@
|
|
|
176
176
|
background: var(--surface);
|
|
177
177
|
box-shadow: var(--e-1);
|
|
178
178
|
}
|
|
179
|
-
/* Tone on a quiet (ghost/outline) icon button: the glyph carries it, on hover too.
|
|
180
|
-
|
|
181
|
-
|
|
179
|
+
/* Tone on a quiet (ghost/outline) icon button: the glyph carries it, on hover too.
|
|
180
|
+
MP-114 follow-up: also excludes .fd-btn-icon-soft, which was never meant to match
|
|
181
|
+
here (it isn't ghost or outline — it has its own real fill, see .fd-btn-icon-soft
|
|
182
|
+
below) but did, at (0,3,0) beating the soft rule's own un-toned (0,1,0)/toned
|
|
183
|
+
(0,2,0) color rules at rest. That stomped --btn-soft-ok-ink/--btn-soft-danger-ink
|
|
184
|
+
(chosen to clear 4.5:1 against the soft fill) with --ok-text/--danger-text (chosen
|
|
185
|
+
to clear 4.5:1 against a plain card instead) — a real fill behind the wrong ink,
|
|
186
|
+
e2e-measured at 2.04:1. The soft rule's own `:hover`/`:active` restatements already
|
|
187
|
+
won their own specificity fight against this same rule's `:hover` (both (0,3,0),
|
|
188
|
+
soft declared later so it wins the tie) — only the REST state, where soft never
|
|
189
|
+
restated color at all, actually lost. */
|
|
190
|
+
.fd-btn-icon.is-ok:not(.fd-btn-icon-solid):not(.fd-btn-icon-soft),
|
|
191
|
+
.fd-btn-icon.is-ok:not(.fd-btn-icon-solid):not(.fd-btn-icon-soft):hover {
|
|
182
192
|
color: var(--ok-text);
|
|
183
193
|
}
|
|
184
|
-
.fd-btn-icon.is-danger:not(.fd-btn-icon-solid),
|
|
185
|
-
.fd-btn-icon.is-danger:not(.fd-btn-icon-solid):hover {
|
|
194
|
+
.fd-btn-icon.is-danger:not(.fd-btn-icon-solid):not(.fd-btn-icon-soft),
|
|
195
|
+
.fd-btn-icon.is-danger:not(.fd-btn-icon-solid):not(.fd-btn-icon-soft):hover {
|
|
186
196
|
color: var(--danger-text);
|
|
187
197
|
}
|
|
188
198
|
/* Solid: a real fill in the tone's colour. The fills and inks are the --btn-solid-*
|
|
@@ -4089,15 +4099,20 @@
|
|
|
4089
4099
|
itself uses (--r-md here rather than Card's --r-lg — a compact list row reads
|
|
4090
4100
|
better with the tighter radius; --e-1/--e-2 are the same elevation tokens). */
|
|
4091
4101
|
.fd-erow {
|
|
4092
|
-
/* display/align-items/gap live here, not on the component's inline style
|
|
4093
|
-
they used to be, MP-114 follow-
|
|
4102
|
+
/* display/align-items/gap/padding live here, not on the component's inline style
|
|
4103
|
+
(where they used to be, MP-114 follow-ups) — an inline style always wins over a
|
|
4094
4104
|
stylesheet rule, which would make it impossible for the narrow-container rule
|
|
4095
|
-
below to ever switch this row from a flex row to a grid.
|
|
4105
|
+
below to ever switch this row from a flex row to a grid. gap/padding/border-width
|
|
4106
|
+
read the shared --erow-* custom properties (declared once on .fd-tlist above)
|
|
4107
|
+
rather than carrying their own literals, which is also what lets
|
|
4108
|
+
.fd-tlist-footer's indent stay correct by construction instead of by two
|
|
4109
|
+
numbers happening to agree. */
|
|
4096
4110
|
display: flex;
|
|
4097
4111
|
align-items: center;
|
|
4098
|
-
gap:
|
|
4112
|
+
gap: var(--erow-gap);
|
|
4113
|
+
padding: 0 var(--erow-pad-x);
|
|
4099
4114
|
background: var(--surface-2);
|
|
4100
|
-
border:
|
|
4115
|
+
border: var(--erow-border-w) solid var(--erow-border);
|
|
4101
4116
|
border-radius: var(--r-md);
|
|
4102
4117
|
box-shadow: var(--e-1);
|
|
4103
4118
|
transition:
|
|
@@ -4306,6 +4321,12 @@ button.fd-erow-metric:focus-visible {
|
|
|
4306
4321
|
display: inline-flex;
|
|
4307
4322
|
align-items: center;
|
|
4308
4323
|
}
|
|
4324
|
+
/* Size lives here, not on the component's inline style (MP-114 third follow-up,
|
|
4325
|
+
same reasoning as .fd-erow's own padding above): .fd-tlist-footer's indent reads
|
|
4326
|
+
it back as --erow-grip-size. */
|
|
4327
|
+
.fd-erow-grip {
|
|
4328
|
+
font-size: var(--erow-grip-size);
|
|
4329
|
+
}
|
|
4309
4330
|
.fd-erow[draggable="true"]:active {
|
|
4310
4331
|
cursor: grabbing;
|
|
4311
4332
|
}
|
|
@@ -4335,12 +4356,68 @@ button.fd-erow-metric:focus-visible {
|
|
|
4335
4356
|
screen's. */
|
|
4336
4357
|
.fd-tlist {
|
|
4337
4358
|
container-type: inline-size;
|
|
4359
|
+
/* A row's own geometry, declared ONCE here rather than as literals wherever
|
|
4360
|
+
something needs to line up with it (MP-114, third follow-up: the totals
|
|
4361
|
+
footer's indent restated these as bare numbers in two places while the real
|
|
4362
|
+
values lived as inline styles on EntityRow.tsx's row and its drag grip — a
|
|
4363
|
+
change to either drifted the footer's indent silently, which is exactly what
|
|
4364
|
+
the second follow-up's 24px misalignment was). `.fd-erow` and `.fd-erow-grip`
|
|
4365
|
+
read these instead of carrying their own inline padding/font-size, and
|
|
4366
|
+
`.fd-tlist-footer`'s two indents (below) are `calc()` of the same four
|
|
4367
|
+
properties — a row and the totals line can only drift apart now if one of
|
|
4368
|
+
THESE four values changes, and both readers change with it. Declared on
|
|
4369
|
+
`.fd-tlist` (the one ancestor common to both a row and the footer, which are
|
|
4370
|
+
otherwise unrelated siblings under `.fd-tlist-side`) rather than on `.fd-erow`
|
|
4371
|
+
itself, so the footer — which is never a descendant of any `.fd-erow` — can
|
|
4372
|
+
still read them by ordinary custom-property inheritance. */
|
|
4373
|
+
--erow-border-w: 1px;
|
|
4374
|
+
--erow-pad-x: 12px;
|
|
4375
|
+
--erow-grip-size: 14px;
|
|
4376
|
+
--erow-gap: 10px;
|
|
4338
4377
|
}
|
|
4339
4378
|
.fd-tlist-panes {
|
|
4340
4379
|
display: flex;
|
|
4341
4380
|
gap: 16px;
|
|
4342
4381
|
align-items: flex-start;
|
|
4343
4382
|
}
|
|
4383
|
+
/* TransferList's per-side slots. The footer is where a running totals line goes;
|
|
4384
|
+
it sits on the panel, not on a card, and is separated by a rule rather than a
|
|
4385
|
+
gap so it reads as a summary OF the list rather than another row IN it.
|
|
4386
|
+
Declared here, BEFORE the narrow @container block below, deliberately: CSS
|
|
4387
|
+
cascade order for two rules of equal specificity is source order regardless of
|
|
4388
|
+
which one sits inside an at-rule, so a base rule declared AFTER a narrow
|
|
4389
|
+
override for the same property would silently win at every width, override
|
|
4390
|
+
included — this is what actually happened to this rule's own `padding-left`
|
|
4391
|
+
for two follow-ups running (the override was textually correct and had a
|
|
4392
|
+
passing stylesheet-contract test, but the base rule used to be declared further
|
|
4393
|
+
down the file, after the @container block, and always won the tie). */
|
|
4394
|
+
.fd-tlist-header {
|
|
4395
|
+
display: flex;
|
|
4396
|
+
align-items: center;
|
|
4397
|
+
gap: 8px;
|
|
4398
|
+
min-width: 0;
|
|
4399
|
+
}
|
|
4400
|
+
.fd-tlist-footer {
|
|
4401
|
+
display: flex;
|
|
4402
|
+
align-items: center;
|
|
4403
|
+
gap: 10px;
|
|
4404
|
+
min-width: 0;
|
|
4405
|
+
padding-top: 8px;
|
|
4406
|
+
/* Indented to the x a row's own body starts at, so a totals strip in here lands
|
|
4407
|
+
under the columns it totals rather than a card's width to the left of them: the
|
|
4408
|
+
card's border, the row's own padding, the drag grip and its gap — every row in
|
|
4409
|
+
a TransferList is a drag source, so it is the same on all of them. Written as
|
|
4410
|
+
calc() of the shared --erow-* custom properties (.fd-tlist's own comment)
|
|
4411
|
+
rather than as separate literals that merely happened to equal the same
|
|
4412
|
+
numbers EntityRow.tsx's row/grip carried inline — a change to any one of those
|
|
4413
|
+
four properties now moves this indent with it instead of silently drifting out
|
|
4414
|
+
of alignment, which is exactly how this went wrong at the narrow breakpoint
|
|
4415
|
+
(see that rule's own comment). */
|
|
4416
|
+
padding-left: calc(var(--erow-border-w) + var(--erow-pad-x) + var(--erow-grip-size) + var(--erow-gap));
|
|
4417
|
+
border-top: 1px solid var(--border);
|
|
4418
|
+
font-size: var(--overline-size);
|
|
4419
|
+
color: var(--text-2);
|
|
4420
|
+
}
|
|
4344
4421
|
@container (max-width: 600px) {
|
|
4345
4422
|
.fd-tlist-panes {
|
|
4346
4423
|
flex-direction: column;
|
|
@@ -4392,7 +4469,10 @@ button.fd-erow-metric:focus-visible {
|
|
|
4392
4469
|
grid-template-areas:
|
|
4393
4470
|
"grip title accessory action"
|
|
4394
4471
|
"strip strip strip strip";
|
|
4395
|
-
gap
|
|
4472
|
+
/* Row-gap is a new number (there was no vertical gap to preserve — the old
|
|
4473
|
+
layout never had two grid rows), but the column-gap is the same --erow-gap
|
|
4474
|
+
the wide flex row uses, not a second literal 10px that could drift from it. */
|
|
4475
|
+
gap: 4px var(--erow-gap);
|
|
4396
4476
|
}
|
|
4397
4477
|
.fd-erow-body,
|
|
4398
4478
|
.fd-erow-strip {
|
|
@@ -4436,6 +4516,21 @@ button.fd-erow-metric:focus-visible {
|
|
|
4436
4516
|
}
|
|
4437
4517
|
.fd-tlist-footer {
|
|
4438
4518
|
flex-wrap: wrap;
|
|
4519
|
+
/* The wide-width padding-left (see the base rule's own comment) indents the
|
|
4520
|
+
totals strip to where a row's metric strip used to start: AFTER the card border,
|
|
4521
|
+
the row's own padding, the drag grip and its gap. Down here the row's strip no
|
|
4522
|
+
longer starts there — it's `.fd-erow`'s own full-width second grid row (see
|
|
4523
|
+
`.fd-erow`'s own comment above), which starts at the row's own left padding
|
|
4524
|
+
edge, before the grip rather than after it. audience-builder.spec.ts caught the
|
|
4525
|
+
mismatch this left behind: a row's strip and the totals strip 24px apart at the
|
|
4526
|
+
SAME breakpoint that made the grid switch active in the first place (any
|
|
4527
|
+
TransferList pane under 600px, which an ordinary 1280px desktop window reaches
|
|
4528
|
+
easily — see that rule's own comment). The totals strip needs the SAME new
|
|
4529
|
+
origin: just the card's border and the row's own padding, with the grip/gap
|
|
4530
|
+
terms dropped since they no longer apply to either strip — both terms of the
|
|
4531
|
+
SAME --erow-* properties (.fd-tlist's own comment) the base rule below uses,
|
|
4532
|
+
not separately-guessed numbers, so the two can't drift apart again. */
|
|
4533
|
+
padding-left: calc(var(--erow-border-w) + var(--erow-pad-x));
|
|
4439
4534
|
}
|
|
4440
4535
|
}
|
|
4441
4536
|
.fd-tlist-side {
|
|
@@ -4484,32 +4579,6 @@ button.fd-erow-metric:focus-visible {
|
|
|
4484
4579
|
box-shadow: var(--e-2);
|
|
4485
4580
|
color: var(--brand);
|
|
4486
4581
|
}
|
|
4487
|
-
/* TransferList's per-side slots. The footer is where a running totals line goes;
|
|
4488
|
-
it sits on the panel, not on a card, and is separated by a rule rather than a
|
|
4489
|
-
gap so it reads as a summary OF the list rather than another row IN it. */
|
|
4490
|
-
.fd-tlist-header {
|
|
4491
|
-
display: flex;
|
|
4492
|
-
align-items: center;
|
|
4493
|
-
gap: 8px;
|
|
4494
|
-
min-width: 0;
|
|
4495
|
-
}
|
|
4496
|
-
.fd-tlist-footer {
|
|
4497
|
-
display: flex;
|
|
4498
|
-
align-items: center;
|
|
4499
|
-
gap: 10px;
|
|
4500
|
-
min-width: 0;
|
|
4501
|
-
padding-top: 8px;
|
|
4502
|
-
/* Indented to the x a row's own body starts at, so a totals strip in here lands
|
|
4503
|
-
under the columns it totals rather than a card's width to the left of them.
|
|
4504
|
-
The sum is the card's border and padding-left plus the drag grip and its gap
|
|
4505
|
-
— every row in a TransferList is a drag source, so it is the same on all of
|
|
4506
|
-
them. Spelled out rather than collapsed to 37px so it stays checkable against
|
|
4507
|
-
.fd-erow if that padding ever moves. */
|
|
4508
|
-
padding-left: calc(1px + 12px + 14px + 10px);
|
|
4509
|
-
border-top: 1px solid var(--border);
|
|
4510
|
-
font-size: var(--overline-size);
|
|
4511
|
-
color: var(--text-2);
|
|
4512
|
-
}
|
|
4513
4582
|
|
|
4514
4583
|
/* --- ScoreMeter — a small categorical 0-100 bar, optionally a trigger ------ */
|
|
4515
4584
|
.fd-scoremeter {
|