@botonic/plugin-flow-builder 0.22.0-alpha.2 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/lib/cjs/action.js +14 -12
  2. package/lib/cjs/action.js.map +1 -1
  3. package/lib/cjs/api.d.ts +19 -0
  4. package/lib/cjs/api.js +108 -0
  5. package/lib/cjs/api.js.map +1 -0
  6. package/lib/cjs/content-fields/content-fields-base.d.ts +4 -4
  7. package/lib/cjs/content-fields/content-fields-base.js.map +1 -1
  8. package/lib/cjs/content-fields/flow-button.d.ts +6 -3
  9. package/lib/cjs/content-fields/flow-button.js +28 -21
  10. package/lib/cjs/content-fields/flow-button.js.map +1 -1
  11. package/lib/cjs/content-fields/flow-carousel.d.ts +3 -2
  12. package/lib/cjs/content-fields/flow-carousel.js +3 -10
  13. package/lib/cjs/content-fields/flow-carousel.js.map +1 -1
  14. package/lib/cjs/content-fields/flow-element.d.ts +6 -3
  15. package/lib/cjs/content-fields/flow-element.js +16 -5
  16. package/lib/cjs/content-fields/flow-element.js.map +1 -1
  17. package/lib/cjs/content-fields/flow-image.d.ts +2 -2
  18. package/lib/cjs/content-fields/flow-image.js.map +1 -1
  19. package/lib/cjs/content-fields/flow-text.d.ts +4 -3
  20. package/lib/cjs/content-fields/flow-text.js +9 -9
  21. package/lib/cjs/content-fields/flow-text.js.map +1 -1
  22. package/lib/cjs/content-fields/flow-video.d.ts +2 -2
  23. package/lib/cjs/content-fields/flow-video.js +0 -1
  24. package/lib/cjs/content-fields/flow-video.js.map +1 -1
  25. package/lib/cjs/content-fields/hubtype-fields/button.d.ts +9 -0
  26. package/lib/cjs/content-fields/hubtype-fields/button.js +3 -0
  27. package/lib/cjs/content-fields/hubtype-fields/button.js.map +1 -0
  28. package/lib/cjs/content-fields/hubtype-fields/carousel.d.ts +16 -0
  29. package/lib/cjs/content-fields/hubtype-fields/carousel.js +3 -0
  30. package/lib/cjs/content-fields/hubtype-fields/carousel.js.map +1 -0
  31. package/lib/cjs/content-fields/hubtype-fields/common.d.ts +55 -0
  32. package/lib/cjs/content-fields/hubtype-fields/common.js +3 -0
  33. package/lib/cjs/content-fields/hubtype-fields/common.js.map +1 -0
  34. package/lib/cjs/content-fields/hubtype-fields/fallback.d.ts +9 -0
  35. package/lib/cjs/content-fields/hubtype-fields/fallback.js +3 -0
  36. package/lib/cjs/content-fields/hubtype-fields/fallback.js.map +1 -0
  37. package/lib/cjs/content-fields/hubtype-fields/function.d.ts +28 -0
  38. package/lib/cjs/content-fields/hubtype-fields/function.js +10 -0
  39. package/lib/cjs/content-fields/hubtype-fields/function.js.map +1 -0
  40. package/lib/cjs/content-fields/hubtype-fields/handoff.d.ts +10 -0
  41. package/lib/cjs/content-fields/hubtype-fields/handoff.js +3 -0
  42. package/lib/cjs/content-fields/hubtype-fields/handoff.js.map +1 -0
  43. package/lib/cjs/content-fields/hubtype-fields/image.d.ts +8 -0
  44. package/lib/cjs/content-fields/{types.js → hubtype-fields/image.js} +1 -1
  45. package/lib/cjs/content-fields/hubtype-fields/image.js.map +1 -0
  46. package/lib/cjs/content-fields/hubtype-fields/index.d.ts +17 -0
  47. package/lib/cjs/content-fields/hubtype-fields/index.js +21 -0
  48. package/lib/cjs/content-fields/hubtype-fields/index.js.map +1 -0
  49. package/lib/cjs/content-fields/hubtype-fields/intent.d.ts +10 -0
  50. package/lib/cjs/content-fields/hubtype-fields/intent.js +3 -0
  51. package/lib/cjs/content-fields/hubtype-fields/intent.js.map +1 -0
  52. package/lib/cjs/content-fields/hubtype-fields/keyword.d.ts +9 -0
  53. package/lib/cjs/content-fields/hubtype-fields/keyword.js +3 -0
  54. package/lib/cjs/content-fields/hubtype-fields/keyword.js.map +1 -0
  55. package/lib/cjs/content-fields/hubtype-fields/node-types.d.ts +23 -0
  56. package/lib/cjs/content-fields/hubtype-fields/node-types.js +31 -0
  57. package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +1 -0
  58. package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +16 -0
  59. package/lib/cjs/content-fields/hubtype-fields/nodes.js +3 -0
  60. package/lib/cjs/content-fields/hubtype-fields/nodes.js.map +1 -0
  61. package/lib/cjs/content-fields/hubtype-fields/payload.d.ts +8 -0
  62. package/lib/cjs/content-fields/hubtype-fields/payload.js +3 -0
  63. package/lib/cjs/content-fields/hubtype-fields/payload.js.map +1 -0
  64. package/lib/cjs/content-fields/hubtype-fields/start.d.ts +7 -0
  65. package/lib/cjs/content-fields/hubtype-fields/start.js +3 -0
  66. package/lib/cjs/content-fields/hubtype-fields/start.js.map +1 -0
  67. package/lib/cjs/content-fields/hubtype-fields/text.d.ts +11 -0
  68. package/lib/cjs/content-fields/hubtype-fields/text.js +3 -0
  69. package/lib/cjs/content-fields/hubtype-fields/text.js.map +1 -0
  70. package/lib/cjs/content-fields/hubtype-fields/url.d.ts +8 -0
  71. package/lib/cjs/content-fields/hubtype-fields/url.js +3 -0
  72. package/lib/cjs/content-fields/hubtype-fields/url.js.map +1 -0
  73. package/lib/cjs/content-fields/hubtype-fields/video.d.ts +8 -0
  74. package/lib/cjs/content-fields/hubtype-fields/video.js +3 -0
  75. package/lib/cjs/content-fields/hubtype-fields/video.js.map +1 -0
  76. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.d.ts +21 -0
  77. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js +3 -0
  78. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
  79. package/lib/cjs/content-fields/index.d.ts +7 -5
  80. package/lib/cjs/content-fields/index.js +11 -9
  81. package/lib/cjs/content-fields/index.js.map +1 -1
  82. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +10 -0
  83. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +32 -0
  84. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
  85. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +10 -0
  86. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +29 -0
  87. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
  88. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +12 -0
  89. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +33 -0
  90. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
  91. package/lib/cjs/functions/conditional-queue-status.js +1 -3
  92. package/lib/cjs/functions/conditional-queue-status.js.map +1 -1
  93. package/lib/cjs/handoff.d.ts +2 -2
  94. package/lib/cjs/handoff.js +13 -7
  95. package/lib/cjs/handoff.js.map +1 -1
  96. package/lib/cjs/helpers.d.ts +2 -1
  97. package/lib/cjs/helpers.js +5 -13
  98. package/lib/cjs/helpers.js.map +1 -1
  99. package/lib/cjs/index.d.ts +8 -21
  100. package/lib/cjs/index.js +34 -150
  101. package/lib/cjs/index.js.map +1 -1
  102. package/lib/cjs/types.d.ts +6 -2
  103. package/lib/cjs/types.js.map +1 -1
  104. package/lib/esm/action.js +14 -12
  105. package/lib/esm/action.js.map +1 -1
  106. package/lib/esm/api.d.ts +19 -0
  107. package/lib/esm/api.js +103 -0
  108. package/lib/esm/api.js.map +1 -0
  109. package/lib/esm/content-fields/content-fields-base.d.ts +4 -4
  110. package/lib/esm/content-fields/content-fields-base.js.map +1 -1
  111. package/lib/esm/content-fields/flow-button.d.ts +6 -3
  112. package/lib/esm/content-fields/flow-button.js +28 -21
  113. package/lib/esm/content-fields/flow-button.js.map +1 -1
  114. package/lib/esm/content-fields/flow-carousel.d.ts +3 -2
  115. package/lib/esm/content-fields/flow-carousel.js +4 -11
  116. package/lib/esm/content-fields/flow-carousel.js.map +1 -1
  117. package/lib/esm/content-fields/flow-element.d.ts +6 -3
  118. package/lib/esm/content-fields/flow-element.js +15 -5
  119. package/lib/esm/content-fields/flow-element.js.map +1 -1
  120. package/lib/esm/content-fields/flow-image.d.ts +2 -2
  121. package/lib/esm/content-fields/flow-image.js.map +1 -1
  122. package/lib/esm/content-fields/flow-text.d.ts +4 -3
  123. package/lib/esm/content-fields/flow-text.js +9 -9
  124. package/lib/esm/content-fields/flow-text.js.map +1 -1
  125. package/lib/esm/content-fields/flow-video.d.ts +2 -2
  126. package/lib/esm/content-fields/flow-video.js +0 -1
  127. package/lib/esm/content-fields/flow-video.js.map +1 -1
  128. package/lib/esm/content-fields/hubtype-fields/button.d.ts +9 -0
  129. package/lib/esm/content-fields/hubtype-fields/button.js +2 -0
  130. package/lib/esm/content-fields/hubtype-fields/button.js.map +1 -0
  131. package/lib/esm/content-fields/hubtype-fields/carousel.d.ts +16 -0
  132. package/lib/esm/content-fields/hubtype-fields/carousel.js +2 -0
  133. package/lib/esm/content-fields/hubtype-fields/carousel.js.map +1 -0
  134. package/lib/esm/content-fields/hubtype-fields/common.d.ts +55 -0
  135. package/lib/esm/content-fields/hubtype-fields/common.js +2 -0
  136. package/lib/esm/content-fields/hubtype-fields/common.js.map +1 -0
  137. package/lib/esm/content-fields/hubtype-fields/fallback.d.ts +9 -0
  138. package/lib/esm/content-fields/hubtype-fields/fallback.js +2 -0
  139. package/lib/esm/content-fields/hubtype-fields/fallback.js.map +1 -0
  140. package/lib/esm/content-fields/hubtype-fields/function.d.ts +28 -0
  141. package/lib/esm/content-fields/hubtype-fields/function.js +7 -0
  142. package/lib/esm/content-fields/hubtype-fields/function.js.map +1 -0
  143. package/lib/esm/content-fields/hubtype-fields/handoff.d.ts +10 -0
  144. package/lib/esm/content-fields/hubtype-fields/handoff.js +2 -0
  145. package/lib/esm/content-fields/hubtype-fields/handoff.js.map +1 -0
  146. package/lib/esm/content-fields/hubtype-fields/image.d.ts +8 -0
  147. package/lib/esm/content-fields/hubtype-fields/image.js +2 -0
  148. package/lib/esm/content-fields/hubtype-fields/image.js.map +1 -0
  149. package/lib/esm/content-fields/hubtype-fields/index.d.ts +17 -0
  150. package/lib/esm/content-fields/hubtype-fields/index.js +18 -0
  151. package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -0
  152. package/lib/esm/content-fields/hubtype-fields/intent.d.ts +10 -0
  153. package/lib/esm/content-fields/hubtype-fields/intent.js +2 -0
  154. package/lib/esm/content-fields/hubtype-fields/intent.js.map +1 -0
  155. package/lib/esm/content-fields/hubtype-fields/keyword.d.ts +9 -0
  156. package/lib/esm/content-fields/hubtype-fields/keyword.js +2 -0
  157. package/lib/esm/content-fields/hubtype-fields/keyword.js.map +1 -0
  158. package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +23 -0
  159. package/lib/esm/content-fields/hubtype-fields/node-types.js +28 -0
  160. package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -0
  161. package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +16 -0
  162. package/lib/esm/content-fields/hubtype-fields/nodes.js +2 -0
  163. package/lib/esm/content-fields/hubtype-fields/nodes.js.map +1 -0
  164. package/lib/esm/content-fields/hubtype-fields/payload.d.ts +8 -0
  165. package/lib/esm/content-fields/hubtype-fields/payload.js +2 -0
  166. package/lib/esm/content-fields/hubtype-fields/payload.js.map +1 -0
  167. package/lib/esm/content-fields/hubtype-fields/start.d.ts +7 -0
  168. package/lib/esm/content-fields/hubtype-fields/start.js +2 -0
  169. package/lib/esm/content-fields/hubtype-fields/start.js.map +1 -0
  170. package/lib/esm/content-fields/hubtype-fields/text.d.ts +11 -0
  171. package/lib/esm/content-fields/hubtype-fields/text.js +2 -0
  172. package/lib/esm/content-fields/hubtype-fields/text.js.map +1 -0
  173. package/lib/esm/content-fields/hubtype-fields/url.d.ts +8 -0
  174. package/lib/esm/content-fields/hubtype-fields/url.js +2 -0
  175. package/lib/esm/content-fields/hubtype-fields/url.js.map +1 -0
  176. package/lib/esm/content-fields/hubtype-fields/video.d.ts +8 -0
  177. package/lib/esm/content-fields/hubtype-fields/video.js +2 -0
  178. package/lib/esm/content-fields/hubtype-fields/video.js.map +1 -0
  179. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.d.ts +21 -0
  180. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +2 -0
  181. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
  182. package/lib/esm/content-fields/index.d.ts +7 -5
  183. package/lib/esm/content-fields/index.js +6 -4
  184. package/lib/esm/content-fields/index.js.map +1 -1
  185. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +10 -0
  186. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +28 -0
  187. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
  188. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +10 -0
  189. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +25 -0
  190. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
  191. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +12 -0
  192. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +28 -0
  193. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
  194. package/lib/esm/functions/conditional-queue-status.js +1 -3
  195. package/lib/esm/functions/conditional-queue-status.js.map +1 -1
  196. package/lib/esm/handoff.d.ts +2 -2
  197. package/lib/esm/handoff.js +13 -7
  198. package/lib/esm/handoff.js.map +1 -1
  199. package/lib/esm/helpers.d.ts +2 -1
  200. package/lib/esm/helpers.js +3 -11
  201. package/lib/esm/helpers.js.map +1 -1
  202. package/lib/esm/index.d.ts +8 -21
  203. package/lib/esm/index.js +36 -152
  204. package/lib/esm/index.js.map +1 -1
  205. package/lib/esm/types.d.ts +6 -2
  206. package/lib/esm/types.js.map +1 -1
  207. package/package.json +4 -5
  208. package/src/action.tsx +19 -12
  209. package/src/api.ts +162 -0
  210. package/src/content-fields/content-fields-base.ts +7 -7
  211. package/src/content-fields/flow-button.tsx +40 -19
  212. package/src/content-fields/flow-carousel.tsx +10 -18
  213. package/src/content-fields/flow-element.tsx +26 -9
  214. package/src/content-fields/flow-image.tsx +2 -2
  215. package/src/content-fields/flow-text.tsx +15 -12
  216. package/src/content-fields/flow-video.tsx +2 -3
  217. package/src/content-fields/hubtype-fields/button.ts +15 -0
  218. package/src/content-fields/hubtype-fields/carousel.ts +18 -0
  219. package/src/content-fields/hubtype-fields/common.ts +65 -0
  220. package/src/content-fields/hubtype-fields/fallback.ts +10 -0
  221. package/src/content-fields/hubtype-fields/function.ts +33 -0
  222. package/src/content-fields/hubtype-fields/handoff.ts +11 -0
  223. package/src/content-fields/hubtype-fields/image.ts +9 -0
  224. package/src/content-fields/hubtype-fields/index.ts +17 -0
  225. package/src/content-fields/hubtype-fields/intent.ts +11 -0
  226. package/src/content-fields/hubtype-fields/keyword.ts +10 -0
  227. package/src/content-fields/hubtype-fields/node-types.ts +26 -0
  228. package/src/content-fields/hubtype-fields/nodes.ts +32 -0
  229. package/src/content-fields/hubtype-fields/payload.ts +9 -0
  230. package/src/content-fields/hubtype-fields/start.ts +8 -0
  231. package/src/content-fields/hubtype-fields/text.ts +12 -0
  232. package/src/content-fields/hubtype-fields/url.ts +9 -0
  233. package/src/content-fields/hubtype-fields/video.ts +9 -0
  234. package/src/content-fields/hubtype-fields/whatsapp-button-list.ts +25 -0
  235. package/src/content-fields/index.ts +14 -5
  236. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.tsx +33 -0
  237. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx +35 -0
  238. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx +46 -0
  239. package/src/functions/conditional-queue-status.ts +1 -3
  240. package/src/handoff.ts +16 -10
  241. package/src/helpers.ts +8 -19
  242. package/src/index.ts +47 -196
  243. package/src/types.ts +8 -2
  244. package/lib/cjs/content-fields/types.d.ts +0 -5
  245. package/lib/cjs/content-fields/types.js.map +0 -1
  246. package/lib/cjs/flow-builder-models.d.ts +0 -197
  247. package/lib/cjs/flow-builder-models.js +0 -24
  248. package/lib/cjs/flow-builder-models.js.map +0 -1
  249. package/lib/esm/content-fields/types.d.ts +0 -5
  250. package/lib/esm/content-fields/types.js +0 -2
  251. package/lib/esm/content-fields/types.js.map +0 -1
  252. package/lib/esm/flow-builder-models.d.ts +0 -197
  253. package/lib/esm/flow-builder-models.js +0 -21
  254. package/lib/esm/flow-builder-models.js.map +0 -1
  255. package/src/content-fields/types.ts +0 -6
  256. package/src/flow-builder-models.ts +0 -249
package/lib/esm/api.js ADDED
@@ -0,0 +1,103 @@
1
+ import axios from 'axios/index';
2
+ import { HtNodeStartType, HtNodeWithContentType, } from './content-fields/hubtype-fields';
3
+ export class FlowBuilderApi {
4
+ constructor(options) {
5
+ this.url = options.url;
6
+ if (options.flow) {
7
+ this.flow = options.flow;
8
+ }
9
+ }
10
+ async init(token) {
11
+ const { data } = await axios.get(this.url, {
12
+ headers: { Authorization: `Bearer ${token}` },
13
+ });
14
+ this.flow = data;
15
+ }
16
+ getNode(id) {
17
+ const node = this.flow.nodes.find(node => node.id === id);
18
+ if (!node)
19
+ throw Error(`Node with id: '${id}' not found`);
20
+ return node;
21
+ }
22
+ getNodeByCode(code) {
23
+ const content = this.flow.nodes.find(node => 'code' in node ? node.code === code : false);
24
+ if (!content)
25
+ throw Error(`Node with code: '${code}' not found`);
26
+ return content;
27
+ }
28
+ getStartNode() {
29
+ const startUpNode = this.flow.nodes.find(node => node.type === HtNodeStartType.STARTUP);
30
+ if (!startUpNode)
31
+ throw new Error('Start-up id must be defined');
32
+ return this.getNode(startUpNode.target.id);
33
+ }
34
+ getFallbackNode(alternate) {
35
+ const fallbackNode = this.flow.nodes.find(node => node.type === HtNodeWithContentType.FALLBACK);
36
+ if (!fallbackNode) {
37
+ throw new Error('Fallback node must be defined');
38
+ }
39
+ const fallbackFirstMessage = fallbackNode.content.first_message;
40
+ if (!fallbackFirstMessage) {
41
+ throw new Error('Fallback 1st message must be defined');
42
+ }
43
+ const fallbackSecondMessage = fallbackNode.content.second_message;
44
+ if (!fallbackSecondMessage) {
45
+ return this.getNode(fallbackFirstMessage.id);
46
+ }
47
+ return alternate
48
+ ? this.getNode(fallbackFirstMessage.id)
49
+ : this.getNode(fallbackSecondMessage.id);
50
+ }
51
+ getNodeByIntent(input, locale) {
52
+ try {
53
+ const intents = this.flow.nodes.filter(node => node.type === HtNodeWithContentType.INTENT);
54
+ const inputIntent = input.intent;
55
+ const inputConfidence = input.confidence;
56
+ if (inputIntent) {
57
+ const matchedIntentNode = intents.find(node => inputIntent &&
58
+ this.hasIntent(node, inputIntent, locale) &&
59
+ inputConfidence &&
60
+ this.hasMetConfidenceThreshold(node, inputConfidence));
61
+ return ((matchedIntentNode === null || matchedIntentNode === void 0 ? void 0 : matchedIntentNode.target) &&
62
+ this.getNode(matchedIntentNode === null || matchedIntentNode === void 0 ? void 0 : matchedIntentNode.target.id));
63
+ }
64
+ }
65
+ catch (error) {
66
+ console.error(`Error getting node by intent '${input.intent}': `, error);
67
+ }
68
+ return undefined;
69
+ }
70
+ hasIntent(node, intent, locale) {
71
+ return node.content.intents.some(i => i.locale === locale && i.values.includes(intent));
72
+ }
73
+ hasMetConfidenceThreshold(node, predictedConfidence) {
74
+ const nodeConfidence = node.content.confidence / 100;
75
+ return predictedConfidence >= nodeConfidence;
76
+ }
77
+ getNodeByKeyword(userInput, locale) {
78
+ try {
79
+ const keywordNodes = this.flow.nodes.filter(node => node.type == HtNodeWithContentType.KEYWORD);
80
+ const matchedKeywordNodes = keywordNodes.filter(node => this.matchKeywords(node, userInput, locale));
81
+ if (matchedKeywordNodes.length > 0 && matchedKeywordNodes[0].target) {
82
+ return this.getNode(matchedKeywordNodes[0].target.id);
83
+ }
84
+ }
85
+ catch (error) {
86
+ console.error(`Error getting node by keyword '${userInput}': `, error);
87
+ }
88
+ return undefined;
89
+ }
90
+ matchKeywords(node, input, locale) {
91
+ const result = node.content.keywords.find(i => i.locale === locale && this.containsAnyKeywords(input, i.values));
92
+ return Boolean(result);
93
+ }
94
+ containsAnyKeywords(input, keywords) {
95
+ for (let i = 0; i < keywords.length; i++) {
96
+ if (input.includes(keywords[i])) {
97
+ return true;
98
+ }
99
+ }
100
+ return false;
101
+ }
102
+ }
103
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { MediaFileLocale, TextLocale, VideoLocale } from '../flow-builder-models';
1
+ import { HtMediaFileLocale, HtTextLocale, HtVideoLocale } from './hubtype-fields';
2
2
  export declare abstract class ContentFieldsBase {
3
3
  readonly id: string;
4
4
  constructor(id: string);
5
- static getTextByLocale(locale: string, text: TextLocale[]): string;
6
- static getImageByLocale(locale: string, image: MediaFileLocale[]): string;
7
- static getVideoByLocale(locale: string, video: VideoLocale[]): string;
5
+ static getTextByLocale(locale: string, text: HtTextLocale[]): string;
6
+ static getImageByLocale(locale: string, image: HtMediaFileLocale[]): string;
7
+ static getVideoByLocale(locale: string, video: HtVideoLocale[]): string;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"content-fields-base.js","sourceRoot":"","sources":["../../../src/content-fields/content-fields-base.ts"],"names":[],"mappings":"AAMA,MAAM,OAAgB,iBAAiB;IACrC,YAA4B,EAAU;QAAV,OAAE,GAAF,EAAE,CAAQ;IAAG,CAAC;IAE1C,MAAM,CAAC,eAAe,CAAC,MAAc,EAAE,IAAkB;;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QAClD,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,KAAwB;;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QACnD,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,EAAE,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,KAAoB;;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QACnD,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,EAAE,CAAA;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"content-fields-base.js","sourceRoot":"","sources":["../../../src/content-fields/content-fields-base.ts"],"names":[],"mappings":"AAMA,MAAM,OAAgB,iBAAiB;IACrC,YAA4B,EAAU;QAAV,OAAE,GAAF,EAAE,CAAQ;IAAG,CAAC;IAE1C,MAAM,CAAC,eAAe,CAAC,MAAc,EAAE,IAAoB;;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QAClD,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,KAA0B;;QAChE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QACnD,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,EAAE,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,KAAsB;;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QACnD,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,EAAE,CAAA;IAC1B,CAAC;CACF"}
@@ -1,10 +1,13 @@
1
1
  /// <reference types="react" />
2
- import { Button as FbButton, ButtonStyle } from '../flow-builder-models';
2
+ import { FlowBuilderApi } from '../api';
3
3
  import { ContentFieldsBase } from './content-fields-base';
4
+ import { HtButton, HtButtonStyle } from './hubtype-fields';
4
5
  export declare class FlowButton extends ContentFieldsBase {
5
6
  text: string;
6
7
  url?: string;
7
8
  payload?: string;
8
- static fromHubtypeCMS(component: FbButton, locale: string): FlowButton;
9
- renderButton(id: string, buttonStyle: ButtonStyle): JSX.Element;
9
+ static fromHubtypeCMS(cmsButton: HtButton, locale: string, cmsApi: FlowBuilderApi): FlowButton;
10
+ static getPayloadId(cmsButton: any, locale: any): string | undefined;
11
+ static getUrlId(cmsButton: any, locale: any): string | undefined;
12
+ renderButton(buttonStyle?: HtButtonStyle): JSX.Element;
10
13
  }
@@ -1,36 +1,43 @@
1
1
  import { Button, Reply } from '@botonic/react';
2
2
  import React from 'react';
3
- import { ButtonStyle } from '../flow-builder-models';
4
3
  import { ContentFieldsBase } from './content-fields-base';
4
+ import { HtButtonStyle, } from './hubtype-fields';
5
5
  export class FlowButton extends ContentFieldsBase {
6
6
  constructor() {
7
7
  super(...arguments);
8
8
  this.text = '';
9
9
  }
10
- static fromHubtypeCMS(component, locale) {
11
- var _a, _b;
12
- const newButton = new FlowButton(component.id);
13
- newButton.text = FlowButton.getTextByLocale(locale, component.text);
14
- newButton.payload = component.target
15
- ? component.target.id
16
- : (_b = (_a = component.payload) === null || _a === void 0 ? void 0 : _a.find(payload => payload.locale === locale)) === null || _b === void 0 ? void 0 : _b.id;
17
- if (component.url) {
18
- const urlButton = component.url.find(url => url.locale === locale);
19
- if (urlButton)
20
- newButton.url = urlButton.content.url;
10
+ static fromHubtypeCMS(cmsButton, locale, cmsApi) {
11
+ const payloadId = this.getPayloadId(cmsButton, locale);
12
+ const urlId = this.getUrlId(cmsButton, locale);
13
+ const newButton = new FlowButton(cmsButton.id);
14
+ newButton.text = this.getTextByLocale(locale, cmsButton.text);
15
+ if (cmsButton.target) {
16
+ newButton.payload = cmsButton.target.id;
17
+ }
18
+ if (cmsButton.payload && payloadId) {
19
+ const payloadNode = cmsApi.getNode(payloadId);
20
+ newButton.payload = payloadNode.content.payload;
21
+ }
22
+ if (cmsButton.url && urlId) {
23
+ const payloadNode = cmsApi.getNode(urlId);
24
+ newButton.url = payloadNode.content.url;
21
25
  }
22
26
  return newButton;
23
27
  }
24
- renderButton(id, buttonStyle) {
25
- if (buttonStyle === ButtonStyle.QUICK_REPLY) {
26
- return (React.createElement(Reply, { key: id, payload: this.payload }, this.text));
28
+ static getPayloadId(cmsButton, locale) {
29
+ var _a;
30
+ return (_a = cmsButton.payload.find(payload => payload.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
31
+ }
32
+ static getUrlId(cmsButton, locale) {
33
+ var _a;
34
+ return (_a = cmsButton.url.find(url => url.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
35
+ }
36
+ renderButton(buttonStyle) {
37
+ if (buttonStyle === HtButtonStyle.QUICK_REPLY) {
38
+ return (React.createElement(Reply, { key: this.id, payload: this.payload }, this.text));
27
39
  }
28
- let props = {};
29
- if (this.url)
30
- props = { url: this.url };
31
- return (
32
- // @ts-ignore
33
- React.createElement(Button, Object.assign({ key: id, payload: this.payload }, props), this.text));
40
+ return (React.createElement(Button, { key: this.id, payload: this.payload, url: this.url }, this.text));
34
41
  }
35
42
  }
36
43
  //# sourceMappingURL=flow-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAsB,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,OAAO,UAAW,SAAQ,iBAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;IAoClB,CAAC;IAhCC,MAAM,CAAC,cAAc,CAAC,SAAmB,EAAE,MAAc;;QACvD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC9C,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACnE,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM;YAClC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACrB,CAAC,CAAC,MAAA,MAAA,SAAS,CAAC,OAAO,0CAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,0CAAE,EAAE,CAAA;QACrE,IAAI,SAAS,CAAC,GAAG,EAAE;YACjB,MAAM,SAAS,GAAI,SAAS,CAAC,GAAW,CAAC,IAAI,CAC3C,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAC7B,CAAA;YACD,IAAI,SAAS;gBAAE,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAA;SACrD;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,WAAwB;QAC/C,IAAI,WAAW,KAAK,WAAW,CAAC,WAAW,EAAE;YAC3C,OAAO,CACL,oBAAC,KAAK,IAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAClC,IAAI,CAAC,IAAI,CACJ,CACT,CAAA;SACF;QACD,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,IAAI,CAAC,GAAG;YAAE,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAA;QACvC,OAAO;QACL,aAAa;QACb,oBAAC,MAAM,kBAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAM,KAAK,GAC9C,IAAI,CAAC,IAAI,CACH,CACV,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAEL,aAAa,GAGd,MAAM,kBAAkB,CAAA;AAEzB,MAAM,OAAO,UAAW,SAAQ,iBAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;IAmDlB,CAAC;IA/CC,MAAM,CAAC,cAAc,CACnB,SAAmB,EACnB,MAAc,EACd,MAAsB;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAE9C,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC9C,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QAC7D,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;SACxC;QACD,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,EAAE;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAkB,CAAA;YAC9D,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAA;SAChD;QACD,IAAI,SAAS,CAAC,GAAG,IAAI,KAAK,EAAE;YAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAc,CAAA;YACtD,SAAS,CAAC,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAA;SACxC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;;QACnC,OAAO,MAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,0CAAE,EAAE,CAAA;IACzE,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;;QAC/B,OAAO,MAAA,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,0CAAE,EAAE,CAAA;IAC7D,CAAC;IAED,YAAY,CAAC,WAA2B;QACtC,IAAI,WAAW,KAAK,aAAa,CAAC,WAAW,EAAE;YAC7C,OAAO,CACL,oBAAC,KAAK,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IACvC,IAAI,CAAC,IAAI,CACJ,CACT,CAAA;SACF;QACD,OAAO,CACL,oBAAC,MAAM,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IACvD,IAAI,CAAC,IAAI,CACH,CACV,CAAA;IACH,CAAC;CACF"}
@@ -1,10 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { CarouselNode } from '../flow-builder-models';
2
+ import { FlowBuilderApi } from '../api';
3
3
  import { ContentFieldsBase } from './content-fields-base';
4
4
  import { FlowElement } from './flow-element';
5
+ import { HtCarouselNode } from './hubtype-fields';
5
6
  export declare class FlowCarousel extends ContentFieldsBase {
6
7
  code: string;
7
8
  elements: FlowElement[];
8
- static fromHubtypeCMS(component: CarouselNode, locale: string): FlowCarousel;
9
+ static fromHubtypeCMS(component: HtCarouselNode, locale: string, cmsApi: FlowBuilderApi): FlowCarousel;
9
10
  toBotonic(id: string): JSX.Element;
10
11
  }
@@ -1,4 +1,4 @@
1
- import { Button, Carousel, Element, Pic, Subtitle, Title } from '@botonic/react';
1
+ import { Carousel } from '@botonic/react';
2
2
  import React from 'react';
3
3
  import { ContentFieldsBase } from './content-fields-base';
4
4
  import { FlowElement } from './flow-element';
@@ -8,21 +8,14 @@ export class FlowCarousel extends ContentFieldsBase {
8
8
  this.code = '';
9
9
  this.elements = [];
10
10
  }
11
- static fromHubtypeCMS(component, locale) {
11
+ static fromHubtypeCMS(component, locale, cmsApi) {
12
12
  const newCarousel = new FlowCarousel(component.id);
13
13
  newCarousel.code = component.code;
14
- newCarousel.elements = component.content.elements.map(element => FlowElement.fromHubtypeCMS(element, locale));
14
+ newCarousel.elements = component.content.elements.map(element => FlowElement.fromHubtypeCMS(element, locale, cmsApi));
15
15
  return newCarousel;
16
16
  }
17
17
  toBotonic(id) {
18
- return (React.createElement(Carousel, { key: id }, this.elements.map(element => {
19
- var _a, _b, _c;
20
- return (React.createElement(Element, { key: `${id}-${element.id}` },
21
- React.createElement(Pic, { src: element.image }),
22
- React.createElement(Title, { style: '' }, element.title),
23
- React.createElement(Subtitle, { style: '' }, element.subtitle),
24
- React.createElement(Button, { payload: (_a = element.buttons) === null || _a === void 0 ? void 0 : _a.payload, url: (_b = element.buttons) === null || _b === void 0 ? void 0 : _b.url }, (_c = element.buttons) === null || _c === void 0 ? void 0 : _c.text)));
25
- })));
18
+ return (React.createElement(Carousel, { key: id }, this.elements.map(element => element.toBotonic(id))));
26
19
  }
27
20
  }
28
21
  //# sourceMappingURL=flow-carousel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-carousel.js","sourceRoot":"","sources":["../../../src/content-fields/flow-carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAChF,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IAAnD;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,aAAQ,GAAkB,EAAE,CAAA;IA+BrC,CAAC;IA7BC,MAAM,CAAC,cAAc,CAAC,SAAuB,EAAE,MAAc;QAC3D,MAAM,WAAW,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAClD,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QACjC,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAC9D,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAC5C,CAAA;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,EAAE,IACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;;YAAC,OAAA,CAC5B,oBAAC,OAAO,IAAC,GAAG,EAAE,GAAG,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE;gBACjC,oBAAC,GAAG,IAAC,GAAG,EAAE,OAAO,CAAC,KAAK,GAAI;gBAC3B,oBAAC,KAAK,IAAC,KAAK,EAAC,EAAE,IAAE,OAAO,CAAC,KAAK,CAAS;gBACvC,oBAAC,QAAQ,IAAC,KAAK,EAAC,EAAE,IAAE,OAAO,CAAC,QAAQ,CAAY;gBAEhD,oBAAC,MAAM,IACL,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,OAAO,EACjC,GAAG,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,GAAG,IAExB,MAAA,OAAO,CAAC,OAAO,0CAAE,IAAI,CACf,CACD,CACX,CAAA;SAAA,CAAC,CACO,CACZ,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"flow-carousel.js","sourceRoot":"","sources":["../../../src/content-fields/flow-carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG5C,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IAAnD;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,aAAQ,GAAkB,EAAE,CAAA;IAsBrC,CAAC;IApBC,MAAM,CAAC,cAAc,CACnB,SAAyB,EACzB,MAAc,EACd,MAAsB;QAEtB,MAAM,WAAW,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAClD,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QACjC,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAC9D,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CACpD,CAAA;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,EAAE,IACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAC3C,CACZ,CAAA;IACH,CAAC;CACF"}
@@ -1,11 +1,14 @@
1
- import { CarouselElementNode } from '../flow-builder-models';
1
+ /// <reference types="react" />
2
+ import { FlowBuilderApi } from '../api';
2
3
  import { ContentFieldsBase } from './content-fields-base';
3
4
  import { FlowButton } from './flow-button';
5
+ import { HtCarouselElement } from './hubtype-fields';
4
6
  export declare class FlowElement extends ContentFieldsBase {
5
7
  title: string;
6
8
  subtitle: string;
7
- buttons: FlowButton | undefined;
9
+ button: FlowButton | undefined;
8
10
  image: string;
9
11
  hidden: boolean;
10
- static fromHubtypeCMS(component: CarouselElementNode, locale: string): FlowElement;
12
+ static fromHubtypeCMS(component: HtCarouselElement, locale: string, cmsApi: FlowBuilderApi): FlowElement;
13
+ toBotonic(parentId: string): JSX.Element;
11
14
  }
@@ -1,3 +1,5 @@
1
+ import { Element, Pic, Subtitle, Title } from '@botonic/react';
2
+ import React from 'react';
1
3
  import { ContentFieldsBase } from './content-fields-base';
2
4
  import { FlowButton } from './flow-button';
3
5
  export class FlowElement extends ContentFieldsBase {
@@ -8,13 +10,21 @@ export class FlowElement extends ContentFieldsBase {
8
10
  this.image = '';
9
11
  this.hidden = false;
10
12
  }
11
- static fromHubtypeCMS(component, locale) {
13
+ static fromHubtypeCMS(component, locale, cmsApi) {
12
14
  const newElement = new FlowElement(component.id);
13
- newElement.title = FlowElement.getTextByLocale(locale, component.title);
14
- newElement.subtitle = FlowElement.getTextByLocale(locale, component.subtitle);
15
- newElement.image = FlowElement.getImageByLocale(locale, component.image);
16
- newElement.buttons = FlowButton.fromHubtypeCMS(component.button, locale);
15
+ newElement.title = this.getTextByLocale(locale, component.title);
16
+ newElement.subtitle = this.getTextByLocale(locale, component.subtitle);
17
+ newElement.image = this.getImageByLocale(locale, component.image);
18
+ newElement.button = FlowButton.fromHubtypeCMS(component.button, locale, cmsApi);
17
19
  return newElement;
18
20
  }
21
+ toBotonic(parentId) {
22
+ var _a;
23
+ return (React.createElement(Element, { key: `${parentId}-${this.id}` },
24
+ React.createElement(Pic, { src: this.image }),
25
+ React.createElement(Title, null, this.title),
26
+ React.createElement(Subtitle, null, this.subtitle), (_a = this.button) === null || _a === void 0 ? void 0 :
27
+ _a.renderButton()));
28
+ }
19
29
  }
20
30
  //# sourceMappingURL=flow-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAAlD;;QACS,UAAK,GAAG,EAAE,CAAA;QACV,aAAQ,GAAG,EAAE,CAAA;QAEb,UAAK,GAAG,EAAE,CAAA;QACV,WAAM,GAAG,KAAK,CAAA;IAgBvB,CAAC;IAdC,MAAM,CAAC,cAAc,CACnB,SAA8B,EAC9B,MAAc;QAEd,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACvE,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,eAAe,CAC/C,MAAM,EACN,SAAS,CAAC,QAAQ,CACnB,CAAA;QACD,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACxE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACxE,OAAO,UAAU,CAAA;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAAlD;;QACS,UAAK,GAAG,EAAE,CAAA;QACV,aAAQ,GAAG,EAAE,CAAA;QAEb,UAAK,GAAG,EAAE,CAAA;QACV,WAAM,GAAG,KAAK,CAAA;IA6BvB,CAAC;IA3BC,MAAM,CAAC,cAAc,CACnB,SAA4B,EAC5B,MAAc,EACd,MAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QAChE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QACtE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACjE,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,cAAc,CAC3C,SAAS,CAAC,MAAM,EAChB,MAAM,EACN,MAAM,CACP,CAAA;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,SAAS,CAAC,QAAgB;;QACxB,OAAO,CACL,oBAAC,OAAO,IAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE;YACpC,oBAAC,GAAG,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,GAAI;YACxB,oBAAC,KAAK,QAAE,IAAI,CAAC,KAAK,CAAS;YAC3B,oBAAC,QAAQ,QAAE,IAAI,CAAC,QAAQ,CAAY,EACnC,MAAA,IAAI,CAAC,MAAM;eAAE,YAAY,EAAE,CACpB,CACX,CAAA;IACH,CAAC;CACF"}
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
- import { ImageNode } from '../flow-builder-models';
3
2
  import { ContentFieldsBase } from './content-fields-base';
3
+ import { HtImageNode } from './hubtype-fields';
4
4
  export declare class FlowImage extends ContentFieldsBase {
5
5
  src: string;
6
6
  code: string;
7
- static fromHubtypeCMS(component: ImageNode, locale: string): FlowImage;
7
+ static fromHubtypeCMS(component: HtImageNode, locale: string): FlowImage;
8
8
  toBotonic(id: string): JSX.Element;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flow-image.js","sourceRoot":"","sources":["../../../src/content-fields/flow-image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,OAAO,SAAU,SAAQ,iBAAiB;IAAhD;;QACS,QAAG,GAAG,EAAE,CAAA;QACR,SAAI,GAAG,EAAE,CAAA;IAYlB,CAAC;IAVC,MAAM,CAAC,cAAc,CAAC,SAAoB,EAAE,MAAc;QACxD,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC5C,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC9B,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrE,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,oBAAC,KAAK,IAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,CAAA;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"flow-image.js","sourceRoot":"","sources":["../../../src/content-fields/flow-image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,MAAM,OAAO,SAAU,SAAQ,iBAAiB;IAAhD;;QACS,QAAG,GAAG,EAAE,CAAA;QACR,SAAI,GAAG,EAAE,CAAA;IAYlB,CAAC;IAVC,MAAM,CAAC,cAAc,CAAC,SAAsB,EAAE,MAAc;QAC1D,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC5C,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC9B,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrE,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,oBAAC,KAAK,IAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,CAAA;IAC1C,CAAC;CACF"}
@@ -1,12 +1,13 @@
1
1
  /// <reference types="react" />
2
- import { ButtonStyle, TextNode } from '../flow-builder-models';
2
+ import { FlowBuilderApi } from '../api';
3
3
  import { ContentFieldsBase } from './content-fields-base';
4
4
  import { FlowButton } from './flow-button';
5
+ import { HtButtonStyle, HtTextNode } from './hubtype-fields';
5
6
  export declare class FlowText extends ContentFieldsBase {
6
7
  text: string;
7
8
  code: string;
8
9
  buttons: FlowButton[];
9
- buttonStyle: ButtonStyle;
10
- static fromHubtypeCMS(component: TextNode, locale: string): FlowText;
10
+ buttonStyle: HtButtonStyle;
11
+ static fromHubtypeCMS(cmsText: HtTextNode, locale: string, cmsApi: FlowBuilderApi): FlowText;
11
12
  toBotonic(id: string): JSX.Element;
12
13
  }
@@ -1,28 +1,28 @@
1
1
  import { Text } from '@botonic/react';
2
2
  import React from 'react';
3
- import { ButtonStyle } from '../flow-builder-models';
4
3
  import { ContentFieldsBase } from './content-fields-base';
5
4
  import { FlowButton } from './flow-button';
5
+ import { HtButtonStyle } from './hubtype-fields';
6
6
  export class FlowText extends ContentFieldsBase {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  this.text = '';
10
10
  this.code = '';
11
11
  this.buttons = [];
12
- this.buttonStyle = ButtonStyle.BUTTON;
12
+ this.buttonStyle = HtButtonStyle.BUTTON;
13
13
  }
14
- static fromHubtypeCMS(component, locale) {
15
- const newText = new FlowText(component.id);
16
- newText.code = component.code;
17
- newText.buttonStyle = component.content.buttons_style || ButtonStyle.BUTTON;
18
- newText.text = FlowText.getTextByLocale(locale, component.content.text);
19
- newText.buttons = component.content.buttons.map(button => FlowButton.fromHubtypeCMS(button, locale));
14
+ static fromHubtypeCMS(cmsText, locale, cmsApi) {
15
+ const newText = new FlowText(cmsText.id);
16
+ newText.code = cmsText.code;
17
+ newText.buttonStyle = cmsText.content.buttons_style || HtButtonStyle.BUTTON;
18
+ newText.text = this.getTextByLocale(locale, cmsText.content.text);
19
+ newText.buttons = cmsText.content.buttons.map(button => FlowButton.fromHubtypeCMS(button, locale, cmsApi));
20
20
  return newText;
21
21
  }
22
22
  toBotonic(id) {
23
23
  return (React.createElement(Text, { key: id },
24
24
  this.text,
25
- this.buttons.map(button => button.renderButton(button.id, this.buttonStyle))));
25
+ this.buttons.map(button => button.renderButton(this.buttonStyle))));
26
26
  }
27
27
  }
28
28
  //# sourceMappingURL=flow-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,WAAW,EAAY,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,OAAO,QAAS,SAAQ,iBAAiB;IAA/C;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,SAAI,GAAG,EAAE,CAAA;QACT,YAAO,GAAiB,EAAE,CAAA;QAC1B,gBAAW,GAAG,WAAW,CAAC,MAAM,CAAA;IAuBzC,CAAC;IArBC,MAAM,CAAC,cAAc,CAAC,SAAmB,EAAE,MAAc;QACvD,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC1C,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC7B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,IAAI,WAAW,CAAC,MAAM,CAAA;QAC3E,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACvE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACvD,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAC1C,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,oBAAC,IAAI,IAAC,GAAG,EAAE,EAAE;YACV,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACzB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CACjD,CACI,CACR,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAc,MAAM,kBAAkB,CAAA;AAE5D,MAAM,OAAO,QAAS,SAAQ,iBAAiB;IAA/C;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,SAAI,GAAG,EAAE,CAAA;QACT,YAAO,GAAiB,EAAE,CAAA;QAC1B,gBAAW,GAAG,aAAa,CAAC,MAAM,CAAA;IAyB3C,CAAC;IAvBC,MAAM,CAAC,cAAc,CACnB,OAAmB,EACnB,MAAc,EACd,MAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACxC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QAC3B,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,CAAA;QAC3E,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACjE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACrD,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAClD,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,oBAAC,IAAI,IAAC,GAAG,EAAE,EAAE;YACV,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAC7D,CACR,CAAA;IACH,CAAC;CACF"}
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
- import { VideoNode } from '../flow-builder-models';
3
2
  import { ContentFieldsBase } from './content-fields-base';
3
+ import { HtVideoNode } from './hubtype-fields';
4
4
  export declare class FlowVideo extends ContentFieldsBase {
5
5
  src: string;
6
6
  code: string;
7
- static fromHubtypeCMS(component: VideoNode, locale: string): FlowVideo;
7
+ static fromHubtypeCMS(component: HtVideoNode, locale: string): FlowVideo;
8
8
  toBotonic(id: string): JSX.Element;
9
9
  }
@@ -14,7 +14,6 @@ export class FlowVideo extends ContentFieldsBase {
14
14
  return newVideo;
15
15
  }
16
16
  toBotonic(id) {
17
- // @ts-ignore
18
17
  return React.createElement(Video, { key: id, src: this.src });
19
18
  }
20
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flow-video.js","sourceRoot":"","sources":["../../../src/content-fields/flow-video.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,OAAO,SAAU,SAAQ,iBAAiB;IAAhD;;QACS,QAAG,GAAG,EAAE,CAAA;QACR,SAAI,GAAG,EAAE,CAAA;IAalB,CAAC;IAXC,MAAM,CAAC,cAAc,CAAC,SAAoB,EAAE,MAAc;QACxD,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC5C,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC9B,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrE,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,aAAa;QACb,OAAO,oBAAC,KAAK,IAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,CAAA;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"flow-video.js","sourceRoot":"","sources":["../../../src/content-fields/flow-video.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,MAAM,OAAO,SAAU,SAAQ,iBAAiB;IAAhD;;QACS,QAAG,GAAG,EAAE,CAAA;QACR,SAAI,GAAG,EAAE,CAAA;IAYlB,CAAC;IAVC,MAAM,CAAC,cAAc,CAAC,SAAsB,EAAE,MAAc;QAC1D,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC5C,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC9B,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrE,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,oBAAC,KAAK,IAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,CAAA;IAC1C,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import { HtNodeLink, HtPayloadLocale, HtTextLocale, HtUrlLocale } from './common';
2
+ export interface HtButton {
3
+ id: string;
4
+ text: HtTextLocale[];
5
+ url: HtUrlLocale[];
6
+ payload: HtPayloadLocale[];
7
+ target?: HtNodeLink;
8
+ hidden: string[];
9
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../src/content-fields/hubtype-fields/button.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { HtButton } from './button';
2
+ import { HtBaseNode, HtMediaFileLocale, HtTextLocale } from './common';
3
+ import { HtNodeWithContentType } from './node-types';
4
+ export interface HtCarouselElement {
5
+ id: string;
6
+ title: HtTextLocale[];
7
+ subtitle: HtTextLocale[];
8
+ image: HtMediaFileLocale[];
9
+ button: HtButton;
10
+ }
11
+ export interface HtCarouselNode extends HtBaseNode {
12
+ type: HtNodeWithContentType.CAROUSEL;
13
+ content: {
14
+ elements: HtCarouselElement[];
15
+ };
16
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.js","sourceRoot":"","sources":["../../../../src/content-fields/hubtype-fields/carousel.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ import { HtNodeWithContentType, HtNodeWithoutContentType } from './node-types';
2
+ import { HtNodeComponent } from './nodes';
3
+ export interface HtFlowBuilderData {
4
+ version: string;
5
+ name: string;
6
+ locales: string[];
7
+ start_node_id?: string;
8
+ ai_model_id?: string;
9
+ nodes: HtNodeComponent[];
10
+ }
11
+ export interface HtNodeLink {
12
+ id: string;
13
+ type: HtNodeWithContentType | HtNodeWithoutContentType;
14
+ }
15
+ export interface HtBaseNode {
16
+ id: string;
17
+ code: string;
18
+ meta: {
19
+ x: number;
20
+ y: number;
21
+ };
22
+ follow_up?: HtNodeLink;
23
+ target?: HtNodeLink;
24
+ }
25
+ export interface HtTextLocale {
26
+ message: string;
27
+ locale: string;
28
+ }
29
+ export interface HtMediaFileLocale {
30
+ id: string;
31
+ file: string;
32
+ locale: string;
33
+ }
34
+ export interface HtVideoLocale {
35
+ url: string;
36
+ is_embedded: boolean;
37
+ locale: string;
38
+ }
39
+ export interface HtQueueLocale {
40
+ id: string;
41
+ name: string;
42
+ locale: string;
43
+ }
44
+ export interface HtInputLocale {
45
+ values: string[];
46
+ locale: string;
47
+ }
48
+ export interface HtUrlLocale {
49
+ id: string;
50
+ locale: string;
51
+ }
52
+ export interface HtPayloadLocale {
53
+ id: string;
54
+ locale: string;
55
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/content-fields/hubtype-fields/common.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { HtBaseNode, HtNodeLink } from './common';
2
+ import { HtNodeWithContentType } from './node-types';
3
+ export interface HtFallbackNode extends HtBaseNode {
4
+ type: HtNodeWithContentType.FALLBACK;
5
+ content: {
6
+ first_message?: HtNodeLink;
7
+ second_message?: HtNodeLink;
8
+ };
9
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../../src/content-fields/hubtype-fields/fallback.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import { HtBaseNode, HtNodeLink } from './common';
2
+ import { HtNodeWithContentType } from './node-types';
3
+ export declare enum HtArgumentType {
4
+ NUMBER = "number",
5
+ STRING = "string",
6
+ JSON = "json"
7
+ }
8
+ export interface HtFunctionArgument {
9
+ type: HtArgumentType;
10
+ name: string;
11
+ value: string;
12
+ }
13
+ export interface HtFunctionArgumentLocale {
14
+ locale: string;
15
+ values: HtFunctionArgument[];
16
+ }
17
+ export interface HtFunctionResult {
18
+ result: string;
19
+ target?: HtNodeLink;
20
+ }
21
+ export interface HtFunctionNode extends HtBaseNode {
22
+ type: HtNodeWithContentType.FUNCTION;
23
+ content: {
24
+ action: string;
25
+ arguments: HtFunctionArgumentLocale[];
26
+ result_mapping: HtFunctionResult[];
27
+ };
28
+ }