@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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { LinkInterstitial, openExternal } from '../chunk-
|
|
2
|
-
import '../chunk-5CLW2CXT.js';
|
|
1
|
+
export { LinkInterstitial, openExternal } from '../chunk-5WDXPHEW.js';
|
|
3
2
|
import '../chunk-XEGZHHRH.js';
|
|
3
|
+
import '../chunk-5CLW2CXT.js';
|
|
4
4
|
import '../chunk-SZZRIHGT.js';
|
|
5
5
|
import '../chunk-PQADV6P6.js';
|
|
6
6
|
import '../chunk-OMV5W53A.js';
|
package/dist/ListInput/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { ListInput } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { ListInput } from '../chunk-IQH3DDZ2.js';
|
|
2
|
+
import '../chunk-IUYUS2SO.js';
|
|
3
3
|
import '../chunk-SMBKXWML.js';
|
|
4
|
+
import '../chunk-YSGLEHND.js';
|
|
4
5
|
import '../chunk-PQADV6P6.js';
|
|
6
|
+
import '../chunk-RSAQOKH3.js';
|
|
5
7
|
import '../chunk-OMV5W53A.js';
|
|
6
8
|
import '../chunk-R25RGPUB.js';
|
|
7
|
-
import '../chunk-RSAQOKH3.js';
|
|
8
9
|
import '../chunk-4FQT6ZAY.js';
|
|
9
10
|
import '../chunk-BZFWDIV6.js';
|
|
10
11
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,27 +1,54 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
/**
|
|
3
|
-
* Real content drawn small: a
|
|
4
|
-
* a
|
|
3
|
+
* Real content drawn small, once: a scaled-down snapshot of a page, a grid or
|
|
4
|
+
* a slide, rendered by the content's own renderer from its real data and
|
|
5
|
+
* then frozen, the way a gallery card previews what it opens.
|
|
5
6
|
*
|
|
6
7
|
* LAID OUT AT FULL SIZE, THEN SCALED. The content is given `width` CSS pixels
|
|
7
8
|
* to lay itself out in, exactly as it would on its own page, and the whole is
|
|
8
9
|
* scaled down to the box with a CSS transform, so the preview is the page
|
|
9
10
|
* itself at a smaller size and never a second layout of it. Left out, the
|
|
10
|
-
* content fills the box unscaled
|
|
11
|
+
* content fills the box unscaled.
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
13
|
+
* RENDERED ONCE, THEN A STILL COPY. The content is mounted once the box has
|
|
14
|
+
* stayed within `rootMargin` (a screen, by default) of what its scroll
|
|
15
|
+
* container shows for `dwellMs` and the shared budget
|
|
16
|
+
* (`LivePreviewBudgetProvider`) grants it one of the renders it allows at
|
|
17
|
+
* once. It reads what it needs and draws, out of sight behind the stand-in.
|
|
18
|
+
* When it says it has drawn (`useLivePreview().ready()`) its render is given
|
|
19
|
+
* to the next box, and once the page's fonts have loaded and the layout has
|
|
20
|
+
* settled, what it drew is copied (its DOM, cloned: `stills.ts`), the copy
|
|
21
|
+
* fades in over the stand-in, and the content is unmounted in the same
|
|
22
|
+
* commit. From then on the preview holds nothing live: no React tree under
|
|
23
|
+
* it, no subscription, no observer of its own and no timer, and it never
|
|
24
|
+
* reads, polls or redraws again. A copy laid out at `width` is scaled to its
|
|
25
|
+
* box by one observer the provider's copies share, so a resized window
|
|
26
|
+
* rescales it rather than drawing it again; one with no `width` is drawn
|
|
27
|
+
* again only if its box changes size.
|
|
19
28
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
29
|
+
* KEPT FOR THE PAGE. With a `snapshot` key, the copy is kept by the provider
|
|
30
|
+
* under that key, and a preview mounted again under it (a card back after a
|
|
31
|
+
* filter, a change of shape or a page of results) shows the same copy at
|
|
32
|
+
* once, with nothing read. A page loaded afresh draws afresh.
|
|
33
|
+
*
|
|
34
|
+
* A FRAME CANNOT BE COPIED. Content that runs a page in a frame (`frame`)
|
|
35
|
+
* lives in another document: there is nothing in this one to clone, and a
|
|
36
|
+
* clone of the frame would load the page again. So a framed preview keeps its
|
|
37
|
+
* frame once drawn, fading it in over the stand-in. Kept frames are capped
|
|
38
|
+
* apart; one the reader has left is taken back only when a frame coming near
|
|
39
|
+
* needs its place, and shows its stand-in until it is drawn again.
|
|
40
|
+
*
|
|
41
|
+
* Until it has drawn, while it waits for a render, when it failed (`fail()`,
|
|
42
|
+
* or no drawing within `LIVE_PREVIEW_RENDER_MS`), and in a browser with no
|
|
43
|
+
* IntersectionObserver, the box shows `fallback`. What has drawn is shown
|
|
44
|
+
* over it, and the stand-in is hidden once the fade is done: fading the
|
|
45
|
+
* stand-in out at the same time showed both at half strength halfway through.
|
|
46
|
+
*
|
|
47
|
+
* NEVER INTERACTIVE, NEVER ANNOUNCED. The live layer and the copy are
|
|
48
|
+
* `inert`, take no pointer and are hidden from assistive technology: nothing
|
|
49
|
+
* in them can be focused or clicked, and whatever surrounds the preview (a
|
|
50
|
+
* card's link) names what it shows. Under `prefers-reduced-motion` nothing
|
|
51
|
+
* fades.
|
|
25
52
|
*/
|
|
26
53
|
/**
|
|
27
54
|
* How long a box stays near the viewport before its content is asked for: a
|
|
@@ -29,39 +56,92 @@ import { type ReactNode } from 'react';
|
|
|
29
56
|
* past does not.
|
|
30
57
|
*/
|
|
31
58
|
export declare const LIVE_PREVIEW_DWELL_MS = 120;
|
|
32
|
-
/**
|
|
33
|
-
|
|
59
|
+
/**
|
|
60
|
+
* How far ahead of what its scroll container shows a box starts rendering: a
|
|
61
|
+
* whole screen in each direction. A snapshot costs nothing once it is taken,
|
|
62
|
+
* so drawing a screen ahead is paid once, and it is what lets a reader
|
|
63
|
+
* scrolling at any pace meet every card already drawn. Measured on a gallery
|
|
64
|
+
* of 44 cards at 1440 by 900 with the CPU slowed fourfold, 200 pixels ahead
|
|
65
|
+
* left cards on screen before their first draw in about sixty samples of a
|
|
66
|
+
* scroll down and back; a screen ahead left none, and the first screen was
|
|
67
|
+
* drawn within a frame or two of the time it took before.
|
|
68
|
+
*/
|
|
69
|
+
export declare const LIVE_PREVIEW_MARGIN = "100% 0px";
|
|
70
|
+
/**
|
|
71
|
+
* The longest a render may take before it gives up and keeps its stand-in.
|
|
72
|
+
* A preview is a glimpse: content that has not drawn in fifteen seconds is
|
|
73
|
+
* waiting on a read that is failing slowly, and holding one of the budget's
|
|
74
|
+
* few renders for it would hold the rest of a gallery up behind it. Fifteen
|
|
75
|
+
* is past the ten seconds a page in a frame is given to answer at all
|
|
76
|
+
* (`FRAME_HELLO_TIMEOUT_MS`) and its grace after, so a frame settles itself
|
|
77
|
+
* first.
|
|
78
|
+
*/
|
|
79
|
+
export declare const LIVE_PREVIEW_RENDER_MS = 15000;
|
|
80
|
+
/**
|
|
81
|
+
* Gives the previews under it a budget and a store of their own: `max`
|
|
82
|
+
* rendering at once, `maxFrames` frames kept, and up to `kept` still copies
|
|
83
|
+
* kept by key for as long as the provider is mounted.
|
|
84
|
+
*/
|
|
85
|
+
export declare function LivePreviewBudgetProvider({ max, maxFrames, kept, children, }: {
|
|
34
86
|
max?: number | undefined;
|
|
87
|
+
maxFrames?: number | undefined;
|
|
88
|
+
kept?: number | undefined;
|
|
35
89
|
children: ReactNode;
|
|
36
90
|
}): import("react").JSX.Element;
|
|
37
91
|
export interface LivePreviewSignals {
|
|
38
|
-
/** The content has drawn: the
|
|
92
|
+
/** The content has drawn: it is copied and the copy shown, or for a frame, the frame is shown. */
|
|
39
93
|
ready: () => void;
|
|
40
|
-
/** The content has nothing to draw or could not draw: the stand-in stays, and the
|
|
94
|
+
/** The content has nothing to draw or could not draw: the stand-in stays, and the render is given back. */
|
|
41
95
|
fail: () => void;
|
|
42
96
|
}
|
|
43
97
|
/** What live content tells the preview around it. Outside one, both do nothing. */
|
|
44
98
|
export declare function useLivePreview(): LivePreviewSignals;
|
|
45
|
-
/**
|
|
99
|
+
/**
|
|
100
|
+
* Where a preview is in its life: `idle` (not asked for), `waiting` (asked,
|
|
101
|
+
* no render yet), `live` (rendering), `ready` (drawn: a still copy, or a kept
|
|
102
|
+
* frame) and `failed` (the stand-in for good).
|
|
103
|
+
*/
|
|
46
104
|
export type LivePreviewState = 'idle' | 'waiting' | 'live' | 'ready' | 'failed';
|
|
47
105
|
export interface LivePreviewProps {
|
|
48
|
-
/** What is drawn small. Mounted only while
|
|
106
|
+
/** What is drawn small. Mounted only while it renders, or for a frame while it is kept. */
|
|
49
107
|
children: ReactNode;
|
|
50
|
-
/** The stand-in, drawn whenever
|
|
108
|
+
/** The stand-in, drawn whenever nothing else is. */
|
|
51
109
|
fallback: ReactNode;
|
|
52
110
|
/** The width, in CSS pixels, the content lays itself out at before it is scaled to the box. */
|
|
53
111
|
width?: number | undefined;
|
|
54
|
-
/** How near
|
|
112
|
+
/** How near what its scroll container shows the box comes before its content is rendered (`LIVE_PREVIEW_MARGIN`). */
|
|
55
113
|
rootMargin?: string | undefined;
|
|
56
|
-
/** Nothing
|
|
114
|
+
/** Nothing is drawn: the stand-in only (no content to show, or a host that has turned previews off). */
|
|
57
115
|
disabled?: boolean | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* The content runs a page in a frame: it is kept rather than copied, and
|
|
118
|
+
* counts against the budget's frames for as long as it is.
|
|
119
|
+
*/
|
|
120
|
+
frame?: boolean | undefined;
|
|
121
|
+
/**
|
|
122
|
+
* What is drawn, as a key: previews under one provider with the same key
|
|
123
|
+
* share one still copy, so a preview mounted again shows it at once and
|
|
124
|
+
* renders nothing. A key names a version of the content; content that has
|
|
125
|
+
* changed takes a new key and is drawn afresh.
|
|
126
|
+
*/
|
|
127
|
+
snapshot?: string | undefined;
|
|
58
128
|
/** How long the box stays near the viewport before its content is asked for, in ms. */
|
|
59
129
|
dwellMs?: number | undefined;
|
|
60
130
|
/** Told each time the state moves, for a host that measures. */
|
|
61
131
|
onStateChange?: ((state: LivePreviewState) => void) | undefined;
|
|
62
132
|
className?: string | undefined;
|
|
63
133
|
}
|
|
64
|
-
|
|
134
|
+
/**
|
|
135
|
+
* The element a box is scrolled by: the nearest ancestor that scrolls, or
|
|
136
|
+
* null for the window. An observer's margin grows its root and nothing else,
|
|
137
|
+
* and every scroller between the box and the root clips it at its own edge.
|
|
138
|
+
*/
|
|
139
|
+
export declare function scrollRoot(el: Element): Element | null;
|
|
140
|
+
/**
|
|
141
|
+
* A preview whose `snapshot` key changes is another preview: what it holds
|
|
142
|
+
* belongs to the content it drew, so it starts again under the new key.
|
|
143
|
+
*/
|
|
144
|
+
export declare function LivePreview(props: LivePreviewProps): import("react").JSX.Element;
|
|
65
145
|
export interface PreviewScaleProps {
|
|
66
146
|
children: ReactNode;
|
|
67
147
|
/** The width, in CSS pixels, the content is laid out at. */
|
|
@@ -1,34 +1,78 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* How many live previews
|
|
2
|
+
* How many live previews render at once: the budget a gallery's cards share.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
4
|
+
* A PREVIEW RENDERS ONCE. Real content (a page of prose, a grid of cells, a
|
|
5
|
+
* slide, a board of figures) is mounted near the viewport, reads what it
|
|
6
|
+
* needs, draws, and is then kept as a still copy with nothing live behind it.
|
|
7
|
+
* What costs is the RENDER: the reads, the mount and the layout, all at once
|
|
8
|
+
* as a row of cards scrolls near. So the budget bounds how many render at the
|
|
9
|
+
* same moment (`max`), and a slot is given back the moment its content has
|
|
10
|
+
* drawn; past the cap an ask waits, drawing its stand-in, and is granted the
|
|
11
|
+
* moment a render finishes, the oldest ask first.
|
|
12
|
+
*
|
|
13
|
+
* A FRAME IS THE EXCEPTION. A page in a frame lives in another document and
|
|
14
|
+
* cannot be copied, so a framed preview that has drawn keeps its page, and a
|
|
15
|
+
* page running in a frame is by far the dearest thing a preview holds. Frames
|
|
16
|
+
* kept are capped apart (`maxFrames`): a kept frame that leaves the viewport
|
|
17
|
+
* is parked, and taken back (`reclaim`) only when a frame coming near needs
|
|
18
|
+
* its place, the one the reader left longest ago first. One on screen is
|
|
19
|
+
* never taken back for another.
|
|
11
20
|
*
|
|
12
21
|
* Plain bookkeeping with no layout, so it is tested without a browser.
|
|
13
22
|
*/
|
|
14
23
|
/**
|
|
15
|
-
* The most previews
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
24
|
+
* The most previews rendering at once. Six is the number of connections a
|
|
25
|
+
* browser opens to one host over HTTP/1.1, which is how a preview's reads
|
|
26
|
+
* (an outline, a board and its datasets, a frame's ticket) reach their
|
|
27
|
+
* server: a seventh render would only queue its reads behind the first six,
|
|
28
|
+
* while holding its mount and layout open beside them.
|
|
29
|
+
*/
|
|
30
|
+
export declare const LIVE_PREVIEW_MAX = 6;
|
|
31
|
+
/**
|
|
32
|
+
* The most frames kept at once. A frame is a page in another document, often
|
|
33
|
+
* in a process of its own; twelve is the number of pages a design's canvas
|
|
34
|
+
* runs at once (`CANVAS_BOARD_MAX_LIVE`).
|
|
19
35
|
*/
|
|
20
|
-
export declare const
|
|
36
|
+
export declare const LIVE_PREVIEW_MAX_FRAMES = 12;
|
|
37
|
+
/** One preview's hold on the budget, from its ask to its release. */
|
|
38
|
+
export interface LivePreviewSlot {
|
|
39
|
+
/** Gives back everything it holds, or withdraws the ask if it was never granted. Calling it again does nothing. */
|
|
40
|
+
release(): void;
|
|
41
|
+
/**
|
|
42
|
+
* The content has drawn: its render slot is given back. A frame keeps its
|
|
43
|
+
* place among the frames until it is released or reclaimed; anything else
|
|
44
|
+
* holds nothing more, as if released.
|
|
45
|
+
*/
|
|
46
|
+
drawn(): void;
|
|
47
|
+
/**
|
|
48
|
+
* A kept frame left the viewport: it stays, and may be reclaimed when a
|
|
49
|
+
* frame coming near needs its place. Before the grant the ask is
|
|
50
|
+
* withdrawn, since nothing was drawn. A render that is not a frame runs on
|
|
51
|
+
* to its end wherever it is, so for one this does nothing.
|
|
52
|
+
*/
|
|
53
|
+
park(): void;
|
|
54
|
+
/** Back near the viewport: answers whether the slot is still held, and if so it is no longer reclaimable. */
|
|
55
|
+
resume(): boolean;
|
|
56
|
+
}
|
|
21
57
|
export interface LivePreviewBudget {
|
|
22
|
-
/** The most
|
|
58
|
+
/** The most renders at once. */
|
|
23
59
|
readonly max: number;
|
|
60
|
+
/** The most frames kept at once. */
|
|
61
|
+
readonly maxFrames: number;
|
|
24
62
|
/**
|
|
25
|
-
* Asks for a slot. `grant` is called once, now or when a slot frees.
|
|
26
|
-
*
|
|
27
|
-
*
|
|
63
|
+
* Asks for a slot. `grant` is called once, now or when a slot frees.
|
|
64
|
+
* `reclaim` is called if a parked frame is taken back, so the holder tears
|
|
65
|
+
* its page down; nothing else is ever reclaimed. `frame` says the content
|
|
66
|
+
* runs a page in a frame, which counts against `maxFrames` for as long as
|
|
67
|
+
* it is kept.
|
|
28
68
|
*/
|
|
29
|
-
request(grant: () => void
|
|
30
|
-
/**
|
|
69
|
+
request(grant: () => void, reclaim?: () => void, frame?: boolean): LivePreviewSlot;
|
|
70
|
+
/** Renders in progress, for a test or a measurement. */
|
|
31
71
|
live(): number;
|
|
72
|
+
/** Frames kept, rendering or drawn. */
|
|
73
|
+
frames(): number;
|
|
74
|
+
/** Kept frames that left the viewport. */
|
|
75
|
+
parked(): number;
|
|
32
76
|
/** Asks waiting now. */
|
|
33
77
|
waiting(): number;
|
|
34
78
|
}
|
|
@@ -47,4 +91,4 @@ export declare const immediately: LivePreviewSchedule;
|
|
|
47
91
|
* preview does.
|
|
48
92
|
*/
|
|
49
93
|
export declare const perFrame: LivePreviewSchedule;
|
|
50
|
-
export declare function createLivePreviewBudget(max?: number, schedule?: LivePreviewSchedule): LivePreviewBudget;
|
|
94
|
+
export declare function createLivePreviewBudget(max?: number, schedule?: LivePreviewSchedule, maxFrames?: number): LivePreviewBudget;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import './LivePreview.css';
|
|
2
|
-
export { LIVE_PREVIEW_DWELL_MS, LivePreview, LivePreviewBudgetProvider, PreviewScale, useLivePreview } from './LivePreview.js';
|
|
2
|
+
export { LIVE_PREVIEW_DWELL_MS, LIVE_PREVIEW_MARGIN, LIVE_PREVIEW_RENDER_MS, LivePreview, LivePreviewBudgetProvider, PreviewScale, useLivePreview } from './LivePreview.js';
|
|
3
3
|
export type { LivePreviewProps, LivePreviewSignals, LivePreviewState, PreviewScaleProps } from './LivePreview.js';
|
|
4
|
-
export { createLivePreviewBudget, immediately, LIVE_PREVIEW_MAX, perFrame } from './budget.js';
|
|
5
|
-
export type { LivePreviewBudget, LivePreviewSchedule } from './budget.js';
|
|
4
|
+
export { createLivePreviewBudget, immediately, LIVE_PREVIEW_MAX, LIVE_PREVIEW_MAX_FRAMES, perFrame } from './budget.js';
|
|
5
|
+
export type { LivePreviewBudget, LivePreviewSchedule, LivePreviewSlot } from './budget.js';
|
|
6
|
+
export { createLivePreviewStills, LIVE_PREVIEW_STILLS_KEPT } from './stills.js';
|
|
7
|
+
export type { LivePreviewKept, LivePreviewStill, LivePreviewStills } from './stills.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { LIVE_PREVIEW_DWELL_MS, LIVE_PREVIEW_MAX, LivePreview, LivePreviewBudgetProvider, PreviewScale, createLivePreviewBudget, immediately, perFrame, useLivePreview } from '../chunk-
|
|
1
|
+
export { LIVE_PREVIEW_DWELL_MS, LIVE_PREVIEW_MARGIN, LIVE_PREVIEW_MAX, LIVE_PREVIEW_MAX_FRAMES, LIVE_PREVIEW_RENDER_MS, LIVE_PREVIEW_STILLS_KEPT, LivePreview, LivePreviewBudgetProvider, PreviewScale, createLivePreviewBudget, createLivePreviewStills, immediately, perFrame, useLivePreview } from '../chunk-XGBLRDSU.js';
|
|
2
2
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Still copies: what a live preview drew, kept as plain DOM with nothing live
|
|
3
|
+
* behind it, and where they are kept between one mount and the next.
|
|
4
|
+
*
|
|
5
|
+
* A COPY IS THE DRAWN DOM, CLONED. It holds no React tree, no subscription,
|
|
6
|
+
* no observer and no timer: it is what the content looked like the moment it
|
|
7
|
+
* said it had drawn, and it never changes after. Nothing in it loads or runs:
|
|
8
|
+
* a canvas is copied as an image of what it drew, and anything that would
|
|
9
|
+
* load again (a frame, a video, audio, an embedded object) is left out of
|
|
10
|
+
* the copy, since a clone of one starts again from nothing.
|
|
11
|
+
*
|
|
12
|
+
* KEPT BY KEY for as long as the store lives. A gallery's cards mount and
|
|
13
|
+
* unmount as its filters, shape and pages change; a card that comes back
|
|
14
|
+
* under the same key is given the copy it already drew, so it reads nothing
|
|
15
|
+
* and draws nothing again until the page is loaded afresh.
|
|
16
|
+
*/
|
|
17
|
+
/** A still copy: the nodes, and the width they were laid out at before they were scaled. */
|
|
18
|
+
export interface LivePreviewStill {
|
|
19
|
+
nodes: Node[];
|
|
20
|
+
/** The layout width the content was given, or undefined where it filled the box at its own size. */
|
|
21
|
+
width: number | undefined;
|
|
22
|
+
/** The box's size when it was drawn: a copy with no layout width is good at this size only. */
|
|
23
|
+
size: {
|
|
24
|
+
w: number;
|
|
25
|
+
h: number;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/** What a key holds: a still copy, or a preview that had nothing to draw. */
|
|
29
|
+
export type LivePreviewKept = LivePreviewStill | 'failed';
|
|
30
|
+
export interface LivePreviewStills {
|
|
31
|
+
get(key: string): LivePreviewKept | undefined;
|
|
32
|
+
put(key: string, kept: LivePreviewKept): void;
|
|
33
|
+
forget(key: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* Tells `told` the box's size whenever it changes, and answers how to stop.
|
|
36
|
+
* ONE ResizeObserver for every copy the store's previews show: a copy is
|
|
37
|
+
* scaled to its box when the box changes size (a window resized, a panel
|
|
38
|
+
* opened), and a gallery holds one observer rather than one per card.
|
|
39
|
+
*/
|
|
40
|
+
watch(el: Element, told: (size: {
|
|
41
|
+
w: number;
|
|
42
|
+
h: number;
|
|
43
|
+
}) => void): () => void;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The most still copies a store keeps, the oldest dropped first. Two hundred
|
|
47
|
+
* is four pages of a listing at fifty, the size a gallery asks the engine
|
|
48
|
+
* for; a preview whose copy was dropped draws again when it comes back.
|
|
49
|
+
*/
|
|
50
|
+
export declare const LIVE_PREVIEW_STILLS_KEPT = 200;
|
|
51
|
+
export declare function createLivePreviewStills(kept?: number): LivePreviewStills;
|
|
52
|
+
/**
|
|
53
|
+
* A still copy of `nodes`: cloned, each canvas replaced by an image of what
|
|
54
|
+
* it drew (or left blank where its pixels cannot be read), and every element
|
|
55
|
+
* that would load again left out.
|
|
56
|
+
*/
|
|
57
|
+
export declare function copyOf(nodes: readonly Node[]): Node[];
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* A live preview: the stand-in, the still copy of what the content drew and
|
|
3
|
+
* the live layer it is drawn in, stacked in that order in one box. The box
|
|
4
|
+
* takes its size from its parent (a card's preview area), so it fills it and
|
|
5
|
+
* clips whatever the content lays out past its edge.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
.crewlet-live-preview {
|
|
9
|
+
position: relative;
|
|
10
|
+
display: block;
|
|
11
|
+
width: 100%;
|
|
12
|
+
height: 100%;
|
|
13
|
+
overflow: hidden;
|
|
14
|
+
contain: layout paint;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.crewlet-live-preview__fallback {
|
|
18
|
+
position: absolute;
|
|
19
|
+
inset: 0;
|
|
20
|
+
display: flex;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* THE STILL COPY: static DOM over the stand-in, which it hides. A copy just
|
|
24
|
+
taken fades in; one the preview was given back from its store is simply
|
|
25
|
+
there, so a card scrolled or filtered back to is as it was. */
|
|
26
|
+
.crewlet-live-preview__still {
|
|
27
|
+
position: absolute;
|
|
28
|
+
inset: 0;
|
|
29
|
+
display: block;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
pointer-events: none;
|
|
32
|
+
user-select: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.crewlet-live-preview[data-fresh] > .crewlet-live-preview__still {
|
|
36
|
+
animation: crewlet-live-preview-arrive var(--motion-duration-base) var(--motion-easing-out);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@keyframes crewlet-live-preview-arrive {
|
|
40
|
+
from {
|
|
41
|
+
opacity: 0;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* A COPY IS FROZEN: what it drew never moves, so nothing in it animates or
|
|
46
|
+
transitions, whatever the content's own styles ask of the elements it
|
|
47
|
+
copied (a skeleton's shimmer, a chart's entrance). */
|
|
48
|
+
.crewlet-live-preview__still *,
|
|
49
|
+
.crewlet-live-preview__still *::before,
|
|
50
|
+
.crewlet-live-preview__still *::after {
|
|
51
|
+
animation: none !important;
|
|
52
|
+
transition: none !important;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/* THE LIVE LAYER renders out of sight: content that is copied is never seen
|
|
56
|
+
live, only its copy is. A frame's page is kept rather than copied, so a
|
|
57
|
+
framed preview's live layer is what fades in once it has drawn. */
|
|
58
|
+
.crewlet-live-preview__live {
|
|
59
|
+
position: absolute;
|
|
60
|
+
inset: 0;
|
|
61
|
+
display: block;
|
|
62
|
+
overflow: hidden;
|
|
63
|
+
opacity: 0;
|
|
64
|
+
pointer-events: none;
|
|
65
|
+
user-select: none;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.crewlet-live-preview[data-frame] > .crewlet-live-preview__live {
|
|
69
|
+
transition: opacity var(--motion-duration-base) var(--motion-easing-out);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.crewlet-live-preview[data-frame][data-state='ready'] > .crewlet-live-preview__live {
|
|
73
|
+
opacity: 1;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* LAID OUT AT ITS OWN SIZE from the top left corner, and scaled from there:
|
|
77
|
+
to the box's width, its top left the box's, or whole and centred. */
|
|
78
|
+
.crewlet-preview-scale {
|
|
79
|
+
position: absolute;
|
|
80
|
+
inset: 0;
|
|
81
|
+
display: block;
|
|
82
|
+
overflow: hidden;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.crewlet-preview-scale__layer {
|
|
86
|
+
position: absolute;
|
|
87
|
+
top: 0;
|
|
88
|
+
left: 0;
|
|
89
|
+
display: block;
|
|
90
|
+
overflow: hidden;
|
|
91
|
+
transform-origin: 0 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* WHAT IS UNDER A DRAWING is hidden only once it has faded in. Fading the
|
|
95
|
+
stand-in out at the same time showed both at half strength halfway
|
|
96
|
+
through: a double exposure. */
|
|
97
|
+
.crewlet-live-preview[data-state='ready'] > .crewlet-live-preview__fallback {
|
|
98
|
+
visibility: hidden;
|
|
99
|
+
/* Visibility is discrete and stays visible for the whole of a transition
|
|
100
|
+
to hidden, so this holds it exactly as long as the fade above. A copy
|
|
101
|
+
given back from the store is ready from its first style, which runs no
|
|
102
|
+
transition, so its stand-in is never shown at all. */
|
|
103
|
+
transition: visibility var(--motion-duration-base) linear;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
@media (prefers-reduced-motion: reduce) {
|
|
107
|
+
.crewlet-live-preview[data-fresh] > .crewlet-live-preview__still,
|
|
108
|
+
.crewlet-live-preview[data-frame] > .crewlet-live-preview__live,
|
|
109
|
+
.crewlet-live-preview[data-state='ready'] > .crewlet-live-preview__fallback {
|
|
110
|
+
animation: none;
|
|
111
|
+
transition: none;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { PresenterView, formatStopwatch } from '../chunk-
|
|
1
|
+
export { PresenterView, formatStopwatch } from '../chunk-DEMALFHY.js';
|
|
2
|
+
import '../chunk-NQGPD6NX.js';
|
|
2
3
|
import '../chunk-6VOS2GMB.js';
|
|
3
|
-
import '../chunk-LV4APO72.js';
|
|
4
4
|
import '../chunk-RK4XPHVG.js';
|
|
5
5
|
import '../chunk-OMV5W53A.js';
|
|
6
6
|
import '../chunk-R25RGPUB.js';
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { PrincipalPicker } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { PrincipalPicker } from '../chunk-GMLAKNFY.js';
|
|
2
|
+
import '../chunk-PPFX6GRK.js';
|
|
3
3
|
import '../chunk-F73MC7EZ.js';
|
|
4
|
-
import '../chunk-6QFAK2WV.js';
|
|
5
4
|
import '../chunk-CI3VPIJN.js';
|
|
6
5
|
import '../chunk-5AQBPHZD.js';
|
|
7
6
|
import '../chunk-PZKHBB7D.js';
|
|
7
|
+
import '../chunk-IUYUS2SO.js';
|
|
8
|
+
import '../chunk-YSGLEHND.js';
|
|
8
9
|
import '../chunk-PQADV6P6.js';
|
|
9
10
|
import '../chunk-R25RGPUB.js';
|
|
10
11
|
import '../chunk-4FQT6ZAY.js';
|
package/dist/RichEditor/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { RichEditor, preloadRichEditor } from '../chunk-
|
|
1
|
+
export { RichEditor, preloadRichEditor } from '../chunk-T5RQGI6O.js';
|
|
2
2
|
export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-CSQTDGTS.js';
|
|
3
3
|
import '../chunk-BAKPMH3S.js';
|
|
4
4
|
import '../chunk-SZZRIHGT.js';
|
package/dist/Select/index.js
CHANGED
|
@@ -71,10 +71,16 @@
|
|
|
71
71
|
* leave the other bare.
|
|
72
72
|
*/
|
|
73
73
|
.crewlet-select:focus-within {
|
|
74
|
-
outline:
|
|
74
|
+
outline: 2px solid var(--color-focus);
|
|
75
75
|
outline-offset: -1px;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
/* Narrowed and tinted for a pointer, as the text box's ring is. See Input.css. */
|
|
79
|
+
:root[data-crewlet-focus='pointer'] .crewlet-select:focus-within {
|
|
80
|
+
outline-width: 1px;
|
|
81
|
+
outline-color: var(--color-border-selected);
|
|
82
|
+
}
|
|
83
|
+
|
|
78
84
|
/*
|
|
79
85
|
* A FILTER THAT IS ON. The accent border says where the reader is and the
|
|
80
86
|
* accent INK says what it is set to. It used to be the accent FILL with the
|
|
@@ -133,6 +139,10 @@
|
|
|
133
139
|
outline-color: var(--color-feedback-danger);
|
|
134
140
|
}
|
|
135
141
|
|
|
142
|
+
:root[data-crewlet-focus='pointer'] .crewlet-select.is-error:focus-within {
|
|
143
|
+
outline-color: var(--color-feedback-danger);
|
|
144
|
+
}
|
|
145
|
+
|
|
136
146
|
.crewlet-select.is-disabled {
|
|
137
147
|
opacity: 0.6;
|
|
138
148
|
cursor: not-allowed;
|
|
@@ -426,10 +436,16 @@ svg.crewlet-select__chevron {
|
|
|
426
436
|
* outset ring on the input would be cut by the menu's own `overflow: hidden`.
|
|
427
437
|
*/
|
|
428
438
|
.crewlet-select__search:focus-within {
|
|
429
|
-
outline:
|
|
439
|
+
outline: 2px solid var(--color-focus);
|
|
430
440
|
outline-offset: -1px;
|
|
431
441
|
}
|
|
432
442
|
|
|
443
|
+
/* Narrowed and tinted for a pointer, as the text box's ring is. See Input.css. */
|
|
444
|
+
:root[data-crewlet-focus='pointer'] .crewlet-select__search:focus-within {
|
|
445
|
+
outline-width: 1px;
|
|
446
|
+
outline-color: var(--color-border-selected);
|
|
447
|
+
}
|
|
448
|
+
|
|
433
449
|
.crewlet-select__search {
|
|
434
450
|
display: flex;
|
|
435
451
|
align-items: center;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-2DV4THNQ.js';
|
|
2
|
+
import '../chunk-VKKUGZ3G.js';
|
|
3
|
+
import '../chunk-XEGZHHRH.js';
|
|
4
|
+
import '../chunk-F73MC7EZ.js';
|
|
3
5
|
import '../chunk-W46LPU4R.js';
|
|
4
6
|
import '../chunk-STJ7QBC3.js';
|
|
5
7
|
import '../chunk-DTIW4CHZ.js';
|
|
6
|
-
import '../chunk-XEGZHHRH.js';
|
|
7
|
-
import '../chunk-F73MC7EZ.js';
|
|
8
8
|
import '../chunk-SZZRIHGT.js';
|
|
9
9
|
import '../chunk-CI3VPIJN.js';
|
|
10
10
|
import '../chunk-5AQBPHZD.js';
|
|
11
11
|
import '../chunk-PZKHBB7D.js';
|
|
12
|
+
import '../chunk-YSGLEHND.js';
|
|
12
13
|
import '../chunk-PQADV6P6.js';
|
|
13
14
|
import '../chunk-RTPQDNW3.js';
|
|
14
15
|
import '../chunk-OMV5W53A.js';
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-FG4O64DV.js';
|
|
2
|
+
import '../chunk-VKKUGZ3G.js';
|
|
3
3
|
import '../chunk-FFMCMSJB.js';
|
|
4
4
|
import '../chunk-F73MC7EZ.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-LFSIKGRQ.js';
|
|
6
6
|
import '../chunk-Z7JYG5TF.js';
|
|
7
7
|
import '../chunk-SUXP4OBT.js';
|
|
8
8
|
import '../chunk-AYKXMIOR.js';
|
|
9
|
-
import '../chunk-
|
|
10
|
-
import '../chunk-6QFAK2WV.js';
|
|
11
|
-
import '../chunk-SMBKXWML.js';
|
|
9
|
+
import '../chunk-PJIPUEJ3.js';
|
|
12
10
|
import '../chunk-CCAXYHQS.js';
|
|
13
11
|
import '../chunk-VL6CUNSX.js';
|
|
14
12
|
import '../chunk-RKKO7QHH.js';
|
|
13
|
+
import '../chunk-IUYUS2SO.js';
|
|
14
|
+
import '../chunk-SMBKXWML.js';
|
|
15
|
+
import '../chunk-YSGLEHND.js';
|
|
15
16
|
import '../chunk-BHHIIK3M.js';
|
|
16
17
|
import '../chunk-PQADV6P6.js';
|
|
17
18
|
import '../chunk-BUVCV3WI.js';
|