@crewlethq/ui 0.45.0 → 0.47.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 (123) hide show
  1. package/README.md +28 -0
  2. package/dist/AgentHandoffPanel/index.js +6 -3
  3. package/dist/AppShell/index.js +3 -3
  4. package/dist/ArrangeList/index.js +5 -3
  5. package/dist/ArtifactBar/index.js +5 -5
  6. package/dist/AvatarPicker/index.js +6 -6
  7. package/dist/Canvas/index.js +1 -1
  8. package/dist/CanvasBoard/index.js +1 -1
  9. package/dist/CanvasToolbar/index.js +1 -1
  10. package/dist/CatalogTile/index.js +1 -1
  11. package/dist/{CatalogTile-VPSLCKJE.css → CatalogTile-26XN7L2A.css} +13 -7
  12. package/dist/CharacterCount/CharacterCount.d.ts +63 -0
  13. package/dist/CharacterCount/index.d.ts +3 -0
  14. package/dist/CharacterCount/index.js +4 -0
  15. package/dist/CharacterCount-S735DICR.css +29 -0
  16. package/dist/Checkbox/index.js +5 -2
  17. package/dist/Combobox/index.js +5 -3
  18. package/dist/CommandPalette/index.js +6 -4
  19. package/dist/CommentThread/index.js +6 -3
  20. package/dist/Composer/index.js +5 -2
  21. package/dist/ConfirmField/index.js +5 -2
  22. package/dist/DataTable/index.js +8 -6
  23. package/dist/DataView/index.js +9 -7
  24. package/dist/DateTimePicker/index.js +1 -1
  25. package/dist/DocTabsEditor/index.js +5 -4
  26. package/dist/EditingStatus/index.js +2 -1
  27. package/dist/{Editor-AMO2B54T.js → Editor-MLGK3KOG.js} +6 -4
  28. package/dist/FollowBanner/index.js +2 -2
  29. package/dist/HuePicker/index.js +5 -5
  30. package/dist/InlineEditor/InlineEditor.d.ts +86 -0
  31. package/dist/InlineEditor/index.d.ts +3 -0
  32. package/dist/InlineEditor/index.js +9 -0
  33. package/dist/InlineEditor-W55DDKML.css +72 -0
  34. package/dist/Input/FormField.d.ts +27 -1
  35. package/dist/Input/Textarea.d.ts +16 -0
  36. package/dist/Input/index.d.ts +3 -2
  37. package/dist/Input/index.js +4 -1
  38. package/dist/{Input-OQZBCRX5.css → Input-VDSV7VWJ.css} +19 -0
  39. package/dist/LinkInterstitial/index.js +3 -3
  40. package/dist/List/List.d.ts +16 -1
  41. package/dist/List/index.js +1 -1
  42. package/dist/{List-YHLIZFK4.css → List-XY445TKY.css} +31 -0
  43. package/dist/ListInput/ListInput.d.ts +87 -2
  44. package/dist/ListInput/index.d.ts +2 -2
  45. package/dist/ListInput/index.js +5 -2
  46. package/dist/{ListInput-O7LJKOIG.css → ListInput-WUP2YITQ.css} +147 -2
  47. package/dist/MarkdownEditor/index.js +5 -5
  48. package/dist/Menu/index.js +2 -2
  49. package/dist/MergeConflicts/index.js +5 -5
  50. package/dist/Modal/index.js +2 -2
  51. package/dist/PresenterView/index.js +3 -3
  52. package/dist/PrincipalPicker/index.js +6 -4
  53. package/dist/RelatedRow/index.js +2 -2
  54. package/dist/RichEditor/index.js +1 -1
  55. package/dist/SegmentedControl/index.js +4 -4
  56. package/dist/Select/index.js +1 -1
  57. package/dist/ShareDialog/index.js +3 -3
  58. package/dist/SheetColumnEditor/index.js +10 -8
  59. package/dist/SheetGrid/index.js +3 -3
  60. package/dist/SlideCompare/index.js +1 -1
  61. package/dist/SlideFilmstrip/index.js +3 -3
  62. package/dist/Switcher/index.js +5 -4
  63. package/dist/Tabs/index.js +3 -3
  64. package/dist/Text/Text.d.ts +8 -0
  65. package/dist/Text/index.js +1 -1
  66. package/dist/{Text-S3Q4O3IG.css → Text-XOCOU34C.css} +9 -0
  67. package/dist/ThemeSwitcher/index.js +5 -5
  68. package/dist/TileGrid/index.js +1 -1
  69. package/dist/{TileGrid-I6LNYD2H.css → TileGrid-UYMVVVJK.css} +30 -0
  70. package/dist/TimeWindowPicker/index.js +5 -3
  71. package/dist/TreeCanvas/index.js +1 -1
  72. package/dist/VersionCompare/index.js +5 -5
  73. package/dist/{chunk-5AHDGYKN.js → chunk-2KQR6JKE.js} +2 -2
  74. package/dist/{chunk-4DIKLY53.js → chunk-32TGEMQQ.js} +1 -1
  75. package/dist/{chunk-QOP7QYUW.js → chunk-34RMTXDZ.js} +1 -1
  76. package/dist/{chunk-Q7HLZH32.js → chunk-3QSKDZR5.js} +1 -1
  77. package/dist/{chunk-BVFMLSE3.js → chunk-5EBDOE3C.js} +1 -1
  78. package/dist/{chunk-W53CWWX3.js → chunk-627KFRON.js} +2 -2
  79. package/dist/{chunk-AGNZIT3Z.js → chunk-6EBGPCAW.js} +1 -1
  80. package/dist/{chunk-BF5WV7NM.js → chunk-6FVGSWLS.js} +1 -1
  81. package/dist/{chunk-7CXGSS7D.js → chunk-6R5BSA36.js} +1 -1
  82. package/dist/{chunk-NF6SWHQI.js → chunk-7JED2NYP.js} +2 -2
  83. package/dist/chunk-7P336RA5.js +147 -0
  84. package/dist/{chunk-GI3S6RMM.js → chunk-AS2BMY3E.js} +3 -3
  85. package/dist/{chunk-N3SHQ3VU.js → chunk-CWKWMIIJ.js} +1 -1
  86. package/dist/{chunk-KKUJSMLF.js → chunk-DY4DQ7EB.js} +1 -1
  87. package/dist/{chunk-ZI5G5RS7.js → chunk-EXRRTKWT.js} +59 -9
  88. package/dist/{chunk-EY7LACIR.js → chunk-F57N6ZJG.js} +1 -1
  89. package/dist/chunk-ICVS3U4S.js +436 -0
  90. package/dist/{chunk-KA75QPFM.js → chunk-ILFEWRLG.js} +1 -1
  91. package/dist/{chunk-JF3TJUBU.js → chunk-JWNYI7UD.js} +1 -1
  92. package/dist/{chunk-GPIRKHGS.js → chunk-LIJQT74Y.js} +1 -1
  93. package/dist/{chunk-TC7DJTXI.js → chunk-MULOZYHL.js} +2 -0
  94. package/dist/{chunk-FV6H7H5I.js → chunk-MUQJCH2Y.js} +4 -4
  95. package/dist/{chunk-ZUTUI27P.js → chunk-N4GBDK4L.js} +1 -1
  96. package/dist/{chunk-Y4GXCKOC.js → chunk-OHJ2R2X4.js} +3 -3
  97. package/dist/{chunk-OWIGEE2Y.js → chunk-OO7QJCJQ.js} +2 -2
  98. package/dist/{chunk-MVGCZ655.js → chunk-OOJTPR7N.js} +1 -1
  99. package/dist/{chunk-NNTO3TNC.js → chunk-Q6CQMS6R.js} +1 -1
  100. package/dist/{chunk-IKBK4A5O.js → chunk-QP2P6GDQ.js} +1 -1
  101. package/dist/{chunk-U44WGRFW.js → chunk-RFPCHMSX.js} +1 -1
  102. package/dist/{chunk-LSRQJDGR.js → chunk-SEPSXOGJ.js} +1 -1
  103. package/dist/{chunk-MCOC3KQA.js → chunk-SQ4JFHO7.js} +1 -1
  104. package/dist/{chunk-DL5ERIFF.js → chunk-SS4XCUUJ.js} +2 -2
  105. package/dist/{chunk-NZWX27J7.js → chunk-TDQ262TB.js} +19 -3
  106. package/dist/{chunk-5GNA4RKP.js → chunk-TGSIVB6H.js} +1 -1
  107. package/dist/{chunk-6MAQ2SVP.js → chunk-TWZEWXNW.js} +3 -3
  108. package/dist/{chunk-UO5VJHWP.js → chunk-U4HOKU6P.js} +2 -2
  109. package/dist/{chunk-X6IJ7DAX.js → chunk-VKFG4FLE.js} +2 -2
  110. package/dist/chunk-XCUUI7E7.js +62 -0
  111. package/dist/{chunk-ENHLVF6Q.js → chunk-XS2FJVMT.js} +1 -1
  112. package/dist/{chunk-FG243QHY.js → chunk-ZCIL5IHU.js} +1 -1
  113. package/dist/generated/index.d.ts +2 -0
  114. package/dist/generated/index.js +76 -74
  115. package/dist/index.js +76 -74
  116. package/dist/styles.css +362 -15
  117. package/package.json +3 -3
  118. package/dist/chunk-NMYGJJJK.js +0 -263
  119. package/dist/{chunk-6IPEPSB5.js → chunk-245IXG5P.js} +0 -0
  120. package/dist/{chunk-OED6LUWE.js → chunk-4A4QG6UC.js} +1 -1
  121. package/dist/{chunk-FYINAYAJ.js → chunk-6AKG2VLR.js} +1 -1
  122. package/dist/{chunk-E6HXFFWO.js → chunk-ISDEXIXH.js} +1 -1
  123. package/dist/{chunk-PCI7ZJ6Z.js → chunk-TMM32U7D.js} +1 -1
@@ -13,6 +13,7 @@
13
13
  .crewlet-list-input__add {
14
14
  display: flex;
15
15
  align-items: flex-start;
16
+ gap: var(--spacing-2);
16
17
  }
17
18
 
18
19
  .crewlet-list-input__add > * {
@@ -21,6 +22,8 @@
21
22
  }
22
23
 
23
24
  .crewlet-list-input__items {
25
+ /* The rows lay themselves out by the list's own width (see NARROW below). */
26
+ container: crewlet-list-input / inline-size;
24
27
  list-style: none;
25
28
  margin: 0;
26
29
  padding: 0;
@@ -69,12 +72,77 @@
69
72
  border-block-end-style: none;
70
73
  }
71
74
 
72
- .crewlet-list-input__item > .crewlet-input,
73
- .crewlet-list-input__item > .crewlet-textarea {
75
+ /*
76
+ * THE FIELD TAKES THE ROW'S WIDTH, and holds the control with whatever is
77
+ * said under it (its count, its refusal) as one column, so a note under an
78
+ * item sits under the item's words and not under its number or its buttons.
79
+ */
80
+ .crewlet-list-input__field {
81
+ display: flex;
74
82
  flex: 1;
83
+ flex-direction: column;
84
+ min-width: 0;
85
+ }
86
+
87
+ .crewlet-list-input__field > .crewlet-input,
88
+ .crewlet-list-input__field > .crewlet-textarea,
89
+ .crewlet-list-input__field > .crewlet-textarea-shell {
90
+ width: 100%;
75
91
  min-width: 0;
76
92
  }
77
93
 
94
+ /* What is said under one item: its refusal at the start, its count at the end. */
95
+ .crewlet-list-input__note {
96
+ display: flex;
97
+ align-items: flex-start;
98
+ justify-content: space-between;
99
+ gap: var(--spacing-3);
100
+ padding-bottom: var(--spacing-1);
101
+ }
102
+
103
+ .crewlet-list-input__error {
104
+ min-width: 0;
105
+ font-size: var(--font-size-xs);
106
+ line-height: var(--font-line-height-normal);
107
+ color: var(--color-feedback-danger-ink);
108
+ }
109
+
110
+ /*
111
+ * THE ROW A REMOVED ITEM LEAVES (`undoRemove`): the item's own place in the
112
+ * order, at a row's height and on the row's rule, saying what happened in the
113
+ * quiet ink with Undo beside it, so the list does not close up over the place
114
+ * an Undo would put it back.
115
+ */
116
+ .crewlet-list-input__removed {
117
+ display: flex;
118
+ align-items: center;
119
+ gap: var(--spacing-2);
120
+ padding: var(--spacing-1) var(--spacing-3);
121
+ border-block-end-width: 1px;
122
+ border-block-end-style: solid;
123
+ border-block-end-color: var(--color-border-default);
124
+ background: var(--color-surface-subtle);
125
+ }
126
+
127
+ .crewlet-list-input__removed:last-child {
128
+ border-block-end-style: none;
129
+ }
130
+
131
+ .crewlet-list-input__removed-text {
132
+ flex: 1;
133
+ min-width: 0;
134
+ font-size: var(--font-size-compact);
135
+ color: var(--color-text-secondary);
136
+ }
137
+
138
+ /* Where the new-item box was, once the list holds all it may. */
139
+ .crewlet-list-input__full {
140
+ margin: 0;
141
+ font-size: var(--font-size-xs);
142
+ line-height: var(--font-line-height-normal);
143
+ color: var(--color-text-tertiary);
144
+ }
145
+
78
146
  /*
79
147
  * THE ITEM'S CONTROL READS AS THE TEXT IT HOLDS, until it is reached. A
80
148
  * bordered box per row would draw the card's rule twice and turn the list
@@ -140,8 +208,85 @@
140
208
  opacity: 1;
141
209
  }
142
210
 
211
+ /*
212
+ * THE GRIP (`reorderByDrag`) waits with the move pair: the pointer's way to
213
+ * take hold of a row, shown under the pointer and while the row holds the
214
+ * focus, in the quiet ink so the row's number stays the first mark on it.
215
+ */
216
+ .crewlet-list-input__handle {
217
+ display: inline-flex;
218
+ flex: none;
219
+ align-items: center;
220
+ justify-content: center;
221
+ margin-inline-start: calc(var(--spacing-1) * -1);
222
+ color: var(--color-text-tertiary);
223
+ cursor: grab;
224
+ opacity: 0;
225
+ transition: opacity var(--motion-duration-fast) var(--motion-easing-default);
226
+ }
227
+
228
+ .crewlet-list-input__handle:active {
229
+ cursor: grabbing;
230
+ }
231
+
232
+ .crewlet-list-input__item:hover .crewlet-list-input__handle,
233
+ .crewlet-list-input__item:focus-within .crewlet-list-input__handle {
234
+ opacity: 1;
235
+ }
236
+
237
+ /* The row being dragged keeps its place as an outline, so the list does not
238
+ close up under the pointer and the reader can see where it came from. */
239
+ .crewlet-list-input__item[data-reorder='dragging'] {
240
+ outline-width: 1px;
241
+ outline-style: dashed;
242
+ outline-color: var(--color-border-strong);
243
+ outline-offset: -1px;
244
+ }
245
+
246
+ .crewlet-list-input__item[data-reorder='dragging'] > * {
247
+ opacity: 0.4;
248
+ }
249
+
143
250
  @media (prefers-reduced-motion: reduce) {
144
251
  .crewlet-list-input__move {
145
252
  transition: none;
146
253
  }
254
+
255
+ .crewlet-list-input__handle {
256
+ transition: none;
257
+ }
258
+ }
259
+
260
+ /* With a hidden legend the add control stands at the end of the box's row. */
261
+ .crewlet-list-input__add-control {
262
+ display: inline-flex;
263
+ flex: none;
264
+ align-self: center;
265
+ }
266
+
267
+ /*
268
+ * NARROW: THE WORDS GET THE ROW. Under 28rem a row's grip, number and three
269
+ * buttons took half of it, so at a 390px phone each policy wrapped at some
270
+ * twenty characters a line and eight of them stood 1500px tall. There the
271
+ * row wraps: the number and the field share the first line, and the buttons
272
+ * stand at the end of a second, under the words. By the list's own width,
273
+ * not the window's, so a narrow column on a wide screen is narrow too.
274
+ */
275
+ @container crewlet-list-input (width < 28rem) {
276
+ .crewlet-list-input__item {
277
+ flex-wrap: wrap;
278
+ row-gap: 0;
279
+ }
280
+
281
+ .crewlet-list-input__item > .crewlet-list-input__field {
282
+ flex-basis: calc(100% - var(--spacing-4) - var(--spacing-2));
283
+ }
284
+
285
+ .crewlet-list-input__item--draggable > .crewlet-list-input__field {
286
+ flex-basis: calc(100% - var(--spacing-4) * 2 - var(--spacing-2) * 2);
287
+ }
288
+
289
+ .crewlet-list-input__item > .crewlet-list-input__actions {
290
+ margin-inline-start: auto;
291
+ }
147
292
  }
@@ -1,16 +1,16 @@
1
- export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-DL5ERIFF.js';
1
+ export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-SS4XCUUJ.js';
2
2
  import '../chunk-NR4CPM4T.js';
3
3
  import '../chunk-OOC7Q67K.js';
4
- import '../chunk-BF5WV7NM.js';
5
- import '../chunk-KA75QPFM.js';
4
+ import '../chunk-6FVGSWLS.js';
5
+ import '../chunk-ILFEWRLG.js';
6
6
  import '../chunk-WIATRXEJ.js';
7
7
  import '../chunk-EGMQURBR.js';
8
8
  import '../chunk-BHHIIK3M.js';
9
- import '../chunk-PCI7ZJ6Z.js';
9
+ import '../chunk-TMM32U7D.js';
10
10
  import '../chunk-OMV5W53A.js';
11
- import '../chunk-H5XTJ7GJ.js';
12
11
  import '../chunk-2YTOOH3A.js';
13
12
  import '../chunk-OG6CL3EB.js';
13
+ import '../chunk-H5XTJ7GJ.js';
14
14
  import '../chunk-LACA4JGC.js';
15
15
  import '../chunk-NUZHC6MM.js';
16
16
  import '../chunk-BZFWDIV6.js';
@@ -1,7 +1,7 @@
1
- export { Menu } from '../chunk-PCI7ZJ6Z.js';
1
+ export { Menu } from '../chunk-TMM32U7D.js';
2
2
  import '../chunk-OMV5W53A.js';
3
- import '../chunk-H5XTJ7GJ.js';
4
3
  import '../chunk-OG6CL3EB.js';
4
+ import '../chunk-H5XTJ7GJ.js';
5
5
  import '../chunk-LACA4JGC.js';
6
6
  import '../chunk-NUZHC6MM.js';
7
7
  import '../chunk-BZFWDIV6.js';
@@ -1,15 +1,15 @@
1
- export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-ENHLVF6Q.js';
1
+ export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-XS2FJVMT.js';
2
2
  import '../chunk-OOC7Q67K.js';
3
- import '../chunk-BF5WV7NM.js';
4
- import '../chunk-KA75QPFM.js';
3
+ import '../chunk-6FVGSWLS.js';
4
+ import '../chunk-ILFEWRLG.js';
5
5
  import '../chunk-WIATRXEJ.js';
6
6
  import '../chunk-EGMQURBR.js';
7
7
  import '../chunk-BHHIIK3M.js';
8
- import '../chunk-PCI7ZJ6Z.js';
8
+ import '../chunk-TMM32U7D.js';
9
9
  import '../chunk-OMV5W53A.js';
10
- import '../chunk-H5XTJ7GJ.js';
11
10
  import '../chunk-2YTOOH3A.js';
12
11
  import '../chunk-OG6CL3EB.js';
12
+ import '../chunk-H5XTJ7GJ.js';
13
13
  import '../chunk-LACA4JGC.js';
14
14
  import '../chunk-NUZHC6MM.js';
15
15
  import '../chunk-BZFWDIV6.js';
@@ -1,8 +1,8 @@
1
- export { ConfirmModal, Modal } from '../chunk-FYINAYAJ.js';
1
+ export { ConfirmModal, Modal } from '../chunk-6AKG2VLR.js';
2
2
  import '../chunk-PQADV6P6.js';
3
3
  import '../chunk-OMV5W53A.js';
4
- import '../chunk-H5XTJ7GJ.js';
5
4
  import '../chunk-OG6CL3EB.js';
5
+ import '../chunk-H5XTJ7GJ.js';
6
6
  import '../chunk-LACA4JGC.js';
7
7
  import '../chunk-NUZHC6MM.js';
8
8
  import '../chunk-BZFWDIV6.js';
@@ -1,10 +1,10 @@
1
- export { PresenterView, formatStopwatch } from '../chunk-E6HXFFWO.js';
2
- import '../chunk-RRO7UEYU.js';
1
+ export { PresenterView, formatStopwatch } from '../chunk-ISDEXIXH.js';
3
2
  import '../chunk-RMEBFYL7.js';
3
+ import '../chunk-RRO7UEYU.js';
4
4
  import '../chunk-RK4XPHVG.js';
5
5
  import '../chunk-OMV5W53A.js';
6
- import '../chunk-H5XTJ7GJ.js';
7
6
  import '../chunk-OG6CL3EB.js';
7
+ import '../chunk-H5XTJ7GJ.js';
8
8
  import '../chunk-LACA4JGC.js';
9
9
  import '../chunk-NUZHC6MM.js';
10
10
  import '../chunk-BZFWDIV6.js';
@@ -1,13 +1,15 @@
1
- export { PrincipalPicker } from '../chunk-4DIKLY53.js';
2
- import '../chunk-MVGCZ655.js';
1
+ export { PrincipalPicker } from '../chunk-32TGEMQQ.js';
2
+ import '../chunk-OOJTPR7N.js';
3
3
  import '../chunk-7KHM2FZH.js';
4
4
  import '../chunk-CI3VPIJN.js';
5
5
  import '../chunk-5AQBPHZD.js';
6
6
  import '../chunk-PZKHBB7D.js';
7
- import '../chunk-ZI5G5RS7.js';
7
+ import '../chunk-EXRRTKWT.js';
8
+ import '../chunk-XCUUI7E7.js';
8
9
  import '../chunk-PQADV6P6.js';
9
- import '../chunk-H5XTJ7GJ.js';
10
+ import '../chunk-RSAQOKH3.js';
10
11
  import '../chunk-2YTOOH3A.js';
12
+ import '../chunk-H5XTJ7GJ.js';
11
13
  import '../chunk-LACA4JGC.js';
12
14
  import '../chunk-NUZHC6MM.js';
13
15
  import '../chunk-BZFWDIV6.js';
@@ -1,5 +1,5 @@
1
- export { RelatedRow } from '../chunk-ZUTUI27P.js';
2
- import '../chunk-IKBK4A5O.js';
1
+ export { RelatedRow } from '../chunk-N4GBDK4L.js';
2
+ import '../chunk-QP2P6GDQ.js';
3
3
  import '../chunk-ZAC7SKUN.js';
4
4
  import '../chunk-INHXF2CL.js';
5
5
  import '../chunk-AV2DXAEL.js';
@@ -1,4 +1,4 @@
1
- export { RichEditor, preloadRichEditor } from '../chunk-JF3TJUBU.js';
1
+ export { RichEditor, preloadRichEditor } from '../chunk-JWNYI7UD.js';
2
2
  export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-CSQTDGTS.js';
3
3
  import '../chunk-BAKPMH3S.js';
4
4
  import '../chunk-SZZRIHGT.js';
@@ -1,14 +1,14 @@
1
1
  import '../chunk-OOC7Q67K.js';
2
- export { SegmentedControl } from '../chunk-BF5WV7NM.js';
3
- import '../chunk-KA75QPFM.js';
2
+ export { SegmentedControl } from '../chunk-6FVGSWLS.js';
3
+ import '../chunk-ILFEWRLG.js';
4
4
  import '../chunk-WIATRXEJ.js';
5
5
  import '../chunk-EGMQURBR.js';
6
6
  import '../chunk-BHHIIK3M.js';
7
- import '../chunk-PCI7ZJ6Z.js';
7
+ import '../chunk-TMM32U7D.js';
8
8
  import '../chunk-OMV5W53A.js';
9
- import '../chunk-H5XTJ7GJ.js';
10
9
  import '../chunk-2YTOOH3A.js';
11
10
  import '../chunk-OG6CL3EB.js';
11
+ import '../chunk-H5XTJ7GJ.js';
12
12
  import '../chunk-LACA4JGC.js';
13
13
  import '../chunk-NUZHC6MM.js';
14
14
  import '../chunk-BZFWDIV6.js';
@@ -1,7 +1,7 @@
1
1
  export { Select } from '../chunk-XQZ6EWOE.js';
2
2
  import '../chunk-7KHM2FZH.js';
3
3
  import '../chunk-OMV5W53A.js';
4
- import '../chunk-H5XTJ7GJ.js';
5
4
  import '../chunk-2YTOOH3A.js';
5
+ import '../chunk-H5XTJ7GJ.js';
6
6
  import '../chunk-NUZHC6MM.js';
7
7
  import '../chunk-ODEQTPFM.js';
@@ -1,9 +1,9 @@
1
- export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-BVFMLSE3.js';
1
+ export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-5EBDOE3C.js';
2
2
  import '../chunk-XQZ6EWOE.js';
3
3
  import '../chunk-7SHAFLEX.js';
4
4
  import '../chunk-STJ7QBC3.js';
5
5
  import '../chunk-DTIW4CHZ.js';
6
- import '../chunk-FYINAYAJ.js';
6
+ import '../chunk-6AKG2VLR.js';
7
7
  import '../chunk-7KHM2FZH.js';
8
8
  import '../chunk-SZZRIHGT.js';
9
9
  import '../chunk-CI3VPIJN.js';
@@ -12,9 +12,9 @@ import '../chunk-PZKHBB7D.js';
12
12
  import '../chunk-PQADV6P6.js';
13
13
  import '../chunk-RTPQDNW3.js';
14
14
  import '../chunk-OMV5W53A.js';
15
- import '../chunk-H5XTJ7GJ.js';
16
15
  import '../chunk-2YTOOH3A.js';
17
16
  import '../chunk-OG6CL3EB.js';
17
+ import '../chunk-H5XTJ7GJ.js';
18
18
  import '../chunk-LACA4JGC.js';
19
19
  import '../chunk-NUZHC6MM.js';
20
20
  import '../chunk-BZFWDIV6.js';
@@ -1,25 +1,27 @@
1
- export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-FV6H7H5I.js';
1
+ export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-MUQJCH2Y.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-QOP7QYUW.js';
7
+ import '../chunk-34RMTXDZ.js';
8
8
  import '../chunk-AYKXMIOR.js';
9
- import '../chunk-EY7LACIR.js';
10
- import '../chunk-BF5WV7NM.js';
11
- import '../chunk-KA75QPFM.js';
9
+ import '../chunk-F57N6ZJG.js';
10
+ import '../chunk-6FVGSWLS.js';
11
+ import '../chunk-ILFEWRLG.js';
12
12
  import '../chunk-WIATRXEJ.js';
13
13
  import '../chunk-EGMQURBR.js';
14
- import '../chunk-ZI5G5RS7.js';
14
+ import '../chunk-EXRRTKWT.js';
15
+ import '../chunk-XCUUI7E7.js';
15
16
  import '../chunk-SMBKXWML.js';
16
17
  import '../chunk-BHHIIK3M.js';
17
18
  import '../chunk-PQADV6P6.js';
18
- import '../chunk-PCI7ZJ6Z.js';
19
+ import '../chunk-RSAQOKH3.js';
20
+ import '../chunk-TMM32U7D.js';
19
21
  import '../chunk-OMV5W53A.js';
20
- import '../chunk-H5XTJ7GJ.js';
21
22
  import '../chunk-2YTOOH3A.js';
22
23
  import '../chunk-OG6CL3EB.js';
24
+ import '../chunk-H5XTJ7GJ.js';
23
25
  import '../chunk-LACA4JGC.js';
24
26
  import '../chunk-NUZHC6MM.js';
25
27
  import '../chunk-BZFWDIV6.js';
@@ -1,4 +1,4 @@
1
- export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-OWIGEE2Y.js';
1
+ export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-OO7QJCJQ.js';
2
2
  import '../chunk-O2EGEONV.js';
3
3
  import '../chunk-CENOOTAV.js';
4
4
  import '../chunk-KYIAFNU7.js';
@@ -14,10 +14,10 @@ import '../chunk-I33UIUZD.js';
14
14
  import '../chunk-5AQBPHZD.js';
15
15
  import '../chunk-PZKHBB7D.js';
16
16
  import '../chunk-RSAQOKH3.js';
17
- import '../chunk-PCI7ZJ6Z.js';
17
+ import '../chunk-TMM32U7D.js';
18
18
  import '../chunk-OMV5W53A.js';
19
- import '../chunk-H5XTJ7GJ.js';
20
19
  import '../chunk-OG6CL3EB.js';
20
+ import '../chunk-H5XTJ7GJ.js';
21
21
  import '../chunk-LACA4JGC.js';
22
22
  import '../chunk-NUZHC6MM.js';
23
23
  import '../chunk-BZFWDIV6.js';
@@ -1,8 +1,8 @@
1
1
  export { SLIDE_COMPARE_LABELS, SlideCompare } from '../chunk-7CGPPAYR.js';
2
2
  import '../chunk-RMEBFYL7.js';
3
3
  import '../chunk-OMV5W53A.js';
4
- import '../chunk-H5XTJ7GJ.js';
5
4
  import '../chunk-OG6CL3EB.js';
5
+ import '../chunk-H5XTJ7GJ.js';
6
6
  import '../chunk-NUZHC6MM.js';
7
7
  import '../chunk-BZFWDIV6.js';
8
8
  import '../chunk-ODEQTPFM.js';
@@ -1,12 +1,12 @@
1
- export { SlideFilmstrip } from '../chunk-MCOC3KQA.js';
1
+ export { SlideFilmstrip } from '../chunk-SQ4JFHO7.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-PCI7ZJ6Z.js';
6
+ import '../chunk-TMM32U7D.js';
7
7
  import '../chunk-OMV5W53A.js';
8
- import '../chunk-H5XTJ7GJ.js';
9
8
  import '../chunk-OG6CL3EB.js';
9
+ import '../chunk-H5XTJ7GJ.js';
10
10
  import '../chunk-LACA4JGC.js';
11
11
  import '../chunk-NUZHC6MM.js';
12
12
  import '../chunk-BZFWDIV6.js';
@@ -1,16 +1,17 @@
1
- export { Switcher } from '../chunk-NF6SWHQI.js';
2
- import '../chunk-FYINAYAJ.js';
1
+ export { Switcher } from '../chunk-7JED2NYP.js';
2
+ import '../chunk-6AKG2VLR.js';
3
3
  import '../chunk-7KHM2FZH.js';
4
4
  import '../chunk-KHJIEPZV.js';
5
5
  import '../chunk-FYTIJM2T.js';
6
6
  import '../chunk-TEUQWOWZ.js';
7
- import '../chunk-ZI5G5RS7.js';
7
+ import '../chunk-EXRRTKWT.js';
8
+ import '../chunk-XCUUI7E7.js';
8
9
  import '../chunk-PQADV6P6.js';
9
10
  import '../chunk-RSAQOKH3.js';
10
11
  import '../chunk-RTPQDNW3.js';
11
12
  import '../chunk-OMV5W53A.js';
12
- import '../chunk-H5XTJ7GJ.js';
13
13
  import '../chunk-OG6CL3EB.js';
14
+ import '../chunk-H5XTJ7GJ.js';
14
15
  import '../chunk-LACA4JGC.js';
15
16
  import '../chunk-NUZHC6MM.js';
16
17
  import '../chunk-BZFWDIV6.js';
@@ -1,12 +1,12 @@
1
- export { TabPanel, Tabs, tabId } from '../chunk-KA75QPFM.js';
1
+ export { TabPanel, Tabs, tabId } from '../chunk-ILFEWRLG.js';
2
2
  import '../chunk-WIATRXEJ.js';
3
3
  import '../chunk-EGMQURBR.js';
4
4
  import '../chunk-BHHIIK3M.js';
5
- import '../chunk-PCI7ZJ6Z.js';
5
+ import '../chunk-TMM32U7D.js';
6
6
  import '../chunk-OMV5W53A.js';
7
- import '../chunk-H5XTJ7GJ.js';
8
7
  import '../chunk-2YTOOH3A.js';
9
8
  import '../chunk-OG6CL3EB.js';
9
+ import '../chunk-H5XTJ7GJ.js';
10
10
  import '../chunk-LACA4JGC.js';
11
11
  import '../chunk-NUZHC6MM.js';
12
12
  import '../chunk-BZFWDIV6.js';
@@ -7,6 +7,14 @@ import type { ElementType, HTMLAttributes } from 'react';
7
7
  export type TextVariant =
8
8
  /** Body copy, 14px. The default, and the only one that needs no thought. */
9
9
  'body'
10
+ /**
11
+ * Words somebody wrote to be read whole, at the body's size: a mission on
12
+ * its card, a policy, a comment. The relaxed leading, the author's own line
13
+ * breaks kept, balanced last lines, and a long word or address broken
14
+ * rather than pushed past the column. Body copy reflows what it is given;
15
+ * a passage keeps it as it was written.
16
+ */
17
+ | 'passage'
10
18
  /** A value inside a dense row or table cell, 13px. */
11
19
  | 'cell'
12
20
  /** Metadata under or beside a value, 12px, on the tertiary step. */
@@ -1,2 +1,2 @@
1
- export { Text } from '../chunk-IKBK4A5O.js';
1
+ export { Text } from '../chunk-QP2P6GDQ.js';
2
2
  import '../chunk-ODEQTPFM.js';
@@ -66,6 +66,15 @@
66
66
  color: var(--color-text-primary);
67
67
  }
68
68
 
69
+ .crewlet-text--passage {
70
+ font-size: var(--font-size-sm);
71
+ line-height: var(--font-line-height-relaxed);
72
+ color: var(--color-text-primary);
73
+ white-space: pre-wrap;
74
+ overflow-wrap: anywhere;
75
+ text-wrap: pretty;
76
+ }
77
+
69
78
  .crewlet-text--cell {
70
79
  font-size: var(--font-size-compact);
71
80
  line-height: var(--font-line-height-snug);
@@ -1,17 +1,17 @@
1
- export { DensitySwitcher, ThemeSwitcher } from '../chunk-LSRQJDGR.js';
1
+ export { DensitySwitcher, ThemeSwitcher } from '../chunk-SEPSXOGJ.js';
2
2
  export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
3
3
  export { DENSITY_PREFERENCES, PALETTE_ID, THEME_PREFERENCES, applyDensity, applyPalette, applyTheme, isDensityPreference, isPaletteId, isThemePreference } from '../chunk-ZXXDZJQN.js';
4
4
  import '../chunk-OOC7Q67K.js';
5
- import '../chunk-BF5WV7NM.js';
6
- import '../chunk-KA75QPFM.js';
5
+ import '../chunk-6FVGSWLS.js';
6
+ import '../chunk-ILFEWRLG.js';
7
7
  import '../chunk-WIATRXEJ.js';
8
8
  import '../chunk-EGMQURBR.js';
9
9
  import '../chunk-BHHIIK3M.js';
10
- import '../chunk-PCI7ZJ6Z.js';
10
+ import '../chunk-TMM32U7D.js';
11
11
  import '../chunk-OMV5W53A.js';
12
- import '../chunk-H5XTJ7GJ.js';
13
12
  import '../chunk-2YTOOH3A.js';
14
13
  import '../chunk-OG6CL3EB.js';
14
+ import '../chunk-H5XTJ7GJ.js';
15
15
  import '../chunk-LACA4JGC.js';
16
16
  import '../chunk-NUZHC6MM.js';
17
17
  import '../chunk-BZFWDIV6.js';
@@ -1,2 +1,2 @@
1
- export { TileGrid } from '../chunk-NNTO3TNC.js';
1
+ export { TileGrid } from '../chunk-Q6CQMS6R.js';
2
2
  import '../chunk-ODEQTPFM.js';
@@ -50,3 +50,33 @@
50
50
  --crewlet-tile-grid-tracks: 1;
51
51
  }
52
52
  }
53
+
54
+ /*
55
+ * COMPACT TILES FOLD WIDER. A compact `CatalogTile` puts its mark, name,
56
+ * state, fact and action on ONE line, which needs about 30rem; the folds above
57
+ * are sized for a comfortable tile, whose parts stack. Measured at a 1024px
58
+ * window, two compact tiles on 415px tracks cut the name to its first letter.
59
+ * So a grid holding a compact tile folds where a track would be narrower than
60
+ * 30rem, counting the gaps: two tracks need 61rem, three 92rem (folding
61
+ * straight to one, as three always do), and four 123rem before they go to
62
+ * two. Declared here, on the grid, because the grid chooses the track count
63
+ * and the tile cannot.
64
+ */
65
+ @container crewlet-tile-grid (width < 123rem) {
66
+ .crewlet-tile-grid[data-columns='4']:has(.crewlet-catalog-tile--compact) > .crewlet-tile-grid__track {
67
+ --crewlet-tile-grid-tracks: 2;
68
+ }
69
+ }
70
+
71
+ @container crewlet-tile-grid (width < 92rem) {
72
+ .crewlet-tile-grid[data-columns='3']:has(.crewlet-catalog-tile--compact) > .crewlet-tile-grid__track {
73
+ --crewlet-tile-grid-tracks: 1;
74
+ }
75
+ }
76
+
77
+ @container crewlet-tile-grid (width < 61rem) {
78
+ /* As specific as the two rules above and after them, so it wins at every count. */
79
+ .crewlet-tile-grid[data-columns]:has(.crewlet-catalog-tile--compact) > .crewlet-tile-grid__track {
80
+ --crewlet-tile-grid-tracks: 1;
81
+ }
82
+ }
@@ -1,14 +1,16 @@
1
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-X6IJ7DAX.js';
1
+ export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-VKFG4FLE.js';
2
2
  import '../chunk-XQZ6EWOE.js';
3
3
  import '../chunk-7KHM2FZH.js';
4
4
  import '../chunk-KHJIEPZV.js';
5
5
  import '../chunk-GXQ3B46I.js';
6
- import '../chunk-ZI5G5RS7.js';
6
+ import '../chunk-EXRRTKWT.js';
7
+ import '../chunk-XCUUI7E7.js';
7
8
  import '../chunk-PQADV6P6.js';
9
+ import '../chunk-RSAQOKH3.js';
8
10
  import '../chunk-OMV5W53A.js';
9
- import '../chunk-H5XTJ7GJ.js';
10
11
  import '../chunk-2YTOOH3A.js';
11
12
  import '../chunk-OG6CL3EB.js';
13
+ import '../chunk-H5XTJ7GJ.js';
12
14
  import '../chunk-LACA4JGC.js';
13
15
  import '../chunk-NUZHC6MM.js';
14
16
  import '../chunk-BZFWDIV6.js';
@@ -5,8 +5,8 @@ import '../chunk-LM3ISVJA.js';
5
5
  import '../chunk-I33UIUZD.js';
6
6
  import '../chunk-SMBKXWML.js';
7
7
  import '../chunk-OMV5W53A.js';
8
- import '../chunk-H5XTJ7GJ.js';
9
8
  import '../chunk-OG6CL3EB.js';
9
+ import '../chunk-H5XTJ7GJ.js';
10
10
  import '../chunk-LACA4JGC.js';
11
11
  import '../chunk-NUZHC6MM.js';
12
12
  import '../chunk-BZFWDIV6.js';
@@ -1,18 +1,18 @@
1
- export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-U44WGRFW.js';
1
+ export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-RFPCHMSX.js';
2
2
  import '../chunk-BVWSLXTY.js';
3
3
  import '../chunk-OOC7Q67K.js';
4
- import '../chunk-BF5WV7NM.js';
5
- import '../chunk-KA75QPFM.js';
4
+ import '../chunk-6FVGSWLS.js';
5
+ import '../chunk-ILFEWRLG.js';
6
6
  import '../chunk-WIATRXEJ.js';
7
7
  import '../chunk-EGMQURBR.js';
8
8
  import '../chunk-PPUR46MK.js';
9
9
  import '../chunk-BHHIIK3M.js';
10
10
  import '../chunk-PQADV6P6.js';
11
- import '../chunk-PCI7ZJ6Z.js';
11
+ import '../chunk-TMM32U7D.js';
12
12
  import '../chunk-OMV5W53A.js';
13
- import '../chunk-H5XTJ7GJ.js';
14
13
  import '../chunk-2YTOOH3A.js';
15
14
  import '../chunk-OG6CL3EB.js';
15
+ import '../chunk-H5XTJ7GJ.js';
16
16
  import '../chunk-LACA4JGC.js';
17
17
  import '../chunk-NUZHC6MM.js';
18
18
  import '../chunk-BZFWDIV6.js';
@@ -1,7 +1,7 @@
1
1
  import { useMediaMatch } from './chunk-RTPQDNW3.js';
2
- import { Menu } from './chunk-PCI7ZJ6Z.js';
3
- import { useModalLayer, focusables } from './chunk-H5XTJ7GJ.js';
2
+ import { Menu } from './chunk-TMM32U7D.js';
4
3
  import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
4
+ import { useModalLayer, focusables } from './chunk-H5XTJ7GJ.js';
5
5
  import { IconButton } from './chunk-LACA4JGC.js';
6
6
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
7
7
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- import { Combobox } from './chunk-MVGCZ655.js';
1
+ import { Combobox } from './chunk-OOJTPR7N.js';
2
2
  import { PRINCIPAL_KINDS, PrincipalAvatar } from './chunk-CI3VPIJN.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './PrincipalPicker-7NNZTGUP.css';