@crewlethq/ui 0.71.0 → 0.72.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.
Files changed (70) hide show
  1. package/README.md +10 -0
  2. package/dist/AgentHandoffPanel/index.js +4 -4
  3. package/dist/ArrangeFrame/index.js +2 -2
  4. package/dist/ArrangeList/index.js +4 -4
  5. package/dist/ArtifactCard/index.js +4 -4
  6. package/dist/BriefCard/BriefCard.d.ts +48 -35
  7. package/dist/BriefCard/index.d.ts +2 -2
  8. package/dist/BriefCard/index.js +1 -1
  9. package/dist/{BriefCard-L66R5U32.css → BriefCard-VKTH3BSW.css} +33 -45
  10. package/dist/Checkbox/index.js +3 -3
  11. package/dist/ColorField/index.js +3 -3
  12. package/dist/Combobox/index.js +3 -3
  13. package/dist/CommandPalette/index.js +3 -3
  14. package/dist/CommentThread/index.js +4 -4
  15. package/dist/Composer/index.js +3 -3
  16. package/dist/ConfirmField/index.js +3 -3
  17. package/dist/DataGrid/index.js +4 -4
  18. package/dist/DataTable/index.js +4 -4
  19. package/dist/DataView/index.js +5 -5
  20. package/dist/DocTabsEditor/index.js +3 -3
  21. package/dist/{Editor-NNQEALNT.js → Editor-6PBP444G.js} +2 -2
  22. package/dist/Input/index.js +2 -2
  23. package/dist/ListInput/index.js +3 -3
  24. package/dist/PresenterView/index.js +2 -2
  25. package/dist/PrincipalPicker/index.js +4 -4
  26. package/dist/ProposalCard/index.js +4 -4
  27. package/dist/RichEditor/index.js +1 -1
  28. package/dist/SelectionBar/index.js +2 -2
  29. package/dist/SheetColumnEditor/index.js +4 -4
  30. package/dist/SheetGrid/index.js +1 -1
  31. package/dist/SlideFilmstrip/index.js +1 -1
  32. package/dist/Switcher/index.js +3 -3
  33. package/dist/TagsInput/index.js +2 -2
  34. package/dist/TimeRangePicker/index.js +3 -3
  35. package/dist/TimeWindowPicker/index.js +3 -3
  36. package/dist/ValueField/index.js +4 -4
  37. package/dist/{chunk-3EETQFAM.js → chunk-4HCYBQ6B.js} +1 -1
  38. package/dist/chunk-4KSCGXLJ.js +106 -0
  39. package/dist/{chunk-H32JW6CZ.js → chunk-52D5EFHL.js} +2 -2
  40. package/dist/{chunk-J5WWMC35.js → chunk-AMYU5W2H.js} +2 -2
  41. package/dist/{chunk-KAA3GFTP.js → chunk-AWQQ5I34.js} +2 -2
  42. package/dist/{chunk-3LP3VPLT.js → chunk-BW6MQO2B.js} +1 -1
  43. package/dist/{chunk-6C6YK75K.js → chunk-EKZFB34W.js} +1 -1
  44. package/dist/{chunk-LQWORB5B.js → chunk-F5QBQP63.js} +2 -2
  45. package/dist/{chunk-PBCNINMB.js → chunk-FFWMTIMH.js} +1 -1
  46. package/dist/{chunk-YGWIWDXE.js → chunk-FX7FDPCM.js} +1 -1
  47. package/dist/{chunk-4MVLED6E.js → chunk-H6S6NRZL.js} +1 -1
  48. package/dist/{chunk-BWFJB5JD.js → chunk-HGWHIUZ5.js} +1 -1
  49. package/dist/{chunk-ADSOY7UM.js → chunk-I7YQNRTQ.js} +1 -1
  50. package/dist/{chunk-MFQPGMJT.js → chunk-IXPC5D36.js} +1 -1
  51. package/dist/{chunk-7LSSYHOT.js → chunk-J7INWERB.js} +1 -1
  52. package/dist/{chunk-FURJVZCT.js → chunk-LEM3ZY35.js} +1 -1
  53. package/dist/{chunk-JVII5264.js → chunk-LQXYAB2Q.js} +1 -1
  54. package/dist/{chunk-5OFRDX66.js → chunk-NATDVYEY.js} +1 -1
  55. package/dist/{chunk-W5AXJWOW.js → chunk-O4NQVNO5.js} +1 -1
  56. package/dist/{chunk-ZUBFVK6B.js → chunk-OFARYSWS.js} +1 -1
  57. package/dist/{chunk-3EY5SEGH.js → chunk-OSMR6TSC.js} +1 -1
  58. package/dist/{chunk-NXNLAZPK.js → chunk-SPWBT7FE.js} +1 -1
  59. package/dist/{chunk-BWAUL5MB.js → chunk-YAL6VBRK.js} +2 -2
  60. package/dist/{chunk-TWJERLT3.js → chunk-YZSG3JIY.js} +1 -1
  61. package/dist/generated/index.js +45 -45
  62. package/dist/index.js +45 -45
  63. package/dist/styles.css +34 -46
  64. package/package.json +3 -3
  65. package/dist/chunk-VBA5FSWV.js +0 -87
  66. package/dist/{chunk-HEIOLITO.js → chunk-5VMAJAVF.js} +1 -1
  67. package/dist/{chunk-PLNJEDGI.js → chunk-I4IO56EY.js} +1 -1
  68. package/dist/{chunk-V6X3DJ2G.js → chunk-PRN5IP2R.js} +1 -1
  69. package/dist/{chunk-L4HHWG4V.js → chunk-V2EV56MY.js} +1 -1
  70. package/dist/{chunk-ETSF7SU6.js → chunk-ZMML6NRS.js} +1 -1
@@ -1,15 +1,15 @@
1
- export { ListInput, withDraft } from '../chunk-H32JW6CZ.js';
1
+ export { ListInput, withDraft } from '../chunk-52D5EFHL.js';
2
2
  import '../chunk-MPVMB2DV.js';
3
3
  import '../chunk-ANTAQAR4.js';
4
- import '../chunk-ETSF7SU6.js';
4
+ import '../chunk-ZMML6NRS.js';
5
5
  import '../chunk-PGCLHYVP.js';
6
6
  import '../chunk-PQADV6P6.js';
7
- import '../chunk-2G355KDJ.js';
8
7
  import '../chunk-DGXZ635L.js';
9
8
  import '../chunk-OMV5W53A.js';
10
9
  import '../chunk-XSPCITPN.js';
11
10
  import '../chunk-H5XTJ7GJ.js';
12
11
  import '../chunk-UAUP6XGK.js';
13
12
  import '../chunk-NUZHC6MM.js';
13
+ import '../chunk-2G355KDJ.js';
14
14
  import '../chunk-UT6CW3C7.js';
15
15
  import '../chunk-ODEQTPFM.js';
@@ -1,6 +1,6 @@
1
- export { PresenterView, formatStopwatch } from '../chunk-V6X3DJ2G.js';
2
- import '../chunk-RMEBFYL7.js';
1
+ export { PresenterView, formatStopwatch } from '../chunk-PRN5IP2R.js';
3
2
  import '../chunk-5AJR6X75.js';
3
+ import '../chunk-RMEBFYL7.js';
4
4
  import '../chunk-RK4XPHVG.js';
5
5
  import '../chunk-DGXZ635L.js';
6
6
  import '../chunk-OMV5W53A.js';
@@ -1,16 +1,16 @@
1
- export { PrincipalPicker } from '../chunk-MFQPGMJT.js';
2
- import '../chunk-ZUBFVK6B.js';
1
+ export { PrincipalPicker } from '../chunk-IXPC5D36.js';
2
+ import '../chunk-OFARYSWS.js';
3
3
  import '../chunk-7KHM2FZH.js';
4
4
  import '../chunk-CI3VPIJN.js';
5
5
  import '../chunk-BKP6XCAJ.js';
6
6
  import '../chunk-PZKHBB7D.js';
7
- import '../chunk-ETSF7SU6.js';
7
+ import '../chunk-ZMML6NRS.js';
8
8
  import '../chunk-PGCLHYVP.js';
9
9
  import '../chunk-PQADV6P6.js';
10
- import '../chunk-2G355KDJ.js';
11
10
  import '../chunk-2YTOOH3A.js';
12
11
  import '../chunk-H5XTJ7GJ.js';
13
12
  import '../chunk-UAUP6XGK.js';
14
13
  import '../chunk-NUZHC6MM.js';
14
+ import '../chunk-2G355KDJ.js';
15
15
  import '../chunk-UT6CW3C7.js';
16
16
  import '../chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from '../chunk-3EY5SEGH.js';
1
+ export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from '../chunk-OSMR6TSC.js';
2
2
  import '../chunk-ZWCK4N4L.js';
3
3
  import '../chunk-WQRSZMN4.js';
4
4
  import '../chunk-LR4IWUWQ.js';
@@ -7,18 +7,18 @@ import '../chunk-I5OIKDX2.js';
7
7
  import '../chunk-WIATRXEJ.js';
8
8
  import '../chunk-4AUTALJA.js';
9
9
  import '../chunk-AV2DXAEL.js';
10
- import '../chunk-PBCNINMB.js';
10
+ import '../chunk-FFWMTIMH.js';
11
11
  import '../chunk-222VILSP.js';
12
- import '../chunk-ETSF7SU6.js';
12
+ import '../chunk-ZMML6NRS.js';
13
13
  import '../chunk-PGCLHYVP.js';
14
14
  import '../chunk-IVTQWOXV.js';
15
15
  import '../chunk-MLDTLZAO.js';
16
16
  import '../chunk-PQADV6P6.js';
17
- import '../chunk-2G355KDJ.js';
18
17
  import '../chunk-DGXZ635L.js';
19
18
  import '../chunk-XSPCITPN.js';
20
19
  import '../chunk-H5XTJ7GJ.js';
21
20
  import '../chunk-UAUP6XGK.js';
22
21
  import '../chunk-NUZHC6MM.js';
22
+ import '../chunk-2G355KDJ.js';
23
23
  import '../chunk-UT6CW3C7.js';
24
24
  import '../chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- export { RichEditor, preloadRichEditor } from '../chunk-3LP3VPLT.js';
1
+ export { RichEditor, preloadRichEditor } from '../chunk-BW6MQO2B.js';
2
2
  export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-CSQTDGTS.js';
3
3
  import '../chunk-BAKPMH3S.js';
4
4
  import '../chunk-BPCY7ZID.js';
@@ -1,10 +1,10 @@
1
- export { SelectionBar } from '../chunk-L4HHWG4V.js';
1
+ export { SelectionBar } from '../chunk-V2EV56MY.js';
2
2
  import '../chunk-NR4CPM4T.js';
3
- import '../chunk-2G355KDJ.js';
4
3
  import '../chunk-DGXZ635L.js';
5
4
  import '../chunk-OMV5W53A.js';
6
5
  import '../chunk-XSPCITPN.js';
7
6
  import '../chunk-H5XTJ7GJ.js';
8
7
  import '../chunk-NUZHC6MM.js';
8
+ import '../chunk-2G355KDJ.js';
9
9
  import '../chunk-UT6CW3C7.js';
10
10
  import '../chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-KAA3GFTP.js';
1
+ export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-AWQQ5I34.js';
2
2
  import '../chunk-VK45YJLH.js';
3
3
  import '../chunk-FFMCMSJB.js';
4
4
  import '../chunk-7KHM2FZH.js';
@@ -10,13 +10,12 @@ import '../chunk-TYIHFDMP.js';
10
10
  import '../chunk-IPUEVTRJ.js';
11
11
  import '../chunk-EGMQURBR.js';
12
12
  import '../chunk-WIATRXEJ.js';
13
- import '../chunk-PBCNINMB.js';
13
+ import '../chunk-FFWMTIMH.js';
14
14
  import '../chunk-ANTAQAR4.js';
15
- import '../chunk-ETSF7SU6.js';
15
+ import '../chunk-ZMML6NRS.js';
16
16
  import '../chunk-PGCLHYVP.js';
17
17
  import '../chunk-MLDTLZAO.js';
18
18
  import '../chunk-PQADV6P6.js';
19
- import '../chunk-2G355KDJ.js';
20
19
  import '../chunk-OQG4P5KU.js';
21
20
  import '../chunk-DGXZ635L.js';
22
21
  import '../chunk-OMV5W53A.js';
@@ -25,5 +24,6 @@ import '../chunk-XSPCITPN.js';
25
24
  import '../chunk-H5XTJ7GJ.js';
26
25
  import '../chunk-UAUP6XGK.js';
27
26
  import '../chunk-NUZHC6MM.js';
27
+ import '../chunk-2G355KDJ.js';
28
28
  import '../chunk-UT6CW3C7.js';
29
29
  import '../chunk-ODEQTPFM.js';
@@ -13,7 +13,6 @@ import '../chunk-I33UIUZD.js';
13
13
  import '../chunk-WIATRXEJ.js';
14
14
  import '../chunk-BKP6XCAJ.js';
15
15
  import '../chunk-PZKHBB7D.js';
16
- import '../chunk-2G355KDJ.js';
17
16
  import '../chunk-OQG4P5KU.js';
18
17
  import '../chunk-DGXZ635L.js';
19
18
  import '../chunk-OMV5W53A.js';
@@ -21,5 +20,6 @@ import '../chunk-XSPCITPN.js';
21
20
  import '../chunk-H5XTJ7GJ.js';
22
21
  import '../chunk-UAUP6XGK.js';
23
22
  import '../chunk-NUZHC6MM.js';
23
+ import '../chunk-2G355KDJ.js';
24
24
  import '../chunk-UT6CW3C7.js';
25
25
  import '../chunk-ODEQTPFM.js';
@@ -2,7 +2,6 @@ export { SlideFilmstrip } from '../chunk-TPCBPGSB.js';
2
2
  import '../chunk-RMEBFYL7.js';
3
3
  import '../chunk-MPVMB2DV.js';
4
4
  import '../chunk-ANTAQAR4.js';
5
- import '../chunk-2G355KDJ.js';
6
5
  import '../chunk-OQG4P5KU.js';
7
6
  import '../chunk-DGXZ635L.js';
8
7
  import '../chunk-OMV5W53A.js';
@@ -10,5 +9,6 @@ import '../chunk-XSPCITPN.js';
10
9
  import '../chunk-H5XTJ7GJ.js';
11
10
  import '../chunk-UAUP6XGK.js';
12
11
  import '../chunk-NUZHC6MM.js';
12
+ import '../chunk-2G355KDJ.js';
13
13
  import '../chunk-UT6CW3C7.js';
14
14
  import '../chunk-ODEQTPFM.js';
@@ -1,13 +1,12 @@
1
- export { Switcher } from '../chunk-LQWORB5B.js';
1
+ export { Switcher } from '../chunk-F5QBQP63.js';
2
2
  import '../chunk-C667GCU7.js';
3
3
  import '../chunk-7KHM2FZH.js';
4
4
  import '../chunk-KHJIEPZV.js';
5
5
  import '../chunk-HBDA76EZ.js';
6
6
  import '../chunk-BRLZXYPA.js';
7
- import '../chunk-ETSF7SU6.js';
7
+ import '../chunk-ZMML6NRS.js';
8
8
  import '../chunk-PGCLHYVP.js';
9
9
  import '../chunk-PQADV6P6.js';
10
- import '../chunk-2G355KDJ.js';
11
10
  import '../chunk-RTPQDNW3.js';
12
11
  import '../chunk-DGXZ635L.js';
13
12
  import '../chunk-OMV5W53A.js';
@@ -15,5 +14,6 @@ import '../chunk-XSPCITPN.js';
15
14
  import '../chunk-H5XTJ7GJ.js';
16
15
  import '../chunk-UAUP6XGK.js';
17
16
  import '../chunk-NUZHC6MM.js';
17
+ import '../chunk-2G355KDJ.js';
18
18
  import '../chunk-UT6CW3C7.js';
19
19
  import '../chunk-ODEQTPFM.js';
@@ -1,11 +1,11 @@
1
- export { TagsInput } from '../chunk-HEIOLITO.js';
1
+ export { TagsInput } from '../chunk-5VMAJAVF.js';
2
2
  import '../chunk-7KHM2FZH.js';
3
3
  import '../chunk-I5OIKDX2.js';
4
4
  import '../chunk-WIATRXEJ.js';
5
- import '../chunk-2G355KDJ.js';
6
5
  import '../chunk-OMV5W53A.js';
7
6
  import '../chunk-H5XTJ7GJ.js';
8
7
  import '../chunk-UAUP6XGK.js';
9
8
  import '../chunk-NUZHC6MM.js';
9
+ import '../chunk-2G355KDJ.js';
10
10
  import '../chunk-UT6CW3C7.js';
11
11
  import '../chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-4MVLED6E.js';
1
+ export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-H6S6NRZL.js';
2
2
  import '../chunk-C667GCU7.js';
3
3
  import '../chunk-BPCY7ZID.js';
4
4
  import '../chunk-25AZQ3GZ.js';
@@ -6,11 +6,10 @@ import '../chunk-TYIHFDMP.js';
6
6
  import '../chunk-IPUEVTRJ.js';
7
7
  import '../chunk-EGMQURBR.js';
8
8
  import '../chunk-WIATRXEJ.js';
9
- import '../chunk-ETSF7SU6.js';
9
+ import '../chunk-ZMML6NRS.js';
10
10
  import '../chunk-PGCLHYVP.js';
11
11
  import '../chunk-MLDTLZAO.js';
12
12
  import '../chunk-PQADV6P6.js';
13
- import '../chunk-2G355KDJ.js';
14
13
  import '../chunk-OQG4P5KU.js';
15
14
  import '../chunk-DGXZ635L.js';
16
15
  import '../chunk-OMV5W53A.js';
@@ -19,5 +18,6 @@ import '../chunk-XSPCITPN.js';
19
18
  import '../chunk-H5XTJ7GJ.js';
20
19
  import '../chunk-UAUP6XGK.js';
21
20
  import '../chunk-NUZHC6MM.js';
21
+ import '../chunk-2G355KDJ.js';
22
22
  import '../chunk-UT6CW3C7.js';
23
23
  import '../chunk-ODEQTPFM.js';
@@ -1,12 +1,11 @@
1
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-ADSOY7UM.js';
1
+ export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-I7YQNRTQ.js';
2
2
  import '../chunk-VK45YJLH.js';
3
3
  import '../chunk-7KHM2FZH.js';
4
4
  import '../chunk-EE3DJMSQ.js';
5
5
  import '../chunk-KHJIEPZV.js';
6
- import '../chunk-ETSF7SU6.js';
6
+ import '../chunk-ZMML6NRS.js';
7
7
  import '../chunk-PGCLHYVP.js';
8
8
  import '../chunk-PQADV6P6.js';
9
- import '../chunk-2G355KDJ.js';
10
9
  import '../chunk-DGXZ635L.js';
11
10
  import '../chunk-OMV5W53A.js';
12
11
  import '../chunk-2YTOOH3A.js';
@@ -14,5 +13,6 @@ import '../chunk-XSPCITPN.js';
14
13
  import '../chunk-H5XTJ7GJ.js';
15
14
  import '../chunk-UAUP6XGK.js';
16
15
  import '../chunk-NUZHC6MM.js';
16
+ import '../chunk-2G355KDJ.js';
17
17
  import '../chunk-UT6CW3C7.js';
18
18
  import '../chunk-ODEQTPFM.js';
@@ -1,15 +1,15 @@
1
- export { REFERENCE_NAME_PATTERN, ValueField, completeReference, isWholeReference, rankReferences, referenceAt, urlSchemeOf } from '../chunk-BWAUL5MB.js';
1
+ export { REFERENCE_NAME_PATTERN, ValueField, completeReference, isWholeReference, rankReferences, referenceAt, urlSchemeOf } from '../chunk-YAL6VBRK.js';
2
2
  import '../chunk-VK45YJLH.js';
3
- import '../chunk-ZUBFVK6B.js';
3
+ import '../chunk-OFARYSWS.js';
4
4
  import '../chunk-7KHM2FZH.js';
5
- import '../chunk-ETSF7SU6.js';
5
+ import '../chunk-ZMML6NRS.js';
6
6
  import '../chunk-PGCLHYVP.js';
7
7
  import '../chunk-PQADV6P6.js';
8
- import '../chunk-2G355KDJ.js';
9
8
  import '../chunk-OMV5W53A.js';
10
9
  import '../chunk-2YTOOH3A.js';
11
10
  import '../chunk-H5XTJ7GJ.js';
12
11
  import '../chunk-UAUP6XGK.js';
13
12
  import '../chunk-NUZHC6MM.js';
13
+ import '../chunk-2G355KDJ.js';
14
14
  import '../chunk-UT6CW3C7.js';
15
15
  import '../chunk-ODEQTPFM.js';
@@ -4,7 +4,7 @@ import { RelativeTime } from './chunk-EJNJMHQG.js';
4
4
  import { Card } from './chunk-4AUTALJA.js';
5
5
  import { AvatarStack } from './chunk-BKP6XCAJ.js';
6
6
  import { ArtifactKindGround } from './chunk-NHLNHH4J.js';
7
- import { Checkbox } from './chunk-PBCNINMB.js';
7
+ import { Checkbox } from './chunk-FFWMTIMH.js';
8
8
  import { ArtifactAccessGlyph } from './chunk-DOY3KC6I.js';
9
9
  import { ArtifactKindGlyph } from './chunk-RSKW25Y5.js';
10
10
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
@@ -0,0 +1,106 @@
1
+ import { SuggestionList, SuggestionRow } from './chunk-Y7PVLEZJ.js';
2
+ import { StatusCard } from './chunk-NTQPJJAN.js';
3
+ import { StatusDot } from './chunk-WIATRXEJ.js';
4
+ import { Button } from './chunk-DGXZ635L.js';
5
+ import { cx } from './chunk-ODEQTPFM.js';
6
+ import './BriefCard-VKTH3BSW.css';
7
+ import { useEffect } from 'react';
8
+ import { MessageCircleQuestionMarkGlyph, CircleCheckGlyph } from '@crewlethq/icons/glyphs';
9
+ import { jsx, jsxs } from 'react/jsx-runtime';
10
+
11
+ var BRIEF_CARD_MAX_NEEDS = 3;
12
+ var BRIEF_CARD_MAX_FOLLOW_UPS = 2;
13
+ var BRIEF_CARD_LABELS = {
14
+ heading: "Brief",
15
+ needs: "Needs you",
16
+ first: "Do first",
17
+ followUps: "Ask next",
18
+ count: (n) => n === 1 ? "1 thing needs you" : `${n} things need you`,
19
+ allClear: "Nothing needs you"
20
+ };
21
+ function BriefCard({
22
+ scope,
23
+ asOf,
24
+ about,
25
+ needs,
26
+ context,
27
+ followUps,
28
+ labels: overrides,
29
+ className,
30
+ ...rest
31
+ }) {
32
+ const labels = overrides ? { ...BRIEF_CARD_LABELS, ...overrides } : BRIEF_CARD_LABELS;
33
+ const handedNeeds = needs.length;
34
+ const handedFollowUps = followUps?.length ?? 0;
35
+ useEffect(() => {
36
+ if (!developing()) return;
37
+ if (handedNeeds > BRIEF_CARD_MAX_NEEDS) {
38
+ console.warn(
39
+ `[crewlet] BriefCard was handed ${handedNeeds} needs and draws the first ${BRIEF_CARD_MAX_NEEDS}: rank and cap them before passing them.`
40
+ );
41
+ }
42
+ if (handedFollowUps > BRIEF_CARD_MAX_FOLLOW_UPS) {
43
+ console.warn(
44
+ `[crewlet] BriefCard was handed ${handedFollowUps} follow-ups and draws the first ${BRIEF_CARD_MAX_FOLLOW_UPS}.`
45
+ );
46
+ }
47
+ }, [handedNeeds, handedFollowUps]);
48
+ const rows = needs.slice(0, BRIEF_CARD_MAX_NEEDS);
49
+ const asks = followUps ? followUps.slice(0, BRIEF_CARD_MAX_FOLLOW_UPS) : [];
50
+ const ranked = rows.length > 1;
51
+ const hasScope = !(scope === void 0 || scope === null || scope === "");
52
+ const hasAsOf = !(asOf === void 0 || asOf === null || asOf === "");
53
+ const hasContext = !(context === void 0 || context === null || context === "");
54
+ const subtitle = hasScope || hasAsOf ? /* @__PURE__ */ jsxs("span", { className: "crewlet-brief-card__where", children: [
55
+ hasScope ? /* @__PURE__ */ jsx("span", { children: scope }) : null,
56
+ hasScope && hasAsOf ? /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "\xB7" }) : null,
57
+ hasAsOf ? /* @__PURE__ */ jsx("span", { className: "crewlet-brief-card__asof", children: asOf }) : null
58
+ ] }) : void 0;
59
+ return /* @__PURE__ */ jsx(
60
+ StatusCard,
61
+ {
62
+ ...rest,
63
+ title: labels.heading,
64
+ subtitle,
65
+ status: rows.length > 0 ? {
66
+ label: labels.count(rows.length),
67
+ tone: rows.some((need) => need.tone === "danger") ? "danger" : "warning"
68
+ } : { label: labels.allClear, tone: "success", icon: /* @__PURE__ */ jsx(CircleCheckGlyph, { size: "xs" }) },
69
+ className: cx("crewlet-brief-card", className),
70
+ children: /* @__PURE__ */ jsxs("div", { className: "crewlet-brief-card__body", children: [
71
+ /* @__PURE__ */ jsx("p", { className: "crewlet-brief-card__about", children: about }),
72
+ rows.length === 0 ? null : (
73
+ // A list the reader moves through by item; Safari drops the role of a list styled without markers.
74
+ // eslint-disable-next-line jsx-a11y/no-redundant-roles
75
+ /* @__PURE__ */ jsx("ol", { role: "list", "aria-label": labels.needs, className: "crewlet-brief-card__needs", children: rows.map((need, i) => /* @__PURE__ */ jsxs(
76
+ "li",
77
+ {
78
+ className: cx("crewlet-brief-card__need", i === 0 && ranked && "crewlet-brief-card__need--first"),
79
+ children: [
80
+ /* @__PURE__ */ jsx("span", { className: "crewlet-brief-card__dot", children: /* @__PURE__ */ jsx(StatusDot, { tone: need.tone ?? "warning" }) }),
81
+ /* @__PURE__ */ jsxs("span", { className: "crewlet-brief-card__words", children: [
82
+ i === 0 && ranked ? /* @__PURE__ */ jsx("span", { className: "crewlet-brief-card__first", children: labels.first }) : null,
83
+ /* @__PURE__ */ jsx("span", { children: need.text }),
84
+ need.detail === void 0 || need.detail === null ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-brief-card__detail", children: need.detail })
85
+ ] }),
86
+ need.action ? /* @__PURE__ */ jsx(Button, { size: "small", variant: i === 0 ? "primary" : "secondary", onClick: need.action.onSelect, children: need.action.label }) : null
87
+ ]
88
+ },
89
+ need.key
90
+ )) })
91
+ ),
92
+ hasContext ? /* @__PURE__ */ jsx("p", { className: "crewlet-brief-card__context", children: context }) : null,
93
+ asks.length > 0 ? /* @__PURE__ */ jsx(SuggestionList, { "aria-label": labels.followUps, className: "crewlet-brief-card__follow-ups", children: asks.map((f) => /* @__PURE__ */ jsx(SuggestionRow, { icon: /* @__PURE__ */ jsx(MessageCircleQuestionMarkGlyph, { size: "sm" }), onSelect: f.onSelect, children: f.question }, f.key)) }) : null
94
+ ] })
95
+ }
96
+ );
97
+ }
98
+ function developing() {
99
+ try {
100
+ return process.env.NODE_ENV !== "production";
101
+ } catch {
102
+ return false;
103
+ }
104
+ }
105
+
106
+ export { BRIEF_CARD_LABELS, BRIEF_CARD_MAX_FOLLOW_UPS, BRIEF_CARD_MAX_NEEDS, BriefCard };
@@ -1,11 +1,11 @@
1
1
  import { useReorder } from './chunk-MPVMB2DV.js';
2
2
  import { Kbd } from './chunk-ANTAQAR4.js';
3
- import { FormField, Textarea } from './chunk-ETSF7SU6.js';
3
+ import { FormField, Textarea } from './chunk-ZMML6NRS.js';
4
4
  import { characterCountState, CharacterCount, countCharacters } from './chunk-PGCLHYVP.js';
5
- import { announce } from './chunk-2G355KDJ.js';
6
5
  import { Button } from './chunk-DGXZ635L.js';
7
6
  import { isComposing } from './chunk-H5XTJ7GJ.js';
8
7
  import { IconButton } from './chunk-UAUP6XGK.js';
8
+ import { announce } from './chunk-2G355KDJ.js';
9
9
  import { cx } from './chunk-ODEQTPFM.js';
10
10
  import './ListInput-4ISMGZDQ.css';
11
11
  import { forwardRef, useState, useRef, useImperativeHandle, useLayoutEffect, useId } from 'react';
@@ -1,13 +1,13 @@
1
1
  import { PageHeader } from './chunk-FPDIHEM4.js';
2
2
  import { FilterPill } from './chunk-K4LZXSKZ.js';
3
- import { DataTable } from './chunk-BWFJB5JD.js';
3
+ import { DataTable } from './chunk-HGWHIUZ5.js';
4
4
  import { DateTimePicker } from './chunk-HPI5J6AR.js';
5
5
  import { useListbox, useOptionKeys } from './chunk-7KHM2FZH.js';
6
6
  import { Toolbar } from './chunk-NR4CPM4T.js';
7
7
  import { Popover } from './chunk-KHJIEPZV.js';
8
8
  import { RelativeTime } from './chunk-EJNJMHQG.js';
9
9
  import { Kbd } from './chunk-ANTAQAR4.js';
10
- import { Input } from './chunk-ETSF7SU6.js';
10
+ import { Input } from './chunk-ZMML6NRS.js';
11
11
  import { Count } from './chunk-MLDTLZAO.js';
12
12
  import { Menu } from './chunk-OQG4P5KU.js';
13
13
  import { Button } from './chunk-DGXZ635L.js';
@@ -2,9 +2,9 @@ import { Select } from './chunk-VK45YJLH.js';
2
2
  import { SHEET_LABELS, SHEET_COLUMN_TYPES, optionHue, retypeColumn } from './chunk-LFSIKGRQ.js';
3
3
  import { HueSwatch } from './chunk-AQIFKLXY.js';
4
4
  import { NODE_HUES, NODE_HUE_NAMES } from './chunk-AYKXMIOR.js';
5
- import { Checkbox } from './chunk-PBCNINMB.js';
5
+ import { Checkbox } from './chunk-FFWMTIMH.js';
6
6
  import { Kbd } from './chunk-ANTAQAR4.js';
7
- import { FormField, Input } from './chunk-ETSF7SU6.js';
7
+ import { FormField, Input } from './chunk-ZMML6NRS.js';
8
8
  import { Menu } from './chunk-OQG4P5KU.js';
9
9
  import { Button } from './chunk-DGXZ635L.js';
10
10
  import { IconButton } from './chunk-UAUP6XGK.js';
@@ -9,7 +9,7 @@ import { jsx } from 'react/jsx-runtime';
9
9
  var engine = null;
10
10
  var loading = null;
11
11
  function loadEngine() {
12
- loading ??= import('./Editor-NNQEALNT.js').then(
12
+ loading ??= import('./Editor-6PBP444G.js').then(
13
13
  (module) => {
14
14
  engine = module.Editor;
15
15
  return engine;
@@ -1,6 +1,6 @@
1
1
  import { Timeline } from './chunk-4MJN2KN6.js';
2
2
  import { Section } from './chunk-WFCWPXJN.js';
3
- import { Composer } from './chunk-5OFRDX66.js';
3
+ import { Composer } from './chunk-NATDVYEY.js';
4
4
  import { Disclosure } from './chunk-222VILSP.js';
5
5
  import { ArtifactPanel } from './chunk-FFGEJUAP.js';
6
6
  import { Button } from './chunk-DGXZ635L.js';
@@ -3,11 +3,11 @@ import { useListbox, useOptionKeys } from './chunk-7KHM2FZH.js';
3
3
  import { Popover } from './chunk-KHJIEPZV.js';
4
4
  import { KeyChip, highlightMatch } from './chunk-HBDA76EZ.js';
5
5
  import { Skeleton } from './chunk-BRLZXYPA.js';
6
- import { Input } from './chunk-ETSF7SU6.js';
7
- import { announce } from './chunk-2G355KDJ.js';
6
+ import { Input } from './chunk-ZMML6NRS.js';
8
7
  import { useMediaMatch } from './chunk-RTPQDNW3.js';
9
8
  import { focusables, isComposing } from './chunk-H5XTJ7GJ.js';
10
9
  import { returnFocus } from './chunk-NUZHC6MM.js';
10
+ import { announce } from './chunk-2G355KDJ.js';
11
11
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
12
12
  import { cx } from './chunk-ODEQTPFM.js';
13
13
  import './Switcher-VWQMZUTN.css';
@@ -1,4 +1,4 @@
1
- import { FormField } from './chunk-ETSF7SU6.js';
1
+ import { FormField } from './chunk-ZMML6NRS.js';
2
2
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './Checkbox-GAMV2XD7.css';
@@ -1,7 +1,7 @@
1
1
  import { PrincipalAvatar } from './chunk-CI3VPIJN.js';
2
2
  import { toInstant, RelativeTime, formatExact, toISO } from './chunk-EJNJMHQG.js';
3
3
  import { Document } from './chunk-BXCL6P5Z.js';
4
- import { Composer } from './chunk-5OFRDX66.js';
4
+ import { Composer } from './chunk-NATDVYEY.js';
5
5
  import { Count } from './chunk-MLDTLZAO.js';
6
6
  import { useHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
7
7
  import { Button } from './chunk-DGXZ635L.js';
@@ -1,7 +1,7 @@
1
1
  import { Modal } from './chunk-C667GCU7.js';
2
2
  import { Callout } from './chunk-BPCY7ZID.js';
3
3
  import { SegmentedControl } from './chunk-TYIHFDMP.js';
4
- import { FormField, Input } from './chunk-ETSF7SU6.js';
4
+ import { FormField, Input } from './chunk-ZMML6NRS.js';
5
5
  import { Button } from './chunk-DGXZ635L.js';
6
6
  import { useState } from 'react';
7
7
  import { ClockGlyph } from '@crewlethq/icons/glyphs';
@@ -2,7 +2,7 @@ import { Modal } from './chunk-C667GCU7.js';
2
2
  import { useClipboard } from './chunk-STJ7QBC3.js';
3
3
  import { EmptyValue } from './chunk-RE3FBGQQ.js';
4
4
  import { useCardHeaderSlot } from './chunk-AV2DXAEL.js';
5
- import { Checkbox } from './chunk-PBCNINMB.js';
5
+ import { Checkbox } from './chunk-FFWMTIMH.js';
6
6
  import { Menu } from './chunk-OQG4P5KU.js';
7
7
  import { Button } from './chunk-DGXZ635L.js';
8
8
  import { IconButton } from './chunk-UAUP6XGK.js';
@@ -1,7 +1,7 @@
1
1
  import { Select } from './chunk-VK45YJLH.js';
2
2
  import { today, shiftMonth, CalendarGrid, compareDays } from './chunk-EE3DJMSQ.js';
3
3
  import { Popover } from './chunk-KHJIEPZV.js';
4
- import { Input } from './chunk-ETSF7SU6.js';
4
+ import { Input } from './chunk-ZMML6NRS.js';
5
5
  import { Button } from './chunk-DGXZ635L.js';
6
6
  import { isComposing } from './chunk-H5XTJ7GJ.js';
7
7
  import { IconButton } from './chunk-UAUP6XGK.js';
@@ -1,4 +1,4 @@
1
- import { Combobox } from './chunk-ZUBFVK6B.js';
1
+ import { Combobox } from './chunk-OFARYSWS.js';
2
2
  import { PRINCIPAL_KINDS, PrincipalAvatar } from './chunk-CI3VPIJN.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './PrincipalPicker-P6UYHDJR.css';
@@ -1,5 +1,5 @@
1
1
  import { normalizeHex, parseColourInput } from './chunk-7W3LYIOC.js';
2
- import { FormField, Input, InputAffix } from './chunk-ETSF7SU6.js';
2
+ import { FormField, Input, InputAffix } from './chunk-ZMML6NRS.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './ColorField-2OIOWT3Z.css';
5
5
  import { useId, useState } from 'react';
@@ -1,4 +1,4 @@
1
- import { Checkbox } from './chunk-PBCNINMB.js';
1
+ import { Checkbox } from './chunk-FFWMTIMH.js';
2
2
  import { EmptyState } from './chunk-PPUR46MK.js';
3
3
  import { useMediaMatch } from './chunk-RTPQDNW3.js';
4
4
  import { Button } from './chunk-DGXZ635L.js';
@@ -1,5 +1,5 @@
1
1
  import { InlineCode } from './chunk-PLL7ZJHY.js';
2
- import { FormField, Input } from './chunk-ETSF7SU6.js';
2
+ import { FormField, Input } from './chunk-ZMML6NRS.js';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
 
5
5
  function confirmMatches(typed, phrase) {
@@ -1,5 +1,5 @@
1
1
  import { Kbd } from './chunk-ANTAQAR4.js';
2
- import { Textarea } from './chunk-ETSF7SU6.js';
2
+ import { Textarea } from './chunk-ZMML6NRS.js';
3
3
  import { isComposing } from './chunk-H5XTJ7GJ.js';
4
4
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,5 +1,5 @@
1
1
  import { useReorder } from './chunk-MPVMB2DV.js';
2
- import { Input } from './chunk-ETSF7SU6.js';
2
+ import { Input } from './chunk-ZMML6NRS.js';
3
3
  import { Menu } from './chunk-OQG4P5KU.js';
4
4
  import { IconButton } from './chunk-UAUP6XGK.js';
5
5
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
@@ -1,5 +1,5 @@
1
1
  import { useListbox, useOptionKeys } from './chunk-7KHM2FZH.js';
2
- import { Input } from './chunk-ETSF7SU6.js';
2
+ import { Input } from './chunk-ZMML6NRS.js';
3
3
  import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
5
5
  import './HitArea-QUOS6ZDJ.css';
@@ -1,7 +1,7 @@
1
1
  import { RefusalStrip, ReceiptStrip } from './chunk-ZWCK4N4L.js';
2
2
  import { ChangeList } from './chunk-WQRSZMN4.js';
3
3
  import { StatusCard } from './chunk-NTQPJJAN.js';
4
- import { Checkbox } from './chunk-PBCNINMB.js';
4
+ import { Checkbox } from './chunk-FFWMTIMH.js';
5
5
  import { Disclosure } from './chunk-222VILSP.js';
6
6
  import { Button } from './chunk-DGXZ635L.js';
7
7
  import { Spinner } from './chunk-XSPCITPN.js';
@@ -1,7 +1,7 @@
1
1
  import { Modal } from './chunk-C667GCU7.js';
2
2
  import { useListbox, useHighlightRest } from './chunk-7KHM2FZH.js';
3
3
  import { Kbd } from './chunk-ANTAQAR4.js';
4
- import { Input } from './chunk-ETSF7SU6.js';
4
+ import { Input } from './chunk-ZMML6NRS.js';
5
5
  import { Count } from './chunk-MLDTLZAO.js';
6
6
  import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
7
7
  import { isComposing } from './chunk-H5XTJ7GJ.js';
@@ -1,6 +1,6 @@
1
1
  import { Select } from './chunk-VK45YJLH.js';
2
- import { Combobox } from './chunk-ZUBFVK6B.js';
3
- import { FormField, Textarea, InputAffix } from './chunk-ETSF7SU6.js';
2
+ import { Combobox } from './chunk-OFARYSWS.js';
3
+ import { FormField, Textarea, InputAffix } from './chunk-ZMML6NRS.js';
4
4
  import './Input-GEFFMKBS.css';
5
5
  import './VisuallyHidden-AOEXU5EB.css';
6
6
  import './HitArea-QUOS6ZDJ.css';
@@ -1,6 +1,6 @@
1
1
  import { Switch } from './chunk-3XDT5ZWL.js';
2
2
  import { useReorder } from './chunk-MPVMB2DV.js';
3
- import { Checkbox } from './chunk-PBCNINMB.js';
3
+ import { Checkbox } from './chunk-FFWMTIMH.js';
4
4
  import { IconButton } from './chunk-UAUP6XGK.js';
5
5
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';