@crewlethq/ui 0.86.0 → 0.87.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/ArtifactCard/index.js +3 -3
- package/dist/DeliveryReceipt/DeliveryReceipt.d.ts +85 -0
- package/dist/DeliveryReceipt/index.d.ts +4 -0
- package/dist/DeliveryReceipt/index.js +3 -0
- package/dist/DeliveryReceipt-RMZW2DMT.css +46 -0
- package/dist/InboxList/InboxList.d.ts +14 -3
- package/dist/InboxList/index.js +1 -1
- package/dist/{InboxList-X5Q5WWAI.css → InboxList-NVPIL3WU.css} +61 -28
- package/dist/ListDetail/index.js +1 -1
- package/dist/{ListDetail-Q7SFVKSO.css → ListDetail-WXBCLONL.css} +7 -1
- package/dist/PresenterView/index.js +2 -2
- package/dist/RailList/index.js +2 -2
- package/dist/RichEditor/index.js +1 -1
- package/dist/SetupWizard/index.js +2 -2
- package/dist/{chunk-3AMWXJQX.js → chunk-AUSFKGKL.js} +1 -1
- package/dist/chunk-NGJWRR7E.js +106 -0
- package/dist/{chunk-SNJM5KPV.js → chunk-P33VNG7Q.js} +1 -1
- package/dist/{chunk-F6ZUM66S.js → chunk-VKNZQB2G.js} +44 -23
- package/dist/generated/index.d.ts +1 -0
- package/dist/generated/index.js +45 -44
- package/dist/index.js +45 -44
- package/dist/styles.css +119 -31
- package/package.json +3 -3
- package/dist/{Editor-VGNB35NJ.js → Editor-5D5Z3LBQ.js} +1 -1
- package/dist/{chunk-WRZPO4YL.js → chunk-3BVNNQZY.js} +1 -1
- package/dist/{chunk-7IWZN5Q2.js → chunk-CWCQCOIG.js} +1 -1
- package/dist/{chunk-PAGITACP.js → chunk-DWZCMMRX.js} +0 -0
- package/dist/{chunk-WCJTOKTY.js → chunk-LMEMH6DO.js} +1 -1
- package/dist/{chunk-REWKR3S4.js → chunk-M576OESX.js} +1 -1
package/dist/styles.css
CHANGED
|
@@ -19092,6 +19092,55 @@ svg.crewlet-datetime__chevron {
|
|
|
19092
19092
|
}
|
|
19093
19093
|
|
|
19094
19094
|
|
|
19095
|
+
/* DeliveryReceipt-RMZW2DMT.css */
|
|
19096
|
+
/*
|
|
19097
|
+
* Who a person's message reached and who answered, under its words; and the
|
|
19098
|
+
* same line over a composer, before the message is sent.
|
|
19099
|
+
*/
|
|
19100
|
+
|
|
19101
|
+
.crewlet-delivery-receipt {
|
|
19102
|
+
display: flex;
|
|
19103
|
+
flex-wrap: wrap;
|
|
19104
|
+
align-items: center;
|
|
19105
|
+
column-gap: var(--spacing-1);
|
|
19106
|
+
max-width: 100%;
|
|
19107
|
+
margin: 0;
|
|
19108
|
+
color: var(--color-text-tertiary);
|
|
19109
|
+
font-size: var(--crewlet-chat-meta);
|
|
19110
|
+
line-height: var(--font-line-height-snug);
|
|
19111
|
+
}
|
|
19112
|
+
|
|
19113
|
+
.crewlet-delivery-receipt__part {
|
|
19114
|
+
display: inline-flex;
|
|
19115
|
+
align-items: center;
|
|
19116
|
+
gap: var(--spacing-1);
|
|
19117
|
+
min-width: 0;
|
|
19118
|
+
}
|
|
19119
|
+
|
|
19120
|
+
.crewlet-delivery-receipt__mark {
|
|
19121
|
+
display: inline-flex;
|
|
19122
|
+
flex: none;
|
|
19123
|
+
}
|
|
19124
|
+
|
|
19125
|
+
.crewlet-delivery-receipt__answered {
|
|
19126
|
+
color: var(--color-text-secondary);
|
|
19127
|
+
}
|
|
19128
|
+
|
|
19129
|
+
/* The one raised tone: a message nobody was asked to answer. Its mark takes
|
|
19130
|
+
the warning ink, its words the secondary ink; the hint stays quiet. */
|
|
19131
|
+
.crewlet-delivery-receipt--none {
|
|
19132
|
+
color: var(--color-text-secondary);
|
|
19133
|
+
}
|
|
19134
|
+
|
|
19135
|
+
.crewlet-delivery-receipt--none .crewlet-delivery-receipt__mark {
|
|
19136
|
+
color: var(--color-feedback-warning-ink);
|
|
19137
|
+
}
|
|
19138
|
+
|
|
19139
|
+
.crewlet-delivery-receipt__hint {
|
|
19140
|
+
color: var(--color-text-tertiary);
|
|
19141
|
+
}
|
|
19142
|
+
|
|
19143
|
+
|
|
19095
19144
|
/* DescriptionList-VF7NIBXA.css */
|
|
19096
19145
|
/*
|
|
19097
19146
|
* Metadata pairs on one grid.
|
|
@@ -22736,7 +22785,7 @@ a.crewlet-icon-btn {
|
|
|
22736
22785
|
}
|
|
22737
22786
|
|
|
22738
22787
|
|
|
22739
|
-
/* InboxList-
|
|
22788
|
+
/* InboxList-NVPIL3WU.css */
|
|
22740
22789
|
/*
|
|
22741
22790
|
* The inbox's column: groups of rows, each row a control with the task it is
|
|
22742
22791
|
* about under it, and the quiet toggles at the end.
|
|
@@ -22962,19 +23011,36 @@ a.crewlet-icon-btn {
|
|
|
22962
23011
|
}
|
|
22963
23012
|
|
|
22964
23013
|
/*
|
|
22965
|
-
*
|
|
22966
|
-
*
|
|
22967
|
-
*
|
|
22968
|
-
*
|
|
22969
|
-
* row's edge
|
|
23014
|
+
* THE LEADING SLOT FITS WHAT IT HOLDS. It is at least a target square (and at
|
|
23015
|
+
* least a line tall), with its mark centred in it, and it grows to a larger
|
|
23016
|
+
* mark, such as a 32px face, rather than letting it spill: a fixed one-line
|
|
23017
|
+
* box let a 32px face overflow it by 8px, up and to the left, until it all but
|
|
23018
|
+
* touched the row's edge.
|
|
23019
|
+
*
|
|
23020
|
+
* THE NAME'S LINE IS CENTRED ON A TARGET-SIZED MARK by moving the words down
|
|
23021
|
+
* rather than the mark up: the words start half the difference between the
|
|
23022
|
+
* target and a line lower, and the control's top pad is that much shorter, so
|
|
23023
|
+
* a row with a target-sized avatar keeps its height and its name where they
|
|
23024
|
+
* were, with the avatar inside the control instead of over its pad. A larger
|
|
23025
|
+
* mark hangs from the same top, beside the name's line and the one under it.
|
|
22970
23026
|
*/
|
|
23027
|
+
.crewlet-inbox-row__control--leading {
|
|
23028
|
+
--crewlet-inbox-row-lift: max(0px, (var(--size-target-min) - 1lh) / 2);
|
|
23029
|
+
|
|
23030
|
+
padding-top: calc(var(--spacing-2) + var(--spacing-1) / 2 - var(--crewlet-inbox-row-lift));
|
|
23031
|
+
}
|
|
23032
|
+
|
|
23033
|
+
.crewlet-inbox-row__control--leading > .crewlet-inbox-row__main {
|
|
23034
|
+
padding-top: var(--crewlet-inbox-row-lift);
|
|
23035
|
+
}
|
|
23036
|
+
|
|
22971
23037
|
.crewlet-inbox-row__leading {
|
|
22972
23038
|
display: inline-flex;
|
|
22973
23039
|
flex: none;
|
|
22974
23040
|
align-items: center;
|
|
22975
23041
|
justify-content: center;
|
|
22976
|
-
width: var(--size-target-min);
|
|
22977
|
-
height: 1lh;
|
|
23042
|
+
min-width: var(--size-target-min);
|
|
23043
|
+
min-height: max(var(--size-target-min), 1lh);
|
|
22978
23044
|
}
|
|
22979
23045
|
|
|
22980
23046
|
.crewlet-inbox-row__main {
|
|
@@ -22984,24 +23050,49 @@ a.crewlet-icon-btn {
|
|
|
22984
23050
|
min-width: 0;
|
|
22985
23051
|
}
|
|
22986
23052
|
|
|
23053
|
+
/*
|
|
23054
|
+
* THE HEAD IS ONE RUN OF WORDS: who, then what they did, wrapping as words do
|
|
23055
|
+
* and stopping at two lines with an ellipsis. The name comes first, so it is
|
|
23056
|
+
* the last thing a long qualifier can push out of sight. As one line of boxes
|
|
23057
|
+
* the name was the only one allowed to shrink, so a qualifier longer than a
|
|
23058
|
+
* word ("replied to a thread in Product Manager") squeezed the name to
|
|
23059
|
+
* nothing and pushed the time past the row's edge.
|
|
23060
|
+
*
|
|
23061
|
+
* THE TIME FLOATS AT THE END OF THE FIRST LINE, so only that line gives up
|
|
23062
|
+
* room to it and the second runs the row's full width: "replied to a thread
|
|
23063
|
+
* in #engineering" keeps the room's name, the part of the line most worth
|
|
23064
|
+
* reading, where a column of its own took the time's width from both lines.
|
|
23065
|
+
* The float sits in a block of its own inside the clamp, which is where every
|
|
23066
|
+
* engine lays a float out and still counts the clamped lines.
|
|
23067
|
+
*/
|
|
22987
23068
|
.crewlet-inbox-row__head {
|
|
22988
|
-
display:
|
|
22989
|
-
|
|
22990
|
-
|
|
23069
|
+
display: -webkit-box;
|
|
23070
|
+
-webkit-box-orient: vertical;
|
|
23071
|
+
-webkit-line-clamp: 2;
|
|
23072
|
+
line-clamp: 2;
|
|
22991
23073
|
min-width: 0;
|
|
23074
|
+
overflow: hidden;
|
|
23075
|
+
overflow-wrap: anywhere;
|
|
23076
|
+
color: var(--color-text-tertiary);
|
|
22992
23077
|
}
|
|
22993
23078
|
|
|
22994
|
-
.crewlet-inbox-
|
|
22995
|
-
|
|
22996
|
-
|
|
22997
|
-
|
|
23079
|
+
.crewlet-inbox-row__head-text {
|
|
23080
|
+
display: block;
|
|
23081
|
+
}
|
|
23082
|
+
|
|
23083
|
+
/* The time (and any status), in the head's own line box, so the time sits on the name's baseline. */
|
|
23084
|
+
.crewlet-inbox-row__head-end {
|
|
23085
|
+
float: inline-end;
|
|
23086
|
+
margin-inline-start: var(--spacing-2);
|
|
22998
23087
|
white-space: nowrap;
|
|
23088
|
+
}
|
|
23089
|
+
|
|
23090
|
+
.crewlet-inbox-row__title {
|
|
22999
23091
|
font-weight: var(--font-weight-medium);
|
|
23000
23092
|
color: var(--color-text-primary);
|
|
23001
23093
|
}
|
|
23002
23094
|
|
|
23003
23095
|
.crewlet-inbox-row__qualifier {
|
|
23004
|
-
flex: none;
|
|
23005
23096
|
font-size: var(--font-size-xs);
|
|
23006
23097
|
color: var(--color-text-tertiary);
|
|
23007
23098
|
}
|
|
@@ -23011,8 +23102,6 @@ a.crewlet-icon-btn {
|
|
|
23011
23102
|
}
|
|
23012
23103
|
|
|
23013
23104
|
.crewlet-inbox-row__meta {
|
|
23014
|
-
flex: none;
|
|
23015
|
-
margin-inline-start: auto;
|
|
23016
23105
|
font-size: var(--font-size-xs);
|
|
23017
23106
|
font-variant-numeric: tabular-nums;
|
|
23018
23107
|
white-space: nowrap;
|
|
@@ -23060,21 +23149,12 @@ a.crewlet-icon-btn {
|
|
|
23060
23149
|
color: var(--color-text-secondary);
|
|
23061
23150
|
}
|
|
23062
23151
|
|
|
23152
|
+
/* At the end of the first line, before the time when the row has both. */
|
|
23063
23153
|
.crewlet-inbox-row__status {
|
|
23064
23154
|
display: inline-flex;
|
|
23065
|
-
flex: none;
|
|
23066
23155
|
align-items: center;
|
|
23067
23156
|
}
|
|
23068
23157
|
|
|
23069
|
-
/* With a status, the time stays at the end and the status sits beside it. */
|
|
23070
|
-
.crewlet-inbox-row__status + .crewlet-inbox-row__meta {
|
|
23071
|
-
margin-inline-start: 0;
|
|
23072
|
-
}
|
|
23073
|
-
|
|
23074
|
-
.crewlet-inbox-row__head > .crewlet-inbox-row__status {
|
|
23075
|
-
margin-inline-start: auto;
|
|
23076
|
-
}
|
|
23077
|
-
|
|
23078
23158
|
/*
|
|
23079
23159
|
* What came of the row: a glyph in the tone's ink, then words in the
|
|
23080
23160
|
* secondary ink, on one line that wraps rather than cuts.
|
|
@@ -23130,7 +23210,9 @@ a.crewlet-icon-btn {
|
|
|
23130
23210
|
|
|
23131
23211
|
/*
|
|
23132
23212
|
* The task, under the words and lined up with them: the control's start pad,
|
|
23133
|
-
*
|
|
23213
|
+
* a target-sized leading slot and the gap after it. The task sits outside the
|
|
23214
|
+
* control, so it lines up with the words for a mark of the target size, the
|
|
23215
|
+
* size `leading` asks for.
|
|
23134
23216
|
*/
|
|
23135
23217
|
.crewlet-inbox-row__aside {
|
|
23136
23218
|
min-width: 0;
|
|
@@ -25458,7 +25540,7 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
25458
25540
|
}
|
|
25459
25541
|
|
|
25460
25542
|
|
|
25461
|
-
/* ListDetail-
|
|
25543
|
+
/* ListDetail-WXBCLONL.css */
|
|
25462
25544
|
/*
|
|
25463
25545
|
* ListDetail: a list beside the detail of what is chosen in it, each scrolling
|
|
25464
25546
|
* on its own in the height it is given, one pane where it is narrow
|
|
@@ -25526,6 +25608,12 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
25526
25608
|
min-height: 0;
|
|
25527
25609
|
}
|
|
25528
25610
|
|
|
25611
|
+
/* A LIST THAT GROWS SCROLLS IN ITS OWN COLUMN, whatever it holds. The pane
|
|
25612
|
+
left the scrolling to its content, which a DirectoryList does for its
|
|
25613
|
+
groups and an InboxList does not: an activity list taller than the screen
|
|
25614
|
+
ran past the pane's end, where the screen clipped its later rows and its
|
|
25615
|
+
"older" link, with nothing to scroll them into view. A list that scrolls
|
|
25616
|
+
itself fills the pane and never makes it overflow. */
|
|
25529
25617
|
.crewlet-list-detail__list {
|
|
25530
25618
|
display: flex;
|
|
25531
25619
|
flex-direction: column;
|
|
@@ -25533,6 +25621,7 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
25533
25621
|
min-height: 0;
|
|
25534
25622
|
padding-right: var(--crewlet-list-detail-gutter);
|
|
25535
25623
|
border-right: 1px solid var(--color-border-default);
|
|
25624
|
+
overflow-y: auto;
|
|
25536
25625
|
}
|
|
25537
25626
|
|
|
25538
25627
|
/* A DIRECTORY RUNS TO THE HAIRLINE. A DirectoryList is navigation: its lines
|
|
@@ -25567,7 +25656,6 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
25567
25656
|
.crewlet-list-detail__list {
|
|
25568
25657
|
padding-right: 0;
|
|
25569
25658
|
border-right: 0;
|
|
25570
|
-
overflow-y: auto;
|
|
25571
25659
|
}
|
|
25572
25660
|
|
|
25573
25661
|
/* The list is the pane that scrolls now, and takes the detail's end where
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewlethq/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.87.0",
|
|
4
4
|
"description": "Crewlet shared React components built on @crewlethq/tokens and @crewlethq/icons.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"clean": "rm -rf dist src/generated"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@crewlethq/icons": "0.
|
|
46
|
-
"@crewlethq/tokens": "0.
|
|
45
|
+
"@crewlethq/icons": "0.87.0",
|
|
46
|
+
"@crewlethq/tokens": "0.87.0",
|
|
47
47
|
"prosemirror-commands": "1.7.2",
|
|
48
48
|
"prosemirror-gapcursor": "1.4.1",
|
|
49
49
|
"prosemirror-history": "1.5.1",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { richEditorLabels } from './chunk-2DMTW2Y3.js';
|
|
2
1
|
import { schema, readMarkdown, writeMarkdown } from './chunk-7CSTEH5I.js';
|
|
2
|
+
import { richEditorLabels } from './chunk-2DMTW2Y3.js';
|
|
3
3
|
import './chunk-KOJPDCGQ.js';
|
|
4
4
|
import { safeHref, MARKDOWN_CALLOUT_TONES } from './chunk-KBZO4B33.js';
|
|
5
5
|
import { Toolbar } from './chunk-NXFTCPF6.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Stepper } from './chunk-TMML7BHT.js';
|
|
2
1
|
import { PageHeader } from './chunk-FPDIHEM4.js';
|
|
2
|
+
import { Stepper } from './chunk-TMML7BHT.js';
|
|
3
3
|
import { useMediaMatch } from './chunk-YJQXESOJ.js';
|
|
4
4
|
import { Disclosure } from './chunk-NAHA62WD.js';
|
|
5
5
|
import { useHeadingLevel, nextHeadingLevel, headingTag, HeadingLevelProvider } from './chunk-PQADV6P6.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Skeleton } from './chunk-I4IUX3JF.js';
|
|
2
2
|
import { PrincipalAvatar } from './chunk-HF5L56YQ.js';
|
|
3
3
|
import { RelativeTime } from './chunk-EJNJMHQG.js';
|
|
4
|
-
import { Card } from './chunk-U2IQNDDR.js';
|
|
5
4
|
import { AvatarStack } from './chunk-YTLWOHOY.js';
|
|
5
|
+
import { Card } from './chunk-U2IQNDDR.js';
|
|
6
6
|
import { ArtifactKindGround } from './chunk-J5T5TDM2.js';
|
|
7
7
|
import { Checkbox } from './chunk-YQ7Q52XU.js';
|
|
8
8
|
import { ArtifactAccessGlyph } from './chunk-DOY3KC6I.js';
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SlideStage, SLIDE_WIDTH, SLIDE_HEIGHT } from './chunk-O6EV6GKI.js';
|
|
2
1
|
import { SlideNav } from './chunk-5AJR6X75.js';
|
|
2
|
+
import { SlideStage, SLIDE_WIDTH, SLIDE_HEIGHT } from './chunk-O6EV6GKI.js';
|
|
3
3
|
import { Eyebrow } from './chunk-RK4XPHVG.js';
|
|
4
4
|
import { Button } from './chunk-DGXZ635L.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SidebarNav, NavItem } from './chunk-BRK3HXGZ.js';
|
|
2
1
|
import { Select } from './chunk-3IWZVEXA.js';
|
|
2
|
+
import { SidebarNav, NavItem } from './chunk-BRK3HXGZ.js';
|
|
3
3
|
import { Text } from './chunk-O5CEG7TQ.js';
|
|
4
4
|
import { Card } from './chunk-U2IQNDDR.js';
|
|
5
5
|
import './RailList-N2ZBPRM2.css';
|