@crewlethq/ui 0.82.0 → 0.84.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 (185) hide show
  1. package/README.md +63 -1
  2. package/dist/ActionCard/ActionCard.d.ts +7 -7
  3. package/dist/ActionCard/index.js +1 -1
  4. package/dist/ActionCard-YZKL3CKR.css +130 -0
  5. package/dist/AppShell/AccountRow.d.ts +6 -1
  6. package/dist/AppShell/AppShell.d.ts +25 -13
  7. package/dist/AppShell/index.d.ts +1 -1
  8. package/dist/AppShell/index.js +8 -5
  9. package/dist/AppShell/railMotion.d.ts +60 -0
  10. package/dist/AppShell/railShape.d.ts +5 -0
  11. package/dist/{AppShell-F7RID4P4.css → AppShell-NX5HCD4O.css} +251 -90
  12. package/dist/ArrangeList/index.js +3 -2
  13. package/dist/ArtifactBar/index.js +7 -5
  14. package/dist/ArtifactCard/index.js +3 -3
  15. package/dist/ArtifactKindIllustration/index.js +1 -1
  16. package/dist/{ArtifactKinds-3EH4KR3F.css → ArtifactKinds-27TE3KJL.css} +7 -7
  17. package/dist/ArtifactMakeRow/index.js +1 -1
  18. package/dist/ArtifactNameCell/index.js +1 -1
  19. package/dist/AuthLayout/index.js +3 -3
  20. package/dist/AvatarPicker/index.js +7 -6
  21. package/dist/BrandLockup/index.js +2 -2
  22. package/dist/BriefCard/index.js +2 -1
  23. package/dist/Canvas/index.js +4 -2
  24. package/dist/CanvasBoard/index.js +6 -4
  25. package/dist/CanvasToolbar/index.js +5 -3
  26. package/dist/CatalogTile/CatalogTile.d.ts +23 -5
  27. package/dist/CatalogTile/index.d.ts +1 -1
  28. package/dist/CatalogTile/index.js +2 -1
  29. package/dist/{CatalogTile-6VF36JWA.css → CatalogTile-TMOSGSV3.css} +4 -3
  30. package/dist/ChangeMark/index.js +4 -2
  31. package/dist/ChatThread/index.js +2 -2
  32. package/dist/CommandPalette/index.js +3 -2
  33. package/dist/CompactNav/CompactNav.d.ts +10 -6
  34. package/dist/CompactNav/index.js +2 -1
  35. package/dist/ContrastHelp/index.js +3 -2
  36. package/dist/DataGrid/index.js +2 -2
  37. package/dist/DataTable/index.js +4 -3
  38. package/dist/DataView/index.js +8 -7
  39. package/dist/DateTimePicker/index.js +3 -2
  40. package/dist/DeepWorkCard/index.js +2 -2
  41. package/dist/DirectoryList/index.js +1 -1
  42. package/dist/{DirectoryList-XZOWYOA3.css → DirectoryList-IXQIMNFS.css} +8 -1
  43. package/dist/DocTabsEditor/index.js +5 -3
  44. package/dist/DockColumn/DockColumn.d.ts +68 -0
  45. package/dist/DockColumn/index.d.ts +3 -0
  46. package/dist/DockColumn/index.js +6 -0
  47. package/dist/DockColumn-SMJCXHS4.css +61 -0
  48. package/dist/{Editor-7EQWP3RN.js → Editor-VGNB35NJ.js} +2 -1
  49. package/dist/EmojiPicker/index.js +5 -3
  50. package/dist/FactList/index.js +4 -2
  51. package/dist/HuePicker/index.js +5 -4
  52. package/dist/InboxList/InboxList.d.ts +28 -2
  53. package/dist/InboxList/index.d.ts +1 -1
  54. package/dist/InboxList/index.js +6 -1
  55. package/dist/{InboxList-OFGSX5IH.css → InboxList-X5Q5WWAI.css} +63 -2
  56. package/dist/LinkInterstitial/index.js +3 -2
  57. package/dist/ListDetail/ListDetail.d.ts +6 -0
  58. package/dist/ListDetail/index.js +1 -1
  59. package/dist/{ListDetail-N3L7PB46.css → ListDetail-JGESKTR7.css} +38 -0
  60. package/dist/ListInput/index.js +3 -2
  61. package/dist/MarkdownEditor/index.js +5 -4
  62. package/dist/MediaMatch/index.d.ts +1 -1
  63. package/dist/MediaMatch/index.js +1 -1
  64. package/dist/MediaMatch/useMediaMatch.d.ts +14 -0
  65. package/dist/Menu/index.js +2 -1
  66. package/dist/MergeConflicts/index.js +5 -4
  67. package/dist/MessageActions/index.js +6 -4
  68. package/dist/Modal/index.js +2 -1
  69. package/dist/OpenInAppCard/index.js +2 -2
  70. package/dist/Outline/index.js +2 -1
  71. package/dist/Popover/index.js +2 -1
  72. package/dist/Presence/index.d.ts +2 -0
  73. package/dist/Presence/index.js +4 -0
  74. package/dist/Presence/usePresence.d.ts +109 -0
  75. package/dist/ReactionBar/index.js +6 -4
  76. package/dist/ReadingPane/ReadingPane.d.ts +17 -1
  77. package/dist/ReadingPane/index.d.ts +1 -1
  78. package/dist/ReadingPane/index.js +2 -1
  79. package/dist/{ReadingPane-VLYOWMCM.css → ReadingPane-VFTRDPC5.css} +19 -0
  80. package/dist/RecordChip/index.js +3 -2
  81. package/dist/Reorder/index.js +2 -1
  82. package/dist/RichEditor/index.js +1 -1
  83. package/dist/SectionFrame/index.js +2 -2
  84. package/dist/SegmentedControl/index.js +4 -3
  85. package/dist/SetupWizard/index.js +2 -2
  86. package/dist/ShareDialog/index.js +5 -4
  87. package/dist/SheetColumnEditor/index.js +6 -5
  88. package/dist/SheetGrid/index.js +8 -6
  89. package/dist/SidebarNav/SidebarNav.d.ts +18 -2
  90. package/dist/SidebarNav/index.d.ts +1 -1
  91. package/dist/SidebarNav/index.js +1 -1
  92. package/dist/{SidebarNav-E7PZGGA6.css → SidebarNav-IKBKGXW4.css} +20 -0
  93. package/dist/SlideFilmstrip/index.js +5 -3
  94. package/dist/Switcher/index.js +5 -4
  95. package/dist/Tabs/index.js +3 -2
  96. package/dist/ThemeSwitcher/index.js +5 -4
  97. package/dist/TimeRangePicker/index.js +6 -5
  98. package/dist/TimeWindowPicker/index.js +3 -2
  99. package/dist/Tooltip/index.js +3 -1
  100. package/dist/TreeCanvas/index.js +6 -3
  101. package/dist/VersionCompare/index.js +5 -4
  102. package/dist/{chunk-KJR5X4II.js → chunk-22CU7V4J.js} +2 -2
  103. package/dist/{chunk-4RYELYWG.js → chunk-2SVQBQAD.js} +2 -2
  104. package/dist/{chunk-N2T7Y5KR.js → chunk-3AMWXJQX.js} +1 -1
  105. package/dist/{chunk-HQFOZJQ4.js → chunk-46FIBJCV.js} +4 -4
  106. package/dist/{chunk-LQRN2XZK.js → chunk-4DEKONVJ.js} +2 -2
  107. package/dist/chunk-5JPOFAVN.js +58 -0
  108. package/dist/{chunk-C7UHDM7Y.js → chunk-5V6GW6HK.js} +1 -1
  109. package/dist/{chunk-Q7N2ATMC.js → chunk-64JNKLLP.js} +57 -9
  110. package/dist/chunk-6C7GQOBV.js +10 -0
  111. package/dist/{chunk-YRNNUCQP.js → chunk-7BDBO2NP.js} +1 -1
  112. package/dist/{chunk-XGLMPPDW.js → chunk-7K6LVM5I.js} +1 -1
  113. package/dist/{chunk-FKAJBN6G.js → chunk-7M7WKYOV.js} +3 -3
  114. package/dist/{chunk-A5YKNRG6.js → chunk-7QCSISHM.js} +2 -1
  115. package/dist/{chunk-3QQIGMY3.js → chunk-7ZSEUO5Q.js} +6 -30
  116. package/dist/{chunk-57BFL323.js → chunk-ABRWL5FJ.js} +1 -1
  117. package/dist/{chunk-HFOTRZFU.js → chunk-AQNP3KQU.js} +2 -2
  118. package/dist/{chunk-GZVAZ3LL.js → chunk-AZYE7NR4.js} +1 -1
  119. package/dist/{chunk-6IOQWMYJ.js → chunk-BN5FEJL5.js} +1 -1
  120. package/dist/{chunk-25JQNHTC.js → chunk-BRK3HXGZ.js} +8 -2
  121. package/dist/{chunk-MPVMB2DV.js → chunk-BVML4UVB.js} +3 -2
  122. package/dist/{chunk-OAHRMR4U.js → chunk-C42XW5YP.js} +1 -1
  123. package/dist/{chunk-2H6YDUR5.js → chunk-C4JTX25K.js} +3 -3
  124. package/dist/{chunk-QE4OIE3Q.js → chunk-DJIWCW5Z.js} +6 -4
  125. package/dist/{chunk-HA2PL7PA.js → chunk-DRFOTWJE.js} +1 -1
  126. package/dist/{chunk-SM4P2SHB.js → chunk-EC6EUIAD.js} +7 -4
  127. package/dist/{chunk-QPHD4UUG.js → chunk-F6ZUM66S.js} +160 -25
  128. package/dist/{chunk-AMUXSJ2A.js → chunk-FPU7AA3X.js} +4 -15
  129. package/dist/{chunk-KLAVEJIO.js → chunk-GLKQHN7G.js} +1 -1
  130. package/dist/{chunk-MVMVMHYI.js → chunk-HDEKHP65.js} +1 -1
  131. package/dist/{chunk-XY4O2XMR.js → chunk-HKUZ2GYX.js} +4 -4
  132. package/dist/chunk-HTS5RJ7S.js +6 -0
  133. package/dist/{chunk-ZB3E2Z4Y.js → chunk-J5T5TDM2.js} +1 -1
  134. package/dist/{chunk-ISQANI6Q.js → chunk-JLOESTT2.js} +2 -1
  135. package/dist/{chunk-C75WZMXG.js → chunk-K6RWEQ6P.js} +1 -1
  136. package/dist/{chunk-GVPUCEWH.js → chunk-KXWJJWBD.js} +1 -1
  137. package/dist/chunk-L72URIHR.js +36 -0
  138. package/dist/{chunk-2TOGGCDM.js → chunk-LT44RL62.js} +2 -2
  139. package/dist/{chunk-C46DDVTK.js → chunk-LTD7KLOU.js} +1 -1
  140. package/dist/{chunk-HCUECVZ3.js → chunk-MVKUE4FI.js} +1 -1
  141. package/dist/{chunk-6YBBQAEM.js → chunk-MYAARF4Z.js} +1 -1
  142. package/dist/{chunk-SEKO6P3Y.js → chunk-NCUSI4ZU.js} +1 -1
  143. package/dist/{chunk-YBC2CYPD.js → chunk-O4VTQMEF.js} +1 -1
  144. package/dist/{chunk-HTBTAIH6.js → chunk-OM2LABPS.js} +2 -2
  145. package/dist/{chunk-T4IEESXN.js → chunk-ORONAXSF.js} +91 -25
  146. package/dist/chunk-PCAT2EFB.js +104 -0
  147. package/dist/{chunk-GP5TNTZH.js → chunk-QWRAWKB2.js} +53 -14
  148. package/dist/{chunk-TGCGLKD4.js → chunk-RBQRTGXX.js} +1 -1
  149. package/dist/{chunk-B3X4DHRB.js → chunk-RDIQB5ZE.js} +2 -2
  150. package/dist/{chunk-SRDNGGZE.js → chunk-RKIJAXQA.js} +1 -1
  151. package/dist/{chunk-T7WESRZF.js → chunk-RO5JU6SN.js} +2 -2
  152. package/dist/{chunk-IUWP2LSE.js → chunk-SGMWLUYQ.js} +2 -2
  153. package/dist/{chunk-LSOR77RZ.js → chunk-SHH7UD5U.js} +1 -1
  154. package/dist/{chunk-JV6JM6W6.js → chunk-SNQ7PH3D.js} +1 -1
  155. package/dist/{chunk-MPYRC3GO.js → chunk-SPNTUQBV.js} +2 -2
  156. package/dist/{chunk-YM77TZ7Q.js → chunk-T3S3D4FC.js} +1 -1
  157. package/dist/{chunk-YOJAGKTS.js → chunk-TGGYSQRD.js} +3 -4
  158. package/dist/{chunk-2KJCUCVE.js → chunk-TQKQRS2J.js} +2 -2
  159. package/dist/{chunk-ONNXUS5Y.js → chunk-VB3FVKNI.js} +1 -1
  160. package/dist/{chunk-JHQGNFN3.js → chunk-VONEKR3J.js} +2 -2
  161. package/dist/{chunk-P6F3PE4V.js → chunk-WANKINXG.js} +2 -2
  162. package/dist/{chunk-PXLS6JKL.js → chunk-WMO722J2.js} +1 -1
  163. package/dist/{chunk-SYVQXMLO.js → chunk-XRWHDW6F.js} +4 -4
  164. package/dist/{chunk-WT3B76MG.js → chunk-XTJHMP3W.js} +1 -1
  165. package/dist/{chunk-CF4M6N6A.js → chunk-XYSSFI5C.js} +1 -7
  166. package/dist/{chunk-RTPQDNW3.js → chunk-YJQXESOJ.js} +5 -1
  167. package/dist/{chunk-VGOWSOUA.js → chunk-YXKSUILG.js} +1 -1
  168. package/dist/{chunk-G6ZFSUIH.js → chunk-ZJVLGYE3.js} +2 -2
  169. package/dist/{chunk-BSAU7QRW.js → chunk-ZPTKAYJK.js} +1 -1
  170. package/dist/{chunk-XXDB6KPV.js → chunk-ZXXZESCD.js} +3 -4
  171. package/dist/generated/index.d.ts +2 -0
  172. package/dist/generated/index.js +108 -103
  173. package/dist/index.js +108 -103
  174. package/dist/styles.css +525 -134
  175. package/dist/utils/composedRef.d.ts +39 -0
  176. package/dist/utils/developing.d.ts +10 -0
  177. package/dist/utils/index.d.ts +2 -0
  178. package/dist/utils/index.js +3 -1
  179. package/dist/utils/tokenMs.d.ts +6 -0
  180. package/package.json +5 -5
  181. package/dist/ActionCard-47WSZ2O5.css +0 -110
  182. package/dist/{chunk-IYI6HWKN.js → chunk-CV2LU2T2.js} +1 -1
  183. package/dist/{chunk-FVZPSTL2.js → chunk-G4EHZHKM.js} +1 -1
  184. /package/dist/{chunk-FEJANUZK.js → chunk-KBSD476L.js} +0 -0
  185. /package/dist/{chunk-KLWWNV25.js → chunk-REEZQCML.js} +0 -0
@@ -0,0 +1,39 @@
1
+ /**
2
+ * One ref for an element several owners need: a component that clones its
3
+ * trigger (a tooltip, a popover) and the ref the trigger already carried.
4
+ *
5
+ * STABLE WHILE THE REFS IT JOINS ARE. A ref callback written inline is a new
6
+ * function on every render, and React treats a new ref as a change: it
7
+ * releases the old one in the commit's mutation phase and attaches the new
8
+ * one in its layout phase, in tree order. So every render of the component
9
+ * that cloned the trigger set the trigger's own ref to null and back, and a
10
+ * layout effect EARLIER in the tree (a dock handing focus to that very
11
+ * control as it closes) read null while the element stood in the document.
12
+ * Memoised on the refs it joins, the joined ref changes only when one of
13
+ * them does, which is exactly when React would have moved a ref of its own.
14
+ */
15
+ import { type Ref, type RefCallback } from 'react';
16
+ /**
17
+ * Hands `element` to one ref, and returns how to take it back, the way React
18
+ * would have released that ref itself: a callback that returns its own
19
+ * teardown gets the teardown called, any other callback is called with null,
20
+ * and an object's `current` is emptied.
21
+ */
22
+ export declare function attachRef<T>(ref: Ref<T> | undefined, element: T | null): () => void;
23
+ /**
24
+ * One ref callback that hands the element to every ref given and releases
25
+ * each as React would, for code outside a component.
26
+ */
27
+ export declare function composeRefs<T>(...refs: readonly (Ref<T> | undefined)[]): RefCallback<T>;
28
+ /**
29
+ * `composeRefs` for a component: any number of refs joined into one callback
30
+ * that is THE SAME CALLBACK for as long as the refs given are the same, in the
31
+ * same order, and a new one the render any of them changes.
32
+ *
33
+ * Held in a ref and compared ref by ref rather than memoised on a dependency
34
+ * list, which must be written out, and a list of refs of any length cannot
35
+ * be. Not state: a ref written inline beside the hook is new on every render,
36
+ * and replacing state for it would render again for ever. Here it simply
37
+ * makes a new callback, which is what React does with an inline ref.
38
+ */
39
+ export declare function useComposedRef<T>(...refs: readonly (Ref<T> | undefined)[]): RefCallback<T>;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Whether the host is a development build, for a warning a component gives
3
+ * only there. A bundler replaces `process.env.NODE_ENV` with a literal, so the
4
+ * check costs nothing in a production build and is true in development. It is
5
+ * NOT guarded with `typeof process`: that expression is not replaced, and in
6
+ * a browser it is 'undefined' even in development, which would silence the
7
+ * warning everywhere. An ESM host with no bundler has no `process` at all, and
8
+ * the ReferenceError reads as not developing.
9
+ */
10
+ export declare function developing(): boolean;
@@ -1,4 +1,6 @@
1
1
  export { cx } from './cx.js';
2
+ export { attachRef, composeRefs, useComposedRef } from './composedRef.js';
3
+ export { tokenMs } from './tokenMs.js';
2
4
  export { useClipboard, writeClipboard } from './useClipboard.js';
3
5
  export type { Clipboard, ClipboardOptions, ClipboardState } from './useClipboard.js';
4
6
  export { useOutcome } from './useOutcome.js';
@@ -1,8 +1,10 @@
1
- export { ElementToPngError, elementToPng, parseCsv, serializeElement, toCsv } from '../chunk-FEJANUZK.js';
1
+ export { ElementToPngError, elementToPng, parseCsv, serializeElement, toCsv } from '../chunk-KBSD476L.js';
2
2
  export { downloadBlob, downloadText, safeFilename, useDownload } from '../chunk-YNRKVY7X.js';
3
3
  export { useClipboard, writeClipboard } from '../chunk-STJ7QBC3.js';
4
4
  export { useOutcome } from '../chunk-DTIW4CHZ.js';
5
5
  export { NODE_HUES, NODE_HUE_NAMES, isNodeHue } from '../chunk-AYKXMIOR.js';
6
+ export { tokenMs } from '../chunk-HTS5RJ7S.js';
7
+ export { attachRef, composeRefs, useComposedRef } from '../chunk-L72URIHR.js';
6
8
  export { FOCUS_MODALITY_ATTRIBUTE, FOCUS_RETURNED_ATTRIBUTE, isVisibleFocus, returnFocus, trackFocusModality, useFocusModality } from '../chunk-4ITETIGZ.js';
7
9
  export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from '../chunk-PQADV6P6.js';
8
10
  export { cx } from '../chunk-ODEQTPFM.js';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * A motion token as a number of milliseconds, for a delay or a bound that
3
+ * JavaScript has to count (`tokenMs(motion.duration.fast)`). The tokens are
4
+ * written in ms (`120ms`), so the number is the token's own, never a copy.
5
+ */
6
+ export declare function tokenMs(value: string): number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.82.0",
3
+ "version": "0.84.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.82.0",
46
- "@crewlethq/tokens": "0.82.0",
45
+ "@crewlethq/icons": "0.84.0",
46
+ "@crewlethq/tokens": "0.84.0",
47
47
  "prosemirror-commands": "1.7.2",
48
48
  "prosemirror-gapcursor": "1.4.1",
49
49
  "prosemirror-history": "1.5.1",
@@ -57,8 +57,8 @@
57
57
  "uqr": "0.1.3"
58
58
  },
59
59
  "peerDependencies": {
60
- "react": ">=18",
61
- "react-dom": ">=18"
60
+ "react": ">=19",
61
+ "react-dom": ">=19"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@types/react": "^19.0.0",
@@ -1,110 +0,0 @@
1
- /*
2
- * ActionCard: a first step offered as a picture, on an artifact kind's
3
- * colour ground. The ground is the kind's own Ground steps (ArtifactKinds.css)
4
- * laid over the card rung, which the palette suite holds to 4.5:1 for the
5
- * primary text in every palette and both modes, with the kind's glow behind
6
- * the drawing.
7
- */
8
-
9
- /*
10
- * ONE ROW THAT SCROLLS SIDEWAYS when it runs out of width, so a phone shows
11
- * two cards and part of the third (the part says there is more) instead of a
12
- * tall stack. The block padding keeps the focus ring and the hover shadow
13
- * inside the scroller's clip; the negative margin gives that space back to
14
- * the layout. A host that runs the row to its container's edges sets the
15
- * inline padding and `scroll-padding-inline` to its own inset.
16
- */
17
- .crewlet-action-cards {
18
- display: flex;
19
- gap: var(--spacing-2);
20
- overflow-x: auto;
21
- margin-block: calc(var(--spacing-1) * -1) calc(var(--spacing-2) * -1);
22
- padding-block: var(--spacing-1) var(--spacing-2);
23
- scroll-snap-type: x mandatory;
24
- overscroll-behavior-x: contain;
25
- scrollbar-width: none;
26
- }
27
-
28
- .crewlet-action-cards::-webkit-scrollbar {
29
- display: none;
30
- }
31
-
32
- .crewlet-action-card {
33
- --crewlet-action-card-ground: var(--crewlet-kind-ground);
34
- position: relative;
35
- display: flex;
36
- flex: none;
37
- flex-direction: column;
38
- justify-content: space-between;
39
- width: 148px;
40
- height: 172px;
41
- box-sizing: border-box;
42
- overflow: hidden;
43
- padding: var(--spacing-3) var(--spacing-3) 0;
44
- /* The kind's hue itself is the edge: 3:1 or more on the sheet in every
45
- palette and mode, where the kind's Line step measured 2.5:1. */
46
- border: 1px solid var(--crewlet-kind-hue);
47
- border-radius: var(--radius-lg);
48
- background-color: var(--color-surface-subtle);
49
- background-image:
50
- radial-gradient(110% 64% at 50% 100%, var(--crewlet-kind-glow) 0%, transparent 72%),
51
- linear-gradient(180deg, var(--crewlet-action-card-ground) 0%, var(--crewlet-kind-ground-end) 100%);
52
- color: var(--color-text-primary);
53
- font: inherit;
54
- text-align: left;
55
- cursor: pointer;
56
- scroll-snap-align: start;
57
- transition: box-shadow var(--motion-duration-fast) var(--motion-easing-default);
58
- }
59
-
60
- /* A QUIET HOVER: the ground deepens a step and a small shadow lifts the
61
- card off the page. Nothing moves. */
62
- .crewlet-action-card:hover {
63
- --crewlet-action-card-ground: var(--crewlet-kind-ground-strong);
64
- box-shadow: var(--shadow-sm);
65
- }
66
-
67
- /* The card draws its own edge, so the ring is drawn over it. */
68
- .crewlet-action-card:focus-visible {
69
- outline: 2px solid var(--color-focus);
70
- outline-offset: var(--size-focus-ring-inset-offset);
71
- }
72
-
73
- /* The title at the medium weight, as every emphasis in a conversation is,
74
- two lines at most at its width, balanced so neither line is one word. */
75
- .crewlet-action-card__title {
76
- max-width: 14ch;
77
- font-size: var(--font-size-sm);
78
- font-weight: var(--font-weight-medium);
79
- line-height: var(--font-line-height-snug);
80
- text-wrap: balance;
81
- }
82
-
83
- /* The drawing stands on the card's foot, still. */
84
- .crewlet-action-card__art {
85
- display: flex;
86
- align-items: flex-end;
87
- justify-content: center;
88
- height: 100px;
89
- margin: 0 calc(var(--spacing-3) * -1);
90
- }
91
-
92
- .crewlet-action-card__art .crewlet-kind-illustration {
93
- width: 112px;
94
- max-height: 96px;
95
- margin-bottom: calc(var(--spacing-2) * -1);
96
- filter: drop-shadow(0 6px 12px var(--crewlet-kind-line));
97
- }
98
-
99
- /* FORCED COLORS drops the ground; the hue's border stays as the card's edge. */
100
- @media (forced-colors: active) {
101
- .crewlet-action-card {
102
- border-color: CanvasText;
103
- }
104
- }
105
-
106
- @media (prefers-reduced-motion: reduce) {
107
- .crewlet-action-card {
108
- transition: none;
109
- }
110
- }
@@ -1,6 +1,6 @@
1
1
  import { StepList } from './chunk-RJWO2PC5.js';
2
- import { Meter } from './chunk-RQFRRPV6.js';
3
2
  import { ReceiptStrip } from './chunk-ZWCK4N4L.js';
3
+ import { Meter } from './chunk-RQFRRPV6.js';
4
4
  import { StatusCard } from './chunk-FLW5U7YS.js';
5
5
  import { Disclosure } from './chunk-LVJGN5II.js';
6
6
  import { Spinner } from './chunk-XSPCITPN.js';
@@ -1,5 +1,5 @@
1
- import { IconTile } from './chunk-3LI4TRUR.js';
2
1
  import { safeHref } from './chunk-KBZO4B33.js';
2
+ import { IconTile } from './chunk-3LI4TRUR.js';
3
3
  import { ReceiptStrip } from './chunk-ZWCK4N4L.js';
4
4
  import { StatusCard } from './chunk-FLW5U7YS.js';
5
5
  import { ButtonLink, Button } from './chunk-DGXZ635L.js';
File without changes
File without changes