@crewlethq/ui 0.32.0 → 0.33.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 (273) hide show
  1. package/README.md +131 -5
  2. package/dist/AccessDeniedCard/AccessDeniedCard.d.ts +5 -0
  3. package/dist/AccessDeniedCard/index.js +1 -5
  4. package/dist/AccessDeniedCard-QVNDMT46.css +8 -0
  5. package/dist/AppShell/index.js +4 -4
  6. package/dist/{AppShell-GCM4TDVY.css → AppShell-JTSEOA57.css} +3 -1
  7. package/dist/ArrangeGroup/ArrangeGroup.d.ts +16 -1
  8. package/dist/ArrangeGroup/index.d.ts +1 -1
  9. package/dist/ArrangeGroup/index.js +1 -1
  10. package/dist/{ArrangeGroup-GY5YMP6E.css → ArrangeGroup-KRWWOJKR.css} +43 -0
  11. package/dist/ArrangeList/index.js +2 -2
  12. package/dist/ArtifactBar/index.js +12 -12
  13. package/dist/{ArtifactBar-MLMJHWY6.css → ArtifactBar-C462VD4C.css} +8 -3
  14. package/dist/ArtifactCard/ArtifactCard.d.ts +19 -1
  15. package/dist/ArtifactCard/index.d.ts +1 -1
  16. package/dist/ArtifactCard/index.js +4 -4
  17. package/dist/{ArtifactCard-EXVAEBV6.css → ArtifactCard-AS5Z4CVI.css} +17 -2
  18. package/dist/ArtifactCover/index.js +6 -6
  19. package/dist/ArtifactIcon/index.js +5 -5
  20. package/dist/ArtifactPanel/ArtifactPanel.d.ts +6 -2
  21. package/dist/ArtifactPanel/index.js +1 -1
  22. package/dist/{ArtifactPanel-YFXT5O77.css → ArtifactPanel-HW3SU7CP.css} +25 -7
  23. package/dist/Avatar/Avatar.d.ts +6 -4
  24. package/dist/Avatar/index.js +2 -2
  25. package/dist/AvatarPicker/index.js +8 -8
  26. package/dist/Callout/index.js +1 -1
  27. package/dist/{Callout-SXXK4B5R.css → Callout-ZAVG3P66.css} +46 -6
  28. package/dist/Canvas/Canvas.d.ts +33 -2
  29. package/dist/Canvas/index.d.ts +1 -1
  30. package/dist/Canvas/index.js +4 -4
  31. package/dist/{Canvas-LRVNW7XN.css → Canvas-VUG2HLZK.css} +23 -0
  32. package/dist/CanvasBoard/CanvasBoard.d.ts +38 -3
  33. package/dist/CanvasBoard/budget.d.ts +9 -3
  34. package/dist/CanvasBoard/index.d.ts +2 -2
  35. package/dist/CanvasBoard/index.js +7 -7
  36. package/dist/{CanvasBoard-MBZVBWDO.css → CanvasBoard-5NNSKY6A.css} +127 -6
  37. package/dist/CanvasToolbar/index.js +5 -5
  38. package/dist/{CanvasToolbar-AE5MXH7T.css → CanvasToolbar-EM5EVZED.css} +4 -2
  39. package/dist/ChangeMark/index.js +4 -4
  40. package/dist/CharacterPicker/index.js +2 -2
  41. package/dist/Charts/ActivityStrip.d.ts +16 -1
  42. package/dist/Charts/BarList.d.ts +6 -0
  43. package/dist/Charts/ChartEmpty.d.ts +33 -0
  44. package/dist/Charts/Legend.d.ts +6 -0
  45. package/dist/Charts/StackedBar.d.ts +4 -1
  46. package/dist/Charts/StackedColumns.d.ts +14 -3
  47. package/dist/Charts/TimeSeries.d.ts +11 -1
  48. package/dist/Charts/index.d.ts +2 -0
  49. package/dist/Charts/index.js +1 -1
  50. package/dist/{Charts-RY4JN5FC.css → Charts-MBJG72BS.css} +140 -16
  51. package/dist/Checkbox/index.js +1 -1
  52. package/dist/{Checkbox-5UORUG3F.css → Checkbox-ALWG3WV2.css} +11 -0
  53. package/dist/CommandPalette/index.js +3 -3
  54. package/dist/{CommandPalette-HBTNKHZQ.css → CommandPalette-7CFGVBND.css} +4 -0
  55. package/dist/CommentThread/index.js +5 -5
  56. package/dist/Container/index.js +1 -1
  57. package/dist/{Container-3TSKMGNI.css → Container-34BAKG7B.css} +3 -1
  58. package/dist/{DashboardCover-RMINBODB.css → DashboardCover-KYGYMRKW.css} +42 -9
  59. package/dist/DataTable/index.js +5 -5
  60. package/dist/{DataTable-WZK3V62B.css → DataTable-NL2YWAIA.css} +4 -1
  61. package/dist/DataView/index.js +8 -8
  62. package/dist/DateTimePicker/index.js +3 -3
  63. package/dist/DocTabsEditor/DocTabsEditor.d.ts +34 -21
  64. package/dist/DocTabsEditor/index.js +4 -1
  65. package/dist/DocTabsEditor-4M452LNS.css +189 -0
  66. package/dist/Document/Document.d.ts +18 -1
  67. package/dist/Document/index.d.ts +2 -2
  68. package/dist/Document/index.js +1 -1
  69. package/dist/{Document-G3YTZIUL.css → Document-JUGCSQ4L.css} +78 -5
  70. package/dist/EditingStatus/index.js +1 -1
  71. package/dist/{EditingStatus-L6THUAN7.css → EditingStatus-NNA2CKIL.css} +17 -4
  72. package/dist/{Editor-YWBUJAQU.js → Editor-UUZ7XKCU.js} +5 -5
  73. package/dist/EntityChip/index.js +3 -3
  74. package/dist/FactList/index.js +3 -3
  75. package/dist/FollowBanner/index.js +3 -3
  76. package/dist/Fullscreen/index.d.ts +1 -0
  77. package/dist/Fullscreen/index.js +1 -1
  78. package/dist/Fullscreen/useIdle.d.ts +16 -0
  79. package/dist/HuePicker/index.js +3 -3
  80. package/dist/ImageUpload/index.js +3 -3
  81. package/dist/Layer/index.d.ts +1 -1
  82. package/dist/Layer/index.js +1 -1
  83. package/dist/Layer/place.d.ts +18 -0
  84. package/dist/LayersList/LayersList.d.ts +57 -0
  85. package/dist/LayersList/index.d.ts +3 -0
  86. package/dist/LayersList/index.js +3 -0
  87. package/dist/LayersList-NQZEIPZB.css +82 -0
  88. package/dist/LinkInterstitial/index.js +4 -4
  89. package/dist/ListInput/index.js +1 -1
  90. package/dist/Markdown/index.js +1 -1
  91. package/dist/MarkdownEditor/index.js +5 -5
  92. package/dist/MediaMatch/index.d.ts +1 -0
  93. package/dist/MediaMatch/index.js +1 -0
  94. package/dist/MediaMatch/useMediaMatch.d.ts +19 -0
  95. package/dist/Menu/index.js +2 -2
  96. package/dist/MergeConflicts/index.js +4 -4
  97. package/dist/Modal/index.js +2 -2
  98. package/dist/{Modal-XOSV6FAH.css → Modal-7MWRCWAI.css} +30 -0
  99. package/dist/Note/index.js +1 -1
  100. package/dist/{Note-ONSKKTOA.css → Note-WI5MLZOO.css} +13 -0
  101. package/dist/OrgLabel/index.js +3 -3
  102. package/dist/OrgNode/index.js +4 -4
  103. package/dist/OrgTable/index.js +7 -7
  104. package/dist/PeopleRail/index.js +3 -3
  105. package/dist/Popover/index.js +2 -2
  106. package/dist/PresenceStack/index.js +3 -3
  107. package/dist/{PresenceStack-QSXQJND5.css → PresenceStack-FJJQVH74.css} +11 -3
  108. package/dist/PresenterView/PresenterView.d.ts +3 -0
  109. package/dist/PresenterView/index.js +5 -3
  110. package/dist/PresenterView-T3EXIQ5S.css +147 -0
  111. package/dist/Principal/index.js +3 -3
  112. package/dist/PrincipalPicker/index.js +4 -4
  113. package/dist/RichEditor/index.js +5 -5
  114. package/dist/RichEditor/schema.d.ts +1 -1
  115. package/dist/RichEditorMarkdown/index.js +3 -3
  116. package/dist/SandboxedFrame/SandboxedFrame.d.ts +44 -2
  117. package/dist/SandboxedFrame/index.d.ts +2 -2
  118. package/dist/SandboxedFrame/index.js +3 -3
  119. package/dist/SandboxedFrame-P5NASXB7.css +72 -0
  120. package/dist/Section/index.js +1 -1
  121. package/dist/{Section-QR3ILQVK.css → Section-O5AHGSOG.css} +28 -5
  122. package/dist/SegmentedControl/index.js +3 -3
  123. package/dist/Select/index.js +2 -2
  124. package/dist/ShareDialog/ShareDialog.d.ts +10 -0
  125. package/dist/ShareDialog/index.js +9 -9
  126. package/dist/{ShareDialog-YZ4F37MW.css → ShareDialog-4QDCBWMH.css} +12 -0
  127. package/dist/SheetGrid/SheetGrid.d.ts +3 -1
  128. package/dist/SheetGrid/index.js +8 -8
  129. package/dist/{SheetGrid-J3TKKXZL.css → SheetGrid-AKPUCK67.css} +106 -7
  130. package/dist/SheetModel/fit.d.ts +34 -0
  131. package/dist/SheetModel/index.d.ts +1 -0
  132. package/dist/SheetModel/index.js +1 -1
  133. package/dist/Shortcut/index.js +1 -1
  134. package/dist/Skeleton/Skeleton.d.ts +2 -1
  135. package/dist/Skeleton/index.js +1 -1
  136. package/dist/SlideCompare/SlideCompare.d.ts +6 -1
  137. package/dist/SlideCompare/index.js +3 -3
  138. package/dist/{SlideCompare-MGM3U2ME.css → SlideCompare-HTCMPQFY.css} +36 -3
  139. package/dist/SlideFilmstrip/SlideFilmstrip.d.ts +14 -3
  140. package/dist/SlideFilmstrip/index.js +3 -3
  141. package/dist/{SlideFilmstrip-BCLNAHFX.css → SlideFilmstrip-5U6Z55GS.css} +63 -2
  142. package/dist/SlideGrid/index.js +3 -3
  143. package/dist/{SlideGrid-RT6QEQEE.css → SlideGrid-S4LTJ4UU.css} +9 -5
  144. package/dist/SlideNav/SlideNav.d.ts +49 -0
  145. package/dist/SlideNav/index.d.ts +3 -0
  146. package/dist/SlideNav/index.js +4 -0
  147. package/dist/SlideNav-BLFJF6AH.css +53 -0
  148. package/dist/SlideStage/SlideStage.d.ts +9 -1
  149. package/dist/SlideStage/index.js +2 -2
  150. package/dist/{SlideStage-KGRRALXR.css → SlideStage-S2FISF4C.css} +23 -0
  151. package/dist/StatCard/StatCard.d.ts +16 -1
  152. package/dist/StatCard/index.js +1 -1
  153. package/dist/{StatCard-KPAFD4E2.css → StatCard-4T7TMWMN.css} +40 -13
  154. package/dist/Switcher/index.js +6 -6
  155. package/dist/TableCells/index.js +3 -3
  156. package/dist/Tabs/Tabs.d.ts +21 -4
  157. package/dist/Tabs/index.js +1 -1
  158. package/dist/{Tabs-CJGO35BH.css → Tabs-MMZXV5EF.css} +9 -8
  159. package/dist/TagsInput/index.js +1 -1
  160. package/dist/ThemeSwitcher/index.js +4 -4
  161. package/dist/TimeWindowPicker/index.js +4 -4
  162. package/dist/Toaster/index.js +2 -2
  163. package/dist/{Toaster-EOOOTSJT.css → Toaster-C6BQ7L6I.css} +10 -1
  164. package/dist/Toolbar/index.js +1 -1
  165. package/dist/Tooltip/index.js +2 -2
  166. package/dist/TreeCanvas/index.js +5 -5
  167. package/dist/TreeGrid/index.js +3 -3
  168. package/dist/VersionCompare/index.js +4 -4
  169. package/dist/VersionTimeline/index.js +4 -4
  170. package/dist/WidgetFrame/WidgetFrame.d.ts +8 -1
  171. package/dist/WidgetFrame/index.js +2 -2
  172. package/dist/{WidgetFrame-LRZIL62O.css → WidgetFrame-BTFW3CRK.css} +49 -5
  173. package/dist/{chunk-OTN35CI4.js → chunk-22UEIXZE.js} +18 -6
  174. package/dist/{chunk-UZ6MA2V6.js → chunk-2DHMVB5J.js} +2 -2
  175. package/dist/{chunk-WJDQ7XQA.js → chunk-2QEDJSJC.js} +1 -1
  176. package/dist/{chunk-2HIOJ4YZ.js → chunk-3EB2AV3H.js} +2 -3
  177. package/dist/{chunk-ODT5H4MN.js → chunk-3LYWD3BO.js} +2 -2
  178. package/dist/{chunk-FAQGGX2Z.js → chunk-3TFDQLW3.js} +1 -1
  179. package/dist/{chunk-VYDFB6PJ.js → chunk-3U7S6ZUN.js} +50 -17
  180. package/dist/{chunk-A4E5YLXO.js → chunk-4B6LSFDS.js} +1 -1
  181. package/dist/{chunk-WTNUVQVI.js → chunk-4IJS5CPF.js} +1 -1
  182. package/dist/{chunk-UAN5NE7M.js → chunk-5AQBPHZD.js} +1 -1
  183. package/dist/{chunk-QWOPX2MN.js → chunk-5FYPE5GL.js} +2 -3
  184. package/dist/{chunk-CJKMURZO.js → chunk-5SZGKSGL.js} +1 -1
  185. package/dist/chunk-6VOS2GMB.js +54 -0
  186. package/dist/{chunk-3ZAFJ4GK.js → chunk-7Q7WDXHG.js} +4 -4
  187. package/dist/{chunk-JI5AVQLA.js → chunk-7WHDPLVJ.js} +1 -1
  188. package/dist/{chunk-QH3AKP2N.js → chunk-AC22RZKC.js} +2 -2
  189. package/dist/{chunk-ZITJKF6Z.js → chunk-AYB6AYNH.js} +1 -1
  190. package/dist/{chunk-Y5NQ2LMS.js → chunk-BY4N65PM.js} +1 -1
  191. package/dist/{chunk-YFW4MTK4.js → chunk-C7DKX453.js} +1 -1
  192. package/dist/{chunk-RCQXUT5K.js → chunk-CCAXYHQS.js} +1 -1
  193. package/dist/{chunk-4KP4RC3O.js → chunk-CI3VPIJN.js} +1 -1
  194. package/dist/{chunk-7T42VQQT.js → chunk-CPEPST4S.js} +1 -1
  195. package/dist/{chunk-AAOH2P6Y.js → chunk-DFK5EQTU.js} +5 -3
  196. package/dist/{chunk-GOSQXEZU.js → chunk-DFZMYB5X.js} +16 -10
  197. package/dist/{chunk-TGYDROIB.js → chunk-EBCHVFCS.js} +4 -4
  198. package/dist/{chunk-YDBC4DNW.js → chunk-FWYHRU7M.js} +1 -1
  199. package/dist/{chunk-LWXRD6L6.js → chunk-G4ZW7A2W.js} +123 -31
  200. package/dist/{chunk-E6EWK5YY.js → chunk-GLSOD5Z4.js} +3 -3
  201. package/dist/{chunk-LIXSV5YI.js → chunk-GPHWCK7M.js} +1 -1
  202. package/dist/{chunk-UQHKFF2N.js → chunk-GPWJCP3U.js} +1 -1
  203. package/dist/{chunk-77DRMDXR.js → chunk-HG5VF3TZ.js} +192 -67
  204. package/dist/{chunk-4JUKWWUD.js → chunk-HH2GKAAE.js} +1 -1
  205. package/dist/{chunk-QVE4GJAT.js → chunk-HJO4WCH6.js} +1 -1
  206. package/dist/{chunk-I3BSQUKN.js → chunk-HUVG2FFT.js} +1 -1
  207. package/dist/{chunk-VS3KOOOL.js → chunk-ILAEBSLJ.js} +3 -3
  208. package/dist/{chunk-GR55WT4R.js → chunk-IYO2N5ZH.js} +2 -2
  209. package/dist/{chunk-RWA4H2TV.js → chunk-J6ON5SYE.js} +1 -1
  210. package/dist/{chunk-NHBP2XS5.js → chunk-J6ZSH3F5.js} +49 -1
  211. package/dist/{chunk-AMNN4WDX.js → chunk-JBUMD6DS.js} +2 -2
  212. package/dist/{chunk-BWRGFKJP.js → chunk-K3IJQNB7.js} +2 -3
  213. package/dist/{chunk-LFNUH4GY.js → chunk-K4VP6ZKE.js} +1 -1
  214. package/dist/{chunk-ZR5VN5IV.js → chunk-KD2IRYCT.js} +2 -2
  215. package/dist/{chunk-SKOYC2CF.js → chunk-KK5OYNAF.js} +2 -1
  216. package/dist/{chunk-UB7TJEKZ.js → chunk-KV3ODJXH.js} +6 -7
  217. package/dist/chunk-LL5AFXU7.js +96 -0
  218. package/dist/{chunk-VYOKRN2I.js → chunk-LM3ISVJA.js} +1 -1
  219. package/dist/{chunk-E6CR5PEV.js → chunk-LV4APO72.js} +8 -2
  220. package/dist/{chunk-B4EBHPK3.js → chunk-M5KZX5JE.js} +9 -2
  221. package/dist/{chunk-PJD2KFHX.js → chunk-MDNVHIB2.js} +38 -13
  222. package/dist/{chunk-V5IGUXMZ.js → chunk-MTMKIUWF.js} +4 -4
  223. package/dist/{chunk-HVNTQ36V.js → chunk-O37AQNLK.js} +4 -4
  224. package/dist/{chunk-HMPFGIWM.js → chunk-OMV5W53A.js} +10 -1
  225. package/dist/chunk-ONL54WMH.js +55 -0
  226. package/dist/{chunk-AKEZ3G5V.js → chunk-ONQKKHON.js} +1 -1
  227. package/dist/{chunk-LZHLSQYK.js → chunk-OOWPSBIS.js} +2 -2
  228. package/dist/{chunk-JQLTG4KH.js → chunk-ORT5IKHP.js} +62 -51
  229. package/dist/{chunk-4KWOKX2B.js → chunk-OSKJZNBT.js} +1 -1
  230. package/dist/{chunk-EHQTPVV4.js → chunk-PLTCDSTU.js} +1 -1
  231. package/dist/{chunk-5OM447RW.js → chunk-PZKHBB7D.js} +1 -1
  232. package/dist/{chunk-VEB5ERRE.js → chunk-QWNVSR6G.js} +2 -2
  233. package/dist/{chunk-IG75YMUN.js → chunk-RTPQDNW3.js} +1 -1
  234. package/dist/{chunk-SVSCLHHI.js → chunk-SZZRIHGT.js} +1 -1
  235. package/dist/{chunk-EBNI36UQ.js → chunk-T46NR3WP.js} +3 -3
  236. package/dist/{chunk-FPS3JIPQ.js → chunk-TC7DJTXI.js} +1 -1
  237. package/dist/{chunk-W5J7R5EB.js → chunk-TEUQWOWZ.js} +1 -1
  238. package/dist/chunk-THROPJZC.js +115 -0
  239. package/dist/{chunk-IDBHX5SR.js → chunk-TRQCHF2F.js} +1 -1
  240. package/dist/{chunk-M3LUNN7F.js → chunk-TYKQ33CL.js} +13 -2
  241. package/dist/{chunk-VVRL27HM.js → chunk-ULPL26BU.js} +2 -2
  242. package/dist/{chunk-6AH2XJ3Q.js → chunk-UNXLTJU7.js} +3 -3
  243. package/dist/{chunk-FC4YTTFJ.js → chunk-UQGFHNDI.js} +2 -3
  244. package/dist/{chunk-EBJREOKS.js → chunk-UXXJDIYE.js} +4 -4
  245. package/dist/{chunk-5LUI3WQP.js → chunk-V43UVX4H.js} +1 -1
  246. package/dist/{chunk-W4XYY73O.js → chunk-VHZ3AXJD.js} +1 -1
  247. package/dist/{chunk-HJEVSQN6.js → chunk-VL6CUNSX.js} +11 -5
  248. package/dist/{chunk-XDTYBF2F.js → chunk-W5XCNEZC.js} +39 -1
  249. package/dist/{chunk-LDJ3J4TQ.js → chunk-WGD2HX2A.js} +1 -1
  250. package/dist/{chunk-FQCLKD7U.js → chunk-WKEPORNM.js} +1 -1
  251. package/dist/{chunk-I3KKZ2O3.js → chunk-XEGZHHRH.js} +45 -36
  252. package/dist/{chunk-IKB6HFGK.js → chunk-XO7PUL4F.js} +6 -4
  253. package/dist/chunk-XV32RKQZ.js +142 -0
  254. package/dist/{chunk-TBMDMXEX.js → chunk-YA3AWELW.js} +1 -1
  255. package/dist/{chunk-HVIX5ECM.js → chunk-YEVG2X5R.js} +1 -1
  256. package/dist/chunk-YZFLH463.js +215 -0
  257. package/dist/{chunk-P4BOXB6E.js → chunk-Z6GFMI2Z.js} +6 -7
  258. package/dist/{chunk-YEKYVJQR.js → chunk-ZNBLFCQS.js} +2 -2
  259. package/dist/generated/index.d.ts +3 -0
  260. package/dist/generated/index.js +105 -103
  261. package/dist/index.js +105 -103
  262. package/dist/styles.css +1448 -211
  263. package/package.json +3 -3
  264. package/dist/AccessDeniedCard-WXM5DBDZ.css +0 -8
  265. package/dist/DocTabsEditor-RCOWHX5J.css +0 -78
  266. package/dist/PresenterView-T2C6ZZ3N.css +0 -103
  267. package/dist/SandboxedFrame-L6HBQZCD.css +0 -50
  268. package/dist/chunk-CRKFL423.js +0 -74
  269. package/dist/chunk-MBNFJSZS.js +0 -107
  270. package/dist/chunk-RV7SZAHR.js +0 -105
  271. package/dist/chunk-UZ7ZUSLH.js +0 -179
  272. package/dist/utils/useMediaMatch.d.ts +0 -12
  273. /package/dist/{chunk-TF2P3OPS.js → chunk-2JJIN6JN.js} +0 -0
@@ -1,179 +0,0 @@
1
- import { useReorder } from './chunk-XJ2QEBMM.js';
2
- import { Input } from './chunk-6QFAK2WV.js';
3
- import { Button } from './chunk-OG6CL3EB.js';
4
- import { IconButton } from './chunk-4FQT6ZAY.js';
5
- import { VisuallyHidden } from './chunk-BZFWDIV6.js';
6
- import { cx } from './chunk-ODEQTPFM.js';
7
- import './DocTabsEditor-RCOWHX5J.css';
8
- import { useState, useId } from 'react';
9
- import { GripVerticalGlyph, PencilGlyph, ChevronUpGlyph, ChevronDownGlyph, TrashGlyph, PlusGlyph } from '@crewlethq/icons/glyphs';
10
- import { jsxs, jsx } from 'react/jsx-runtime';
11
-
12
- var DOC_TABS_EDITOR_LABELS = {
13
- handle: (name) => `Move ${name}`,
14
- hint: "Drag to move, or press the up or down arrow key.",
15
- moved: (name, position, total) => `${name} moved to position ${position} of ${total}.`,
16
- titleField: (position) => `Title of tab ${position}`,
17
- editText: (title) => `Edit the text of ${title}`,
18
- remove: (title) => `Remove ${title}`,
19
- lastTab: "A doc keeps at least one tab.",
20
- moveUp: (title) => `Move ${title} up`,
21
- moveDown: (title) => `Move ${title} down`,
22
- atTop: (title) => `${title} is first.`,
23
- atBottom: (title) => `${title} is last.`,
24
- newTitle: "New tab title",
25
- add: "Add tab",
26
- addNeedsTitle: "Give the new tab a title.",
27
- untitled: "Untitled tab"
28
- };
29
- function DocTabsEditor({
30
- label,
31
- items,
32
- selected,
33
- onSelect,
34
- onRename,
35
- onReorder,
36
- onRemove,
37
- onAdd,
38
- titleProblem,
39
- addBlocked,
40
- disabled = false,
41
- labels: overrides,
42
- className
43
- }) {
44
- const labels = { ...DOC_TABS_EDITOR_LABELS, ...overrides };
45
- const byKey = new Map(items.map((item) => [item.key, item]));
46
- const nameOf = (key) => byKey.get(key)?.title.trim() || labels.untitled;
47
- const reorder = useReorder({ keys: items.map((item) => item.key), onReorder, nameOf, labels });
48
- const [title, setTitle] = useState("");
49
- const id = useId();
50
- const last = reorder.order.length - 1;
51
- const add = () => {
52
- if (title.trim() === "" || addBlocked || disabled) return;
53
- onAdd(title.trim());
54
- setTitle("");
55
- };
56
- return /* @__PURE__ */ jsxs("div", { className: cx("crewlet-doc-tabs-editor", className), children: [
57
- /* @__PURE__ */ jsx(VisuallyHidden, { id: reorder.hintId, children: reorder.hint }),
58
- /* @__PURE__ */ jsx("ol", { className: "crewlet-doc-tabs-editor__list", "aria-label": label, ...reorder.containerProps, children: reorder.order.map((key, index) => {
59
- const item = byKey.get(key);
60
- if (!item) return null;
61
- const name = nameOf(key);
62
- const problem = titleProblem?.(item.title) ?? null;
63
- const problemId = `${id}-${index}-problem`;
64
- const open = key === selected;
65
- const { "aria-label": handleName, ...handle } = reorder.handleProps(key);
66
- return /* @__PURE__ */ jsxs("li", { className: cx("crewlet-doc-tabs-editor__item", open && "is-open"), ...reorder.itemProps(key), children: [
67
- /* @__PURE__ */ jsx(
68
- IconButton,
69
- {
70
- size: "sm",
71
- variant: "ghost",
72
- className: "crewlet-doc-tabs-editor__handle",
73
- label: handleName,
74
- icon: /* @__PURE__ */ jsx(GripVerticalGlyph, { size: "md" }),
75
- disabled,
76
- ...handle
77
- }
78
- ),
79
- /* @__PURE__ */ jsxs("span", { className: "crewlet-doc-tabs-editor__field", children: [
80
- /* @__PURE__ */ jsx(
81
- Input,
82
- {
83
- inputSize: "sm",
84
- value: item.title,
85
- "aria-label": labels.titleField(index + 1),
86
- error: problem !== null,
87
- disabled,
88
- ...problem !== null ? { "aria-describedby": problemId } : {},
89
- onChange: (event) => onRename(key, event.target.value)
90
- }
91
- ),
92
- problem !== null && /* @__PURE__ */ jsx("span", { id: problemId, className: "crewlet-doc-tabs-editor__problem", children: problem })
93
- ] }),
94
- /* @__PURE__ */ jsx(
95
- IconButton,
96
- {
97
- size: "sm",
98
- variant: open ? "secondary" : "ghost",
99
- pressed: open,
100
- label: labels.editText(name),
101
- icon: /* @__PURE__ */ jsx(PencilGlyph, { size: "sm" }),
102
- disabled,
103
- onClick: () => onSelect(key)
104
- }
105
- ),
106
- /* @__PURE__ */ jsxs("span", { className: "crewlet-doc-tabs-editor__moves", children: [
107
- /* @__PURE__ */ jsx(
108
- IconButton,
109
- {
110
- size: "sm",
111
- variant: "ghost",
112
- label: labels.moveUp(name),
113
- icon: /* @__PURE__ */ jsx(ChevronUpGlyph, { size: "sm" }),
114
- ...index === 0 ? { disabledReason: labels.atTop(name) } : {},
115
- disabled,
116
- onClick: () => reorder.move(key, -1)
117
- }
118
- ),
119
- /* @__PURE__ */ jsx(
120
- IconButton,
121
- {
122
- size: "sm",
123
- variant: "ghost",
124
- label: labels.moveDown(name),
125
- icon: /* @__PURE__ */ jsx(ChevronDownGlyph, { size: "sm" }),
126
- ...index === last ? { disabledReason: labels.atBottom(name) } : {},
127
- disabled,
128
- onClick: () => reorder.move(key, 1)
129
- }
130
- )
131
- ] }),
132
- /* @__PURE__ */ jsx(
133
- IconButton,
134
- {
135
- size: "sm",
136
- variant: "ghost",
137
- label: labels.remove(name),
138
- icon: /* @__PURE__ */ jsx(TrashGlyph, { size: "sm" }),
139
- ...items.length <= 1 ? { disabledReason: labels.lastTab } : {},
140
- disabled,
141
- onClick: () => onRemove(key)
142
- }
143
- )
144
- ] }, key);
145
- }) }),
146
- /* @__PURE__ */ jsxs("div", { className: "crewlet-doc-tabs-editor__add", children: [
147
- /* @__PURE__ */ jsx(
148
- Input,
149
- {
150
- inputSize: "sm",
151
- value: title,
152
- "aria-label": labels.newTitle,
153
- placeholder: labels.newTitle,
154
- disabled,
155
- onChange: (event) => setTitle(event.target.value),
156
- onKeyDown: (event) => {
157
- if (event.key !== "Enter") return;
158
- event.preventDefault();
159
- add();
160
- }
161
- }
162
- ),
163
- /* @__PURE__ */ jsx(
164
- Button,
165
- {
166
- size: "small",
167
- variant: "secondary",
168
- leadingIcon: /* @__PURE__ */ jsx(PlusGlyph, { size: "sm" }),
169
- disabled,
170
- disabledReason: addBlocked ?? (title.trim() === "" ? labels.addNeedsTitle : void 0),
171
- onClick: add,
172
- children: labels.add
173
- }
174
- )
175
- ] })
176
- ] });
177
- }
178
-
179
- export { DOC_TABS_EDITOR_LABELS, DocTabsEditor };
@@ -1,12 +0,0 @@
1
- /**
2
- * Whether a media query matches now, and again whenever that changes.
3
- *
4
- * ONE COPY FOR THE PACKAGE. The shell reads it to decide where its rail goes
5
- * and the switcher to decide whether it opens as a sheet; two copies of the
6
- * subscription would be two answers to "is this a phone" that can disagree for
7
- * a frame while a window is resized.
8
- *
9
- * On the server, and in a browser without `matchMedia`, the answer is `false`:
10
- * the wide layout is the one that needs no JavaScript to be usable.
11
- */
12
- export declare function useMediaMatch(query: string): boolean;
File without changes