@crewlethq/ui 0.57.1 → 0.58.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 (144) hide show
  1. package/README.md +14 -0
  2. package/dist/AgentHandoffPanel/index.js +4 -4
  3. package/dist/AppShell/index.js +4 -4
  4. package/dist/ArtifactBar/index.js +6 -6
  5. package/dist/ArtifactPanel/index.js +1 -1
  6. package/dist/AvatarPicker/index.js +7 -7
  7. package/dist/Button/index.js +2 -2
  8. package/dist/Canvas/index.js +3 -3
  9. package/dist/CanvasBoard/index.js +5 -5
  10. package/dist/CanvasToolbar/index.js +4 -4
  11. package/dist/ChatThread/index.js +3 -3
  12. package/dist/{ChatThread-52KMDXHB.css → ChatThread-FGXVDLI2.css} +11 -0
  13. package/dist/CodeBlock/index.js +4 -4
  14. package/dist/ColorSwatch/index.js +4 -4
  15. package/dist/CommandPalette/index.js +4 -4
  16. package/dist/CommentThread/index.js +3 -3
  17. package/dist/ConflictNote/index.js +3 -3
  18. package/dist/Copyable/index.js +3 -3
  19. package/dist/DataGrid/index.js +3 -3
  20. package/dist/DataTable/index.js +5 -5
  21. package/dist/DataView/index.js +7 -7
  22. package/dist/DateTimePicker/index.js +3 -3
  23. package/dist/DocTabsEditor/index.js +4 -4
  24. package/dist/DownloadButton/index.js +3 -3
  25. package/dist/{Editor-X2J47LPD.js → Editor-GSBLM7NO.js} +4 -4
  26. package/dist/ErrorBoundary/index.js +3 -3
  27. package/dist/FileDrop/index.js +3 -3
  28. package/dist/FollowBanner/index.js +3 -3
  29. package/dist/HuePicker/index.js +6 -6
  30. package/dist/ImageUpload/index.js +2 -1
  31. package/dist/{ImageUpload-NVGMN7DP.css → ImageUpload-CYC3Y7M2.css} +11 -19
  32. package/dist/InlineEditor/index.js +3 -3
  33. package/dist/LinkInterstitial/index.js +4 -4
  34. package/dist/ListInput/index.js +3 -3
  35. package/dist/LogoSlot/index.js +4 -4
  36. package/dist/MarkdownEditor/index.js +6 -6
  37. package/dist/Menu/index.js +3 -3
  38. package/dist/MergeConflicts/index.js +6 -6
  39. package/dist/Modal/index.js +3 -3
  40. package/dist/OpenInAppCard/index.js +4 -4
  41. package/dist/PeekRail/index.js +3 -3
  42. package/dist/PeopleRail/index.js +3 -3
  43. package/dist/PresenterView/index.js +3 -3
  44. package/dist/ProposalCard/index.js +4 -4
  45. package/dist/ReceiptStrip/index.js +3 -3
  46. package/dist/ResultTableCard/ResultTableCard.d.ts +4 -3
  47. package/dist/ResultTableCard/index.js +4 -4
  48. package/dist/{ResultTableCard-ICUFRZUO.css → ResultTableCard-AP355LQM.css} +10 -11
  49. package/dist/RichEditor/index.js +3 -3
  50. package/dist/RunChip/index.js +3 -3
  51. package/dist/SandboxedFrame/index.js +3 -3
  52. package/dist/SegmentedControl/index.js +5 -5
  53. package/dist/SelectionBar/index.js +3 -3
  54. package/dist/SetupWizard/index.js +3 -3
  55. package/dist/ShareDialog/index.js +5 -5
  56. package/dist/SheetColumnEditor/index.js +7 -7
  57. package/dist/SheetGrid/index.js +4 -4
  58. package/dist/SidePanel/SidePanel.d.ts +6 -5
  59. package/dist/SidePanel/SidePanelBase.d.ts +1 -1
  60. package/dist/SidePanel/index.js +1 -1
  61. package/dist/{SidePanel-ERBUIELD.css → SidePanel-VXKUKLOJ.css} +11 -3
  62. package/dist/SlideCompare/index.js +3 -3
  63. package/dist/SlideFilmstrip/index.js +4 -4
  64. package/dist/Spinner/Spinner.d.ts +6 -2
  65. package/dist/Spinner/index.js +1 -1
  66. package/dist/Spinner-PM37OCHI.css +100 -0
  67. package/dist/Stepper/index.js +2 -2
  68. package/dist/Switcher/index.js +4 -4
  69. package/dist/Tabs/index.js +4 -4
  70. package/dist/ThemeSwitcher/index.js +6 -6
  71. package/dist/TimeRangePicker/index.js +7 -7
  72. package/dist/TimeWindowPicker/index.js +3 -3
  73. package/dist/TreeCanvas/index.js +4 -4
  74. package/dist/VersionCompare/index.js +6 -6
  75. package/dist/VersionTimeline/index.js +3 -3
  76. package/dist/{chunk-LZXY6IMO.js → chunk-2K6FUMIK.js} +1 -1
  77. package/dist/{chunk-67F2AM4R.js → chunk-2XBIN5C2.js} +1 -1
  78. package/dist/{chunk-OZIBNFLO.js → chunk-32SOAYCF.js} +1 -1
  79. package/dist/{chunk-RV2FGESF.js → chunk-36DZUEVY.js} +2 -2
  80. package/dist/{chunk-LQ6AGUDL.js → chunk-3DVOJK63.js} +1 -1
  81. package/dist/{chunk-NK3D66PB.js → chunk-3FGBMI36.js} +1 -1
  82. package/dist/{chunk-AWSFK2IK.js → chunk-3JYCCTGK.js} +1 -1
  83. package/dist/{chunk-SW4XVX7K.js → chunk-52IHWD3V.js} +3 -3
  84. package/dist/{chunk-DOPPU6TZ.js → chunk-57KC5B5M.js} +1 -1
  85. package/dist/{chunk-NQGZRMUG.js → chunk-5VFBBKZE.js} +1 -1
  86. package/dist/{chunk-QYEOGGVS.js → chunk-6LRCOXP6.js} +3 -3
  87. package/dist/{chunk-NVZCANJ5.js → chunk-73GUXYYE.js} +1 -1
  88. package/dist/{chunk-Q6R6EUQ4.js → chunk-73QP5CDO.js} +2 -2
  89. package/dist/{chunk-TKS7FTTO.js → chunk-7QE27DWU.js} +1 -1
  90. package/dist/{chunk-HGYHWWA5.js → chunk-ALU5EGQB.js} +1 -1
  91. package/dist/{chunk-CGT4R7LW.js → chunk-AP7GA5AA.js} +1 -1
  92. package/dist/{chunk-EBG3V4MK.js → chunk-ARZF7KEO.js} +3 -3
  93. package/dist/{chunk-WOW5SCEK.js → chunk-BA2KFNUD.js} +1 -1
  94. package/dist/{chunk-MYX4XABB.js → chunk-BDYQTU5Q.js} +1 -1
  95. package/dist/{chunk-HVEDVKXL.js → chunk-C4BN6MZJ.js} +1 -1
  96. package/dist/{chunk-TDQZ4LB5.js → chunk-C5AKPSNY.js} +3 -3
  97. package/dist/{chunk-ICJRP6QW.js → chunk-CBR52S2C.js} +1 -1
  98. package/dist/{chunk-HNK43Z3P.js → chunk-CFHGVO5L.js} +1 -1
  99. package/dist/{chunk-CZNG3V6L.js → chunk-CSBS66PG.js} +2 -2
  100. package/dist/{chunk-OHG7762N.js → chunk-CTUHHM6H.js} +1 -1
  101. package/dist/{chunk-NI7WUPH3.js → chunk-CVH7KBAJ.js} +2 -2
  102. package/dist/{chunk-56P72ZBE.js → chunk-DFUYHPY7.js} +1 -1
  103. package/dist/{chunk-272Y3YMV.js → chunk-DHS335W4.js} +2 -2
  104. package/dist/{chunk-EVWTLFKI.js → chunk-DIR6CSJP.js} +1 -1
  105. package/dist/{chunk-TD3UHDFY.js → chunk-DJ46CKSP.js} +2 -2
  106. package/dist/{chunk-4OINEWR4.js → chunk-DXRPB3JD.js} +1 -1
  107. package/dist/{chunk-OOZ5AGPS.js → chunk-EXP5RD3R.js} +3 -3
  108. package/dist/{chunk-Y73BQL74.js → chunk-FAKL6PXB.js} +1 -1
  109. package/dist/{chunk-EDNZHW4K.js → chunk-FVD7FSKO.js} +1 -1
  110. package/dist/{chunk-HGCDJOEF.js → chunk-H23GAACC.js} +2 -2
  111. package/dist/{chunk-I7VG6RQE.js → chunk-HYRKTVKL.js} +1 -1
  112. package/dist/{chunk-2TTFDRR3.js → chunk-IFWJNKVT.js} +2 -2
  113. package/dist/{chunk-UV4LOQ3E.js → chunk-JIG4D2IQ.js} +1 -1
  114. package/dist/{chunk-YEURM24I.js → chunk-JKZ3A4GY.js} +1 -1
  115. package/dist/{chunk-S5C64PTT.js → chunk-JSR6HSK5.js} +1 -1
  116. package/dist/{chunk-GCASX3FD.js → chunk-KLGO4526.js} +2 -2
  117. package/dist/{chunk-JJ3NOBJ6.js → chunk-L22HQRNF.js} +3 -3
  118. package/dist/{chunk-WBRC3MNE.js → chunk-LBUQ6R66.js} +1 -1
  119. package/dist/{chunk-Z7PJF6F3.js → chunk-LFHVYGQL.js} +1 -1
  120. package/dist/{chunk-YCZ2FBKA.js → chunk-MKFL7TFU.js} +1 -1
  121. package/dist/{chunk-YGC7BFX2.js → chunk-OOBXGR5B.js} +1 -1
  122. package/dist/{chunk-AKFHMLEX.js → chunk-OTMP2AUQ.js} +1 -1
  123. package/dist/{chunk-FWYHRU7M.js → chunk-PPVWWJIB.js} +3 -2
  124. package/dist/{chunk-ZH4MJM73.js → chunk-PXDIHHJA.js} +1 -1
  125. package/dist/{chunk-D5OSP3KI.js → chunk-QFGKFCL2.js} +1 -1
  126. package/dist/{chunk-HD4QJ2SI.js → chunk-QKXQC5D6.js} +1 -1
  127. package/dist/{chunk-LXYSWQNE.js → chunk-QTB5S6JZ.js} +1 -1
  128. package/dist/{chunk-ZCMAU4YD.js → chunk-QZXSEPLJ.js} +2 -2
  129. package/dist/{chunk-EGL24VY5.js → chunk-RXAODDFD.js} +1 -1
  130. package/dist/{chunk-QZ4B72FP.js → chunk-SEMZEENR.js} +1 -1
  131. package/dist/{chunk-672GLRBU.js → chunk-T22NCHGT.js} +1 -1
  132. package/dist/{chunk-6NJW5KSX.js → chunk-TUZGFMRW.js} +1 -1
  133. package/dist/{chunk-6T6V5565.js → chunk-UC3PB356.js} +1 -1
  134. package/dist/{chunk-ES4HR34Y.js → chunk-UM3EKJXF.js} +1 -1
  135. package/dist/{chunk-67MW366X.js → chunk-V326ADVR.js} +1 -1
  136. package/dist/{chunk-EA23JG6R.js → chunk-XSPCITPN.js} +1 -1
  137. package/dist/{chunk-HL4CPLEK.js → chunk-YHTIWHEF.js} +4 -4
  138. package/dist/{chunk-OYAXKHVW.js → chunk-YPGD2YWN.js} +1 -1
  139. package/dist/{chunk-5OMV75GE.js → chunk-ZHMJG3UG.js} +1 -1
  140. package/dist/generated/index.js +76 -76
  141. package/dist/index.js +76 -76
  142. package/dist/styles.css +105 -41
  143. package/package.json +3 -3
  144. package/dist/Spinner-XZ2TVYE5.css +0 -46
@@ -1,14 +1,14 @@
1
- export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-272Y3YMV.js';
1
+ export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-DHS335W4.js';
2
2
  import '../chunk-NR4CPM4T.js';
3
3
  import '../chunk-OOC7Q67K.js';
4
- import '../chunk-AWSFK2IK.js';
5
- import '../chunk-I7VG6RQE.js';
4
+ import '../chunk-3JYCCTGK.js';
5
+ import '../chunk-HYRKTVKL.js';
6
6
  import '../chunk-WIATRXEJ.js';
7
7
  import '../chunk-EGMQURBR.js';
8
8
  import '../chunk-BHHIIK3M.js';
9
- import '../chunk-TKS7FTTO.js';
10
- import '../chunk-HD4QJ2SI.js';
11
- import '../chunk-EA23JG6R.js';
9
+ import '../chunk-7QE27DWU.js';
10
+ import '../chunk-QKXQC5D6.js';
11
+ import '../chunk-XSPCITPN.js';
12
12
  import '../chunk-OMV5W53A.js';
13
13
  import '../chunk-2YTOOH3A.js';
14
14
  import '../chunk-H5XTJ7GJ.js';
@@ -1,6 +1,6 @@
1
- export { Menu } from '../chunk-TKS7FTTO.js';
2
- import '../chunk-HD4QJ2SI.js';
3
- import '../chunk-EA23JG6R.js';
1
+ export { Menu } from '../chunk-7QE27DWU.js';
2
+ import '../chunk-QKXQC5D6.js';
3
+ import '../chunk-XSPCITPN.js';
4
4
  import '../chunk-OMV5W53A.js';
5
5
  import '../chunk-H5XTJ7GJ.js';
6
6
  import '../chunk-2BQYODY3.js';
@@ -1,13 +1,13 @@
1
- export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-2TTFDRR3.js';
1
+ export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-IFWJNKVT.js';
2
2
  import '../chunk-OOC7Q67K.js';
3
- import '../chunk-AWSFK2IK.js';
4
- import '../chunk-I7VG6RQE.js';
3
+ import '../chunk-3JYCCTGK.js';
4
+ import '../chunk-HYRKTVKL.js';
5
5
  import '../chunk-WIATRXEJ.js';
6
6
  import '../chunk-EGMQURBR.js';
7
7
  import '../chunk-BHHIIK3M.js';
8
- import '../chunk-TKS7FTTO.js';
9
- import '../chunk-HD4QJ2SI.js';
10
- import '../chunk-EA23JG6R.js';
8
+ import '../chunk-7QE27DWU.js';
9
+ import '../chunk-QKXQC5D6.js';
10
+ import '../chunk-XSPCITPN.js';
11
11
  import '../chunk-OMV5W53A.js';
12
12
  import '../chunk-2YTOOH3A.js';
13
13
  import '../chunk-H5XTJ7GJ.js';
@@ -1,7 +1,7 @@
1
- export { ConfirmModal, Modal } from '../chunk-QZ4B72FP.js';
1
+ export { ConfirmModal, Modal } from '../chunk-SEMZEENR.js';
2
2
  import '../chunk-PQADV6P6.js';
3
- import '../chunk-HD4QJ2SI.js';
4
- import '../chunk-EA23JG6R.js';
3
+ import '../chunk-QKXQC5D6.js';
4
+ import '../chunk-XSPCITPN.js';
5
5
  import '../chunk-OMV5W53A.js';
6
6
  import '../chunk-H5XTJ7GJ.js';
7
7
  import '../chunk-2BQYODY3.js';
@@ -1,5 +1,5 @@
1
- export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-CZNG3V6L.js';
2
- import '../chunk-LZXY6IMO.js';
1
+ export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-CSBS66PG.js';
2
+ import '../chunk-2K6FUMIK.js';
3
3
  import '../chunk-BAKPMH3S.js';
4
4
  import '../chunk-3LI4TRUR.js';
5
5
  import '../chunk-WDIVALLP.js';
@@ -9,7 +9,7 @@ import '../chunk-INHXF2CL.js';
9
9
  import '../chunk-AV2DXAEL.js';
10
10
  import '../chunk-BHHIIK3M.js';
11
11
  import '../chunk-PQADV6P6.js';
12
- import '../chunk-HD4QJ2SI.js';
13
- import '../chunk-EA23JG6R.js';
12
+ import '../chunk-QKXQC5D6.js';
13
+ import '../chunk-XSPCITPN.js';
14
14
  import '../chunk-BZFWDIV6.js';
15
15
  import '../chunk-ODEQTPFM.js';
@@ -1,7 +1,7 @@
1
- export { PEEK_RAIL_LABELS, PEEK_RAIL_MAX_WIDTH, PEEK_RAIL_MIN_WIDTH, PEEK_RAIL_WIDTH, PeekHost, PeekNeighbours, PeekRail, isPlainPress, peekClickHandler, peekRowActivation, usePeekNeighbours, usePeekOrder, usePeekStep } from '../chunk-LXYSWQNE.js';
1
+ export { PEEK_RAIL_LABELS, PEEK_RAIL_MAX_WIDTH, PEEK_RAIL_MIN_WIDTH, PEEK_RAIL_WIDTH, PeekHost, PeekNeighbours, PeekRail, isPlainPress, peekClickHandler, peekRowActivation, usePeekNeighbours, usePeekOrder, usePeekStep } from '../chunk-QTB5S6JZ.js';
2
2
  import '../chunk-PIYJNCN7.js';
3
- import '../chunk-HD4QJ2SI.js';
4
- import '../chunk-EA23JG6R.js';
3
+ import '../chunk-QKXQC5D6.js';
4
+ import '../chunk-XSPCITPN.js';
5
5
  import '../chunk-2YTOOH3A.js';
6
6
  import '../chunk-2BQYODY3.js';
7
7
  import '../chunk-BZFWDIV6.js';
@@ -1,12 +1,12 @@
1
- export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-ICJRP6QW.js';
1
+ export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-CBR52S2C.js';
2
2
  import '../chunk-CENOOTAV.js';
3
3
  import '../chunk-Z7JYG5TF.js';
4
4
  import '../chunk-AYKXMIOR.js';
5
5
  import '../chunk-5AQBPHZD.js';
6
6
  import '../chunk-PZKHBB7D.js';
7
7
  import '../chunk-PQADV6P6.js';
8
- import '../chunk-HD4QJ2SI.js';
9
- import '../chunk-EA23JG6R.js';
8
+ import '../chunk-QKXQC5D6.js';
9
+ import '../chunk-XSPCITPN.js';
10
10
  import '../chunk-2BQYODY3.js';
11
11
  import '../chunk-BZFWDIV6.js';
12
12
  import '../chunk-ODEQTPFM.js';
@@ -1,9 +1,9 @@
1
- export { PresenterView, formatStopwatch } from '../chunk-EGL24VY5.js';
1
+ export { PresenterView, formatStopwatch } from '../chunk-RXAODDFD.js';
2
2
  import '../chunk-OHBXOEP3.js';
3
3
  import '../chunk-RMEBFYL7.js';
4
4
  import '../chunk-RK4XPHVG.js';
5
- import '../chunk-HD4QJ2SI.js';
6
- import '../chunk-EA23JG6R.js';
5
+ import '../chunk-QKXQC5D6.js';
6
+ import '../chunk-XSPCITPN.js';
7
7
  import '../chunk-OMV5W53A.js';
8
8
  import '../chunk-H5XTJ7GJ.js';
9
9
  import '../chunk-2BQYODY3.js';
@@ -1,5 +1,5 @@
1
- export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, ProposalCard } from '../chunk-SW4XVX7K.js';
2
- import '../chunk-LZXY6IMO.js';
1
+ export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, ProposalCard } from '../chunk-52IHWD3V.js';
2
+ import '../chunk-2K6FUMIK.js';
3
3
  import '../chunk-WDIVALLP.js';
4
4
  import '../chunk-NEHSV55H.js';
5
5
  import '../chunk-Z3GDMNMU.js';
@@ -11,7 +11,7 @@ import '../chunk-GG4QZWMQ.js';
11
11
  import '../chunk-TFGCNBWP.js';
12
12
  import '../chunk-BHHIIK3M.js';
13
13
  import '../chunk-PQADV6P6.js';
14
- import '../chunk-HD4QJ2SI.js';
15
- import '../chunk-EA23JG6R.js';
14
+ import '../chunk-QKXQC5D6.js';
15
+ import '../chunk-XSPCITPN.js';
16
16
  import '../chunk-BZFWDIV6.js';
17
17
  import '../chunk-ODEQTPFM.js';
@@ -1,5 +1,5 @@
1
- export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from '../chunk-LZXY6IMO.js';
2
- import '../chunk-HD4QJ2SI.js';
3
- import '../chunk-EA23JG6R.js';
1
+ export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from '../chunk-2K6FUMIK.js';
2
+ import '../chunk-QKXQC5D6.js';
3
+ import '../chunk-XSPCITPN.js';
4
4
  import '../chunk-BZFWDIV6.js';
5
5
  import '../chunk-ODEQTPFM.js';
@@ -50,9 +50,10 @@ export interface ResultTableCardProps extends Omit<HTMLAttributes<HTMLElement>,
50
50
  * the page the rows come from.
51
51
  *
52
52
  * THE CARD IS THE FRAME. The table draws no edge of its own and its outer
53
- * cells take the card's inset, so every row lines up with the title. The
54
- * first column takes the room the figures leave and ends a long name in an
55
- * ellipsis; a host that cuts names gives the cell its own tooltip.
53
+ * cells take the card's inset, so every row lines up with the title. A text
54
+ * cell, the first column's name included, wraps between words, so the whole
55
+ * of it is read at any width; figures and dates (`end` columns) stay on one
56
+ * line.
56
57
  *
57
58
  * A FOOT OF UTILITIES, so it starts on the card's text edge: the downloads
58
59
  * first (their ghost padding pulled out so the first glyph sits on that edge)
@@ -1,7 +1,7 @@
1
- export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-ZCMAU4YD.js';
1
+ export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-QZXSEPLJ.js';
2
2
  import '../chunk-45KMH3E3.js';
3
3
  import '../chunk-WDIVALLP.js';
4
- import '../chunk-HNK43Z3P.js';
4
+ import '../chunk-CFHGVO5L.js';
5
5
  import '../chunk-YNRKVY7X.js';
6
6
  import '../chunk-DTIW4CHZ.js';
7
7
  import '../chunk-KYIAFNU7.js';
@@ -10,7 +10,7 @@ import '../chunk-INHXF2CL.js';
10
10
  import '../chunk-AV2DXAEL.js';
11
11
  import '../chunk-BHHIIK3M.js';
12
12
  import '../chunk-PQADV6P6.js';
13
- import '../chunk-HD4QJ2SI.js';
14
- import '../chunk-EA23JG6R.js';
13
+ import '../chunk-QKXQC5D6.js';
14
+ import '../chunk-XSPCITPN.js';
15
15
  import '../chunk-BZFWDIV6.js';
16
16
  import '../chunk-ODEQTPFM.js';
@@ -1,8 +1,7 @@
1
1
  /*
2
2
  * A result in a card. The card, its head and its foot are StatusCard's and
3
3
  * the table is Table's, drawn flush; what a result adds is the column model:
4
- * the first column takes the room the figures leave and ends a long name in
5
- * an ellipsis, and the figures never wrap.
4
+ * a text column wraps between words, and the figures never wrap.
6
5
  */
7
6
  .crewlet-result-table-card__table .crewlet-table__table {
8
7
  table-layout: auto;
@@ -15,20 +14,20 @@
15
14
  * letter, so "Product Manager" stacked letter by letter beside columns with
16
15
  * room to spare. Breaking at words keeps a column as wide as its longest
17
16
  * word, and a word wider than the card still breaks rather than overflow.
17
+ *
18
+ * THE NAME WRAPS TOO. The first column used to end a long name in an
19
+ * ellipsis on one line, and a result's row is not a link and its cell has no
20
+ * title, so in a 358px panel "Write the MVP plan" read "Write the MVP ..."
21
+ * with no way to reach the rest. It takes no width of its own: the auto
22
+ * layout gives each column the room its words ask for, so the name, the
23
+ * longest text, takes the most and wraps between words, and a short column
24
+ * beside it keeps its line where there is room. A `width: 100%` on it would
25
+ * squeeze every other text column to its longest word.
18
26
  */
19
27
  .crewlet-result-table-card__table td {
20
28
  overflow-wrap: break-word;
21
29
  }
22
30
 
23
- .crewlet-result-table-card__table td:first-child {
24
- width: 100%;
25
- max-width: 0;
26
- overflow: hidden;
27
- text-overflow: ellipsis;
28
- white-space: nowrap;
29
- overflow-wrap: normal;
30
- }
31
-
32
31
  .crewlet-result-table-card__table .crewlet-table__cell--end {
33
32
  white-space: nowrap;
34
33
  }
@@ -1,9 +1,9 @@
1
- export { RichEditor, preloadRichEditor } from '../chunk-NI7WUPH3.js';
1
+ export { RichEditor, preloadRichEditor } from '../chunk-CVH7KBAJ.js';
2
2
  export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-CSQTDGTS.js';
3
3
  import '../chunk-BAKPMH3S.js';
4
4
  import '../chunk-BPCY7ZID.js';
5
5
  import '../chunk-TEUQWOWZ.js';
6
- import '../chunk-HD4QJ2SI.js';
7
- import '../chunk-EA23JG6R.js';
6
+ import '../chunk-QKXQC5D6.js';
7
+ import '../chunk-XSPCITPN.js';
8
8
  import '../chunk-BZFWDIV6.js';
9
9
  import '../chunk-ODEQTPFM.js';
@@ -1,10 +1,10 @@
1
- export { RUN_STATES, RunChip } from '../chunk-EVWTLFKI.js';
2
- import '../chunk-CGT4R7LW.js';
1
+ export { RUN_STATES, RunChip } from '../chunk-DIR6CSJP.js';
2
+ import '../chunk-AP7GA5AA.js';
3
3
  import '../chunk-WIATRXEJ.js';
4
4
  import '../chunk-GG4QZWMQ.js';
5
5
  import '../chunk-TFGCNBWP.js';
6
6
  import '../chunk-BHHIIK3M.js';
7
7
  import '../chunk-PQADV6P6.js';
8
- import '../chunk-EA23JG6R.js';
8
+ import '../chunk-XSPCITPN.js';
9
9
  import '../chunk-BZFWDIV6.js';
10
10
  import '../chunk-ODEQTPFM.js';
@@ -1,9 +1,9 @@
1
- export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from '../chunk-OZIBNFLO.js';
1
+ export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from '../chunk-32SOAYCF.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-HD4QJ2SI.js';
7
- import '../chunk-EA23JG6R.js';
6
+ import '../chunk-QKXQC5D6.js';
7
+ import '../chunk-XSPCITPN.js';
8
8
  import '../chunk-BZFWDIV6.js';
9
9
  import '../chunk-ODEQTPFM.js';
@@ -1,12 +1,12 @@
1
1
  import '../chunk-OOC7Q67K.js';
2
- export { SegmentedControl } from '../chunk-AWSFK2IK.js';
3
- import '../chunk-I7VG6RQE.js';
2
+ export { SegmentedControl } from '../chunk-3JYCCTGK.js';
3
+ import '../chunk-HYRKTVKL.js';
4
4
  import '../chunk-WIATRXEJ.js';
5
5
  import '../chunk-EGMQURBR.js';
6
6
  import '../chunk-BHHIIK3M.js';
7
- import '../chunk-TKS7FTTO.js';
8
- import '../chunk-HD4QJ2SI.js';
9
- import '../chunk-EA23JG6R.js';
7
+ import '../chunk-7QE27DWU.js';
8
+ import '../chunk-QKXQC5D6.js';
9
+ import '../chunk-XSPCITPN.js';
10
10
  import '../chunk-OMV5W53A.js';
11
11
  import '../chunk-2YTOOH3A.js';
12
12
  import '../chunk-H5XTJ7GJ.js';
@@ -1,8 +1,8 @@
1
- export { SelectionBar } from '../chunk-NK3D66PB.js';
1
+ export { SelectionBar } from '../chunk-3FGBMI36.js';
2
2
  import '../chunk-NR4CPM4T.js';
3
3
  import '../chunk-RSAQOKH3.js';
4
- import '../chunk-HD4QJ2SI.js';
5
- import '../chunk-EA23JG6R.js';
4
+ import '../chunk-QKXQC5D6.js';
5
+ import '../chunk-XSPCITPN.js';
6
6
  import '../chunk-OMV5W53A.js';
7
7
  import '../chunk-H5XTJ7GJ.js';
8
8
  import '../chunk-NUZHC6MM.js';
@@ -1,5 +1,5 @@
1
- export { SetupWizard } from '../chunk-D5OSP3KI.js';
2
- import '../chunk-CGT4R7LW.js';
1
+ export { SetupWizard } from '../chunk-QFGKFCL2.js';
2
+ import '../chunk-AP7GA5AA.js';
3
3
  import '../chunk-DKB73KZI.js';
4
4
  import '../chunk-WIATRXEJ.js';
5
5
  import '../chunk-GG4QZWMQ.js';
@@ -7,6 +7,6 @@ import '../chunk-TFGCNBWP.js';
7
7
  import '../chunk-BHHIIK3M.js';
8
8
  import '../chunk-PQADV6P6.js';
9
9
  import '../chunk-RTPQDNW3.js';
10
- import '../chunk-EA23JG6R.js';
10
+ import '../chunk-XSPCITPN.js';
11
11
  import '../chunk-BZFWDIV6.js';
12
12
  import '../chunk-ODEQTPFM.js';
@@ -1,9 +1,9 @@
1
- export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-OOZ5AGPS.js';
1
+ export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-EXP5RD3R.js';
2
2
  import '../chunk-XQZ6EWOE.js';
3
- import '../chunk-ES4HR34Y.js';
3
+ import '../chunk-UM3EKJXF.js';
4
4
  import '../chunk-STJ7QBC3.js';
5
5
  import '../chunk-DTIW4CHZ.js';
6
- import '../chunk-QZ4B72FP.js';
6
+ import '../chunk-SEMZEENR.js';
7
7
  import '../chunk-7KHM2FZH.js';
8
8
  import '../chunk-BPCY7ZID.js';
9
9
  import '../chunk-CI3VPIJN.js';
@@ -11,8 +11,8 @@ import '../chunk-5AQBPHZD.js';
11
11
  import '../chunk-PZKHBB7D.js';
12
12
  import '../chunk-PQADV6P6.js';
13
13
  import '../chunk-RTPQDNW3.js';
14
- import '../chunk-HD4QJ2SI.js';
15
- import '../chunk-EA23JG6R.js';
14
+ import '../chunk-QKXQC5D6.js';
15
+ import '../chunk-XSPCITPN.js';
16
16
  import '../chunk-OMV5W53A.js';
17
17
  import '../chunk-2YTOOH3A.js';
18
18
  import '../chunk-H5XTJ7GJ.js';
@@ -1,13 +1,13 @@
1
- export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-EBG3V4MK.js';
1
+ export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-ARZF7KEO.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-OYAXKHVW.js';
7
+ import '../chunk-YPGD2YWN.js';
8
8
  import '../chunk-AYKXMIOR.js';
9
- import '../chunk-AWSFK2IK.js';
10
- import '../chunk-I7VG6RQE.js';
9
+ import '../chunk-3JYCCTGK.js';
10
+ import '../chunk-HYRKTVKL.js';
11
11
  import '../chunk-WIATRXEJ.js';
12
12
  import '../chunk-EGMQURBR.js';
13
13
  import '../chunk-NHJQXDHA.js';
@@ -17,9 +17,9 @@ import '../chunk-XCUUI7E7.js';
17
17
  import '../chunk-BHHIIK3M.js';
18
18
  import '../chunk-PQADV6P6.js';
19
19
  import '../chunk-RSAQOKH3.js';
20
- import '../chunk-TKS7FTTO.js';
21
- import '../chunk-HD4QJ2SI.js';
22
- import '../chunk-EA23JG6R.js';
20
+ import '../chunk-7QE27DWU.js';
21
+ import '../chunk-QKXQC5D6.js';
22
+ import '../chunk-XSPCITPN.js';
23
23
  import '../chunk-OMV5W53A.js';
24
24
  import '../chunk-2YTOOH3A.js';
25
25
  import '../chunk-H5XTJ7GJ.js';
@@ -1,4 +1,4 @@
1
- export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-TD3UHDFY.js';
1
+ export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-DJ46CKSP.js';
2
2
  import '../chunk-O2EGEONV.js';
3
3
  import '../chunk-CENOOTAV.js';
4
4
  import '../chunk-3BYIWOTV.js';
@@ -14,9 +14,9 @@ import '../chunk-WIATRXEJ.js';
14
14
  import '../chunk-5AQBPHZD.js';
15
15
  import '../chunk-PZKHBB7D.js';
16
16
  import '../chunk-RSAQOKH3.js';
17
- import '../chunk-TKS7FTTO.js';
18
- import '../chunk-HD4QJ2SI.js';
19
- import '../chunk-EA23JG6R.js';
17
+ import '../chunk-7QE27DWU.js';
18
+ import '../chunk-QKXQC5D6.js';
19
+ import '../chunk-XSPCITPN.js';
20
20
  import '../chunk-OMV5W53A.js';
21
21
  import '../chunk-H5XTJ7GJ.js';
22
22
  import '../chunk-2BQYODY3.js';
@@ -31,12 +31,13 @@ export interface SidePanelProps {
31
31
  */
32
32
  footer?: ReactNode;
33
33
  /**
34
- * Drops the body's inset, for content that owns its own edges: a
34
+ * Drops the body's inset and its scrolling, for content that owns both: a
35
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.
36
+ * scrollbar stands on the panel's edge and the inset is not drawn twice.
37
+ * The body clips (`overflow: clip`) rather than scrolls, so a focus or a
38
+ * script inside cannot move it; content that may be taller than the panel
39
+ * scrolls itself (`min-height: 0` in the body's column, as `ChatThread`
40
+ * does). `--crewlet-side-panel-inset` reads 0 inside the body.
40
41
  */
41
42
  flush?: boolean | undefined;
42
43
  /**
@@ -34,7 +34,7 @@ export interface SidePanelBaseProps {
34
34
  closeLabel: string;
35
35
  actions?: ReactNode;
36
36
  footer?: ReactNode;
37
- /** Whether the body drops its inset, for content that draws its own. */
37
+ /** Whether the body drops its inset and its scrolling, for content that owns both. */
38
38
  flush?: boolean | undefined;
39
39
  initialFocus?: SidePanelInitialFocus | undefined;
40
40
  /** Whether the heading draws the focus ring when it holds focus. */
@@ -1,4 +1,4 @@
1
- import '../chunk-NVZCANJ5.js';
1
+ import '../chunk-73GUXYYE.js';
2
2
  export { SIDE_PANEL_LABELS, SIDE_PANEL_MAX_WIDTH, SIDE_PANEL_MIN_WIDTH, SIDE_PANEL_WIDTH, SidePanel, SidePanelFrame } from '../chunk-XODESBSR.js';
3
3
  import '../chunk-PQADV6P6.js';
4
4
  import '../chunk-PIYJNCN7.js';
@@ -157,11 +157,19 @@
157
157
  overscroll-behavior: contain;
158
158
  }
159
159
 
160
- /* FLUSH, the body draws no inset of its own: what it holds owns its edges
161
- (a chat thread that scrolls and insets itself). The published inset reads 0
162
- inside it, so anything that offsets itself by the inset follows. */
160
+ /* FLUSH, the body draws no inset of its own and does not scroll: what it
161
+ holds owns its edges and its scrolling (a chat thread that scrolls and
162
+ insets itself, shrunk to the body by `min-height: 0`). The published inset
163
+ reads 0 inside it, so anything that offsets itself by the inset follows.
164
+
165
+ CLIPPED, NOT SCROLLABLE. `overflow: hidden` would still be a scroll
166
+ container, which a focus, `scrollIntoView` or a script can scroll; a flush
167
+ body that was scrolled 238px lifted its thread off the panel's foot and
168
+ left a blank band no wheel could reach. `clip` is not a scroll container,
169
+ so nothing moves it. */
163
170
  .crewlet-side-panel__body--flush {
164
171
  --crewlet-side-panel-inset: 0px;
172
+ overflow: clip;
165
173
  }
166
174
 
167
175
  /* THE FOOT holds the panel's own commit, outside the scrolling body, so it
@@ -1,7 +1,7 @@
1
- export { SLIDE_COMPARE_LABELS, SlideCompare } from '../chunk-UV4LOQ3E.js';
1
+ export { SLIDE_COMPARE_LABELS, SlideCompare } from '../chunk-JIG4D2IQ.js';
2
2
  import '../chunk-RMEBFYL7.js';
3
- import '../chunk-HD4QJ2SI.js';
4
- import '../chunk-EA23JG6R.js';
3
+ import '../chunk-QKXQC5D6.js';
4
+ import '../chunk-XSPCITPN.js';
5
5
  import '../chunk-OMV5W53A.js';
6
6
  import '../chunk-H5XTJ7GJ.js';
7
7
  import '../chunk-NUZHC6MM.js';
@@ -1,11 +1,11 @@
1
- export { SlideFilmstrip } from '../chunk-WOW5SCEK.js';
1
+ export { SlideFilmstrip } from '../chunk-BA2KFNUD.js';
2
2
  import '../chunk-RMEBFYL7.js';
3
3
  import '../chunk-XJ2QEBMM.js';
4
4
  import '../chunk-SMBKXWML.js';
5
5
  import '../chunk-RSAQOKH3.js';
6
- import '../chunk-TKS7FTTO.js';
7
- import '../chunk-HD4QJ2SI.js';
8
- import '../chunk-EA23JG6R.js';
6
+ import '../chunk-7QE27DWU.js';
7
+ import '../chunk-QKXQC5D6.js';
8
+ import '../chunk-XSPCITPN.js';
9
9
  import '../chunk-OMV5W53A.js';
10
10
  import '../chunk-H5XTJ7GJ.js';
11
11
  import '../chunk-2BQYODY3.js';
@@ -11,8 +11,12 @@ export interface SpinnerProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'chi
11
11
  size?: SpinnerSize | undefined;
12
12
  }
13
13
  /**
14
- * Work under way, drawn as the package's one ring: a 2px ring in the current
15
- * ink with its right quarter open, turning once per slow motion step.
14
+ * Work under way, drawn as the package's one ring: a 2px arc in the current
15
+ * ink that turns once a second (`--motion-duration-turn`) while its length
16
+ * breathes between a quarter and three quarters of the ring on a slower cycle
17
+ * (`--motion-duration-sweep`). It used to turn once per slow transition step
18
+ * (300ms), more than three turns a second, which read as alarm rather than as
19
+ * steady work.
16
20
  *
17
21
  * ONE RING FOR THE WHOLE PACKAGE. A button's pending state, a request's state
18
22
  * column and a status tag all draw this element, so a screen that shows three
@@ -1,2 +1,2 @@
1
- export { Spinner } from '../chunk-EA23JG6R.js';
1
+ export { Spinner } from '../chunk-XSPCITPN.js';
2
2
  import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,100 @@
1
+ /*
2
+ * The package's one ring. See Spinner.tsx for why it is inline-block, why it
3
+ * stays open when it stops, and why its ink is the current colour.
4
+ */
5
+
6
+ /*
7
+ * THE ARC'S LENGTH, registered so it can be animated. An unregistered custom
8
+ * property animates in a single step at the halfway point, which would make
9
+ * the arc jump rather than breathe. Its initial value is the arc at rest: three
10
+ * quarters of the ring, the right quarter open.
11
+ */
12
+ @property --crewlet-spinner-arc {
13
+ syntax: '<angle>';
14
+ inherits: false;
15
+ initial-value: 270deg;
16
+ }
17
+
18
+ /*
19
+ * The ring is a full 2px border cut to an arc by a mask, so the stroke is the
20
+ * same 2px at every size and the arc's length can move while the ring turns.
21
+ * The arc is centred on the left (270deg), so it grows and shrinks at both ends
22
+ * at once and the open quarter at rest sits on the right. Each end is feathered
23
+ * over a few degrees, so it reads as a soft cap rather than a hard cut. A mask
24
+ * reads only alpha, so its black is opacity rather than a colour.
25
+ */
26
+ .crewlet-spinner {
27
+ --crewlet-spinner-from: calc(270deg - var(--crewlet-spinner-arc) / 2);
28
+ display: inline-block;
29
+ box-sizing: border-box;
30
+ flex: none;
31
+ width: 1em;
32
+ height: 1em;
33
+ border: 2px solid currentColor;
34
+ border-radius: var(--radius-circle);
35
+ opacity: 0.7;
36
+ -webkit-mask-image: conic-gradient(
37
+ from var(--crewlet-spinner-from),
38
+ transparent 0deg,
39
+ #000 6deg,
40
+ #000 calc(var(--crewlet-spinner-arc) - 6deg),
41
+ transparent var(--crewlet-spinner-arc)
42
+ );
43
+ mask-image: conic-gradient(
44
+ from var(--crewlet-spinner-from),
45
+ transparent 0deg,
46
+ #000 6deg,
47
+ #000 calc(var(--crewlet-spinner-arc) - 6deg),
48
+ transparent var(--crewlet-spinner-arc)
49
+ );
50
+ /*
51
+ * Two motions, one definition for every ring in the package: one steady turn
52
+ * a second, and the arc breathing between a quarter and three quarters of the
53
+ * ring on a slower cycle, so the ends ease apart and together while it turns.
54
+ */
55
+ animation:
56
+ crewlet-spinner-turn var(--motion-duration-turn) linear infinite,
57
+ crewlet-spinner-sweep var(--motion-duration-sweep) var(--motion-easing-in-out) infinite;
58
+ }
59
+
60
+ /* The glyph scale of @crewlethq/icons: xs 12px, sm 14px, md 16px. */
61
+ .crewlet-spinner--xs {
62
+ width: var(--font-size-xs);
63
+ height: var(--font-size-xs);
64
+ }
65
+
66
+ .crewlet-spinner--sm {
67
+ width: var(--font-size-sm);
68
+ height: var(--font-size-sm);
69
+ }
70
+
71
+ .crewlet-spinner--md {
72
+ width: var(--font-size-md);
73
+ height: var(--font-size-md);
74
+ }
75
+
76
+ @keyframes crewlet-spinner-turn {
77
+ to {
78
+ transform: rotate(360deg);
79
+ }
80
+ }
81
+
82
+ @keyframes crewlet-spinner-sweep {
83
+ 0%,
84
+ 100% {
85
+ --crewlet-spinner-arc: 90deg;
86
+ }
87
+
88
+ 50% {
89
+ --crewlet-spinner-arc: 270deg;
90
+ }
91
+ }
92
+
93
+ /* It stops, and keeps its open quarter: a closed ring reads as an empty status
94
+ circle, the open one still reads as pending. With both motions off, the arc
95
+ takes its registered initial value, three quarters of the ring. */
96
+ @media (prefers-reduced-motion: reduce) {
97
+ .crewlet-spinner {
98
+ animation: none;
99
+ }
100
+ }
@@ -1,5 +1,5 @@
1
- export { STEP_STATES, STEP_STATE_LABELS, StepList, StepStateMark, Stepper, stepDetailPieces } from '../chunk-CGT4R7LW.js';
1
+ export { STEP_STATES, STEP_STATE_LABELS, StepList, StepStateMark, Stepper, stepDetailPieces } from '../chunk-AP7GA5AA.js';
2
2
  import '../chunk-WIATRXEJ.js';
3
- import '../chunk-EA23JG6R.js';
3
+ import '../chunk-XSPCITPN.js';
4
4
  import '../chunk-BZFWDIV6.js';
5
5
  import '../chunk-ODEQTPFM.js';