@crewlethq/ui 0.35.0 → 0.36.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 +77 -0
- package/dist/AgentHandoffPanel/AgentHandoffPanel.d.ts +99 -0
- package/dist/AgentHandoffPanel/index.d.ts +3 -0
- package/dist/AgentHandoffPanel/index.js +16 -0
- package/dist/AgentHandoffPanel-JWSW62GU.css +151 -0
- package/dist/ArrangeFrame/index.js +1 -1
- package/dist/{ArrangeFrame-3PLZAG22.css → ArrangeFrame-QXOQTFAH.css} +22 -5
- package/dist/ArrangeList/index.js +4 -3
- package/dist/ArtifactBar/ArtifactBar.d.ts +2 -1
- package/dist/ArtifactBar/index.js +2 -2
- package/dist/{ArtifactBar-HV5AT4RG.css → ArtifactBar-FWPBBKQ5.css} +8 -0
- package/dist/ArtifactCard/index.js +3 -3
- package/dist/ArtifactCover/index.js +3 -2
- package/dist/ArtifactKindIllustration/ArtifactKindIllustration.d.ts +16 -7
- package/dist/ArtifactKindIllustration/index.js +1 -1
- package/dist/{ArtifactKindIllustration-5FPRJQ3P.css → ArtifactKindIllustration-5KTP43QS.css} +36 -0
- package/dist/ArtifactMakeRow/ArtifactMakeRow.d.ts +39 -0
- package/dist/ArtifactMakeRow/index.d.ts +4 -0
- package/dist/ArtifactMakeRow/index.js +4 -0
- package/dist/ArtifactMakeRow-RWUTS5MC.css +167 -0
- package/dist/ArtifactPanel/ArtifactPanel.d.ts +8 -1
- package/dist/ArtifactPanel/index.js +1 -1
- package/dist/{ArtifactPanel-HW3SU7CP.css → ArtifactPanel-KKUUIPEU.css} +9 -0
- package/dist/AuthLayout/index.js +2 -2
- package/dist/AvatarPicker/index.js +2 -2
- package/dist/Canvas/index.js +2 -2
- package/dist/CanvasBoard/CanvasBoard.d.ts +27 -13
- package/dist/CanvasBoard/index.d.ts +1 -1
- package/dist/CanvasBoard/index.js +4 -4
- package/dist/{CanvasBoard-5NNSKY6A.css → CanvasBoard-TS4P356F.css} +13 -6
- package/dist/CanvasToolbar/index.js +3 -3
- package/dist/Card/index.js +1 -1
- package/dist/{Card-KJOYHDTJ.css → Card-QOVASQNU.css} +17 -12
- package/dist/ChangeMark/index.js +2 -2
- package/dist/Checkbox/index.js +3 -2
- package/dist/ChoiceButtons/index.js +1 -1
- package/dist/{ChoiceButtons-DJ5EOGUA.css → ChoiceButtons-FLIFXFFS.css} +10 -0
- package/dist/ChoiceList/index.js +1 -1
- package/dist/{ChoiceList-RBL7FNQL.css → ChoiceList-EA2W6MOS.css} +36 -5
- package/dist/Combobox/index.js +3 -2
- package/dist/CommandPalette/index.js +3 -2
- package/dist/CommentThread/index.js +6 -5
- package/dist/Composer/Composer.d.ts +4 -0
- package/dist/Composer/index.js +3 -2
- package/dist/{Composer-ABGJIAIR.css → Composer-PXITWNEK.css} +26 -15
- package/dist/ConfirmField/index.js +3 -2
- package/dist/DataTable/index.js +5 -4
- package/dist/DataView/index.js +9 -8
- package/dist/DatasetSource/DatasetSource.d.ts +4 -0
- package/dist/DatasetSource/index.js +1 -1
- package/dist/{DatasetSource-XFPZBRXL.css → DatasetSource-SMGX4PS5.css} +38 -4
- package/dist/DateTimePicker/index.js +2 -1
- package/dist/{DateTimePicker-HG2KQXQ6.css → DateTimePicker-2IVTKFV2.css} +15 -2
- package/dist/DocTabsEditor/index.js +4 -3
- package/dist/Document/Document.d.ts +15 -3
- package/dist/Document/index.js +2 -1
- package/dist/{Document-JUGCSQ4L.css → Document-YFWTWXJP.css} +34 -2
- package/dist/{Editor-BVQHBF7L.js → Editor-HORWMUM3.js} +2 -1
- package/dist/FilterChip/index.js +1 -1
- package/dist/{FilterChip-EZ4QMW4E.css → FilterChip-VL33P3JL.css} +5 -1
- package/dist/Input/index.js +2 -1
- package/dist/{Input-GBZSFXLU.css → Input-ABGOFENS.css} +46 -10
- package/dist/LayersList/index.js +1 -1
- package/dist/{LayersList-NQZEIPZB.css → LayersList-TBNF4XGL.css} +16 -3
- package/dist/LinkInterstitial/index.js +2 -2
- package/dist/ListInput/index.js +4 -3
- package/dist/LivePreview/LivePreview.d.ts +105 -25
- package/dist/LivePreview/budget.d.ts +64 -20
- package/dist/LivePreview/index.d.ts +5 -3
- package/dist/LivePreview/index.js +1 -1
- package/dist/LivePreview/stills.d.ts +57 -0
- package/dist/LivePreview-BROGKR4N.css +113 -0
- package/dist/PresenterView/index.js +2 -2
- package/dist/PrincipalPicker/index.js +4 -3
- package/dist/RichEditor/index.js +1 -1
- package/dist/Select/index.js +2 -1
- package/dist/{Select-A54YS5EP.css → Select-W3CHTZXP.css} +18 -2
- package/dist/ShareDialog/index.js +5 -4
- package/dist/SheetColumnEditor/index.js +7 -6
- package/dist/SheetGrid/index.js +6 -6
- package/dist/SheetModel/columns.d.ts +19 -0
- package/dist/SheetModel/index.d.ts +1 -0
- package/dist/SheetModel/index.js +1 -1
- package/dist/SlideCompare/index.js +2 -2
- package/dist/SlideFilmstrip/index.js +3 -3
- package/dist/{SlideFilmstrip-4ITZLMO4.css → SlideFilmstrip-PAT7P4OG.css} +26 -7
- package/dist/SlideGrid/index.js +2 -2
- package/dist/{SlideGrid-S4LTJ4UU.css → SlideGrid-FJA33DV4.css} +11 -1
- package/dist/SlideStage/index.js +1 -1
- package/dist/{SlideStage-S2FISF4C.css → SlideStage-ZTTEQSS2.css} +4 -2
- package/dist/SourceEditor/index.js +2 -1
- package/dist/{SourceEditor-G2C3STPX.css → SourceEditor-QAYE2JS6.css} +19 -12
- package/dist/Switcher/index.js +5 -4
- package/dist/TagsInput/index.js +3 -2
- package/dist/{TagsInput-XMXTI5Q4.css → TagsInput-7EGBBXHS.css} +7 -1
- package/dist/ThemeGallery/index.js +1 -1
- package/dist/{ThemeGallery-HSUKBDWY.css → ThemeGallery-X35Y25EX.css} +26 -5
- package/dist/TimeWindowPicker/index.js +4 -3
- package/dist/{TimeWindowPicker-T763GLXH.css → TimeWindowPicker-DEFDV77Z.css} +15 -2
- package/dist/TreeCanvas/index.js +3 -3
- package/dist/VersionTimeline/index.js +2 -2
- package/dist/{chunk-V43UVX4H.js → chunk-27GD7LVR.js} +1 -1
- package/dist/{chunk-CCLNGVCM.js → chunk-2DV4THNQ.js} +2 -2
- package/dist/{chunk-2CQLNML5.js → chunk-3PTUDKSR.js} +4 -2
- package/dist/{chunk-ONL54WMH.js → chunk-46RL3E54.js} +1 -1
- package/dist/{chunk-HAKTRTRP.js → chunk-47JQAGRV.js} +1 -1
- package/dist/{chunk-UHJQDFKQ.js → chunk-4ZJLOKSS.js} +1 -1
- package/dist/{chunk-ACA27MZH.js → chunk-5QXRI35B.js} +1 -1
- package/dist/{chunk-LL5AFXU7.js → chunk-5RT5O4JR.js} +1 -1
- package/dist/chunk-66ADEPFB.js +51 -0
- package/dist/{chunk-3Y56GQPM.js → chunk-7VAUGG6B.js} +1 -1
- package/dist/{chunk-NKZCJRKO.js → chunk-APDKUGSH.js} +2 -2
- package/dist/{chunk-YSJC7AZC.js → chunk-BWOIUOO3.js} +1 -1
- package/dist/{chunk-PI7HKLIT.js → chunk-D7GNNID2.js} +3 -1
- package/dist/{chunk-THROPJZC.js → chunk-DEMALFHY.js} +1 -1
- package/dist/chunk-EOQFPZEE.js +138 -0
- package/dist/{chunk-QFNWMWWY.js → chunk-ES4RKQ7B.js} +4 -4
- package/dist/{chunk-MAD6WPER.js → chunk-FG4O64DV.js} +5 -6
- package/dist/{chunk-E35CMI5D.js → chunk-FHHYXZSP.js} +31 -13
- package/dist/{chunk-AYB6AYNH.js → chunk-GMLAKNFY.js} +1 -1
- package/dist/{chunk-ZB5O3ELS.js → chunk-GRYZ5EP3.js} +4 -2
- package/dist/{chunk-ILAEBSLJ.js → chunk-H5NOLRGH.js} +2 -2
- package/dist/{chunk-W3UVOZKL.js → chunk-IPAU6FLH.js} +6 -2
- package/dist/{chunk-Z6VW6CXX.js → chunk-IQH3DDZ2.js} +2 -2
- package/dist/{chunk-6QFAK2WV.js → chunk-IUYUS2SO.js} +4 -1
- package/dist/{chunk-AXBRWRGV.js → chunk-JQLS3MZB.js} +1 -1
- package/dist/{chunk-FGYET26P.js → chunk-KJW2AS57.js} +1 -1
- package/dist/{chunk-QIXMNOBD.js → chunk-KYZMN6I6.js} +2 -2
- package/dist/{chunk-73A7D5CE.js → chunk-L4WZSVMT.js} +3 -1
- package/dist/{chunk-OOMXLJ3S.js → chunk-LFSIKGRQ.js} +13 -1
- package/dist/{chunk-W7QBBKUE.js → chunk-MJW6SQYB.js} +7 -3
- package/dist/{chunk-GMU6SQ6B.js → chunk-MRMHZ437.js} +3 -3
- package/dist/{chunk-ULPL26BU.js → chunk-N5SKHIAP.js} +1 -1
- package/dist/{chunk-LV4APO72.js → chunk-NQGPD6NX.js} +1 -1
- package/dist/{chunk-7UYONN6K.js → chunk-OSZDHN5Z.js} +2 -2
- package/dist/chunk-P6WFZDKS.js +111 -0
- package/dist/{chunk-CPEPST4S.js → chunk-PJIPUEJ3.js} +1 -1
- package/dist/{chunk-QS4ZGTEU.js → chunk-PPFX6GRK.js} +1 -1
- package/dist/{chunk-7DZDSSJS.js → chunk-RH2NCQBZ.js} +5 -4
- package/dist/{chunk-3VD3G3IL.js → chunk-T5RQGI6O.js} +1 -1
- package/dist/{chunk-F2KY4RLI.js → chunk-TVRBQMIX.js} +5 -3
- package/dist/{chunk-QEFHYUCY.js → chunk-UWGUKMBK.js} +1 -1
- package/dist/{chunk-5YLON2PW.js → chunk-UYZZV4DZ.js} +1 -1
- package/dist/{chunk-BQ7AKL2N.js → chunk-VKKUGZ3G.js} +3 -1
- package/dist/{chunk-5VCG26CV.js → chunk-W3HYWD63.js} +4 -4
- package/dist/{chunk-DEJHAOC5.js → chunk-WMXAX6VA.js} +1 -1
- package/dist/{chunk-6JVRY5DQ.js → chunk-WNAYQQ6Y.js} +2 -2
- package/dist/{chunk-VDPJGP4Q.js → chunk-WX2NIG4G.js} +1 -1
- package/dist/{chunk-ZU3DUXD2.js → chunk-WZGYIVYH.js} +1 -1
- package/dist/chunk-XGBLRDSU.js +446 -0
- package/dist/{chunk-22CQQDFW.js → chunk-XMRTFPWX.js} +2 -2
- package/dist/{chunk-HUVG2FFT.js → chunk-Y5BD4MTE.js} +4 -2
- package/dist/chunk-YSGLEHND.js +56 -0
- package/dist/generated/index.d.ts +2 -0
- package/dist/generated/index.js +93 -90
- package/dist/index.js +93 -90
- package/dist/styles.css +862 -130
- package/dist/utils/focusModality.d.ts +41 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +2 -1
- package/package.json +3 -3
- package/dist/LivePreview-SRO7KHO4.css +0 -65
- package/dist/chunk-KF6YGL4B.js +0 -160
- package/dist/chunk-TYKQ33CL.js +0 -35
- package/dist/{chunk-3P4Y5RX6.js → chunk-4BYHAOHH.js} +1 -1
- package/dist/{chunk-3WCNHYXE.js → chunk-5BP6IS3N.js} +0 -0
- package/dist/{chunk-KD2IRYCT.js → chunk-5WDXPHEW.js} +1 -1
- package/dist/{chunk-OSFA5ROT.js → chunk-FEJANUZK.js} +0 -0
- package/dist/{chunk-FJJHD73S.js → chunk-GYBDPCRC.js} +1 -1
- package/dist/{chunk-VHZ3AXJD.js → chunk-NQCY44B3.js} +1 -1
package/dist/Combobox/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { Combobox } from '../chunk-
|
|
1
|
+
export { Combobox } from '../chunk-PPFX6GRK.js';
|
|
2
2
|
import '../chunk-F73MC7EZ.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-IUYUS2SO.js';
|
|
4
|
+
import '../chunk-YSGLEHND.js';
|
|
4
5
|
import '../chunk-PQADV6P6.js';
|
|
5
6
|
import '../chunk-R25RGPUB.js';
|
|
6
7
|
import '../chunk-4FQT6ZAY.js';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export { CommandPalette } from '../chunk-
|
|
1
|
+
export { CommandPalette } from '../chunk-N5SKHIAP.js';
|
|
2
2
|
import '../chunk-XEGZHHRH.js';
|
|
3
3
|
import '../chunk-F73MC7EZ.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-IUYUS2SO.js';
|
|
5
5
|
import '../chunk-SMBKXWML.js';
|
|
6
|
+
import '../chunk-YSGLEHND.js';
|
|
6
7
|
import '../chunk-BHHIIK3M.js';
|
|
7
8
|
import '../chunk-PQADV6P6.js';
|
|
8
9
|
import '../chunk-OMV5W53A.js';
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
export { COMMENT_THREAD_LABELS, CommentThread } from '../chunk-
|
|
2
|
-
import '../chunk-7DZDSSJS.js';
|
|
3
|
-
import '../chunk-6QFAK2WV.js';
|
|
4
|
-
import '../chunk-SMBKXWML.js';
|
|
1
|
+
export { COMMENT_THREAD_LABELS, CommentThread } from '../chunk-WNAYQQ6Y.js';
|
|
5
2
|
import '../chunk-CI3VPIJN.js';
|
|
6
3
|
import '../chunk-3CZ7XAVY.js';
|
|
7
4
|
import '../chunk-EUCC37WY.js';
|
|
8
5
|
import '../chunk-5AQBPHZD.js';
|
|
9
6
|
import '../chunk-PZKHBB7D.js';
|
|
10
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-P6WFZDKS.js';
|
|
8
|
+
import '../chunk-RH2NCQBZ.js';
|
|
9
|
+
import '../chunk-IUYUS2SO.js';
|
|
10
|
+
import '../chunk-SMBKXWML.js';
|
|
11
|
+
import '../chunk-YSGLEHND.js';
|
|
11
12
|
import '../chunk-BHHIIK3M.js';
|
|
12
13
|
import '../chunk-PQADV6P6.js';
|
|
13
14
|
import '../chunk-OG6CL3EB.js';
|
|
@@ -20,6 +20,10 @@ export interface ComposerProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaE
|
|
|
20
20
|
* and a footer strip holding the send shortcut, a counter and the actions, in
|
|
21
21
|
* one box that takes the focus ring as a whole.
|
|
22
22
|
*
|
|
23
|
+
* THE FOOTER IS DRAWN ONLY WITH SOMETHING IN IT. With no shortcut, counter or
|
|
24
|
+
* actions there is no strip at all, and one holding only the shortcut's hint
|
|
25
|
+
* goes on a phone, where the hint is not drawn, rather than stand there empty.
|
|
26
|
+
*
|
|
23
27
|
* THE COUNTER IS DRAWN ONLY NEAR THE LIMIT, from [COMPOSER_COUNTER_AT] of
|
|
24
28
|
* `maxLength`: a count under every short reply is noise, and a field that
|
|
25
29
|
* stops taking text with no warning reads as a broken keyboard.
|
package/dist/Composer/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { COMPOSER_COUNTER_AT, Composer } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { COMPOSER_COUNTER_AT, Composer } from '../chunk-RH2NCQBZ.js';
|
|
2
|
+
import '../chunk-IUYUS2SO.js';
|
|
3
3
|
import '../chunk-SMBKXWML.js';
|
|
4
|
+
import '../chunk-YSGLEHND.js';
|
|
4
5
|
import '../chunk-PQADV6P6.js';
|
|
5
6
|
import '../chunk-4FQT6ZAY.js';
|
|
6
7
|
import '../chunk-BZFWDIV6.js';
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* A message written in place: the field and its footer strip in one box. The
|
|
3
|
-
* BOX takes the focus ring
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* BOX takes the focus ring every field in the package draws (see Input.css):
|
|
4
|
+
* an outline over its boundary, 2px for the keyboard and the hairline for a
|
|
5
|
+
* pointer, so the field inside draws no border or outline of its own and the
|
|
6
|
+
* footer reads as part of what is being written. It used to recolour the
|
|
7
|
+
* border to the accent AND lay a 2px soft halo outside it: two highlights for
|
|
8
|
+
* one state, and the loudest edge on a page whose field was focused on load.
|
|
6
9
|
*/
|
|
7
10
|
.crewlet-composer {
|
|
8
11
|
display: grid;
|
|
@@ -10,18 +13,23 @@
|
|
|
10
13
|
border: 1px solid var(--color-border-strong);
|
|
11
14
|
border-radius: var(--radius-md);
|
|
12
15
|
background: var(--color-surface-background);
|
|
13
|
-
transition:
|
|
14
|
-
border-color var(--motion-duration-fast) var(--motion-easing-default),
|
|
15
|
-
box-shadow var(--motion-duration-fast) var(--motion-easing-default);
|
|
16
|
+
transition: border-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
.crewlet-composer:hover {
|
|
19
20
|
border-color: var(--color-border-strong-hover);
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
/* Keyed on the FIELD, not :focus-within: the footer holds the send action,
|
|
24
|
+
and a reader tabbing onto it is shown that button's ring, not the box's. */
|
|
25
|
+
.crewlet-composer:has(.crewlet-composer__field:focus-visible) {
|
|
26
|
+
outline: 2px solid var(--color-focus);
|
|
27
|
+
outline-offset: -1px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
:root[data-crewlet-focus='pointer'] .crewlet-composer:has(.crewlet-composer__field:focus-visible) {
|
|
31
|
+
outline-width: 1px;
|
|
32
|
+
outline-color: var(--color-border-selected);
|
|
25
33
|
}
|
|
26
34
|
|
|
27
35
|
.crewlet-composer .crewlet-composer__field {
|
|
@@ -34,11 +42,12 @@
|
|
|
34
42
|
resize: none;
|
|
35
43
|
}
|
|
36
44
|
|
|
37
|
-
/* The ring is the box's, above
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
/* The ring is the box's, above, so the field inside never draws one: left to
|
|
46
|
+
the textarea's own rule it would be a second ring inside the box's, and in
|
|
47
|
+
forced colours the box's outline is the one the system repaints. Stated on
|
|
48
|
+
the field at rest, at a weight the textarea's focus rule cannot outrank. */
|
|
49
|
+
.crewlet-composer .crewlet-composer__field.crewlet-textarea {
|
|
50
|
+
outline: none;
|
|
42
51
|
}
|
|
43
52
|
|
|
44
53
|
/* Past its cap the field scrolls rather than pushing the page. */
|
|
@@ -75,8 +84,10 @@
|
|
|
75
84
|
flex: 1;
|
|
76
85
|
}
|
|
77
86
|
|
|
87
|
+
/* On a phone the hint goes, and a footer that held only the hint goes with it. */
|
|
78
88
|
@media (width < 640px) {
|
|
79
|
-
.crewlet-composer__hint
|
|
89
|
+
.crewlet-composer__hint,
|
|
90
|
+
.crewlet-composer__footer[data-hint-only] {
|
|
80
91
|
display: none;
|
|
81
92
|
}
|
|
82
93
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { ConfirmField, confirmMatches } from '../chunk-
|
|
1
|
+
export { ConfirmField, confirmMatches } from '../chunk-KJW2AS57.js';
|
|
2
2
|
import '../chunk-5CLW2CXT.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-IUYUS2SO.js';
|
|
4
|
+
import '../chunk-YSGLEHND.js';
|
|
4
5
|
import '../chunk-PQADV6P6.js';
|
|
5
6
|
import '../chunk-4FQT6ZAY.js';
|
|
6
7
|
import '../chunk-BZFWDIV6.js';
|
package/dist/DataTable/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-
|
|
1
|
+
export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-XMRTFPWX.js';
|
|
2
|
+
import '../chunk-XEGZHHRH.js';
|
|
2
3
|
import '../chunk-STJ7QBC3.js';
|
|
3
4
|
import '../chunk-DTIW4CHZ.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-CPEPST4S.js';
|
|
6
|
-
import '../chunk-6QFAK2WV.js';
|
|
5
|
+
import '../chunk-PJIPUEJ3.js';
|
|
7
6
|
import '../chunk-EUCC37WY.js';
|
|
8
7
|
import '../chunk-AV2DXAEL.js';
|
|
8
|
+
import '../chunk-IUYUS2SO.js';
|
|
9
|
+
import '../chunk-YSGLEHND.js';
|
|
9
10
|
import '../chunk-PQADV6P6.js';
|
|
10
11
|
import '../chunk-BUVCV3WI.js';
|
|
11
12
|
import '../chunk-OMV5W53A.js';
|
package/dist/DataView/index.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-
|
|
1
|
+
export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-ES4RKQ7B.js';
|
|
2
2
|
import '../chunk-HOXGBLEY.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-STJ7QBC3.js';
|
|
6
|
-
import '../chunk-DTIW4CHZ.js';
|
|
3
|
+
import '../chunk-XMRTFPWX.js';
|
|
4
|
+
import '../chunk-L4WZSVMT.js';
|
|
7
5
|
import '../chunk-XEGZHHRH.js';
|
|
8
6
|
import '../chunk-F73MC7EZ.js';
|
|
7
|
+
import '../chunk-STJ7QBC3.js';
|
|
8
|
+
import '../chunk-DTIW4CHZ.js';
|
|
9
9
|
import '../chunk-GXQ3B46I.js';
|
|
10
10
|
import '../chunk-PGRPNDWM.js';
|
|
11
11
|
import '../chunk-K3IJQNB7.js';
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-6QFAK2WV.js';
|
|
14
|
-
import '../chunk-SMBKXWML.js';
|
|
12
|
+
import '../chunk-PJIPUEJ3.js';
|
|
15
13
|
import '../chunk-3CZ7XAVY.js';
|
|
16
14
|
import '../chunk-EUCC37WY.js';
|
|
17
15
|
import '../chunk-AV2DXAEL.js';
|
|
16
|
+
import '../chunk-IUYUS2SO.js';
|
|
17
|
+
import '../chunk-SMBKXWML.js';
|
|
18
|
+
import '../chunk-YSGLEHND.js';
|
|
18
19
|
import '../chunk-BHHIIK3M.js';
|
|
19
20
|
import '../chunk-PQADV6P6.js';
|
|
20
21
|
import '../chunk-BUVCV3WI.js';
|
|
@@ -64,6 +64,10 @@ export interface DatasetSourceProps extends Omit<HTMLAttributes<HTMLDivElement>,
|
|
|
64
64
|
* it, outside it: a table inside a button is invalid markup and unreachable
|
|
65
65
|
* to a screen reader.
|
|
66
66
|
*
|
|
67
|
+
* AN OPEN ENTRY IS ONE CARD. Once its preview is drawn, the entry frames the
|
|
68
|
+
* summary and the preview together, the summary as the card's head, so the
|
|
69
|
+
* figures read as this source's rather than as the next item of the rail.
|
|
70
|
+
*
|
|
67
71
|
* A refusal reads as calmly here as on the figure: the reader may not read
|
|
68
72
|
* the data, which is an ordinary state, so it takes the secondary ink and
|
|
69
73
|
* never an error colour.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from '../chunk-
|
|
1
|
+
export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from '../chunk-GRYZ5EP3.js';
|
|
2
2
|
import '../chunk-GFV4LJHH.js';
|
|
3
3
|
import '../chunk-WIATRXEJ.js';
|
|
4
4
|
import '../chunk-3CZ7XAVY.js';
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
display: flex;
|
|
10
10
|
flex-direction: column;
|
|
11
11
|
min-width: 0;
|
|
12
|
+
/* Held transparent at rest so nothing moves when an entry opens. */
|
|
13
|
+
border: 1px solid transparent;
|
|
12
14
|
border-radius: var(--radius-md);
|
|
13
15
|
}
|
|
14
16
|
|
|
@@ -42,12 +44,23 @@ button.crewlet-dataset-source__summary:focus-visible {
|
|
|
42
44
|
outline-offset: var(--size-focus-ring-inset-offset);
|
|
43
45
|
}
|
|
44
46
|
|
|
45
|
-
/*
|
|
47
|
+
/*
|
|
48
|
+
* The selected edge round the WHOLE ENTRY, over the selected fill on its
|
|
49
|
+
* summary, as every chosen option is drawn: a tint of the accent, never the
|
|
50
|
+
* full accent the focus ring is drawn in. The edge used to ring the summary
|
|
51
|
+
* alone, so the settings and figures an open source shows under it hung
|
|
52
|
+
* below the ring with nothing saying they belonged to it; inside one edge they
|
|
53
|
+
* read as the entry's own. The rows it opens are what say which entry is open.
|
|
54
|
+
*/
|
|
55
|
+
.crewlet-dataset-source--selected {
|
|
56
|
+
border-color: var(--color-border-selected);
|
|
57
|
+
}
|
|
58
|
+
|
|
46
59
|
.crewlet-dataset-source--selected .crewlet-dataset-source__summary {
|
|
47
|
-
|
|
48
|
-
background: var(--color-brand-accent-soft);
|
|
60
|
+
background: var(--color-surface-selected);
|
|
49
61
|
}
|
|
50
62
|
|
|
63
|
+
|
|
51
64
|
.crewlet-dataset-source__head {
|
|
52
65
|
display: flex;
|
|
53
66
|
align-items: center;
|
|
@@ -118,9 +131,30 @@ button.crewlet-dataset-source__summary:focus-visible {
|
|
|
118
131
|
color: var(--color-feedback-warning-ink);
|
|
119
132
|
}
|
|
120
133
|
|
|
134
|
+
/*
|
|
135
|
+
* AN OPEN ENTRY IS ONE CARD: the selected edge above frames the summary and
|
|
136
|
+
* the preview together, the summary its head on the selected fill and the
|
|
137
|
+
* preview a well under it, inset on the summary's padding, so the figures in
|
|
138
|
+
* it (cards of their own) stand on a ground that is plainly the source's
|
|
139
|
+
* rather than the rail's. One line separates head from well, in the same
|
|
140
|
+
* selected edge, and the head sits INSIDE the frame rather than over it: its
|
|
141
|
+
* fill laid over the frame's edge would paint that edge out.
|
|
142
|
+
*/
|
|
143
|
+
.crewlet-dataset-source--open {
|
|
144
|
+
background: var(--color-surface-inset);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.crewlet-dataset-source--open > .crewlet-dataset-source__summary {
|
|
148
|
+
border-block-end-color: var(--color-border-selected);
|
|
149
|
+
border-start-start-radius: calc(var(--radius-md) - 1px);
|
|
150
|
+
border-start-end-radius: calc(var(--radius-md) - 1px);
|
|
151
|
+
border-end-start-radius: 0;
|
|
152
|
+
border-end-end-radius: 0;
|
|
153
|
+
}
|
|
154
|
+
|
|
121
155
|
.crewlet-dataset-source__preview {
|
|
122
156
|
min-width: 0;
|
|
123
|
-
padding: var(--spacing-
|
|
157
|
+
padding: var(--spacing-3);
|
|
124
158
|
}
|
|
125
159
|
|
|
126
160
|
.crewlet-dataset-source-list {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-
|
|
1
|
+
export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-L4WZSVMT.js';
|
|
2
2
|
import '../chunk-GXQ3B46I.js';
|
|
3
3
|
import '../chunk-K3IJQNB7.js';
|
|
4
|
+
import '../chunk-YSGLEHND.js';
|
|
4
5
|
import '../chunk-OMV5W53A.js';
|
|
5
6
|
import '../chunk-R25RGPUB.js';
|
|
6
7
|
import '../chunk-OG6CL3EB.js';
|
|
@@ -51,10 +51,17 @@
|
|
|
51
51
|
*/
|
|
52
52
|
.crewlet-datetime:focus-visible,
|
|
53
53
|
.crewlet-datetime.is-open {
|
|
54
|
-
outline:
|
|
54
|
+
outline: 2px solid var(--color-focus);
|
|
55
55
|
outline-offset: -1px;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
/* Narrowed and tinted for a pointer, as the text box's ring is. See Input.css. */
|
|
59
|
+
:root[data-crewlet-focus='pointer'] .crewlet-datetime:focus-visible,
|
|
60
|
+
:root[data-crewlet-focus='pointer'] .crewlet-datetime.is-open {
|
|
61
|
+
outline-width: 1px;
|
|
62
|
+
outline-color: var(--color-border-selected);
|
|
63
|
+
}
|
|
64
|
+
|
|
58
65
|
.crewlet-datetime.is-disabled,
|
|
59
66
|
.crewlet-datetime:disabled {
|
|
60
67
|
opacity: 0.55;
|
|
@@ -177,10 +184,16 @@ svg.crewlet-datetime__chevron {
|
|
|
177
184
|
|
|
178
185
|
/* The same one ring the trigger draws, over the box's own boundary. */
|
|
179
186
|
.crewlet-datetime__time-input:focus-visible {
|
|
180
|
-
outline:
|
|
187
|
+
outline: 2px solid var(--color-focus);
|
|
181
188
|
outline-offset: -1px;
|
|
182
189
|
}
|
|
183
190
|
|
|
191
|
+
/* Narrowed and tinted for a pointer, as the text box's ring is. See Input.css. */
|
|
192
|
+
:root[data-crewlet-focus='pointer'] .crewlet-datetime__time-input:focus-visible {
|
|
193
|
+
outline-width: 1px;
|
|
194
|
+
outline-color: var(--color-border-selected);
|
|
195
|
+
}
|
|
196
|
+
|
|
184
197
|
.crewlet-datetime__footer {
|
|
185
198
|
display: flex;
|
|
186
199
|
align-items: center;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-
|
|
1
|
+
export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-UWGUKMBK.js';
|
|
2
2
|
import '../chunk-XJ2QEBMM.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-IUYUS2SO.js';
|
|
4
|
+
import '../chunk-YSGLEHND.js';
|
|
4
5
|
import '../chunk-PQADV6P6.js';
|
|
6
|
+
import '../chunk-RSAQOKH3.js';
|
|
5
7
|
import '../chunk-BUVCV3WI.js';
|
|
6
8
|
import '../chunk-OMV5W53A.js';
|
|
7
9
|
import '../chunk-R25RGPUB.js';
|
|
8
10
|
import '../chunk-OG6CL3EB.js';
|
|
9
|
-
import '../chunk-RSAQOKH3.js';
|
|
10
11
|
import '../chunk-4FQT6ZAY.js';
|
|
11
12
|
import '../chunk-BZFWDIV6.js';
|
|
12
13
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type HTMLAttributes, type TextareaHTMLAttributes } from 'react';
|
|
2
2
|
export type DocumentSize =
|
|
3
3
|
/**
|
|
4
4
|
* A page read on its own: the small step at the relaxed leading, sections at
|
|
@@ -61,7 +61,7 @@ export interface DocumentTitleProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
|
61
61
|
* a size of its own beside the body it heads.
|
|
62
62
|
*/
|
|
63
63
|
export declare function DocumentTitle({ as: Tag, className, children, ...rest }: DocumentTitleProps): import("react").JSX.Element;
|
|
64
|
-
export interface DocumentTitleFieldProps extends Omit<
|
|
64
|
+
export interface DocumentTitleFieldProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'rows' | 'cols' | 'wrap'> {
|
|
65
65
|
/** Marks the title as refused. Sets `aria-invalid`, which is what a screen reader reads. */
|
|
66
66
|
error?: boolean | undefined;
|
|
67
67
|
}
|
|
@@ -76,5 +76,17 @@ export interface DocumentTitleFieldProps extends Omit<InputHTMLAttributes<HTMLIn
|
|
|
76
76
|
* danger ink when the title is refused. The name is the caller's
|
|
77
77
|
* (`aria-label`, or a label it points at), because a title field's visible
|
|
78
78
|
* cue is its placeholder, and a placeholder is not a name.
|
|
79
|
+
*
|
|
80
|
+
* IT WRAPS, AND IT IS STILL ONE LINE OF TEXT. A title is set in the page's
|
|
81
|
+
* largest type, and an `<input>` cuts what does not fit: on a phone a long
|
|
82
|
+
* title, or the example in its placeholder, was clipped mid-word ("Weekly
|
|
83
|
+
* planning, Octobe"). So it is a textarea of one row that grows with what it
|
|
84
|
+
* holds, as the title it becomes wraps, and every way it could take a second
|
|
85
|
+
* line is closed: Enter inserts nothing (its `keydown` reaches the caller and
|
|
86
|
+
* the page exactly as an input's does, and in a form with a submit button it
|
|
87
|
+
* submits, as an input's Enter does), and a pasted, dropped or autofilled line
|
|
88
|
+
* break becomes a space before the caller's `onChange` reads the value. It is
|
|
89
|
+
* named to assistive technology as a single-line text field
|
|
90
|
+
* (`aria-multiline="false"`).
|
|
79
91
|
*/
|
|
80
|
-
export declare
|
|
92
|
+
export declare const DocumentTitleField: import("react").ForwardRefExoticComponent<DocumentTitleFieldProps & import("react").RefAttributes<HTMLTextAreaElement>>;
|
package/dist/Document/index.js
CHANGED
|
@@ -327,17 +327,34 @@
|
|
|
327
327
|
* on no surface of its own, with a line along its foot that answers the
|
|
328
328
|
* pointer, the focus and a refusal. The line is a border rather than a
|
|
329
329
|
* shadow, because forced colours keep a border and drop a shadow.
|
|
330
|
+
*
|
|
331
|
+
* ONE PIXEL, AND A TINT, WHERE A POINTER PUT THE CARET. The line is the
|
|
332
|
+
* hairline under the pointer and the selected edge (the accent mixed toward
|
|
333
|
+
* the page) once a click has put the caret in it: the reader is already
|
|
334
|
+
* looking at the title, and a page that focuses its title on load drew a 2px
|
|
335
|
+
* accent bar under it before anybody had touched anything.
|
|
336
|
+
*
|
|
337
|
+
* TWO PIXELS IN THE FOCUS COLOUR FOR THE KEYBOARD, the area WCAG 2.2's focus
|
|
338
|
+
* appearance asks of an indicator: the border takes the focus colour and a
|
|
339
|
+
* shadow lays the second pixel under it, with a transparent outline that
|
|
340
|
+
* forced colours paints in its place. The padding takes the pixel the border
|
|
341
|
+
* no longer reserves, so the title sits where it always did.
|
|
330
342
|
*/
|
|
331
343
|
.crewlet-document-title-field {
|
|
332
344
|
display: block;
|
|
333
345
|
width: 100%;
|
|
334
346
|
min-width: 0;
|
|
335
|
-
padding: 0 0 var(--spacing-1);
|
|
347
|
+
padding: 0 0 calc(var(--spacing-1) + 1px);
|
|
336
348
|
border: 0;
|
|
337
|
-
border-block-end:
|
|
349
|
+
border-block-end: 1px solid transparent;
|
|
338
350
|
border-radius: 0;
|
|
339
351
|
background: none;
|
|
340
352
|
outline: none;
|
|
353
|
+
/* A textarea of one row that grows with the title (DocumentTitleField sets
|
|
354
|
+
its height): no handle, no scrollbar, and the title's own wrapping. */
|
|
355
|
+
resize: none;
|
|
356
|
+
overflow: hidden;
|
|
357
|
+
white-space: pre-wrap;
|
|
341
358
|
transition: border-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
342
359
|
}
|
|
343
360
|
|
|
@@ -352,12 +369,27 @@
|
|
|
352
369
|
|
|
353
370
|
.crewlet-document-title-field:focus-visible {
|
|
354
371
|
border-block-end-color: var(--color-focus);
|
|
372
|
+
box-shadow: 0 1px 0 var(--color-focus);
|
|
373
|
+
outline: 2px solid transparent;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
:root[data-crewlet-focus='pointer'] .crewlet-document-title-field:focus-visible {
|
|
377
|
+
border-block-end-color: var(--color-border-selected);
|
|
378
|
+
box-shadow: none;
|
|
355
379
|
}
|
|
356
380
|
|
|
357
381
|
.crewlet-document-title-field[aria-invalid='true'] {
|
|
358
382
|
border-block-end-color: var(--color-feedback-danger);
|
|
359
383
|
}
|
|
360
384
|
|
|
385
|
+
.crewlet-document-title-field[aria-invalid='true']:focus-visible {
|
|
386
|
+
box-shadow: 0 1px 0 var(--color-feedback-danger);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
:root[data-crewlet-focus='pointer'] .crewlet-document-title-field[aria-invalid='true']:focus-visible {
|
|
390
|
+
border-block-end-color: var(--color-feedback-danger);
|
|
391
|
+
}
|
|
392
|
+
|
|
361
393
|
@media (prefers-reduced-motion: reduce) {
|
|
362
394
|
.crewlet-document-title-field {
|
|
363
395
|
transition: none;
|
|
@@ -2,7 +2,8 @@ import { richEditorLabels } from './chunk-CSQTDGTS.js';
|
|
|
2
2
|
import { schema, readMarkdown, writeMarkdown } from './chunk-QH6VYJ3X.js';
|
|
3
3
|
import { safeHref, MARKDOWN_CALLOUT_TONES } from './chunk-BAKPMH3S.js';
|
|
4
4
|
import { Toolbar } from './chunk-PGRPNDWM.js';
|
|
5
|
-
import { FormField, Input } from './chunk-
|
|
5
|
+
import { FormField, Input } from './chunk-IUYUS2SO.js';
|
|
6
|
+
import './chunk-YSGLEHND.js';
|
|
6
7
|
import './chunk-PQADV6P6.js';
|
|
7
8
|
import { Menu } from './chunk-BUVCV3WI.js';
|
|
8
9
|
import { placePopup, viewportBounds } from './chunk-OMV5W53A.js';
|
package/dist/FilterChip/index.js
CHANGED
|
@@ -81,9 +81,13 @@
|
|
|
81
81
|
cursor: not-allowed;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
+
/* The selected fill, and the accent's lighter line rather than the selected
|
|
85
|
+
edge: on a pill this small the 0.6 edge, the fill and the accent ink were
|
|
86
|
+
three accent marks on one word. The ink is the mark that clears 4.5:1, and
|
|
87
|
+
the keyboard's 2px focus ring stays the only full-weight line. */
|
|
84
88
|
.crewlet-filter-chip[aria-pressed='true'],
|
|
85
89
|
.crewlet-filter-chip[aria-checked='true'] {
|
|
86
|
-
background: var(--color-
|
|
90
|
+
background: var(--color-surface-selected);
|
|
87
91
|
border-color: var(--color-brand-accent-soft-strong);
|
|
88
92
|
color: var(--color-brand-accent-ink);
|
|
89
93
|
}
|
package/dist/Input/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea } from '../chunk-
|
|
1
|
+
export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea } from '../chunk-IUYUS2SO.js';
|
|
2
|
+
import '../chunk-YSGLEHND.js';
|
|
2
3
|
import '../chunk-PQADV6P6.js';
|
|
3
4
|
import '../chunk-4FQT6ZAY.js';
|
|
4
5
|
import '../chunk-BZFWDIV6.js';
|
|
@@ -81,14 +81,18 @@
|
|
|
81
81
|
* forced-colors mode drops every box-shadow and keeps outlines: a ring drawn
|
|
82
82
|
* as a shadow disappears for exactly the readers who most need one.
|
|
83
83
|
*
|
|
84
|
-
* It is
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
84
|
+
* It is TWO PIXELS FOR THE KEYBOARD AND ONE FOR A POINTER, laid over the
|
|
85
|
+
* boundary. Two pixels is the area WCAG 2.2's focus appearance asks of an
|
|
86
|
+
* indicator, and one pixel (the field's own hairline in the focus colour) was
|
|
87
|
+
* half of it for every reader tabbing through a form. But at two pixels round
|
|
88
|
+
* every box a caret landed in, a click into a title or a filter box drew a
|
|
89
|
+
* heavy band round the one thing the reader was already looking at, so the
|
|
90
|
+
* rule after this one narrows the ring where the document says the last move
|
|
91
|
+
* was a pointer. Drawn over the boundary rather than outside it, a scroller
|
|
92
|
+
* cannot clip it and the field does not grow a halo the moment a caret lands
|
|
93
|
+
* in it, which is what a filter box in a toolbar of them did to the row it
|
|
94
|
+
* sits in. Every boxed field in the package rings this way (`Input.test.tsx`
|
|
95
|
+
* holds them to it).
|
|
92
96
|
*
|
|
93
97
|
* THE BORDER IS LEFT ALONE. Recolouring it under the ring says nothing the
|
|
94
98
|
* ring has not already said, and it is what cost the error state its own
|
|
@@ -104,10 +108,28 @@
|
|
|
104
108
|
* on a pointer press as well as on a tab.
|
|
105
109
|
*/
|
|
106
110
|
.crewlet-input:has(.crewlet-input__control:focus-visible) {
|
|
107
|
-
outline:
|
|
111
|
+
outline: 2px solid var(--color-focus);
|
|
108
112
|
outline-offset: -1px;
|
|
109
113
|
}
|
|
110
114
|
|
|
115
|
+
/*
|
|
116
|
+
* NARROWED FOR A POINTER. The ring above is the keyboard's: 2px, the area
|
|
117
|
+
* WCAG 2.2's focus appearance asks of an indicator, drawn over the boundary
|
|
118
|
+
* and one pixel into the box. A field matches :focus-visible on a click as
|
|
119
|
+
* well, and a reader who put the caret there with a pointer is already looking
|
|
120
|
+
* at it, so where the document says the last move was a pointer
|
|
121
|
+
* (`data-crewlet-focus`, kept by `trackFocusModality`, which every field
|
|
122
|
+
* starts) the ring is one pixel in the selected edge, the accent mixed toward
|
|
123
|
+
* the page: a page that focuses its first field on load drew the focus colour
|
|
124
|
+
* round it before anybody had touched a key. A refused field keeps its own
|
|
125
|
+
* colour under a pointer too (below). A document that tracks nothing keeps
|
|
126
|
+
* the keyboard's ring.
|
|
127
|
+
*/
|
|
128
|
+
:root[data-crewlet-focus='pointer'] .crewlet-input:has(.crewlet-input__control:focus-visible) {
|
|
129
|
+
outline-width: 1px;
|
|
130
|
+
outline-color: var(--color-border-selected);
|
|
131
|
+
}
|
|
132
|
+
|
|
111
133
|
.crewlet-input.is-error {
|
|
112
134
|
border-color: var(--color-feedback-danger);
|
|
113
135
|
}
|
|
@@ -128,6 +150,10 @@
|
|
|
128
150
|
outline-color: var(--color-feedback-danger);
|
|
129
151
|
}
|
|
130
152
|
|
|
153
|
+
:root[data-crewlet-focus='pointer'] .crewlet-input.is-error:has(.crewlet-input__control:focus-visible) {
|
|
154
|
+
outline-color: var(--color-feedback-danger);
|
|
155
|
+
}
|
|
156
|
+
|
|
131
157
|
.crewlet-input.is-disabled {
|
|
132
158
|
opacity: 0.6;
|
|
133
159
|
cursor: not-allowed;
|
|
@@ -364,10 +390,16 @@
|
|
|
364
390
|
on the control itself: a textarea is the field, with nothing wrapped round
|
|
365
391
|
it and nothing focusable inside it. */
|
|
366
392
|
.crewlet-textarea:focus-visible {
|
|
367
|
-
outline:
|
|
393
|
+
outline: 2px solid var(--color-focus);
|
|
368
394
|
outline-offset: -1px;
|
|
369
395
|
}
|
|
370
396
|
|
|
397
|
+
/* Narrowed and tinted for a pointer, as the text box's ring is. See Input.css. */
|
|
398
|
+
:root[data-crewlet-focus='pointer'] .crewlet-textarea:focus-visible {
|
|
399
|
+
outline-width: 1px;
|
|
400
|
+
outline-color: var(--color-border-selected);
|
|
401
|
+
}
|
|
402
|
+
|
|
371
403
|
.crewlet-textarea.is-error {
|
|
372
404
|
border-color: var(--color-feedback-danger);
|
|
373
405
|
}
|
|
@@ -376,6 +408,10 @@
|
|
|
376
408
|
outline-color: var(--color-feedback-danger);
|
|
377
409
|
}
|
|
378
410
|
|
|
411
|
+
:root[data-crewlet-focus='pointer'] .crewlet-textarea.is-error:focus-visible {
|
|
412
|
+
outline-color: var(--color-feedback-danger);
|
|
413
|
+
}
|
|
414
|
+
|
|
379
415
|
.crewlet-textarea.is-disabled {
|
|
380
416
|
opacity: 0.6;
|
|
381
417
|
cursor: not-allowed;
|
package/dist/LayersList/index.js
CHANGED
|
@@ -68,13 +68,26 @@
|
|
|
68
68
|
color: var(--color-text-primary);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
/*
|
|
72
|
-
|
|
71
|
+
/*
|
|
72
|
+
* THE PICKED ENTRY IS A SELECTION, drawn as the package draws a chosen
|
|
73
|
+
* option: the selected fill under the primary ink, as a canvas's layers panel
|
|
74
|
+
* marks the board picked on it. It used to take the accent rail a CURRENT row
|
|
75
|
+
* takes (the outline's heading, the page in the rail), which says "you are
|
|
76
|
+
* here" and beside a canvas read as a second selection ring. The rail's room
|
|
77
|
+
* is still held, so nothing moves, and forced colours draw it in the system's
|
|
78
|
+
* own selected colour, since they drop the fill.
|
|
79
|
+
*/
|
|
73
80
|
.crewlet-layers-list__item[aria-current='true'] {
|
|
74
|
-
|
|
81
|
+
background: var(--color-surface-selected);
|
|
75
82
|
color: var(--color-text-primary);
|
|
76
83
|
}
|
|
77
84
|
|
|
85
|
+
@media (forced-colors: active) {
|
|
86
|
+
.crewlet-layers-list__item[aria-current='true'] {
|
|
87
|
+
border-inline-start-color: Highlight;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
78
91
|
/* The ring lies inside the entry, where the scroller beside it cannot cut it. */
|
|
79
92
|
.crewlet-layers-list__item:focus-visible {
|
|
80
93
|
outline: 2px solid var(--color-focus);
|