@dxos/plugin-script 0.7.5-main.9d26e3a → 0.7.5-main.b19bfc8

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 (265) hide show
  1. package/dist/lib/browser/{AutomationPanel-RFQAQ7NF.mjs → AutomationPanel-6HFRNRWV.mjs} +3 -3
  2. package/dist/lib/browser/ScriptContainer-U3BFT76B.mjs +713 -0
  3. package/dist/lib/browser/ScriptContainer-U3BFT76B.mjs.map +7 -0
  4. package/dist/lib/browser/artifact-definition-NAWYXFF5.mjs +243 -0
  5. package/dist/lib/browser/artifact-definition-NAWYXFF5.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-K7KY6YMG.mjs → chunk-5SXOHNAK.mjs} +4 -4
  7. package/dist/lib/browser/chunk-5SXOHNAK.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-6MOQ4BP3.mjs +15 -0
  9. package/dist/lib/browser/chunk-6MOQ4BP3.mjs.map +7 -0
  10. package/dist/lib/browser/chunk-FVVCAWNP.mjs +21 -0
  11. package/dist/lib/browser/chunk-FVVCAWNP.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-HJNS3BBK.mjs +236 -0
  13. package/dist/lib/browser/chunk-HJNS3BBK.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-N46LE7FS.mjs +40 -0
  15. package/dist/lib/browser/chunk-N46LE7FS.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-PZPYF7M4.mjs +69 -0
  17. package/dist/lib/browser/chunk-PZPYF7M4.mjs.map +7 -0
  18. package/dist/lib/browser/compiler-YY2XSKHQ.mjs +82 -0
  19. package/dist/lib/browser/compiler-YY2XSKHQ.mjs.map +7 -0
  20. package/dist/lib/browser/index.mjs +129 -288
  21. package/dist/lib/browser/index.mjs.map +4 -4
  22. package/dist/lib/browser/intent-resolver-D6FPY5ZA.mjs +45 -0
  23. package/dist/lib/browser/intent-resolver-D6FPY5ZA.mjs.map +7 -0
  24. package/dist/lib/browser/meta.json +1 -1
  25. package/dist/lib/browser/react-surface-DIXYM2HA.mjs +65 -0
  26. package/dist/lib/browser/react-surface-DIXYM2HA.mjs.map +7 -0
  27. package/dist/lib/browser/settings-SZCDKHWO.mjs +24 -0
  28. package/dist/lib/browser/settings-SZCDKHWO.mjs.map +7 -0
  29. package/dist/lib/browser/types.mjs +6 -4
  30. package/dist/lib/node/{AutomationPanel-5CJEF4MI.cjs → AutomationPanel-RBQ4DODN.cjs} +8 -8
  31. package/dist/lib/node/ScriptContainer-PSLB34RX.cjs +719 -0
  32. package/dist/lib/node/ScriptContainer-PSLB34RX.cjs.map +7 -0
  33. package/dist/lib/node/artifact-definition-7AANUS3X.cjs +262 -0
  34. package/dist/lib/node/artifact-definition-7AANUS3X.cjs.map +7 -0
  35. package/dist/lib/node/chunk-2UNNYU2C.cjs +264 -0
  36. package/dist/lib/node/chunk-2UNNYU2C.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-6LYX73ZT.cjs → chunk-5UH3F7TA.cjs} +11 -8
  38. package/dist/lib/node/chunk-5UH3F7TA.cjs.map +7 -0
  39. package/dist/lib/node/{meta.cjs → chunk-ALY3N6PW.cjs} +12 -8
  40. package/dist/lib/node/chunk-ALY3N6PW.cjs.map +7 -0
  41. package/dist/lib/node/{chunk-PK3OQP5L.cjs → chunk-DJGLGRQV.cjs} +26 -11
  42. package/dist/lib/node/chunk-DJGLGRQV.cjs.map +7 -0
  43. package/dist/lib/node/chunk-ITAJ3WRW.cjs +77 -0
  44. package/dist/lib/node/chunk-ITAJ3WRW.cjs.map +7 -0
  45. package/dist/lib/node/{chunk-4INUJLXL.cjs → chunk-K3ZZWVXS.cjs} +7 -7
  46. package/dist/lib/node/chunk-K3ZZWVXS.cjs.map +7 -0
  47. package/dist/lib/node/compiler-UIBLKJKG.cjs +104 -0
  48. package/dist/lib/node/compiler-UIBLKJKG.cjs.map +7 -0
  49. package/dist/lib/node/index.cjs +122 -277
  50. package/dist/lib/node/index.cjs.map +4 -4
  51. package/dist/lib/node/intent-resolver-NYJFPD5B.cjs +59 -0
  52. package/dist/lib/node/intent-resolver-NYJFPD5B.cjs.map +7 -0
  53. package/dist/lib/node/meta.json +1 -1
  54. package/dist/lib/node/react-surface-JOMWTFI2.cjs +84 -0
  55. package/dist/lib/node/react-surface-JOMWTFI2.cjs.map +7 -0
  56. package/dist/lib/node/settings-SZFSMSKM.cjs +38 -0
  57. package/dist/lib/node/settings-SZFSMSKM.cjs.map +7 -0
  58. package/dist/lib/node/types.cjs +6 -4
  59. package/dist/lib/node/types.cjs.map +2 -2
  60. package/dist/lib/node-esm/{AutomationPanel-7Y6REBNJ.mjs → AutomationPanel-WTVVVMRH.mjs} +3 -3
  61. package/dist/lib/node-esm/ScriptContainer-E4J6XXE6.mjs +714 -0
  62. package/dist/lib/node-esm/ScriptContainer-E4J6XXE6.mjs.map +7 -0
  63. package/dist/lib/node-esm/artifact-definition-KBASPVMM.mjs +245 -0
  64. package/dist/lib/node-esm/artifact-definition-KBASPVMM.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-OFYGBUNI.mjs → chunk-2AFXX34U.mjs} +4 -4
  66. package/dist/lib/node-esm/chunk-2AFXX34U.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-4OCRARHP.mjs +237 -0
  68. package/dist/lib/node-esm/chunk-4OCRARHP.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-CP5LXTK5.mjs +16 -0
  70. package/dist/lib/node-esm/chunk-CP5LXTK5.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-SLTZMY34.mjs → chunk-P2V2Y5LV.mjs} +7 -4
  72. package/dist/lib/node-esm/chunk-P2V2Y5LV.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-UNQFIERE.mjs +41 -0
  74. package/dist/lib/node-esm/chunk-UNQFIERE.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-YIWRJ25J.mjs +71 -0
  76. package/dist/lib/node-esm/chunk-YIWRJ25J.mjs.map +7 -0
  77. package/dist/lib/node-esm/compiler-XTXFGZJM.mjs +83 -0
  78. package/dist/lib/node-esm/compiler-XTXFGZJM.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +129 -288
  80. package/dist/lib/node-esm/index.mjs.map +4 -4
  81. package/dist/lib/node-esm/intent-resolver-KLBHSMW4.mjs +46 -0
  82. package/dist/lib/node-esm/intent-resolver-KLBHSMW4.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/react-surface-OLH7N3DK.mjs +66 -0
  85. package/dist/lib/node-esm/react-surface-OLH7N3DK.mjs.map +7 -0
  86. package/dist/lib/node-esm/settings-GR4O2WHZ.mjs +25 -0
  87. package/dist/lib/node-esm/settings-GR4O2WHZ.mjs.map +7 -0
  88. package/dist/lib/node-esm/types.mjs +6 -4
  89. package/dist/types/src/ScriptPlugin.d.ts +1 -3
  90. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/artifact-definition.d.ts +11 -0
  92. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -0
  93. package/dist/types/src/capabilities/capabilities.d.ts +5 -0
  94. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  95. package/dist/types/src/capabilities/compiler.d.ts +4 -0
  96. package/dist/types/src/capabilities/compiler.d.ts.map +1 -0
  97. package/dist/types/src/capabilities/index.d.ts +7 -0
  98. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  100. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  102. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/settings.d.ts +4 -0
  104. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  105. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +1 -2
  106. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  107. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts +1 -2
  108. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts.map +1 -1
  109. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +3 -4
  110. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  111. package/dist/types/src/components/ScriptContainer.d.ts +10 -3
  112. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  113. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts +1 -2
  114. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts.map +1 -1
  115. package/dist/types/src/components/ScriptSettingsPanel.d.ts +1 -2
  116. package/dist/types/src/components/ScriptSettingsPanel.d.ts.map +1 -1
  117. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +10 -0
  118. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -0
  119. package/dist/types/src/components/{Toolbar/Toolbar.stories.d.ts → ScriptToolbar/ScriptToolbar.stories.d.ts} +1 -1
  120. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -0
  121. package/dist/types/src/components/ScriptToolbar/index.d.ts +2 -0
  122. package/dist/types/src/components/ScriptToolbar/index.d.ts.map +1 -0
  123. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +4 -3
  124. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  125. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  126. package/dist/types/src/components/index.d.ts +2 -2
  127. package/dist/types/src/components/index.d.ts.map +1 -1
  128. package/dist/types/src/events.d.ts +4 -0
  129. package/dist/types/src/events.d.ts.map +1 -0
  130. package/dist/types/src/hooks/deploy.d.ts +48 -0
  131. package/dist/types/src/hooks/deploy.d.ts.map +1 -0
  132. package/dist/types/src/hooks/format.d.ts +25 -0
  133. package/dist/types/src/hooks/format.d.ts.map +1 -0
  134. package/dist/types/src/hooks/index.d.ts +7 -0
  135. package/dist/types/src/hooks/index.d.ts.map +1 -0
  136. package/dist/types/src/hooks/template.d.ts +31 -0
  137. package/dist/types/src/hooks/template.d.ts.map +1 -0
  138. package/dist/types/src/hooks/useToolbarAction.d.ts +14 -0
  139. package/dist/types/src/hooks/useToolbarAction.d.ts.map +1 -0
  140. package/dist/types/src/hooks/useToolbarState.d.ts +10 -0
  141. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -0
  142. package/dist/types/src/hooks/view.d.ts +33 -0
  143. package/dist/types/src/hooks/view.d.ts.map +1 -0
  144. package/dist/types/src/index.d.ts +2 -5
  145. package/dist/types/src/index.d.ts.map +1 -1
  146. package/dist/types/src/meta.d.ts +2 -2
  147. package/dist/types/src/meta.d.ts.map +1 -1
  148. package/dist/types/src/templates/chess.d.ts +1 -4
  149. package/dist/types/src/templates/chess.d.ts.map +1 -1
  150. package/dist/types/src/templates/discord.d.ts +3 -0
  151. package/dist/types/src/templates/discord.d.ts.map +1 -0
  152. package/dist/types/src/templates/echo.d.ts.map +1 -1
  153. package/dist/types/src/templates/email.d.ts +2 -1
  154. package/dist/types/src/templates/email.d.ts.map +1 -1
  155. package/dist/types/src/templates/forex-effect.d.ts +3 -0
  156. package/dist/types/src/templates/forex-effect.d.ts.map +1 -0
  157. package/dist/types/src/templates/forex.d.ts +1 -4
  158. package/dist/types/src/templates/forex.d.ts.map +1 -1
  159. package/dist/types/src/{templates.d.ts → templates/index.d.ts} +1 -1
  160. package/dist/types/src/templates/index.d.ts.map +1 -0
  161. package/dist/types/src/translations.d.ts +97 -0
  162. package/dist/types/src/translations.d.ts.map +1 -1
  163. package/dist/types/src/types.d.ts +14 -6
  164. package/dist/types/src/types.d.ts.map +1 -1
  165. package/dist/types/tsconfig.tsbuildinfo +1 -1
  166. package/package.json +45 -46
  167. package/src/ScriptPlugin.tsx +70 -90
  168. package/src/capabilities/artifact-definition.ts +219 -0
  169. package/src/capabilities/capabilities.ts +12 -0
  170. package/src/capabilities/compiler.ts +33 -0
  171. package/src/capabilities/index.ts +13 -0
  172. package/src/capabilities/intent-resolver.ts +46 -0
  173. package/src/capabilities/react-surface.tsx +54 -0
  174. package/src/capabilities/settings.ts +14 -0
  175. package/src/compiler/compiler.browser.test.ts +1 -1
  176. package/src/components/DebugPanel/DebugPanel.tsx +2 -2
  177. package/src/components/FrameContainer/FrameContainer.tsx +5 -4
  178. package/src/components/ScriptContainer.tsx +69 -9
  179. package/src/components/ScriptSettings/ScriptSettings.tsx +28 -4
  180. package/src/components/ScriptSettingsPanel.tsx +139 -51
  181. package/src/components/{Toolbar/Toolbar.stories.tsx → ScriptToolbar/ScriptToolbar.stories.tsx} +2 -2
  182. package/src/components/ScriptToolbar/ScriptToolbar.tsx +53 -0
  183. package/src/{bundler → components/ScriptToolbar}/index.ts +1 -1
  184. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +2 -0
  185. package/src/components/TypescriptEditor/TypescriptEditor.tsx +75 -10
  186. package/src/events.ts +11 -0
  187. package/src/hooks/deploy.ts +169 -0
  188. package/src/hooks/format.ts +47 -0
  189. package/src/hooks/index.ts +11 -0
  190. package/src/hooks/template.ts +64 -0
  191. package/src/hooks/useToolbarAction.ts +54 -0
  192. package/src/hooks/useToolbarState.ts +16 -0
  193. package/src/hooks/view.ts +52 -0
  194. package/src/index.ts +2 -7
  195. package/src/meta.ts +4 -2
  196. package/src/templates/chat.ts +4 -4
  197. package/src/templates/chess.ts +42 -35
  198. package/src/templates/discord.ts +103 -0
  199. package/src/templates/echo.ts +5 -1
  200. package/src/templates/email.ts +26 -23
  201. package/src/templates/forex-effect.ts +41 -0
  202. package/src/templates/forex.ts +23 -16
  203. package/src/{templates.ts → templates/index.ts} +20 -5
  204. package/src/translations.ts +23 -0
  205. package/src/types.ts +19 -18
  206. package/dist/lib/browser/ScriptContainer-GDVBWFI7.mjs +0 -415
  207. package/dist/lib/browser/ScriptContainer-GDVBWFI7.mjs.map +0 -7
  208. package/dist/lib/browser/chunk-4UTRJLQ3.mjs +0 -286
  209. package/dist/lib/browser/chunk-4UTRJLQ3.mjs.map +0 -7
  210. package/dist/lib/browser/chunk-C7VBULMK.mjs +0 -18
  211. package/dist/lib/browser/chunk-C7VBULMK.mjs.map +0 -7
  212. package/dist/lib/browser/chunk-K7KY6YMG.mjs.map +0 -7
  213. package/dist/lib/browser/chunk-RQA3EB5K.mjs +0 -26
  214. package/dist/lib/browser/chunk-RQA3EB5K.mjs.map +0 -7
  215. package/dist/lib/browser/meta.mjs +0 -9
  216. package/dist/lib/browser/meta.mjs.map +0 -7
  217. package/dist/lib/node/ScriptContainer-YWXXNLG6.cjs +0 -426
  218. package/dist/lib/node/ScriptContainer-YWXXNLG6.cjs.map +0 -7
  219. package/dist/lib/node/chunk-4INUJLXL.cjs.map +0 -7
  220. package/dist/lib/node/chunk-6LYX73ZT.cjs.map +0 -7
  221. package/dist/lib/node/chunk-PK3OQP5L.cjs.map +0 -7
  222. package/dist/lib/node/chunk-WPP65EYS.cjs +0 -298
  223. package/dist/lib/node/chunk-WPP65EYS.cjs.map +0 -7
  224. package/dist/lib/node/meta.cjs.map +0 -7
  225. package/dist/lib/node-esm/ScriptContainer-BG2PHKEH.mjs +0 -416
  226. package/dist/lib/node-esm/ScriptContainer-BG2PHKEH.mjs.map +0 -7
  227. package/dist/lib/node-esm/chunk-4SRPREUK.mjs +0 -288
  228. package/dist/lib/node-esm/chunk-4SRPREUK.mjs.map +0 -7
  229. package/dist/lib/node-esm/chunk-H6BBLQ5Q.mjs +0 -27
  230. package/dist/lib/node-esm/chunk-H6BBLQ5Q.mjs.map +0 -7
  231. package/dist/lib/node-esm/chunk-OFYGBUNI.mjs.map +0 -7
  232. package/dist/lib/node-esm/chunk-SLTZMY34.mjs.map +0 -7
  233. package/dist/lib/node-esm/meta.mjs +0 -10
  234. package/dist/lib/node-esm/meta.mjs.map +0 -7
  235. package/dist/types/src/bundler/bundler.d.ts +0 -39
  236. package/dist/types/src/bundler/bundler.d.ts.map +0 -1
  237. package/dist/types/src/bundler/bundler.test.d.ts +0 -2
  238. package/dist/types/src/bundler/bundler.test.d.ts.map +0 -1
  239. package/dist/types/src/bundler/index.d.ts +0 -2
  240. package/dist/types/src/bundler/index.d.ts.map +0 -1
  241. package/dist/types/src/components/ScriptBlock/ScriptBlock.d.ts +0 -12
  242. package/dist/types/src/components/ScriptBlock/ScriptBlock.d.ts.map +0 -1
  243. package/dist/types/src/components/ScriptBlock/ScriptBlock.stories.d.ts +0 -6
  244. package/dist/types/src/components/ScriptBlock/ScriptBlock.stories.d.ts.map +0 -1
  245. package/dist/types/src/components/ScriptBlock/index.d.ts +0 -2
  246. package/dist/types/src/components/ScriptBlock/index.d.ts.map +0 -1
  247. package/dist/types/src/components/ScriptEditor.d.ts +0 -9
  248. package/dist/types/src/components/ScriptEditor.d.ts.map +0 -1
  249. package/dist/types/src/components/Toolbar/Toolbar.d.ts +0 -23
  250. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +0 -1
  251. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +0 -1
  252. package/dist/types/src/components/Toolbar/index.d.ts +0 -2
  253. package/dist/types/src/components/Toolbar/index.d.ts.map +0 -1
  254. package/dist/types/src/templates.d.ts.map +0 -1
  255. package/src/bundler/bundler.test.ts +0 -54
  256. package/src/bundler/bundler.ts +0 -250
  257. package/src/components/ScriptBlock/ScriptBlock.stories.tsx +0 -55
  258. package/src/components/ScriptBlock/ScriptBlock.tsx +0 -102
  259. package/src/components/ScriptBlock/index.ts +0 -5
  260. package/src/components/ScriptEditor.tsx +0 -193
  261. package/src/components/Toolbar/Toolbar.tsx +0 -177
  262. package/src/components/Toolbar/index.ts +0 -5
  263. /package/dist/lib/browser/{AutomationPanel-RFQAQ7NF.mjs.map → AutomationPanel-6HFRNRWV.mjs.map} +0 -0
  264. /package/dist/lib/node/{AutomationPanel-5CJEF4MI.cjs.map → AutomationPanel-RBQ4DODN.cjs.map} +0 -0
  265. /package/dist/lib/node-esm/{AutomationPanel-7Y6REBNJ.mjs.map → AutomationPanel-WTVVVMRH.mjs.map} +0 -0
@@ -1,177 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import React, { useState } from 'react';
6
-
7
- import {
8
- ElevationProvider,
9
- Icon,
10
- Select,
11
- type ThemedClassName,
12
- ToggleGroup,
13
- ToggleGroupItem,
14
- type ToolbarButtonProps,
15
- Toolbar as NaturalToolbar,
16
- Tooltip,
17
- useTranslation,
18
- } from '@dxos/react-ui';
19
-
20
- import { SCRIPT_PLUGIN } from '../../meta';
21
- import { type Template } from '../../templates';
22
-
23
- export type ToolbarProps = ThemedClassName<
24
- {
25
- deployed?: boolean;
26
- error?: string;
27
- functionUrl?: string;
28
- onDeploy?: () => Promise<void>;
29
- onFormat?: () => Promise<void>;
30
- } & TemplateSelectProps &
31
- ViewSelectorProps
32
- >;
33
-
34
- export const Toolbar = ({
35
- classNames,
36
- deployed,
37
- error,
38
- functionUrl,
39
- view,
40
- templates,
41
- onDeploy,
42
- onFormat,
43
- onViewChange,
44
- onTemplateSelect,
45
- }: ToolbarProps) => {
46
- const { t } = useTranslation(SCRIPT_PLUGIN);
47
- const [pending, setPending] = useState(false);
48
-
49
- const handleCopyLink = async () => {
50
- if (!functionUrl) {
51
- return;
52
- }
53
-
54
- await navigator.clipboard.writeText(functionUrl);
55
- };
56
-
57
- const handleDeploy = async () => {
58
- if (!pending) {
59
- setPending(true);
60
- await onDeploy?.();
61
- setPending(false);
62
- }
63
- };
64
-
65
- // TODO(burdon): Factor out common toolbar components with sheet/editor?
66
- return (
67
- <ElevationProvider elevation='positioned'>
68
- <NaturalToolbar.Root classNames={['p-1', classNames]} style={{ contain: 'layout' }}>
69
- {templates && <TemplateSelect templates={templates} onTemplateSelect={onTemplateSelect} />}
70
- {onFormat && <ToolbarIconButton icon='ph--magic-wand--regular' text={t('format label')} onClick={onFormat} />}
71
-
72
- <div role='separator' className='grow' />
73
-
74
- {error ? (
75
- <Tooltip.Root>
76
- <Tooltip.Trigger>
77
- <Icon icon='ph--warning-circle--regular' size={4} />
78
- </Tooltip.Trigger>
79
- <Tooltip.Portal>
80
- <Tooltip.Content>
81
- <Tooltip.Arrow />
82
- {error}
83
- </Tooltip.Content>
84
- </Tooltip.Portal>
85
- </Tooltip.Root>
86
- ) : null}
87
-
88
- {functionUrl && deployed && (
89
- <ToolbarIconButton icon='ph--link--regular' text={t('copy link label')} onClick={handleCopyLink} />
90
- )}
91
-
92
- {onDeploy && (
93
- <ToolbarIconButton
94
- icon={pending ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular'}
95
- classNames={[pending && 'animate-spin']}
96
- text={pending ? t('pending label') : t('deploy label')}
97
- onClick={handleDeploy}
98
- />
99
- )}
100
-
101
- <ViewSelector view={view} onViewChange={onViewChange} />
102
- </NaturalToolbar.Root>
103
- </ElevationProvider>
104
- );
105
- };
106
-
107
- const ToolbarIconButton = ({
108
- icon,
109
- text,
110
- classNames,
111
- disabled,
112
- onClick,
113
- }: { icon: string; text: string } & Pick<ToolbarButtonProps, 'classNames' | 'disabled' | 'onClick'>) => {
114
- return (
115
- <Tooltip.Root>
116
- <Tooltip.Trigger asChild>
117
- <NaturalToolbar.Button variant='ghost' disabled={disabled} onClick={onClick}>
118
- <Icon icon={icon} size={4} classNames={classNames} />
119
- </NaturalToolbar.Button>
120
- </Tooltip.Trigger>
121
- <Tooltip.Portal>
122
- <Tooltip.Content>
123
- <Tooltip.Arrow />
124
- {text}
125
- </Tooltip.Content>
126
- </Tooltip.Portal>
127
- </Tooltip.Root>
128
- );
129
- };
130
-
131
- export type ViewType = 'editor' | 'split' | 'preview';
132
-
133
- export type TemplateSelectProps = {
134
- templates?: Template[];
135
- onTemplateSelect?: (id: string) => void;
136
- };
137
-
138
- export const TemplateSelect = ({ templates = [], onTemplateSelect }: TemplateSelectProps) => {
139
- return (
140
- <Select.Root value={''} onValueChange={onTemplateSelect}>
141
- <Select.TriggerButton />
142
- <Select.Portal>
143
- <Select.Content>
144
- <Select.Viewport>
145
- <Select.Option value={''}>Template</Select.Option>
146
- {templates.map(({ id, name }) => (
147
- <Select.Option key={id} value={id}>
148
- {name}
149
- </Select.Option>
150
- ))}
151
- </Select.Viewport>
152
- </Select.Content>
153
- </Select.Portal>
154
- </Select.Root>
155
- );
156
- };
157
-
158
- export type ViewSelectorProps = {
159
- view?: ViewType;
160
- onViewChange?: (view: ViewType) => void;
161
- };
162
-
163
- export const ViewSelector = ({ view, onViewChange }: ViewSelectorProps) => {
164
- return (
165
- <ToggleGroup type='single' value={view} onValueChange={(value) => onViewChange?.(value as ViewType)}>
166
- <ToggleGroupItem value='editor' classNames='bg-transparent text-subdued'>
167
- <Icon icon='ph--code--regular' size={4} />
168
- </ToggleGroupItem>
169
- <ToggleGroupItem value='split' classNames='bg-transparent text-subdued'>
170
- <Icon icon='ph--square-split-vertical--regular' size={4} />
171
- </ToggleGroupItem>
172
- <ToggleGroupItem value='preview' classNames='bg-transparent text-subdued'>
173
- <Icon icon='ph--eye--regular' size={4} />
174
- </ToggleGroupItem>
175
- </ToggleGroup>
176
- );
177
- };
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export * from './Toolbar';