@silexlabs/silex 3.0.1-0 → 3.0.1

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 (250) hide show
  1. package/.env.default +3 -2
  2. package/.silex.js +39 -1
  3. package/README.md +37 -35
  4. package/dist/client/client/api.d.ts +8 -1
  5. package/dist/client/client/assetUrl.d.ts +54 -0
  6. package/dist/client/client/config.d.ts +60 -1
  7. package/dist/client/client/events.d.ts +19 -10
  8. package/dist/client/client/grapesjs/PublicationManager.d.ts +6 -8
  9. package/dist/client/client/grapesjs/PublicationUi.d.ts +8 -10
  10. package/dist/client/client/grapesjs/breadcrumbs.d.ts +1 -0
  11. package/dist/client/client/grapesjs/css-props.d.ts +6 -0
  12. package/dist/client/client/grapesjs/footer.d.ts +2 -0
  13. package/dist/client/client/grapesjs/img.d.ts +6 -0
  14. package/dist/client/client/grapesjs/index.d.ts +6 -2
  15. package/dist/client/client/grapesjs/internal-links.d.ts +1 -1
  16. package/dist/client/client/grapesjs/keymaps.d.ts +123 -0
  17. package/dist/client/client/grapesjs/new-page-dialog.d.ts +1 -1
  18. package/dist/client/client/grapesjs/page-panel.d.ts +7 -1
  19. package/dist/client/client/grapesjs/project-bar.d.ts +20 -0
  20. package/dist/client/client/grapesjs/resize-panel.d.ts +1 -0
  21. package/dist/client/client/grapesjs/rich-text.d.ts +4 -1
  22. package/dist/client/client/grapesjs/semantic.d.ts +1 -1
  23. package/dist/client/client/grapesjs/settings-sections.d.ts +16 -0
  24. package/dist/client/client/grapesjs/settings.d.ts +3 -1
  25. package/dist/client/client/grapesjs/storage.d.ts +1 -0
  26. package/dist/client/client/grapesjs/symbolDialogs.d.ts +1 -1
  27. package/dist/client/client/grapesjs/view-buttons.d.ts +1 -0
  28. package/dist/client/client/index.d.ts +5 -0
  29. package/dist/client/client/publication-transformers.d.ts +42 -0
  30. package/dist/client/client/publish-custom-code-block.d.ts +4 -0
  31. package/dist/client/client/publish-fonts.d.ts +4 -0
  32. package/dist/client/client/utils.d.ts +22 -1
  33. package/dist/client/constants.d.ts +3 -0
  34. package/dist/client/css/admin.css +1107 -411
  35. package/dist/client/css/admin.css.map +1 -0
  36. package/dist/client/grapesjs-filter-styles/dist/index.d.ts +4 -0
  37. package/dist/client/grapesjs-fonts/dist/index.d.ts +4 -0
  38. package/dist/client/grapesjs-fonts/src/commands.d.ts +3 -0
  39. package/dist/client/grapesjs-fonts/src/fonts.d.ts +4 -0
  40. package/dist/client/grapesjs-storage-rate-limit/dist/index.d.ts +4 -0
  41. package/dist/client/grapesjs-ui-suggest-classes/dist/index.d.ts +4 -0
  42. package/dist/client/index.html +3 -2
  43. package/dist/client/js/main.js +305 -170
  44. package/dist/client/js/main.js.LICENSE.txt +21 -1
  45. package/dist/client/page.d.ts +1 -1
  46. package/dist/client/silex-lib/src/ts/client/api.d.ts +90 -0
  47. package/dist/client/silex-lib/src/ts/client/assetUrl.d.ts +54 -0
  48. package/dist/client/silex-lib/src/ts/client/config.d.ts +102 -0
  49. package/dist/client/silex-lib/src/ts/client/events.d.ts +23 -0
  50. package/dist/client/silex-lib/src/ts/client/expose.d.ts +8 -0
  51. package/dist/client/silex-lib/src/ts/client/grapesjs/LoginDialog.d.ts +15 -0
  52. package/dist/client/silex-lib/src/ts/client/grapesjs/PublicationManager.d.ts +73 -0
  53. package/dist/client/silex-lib/src/ts/client/grapesjs/PublicationUi.d.ts +59 -0
  54. package/dist/client/silex-lib/src/ts/client/grapesjs/blocks.d.ts +1 -0
  55. package/dist/client/silex-lib/src/ts/client/grapesjs/breadcrumbs.d.ts +1 -0
  56. package/dist/client/silex-lib/src/ts/client/grapesjs/css-props.d.ts +6 -0
  57. package/dist/client/silex-lib/src/ts/client/grapesjs/footer.d.ts +2 -0
  58. package/dist/client/silex-lib/src/ts/client/grapesjs/img.d.ts +6 -0
  59. package/dist/client/silex-lib/src/ts/client/grapesjs/index.d.ts +9 -0
  60. package/dist/client/silex-lib/src/ts/client/grapesjs/internal-links.d.ts +1 -0
  61. package/dist/client/silex-lib/src/ts/client/grapesjs/keymaps.d.ts +123 -0
  62. package/dist/client/silex-lib/src/ts/client/grapesjs/new-page-dialog.d.ts +2 -0
  63. package/dist/client/silex-lib/src/ts/client/grapesjs/openImport.d.ts +9 -0
  64. package/dist/client/silex-lib/src/ts/client/grapesjs/page-panel.d.ts +9 -0
  65. package/dist/client/silex-lib/src/ts/client/grapesjs/project-bar.d.ts +21 -0
  66. package/dist/client/silex-lib/src/ts/client/grapesjs/resize-panel.d.ts +1 -0
  67. package/dist/client/silex-lib/src/ts/client/grapesjs/rich-text.d.ts +4 -0
  68. package/dist/client/silex-lib/src/ts/client/grapesjs/semantic.d.ts +1 -0
  69. package/dist/client/silex-lib/src/ts/client/grapesjs/settings-sections.d.ts +16 -0
  70. package/dist/client/silex-lib/src/ts/client/grapesjs/settings.d.ts +4 -0
  71. package/dist/client/silex-lib/src/ts/client/grapesjs/storage.d.ts +2 -0
  72. package/dist/client/silex-lib/src/ts/client/grapesjs/symbolDialogs.d.ts +3 -0
  73. package/dist/client/silex-lib/src/ts/client/grapesjs/view-buttons.d.ts +1 -0
  74. package/dist/client/silex-lib/src/ts/client/index.d.ts +10 -0
  75. package/dist/client/silex-lib/src/ts/client/publication-transformers.d.ts +42 -0
  76. package/dist/client/silex-lib/src/ts/client/publish-custom-code-block.d.ts +4 -0
  77. package/dist/client/silex-lib/src/ts/client/publish-fonts.d.ts +4 -0
  78. package/dist/client/silex-lib/src/ts/client/utils.d.ts +22 -0
  79. package/dist/client/silex-lib/src/ts/constants.d.ts +32 -0
  80. package/dist/client/silex-lib/src/ts/page.d.ts +2 -0
  81. package/dist/client/silex-lib/src/ts/types.d.ts +339 -0
  82. package/dist/client/types.d.ts +59 -35
  83. package/dist/plugins/client/client/events.d.ts +19 -10
  84. package/dist/plugins/client/client/events.js +11 -0
  85. package/dist/plugins/client/client/events.js.map +1 -1
  86. package/dist/plugins/client/plugins/client/template.js +119 -71
  87. package/dist/plugins/client/plugins/client/template.js.map +1 -1
  88. package/dist/plugins/client/plugins/client/website-info.d.ts +1 -0
  89. package/dist/plugins/client/plugins/client/website-info.js +72 -0
  90. package/dist/plugins/client/plugins/client/website-info.js.map +1 -0
  91. package/dist/plugins/client/types.d.ts +59 -35
  92. package/dist/plugins/client/types.js +23 -0
  93. package/dist/plugins/client/types.js.map +1 -1
  94. package/dist/plugins/server/constants.d.ts +3 -0
  95. package/dist/plugins/server/constants.js +28 -1
  96. package/dist/plugins/server/constants.js.map +1 -1
  97. package/dist/plugins/server/plugins/server/Cache.js +9 -5
  98. package/dist/plugins/server/plugins/server/Cache.js.map +1 -1
  99. package/dist/plugins/server/plugins/server/DownloadConnector.d.ts +29 -0
  100. package/dist/plugins/server/plugins/server/DownloadConnector.js +127 -0
  101. package/dist/plugins/server/plugins/server/DownloadConnector.js.map +1 -0
  102. package/dist/plugins/server/plugins/server/FtpConnector.d.ts +5 -2
  103. package/dist/plugins/server/plugins/server/FtpConnector.js +38 -23
  104. package/dist/plugins/server/plugins/server/FtpConnector.js.map +1 -1
  105. package/dist/plugins/server/plugins/server/GitlabConnector.d.ts +63 -9
  106. package/dist/plugins/server/plugins/server/GitlabConnector.js +367 -91
  107. package/dist/plugins/server/plugins/server/GitlabConnector.js.map +1 -1
  108. package/dist/plugins/server/plugins/server/GitlabHostingConnector.d.ts +16 -0
  109. package/dist/plugins/server/plugins/server/GitlabHostingConnector.js +209 -0
  110. package/dist/plugins/server/plugins/server/GitlabHostingConnector.js.map +1 -0
  111. package/dist/plugins/server/plugins/server/SslPlugin.js +6 -6
  112. package/dist/plugins/server/plugins/server/SslPlugin.js.map +1 -1
  113. package/dist/plugins/server/plugins/server/StaticPlugin.d.ts +8 -1
  114. package/dist/plugins/server/plugins/server/StaticPlugin.js +5 -31
  115. package/dist/plugins/server/plugins/server/StaticPlugin.js.map +1 -1
  116. package/dist/plugins/server/server/config.js +8 -9
  117. package/dist/plugins/server/server/config.js.map +1 -1
  118. package/dist/plugins/server/server/connectors/FsHosting.d.ts +3 -2
  119. package/dist/plugins/server/server/connectors/FsHosting.js +18 -7
  120. package/dist/plugins/server/server/connectors/FsHosting.js.map +1 -1
  121. package/dist/plugins/server/server/connectors/FsStorage.d.ts +3 -1
  122. package/dist/plugins/server/server/connectors/FsStorage.js +35 -28
  123. package/dist/plugins/server/server/connectors/FsStorage.js.map +1 -1
  124. package/dist/plugins/server/server/connectors/connectors.d.ts +7 -7
  125. package/dist/plugins/server/server/connectors/connectors.js +6 -7
  126. package/dist/plugins/server/server/connectors/connectors.js.map +1 -1
  127. package/dist/plugins/server/server/events.js +16 -0
  128. package/dist/plugins/server/server/events.js.map +1 -1
  129. package/dist/plugins/server/server/jobs.d.ts +6 -0
  130. package/dist/plugins/server/server/jobs.js +12 -8
  131. package/dist/plugins/server/server/jobs.js.map +1 -1
  132. package/dist/plugins/server/server/utils/validation.js +1 -2
  133. package/dist/plugins/server/server/utils/validation.js.map +1 -1
  134. package/dist/plugins/server/types.d.ts +59 -35
  135. package/dist/plugins/server/types.js +24 -1
  136. package/dist/plugins/server/types.js.map +1 -1
  137. package/dist/server/constants.js +27 -1
  138. package/dist/server/plugins/server/Cache.js +9 -5
  139. package/dist/server/server/api/api.js +1 -1
  140. package/dist/server/server/api/connectorApi.js +154 -25
  141. package/dist/server/server/api/publicationApi.js +17 -25
  142. package/dist/server/server/api/websiteApi.js +30 -8
  143. package/dist/server/server/cli.js +9 -6
  144. package/dist/server/server/config.js +8 -9
  145. package/dist/server/server/connectors/FsHosting.js +17 -7
  146. package/dist/server/server/connectors/FsStorage.js +34 -28
  147. package/dist/server/server/connectors/connectors.js +6 -7
  148. package/dist/server/server/express.js +4 -5
  149. package/dist/server/server/index.js +5 -1
  150. package/dist/server/server/jobs.js +11 -8
  151. package/dist/server/server/utils/validation.js +1 -2
  152. package/dist/server/types.js +13 -1
  153. package/package.json +56 -42
  154. package/public/assets/download.png +0 -0
  155. package/public/assets/favicon.ico +0 -0
  156. package/public/assets/favicon.png +0 -0
  157. package/public/assets/ftp.png +0 -0
  158. package/public/assets/gitlab.png +0 -0
  159. package/public/assets/gitlab2.png +0 -0
  160. package/public/assets/laptop.png +0 -0
  161. package/public/assets/logo-silex-small.png +0 -0
  162. package/public/silex.js +5 -23
  163. package/src/css/_variables.scss +23 -20
  164. package/src/css/dialog.scss +27 -1
  165. package/src/css/fonts.scss +31 -0
  166. package/src/css/footer.scss +12 -0
  167. package/src/css/grapesjs-light.scss +180 -0
  168. package/src/css/grapesjs-plugins.scss +227 -0
  169. package/src/css/grapesjs.scss +84 -10
  170. package/src/css/index.scss +12 -1
  171. package/src/css/light.scss +7 -0
  172. package/src/css/project-bar.scss +32 -16
  173. package/src/css/silex.scss +79 -5
  174. package/src/css/website-info.scss +14 -0
  175. package/src/html/index.pug +3 -3
  176. package/src/ts/client/api.ts +38 -14
  177. package/src/ts/client/assetUrl.test.ts +164 -0
  178. package/src/ts/client/assetUrl.ts +254 -0
  179. package/src/ts/client/config.ts +133 -5
  180. package/src/ts/client/events.ts +21 -9
  181. package/src/ts/client/grapesjs/LoginDialog.ts +4 -2
  182. package/src/ts/client/grapesjs/PublicationManager.ts +180 -54
  183. package/src/ts/client/grapesjs/PublicationUi.ts +122 -86
  184. package/src/ts/client/grapesjs/breadcrumbs.ts +79 -0
  185. package/src/ts/client/grapesjs/css-props.ts +910 -0
  186. package/src/ts/client/grapesjs/eleventy.ts +11 -8
  187. package/{dist/plugins/client/page.js → src/ts/client/grapesjs/footer.ts} +24 -13
  188. package/src/ts/client/grapesjs/img.ts +147 -0
  189. package/src/ts/client/grapesjs/index.ts +234 -52
  190. package/src/ts/client/grapesjs/internal-links.test.ts +2 -1
  191. package/src/ts/client/grapesjs/internal-links.ts +14 -7
  192. package/src/ts/client/grapesjs/keymaps.ts +207 -0
  193. package/src/ts/client/grapesjs/new-page-dialog.ts +2 -3
  194. package/src/ts/client/grapesjs/page-panel.ts +92 -7
  195. package/src/ts/client/grapesjs/project-bar.ts +116 -72
  196. package/src/ts/client/grapesjs/resize-panel.ts +20 -0
  197. package/src/ts/client/grapesjs/rich-text.ts +21 -13
  198. package/src/ts/client/grapesjs/semantic.ts +3 -3
  199. package/src/ts/client/grapesjs/settings-sections.ts +117 -0
  200. package/src/ts/client/grapesjs/settings.ts +174 -96
  201. package/src/ts/client/grapesjs/storage.ts +98 -33
  202. package/src/ts/client/grapesjs/symbolDialogs.ts +3 -4
  203. package/src/ts/{plugins/server/AuthPlugin.ts → client/grapesjs/view-buttons.ts} +23 -19
  204. package/src/ts/client/index.ts +35 -16
  205. package/src/ts/client/publication-transformers.test.ts +207 -0
  206. package/src/ts/client/publication-transformers.ts +280 -0
  207. package/{dist/plugins/client/client/utils.js → src/ts/client/publish-custom-code-block.ts} +14 -8
  208. package/src/ts/client/publish-fonts.ts +36 -0
  209. package/src/ts/client/utils.ts +53 -1
  210. package/src/ts/constants.ts +31 -0
  211. package/src/ts/page.ts +2 -2
  212. package/src/ts/plugins/client/template.ts +125 -75
  213. package/src/ts/plugins/client/website-info.ts +84 -0
  214. package/src/ts/plugins/server/Cache.ts +6 -2
  215. package/src/ts/plugins/server/DownloadConnector.ts +146 -0
  216. package/src/ts/plugins/server/FtpConnector.ts +47 -21
  217. package/src/ts/plugins/server/GitlabConnector.ts +423 -108
  218. package/src/ts/plugins/server/GitlabHostingConnector.ts +215 -0
  219. package/src/ts/plugins/server/SslPlugin.ts +5 -5
  220. package/src/ts/plugins/server/StaticPlugin.ts +3 -30
  221. package/src/ts/server/api/connectorApi.ts +165 -28
  222. package/src/ts/server/api/publicationApi.ts +17 -24
  223. package/src/ts/server/api/websiteApi.ts +57 -14
  224. package/src/ts/server/cli.ts +7 -5
  225. package/src/ts/server/config.ts +9 -10
  226. package/src/ts/server/connectors/FsHosting.ts +14 -8
  227. package/src/ts/server/connectors/FsStorage.ts +40 -7
  228. package/src/ts/server/connectors/connectors.ts +8 -6
  229. package/src/ts/server/events.ts +17 -0
  230. package/src/ts/server/express.ts +2 -2
  231. package/src/ts/server/index.ts +6 -0
  232. package/src/ts/server/jobs.ts +14 -2
  233. package/src/ts/server/utils/BackwardCompat.ts +530 -529
  234. package/src/ts/types.ts +78 -34
  235. package/dist/plugins/client/client/utils.d.ts +0 -1
  236. package/dist/plugins/client/client/utils.js.map +0 -1
  237. package/dist/plugins/client/page.d.ts +0 -2
  238. package/dist/plugins/client/page.js.map +0 -1
  239. package/dist/plugins/client/plugins/client/publicationRenderer.d.ts +0 -2
  240. package/dist/plugins/client/plugins/client/publicationRenderer.js +0 -128
  241. package/dist/plugins/client/plugins/client/publicationRenderer.js.map +0 -1
  242. package/dist/plugins/server/plugins/server/AuthPlugin.d.ts +0 -1
  243. package/dist/plugins/server/plugins/server/AuthPlugin.js +0 -38
  244. package/dist/plugins/server/plugins/server/AuthPlugin.js.map +0 -1
  245. package/dist/plugins/server/plugins/server/HooksPlugin.d.ts +0 -7
  246. package/dist/plugins/server/plugins/server/HooksPlugin.js +0 -74
  247. package/dist/plugins/server/plugins/server/HooksPlugin.js.map +0 -1
  248. package/src/example-client-config.js +0 -64
  249. package/src/ts/plugins/client/publicationRenderer.ts +0 -128
  250. package/src/ts/plugins/server/HooksPlugin.ts +0 -76
@@ -1,14 +1,23 @@
1
1
  export declare enum ClientEvent {
2
- STARTUP_START = "silex:startup:start",
3
- STARTUP_END = "silex:startup:end",
4
- GRAPESJS_START = "silex:grapesjs:start",
5
- GRAPESJS_END = "silex:grapesjs:end",
6
- PUBLISH_START = "silex:publish:start",
7
- PUBLISH_DATA = "silex:publish:data",
8
- PUBLISH_END = "silex:publish:end",
9
- PUBLISH_ERROR = "silex:publish:error",
10
- PUBLISH_LOGIN_START = "silex:publish:login:start",
2
+ STARTUP_START = "silex:startup:start",/* Loading is over and Silex is starting */
3
+ STARTUP_END = "silex:startup:end",/* Silex is ready to be used */
4
+ GRAPESJS_START = "silex:grapesjs:start",/* GrapesJS is about to be initialized, it is time to edit config.grapesJsConfig */
5
+ GRAPESJS_END = "silex:grapesjs:end",/* GrapesJS is ready to be used, `editor` is passed as an argument */
6
+ PUBLICATION_UI_OPEN = "silex:publication-ui:open",/* The publication UI is opened, you can access it with { publicationUi } */
7
+ PUBLICATION_UI_CLOSE = "silex:publication-ui:close",/* The publication UI is closed, you can access it with { publicationUi } */
8
+ PUBLISH_BEFORE = "silex:publish:before",/* Publication is about to start, you can read+write {projectData, siteSettings} */
9
+ PUBLISH_START = "silex:publish:start",/* Publication starts, you can read+write project data/settings, use publication manager/ui, prevent publication {projectData, siteSettings, publicationManager, prenventDefault} */
10
+ PUBLISH_PAGE = "silex:publish:page",/* Publication of a page, read+write settings and page data, use publication manager and prevent publication { siteSettings, pageSettings, page, publicationManager, preventDefault } */
11
+ PUBLISH_DATA = "silex:publish:data",/* Just before we send the published data to the server, read+write all publication data, check PublicationData type in types.ts { data, publicationManager } */
12
+ PUBLISH_END = "silex:publish:end",/* Publication is over, the argument is the publication result with {success: boolean, message: string} */
13
+ PUBLISH_ERROR = "silex:publish:error",/* Publication failed, the argument is the publication result with {success: boolean, message: string} */
14
+ PUBLISH_LOGIN_START = "silex:publish:login:start",/* The user is about to login before publication, you can read+write connector data and use publication manager and prevent publication {connector, publicationManager, preventDefault} */
11
15
  PUBLISH_LOGIN_END = "silex:publish:login:end",
12
16
  ASSET_WRITE_END = "silex:asset:write:end",
13
- WRITE_END = "silex:write:end"
17
+ WRITE_END = "silex:write:end",
18
+ SETTINGS_OPEN = "silex:settings:open",/* The settings dialog is opened */
19
+ SETTINGS_CLOSE = "silex:settings:close",/* The settings dialog is closed */
20
+ SETTINGS_SAVE_START = "silex:settings:save:start",/* The settings dialog is closed and the settings are about to be saved */
21
+ SETTINGS_SAVE_END = "silex:settings:save:end",/* The settings dialog is closed and the settings are saved */
22
+ SETTINGS_SECTION_CHANGE = "silex:settings:section-change"
14
23
  }
@@ -16,11 +16,17 @@
16
16
  */
17
17
  export var ClientEvent;
18
18
  (function (ClientEvent) {
19
+ // Sent on the config object
19
20
  ClientEvent["STARTUP_START"] = "silex:startup:start";
20
21
  ClientEvent["STARTUP_END"] = "silex:startup:end";
21
22
  ClientEvent["GRAPESJS_START"] = "silex:grapesjs:start";
22
23
  ClientEvent["GRAPESJS_END"] = "silex:grapesjs:end";
24
+ // Sent on GrapesJs editor object (returned by silex.getEditor())
25
+ ClientEvent["PUBLICATION_UI_OPEN"] = "silex:publication-ui:open";
26
+ ClientEvent["PUBLICATION_UI_CLOSE"] = "silex:publication-ui:close";
27
+ ClientEvent["PUBLISH_BEFORE"] = "silex:publish:before";
23
28
  ClientEvent["PUBLISH_START"] = "silex:publish:start";
29
+ ClientEvent["PUBLISH_PAGE"] = "silex:publish:page";
24
30
  ClientEvent["PUBLISH_DATA"] = "silex:publish:data";
25
31
  ClientEvent["PUBLISH_END"] = "silex:publish:end";
26
32
  ClientEvent["PUBLISH_ERROR"] = "silex:publish:error";
@@ -28,5 +34,10 @@ export var ClientEvent;
28
34
  ClientEvent["PUBLISH_LOGIN_END"] = "silex:publish:login:end";
29
35
  ClientEvent["ASSET_WRITE_END"] = "silex:asset:write:end";
30
36
  ClientEvent["WRITE_END"] = "silex:write:end";
37
+ ClientEvent["SETTINGS_OPEN"] = "silex:settings:open";
38
+ ClientEvent["SETTINGS_CLOSE"] = "silex:settings:close";
39
+ ClientEvent["SETTINGS_SAVE_START"] = "silex:settings:save:start";
40
+ ClientEvent["SETTINGS_SAVE_END"] = "silex:settings:save:end";
41
+ ClientEvent["SETTINGS_SECTION_CHANGE"] = "silex:settings:section-change";
31
42
  })(ClientEvent || (ClientEvent = {}));
32
43
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/ts/client/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAN,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB,oDAAqC,CAAA;IACrC,gDAAiC,CAAA;IACjC,sDAAuC,CAAA;IACvC,kDAAmC,CAAA;IACnC,oDAAqC,CAAA;IACrC,kDAAmC,CAAA;IACnC,gDAAiC,CAAA;IACjC,oDAAqC,CAAA;IACrC,gEAAiD,CAAA;IACjD,4DAA6C,CAAA;IAC7C,wDAAyC,CAAA;IACzC,4CAA6B,CAAA;AAC/B,CAAC,EAbW,WAAW,KAAX,WAAW,QAatB"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/ts/client/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAN,IAAY,WAyBX;AAzBD,WAAY,WAAW;IACrB,4BAA4B;IAC5B,oDAAqC,CAAA;IACrC,gDAAiC,CAAA;IACjC,sDAAuC,CAAA;IACvC,kDAAmC,CAAA;IAEnC,iEAAiE;IACjE,gEAAiD,CAAA;IACjD,kEAAmD,CAAA;IACnD,sDAAuC,CAAA;IACvC,oDAAqC,CAAA;IACrC,kDAAmC,CAAA;IACnC,kDAAmC,CAAA;IACnC,gDAAiC,CAAA;IACjC,oDAAqC,CAAA;IACrC,gEAAiD,CAAA;IACjD,4DAA6C,CAAA;IAC7C,wDAAyC,CAAA;IACzC,4CAA6B,CAAA;IAC7B,oDAAqC,CAAA;IACrC,sDAAuC,CAAA;IACvC,gEAAiD,CAAA;IACjD,4DAA6C,CAAA;IAC7C,wEAAyD,CAAA;AAC3D,CAAC,EAzBW,WAAW,KAAX,WAAW,QAyBtB"}
@@ -14,26 +14,57 @@
14
14
  * You should have received a copy of the GNU Affero General Public License
15
15
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
16
16
  */
17
- //import {html, render} from 'lit-html'
18
- //import {styleMap} from 'lit-html/directives/style-map.js'
19
- //import { onAll } from '@silexlabs/silex/dist/client/utils.js'
20
- import { onAll } from '../../client/utils.js';
21
- import { ClientEvent } from '../../client/events.js';
22
- //// @ts-ignore
23
- //import {html, render} from '/node_modules/lit-html/lit-html.js'
24
- //// @ts-ignore
25
- //import {styleMap} from '/node_modules/lit-html/directives/style-map.js'
17
+ throw new Error('This file is obsolete, templates have been replaced by Silex CMS plugin: https://github.com/silexlabs/silex-cms/');
18
+ // Silex serves /clients
19
+ // @ts-ignore
20
+ import { onAll } from '../client/utils.js';
21
+ // @ts-ignore
22
+ import { ClientEvent } from '../client/events.js';
23
+ // You need to serve lit-html at /js/lit-html/
24
+ // @ts-ignore
25
+ import { html, render } from '../js/lit-html/lit-html.js';
26
+ // @ts-ignore
27
+ import { styleMap } from '../js/lit-html/directives/style-map.js';
26
28
  const silex = window['silex'];
27
29
  const pluginName = 'template';
28
30
  const templateType = 'templateType';
29
31
  const templateKey = 'template';
32
+ function createCodeEditor(editor, mode = 'htmlmixed', singleLine = false) {
33
+ const options = {
34
+ readOnly: false,
35
+ codeName: mode,
36
+ };
37
+ if (singleLine) {
38
+ options.lineWrapping = false;
39
+ options.lineNumbers = false;
40
+ options.indentWithTabs = false;
41
+ }
42
+ else {
43
+ options.lineNumbers = true;
44
+ options.lineWrapping = true;
45
+ }
46
+ return editor.CodeManager.createViewer(options);
47
+ }
30
48
  export default async (config, opts = {}) => {
31
- // @ts-ignore
32
- const { html, render } = await import('/node_modules/lit-html/lit-html.js');
33
- // @ts-ignore
34
- const { styleMap } = await import('/node_modules/lit-html/directives/style-map.js');
35
49
  config.on(ClientEvent.GRAPESJS_END, () => {
36
50
  const editor = silex.getEditor();
51
+ // Get the necessary code editors
52
+ const editors = {
53
+ before: createCodeEditor(editor),
54
+ replace: createCodeEditor(editor),
55
+ after: createCodeEditor(editor),
56
+ attributes: createCodeEditor(editor, 'text', true),
57
+ classname: createCodeEditor(editor, 'text', true),
58
+ style: createCodeEditor(editor, 'css', true),
59
+ };
60
+ const is1line = {
61
+ before: false,
62
+ replace: false,
63
+ after: false,
64
+ attributes: true,
65
+ classname: true,
66
+ style: true,
67
+ };
37
68
  // Add the new trait to all component types
38
69
  editor.DomComponents.getTypes().map(type => {
39
70
  const originalType = editor.DomComponents.getType(type.id);
@@ -57,7 +88,7 @@ export default async (config, opts = {}) => {
57
88
  function doRender(el) {
58
89
  const template = editor.getSelected()?.get(templateKey) || {};
59
90
  const taStyle = opts.styles?.textarea ?? styleMap({
60
- backgroundColor: 'var(--darkerPrimaryColor)',
91
+ xxbackgroundColor: 'var(--darkerPrimaryColor)',
61
92
  });
62
93
  const sepStyle = opts.styles?.sep ?? styleMap({ height: '10px' });
63
94
  const labels = {
@@ -69,31 +100,60 @@ export default async (config, opts = {}) => {
69
100
  style: html `CSS styles`,
70
101
  };
71
102
  render(html `
103
+ <style>
104
+ .CodeMirror {
105
+ height: 100%;
106
+ }
107
+ </style>
72
108
  <div>
73
109
  <h3>Template</h3>
74
110
  <p>This will be inserted in the published version</p>
75
111
  </div>
76
- ${['classname', 'attributes', 'style'].map(id => html `
77
- <label>
112
+ ${[
113
+ 'classname',
114
+ 'attributes',
115
+ 'style',
116
+ 'before',
117
+ 'replace',
118
+ 'after',
119
+ ].map(id => html `
120
+ <label data-contain="${id}" class="template-wrapper-${id}">
78
121
  ${labels[id]}
79
- <input
80
- id="template-${id}"
81
- .value=${template[id] || ''}
82
- style=${taStyle}
83
- />
84
122
  </label>
85
123
  `)}
86
- ${['before', 'replace', 'after'].map(id => html `
87
- <label
88
- for="template-${id}"
89
- >${labels[id]}</label>
90
- <textarea
91
- id="template-${id}"
92
- style=${taStyle}
93
- .value=${template[id] || ''}
94
- ></textarea>
95
- `)}
96
124
  `, el);
125
+ el.querySelectorAll('[data-contain]').forEach(container => {
126
+ const id = container.getAttribute('data-contain');
127
+ const codeEditor = editors[id];
128
+ container.appendChild(codeEditor.getElement());
129
+ codeEditor.getElement().style.display = 'block';
130
+ codeEditor.getElement().style.height = is1line[id] ? '' : '200px';
131
+ codeEditor.getElement().style.width = '100%';
132
+ codeEditor.setContent(template[id] ?? '');
133
+ codeEditor.refresh();
134
+ });
135
+ // Make sure we apply the changes when the user presses any key
136
+ // The events should be triggered by the trait manager (call onEvent) but it doesn't work for "delete" key for example
137
+ el.onkeyup = () => {
138
+ applyChanges(editor.getSelected());
139
+ };
140
+ }
141
+ function applyChanges(component) {
142
+ const template = {
143
+ before: editors.before.getContent(),
144
+ replace: editors.replace.getContent(),
145
+ after: editors.after.getContent(),
146
+ attributes: editors.attributes.getContent(),
147
+ classname: editors.classname.getContent(),
148
+ style: editors.style.getContent(),
149
+ };
150
+ // Store the new template
151
+ if (Object.values(template).filter(val => !!val && !!cleanup(val)).length > 0) {
152
+ component.set(templateKey, template);
153
+ }
154
+ else {
155
+ component.set(templateKey);
156
+ }
97
157
  }
98
158
  editor.TraitManager.addType(templateType, {
99
159
  createInput({ trait }) {
@@ -109,21 +169,7 @@ export default async (config, opts = {}) => {
109
169
  // Update the component based on UI changes
110
170
  // `elInput` is the result HTMLElement you get from `createInput`
111
171
  onEvent({ elInput, component, event }) {
112
- const template = {
113
- before: elInput.querySelector('#template-before').value,
114
- replace: elInput.querySelector('#template-replace').value,
115
- after: elInput.querySelector('#template-after').value,
116
- attributes: elInput.querySelector('#template-attributes').value,
117
- classname: elInput.querySelector('#template-classname').value,
118
- style: elInput.querySelector('#template-style').value,
119
- };
120
- // Store the new template
121
- if (Object.values(template).filter(val => !!val && !!cleanup(val)).length > 0) {
122
- component.set(templateKey, template);
123
- }
124
- else {
125
- component.set(templateKey);
126
- }
172
+ applyChanges(component);
127
173
  },
128
174
  // Update UI on the component change
129
175
  onUpdate({ elInput, component }) {
@@ -149,38 +195,40 @@ export default async (config, opts = {}) => {
149
195
  // put back together
150
196
  .join('\n');
151
197
  }
152
- editor.on(ClientEvent.PUBLISH_START, () => {
153
- // Insert templates
154
- onAll(editor, c => {
155
- const template = c.get(templateKey);
156
- const toHTML = c.toHTML;
157
- const classes = c.getClasses();
158
- const before = cleanup(template?.before || '');
159
- const replace = cleanup(template?.replace || '');
160
- const after = cleanup(template?.after || '');
161
- const classname = cleanup(template?.classname || '');
162
- const style = cleanup(template?.style || '');
163
- const attributes = cleanup(template?.attributes || '');
164
- // Store the initial method
165
- if (!c.has('tmpHtml'))
166
- c.set('tmpHtml', toHTML);
167
- // Override the method
168
- c.toHTML = () => {
169
- return `${before}${c.get('tagName') ? `<${c.get('tagName')}
198
+ if (opts.publication !== false) {
199
+ editor.on(ClientEvent.PUBLISH_START, () => {
200
+ // Insert templates
201
+ onAll(editor, c => {
202
+ const template = c.get(templateKey);
203
+ const toHTML = c.toHTML;
204
+ const classes = c.getClasses();
205
+ const before = cleanup(template?.before || '');
206
+ const replace = cleanup(template?.replace || '');
207
+ const after = cleanup(template?.after || '');
208
+ const classname = cleanup(template?.classname || '');
209
+ const style = cleanup(template?.style || '');
210
+ const attributes = cleanup(template?.attributes || '');
211
+ // Store the initial method
212
+ if (!c.has('tmpHtml'))
213
+ c.set('tmpHtml', toHTML);
214
+ // Override the method
215
+ c.toHTML = () => {
216
+ return `${before}${c.get('tagName') ? `<${c.get('tagName')}
170
217
  ${Object.entries(c.get('attributes')).map(([key, value]) => makeAttribute(key, value)).join(' ')}
171
218
  ${classes.length || classname ? `class="${classes.join(' ')} ${classname}"` : ''}
172
219
  ${attributes}
173
220
  ${style ? `style="${style}"` : ''}
174
221
  >` : ''}${replace || c.getInnerHTML()}${c.get('tagName') ? `</${c.get('tagName')}>` : ''}${after}`;
175
- };
222
+ };
223
+ });
176
224
  });
177
- });
178
- editor.on(ClientEvent.PUBLISH_END, () => {
179
- onAll(editor, c => {
180
- // Restore the original method
181
- c.toHTML = c.get('tmpHtml');
225
+ editor.on(ClientEvent.PUBLISH_END, () => {
226
+ onAll(editor, c => {
227
+ // Restore the original method
228
+ c.toHTML = c.get('tmpHtml');
229
+ });
182
230
  });
183
- });
231
+ }
184
232
  });
185
233
  };
186
234
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/client/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/client/template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export default function (config: any): Promise<void>;
@@ -0,0 +1,72 @@
1
+ /*
2
+ * Silex website builder, free/libre no-code tool for makers.
3
+ * Copyright (c) 2023 lexoyo and Silex Labs foundation
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU Affero General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or any later version.
8
+ *
9
+ * This program is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ * GNU Affero General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Affero General Public License
15
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
16
+ */
17
+ import { ClientEvent } from '../../client/events.js';
18
+ // Silex plugin
19
+ export default async function (config) {
20
+ let websiteMeta = null;
21
+ config.on(ClientEvent.GRAPESJS_START, async () => {
22
+ // GrapesJs plugin
23
+ const grapesPlugin = (editor, opts) => {
24
+ const options = {
25
+ appendTo: 'commands',
26
+ ...opts,
27
+ };
28
+ editor.on('storage:end:load', async () => {
29
+ // Get website meta data
30
+ const { websiteId, connectorId } = options;
31
+ // Get the website meta data
32
+ websiteMeta = await config.api.websiteMetaRead({ websiteId, connectorId });
33
+ displayWebsiteMeta();
34
+ });
35
+ return {};
36
+ };
37
+ // Add the plugin to the GrapeJS
38
+ config.grapesJsConfig.plugins.push(grapesPlugin);
39
+ config.grapesJsConfig.pluginsOpts[grapesPlugin.toString()] = {
40
+ websiteId: config.websiteId,
41
+ connectorId: config.storageId,
42
+ };
43
+ });
44
+ config.on(ClientEvent.GRAPESJS_END, async ({ editor }) => {
45
+ // Detect when the page changes
46
+ editor.on('page:select', async () => {
47
+ displayWebsiteMeta();
48
+ });
49
+ });
50
+ // Display the website meta data
51
+ function displayWebsiteMeta() {
52
+ // Get or create the container
53
+ const container = document.querySelector('#gjs-website-meta') ?? (function () {
54
+ const c = document.createElement('div');
55
+ c.id = 'gjs-website-meta';
56
+ c.classList.add('gjs-website-meta');
57
+ // Add the container to the UI
58
+ // Add the name of the website in the top bar
59
+ const topBar = document.querySelector('.gjs-pn-devices-c');
60
+ topBar?.appendChild(c);
61
+ return c;
62
+ })();
63
+ // Get the current page
64
+ const currentPage = config.getEditor().Pages?.getSelected();
65
+ // Display the website meta data
66
+ container.innerHTML = `
67
+ ${websiteMeta?.imageUrl ? `<div class="gjs-website-meta-image" style="background: url(${websiteMeta?.imageUrl});"></div>` : ''}
68
+ <div class="gjs-website-meta-name">${websiteMeta?.name ?? 'Unknown'} | ${currentPage.get('name') ?? currentPage.get('type')}</div>
69
+ `;
70
+ }
71
+ }
72
+ //# sourceMappingURL=website-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"website-info.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/client/website-info.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AASpD,eAAe;AACf,MAAM,CAAC,OAAO,CAAC,KAAK,WAAU,MAAM;IAClC,IAAI,WAAW,GAAuB,IAAI,CAAA;IAC1C,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC/C,kBAAkB;QAClB,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,IAAiC,EAAE,EAAE;YACjE,MAAM,OAAO,GAAG;gBACd,QAAQ,EAAE,UAAU;gBACpB,GAAG,IAAI;aACc,CAAA;YACvB,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;gBACvC,wBAAwB;gBACxB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;gBAC1C,4BAA4B;gBAC5B,WAAW,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAA;gBAC1E,kBAAkB,EAAE,CAAA;YACtB,CAAC,CAAC,CAAA;YACF,OAAO,EAAE,CAAA;QACX,CAAC,CAAA;QAED,gCAAgC;QAChC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAChD,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG;YAC3D,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,SAAS;SAC9B,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,EAAC,MAAM,EAAC,EAAE,EAAE;QACrD,+BAA+B;QAC/B,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAClC,kBAAkB,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAGF,gCAAgC;IAChC,SAAS,kBAAkB;QACzB,8BAA8B;QAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAChE,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACvC,CAAC,CAAC,EAAE,GAAG,kBAAkB,CAAA;YACzB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;YACnC,8BAA8B;YAC9B,6CAA6C;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAA;YAC1D,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;YACtB,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,EAAE,CAAA;QACJ,uBAAuB;QACvB,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,CAAA;QAC3D,gCAAgC;QAChC,SAAS,CAAC,SAAS,GAAG;UAChB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,8DAA8D,WAAW,EAAE,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAE;6CACzF,WAAW,EAAE,IAAI,IAAI,SAAS,MAAM,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;OAC5H,CAAA;IACL,CAAC;AACH,CAAC"}
@@ -4,8 +4,6 @@
4
4
  export interface PublicationSettings {
5
5
  connector?: ConnectorData;
6
6
  options?: ConnectorOptions;
7
- url?: string;
8
- autoHomePage?: boolean;
9
7
  }
10
8
  export interface WebsiteFile {
11
9
  html: string;
@@ -63,11 +61,15 @@ export type ApiWebsiteDeleteQuery = {
63
61
  websiteId: WebsiteId;
64
62
  connectorId?: ConnectorId;
65
63
  };
64
+ export type ApiWebsiteDuplicateQuery = {
65
+ websiteId: WebsiteId;
66
+ connectorId?: ConnectorId;
67
+ };
66
68
  export type ApiWebsiteMetaReadQuery = {
67
69
  websiteId: WebsiteId;
68
70
  connectorId?: ConnectorId;
69
71
  };
70
- export type ApiWebsiteMetaReadResponse = WebsiteMetaFileContent;
72
+ export type ApiWebsiteMetaReadResponse = WebsiteMeta;
71
73
  export type ApiWebsiteMetaWriteQuery = {
72
74
  websiteId: WebsiteId;
73
75
  connectorId?: ConnectorId;
@@ -136,6 +138,23 @@ export type ApiConnectorUserQuery = {
136
138
  };
137
139
  export type ApiConnectorUserResponse = ConnectorUser;
138
140
  export declare const defaultWebsiteData: WebsiteData;
141
+ export interface Component {
142
+ type: string;
143
+ content?: string;
144
+ attributes: {
145
+ [key: string]: string;
146
+ };
147
+ components: Component[];
148
+ }
149
+ export interface Page {
150
+ id: string;
151
+ name: string;
152
+ slug: string;
153
+ settings: WebsiteSettings;
154
+ frames: {
155
+ component: Component;
156
+ }[];
157
+ }
139
158
  export interface WebsiteData {
140
159
  pages: Page[];
141
160
  assets: Asset[];
@@ -146,7 +165,7 @@ export interface WebsiteData {
146
165
  publication: PublicationSettings;
147
166
  }
148
167
  export interface PublicationData extends WebsiteData {
149
- files?: WebsiteFile[];
168
+ files?: ClientSideFile[];
150
169
  }
151
170
  export interface WebsiteSettings {
152
171
  description?: string;
@@ -163,31 +182,6 @@ export interface Font {
163
182
  value: string;
164
183
  variants: string[];
165
184
  }
166
- export interface Page {
167
- name?: string;
168
- id: string;
169
- type?: string;
170
- frames: Frame[];
171
- settings?: WebsiteSettings;
172
- cssExt?: string;
173
- htmlExt?: string;
174
- slug?: string;
175
- }
176
- export interface Frame {
177
- component: {
178
- type: string;
179
- stylable: string[];
180
- };
181
- components: Component[];
182
- }
183
- export interface Component {
184
- type: string;
185
- content?: string;
186
- attributes: {
187
- [key: string]: string;
188
- };
189
- conponents: Component[];
190
- }
191
185
  export declare enum Unit {
192
186
  PX = "px"
193
187
  }
@@ -214,15 +208,45 @@ export type Selector = string | {
214
208
  * Type for a connector id
215
209
  */
216
210
  export type ConnectorId = string;
217
- export type ConnectorOptions = object;
211
+ export type ConnectorOptions = {
212
+ websiteUrl?: string;
213
+ [key: string]: any;
214
+ };
215
+ export declare enum ClientSideFileType {
216
+ HTML = "html",
217
+ ASSET = "asset",
218
+ CSS = "css",
219
+ OTHER = "other"
220
+ }
221
+ export declare enum Initiator {
222
+ HTML = "html",
223
+ CSS = "css"
224
+ }
218
225
  /**
219
- * Type for a client side file
220
- * @see connector/File
226
+ * Type for a client side file when the content is not available, used to handle file names and paths and urls
221
227
  */
222
- export interface ClientSideFile {
228
+ export interface ClientSideFileWithPermalink {
223
229
  path: string;
230
+ permalink?: string;
231
+ type: ClientSideFileType;
232
+ }
233
+ /**
234
+ * Type for a client side file when the content is available as a string
235
+ */
236
+ export interface ClientSideFileWithContent extends ClientSideFileWithPermalink {
224
237
  content: string;
225
238
  }
239
+ /**
240
+ * Type for a client side file when the content is in the connector
241
+ */
242
+ export interface ClientSideFileWithSrc extends ClientSideFileWithPermalink {
243
+ src: string;
244
+ }
245
+ /**
246
+ * Type for a client side file
247
+ * @see connector/File
248
+ */
249
+ export type ClientSideFile = ClientSideFileWithContent | ClientSideFileWithSrc;
226
250
  /**
227
251
  * Type for file listing
228
252
  */
@@ -285,8 +309,8 @@ export interface WebsiteMetaFileContent {
285
309
  */
286
310
  export interface WebsiteMeta extends WebsiteMetaFileContent {
287
311
  websiteId: WebsiteId;
288
- createdAt: Date;
289
- updatedAt: Date;
312
+ createdAt?: Date;
313
+ updatedAt?: Date;
290
314
  }
291
315
  /**
292
316
  * Enum to express if the job is in progress or finished or errored
@@ -33,10 +33,33 @@ export const defaultWebsiteData = {
33
33
  //symbols: [],
34
34
  //publication: {},
35
35
  };
36
+ //export interface Frame {
37
+ // component: { type: string, stylable: string[] },
38
+ // components: Component[],
39
+ //}
40
+ //
41
+ //export interface Component {
42
+ // type: string,
43
+ // content?: string,
44
+ // attributes: { [key: string]: string },
45
+ // conponents: Component[],
46
+ //}
36
47
  export var Unit;
37
48
  (function (Unit) {
38
49
  Unit["PX"] = "px";
39
50
  })(Unit || (Unit = {}));
51
+ export var ClientSideFileType;
52
+ (function (ClientSideFileType) {
53
+ ClientSideFileType["HTML"] = "html";
54
+ ClientSideFileType["ASSET"] = "asset";
55
+ ClientSideFileType["CSS"] = "css";
56
+ ClientSideFileType["OTHER"] = "other";
57
+ })(ClientSideFileType || (ClientSideFileType = {}));
58
+ export var Initiator;
59
+ (function (Initiator) {
60
+ Initiator["HTML"] = "html";
61
+ Initiator["CSS"] = "css";
62
+ })(Initiator || (Initiator = {}));
40
63
  /**
41
64
  * Enum to express if the connector is a storage or a hosting
42
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ts/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAqBH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACY;IAA7C,YAAY,OAAe,EAAkB,cAAsB;QACjE,KAAK,CAAC,OAAO,CAAC,CAAA;QAD6B,mBAAc,GAAd,cAAc,CAAQ;QAEjE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;IACpD,CAAC;CACF;AA+CD,KAAK;AACL,cAAc;AACd,MAAM,CAAC,MAAM,kBAAkB,GAAgB;AAC7C,YAAY;AACZ,aAAa;AACb,aAAa;AACb,eAAe;AACf,YAAY;AACZ,cAAc;AACd,kBAAkB;CACJ,CAAA;AAyDhB,MAAM,CAAN,IAAY,IAEX;AAFD,WAAY,IAAI;IACd,iBAAS,CAAA;AACX,CAAC,EAFW,IAAI,KAAJ,IAAI,QAEf;AAoDD;;GAEG;AACH,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAuDD;;GAEG;AACH,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,gCAAmB,CAAA;IACnB,4BAAe,CAAA;AACjB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ts/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAmBH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACY;IAA7C,YAAY,OAAe,EAAkB,cAAsB;QACjE,KAAK,CAAC,OAAO,CAAC,CAAA;QAD6B,mBAAc,GAAd,cAAc,CAAQ;QAEjE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;IACpD,CAAC;CACF;AAgDD,KAAK;AACL,cAAc;AACd,MAAM,CAAC,MAAM,kBAAkB,GAAgB;AAC7C,YAAY;AACZ,aAAa;AACb,aAAa;AACb,eAAe;AACf,YAAY;AACZ,cAAc;AACd,kBAAkB;CACJ,CAAA;AAuDhB,0BAA0B;AAC1B,oDAAoD;AACpD,4BAA4B;AAC5B,GAAG;AACH,EAAE;AACF,8BAA8B;AAC9B,iBAAiB;AACjB,qBAAqB;AACrB,0CAA0C;AAC1C,4BAA4B;AAC5B,GAAG;AAEH,MAAM,CAAN,IAAY,IAEX;AAFD,WAAY,IAAI;IACd,iBAAS,CAAA;AACX,CAAC,EAFW,IAAI,KAAJ,IAAI,QAEf;AAkCD,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,iCAAW,CAAA;IACX,qCAAe,CAAA;AACjB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AA2CD;;GAEG;AACH,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAuDD;;GAEG;AACH,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,gCAAmB,CAAA;IACnB,4BAAe,CAAA;AACjB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB"}
@@ -22,8 +22,11 @@ export declare const API_WEBSITE_READ = "/";
22
22
  export declare const API_WEBSITE_WRITE = "/";
23
23
  export declare const API_WEBSITE_CREATE = "/";
24
24
  export declare const API_WEBSITE_DELETE = "/";
25
+ export declare const API_WEBSITE_DUPLICATE = "/duplicate";
25
26
  export declare const API_WEBSITE_LIST = "/";
26
27
  export declare const API_WEBSITE_ASSET_READ = "/assets";
27
28
  export declare const API_WEBSITE_ASSETS_WRITE = "/assets";
28
29
  export declare const API_WEBSITE_META_READ = "/meta";
29
30
  export declare const API_WEBSITE_META_WRITE = "/meta";
31
+ export declare let SILEX_VERSION: any;
32
+ export declare const DEV_MESSAGE: string;