@flytedan/flytebot-design-system 0.59.0 → 0.61.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/README.md +1 -1
- package/dist/index.cjs +1725 -1413
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +131 -20
- package/dist/index.d.ts +131 -20
- package/dist/index.js +1730 -1422
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/styles/components.css +175 -0
package/package.json
CHANGED
package/styles/components.css
CHANGED
|
@@ -950,6 +950,53 @@
|
|
|
950
950
|
font-weight: var(--w-medium);
|
|
951
951
|
}
|
|
952
952
|
|
|
953
|
+
/* ============ FactList ============ */
|
|
954
|
+
/* The columns follow the list's own width (a container query), so a narrow card on a wide screen
|
|
955
|
+
is one column too: 1 below 480px, then 2, 3 and 4 from 480, 720 and 960. */
|
|
956
|
+
.fd-facts {
|
|
957
|
+
container-type: inline-size;
|
|
958
|
+
width: 100%;
|
|
959
|
+
}
|
|
960
|
+
.fd-facts-grid {
|
|
961
|
+
display: grid;
|
|
962
|
+
grid-template-columns: minmax(0, 1fr);
|
|
963
|
+
gap: 14px 24px;
|
|
964
|
+
margin: 0;
|
|
965
|
+
}
|
|
966
|
+
@container (min-width: 480px) {
|
|
967
|
+
.fd-facts-grid {
|
|
968
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
@container (min-width: 720px) {
|
|
972
|
+
.fd-facts-grid {
|
|
973
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
@container (min-width: 960px) {
|
|
977
|
+
.fd-facts-grid {
|
|
978
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
.fd-fact {
|
|
982
|
+
display: flex;
|
|
983
|
+
flex-direction: column;
|
|
984
|
+
gap: 3px;
|
|
985
|
+
min-width: 0;
|
|
986
|
+
}
|
|
987
|
+
.fd-fact-label {
|
|
988
|
+
font-size: var(--body-sm-size);
|
|
989
|
+
color: var(--text-2);
|
|
990
|
+
font-weight: var(--w-medium);
|
|
991
|
+
}
|
|
992
|
+
.fd-fact-value {
|
|
993
|
+
margin: 0;
|
|
994
|
+
font-size: var(--body-size);
|
|
995
|
+
color: var(--text);
|
|
996
|
+
font-weight: var(--w-medium);
|
|
997
|
+
overflow-wrap: anywhere;
|
|
998
|
+
}
|
|
999
|
+
|
|
953
1000
|
/* ============ Collapsible ============ */
|
|
954
1001
|
.fd-coll {
|
|
955
1002
|
border: 1px solid var(--border);
|
|
@@ -2084,6 +2131,9 @@
|
|
|
2084
2131
|
.fd-table tbody tr:hover {
|
|
2085
2132
|
background: var(--surface-brand);
|
|
2086
2133
|
}
|
|
2134
|
+
.fd-table tbody tr[data-clickable] {
|
|
2135
|
+
cursor: pointer;
|
|
2136
|
+
}
|
|
2087
2137
|
.fd-table tbody tr[aria-selected="true"] {
|
|
2088
2138
|
background: var(--surface-brand);
|
|
2089
2139
|
box-shadow: inset 2px 0 0 var(--brand);
|
|
@@ -2094,6 +2144,116 @@
|
|
|
2094
2144
|
.fd-table tbody tr:last-child td {
|
|
2095
2145
|
border-bottom: 0;
|
|
2096
2146
|
}
|
|
2147
|
+
/* Stacked mode (DataTable at 640px wide or less): the rows are compact cards in the same surface as the table.
|
|
2148
|
+
A card is a title line (primary columns; the first one ellipsizes, the rest keep their size, so a
|
|
2149
|
+
status stays beside a long name) and a muted meta line of labelled secondary values, two lines at most. */
|
|
2150
|
+
.fd-table-wrap-stacked {
|
|
2151
|
+
overflow: visible;
|
|
2152
|
+
}
|
|
2153
|
+
.fd-dt-sort {
|
|
2154
|
+
display: flex;
|
|
2155
|
+
flex-wrap: wrap;
|
|
2156
|
+
align-items: center;
|
|
2157
|
+
gap: 6px;
|
|
2158
|
+
padding: 8px 12px;
|
|
2159
|
+
background: var(--surface-2);
|
|
2160
|
+
border-bottom: 1px solid var(--border);
|
|
2161
|
+
border-radius: var(--r-lg) var(--r-lg) 0 0;
|
|
2162
|
+
}
|
|
2163
|
+
.fd-dt-sort::before {
|
|
2164
|
+
content: "Sort";
|
|
2165
|
+
margin-right: 4px;
|
|
2166
|
+
font-size: var(--overline-size);
|
|
2167
|
+
letter-spacing: var(--overline-track);
|
|
2168
|
+
text-transform: uppercase;
|
|
2169
|
+
font-weight: var(--w-bold);
|
|
2170
|
+
color: var(--text-muted);
|
|
2171
|
+
}
|
|
2172
|
+
.fd-dt-sort button {
|
|
2173
|
+
display: inline-flex;
|
|
2174
|
+
align-items: center;
|
|
2175
|
+
gap: 5px;
|
|
2176
|
+
height: 28px;
|
|
2177
|
+
padding: 0 10px;
|
|
2178
|
+
border: 1px solid var(--border);
|
|
2179
|
+
border-radius: var(--r-full);
|
|
2180
|
+
background: var(--surface);
|
|
2181
|
+
color: var(--text-2);
|
|
2182
|
+
font: inherit;
|
|
2183
|
+
font-size: var(--label-size);
|
|
2184
|
+
font-weight: var(--w-semibold);
|
|
2185
|
+
cursor: pointer;
|
|
2186
|
+
}
|
|
2187
|
+
.fd-dt-sort button[aria-pressed="true"] {
|
|
2188
|
+
border-color: var(--brand);
|
|
2189
|
+
color: var(--text);
|
|
2190
|
+
}
|
|
2191
|
+
.fd-dt-sort .fd-caret {
|
|
2192
|
+
color: var(--brand);
|
|
2193
|
+
font-size: 9px;
|
|
2194
|
+
}
|
|
2195
|
+
.fd-dt-card {
|
|
2196
|
+
display: flex;
|
|
2197
|
+
flex-direction: column;
|
|
2198
|
+
gap: 3px;
|
|
2199
|
+
min-width: 0;
|
|
2200
|
+
padding: 12px 14px;
|
|
2201
|
+
border-bottom: 1px solid var(--border);
|
|
2202
|
+
transition:
|
|
2203
|
+
background var(--dur-fast) var(--ease),
|
|
2204
|
+
box-shadow var(--dur-fast) var(--ease);
|
|
2205
|
+
}
|
|
2206
|
+
.fd-dt-card:last-child {
|
|
2207
|
+
border-bottom: 0;
|
|
2208
|
+
}
|
|
2209
|
+
.fd-dt-card[data-clickable] {
|
|
2210
|
+
cursor: pointer;
|
|
2211
|
+
}
|
|
2212
|
+
.fd-dt-card[data-clickable]:hover,
|
|
2213
|
+
.fd-dt-card[data-selected="true"] {
|
|
2214
|
+
background: var(--surface-brand);
|
|
2215
|
+
}
|
|
2216
|
+
.fd-dt-card[data-selected="true"] {
|
|
2217
|
+
box-shadow: inset 2px 0 0 var(--brand);
|
|
2218
|
+
}
|
|
2219
|
+
.fd-dt-card-title {
|
|
2220
|
+
display: flex;
|
|
2221
|
+
align-items: baseline;
|
|
2222
|
+
justify-content: space-between;
|
|
2223
|
+
gap: 10px;
|
|
2224
|
+
min-width: 0;
|
|
2225
|
+
font-size: var(--body-size);
|
|
2226
|
+
font-weight: var(--w-semibold);
|
|
2227
|
+
color: var(--text);
|
|
2228
|
+
}
|
|
2229
|
+
.fd-dt-card-title > span {
|
|
2230
|
+
flex: none;
|
|
2231
|
+
}
|
|
2232
|
+
.fd-dt-card-title > span:first-child {
|
|
2233
|
+
flex: 1 1 auto;
|
|
2234
|
+
min-width: 0;
|
|
2235
|
+
overflow: hidden;
|
|
2236
|
+
text-overflow: ellipsis;
|
|
2237
|
+
white-space: nowrap;
|
|
2238
|
+
}
|
|
2239
|
+
.fd-dt-card-meta {
|
|
2240
|
+
display: -webkit-box;
|
|
2241
|
+
-webkit-box-orient: vertical;
|
|
2242
|
+
-webkit-line-clamp: 2;
|
|
2243
|
+
overflow: hidden;
|
|
2244
|
+
font-size: var(--body-sm-size);
|
|
2245
|
+
color: var(--text-2);
|
|
2246
|
+
}
|
|
2247
|
+
.fd-dt-card-meta > span + span::before {
|
|
2248
|
+
content: "·";
|
|
2249
|
+
margin: 0 6px;
|
|
2250
|
+
}
|
|
2251
|
+
.fd-dt-card-label {
|
|
2252
|
+
color: var(--text-muted);
|
|
2253
|
+
}
|
|
2254
|
+
.fd-dt-card .is-num {
|
|
2255
|
+
font-variant-numeric: tabular-nums lining-nums;
|
|
2256
|
+
}
|
|
2097
2257
|
.fd-table-trunc {
|
|
2098
2258
|
display: block;
|
|
2099
2259
|
max-width: 100%;
|
|
@@ -2104,12 +2264,27 @@
|
|
|
2104
2264
|
|
|
2105
2265
|
/* ============ Tabs ============ */
|
|
2106
2266
|
.fd-tabs {
|
|
2267
|
+
--fd-tabs-fade-start: 0px;
|
|
2268
|
+
--fd-tabs-fade-end: 0px;
|
|
2107
2269
|
display: flex;
|
|
2108
2270
|
gap: 4px;
|
|
2109
2271
|
border-bottom: 1px solid var(--border);
|
|
2110
2272
|
overflow-x: auto;
|
|
2111
2273
|
scrollbar-width: none;
|
|
2112
2274
|
}
|
|
2275
|
+
/* Tabs that do not fit scroll sideways; the edge that has more fades out (Tabs sets the data
|
|
2276
|
+
attributes from the scroll position). The fade is a mask, so it is the same in either theme. */
|
|
2277
|
+
.fd-tabs[data-more-start="true"] {
|
|
2278
|
+
--fd-tabs-fade-start: 32px;
|
|
2279
|
+
}
|
|
2280
|
+
.fd-tabs[data-more-end="true"] {
|
|
2281
|
+
--fd-tabs-fade-end: 32px;
|
|
2282
|
+
}
|
|
2283
|
+
.fd-tabs[data-more-start="true"],
|
|
2284
|
+
.fd-tabs[data-more-end="true"] {
|
|
2285
|
+
-webkit-mask-image: linear-gradient(to right, transparent, #000 var(--fd-tabs-fade-start), #000 calc(100% - var(--fd-tabs-fade-end)), transparent);
|
|
2286
|
+
mask-image: linear-gradient(to right, transparent, #000 var(--fd-tabs-fade-start), #000 calc(100% - var(--fd-tabs-fade-end)), transparent);
|
|
2287
|
+
}
|
|
2113
2288
|
.fd-tabs::-webkit-scrollbar {
|
|
2114
2289
|
display: none;
|
|
2115
2290
|
}
|