@crewlethq/ui 0.37.0 → 0.38.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 (210) hide show
  1. package/README.md +58 -0
  2. package/dist/Accordion/index.js +1 -1
  3. package/dist/AgentHandoffPanel/index.js +5 -5
  4. package/dist/AppShell/index.d.ts +1 -0
  5. package/dist/AppShell/index.js +5 -3
  6. package/dist/{AppShell-JTSEOA57.css → AppShell-NDU4XMGF.css} +51 -6
  7. package/dist/ArrangeList/index.js +4 -4
  8. package/dist/ArtifactBar/index.js +9 -7
  9. package/dist/ArtifactCard/index.js +2 -2
  10. package/dist/ArtifactCover/index.js +3 -3
  11. package/dist/ArtifactMakeRow/ArtifactMakeRow.d.ts +3 -1
  12. package/dist/ArtifactMakeRow/index.d.ts +1 -0
  13. package/dist/ArtifactMakeRow/index.js +2 -1
  14. package/dist/{ArtifactMakeRow-XBA2MPSY.css → ArtifactMakeRow-6UX2LTF7.css} +49 -6
  15. package/dist/AuthLayout/index.js +2 -2
  16. package/dist/AvatarPicker/index.js +8 -6
  17. package/dist/Canvas/index.js +4 -3
  18. package/dist/CanvasBoard/index.js +7 -6
  19. package/dist/CanvasToolbar/index.js +6 -5
  20. package/dist/Card/index.js +1 -1
  21. package/dist/{Card-QOVASQNU.css → Card-G2ZGT5Z6.css} +43 -0
  22. package/dist/ChangeMark/index.js +4 -3
  23. package/dist/Checkbox/index.js +3 -3
  24. package/dist/ChoiceList/index.d.ts +1 -0
  25. package/dist/ChoiceList/index.js +2 -1
  26. package/dist/{ChoiceList-EA2W6MOS.css → ChoiceList-KFYFAECP.css} +26 -4
  27. package/dist/Combobox/index.d.ts +1 -0
  28. package/dist/Combobox/index.js +6 -5
  29. package/dist/{Combobox-4FUVYIE7.css → Combobox-YDONYDTM.css} +2 -1
  30. package/dist/CommandPalette/index.d.ts +1 -0
  31. package/dist/CommandPalette/index.js +7 -6
  32. package/dist/{CommandPalette-7CFGVBND.css → CommandPalette-TOZYLWLE.css} +5 -1
  33. package/dist/CommentThread/index.js +5 -5
  34. package/dist/Composer/index.js +3 -3
  35. package/dist/{Composer-PXITWNEK.css → Composer-TXULCPPV.css} +1 -1
  36. package/dist/ConfirmField/index.js +3 -3
  37. package/dist/DataTable/index.js +7 -7
  38. package/dist/DataView/index.js +12 -12
  39. package/dist/DatasetSource/index.d.ts +1 -0
  40. package/dist/DatasetSource/index.js +3 -2
  41. package/dist/{DatasetSource-SMGX4PS5.css → DatasetSource-FFKTD3ZU.css} +16 -1
  42. package/dist/DateTimePicker/index.js +4 -4
  43. package/dist/{DateTimePicker-2IVTKFV2.css → DateTimePicker-3A7JIIVL.css} +3 -3
  44. package/dist/DescriptionList/DescriptionList.d.ts +12 -1
  45. package/dist/DescriptionList/index.js +1 -1
  46. package/dist/{DescriptionList-IXMRCSMK.css → DescriptionList-DEZISDLQ.css} +8 -1
  47. package/dist/Disclosure/index.js +1 -1
  48. package/dist/{Disclosure-VKBJJIZ7.css → Disclosure-P4FH3C35.css} +28 -2
  49. package/dist/DocTabsEditor/index.js +6 -6
  50. package/dist/Document/index.js +2 -2
  51. package/dist/{Document-YFWTWXJP.css → Document-TZ2NBLOR.css} +2 -2
  52. package/dist/{Editor-HORWMUM3.js → Editor-QV4JP242.js} +6 -6
  53. package/dist/FactList/index.js +4 -3
  54. package/dist/FollowBanner/index.js +3 -2
  55. package/dist/HitArea/hitArea.d.ts +7 -0
  56. package/dist/HitArea/index.d.ts +2 -0
  57. package/dist/HitArea/index.js +2 -0
  58. package/dist/HitArea-QUOS6ZDJ.css +35 -0
  59. package/dist/HuePicker/index.js +4 -3
  60. package/dist/Input/index.js +2 -2
  61. package/dist/{Input-ABGOFENS.css → Input-OQZBCRX5.css} +9 -4
  62. package/dist/Layer/index.js +2 -1
  63. package/dist/LinkInterstitial/index.js +4 -3
  64. package/dist/ListInput/index.js +5 -5
  65. package/dist/Listbox/index.js +3 -2
  66. package/dist/{Listbox-6WJNJQVQ.css → Listbox-NQV6E3FS.css} +3 -0
  67. package/dist/LivePreview/index.js +1 -1
  68. package/dist/{LivePreview-BROGKR4N.css → LivePreview-KQEDMQCY.css} +13 -0
  69. package/dist/MarkdownEditor/index.js +8 -6
  70. package/dist/Menu/index.js +3 -2
  71. package/dist/MergeConflicts/index.js +5 -4
  72. package/dist/Modal/index.js +3 -2
  73. package/dist/OrgTable/index.js +4 -3
  74. package/dist/Popover/index.js +3 -2
  75. package/dist/PresenterView/index.js +4 -3
  76. package/dist/PricingCard/index.js +2 -2
  77. package/dist/PrincipalPicker/index.js +7 -6
  78. package/dist/RichEditor/index.js +1 -1
  79. package/dist/SegmentedControl/index.d.ts +1 -0
  80. package/dist/SegmentedControl/index.js +4 -3
  81. package/dist/{SegmentedControl-FLI45IOW.css → SegmentedControl-B7XCUOML.css} +9 -2
  82. package/dist/Select/index.d.ts +1 -0
  83. package/dist/Select/index.js +5 -4
  84. package/dist/{Select-W3CHTZXP.css → Select-F526HLNR.css} +5 -4
  85. package/dist/ShareDialog/index.js +7 -6
  86. package/dist/SheetColumnEditor/index.js +12 -11
  87. package/dist/SheetGrid/index.js +9 -8
  88. package/dist/{SheetGrid-YRDXTIIZ.css → SheetGrid-XK7T7M34.css} +9 -4
  89. package/dist/Shortcut/index.js +3 -2
  90. package/dist/SidebarNav/index.d.ts +1 -0
  91. package/dist/SidebarNav/index.js +2 -1
  92. package/dist/{SidebarNav-KF66MLOM.css → SidebarNav-7SGUZYKK.css} +21 -2
  93. package/dist/SlideCompare/index.js +4 -3
  94. package/dist/SlideFilmstrip/index.js +6 -5
  95. package/dist/SlideGrid/index.js +4 -3
  96. package/dist/SlideStage/index.js +3 -2
  97. package/dist/SourceEditor/index.js +2 -2
  98. package/dist/{SourceEditor-QAYE2JS6.css → SourceEditor-OKPWPFXK.css} +1 -1
  99. package/dist/StatGroup/StatGroup.d.ts +11 -7
  100. package/dist/StatGroup/index.js +1 -1
  101. package/dist/StatGroup-DOFHX5QJ.css +168 -0
  102. package/dist/Switcher/index.js +8 -8
  103. package/dist/TableCells/index.js +2 -2
  104. package/dist/Tabs/index.d.ts +1 -0
  105. package/dist/Tabs/index.js +2 -1
  106. package/dist/{Tabs-MMZXV5EF.css → Tabs-WIF7457H.css} +20 -3
  107. package/dist/Tag/index.js +1 -1
  108. package/dist/{Tag-SRGTK5KI.css → Tag-2DQOVE6W.css} +15 -5
  109. package/dist/TagsInput/index.js +6 -6
  110. package/dist/{TagsInput-7EGBBXHS.css → TagsInput-CLFHP6I2.css} +1 -1
  111. package/dist/ThemeGallery/index.js +4 -3
  112. package/dist/ThemeSwitcher/index.js +5 -4
  113. package/dist/TimeWindowPicker/index.js +8 -7
  114. package/dist/{TimeWindowPicker-DEFDV77Z.css → TimeWindowPicker-I3HXC74I.css} +3 -3
  115. package/dist/Toaster/index.js +2 -1
  116. package/dist/Toolbar/index.js +3 -2
  117. package/dist/Tooltip/index.js +3 -2
  118. package/dist/TreeCanvas/index.js +5 -4
  119. package/dist/TreeGrid/index.js +3 -2
  120. package/dist/VersionCompare/index.js +5 -4
  121. package/dist/{chunk-CCAXYHQS.js → chunk-2QZ2VPHR.js} +3 -1
  122. package/dist/chunk-2YTOOH3A.js +4 -0
  123. package/dist/{chunk-QWNVSR6G.js → chunk-3KYVFG47.js} +1 -1
  124. package/dist/{chunk-H5NOLRGH.js → chunk-3V5T5K5H.js} +1 -1
  125. package/dist/{chunk-BIQDJOJZ.js → chunk-3ZUINC7C.js} +2 -2
  126. package/dist/{chunk-K4VP6ZKE.js → chunk-4BJK7FE5.js} +1 -1
  127. package/dist/chunk-4ISUIS6F.js +3 -0
  128. package/dist/{chunk-FG4O64DV.js → chunk-4L2BWSHR.js} +5 -5
  129. package/dist/{chunk-PLTCDSTU.js → chunk-4LRAJXHL.js} +1 -1
  130. package/dist/{chunk-4ZJLOKSS.js → chunk-5BUOMF6N.js} +2 -2
  131. package/dist/{chunk-47JQAGRV.js → chunk-66X5WDKE.js} +1 -1
  132. package/dist/{chunk-66NGUD5S.js → chunk-6NNY5WBF.js} +8 -7
  133. package/dist/{chunk-5RT5O4JR.js → chunk-7CGPPAYR.js} +1 -1
  134. package/dist/{chunk-F73MC7EZ.js → chunk-7KHM2FZH.js} +2 -2
  135. package/dist/{chunk-VL6CUNSX.js → chunk-7SDUKCNW.js} +4 -1
  136. package/dist/{chunk-JML75PGJ.js → chunk-A23KDROH.js} +3 -3
  137. package/dist/{chunk-PJIPUEJ3.js → chunk-AXS6MBNH.js} +1 -1
  138. package/dist/{chunk-2FPENTCF.js → chunk-AYHIF6DH.js} +1 -1
  139. package/dist/{chunk-J6ON5SYE.js → chunk-B5J23C73.js} +1 -1
  140. package/dist/{chunk-7VAUGG6B.js → chunk-B5UHX5UC.js} +2 -2
  141. package/dist/{chunk-AOLCZDZ6.js → chunk-BH52LIY6.js} +5 -5
  142. package/dist/{chunk-WX2NIG4G.js → chunk-BJI3RFXG.js} +1 -1
  143. package/dist/{chunk-JXRI5YD2.js → chunk-BT5H2THK.js} +2 -1
  144. package/dist/{chunk-FHHYXZSP.js → chunk-C7OKDYBH.js} +2 -2
  145. package/dist/{chunk-JBUMD6DS.js → chunk-CFGGE3HO.js} +1 -1
  146. package/dist/{chunk-WYKWXRJ4.js → chunk-CQFQGAZI.js} +1 -1
  147. package/dist/{chunk-GMLAKNFY.js → chunk-D2OL3ZSS.js} +1 -1
  148. package/dist/{chunk-D7GNNID2.js → chunk-D3EJSLCL.js} +2 -2
  149. package/dist/{chunk-BUVCV3WI.js → chunk-D6FEHY5G.js} +3 -2
  150. package/dist/{chunk-4BYHAOHH.js → chunk-DAERKOOG.js} +3 -2
  151. package/dist/{chunk-PGZ2R3ON.js → chunk-DYB66CNM.js} +23 -7
  152. package/dist/{chunk-PPFX6GRK.js → chunk-EAEJ7CDM.js} +6 -3
  153. package/dist/{chunk-WZGYIVYH.js → chunk-EAQLI2SO.js} +4 -2
  154. package/dist/{chunk-GYBDPCRC.js → chunk-ECGGQX2H.js} +2 -2
  155. package/dist/{chunk-RH2NCQBZ.js → chunk-ETVEGR2Y.js} +2 -2
  156. package/dist/{chunk-SUXP4OBT.js → chunk-F4LPQA4E.js} +1 -1
  157. package/dist/{chunk-KYZMN6I6.js → chunk-FBW3Q2OY.js} +2 -2
  158. package/dist/{chunk-JQLS3MZB.js → chunk-FWBKMPNR.js} +1 -1
  159. package/dist/{chunk-OOWPSBIS.js → chunk-GMW4ZHST.js} +3 -3
  160. package/dist/{chunk-R25RGPUB.js → chunk-H5XTJ7GJ.js} +2 -3
  161. package/dist/{chunk-6ZJ3N7QI.js → chunk-I33UIUZD.js} +1 -1
  162. package/dist/{chunk-GRYZ5EP3.js → chunk-IPWU6ERC.js} +14 -3
  163. package/dist/{chunk-W3HYWD63.js → chunk-JZPK4IXR.js} +16 -9
  164. package/dist/{chunk-K3IJQNB7.js → chunk-KHJIEPZV.js} +3 -2
  165. package/dist/{chunk-GFV4LJHH.js → chunk-KYIAFNU7.js} +1 -1
  166. package/dist/{chunk-F2XSYBKH.js → chunk-MFS6F2P7.js} +4 -1
  167. package/dist/chunk-MICRGE3J.js +1 -0
  168. package/dist/{chunk-PGRPNDWM.js → chunk-NR4CPM4T.js} +1 -1
  169. package/dist/{chunk-5WDXPHEW.js → chunk-NRBAXRWE.js} +1 -1
  170. package/dist/{chunk-YSGLEHND.js → chunk-NUZHC6MM.js} +14 -2
  171. package/dist/{chunk-WGD2HX2A.js → chunk-OED6LUWE.js} +1 -1
  172. package/dist/{chunk-MICH6QSJ.js → chunk-OGXHZHRX.js} +1 -1
  173. package/dist/{chunk-OHA6WSAG.js → chunk-OTCXRJ7D.js} +1 -1
  174. package/dist/{chunk-N5SKHIAP.js → chunk-PAQXOP2M.js} +8 -6
  175. package/dist/{chunk-KJW2AS57.js → chunk-PEUGPAKH.js} +1 -1
  176. package/dist/{chunk-IPAU6FLH.js → chunk-PPHTIKZO.js} +1 -1
  177. package/dist/{chunk-44WJLPQS.js → chunk-PT6WKXKW.js} +2 -2
  178. package/dist/{chunk-P6WFZDKS.js → chunk-PWG3VHRQ.js} +2 -2
  179. package/dist/{chunk-EAKC24BW.js → chunk-R2IBCEU6.js} +16 -4
  180. package/dist/{chunk-HOIZ6MIS.js → chunk-RLJXVFEH.js} +1 -1
  181. package/dist/{chunk-NQGPD6NX.js → chunk-RMEBFYL7.js} +1 -1
  182. package/dist/{chunk-APDKUGSH.js → chunk-S27UBCVX.js} +5 -4
  183. package/dist/{chunk-XEGZHHRH.js → chunk-SVGARBDY.js} +1 -1
  184. package/dist/{chunk-UWGUKMBK.js → chunk-SYBYFQTY.js} +2 -2
  185. package/dist/{chunk-IUYUS2SO.js → chunk-TYONQSOK.js} +2 -2
  186. package/dist/{chunk-DQSXWQMJ.js → chunk-U3ILLCR2.js} +1 -1
  187. package/dist/{chunk-L4WZSVMT.js → chunk-UB6MLXUL.js} +3 -3
  188. package/dist/{chunk-EARDAJQY.js → chunk-UWRBD2YO.js} +2 -2
  189. package/dist/{chunk-F23N4MVU.js → chunk-UXYEOWG5.js} +1 -1
  190. package/dist/{chunk-UCCC7YVZ.js → chunk-W7PAIVAP.js} +4 -2
  191. package/dist/{chunk-T5RQGI6O.js → chunk-X3UYTAOG.js} +1 -1
  192. package/dist/{chunk-EOQFPZEE.js → chunk-XBURIXHO.js} +2 -2
  193. package/dist/{chunk-VKKUGZ3G.js → chunk-XQZ6EWOE.js} +8 -5
  194. package/dist/{chunk-TVRBQMIX.js → chunk-YPMGP2X4.js} +6 -6
  195. package/dist/{chunk-GS7ZTHPF.js → chunk-YQG4PZGC.js} +7 -7
  196. package/dist/{chunk-5QXRI35B.js → chunk-ZK3VYY7L.js} +1 -1
  197. package/dist/{chunk-2QEDJSJC.js → chunk-ZMDYQ2HH.js} +1 -1
  198. package/dist/{chunk-27GD7LVR.js → chunk-ZMWXE4GT.js} +1 -1
  199. package/dist/{chunk-RIAZM6L3.js → chunk-ZNOXQACX.js} +1 -1
  200. package/dist/generated/index.d.ts +1 -0
  201. package/dist/generated/index.js +106 -104
  202. package/dist/index.js +106 -104
  203. package/dist/styles.css +508 -102
  204. package/dist/utils/focusModality.d.ts +17 -1
  205. package/dist/utils/index.d.ts +1 -1
  206. package/dist/utils/index.js +1 -1
  207. package/package.json +3 -3
  208. package/dist/StatGroup-PADTJCUQ.css +0 -86
  209. package/dist/chunk-WKEPORNM.js +0 -2
  210. /package/dist/{chunk-PNNYVN52.js → chunk-4QQ3MND5.js} +0 -0
@@ -1,12 +1,14 @@
1
1
  import { cx } from './chunk-ODEQTPFM.js';
2
- import './DescriptionList-IXMRCSMK.css';
2
+ import './DescriptionList-DEZISDLQ.css';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
5
5
  function DescriptionList({
6
6
  dense = false,
7
7
  fit = false,
8
+ termWidth,
8
9
  items,
9
10
  className,
11
+ style,
10
12
  children,
11
13
  ...rest
12
14
  }) {
@@ -14,6 +16,7 @@ function DescriptionList({
14
16
  "dl",
15
17
  {
16
18
  ...rest,
19
+ style: termWidth === void 0 ? style : { ...style, "--crewlet-description-list-term": termWidth },
17
20
  className: cx(
18
21
  "crewlet-description-list",
19
22
  dense && "crewlet-description-list--dense",
@@ -0,0 +1 @@
1
+ import './HitArea-QUOS6ZDJ.css';
@@ -1,4 +1,4 @@
1
- import { isComposing } from './chunk-R25RGPUB.js';
1
+ import { isComposing } from './chunk-H5XTJ7GJ.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
3
  import './Toolbar-HUOSMNTH.css';
4
4
  import { useRef, useState, useEffect, useCallback } from 'react';
@@ -1,4 +1,4 @@
1
- import { ConfirmModal } from './chunk-XEGZHHRH.js';
1
+ import { ConfirmModal } from './chunk-SVGARBDY.js';
2
2
  import { InlineCode } from './chunk-5CLW2CXT.js';
3
3
  import { Callout } from './chunk-SZZRIHGT.js';
4
4
  import './LinkInterstitial-ET4MSVSV.css';
@@ -20,7 +20,7 @@ function trackFocusModality(doc = document) {
20
20
  if (root.getAttribute(FOCUS_MODALITY_ATTRIBUTE) !== modality) root.setAttribute(FOCUS_MODALITY_ATTRIBUTE, modality);
21
21
  };
22
22
  const onKey = (event) => {
23
- if (MODIFIERS.has(event.key) || event.metaKey || event.ctrlKey) return;
23
+ if (MODIFIERS.has(event.key)) return;
24
24
  if (event.key === "Tab" || !isTextEntry(event.target)) set("keyboard");
25
25
  };
26
26
  const onPointer = () => set("pointer");
@@ -52,5 +52,17 @@ function trackFocusModality(doc = document) {
52
52
  function useFocusModality() {
53
53
  useLayoutEffect(() => trackFocusModality(), []);
54
54
  }
55
+ var FOCUS_RETURNED_ATTRIBUTE = "data-crewlet-focus-returned";
56
+ function returnFocus(el, options) {
57
+ if (!el) return false;
58
+ const clear = () => el.removeAttribute(FOCUS_RETURNED_ATTRIBUTE);
59
+ el.setAttribute(FOCUS_RETURNED_ATTRIBUTE, "");
60
+ el.addEventListener("blur", clear, { once: true });
61
+ el.focus(options);
62
+ if (el.ownerDocument.activeElement === el) return true;
63
+ el.removeEventListener("blur", clear);
64
+ clear();
65
+ return false;
66
+ }
55
67
 
56
- export { FOCUS_MODALITY_ATTRIBUTE, trackFocusModality, useFocusModality };
68
+ export { FOCUS_MODALITY_ATTRIBUTE, FOCUS_RETURNED_ATTRIBUTE, returnFocus, trackFocusModality, useFocusModality };
@@ -1,5 +1,5 @@
1
1
  import { Callout } from './chunk-SZZRIHGT.js';
2
- import { isComposing } from './chunk-R25RGPUB.js';
2
+ import { isComposing } from './chunk-H5XTJ7GJ.js';
3
3
  import { Button } from './chunk-OG6CL3EB.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
5
5
  import { useEffect } from 'react';
@@ -1,7 +1,7 @@
1
1
  import { DisclosureAnatomy } from './chunk-FZVJDJFN.js';
2
2
  import { useHeadingLevel } from './chunk-PQADV6P6.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
- import './Disclosure-VKBJJIZ7.css';
4
+ import './Disclosure-P4FH3C35.css';
5
5
  import { useState, useId, useCallback } from 'react';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
 
@@ -2,7 +2,7 @@ import { Skeleton } from './chunk-TEUQWOWZ.js';
2
2
  import { PrincipalAvatar } from './chunk-CI3VPIJN.js';
3
3
  import { RelativeTime } from './chunk-3CZ7XAVY.js';
4
4
  import { ArtifactKindGround } from './chunk-UBZDYOCA.js';
5
- import { Card } from './chunk-5QXRI35B.js';
5
+ import { Card } from './chunk-ZK3VYY7L.js';
6
6
  import { AvatarStack } from './chunk-5AQBPHZD.js';
7
7
  import { ArtifactAccessGlyph } from './chunk-BGLKLXL3.js';
8
8
  import { ArtifactKindGlyph } from './chunk-CE2THTQR.js';
@@ -1,12 +1,14 @@
1
- import { Modal } from './chunk-XEGZHHRH.js';
2
- import { useListbox, useHighlightRest } from './chunk-F73MC7EZ.js';
3
- import { Input } from './chunk-IUYUS2SO.js';
1
+ import { Modal } from './chunk-SVGARBDY.js';
2
+ import { useListbox, useHighlightRest } from './chunk-7KHM2FZH.js';
4
3
  import { Kbd } from './chunk-SMBKXWML.js';
4
+ import { Input } from './chunk-TYONQSOK.js';
5
5
  import { Count } from './chunk-BHHIIK3M.js';
6
- import { isComposing } from './chunk-R25RGPUB.js';
6
+ import { isComposing } from './chunk-H5XTJ7GJ.js';
7
+ import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
7
8
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
8
9
  import { cx } from './chunk-ODEQTPFM.js';
9
- import './CommandPalette-7CFGVBND.css';
10
+ import './HitArea-QUOS6ZDJ.css';
11
+ import './CommandPalette-TOZYLWLE.css';
10
12
  import { useId, useMemo, useRef, useEffect, useState } from 'react';
11
13
  import { ChevronLeftGlyph, SearchGlyph } from '@crewlethq/icons/glyphs';
12
14
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -173,7 +175,7 @@ function Palette({
173
175
  type: "button",
174
176
  role: "tab",
175
177
  id: tabId(candidate.id),
176
- className: cx("crewlet-palette__scope", selected && "is-active"),
178
+ className: cx("crewlet-palette__scope", HIT_AREA_CLASS, selected && "is-active"),
177
179
  "aria-selected": selected,
178
180
  "aria-controls": panelId,
179
181
  tabIndex: -1,
@@ -1,5 +1,5 @@
1
1
  import { InlineCode } from './chunk-5CLW2CXT.js';
2
- import { FormField, Input } from './chunk-IUYUS2SO.js';
2
+ import { FormField, Input } from './chunk-TYONQSOK.js';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
 
5
5
  function confirmMatches(typed, phrase) {
@@ -1,5 +1,5 @@
1
1
  import { ThemeSwatch } from './chunk-MNFU2RNT.js';
2
- import { useHighlightRest } from './chunk-F73MC7EZ.js';
2
+ import { useHighlightRest } from './chunk-7KHM2FZH.js';
3
3
  import { useRoving, tabStop } from './chunk-RKKO7QHH.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
5
5
  import './ThemeGallery-X35Y25EX.css';
@@ -1,7 +1,7 @@
1
- import { Document } from './chunk-P6WFZDKS.js';
2
1
  import { PrincipalAvatar } from './chunk-CI3VPIJN.js';
3
2
  import { toInstant, RelativeTime, formatExact, toISO } from './chunk-3CZ7XAVY.js';
4
- import { Composer } from './chunk-RH2NCQBZ.js';
3
+ import { Document } from './chunk-PWG3VHRQ.js';
4
+ import { Composer } from './chunk-ETVEGR2Y.js';
5
5
  import { Count } from './chunk-BHHIIK3M.js';
6
6
  import { useHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
7
7
  import { Button } from './chunk-OG6CL3EB.js';
@@ -1,6 +1,6 @@
1
- import { useFocusModality } from './chunk-YSGLEHND.js';
1
+ import { useFocusModality } from './chunk-NUZHC6MM.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
- import './Document-YFWTWXJP.css';
3
+ import './Document-TZ2NBLOR.css';
4
4
  import { forwardRef, useRef, useCallback, useLayoutEffect, useEffect } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
@@ -1,8 +1,10 @@
1
1
  import { ArtifactKindGlyph } from './chunk-CE2THTQR.js';
2
+ import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
2
3
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
3
4
  import { cx } from './chunk-ODEQTPFM.js';
5
+ import './HitArea-QUOS6ZDJ.css';
4
6
  import './ArtifactKinds-CVD3FCYO.css';
5
- import './ArtifactMakeRow-XBA2MPSY.css';
7
+ import './ArtifactMakeRow-6UX2LTF7.css';
6
8
  import { useId } from 'react';
7
9
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
10
 
@@ -12,7 +14,17 @@ function ArtifactMakeRow({
12
14
  "aria-labelledby": ariaLabelledBy,
13
15
  className
14
16
  }) {
15
- return /* @__PURE__ */ jsx("div", { className: cx("crewlet-make-row", className), children: /* @__PURE__ */ jsx("ul", { className: "crewlet-make-row__list", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children: items.map((item) => /* @__PURE__ */ jsx("li", { className: "crewlet-make-row__cell", children: /* @__PURE__ */ jsx(MakeItem, { item }) }, item.kind)) }) });
17
+ return /* @__PURE__ */ jsx("div", { className: cx("crewlet-make-row", className), children: /* @__PURE__ */ jsx(
18
+ "ul",
19
+ {
20
+ className: "crewlet-make-row__list",
21
+ "aria-label": ariaLabel,
22
+ "aria-labelledby": ariaLabelledBy,
23
+ "data-count": items.length,
24
+ style: { "--crewlet-make-row-count": items.length },
25
+ children: items.map((item) => /* @__PURE__ */ jsx("li", { className: "crewlet-make-row__cell", children: /* @__PURE__ */ jsx(MakeItem, { item }) }, item.kind))
26
+ }
27
+ ) });
16
28
  }
17
29
  function MakeItem({ item }) {
18
30
  const { kind, label, detail, href, disabledReason } = item;
@@ -38,14 +50,14 @@ function MakeItem({ item }) {
38
50
  "aria-disabled": "true",
39
51
  "aria-describedby": disabledReason ? reasonId : describedBy,
40
52
  title: disabledReason,
41
- className: "crewlet-make-row__item crewlet-make-row__item--disabled",
53
+ className: cx("crewlet-make-row__item", "crewlet-make-row__item--disabled", HIT_AREA_CLASS),
42
54
  children: body
43
55
  }
44
56
  ),
45
57
  disabledReason ? /* @__PURE__ */ jsx(VisuallyHidden, { id: reasonId, children: disabledReason }) : null
46
58
  ] });
47
59
  }
48
- return /* @__PURE__ */ jsx("a", { href, "aria-label": label, "aria-describedby": describedBy, className: "crewlet-make-row__item", children: body });
60
+ return /* @__PURE__ */ jsx("a", { href, "aria-label": label, "aria-describedby": describedBy, className: cx("crewlet-make-row__item", HIT_AREA_CLASS), children: body });
49
61
  }
50
62
 
51
63
  export { ArtifactMakeRow };
@@ -1,4 +1,4 @@
1
- import { Tooltip } from './chunk-6ZJ3N7QI.js';
1
+ import { Tooltip } from './chunk-I33UIUZD.js';
2
2
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './FactList-G2H73NFR.css';
@@ -1,4 +1,4 @@
1
- import { isComposing } from './chunk-R25RGPUB.js';
1
+ import { isComposing } from './chunk-H5XTJ7GJ.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
3
  import './SlideStage-ZTTEQSS2.css';
4
4
  import { useRef, useState, useLayoutEffect, useEffect } from 'react';
@@ -1,10 +1,11 @@
1
- import { Tooltip } from './chunk-6ZJ3N7QI.js';
2
- import { SegmentedControl } from './chunk-CCAXYHQS.js';
1
+ import { SegmentedControl } from './chunk-2QZ2VPHR.js';
2
+ import { Tooltip } from './chunk-I33UIUZD.js';
3
3
  import { ArtifactIcon } from './chunk-ILDNJHRU.js';
4
4
  import { isApplePlatform, Kbd } from './chunk-SMBKXWML.js';
5
- import { Menu } from './chunk-BUVCV3WI.js';
5
+ import { Menu } from './chunk-D6FEHY5G.js';
6
6
  import { Button } from './chunk-OG6CL3EB.js';
7
7
  import { IconButton } from './chunk-4FQT6ZAY.js';
8
+ import { returnFocus } from './chunk-NUZHC6MM.js';
8
9
  import { cx } from './chunk-ODEQTPFM.js';
9
10
  import './ArtifactKinds-CVD3FCYO.css';
10
11
  import './ArtifactBar-FWPBBKQ5.css';
@@ -255,7 +256,7 @@ function BarTitle({
255
256
  settled.current = true;
256
257
  setEditing(false);
257
258
  setError(null);
258
- if (refocus) requestAnimationFrame(() => button.current?.focus());
259
+ if (refocus) requestAnimationFrame(() => returnFocus(button.current));
259
260
  };
260
261
  const commit = async (refocus) => {
261
262
  if (settled.current || busy) return;
@@ -1,6 +1,6 @@
1
1
  import { HeadingLevelProvider } from './chunk-PQADV6P6.js';
2
2
  import { useLayerContainer } from './chunk-OMV5W53A.js';
3
- import { focusables, useModalLayer, useBodyScrollLock } from './chunk-R25RGPUB.js';
3
+ import { focusables, useModalLayer, useBodyScrollLock } from './chunk-H5XTJ7GJ.js';
4
4
  import { Button } from './chunk-OG6CL3EB.js';
5
5
  import { IconButton } from './chunk-4FQT6ZAY.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,6 +1,6 @@
1
1
  import { useReorder } from './chunk-XJ2QEBMM.js';
2
- import { Input } from './chunk-IUYUS2SO.js';
3
- import { Menu } from './chunk-BUVCV3WI.js';
2
+ import { Input } from './chunk-TYONQSOK.js';
3
+ import { Menu } from './chunk-D6FEHY5G.js';
4
4
  import { IconButton } from './chunk-4FQT6ZAY.js';
5
5
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,9 +1,9 @@
1
- import { useFocusModality } from './chunk-YSGLEHND.js';
2
1
  import { useHeadingLevel, headingTag, HeadingLevelProvider, nextHeadingLevel } from './chunk-PQADV6P6.js';
3
2
  import { IconButton } from './chunk-4FQT6ZAY.js';
3
+ import { useFocusModality } from './chunk-NUZHC6MM.js';
4
4
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
6
- import './Input-ABGOFENS.css';
6
+ import './Input-OQZBCRX5.css';
7
7
  import { forwardRef, useRef, useState, useImperativeHandle, useEffect, useId } from 'react';
8
8
  import { XGlyph } from '@crewlethq/icons/glyphs';
9
9
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -1,4 +1,4 @@
1
- import { Tag } from './chunk-GFV4LJHH.js';
1
+ import { Tag } from './chunk-KYIAFNU7.js';
2
2
  import './PricingCard-HTAHG4ST.css';
3
3
  import { forwardRef } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,10 +1,10 @@
1
+ import { Popover } from './chunk-KHJIEPZV.js';
1
2
  import { today, CalendarGrid, shiftMonth, compareDays } from './chunk-GXQ3B46I.js';
2
- import { Popover } from './chunk-K3IJQNB7.js';
3
- import { useFocusModality } from './chunk-YSGLEHND.js';
4
3
  import { Button } from './chunk-OG6CL3EB.js';
5
4
  import { IconButton } from './chunk-4FQT6ZAY.js';
5
+ import { useFocusModality } from './chunk-NUZHC6MM.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
- import './DateTimePicker-2IVTKFV2.css';
7
+ import './DateTimePicker-3A7JIIVL.css';
8
8
  import { useMemo, useState, useEffect } from 'react';
9
9
  import { CalendarGlyph, ChevronDownGlyph, ChevronsLeftGlyph, ChevronLeftGlyph, ChevronRightGlyph, ChevronsRightGlyph } from '@crewlethq/icons/glyphs';
10
10
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
- import { Select } from './chunk-VKKUGZ3G.js';
1
+ import { Select } from './chunk-XQZ6EWOE.js';
2
2
  import { CopyButton } from './chunk-W46LPU4R.js';
3
- import { Modal } from './chunk-XEGZHHRH.js';
3
+ import { Modal } from './chunk-SVGARBDY.js';
4
4
  import { Callout } from './chunk-SZZRIHGT.js';
5
5
  import { PrincipalAvatar } from './chunk-CI3VPIJN.js';
6
6
  import { useHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
@@ -1,5 +1,5 @@
1
1
  import { SlideNav } from './chunk-6VOS2GMB.js';
2
- import { SlideStage, SLIDE_WIDTH, SLIDE_HEIGHT } from './chunk-NQGPD6NX.js';
2
+ import { SlideStage, SLIDE_WIDTH, SLIDE_HEIGHT } from './chunk-RMEBFYL7.js';
3
3
  import { Eyebrow } from './chunk-RK4XPHVG.js';
4
4
  import { Button } from './chunk-OG6CL3EB.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,7 +1,9 @@
1
1
  import { KeyChip } from './chunk-FYTIJM2T.js';
2
+ import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
2
3
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
3
4
  import { cx } from './chunk-ODEQTPFM.js';
4
- import './SidebarNav-KF66MLOM.css';
5
+ import './HitArea-QUOS6ZDJ.css';
6
+ import './SidebarNav-7SGUZYKK.css';
5
7
  import { useId, useState } from 'react';
6
8
  import { ChevronDownGlyph } from '@crewlethq/icons/glyphs';
7
9
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -76,7 +78,7 @@ function NavItem({
76
78
  count ? /* @__PURE__ */ jsx(Figure, { figure: count, mark: count.mark, className: "crewlet-nav-item__count" }) : null,
77
79
  badge ? /* @__PURE__ */ jsx(Figure, { figure: badge, className: "crewlet-nav-item__badge" }) : null
78
80
  ] });
79
- const rowClass = "crewlet-nav-item__row";
81
+ const rowClass = cx("crewlet-nav-item__row", HIT_AREA_CLASS);
80
82
  let row;
81
83
  if (inert) {
82
84
  row = /* @__PURE__ */ jsx(
@@ -9,7 +9,7 @@ import { jsx } from 'react/jsx-runtime';
9
9
  var engine = null;
10
10
  var loading = null;
11
11
  function loadEngine() {
12
- loading ??= import('./Editor-HORWMUM3.js').then(
12
+ loading ??= import('./Editor-QV4JP242.js').then(
13
13
  (module) => {
14
14
  engine = module.Editor;
15
15
  return engine;
@@ -1,7 +1,7 @@
1
1
  import { Timeline } from './chunk-AUQPBL4O.js';
2
2
  import { Section } from './chunk-3TFDQLW3.js';
3
- import { Disclosure } from './chunk-MICH6QSJ.js';
4
- import { Composer } from './chunk-RH2NCQBZ.js';
3
+ import { Disclosure } from './chunk-OGXHZHRX.js';
4
+ import { Composer } from './chunk-ETVEGR2Y.js';
5
5
  import { ArtifactPanel } from './chunk-Y5BD4MTE.js';
6
6
  import { Button } from './chunk-OG6CL3EB.js';
7
7
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,8 +1,10 @@
1
- import { useListbox, useOptionKeys, useHighlightRest } from './chunk-F73MC7EZ.js';
2
- import { useFocusModality } from './chunk-YSGLEHND.js';
1
+ import { useListbox, useOptionKeys, useHighlightRest } from './chunk-7KHM2FZH.js';
3
2
  import { useLayerContainer, viewportBounds, anchorGone, placePopup, LAYER_GAP, LAYER_REPOSITION_EVENT } from './chunk-OMV5W53A.js';
3
+ import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
4
+ import { useFocusModality, returnFocus } from './chunk-NUZHC6MM.js';
4
5
  import { cx } from './chunk-ODEQTPFM.js';
5
- import './Select-W3CHTZXP.css';
6
+ import './HitArea-QUOS6ZDJ.css';
7
+ import './Select-F526HLNR.css';
6
8
  import { forwardRef, useId, useMemo, useState, useRef, useCallback, useEffect, useLayoutEffect } from 'react';
7
9
  import { createPortal } from 'react-dom';
8
10
  import { ChevronDownGlyph, CheckGlyph, SearchGlyph } from '@crewlethq/icons/glyphs';
@@ -212,10 +214,10 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
212
214
  }, [offered]);
213
215
  const flat = useMemo(() => groups.flatMap((group) => group.items), [groups]);
214
216
  const tickAtEnd = useMemo(() => flat.some((option) => option.leading !== void 0), [flat]);
215
- const close = useCallback((returnFocus) => {
217
+ const close = useCallback((restore) => {
216
218
  setOpen(false);
217
219
  setQuery("");
218
- if (returnFocus) trigger.current?.focus();
220
+ if (restore) returnFocus(trigger.current);
219
221
  }, []);
220
222
  const commit = useCallback(
221
223
  (index2) => {
@@ -421,6 +423,7 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
421
423
  className: cx(
422
424
  "crewlet-listbox__option",
423
425
  "crewlet-select__option",
426
+ HIT_AREA_CLASS,
424
427
  selected && "is-selected",
425
428
  highlighted && "is-highlight",
426
429
  option.disabled && "is-disabled"
@@ -1,13 +1,13 @@
1
- import { Select } from './chunk-VKKUGZ3G.js';
1
+ import { Select } from './chunk-XQZ6EWOE.js';
2
+ import { Popover } from './chunk-KHJIEPZV.js';
2
3
  import { today, shiftMonth, CalendarGrid, compareDays } from './chunk-GXQ3B46I.js';
3
- import { Popover } from './chunk-K3IJQNB7.js';
4
- import { Input } from './chunk-IUYUS2SO.js';
5
- import { useFocusModality } from './chunk-YSGLEHND.js';
6
- import { isComposing } from './chunk-R25RGPUB.js';
4
+ import { Input } from './chunk-TYONQSOK.js';
5
+ import { isComposing } from './chunk-H5XTJ7GJ.js';
7
6
  import { Button } from './chunk-OG6CL3EB.js';
8
7
  import { IconButton } from './chunk-4FQT6ZAY.js';
8
+ import { useFocusModality } from './chunk-NUZHC6MM.js';
9
9
  import { cx } from './chunk-ODEQTPFM.js';
10
- import './TimeWindowPicker-DEFDV77Z.css';
10
+ import './TimeWindowPicker-I3HXC74I.css';
11
11
  import { useMemo, useState, useRef, useId, useEffect } from 'react';
12
12
  import { ClockGlyph, ChevronDownGlyph, CheckGlyph, ChevronLeftGlyph, ChevronRightGlyph } from '@crewlethq/icons/glyphs';
13
13
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,14 +1,14 @@
1
1
  import { PageHeader } from './chunk-HOXGBLEY.js';
2
- import { DataTable } from './chunk-JML75PGJ.js';
3
- import { DateTimePicker } from './chunk-L4WZSVMT.js';
4
- import { useListbox, useOptionKeys } from './chunk-F73MC7EZ.js';
5
- import { Toolbar } from './chunk-PGRPNDWM.js';
6
- import { Popover } from './chunk-K3IJQNB7.js';
2
+ import { DataTable } from './chunk-A23KDROH.js';
3
+ import { DateTimePicker } from './chunk-UB6MLXUL.js';
4
+ import { useListbox, useOptionKeys } from './chunk-7KHM2FZH.js';
5
+ import { Popover } from './chunk-KHJIEPZV.js';
6
+ import { Toolbar } from './chunk-NR4CPM4T.js';
7
7
  import { RelativeTime } from './chunk-3CZ7XAVY.js';
8
- import { Input } from './chunk-IUYUS2SO.js';
9
8
  import { Kbd } from './chunk-SMBKXWML.js';
9
+ import { Input } from './chunk-TYONQSOK.js';
10
10
  import { Count } from './chunk-BHHIIK3M.js';
11
- import { Menu } from './chunk-BUVCV3WI.js';
11
+ import { Menu } from './chunk-D6FEHY5G.js';
12
12
  import { Button } from './chunk-OG6CL3EB.js';
13
13
  import { IconButton } from './chunk-4FQT6ZAY.js';
14
14
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
@@ -2,7 +2,7 @@ import { CardHeaderSlotContext } from './chunk-AV2DXAEL.js';
2
2
  import { Count } from './chunk-BHHIIK3M.js';
3
3
  import { useHeadingLevel, HeadingLevelProvider, nextHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
5
- import './Card-QOVASQNU.css';
5
+ import './Card-G2ZGT5Z6.css';
6
6
  import { createContext, useId, useState, isValidElement, useRef, useCallback, useMemo, Children, cloneElement, useContext, useEffect, Fragment } from 'react';
7
7
  import { jsx, jsxs } from 'react/jsx-runtime';
8
8
 
@@ -1,5 +1,5 @@
1
1
  import { useThemePreference, useDensityPreference } from './chunk-Z24ZUSTX.js';
2
- import { SegmentedControl } from './chunk-CCAXYHQS.js';
2
+ import { SegmentedControl } from './chunk-2QZ2VPHR.js';
3
3
  import { SunGlyph, MonitorGlyph, MoonGlyph } from '@crewlethq/icons/glyphs';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -1,6 +1,6 @@
1
1
  import { Switch } from './chunk-A722MUNR.js';
2
2
  import { useReorder } from './chunk-XJ2QEBMM.js';
3
- import { Checkbox } from './chunk-PJIPUEJ3.js';
3
+ import { Checkbox } from './chunk-AXS6MBNH.js';
4
4
  import { IconButton } from './chunk-4FQT6ZAY.js';
5
5
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,7 +1,7 @@
1
1
  import { DisclosureAnatomy } from './chunk-FZVJDJFN.js';
2
2
  import { useHeadingLevel } from './chunk-PQADV6P6.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
- import './Disclosure-VKBJJIZ7.css';
4
+ import './Disclosure-P4FH3C35.css';
5
5
  import './Accordion-ZI2WLD5C.css';
6
6
  import { createContext, useState, useCallback, useMemo, useContext, useId } from 'react';
7
7
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -75,6 +75,7 @@ export * from '../FollowBanner/index.js';
75
75
  export * from '../FrameProtocol/index.js';
76
76
  export * from '../Fullscreen/index.js';
77
77
  export * from '../Highlight/index.js';
78
+ export * from '../HitArea/index.js';
78
79
  export * from '../HuePicker/index.js';
79
80
  export * from '../IconButton/index.js';
80
81
  export * from '../IconTile/index.js';