@bendyline/docblocks-react 2.7.4 → 2.7.6
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/THIRD_PARTY_NOTICES.txt +59 -28
- package/dist/{AiDiagrams-QZMJNGDT.js → AiDiagrams-VOCEZS6U.js} +4 -2
- package/dist/{AiEditorAssistant-4HFFGVU4.js → AiEditorAssistant-2MW6UYNI.js} +51 -11
- package/dist/{AiStudyDialog-P3E7PJV5.js → AiStudyDialog-DQZVTBI7.js} +14 -4
- package/dist/{AudioExportDialog-IOYIEAER.js → AudioExportDialog-EICCBSSE.js} +1 -1
- package/dist/{ExportToolbarControls-HOV424TO.js → ExportToolbarControls-4LYTXGT3.js} +1 -1
- package/dist/{PresentationMaker-MUMFAXEI.js → PresentationMaker-T526TBRJ.js} +2 -2
- package/dist/{SpeechToolbarControl-KNI2C4JJ.js → SpeechToolbarControl-E6OSJGHL.js} +217 -71
- package/dist/{TextFromNarration-EYOMW2IW.js → TextFromNarration-ME6FAYWO.js} +1 -1
- package/dist/{WorkspaceSearchPanel-J6BKEZQJ.js → WorkspaceSearchPanel-MEBBTK7F.js} +3 -3
- package/dist/{chunk-I44HKDQX.js → chunk-3TSJQESW.js} +16 -3
- package/dist/chunk-45YTIVYS.js +1162 -0
- package/dist/{chunk-FBPCURCS.js → chunk-7HBKKXRV.js} +291 -82
- package/dist/{chunk-KBDZDFPU.js → chunk-BNKIPCXO.js} +4 -1
- package/dist/{chunk-2IYBBFQX.js → chunk-BZRYQENB.js} +59 -16
- package/dist/{chunk-DICE7VBJ.js → chunk-KHQ44ZFA.js} +16 -1
- package/dist/chunk-NOYDVL6M.js +180 -0
- package/dist/{chunk-PNZFIIWW.js → chunk-PRUEYW3G.js} +23 -5
- package/dist/{chunk-7V34VUK6.js → chunk-T42BH6YX.js} +128 -103
- package/dist/editor.js +2 -2
- package/dist/index.d.ts +7 -2
- package/dist/index.js +817 -710
- package/dist/settings/index.js +2 -1
- package/package.json +8 -8
- package/src/styles/docblocks.css +542 -16
- package/dist/chunk-D4HIOS7E.js +0 -812
- package/dist/{QuickOpenDialog-ENVFGIHS.js → QuickOpenDialog-3QEX7RZG.js} +3 -3
package/dist/settings/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bendyline/docblocks-react",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.6",
|
|
4
4
|
"description": "React components for DocBlocks — file explorer, workspace picker, and editor shell",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bendyline",
|
|
@@ -85,14 +85,14 @@
|
|
|
85
85
|
}
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
|
-
"@bendyline/docblocks": "2.7.
|
|
89
|
-
"@bendyline/squisq": "2.
|
|
88
|
+
"@bendyline/docblocks": "2.7.6",
|
|
89
|
+
"@bendyline/squisq": "2.13.0",
|
|
90
90
|
"@bendyline/squisq-calc": "2.11.2",
|
|
91
|
-
"@bendyline/squisq-editor-react": "2.
|
|
92
|
-
"@bendyline/squisq-formats": "2.
|
|
93
|
-
"@bendyline/squisq-react": "2.12.
|
|
94
|
-
"@bendyline/squisq-video": "2.4.
|
|
95
|
-
"@bendyline/squisq-video-react": "2.5.
|
|
91
|
+
"@bendyline/squisq-editor-react": "2.13.2",
|
|
92
|
+
"@bendyline/squisq-formats": "2.8.1",
|
|
93
|
+
"@bendyline/squisq-react": "2.12.9",
|
|
94
|
+
"@bendyline/squisq-video": "2.4.6",
|
|
95
|
+
"@bendyline/squisq-video-react": "2.5.10",
|
|
96
96
|
"lucide-react": "1.52.0",
|
|
97
97
|
"qrcode": "1.5.4"
|
|
98
98
|
},
|
package/src/styles/docblocks.css
CHANGED
|
@@ -993,6 +993,9 @@
|
|
|
993
993
|
.db-tree-context {
|
|
994
994
|
position: fixed;
|
|
995
995
|
z-index: 1000;
|
|
996
|
+
/* Portaled onto <body>, outside .db-shell, where no font is set; the items
|
|
997
|
+
inherit theirs, so without this they render in the browser's serif. */
|
|
998
|
+
font-family: var(--db-ui-font);
|
|
996
999
|
background: var(--db-bg-raised);
|
|
997
1000
|
border: 1px solid var(--db-border);
|
|
998
1001
|
border-radius: 4px;
|
|
@@ -2057,10 +2060,25 @@ html:has(.db-shell--mobile) .squisq-toolbar-overflow-menu {
|
|
|
2057
2060
|
.db-shell--desktop-toolbar-wrapped:not(.db-shell--mobile) .squisq-toolbar {
|
|
2058
2061
|
min-height: calc(var(--db-toolbar-wrapped-row) * 2);
|
|
2059
2062
|
flex-wrap: wrap;
|
|
2060
|
-
align-content:
|
|
2063
|
+
align-content: flex-start;
|
|
2064
|
+
/* Squisq's 1px item gap would otherwise also open between the two rows. */
|
|
2065
|
+
row-gap: 0;
|
|
2061
2066
|
padding-right: var(--db-toolbar-wrapped-inline-end);
|
|
2062
2067
|
}
|
|
2063
2068
|
|
|
2069
|
+
/* A flex line is only as tall as its tallest item, which on the second row is
|
|
2070
|
+
a 28px button, and stretching the lines splits the leftover height between
|
|
2071
|
+
both of them, so the controls sat below the row's center by half of it.
|
|
2072
|
+
This zero-width strut holds the second line open to a full row instead. It
|
|
2073
|
+
is the last item, so it lands there whatever the current mode renders; its
|
|
2074
|
+
negative margin cancels the 1px column gap so the right edge stays put. */
|
|
2075
|
+
.db-shell--desktop-toolbar-wrapped:not(.db-shell--mobile) .squisq-toolbar::after {
|
|
2076
|
+
content: '';
|
|
2077
|
+
flex: 0 0 0;
|
|
2078
|
+
height: var(--db-toolbar-wrapped-second-row, var(--db-toolbar-wrapped-row));
|
|
2079
|
+
margin-inline-start: -1px;
|
|
2080
|
+
}
|
|
2081
|
+
|
|
2064
2082
|
/* The tab row spans the whole toolbar, padding included, so its surface runs
|
|
2065
2083
|
edge to edge and its right-hand divider (which separated it from the
|
|
2066
2084
|
formatting controls when they shared a row) has nothing left to divide. */
|
|
@@ -2251,6 +2269,9 @@ html:has(.db-shell--mobile) .squisq-toolbar-overflow-menu {
|
|
|
2251
2269
|
box-sizing: border-box;
|
|
2252
2270
|
padding: 16px;
|
|
2253
2271
|
background: rgba(0, 0, 0, 0.4);
|
|
2272
|
+
/* The AI, presentation and narration dialogs portal onto <body>, outside
|
|
2273
|
+
.db-shell; give them the chrome face the shell would have. */
|
|
2274
|
+
font-family: var(--db-ui-font);
|
|
2254
2275
|
}
|
|
2255
2276
|
|
|
2256
2277
|
/* Palette-style dialogs (quick-open) sit near the top, where the eye already is. */
|
|
@@ -5845,9 +5866,13 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
|
|
|
5845
5866
|
animation: db-welcome-loop-nudge 3s ease-in-out infinite;
|
|
5846
5867
|
}
|
|
5847
5868
|
|
|
5869
|
+
/* The stage is a container so the slide and video frames can size their type
|
|
5870
|
+
against it (cqi) rather than in pixels: like a real slide, the words fill
|
|
5871
|
+
the canvas at whatever width the welcome screen gives it. */
|
|
5848
5872
|
.db-welcome-loop-stage {
|
|
5849
5873
|
position: relative;
|
|
5850
5874
|
aspect-ratio: 4 / 3;
|
|
5875
|
+
container-type: inline-size;
|
|
5851
5876
|
}
|
|
5852
5877
|
|
|
5853
5878
|
.db-welcome-loop-frame {
|
|
@@ -5890,10 +5915,15 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
|
|
|
5890
5915
|
color: #2b241c;
|
|
5891
5916
|
}
|
|
5892
5917
|
|
|
5918
|
+
/* 16:9 frames, so 100cqi wide by 56.25cqi tall. Their type is in cqi to keep
|
|
5919
|
+
presentation proportions at every stage size. */
|
|
5893
5920
|
.db-welcome-loop-frame--slide,
|
|
5894
5921
|
.db-welcome-loop-frame--video {
|
|
5922
|
+
box-sizing: border-box;
|
|
5895
5923
|
height: 75%;
|
|
5896
5924
|
justify-content: center;
|
|
5925
|
+
gap: 2cqi;
|
|
5926
|
+
padding: 6cqi 8cqi;
|
|
5897
5927
|
background: radial-gradient(circle at 30% 20%, #5a3322, #24170f 72%);
|
|
5898
5928
|
color: #f6ecdc;
|
|
5899
5929
|
}
|
|
@@ -5905,14 +5935,32 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
|
|
|
5905
5935
|
}
|
|
5906
5936
|
|
|
5907
5937
|
.db-welcome-loop-frame--slide strong {
|
|
5908
|
-
font-size:
|
|
5938
|
+
font-size: 7cqi;
|
|
5939
|
+
text-wrap: balance;
|
|
5909
5940
|
}
|
|
5910
5941
|
|
|
5942
|
+
.db-welcome-loop-frame--slide span {
|
|
5943
|
+
font-size: 4cqi;
|
|
5944
|
+
}
|
|
5945
|
+
|
|
5946
|
+
/* The bottom padding keeps the list centered in the picture above the
|
|
5947
|
+
player controls. */
|
|
5911
5948
|
.db-welcome-loop-frame--video {
|
|
5912
|
-
|
|
5949
|
+
padding-bottom: 12cqi;
|
|
5913
5950
|
animation-delay: 6s;
|
|
5914
5951
|
}
|
|
5915
5952
|
|
|
5953
|
+
.db-welcome-loop-frame--video em {
|
|
5954
|
+
margin: 0 0 1cqi;
|
|
5955
|
+
font-size: 8.5cqi;
|
|
5956
|
+
line-height: 1.15;
|
|
5957
|
+
}
|
|
5958
|
+
|
|
5959
|
+
.db-welcome-loop-frame--video span {
|
|
5960
|
+
font-size: 5.75cqi;
|
|
5961
|
+
line-height: 1.3;
|
|
5962
|
+
}
|
|
5963
|
+
|
|
5916
5964
|
.db-welcome-loop-play {
|
|
5917
5965
|
position: absolute;
|
|
5918
5966
|
bottom: 11px;
|
|
@@ -6436,8 +6484,12 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
|
|
|
6436
6484
|
gap: 8px;
|
|
6437
6485
|
}
|
|
6438
6486
|
|
|
6439
|
-
/* Status has its own row, so errors cannot steal space from the actions.
|
|
6487
|
+
/* Status has its own row, so errors cannot steal space from the actions. The
|
|
6488
|
+
footer is a wrapping column, which sizes each row to its content: a definite
|
|
6489
|
+
width keeps a one-line knowledge pill from widening it, and keeps text from
|
|
6490
|
+
being measured at a narrower width than it is shown at. */
|
|
6440
6491
|
.db-ai-footer-status {
|
|
6492
|
+
width: 100%;
|
|
6441
6493
|
min-width: 0;
|
|
6442
6494
|
overflow-wrap: anywhere;
|
|
6443
6495
|
}
|
|
@@ -6570,6 +6622,115 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
|
|
|
6570
6622
|
}
|
|
6571
6623
|
}
|
|
6572
6624
|
|
|
6625
|
+
/* Knowledge indicator: whether the person's knowledge catalogs informed the
|
|
6626
|
+
output. A pill that opens to list the cited articles, or to say why none. */
|
|
6627
|
+
.db-ai-knowledge {
|
|
6628
|
+
max-width: 100%;
|
|
6629
|
+
margin: 6px 0;
|
|
6630
|
+
color: var(--db-text-secondary);
|
|
6631
|
+
font-size: 12px;
|
|
6632
|
+
font-weight: 400;
|
|
6633
|
+
}
|
|
6634
|
+
|
|
6635
|
+
.db-ai-knowledge > summary {
|
|
6636
|
+
display: inline-flex;
|
|
6637
|
+
align-items: center;
|
|
6638
|
+
gap: 5px;
|
|
6639
|
+
max-width: 100%;
|
|
6640
|
+
box-sizing: border-box;
|
|
6641
|
+
padding: 2px 9px;
|
|
6642
|
+
border: 1px solid var(--db-border);
|
|
6643
|
+
border-radius: 999px;
|
|
6644
|
+
cursor: pointer;
|
|
6645
|
+
list-style: none;
|
|
6646
|
+
}
|
|
6647
|
+
|
|
6648
|
+
.db-ai-knowledge > summary::-webkit-details-marker {
|
|
6649
|
+
display: none;
|
|
6650
|
+
}
|
|
6651
|
+
|
|
6652
|
+
.db-ai-knowledge > summary:hover {
|
|
6653
|
+
background: var(--db-bg-hover);
|
|
6654
|
+
}
|
|
6655
|
+
|
|
6656
|
+
.db-ai-knowledge > summary:focus-visible {
|
|
6657
|
+
outline: 2px solid var(--db-focus);
|
|
6658
|
+
outline-offset: 2px;
|
|
6659
|
+
}
|
|
6660
|
+
|
|
6661
|
+
.db-ai-knowledge--used > summary {
|
|
6662
|
+
border-color: var(--db-accent);
|
|
6663
|
+
background: var(--db-badge-bg);
|
|
6664
|
+
color: var(--db-badge-text);
|
|
6665
|
+
}
|
|
6666
|
+
|
|
6667
|
+
.db-ai-knowledge--used > summary:hover {
|
|
6668
|
+
color: var(--db-badge-text-hover);
|
|
6669
|
+
}
|
|
6670
|
+
|
|
6671
|
+
.db-ai-knowledge-names {
|
|
6672
|
+
min-width: 0;
|
|
6673
|
+
overflow: hidden;
|
|
6674
|
+
text-overflow: ellipsis;
|
|
6675
|
+
white-space: nowrap;
|
|
6676
|
+
}
|
|
6677
|
+
|
|
6678
|
+
.db-ai-knowledge-count {
|
|
6679
|
+
flex: none;
|
|
6680
|
+
white-space: pre;
|
|
6681
|
+
}
|
|
6682
|
+
|
|
6683
|
+
.db-ai-knowledge p,
|
|
6684
|
+
.db-ai-knowledge ul {
|
|
6685
|
+
margin: 6px 0 0;
|
|
6686
|
+
color: var(--db-text-muted);
|
|
6687
|
+
}
|
|
6688
|
+
|
|
6689
|
+
.db-ai-knowledge ul {
|
|
6690
|
+
padding-left: 18px;
|
|
6691
|
+
color: var(--db-text-secondary);
|
|
6692
|
+
}
|
|
6693
|
+
|
|
6694
|
+
/* A run can cite many articles; a list scrolls rather than pushing the actions away. */
|
|
6695
|
+
.db-ai-knowledge-source {
|
|
6696
|
+
max-height: 8.5em;
|
|
6697
|
+
overflow: auto;
|
|
6698
|
+
}
|
|
6699
|
+
|
|
6700
|
+
.db-ai-knowledge .db-ai-knowledge-catalog {
|
|
6701
|
+
color: var(--db-text-secondary);
|
|
6702
|
+
font-weight: 600;
|
|
6703
|
+
}
|
|
6704
|
+
|
|
6705
|
+
/* Facts to check: details in AI output that no source shows. */
|
|
6706
|
+
.db-ai-facts > summary {
|
|
6707
|
+
border-color: var(--db-danger);
|
|
6708
|
+
}
|
|
6709
|
+
|
|
6710
|
+
.db-ai-facts > summary svg {
|
|
6711
|
+
color: var(--db-danger);
|
|
6712
|
+
}
|
|
6713
|
+
|
|
6714
|
+
.db-ai-facts ul {
|
|
6715
|
+
max-height: 10em;
|
|
6716
|
+
overflow: auto;
|
|
6717
|
+
}
|
|
6718
|
+
|
|
6719
|
+
.db-ai-facts li + li {
|
|
6720
|
+
margin-top: 4px;
|
|
6721
|
+
}
|
|
6722
|
+
|
|
6723
|
+
.db-ai-facts mark {
|
|
6724
|
+
padding: 0;
|
|
6725
|
+
background: none;
|
|
6726
|
+
color: var(--db-danger);
|
|
6727
|
+
font-weight: 600;
|
|
6728
|
+
}
|
|
6729
|
+
|
|
6730
|
+
.db-ai-review-knowledge {
|
|
6731
|
+
padding: 10px 14px 0;
|
|
6732
|
+
}
|
|
6733
|
+
|
|
6573
6734
|
.db-text-from-narration button:not(.db-dialog-close),
|
|
6574
6735
|
.db-ai-draft-dialog .db-dialog-footer button,
|
|
6575
6736
|
.db-ai-study-dialog .db-dialog-footer button,
|
|
@@ -6773,27 +6934,240 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
|
|
|
6773
6934
|
margin-top: 10px;
|
|
6774
6935
|
}
|
|
6775
6936
|
|
|
6776
|
-
.db-settings-ai-knowledge-
|
|
6777
|
-
|
|
6937
|
+
.db-settings-ai-knowledge-actions {
|
|
6938
|
+
display: flex;
|
|
6939
|
+
flex-wrap: wrap;
|
|
6940
|
+
align-items: center;
|
|
6941
|
+
gap: 8px;
|
|
6942
|
+
}
|
|
6943
|
+
|
|
6944
|
+
.db-settings-ai-knowledge progress {
|
|
6945
|
+
max-width: 100%;
|
|
6946
|
+
}
|
|
6947
|
+
|
|
6948
|
+
/* Knowledge catalogs: the downloaded ones sit together in one bin, each row a
|
|
6949
|
+
disclosure that starts collapsed; adding one happens in its own dialog. */
|
|
6950
|
+
.db-knowledge-bin {
|
|
6951
|
+
margin-top: 10px;
|
|
6952
|
+
border: 1px solid var(--db-border);
|
|
6953
|
+
border-radius: 6px;
|
|
6954
|
+
background: var(--db-bg-subtle);
|
|
6955
|
+
overflow-wrap: anywhere;
|
|
6956
|
+
}
|
|
6957
|
+
|
|
6958
|
+
.db-knowledge-bin-header {
|
|
6959
|
+
display: flex;
|
|
6960
|
+
flex-wrap: wrap;
|
|
6961
|
+
align-items: center;
|
|
6962
|
+
gap: 8px;
|
|
6963
|
+
padding: 8px 8px 8px 12px;
|
|
6964
|
+
border-bottom: 1px solid var(--db-border);
|
|
6965
|
+
}
|
|
6966
|
+
|
|
6967
|
+
.db-knowledge-bin-title {
|
|
6968
|
+
margin: 0;
|
|
6969
|
+
color: var(--db-text);
|
|
6970
|
+
font-size: 13px;
|
|
6971
|
+
font-weight: 600;
|
|
6972
|
+
}
|
|
6973
|
+
|
|
6974
|
+
.db-knowledge-bin-count {
|
|
6975
|
+
min-width: 18px;
|
|
6976
|
+
box-sizing: border-box;
|
|
6977
|
+
padding: 0 6px;
|
|
6978
|
+
border: 1px solid var(--db-border);
|
|
6979
|
+
border-radius: 9px;
|
|
6980
|
+
background: var(--db-bg-raised);
|
|
6981
|
+
color: var(--db-text-secondary);
|
|
6982
|
+
font-size: 11px;
|
|
6983
|
+
line-height: 16px;
|
|
6984
|
+
text-align: center;
|
|
6985
|
+
}
|
|
6986
|
+
|
|
6987
|
+
.db-knowledge-bin-header .db-settings-action {
|
|
6988
|
+
margin: 0 0 0 auto;
|
|
6989
|
+
padding: 4px 10px;
|
|
6990
|
+
}
|
|
6991
|
+
|
|
6992
|
+
.db-knowledge-bin .db-knowledge-bin-empty {
|
|
6993
|
+
margin: 0;
|
|
6994
|
+
padding: 12px;
|
|
6995
|
+
}
|
|
6996
|
+
|
|
6997
|
+
.db-knowledge-bin-list {
|
|
6778
6998
|
margin: 0;
|
|
6779
6999
|
padding: 0;
|
|
7000
|
+
list-style: none;
|
|
6780
7001
|
}
|
|
6781
7002
|
|
|
6782
|
-
.db-
|
|
7003
|
+
.db-knowledge-item + .db-knowledge-item {
|
|
6783
7004
|
border-top: 1px solid var(--db-border);
|
|
6784
|
-
padding-block: 12px;
|
|
6785
|
-
overflow-wrap: anywhere;
|
|
6786
7005
|
}
|
|
6787
7006
|
|
|
6788
|
-
.db-
|
|
7007
|
+
.db-knowledge-item-toggle {
|
|
7008
|
+
display: flex;
|
|
7009
|
+
align-items: center;
|
|
7010
|
+
gap: 10px;
|
|
7011
|
+
box-sizing: border-box;
|
|
7012
|
+
width: 100%;
|
|
7013
|
+
padding: 9px 12px;
|
|
7014
|
+
border: none;
|
|
7015
|
+
background: transparent;
|
|
7016
|
+
color: var(--db-text);
|
|
7017
|
+
font: inherit;
|
|
7018
|
+
font-size: 13px;
|
|
7019
|
+
text-align: left;
|
|
7020
|
+
cursor: pointer;
|
|
7021
|
+
}
|
|
7022
|
+
|
|
7023
|
+
.db-knowledge-item:last-child .db-knowledge-item-toggle:not([aria-expanded='true']) {
|
|
7024
|
+
border-radius: 0 0 5px 5px;
|
|
7025
|
+
}
|
|
7026
|
+
|
|
7027
|
+
.db-knowledge-item-toggle:hover {
|
|
7028
|
+
background: var(--db-bg-hover);
|
|
7029
|
+
}
|
|
7030
|
+
|
|
7031
|
+
.db-knowledge-item-toggle:focus-visible {
|
|
7032
|
+
outline: 2px solid var(--db-focus, var(--db-accent));
|
|
7033
|
+
outline-offset: -2px;
|
|
7034
|
+
}
|
|
7035
|
+
|
|
7036
|
+
/* Points right while collapsed, down while open. */
|
|
7037
|
+
.db-knowledge-item-caret {
|
|
7038
|
+
flex: 0 0 auto;
|
|
7039
|
+
width: 6px;
|
|
7040
|
+
height: 6px;
|
|
7041
|
+
border-right: 2px solid currentColor;
|
|
7042
|
+
border-bottom: 2px solid currentColor;
|
|
7043
|
+
color: var(--db-text-muted);
|
|
7044
|
+
transform: rotate(-45deg);
|
|
7045
|
+
transition: transform 120ms ease;
|
|
7046
|
+
}
|
|
7047
|
+
|
|
7048
|
+
.db-knowledge-item-caret--open {
|
|
7049
|
+
transform: rotate(45deg);
|
|
7050
|
+
}
|
|
7051
|
+
|
|
7052
|
+
.db-knowledge-item-name {
|
|
7053
|
+
flex: 1 1 auto;
|
|
7054
|
+
min-width: 0;
|
|
7055
|
+
font-weight: 600;
|
|
7056
|
+
}
|
|
7057
|
+
|
|
7058
|
+
.db-knowledge-item-summary {
|
|
7059
|
+
flex: 0 1 auto;
|
|
7060
|
+
color: var(--db-text-muted);
|
|
7061
|
+
font-size: 12px;
|
|
7062
|
+
text-align: right;
|
|
7063
|
+
}
|
|
7064
|
+
|
|
7065
|
+
.db-knowledge-item-summary--error {
|
|
7066
|
+
color: var(--db-danger);
|
|
7067
|
+
}
|
|
7068
|
+
|
|
7069
|
+
/* Indented to line up with the catalog name, past the caret. */
|
|
7070
|
+
.db-knowledge-item-body {
|
|
7071
|
+
padding: 0 12px 12px 30px;
|
|
7072
|
+
}
|
|
7073
|
+
|
|
7074
|
+
.db-knowledge-item-body p {
|
|
7075
|
+
margin: 0 0 6px;
|
|
7076
|
+
}
|
|
7077
|
+
|
|
7078
|
+
.db-knowledge-item-body [role='group'] {
|
|
7079
|
+
margin-top: 10px;
|
|
7080
|
+
}
|
|
7081
|
+
|
|
7082
|
+
/* The add dialog keeps one height while a search narrows the list, and only
|
|
7083
|
+
the list scrolls, so the search field stays in reach. */
|
|
7084
|
+
.db-knowledge-add-dialog {
|
|
7085
|
+
height: min(calc(100dvh - 32px), 560px);
|
|
7086
|
+
}
|
|
7087
|
+
|
|
7088
|
+
.db-knowledge-add-body {
|
|
7089
|
+
display: flex;
|
|
7090
|
+
flex: 1;
|
|
7091
|
+
flex-direction: column;
|
|
7092
|
+
overflow: hidden;
|
|
7093
|
+
}
|
|
7094
|
+
|
|
7095
|
+
/* The footer sits outside the dialog body's 13px, so its settings actions
|
|
7096
|
+
would otherwise inherit the page's 16px. */
|
|
7097
|
+
.db-knowledge-add-dialog .db-dialog-footer {
|
|
7098
|
+
font-size: 13px;
|
|
7099
|
+
}
|
|
7100
|
+
|
|
7101
|
+
.db-knowledge-add-dialog .db-dialog-footer .db-settings-action {
|
|
7102
|
+
margin-top: 0;
|
|
7103
|
+
}
|
|
7104
|
+
|
|
7105
|
+
.db-knowledge-search {
|
|
7106
|
+
margin-bottom: 8px;
|
|
7107
|
+
}
|
|
7108
|
+
|
|
7109
|
+
.db-knowledge-catalog-list {
|
|
7110
|
+
display: grid;
|
|
7111
|
+
flex: 1 1 auto;
|
|
7112
|
+
align-content: start;
|
|
7113
|
+
gap: 8px;
|
|
7114
|
+
min-height: 0;
|
|
7115
|
+
margin: 0;
|
|
7116
|
+
/* Room for focus rings at the scroll edges. */
|
|
7117
|
+
padding: 2px;
|
|
7118
|
+
overflow-y: auto;
|
|
7119
|
+
list-style: none;
|
|
7120
|
+
}
|
|
7121
|
+
|
|
7122
|
+
.db-knowledge-catalog {
|
|
6789
7123
|
display: flex;
|
|
6790
7124
|
flex-wrap: wrap;
|
|
7125
|
+
align-items: flex-start;
|
|
7126
|
+
gap: 8px 16px;
|
|
7127
|
+
padding: 12px;
|
|
7128
|
+
border: 1px solid var(--db-border);
|
|
7129
|
+
border-radius: 6px;
|
|
7130
|
+
background: var(--db-bg-subtle);
|
|
7131
|
+
overflow-wrap: anywhere;
|
|
7132
|
+
}
|
|
7133
|
+
|
|
7134
|
+
.db-knowledge-catalog-text {
|
|
7135
|
+
flex: 1 1 240px;
|
|
7136
|
+
min-width: 0;
|
|
7137
|
+
}
|
|
7138
|
+
|
|
7139
|
+
.db-knowledge-catalog-name {
|
|
7140
|
+
display: block;
|
|
7141
|
+
margin-bottom: 2px;
|
|
7142
|
+
color: var(--db-text);
|
|
7143
|
+
font-size: 13px;
|
|
7144
|
+
}
|
|
7145
|
+
|
|
7146
|
+
.db-knowledge-catalog p {
|
|
7147
|
+
margin: 0 0 4px;
|
|
7148
|
+
}
|
|
7149
|
+
|
|
7150
|
+
.db-knowledge-catalog-action {
|
|
7151
|
+
display: flex;
|
|
7152
|
+
flex: 0 0 auto;
|
|
6791
7153
|
align-items: center;
|
|
6792
7154
|
gap: 8px;
|
|
6793
7155
|
}
|
|
6794
7156
|
|
|
6795
|
-
.db-
|
|
7157
|
+
.db-knowledge-catalog-action .db-settings-action {
|
|
7158
|
+
margin-top: 0;
|
|
7159
|
+
}
|
|
7160
|
+
|
|
7161
|
+
.db-knowledge-catalog-action progress {
|
|
7162
|
+
width: 96px;
|
|
6796
7163
|
max-width: 100%;
|
|
7164
|
+
accent-color: var(--db-accent);
|
|
7165
|
+
}
|
|
7166
|
+
|
|
7167
|
+
.db-knowledge-catalog-added {
|
|
7168
|
+
color: var(--db-accent-deep);
|
|
7169
|
+
font-size: 12px;
|
|
7170
|
+
font-weight: 600;
|
|
6797
7171
|
}
|
|
6798
7172
|
|
|
6799
7173
|
.db-ai-review-disclaimer {
|
|
@@ -6823,11 +7197,152 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
|
|
|
6823
7197
|
font: inherit;
|
|
6824
7198
|
}
|
|
6825
7199
|
|
|
7200
|
+
/* The Illustrate panel's two steps: ideas to edit, then pictures to insert. */
|
|
7201
|
+
.db-ai-illustrate-steps ol {
|
|
7202
|
+
display: flex;
|
|
7203
|
+
gap: 6px;
|
|
7204
|
+
margin: 0;
|
|
7205
|
+
padding: 10px 14px 0;
|
|
7206
|
+
list-style: none;
|
|
7207
|
+
}
|
|
7208
|
+
|
|
7209
|
+
.db-ai-illustrate-steps li {
|
|
7210
|
+
flex: 1 1 0;
|
|
7211
|
+
min-width: 0;
|
|
7212
|
+
}
|
|
7213
|
+
|
|
7214
|
+
.db-ai-review-panel .db-ai-illustrate-steps button {
|
|
7215
|
+
display: flex;
|
|
7216
|
+
align-items: center;
|
|
7217
|
+
gap: 7px;
|
|
7218
|
+
width: 100%;
|
|
7219
|
+
border-color: var(--db-border);
|
|
7220
|
+
background: transparent;
|
|
7221
|
+
color: var(--db-text-muted);
|
|
7222
|
+
}
|
|
7223
|
+
|
|
7224
|
+
.db-ai-review-panel .db-ai-illustrate-steps button[aria-current='step'] {
|
|
7225
|
+
border-color: var(--db-accent);
|
|
7226
|
+
background: var(--db-accent-soft-08);
|
|
7227
|
+
color: var(--db-text);
|
|
7228
|
+
}
|
|
7229
|
+
|
|
7230
|
+
.db-ai-step-number {
|
|
7231
|
+
display: inline-grid;
|
|
7232
|
+
place-items: center;
|
|
7233
|
+
width: 18px;
|
|
7234
|
+
height: 18px;
|
|
7235
|
+
flex: 0 0 18px;
|
|
7236
|
+
box-sizing: border-box;
|
|
7237
|
+
border: 1px solid var(--db-border-strong);
|
|
7238
|
+
border-radius: 50%;
|
|
7239
|
+
font-size: 11px;
|
|
7240
|
+
}
|
|
7241
|
+
|
|
7242
|
+
[aria-current='step'] > .db-ai-step-number {
|
|
7243
|
+
border-color: var(--db-accent);
|
|
7244
|
+
background: var(--db-accent);
|
|
7245
|
+
color: var(--db-text-on-accent);
|
|
7246
|
+
}
|
|
7247
|
+
|
|
7248
|
+
.db-ai-illustrate-intro {
|
|
7249
|
+
margin: 10px 14px 0;
|
|
7250
|
+
color: var(--db-text-muted);
|
|
7251
|
+
font-size: 12px;
|
|
7252
|
+
}
|
|
7253
|
+
|
|
7254
|
+
.db-ai-illustrate-bar {
|
|
7255
|
+
display: flex;
|
|
7256
|
+
flex-wrap: wrap;
|
|
7257
|
+
align-items: center;
|
|
7258
|
+
gap: 8px;
|
|
7259
|
+
padding: 10px 14px 0;
|
|
7260
|
+
}
|
|
7261
|
+
|
|
7262
|
+
.db-ai-illustrate-progress {
|
|
7263
|
+
display: inline-flex;
|
|
7264
|
+
align-items: center;
|
|
7265
|
+
flex-wrap: wrap;
|
|
7266
|
+
gap: 8px;
|
|
7267
|
+
min-width: 0;
|
|
7268
|
+
min-height: var(--db-target-min);
|
|
7269
|
+
color: var(--db-text-secondary);
|
|
7270
|
+
font: 600 12px/1.2 var(--db-ui-font);
|
|
7271
|
+
}
|
|
7272
|
+
|
|
7273
|
+
.db-ai-illustrate-progress progress {
|
|
7274
|
+
width: 90px;
|
|
7275
|
+
height: 6px;
|
|
7276
|
+
accent-color: var(--db-accent);
|
|
7277
|
+
}
|
|
7278
|
+
|
|
7279
|
+
.db-ai-review-panel button.db-ai-illustrate-primary {
|
|
7280
|
+
border-color: var(--db-accent);
|
|
7281
|
+
background: var(--db-accent);
|
|
7282
|
+
color: var(--db-text-on-accent);
|
|
7283
|
+
}
|
|
7284
|
+
|
|
6826
7285
|
.db-ai-illustrate-footer {
|
|
6827
7286
|
position: sticky;
|
|
6828
7287
|
bottom: 0;
|
|
6829
|
-
|
|
6830
|
-
|
|
7288
|
+
display: flex;
|
|
7289
|
+
flex-wrap: wrap;
|
|
7290
|
+
align-items: center;
|
|
7291
|
+
justify-content: flex-end;
|
|
7292
|
+
gap: 8px;
|
|
7293
|
+
padding: 10px 14px;
|
|
7294
|
+
border-top: 1px solid var(--db-border);
|
|
7295
|
+
background: var(--db-bg-raised);
|
|
7296
|
+
}
|
|
7297
|
+
|
|
7298
|
+
.db-ai-idea-card .db-ai-field {
|
|
7299
|
+
gap: 4px;
|
|
7300
|
+
margin-bottom: 10px;
|
|
7301
|
+
font-size: 12px;
|
|
7302
|
+
}
|
|
7303
|
+
|
|
7304
|
+
.db-ai-idea-card .db-ai-field textarea {
|
|
7305
|
+
min-height: 64px;
|
|
7306
|
+
}
|
|
7307
|
+
|
|
7308
|
+
.db-ai-idea-card input,
|
|
7309
|
+
.db-ai-idea-card select {
|
|
7310
|
+
box-sizing: border-box;
|
|
7311
|
+
width: 100%;
|
|
7312
|
+
min-width: 0;
|
|
7313
|
+
min-height: var(--db-target-min);
|
|
7314
|
+
padding: 5px 8px;
|
|
7315
|
+
border: 1px solid var(--db-input-border);
|
|
7316
|
+
border-radius: 5px;
|
|
7317
|
+
background: var(--db-bg-subtle);
|
|
7318
|
+
color: var(--db-text);
|
|
7319
|
+
font: 400 var(--db-input-font-size) / 1.3 var(--db-ui-font);
|
|
7320
|
+
}
|
|
7321
|
+
|
|
7322
|
+
.db-ai-idea-card input:focus-visible,
|
|
7323
|
+
.db-ai-idea-card select:focus-visible {
|
|
7324
|
+
border-color: var(--db-accent);
|
|
7325
|
+
outline: none;
|
|
7326
|
+
box-shadow: 0 0 0 1px var(--db-accent);
|
|
7327
|
+
}
|
|
7328
|
+
|
|
7329
|
+
.db-ai-idea-card :is(input, select, textarea):disabled {
|
|
7330
|
+
opacity: 0.6;
|
|
7331
|
+
}
|
|
7332
|
+
|
|
7333
|
+
.db-ai-idea-row {
|
|
7334
|
+
display: grid;
|
|
7335
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
|
|
7336
|
+
gap: 8px;
|
|
7337
|
+
}
|
|
7338
|
+
|
|
7339
|
+
.db-ai-idea-state {
|
|
7340
|
+
margin-left: auto;
|
|
7341
|
+
}
|
|
7342
|
+
|
|
7343
|
+
.db-ai-idea-actions {
|
|
7344
|
+
display: flex;
|
|
7345
|
+
justify-content: flex-end;
|
|
6831
7346
|
}
|
|
6832
7347
|
|
|
6833
7348
|
.db-ai-field--inline {
|
|
@@ -6892,6 +7407,13 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
|
|
|
6892
7407
|
margin-bottom: 14px;
|
|
6893
7408
|
}
|
|
6894
7409
|
|
|
7410
|
+
/* Public issue, private email, Cancel: stacked full width, since the
|
|
7411
|
+
destinations need their whole labels to say where the report goes. */
|
|
7412
|
+
.db-ai-report-dialog .db-ai-report-footer {
|
|
7413
|
+
flex-direction: column;
|
|
7414
|
+
align-items: stretch;
|
|
7415
|
+
}
|
|
7416
|
+
|
|
6895
7417
|
/* Study aids: Summarize document, Create quiz, Create flashcards. */
|
|
6896
7418
|
.db-ai-study-dialog .db-dialog-header,
|
|
6897
7419
|
.db-ai-study-dialog .db-dialog-footer {
|
|
@@ -7658,6 +8180,7 @@ button.db-git-file-row:hover {
|
|
|
7658
8180
|
@media (prefers-reduced-motion: reduce) {
|
|
7659
8181
|
.db-workspace-picker-caret,
|
|
7660
8182
|
.db-app-menu-caret,
|
|
8183
|
+
.db-knowledge-item-caret,
|
|
7661
8184
|
.db-ws-settings-btn,
|
|
7662
8185
|
.db-shell-sidebar-resizer,
|
|
7663
8186
|
.db-sidebar-collapse-preview,
|
|
@@ -7870,15 +8393,18 @@ button.db-git-file-row:hover {
|
|
|
7870
8393
|
|
|
7871
8394
|
/* Folder and empty states do not render Squisq's toolbar, and the first-run
|
|
7872
8395
|
welcome screen covers it. Preserve a top drag strip in those states and
|
|
7873
|
-
keep folder content below it.
|
|
8396
|
+
keep folder content below it. The titlebar-area values are measured from
|
|
8397
|
+
the window, but these panes start after the sidebar: span the pane and
|
|
8398
|
+
reserve only the caption-button inset on the right, or the strip
|
|
8399
|
+
overhangs the pane and the welcome screen scrolls sideways. */
|
|
7874
8400
|
.db-shell .db-shell-empty::before,
|
|
7875
8401
|
.db-shell .db-folder-view::before,
|
|
7876
8402
|
.db-shell .db-welcome-gateway::before {
|
|
7877
8403
|
content: '';
|
|
7878
8404
|
position: absolute;
|
|
7879
8405
|
top: 0;
|
|
7880
|
-
left:
|
|
7881
|
-
|
|
8406
|
+
left: 0;
|
|
8407
|
+
right: max(0px, calc(100vw - env(titlebar-area-x, 0px) - env(titlebar-area-width, 100vw)));
|
|
7882
8408
|
height: var(--db-wco-titlebar-height);
|
|
7883
8409
|
app-region: drag;
|
|
7884
8410
|
-webkit-app-region: drag;
|