@budibase/server 1.0.143 → 1.0.146

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 (173) hide show
  1. package/__mocks__/@google-cloud/firestore.ts +36 -0
  2. package/__mocks__/pg.ts +1 -9
  3. package/builder/assets/{index.76d75e17.js → index.c773a612.js} +2 -2
  4. package/builder/index.html +1 -1
  5. package/coverage/clover.xml +2 -2
  6. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/index.html +1 -1
  16. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  45. package/coverage/lcov-report/api/index.html +1 -1
  46. package/coverage/lcov-report/api/index.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/index.html +1 -1
  58. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  72. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  75. package/coverage/lcov-report/automations/actions.js.html +1 -1
  76. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  77. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  78. package/coverage/lcov-report/automations/index.html +1 -1
  79. package/coverage/lcov-report/automations/index.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/index.html +1 -1
  87. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  106. package/coverage/lcov-report/constants/index.html +1 -1
  107. package/coverage/lcov-report/constants/index.js.html +1 -1
  108. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  109. package/coverage/lcov-report/constants/screens.js.html +1 -1
  110. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  111. package/coverage/lcov-report/db/index.html +1 -1
  112. package/coverage/lcov-report/db/index.js.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  116. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  117. package/coverage/lcov-report/db/newid.js.html +1 -1
  118. package/coverage/lcov-report/db/utils.js.html +1 -1
  119. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  120. package/coverage/lcov-report/events/index.html +1 -1
  121. package/coverage/lcov-report/events/index.js.html +1 -1
  122. package/coverage/lcov-report/events/utils.js.html +1 -1
  123. package/coverage/lcov-report/index.html +1 -1
  124. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  125. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  126. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  127. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  128. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  129. package/coverage/lcov-report/middleware/index.html +1 -1
  130. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  131. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  132. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  133. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  134. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  135. package/coverage/lcov-report/threads/automation.js.html +1 -1
  136. package/coverage/lcov-report/threads/index.html +1 -1
  137. package/coverage/lcov-report/threads/query.js.html +1 -1
  138. package/coverage/lcov-report/threads/utils.js.html +1 -1
  139. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  140. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  141. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  142. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  143. package/coverage/lcov-report/utilities/global.js.html +1 -1
  144. package/coverage/lcov-report/utilities/index.html +1 -1
  145. package/coverage/lcov-report/utilities/index.js.html +1 -1
  146. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  147. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  148. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  149. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  150. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  151. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  152. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  153. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  154. package/coverage/lcov-report/utilities/security.js.html +1 -1
  155. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  156. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  157. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  158. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  159. package/coverage/lcov-report/utilities/users.js.html +1 -1
  160. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  161. package/dist/api/controllers/row/ExternalRequest.js +3 -2
  162. package/dist/integrations/firebase.js +9 -9
  163. package/dist/integrations/index.js +1 -0
  164. package/dist/integrations/postgres.js +15 -11
  165. package/dist/package.json +5 -5
  166. package/dist/tsconfig.build.tsbuildinfo +1 -1
  167. package/package.json +6 -6
  168. package/src/api/controllers/row/ExternalRequest.ts +3 -2
  169. package/src/integrations/firebase.ts +10 -10
  170. package/src/integrations/index.ts +1 -0
  171. package/src/integrations/postgres.ts +9 -11
  172. package/src/integrations/tests/firebase.spec.js +92 -0
  173. package/src/integrations/tests/postgres.spec.js +0 -4
@@ -0,0 +1,36 @@
1
+ module FirebaseMock {
2
+ const firebase: any = {}
3
+
4
+ firebase.Firestore = function () {
5
+ this.get = jest.fn(() => [
6
+ {
7
+ data: jest.fn(() => ({ result: "test" })),
8
+ },
9
+ ])
10
+
11
+ this.update = jest.fn()
12
+ this.set = jest.fn()
13
+ this.delete = jest.fn()
14
+
15
+ this.doc = jest.fn(() => ({
16
+ update: this.update,
17
+ set: this.set,
18
+ delete: this.delete,
19
+ get: jest.fn(() => ({
20
+ data: jest.fn(() => ({ result: "test" })),
21
+ })),
22
+ id: "test_id",
23
+ }))
24
+
25
+ this.where = jest.fn(() => ({
26
+ get: this.get,
27
+ }))
28
+
29
+ this.collection = jest.fn(() => ({
30
+ doc: this.doc,
31
+ where: this.where,
32
+ }))
33
+ }
34
+
35
+ module.exports = firebase
36
+ }
package/__mocks__/pg.ts CHANGED
@@ -14,21 +14,13 @@ module PgMock {
14
14
  function Client() {}
15
15
 
16
16
  Client.prototype.query = query
17
+ Client.prototype.end = jest.fn()
17
18
  Client.prototype.connect = jest.fn()
18
19
  Client.prototype.release = jest.fn()
19
20
 
20
- function Pool() {}
21
-
22
21
  const on = jest.fn()
23
- Pool.prototype.query = query
24
- Pool.prototype.connect = jest.fn(() => {
25
- // @ts-ignore
26
- return new Client()
27
- })
28
- Pool.prototype.on = on
29
22
 
30
23
  pg.Client = Client
31
- pg.Pool = Pool
32
24
  pg.queryMock = query
33
25
  pg.on = on
34
26
 
@@ -1246,7 +1246,7 @@ function print() { __p += __j.call(arguments, '') }
1246
1246
  `),t=j("i"),i=F(n),l=F("?"),s=F(`
1247
1247
  This action cannot be undone.`)},m(o,a){$(o,e,a),$(o,t,a),N(t,i),N(t,l),$(o,s,a)},p(o,a){a&1&&n!==(n=o[0].name+"")&&Ee(i,n)},d(o){o&&b(e),o&&b(t),o&&b(s)}}}function p1e(r){let e,t,n,i,l,s;e=new wr({props:{$$slots:{control:[f1e],default:[u1e]},$$scope:{ctx:r}}});let o={okText:"Delete Automation",onOk:r[3],title:"Confirm Deletion",$$slots:{default:[c1e]},$$scope:{ctx:r}};n=new fr({props:o}),r[4](n);let a={automation:r[0]};return l=new s1e({props:a}),r[5](l),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment)},m(u,f){A(e,u,f),$(u,t,f),A(n,u,f),$(u,i,f),A(l,u,f),s=!0},p(u,[f]){const c={};f&134&&(c.$$scope={dirty:f,ctx:u}),e.$set(c);const p={};f&129&&(p.$$scope={dirty:f,ctx:u}),n.$set(p);const d={};f&1&&(d.automation=u[0]),l.$set(d)},i(u){s||(m(e.$$.fragment,u),m(n.$$.fragment,u),m(l.$$.fragment,u),s=!0)},o(u){_(e.$$.fragment,u),_(n.$$.fragment,u),_(l.$$.fragment,u),s=!1},d(u){E(e,u),u&&b(t),r[4](null),E(n,u),u&&b(i),r[5](null),E(l,u)}}}function d1e(r,e,t){let n;fe(r,Ut,f=>t(6,n=f));let{automation:i}=e,l,s;async function o(){try{await Qt.actions.delete(i),we.success("Automation deleted successfully"),n("../automate")}catch{we.error("Error deleting automation")}}function a(f){K[f?"unshift":"push"](()=>{l=f,t(1,l)})}function u(f){K[f?"unshift":"push"](()=>{s=f,t(2,s)})}return r.$$set=f=>{"automation"in f&&t(0,i=f.automation)},[i,l,s,o,a,u]}class m1e extends se{constructor(e){super();oe(this,e,d1e,p1e,ie,{automation:0})}}function Zy(r,e,t){const n=r.slice();return n[5]=e[t],n[7]=t,n}function g1e(r){let e,t,n;return e=new m1e({props:{automation:r[5]}}),{c(){S(e.$$.fragment),t=R()},m(i,l){A(e,i,l),$(i,t,l),n=!0},p(i,l){const s={};l&1&&(s.automation=i[5]),e.$set(s)},i(i){n||(m(e.$$.fragment,i),n=!0)},o(i){_(e.$$.fragment,i),n=!1},d(i){E(e,i),i&&b(t)}}}function xy(r){let e,t;function n(){return r[3](r[5])}return e=new Ll({props:{border:r[7]>0,icon:"ShareAndroid",text:r[5].name,selected:r[5]._id===r[1],$$slots:{default:[g1e]},$$scope:{ctx:r}}}),e.$on("click",n),{c(){S(e.$$.fragment)},m(i,l){A(e,i,l),t=!0},p(i,l){r=i;const s={};l&1&&(s.text=r[5].name),l&3&&(s.selected=r[5]._id===r[1]),l&257&&(s.$$scope={dirty:l,ctx:r}),e.$set(s)},i(i){t||(m(e.$$.fragment,i),t=!0)},o(i){_(e.$$.fragment,i),t=!1},d(i){E(e,i)}}}function _1e(r){let e,t,n=r[0].automations,i=[];for(let s=0;s<n.length;s+=1)i[s]=xy(Zy(r,n,s));const l=s=>_(i[s],1,1,()=>{i[s]=null});return{c(){e=j("div");for(let s=0;s<i.length;s+=1)i[s].c();w(e,"class","automations-list svelte-g64vb")},m(s,o){$(s,e,o);for(let a=0;a<i.length;a+=1)i[a].m(e,null);t=!0},p(s,[o]){if(o&7){n=s[0].automations;let a;for(a=0;a<n.length;a+=1){const u=Zy(s,n,a);i[a]?(i[a].p(u,o),m(i[a],1)):(i[a]=xy(u),i[a].c(),m(i[a],1),i[a].m(e,null))}for(ee(),a=n.length;a<i.length;a+=1)l(a);te()}},i(s){if(!t){for(let o=0;o<n.length;o+=1)m(i[o]);t=!0}},o(s){i=i.filter(Boolean);for(let o=0;o<i.length;o+=1)_(i[o]);t=!1},d(s){s&&b(e),mt(i,s)}}}function h1e(r,e,t){let n,i,l;fe(r,Ut,a=>t(4,i=a)),fe(r,Qt,a=>t(0,l=a)),qt(async()=>{try{await Qt.actions.fetch()}catch{we.error("Error getting automations list")}});function s(a){Qt.actions.select(a),i(`./${a._id}`)}const o=a=>s(a);return r.$$.update=()=>{var a,u;r.$$.dirty&1&&t(1,n=(u=(a=l.selectedAutomation)==null?void 0:a.automation)==null?void 0:u._id)},[l,n,s,o]}class $1e extends se{constructor(e){super();oe(this,e,h1e,_1e,ie,{})}}function e7(r,e,t){const n=r.slice();return n[17]=e[t][0],n[18]=e[t][1],n}function b1e(r){let e;return{c(){e=F(`Please name your automation, then select a trigger. Every automation must
1248
1248
  start with a trigger.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function v1e(r){let e;return{c(){e=F("Triggers")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function w1e(r){let e=r[18].name+"",t;return{c(){t=F(e)},m(n,i){$(n,t,i)},p(n,i){i&8&&e!==(e=n[18].name+"")&&Ee(t,e)},d(n){n&&b(t)}}}function t7(r){let e,t,n,i,l,s,o,a,u,f;n=new ut({props:{name:r[18].icon}}),s=new Ye({props:{size:"S",$$slots:{default:[w1e]},$$scope:{ctx:r}}});function c(){return r[13](r[18])}return{c(){e=j("div"),t=j("div"),S(n.$$.fragment),i=R(),l=j("span"),S(s.$$.fragment),o=R(),w(l,"class","icon-spacing svelte-d3iboa"),w(t,"class","item-body svelte-d3iboa"),w(e,"class","item svelte-d3iboa"),ae(e,"selected",r[2]===r[18].name)},m(p,d){$(p,e,d),N(e,t),A(n,t,null),N(t,i),N(t,l),A(s,l,null),N(e,o),a=!0,u||(f=Ne(e,"click",c),u=!0)},p(p,d){r=p;const g={};d&8&&(g.name=r[18].icon),n.$set(g);const h={};d&2097160&&(h.$$scope={dirty:d,ctx:r}),s.$set(h),d&12&&ae(e,"selected",r[2]===r[18].name)},i(p){a||(m(n.$$.fragment,p),m(s.$$.fragment,p),a=!0)},o(p){_(n.$$.fragment,p),_(s.$$.fragment,p),a=!1},d(p){p&&b(e),E(n),E(s),u=!1,f()}}}function y1e(r){let e,t,n,i;e=new Ye({props:{size:"S",$$slots:{default:[v1e]},$$scope:{ctx:r}}});let l=r[3],s=[];for(let a=0;a<l.length;a+=1)s[a]=t7(e7(r,l,a));const o=a=>_(s[a],1,1,()=>{s[a]=null});return{c(){S(e.$$.fragment),t=R(),n=j("div");for(let a=0;a<s.length;a+=1)s[a].c();w(n,"class","item-list svelte-d3iboa")},m(a,u){A(e,a,u),$(a,t,u),$(a,n,u);for(let f=0;f<s.length;f+=1)s[f].m(n,null);i=!0},p(a,u){const f={};if(u&2097152&&(f.$$scope={dirty:u,ctx:a}),e.$set(f),u&76){l=a[3];let c;for(c=0;c<l.length;c+=1){const p=e7(a,l,c);s[c]?(s[c].p(p,u),m(s[c],1)):(s[c]=t7(p),s[c].c(),m(s[c],1),s[c].m(n,null))}for(ee(),c=l.length;c<s.length;c+=1)o(c);te()}},i(a){if(!i){m(e.$$.fragment,a);for(let u=0;u<l.length;u+=1)m(s[u]);i=!0}},o(a){_(e.$$.fragment,a),s=s.filter(Boolean);for(let u=0;u<s.length;u+=1)_(s[u]);i=!1},d(a){E(e,a),a&&b(t),a&&b(n),mt(s,a)}}}function k1e(r){let e,t,n,i,l,s,o,a,u,f;e=new s1({props:{header:"You must publish your app to activate your automations.",message:"To test your automation before publishing, you can use the 'Run Test' functionality on the next screen."}}),n=new Ye({props:{size:"XS",$$slots:{default:[b1e]},$$scope:{ctx:r}}});function c(g){r[10](g)}function p(g){r[11](g)}let d={label:"Name"};return r[0]!==void 0&&(d.value=r[0]),r[4]!==void 0&&(d.error=r[4]),l=new nt({props:d}),K.push(()=>de(l,"value",c)),K.push(()=>de(l,"error",p)),l.$on("change",r[12]),u=new Ve({props:{noPadding:!0,$$slots:{default:[y1e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment),a=R(),S(u.$$.fragment)},m(g,h){A(e,g,h),$(g,t,h),A(n,g,h),$(g,i,h),A(l,g,h),$(g,a,h),A(u,g,h),f=!0},p(g,h){const v={};h&2097152&&(v.$$scope={dirty:h,ctx:g}),n.$set(v);const y={};!s&&h&1&&(s=!0,y.value=g[0],me(()=>s=!1)),!o&&h&16&&(o=!0,y.error=g[4],me(()=>o=!1)),l.$set(y);const k={};h&2097164&&(k.$$scope={dirty:h,ctx:g}),u.$set(k)},i(g){f||(m(e.$$.fragment,g),m(n.$$.fragment,g),m(l.$$.fragment,g),m(u.$$.fragment,g),f=!0)},o(g){_(e.$$.fragment,g),_(n.$$.fragment,g),_(l.$$.fragment,g),_(u.$$.fragment,g),f=!1},d(g){E(e,g),g&&b(t),E(n,g),g&&b(i),E(l,g),g&&b(a),E(u,g)}}}function C1e(r){let e,t;return e=new Nt({props:{title:"Create Automation",confirmText:"Save",size:"M",onConfirm:r[5],disabled:!r[2]||!r[0],$$slots:{default:[k1e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,[i]){const l={};i&5&&(l.disabled=!n[2]||!n[0]),i&2097183&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function S1e(r,e,t){let n,i,l,s,o,a;fe(r,Qt,T=>t(8,s=T)),fe(r,Ut,T=>t(16,o=T)),fe(r,Ss,T=>t(9,a=T));let u,f,c=!1,p,{webhookModal:d}=e;async function g(){var T;try{await Qt.actions.create({name:u,instanceId:n});const O=s.selectedAutomation.constructBlock("TRIGGER",p.stepId,p);Qt.actions.addBlockToAutomation(O),p.stepId==="WEBHOOK"&&d.show,await Qt.actions.save((T=s.selectedAutomation)==null?void 0:T.automation),we.success(`Automation ${u} created`),o(`./${s.selectedAutomation.automation._id}`),Ln.captureEvent(Nn.AUTOMATION.CREATED,{name:u})}catch{we.error("Error creating automation")}}const h=T=>{p=T,t(2,f=T.name)};function v(T){u=T,t(0,u)}function y(T){i=T,t(4,i),t(1,c),t(0,u)}const k=()=>t(1,c=!0),I=T=>h(T);return r.$$set=T=>{"webhookModal"in T&&t(7,d=T.webhookModal)},r.$$.update=()=>{r.$$.dirty&512&&(n=a._id),r.$$.dirty&3&&t(4,i=c&&!u?"Please specify a name for the automation.":null),r.$$.dirty&256&&t(3,l=Object.entries(s.blockDefinitions.TRIGGER))},[u,c,f,l,i,g,h,d,s,a,v,y,k,I]}class n7 extends se{constructor(e){super();oe(this,e,S1e,C1e,ie,{webhookModal:7})}}function A1e(r){let e,t;return e=new n7({props:{webhookModal:r[1]}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&2&&(l.webhookModal=n[1]),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function E1e(r){let e,t,n,i;e=new $1e({});let l={$$slots:{default:[A1e]},$$scope:{ctx:r}};return n=new kt({props:l}),r[2](n),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(s,o){A(e,s,o),$(s,t,o),A(n,s,o),i=!0},p(s,o){const a={};o&10&&(a.$$scope={dirty:o,ctx:s}),n.$set(a)},i(s){i||(m(e.$$.fragment,s),m(n.$$.fragment,s),i=!0)},o(s){_(e.$$.fragment,s),_(n.$$.fragment,s),i=!1},d(s){E(e,s),s&&b(t),r[2](null),E(n,s)}}}function O1e(r){let e,t;return e=new bn({props:{title:"Automations",$$slots:{default:[E1e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&11&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function T1e(r){let e,t,n,i,l,s;return t=new Vr({props:{selected:"Automations",$$slots:{default:[O1e]},$$scope:{ctx:r}}}),l=new ut({props:{hoverable:!0,name:"AddCircle"}}),l.$on("click",function(){ft(r[0].show)&&r[0].show.apply(this,arguments)}),{c(){e=j("div"),S(t.$$.fragment),n=R(),i=j("div"),S(l.$$.fragment),w(i,"class","add-button svelte-mcmub4"),w(e,"class","title svelte-mcmub4")},m(o,a){$(o,e,a),A(t,e,null),N(e,n),N(e,i),A(l,i,null),s=!0},p(o,[a]){r=o;const u={};a&11&&(u.$$scope={dirty:a,ctx:r}),t.$set(u)},i(o){s||(m(t.$$.fragment,o),m(l.$$.fragment,o),s=!0)},o(o){_(t.$$.fragment,o),_(l.$$.fragment,o),s=!1},d(o){o&&b(e),E(t),E(l)}}}function I1e(r,e,t){let{modal:n}=e,{webhookModal:i}=e;function l(s){K[s?"unshift":"push"](()=>{n=s,t(0,n)})}return r.$$set=s=>{"modal"in s&&t(0,n=s.modal),"webhookModal"in s&&t(1,i=s.webhookModal)},[n,i,l]}class L1e extends se{constructor(e){super();oe(this,e,I1e,T1e,ie,{modal:0,webhookModal:1})}}function P1e(r){let e,t,n,i;return n=new Ve({props:{gap:"S",justifyItems:"center",$$slots:{default:[j1e]},$$scope:{ctx:r}}}),{c(){e=j("div"),t=j("div"),S(n.$$.fragment),w(t,"class","main svelte-16gumu0"),w(e,"class","centered svelte-16gumu0")},m(l,s){$(l,e,s),N(e,t),A(n,t,null),i=!0},p(l,s){const o={};s&257&&(o.$$scope={dirty:s,ctx:l}),n.$set(o)},i(l){i||(m(n.$$.fragment,l),i=!0)},o(l){_(n.$$.fragment,l),i=!1},d(l){l&&b(e),E(n)}}}function N1e(r){let e;const t=r[4].default,n=bt(t,r,r[8],null);return{c(){n&&n.c()},m(i,l){n&&n.m(i,l),e=!0},p(i,l){n&&n.p&&(!e||l&256)&&vt(n,t,i,i[8],e?yt(t,i[8],l,null):wt(i[8]),null)},i(i){e||(m(n,i),e=!0)},o(i){_(n,i),e=!1},d(i){n&&n.d(i)}}}function R1e(r){let e;return{c(){e=F("You have no automations")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function M1e(r){let e;return{c(){e=F("Let's fix that. Call the bots!")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function D1e(r){let e;return{c(){e=F("Create automation")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function j1e(r){let e,t,n,i,l,s,o,a,u;return i=new gt({props:{size:"M",$$slots:{default:[R1e]},$$scope:{ctx:r}}}),s=new Ye({props:{size:"M",$$slots:{default:[M1e]},$$scope:{ctx:r}}}),a=new ot({props:{size:"M",cta:!0,$$slots:{default:[D1e]},$$scope:{ctx:r}}}),a.$on("click",r[5]),{c(){e=_e("svg"),t=_e("use"),n=R(),S(i.$$.fragment),l=R(),S(s.$$.fragment),o=R(),S(a.$$.fragment),Gt(t,"xlink:href","#spectrum-icon-18-WorkflowAdd"),w(e,"width","60px"),w(e,"height","60px"),w(e,"class","spectrum-Icon"),w(e,"focusable","false")},m(f,c){$(f,e,c),N(e,t),$(f,n,c),A(i,f,c),$(f,l,c),A(s,f,c),$(f,o,c),A(a,f,c),u=!0},p(f,c){const p={};c&256&&(p.$$scope={dirty:c,ctx:f}),i.$set(p);const d={};c&256&&(d.$$scope={dirty:c,ctx:f}),s.$set(d);const g={};c&256&&(g.$$scope={dirty:c,ctx:f}),a.$set(g)},i(f){u||(m(i.$$.fragment,f),m(s.$$.fragment,f),m(a.$$.fragment,f),u=!0)},o(f){_(i.$$.fragment,f),_(s.$$.fragment,f),_(a.$$.fragment,f),u=!1},d(f){f&&b(e),f&&b(n),E(i,f),f&&b(l),E(s,f),f&&b(o),E(a,f)}}}function B1e(r){let e,t;return e=new n7({props:{webhookModal:r[1]}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&2&&(l.webhookModal=n[1]),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function z1e(r){let e,t;return e=new F1({}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function q1e(r){let e,t,n,i,l,s,o,a,u,f,c,p;n=new L1e({props:{modal:r[0],webhookModal:r[1]}});const d=[N1e,P1e],g=[];function h(k,I){return k[2]?0:1}s=h(r),o=g[s]=d[s](r);let v={$$slots:{default:[B1e]},$$scope:{ctx:r}};u=new kt({props:v}),r[6](u);let y={width:"30%",$$slots:{default:[z1e]},$$scope:{ctx:r}};return c=new kt({props:y}),r[7](c),{c(){e=j("div"),t=j("div"),S(n.$$.fragment),i=R(),l=j("div"),o.c(),a=R(),S(u.$$.fragment),f=R(),S(c.$$.fragment),w(t,"class","nav svelte-16gumu0"),w(l,"class","content svelte-16gumu0"),w(e,"class","root svelte-16gumu0")},m(k,I){$(k,e,I),N(e,t),A(n,t,null),N(e,i),N(e,l),g[s].m(l,null),N(e,a),A(u,e,null),N(e,f),A(c,e,null),p=!0},p(k,[I]){const T={};I&1&&(T.modal=k[0]),I&2&&(T.webhookModal=k[1]),n.$set(T);let O=s;s=h(k),s===O?g[s].p(k,I):(ee(),_(g[O],1,1,()=>{g[O]=null}),te(),o=g[s],o?o.p(k,I):(o=g[s]=d[s](k),o.c()),m(o,1),o.m(l,null));const L={};I&258&&(L.$$scope={dirty:I,ctx:k}),u.$set(L);const M={};I&256&&(M.$$scope={dirty:I,ctx:k}),c.$set(M)},i(k){p||(m(n.$$.fragment,k),m(o),m(u.$$.fragment,k),m(c.$$.fragment,k),p=!0)},o(k){_(n.$$.fragment,k),_(o),_(u.$$.fragment,k),_(c.$$.fragment,k),p=!1},d(k){k&&b(e),E(n),g[s].d(),r[6](null),E(u),r[7](null),E(c)}}}function U1e(r,e,t){let n,i;fe(r,Qt,p=>t(3,i=p));let{$$slots:l={},$$scope:s}=e,o,a;const u=()=>o.show();function f(p){K[p?"unshift":"push"](()=>{o=p,t(0,o)})}function c(p){K[p?"unshift":"push"](()=>{a=p,t(1,a)})}return r.$$set=p=>{"$$scope"in p&&t(8,s=p.$$scope)},r.$$.update=()=>{r.$$.dirty&8&&t(2,n=i.automations[0])},[o,a,n,i,l,u,f,c,s]}class F1e extends se{constructor(e){super();oe(this,e,U1e,q1e,ie,{})}}function V1e(r){let e,t,n,i,l,s,o;function a(f){r[4](f)}let u={};return r[2]!==void 0&&(u.value=r[2]),l=new nt({props:u}),K.push(()=>de(l,"value",a)),{c(){e=j("span"),e.textContent=`The changes you have made will be deleted and the application reverted
1249
- back to its production state.`,t=R(),n=j("span"),n.textContent="Please enter your app name to continue.",i=R(),S(l.$$.fragment)},m(f,c){$(f,e,c),$(f,t,c),$(f,n,c),$(f,i,c),A(l,f,c),o=!0},p(f,c){const p={};!s&&c&4&&(s=!0,p.value=f[2],me(()=>s=!1)),l.$set(p)},i(f){o||(m(l.$$.fragment,f),o=!0)},o(f){_(l.$$.fragment,f),o=!1},d(f){f&&b(e),f&&b(t),f&&b(n),f&&b(i),E(l,f)}}}function H1e(r){let e,t;return e=new Nt({props:{title:"Revert Changes",confirmText:"Revert",onConfirm:r[3],disabled:r[2]!==r[0].name,$$slots:{default:[V1e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&5&&(l.disabled=n[2]!==n[0].name),i&132&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function W1e(r){let e,t,n,i;e=new ut({props:{name:"Revert",hoverable:!0}}),e.$on("click",function(){ft(r[1].show)&&r[1].show.apply(this,arguments)});let l={$$slots:{default:[H1e]},$$scope:{ctx:r}};return n=new kt({props:l}),r[5](n),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(s,o){A(e,s,o),$(s,t,o),A(n,s,o),i=!0},p(s,[o]){r=s;const a={};o&133&&(a.$$scope={dirty:o,ctx:r}),n.$set(a)},i(s){i||(m(e.$$.fragment,s),m(n.$$.fragment,s),i=!0)},o(s){_(e.$$.fragment,s),_(n.$$.fragment,s),i=!1},d(s){E(e,s),s&&b(t),r[5](null),E(n,s)}}}function G1e(r,e,t){let n,i;fe(r,Ge,f=>t(0,i=f));let l,s;const o=async()=>{try{await Ze.revertAppChanges(n);const f=await Ze.fetchAppPackage(n);await Ge.actions.initialise(f),we.info("Changes reverted successfully")}catch(f){we.error(`Error reverting changes: ${f}`)}};function a(f){s=f,t(2,s)}function u(f){K[f?"unshift":"push"](()=>{l=f,t(1,l)})}return r.$$.update=()=>{r.$$.dirty&1&&(n=i.appId)},[i,l,s,o,a,u]}class Y1e extends se{constructor(e){super();oe(this,e,G1e,W1e,ie,{})}}const J1e="@budibase/client",Q1e="1.0.142",X1e="MPL-2.0",K1e="dist/budibase-client.js",Z1e="dist/budibase-client.js",x1e="module",eme="src/index.js",tme={".":{import:"./dist/budibase-client.js",require:"./dist/budibase-client.js"},"./package.json":"./package.json","./manifest.json":"./manifest.json"},nme={build:"rollup -c","dev:builder":"rollup -cw"},rme={"@budibase/bbui":"^1.0.142","@budibase/frontend-core":"^1.0.142","@budibase/string-templates":"^1.0.142","@spectrum-css/button":"^3.0.3","@spectrum-css/card":"^3.0.3","@spectrum-css/divider":"^1.0.3","@spectrum-css/link":"^3.1.3","@spectrum-css/page":"^3.0.1","@spectrum-css/tag":"^3.1.4","@spectrum-css/typography":"^3.0.2","@spectrum-css/vars":"^3.0.1",apexcharts:"^3.22.1",dayjs:"^1.10.5",downloadjs:"1.4.7",leaflet:"^1.7.1",regexparam:"^1.3.0","rollup-plugin-polyfill-node":"^0.8.0","sanitize-html":"^2.7.0",screenfull:"^6.0.1",shortid:"^2.2.15",svelte:"^3.38.2","svelte-apexcharts":"^1.0.2","svelte-flatpickr":"^3.1.0","svelte-spa-router":"^3.0.5"},ime={"@rollup/plugin-alias":"^3.1.5","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-node-resolve":"^11.2.1",postcss:"^8.2.10",rollup:"^2.44.0","rollup-plugin-json":"^4.0.0","rollup-plugin-postcss":"^4.0.0","rollup-plugin-svelte":"^7.1.0","rollup-plugin-svg":"^2.0.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-visualizer":"^5.5.4"},lme="d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc";var H1={name:J1e,version:Q1e,license:X1e,module:K1e,main:Z1e,type:x1e,svelte:eme,exports:tme,scripts:nme,dependencies:rme,devDependencies:ime,gitHead:lme};function sme(r){let e,t;return e=new Ye({props:{size:"S",$$slots:{default:[ame]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&513&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function ome(r){let e,t;return e=new Ye({props:{size:"S",$$slots:{default:[ume]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&513&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function ame(r){let e,t,n=r[0].version+"",i,l;return{c(){e=F("This app is currently using version "),t=j("b"),i=F(n),l=F(` which is the
1249
+ back to its production state.`,t=R(),n=j("span"),n.textContent="Please enter your app name to continue.",i=R(),S(l.$$.fragment)},m(f,c){$(f,e,c),$(f,t,c),$(f,n,c),$(f,i,c),A(l,f,c),o=!0},p(f,c){const p={};!s&&c&4&&(s=!0,p.value=f[2],me(()=>s=!1)),l.$set(p)},i(f){o||(m(l.$$.fragment,f),o=!0)},o(f){_(l.$$.fragment,f),o=!1},d(f){f&&b(e),f&&b(t),f&&b(n),f&&b(i),E(l,f)}}}function H1e(r){let e,t;return e=new Nt({props:{title:"Revert Changes",confirmText:"Revert",onConfirm:r[3],disabled:r[2]!==r[0].name,$$slots:{default:[V1e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&5&&(l.disabled=n[2]!==n[0].name),i&132&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function W1e(r){let e,t,n,i;e=new ut({props:{name:"Revert",hoverable:!0}}),e.$on("click",function(){ft(r[1].show)&&r[1].show.apply(this,arguments)});let l={$$slots:{default:[H1e]},$$scope:{ctx:r}};return n=new kt({props:l}),r[5](n),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(s,o){A(e,s,o),$(s,t,o),A(n,s,o),i=!0},p(s,[o]){r=s;const a={};o&133&&(a.$$scope={dirty:o,ctx:r}),n.$set(a)},i(s){i||(m(e.$$.fragment,s),m(n.$$.fragment,s),i=!0)},o(s){_(e.$$.fragment,s),_(n.$$.fragment,s),i=!1},d(s){E(e,s),s&&b(t),r[5](null),E(n,s)}}}function G1e(r,e,t){let n,i;fe(r,Ge,f=>t(0,i=f));let l,s;const o=async()=>{try{await Ze.revertAppChanges(n);const f=await Ze.fetchAppPackage(n);await Ge.actions.initialise(f),we.info("Changes reverted successfully")}catch(f){we.error(`Error reverting changes: ${f}`)}};function a(f){s=f,t(2,s)}function u(f){K[f?"unshift":"push"](()=>{l=f,t(1,l)})}return r.$$.update=()=>{r.$$.dirty&1&&(n=i.appId)},[i,l,s,o,a,u]}class Y1e extends se{constructor(e){super();oe(this,e,G1e,W1e,ie,{})}}const J1e="@budibase/client",Q1e="1.0.145",X1e="MPL-2.0",K1e="dist/budibase-client.js",Z1e="dist/budibase-client.js",x1e="module",eme="src/index.js",tme={".":{import:"./dist/budibase-client.js",require:"./dist/budibase-client.js"},"./package.json":"./package.json","./manifest.json":"./manifest.json"},nme={build:"rollup -c","dev:builder":"rollup -cw"},rme={"@budibase/bbui":"^1.0.145","@budibase/frontend-core":"^1.0.145","@budibase/string-templates":"^1.0.145","@spectrum-css/button":"^3.0.3","@spectrum-css/card":"^3.0.3","@spectrum-css/divider":"^1.0.3","@spectrum-css/link":"^3.1.3","@spectrum-css/page":"^3.0.1","@spectrum-css/tag":"^3.1.4","@spectrum-css/typography":"^3.0.2","@spectrum-css/vars":"^3.0.1",apexcharts:"^3.22.1",dayjs:"^1.10.5",downloadjs:"1.4.7",leaflet:"^1.7.1",regexparam:"^1.3.0","rollup-plugin-polyfill-node":"^0.8.0","sanitize-html":"^2.7.0",screenfull:"^6.0.1",shortid:"^2.2.15",svelte:"^3.38.2","svelte-apexcharts":"^1.0.2","svelte-flatpickr":"^3.1.0","svelte-spa-router":"^3.0.5"},ime={"@rollup/plugin-alias":"^3.1.5","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-node-resolve":"^11.2.1",postcss:"^8.2.10",rollup:"^2.44.0","rollup-plugin-json":"^4.0.0","rollup-plugin-postcss":"^4.0.0","rollup-plugin-svelte":"^7.1.0","rollup-plugin-svg":"^2.0.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-visualizer":"^5.5.4"},lme="d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc";var H1={name:J1e,version:Q1e,license:X1e,module:K1e,main:Z1e,type:x1e,svelte:eme,exports:tme,scripts:nme,dependencies:rme,devDependencies:ime,gitHead:lme};function sme(r){let e,t;return e=new Ye({props:{size:"S",$$slots:{default:[ame]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&513&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function ome(r){let e,t;return e=new Ye({props:{size:"S",$$slots:{default:[ume]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&513&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function ame(r){let e,t,n=r[0].version+"",i,l;return{c(){e=F("This app is currently using version "),t=j("b"),i=F(n),l=F(` which is the
1250
1250
  latest version available.`)},m(s,o){$(s,e,o),$(s,t,o),N(t,i),$(s,l,o)},p(s,o){o&1&&n!==(n=s[0].version+"")&&Ee(i,n)},d(s){s&&b(e),s&&b(t),s&&b(l)}}}function ume(r){let e,t,n=r[0].version+"",i,l,s,o;return{c(){e=F("This app is currently using version "),t=j("b"),i=F(n),l=F(`, but version
1251
1251
  `),s=j("b"),s.textContent=`${H1.version}`,o=F(` is available. Updates can contain new features,
1252
1252
  performance improvements and bug fixes.`)},m(a,u){$(a,e,u),$(a,t,u),N(t,i),$(a,l,u),$(a,s,u),$(a,o,u)},p(a,u){u&1&&n!==(n=a[0].version+"")&&Ee(i,n)},d(a){a&&b(e),a&&b(t),a&&b(l),a&&b(s),a&&b(o)}}}function r7(r){let e,t;return e=new Ye({props:{size:"S",$$slots:{default:[fme]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&513&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function fme(r){let e,t,n=r[0].revertableVersion+"",i,l;return{c(){e=F(`You can revert this app to version
@@ -1290,7 +1290,7 @@ function print() { __p += __j.call(arguments, '') }
1290
1290
  if visited directly.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function tbe(r){let e,t,n,i,l,s;return e=new gt({props:{size:"XS",$$slots:{default:[x$e]},$$scope:{ctx:r}}}),n=new Ye({props:{$$slots:{default:[ebe]},$$scope:{ctx:r}}}),l=new Bi({props:{schema:r[12],data:r[7],allowEditColumns:!1,allowEditRows:!1,allowSelectRows:!1}}),l.$on("click",r[20]),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment)},m(o,a){A(e,o,a),$(o,t,a),A(n,o,a),$(o,i,a),A(l,o,a),s=!0},p(o,a){const u={};a&536870912&&(u.$$scope={dirty:a,ctx:o}),e.$set(u);const f={};a&536870912&&(f.$$scope={dirty:a,ctx:o}),n.$set(f);const c={};a&128&&(c.data=o[7]),l.$set(c)},i(o){s||(m(e.$$.fragment,o),m(n.$$.fragment,o),m(l.$$.fragment,o),s=!0)},o(o){_(e.$$.fragment,o),_(n.$$.fragment,o),_(l.$$.fragment,o),s=!1},d(o){E(e,o),o&&b(t),E(n,o),o&&b(i),E(l,o)}}}function nbe(r){let e;return{c(){e=F("Delete user")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function rbe(r){let e;return{c(){e=F("Deleting a user completely removes them from your account.")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function ibe(r){let e,t,n,i;return e=new gt({props:{size:"S",$$slots:{default:[nbe]},$$scope:{ctx:r}}}),n=new Ye({props:{$$slots:{default:[rbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&536870912&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&536870912&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function lbe(r){let e;return{c(){e=F("Delete user")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function sbe(r){let e,t,n,i,l,s,o,a,u,f,c,p,d,g,h,v,y,k,I;return e=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[q$e]},$$scope:{ctx:r}}}),n=new nn({props:{size:"S"}}),l=new Ve({props:{gap:"S",noPadding:!0,$$slots:{default:[Q$e]},$$scope:{ctx:r}}}),o=new nn({props:{size:"S"}}),u=new Ve({props:{gap:"S",noPadding:!0,$$slots:{default:[Z$e]},$$scope:{ctx:r}}}),c=new Ve({props:{gap:"S",noPadding:!0,$$slots:{default:[tbe]},$$scope:{ctx:r}}}),d=new nn({props:{size:"S"}}),h=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[ibe]},$$scope:{ctx:r}}}),k=new ot({props:{warning:!0,$$slots:{default:[lbe]},$$scope:{ctx:r}}}),k.$on("click",function(){ft(r[2].show)&&r[2].show.apply(this,arguments)}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment),s=R(),S(o.$$.fragment),a=R(),S(u.$$.fragment),f=R(),S(c.$$.fragment),p=R(),S(d.$$.fragment),g=R(),S(h.$$.fragment),v=R(),y=j("div"),S(k.$$.fragment),w(y,"class","delete-button")},m(T,O){A(e,T,O),$(T,t,O),A(n,T,O),$(T,i,O),A(l,T,O),$(T,s,O),A(o,T,O),$(T,a,O),A(u,T,O),$(T,f,O),A(c,T,O),$(T,p,O),A(d,T,O),$(T,g,O),A(h,T,O),$(T,v,O),$(T,y,O),A(k,y,null),I=!0},p(T,O){r=T;const L={};O&536871426&&(L.$$scope={dirty:O,ctx:r}),e.$set(L);const M={};O&536872019&&(M.$$scope={dirty:O,ctx:r}),l.$set(M);const U={};O&536871168&&(U.$$scope={dirty:O,ctx:r}),u.$set(U);const D={};O&536871040&&(D.$$scope={dirty:O,ctx:r}),c.$set(D);const B={};O&536870912&&(B.$$scope={dirty:O,ctx:r}),h.$set(B);const V={};O&536870912&&(V.$$scope={dirty:O,ctx:r}),k.$set(V)},i(T){I||(m(e.$$.fragment,T),m(n.$$.fragment,T),m(l.$$.fragment,T),m(o.$$.fragment,T),m(u.$$.fragment,T),m(c.$$.fragment,T),m(d.$$.fragment,T),m(h.$$.fragment,T),m(k.$$.fragment,T),I=!0)},o(T){_(e.$$.fragment,T),_(n.$$.fragment,T),_(l.$$.fragment,T),_(o.$$.fragment,T),_(u.$$.fragment,T),_(c.$$.fragment,T),_(d.$$.fragment,T),_(h.$$.fragment,T),_(k.$$.fragment,T),I=!1},d(T){E(e,T),T&&b(t),E(n,T),T&&b(i),E(l,T),T&&b(s),E(o,T),T&&b(a),E(u,T),T&&b(f),E(c,T),T&&b(p),E(d,T),T&&b(g),E(h,T),T&&b(v),T&&b(y),E(k)}}}function obe(r){var l,s;let e,t,n=((s=(l=r[1])==null?void 0:l.data)==null?void 0:s.email)+"",i;return{c(){e=F("Are you sure you want to delete "),t=j("strong"),i=F(n)},m(o,a){$(o,e,a),$(o,t,a),N(t,i)},p(o,a){var u,f;a&2&&n!==(n=((f=(u=o[1])==null?void 0:u.data)==null?void 0:f.email)+"")&&Ee(i,n)},d(o){o&&b(e),o&&b(t)}}}function abe(r){let e,t;return e=new Ye({props:{$$slots:{default:[obe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&536870914&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function ube(r){let e,t;return e=new Nt({props:{warning:!0,onConfirm:r[15],title:"Delete User",confirmText:"Delete user",cancelText:"Cancel",showCloseIcon:!1,$$slots:{default:[abe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&536870914&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function fbe(r){let e,t;return e=new L$e({props:{app:r[5],user:r[1].data}}),e.$on("update",r[13].refresh),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&32&&(l.app=n[5]),i&2&&(l.user=n[1].data),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function cbe(r){let e,t;return e=new D$e({props:{user:r[1].data}}),e.$on("update",r[13].refresh),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&2&&(l.user=n[1].data),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function pbe(r){let e,t,n,i,l,s,o,a;e=new Ve({props:{noPadding:!0,$$slots:{default:[sbe]},$$scope:{ctx:r}}});let u={$$slots:{default:[ube]},$$scope:{ctx:r}};n=new kt({props:u}),r[25](n);let f={$$slots:{default:[fbe]},$$scope:{ctx:r}};l=new kt({props:f}),r[26](l);let c={$$slots:{default:[cbe]},$$scope:{ctx:r}};return o=new kt({props:c}),r[27](o),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment),s=R(),S(o.$$.fragment)},m(p,d){A(e,p,d),$(p,t,d),A(n,p,d),$(p,i,d),A(l,p,d),$(p,s,d),A(o,p,d),a=!0},p(p,[d]){const g={};d&536872919&&(g.$$scope={dirty:d,ctx:p}),e.$set(g);const h={};d&536870914&&(h.$$scope={dirty:d,ctx:p}),n.$set(h);const v={};d&536870946&&(v.$$scope={dirty:d,ctx:p}),l.$set(v);const y={};d&536870914&&(y.$$scope={dirty:d,ctx:p}),o.$set(y)},i(p){a||(m(e.$$.fragment,p),m(n.$$.fragment,p),m(l.$$.fragment,p),m(o.$$.fragment,p),a=!0)},o(p){_(e.$$.fragment,p),_(n.$$.fragment,p),_(l.$$.fragment,p),_(o.$$.fragment,p),a=!1},d(p){E(e,p),p&&b(t),r[25](null),E(n,p),p&&b(i),r[26](null),E(l,p),p&&b(s),r[27](null),E(o,p)}}}function dbe(r,e,t){let n,i,l,s,o,a,u,f;fe(r,Ut,W=>t(9,a=W)),fe(r,Ft,W=>t(10,f=W));let{userId:c}=e,p,d,g;const h={name:{displayName:"App"},role:{}},v={name:{displayName:"App"}};let y;const k=tv(`/api/global/users/${c}`);fe(r,k,W=>t(1,o=W));const I=tv("/api/global/roles");fe(r,I,W=>t(23,u=W));async function T(){var W;try{await yi.delete(c),we.success(`User ${(W=o==null?void 0:o.data)==null?void 0:W.email} deleted.`),a("./")}catch{we.error("Error deleting user")}}let O=!1;async function L(W){try{await yi.save(lt(ke({},o==null?void 0:o.data),{firstName:W.target.value})),await k.refresh()}catch{we.error("Error updating user")}}async function M(W){try{await yi.save(lt(ke({},o==null?void 0:o.data),{lastName:W.target.value})),await k.refresh()}catch{we.error("Error updating user")}}async function U(W,J){t(6,O=!0);try{await yi.save(lt(ke({},o==null?void 0:o.data),{[W]:{global:J}})),await k.refresh()}catch{we.error("Error updating user")}t(6,O=!1)}async function D({detail:W}){return U("builder",W)}async function B({detail:W}){return U("admin",W)}async function V({detail:W}){t(5,y=W),d.show()}const G=()=>a("./");function Q(W){K[W?"unshift":"push"](()=>{p=W,t(2,p)})}function H(W){K[W?"unshift":"push"](()=>{d=W,t(3,d)})}function q(W){K[W?"unshift":"push"](()=>{g=W,t(4,g)})}return r.$$set=W=>{"userId"in W&&t(0,c=W.userId)},r.$$.update=()=>{var W,J;r.$$.dirty&2&&t(22,n=((J=(W=o==null?void 0:o.data)==null?void 0:W.builder)==null?void 0:J.global)?"ADMIN":""),r.$$.dirty&12582914&&t(21,i=Object.keys(u==null?void 0:u.data).map(pe=>{var Z,$e,Ie,Te;const ne=(($e=(Z=o==null?void 0:o.data)==null?void 0:Z.roles)==null?void 0:$e[pe])||n,re=(Ie=u==null?void 0:u.data)==null?void 0:Ie[pe].roles.find(ce=>ce._id===ne);return lt(ke({},(Te=u==null?void 0:u.data)==null?void 0:Te[pe]),{_id:pe,role:[re]})})),r.$$.dirty&2097152&&t(8,l=i.filter(pe=>!!pe.role[0])),r.$$.dirty&2097152&&t(7,s=i.filter(pe=>!pe.role[0]).map(pe=>(delete pe.role,pe)))},[c,o,p,d,g,y,O,s,l,a,f,h,v,k,I,T,L,M,D,B,V,i,n,u,G,Q,H,q]}class mbe extends se{constructor(e){super();oe(this,e,dbe,pbe,ie,{userId:0})}}function gbe(r){let e;return{c(){e=F(`If you have SMTP configured and an email for the new user, you can use the
1291
1291
  automated email onboarding flow. Otherwise, use our basic onboarding process
1292
1292
  with autogenerated passwords.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function _be(r){let e;return{c(){e=F("Development access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function hbe(r){let e;return{c(){e=F("Administration access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function $be(r){let e,t,n,i,l,s,o,a,u,f,c,p,d,g,h,v,y,k,I,T,O;e=new Ye({props:{size:"S",$$slots:{default:[gbe]},$$scope:{ctx:r}}});function L(H){r[12](H)}let M={placeholder:null,options:r[7],label:"Add new user via:"};r[1]!==void 0&&(M.value=r[1]),n=new Qe({props:M}),K.push(()=>de(n,"value",L)),n.$on("change",r[13]);function U(H){r[14](H)}let D={type:"email",error:r[6]&&r[5],placeholder:"john@doe.com",label:"Email"};r[4]!==void 0&&(D.value=r[4]),s=new nt({props:D}),K.push(()=>de(s,"value",U)),c=new Ke({props:{size:"L",$$slots:{default:[_be]},$$scope:{ctx:r}}});function B(H){r[15](H)}let V={text:""};r[2]!==void 0&&(V.value=r[2]),d=new Gn({props:V}),K.push(()=>de(d,"value",B)),y=new Ke({props:{size:"L",$$slots:{default:[hbe]},$$scope:{ctx:r}}});function G(H){r[16](H)}let Q={text:""};return r[3]!==void 0&&(Q.value=r[3]),I=new Gn({props:Q}),K.push(()=>de(I,"value",G)),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),l=R(),S(s.$$.fragment),a=R(),u=j("div"),f=j("div"),S(c.$$.fragment),p=R(),S(d.$$.fragment),h=R(),v=j("div"),S(y.$$.fragment),k=R(),S(I.$$.fragment),w(f,"class","toggle svelte-wbuk9c"),w(v,"class","toggle svelte-wbuk9c")},m(H,q){A(e,H,q),$(H,t,q),A(n,H,q),$(H,l,q),A(s,H,q),$(H,a,q),$(H,u,q),N(u,f),A(c,f,null),N(f,p),A(d,f,null),N(u,h),N(u,v),A(y,v,null),N(v,k),A(I,v,null),O=!0},p(H,q){const W={};q&131072&&(W.$$scope={dirty:q,ctx:H}),e.$set(W);const J={};!i&&q&2&&(i=!0,J.value=H[1],me(()=>i=!1)),n.$set(J);const pe={};q&96&&(pe.error=H[6]&&H[5]),!o&&q&16&&(o=!0,pe.value=H[4],me(()=>o=!1)),s.$set(pe);const ne={};q&131072&&(ne.$$scope={dirty:q,ctx:H}),c.$set(ne);const re={};!g&&q&4&&(g=!0,re.value=H[2],me(()=>g=!1)),d.$set(re);const Z={};q&131072&&(Z.$$scope={dirty:q,ctx:H}),y.$set(Z);const $e={};!T&&q&8&&(T=!0,$e.value=H[3],me(()=>T=!1)),I.$set($e)},i(H){O||(m(e.$$.fragment,H),m(n.$$.fragment,H),m(s.$$.fragment,H),m(c.$$.fragment,H),m(d.$$.fragment,H),m(y.$$.fragment,H),m(I.$$.fragment,H),O=!0)},o(H){_(e.$$.fragment,H),_(n.$$.fragment,H),_(s.$$.fragment,H),_(c.$$.fragment,H),_(d.$$.fragment,H),_(y.$$.fragment,H),_(I.$$.fragment,H),O=!1},d(H){E(e,H),H&&b(t),E(n,H),H&&b(l),E(s,H),H&&b(a),H&&b(u),E(c),E(d),E(y),E(I)}}}function bbe(r){let e,t;return e=new Nt({props:{onConfirm:r[11],size:"M",title:"Add new user",confirmText:"Add user",confirmDisabled:r[0],cancelText:"Cancel",disabled:r[5],showCloseIcon:!1,$$slots:{default:[$be]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,[i]){const l={};i&1&&(l.confirmDisabled=n[0]),i&32&&(l.disabled=n[5]),i&131198&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function vbe(r,e,t){let n,i,l,{disabled:s}=e;const o=["Email onboarding","Basic onboarding"];let a=o[0],u,f;const[c,p,d]=Kf("",G3);fe(r,c,T=>t(4,n=T)),fe(r,p,T=>t(5,i=T)),fe(r,d,T=>t(6,l=T));async function g(){try{const T=await yi.invite({email:n,builder:u,admin:f});we.success(T.message),Ln.captureEvent(Nn.USER.INVITE,{type:a})}catch{we.error("Error inviting user")}}function h(T){a=T,t(1,a)}function v(T){pt.call(this,r,T)}function y(T){n=T,c.set(n)}function k(T){u=T,t(2,u)}function I(T){f=T,t(3,f)}return r.$$set=T=>{"disabled"in T&&t(0,s=T.disabled)},[s,a,u,f,n,i,l,o,c,p,d,g,h,v,y,k,I]}class wbe extends se{constructor(e){super();oe(this,e,vbe,bbe,ie,{disabled:0})}}function ybe(r){let e;return{c(){e=F(`Below you will find the user\u2019s username and password. The password will not
1293
- be accessible from this point. Please save the credentials.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function kbe(r){let e;return{c(){e=F("Development access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Cbe(r){let e;return{c(){e=F("Administration access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Sbe(r){let e,t,n,i,l,s,o,a,u,f,c,p,d,g,h,v,y,k,I,T;e=new Ye({props:{size:"S",$$slots:{default:[ybe]},$$scope:{ctx:r}}});function O(V){r[10](V)}let L={type:"email",label:"Username",error:r[4]&&r[3]};r[2]!==void 0&&(L.value=r[2]),n=new nt({props:L}),K.push(()=>de(n,"value",O)),s=new nt({props:{disabled:!0,label:"Password",value:r[8]}}),f=new Ke({props:{size:"L",$$slots:{default:[kbe]},$$scope:{ctx:r}}});function M(V){r[11](V)}let U={text:""};r[0]!==void 0&&(U.value=r[0]),p=new Gn({props:U}),K.push(()=>de(p,"value",M)),v=new Ke({props:{size:"L",$$slots:{default:[Cbe]},$$scope:{ctx:r}}});function D(V){r[12](V)}let B={text:""};return r[1]!==void 0&&(B.value=r[1]),k=new Gn({props:B}),K.push(()=>de(k,"value",D)),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),l=R(),S(s.$$.fragment),o=R(),a=j("div"),u=j("div"),S(f.$$.fragment),c=R(),S(p.$$.fragment),g=R(),h=j("div"),S(v.$$.fragment),y=R(),S(k.$$.fragment),w(u,"class","toggle svelte-wbuk9c"),w(h,"class","toggle svelte-wbuk9c")},m(V,G){A(e,V,G),$(V,t,G),A(n,V,G),$(V,l,G),A(s,V,G),$(V,o,G),$(V,a,G),N(a,u),A(f,u,null),N(u,c),A(p,u,null),N(a,g),N(a,h),A(v,h,null),N(h,y),A(k,h,null),T=!0},p(V,G){const Q={};G&8192&&(Q.$$scope={dirty:G,ctx:V}),e.$set(Q);const H={};G&24&&(H.error=V[4]&&V[3]),!i&&G&4&&(i=!0,H.value=V[2],me(()=>i=!1)),n.$set(H);const q={};G&8192&&(q.$$scope={dirty:G,ctx:V}),f.$set(q);const W={};!d&&G&1&&(d=!0,W.value=V[0],me(()=>d=!1)),p.$set(W);const J={};G&8192&&(J.$$scope={dirty:G,ctx:V}),v.$set(J);const pe={};!I&&G&2&&(I=!0,pe.value=V[1],me(()=>I=!1)),k.$set(pe)},i(V){T||(m(e.$$.fragment,V),m(n.$$.fragment,V),m(s.$$.fragment,V),m(f.$$.fragment,V),m(p.$$.fragment,V),m(v.$$.fragment,V),m(k.$$.fragment,V),T=!0)},o(V){_(e.$$.fragment,V),_(n.$$.fragment,V),_(s.$$.fragment,V),_(f.$$.fragment,V),_(p.$$.fragment,V),_(v.$$.fragment,V),_(k.$$.fragment,V),T=!1},d(V){E(e,V),V&&b(t),E(n,V),V&&b(l),E(s,V),V&&b(o),V&&b(a),E(f),E(p),E(v),E(k)}}}function Abe(r){let e,t;return e=new Nt({props:{onConfirm:r[9],size:"M",title:"Basic user onboarding",confirmText:"Continue",cancelText:"Cancel",disabled:r[3],error:r[4]&&r[3],showCloseIcon:!1,$$slots:{default:[Sbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,[i]){const l={};i&8&&(l.disabled=n[3]),i&24&&(l.error=n[4]&&n[3]),i&8223&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function Ebe(r,e,t){let n,i,l;const[s,o,a]=Kf("",G3);fe(r,s,v=>t(2,n=v)),fe(r,o,v=>t(3,i=v)),fe(r,a,v=>t(4,l=v));const u=Math.random().toString(36).slice(2,20);let f=!1,c=!1;async function p(){try{await yi.create({email:n,password:u,builder:f,admin:c,forceResetPassword:!0}),we.success("Successfully created user")}catch(v){we.error(v.message)}}function d(v){n=v,s.set(n)}function g(v){f=v,t(0,f)}function h(v){c=v,t(1,c)}return[f,c,n,i,l,s,o,a,u,p,d,g,h]}class Obe extends se{constructor(e){super();oe(this,e,Ebe,Abe,ie,{})}}function Tbe(r){let e;return{c(){e=F("Users")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Ibe(r){let e;return{c(){e=F(`Each user is assigned to a group that contains apps and permissions. In
1293
+ be accessible from this point. Please save the credentials.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function kbe(r){let e;return{c(){e=F("Development access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Cbe(r){let e;return{c(){e=F("Administration access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Sbe(r){let e,t,n,i,l,s,o,a,u,f,c,p,d,g,h,v,y,k,I,T;e=new Ye({props:{size:"S",$$slots:{default:[ybe]},$$scope:{ctx:r}}});function O(V){r[10](V)}let L={type:"email",label:"Email",error:r[4]&&r[3]};r[2]!==void 0&&(L.value=r[2]),n=new nt({props:L}),K.push(()=>de(n,"value",O)),s=new nt({props:{disabled:!0,label:"Password",value:r[8]}}),f=new Ke({props:{size:"L",$$slots:{default:[kbe]},$$scope:{ctx:r}}});function M(V){r[11](V)}let U={text:""};r[0]!==void 0&&(U.value=r[0]),p=new Gn({props:U}),K.push(()=>de(p,"value",M)),v=new Ke({props:{size:"L",$$slots:{default:[Cbe]},$$scope:{ctx:r}}});function D(V){r[12](V)}let B={text:""};return r[1]!==void 0&&(B.value=r[1]),k=new Gn({props:B}),K.push(()=>de(k,"value",D)),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),l=R(),S(s.$$.fragment),o=R(),a=j("div"),u=j("div"),S(f.$$.fragment),c=R(),S(p.$$.fragment),g=R(),h=j("div"),S(v.$$.fragment),y=R(),S(k.$$.fragment),w(u,"class","toggle svelte-wbuk9c"),w(h,"class","toggle svelte-wbuk9c")},m(V,G){A(e,V,G),$(V,t,G),A(n,V,G),$(V,l,G),A(s,V,G),$(V,o,G),$(V,a,G),N(a,u),A(f,u,null),N(u,c),A(p,u,null),N(a,g),N(a,h),A(v,h,null),N(h,y),A(k,h,null),T=!0},p(V,G){const Q={};G&8192&&(Q.$$scope={dirty:G,ctx:V}),e.$set(Q);const H={};G&24&&(H.error=V[4]&&V[3]),!i&&G&4&&(i=!0,H.value=V[2],me(()=>i=!1)),n.$set(H);const q={};G&8192&&(q.$$scope={dirty:G,ctx:V}),f.$set(q);const W={};!d&&G&1&&(d=!0,W.value=V[0],me(()=>d=!1)),p.$set(W);const J={};G&8192&&(J.$$scope={dirty:G,ctx:V}),v.$set(J);const pe={};!I&&G&2&&(I=!0,pe.value=V[1],me(()=>I=!1)),k.$set(pe)},i(V){T||(m(e.$$.fragment,V),m(n.$$.fragment,V),m(s.$$.fragment,V),m(f.$$.fragment,V),m(p.$$.fragment,V),m(v.$$.fragment,V),m(k.$$.fragment,V),T=!0)},o(V){_(e.$$.fragment,V),_(n.$$.fragment,V),_(s.$$.fragment,V),_(f.$$.fragment,V),_(p.$$.fragment,V),_(v.$$.fragment,V),_(k.$$.fragment,V),T=!1},d(V){E(e,V),V&&b(t),E(n,V),V&&b(l),E(s,V),V&&b(o),V&&b(a),E(f),E(p),E(v),E(k)}}}function Abe(r){let e,t;return e=new Nt({props:{onConfirm:r[9],size:"M",title:"Basic user onboarding",confirmText:"Continue",cancelText:"Cancel",disabled:r[3],error:r[4]&&r[3],showCloseIcon:!1,$$slots:{default:[Sbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,[i]){const l={};i&8&&(l.disabled=n[3]),i&24&&(l.error=n[4]&&n[3]),i&8223&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function Ebe(r,e,t){let n,i,l;const[s,o,a]=Kf("",G3);fe(r,s,v=>t(2,n=v)),fe(r,o,v=>t(3,i=v)),fe(r,a,v=>t(4,l=v));const u=Math.random().toString(36).slice(2,20);let f=!1,c=!1;async function p(){try{await yi.create({email:n,password:u,builder:f,admin:c,forceResetPassword:!0}),we.success("Successfully created user")}catch(v){we.error(v.message)}}function d(v){n=v,s.set(n)}function g(v){f=v,t(0,f)}function h(v){c=v,t(1,c)}return[f,c,n,i,l,s,o,a,u,p,d,g,h]}class Obe extends se{constructor(e){super();oe(this,e,Ebe,Abe,ie,{})}}function Tbe(r){let e;return{c(){e=F("Users")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Ibe(r){let e;return{c(){e=F(`Each user is assigned to a group that contains apps and permissions. In
1294
1294
  this section, you can add users, or edit and delete an existing user.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Lbe(r){let e,t,n,i;return e=new gt({props:{$$slots:{default:[Tbe]},$$scope:{ctx:r}}}),n=new Ye({props:{$$slots:{default:[Ibe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&8192&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&8192&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function Pbe(r){let e;return{c(){e=F("Users")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Nbe(r){let e;return{c(){e=F("Import users")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Rbe(r){let e;return{c(){e=F("Add user")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Mbe(r){let e,t,n,i;return e=new ot({props:{disabled:!0,secondary:!0,$$slots:{default:[Nbe]},$$scope:{ctx:r}}}),n=new ot({props:{primary:!0,dataCy:"add-user",$$slots:{default:[Rbe]},$$scope:{ctx:r}}}),n.$on("click",function(){ft(r[2].show)&&r[2].show.apply(this,arguments)}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){r=l;const o={};s&8192&&(o.$$scope={dirty:s,ctx:r}),e.$set(o);const a={};s&8192&&(a.$$scope={dirty:s,ctx:r}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function Dbe(r){let e;return{c(){e=F("Search / filter")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function jbe(r){let e,t,n,i,l,s,o,a,u,f,c,p,d;t=new gt({props:{size:"S",$$slots:{default:[Pbe]},$$scope:{ctx:r}}}),i=new Ih({props:{$$slots:{default:[Mbe]},$$scope:{ctx:r}}}),o=new Ke({props:{size:"L",$$slots:{default:[Dbe]},$$scope:{ctx:r}}});function g(v){r[9](v)}let h={placeholder:""};return r[0]!==void 0&&(h.value=r[0]),u=new Ff({props:h}),K.push(()=>de(u,"value",g)),p=new Bi({props:{schema:r[6],data:r[4]||r[1],allowEditColumns:!1,allowEditRows:!1,allowSelectRows:!1,customRenderers:[{column:"group",component:w9}]}}),p.$on("click",r[10]),{c(){e=j("div"),S(t.$$.fragment),n=R(),S(i.$$.fragment),l=R(),s=j("div"),S(o.$$.fragment),a=R(),S(u.$$.fragment),c=R(),S(p.$$.fragment),w(e,"class","users-heading svelte-o4fhum"),w(s,"class","field svelte-o4fhum")},m(v,y){$(v,e,y),A(t,e,null),N(e,n),A(i,e,null),$(v,l,y),$(v,s,y),A(o,s,null),N(s,a),A(u,s,null),$(v,c,y),A(p,v,y),d=!0},p(v,y){const k={};y&8192&&(k.$$scope={dirty:y,ctx:v}),t.$set(k);const I={};y&8196&&(I.$$scope={dirty:y,ctx:v}),i.$set(I);const T={};y&8192&&(T.$$scope={dirty:y,ctx:v}),o.$set(T);const O={};!f&&y&1&&(f=!0,O.value=v[0],me(()=>f=!1)),u.$set(O);const L={};y&18&&(L.data=v[4]||v[1]),p.$set(L)},i(v){d||(m(t.$$.fragment,v),m(i.$$.fragment,v),m(o.$$.fragment,v),m(u.$$.fragment,v),m(p.$$.fragment,v),d=!0)},o(v){_(t.$$.fragment,v),_(i.$$.fragment,v),_(o.$$.fragment,v),_(u.$$.fragment,v),_(p.$$.fragment,v),d=!1},d(v){v&&b(e),E(t),E(i),v&&b(l),v&&b(s),E(o),E(u),v&&b(c),E(p,v)}}}function Bbe(r){let e,t,n,i,l,s;return e=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[Lbe]},$$scope:{ctx:r}}}),n=new nn({props:{size:"S"}}),l=new Ve({props:{gap:"S",noPadding:!0,$$slots:{default:[jbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment)},m(o,a){A(e,o,a),$(o,t,a),A(n,o,a),$(o,i,a),A(l,o,a),s=!0},p(o,a){const u={};a&8192&&(u.$$scope={dirty:a,ctx:o}),e.$set(u);const f={};a&8247&&(f.$$scope={dirty:a,ctx:o}),l.$set(f)},i(o){s||(m(e.$$.fragment,o),m(n.$$.fragment,o),m(l.$$.fragment,o),s=!0)},o(o){_(e.$$.fragment,o),_(n.$$.fragment,o),_(l.$$.fragment,o),s=!1},d(o){E(e,o),o&&b(t),E(n,o),o&&b(i),E(l,o)}}}function zbe(r){let e,t;return e=new wbe({}),e.$on("change",r[8]),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p:Se,i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function qbe(r){let e,t;return e=new Obe({props:{email:r[7]}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p:Se,i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function Ube(r){let e,t,n,i,l,s;e=new Ve({props:{noPadding:!0,$$slots:{default:[Bbe]},$$scope:{ctx:r}}});let o={$$slots:{default:[zbe]},$$scope:{ctx:r}};n=new kt({props:o}),r[11](n);let a={$$slots:{default:[qbe]},$$scope:{ctx:r}};return l=new kt({props:a}),r[12](l),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment)},m(u,f){A(e,u,f),$(u,t,f),A(n,u,f),$(u,i,f),A(l,u,f),s=!0},p(u,[f]){const c={};f&8247&&(c.$$scope={dirty:f,ctx:u}),e.$set(c);const p={};f&8192&&(p.$$scope={dirty:f,ctx:u}),n.$set(p);const d={};f&8192&&(d.$$scope={dirty:f,ctx:u}),l.$set(d)},i(u){s||(m(e.$$.fragment,u),m(n.$$.fragment,u),m(l.$$.fragment,u),s=!0)},o(u){_(e.$$.fragment,u),_(n.$$.fragment,u),_(l.$$.fragment,u),s=!1},d(u){E(e,u),u&&b(t),r[11](null),E(n,u),u&&b(i),r[12](null),E(l,u)}}}function Fbe(r,e,t){let n,i,l;fe(r,yi,v=>t(1,i=v)),fe(r,Ut,v=>t(5,l=v));const s={email:{},developmentAccess:{displayName:"Development Access",type:"boolean"},adminAccess:{displayName:"Admin Access",type:"boolean"},group:{}};let o,a,u,f;function c(){u.hide(),f.show()}qt(async()=>{try{await yi.init()}catch{we.error("Error getting user list")}});function p(v){o=v,t(0,o)}const d=({detail:v})=>l(`./${v._id}`);function g(v){K[v?"unshift":"push"](()=>{u=v,t(2,u)})}function h(v){K[v?"unshift":"push"](()=>{f=v,t(3,f)})}return r.$$.update=()=>{r.$$.dirty&3&&t(4,n=i.filter(v=>v.email.includes(o||"")).map(v=>{var y,k;return lt(ke({},v),{group:["All users"],developmentAccess:!!((y=v.builder)==null?void 0:y.global),adminAccess:!!((k=v.admin)==null?void 0:k.global)})}))},[o,i,u,f,n,l,s,a,c,p,d,g,h]}class Vbe extends se{constructor(e){super();oe(this,e,Fbe,Ube,ie,{})}}function C9(r){let e,t;return e=new Ks({props:{wide:r[1].path.includes("email/:template"),$$slots:{default:[Hbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&2&&(l.wide=n[1].path.includes("email/:template")),i&16&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function Hbe(r){let e;const t=r[3].default,n=bt(t,r,r[4],null);return{c(){n&&n.c()},m(i,l){n&&n.m(i,l),e=!0},p(i,l){n&&n.p&&(!e||l&16)&&vt(n,t,i,i[4],e?yt(t,i[4],l,null):wt(i[4]),null)},i(i){e||(m(n,i),e=!0)},o(i){_(n,i),e=!1},d(i){n&&n.d(i)}}}function Wbe(r){let e,t,n=r[0].isAdmin&&C9(r);return{c(){n&&n.c(),e=Ae()},m(i,l){n&&n.m(i,l),$(i,e,l),t=!0},p(i,[l]){i[0].isAdmin?n?(n.p(i,l),l&1&&m(n,1)):(n=C9(i),n.c(),m(n,1),n.m(e.parentNode,e)):n&&(ee(),_(n,1,1,()=>{n=null}),te())},i(i){t||(m(n),t=!0)},o(i){_(n),t=!1},d(i){n&&n.d(i),i&&b(e)}}}function Gbe(r,e,t){let n,i,l;fe(r,Kr,a=>t(2,n=a)),fe(r,Ft,a=>t(0,i=a)),fe(r,tA,a=>t(1,l=a));let{$$slots:s={},$$scope:o}=e;return r.$$set=a=>{"$$scope"in a&&t(4,o=a.$$scope)},r.$$.update=()=>{r.$$.dirty&5&&(i.isAdmin||n("../"))},[i,l,n,s,o]}class Ybe extends se{constructor(e){super();oe(this,e,Gbe,Wbe,ie,{})}}function Jbe(r,e,t){let n;return fe(r,Ut,i=>t(0,n=i)),n("./organisation"),[]}class Qbe extends se{constructor(e){super();oe(this,e,Jbe,null,ie,{})}}function S9(r){let e,t;return e=new Ve({props:{noPadding:!0,$$slots:{default:[u3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&4110&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function Xbe(r){let e;return{c(){e=F("Organisation")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Kbe(r){let e;return{c(){e=F(`Organisation settings is where you can edit your organisation name and
1295
1295
  logo. You can also configure your platform URL and enable or disable
1296
1296
  analytics.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Zbe(r){let e,t,n,i;return e=new gt({props:{size:"M",$$slots:{default:[Xbe]},$$scope:{ctx:r}}}),n=new Ye({props:{$$slots:{default:[Kbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&4096&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&4096&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function xbe(r){let e;return{c(){e=F("Information")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function e3e(r){let e;return{c(){e=F("Here you can update your logo and organization name.")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function t3e(r){let e,t,n,i;return e=new gt({props:{size:"S",$$slots:{default:[xbe]},$$scope:{ctx:r}}}),n=new Ye({props:{size:"S",$$slots:{default:[e3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&4096&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&4096&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function n3e(r){let e;return{c(){e=F("Org. name")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function r3e(r){let e;return{c(){e=F("Logo")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function A9(r){let e,t,n,i,l,s,o,a,u,f,c;e=new nn({props:{size:"S"}}),n=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[s3e]},$$scope:{ctx:r}}}),o=new Ke({props:{size:"L",tooltip:"Update the Platform URL to match your Budibase web URL. This keeps email templates and authentication configs up to date.",$$slots:{default:[o3e]},$$scope:{ctx:r}}});function p(g){r[9](g)}let d={thin:!0};return r[2].platformUrl!==void 0&&(d.value=r[2].platformUrl),u=new nt({props:d}),K.push(()=>de(u,"value",p)),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),l=j("div"),s=j("div"),S(o.$$.fragment),a=R(),S(u.$$.fragment),w(s,"class","field svelte-1aiadff"),w(l,"class","fields svelte-1aiadff")},m(g,h){A(e,g,h),$(g,t,h),A(n,g,h),$(g,i,h),$(g,l,h),N(l,s),A(o,s,null),N(s,a),A(u,s,null),c=!0},p(g,h){const v={};h&4096&&(v.$$scope={dirty:h,ctx:g}),n.$set(v);const y={};h&4096&&(y.$$scope={dirty:h,ctx:g}),o.$set(y);const k={};!f&&h&4&&(f=!0,k.value=g[2].platformUrl,me(()=>f=!1)),u.$set(k)},i(g){c||(m(e.$$.fragment,g),m(n.$$.fragment,g),m(o.$$.fragment,g),m(u.$$.fragment,g),c=!0)},o(g){_(e.$$.fragment,g),_(n.$$.fragment,g),_(o.$$.fragment,g),_(u.$$.fragment,g),c=!1},d(g){E(e,g),g&&b(t),E(n,g),g&&b(i),g&&b(l),E(o),E(u)}}}function i3e(r){let e;return{c(){e=F("Platform")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function l3e(r){let e;return{c(){e=F("Here you can set up general platform settings.")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function s3e(r){let e,t,n,i;return e=new gt({props:{size:"S",$$slots:{default:[i3e]},$$scope:{ctx:r}}}),n=new Ye({props:{size:"S",$$slots:{default:[l3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&4096&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&4096&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function o3e(r){let e;return{c(){e=F("Platform URL")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function a3e(r){let e;return{c(){e=F("Save")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function u3e(r){let e,t,n,i,l,s,o,a,u,f,c,p,d,g,h,v,y,k,I,T,O,L,M;e=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[Zbe]},$$scope:{ctx:r}}}),n=new nn({props:{size:"S"}}),l=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[t3e]},$$scope:{ctx:r}}}),u=new Ke({props:{size:"L",$$slots:{default:[n3e]},$$scope:{ctx:r}}});function U(V){r[7](V)}let D={thin:!0};r[2].company!==void 0&&(D.value=r[2].company),c=new nt({props:D}),K.push(()=>de(c,"value",U)),h=new Ke({props:{size:"L",$$slots:{default:[r3e]},$$scope:{ctx:r}}}),k=new Xo({props:{value:[r[2].logo]}}),k.$on("change",r[8]);let B=!r[3].cloud&&A9(r);return L=new ot({props:{disabled:r[1],cta:!0,$$slots:{default:[a3e]},$$scope:{ctx:r}}}),L.$on("click",r[5]),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment),s=R(),o=j("div"),a=j("div"),S(u.$$.fragment),f=R(),S(c.$$.fragment),d=R(),g=j("div"),S(h.$$.fragment),v=R(),y=j("div"),S(k.$$.fragment),I=R(),B&&B.c(),T=R(),O=j("div"),S(L.$$.fragment),w(a,"class","field svelte-1aiadff"),w(y,"class","file svelte-1aiadff"),w(g,"class","field logo svelte-1aiadff"),w(o,"class","fields svelte-1aiadff")},m(V,G){A(e,V,G),$(V,t,G),A(n,V,G),$(V,i,G),A(l,V,G),$(V,s,G),$(V,o,G),N(o,a),A(u,a,null),N(a,f),A(c,a,null),N(o,d),N(o,g),A(h,g,null),N(g,v),N(g,y),A(k,y,null),$(V,I,G),B&&B.m(V,G),$(V,T,G),$(V,O,G),A(L,O,null),M=!0},p(V,G){const Q={};G&4096&&(Q.$$scope={dirty:G,ctx:V}),e.$set(Q);const H={};G&4096&&(H.$$scope={dirty:G,ctx:V}),l.$set(H);const q={};G&4096&&(q.$$scope={dirty:G,ctx:V}),u.$set(q);const W={};!p&&G&4&&(p=!0,W.value=V[2].company,me(()=>p=!1)),c.$set(W);const J={};G&4096&&(J.$$scope={dirty:G,ctx:V}),h.$set(J);const pe={};G&4&&(pe.value=[V[2].logo]),k.$set(pe),V[3].cloud?B&&(ee(),_(B,1,1,()=>{B=null}),te()):B?(B.p(V,G),G&8&&m(B,1)):(B=A9(V),B.c(),m(B,1),B.m(T.parentNode,T));const ne={};G&2&&(ne.disabled=V[1]),G&4096&&(ne.$$scope={dirty:G,ctx:V}),L.$set(ne)},i(V){M||(m(e.$$.fragment,V),m(n.$$.fragment,V),m(l.$$.fragment,V),m(u.$$.fragment,V),m(c.$$.fragment,V),m(h.$$.fragment,V),m(k.$$.fragment,V),m(B),m(L.$$.fragment,V),M=!0)},o(V){_(e.$$.fragment,V),_(n.$$.fragment,V),_(l.$$.fragment,V),_(u.$$.fragment,V),_(c.$$.fragment,V),_(h.$$.fragment,V),_(k.$$.fragment,V),_(B),_(L.$$.fragment,V),M=!1},d(V){E(e,V),V&&b(t),E(n,V),V&&b(i),E(l,V),V&&b(s),V&&b(o),E(u),E(c),E(h),E(k),V&&b(I),B&&B.d(V),V&&b(T),V&&b(O),E(L)}}}function f3e(r){let e,t,n=r[0].isAdmin&&S9(r);return{c(){n&&n.c(),e=Ae()},m(i,l){n&&n.m(i,l),$(i,e,l),t=!0},p(i,[l]){i[0].isAdmin?n?(n.p(i,l),l&1&&m(n,1)):(n=S9(i),n.c(),m(n,1),n.m(e.parentNode,e)):n&&(ee(),_(n,1,1,()=>{n=null}),te())},i(i){t||(m(n),t=!0)},o(i){_(n),t=!1},d(i){n&&n.d(i),i&&b(e)}}}function c3e(r,e,t){let n,i,l,s,o;fe(r,hr,h=>t(10,i=h)),fe(r,Kr,h=>t(6,l=h)),fe(r,Ft,h=>t(0,s=h)),fe(r,Cn,h=>t(3,o=h));const a=mn({company:i.company,platformUrl:i.platformUrl,logo:i.logoUrl?{url:i.logoUrl,type:"image",name:"Logo"}:null});fe(r,a,h=>t(2,n=h));let u=!1;async function f(h){try{let v=new FormData;v.append("file",h),await Ze.uploadLogo(v)}catch{we.error("Error uploading logo")}}async function c(){var h,v;t(1,u=!0);try{n.logo&&!n.logo.url&&(await f(n.logo),await hr.init());const y={company:(h=n.company)!=null?h:"",platformUrl:(v=n.platformUrl)!=null?v:""};n.logo||(y.logoUrl=""),await hr.save(y)}catch{we.error("Error saving org config")}t(1,u=!1)}function p(h){r.$$.not_equal(n.company,h)&&(n.company=h,a.set(n))}const d=h=>{!h.detail||h.detail.length===0?Mn(a,n.logo=null,n):Mn(a,n.logo=h.detail[0],n)};function g(h){r.$$.not_equal(n.platformUrl,h)&&(n.platformUrl=h,a.set(n))}return r.$$.update=()=>{r.$$.dirty&65&&(s.isAdmin||l("../../portal"))},[s,u,n,o,a,c,l,p,d,g]}class p3e extends se{constructor(e){super();oe(this,e,c3e,f3e,ie,{})}}function d3e(r){let e;return{c(){e=F("Theming")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function m3e(r){let e;return{c(){e=F("Customize how Budibase looks and feels.")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function g3e(r){let e,t,n,i;return e=new gt({props:{size:"M",$$slots:{default:[d3e]},$$scope:{ctx:r}}}),n=new Ye({props:{$$slots:{default:[m3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&4&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&4&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function _3e(r){let e;return{c(){e=F("Builder theme")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function h3e(r){let e,t,n,i,l,s,o,a,u,f,c;e=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[g3e]},$$scope:{ctx:r}}}),n=new nn({props:{size:"S"}}),o=new Ke({props:{size:"L",$$slots:{default:[_3e]},$$scope:{ctx:r}}});function p(g){r[1](g)}let d={options:r[0].options,placeholder:null,getOptionLabel:Cr};return r[0].theme!==void 0&&(d.value=r[0].theme),u=new Qe({props:d}),K.push(()=>de(u,"value",p)),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),l=j("div"),s=j("div"),S(o.$$.fragment),a=R(),S(u.$$.fragment),w(s,"class","field svelte-1m1ewvx"),w(l,"class","fields svelte-1m1ewvx")},m(g,h){A(e,g,h),$(g,t,h),A(n,g,h),$(g,i,h),$(g,l,h),N(l,s),A(o,s,null),N(s,a),A(u,s,null),c=!0},p(g,h){const v={};h&4&&(v.$$scope={dirty:h,ctx:g}),e.$set(v);const y={};h&4&&(y.$$scope={dirty:h,ctx:g}),o.$set(y);const k={};h&1&&(k.options=g[0].options),!f&&h&1&&(f=!0,k.value=g[0].theme,me(()=>f=!1)),u.$set(k)},i(g){c||(m(e.$$.fragment,g),m(n.$$.fragment,g),m(o.$$.fragment,g),m(u.$$.fragment,g),c=!0)},o(g){_(e.$$.fragment,g),_(n.$$.fragment,g),_(o.$$.fragment,g),_(u.$$.fragment,g),c=!1},d(g){E(e,g),g&&b(t),E(n,g),g&&b(i),g&&b(l),E(o),E(u)}}}function $3e(r){let e,t;return e=new Ve({props:{noPadding:!0,$$slots:{default:[h3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,[i]){const l={};i&5&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function b3e(r,e,t){let n;fe(r,Yf,l=>t(0,n=l));function i(l){r.$$.not_equal(n.theme,l)&&(n.theme=l,Yf.set(n))}return[n,i]}class v3e extends se{constructor(e){super();oe(this,e,b3e,$3e,ie,{})}}function E9(r){let e,t;return e=new Ve({props:{noPadding:!0,$$slots:{default:[E3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&66&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function w3e(r){let e;return{c(){e=F("Updates")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function y3e(r){let e;return{c(){e=F(`Keep your budibase installation up to date to take advantage of the
@@ -10,7 +10,7 @@
10
10
  href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap"
11
11
  rel="stylesheet"
12
12
  />
13
- <script type="module" crossorigin src="/builder/assets/index.76d75e17.js"></script>
13
+ <script type="module" crossorigin src="/builder/assets/index.c773a612.js"></script>
14
14
  <link rel="modulepreload" href="/builder/assets/vendor.5240f480.js">
15
15
  <link rel="stylesheet" href="/builder/assets/vendor.5e1fe644.css">
16
16
  <link rel="stylesheet" href="/builder/assets/index.bb5e3dfd.css">
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1651756083508" clover="3.2.0">
3
- <project timestamp="1651756083508" name="All files">
2
+ <coverage generated="1651851408651" clover="3.2.0">
3
+ <project timestamp="1651851408651" name="All files">
4
4
  <metrics statements="4137" coveredstatements="2978" conditionals="1697" coveredconditionals="874" methods="611" coveredmethods="429" elements="6445" coveredelements="4281" complexity="0" loc="4137" ncloc="4137" packages="23" files="131" classes="131"/>
5
5
  <package name="api">
6
6
  <metrics statements="33" coveredstatements="31" conditionals="5" coveredconditionals="2" methods="4" coveredmethods="4"/>
@@ -187,7 +187,7 @@ exports.endUserPing = <span class="fstat-no" title="function not covered" >as</s
187
187
  <div class='footer quiet pad2 space-top1 center small'>
188
188
  Code coverage generated by
189
189
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
190
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
190
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
191
191
  </div>
192
192
  <script src="../../prettify.js"></script>
193
193
  <script>
@@ -232,7 +232,7 @@ exports.update = async function (ctx) {
232
232
  <div class='footer quiet pad2 space-top1 center small'>
233
233
  Code coverage generated by
234
234
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
235
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
236
236
  </div>
237
237
  <script src="../../prettify.js"></script>
238
238
  <script>
@@ -244,7 +244,7 @@ exports.fetchSelf = async ctx =&gt; {
244
244
  <div class='footer quiet pad2 space-top1 center small'>
245
245
  Code coverage generated by
246
246
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
247
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
247
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
248
248
  </div>
249
249
  <script src="../../prettify.js"></script>
250
250
  <script>
@@ -724,7 +724,7 @@ exports.test = async function (ctx) {
724
724
  <div class='footer quiet pad2 space-top1 center small'>
725
725
  Code coverage generated by
726
726
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
727
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
727
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
728
728
  </div>
729
729
  <script src="../../prettify.js"></script>
730
730
  <script>
@@ -97,7 +97,7 @@ exports.exportAppDump = async function (ctx) {
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
100
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
101
101
  </div>
102
102
  <script src="../../prettify.js"></script>
103
103
  <script>
@@ -409,7 +409,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
409
409
  <div class='footer quiet pad2 space-top1 center small'>
410
410
  Code coverage generated by
411
411
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
412
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
412
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
413
413
  </div>
414
414
  <script src="../../prettify.js"></script>
415
415
  <script>
@@ -172,7 +172,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
172
172
  <div class='footer quiet pad2 space-top1 center small'>
173
173
  Code coverage generated by
174
174
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
175
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
175
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
176
176
  </div>
177
177
  <script src="../../prettify.js"></script>
178
178
  <script>
@@ -847,7 +847,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
847
847
  <div class='footer quiet pad2 space-top1 center small'>
848
848
  Code coverage generated by
849
849
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
850
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
850
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
851
851
  </div>
852
852
  <script src="../../prettify.js"></script>
853
853
  <script>
@@ -451,7 +451,7 @@ exports.getBudibaseVersion = <span class="fstat-no" title="function not covered"
451
451
  <div class='footer quiet pad2 space-top1 center small'>
452
452
  Code coverage generated by
453
453
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
454
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
454
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
455
455
  </div>
456
456
  <script src="../../prettify.js"></script>
457
457
  <script>
@@ -401,7 +401,7 @@
401
401
  <div class='footer quiet pad2 space-top1 center small'>
402
402
  Code coverage generated by
403
403
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
404
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
404
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
405
405
  </div>
406
406
  <script src="../../prettify.js"></script>
407
407
  <script>
@@ -136,7 +136,7 @@ exports.find = async function (ctx) {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
139
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  <script src="../../prettify.js"></script>
142
142
  <script>
@@ -223,7 +223,7 @@ exports.destroy = async function (ctx) {
223
223
  <div class='footer quiet pad2 space-top1 center small'>
224
224
  Code coverage generated by
225
225
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
226
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
226
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
227
227
  </div>
228
228
  <script src="../../prettify.js"></script>
229
229
  <script>
@@ -193,7 +193,7 @@ exports.getMetadata = async ctx =&gt; {
193
193
  <div class='footer quiet pad2 space-top1 center small'>
194
194
  Code coverage generated by
195
195
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
196
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
196
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
197
197
  </div>
198
198
  <script src="../../prettify.js"></script>
199
199
  <script>
@@ -109,7 +109,7 @@ exports.fetchDefinitions = <span class="fstat-no" title="function not covered" >
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
112
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  <script src="../../prettify.js"></script>
115
115
  <script>
@@ -595,7 +595,7 @@ exports.removePermission = async function (ctx) {
595
595
  <div class='footer quiet pad2 space-top1 center small'>
596
596
  Code coverage generated by
597
597
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
598
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
598
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
599
599
  </div>
600
600
  <script src="../../prettify.js"></script>
601
601
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
104
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -220,7 +220,7 @@ exports.generateQueryPreviewValidation = () =&gt; {
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
223
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
225
  <script src="../../../prettify.js"></script>
226
226
  <script>
@@ -364,7 +364,7 @@ exports.destroy = async function (ctx) {
364
364
  <div class='footer quiet pad2 space-top1 center small'>
365
365
  Code coverage generated by
366
366
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
367
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
367
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
368
368
  </div>
369
369
  <script src="../../prettify.js"></script>
370
370
  <script>
@@ -346,7 +346,7 @@ exports.clientFetch = async ctx =&gt; {
346
346
  <div class='footer quiet pad2 space-top1 center small'>
347
347
  Code coverage generated by
348
348
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
349
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
349
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
350
350
  </div>
351
351
  <script src="../../prettify.js"></script>
352
352
  <script>
@@ -769,7 +769,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
769
769
  <div class='footer quiet pad2 space-top1 center small'>
770
770
  Code coverage generated by
771
771
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
772
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
772
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
773
773
  </div>
774
774
  <script src="../../../prettify.js"></script>
775
775
  <script>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
164
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
165
165
  </div>
166
166
  <script src="../../../prettify.js"></script>
167
167
  <script>
@@ -1435,7 +1435,7 @@ exports.fetchEnrichedRow = async ctx =&gt; {
1435
1435
  <div class='footer quiet pad2 space-top1 center small'>
1436
1436
  Code coverage generated by
1437
1437
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1438
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
1438
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
1439
1439
  </div>
1440
1440
  <script src="../../../prettify.js"></script>
1441
1441
  <script>
@@ -1264,7 +1264,7 @@ exports.fullSearch = async (query, params) =&gt; {
1264
1264
  <div class='footer quiet pad2 space-top1 center small'>
1265
1265
  Code coverage generated by
1266
1266
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1267
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
1267
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
1268
1268
  </div>
1269
1269
  <script src="../../../prettify.js"></script>
1270
1270
  <script>
@@ -538,7 +538,7 @@ exports.finaliseRow = async (
538
538
  <div class='footer quiet pad2 space-top1 center small'>
539
539
  Code coverage generated by
540
540
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
541
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
541
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
542
542
  </div>
543
543
  <script src="../../../prettify.js"></script>
544
544
  <script>
@@ -346,7 +346,7 @@ exports.validate = async ({ tableId, row, table }) =&gt; {
346
346
  <div class='footer quiet pad2 space-top1 center small'>
347
347
  Code coverage generated by
348
348
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
349
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
349
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
350
350
  </div>
351
351
  <script src="../../../prettify.js"></script>
352
352
  <script>
@@ -208,7 +208,7 @@ exports.destroy = async ctx =&gt; {
208
208
  <div class='footer quiet pad2 space-top1 center small'>
209
209
  Code coverage generated by
210
210
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
211
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
211
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
212
212
  </div>
213
213
  <script src="../../prettify.js"></script>
214
214
  <script>
@@ -103,7 +103,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
106
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
107
107
  </div>
108
108
  <script src="../../prettify.js"></script>
109
109
  <script>
@@ -589,7 +589,7 @@ exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) =&gt; {
589
589
  <div class='footer quiet pad2 space-top1 center small'>
590
590
  Code coverage generated by
591
591
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
592
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
592
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
593
593
  </div>
594
594
  <script src="../../../prettify.js"></script>
595
595
  <script>
@@ -1024,7 +1024,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
1024
1024
  <div class='footer quiet pad2 space-top1 center small'>
1025
1025
  Code coverage generated by
1026
1026
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1027
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
1027
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
1028
1028
  </div>
1029
1029
  <script src="../../../prettify.js"></script>
1030
1030
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
134
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="../../../prettify.js"></script>
137
137
  <script>
@@ -367,7 +367,7 @@ exports.validateCSVSchema = async function (ctx) {
367
367
  <div class='footer quiet pad2 space-top1 center small'>
368
368
  Code coverage generated by
369
369
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
370
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
370
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
371
371
  </div>
372
372
  <script src="../../../prettify.js"></script>
373
373
  <script>
@@ -187,7 +187,7 @@ exports.downloadTemplate = async function (ctx) {
187
187
  <div class='footer quiet pad2 space-top1 center small'>
188
188
  Code coverage generated by
189
189
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
190
- at Thu May 05 2022 13:08:03 GMT+0000 (Coordinated Universal Time)
190
+ at Fri May 06 2022 15:36:48 GMT+0000 (Coordinated Universal Time)
191
191
  </div>
192
192
  <script src="../../prettify.js"></script>
193
193
  <script>