@arbidocs/blocks 0.5.120 → 0.5.122

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 (417) hide show
  1. package/dist/ClippingMediaViewer-IEIBT74X.cjs +156 -0
  2. package/dist/ClippingMediaViewer-IEIBT74X.cjs.map +1 -0
  3. package/dist/ClippingPdfViewer-OGYLMVCE.cjs +79 -0
  4. package/dist/ClippingPdfViewer-OGYLMVCE.cjs.map +1 -0
  5. package/dist/{ConnectedCallDock-WER7R222.cjs → ConnectedCallDock-XJOYVVAH.cjs} +9 -7
  6. package/dist/ConnectedCallDock-XJOYVVAH.cjs.map +1 -0
  7. package/dist/{ConnectedCallRoom-T7OBQTYP.cjs → ConnectedCallRoom-CUDYAPQK.cjs} +9 -7
  8. package/dist/{ConnectedCallRoom-T7OBQTYP.cjs.map → ConnectedCallRoom-CUDYAPQK.cjs.map} +1 -1
  9. package/dist/{ConnectedNativeDocxComparison-SGE4R3M4.cjs → ConnectedNativeDocxComparison-QKHCYD6W.cjs} +7 -7
  10. package/dist/{ConnectedNativeDocxComparison-SGE4R3M4.cjs.map → ConnectedNativeDocxComparison-QKHCYD6W.cjs.map} +1 -1
  11. package/dist/ConnectedPresentation-AU25OW25.cjs +321 -0
  12. package/dist/ConnectedPresentation-AU25OW25.cjs.map +1 -0
  13. package/dist/ConnectedSlidesTab-I75LKKN7.cjs +236 -0
  14. package/dist/ConnectedSlidesTab-I75LKKN7.cjs.map +1 -0
  15. package/dist/{ConnectedStreamedWordArtifact-6MCLJRIT.cjs → ConnectedStreamedWordArtifact-AG62232A.cjs} +7 -7
  16. package/dist/{ConnectedStreamedWordArtifact-6MCLJRIT.cjs.map → ConnectedStreamedWordArtifact-AG62232A.cjs.map} +1 -1
  17. package/dist/{DocumentReviewCard-BPIAJJED.cjs → DocumentReviewCard-M53XFLI2.cjs} +15 -14
  18. package/dist/DocumentReviewCard-M53XFLI2.cjs.map +1 -0
  19. package/dist/{FilesViewerDialog-67WK3TZC.cjs → FilesViewerDialog-4352KIOG.cjs} +30 -22
  20. package/dist/FilesViewerDialog-4352KIOG.cjs.map +1 -0
  21. package/dist/{GridViewImpl-ZMJJWTOM.cjs → GridViewImpl-LTYET77Q.cjs} +3 -3
  22. package/dist/GridViewImpl-LTYET77Q.cjs.map +1 -0
  23. package/dist/{WorkspaceTableView-J3C6VH4T.cjs → WorkspaceTableView-3XYAV4BV.cjs} +9 -8
  24. package/dist/WorkspaceTableView-3XYAV4BV.cjs.map +1 -0
  25. package/dist/agents/index.cjs +186 -186
  26. package/dist/{ai-IM4A23YT.cjs → ai-IEIR7SC2.cjs} +17 -15
  27. package/dist/ai-IEIR7SC2.cjs.map +1 -0
  28. package/dist/calls/connected/CallControls.d.ts +2 -0
  29. package/dist/calls/connected/CallControls.js +71 -9
  30. package/dist/calls/connected/CallControls.js.map +2 -2
  31. package/dist/calls/connected/ShareDocumentDialog.d.ts +14 -0
  32. package/dist/calls/connected/ShareDocumentDialog.js +77 -0
  33. package/dist/calls/connected/ShareDocumentDialog.js.map +7 -0
  34. package/dist/calls/index.cjs +2 -2
  35. package/dist/chat/index.cjs +8 -7
  36. package/dist/{chunk-557MJ4IH.cjs → chunk-2F57IO7S.cjs} +9 -146
  37. package/dist/chunk-2F57IO7S.cjs.map +1 -0
  38. package/dist/chunk-2RLA6QO2.cjs +174 -0
  39. package/dist/chunk-2RLA6QO2.cjs.map +1 -0
  40. package/dist/chunk-4TTX6ZNS.cjs +1374 -0
  41. package/dist/chunk-4TTX6ZNS.cjs.map +1 -0
  42. package/dist/chunk-5GCCUXMT.cjs +63 -0
  43. package/dist/chunk-5GCCUXMT.cjs.map +1 -0
  44. package/dist/{chunk-BUVIBHFU.cjs → chunk-5QERK4PK.cjs} +38 -38
  45. package/dist/chunk-5QERK4PK.cjs.map +1 -0
  46. package/dist/chunk-6OK7ESTL.cjs +134 -0
  47. package/dist/chunk-6OK7ESTL.cjs.map +1 -0
  48. package/dist/{chunk-ECLUFKYR.cjs → chunk-7557LDAN.cjs} +4 -4
  49. package/dist/{chunk-ECLUFKYR.cjs.map → chunk-7557LDAN.cjs.map} +1 -1
  50. package/dist/{chunk-KTQOGT2L.cjs → chunk-7L4X6QN2.cjs} +7 -7
  51. package/dist/{chunk-KTQOGT2L.cjs.map → chunk-7L4X6QN2.cjs.map} +1 -1
  52. package/dist/{chunk-BP3IJ34D.cjs → chunk-7NLO7ASW.cjs} +4 -4
  53. package/dist/{chunk-BP3IJ34D.cjs.map → chunk-7NLO7ASW.cjs.map} +1 -1
  54. package/dist/{chunk-3GWWOYGS.cjs → chunk-7PN3YENO.cjs} +4 -4
  55. package/dist/{chunk-3GWWOYGS.cjs.map → chunk-7PN3YENO.cjs.map} +1 -1
  56. package/dist/{chunk-DFBDQKGE.cjs → chunk-ADDQKZ5I.cjs} +4 -4
  57. package/dist/{chunk-DFBDQKGE.cjs.map → chunk-ADDQKZ5I.cjs.map} +1 -1
  58. package/dist/chunk-AFQTQC7A.cjs +35 -0
  59. package/dist/chunk-AFQTQC7A.cjs.map +1 -0
  60. package/dist/{chunk-NLSWDP42.cjs → chunk-ALK3PUUB.cjs} +21 -11
  61. package/dist/chunk-ALK3PUUB.cjs.map +1 -0
  62. package/dist/{chunk-775S43W7.cjs → chunk-CQQQIZU4.cjs} +8 -8
  63. package/dist/{chunk-775S43W7.cjs.map → chunk-CQQQIZU4.cjs.map} +1 -1
  64. package/dist/{chunk-TDO5UWXF.cjs → chunk-E3L5DB5F.cjs} +5 -5
  65. package/dist/{chunk-TDO5UWXF.cjs.map → chunk-E3L5DB5F.cjs.map} +1 -1
  66. package/dist/chunk-GFUOCGY6.cjs +32 -0
  67. package/dist/chunk-GFUOCGY6.cjs.map +1 -0
  68. package/dist/chunk-HYUKPHCT.cjs +66 -0
  69. package/dist/chunk-HYUKPHCT.cjs.map +1 -0
  70. package/dist/{chunk-QQWHG3KF.cjs → chunk-JJZOL5MG.cjs} +4 -4
  71. package/dist/{chunk-QQWHG3KF.cjs.map → chunk-JJZOL5MG.cjs.map} +1 -1
  72. package/dist/chunk-K4763GD5.cjs +301 -0
  73. package/dist/chunk-K4763GD5.cjs.map +1 -0
  74. package/dist/{chunk-B3LZITVF.cjs → chunk-KA3F6TIH.cjs} +2 -442
  75. package/dist/chunk-KA3F6TIH.cjs.map +1 -0
  76. package/dist/{chunk-PGJYD67F.cjs → chunk-KNGZZC4O.cjs} +7 -6
  77. package/dist/chunk-KNGZZC4O.cjs.map +1 -0
  78. package/dist/{chunk-YYPZOEED.cjs → chunk-LHWOKOMP.cjs} +23 -2
  79. package/dist/chunk-LHWOKOMP.cjs.map +1 -0
  80. package/dist/{chunk-HA66DHW6.cjs → chunk-MLA2BJ2Y.cjs} +28 -28
  81. package/dist/chunk-MLA2BJ2Y.cjs.map +1 -0
  82. package/dist/{chunk-CPR6EHG7.cjs → chunk-NG2EE7HR.cjs} +134 -10
  83. package/dist/chunk-NG2EE7HR.cjs.map +1 -0
  84. package/dist/{chunk-CKCG4NDB.cjs → chunk-OHHKBURG.cjs} +29 -29
  85. package/dist/chunk-OHHKBURG.cjs.map +1 -0
  86. package/dist/{chunk-4XJEHKVZ.cjs → chunk-PIYYBPHH.cjs} +4 -4
  87. package/dist/{chunk-4XJEHKVZ.cjs.map → chunk-PIYYBPHH.cjs.map} +1 -1
  88. package/dist/{chunk-YYSBWMDJ.cjs → chunk-QG2U2JGX.cjs} +4 -4
  89. package/dist/{chunk-YYSBWMDJ.cjs.map → chunk-QG2U2JGX.cjs.map} +1 -1
  90. package/dist/{chunk-5IZFSAEZ.cjs → chunk-SDRYSLOX.cjs} +4 -4
  91. package/dist/{chunk-5IZFSAEZ.cjs.map → chunk-SDRYSLOX.cjs.map} +1 -1
  92. package/dist/{chunk-NJCK6V6U.cjs → chunk-T73BHNQX.cjs} +2 -58
  93. package/dist/chunk-T73BHNQX.cjs.map +1 -0
  94. package/dist/{chunk-EOG6OT5I.cjs → chunk-TXP2N3DC.cjs} +4 -4
  95. package/dist/{chunk-EOG6OT5I.cjs.map → chunk-TXP2N3DC.cjs.map} +1 -1
  96. package/dist/{chunk-6UTKM5AB.cjs → chunk-UFT22LAB.cjs} +75 -75
  97. package/dist/chunk-UFT22LAB.cjs.map +1 -0
  98. package/dist/chunk-USNTRL22.cjs +4790 -0
  99. package/dist/chunk-USNTRL22.cjs.map +1 -0
  100. package/dist/{chunk-X36UR4A7.cjs → chunk-UTJ223TI.cjs} +413 -90
  101. package/dist/chunk-UTJ223TI.cjs.map +1 -0
  102. package/dist/{chunk-VZCPMXWC.cjs → chunk-V6MW7B4B.cjs} +4 -4
  103. package/dist/{chunk-VZCPMXWC.cjs.map → chunk-V6MW7B4B.cjs.map} +1 -1
  104. package/dist/{chunk-T23UTIRI.cjs → chunk-VWBYE3XY.cjs} +5 -5
  105. package/dist/{chunk-T23UTIRI.cjs.map → chunk-VWBYE3XY.cjs.map} +1 -1
  106. package/dist/chunk-WFMWKPGY.cjs +102 -0
  107. package/dist/chunk-WFMWKPGY.cjs.map +1 -0
  108. package/dist/chunk-WOOOMTTA.cjs +19 -0
  109. package/dist/chunk-WOOOMTTA.cjs.map +1 -0
  110. package/dist/{chunk-W6INT5GS.cjs → chunk-WRLGLZIA.cjs} +8 -8
  111. package/dist/{chunk-W6INT5GS.cjs.map → chunk-WRLGLZIA.cjs.map} +1 -1
  112. package/dist/{chunk-CJYWHUZR.cjs → chunk-XCKHOXRP.cjs} +4 -4
  113. package/dist/{chunk-CJYWHUZR.cjs.map → chunk-XCKHOXRP.cjs.map} +1 -1
  114. package/dist/chunk-XF355M7O.cjs +154 -0
  115. package/dist/chunk-XF355M7O.cjs.map +1 -0
  116. package/dist/{chunk-Q6CLWOP2.cjs → chunk-XGM4VVNV.cjs} +34 -34
  117. package/dist/{chunk-Q6CLWOP2.cjs.map → chunk-XGM4VVNV.cjs.map} +1 -1
  118. package/dist/{chunk-6WMMZLEV.cjs → chunk-XJEXFEWG.cjs} +2 -27
  119. package/dist/chunk-XJEXFEWG.cjs.map +1 -0
  120. package/dist/chunk-XK4TVJKD.cjs +73 -0
  121. package/dist/chunk-XK4TVJKD.cjs.map +1 -0
  122. package/dist/{chunk-E7TE2WVT.cjs → chunk-ZVEW3JBT.cjs} +3 -3
  123. package/dist/{chunk-E7TE2WVT.cjs.map → chunk-ZVEW3JBT.cjs.map} +1 -1
  124. package/dist/collaboration/index.cjs +70 -70
  125. package/dist/components/ZoomSlider.d.ts +25 -0
  126. package/dist/components/ZoomSlider.js +59 -0
  127. package/dist/components/ZoomSlider.js.map +7 -0
  128. package/dist/connect/docx.cjs +10 -10
  129. package/dist/connect/index.cjs +1066 -1147
  130. package/dist/connect/index.cjs.map +1 -1
  131. package/dist/connect/viewer.cjs +19 -12
  132. package/dist/connection/ai.d.ts +1 -1
  133. package/dist/connection/conversation/ConnectedMessage.js +1 -1
  134. package/dist/connection/conversation/ConnectedMessage.js.map +2 -2
  135. package/dist/connection/files/ConnectedNewFileMenu.d.ts +2 -1
  136. package/dist/connection/files/ConnectedNewFileMenu.js +9 -3
  137. package/dist/connection/files/ConnectedNewFileMenu.js.map +2 -2
  138. package/dist/connection/files/explorer/ConnectedFilesExplorer.js +1 -1
  139. package/dist/connection/files/explorer/ConnectedFilesExplorer.js.map +2 -2
  140. package/dist/connection/files/explorer/FileTiles.js +1 -1
  141. package/dist/connection/files/explorer/FileTiles.js.map +2 -2
  142. package/dist/connection/files/fields/documentField.js +1 -1
  143. package/dist/connection/files/fields/documentField.js.map +2 -2
  144. package/dist/connection/files/grid/documentColumns.js +1 -1
  145. package/dist/connection/files/grid/documentColumns.js.map +2 -2
  146. package/dist/connection/files/page/DocumentsFilterBarActions.js +17 -28
  147. package/dist/connection/files/page/DocumentsFilterBarActions.js.map +2 -2
  148. package/dist/connection/mail/useMailboxDefaults.js +1 -1
  149. package/dist/connection/mail/useMailboxDefaults.js.map +2 -2
  150. package/dist/connection/panels/useSessionPanelMode.js +3 -2
  151. package/dist/connection/panels/useSessionPanelMode.js.map +2 -2
  152. package/dist/connection/presentation/ClippingMediaViewer.d.ts +12 -0
  153. package/dist/connection/presentation/ClippingMediaViewer.js +153 -0
  154. package/dist/connection/presentation/ClippingMediaViewer.js.map +7 -0
  155. package/dist/connection/presentation/ClippingPdfViewer.d.ts +22 -0
  156. package/dist/connection/presentation/ClippingPdfViewer.js +75 -0
  157. package/dist/connection/presentation/ClippingPdfViewer.js.map +7 -0
  158. package/dist/connection/presentation/ConnectedPresentation.d.ts +12 -0
  159. package/dist/connection/presentation/ConnectedPresentation.js +100 -0
  160. package/dist/connection/presentation/ConnectedPresentation.js.map +7 -0
  161. package/dist/connection/presentation/ConnectedSlidesTab.d.ts +20 -0
  162. package/dist/connection/presentation/ConnectedSlidesTab.js +222 -0
  163. package/dist/connection/presentation/ConnectedSlidesTab.js.map +7 -0
  164. package/dist/connection/presentation/CropClipDialog.d.ts +11 -0
  165. package/dist/connection/presentation/CropClipDialog.js +86 -0
  166. package/dist/connection/presentation/CropClipDialog.js.map +7 -0
  167. package/dist/connection/presentation/GenerateTile.d.ts +4 -0
  168. package/dist/connection/presentation/GenerateTile.js +24 -0
  169. package/dist/connection/presentation/GenerateTile.js.map +7 -0
  170. package/dist/connection/presentation/LabelColumnMenu.d.ts +8 -0
  171. package/dist/connection/presentation/LabelColumnMenu.js +38 -0
  172. package/dist/connection/presentation/LabelColumnMenu.js.map +7 -0
  173. package/dist/connection/presentation/PresentationDialogs.d.ts +39 -0
  174. package/dist/connection/presentation/PresentationDialogs.js +295 -0
  175. package/dist/connection/presentation/PresentationDialogs.js.map +7 -0
  176. package/dist/connection/presentation/PresentationFileCard.d.ts +10 -0
  177. package/dist/connection/presentation/PresentationFileCard.js +35 -0
  178. package/dist/connection/presentation/PresentationFileCard.js.map +7 -0
  179. package/dist/connection/presentation/PresentationPill.d.ts +8 -0
  180. package/dist/connection/presentation/PresentationPill.js +39 -0
  181. package/dist/connection/presentation/PresentationPill.js.map +7 -0
  182. package/dist/connection/presentation/PresentationSlot.d.ts +7 -0
  183. package/dist/connection/presentation/PresentationSlot.js +35 -0
  184. package/dist/connection/presentation/PresentationSlot.js.map +7 -0
  185. package/dist/connection/presentation/requests.d.ts +21 -0
  186. package/dist/connection/presentation/requests.js +27 -0
  187. package/dist/connection/presentation/requests.js.map +7 -0
  188. package/dist/connection/presentation/useImageGeneration.d.ts +11 -0
  189. package/dist/connection/presentation/useImageGeneration.js +66 -0
  190. package/dist/connection/presentation/useImageGeneration.js.map +7 -0
  191. package/dist/connection/presentation/useLabelColumns.d.ts +15 -0
  192. package/dist/connection/presentation/useLabelColumns.js +33 -0
  193. package/dist/connection/presentation/useLabelColumns.js.map +7 -0
  194. package/dist/connection/presentation/usePresentationController.d.ts +15 -0
  195. package/dist/connection/presentation/usePresentationController.js +118 -0
  196. package/dist/connection/presentation/usePresentationController.js.map +7 -0
  197. package/dist/connection/presentation/usePresentationFiles.d.ts +44 -0
  198. package/dist/connection/presentation/usePresentationFiles.js +307 -0
  199. package/dist/connection/presentation/usePresentationFiles.js.map +7 -0
  200. package/dist/connection/presentation/useViewerClipping.d.ts +14 -0
  201. package/dist/connection/presentation/useViewerClipping.js +18 -0
  202. package/dist/connection/presentation/useViewerClipping.js.map +7 -0
  203. package/dist/connection/shell/ConnectedAppShell.js +5 -1
  204. package/dist/connection/shell/ConnectedAppShell.js.map +2 -2
  205. package/dist/connection/viewer/CleanViewControl.d.ts +8 -0
  206. package/dist/connection/viewer/CleanViewControl.js +76 -0
  207. package/dist/connection/viewer/CleanViewControl.js.map +7 -0
  208. package/dist/connection/viewer/ConnectedDocumentViewer.js +28 -29
  209. package/dist/connection/viewer/ConnectedDocumentViewer.js.map +2 -2
  210. package/dist/connection/viewer/ViewerCropModal.d.ts +5 -0
  211. package/dist/connection/viewer/ViewerCropModal.js +22 -0
  212. package/dist/connection/viewer/ViewerCropModal.js.map +7 -0
  213. package/dist/connection/viewer/ViewerPdfPane.d.ts +3 -1
  214. package/dist/connection/viewer/ViewerPdfPane.js +41 -1
  215. package/dist/connection/viewer/ViewerPdfPane.js.map +2 -2
  216. package/dist/connection/viewer/documentPlace.d.ts +5 -4
  217. package/dist/connection/viewer/documentPlace.js +2 -2
  218. package/dist/connection/viewer/documentPlace.js.map +2 -2
  219. package/dist/connection/viewer/drafts.js +6 -4
  220. package/dist/connection/viewer/drafts.js.map +2 -2
  221. package/dist/connection/viewer/pdf/PdfClipOutlines.d.ts +11 -0
  222. package/dist/connection/viewer/pdf/PdfClipOutlines.js +42 -0
  223. package/dist/connection/viewer/pdf/PdfClipOutlines.js.map +7 -0
  224. package/dist/connection/viewer/pdf/clipOutlines.d.ts +17 -0
  225. package/dist/connection/viewer/pdf/clipOutlines.js +24 -0
  226. package/dist/connection/viewer/pdf/clipOutlines.js.map +7 -0
  227. package/dist/connection/viewer/pdf/passageHighlights.d.ts +2 -0
  228. package/dist/connection/viewer/pdf/passageHighlights.js +12 -1
  229. package/dist/connection/viewer/pdf/passageHighlights.js.map +2 -2
  230. package/dist/connection/viewer/pdf/usePdfClipOutlines.d.ts +7 -0
  231. package/dist/connection/viewer/pdf/usePdfClipOutlines.js +36 -0
  232. package/dist/connection/viewer/pdf/usePdfClipOutlines.js.map +7 -0
  233. package/dist/connection/viewer/pdf/usePdfPassageHighlights.js +11 -2
  234. package/dist/connection/viewer/pdf/usePdfPassageHighlights.js.map +2 -2
  235. package/dist/connection/viewer/shareDocument.d.ts +11 -0
  236. package/dist/connection/viewer/shareDocument.js +11 -0
  237. package/dist/connection/viewer/shareDocument.js.map +7 -0
  238. package/dist/connection/viewer/slidesTabChunk.d.ts +2 -0
  239. package/dist/connection/viewer/slidesTabChunk.js +9 -0
  240. package/dist/connection/viewer/slidesTabChunk.js.map +7 -0
  241. package/dist/connection/viewer/useCleanView.d.ts +14 -0
  242. package/dist/connection/viewer/useCleanView.js +29 -0
  243. package/dist/connection/viewer/useCleanView.js.map +7 -0
  244. package/dist/connection/viewer/useViewedDocument.d.ts +1 -0
  245. package/dist/connection/viewer/useViewedDocument.js +9 -1
  246. package/dist/connection/viewer/useViewedDocument.js.map +2 -2
  247. package/dist/connection/viewer/useViewerTabs.js +18 -4
  248. package/dist/connection/viewer/useViewerTabs.js.map +2 -2
  249. package/dist/connection/workflows/ConnectedWorkflowStart.d.ts +14 -2
  250. package/dist/connection/workflows/ConnectedWorkflowStart.js +5 -2
  251. package/dist/connection/workflows/ConnectedWorkflowStart.js.map +2 -2
  252. package/dist/databases/index.cjs +49 -49
  253. package/dist/document-tools/DocumentToolButtons.d.ts +2 -0
  254. package/dist/document-tools/DocumentToolButtons.js +22 -1
  255. package/dist/document-tools/DocumentToolButtons.js.map +2 -2
  256. package/dist/document-tools/index.cjs +16 -12
  257. package/dist/document-tools/index.d.ts +1 -1
  258. package/dist/document-tools/index.js +2 -0
  259. package/dist/document-tools/index.js.map +2 -2
  260. package/dist/embed/index.cjs +17 -15
  261. package/dist/files/GridViewImpl.js +1 -1
  262. package/dist/files/GridViewImpl.js.map +2 -2
  263. package/dist/files/ViewerChrome.d.ts +5 -1
  264. package/dist/files/ViewerChrome.js +16 -6
  265. package/dist/files/ViewerChrome.js.map +2 -2
  266. package/dist/files/index.cjs +224 -224
  267. package/dist/files/navigator/DocumentSearchList.js +1 -1
  268. package/dist/files/navigator/DocumentSearchList.js.map +2 -2
  269. package/dist/index.cjs +359 -356
  270. package/dist/index.cjs.map +1 -1
  271. package/dist/presentation/BoxActionBar.d.ts +11 -0
  272. package/dist/presentation/BoxActionBar.js +182 -0
  273. package/dist/presentation/BoxActionBar.js.map +7 -0
  274. package/dist/presentation/ClipActionBar.d.ts +26 -0
  275. package/dist/presentation/ClipActionBar.js +103 -0
  276. package/dist/presentation/ClipActionBar.js.map +7 -0
  277. package/dist/presentation/ClipCaptureOverlay.d.ts +14 -0
  278. package/dist/presentation/ClipCaptureOverlay.js +69 -0
  279. package/dist/presentation/ClipCaptureOverlay.js.map +7 -0
  280. package/dist/presentation/ClipImage.d.ts +21 -0
  281. package/dist/presentation/ClipImage.js +119 -0
  282. package/dist/presentation/ClipImage.js.map +7 -0
  283. package/dist/presentation/ClipTray.d.ts +11 -0
  284. package/dist/presentation/ClipTray.js +152 -0
  285. package/dist/presentation/ClipTray.js.map +7 -0
  286. package/dist/presentation/ClipViewControls.d.ts +11 -0
  287. package/dist/presentation/ClipViewControls.js +142 -0
  288. package/dist/presentation/ClipViewControls.js.map +7 -0
  289. package/dist/presentation/DesignMenu.d.ts +8 -0
  290. package/dist/presentation/DesignMenu.js +199 -0
  291. package/dist/presentation/DesignMenu.js.map +7 -0
  292. package/dist/presentation/LayoutMenu.d.ts +17 -0
  293. package/dist/presentation/LayoutMenu.js +122 -0
  294. package/dist/presentation/LayoutMenu.js.map +7 -0
  295. package/dist/presentation/MediaClip.d.ts +15 -0
  296. package/dist/presentation/MediaClip.js +67 -0
  297. package/dist/presentation/MediaClip.js.map +7 -0
  298. package/dist/presentation/Notice.d.ts +6 -0
  299. package/dist/presentation/Notice.js +43 -0
  300. package/dist/presentation/Notice.js.map +7 -0
  301. package/dist/presentation/PresentControls.d.ts +11 -0
  302. package/dist/presentation/PresentControls.js +117 -0
  303. package/dist/presentation/PresentControls.js.map +7 -0
  304. package/dist/presentation/PresentationStage.d.ts +32 -0
  305. package/dist/presentation/PresentationStage.js +232 -0
  306. package/dist/presentation/PresentationStage.js.map +7 -0
  307. package/dist/presentation/PresenterView.d.ts +16 -0
  308. package/dist/presentation/PresenterView.js +100 -0
  309. package/dist/presentation/PresenterView.js.map +7 -0
  310. package/dist/presentation/SlideDecor.d.ts +25 -0
  311. package/dist/presentation/SlideDecor.js +189 -0
  312. package/dist/presentation/SlideDecor.js.map +7 -0
  313. package/dist/presentation/SlidesEditor.d.ts +25 -0
  314. package/dist/presentation/SlidesEditor.js +375 -0
  315. package/dist/presentation/SlidesEditor.js.map +7 -0
  316. package/dist/presentation/StageBox.d.ts +30 -0
  317. package/dist/presentation/StageBox.js +281 -0
  318. package/dist/presentation/StageBox.js.map +7 -0
  319. package/dist/presentation/StageItem.d.ts +37 -0
  320. package/dist/presentation/StageItem.js +211 -0
  321. package/dist/presentation/StageItem.js.map +7 -0
  322. package/dist/presentation/box-style.d.ts +6 -0
  323. package/dist/presentation/box-style.js +19 -0
  324. package/dist/presentation/box-style.js.map +7 -0
  325. package/dist/presentation/boxes.d.ts +105 -0
  326. package/dist/presentation/boxes.js +103 -0
  327. package/dist/presentation/boxes.js.map +7 -0
  328. package/dist/presentation/draw-boxes.d.ts +8 -0
  329. package/dist/presentation/draw-boxes.js +130 -0
  330. package/dist/presentation/draw-boxes.js.map +7 -0
  331. package/dist/presentation/export-boxes.d.ts +10 -0
  332. package/dist/presentation/export-boxes.js +74 -0
  333. package/dist/presentation/export-boxes.js.map +7 -0
  334. package/dist/presentation/export-pptx.d.ts +16 -0
  335. package/dist/presentation/export-pptx.js +194 -0
  336. package/dist/presentation/export-pptx.js.map +7 -0
  337. package/dist/presentation/import-pptx.d.ts +35 -0
  338. package/dist/presentation/import-pptx.js +659 -0
  339. package/dist/presentation/import-pptx.js.map +7 -0
  340. package/dist/presentation/merge-outside-edits.d.ts +12 -0
  341. package/dist/presentation/merge-outside-edits.js +35 -0
  342. package/dist/presentation/merge-outside-edits.js.map +7 -0
  343. package/dist/presentation/model.d.ts +201 -0
  344. package/dist/presentation/model.js +271 -0
  345. package/dist/presentation/model.js.map +7 -0
  346. package/dist/presentation/panel-id.d.ts +44 -0
  347. package/dist/presentation/panel-id.js +29 -0
  348. package/dist/presentation/panel-id.js.map +7 -0
  349. package/dist/presentation/persistence.d.ts +121 -0
  350. package/dist/presentation/persistence.js +141 -0
  351. package/dist/presentation/persistence.js.map +7 -0
  352. package/dist/presentation/pptx-data.d.ts +22 -0
  353. package/dist/presentation/pptx-data.js +83 -0
  354. package/dist/presentation/pptx-data.js.map +7 -0
  355. package/dist/presentation/pptx-xml.d.ts +90 -0
  356. package/dist/presentation/pptx-xml.js +333 -0
  357. package/dist/presentation/pptx-xml.js.map +7 -0
  358. package/dist/presentation/render-slides.d.ts +58 -0
  359. package/dist/presentation/render-slides.js +309 -0
  360. package/dist/presentation/render-slides.js.map +7 -0
  361. package/dist/presentation/saved-boxes.d.ts +11 -0
  362. package/dist/presentation/saved-boxes.js +80 -0
  363. package/dist/presentation/saved-boxes.js.map +7 -0
  364. package/dist/presentation/slide-layout.d.ts +58 -0
  365. package/dist/presentation/slide-layout.js +133 -0
  366. package/dist/presentation/slide-layout.js.map +7 -0
  367. package/dist/presentation/stage-videos.d.ts +5 -0
  368. package/dist/presentation/stage-videos.js +19 -0
  369. package/dist/presentation/stage-videos.js.map +7 -0
  370. package/dist/presentation/store.d.ts +203 -0
  371. package/dist/presentation/store.js +429 -0
  372. package/dist/presentation/store.js.map +7 -0
  373. package/dist/presentation/theme.d.ts +102 -0
  374. package/dist/presentation/theme.js +276 -0
  375. package/dist/presentation/theme.js.map +7 -0
  376. package/dist/presentation/useClipDrag.d.ts +26 -0
  377. package/dist/presentation/useClipDrag.js +65 -0
  378. package/dist/presentation/useClipDrag.js.map +7 -0
  379. package/dist/presentation/useObjectUrl.d.ts +6 -0
  380. package/dist/presentation/useObjectUrl.js +15 -0
  381. package/dist/presentation/useObjectUrl.js.map +7 -0
  382. package/dist/presentation/usePresenterKeys.d.ts +13 -0
  383. package/dist/presentation/usePresenterKeys.js +62 -0
  384. package/dist/presentation/usePresenterKeys.js.map +7 -0
  385. package/dist/settings/index.cjs +149 -148
  386. package/dist/shell/PanelPortal.js +13 -3
  387. package/dist/shell/PanelPortal.js.map +2 -2
  388. package/dist/shell/index.cjs +49 -46
  389. package/dist/shell/panel-windows.d.ts +2 -0
  390. package/dist/shell/panel-windows.js +8 -2
  391. package/dist/shell/panel-windows.js.map +2 -2
  392. package/dist/studio/index.cjs +8 -6
  393. package/dist/studio/index.cjs.map +1 -1
  394. package/dist/styles.css +1 -1
  395. package/dist/workflow-canvas/index.cjs +26 -25
  396. package/dist/workflow-canvas/index.cjs.map +1 -1
  397. package/node_modules/@arbidocs/coedit/package.json +1 -1
  398. package/package.json +6 -5
  399. package/dist/ConnectedCallDock-WER7R222.cjs.map +0 -1
  400. package/dist/DocumentReviewCard-BPIAJJED.cjs.map +0 -1
  401. package/dist/FilesViewerDialog-67WK3TZC.cjs.map +0 -1
  402. package/dist/GridViewImpl-ZMJJWTOM.cjs.map +0 -1
  403. package/dist/WorkspaceTableView-J3C6VH4T.cjs.map +0 -1
  404. package/dist/ai-IM4A23YT.cjs.map +0 -1
  405. package/dist/chunk-557MJ4IH.cjs.map +0 -1
  406. package/dist/chunk-6UTKM5AB.cjs.map +0 -1
  407. package/dist/chunk-6WMMZLEV.cjs.map +0 -1
  408. package/dist/chunk-B3LZITVF.cjs.map +0 -1
  409. package/dist/chunk-BUVIBHFU.cjs.map +0 -1
  410. package/dist/chunk-CKCG4NDB.cjs.map +0 -1
  411. package/dist/chunk-CPR6EHG7.cjs.map +0 -1
  412. package/dist/chunk-HA66DHW6.cjs.map +0 -1
  413. package/dist/chunk-NJCK6V6U.cjs.map +0 -1
  414. package/dist/chunk-NLSWDP42.cjs.map +0 -1
  415. package/dist/chunk-PGJYD67F.cjs.map +0 -1
  416. package/dist/chunk-X36UR4A7.cjs.map +0 -1
  417. package/dist/chunk-YYPZOEED.cjs.map +0 -1
@@ -207,35 +207,10 @@ function PageContainer({
207
207
  }
208
208
  );
209
209
  }
210
- function ToolButton({
211
- onClick,
212
- label,
213
- active = false,
214
- "data-testid": testId,
215
- children
216
- }) {
217
- return /* @__PURE__ */ jsxRuntime.jsx(
218
- "button",
219
- {
220
- type: "button",
221
- onClick,
222
- title: label,
223
- "aria-label": label,
224
- "data-slot": "tool-button",
225
- "data-testid": testId,
226
- className: ui.cn(
227
- "relative flex size-9 shrink-0 items-center justify-center rounded-md transition-colors hover:bg-accent hover:text-accent-foreground pointer-coarse:size-11",
228
- active ? "bg-accent text-accent-foreground" : "text-muted-foreground"
229
- ),
230
- children
231
- }
232
- );
233
- }
234
210
 
235
211
  exports.DEFAULT_OVERLAY_ZONE_ID = DEFAULT_OVERLAY_ZONE_ID;
236
212
  exports.DEFAULT_PAGE_CONTAINER_PADDING = DEFAULT_PAGE_CONTAINER_PADDING;
237
213
  exports.PageContainer = PageContainer;
238
214
  exports.Shell = Shell;
239
- exports.ToolButton = ToolButton;
240
- //# sourceMappingURL=chunk-6WMMZLEV.cjs.map
241
- //# sourceMappingURL=chunk-6WMMZLEV.cjs.map
215
+ //# sourceMappingURL=chunk-XJEXFEWG.cjs.map
216
+ //# sourceMappingURL=chunk-XJEXFEWG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shell/Shell.tsx"],"names":["BlocksTooltipProvider","jsxs","cn","jsx","useRef","useState","useLayoutEffect","useCallback","useDrawerBehavior","X"],"mappings":";;;;;;;;AAeO,IAAM,uBAAA,GAA0B;AAyBvC,SAAS,SAAA,CAAU;AAAA,EACjB,MAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,EAAmB;AACjB,EAAA,sCACGA,uCAAA,EAAA,EACC,QAAA,kBAAAC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,aAAA,EAAa,MAAA;AAAA,MACb,SAAA,EAAWC,KAAA,CAAG,8BAAA,EAAgC,SAAS,CAAA;AAAA,MAEtD,QAAA,EAAA;AAAA,QAAA,MAAA;AAAA,QACA,MAAA;AAAA,wBAEDD,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sCAAA,EACZ,QAAA,EAAA;AAAA,UAAA,OAAA;AAAA,UACA,QAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SAAA,EACH,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;AAmBA,SAAS,YAAA,CAAa;AAAA,EACpB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA,GAAgB,uBAAA;AAAA,EAChB;AACF,CAAA,EAAsB;AACpB,EAAA,uBACEE,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAWD,KAAA,CAAG,8BAAA,EAAgC,SAAS,CAAA;AAAA,MACvD,OAAA;AAAA,MAEA,QAAA,kBAAAD,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EAIb,QAAA,EAAA;AAAA,wBAAAE,cAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAK,SAAA,EAAW,SAAA,EAAU,mCAC5B,QAAA,EACH,CAAA;AAAA,wBACAA,cAAA,CAAC,KAAA,EAAA,EAAI,EAAA,EAAI,aAAA,EAAe,aAAU,cAAA,EAAe;AAAA,OAAA,EACnD;AAAA;AAAA,GACF;AAEJ;AAWA,IAAM,kBAAA,GAAqB,CAAA;AAM3B,SAAS,iBAAA,GAAoB;AAC3B,EAAA,MAAM,MAAA,GAASC,aAAuB,IAAI,CAAA;AAC1C,EAAA,MAAM,UAAA,GAAaA,aAAuB,IAAI,CAAA;AAC9C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIC,eAAS,CAAC,CAAA;AACxC,EAAAC,qBAAA,CAAgB,MAAM;AACpB,IAAA,MAAM,MAAM,MAAA,CAAO,OAAA;AACnB,IAAA,MAAM,UAAU,UAAA,CAAW,OAAA;AAC3B,IAAA,IAAI,CAAC,GAAA,IAAO,CAAC,OAAA,IAAW,OAAO,mBAAmB,WAAA,EAAa;AAC/D,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,MAAM,EAAE,KAAA,EAAM,GAAI,GAAA,CAAI,qBAAA,EAAsB;AAC5C,MAAA,MAAM,EAAE,IAAA,EAAM,KAAA,EAAM,GAAI,QAAQ,qBAAA,EAAsB;AACtD,MAAA,UAAA,CAAW,KAAA,GAAQ,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,IAAA,CAAK,KAAA,GAAQ,IAAA,GAAO,kBAAkB,CAAC,CAAA,GAAI,CAAC,CAAA;AAAA,IACtF,CAAA;AACA,IAAA,MAAM,QAAA,GAAW,IAAI,cAAA,CAAe,OAAO,CAAA;AAC3C,IAAA,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,aAAA,IAAiB,GAAG,CAAA;AACzC,IAAA,QAAA,CAAS,QAAQ,OAAO,CAAA;AACxB,IAAA,OAAA,EAAQ;AACR,IAAA,OAAO,MAAM,SAAS,UAAA,EAAW;AAAA,EACnC,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,OAAO,EAAE,MAAA,EAAQ,UAAA,EAAY,OAAA,EAAQ;AACvC;AAGA,SAAS,WAAA,CAAY,EAAE,QAAA,EAAU,OAAA,EAAS,WAAU,EAAqB;AAGvE,EAAA,MAAM,EAAE,MAAA,EAAQ,UAAA,EAAY,OAAA,KAAY,iBAAA,EAAkB;AAC1D,EAAA;AAAA;AAAA,oBAEEL,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,cAAA;AAAA,QACV,SAAA,EAAWC,KAAA,CAAG,kEAAA,EAAoE,SAAS,CAAA;AAAA,QAE3F,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAK,MAAA,EAAQ,SAAA,EAAU,4CAAA,EAC1B,QAAA,kBAAAA,cAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAU,qCAAA;AAAA,cACV,OAAO,OAAA,GAAU,CAAA,GAAI,EAAE,WAAA,EAAa,SAAQ,GAAI,MAAA;AAAA,cAE/C;AAAA;AAAA,WACH,EACF,CAAA;AAAA,0BACAA,cAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,GAAA,EAAK,UAAA;AAAA,cACL,SAAA,EAAU,mEAAA;AAAA,cAET,QAAA,EAAA;AAAA;AAAA;AACH;AAAA;AAAA;AACF;AAEJ;AAuBA,SAAS,SAAA,CAAU;AAAA,EACjB,MAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA,GAAQ,OAAA;AAAA,EACR,QAAA,GAAW,KAAA;AAAA,EACX,KAAA;AAAA,EACA,UAAA,GAAa,OAAA;AAAA,EACb,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,EAAmB;AAGjB,EAAA,MAAM,SAAA,GAAYC,aAAuB,IAAI,CAAA;AAC7C,EAAA,MAAM,WAAA,GAAcG,kBAAY,MAAM,YAAA,GAAe,KAAK,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAC3E,EAAAC,mCAAA,CAAkB,MAAA,IAAU,QAAA,EAAU,WAAA,EAAa,SAAS,CAAA;AAC5D,EAAA,IAAI,CAAC,QAAQ,OAAO,IAAA;AACpB,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,uBACEP,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,SAAA;AAAA,QACL,IAAA,EAAK,QAAA;AAAA,QACL,YAAA,EAAW,MAAA;AAAA,QACX,YAAA,EAAY,KAAA;AAAA,QACZ,WAAA,EAAU,YAAA;AAAA,QACV,YAAA,EAAW,MAAA;AAAA,QACX,aAAA,EAAY,MAAA;AAAA,QACZ,aAAA,EAAa,MAAA;AAAA,QACb,SAAA,EAAWC,KAAA,CAAG,gDAAA,EAAkD,SAAS,CAAA;AAAA,QAExE,QAAA,EAAA;AAAA,UAAA,YAAA,oBACCC,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,OAAA,EAAS,MAAM,YAAA,CAAa,KAAK,CAAA;AAAA,cACjC,YAAA,EAAY,UAAA;AAAA,cACZ,SAAA,EAAU,iFAAA;AAAA,cAEV,QAAA,kBAAAA,cAAA,CAACM,aAAA,EAAA,EAAE,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA,WACxB;AAAA,UAED;AAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACA,EAAA,uBACEN,cAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,KAAA;AAAA,MACZ,WAAA,EAAU,YAAA;AAAA,MACV,YAAA,EAAW,MAAA;AAAA,MACX,aAAA,EAAa,MAAA;AAAA,MACb,KAAA,EAAO,EAAE,KAAA,EAAM;AAAA,MACf,SAAA,EAAWD,KAAA;AAAA,QACT,6EAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;AAEO,IAAM,KAAA,GAAQ;AAAA,EACnB,IAAA,EAAM,SAAA;AAAA,EACN,OAAA,EAAS,YAAA;AAAA,EACT,MAAA,EAAQ,WAAA;AAAA,EACR,IAAA,EAAM;AACR;AAqBO,IAAM,8BAAA,GAAiC;AAWvC,SAAS,aAAA,CAAc;AAAA,EAC5B,QAAA;AAAA,EACA,IAAA,GAAO,KAAA;AAAA,EACP,QAAA,GAAW,WAAA;AAAA,EACX,OAAA,GAAU,8BAAA;AAAA,EACV,cAAA;AAAA,EACA;AACF,CAAA,EAAuB;AACrB,EAAA,uBACEC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,SAAA,EAAWD,KAAA,CAAG,sCAAA,EAAwC,SAAS,CAAA;AAAA,MAE/D,QAAA,kBAAAC,cAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAWD,KAAA;AAAA,YACT,6CAAA;AAAA,YACA,OAAA;AAAA,YACA,CAAC,IAAA,IAAQA,KAAA,CAAG,SAAA,EAAW,QAAQ,CAAA;AAAA,YAC/B;AAAA,WACF;AAAA,UAEC;AAAA;AAAA;AACH;AAAA,GACF;AAEJ","file":"chunk-XJEXFEWG.cjs","sourcesContent":["import {\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n type MouseEventHandler,\n type ReactNode,\n type Ref,\n} from 'react'\nimport { X } from 'lucide-react'\nimport { cn } from '@arbidocs/react/ui'\nimport { useDrawerBehavior } from '../lib/use-drawer'\nimport { BlocksTooltipProvider } from '../provider/TooltipScope'\n\n/** Default id of the element overlay-mode panels portal into (see `Shell.Content`). */\nexport const DEFAULT_OVERLAY_ZONE_ID = 'app-overlay-zone'\n\nexport interface ShellRootProps {\n /** Full-width strip above everything (e.g. a deletion-pending banner). */\n banner?: ReactNode\n /** Top chrome: a Shell.Topbar on list pages, a MobileAppBar on phones; omit for none. */\n topbar?: ReactNode\n /** The Sidebar.Root (and its drawer backdrop). */\n sidebar?: ReactNode\n /** Phone bottom navigation. */\n tabBar?: ReactNode\n /** Right-hand column beside the content: a `Shell.Dock` (chat, inspector...). */\n aside?: ReactNode\n /** Extra layers inside the body row (connection monitor, …). */\n overlays?: ReactNode\n /** The Shell.Content region. */\n children: ReactNode\n className?: string\n 'data-testid'?: string\n}\n\n/**\n * The application frame: banner, top chrome, then a body row holding the sidebar beside the\n * content, then the phone tab bar. Every region is a slot, so a custom UI composes its own.\n */\nfunction ShellRoot({\n banner,\n topbar,\n sidebar,\n tabBar,\n aside,\n overlays,\n children,\n className,\n 'data-testid': testId,\n}: ShellRootProps) {\n return (\n <BlocksTooltipProvider>\n <div\n data-slot=\"shell\"\n data-testid={testId}\n className={cn('flex h-screen h-dvh flex-col', className)}\n >\n {banner}\n {topbar}\n {/* `relative` anchors the sidebar's slide-out overlays to this row. */}\n <div className=\"relative flex flex-1 overflow-hidden\">\n {sidebar}\n {children}\n {aside}\n {overlays}\n </div>\n {tabBar}\n </div>\n </BlocksTooltipProvider>\n )\n}\n\nexport interface ShellContentProps {\n children: ReactNode\n /** Scrolling element, for scroll restoration. */\n scrollRef?: Ref<HTMLDivElement>\n onClick?: MouseEventHandler<HTMLDivElement>\n /**\n * Overlay-mode panels portal into this id and cover the content column only. Defaults to\n * `DEFAULT_OVERLAY_ZONE_ID`.\n */\n overlayZoneId?: string\n className?: string\n}\n\n/**\n * The content column beside the sidebar. It is `relative` so overlay-mode panels (portalled into\n * the overlay zone) cover this region only, leaving the sidebar and its actions interactive.\n */\nfunction ShellContent({\n children,\n scrollRef,\n onClick,\n overlayZoneId = DEFAULT_OVERLAY_ZONE_ID,\n className,\n}: ShellContentProps) {\n return (\n <div\n data-slot=\"shell-content\"\n className={cn('flex min-w-0 flex-1 flex-col', className)}\n onClick={onClick}\n >\n <div className=\"relative min-h-0 flex-1\">\n {/* The content column is a CSS container: pages and parts size by its width with\n container variants (`@3xl:`...), so an open dock or a narrow window is honoured,\n which viewport breakpoints cannot do. */}\n <div ref={scrollRef} className=\"@container h-full overflow-auto\">\n {children}\n </div>\n <div id={overlayZoneId} data-slot=\"overlay-zone\" />\n </div>\n </div>\n )\n}\n\nexport interface ShellTopbarProps {\n /** Left side: guidance / breadcrumbs, centred in the page column. */\n children?: ReactNode\n /** Right side: the action cluster. */\n actions?: ReactNode\n className?: string\n}\n\n/** Space kept between the left side and the action cluster where they would meet. */\nconst TOPBAR_ACTIONS_GAP = 8\n\n/**\n * How far the centred column runs under the absolutely placed action cluster (plus a gap), so the\n * column can stop short of it; 0 while they don't meet (a wide screen, few actions).\n */\nfunction useActionsOverlap() {\n const rowRef = useRef<HTMLDivElement>(null)\n const actionsRef = useRef<HTMLDivElement>(null)\n const [overlap, setOverlap] = useState(0)\n useLayoutEffect(() => {\n const row = rowRef.current\n const cluster = actionsRef.current\n if (!row || !cluster || typeof ResizeObserver === 'undefined') return\n const measure = () => {\n const { right } = row.getBoundingClientRect()\n const { left, width } = cluster.getBoundingClientRect()\n setOverlap(width > 0 ? Math.max(0, Math.ceil(right - left + TOPBAR_ACTIONS_GAP)) : 0)\n }\n const observer = new ResizeObserver(measure)\n observer.observe(row.parentElement ?? row)\n observer.observe(cluster)\n measure()\n return () => observer.disconnect()\n }, [])\n return { rowRef, actionsRef, overlap }\n}\n\n/** A minimal white header for pages with no sidebar (the workspaces list). */\nfunction ShellTopbar({ children, actions, className }: ShellTopbarProps) {\n // The left side stays centred in the page column but never runs under the actions (they would\n // cover its end: a guidance strip's dismiss button, say).\n const { rowRef, actionsRef, overlap } = useActionsOverlap()\n return (\n // `relative z-30` keeps dropdowns the header opens above the page region (a later sibling).\n <div\n data-slot=\"shell-topbar\"\n className={cn('relative z-30 flex h-14 shrink-0 items-center bg-background px-2', className)}\n >\n <div ref={rowRef} className=\"mx-auto flex w-full max-w-6xl items-center\">\n <div\n className=\"hidden min-w-0 flex-1 px-6 sm:block\"\n style={overlap > 0 ? { marginRight: overlap } : undefined}\n >\n {children}\n </div>\n </div>\n <div\n ref={actionsRef}\n className=\"absolute right-4 top-1/2 flex -translate-y-1/2 items-center gap-1\"\n >\n {actions}\n </div>\n </div>\n )\n}\n\nexport interface ShellDockProps {\n isOpen: boolean\n /** Called with `false` by the mobile close button. */\n onOpenChange?: (isOpen: boolean) => void\n /** Desktop width (CSS length or px). Default 24rem. */\n width?: number | string\n /** Phone layout: the dock covers the screen instead of sitting beside the content. */\n isMobile?: boolean\n /** Accessible name of the dock. */\n label: string\n /** Mobile close button label. */\n closeLabel?: string\n children: ReactNode\n className?: string\n 'data-testid'?: string\n}\n\n/**\n * A right-hand dock for a companion surface (chat, inspector). Controlled: the host owns\n * `isOpen`, the width and the mobile breakpoint. Pass it to `Shell.Root` as `aside`.\n */\nfunction ShellDock({\n isOpen,\n onOpenChange,\n width = '24rem',\n isMobile = false,\n label,\n closeLabel = 'Close',\n children,\n className,\n 'data-testid': testId,\n}: ShellDockProps) {\n // The phone dock covers the screen, so it is a modal: Escape closes, focus is trapped and\n // returns to the opener.\n const mobileRef = useRef<HTMLDivElement>(null)\n const closeMobile = useCallback(() => onOpenChange?.(false), [onOpenChange])\n useDrawerBehavior(isOpen && isMobile, closeMobile, mobileRef)\n if (!isOpen) return null\n if (isMobile) {\n return (\n <div\n ref={mobileRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={label}\n data-slot=\"shell-dock\"\n data-state=\"open\"\n data-mobile=\"true\"\n data-testid={testId}\n className={cn('fixed inset-0 z-40 flex flex-col bg-background', className)}\n >\n {onOpenChange && (\n <button\n type=\"button\"\n onClick={() => onOpenChange(false)}\n aria-label={closeLabel}\n className=\"absolute right-2 top-2 z-10 rounded-md p-2 text-muted-foreground hover:bg-muted\"\n >\n <X className=\"size-5\" />\n </button>\n )}\n {children}\n </div>\n )\n }\n return (\n <aside\n aria-label={label}\n data-slot=\"shell-dock\"\n data-state=\"open\"\n data-testid={testId}\n style={{ width }}\n className={cn(\n 'flex shrink-0 flex-col overflow-hidden border-l border-border bg-background',\n className\n )}\n >\n {children}\n </aside>\n )\n}\n\nexport const Shell = {\n Root: ShellRoot,\n Content: ShellContent,\n Topbar: ShellTopbar,\n Dock: ShellDock,\n}\n\nexport interface PageContainerProps {\n children: ReactNode\n /** Full width instead of the centred 72rem column. */\n wide?: boolean\n /** Max width of the centred column (any Tailwind `max-w-*` class). Default `max-w-6xl`. */\n maxWidth?: string\n /**\n * Horizontal padding of the inner column (any Tailwind `px-*` classes, responsive variants\n * welcome). Default `px-4 sm:px-6 lg:px-8`; pass `px-0` for a full-bleed page, or the class\n * string of your own gutter. Use this prop, not `innerClassName`, to change the gutter: the\n * classes are concatenated without a merge step, so a second `px-*` would not reliably win.\n */\n padding?: string\n /** Extra classes for the inner column. */\n innerClassName?: string\n className?: string\n}\n\n/** Default gutter of {@link PageContainer}: tight on a phone, roomier from tablet up. */\nexport const DEFAULT_PAGE_CONTAINER_PADDING = 'px-4 sm:px-6 lg:px-8'\n\n/**\n * Page body wrapper: a white canvas with the standard 72rem column (or full width) and a responsive side gutter. Fills its\n * parent by default so sticky headers and h-full pages keep a definite height chain.\n *\n * NOT a CSS container: its content (a long thread) overflows it into the host's scroller, and\n * Chrome before ~v130 gives `container-type` layout containment, which turns that overflow into\n * ink overflow — the scroller sees no scroll height, so no scrollbar and a dead wheel. Container\n * queries resolve against the scroll surface instead (Shell.Content, the app's DockZone).\n */\nexport function PageContainer({\n children,\n wide = false,\n maxWidth = 'max-w-6xl',\n padding = DEFAULT_PAGE_CONTAINER_PADDING,\n innerClassName,\n className,\n}: PageContainerProps) {\n return (\n <div\n data-slot=\"page-container\"\n className={cn('bg-background pb-safe h-full min-h-0', className)}\n >\n <div\n className={cn(\n 'flex h-full w-full min-w-0 flex-col pb-safe',\n padding,\n !wide && cn('mx-auto', maxWidth),\n innerClassName\n )}\n >\n {children}\n </div>\n </div>\n )\n}\n"]}
@@ -0,0 +1,73 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var react = require('react');
5
+ var annotations = require('@arbidocs/react/annotations');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ // src/presentation/ClipCaptureOverlay.tsx
9
+ var MIN_CLIP_FRACTION = 0.02;
10
+ function ClipCaptureOverlay({ page, onCapture }) {
11
+ const start = react.useRef(null);
12
+ const [draft, setDraft] = react.useState(null);
13
+ const point = (event, box) => ({
14
+ x: event.clientX - box.left,
15
+ y: event.clientY - box.top
16
+ });
17
+ const onPointerDown = (event) => {
18
+ if (event.button !== 0) return;
19
+ event.preventDefault();
20
+ event.currentTarget.setPointerCapture(event.pointerId);
21
+ const box = event.currentTarget.getBoundingClientRect();
22
+ start.current = { ...point(event, box), box };
23
+ setDraft(null);
24
+ };
25
+ const onPointerMove = (event) => {
26
+ const s = start.current;
27
+ if (!s) return;
28
+ const p = point(event, s.box);
29
+ setDraft({ x: s.x, y: s.y, width: p.x - s.x, height: p.y - s.y });
30
+ };
31
+ const onPointerUp = (event) => {
32
+ const s = start.current;
33
+ start.current = null;
34
+ setDraft(null);
35
+ if (!s) return;
36
+ const p = point(event, s.box);
37
+ const size = { width: s.box.width, height: s.box.height };
38
+ const rect = annotations.toNorm({ x: s.x, y: s.y, width: p.x - s.x, height: p.y - s.y }, size);
39
+ if (rect.w < MIN_CLIP_FRACTION || rect.h < MIN_CLIP_FRACTION) return;
40
+ onCapture({ page, rect, aspect: rect.w * size.width / (rect.h * size.height) });
41
+ };
42
+ const shown = draft && {
43
+ left: Math.min(draft.x, draft.x + draft.width),
44
+ top: Math.min(draft.y, draft.y + draft.height),
45
+ width: Math.abs(draft.width),
46
+ height: Math.abs(draft.height)
47
+ };
48
+ return /* @__PURE__ */ jsxRuntime.jsx(
49
+ "div",
50
+ {
51
+ className: "absolute inset-0 z-20 cursor-crosshair touch-none select-none",
52
+ onPointerDown,
53
+ onPointerMove,
54
+ onPointerUp,
55
+ onPointerCancel: () => {
56
+ start.current = null;
57
+ setDraft(null);
58
+ },
59
+ "data-testid": `clip-capture-${page}`,
60
+ children: shown && /* @__PURE__ */ jsxRuntime.jsx(
61
+ "div",
62
+ {
63
+ className: "pointer-events-none absolute border-2 border-dashed border-primary bg-primary/10",
64
+ style: shown
65
+ }
66
+ )
67
+ }
68
+ );
69
+ }
70
+
71
+ exports.ClipCaptureOverlay = ClipCaptureOverlay;
72
+ //# sourceMappingURL=chunk-XK4TVJKD.cjs.map
73
+ //# sourceMappingURL=chunk-XK4TVJKD.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/presentation/ClipCaptureOverlay.tsx"],"names":["useRef","useState","toNorm","jsx"],"mappings":"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","file":"chunk-XK4TVJKD.cjs","sourcesContent":["/**\n * Over a page while clipping: drag a rectangle and it becomes a clip. The rectangle is kept as\n * fractions of the page (`toNorm`), so it does not depend on the zoom it was drawn at.\n */\n\nimport { useRef, useState, type PointerEvent as ReactPointerEvent } from 'react'\nimport { toNorm, type PixelRect } from '@arbidocs/react/annotations'\nimport type { Rect } from './model'\n\n/** Smaller than this (a fraction of the page, either side) is a stray click, not a clip. */\nconst MIN_CLIP_FRACTION = 0.02\n\nexport interface ClipCaptureOverlayProps {\n page: number\n onCapture: (capture: { page: number; rect: Rect; aspect: number }) => void\n}\n\nexport function ClipCaptureOverlay({ page, onCapture }: ClipCaptureOverlayProps) {\n const start = useRef<{ x: number; y: number; box: DOMRect } | null>(null)\n const [draft, setDraft] = useState<PixelRect | null>(null)\n\n const point = (event: ReactPointerEvent, box: DOMRect) => ({\n x: event.clientX - box.left,\n y: event.clientY - box.top,\n })\n\n const onPointerDown = (event: ReactPointerEvent<HTMLDivElement>) => {\n if (event.button !== 0) return\n event.preventDefault()\n event.currentTarget.setPointerCapture(event.pointerId)\n const box = event.currentTarget.getBoundingClientRect()\n start.current = { ...point(event, box), box }\n setDraft(null)\n }\n\n const onPointerMove = (event: ReactPointerEvent) => {\n const s = start.current\n if (!s) return\n const p = point(event, s.box)\n setDraft({ x: s.x, y: s.y, width: p.x - s.x, height: p.y - s.y })\n }\n\n const onPointerUp = (event: ReactPointerEvent) => {\n const s = start.current\n start.current = null\n setDraft(null)\n if (!s) return\n const p = point(event, s.box)\n const size = { width: s.box.width, height: s.box.height }\n const rect = toNorm({ x: s.x, y: s.y, width: p.x - s.x, height: p.y - s.y }, size)\n if (rect.w < MIN_CLIP_FRACTION || rect.h < MIN_CLIP_FRACTION) return\n onCapture({ page, rect, aspect: (rect.w * size.width) / (rect.h * size.height) })\n }\n\n const shown = draft && {\n left: Math.min(draft.x, draft.x + draft.width),\n top: Math.min(draft.y, draft.y + draft.height),\n width: Math.abs(draft.width),\n height: Math.abs(draft.height),\n }\n\n return (\n <div\n className=\"absolute inset-0 z-20 cursor-crosshair touch-none select-none\"\n onPointerDown={onPointerDown}\n onPointerMove={onPointerMove}\n onPointerUp={onPointerUp}\n onPointerCancel={() => {\n start.current = null\n setDraft(null)\n }}\n data-testid={`clip-capture-${page}`}\n >\n {shown && (\n <div\n className=\"pointer-events-none absolute border-2 border-dashed border-primary bg-primary/10\"\n style={shown}\n />\n )}\n </div>\n )\n}\n"]}
@@ -5,7 +5,7 @@ var ui = require('@arbidocs/react/ui');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
 
7
7
  // src/files/GridView.tsx
8
- var gridChunk = ui.lazyChunk(() => import('./GridViewImpl-ZMJJWTOM.cjs'));
8
+ var gridChunk = ui.lazyChunk(() => import('./GridViewImpl-LTYET77Q.cjs'));
9
9
  function GridSkeleton({
10
10
  className = "w-full",
11
11
  height = 500
@@ -37,5 +37,5 @@ var GridView = ui.lazyComponent(
37
37
 
38
38
  exports.GridView = GridView;
39
39
  exports.gridChunk = gridChunk;
40
- //# sourceMappingURL=chunk-E7TE2WVT.cjs.map
41
- //# sourceMappingURL=chunk-E7TE2WVT.cjs.map
40
+ //# sourceMappingURL=chunk-ZVEW3JBT.cjs.map
41
+ //# sourceMappingURL=chunk-ZVEW3JBT.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/files/GridView.tsx"],"names":["lazyChunk","jsxs","jsx","lazyComponent"],"mappings":";;;;;;AAUO,IAAM,SAAA,GAAYA,YAAA,CAAU,MAAM,OAAO,6BAAgB,CAAC;AAGjE,SAAS,YAAA,CAAa;AAAA,EACpB,SAAA,GAAY,QAAA;AAAA,EACZ,MAAA,GAAS;AACX,CAAA,EAGG;AAED,EAAA,MAAM,OAAO,MAAA,KAAW,MAAA;AACxB,EAAA,MAAM,KAAA,GAAQ,OAAO,EAAE,SAAA,EAAW,KAAK,CAAA,GAAI,EAAA,EAAG,GAAI,EAAE,MAAA,EAAO;AAC3D,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,SAAS,CAAA,gDAAA,CAAA;AAAA,MACvB,KAAA;AAAA,MACA,WAAA,EAAU,MAAA;AAAA,MACV,WAAA,EAAU,cAAA;AAAA,MAEV,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,WAAU,6CAAA,EAA8C,CAAA;AAAA,QAC5D,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,OAAO,CAAA,GAAI,CAAA,EAAE,EAAG,CAAC,CAAA,EAAG,CAAA,qBACxCD,eAAA,CAAC,KAAA,EAAA,EAAY,WAAU,8DAAA,EACrB,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yCAAA,EAA0C,CAAA;AAAA,0BACzDA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yCAAA,EAA0C;AAAA,SAAA,EAAA,EAFjD,CAGV,CACD;AAAA;AAAA;AAAA,GACH;AAEJ;AAEO,IAAM,QAAA,GAAWC,gBAAA;AAAA,EACtB,SAAA;AAAA,EACA,CAAC,MAAM,CAAA,CAAE,QAAA;AAAA,EACT,CAAC,0BAAUD,cAAA,CAAC,YAAA,EAAA,EAAa,WAAW,KAAA,CAAM,SAAA,EAAW,MAAA,EAAQ,KAAA,CAAM,MAAA,EAAQ;AAC7E","file":"chunk-E7TE2WVT.cjs","sourcesContent":["/**\n * `GridView`: the data grid (AG Grid). The grid library is large, so it lives in its own chunk,\n * loaded the first time a grid renders (`gridChunk`); meanwhile the same skeleton as a loading grid.\n */\nimport type { ComponentType } from 'react'\nimport { lazyChunk, lazyComponent } from '@arbidocs/react/ui'\nimport type { GridView as GridViewImpl, GridViewProps } from './GridViewImpl'\n\nexport type { GridViewEmptyState, GridViewProps, GridViewSelection } from './GridViewImpl'\n\nexport const gridChunk = lazyChunk(() => import('./GridViewImpl'))\n\n/** The loading grid's look, at the grid's own defaults (`className=\"w-full\"`, `height={500}`). */\nfunction GridSkeleton({\n className = 'w-full',\n height = 500,\n}: {\n className?: string\n height?: string | number\n}) {\n // `auto` sizes the grid to its rows: a few rows' worth meanwhile, rather than nothing.\n const auto = height === 'auto'\n const style = auto ? { minHeight: 37 + 3 * 42 } : { height }\n return (\n <div\n className={`${className} overflow-hidden rounded-lg border border-border`}\n style={style}\n aria-busy=\"true\"\n data-slot=\"grid-loading\"\n >\n <div className=\"h-[37px] border-b border-border bg-muted/40\" />\n {Array.from({ length: auto ? 3 : 6 }, (_, i) => (\n <div key={i} className=\"flex h-[42px] items-center gap-4 border-b border-border px-3\">\n <div className=\"h-3 w-40 animate-pulse rounded bg-muted\" />\n <div className=\"h-3 w-24 animate-pulse rounded bg-muted\" />\n </div>\n ))}\n </div>\n )\n}\n\nexport const GridView = lazyComponent(\n gridChunk,\n (m) => m.GridView as ComponentType<GridViewProps<unknown>>,\n (props) => <GridSkeleton className={props.className} height={props.height} />\n) as typeof GridViewImpl\n"]}
1
+ {"version":3,"sources":["../src/files/GridView.tsx"],"names":["lazyChunk","jsxs","jsx","lazyComponent"],"mappings":";;;;;;AAUO,IAAM,SAAA,GAAYA,YAAA,CAAU,MAAM,OAAO,6BAAgB,CAAC;AAGjE,SAAS,YAAA,CAAa;AAAA,EACpB,SAAA,GAAY,QAAA;AAAA,EACZ,MAAA,GAAS;AACX,CAAA,EAGG;AAED,EAAA,MAAM,OAAO,MAAA,KAAW,MAAA;AACxB,EAAA,MAAM,KAAA,GAAQ,OAAO,EAAE,SAAA,EAAW,KAAK,CAAA,GAAI,EAAA,EAAG,GAAI,EAAE,MAAA,EAAO;AAC3D,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,SAAS,CAAA,gDAAA,CAAA;AAAA,MACvB,KAAA;AAAA,MACA,WAAA,EAAU,MAAA;AAAA,MACV,WAAA,EAAU,cAAA;AAAA,MAEV,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,WAAU,6CAAA,EAA8C,CAAA;AAAA,QAC5D,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,OAAO,CAAA,GAAI,CAAA,EAAE,EAAG,CAAC,CAAA,EAAG,CAAA,qBACxCD,eAAA,CAAC,KAAA,EAAA,EAAY,WAAU,8DAAA,EACrB,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yCAAA,EAA0C,CAAA;AAAA,0BACzDA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yCAAA,EAA0C;AAAA,SAAA,EAAA,EAFjD,CAGV,CACD;AAAA;AAAA;AAAA,GACH;AAEJ;AAEO,IAAM,QAAA,GAAWC,gBAAA;AAAA,EACtB,SAAA;AAAA,EACA,CAAC,MAAM,CAAA,CAAE,QAAA;AAAA,EACT,CAAC,0BAAUD,cAAA,CAAC,YAAA,EAAA,EAAa,WAAW,KAAA,CAAM,SAAA,EAAW,MAAA,EAAQ,KAAA,CAAM,MAAA,EAAQ;AAC7E","file":"chunk-ZVEW3JBT.cjs","sourcesContent":["/**\n * `GridView`: the data grid (AG Grid). The grid library is large, so it lives in its own chunk,\n * loaded the first time a grid renders (`gridChunk`); meanwhile the same skeleton as a loading grid.\n */\nimport type { ComponentType } from 'react'\nimport { lazyChunk, lazyComponent } from '@arbidocs/react/ui'\nimport type { GridView as GridViewImpl, GridViewProps } from './GridViewImpl'\n\nexport type { GridViewEmptyState, GridViewProps, GridViewSelection } from './GridViewImpl'\n\nexport const gridChunk = lazyChunk(() => import('./GridViewImpl'))\n\n/** The loading grid's look, at the grid's own defaults (`className=\"w-full\"`, `height={500}`). */\nfunction GridSkeleton({\n className = 'w-full',\n height = 500,\n}: {\n className?: string\n height?: string | number\n}) {\n // `auto` sizes the grid to its rows: a few rows' worth meanwhile, rather than nothing.\n const auto = height === 'auto'\n const style = auto ? { minHeight: 37 + 3 * 42 } : { height }\n return (\n <div\n className={`${className} overflow-hidden rounded-lg border border-border`}\n style={style}\n aria-busy=\"true\"\n data-slot=\"grid-loading\"\n >\n <div className=\"h-[37px] border-b border-border bg-muted/40\" />\n {Array.from({ length: auto ? 3 : 6 }, (_, i) => (\n <div key={i} className=\"flex h-[42px] items-center gap-4 border-b border-border px-3\">\n <div className=\"h-3 w-40 animate-pulse rounded bg-muted\" />\n <div className=\"h-3 w-24 animate-pulse rounded bg-muted\" />\n </div>\n ))}\n </div>\n )\n}\n\nexport const GridView = lazyComponent(\n gridChunk,\n (m) => m.GridView as ComponentType<GridViewProps<unknown>>,\n (props) => <GridSkeleton className={props.className} height={props.height} />\n) as typeof GridViewImpl\n"]}
@@ -2,10 +2,10 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkVZKTOGZR_cjs = require('../chunk-VZKTOGZR.cjs');
5
- var chunkEOG6OT5I_cjs = require('../chunk-EOG6OT5I.cjs');
5
+ var chunkTXP2N3DC_cjs = require('../chunk-TXP2N3DC.cjs');
6
6
  require('../chunk-7G2LJMUG.cjs');
7
7
  var chunkTG2GM7WJ_cjs = require('../chunk-TG2GM7WJ.cjs');
8
- require('../chunk-E7TE2WVT.cjs');
8
+ require('../chunk-ZVEW3JBT.cjs');
9
9
  var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
10
10
  require('../chunk-ULWRNGGE.cjs');
11
11
  require('../chunk-PLIF5CUV.cjs');
@@ -34,275 +34,275 @@ Object.defineProperty(exports, "vCardFilename", {
34
34
  });
35
35
  Object.defineProperty(exports, "ActionMenu", {
36
36
  enumerable: true,
37
- get: function () { return chunkEOG6OT5I_cjs.ActionMenu; }
37
+ get: function () { return chunkTXP2N3DC_cjs.ActionMenu; }
38
38
  });
39
39
  Object.defineProperty(exports, "AddContactsForm", {
40
40
  enumerable: true,
41
- get: function () { return chunkEOG6OT5I_cjs.AddContactsForm; }
41
+ get: function () { return chunkTXP2N3DC_cjs.AddContactsForm; }
42
42
  });
43
43
  Object.defineProperty(exports, "AddContactsResults", {
44
44
  enumerable: true,
45
- get: function () { return chunkEOG6OT5I_cjs.AddContactsResults; }
45
+ get: function () { return chunkTXP2N3DC_cjs.AddContactsResults; }
46
46
  });
47
47
  Object.defineProperty(exports, "DEFAULT_ADD_CONTACTS_LABELS", {
48
48
  enumerable: true,
49
- get: function () { return chunkEOG6OT5I_cjs.DEFAULT_ADD_CONTACTS_LABELS; }
49
+ get: function () { return chunkTXP2N3DC_cjs.DEFAULT_ADD_CONTACTS_LABELS; }
50
50
  });
51
51
  Object.defineProperty(exports, "DEFAULT_CONTACT_INVITE_LABELS", {
52
52
  enumerable: true,
53
- get: function () { return chunkEOG6OT5I_cjs.DEFAULT_CONTACT_INVITE_LABELS; }
53
+ get: function () { return chunkTXP2N3DC_cjs.DEFAULT_CONTACT_INVITE_LABELS; }
54
54
  });
55
55
  Object.defineProperty(exports, "DEFAULT_CONTACT_OUTCOME_LABELS", {
56
56
  enumerable: true,
57
- get: function () { return chunkEOG6OT5I_cjs.DEFAULT_CONTACT_OUTCOME_LABELS; }
57
+ get: function () { return chunkTXP2N3DC_cjs.DEFAULT_CONTACT_OUTCOME_LABELS; }
58
58
  });
59
59
  Object.defineProperty(exports, "DEFAULT_DM_ACCESS_REQUEST_BANNER_LABELS", {
60
60
  enumerable: true,
61
- get: function () { return chunkEOG6OT5I_cjs.DEFAULT_DM_ACCESS_REQUEST_BANNER_LABELS; }
61
+ get: function () { return chunkTXP2N3DC_cjs.DEFAULT_DM_ACCESS_REQUEST_BANNER_LABELS; }
62
62
  });
63
63
  Object.defineProperty(exports, "DEFAULT_DM_GRANT_ACCESS_DIALOG_LABELS", {
64
64
  enumerable: true,
65
- get: function () { return chunkEOG6OT5I_cjs.DEFAULT_DM_GRANT_ACCESS_DIALOG_LABELS; }
65
+ get: function () { return chunkTXP2N3DC_cjs.DEFAULT_DM_GRANT_ACCESS_DIALOG_LABELS; }
66
66
  });
67
67
  Object.defineProperty(exports, "DEFAULT_DM_THREAD_FRAME_LABELS", {
68
68
  enumerable: true,
69
- get: function () { return chunkEOG6OT5I_cjs.DEFAULT_DM_THREAD_FRAME_LABELS; }
69
+ get: function () { return chunkTXP2N3DC_cjs.DEFAULT_DM_THREAD_FRAME_LABELS; }
70
70
  });
71
71
  Object.defineProperty(exports, "DEFAULT_MAIL_FOLDER_TREE_LABELS", {
72
72
  enumerable: true,
73
- get: function () { return chunkEOG6OT5I_cjs.DEFAULT_MAIL_FOLDER_TREE_LABELS; }
73
+ get: function () { return chunkTXP2N3DC_cjs.DEFAULT_MAIL_FOLDER_TREE_LABELS; }
74
74
  });
75
75
  Object.defineProperty(exports, "DEFAULT_RECIPIENT_PICKER_LABELS", {
76
76
  enumerable: true,
77
- get: function () { return chunkEOG6OT5I_cjs.DEFAULT_RECIPIENT_PICKER_LABELS; }
77
+ get: function () { return chunkTXP2N3DC_cjs.DEFAULT_RECIPIENT_PICKER_LABELS; }
78
78
  });
79
79
  Object.defineProperty(exports, "DmAccessRequestBanner", {
80
80
  enumerable: true,
81
- get: function () { return chunkEOG6OT5I_cjs.DmAccessRequestBanner; }
81
+ get: function () { return chunkTXP2N3DC_cjs.DmAccessRequestBanner; }
82
82
  });
83
83
  Object.defineProperty(exports, "DmGrantAccessDialogView", {
84
84
  enumerable: true,
85
- get: function () { return chunkEOG6OT5I_cjs.DmGrantAccessDialogView; }
85
+ get: function () { return chunkTXP2N3DC_cjs.DmGrantAccessDialogView; }
86
86
  });
87
87
  Object.defineProperty(exports, "DmInviteAvatar", {
88
88
  enumerable: true,
89
- get: function () { return chunkEOG6OT5I_cjs.DmInviteAvatar; }
89
+ get: function () { return chunkTXP2N3DC_cjs.DmInviteAvatar; }
90
90
  });
91
91
  Object.defineProperty(exports, "DmThreadFrame", {
92
92
  enumerable: true,
93
- get: function () { return chunkEOG6OT5I_cjs.DmThreadFrame; }
93
+ get: function () { return chunkTXP2N3DC_cjs.DmThreadFrame; }
94
94
  });
95
95
  Object.defineProperty(exports, "EMPTY_CONTACT_FORM", {
96
96
  enumerable: true,
97
- get: function () { return chunkEOG6OT5I_cjs.EMPTY_CONTACT_FORM; }
97
+ get: function () { return chunkTXP2N3DC_cjs.EMPTY_CONTACT_FORM; }
98
98
  });
99
99
  Object.defineProperty(exports, "MAX_INVITE_EMAILS", {
100
100
  enumerable: true,
101
- get: function () { return chunkEOG6OT5I_cjs.MAX_INVITE_EMAILS; }
101
+ get: function () { return chunkTXP2N3DC_cjs.MAX_INVITE_EMAILS; }
102
102
  });
103
103
  Object.defineProperty(exports, "MailActionBar", {
104
104
  enumerable: true,
105
- get: function () { return chunkEOG6OT5I_cjs.MailActionBar; }
105
+ get: function () { return chunkTXP2N3DC_cjs.MailActionBar; }
106
106
  });
107
107
  Object.defineProperty(exports, "MailConversationView", {
108
108
  enumerable: true,
109
- get: function () { return chunkEOG6OT5I_cjs.MailConversationView; }
109
+ get: function () { return chunkTXP2N3DC_cjs.MailConversationView; }
110
110
  });
111
111
  Object.defineProperty(exports, "MailDeliveryBadge", {
112
112
  enumerable: true,
113
- get: function () { return chunkEOG6OT5I_cjs.MailDeliveryBadge; }
113
+ get: function () { return chunkTXP2N3DC_cjs.MailDeliveryBadge; }
114
114
  });
115
115
  Object.defineProperty(exports, "MailDeliveryList", {
116
116
  enumerable: true,
117
- get: function () { return chunkEOG6OT5I_cjs.MailDeliveryList; }
117
+ get: function () { return chunkTXP2N3DC_cjs.MailDeliveryList; }
118
118
  });
119
119
  Object.defineProperty(exports, "MailDocumentPicker", {
120
120
  enumerable: true,
121
- get: function () { return chunkEOG6OT5I_cjs.MailDocumentPicker; }
121
+ get: function () { return chunkTXP2N3DC_cjs.MailDocumentPicker; }
122
122
  });
123
123
  Object.defineProperty(exports, "MailFlagButton", {
124
124
  enumerable: true,
125
- get: function () { return chunkEOG6OT5I_cjs.MailFlagButton; }
125
+ get: function () { return chunkTXP2N3DC_cjs.MailFlagButton; }
126
126
  });
127
127
  Object.defineProperty(exports, "MailFolderTree", {
128
128
  enumerable: true,
129
- get: function () { return chunkEOG6OT5I_cjs.MailFolderTree; }
129
+ get: function () { return chunkTXP2N3DC_cjs.MailFolderTree; }
130
130
  });
131
131
  Object.defineProperty(exports, "MailGrid", {
132
132
  enumerable: true,
133
- get: function () { return chunkEOG6OT5I_cjs.MailGrid; }
133
+ get: function () { return chunkTXP2N3DC_cjs.MailGrid; }
134
134
  });
135
135
  Object.defineProperty(exports, "MailMessageContent", {
136
136
  enumerable: true,
137
- get: function () { return chunkEOG6OT5I_cjs.MailMessageContent; }
137
+ get: function () { return chunkTXP2N3DC_cjs.MailMessageContent; }
138
138
  });
139
139
  Object.defineProperty(exports, "MailMessagePreview", {
140
140
  enumerable: true,
141
- get: function () { return chunkEOG6OT5I_cjs.MailMessagePreview; }
141
+ get: function () { return chunkTXP2N3DC_cjs.MailMessagePreview; }
142
142
  });
143
143
  Object.defineProperty(exports, "MailMessageView", {
144
144
  enumerable: true,
145
- get: function () { return chunkEOG6OT5I_cjs.MailMessageView; }
145
+ get: function () { return chunkTXP2N3DC_cjs.MailMessageView; }
146
146
  });
147
147
  Object.defineProperty(exports, "MemberBulkActions", {
148
148
  enumerable: true,
149
- get: function () { return chunkEOG6OT5I_cjs.MemberBulkActions; }
149
+ get: function () { return chunkTXP2N3DC_cjs.MemberBulkActions; }
150
150
  });
151
151
  Object.defineProperty(exports, "MemberListLoading", {
152
152
  enumerable: true,
153
- get: function () { return chunkEOG6OT5I_cjs.MemberListLoading; }
153
+ get: function () { return chunkTXP2N3DC_cjs.MemberListLoading; }
154
154
  });
155
155
  Object.defineProperty(exports, "MemberMutedText", {
156
156
  enumerable: true,
157
- get: function () { return chunkEOG6OT5I_cjs.MemberMutedText; }
157
+ get: function () { return chunkTXP2N3DC_cjs.MemberMutedText; }
158
158
  });
159
159
  Object.defineProperty(exports, "MemberNameCell", {
160
160
  enumerable: true,
161
- get: function () { return chunkEOG6OT5I_cjs.MemberNameCell; }
161
+ get: function () { return chunkTXP2N3DC_cjs.MemberNameCell; }
162
162
  });
163
163
  Object.defineProperty(exports, "MemberRoleCell", {
164
164
  enumerable: true,
165
- get: function () { return chunkEOG6OT5I_cjs.MemberRoleCell; }
165
+ get: function () { return chunkTXP2N3DC_cjs.MemberRoleCell; }
166
166
  });
167
167
  Object.defineProperty(exports, "NEEDS_CONNECTION", {
168
168
  enumerable: true,
169
- get: function () { return chunkEOG6OT5I_cjs.NEEDS_CONNECTION; }
169
+ get: function () { return chunkTXP2N3DC_cjs.NEEDS_CONNECTION; }
170
170
  });
171
171
  Object.defineProperty(exports, "PlainMailBodyEditor", {
172
172
  enumerable: true,
173
- get: function () { return chunkEOG6OT5I_cjs.PlainMailBodyEditor; }
173
+ get: function () { return chunkTXP2N3DC_cjs.PlainMailBodyEditor; }
174
174
  });
175
175
  Object.defineProperty(exports, "RecipientPicker", {
176
176
  enumerable: true,
177
- get: function () { return chunkEOG6OT5I_cjs.RecipientPicker; }
177
+ get: function () { return chunkTXP2N3DC_cjs.RecipientPicker; }
178
178
  });
179
179
  Object.defineProperty(exports, "RoleSelect", {
180
180
  enumerable: true,
181
- get: function () { return chunkEOG6OT5I_cjs.RoleSelect; }
181
+ get: function () { return chunkTXP2N3DC_cjs.RoleSelect; }
182
182
  });
183
183
  Object.defineProperty(exports, "applyContactInviteResults", {
184
184
  enumerable: true,
185
- get: function () { return chunkEOG6OT5I_cjs.applyContactInviteResults; }
185
+ get: function () { return chunkTXP2N3DC_cjs.applyContactInviteResults; }
186
186
  });
187
187
  Object.defineProperty(exports, "buildMailFolderTree", {
188
188
  enumerable: true,
189
- get: function () { return chunkEOG6OT5I_cjs.buildMailFolderTree; }
189
+ get: function () { return chunkTXP2N3DC_cjs.buildMailFolderTree; }
190
190
  });
191
191
  Object.defineProperty(exports, "contactName", {
192
192
  enumerable: true,
193
- get: function () { return chunkEOG6OT5I_cjs.contactName; }
193
+ get: function () { return chunkTXP2N3DC_cjs.contactName; }
194
194
  });
195
195
  Object.defineProperty(exports, "contactOutcomeMessage", {
196
196
  enumerable: true,
197
- get: function () { return chunkEOG6OT5I_cjs.contactOutcomeMessage; }
197
+ get: function () { return chunkTXP2N3DC_cjs.contactOutcomeMessage; }
198
198
  });
199
199
  Object.defineProperty(exports, "contactStatusLabel", {
200
200
  enumerable: true,
201
- get: function () { return chunkEOG6OT5I_cjs.contactStatusLabel; }
201
+ get: function () { return chunkTXP2N3DC_cjs.contactStatusLabel; }
202
202
  });
203
203
  Object.defineProperty(exports, "contactToForm", {
204
204
  enumerable: true,
205
- get: function () { return chunkEOG6OT5I_cjs.contactToForm; }
205
+ get: function () { return chunkTXP2N3DC_cjs.contactToForm; }
206
206
  });
207
207
  Object.defineProperty(exports, "descendantFolderIds", {
208
208
  enumerable: true,
209
- get: function () { return chunkEOG6OT5I_cjs.descendantFolderIds; }
209
+ get: function () { return chunkTXP2N3DC_cjs.descendantFolderIds; }
210
210
  });
211
211
  Object.defineProperty(exports, "draftMailCompose", {
212
212
  enumerable: true,
213
- get: function () { return chunkEOG6OT5I_cjs.draftMailCompose; }
213
+ get: function () { return chunkTXP2N3DC_cjs.draftMailCompose; }
214
214
  });
215
215
  Object.defineProperty(exports, "emailTokens", {
216
216
  enumerable: true,
217
- get: function () { return chunkEOG6OT5I_cjs.emailTokens; }
217
+ get: function () { return chunkTXP2N3DC_cjs.emailTokens; }
218
218
  });
219
219
  Object.defineProperty(exports, "emptyMailCompose", {
220
220
  enumerable: true,
221
- get: function () { return chunkEOG6OT5I_cjs.emptyMailCompose; }
221
+ get: function () { return chunkTXP2N3DC_cjs.emptyMailCompose; }
222
222
  });
223
223
  Object.defineProperty(exports, "failContactInvites", {
224
224
  enumerable: true,
225
- get: function () { return chunkEOG6OT5I_cjs.failContactInvites; }
225
+ get: function () { return chunkTXP2N3DC_cjs.failContactInvites; }
226
226
  });
227
227
  Object.defineProperty(exports, "formToContactCard", {
228
228
  enumerable: true,
229
- get: function () { return chunkEOG6OT5I_cjs.formToContactCard; }
229
+ get: function () { return chunkTXP2N3DC_cjs.formToContactCard; }
230
230
  });
231
231
  Object.defineProperty(exports, "hasCalendarPart", {
232
232
  enumerable: true,
233
- get: function () { return chunkEOG6OT5I_cjs.hasCalendarPart; }
233
+ get: function () { return chunkTXP2N3DC_cjs.hasCalendarPart; }
234
234
  });
235
235
  Object.defineProperty(exports, "inviteEmail", {
236
236
  enumerable: true,
237
- get: function () { return chunkEOG6OT5I_cjs.inviteEmail; }
237
+ get: function () { return chunkTXP2N3DC_cjs.inviteEmail; }
238
238
  });
239
239
  Object.defineProperty(exports, "isInboxFolder", {
240
240
  enumerable: true,
241
- get: function () { return chunkEOG6OT5I_cjs.isInboxFolder; }
241
+ get: function () { return chunkTXP2N3DC_cjs.isInboxFolder; }
242
242
  });
243
243
  Object.defineProperty(exports, "isInvitableEmail", {
244
244
  enumerable: true,
245
- get: function () { return chunkEOG6OT5I_cjs.isInvitableEmail; }
245
+ get: function () { return chunkTXP2N3DC_cjs.isInvitableEmail; }
246
246
  });
247
247
  Object.defineProperty(exports, "mailAddressLabel", {
248
248
  enumerable: true,
249
- get: function () { return chunkEOG6OT5I_cjs.mailAddressLabel; }
249
+ get: function () { return chunkTXP2N3DC_cjs.mailAddressLabel; }
250
250
  });
251
251
  Object.defineProperty(exports, "matchesContact", {
252
252
  enumerable: true,
253
- get: function () { return chunkEOG6OT5I_cjs.matchesContact; }
253
+ get: function () { return chunkTXP2N3DC_cjs.matchesContact; }
254
254
  });
255
255
  Object.defineProperty(exports, "normalizeVCardDate", {
256
256
  enumerable: true,
257
- get: function () { return chunkEOG6OT5I_cjs.normalizeVCardDate; }
257
+ get: function () { return chunkTXP2N3DC_cjs.normalizeVCardDate; }
258
258
  });
259
259
  Object.defineProperty(exports, "parseEmails", {
260
260
  enumerable: true,
261
- get: function () { return chunkEOG6OT5I_cjs.parseEmails; }
261
+ get: function () { return chunkTXP2N3DC_cjs.parseEmails; }
262
262
  });
263
263
  Object.defineProperty(exports, "parseMailRecipients", {
264
264
  enumerable: true,
265
- get: function () { return chunkEOG6OT5I_cjs.parseMailRecipients; }
265
+ get: function () { return chunkTXP2N3DC_cjs.parseMailRecipients; }
266
266
  });
267
267
  Object.defineProperty(exports, "planContactInvites", {
268
268
  enumerable: true,
269
- get: function () { return chunkEOG6OT5I_cjs.planContactInvites; }
269
+ get: function () { return chunkTXP2N3DC_cjs.planContactInvites; }
270
270
  });
271
271
  Object.defineProperty(exports, "primaryEmail", {
272
272
  enumerable: true,
273
- get: function () { return chunkEOG6OT5I_cjs.primaryEmail; }
273
+ get: function () { return chunkTXP2N3DC_cjs.primaryEmail; }
274
274
  });
275
275
  Object.defineProperty(exports, "replyMailCompose", {
276
276
  enumerable: true,
277
- get: function () { return chunkEOG6OT5I_cjs.replyMailCompose; }
277
+ get: function () { return chunkTXP2N3DC_cjs.replyMailCompose; }
278
278
  });
279
279
  Object.defineProperty(exports, "summarizeContactInvites", {
280
280
  enumerable: true,
281
- get: function () { return chunkEOG6OT5I_cjs.summarizeContactInvites; }
281
+ get: function () { return chunkTXP2N3DC_cjs.summarizeContactInvites; }
282
282
  });
283
283
  Object.defineProperty(exports, "summarizeImport", {
284
284
  enumerable: true,
285
- get: function () { return chunkEOG6OT5I_cjs.summarizeImport; }
285
+ get: function () { return chunkTXP2N3DC_cjs.summarizeImport; }
286
286
  });
287
287
  Object.defineProperty(exports, "summarizeUnsentInvites", {
288
288
  enumerable: true,
289
- get: function () { return chunkEOG6OT5I_cjs.summarizeUnsentInvites; }
289
+ get: function () { return chunkTXP2N3DC_cjs.summarizeUnsentInvites; }
290
290
  });
291
291
  Object.defineProperty(exports, "toAddContactsRow", {
292
292
  enumerable: true,
293
- get: function () { return chunkEOG6OT5I_cjs.toAddContactsRow; }
293
+ get: function () { return chunkTXP2N3DC_cjs.toAddContactsRow; }
294
294
  });
295
295
  Object.defineProperty(exports, "toAddContactsRows", {
296
296
  enumerable: true,
297
- get: function () { return chunkEOG6OT5I_cjs.toAddContactsRows; }
297
+ get: function () { return chunkTXP2N3DC_cjs.toAddContactsRows; }
298
298
  });
299
299
  Object.defineProperty(exports, "toggleMailFolder", {
300
300
  enumerable: true,
301
- get: function () { return chunkEOG6OT5I_cjs.toggleMailFolder; }
301
+ get: function () { return chunkTXP2N3DC_cjs.toggleMailFolder; }
302
302
  });
303
303
  Object.defineProperty(exports, "validateContactForm", {
304
304
  enumerable: true,
305
- get: function () { return chunkEOG6OT5I_cjs.validateContactForm; }
305
+ get: function () { return chunkTXP2N3DC_cjs.validateContactForm; }
306
306
  });
307
307
  Object.defineProperty(exports, "DEFAULT_SHARE_CONTROL_LABELS", {
308
308
  enumerable: true,
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The app's zoom control: a small bordered pill with a zoom-out button and a slider (the files
3
+ * explorer's tile size, a presentation clip's zoom…), optionally followed by the value.
4
+ */
5
+ import type { ReactNode } from 'react';
6
+ export interface ZoomSliderProps {
7
+ value: number;
8
+ min: number;
9
+ max: number;
10
+ step?: number;
11
+ /** How far the zoom-out button steps (default `step`). */
12
+ zoomOutStep?: number;
13
+ onChange: (value: number) => void;
14
+ /** The slider's accessible name (e.g. "Tile size"). */
15
+ label: string;
16
+ /** The zoom-out button's accessible name. Default "Zoom out". */
17
+ zoomOutLabel?: string;
18
+ /** Shown after the slider (e.g. "150%"). */
19
+ valueLabel?: ReactNode;
20
+ className?: string;
21
+ sliderClassName?: string;
22
+ testId?: string;
23
+ zoomOutTestId?: string;
24
+ }
25
+ export declare function ZoomSlider({ value, min, max, step, zoomOutStep, onChange, label, zoomOutLabel, valueLabel, className, sliderClassName, testId, zoomOutTestId, }: ZoomSliderProps): import("react").JSX.Element;
@@ -0,0 +1,59 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { ZoomOut } from "lucide-react";
4
+ import { Slider, cn } from "@arbidocs/react/ui";
5
+ function ZoomSlider({
6
+ value,
7
+ min,
8
+ max,
9
+ step = 1,
10
+ zoomOutStep = step,
11
+ onChange,
12
+ label,
13
+ zoomOutLabel = "Zoom out",
14
+ valueLabel,
15
+ className,
16
+ sliderClassName,
17
+ testId,
18
+ zoomOutTestId
19
+ }) {
20
+ return /* @__PURE__ */ jsxs(
21
+ "div",
22
+ {
23
+ className: cn("flex h-7 items-center gap-1.5 rounded-md border border-input px-2", className),
24
+ children: [
25
+ /* @__PURE__ */ jsx(
26
+ "button",
27
+ {
28
+ type: "button",
29
+ "aria-label": zoomOutLabel,
30
+ title: zoomOutLabel,
31
+ "data-testid": zoomOutTestId,
32
+ onClick: () => onChange(Math.max(min, value - zoomOutStep)),
33
+ disabled: value <= min,
34
+ className: "text-muted-foreground hover:text-foreground disabled:opacity-40 pointer-coarse:-m-[15px] pointer-coarse:p-[15px]",
35
+ children: /* @__PURE__ */ jsx(ZoomOut, { className: "h-3.5 w-3.5" })
36
+ }
37
+ ),
38
+ /* @__PURE__ */ jsx(
39
+ Slider,
40
+ {
41
+ value: [value],
42
+ min,
43
+ max,
44
+ step,
45
+ onValueChange: ([next]) => onChange(next),
46
+ "aria-label": label,
47
+ "data-testid": testId,
48
+ className: cn("w-20", sliderClassName)
49
+ }
50
+ ),
51
+ valueLabel !== void 0 && /* @__PURE__ */ jsx("span", { className: "shrink-0 text-xs tabular-nums text-muted-foreground", children: valueLabel })
52
+ ]
53
+ }
54
+ );
55
+ }
56
+ export {
57
+ ZoomSlider
58
+ };
59
+ //# sourceMappingURL=ZoomSlider.js.map