@flytedan/flytebot-design-system 0.50.0 → 0.51.0

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.50.0",
3
+ "version": "0.51.0",
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",
@@ -1882,13 +1882,24 @@
1882
1882
  min-width: 0;
1883
1883
  overflow: hidden;
1884
1884
  }
1885
+ /* The figure and its delta share a line while both fit; when the tile is too narrow for
1886
+ * both, the delta wraps onto its own line under the figure. Each is one unbreakable unit
1887
+ * (`nowrap` on `.fd-stat-figure` and `.fd-stat-delta`), so neither is shrunk or split:
1888
+ * only the gap between them yields. */
1885
1889
  .fd-stat-top {
1886
1890
  display: flex;
1891
+ flex-wrap: wrap;
1887
1892
  align-items: baseline;
1888
- gap: 8px;
1889
- white-space: nowrap;
1893
+ column-gap: 8px;
1894
+ row-gap: 2px;
1890
1895
  min-width: 0;
1891
1896
  }
1897
+ .fd-stat-delta {
1898
+ flex: none;
1899
+ font-weight: 600;
1900
+ font-size: var(--body-sm-size);
1901
+ white-space: nowrap;
1902
+ }
1892
1903
  .fd-stat-sub {
1893
1904
  /* MP-141: this is explanatory copy ("on every funded campus, at minimum"),
1894
1905
  * never a user-data identifier — per the kit's truncation rule (see this
@@ -2703,6 +2714,24 @@
2703
2714
  color: var(--text);
2704
2715
  font-size: var(--body-size);
2705
2716
  }
2717
+ /* ToastProvider's stack: pinned to the bottom-right of the viewport (z-index is set inline
2718
+ from OVERLAY_CEILING, above every layer). The region itself takes no clicks: it has a real
2719
+ box wherever a toast is, including the gap between two stacked toasts and the shadow around
2720
+ each, and without this a click aimed at the control underneath would land on it. Each toast
2721
+ takes its clicks back, so its close button works. */
2722
+ .fd-toast-region {
2723
+ position: fixed;
2724
+ bottom: var(--s-lg);
2725
+ right: var(--s-lg);
2726
+ display: flex;
2727
+ flex-direction: column;
2728
+ gap: var(--s-sm);
2729
+ max-width: calc(100vw - 2 * var(--s-lg));
2730
+ pointer-events: none;
2731
+ }
2732
+ .fd-toast-region > * {
2733
+ pointer-events: auto;
2734
+ }
2706
2735
 
2707
2736
  /* ============ Flag / empty ============ */
2708
2737
  .fd-flag {
@@ -3015,6 +3044,14 @@
3015
3044
  .fd-filterbar-trigger {
3016
3045
  flex: none;
3017
3046
  }
3047
+ /* The count of applied filters, inside the Filter button: the kit's blue count pill, shrunk to
3048
+ sit beside the button's text without making the button taller. */
3049
+ .fd-filterbar-count {
3050
+ min-width: 20px;
3051
+ height: 20px;
3052
+ padding: 0 6px;
3053
+ margin-inline-start: var(--s-sm);
3054
+ }
3018
3055
  .fd-filterbar-chips {
3019
3056
  flex: 1 1 0;
3020
3057
  min-width: 0;
@@ -4036,28 +4073,31 @@
4036
4073
  }
4037
4074
 
4038
4075
  /* BarList */
4076
+ /* One shared column set for the whole list, so every row's label, bar, value and percent
4077
+ line up. The label column is as wide as the widest label (capped at 40% of the list, past
4078
+ which a long label ellipsizes and exposes its full text via `title`), so a short label such
4079
+ as a date is always shown whole instead of being cut to a fixed share of the row. Each level
4080
+ between the list and the cells (item, Tooltip anchor, button) is a subgrid over those same
4081
+ columns. */
4039
4082
  .fd-barlist-list {
4040
4083
  list-style: none;
4041
4084
  margin: 0;
4042
4085
  padding: 0;
4043
- display: flex;
4044
- flex-direction: column;
4045
- gap: 2px;
4046
- }
4047
- /* Tooltip's own trigger wrapper is an inline-flex span sized to its content (so an icon
4048
- trigger elsewhere in the kit hugs the icon) — here the trigger IS the whole row, so it
4049
- has to fill the row's width instead of shrink-wrapping it, or every column past the
4050
- label collapses to min-content. */
4051
- .fd-barlist-row .fd-tooltip-anchor {
4052
- display: block;
4053
- width: 100%;
4086
+ display: grid;
4087
+ grid-template-columns: fit-content(40%) minmax(48px, 1fr) max-content max-content;
4088
+ column-gap: 10px;
4089
+ row-gap: 2px;
4054
4090
  }
4091
+ .fd-barlist-row,
4092
+ .fd-barlist-row .fd-tooltip-anchor,
4055
4093
  .fd-barlist-btn {
4056
4094
  display: grid;
4057
- grid-template-columns: minmax(64px, 0.9fr) 3fr auto auto;
4095
+ grid-column: 1 / -1;
4096
+ grid-template-columns: subgrid;
4097
+ min-width: 0;
4098
+ }
4099
+ .fd-barlist-btn {
4058
4100
  align-items: center;
4059
- gap: 10px;
4060
- width: 100%;
4061
4101
  border: none;
4062
4102
  background: none;
4063
4103
  padding: 6px 4px;
@@ -4109,9 +4149,9 @@
4109
4149
  text-align: right;
4110
4150
  }
4111
4151
  @media (max-width: 480px) {
4112
- .fd-barlist-btn {
4113
- grid-template-columns: minmax(52px, 0.8fr) 2fr auto auto;
4114
- gap: 6px;
4152
+ .fd-barlist-list {
4153
+ grid-template-columns: fit-content(40%) minmax(40px, 1fr) max-content;
4154
+ column-gap: 6px;
4115
4155
  }
4116
4156
  .fd-barlist-pct {
4117
4157
  display: none;