@crewlethq/ui 0.76.0 → 0.77.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 +14 -0
- package/dist/AgentHandoffPanel/index.js +4 -4
- package/dist/AppShell/index.js +3 -3
- package/dist/ArrangeList/index.js +4 -4
- package/dist/ArtifactBar/index.js +6 -6
- package/dist/ArtifactCard/index.js +4 -4
- package/dist/ArtifactPanel/index.js +1 -1
- package/dist/AvatarPicker/index.js +6 -6
- package/dist/Canvas/index.js +2 -2
- package/dist/CanvasBoard/index.js +4 -4
- package/dist/CanvasToolbar/index.js +3 -3
- package/dist/CheckGrid/CheckGrid.d.ts +62 -0
- package/dist/CheckGrid/index.d.ts +3 -0
- package/dist/CheckGrid/index.js +11 -0
- package/dist/CheckGrid-B3SRTHOJ.css +287 -0
- package/dist/Checkbox/index.js +3 -3
- package/dist/ChoiceCards/ChoiceCards.d.ts +20 -6
- package/dist/ChoiceCards/index.d.ts +1 -1
- package/dist/ChoiceCards/index.js +1 -1
- package/dist/{ChoiceCards-HAGJMK6Q.css → ChoiceCards-TVMBO3HZ.css} +60 -5
- package/dist/ColorField/index.js +3 -3
- package/dist/Combobox/index.js +3 -3
- package/dist/CommandPalette/index.js +3 -3
- package/dist/CommentThread/index.js +5 -5
- package/dist/Composer/index.js +3 -3
- package/dist/ConfirmField/index.js +3 -3
- package/dist/ContrastHelp/index.js +1 -1
- package/dist/DataGrid/index.js +4 -4
- package/dist/DataTable/index.js +5 -5
- package/dist/DataView/index.js +7 -7
- package/dist/DateTimePicker/index.js +2 -2
- package/dist/DocTabsEditor/index.js +4 -4
- package/dist/{Editor-BXOWAV46.js → Editor-MPNGVAWD.js} +3 -3
- package/dist/HuePicker/index.js +5 -5
- package/dist/Input/index.js +2 -2
- package/dist/LinkInterstitial/index.js +1 -1
- package/dist/ListInput/index.js +3 -3
- package/dist/MarkdownEditor/index.js +5 -5
- package/dist/Menu/index.js +2 -2
- package/dist/MergeConflicts/index.js +5 -5
- package/dist/Modal/index.js +1 -1
- package/dist/OrgTable/index.js +1 -1
- package/dist/PresenterView/index.js +1 -1
- package/dist/PrincipalPicker/index.js +4 -4
- package/dist/ProposalCard/index.js +4 -4
- package/dist/RichEditor/index.js +1 -1
- package/dist/SegmentedControl/index.js +4 -4
- package/dist/SetupWizard/SetupWizard.d.ts +7 -0
- package/dist/SetupWizard/index.js +2 -2
- package/dist/{SetupWizard-2SUMQEWU.css → SetupWizard-Y2PFPBCZ.css} +27 -2
- package/dist/ShareDialog/index.js +1 -1
- package/dist/SheetColumnEditor/index.js +8 -8
- package/dist/SheetGrid/index.js +3 -3
- package/dist/SidePanel/index.js +1 -1
- package/dist/SlideFilmstrip/index.js +3 -3
- package/dist/Switcher/index.js +3 -3
- package/dist/Tabs/index.js +3 -3
- package/dist/TagsInput/index.js +2 -2
- package/dist/ThemeSwitcher/index.js +5 -5
- package/dist/TimeRangePicker/index.js +6 -6
- package/dist/TimeWindowPicker/index.js +3 -3
- package/dist/TreeCanvas/index.js +3 -3
- package/dist/TreeGrid/index.js +1 -1
- package/dist/ValueField/index.js +4 -4
- package/dist/VersionCompare/index.js +5 -5
- package/dist/{chunk-TKUAGWNR.js → chunk-2GBG7KPK.js} +1 -1
- package/dist/{chunk-IPBSCJIZ.js → chunk-2LIGIIE2.js} +3 -3
- package/dist/{chunk-5CEQ3HLH.js → chunk-3NYVPLPW.js} +1 -1
- package/dist/{chunk-SK5SLGZH.js → chunk-4HO3NX3B.js} +1 -1
- package/dist/{chunk-45M73G5A.js → chunk-4Y7PLU4I.js} +1 -1
- package/dist/{chunk-YQDRJZ5J.js → chunk-62GVKZJI.js} +1 -1
- package/dist/{chunk-RIAPCEB5.js → chunk-72Y5DBSY.js} +2 -2
- package/dist/{chunk-ZW5SRQ5M.js → chunk-A5HENOP2.js} +1 -1
- package/dist/{chunk-57AKYFML.js → chunk-A6NUAQFW.js} +1 -1
- package/dist/{chunk-MKFEVHSR.js → chunk-B7NX425Z.js} +16 -3
- package/dist/{chunk-GHQG4VZA.js → chunk-BRFIUUXX.js} +2 -2
- package/dist/{chunk-E35HYQMK.js → chunk-CZUIPICC.js} +1 -1
- package/dist/{chunk-DSMQTED5.js → chunk-DCAT5OAX.js} +1 -1
- package/dist/{chunk-HWPP22XG.js → chunk-E6ETTJWX.js} +4 -4
- package/dist/{chunk-ZMIVQGAB.js → chunk-ELNUZDFK.js} +4 -4
- package/dist/{chunk-TJIBTHWJ.js → chunk-EVOGHRFN.js} +2 -2
- package/dist/{chunk-6EWNMSS4.js → chunk-FRLUJAFK.js} +1 -1
- package/dist/{chunk-LMQG3VPG.js → chunk-GKWZTTFV.js} +1 -1
- package/dist/{chunk-UY3FWQWG.js → chunk-HDLUG3MA.js} +2 -2
- package/dist/{chunk-TPCBPGSB.js → chunk-HMOGLAXY.js} +1 -1
- package/dist/chunk-HUIYSNBS.js +65 -0
- package/dist/{chunk-2STOSJT3.js → chunk-HYGCGN37.js} +1 -1
- package/dist/{chunk-6THG44LI.js → chunk-KQQWGWCC.js} +1 -1
- package/dist/{chunk-OCGIQGYJ.js → chunk-KXYZ5XS2.js} +2 -2
- package/dist/{chunk-TPIMOGOZ.js → chunk-LJSQT5NJ.js} +1 -1
- package/dist/{chunk-HZDI2CCS.js → chunk-LXB4CABM.js} +2 -2
- package/dist/{chunk-LCZULGMB.js → chunk-MKWURHR5.js} +1 -1
- package/dist/{chunk-FQI62PIZ.js → chunk-ODAZIKZF.js} +2 -2
- package/dist/{chunk-I3G5FJ54.js → chunk-P34YWECQ.js} +1 -1
- package/dist/{chunk-X5FKORDM.js → chunk-PD2GOJ5V.js} +25 -7
- package/dist/{chunk-OOLMTUCO.js → chunk-SOERZJVJ.js} +1 -1
- package/dist/{chunk-KL6A7JGH.js → chunk-SQ7GYC4K.js} +1 -1
- package/dist/{chunk-T24HBEU6.js → chunk-TL74TBDR.js} +1 -1
- package/dist/{chunk-ADGNISEI.js → chunk-U4ICCJJP.js} +2 -2
- package/dist/{chunk-IQMWMT4V.js → chunk-UEEWK7SO.js} +2 -2
- package/dist/{chunk-JQEXAH7G.js → chunk-VDIKDCNE.js} +1 -1
- package/dist/{chunk-MP7DGKB6.js → chunk-VJ6SSEMG.js} +1 -1
- package/dist/{chunk-CFTBESST.js → chunk-WM3U4ARK.js} +1 -1
- package/dist/{chunk-BKXUZCZX.js → chunk-WOTGQVHZ.js} +1 -1
- package/dist/{chunk-ZKLEAK7M.js → chunk-XL2RXAPT.js} +1 -1
- package/dist/{chunk-PMBJMNBX.js → chunk-YLYIVN72.js} +1 -1
- package/dist/generated/index.d.ts +1 -0
- package/dist/generated/index.js +79 -78
- package/dist/index.js +79 -78
- package/dist/styles.css +379 -9
- package/package.json +3 -3
- package/dist/{chunk-FB3TCNQP.js → chunk-6Q7RW2JJ.js} +1 -1
- package/dist/{chunk-PCBPDMNU.js → chunk-CDFQ7MQK.js} +0 -0
- package/dist/{chunk-OBPINJNO.js → chunk-EMCVX5FY.js} +1 -1
- package/dist/{chunk-OQG4P5KU.js → chunk-KNAHKQD4.js} +1 -1
- package/dist/{chunk-HPI5J6AR.js → chunk-SWLVR54P.js} +1 -1
- package/dist/{chunk-WK4FQPYW.js → chunk-TD6LHL7M.js} +1 -1
package/dist/styles.css
CHANGED
|
@@ -9908,6 +9908,296 @@ button.crewlet-histogram__bar[data-empty]:focus-visible > .crewlet-histogram__fi
|
|
|
9908
9908
|
}
|
|
9909
9909
|
|
|
9910
9910
|
|
|
9911
|
+
/* CheckGrid-B3SRTHOJ.css */
|
|
9912
|
+
/*
|
|
9913
|
+
* CheckGrid: checkboxes where rows meet columns.
|
|
9914
|
+
*
|
|
9915
|
+
* WIDE, every column stands side by side under a header row: the row names'
|
|
9916
|
+
* track (at least 10rem) and one equal track per column (7.5rem), so the
|
|
9917
|
+
* columns of every row line up without a subgrid. A column's name beside each
|
|
9918
|
+
* box is said and not drawn, since the header draws it once.
|
|
9919
|
+
*
|
|
9920
|
+
* NARROW, each row stacks: its name on a line of its own, then its boxes
|
|
9921
|
+
* wrapping, each with its column's name drawn beside it; the header row is
|
|
9922
|
+
* gone. No column is cut off behind a sideways scroll. WHERE IS NARROW is the
|
|
9923
|
+
* grid's own width, by a container query, so a narrow column on a wide screen
|
|
9924
|
+
* stacks too: under the width every column needs, the name's track plus each
|
|
9925
|
+
* column's track and gap. A container query cannot read a custom property in
|
|
9926
|
+
* its condition, so that width is written once per column count below, up to
|
|
9927
|
+
* the six the grid stands side by side for (`MOST_COLUMNS`); a grid of more
|
|
9928
|
+
* always stacks.
|
|
9929
|
+
*/
|
|
9930
|
+
.crewlet-check-grid {
|
|
9931
|
+
--crewlet-check-grid-name: 10rem;
|
|
9932
|
+
--crewlet-check-grid-column: 7.5rem;
|
|
9933
|
+
container: crewlet-check-grid / inline-size;
|
|
9934
|
+
display: flex;
|
|
9935
|
+
flex-direction: column;
|
|
9936
|
+
gap: var(--spacing-2);
|
|
9937
|
+
min-width: 0;
|
|
9938
|
+
}
|
|
9939
|
+
|
|
9940
|
+
.crewlet-check-grid__table {
|
|
9941
|
+
display: flex;
|
|
9942
|
+
flex-direction: column;
|
|
9943
|
+
gap: var(--spacing-1);
|
|
9944
|
+
}
|
|
9945
|
+
|
|
9946
|
+
.crewlet-check-grid__head,
|
|
9947
|
+
.crewlet-check-grid__row {
|
|
9948
|
+
display: grid;
|
|
9949
|
+
grid-template-columns:
|
|
9950
|
+
minmax(var(--crewlet-check-grid-name), 1fr)
|
|
9951
|
+
repeat(var(--crewlet-check-grid-columns, 3), var(--crewlet-check-grid-column));
|
|
9952
|
+
column-gap: var(--spacing-3);
|
|
9953
|
+
align-items: center;
|
|
9954
|
+
}
|
|
9955
|
+
|
|
9956
|
+
/* A column's name over its boxes: its glyph and its word, wrapping inside its track. */
|
|
9957
|
+
.crewlet-check-grid__column {
|
|
9958
|
+
display: inline-flex;
|
|
9959
|
+
align-items: center;
|
|
9960
|
+
justify-content: center;
|
|
9961
|
+
gap: var(--spacing-1);
|
|
9962
|
+
color: var(--color-text-secondary);
|
|
9963
|
+
font-size: var(--font-size-xs);
|
|
9964
|
+
text-align: center;
|
|
9965
|
+
}
|
|
9966
|
+
|
|
9967
|
+
/* A row's name: its picture and its words, at the start. */
|
|
9968
|
+
.crewlet-check-grid__name {
|
|
9969
|
+
display: inline-flex;
|
|
9970
|
+
align-items: center;
|
|
9971
|
+
gap: var(--spacing-2);
|
|
9972
|
+
min-width: 0;
|
|
9973
|
+
color: var(--color-text-primary);
|
|
9974
|
+
font-size: var(--font-size-sm);
|
|
9975
|
+
}
|
|
9976
|
+
|
|
9977
|
+
.crewlet-check-grid__media {
|
|
9978
|
+
display: inline-flex;
|
|
9979
|
+
flex: none;
|
|
9980
|
+
}
|
|
9981
|
+
|
|
9982
|
+
/* Each box's cell stands centred under its column's name. */
|
|
9983
|
+
.crewlet-check-grid__row > .crewlet-check-grid__cell {
|
|
9984
|
+
display: inline-flex;
|
|
9985
|
+
justify-self: center;
|
|
9986
|
+
}
|
|
9987
|
+
|
|
9988
|
+
/* WIDE: the column's name beside a box is said (it names the box) and not drawn. */
|
|
9989
|
+
.crewlet-check-grid__box .crewlet-checkbox__text {
|
|
9990
|
+
position: absolute;
|
|
9991
|
+
width: 1px;
|
|
9992
|
+
height: 1px;
|
|
9993
|
+
margin: -1px;
|
|
9994
|
+
overflow: hidden;
|
|
9995
|
+
clip-path: inset(50%);
|
|
9996
|
+
white-space: nowrap;
|
|
9997
|
+
}
|
|
9998
|
+
|
|
9999
|
+
/* Why a column refuses a box, once, under the grid. */
|
|
10000
|
+
.crewlet-check-grid__notes {
|
|
10001
|
+
display: flex;
|
|
10002
|
+
flex-direction: column;
|
|
10003
|
+
gap: var(--spacing-1);
|
|
10004
|
+
margin: 0;
|
|
10005
|
+
padding: 0;
|
|
10006
|
+
color: var(--color-text-secondary);
|
|
10007
|
+
font-size: var(--font-size-xs);
|
|
10008
|
+
list-style: none;
|
|
10009
|
+
}
|
|
10010
|
+
|
|
10011
|
+
/* NARROW, by column count: under the name's track plus each column's track and gap. */
|
|
10012
|
+
@container crewlet-check-grid (width < 18.25rem) {
|
|
10013
|
+
.crewlet-check-grid--1 .crewlet-check-grid__head {
|
|
10014
|
+
display: none;
|
|
10015
|
+
}
|
|
10016
|
+
|
|
10017
|
+
.crewlet-check-grid--1 .crewlet-check-grid__row {
|
|
10018
|
+
display: flex;
|
|
10019
|
+
flex-wrap: wrap;
|
|
10020
|
+
column-gap: var(--spacing-3);
|
|
10021
|
+
padding-block: var(--spacing-1);
|
|
10022
|
+
}
|
|
10023
|
+
|
|
10024
|
+
.crewlet-check-grid--1 .crewlet-check-grid__name {
|
|
10025
|
+
flex-basis: 100%;
|
|
10026
|
+
}
|
|
10027
|
+
|
|
10028
|
+
.crewlet-check-grid--1 .crewlet-check-grid__box .crewlet-checkbox__text {
|
|
10029
|
+
position: static;
|
|
10030
|
+
width: auto;
|
|
10031
|
+
height: auto;
|
|
10032
|
+
margin: 0;
|
|
10033
|
+
overflow: visible;
|
|
10034
|
+
clip-path: none;
|
|
10035
|
+
white-space: normal;
|
|
10036
|
+
}
|
|
10037
|
+
}
|
|
10038
|
+
|
|
10039
|
+
@container crewlet-check-grid (width < 26.5rem) {
|
|
10040
|
+
.crewlet-check-grid--2 .crewlet-check-grid__head {
|
|
10041
|
+
display: none;
|
|
10042
|
+
}
|
|
10043
|
+
|
|
10044
|
+
.crewlet-check-grid--2 .crewlet-check-grid__row {
|
|
10045
|
+
display: flex;
|
|
10046
|
+
flex-wrap: wrap;
|
|
10047
|
+
column-gap: var(--spacing-3);
|
|
10048
|
+
padding-block: var(--spacing-1);
|
|
10049
|
+
}
|
|
10050
|
+
|
|
10051
|
+
.crewlet-check-grid--2 .crewlet-check-grid__name {
|
|
10052
|
+
flex-basis: 100%;
|
|
10053
|
+
}
|
|
10054
|
+
|
|
10055
|
+
.crewlet-check-grid--2 .crewlet-check-grid__box .crewlet-checkbox__text {
|
|
10056
|
+
position: static;
|
|
10057
|
+
width: auto;
|
|
10058
|
+
height: auto;
|
|
10059
|
+
margin: 0;
|
|
10060
|
+
overflow: visible;
|
|
10061
|
+
clip-path: none;
|
|
10062
|
+
white-space: normal;
|
|
10063
|
+
}
|
|
10064
|
+
}
|
|
10065
|
+
|
|
10066
|
+
@container crewlet-check-grid (width < 34.75rem) {
|
|
10067
|
+
.crewlet-check-grid--3 .crewlet-check-grid__head {
|
|
10068
|
+
display: none;
|
|
10069
|
+
}
|
|
10070
|
+
|
|
10071
|
+
.crewlet-check-grid--3 .crewlet-check-grid__row {
|
|
10072
|
+
display: flex;
|
|
10073
|
+
flex-wrap: wrap;
|
|
10074
|
+
column-gap: var(--spacing-3);
|
|
10075
|
+
padding-block: var(--spacing-1);
|
|
10076
|
+
}
|
|
10077
|
+
|
|
10078
|
+
.crewlet-check-grid--3 .crewlet-check-grid__name {
|
|
10079
|
+
flex-basis: 100%;
|
|
10080
|
+
}
|
|
10081
|
+
|
|
10082
|
+
.crewlet-check-grid--3 .crewlet-check-grid__box .crewlet-checkbox__text {
|
|
10083
|
+
position: static;
|
|
10084
|
+
width: auto;
|
|
10085
|
+
height: auto;
|
|
10086
|
+
margin: 0;
|
|
10087
|
+
overflow: visible;
|
|
10088
|
+
clip-path: none;
|
|
10089
|
+
white-space: normal;
|
|
10090
|
+
}
|
|
10091
|
+
}
|
|
10092
|
+
|
|
10093
|
+
@container crewlet-check-grid (width < 43rem) {
|
|
10094
|
+
.crewlet-check-grid--4 .crewlet-check-grid__head {
|
|
10095
|
+
display: none;
|
|
10096
|
+
}
|
|
10097
|
+
|
|
10098
|
+
.crewlet-check-grid--4 .crewlet-check-grid__row {
|
|
10099
|
+
display: flex;
|
|
10100
|
+
flex-wrap: wrap;
|
|
10101
|
+
column-gap: var(--spacing-3);
|
|
10102
|
+
padding-block: var(--spacing-1);
|
|
10103
|
+
}
|
|
10104
|
+
|
|
10105
|
+
.crewlet-check-grid--4 .crewlet-check-grid__name {
|
|
10106
|
+
flex-basis: 100%;
|
|
10107
|
+
}
|
|
10108
|
+
|
|
10109
|
+
.crewlet-check-grid--4 .crewlet-check-grid__box .crewlet-checkbox__text {
|
|
10110
|
+
position: static;
|
|
10111
|
+
width: auto;
|
|
10112
|
+
height: auto;
|
|
10113
|
+
margin: 0;
|
|
10114
|
+
overflow: visible;
|
|
10115
|
+
clip-path: none;
|
|
10116
|
+
white-space: normal;
|
|
10117
|
+
}
|
|
10118
|
+
}
|
|
10119
|
+
|
|
10120
|
+
@container crewlet-check-grid (width < 51.25rem) {
|
|
10121
|
+
.crewlet-check-grid--5 .crewlet-check-grid__head {
|
|
10122
|
+
display: none;
|
|
10123
|
+
}
|
|
10124
|
+
|
|
10125
|
+
.crewlet-check-grid--5 .crewlet-check-grid__row {
|
|
10126
|
+
display: flex;
|
|
10127
|
+
flex-wrap: wrap;
|
|
10128
|
+
column-gap: var(--spacing-3);
|
|
10129
|
+
padding-block: var(--spacing-1);
|
|
10130
|
+
}
|
|
10131
|
+
|
|
10132
|
+
.crewlet-check-grid--5 .crewlet-check-grid__name {
|
|
10133
|
+
flex-basis: 100%;
|
|
10134
|
+
}
|
|
10135
|
+
|
|
10136
|
+
.crewlet-check-grid--5 .crewlet-check-grid__box .crewlet-checkbox__text {
|
|
10137
|
+
position: static;
|
|
10138
|
+
width: auto;
|
|
10139
|
+
height: auto;
|
|
10140
|
+
margin: 0;
|
|
10141
|
+
overflow: visible;
|
|
10142
|
+
clip-path: none;
|
|
10143
|
+
white-space: normal;
|
|
10144
|
+
}
|
|
10145
|
+
}
|
|
10146
|
+
|
|
10147
|
+
@container crewlet-check-grid (width < 59.5rem) {
|
|
10148
|
+
.crewlet-check-grid--6 .crewlet-check-grid__head {
|
|
10149
|
+
display: none;
|
|
10150
|
+
}
|
|
10151
|
+
|
|
10152
|
+
.crewlet-check-grid--6 .crewlet-check-grid__row {
|
|
10153
|
+
display: flex;
|
|
10154
|
+
flex-wrap: wrap;
|
|
10155
|
+
column-gap: var(--spacing-3);
|
|
10156
|
+
padding-block: var(--spacing-1);
|
|
10157
|
+
}
|
|
10158
|
+
|
|
10159
|
+
.crewlet-check-grid--6 .crewlet-check-grid__name {
|
|
10160
|
+
flex-basis: 100%;
|
|
10161
|
+
}
|
|
10162
|
+
|
|
10163
|
+
.crewlet-check-grid--6 .crewlet-check-grid__box .crewlet-checkbox__text {
|
|
10164
|
+
position: static;
|
|
10165
|
+
width: auto;
|
|
10166
|
+
height: auto;
|
|
10167
|
+
margin: 0;
|
|
10168
|
+
overflow: visible;
|
|
10169
|
+
clip-path: none;
|
|
10170
|
+
white-space: normal;
|
|
10171
|
+
}
|
|
10172
|
+
}
|
|
10173
|
+
|
|
10174
|
+
/* More columns than the grid stands side by side for: always stacked. */
|
|
10175
|
+
.crewlet-check-grid--many .crewlet-check-grid__head {
|
|
10176
|
+
display: none;
|
|
10177
|
+
}
|
|
10178
|
+
|
|
10179
|
+
.crewlet-check-grid--many .crewlet-check-grid__row {
|
|
10180
|
+
display: flex;
|
|
10181
|
+
flex-wrap: wrap;
|
|
10182
|
+
column-gap: var(--spacing-3);
|
|
10183
|
+
padding-block: var(--spacing-1);
|
|
10184
|
+
}
|
|
10185
|
+
|
|
10186
|
+
.crewlet-check-grid--many .crewlet-check-grid__name {
|
|
10187
|
+
flex-basis: 100%;
|
|
10188
|
+
}
|
|
10189
|
+
|
|
10190
|
+
.crewlet-check-grid--many .crewlet-check-grid__box .crewlet-checkbox__text {
|
|
10191
|
+
position: static;
|
|
10192
|
+
width: auto;
|
|
10193
|
+
height: auto;
|
|
10194
|
+
margin: 0;
|
|
10195
|
+
overflow: visible;
|
|
10196
|
+
clip-path: none;
|
|
10197
|
+
white-space: normal;
|
|
10198
|
+
}
|
|
10199
|
+
|
|
10200
|
+
|
|
9911
10201
|
/* Checkbox-GAMV2XD7.css */
|
|
9912
10202
|
/*
|
|
9913
10203
|
* Checkbox: a box, its label and its consequence as one target.
|
|
@@ -10353,7 +10643,7 @@ button.crewlet-histogram__bar[data-empty]:focus-visible > .crewlet-histogram__fi
|
|
|
10353
10643
|
}
|
|
10354
10644
|
|
|
10355
10645
|
|
|
10356
|
-
/* ChoiceCards-
|
|
10646
|
+
/* ChoiceCards-TVMBO3HZ.css */
|
|
10357
10647
|
/*
|
|
10358
10648
|
* Choices a person compares, as cards in a grid that wraps. The chosen card
|
|
10359
10649
|
* takes the selected fill and the strong boundary, as a chosen ChoiceList row
|
|
@@ -10369,9 +10659,9 @@ button.crewlet-histogram__bar[data-empty]:focus-visible > .crewlet-histogram__fi
|
|
|
10369
10659
|
* with Runs. Facts run together as one line of meta wrapped differently in
|
|
10370
10660
|
* each card, and three cards read as three different shapes.
|
|
10371
10661
|
*
|
|
10372
|
-
* A card is at least 20rem (24rem at `lg`), the width a fact's
|
|
10373
|
-
* short value keep to one line in: a form's column holds one to a
|
|
10374
|
-
* wider surface two or three, aligned.
|
|
10662
|
+
* A card is at least 20rem (15rem at `sm`, 24rem at `lg`), the width a fact's
|
|
10663
|
+
* name and a short value keep to one line in: a form's column holds one to a
|
|
10664
|
+
* row, and a wider surface two or three, aligned.
|
|
10375
10665
|
*/
|
|
10376
10666
|
.crewlet-choice-cards {
|
|
10377
10667
|
--crewlet-choice-cards-min: 20rem;
|
|
@@ -10388,6 +10678,10 @@ button.crewlet-histogram__bar[data-empty]:focus-visible > .crewlet-histogram__fi
|
|
|
10388
10678
|
row-gap: 0;
|
|
10389
10679
|
}
|
|
10390
10680
|
|
|
10681
|
+
.crewlet-choice-cards--sm {
|
|
10682
|
+
--crewlet-choice-cards-min: 15rem;
|
|
10683
|
+
}
|
|
10684
|
+
|
|
10391
10685
|
.crewlet-choice-cards--lg {
|
|
10392
10686
|
--crewlet-choice-cards-min: 24rem;
|
|
10393
10687
|
}
|
|
@@ -10507,11 +10801,19 @@ button.crewlet-histogram__bar[data-empty]:focus-visible > .crewlet-histogram__fi
|
|
|
10507
10801
|
outline: 2px solid transparent;
|
|
10508
10802
|
}
|
|
10509
10803
|
|
|
10510
|
-
/*
|
|
10804
|
+
/*
|
|
10805
|
+
* The first line: the picture, the name and its tag, stopping short of the
|
|
10806
|
+
* radio. Where the name and the tag do not fit side by side, the tag moves to
|
|
10807
|
+
* a line of its own rather than breaking the name mid-phrase. The lines stand
|
|
10808
|
+
* at the row's top, so where a card beside it takes two, the name stays level
|
|
10809
|
+
* with its radio.
|
|
10810
|
+
*/
|
|
10511
10811
|
.crewlet-choice-cards__title {
|
|
10512
10812
|
display: flex;
|
|
10813
|
+
flex-wrap: wrap;
|
|
10814
|
+
align-content: flex-start;
|
|
10513
10815
|
align-items: center;
|
|
10514
|
-
gap: var(--spacing-2);
|
|
10816
|
+
gap: var(--spacing-1) var(--spacing-2);
|
|
10515
10817
|
grid-row: 1;
|
|
10516
10818
|
min-width: 0;
|
|
10517
10819
|
min-height: var(--crewlet-choice-cards-title);
|
|
@@ -10538,7 +10840,17 @@ button.crewlet-histogram__bar[data-empty]:focus-visible > .crewlet-histogram__fi
|
|
|
10538
10840
|
border-color: var(--color-border-strong);
|
|
10539
10841
|
}
|
|
10540
10842
|
|
|
10843
|
+
/*
|
|
10844
|
+
* THE NAME IS THE TITLE LINE'S STRUT: at least the title step tall, its words
|
|
10845
|
+
* centred in it. The title wraps (a tag that does not fit takes a line of its
|
|
10846
|
+
* own) and its lines stand at the row's top, so a line is only as tall as what
|
|
10847
|
+
* is on it; without the strut a name in the document's 18.85px line sat 3.5px
|
|
10848
|
+
* above the radio, which is centred on the title step.
|
|
10849
|
+
*/
|
|
10541
10850
|
.crewlet-choice-cards__label {
|
|
10851
|
+
display: flex;
|
|
10852
|
+
align-items: center;
|
|
10853
|
+
min-block-size: var(--crewlet-choice-cards-title);
|
|
10542
10854
|
min-width: 0;
|
|
10543
10855
|
color: var(--color-text-primary);
|
|
10544
10856
|
font-weight: var(--font-weight-medium);
|
|
@@ -10620,6 +10932,39 @@ button.crewlet-histogram__bar[data-empty]:focus-visible > .crewlet-histogram__fi
|
|
|
10620
10932
|
font-size: var(--font-size-xs);
|
|
10621
10933
|
}
|
|
10622
10934
|
|
|
10935
|
+
/*
|
|
10936
|
+
* COMPACT: the same lines in less room, for three cards side by side in a
|
|
10937
|
+
* form's wide column. The padding and the gaps between cards step down one
|
|
10938
|
+
* (a card's own lines already keep the smallest), the picture is capped at
|
|
10939
|
+
* the `lg` glyph step, and the description takes the facts' size. Every line
|
|
10940
|
+
* stays: a description and a disabled card's reason wrap in full, since a
|
|
10941
|
+
* reason cut short is a dead end with no way to read why.
|
|
10942
|
+
*/
|
|
10943
|
+
.crewlet-choice-cards--compact {
|
|
10944
|
+
/* The largest picture a compact card draws: the icons package's `lg` glyph step (GLYPH_SIZES.lg, 20px). */
|
|
10945
|
+
--crewlet-choice-cards-compact-media: 1.25rem;
|
|
10946
|
+
column-gap: var(--spacing-2);
|
|
10947
|
+
}
|
|
10948
|
+
|
|
10949
|
+
.crewlet-choice-cards--compact .crewlet-choice-cards__card {
|
|
10950
|
+
margin-block-end: var(--spacing-2);
|
|
10951
|
+
padding: var(--spacing-2);
|
|
10952
|
+
}
|
|
10953
|
+
|
|
10954
|
+
.crewlet-choice-cards--compact .crewlet-choice-cards__radio {
|
|
10955
|
+
inset-block-start: calc(var(--spacing-2) + (var(--crewlet-choice-cards-title) - var(--crewlet-choice-cards-radio)) / 2);
|
|
10956
|
+
inset-inline-end: var(--spacing-2);
|
|
10957
|
+
}
|
|
10958
|
+
|
|
10959
|
+
/* The picture at most the `lg` glyph step, whatever size the caller drew it at, a wrapped mark included. */
|
|
10960
|
+
.crewlet-choice-cards--compact .crewlet-choice-cards__media svg {
|
|
10961
|
+
inline-size: var(--crewlet-choice-cards-compact-media);
|
|
10962
|
+
block-size: var(--crewlet-choice-cards-compact-media);
|
|
10963
|
+
}
|
|
10964
|
+
|
|
10965
|
+
.crewlet-choice-cards--compact .crewlet-choice-cards__description {
|
|
10966
|
+
font-size: var(--font-size-xs);
|
|
10967
|
+
}
|
|
10623
10968
|
|
|
10624
10969
|
/*
|
|
10625
10970
|
* WHERE SUBGRID IS SUPPORTED, every card spans the same rows of the group and
|
|
@@ -31431,7 +31776,7 @@ svg.crewlet-select__chevron {
|
|
|
31431
31776
|
}
|
|
31432
31777
|
|
|
31433
31778
|
|
|
31434
|
-
/* SetupWizard-
|
|
31779
|
+
/* SetupWizard-Y2PFPBCZ.css */
|
|
31435
31780
|
/*
|
|
31436
31781
|
* SetupWizard: a setup walked step by step on a page of its own
|
|
31437
31782
|
* (SetupWizard.tsx).
|
|
@@ -31743,14 +32088,27 @@ svg.crewlet-select__chevron {
|
|
|
31743
32088
|
* THE SCROLLER SAYS IT SCROLLS: with its bar hidden, an edge that hides
|
|
31744
32089
|
* steps fades out, at whichever side has steps beyond it, so a row cut at
|
|
31745
32090
|
* the screen's edge reads as more to come rather than as the last step.
|
|
32091
|
+
*
|
|
32092
|
+
* THE FADE NEVER DIMS A FOCUS RING. A mask fades everything the element
|
|
32093
|
+
* paints, its own outline included, so the scroller's ring is drawn by the
|
|
32094
|
+
* frame around it, which is not masked. And a pill that takes focus is
|
|
32095
|
+
* scrolled clear of the faded edges, so its ring is never in the fade
|
|
32096
|
+
* either: `scroll-padding-inline` is the fade's own width, which the wizard
|
|
32097
|
+
* reads to place it (SetupWizard.tsx, `clearOfFade`).
|
|
31746
32098
|
*/
|
|
31747
|
-
.crewlet-setup-wizard__steps {
|
|
32099
|
+
.crewlet-setup-wizard__steps-frame {
|
|
31748
32100
|
--crewlet-setup-wizard-fade: var(--spacing-6);
|
|
32101
|
+
|
|
32102
|
+
min-width: 0;
|
|
32103
|
+
}
|
|
32104
|
+
|
|
32105
|
+
.crewlet-setup-wizard__steps {
|
|
31749
32106
|
--crewlet-setup-wizard-fade-left: 0px;
|
|
31750
32107
|
--crewlet-setup-wizard-fade-right: 0px;
|
|
31751
32108
|
|
|
31752
32109
|
min-width: 0;
|
|
31753
32110
|
overflow-x: auto;
|
|
32111
|
+
scroll-padding-inline: var(--crewlet-setup-wizard-fade);
|
|
31754
32112
|
overscroll-behavior-x: contain;
|
|
31755
32113
|
scrollbar-width: none;
|
|
31756
32114
|
-webkit-mask-image: linear-gradient(
|
|
@@ -31781,8 +32139,20 @@ svg.crewlet-select__chevron {
|
|
|
31781
32139
|
--crewlet-setup-wizard-fade-right: var(--crewlet-setup-wizard-fade);
|
|
31782
32140
|
}
|
|
31783
32141
|
|
|
31784
|
-
/*
|
|
32142
|
+
/*
|
|
32143
|
+
* A row that overflows takes the keyboard, so it can be scrolled without a
|
|
32144
|
+
* pointer. Its ring is the frame's, unmasked, inside the frame's edge, and
|
|
32145
|
+
* the frame's ring is the one that carries the focus in a forced-colours
|
|
32146
|
+
* mode too. The scroller's own outline is transparent only to turn off the
|
|
32147
|
+
* browser's default ring, which would sit under the mask, dimmed, beside
|
|
32148
|
+
* the frame's (transparent rather than none, as the kit's focus check asks
|
|
32149
|
+
* of every focus style).
|
|
32150
|
+
*/
|
|
31785
32151
|
.crewlet-setup-wizard__steps:focus-visible {
|
|
32152
|
+
outline: 2px solid transparent;
|
|
32153
|
+
}
|
|
32154
|
+
|
|
32155
|
+
.crewlet-setup-wizard__steps-frame:has(> .crewlet-setup-wizard__steps:focus-visible) {
|
|
31786
32156
|
outline: 2px solid var(--color-focus);
|
|
31787
32157
|
outline-offset: var(--size-focus-ring-inset-offset);
|
|
31788
32158
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewlethq/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.77.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.77.0",
|
|
46
|
+
"@crewlethq/tokens": "0.77.0",
|
|
47
47
|
"prosemirror-commands": "1.7.2",
|
|
48
48
|
"prosemirror-gapcursor": "1.4.1",
|
|
49
49
|
"prosemirror-history": "1.5.1",
|
|
@@ -2,8 +2,8 @@ import { characterCountState, CharacterCount } from './chunk-PGCLHYVP.js';
|
|
|
2
2
|
import { useHeadingLevel, headingTag, HeadingLevelProvider, nextHeadingLevel } from './chunk-PQADV6P6.js';
|
|
3
3
|
import { announce } from './chunk-2G355KDJ.js';
|
|
4
4
|
import { isComposing } from './chunk-H5XTJ7GJ.js';
|
|
5
|
-
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
6
5
|
import { useFocusModality } from './chunk-NUZHC6MM.js';
|
|
6
|
+
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
7
7
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
8
8
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
9
9
|
import './Input-WSMB7JG2.css';
|
|
File without changes
|
|
@@ -3,8 +3,8 @@ import { Tooltip } from './chunk-I33UIUZD.js';
|
|
|
3
3
|
import { Kbd } from './chunk-ANTAQAR4.js';
|
|
4
4
|
import { Button } from './chunk-DGXZ635L.js';
|
|
5
5
|
import { LAYER_REPOSITION_EVENT, LayerHost } from './chunk-OMV5W53A.js';
|
|
6
|
-
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
7
6
|
import { returnFocus } from './chunk-NUZHC6MM.js';
|
|
7
|
+
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
8
8
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
9
9
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
10
10
|
import './Canvas-4QJHVLJ4.css';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Button } from './chunk-DGXZ635L.js';
|
|
2
2
|
import { useLayerContainer, viewportBounds, LAYER_GAP, anchorGone, placePopup, LAYER_REPOSITION_EVENT } from './chunk-OMV5W53A.js';
|
|
3
3
|
import { usePopupLayer } from './chunk-H5XTJ7GJ.js';
|
|
4
|
-
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
5
4
|
import { returnFocus } from './chunk-NUZHC6MM.js';
|
|
5
|
+
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
7
7
|
import './Menu-I4SNXHOT.css';
|
|
8
8
|
import { useId, useState, useRef, useCallback, useLayoutEffect, useEffect } from 'react';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { today, CalendarGrid, shiftMonth, compareDays } from './chunk-EE3DJMSQ.js';
|
|
2
2
|
import { Popover } from './chunk-KHJIEPZV.js';
|
|
3
3
|
import { Button } from './chunk-DGXZ635L.js';
|
|
4
|
-
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
5
4
|
import { useFocusModality } from './chunk-NUZHC6MM.js';
|
|
5
|
+
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
7
7
|
import './DateTimePicker-PM6TIRIX.css';
|
|
8
8
|
import { useMemo, useState, useEffect } from 'react';
|
|
@@ -2,8 +2,8 @@ import { useListbox } from './chunk-7KHM2FZH.js';
|
|
|
2
2
|
import { Tag } from './chunk-VERJCAJ4.js';
|
|
3
3
|
import { announce } from './chunk-2G355KDJ.js';
|
|
4
4
|
import { isComposing } from './chunk-H5XTJ7GJ.js';
|
|
5
|
-
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
6
5
|
import { useFocusModality } from './chunk-NUZHC6MM.js';
|
|
6
|
+
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
7
7
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
8
8
|
import './TagsInput-MZXEHKJD.css';
|
|
9
9
|
import { forwardRef, useState, useRef, useId, useImperativeHandle, useEffect, useMemo, useLayoutEffect } from 'react';
|