@crewlethq/ui 0.55.0 → 0.56.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 +87 -4
- package/dist/Accordion/index.js +2 -2
- package/dist/AgentHandoffPanel/index.js +14 -9
- package/dist/AppShell/AppShell.d.ts +74 -1
- package/dist/AppShell/ResizeHandle.d.ts +74 -0
- package/dist/AppShell/index.d.ts +7 -2
- package/dist/AppShell/index.js +6 -4
- package/dist/AppShell/regions.d.ts +34 -0
- package/dist/AppShell/storedWidth.d.ts +47 -0
- package/dist/{AppShell-5LPXYUV3.css → AppShell-ZVCJRGXH.css} +172 -1
- package/dist/ArrangeFrame/index.js +2 -2
- package/dist/ArrangeList/index.js +5 -5
- package/dist/ArtifactBar/ArtifactBar.d.ts +13 -2
- package/dist/ArtifactBar/index.js +9 -8
- package/dist/{ArtifactBar-UMZCTARR.css → ArtifactBar-LEBMR35Y.css} +19 -1
- package/dist/ArtifactCard/index.js +6 -6
- package/dist/ArtifactNameCell/ArtifactNameCell.d.ts +7 -1
- package/dist/ArtifactNameCell/index.js +1 -1
- package/dist/ArtifactPanel/ArtifactPanel.d.ts +11 -17
- package/dist/ArtifactPanel/index.d.ts +3 -0
- package/dist/ArtifactPanel/index.js +8 -2
- package/dist/ArtifactPanel-TN4FFK2F.css +43 -0
- package/dist/AvatarPicker/index.js +9 -8
- package/dist/Button/index.js +2 -1
- package/dist/{Button-UWKBTKYD.css → Button-VXJ7M5XF.css} +9 -32
- package/dist/Canvas/index.js +5 -4
- package/dist/CanvasBoard/index.js +7 -6
- package/dist/CanvasToolbar/index.js +6 -5
- package/dist/ChangeList/ChangeList.d.ts +114 -0
- package/dist/ChangeList/index.d.ts +3 -0
- package/dist/ChangeList/index.js +10 -0
- package/dist/ChangeList-CB2DLR5S.css +151 -0
- package/dist/ChatThread/ChatThread.d.ts +53 -0
- package/dist/ChatThread/index.d.ts +3 -0
- package/dist/ChatThread/index.js +6 -0
- package/dist/ChatThread-52KMDXHB.css +58 -0
- package/dist/Checkbox/index.js +4 -4
- package/dist/CodeBlock/index.js +5 -4
- package/dist/ColorField/index.js +4 -4
- package/dist/ColorSwatch/index.js +5 -4
- package/dist/Combobox/index.js +5 -5
- package/dist/CommandPalette/index.js +9 -8
- package/dist/CommentThread/index.js +9 -7
- package/dist/Composer/Composer.d.ts +39 -2
- package/dist/Composer/index.js +5 -4
- package/dist/Composer-JSGTOW3F.css +192 -0
- package/dist/ConfirmField/index.js +4 -4
- package/dist/ConflictNote/index.js +3 -2
- package/dist/ContrastHelp/index.js +2 -2
- package/dist/Copyable/index.js +4 -3
- package/dist/DataGrid/driving.d.ts +48 -0
- package/dist/DataGrid/index.d.ts +2 -0
- package/dist/DataGrid/index.js +8 -7
- package/dist/DataTable/index.js +10 -9
- package/dist/DataView/index.js +14 -13
- package/dist/DatasetSource/index.js +2 -2
- package/dist/DateTimePicker/index.js +4 -3
- package/dist/DiffList/DiffList.d.ts +12 -3
- package/dist/DiffList/index.d.ts +1 -1
- package/dist/DiffList/index.js +1 -1
- package/dist/{DiffList-3EX64AAE.css → DiffList-GE6YBRLJ.css} +53 -0
- package/dist/Disclosure/anatomy.d.ts +14 -1
- package/dist/Disclosure/index.js +2 -2
- package/dist/{Disclosure-P4FH3C35.css → Disclosure-FVMA4RW2.css} +36 -0
- package/dist/DocTabsEditor/index.js +8 -7
- package/dist/DownloadButton/DownloadButton.d.ts +21 -4
- package/dist/DownloadButton/index.d.ts +1 -1
- package/dist/DownloadButton/index.js +4 -3
- package/dist/EditingStatus/index.js +2 -2
- package/dist/{Editor-GNKMX3VF.js → Editor-X2J47LPD.js} +7 -6
- package/dist/EntityList/EntityList.d.ts +37 -0
- package/dist/EntityList/index.d.ts +3 -0
- package/dist/EntityList/index.js +10 -0
- package/dist/EntityList-XIICECVC.css +55 -0
- package/dist/ErrorBoundary/index.js +3 -2
- package/dist/FileDrop/index.js +3 -2
- package/dist/FollowBanner/index.js +3 -2
- package/dist/HuePicker/index.js +8 -7
- package/dist/IconButton/IconButton.d.ts +6 -1
- package/dist/IconButton/index.js +1 -1
- package/dist/{IconButton-K24JQHLF.css → IconButton-6WA7UEBJ.css} +44 -21
- package/dist/IconTile/IconTile.d.ts +8 -2
- package/dist/IconTile/index.js +1 -1
- package/dist/{IconTile-4GNWTLAW.css → IconTile-G52XZVR4.css} +3 -0
- package/dist/InlineEditor/index.js +6 -5
- package/dist/Input/index.js +3 -3
- package/dist/LinkInterstitial/index.js +6 -5
- package/dist/ListInput/index.js +7 -6
- package/dist/LogoSlot/index.js +4 -3
- package/dist/MarkdownEditor/index.js +8 -7
- package/dist/Menu/index.js +4 -3
- package/dist/MergeConflicts/index.js +8 -7
- package/dist/MessageBubble/MessageBubble.d.ts +34 -0
- package/dist/MessageBubble/index.d.ts +3 -0
- package/dist/MessageBubble/index.js +2 -0
- package/dist/MessageBubble-GKO6X3QG.css +71 -0
- package/dist/Modal/index.js +5 -4
- package/dist/OpenInAppCard/OpenInAppCard.d.ts +44 -0
- package/dist/OpenInAppCard/index.d.ts +3 -0
- package/dist/OpenInAppCard/index.js +15 -0
- package/dist/OpenInAppCard-CKHCK7DO.css +24 -0
- package/dist/OrgTable/index.js +3 -3
- package/dist/PeekRail/PeekHost.d.ts +90 -0
- package/dist/PeekRail/PeekRail.d.ts +83 -0
- package/dist/PeekRail/activation.d.ts +30 -0
- package/dist/PeekRail/index.d.ts +8 -0
- package/dist/PeekRail/index.js +8 -0
- package/dist/PeekRail-4L5YUQMW.css +95 -0
- package/dist/PeopleRail/index.js +4 -3
- package/dist/PinTile/index.js +2 -2
- package/dist/PresenterView/index.js +5 -4
- package/dist/PrincipalPicker/index.js +6 -6
- package/dist/ProposalCard/ProposalCard.d.ts +134 -0
- package/dist/ProposalCard/index.d.ts +3 -0
- package/dist/ProposalCard/index.js +17 -0
- package/dist/ProposalCard-HLB3FNLA.css +19 -0
- package/dist/ReceiptStrip/ReceiptStrip.d.ts +66 -0
- package/dist/ReceiptStrip/index.d.ts +3 -0
- package/dist/ReceiptStrip/index.js +5 -0
- package/dist/ReceiptStrip-IIRKRTBG.css +93 -0
- package/dist/RefusalCard/RefusalCard.d.ts +34 -0
- package/dist/RefusalCard/index.d.ts +3 -0
- package/dist/RefusalCard/index.js +10 -0
- package/dist/RefusalCard-UM67F5HB.css +8 -0
- package/dist/RelativeTime/clock.d.ts +0 -6
- package/dist/RelativeTime/index.js +1 -1
- package/dist/ResizeHandle-2UNSZ4ZQ.css +59 -0
- package/dist/ResultTableCard/ResultTableCard.d.ts +64 -0
- package/dist/ResultTableCard/index.d.ts +3 -0
- package/dist/ResultTableCard/index.js +16 -0
- package/dist/ResultTableCard-HZRUDNTX.css +40 -0
- package/dist/ReviewList/index.js +2 -2
- package/dist/RichEditor/index.js +3 -2
- package/dist/RunChip/RunChip.d.ts +53 -0
- package/dist/RunChip/index.d.ts +3 -0
- package/dist/RunChip/index.js +10 -0
- package/dist/RunChip-I2S4VZ3R.css +43 -0
- package/dist/SandboxedFrame/index.js +3 -2
- package/dist/SegmentedControl/index.js +7 -6
- package/dist/SelectionBar/index.js +4 -3
- package/dist/SendButton/SendButton.d.ts +38 -0
- package/dist/SendButton/index.d.ts +2 -0
- package/dist/SendButton/index.js +4 -0
- package/dist/SetupWizard/index.js +6 -5
- package/dist/ShareDialog/index.js +8 -7
- package/dist/SheetColumnEditor/index.js +13 -12
- package/dist/SheetGrid/index.js +7 -6
- package/dist/SidePanel/SidePanel.d.ts +137 -0
- package/dist/SidePanel/SidePanelBase.d.ts +59 -0
- package/dist/SidePanel/index.d.ts +5 -0
- package/dist/SidePanel/index.js +11 -0
- package/dist/SidePanel-ERBUIELD.css +235 -0
- package/dist/SlideCompare/index.js +3 -2
- package/dist/SlideFilmstrip/index.js +7 -6
- package/dist/SlideNav/index.js +2 -2
- package/dist/Spinner/Spinner.d.ts +35 -0
- package/dist/Spinner/index.d.ts +3 -0
- package/dist/Spinner/index.js +2 -0
- package/dist/Spinner-XZ2TVYE5.css +46 -0
- package/dist/StatusCard/StatusCard.d.ts +59 -0
- package/dist/StatusCard/index.d.ts +3 -0
- package/dist/StatusCard/index.js +9 -0
- package/dist/StatusCard-6RPEE6UU.css +62 -0
- package/dist/StepList-A4YVU4JI.css +119 -0
- package/dist/Stepper/StepList.d.ts +72 -0
- package/dist/Stepper/index.d.ts +3 -0
- package/dist/Stepper/index.js +2 -1
- package/dist/SuggestionRow/SuggestionRow.d.ts +45 -0
- package/dist/SuggestionRow/index.d.ts +3 -0
- package/dist/SuggestionRow/index.js +3 -0
- package/dist/SuggestionRow-OKBGNHSS.css +102 -0
- package/dist/Switcher/index.js +9 -8
- package/dist/Table/Table.d.ts +23 -2
- package/dist/Table/index.d.ts +1 -1
- package/dist/Table/index.js +1 -1
- package/dist/{Table-TGCS4C3F.css → Table-RUYMMWXT.css} +49 -0
- package/dist/TableCells/index.js +2 -2
- package/dist/Tabs/index.js +6 -5
- package/dist/TagsInput/index.js +4 -4
- package/dist/ThemeGallery/index.js +2 -2
- package/dist/ThemeSwitcher/index.js +8 -7
- package/dist/ThemeToggle/index.js +2 -2
- package/dist/TimeRangePicker/TimeRangePicker.d.ts +121 -0
- package/dist/TimeRangePicker/index.d.ts +2 -0
- package/dist/TimeRangePicker/index.js +23 -0
- package/dist/TimeWindowPicker/index.js +8 -7
- package/dist/Toaster/Toaster.d.ts +27 -3
- package/dist/Toaster/index.d.ts +2 -2
- package/dist/Toaster/index.js +1 -1
- package/dist/{Toaster-C6BQ7L6I.css → Toaster-MX7TBMC3.css} +32 -11
- package/dist/TreeCanvas/index.js +6 -5
- package/dist/TreeGrid/index.js +2 -2
- package/dist/VersionCompare/index.js +9 -8
- package/dist/VersionTimeline/index.js +4 -3
- package/dist/WidgetFrame/index.js +2 -2
- package/dist/{chunk-KHKZPZHO.js → chunk-272Y3YMV.js} +3 -3
- package/dist/{chunk-LACA4JGC.js → chunk-2BQYODY3.js} +1 -1
- package/dist/{chunk-CCPOLCZL.js → chunk-2TTFDRR3.js} +2 -2
- package/dist/{chunk-4BJK7FE5.js → chunk-3EYSYEXP.js} +1 -1
- package/dist/chunk-3LI4TRUR.js +22 -0
- package/dist/{chunk-ATCHK6LC.js → chunk-3NQS6KYG.js} +1 -1
- package/dist/{chunk-V2N3BMOT.js → chunk-45KMH3E3.js} +11 -4
- package/dist/{chunk-ZMBPEHYH.js → chunk-4CBGIRVU.js} +1 -1
- package/dist/{chunk-DFW5PDU5.js → chunk-4OINEWR4.js} +1 -1
- package/dist/{chunk-5XKI4ITH.js → chunk-56P72ZBE.js} +4 -4
- package/dist/{chunk-J24Q4HTD.js → chunk-5NT6OIPP.js} +13 -3
- package/dist/{chunk-O2KT7HBD.js → chunk-5OMV75GE.js} +3 -3
- package/dist/{chunk-6RMZH7P7.js → chunk-672GLRBU.js} +2 -2
- package/dist/{chunk-MFXN46NN.js → chunk-67F2AM4R.js} +3 -3
- package/dist/{chunk-NQCY44B3.js → chunk-67MW366X.js} +2 -2
- package/dist/{chunk-URV6MGWT.js → chunk-6KLK7E76.js} +2 -2
- package/dist/{chunk-ZFM5L7M4.js → chunk-6NJW5KSX.js} +2 -2
- package/dist/{chunk-A4GFEMVI.js → chunk-6T6V5565.js} +1 -1
- package/dist/{chunk-THDGBD6Y.js → chunk-AKFHMLEX.js} +1 -1
- package/dist/{chunk-CNGHOTHV.js → chunk-AWSFK2IK.js} +2 -2
- package/dist/{chunk-HQJ24WPM.js → chunk-AZ5BKSGV.js} +1 -1
- package/dist/chunk-BLPT6GHV.js +31 -0
- package/dist/chunk-C3FX7ZSU.js +30 -0
- package/dist/{chunk-LDGQIDIZ.js → chunk-CGT4R7LW.js} +64 -2
- package/dist/{chunk-DM4JG4M5.js → chunk-D5OSP3KI.js} +3 -3
- package/dist/{chunk-BTHQFWMG.js → chunk-DOPPU6TZ.js} +4 -4
- package/dist/{chunk-AC22RZKC.js → chunk-DRT4L4WC.js} +17 -5
- package/dist/chunk-E4DZOE55.js +162 -0
- package/dist/chunk-EA23JG6R.js +9 -0
- package/dist/{chunk-WHL3XZCK.js → chunk-EBG3V4MK.js} +6 -6
- package/dist/{chunk-5JDHMDMQ.js → chunk-EDNZHW4K.js} +57 -7
- package/dist/{chunk-E6HXFFWO.js → chunk-EGL24VY5.js} +2 -2
- package/dist/{chunk-7SHAFLEX.js → chunk-ES4HR34Y.js} +2 -2
- package/dist/chunk-EVWTLFKI.js +102 -0
- package/dist/chunk-FA44M2YT.js +25 -0
- package/dist/{chunk-LKBZV5IT.js → chunk-FLTMDSC3.js} +1 -1
- package/dist/{chunk-XANKR3EP.js → chunk-FXQLNETQ.js} +2 -2
- package/dist/{chunk-G22NPQG4.js → chunk-GCASX3FD.js} +4 -4
- package/dist/{chunk-OGXHZHRX.js → chunk-GG4QZWMQ.js} +2 -2
- package/dist/{chunk-XP7EXNKF.js → chunk-GPW4M4OI.js} +2 -2
- package/dist/chunk-GZMEWWXW.js +78 -0
- package/dist/{chunk-OG6CL3EB.js → chunk-HD4QJ2SI.js} +3 -2
- package/dist/{chunk-SYY26XBX.js → chunk-HGCDJOEF.js} +2 -2
- package/dist/chunk-HGYHWWA5.js +54 -0
- package/dist/{chunk-ZS63CFDO.js → chunk-HL4CPLEK.js} +7 -7
- package/dist/{chunk-BEHFTRMZ.js → chunk-HNK43Z3P.js} +23 -5
- package/dist/{chunk-UO7JZVCO.js → chunk-HVEDVKXL.js} +1 -1
- package/dist/{chunk-FS4IH7VB.js → chunk-I7VG6RQE.js} +2 -2
- package/dist/{chunk-3RCHEFIL.js → chunk-ICJRP6QW.js} +2 -2
- package/dist/{chunk-YRIZAIU6.js → chunk-IDQBSMMZ.js} +2 -2
- package/dist/chunk-JILNCBBS.js +27 -0
- package/dist/{chunk-W5GM452Z.js → chunk-JJ3NOBJ6.js} +5 -5
- package/dist/chunk-JLRXCKTS.js +97 -0
- package/dist/{chunk-OJCVVCAZ.js → chunk-JMMS2PQU.js} +1 -1
- package/dist/{chunk-IVAR7NRW.js → chunk-JS2TRHBF.js} +3 -3
- package/dist/{chunk-3CZ7XAVY.js → chunk-KS7YIJ4S.js} +10 -6
- package/dist/{chunk-MU5KH3JF.js → chunk-LQ6AGUDL.js} +2 -2
- package/dist/chunk-LXYSWQNE.js +214 -0
- package/dist/{chunk-EKLEYNGR.js → chunk-MYX4XABB.js} +3 -3
- package/dist/{chunk-PM3JVNRY.js → chunk-N3ISZVLK.js} +1 -1
- package/dist/chunk-NEHSV55H.js +119 -0
- package/dist/{chunk-LLHO4FJK.js → chunk-NHJQXDHA.js} +1 -1
- package/dist/{chunk-NTZQN7OR.js → chunk-NI7WUPH3.js} +2 -2
- package/dist/{chunk-F6CKQX5D.js → chunk-NK3D66PB.js} +2 -2
- package/dist/{chunk-RHPBTE3F.js → chunk-NQGZRMUG.js} +1 -1
- package/dist/chunk-NVZCANJ5.js +3 -0
- package/dist/{chunk-RRO7UEYU.js → chunk-OHBXOEP3.js} +1 -1
- package/dist/{chunk-USVUSO3S.js → chunk-OHG7762N.js} +1 -1
- package/dist/{chunk-OBUQVGEG.js → chunk-OJ2QULVH.js} +1 -1
- package/dist/{chunk-ITTECHM4.js → chunk-OOZ5AGPS.js} +5 -5
- package/dist/{chunk-BZXY2L2D.js → chunk-OYAXKHVW.js} +1 -1
- package/dist/{chunk-WQQ5T5SA.js → chunk-OZIBNFLO.js} +1 -1
- package/dist/{chunk-DFK5EQTU.js → chunk-PDTEPN4D.js} +1 -1
- package/dist/chunk-PIYJNCN7.js +124 -0
- package/dist/{chunk-ZVV2VERB.js → chunk-Q6R6EUQ4.js} +3 -3
- package/dist/chunk-QYEOGGVS.js +161 -0
- package/dist/{chunk-NWGGH2LN.js → chunk-QZ4B72FP.js} +3 -3
- package/dist/chunk-RV2FGESF.js +98 -0
- package/dist/{chunk-TQ3C3Q7V.js → chunk-S5C64PTT.js} +1 -1
- package/dist/chunk-SDSBVVLL.js +45 -0
- package/dist/{chunk-ZNOXQACX.js → chunk-T4D7RZNI.js} +2 -2
- package/dist/{chunk-TDVPYBNL.js → chunk-TA72CURM.js} +1 -1
- package/dist/{chunk-WXOYHVWG.js → chunk-TD3UHDFY.js} +4 -4
- package/dist/{chunk-H7FUQCQY.js → chunk-TDQZ4LB5.js} +8 -6
- package/dist/chunk-TFGCNBWP.js +64 -0
- package/dist/{chunk-TMM32U7D.js → chunk-TKS7FTTO.js} +2 -2
- package/dist/{chunk-NKHS2RQ2.js → chunk-U5PJSGHG.js} +1 -1
- package/dist/{chunk-7CGPPAYR.js → chunk-UV4LOQ3E.js} +1 -1
- package/dist/{chunk-34ANLQW2.js → chunk-UVYGMCJ4.js} +173 -8
- package/dist/{chunk-ON2E46DX.js → chunk-VRNUKH2W.js} +1 -1
- package/dist/{chunk-XX2VQE55.js → chunk-WBRC3MNE.js} +1 -1
- package/dist/chunk-WDIVALLP.js +51 -0
- package/dist/{chunk-QMIWMLFI.js → chunk-WOW5SCEK.js} +1 -1
- package/dist/chunk-XODESBSR.js +250 -0
- package/dist/chunk-XQI2OUV4.js +59 -0
- package/dist/{chunk-EJWPYEG4.js → chunk-XRZGGB6I.js} +1 -1
- package/dist/{chunk-34C7NYIQ.js → chunk-Y73BQL74.js} +1 -1
- package/dist/{chunk-KIRQZG3G.js → chunk-YCGZK2E4.js} +1 -1
- package/dist/{chunk-5TK3C6RG.js → chunk-YCZ2FBKA.js} +1 -1
- package/dist/{chunk-TV2QW6GX.js → chunk-YEURM24I.js} +3 -3
- package/dist/{chunk-IW55G7XG.js → chunk-YNRKVY7X.js} +11 -1
- package/dist/chunk-YY445YFQ.js +55 -0
- package/dist/{chunk-LFHCXZO5.js → chunk-Z3GDMNMU.js} +3 -3
- package/dist/{chunk-LQPU5O3B.js → chunk-Z7PJF6F3.js} +3 -3
- package/dist/{chunk-HDHL773Z.js → chunk-ZH4MJM73.js} +1 -1
- package/dist/generated/index.d.ts +17 -0
- package/dist/generated/index.js +141 -122
- package/dist/index.js +141 -122
- package/dist/styles.css +1877 -218
- package/dist/utils/index.js +1 -1
- package/dist/utils/useDownload.d.ts +6 -0
- package/package.json +3 -3
- package/dist/ArtifactPanel-KKUUIPEU.css +0 -159
- package/dist/Composer-TXULCPPV.css +0 -99
- package/dist/chunk-4E5MWUUJ.js +0 -48
- package/dist/chunk-FZVJDJFN.js +0 -54
- package/dist/chunk-IXJHTFXG.js +0 -17
- package/dist/chunk-NBDN5JZV.js +0 -123
- package/dist/{chunk-UTESMBPL.js → chunk-ESUZ27TS.js} +1 -1
- /package/dist/{chunk-55MPFB2U.js → chunk-EWTPXRRM.js} +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Where a request stands. `thinking` before its first step, `working` while
|
|
4
|
+
* its steps run, `done`, `waiting` on the person's approval, `applying` while
|
|
5
|
+
* an approved change is carried out, `stopped` by the person, `failed` (the
|
|
6
|
+
* system could not finish it) and `refused` (the person's own access does not
|
|
7
|
+
* allow it).
|
|
8
|
+
*/
|
|
9
|
+
export type RunState = 'thinking' | 'working' | 'done' | 'waiting' | 'applying' | 'stopped' | 'failed' | 'refused';
|
|
10
|
+
export declare const RUN_STATES: readonly ["thinking", "working", "done", "waiting", "applying", "stopped", "failed", "refused"];
|
|
11
|
+
export interface RunChipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'children'> {
|
|
12
|
+
state: RunState;
|
|
13
|
+
/** The state in words, with the time where it has one: "Working", "Done in 5s", "Stopped after 3s". */
|
|
14
|
+
title: string;
|
|
15
|
+
/** A fact after the title, behind a " · " separator: "3s", "2 steps", "1 of 2 steps". */
|
|
16
|
+
meta?: string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* What the chip opens: the request's steps (`StepList`). Without it, or
|
|
19
|
+
* with `expandable` false, the chip is words with its chevron's slot kept,
|
|
20
|
+
* so its mark does not move when the first step arrives.
|
|
21
|
+
*/
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
/** Whether there is anything to open. Defaults to whether `children` is given. */
|
|
24
|
+
expandable?: boolean | undefined;
|
|
25
|
+
/** Controlled open state. */
|
|
26
|
+
open?: boolean | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* The uncontrolled starting state. Left out, the chip is open while the
|
|
29
|
+
* request is under way and closed otherwise, and it follows the request: it
|
|
30
|
+
* opens when work starts and closes itself when the request settles,
|
|
31
|
+
* whatever the reader last did with it.
|
|
32
|
+
*/
|
|
33
|
+
defaultOpen?: boolean | undefined;
|
|
34
|
+
onOpenChange?: ((open: boolean) => void) | undefined;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A request's state, as the row a reader opens to see its steps.
|
|
38
|
+
*
|
|
39
|
+
* BUILT ON THE DISCLOSURE TRIGGER: the chevron, then the state's mark (the
|
|
40
|
+
* spinner while it works, the check, the clock, the lock), the state in words
|
|
41
|
+
* and a quieter fact after a " · ", in the disclosure's own register. The
|
|
42
|
+
* chevron's padding hangs into the gutter, so the chevron sits on the text
|
|
43
|
+
* edge of the thread above it.
|
|
44
|
+
*
|
|
45
|
+
* THE STATE CARRIES ITS TONE IN THE TITLE'S INK: waiting on the person in the
|
|
46
|
+
* warning ink, failed in the danger ink, everything else in the secondary
|
|
47
|
+
* ink. Colour is never alone: the words say the state, and the mark draws it.
|
|
48
|
+
*
|
|
49
|
+
* ITS NAME IS ITS WORDS, "Working, 3 s": the visible separator is hidden from
|
|
50
|
+
* assistive technology and a comma said in its place. The step list it opens
|
|
51
|
+
* is a region named by the chip.
|
|
52
|
+
*/
|
|
53
|
+
export declare function RunChip({ state, title, meta, children, expandable: expandableProp, open: controlledOpen, defaultOpen, onOpenChange, className, ...rest }: RunChipProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { RUN_STATES, RunChip } from '../chunk-EVWTLFKI.js';
|
|
2
|
+
import '../chunk-CGT4R7LW.js';
|
|
3
|
+
import '../chunk-WIATRXEJ.js';
|
|
4
|
+
import '../chunk-GG4QZWMQ.js';
|
|
5
|
+
import '../chunk-TFGCNBWP.js';
|
|
6
|
+
import '../chunk-BHHIIK3M.js';
|
|
7
|
+
import '../chunk-PQADV6P6.js';
|
|
8
|
+
import '../chunk-EA23JG6R.js';
|
|
9
|
+
import '../chunk-BZFWDIV6.js';
|
|
10
|
+
import '../chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* A request's state on the disclosure trigger. Only what differs from the
|
|
3
|
+
* disclosure is said here: the trigger is as wide as its words (not the whole
|
|
4
|
+
* row), its padding hangs into the gutter so the chevron sits on the text
|
|
5
|
+
* edge, its figures are tabular so a ticking time does not shake the row, and
|
|
6
|
+
* the title takes the state's tone.
|
|
7
|
+
*/
|
|
8
|
+
.crewlet-run-chip {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
align-items: flex-start;
|
|
12
|
+
gap: var(--spacing-1);
|
|
13
|
+
min-width: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.crewlet-run-chip .crewlet-run-chip__trigger {
|
|
17
|
+
flex: none;
|
|
18
|
+
width: auto;
|
|
19
|
+
max-width: calc(100% + var(--spacing-2));
|
|
20
|
+
margin-inline-start: calc(var(--spacing-2) * -1);
|
|
21
|
+
font-variant-numeric: tabular-nums;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.crewlet-run-chip__separator {
|
|
25
|
+
color: var(--color-text-tertiary);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* The state's tone, in the title's ink, at rest and under the pointer. */
|
|
29
|
+
.crewlet-run-chip--waiting .crewlet-run-chip__trigger,
|
|
30
|
+
.crewlet-run-chip--waiting .crewlet-run-chip__trigger:hover {
|
|
31
|
+
color: var(--color-feedback-warning-ink);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.crewlet-run-chip--failed .crewlet-run-chip__trigger,
|
|
35
|
+
.crewlet-run-chip--failed .crewlet-run-chip__trigger:hover {
|
|
36
|
+
color: var(--color-feedback-danger-ink);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* The steps it opens fill the thread's width under it. */
|
|
40
|
+
.crewlet-run-chip__panel {
|
|
41
|
+
align-self: stretch;
|
|
42
|
+
min-width: 0;
|
|
43
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from '../chunk-
|
|
1
|
+
export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from '../chunk-OZIBNFLO.js';
|
|
2
2
|
import '../chunk-F6V2PTN6.js';
|
|
3
3
|
import '../chunk-ZXXDZJQN.js';
|
|
4
4
|
import '../chunk-BPCY7ZID.js';
|
|
5
5
|
import '../chunk-TEUQWOWZ.js';
|
|
6
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-HD4QJ2SI.js';
|
|
7
|
+
import '../chunk-EA23JG6R.js';
|
|
7
8
|
import '../chunk-BZFWDIV6.js';
|
|
8
9
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import '../chunk-OOC7Q67K.js';
|
|
2
|
-
export { SegmentedControl } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
2
|
+
export { SegmentedControl } from '../chunk-AWSFK2IK.js';
|
|
3
|
+
import '../chunk-I7VG6RQE.js';
|
|
4
4
|
import '../chunk-WIATRXEJ.js';
|
|
5
5
|
import '../chunk-EGMQURBR.js';
|
|
6
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-BHHIIK3M.js';
|
|
7
|
+
import '../chunk-TKS7FTTO.js';
|
|
8
|
+
import '../chunk-HD4QJ2SI.js';
|
|
9
|
+
import '../chunk-EA23JG6R.js';
|
|
7
10
|
import '../chunk-OMV5W53A.js';
|
|
8
11
|
import '../chunk-2YTOOH3A.js';
|
|
9
|
-
import '../chunk-BHHIIK3M.js';
|
|
10
|
-
import '../chunk-OG6CL3EB.js';
|
|
11
12
|
import '../chunk-H5XTJ7GJ.js';
|
|
12
|
-
import '../chunk-
|
|
13
|
+
import '../chunk-2BQYODY3.js';
|
|
13
14
|
import '../chunk-NUZHC6MM.js';
|
|
14
15
|
import '../chunk-BZFWDIV6.js';
|
|
15
16
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export { SelectionBar } from '../chunk-
|
|
1
|
+
export { SelectionBar } from '../chunk-NK3D66PB.js';
|
|
2
2
|
import '../chunk-NR4CPM4T.js';
|
|
3
|
+
import '../chunk-RSAQOKH3.js';
|
|
4
|
+
import '../chunk-HD4QJ2SI.js';
|
|
5
|
+
import '../chunk-EA23JG6R.js';
|
|
3
6
|
import '../chunk-OMV5W53A.js';
|
|
4
|
-
import '../chunk-OG6CL3EB.js';
|
|
5
7
|
import '../chunk-H5XTJ7GJ.js';
|
|
6
8
|
import '../chunk-NUZHC6MM.js';
|
|
7
|
-
import '../chunk-RSAQOKH3.js';
|
|
8
9
|
import '../chunk-BZFWDIV6.js';
|
|
9
10
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type IconButtonProps } from '../IconButton/index.js';
|
|
2
|
+
/** Whether the button sends the message or stops the request already running. */
|
|
3
|
+
export type SendButtonMode = 'send' | 'stop';
|
|
4
|
+
export interface SendButtonLabels {
|
|
5
|
+
/** The send button's name and tooltip. */
|
|
6
|
+
send: string;
|
|
7
|
+
/** The stop button's name and tooltip. */
|
|
8
|
+
stop: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const SEND_BUTTON_LABELS: SendButtonLabels;
|
|
11
|
+
export interface SendButtonProps extends Omit<IconButtonProps, 'label' | 'icon' | 'variant' | 'size' | 'onClick' | 'children' | 'asChild'> {
|
|
12
|
+
/** `send` while nothing is running; `stop` while a request runs. */
|
|
13
|
+
mode: SendButtonMode;
|
|
14
|
+
/** Called on a press in either mode: the caller sends, or stops what is running. */
|
|
15
|
+
onPress: () => void;
|
|
16
|
+
/**
|
|
17
|
+
* Why it cannot send right now ("Write a question first", "Offline"). Soft
|
|
18
|
+
* disabled, as every disabled control here is: it keeps its place in the
|
|
19
|
+
* tab order and says why. Ignored while stopping, because Stop is always
|
|
20
|
+
* available while something runs.
|
|
21
|
+
*/
|
|
22
|
+
disabledReason?: string | undefined;
|
|
23
|
+
labels?: Partial<SendButtonLabels> | undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A chat composer's send button, which becomes Stop while a request runs.
|
|
27
|
+
*
|
|
28
|
+
* ONE ELEMENT IN BOTH MODES, so the button a keyboard reader is on stays
|
|
29
|
+
* focused when the request starts or ends: it changes what it says ("Send",
|
|
30
|
+
* "Stop") and how it looks, never which element it is.
|
|
31
|
+
*
|
|
32
|
+
* SEND is the accent square (IconButton `primary`) with the arrow; STOP is the
|
|
33
|
+
* bordered square (IconButton `secondary`) with a filled square in the primary
|
|
34
|
+
* ink. Stop is quieter than Send on purpose: an inverse block was the loudest
|
|
35
|
+
* thing on the panel in dark mode, and Stop is a way out, not the decision.
|
|
36
|
+
* Inside a `Composer`'s `trailing` slot its corner nests in the composer's.
|
|
37
|
+
*/
|
|
38
|
+
export declare const SendButton: import("react").ForwardRefExoticComponent<SendButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
export { SetupWizard } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { SetupWizard } from '../chunk-D5OSP3KI.js';
|
|
2
|
+
import '../chunk-CGT4R7LW.js';
|
|
3
3
|
import '../chunk-DKB73KZI.js';
|
|
4
4
|
import '../chunk-WIATRXEJ.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-FZVJDJFN.js';
|
|
5
|
+
import '../chunk-GG4QZWMQ.js';
|
|
6
|
+
import '../chunk-TFGCNBWP.js';
|
|
8
7
|
import '../chunk-BHHIIK3M.js';
|
|
9
8
|
import '../chunk-PQADV6P6.js';
|
|
9
|
+
import '../chunk-RTPQDNW3.js';
|
|
10
|
+
import '../chunk-EA23JG6R.js';
|
|
10
11
|
import '../chunk-BZFWDIV6.js';
|
|
11
12
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-
|
|
1
|
+
export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-OOZ5AGPS.js';
|
|
2
2
|
import '../chunk-XQZ6EWOE.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-7KHM2FZH.js';
|
|
5
|
-
import '../chunk-7SHAFLEX.js';
|
|
3
|
+
import '../chunk-ES4HR34Y.js';
|
|
6
4
|
import '../chunk-STJ7QBC3.js';
|
|
7
5
|
import '../chunk-DTIW4CHZ.js';
|
|
6
|
+
import '../chunk-QZ4B72FP.js';
|
|
7
|
+
import '../chunk-7KHM2FZH.js';
|
|
8
8
|
import '../chunk-BPCY7ZID.js';
|
|
9
9
|
import '../chunk-CI3VPIJN.js';
|
|
10
10
|
import '../chunk-5AQBPHZD.js';
|
|
11
11
|
import '../chunk-PZKHBB7D.js';
|
|
12
|
+
import '../chunk-PQADV6P6.js';
|
|
12
13
|
import '../chunk-RTPQDNW3.js';
|
|
14
|
+
import '../chunk-HD4QJ2SI.js';
|
|
15
|
+
import '../chunk-EA23JG6R.js';
|
|
13
16
|
import '../chunk-OMV5W53A.js';
|
|
14
17
|
import '../chunk-2YTOOH3A.js';
|
|
15
|
-
import '../chunk-PQADV6P6.js';
|
|
16
|
-
import '../chunk-OG6CL3EB.js';
|
|
17
18
|
import '../chunk-H5XTJ7GJ.js';
|
|
18
|
-
import '../chunk-
|
|
19
|
+
import '../chunk-2BQYODY3.js';
|
|
19
20
|
import '../chunk-NUZHC6MM.js';
|
|
20
21
|
import '../chunk-BZFWDIV6.js';
|
|
21
22
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-
|
|
1
|
+
export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-EBG3V4MK.js';
|
|
2
2
|
import '../chunk-XQZ6EWOE.js';
|
|
3
3
|
import '../chunk-FFMCMSJB.js';
|
|
4
4
|
import '../chunk-7KHM2FZH.js';
|
|
5
5
|
import '../chunk-LFSIKGRQ.js';
|
|
6
6
|
import '../chunk-Z7JYG5TF.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-OYAXKHVW.js';
|
|
8
8
|
import '../chunk-AYKXMIOR.js';
|
|
9
|
-
import '../chunk-
|
|
10
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-AWSFK2IK.js';
|
|
10
|
+
import '../chunk-I7VG6RQE.js';
|
|
11
11
|
import '../chunk-WIATRXEJ.js';
|
|
12
12
|
import '../chunk-EGMQURBR.js';
|
|
13
|
-
import '../chunk-
|
|
14
|
-
import '../chunk-TMM32U7D.js';
|
|
15
|
-
import '../chunk-OMV5W53A.js';
|
|
16
|
-
import '../chunk-2YTOOH3A.js';
|
|
13
|
+
import '../chunk-NHJQXDHA.js';
|
|
17
14
|
import '../chunk-SMBKXWML.js';
|
|
18
|
-
import '../chunk-
|
|
15
|
+
import '../chunk-FXQLNETQ.js';
|
|
19
16
|
import '../chunk-XCUUI7E7.js';
|
|
20
17
|
import '../chunk-BHHIIK3M.js';
|
|
21
18
|
import '../chunk-PQADV6P6.js';
|
|
22
|
-
import '../chunk-
|
|
19
|
+
import '../chunk-RSAQOKH3.js';
|
|
20
|
+
import '../chunk-TKS7FTTO.js';
|
|
21
|
+
import '../chunk-HD4QJ2SI.js';
|
|
22
|
+
import '../chunk-EA23JG6R.js';
|
|
23
|
+
import '../chunk-OMV5W53A.js';
|
|
24
|
+
import '../chunk-2YTOOH3A.js';
|
|
23
25
|
import '../chunk-H5XTJ7GJ.js';
|
|
24
|
-
import '../chunk-
|
|
26
|
+
import '../chunk-2BQYODY3.js';
|
|
25
27
|
import '../chunk-NUZHC6MM.js';
|
|
26
|
-
import '../chunk-RSAQOKH3.js';
|
|
27
28
|
import '../chunk-BZFWDIV6.js';
|
|
28
29
|
import '../chunk-ODEQTPFM.js';
|
package/dist/SheetGrid/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-
|
|
1
|
+
export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-TD3UHDFY.js';
|
|
2
2
|
import '../chunk-O2EGEONV.js';
|
|
3
3
|
import '../chunk-CENOOTAV.js';
|
|
4
|
-
import '../chunk-KYIAFNU7.js';
|
|
5
4
|
import '../chunk-3BYIWOTV.js';
|
|
6
5
|
import '../chunk-I6POAB4V.js';
|
|
6
|
+
import '../chunk-KYIAFNU7.js';
|
|
7
7
|
import '../chunk-66X5WDKE.js';
|
|
8
8
|
import '../chunk-LFSIKGRQ.js';
|
|
9
9
|
import '../chunk-Z7JYG5TF.js';
|
|
@@ -13,12 +13,13 @@ import '../chunk-I33UIUZD.js';
|
|
|
13
13
|
import '../chunk-WIATRXEJ.js';
|
|
14
14
|
import '../chunk-5AQBPHZD.js';
|
|
15
15
|
import '../chunk-PZKHBB7D.js';
|
|
16
|
-
import '../chunk-
|
|
16
|
+
import '../chunk-RSAQOKH3.js';
|
|
17
|
+
import '../chunk-TKS7FTTO.js';
|
|
18
|
+
import '../chunk-HD4QJ2SI.js';
|
|
19
|
+
import '../chunk-EA23JG6R.js';
|
|
17
20
|
import '../chunk-OMV5W53A.js';
|
|
18
|
-
import '../chunk-OG6CL3EB.js';
|
|
19
21
|
import '../chunk-H5XTJ7GJ.js';
|
|
20
|
-
import '../chunk-
|
|
22
|
+
import '../chunk-2BQYODY3.js';
|
|
21
23
|
import '../chunk-NUZHC6MM.js';
|
|
22
|
-
import '../chunk-RSAQOKH3.js';
|
|
23
24
|
import '../chunk-BZFWDIV6.js';
|
|
24
25
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { type ReactNode, type Ref } from 'react';
|
|
2
|
+
import { type SidePanelInitialFocus, type SidePanelShape } from './SidePanelBase.js';
|
|
3
|
+
export type { SidePanelInitialFocus, SidePanelShape } from './SidePanelBase.js';
|
|
4
|
+
/** The panel's resting width, in px, where the host names none. */
|
|
5
|
+
export declare const SIDE_PANEL_WIDTH = 420;
|
|
6
|
+
/** The narrowest a reader may drag it, in px. */
|
|
7
|
+
export declare const SIDE_PANEL_MIN_WIDTH = 360;
|
|
8
|
+
/** The widest, in px, before any cap the host applies so the content keeps its floor. */
|
|
9
|
+
export declare const SIDE_PANEL_MAX_WIDTH = 640;
|
|
10
|
+
export interface SidePanelLabels {
|
|
11
|
+
/** Names the close button: "Close the assistant". */
|
|
12
|
+
close: (title: string) => string;
|
|
13
|
+
/** Names the grip: "Resize the assistant panel". */
|
|
14
|
+
resize: (title: string) => string;
|
|
15
|
+
}
|
|
16
|
+
export declare const SIDE_PANEL_LABELS: SidePanelLabels;
|
|
17
|
+
export interface SidePanelProps {
|
|
18
|
+
/** Names the panel; it is the panel's heading, level two. */
|
|
19
|
+
title: string;
|
|
20
|
+
/** A mark before the title: the product mark, the glyph of the control that opened it. */
|
|
21
|
+
icon?: ReactNode;
|
|
22
|
+
/** Draw the title for assistive technology only, where the icon says it. */
|
|
23
|
+
hideTitle?: boolean | undefined;
|
|
24
|
+
/** Closes the panel: its close button, and Escape from anywhere inside it. */
|
|
25
|
+
onClose: () => void;
|
|
26
|
+
/** Controls in the head, before Close: New conversation, a history menu. */
|
|
27
|
+
actions?: ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* What stays under the body however far it scrolls: a composer, a commit.
|
|
30
|
+
* Drawn on a hairline at the panel's foot, outside the scrolling body.
|
|
31
|
+
*/
|
|
32
|
+
footer?: ReactNode;
|
|
33
|
+
/**
|
|
34
|
+
* Drops the body's inset, for content that owns its own edges: a
|
|
35
|
+
* `ChatThread`, which scrolls itself and insets its own items, so its
|
|
36
|
+
* scrollbar stands on the panel's edge and the inset is not drawn twice; or
|
|
37
|
+
* a table whose rules meet the panel's sides. `--crewlet-side-panel-inset`
|
|
38
|
+
* reads 0 inside the body, so a sticky foot that offsets itself by the
|
|
39
|
+
* inset still sits on the edge.
|
|
40
|
+
*/
|
|
41
|
+
flush?: boolean | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* The width, in px, in a `SidePanelFrame`. In the shell's aside the shell's
|
|
44
|
+
* track sizes the panel (`AppShell` `asideWidth`), and this is ignored.
|
|
45
|
+
*/
|
|
46
|
+
width?: number | undefined;
|
|
47
|
+
/** The narrowest a drag or a key may take it. */
|
|
48
|
+
minWidth?: number | undefined;
|
|
49
|
+
/** The widest, already capped by the host so the content beside it keeps its floor. */
|
|
50
|
+
maxWidth?: number | undefined;
|
|
51
|
+
/** The resting width a reset (Enter on the grip, a double press) returns to. */
|
|
52
|
+
defaultWidth?: number | undefined;
|
|
53
|
+
/** Every change of width while a drag or a key moves it. */
|
|
54
|
+
onWidthChange?: ((width: number) => void) | undefined;
|
|
55
|
+
/** Where a resize ends: the moment to keep the reader's width. */
|
|
56
|
+
onWidthCommit?: ((width: number) => void) | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Draws the grip on the panel's start edge as a column or a drawer. In the
|
|
59
|
+
* shell's aside the shell draws the grip in its seam (`AppShell`
|
|
60
|
+
* `asideResize`), so this is ignored there.
|
|
61
|
+
*/
|
|
62
|
+
resizable?: boolean | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Where focus goes on open: the heading (the default, so a screen reader
|
|
65
|
+
* announces what opened), nowhere (a panel a link opened on arrival must
|
|
66
|
+
* not take focus from the page), or a field of the panel's own, such as a
|
|
67
|
+
* composer. The heading takes focus without drawing a ring: it is not a
|
|
68
|
+
* control, and a ring round it reads as one.
|
|
69
|
+
*/
|
|
70
|
+
initialFocus?: SidePanelInitialFocus | undefined;
|
|
71
|
+
labels?: Partial<SidePanelLabels> | undefined;
|
|
72
|
+
className?: string | undefined;
|
|
73
|
+
children: ReactNode;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* A panel beside what the reader is working on: the assistant, a peek at a
|
|
77
|
+
* record, an artifact's details. Head, scrolling body, foot.
|
|
78
|
+
*
|
|
79
|
+
* A REGION, NOT A DIALOG, wherever the content beside it is still reachable:
|
|
80
|
+
* a complementary landmark named by its heading, which never traps focus, so
|
|
81
|
+
* the reader moves between the two with Tab as between any two parts of a
|
|
82
|
+
* page. Only as a `sheet`, where it covers everything, is it a modal dialog
|
|
83
|
+
* on the shared layer stack.
|
|
84
|
+
*
|
|
85
|
+
* FOCUS IS STILL MANAGED. Opening moves focus to the heading (or to
|
|
86
|
+
* `initialFocus`); closing with focus inside hands it back to whatever held
|
|
87
|
+
* it before, and leaves it alone otherwise. Escape closes it from anywhere
|
|
88
|
+
* inside, a field included, unless something inside answered the press
|
|
89
|
+
* first.
|
|
90
|
+
*
|
|
91
|
+
* IN THE SHELL'S ASIDE it is a box that fills the aside: the shell names the
|
|
92
|
+
* region, sizes the track and draws the grip in the seam, from the same
|
|
93
|
+
* width the host keeps for both.
|
|
94
|
+
*/
|
|
95
|
+
export declare function SidePanel({ title, icon, hideTitle, onClose, actions, footer, flush, width, minWidth, maxWidth, defaultWidth, onWidthChange, onWidthCommit, resizable, initialFocus, labels, className, children, }: SidePanelProps): import("react").JSX.Element;
|
|
96
|
+
export interface SidePanelFrameProps {
|
|
97
|
+
/** The open panel, if any: a `SidePanel`. */
|
|
98
|
+
panel?: ReactNode;
|
|
99
|
+
/**
|
|
100
|
+
* Where the panel stands, decided by the host from its own arithmetic. Left
|
|
101
|
+
* out, the frame measures itself: a column where there is room for two, a
|
|
102
|
+
* drawer over the content's end below 960px, and the whole frame below
|
|
103
|
+
* 640px (still a region, since nothing told it the content is out of reach).
|
|
104
|
+
*/
|
|
105
|
+
shape?: SidePanelShape | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* The content's floor beside a column, in px: the panel is capped at what
|
|
108
|
+
* leaves the content this wide, so a width dragged in a wide frame never
|
|
109
|
+
* takes a narrower frame's content away.
|
|
110
|
+
*/
|
|
111
|
+
reserve?: number | undefined;
|
|
112
|
+
/** Whether the open panel takes the whole frame. */
|
|
113
|
+
expanded?: boolean | undefined;
|
|
114
|
+
/** The content's own element: the one a caller scrolls, measures or listens on. */
|
|
115
|
+
bodyRef?: Ref<HTMLDivElement> | undefined;
|
|
116
|
+
bodyClassName?: string | undefined;
|
|
117
|
+
/** Names the content's region. */
|
|
118
|
+
bodyLabel?: string | undefined;
|
|
119
|
+
className?: string | undefined;
|
|
120
|
+
children: ReactNode;
|
|
121
|
+
}
|
|
122
|
+
/** A frame's own parts, with a preset's names beside them. */
|
|
123
|
+
export interface SidePanelFrameBaseProps extends SidePanelFrameProps {
|
|
124
|
+
alias?: string | undefined;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* The content and its one open side panel, side by side or one over the
|
|
128
|
+
* other. Not exported from the package; `SidePanelFrame` and
|
|
129
|
+
* `ArtifactWorkspace` are its two names.
|
|
130
|
+
*/
|
|
131
|
+
export declare function SidePanelFrameBase({ alias, panel, shape, reserve, expanded, bodyRef, bodyClassName, bodyLabel, className, children, }: SidePanelFrameBaseProps): import("react").JSX.Element;
|
|
132
|
+
/**
|
|
133
|
+
* The content and its one open side panel: a column beside it, a drawer over
|
|
134
|
+
* its end edge, or a sheet over all of it, as the host decides (`shape`), or
|
|
135
|
+
* as the frame's own width decides where the host leaves it out.
|
|
136
|
+
*/
|
|
137
|
+
export declare function SidePanelFrame(props: SidePanelFrameProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The drawing and the behaviour every side panel shares: `SidePanel`, and
|
|
3
|
+
* `ArtifactPanel`, which is a preset of it.
|
|
4
|
+
*
|
|
5
|
+
* Not exported from the package. It carries the two things only a preset
|
|
6
|
+
* needs: `alias`, the block class a preset has always published (so a
|
|
7
|
+
* consumer's selectors on `crewlet-artifact-panel__body` keep matching), and
|
|
8
|
+
* `expanded`, the artifact's full-workspace view.
|
|
9
|
+
*/
|
|
10
|
+
import { type ReactNode, type RefObject } from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* Where a side panel stands, decided by its host.
|
|
13
|
+
*
|
|
14
|
+
* - `column`: beside the content, which narrows to make room; a complementary
|
|
15
|
+
* region.
|
|
16
|
+
* - `drawer`: over the content's end edge, lifted off it, with no veil and no
|
|
17
|
+
* trap: the content stays live and reachable.
|
|
18
|
+
* - `sheet`: the whole frame, on a phone; a modal dialog, because nothing else
|
|
19
|
+
* is reachable.
|
|
20
|
+
*/
|
|
21
|
+
export type SidePanelShape = 'column' | 'drawer' | 'sheet';
|
|
22
|
+
/** What a `SidePanelFrame` tells the panel inside it. Null where the frame measures (`shape` left out). */
|
|
23
|
+
export declare const SidePanelFrameContext: import("react").Context<{
|
|
24
|
+
shape: SidePanelShape | null;
|
|
25
|
+
} | null>;
|
|
26
|
+
/** Where focus goes when the panel opens. */
|
|
27
|
+
export type SidePanelInitialFocus = 'heading' | 'none' | RefObject<HTMLElement | null>;
|
|
28
|
+
export interface SidePanelBaseProps {
|
|
29
|
+
/** A preset's own block class, added beside every part's class. */
|
|
30
|
+
alias?: string | undefined;
|
|
31
|
+
title: string;
|
|
32
|
+
icon?: ReactNode;
|
|
33
|
+
onClose: () => void;
|
|
34
|
+
closeLabel: string;
|
|
35
|
+
actions?: ReactNode;
|
|
36
|
+
footer?: ReactNode;
|
|
37
|
+
/** Whether the body drops its inset, for content that draws its own. */
|
|
38
|
+
flush?: boolean | undefined;
|
|
39
|
+
initialFocus?: SidePanelInitialFocus | undefined;
|
|
40
|
+
/** Whether the heading draws the focus ring when it holds focus. */
|
|
41
|
+
ringHeading?: boolean | undefined;
|
|
42
|
+
/** Whether the title is drawn, or only names the panel. */
|
|
43
|
+
hideTitle?: boolean | undefined;
|
|
44
|
+
expanded?: boolean | undefined;
|
|
45
|
+
onExpandedChange?: ((expanded: boolean) => void) | undefined;
|
|
46
|
+
expandLabel?: string | undefined;
|
|
47
|
+
collapseLabel?: string | undefined;
|
|
48
|
+
width?: number | undefined;
|
|
49
|
+
minWidth?: number | undefined;
|
|
50
|
+
maxWidth?: number | undefined;
|
|
51
|
+
defaultWidth?: number | undefined;
|
|
52
|
+
onWidthChange?: ((width: number) => void) | undefined;
|
|
53
|
+
onWidthCommit?: ((width: number) => void) | undefined;
|
|
54
|
+
resizable?: boolean | undefined;
|
|
55
|
+
resizeLabel?: string | undefined;
|
|
56
|
+
className?: string | undefined;
|
|
57
|
+
children: ReactNode;
|
|
58
|
+
}
|
|
59
|
+
export declare function SidePanelBase({ alias, title, icon, onClose, closeLabel, actions, footer, flush, initialFocus, ringHeading, hideTitle, expanded, onExpandedChange, expandLabel, collapseLabel, width, minWidth, maxWidth, defaultWidth, onWidthChange, onWidthCommit, resizable, resizeLabel, className, children, }: SidePanelBaseProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import '../HitArea/HitArea.css';
|
|
2
|
+
import '../AppShell/ResizeHandle.css';
|
|
3
|
+
import './SidePanel.css';
|
|
4
|
+
export { SIDE_PANEL_LABELS, SIDE_PANEL_MAX_WIDTH, SIDE_PANEL_MIN_WIDTH, SIDE_PANEL_WIDTH, SidePanel, SidePanelFrame, } from './SidePanel.js';
|
|
5
|
+
export type { SidePanelFrameProps, SidePanelInitialFocus, SidePanelLabels, SidePanelProps, SidePanelShape, } from './SidePanel.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import '../chunk-NVZCANJ5.js';
|
|
2
|
+
export { SIDE_PANEL_LABELS, SIDE_PANEL_MAX_WIDTH, SIDE_PANEL_MIN_WIDTH, SIDE_PANEL_WIDTH, SidePanel, SidePanelFrame } from '../chunk-XODESBSR.js';
|
|
3
|
+
import '../chunk-PQADV6P6.js';
|
|
4
|
+
import '../chunk-PIYJNCN7.js';
|
|
5
|
+
import '../chunk-OMV5W53A.js';
|
|
6
|
+
import '../chunk-2YTOOH3A.js';
|
|
7
|
+
import '../chunk-H5XTJ7GJ.js';
|
|
8
|
+
import '../chunk-2BQYODY3.js';
|
|
9
|
+
import '../chunk-NUZHC6MM.js';
|
|
10
|
+
import '../chunk-BZFWDIV6.js';
|
|
11
|
+
import '../chunk-ODEQTPFM.js';
|