@flytedan/flytebot-design-system 0.11.4 → 0.11.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flytedan/flytebot-design-system",
3
- "version": "0.11.4",
3
+ "version": "0.11.5",
4
4
  "description": "flytedesk Design System — shared component library, tokens, and business-logic kits for flytedesk apps.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -4050,19 +4050,33 @@
4050
4050
  display: flex;
4051
4051
  align-items: center;
4052
4052
  min-width: 0;
4053
- /* Cells are fixed-width, so a strip wider than the row it's in has to lose the
4054
- tail rather than push it: without this the overflowing cells paint straight
4055
- through whatever is pinned to the end of the strip. Clipping the last column
4056
- is the right failure here — the alternative is columns that shift row to row,
4057
- which is the one thing an aligned strip must never do. */
4053
+ /* When even the figures themselves don't fit (see .fd-erow-cell), the strip loses
4054
+ the tail rather than pushing it: without this the overflowing cells paint straight
4055
+ through whatever is pinned to the end of the strip. */
4058
4056
  overflow: hidden;
4059
4057
  }
4058
+ /* One column slot. It takes its column's width (--erow-metric-w, set per cell by
4059
+ EntityRowMetrics) whenever the strip has room for every column at its width, which keeps
4060
+ rows and totals aligned. In a strip too narrow for that — a phone, or a list pane squeezed
4061
+ beside another — the slots shrink toward their own figure instead of clipping whole
4062
+ columns off the end: a narrow row gives up alignment before it gives up a figure. The
4063
+ right padding (inside the width) keeps shrunk figures from running into each other. */
4064
+ .fd-erow-cell {
4065
+ display: flex;
4066
+ flex: 0 1 auto;
4067
+ width: var(--erow-metric-w);
4068
+ min-width: min-content;
4069
+ padding-right: 6px;
4070
+ }
4071
+ .fd-erow-cell > .fd-tooltip-anchor,
4072
+ .fd-erow-cell .fd-erow-metric {
4073
+ flex: 1 1 auto;
4074
+ min-width: 0;
4075
+ }
4060
4076
  .fd-erow-metric {
4061
4077
  display: inline-flex;
4062
4078
  align-items: center;
4063
4079
  gap: 4px;
4064
- flex: none;
4065
- width: var(--erow-metric-w);
4066
4080
  font-size: var(--overline-size);
4067
4081
  color: var(--text-2);
4068
4082
  white-space: nowrap;
@@ -4117,21 +4131,6 @@ button.fd-erow-metric:focus-visible {
4117
4131
  font-size: 18px;
4118
4132
  }
4119
4133
  }
4120
- /* On a narrow screen the fixed column widths give way to the figures themselves. A phone
4121
- row has roughly 170px beside its name's grip and its 44px action, and a strip of three
4122
- columns sized for desktop totals is 270px, so fixed widths there do not clip "the tail":
4123
- they hide a whole figure, on every row, with nothing to say it exists. Content-sized
4124
- cells with a gap keep every figure visible; the cost is that columns can drift a few px
4125
- row to row, which on a phone is the smaller loss. Wider than this, cells keep their
4126
- fixed widths and the aligned-column contract above holds exactly. */
4127
- @media (max-width: 768px) {
4128
- .fd-erow-metrics {
4129
- gap: 10px;
4130
- }
4131
- .fd-erow-metric {
4132
- width: auto;
4133
- }
4134
- }
4135
4134
  .fd-erow-accessory {
4136
4135
  margin-left: auto;
4137
4136
  flex: none;
@@ -4158,15 +4157,27 @@ button.fd-erow-metric:focus-visible {
4158
4157
  opacity: 0.6;
4159
4158
  }
4160
4159
 
4161
- /* TransferList: two panels side by side, each its own bordered surface. On a narrow screen
4162
- the panels stack instead: two lists sharing a phone's width get ~140px each, which is
4163
- too narrow for a search field beside its sort button or for a row's name beside its
4164
- figures and action, so a list you cannot read is traded for one you scroll past. */
4160
+ /* TransferList: two panels side by side, each its own bordered surface while the
4161
+ component itself is wide enough for that. Below 600px of its OWN width (a phone, or a
4162
+ half-width card on a desktop page) the panels stack: two panes under ~290px each are too
4163
+ narrow for a search field beside its sort button, or for a row's name beside its figures
4164
+ and action, so a list you cannot read is traded for one you scroll past. A container
4165
+ query, not a media query, because the width that matters is the list's, not the
4166
+ screen's. */
4165
4167
  .fd-tlist {
4168
+ container-type: inline-size;
4169
+ }
4170
+ .fd-tlist-panes {
4166
4171
  display: flex;
4167
4172
  gap: 16px;
4168
4173
  align-items: flex-start;
4169
4174
  }
4175
+ @container (max-width: 600px) {
4176
+ .fd-tlist-panes {
4177
+ flex-direction: column;
4178
+ align-items: stretch;
4179
+ }
4180
+ }
4170
4181
  .fd-tlist-side {
4171
4182
  flex: 1;
4172
4183
  min-width: 0;
@@ -4182,12 +4193,6 @@ button.fd-erow-metric:focus-visible {
4182
4193
  .fd-tlist-side.is-drop-target {
4183
4194
  border-color: var(--brand);
4184
4195
  }
4185
- @media (max-width: 768px) {
4186
- .fd-tlist {
4187
- flex-direction: column;
4188
- align-items: stretch;
4189
- }
4190
- }
4191
4196
  /* TransferList's full-panel drop overlay — extends the existing subtle
4192
4197
  dragOverSide border-color change into real visual weight: a dashed blue
4193
4198
  border and a translucent brand scrim across the WHOLE target side, with