@nyaruka/temba-components 0.131.2 → 0.131.3

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 (223) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/demo/components/floating-tabs/example.html +400 -0
  3. package/demo/components/flow/index.html +1 -1
  4. package/demo/data/flows/sample-flow.json +41 -2
  5. package/demo/data/flows/voicemail.json +613 -0
  6. package/demo/index.html +6 -0
  7. package/dist/locales/es.js +5 -5
  8. package/dist/locales/es.js.map +1 -1
  9. package/dist/locales/fr.js +5 -5
  10. package/dist/locales/fr.js.map +1 -1
  11. package/dist/locales/locale-codes.js +11 -2
  12. package/dist/locales/locale-codes.js.map +1 -1
  13. package/dist/locales/pt.js +5 -5
  14. package/dist/locales/pt.js.map +1 -1
  15. package/dist/temba-components.js +1109 -535
  16. package/dist/temba-components.js.map +1 -1
  17. package/out-tsc/src/display/FloatingTab.js +167 -0
  18. package/out-tsc/src/display/FloatingTab.js.map +1 -0
  19. package/out-tsc/src/display/ProgressBar.js +22 -2
  20. package/out-tsc/src/display/ProgressBar.js.map +1 -1
  21. package/out-tsc/src/events.js.map +1 -1
  22. package/out-tsc/src/flow/CanvasNode.js +165 -31
  23. package/out-tsc/src/flow/CanvasNode.js.map +1 -1
  24. package/out-tsc/src/flow/Editor.js +857 -3
  25. package/out-tsc/src/flow/Editor.js.map +1 -1
  26. package/out-tsc/src/flow/NodeEditor.js +239 -19
  27. package/out-tsc/src/flow/NodeEditor.js.map +1 -1
  28. package/out-tsc/src/flow/NodeTypeSelector.js +44 -3
  29. package/out-tsc/src/flow/NodeTypeSelector.js.map +1 -1
  30. package/out-tsc/src/flow/StickyNote.js +12 -3
  31. package/out-tsc/src/flow/StickyNote.js.map +1 -1
  32. package/out-tsc/src/flow/actions/add_contact_groups.js +2 -1
  33. package/out-tsc/src/flow/actions/add_contact_groups.js.map +1 -1
  34. package/out-tsc/src/flow/actions/add_contact_urn.js +2 -1
  35. package/out-tsc/src/flow/actions/add_contact_urn.js.map +1 -1
  36. package/out-tsc/src/flow/actions/add_input_labels.js +2 -1
  37. package/out-tsc/src/flow/actions/add_input_labels.js.map +1 -1
  38. package/out-tsc/src/flow/actions/play_audio.js +2 -1
  39. package/out-tsc/src/flow/actions/play_audio.js.map +1 -1
  40. package/out-tsc/src/flow/actions/remove_contact_groups.js +2 -1
  41. package/out-tsc/src/flow/actions/remove_contact_groups.js.map +1 -1
  42. package/out-tsc/src/flow/actions/request_optin.js +1 -0
  43. package/out-tsc/src/flow/actions/request_optin.js.map +1 -1
  44. package/out-tsc/src/flow/actions/say_msg.js +2 -1
  45. package/out-tsc/src/flow/actions/say_msg.js.map +1 -1
  46. package/out-tsc/src/flow/actions/send_broadcast.js +2 -1
  47. package/out-tsc/src/flow/actions/send_broadcast.js.map +1 -1
  48. package/out-tsc/src/flow/actions/send_email.js +2 -1
  49. package/out-tsc/src/flow/actions/send_email.js.map +1 -1
  50. package/out-tsc/src/flow/actions/send_msg.js +93 -3
  51. package/out-tsc/src/flow/actions/send_msg.js.map +1 -1
  52. package/out-tsc/src/flow/actions/set_contact_channel.js +2 -1
  53. package/out-tsc/src/flow/actions/set_contact_channel.js.map +1 -1
  54. package/out-tsc/src/flow/actions/set_contact_field.js +2 -1
  55. package/out-tsc/src/flow/actions/set_contact_field.js.map +1 -1
  56. package/out-tsc/src/flow/actions/set_contact_language.js +2 -1
  57. package/out-tsc/src/flow/actions/set_contact_language.js.map +1 -1
  58. package/out-tsc/src/flow/actions/set_contact_name.js +2 -1
  59. package/out-tsc/src/flow/actions/set_contact_name.js.map +1 -1
  60. package/out-tsc/src/flow/actions/set_contact_status.js +2 -1
  61. package/out-tsc/src/flow/actions/set_contact_status.js.map +1 -1
  62. package/out-tsc/src/flow/actions/set_run_result.js +2 -1
  63. package/out-tsc/src/flow/actions/set_run_result.js.map +1 -1
  64. package/out-tsc/src/flow/actions/start_session.js +2 -1
  65. package/out-tsc/src/flow/actions/start_session.js.map +1 -1
  66. package/out-tsc/src/flow/config.js +2 -10
  67. package/out-tsc/src/flow/config.js.map +1 -1
  68. package/out-tsc/src/flow/nodes/shared.js +54 -0
  69. package/out-tsc/src/flow/nodes/shared.js.map +1 -1
  70. package/out-tsc/src/flow/nodes/split_by_airtime.js +9 -3
  71. package/out-tsc/src/flow/nodes/split_by_airtime.js.map +1 -1
  72. package/out-tsc/src/flow/nodes/split_by_contact_field.js +8 -3
  73. package/out-tsc/src/flow/nodes/split_by_contact_field.js.map +1 -1
  74. package/out-tsc/src/flow/nodes/split_by_expression.js +8 -3
  75. package/out-tsc/src/flow/nodes/split_by_expression.js.map +1 -1
  76. package/out-tsc/src/flow/nodes/split_by_groups.js +8 -3
  77. package/out-tsc/src/flow/nodes/split_by_groups.js.map +1 -1
  78. package/out-tsc/src/flow/nodes/split_by_intent.js +3 -2
  79. package/out-tsc/src/flow/nodes/split_by_intent.js.map +1 -1
  80. package/out-tsc/src/flow/nodes/split_by_llm.js +9 -2
  81. package/out-tsc/src/flow/nodes/split_by_llm.js.map +1 -1
  82. package/out-tsc/src/flow/nodes/split_by_llm_categorize.js +9 -2
  83. package/out-tsc/src/flow/nodes/split_by_llm_categorize.js.map +1 -1
  84. package/out-tsc/src/flow/nodes/split_by_random.js +8 -2
  85. package/out-tsc/src/flow/nodes/split_by_random.js.map +1 -1
  86. package/out-tsc/src/flow/nodes/split_by_resthook.js +8 -3
  87. package/out-tsc/src/flow/nodes/split_by_resthook.js.map +1 -1
  88. package/out-tsc/src/flow/nodes/split_by_run_result.js +8 -3
  89. package/out-tsc/src/flow/nodes/split_by_run_result.js.map +1 -1
  90. package/out-tsc/src/flow/nodes/split_by_scheme.js +8 -3
  91. package/out-tsc/src/flow/nodes/split_by_scheme.js.map +1 -1
  92. package/out-tsc/src/flow/nodes/split_by_subflow.js +8 -2
  93. package/out-tsc/src/flow/nodes/split_by_subflow.js.map +1 -1
  94. package/out-tsc/src/flow/nodes/split_by_ticket.js +8 -2
  95. package/out-tsc/src/flow/nodes/split_by_ticket.js.map +1 -1
  96. package/out-tsc/src/flow/nodes/split_by_webhook.js +8 -2
  97. package/out-tsc/src/flow/nodes/split_by_webhook.js.map +1 -1
  98. package/out-tsc/src/flow/nodes/wait_for_digits.js +3 -2
  99. package/out-tsc/src/flow/nodes/wait_for_digits.js.map +1 -1
  100. package/out-tsc/src/flow/nodes/wait_for_menu.js +3 -2
  101. package/out-tsc/src/flow/nodes/wait_for_menu.js.map +1 -1
  102. package/out-tsc/src/flow/nodes/wait_for_response.js +8 -3
  103. package/out-tsc/src/flow/nodes/wait_for_response.js.map +1 -1
  104. package/out-tsc/src/flow/types.js +15 -0
  105. package/out-tsc/src/flow/types.js.map +1 -1
  106. package/out-tsc/src/layout/FloatingWindow.js +346 -0
  107. package/out-tsc/src/layout/FloatingWindow.js.map +1 -0
  108. package/out-tsc/src/live/ContactChat.js +3 -19
  109. package/out-tsc/src/live/ContactChat.js.map +1 -1
  110. package/out-tsc/src/locales/es.js +5 -5
  111. package/out-tsc/src/locales/es.js.map +1 -1
  112. package/out-tsc/src/locales/fr.js +5 -5
  113. package/out-tsc/src/locales/fr.js.map +1 -1
  114. package/out-tsc/src/locales/locale-codes.js +11 -2
  115. package/out-tsc/src/locales/locale-codes.js.map +1 -1
  116. package/out-tsc/src/locales/pt.js +5 -5
  117. package/out-tsc/src/locales/pt.js.map +1 -1
  118. package/out-tsc/src/store/AppState.js +67 -0
  119. package/out-tsc/src/store/AppState.js.map +1 -1
  120. package/out-tsc/temba-modules.js +4 -0
  121. package/out-tsc/temba-modules.js.map +1 -1
  122. package/out-tsc/test/temba-floating-tab.test.js +91 -0
  123. package/out-tsc/test/temba-floating-tab.test.js.map +1 -0
  124. package/out-tsc/test/temba-floating-window.test.js +301 -0
  125. package/out-tsc/test/temba-floating-window.test.js.map +1 -0
  126. package/out-tsc/test/temba-flow-editor-node.test.js +117 -0
  127. package/out-tsc/test/temba-flow-editor-node.test.js.map +1 -1
  128. package/out-tsc/test/temba-localization.test.js +471 -0
  129. package/out-tsc/test/temba-localization.test.js.map +1 -0
  130. package/out-tsc/test/temba-node-type-selector.test.js +150 -0
  131. package/out-tsc/test/temba-node-type-selector.test.js.map +1 -1
  132. package/out-tsc/test/utils.test.js +18 -0
  133. package/out-tsc/test/utils.test.js.map +1 -1
  134. package/package.json +1 -1
  135. package/screenshots/truth/floating-tab/default.png +0 -0
  136. package/screenshots/truth/floating-tab/gray.png +0 -0
  137. package/screenshots/truth/floating-tab/green.png +0 -0
  138. package/screenshots/truth/floating-tab/hidden.png +0 -0
  139. package/screenshots/truth/floating-tab/hover.png +0 -0
  140. package/screenshots/truth/floating-tab/purple.png +0 -0
  141. package/screenshots/truth/floating-window/chromeless.png +0 -0
  142. package/screenshots/truth/floating-window/custom-size.png +0 -0
  143. package/screenshots/truth/floating-window/default.png +0 -0
  144. package/screenshots/truth/floating-window/with-header.png +0 -0
  145. package/screenshots/truth/node-type-selector/action-mode.png +0 -0
  146. package/screenshots/truth/node-type-selector/split-mode.png +0 -0
  147. package/screenshots/truth/nodes/split_by_llm_categorize/editor/feedback-categorization.png +0 -0
  148. package/src/display/FloatingTab.ts +174 -0
  149. package/src/display/ProgressBar.ts +22 -2
  150. package/src/events.ts +2 -4
  151. package/src/flow/CanvasNode.ts +190 -32
  152. package/src/flow/Editor.ts +1040 -3
  153. package/src/flow/NodeEditor.ts +317 -19
  154. package/src/flow/NodeTypeSelector.ts +47 -3
  155. package/src/flow/StickyNote.ts +12 -3
  156. package/src/flow/actions/add_contact_groups.ts +2 -1
  157. package/src/flow/actions/add_contact_urn.ts +3 -1
  158. package/src/flow/actions/add_input_labels.ts +2 -1
  159. package/src/flow/actions/play_audio.ts +2 -1
  160. package/src/flow/actions/remove_contact_groups.ts +3 -1
  161. package/src/flow/actions/request_optin.ts +1 -0
  162. package/src/flow/actions/say_msg.ts +2 -1
  163. package/src/flow/actions/send_broadcast.ts +2 -1
  164. package/src/flow/actions/send_email.ts +3 -1
  165. package/src/flow/actions/send_msg.ts +134 -3
  166. package/src/flow/actions/set_contact_channel.ts +2 -1
  167. package/src/flow/actions/set_contact_field.ts +2 -1
  168. package/src/flow/actions/set_contact_language.ts +3 -1
  169. package/src/flow/actions/set_contact_name.ts +2 -1
  170. package/src/flow/actions/set_contact_status.ts +2 -1
  171. package/src/flow/actions/set_run_result.ts +2 -1
  172. package/src/flow/actions/start_session.ts +3 -1
  173. package/src/flow/config.ts +2 -12
  174. package/src/flow/nodes/shared.ts +70 -1
  175. package/src/flow/nodes/split_by_airtime.ts +20 -3
  176. package/src/flow/nodes/split_by_contact_field.ts +13 -3
  177. package/src/flow/nodes/split_by_expression.ts +13 -3
  178. package/src/flow/nodes/split_by_groups.ts +13 -3
  179. package/src/flow/nodes/split_by_intent.ts +3 -2
  180. package/src/flow/nodes/split_by_llm.ts +19 -2
  181. package/src/flow/nodes/split_by_llm_categorize.ts +19 -2
  182. package/src/flow/nodes/split_by_random.ts +12 -2
  183. package/src/flow/nodes/split_by_resthook.ts +13 -3
  184. package/src/flow/nodes/split_by_run_result.ts +13 -3
  185. package/src/flow/nodes/split_by_scheme.ts +13 -3
  186. package/src/flow/nodes/split_by_subflow.ts +12 -2
  187. package/src/flow/nodes/split_by_ticket.ts +12 -2
  188. package/src/flow/nodes/split_by_webhook.ts +12 -2
  189. package/src/flow/nodes/wait_for_digits.ts +3 -2
  190. package/src/flow/nodes/wait_for_menu.ts +3 -2
  191. package/src/flow/nodes/wait_for_response.ts +13 -3
  192. package/src/flow/types.ts +47 -0
  193. package/src/layout/FloatingWindow.ts +386 -0
  194. package/src/live/ContactChat.ts +4 -19
  195. package/src/locales/es.ts +18 -13
  196. package/src/locales/fr.ts +18 -13
  197. package/src/locales/locale-codes.ts +11 -2
  198. package/src/locales/pt.ts +18 -13
  199. package/src/store/AppState.ts +104 -0
  200. package/static/api/llms.json +18 -0
  201. package/temba-modules.ts +4 -0
  202. package/test/temba-floating-tab.test.ts +110 -0
  203. package/test/temba-floating-window.test.ts +477 -0
  204. package/test/temba-flow-editor-node.test.ts +144 -0
  205. package/test/temba-localization.test.ts +611 -0
  206. package/test/temba-node-type-selector.test.ts +203 -0
  207. package/test/utils.test.ts +20 -0
  208. package/test-assets/contacts/history.json +5 -6
  209. package/test-assets/select/llms.json +2 -2
  210. package/web-dev-server.config.mjs +47 -1
  211. package/web-test-runner.config.mjs +0 -1
  212. package/out-tsc/src/flow/nodes/wait_for_audio.js +0 -7
  213. package/out-tsc/src/flow/nodes/wait_for_audio.js.map +0 -1
  214. package/out-tsc/src/flow/nodes/wait_for_image.js +0 -7
  215. package/out-tsc/src/flow/nodes/wait_for_image.js.map +0 -1
  216. package/out-tsc/src/flow/nodes/wait_for_location.js +0 -7
  217. package/out-tsc/src/flow/nodes/wait_for_location.js.map +0 -1
  218. package/out-tsc/src/flow/nodes/wait_for_video.js +0 -7
  219. package/out-tsc/src/flow/nodes/wait_for_video.js.map +0 -1
  220. package/src/flow/nodes/wait_for_audio.ts +0 -7
  221. package/src/flow/nodes/wait_for_image.ts +0 -7
  222. package/src/flow/nodes/wait_for_location.ts +0 -7
  223. package/src/flow/nodes/wait_for_video.ts +0 -7
@@ -0,0 +1,613 @@
1
+ {
2
+ "definition": {
3
+ "name": "Voicemail",
4
+ "uuid": "b18355ca-9a7a-4cf9-944e-bb9d025d3ff0",
5
+ "spec_version": "14.3.0",
6
+ "language": "eng",
7
+ "type": "voice",
8
+ "nodes": [
9
+ {
10
+ "uuid": "47b02aca-3a16-43e6-8e95-45b482bd932b",
11
+ "actions": [
12
+ {
13
+ "text": "Thanks for calling. If you know the extension for the party you are trying to reach, press one. Otherwise, press two.",
14
+ "audio_url": "https://minio.dev/temba-default/orgs/1/media/20af/20afa0c5-a003-4e85-81e7-26a4a78f6684/baby.mp3",
15
+ "type": "say_msg",
16
+ "uuid": "988daea2-6c57-45ae-8b02-fbc888b9ba21"
17
+ }
18
+ ],
19
+ "exits": [
20
+ {
21
+ "uuid": "d2bffcb8-5c4b-41a3-843d-675cdcf5f6a6",
22
+ "destination_uuid": "bb1d58bb-6098-46f5-9d51-a9b3c80fb83d"
23
+ }
24
+ ]
25
+ },
26
+ {
27
+ "uuid": "709d745e-2aaf-41d9-bddd-1b1ab65641a3",
28
+ "actions": [],
29
+ "router": {
30
+ "type": "switch",
31
+ "wait": {
32
+ "type": "dial",
33
+ "phone": "123456789",
34
+ "dial_limit_seconds": 60,
35
+ "call_limit_seconds": 7200
36
+ },
37
+ "default_category_uuid": "48b88a78-51c7-467f-a702-8436dabbb635",
38
+ "categories": [
39
+ {
40
+ "uuid": "803b110b-7956-4ae0-9537-5ee7a4e9b2f5",
41
+ "name": "Answered",
42
+ "exit_uuid": "4a511b19-6e24-4000-bce3-782b16720e7b"
43
+ },
44
+ {
45
+ "uuid": "62b39f90-4f67-4175-8cd3-646451b32325",
46
+ "name": "No Answer",
47
+ "exit_uuid": "b5376458-52d6-4ea2-a3e3-17af247e5862"
48
+ },
49
+ {
50
+ "uuid": "8a4080e9-9389-4ab7-a555-24f53bce7143",
51
+ "name": "Busy",
52
+ "exit_uuid": "3ce340db-8e7b-476b-9fc6-e8c0d0ac35c4"
53
+ },
54
+ {
55
+ "uuid": "48b88a78-51c7-467f-a702-8436dabbb635",
56
+ "name": "Failed",
57
+ "exit_uuid": "5e1f4d99-34ee-4f11-acef-3a2af959571a"
58
+ }
59
+ ],
60
+ "cases": [
61
+ {
62
+ "uuid": "24c9b2f2-4afa-4e21-87fe-4f8d2f473e04",
63
+ "type": "has_only_text",
64
+ "arguments": ["answered"],
65
+ "category_uuid": "803b110b-7956-4ae0-9537-5ee7a4e9b2f5"
66
+ },
67
+ {
68
+ "uuid": "00acddd4-1360-4a0f-92d2-f42ad13ce4df",
69
+ "type": "has_only_text",
70
+ "arguments": ["no_answer"],
71
+ "category_uuid": "62b39f90-4f67-4175-8cd3-646451b32325"
72
+ },
73
+ {
74
+ "uuid": "23443e57-2f9a-4612-a44f-8c4385b8c313",
75
+ "type": "has_only_text",
76
+ "arguments": ["busy"],
77
+ "category_uuid": "8a4080e9-9389-4ab7-a555-24f53bce7143"
78
+ }
79
+ ],
80
+ "operand": "@(default(resume.dial.status, \"\"))"
81
+ },
82
+ "exits": [
83
+ {
84
+ "uuid": "4a511b19-6e24-4000-bce3-782b16720e7b",
85
+ "destination_uuid": "79d8f3f6-6513-42ed-8208-dd52e19e0a2a"
86
+ },
87
+ {
88
+ "uuid": "b5376458-52d6-4ea2-a3e3-17af247e5862",
89
+ "destination_uuid": "4c373efc-b440-4c50-b8aa-3c98f37b731c"
90
+ },
91
+ {
92
+ "uuid": "3ce340db-8e7b-476b-9fc6-e8c0d0ac35c4",
93
+ "destination_uuid": "4c373efc-b440-4c50-b8aa-3c98f37b731c"
94
+ },
95
+ {
96
+ "uuid": "5e1f4d99-34ee-4f11-acef-3a2af959571a",
97
+ "destination_uuid": "4c373efc-b440-4c50-b8aa-3c98f37b731c"
98
+ }
99
+ ]
100
+ },
101
+ {
102
+ "uuid": "bb1d58bb-6098-46f5-9d51-a9b3c80fb83d",
103
+ "actions": [],
104
+ "router": {
105
+ "type": "switch",
106
+ "operand": "@input.text",
107
+ "default_category_uuid": "1edb7488-6eff-4ab0-ae9b-b8ca632ba0c9",
108
+ "cases": [
109
+ {
110
+ "uuid": "b0e6c14f-6d76-419b-99d5-4db92c0c4648",
111
+ "arguments": ["1"],
112
+ "type": "has_number_eq",
113
+ "category_uuid": "6dd2fa30-989b-450b-a52d-c74dd5e4f302"
114
+ },
115
+ {
116
+ "uuid": "3f6d2394-3d0d-47eb-8dc0-d58cb1cad08c",
117
+ "arguments": ["2"],
118
+ "type": "has_number_eq",
119
+ "category_uuid": "b83f1f46-83b4-4691-a344-d839e81c2eae"
120
+ }
121
+ ],
122
+ "categories": [
123
+ {
124
+ "uuid": "6dd2fa30-989b-450b-a52d-c74dd5e4f302",
125
+ "name": "Extension",
126
+ "exit_uuid": "055710b2-3506-41bc-9e5e-6aa1d7c21bca"
127
+ },
128
+ {
129
+ "uuid": "b83f1f46-83b4-4691-a344-d839e81c2eae",
130
+ "name": "Operator",
131
+ "exit_uuid": "01b95cbc-7493-4ca3-b8b1-8757311bb890"
132
+ },
133
+ {
134
+ "uuid": "1edb7488-6eff-4ab0-ae9b-b8ca632ba0c9",
135
+ "name": "Other",
136
+ "exit_uuid": "c3dfe1e3-8db8-41b2-acd9-e42752a64629"
137
+ }
138
+ ],
139
+ "wait": {
140
+ "type": "msg",
141
+ "hint": {
142
+ "type": "digits",
143
+ "count": 1
144
+ }
145
+ },
146
+ "result_name": "Branch"
147
+ },
148
+ "exits": [
149
+ {
150
+ "uuid": "055710b2-3506-41bc-9e5e-6aa1d7c21bca",
151
+ "destination_uuid": "002d5fa0-6b1f-49c4-9f8c-43a9c89ca5bf"
152
+ },
153
+ {
154
+ "uuid": "01b95cbc-7493-4ca3-b8b1-8757311bb890"
155
+ },
156
+ {
157
+ "uuid": "c3dfe1e3-8db8-41b2-acd9-e42752a64629",
158
+ "destination_uuid": "709d745e-2aaf-41d9-bddd-1b1ab65641a3"
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "uuid": "4c373efc-b440-4c50-b8aa-3c98f37b731c",
164
+ "actions": [
165
+ {
166
+ "text": "Sorry, didn't work out.",
167
+ "type": "say_msg",
168
+ "uuid": "afa47f08-762c-4d55-82ff-78f61b1f0f91"
169
+ }
170
+ ],
171
+ "exits": [
172
+ {
173
+ "uuid": "5c727bf0-8b5d-4513-af93-87824b9ddd9b",
174
+ "destination_uuid": null
175
+ }
176
+ ]
177
+ },
178
+ {
179
+ "uuid": "79d8f3f6-6513-42ed-8208-dd52e19e0a2a",
180
+ "actions": [
181
+ {
182
+ "text": "Call complete.",
183
+ "type": "say_msg",
184
+ "uuid": "b5fd0487-3c76-46d2-a2bf-cffd68cc51f1"
185
+ }
186
+ ],
187
+ "exits": [
188
+ {
189
+ "uuid": "1aa86816-ea3c-4a84-aa1b-0641efab452b",
190
+ "destination_uuid": null
191
+ }
192
+ ]
193
+ },
194
+ {
195
+ "uuid": "002d5fa0-6b1f-49c4-9f8c-43a9c89ca5bf",
196
+ "actions": [
197
+ {
198
+ "text": "Enter the extension of the person you are trying to reach followed by the pound sign.",
199
+ "type": "say_msg",
200
+ "uuid": "208bd65b-7943-454f-8195-263ed09e1bb0"
201
+ }
202
+ ],
203
+ "exits": [
204
+ {
205
+ "uuid": "0749b469-a96f-42db-a360-6bdba60ef1e3",
206
+ "destination_uuid": "33b0519a-1f18-43cf-9e23-1327aa4dde65"
207
+ }
208
+ ]
209
+ },
210
+ {
211
+ "uuid": "e0b83ee7-6154-4bf5-bea6-c48efb22ea6a",
212
+ "actions": [
213
+ {
214
+ "text": "I don't know that extension, please try again.",
215
+ "type": "say_msg",
216
+ "uuid": "b25355c5-56c1-4c13-9e99-fdf239127946"
217
+ }
218
+ ],
219
+ "exits": [
220
+ {
221
+ "uuid": "ca098b07-5b0f-473e-8d9a-1ec02720c101",
222
+ "destination_uuid": "33b0519a-1f18-43cf-9e23-1327aa4dde65"
223
+ }
224
+ ]
225
+ },
226
+ {
227
+ "uuid": "33b0519a-1f18-43cf-9e23-1327aa4dde65",
228
+ "actions": [],
229
+ "router": {
230
+ "type": "switch",
231
+ "default_category_uuid": "8a1ce5fe-57d6-4ac3-9d41-605075d6bf37",
232
+ "categories": [
233
+ {
234
+ "uuid": "c078ff06-749f-4956-9025-66976013d469",
235
+ "name": "Joe",
236
+ "exit_uuid": "a5a9cf24-7452-46f4-a745-170d0207b964"
237
+ },
238
+ {
239
+ "uuid": "c6fd326c-1e01-4f1b-87c0-5a43936c9705",
240
+ "name": "Mary",
241
+ "exit_uuid": "4afc8b81-7a8f-46da-9c9c-d6a1e7be4cfa"
242
+ },
243
+ {
244
+ "uuid": "8a1ce5fe-57d6-4ac3-9d41-605075d6bf37",
245
+ "name": "Other",
246
+ "exit_uuid": "4a0c899d-9530-453f-a95f-f46925a6b4a8"
247
+ }
248
+ ],
249
+ "cases": [
250
+ {
251
+ "arguments": ["123"],
252
+ "type": "has_beginning",
253
+ "uuid": "45e73e46-ad57-4408-a42a-d72e1692e8ff",
254
+ "category_uuid": "c078ff06-749f-4956-9025-66976013d469"
255
+ },
256
+ {
257
+ "arguments": ["456"],
258
+ "type": "has_beginning",
259
+ "uuid": "c57d0306-2106-4552-a2e1-60747a53378e",
260
+ "category_uuid": "c6fd326c-1e01-4f1b-87c0-5a43936c9705"
261
+ }
262
+ ],
263
+ "operand": "@input.text",
264
+ "wait": {
265
+ "type": "msg",
266
+ "hint": {
267
+ "type": "digits"
268
+ }
269
+ },
270
+ "result_name": "Extension"
271
+ },
272
+ "exits": [
273
+ {
274
+ "uuid": "a5a9cf24-7452-46f4-a745-170d0207b964",
275
+ "destination_uuid": "15b0c539-a919-4758-a435-915a78d45b77"
276
+ },
277
+ {
278
+ "uuid": "4afc8b81-7a8f-46da-9c9c-d6a1e7be4cfa",
279
+ "destination_uuid": "15b0c539-a919-4758-a435-915a78d45b77"
280
+ },
281
+ {
282
+ "uuid": "4a0c899d-9530-453f-a95f-f46925a6b4a8",
283
+ "destination_uuid": "e0b83ee7-6154-4bf5-bea6-c48efb22ea6a"
284
+ }
285
+ ]
286
+ },
287
+ {
288
+ "uuid": "76752fda-700d-40f9-9539-791f62d094b9",
289
+ "actions": [],
290
+ "router": {
291
+ "type": "switch",
292
+ "operand": "@input.text",
293
+ "default_category_uuid": "5279221d-00bb-4f50-bc1d-5c35af468d72",
294
+ "cases": [
295
+ {
296
+ "uuid": "88db789e-8857-4336-a9dc-6f75e4903c8a",
297
+ "arguments": ["1"],
298
+ "type": "has_number_eq",
299
+ "category_uuid": "67afd548-d2c3-40ef-9036-cfe73df708d0"
300
+ },
301
+ {
302
+ "uuid": "76e90d23-4ea8-40da-aff1-a83d6f06049d",
303
+ "arguments": ["2"],
304
+ "type": "has_number_eq",
305
+ "category_uuid": "acd5bb27-d3e7-4d17-aeb3-d4cc26a85ec8"
306
+ }
307
+ ],
308
+ "categories": [
309
+ {
310
+ "uuid": "67afd548-d2c3-40ef-9036-cfe73df708d0",
311
+ "name": "Correct",
312
+ "exit_uuid": "cdb4619d-3b66-4f10-800b-fe02fd408806"
313
+ },
314
+ {
315
+ "uuid": "acd5bb27-d3e7-4d17-aeb3-d4cc26a85ec8",
316
+ "name": "Wrong",
317
+ "exit_uuid": "b421b0c5-eb24-458c-9339-754c00f615ee"
318
+ },
319
+ {
320
+ "uuid": "5279221d-00bb-4f50-bc1d-5c35af468d72",
321
+ "name": "Other",
322
+ "exit_uuid": "8b55299d-88c2-4ee2-8a7c-31852e5c03cf"
323
+ }
324
+ ],
325
+ "wait": {
326
+ "type": "msg",
327
+ "hint": {
328
+ "type": "digits",
329
+ "count": 1
330
+ }
331
+ },
332
+ "result_name": "Correct"
333
+ },
334
+ "exits": [
335
+ {
336
+ "uuid": "cdb4619d-3b66-4f10-800b-fe02fd408806",
337
+ "destination_uuid": "a5f77a9b-cb99-415f-99d7-5d4830bef069"
338
+ },
339
+ {
340
+ "uuid": "b421b0c5-eb24-458c-9339-754c00f615ee",
341
+ "destination_uuid": "002d5fa0-6b1f-49c4-9f8c-43a9c89ca5bf"
342
+ },
343
+ {
344
+ "uuid": "8b55299d-88c2-4ee2-8a7c-31852e5c03cf",
345
+ "destination_uuid": "15b0c539-a919-4758-a435-915a78d45b77"
346
+ }
347
+ ]
348
+ },
349
+ {
350
+ "uuid": "15b0c539-a919-4758-a435-915a78d45b77",
351
+ "actions": [
352
+ {
353
+ "text": "You've entered the extension for @results.extension.category, press one if that is correct or two if not.",
354
+ "type": "say_msg",
355
+ "uuid": "2e3ee73d-ce9d-420a-9bdd-4544c0d51485"
356
+ }
357
+ ],
358
+ "exits": [
359
+ {
360
+ "uuid": "aadd2f92-9d8d-4fe7-bfbc-309a682dccbb",
361
+ "destination_uuid": "76752fda-700d-40f9-9539-791f62d094b9"
362
+ }
363
+ ]
364
+ },
365
+ {
366
+ "uuid": "a5f77a9b-cb99-415f-99d7-5d4830bef069",
367
+ "actions": [
368
+ {
369
+ "text": "@results.extension.category is not available right now, at the tone please record your message.",
370
+ "type": "say_msg",
371
+ "uuid": "8dc6aa73-0135-4da0-9506-aef46707699b"
372
+ }
373
+ ],
374
+ "exits": [
375
+ {
376
+ "uuid": "708c3307-1f23-4c53-be52-1376cd9fd410",
377
+ "destination_uuid": "ad0edd46-62aa-43c2-a81f-80a2766144db"
378
+ }
379
+ ]
380
+ },
381
+ {
382
+ "uuid": "ad0edd46-62aa-43c2-a81f-80a2766144db",
383
+ "actions": [],
384
+ "router": {
385
+ "type": "switch",
386
+ "default_category_uuid": "43c6dcdf-04f2-4634-a6c9-b36202bfd6b9",
387
+ "cases": [],
388
+ "categories": [
389
+ {
390
+ "uuid": "43c6dcdf-04f2-4634-a6c9-b36202bfd6b9",
391
+ "name": "All Responses",
392
+ "exit_uuid": "ec245fef-ae2b-48d2-9dc1-14e2675296e8"
393
+ }
394
+ ],
395
+ "wait": {
396
+ "type": "msg",
397
+ "hint": {
398
+ "type": "audio"
399
+ }
400
+ },
401
+ "operand": "@input",
402
+ "result_name": "Recording"
403
+ },
404
+ "exits": [
405
+ {
406
+ "uuid": "ec245fef-ae2b-48d2-9dc1-14e2675296e8",
407
+ "destination_uuid": "86fd1342-4c0f-46e4-83cf-f021ec9a1632"
408
+ }
409
+ ]
410
+ },
411
+ {
412
+ "uuid": "86fd1342-4c0f-46e4-83cf-f021ec9a1632",
413
+ "actions": [
414
+ {
415
+ "audio_url": "@results.recording",
416
+ "type": "play_audio",
417
+ "uuid": "a886f9b1-feee-43ca-9af6-9d75240c8eeb"
418
+ }
419
+ ],
420
+ "exits": [
421
+ {
422
+ "uuid": "e5e941c6-e5f6-4453-b4a5-06cae66b9530",
423
+ "destination_uuid": null
424
+ }
425
+ ]
426
+ }
427
+ ],
428
+ "_ui": {
429
+ "nodes": {
430
+ "47b02aca-3a16-43e6-8e95-45b482bd932b": {
431
+ "position": {
432
+ "left": 0,
433
+ "top": 0
434
+ },
435
+ "type": "execute_actions"
436
+ },
437
+ "709d745e-2aaf-41d9-bddd-1b1ab65641a3": {
438
+ "type": "wait_for_dial",
439
+ "position": {
440
+ "left": 300,
441
+ "top": 160
442
+ },
443
+ "config": {}
444
+ },
445
+ "bb1d58bb-6098-46f5-9d51-a9b3c80fb83d": {
446
+ "type": "wait_for_response",
447
+ "position": {
448
+ "left": 0,
449
+ "top": 200
450
+ },
451
+ "config": {
452
+ "cases": {}
453
+ }
454
+ },
455
+ "4c373efc-b440-4c50-b8aa-3c98f37b731c": {
456
+ "position": {
457
+ "left": 700,
458
+ "top": 220
459
+ },
460
+ "type": "execute_actions"
461
+ },
462
+ "79d8f3f6-6513-42ed-8208-dd52e19e0a2a": {
463
+ "position": {
464
+ "left": 420,
465
+ "top": 280
466
+ },
467
+ "type": "execute_actions"
468
+ },
469
+ "002d5fa0-6b1f-49c4-9f8c-43a9c89ca5bf": {
470
+ "position": {
471
+ "left": 60,
472
+ "top": 440
473
+ },
474
+ "type": "execute_actions"
475
+ },
476
+ "e0b83ee7-6154-4bf5-bea6-c48efb22ea6a": {
477
+ "position": {
478
+ "left": 320,
479
+ "top": 600
480
+ },
481
+ "type": "execute_actions"
482
+ },
483
+ "33b0519a-1f18-43cf-9e23-1327aa4dde65": {
484
+ "type": "wait_for_response",
485
+ "position": {
486
+ "left": 60,
487
+ "top": 640
488
+ },
489
+ "config": {
490
+ "cases": {}
491
+ }
492
+ },
493
+ "76752fda-700d-40f9-9539-791f62d094b9": {
494
+ "type": "wait_for_response",
495
+ "position": {
496
+ "left": 300,
497
+ "top": 800
498
+ },
499
+ "config": {
500
+ "cases": {}
501
+ }
502
+ },
503
+ "15b0c539-a919-4758-a435-915a78d45b77": {
504
+ "position": {
505
+ "left": 40,
506
+ "top": 820
507
+ },
508
+ "type": "execute_actions"
509
+ },
510
+ "a5f77a9b-cb99-415f-99d7-5d4830bef069": {
511
+ "position": {
512
+ "left": 340,
513
+ "top": 980
514
+ },
515
+ "type": "execute_actions"
516
+ },
517
+ "ad0edd46-62aa-43c2-a81f-80a2766144db": {
518
+ "type": "wait_for_response",
519
+ "position": {
520
+ "left": 440,
521
+ "top": 1120
522
+ },
523
+ "config": {
524
+ "cases": {}
525
+ }
526
+ },
527
+ "86fd1342-4c0f-46e4-83cf-f021ec9a1632": {
528
+ "position": {
529
+ "left": 440,
530
+ "top": 1260
531
+ },
532
+ "type": "execute_actions"
533
+ }
534
+ }
535
+ },
536
+ "revision": 29,
537
+ "expire_after_minutes": 5,
538
+ "localization": {}
539
+ },
540
+ "info": {
541
+ "counts": {
542
+ "nodes": 13,
543
+ "languages": 0
544
+ },
545
+ "issues": [],
546
+ "locals": [],
547
+ "results": [
548
+ {
549
+ "key": "branch",
550
+ "name": "Branch",
551
+ "categories": ["Extension", "Operator", "Other"],
552
+ "node_uuids": ["bb1d58bb-6098-46f5-9d51-a9b3c80fb83d"]
553
+ },
554
+ {
555
+ "key": "extension",
556
+ "name": "Extension",
557
+ "categories": ["Joe", "Mary", "Other"],
558
+ "node_uuids": ["33b0519a-1f18-43cf-9e23-1327aa4dde65"]
559
+ },
560
+ {
561
+ "key": "correct",
562
+ "name": "Correct",
563
+ "categories": ["Correct", "Wrong", "Other"],
564
+ "node_uuids": ["76752fda-700d-40f9-9539-791f62d094b9"]
565
+ },
566
+ {
567
+ "key": "recording",
568
+ "name": "Recording",
569
+ "categories": ["All Responses"],
570
+ "node_uuids": ["ad0edd46-62aa-43c2-a81f-80a2766144db"]
571
+ }
572
+ ],
573
+ "parent_refs": [],
574
+ "dependencies": []
575
+ },
576
+ "issues": [],
577
+ "metadata": {
578
+ "counts": {
579
+ "languages": 0,
580
+ "nodes": 13
581
+ },
582
+ "dependencies": [],
583
+ "locals": [],
584
+ "results": [
585
+ {
586
+ "key": "branch",
587
+ "name": "Branch",
588
+ "categories": ["Extension", "Operator", "Other"],
589
+ "node_uuids": ["bb1d58bb-6098-46f5-9d51-a9b3c80fb83d"]
590
+ },
591
+ {
592
+ "key": "extension",
593
+ "name": "Extension",
594
+ "categories": ["Joe", "Mary", "Other"],
595
+ "node_uuids": ["33b0519a-1f18-43cf-9e23-1327aa4dde65"]
596
+ },
597
+ {
598
+ "key": "correct",
599
+ "name": "Correct",
600
+ "categories": ["Correct", "Wrong", "Other"],
601
+ "node_uuids": ["76752fda-700d-40f9-9539-791f62d094b9"]
602
+ },
603
+ {
604
+ "key": "recording",
605
+ "name": "Recording",
606
+ "categories": ["All Responses"],
607
+ "node_uuids": ["ad0edd46-62aa-43c2-a81f-80a2766144db"]
608
+ }
609
+ ],
610
+ "parent_refs": [],
611
+ "issues": []
612
+ }
613
+ }
package/demo/index.html CHANGED
@@ -113,6 +113,12 @@
113
113
  <p>Drag-and-drop sortable list components</p>
114
114
  <a href="components/sortable-list/example.html">Examples</a>
115
115
  </div>
116
+
117
+ <div class="component-card">
118
+ <h3>Floating Tabs & Windows</h3>
119
+ <p>Floating tab anchors with moveable dialog windows</p>
120
+ <a href="components/floating-tabs/example.html">Examples</a>
121
+ </div>
116
122
  </div>
117
123
 
118
124
  <!-- Feedback Components -->
@@ -3,10 +3,10 @@
3
3
  /* eslint-disable no-irregular-whitespace */
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  export const templates = {
6
- scf1453991c986b25: `Tab para completar, enter para seleccionar`,
7
- s73b4d70c02f4b4e0: `No options`,
8
- s8f02e3a18ffc083a: `Are not currently in a flow`,
9
- s638236250662c6b3: `Have sent a message in the last`,
10
- s4788ee206c4570c7: `Have not started this flow in the last 90 days`
6
+ 'scf1453991c986b25': `Tab para completar, enter para seleccionar`,
7
+ 's73b4d70c02f4b4e0': `No options`,
8
+ 's8f02e3a18ffc083a': `Are not currently in a flow`,
9
+ 's638236250662c6b3': `Have sent a message in the last`,
10
+ 's4788ee206c4570c7': `Have not started this flow in the last 90 days`,
11
11
  };
12
12
  //# sourceMappingURL=es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"es.js","sourceRoot":"","sources":["../../../src/locales/es.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,gDAAgD;AAEhD,4CAA4C;AAC5C,uDAAuD;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,iBAAiB,EAAE,4CAA4C;IAC/D,iBAAiB,EAAE,YAAY;IAC/B,iBAAiB,EAAE,6BAA6B;IAChD,iBAAiB,EAAE,iCAAiC;IACpD,iBAAiB,EAAE,gDAAgD;CACpE,CAAC","sourcesContent":["// Do not modify this file by hand!\n// Re-generate this file by running lit-localize\n\n/* eslint-disable no-irregular-whitespace */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const templates = {\n scf1453991c986b25: `Tab para completar, enter para seleccionar`,\n s73b4d70c02f4b4e0: `No options`,\n s8f02e3a18ffc083a: `Are not currently in a flow`,\n s638236250662c6b3: `Have sent a message in the last`,\n s4788ee206c4570c7: `Have not started this flow in the last 90 days`\n};\n"]}
1
+ {"version":3,"file":"es.js","sourceRoot":"","sources":["../../../src/locales/es.ts"],"names":[],"mappings":"AACI,mCAAmC;AACnC,gDAAgD;AAKhD,4CAA4C;AAC5C,uDAAuD;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,mBAAmB,EAAE,4CAA4C;IACvE,mBAAmB,EAAE,YAAY;IACjC,mBAAmB,EAAE,6BAA6B;IAClD,mBAAmB,EAAE,iCAAiC;IACtD,mBAAmB,EAAE,gDAAgD;CAChE,CAAC","sourcesContent":["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 'scf1453991c986b25': `Tab para completar, enter para seleccionar`,\n's73b4d70c02f4b4e0': `No options`,\n's8f02e3a18ffc083a': `Are not currently in a flow`,\n's638236250662c6b3': `Have sent a message in the last`,\n's4788ee206c4570c7': `Have not started this flow in the last 90 days`,\n };\n "]}
@@ -3,10 +3,10 @@
3
3
  /* eslint-disable no-irregular-whitespace */
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  export const templates = {
6
- s73b4d70c02f4b4e0: `No options`,
7
- scf1453991c986b25: `Tab to complete, enter to select`,
8
- s8f02e3a18ffc083a: `Are not currently in a flow`,
9
- s638236250662c6b3: `Have sent a message in the last`,
10
- s4788ee206c4570c7: `Have not started this flow in the last 90 days`
6
+ 's73b4d70c02f4b4e0': `No options`,
7
+ 'scf1453991c986b25': `Tab to complete, enter to select`,
8
+ 's8f02e3a18ffc083a': `Are not currently in a flow`,
9
+ 's638236250662c6b3': `Have sent a message in the last`,
10
+ 's4788ee206c4570c7': `Have not started this flow in the last 90 days`,
11
11
  };
12
12
  //# sourceMappingURL=fr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../../src/locales/fr.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,gDAAgD;AAEhD,4CAA4C;AAC5C,uDAAuD;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,iBAAiB,EAAE,YAAY;IAC/B,iBAAiB,EAAE,kCAAkC;IACrD,iBAAiB,EAAE,6BAA6B;IAChD,iBAAiB,EAAE,iCAAiC;IACpD,iBAAiB,EAAE,gDAAgD;CACpE,CAAC","sourcesContent":["// Do not modify this file by hand!\n// Re-generate this file by running lit-localize\n\n/* eslint-disable no-irregular-whitespace */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const templates = {\n s73b4d70c02f4b4e0: `No options`,\n scf1453991c986b25: `Tab to complete, enter to select`,\n s8f02e3a18ffc083a: `Are not currently in a flow`,\n s638236250662c6b3: `Have sent a message in the last`,\n s4788ee206c4570c7: `Have not started this flow in the last 90 days`\n};\n"]}
1
+ {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../../src/locales/fr.ts"],"names":[],"mappings":"AACI,mCAAmC;AACnC,gDAAgD;AAKhD,4CAA4C;AAC5C,uDAAuD;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,mBAAmB,EAAE,YAAY;IACvC,mBAAmB,EAAE,kCAAkC;IACvD,mBAAmB,EAAE,6BAA6B;IAClD,mBAAmB,EAAE,iCAAiC;IACtD,mBAAmB,EAAE,gDAAgD;CAChE,CAAC","sourcesContent":["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's73b4d70c02f4b4e0': `No options`,\n'scf1453991c986b25': `Tab to complete, enter to select`,\n's8f02e3a18ffc083a': `Are not currently in a flow`,\n's638236250662c6b3': `Have sent a message in the last`,\n's4788ee206c4570c7': `Have not started this flow in the last 90 days`,\n };\n "]}