@flytedan/flytebot-design-system 0.12.15 → 0.14.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/dist/index.cjs +558 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +80 -1
- package/dist/index.d.ts +80 -1
- package/dist/index.js +557 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/styles/components.css +234 -0
package/package.json
CHANGED
package/styles/components.css
CHANGED
|
@@ -6814,3 +6814,237 @@ button.fd-erow-metric:focus-visible {
|
|
|
6814
6814
|
display: none;
|
|
6815
6815
|
}
|
|
6816
6816
|
}
|
|
6817
|
+
|
|
6818
|
+
/* FileBrowser (MP-135): a folder tree pane plus the current folder's contents — folders
|
|
6819
|
+
and files together, create/rename/move by drag or by an equally real keyboard menu.
|
|
6820
|
+
Two regions, one scroll region each (R-8): the head/breadcrumb bar never scrolls, the
|
|
6821
|
+
tree and the main pane each own their own overflow. Side by side while there's room —
|
|
6822
|
+
below a narrow width of the component's OWN box (a container query, same reasoning as
|
|
6823
|
+
`.fd-fv` above) the tree pane disappears entirely: there is nothing to switch to, since
|
|
6824
|
+
the current folder's own subfolders already show up as rows in the main pane. */
|
|
6825
|
+
.fd-fb {
|
|
6826
|
+
container-type: inline-size;
|
|
6827
|
+
display: flex;
|
|
6828
|
+
flex-direction: column;
|
|
6829
|
+
height: 100%;
|
|
6830
|
+
min-height: 0;
|
|
6831
|
+
background: var(--surface);
|
|
6832
|
+
color: var(--text);
|
|
6833
|
+
}
|
|
6834
|
+
.fd-fb-dropzone {
|
|
6835
|
+
display: flex;
|
|
6836
|
+
flex-direction: column;
|
|
6837
|
+
height: 100%;
|
|
6838
|
+
min-height: 0;
|
|
6839
|
+
}
|
|
6840
|
+
.fd-fb-head {
|
|
6841
|
+
display: flex;
|
|
6842
|
+
align-items: center;
|
|
6843
|
+
justify-content: space-between;
|
|
6844
|
+
flex-wrap: wrap;
|
|
6845
|
+
gap: 10px;
|
|
6846
|
+
padding: 12px 16px;
|
|
6847
|
+
border-bottom: 1px solid var(--border);
|
|
6848
|
+
flex: none;
|
|
6849
|
+
}
|
|
6850
|
+
.fd-fb-crumbs {
|
|
6851
|
+
display: flex;
|
|
6852
|
+
align-items: center;
|
|
6853
|
+
flex-wrap: wrap;
|
|
6854
|
+
gap: 2px;
|
|
6855
|
+
min-width: 0;
|
|
6856
|
+
}
|
|
6857
|
+
.fd-fb-crumb {
|
|
6858
|
+
display: flex;
|
|
6859
|
+
align-items: center;
|
|
6860
|
+
border-radius: var(--r-sm);
|
|
6861
|
+
}
|
|
6862
|
+
.fd-fb-crumb.is-drop-target {
|
|
6863
|
+
background: var(--surface-brand);
|
|
6864
|
+
}
|
|
6865
|
+
.fd-fb-crumb:not(:last-child)::after {
|
|
6866
|
+
content: "/";
|
|
6867
|
+
margin: 0 4px;
|
|
6868
|
+
color: var(--text-muted);
|
|
6869
|
+
}
|
|
6870
|
+
.fd-fb-crumb-link {
|
|
6871
|
+
padding: 2px 4px;
|
|
6872
|
+
border-radius: var(--r-sm);
|
|
6873
|
+
background: none;
|
|
6874
|
+
border: 0;
|
|
6875
|
+
color: var(--text-2);
|
|
6876
|
+
cursor: pointer;
|
|
6877
|
+
font: inherit;
|
|
6878
|
+
}
|
|
6879
|
+
.fd-fb-crumb-link:hover {
|
|
6880
|
+
background: var(--surface-2);
|
|
6881
|
+
color: var(--text);
|
|
6882
|
+
}
|
|
6883
|
+
.fd-fb-crumb-current {
|
|
6884
|
+
padding: 2px 4px;
|
|
6885
|
+
font-weight: 600;
|
|
6886
|
+
color: var(--text);
|
|
6887
|
+
}
|
|
6888
|
+
.fd-fb-actions {
|
|
6889
|
+
display: flex;
|
|
6890
|
+
align-items: center;
|
|
6891
|
+
gap: 8px;
|
|
6892
|
+
flex: none;
|
|
6893
|
+
}
|
|
6894
|
+
.fd-fb-body {
|
|
6895
|
+
display: flex;
|
|
6896
|
+
flex: 1 1 auto;
|
|
6897
|
+
min-height: 0;
|
|
6898
|
+
overflow: hidden;
|
|
6899
|
+
}
|
|
6900
|
+
.fd-fb-tree {
|
|
6901
|
+
flex: 0 0 220px;
|
|
6902
|
+
min-width: 0;
|
|
6903
|
+
min-height: 0;
|
|
6904
|
+
overflow: auto;
|
|
6905
|
+
padding: 10px;
|
|
6906
|
+
border-right: 1px solid var(--border);
|
|
6907
|
+
background: var(--surface-2);
|
|
6908
|
+
}
|
|
6909
|
+
.fd-fb-main {
|
|
6910
|
+
flex: 1 1 auto;
|
|
6911
|
+
min-width: 0;
|
|
6912
|
+
min-height: 0;
|
|
6913
|
+
overflow: auto;
|
|
6914
|
+
padding: 10px;
|
|
6915
|
+
position: relative;
|
|
6916
|
+
}
|
|
6917
|
+
.fd-fb-list {
|
|
6918
|
+
display: flex;
|
|
6919
|
+
flex-direction: column;
|
|
6920
|
+
gap: 2px;
|
|
6921
|
+
}
|
|
6922
|
+
.fd-fb-row {
|
|
6923
|
+
display: flex;
|
|
6924
|
+
align-items: center;
|
|
6925
|
+
gap: 4px;
|
|
6926
|
+
border-radius: var(--r-md);
|
|
6927
|
+
}
|
|
6928
|
+
.fd-fb-row.is-drop-target {
|
|
6929
|
+
background: var(--surface-brand);
|
|
6930
|
+
outline: 2px dashed var(--brand);
|
|
6931
|
+
outline-offset: -2px;
|
|
6932
|
+
}
|
|
6933
|
+
.fd-fb-row-main {
|
|
6934
|
+
flex: 1 1 auto;
|
|
6935
|
+
min-width: 0;
|
|
6936
|
+
display: flex;
|
|
6937
|
+
align-items: center;
|
|
6938
|
+
gap: 8px;
|
|
6939
|
+
padding: 6px 8px;
|
|
6940
|
+
background: none;
|
|
6941
|
+
border: 0;
|
|
6942
|
+
text-align: left;
|
|
6943
|
+
cursor: pointer;
|
|
6944
|
+
border-radius: var(--r-md);
|
|
6945
|
+
color: var(--text);
|
|
6946
|
+
font: inherit;
|
|
6947
|
+
}
|
|
6948
|
+
.fd-fb-row-main:hover {
|
|
6949
|
+
background: var(--surface-2);
|
|
6950
|
+
}
|
|
6951
|
+
.fd-fb-tree-row.is-current .fd-fb-row-main,
|
|
6952
|
+
.fd-fb-row.is-current .fd-fb-row-main {
|
|
6953
|
+
background: var(--surface-brand);
|
|
6954
|
+
color: var(--text-on-surface-brand);
|
|
6955
|
+
font-weight: 600;
|
|
6956
|
+
}
|
|
6957
|
+
.fd-fb-row-icon {
|
|
6958
|
+
display: grid;
|
|
6959
|
+
place-items: center;
|
|
6960
|
+
width: 22px;
|
|
6961
|
+
height: 22px;
|
|
6962
|
+
flex: none;
|
|
6963
|
+
color: var(--text-2);
|
|
6964
|
+
font-size: 16px;
|
|
6965
|
+
}
|
|
6966
|
+
.fd-fb-row-text {
|
|
6967
|
+
display: flex;
|
|
6968
|
+
flex-direction: column;
|
|
6969
|
+
min-width: 0;
|
|
6970
|
+
}
|
|
6971
|
+
.fd-fb-row-name {
|
|
6972
|
+
overflow: hidden;
|
|
6973
|
+
text-overflow: ellipsis;
|
|
6974
|
+
white-space: nowrap;
|
|
6975
|
+
font-size: var(--body-sm-size);
|
|
6976
|
+
}
|
|
6977
|
+
.fd-fb-row-meta {
|
|
6978
|
+
font-size: 11.5px;
|
|
6979
|
+
color: var(--text-muted);
|
|
6980
|
+
}
|
|
6981
|
+
.fd-fb-row-actions {
|
|
6982
|
+
display: flex;
|
|
6983
|
+
align-items: center;
|
|
6984
|
+
gap: 2px;
|
|
6985
|
+
flex: none;
|
|
6986
|
+
padding-right: 4px;
|
|
6987
|
+
}
|
|
6988
|
+
.fd-fb-tree-children {
|
|
6989
|
+
padding-left: 14px;
|
|
6990
|
+
}
|
|
6991
|
+
.fd-fb-menu-anchor {
|
|
6992
|
+
position: relative;
|
|
6993
|
+
display: inline-flex;
|
|
6994
|
+
}
|
|
6995
|
+
.fd-fb-menu {
|
|
6996
|
+
position: absolute;
|
|
6997
|
+
top: calc(100% + 4px);
|
|
6998
|
+
right: 0;
|
|
6999
|
+
z-index: 10;
|
|
7000
|
+
width: 220px;
|
|
7001
|
+
max-height: 280px;
|
|
7002
|
+
overflow: auto;
|
|
7003
|
+
background: var(--surface);
|
|
7004
|
+
border: 1px solid var(--border);
|
|
7005
|
+
border-radius: var(--r-lg);
|
|
7006
|
+
box-shadow: 0 16px 44px rgba(11, 13, 17, .18);
|
|
7007
|
+
padding: 6px;
|
|
7008
|
+
display: flex;
|
|
7009
|
+
flex-direction: column;
|
|
7010
|
+
gap: 1px;
|
|
7011
|
+
}
|
|
7012
|
+
.fd-fb-menu-title {
|
|
7013
|
+
padding: 4px 8px 6px;
|
|
7014
|
+
display: block;
|
|
7015
|
+
}
|
|
7016
|
+
.fd-fb-menu-item {
|
|
7017
|
+
display: flex;
|
|
7018
|
+
align-items: center;
|
|
7019
|
+
gap: 8px;
|
|
7020
|
+
padding: 6px 10px;
|
|
7021
|
+
border-radius: var(--r-sm);
|
|
7022
|
+
background: none;
|
|
7023
|
+
border: 0;
|
|
7024
|
+
cursor: pointer;
|
|
7025
|
+
text-align: left;
|
|
7026
|
+
font-size: var(--body-sm-size);
|
|
7027
|
+
color: var(--text);
|
|
7028
|
+
}
|
|
7029
|
+
.fd-fb-menu-item:hover {
|
|
7030
|
+
background: var(--surface-2);
|
|
7031
|
+
}
|
|
7032
|
+
.fd-fb-input {
|
|
7033
|
+
width: 100%;
|
|
7034
|
+
padding: 8px 10px;
|
|
7035
|
+
border: 1px solid var(--border);
|
|
7036
|
+
border-radius: var(--r-md);
|
|
7037
|
+
font: inherit;
|
|
7038
|
+
background: var(--surface);
|
|
7039
|
+
color: var(--text);
|
|
7040
|
+
}
|
|
7041
|
+
/* Below 560px of `.fd-fb`'s OWN width, the tree pane has no room to justify itself: the
|
|
7042
|
+
current folder's subfolders already appear as rows in `.fd-fb-main` (see the component
|
|
7043
|
+
doc comment), so hiding the tree loses zero navigation, only the redundant second copy
|
|
7044
|
+
of the hierarchy. Breadcrumbs plus that folder list is the whole nav surface below this
|
|
7045
|
+
width, exactly as the card spec calls for. */
|
|
7046
|
+
@container (max-width: 560px) {
|
|
7047
|
+
.fd-fb-tree {
|
|
7048
|
+
display: none;
|
|
7049
|
+
}
|
|
7050
|
+
}
|