@crewlethq/ui 0.67.0 → 0.68.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 (105) hide show
  1. package/README.md +1 -1
  2. package/dist/AgentHandoffPanel/index.js +4 -4
  3. package/dist/AppShell/index.js +3 -3
  4. package/dist/ArrangeList/index.js +4 -4
  5. package/dist/ArtifactBar/index.js +6 -6
  6. package/dist/ArtifactCard/index.js +4 -4
  7. package/dist/ArtifactPanel/index.js +1 -1
  8. package/dist/AvatarPicker/index.js +6 -6
  9. package/dist/Canvas/index.js +2 -2
  10. package/dist/CanvasBoard/index.js +4 -4
  11. package/dist/CanvasToolbar/index.js +3 -3
  12. package/dist/Checkbox/index.js +3 -3
  13. package/dist/ColorField/index.js +3 -3
  14. package/dist/Combobox/index.js +3 -3
  15. package/dist/CommandPalette/index.js +3 -3
  16. package/dist/CommentThread/index.js +5 -5
  17. package/dist/Composer/index.js +3 -3
  18. package/dist/ConfirmField/index.js +3 -3
  19. package/dist/ContrastHelp/index.js +1 -1
  20. package/dist/DataGrid/index.js +4 -4
  21. package/dist/DataTable/index.js +5 -5
  22. package/dist/DataView/index.js +7 -7
  23. package/dist/DateTimePicker/index.js +2 -2
  24. package/dist/DocTabsEditor/index.js +4 -4
  25. package/dist/{Editor-URGZOK2S.js → Editor-2MZDDSJF.js} +3 -3
  26. package/dist/HuePicker/index.js +5 -5
  27. package/dist/InboxList/InboxList.d.ts +45 -3
  28. package/dist/InboxList/index.js +1 -1
  29. package/dist/{InboxList-OCL2M3ZF.css → InboxList-OFGSX5IH.css} +137 -6
  30. package/dist/Input/index.js +2 -2
  31. package/dist/LinkInterstitial/index.js +1 -1
  32. package/dist/ListInput/index.js +3 -3
  33. package/dist/MarkdownEditor/index.js +5 -5
  34. package/dist/Menu/index.js +2 -2
  35. package/dist/MergeConflicts/index.js +5 -5
  36. package/dist/Modal/index.js +1 -1
  37. package/dist/OrgTable/index.js +1 -1
  38. package/dist/PresenterView/index.js +1 -1
  39. package/dist/PrincipalPicker/index.js +4 -4
  40. package/dist/ProposalCard/index.js +4 -4
  41. package/dist/RichEditor/index.js +1 -1
  42. package/dist/SegmentedControl/index.js +4 -4
  43. package/dist/ShareDialog/index.js +1 -1
  44. package/dist/SheetColumnEditor/index.js +8 -8
  45. package/dist/SheetGrid/index.js +3 -3
  46. package/dist/SidePanel/index.js +1 -1
  47. package/dist/SlideFilmstrip/index.js +3 -3
  48. package/dist/Switcher/index.js +3 -3
  49. package/dist/Tabs/index.js +3 -3
  50. package/dist/TagsInput/index.js +2 -2
  51. package/dist/ThemeSwitcher/index.js +5 -5
  52. package/dist/TimeRangePicker/index.js +6 -6
  53. package/dist/TimeWindowPicker/index.js +3 -3
  54. package/dist/TreeCanvas/index.js +3 -3
  55. package/dist/TreeGrid/index.js +1 -1
  56. package/dist/ValueField/index.js +4 -4
  57. package/dist/VersionCompare/index.js +5 -5
  58. package/dist/{chunk-MFQPGMJT.js → chunk-2DSHMV6B.js} +1 -1
  59. package/dist/{chunk-BVNFNFA6.js → chunk-2QMUOUXN.js} +1 -1
  60. package/dist/{chunk-J5BIKMQY.js → chunk-4VPDY7AD.js} +4 -4
  61. package/dist/{chunk-2AQMXGWA.js → chunk-5FFZED4X.js} +1 -1
  62. package/dist/{chunk-JVII5264.js → chunk-CFXDWGQI.js} +1 -1
  63. package/dist/{chunk-ELLRZ5XR.js → chunk-CLJHQHPS.js} +1 -1
  64. package/dist/{chunk-7LSSYHOT.js → chunk-CMTLQOJY.js} +1 -1
  65. package/dist/{chunk-WXLQJUGO.js → chunk-COAK5MIF.js} +2 -2
  66. package/dist/{chunk-U7J52N67.js → chunk-DFU6JGJV.js} +1 -1
  67. package/dist/{chunk-6MI2GMYG.js → chunk-DGG2A6XG.js} +1 -1
  68. package/dist/{chunk-DXVJSBEW.js → chunk-DMY4XEDS.js} +3 -3
  69. package/dist/{chunk-PBCNINMB.js → chunk-EAR2F5OA.js} +1 -1
  70. package/dist/{chunk-OOC6KXNL.js → chunk-FPTJMNI3.js} +1 -1
  71. package/dist/{chunk-TWJERLT3.js → chunk-GAUBP247.js} +1 -1
  72. package/dist/{chunk-UBJ32EO2.js → chunk-HHZ5ZXYO.js} +2 -2
  73. package/dist/{chunk-ZUBFVK6B.js → chunk-IQQSMK4E.js} +1 -1
  74. package/dist/{chunk-BWAUL5MB.js → chunk-IU5J6BY5.js} +2 -2
  75. package/dist/{chunk-SBOUVASH.js → chunk-JII74OTJ.js} +4 -4
  76. package/dist/{chunk-MNTUIAQT.js → chunk-KZ3UXNN7.js} +1 -1
  77. package/dist/{chunk-VTGIDEI5.js → chunk-LUSRKTX6.js} +2 -2
  78. package/dist/{chunk-JEA5OX54.js → chunk-MCMPQBEV.js} +2 -2
  79. package/dist/{chunk-W6UVBBNH.js → chunk-MJTBINIY.js} +1 -1
  80. package/dist/{chunk-PVZOP3QK.js → chunk-MVQLCSAC.js} +1 -1
  81. package/dist/{chunk-5OVTWY3I.js → chunk-MVQSTBLQ.js} +1 -1
  82. package/dist/{chunk-6ID4DVML.js → chunk-O3WH7OJE.js} +1 -1
  83. package/dist/{chunk-5OFRDX66.js → chunk-OXEWUAND.js} +1 -1
  84. package/dist/{chunk-GJ7VIQWL.js → chunk-PHBMSXVE.js} +2 -2
  85. package/dist/{chunk-62DBFNOK.js → chunk-QPHD4UUG.js} +82 -6
  86. package/dist/{chunk-WUQVAFTC.js → chunk-QRKDP7RQ.js} +1 -1
  87. package/dist/{chunk-GDDVI4US.js → chunk-RCHJBKD3.js} +1 -1
  88. package/dist/{chunk-7EOUVWGQ.js → chunk-SZEKOW2X.js} +1 -1
  89. package/dist/{chunk-CX6QT4CH.js → chunk-UKYVLQAE.js} +2 -2
  90. package/dist/{chunk-KIJJD4YD.js → chunk-VMEUY672.js} +1 -1
  91. package/dist/{chunk-WDNURPXU.js → chunk-WYXUDDTY.js} +1 -1
  92. package/dist/{chunk-PZAOUZFZ.js → chunk-XDVQ72BE.js} +1 -1
  93. package/dist/{chunk-3EETQFAM.js → chunk-XI56IJGI.js} +1 -1
  94. package/dist/{chunk-PQWNK3N7.js → chunk-XNYMMLCY.js} +2 -2
  95. package/dist/{chunk-2EA2GSA2.js → chunk-YDXX5UB7.js} +1 -1
  96. package/dist/{chunk-CFY257ND.js → chunk-ZFFQMRPJ.js} +2 -2
  97. package/dist/generated/index.js +51 -51
  98. package/dist/index.js +51 -51
  99. package/dist/styles.css +138 -7
  100. package/package.json +3 -3
  101. package/dist/{chunk-T73DMDU4.js → chunk-2566PSQ3.js} +1 -1
  102. package/dist/{chunk-PX54PALQ.js → chunk-7DD2GR7I.js} +1 -1
  103. package/dist/{chunk-HEIOLITO.js → chunk-BAHLBMCH.js} +1 -1
  104. package/dist/{chunk-ETSF7SU6.js → chunk-DCQ2VTBB.js} +1 -1
  105. package/dist/{chunk-F32FFE6I.js → chunk-NBOFBSVD.js} +1 -1
package/dist/styles.css CHANGED
@@ -19423,7 +19423,7 @@ a.crewlet-icon-btn {
19423
19423
  }
19424
19424
 
19425
19425
 
19426
- /* InboxList-OCL2M3ZF.css */
19426
+ /* InboxList-OFGSX5IH.css */
19427
19427
  /*
19428
19428
  * The inbox's column: groups of rows, each row a control with the task it is
19429
19429
  * about under it, and the quiet toggles at the end.
@@ -19459,6 +19459,63 @@ a.crewlet-icon-btn {
19459
19459
  line-height: var(--font-line-height-snug);
19460
19460
  }
19461
19461
 
19462
+ /* The count after a label, in the quiet ink and the label's own register. */
19463
+ .crewlet-inbox-list__count {
19464
+ margin-inline-start: var(--spacing-1);
19465
+ font-size: var(--font-size-2xs);
19466
+ font-variant-numeric: tabular-nums;
19467
+ color: var(--color-text-tertiary);
19468
+ }
19469
+
19470
+ /*
19471
+ * A collapsible group's label is a button the width of the column, so the
19472
+ * whole line is the target, with the chevron turned a quarter while closed.
19473
+ */
19474
+ .crewlet-inbox-list__disclosure {
19475
+ display: flex;
19476
+ align-items: center;
19477
+ gap: var(--spacing-1);
19478
+ width: 100%;
19479
+ min-height: var(--size-target-min);
19480
+ margin: calc(var(--spacing-1) * -1) 0;
19481
+ padding: 0;
19482
+ border: 0;
19483
+ border-radius: var(--radius-xs);
19484
+ background: none;
19485
+ color: inherit;
19486
+ font: inherit;
19487
+ text-align: left;
19488
+ cursor: pointer;
19489
+ }
19490
+
19491
+ .crewlet-inbox-list__disclosure:focus-visible {
19492
+ outline: 2px solid var(--color-focus);
19493
+ outline-offset: var(--size-focus-ring-inset-offset);
19494
+ }
19495
+
19496
+ .crewlet-inbox-list__chevron {
19497
+ flex: none;
19498
+ color: var(--color-text-tertiary);
19499
+ transform: rotate(-90deg);
19500
+ transition: transform var(--motion-duration-fast) var(--motion-easing-default);
19501
+ }
19502
+
19503
+ .crewlet-inbox-list__disclosure[aria-expanded='true'] .crewlet-inbox-list__chevron {
19504
+ transform: rotate(0deg);
19505
+ }
19506
+
19507
+ .crewlet-inbox-list__disclosure:hover .crewlet-inbox-list__chevron {
19508
+ color: var(--color-text-primary);
19509
+ }
19510
+
19511
+ .crewlet-inbox-list__disclosure .crewlet-inbox-list__count {
19512
+ margin-inline-start: 0;
19513
+ }
19514
+
19515
+ .crewlet-inbox-list__rows[hidden] {
19516
+ display: none;
19517
+ }
19518
+
19462
19519
  .crewlet-inbox-list__rows {
19463
19520
  display: grid;
19464
19521
  grid-template-columns: minmax(0, 1fr);
@@ -19620,16 +19677,89 @@ a.crewlet-icon-btn {
19620
19677
  }
19621
19678
 
19622
19679
  /*
19623
- * Settled. The strike is drawn in the strong hairline rather than the text's
19624
- * own ink, so the words under it stay legible; the state is also read out,
19625
- * because a line through a word says nothing to somebody listening.
19680
+ * Settled. The name drops to the regular weight and the words to the
19681
+ * secondary ink, which still reads at body contrast: a settled row is read
19682
+ * again, to see what came of it. No strike, which says "cancelled" and cuts
19683
+ * through the letters a reader is trying to read; the state is read out, and
19684
+ * the outcome line and any status say it in words.
19626
19685
  */
19686
+ .crewlet-inbox-row__control--done .crewlet-inbox-row__title {
19687
+ font-weight: var(--font-weight-regular);
19688
+ color: var(--color-text-secondary);
19689
+ }
19690
+
19627
19691
  .crewlet-inbox-row__control--done .crewlet-inbox-row__text {
19628
- text-decoration: line-through;
19629
- text-decoration-color: var(--color-border-strong);
19692
+ color: var(--color-text-secondary);
19693
+ }
19694
+
19695
+ .crewlet-inbox-row__status {
19696
+ display: inline-flex;
19697
+ flex: none;
19698
+ align-items: center;
19699
+ }
19700
+
19701
+ /* With a status, the time stays at the end and the status sits beside it. */
19702
+ .crewlet-inbox-row__status + .crewlet-inbox-row__meta {
19703
+ margin-inline-start: 0;
19704
+ }
19705
+
19706
+ .crewlet-inbox-row__head > .crewlet-inbox-row__status {
19707
+ margin-inline-start: auto;
19708
+ }
19709
+
19710
+ /*
19711
+ * What came of the row: a glyph in the tone's ink, then words in the
19712
+ * secondary ink, on one line that wraps rather than cuts.
19713
+ */
19714
+ .crewlet-inbox-row__outcome {
19715
+ display: flex;
19716
+ align-items: flex-start;
19717
+ gap: var(--spacing-1);
19718
+ min-width: 0;
19719
+ padding-top: 2px;
19720
+ font-size: var(--font-size-xs);
19721
+ line-height: var(--font-line-height-snug);
19722
+ color: var(--color-text-secondary);
19723
+ overflow-wrap: anywhere;
19724
+ }
19725
+
19726
+ .crewlet-inbox-row__outcome-icon {
19727
+ display: inline-flex;
19728
+ flex: none;
19729
+ align-items: center;
19730
+ height: 1lh;
19630
19731
  color: var(--color-text-tertiary);
19631
19732
  }
19632
19733
 
19734
+ .crewlet-inbox-row__outcome--success .crewlet-inbox-row__outcome-icon {
19735
+ color: var(--color-feedback-success-ink);
19736
+ }
19737
+
19738
+ .crewlet-inbox-row__outcome--info .crewlet-inbox-row__outcome-icon {
19739
+ color: var(--color-feedback-info-ink);
19740
+ }
19741
+
19742
+ .crewlet-inbox-row__outcome--warning .crewlet-inbox-row__outcome-icon {
19743
+ color: var(--color-feedback-warning-ink);
19744
+ }
19745
+
19746
+ .crewlet-inbox-row__outcome--danger .crewlet-inbox-row__outcome-icon {
19747
+ color: var(--color-feedback-danger-ink);
19748
+ }
19749
+
19750
+ .crewlet-inbox-row__outcome--brand .crewlet-inbox-row__outcome-icon {
19751
+ color: var(--color-brand-accent);
19752
+ }
19753
+
19754
+ .crewlet-inbox-row__outcome-text {
19755
+ min-width: 0;
19756
+ }
19757
+
19758
+ .crewlet-inbox-row__outcome-text strong {
19759
+ font-weight: var(--font-weight-medium);
19760
+ color: var(--color-text-primary);
19761
+ }
19762
+
19633
19763
  /*
19634
19764
  * The task, under the words and lined up with them: the control's start pad,
19635
19765
  * the leading slot and the gap after it.
@@ -19685,7 +19815,8 @@ a.crewlet-icon-btn {
19685
19815
  transition: none;
19686
19816
  }
19687
19817
 
19688
- .crewlet-inbox-list__toggle {
19818
+ .crewlet-inbox-list__toggle,
19819
+ .crewlet-inbox-list__chevron {
19689
19820
  transition: none;
19690
19821
  }
19691
19822
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.67.0",
3
+ "version": "0.68.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.67.0",
46
- "@crewlethq/tokens": "0.67.0",
45
+ "@crewlethq/icons": "0.68.0",
46
+ "@crewlethq/tokens": "0.68.0",
47
47
  "prosemirror-commands": "1.7.2",
48
48
  "prosemirror-gapcursor": "1.4.1",
49
49
  "prosemirror-history": "1.5.1",
@@ -1,8 +1,8 @@
1
1
  import { Button } from './chunk-7QTPJDRF.js';
2
2
  import { useLayerContainer, viewportBounds, LAYER_GAP, anchorGone, placePopup, LAYER_REPOSITION_EVENT } from './chunk-OMV5W53A.js';
3
3
  import { usePopupLayer } from './chunk-H5XTJ7GJ.js';
4
- import { IconButton } from './chunk-UAUP6XGK.js';
5
4
  import { returnFocus } from './chunk-NUZHC6MM.js';
5
+ import { IconButton } from './chunk-UAUP6XGK.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './Menu-OLUGHX56.css';
8
8
  import { useId, useState, useRef, useCallback, useLayoutEffect, useEffect } from 'react';
@@ -1,8 +1,8 @@
1
1
  import { today, CalendarGrid, shiftMonth, compareDays } from './chunk-EE3DJMSQ.js';
2
2
  import { Popover } from './chunk-KHJIEPZV.js';
3
3
  import { Button } from './chunk-7QTPJDRF.js';
4
- import { IconButton } from './chunk-UAUP6XGK.js';
5
4
  import { useFocusModality } from './chunk-NUZHC6MM.js';
5
+ import { IconButton } from './chunk-UAUP6XGK.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './DateTimePicker-PM6TIRIX.css';
8
8
  import { useMemo, useState, useEffect } from 'react';
@@ -2,8 +2,8 @@ import { useListbox } from './chunk-7KHM2FZH.js';
2
2
  import { Tag } from './chunk-I5OIKDX2.js';
3
3
  import { announce } from './chunk-2G355KDJ.js';
4
4
  import { isComposing } from './chunk-H5XTJ7GJ.js';
5
- import { IconButton } from './chunk-UAUP6XGK.js';
6
5
  import { useFocusModality } from './chunk-NUZHC6MM.js';
6
+ import { IconButton } from './chunk-UAUP6XGK.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';
@@ -2,8 +2,8 @@ import { characterCountState, CharacterCount } from './chunk-PGCLHYVP.js';
2
2
  import { useHeadingLevel, headingTag, HeadingLevelProvider, nextHeadingLevel } from './chunk-PQADV6P6.js';
3
3
  import { announce } from './chunk-2G355KDJ.js';
4
4
  import { isComposing } from './chunk-H5XTJ7GJ.js';
5
- import { IconButton } from './chunk-UAUP6XGK.js';
6
5
  import { useFocusModality } from './chunk-NUZHC6MM.js';
6
+ import { IconButton } from './chunk-UAUP6XGK.js';
7
7
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
8
8
  import { cx } from './chunk-ODEQTPFM.js';
9
9
  import './Input-GEFFMKBS.css';
@@ -3,8 +3,8 @@ import { Tooltip } from './chunk-I33UIUZD.js';
3
3
  import { Kbd } from './chunk-ANTAQAR4.js';
4
4
  import { Button } from './chunk-7QTPJDRF.js';
5
5
  import { LAYER_REPOSITION_EVENT, LayerHost } from './chunk-OMV5W53A.js';
6
- import { IconButton } from './chunk-UAUP6XGK.js';
7
6
  import { returnFocus } from './chunk-NUZHC6MM.js';
7
+ import { IconButton } from './chunk-UAUP6XGK.js';
8
8
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
9
9
  import { cx } from './chunk-ODEQTPFM.js';
10
10
  import './Canvas-4QJHVLJ4.css';