@onetype/framework 2.0.42 → 2.0.43

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 (346) hide show
  1. package/addons/ai/addon.js +78 -0
  2. package/addons/ai/addons/agents/item/functions/describe.js +28 -0
  3. package/addons/ai/addons/agents/item/functions/execute.js +41 -0
  4. package/addons/ai/addons/agents/item/functions/messages.js +38 -0
  5. package/addons/ai/addons/agents/item/functions/run.js +49 -0
  6. package/addons/ai/addons/agents/item/functions/schema.js +45 -0
  7. package/addons/ai/addons/agents/load.js +9 -0
  8. package/addons/ai/addons/orchestrators/item/functions/agents/execute.js +14 -0
  9. package/addons/ai/addons/orchestrators/item/functions/agents/steps.js +23 -0
  10. package/addons/ai/addons/orchestrators/item/functions/modes/action.js +131 -0
  11. package/addons/ai/addons/orchestrators/item/functions/run.js +28 -0
  12. package/addons/ai/addons/orchestrators/item/functions/utils/emit.js +11 -0
  13. package/addons/ai/addons/orchestrators/item/functions/utils/history.js +8 -0
  14. package/addons/ai/addons/orchestrators/item/functions/utils/state.js +29 -0
  15. package/addons/ai/addons/orchestrators/load.js +15 -0
  16. package/addons/ai/addons/pipelines/functions/execute.js +56 -0
  17. package/addons/ai/addons/pipelines/functions/run.js +72 -0
  18. package/addons/ai/addons/pipelines/load.js +6 -0
  19. package/addons/ai/addons/providers/functions/default.js +8 -0
  20. package/addons/ai/addons/providers/item/functions/request.js +108 -0
  21. package/addons/ai/addons/providers/items/nue.js +69 -0
  22. package/addons/ai/addons/providers/items/ollama.js +79 -0
  23. package/addons/ai/addons/providers/load.js +8 -0
  24. package/addons/ai/items/agents/steps.js +159 -0
  25. package/addons/ai/items/agents/summary.js +29 -0
  26. package/addons/ai/items/orchestrators/general.js +7 -0
  27. package/addons/ai/load.js +13 -0
  28. package/addons/ai/test/agents.js +149 -0
  29. package/addons/ai/test/index.js +63 -0
  30. package/addons/core/assets/back/functions/utils/transform.js +21 -23
  31. package/addons/core/assets/back/items/html/css.js +2 -2
  32. package/addons/core/assets/back/items/html/js.js +2 -2
  33. package/addons/core/clients/back/http/item/functions/gRPC/create.js +3 -3
  34. package/addons/core/clients/back/http/item/functions/http/create.js +3 -3
  35. package/addons/core/commands/back/functions/grpc/client.js +3 -3
  36. package/addons/core/commands/back/functions/grpc/server.js +2 -2
  37. package/addons/core/commands/core/addon.js +4 -1
  38. package/addons/core/commands/core/functions/run.js +1 -1
  39. package/addons/core/commands/core/item/functions/run.js +1 -1
  40. package/addons/core/commands/core/load.js +27 -9
  41. package/addons/core/database/back/events/addon.add.js +1 -1
  42. package/addons/core/database/back/events/middleware/addon.items.find.js +2 -2
  43. package/addons/core/database/back/events/middleware/item.crud.create.js +2 -2
  44. package/addons/core/database/back/events/middleware/item.crud.delete.js +2 -2
  45. package/addons/core/database/back/events/middleware/item.crud.update.js +2 -2
  46. package/addons/core/database/back/item/functions/create.js +4 -3
  47. package/addons/core/database/back/item/functions/delete.js +1 -1
  48. package/addons/core/database/back/item/functions/find.js +1 -1
  49. package/addons/core/database/back/item/functions/update.js +3 -3
  50. package/addons/core/database/front/events/addon.add.js +1 -1
  51. package/addons/core/servers/back/grpc/item/functions/start.js +1 -1
  52. package/addons/core/servers/back/http/item/functions/start.js +6 -6
  53. package/addons/float/overlays/css/overlay.css +35 -0
  54. package/addons/float/overlays/js/addon.js +18 -0
  55. package/addons/float/overlays/js/events/click.js +27 -0
  56. package/addons/float/overlays/js/events/escape.js +18 -0
  57. package/addons/float/overlays/js/functions/flip.js +51 -0
  58. package/addons/float/overlays/js/functions/index.js +17 -0
  59. package/addons/float/overlays/js/functions/position.js +62 -0
  60. package/addons/float/overlays/js/functions/reposition.js +29 -0
  61. package/addons/float/overlays/js/item/catch/add.js +123 -0
  62. package/addons/float/overlays/js/item/catch/remove.js +29 -0
  63. package/addons/float/popup/css/popup.css +93 -0
  64. package/addons/float/popup/js/addon.js +34 -0
  65. package/addons/float/popup/js/functions/close.js +25 -0
  66. package/addons/float/popup/js/functions/modal.js +31 -0
  67. package/addons/float/popup/js/functions/popup.js +21 -0
  68. package/addons/float/popup/js/functions/toast.js +55 -0
  69. package/addons/float/popup/js/functions/tooltip.js +34 -0
  70. package/addons/float/popup/js/items/directives/popup.js +58 -0
  71. package/addons/float/popup/js/items/directives/tooltip.js +72 -0
  72. package/addons/render/directives/front/{js/#register/addon.js → addon.js} +8 -8
  73. package/addons/render/directives/front/{js/functions → functions}/process/attributes.js +7 -2
  74. package/addons/render/directives/front/{js/functions → functions}/process/match.js +8 -8
  75. package/addons/render/directives/front/functions/process.js +88 -0
  76. package/{lib/items/directives → addons/render/directives/front/items/self}/1000-render.js +1 -0
  77. package/{lib/items/directives → addons/render/directives/front/items/self}/110-show.js +3 -5
  78. package/{lib/items/directives → addons/render/directives/front/items/self}/160-slot.js +1 -0
  79. package/{lib/items/directives → addons/render/directives/front/items/self}/200-for.js +3 -3
  80. package/addons/render/directives/front/items/self/500-click-outside.js +45 -0
  81. package/addons/render/directives/front/items/self/500-events.js +68 -0
  82. package/addons/render/directives/front/items/self/500-mouse-enter.js +62 -0
  83. package/addons/render/directives/front/items/self/500-mouse-leave.js +62 -0
  84. package/{lib/items/directives → addons/render/directives/front/items/self}/650-fetch.js +2 -3
  85. package/{lib/items/directives → addons/render/directives/front/items/self}/660-form.js +5 -6
  86. package/addons/render/{elements/front/items/directives → directives/front/items/self}/element.js +7 -1
  87. package/addons/render/directives/front/items/self/node.js +43 -0
  88. package/{lib/items/elements → addons/render/elements/front/items/self}/cards/pricing/pricing.js +2 -2
  89. package/addons/render/elements/front/items/self/core/builder/builder.css +180 -0
  90. package/addons/render/elements/front/items/self/core/builder/builder.js +257 -0
  91. package/addons/render/elements/front/items/self/core/repeater/repeater.css +197 -0
  92. package/addons/render/elements/front/items/self/core/repeater/repeater.js +224 -0
  93. package/{lib/items/elements → addons/render/elements/front/items/self}/form/button/button.js +2 -2
  94. package/{lib/items/elements → addons/render/elements/front/items/self}/form/checkbox/checkbox.js +21 -8
  95. package/{lib/items/elements → addons/render/elements/front/items/self}/form/color/color.css +28 -0
  96. package/{lib/items/elements → addons/render/elements/front/items/self}/form/color/color.js +35 -13
  97. package/{lib/items/elements → addons/render/elements/front/items/self}/form/date/date.js +3 -4
  98. package/{lib/items/elements → addons/render/elements/front/items/self}/form/input/input.js +40 -4
  99. package/{lib/items/elements → addons/render/elements/front/items/self}/form/radio/radio.js +24 -6
  100. package/{lib/items/elements → addons/render/elements/front/items/self}/form/rating/rating.js +2 -1
  101. package/{lib/items/elements → addons/render/elements/front/items/self}/form/select/select.js +3 -7
  102. package/{lib/items/elements → addons/render/elements/front/items/self}/form/slider/slider.js +89 -74
  103. package/{lib/items/elements → addons/render/elements/front/items/self}/form/tags/tags.js +5 -5
  104. package/{lib/items/elements → addons/render/elements/front/items/self}/form/textarea/textarea.js +41 -6
  105. package/{lib/items/elements → addons/render/elements/front/items/self}/form/toggle/toggle.css +4 -0
  106. package/{lib/items/elements → addons/render/elements/front/items/self}/form/toggle/toggle.js +7 -8
  107. package/{lib/items/elements → addons/render/elements/front/items/self}/global/code/code.js +3 -4
  108. package/{lib/items/elements → addons/render/elements/front/items/self}/global/faq/faq.js +2 -2
  109. package/{lib/items/elements → addons/render/elements/front/items/self}/global/heading/heading.js +6 -17
  110. package/addons/render/elements/front/items/self/global/markdown/markdown.js +26 -0
  111. package/{lib/items/elements → addons/render/elements/front/items/self}/global/menu/menu.js +1 -1
  112. package/{lib/items/elements → addons/render/elements/front/items/self}/global/tags/tags.js +1 -1
  113. package/{lib/items/elements → addons/render/elements/front/items/self}/navigation/navbar/navbar.js +5 -1
  114. package/{lib/items/elements → addons/render/elements/front/items/self}/navigation/sidebar/sidebar.js +1 -1
  115. package/{lib/items/elements → addons/render/elements/front/items/self}/navigation/tabs/tabs.js +1 -1
  116. package/{lib/items/elements → addons/render/elements/front/items/self}/status/code/code.css +1 -1
  117. package/{lib/items/elements → addons/render/elements/front/items/self}/status/empty/empty.css +1 -1
  118. package/{lib/items/elements → addons/render/elements/front/items/self}/status/empty/empty.js +4 -0
  119. package/{lib/items/elements → addons/render/elements/front/items/self}/status/error/error.css +1 -1
  120. package/{lib/items/elements → addons/render/elements/front/items/self}/status/error/error.js +1 -1
  121. package/{lib/items/elements → addons/render/elements/front/items/self}/status/loading/loading.css +8 -1
  122. package/addons/render/pages/core/load.js +1 -1
  123. package/addons/render/pages/front/events/click.js +1 -1
  124. package/addons/render/pages/front/events/load.js +6 -16
  125. package/addons/render/pages/front/functions/change.js +21 -110
  126. package/addons/render/pages/front/functions/match.js +2 -3
  127. package/addons/render/pages/front/functions/open.js +3 -35
  128. package/addons/render/pages/front/functions/resolve.js +30 -0
  129. package/addons/render/pages/front/item/catch/add.js +12 -10
  130. package/addons/render/pages/front/item/catch/remove.js +5 -7
  131. package/addons/render/pages/front/item/functions/enter.js +15 -28
  132. package/addons/render/pages/front/item/functions/leave.js +6 -8
  133. package/addons/render/pages/front/items/commands/change.js +60 -0
  134. package/addons/render/pages/front/items/commands/list.js +38 -0
  135. package/addons/render/pages/front/items/directives/change.js +1 -1
  136. package/addons/render/transforms/css/transforms.css +4 -0
  137. package/addons/render/transforms/{addon.js → js/addon.js} +7 -0
  138. package/addons/render/transforms/js/item/functions/run.js +87 -0
  139. package/addons/services/cloudflare/images/back/addon.js +23 -0
  140. package/addons/services/cloudflare/images/back/expose.js +22 -0
  141. package/addons/services/cloudflare/images/back/functions/api.js +47 -0
  142. package/addons/services/cloudflare/images/back/functions/meta/detect.js +28 -0
  143. package/addons/services/cloudflare/images/back/functions/meta/dimensions/gif.js +11 -0
  144. package/addons/services/cloudflare/images/back/functions/meta/dimensions/jpeg.js +31 -0
  145. package/addons/services/cloudflare/images/back/functions/meta/dimensions/png.js +11 -0
  146. package/addons/services/cloudflare/images/back/functions/meta/dimensions/webp.js +36 -0
  147. package/addons/services/cloudflare/images/back/functions/meta.js +16 -0
  148. package/addons/services/cloudflare/images/back/items/commands/delete.js +38 -0
  149. package/addons/services/cloudflare/images/back/items/commands/get.js +56 -0
  150. package/addons/services/cloudflare/images/back/items/commands/list.js +49 -0
  151. package/addons/services/cloudflare/images/back/items/commands/upload.js +79 -0
  152. package/addons/services/cloudflare/images/back/load.js +21 -0
  153. package/addons/services/cloudflare/images/front/items/elements/browse/browse.css +235 -0
  154. package/addons/services/cloudflare/images/front/items/elements/browse/browse.js +193 -0
  155. package/addons/services/cloudflare/images/front/items/elements/input/input.css +154 -0
  156. package/addons/services/cloudflare/images/front/items/elements/input/input.js +147 -0
  157. package/addons/services/cloudflare/images/sql.txt +43 -0
  158. package/lib/events.js +12 -12
  159. package/lib/load.js +11 -49
  160. package/lib/src/classes/addon/class.js +1 -2
  161. package/lib/src/classes/addon/classes/item/mixins/get.js +3 -3
  162. package/lib/src/classes/addon/classes/item/mixins/set.js +3 -5
  163. package/lib/src/classes/addon/classes/item/mixins/store.js +1 -1
  164. package/lib/src/classes/addon/classes/render/class.js +8 -22
  165. package/lib/src/classes/addon/classes/render/mixins/compile.js +6 -4
  166. package/lib/src/classes/addon/classes/render/mixins/dom.js +3 -1
  167. package/lib/src/classes/addon/classes/render/mixins/events.js +30 -43
  168. package/lib/src/classes/addon/classes/render/mixins/get.js +0 -5
  169. package/lib/src/classes/addon/classes/render/mixins/methods.js +105 -40
  170. package/lib/src/classes/addon/classes/render/mixins/process.js +7 -3
  171. package/lib/src/classes/addon/classes/render/mixins/set.js +3 -1
  172. package/lib/src/classes/addon/mixins/fields.js +4 -6
  173. package/lib/src/classes/addon/mixins/functions.js +11 -11
  174. package/lib/src/classes/addon/mixins/items.js +17 -9
  175. package/lib/src/classes/addon/mixins/render.js +1 -1
  176. package/lib/src/classes/addon/mixins/table.js +1 -1
  177. package/lib/src/classes/error/class.js +10 -0
  178. package/lib/src/mixins/addons.js +7 -20
  179. package/lib/src/mixins/assets.js +1 -1
  180. package/lib/src/mixins/data.js +14 -14
  181. package/lib/src/mixins/dependencies.js +5 -5
  182. package/lib/src/mixins/dom.js +204 -201
  183. package/lib/src/mixins/emitter.js +13 -14
  184. package/lib/src/mixins/error.js +14 -1
  185. package/lib/src/mixins/function.js +1 -0
  186. package/lib/src/mixins/generate.js +1 -1
  187. package/lib/src/mixins/helper.js +3 -31
  188. package/lib/{items/elements/global/markdown → src/mixins}/markdown.js +90 -139
  189. package/lib/src/mixins/middleware.js +2 -2
  190. package/lib/src/mixins/observer.js +337 -0
  191. package/lib/src/mixins/request.js +2 -2
  192. package/lib/src/mixins/route.js +11 -2
  193. package/lib/src/mixins/state.js +17 -3
  194. package/lib/src/onetype.js +11 -18
  195. package/lib/styles/classes/layout.css +1 -3
  196. package/lib/styles/variables.css +2 -1
  197. package/package.json +5 -7
  198. package/README.md +0 -86
  199. package/addons/ai/agents/addon.js +0 -23
  200. package/addons/ai/agents/functions/parse.js +0 -129
  201. package/addons/ai/agents/item/functions/run.js +0 -218
  202. package/addons/ai/agents/load.js +0 -8
  203. package/addons/ai/orchestrator/addon.js +0 -25
  204. package/addons/ai/orchestrator/item/functions/run.js +0 -277
  205. package/addons/ai/orchestrator/item/functions/state/agent.js +0 -41
  206. package/addons/ai/orchestrator/item/functions/state/conclusion.js +0 -27
  207. package/addons/ai/orchestrator/item/functions/state/done.js +0 -40
  208. package/addons/ai/orchestrator/item/functions/state/execute.js +0 -16
  209. package/addons/ai/orchestrator/item/functions/state/goal.js +0 -34
  210. package/addons/ai/orchestrator/item/functions/state/input.js +0 -55
  211. package/addons/ai/orchestrator/item/functions/state/summary.js +0 -26
  212. package/addons/ai/orchestrator/items/agents/achievable.js +0 -37
  213. package/addons/ai/orchestrator/items/agents/agent.js +0 -46
  214. package/addons/ai/orchestrator/items/agents/conclusion.js +0 -41
  215. package/addons/ai/orchestrator/items/agents/done.js +0 -40
  216. package/addons/ai/orchestrator/items/agents/goal.js +0 -58
  217. package/addons/ai/orchestrator/items/agents/input.js +0 -34
  218. package/addons/ai/orchestrator/items/agents/planner.js +0 -30
  219. package/addons/ai/orchestrator/items/agents/summary.js +0 -29
  220. package/addons/ai/orchestrator/items/chat.js +0 -10
  221. package/addons/ai/orchestrator/load.js +0 -25
  222. package/addons/ai/providers/addon.js +0 -16
  223. package/addons/ai/providers/functions/default.js +0 -14
  224. package/addons/ai/providers/item/functions/request.js +0 -62
  225. package/addons/ai/providers/items/nue.js +0 -98
  226. package/addons/ai/providers/load.js +0 -10
  227. package/addons/core/queue/index.js +0 -66
  228. package/addons/float/modals/front/css/modals.css +0 -26
  229. package/addons/float/modals/front/js/addon.js +0 -10
  230. package/addons/float/modals/front/js/item/catch/add.js +0 -48
  231. package/addons/float/modals/front/js/item/catch/remove.js +0 -9
  232. package/addons/float/overlays/front/css/overlays.css +0 -29
  233. package/addons/float/overlays/front/js/addon.js +0 -17
  234. package/addons/float/overlays/front/js/events/click.js +0 -27
  235. package/addons/float/overlays/front/js/events/escape.js +0 -18
  236. package/addons/float/overlays/front/js/functions/flip.js +0 -74
  237. package/addons/float/overlays/front/js/functions/index.js +0 -17
  238. package/addons/float/overlays/front/js/functions/position.js +0 -63
  239. package/addons/float/overlays/front/js/item/catch/add.js +0 -121
  240. package/addons/float/overlays/front/js/item/catch/remove.js +0 -16
  241. package/addons/float/popups/css/popups.css +0 -4
  242. package/addons/float/popups/js/addon.js +0 -18
  243. package/addons/float/popups/js/item/catch/add.js +0 -7
  244. package/addons/float/popups/js/item/catch/remove.js +0 -7
  245. package/addons/float/popups/js/item/catch/set.js +0 -73
  246. package/addons/float/popups/js/items/directives/popup.js +0 -54
  247. package/addons/float/toasts/addon.js +0 -17
  248. package/addons/float/toasts/item/catch/add.js +0 -7
  249. package/addons/float/toasts/item/catch/remove.js +0 -7
  250. package/addons/float/toasts/item/catch/set.js +0 -86
  251. package/addons/float/toasts/items/elements/toast/toast.css +0 -84
  252. package/addons/float/toasts/items/elements/toast/toast.js +0 -61
  253. package/addons/float/tooltips/addon.js +0 -15
  254. package/addons/float/tooltips/item/catch/add.js +0 -7
  255. package/addons/float/tooltips/item/catch/remove.js +0 -26
  256. package/addons/float/tooltips/item/catch/set.js +0 -65
  257. package/addons/float/tooltips/items/directives/tooltip.js +0 -74
  258. package/addons/float/tooltips/items/elements/tooltip.css +0 -64
  259. package/addons/float/tooltips/items/elements/tooltip.js +0 -42
  260. package/addons/render/directives/front/js/functions/process.js +0 -57
  261. package/addons/render/transforms/item/functions/run.js +0 -18
  262. package/docs/addons.md +0 -281
  263. package/docs/architecture.md +0 -238
  264. package/docs/commands.md +0 -308
  265. package/docs/database.md +0 -171
  266. package/docs/frontend.md +0 -396
  267. package/docs/servers.md +0 -187
  268. package/examples/basic-api/README.md +0 -34
  269. package/examples/basic-api/addons/tasks/addon.js +0 -10
  270. package/examples/basic-api/addons/tasks/items/commands/create.js +0 -22
  271. package/examples/basic-api/addons/tasks/items/commands/delete.js +0 -26
  272. package/examples/basic-api/addons/tasks/items/commands/list.js +0 -17
  273. package/examples/basic-api/addons/tasks/items/commands/toggle.js +0 -26
  274. package/examples/basic-api/addons/tasks/load.js +0 -8
  275. package/examples/basic-api/index.js +0 -15
  276. package/examples/basic-api/package.json +0 -7
  277. package/examples/basic-front/back/assets.js +0 -12
  278. package/examples/basic-front/back/index.js +0 -13
  279. package/examples/basic-front/back/items/commands/html.js +0 -14
  280. package/examples/basic-front/back/items/commands/test.js +0 -19
  281. package/examples/basic-front/back/items/html/fonts.js +0 -12
  282. package/examples/basic-front/front/pages/home.js +0 -16
  283. package/examples/basic-front/front/styles/main.css +0 -31
  284. package/examples/basic-front/front/test.js +0 -7
  285. package/examples/basic-front/package.json +0 -7
  286. package/lib/items/directives/500-blur.js +0 -46
  287. package/lib/items/directives/500-change.js +0 -53
  288. package/lib/items/directives/500-click-outside.js +0 -50
  289. package/lib/items/directives/500-click.js +0 -52
  290. package/lib/items/directives/500-double-click.js +0 -52
  291. package/lib/items/directives/500-focus.js +0 -46
  292. package/lib/items/directives/500-input.js +0 -46
  293. package/lib/items/directives/500-keydown.js +0 -53
  294. package/lib/items/directives/500-keyup.js +0 -53
  295. package/lib/items/directives/500-mouse-enter.js +0 -61
  296. package/lib/items/directives/500-mouse-leave.js +0 -61
  297. package/lib/items/directives/500-mouse-move.js +0 -45
  298. package/lib/items/directives/500-scroll.js +0 -45
  299. package/lib/items/directives/500-submit.js +0 -52
  300. package/lib/items/elements/ai/chat/chat.css +0 -710
  301. package/lib/items/elements/ai/chat/chat.js +0 -429
  302. package/lib/src/mixins/logger.js +0 -83
  303. package/lib/styles/queries.css +0 -6
  304. package/lists.md +0 -586
  305. package/orchestrator.md +0 -288
  306. /package/addons/modules/shortcuts/front/{#register/addon.js → addon.js} +0 -0
  307. /package/addons/render/directives/front/{js/functions → functions}/process/data.js +0 -0
  308. /package/{lib/items/directives → addons/render/directives/front/items/self}/100-if.js +0 -0
  309. /package/{lib/items/directives → addons/render/directives/front/items/self}/700-text.js +0 -0
  310. /package/{lib/items/directives → addons/render/directives/front/items/self}/750-html.js +0 -0
  311. /package/addons/render/elements/front/{#register/addon.js → addon.js} +0 -0
  312. /package/{lib/items/elements → addons/render/elements/front/items/self}/cards/pricing/pricing.css +0 -0
  313. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/button/button.css +0 -0
  314. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/checkbox/checkbox.css +0 -0
  315. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/date/date.css +0 -0
  316. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/field/field.css +0 -0
  317. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/field/field.js +0 -0
  318. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/input/input.css +0 -0
  319. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/radio/radio.css +0 -0
  320. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/rating/rating.css +0 -0
  321. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/section/section.css +0 -0
  322. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/section/section.js +0 -0
  323. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/select/select.css +0 -0
  324. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/slider/slider.css +0 -0
  325. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/tags/tags.css +0 -0
  326. /package/{lib/items/elements → addons/render/elements/front/items/self}/form/textarea/textarea.css +0 -0
  327. /package/{lib/items/elements → addons/render/elements/front/items/self}/global/code/code.css +0 -0
  328. /package/{lib/items/elements → addons/render/elements/front/items/self}/global/faq/faq.css +0 -0
  329. /package/{lib/items/elements → addons/render/elements/front/items/self}/global/heading/heading.css +0 -0
  330. /package/{lib/items/elements → addons/render/elements/front/items/self}/global/markdown/markdown.css +0 -0
  331. /package/{lib/items/elements → addons/render/elements/front/items/self}/global/menu/menu.css +0 -0
  332. /package/{lib/items/elements → addons/render/elements/front/items/self}/global/notice/notice.css +0 -0
  333. /package/{lib/items/elements → addons/render/elements/front/items/self}/global/notice/notice.js +0 -0
  334. /package/{lib/items/elements → addons/render/elements/front/items/self}/global/parameters/parameters.css +0 -0
  335. /package/{lib/items/elements → addons/render/elements/front/items/self}/global/parameters/parameters.js +0 -0
  336. /package/{lib/items/elements → addons/render/elements/front/items/self}/global/tags/tags.css +0 -0
  337. /package/{lib/items/elements → addons/render/elements/front/items/self}/navigation/navbar/navbar.css +0 -0
  338. /package/{lib/items/elements → addons/render/elements/front/items/self}/navigation/sidebar/sidebar.css +0 -0
  339. /package/{lib/items/elements → addons/render/elements/front/items/self}/navigation/tabs/tabs.css +0 -0
  340. /package/{lib/items/elements → addons/render/elements/front/items/self}/status/code/code.js +0 -0
  341. /package/{lib/items/elements → addons/render/elements/front/items/self}/status/loading/loading.js +0 -0
  342. /package/addons/render/transforms/{functions → js/functions}/data.js +0 -0
  343. /package/addons/render/transforms/{functions → js/functions}/run.js +0 -0
  344. /package/addons/render/transforms/{functions → js/functions}/runtime.js +0 -0
  345. /package/addons/render/transforms/{item → js/item}/functions/load.js +0 -0
  346. /package/addons/render/transforms/{items/directives → js/items/self}/transform.js +0 -0
@@ -1,119 +1,30 @@
1
- pages.Fn('change', function(target, parameters = {}, options = {})
1
+ pages.Fn('change', async function(id, path = null, parameters = {}, push = true, search = '')
2
2
  {
3
- this.resolve = null;
4
- this.page = null;
5
- this.id = null;
6
- this.parameters = parameters;
7
- this.options = options;
3
+ this.methods.route = (page) =>
4
+ {
5
+ const route = page.Get('route');
8
6
 
9
- this.methods.init = async (resolve) =>
10
- {
11
- this.resolve = resolve;
7
+ if(!Array.isArray(route))
8
+ {
9
+ return route;
10
+ }
12
11
 
13
- if(this.options.path)
14
- {
15
- this.methods.match();
16
- }
17
- else
18
- {
19
- this.page = this.ItemGet(target);
20
- this.id = target;
21
- }
12
+ return route.findLast(pattern => (pattern.match(/:(\w+)/g) || []).every(param => Object.keys(parameters).includes(param.slice(1)))) || route[0];
13
+ };
22
14
 
23
- if(!this.page)
24
- {
25
- // Try to find a 404 page
26
- const notFoundPage = Object.values(this.Items()).find(p => p.Get('404'));
15
+ const resolved = this.Fn('resolve', id, path, parameters);
27
16
 
28
- if(notFoundPage)
29
- {
30
- this.page = notFoundPage;
31
- this.id = notFoundPage.Get('id');
32
- }
33
- else
34
- {
35
- return this.methods.done(null, `Page "${target}" not found.`, 404);
36
- }
37
- }
17
+ if(!resolved)
18
+ {
19
+ return null;
20
+ }
38
21
 
39
- const route = this.page.Get('route');
40
- const url = this.methods.url(this.methods.route(route, this.parameters), this.parameters);
22
+ if(push !== false)
23
+ {
24
+ history.pushState(null, '', onetype.RouteBuild(this.methods.route(resolved.page), resolved.parameters) + search);
25
+ }
41
26
 
42
- if(this.options.push !== false)
43
- {
44
- history.pushState(null, '', url + (this.options.search || ''));
45
- }
27
+ const result = await this.Fn('open', resolved.id, resolved.parameters);
46
28
 
47
- const result = this.Fn('open', this.id, this.parameters);
48
-
49
- if(result === false)
50
- {
51
- return this.methods.done(null, 'Navigation prevented.', 403);
52
- }
53
-
54
- return this.methods.done({ id: this.id, parameters: this.parameters, url }, 'Page changed.', 200);
55
- };
56
-
57
- this.methods.match = () =>
58
- {
59
- const result = this.Fn('match', target);
60
-
61
- if(result)
62
- {
63
- this.page = result.page;
64
- this.id = result.page.Get('id');
65
- this.parameters = { ...result.parameters, ...this.parameters };
66
- }
67
- };
68
-
69
- this.methods.route = (route, parameters) =>
70
- {
71
- if(!Array.isArray(route))
72
- {
73
- return route;
74
- }
75
-
76
- const keys = Object.keys(parameters);
77
-
78
- for(let i = route.length - 1; i >= 0; i--)
79
- {
80
- const params = (route[i].match(/:(\w+)/g) || []).map(p => p.slice(1));
81
-
82
- if(params.length && params.every(p => keys.includes(p)))
83
- {
84
- return route[i];
85
- }
86
- }
87
-
88
- return route[0];
89
- };
90
-
91
- this.methods.url = (route, parameters) =>
92
- {
93
- let url = route;
94
-
95
- for(const key in parameters)
96
- {
97
- url = url.replace(`:${key}`, parameters[key]);
98
- }
99
-
100
- return url;
101
- };
102
-
103
- this.methods.done = (data, message, code) =>
104
- {
105
- this.resolve({ data, message, code });
106
- };
107
-
108
- return new Promise((resolve) =>
109
- {
110
- try
111
- {
112
- this.methods.init(resolve);
113
- }
114
- catch(error)
115
- {
116
- resolve({ data: null, message: error.message, code: 500 });
117
- }
118
- });
29
+ return result === false ? null : resolved.page;
119
30
  });
@@ -4,7 +4,6 @@ pages.Fn('match', function(path)
4
4
 
5
5
  for(const item of items)
6
6
  {
7
- // Skip 404 pages during normal matching
8
7
  if(item.Get('404'))
9
8
  {
10
9
  continue;
@@ -19,9 +18,9 @@ pages.Fn('match', function(path)
19
18
 
20
19
  const routes = Array.isArray(route) ? route : [route];
21
20
 
22
- for(const r of routes)
21
+ for(const part of routes)
23
22
  {
24
- const result = onetype.RouteMatch(r, path || onetype.RouteCurrent());
23
+ const result = onetype.RouteMatch(part, path || onetype.RouteCurrent());
25
24
 
26
25
  if(result.match)
27
26
  {
@@ -4,49 +4,17 @@ pages.Fn('open', async function(id, parameters = {})
4
4
 
5
5
  if(!page)
6
6
  {
7
- console.warn(`Page with id "${id}" not found`);
8
7
  return false;
9
8
  }
10
9
 
11
- const active = pages.StoreGet('active');
12
-
13
- if(page.Get('data'))
14
- {
15
- const data = {};
16
- let loaded = false;
17
-
18
- const promise = page.Get('data').call(page, parameters).then(result =>
19
- {
20
- Object.assign(data, result);
21
- loaded = true;
22
- });
23
-
24
- await Promise.race([promise, new Promise(resolve => setTimeout(resolve, 500))]);
10
+ const data = page.Get('data') ? await page.Get('data').call(page, parameters) : null;
25
11
 
26
- if(!loaded)
27
- {
28
- if(active && active.Fn('leave') === false)
29
- {
30
- return false;
31
- }
32
-
33
- await promise;
34
- }
35
- else
36
- {
37
- if(active && active.Fn('leave') === false)
38
- {
39
- return false;
40
- }
41
- }
42
-
43
- return await page.Fn('enter', parameters, data);
44
- }
12
+ const active = pages.StoreGet('active');
45
13
 
46
14
  if(active && active.Fn('leave') === false)
47
15
  {
48
16
  return false;
49
17
  }
50
18
 
51
- return await page.Fn('enter', parameters);
19
+ return await page.Fn('enter', parameters, data);
52
20
  });
@@ -0,0 +1,30 @@
1
+ pages.Fn('resolve', function(id, path = null, parameters = {})
2
+ {
3
+ if(path)
4
+ {
5
+ const match = this.Fn('match', path);
6
+
7
+ if(match)
8
+ {
9
+ return { page: match.page, id: match.page.Get('id'), parameters: { ...match.parameters, ...parameters } };
10
+ }
11
+ }
12
+ else if(id)
13
+ {
14
+ const page = this.ItemGet(id);
15
+
16
+ if(page)
17
+ {
18
+ return { page, id, parameters };
19
+ }
20
+ }
21
+
22
+ const page = Object.values(this.Items()).find(p => p.Get('404'));
23
+
24
+ if(page)
25
+ {
26
+ return { page, id: page.Get('id'), parameters };
27
+ }
28
+
29
+ return null;
30
+ });
@@ -1,24 +1,26 @@
1
1
  pages.ItemOn('add', (item) =>
2
2
  {
3
- const map = item.Get('areas');
3
+ const areas = item.Get('areas');
4
4
 
5
- if(map)
5
+ if(areas)
6
6
  {
7
- Object.keys(map).forEach(name =>
7
+ for(const [name, value] of Object.entries(areas))
8
8
  {
9
- const id = map[name];
10
-
11
- if(typeof id === 'function')
9
+ if(typeof value === 'function')
12
10
  {
13
- pages.RenderAdd(item.Get('id') + ':' + name, function(parameters)
11
+ pages.RenderAdd(item.Get('id') + ':' + name, function(context)
14
12
  {
13
+ const parameters = context?.parameters || {};
14
+ const data = context?.data || {};
15
+
15
16
  this.Define({
16
- parameters: ['object', {}]
17
+ parameters: ['object', {}],
18
+ data: ['object', {}],
17
19
  });
18
20
 
19
- return id.call(this, parameters);
21
+ return value.call(this, {parameters, data});
20
22
  });
21
23
  }
22
- });
24
+ }
23
25
  }
24
26
  });
@@ -1,17 +1,15 @@
1
1
  pages.ItemOn('removed', (item) =>
2
2
  {
3
- const map = item.Get('layouts');
3
+ const areas = item.Get('areas');
4
4
 
5
- if(map)
5
+ if(areas)
6
6
  {
7
- Object.keys(map).forEach(name =>
7
+ for(const [name, value] of Object.entries(areas))
8
8
  {
9
- const id = map[name];
10
-
11
- if(typeof id === 'function')
9
+ if(typeof value === 'function')
12
10
  {
13
11
  pages.RenderRemove(item.Get('id') + ':' + name);
14
12
  }
15
- });
13
+ }
16
14
  }
17
15
  });
@@ -1,38 +1,26 @@
1
- pages.Fn('item.enter', async function(item, parameters = {}, preloaded = null)
1
+ pages.Fn('item.enter', async function(item, parameters = {}, data = null)
2
2
  {
3
- const onEnter = item.Get('onEnter');
4
- const onBeforeEnter = item.Get('onBeforeEnter');
5
-
6
- const data = {};
7
-
8
- if(preloaded)
9
- {
10
- Object.assign(data, preloaded);
11
- }
12
- else if(item.Get('data'))
13
- {
14
- Object.assign(data, await item.Get('data').call(item, parameters));
15
- }
16
-
17
- if(onBeforeEnter && onBeforeEnter.call(item, parameters, data) === false)
3
+ if(item.Get('onBeforeEnter') && item.Get('onBeforeEnter').call(item, parameters, data) === false)
18
4
  {
19
5
  return false;
20
6
  }
21
7
 
22
8
  pages.StoreSet('active', item);
23
9
 
10
+ onetype.StateSet('page', {
11
+ id: item.Get('id'),
12
+ route: item.Get('route'),
13
+ meta: item.Get('meta'),
14
+ parameters,
15
+ data,
16
+ '404': item.Get('404')
17
+ });
18
+
24
19
  const title = item.Get('title');
25
20
 
26
21
  if(title)
27
22
  {
28
- if(typeof title === 'function')
29
- {
30
- document.title = title.call(item, parameters, data);
31
- }
32
- else
33
- {
34
- document.title = title;
35
- }
23
+ document.title = typeof title === 'function' ? title.call(item, parameters, data) : title;
36
24
  }
37
25
 
38
26
  const element = item.Fn('render', parameters, data);
@@ -40,10 +28,9 @@ pages.Fn('item.enter', async function(item, parameters = {}, preloaded = null)
40
28
 
41
29
  document.body.appendChild(element);
42
30
 
43
- if(onEnter)
44
- {
45
- onEnter.call(item, parameters, data);
46
- }
31
+ item.Get('onEnter') && item.Get('onEnter').call(item, parameters, data);
32
+
33
+ onetype.Emit('@pages.enter', { page: item, parameters, data });
47
34
 
48
35
  return true;
49
36
  });
@@ -1,19 +1,17 @@
1
1
  pages.Fn('item.leave', function(item)
2
2
  {
3
- const onLeave = item.Get('onLeave');
4
- const onBeforeLeave = item.Get('onBeforeLeave');
5
-
6
- if(onBeforeLeave && onBeforeLeave.call(item) === false)
3
+ if(item.Get('onBeforeLeave') && item.Get('onBeforeLeave').call(item) === false)
7
4
  {
8
5
  return false;
9
6
  }
10
7
 
11
8
  pages.StoreSet('active', null);
12
9
 
13
- if(onLeave)
14
- {
15
- onLeave.call(item);
16
- }
10
+ onetype.StateSet('page', null);
11
+
12
+ item.Get('onLeave') && item.Get('onLeave').call(item);
13
+
14
+ onetype.Emit('@pages.leave', { page: item });
17
15
 
18
16
  const element = item.Get('element');
19
17
 
@@ -0,0 +1,60 @@
1
+ onetype.AddonReady('commands', (commands) =>
2
+ {
3
+ commands.Item({
4
+ id: 'pages:change',
5
+ method: 'POST',
6
+ endpoint: '/api/pages/change',
7
+ exposed: true,
8
+ description: 'Navigate to an application page by ID or path',
9
+ in: {
10
+ id: {
11
+ type: 'string',
12
+ description: 'Page ID to navigate to'
13
+ },
14
+ path: {
15
+ type: 'string',
16
+ description: 'URL path to navigate to'
17
+ },
18
+ parameters: {
19
+ type: 'object',
20
+ value: {},
21
+ description: 'Route parameters'
22
+ },
23
+ push: {
24
+ type: 'boolean',
25
+ value: true,
26
+ description: 'Push to browser history'
27
+ }
28
+ },
29
+ out: {
30
+ page: {
31
+ type: 'object',
32
+ config: {
33
+ id: ['string'],
34
+ route: ['string|array'],
35
+ meta: ['object'],
36
+ '404': ['boolean']
37
+ }
38
+ }
39
+ },
40
+ callback: async function(properties, resolve)
41
+ {
42
+ if(!properties.id && !properties.path)
43
+ {
44
+ resolve({ page: null });
45
+ return;
46
+ }
47
+
48
+ const page = await pages.Fn('change', properties.id, properties.path, properties.parameters, properties.push);
49
+
50
+ resolve({
51
+ page: page ? {
52
+ id: page.Get('id'),
53
+ route: page.Get('route'),
54
+ meta: page.Get('meta'),
55
+ '404': page.Get('404')
56
+ } : null
57
+ });
58
+ }
59
+ });
60
+ });
@@ -0,0 +1,38 @@
1
+ onetype.AddonReady('commands', (commands) =>
2
+ {
3
+ commands.Item({
4
+ id: 'pages:list',
5
+ method: 'GET',
6
+ endpoint: '/api/pages/list',
7
+ exposed: true,
8
+ description: 'List all application pages with their routes and metadata',
9
+ out: {
10
+ pages: {
11
+ type: 'array',
12
+ each: {
13
+ type: 'object',
14
+ config: {
15
+ id: ['string'],
16
+ route: ['string|array'],
17
+ meta: ['object'],
18
+ '404': ['boolean']
19
+ }
20
+ }
21
+ }
22
+ },
23
+ callback: function(properties, resolve)
24
+ {
25
+ const items = Object.values(pages.Items());
26
+
27
+ resolve({
28
+ pages: items.map(item =>
29
+ ({
30
+ id: item.Get('id'),
31
+ route: item.Get('route'),
32
+ meta: item.Get('meta'),
33
+ '404': item.Get('404')
34
+ }))
35
+ });
36
+ }
37
+ });
38
+ });
@@ -25,7 +25,7 @@ onetype.AddonReady('directives', function()
25
25
 
26
26
  const change = () =>
27
27
  {
28
- pages.Fn('change', route, parameters, { path: true, push });
28
+ pages.Fn('change', null, route, parameters, push);
29
29
  };
30
30
 
31
31
  if(timeout > 0)
@@ -0,0 +1,4 @@
1
+ [ot]
2
+ {
3
+ opacity: 0;
4
+ }
@@ -7,7 +7,14 @@ const transforms = onetype.Addon('transforms', (addon) =>
7
7
  addon.Field('js', ['array', []]);
8
8
  addon.Field('css', ['array', []]);
9
9
  addon.Field('config', ['object', {}]);
10
+ addon.Field('metadata', ['object', {}]);
11
+ addon.Field('tags', ['array', []]);
10
12
  addon.Field('code', ['function']);
11
13
  addon.Field('destroy', ['function', null]);
14
+ addon.Field('visible', ['function', null]);
15
+ addon.Field('resize', ['function', null]);
16
+ addon.Field('scroll', ['function', null]);
17
+ addon.Field('hover', ['function', null]);
18
+ addon.Field('click', ['function', null]);
12
19
  addon.Field('structure', ['function', null]);
13
20
  });
@@ -0,0 +1,87 @@
1
+ transforms.Fn('item.run', function(item, node, data = null)
2
+ {
3
+ if(data === null)
4
+ {
5
+ data = transforms.Fn('data', item.Get('config'), node);
6
+ }
7
+
8
+ item.Fn('load').then(() =>
9
+ {
10
+ const context = {
11
+ scroll: { progress: 0, direction: 'down', speed: 0, top: 0, bottom: 0, visible: false },
12
+ hover: { active: false, x: 0, y: 0, offset: 0 },
13
+ click: { x: 0, y: 0 }
14
+ };
15
+
16
+ item.Get('code').call(context, data, node, item);
17
+
18
+ if(item.Get('visible'))
19
+ {
20
+ onetype.ObserverVisible(node, () =>
21
+ {
22
+ item.Get('visible').call(context, data, node, item);
23
+ });
24
+ }
25
+
26
+ if(item.Get('resize'))
27
+ {
28
+ onetype.ObserverResize(node, () =>
29
+ {
30
+ item.Get('resize').call(context, data, node, item);
31
+ });
32
+ }
33
+
34
+ if(item.Get('scroll'))
35
+ {
36
+ onetype.ObserverScroll(node, (scroll) =>
37
+ {
38
+ context.scroll = scroll;
39
+ item.Get('scroll').call(context, data, node, item);
40
+ });
41
+ }
42
+
43
+ if(item.Get('hover'))
44
+ {
45
+ onetype.ObserverHover(node, (hover) =>
46
+ {
47
+ context.hover = hover;
48
+ item.Get('hover').call(context, data, node, item);
49
+ }, context.hover.offset);
50
+ }
51
+
52
+ if(item.Get('click'))
53
+ {
54
+ onetype.ObserverClick(node, (click) =>
55
+ {
56
+ context.click = click;
57
+ item.Get('click').call(context, data, node, item);
58
+ });
59
+ }
60
+
61
+ const listener = onetype.EmitOn('@dom.remove', (removed) =>
62
+ {
63
+ if(removed !== node && document.contains(node))
64
+ {
65
+ return;
66
+ }
67
+
68
+ onetype.EmitOff('@dom.remove', listener);
69
+ onetype.ObserverUnvisible(node);
70
+ onetype.ObserverUnresize(node);
71
+ onetype.ObserverUnscroll(node);
72
+ onetype.ObserverUnhover(node);
73
+ onetype.ObserverUnclick(node);
74
+
75
+ if(item.Get('destroy'))
76
+ {
77
+ item.Get('destroy').call(context, data, node, item);
78
+ }
79
+ });
80
+
81
+ requestAnimationFrame(() =>
82
+ {
83
+ node.removeAttribute('ot');
84
+ node.removeAttribute('ot-init');
85
+ });
86
+ });
87
+ });
@@ -0,0 +1,23 @@
1
+ import onetype from '#framework/load.js';
2
+
3
+ const images = onetype.Addon('cloudflare.images', (addon) =>
4
+ {
5
+ addon.Table('cloudflare_images');
6
+
7
+ addon.Field('id', ['string']);
8
+ addon.Field('team_id', ['string', null, true]);
9
+ addon.Field('site_id', ['string', null, true]);
10
+ addon.Field('cloudflare_id', ['string', null, true]);
11
+ addon.Field('filename', ['string', null, true]);
12
+ addon.Field('url', ['string']);
13
+ addon.Field('variants', ['object', {}]);
14
+ addon.Field('alt', ['string']);
15
+ addon.Field('size', ['number']);
16
+ addon.Field('type', ['string']);
17
+ addon.Field('width', ['number']);
18
+ addon.Field('height', ['number']);
19
+ addon.Field('updated_at', ['string']);
20
+ addon.Field('created_at', ['string']);
21
+ });
22
+
23
+ export default images;
@@ -0,0 +1,22 @@
1
+ import images from '#cloudflare-images/addon.js';
2
+
3
+ images.Expose({
4
+ filter: ['team_id', 'site_id', 'type'],
5
+ sort: ['filename', 'created_at'],
6
+ select: [
7
+ 'id', 'team_id', 'site_id', 'cloudflare_id', 'filename', 'url', 'variants', 'alt', 'size', 'type', 'width', 'height', 'updated_at', 'created_at'
8
+ ],
9
+ callback: function(query)
10
+ {
11
+ const user = this.http.state.user;
12
+
13
+ if(user)
14
+ {
15
+ query.filter('team_id', user.team.id);
16
+ }
17
+ else
18
+ {
19
+ query.filter('id', null, 'NULL');
20
+ }
21
+ }
22
+ });