@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.71.0",
3
+ "version": "0.72.0",
4
4
  "description": "Crewlet shared React components built on @crewlethq/tokens and @crewlethq/icons.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,8 +42,8 @@
42
42
  "clean": "rm -rf dist src/generated"
43
43
  },
44
44
  "dependencies": {
45
- "@crewlethq/icons": "0.71.0",
46
- "@crewlethq/tokens": "0.71.0",
45
+ "@crewlethq/icons": "0.72.0",
46
+ "@crewlethq/tokens": "0.72.0",
47
47
  "prosemirror-commands": "1.7.2",
48
48
  "prosemirror-gapcursor": "1.4.1",
49
49
  "prosemirror-history": "1.5.1",
@@ -1,87 +0,0 @@
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-L66R5U32.css';
7
- import { useId } from 'react';
8
- import { CircleCheckGlyph, ArrowRightGlyph, MessageCircleQuestionMarkGlyph } from '@crewlethq/icons/glyphs';
9
- import { jsx, jsxs } from 'react/jsx-runtime';
10
-
11
- var BRIEF_CARD_MAX_NEEDS = 3;
12
- var BRIEF_CARD_LABELS = {
13
- heading: "Brief",
14
- needs: "Needs you",
15
- clear: "Nothing needs you.",
16
- recommended: "Recommended",
17
- followUps: "Ask next",
18
- count: (n) => n === 1 ? "1 needs you" : `${n} need you`,
19
- allClear: "All clear"
20
- };
21
- function BriefCard({
22
- scope,
23
- asOf,
24
- summary,
25
- needs,
26
- recommended,
27
- followUps,
28
- labels: overrides,
29
- className,
30
- ...rest
31
- }) {
32
- const labels = overrides ? { ...BRIEF_CARD_LABELS, ...overrides } : BRIEF_CARD_LABELS;
33
- const id = useId();
34
- const rows = needs.slice(0, BRIEF_CARD_MAX_NEEDS);
35
- const hasScope = !(scope === void 0 || scope === null || scope === "");
36
- const hasAsOf = !(asOf === void 0 || asOf === null || asOf === "");
37
- const subtitle = hasScope || hasAsOf ? /* @__PURE__ */ jsxs("span", { className: "crewlet-brief-card__where", children: [
38
- hasScope ? /* @__PURE__ */ jsx("span", { children: scope }) : null,
39
- hasScope && hasAsOf ? /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "\xB7" }) : null,
40
- hasAsOf ? /* @__PURE__ */ jsx("span", { className: "crewlet-brief-card__asof", children: asOf }) : null
41
- ] }) : void 0;
42
- return /* @__PURE__ */ jsx(
43
- StatusCard,
44
- {
45
- ...rest,
46
- title: labels.heading,
47
- subtitle,
48
- status: rows.length > 0 ? { label: labels.count(rows.length), tone: "warning" } : { label: labels.allClear, tone: "success", icon: /* @__PURE__ */ jsx(CircleCheckGlyph, { size: "xs" }) },
49
- className: cx("crewlet-brief-card", className),
50
- children: /* @__PURE__ */ jsxs("div", { className: "crewlet-brief-card__body", children: [
51
- /* @__PURE__ */ jsx("p", { className: "crewlet-brief-card__summary", children: summary }),
52
- /* @__PURE__ */ jsxs("section", { className: "crewlet-brief-card__block", "aria-labelledby": `${id}-needs`, children: [
53
- /* @__PURE__ */ jsx("h4", { className: "crewlet-brief-card__label", id: `${id}-needs`, children: labels.needs }),
54
- rows.length === 0 ? /* @__PURE__ */ jsxs("p", { className: "crewlet-brief-card__clear", children: [
55
- /* @__PURE__ */ jsx(CircleCheckGlyph, { size: "sm", "aria-hidden": "true" }),
56
- labels.clear
57
- ] }) : (
58
- // A list the reader moves through by item; Safari drops the role of a list styled without markers.
59
- // eslint-disable-next-line jsx-a11y/no-redundant-roles
60
- /* @__PURE__ */ jsx("ul", { role: "list", className: "crewlet-brief-card__needs", children: rows.map((need) => /* @__PURE__ */ jsxs("li", { className: "crewlet-brief-card__need", children: [
61
- /* @__PURE__ */ jsx("span", { className: "crewlet-brief-card__dot", children: /* @__PURE__ */ jsx(StatusDot, { tone: need.tone ?? "warning" }) }),
62
- /* @__PURE__ */ jsxs("span", { className: "crewlet-brief-card__words", children: [
63
- /* @__PURE__ */ jsx("span", { children: need.text }),
64
- need.detail === void 0 || need.detail === null ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-brief-card__detail", children: need.detail })
65
- ] }),
66
- need.action ? /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", onClick: need.action.onSelect, children: need.action.label }) : null
67
- ] }, need.key)) })
68
- )
69
- ] }),
70
- recommended === null ? null : /* @__PURE__ */ jsxs("section", { className: "crewlet-brief-card__block", "aria-labelledby": `${id}-next`, children: [
71
- /* @__PURE__ */ jsx("h4", { className: "crewlet-brief-card__label", id: `${id}-next`, children: labels.recommended }),
72
- /* @__PURE__ */ jsxs("div", { className: "crewlet-brief-card__next", children: [
73
- /* @__PURE__ */ jsx(ArrowRightGlyph, { size: "sm", "aria-hidden": "true", className: "crewlet-brief-card__arrow" }),
74
- /* @__PURE__ */ jsx("span", { children: recommended.text }),
75
- recommended.action ? /* @__PURE__ */ jsx(Button, { size: "small", variant: "primary", onClick: recommended.action.onSelect, children: recommended.action.label }) : null
76
- ] })
77
- ] }),
78
- followUps && followUps.length > 0 ? /* @__PURE__ */ jsxs("section", { className: "crewlet-brief-card__block", "aria-labelledby": `${id}-ask`, children: [
79
- /* @__PURE__ */ jsx("h4", { className: "crewlet-brief-card__label", id: `${id}-ask`, children: labels.followUps }),
80
- /* @__PURE__ */ jsx(SuggestionList, { className: "crewlet-brief-card__follow-ups", children: followUps.map((f) => /* @__PURE__ */ jsx(SuggestionRow, { icon: /* @__PURE__ */ jsx(MessageCircleQuestionMarkGlyph, { size: "sm" }), onSelect: f.onSelect, children: f.question }, f.key)) })
81
- ] }) : null
82
- ] })
83
- }
84
- );
85
- }
86
-
87
- export { BRIEF_CARD_LABELS, BRIEF_CARD_MAX_NEEDS, BriefCard };
@@ -1,9 +1,9 @@
1
1
  import { useListbox } from './chunk-7KHM2FZH.js';
2
2
  import { Tag } from './chunk-I5OIKDX2.js';
3
- import { announce } from './chunk-2G355KDJ.js';
4
3
  import { isComposing } from './chunk-H5XTJ7GJ.js';
5
4
  import { IconButton } from './chunk-UAUP6XGK.js';
6
5
  import { useFocusModality } from './chunk-NUZHC6MM.js';
6
+ import { announce } from './chunk-2G355KDJ.js';
7
7
  import { cx } from './chunk-ODEQTPFM.js';
8
8
  import './TagsInput-MZXEHKJD.css';
9
9
  import { forwardRef, useState, useRef, useId, useImperativeHandle, useEffect, useMemo, useLayoutEffect } from 'react';
@@ -1,5 +1,5 @@
1
- import { announce } from './chunk-2G355KDJ.js';
2
1
  import { IconButton } from './chunk-UAUP6XGK.js';
2
+ import { announce } from './chunk-2G355KDJ.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './ArrangeFrame-QCQZ5RF6.css';
5
5
  import { forwardRef, useRef, useCallback, useState, useEffect } from 'react';
@@ -1,5 +1,5 @@
1
- import { SlideStage, SLIDE_WIDTH, SLIDE_HEIGHT } from './chunk-RMEBFYL7.js';
2
1
  import { SlideNav } from './chunk-5AJR6X75.js';
2
+ import { SlideStage, SLIDE_WIDTH, SLIDE_HEIGHT } from './chunk-RMEBFYL7.js';
3
3
  import { Eyebrow } from './chunk-RK4XPHVG.js';
4
4
  import { Button } from './chunk-DGXZ635L.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,7 +1,7 @@
1
1
  import { Toolbar } from './chunk-NR4CPM4T.js';
2
- import { announce } from './chunk-2G355KDJ.js';
3
2
  import { Button } from './chunk-DGXZ635L.js';
4
3
  import { returnFocus } from './chunk-NUZHC6MM.js';
4
+ import { announce } from './chunk-2G355KDJ.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
6
6
  import './SelectionBar-SCAU6EBY.css';
7
7
  import { useRef, useEffect } from 'react';
@@ -1,9 +1,9 @@
1
1
  import { characterCountState, CharacterCount } from './chunk-PGCLHYVP.js';
2
2
  import { useHeadingLevel, headingTag, HeadingLevelProvider, nextHeadingLevel } from './chunk-PQADV6P6.js';
3
- import { announce } from './chunk-2G355KDJ.js';
4
3
  import { isComposing } from './chunk-H5XTJ7GJ.js';
5
4
  import { IconButton } from './chunk-UAUP6XGK.js';
6
5
  import { useFocusModality } from './chunk-NUZHC6MM.js';
6
+ import { announce } from './chunk-2G355KDJ.js';
7
7
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
8
8
  import { cx } from './chunk-ODEQTPFM.js';
9
9
  import './Input-GEFFMKBS.css';